From a32621b60a65e3a9a5ccee34fb5ddac8c6bdbe8b Mon Sep 17 00:00:00 2001 From: Kyle O'Connell Date: Wed, 28 Feb 2024 15:20:16 -0500 Subject: [PATCH 01/25] added prerequisites to each notebook --- tutorials/notebooks/.DS_Store | Bin 0 -> 6148 bytes tutorials/notebooks/GenAI/.DS_Store | Bin 0 -> 6148 bytes ...AzureAIStudio_index_structured_notebook.ipynb | 12 +++++++++--- ...eAIStudio_index_structured_with_console.ipynb | 12 +++++++++--- .../notebooks/AzureAIStudio_langchain.ipynb | 12 +++++++++--- .../GenAI/notebooks/AzureOpenAI_embeddings.ipynb | 12 +++++++++--- .../GenAI/notebooks/Azure_Pubmed_chatbot.ipynb | 10 +++++++++- 7 files changed, 45 insertions(+), 13 deletions(-) create mode 100644 tutorials/notebooks/.DS_Store create mode 100644 tutorials/notebooks/GenAI/.DS_Store diff --git a/tutorials/notebooks/.DS_Store b/tutorials/notebooks/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7223fb49561963c4493ca544d6d90296fe38de66 GIT binary patch literal 6148 zcmeHKQESvd5T3nWZ9*yDgJK^8eJ%9bYHjf)UMo`Y$%sB^Ig=*TV46LWTn~C2%y$?VK#_uH_WAtE&xr@KTwBJ!Y&9UskKg!@?+q~knYpfY1* zG^E#biZ)t^7RNF&z!#oTr8+C!)kkZd=dF8Z(KkJbnz$L)gSh(4PaiN$^2d&ok9js3_MRN;vWfFD zt4u-+Q{X z^XmQZdvRIn8_T%jnX_zIn72P*-CEIARF#D;FW}{jXZVOmRA9Zl;&-6p3RVSgMi+Ex zybZmMVYr_{J?~h z3N1=23JKp1#X45;o&bTYt_+}*mcIKFEG=vOEU$F&yc kDKN}cj99*kH=#!057+>P4qJ=xK;%cj&>)R4@J|`|4fZr%G5`Po literal 0 HcmV?d00001 diff --git a/tutorials/notebooks/GenAI/.DS_Store b/tutorials/notebooks/GenAI/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..8570bb25eabde59ce796310942ccf8ce07c6642b GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8CKMqDg&qT53)a7C@e*Qv0V8@)sR;=h8ndNI&7l->))(?gd>&_Z zH)3f8Pa<|E%zm@;lV!gRyIIBz9p!Ll=n)G>tp&Q50V8=abC! z$2Zu!6e0;K+Yheds2EsVXClr0IE}`#APyr)xxJ3lP!z71q+up&Jryua(;Qf>>GZhU zY1>C9y;<9y_V&R(Jm}75rm?-VdwMY#CQqq&QFLKmi17v@3fOp;K(sYF z8cT%`0pY3?P?d6h#o($O{IG?ofgIpcCl+G}ql4d;>5MxHsU-%8fq4e% zs%zo-fByabf4+!%!~ikyuNdHszSnnQO8RVFm>iz9Ht0Pl3g(pxKTE)nM=|8$QQQKR a0)86}Ku2S#5Ii9CBOqy@h8Xx&20j2xmQADp literal 0 HcmV?d00001 diff --git a/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb b/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb index 3b097d6..8ba1e89 100644 --- a/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb +++ b/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb @@ -13,9 +13,15 @@ "metadata": {}, "source": [ "## Overview\n", - "LLMs work best when querying vector databases (DBs). In a few of our tutorials in this repo, we have created vector DBs from unstructured data like PDF documents. Here, we create a vector DB from structured data, which is technically complex and requires additional steps. Here we will vectorize (embed) a csv file, index our DB using Azure AI Search, and then query our vector DB using a GPT model deployed within Azure AI Studio.\n", - "\n", - "Note that we assume you have already deployed a model to your AI Studio Environment and have access to your keys and other variables. " + "LLMs work best when querying vector databases (DBs). In a few of our tutorials in this repo, we have created vector DBs from unstructured data like PDF documents. Here, we create a vector DB from structured data, which is technically complex and requires additional steps. Here we will vectorize (embed) a csv file, index our DB using Azure AI Search, and then query our vector DB using a GPT model deployed within Azure AI Studio." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "We assume you have access to Azure AI Studio and have already deployed an LLM." ] }, { diff --git a/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb b/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb index 77491d2..a13ae1f 100644 --- a/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb +++ b/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb @@ -20,9 +20,15 @@ "## Overview\n", "LLMs work best when querying vector databases (DBs). In a few of our tutorials in this repo, we have created vector DBs from unstructured data like PDF documents. Here, we create a vector DB from structured data, which is technically complex and requires additional steps. Here we will vectorize (embed) a csv file, index our DB using Azure AI Search, and then query our vector DB using a GPT model deployed within Azure AI Studio.\n", "\n", - "This notebook differs slightly from the tutorial titled `AzureAIStudio_index_structured_notebook.ipynb` in that here we create the index within Azure AI Search directly, rather than in the notebook. We also use NIH grant data here rather than a Kaggle dataset. \n", - "\n", - "Note that we assume you have already deployed a model to your AI Studio Environment and have access to your keys and other variables. We also assume you have an Azure Search Service and can upload your csv data to create the index through the console." + "This notebook differs slightly from the tutorial titled `AzureAIStudio_index_structured_notebook.ipynb` in that here we create the index within Azure AI Search directly, rather than in the notebook. We also use NIH grant data here rather than a Kaggle dataset. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "We assume you have access to Azure AI Studio and Azure AI Search Service. We assume you and have already deployed an LLM." ] }, { diff --git a/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb b/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb index 40b3ef2..04d8ba7 100644 --- a/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb +++ b/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb @@ -25,9 +25,15 @@ "source": [ "## Overview\n", "Models you deploy to your Azure AI Studio can be accessed via API calls. [Langchain](https://python.langchain.com/docs/get_started/introduction) is a development framework for applications power by language models. \n", - "This tutorial gives you the basics of using langchain to work with Large Language Models (LLMs) for document summarization and basic chat bot functionality. You could take what we have here to build a front end application using something like streamlit, or other further iterations.\n", - "\n", - "We assume you have already deployed a model to your AI Studio Environment and have access to your keys and other variables. " + "This tutorial gives you the basics of using langchain to work with Large Language Models (LLMs) for document summarization and basic chat bot functionality. You could take what we have here to build a front end application using something like streamlit, or other further iterations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "We assume you have access to Azure AI Studio and have already deployed an LLM." ] }, { diff --git a/tutorials/notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb b/tutorials/notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb index cd22cae..2b6885e 100644 --- a/tutorials/notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb +++ b/tutorials/notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb @@ -18,9 +18,15 @@ "metadata": {}, "source": [ "## Overview\n", - "Models you deploy to Azure OpenAI can be accessed via API calls. This tutorial gives you the basics of creating local embeddings from custom data and querying over those.\n", - "\n", - "We assume you have already deployed a model to your Azure OpenAI Environment and have access to your keys and other variables. " + "Models you deploy to Azure OpenAI can be accessed via API calls. This tutorial gives you the basics of creating local embeddings from custom data and querying over those." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "We assume you have access to Azure AI Studio and have already deployed an LLM." ] }, { diff --git a/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb b/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb index bed2f8e..be462cd 100644 --- a/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb +++ b/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb @@ -18,7 +18,15 @@ "metadata": {}, "source": [ "## Overview\n", - "[PubMed](https://pubmed.ncbi.nlm.nih.gov/about/) supports the search and retrieval of biomedical and life sciences literature with the aim of improving health–both globally and personally. Here we create a chatbot that is grounded on PubMed data. Most Azure command line tools are already installed and it is recommended to use the **AzureML** kernel in your Jupyter notebook. Here we assume you have already deployed an LLM within Azure AI Studio." + "[PubMed](https://pubmed.ncbi.nlm.nih.gov/about/) supports the search and retrieval of biomedical and life sciences literature with the aim of improving health–both globally and personally. Here we create a chatbot that is grounded on PubMed data. Most Azure command line tools are already installed and it is recommended to use the **AzureML** kernel in your Jupyter notebook." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "We assume you have access to Azure AI Studio and have already deployed an LLM." ] }, { From a8458b358b42deeff0b70dfbc7510e84d3557587 Mon Sep 17 00:00:00 2001 From: Kyle O'Connell Date: Wed, 28 Feb 2024 15:23:48 -0500 Subject: [PATCH 02/25] updated notebooks --- tutorials/notebooks/.DS_Store | Bin 6148 -> 0 bytes tutorials/notebooks/GenAI/.DS_Store | Bin 6148 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tutorials/notebooks/.DS_Store delete mode 100644 tutorials/notebooks/GenAI/.DS_Store diff --git a/tutorials/notebooks/.DS_Store b/tutorials/notebooks/.DS_Store deleted file mode 100644 index 7223fb49561963c4493ca544d6d90296fe38de66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKQESvd5T3nWZ9*yDgJK^8eJ%9bYHjf)UMo`Y$%sB^Ig=*TV46LWTn~C2%y$?VK#_uH_WAtE&xr@KTwBJ!Y&9UskKg!@?+q~knYpfY1* zG^E#biZ)t^7RNF&z!#oTr8+C!)kkZd=dF8Z(KkJbnz$L)gSh(4PaiN$^2d&ok9js3_MRN;vWfFD zt4u-+Q{X z^XmQZdvRIn8_T%jnX_zIn72P*-CEIARF#D;FW}{jXZVOmRA9Zl;&-6p3RVSgMi+Ex zybZmMVYr_{J?~h z3N1=23JKp1#X45;o&bTYt_+}*mcIKFEG=vOEU$F&yc kDKN}cj99*kH=#!057+>P4qJ=xK;%cj&>)R4@J|`|4fZr%G5`Po diff --git a/tutorials/notebooks/GenAI/.DS_Store b/tutorials/notebooks/GenAI/.DS_Store deleted file mode 100644 index 8570bb25eabde59ce796310942ccf8ce07c6642b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5Z-O8CKMqDg&qT53)a7C@e*Qv0V8@)sR;=h8ndNI&7l->))(?gd>&_Z zH)3f8Pa<|E%zm@;lV!gRyIIBz9p!Ll=n)G>tp&Q50V8=abC! z$2Zu!6e0;K+Yheds2EsVXClr0IE}`#APyr)xxJ3lP!z71q+up&Jryua(;Qf>>GZhU zY1>C9y;<9y_V&R(Jm}75rm?-VdwMY#CQqq&QFLKmi17v@3fOp;K(sYF z8cT%`0pY3?P?d6h#o($O{IG?ofgIpcCl+G}ql4d;>5MxHsU-%8fq4e% zs%zo-fByabf4+!%!~ikyuNdHszSnnQO8RVFm>iz9Ht0Pl3g(pxKTE)nM=|8$QQQKR a0)86}Ku2S#5Ii9CBOqy@h8Xx&20j2xmQADp From 034f07311df73cd02af7a73d1a756efe89844a8a Mon Sep 17 00:00:00 2001 From: Kyle O'Connell Date: Thu, 29 Feb 2024 13:22:22 -0500 Subject: [PATCH 03/25] reformatted to put tutorials up frong --- README.md | 177 ++++++++---------- .../CycleCloud_CustomRole.json | 0 .../GWAS/GWAS_coat_color.ipynb | 0 .../GenAI/Azure_AI_Studio_README.md | 0 .../GenAI/Azure_Open_AI_README.md | 0 .../notebooks => notebooks}/GenAI/LICENSE | 0 .../GenAI/embedding_demos/acs_embeddings.py | 0 .../GenAI/embedding_demos/aoai_embeddings.py | 0 ...ample_azureaisearch_openaichat_zeroshot.py | 0 .../example_langchain_openaichat_zeroshot.py | 0 .../example_scripts/workshop_embedding.py | 0 .../GenAI/example_scripts/workshop_search.py | 0 .../GenAI/microsoft-earnings.csv | 0 ...reAIStudio_index_structured_notebook.ipynb | 0 ...Studio_index_structured_with_console.ipynb | 0 .../notebooks/AzureAIStudio_langchain.ipynb | 0 .../notebooks/AzureOpenAI_embeddings.ipynb | 0 .../notebooks/Azure_Pubmed_chatbot.ipynb | 0 .../GenAI/requirements.txt | 0 .../Hurricane_Irene_(2005).pdf | Bin .../search_documents/Koutros_et_al_2023.pdf | Bin .../New_York_State_Route_373.pdf | Bin .../GenAI/search_documents/Rai_et_al_2023.pdf | Bin .../search_documents/Silverman_et_al_2023.pdf | Bin .../aoai_workshop_content.pdf | Bin .../search_documents/grant_data_sub1.txt | 0 .../search_documents/grant_data_sub2.txt | 0 .../SRADownload/SRA-Download.ipynb | 0 .../SpleenLiverSegmentation/README.md | 0 .../SpleenSeg_Pretrained-4_27.ipynb | 0 .../Spleen_best_metric_model_pretrained.pth | Bin .../pangolin/pangolin.yaml | 0 .../pangolin/pangolin_pipeline.ipynb | 0 .../rnaseq-myco-tutorial-main/LICENSE | 0 .../rnaseq-myco-tutorial-main/README.md | 0 .../RNAseq_pipeline.ipynb | 0 .../images/count-workflow.png | Bin .../images/rnaseq-workflow.png | Bin .../images/table-cushman.png | Bin tutorials/README.md | 85 --------- 40 files changed, 81 insertions(+), 181 deletions(-) rename {tutorials/CycleCloud => envs}/CycleCloud_CustomRole.json (100%) rename {tutorials/notebooks => notebooks}/GWAS/GWAS_coat_color.ipynb (100%) rename {tutorials/notebooks => notebooks}/GenAI/Azure_AI_Studio_README.md (100%) rename {tutorials/notebooks => notebooks}/GenAI/Azure_Open_AI_README.md (100%) rename {tutorials/notebooks => notebooks}/GenAI/LICENSE (100%) rename {tutorials/notebooks => notebooks}/GenAI/embedding_demos/acs_embeddings.py (100%) rename {tutorials/notebooks => notebooks}/GenAI/embedding_demos/aoai_embeddings.py (100%) rename {tutorials/notebooks => notebooks}/GenAI/example_scripts/example_azureaisearch_openaichat_zeroshot.py (100%) rename {tutorials/notebooks => notebooks}/GenAI/example_scripts/example_langchain_openaichat_zeroshot.py (100%) rename {tutorials/notebooks => notebooks}/GenAI/example_scripts/workshop_embedding.py (100%) rename {tutorials/notebooks => notebooks}/GenAI/example_scripts/workshop_search.py (100%) rename {tutorials/notebooks => notebooks}/GenAI/microsoft-earnings.csv (100%) rename {tutorials/notebooks => notebooks}/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb (100%) rename {tutorials/notebooks => notebooks}/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb (100%) rename {tutorials/notebooks => notebooks}/GenAI/notebooks/AzureAIStudio_langchain.ipynb (100%) rename {tutorials/notebooks => notebooks}/GenAI/notebooks/AzureOpenAI_embeddings.ipynb (100%) rename {tutorials/notebooks => notebooks}/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb (100%) rename {tutorials/notebooks => notebooks}/GenAI/requirements.txt (100%) rename {tutorials/notebooks => notebooks}/GenAI/search_documents/Hurricane_Irene_(2005).pdf (100%) rename {tutorials/notebooks => notebooks}/GenAI/search_documents/Koutros_et_al_2023.pdf (100%) rename {tutorials/notebooks => notebooks}/GenAI/search_documents/New_York_State_Route_373.pdf (100%) rename {tutorials/notebooks => notebooks}/GenAI/search_documents/Rai_et_al_2023.pdf (100%) rename {tutorials/notebooks => notebooks}/GenAI/search_documents/Silverman_et_al_2023.pdf (100%) rename {tutorials/notebooks => notebooks}/GenAI/search_documents/aoai_workshop_content.pdf (100%) rename {tutorials/notebooks => notebooks}/GenAI/search_documents/grant_data_sub1.txt (100%) rename {tutorials/notebooks => notebooks}/GenAI/search_documents/grant_data_sub2.txt (100%) rename {tutorials/notebooks => notebooks}/SRADownload/SRA-Download.ipynb (100%) rename {tutorials/notebooks => notebooks}/SpleenLiverSegmentation/README.md (100%) rename {tutorials/notebooks => notebooks}/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb (100%) rename {tutorials/notebooks => notebooks}/SpleenLiverSegmentation/monai_data/Spleen_best_metric_model_pretrained.pth (100%) rename {tutorials/notebooks => notebooks}/pangolin/pangolin.yaml (100%) rename {tutorials/notebooks => notebooks}/pangolin/pangolin_pipeline.ipynb (100%) rename {tutorials/notebooks => notebooks}/rnaseq-myco-tutorial-main/LICENSE (100%) rename {tutorials/notebooks => notebooks}/rnaseq-myco-tutorial-main/README.md (100%) rename {tutorials/notebooks => notebooks}/rnaseq-myco-tutorial-main/RNAseq_pipeline.ipynb (100%) rename {tutorials/notebooks => notebooks}/rnaseq-myco-tutorial-main/images/count-workflow.png (100%) rename {tutorials/notebooks => notebooks}/rnaseq-myco-tutorial-main/images/rnaseq-workflow.png (100%) rename {tutorials/notebooks => notebooks}/rnaseq-myco-tutorial-main/images/table-cushman.png (100%) delete mode 100644 tutorials/README.md diff --git a/README.md b/README.md index 9f63a79..3a44017 100644 --- a/README.md +++ b/README.md @@ -1,100 +1,85 @@ +# Microsoft Azure Tutorial Resources - ->This repository falls under the NIH STRIDES Initiative. STRIDES aims to harness the power of the cloud to accelerate biomedical discoveries. To learn more, visit https://cloud.nih.gov. - -# NIH Cloud Lab for Azure --------------------------------- -NIH Cloud Lab’s goal is to make Cloud easy and accessible for you, so that you can spend less time on administrative tasks and focus more on research. - -Use this repository to learn about how to use Azure by exploring the linked resources and walking through the tutorials. If you are a beginner, we suggest you begin with this jumpstart section. If you already have foundational knowledge of Azure and Cloud, feel free to skip ahead to the [tutorials](/tutorials/) section for in-depth examples of how to run specific workflows such as genomic variant calling and medical image analysis. - ## Overview of Page Contents -+ [Getting Started](#gs) -+ [Overview](#ov) -+ [Resource Groups](#rg) -+ [Command Line Tools](#cli) -+ [Azure Marketplace](#mark) -+ [Ingest and Store Data](#sto) -+ [Virtual Machines](#vm) -+ [Azure Functions](#vm) -+ [Disk Images](#disk) -+ [Azure Machine Learning](#sag) -+ [Clusters](#clu) -+ [Creating a Conda Environment](#co) -+ [Azure Container Registry](#con) -+ [GitHub](#gh) -+ [Billing and Benchmarking](#bb) -+ [Cost Optimization](#cost) -+ [Getting Support](#sup) -+ [Additional Training](#tr) - -## **Getting Started** -You can learn a lot of what is possible on Azure in the Azure Getting Started [Tutorials Page](https://azure.microsoft.com/en-us/get-started/) and we recommend you go there and explore some of the tutorials on offer. Nonetheless, it can be hard to know where to start if you are new to the cloud. To help you, we thought through some of the most common tasks you will encounter doing cloud-enabled research, and gathered tutorials and guides specific to those topics. We hope the following materials are helpful as you explore using Azure! - -## **Overview** -There are three primary ways you can run analyses using Azure: using **Virtual Machines**, **Jupyter Notebook instances**, and **Managed services**. We give a brief overview of each of these here and go into more detail in the sections below. [Virtual Machines](https://azure.microsoft.com/en-us/products/virtual-machines/) are like desktop computers, but you access them through the cloud console and you get to pick the operating system and the specifications such as CPU and memory. In Azure, these virtual machines are called VMs for short. Jupyter Notebook instances are virtual machines with a preconfigured Jupyter Lab. On Azure these are run through [Azure Machine Learning](https://azure.microsoft.com/en-us/products/machine-learning/#product-overview), which is also Azure's ML/AI platform. You decide what kind of virtual machine you want to 'spin up' and then you can run Juptyer notebooks on those virtual machines. Finally, Serverless services are services that allow you to run things, an analysis, an app, a website, and not have to deal with your own servers (VMs). There are still servers running somewhere, you just don't have to manage them. All you have to do is call a command that runs your analysis in the background, and copies the output files to a storage account. [Azure Batch](https://learn.microsoft.com/en-us/azure/batch/batch-technical-overview) is a common example. - -## **Resource Groups** -A resource group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. You decide how you want to allocate resources to resource groups based on what makes the most sense for your use case. Generally, add resources that share the same lifecycle to the same resource group so you can easily deploy, update, and delete them as a group. Each resource group stores metadata about the underlying resources. Therefore, when you specify a location for the resource group, you are specifying where that metadata is stored. For compliance reasons, you may need to ensure that your data is stored in a particular region. - -To see more information on how to manage resource groups, visit our docs about [Managing Resource Groups](/docs/resource_groups.md). - -## **Command Line Tools** -Most tasks in Azure can be done without the command line, but the command line tools will generally make your life easier in the long run. Command line interface (CLI) tools are those that you use directly in a terminal/shell as opposed to clicking within the Azure portal's graphical user interface (GUI). The primary tool you will need is the Azure CLI, which will allow you to interact with Virtual Machines (VMs) or Storage Accounts (see below) from your local terminal. Instructions for the CLI can be found [here](https://learn.microsoft.com/en-us/cli/azure/). If you are unable to install locally, you can use all the CLI commands from within VM and Machine Learning instances, or from the [Cloud Shell](https://learn.microsoft.com/en-us/azure/cloud-shell/overview). - -To install and configure Azure CLI, redirect to [Get started with Azure CLI](https://learn.microsoft.com/en-us/cli/azure/get-started-with-azure-cli), which provides detailed instructions on installation as well as documentation on common Azure CLI commands. Microsoft Azure also has a cloud native service called [Microsoft Genomics](https://www.microsoft.com/en-us/genomics/) which offers cloud implementation of the Burrows-Wheeler Aligner (BWA) and the Genome Analysis Toolkit (GATK) for secondary analysis. Find documentation on how to use Microsoft Genomics [here](https://learn.microsoft.com/en-us/azure/genomics/overview-what-is-genomics). - -## **Azure Marketplace** -The [Microsoft Azure Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/) is an online store in Azure that contains thousands of software applications and services to fit your research needs. For example, you can find VMs configured for Microsoft Genomics or NVIDIA machine learning. Within Cloud Lab, the most common use case for the Marketplace will likely be [CycleCloud](https://learn.microsoft.com/en-us/azure/cyclecloud/tutorials/tutorial?view=cyclecloud-8), which is Azure's High Performance Computing solution. If interested in CycleCloud, please contact us at `CloudLab@nih.gov` so we can help set this up in your Cloud Lab account. - -## **Ingest and Store Data using Azure Storage Accounts** -Microsoft's object storage solution for the cloud is called Azure Blob. Blob is optimized for storing massive amounts of unstructured data. Azure also offers many other storage solutions listed [here](https://azure.microsoft.com/en-us/products/category/storage/). To get started you must create a [Storage Account](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-create?tabs=azure-portal). Users can grant limited access to Azure storage resources using [Shared Access Signatures](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)(SAS). You can also read our guide to Storage Accounts and moving data in and out of Cloud Lab [here](/docs/create_storage_account.md). This [Microsoft guide](https://microsoft.github.io/Genomics-Community/mydoc_data_migration.html) for moving genomic data is also very helpful. - -## **Virtual Machines** -Virtual machines (VMs) on Azure can be accessed via SSH or from the Azure portal. More information on VMs can be found [here](https://azure.microsoft.com/en-us/products/virtual-machines/#overview) as well as this [guide](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/ssh-from-windows) on how to use SSH keys with windows in Azure. To view the different types of VMs available in Azure check out the [Virtual Machine Series](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/series/). - -You can also spin up preconfigured VMs, such as the Azure Data Science VM, which has many data science tools preinstalled and may save you time on environment set up. Read more in [our docs](/docs/Azure_Data_Science_VMs.md). - -Also, for best VM provisioning experience, please see this link for VM best practices in [our docs](/docs/Virtual-machine-best-practices.md). - -## **Azure Functions** -Azure Functions is a serverless solution that allows you to write less code, maintain less infrastructure, and save on costs. Instead of worrying about deploying and maintaining servers, the cloud infrastructure provides all the up-to-date resources needed to keep your applications running. For more information click [here](https://learn.microsoft.com/en-us/azure/azure-functions/). In general, you can consider functions for automating workflows. - -## **Disk Images** -Part of the power of virtual machines is that they offer a blank slate for you to configure as desired. [Azure VM Image Builder](https://azure.microsoft.com/en-us/products/image-builder/#overview) simplifies the image building process allowing for custom built images to be saved. You can later redeploy these images to spin up a new machine with data or environments already installed. - -## **Launch a Machine Learning Workspace (Jupyter Environment)** -[Azure Machine Learning studio](https://learn.microsoft.com/en-us/azure/machine-learning/overview-what-is-azure-machine-learning) is Azure's ML/AI solution. ML studio allows for you to run your own code in managed Jupyter notebooks. Follow the [Quickstart](https://learn.microsoft.com/en-us/azure/machine-learning/quickstart-run-notebooks) page to begin running Jupyter Notebooks in studio. Note that you will need to start and stop your compute environment, which is run separately from the notebook. Once in the AzureML portal, go to compute, then you can select Jupyter, Notebooks, or VS Code, which means a lot of flexibility in the way you utilize the compute environment. - -The Azure file share account of your Azure Machine Learning workspace is mounted as a drive on the compute instance. This drive is the default working directory for Jupyter, Jupyter Labs, RStudio, and Posit Workbench. This means that the notebooks and other files you create in Jupyter, JupyterLab, RStudio, or Posit are automatically stored on the file share and available to use in other compute instances as well. - -If you are running complex ML models, look at this Microsoft [blog post](https://techcommunity.microsoft.com/t5/ai-machine-learning-blog/azureml-observability-a-scalable-and-extensible-solution-for-ml/ba-p/3474066) for an overview of Microsoft's overvability solution. The source code is [here](https://github.com/microsoft/AzureML-Observability). - -## **Clusters** -One great thing about the cloud is its ability to scale with demand. When you submit a job to a traditional cluster, you specify up front how many CPUs and memory you want to give to your job, and you may over- or under-utilize these resources. With managed resources like serverless and clusters you can leverage a feature called autoscaling, where the compute resources will scale up or down with demand. This is more efficient and keeps costs down when demand is low, but prevents latency when demand is high (think about workshop participants all submitting jobs at the same time to a cluster). For most users of Cloud Lab, the best way to leverage scaling is to use Azure Batch, but in some cases, maybe for a whole lab group or large project, it may make sense to spin up a [Kubernetes cluster](https://azure.microsoft.com/en-us/products/kubernetes-service/). - -If you are interested in using a more traditional scheduler like SLURM or Sun Grid Engine, you can use Azure CycleCloud, which has an easy to use GUI as well as CLI options. If interested in CycleCloud, please contact us at `CloudLab@nih.gov` and we will provision a CycleCloud instance for you. - -## **Creating a Conda Environment** -Virtual environments allow you to manage package versions without having package conflicts. For example, if you needed Python 3 for one analysis, but Python 2.7 for another, you could create separate environments to use the two versions of Python. One of the most popular package managers used for creating virtual environments is the [conda package manager](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/environments.html#:~:text=A%20conda%20environment%20is%20a,NumPy%201.6%20for%20legacy%20testing). We also made a quick guide that you can reference [here](/docs/create_conda_env.md) - -## **Managing Containers with Azure Container Registry** -You can host or pull containers with Azure Container Registry. See [Microsoft's documentation](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-get-started-portal?tabs=azure-cli) on how to use this service. - -## **GitHub** -GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. This [tutorial](https://docs.github.com/en/get-started/quickstart/hello-world) teaches you GitHub essentials like repositories, branches, commits, and pull requests. You'll create your own Hello World repository and learn GitHub's pull request workflow, a popular way to create and review code. Since Microsoft owns GitHub, it integrates nicely with Azure. - -## **Billing and Benchmarking** -Many Cloud Lab users are interested in understanding how to estimate the price of a large-scale project using a reduced sample size. Generally, you should be able to benchmark with a few representative samples to get an idea of time and cost required for a larger scale project. Follow our [Cost Management Guide](/docs/billing_and_cost_management.md) to see how to tag specific resources for workflow benchmarking. - -In terms of cost, the best way to estimate costs is to use the Azure pricing calculator [here](https://azure.microsoft.com/en-us/pricing/calculator/) for an initial figure, which is a pricing tool that forecasts costs based on products and usage. Then, you can run some benchmarks and double check that everything is acting as you expect. See [our docs](/docs/Using_The_Azure_Price_Calculator.md) on best practices for using this tool. - -## **Cost Optimization** -Follow our [Cost Management Guide](/docs/billing_and_cost_management.md) for details on how to monitor costs, set up budget alerts, and cost-benchmark specific analyses using resource tagging. In addition, here are a few tips to help you stay on budget. You can also configure auto-shutdown on your VM instances following [this guide](/docs/auto-shutdown-instance.md) to prevent you from accidentally leaving instances running. - -## **Getting Support** -As part of your participation in Cloud Lab you will be added to the Cloud Lab Teams channel where you can chat with other Cloud Lab users, and gain support from the Cloud Lab team. For NIH Intramural users, you can submit a support ticket to Service Now. For issues related to the cloud environment, feel free to request [Azure Enterprise Support](/docs/request_enterprise_support.md). For issues related to scientific use cases, such as, `how can I best run an RNAseq pipeline in Azure?`, email us at `CloudLab@nih.gov`. - -## **Additional Training** -This repo only scratches the surface of what can be done in the cloud. If you are interested in additional cloud training opportunities, please visit the [STRIDES Training page](https://cloud.nih.gov/training/). For more information on the STRIDES Initiative at the NIH, visit [our website](https://cloud.nih.gov) or contact the NIH STRIDES team at STRIDES@nih.gov for more information. ++ [Artificial Intelligence](#ai) ++ [Clinical Informatics](#ci) ++ [Medical Imaging](#mi) ++ [Genomics on Azure](#bio) ++ [GWAS](#gwas) ++ [BLAST](#blast) ++ [VCF Query](#vcf) ++ [RNAseq](#rna) ++ [scRNAseq](#sc) ++ [Long Read Sequencing Analysis](#long) ++ [Open Data](#open) + +## **Artificial Intelligence** +Machine learning is a subfield of artificial intelligence that focuses on the development of algorithms and models that enable computers to learn from and make predictions or decisions based on data, without being explicitly programmed. Artificial intelligence and machine learning algorithms are being applied to a variety of biomedical research questions, ranging from image classification to genomic variant calling. Azure offers AI services through Azure AI Studio and Azure Machine Learning. + +See our suite of tutorials to learn more about [Gen AI on Azure](/tutorials/notebooks/GenAI/) that highlight Azure products such as [Azure AI Studio](/tutorials/notebooks/GenAI/Azure_AI_Studio_README.md), [Azure OpenAI](/tutorials/notebooks/GenAI/Azure_Open_AI_README.md) and [Azure AI Search](/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb) and external tools like [Langchain](/tutorials/notebooks/GenAI/notebooks/AzureOpenAI-langchain.ipynb). These notebooks walk you through how to deploy, train, and query models, as well as how to implement techniques like [Retrieval-Augmented Generation (RAG)](/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb). If you are interested in applying RAG to structured data like a csv file, we created one tutorials that walks you through how to index your csv using the [Azure UI](/docs/create_index_from_csv.md) and a query your database using a [notebook within Azure ML](/tutorials/notebooks/GenAI/notebooks/llm_query_csv.ipynb), and [one tutorial that runs all the necessary steps directly from a notebook](/tutorials/notebooks/GenAI/notebooks/azure_ai_search_structured.ipynb). + + ## **Clinical Informatics with FHIR** + Azure Health Data Services is a set of services that enables you to store, process, and analyze medical data in Azure. These services are designed to help organizations quickly connect disparate health data sources and formats, such as structured, imaging, and device data, and normalize it to be persisted in the cloud. At its core, Azure Health Data Services possesses the ability to transform and ingest data into FHIR (Fast Healthcare Interoperability Resources) format. This allows you to transform health data from legacy formats, such as HL7v2 or CDA, or from high-frequency IoT data in device proprietary formats to FHIR. This makes it easier to connect data stored in Azure Health Data Services with services across the Azure ecosystem, like Azure Synapse Analytics, and Azure Machine Learning (Azure ML). + +Azure Health Data Services includes support for multiple health data standards for the exchange of structured data, and the ability to deploy multiple instances of different service types (FHIR, DICOM, and MedTech) that seamlessly work with one another. Services deployed within a workspace also share a compliance boundary and common configuration settings. The product scales automatically to meet the varying demands of your workloads, so you spend less time managing infrastructure and more time generating insights from health data. + +Copying healthcare data stored in Azure FHIR Server to Synapse Analytics allows researchers to leverage a cloud-scale data warehousing and analytics tool to extract insights from their data as well as build scalable research pipelines. +For information on how to perform this export and downstream analytics, please visit [this repository](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/healthcare-apis/fhir/copy-to-synapse.md). + +You can also see hands-on examples of using [FHIR on Azure](https://github.com/microsoft/genomicsnotebook/tree/main/fhirgenomics), but note that you will need to supply your own VCF files as these are not provided with the tutorial content. + +## **Medical Imaging Analysis** +Medical imaging analysis requires the analysis of large image files and often requires elastic storage and accelerated computing. Microsoft Azure offers cloud-based medical imaging analysis capabilities through its Azure Healthcare APIs and Azure Medical Imaging solutions. Azure's DICOM Service allows for the secure storage, management, and processing of medical images in the cloud, using industry standard DICOM (Digital Imaging and Communications in Medicine) format. The DICOM Service provides features like high availability, disaster recovery, and scalable storage options, making it an ideal solution for pipelines that need to store, manage, and analyze large amounts of medical imaging data. In addition, the server integrates with other Azure services like Azure ML, facilitating the use of advanced machine learning algorithms for image analysis tasks such as object detection, segmentation, and classification. Read about how to deploy the service [here](https://learn.microsoft.com/en-us/azure/healthcare-apis/dicom/deploy-dicom-services-in-azure). + +Microsoft has several medical imaging notebooks that showcase different medical imaging use-cases on Azure Machine Learning. These notebooks demonstrate various data science techniques such as manual model development with PyTorch, automated machine learning, and MLOPS-based examples for automating the machine learning lifecycle in medical use cases, including retraining. +These notebooks are available [here](https://github.com/Azure/medical-imaging). Make sure you select a kernel that includes Pytorch else the install of dependencies can be challenging. Note also that you need to use a GPU VM for most of the notebook cells, but you can create several compute environments and switch between them as needed. Be sure to shut them off when you are finished. + +For Cloud Lab users interested in multi-modal clinical informatics, DICOMcast provides the ability to synchronize data from a DICOM service to a FHIR service, allowing users to integrate clinical and imaging data. DICOMcast expands the use cases for health data by supporting both a streamlined view of longitudinal patient data and the ability to effectively create cohorts for medical studies, analytics, and machine learning. For more information on how to utilize DICOMcast please visit Microsoft’s [documentation](https://learn.microsoft.com/en-us/azure/healthcare-apis/dicom/dicom-cast-overview) or the open-source [GitHub repository](https://github.com/microsoft/dicom-server/blob/main/docs/quickstarts/deploy-dicom-cast.md). + +For users hoping to train deep learning models on imaging data, InnerEye-DeepLearning (IE-DL) is a toolbox that Microsoft developed for easily training deep learning models on 3D medical images. Simple to run both locally and in the cloud with Azure Machine Learning, it allows users to train and run inference on the following: +• Segmentation models +• Classification and regression models +• Any PyTorch Lightning model, via a bring-your-own-model setup +This project exists in a separate [GitHub repository](https://github.com/microsoft/InnerEye-DeepLearning). + +## **Microsoft Genomics** +Microsoft has several genomics-related offerings that will be useful to many Cloud Lab users. For a broad overview, visit the [Microsoft Genomics Community site](https://microsoft.github.io/Genomics-Community/index.html). You can also get an overview of different execution options from [this blog](https://techcommunity.microsoft.com/t5/healthcare-and-life-sciences/genomic-workflow-managers-on-microsoft-azure/ba-p/3747052), and a detailed analysis for Nextflow with AWS Batch at [this blog](https://techcommunity.microsoft.com/t5/healthcare-and-life-sciences/rna-sequencing-analysis-on-azure-using-nextflow-configuration/ba-p/3738854). We highlight a few key services here: ++ [Genomics Notebooks](https://github.com/microsoft/genomicsnotebook): These example notebooks highlight many common use cases in genomics research. The Bioconductor/Rstudio notebook will not work in Cloud Lab. To run Rstudio, look at [Posit Workbench from the Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/rstudio-5237862.rstudioserverprostandard). ++ [Cromwell on Azure](https://github.com/microsoft/CromwellOnAzure): Documentation on how to spin up the resources needed to run Cromwell on Azure. Note that this service will not work within Cloud Lab because you need high-level permissions, but we list it here for demonstration purposes. ++ [Microsoft Genomics](https://learn.microsoft.com/en-us/azure/genomics/quickstart-run-genomics-workflow-portal): Run BWA and GATK using this managed service. Note that it uses Python 2.7 and thus is not compatible with AzureML (which uses Python 3), but you can run it from any other shell environment. ++ [Nextflow on Azure](https://microsoft.github.io/Genomics-Community/mydoc_nextflow.html): Run Nextflow workflows using Azure Batch. ++ [NVIDIA Parabricks for Secondary Genomics Analysis on Azure](https://techcommunity.microsoft.com/t5/healthcare-and-life-sciences/benchmarking-the-nvidia-clara-parabricks-for-secondary-genomics/ba-p/3722434). Follow this guide to run Parabricks on a VM by pulling the Docker container directly from NVIDIA. + +## **Genome Wide Association Studies** +Genome-wide association studies (GWAS) are large-scale investigations that analyze the genomes of many individuals to identify common genetic variants associated with traits, diseases, or other phenotypes. +- This [NIH CFDE written tutorial](https://training.nih-cfde.org/en/latest/Bioinformatic-Analyses/GWAS-in-the-cloud +) walks you through running a simple GWAS on AWS, thus we converted it to Azure in [this notebook](/tutorials/notebooks/GWAS). Note that the CFDE page has a few other bioinformatics related tutorials like BLAST and Illumina read simulation. +- This blog post [illustrates some of the costs associated](https://techcommunity.microsoft.com/t5/azure-high-performance-computing/azure-to-accelerate-genome-wide-analysis-study/ba-p/2644120) with running GWAS on Azure + +## **NCBI BLAST+** +NCBI BLAST (Basic Local Alignment Search Tool) is a widely used bioinformatics program provided by the National Center for Biotechnology Information (NCBI) that compares nucleotide or protein sequences against a large database to identify similar sequences and infer evolutionary relationships, functional annotations, and structural information. +- [This Microsoft Blog](https://techcommunity.microsoft.com/t5/azure-high-performance-computing/running-ncbi-blast-on-azure-performance-scalability-and-best/ba-p/2410483) explains how to optimize BLAST analyses on Azure VMs. Feel free to install BLAST+ on a VM or an AzureML notebook and run queries there. + +## **Query a VCF file in Azure Synapse** +- You can use SQL to rapidly query a VCF file in Azure Synapse. The requires converting the file from VCF to Parquet format, a common format for databases. Read more about how to do this in Azure on [this Microsoft blog](https://techcommunity.microsoft.com/t5/healthcare-and-life-sciences/genomic-data-in-parquet-format-on-azure/ba-p/3150554). Although the notebooks for this tutorial are bundled with the other genomics notebooks, to get them to work you will need to use Azure Databricks or Synapse Analytics, not AzureML. + +## **RNAseq** +RNA-seq analysis is a high-throughput sequencing method that allows the measurement and characterization of gene expression levels and transcriptome dynamics. Workflows are typically run using workflow managers, and final results can often be visualized in notebooks. +- You can run this [Nextflow on Azure tutorial](https://microsoft.github.io/Genomics-Community/mydoc_nextflow.html) for RNAseq a variety of ways on Azure. Following the instructions outlined above, you could use Virtual Machines, Azure Machine Learning, or Azure Batch. +- For a notebook version of a complete RNAseq pipeline from Fastq to Salmon quantification from the NIGMS Sandbox Program use this [notebook](/tutorials/notebooks/rnaseq-myco-tutorial-main), which we re-wrote to work on Azure. + +## **Single Cell RNAseq** +Single-cell RNA sequencing (scRNA-seq) is a technique that enables the analysis of gene expression at the individual cell level, providing insights into cellular heterogeneity, identifying rare cell types, and revealing cellular dynamics and functional states within complex biological systems. +- This [NVIDIA blog](https://developer.nvidia.com/blog/accelerating-single-cell-genomic-analysis-using-rapids/) details how to run an accelerated scRNAseq pipeline using RAPIDS. You can find a link to the GitHub that has lots of example notebooks [here](https://github.com/clara-parabricks/rapids-single-cell-examples). For each example use case they show some nice benchmarking data with time and cost for CPU vs. GPU machine types on AWS. You will see that most runs cost less than $1.00 with GPU machines (priced on AWS). If you want a CPU version that users Scanpy you can use this [notebook](https://github.com/clara-parabricks/rapids-single-cell-examples/blob/master/notebooks/hlca_lung_cpu_analysis.ipynb). Pay careful attention to the environment setup as there are a lot of dependencies for these notebooks. Create a conda environment in the terminal, then run the notebook. Consider using [mamba](https://github.com/mamba-org/mamba) to speed up environment creation. We created a [guide](/docs/create_conda_env.md) for conda environment set up as well. + +## **Long Read Sequence Analysis** +Long read DNA sequence analysis involves analyzing sequencing reads typically longer than 10 thousand base pairs (bp) in length, compared with short read sequencing where reads are about 150 bp in length. +Oxford Nanopore has a pretty complete offering of notebook tutorials for handling long read data to do a variety of things including variant calling, RNAseq, Sars-Cov-2 analysis and much more. Access the notebooks [here](https://labs.epi2me.io/nbindex/) and on [GitHub](https://github.com/epi2me-labs). These notebooks expect you are running locally and accessing the epi2me notebook server. To run them in Cloud Lab, skip the first cell that connects to the server and then the rest of the notebook should run correctly, with a few tweaks. Oxford Nanopore also offers a host of [Nextflow workflows](https://labs.epi2me.io/wfindex/) that will allow you to run a variety of long read pipelines. + +## **Open Data** +These publicly available datasets can save you time on data discovery and preparation by being curated and ready to use in your workflows. ++ The [COVID-19 Data Lake](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-covid-19-data-lake) contains COVID-19 related datasets from various sources. It covers testing and patient outcome tracking data, social distancing policy, hospital capacity and mobility. ++ In response to the COVID-19 pandemic, the Allen Institute for AI has partnered with leading research groups to prepare and distribute the [COVID-19 Open Research Dataset (CORD-19)](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-covid-19-open-research?tabs=azure-storage). This dataset is a free resource of over 47,000 scholarly articles, including over 36,000 with full text, about COVID-19 and the coronavirus family of viruses for use by the global research community. This dataset mobilizes researchers to apply recent advances in natural language processing to generate new insights in support of the fight against this infectious disease. ++ [The Genomics Data Lake](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-genomics-data-lake) provides various public datasets that you can access for free and integrate into your genomics analysis workflows and applications. The datasets include genome sequences, variant info, and subject/sample metadata in BAM, FASTA, VCF, CSV file formats: [Illumina Platinum Genomes](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-illumina-platinum-genomes), [Human Reference Genomes](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-human-reference-genomes), [ClinVar Annotations](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-clinvar-annotations), [SnpEff](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-snpeff), [Genome Aggregation Database (gnomAD)](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-gnomad), [1000 Genomes](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-1000-genomes), [OpenCravat](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-open-cravat), [ENCODE](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-encode), [GATK Resource Bundle](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-gatk-resource-bundle). diff --git a/tutorials/CycleCloud/CycleCloud_CustomRole.json b/envs/CycleCloud_CustomRole.json similarity index 100% rename from tutorials/CycleCloud/CycleCloud_CustomRole.json rename to envs/CycleCloud_CustomRole.json diff --git a/tutorials/notebooks/GWAS/GWAS_coat_color.ipynb b/notebooks/GWAS/GWAS_coat_color.ipynb similarity index 100% rename from tutorials/notebooks/GWAS/GWAS_coat_color.ipynb rename to notebooks/GWAS/GWAS_coat_color.ipynb diff --git a/tutorials/notebooks/GenAI/Azure_AI_Studio_README.md b/notebooks/GenAI/Azure_AI_Studio_README.md similarity index 100% rename from tutorials/notebooks/GenAI/Azure_AI_Studio_README.md rename to notebooks/GenAI/Azure_AI_Studio_README.md diff --git a/tutorials/notebooks/GenAI/Azure_Open_AI_README.md b/notebooks/GenAI/Azure_Open_AI_README.md similarity index 100% rename from tutorials/notebooks/GenAI/Azure_Open_AI_README.md rename to notebooks/GenAI/Azure_Open_AI_README.md diff --git a/tutorials/notebooks/GenAI/LICENSE b/notebooks/GenAI/LICENSE similarity index 100% rename from tutorials/notebooks/GenAI/LICENSE rename to notebooks/GenAI/LICENSE diff --git a/tutorials/notebooks/GenAI/embedding_demos/acs_embeddings.py b/notebooks/GenAI/embedding_demos/acs_embeddings.py similarity index 100% rename from tutorials/notebooks/GenAI/embedding_demos/acs_embeddings.py rename to notebooks/GenAI/embedding_demos/acs_embeddings.py diff --git a/tutorials/notebooks/GenAI/embedding_demos/aoai_embeddings.py b/notebooks/GenAI/embedding_demos/aoai_embeddings.py similarity index 100% rename from tutorials/notebooks/GenAI/embedding_demos/aoai_embeddings.py rename to notebooks/GenAI/embedding_demos/aoai_embeddings.py diff --git a/tutorials/notebooks/GenAI/example_scripts/example_azureaisearch_openaichat_zeroshot.py b/notebooks/GenAI/example_scripts/example_azureaisearch_openaichat_zeroshot.py similarity index 100% rename from tutorials/notebooks/GenAI/example_scripts/example_azureaisearch_openaichat_zeroshot.py rename to notebooks/GenAI/example_scripts/example_azureaisearch_openaichat_zeroshot.py diff --git a/tutorials/notebooks/GenAI/example_scripts/example_langchain_openaichat_zeroshot.py b/notebooks/GenAI/example_scripts/example_langchain_openaichat_zeroshot.py similarity index 100% rename from tutorials/notebooks/GenAI/example_scripts/example_langchain_openaichat_zeroshot.py rename to notebooks/GenAI/example_scripts/example_langchain_openaichat_zeroshot.py diff --git a/tutorials/notebooks/GenAI/example_scripts/workshop_embedding.py b/notebooks/GenAI/example_scripts/workshop_embedding.py similarity index 100% rename from tutorials/notebooks/GenAI/example_scripts/workshop_embedding.py rename to notebooks/GenAI/example_scripts/workshop_embedding.py diff --git a/tutorials/notebooks/GenAI/example_scripts/workshop_search.py b/notebooks/GenAI/example_scripts/workshop_search.py similarity index 100% rename from tutorials/notebooks/GenAI/example_scripts/workshop_search.py rename to notebooks/GenAI/example_scripts/workshop_search.py diff --git a/tutorials/notebooks/GenAI/microsoft-earnings.csv b/notebooks/GenAI/microsoft-earnings.csv similarity index 100% rename from tutorials/notebooks/GenAI/microsoft-earnings.csv rename to notebooks/GenAI/microsoft-earnings.csv diff --git a/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb similarity index 100% rename from tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb rename to notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb diff --git a/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb similarity index 100% rename from tutorials/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb rename to notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb diff --git a/tutorials/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb b/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb similarity index 100% rename from tutorials/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb rename to notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb diff --git a/tutorials/notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb b/notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb similarity index 100% rename from tutorials/notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb rename to notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb diff --git a/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb similarity index 100% rename from tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb rename to notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb diff --git a/tutorials/notebooks/GenAI/requirements.txt b/notebooks/GenAI/requirements.txt similarity index 100% rename from tutorials/notebooks/GenAI/requirements.txt rename to notebooks/GenAI/requirements.txt diff --git a/tutorials/notebooks/GenAI/search_documents/Hurricane_Irene_(2005).pdf b/notebooks/GenAI/search_documents/Hurricane_Irene_(2005).pdf similarity index 100% rename from tutorials/notebooks/GenAI/search_documents/Hurricane_Irene_(2005).pdf rename to notebooks/GenAI/search_documents/Hurricane_Irene_(2005).pdf diff --git a/tutorials/notebooks/GenAI/search_documents/Koutros_et_al_2023.pdf b/notebooks/GenAI/search_documents/Koutros_et_al_2023.pdf similarity index 100% rename from tutorials/notebooks/GenAI/search_documents/Koutros_et_al_2023.pdf rename to notebooks/GenAI/search_documents/Koutros_et_al_2023.pdf diff --git a/tutorials/notebooks/GenAI/search_documents/New_York_State_Route_373.pdf b/notebooks/GenAI/search_documents/New_York_State_Route_373.pdf similarity index 100% rename from tutorials/notebooks/GenAI/search_documents/New_York_State_Route_373.pdf rename to notebooks/GenAI/search_documents/New_York_State_Route_373.pdf diff --git a/tutorials/notebooks/GenAI/search_documents/Rai_et_al_2023.pdf b/notebooks/GenAI/search_documents/Rai_et_al_2023.pdf similarity index 100% rename from tutorials/notebooks/GenAI/search_documents/Rai_et_al_2023.pdf rename to notebooks/GenAI/search_documents/Rai_et_al_2023.pdf diff --git a/tutorials/notebooks/GenAI/search_documents/Silverman_et_al_2023.pdf b/notebooks/GenAI/search_documents/Silverman_et_al_2023.pdf similarity index 100% rename from tutorials/notebooks/GenAI/search_documents/Silverman_et_al_2023.pdf rename to notebooks/GenAI/search_documents/Silverman_et_al_2023.pdf diff --git a/tutorials/notebooks/GenAI/search_documents/aoai_workshop_content.pdf b/notebooks/GenAI/search_documents/aoai_workshop_content.pdf similarity index 100% rename from tutorials/notebooks/GenAI/search_documents/aoai_workshop_content.pdf rename to notebooks/GenAI/search_documents/aoai_workshop_content.pdf diff --git a/tutorials/notebooks/GenAI/search_documents/grant_data_sub1.txt b/notebooks/GenAI/search_documents/grant_data_sub1.txt similarity index 100% rename from tutorials/notebooks/GenAI/search_documents/grant_data_sub1.txt rename to notebooks/GenAI/search_documents/grant_data_sub1.txt diff --git a/tutorials/notebooks/GenAI/search_documents/grant_data_sub2.txt b/notebooks/GenAI/search_documents/grant_data_sub2.txt similarity index 100% rename from tutorials/notebooks/GenAI/search_documents/grant_data_sub2.txt rename to notebooks/GenAI/search_documents/grant_data_sub2.txt diff --git a/tutorials/notebooks/SRADownload/SRA-Download.ipynb b/notebooks/SRADownload/SRA-Download.ipynb similarity index 100% rename from tutorials/notebooks/SRADownload/SRA-Download.ipynb rename to notebooks/SRADownload/SRA-Download.ipynb diff --git a/tutorials/notebooks/SpleenLiverSegmentation/README.md b/notebooks/SpleenLiverSegmentation/README.md similarity index 100% rename from tutorials/notebooks/SpleenLiverSegmentation/README.md rename to notebooks/SpleenLiverSegmentation/README.md diff --git a/tutorials/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb b/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb similarity index 100% rename from tutorials/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb rename to notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb diff --git a/tutorials/notebooks/SpleenLiverSegmentation/monai_data/Spleen_best_metric_model_pretrained.pth b/notebooks/SpleenLiverSegmentation/monai_data/Spleen_best_metric_model_pretrained.pth similarity index 100% rename from tutorials/notebooks/SpleenLiverSegmentation/monai_data/Spleen_best_metric_model_pretrained.pth rename to notebooks/SpleenLiverSegmentation/monai_data/Spleen_best_metric_model_pretrained.pth diff --git a/tutorials/notebooks/pangolin/pangolin.yaml b/notebooks/pangolin/pangolin.yaml similarity index 100% rename from tutorials/notebooks/pangolin/pangolin.yaml rename to notebooks/pangolin/pangolin.yaml diff --git a/tutorials/notebooks/pangolin/pangolin_pipeline.ipynb b/notebooks/pangolin/pangolin_pipeline.ipynb similarity index 100% rename from tutorials/notebooks/pangolin/pangolin_pipeline.ipynb rename to notebooks/pangolin/pangolin_pipeline.ipynb diff --git a/tutorials/notebooks/rnaseq-myco-tutorial-main/LICENSE b/notebooks/rnaseq-myco-tutorial-main/LICENSE similarity index 100% rename from tutorials/notebooks/rnaseq-myco-tutorial-main/LICENSE rename to notebooks/rnaseq-myco-tutorial-main/LICENSE diff --git a/tutorials/notebooks/rnaseq-myco-tutorial-main/README.md b/notebooks/rnaseq-myco-tutorial-main/README.md similarity index 100% rename from tutorials/notebooks/rnaseq-myco-tutorial-main/README.md rename to notebooks/rnaseq-myco-tutorial-main/README.md diff --git a/tutorials/notebooks/rnaseq-myco-tutorial-main/RNAseq_pipeline.ipynb b/notebooks/rnaseq-myco-tutorial-main/RNAseq_pipeline.ipynb similarity index 100% rename from tutorials/notebooks/rnaseq-myco-tutorial-main/RNAseq_pipeline.ipynb rename to notebooks/rnaseq-myco-tutorial-main/RNAseq_pipeline.ipynb diff --git a/tutorials/notebooks/rnaseq-myco-tutorial-main/images/count-workflow.png b/notebooks/rnaseq-myco-tutorial-main/images/count-workflow.png similarity index 100% rename from tutorials/notebooks/rnaseq-myco-tutorial-main/images/count-workflow.png rename to notebooks/rnaseq-myco-tutorial-main/images/count-workflow.png diff --git a/tutorials/notebooks/rnaseq-myco-tutorial-main/images/rnaseq-workflow.png b/notebooks/rnaseq-myco-tutorial-main/images/rnaseq-workflow.png similarity index 100% rename from tutorials/notebooks/rnaseq-myco-tutorial-main/images/rnaseq-workflow.png rename to notebooks/rnaseq-myco-tutorial-main/images/rnaseq-workflow.png diff --git a/tutorials/notebooks/rnaseq-myco-tutorial-main/images/table-cushman.png b/notebooks/rnaseq-myco-tutorial-main/images/table-cushman.png similarity index 100% rename from tutorials/notebooks/rnaseq-myco-tutorial-main/images/table-cushman.png rename to notebooks/rnaseq-myco-tutorial-main/images/table-cushman.png diff --git a/tutorials/README.md b/tutorials/README.md deleted file mode 100644 index 3a44017..0000000 --- a/tutorials/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# Microsoft Azure Tutorial Resources - ---------------------------------- -## Overview of Page Contents - -+ [Artificial Intelligence](#ai) -+ [Clinical Informatics](#ci) -+ [Medical Imaging](#mi) -+ [Genomics on Azure](#bio) -+ [GWAS](#gwas) -+ [BLAST](#blast) -+ [VCF Query](#vcf) -+ [RNAseq](#rna) -+ [scRNAseq](#sc) -+ [Long Read Sequencing Analysis](#long) -+ [Open Data](#open) - -## **Artificial Intelligence** -Machine learning is a subfield of artificial intelligence that focuses on the development of algorithms and models that enable computers to learn from and make predictions or decisions based on data, without being explicitly programmed. Artificial intelligence and machine learning algorithms are being applied to a variety of biomedical research questions, ranging from image classification to genomic variant calling. Azure offers AI services through Azure AI Studio and Azure Machine Learning. - -See our suite of tutorials to learn more about [Gen AI on Azure](/tutorials/notebooks/GenAI/) that highlight Azure products such as [Azure AI Studio](/tutorials/notebooks/GenAI/Azure_AI_Studio_README.md), [Azure OpenAI](/tutorials/notebooks/GenAI/Azure_Open_AI_README.md) and [Azure AI Search](/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb) and external tools like [Langchain](/tutorials/notebooks/GenAI/notebooks/AzureOpenAI-langchain.ipynb). These notebooks walk you through how to deploy, train, and query models, as well as how to implement techniques like [Retrieval-Augmented Generation (RAG)](/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb). If you are interested in applying RAG to structured data like a csv file, we created one tutorials that walks you through how to index your csv using the [Azure UI](/docs/create_index_from_csv.md) and a query your database using a [notebook within Azure ML](/tutorials/notebooks/GenAI/notebooks/llm_query_csv.ipynb), and [one tutorial that runs all the necessary steps directly from a notebook](/tutorials/notebooks/GenAI/notebooks/azure_ai_search_structured.ipynb). - - ## **Clinical Informatics with FHIR** - Azure Health Data Services is a set of services that enables you to store, process, and analyze medical data in Azure. These services are designed to help organizations quickly connect disparate health data sources and formats, such as structured, imaging, and device data, and normalize it to be persisted in the cloud. At its core, Azure Health Data Services possesses the ability to transform and ingest data into FHIR (Fast Healthcare Interoperability Resources) format. This allows you to transform health data from legacy formats, such as HL7v2 or CDA, or from high-frequency IoT data in device proprietary formats to FHIR. This makes it easier to connect data stored in Azure Health Data Services with services across the Azure ecosystem, like Azure Synapse Analytics, and Azure Machine Learning (Azure ML). - -Azure Health Data Services includes support for multiple health data standards for the exchange of structured data, and the ability to deploy multiple instances of different service types (FHIR, DICOM, and MedTech) that seamlessly work with one another. Services deployed within a workspace also share a compliance boundary and common configuration settings. The product scales automatically to meet the varying demands of your workloads, so you spend less time managing infrastructure and more time generating insights from health data. - -Copying healthcare data stored in Azure FHIR Server to Synapse Analytics allows researchers to leverage a cloud-scale data warehousing and analytics tool to extract insights from their data as well as build scalable research pipelines. -For information on how to perform this export and downstream analytics, please visit [this repository](https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/healthcare-apis/fhir/copy-to-synapse.md). - -You can also see hands-on examples of using [FHIR on Azure](https://github.com/microsoft/genomicsnotebook/tree/main/fhirgenomics), but note that you will need to supply your own VCF files as these are not provided with the tutorial content. - -## **Medical Imaging Analysis** -Medical imaging analysis requires the analysis of large image files and often requires elastic storage and accelerated computing. Microsoft Azure offers cloud-based medical imaging analysis capabilities through its Azure Healthcare APIs and Azure Medical Imaging solutions. Azure's DICOM Service allows for the secure storage, management, and processing of medical images in the cloud, using industry standard DICOM (Digital Imaging and Communications in Medicine) format. The DICOM Service provides features like high availability, disaster recovery, and scalable storage options, making it an ideal solution for pipelines that need to store, manage, and analyze large amounts of medical imaging data. In addition, the server integrates with other Azure services like Azure ML, facilitating the use of advanced machine learning algorithms for image analysis tasks such as object detection, segmentation, and classification. Read about how to deploy the service [here](https://learn.microsoft.com/en-us/azure/healthcare-apis/dicom/deploy-dicom-services-in-azure). - -Microsoft has several medical imaging notebooks that showcase different medical imaging use-cases on Azure Machine Learning. These notebooks demonstrate various data science techniques such as manual model development with PyTorch, automated machine learning, and MLOPS-based examples for automating the machine learning lifecycle in medical use cases, including retraining. -These notebooks are available [here](https://github.com/Azure/medical-imaging). Make sure you select a kernel that includes Pytorch else the install of dependencies can be challenging. Note also that you need to use a GPU VM for most of the notebook cells, but you can create several compute environments and switch between them as needed. Be sure to shut them off when you are finished. - -For Cloud Lab users interested in multi-modal clinical informatics, DICOMcast provides the ability to synchronize data from a DICOM service to a FHIR service, allowing users to integrate clinical and imaging data. DICOMcast expands the use cases for health data by supporting both a streamlined view of longitudinal patient data and the ability to effectively create cohorts for medical studies, analytics, and machine learning. For more information on how to utilize DICOMcast please visit Microsoft’s [documentation](https://learn.microsoft.com/en-us/azure/healthcare-apis/dicom/dicom-cast-overview) or the open-source [GitHub repository](https://github.com/microsoft/dicom-server/blob/main/docs/quickstarts/deploy-dicom-cast.md). - -For users hoping to train deep learning models on imaging data, InnerEye-DeepLearning (IE-DL) is a toolbox that Microsoft developed for easily training deep learning models on 3D medical images. Simple to run both locally and in the cloud with Azure Machine Learning, it allows users to train and run inference on the following: -• Segmentation models -• Classification and regression models -• Any PyTorch Lightning model, via a bring-your-own-model setup -This project exists in a separate [GitHub repository](https://github.com/microsoft/InnerEye-DeepLearning). - -## **Microsoft Genomics** -Microsoft has several genomics-related offerings that will be useful to many Cloud Lab users. For a broad overview, visit the [Microsoft Genomics Community site](https://microsoft.github.io/Genomics-Community/index.html). You can also get an overview of different execution options from [this blog](https://techcommunity.microsoft.com/t5/healthcare-and-life-sciences/genomic-workflow-managers-on-microsoft-azure/ba-p/3747052), and a detailed analysis for Nextflow with AWS Batch at [this blog](https://techcommunity.microsoft.com/t5/healthcare-and-life-sciences/rna-sequencing-analysis-on-azure-using-nextflow-configuration/ba-p/3738854). We highlight a few key services here: -+ [Genomics Notebooks](https://github.com/microsoft/genomicsnotebook): These example notebooks highlight many common use cases in genomics research. The Bioconductor/Rstudio notebook will not work in Cloud Lab. To run Rstudio, look at [Posit Workbench from the Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/rstudio-5237862.rstudioserverprostandard). -+ [Cromwell on Azure](https://github.com/microsoft/CromwellOnAzure): Documentation on how to spin up the resources needed to run Cromwell on Azure. Note that this service will not work within Cloud Lab because you need high-level permissions, but we list it here for demonstration purposes. -+ [Microsoft Genomics](https://learn.microsoft.com/en-us/azure/genomics/quickstart-run-genomics-workflow-portal): Run BWA and GATK using this managed service. Note that it uses Python 2.7 and thus is not compatible with AzureML (which uses Python 3), but you can run it from any other shell environment. -+ [Nextflow on Azure](https://microsoft.github.io/Genomics-Community/mydoc_nextflow.html): Run Nextflow workflows using Azure Batch. -+ [NVIDIA Parabricks for Secondary Genomics Analysis on Azure](https://techcommunity.microsoft.com/t5/healthcare-and-life-sciences/benchmarking-the-nvidia-clara-parabricks-for-secondary-genomics/ba-p/3722434). Follow this guide to run Parabricks on a VM by pulling the Docker container directly from NVIDIA. - -## **Genome Wide Association Studies** -Genome-wide association studies (GWAS) are large-scale investigations that analyze the genomes of many individuals to identify common genetic variants associated with traits, diseases, or other phenotypes. -- This [NIH CFDE written tutorial](https://training.nih-cfde.org/en/latest/Bioinformatic-Analyses/GWAS-in-the-cloud -) walks you through running a simple GWAS on AWS, thus we converted it to Azure in [this notebook](/tutorials/notebooks/GWAS). Note that the CFDE page has a few other bioinformatics related tutorials like BLAST and Illumina read simulation. -- This blog post [illustrates some of the costs associated](https://techcommunity.microsoft.com/t5/azure-high-performance-computing/azure-to-accelerate-genome-wide-analysis-study/ba-p/2644120) with running GWAS on Azure - -## **NCBI BLAST+** -NCBI BLAST (Basic Local Alignment Search Tool) is a widely used bioinformatics program provided by the National Center for Biotechnology Information (NCBI) that compares nucleotide or protein sequences against a large database to identify similar sequences and infer evolutionary relationships, functional annotations, and structural information. -- [This Microsoft Blog](https://techcommunity.microsoft.com/t5/azure-high-performance-computing/running-ncbi-blast-on-azure-performance-scalability-and-best/ba-p/2410483) explains how to optimize BLAST analyses on Azure VMs. Feel free to install BLAST+ on a VM or an AzureML notebook and run queries there. - -## **Query a VCF file in Azure Synapse** -- You can use SQL to rapidly query a VCF file in Azure Synapse. The requires converting the file from VCF to Parquet format, a common format for databases. Read more about how to do this in Azure on [this Microsoft blog](https://techcommunity.microsoft.com/t5/healthcare-and-life-sciences/genomic-data-in-parquet-format-on-azure/ba-p/3150554). Although the notebooks for this tutorial are bundled with the other genomics notebooks, to get them to work you will need to use Azure Databricks or Synapse Analytics, not AzureML. - -## **RNAseq** -RNA-seq analysis is a high-throughput sequencing method that allows the measurement and characterization of gene expression levels and transcriptome dynamics. Workflows are typically run using workflow managers, and final results can often be visualized in notebooks. -- You can run this [Nextflow on Azure tutorial](https://microsoft.github.io/Genomics-Community/mydoc_nextflow.html) for RNAseq a variety of ways on Azure. Following the instructions outlined above, you could use Virtual Machines, Azure Machine Learning, or Azure Batch. -- For a notebook version of a complete RNAseq pipeline from Fastq to Salmon quantification from the NIGMS Sandbox Program use this [notebook](/tutorials/notebooks/rnaseq-myco-tutorial-main), which we re-wrote to work on Azure. - -## **Single Cell RNAseq** -Single-cell RNA sequencing (scRNA-seq) is a technique that enables the analysis of gene expression at the individual cell level, providing insights into cellular heterogeneity, identifying rare cell types, and revealing cellular dynamics and functional states within complex biological systems. -- This [NVIDIA blog](https://developer.nvidia.com/blog/accelerating-single-cell-genomic-analysis-using-rapids/) details how to run an accelerated scRNAseq pipeline using RAPIDS. You can find a link to the GitHub that has lots of example notebooks [here](https://github.com/clara-parabricks/rapids-single-cell-examples). For each example use case they show some nice benchmarking data with time and cost for CPU vs. GPU machine types on AWS. You will see that most runs cost less than $1.00 with GPU machines (priced on AWS). If you want a CPU version that users Scanpy you can use this [notebook](https://github.com/clara-parabricks/rapids-single-cell-examples/blob/master/notebooks/hlca_lung_cpu_analysis.ipynb). Pay careful attention to the environment setup as there are a lot of dependencies for these notebooks. Create a conda environment in the terminal, then run the notebook. Consider using [mamba](https://github.com/mamba-org/mamba) to speed up environment creation. We created a [guide](/docs/create_conda_env.md) for conda environment set up as well. - -## **Long Read Sequence Analysis** -Long read DNA sequence analysis involves analyzing sequencing reads typically longer than 10 thousand base pairs (bp) in length, compared with short read sequencing where reads are about 150 bp in length. -Oxford Nanopore has a pretty complete offering of notebook tutorials for handling long read data to do a variety of things including variant calling, RNAseq, Sars-Cov-2 analysis and much more. Access the notebooks [here](https://labs.epi2me.io/nbindex/) and on [GitHub](https://github.com/epi2me-labs). These notebooks expect you are running locally and accessing the epi2me notebook server. To run them in Cloud Lab, skip the first cell that connects to the server and then the rest of the notebook should run correctly, with a few tweaks. Oxford Nanopore also offers a host of [Nextflow workflows](https://labs.epi2me.io/wfindex/) that will allow you to run a variety of long read pipelines. - -## **Open Data** -These publicly available datasets can save you time on data discovery and preparation by being curated and ready to use in your workflows. -+ The [COVID-19 Data Lake](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-covid-19-data-lake) contains COVID-19 related datasets from various sources. It covers testing and patient outcome tracking data, social distancing policy, hospital capacity and mobility. -+ In response to the COVID-19 pandemic, the Allen Institute for AI has partnered with leading research groups to prepare and distribute the [COVID-19 Open Research Dataset (CORD-19)](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-covid-19-open-research?tabs=azure-storage). This dataset is a free resource of over 47,000 scholarly articles, including over 36,000 with full text, about COVID-19 and the coronavirus family of viruses for use by the global research community. This dataset mobilizes researchers to apply recent advances in natural language processing to generate new insights in support of the fight against this infectious disease. -+ [The Genomics Data Lake](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-genomics-data-lake) provides various public datasets that you can access for free and integrate into your genomics analysis workflows and applications. The datasets include genome sequences, variant info, and subject/sample metadata in BAM, FASTA, VCF, CSV file formats: [Illumina Platinum Genomes](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-illumina-platinum-genomes), [Human Reference Genomes](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-human-reference-genomes), [ClinVar Annotations](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-clinvar-annotations), [SnpEff](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-snpeff), [Genome Aggregation Database (gnomAD)](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-gnomad), [1000 Genomes](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-1000-genomes), [OpenCravat](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-open-cravat), [ENCODE](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-encode), [GATK Resource Bundle](https://learn.microsoft.com/en-us/azure/open-datasets/dataset-gatk-resource-bundle). From e27d356c84e6640221097ec6c106b6d2dbb192c7 Mon Sep 17 00:00:00 2001 From: Kyle O'Connell Date: Thu, 29 Feb 2024 14:09:19 -0500 Subject: [PATCH 04/25] added tagline to readme --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 3a44017..d47377c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ +>This repository falls under the NIH STRIDES Initiative. STRIDES aims to harness the power of the cloud to accelerate biomedical discoveries. To learn more, visit https://cloud.nih.gov. + # Microsoft Azure Tutorial Resources +NIH Cloud Lab’s goal is to make Cloud easy and accessible for you, so that you can spend less time on administrative tasks and focus more on research. + +Use this repository to learn about how to use Azure by exploring the linked resources and walking through the tutorials. If you are a beginner, we suggest you begin the jumpstart section on the [Cloud Lab website](https://cloud.nih.gov/resources/cloudlab/). + --------------------------------- ## Overview of Page Contents From 9a26fe96c5969e26817a907b6420fc32799a8a86 Mon Sep 17 00:00:00 2001 From: Kyle O'Connell Date: Thu, 29 Feb 2024 14:15:43 -0500 Subject: [PATCH 05/25] modified links --- .markdown-link-check.json | 4 ++-- README.md | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.markdown-link-check.json b/.markdown-link-check.json index b394a03..1b4f096 100644 --- a/.markdown-link-check.json +++ b/.markdown-link-check.json @@ -13,8 +13,8 @@ "replacement": "https://github.com/STRIDES/NIHCloudLabAzure/tree/main/docs" }, { - "pattern": "^/tutorials", - "replacement": "https://github.com/STRIDES/NIHCloudLabAzure/tree/main/tutorials" + "pattern": "^/notebooks/", + "replacement": "https://github.com/STRIDES/NIHCloudLabAzure/tree/main/notebooks" } ], diff --git a/README.md b/README.md index d47377c..c5bb462 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ NIH Cloud Lab’s goal is to make Cloud easy and accessible for you, so that you can spend less time on administrative tasks and focus more on research. -Use this repository to learn about how to use Azure by exploring the linked resources and walking through the tutorials. If you are a beginner, we suggest you begin the jumpstart section on the [Cloud Lab website](https://cloud.nih.gov/resources/cloudlab/). +Use this repository to learn about how to use Azure by exploring the linked resources and walking through the tutorials. If you are a beginner, we suggest you begin the jumpstart section on the [Cloud Lab website](https://cloud.nih.gov/resources/cloudlab/) before returning here. --------------------------------- ## Overview of Page Contents @@ -24,7 +24,7 @@ Use this repository to learn about how to use Azure by exploring the linked reso ## **Artificial Intelligence** Machine learning is a subfield of artificial intelligence that focuses on the development of algorithms and models that enable computers to learn from and make predictions or decisions based on data, without being explicitly programmed. Artificial intelligence and machine learning algorithms are being applied to a variety of biomedical research questions, ranging from image classification to genomic variant calling. Azure offers AI services through Azure AI Studio and Azure Machine Learning. -See our suite of tutorials to learn more about [Gen AI on Azure](/tutorials/notebooks/GenAI/) that highlight Azure products such as [Azure AI Studio](/tutorials/notebooks/GenAI/Azure_AI_Studio_README.md), [Azure OpenAI](/tutorials/notebooks/GenAI/Azure_Open_AI_README.md) and [Azure AI Search](/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb) and external tools like [Langchain](/tutorials/notebooks/GenAI/notebooks/AzureOpenAI-langchain.ipynb). These notebooks walk you through how to deploy, train, and query models, as well as how to implement techniques like [Retrieval-Augmented Generation (RAG)](/tutorials/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb). If you are interested in applying RAG to structured data like a csv file, we created one tutorials that walks you through how to index your csv using the [Azure UI](/docs/create_index_from_csv.md) and a query your database using a [notebook within Azure ML](/tutorials/notebooks/GenAI/notebooks/llm_query_csv.ipynb), and [one tutorial that runs all the necessary steps directly from a notebook](/tutorials/notebooks/GenAI/notebooks/azure_ai_search_structured.ipynb). +See our suite of tutorials to learn more about [Gen AI on Azure](/notebooks/GenAI/) that highlight Azure products such as [Azure AI Studio](/notebooks/GenAI/Azure_AI_Studio_README.md), [Azure OpenAI](/notebooks/GenAI/Azure_Open_AI_README.md) and [Azure AI Search](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb) and external tools like [Langchain](/notebooks/GenAI/notebooks/AzureOpenAI-langchain.ipynb). These notebooks walk you through how to deploy, train, and query models, as well as how to implement techniques like [Retrieval-Augmented Generation (RAG)](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb). If you are interested in applying RAG to structured data like a csv file, we created one tutorials that walks you through how to index your csv using the [Azure UI](/docs/create_index_from_csv.md) and a query your database using a [notebook within Azure ML](/notebooks/GenAI/notebooks/llm_query_csv.ipynb), and [one tutorial that runs all the necessary steps directly from a notebook](/notebooks/GenAI/notebooks/azure_ai_search_structured.ipynb). ## **Clinical Informatics with FHIR** Azure Health Data Services is a set of services that enables you to store, process, and analyze medical data in Azure. These services are designed to help organizations quickly connect disparate health data sources and formats, such as structured, imaging, and device data, and normalize it to be persisted in the cloud. At its core, Azure Health Data Services possesses the ability to transform and ingest data into FHIR (Fast Healthcare Interoperability Resources) format. This allows you to transform health data from legacy formats, such as HL7v2 or CDA, or from high-frequency IoT data in device proprietary formats to FHIR. This makes it easier to connect data stored in Azure Health Data Services with services across the Azure ecosystem, like Azure Synapse Analytics, and Azure Machine Learning (Azure ML). @@ -61,7 +61,7 @@ Microsoft has several genomics-related offerings that will be useful to many Clo ## **Genome Wide Association Studies** Genome-wide association studies (GWAS) are large-scale investigations that analyze the genomes of many individuals to identify common genetic variants associated with traits, diseases, or other phenotypes. - This [NIH CFDE written tutorial](https://training.nih-cfde.org/en/latest/Bioinformatic-Analyses/GWAS-in-the-cloud -) walks you through running a simple GWAS on AWS, thus we converted it to Azure in [this notebook](/tutorials/notebooks/GWAS). Note that the CFDE page has a few other bioinformatics related tutorials like BLAST and Illumina read simulation. +) walks you through running a simple GWAS on AWS, thus we converted it to Azure in [this notebook](/notebooks/GWAS). Note that the CFDE page has a few other bioinformatics related tutorials like BLAST and Illumina read simulation. - This blog post [illustrates some of the costs associated](https://techcommunity.microsoft.com/t5/azure-high-performance-computing/azure-to-accelerate-genome-wide-analysis-study/ba-p/2644120) with running GWAS on Azure ## **NCBI BLAST+** @@ -74,7 +74,7 @@ NCBI BLAST (Basic Local Alignment Search Tool) is a widely used bioinformatics p ## **RNAseq** RNA-seq analysis is a high-throughput sequencing method that allows the measurement and characterization of gene expression levels and transcriptome dynamics. Workflows are typically run using workflow managers, and final results can often be visualized in notebooks. - You can run this [Nextflow on Azure tutorial](https://microsoft.github.io/Genomics-Community/mydoc_nextflow.html) for RNAseq a variety of ways on Azure. Following the instructions outlined above, you could use Virtual Machines, Azure Machine Learning, or Azure Batch. -- For a notebook version of a complete RNAseq pipeline from Fastq to Salmon quantification from the NIGMS Sandbox Program use this [notebook](/tutorials/notebooks/rnaseq-myco-tutorial-main), which we re-wrote to work on Azure. +- For a notebook version of a complete RNAseq pipeline from Fastq to Salmon quantification from the NIGMS Sandbox Program use this [notebook](/notebooks/rnaseq-myco-tutorial-main), which we re-wrote to work on Azure. ## **Single Cell RNAseq** Single-cell RNA sequencing (scRNA-seq) is a technique that enables the analysis of gene expression at the individual cell level, providing insights into cellular heterogeneity, identifying rare cell types, and revealing cellular dynamics and functional states within complex biological systems. From 7e0c1d120121c1488698f7f4a4fd20666abcf144 Mon Sep 17 00:00:00 2001 From: Kyle O'Connell Date: Tue, 5 Mar 2024 16:45:30 -0500 Subject: [PATCH 06/25] notebooks/ git push --- notebooks/GWAS/GWAS_coat_color.ipynb | 444 +++++++++++------- .../notebooks/Azure_Pubmed_chatbot.ipynb | 5 - 2 files changed, 265 insertions(+), 184 deletions(-) diff --git a/notebooks/GWAS/GWAS_coat_color.ipynb b/notebooks/GWAS/GWAS_coat_color.ipynb index 21b9b35..d2f4d1c 100644 --- a/notebooks/GWAS/GWAS_coat_color.ipynb +++ b/notebooks/GWAS/GWAS_coat_color.ipynb @@ -2,447 +2,536 @@ "cells": [ { "cell_type": "markdown", + "id": "7a244bb3", + "metadata": {}, "source": [ - "# GWAS in the cloud\n", - "We adapted the NIH CFDE tutorial from [here](https://training.nih-cfde.org/en/latest/Bioinformatic-Analyses/GWAS-in-the-cloud/background/) and fit it to a notebook. We have greatly simplified the instructions, so if you need or want more details, look at the full tutorial to find out more.\n", - "Most of this notebook is bash, but expects that you are using a Python kernel, until step 3, plotting, you will need to switch your kernel to R." - ], + "# Runing Genome Wide Association Studies in the cloud" + ] + }, + { + "cell_type": "markdown", "metadata": {}, - "id": "7a244bb3" + "source": [ + "## Overview\n", + "Genome Wide Association Study analyses are conducted via the command line using mostly BASH commands, and then plotting often done using Python or R. Here, we adapted an [NIH CFDE tutorial](https://training.nih-cfde.org/en/latest/Bioinformatic-Analyses/GWAS-in-the-cloud/background/) and fit it to a notebook. We have greatly simplified the instructions, so if you need or want more details, look at the full tutorial to find out more.\n", + "\n", + "Most of this notebook is bash, but expects that you are using a Python kernel, until step 3, plotting, you will need to switch your kernel to R." + ] }, { "cell_type": "markdown", + "id": "8fbf6304", + "metadata": {}, "source": [ "## 1. Setup\n", "### Download the data\n", "use %%bash to denote a bash block. You can also use '!' to denote a single bash command within a Python notebook" - ], - "metadata": {}, - "id": "8fbf6304" + ] }, { "cell_type": "code", + "execution_count": null, + "id": "8ec900bd", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], "source": [ "%%bash\n", "mkdir GWAS\n", "curl -LO https://de.cyverse.org/dl/d/E0A502CC-F806-4857-9C3A-BAEAA0CCC694/pruned_coatColor_maf_geno.vcf.gz\n", "curl -LO https://de.cyverse.org/dl/d/3B5C1853-C092-488C-8C2F-CE6E8526E96B/coatColor.pheno" - ], - "outputs": [], - "execution_count": null, - "metadata": {}, - "id": "8ec900bd" + ] }, { "cell_type": "code", + "execution_count": null, + "id": "4d43ae73", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], "source": [ "%%bash\n", "mv *.gz GWAS\n", "mv *.pheno GWAS\n", "ls GWAS" - ], - "outputs": [], - "execution_count": null, - "metadata": {}, - "id": "4d43ae73" + ] }, { "attachments": {}, "cell_type": "markdown", + "id": "28aadbf8", + "metadata": {}, "source": [ "### Install dependencies\n", "Here we install mamba, which is faster than conda. You could also skip this install and just use conda since that is preinstalled in the kernel." - ], - "metadata": {}, - "id": "28aadbf8" + ] }, { "cell_type": "code", + "execution_count": null, + "id": "b3ba3eef", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], "source": [ "%%bash\n", "curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh\n", "bash Mambaforge-$(uname)-$(uname -m).sh -b -p $HOME/mambaforge" - ], - "outputs": [], - "execution_count": null, - "metadata": {}, - "id": "b3ba3eef" + ] }, { "cell_type": "code", - "source": [ - "#add to your path\n", - "import os\n", - "os.environ[\"PATH\"] += os.pathsep + os.environ[\"HOME\"]+\"/mambaforge/bin\"" - ], - "outputs": [], "execution_count": null, + "id": "ae20d01c", "metadata": { "gather": { "logged": 1686580882939 + }, + "vscode": { + "languageId": "r" } }, - "id": "ae20d01c" + "outputs": [], + "source": [ + "#add to your path\n", + "import os\n", + "os.environ[\"PATH\"] += os.pathsep + os.environ[\"HOME\"]+\"/mambaforge/bin\"" + ] }, { "cell_type": "code", + "execution_count": null, + "id": "b219074a", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], "source": [ "! mamba install -y -c bioconda plink vcftools" - ], - "outputs": [], - "execution_count": null, - "metadata": {}, - "id": "b219074a" + ] }, { "cell_type": "markdown", + "id": "3de2fc4c", + "metadata": {}, "source": [ "## 2. Analyze" - ], - "metadata": {}, - "id": "3de2fc4c" + ] }, { "cell_type": "markdown", + "id": "013d960d", + "metadata": {}, "source": [ "### Make map and ped files from the vcf file to feed into plink" - ], - "metadata": {}, - "id": "013d960d" + ] }, { "cell_type": "code", - "source": [ - "cd GWAS" - ], - "outputs": [], "execution_count": null, + "id": "e91c7a01", "metadata": { "gather": { "logged": 1686579597925 + }, + "vscode": { + "languageId": "r" } }, - "id": "e91c7a01" + "outputs": [], + "source": [ + "cd GWAS" + ] }, { "cell_type": "code", - "source": [ - "ls GWAS" - ], - "outputs": [], "execution_count": null, + "id": "9b770f7f", "metadata": { "gather": { "logged": 1686579600325 + }, + "vscode": { + "languageId": "r" } }, - "id": "9b770f7f" + "outputs": [], + "source": [ + "ls GWAS" + ] }, { "cell_type": "code", + "execution_count": null, + "id": "6570875d", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], "source": [ "! vcftools --gzvcf pruned_coatColor_maf_geno.vcf.gz --plink --out coatColor" - ], - "outputs": [], - "execution_count": null, - "metadata": {}, - "id": "6570875d" + ] }, { "cell_type": "markdown", + "id": "b9a38761", + "metadata": {}, "source": [ "### Create a list of minor alleles.\n", "For more info on these terms, look at step 2 at https://training.nih-cfde.org/en/latest/Bioinformatic-Analyses/GWAS-in-the-cloud/analyze/" - ], - "metadata": {}, - "id": "b9a38761" + ] }, { "cell_type": "code", - "source": [ - "#unzip vcf\n", - "! vcftools --gzvcf pruned_coatColor_maf_geno.vcf.gz --recode --out pruned_coatColor_maf_geno" - ], - "outputs": [], "execution_count": null, + "id": "6c868a67", "metadata": { "gather": { "logged": 1686581972147 + }, + "vscode": { + "languageId": "r" } }, - "id": "6c868a67" + "outputs": [], + "source": [ + "#unzip vcf\n", + "! vcftools --gzvcf pruned_coatColor_maf_geno.vcf.gz --recode --out pruned_coatColor_maf_geno" + ] }, { "cell_type": "code", - "source": [ - "#create list of minor alleles\n", - "! cat pruned_coatColor_maf_geno.recode.vcf | awk 'BEGIN{FS=\"\\t\";OFS=\"\\t\";}/#/{next;}{{if($3==\".\")$3=$1\":\"$2;}print $3,$5;}' > minor_alleles" - ], - "outputs": [], "execution_count": null, + "id": "8e11f991", "metadata": { "gather": { "logged": 1686581979545 + }, + "vscode": { + "languageId": "r" } }, - "id": "8e11f991" + "outputs": [], + "source": [ + "#create list of minor alleles\n", + "! cat pruned_coatColor_maf_geno.recode.vcf | awk 'BEGIN{FS=\"\\t\";OFS=\"\\t\";}/#/{next;}{{if($3==\".\")$3=$1\":\"$2;}print $3,$5;}' > minor_alleles" + ] }, { "cell_type": "code", + "execution_count": null, + "id": "8cff47e3", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], "source": [ "! head minor_alleles" - ], - "outputs": [], - "execution_count": null, - "metadata": {}, - "id": "8cff47e3" + ] }, { "cell_type": "markdown", + "id": "56d901c7", + "metadata": {}, "source": [ "### Run quality controls" - ], - "metadata": {}, - "id": "56d901c7" + ] }, { "cell_type": "code", - "source": [ - "#calculate missingness per locus\n", - "! plink --file coatColor --make-pheno coatColor.pheno \"yellow\" --missing --out miss_stat --noweb --dog --reference-allele minor_alleles --allow-no-sex --adjust" - ], - "outputs": [], "execution_count": null, + "id": "dafa14a6", "metadata": { "gather": { "logged": 1686582023237 + }, + "vscode": { + "languageId": "r" } }, - "id": "dafa14a6" + "outputs": [], + "source": [ + "#calculate missingness per locus\n", + "! plink --file coatColor --make-pheno coatColor.pheno \"yellow\" --missing --out miss_stat --noweb --dog --reference-allele minor_alleles --allow-no-sex --adjust" + ] }, { "cell_type": "code", - "source": [ - "#take a look at lmiss, which is the per locus rates of missingness\n", - "! head miss_stat.lmiss" - ], - "outputs": [], "execution_count": null, + "id": "5cf5f51b", "metadata": { "gather": { "logged": 1686582030150 + }, + "vscode": { + "languageId": "r" } }, - "id": "5cf5f51b" + "outputs": [], + "source": [ + "#take a look at lmiss, which is the per locus rates of missingness\n", + "! head miss_stat.lmiss" + ] }, { "cell_type": "code", - "source": [ - "#peek at imiss which is the individual rates of missingness\n", - "! head miss_stat.imiss" - ], - "outputs": [], "execution_count": null, + "id": "915bb263", "metadata": { "gather": { "logged": 1686582034753 + }, + "vscode": { + "languageId": "r" } }, - "id": "915bb263" + "outputs": [], + "source": [ + "#peek at imiss which is the individual rates of missingness\n", + "! head miss_stat.imiss" + ] }, { "cell_type": "markdown", + "id": "4c11ca71", + "metadata": {}, "source": [ "### Convert to plink binary format" - ], - "metadata": {}, - "id": "4c11ca71" + ] }, { "cell_type": "code", + "execution_count": null, + "id": "3b8f2d7f", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], "source": [ "! plink --file coatColor --allow-no-sex --dog --make-bed --noweb --out coatColor.binary" - ], - "outputs": [], - "execution_count": null, - "metadata": {}, - "id": "3b8f2d7f" + ] }, { "cell_type": "markdown", + "id": "e36f6cd7", + "metadata": {}, "source": [ "### Run a simple association step (the GWAS part!)" - ], - "metadata": {}, - "id": "e36f6cd7" + ] }, { "cell_type": "code", + "execution_count": null, + "id": "f926ef9b", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], "source": [ "! plink --bfile coatColor.binary --make-pheno coatColor.pheno \"yellow\" --assoc --reference-allele minor_alleles --allow-no-sex --adjust --dog --noweb --out coatColor" - ], - "outputs": [], - "execution_count": null, - "metadata": {}, - "id": "f926ef9b" + ] }, { "cell_type": "markdown", + "id": "b397d484", + "metadata": {}, "source": [ "### Identify statistical cutoffs\n", "This code finds the equivalent of 0.05 and 0.01 p value in the negative-log-transformed p values file. We will use these cutoffs to draw horizontal lines in the Manhattan plot for visualization of haplotypes that cross the 0.05 and 0.01 statistical threshold (i.e. have a statistically significant association with yellow coat color)" - ], - "metadata": {}, - "id": "b397d484" + ] }, { "cell_type": "code", + "execution_count": null, + "id": "b94e1e2a", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], "source": [ "%%bash\n", "unad_cutoff_sug=$(tail -n+2 coatColor.assoc.adjusted | awk '$10>=0.05' | head -n1 | awk '{print $3}')\n", "unad_cutoff_conf=$(tail -n+2 coatColor.assoc.adjusted | awk '$10>=0.01' | head -n1 | awk '{print $3}')" - ], - "outputs": [], - "execution_count": null, - "metadata": {}, - "id": "b94e1e2a" + ] }, { "cell_type": "markdown", + "id": "1f52e97c", + "metadata": {}, "source": [ "## 3. Plotting\n", "In this tutorial, plotting is done in R. Azure gets a bit funny about running these R commands, so we recommend just runnning the rest of the commands in the Terminal. Run `R` before running the commands. Otherwise you can just download the inputs and run locally in R studio." - ], - "metadata": {}, - "id": "1f52e97c" + ] }, { "cell_type": "markdown", + "id": "effb5acd", + "metadata": {}, "source": [ "### Install qqman" - ], - "metadata": {}, - "id": "effb5acd" + ] }, { "cell_type": "code", - "source": [ - "install.packages('qqman', contriburl=contrib.url('http://cran.r-project.org/'))" - ], - "outputs": [], "execution_count": null, + "id": "60feed89", "metadata": { "gather": { "logged": 1686582094642 + }, + "vscode": { + "languageId": "r" } }, - "id": "60feed89" + "outputs": [], + "source": [ + "install.packages('qqman', contriburl=contrib.url('http://cran.r-project.org/'))" + ] }, { "cell_type": "markdown", + "id": "d3f1fcd2", + "metadata": {}, "source": [ "### Run the plotting function" - ], - "metadata": {}, - "id": "d3f1fcd2" + ] }, { "cell_type": "code", - "source": [ - "#make sure you are still CD in GWAS, when you change kernel it may reset to home\n", - "setwd('GWAS')" - ], - "outputs": [], "execution_count": null, + "id": "a7e8cd2b", "metadata": { "gather": { "logged": 1686584355516 + }, + "vscode": { + "languageId": "r" } }, - "id": "a7e8cd2b" + "outputs": [], + "source": [ + "#make sure you are still CD in GWAS, when you change kernel it may reset to home\n", + "setwd('GWAS')" + ] }, { "cell_type": "code", - "source": [ - "require(qqman)" - ], - "outputs": [], "execution_count": null, + "id": "7946a3a7", "metadata": { "gather": { "logged": 1686584356532 + }, + "vscode": { + "languageId": "r" } }, - "id": "7946a3a7" + "outputs": [], + "source": [ + "require(qqman)" + ] }, { "cell_type": "code", - "source": [ - "data=read.table(\"coatColor.assoc\", header=TRUE)" - ], - "outputs": [], "execution_count": null, + "id": "0d28ef2c", "metadata": { "gather": { "logged": 1686584364339 + }, + "vscode": { + "languageId": "r" } }, - "id": "0d28ef2c" + "outputs": [], + "source": [ + "data=read.table(\"coatColor.assoc\", header=TRUE)" + ] }, { "cell_type": "code", - "source": [ - "data=data[!is.na(data$P),]" - ], - "outputs": [], "execution_count": null, + "id": "8e5207be", "metadata": { "gather": { "logged": 1686584368241 + }, + "vscode": { + "languageId": "r" } }, - "id": "8e5207be" + "outputs": [], + "source": [ + "data=data[!is.na(data$P),]" + ] }, { "cell_type": "code", - "source": [ - "manhattan(data, p = \"P\", col = c(\"blue4\", \"orange3\"),\n", - " suggestiveline = 12,\n", - " genomewideline = 15,\n", - " chrlabs = c(1:38, \"X\"), annotateTop=TRUE, cex = 1.2)" - ], - "outputs": [], "execution_count": null, + "id": "6330b1e0", "metadata": { "gather": { "logged": 1686584371278 + }, + "vscode": { + "languageId": "r" } }, - "id": "6330b1e0" + "outputs": [], + "source": [ + "manhattan(data, p = \"P\", col = c(\"blue4\", \"orange3\"),\n", + " suggestiveline = 12,\n", + " genomewideline = 15,\n", + " chrlabs = c(1:38, \"X\"), annotateTop=TRUE, cex = 1.2)" + ] }, { "cell_type": "markdown", + "id": "26787d84", + "metadata": {}, "source": [ "In our graph, haplotypes in four parts of the genome (chromosome 2, 5, 28 and X) are found to be associated with an increased occurrence of the yellow coat color phenotype.\n", "\n", "The top associated mutation is a nonsense SNP in the gene MC1R known to control pigment production. The MC1R allele encoding yellow coat color contains a single base change (from C to T) at the 916th nucleotide." - ], - "metadata": {}, - "id": "26787d84" + ] } ], "metadata": { + "kernel_info": { + "name": "ir" + }, "kernelspec": { - "name": "ir", + "display_name": "R", "language": "R", - "display_name": "R" + "name": "ir" }, "language_info": { - "name": "R", "codemirror_mode": "r", - "pygments_lexer": "r", - "mimetype": "text/x-r-source", "file_extension": ".r", + "mimetype": "text/x-r-source", + "name": "R", + "pygments_lexer": "r", "version": "4.2.2" }, "microsoft": { @@ -450,13 +539,10 @@ "ms_spell_check_language": "en" } }, - "kernel_info": { - "name": "ir" - }, "nteract": { "version": "nteract-front-end@1.0.0" } }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb index be462cd..247b973 100644 --- a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb +++ b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb @@ -8,11 +8,6 @@ "# Creating a PubMed Chatbot using Azure" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [] - }, { "cell_type": "markdown", "metadata": {}, From 9a214941fea7b01d2023295759461666f46e8d2b Mon Sep 17 00:00:00 2001 From: Kyle O'Connell Date: Tue, 5 Mar 2024 17:03:02 -0500 Subject: [PATCH 07/25] fixed some capitalization issues in notebooks --- .../notebooks/AzureAIStudio_index_structured_notebook.ipynb | 4 ++-- .../AzureAIStudio_index_structured_with_console.ipynb | 4 ++-- notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb | 2 +- notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb index 8ba1e89..cd56dd8 100644 --- a/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb +++ b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb @@ -40,7 +40,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Get Started" + "## Get started" ] }, { @@ -783,7 +783,7 @@ "id": "0459e0ae-5183-4b6a-9eca-41c97b0b8a8c", "metadata": {}, "source": [ - "## Clean Up" + "## Clean up" ] }, { diff --git a/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb index a13ae1f..29ad25b 100644 --- a/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb +++ b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb @@ -47,7 +47,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Get Started" + "## Get started" ] }, { @@ -357,7 +357,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Clean Up" + "## Clean up" ] }, { diff --git a/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb b/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb index 04d8ba7..3cce50b 100644 --- a/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb +++ b/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb @@ -50,7 +50,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Get Started" + "## Get started" ] }, { diff --git a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb index 247b973..70363cd 100644 --- a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb +++ b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb @@ -41,7 +41,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Get Started" + "## Get started" ] }, { @@ -1565,7 +1565,7 @@ "id": "a178c1c6-368a-48c5-8beb-278443b685a2", "metadata": {}, "source": [ - "## Clean Up" + "## Clean up" ] }, { From 4b60261739573de05a8c814528102f6fc8f08f82 Mon Sep 17 00:00:00 2001 From: Kyle O'Connell Date: Tue, 5 Mar 2024 17:19:11 -0500 Subject: [PATCH 08/25] reformatted some notebooks, gwas and pangolin --- notebooks/GWAS/GWAS_coat_color.ipynb | 57 +- notebooks/pangolin/pangolin.yaml | 13 - notebooks/pangolin/pangolin_pipeline.ipynb | 1112 ++------------------ 3 files changed, 116 insertions(+), 1066 deletions(-) delete mode 100644 notebooks/pangolin/pangolin.yaml diff --git a/notebooks/GWAS/GWAS_coat_color.ipynb b/notebooks/GWAS/GWAS_coat_color.ipynb index d2f4d1c..0bcfbc1 100644 --- a/notebooks/GWAS/GWAS_coat_color.ipynb +++ b/notebooks/GWAS/GWAS_coat_color.ipynb @@ -18,12 +18,34 @@ "Most of this notebook is bash, but expects that you are using a Python kernel, until step 3, plotting, you will need to switch your kernel to R." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "We assume you have provisioned a compute environment in Azure ML Studio" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Learning objectives\n", + "+ Learn how to run GWAS analysis and visualize results in Azure AI Studio" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Get started" + ] + }, { "cell_type": "markdown", "id": "8fbf6304", "metadata": {}, "source": [ - "## 1. Setup\n", "### Download the data\n", "use %%bash to denote a bash block. You can also use '!' to denote a single bash command within a Python notebook" ] @@ -68,7 +90,7 @@ "id": "28aadbf8", "metadata": {}, "source": [ - "### Install dependencies\n", + "### Install packages\n", "Here we install mamba, which is faster than conda. You could also skip this install and just use conda since that is preinstalled in the kernel." ] }, @@ -121,14 +143,6 @@ "! mamba install -y -c bioconda plink vcftools" ] }, - { - "cell_type": "markdown", - "id": "3de2fc4c", - "metadata": {}, - "source": [ - "## 2. Analyze" - ] - }, { "cell_type": "markdown", "id": "013d960d", @@ -380,7 +394,7 @@ "id": "1f52e97c", "metadata": {}, "source": [ - "## 3. Plotting\n", + "### Plotting\n", "In this tutorial, plotting is done in R. Azure gets a bit funny about running these R commands, so we recommend just runnning the rest of the commands in the Terminal. Run `R` before running the commands. Otherwise you can just download the inputs and run locally in R studio." ] }, @@ -515,6 +529,27 @@ "\n", "The top associated mutation is a nonsense SNP in the gene MC1R known to control pigment production. The MC1R allele encoding yellow coat color contains a single base change (from C to T) at the 916th nucleotide." ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusions\n", + "You learned here how to run and visualize GWAS results using a notebook in Azure ML Studio." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Clean Up\n", + "Make sure you stop your compute instance and if desired, delete the resource group associated with this tutorial." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] } ], "metadata": { diff --git a/notebooks/pangolin/pangolin.yaml b/notebooks/pangolin/pangolin.yaml deleted file mode 100644 index 4a235b0..0000000 --- a/notebooks/pangolin/pangolin.yaml +++ /dev/null @@ -1,13 +0,0 @@ -name: pangolin -channels: - - bioconda - - conda-forge - - defaults - - eaton-lab - -dependencies: - - sra-tools - - ipyrad - - toytree - - pangolin - - iqtree diff --git a/notebooks/pangolin/pangolin_pipeline.ipynb b/notebooks/pangolin/pangolin_pipeline.ipynb index 862c45a..3603c9a 100644 --- a/notebooks/pangolin/pangolin_pipeline.ipynb +++ b/notebooks/pangolin/pangolin_pipeline.ipynb @@ -10,810 +10,106 @@ }, { "cell_type": "markdown", - "id": "56a29212", "metadata": {}, "source": [ - "We are going to run a standard covid bioinformatics pipeline using the Pangolin workflow. https://cov-lineages.org/resources/pangolin/usage.html" + "## Overview \n", + "SARS-CoV-2 sequence is usually analyzed using a bioinformatic pipeline called Pangolin. Here we will download some genomic data and run Pangolin following [standard instructions](https://cov-lineages.org/resources/pangolin/usage.html). " ] }, { "cell_type": "markdown", - "id": "03541941", - "metadata": {}, - "source": [ - "### Required software" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "f994b990", "metadata": {}, - "outputs": [], "source": [ - "#change this depending on how many threads are available in your notebook\n", - "CPU=4" + "## Prerequisites\n", + "We assume you have access to Azure AI Studio and have already deployed an LLM " ] }, { - "cell_type": "code", - "execution_count": 2, - "id": "a19b662e", + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PREFIX=/home/ec2-user/mambaforge\n", - "Unpacking payload ...\n", - "Extracting \"libmambapy-0.19.0-py39h8bfa403_0.tar.bz2\"\n", - "Extracting \"zstd-1.5.0-ha95c52a_0.tar.bz2\"\n", - "Extracting \"readline-8.1-h46c0cb4_0.tar.bz2\"\n", - "Extracting \"yaml-cpp-0.6.3-he1b5a44_4.tar.bz2\"\n", - "Extracting \"libgcc-ng-11.2.0-h1d223b6_11.tar.bz2\"\n", - "Extracting \"cffi-1.15.0-py39h4bc2ebd_0.tar.bz2\"\n", - "Extracting \"wheel-0.37.0-pyhd8ed1ab_1.tar.bz2\"\n", - "Extracting \"colorama-0.4.4-pyh9f0ad1d_0.tar.bz2\"\n", - "Extracting \"_openmp_mutex-4.5-1_gnu.tar.bz2\"\n", - "Extracting \"tzdata-2021e-he74cb21_0.tar.bz2\"\n", - "Extracting \"reproc-cpp-14.2.3-h9c3ff4c_0.tar.bz2\"\n", - "Extracting \"lz4-c-1.9.3-h9c3ff4c_1.tar.bz2\"\n", - "Extracting \"libarchive-3.5.2-hccf745f_1.tar.bz2\"\n", - "Extracting \"libedit-3.1.20191231-he28a2e2_2.tar.bz2\"\n", - "Extracting \"icu-69.1-h9c3ff4c_0.tar.bz2\"\n", - "Extracting \"ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2\"\n", - "Extracting \"libzlib-1.2.11-h36c2ea0_1013.tar.bz2\"\n", - "Extracting \"tqdm-4.62.3-pyhd8ed1ab_0.tar.bz2\"\n", - "Extracting \"ncurses-6.2-h58526e2_4.tar.bz2\"\n", - "Extracting \"openssl-1.1.1l-h7f98852_0.tar.bz2\"\n", - "Extracting \"cryptography-36.0.0-py39h95dcef6_0.tar.bz2\"\n", - "Extracting \"zlib-1.2.11-h36c2ea0_1013.tar.bz2\"\n", - "Extracting \"lzo-2.10-h516909a_1000.tar.bz2\"\n", - "Extracting \"c-ares-1.18.1-h7f98852_0.tar.bz2\"\n", - "Extracting \"pyopenssl-21.0.0-pyhd8ed1ab_0.tar.bz2\"\n", - "Extracting \"conda-package-handling-1.7.3-py39h3811e60_1.tar.bz2\"\n", - "Extracting \"idna-3.1-pyhd3deb0d_0.tar.bz2\"\n", - "Extracting \"libmamba-0.19.0-h3985d26_0.tar.bz2\"\n", - "Extracting \"reproc-14.2.3-h7f98852_0.tar.bz2\"\n", - "Extracting \"pip-21.3.1-pyhd8ed1ab_0.tar.bz2\"\n", - "Extracting \"tk-8.6.11-h27826a3_1.tar.bz2\"\n", - "Extracting \"conda-4.11.0-py39hf3d152e_0.tar.bz2\"\n", - "Extracting \"requests-2.26.0-pyhd8ed1ab_1.tar.bz2\"\n", - "Extracting \"_libgcc_mutex-0.1-conda_forge.tar.bz2\"\n", - "Extracting \"brotlipy-0.7.0-py39h3811e60_1003.tar.bz2\"\n", - "Extracting \"python-3.9.7-hb7a2778_3_cpython.tar.bz2\"\n", - "Extracting \"yaml-0.2.5-h516909a_0.tar.bz2\"\n", - "Extracting \"bzip2-1.0.8-h7f98852_4.tar.bz2\"\n", - "Extracting \"libffi-3.4.2-h7f98852_5.tar.bz2\"\n", - "Extracting \"krb5-1.19.2-hcc1bbae_3.tar.bz2\"\n", - "Extracting \"charset-normalizer-2.0.9-pyhd8ed1ab_0.tar.bz2\"\n", - "Extracting \"pysocks-1.7.1-py39hf3d152e_4.tar.bz2\"\n", - "Extracting \"libgomp-11.2.0-h1d223b6_11.tar.bz2\"\n", - "Extracting \"pybind11-abi-4-hd8ed1ab_3.tar.bz2\"\n", - "Extracting \"python_abi-3.9-2_cp39.tar.bz2\"\n", - "Extracting \"libiconv-1.16-h516909a_0.tar.bz2\"\n", - "Extracting \"libcurl-7.80.0-h2574ce0_0.tar.bz2\"\n", - "Extracting \"libxml2-2.9.12-h885dcf4_1.tar.bz2\"\n", - "Extracting \"pycosat-0.6.3-py39h3811e60_1009.tar.bz2\"\n", - "Extracting \"certifi-2021.10.8-py39hf3d152e_1.tar.bz2\"\n", - "Extracting \"libssh2-1.10.0-ha56f1ee_2.tar.bz2\"\n", - "Extracting \"libnghttp2-1.43.0-h812cca2_1.tar.bz2\"\n", - "Extracting \"mamba-0.19.0-py39hfa8f2c8_0.tar.bz2\"\n", - "Extracting \"ruamel_yaml-0.15.80-py39h3811e60_1006.tar.bz2\"\n", - "Extracting \"xz-5.2.5-h516909a_1.tar.bz2\"\n", - "Extracting \"setuptools-59.4.0-py39hf3d152e_0.tar.bz2\"\n", - "Extracting \"six-1.16.0-pyh6c4a22f_0.tar.bz2\"\n", - "Extracting \"urllib3-1.26.7-pyhd8ed1ab_0.tar.bz2\"\n", - "Extracting \"libstdcxx-ng-11.2.0-he4da1e4_11.tar.bz2\"\n", - "Extracting \"libsolv-0.7.19-h780b84a_5.tar.bz2\"\n", - "Extracting \"pycparser-2.21-pyhd8ed1ab_0.tar.bz2\"\n", - "Extracting \"ca-certificates-2021.10.8-ha878542_0.tar.bz2\"\n", - "Extracting \"sqlite-3.37.0-h9cd32fc_0.tar.bz2\"\n", - "Extracting \"libev-4.33-h516909a_1.tar.bz2\"\n", - "\n", - " __\n", - " __ ______ ___ ____ _____ ___ / /_ ____ _\n", - " / / / / __ `__ \\/ __ `/ __ `__ \\/ __ \\/ __ `/\n", - " / /_/ / / / / / / /_/ / / / / / / /_/ / /_/ /\n", - " / .___/_/ /_/ /_/\\__,_/_/ /_/ /_/_.___/\\__,_/\n", - " /_/\n", - "\n", - "\n", - "Transaction\n", - "\n", - " Prefix: /home/ec2-user/mambaforge\n", - "\n", - " Updating specs:\n", - "\n", - " - python==3.9.7=hb7a2778_3_cpython\n", - " - _libgcc_mutex==0.1=conda_forge\n", - " - ca-certificates==2021.10.8=ha878542_0\n", - " - ld_impl_linux-64==2.36.1=hea4e1c9_2\n", - " - libstdcxx-ng==11.2.0=he4da1e4_11\n", - " - pybind11-abi==4=hd8ed1ab_3\n", - " - tzdata==2021e=he74cb21_0\n", - " - libgomp==11.2.0=h1d223b6_11\n", - " - _openmp_mutex==4.5=1_gnu\n", - " - libgcc-ng==11.2.0=h1d223b6_11\n", - " - bzip2==1.0.8=h7f98852_4\n", - " - c-ares==1.18.1=h7f98852_0\n", - " - icu==69.1=h9c3ff4c_0\n", - " - libev==4.33=h516909a_1\n", - " - libffi==3.4.2=h7f98852_5\n", - " - libiconv==1.16=h516909a_0\n", - " - libzlib==1.2.11=h36c2ea0_1013\n", - " - lz4-c==1.9.3=h9c3ff4c_1\n", - " - lzo==2.10=h516909a_1000\n", - " - ncurses==6.2=h58526e2_4\n", - " - openssl==1.1.1l=h7f98852_0\n", - " - reproc==14.2.3=h7f98852_0\n", - " - xz==5.2.5=h516909a_1\n", - " - yaml==0.2.5=h516909a_0\n", - " - yaml-cpp==0.6.3=he1b5a44_4\n", - " - libedit==3.1.20191231=he28a2e2_2\n", - " - readline==8.1=h46c0cb4_0\n", - " - reproc-cpp==14.2.3=h9c3ff4c_0\n", - " - zlib==1.2.11=h36c2ea0_1013\n", - " - libnghttp2==1.43.0=h812cca2_1\n", - " - libsolv==0.7.19=h780b84a_5\n", - " - libssh2==1.10.0=ha56f1ee_2\n", - " - libxml2==2.9.12=h885dcf4_1\n", - " - sqlite==3.37.0=h9cd32fc_0\n", - " - tk==8.6.11=h27826a3_1\n", - " - zstd==1.5.0=ha95c52a_0\n", - " - krb5==1.19.2=hcc1bbae_3\n", - " - libarchive==3.5.2=hccf745f_1\n", - " - charset-normalizer==2.0.9=pyhd8ed1ab_0\n", - " - colorama==0.4.4=pyh9f0ad1d_0\n", - " - idna==3.1=pyhd3deb0d_0\n", - " - libcurl==7.80.0=h2574ce0_0\n", - " - pycparser==2.21=pyhd8ed1ab_0\n", - " - python_abi==3.9=2_cp39\n", - " - six==1.16.0=pyh6c4a22f_0\n", - " - wheel==0.37.0=pyhd8ed1ab_1\n", - " - certifi==2021.10.8=py39hf3d152e_1\n", - " - cffi==1.15.0=py39h4bc2ebd_0\n", - " - libmamba==0.19.0=h3985d26_0\n", - " - pycosat==0.6.3=py39h3811e60_1009\n", - " - pysocks==1.7.1=py39hf3d152e_4\n", - " - ruamel_yaml==0.15.80=py39h3811e60_1006\n", - " - setuptools==59.4.0=py39hf3d152e_0\n", - " - tqdm==4.62.3=pyhd8ed1ab_0\n", - " - brotlipy==0.7.0=py39h3811e60_1003\n", - " - conda-package-handling==1.7.3=py39h3811e60_1\n", - " - cryptography==36.0.0=py39h95dcef6_0\n", - " - libmambapy==0.19.0=py39h8bfa403_0\n", - " - pip==21.3.1=pyhd8ed1ab_0\n", - " - pyopenssl==21.0.0=pyhd8ed1ab_0\n", - " - urllib3==1.26.7=pyhd8ed1ab_0\n", - " - requests==2.26.0=pyhd8ed1ab_1\n", - " - conda==4.11.0=py39hf3d152e_0\n", - " - mamba==0.19.0=py39hfa8f2c8_0\n", - "\n", - "\n", - " Package Version Build Channel Size\n", - "───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - " Install:\n", - "───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - "\n", - " + _libgcc_mutex 0.1 conda_forge conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 Cached\n", - " + _openmp_mutex 4.5 1_gnu conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2 Cached\n", - " + brotlipy 0.7.0 py39h3811e60_1003 conda-forge/linux-64/brotlipy-0.7.0-py39h3811e60_1003.tar.bz2 Cached\n", - " + bzip2 1.0.8 h7f98852_4 conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2 Cached\n", - " + c-ares 1.18.1 h7f98852_0 conda-forge/linux-64/c-ares-1.18.1-h7f98852_0.tar.bz2 Cached\n", - " + ca-certificates 2021.10.8 ha878542_0 conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2 Cached\n", - " + certifi 2021.10.8 py39hf3d152e_1 conda-forge/linux-64/certifi-2021.10.8-py39hf3d152e_1.tar.bz2 Cached\n", - " + cffi 1.15.0 py39h4bc2ebd_0 conda-forge/linux-64/cffi-1.15.0-py39h4bc2ebd_0.tar.bz2 Cached\n", - " + charset-normalizer 2.0.9 pyhd8ed1ab_0 conda-forge/noarch/charset-normalizer-2.0.9-pyhd8ed1ab_0.tar.bz2 Cached\n", - " + colorama 0.4.4 pyh9f0ad1d_0 conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2 Cached\n", - " + conda 4.11.0 py39hf3d152e_0 conda-forge/linux-64/conda-4.11.0-py39hf3d152e_0.tar.bz2 Cached\n", - " + conda-package-handling 1.7.3 py39h3811e60_1 conda-forge/linux-64/conda-package-handling-1.7.3-py39h3811e60_1.tar.bz2 Cached\n", - " + cryptography 36.0.0 py39h95dcef6_0 conda-forge/linux-64/cryptography-36.0.0-py39h95dcef6_0.tar.bz2 Cached\n", - " + icu 69.1 h9c3ff4c_0 conda-forge/linux-64/icu-69.1-h9c3ff4c_0.tar.bz2 Cached\n", - " + idna 3.1 pyhd3deb0d_0 conda-forge/noarch/idna-3.1-pyhd3deb0d_0.tar.bz2 Cached\n", - " + krb5 1.19.2 hcc1bbae_3 conda-forge/linux-64/krb5-1.19.2-hcc1bbae_3.tar.bz2 Cached\n", - " + ld_impl_linux-64 2.36.1 hea4e1c9_2 conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2 Cached\n", - " + libarchive 3.5.2 hccf745f_1 conda-forge/linux-64/libarchive-3.5.2-hccf745f_1.tar.bz2 Cached\n", - " + libcurl 7.80.0 h2574ce0_0 conda-forge/linux-64/libcurl-7.80.0-h2574ce0_0.tar.bz2 Cached\n", - " + libedit 3.1.20191231 he28a2e2_2 conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 Cached\n", - " + libev 4.33 h516909a_1 conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2 Cached\n", - " + libffi 3.4.2 h7f98852_5 conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 Cached\n", - " + libgcc-ng 11.2.0 h1d223b6_11 conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_11.tar.bz2 Cached\n", - " + libgomp 11.2.0 h1d223b6_11 conda-forge/linux-64/libgomp-11.2.0-h1d223b6_11.tar.bz2 Cached\n", - " + libiconv 1.16 h516909a_0 conda-forge/linux-64/libiconv-1.16-h516909a_0.tar.bz2 Cached\n", - " + libmamba 0.19.0 h3985d26_0 conda-forge/linux-64/libmamba-0.19.0-h3985d26_0.tar.bz2 Cached\n", - " + libmambapy 0.19.0 py39h8bfa403_0 conda-forge/linux-64/libmambapy-0.19.0-py39h8bfa403_0.tar.bz2 Cached\n", - " + libnghttp2 1.43.0 h812cca2_1 conda-forge/linux-64/libnghttp2-1.43.0-h812cca2_1.tar.bz2 Cached\n", - " + libsolv 0.7.19 h780b84a_5 conda-forge/linux-64/libsolv-0.7.19-h780b84a_5.tar.bz2 Cached\n", - " + libssh2 1.10.0 ha56f1ee_2 conda-forge/linux-64/libssh2-1.10.0-ha56f1ee_2.tar.bz2 Cached\n", - " + libstdcxx-ng 11.2.0 he4da1e4_11 conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_11.tar.bz2 Cached\n", - " + libxml2 2.9.12 h885dcf4_1 conda-forge/linux-64/libxml2-2.9.12-h885dcf4_1.tar.bz2 Cached\n", - " + libzlib 1.2.11 h36c2ea0_1013 conda-forge/linux-64/libzlib-1.2.11-h36c2ea0_1013.tar.bz2 Cached\n", - " + lz4-c 1.9.3 h9c3ff4c_1 conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_1.tar.bz2 Cached\n", - " + lzo 2.10 h516909a_1000 conda-forge/linux-64/lzo-2.10-h516909a_1000.tar.bz2 Cached\n", - " + mamba 0.19.0 py39hfa8f2c8_0 conda-forge/linux-64/mamba-0.19.0-py39hfa8f2c8_0.tar.bz2 Cached\n", - " + ncurses 6.2 h58526e2_4 conda-forge/linux-64/ncurses-6.2-h58526e2_4.tar.bz2 Cached\n", - " + openssl 1.1.1l h7f98852_0 conda-forge/linux-64/openssl-1.1.1l-h7f98852_0.tar.bz2 Cached\n", - " + pip 21.3.1 pyhd8ed1ab_0 conda-forge/noarch/pip-21.3.1-pyhd8ed1ab_0.tar.bz2 Cached\n", - " + pybind11-abi 4 hd8ed1ab_3 conda-forge/noarch/pybind11-abi-4-hd8ed1ab_3.tar.bz2 Cached\n", - " + pycosat 0.6.3 py39h3811e60_1009 conda-forge/linux-64/pycosat-0.6.3-py39h3811e60_1009.tar.bz2 Cached\n", - " + pycparser 2.21 pyhd8ed1ab_0 conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2 Cached\n", - " + pyopenssl 21.0.0 pyhd8ed1ab_0 conda-forge/noarch/pyopenssl-21.0.0-pyhd8ed1ab_0.tar.bz2 Cached\n", - " + pysocks 1.7.1 py39hf3d152e_4 conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_4.tar.bz2 Cached\n", - " + python 3.9.7 hb7a2778_3_cpython conda-forge/linux-64/python-3.9.7-hb7a2778_3_cpython.tar.bz2 Cached\n", - " + python_abi 3.9 2_cp39 conda-forge/linux-64/python_abi-3.9-2_cp39.tar.bz2 Cached\n", - " + readline 8.1 h46c0cb4_0 conda-forge/linux-64/readline-8.1-h46c0cb4_0.tar.bz2 Cached\n", - " + reproc 14.2.3 h7f98852_0 conda-forge/linux-64/reproc-14.2.3-h7f98852_0.tar.bz2 Cached\n", - " + reproc-cpp 14.2.3 h9c3ff4c_0 conda-forge/linux-64/reproc-cpp-14.2.3-h9c3ff4c_0.tar.bz2 Cached\n", - " + requests 2.26.0 pyhd8ed1ab_1 conda-forge/noarch/requests-2.26.0-pyhd8ed1ab_1.tar.bz2 Cached\n", - " + ruamel_yaml 0.15.80 py39h3811e60_1006 conda-forge/linux-64/ruamel_yaml-0.15.80-py39h3811e60_1006.tar.bz2 Cached\n", - " + setuptools 59.4.0 py39hf3d152e_0 conda-forge/linux-64/setuptools-59.4.0-py39hf3d152e_0.tar.bz2 Cached\n", - " + six 1.16.0 pyh6c4a22f_0 conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 Cached\n", - " + sqlite 3.37.0 h9cd32fc_0 conda-forge/linux-64/sqlite-3.37.0-h9cd32fc_0.tar.bz2 Cached\n", - " + tk 8.6.11 h27826a3_1 conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2 Cached\n", - " + tqdm 4.62.3 pyhd8ed1ab_0 conda-forge/noarch/tqdm-4.62.3-pyhd8ed1ab_0.tar.bz2 Cached\n", - " + tzdata 2021e he74cb21_0 conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2 Cached\n", - " + urllib3 1.26.7 pyhd8ed1ab_0 conda-forge/noarch/urllib3-1.26.7-pyhd8ed1ab_0.tar.bz2 Cached\n", - " + wheel 0.37.0 pyhd8ed1ab_1 conda-forge/noarch/wheel-0.37.0-pyhd8ed1ab_1.tar.bz2 Cached\n", - " + xz 5.2.5 h516909a_1 conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2 Cached\n", - " + yaml 0.2.5 h516909a_0 conda-forge/linux-64/yaml-0.2.5-h516909a_0.tar.bz2 Cached\n", - " + yaml-cpp 0.6.3 he1b5a44_4 conda-forge/linux-64/yaml-cpp-0.6.3-he1b5a44_4.tar.bz2 Cached\n", - " + zlib 1.2.11 h36c2ea0_1013 conda-forge/linux-64/zlib-1.2.11-h36c2ea0_1013.tar.bz2 Cached\n", - " + zstd 1.5.0 ha95c52a_0 conda-forge/linux-64/zstd-1.5.0-ha95c52a_0.tar.bz2 Cached\n", - "\n", - " Summary:\n", - "\n", - " Install: 64 packages\n", - "\n", - " Total download: 0 B\n", - "\n", - "───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", - "\n", - "\n", - "\n", - "Transaction starting\n", - "Linking ca-certificates-2021.10.8-ha878542_0\n", - "Linking ld_impl_linux-64-2.36.1-hea4e1c9_2\n", - "Linking libstdcxx-ng-11.2.0-he4da1e4_11\n", - "Linking pybind11-abi-4-hd8ed1ab_3\n", - "Linking _libgcc_mutex-0.1-conda_forge\n", - "Linking tzdata-2021e-he74cb21_0\n", - "Linking libgomp-11.2.0-h1d223b6_11\n", - "Linking _openmp_mutex-4.5-1_gnu\n", - "Linking libgcc-ng-11.2.0-h1d223b6_11\n", - "Linking ncurses-6.2-h58526e2_4\n", - "Linking libzlib-1.2.11-h36c2ea0_1013\n", - "Linking libiconv-1.16-h516909a_0\n", - "Linking libev-4.33-h516909a_1\n", - "Linking yaml-cpp-0.6.3-he1b5a44_4\n", - "Linking yaml-0.2.5-h516909a_0\n", - "Linking xz-5.2.5-h516909a_1\n", - "Linking reproc-14.2.3-h7f98852_0\n", - "Linking openssl-1.1.1l-h7f98852_0\n", - "Linking lzo-2.10-h516909a_1000\n", - "Linking lz4-c-1.9.3-h9c3ff4c_1\n", - "Linking libffi-3.4.2-h7f98852_5\n", - "Linking icu-69.1-h9c3ff4c_0\n", - "Linking c-ares-1.18.1-h7f98852_0\n", - "Linking bzip2-1.0.8-h7f98852_4\n", - "Linking readline-8.1-h46c0cb4_0\n", - "Linking libedit-3.1.20191231-he28a2e2_2\n", - "Linking zlib-1.2.11-h36c2ea0_1013\n", - "Linking reproc-cpp-14.2.3-h9c3ff4c_0\n", - "Linking tk-8.6.11-h27826a3_1\n", - "Linking zstd-1.5.0-ha95c52a_0\n", - "Linking sqlite-3.37.0-h9cd32fc_0\n", - "Linking libxml2-2.9.12-h885dcf4_1\n", - "Linking libssh2-1.10.0-ha56f1ee_2\n", - "Linking libsolv-0.7.19-h780b84a_5\n", - "Linking libnghttp2-1.43.0-h812cca2_1\n", - "Linking krb5-1.19.2-hcc1bbae_3\n", - "Linking python-3.9.7-hb7a2778_3_cpython\n", - "Linking libarchive-3.5.2-hccf745f_1\n", - "Linking libcurl-7.80.0-h2574ce0_0\n", - "Linking python_abi-3.9-2_cp39\n", - "Linking wheel-0.37.0-pyhd8ed1ab_1\n", - "Linking libmamba-0.19.0-h3985d26_0\n", - "Linking setuptools-59.4.0-py39hf3d152e_0\n", - "Linking pip-21.3.1-pyhd8ed1ab_0\n", - "Linking six-1.16.0-pyh6c4a22f_0\n", - "Linking idna-3.1-pyhd3deb0d_0\n", - "Linking libmambapy-0.19.0-py39h8bfa403_0\n", - "Linking ruamel_yaml-0.15.80-py39h3811e60_1006\n", - "Linking pysocks-1.7.1-py39hf3d152e_4\n", - "Linking pycosat-0.6.3-py39h3811e60_1009\n", - "Linking certifi-2021.10.8-py39hf3d152e_1\n", - "Linking pycparser-2.21-pyhd8ed1ab_0\n", - "Linking colorama-0.4.4-pyh9f0ad1d_0\n", - "Linking charset-normalizer-2.0.9-pyhd8ed1ab_0\n", - "Linking cffi-1.15.0-py39h4bc2ebd_0\n", - "Linking tqdm-4.62.3-pyhd8ed1ab_0\n", - "Linking cryptography-36.0.0-py39h95dcef6_0\n", - "Linking brotlipy-0.7.0-py39h3811e60_1003\n", - "Linking conda-package-handling-1.7.3-py39h3811e60_1\n", - "Linking pyopenssl-21.0.0-pyhd8ed1ab_0\n", - "Linking urllib3-1.26.7-pyhd8ed1ab_0\n", - "Linking requests-2.26.0-pyhd8ed1ab_1\n", - "Linking conda-4.11.0-py39hf3d152e_0\n", - "Linking mamba-0.19.0-py39hfa8f2c8_0\n", - "Transaction finished\n", - "installation finished.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - " % Total % Received % Xferd Average Speed Time Time Time Current\n", - " Dload Upload Total Spent Left Speed\n", - "100 160 100 160 0 0 969 0 --:--:-- --:--:-- --:--:-- 969\n", - "100 665 100 665 0 0 2224 0 --:--:-- --:--:-- --:--:-- 2224\n", - "100 102M 100 102M 0 0 14.3M 0 0:00:07 0:00:07 --:--:-- 14.4M\n", - "bash: line 7: !cp: command not found\n" - ] - } - ], "source": [ - "%%bash\n", - "\n", - "#install Mamba\n", - "curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh\n", - "bash Mambaforge-$(uname)-$(uname -m).sh -b -p $HOME/mambaforge\n", - "rm Mamba*" + "## Learning objectives\n", + "+ Download genomic data from NCBI from the commnd line\n", + "+ Run pangolin to identify viral lineages\n", + "+ Generate a phylogeny to visualize lineage identity" ] }, { - "cell_type": "code", - "execution_count": 20, - "id": "a40f7ebc", + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "#move mamba executable to your path\n", - "!cp ~/mambaforge/bin/mamba /home/ec2-user/anaconda3/condabin" + "## Get started" ] }, { - "cell_type": "code", - "execution_count": 21, - "id": "f421805e", + "cell_type": "markdown", + "id": "03541941", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: biopython in /home/ec2-user/anaconda3/envs/amazonei_mxnet_p36/lib/python3.6/site-packages (1.79)\n", - "Requirement already satisfied: numpy in /home/ec2-user/anaconda3/envs/amazonei_mxnet_p36/lib/python3.6/site-packages (from biopython) (1.19.5)\n", - "\u001b[33mWARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.\n", - "You should consider upgrading via the '/home/ec2-user/anaconda3/envs/amazonei_mxnet_p36/bin/python -m pip install --upgrade pip' command.\u001b[0m\n" - ] - } - ], "source": [ - "#install biopython to import packages below\n", - "!pip install biopython" + "### Install packages" ] }, { "cell_type": "code", - "execution_count": 41, - "id": "fd936fd6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collecting package metadata (current_repodata.json): done\n", - "Solving environment: - \n", - "The environment is inconsistent, please check the package plan carefully\n", - "The following packages are causing the inconsistency:\n", - "\n", - " - conda-forge/noarch::seaborn-base==0.11.1=pyhd8ed1ab_1\n", - " - conda-forge/noarch::nbclassic==0.2.6=pyhd8ed1ab_0\n", - " - conda-forge/noarch::typing-extensions==3.7.4.3=0\n", - " - conda-forge/linux-64::pluggy==0.13.1=py36h5fab9bb_4\n", - " - conda-forge/linux-64::blaze==0.11.3=py36_0\n", - " - conda-forge/linux-64::matplotlib==3.3.4=py36h5fab9bb_0\n", - " - conda-forge/noarch::python-language-server==0.36.2=pyhd8ed1ab_0\n", - " - conda-forge/noarch::jupyterlab_server==2.3.0=pyhd8ed1ab_0\n", - " - conda-forge/noarch::pyls-black==0.4.6=pyh9f0ad1d_0\n", - " - conda-forge/linux-64::scikit-image==0.16.2=py36hb3f55d8_0\n", - " - conda-forge/noarch::path.py==12.5.0=0\n", - " - conda-forge/noarch::qdarkstyle==2.8.1=pyhd8ed1ab_2\n", - " - conda-forge/noarch::ipywidgets==7.6.3=pyhd3deb0d_0\n", - " - conda-forge/noarch::black==20.8b1=py_1\n", - " - conda-forge/linux-64::anyio==2.1.0=py36h5fab9bb_0\n", - " - conda-forge/linux-64::jupyter_server==1.4.1=py36h5fab9bb_0\n", - " - conda-forge/noarch::nbclient==0.5.2=pyhd8ed1ab_0\n", - " - conda-forge/linux-64::widgetsnbextension==3.5.1=py36h5fab9bb_4\n", - " - conda-forge/linux-64::bokeh==2.2.3=py36h5fab9bb_0\n", - " - conda-forge/linux-64::keyring==22.0.1=py36h5fab9bb_0\n", - " - conda-forge/linux-64::nbconvert==6.0.7=py36h5fab9bb_3\n", - " - conda-forge/noarch::numpydoc==1.1.0=py_1\n", - " - conda-forge/linux-64::spyder==4.2.0=py36h5fab9bb_0\n", - " - conda-forge/noarch::flake8==3.8.4=py_0\n", - " - conda-forge/noarch::pyls-spyder==0.3.2=pyhd8ed1ab_0\n", - " - conda-forge/noarch::nbformat==5.1.2=pyhd8ed1ab_1\n", - " - conda-forge/noarch::importlib_metadata==3.6.0=hd8ed1ab_0\n", - " - conda-forge/noarch::aioitertools==0.7.1=pyhd8ed1ab_0\n", - " - conda-forge/noarch::jupyterlab_launcher==0.13.1=py_2\n", - " - conda-forge/noarch::odo==0.5.1=py_1\n", - " - conda-forge/noarch::imageio==2.9.0=py_0\n", - " - conda-forge/noarch::helpdev==0.7.1=pyhd8ed1ab_0\n", - " - conda-forge/linux-64::path==15.1.2=py36h5fab9bb_0\n", - " - conda-forge/noarch::jsonschema==3.2.0=py_2\n", - " - conda-forge/linux-64::yarl==1.6.3=py36h8f6f2f9_1\n", - " - conda-forge/noarch::sphinx==3.5.1=pyhd8ed1ab_0\n", - " - conda-forge/noarch::seaborn==0.11.1=hd8ed1ab_1\n", - " - conda-forge/linux-64::jupyter==1.0.0=py36h5fab9bb_6\n", - " - conda-forge/linux-64::nb_conda==2.2.1=py36h5fab9bb_4\n", - " - conda-forge/noarch::dask==2021.2.0=pyhd8ed1ab_0\n", - " - conda-forge/linux-64::matplotlib-base==3.3.4=py36hd391965_0\n", - " - conda-forge/noarch::anaconda-client==1.7.2=py_0\n", - " - conda-forge/noarch::anaconda-project==0.9.1=pyhd8ed1ab_0\n", - " - conda-forge/linux-64::importlib-metadata==3.6.0=py36h5fab9bb_0\n", - " - conda-forge/linux-64::pytest==6.2.2=py36h5fab9bb_0\n", - "failed with initial frozen solve. Retrying with flexible solve.\n", - "Collecting package metadata (repodata.json): done\n", - "Solving environment: - \n", - "The environment is inconsistent, please check the package plan carefully\n", - "The following packages are causing the inconsistency:\n", - "\n", - " - conda-forge/noarch::seaborn-base==0.11.1=pyhd8ed1ab_1\n", - " - conda-forge/noarch::nbclassic==0.2.6=pyhd8ed1ab_0\n", - " - conda-forge/noarch::typing-extensions==3.7.4.3=0\n", - " - conda-forge/linux-64::pluggy==0.13.1=py36h5fab9bb_4\n", - " - conda-forge/linux-64::blaze==0.11.3=py36_0\n", - " - conda-forge/linux-64::matplotlib==3.3.4=py36h5fab9bb_0\n", - " - conda-forge/noarch::python-language-server==0.36.2=pyhd8ed1ab_0\n", - " - conda-forge/noarch::jupyterlab_server==2.3.0=pyhd8ed1ab_0\n", - " - conda-forge/noarch::pyls-black==0.4.6=pyh9f0ad1d_0\n", - " - conda-forge/linux-64::scikit-image==0.16.2=py36hb3f55d8_0\n", - " - conda-forge/noarch::path.py==12.5.0=0\n", - " - conda-forge/noarch::qdarkstyle==2.8.1=pyhd8ed1ab_2\n", - " - conda-forge/noarch::ipywidgets==7.6.3=pyhd3deb0d_0\n", - " - conda-forge/noarch::black==20.8b1=py_1\n", - " - conda-forge/linux-64::anyio==2.1.0=py36h5fab9bb_0\n", - " - conda-forge/linux-64::jupyter_server==1.4.1=py36h5fab9bb_0\n", - " - conda-forge/noarch::nbclient==0.5.2=pyhd8ed1ab_0\n", - " - conda-forge/linux-64::widgetsnbextension==3.5.1=py36h5fab9bb_4\n", - " - conda-forge/linux-64::bokeh==2.2.3=py36h5fab9bb_0\n", - " - conda-forge/linux-64::keyring==22.0.1=py36h5fab9bb_0\n", - " - conda-forge/linux-64::nbconvert==6.0.7=py36h5fab9bb_3\n", - " - conda-forge/noarch::numpydoc==1.1.0=py_1\n", - " - conda-forge/linux-64::spyder==4.2.0=py36h5fab9bb_0\n", - " - conda-forge/noarch::flake8==3.8.4=py_0\n", - " - conda-forge/noarch::pyls-spyder==0.3.2=pyhd8ed1ab_0\n", - " - conda-forge/noarch::nbformat==5.1.2=pyhd8ed1ab_1\n", - " - conda-forge/noarch::importlib_metadata==3.6.0=hd8ed1ab_0\n", - " - conda-forge/noarch::aioitertools==0.7.1=pyhd8ed1ab_0\n", - " - conda-forge/noarch::jupyterlab_launcher==0.13.1=py_2\n", - " - conda-forge/noarch::odo==0.5.1=py_1\n", - " - conda-forge/noarch::imageio==2.9.0=py_0\n", - " - conda-forge/noarch::helpdev==0.7.1=pyhd8ed1ab_0\n", - " - conda-forge/linux-64::path==15.1.2=py36h5fab9bb_0\n", - " - conda-forge/noarch::jsonschema==3.2.0=py_2\n", - " - conda-forge/linux-64::yarl==1.6.3=py36h8f6f2f9_1\n", - " - conda-forge/noarch::sphinx==3.5.1=pyhd8ed1ab_0\n", - " - conda-forge/noarch::seaborn==0.11.1=hd8ed1ab_1\n", - " - conda-forge/linux-64::jupyter==1.0.0=py36h5fab9bb_6\n", - " - conda-forge/linux-64::nb_conda==2.2.1=py36h5fab9bb_4\n", - " - conda-forge/noarch::dask==2021.2.0=pyhd8ed1ab_0\n", - " - conda-forge/linux-64::matplotlib-base==3.3.4=py36hd391965_0\n", - " - conda-forge/noarch::anaconda-client==1.7.2=py_0\n", - " - conda-forge/noarch::anaconda-project==0.9.1=pyhd8ed1ab_0\n", - " - conda-forge/linux-64::importlib-metadata==3.6.0=py36h5fab9bb_0\n", - " - conda-forge/linux-64::pytest==6.2.2=py36h5fab9bb_0\n", - "done\n", - "\n", - "\n", - "==> WARNING: A newer version of conda exists. <==\n", - " current version: 4.8.4\n", - " latest version: 4.11.0\n", - "\n", - "Please update conda by running\n", - "\n", - " $ conda update -n base -c defaults conda\n", - "\n", - "\n", - "\n", - "## Package Plan ##\n", - "\n", - " environment location: /home/ec2-user/anaconda3/envs/amazonei_mxnet_p36\n", - "\n", - " added / updated specs:\n", - " - ipyrad\n", - "\n", - "\n", - "The following packages will be downloaded:\n", - "\n", - " package | build\n", - " ---------------------------|-----------------\n", - " astroid-2.7.3 | py36h5fab9bb_0 330 KB conda-forge\n", - " bedtools-2.30.0 | h7d7f7ad_1 17.9 MB bioconda\n", - " cutadapt-3.4 | py36hc5360cc_1 197 KB bioconda\n", - " dataclasses-0.8 | pyh787bdff_2 22 KB conda-forge\n", - " dnaio-0.5.1 | py36hc5360cc_0 137 KB bioconda\n", - " flask-cors-3.0.10 | pyhd8ed1ab_0 15 KB conda-forge\n", - " fsspec-2021.11.1 | pyhd8ed1ab_0 91 KB conda-forge\n", - " htslib-1.11 | hd3b49d5_1 1.7 MB bioconda\n", - " jupyter_console-5.2.0 | py36_1 34 KB conda-forge\n", - " libdeflate-1.6 | h516909a_0 60 KB conda-forge\n", - " mpi4py-3.0.3 | py36he1a1962_7 696 KB conda-forge\n", - " notebook-6.3.0 | py36h5fab9bb_0 6.3 MB conda-forge\n", - " perl-5.32.1 | 0_h7f98852_perl5 14.5 MB conda-forge\n", - " pillow-8.2.0 | py36ha6010c0_1 688 KB conda-forge\n", - " platformdirs-2.3.0 | pyhd8ed1ab_0 14 KB conda-forge\n", - " pylint-2.10.2 | pyhd8ed1ab_0 255 KB conda-forge\n", - " pysam-0.16.0.1 | py36h4c34d4e_1 2.5 MB bioconda\n", - " python-isal-0.11.0 | py36h8f6f2f9_0 136 KB conda-forge\n", - " reportlab-3.5.68 | py36h3e18861_0 2.4 MB conda-forge\n", - " samtools-1.11 | h6270b1f_0 383 KB bioconda\n", - " typing_extensions-3.7.4.3 | py_0 25 KB conda-forge\n", - " vsearch-2.17.1 | h95f258a_0 1.4 MB bioconda\n", - " xopen-1.2.0 | py36h5fab9bb_0 22 KB conda-forge\n", - " ------------------------------------------------------------\n", - " Total: 49.7 MB\n", - "\n", - "The following NEW packages will be INSTALLED:\n", - "\n", - " arrow conda-forge/noarch::arrow-1.2.1-pyhd8ed1ab_0\n", - " astroid conda-forge/linux-64::astroid-2.7.3-py36h5fab9bb_0\n", - " bedtools bioconda/linux-64::bedtools-2.30.0-h7d7f7ad_1\n", - " bwa bioconda/linux-64::bwa-0.7.17-h5bf99c6_8\n", - " charset-normalizer conda-forge/noarch::charset-normalizer-2.0.9-pyhd8ed1ab_0\n", - " colorama conda-forge/noarch::colorama-0.4.4-pyh9f0ad1d_0\n", - " custom-inherit conda-forge/noarch::custom-inherit-2.4.0-pyhd8ed1ab_0\n", - " cutadapt bioconda/linux-64::cutadapt-3.4-py36hc5360cc_1\n", - " dataclasses conda-forge/noarch::dataclasses-0.8-pyh787bdff_2\n", - " dnaio bioconda/linux-64::dnaio-0.5.1-py36hc5360cc_0\n", - " docutils conda-forge/linux-64::docutils-0.16-py36h5fab9bb_3\n", - " flask-cors conda-forge/noarch::flask-cors-3.0.10-pyhd8ed1ab_0\n", - " fsspec conda-forge/noarch::fsspec-2021.11.1-pyhd8ed1ab_0\n", - " htslib bioconda/linux-64::htslib-1.11-hd3b49d5_1\n", - " ipyrad bioconda/noarch::ipyrad-0.9.81-pyh5e36f6f_0\n", - " isa-l conda-forge/linux-64::isa-l-2.30.0-ha770c72_4\n", - " jupyter_console conda-forge/linux-64::jupyter_console-5.2.0-py36_1\n", - " libdeflate conda-forge/linux-64::libdeflate-1.6-h516909a_0\n", - " mpi conda-forge/linux-64::mpi-1.0-openmpi\n", - " mpi4py conda-forge/linux-64::mpi4py-3.0.3-py36he1a1962_7\n", - " muscle bioconda/linux-64::muscle-3.8.1551-h7d875b9_6\n", - " notebook conda-forge/linux-64::notebook-6.3.0-py36h5fab9bb_0\n", - " openjpeg conda-forge/linux-64::openjpeg-2.4.0-hb52868f_1\n", - " openmpi conda-forge/linux-64::openmpi-4.1.1-hbfc84c5_0\n", - " pbzip2 conda-forge/linux-64::pbzip2-1.1.13-0\n", - " perl conda-forge/linux-64::perl-5.32.1-0_h7f98852_perl5\n", - " pigz conda-forge/linux-64::pigz-2.6-h27826a3_0\n", - " pillow conda-forge/linux-64::pillow-8.2.0-py36ha6010c0_1\n", - " platformdirs conda-forge/noarch::platformdirs-2.3.0-pyhd8ed1ab_0\n", - " pylint conda-forge/noarch::pylint-2.10.2-pyhd8ed1ab_0\n", - " pypng conda-forge/noarch::pypng-0.0.20-py_0\n", - " pysam bioconda/linux-64::pysam-0.16.0.1-py36h4c34d4e_1\n", - " python-isal conda-forge/linux-64::python-isal-0.11.0-py36h8f6f2f9_0\n", - " reportlab conda-forge/linux-64::reportlab-3.5.68-py36h3e18861_0\n", - " requests conda-forge/noarch::requests-2.26.0-pyhd8ed1ab_1\n", - " samtools bioconda/linux-64::samtools-1.11-h6270b1f_0\n", - " toyplot conda-forge/noarch::toyplot-0.19.0-pyh9f0ad1d_0\n", - " typing_extensions conda-forge/noarch::typing_extensions-3.7.4.3-py_0\n", - " urllib3 conda-forge/noarch::urllib3-1.26.7-pyhd8ed1ab_0\n", - " vsearch bioconda/linux-64::vsearch-2.17.1-h95f258a_0\n", - " xopen conda-forge/linux-64::xopen-1.2.0-py36h5fab9bb_0\n", - "\n", - "The following packages will be DOWNGRADED:\n", - "\n", - " libgcc-ng 11.2.0-h1d223b6_11 --> 9.3.0-h2828fa1_18\n", - " libgomp 11.2.0-h1d223b6_11 --> 9.3.0-h2828fa1_18\n", - " openssl 1.1.1l-h7f98852_0 --> 1.1.1k-h7f98852_0\n", - "\n", - "\n", - "\n", - "Downloading and Extracting Packages\n", - "reportlab-3.5.68 | 2.4 MB | ##################################### | 100% \n", - "dnaio-0.5.1 | 137 KB | ##################################### | 100% \n", - "htslib-1.11 | 1.7 MB | ##################################### | 100% \n", - "cutadapt-3.4 | 197 KB | ##################################### | 100% \n", - "libdeflate-1.6 | 60 KB | ##################################### | 100% \n", - "flask-cors-3.0.10 | 15 KB | ##################################### | 100% \n", - "typing_extensions-3. | 25 KB | ##################################### | 100% \n", - "samtools-1.11 | 383 KB | ##################################### | 100% \n", - "fsspec-2021.11.1 | 91 KB | ##################################### | 100% \n", - "bedtools-2.30.0 | 17.9 MB | ##################################### | 100% \n", - "perl-5.32.1 | 14.5 MB | ##################################### | 100% \n", - "python-isal-0.11.0 | 136 KB | ##################################### | 100% \n", - "dataclasses-0.8 | 22 KB | ##################################### | 100% \n", - "pillow-8.2.0 | 688 KB | ##################################### | 100% \n", - "astroid-2.7.3 | 330 KB | ##################################### | 100% \n", - "pylint-2.10.2 | 255 KB | ##################################### | 100% \n", - "pysam-0.16.0.1 | 2.5 MB | ##################################### | 100% \n", - "vsearch-2.17.1 | 1.4 MB | ##################################### | 100% \n", - "jupyter_console-5.2. | 34 KB | ##################################### | 100% \n", - "xopen-1.2.0 | 22 KB | ##################################### | 100% \n", - "mpi4py-3.0.3 | 696 KB | ##################################### | 100% \n", - "platformdirs-2.3.0 | 14 KB | ##################################### | 100% \n", - "notebook-6.3.0 | 6.3 MB | ##################################### | 100% \n", - "Preparing transaction: done\n", - "Verifying transaction: done\n", - "Executing transaction: - \n", - "For Linux 64, Open MPI is built with CUDA awareness but this support is disabled by default.\n", - "To enable it, please set the environment variable OMPI_MCA_opal_cuda_support=true before\n", - "launching your MPI processes. Equivalently, you can set the MCA parameter in the command line:\n", - "mpiexec --mca opal_cuda_support 1 ...\n", - " \n", - "In addition, the UCX support is also built but disabled by default.\n", - "To enable it, first install UCX (conda install -c conda-forge ucx). Then, set the environment\n", - "variables OMPI_MCA_pml=\"ucx\" OMPI_MCA_osc=\"ucx\" before launching your MPI processes.\n", - "Equivalently, you can set the MCA parameters in the command line:\n", - "mpiexec --mca pml ucx --mca osc ucx ...\n", - "Note that you might also need to set UCX_MEMTYPE_CACHE=n for CUDA awareness via UCX.\n", - "Please consult UCX's documentation for detail.\n", - " \n", - "\n", - "done\n" - ] - } - ], - "source": [ - "!conda install ipyrad -y -c conda-forge -c bioconda" - ] - }, - { - "cell_type": "markdown", - "id": "2d0f27ee", + "execution_count": null, + "id": "f994b990", "metadata": {}, + "outputs": [], "source": [ - "Now we want to create a conda/mamba env that has all of our necessary dependencies" + "#change this depending on how many threads are available in your notebook\n", + "CPU=4" ] }, { "cell_type": "code", - "execution_count": 23, - "id": "4ba6fae7", + "execution_count": null, + "id": "a19b662e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "name: pangolin\n", - "channels:\n", - " - bioconda\n", - " - conda-forge\n", - " - defaults\n", - " - eaton-lab\n", - " \n", - "dependencies:\n", - " - sra-tools\n", - " - ipyrad\n", - " - toytree\n", - " - pangolin\n", - " - iqtree\n" - ] - } - ], + "outputs": [], "source": [ - "#you can look at the yaml file that specifies which programs we want to install\n", - "#you can also specify specific versions, here we just use the latest conda versionå\n", - "#for example, - sra-tools=2.11.0\n", - "!cat pangolin.yaml" + "! curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh\n", + "! bash Mambaforge-$(uname)-$(uname -m).sh -b -p $HOME/mambaforge" ] }, { "cell_type": "code", - "execution_count": 25, - "id": "49a20dc5", + "execution_count": null, + "id": "a40f7ebc", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "usage: mamba [-h] {create,export,list,remove,update,config} ...\n", - "mamba: error: unrecognized arguments: -y\n" - ] - } - ], + "outputs": [], "source": [ - "#create the environment. Here we use mamba because it is faster than conda\n", - "!mamba env create -f pangolin.yaml -y" + "#add to your path\n", + "import os\n", + "os.environ[\"PATH\"] += os.pathsep + os.environ[\"HOME\"]+\"/mambaforge/bin\"" ] }, { "cell_type": "code", - "execution_count": 33, - "id": "fd23abbd", + "execution_count": null, + "id": "f421805e", "metadata": {}, "outputs": [], "source": [ - "#give it the whole path to the env because otherwise it can't find the env\n", - "#if you want to play with it add a cell and type 'conda activate pangolin' \n", - "#or 'source activate pangolin'\n", - "!source activate /home/ec2-user/mambaforge/envs/pangolin\n", - "#!mamba info --envs" + "#install biopython to import packages below\n", + "! pip install biopython" ] }, { "cell_type": "code", - "execution_count": 35, - "id": "96dd7966", + "execution_count": null, + "id": "fd936fd6", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - " __ __ __ __\n", - " / \\ / \\ / \\ / \\\n", - " / \\/ \\/ \\/ \\\n", - "███████████████/ /██/ /██/ /██/ /████████████████████████\n", - " / / \\ / \\ / \\ / \\ \\____\n", - " / / \\_/ \\_/ \\_/ \\ o \\__,\n", - " / _/ \\_____/ `\n", - " |/\n", - " ███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗\n", - " ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗\n", - " ██╔████╔██║███████║██╔████╔██║██████╔╝███████║\n", - " ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║\n", - " ██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║\n", - " ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝\n", - "\n", - " mamba (0.19.0) supported by @QuantStack\n", - "\n", - " GitHub: https://github.com/mamba-org/mamba\n", - " Twitter: https://twitter.com/QuantStack\n", - "\n", - "█████████████████████████████████████████████████████████████\n", - "\n", - "\n", - "Looking for: ['iqtree']\n", - "\n", - "bioconda/linux-64 Using cache\n", - "bioconda/noarch Using cache\n", - "conda-forge/linux-64 Using cache\n", - "conda-forge/noarch Using cache\n", - "pkgs/main/linux-64 Using cache\n", - "pkgs/main/noarch Using cache\n", - "pkgs/r/linux-64 Using cache\n", - "pkgs/r/noarch Using cache\n", - "\n", - "Pinned packages:\n", - " - python 3.6.*\n", - "\n", - "\n", - "Transaction\n", - "\n", - " Prefix: /home/ec2-user/anaconda3/envs/amazonei_mxnet_p36\n", - "\n", - " All requested packages already installed\n", - "\n" - ] - } - ], + "outputs": [], "source": [ - "!mamba install -c bioconda iqtree -y" + "! mamba install ipyrad iqtree -c conda-forge -c bioconda" ] }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "id": "5a99cf0d", "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'ipyrad'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mBio\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mSeqIO\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mBio\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mEntrez\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mipyrad\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0manalysis\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mipa\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mtoytree\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'ipyrad'" - ] - } - ], + "outputs": [], "source": [ "#import libraries\n", "import os\n", @@ -825,33 +121,14 @@ }, { "cell_type": "markdown", - "id": "dc694629", "metadata": {}, "source": [ - "### Set up your directory structure and remove files from previous runs if they exist" + "### Set up directory structure" ] }, { "cell_type": "code", - "execution_count": 28, - "id": "0f0e81f3", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/home/jupyter/cloud-lab-training/GCP/notebooks/pangolin\n" - ] - } - ], - "source": [ - "cd /home/jupyter/cloud-lab-training/GCP/notebooks/pangolin/" - ] - }, - { - "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "8f831fca", "metadata": {}, "outputs": [], @@ -863,19 +140,10 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "6423ca5d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "rm: cannot remove 'sarscov2_*': No such file or directory\n", - "rm: cannot remove 'lineage_report.csv': No such file or directory\n" - ] - } - ], + "outputs": [], "source": [ "if os.path.exists('sarscov2_sequences.fasta'):\n", " os.remove('sarscov2_sequences.fasta')\n", @@ -893,18 +161,10 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "16824bcf", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "the number of sequences we will analyze = 18\n" - ] - } - ], + "outputs": [], "source": [ "#give a list of accession number for covid sequences\n", "acc_nums=['NC_045512','LR757995','LR757996','OL698718','OL677199','OL672836','MZ914912','MZ916499','MZ908464','MW580573','MW580574','MW580576','MW991906','MW931310','MW932027','MW424864','MW453109','MW453110']\n", @@ -921,35 +181,10 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "a28a7122", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Saved NC_045512\n", - "Saved LR757995\n", - "Saved LR757996\n", - "Saved OL698718\n", - "Saved OL677199\n", - "Saved OL672836\n", - "Saved MZ914912\n", - "Saved MZ916499\n", - "Saved MZ908464\n", - "Saved MW580573\n", - "Saved MW580574\n", - "Saved MW580576\n", - "Saved MW991906\n", - "Saved MW931310\n", - "Saved MW932027\n", - "Saved MW424864\n", - "Saved MW453109\n", - "Saved MW453110\n" - ] - } - ], + "outputs": [], "source": [ "#use the bio.entrez toolkit within biopython to download the accession numbers\n", "#save those sequences to a single fasta file\n", @@ -970,51 +205,25 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "56acb7cc", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "the number of seqs in our fasta file: \n", - "18\n" - ] - } - ], + "outputs": [], "source": [ "#make sure our fasta file has the same number of seqs as the acc_nums list\n", "print('the number of seqs in our fasta file: ')\n", - "!grep '>' sarscov2_seqs.fasta | wc -l" + "! grep '>' sarscov2_seqs.fasta | wc -l" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "8606c352", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - ">NC_045512.2 Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome\n", - "ATTAAAGGTTTATACCTTCCCAGGTAACAAACCAACCAACTTTCGATCTCTTGTAGATCTGTTCTCTAAA\n", - "CGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAAC\n", - "TAATTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGTTTCGTCCGTG\n", - "TTGCAGCCGATCATCAGCACATCTAGGTTTCGTCCGGGTGTGACCGAAAGGTAAGATGGAGAGCCTTGTC\n", - "CCTGGTTTCAACGAGAAAACACACGTCCAACTCAGTTTGCCTGTTTTACAGGTTCGCGACGTGCTCGTAC\n", - "GTGGCTTTGGAGACTCCGTGGAGGAGGTCTTATCAGAGGCACGTCAACATCTTAAAGATGGCACTTGTGG\n", - "CTTAGTAGAAGTTGAAAAAGGCGTTTTGCCTCAACTTGAACAGCCCTATGTGTTCATCAAACGTTCGGAT\n", - "GCTCGAACTGCACCTCATGGTCATGTTATGGTTGAGCTGGTAGCAGAACTCGAAGGCATTCAGTACGGTC\n", - "GTAGTGGTGAGACACTTGGTGTCCTTGTCCCTCATGTGGGCGAAATACCAGTGGCTTACCGCAAGGTTCT\n" - ] - } - ], + "outputs": [], "source": [ "#let's peek at our new fasta file\n", - "!head sarscov2_seqs.fasta" + "! head sarscov2_seqs.fasta" ] }, { @@ -1030,49 +239,12 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "f1a17a74", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[32mAll dependencies satisfied.\u001b[0m\n", - "\u001b[32mThe query file is:\u001b[0m/home/jupyter/cloud-lab-training/GCP/notebooks/pangolin/pangolin_analysis/sarscov2_seqs.fasta\n", - "\u001b[32m** Running sequence QC **\u001b[0m\n", - "\u001b[32mNumber of sequences detected: \u001b[0m18\n", - "\u001b[32mTotal passing QC: \u001b[0m18\n", - "\u001b[32m\n", - "Data files found:\u001b[0m\n", - "Trained model:\t/opt/conda/lib/python3.7/site-packages/pangoLEARN/data/decisionTree_v1.joblib\n", - "Header file:\t/opt/conda/lib/python3.7/site-packages/pangoLEARN/data/decisionTreeHeaders_v1.joblib\n", - "Designated hash:\t/opt/conda/lib/python3.7/site-packages/pangoLEARN/data/lineages.hash.csv\n", - "\u001b[33mJob stats:\n", - "job count min threads max threads\n", - "-------------------- ------- ------------- -------------\n", - "add_failed_seqs 1 1 1\n", - "align_to_reference 1 1 1\n", - "all 1 1 1\n", - "generate_report 1 1 1\n", - "get_constellations 1 1 1\n", - "hash_sequence_assign 1 1 1\n", - "pangolearn 1 1 1\n", - "scorpio 1 4 4\n", - "total 8 1 4\n", - "\u001b[0m\n", - "loading model 12/04/2021, 00:00:50\n", - "/opt/conda/lib/python3.7/site-packages/sklearn/base.py:334: UserWarning: Trying to unpickle estimator DecisionTreeClassifier from version 0.24.2 when using version 0.23.1. This might lead to breaking code or invalid results. Use at your own risk.\n", - " UserWarning)\n", - "processing block of 6 sequences 12/04/2021, 00:00:51\n", - "complete 12/04/2021, 00:00:51\n", - "\u001b[32mOutput file written to: \u001b[0m/home/jupyter/cloud-lab-training/GCP/notebooks/pangolin/pangolin_analysis/lineage_report.csv\n", - "\u001b[32mOutput alignment written to: \u001b[0m/home/jupyter/cloud-lab-training/GCP/notebooks/pangolin/pangolin_analysis/sequences.aln.fasta\n" - ] - } - ], + "outputs": [], "source": [ - "!pangolin sarscov2_seqs.fasta --alignment --threads $CPU" + "! pangolin sarscov2_seqs.fasta --alignment --threads $CPU" ] }, { @@ -1094,144 +266,13 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "f2782855", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "IQ-TREE multicore version 2.1.4-beta COVID-edition for Linux 64-bit built Jun 24 2021\n", - "Developed by Bui Quang Minh, James Barbetti, Nguyen Lam Tung,\n", - "Olga Chernomor, Heiko Schmidt, Dominik Schrempf, Michael Woodhams.\n", - "\n", - "Host: cloud-lab-notebook (AVX2, FMA3, 14 GB RAM)\n", - "Command: iqtree -s sequences.aln.fasta -nt 4 -m HKY --prefix sarscov2_tree --redo-tree\n", - "Seed: 719057 (Using SPRNG - Scalable Parallel Random Number Generator)\n", - "Time: Fri Dec 3 23:53:05 2021\n", - "Kernel: AVX+FMA - 4 threads (4 CPU cores detected)\n", - "\n", - "Reading alignment file sequences.aln.fasta ... Fasta format detected\n", - "Alignment most likely contains DNA/RNA sequences\n", - "WARNING: 494 sites contain only gaps or ambiguous characters.\n", - "Alignment has 18 sequences with 29903 columns, 193 distinct patterns\n", - "109 parsimony-informative, 33 singleton sites, 29761 constant sites\n", - "WARNING: Some sequence names are changed as follows:\n", - "LR757995.1_Severe_acute_respiratory_syndrome_coronavirus_2_genome_assembly__chromosome:_whole_genome -> LR757995.1_Severe_acute_respiratory_syndrome_coronavirus_2_genome_assembly__chromosome__whole_genome\n", - "LR757996.1_Severe_acute_respiratory_syndrome_coronavirus_2_genome_assembly__chromosome:_whole_genome -> LR757996.1_Severe_acute_respiratory_syndrome_coronavirus_2_genome_assembly__chromosome__whole_genome\n", - "OL698718.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MN-MDH-18236/2021_ORF1ab_polyprotein_(ORF1ab)__ORF1a_polyprotein_(ORF1ab)__surface_glycoprotein_(S)__ORF3a_protein_(ORF3a)__envelope_protein_(E)__membrane_glycoprotein_(M)__ORF6_protein_(ORF6)__ORF7a_protein_(ORF7a)__ORF7b_(ORF7b)__ORF8_protein_(ORF8)__nucleocapsid_phosphoprotein_(N)__and_ORF10_protein_(ORF10)_genes__complete_cds -> OL698718.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MN-MDH-18236/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds\n", - "OL677199.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/CAN/ON-NML-249359/2021_ORF1ab_polyprotein_(ORF1ab)__ORF1a_polyprotein_(ORF1ab)__surface_glycoprotein_(S)__ORF3a_protein_(ORF3a)__envelope_protein_(E)__membrane_glycoprotein_(M)__ORF6_protein_(ORF6)__and_ORF7a_protein_(ORF7a)_genes__complete_cds;_ORF7b_gene__complete_sequence;_and_ORF8_protein_(ORF8)__nucleocapsid_phosphoprotein_(N)__and_ORF10_protein_(ORF10)_genes__complete_cds -> OL677199.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/CAN/ON-NML-249359/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___and_ORF7a_protein__ORF7a__genes__complete_cds__ORF7b_gene__complete_sequence__and_ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds\n", - "MZ914912.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG796484/2020_ORF1ab_polyprotein_(ORF1ab)__ORF1a_polyprotein_(ORF1ab)__surface_glycoprotein_(S)__ORF3a_protein_(ORF3a)__envelope_protein_(E)__membrane_glycoprotein_(M)__ORF6_protein_(ORF6)__ORF7a_protein_(ORF7a)__ORF7b_(ORF7b)__ORF8_protein_(ORF8)__nucleocapsid_phosphoprotein_(N)__and_ORF10_protein_(ORF10)_genes__complete_cds -> MZ914912.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG796484/2020_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds\n", - "MZ916499.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG841289/2020_ORF1ab_polyprotein_(ORF1ab)_and_ORF1a_polyprotein_(ORF1ab)_genes__partial_cds;_and_surface_glycoprotein_(S)__ORF3a_protein_(ORF3a)__envelope_protein_(E)__membrane_glycoprotein_(M)__ORF6_protein_(ORF6)__ORF7a_protein_(ORF7a)__ORF7b_(ORF7b)__ORF8_protein_(ORF8)__nucleocapsid_phosphoprotein_(N)__and_ORF10_protein_(ORF10)_genes__complete_cds -> MZ916499.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG841289/2020_ORF1ab_polyprotein__ORF1ab__and_ORF1a_polyprotein__ORF1ab__genes__partial_cds__and_surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds\n", - "MZ908464.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG769681/2020_ORF1ab_polyprotein_(ORF1ab)__ORF1a_polyprotein_(ORF1ab)__surface_glycoprotein_(S)__ORF3a_protein_(ORF3a)__envelope_protein_(E)__membrane_glycoprotein_(M)__and_ORF6_protein_(ORF6)_genes__complete_cds;_ORF7a_protein_(ORF7a)_and_ORF7b_(ORF7b)_genes__partial_cds;_and_ORF8_protein_(ORF8)__nucleocapsid_phosphoprotein_(N)__and_ORF10_protein_(ORF10)_genes__complete_cds -> MZ908464.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG769681/2020_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___and_ORF6_protein__ORF6__genes__complete_cds__ORF7a_protein__ORF7a__and_ORF7b__ORF7b__genes__partial_cds__and_ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds\n", - "MW580573.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MD-MDH-0830/2021_ORF1ab_polyprotein_(ORF1ab)__ORF1a_polyprotein_(ORF1ab)__surface_glycoprotein_(S)__ORF3a_protein_(ORF3a)__envelope_protein_(E)__membrane_glycoprotein_(M)__ORF6_protein_(ORF6)__ORF7a_protein_(ORF7a)__ORF7b_(ORF7b)__ORF8_protein_(ORF8)__nucleocapsid_phosphoprotein_(N)__and_ORF10_protein_(ORF10)_genes__complete_cds -> MW580573.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MD-MDH-0830/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds\n", - "MW991906.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-CDC-FG-021330/2021_ORF1ab_polyprotein_(ORF1ab)_and_ORF1a_polyprotein_(ORF1ab)_genes__partial_cds;_surface_glycoprotein_(S)__ORF3a_protein_(ORF3a)__envelope_protein_(E)__membrane_glycoprotein_(M)__ORF6_protein_(ORF6)__ORF7a_protein_(ORF7a)__and_ORF7b_(ORF7b)_genes__complete_cds;_ORF8_gene__complete_sequence;_and_nucleocapsid_phosphoprotein_(N)_and_ORF10_protein_(ORF10)_genes__complete_cds -> MW991906.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-CDC-FG-021330/2021_ORF1ab_polyprotein__ORF1ab__and_ORF1a_polyprotein__ORF1ab__genes__partial_cds__surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___and_ORF7b__ORF7b__genes__complete_cds__ORF8_gene__complete_sequence__and_nucleocapsid_phosphoprotein__N__and_ORF10_protein__ORF10__genes__complete_cds\n", - "MW932027.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MA-CDC-STM-000044850/2021_ORF1ab_polyprotein_(ORF1ab)__ORF1a_polyprotein_(ORF1ab)__surface_glycoprotein_(S)__ORF3a_protein_(ORF3a)__envelope_protein_(E)__membrane_glycoprotein_(M)__ORF6_protein_(ORF6)__ORF7a_protein_(ORF7a)__and_ORF7b_(ORF7b)_genes__complete_cds;_ORF8_gene__complete_sequence;_and_nucleocapsid_phosphoprotein_(N)_and_ORF10_protein_(ORF10)_genes__complete_cds -> MW932027.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MA-CDC-STM-000044850/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___and_ORF7b__ORF7b__genes__complete_cds__ORF8_gene__complete_sequence__and_nucleocapsid_phosphoprotein__N__and_ORF10_protein__ORF10__genes__complete_cds\n", - "\n", - " Gap/Ambiguity Composition p-value\n", - " 1 NC_045512.2_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_Wuhan-Hu-1__complete_genome 1.65% passed 99.98%\n", - " 2 LR757995.1_Severe_acute_respiratory_syndrome_coronavirus_2_genome_assembly__chromosome__whole_genome 1.65% passed 99.98%\n", - " 3 LR757996.1_Severe_acute_respiratory_syndrome_coronavirus_2_genome_assembly__chromosome__whole_genome 1.65% passed 99.98%\n", - " 4 OL698718.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MN-MDH-18236/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds 3.28% passed 99.65%\n", - " 5 OL677199.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/CAN/ON-NML-249359/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___and_ORF7a_protein__ORF7a__genes__complete_cds__ORF7b_gene__complete_sequence__and_ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds 1.82% passed 99.91%\n", - " 6 OL672836.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/BEL/rega-20174/2021__complete_genome 1.78% passed 99.96%\n", - " 7 MZ914912.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG796484/2020_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds 2.69% passed 99.99%\n", - " 8 MZ916499.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG841289/2020_ORF1ab_polyprotein__ORF1ab__and_ORF1a_polyprotein__ORF1ab__genes__partial_cds__and_surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds 7.75% passed 98.28%\n", - " 9 MZ908464.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG769681/2020_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___and_ORF6_protein__ORF6__genes__complete_cds__ORF7a_protein__ORF7a__and_ORF7b__ORF7b__genes__partial_cds__and_ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds 5.93% passed 96.00%\n", - " 10 MW580573.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MD-MDH-0830/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds 2.26% passed 99.99%\n", - " 11 MW580574.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MD-MDH-0831/2021__complete_genome 2.02% passed 99.95%\n", - " 12 MW580576.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MD-MDH-0833/2021__complete_genome 1.98% passed 99.93%\n", - " 13 MW991906.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-CDC-FG-021330/2021_ORF1ab_polyprotein__ORF1ab__and_ORF1a_polyprotein__ORF1ab__genes__partial_cds__surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___and_ORF7b__ORF7b__genes__complete_cds__ORF8_gene__complete_sequence__and_nucleocapsid_phosphoprotein__N__and_ORF10_protein__ORF10__genes__complete_cds 2.19% passed 99.82%\n", - " 14 MW931310.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/IN-CDC-STM-000045992/2021__complete_genome 1.68% passed 100.00%\n", - " 15 MW932027.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MA-CDC-STM-000044850/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___and_ORF7b__ORF7b__genes__complete_cds__ORF8_gene__complete_sequence__and_nucleocapsid_phosphoprotein__N__and_ORF10_protein__ORF10__genes__complete_cds 1.70% passed 99.98%\n", - " 16 MW424864.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-LACPHL-AF00051/2020__complete_genome 1.91% passed 99.99%\n", - " 17 MW453109.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-LACPHL-AF00094/2020__complete_genome 2.13% passed 99.99%\n", - " 18 MW453110.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-LACPHL-AF00093/2020__complete_genome 1.93% passed 99.98%\n", - "**** TOTAL 2.56% 0 sequences failed composition chi2 test (p-value<5%; df=3)\n", - "NOTE: LR757996.1_Severe_acute_respiratory_syndrome_coronavirus_2_genome_assembly__chromosome__whole_genome is identical to NC_045512.2_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_Wuhan-Hu-1__complete_genome but kept for subsequent analysis\n", - "Creating fast initial parsimony tree by random order stepwise addition...\n", - "0.003 seconds, parsimony score: 154 (based on 142 sites)\n", - "\n", - "NOTE: 0 MB RAM (0 GB) is required!\n", - "WARNING: Number of threads seems too high for short alignments. Use -T AUTO to determine best number of threads.\n", - "Estimate model parameters (epsilon = 0.100)\n", - "1. Initial log-likelihood: -41361.570\n", - "2. Current log-likelihood: -41335.547\n", - "3. Current log-likelihood: -41330.199\n", - "4. Current log-likelihood: -41321.132\n", - "5. Current log-likelihood: -41320.973\n", - "Optimal log-likelihood: -41320.963\n", - "Rate parameters: A-C: 1.00000 A-G: 4.58202 A-T: 1.00000 C-G: 1.00000 C-T: 4.58202 G-T: 1.00000\n", - "Base frequencies: A: 0.299 C: 0.183 G: 0.196 T: 0.322\n", - "Parameters optimization took 5 rounds (0.015 sec)\n", - "Computing ML distances based on estimated model parameters...\n", - "Computing ML distances took 0.001753 sec (of wall-clock time) 0.005914 sec(of CPU time)\n", - "Computing RapidNJ tree took 0.009550 sec (of wall-clock time) 0.009811 sec (of CPU time)\n", - "Log-likelihood of RapidNJ tree: -41382.805\n", - "--------------------------------------------------------------------\n", - "| INITIALIZING CANDIDATE TREE SET |\n", - "--------------------------------------------------------------------\n", - "Generating 98 parsimony trees... 0.079 second\n", - "Computing log-likelihood of 98 initial trees ... 0.073 seconds\n", - "Current best score: -41316.721\n", - "\n", - "Do NNI search on 20 best initial trees\n", - "Estimate model parameters (epsilon = 0.100)\n", - "BETTER TREE FOUND at iteration 1: -41316.682\n", - "Iteration 10 / LogL: -41316.682 / Time: 0h:0m:0s\n", - "Iteration 20 / LogL: -41316.682 / Time: 0h:0m:0s\n", - "Finish initializing candidate tree set (1)\n", - "Current best tree score: -41316.682 / CPU time: 0.246\n", - "Number of iterations: 20\n", - "--------------------------------------------------------------------\n", - "| OPTIMIZING CANDIDATE TREE SET |\n", - "--------------------------------------------------------------------\n", - "UPDATE BEST LOG-LIKELIHOOD: -41316.682\n", - "Iteration 30 / LogL: -41316.732 / Time: 0h:0m:0s (0h:0m:0s left)\n", - "Iteration 40 / LogL: -41316.719 / Time: 0h:0m:0s (0h:0m:0s left)\n", - "Iteration 50 / LogL: -41316.716 / Time: 0h:0m:0s (0h:0m:0s left)\n", - "Iteration 60 / LogL: -41341.534 / Time: 0h:0m:0s (0h:0m:0s left)\n", - "Iteration 70 / LogL: -41316.803 / Time: 0h:0m:0s (0h:0m:0s left)\n", - "UPDATE BEST LOG-LIKELIHOOD: -41316.682\n", - "Iteration 80 / LogL: -41327.750 / Time: 0h:0m:0s (0h:0m:0s left)\n", - "Iteration 90 / LogL: -41316.734 / Time: 0h:0m:1s (0h:0m:0s left)\n", - "UPDATE BEST LOG-LIKELIHOOD: -41316.682\n", - "Iteration 100 / LogL: -41316.803 / Time: 0h:0m:1s (0h:0m:0s left)\n", - "TREE SEARCH COMPLETED AFTER 102 ITERATIONS / Time: 0h:0m:1s\n", - "\n", - "--------------------------------------------------------------------\n", - "| FINALIZING TREE SEARCH |\n", - "--------------------------------------------------------------------\n", - "Performs final model parameters optimization\n", - "Estimate model parameters (epsilon = 0.010)\n", - "1. Initial log-likelihood: -41316.682\n", - "Optimal log-likelihood: -41316.677\n", - "Rate parameters: A-C: 1.00000 A-G: 4.46795 A-T: 1.00000 C-G: 1.00000 C-T: 4.46795 G-T: 1.00000\n", - "Base frequencies: A: 0.299 C: 0.183 G: 0.196 T: 0.322\n", - "Parameters optimization took 1 rounds (0.002 sec)\n", - "BEST SCORE FOUND : -41316.677\n", - "Total tree length: 0.005\n", - "\n", - "Total number of iterations: 102\n", - "CPU time used for tree search: 4.260 sec (0h:0m:4s)\n", - "Wall-clock time used for tree search: 1.142 sec (0h:0m:1s)\n", - "Total CPU time used: 4.401 sec (0h:0m:4s)\n", - "Total wall-clock time used: 1.190 sec (0h:0m:1s)\n", - "\n", - "Analysis results written to: \n", - " IQ-TREE report: sarscov2_tree.iqtree\n", - " Maximum-likelihood tree: sarscov2_tree.treefile\n", - " Likelihood distances: sarscov2_tree.mldist\n", - " Screen log file: sarscov2_tree.log\n", - "\n", - "Date and Time: Fri Dec 3 23:53:06 2021\n" - ] - } - ], + "outputs": [], "source": [ "#run iqtree with threads = $CPU variable, if you exclude the -m it will do a phylogenetic model search before tree search\n", - "!iqtree -s sequences.aln.fasta -nt $CPU -m HKY --prefix sarscov2_tree --redo-tree" + "! iqtree -s sequences.aln.fasta -nt $CPU -m HKY --prefix sarscov2_tree --redo-tree" ] }, { @@ -1244,7 +285,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "cef2ba18", "metadata": {}, "outputs": [], @@ -1255,23 +296,10 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "842af165", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
MW453110.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-LACPHL-AF00093/2020__complete_genomeMW453109.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-LACPHL-AF00094/2020__complete_genomeMW424864.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-LACPHL-AF00051/2020__complete_genomeMW580576.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MD-MDH-0833/2021__complete_genomeMW580574.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MD-MDH-0831/2021__complete_genomeMW580573.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MD-MDH-0830/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cdsMZ908464.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG769681/2020_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___and_ORF6_protein__ORF6__genes__complete_cds__ORF7a_protein__ORF7a__and_ORF7b__ORF7b__genes__partial_cds__and_ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cdsMZ914912.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG796484/2020_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cdsMZ916499.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/TG841289/2020_ORF1ab_polyprotein__ORF1ab__and_ORF1a_polyprotein__ORF1ab__genes__partial_cds__and_surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cdsLR757996.1_Severe_acute_respiratory_syndrome_coronavirus_2_genome_assembly__chromosome__whole_genomeNC_045512.2_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_Wuhan-Hu-1__complete_genomeLR757995.1_Severe_acute_respiratory_syndrome_coronavirus_2_genome_assembly__chromosome__whole_genomeMW932027.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MA-CDC-STM-000044850/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___and_ORF7b__ORF7b__genes__complete_cds__ORF8_gene__complete_sequence__and_nucleocapsid_phosphoprotein__N__and_ORF10_protein__ORF10__genes__complete_cdsMW991906.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/CA-CDC-FG-021330/2021_ORF1ab_polyprotein__ORF1ab__and_ORF1a_polyprotein__ORF1ab__genes__partial_cds__surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___and_ORF7b__ORF7b__genes__complete_cds__ORF8_gene__complete_sequence__and_nucleocapsid_phosphoprotein__N__and_ORF10_protein__ORF10__genes__complete_cdsMW931310.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/IN-CDC-STM-000045992/2021__complete_genomeOL672836.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/BEL/rega-20174/2021__complete_genomeOL677199.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/CAN/ON-NML-249359/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___and_ORF7a_protein__ORF7a__genes__complete_cds__ORF7b_gene__complete_sequence__and_ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cdsOL698718.1_Severe_acute_respiratory_syndrome_coronavirus_2_isolate_SARS-CoV-2/human/USA/MN-MDH-18236/2021_ORF1ab_polyprotein__ORF1ab___ORF1a_polyprotein__ORF1ab___surface_glycoprotein__S___ORF3a_protein__ORF3a___envelope_protein__E___membrane_glycoprotein__M___ORF6_protein__ORF6___ORF7a_protein__ORF7a___ORF7b__ORF7b___ORF8_protein__ORF8___nucleocapsid_phosphoprotein__N___and_ORF10_protein__ORF10__genes__complete_cds
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "#draw the tree\n", "rtre = tre.root(wildcard=\"OL\")\n", @@ -1288,19 +316,19 @@ }, { "cell_type": "markdown", - "id": "88457512", "metadata": {}, "source": [ - "And that is all! You now know how to run workflows in notebooks in Cloud Lab" + "## Conclusions\n", + "Here you learned how to use Azure ML Studio to conduct a basic phylogenetic analysis" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "e417cb1a", + "cell_type": "markdown", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## Clean Up\n", + "Make sure you stop your compute instance and if desired, delete the resource group associated with this tutorial." + ] } ], "metadata": { From a25581ffd97dfa60f7fd44502335334f8fc5fe7e Mon Sep 17 00:00:00 2001 From: Kyle O'Connell Date: Thu, 7 Mar 2024 16:17:45 -0500 Subject: [PATCH 09/25] updated notebook formatting --- notebooks/SRADownload/SRA-Download.ipynb | 212 +-- .../SpleenSeg_Pretrained-4_27.ipynb | 1196 ++--------------- .../RNAseq_pipeline.ipynb | 495 +++---- 3 files changed, 382 insertions(+), 1521 deletions(-) diff --git a/notebooks/SRADownload/SRA-Download.ipynb b/notebooks/SRADownload/SRA-Download.ipynb index aad19bb..963e317 100644 --- a/notebooks/SRADownload/SRA-Download.ipynb +++ b/notebooks/SRADownload/SRA-Download.ipynb @@ -18,12 +18,30 @@ "DNA sequence data are typically deposited into the NCBI Sequence Read Archive, and can be accessed through the SRA website, or via a collection of command line tools called SRA Toolkit. Individual sequence entries are assigned an Accession ID, which can be used to find and download a particular file. For example, if you go to the [SRA database](https://www.ncbi.nlm.nih.gov/sra) in a browser window, and search for `SRX15695630`, you should see an entry for _C. elegans_. Alternatively, you can search the SRA metadata using Amazon Athena and generate a list of accession numbers. Here we are going to generate a list of accessions using Athena, use tools from the SRA Toolkit to download a few fastq files, then copy those fastq files to a cloud bucket. We really only scratch the surface of how to search Athena using SQL. If you want more examples, you can also try the notebooks from [this SRA GitHub repo](https://github.com/ncbi/ASHG-Workshop-2021). " ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Learning objectives\n", + "+ Learn how to set up an Athena Database\n", + "+ Learn how to use AWS Glue to scrape the SRA metadata\n", + "+ Query Athena to find target Accession numbers\n", + "+ Use SRA tools to download genomic sequence data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Get started" + ] + }, { "cell_type": "markdown", "id": "39f62f42", "metadata": {}, "source": [ - "### 1) Set up your Athena Database\n", + "### Set up your Athena Database\n", "You need to set up your Athena database in the Athena console before you start this notebook. Follow our [guide](https://github.com/STRIDES/NIHCloudLabAWS/blob/main/docs/create_athena_database.md) to walk you through it." ] }, @@ -32,7 +50,7 @@ "id": "7aed7098", "metadata": {}, "source": [ - "### 2) Install Dependencies" + "### Install packages\n" ] }, { @@ -99,7 +117,7 @@ "id": "ddc46609", "metadata": {}, "source": [ - "### 3) Setup Directory Structure and Create a Staging Bucket" + "### Setup Directory Structure and Create a Staging Bucket" ] }, { @@ -114,18 +132,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "827f2447", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/home/ec2-user/SageMaker/NIHCloudLabAWS/tutorials/notebooks/SRADownload/data\n" - ] - } - ], + "outputs": [], "source": [ "cd data/" ] @@ -158,7 +168,7 @@ "id": "086a50c1", "metadata": {}, "source": [ - "### 4) Create Accession List using Athena" + "### Create Accession List using Athena" ] }, { @@ -327,7 +337,7 @@ "id": "01437b57", "metadata": {}, "source": [ - "### 5) Download FASTQ files with fasterq dump" + "### Download FASTQ files with fasterq dump" ] }, { @@ -340,18 +350,10 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "4764f355", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/home/ec2-user/SageMaker/NIHCloudLabAWS/tutorials/notebooks/SRADownload/data/fasterqdump\n" - ] - } - ], + "outputs": [], "source": [ "cd fasterqdump/" ] @@ -366,30 +368,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "80c2e3b4", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "spots read : 2,054,166\n", - "reads read : 4,108,332\n", - "reads written : 4,108,332\n", - "spots read : 25,734,849\n", - "reads read : 51,469,698\n", - "reads written : 25,734,849\n", - "reads 0-length : 25,734,849\n", - "spots read : 18,624,005\n", - "reads read : 37,248,010\n", - "reads written : 18,624,005\n", - "reads 0-length : 18,624,005\n", - "CPU times: user 6.18 s, sys: 1.26 s, total: 7.44 s\n", - "Wall time: 6min 36s\n" - ] - } - ], + "outputs": [], "source": [ "%%time\n", "!for x in `cat ../list_of_accessionIDS.txt`; do fasterq-dump -f -O raw_fastq -e 8 -m 4G $x ; done" @@ -408,7 +390,7 @@ "id": "55bd52cd", "metadata": {}, "source": [ - "### 6) Download FASTQ files with prefetch + fasterq dump" + "### Download FASTQ files with prefetch + fasterq dump" ] }, { @@ -421,57 +403,20 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "ddefec2d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/home/ec2-user/SageMaker/NIHCloudLabAWS/tutorials/notebooks/SRADownload/data/prefetch_fasterqdump\n" - ] - } - ], + "outputs": [], "source": [ "cd ../prefetch_fasterqdump" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "935f6ca2", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "2022-08-30T15:45:12 prefetch.2.11.0: 1) Downloading 'SRR3617061'...\n", - "2022-08-30T15:45:12 prefetch.2.11.0: Downloading via HTTPS...\n", - "2022-08-30T15:45:16 prefetch.2.11.0: HTTPS download succeed\n", - "2022-08-30T15:45:17 prefetch.2.11.0: 'SRR3617061' is valid\n", - "2022-08-30T15:45:17 prefetch.2.11.0: 1) 'SRR3617061' was downloaded successfully\n", - "\n", - "2022-08-30T15:45:17 prefetch.2.11.0: 2) Downloading 'SRR8435254'...\n", - "2022-08-30T15:45:17 prefetch.2.11.0: Downloading via HTTPS...\n", - "2022-08-30T15:45:23 prefetch.2.11.0: HTTPS download succeed\n", - "2022-08-30T15:45:24 prefetch.2.11.0: 'SRR8435254' is valid\n", - "2022-08-30T15:45:24 prefetch.2.11.0: 2) 'SRR8435254' was downloaded successfully\n", - "2022-08-30T15:45:24 prefetch.2.11.0: 'SRR8435254' has 0 dependencies\n", - "\n", - "2022-08-30T15:45:24 prefetch.2.11.0: 3) Downloading 'SRR8435252'...\n", - "2022-08-30T15:45:24 prefetch.2.11.0: Downloading via HTTPS...\n", - "2022-08-30T15:45:28 prefetch.2.11.0: HTTPS download succeed\n", - "2022-08-30T15:45:29 prefetch.2.11.0: 'SRR8435252' is valid\n", - "2022-08-30T15:45:29 prefetch.2.11.0: 3) 'SRR8435252' was downloaded successfully\n", - "2022-08-30T15:45:29 prefetch.2.11.0: 'SRR8435252' has 0 dependencies\n", - "CPU times: user 290 ms, sys: 37.5 ms, total: 327 ms\n", - "Wall time: 17 s\n" - ] - } - ], + "outputs": [], "source": [ "%%time\n", "!prefetch --option-file ../list_of_accessionIDS.txt -O raw_fastq -f yes" @@ -479,18 +424,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "7eece75e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[0m\u001b[01;34mSRR3617061\u001b[0m/ \u001b[01;34mSRR8435252\u001b[0m/ \u001b[01;34mSRR8435254\u001b[0m/\n" - ] - } - ], + "outputs": [], "source": [ "ls raw_fastq/" ] @@ -505,30 +442,10 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "1852a71a", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "spots read : 2,054,166\n", - "reads read : 4,108,332\n", - "reads written : 4,108,332\n", - "spots read : 25,734,849\n", - "reads read : 51,469,698\n", - "reads written : 25,734,849\n", - "reads 0-length : 25,734,849\n", - "spots read : 18,624,005\n", - "reads read : 37,248,010\n", - "reads written : 18,624,005\n", - "reads 0-length : 18,624,005\n", - "CPU times: user 1.49 s, sys: 308 ms, total: 1.8 s\n", - "Wall time: 1min 38s\n" - ] - } - ], + "outputs": [], "source": [ "%%time\n", "!for x in `cat ../list_of_accessionIDS.txt`; do fasterq-dump -f -O raw_fastq -e 8 -m 4G raw_fastq/$x; done" @@ -547,7 +464,7 @@ "id": "ea152fd7", "metadata": {}, "source": [ - "### Step 7) Copy Files to a Bucket" + "### Copy Files to a Bucket" ] }, { @@ -560,60 +477,45 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "ad73308f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "upload: raw_fastq/SRR3617061/SRR3617061.sra to s3://sra-data-athena/raw_fastq/SRR3617061/SRR3617061.sra\n", - "upload: raw_fastq/SRR8435252/SRR8435252.sra to s3://sra-data-athena/raw_fastq/SRR8435252/SRR8435252.sra\n", - "upload: raw_fastq/SRR3617061_2.fastq to s3://sra-data-athena/raw_fastq/SRR3617061_2.fastq\n", - "upload: raw_fastq/SRR3617061_1.fastq to s3://sra-data-athena/raw_fastq/SRR3617061_1.fastq\n", - "upload: raw_fastq/SRR8435254/SRR8435254.sra to s3://sra-data-athena/raw_fastq/SRR8435254/SRR8435254.sra\n", - "upload: raw_fastq/SRR8435252.fastq to s3://sra-data-athena/raw_fastq/SRR8435252.fastq\n", - "upload: raw_fastq/SRR8435254.fastq to s3://sra-data-athena/raw_fastq/SRR8435254.fastq\n" - ] - } - ], + "outputs": [], "source": [ "!aws s3 cp raw_fastq/*.fastq s3://sra-data-athena/raw_fastq --recursive" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "072ebc9a", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " PRE SRR3617061/\n", - " PRE SRR8435252/\n", - " PRE SRR8435254/\n", - "2022-08-30 15:53:41 722868342 SRR3617061_1.fastq\n", - "2022-08-30 15:53:41 722868342 SRR3617061_2.fastq\n", - "2022-08-30 15:53:42 3903844648 SRR8435252.fastq\n", - "2022-08-30 15:53:56 5411343576 SRR8435254.fastq\n" - ] - } - ], + "outputs": [], "source": [ "!aws s3 ls s3://sra-data-athena/raw_fastq/" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusions\n", + "You learned here how to bring the SRA metadata into Athena and query Athena DB to find target accession numbers, then use SRA tools to download sequence data locally." + ] + }, { "cell_type": "markdown", "id": "a4026566", "metadata": {}, "source": [ - "### Step 8) Clean up\n", + "## Clean up\n", "Make sure you shut down this VM, or delete it if you don't plan to use if further. You can also [delete the buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) if you don't want to pay for the data: `aws s3 rb s3://bucket-name --force`" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] } ], "metadata": { diff --git a/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb b/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb index 48b8141..e6b6117 100644 --- a/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb +++ b/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb @@ -5,9 +5,45 @@ "id": "1452463e", "metadata": {}, "source": [ - "## Spleen Model With NVIDIA Pretrain\n", - "- Uses Unet architecture\n", - "- Pretrained model at: https://ngc.nvidia.com/catalog/models/nvidia:med:clara_pt_spleen_ct_segmentation" + "# Spleen Model With NVIDIA Pretrain" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Overview\n", + "This notebook conducts image segmentation of spleen images using an NVIDIA pretrained model. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "We assume you have provisioned a compute environment in Azure ML Studio **with a GPU**! A T4 GPU will work fine." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Learning objectives\n", + "+ Learn how to use NVIDIA pre-trained models for image segmentation within Azure ML Studio" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Get started" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Install packages" ] }, { @@ -20,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "82db674f", "metadata": {}, "outputs": [], @@ -31,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "bb1228b3", "metadata": {}, "outputs": [], @@ -41,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "540e5d47", "metadata": {}, "outputs": [], @@ -65,42 +101,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "07510582", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "MONAI version: 0.8.1\n", - "Numpy version: 1.21.1\n", - "Pytorch version: 1.9.0\n", - "MONAI flags: HAS_EXT = False, USE_COMPILED = False\n", - "MONAI rev id: 71ff399a3ea07aef667b23653620a290364095b1\n", - "\n", - "Optional dependencies:\n", - "Pytorch Ignite version: 0.4.8\n", - "Nibabel version: 3.2.1\n", - "scikit-image version: 0.18.2\n", - "Pillow version: 8.3.1\n", - "Tensorboard version: 2.5.0\n", - "gdown version: 3.13.0\n", - "TorchVision version: 0.10.0+cu111\n", - "tqdm version: 4.61.2\n", - "lmdb version: 1.2.1\n", - "psutil version: 5.8.0\n", - "pandas version: 1.3.0\n", - "einops version: 0.3.0\n", - "transformers version: 4.18.0\n", - "mlflow version: 1.25.1\n", - "\n", - "For details about installing the optional dependencies, please visit:\n", - " https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "import os\n", "import tempfile\n", @@ -157,7 +161,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "0be7401d", "metadata": {}, "outputs": [], @@ -175,18 +179,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "311c3282", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "monai_data/\n" - ] - } - ], + "outputs": [], "source": [ "directory = \"monai_data/\"\n", "root_dir = tempfile.mkdtemp() if directory is None else directory\n", @@ -203,20 +199,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "da7cfede", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2022-04-27 14:49:41,401 - INFO - Verified 'Task09_Spleen.tar', md5: 410d4a301da4e5b2f6f86ec3ddba524e.\n", - "2022-04-27 14:49:41,402 - INFO - File exists: monai_data/Task09_Spleen.tar, skipped downloading.\n", - "2022-04-27 14:49:41,403 - INFO - Non-empty folder exists in monai_data/Task09_Spleen, skipped extracting.\n" - ] - } - ], + "outputs": [], "source": [ "resource = \"https://msd-for-monai.s3-us-west-2.amazonaws.com/Task09_Spleen.tar\"\n", "md5 = \"410d4a301da4e5b2f6f86ec3ddba524e\"\n", @@ -236,7 +222,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "2515b177", "metadata": {}, "outputs": [], @@ -262,7 +248,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "2357d35d", "metadata": {}, "outputs": [], @@ -328,38 +314,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "ada5757a", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'image': 'monai_data/Task09_Spleen/imagesTr/spleen_56.nii.gz',\n", - " 'label': 'monai_data/Task09_Spleen/labelsTr/spleen_56.nii.gz'},\n", - " {'image': 'monai_data/Task09_Spleen/imagesTr/spleen_59.nii.gz',\n", - " 'label': 'monai_data/Task09_Spleen/labelsTr/spleen_59.nii.gz'},\n", - " {'image': 'monai_data/Task09_Spleen/imagesTr/spleen_6.nii.gz',\n", - " 'label': 'monai_data/Task09_Spleen/labelsTr/spleen_6.nii.gz'},\n", - " {'image': 'monai_data/Task09_Spleen/imagesTr/spleen_60.nii.gz',\n", - " 'label': 'monai_data/Task09_Spleen/labelsTr/spleen_60.nii.gz'},\n", - " {'image': 'monai_data/Task09_Spleen/imagesTr/spleen_61.nii.gz',\n", - " 'label': 'monai_data/Task09_Spleen/labelsTr/spleen_61.nii.gz'},\n", - " {'image': 'monai_data/Task09_Spleen/imagesTr/spleen_62.nii.gz',\n", - " 'label': 'monai_data/Task09_Spleen/labelsTr/spleen_62.nii.gz'},\n", - " {'image': 'monai_data/Task09_Spleen/imagesTr/spleen_63.nii.gz',\n", - " 'label': 'monai_data/Task09_Spleen/labelsTr/spleen_63.nii.gz'},\n", - " {'image': 'monai_data/Task09_Spleen/imagesTr/spleen_8.nii.gz',\n", - " 'label': 'monai_data/Task09_Spleen/labelsTr/spleen_8.nii.gz'},\n", - " {'image': 'monai_data/Task09_Spleen/imagesTr/spleen_9.nii.gz',\n", - " 'label': 'monai_data/Task09_Spleen/labelsTr/spleen_9.nii.gz'}]" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "val_files" ] @@ -374,30 +332,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "689eea4e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "image shape: torch.Size([239, 239, 113]), label shape: torch.Size([239, 239, 113])\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "check_ds = Dataset(data=val_files, transform=val_transforms)\n", "check_loader = DataLoader(check_ds, batch_size=1)\n", @@ -427,74 +365,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "fe3285d0", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 32/32 [00:00<00:00, 57113.93it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Accessing lmdb file: /home/jupyter/covid19det-kaggle/kaggle/MonaiTesting/monai_data/monai_cache.lmdb.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 32/32 [00:00<00:00, 47679.48it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'map_addr': 0, 'map_size': 1099511627776, 'last_pgno': 941102, 'last_txnid': 100, 'max_readers': 126, 'num_readers': 0, 'size': 32, 'filename': '/home/jupyter/covid19det-kaggle/kaggle/MonaiTesting/monai_data/monai_cache.lmdb'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 9/9 [00:00<00:00, 10999.05it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Accessing lmdb file: /home/jupyter/covid19det-kaggle/kaggle/MonaiTesting/monai_data/monai_cache.lmdb.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 9/9 [00:00<00:00, 17739.07it/s]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'map_addr': 0, 'map_size': 1099511627776, 'last_pgno': 941102, 'last_txnid': 100, 'max_readers': 126, 'num_readers': 0, 'size': 9, 'filename': '/home/jupyter/covid19det-kaggle/kaggle/MonaiTesting/monai_data/monai_cache.lmdb'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], + "outputs": [], "source": [ "train_ds = LMDBDataset(data=train_files, transform=train_transforms, cache_dir=root_dir)\n", "# initialize cache and print meta information\n", @@ -513,18 +387,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "455cbcdc", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'map_addr': 0, 'map_size': 1099511627776, 'last_pgno': 941102, 'last_txnid': 100, 'max_readers': 126, 'num_readers': 0, 'size': 32, 'filename': '/home/jupyter/covid19det-kaggle/kaggle/MonaiTesting/monai_data/monai_cache.lmdb'}\n" - ] - } - ], + "outputs": [], "source": [ "print(train_ds.info())" ] @@ -539,7 +405,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "8539fb7d", "metadata": {}, "outputs": [], @@ -558,50 +424,20 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "de7fb262", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'clara_pt_spleen_ct_segmentation'" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "mmar['name']" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "bf96f9f9", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "using a pretrained model.\n", - "2022-04-27 14:49:45,704 - INFO - Expected md5 is None, skip md5 check for file monai_data/clara_pt_spleen_ct_segmentation_2.zip.\n", - "2022-04-27 14:49:45,705 - INFO - File exists: monai_data/clara_pt_spleen_ct_segmentation_2.zip, skipped downloading.\n", - "2022-04-27 14:49:45,706 - INFO - Non-empty folder exists in monai_data/clara_pt_spleen_ct_segmentation, skipped extracting.\n", - "2022-04-27 14:49:45,707 - INFO - \n", - "*** \"clara_pt_spleen_ct_segmentation\" available at monai_data/clara_pt_spleen_ct_segmentation.\n", - "2022-04-27 14:49:49,353 - INFO - *** Model: \n", - "2022-04-27 14:49:49,400 - INFO - *** Model params: {'dimensions': 3, 'in_channels': 1, 'out_channels': 2, 'channels': [16, 32, 64, 128, 256], 'strides': [2, 2, 2, 2], 'num_res_units': 2, 'norm': 'batch'}\n", - "2022-04-27 14:49:49,411 - INFO - \n", - "---\n", - "2022-04-27 14:49:49,412 - INFO - For more information, please visit https://ngc.nvidia.com/catalog/models/nvidia:med:clara_pt_spleen_ct_segmentation\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\") #torch.device(\"cpu\")\n", "if PRETRAINED:\n", @@ -646,32 +482,10 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "4be7eb8f", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 1/1 [00:00<00:00, 4639.72it/s]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Accessing lmdb file: /home/jupyter/covid19det-kaggle/kaggle/MonaiTesting/monai_data/monai_cache.lmdb.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], + "outputs": [], "source": [ "test_file = data_dicts[20:21]\n", "test_ds = LMDBDataset(data=test_file, transform=None, cache_dir=root_dir)" @@ -687,7 +501,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "16fd4e94", "metadata": {}, "outputs": [], @@ -712,33 +526,10 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "9782ec96", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fig = plt.figure(frameon=False, figsize=(7,7))\n", "plt.title('Actual Spleen')\n", @@ -747,33 +538,10 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "76cd38e6", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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TZchOeaq3xo/fjw777xz02UMSmZyzjnncOWVV7Ju3bqmy5EMV3W+TZs2sXTpUr761a8arGobhquA6k9id+JwwObNm+nu7naMVW3HMVcB8OMf/5gFCxY0XcY2O++883jjG9/YdBnSy3jkOsqNGTOG66+/nlmzZnXkHxp85plnePrpp5suQ3qZzvvXpCEVERx66KHstNNOTZeyzW677TbuvffepsuQeuV9rqPYmDFj2G233VixYkVHhuuMGTNYtmxZ02VolPM+V73M29/+dh599NGODFap3Rmuo9S5557Lt771LcaM6bxdYP369ZxwwgmsXLmy6VKkPjnmOkodcMABTJs2rekyBuWZZ55h4cKFTZch9avzDls0qj377LNs2LCh6TKkARmu6igXXngh++23X9NlSAMyXNVR2uHuFmlrGK7qGFdffTU/+9nPmi5D2ipe0FLb27x5M+vXr+eTn/ykXxpQxzBc1faeeOIJpk6d2nQZ0jZxWEBtbdGiRRx88MFNlyFtM8NVbW3NmjX+gUF1JMNVbeuxxx7jwQcfbLoMaVAcc1Vbykze8573cMMNNzRdijQohqvaztNPP81rX/taVq1a1XQp0qAZrmo7mUl3d7dfGFBHM1zVVp566imWLFnSdBnSdvOCltrKTTfdxJvf/GaPWtXxDFdJKsBwVVs59NBDWbRoERG9/uUMqWMYrmoru+22G0cccQTz5s1jypQpTZcjDZrhqq3y/PPP89xzz/X5GMox0h133JGLL76Yt771rYwfP37I1isNJ8NVW+X9738/EydO7POxdu3aIf/MhQsXcuGFFw75eqXh4J/WHqUOPPBATjzxRL7whS/0Ov1rX/saP//5z198f9111/UboLNnz+ass87iyCOPHNI6169fz+23385RRx01pOuVhkpff1rb+1xHqdtvv51NmzZxxBFH9Dr9O9/5DjfeeONWr+/qq69m7733ZpddduGQQw4ZqjKZPHkyhx56KJ/+9KdZsGAB69atG7J1SyV55KohdeCBB/KLX/yCnXbaaciv+B977LHceOONbNy4cUjXK22Pvo5cDVcNuTFjxrBu3TomTZo0pOvNTL7xjW9w+umnD+l6pe3RV7h6QUtDbvPmzcyePZubbrppSNcbEd7/qo7hmKuKuOmmm7j44otZvnz5i23HHHMMe+yxR4NVScMoMxt/AOlj5D+u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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fig = plt.figure(frameon=False, figsize=(7,7))\n", "plt.title('Pretrained CalculatedSpleen')\n", @@ -782,33 +550,10 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "65c68242", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fig = plt.figure(frameon=False, figsize=(7,7))\n", "plt.title('Differences Between Actual and Model')\n", @@ -837,7 +582,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "a8ad6aee", "metadata": {}, "outputs": [], @@ -848,526 +593,10 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "d91d340c", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "----------\n", - "epoch 1/25\n", - "1/16, train_loss: 0.8680\n", - "2/16, train_loss: 0.3699\n", - "3/16, train_loss: 0.3849\n", - "4/16, train_loss: 0.1306\n", - "5/16, train_loss: 0.2781\n", - "6/16, train_loss: 0.3628\n", - "7/16, train_loss: 0.3609\n", - "8/16, train_loss: 0.1828\n", - "9/16, train_loss: 0.1493\n", - "10/16, train_loss: 0.5063\n", - "11/16, train_loss: 0.2929\n", - "12/16, train_loss: 0.2826\n", - "13/16, train_loss: 0.2017\n", - "14/16, train_loss: 0.2591\n", - "15/16, train_loss: 0.2568\n", - "16/16, train_loss: 0.2385\n", - "epoch 1 average loss: 0.3203\n", - "----------\n", - "epoch 2/25\n", - "1/16, train_loss: 0.3457\n", - "2/16, train_loss: 0.2234\n", - "3/16, train_loss: 0.3443\n", - "4/16, train_loss: 0.0816\n", - "5/16, train_loss: 0.2259\n", - "6/16, train_loss: 0.1580\n", - "7/16, train_loss: 0.2593\n", - "8/16, train_loss: 0.1651\n", - "9/16, train_loss: 0.1124\n", - "10/16, train_loss: 0.4822\n", - "11/16, train_loss: 0.2900\n", - "12/16, train_loss: 0.2571\n", - "13/16, train_loss: 0.1799\n", - "14/16, train_loss: 0.1984\n", - "15/16, train_loss: 0.2286\n", - "16/16, train_loss: 0.2216\n", - "epoch 2 average loss: 0.2359\n", - "saved new best metric model\n", - "current epoch: 2 current mean dice: 0.8615\n", - "best mean dice: 0.8615 at epoch: 2\n", - "----------\n", - "epoch 3/25\n", - "1/16, train_loss: 0.3400\n", - "2/16, train_loss: 0.2297\n", - "3/16, train_loss: 0.3453\n", - "4/16, train_loss: 0.0822\n", - "5/16, train_loss: 0.2285\n", - "6/16, train_loss: 0.1213\n", - "7/16, train_loss: 0.2370\n", - "8/16, train_loss: 0.1607\n", - "9/16, train_loss: 0.1065\n", - "10/16, train_loss: 0.4543\n", - "11/16, train_loss: 0.2848\n", - "12/16, train_loss: 0.2848\n", - "13/16, train_loss: 0.1763\n", - "14/16, train_loss: 0.1748\n", - "15/16, train_loss: 0.4361\n", - "16/16, train_loss: 0.2234\n", - "epoch 3 average loss: 0.2429\n", - "----------\n", - "epoch 4/25\n", - "1/16, train_loss: 0.3328\n", - "2/16, train_loss: 0.2447\n", - "3/16, train_loss: 0.3436\n", - "4/16, train_loss: 0.0723\n", - "5/16, train_loss: 0.2213\n", - "6/16, train_loss: 0.1676\n", - "7/16, train_loss: 0.2672\n", - "8/16, train_loss: 0.2121\n", - "9/16, train_loss: 0.1122\n", - "10/16, train_loss: 0.5265\n", - "11/16, train_loss: 0.2810\n", - "12/16, train_loss: 0.2688\n", - "13/16, train_loss: 0.1795\n", - "14/16, train_loss: 0.1853\n", - "15/16, train_loss: 0.2458\n", - "16/16, train_loss: 0.2314\n", - "epoch 4 average loss: 0.2433\n", - "saved new best metric model\n", - "current epoch: 4 current mean dice: 0.8744\n", - "best mean dice: 0.8744 at epoch: 4\n", - "----------\n", - "epoch 5/25\n", - "1/16, train_loss: 0.3378\n", - "2/16, train_loss: 0.2047\n", - "3/16, train_loss: 0.3350\n", - "4/16, train_loss: 0.0583\n", - "5/16, train_loss: 0.2161\n", - "6/16, train_loss: 0.1008\n", - "7/16, train_loss: 0.2325\n", - "8/16, train_loss: 0.1629\n", - "9/16, train_loss: 0.1037\n", - "10/16, train_loss: 0.4499\n", - "11/16, train_loss: 0.2763\n", - "12/16, train_loss: 0.2321\n", - "13/16, train_loss: 0.1702\n", - "14/16, train_loss: 0.1652\n", - "15/16, train_loss: 0.2206\n", - "16/16, train_loss: 0.2169\n", - "epoch 5 average loss: 0.2177\n", - "----------\n", - "epoch 6/25\n", - "1/16, train_loss: 0.3303\n", - "2/16, train_loss: 0.1888\n", - "3/16, train_loss: 0.3331\n", - "4/16, train_loss: 0.0535\n", - "5/16, train_loss: 0.2149\n", - "6/16, train_loss: 0.0962\n", - "7/16, train_loss: 0.2267\n", - "8/16, train_loss: 0.1555\n", - "9/16, train_loss: 0.0995\n", - "10/16, train_loss: 0.4476\n", - "11/16, train_loss: 0.2751\n", - "12/16, train_loss: 0.2215\n", - "13/16, train_loss: 0.1644\n", - "14/16, train_loss: 0.1603\n", - "15/16, train_loss: 0.2159\n", - "16/16, train_loss: 0.2141\n", - "epoch 6 average loss: 0.2123\n", - "saved new best metric model\n", - "current epoch: 6 current mean dice: 0.8952\n", - "best mean dice: 0.8952 at epoch: 6\n", - "----------\n", - "epoch 7/25\n", - "1/16, train_loss: 0.3286\n", - "2/16, train_loss: 0.1815\n", - "3/16, train_loss: 0.3317\n", - "4/16, train_loss: 0.0487\n", - "5/16, train_loss: 0.2127\n", - "6/16, train_loss: 0.0926\n", - "7/16, train_loss: 0.2236\n", - "8/16, train_loss: 0.1536\n", - "9/16, train_loss: 0.0955\n", - "10/16, train_loss: 0.4468\n", - "11/16, train_loss: 0.2730\n", - "12/16, train_loss: 0.2171\n", - "13/16, train_loss: 0.1616\n", - "14/16, train_loss: 0.1565\n", - "15/16, train_loss: 0.2147\n", - "16/16, train_loss: 0.2123\n", - "epoch 7 average loss: 0.2094\n", - "----------\n", - "epoch 8/25\n", - "1/16, train_loss: 0.3276\n", - "2/16, train_loss: 0.1800\n", - "3/16, train_loss: 0.3311\n", - "4/16, train_loss: 0.0459\n", - "5/16, train_loss: 0.2114\n", - "6/16, train_loss: 0.0853\n", - "7/16, train_loss: 0.2206\n", - "8/16, train_loss: 0.1529\n", - "9/16, train_loss: 0.0939\n", - "10/16, train_loss: 0.4467\n", - "11/16, train_loss: 0.2725\n", - "12/16, train_loss: 0.2171\n", - "13/16, train_loss: 0.1600\n", - "14/16, train_loss: 0.1502\n", - "15/16, train_loss: 0.2140\n", - "16/16, train_loss: 0.2115\n", - "epoch 8 average loss: 0.2075\n", - "saved new best metric model\n", - "current epoch: 8 current mean dice: 0.8957\n", - "best mean dice: 0.8957 at epoch: 8\n", - "----------\n", - "epoch 9/25\n", - "1/16, train_loss: 0.3275\n", - "2/16, train_loss: 0.1822\n", - "3/16, train_loss: 0.3309\n", - "4/16, train_loss: 0.0455\n", - "5/16, train_loss: 0.2110\n", - "6/16, train_loss: 0.0818\n", - "7/16, train_loss: 0.2194\n", - "8/16, train_loss: 0.1520\n", - "9/16, train_loss: 0.0917\n", - "10/16, train_loss: 0.4467\n", - "11/16, train_loss: 0.2723\n", - "12/16, train_loss: 0.2165\n", - "13/16, train_loss: 0.1593\n", - "14/16, train_loss: 0.1236\n", - "15/16, train_loss: 0.2136\n", - "16/16, train_loss: 0.2107\n", - "epoch 9 average loss: 0.2053\n", - "----------\n", - "epoch 10/25\n", - "1/16, train_loss: 0.3271\n", - "2/16, train_loss: 0.1726\n", - "3/16, train_loss: 0.3308\n", - "4/16, train_loss: 0.0439\n", - "5/16, train_loss: 0.2106\n", - "6/16, train_loss: 0.0886\n", - "7/16, train_loss: 0.2209\n", - "8/16, train_loss: 0.1518\n", - "9/16, train_loss: 0.0860\n", - "10/16, train_loss: 0.4452\n", - "11/16, train_loss: 0.2715\n", - "12/16, train_loss: 0.2150\n", - "13/16, train_loss: 0.1589\n", - "14/16, train_loss: 0.1150\n", - "15/16, train_loss: 0.2142\n", - "16/16, train_loss: 0.2095\n", - "epoch 10 average loss: 0.2038\n", - "saved new best metric model\n", - "current epoch: 10 current mean dice: 0.8958\n", - "best mean dice: 0.8958 at epoch: 10\n", - "----------\n", - "epoch 11/25\n", - "1/16, train_loss: 0.3271\n", - "2/16, train_loss: 0.1735\n", - "3/16, train_loss: 0.3314\n", - "4/16, train_loss: 0.0430\n", - "5/16, train_loss: 0.2099\n", - "6/16, train_loss: 0.0801\n", - "7/16, train_loss: 0.2201\n", - "8/16, train_loss: 0.1508\n", - "9/16, train_loss: 0.0721\n", - "10/16, train_loss: 0.4451\n", - "11/16, train_loss: 0.2714\n", - "12/16, train_loss: 0.2155\n", - "13/16, train_loss: 0.1592\n", - "14/16, train_loss: 0.1247\n", - "15/16, train_loss: 0.2139\n", - "16/16, train_loss: 0.2107\n", - "epoch 11 average loss: 0.2030\n", - "----------\n", - "epoch 12/25\n", - "1/16, train_loss: 0.3268\n", - "2/16, train_loss: 0.1712\n", - "3/16, train_loss: 0.3305\n", - "4/16, train_loss: 0.0453\n", - "5/16, train_loss: 0.2103\n", - "6/16, train_loss: 0.0783\n", - "7/16, train_loss: 0.2179\n", - "8/16, train_loss: 0.1529\n", - "9/16, train_loss: 0.0912\n", - "10/16, train_loss: 0.4469\n", - "11/16, train_loss: 0.2724\n", - "12/16, train_loss: 0.2162\n", - "13/16, train_loss: 0.1588\n", - "14/16, train_loss: 0.1072\n", - "15/16, train_loss: 0.2129\n", - "16/16, train_loss: 0.2091\n", - "epoch 12 average loss: 0.2030\n", - "saved new best metric model\n", - "current epoch: 12 current mean dice: 0.9008\n", - "best mean dice: 0.9008 at epoch: 12\n", - "----------\n", - "epoch 13/25\n", - "1/16, train_loss: 0.3266\n", - "2/16, train_loss: 0.1666\n", - "3/16, train_loss: 0.3304\n", - "4/16, train_loss: 0.0419\n", - "5/16, train_loss: 0.2105\n", - "6/16, train_loss: 0.0826\n", - "7/16, train_loss: 0.2195\n", - "8/16, train_loss: 0.1506\n", - "9/16, train_loss: 0.0553\n", - "10/16, train_loss: 0.4447\n", - "11/16, train_loss: 0.2715\n", - "12/16, train_loss: 0.2125\n", - "13/16, train_loss: 0.1575\n", - "14/16, train_loss: 0.1083\n", - "15/16, train_loss: 0.2135\n", - "16/16, train_loss: 0.2085\n", - "epoch 13 average loss: 0.2000\n", - "----------\n", - "epoch 14/25\n", - "1/16, train_loss: 0.3270\n", - "2/16, train_loss: 0.1647\n", - "3/16, train_loss: 0.3316\n", - "4/16, train_loss: 0.0405\n", - "5/16, train_loss: 0.2091\n", - "6/16, train_loss: 0.0686\n", - "7/16, train_loss: 0.2185\n", - "8/16, train_loss: 0.1499\n", - "9/16, train_loss: 0.0482\n", - "10/16, train_loss: 0.4443\n", - "11/16, train_loss: 0.2708\n", - "12/16, train_loss: 0.2106\n", - "13/16, train_loss: 0.1568\n", - "14/16, train_loss: 0.1043\n", - "15/16, train_loss: 0.2121\n", - "16/16, train_loss: 0.2079\n", - "epoch 14 average loss: 0.1978\n", - "saved new best metric model\n", - "current epoch: 14 current mean dice: 0.9015\n", - "best mean dice: 0.9015 at epoch: 14\n", - "----------\n", - "epoch 15/25\n", - "1/16, train_loss: 0.3259\n", - "2/16, train_loss: 0.1630\n", - "3/16, train_loss: 0.3303\n", - "4/16, train_loss: 0.0399\n", - "5/16, train_loss: 0.2085\n", - "6/16, train_loss: 0.0579\n", - "7/16, train_loss: 0.2165\n", - "8/16, train_loss: 0.1509\n", - "9/16, train_loss: 0.0487\n", - "10/16, train_loss: 0.4449\n", - "11/16, train_loss: 0.2704\n", - "12/16, train_loss: 0.2090\n", - "13/16, train_loss: 0.1557\n", - "14/16, train_loss: 0.1021\n", - "15/16, train_loss: 0.2118\n", - "16/16, train_loss: 0.2084\n", - "epoch 15 average loss: 0.1965\n", - "----------\n", - "epoch 16/25\n", - "1/16, train_loss: 0.3258\n", - "2/16, train_loss: 0.1620\n", - "3/16, train_loss: 0.3307\n", - "4/16, train_loss: 0.0394\n", - "5/16, train_loss: 0.2086\n", - "6/16, train_loss: 0.0699\n", - "7/16, train_loss: 0.2170\n", - "8/16, train_loss: 0.1516\n", - "9/16, train_loss: 0.0540\n", - "10/16, train_loss: 0.4444\n", - "11/16, train_loss: 0.2698\n", - "12/16, train_loss: 0.2102\n", - "13/16, train_loss: 0.1548\n", - "14/16, train_loss: 0.1016\n", - "15/16, train_loss: 0.2114\n", - "16/16, train_loss: 0.2078\n", - "epoch 16 average loss: 0.1974\n", - "current epoch: 16 current mean dice: 0.8994\n", - "best mean dice: 0.9015 at epoch: 14\n", - "----------\n", - "epoch 17/25\n", - "1/16, train_loss: 0.3255\n", - "2/16, train_loss: 0.1636\n", - "3/16, train_loss: 0.3300\n", - "4/16, train_loss: 0.0399\n", - "5/16, train_loss: 0.2085\n", - "6/16, train_loss: 0.0483\n", - "7/16, train_loss: 0.2150\n", - "8/16, train_loss: 0.1506\n", - "9/16, train_loss: 0.0446\n", - "10/16, train_loss: 0.4445\n", - "11/16, train_loss: 0.2692\n", - "12/16, train_loss: 0.2077\n", - "13/16, train_loss: 0.1515\n", - "14/16, train_loss: 0.0980\n", - "15/16, train_loss: 0.2110\n", - "16/16, train_loss: 0.2076\n", - "epoch 17 average loss: 0.1947\n", - "----------\n", - "epoch 18/25\n", - "1/16, train_loss: 0.3255\n", - "2/16, train_loss: 0.1614\n", - "3/16, train_loss: 0.3297\n", - "4/16, train_loss: 0.0381\n", - "5/16, train_loss: 0.2081\n", - "6/16, train_loss: 0.0422\n", - "7/16, train_loss: 0.2152\n", - "8/16, train_loss: 0.1485\n", - "9/16, train_loss: 0.0415\n", - "10/16, train_loss: 0.4442\n", - "11/16, train_loss: 0.2690\n", - "12/16, train_loss: 0.2070\n", - "13/16, train_loss: 0.1515\n", - "14/16, train_loss: 0.0980\n", - "15/16, train_loss: 0.2112\n", - "16/16, train_loss: 0.2068\n", - "epoch 18 average loss: 0.1936\n", - "current epoch: 18 current mean dice: 0.8991\n", - "best mean dice: 0.9015 at epoch: 14\n", - "----------\n", - "epoch 19/25\n", - "1/16, train_loss: 0.3254\n", - "2/16, train_loss: 0.1635\n", - "3/16, train_loss: 0.3297\n", - "4/16, train_loss: 0.0372\n", - "5/16, train_loss: 0.2078\n", - "6/16, train_loss: 0.0424\n", - "7/16, train_loss: 0.2145\n", - "8/16, train_loss: 0.1483\n", - "9/16, train_loss: 0.0402\n", - "10/16, train_loss: 0.4436\n", - "11/16, train_loss: 0.2695\n", - "12/16, train_loss: 0.2076\n", - "13/16, train_loss: 0.1514\n", - "14/16, train_loss: 0.1009\n", - "15/16, train_loss: 0.2116\n", - "16/16, train_loss: 0.2071\n", - "epoch 19 average loss: 0.1938\n", - "----------\n", - "epoch 20/25\n", - "1/16, train_loss: 0.3256\n", - "2/16, train_loss: 0.1616\n", - "3/16, train_loss: 0.3302\n", - "4/16, train_loss: 0.0376\n", - "5/16, train_loss: 0.2080\n", - "6/16, train_loss: 0.0756\n", - "7/16, train_loss: 0.2150\n", - "8/16, train_loss: 0.1476\n", - "9/16, train_loss: 0.0400\n", - "10/16, train_loss: 0.4440\n", - "11/16, train_loss: 0.2686\n", - "12/16, train_loss: 0.2071\n", - "13/16, train_loss: 0.1512\n", - "14/16, train_loss: 0.0990\n", - "15/16, train_loss: 0.2103\n", - "16/16, train_loss: 0.2066\n", - "epoch 20 average loss: 0.1955\n", - "current epoch: 20 current mean dice: 0.8984\n", - "best mean dice: 0.9015 at epoch: 14\n", - "----------\n", - "epoch 21/25\n", - "1/16, train_loss: 0.3253\n", - "2/16, train_loss: 0.1599\n", - "3/16, train_loss: 0.3295\n", - "4/16, train_loss: 0.0370\n", - "5/16, train_loss: 0.2074\n", - "6/16, train_loss: 0.0587\n", - "7/16, train_loss: 0.2138\n", - "8/16, train_loss: 0.1483\n", - "9/16, train_loss: 0.0479\n", - "10/16, train_loss: 0.4449\n", - "11/16, train_loss: 0.2684\n", - "12/16, train_loss: 0.2082\n", - "13/16, train_loss: 0.1520\n", - "14/16, train_loss: 0.1122\n", - "15/16, train_loss: 0.2110\n", - "16/16, train_loss: 0.2088\n", - "epoch 21 average loss: 0.1958\n", - "----------\n", - "epoch 22/25\n", - "1/16, train_loss: 0.3258\n", - "2/16, train_loss: 0.1628\n", - "3/16, train_loss: 0.3298\n", - "4/16, train_loss: 0.0395\n", - "5/16, train_loss: 0.2082\n", - "6/16, train_loss: 0.0614\n", - "7/16, train_loss: 0.2181\n", - "8/16, train_loss: 0.1566\n", - "9/16, train_loss: 0.0650\n", - "10/16, train_loss: 0.4442\n", - "11/16, train_loss: 0.2693\n", - "12/16, train_loss: 0.2118\n", - "13/16, train_loss: 0.1532\n", - "14/16, train_loss: 0.0998\n", - "15/16, train_loss: 0.2121\n", - "16/16, train_loss: 0.2076\n", - "epoch 22 average loss: 0.1978\n", - "saved new best metric model\n", - "current epoch: 22 current mean dice: 0.9054\n", - "best mean dice: 0.9054 at epoch: 22\n", - "----------\n", - "epoch 23/25\n", - "1/16, train_loss: 0.3266\n", - "2/16, train_loss: 0.1723\n", - "3/16, train_loss: 0.3315\n", - "4/16, train_loss: 0.0413\n", - "5/16, train_loss: 0.2091\n", - "6/16, train_loss: 0.0807\n", - "7/16, train_loss: 0.2143\n", - "8/16, train_loss: 0.1514\n", - "9/16, train_loss: 0.0432\n", - "10/16, train_loss: 0.4441\n", - "11/16, train_loss: 0.2704\n", - "12/16, train_loss: 0.2081\n", - "13/16, train_loss: 0.1532\n", - "14/16, train_loss: 0.0983\n", - "15/16, train_loss: 0.2106\n", - "16/16, train_loss: 0.2072\n", - "epoch 23 average loss: 0.1976\n", - "----------\n", - "epoch 24/25\n", - "1/16, train_loss: 0.3257\n", - "2/16, train_loss: 0.1711\n", - "3/16, train_loss: 0.3307\n", - "4/16, train_loss: 0.0376\n", - "5/16, train_loss: 0.2077\n", - "6/16, train_loss: 0.0705\n", - "7/16, train_loss: 0.2141\n", - "8/16, train_loss: 0.1482\n", - "9/16, train_loss: 0.0392\n", - "10/16, train_loss: 0.4439\n", - "11/16, train_loss: 0.2688\n", - "12/16, train_loss: 0.2070\n", - "13/16, train_loss: 0.1512\n", - "14/16, train_loss: 0.0969\n", - "15/16, train_loss: 0.2098\n", - "16/16, train_loss: 0.2062\n", - "epoch 24 average loss: 0.1955\n", - "saved new best metric model\n", - "current epoch: 24 current mean dice: 0.9060\n", - "best mean dice: 0.9060 at epoch: 24\n", - "----------\n", - "epoch 25/25\n", - "1/16, train_loss: 0.3251\n", - "2/16, train_loss: 0.1621\n", - "3/16, train_loss: 0.3298\n", - "4/16, train_loss: 0.0367\n", - "5/16, train_loss: 0.2075\n", - "6/16, train_loss: 0.0430\n", - "7/16, train_loss: 0.2132\n", - "8/16, train_loss: 0.1490\n", - "9/16, train_loss: 0.0390\n", - "10/16, train_loss: 0.4432\n", - "11/16, train_loss: 0.2699\n", - "12/16, train_loss: 0.2080\n", - "13/16, train_loss: 0.1520\n", - "14/16, train_loss: 0.0959\n", - "15/16, train_loss: 0.2101\n", - "16/16, train_loss: 0.2057\n", - "epoch 25 average loss: 0.1931\n", - "train completed, best_metric: 0.9060 at epoch: 24\n" - ] - } - ], + "outputs": [], "source": [ "max_epochs = 25\n", "val_interval = 2\n", @@ -1443,23 +672,10 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "5cf1fd04", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plt.figure(\"train\", (12, 6))\n", "plt.subplot(1, 2, 1)\n", @@ -1498,21 +714,10 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "29441405", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model.load_state_dict(torch.load('monai_data/best_metric_model_pretrained.pth'))" ] @@ -1527,7 +732,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "94615f38", "metadata": {}, "outputs": [], @@ -1552,33 +757,10 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "a3f78dd4", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVcAAAGrCAYAAAB0YdR6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAdzklEQVR4nO3de5hddX3v8fd3ksAEk4bEEC4JBaQBmvLYUANSbqXi4WLFoB4grcdDz7GktWAbq5aLPkeg1MeqWI/Xc1DBiAoFuXpOtVw0TeUgZOSBcEkxQdIkJFwihAHBkMv3/LFXcBNmJpnLb9beM+/X8+xnr/1bt+9a2fnMb//W2jORmUiShlZH3QVI0khkuEpSAYarJBVguEpSAYarJBVguEpSAYbrKBUR34+Iswpsd/+IyIgYO9TbrrafEfFbg9zGRRHxraGqaQf7Oj4i1hTa9sqIeGuJbWvwDNc2EhEvND22RsRLTa/f059tZeYpmbmwVK19iYg/iYiuqu51VdAfU0ctOxIR34iISwtuf25E3BcR3RGxPiLuiIj9S+1Pw6dI70JlZOaEbdMRsRL4s8y8ffvlImJsZm4eztp2VkT8DXA+8BfAvwAvAycDc4Ef11jasKt64N8E3gX8EJgAnAhsrbMuDQ17riPAto+eEXFeRDwBXBkRkyPi/0TE0xHxbDU9o2mdRRHxZ9X0n0bEjyPiM9Wyj0XEKU3LToqIr1e9zMcj4tKIGFPNG1Ottz4ifg78UR91TgIuAc7JzBsy85eZuSkzv5eZH6mWOSIi7oqIDdX+vhgRu/SyvfERcVlE/EdEPFcdw/iePor39RE6Iq6LiCeqbSyOiN+p2ucD7wH+tuplf69q3ycirq/O7WMR8Vfb1fSN6jw+DBzexz/dbOCxzLwjG57PzOszc1W1rYsi4rsR8U8R8XxE3BsRv9vLMXRExPkR8WhE/CIiro2IKU3zj4yI/1ed1/sj4vimeYsi4u8i4s5qP7dGxNQ+6tZOMFxHjr2AKcB+wHwa/7ZXVq9/E3gJ+GIf678ZeASYCnwK+HpERDVvIbAZ+C3gMBq9qz+r5p0NvL1qnwP85z728ftAJ3BjH8tsAT5Y1fH7wAnAX/ay7GeANwFH0Tj2v2Vgvb7vAzOBacC9wLcBMvPyavpTmTkhM0+NiA7ge8D9wPSqvgURcVK1rY8DB1aPk4C+xrXvBQ6JiH+MiD+MiAk9LDMXuK46vu8AN0XEuB6W+yvgNOAPgH2AZ4EvAUTEdOD/ApdW2/kwcH1E7NG0/p8A/606B7tUy2gwMtNHGz6AlcBbq+njaXy87uxj+dnAs02vF9EYVgD4U2BF07zdgKQR2HsCG4HxTfP/GPhRNf1D4C+a5p1YrTu2hxreAzzRz+NcANzY9DpphHwHjR8Yv9vDOscDa/o4XxcB3+plf7tX+5hUvf4GcGnT/DcDq7Zb5wLgymr658DJTfPmb1/LduseCVwLPA38qtrfhKY6f9K0bAewDji2h2NaBpzQtOzewCYaQ3/nAVdtt99/Ac5qei98rGneXwI/qPs93u4Px1xHjqcz81fbXkTEbsA/0hjPnFw1T4yIMZm5pYf1n9g2kZkvVp3WCTR6OuOAdb/uyNIBrK6m92maBviPPmr8BTC1rzHhiDgI+CyNXvBuNMLhpz0sOpVGL/jRPva3Q9Xwxt8DpwN78Oue71TguR5W2Q/YJyI2NLWNAf6tmu7P+SAzfwKcUdVyOPBPwEdpBDbN28rMrdVwxz691HVjRDT33LfQ+OG4H3B6RJzaNG8c8KOm1080Tb9I499eg+CwwMix/a83+xBwMPDmzPwN4LiqPeif1TR6rlMzc/fq8RuZ+TvV/HXAvk3L/2Yf27qLRu/stD6W+Qrw78DMqu4Le6l5fbWtA3uY90sawQy8EqB79LAcND4OzwXeCkwC9t+2WvW8/XldTWOcdPemx8TMfFs1vz/n41UycwlwA3BoU/Mr26qGJGYAa3tYfTVwynZ1dWbm49W8q7ab97rM/OTO1qb+M1xHrok0PjZvqC5sfHwgG8nMdcCtwGUR8RvVhZMDI+IPqkWuBf4qImZExGQadwL0tq3ngP8BfCkiTouI3SJiXEScEhGfaqq7G3ghIg4B3t/LtrYCVwCfrS4wjYmI34+IXYGfAZ0R8UfV+OTHgF17KWsijR8ev6ARyJ/Ybv6TwBuaXt8DdEfj4uH4ar+HVr3ObefjgmhcUJwBfKC38xERx0TE2RExrXp9CPAO4CdNi70pIt4VjfuGF1S1/uQ1G4P/Bfx9ROxXbWuPiJhbzfsWcGpEnFTV21ld9JvRw3Y0RAzXketzwHgaPbyfAD8YxLb+K42LHA/TuFDyXRpjegBfpTF+dz+NCzQ39LWhzPws8Dc0Au9pGr2qc4GbqkU+TKM3+Xy17X/qY3MfBh4AlgDPAP8AdFQh/pfA14DHafRke7uR/5s0Pro/Xh3f9sH1dWBWdZX9pmpI5VSqK/00zu/XaPR6AS6utvcYjR9KV/VR/wYaYfpARLxA49/oRhoXFLe5GTiTxnl/L/CuzNzUw7b+J3ALcGtEPF8dx5sBMnM1jd75hfz6nH8E//8XFdUAtqQWExEXAb+Vmf+l7lrUf/7kkqQCDFdJKqDYsEBEnExjHGgM8DWvTEoaTYqEa3Xry8+A/0TjQsIS4I8z8+Eh35kktaBSXyI4gsY3fn4OEBHX0Lha2WO4RoRX1SS1pczs8d7xUmOu03n1t1TWVG2viIj50fi1c12FapCk2pTqufaU5K/qnWbjl2JcDvZcJY08pXqua3j1VwB7+8qeJI1IpcJ1CTAzIg6Ixu/inEfj2yOSNCoUGRbIzM0RcS6Nr0WOAa7IzIdK7EuSWlFLfP3VMVdJ7Wq47xaQpFHNcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAgxXSSrAcJWkAsbWXYA0WEceeSTf+973hmRbRx99ND/72c+GZFsa3QxXtZ299tqLSy655JXX+++/P1OnTh2SbX/605/mm9/8Jtdff/2QbE+jl+GqlnXIIYcwYcKE17QfeuihnH322UX2+Y53vIPMZNmyZTz88MNF9qHRITKz7hqIiPqLUMtZtWoV++67by37fvrpp5k2bVot+1Z7yczoqd0LWmop55xzDt3d3XR3d7PPPvvUXY40YA4LqFZHH300H/nIR155ffDBBzNx4sQaK5KGhuGqYRcRvPWtb2Xs2LGceOKJzJ07t+6SpCHnmKuGTUdHBxFBZ2cnzz77LOPGjau7pF455qqdVWTMNSJWRsQDEXFfRHRVbVMi4raIWF49Tx7MPjRy3HTTTbzwwgusX7++pYNVGgpDcUHrDzNzdmbOqV6fD9yRmTOBO6rXGqVmzZrF4sWLWbx4McceeyydnZ10dnbWXVaf7r77bj70oQ/VXYbaXIkx17nA8dX0QmARcF6B/aiFvfvd76azs5Pf/u3f5thjj627nH659957ueqqq+ouQ21usOGawK3VmOn/zszLgT0zcx1AZq6LCAeuRpGIYPz48Vx55ZVe9deoNthwPToz11YBeltE/PvOrhgR84H5g9y/Wszs2bO55557GDvWG1E0ug1qzDUz11bPTwE3AkcAT0bE3gDV81O9rHt5Zs5pGqtVm/vgBz/Idddd19bBev755/OFL3yh7jI0Agw4XCPidRExcds0cCLwIHALcFa12FnAzYMtUq3vve99L/PmzePAAw+su5RB+cEPfsCyZcvqLkMjwGC6GHsCN0bEtu18JzN/EBFLgGsj4n3AKuD0wZepVtTZ2cluu+0GwOc+9zmmTJlSc0UDl5ls3LiRLVu21F2KRgi/RKAB+8QnPsF55zVuBOnoaO9fU9Hd3c2UKVMMV/Vbb18iaN/BMdXq9ttvZ86cOW0fqgB33nknF154ocGqIdX+/zNUi4MOOohJkybVXcag3XXXXSxcuJDFixfXXYpGGHuu6peOjg5mzJjR1ncENLvwwgtZtGhR3WVoBBoZ/0M0bKZNm8bKlSupLmRK6oXDAtppZ599NkuXLm37YF2yZAmHH344hx9+OHfffXfd5WiEsueqnbJgwQLe8573sMcee9RdyqB1d3fT1dVVdxka4QxX9amjo4NZs2axYMEC9ttvv7rLGbDM5JlnniEzWb16dd3laBTwPlf1adKkSfziF79gzJgxdZcyKBs3bmTixIls2rSp7lI0wvgHCjVqLV26lEMOOcRg1bAyXNWro446ioULF7b1FwVuu+02LrvsMlauXFl3KRplHHNVj2bNmsW73/3utvzjgRs3buSJJ54A4Mtf/jI33XRTvQVpVHLMVa/R0dFBV1cXhx12WN2l9Ftm8vDDD3PooYfWXYpGCcdctVN22WUXnn32Wd74xjfWXcqAXHzxxRxzzDF1lyE5LKBX6+joYPz48W13d0BmcvHFF3PttdeyYcOGusuRHBbQq3V2dtLd3d12f/o6M9lrr7146qke//CFVIzDAhqxMpPNmzezdevWukuRXmG4qu2tWbOGyZMns379+rpLkV5huOoVxx57LHfddVdbjbd+//vf59xzz+WXv/xl3aVIr+IFLQHw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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fig = plt.figure(frameon=False, figsize=(7,7))\n", "plt.title('Trained Calculated Spleen')\n", @@ -1587,33 +769,10 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "a67f89f2", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fig = plt.figure(frameon=False, figsize=(7,7))\n", "plt.title('Differences Between Actual and Model')\n", @@ -1623,33 +782,10 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "382c7285", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVcAAAGrCAYAAAB0YdR6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAfZElEQVR4nO3de5RedX3v8feXXMbABEzCRRLuECBJixFSrtLC0Roay4ltjxq8AC1HbFVOXWoL6hGilVV6Wi/rrJ5asYABQaQKEj16ABGl1gKGS4CQAgFCMhBzAQK5QEIy3/PHsyc+hJnMZGZ+2XN5v9Z61rP3b1+e7/7Nns/s5/dcJjITSVL/2q3uAiRpKDJcJakAw1WSCjBcJakAw1WSCjBcJakAw7VmEfHPEfG5pvm/iIiVEbE+IiZExCkR8Xg1/64aS1U/i4hvRsQX665jRyIiI+KIHqx3WkS07YqaBgvDtaCIWBoRL0fEuohYGxG/jIg/j4ht/Z6Zf56Zf1OtPwr4MvCOzGzNzOeALwD/WM1/v5YDKSQi5kbEq9UfjvURsTgi/mQntl8aEW8vWWNvRcRBTce1vgqpDU3zp/bz4/2seow3b9f+/ar9tP58PHXPcC3vzMwcCxwMXAZcCFzRxbr7AW8AFjW1HbzdfI9FxMjebLeLfaf6w9EKfBz4VkTsV3NNfZaZyzqOqzo2gDc3tf1bgYd9DDi7YyYiJgAnAqsLPJa6YbjuIpn5YmbOB94LnBMRvwW/eWoYEUcCj1arr42In0bEE8BhwA+qq52WiNgrIq6IiBUR8Uy17YhqX+dGxL9HxFci4nlgbrXNP0TEsmq44Z8jYky1/mkR0RYRn4yIVdU+/7Sj5ogYExFfioinI+LFiPhF07YnVlfiayNiYfOVUVXHk9UV+1MR8f4e9tEtwDrg8KZ9/WFEPNB05X9M1X4NcFBT3/x1RMyLiE9WyydVV2wfqeaPiIjnIyJ2tN9q2cSI+F5ErK7q/x9Ny+ZGxA0RcXV1fIsiYkZPjq8L4yLi/1b7ujsimo/96Ii4rar70Yh4Tzf7uhZ4b8f5AJwF3ARsbtpnS0R8NSKerW5fjYiWpuV/VZ0Hz0bEnzXvfEfn0vYi4sLq/FxX1f62neyXwS8zvRW6AUuBt3fSvgz4i2r6m8AXq+lDgARGdrUP4PvA14E9gH2Be4APV8vOBbYAFwAjgTHAV4H5wHhgLPAD4G+r9U+r1v8CMAqYBWwExlXL/w/wM2ASMAI4GWip5p+r1t8N+P1qfp+qrpeAo6p97A9M66J/5gLfqqYDeCewFnhj1XYssAo4oXr8c6r+aOmib/4M+EE1/T7gCRpXxh3Lbu5uv9Xx3AtcDIym8cftSWBmU82vVMc+Avhb4K4enAsJHLFd2zeB54Hjq5/XtcD11bI9gOXAn1bLjgXW7KAvfwb8d+BW4A+qtnuAk4A24LSq7QvAXTTOnX2AXwJ/Uy07A1gJ/Fb1+Nc1103351JbNX1UVfvEpvP68Lp/H3f573/dBQzl2/a//E3tdwGfraa/SQ/DlcawwSZgTNPys4A7qulzgWVNywLY0HxiV79sT1XTpwEvb/d4q2g8ldytWvbmTuq/ELhmu7ZbaITUHjQC8k+a6+yif+bSuKpaSyPUtwJ/3bT8ax2/+E1tjwK/11n/0rjiXVvV/s/Ah5t+4ecBn+huvzQCd9l2yz4NXNVU80+alk0FXu7BudBVuP5L0/ws4D+r6fcC/7bd+l8HLuli/z+jEa4fAL5NI+Aeq5Y1h+sTwKym7WYCS6vpK4HLmpYd2VF3D8+ljr4+ojqP3g6Mqvv3sK7bYBiTG4om0bhi2VkH07jCXFE9u4VGkCxvWqd5eh9gd+DepvWDxhVXh+cyc0vT/EagFdibxvjvE13U8e6IOLOpbRSNkN8QEe8FPgVcERH/DnwyM/+zi2O6ITM/ABARhwA/jIgXM/Pr1eOcExEXNK0/GpjY2Y4y84mIWA9MB04F/gY4LyKOohGc/7up/q72uxWYGBFrm5aNAJrHSH/dNL0ReENEjNyuH3tq+311jM8eDJywXR0jgWu62d+NwJdoPJPobN2JwNNN80/zm/6cSOOqvXlZh56cSwBk5pKI+DiNP0TTIuIWGn/Ynu2m9iHFcN3FIuJ3aITrL3qx+XIaV6577+AXuflrztbQuPqclpnP7ORjraHx9PdwYGEndVyTmR/qtIDG2Okt1XjcF4Fv0Ai7HcrMpRHxY+BMGldpy4FLM/PSrjbppO3nwH8DRmfmMxHxcxov8owDHmiqv9P9RkTH1djk7uotbDnw88z8/Z3ZKDM3Vn34FzSNXTd5lte+SHpQ1QawAjiwad2DmqZ36lzKzOuA6yJiTxo/y78DPrgThzLo+YLWLhIRe0bEHwLX0xhnfGhn95GZK2iMqX2p2t9uEXF4RPxeF+u30wi2r0TEvlUdkyJiZg8eq53G08QvVy/wjIiIk6oXP74FnBkRM6v2N0TjxbEDImK/iPivEbEHjT8E62lcDXYrIg6gMe7X8Yv/DeDPI+KEaNgjIt4ZEWOr5StpjIk2+znwMeDOav5nNMagf5GZHXXsaL/3AC9VL8iMqY7vt6o/irvSD4EjI+KDETGquv1OREzpwbafoTF0srSTZd8G/mdE7BMRe9MYW/5WtewG4NyImBoRuwOXdGy0M+dSRBwVEf+lOldeoRHKPToHhhLDtbwfRMQ6Glcin6XxPtY/3fEmO3Q2jaewjwAvAN+l8aJRVy4ElgB3RcRLwE9ojMf1xKeAh4Bf0RjG+Dtgt8xcDsym8Uu8msax/RWN82k34JM0roaep/F0/CM7eIz3RvXez+px/h34PEBmLgA+BPxjdaxLaIwrd/hbGkGxNiI+VbX9nMaLLR3h+gsaT2c75ne43yqAz6QxtPAUjSu2fwH26q6z+lNmrgPeAcyh0Ze/ptH/LTvartr22czs6pnRF4EFwIM0frb3VW1k5o9pvGj1Uxp98tPttu3pudRC422Ha6q696VxrgwrUQ1AS5L6kVeuklSA4SpJBRQL14g4o/pkxpKIuKjU40jSQFRkzLX6+N1jND6500bjhYqzMvORfn8wSRqASr3P9XhgSWY+CRAR19N4dbnTcG1tbc0JEyYUKkWSynjuuedYv359dLasVLhO4rWfFGqj8bHCbSLifOB8gPHjx3PRRY4cSBpcLrvssi6XlRpz7SzJXzP+kJmXZ+aMzJzR2trayeqSNHiVCtc2XvsxugP4zUfsJGnIKxWuvwImR8ShETGaxqdM5hd6LEkacIqMuWbmloj4GI2voRsBXJmZvfo2fUkajIp9K1Zm/gj4Uan9S9JA5ie0JKkAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSCjBcJakAw1WSChhZdwFSX5x++umMGzeOG2+8sdf7WLBgAT/84Q8BuOCCC5gwYUJ/ladhzHDVgDdmzBhOOeWUbfMbN27kl7/8JQArV65kw4YNfdr/Pvvsw6mnngo0gvbwww/niCOO6NM+JcNVA97o0aOZNGnStvnmMH3kkUf6vP+DDz6Ygw8+GIC5c+eybt069tprL/bZZ58+71vDl+GqAe/FF19k3rx5u+SxIoKf/vSnLFq0iEsuuWSXPKaGJsNVtRs9ejTvf//7iQieeeYZbrnlltpq+cQnPsEdd9zB/fffX1sNGhoMV9XmxBNPJDNZsGABixcvJiJ4/vnna61p7Nix7L777rXWoKHBcFVt9txzT9rb29m6dSt33XVX3eVI/cpw1S4REWTma9puvfXWmqqRyuvThwgiYmlEPBQRD0TEgqptfETcFhGPV/fj+qdUDVYRwbnnnstb3vKWukuRdpn++ITW6Zk5PTNnVPMXAbdn5mTg9mpew9CMGTN4+9vfTmZy3333sXz58rpL6pFp06bxnve8p+4yNMiV+PjrbKDjfTPzgHcVeAwNYJnJkiVLePnllxk5sjHytHDhQtasWVNzZT2z//77M2XKlLrL0CDX1zHXBG6NiAS+npmXA/tl5gqAzFwREfv2tUgNPvPmzWP16tWcdNJJdZci1aKv4XpKZj5bBehtEfGfPd0wIs4HzgcYP358H8vQQHPJJZew225+L5CGrz6d/Zn5bHW/CrgJOB5YGRH7A1T3q7rY9vLMnJGZM1pbW/tShgaAM888k2OPPRZovIA1cuRIw1XDWq/P/ojYIyLGdkwD7wAeBuYD51SrnQPc3NciNfBt3ryZLVu21F2GNGD0ZVhgP+CmiOjYz3WZ+f8i4lfADRFxHrAMeHffy9RAV+dHVqWBqNfhmplPAm/upP054G19KUqSBjsHxSSpAMNVkgowXNVjo0ePZq+99qq7jH7R3t7Oiy++yNatW+suRUOU4aoemz59Ou9+99B4fXLjxo185jOfYcWKFXWXoiHKb8VSjz388MM8/fTTdZfRL3bffXc+97nP+c8IVYzhqh7buHEjGzdurLuMPrn33nsZM2YMU6dO5U1velPd5WgIc1hAO9Te3s7q1at59dVX6y6l11555RVWr15NZrJo0SKWLl1ad0kaBgxX7dDmzZv5/Oc/z7Jly+oupVc6vqHr0ksvpb29nbPPPptZs2bVXZaGAYcF1KVp06YxY8YMNm/ePGj/r9R3vvMdNm/ezNy5c/2uA+1Shqu6tHr1ah577DH22muv1/2LlsHimGOOAeCNb3xjvYVo2DFc1anVq1ezZs0aVq3q9EvNBo2pU6fWXYKGKZ8n6TUyk/b2dm688Ubmz59fdznSoOWVq15j69atXHzxxcyZM4cjjzyy7nKkQcsrV73Ohg0bGDlyJG94wxvqLmWnzJo1iyOOOKLuMiTAcNV2IoKjjjpqUL47YPfdd2f06NF1lyEBDgtoOy0tLXzkIx+pu4xe+e53v1t3CdI2Xrlqm6OPPppzzz2XUaNG1V2KNOgZrtqmra2N//iP/xhU/wvrhBNOYObMmXWXIb2OwwLaZv369SxatKjuMnZKe3s77e3tdZchvY7hOsxlJps2bWLUqFGMGDGi7nJ2SktLC/fdd59feK0ByWGBYS4zufjii1m4cGHdpey0973vfZxwwgl1lyF1yivXYezXv/411157Leeddx4TJ06su5ydFhFU/9pdGnAM12Hqqaeeoq2tjQMPPJBDDjmElpaWukvaaW1tbTz33HN1lyF1ynAdpu69916eeOIJLrzwwrpL6bVbb7217hKkLjnmKkkFGK6SVIDDAsPUlClTBuWLWNJgYbgOM5nJCy+8wGGHHcaYMWPqLmenjBs3jk2bNg36/0Cr4cFhgWHo7//+77n//vvrLmOnzZ49mxNPPLHuMqQe8cpVg8bNN9/Mpk2b6i5D6hHDVYPGCy+8UHcJUo85LDAMTZw4cVB+GbY0mHjlOsxEBBdccEHdZUhDnleuklSA4aoB5YgjjuCMM86ouwypzwxXDRgHHHAAb3rTmxg7dmzdpUh95pirBoxTTz2V9evX86//+q91lyL1mVeuklSAV67qlZkzZ9La2rpt/vbbb2ft2rV92ue9997rhwQ0ZBiuw0xm8vjjjzNhwgQmTJjQ7fojRoxgypQpr2tvaWmhtbV12/tlp0yZwrp163j11Vd59NFHe1XbY489BsDIkSM5+uijeeKJJ3j55Zd7tS+pbobrMHTVVVdx5plncvLJJ3e5zsiRjVNjxIgRnHTSSa/7dyo//vGPOeigg5g2bRoA06dPB2Djxo29DtcOLS0tnHzyybz44ossX768T/uS6mK4qlOzZ8+mvb2dm266iauuuup1y7ds2UJbWxt33303AB/4wAf67Vu2NmzYwJVXXsmWLVv6ZX9SHQzXYehDH/oQixcv5qtf/epr2idPnsw73/lOAO6++24yE6DLkMvMbcvuvPNOjjnmGPbdd1/OOuss5s+fz4YNG3pdo8Gqwc5wHWYigsMOO4wXXnjhdV+E0vwCVVtb207t98knn2Ts2LHbAvm3f/u3efrpp1mxYkXfi5YGIcN1mDruuOM47rjj+nWfCxcuZOHChQCcffbZjBw5krVr1/qilIYl3+eqIq6++mr23HNP/viP/7juUqRaeOWqYu666y5aWlqICObMmcODDz7IokWL6i5L2iW8clUxzz//PCtWrCAzWb16NRs2bGD8+PGcfPLJjBgxou7ypKIMV+0SP/nJT1i6dCkTJkzgqKOOYu+992bUqFF1lyUVY7hql3r88ce55pprmD17NkcffXTd5UjFOOaqXW7Lli18//vf56STTuK4445j69atXHfddWzdurXu0qR+Y7iqFqtWrWLZsmW89NJLAJx++unb2h988MHXrPvyyy9z55138ta3vpU99thjl9cq9Ybhqtrcf//9AIwePZo5c+YQEYwePZo1a9a8Zr3nnnuOu+++mxkzZhiuGjQMV9Vu8+bNXH311QAcf/zxzJ49+zXLX3nlFb+KUIOO4aoB5YEHHtj21YMd2tvba6pG6j3DVQPK5s2b2bx5c91lSH3mW7EkqYBuwzUiroyIVRHxcFPb+Ii4LSIer+7HNS37dEQsiYhHI2JmqcIlaSDryZXrN4Ht/5H8RcDtmTkZuL2aJyKmAnOAadU2/xQRfs5R0rDTbbhm5p3A89s1zwbmVdPzgHc1tV+fmZsy8ylgCXB8/5QqSYNHb8dc98vMFQDV/b5V+ySg+Z8etVVtrxMR50fEgohYsH79+l6WIUkDU3+/oBWdtGVnK2bm5Zk5IzNnNH8DviQNBb0N15URsT9Adb+qam8DDmxa7wDg2d6XJ0mDU2/DdT5wTjV9DnBzU/uciGiJiEOBycA9fStRkgafbj9EEBHfBk4D9o6INuAS4DLghog4D1gGvBsgMxdFxA3AI8AW4KOZ6VcdSRp2ug3XzDyri0Vv62L9S4FL+1KUJA12fkJLkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgroNlwj4sqIWBURDze1zY2IZyLigeo2q2nZpyNiSUQ8GhEzSxUuSQNZT65cvwmc0Un7VzJzenX7EUBETAXmANOqbf4pIkb0V7GSNFh0G66ZeSfwfA/3Nxu4PjM3ZeZTwBLg+D7UJ0mDUl/GXD8WEQ9WwwbjqrZJwPKmddqqtteJiPMjYkFELFi/fn0fypCkgae34fo14HBgOrAC+FLVHp2sm53tIDMvz8wZmTmjtbW1l2VI0sDUq3DNzJWZuTUz24Fv8Jun/m3AgU2rHgA827cSJWnw6VW4RsT+TbN/BHS8k2A+MCciWiLiUGAycE/fSpSkwWdkdytExLeB04C9I6INuAQ4LSKm03jKvxT4MEBmLoqIG4BHgC3ARzNza5HKJWkA6zZcM/OsTpqv2MH6lwKX9qUoSRrs/ISWJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAYarJBVguEpSAd2Ga0QcGBF3RMTiiFgUEX9ZtY+PiNsi4vHqflzTNp+OiCUR8WhEzCx5AJI0EPXkynUL8MnMnAKcCHw0IqYCFwG3Z+Zk4PZqnmrZHGAacAbwTxExokTxkjRQdRuumbkiM++rptcBi4FJwGxgXrXaPOBd1fRs4PrM3JSZTwFLgOP7uW5JGtB2asw1Ig4B3gLcDeyXmSugEcDAvtVqk4DlTZu1VW3b7+v8iFgQEQvWr1/fi9IlaeDqcbhGRCvwPeDjmfnSjlbtpC1f15B5eWbOyMwZra2tPS1DkgaFHoVrRIyiEazXZuaNVfPKiNi/Wr4/sKpqbwMObNr8AODZ/ilXkgaHnrxbIIArgMWZ+eWmRfOBc6rpc4Cbm9rnRERLRBwKTAbu6b+SJWngG9mDdU4BPgg8FBEPVG2fAS4DboiI84BlwLsBMnNRRNwAPELjnQYfzcyt/V24JA1k3YZrZv6CzsdRAd7WxTaXApf2oS5JGtT8hJYkFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFWC4SlIBhqskFdBtuEbEgRFxR0QsjohFEfGXVfvciHgmIh6obrOatvl0RCyJiEcjYmbJA5CkgWhkD9bZAnwyM++LiLHAvRFxW7XsK5n5D80rR8RUYA4wDZgI/CQijszMrf1ZuCQNZN1euWbmisy8r5peBywGJu1gk9nA9Zm5KTOfApYAx/dHsZI0WOzUmGtEHAK8Bbi7avpYRDwYEVdGxLiqbRKwvGmzNjoJ44g4PyIWRMSC9evX73zlkjSA9ThcI6IV+B7w8cx8CfgacDgwHVgBfKlj1U42z9c1ZF6emTMyc0Zra+vO1i1JA1qPwjUiRtEI1msz80aAzFyZmVszsx34Br956t8GHNi0+QHAs/1XsiQNfD15t0AAVwCLM/PLTe37N632R8DD1fR8YE5EtETEocBk4J7+K1mSBr6evFvgFOCDwEMR8UDV9hngrIiYTuMp/1LgwwCZuSgibgAeofFOg4/6TgFJw0234ZqZv6DzcdQf7WCbS4FL+1CXJA1qfkJLkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpAMNVkgowXCWpgMjMumsgIlYDG4A1ddcyAOyN/WAfNNgPA78PDs7MfTpbMCDCFSAiFmTmjLrrqJv9YB90sB8Gdx84LCBJBRiuklTAQArXy+suYICwH+yDDvbDIO6DATPmKklDyUC6cpWkIcNwlaQCag/XiDgjIh6NiCURcVHd9exKEbE0Ih6KiAciYkHVNj4ibouIx6v7cXXX2d8i4sqIWBURDze1dXncEfHp6vx4NCJm1lN1/+qiD+ZGxDPV+fBARMxqWjbk+gAgIg6MiDsiYnFELIqIv6zaB//5kJm13YARwBPAYcBoYCEwtc6advHxLwX23q7tfwEXVdMXAX9Xd50Fjvt3gWOBh7s7bmBqdV60AIdW58uIuo+hUB/MBT7VybpDsg+qY9sfOLaaHgs8Vh3voD8f6r5yPR5YkplPZuZm4Hpgds011W02MK+ange8q75SysjMO4Hnt2vu6rhnA9dn5qbMfApYQuO8GdS66IOuDMk+AMjMFZl5XzW9DlgMTGIInA91h+skYHnTfFvVNlwkcGtE3BsR51dt+2XmCmiceMC+tVW3a3V13MPtHPlYRDxYDRt0PBUeFn0QEYcAbwHuZgicD3WHa3TSNpzeG3ZKZh4L/AHw0Yj43boLGoCG0znyNeBwYDqwAvhS1T7k+yAiWoHvAR/PzJd2tGonbQOyL+oO1zbgwKb5A4Bna6pll8vMZ6v7VcBNNJ7erIyI/QGq+1X1VbhLdXXcw+YcycyVmbk1M9uBb/Cbp7tDug8iYhSNYL02M2+smgf9+VB3uP4KmBwRh0bEaGAOML/mmnaJiNgjIsZ2TAPvAB6mcfznVKudA9xcT4W7XFfHPR+YExEtEXEoMBm4p4b6iusIk8of0TgfYAj3QUQEcAWwODO/3LRo8J8Pdb+iBsyi8QrhE8Bn665nFx73YTRe9VwILOo4dmACcDvweHU/vu5aCxz7t2k87X2VxpXIeTs6buCz1fnxKPAHdddfsA+uAR4CHqQRIvsP5T6ojuutNJ7WPwg8UN1mDYXzwY+/SlIBdQ8LSNKQZLhKUgGGqyQVYLhKUgGGqyQVYLhKUgGGqyQV8P8BvCQcf0k9HKQAAAAASUVORK5CYII=\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fig = plt.figure(frameon=False, figsize=(7,7))\n", "plt.title('Differences Between The Models')\n", @@ -1675,33 +811,10 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "91e83d40", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAHeCAYAAABZrkU3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOz9WYxdZ5YdDK5z53meI4IRDM4UJWpMVWYqqypdmS7DQ7lg1N9u94PbgAGXYfzv7eeGH/5Hvxn2QwP90mi3XfjRDRvVVS4hszJLaWVJTEoiJYoMkjFH3Hmep/M/RK4d+16SUgQZFKezAYJkDPeee4bvW3vttdc2TNOEFVZYYYUVVlhhhRVPHrZnfQBWWGGFFVZYYYUVL0tYwMoKK6ywwgorrLDihMICVlZYYYUVVlhhhRUnFBawssIKK6ywwgorrDihsICVFVZYYYUVVlhhxQmFBayssMIKK6ywwgorTiieGrAyDOPvGYZx2zCMu4Zh/Nun9T5WWGGFFVZYYYUVz0sYT8PHyjAMO4A7AH4KYAfAJwD+mWmaX534m1lhhRVWWGGFFVY8J+F4Sq/7PQB3TdO8DwCGYfy/AfxjAA8FVoZhWC6lVlhhhRVWWGHFixJl0zSTD/vG0yoFLgDYVv/f+e3XJAzD+FeGYXxqGManT+kYrLDCCiussMIKK55GbD7qG0+LsTIe8rUZVso0zf8E4D8BFmNlhRVWWGGFFVa8HPG0gNUOgCX1/0UAe0/pvaywwooTDsM4yI2owbTb7TBNE9Pp9Fke1isTdrsdhmFgMpkAABwOBwzDmLke82Gz2WC32zGZTDAej+FwOGC32zGdTmGaJobDIabTKdxut/wccHiNgYPr7nA4YJomJpMJDMOQnx0Oh3A4HHC73ZhMJphMJvK7NpsNNpsNw+EQk8lE3tMKK17FeFrA6hMA5wzDOA1gF8D/GcD/5Sm9lxVWWHGCYRgGnE4nAGA4HMJutyMQCGA8HqPT6Tzjo3v5wzAMhEIh2O121Ot1AEAymYTD4cBwOITNZoPH4xHwC0C+FolE0Gw2Ua/XEYlEEA6H0e12MRgMUCgU0G63sbi4iEgkgna7jdFoJCDINE04HA6kUimYpolyuQyXy4VoNIpWq4WdnR2Ew2Gsrq6i2WyiWq3K7/r9fvh8Puzt7aFer6PX62E8Hj+jM2iFFc82ngqwMk1zbBjG/wrgLwDYAfw/TNP88mm8lxVWvOjhdDrhcDiEYdCshGEYM9m/aZoYjUYAIIxGv9+X/8+zBIZhwGazfSuDQAZEv4/+93g8FobjZQqb7VBmqj/zswxeY308ZIJGo5FcZ8MwZsDVeDyGaZoCpJrNJqbTKQaDAUajkTBWvV4PADAYDOR3+L42mw2NRkN+bjgcAgC63S7G4zH6/T7K5TJ6vR663e4D9+VgMJhhsniM/ON2u+WeJjsGQBgwAj2LGbXiRY6nYrdw7IOwNFZWvMIRj8cRDocRjUbh8/kEOAWDQTgcDvR6PSmvjMdjlMtlmKYJl8uFTqeDnZ0dAJCyj96UnE4nXC6XbKIPC8Mw4PP5YLPZMBgM5H1e9rDb7XC73QAOgcHz/Lk1cNaA6qjxJL/L3ydAetS+Mf91p9MJu90Oh8MBp9OJdDotzJvdbkcoFBIw2O12Ua1WMRwO0e12H+sYrbDiO4xrpmm++7BvPK1SoBVWvDLB0pnT6UQgEJCNZzweC1DRYIcgiSzSYDBAp9PBdDpFq9USZqjdbsNut8trAAesBJmCfr+PwWAgr/swxmU6nc4wCA8L6mn0Mb0KwWvEfz/vn1sf35Mc65P+7nF+X9/3pmmi2WzCbrdjPB4LkAcgjBoZuUAggOl0itFoBI/HA5/PN/MaZGmtsOJ5DIuxssKKJwybzYZEIgG/34+LFy/C6XRiNBqh0+lgf39fSiSMwWCAfr+P4XD4XDMkVljxLCIYDCKbzaLf76PdbiOTyeDUqVPy/c8//xz7+/vP8AitsAKAxVhZYcXRgp1V8XgckUgEXq8XLpdLdCUsqbXb7Zmuqm63i+l0io2NjZkuKjJQBFCGYWA0GomWxAorrJiN0WiERqMhCUmtVpthyVgm5LOZSqXg8/lEjM9kxgornlVYjJUVVqhwuVzw+Xx46623cOnSJUSjUQQCAaytraFYLKJYLKLZbGJzc1NEwFZYYcV3H+l0GuFwGL/7u7+LeDyOUqmEZrOJv/iLv0Cr1XrWh2fFyx8WY2WFFQy73Q6Px4N4PC6dSOPxWFikwWCA9fV1DAYDBINBeDwe7O7uotFooNvtCuNkhRVWPLvodDqYTCa4ceMGQqEQRqMR+v0+fD6fdNhqf6155ssKK55WWIyVFa9UsOU7Go3izTffxGg0Qq1WQ6/XQ6fTQaPREO8gK6yw4sUIwzAQi8Xgcrng9XrhcDjg8/lgt9vhdDrRaDRw+/Ztq/xuxUnGIxkrC1hZ8VKGzWZDKpWCy+WC2+0WX57xeIxerwen04lQKCQM1Xg8lu/Ru8cKK6x4ccLr9Yq1g81mE7d6+rgNh0N4PB4kEgnU63Vsb29/+4taYcWjwyoFWvFqhc1mQyaTEffpyWSCYrGIdruNQqGAwWCAjY2NZ32YVlhhxQnFN2kePR4PMpkMEokELl68iM3NTezs7FilQSueSliMlRUvfKRSKQQCAcRiMTgcDmxtbaHf70vm6nK5YJqmGG2SubKsDqyw4tUIu90Or9cLj8eDcDiMXq+HWq2GTCaDCxcuoNvtotVqYXd3F8Vi8VkfrhUvRliMlRUvZxiGgUgkgoWFBeRyObhcLvR6PZTLZRQKBQs8WWGFFZhMJmi322i32yiXy3A6nfD7/VhcXMTrr7+OVquFRqOBTqdjASsrnjgsxsqKFy6i0SgikYjQ+P1+H9PpFB6PBzabDfV6XUw4n4f72worrHi+gnMKw+EwUqmUTB1gN2Gz2USv10O9Xrc0l1Y8KizGyooXOzjfzDRN+Hw+JJNJGb9y7949q5PPCiusOHJwNmS5XBYGy+1249SpU1hcXESxWES9Xhd7FStBs+I4YTFWVjz3kU6ncf78eZRKJZRKJQFUvHc7nY5V8rPCCiseO9g9SB2Wz+eD2+2G3++Hw+HA7du3LdNRK+bDYqyseHHCMAzY7XYZDuz1epHNZjGZTEQL0W63n/VhWmHFI8MwjBmW9agJLH+Hv6dfw4qnF1xrqMNKJBJwOp2IRCLw+/3Y2tpCp9OR68FxVlZY8bCwGCsrnrvIZDL43d/9XeTzeXzxxRcCtAaDgXhOWUZ/Vjwv4XAc5KcEQm63G16vF6lUCv1+H41GA8PhEP1+H06nEy6XC5PJRHQ9LEuZpolwOAyXy4XBYADTNOF0OgEAzWYTk8kEhmEICLDi6YXD4ZBr5XA4EAwG4fV6kUwmAQDXrl1Dp9N5xkdpxTMOi7Gy4vkObk7T6RRutxuRSASDwQAOh0Nc0a34boPlkXn2Rf+fYbPZAOChgJff+6b30WGaprwO2R79h18/yeAx6mPh57Tb7Q+cA/0zLpcLhmFgOp3CZrPB4/EgEAggl8vJwOB+vy/mlbT/mE6nmEwmME0T4/EYk8lERiix8cLj8QgAI5iaTqfy8/x90zRlfIs+f/ocWnH00IbBhmEgFArB7/cjGo3CMAx4PB6MRiM5/1aiZ4UOi7Gy4pmHz+fD5cuXMR6Pkc/nZZEaDAZot9vWwvUdBgEEAUIul4PX60U4HBZmhcABONi0qUvhzMV54OXxeGC32zEej2GapoBo/qzH45HfGY/H6HQ6AiY6nQ7q9ToajQaazSYGgwFGo5GIik8ivF4vQqEQ3G43fD4fbDYb7HY7QqGQNEpw/pxhGA+AmUAgIEwScOCZZLfb4XK5MBwO0ev1MBqNhHEdDAZwuVxwuVzyOf1+P5xO50yHK1/HNE0Mh0OMx2MMBgN5j1arhZs3b6LX66Hb7SIcDmNpaQmNRgOVSkXAWL1etxKTJwwyV06nEx6PB2+//TZcLhdu3bqFdrs9s25Z8cqExVhZ8XwFSxwAZOwMh6YOBgPUarVneHQvZmhQpDd+DXQ0+6LZmPnXsdls8Pl8yGQy8Pl8AqwmkwlcLhf8fr+8h9frhdfrRb/fl3IXAQFwCKyGwyFM04Tb7YZhGBgOhzAMA36/X46HYFoDDp/PB4/HA4fDIYDK4XBgMBhgOBxKOQ04ZJ74/0exTPzsdrsdgUAA0WgUPp9vZoBvJBKB1+tFPB6H3++Xc6U30IcBK30M4/FYRipNp1N0u120220RRxOkBQIBuFwudLtdjMdjmXNnt9sBQNgRuou73W4BUJ1OB81mE4lEQq6X0+mcMcElm8XQDSDzx60/33Q6FQA7z4Y9LCl/HhL1pxHD4VBsFwaDgQAsn8+H8XgMv98vQ6CtsMJirKz4zsPhcOD8+fPwer3odrvo9/solUqyEXATsuLoYbPZhHGJRCIYj8fo9/vw+/0IBoNwu91wOp0CINxuNxwOB6LRKFwulwAhskUARFuiwRlBh9YJsbxVKBRQq9UQi8UQCASkVEW2haxJOp0WzRxwABLIhrHMRXDH96Co2Ol0wuFwYDKZYDwe4+uvv8bu7q4ACLrvV6tVmKaJeDwO0zQFqPNYCaay2axskLzvCDr8fj88Ho/ckxqQEngyGQAwA1D4eYfDIbrdLkKhEJLJpLBLZED4fjzHBKUEXGT3eG64qcdiMQyHQ1QqFWGybDYbnE6nvNZ4PBZAQIDncDgEpHU6HYxGI2kECYfDMAwD3W53hu366quv4HK5EI/H0Wq1hA3TzyrPS7/ff+n1X4ZhwOfzweVywefzIRgM4urVq6jX6/jwww+tDuVXJyzGyopnG9wwOG3e6XQKm8AByS/7gvxtoTVNOgh0eP5ohKp1aQQ74XAYCwsLoksLhUIIBoMCiAKBALxer2zskUhENlzggF3idbDb7fD5fMLGEFhpxocCa7KOLpcLHo8HXq8Xw+FwRgfE92CpjfeAw+GYYUIIVjSrSX0S//B1Q6GQ+A09jEl5VOLI12dJjuCOQE4zcQSbD7s2ZKV4/chojcdjYd70ufN4PDOfhyCHwTFMPGd8XbJlvI52ux1utxuBQEBAEP+mJxMTFb4WAfRwOJSSrmbUCKw8Ho+8t9frRblchtvtRjqdRrvdhtvtltKmZr74/nxPngfNiulnXuvGXiRRPhOQXq8nCQ3Z4WAwKOVeS8Lw6oYFrKx46mEYBhYXFxGLxaSr5je/+Q3a7bZk4i/Cgvq0gyUvDXTYAg4AiUQC0WgUr7/+OoLBIOLxOAAIIzEajZBIJHD69Gl0Oh20Wi0BIp1OZ6ZMR9BDpsjr9QpjostkZEBYBuKG2mq1pBxCkBAKheBwOBAIBOB2u6VURw2Vz+eTzWY0GgnA8nq9ME1TjqvVagkboMt1bGggK0IrjkgkIhtdsViUkiMA7OzsAJgFWAQ4fr8f29vbiEajSCaT8Pv9UtbjufD7/VJupKdRu92W62KaJvr9vpQ0Cb4ajQbu3LmDUCiExcVFYafIKhJsjEYjDIdDAZMs9fV6PUynUwQCAWHZmIAAB95tk8kEo9FIAHCv15N7xev1Cgjz+/1wu92i9RqNRjAMA4lEAjabDd1uV14LgOi9otEo+v0+MpkMXC4XgsGggH+WH3l9eP7D4bCAsXa7jVqthm63KyCMYnwy1eVyWUD3YDBAvV5/YRjr6XSKWq2GRqOBfD6PcDiMH/zgB2i1Wrh9+7bMH7Ti1QsLWFnxVINAgYu77rYZDAavHKAiSCFwYqY+nU6FISGjRDaAm+7S0hIikQii0SgCgYAAq36/P1P6I+NANongiABIM1Dzf5Mxedgfbnbz2izNRpBt0bYYfG0yUFqzw3PxqPuAQI7AkfPc+Jmr1SparZaAOP7sN4XetKvVqoD7UCiEXq/3AGPG19clU90dya5AgiqCWYr6ee/PMzJkwXT5bp6p0izYZDKRsiNfh9eL15AMEY+Hwfto/rjtdvtMdyJwCKx02ZR/87106ZI/5/F4EIvFRHfE88CmBjKrPP7hcAi/3y+fiyXSeaaH5UzN7s2fq2cVBIHj8RhOp1PWNeBAOxqNRjEYDKQ71IpXIyxgZcVTC8MwsLq6ikwmI/T4V199JU7pz3pR/K6D5ZtgMIhoNCrAgowTs/1wOCwbMXAo7j979qxk/LqsRE0PcCCsvX//vrxnIBCQ0pAGQ3qDAiAsRigUmgFMD2MOCBbItpB5IWhut9sYDoczWh+Hw4F4PA6n04lmsymbLMtx4/EY3W5XSir8LPV6Hfl8XpiqW7duYWtra6aUxOM8qq3AdDpFv9/HYDBAs9mcAQoEOk6nE6dOnUImkxFB8tWrVxGLxQSIkZmLRCIwDAOtVgs2m03YnVgsJuJ3snzceHktqIHj+eacSzKBXq8XwAG4I7NDkMyyMEXtWqzudDrlnJBdomUA2TACeIJh3qNLS0uYTqfI5/MCGNiwQIG2YRjwer1yb/E46Pc0GAzgdruxsrIix0KmyuFwIJPJYDqdiscXwSvLa2T4TNNEsVjE7u4udnd3Ua1W5Rw8b3P8ms0mfvnLX8p9nclk8NZbb2FtbQ3Xr19/1odnxXcYFrCy4qmE1+uF2+2WLr9msyldYyfVJv8sQou4CYy0ZQAw671EAEHmLhAIyGbKzbFer0tZlOfG5XLJxqe1QGR3NEsBQDZ0rWGZ9znSGqJ5wETzSR6vZkD4+jwu/RmZrWtdjdZiEajw/wCEtej3+7IxDodDFItF9Pt9KTG5XC40m02USiXZdFlaOglvJv0amkkajUZwOp0iDOc5SCaTaLfb8n8KmFmO43UhE8V7ZF5LpN9PM3r6jz4+rWeb7+KcL6PznuTxkOWh9ulhbCFZK13y5bW12WxSAuX11Kyn1tzNNzlog02eM6/XK88DgJkuRzJfBCbzOiyfz4dGoyHnplwuo9friUUFz0ur1Xom5UQmGHyWmHi43W5kMhlpwLDi5Q8LWFnxVCKXy2FhYQE7OzsoFotoNpuiVXmRg+WNaDQqnXZerxenT5+WMgZ9h0ajEXq9HiKRCHK5HPx+P+LxuJSsCDju3buH7e1t3Lx5E8ViUcDU2bNnpexnt9tFl8RNSwMbu92OWCwG4GCBb7Va6HQ6IjRmOYUlNAIl/s0NjsfkdDqlK4zAkexLr9dDtVoVjyb9mcfjsTAZBAXU++iNZjAYYG9vT3RSrVYLN27cQKlUwvb29gxomm//f9pMJ4HIzs4Odnd35et3796FYRhiF0EG8sKFC9JhSEDsdrsRCoUwGAxQqVRmBP9af0Z7BY/HI/o3+l/xfqOGiteW50F30RJ08b0JrDqdjvwOS6gERPOAl2BJ+4h5vV4sLy9jNBqh1WrB4/FIyZRdnlo3R3DtdrvlvGkhfyQSkQSALCWBE88ZtXu8DuFwGIuLi6JBZJLGpoW9vT20Wi14vV6Mx2NxRedn/a6DWrhyuYwvv/wSCwsL+Ht/7+/hxo0buHbt2nd+PFZ892EBKytONCKRCEKhEOx2O6rVKrrdrohmn1dQpbN3bn66i5FaEg5pdbvdSCaT4q1EoS83KrbFsw2eI05oc6DZpslkIiaUmUxGWta5ODudTmGydAkHeNCVnOU8rREiC8XNlwwCNxyCBL6eBlb8PgB5nV6vJ/5T+rVYCtQbGY+bDAI3Spbhtre3Z4BVoVBAq9V6bso786yY7jokUBqNRtjd3RXzUmqN2KHJEhrD4XDIOeU9BTzINPF9gEPAw58jiOHX5v+mxo3PHFkgnn/tFzedTmcaGgiQec+MRiMp3ZqmOdM8oM8D35+6STJIfE0yurxX9JrAn2dXHZlS/TnJqmkGTgP4WCwmJfGFhQWZJ8rjfxYAazweo9VqoVwuIxwOw+l0YmVlRQTvVry8YflYWXEiwVLAe++9hytXruAXv/gF1tbWnnsdFQGVBj4U4ZKVcjgcIgqnEJnf4+ZLHVE4HBamgMCKzAJ/nxtDu92W7jqHwyHA4ssvvxQfJofDgcuXLyMUCiEWi8HlciEUCsHj8SCZTIpeiMFsn6wY9Vk8jkAgICNT2GJP3ROPcd4GYzqdChtF7RQbEiKRCPL5PAqFggAPlsiKxSI6nQ52dnbQaDRko71165YYfer74yTKe88iNOPDoPYqkUjg4sWLAnZSqRRyuZyUhMn2UAtHYMnzHolEYLPZhK2kwz29pOYF7tp6g+XZWCyGUCiEfD6PZrMp70UwQx3Uzs7OjOGq9hXzer1IJBLodruoVCpyL/P5YecfARFNSmu1GiaTCS5cuAC32429vT2xIuBzQ41YLBbDxYsX0Wq1sL+/L/cbS6oEi2RdU6mUCO3tdrscw927d9HpdFAqlVCpVHDz5s1nKj/guXrttdfwxhtv4H/+z/9pMVcvR1g+VlY8nWCmTZPFTqeD+/fvo9FoPDebJFkcllvINOmSjc/nE7sA/iFjxZ+d1z3p7jiKgJmhM8v2+XwzbfEUZ/N4NNvArsl0Og2Xy4Xd3V20221sbW3Jsfn9foRCIUynUzSbzRmmQx+3ZhGo/aE+Shs7auZAM2ks3WivLLJNfO9yuYytrS1Uq1XUajVhrchkNZtNdLtd5PN5dLtdYRTIej2vDOZxY54xAg40Y9TT3L17V9iWVquFVquFQCAwY+3AxgWeE7JZWh8FQErC/Ln5rk3dOcj7wTRNAWrUP7FEDEA0bXx9vhdNYPl/3TnKn9f3HFlSzYySBWb5mawmLTZYgqY3W7fbRbfbFVZUJy983sjY8hwReJEtTiQSUj4PhUIADsqgjUZjpuGCn+1pG3rynt/f35cpA6urqyiVSpYdw0saFrCy4omCACGRSCCdTmNjYwM3btx41ocFYHZ0icvlQjqdRjAYxMLCAgKBAFKpFHw+HxKJBLxer3RnAZBSAl+HnWIELVpLwg69yWSCYrEo4lWyS2wtJ8DSol6/3y96ELJFy8vLSKVS2N7eRrVaRbVaFUYtlUohm81iOp2iWCxKWdLpdMrx67Z2sk16nh//sGQJHI6d4SZYLBZhGIawYvwMnU4H3W4XtVoNlUoFW1tbUu5l15uO5wVcf9cxmUwERO3v78vXCYLC4bCUCh0OB5aXlxEOh8WuYGFhQfREvG/mmSkN6Fkqo2s9ALnPqK0juGcSxLJaqVSCaZrSUMH7NxAIzMwnZFJAzZwGOtTw8Rlh8sL31V5rAGREEpleArZarYZOpyNjf4LBoDS9sERNbSNjPsFZXV3FeDxGMBjEaDQSFuzWrVtSmqM9yXfhNUXwtra2hrW1Nbz77rv48Y9/jF/+8pcWsHpJwwJWVjxW+Hw+RKNRWfT7/T729/ef+bBXZv8s53ERZmcONS+6TZxiX2axzPrZNq67vrSmhJscGSBmwNz05jvyAAiDQH2L9uKhqJfghF1SAGY8ghqNxgxTwcHBbIMne0AgRZ3XvLeRZqRarRYmkwmq1SrG47GMGNrb2xOmZTQaCQhstVpoNptoNpuycc6X9qx4MFhm4zXmtWK5jffu7u7uTLnO7/eLL9LDulJ1GZLsDhlGJgFkhQjCeK1472tjVTJAWnendXv6vSnEp9Gs1pRp/Z/uXOVzw/fkOaBGi1pEMqRko7S2Swv5ee+RKWZwLBPtM4bDIZaWltBqtbC7u4tutwufz4d4PI5cLofd3V1UKpWHJgknFYVCAbdu3RJri0qlYvlcvWRhASsrHitCoRDeeOMNlEol7O7uotVqPRetxIZhIJPJIJlM4rXXXpPs2ul0IhQKzRgsdrtdeDweYYo0m8OyX6VSEWdsLuZksOZLHNrLiRsYMFuOczqdYh3AIGBzu90yXJdsGEfKBINBJBIJeDwelEol2Gw2xONxGRY8HA5RrVal64wsGhsIWD7Rn4PlRwACilmmq1QqaDabWF9fF72KBZpOJkzTlJIXI5/Pz/wMy2ihUAherxeXLl1CJBKZcY2fB1YabACYMeClRxm9qHQ3IUt+1D6xBM77V7O1TqdzpkOx3++j1+vJn0QiIU74LPcSMLGkznKj1pIROLFrlLMme72enItHWSiwlPew547PSTQaldK7YRgolUpwOp3CWl29ehWvv/46PvvsM9y8eRN37959asBqe3sb29vbuHz5Mt566y188sknFrB6ycICVlYcK6LRKC5dugTDOBjb0Wg0nlonl/bv0UJdzqTTzJHNZhNrgtOnT8sIFGa+LJXRpJAbyGg0QrVanVnMWdLQOivtjM1joK6Fx2e325FIJARITadTVKtV2YxY+tCaHG4q7P6bTCaIRCLweDzIZrMzuiqWfZjxcyjxvNs4Nw+ybgAEPGpNiWEYIiK/c+cOSqWSbIg0+aQuxQJV322QheF1uH37tmjrgsEglpaWRCtFQAIcdhCORiN5TsgokcGq1+tSWmNDAQELjVzJlNrtdgSDQSltEhzxXmaXIH9uPB6LRQebHHjfsZOPWiptIkuGjMOwO53OjAeaducnixwMBmcsToBDLykK6CkD4HkbDAbodDoIBAK4fPmyaK+oxaJUwDAORv7wNWu1mjC1JzUtolgsYjQaYXl5GRcvXsStW7fEINZ63l7ssICVFceKWCyGH/7whygWi/jkk0/QbDafGlPF0gHBCBdfLfwFIDqVS5cuIRQKCTAJh8MzWXc4HMZgMBBhNoFVq9WSbJ4ZNoAZrx8yXQRSXPRZyqBDdTqdls2qXq9jf38fwWAQyWRSyiUMljbYucf5b9FoFKZpIpfLweVyibUD2SUyZO12Gy6X65G6JpaQuJnpEgyD8+U+/fRT7O3tPTPvHytmg0CHzFa9XhdmKZvNii5Qu9azMYMA3eVyIRaLSXmX9165XBYBPef8sVRIXRN9xwzDkKaUfD4v2ik9mqrX6yEUCiEQCGAwGKBWqyEUCkmp3W63CwtLppdO8dpuwu12IxwOo9FoiK6Q70cjVi3EZ9MJy4UUzhMo0o5BD/tuNpuo1+sIBoO4ePEiKpUK9vf3BVgFAgHRYlJAP51Osba2hnK5LKXVk4hyuYxKpYL33nsP58+fR6fTmekituLFDQtYWXGk4AbvdDrx6aefolqtIp/Pz7T6P2k4nU7E43Fp5acOivQ+wQG78rSI1mazyWbDdn924NBKgJm21oDw636/X0ocLDnogbbsKGy1WrJJ6U46ZtHMoFlSoyEiRbzaWV2XNsg4cFQHSyya0eL7xeNxydLJZLG0w/KQFqiTwQIglg40VWT5jyVPC1Q9vzGZTLC3tycsMRsvQqEQFhYW5J7lPQDMmqvyOUkmk4hEIgKyCRgqlYqAIYI2/g7BHe1G+HWWB+nZxOeA4nKWzTnAmc8H2WctQp9MJmLLwQYNrWHs9XpiqDqdToVNZUKSSqXkuQIOy95MotgBTEDXaDTEgoRJFpnsWCwmbJdhGDMmtvV6XdaBJ01ETNPEJ598gp2dHQHNR5l3acXzHRawsuJI4Xa7sbCwgHa7jevXrz+gEzqJcLlcyGQyCIVCSKfTsmgzE9cGiNPpVAS9XKQJqFg6oE9QuVwGANF5ULdErUe/3xfrBQrQqcFihxPfi6Jz6lQCgQCAA2aBpTXaFdhsNhlcS7ZKdwVqE0bdTt9ut9FoNMTVXGtMbDabzKbTn5llRbJp9LHSXzdNE6VSCeVyGR9//LEA45fF9uBlDzYXVKtVbG9vw+PxIJ1O4/z581haWsJ4PEan0xFgxFI1gJmSWzwel1I+S3LNZlP8qSKRiDSn8H3JbAKQocx6uLcuC45GIynDsZzO54AgDHiw1E9PtmAwiEwmI+wSPwNfn8CKEgSyYdQcciyPthwBIKX0eDyObrcrII42FwRWNptNGDi/3y+dj+12G71eD/l8Htvb22J0+6TJyNraGu7evYs33ngD6XR6xu3fihczLGBlxTdGMBjE7/3e72EwGOD27dvodrtSOnjSMAxDyg/nzp1DPB4X7Yj2jyJIILPERZiAgws8F875bI8lAr6n1+sVvQk72rQppm7fpukgzTY5PoYbF4EWQQ9Bn3aYZsbODYQu3cChwFYLkamHIoCiiaeeo6Y3Sm4+fP9msynZPWep7e/vY39/X2btVSoVS8vxgsdoNEK5XBZwQYZ3YWEBS0tLM8kIALEtCAQCwvS63W6cP38e4/FYHMopMKeeiFqvYrEIj8eDer0Or9crpTZ2lgKHIIbPFBkpjtYhWONzxcHVusmEcyNrtZrYl/B5Go1GaDQa6HQ6YpjLZ5YjnPhssmGExr9kq7h+kb1mU4sGYqVSCZubm9IxzPLouXPnsLy8jDNnzqDVauH69eui03pS5mprawvlchmvvfYaHA6HjOax4sULC1hZ8cigl83FixdRr9ele+UkXIwJCqiFunDhAsLhMHK5HICDTYCdeRx86/P5EIvFZlrFCUS0Dmoe+DGDZRZLbx89HkOLf7X/FYXc2rOKmTfZJQ3kqAej7qrT6cDr9Qqzxayc2TKAmUHL1JrQ3JCdghp4EfSxk7HT6YiGhECx0+mIj1K73ca1a9ewvr7+xNfNiucn6PDf6XTEfDIej8PpdIpJphZ2s0tQs7xOp1PKXpznyakBnOPHuYCVSgUOhwOtVgt+v18YHbJTBDPzdiIAUKvVJBliQtLtdlEqlWYE8wRWw+EQtVoNpVJJkhX+zXJorVaTxIwjtBwOB1Kp1MywcpY1+bxThM8EhqwUHeR7vR6azSZ2d3dF37W6uopIJIJMJiOMVrPZxM7ODmw224mI2mu1GtrtNj744AMEg0F89dVXwoBb8WKFBayseGh4PB68+eabcLlc+PDDD9FsNkXL8LhhGAbS6TT8fj+Wl5dF1E3jS85ZI8ip1Wq4e/eugIVutyvdTHa7XcbMaONELr4EMASHBFXj8Ri1Wg3AYUu7bvXmBkFR7ubmJkqlkpQJ/H7/TNs4s2WOCfH7/RgMBtjf3xfQ5vP5pFMKgHRpcSPx+XySVWtBPDdAtmJz86GImeXCer0umwGtERqNBiqViujB6vX6k90QVjz30e/3USqV0O/3cf/+fbz77ru4ePGiAHvq9JgUcKYnNT0Umg8GAwH4jF6vJwDF7/ej2+2i2WzKs8FnslqtiufZdDpFLpeD2+1Gq9WCaZpSrmPJvVariYax1+vJDD2bzYZqtSraI+oWtdloOBxGMplELpcTaxE9CJpsVj6fl65bituDwSACgQCCwSBCoZB8HiaNBF53795Fo9FAs9lEIpHAqVOnpOM4GAzie9/7HhqNBr744gsppz6J+Hw8HuOXv/wlAoEArly5gtFohGvXrp2oltWKpx8WsLLigWCJYGlpCcPhENevX5cunsd9PTIqsVgMiUQCq6urCAaDyGazIpgFIAsbs/Hd3d2Zoa4UlLKTTmfFzM51KY7sEl+bgIvaKQAzCz2zXLo/VyoVbG5uCjMVDAbFX4qLL4EOtU79fh+FQkHen+NoqBfjAq8/D0sYWn/FzzRv3MjjpcCdrFQ+n0e5XMbOzo7otKx4dYLsUq/XQ7FYlMHeHK2kdXoABMhTZ6cHjtMYlM8PJwt4PB4Eg0EB73ThJ5u7tbUl4m6Wpf1+v+gxW62W6CBpfTKZTKQrj8+/YRio1WriPK+Hd5P18vl88Pv9SKVSkjxpJ3Uy07QloZEunz162LndbknaaEsBHDaSFAoFuN1utNtthEIhGMbBRAK73Y5sNgufzyfCf93Z9zhhmib29vbg8Xjw+uuvw+l04ubNmy/VCKhXIawhzFbMhMPhwOnTp+F0OtFoNKR9WpffjhPxeByBQABnzpxBLBbD0tKSdBbRtBM4bCvf2dmR+XKcRQccLDixWAyZTAaLi4tIJBKy8NNjZnl5GZFIRNqr2RrNDYOlsmq1KhtIv9+fGRvS7/fRbrcFWBWLRTQaDTleMks0HOQCS0BGRovHxjKe7mSkGzoXdW4UzMx5vPSUqtVqGA6HItatVCro9XoymoMLOYW97Mw6qbZwK17MiEQiCIfDyGazSKVSiMfjCAaDct9lMhl4PB60221MJhMRmDPJ4HxHjr9pNpvweDwIhUKoVqtisulyuQRMUeBNyQCTn3v37gnjBMwmW3oEDudl6sYLlsHb7Ta63S4ymQzi8TguXLiAeDyO1157DfF4XPRmfOaz2Swmkwny+by8jsfjETsTgkmXy4WtrS1sbm6iUqmgXq/j3r17KBQKsraQrYvFYojFYvjJT36CSCQy41rf7/dRLBaxs7ODv/iLv3giIKS7nNkp+KyHSVvxQFhDmK349uAiQ4Hp3bt3H9v4k3qgYDAoovRYLIbFxUUBFwCkPEcBaLFYRL1ex9bWFprNJqrVqrwmF0OfzzfjzbSzs4NarYZwOCw+VyznaXbI7XZjMBhIWYw/Uy6XpRRYr9fFpI/lx8FgMNMBxT/M5LUXEBfwaDQ6Y6ZIBoCfnWwXOxHJsOnZadykWq0W+v0+tre3Ua/XpSOJgmArrHhY8F5mefj8+fMYDoeSHPh8PvGi0ua3euyMHl9DppjaR2qs6CnHpMDn8yEcDotVAkdC0TKB8wz5DAEHTBafJx6Ty+USlokleq3L1KV0ljr5LDmdTiSTSZimiXA4LMJ3djtyHeAzS80X1yEOECfzRCaQgvtarQaHw4FoNAqXy4VEIiGMNnAgpdDO98eN6fRgFihd903TlGYEy4rh+Q8LWFkB4ABUvfHGGwgEAsjn80LRHze4CGazWcTjcZw/fx7RaBS5XA6BQEBMO5kJ3rt3D/V6Hb/5zW/QbrdF56AtCBgEGK1WC2tra0in0wiFQtjY2ECz2QQAAXEejwe1Wg2DwUDGuuTzeSkB0HeHeoh5gMJMPBaLiSaMhoTsgrLZbCKU5ftrHQozWX1eqBWp1WqyMbF8wAG0HHR89+5dOUaOHOEm8LgMohWvXtTrdSlr62kCi4uLiEajWF1dhc/nkzJdMpnEeDxGo9EQ9pUsErtufT6fsF2VSkWmDhA40aSXAG1lZUUE8LQpGY1G2NraQqvVQqFQEM0VS3/ULMbjcSSTSWFi+RmYhNFf7wc/+AH8fr8wubRRIGtMmxUmVFxfTNPE0tKSADW73Y7d3V1Uq1X8+Z//OdbW1h5oAPirv/orpFIp/N7v/R7C4bAAPpoUdzodbGxs4De/+c0TsceDwQAff/wxQqEQ/sE/+AdotVr4y7/8S4u5es7DAlZWSPYYiUTg9/uxtbUlHkrHfR3qhWKxGHK5HGKxGMLh8IwDOLOufr+PWq2GcrmMzc1NsT94VHDBJculnacBSGtyLBYTFoyO0Z1ORzp4wuHwTHs5LQ9oIkgxOYezhkIhJBIJhMNhAVY8DgJFvg5LGtqvB4B8Zjqm05yQrez9fh/VahWdTkdMPLe2tqwZYlY8cfC+0wJoPkPlcllmTZIlYvmObu7U9+g/ZLfJ6rCkTeZLPytkmtm9apomIpGIJFBer1fK3vTeGg6H4h/HkqZml8gmdzodYeao1SQTRwaLNiUc78Tj1+akkUgEwIFHF02Gy+Uycrkc9vf3JdFjmZTjaNjdy/cOh8MYDodYWFjAeDzGnTt3pKvycWI6nUrjC+dDsnngaYwRs+JkwtJYWYFgMAiv14tTp07Bbrfjyy+/RK/XO1aWRdp+eXkZS0tLWF5eFh0UW5bpjcOBwd1uF9vb2yiXy7h58+ZDmSMADyyC1DnQdZou7TQO1GzOYDDAjRs3pOtHj8dxu90CeKLRKJaWlnDmzBmsrq7KQslyIueuhUIheDweKUPy95mJ61ltLJ+wfED36o2NDXz99ddS3qAAX//hBvI8PJ9WvJxB5orlNuoOqb3i7M10Oi3GoSwD8plkhx4ZXn3/0rfKbrejXC5L2d3hcODMmTMwTRP5fF6eDx4LmS2OsAqHw6KdtNvt2NnZQaVSEQlAJBJBPB7Hv/k3/waLi4viS0Ug1Gw2xXaBzxWTGuq69PBmmqe22218/PHH2Nrawp07d5DP57G2tibaM7vdLmzaT37yE+RyOfzwhz/EcDjE+vq6eGF99dVX+NnPfvbE1yoajSIajeLdd99FqVTCz372M0tH+WzD0lhZ8fDQLBPZEd0Zc5TfpwN4OBxGKpWSkRk0xTRNUzI9sjONRkMMC7kwz3s0aYErNU42mw3pdFrKgFzwPR6PZHG6jKmNROkPRasDarHoxpzL5ZBIJGSsDtvEWQJhGQE47ECk5w6F8tq/iuBtMBiIqWGpVMLe3h4qlcrTuaBWWHHEmPdwAyAu6tQC9nq9GfDFhg+akTJ0xyF9qvjc8xl2u90IBoPyehzJxE4/p9M543bOZywQCMDn80mSxiTH5/PJs1er1bCxsSFgUevECPSYeHFtYMLH9yb7ze5HzuvkqCCHwzHDXtGg1fztkOZAICBrJ4e6x+NxJBIJaQB4VPJ4lGtVrVYF0FJnyvKoFc9XWIzVKx6GYWB5eRk+nw+7u7tC7R/1vvB4PAgEArh06ZJ06TCzdTgcUt5rt9sYDAYoFovodDrY3t7GcDgUvRJHt4RCIXi9XnE6pvXAZDJBMBgU76tEIiHAi67NpVJJyn/snqO2iiJw3R2UTCYRj8dx5swZYZqYgfPzU2De6XRmrCB4ngioKJIHDjocv/7665kRHLRM4M9aAlQrntfQkwB0owZL7x6PB7FYDMlkEtFoFJFIRJIXltKYxBDEcKYltYecTdlutzEajWZK3iwB8vmh9olAkFpLOsiXSiWZMGC323H58mWk02l8//vfF7YMgBiJkikmC06xu9PplLIibVQqlYrM1qzX6/j5z3+OjY0N3L17V0qrLpcLCwsLWFlZwU9/+lNZM2i2WigUcPfuXWxubmJzc/OJ7BiogfP7/VhYWEChUMCtW7csZvvZhMVYWfFgcDGhU/Jxsh+WuchSZTIZRKNRWbw4e4uLIe0UCHy44BKAsVOJ41sIllwuF4ADABgKhRCJROQPv04qv9frSfmAixqzYo7DAQ67H/l6oVBIMndmovoPR4boOWUEbxSz6oWSpQzqVvSwZSuseN7jYfcrny8+k/SUot6JgIV2DtFoFG63W9YTPqNMpPiczTePkBXWekw9bgaAsNeUADBhIkijW3s+nxfH9XlGTc8UnPe/Y3Bt0camsVhM9Jo8dpr1cg4nO6H5Wm63W4T92pbiccAQmwq4/tL/Tg94t+LZhwWsXuFYWFhAJBLBxsbGsUcyhEIhLC8v48KFC7h06ZLQ8xxuyrIYcGh6V6lUxJYgmUzC7XbLcONYLAav1ysdSe12e0ZUn06nxS1ZZ7LMlGntwEWMCzdHygCQcoaeRTiZTMRugaAJgDiXE1htb2+LrxfFtfzZ+U2IzJQeJ2KFFS9y6EkGfMZ3d3cFoDDo9/bOO+9Ix6zdbkelUoHX68Xq6iocDoeAMo6LImsUDAbh9/sRjUYFyJGxJigLBoMivtcDnVdWVgAApVIJ+/v7+OijjxCLxfDHf/zHsr5oY2ACSJYKaQsRDocFaLE0SZB19uxZhEIhGbeTz+cxmUzEwuXWrVvIZrOIxWIPvAa7o2/cuIG1tbXH6hZkUgdARu5cvnwZxWJRPP+sePZhAatXMDi93m63P+A2/G2hywBnzpxBIpGQhUeLuZnJAZjxt6FAlN10uv1bj4jR+g1qJQDMdA3xd6jj4ALN9+drMNvlgsrvExxpnRSPu1wuo1AoCIvHOV6ahbPCilctdLLAsraOwWAAu92Ovb09jMdjSX7a7bY0fbhcLimts5zGZ59D1/WzRvBDhp1rAdccTjyg7QEZcXpjUc/I36X+SrNk/EOQyOdbf53AbzQa4dSpU3C5XGg2myJ3GAwGyOfzcLvdYlXhcDhmhPKBQAC5XE70lnSJP+41oF0M3ee5rlrxfIQFrF7B+OEPf4hz587hv//3/461tbVjgYSFhQX8yZ/8CcLhMOLxOAaDgXjCcAGhESCBimmaSKVSWFxcnFmY6VtDQ0AuqIFAAIuLizOWCe12W8bf1Ot1VKtVsYfga3KBq9frmEwmiMfjMpaCZYder4f9/X2ZrcfyI8WvtVoN1WpVhPU8Vss3ygorvj2YdNy8eVNACQARsKfT6RkbBHYc0p5BJ2Msc7EUyHE61FgBh91yAHDq1CnxviLgmUwm+OyzzxAIBLC8vIx4PC6smR4nRRBEOYBOEvWIm6WlJXGw5wSEUqkk2tEvvvhCZhOm02lcunQJ1WoV5XIZLpdLZAxXr17F//gf/wPXr19/rPNMw2AmuZo1tOLZhwWsXqHgItLpdFAul49lAup0OpFIJLC0tIRAICBmn+12e8bnhrojslR84Clope6JrdN0bebfXNSGw6F0G3Jx4/f1gFgN5gh+9GwxMlksZXCWWK/XQ6FQgMvlEidlit/ZXWgJzI8XeqA1N6UXCYxqYTPvNXoesYRMoKA/F0cSUfujf26+k5TfJxtDFoa2HvRBYxlJ37u8pzkT8LjB9/L5fOKgTu82vTFTi6QbS8gaDQaDGU8mngdqrrgWPGxd0aaj7NYlgGq1WggEAuKfxxIaJxjwHPNckAHS55nMO0FcMBiUZ5hJHCc3eDweEeOzRMhuRpYEDcN4YAIDNZW0pqC7O5l/akm3trbECJmeXHpeqMvlwtLSEorFImq12mP51dE6gp2J6XRaklArnm1YXYGvUORyOWSzWezv76PZbB7LqyqdTuMP//APZSwNHc5rtRoKhYI80NVqFfV6XfRO7K5huZBdMcxcKYalYSAZrMFggFgshtOnTwt4YrcNM2GyXJxLRmflWq0mreIARETLDp+1tTXRiHCUhWbSnodn4kUMNgIQlDabzRfKxNDv9yMUCsl9yZFCnG1JQTY7PDkqic0RsVhMLAW44euxRmzj93q9Mo+SrOve3h5arRZyuRz8fr8AFAIWmtxubm6iXq9jc3Pz2A0R6XQa4XAYV65cQTQaRTweh8/nQyKRkCYRAAJaOJ6FbC+7eu/evQsAYgY6nU6xsbExo6P8ptBCdP3/+a8vLCzg0qVL8Pv9Aoao5WTDC6/VvFWLaZrodDozMzRpHUHmK5VKwefzIRQKyXxDNqJEo1H4/X5Z2+bBNptXmIytra2hUqlgfX1dgOnS0hI++OADSUh5DtndvL29jVKphA8//BB379597AYXm82G5eVl/M7v/A6++uorfP7554/1OlYcO6yuQCsOgt1vnGj/bUHDwFwuh2QyKd5PdB3mYFSKupkN82+PxyNZGnCwuHOaPVkrZsfMYplxOhwOWQz5fW1rMBwOZ3QYBFLUO7AEyJ+rVqtotVpiv3BcfZkVDw9uZqFQCNlsVko1zOR5bxAUP46r/1GCY0sI1tld5nA4BNgDEL0f/Y8oLOYGTuaKmyiZnYcxV2QunE4nwuGw+BfRuoO/BxwAdnankgkhaCPYoueRBgfD4VA2f57fZDIpjt7dblfG1fBY2Q03mUzEuTyTySAUCmFxcVFK+Ux8OLvSNE3xbIrFYgAgTLQGTLRA4POVTCZRr9eRz+dRq9WEAWu32w8wvzTQJTM1Go2ks083fXS7Xezu7kqCpv2r6GelDT55XXhvUX/Jc1gul4VZZCIXCATQ7XYFWLFEyPNQr9dn1koyZ7orms03ZLr4uThNgU09BNn8LDRPPX36tAxw1u74Rw0CPU6WOHPmDKrVKmq12rFfy4qTCQtYvULB7O04PkrBYBC///u/j0QiIX5PfJ2dnR20Wi3U63XJ6DKZjHhM0S+KAMk0TZw5c0YEnbrcwYWVpYlgMCjjHLxeLyKRCMbjsZTpuDDr1yBzRVEs533dvn0bnU4HzWZTylQWK3Vywfb1xcVFXLhwAY1GA/V6HZVKBe12G8ViEYPBAIlEQuawnXRrOI8hl8vJCCKfz4d0Og2fz4dcLift9V6vF5lMBsViEXfu3EE2m8Vrr702U7YDIMkB7xcO547H41L2AyAu+wRl1BDxfuP3+TzMjz2aTCZYXV3FcDiU1+VrUb/I8joTiFu3bom/0u7uLn72s58J+xQOhxGNRtFsNtFsNvHOO+/g7NmzUo4nU8UkifYELGvRsDcSiQgo5LGl02m8+eab8Pl8CAaDUl4n07O3tzcDrPb29tDtdgWY8DO0220Rv7fbbXz++eeSEPHzdrtd3L59+wH7B54/Al36WXHkC7sJl5eXAQDVahWNRgMbGxsC3NLpNN566y1EIhEkk0n5HNFoVLr+dBMOPyPBKH32IpGIAFzDMHDnzp0Zk2AyUYFAAIlEQu5LenUBB753sVgMP/vZz5DP5x/r/i8WiyiVSnj77bfxD//hP8THH3+MX//614/1WlY8eVjA6hWIQCCAUCgkm8NRyjOcTcVxEn6/f0bv0e/3Z7xYgsEgIpEIEokEotHozMYDQMZd0PKAr8XuIE6OJ/vUbDaFtaLDMRdSAkOyBszMqRujMej29jba7ba4p2sLCH5GwCr9PWnQJJalokKhgGazKdeWGrjRaATDMJDNZmcaF04CZJG5SCaTyGQyuHTpkrS503iW/mhOp1OYGtp5BAIBsdxgSYmbNzd7r9crjJP2WCPLQFaWOihqceiFxHub7zM//oXvC2DGxV+zOCwzJRIJYZgcDgd+8IMfzDicu1wuBINB5HI5sSqhtQm74vjeZNz4zGazWQCQazYYDETvyGs9mUxQq9UkEZpMJnIu9XPl9Xqlg02zzQSsZIri8bicBzax8JxRt7S/v49qtSqskV4vCEK1TpMdxhxyrpOxTqeDe/fuIRgMolwui35qaWkJw+EQgUAAHo8HjUZDjlHr4jiwmuVSDpnv9/vY39/H7du3xf9OW9nQub7X6wlw9/v9iMViOHPmDLxeL6rVqhzPcdYm0zRRKpVw+/Zt9Pt9ZDIZNJtNa97oMwgLWL0CkUqlcPnyZXzxxRdH9jrhtPrFxUUkk8kZEzqyVLu7uwiFQkgmk0ilUrh48aJQ3SwvUJTr9XqlE4jAiguubq9mlsgRESx9VKtV+P1++P1+KdGQ+ufiv7Ozg/39fVy/fh2NRuMbPx81GVa335MHuzg7nQ5u3ryJcrn8gM6GJUDDMHD16lUYhoHPPvtMSkVPeg04OHd5eRkLCwv4oz/6I4TDYdER9no9acDg/2OxGFZWVuRe5EZNNombM8vGfA5YgvJ6vdLuT0ZlOByiXq8LgKJXG5s67Ha7lM8IAHgvsowEHII1HhNwKFbW4DQcDuPUqVM4e/Ys2u22eLJxEDL/0ANOHytL59QpsWyfTCYxGo2Qz+fRbrexu7uLSCSC5eVlSdKKxSLW1tawuLiIdDotgDQUCsHtdgsjHo/H4XK5UCgUhH1zuVxYXFyEzWaT68+xUW63G71eD/l8Xti/SqWCWq2Ga9eu4ZNPPpFz2+v15M/DolAoPPJ+ocM6g2xluVzG+fPncf78eQSDQRmMXq1W5T4AIIPlFxYWEA6HcenSJUwmEywuLuLOnTu4e/cuhsMhisWilB0Jsvl5EomEdAmyUeD06dO4du0aqtWqzB89TmxtbWFrawsrKyt4/fXX8eWXX1rA6hmEBaxe4ohEIkilUrDb7djY2DhStwhLOsFgEKurq+INQy0Jy2xOpxMLCwuIxWJYWFhANpsVPQtFvVystE8MSwDai4Xgi2CJmipuXGyhZpZK3ynOHazX6+j1erh3756Ua74tHua0bMXjRafTwf7+voCFhzGidPc3DEPYSGbs1KdwSPbj6Ezm5znSBkSPHNLiY7Jk2tmb2itqigigeJwENiyP8TW1txlfVzNewMFzxXuY9zQTDLIok8lEvq81PfSbM01TymChUAjj8Rh+v19ALCcb8P3phM6pBnzm6CfF99bidCYpLNGNx2Ok02lh6chYT6dTYcDIFvHPYDCQkTZa82Sz2RAOh4WFJii12WyiR6NeKpvNzvhUsQGAjBIbXdjlOxgMsL29LbpJ7VN3FHDC9YDSAZvNhkajAa/XK2Ccmi3OAqTRKcvd1BT6/X588MEHKBaL2NvbQ7/fxxdffCF6VEa325X7gO/j9Xpx6dIl5PN5tFqtx+5MHg6HaDabov0j42bFdxMWsHqJI5lM4r333sNXX30l1PS3hcvlwpUrVxCPx2XKPZkhl8slm5Xf78fy8jLS6TROnTolAlNdAmHpjn90uQ44FF0yg6ewlOJbbkqk3EmhszSwvb2N3d1dbG1tyciZ4wjRrTEzJxPtdvtIoJ3dWeVyGT6fD5FIBE6nU1y279+/L2D5uKEFxna7XTQveuQQy0xs4OC9yvIZATzLP9oShOWjbrcrzBLvT9532o1fm98CkPtZlxtdLpckCdzYAQgABA50XgDkmeHwXTp7cwPtdrsoFAqo1+tSpqROimJpMs7s2GUZjeeOzA834Xa7Da/Xi4WFBSm/UQzO2Z0EUEyS+DyTtQYwc05oDMxOO3ZQcr2gBo3n3DRN6dw7e/asmIsOBgPUajV0Oh0Ui0W0Wi188sknKBaL0rTSbDYF9B4lgTJNE+VyGeVyGc1mE/F4HD/+8Y+RzWYlKeDkCN4vvPZ7e3sCJKlL3d7exs9//nM0Gg38+te/xs7ODi5cuCDO7B6PB4ZxMOuUpUeymNFoFF9//fVjs00UzjscDsTj8YeauVrx9MICVi9p0Hbg5s2bKBQK39r9ZrPZkEqlEI1Gcfr0aaG6mdn2ej3JYN1uNyKRCE6dOiVdMQCEKZp3MTZNUxZdbiI6S6YWQwt+uflQCMwuxFqt9oA4muVECyg9/zGdTlEul6XU5vF4pAsuk8mg3W7PiLrJPBzF7X46naJSqcDtdmN7exuJREIsEDSTBUBADUceESyxs4uARjNh1Afy9ch+sTFDN0Vo1ov3sdvtlqTA7/fLJAC+r+5A1EJ1ADNJyng8RqVSmdEgUWvF8U1kCGmroqcbcMPVCRO78Mhi2Ww2RKNR+R6TJXbf8Zyw1MrPynOj2WuK4W02G/r9vqwLmsmmwJ/nbjQaiVZMWx3o8iW7MN1uNwaDgQx913KCVquFa9euodVqyTk7SnCt+/Wvf4179+5JUrq8vCympUwMCVB1ZyLB18LCgtzzBKV6bA7XRCaVvM8mkwlOnz4Nv9+P/f39YzNXvV5PxgjxPrPiuwsLWL2EwcWqXq/L3L5vAx02mw0LCwtYWFjAqVOnpCuPfkTMEOlvEw6Hkc1mRZ9B1km3petSQK1WE7ErNx0CJmau3W5X3qvdbstiw5/b29vD/fv3xTbBihcvWG5h+P1+5HI5+Hw+ZLNZKY9wHiS7w7TW6FFhmqZoc9h5SGdv3ndknGg8OxgMpDRGEMDvUxdFIEGGhu9F5oRlOupk+H0KnclOeb1eKZfRZoHPGJkV/ixZFhrqEqgQWJVKJQAQtogMms/nmxkgrrVufE+W4wOBANxut9gqsJmAbFMoFBIAAUBKlXzGDeNgbmC9XhdhO3+XAnbqqrhOENhqsAscdh1qCwZ6fhFYkZXW5qYej0cGsi8tLcl14L2wv7+PVquF7e1tVKvVIwMrTnyoVCowDAPpdBqxWAzf//73kUqlRHPFc6kBKdc8WtU0m00AkOtBYEWmV9uV0MCVtgl+vx/lcvmxgFWv15MmByu+27CA1UsYgUAACwsL4ib+qMWE5YJUKoVIJIK3334bkUhkpj6vf053GyUSCXkdLrYApMOPCz43n06nI4sicOhBpRcW6iPq9Tq+/vrrmc4p+so8bqnIiuczBoMB7t27J6Uzv9+PbDYrUwJqtZq4U5MhelSSMJ1Osb29jVqtJkJ1trnH43HRwGiReCqVEvDADZKMBzdwbpZkZshm6A4/Crf5mbSOiiCLyUe/30ej0Zhh47xeL4LB4MzMN5bBDMMQ8FCr1QSwsYTJYwUgRrj5fB6j0Qjdble6I2kLwA7BTCYj2ivTPBg7RZaMwIqsDJ9FMjP8/BRks1mFawWZGJbjQqGQzMrT7AwBQywWk45fnlcmWDQfpl0FEze+v25iIQg1DAOxWAxOpxN/+Id/iHq9jrt376LT6aBQKKBQKGB9ff1I96hpmqL/29zcRLfblRE88XgcAASoE9h7vV5Mp1MEg0GcP38eoVBIRt9QlkFrDF16NQxDjEuvXLmC06dPw263I5/PY21t7dgAi/fq0tISwuEwvv766xnRvhVPJyxg9RKG3+/HysoKJpPJN3bG0GxvZWUF6XQaZ86cQSAQQLlcFvNCbng2m00cpkOhkLQZ6/IAwREXZrZTczPhhsMFdTgcCrXPOV2DwQCtVgsbGxsiQLbi5Y3xeDxzj6ZSKVy4cAF+v19sPgDMbNKPAlamaaJSqaBer0tpkf5QvF9ZiiKYCYfDM0JnsqnUWDG5AA5LVI1GQ5guAi5upmQrWJYjQGCCQJYMOCydA5DPqmfTAYdJDS0O9vf3xYiX9hG0TOD55HPPETihUAgej0csMPgcB4NBeL1e8ZAjkCLDxPJ8u92eafTQIIvMlS41ksHudrsy0oWAigyUFsIDELsLnUgRKLXbbdRqtZn7AYCAVoI0BgXw7ODM5XLodrtIJpOo1WrY2tqC1+s9lns9/fN2d3flXPH+AQ6YQx4n10L6kXm9XiSTSdy4cQN3797F+vo6Wq0Wvve97yGRSMg9x27SRCIBt9uNxcVF0YqFw2Gsr68fG1hx3X377bdx+vRp7O7uWsDqOwgLWL1EEYlEcOHCBXQ6HXz22WffOlqCfj5LS0tIpVJipcAFjYveeDxGIBDAqVOnZJo6FxVm8WS0PB4P4vG4+AXt7u5K5x+zWABSQtnf35dyT6/Xw/b2tnQ3WZqpVy/a7TZu3LiBTCaDs2fPwuFwyH3HcjFdtB91f0+nU5RKJbRaLfzZn/0Zstks3n//fSQSCZw/f15YIbIzBAZakEzdFbVFwGEXIDdyfp3/p/eS7hzkzxGsDQYDSVhYngQgbA9LOGQaWNaijisQCACAeFj1er2Zzjd28dIImMwYmbpgMCisT6vVkjIrPwc790zTRLVanemg1EGWmnPvyFp1u100Gg1hqCORyMwcRZ53NjsQmPZ6vZkyo9frxXA4FNDH+aSBQEBem9eNn51CeIIyDZYNw8C5c+fQbDbh8XjESubevXu4fv36kUyTJ5MJvvzySxnWHo1Gce7cOemW5nXhtWTiChyA/pWVFen0I5gfDAbyuQiSaVLKkmosFpvRph03TNPEvXv30Gw2sbS0hIWFBXz55ZeWnOIphgWsXpKg6PH06dNYX1/HzZs3v/V3CIYikQji8bgwS9oOgRuFz+cTsSg9g7xer5iFkpLnHy7e9O2h4R1BG4Wo9HShz803lS6tePljMBigUCiI7Yd24QcgQIDdoQ+7V6hNokYmGo3K5nTx4kVhOrRYnewUtT/csLURre5uYzlMG3tSa8VZewRYHC9DoTeBmG7u4LPCQcf8WRr7MiEhG+NyuaTUrsuj1B4RVGh9ViwWk38DEGA6Ho9FQ0ZQo4cW0z6F543BZ57njqwzgQ8tGfQ8P5533URAZo2aKV4PJl98DyZuLE0SrHG94mejoatmN51Op3z+4XCIaDQqZWAaampW7lH3VbFYlFJyOp3G6uqqlFP5PlwDOd6IwdmnpVJJxOyDwUC8v8ji0R6DwJv+ffP2FceJarWKfr+Pd999F+FwGPfv37eA1VMMC1i9BBEIBHDu3DmMRiP84he/OFKLrmEYeO2117CysiL1dw4l5uJN/cTp06eRSCSwsLAAANKiztfR5UD98HMBZece28KHwyG2t7dlEDIzt6O2RVvxYgeBxcPsP8gikekkG+L3+0U7yAHgxWIRX3311bd2e7XbbXz44YdYWloCADEG5dBlbugsO82PTOK9mUwmRQisN3ZdEgQg+h92wFJfRQsI7WKuLQ9YKnQ4HDIWip25/D7BGjsnO52OJDL0mKvX69je3hbxdygUwsrKinQVtlotNBoNAUwc0aNZF5axtCs8N/7BYCBWDjxHBLrshuM50fo0jqSiyHs6PZiwQI8vBqc6kOXTkgSuL3w9nmfgEOjRx6rT6cDj8YiTPHVa1JKZpolQKISFhQW02200m01sbm5iY2MD5XL5kcBjOp2KxYPX60UqlcIbb7whbCcbfHju9ecaj8dy/w2HQ9y7dw+xWEzc1znDkrNNyZiGQiF88MEHqFar2NnZkTLrUYMJySeffAKHw4FOpyP3kLXmnnxYwOolCJfLhYWFBemC+bYHhRl5KpVCNpsVDQY7cphx8bVpw+Dz+aRE+LDsFTjM6qnDoHCdC2+z2US73ZaMqdFoPPclv8fNEq14MLj58d/z55VAhIwTGR/OGaShKM0yd3d3Z0xn+RqafRiNRpI0rK6uotPpIBwOYzqdwuv1zrA83JR1+YtAiyUtghtu9gQRw+FQPp82SqV2SLMvtG3Q4374b1ogsKSkDUQf1j3HEhqPm88cX8fj8SAWiwljzDKZ7mIjW0YWja/J51yDOdoDaG8sivAJ3h5mgEqQapqm+Gh1Oh1hzbUNC7sheZ/wOHl9eV25xvD/AGa6LAFIia3ZbIrFBz8fBynX63WZcTgcDr9RjkBrisFggLW1NXS7XVy5ckWuF+8JPT4IgPhxUbvGWaYOhwOTyUSGMuuuTn0/ZLNZBAIBAXz1ev3I6xK1a8ViEQDEZd9KZp9OWMDqJYh5l+dHBR90jrigBxVtGSj4pE6AGS+zdJ0dA4fgid+jV0yxWJTyxNraGiqVCjY3NyXbIshixvk8BzuoOOX+cUI7SrNU8aqK8nUZ6CgLOhmSUqkklh337t3DysoKYrEY/tE/+kfSiq/Z0evXr8uYJEaj0cCHH36IQCCAmzdvSsPG+fPncfXqVRFCBwIBOJ1O1Ot1tNttZDIZmROoARiTEbpu6zKWdnsn6KFPFW0PdHmNHbFkNaLRqDB1uqROjyQyP4lEQoBMr9cTS5OVlRURvvN5JzjjPD9aQVCbROaYiRP1XWTVKEKPRqNyHM1mE+VyWUp+BFDaFBiAWDcAEFbO7XYjGo3KdSZD5XA4hB2k7QWZONofcG2i5cNkMpHB1WR5yFDm83mMx2MZFs+fAw4AxuLiomhM0+k0Ll26hL/927/Fb37zGxQKhUea31LL1+l08F/+y39BJpPB1atXZcAyv8/OVAJPCsoBIBqNotFoCHvPpg23241QKCSfj+u2w+HAuXPnsLu7i3w+fyxDZIbNZhPd4u3bt1/ZtehphgWsXuDgos0M+dseMr2YcXyCHpcBYKbLh6CKpRt29XHB1FkVtVabm5vY2dmRLJYDeff399FoNFCpVF4ouwQ6hGvNigYE85oMnj+yMmzF53ViWzyz88dZGF+E+CaW7zhgmueb9wzv12QyKfdxKBRCrVaTjlIyovw9zV6Vy2UpM7VaLdFwUSjPDlgyLjS7ZElOfz5+Rj4/1N5oQEFmCcCMVoiao3mxtRajs9OPIIX3EJkrMi76XFEzFggE5FnVo34I/Ph8894EDlkNsmAUXvNrFPU7nc4ZqwmWlQgoteZLf3Zty8Jz7ff7hbni6/E5IbDiOSYTRwE+rwevlfbPY5I4mUzk3mAJUzNhWmhO4BMKhbC9vY1Tp06JdOFhSSC1b+PxGPfv30e/38cbb7whoFQzeXwvJqVksbS3Ge8jAj8my2ywoIcaLRo0c3ncYDMI3d4tV/aTDeN5oAENw3j2B/ECRiAQwFtvvSXjQPr9/jfqqxKJBBKJBN5//33JWBwOBwqFgnQrafffN954A4FAQGh6Ckw5KJVz+QaDAba2trC7u4tCoYByuYytrS1pteZGwAf4ebjnjho/+tGP8Nprr8lmzHEnXNBqtZq0lrvdbly6dAmRSAQrKyuiFdrc3MSnn34Kj8cjoznOnz+PTz/9FJ999tmz/ognHhTfzjNGJxHcNOlc/v777yObzSKVSokGyzAMXL9+XYZ3s5TH5ggAM4AkmUwik8ngzJkzuHLlimiE2OlGZpfmtQRN8x17uqONGzZ9r2gQSnEzg6xYu93GYDCQ9yI7QT0Rh4pzRiDLQNqlncBkY2MDd+7cwf7+PnZ2dvC9730PFy5cEPE2gaYuUzE0oGIpk0CBdhCDwUCAT7PZRK1WE7A4/2yzlMVRNgQvFHWzU5jdf5PJRF5bNxhoPV4ikYDf70etVkO/3xeQRRAdCATkWozHY5EbEFzSrZ0ifa5NugO0UqmgUqngiy++wP7+Pj766CMUi8WZ0Unz5y2TyeCP/uiPEIvFsLi4KECa54zXhwOxgQNwVigU0Gq1sLe3h16vh0wmI5orsrFkOwn6d3d38Rd/8Rcol8vY3d097mMkGr+rV6/CbrfjV7/6lTWs+fhxzTTNdx/2DYuxekGDmaff75/xQHlYMDOmmDIcDovhIBcvLmp8bWaO2oyPCzJLESyP9Xo9FAoFbG9vo1gsolwuY29v75n6pRiGId45XLSPE8FgEKFQSKwo2AFJcSwX4EgkIouzz+fDhQsXEA6HcebMGVSrVdRqtZkZivTAWVhYwL17957GR3/moV33j/rzwNGYLJ5HelXt7OyI5xJfx+VyiV5FG3N6PB4pwfAe73a7IlQmoPH7/eIETy0QxdK6S3C+PV+zVJotAiDDnDXjy/tBi97JaJFV0lpFlt/4HuyuZRmNGznZIQ4qJnCLRCLSTaiZUh4vn3c6wusRVQSK1HVpOwmWNQle+G++rjYC5e+w442st7Z8ACBMOD8fvcI0+8YyJc8df1aXMRlcLzWjpYX1/Fn+biwWQyAQkHmJGxsbYvPxsOSQ16Db7Qpg43vqz0e9FNcm/q7P55MZh2QHeZ6ZnPAa+P1+dLtd5HI5AAcg8LjsN01JNTOofcWseLKwgNULGA6HA7lcTjJzZkOPCuoRTp8+jdOnT4vZIP+EQiH4/X4Ui0WZZm+z2ZDP52VEhvby4WiJer2OarWKYrGImzdv4tNPP53ZgJ5l+P1+/Omf/ilcLhf+w3/4D8fqoAGAP/3TP8W/+Bf/ApVKBeVyWabTs2wQj8cRCARw6dIl6VLjeI3JZIJqtYpr167hz//8z9FsNoXx4yKZTqdnOoZe5ODmqT2bjnIPcBMLhUKYTA7nRB6V0TRNE19++SXu3LkjeqLFxUUEg0Gk0+kZYFWpVMRI0+/3Syk8GAxif38fN27cwK9+9Sv84he/wDvvvINz587BMAwsLCyI5oiML8e0aDaWyYbH4xFhfL1el7IcNVq6c49MD/U0BES0U9A+UWT/tE6IJTRaHBAA7e7u4u7du7h16xbu37+Ps2fPIp1Oi32F1khqpo0dkna7HYPBAPl8HsCheSfPg7Y5IGCsVquo1+vIZDJSyrLb7fJv2kcQOBDcsfGAGqloNIp+vy9+U5FIRABjt9uVchnXPA2M+HkISpvN5gzYiUajGA6HqNVqMzpPgm6PxyMAia/9/e9/Hw6HA0tLS9jY2MB//a//VXSi8/dpt9vFp59+ilOnTok5KQGL1qdFIhEEg0E57pWVFblPCoUCfvWrX6Fer+N3fud3ZsTqtHUg4/cHf/AH2NvbQzQaxdbWFu7fv3+s53Y8HuOjjz6C3+/HD37wA4xGI/zsZz+zwNUJhAWsXsDQrdCVSuWhbes6uHBHo1EEg8EZDYj20uECpzdILorMZpl9cZhsq9WS0TnPky+K3W5HJpNBMBjEm2++iXK5fKzff/3117G0tCQbvjYvtNlsiEQiUvKLRqPIZDJiDUBQEQqFZkbwcMMMh8NYXFyUjWweTOis/0UKnaEfpY1bszqP+1mp7ePr0cyWJrYsJbF0pvWCBMlkiUqlEqrVKnZ3dxEMBqX9XeuHNBvFv/mamlGZ1/GwZKd1TLQ24XmjncH8edMMj+7I075a1AixNN9ut6Vzjea7ZHN4f+nPo//oa6N1W/PGqJrB1mBQD2nmZyeDpD8HmShdptPnkH+03ohl1Ol0KsfE86qfm4exZlrTptmwR92XZPnZGd1ut8UNnYPtdfLA+ywUCmE0Ggn7xkYBrg9aY0ew73Q6EQqFZM3lteQ9oRk2nkc2ICWTSTQajYeuJd8UtBcxTXPmmlnx5GEBqxcw7HY7kskkBoMB1tfXv1XHks1mcfXqVWQyGcTjcfT7fdRqNSSTSXi9XpRKJekM0YuY3pQovOQC1u12sb29jUKhgDt37hwbuDztoE7s4sWL+M//+T/PaGqOEjwHg8EAOzs7mEwm8Hg8YjuxurqKRCKBy5cvSzcYF26Hw4F4PI5Tp04hkUigUqmg1WqJ383f//t/Hz/96U+xs7ODv/qrv0Kj0ZjRN3Azb7Vaz724XW+ykUgEsVhMGhW+7fcoxqUP1ZMCSdM8cAsnE0Hw0Gq1sLa2JiVcbuCpVApvvfUW3G43rly5gi+//BK7u7v427/9W1y7dg3vv/8+VldXce7cOaTTaYxGI2G5yIqwixCAsCksoxM4U+xNjRY7+jhvjkwE2RX+PkHqZHIwMJnf5+cCIJt0NptFtVrFnTt3pPRH8FGr1ZDP52e+ZhjGjNs4WVbty5VOp9Fut3H79m2kUilcunQJk8lE7lUK15vNpphl8jqQSWP5nICC78XBwtrWxTAMMS0li8kGA5Ybqf+aTqfiMl+pVDAYDKQczC4+gj0++/Tu0msBGUwCGWrhGNStjkYj+P1+/ON//I/RarXw3/7bf8Pe3h729vbkHBJwsdGBHlcEiz6fT0Tj7HZkWXE4HCIcDsPr9eLNN99EpVKR68j7JBaLSXKrmwZWVlZgmia2t7dlwsVxYjgc4uuvv5b13oonDwtYvUBB3RA7SR4lpNQ/zweak+ydTqdsMDpzpSZAZ5nUQHABZNmj1WqhXq+LDxVFpM9b0DOHzsbHCbbU8w+zTuoROO2ejIcOZtmhUAg/+tGP5BzlcjmcOXMGp0+flhlm586dw9ramjQGUOPCjPZ5Dt4/zKa1Fu9hQcZDs6VsndeGmg9jbPTXv63jkNoivg/b8edZNFoFkJniCBKysVq/RSZIj4ShzojMjmbeNJNFZobsCZMWHos+Xzx/3OC48eqOROCwC1XruFiuo20CPy9H5LCEyftK66R4XXgdeB9q13SeQ55X/h4ZF90tqAX1/Kx83/l/83PwnPJ3+T2uOwRfPJf6/FEUr+0eNPtFhkp/bn4Gfd9oRkxrT6ltYilvdXUVLpdLxnVx/SNAa7fbUnLVMX8d9f/pgZVKpeBwOLC5uSnXUOvXeN74Ob1eLwKBAFKpFCqVyiMnEjwqptMpWq2W7C80s7Xi8cMCVi9QuN1u/PCHPwQAfPTRR7JhPCqYjSWTScRiMem0oYs1KWe2+9JagR1JfH22+7pcLjQaDWxubso4mq2tLWxvbz93ZavRaIStrS2EQiF873vfO/bvd7tdGT1BDQbp+mg0isuXL8sIkEdFLpfDf/yP/3Fm4ecmNRwOcfHiRfzrf/2v8Wd/9mf48z//c0QiEcmWyXA8a63atwXb08PhMDqdDvb39x/qi2Oz2ZDL5eBwOFCpVMROwOPx4NSpU2LVQc2Ltq+gEJsbH5ODR937o9EI165dg9PplCG3BDn62LrdLtbW1pBKpcSH6vLly1hfX8f+/j7W1tZw//59XL9+HX6/H++99x4ymQwikQiSyaRscjxezrvTPnCDwQCNRkOYEIK3TqcjnYC0MdDGvI1GYwa0MtHh98kc89y0223s7+/LEGpusJPJwUDm6XSKK1euIJfLIRgMypBoDWSoW2Lpn3YrZET29vZmynMUPgcCAQHHAIQNI4vEc0TworsZu92udFJSstDtdlGtVuU9+Fq8JwgaKQjn+sVzwsYFyh54jljSZ5JlGIa4vLPBgeeUbBL1ZIlEQmagTqcHxrL7+/twu93Y2dnB2tqaPKu1Wg2//vWvcf78eensAyDNAwSr+v41DEN0dgT3rCzws5H9IwAGDpj1QCCAlZUVRCIR3Lx5E7/4xS+k5HyUoFmp3+/Hu+++i16vh08//fS5X3ue57CA1QsWzIx02/fDgrR5LBZDOBwWYKAzUWZyFNSyLMEHilkbARhp/1KpJAvPcR7g7zJozre/vy9Z9jeBoIf9/mQykcWeG0M8HkcsFnugbf5hwQ2D2bLWrbA78Pz587hw4YIs0g6HQ/RqzztjBRxq88jskWl5mG6KM+l02ZTBsg1wyNroFnjtF3YUt2jqZ5h56/tUX4deryeWASzfkYHk71AEnc/nYbPZsLW1hdFohGg0Kvos/rwGQ9wA9bHPh9b98Jj17xBQ8d59lCaKbBUnG/R6vRkncm1A6vf7ZxgqvrZ+3rXPFlkVreHRc0GpcyIw0wwL9WQ8djIwWsdJKwet96T+THct6/tJHycBB+8j7W5PPZ0eUcRr9bAGi3kw+zDjZTI78Xgc586dQzQaFVaQSUOlUpHSL8+T7uTUDD/XEr4fwWg6nYbT6US5XIZhHAz51udba9PYaRiNRhGPx8XP7ajB541DogOBwCttZPykYQGrFyiGwyG++uorAA+2euvg4pLL5fDWW28hm80iEonIhpbNZhEOh9FqtWYc0xcWFqTFGDgc+BoKhYSNKBQKuHHjBvx+P7LZ7APU9vMSw+EQv/jFL1Cr1fDP//k/F5BzVLDCn0smkwgGg7JInj59GuFw+IHy3zeFBgPcECiITaVSCIfD+OCDD7Czs4NqtYpf/vKXWFtbe6zP/V0GP1ez2USz2ZSvEWzoblV2yZFFBSCZOH+XvmrAISsBYEb3cRwgP51OpRt0vvXe7/dLhyuNOVdWVpDNZkXHw6D4+8aNG1hfX0en00EsFsM777yDeDyOxcVFEbdr006aXjKB0TYdBBgcfUIgxM/NxIedeHoe4XyZi0Cl2Wzi/v37uHPnDgqFgnxmsjt81uPxOOx2OxqNBiaTiXhMURgfjUZlo9cde+l0GoPBAPV6XUriBA2VSkW0gqPRSPy4NBtOkMPPTVbW4/EIA8hSWq1Wm2HV50G6zWaThFGDQ5vNJowcrVG2t7cBQHz6mCTm83lh7/lsamZxMpkIq6f1cdPpgadUJpPBP/2n/xTtdhvLy8vY3t7Gn/3Zn6HX62Fzc1PWUjrtE5g2m02xOqDWj0mVZu9+53d+B+12Gx999JFUCpxOp3SE837Tg8MXFxfxwQcf4PPPP8edO3eO9Jwwer0erl+/Dp/Ph7Nnz6LdbuPevXvPXTXiRQgLWL0AQXqbJZBvM9nkxsHONYqhdSZNCpzz2KgH0HQ9H1xNmZPeD4VCiEQiKJfLM9qG5yWoG9jb28Pt27exuLiIXC4nWhCtTXlYaC3MeDyG3+9HMBiUVunjAkrNLmjWSmfiPIecKXYchu1Zxvx1p1ZGa3l43xFYApByHoEVGSoyIrT6eJiglq//bezVw76n2SEKdqmTedgmzt+hOH1jYwOtVgvpdBq9Xg8+n2+mrEbncs0mAHgAEFKTxDE2BGH0K9IdbsBhhyHvTX5/MBigWCyiWq2iUqnMzNnjee52uzLuh+eWWiy+vgZzLNPq93+Y7mled6XZHr0ukPnQ+iombTS+5DNlsx0YwPIcaO0VgRnLe/o+4u/zXJKR0mwWj4ENJvycugxIlk2DWK3PI6jjZ3S73VhdXYVhGMhkMmg2m2g0GrL+JBIJBINB0S7pUUVkqGgeqzsoyQLzs7OknE6nH2AKGYFAALlcDoVCQeZjHqekRyDN55TDvS1R+/HCAlYvQDgcDrzzzjtwu934+c9//q0UL7PLpaUlycB1a3mv10Or1ZI5V8zQ+JByg2EGy8yrUChgNBphdXUV4XAYiUQC7XZbzPOep5q8aZri/P7v//2/x8rKCv7ZP/tnSCaTArC+SdBO5mE4HKJSqeDs2bOIRqNIJpOSIR41dHmB7dPMzHu9HsrlMgqFAmq1GlqtFkKhEE6fPo319fVvvNbfJOJ+lsFzx3I1mQdqxuYdnjXbpTeaYDCIRqMx03HKc0mm53Hc3ZlY8NyRuSLj8ij7Eg6Gpv/UdDpFJpMRN22aStKxnQkN50OyK0+LoWu1GhqNxsycQQILXU7kZyfzQ+ZlPB6jWq3i888/x/r6Ou7evfuA7QkZt3w+j0gkgu9///uIxWKYTCYzJTN2xxWLRTidTqRSKWn1px6KzzhLXwQewOFoGdM0ZxplxuOxrB2ZTEYAgdPplHl+2k7A4/EgnU4LKGMyRMaN55UNCp1OR8pXpnloIcCkUZtx8viCwSAymYwkOP1+X7zAyEyxTDkPbOmXxmMaj8f44IMPsLKygo2NDdy/fx+/+c1vUCqV8OGHH+L999/H8vIyOp0O6vU6VldXhaFj0kyvMMMwpBTItZidgOvr6wgGg1heXpbyaa/Xk0HObrcb6XQaFy9exHA4RKlUQj6fP7aHHz3ZACAej6Pb7aJSqRzrNV71sIDVcxx86LxeL8rlsmTa3/TzFJ+fOXNGBrlSy8Asbn6+HzNRlh24UZHFokaBICsQCEg2qXUTRwkuwt+VLms4HOL+/ftSGkyn07hy5Qqi0Siy2awsSBRNk0FiuzgA0S+QRXpYZ9s3hdb0sDxGc8Rms4lisYhCoSBAl2OBvs2f7HkEVcBs6Y7Z/jd1C+rPwXuUTArLYhpgcOPmNQEg5qssb31b6GPR7CT9nr4pyEptb2/PmIKurKxgOBzKCCi6nPP9NFOp7wlqz1ga0swKQYju4NNidrJtWlf1KJau2WzKwPVIJCLvOX8u9JBifk2zVnotYejuWLJSuquObIzu0uPxc93iGkTGiOsSkyCuT3xfvg91jForBkBG3eikhqCfayITSDKWHGWkB0qTIeO5J/gaDodS1uMxLSwswDRNrK+vwzRNtFotSZy8Xq/MPuQ1Bx7UexHMMdFIJpOYTCZYXV0VPyyCbv4uw+12YzQaIRAI4Ny5c5K88ZodJcbjsZRoE4mENENYcfSwgNVzHDabDRcvXkQ4HMavfvWrb/UGYofI0tISrly5IuM5WMbjAsPFgiaC3Ij4+szK2FGVz+fR6/VkGO3S0pIMvCVdfdTgovYw5+KnEaPRCLdu3cLa2hq++OILRKNRvPvuuzh//jz+yT/5J4jFYkilUpLRc4HVot1QKCRNAMDhxsoN/ijAiiJbelONRiOUy2Xk83l8+eWXWF9fR71eR7PZxM2bN2VMxYsYvCfIkj7KRuFhwa60Xq8npY9AICCjk/g6fr8fqVQKKysr8Pv9yOfzqNfruHnz5pFaxfWx6HEznU7nSOd9Mpng3r172NjYwL1795BMJvHTn/4UqVQKsVhMvK74nLBVn2BhvtRMhovAnckKdYG6PESQQADK4eYUTj8KWJbLZQQCAdy/fx9utxuRSAR+v1+YNAK+cDg8I47XZW+yfQS6FMWnUqmZwchaVzYajeT86rLoeDxGu92WDj7tLM8y6Xg8FnaSuj1+bjbk8BzxeyzhkaliN6X+eTI9XBt5zy0tLYkvGZlGWtFoC41qtYrxeIzd3V1MJhPR7F29ehXhcBhbW1soFArY2trCvXv3kEgkcOrUKcRiMWFtacrJbtL5blgCq9XVVSn/sTNWJ8Z61BLvjXg8jjfffFPKwBw/dpQYj8fI5/NIpVL43ve+h93dXWxsbDy3idzzGBaweo6DWeZ8VvKoILCKRCIiHtWLOIEV3cCZ5fHn6vW6lG6Aw85DLuacmceNjrqOo8az7HKbTqdSIrh16xa63S5sNhtWVlbwxhtvyCJOgz16X2lNi/4cmkE4ahBM8T22trawsbGB27dv4/79+2g2m7LQH6Xz7XkNra/hpsT4JubqYcGS6TzYabfbwlZEo9EZzzKHw3Gs+ZDUKWnd1VGDQJDdsqZ5YNQYiUQEmGhBPoEGAQDnGnLTJ2CZZ10o4iZgoas6dZLdbhedTucbNTUEq/wZ/hzZDD08Wmt36GDPspfuGqTQPxQKyZgdMlFkgYfDoWjQ9HkDDmQLmg3i+K1AICDHaLfbZxhkbbjpcrmk5E+RuBbtkw3j5yRjT7aKn4GlVx4P1wN+VoIgzTgysdKjgTweD2KxGN544w3s7+9jMBjAZrNhY2NDHNlZamSZmJo4+ljp+9Zut4vP2rlz51Cv13Hv3r0ZFtPv98t9S0aPe0EikUA2m5Wy4nGi2+3izp07mEwmWFlZQbPZtJirI4YFrJ7jME1TXLuPkkU7HA4ZsByNRmURYPbDBandbqNer4sWhIsRPYhCoZC093Jx9Pl8WFlZEe+aYrGIL7/88sj1ey6ezwpcsbzX6XRQLBbx2Wef4S//8i9x5swZ/PjHP8bS0hLeeOMN6XCjhw9LHPNdgMfpCmT0ej1xqS8Wi1hfX8f6+jpu3bqFfD5/7E39eQ2eLxpSsgSj2++P+jm107eOWq0mGhtd8uYMR5Y/jvoexz0uBrVHpmni/v37aLfbcDqdiEajAA6GecfjcQAQjRI3V7IoLD/RO05bErCbDDgUX5Px4MzBZrOJarWKRqPxje3xHDitrRfIpLJpwm63z8whJJtEbymyNmS16YrOz0DwwoSQWqV5+QDBAztEySr5fD6Ew2GkUikBQBybxeA6RuH7vXv3UCwWcfXqVXm9yeRwUDfXN3ahEuxoQ95gMCju9hSuDwYD0czx/iXDz2vBc0Xxu9/vx8LCAoLBIO7fv49Go4FSqYSvv/4auVxuxhqCoI3XJpvNSjciQZ/T6ZTSss/nQ7FYxKefforpdIpgMCgjssjiEYDzuqTTaYzHY5TL5WNrrdrtNj777DNks1l88MEHWF9ft4DVEcMCVs9pZLNZBAIB6TA5im6Eo1ZI73Oz0HP+mIlyhAK7bwAglUrJIkhtDDMflgHp0VKtVlGtVh+5kDMDp6CVJRbtafMsgyxFPp/HJ598gnK5jE6nIxlzo9GQRf6443Dmg4tevV5HoVDA5uYm7t27h52dHezu7h57+PDzHmR+CMKpCQEORcoUXT9pKzc1LtTwaCPNeR3Qo4LDf/1+/2N3t45GI+zs7KDb7SISiYiYGjh4ruY75XSZVJfv+KySPabZKBkgsijxeBzlchmbm5vY3d2VsVTf1KFLLVG73Uaj0RCD22AwKADEZrOJpQBBENkx4NAhnaCKJUqysARSbrcbXq8XyWRSmCPeFwDkmdIzAyla188bQQx1VGRlWEKj3xW95XhvmaYpw+bZHEENG3VO2gqE5UAdbG7hPaSZNX6NIJMsn/btymazeOedd7C3tyeMII+fx8p1WSeyvI/J8ukyrcfjwfLyMqrVKnZ2duB2u2f81Pi7mtUjuGdX6HGbjLhOTiYTLC8vi++bFY8OC1g9h2EYBlZXV5HNZvGzn/0M9Xr9SL/n9XqxtLQEj8czo3/y+XzweDyyMDOb1/OngEPdAxdL6rLYgaK7tIrF4jdmL6Tz6R2zvb195OG830VQJ1UoFFAoFLC+vo5yuYylpSWcPn0atVpNwOSTsmzj8Rj1el0MS+/evYu//uu/ljLOyxZcuDkImdk+M/RwOCxC8ycFVq1WSywE6IyvN/+jlFSDwSDOnDkj7OzjxHg8xt7ensyE5Gw5dvvx+FjKY9LBZ4IlQ4IbdqkFAgE4HA5hgPg6kUgE7XYb6+vr2NnZEdNeMhaPAlbdblc2xoWFBbEbIGiYTCYyU4/nj2VVreGhVolgp9FoSMdkt9vF+fPn4ff7BcRwWDwZG3bwMeFiuTCRSMj5JDBmKY7nisCBnlnaroBlPOCgPMlZn3b7wXxVp9MpNh4sH5PNphZOM3C6YWheP0aAzPuNawqF6R6PB5FIBF9//TWq1aqcC601AzAzVYD2HW63WywdKMnga549exZra2v46KOPpAzI+YPauJXAKhKJIJPJCOg9LrDq9/vY2dlBOBzGpUuXcO/ePQtYfUtYwOo5Cz4gnL+nPUoeFXzgKBAlpU79AxeiYrGIer0uD7Hu6gMgGbueDwhAFprRaCTeLIVC4RuPiWWgTqczkwU/D6DqYTEcDlGtVoWdAyALfjgcRr1eF7DIzhzdHv+wYImgWq3i2rVr2NzclDE539TW/7IEmROyl9wIqcM5ybIwhdLUXmkX8G8L6pxYXnySpgF2Cw4GAylL0YQyGo0Ki0chOj3nWP6hDoYz6cisajADAPl8HltbW+K0TsDg9/tRr9dlJIzNZhNNVTKZRDabhd/vFxCn/esAzBwDf5+dgwQE/B12IZJ1cjqdyGQyM5YBLG2yK5IgjskbAWYwGJTOPz431BtqHysGwSNfVzN1tMKghEIDx/F4jEajMQOGWGbTXZl8pskW8b34mZvNJkzTFPBDkDnf1DIajZDNZvHuu+/KM0APMR6TtuXQ3Yu8D/UsRrKVnU4Hy8vLwvYRrFLawSkZPJ/BYBDpdBr1el3A1VHXYq5hAJBIJJ7LSRvPW1jA6jkL+uFQKHhUYEWTQtbltRCViwMfEN0arYWygUAAhmHIosEFhmZ2o9EI3W4Xm5ub31prZ8fKixIc3EsQAEBGPNCw0+v1Ynl5WRoEKDZ9VHAhLhQK+Oijj9BqtWZKqC+7o7HetNxut+hT5lvYTwJs81xSj3Wc13Q6nVJ250b0uDEajVAsFjEajWQTstkO3MxzuRwymYywNbqzjYkIO8MSiYQkQ6PRSMpu3JTX19extbUl95LdbkckEhEH8Ha7Lc85S1TpdFqkAtQWsRxJ4ERGm+DoYcCKWio+451OR65xKBSSJGwymcyM1uG51iNeCCIILtjlxvIju+eozyIjxb8JzjRI4vGyS5KACYB0ItLkWHfh8TWpbyKY4s/QDoJzUvl72p6B7CPLiB6PB7lcDpFIRHylKMXQTKZ2Xtfmr+PxeGZdt9vtokHLZrMCoLhOU7NHBo4JhsfjQTwen2mSOOozQjDK6/6yr1snEU8ErAzD2ADQAjABMDZN813DMGIA/jOAFQAbAP5PpmlavOERg/48pVJJ6P9vC5fLJS3eFF9qp+JqtSqlqE6nA7/fL55MXEhY+ptOpzPdgXzYuVAVi0Vsbm6+dCWsQCCAS5cuSSmmVquhXq8jGAyKTxFLqhS/asfthwXblu/cuYOvvvpKyqjVavWF7vo7alDQSwNMlkEqlYp4G9F646Ticc4pN2RqkJ7E6FabK964cUNMNvv9vlgq0ENK+6GRnebGqp3Y6VmkvaT4Pmtra2K0SZaI7tuhUEi6W91uN1577TUsLCxgaWlJGlSYuLEcRiDicrnEboXdtFwrtNeYLn0RIGqXdTIjZMkYNHalpQaZNV4LXkeOdyELRVAFHGqeKOImMObPsoRGnZo+P2yk4Wfha5KB4zHwtemTNj8Pkww2n2cCMjYEUGuWSCQEqI5GI+TzeTmG8XiMaDSKRCIhBrDUtpGJIzsOHDCgsVgMZ8+exfb2Nvb29lCpVERzRSkItYdkGUejkXSuFgqFYzPmzWYTt2/fRigUwg9+8ANsbGxgb2/vWK/xqsRJMFY/Nk2zrP7/bwF8aJrm/2YYxr/97f//byfwPi99MCvhQ3DUDcdut4uRKI319KLRbDaxv78v7djUTOnBoFyIRqORlFNisdgMLd1qtaTL5WXLWnw+H5LJpGwenU4HjUZD5pFxeG25XJbyDRe9R8VkMpEF7/bt2yIe1X41L3MQoNDag8CAAJ5lVO2C/qyCIIBt+E/yOnxWuAmzXBSNRqU0xrIPN2SOl+HmSwBD1liXpPg+dNeORqNIp9MAMDPXLx6PIxwOIxqNIhwO47XXXpOmGIIBuovrrjmWCdnxpoEVnw/qNVn6YgmL+k193ACE1QEODSjp8cURL+zEm2dyqHeiyF87oQOH4Iu+VDxPWnCvtWRMFOeBnBaf87qEw2G43W5h3liyBQ7ZKn5uvpe2qCHDR2f1fr+PQqEwY1MTCAREi0cRvGbOCKqYwPH1FhYWZixaKpXKzLmi/oxMInAw2LnRaKBarR4bWJGhjEajuHDhAjqdjgWsHhFPoxT4jwH8/m///f8E8HNYwOpb48yZM1hdXcXGxgZu3rz5wFiKh4XD4RCfku9973sIhUJi1EfDPXbNUMdAQammzrngcNGOx+Oi1aJuoNVq4fr169jZ2ZnZBLn46br9s94kHye4oMbjcaRSKQGZrVYLvV4PwWBQFqfxeIxUKiXDXh8VNptNFuZSqSSv+bKB0kcFWZf5YczM1LW1wEmGYRjiI1Wv1x95vjkQWnu+0cD1SUODJbIzZJmazaZoKZnsUCNFHy7+fDAYBHDo2wUc3FeRSES6DlnGZhmP0xEWFxexsrIioIedj0y6tFkvBdQsW9rtdpTLZSmd8bzSxLPf74stSTAYFHsSgixdYuPvkeUi8OGMPYIdNtsQTLBcx7FPuquSr69LnQQYLDWyMYfnkCBQg0OCSL4m35ssGgEaOxDZkENGSIMfXhuXy4VQKCRrJwAxt2UXNpMzj8cjXdhcr3nOCLYIUqmZJfiPRqO4fPky7Ha7WOjws1MOwnOuRfPRaBTNZhNut/vIHec6CoUCPv74Y2nwedJk5GWMJwVWJoC/NAzDBPAfTdP8TwDSpmnuA4BpmvuGYaQe9ouGYfwrAP/qCd//pYl0Oo3l5WXcu3dvZjbaN4XD4UAoFEI6ncbCwoIAK53RsfWci6tu9QUO57MRIBiGIWVCio2pp7h//z7q9bosanoR4uL2IoIqAHL8Xq8XmUxGGIO9vT3p6CGbQMEpSwv8fYY+/1wc2Ur9KoVmAPh/lrYMw3hqeg1eH5vN9o3TCrh58xrpjfBJgxs4N0sNMtvttpR8OBYlkUiI5okgYzweCzOq2RXgUNBMVojParfblW7WaDSKU6dOiW5M2yOwvMRypHYspy0AgZUu9VE3SPaCc0bJbPP1CWJ4jHqMFr312N0IYIZp18aqFGJ3Op0ZzRjPsRaZE5jx+ywBejweYZH0uByCIn5fM1FaB6aNRdmQoDsDeV/z3tadh7zuWg9GnRlBle4W5TXQ6zSfEa3jYlJgs9lw5coV7O3tidCf544dorx+rIj4fD4B5Y+TSJCNtdkOBlDrc2fFQTwpsPqhaZp7vwVP/8MwjK+P+ou/BWH/CQB+C8xe6SgUCvB4PN86YFkHXXmpraKQlA8fMy3Sxel0GrFYbCbzBSCaH+BgweAiRiaqVquhWq1KNxuDi452i35RgRU3QS7O7MpKJpMyQ8zlcuHMmTNiTKh/l15U9JJhFszrsbS0JBT8qxYsD2UyGTgcDjQajaduu0ER8VGCZfeTbLbgJmYYBvr9PiqVCra3t2Gah/5KBFi817xeL9rttrhkE4gwKQIONrV2u40vvvgC9+/fl9dZW1tDIpHAxYsXsbS0hNXVVZw5c0Y6x3h/12o12czZQEHBOINArNvtioidYIObNIcYa08psjh6BAzLmdSO0XIAwAzIY1JGgEs2s9froV6vo1gs4tSpUzJWCjhYM9vttpQLyeIRRFD8zg5mgiWv1ytgQINfXZImMOG963A4ZEyRaR44/GuwSvDDUmCxWBR9azAYFMPmyWSCeDwuXoMENsPhUIxF+RkajQZGo5FYVBAwMaFdWFgAcLAOp1IpsR6hVxVZMH5O7hdcuyqVCsrl8rGTCbKDuVwOCwsLWF9f/9Yu8VctnghYmaa599u/i4Zh/O8AvgegYBhG9rdsVRZA8QSO86UNLjr9fl+8aI4SXLjZpgwcZm3MMvv9vnTXUJQaiURE1Klpet0ZRPdfZqjdbhe9Xk+yYn0MuqvwRQ6CUWamzOx0mYClPRorMpjFkx2k+FQ7T3MS/eMEAcKLCloJ2lmeoD/a035PbrDfFNQhnnQ5g+wFAGGpCIrYHTkYDJBOpwW42Gy2GQE9WS86evO1Wq0W8vk8qtWq3LeNRkMAWjwex+LiIhKJhPweAOkgZEmJ4EKPt+HXCTjIrvD4eN9TAsCf1WvNZDIRFotgQLPm/Fy6s4/AiuU3Ml7UO7JMqSceaPsDbUfA1+KzXKlUROTODjv+ASDXv9/vz5QbgUMxO7us+T19TvS1JjvHJLfZbAqQ4fvRhFiXiXU1gdIMjuohuGaHpBbj873D4TDC4bCcfx6/TnhZfgUOdF1swjlu8LqwQ5HH8yJXLE46HhtYGYbhB2AzTbP123//XQD/dwD/PwD/VwD/22///v+exIG+rHH27Fm88cYbuHnzJu7fv3+krNnhcCCbzSKdTsuw5UwmI4sIFwNOs2dHC0WtDL0o0ZuFomKXyyU+VJubm9je3p4BUByOy2zvRaeDm80mvv76a8lMaXtBJoPZ46lTp4RGByCLFjcr+tlUKhXs7+/jL//yL3Hnzh2sr68/lm+VYRiiwTgp/c93HQSoLLstLS09FKifZLBsFA6Hxd9qftEno0DT0oeNznnc0EkO3c7JGrhcLvj9fvGNC4fDMsyXiRL/JjCi2LtYLGJnZwc3btzA1taWAC+73Y5EIoGVlRXkcjkx2uToKgIBlq8pUrfb7ahUKiJcZwmR4IZ6rn6/L95YLGOyrMafY0MMx9CMRiNpqiFLxpIj/6b5MUEKQZhOaHK5HE6fPi0lUrJI9M0KhUJwOp0yB5FMIcF1LpcDcFiKZudgIpFAt9tFo9EQpjoSiSAYDMozD0CE/vxDpn46naJWq0lZjvcUAGGeksmkaOf4PrqMy3E0vGd5f1CDRaaQHmAa0OnEgVqyYrGIRqMhsxsJeFi9IPhlYq5LhscNDj4/ffo0Xn/9dVy7dg37+/uP87i8dPEkjFUawP/+2wvrAPD/Mk3z/28YxicA/j+GYfxLAFsA/pcnP8yXN7iBswR3lKAugIJqzrPiYkhgNRgM0Ol0ZhZfPtRceAiktFhday8GgwEqlQpqtdrMxsQFADgUKb/IwdZv2ixUq1XEYjFhGKrVqoyl0aWR+fInM/1KpYK9vT0BpZwn9zjBhZVZ9uO+zkl5Rh03tOGiZh2OWqo7Tuj7nBs0n635z87nhWWgkwZ5ZAvIFtfrdWGtdBcdvzcYDKQEz7/JMPD1uDmWSiXRO9rt9pnh62yYYCu/Pt/an0kzM/Pnja9LITRZrflrxtfS3kuGYQiQZGgTT34WJm4Ea/oYeZxsrvH7/dJlybVNjzHS3Xg8Fj4zXKcIKPRntdlsM+sXX4+vxbVRXwOt8dJ2FQDk/Xn+tSkqPxPfn9YuZOS0nQSPj2COX5sHVPr86uHZ+prQvV1fD76/2+1+oAx61KDOjh2v2iriVY/HBlamad4HcPUhX68A+IMnOahXKfL5PG7evHks7Q21O9ROOZ1OMYmLx+OSnbCjR1sm7O7uiokfO5JYmmBbOAABB4VCAdevXxeApoNU/vPQLv+kwSy43W7j5s2bMsiamqmdnR20Wi387d/+LdLpNP7O3/k7yOVyUhbkJp3P55HP5/HRRx/JHMInOT+macqssydhq+hNNK+n+S6CWbLP55OSqS49n9S9YxiGMCQLCwtwuVyo1WoPDPGdD+159LSCJR+v1yuJlHbXZhdaMpkUM1p2NepSJZ9PPWR6cXERf/fv/l0sLi7i3LlzSCaTSCQSAnoIzFnS7/f7AoJsNpvM5+Mx8Pp0Oh0BCGRy+bzTiFIDBQI8slf8vHx/suLaeT8SiTwwa48JHVlO0zw05uSzREA0mRyM4OEzSLBKNov6L4Ixn8+HTCYzU2bV5cHpdCoglwJtzRIR6JKN5PnhGkoXfHb/eb1eYRl5j1InxtJ4uVxGpVKB1+tFNBqVuYdknThTUzOeBE0Mgjgmwto3jD/n9XplIHihUECn08Gbb76JcrmML7/88rE1htvb2+h0Ouj1egiFQuKH9iqH5bz+jIKLyWQyQblcPpLDOoNZGLuZqCdghs5skOwU7RbYhcTynxad624ULm7NZhPNZhOdTmfmodMMhO5UepGD54EjQprNJorFoojWi8Uiut0u7PaDmWPJZBLlchmJREIWun6/j7t376JUKuHGjRtiBvqk5+ekNvynwRAdJZjls2Sk75+TDvovsQzCjPxRwc30SY1Bvy10RyCbQ1wul2zEPBb98wAECGv9n/aPovnkqVOnkMlkEI1GZTzLvMkocFgO478JRqjtIculHfL5by1e1wyk3uQJQPiZyK5oAbX+rGSNyGbp9+V9w+PRc+70Z9DHy/ec12PxnPLrfD3dWcj3nDf75M/oz03Qwv/zGHhsmlXSUx18Pp+8h7Z0IHvn8XhmKgwAxEl+vgw4H7x2TLiHw6G8B/VutNigZCEcDs8A9scJNjmwG5ea3lc5LGD1jGJxcRFvv/02vvrqK9y7d+/Imyc1Nz/60Y8Qi8UQj8dnsje6rvv9flmMaRpH9oUPMh84AgPqUEjlX7t2Dfl8fqZEwsz1SR7E5zm4uHNh4ngfLrZ7e3soFovY2NiQhY4LqW7p1gLk5yF06/ezCm5QFy5cwHg8lnb+kwoyttFoVDZVXUZ92M9zPt36+vpT16+Zv7Uw+OSTT5BOp5FOp7G2tgabzYZz584hnU5jY2MDgUBA7CL4TNfrdfR6PRSLRezt7aFUKsHlcuF3f/d3cenSJXzwwQcIBoOIRCJSwms2myiVStItpyUEFJ6zdKTBJ1nFSCQC0zQlOaD4ORaLyXHpUtNwOBQ9V6fTmZmHR93m8vIy7Ha7lL+oG+TmTKDm9/tFU8byH5McBsezEJywkzCbzcLlcklHHLscuQ66XC50Oh2USiV5rWaziWq1ikQiIW7rZLv6/b7ILbRJKR3yeW5cLhfi8bg47JMBp04tFAohHA4LsGKSSxsGADPPJ1lAskzAbFPEfBiGIfcXr43uBCfzyPt+PB4jHA7L/x8XEJGtunTpEhYWFvDpp5++UOPMnkZYwOoZBReQ43jnMCMIBAIIhULS/gscshq67ReA1OpZ5+frMAiktK6BHS3VavUB0e98N82LKKY+SuhOGv35dcfldx3Mkh+n++Z5YBb5/np225MG70c6TIfDYREzk7l9FMDlfay9tp5W8DnjZqs3ec0uUYvHdnldHiOLzO6wQCCAbDaLZDIJv98vZTfgUPeoP/e8hnLec4qbMc+Xfn9+Bq3J0usJEwm+9vz51notrWPi9Ztn1PQ6A2Dm+wQHWtdFxp1MPhtyNIs03wXIJJQWCvOMmD42zezPvyZfV9tK6PdiMszrw/fmzxOIMUEmI6m7Ko8aukOTAJnAU69pusQ5f66PG7oznJYaPp9PLENexbCA1TOKWq2GGzdufOswYx1OpxOvv/46crkc4vE4fD6fPBQ0uWPmWKvVZGFxuVzSissHlm3vHLhKXcRkMsH29jZKpRJ2dnYe0FZRf8H3etab9dOK5wGI6GAJklnpi9iFyQX4JB3XqfV5//33kUwmRRBM8Fur1YR1fNjxfJfjhbjpUeM0mUzkeQ6FQrDZbGi327Ix0n7B4XBgcXERzWYT29vbaLVauHz5MjKZDN577z0sLCzIxsxnnMCf6wS1QU6nU1r4CVDY5Vqr1WbKQp1OR8TXo9FIWChqldgJZ7PZ0Gq10Ol0Zkp8tCyh5oiO8v1+X7yWtKxBdx7y9+PxuGz+BAt0kGfDQaVSQb/fRzabhc/nE6f1UqkkXlMsxQ4GA+zv74vvFsf9DIdDVCoVuSe08JtmyTwfDK672oaCTDfPcb1eh9/vx+nTp0Un1mw20Wg0BBBns1kYxsEMzW63i+3tbYRCIWHejho8XmrfqEdjyZldrwS4GoSdhFVCpVKBaZpYXl7G6uoqPvvsM+n6fNXCAlbfcbDVmoLz42irbDabZOb0idE+JWxj5sMCPFxXw0xei0h1F2C1WkWhUHjk+BW+16uajTyLYMbJfz9PoO8oQbaVI1VOKqipIlPFDY7sAzUpD4uHMZJPO/heZMkItFgKY7AUxU17f39fQNdoNJJ2/lgsJrYNBKu65Kt1Qpp1IZMBQMDl/Cy+b9LyaC0S1xBOI6CxsGakuObM6zl1hx1wuOlTA6T9rejhxGuspQ8E2NQjae0U10ltd8Lyl2EYwtiRPSTg1KwY7Sjmu/t4rvgZ+d5shqC+VUswCCZ5TvR72e12SYoTicQDGjZ9H+nrqcfWOJ1OAalsUJpPwnhPkL3TcobHDQJmelu9ymEBq+84MpkM3n//fXz99df48ssvj72o8+EnOON4Ad1OThNBr9cLn883M6PLMAzJqvg3H1q69v7qV7/6RkH9i7apvwwxnU5RLB547b5o55/ljPPnzyMWi4nA9iQiHo8jk8nIBAJupt1uF9PpFKlUCjab7ZGDw59VcsBn8u7duygUClheXkYgEBDtEXDA+pw6dQo2mw1//dd/Ld2VHo8HoVAIiUQCuVwOLpdLOt96vZ6MtKE1Azdg/drAYdJFHRNHNrEMGAgEpEQIHDbcsOOvVquJbCCVSmFxcVG0SHt7ezMO+2S+dfcgAPHOa7VasNlsYh8TjUZRq9Wwu7srm344HEYikRBfMHr00SuKOjJ20WnjVQ6XJ3tGINbtdrG1tSWu5JynSkDDcpxm6rTvky75UdZBjWUgEJDxWGSxut0ufD4fIpEIGo0GisWidGlTn/bZZ59hMpkgEonIMc2XzvketN6gETE92QqFAu7duzczskl/JrKPvV5Puj+/qWx+lKjVamg0GnC73YhGoy8co36SYQGr7zg4z2veV+QoobUkWpTLbE53DTErZWbDzEg/YNRn8We4SHKRftE28Jc9XtTrwXuUCzetFiKRCDqdzkPNO4/6usFgUObsac8h6gozmQzcbjfK5TJ6vZ7oTr7p2dMdZ08r+EyyXFMqlSTR0WJm2rBwRAr9h1him+8Gpm5G+8xRyzmvi+K/KQDn31rkTEYEgDBCfD29/ujPozsA58XeNAAlOHkY802DUX5erZXTLun8TNr6QTOQuqRJtgmAOI67XK6ZmXdcVwHMTGDQYFMzcJqB0swgzymrANpYVGvZHA6H6JF4Lfk+NE9llWJeh6arBnwtfgafzyedgSw7RiKRGZ8pXo9QKATDMLC7uysA+HHvex4Tx7IRhL6oxsZPEhaw+o6jXq/j+vXraLVax/5dGrHFYjF5SEgzOxwOdLtdYbC4GGnDUIIybkK0e2A2df/+fVQqlUd6+hCUvYilKCueXbDUUSwW0ev1ZGN9/fXX0Ww2ce3atcfuDlxcXMTKyorMb9Q2AD6fD8lkUjLycrmMtbU1SSC+6XipRXpajJZmkbkBkjXx+/2ip/vss89mHOrpjcR5c+VyGalUCqlUSoxI+WzTcqLX680YahI4anG0Bg4so7GkRBYskUjMlL54XZnUceoD2Rafz4d6vY7JZIJYLCYz/fgetLkAIOXMwWCAWq2GfD6PRCKBRCKBTqcjpVI9OofnIhwOw+/3ywgYggan04nBYIC1tTU4nU5ks1lMp1NUq1X4/X7x+uLaSHaf3YqtVktAD8t3BJNMYKllo6M9xfWhUAgAZma/ElzRlX5hYWFmpBFntqZSKfT7fXzxxRcIhUL4/d///RmdHCUfBOEc1cNrlEgkUK1WMR6PsbOzA4/Hg6tXryIYDArQpRHs5cuXhQHc3d0Vtu9JYn9/H3a7HVevXkUoFMInn3xyrBm4L0NYwOo7Ct70ZKyO24WkNQbUBvBhJw3NDIjCTy48OutihsWNjAtLt9sV6v1Rm5xmvyx9lRVHDd6L/KM9poCDcp4WGevNkTokaqaY4QOHmkMAwsjqMSCa4eXGbrMdzGDb29uTUsh86E64pxUsG2kQQ1aPmzYAEWzzeGhNMK+PJFghy0O2Zjweo9vtot1uCzAgUOAzrDVJWrCtWRDNwOgRVvPMlTb41J2JBNNMyvr9vrzOPNtjt9vFEkJr5Kip4voGHA491tIGHhP1aDTr9Hg8MmKI6x6ZLIrbdeccAAHgegCz1o7xnuVx6XIqz61mQKnl4nl1uVzyvtoxXTcZUJzP0VZktHjv8rM0Gg1Mp1PE43HROHHf0FM4+PM8lul0KuXXUCgkJcbHDa27I3NK8P2qhAWsvqNIJpP4gz/4A9y9exd/8zd/81jaKo524ObBjYVZIuvpZKhoDjrfUsxyCDta6vU6ms0mrl+/jkKh8EhtFRfiV43WteLJgkNnOYKJbtv83uXLl+FyuZBKpTAcDlEsFuFwOOD3+1GpVLCzs4N6vY5arYZMJoMzZ84AwEwnKzUm7LQiUOC8R+p9Ll++jHK5jI8//hjlchnb29sPHO+3lQpPIghAKKimn5BOvCaTibA1unHB5XKh2+3KZq9tUur1OhwOByKRiOhndnd3kc/nsbCwIFYUbPsn+6HF3iz3MSnTxp7c6OdBAgEsg7M1WT5kCZAgpFAozCSEBCvsUoxEIjOCbgDCrHO4NC0eaGBM0TfPCTsr6SwfDAZnJk3oOYUsPxLwsFS4t7eHbreL5eVlhEIhKeOxWsASXq1Wg8PhQDwex3h8MBRbW1Nolo4mrqFQCG63Gzs7OygWi1KK5LPR7XbR7XZx7do1eL1eZDIZhMNh5HI5YfYo3K/X6/j666/R7/dx6tQp7Ozs4M6dOzJvstPpYH9/XxIONiZxFFo4HBbNbr1ex+bm5ok9A2xEoJ7uVQgLWH1HwVEDnO91nLDZbIhGo+LyzcwWgGgNCLT0pkCGCzik7rUIUovWa7XaK6mt4nnhIqmH4wKH2Tw3AV0OAA6NN9vt9oxmxorD0EaR3MQmk4kwVysrK9LWz5/VWqJwOIxarSbzG8nEkgHj5qLZA4KEVquF6XSKhYUF2XydTieWlpaELSCj8yyDx8xORjJGBDy6Q5esMYEG5x2StSNLRQYnEAgIqGLHnk6eeG30n+l0KmCULBjZcdoPULvDqQMsddGcE4AMX+bxc43iBs8SJBM/rRHVXXfBYHDGEoASB+quNDtJd3GCV3ZecpyO7sTT4EeXSvm+yWRSwBDvF93VSKaRYIjngcfEz8mfpe4IgJRoeZ4CgYAIy3u93kMF651OB8ViURgqMnf0HWTJl8xuNBpFMBiUUqKWjlCfxvuKQ8s5U/FJwjRNmVaRzWYxHo8F+L0KYQGr7yg4g+5xuqFsNhtOnz6NXC4nGgVuTo1GQ2r6emEi2KID+2g0kk1IL+DT6RTlchm7u7uiz3qVghu63+9HOBzGysoKlpeXHwBUXAR1xg9ARv7cvXsX7XYbhULBAlZzoUvfZEjp4B8IBLC4uCjak8lkIt5FXPy1hxF9qThwmOc6EolIZtzr9aRcXq/X4fP58Prrr6PVauFv/uZv4HQ6cfr0adkst7e3nzmwov8U2aNWqyVghmCUzzSBFEEhy6v0oGISx3uXLAdZpkKhgFarJd5S7KbU5ZvhcIiNjQ3R45Axp/ygWq1iZ2dHfPKYUGiHcofDIeeYmh/tAE9hPBNArQml15dhGPD7/TIDleVTaq3o9m6322XWKZkz6sOY0G5sbMDn82F5eVlAPQABd1r4z/deWFgQixDTNMXbjwwj/QM565CsTK/Xm5FtUCCvTU0bjQYGgwH8fr9oZx0OB4rFImw2m+wVukw8GAxw//59OU+BQEA6hguFgthVhEIhRKNRpFIp8XfjNXQ4HEgkEvB4PAgEAnINqtWq6CBPAlhtbW3B4/HgT/7kT+D1erGxsWEBKytOJkjhEgQd98YiJZ1KpRCJRGbq+QDEJJQiWAo4mWVycCqAB5yOtQ7jVWNaXC4XEokEQqGQGDSGw2Gk02mcOnVqxhuMG51exFkuoCHruXPnZBFn6anb7Yp7/XGGbD9JcJOiHoUMJjPskzACPG7ortNeryf3HoErtSEUtnPWHRksPjOmacrEgUQiIdk1NzbDMMTkkmNtCEzYEUhmkuyk2+2Wdv1yuSyWFt918Bzx2pC5067njOl0KqCCpTbtAwVAQBbPC0EL9TTcUHWQjSWDxJZ5Ajq+lmEcDE/O5XJIpVLiH6Y3Y5by2JnI54RrDxk6MurUkZHN4nvzc5ChaTQaYjWjAR81SaZpzmio+DWPx4NcLgefz4dYLCafk4wXg+wdzw2ZQZ533jP8HOywY0mNiStBKxkip9MpLKJmjbT+jLomPUaHz+9gMBAgq8vIlH3U6/WZ5qSFhQW8//77CAQCAr41kGQZlcPBe72e7Cu6pPukMZlMRED/tKcbPE9hAaunHMFgEO+99x52d3fxq1/96tibGhc0Dv4ltc3uH86eYmfHzs7OjGCUVL0Wr/N1tUFgu91+ZerfwEEX0oULF5DL5XDu3DnRdSwsLCCTyUh2z42Eo0SY0WtvGOCwNFEsFuU61Go13L17F1tbW6jVat8JoHG5XIhGo8JmzAtiH9Xx+bTDNE20223x2eGGOxqNUCqV5N4MBAJIJBJSAmQyQnYjFoshHA4jlUrNfJ/lFwp9CZzC4bBk4/SAIqieTqdYXFxEqVRCLBbDF1988cyA1fyzx+d0nkHmpk/XcIJQsk3U/BBser3eGW0lu9G8Xq8kC7qEp5mbRCIhZUUNkgDINSRII9BptVro9XrS3k9mjeaRPE4eXyQSwWQykefDMAwRUpO5IrgpFArY3NxELpdDLBZDLBaTbj6bzSYdzbwf9H3OLkD6cJH9Ich4VDDp5JpKATm7uvl5eJ4168dzSR2adrxn6ZPlQr4m55OSubXZbGL0ub6+LqAWgJR/d3Z24HQ6ZWxOIBCAy+VCNptFuVxGs9kUDRWTRYry+Z56aDPtHU4iJpMJbt26JUzqqxIWsHrKMRwOUS6X0Wg0jv27NpsNZ86cQS6Xw+rqKmKxmAgvdVswF9TBYIBGoyGLB1kytuJSk8KRIvo1XnZhIenvSCSCK1euIBAIyAJ95syZGQ8YrW3Q3j7cxNiVQ6BEEEugS61PPB5HMpnEuXPnkMlksLOzIwO3nwTcEGzHYjGxFNAlDP7bZjsYkUL9FzuJmMWzi4zjSp7W9dcjNCaTiZSLgNmxIDabDcFgEKlUSjJnboAsdXGjL5VKslFr4XU4HBY9iWEYM1oVam34mbnxeb1eLC4uAjhggO/du4ednZ3nksHlOWSXJDvwKBTncw4cMlAsMfLver0u5VnTNGc62SgGZ8mPSZsuNxIskRFiV7H2dCKIq1ar0mVG3zEyiAQUwOHAYYKefD4PYJapi8fjYq/AxEY3APBYtA6Kr0mAAxyUpinO57Oruwb156CfF88l9W0cyaPd/glYtEFms9mU1yewZymTr8tOWOqwaIPD0itZvYWFBRiGgXA4LMdAU1Dg0GWf54NebuPxeGY4Nu99MoZks8iqDYdDhEIhKb8/STCh4gDu6XSK7e3tl75D0AJWTznIYjxqXtk3hc1mw+XLl7G0tISzZ88iHA6LILBcLosgkzO1OI4mGo1KJkhAR4Dg8XhkzAEfQuqEXuab3el0YnFxEWfOnMFPfvIT+P1+BAIBhMNhJJNJAJgBSgQpXHS4ANJzhudLlwzH47F4ynAh83g8wojcunULe3t7T8QaEUT7/X6srq4imUxiZWVFuonIDPj9foRCIfHjYRmi1WrNMDx0z36aA1MJ6PmeuoOMgJXnKhQKIZVKSXmbGxlfgx1UBEzcGAh4I5EITNOUzjBuYGy/JwNSq9Xg9XrFEy4ejyMQCCCVSmEymWBvb2+mNPe8BM8H2Qreg8PhEJFIREAEN04NBlg2qtVqIrh2Op0IBoPSDs9zQ8aKJVxu+ixLEcDQZLNer6NeryOVSsHn80kn4/b2trhxszNUC7oJ6KhBCoVCqNVq2NraErDDZ5CleoIdgjeWislWkRkhS6ttCsjOk9mhkJ0MKUvGfA8mILxHm82mzBUkAONxcm5hJBJBOp0WgT/PHe0reMxM1Pg5eA9zrabcgLoorj3sBKeNAvVX1OFp53632y3soMvlElDNBCyTycjaQWA1GAxk3uKTSkRM0xSD1nPnzsEwDOTz+Zd6rwEsYPXUwuFwIBaLATgwTHtcGpSULN2p6/W6LKp2u12Evlz0CoUCDMMQsMBsiu2uzFhYHtKL8EnRv89jsK3/1KlTuHjx4gwTRd2PXki1XoNaF25gerHmoqiHXpOu58+5XC6ZoXX27Fns7Ozg9u3b2NjYwN7e3pGO3263I51OIxAI4Pz58wgGg8jlcgiHw2I/wI2z1+uJeLXZbEoZk8BqMBig3W5jOBxKyZIbxdMCEjabDalUCtFoVDZZMksc6ZFMJjEajXD//n2Ew2Fks1k5h5VKRRoDWOrk8Wpna5ZRWAKkoJ3mi9QckhHw+XzybJA1uHjxIlKplIyb4eiUo14ntuU/LUH8YDDA+vo67HY77t27J6Wzh40kob5KO5UTEJD1abfbAmQJ+HlOBoMByuUyEomEvB5BihZiOxwOBAIBYc0I2MPhMILBoAABPkdkxQiyCCLYJKI9kMjE8Ht8X4JKbTcxnU5l3WW5i0CUTRMsHfJZpTidoIrCeeAwIWU5lN5Y4XAYAKSTj2toMpmUJIL3JAEVf46fm8fG60VtGD8TmSfKDMg47u/vC+hnYsL1isfNc0d2joCS1x7ADLvF4+O+EQwGT7SRaTqdolarAXg17HosYPWUwul0iofO1tbWY29YuiuKVDMpfHbCcHHjxkLKHpgFVhQsMnvSi+TLDKqAg4WDLt2ZTEaEq2TsuBBx4dcLoxaxk1aPx+MzomEuuABk8fZ4PNJxlclkcPr0aQQCAdy8eRNerxfD4RD7+/tHujfsdjuy2SwymYy4KKfTaUQiESwuLs4YNw6HQwSDQQSDQaHzCaxoq1GpVGSo73Q6FZftpwGsyE5Eo1EBVtSCuVwuEaTncjlUKhV8/fXXmE6nWFpaEvBPu4VAIIBQKCSla31t+HyMx2NhbqhtaTQakogAEOsMt9stfk/caJeWlrC6uirJCjfbowSBFd3dn8b5HI/HKBaLcDqd2NvbQzweRygUkntWgyeyGbrLTq8NnNig2UquJ91uF51ORzor+T2yWyy/AodNE2SY+FwRaPBcaJsYwzAEKFH/w1KUXpsASNmaCaUGBwQjBMbsPGQyS13q1tYWQqEQVlZWZs4RWR2yXXosTzAYlDIeANEsUjLA5iEebyAQkHOuDVQJ0LTeVa8xPCeaueJ6oqdndLtd7O/vi0De7XYjGAzCMA6HSfN6cJ3XXaUEX2SD2URAcElrDL/ff6KJAbsgec1e9rCA1VMKm80moIcZ1XGCQ0WTyaQwFfQhGQ6HokGgh8z+/j6KxeKMhoQMCuljLo7aWI8DnJ8mW/Esgpmoz+fD2bNnsby8jPfeew+xWEwW6Ha7PdPSzgWIYIRdZMzGCaQGgwG2trakC42uxlxItW6CpojxeFycmS9fvox0Oo0rV67gJz/5Ca5fv47PP/8cjUZjRtPARZgb5zvvvINEIoFz587B7/dL2ZFUPssMuluMrdfM9oPBIDqdjnwm6kQAiPM+he8ndT+QreD5pg4QgDBGPI7BYCAatUKhIJuRYRhYWVmRc7yysiLiaNM0hSFkqZVMFa8PrUgKhYJMQSArw3tFe19Rm7i6ugqXyyVjVr7NkXo8HqNcLj/VMiLBAEu/8yOsuEECkDIWLRGYWGm2iWVTlr/4eyzBkmEkCNDlKQIUlss7nQ5arZbMaSRTwnNBFknbvugS/HA4lBIVExxqRPl/ssT8DAQoBIcEBJ1OR0CDzWYTBpTniM+zLpPyXiDwYPcqzzv/sJTdaDSkxM21RH+d9y+/rkugLNHTlkH7EGomjVoyAmSu6ez+5YgcglVeQ61f5PnlNdesH3W2LD9OJhN5vvj8PKnWajKZYH9/Hz6fDz/60Y/Q7Xbx6aefvrQlQQtYPaVg3f5x6VSWKehWTXG11+vFYDBAoVAAAHnoqtWqlKNIkXNx54PNjZat+CwbUQj7sgErMkZnz57F0tISFhcXZwwSa7WadNLobJ4zF9vt9ky5ipvTaDSSMkk+n8doNJLMlS3LXEi52GkBLTs8M5kMXnvtNfR6Pezu7oodAUOL1DOZDE6dOoVkMomFhQW5lrosQ92M1obpr1OASwDmdDrF84kaHWqyWJY4ieCmT+1KvV4XmwPqoVhmISM4nU7FGZui53Q6LeXsZDIpgHEymQiwYuLB8g+HF3MT4eey2+2iF6Iwm+eLGkSOwgEOSiO1Wu1bgRXLXE8zCJxYLiJTwfPM88njodaG6wFBESUBBFTc3IFDkMOf1wCDwIDMFYEzNTy9Xk+E5qVSSRIMHi/BmWZuuOETpAUCAfGqoqaQ4IklT973ZK34emSVCL7IGjGB4Hvwc+r1kNYNXD/1OSdLpq0W2u22iPldLpc4r9frdWG0eK54nHwmudbwPQmsyFTp66GvLe9Jt9uNTqczs+7zNXheuO7ruZe8J1ji1KCSwdIyBf4nIWJvNBowDAOrq6vo9/v47LPPLGBlxdGDDBXLL4/z++yO4k1drVZnZnwxIx0MBmg2m7h37x7q9Tri8biAiFgsJsNcSbdTlBqNRlEqleQBZ1b/MgU3Sm6yesYaAGlnJk29tbUlWTFLGyxbEYCyNFEul0UEyqG54/EY29vbspG0223pCiI44yBbLsy9Xg+Li4v4vd/7PXzxxRfY2NiQYbZvvvkmcrkc3nzzTUSjUaTTaXFUZqu73lwISihyJZvJzYldiwAEoPv9fjSbTbjdbgGLhULhRLtEWZ7s9/vwer1idMsNBTjcrGlqyNmVvG7BYBB+v19AsXYb56ajmRx2Z73xxhtSBmo2m7h//z46nQ7y+bx0VFJzRnDAEgtF2qdOncJ4PMbe3p5ouJ5lTCYH41hGoxGuXbuG1dVVYYhisZhskARdLOmRdeXnrFar6Ha7CIVCDwjKCd6oU+P7ardzAjPN6HBWKUuJZF/YDch1huBGgx0CYp0UUpfF8S4syREYsVSr1y+WOMlQUeNFSwebzSblYY6y4aglXVrUZTrNsJHVNgxD7Ca047nb7cbKyoqcM543Pov6OhLUErjpshxZKj6HPp9PynQ8/wS+9Pbi7+gkYzQaic9WIBAAANTrdbFXYHWECaF2Xtfl3pOI8XgsnaLP+jl6mmEBq6cQuqz0OCNiuECFQiF5wFji4yaq/ZN6vR6KxSJM00QqlUI6nUYqlUIikUA2m5WyFmlp0sPtdlsykZfNaoGLlB6dobMyPe6HIDifzwtLpK0VHA6HZHwsK3Ch1x1telOgLqfVaknGzYVPl1wotjVNUxYc/u7S0hIWFhbw2muvSZZqt9ulJMyMVutmyDxoBk53dWndisfjEc8n/h2LxQQYnpShn96optOpCJx1uz2vmdvtnplbRvDEz87NnmCKG7Au3TCoQQwEAmg2mzOaFQIp7S9ElpG2G9zoWdqlPuxpdlAeJTSbxNLmysoKgsHgDDAgCKhWqzNt/wQJLGFr4MTgfcX7SZeoHgY8GLy3KUXgWkWGVWvi+Kzxa8DhCCmWrTSLQ+NdbXHA77G8Bxw2/PAZ5nXVAJDnkPo6NlDwtR71+fh+7MajpkqzeB6PR+wWeG8RpNMvkJIBJhYMAlqCP15HrkMEm/r+53VltyDZaLJ1ZLJM05Q1o1qtip6LrDifx8FgIGOk9Fp1EkEmmiynbph4mcICViccfr8fH3zwAQaDAT7//PNjM0FsRb98+TIWFhZw6tQpBAIB5PN5aRfnz7GVtdlsIpVK4c0338S//Jf/UvQ3fCgajQYqlQoajYaUV9iC6/f7kclk0Gw2sb+//1KMtOGGefbsWWQyGVy5ckUGt5L10x0xwEF3z6VLlx4QitJpneWxarUq5atgMIhqtSotzHqB5aJK4S8F2NPpFJFIRCbJezweLC0tYTwe4/Tp09jb28Pa2hqazSZWVlYQjUaRyWSk+8jpdIqVBrU8/Dzj8VjKNgR1tBTgJsWMlgs4wSU7F/f39zEajURY/jg2Id8UpmmiXC6LtQEX/16vh729PWHiKP71+Xzw+/0CAllK5cBhsl4sx7D0x7InS9xerxepVArAgcawVCohn89jfX19hp0k48Jzw9Jlr9fD22+/jbNnz+LDDz9EuVx+5mUMh8Mh93S320WlUsGdO3eEgSDbmk6nsbCwgGAwKEmVaR642HMyBLVHBE2j0QjlchkApDNPN3x4vd4ZDRCZMOoE9TBj6tse5pfG7+3v70sJmwCF32fJdn9/H7u7u1hYWEAsFpPXJ+tF3ye+B5Mfvh+TCiYlfr8f/X4f7XZbNInc6Am+mQBokMXzziSVawk1UNToaWDINYNNL06nU4ZHE3RxvSZo3tvbE1aJzylfi92aZMSo2SLo43NDHS2Tmt3dXQFe+trQt43JJ724fvjDH2JzcxMff/zxiQCgfr+P69evIxKJ4I//+I9RrVbxV3/1Vy8duLKA1QkHjSjphH7crJ/UezAYFF8aPlTaDI/sB43qMpkMzpw5g3Pnzj2UCWC5j5srdQ1kQLigvQxBIW4oFEIgEEAsFkM0Gn2gRVx30bBcwQ2aCxEXWtL4XAA4M5BAhQwIF0eeSy6MbBZgpqpnpmkRLkFTvV5HMpmUzZDXiCCAFD+PhxsQNwEKTvl7+rNo8SrLNsxw+V4UK7darRPVWpHF1RsOv0f9GjNsnk8aWFL3RCBFYKNfi07skUhEOt74uZjx12o1lMtl8SPiJkmdl9b6EHAMBgPEYjHRPNKc9FkzvdwcyYxwPZhOp6ILJJvh9XrlnuVGz3ND5kR3xbIczPVEj0rieqGbC7ROSgMkzSgSMBNQ855guZrXWut9+HNk2HSHG3BYpqNWkt2tPA9c98g2a3BFYMGEC5jVXVGkThYNOFxfuJ7oZ4tJmXZY18w5kz4+wwRkfF3g0IKBwItD4bmX6PPGfzOJIIDle+uS7XQ6lU7gSCQizDYAWdsGg4E8c16vF8lkUq4N748nCTaUuN1upNNpOT8WsLLiG2M4HOLu3buPXS5IJpNYXFxEPB5HMBiULhAyHNT60HT05s2buHr1Kv7dv/t3Mh9t3jrB7XYjkUjIZHQ+fNQAVatVWZBfhtCaKr34dDodWby5CPZ6PdTrdVmACGq5aJZKJezv74tNQSqVkq4h0zRlzJD2xHG73YhEIhiNRiJmZfs5x91Eo1Fks1lEo9GZ3/H7/eJYTQEwwReAmQ1Pu5EDhwsuO92onZkf8DudTiUTp3ifQILdcsvLyygWi8JaPGlMp1NhpDwej7TiR6NRXLhwQTRX3NQIGFhWabVaqFQqCIVCYuZIbyWeF3pT8fcIKqhv00kON7SlpSX5mWq1ilKpNANibTabWFfwfb7//e+jWCzil7/85TMd3sx1gM0TwIFukOeGjBRNQenBRtDPEhm77ObduYPBINxuN1KplCQGuuNwMpnIRh0IBOQYWN4jIGX5V+uIKHxfX1+H0+lEJpORcjWAGRBGMJROp2G323H69GlEIhFpMmi32zOdefPzI5lAErCNx2M0m00Zf8Qkhr5vnF2pQaHWRY7HB/MtNatGEXoul5Pyq9YVUj5QrVaRSCRE6+T1emeaJegrNhqNRI/JRIOfi4J5PUuQwE53g/Z6PUmiOIJoPD6YXEC9HTW4e3t7MIwD/0Myttp4enV1FdVqVbrRT+LeLZVKqNfrL522F7CA1YkGAQ0XscfRVlHgzNEUZFa4yHMDoYiXtHwul3sk68QFS3eIcCHipq/Zmxc9uBjqLiYAM5mybvEmU8JMXAfBF881wTIXcbKJLAXqbJiaEo4a4nvxWPx+vzCSzDrJLvDrujWeWbPurOJr6VZqileZbRM0EvzpDiduOAAEaHW7Xdm45kH6k1wTAl2+L8859SO6FKNZNf35ec/yntYbCzdAZuu858kSkNXgpk9wTRA9b5TJZgW+Fo+TXlg+n++ZinDJ8rGLlRuv7roja6HvHwJsbZcAHAIi3uMEnLoUyHOp7ymCAjIjPIe8F/XxaO0Wjx+AgIqHMZna4oDlc/qPAXhA5K2fBwBy7YBDywGW7WitwmNnUqafC81WaWE9gZ9eb3gONYjUn1c71s8L4hlkvcLh8APdk0yQ9PXitWByRH0vj4P3MK+nfua0cJ7XgYCR+jqPx4NEIvFYjViPisnkYCpIs9k8sdd8nsICVicUNptNHoTd3d2Z7rOjBDeDs2fP4uzZs8JW8HXY1k89yv7+Pux2O3784x/j7bff/kaRITeOSCSCpaUlEbpz0+GD/bIAK21TEA6HpSTIxYzZaDAYRKvVkoyRIm/tGcNFLBwOy/UlG+lwHLjrU6tGXYcGYBydk0gk0Gw2BURprQTHzPDr5XJZtHB+vx/xeFyYp/lrROA3DyL19wlGptMDPy0Ks7X/DxfR8+fPI5FISGnz+vXrJ3Zd5n3VUqkUQqGQmEeGw2ERFBNkamF5LpcTsbHWT5mmiXw+j16vN2NRogX+FDdnMhnZ6Nh5yA02l8shFAqhXq+j1WphZ2dHzgOfzUgkgmw2i1AohMuXL2N3dxcbGxsnJvQ/TnBTZfNKJBJBu92e0TeRcdI+XRwzw0QgEolgOp2iWCwKoCWDOhwOxbON140WL9pjioyWtkQgkNcTCCgQ50gijlShXov3CUu9GuRQT0XtItl8/i7L67zX2egQDAYxHo+lrK31hRyTo0EkjYLJ8AGHonWyedlsVho8dMmROkq7/WBGYSQSkfuNcw75O1wntre30Ww2xVaHjJ7216McAYDo5MjOkXHvdDqSrBEsad0Wnysy5DabDeVyeQYQ6iHk/Mwejwerq6uYTCa4f//+idy7rVYLP//5z2c6eU8SuD3rsIDVCQU1OgDQbDaPXVbjg062Qrc/P6yGX6vVEI1Gsbq6iqWlpQd0CfPHBkDYkHkjQJ2RvUzBrIx/899ccLl4kdkh86DNVXWmrrNendlzAWPHH0sIWoQLQJgPbRFAvRFDd0M9qqV9/lozo9VslP6+/p35e4TvrTdOsmVc2Ml28Jzy947b0aO1NvxMzOIJ8HlutFiaTQT0EeOmx3PE54KbumZI9PuRkdOlMDKOLNnwOk6nU9mweJ16vd7M3LZ4PI5er4ft7e1nAqx4Tska0Y6AXaU8pnmtk/5dzSwxueLaA0AAA+9r/t78/ajP//xzwU5mDbh43/Ae08dCEDz/jOlOV35ughjt5abvUd0Fq88Xj0szS7zv5n2feB54TASsmhnSrw1gxvWc3wMww5jPa/R4z/Nn9O/NM43/B3t/HiN5np53Yk8ceUVExplx5F2ZdXRX3z2cIYccHqMhZUGQDQGEvDABCQZ2FxJgG/uHYHjXC2MNGFhbEoz9wzBgWzCM9QK2KInAwqYoSxA55HBmyDn77qquo/POjMyIjDszI484/Efy8+Yb0dXddWR1Vw/rCxSqu6oy4nd8j+d93ud9XvYx/h3riPnMO+cZEDzxDn1QxXuQZHOGOcAaoTsCz+lJB3ovvL8IbH9RxnNgdUljbGxMX//619XtdlUulx95o/W6CKj24+Njiz4pg69UKjo5OdHt27f15ptv6vd+7/dMfPt5Y3R0VMlkUpVKxaIYJrPfTL/qw2ueAoGAgRN0BrBLvsoMPzCqI4kq8aXhACD1w+cjpgU05fP5AV0HfkiVSsXMNxn7+/tqNBrK5/NKJBJKJpOmRTk+PlalUrFGruPj4xb14+jPRu7L7AEZbH4+AqbCrVqtGnDCwJB0MHOAf49gmbQYPlqJREL1en0gwn2YwTUeHh7qo48+UiaT0ZUrVyzdzfsbHx9XMplUvV7X1taW8vm85ubm7KA5PDzUwcGBWq2WTk9Prb3P7u6uut2u2VPs7e2ZqDuZTOrmzZvmpUM7HZhGWu5QpXnv3j3t7u5qa2tLzWZTGxsb2tvb09LSkrmyJxIJ3bp160s9FACf5XJZOzs7Vh2KfqZer5ux6unpqTGozBmKKnwau9PpaHd3V/1+3yolmZuwncwb9GqI1vFz8hW4e3t7VrXJ9UUiEeXz+QGtVrFY1NTUlObm5oy58rYopML9HEd8DksJcAY4IWbHNgXmWJIJ4tlnYfD8PXlWmO/AD44ekx4U+XQpPSoBlJ1Ox9hvn74j9YcnFR0xCF4okBkZGVE2m7Xv8SlNOhugyRwdHbVnyGezp+zt7ens7Eyzs7NmOQK4Hhsb08zMjAVsJycnSqVSViXJ87+MkUwm9du//dva3d3Vd7/73UsBbc/CeA6sLnFw4D4O+zM+Pm5pJS+SJJLwZfzB4HmzTzrJw7h83kBzAYjiEPbC5l+U4Vml4Uia4cGPdF7ph7B1mKniwCDVQGTq2RwiXzZ0/9+ejeE6/MZFaxLSToFAwDYxH1V7nQoDNmKYefQ6Ez7DPxN0YmibSAlg1wGQQ1/GZ0oaYAc8o/Ywg3VyeHho1VF+Dvt3598fz9wHETwLryH0z5lr82wvfkL0WAMwkpLgvhKJhE5OTlQulxUIBD6RniKaB3R/WVqrYZ3NMBvB2vZi8OFqPVJn7BHopGAtPPPiq9iGtXromXz3Aa4FVgvWh2eI9tBXebL2SD36+csAQMGE8a59dR/f6+eRf1b+33uhPCyaX+eegRvOSHBdngnj2fM+2AM8O0gqjGfuv2+YyYYtZY7yfvkzz5LxZ77q0GttfWDm54TXdDIHuB6CuqOjI7NhuYwzg+cAUPxFAFfPgdUljdPTU7333nsmjH3UMTMzoxdeeEHJZNIOMy+y5UAgHfEP/+E/1PXr1x+KqWIMl1ejz0Bn9IsErCSZ7xfPr9lsDvTa4nmw0aDhoC9Zv39emn94eKhUKmVUuAdKvCfvCxMIBKxJKyJtf4CxsUciEWsjUy6X1Wg0FIvFVCgULDKGMfCl22dnZwOiVr/5eYG8P/i8hQEC9ZOTE01PT1vVEtEzuhDAFfMOMAQAk2SVq4/C2MAAoAfid6J4dE9UPwKADg4OLA2TSCRMB9Rut+0Anp+fN1bj9PRUqVRK/f6543S/37degvV63T47Eono+vXrnzD0zefzSqVS2t3dVa1W08HBgTqdcwd2mmwzZxDjfhlryKeJYE45fD2gouIV3RDgikFaHE0SDAgMDv3vAGEAAp9mJ2jzaTvpgjnFjBQGLJvNmit5PB43E1Y+m9Y2aBD9IQzwoKLZ/xvpAlD65uIc3Hynb0MDEzeckmP+cG+93nkfS8/yka6ORqP2PYCpYDBo2jJ0TEdHR8ZUk3FgTbCeMULFbR7GUJIB/l6vZxo69JyJRMLuk0pk9hCKougKgqVDNpsdYKh51wRVrVZLoVBI3/rWt7S6uqp79+5ZhfqTjIODA7377rs6PT1VJpMxhv6rPp4DqyccgUDAbA6IDh6XsaJFyXDE7pkGnJJffPHFAbqWf/dpAnZ/vdKFMJHN5BcNVGFLEIvF1Gq1NDo6qlQqZVoDr73gmfgqO0CIr9jzERoROv/PxkU6wUeE6Hs4fPg8QBbf7dN4PsL2VZzMDzZ0r60Kh8+djPHn4V68bolfMETejZ2fDYVCisfjSqfTisfjA204PAsAqPBg7mEHGguMErE7gMHj3fhonGdCwMG/gS3i2nxw40v/+TyeDc/Zs4CkjLz2DCsIegD6cvRer6elpSUDoJ4h+KIG84z0MdWKzWbT5r6vbmTeeXYAEDT8i8/3exLvnuf4IP0eIMcDe79HsUY4uElDA164J54pmjq/v/HZVHpKMrDjdVPMbaojCaS4D8/0DevQqLRkvRCYAXa4byoVh0en0zGQ6N9Vv99XNBq1a/eMnmem+Rl+H2adYWuRK/T7FzYLw5WSD2Izmes+gOe+/HoDHCYSCWUyGRWLRdubnmR0Oh3VajXbnyU9B1bPx3kk9u1vf1tjY2P60z/908c2VEwmk8pkMgMAzS8eDo/V1VVNT0/rG9/4hgGxbrdrDW7RDjxoeAEp2gIqeX7RRrfb1b1798yj5uDgQJlMxswvEa571uns7LyvGhVW8XhcmUxG2WxW7XZ7wMU5lUrZoR8Oh5XL5QZSUThzs2njW+MPkm73vHn25OSkpYGJXM/Ozkw/xKYMo+S1Yj4KhUWhSgvjRW94CpCiOhBmDYFyJBKxjbTb7erq1aumkWFe44E2PT2ta9eu6aOPPnrkzbDT6Whra0uVSkWBQMD0VBMTE8aYwWrg7cUzoRUTYDYQCNhh4g8n9ECdzrnv0OjoqGZnZy1FglCdQxjwQGVho9FQq9WyUnMqEvGK4nn8nb/zd1StVvWv/tW/Uq1WU6VS+UIDFebu3t6edQJA21etVnXz5k3NzMyYSzvu6LT5icfjCgaDZisCe9loNIw9AoB2u+fmtRhM+mAEdiYQOPdFajQayuVyBp47nY4xi+h67t69awEedgqSjMnEa+ro6EjZbNaYRw9AfNUsc9ynDb1BrxenM5fQaPn2OhQAUDkNIF1ZWdHx8bGtd6pX8djyQBUdJ3OYZ5RKpRQMBpVOpxWLxbS1tWUWPegDuWbPEnubBEAiez6A6uDgwLRxrGOuHa0hhQ6wXaFQSJVKxQAs/lU+vZlIJMy0GtPc+/fvD2hGH2ecnp5qZ2dHMzMz+uY3v6nV1VUVi8Un+sxnYTwHVk84ACqkfB6VsWJBe9Elfy5d6HD47KOjI/s+r3t4kIZoeHidgk8DflkVTU9zsNHU63XVajXb3KHdfWTstUboZojg2byHq6o8k4LpqK8I9FElJc4AANJ8sAYAouHqJqrz/IHh9RvcB3OHuecZhGFdBZ/NgcGzYi5xTYeHh8ZUDRc18MwODw9Nf5ROpx+56bjXQHndlweF/pnwfrAH4Dn76+N9cO+RSMQ+LxAIWODjGYHhKi0MGAk8Op2OCbKZC8PaupGREc3NzRkIoTDEH2yejXwag4NWkqWdKPtn/nnmjqIH7otrw4V7eI74Sj6f5vMpM94HTK+vgOXf8u9hcgE7/EJw3u1eGF4CxtADcg+AY+YknwnzKV1UsPI7lig8C9aPn4+8U/oNAiIB816c75+3nxusM8/+eH0a84MULozesCbMr2fWMEycD+6Ya56xZsBG+Xsb3s9YMwRtnpnjOUUiER0eHiqXy2l3d/cTTP7jDN4dXS9+EcZzYPWEo9c795giz/6o1Gg8HjcRui8D5qCmbJqqD6J1P5GZmMMH4PDwC7TbPe81d+/evV+oMldGv3/e1Pjo6Ei3bt3S4eGhFhcXB0AMG9fR0ZG5ax8fHyufz5v+gEbYXrfiN1g2e1+KPCxWjUQi5nxP6phSfd4lhyAASZJFk5ubmzo5OTGGCp2R3/S73a7pINA/ee0XImsfxfsIm3+3t7enVqul1dVVbW5uGhPkB/dXLBa1u7urhYUF/dIv/ZJu3bql7e3tR3pPgAFfmo7fTrFYVL/fN0+3iYkJM4jc2dkxFo0DiRQmzzEYDFqLoImJCdXrda2srFjVkwcNROsnJyf6+OOPVSqVBjyAqMbisPdpRw6s119/Xa1WS/fu3VOtVtP29rYBQYIY3vnTGBg5TkxM6OTkRCMj530lp6amlMvlVCqVjM2iQMHPa1iNd955R/1+X/l83p5Rr3fRGiaZTBpwgbXxwEqSpqamFAqFtL6+bqke7F5gEtHxAZp4Z/Q9pGqTYILiAhhW0ta4nEsyHRcsa6/Xs/6rpHPx5RoZOe/3yVr0hrj4fjH3AEvz8/OWMidQgnmemJhQJBKxz0AjBkMK8waAoMrOd3vwru0Ap3Q6PZD2jkQidv9eF4V+0vtY8X0wrrDABAAAGTz6AMWFQkEHBwemtSJ1OT8/b99bq9W0vr4+0F7qccfx8bFWV1dVqVSe6HOelfEcWD3h6Pf71jn+cVJqk5OTWlhYsFYdPgIilcQhzcLO5/Of0BqwKHxqY3h48bT35vlFqML4tEEpd6PRsDTN4eGhReMcBkRMRLyRSMQ2StyKfYrJi3ZJkfBd7XZbtVpNgUDA+rNxeCQSCROL81mexeD7vYYLtgCzykwmY8CQJq4MH9l6/R2pTx/1DlcG+aoontfOzo5pn4YH10ZT416vZ1V+Dzunzs7OVKlU1Ol0zPoAHRlGjQCScDhsrVbQriAg5zsJSLhen74FaHjvMlgDz8AA4FiLpEcBBBR/tNttE01TaYgLOi1i8AAC2Far1acGrLz+D6aHlFetVjO2G1DAXgAogdXgYObfwb5gWEzKj3lPKt0zeFzDxMSEzs7OPuHNB1gZZtEJdtgLvdaL7yWApQgF7y7vqs97lGT3ARMEI82aIFDx68bPX67JayaPj48HtJmAPADGcOUhz4agzncFgM3k39LGin3AW0PwTr1UBKDGXIdhxW7BV357Yb6vZPWVt7C2mKFKMoANiPLv7TIG1djBYFD5fN7sVL6q4zmwesLR6/UsHfI4wKpQKOjFF1/U7OysVUXAUHmBLqzSK6+8ovn5+YFqQC/69Jve8GCxsxARt37RYtsvcvR6PevrtbW1pWAwqJs3b5pegA3Ul9Jz8HIwYkzJJgOwgnqH1j85OdHa2poajYbW19eVTCb16quvGpCCJQBI8ctveqTVOPj95rm9va1oNKrp6ekBG4RSqaTJyUlNT08bSBgWacMYDLf3ABx4ke7Z2Zn29/dVLBZ1586dAfH6g0a1Wh2o7KMR8sOMs7Mzra2taXJy0p5PMBi0/+/3z6uoWq2Wms2mpqenlcvllEqlFIvFlMlkNDo6amCGtBaAYXNzU93uuTt3JBLR1atX7TnjL8Z7BCRjZcIBnkgkNDIyotu3b6vRaBiLQrqq0Wjo6OhIxWJRjUZDxWJRgUDAqj5xe5ekO3fuPLWoHFARDoft2bVaLd2/f1/1et3uEcABoKrVavb+YaQILgD0oVBIqVTK0r9o+dDt8Ow8cPc6QLR8MFWpVGog5cccb7Va5rN1eHioWq02EPT0+31L1aI1pFoTkEQKOZlM2lyHCZJkHmc+VQdrJMnmBkBs2Kur1zvvfsFaBSh6ETjrCpYIiQHvRbowEUX3RDoRJpGggfl8cHBg4I753eudFzQBngGZVPTyuexvMOMEIB7UIjVB1gJYGxkZMe8/sgBehH8Z4ArT60wmo5s3b+rjjz/W3bt3n/hzv6zxHFg95ggGg7py5Yqi0ah2dnYemfkhWkomk3bY4tjuI0/SNSzkr3/961pcXBwATkxyz1w9aFB1Vq/XzZzycZtFf1VGv3/eoy4QCGh9fd1SBFDt/X7fok30OaQlYJm8Jw+buE9dwaogiObzeKfHx8dWAee9aKSL6kI2ZzZ6r005OjoyAStiVjZhQHIwGFS9XlckEjG2xVcocr1sol67R4oCxodreVh/NOaV1wI+ymC+kt6AicO+gHQbh0a73bbDH9E8z5GIm2fkI3TP0ME4wM5wmNBqxVclAixJTcFooNPh32IkSssdGCDSuOl0WleuXNH8/LzW1tbM+uFJAxveL8EAzBosH/qddDpth7YXlANaeD71et0YeNgZDuFQKGSpKV9VyzoBjDYajQHGg0CEfowwgJ71ImXF5/BsmP9cfzQaNYbK66yGbUlgsBCos14ODw8ViUSM+WUPmJycNNE6WjrWEPMO8f2DWD3mHeuBOcMvgh3uB51Ws9lUu9224gLS9K1Wy8Ak1XMUngwz3QjMeedcl6QB4MM+5+1ihj/H/zyAmP2QX+FwWLOzs/r617+ulZUVlUqlgWrDRx3MM+7vUY2Hn7XxHFg95giFQvr1X/91pVIp/Yt/8S+sFPthB9F9Op1WKpWydAqsAt/B5tVsNjU2NqZvfvObyuVydjBLFxqRB5U9+4HgeHt7W1tbWyqVSo983V+1AWNFim5/f18vvPCCCoWCJBmrAKCSLoCqF/CS0gPY8OdEsjs7O+p2u0omk5JkuoednR07hCcnJzU1NWUu65KswqffP++VF4lELIKFkSJ9yf3UajU7QDgoOBCmpqYsfYl3DowMFaekUAKBgAm0a7WaJGl6elqBQMAA/+fp9rgmovrHGQQJRPe4TtPBgMMW/x1SBOFwWJubm6pWq3rhhRcUjUbtwKDKigPSi/Pb7baq1ari8bgKhcIA2KrX659g94jSk8mk+Y7xvLk2Sfr4448fyO5tbm4qn89rbGxMr7/+ur7+9a/rz/7sz/THf/zHqlarTwysOOhJXQeDQWN/YDdarZaBB+bG7u6u6fJgmKg8DgQCmpmZsQDBe6oVCgVjWqk+jMViGh8fN4d1uhdQPQibxDzO5XJ27aRT0QFJsuACZr1Wq2lubk7T09Of0LL6lB/pLUAB1ZLM+8PDQ21ubiqbzdpcl2RAi7XGvAGssVeS1vUAG1a53W6b7o855NkngoRKpaKNjQ3F43FFo1Hre3j16lVLAwYCAW1sbAw01+Y5T01NDXw3mi80ogDm4XlFkUA4HLb+qM1m055XOBzW1NSUMWsUIEgXtiysw7GxMV29elVLS0v6wQ9+YGnwxwVW3W7XGtnn83nt7e091uc8K+M5sHqCQaT/uNqqq1evKpFIWIUOzTEpHaZMv98/b6XAQvXRiDQoLP00fZUkK1ev1WpWav24A9HkkxyoX+QgItrd3dVPf/pT5XI5i4JnZmbM7oJNcrjqEvDjdSMcXoAbDiDKyqULZnJyctIsEaja8RqNQCCgZrNpNHsgELDWNTCWWDgUi0XTdTDYWEOhkG2sXkBPqppUBcCKTZXy7u3tbdXrdX33u9/V5ubmpbxbInEOKeYn7Bbi5pmZGXsfRMnMd0n2TCYmJlSpVIwNRO/EweV/wZBMTk5+QqfmgSZrgXJ/3gvznBTZ6OioarWazs7OlMlk1O12TWP5WSD04OBAa2trWlxcNAbrypUrdmCSVnmcwdz2eqSxsTFls1lj2TCiDAaDqtVqJkr2xrYwhFgJ4CuEtsfPKdg4vo+KUNhw0tlecC7J0u+tVusTulC0a7x77m1qakozMzPWiQBTS/Y6ABW2DbyLg4MDY+5IZWLzMDk5afOP/0ePVi6XresAa2dsbMxABwGNpIEWV7CXBLrShYQDVq3T6di7JwgmYOMeSMfFYjFjFiUNBEeS7GzwYIbgmQHrzj4AW83egpko85/rRyLijaNJ7VKs4QG5r5B8ksH7+KpXqj8HVo85+v3zHluIDx91pFIpXbt2zWh1Ik42CfxbyOHjNE1kOHwtJycnNrE9m+XH8fGxqtWqqtWqKpXKE01eNl5SYM/6QE9ULBb1R3/0R5qZmVG73bZedTdu3DBRNFod35IDQMIhQc+tcrlsGgdJtrmipeh2u4rH46Z/Gn43nmVEI5FMJhWNRo1JGx0dNeBQq9W0srJibNrExISmp6ettx6bIoeJ12h4hs2nzqgaPD4+1rvvvqu1tTX9wR/8ger1+hM/90AgoHg8rlgsZi7vRO/opprNpkZHR1UoFJTNZnXjxg07pNPptGZnZwc8dkKhkMrlsg4ODszbCFDK/bImsVfgXcBUzc7Omm6Fiq1oNKpUKmVMIWkRKknj8bgJ6E9OTrSwsKBgMKj79+8ba/VpA2awVCrZdy0vL6ter1tK/nECNOkCWKF36vfP25+kUilrlVUoFKwBdbFYVLvd1tTU1IBHWrlcVjgc1gsvvKDx8fEBMMoz4tDjGQBu0D3hXzU/P29aJi9RSCaTpuEj9SzpE6wZe1On01E+n7dKXbyaYBYBvqRs0dNJsms6Pj62/pbYrfT7fXtmzWbT3nuj0TCGkWrObrerbDZrekuYXthkAB3pR8ABon9JBohgPnO5nLGezGn6JfIs0AUSSNNyq1qtmo6O9+8BCcGDZ5jYPwCB+Njx841Gw4Cll6UQMJ6dnVlqFZkCe4gH0JdhGMpz+SqP58DqMUev19PGxoai0ehjeW+w2RChkE7xmwSCS9I/3mH40z7vs6KGVqtl2o6tra0nqk46PT1VvV7/ykUWgND9/X29/fbbmpubswNtcnLSDlP8cmjbACBhY93b27MCAw5xWA3PHAJ+SEv4w58DCh0Fhp1UDg37zOTzecViMUsdoCEafuek/qjigpkgBSRdOGOTOimXyyqXy/r5z39u9g6XMQKBgK5fv66ZmRnbfL23D0afpOXwyYENpkT+6OjI1gmVU5lMxg43ninvkDYmROw0+0Xnsr29rXa7rUajoUQiYakpihA4jH2lGIwhmz4M0KNE6mhVMBi9evWqut2utre3L81xemxsTJlMRsFg0LzcSPVMTk6aNikajQ68i2vXrhlzFAwGB1gL6aKpMYyVJJvD0jl4uHLlil0DwmnYGOnCM8x7MPHn/BmfG4vFDJzRSBqNowcNrCHvYSbJgiPYfJhcBNmsNZhewAVO+8P+VaFQyNY8Wiqum6ILGEDE+cxLn0UAhHHN7Pncl3RRiMAa4b6Gfdy8vhH2y2vNYIhZD8PV5LBe9XrdWHnE/J65B9yFw2EDgPy+u7trzaifdDQaDd26desrbxL6HFg95kAETaXLow5frkxURPpvZGTEmpIy4X2frk/7vM8DVwcHB9rY2FCxWDQtxOMOdBtftcGGVavV1Gq1tL+/bxqQ6elpJRIJxWIx21joXVWpVNRqtSyFtLa2pqOjI/PrkS48Zti8RkdHLaUwPj5uhxSbHgwAkR/Uv3RhDMtGh58NWpBGozFwEPvSdUkGrLy5qN9oidj5/2azqc3NTf30pz/V1tbWpQErijwWFxftMPaO1ScnJxaV5/N5E/d6MTMWBq1WywDltWvXlMlktLOzY1E2c9+nTwAStN5B5L++vm6sWCgU0vLysrEXfPewx1O5XLZr8+/6UcrOWfexWExjY2PGDFSr1UsDViMjI0okEmZFQMPcbDZrwGl8fHyADZHOvYykCwYE0TcVn2juOMglGQsDiCHdRpoWMOOtGHwVnWdwEcezxyH4r1arKpVK2t/fV61WM20SjBXgDkDhNVak3gBDMG/MEwIOino8sPJMDIB8f3/frAhgBgGsrD9YTi8h4P6kCzNRUmikF6mYBDQBSrGz8MJxD+6YjwQtFMEwfwOBwIBkheuAFWP4v4dVBqil02ljk3w1YrVa1f7+vjFbTzparZY++uij54zVX8eRz+et1BjK91EGqRca/vqUDVoLRIlEj2x2/rBlhMNhazbLwvaDCLPRaGh/f1/7+/tfqs1CMBi0VhdUMJVKpadenciGPjMzY5tFLpfTwsKCEomEHeKdTkdTU1OKx+MqFosql8sD5eixWEz5fN4OAiJHrw/xvjBElaQMKMVm42MOAYA8c8bnsRFTwRQOh631zf7+/kAKEsEwn8/BcnR0ZCxLuVzW3t6eHX7/4T/8B21vb2tzc9MO4k8b/gD072xqaspSKp1Oxw4oDo2pqSlrKeTTJul02nQszHmeg2+kfXZ2Zi1bPKPS7/ftnqnCQ0uCvxQRMAcrZopUUH700Ud2KHFPMIIcTqSG5+bmrDCg1+tpenpa4XBY3/72t7W/v29Vwo1GQ9FoVIVCwe6blBYiZJru8t8EWU8yarWa3nvvPXNcf/PNNy2V5VlL9gVfiYp2SrqoEENM7VlGTEY9I4NOizk7MjJiDaoBvxhR+mpkvJoAmMwxUtrNZlOVSsUqo1lvgEPWJYa6MIus+VgsZnM1EAgMrF0yBT69xdrxlaSk/GBL2Yd5lgjeWaM8Q/ZthP65XM7WOuwnqfphw2DvwA7Q5TkzL9FvkpqFxcNugTMK70PYysnJSWuCzbOgsMkzYLxLrs97tKEPnpmZMUbxSQER95nNZvXGG29YhuWrNp4Dq0ccgUDAKvlWV1cHIpKH/XkmOOW2TF6EnJ6ZGi4TJ5rxwAqgxoIdFq+zWaLnqNfrT82k8GFGMHjRJ0s6Z9LK5fIX8r0TExNaXl5WIpEwfU4ul7NDHmPMRqOhyclJ7ezsqFKp2CGD7glgiADWlyQDrBheRE5lEroOTDFhlk5PT00Lwy/mjI9Kqfyiz5mkAWsISrb5OVIgaFoqlYru3buncrmsWq2mP/uzPzMfps8DuByaw3M/lUrp6tWrVj6OVoxyf4AMzALXkslk7PpI16XTaU1PT6tSqZimDL3P1taWCXJhfiKRiKLRqEqlkqV+PGNQKpXsWXhdWSKR0P7+vjY3N80Ty1d6kbbhnjlIRkdHjfWlt9sLL7ygbDZrWrh2u61EIqFr164pEolYauvs7Eyjo6NKp9OWzkylUnbtTwqsKKgARL3wwgsDJf8ENFQNMsdgA2FVOTgRVzPX+WyKMAAJXtAej8ctAECP2u/3FYvFjEHxTA4sTKPRMJYEWwI6TrAO2AsBwtwD/mKNRmMAWLE3EvxEIhFba7CivHPA0bCAvtFoqNlsmi6NeycYGG7/BChnDsLqJRIJC7J4Tzwj3N+9xYh00UgcGYEkY8W4HzIcrH8MjtFHJRIJS3t6CwhE7LDzvicmKVAAIIUD/X5/IJWcyWQGrCqeZPBe4vG4bt68qXa7/RxY/XUZ0WjUFoivmnjYn81ms1aJBh3OocgmBxuBKJfogbJpon5psEfYMOiSzjfazc1Nvf/++1pZWfnSHW3RlHgfqKfNVqFRmp2d1WuvvaapqSldu3bNABMR+cLCgmKxmEWxS0tLlq7FugCgwjsJh8Oan5+3zYYN1QtrSTdS7ABA7vf7mpqaMpNLQAG6J+YW84SDDU+nSCSiXC5ncyoWi9lmKcmiYHRiH3/8sbWPaDabKpfLqtfrqtfrZkD4eYPNb2ZmRi+++KKk83l3/fp1zc7OmmgYUFMoFCxC7na71ngZjQvAyvfoYxMPhUIqFAo2v6emptTv95VKpQys4GherVaNSeEAJ53FHAO4Xrt2Tc1mU+vr6xofH9fVq1cNnHkTRA61YPC8DBzgBQiEjTk+PrZDC6NJ3nWn07HCEyrc+v2+lbrT+iQajdr1PsnwpfkEAt1uVxsbGyqVSioUCsa0oMOCifKVgrxDmB7mIHoj9r9ms2mgU7ow0CUliF7KFxUAiFgHrC9awHDwR6NRe+esIa7LV2SGQiHt7e0NvHNAMe+DecB/s3d7fRf/76UY6Kp4XojsJRmb50Em989aZe01Gg27BoIt5iR/RorZS0wQmXMNpBlpmu31U6RjSQPDwqfTaVtrnB1eOoKNRKPRULVa1fvvv69gMGiMFpWcjUbDngFAO5VK6c0339TPfvYze26PW+H6izKeA6tHHKQEiFQeNZ1GGTTaDw5nf/D6HPje3p5RwIhyT05OLNrnmgApfnBw0/ttZ2dHxWLxS89fkzL4IodnQfDDWV5etsiQjS6bzZrr88HBgUWv+L5w+BOJQq2jt/EaKVIcCG0lDRxSACTmAocOwAwxLZEprBqHBnOPqju0J3gOwYTxrBFto0uiigyG6VEP9EwmoxdeeMHm2dLSkubn5wdSOGdnZ6YN86kkL8z31Zc+bdput40dxgU6FouZngaBMcCq0+kol8sZiJFk6UJSXQjiSf02Gg2Njo4aE8H6w8GcVC8M28TEhKVDPCg4PT21v89kMpZmaTab2traMsCVyWSUTqfVbDaNHQyFQvazw2zz4wzYGRgHGIlqtWr6GVKn3CvPhvfBz8DisP8AngD/AGD8mhg8O1ghWD0OXf4etoh0OO8AVo11xDMaGxuzlClFDuyFtVrN1mWn0zHA54EV18S7B8R540zkCQizcYNHyA4A4zkAtABkXnfnwSmMIHsNAHZYhzVsUeFb9XD+kJqTNNBXkJ9jLfkqYJgsX1VOQMm9xWIxHRwcWEEIVersVwjpAeueNU4kEibpeFLWlf3hqwrQngOrRxwslsd1LI9EIlpYWNDExIRpFYgufBrAb1y9Xk8LCwuanJw0910M6j5r1Go1ffzxx/rpT3+qn/3sZ3r77be1ubn5pQOrL3qEQudu0X/7b/9t5XI5LS4uDvgVIQwlZYUQ04NXDg2vpWKT86lcyqcRs3LIsVFwcKP/IRLEmZ32KZKszH17e1v9/rm/ED5WNHANBoPa3d219BLpJjZM/x0AqU6no3v37qlYLOrWrVvW2sgPwD2RMBqY09NTLS0t6Tvf+Y5mZma0vLxsh8vx8bFqtZrNYSrfEJ/DQL3wwgsaGxszNmB1ddVAYCQS0ZUrV0xIPjo6aqLe8fFxzc/Pa35+fiB13uv1LLLmgMDWYHV11SoKx8bGNDc3p3K5rO9973uKRqN6+eWXLXXHoTls8kkapVKp2PxAwwUw8iAvnU4bOPCtkziIVlZWTBRPmiqVSmlxcdGMTb1A/HEHfQmvXLmiVCqlXC6neDxuwCSbzRoI59nx7mFdeMb8P0DKsx0wroAudIReo0aaiPkPm7OysqKRkRHNzMxYUcnY2NjA+uS5VioVY396vXMn+UQiMcD+AqzYm/372t/fHxCWcz8HBwfK5XLm0eQDDNL1BD+0k9rd3dXx8bG2trYUCASUyWQkyeZOMBg0c1vkBuwxsFg8Z3SEFK8QaLAmp6amDAB7wT97kGfaeBak9QgQ0um0ve/hykBGKBTS9PS07T9HR0fa2toyPTCyA4JRAhTmcqlUUrvd1vb29hMbT+/v7+udd97R7u7uE33OlzWeA6tHHD6aeZyNj8iX6hUOXTYDohcWFxsEixvnaSJSf13SRfsCUg0fffSR7ty5YyWsX3Ya8MsYHGALCwt2uKBTgkFi02PT5+DwmrbhSJpNjojazwc2P1IWbNa8J0AXQL3b7VpFFZEqDA/VSkTUpCYAeAjQ6elGOtEXQ5ycnJi2DsH7xx9//LmboGdUucfp6Wm9+OKLmpqa0uzsrAGrYrE4kLbmWcGyEu3izwNj02w2JV2YGaLP4Zn59iCwFqwXhPYwdawpGA36+O3u7iqRSCifzxvzOD09revXr+vg4EDNZtPeoy97B1SEw2FrZExQ5Rv3AvwmJibMVZ91zIFNZWOr1TJhOc8pEomYGSop3ycFVoCEarWqZrNpFa3sXVQOskY84+RZcJhRCi088OCemQM8C1gw1hef4UXwaKp4n76KkAOc5yidd5/AWw2t6+jo6MBezJpi3wQEAOTYN4etHZh/3C8AEMYPPRGFFQBOUmMAQapp+XsAHEVKPl3KXsB1USGIjox74lp4vv7nWecA92FhPP8GTZz/jOGBBhWvRKpm8Vjk2cGYUwxBRShBxGW0o2m32xYcUWTwVWKvngOrRxhQrVtbWyoWi4+FylkwXrDpzQgBVPxbX3Fzenqq3d1di759SS05fnQH29vbKhaL2t7e1sbGhj788MNLKaEHTDxOGvTLGIAqUggTExNKpVImzpUuGCvofATmGO3xXji4g8GgNZeFsWJD5ECAcQD4sNmwsXm63qegvBC4XC5beffZ2Zk++OADS6OQQkA3gUYCfREbK//+8PBQW1tbunfvnkqlkn7+859b1P2gwYGAJgPDxOnpaeXzeWWzWWuCS8l9IpGwCDYQCKhcLqvdbpt+aWpqyhgh9DRoZzBRPTo60scffyxJ5plTq9U0OTmpbDZr4IcDHvd/3g86FhiUl19+2bRrklQsFk0XRXqXgcYqHo8rm81qY2ND29vbWl1dtQqwYDCoarU64M+UzWbNjoDUoC8ggFE4Pj42Ww/mFb0Fx8bGrGnwZR0gANHV1VXrtlAoFDQ7O2uMN6DAa62YpxhSUukHo0UFGgwkehsYdoC9JEtXzc/PG1jm+Xc6HV27dk3SRUPoZDJpexj+ZqxH3otv4QSDBmsJs+rZK97H8vKyPRvYpEwmo8XFRR0cHOj+/ftmpzE3N2dgyWvANjY21O+f2y6wbwOmAfSwfwAxzyDRsBoQhazEe3Dx/mGqfEVsr9czHSd7AHN4OINCcY1nuj4NVPkxMTGh3/u939MHH3ygf/pP/6ny+bzpB+PxuNbW1vTee+9Z30vsaaRzN/gHyVIedfD+FhcXVSgUdOvWLW1ubj7x535R4zmweoTBZolA70nyyL7clw3aR78+dQSD0u/3zSAvHo8PVIDRyLnT6ahUKun27dvWY6tSqVwaU4Vuw2t8nvXhK5gADMNmgoAk0gwIgImU+Lc+UvS+Mvw34IzNjgMGl2oOzmHQ7N850T7GmGy0bNq+Txkl54jkPesyLA4+ODhQtVq1tjUP6mvnRa2kAOLxuPL5vKWrAFRcA5oWBMs8U+6ddk14fjF3OKi5/lgsZtVJfJZ0UWFF0MH1Mf99Worny+aOEHh8fNxaECEkZl3xXYA11tPR0ZFV93W7XWtpQ4rWs3PoVrrdrmlOeKeAaMrUfbk+8wy2gT+7jMH8IvU3OztrYBkNmnThes5z9H/mtT98nk99c71o/7gX5h3rgHXi1xeMUK/Xs/2J94BuyKeeKAahko7vAEhxff6+PFDk8PdGmBQOUIHoq3xh8ADFVKV2u137fx90cY/MVe+RRbVdq9WyHnxID/we4oEV851n6019+V72C94H1+uLbHh/DzvC4bAKhYL29/fN5Z25TjsvTIqxeODaPeP+JIN5FY1GlcvltLq6+sSf+UWO58DqEcaNGzc0Nzenn/zkJwMVW48yiBy8YSNpheGKl263a54rCBbR21QqFauwSiQSeu2114zRajQa2t3dValU0srKijY2Ni7tGaTTaX3zm9/UxsaG3nnnnUv73Kc1wuGwFhcXtbS0pFwupytXruj69esDAAdAQ8RZr9eNSaJhL9VnbNz7+/uSZCDDV0pxoPDexsfHtbS0ZN9Vr9e1u7s7UMrOzwaDQTv8Q6GQOThL0szMjKUl0O/AjnnNEUJvtFtHR0daX1+3hsWf1icyGAxaI+ibN28qGo1qcnJSkUhE09PT5v2FJok5iHB+f39/QOCPUSEsEvcLk0YjbDboW7dumTAdtgImi7QeEfj09LQ1tZakra0ttVotLS8vWzUa6UfYjFKppB/+8IemZ/SC9EQiYX++vLxsVg+1Wk31el0nJydmFXH9+nWFw2HdunXLANrIyIgKhYJSqZSWlpZsfXMwePF3v39uLkzAc3h4qPfff19ra2va29uzZwWj/bgMFnYczJ+PPvpI9XpdIyMj1lplbGzM2stgaYDbuTd99OaQvsrR69fo5QfgB9Sxn/GeJVlfTipAOaBJtcG8JpNJ0yS1Wi0Vi0W7ptnZWU1OTmppaUmhUMiuj8CX6jiCKi+UZ75TeT0yMqKlpSUdHByY+S4V2D7oBSBTvYguCjDBn9MeC53T6empFS9wP+12W0dHR9ZRwVevApi8dgqm2reyYU9hDyLQ8e7ugE/E+583QqHzPoXZbFapVErValV/9Ed/pKtXr+qll15SNBrVr//6rysej1vau9frGcP34YcfPtZ89YPnBtNJCvWrMr5aV/slD2wWnoSuH478iNzY/LzIlfSDF06zQKhMgpIulUrW3oN2OM1m87FTlp82KAeemprS/Py8XQ/XRqSGSNJ7wcC4Uer8qOJ//8we9mcRbvom174ayuvapAsDSQablBfisiETSfM9XBsbGfOESI5Nku9mLhCdMRfYeGEjuVeum+cLw8P75Xs5wLgXxOn0NHzQsydCZ7PM5/OmnyDVQaoRRgGQA0NDUMBBAthkDvjnDLvnNTAc7Mwhz575iioq1Xxqg3/LAc877Ha75uc0OjpqwBMB9uHhoSKRiBWkoAMLBoNmqcA1e3YZJrndbqtWq9l7q9frdriSTiNVTxVwIBCwAxzwU6vVrLmz3w+eZAyzX/jFoWtqtVoDvl30l2RuMze5dwALz59BepwgEY8pGCo+h+9hvXgQIV1UXPt1wlwBZDabzQEDT8A6FdMEGr4Sjp/11bx8H+lL/p/7GL7PYT0ra9CL9lnrns2j4pjPGhsbG/AE82ac7KGsE/7OZy98atlLSrwmlOtlr2LtcR2fB674zPHxcc3Ozmpzc1Obm5uKx+O2PuhDSWAIOYBEwjNvjzM8E+krJL8q4zmweoTBRvWkGggWHptZu922jZ/+S0SsvnS+1+splUrZfwcC501NA4GAVldXLSXBgba1taXt7e3Hql78tHF0dKQ7d+7ot37rt/TP/tk/U71etzY5xWJRN27c0LVr15TP581ZHiq53W7rj/7oj7SysqLf//3fN5flhx2pVEr5fF67u7sP9bNElDdu3ND09LQymYxCoXNnZiI8DjXeKUyPP7C5B0ACfybJKnpIqwGOvO5KujiUAcVoLvyG4dOL+NGEw2Ht7OyYaJxKJv792dmZARJ0ZGtrawZO9vb2tL29rd3dXe3u7mp1dVW7u7sDadxgMKiZmRml02n96q/+qjFiXgsSi8WMsfL0/8jIiPL5vDKZjPb391WpVLS8vGwgpt/vm8gYvQ0sHEJlhN+zs7MDqUXsJnzPuWQyaUaQpPSOj48tbcl6QX9DQQDf+Tf+xt/Qzs6Ofvazn9nhSYNkv4F3u13duHFDmUzGWAveJ/5Br7/+usrlsn7yk5+o3W6rUqno5OREu7u7BrKnp6eVTCbNlZoDEPDpU8CBwEXvNsw7L1OwS0uYUChkDvDpdFrXrl0zIX2329Xq6qomJiY0Pz9vc77dbmttbU2RSETJZNKMhicnJw08emE0aTDeOeBqOO2JzQKi6Xw+r4ODA+3s7BjYBUz4d5pIJEyrBeNGis33lDw9PdX+/r6Ojo60t7dnVZusM94FjemHiwrQFqGxIjBDP8f7AyThBYcODyCCUz9zmfd/cnJiwbAvUvFBBdfpe21yf5wTPk1JOntsbMwYwWq1auvcFyl81kilUvpH/+gf6cc//rH++T//5zo8PNTe3p4ymYyxnf4ZTE1NDbDDl9FFgHf/eRXwz9p4DqweYXjtwJMMDllvreCrO/jlNyC+EzEk6R/vKuwZnWGvo8sa5Nf7/fOqoomJCU1OTiqXyymTyejmzZuanp5WOp3WxMSEHcAwKG+88YYikYh++Zd/2RrP4rXEgTo8iOBjsZhmZmbUarUeCZSRjmMjoFSe4cWuRIb8NxEpB66n5al28nOCFCCbvD9AvEcTgMK/ZzZQwADPjnfsDUYlGYhA38MG5xsQ+w2cX8NpQFKAuVxOU1NTlmpgfnmRPlGyB/HeB4j+cwBA/j33yv3yrLzeZZh9ki4iV+6XQ41nwDP1VYFo3HxlmmcXYI84uFk3MFukIJPJpHK5nFXrAQ6orpyZmVE0GrX0e7VaVb/ftwpDSXYgw5L5IAn2gMMdzY6/98sc7Dn4mqXTaXPIxyZEuvBF8gGZt1mAKfXvyuuu+H9+eVbeV+J6Jpf36z/Dg07P5Hv9HeJtb7HA/GYtsub8nuuZY5924yD3lXj8N0yOJDvsuV6+40EsOOlH5q0PzNhbuE/mOmvPM08EO15fJl3opzyTP1yxzHN6lCB7ZGREi4uL2tnZsb3cs2Q+EOTPfUXtZQxY90f12Puyx3Ng9QiDqo4nQeFoDUg7oFWgxDUQCFgVE/Qti4kFySGGpsoLMScmJrSzs6OVlRVtb29f4t2fj3a7rY2NDb333nv60z/9U33961/X66+/bgvdg0R/WMKg/MZv/Ia+9a1v6e///b+vo6Mj/eAHP9C9e/f0+7//+yqXyyoWi584UNBcvPTSS/rGN76hk5OTh6oQIY3HAZ9KpYxJkS7Sk74EmucLKMXDiLJ9WBaidG+P0emcOzXDkJDWIEXE5klFE5s22hA2qZs3byqdTltqCObAH8bQ8dJ578p2u639/X07nDyoky7cuIfnLjqj1157TYVCQVeuXLGIHdaMKq2zszOVSiW7birhut2uRcSZTMb0V2zsHGKkkjY2NiwFEwqFzIuo0WiYk3wwGDTTyW63aylJwCbPkjWDiL1cLuv09NR+Zz5xGN29e1dnZ+dNnKvVqrWyuXLlyoBQP5vNWkUSaQ8YtLm5OZsr3W5Xf/Nv/k1tbW3pX//rf629vT3du3fP7iscDiuXy9n9kgL06d1QKKRqtWo2DE9bT0JD442NDY2NjWlra8v8mqLRqF544QWb25LMBsG74afTac3NzRl4pQKRoM+3V5IuhNiAdl+VSJoR0Nrr9YwRiUQiAxWAOOen02ljK9ln1tbWjPHp9/t6//33NTY2pmvXrtncIcVF8QHavUKhoFdffdX2LS+I94DXM4us17OzM21vbxu4A0jRJ7LVamlnZ8fmDC1gAHoAMgJQWL5kMjkQ1ESjUXu+kiz9jI6NvcG3rOE5k0Z9lLNrfHxcN27ckCS9+eabtueQ6vYp9nA4bO+Dqs3LKMIolUr64IMPVKlUnvizvsjxHFg9xCAlgp7iSVggNli/IXk9BRQuB9JwqxsOS6/JAVjx+Rg1Xqa2isF3t1ota4zKBiRp4DqJzh5U6QJQzGQyajQaeu2113R4eGjP13vPIGTO5/MDmozPGzQB5rmgmfFR4HAlEc+RaBUaH+bBAxyAL6zKcGUXWjI2SyJuGgmz0ZNaIu0wXOGGe/swMPLv3Wv38LvyLNnJyYmazeYnUoCYLOIIDkPlQbHXQfGd/DveM+CSZ4kWyevQ/MHDc+p0OnZdpDLwDGLeA3Z9NZlnGnj2pBdJsQFs0UJ5vyIE66enp1pYWND169fNX4t0YyqVMmNIWE8/X2ASAU4LCwsKBoNqNBr2vbhYA2xxumfwzBBW8359cMGBjA7Hs5yPk+b3BzoGtAcHB5Ye3N/fNxDMvcLueUsYhOqebRlmaPnlLQEAKJ6Z5LrQQfH8YFmYBxzq/Pthxpj3wvV5YTkAxVfhYarLfPbZBJ6xv0bPvA0HjzA5njViXvIdrAmevdcN8l1eh+i1qtwrTBxVhcNVkQ+q2mT/eRQW1AfrVJHyzCn+kC7OBM8uXZb8hGxGIHBetEM15rM+ngOrhxgcOpVKRdvb20/kXH5ycqK9vT1zXveU9+npqQkA2QQkDWxelUrFUmYsMkl22MBc3LlzZ2ADv+yBDuLevXvWQw2KHv+Ubrc7sGFJF8AKQfXR0ZFyuZz+8T/+x+ZQ3Ol0rC1KpVKxaPj73/++vvvd76pYLH7u9YVCIS0sLCifz1sV1I9//GNrisuG4TdD2CUEtzCFsIqAMSp6sESAOZEuHNqpYNvb2zOw02g0VCqVVK/XValUzOwSYPXGG29odnbWmFEAhe8/CFhDtM41k8pAVEuJPYaya2tr+uijjwZSOGNjY/r2t7+tubk5vfbaa6Zb4b7Q1sAAwcTF43FlMhnTlPhDhg0eY0WiatKqIyMj5h92dHSkZrOp27dvDzCzlUrFqgGj0ajS6bTq9bq2trYM/DB3OMABUnt7ezo9PTXmLRaLqdVq6bvf/a6ZZDIX8/m8fuM3fkPLy8t64403LKih6S9pQO4DSxOfcqVCrlAo6Nvf/rZKpZISiYT29va0tramzc1Nrays2IHmWUQGgIlnMiz8HRkZsUbK1WrVmC8q5R51+M8+OzvT3bt3zYYhEoloc3NzQHxPH0zYzZmZGVUqFb311luWPqYClVGv13V2dmZrjH0LywqAN6wfwBd/Kw9scrmcUqmUZmdnzQOMQgxaEoVCIeu9OjU1ZWBVkgnGuScPVvBoQmfne2vCJKEfIvUNi8o68nPDgy2qcaenp/XKK69YUFGv17W5uamdnR3V63VlMhmb16FQyK7bgyT2EkAYzBsBI8Df60D7/XP/LBz4g8GgXn311UeeLyMjI5qenlaj0bDK39PTU01NTVnRCmcT7bEuK41NhiiTyWhhYUEff/zxV4K9eg6sHmLEYjEVCgUru34SNE6vQPq7sci9mJLIhQXloyivF/ARK3l0wBWR+2cNr3151EGEwoYEAPD34FkTH4mTFoJZQJtDugeAQITMtXa7XW1tbT3Qf+lBA9sBvhPQ55kO9Ddcm994PeAdrmbiOfPZ/D0pDQANKQKYRBiss7MzY4poN0PV37AGj0oxn24FSPO5/joARwjxq9WqpQsYiUTCABJMFXNIuoj6GV6vQeqG58B1cejAbnmDzGEmBiA0Pj5uaRGAKwyxZ7xgGoeLAXy6qdvtmsAXQN9ut9VoNMzWAD1WLpdTOp3W4uKile376jPPrHAfnl32GjauPR6P6/j42Hob+vnzWWMYSJG6BJDDYLPG2I9g4rhHdFyPOthLjo6O7P0T1CUSCdOkJRIJY5X39vZULpc1OjqqRCIxAK55P9ybZ4RhQ70vFYyHtwkANMAyelYHdg8rDb7Ds9AERP5evGbRv2OvY2XtExz6tjAwwZ6R8mvVp6SZN1Qij46OWsNqAh7pQiLhMxVYGPA57FXsQ36dD+/dPCPWG9flqw0fdYTDYQukfGDAHj/MGHqt75MOyINQKDTAVj7r46txlV/yWFxc1CuvvGJu5o87iJBee+01ZbNZzc7OGjChGoWFx2bAhskiIp3lBaD+oK1Wq2bs9nmLiCj0ccCiLzXf29sz120GBw79vdgg2YQBGBxaLE6AGSm4iYkJHR4emrHlW2+99VALttvtamNjQ81mU7/8y7+scDhsTBXPkepA77DsgQDRYLlctusCeOFzQ5sQDtD9/X273nq9rnv37ml3d1f37t1TLBZTJpPR9PS0ZmZmtLCwoG984xvmlUQXe//d0jm7R/qNzbvXu+iBRp9BqhwxAi2VSlpbW9Nbb7010HMrEAjolVdeMU8vGhfDiAUCAeVyOUky0Mx8GRsb09HRkUqlknlAwfBgacH1w8jxfr0dA2Lx0dFRvfnmmwNCX4TUkUjEvgt2gyIE5i4NnpvNpumfOKjOzs70/vvva39/X2trazo4OFCr1VKhUNDv/u7vWv88f7AzJ2FVcCsfTuX4dA4HHv3iZmdnFQgEdPv27c8V3TKv/CEJAzI+Pm5sMN9Fk/DXX3/dNEg7Ozt6++23tbKyog8++OBz18aDBkyKJJXLZUkXAupyuazp6Wm9/PLL2tjYULlcNkd89G/efdvPVYIFXNwJnPb29szegzQXutNMJqN8Pm/vQ5JV0QIeAWYeRHlrh36/b9/thfg43MOQnZ2dt9UBXFLJzPtgP56cnFQ4HNb29ral7fnefv/cRgbXfvYXJAzYEtRqNf30pz+1SspMJqP5+Xn7e/ZC2F6KJAiKKHihkIJrHhm5aMXlJQp+HVJ5+DhB9MTEhF599VWFQiFjM9mD2u32J94D3necVU8yuO/R0VGr0P0qjOfA6hHGk9CbHAwYTbJps1n4VJ73RhrOKfsyXJ/794zFwy4eIo7HuS+0GIVCYYC18CwY4Is2ERxg0PRsnMFg0LRVsF5EPKQ7SqWSaXEe9noBO5VKxSJgDs1gMGitVUhLUDrM8/VAyz9jmANSXmzcANtGo6FisahGo6HNzU1Lb6B1ImXA++YA5bt5br5djq9O4iDiIInFYgNzgveKeSPaJelCd4Z+yGuXvPap2WzawSLJ2D4OfF+JiHUFv/wc5DAY1qT0ej3zf/LpNlgKqk1JqQxfIxsshwoMFd/Z7/cH5p50zjzPzc3pypUrlsZAQO/BtJ8LMBeAXC+cR8wuXVh7cO3e8Pfz5qhnAQDvHE6sGewuZmZmNDU1pZdeesn+jFTc6enpYwMrrmX4d9KOpVJpoNsD794zKJ3ORY89gO9wlRyMGIJnwADratgDiXkRCATMoZ8Ags+MRCKf8DryqTrmOOl7b93AZ7M22R/4bi9QZ6/w18U9sb75N8wL1qhP6ycSCSWTSTsLWB/MbdJ2XD/zgD3Ji9f9+/KaMB8ssAbD4fMWSvT+e1j2JxQKmQTA3zNyA9g8n5b31a2XMeil+bBWEV/2eA6sHmJACT8J+ubwzGQyCofDxioMLyoWLM092eBpdDoc1bBwoEv9ITZM0Q6PJxHh1+t1/fznP1cmk7HUD6W2HhRhfIg2hGhLGhS6b25uamxsTMViUZFIRJlMxjaHzc1NvfXWW1pdXX3kiOvk5EQ/+9nP1Gw29eu//usaHx83N+e9vT0DOd7pm8ULqwKrh5gX5hHmRbqYI6urq9rb29PPfvYzHR0dWZ+1YTuAUCikZrOplZUVvfjii8rlcpZ2oE/h1NSURWq+Sov/xiMHl+ejoyNjQI6Pj1WpVFSv1431lM71gtls1lJhaKCIOgE2u7u7Oj09NSZtaWnJ3gvvuNVqqVwuK5FIKJVK2YbttST0ePMHZiAQULvd1u3btxUOh/W1r33NhPzYiOD2jlYHPQ0HOw1fOZhhQulPCPsB4zA2NqZMJqPf/u3f1uzsrObm5nR4eKjt7W0lEglls1ljn3jnpDbr9bpKpZLNXQ7it956S51OR9/4xjeszyAaskajYU7knzWGAyEYubm5OUWjUW1uburk5ERXr15VOp3Wq6++qitXruib3/ymVWXduHHDvJn+/b//95emb+EQr1QqqlQq1sNRkhYWFvT6669b2hJGEoAD2FlfX1ez2bTgoNlsWtoU0MxaQ0vpJRCSjL3mvbB/0FaF7+JZeqE2//7k5ETr6+sGWgmESLWSOWD4NjWjo6Pa39+3TAJ/xnoGgPqABP3f4eGhCoWCge2lpSULatjLYc9IxQKcaEaOnx0pTPpd+hQr+4ZfRxQDeEnF3bt3Va1W9eqrrz40sBoZGdHs7KwqlYoFdQRstOhhH4KhHi7KetJBhmdycvLSPvNpjufA6iEGk+hJgAilqkRdRN1EbhyqwxoFIh3PEPjfPXgiMkQ35COsT7smQJCPJh9mELXDWLCB+SgKULSysqJSqaRu97w0PZPJWLTp2SDM+/iMRqOhtbU13b9/X++//77W19cf+voYsC57e3va2tpSv9+3lCVWAmgoAINHR0cDZddsdr7qiWfGAdBoNOxQp8cfWhA0JdD40OVUmbEBe02Np/VJNbF5e5sHwDepFErIy+WydnZ2VCqVjJmTzjeoq1evqlAoKJvNGuPDOyC6Bwjl83lFo1FLedbrdTsApXMWiGfFpuorwXiWD/ICgp0ETAFS0eCVy2U7oGDmhgW6w5o+Dkh0bKR64/G4WQSg6RodHdXc3NyANkeS+X1R3Vcul82bKhAIGEPIu/BGp+h+RkfPm/62Wi2lUqkBnYwPRADsDPaAcrk8UOFYKpUMcHp3a9Y4ejXmsQdrAF7Spnt7e59gMj9vnfPfHPC5XE6zs7P2mT5N7qv2mNMwJD7w8+uIucE9+L0QHaGv9vTggTnGemfd+XmB/k6SBUiAIw+iPZvOXO71egMmsb6gBB80r//hHgFhFJhIsgpTshZ+X2ENe08tX0gDIzbM2vPfAD3unz/zFYWlUknHx8d66aWXPn/zdJ8P0w6LTNqPayGzQEGKv4bLGNhifB4D/KyM58DqIQa93Z6kGnB8fFxzc3NKp9MDTsV4WOFjw0YDbZ1MJgfM2arV6oAQ2G+iPlpjE/msjRNhJZv7o+TgSc2wyfjWDvx9p9PRW2+9pb/8y7/UrVu3FAwG9Q/+wT/QtWvXrKKNtBybHC1Tdnd3ValU9G//7b/V7du39ZOf/OSxIvFer6f9/X31+3198MEHajQayuVySiQSmp2dNU0S4InKIN+Sw5sLeiDLhtJut3Xv3j1VKhVzpPaeMWz+gOlIJGIFDOPj49bXDi2P3wiPj49Vr9cNgHlmE1AEO4nua2dnR2tra3r77bfNhFU63/CvXbuml19+WTdu3LA+YKRp+SwOwtHRUc3Pz5ve6eDgQHfu3NHk5KSmp6cHfHJ82gRggvYKJg1Gh7lJr0C0GKRgQqFzX6eVlRVjqEihcAADcgBjgBX67wEkY7GYotGoXn31Vas6lWS9/+bm5swGgftotVqq1Wra2toyxpXOAb1ez8DZ3NycJiYmTIMXCoWsWi8SiejVV1+1dUKlJ07hsHnDDdI5PNfX1439CofD+uijj3RwcKDf/d3fNUCK4Jx0Mho0qrYY2WxWCwsLeu2115TL5fSzn/1M9+/f19ra2kMVgvh1Nz4+rmw2qxs3buiNN96wykkfWJEaRP9DgQL2HMw1gIR0ofcE9MIGAy7Yn9rttpkPsyZxOYdp5jMBSwQLiUTCvpPULXMI1ouKXQYGuKTNvR8W1xkMBg1osed4xgbALcl0iWNjY6rVagP9CAG77MGtVsveczAYtHkCWPJpZAKbRqOhSqVibCZzBUBPcPpbv/Vbn/veGd1uV/V6XZ1Ox7RvAM+RkRE1m82BisFSqWR7zmWNUqlktiBfhfEcWH3GIBqmXP1JfKEQgqLtYUFzMKOt8psTh6l0kbZjk+OQ9ZUaUOEIXT+PgUIUT0T3KMDFl0g/KOUIeJientb8/Lw1LcZQjk1wWDMGuFlfX9etW7d09+7dB5qGPuo4Pj7WvXv3dHJyovn5eWu/QGSJTsALM3u9nmmphtk/GBHsE0i5bWxsfKJwgPuD6Tk6OtLOzo6VjONa7wW2o6OjZhTrAQTPXrro/xUKhVSv1/Xxxx+rWq1qd3dXW1tb2t3dtY3Ia6soRz89PbUUC/fs24OMjY3Zu+WwWFxcNK0g74wDgc+BEfARLYcPWi1JJso+PDy0KB4gSUUjDui8A+l8DWDYyoHdaDRsHfX7fVtrtOMBKHvGRJJpsGD1QqGQisWi7t69q1qtZjoShNejo6NqNpt2fRMTE7p69epA/8mJiQmrcOX+SFml02kVCgU1m80BwMZ1sG5brZYBaxjPSqVilhlzc3OW4qpWq/rggw+0ubn5QJYaYDo7O6tr166ZzgZrlkfp20lqenR0dIB94+cBvAAtQAQpPgIM3g9zgXfjmTyCLtYOoBOw6iv/ut2ugXwCVD7Ti7wJ+GD+GMP6VgCU34/9mvPAkTnF3PR6MYLHSCRijDiMGPNKkq1H5hnfy2dwD/6/2VsAsjDazD3fA5PnBtDEpNp7zw0Pvg9Qe3Z2bvzKnCZQoMUY3/E0WKVhEuFZH8+B1WcMoutqtaq9vb0n+qxwOGyHNP2kOHA8bQzwYCFDgfuUDX8+rM9g0/DuvZ812LQfZ7J2u107MB4Eykg/vPDCCyqVSpYugd160IJmAZfLZf3lX/6lPvjgA+vp9qSj3W7rpz/9qTY3N5VKpZTJZNRsNpXNZlUoFCzC4xcHHik7KHgOjmazab2zSqWSVWOurq4ORJ3SoNFeIpFQq9XSnTt3rDl0IBCwarp+v2/ePxy8Pt3gCxS4npOTE21vb+vtt99WrVbTzs6O7t+/P+C8j1t1Pp/XzMyMHSSJRMK0HmdnZ7p//756vZ6Wl5fN/4fDZHx83EAZqYnT0/N+fXfv3lUymVQikTD9CDpADiuaNcNMkRoj5YYouVwu28ZPxRkBCCzF/fv3tbe3p0KhoGg0qmKxqHa7bSwgICiZTA6UvEuygxq2A3ZNkumC/vzP/3zA0ywUCunFF19ULBZTqVQyB/XJyUkT9rKmYdcWFhZ0fHxsbDcanZGREZXLZVUqFQveqtWqDg8Pjcm6deuWpVZ4B/1+X2+99ZYajYZefPFFa5u0ubmp73//+7pz584DWfWxsTHF43HduHFDL7/8srrdrnK5nPb3901j93laMP9ZMzMzGh8ft3vyew2AincPAOfZs/dx7Z6xIn3M/kVKGtYSYELwGI1GDaD1+33NzMwoFAqZ6z4BAWDbp9OQZvBZ9Xpd1WrVUvf4ShF8+v0Y/WAoFNLs7OxA+hVgBfAEKGHFAXuNRQr3LMnAC67znAOAZfYUWDIfJHQ6HUvTx+NxA1cAZ4TlSEtgylKp1KcCK+nCVgdX9YmJCWOodnd3tbOzo93dXasofVrDF3h8FcZzYPUZA3PCJ6U2fSkqmz4LA5bE095ofobFhV7Tw+fiLk0U8cEHHxg79HnD5+ZZwI86eYmYhzdmFsKrr76qfD6vSqWifv/c7O/TKkY6nY5KpZLW19d1+/Ztra6uPjKT9mmDtB0lz9PT0zo+Ptb09LSZsnINsFGnp6cmfgbMcLDv7OyoUqloZ2dH1WpVH374oWmshoEqUV+r1bJngGYJfRRmqESRRO8cKuhA+v2+VRmiB0M/tr6+rnK5rI2NDdvo2GC/8Y1vmADatwHxfdb6/b4WFxcVDAatuTcRb6vVspQgINH7ck1NTSmbzZpDMwCRe2F++SolNnsEqWtra9re3tZ7771nhQPoujhsAXmBwHkJf6VSsdL9aDRqIvqFhQVNTEwYEIQlxgbAA8Zms6m1tTVVKhWVSiW9++67Wl1dtTlKgHVycqKxsTG7V+mc2ZidnR3or8i/J40E8+EZM9KNzG2AEw2Db9y4YcUBWAswV2q1mj766COdnp7au242m5+aJmk0Gtra2jKjyGg0qmw2a2vz3/7bf/u5vTcnJiaUzWZ18+ZNvfbaa5qentby8rJVDbKPAawAA8NNjLmH7e1tK/iABev3+6Y1xPGe9wVY8YEAc8izROxlPGfWPUGrT/nj6M1a81o/5AO8Q76XRtu8U9YHLauGQYrXAVJ5KJ0zf6TJWd/pdNrmD+l9wL8kTU1NDRSAoKMlkwIzy57hU5S5XM7Wc6/Xsz2k0+lYf0xvS+GrX2HmJiYmFI1GNTk5acUiFJFUq1XTVj2pHvlBgyD2SeQ4X+R4Dqw+Y8RiMc3Pz1t0+jjDp4EwgeNw8ouAQxZhKSJOT7NDs7KwEJKyAIl0H6V6EaraC6IfZeDsOwysWJALCwtaXFx8qM/qdDra2toypsrryZ50AD6r1ar+4i/+QlNTUyZ2LhQKtqkNV2kSjbM5wtJxfeVyWY1GQz/5yU8+9WADWPF9NCrmICKK3dnZMTAdDAa1sLBgOolwOGwVd1TK8TM/+tGPVK1Wdfv2bdVqtQHPKnrvvfbaa/rmN7/5CQ0ZkTOHN15fXC+CeBhbNlhaEVUqFU1NTSmfz1u1E8+Iggt+39raMm1TIBAw13aMJz/88ENtbW3pxz/+sVKplHn8AAhIoZDmicfj2traUqVSsZY0mUxGiUTCqupoN7OysmI6lF6vZ+713e55U+Lbt2/r/v37euedd0z0z5qNRqMGfnEej8Vi5nk0OztrBzo6HA7sQCBg/SYBnZLMZoX7QX9GmhF91927d3V8fKxYLKZ2u6333ntP1WpV77zzjmq1mv7kT/7EnN8/TarQbDa1ubmpWq2mdrutSCSifD5vAOLP//zPPxdYRSIR3bhxQy+88IK+/vWvK5vNKpvNGjsKQy1pgKWEuSStDbC6d++eTk9PjWHJZDK2h6GLY6/04nNE+iMjIwPifoCr13r56mQ6EgDuYQd5x7wLGDIqamdnZw2sRyIRC34Q48Owra+vGxPHumGdACDZUyhgQt8JE51OpzU2NjZgvntycqJyuayRkRErtPBFAQBEWFJSkD4VCzAkOKCTAhY2sVhML774ogHM4dQmZwQAjHRmNBrV1NSU0um0Dg8Ptba2ZoHA0wJWz8XrvwBjYmLCmuk+6WBxEWFBAcOQEB3j6wR9TWRG9OArw6Cx0TtxSD7q8BVUXrf1MGN3d1fvv/++5ufnrX0MQkyiC19ZhF6GvP/BwYGlDBDz0u7maUYnh4eHevfdd7WxsaGtrS1NTk4qk8nYYciGNByBcsh//PHHqtfrpsHhHXJwc7Dw7vxoNpv6+OOPNT09bQJkDlpJxl5ubW0NMD4cWNvb22bOimUDovnhFDBgnLQYOibeOWnLQqFgDW+5Dg4K713kq688I+OLADgIAUJUTJG2qVQqVmnV7XZtg6fp9OzsrBYXF/Urv/Ir5vnD35PaIKVz9epVvfLKK1peXn5gGhJWiGtgHe7s7FgK8OOPPzZhbDgcVj6fVzqdtvdHNa9P3aJDA/SSjmGu8w4Rb/PcYPkA6v7fwdzwno6OjrS4uGhp2+PjY0vjwiL80i/9ko6Pj61qkeIPb0yKto6UzuTkpAHDXC6nr3/96xofH9fq6urAz1E2H4/Hde3aNf3qr/6qpqenlUwm1e/3VavVJEnT09OWfoKZQgwOo0mAxN/PzMwYowLb1e/3jbkCLDAPmU9HR0f2MwAV2BWeKyljvxfxOT6FyB56fHysRqOharWqZDJp3mAAZ+YR7v29Xs+yDoA7WLRsNmtrHo0fw/vYofOiIbTfMwicWF9LS0s2P2CbpPMgB7AKAENbxc/ybE5PT22+89/9/nnTa4AW3S6QHZAipQiFSk3ORUAXZrEUZTxsWvlRBinxUChkgdhlg7fLHM+B1WcM37fvSQYbA+JIn4tnIyOHzmaLpwkLmH9DKtCXIsNePC6aJ0qBSXsU5qpSqejevXu6d++erl27ZsaGVFNxyKJVWV5eNjfng4MDbWxsKBwOa3Fx0Sh1KPKnGZ20222tra1Z9Ryu6ACYbDY7YP0AK4jovFgsfmIDYSPlnfCOpcHKqqOjI21vb1t6jygSkMxBw/2TAgOY46mzublphwKbpj8Y/XXDNCEq39/ft/Rkp9PR8vKygVt/DbCssC2kExqNhunRACu8M69D84ATVqder6vb7WpqasoOaFjhs7MzazXzjW98w+6DlDf/BrH666+/rqtXr5ors6+Y6na7qtVqltokHXN4eKitrS01m01Vq1Xt7Oxob29PrVZL4XDYdFkEPplMRhMTE6Z94X1yiHG/gAcPrAB5HhzUajVbJ/wsANWnsmARPUu5tLSko6Mj3blzR8FgUFeuJ8WQQQABAABJREFUXDGXf3SckgbmARornhuVycFgUPF4XIuLiwPpOd4z6bNcLqelpSW98cYbSiQS5s/VbDYNsAM+YSwITADbiNQ5ILH6iEajdvBL595NR0dHBogp2gAE1Ov1Ac0cKWM+G5DBzxLAMkcB+KwFAlvazVAMkclkLNXHc+M7pEEbA6QbAA6ANu/ca+Q8sEqlUhofHzddndcznZycGCuGDgrROWlHKsW5Ttg+Ut6Ad9hhvO3IiEiyHo+wXfiMIRnY2dmxvYlzB/d6rml1ddVS0fh4XfZAc5lKpUxz+RxYfUUHlOfwYfUog1w40S36Ch+lsQkgIGbhcTgzgSVZqoiFQQXWw4jVP2v4ze1RWK+joyOtrq7qo48+sirAZDKpg4MDnZycWGRIpIQeBuYtnU4PAIy1tTUVi0XzL/qiBpsOo9lsamtry/6f98R88IuaKI7NdNhbbHjwbjc3N03YTyUclXq+ChAtEroqnk+j0RjwuWKecphPTk7qpZde0tLSkgqFggnASUuMjIzo6tWrNicx+wsGg3YgEKWSYuDvAQWwj7VazdIlAAzfagOQCSvBAUKxAjon2NhSqaStrS07BKvVqjY3Ny3dms/nzRMMEbV0IZ6WLhpN42VGqqlcLuutt95Sq9VSpVIxI9Hd3V3t7u5aeylSxIVCQclk0tJE2WxW0WjUroF0UqFQ+MSzI7Dg0MR2hQOPA4L0D43Z+S72AN8vMBAIaHFxUZVKxaoHr169qlarZUGNT5+SxuFZU8XIYQggw9qB5zY7O6tCoaCXX35Z2Wx2oOhgeF4DoDGKRKNYq9V0cnJi84X2Ucxp1oz3O4N5A1TyLKampqwdDKae6KJYm7B/MCkwP/w8Ym+AFmsXhhIrFipd/TX5+cTP8mxpjXR0dGR6WoA0+weMJFIAAoHh4gEqhBOJhN3L2dmZpVOpwKWymT6jPBusIWDxfJCH5xh+Vpw9W1tbxsAR2J+dnVnbIl8h6PdM5gJn24MqxC9zpFIpTU9Pm6ThWR3PgdVnDKKZJ0HgfpMkavM6KaIaNlomL2Jpbyzpq0C8EPayIoRhS4eHGQCSzc1N3b59W41GQ4VCwRZYLpcb2MgqlcpAVaDXm0nS3t6e5dK/yNLaTqczoJF6FL8U/34eJo3KRgkrScUTwuVhl3bmCz9H/8UHeRDBMnHwLyws6ObNm0qlUnaA+yqpXC6nkZER3b9/33r0AYakC2CIXsOXyXvhL5YJMGReYMuf8ay4P+wg9vf3Dchy+DabTe3s7Fi0jr8Q7GoqlVI6nTZ9DOwOwxudIrA+OTnR/v6+Njc3zRGcAyUYDFo6A0CSz+ctjZbNZk00j3cT7AbMVCqVknRR3UUKDFDMIQ/45M8JpHwafthtH0DFM0wkEpaS8uySn0+STF9ElRppJNgPwAMAAQAQjUa1vLysfD6v119/3VJ7rJVh7SPMEAAchoSUfqfTMeYsEAiYHox5fnh4aECDewGkAkJgp5LJ5IC21K8pAk0AB8/DM9KALkT3ADlJ1vNwOMjxNhKsSc/Ewgg2m01jsEjhMr9g8WArWT/DhUpU7gFGSXsBJhDPw46TIgMg4wXm2TiukzOI7g7M3729PQP6gUDAbDEA+rB/nFXMTfYg7udpV+7F43Fls9mBLgDP4ngOrD5jEGU+joAa889oNGq9ydjkAFHSBeUuXaQXvMiVaB8mywMt6UKzgDnlkwzYMb6f0ujPGjyjtbU1o+ElWXSFF5EkA1QwHyMjI0br3r17V7du3dL3vvc9K3v+qoxer2dA7EFlwaRL2GABzR5M7+zsWIsOzCphMfz8Yw582vPxRQ3JZNJSu/v7+6anAlQFg0Ht7e0pFAppZmbGNvher2ftYzAExPyPKibKrqvVqvL5vL72ta9ZqnJnZ2dgLrJ5e11Ks9nUO++8o3q9rtXVVbXbbdP/kJYgmi+Xy9rc3NTq6qry+byy2ax5kXHPU1NTpleBxQCsttttbW9vm9dXo9Gw510sFgdYv1gspqtXr+rq1atKJBKKxWIG4vgu2BRAHmtxf3/fWCcfOLHGmf8cUoil8ZRC8AxjwMHGu+ZzSG1OTk5qamrKQPrGxobef/99pdNppdNpffDBB6pWq7p+/brefPNNA8HvvvuuotGoAdtyuWwtgwKBgH7zN39TiURChUJBqVRKhULBfhYjSJ4L84i5SuoMrVgwGDR22jMasEswHaQmAQtUgWLFwTMjddzv9832gmfD3gJIocUO1wnDwXuJRqOmIxpes9iwkI4rFouWNpfOD3jAKOuFogpAGFXgAGfpgq3udrsql8um60K35pmhra0ts1TBPJUqPFLPVMcSuEoX7v1oAdG6MU8A76T5JVlxClrEVqtlLZ8ikYjm5ubsHGJtjYyMmHC93z/vaIHE4GkBLJ9WfZbHc2D1KcMLxh/nJbKwYrGYCoWCaVHYJFlALAD+zFcJksMnovOl5qQRpQuzTjbjJx0IplkwnzVg3Oh7mMlklEqlTEhNpIwQ1N+39xNaX1/X+vq61tbWvtAU4GWNz0oXo7/gcIVhIYIkGkVUzvOh6fSjDH+IE+VzQMPq+NQyuiLmKJs64IsqIBoO+yauJycnqtVq1tqEw+Xk5ETNZtPmDtfB9aG/W11d1f7+vnZ2dkz07tPjaFJok9FsNpXL5RSLxUyozrWSMvStT7BSaDabBqzW19fN6gA9HyXzlJPTS5EoH285Lzj35fCkHjl4YW44VLFpgNX0zDQHMQcezJA3keQQBJj7kvxEImHMiHReTMI7B6yk02nNz8+rVquZvoz0KIwG7On4+LhmZmaUTqetwhKXc0TPdAIgYAJ0tdttCw7QvAFMWNM8Mw5oX8HGfcHAsF96kMpc5joofmG/9ZorX0kIwON6eaY8O96DdL6n+YbPeGP5YAZQNTExYfeOnQSfwzr0RQ2eqcTdnx57AC7us1Kp6OzswnCWdLSvPPSidr7HzysCOBhu394KwEZgyH3Dnh4dHWl/f996crLX8x69uzv2GLy/pwV8nnVAxXgOrB4w0KcEAoHHbmXDZA0EAtra2lImk1EsFrMFBXXqGQQOWR+ZevE6wmH+vTTokXQZdv9suPz35w10BKRzGo2GfvrTn2phYUHJZNIqZvwhxX3AlDSbTf3Zn/2ZRWi/aOP4+FilUkmSBg4IDmkMJhcXFxWJRIx1uXPnjg4PD01PV6vVBtgLr78Ih8NW6YXhqY/YpQtxPYCOnwmFQsZESOdRdbVaNUNTxLCSzGeINC+6In4WkTcC5nA4rL29PauEPDw8NEPBe/fuDYBJDk3SElgz0Pj52rVrBuIAYKQVSXEi/EV/dP/+fVWrVWvE7QEiIJDnEo1GzRur0+kol8spGo2q1+tpa2tLqVTK3NRhlgF/pFEoiydwgCWAaaR6EgNaKtRISREkcTBySHlg1e12LYU3NjamdrutUqmk09NTvfjii9rc3FS329W3vvUt/dIv/ZJeffXVgfT8D3/4Q62urlp5PyDwd3/3dxWPx/XGG28MNNSm8wGsxNzcnAEI9h+KFwgQVlZWBnzMCNJgqNj/9vb27L4ozCB1h8YVcArwIEVOQ3GeNe1bCD5ZH4B26YLx9cVCCNUBRIAMGHfWMP5kXOvp6akVYrAufErPs5cAq7OzM+3s7Ji+KZVKDVi6eOCNzQfWLFyXT6MC1knrIuz3Vg6ksycnJy3FCQNNwM410sgZnSbFRgRd3W7XACfvgsBxYWFBJycn2tjYeGqtZ7B28dWWz+J4DqweMFjY/f65GePjiNc58BAbcoD1+33bgP2E9iki6aJSjwOQz+QXmwd/7jePJx2Pcr9cDxtNu93W7u6ubVSY83FwoKUiVURFzAcffGAGmr9oA/fn4cGBQu9IhKd448AUoP/wND6Hqk8pRSIRJRIJTU9P25+z+Uoy8aoXQnMYVSoVO/xIjVEU4Vkuz7CixSES5gAgVehTZvjQVKtV61EHw+UH/5b+ewjEKYFPJBLGIkiygISiAgDL9va2ms2misWi9vf3B1zJ+Xe8A6+DxI7C6804uNDQka5iLrNeOKh9MMR3SIPrFMdy3iHsAYe+98XyaWOePawc6XfSxwAi+vONjIxoenpak5OTlnIsFou6f/++5ufnFY/HzeNobm7OWh55YTVrFVF2Op0e0I2xbwHcSI0dHh6aABu9mbegYE4zn1utlqWe/F7mXdT5DG/VALBCb8bP8p4wy4XF9F0rvH4rFArZ+/G2OH6/hSnkPVE5+qB9y+/n/D8grNlsKh6PG3Cn36PXc3Fd3CPfiTZK0sA1AzxZR8xL9go+B9Nd0t+cNZLsPvn3sGScT8xTb/rK/ERA78HlZY9h+5JndTwHVg8Yk5OTWl5e1scff6ydnZ3HrgpkscHY+IOn0zlvGEtTTp9i8JVUVA0h5kb/5Mt5OTAx6PsyB5HgvXv3tL6+PnAgsPikiw2Vg4XI7xcRWH3eODg4ULfb1dbW1oAmZ25uTouLi/ZMlpeXjaJnAz04ONDm5qaSyaRefPFFLS0t6c0331S73dbh4aG17ZDO50wul1MymbTUIJvywsKC+v2+1tfXzUsqGAxatRapGYommJvSBbBgziIwxrzwrbfe0r1796ztjGcehsfJyYmKxaJ6vZ4Zb9LnbmlpyTZ89DR8FvYL77zzjvb397W+vq6DgwMrBae6yQtsAWt+fvJZtJNJpVK6fv26gsGgVlZW1Ov1rCpwdnbWUjQ0ZQaYkeYeTgHCwkgXKWJABlIAQCOMhy8qQV/E9TIXJicntbW1pTt37hgIIdX3W7/1W3rttdfMOsaX7XuDTa5ta2tL0WhU09PTCofDmp6etn8DiEWb5dnodDpt/kcADjQ7BJUAefY6iipqtZppEScnJ03XxbwlSDs9PTU7DP4eFhz7EQ5e9GmI1AlgPGuM4Nyb9iJPQLjNHPfaJQIlggfSiuVy2f4dAJrBz05PT+vKlSv256TeeCZUZ7I3+kF6k+eCpQhrudVqqd1uKxaLmW6Lghhf6ABzCAPr2SfYKgAe3TWYdzCTpNPRB66trWlra+up+g+ylp91uchzYPWAwSIkUn2c4Zko0gw+MkKzALXsQZV0kTLyERMpAf93z6LIm8VMGxEGzICkRzIh/UUdfnOXZLQ8h/KVK1csHUBRAYcz0W+j0VCj0bBmxfF4XOl02qwuOLSZXxyEpK+YP2gtJFnqj9QcgAQfG8+c8GeAAT8fT09Pjana3d0dEP9+2iBVg2iXtYHOxGtyAHdE/AcHB9a7sVgsqtFoWFk51+U1k1ReeX0KoKDdbqvVatnBAkPDugWcAG64Jg5UrpsI3z8bz0QxDwAuROKsbZ+28hWiY2NjxoDxDkhN8Y79tQJGYRk5ZL21C3OKFLJPVwOqpIsej7B+vBOeAeCNijxf0chnSBr4TPYG3jP3h/ia58W9w0bxOX6+kQL0aUO+wwNrnrl/3vyZT98xLwhwAaH8W7+nw94Mz2meE8ElqU50WX5N+efD/GD4LAXXzdngU5/Mb1/B6YNcGFq+m2Cfd82/9c/Wr31YXUA2liVo9Z7WQA/5OAVlX+R4DqweMOLxuPL5vJLJ5BN9Dmmcr3/968pkMlpYWFCz2bQ+VDBN6XTaNjVEq77tAayCX3h+s22321pfXzcdz7M0/CbZ7/eNnfnrDqqkQePY4cMfHQRzgU1zfHxc165ds+i60+nom9/8pgnGT05OdOfOHdMAYQxKGTlgjPYmU1NTCofDevvtty2dhDDX+/ewARMxI6L17tiI8qvVqnZ3d1Wr1dRqtbSzs6NWq6WlpSVrxHx0dKT3339/QFBMmkXSQJsnSeY0T6k6VU5UtAHk3377be3s7JiWpFKpGEvQ6XTMaNMDKUAUomo27UajoYODA83MzNg6LhQKdpBSkMBzqlarBly63a52d3dNp8b145HF+sfwFPYL6QFVtRSF0KsulUoZyEPbhOkpzJUHOuPj47p3757Ozs7bObVaLX3jG9/Q0tKSdnZ2rL8b+wspZfyOeGakCHF5Hx0dNWNRgiRfWIMBqA8wJdkcwbUdyQWp50wmY88IbzH0QQBGWCjeY7FYNJsDX33JnMJmgZ/b2NgwtobUOfo8QH0+n1ckEjHjWObh9va2Op2OCbWZ+2ixfD9YUtk+3ebBEk2Mr1y5ong8bizyzs6OpZp9uh4NF/om3Pbx5/JpQR+wBYNBs5cAKHLtzPtYLDaw/6CzBTCiy8Rd/+DgwDzZ3nrrLb311lva3983X7WnNarVqgU1z/J4DqweMLwm6EkGEVksFjOA4TUBbH5UinkNlY+cfK7eswf86nQ6Vt30rAGW4UiM+7vMwbsien9WWDwf0XLI8L58VDf8TIgmSSPBdhLNIzrm4JuYmDAD1nA4PKAH8Z9F9RBaODQwXiPHJs5zHGZSfI9DwBb/lgO/2WyqXq+bo7pn3OLx+MAa8MNHyR4cwJ54/cvR0ZFV9x0cHJhWr1qtGljh0B+OvhmIiWEOAFWsW5glfkdIz7vyByvPVZJVilGgwXOhtZBnUJgPBEqeKfG2HF5bx/fz3ojie72e6b78PkLajmtDcyWdB5Gk4RDR8/MATYTjDK9z8qxbr9eztejF957RZC75OcOzBNR7jc4w4833w8YBQvFRY03wmR7w+Z/zruUjIyOWomY++Co45pAkWyek43hnsHzePd9X3XmmzK8Vz6DyfTzv4co+/p1nE/k5AK1Pafv5xBzzhVDMv37/wqCa9+Gvlb2EYMdb/sCKU6hCyvdpnUM8t2ftnBsez4HVA4bf1B53hEIh8+ShHUe1WlWn07EyZenCN4TI0x9aXmNFrp5F5quDcJD+tCasX+aglJvxNEAPzuJra2tqtVpW8fVlj7GxMWWzWWUyGV27ds1Yi62tLW1sbDzwZwKBgGZnZzU1NaWvfe1r1sIBgD42NmaNhdHIdLtd69WGizRAjI1+fHxcY2Nj1u8MM9JKpaKRkRFdv37dqokAHBxaiFLZiBGnU13H/ONwvXXrlu7fv2/tM0ZHRzU9PW1amMPDw09EthxO4+Pj1h/Ql3PDAGCOurm5qWq1aqnOH/7wh+bc3uv1rDE4h+nOzs5Aakc6Z8F2dnYGDiBJSqfTymazFgxdv37dPLMODw/tgEfD02g0FA6HNTMzY/dC5RsHME7ZrGsOQrzuYBFhKejnx3Pm+rFQ4B1hGuldxmkPBLDMZDLqdDp64YUXlE6nrfUQffxWV1dNu9Tv9wc8m2B5pHMQBkDk+gEafp7BKB4cHAwwnYFAwDRl8XjcGFiCS0Bmr9ezZ7G8vGwggT0SEACrhwcbIATGJ51Oq91u68MPP9To6KhmZ2et+CASiZi/lW8pRXqYdULWwQu/JZlJaSwWUzAYtCbukUjE3osX9vPcqOYMBM5NbnO53AAox9k/GAzafKEakGdFcBMMBq35Mb1Ofcp3dHTU2FyvyfWaS9YEWQXmdzqdtjVJMRdBTTwetwBpZGREv/Zrv6bXX39dP/rRj/Tee+9pe3v7qZ1FBJa+K8azOJ4Dq6c4fP7d/8KNmkh++Ge81orNgg15OKqVLqqN+v2+ATM2dOmCfv8ymJynGb347/iy04tsuJ7lYePF44WIstVqWbqISNJfeygUMh0GlUOk9LxGhQMcf7Ber2fVeN6MdZjx8RoMvpu56tkSz6R4bQaRuU/hhEIh01iQCuSwhzlD0Iz4dXg++o2fVBsHBulQqv74WRixUqmkWq1m896n9HgvfIf/Ps8cch/RaNRMQaPRqKamppROp+0a+CzPAPLO+DPPFLD2YC24P96BZ1N86swzZhzygFMOag5v5pzXX8K+oIXhuicmJow9B3zyHrFHYf4yDwgOeX4wWZIG2Bmvf/MglgHzNqx54z69jk260P757/Y6VM9u+vk8rKsiKKCaEJDC/gtz5a+fdQ2okWTifNaW19F5ZpfsAT8vyVK3XC/PjXfP//tf3B9gXBrUg/EM+TPYxGF9mWdt/b/3a8GfSf4Ze22aB7b8O4TumMY+TUkK1/6csfqKjmEh4eMMvwHHYjHNzs5KkrFXpVJpoCwWTcTIyIhtmER4lOWiwWChsZnzPZOTk8pms7px44bdw507d7SysmIH2y/aWFlZ0dramgGCL3rRwVYQQQYCAcViMcViMU1PT2tsbMwOrJmZGcViMU1NTZnzMn0CGRwsExMT1heNzf7k5ETb29sDh+T8/LxptdD4eBCPB87+/r6BB7rTo6XBfZpqIQ4aDmlv3QD1D3MVj8c1NTWlH/7wh3r//ff11ltv6f79+wbw0GHdv3/fUlefVhV4enqqUqmkubk5Xbt2TTdv3tQrr7xiYAxxLB5a/+E//Ae99957VgXoDxtGMBi0Nh+f5a8DoFpaWrIqxOnpac3Pz5slQTAYNJuIQqFgBriwTDBYOGHDNpPGRScEmAAs82ek9AHQAMlGo2FsISxTMBg0Zg9TXs/WYivBPiNJhULBmqUD8JaXlyXJqq0A5dh2+LY3vLtarabt7W3l83lNT08bWPGifEn2rPBDw6vOH/SkumHh2u22yuWyzZFUKqVUKjXgg8e6I3UGYAE8Me8nJib05ptv2vNgjwV4AogBknw218f9AqrRw9Js2DeChlXjmVMxCCPHfACQ4XbPWuX5ESTD+LG/e0sb6QIMpdNp0x1RKQvwhd1i7rFH7u7uGngNBoOmtcKPyxccEJhj68G+wpzGlHdyclJLS0va2Ngwi4vLHq1WS1tbWwbqn9XxHFg9YEDZPsnL89EHhxNeONL5xj8cMQ1rqnxU5zUvwxWEIyMjlqrJZDIqFArK5/MDFRykfWgR8WUPX1L+pOPTDunLGDxn78PltXf82cLCgkKhkOr1ukKhkB3Ek5OT9m7ZkOLxuKW8KpWKtVfxnmn+ZzxQgiHhYAbowGDwPNjM/XzzOhkYC+afLyrg8GGOMoeoaCKC9sxIu922ewFYeIaLqjUOl8+agxyOWJHAwDL/STP0ej0TqXu2xw/W2MNU0Pr7oUIKZoN3Ajvh2ScOZj7DA3yeO8A3Ho8PMIOwNHwnImwsGkj1wXqRvuMQ9WX/eFcxz0h58exwsG+328ZWeSsH2CLP3Pj0l2eO2Ie8psjfO+/as1iBQMDSidit+M/jOnyVGj8HsPdskteudTodYythcHlnkUhkQJ80Pj5ujv7D1+11Svyd/w5f4cm75Zq5b6/rg43k2RIoA8j5zGG2b/iZeHaV6+KeuF/WlT8b2Bc9a8p18ssXQnl2mvv0WlEqcwnovUcZLLsH2Jd91gDwL4P4eJrjObB6wKhUKvrwww/NTfpxho/EaP1Rr9dtIxodHTVfFTbaUChkrWkYHBi4N8MUULGIV9Hrr7+uWCymxcVFY0TY+Obm5rS8vKy/+Iu/0Lvvvvul2zQEAgEDgs+KHurTBgJyep/hjs5mAwOBLgLvm2g0am03YKDYPGdnZ7WwsGDVgKurqyoWi/qLv/gLbW1tDWyy/HvvYs0vKH8+h0j1+PhYhULB/KrwQur3+9Y7b3l5WbFYzAKI7e1tnZ6emp5ramrKdF2np+e9IBcWFrS0tGQHI1Hszs6O1tfX9Rd/8Rf64z/+YzsA0BjCJABaHva5oz8EaExOTmplZUVbW1va3d01d3VYt+EBo9Pv9wdc6z9teAF4v9/XwsKCMVQnJyfKZrM2H6iuDIVC5j5P6tMfYgDv7e1t3bt3T9evX9err75qByOH28bGhgFSmENYA5hKNDAcWOik0KSlUinNzc1JutCs8W4rlYo50qPJYW+BHUeUDMOIlioUChl45h1Go1HrrgAD5PVnxWJRBwcHeumll6ySLBAIaHFxUb1eT/fv37eU7rDdwOjoqDVvD4VCZn/B3sn+RcECnwNg8e9Dkum5JNmcPjs7U6lUssDn+PhYh4eHpmuTLqrj8Ejr9/uam5vT2NiYlfwPZwC4h0wmY0FYrVbT5uamrXsPlACyXuDPWgXQAsCOjo4M7DNfx8bGrOoUk17vx4WXHBXGAEMqIH2K2aepmeMwWKOjo0okEkqn0wNms+wDBwcH9ne5XE7VatXmy2Xu76lUSgsLC9b79Fkdz4HVA4bXNjzugBY+PDy07uJMXh+JeE0Bm9fZ2Zk5FvscvT8YhiMtNiZocPLePn3zLCF9yo+fBfbsQcMDGCLtXC6nfD5vvb082whQ5M8RHUPR09SYtC4bOLoG3zoFTRHRoWc+/DX5yh9JxjL1+31rMyRp4FChZyMmiqSgvMia+QKrhf8alWTDehcO5eHqMfRcmFg+ShoahhXNGAweVgq1Wk17e3vWEufTNu9hfc5nDdYNbuQACkmWziJaDwQCxkx49snPCd4dXRZOTk4sBettVHj/BFYcdDBtfv1jFMx7A3R6FhsQS9CWzWZtrkmyqkoYOv6bAgHP1gwPH0xIMukCz5lngO2Dvx5JBlC4ZklmG4IeTRrcgz1DxT7J/sE19/t9S2Hy2QAJ1gnzj8/wzC+smP9+6cK8k72TawCE8/P8/YMyEJIG7uVBejHuT7rws0smk8ZUs7fwHcMsk2fovCs6BRIwbjxz0qAE8aRBvU2HP1sAf4BtgLtPJ8LMAgSfBmNFNunLJAYeZjwHVg8YtG0oFouP/RmdTkflctkOA6JJ2CpJA1VLeP6QKnn99dc/4Qrd6XSsDxhRJsJUIjrSDT4FxQHpU1hf5kA/8CwPomXp/ECbn5/X4uKiXnrpJeVyOWMEK5WKNYWVZFEqB1QwGNTe3p5u3bqlWCymXC5nomhKlYlif+d3fkcnJyfa3NzU4eGhefd4TRKHKdeFM3kgEDD9R6fT0c7OjrFM8/PzllKEdWHTA+zBeFF5mEql7B7GxsasktWXogPiffrCD7xmqtXqI1uBlMtlvf3229re3jazTzREuM0Xi0VLjT3oswGYDwusJicnNT8/r6tXr6pQKJiNBYCBlMvi4qKxNKxB6cIygBQYYDsYDGpubk5vvPGGOVaTlgPIXr9+3aoDfUq3VqsZgKM6MBA497XiEEc/w8GHHo194OrVq5qYmDCBP3sGz6hUKikQCOjmzZsD7tyeWSE9ixaJqlMGwmyCQa85RL/T6/V0584d+3tY2bOzM7tv34GBVkYc7PiN8c5h56ULgBIMXhjp8o4ocKA67vT01BzKYeiY1/v7+1Y5iMs84HR0dNRc+dG8EWRRFejF4bxDtFmk/zwIBawB1M/OznuEnp6e6mtf+5r5GUoXgRPP0gND9gSCAyw2ZmZmLP3qgw/6BuJdB/hmHvE9/vnSwJu9iOAPMT/sHu2Mnsao1WrGYD7L4zmwesCgXPZJhd6eUZIu3K9JjXgNFRE9+oJ8Pj8gdkdX4YXtLJazszPVajVb1NJFKS2RsqfMn1WW6MsYRJv02eP5eJNMDoKpqSmLkH01nY++PRCWZDoRetyhGWKT89Enn4UmxOt2mEtsyF5z4dk/9DqhUMjSNPydn2N87jDTwMEoPdgFHTbDC4BPTk7MSNEP2JVH9Z3h+dI70qe/OKg5XD/LwZ/rJOX2eXOfayVyh/0AaGSzWWOyPFPg3z3vkPfKO+ZdAQLRoXiQApgH1PCOpPPy/mAwaD5afDZzFZDDNfjqN9LFkux+eKf9/nkzbWmwaTA6K38NAEfuH8ACm+rTnzwfr9vz3w+wI6XGu4SVZZ9EcO11SrRrYR/1ek20rNKFHQZMCmJw2GRvMeB7GcIOkXZkjhPIMD98+tGzxx6Y8v7Zj/2/47uGfy6dTtu+4d81c5SA3DNt3hkeGwqCMO+RyM8QUNHShs/mF++FalHP0A7PMwagDqD/NLpr4OtH/8pndXwusAoEAv8PSf9DSaV+v//KX/1ZWtK/lHRF0pqk/6jf79f+6u/+15L+E0ldSf9Zv9//90/lyp/ioFHpZaJur7dAmMlm60ESB/r169et2otI6uDgwPQKbEKkD2Gyrl+/LkkmKqTZ7f7+vnnbPB8XY3R0VFNTU1paWtIrr7xiG5QHQQCrZDJpm221WpV0kTrDQZpNjPdGE+P5+fkBywQOIkmWWuDgIkr3omwfBXMNPrXB/6OxikQieuGFFwbK0Lvdrjkqc7Dz2ZLsQCGFhVu3dM46TUxMKJVKKRqNKh6PW/qvXq/r9u3bnyizfpz1A7jrdrsql8u6c+eOyuWy5ufndf36dauixNrhs1ICXmPlD+5PG2dnZwPVXtFo1N75yMiIrly5okQioWazac+cOeAPHhgCACGHO3OBtCppYZgMb13BYcv15nI5TU5OampqSr1eT6VSaUC/4lNMgA9SupVKRbVazQ69SCRi7zsYDGp2dla9Xk/b29vGZnlAyUEMEySdV2eVSiU1m001m01NTU0pmUzaZ6K9AWx5acLZ2Zm5dN+/f9+c2n2BB2tlYmLCron3NzMzo1QqZa7x3AtggN/39vaMDep0OtYzEB1hMplUp9PR7u6usf6ANt+KB7f5brer2dlZazze6/WMqSIQp3k67wmARLrUt/mCiQJsIQanStOn3KSLFjWsYXRQaCjpNFCv1y1QwziY+/Hi82DwvFcjWRKvg6S3JkCXZ+G1n8xl6Ty4wwh7amrKWObLPm+SyaTm5uaskvpZTQk+DGP130r6P0v679yf/ReS/qTf7/+TQCDwX/zV///ngUDgJUn/E0kvS5qR9MeBQOBGv99/dtXJT3mgYaDHFH8mXVScSReLZHl52dgRom3Yi8nJSdXrdWu14bUHx8fHqtVqKpVKGhsbU61WG2BPnlQz9os28F2Jx+NmyAmDgFCTCivvC8Ymw7vzDIDXcXAY+SoifobDw0erpFKI3tlow+GwaYxgCDhMvIia7wa893rnFWS+7YoXxVPGTxn5/Pz8wPMZroAjbTlcEs68zOVyljZ40LP2rI0X5Q5/J6mRdrut3d1dHR4e2sG2t7dnqUAvevZMlGfjONABx+122xpdP2hgeDoMjgGTVPUCqrwWaTjd6LU1vEcYZT4bIOX9wvg5/ox5yfdWq1XTWiE+9mvcs0X4qPGupYtiGNKJgNhut6tkMmmtkby2bjgtDgNF02VazsAA+f6SCPpJicEEsR7y+bx9FgwIv3z1qWdTSOkdHBxYM+lut6uZmRkDEL1eT4lEwgAtqXBfYQrw6/V6ikQiymQyA98zPC9JI6Jx8+u91+uZvQOAlvfY7/c1OTk5wMh5Fpl5S1DnzwW+nznFc+S7YaQIyHiXBD0ebFMI4Oct3w+Ah+UDEPsG4f535iMpVtJzx8fHVijxNDIj3K/XHj6L43OBVb/f//NAIHBl6I//rqRv/9V//z8l/Zmk//yv/vz3+/3+iaTVQCBwX9IvS/rLS7reL2xcFhKGbaLMmoPAp4uki556v/Zrv2bNd70ZJAuz1WopFosZQ8Xnceh++OGHks79amjMSwToW0X8dR/j4+Oanp5WLpfT8vKymSKmUilNT08rn88rnU7bBgdjyKZPBM47PDo6MkEsfw81zs/AYAFYvB6j0zk3uTw8PDQqPZlMmk9UIBAwETiVOlT9VSoViy7pc3l0dKR6vW4u7ETDk5OTGhkZ0dramhqNhjl8z87OKhwOa39/f0BH5fuVIbonimYO53I5Xb9+XSsrK7p169YnnjUHNIc7AIzIWpKlwLkPtBqMSqUyYIoJu8tB5VOz0kXbFRiIZDKpSqWiYrH4qVE0FZSwE7zPRCJhPlH7+/vGeHhB8zDzx6ZPmo6DkJ6G3rwTEO7F6kTjc3Nzxmjhsh0InFfVUlFKeot0tn/uMBIwSAADmLWJiQnzHMpkMgOid+/DBHvGfB0fH7fKZA8CyuWy6vW6BQNUblarVUUiEV2/ft1SXGNjY8aqcv9eRM5z5KCH5d/b27PD+/T0VO+8844ODw/19/7e31MqlbI5gKXE/v6+ySv4zMPDQ+3u7hrYyefzmpubU7VaVbVaHdA0wjjBQhKAsSalCwCdSqWM7eTamSsHBwcm2eBn8Z4LhUIDbam8CB4NJYHI2NiYOp2OaXKbzaY1X/epcrobAKSlC40SrBxrid9hmdGYxePxAUE6wC8UClmXC+ZysVjU/v6+9vb2npqGFn3co8oLvujxuCdtvt/vFyWp3+8XA4FA7q/+fFbSj9y/2/qrP/vECAQC/1DSP3zM73+qw1fnPenwGwKiVsq5e72eKpWKKpWKstmstS+hImh4BIPnbQ5GR0dVKpUsUkDEeHJyonK5rPv37xuNHolEtL29rZWVlSeyj/iqD7ylpPMDlDRPNps17Uw+nx/w8CEi5ECB9UCrAPCFYeHAIsUGkPLACvNHDhAOWooPYrGYtUEiii2VSibyRTxM5Q76HDY30pKA6UQiYSyTrwLCUoHvAcR4+4uTkxOtrKyYvqhQKGhmZsY0iBw+gCxSW8NGtL61h6QB4TRp1v5fFTQMrxe0IJ6x8+wOv7PJErTwfLe3t1UulxWPxx+6mmhnZ0f37983BmFnZ2dA+9NsNgeYS36PRCIDYnb+m+eB11IqlTIQh0cVIBq2kcMTFpODkTQeYGp5eXmAsfJpYsw5Dw8Pba56fR9sEnODwwp2lvJ+0sO+6tQzoL4tDCARXzTY36mpKWN5EH0D0vgZz86jDSONlUwm7b0DAtCVvfTSS5aC84U9ML9U17FW+U6AJOuctkGwvJ6d9POKuUtAG/irwhGfWvdrg/uCRfLz0zNywWDQgHggEFC9Xh8AM7BV2JB4hgptlW8llEqllEgkLHWJ6TDaQQI75qkP+L1+i3nIsycl6ItaWMvJZFKNRkPj4+MqlUqX3izZpyWf5XHZFMaD7vaBsLLf7/9zSf9ckgKBwDMFPYlMLgNYsaBwzPViTBbz2tqaYrGYlpaWDFg9aASD5z2pJiYmtLKyonq9PlCRdnp6qt3dXbVaLYvSJiYmVCwWn2qbga/C4ABHuxONRq1Cb3p6WgsLC7p69aqazaYBULQGBwcHisViGh0dVb1eN3Dk0wFsILFYbABYwUj46JsIkn5kpBFJTcIyEpHu7u6q271w+obNJKqMRqMD18DhSEWRb29ExU4ymbSSeEna29sz4IcAu9Fo6N69e7bJ83kAMd8uJRA4r65KJBJ2IDCGtU3ep218fFyvvvqqTk5OdOfOHWOaEBSPj48rk8moXq8/lJszBxVM0ubmpqSLxrUPC6yazaZ9VjgcVr1eNz8x7h0gkUwm7dmgY+OQhGUG+OL9hHan1WqpXq/bvKFimGdKegXWAmDFs8vlcpbS4XcARblc1srKirLZrKW1OYh7vZ5pdQqFwkDaDaCO7x7WIN4PigOY1DkHMCCpVCrp4OBAmUxGqVTKUn7ozmKxmHq9nrGW7HkEMOPj47a3+dSaJFsXrEnE99KFLAJNFb5WzAeeTzgcNusLNGt3797VlStXlMvlLMAiwPYpP76HNHw4HFYulxvQxpFq9G2eCIL8fsBnEqwBmCRpd3dXR0dHBt5INVJAQeAFMMI7qt1ua2pqSlNTU/aMAEXo5IZ1fKRvAZUebHN28RnBYNCCds6rkZERZTIZHR0d6fj4WIlEwt7TZQ6u/Vkfjwus9gKBwPRfsVXTkji1tyR5scacpJ0nucAvctAclE3jMmzzMVAcGxszc8nJyUnbUGu1mmq1mq5evapf//VfH2jQ/KABbe7Te8MT7fT0VPV63XQKz7q1wWWMQCCgfD4/IMxF81GpVDQ+Pq4bN26YZw6AJJ1OK5VKqdfraW9vzyJUaG40PrBMiNphjUjPsZnStBTRNOX+XnzO/9NHEF8dLDFIA5VKJYvE2Qip8PQRfrFYNMA1rPOi3QT/tlarWTqj2+3ageu9eaRzMISOj3Jy6H+uF20MP3v37l3FYrFPVAd+1jg7O9Pdu3cHWD2ACyws6QvuyWuVhueAbw4ryYS9vqrs8wYsw/r6ugKBgHK5nL33iYkJS4GhbYMhlC6YUQ5wSQPO30dHR7p7965dYz6ftwbPzWbTUrXei8kfJoAGPJo8M8p3wCZwz+iSSOUSNPIscdXnF4GB1+fBRnLQctj6ptDSRR9Cn6Yl9eer61gz3n0csOGrXXmHmHcCYFkPfm2ybnh26PBYc4ACzFERxB8eHqperxuY5Fo8O4KGCqaE54SNQiqVsmvo9/umj5UudLawmqx/vsM/I+lCj0mHBvZ42EFYSfYqChVgTLvdi6bs/AxVyVw/DJY3tEXcTgs2WDKuAeDunfRZw91u19478+xpACAY+WcdXD0usPr/SvqfSvonf/X7/8f9+f87EAj8NzoXr1+X9JMnvcgvahABQtlehiaJVM74+Lj1Y5uYmFCr1dLu7q52d3fVbDZ19epVqwb5tEHU4n89yJ+KDeKv0wgEApqdnbXolE2i2+3q9u3bikQimp2dtaqoXq+ndrutdDptot3t7W078Ii8SOOwmaOtGrYx4KDnkPIbq9eMsBn1ej1Fo1FFIhE7XPgcKl5KpZJOT09148YNRSIRY7fQaUnnB+329rbi8biuXbtm0SfVpb5Rb7fbVb1e1/HxsUWx+J1RQUoKGjdlSRbdB4NBczDnmVAdeHp6aiLmR0k549s1Pj5uANdrq/hshj/4HwSsksmkotGo6Zqq1arpMjhcP2/AsBWLRZ2enuqNN94wDeTY2JhyuZytPaqhYA/QP2HCCcAnyNna2tKdO3d048YNLSws2EFWLBaNFeR7PCgACANiW63WgB9euVy2+UUhAcCKVBfMmhdgU9EmacCI1VeOIV8YHx+3Z3N6eqparTaQIpRkYIwAkd6O/IIZAfjxzADjgUDArCcAH3h/LS4uGtiA0cWEl8/odDqanp62lOew8BvdXbvd1sHBgVqtlnnRUXEHUOj1epYhkDRQzMHaT6VS1p6KoEDSAPCHTYatYi1y3cPBAvfN/oD+k32NewNM80we1CPUA0QP3HygQUqSwNHr55grzDWfbWHw87Tx8n0jL3v4jgzP8ngYu4V/oXOh+lQgENiS9L/VOaD6V4FA4D+RtCHpfyxJ/X7/w0Ag8K8k3ZLUkfQ/73+FKgLD4bDi8bjq9bppBC5jsAhxjQ0Gg3Y4EvExcR9mIL5sNBpmLPqg7yTy9dT0L6Ldws2bNzU7O2uMFSkuImKABJoiSRZtYo4J28FGxCZHdIQeSrqwO2BgocHB7dMqHEySBg4pWrTQxPTk5ESlUkmVSsXK+RcWFqw8HasNIm5o+dHRUb3wwguSZOwaZeOAi9PTUzuwSfvAtHFdMzMzxmwQnR8eHlrj5v39fYVCIWNvaBvCRo5nzaPqH3hHfoOfmJgwMMDgu/De4dqJknGrz+fzdhBJ55t+vV7X97//fXW7XQPGGK9+Fpuby+X0wgsv6Nq1a1pYWDCWBtuEYQH6sPGv15aR5qU4YmRkZKDnIawgwvVmszlQeQmjwYHvq/t4hrAFJycn2t/ftzlMJR7pVKqqYMeYuzCUPDvfwBdtGfMajRfPH2aNw5vfuXYCQOYkwY2/J54FbD4jGo1qcXFRY2NjA21UABB8N8DQm9sCUrgf7BW4D/RfAHhfQUnKm/sOBoMqFAoWBASDQROI0zIGhpj5S6HJ8vKyBW1eK4Y9Sq/XM22lryTmWfuKWW9jQJo0EokomUza51HdCdvFXIINpjCBdbS4uKhQKGQsPfOH/Yz359ltvxb7/b69M4LIpzHounAZMp2nOR6mKvD3PuWvfvtT/v1/Lem/fpKL+rIGmwjC3MuqDGRBDJutUXlDxdajDCp9Wq2WReP++9DJoGXwGoxnuZriUUcwGNT169d19epV20Ty+bzGxsZsk0QHgYi13W6bdodDidYpPCN+EQ1SLIC9AiwKGyGH09HRkaXppIt3weaE7g19AtWDIyMjVk2DyLpQKCgSiejevXsmcOb7qCIELJFyJlXIdXLAwyxks1lFo1Ht7OwYqAgEApbKoHQdkSu9ApvNpqLRqAmS4/G4zSuE9Rz0jzp8iTgtOFgj/j2jMaGXHddN37pYLGZAmLU7MjKicrksSZaiwRAWoe+nDRqaz83NKZPJmN+RNz6lOisYDJrBLI3OAZztdttASDQaVSaTsdJ30irMDQ5lnMEBN97uwP/yAJJDlhZK/l7HxsasYg+wAxDEUR6wDRBjX4KRQhRNBR//zn8WLAggy4v7SSP5VBlAhNQvKbpGo2EMPYCUTAJrJJPJGFhiLfpKXLRRPu12dnamvb09m9t4s8Eqc2gTJJE2JdiArfSatXa7bcCKe/A+UOl02qwcPAD1wKrT6VjLJC+QZ035cwN2ks4MBJPxeNwqTvGgYx0zr4rFoo6Pj7W0tGRVuJI0MzMj6bz6Fl0X75IgkH3OO59j/UAG4NMsIy5rwD5fFunxtMazzad9wQMHadiqywAg0LBQ6SwCBpvFpwnWP+0zp6amBtpWQOPSz+7q1av2fWxslUpFjUbDNtharWaU+FeRySoUCpqamrI0KgdGKpVSOBxWtVrV6Oio/R26AQ4NIm2ofzZhX6XDpoeHE3oOUhj4DPH8EBmT6vCpG6hyNjlSw15rQfPjTufCpDSXy5l2i4M0HA4rn88rGAzaoUSVUzab1enpqUqlkon0Kelm46caknsGKCLAbjQaqlQqunv3rlqtlg4ODrS0tGRtmQBZsDYI6n2681GG15/wzBkcsIDh6elpM9hEO5LJZAy8SOfsHRYFY2Nj+qVf+iVr9dJut1Uulz836s1ms5qbm7PmsgBq5gjg0mtwPMD0YOj09FR7e3sDjY29fof3wDwjVes9ewBrVEnyvMfGxkxYzzP0BzdsF2k6z4R1u11tbGwYg+X7ikajUSuwOTk5Geh3yX4Gi8t3ch8EAGgeOfAJQPgZUp5cz8jIiDGAaLJgQqrVqlqtlpmR+ipK2FbK/j24Zg7xvHFtZ8/11aiI3X31oE/98Rxoh0OqvVarGRDBpoD1dHZ2ps3NTQPizAlAdTKZ1NjYmNlSAFa57k6nY9WZzBHuBzuJer2uvb29gXmXTCYNPDYaDR0fH2txcVHSBesOOISRBshnMhlj6XkvPuuBvg1tKHPfs5HJZNJ65V4WSUFQ94uqsfqFHKRcLtPczG+ipIC8KJRWNY+SCkSHQCk9G+34+LhmZmbMRdw7O4+MjJjPSDKZVK1W0+rqqqUGvCbgq8JoxeNxzc3NGZhkAwRA+U2BNIR0oZXwzJIXmLMJwPiQQsKaQJIxNYAt0jowRRyY/FvYLukiqj84ODAvKYSlsVjMNmCYLFgtrolfbLSAPDbcYDBowCgejxvY85EwOgUvRuegk2RR+N7ensrlsjY2NixV4PVe/Kw3wXycAQPiS7u5X6/5IXWTSCTMnJI0iBc1856Pjo4UDod15coVtdtt7ezsqFwuDxjsPmgQqKTT6QFBLzocRL08K+YDkbovWecdUYVHoOOfFcDeV3xKMs0PVVk8K69hgUGBDeWzvZyh3+/bgc0BKMnSWFSMsU+xZ3Q6nQEvKgDJ1NSU7V+eUWG9AJhYDwDEcDg88G4Bh7By6Lo41NH+dTodAxCTk5NKp9N2oAPqaOUCY8K+yLXxi7kKWGD/oyKRqkhStLBIvd65Oz3VvIAopBkEGhMTE2Z4Ksk0Yvw914MWkACK7hicF+xj9CtMJBIGrvlF0EaAiOca7BI6LYIV3rE3ceUa+cyxsTFLK/r0L8+Ws4Jzkn11+BkC6vzcfdLh5/izPJ4DKzeINBAPXxZjxed6rxN/gLP5PMpnTk5ODqS0vvOd7yiTyejmzZuanJw0ITGluUQhlH53Oh2tra2pXq9rd3fXGtseHh5aZP203HMvaxwcHFiU5ju4wwSxuSAaZYMgOqZlDfcIc9Xtds0Qk82Y9wW4Ojg4MHNOUj6SbBNmk+I7+BxvdJlMJjU/P28pFZyk0fLs7OwMMJkc1PwZ78cfkrBxc3Nzunbt2kBa2IMf3i+bNwcfG/DOzo75n1UqFZXLZd27d08///nPtbi4aM8TMAo757VbDzs4/DywJY0djUatXD+bzSoejysWi6lQKCidTpupIuBFOl8f09PTpluh/JuWJqOjo9rZ2fmEMJ7BYZdKpSyF413ZYQhhEGGgOahJVfKOGo3GQPrN2xMMFzZwDwiR0+m0jo+P9fbbb1uKMRKJ6Nq1a3aoA+IAI7CkmKxSIeZ1Mlha9Ho9LS0tGRvni3ZgvDqdjgUxfr5R8QoD1uv1TKMzMzOjaDRqbDjzkObRMDcI/WFlvLie4JHP5jkfHBxodXVVMzMzVqDCuiZt1e/3zWoDEAa7BZPt1zfvAdADw+MboZ+dnZk4fWFhwapk+/2+tcdB35jP583ygRQwgJrfPesWCoUsTe/1g2iXAHo+aOM5Yq+ATtL/QpTv98Zer2fMLV5nPnhrt9uqVqs2t3xhCWlCGoh7+yDADqCf9l2XlRIMBAIqFAqan5/XRx999Ez7Mj4HVm54dsNvIE8yiMZgq6DofUTLQnuU4Y0sx8fHNTs7q2w2axvuyMiI/k9/97/71J//3//4f6VIJKJKpaJoNKpWq6WRkRFVq1XzTfHVbvx6lgaVa4AomBsiUMqESUd412kfxcJyeGEwkTvvyG/+kiz6RJzKII0Bw+Kvwfc8Q3zr3a0B8z4Cx6+Hw47P9nPTV4/B7sDmcDjCuvAO0UMAuqUL/7aTkxMzrq1Wq+bFU6lUtLOzo5GREc3Ozn6CdeG+HnaeeBaB6+dnOWTT6bTN7Ww2a1YX+PT450UEzvPms7lXBNjxeNzW4oOAFe+OdQSw4v150bgkOzwAOvwd388cgQ2g3ydgkBSU33c8OO92z73XcNhPJBID4JZ34A9T+imi/5Iu3LSZL6yTbDarcDhsn+/BMof8+Pi40um02UgA/j2D2+v1rJgGM95yuax2u23sOnOde2ROcq88J/4dOiCv/Wq1Wmo0Gub35jVQ/mdgkby3HH8OI8z3Aj6YS74X3fj4+EB/SLR+IyMjAxWW7C1U1uEJ5/89rCGMlQ+cCNo8cPesN/ubt1rhncPmUrzi08G+OpSULP5o/u+Zc2j8yIwAWAH+dCdAvO6LWLxm0FcmXsaARfb+e8/qeLav7gseniYePjSedDSbTa2srOj09FSNRkMzMzNW9eVz6g8zoJ6bzaaJLZnkkUjE2JbPG5QST01N6ezsTNeuXdPh4aGWlpYsMjk6OtLW1pYODg5ULBafKXCFqzmMClqYkZERYwpOT0+1sbGhcDisqakp8yE6OjrS/fv3TbNCasCncti02OSwzMANm4OSd0iJPhsVnw1IQy/FRiSdA7H9/X1Vq1U7fBYXFwcq93zrFDYpQFk0GrXomIMAcTD34jfhRqNhAvtgMGj6FTb0H/zgB1pbW9Mf/uEfqlwumxap3++rVCrpD//wD/XSSy+ZL1I8Hlej0VC9Xtfm5uZDz+NQKGTAqFarSZIBZIAPNg+wH6zNUCikcrmsWq2m69ev6/r169ra2rLSeQ5P0lbYj5DCCQQCun79uvb29rS6uvqJayMFtbW1pdu3b5vWCA0X4IoIn8bN4XBYp6fn/fxisZjm5+ctoPJBiv9v7oe1yHvhwK1UKtrf39fa2ppZNUxPTw/oZzyjQzNj+gQCEqmowxfMa2MAB7BJBCKkiwC0sVhs4HAHPHgTz9nZWZsveE9hekvqCqAKKBxm7ziYDw4OVC6X7RlWKhWTTeTzeaVSKasy9IUTrIOZmRljeAFLsC3sFejwSK0zfyn4WF5etjkOo8ceiJ4IphdhNVo+5h9tpgCsFB4RxHiRPb+4HrzOOJt4djwj39T9/v37tm/DjPIZPrigWhzhPe+U+0Kz53V9zJ1Op6Narab33nvP3tmv/MqvaHl52VKbsGHxeFzZbFblcvmBAcyjjl7vomL0K18V+NdxPA3wQPnr0dGR9vf3lUql7O8eB9F7waukAXH1/+F3/i+f+/P/5a/8swf++X/8//pdExyyQNBhsCE/K5WFRPw+eqZqiQ0KFga9CFElkb0vN/fl2Z7BIsVGxIabsAcRXuvBhkOkTcqIVBCRHamoVqulWq1m4BhWRpKZJ0oaaIcBOBsueeaefUTnwRXpOqqaYC0CgXNzw7W1Na2tremjjz4y3Rjj+PhYxWJR4+Pjmp+ftya31WrVCiO8Vo/hAZ50wawB/tl0YQcBA0SngGWif1gcmB7SGIBP2AdYDg4jwDBaxE7nvOWNZ2akC/alWq2qVCqpXq8PGC4OC6O9HxCBE/fCOydV6kGVv2cOQf7fi6Wp/i2Xy9ra2jLw5te/Z02Yj97IlvlG2hp7Bu4FoOgZJa7VC+19wOmZXOY44BdmhHfDd6FP8/OVZwc48kwh6xrD0aOjI01MTBhrwXX5ucVzIUD284UDmX2C9849ehYSPWwkEhlgd/k3Pv3l7wkdHtopAJYv9mAtItD3bLhP1/pn7lsK+T2HSlBYNpqve5d+/y79O0ZT6QNK1p9ndLlWwBjaXDTC/Nzo6Kgx709DD8We+bwq8Cs0ODiazaZFoU86fCUFkwEGgkOaTfdhB5Vv3W7Xcv2YXyIkfNyRy+UUjUat2qTdbmt6elpHR0e6efOm9vb29OGHH5qfzJc5aDqLHwtiXVIDgFeq53g21WpVgUBAL774ogFeNlqiR5zX2cTI53tXaQBnMBhUJpNROBzW7OysgYPhaho2M5qxAqIKhYKmp6cHBMCnp6cqFAomjCcFI12kgdm00E0gIqdxKv+ewggOOh+Z06vw9u3b2t3d1a1bt7S9vf2pESGs10cffWRl5JIMmNXr9YG5HAgENDc3Z4J3CkRGR0d1/fp1JRIJm1/379+3Z5xMJpXL5UybyAEEEwPjUC6Xtbm5aalDPIwIVtDy0Iz5zTfflCRjMjOZjNbX13X//v0BED06Oqp3331X9+7d09LSkpaWlgYOUkl26ON4j96GRtVbW1uW3qL61gNsqithIrBOYa70+32Vy2UVi0UrPEHH9Jd/+ZeanZ3Vm2++qVQqpfn5eTvQARy+cq/ZbJquyFeEAXABFQAcSVZ1tr29rdHRUTME5dqYY7A1HsAD2AG86B45hLPZ7IB+aHd3V9FoVNPT05JkxQE0B0eD5KsAcWQn3QSTiEP8e++9p2AwqJs3b2piYkKZTEbxeHzAL4p5Rpq3Xq+bPGJqamqgPc7p6amlFb3fG8wj5rFokQBnnU5H1Wp1IFWG/OLo6MhAJ+m4hYWFAXNfmGsvWZBkKdlWq2X3AnMIS4kru0//+vvhOdA9AHBO0QQAmTm0v79vvTITiYQmJia0tLSkGzduSDoHthSUfPzxx5eWBvRr7qtQxf4cWLkBGr/sl+apar+4YEZ85Pmwg+iABZHNZvVP/ub/9Ymvdfgz/sF/+z+yjQJaeGtryw7SL3r4Z0h1kNcIAYy4Vq+nInI9OzszQSlpQ8AKUZ3/HA4RtAZe4+QjSETiHJxE34AwroPKN1KJpJg4MBje28hvUD6ilWSpF56PT2N6hsH/GyJsDvPV1VWVSiXt7u6qUql85nykvNyzpaQbYIok2SEcjUY1OTlphy3sDC19CoWCDg8PValUTEcRj8cHLBTQi/BMCCIA1F5AjgaFe+Q9joyMWPuY4+NjE1mfnJyoWCxaQ2SeIRolDhPP7kiy1Czl5TBNpAjRVjHH8KVibniQxtz15pf9ft86AKC3A/zs7OxodHRUrVbLWBH2EuYhcwRg71k/z1D4vQiWguCA5w5Y8iyuZ+G8hQPzkvXhfwbQCAiD5cNw0rOBzB2eNwwIgIJnyv379eq1rP7zmCOkIJEAcC8EKNw/1853ot3jWfjef8PMFPuP/0x/DrCP+b3HFziQdvTPlv/384bPhHn37CPfQbDhzxp+zmuLuV5PBHhdHcGFtw+CXYbV8uyfB+qXMR7EiD+L4zmwcgMx3+TkpBYWFlSr1Z64NQwbPBUxnU7HKleSyaSJCB9VjMdCwyARg7fLHrOzs5YySqfTyufzSiaTunv3rr773e8+le/8tMHGOjMzo9nZWS0uLmpqakqzs7NGk8OkcYBzYHhAhhaAjWGYEfEblxd5o3sA5KCxGBkZUSKRMBaSCNAfSoheEZl6qwdSG2xmbHbexVmSVfCxQXuTWS8EZ254sMaBhzZpZ2dH1WpVb7/9tsrlst577z1j6QCVfrCpc8Cia7t7966BhUajYU7U0nnlVDabNT1HrVbT8fGxzaHJyUlzy+aZxeNxXb9+3e6j1+sZqwtLl0wmjfnDdqFer1tKlTREp3Nuonp8fKxms2k/1263tbm5qXA4rF/7tV8zr6pbt27po48+GgDVgUBA//Jf/kv96Ec/0ne+8x0tLy/rypUrZpkyMjJifSEpFBgdHdXx8fFABWg0GlUymVQymVQqlbKUzf7+vjES3W5XmUzGeg32eueO7VhnwFgdHx9rZWVF+/v7arVaWl5etlJ6Ks1ovitdpL18msyL7Cm4kM4Zjdu3byscDltVKU7xExMTOjo6Ms2Mb53EHMvn84rH47ZuACB8F4asgJmdnR1bMwB+rpn7qNfrqlarVv6PeSoVzouLi6Y1ki5Sy1/72tdsHVBEgFchYDCdTiubzQ6AQzobtFotxeNxhcNhY8eQAVAUMD09bUDIp6mPjo7M7wuw7QtFzs7OzHuMNU6VJv9dLBbNagLdoE+hM8+9pQ7BGoCWd45ejl8wicxRUoIYnQI6yQgcHBxYBTrrtdVq6fDw0JpMe3+rdrttgdpl6qHQ6z2KPdGXMZ4DKzd8NHCZ1QwcdEwGX1Hm+9E9yhiOxi+bcmXAYP0v/vu/bwsbASy+PmgGLiuSIPrz1ZKBQMDA6NzcnPL5vDKZjLWl8doUHzHzs9JFtON/eb2Y11h5HQPXw+ewofFdHnSwMfJM2KRgW9iUENTCkPH9nk0i4gaYD7NPXjPBvTOG9V6MarWq7e1tffzxx6pWq1pZWdHOzo45y3v2i2fHfXoNhmchODy9foUDgBYrXvQLS+er2fhzXx1HlO+fM8+Kn/HVZB5c+vXBQeLfIWmcZDKpRqOhdDptxoOeOez3+9rb29Px8bFee+01pdNpAxGeaeBamFNer8O/9Qewf4/MDW+JAaimpYpnAmGVOHwnJyeNZWRN+kov5gDPjnlIqtgzn75i2c8l/155fmir/JqDpYTt8sCKn5FkInbP0sDu+nc0rM/za9jPy+E9EAbHXz8/B/jxeh1kGfw/c93vFTyDQOCin6Fn3zxLyrVyvf66PcDhmbDuACa8D+7Lg87hNLcvfvLPi2v1WlT2O89qs19Jsn3LryW/D/Bc+HPmGcEPrCTfd5mM1fB3P8vjObB6wCBvfRmVDNKFv1AqldL+/r62t7e1u7urDz74wBbz3/27f/eRPq/RaGh/f19bW1tWDfQ0x0svvWSl0+Tyz87OtLq6qpWVFUujXMaIRCKan59XLBZTJpOxDXRxcVFLS0sGMLAQIFIjtcfhh/DeC8GJRNEWHRwcaHd3V/l8XouLixZtkoLJ5XJWLRUIBMzj69q1awNl2Ds7OwaAqELjWjhg+v2+MVxc6+joqBmF8mfMPS8uhnXg89mkSQkPD9JH9JOEff35z3+u9fV1vf/++6rVagbq2RT98EJixLC5XE5HR0fWMiUej1uRAzo2AAIu4BsbG9brMJlMamZmxgAAQthQKGTO8Xfv3rXNeGpqynSEHN4HBweWAkdQi16Nqsvd3V1jKILBoHK5nOlP+v2+0um0gZhEIqGFhQU1Gg2trKzY/TAQBVcqFdVqNY2MjNi99Pt9ra2tqd/vm86Od0O0zzwlVQMrKMnYU+Z7rVbT4eGhfvCDH2hra0vb29tmgfKgd7yxsaGTkxNrMj4yMmLvBuE/3lJUEU5PT2tiYkJ37txRrVbT9PS0AoGAtra2FA6H9au/+qsGGJvNpt5//30lk0lbe1NTUzo5OTEPJp+CQkPHIe4DRy9Y39/fVzgctsAoFovp+PhYu7u7NhdhkgGezK1kMmlgyB/srPd0Oq1AIGDFFDDNqVRKo6OjSiQS5kGH23yz2dTm5qZ99+zsrDnrk76MRCJaWlqybhb9/oUpaaVSkaSBVi+sVdg9Coxg3ciQAEpo0YNX1rVr10wn2uv1DPhPTk7q7OzMWlpRGcn+Q4HG+Pi4+e01m02TufDvkHjAqrJ+md+8/9PTU6uGpXPH6uqqgUW0VwC14eDyMgYpU89UPsvjObB6wOBAuaxqBl+JIckWEtELxm3Hx8cDPjOfNYYZkqct5vufvfBfSpL+q+/9Z6ZtIv2I7UO1Wn2szwY4jYyM2GEAvU/12sjIiIlPiZyGvZl4HjzrYZaD6J2UAeJQP7zeQLpgRnjegDo2Mt6tZ+9IW/lSe58S9EJzbBLQeRGZcp2ePaEq0FclkjKEneK70AaVSiWVSiVrB7KxsaHV1VVLI33eeyHVk81mNTk5qenpaRP1k96KRCLGdlEKzvXCrJycnFjqD+0UKQzPXqGd4b0FAoEBkMk79hG216Bw3fyOJs4XOfA8mXdoRBKJhObn57Wzs2PPlDkAWN7b2zMPH9qWoKEbnocwZeidYB+95o736NlQROiwi5VK5YEHiU/z7O3tKRKJGKjybKZnQ5hbaLFIyflnxtrx1+nZfP4N6W6evWeaSKcCfjzA4Zl5tnW4WpI/895zfl4yF5gf3Bff7+cP/+1ZJw5qrzti32fec9+SPrEneIYcVojPHk65PujP/Z7CfuUd7z1rxPP1TvLMW9hP/9we9F18h9dg+p8ZZruHWX4//Nzmer1mz+9Zn6XVfJQBO3h8fPyL0YT5r+OIRCLK5/PGXD3JgEnBU6bfH2x/wIS/d++e7t69q6WlpYFegg8abGzk18fGxozWf9pjdHTUDtmZmRltbGxodnZWP/3pT/WjH/3osT6Tip9CoaBvfetb5rbN4qYKDA0QB3Q+n1csFjMbC7Qq8XjcmBZPH3uNE4LlsbEx3bx500AMomr0EdK5CJmDCSF2uVw2JiQWi2lxcVG9Xk87Ozv2OXj90B5GOmdbSqWSisWibVrpdFrJZNL8gDhMhgW0e3t7xggEAudu85KsNdH6+ro56eOU3mw2B3pfclg+TLlyKBRSKpXS9PS0fvmXf9mcsOv1ulWKwVrQ9Pr4+FhbW1va29vTxsaGldeHQuctOWZmZvTyyy8bU0DhRa/XsxJuom3Ylo2NDdNfcfjQhsUL5WG1fCUllUvpdNpE3/gIodnigBsfH9fy8rK+973v6U//9E8HDqZut6vvfe97eueddxQKhXT16lX9xm/8hgmnJdkaxCJhd3dX2WzWBPMAT94zFWPd7rkBKFW46FP29vb0zjvvqNlsfmbg1Gw29eGHH1q1VjabNTsJn2bkAF5fX1coFLIm4DAAMG7o5Ph9YWHB5i7riSo7LCnwlOJgJYUpne9XeJPRc5H3g3aoVCopFAoZKwNjRtUcBQBHR0cDImu0doDxQCBglZF0upBkDLZPj4XDYfvMXu+86bk37fT6TAI6mpT7ykvuAw0SOi7WP4U2NJAOh8Pm6g8DRYEG7DZBGtfGM5cu0nUw6cOpShi4SqVi/UlTqZRSqZTtY9Vq1dZBp9Mx3RbfR2DhAx5JpnvDXT6TyWh2dla5XM6eNVY97DeXwVqxLxeLRfNVfJbHc2D1gEE09qiC8gcNoiA+C6DFhk30WK1WVSwWNTc397mf6ZkPDjUiwac9/je/+n8c+P//9F/8PTO53NjYUKPR+IT/0ecNNpqpqSkDoYhGEbFi0kg1HUJxNlRSPJ1OxzRXHLowVGxQgBWAKalDDlJ/YPuIj2fttTq8W4ALUSWCcjYn3j/zwbeCQKdEk1siRu/dg+MxVhD9ft/ABWaxbDi7u7t2MFMc8bCDQyyTySgSiWh6elq5XE7ZbNY8szjwYHr482KxaKay6ILQ+YTDYS0uLqpQKHzCE4r5zPPh/bE2SK90u12rBiRF5NNLeJV5zcswSwOwBHSTimdu4Oo+Nzdnc5m/pzJ2fX1dnU5H169f1+TkpFkI+F6N7CE+Teuvh4gbcA2LTcq2XC5rb2/P5p7XAg4P5k+9XlexWLT3mEgk1Ov1rFCDdTDMpvDdFBIAemAfvYWL1zWhhwJcM3fZlyKRiAFC3gfPnTUE+8P18QzD4bBVCw5rDxmwN6w5ni3VpwAwn5b0QMgzjaxJGCCY0OGCkuE5DZggjT+sT/SaNH7xrLwZLIEJ3+nT8/5z2HcIIIb1VP53L2ofrub0InavE/Us/4OYNdZ7JBKxllM8N9Yjv3tW8EkH94stxmUxYU9rPAdWDxhoNXZ2dp74s9hgKcOdmJjQzZs3bXKura1pZWVFKysr6vf7un79utLp9Gd+Zr/ftwMTEOINR7/Icf36dV25csWA0fe//3298847j/QZ4+Pjevnlly26wg2etiykkzAFZKFT3bO4uGhO1IAbSZayQuuDPQSRZiaTUSqV0tzcnA4PD1Uul61hqo8AYVtwtfdl91xPqVSSJAMgmGfy56QW2IzpZ9bvnzuPA4hOT08Vj8fN5b3X6+n27ds6OTkxFu/o6Ejtdlu7u7tqNptaW1tTs9lUuVweEMn6SPZhRih07oaey+X0t/7W39Lk5KRdC5VTaGuIWlOplAGrUqmkjY0N3bt3T6VSyTa/sbExxeNx/eZv/qauXr36iTLyarVqGzIpXsD6wcGBNQA+PT1VNps1fVQoFDKfIX9gAqq9QNk3eMbN+vT0VLu7uwMp3F6vp2vXrqlQKOjDDz/UnTt3VCqVrPqp3W7rD/7gD0x/UygUrCcnGiCYOA8evVDZi/n5+2q1ahq4YrGoH/zgB6rVaubXVSwWP9WWBTYG7ebMzIyuX7+u2dlZFQoFpVIp81/iICWFJsmc7+kF+M4776jX61mg49lX0katVkt7e3uKxWJWNUj1WKfTUTKZVCaTMb0VrGmhULD3xpwbGxvT9PS0zQkOdrRhaJz4xbtl7gHgYK7r9fpAgcD+/r7NA0Bgu91WrVazYIngjblQLpdN+wf48eueAA8GNZ/PG9uEtYX3vOM+zs7ODEgxXwCGe3t7qlQqxvZQ/cbe4UEVLBQVhNKFYXG/f+4llcvlLKg4ODiwqkoqHHu9njGIBA3cJ670voFyNBpVLpeTdF4VmU6nzfcwEAiY3ADwhq8cFZ1PMij4oYfjsz6eA6unPNAVgPB7vd6A6Bomg3YcnyUAZ+ESYfL5w1U8X+TAvRyhOa05HsYdlxQgFVkAUDZyr0khmnsQWCDCY9NjE/dNOr3OiuifTZrDG+EwpcU+1cVBzrP2QAnK238PG7l0sSkQYfP/XC/vEGp+Y2NjgNHY3t42w9ZAIGAHMwLtarVq/kePO0i/zc/Pq1AoGMvBc/CADYYkHA4b2MASAD8or2MilesrHCWZxgw9DmX/sCbValWHh4dqtVoGztDgEZUDGLj3VCo10NeMiJ/fWXuTk5P22RymaI4SiYTi8bi2trY+EXFz+B8dHWl9fV0HBwdaWFhQr9ezw5N54lkXmFC8l2D2GIi8SSctLS2ZhUe329XMzIylgVlXXqMkXfgNEXgRJDB/Yf4ooMAEmWfGe56amjKwigCbeczgvbLe/PpgzTCnPUOHlpD17dcTBznPjpQ6vyiaAOwBUlnPVCgeHR2ZdioYDJphLlo9X31IRSLPj/vklzfjfZAnHZ8LGPIMF/OFz0RDyn17jRxsGCAMNsl7annWij2HfYZ7YX3yDFlfpKCH9Yi+cpLr7vf7n+ii4PVkALth3Rmifr5TuvDZetIxMTGhVCplRQLP+ngOrB4wmGQPo0P5vAH6hxmpVCq2wTFJJWlnZ8f0FZ82ut2upVu8oNNTxV/02Nra0sLCguLxuK5cuaKVlRXlcjnt7+9/bkpwYmJCv/mbv6lkMmmHeTweN51Dv9+3yrZKpTKgm5IuhOakydioVldXDSChOUEHBTBhQ2232/roo49UrVa1s7Njmx5eS8lkciBS51njRcVhE4vF1O1eGMzu7u5KumDHfDqF+2CO4T+E39Kf/Mmf6KOPPhooj5b0ic16+PfHHcFg0FzUf+VXfsWcqblWNDGSTNOCWPrg4MCA6c9//nPduXPnE+mQ5eVlzc/Pm7dTJpMxh3hADXpGDiZ6D5LmfOONN3T16lUD4gBJ0nHr6+s6PDzU/Py8xsfHLXXMWm40GgoEAsrn85amCoVCKpVKBtyp0MtkMkomk1pbWzPWaXicnJzo3/27f6dEIqG//bf/tg4PD41hgAkoFAo6OjrS9vb2QBqw1+tpfX1dxWLRwFg6nVYsFjNANTc3p3q9rlu3bung4ECzs7Pqdru6ffu2HVpjY2OampqyOVur1bS1taVIJGIawmq1auzZ/v6+QqGQ5ufnFQ6Htb6+rrOzM/3O7/yOgY9+v68XX3xRp6en5oper9dtPTJnKWTY2trSvXv3LCC6du2aufFLsjQ2rvt0HEgkErb3cf3tdtvc6gH0+HLh5L2xsaHl5WXFYrGBXprBYNB83lhb6LPohuADj36/P9CyBkab+yAIBiQCRvGDIvVIpwHfbxDzYUkGjKh8BNDz3r2/FFo32NnT01N77twjv05PT61iD00Z4PT4+NgqI9E9NhqNgXMH6QjXWavVBnSYsHVoyzhfAHwEwayNTqejQqFghSyHh4f60Y9+pFardSnnaDqd1tLSkhkYP+vjObB6wPCU+ZOOTqej/f19FQqFgdJV6SLqowyaMvFyuTxwuPX7fVtolF77pqAPqm77osb//ff+wP77f/n/+0/14osvKhAI6Pvf/75WVlY+9efQGiUSCass8yXKNF9FXEw0xvODwkd0Tsd69A9Eh/y3dNG0mY2R50vqcWJiwpgDDCB9NDisY/BicN4B5deAXzQVbPp8P9cJm+LBE+kBz0w+rQEz9eKLLyqXyxnjKJ1vont7ewPMHPO5WCzaMwEs+BZA/j3DAHkGMhAIGAiFsSK6xZqEtOvIyIiWlpZ0/fp1Y9GIvmlcPT8/b9oO/NZITaHH4nq8IaMHvjwLWMypqSm9+eabCoVCZnvA4cxcPDs7s5/jvkKhkFXqSbLyeFJiuNZz7Z1Ox4BVMpm04o2RkRFdu3bNUkuYYXKf6PB8xSF2E4FAQAcHB6pUKmZlMDk5aWnqcDg8UNVI8Qc6Gxhdzyox509OTixFThDigx6ei1+PHMIwd7QDgimkAAd2De0aeyGfQ0DD2oLxZa0y/zwrVKlU7JkQnCDqhwmm+tVbQzA3ePbcl6+U9EUx/nthTf2c53k1m03TU3pwyWcgI4BJpIG1dOHQD6DxKWbpomKRdKWv5CSo5Gd8YO6DRkkDpsN8LvtWMBg0rSNAkiDV/0JndRkaK0Dwl5WZedTxHFg9YKAnuAx3V6qkIpGIXnjhBRMVsgATiYTpDkKhkH7+85/r6OhI3/nOdwaAFRVx9+7ds8oUDjoiqS97LCwsKJlM6pvf/KZ5An3aIB02PT1tDIaPXLe3txWPxzU3N2diY69RoO3J2NiYdnd3za7Cpw9oN8EGjIs+QI3ICzARiURMOMxBgtcVkWsymRwQjRJlAnJJheEOXa1WlUqldOPGDYsq2fw5zH1ZejB47hPUaDQs/fm0RiAQMC3MN7/5TeXzeWvciqvy2tqaBQCwAPv7+3rvvfdMpM5nPKhLAYwhB743KvQVSIAdihUymYyWl5eVz+dVKBQGUlVegMt35PN5SdL777+vZrNpqcdqtTpgTorwn4MF4S06MarkarWarl+/rldeeUWTk5P6+OOP9eMf/3ggvUz6OZlM2mEI2Dk8PNTdu3eVy+X0yiuvWE/KjY0N3b17V7Ozs7py5Yp9ViaTUTQaVSQSsXXQ6XR08+ZNY2Fh1WD5YDgJHsbHx5VOpw1QwcKWSiVFo1FdvXpVuVzO5vD8/Lxda6PR0O7urvr9cz8u7CRgZhgwi8zxZDKpq1ev2nsguCCNCzPlPakAXKenpyoWi1YZCkOCuz5sGBrSWCymK1euDAQ00oVnVKPR0NnZmT1DUrEffPCBVfACbghg8BWcmprS9PS0MUk+eBsdHTX9JfcJqEK87ZsWw1jB8J2cnKhcLuvg4EDRaFR7e3sql8vKZrMmgUCLS4CJxoo/p9IS/RfV2cxBnqfXnPnelKSNa7WanRUAXZ6fTy1TYAXQ9CnEUChknRMmJydtb9ze3jYNFO/H9yV9kuH3+6/CeA6sHjCYPJeBjokME4mEASqiQpgUX3l09+5dtVotzc3NaW5uzsAB+h+iAF+BBF3+ZQ8qa05OTjQ7O6tXXnlF6+vrD7SsIHJttVq2SRD5EcmhwWFRwyywuOhz5w01WcQ+GqO/13A0S1R5cHBgLAebP4cxUR+bh3ShZfFUe7VatebEaEGoYoxGoyqVSpaiSiaTZrKIsWqv19PMzIxSqZR6vZ4dujs7O2o0Go/MXA2zSZ822JRhLGBKSHNiF1EsFg2QlMtlq/qDheFZ+RGJRBSJRJTJZJTL5QxAo20DWPm0xOTkpBVw5HK5Ab2OZyiYa0TDRPAzMzNKJBJ2yEWjUdOanJycmBaGwXvnMz0jCUuSzWYVCAS0u7trQnMYsOPjY7377ruanJy0lBENkUlFb21tGRgYHx/X4uKipRulc6BP+hv7BroyUBZfq9WMtcaRHd2Yt5jAtgDtGcL2Xq9nxRHJZNIAJs8KkD3MUPDMe72eMULJZNLWEEylr5Dz+h8ALPPRvz9viQCghwHq9c6NfXO5nCYnJ80Q1jNi7H+NRmNAM8R/w87k83mFw+etrKgOBKCjwQIo1Go1SzF6oAy7DjDjO7z+DLYVQOcrjUk3Yg3Bz7Bve00i5pww7PwdwSCsLSDbPzfeFYO1zLXynQDV5eVljYyct2XiXs7OzrS3t6eDgwPV63XTULInM/Dog61HEsCeVq/X7cx60kEgdRl6rS9iPAdWDxhsVJeBtInGqM5hsUF5S7J+YWykiDNffPFFXblyRePj4+bUS46bqBNKllz5lzlw5w2Hz/uMBYNB/dEf/dEDgRULEpoeZ2zEnfl83rQBLCisGKTzzZsDng2WCjZoaDZO/F7YKHm3MH07Ozs6PDxUvV5XIpEwLxrcnAGKbI5eLF+v13VwcKB33nlHlUpF7733npW9kwZE7Dk5OWnC5FdeecU2PTZKHMmvXr1qwuNwOKw7d+48MiPJYfV5jvgADowlr1+/bs84Eoloa2tLR0dHunXrliRZ9Z/XOQBuh0cymVQ2m7W+jrASHC4wXKS9T09PtbCwoDfffNPa4fgD3h8+HHY+XSFJhUJB3e65L9TR0ZHi8bixO9gZSDJrBkrwKSP3IAAWcnFxUYuLi6Y1evfdd+0QOjo60r/5N//Gvj+dTus73/mOMR2Yv3qNDUyRt9xAHE2ajrTj6uqqDg4O7PoDgYA5ro+OjiqXyxkTWqlUdPfuXU1PT2t5ednYUVIzpHGPjo6UzWaNHQVAv/zyywqFQqpUKgYsCATR3aAXZQ0eHByoWq0a04IdCc+c1JHXPgWDF9YUMCQeJCMKx1eMdQKrCUDmZ9DxLC4u2jtEVxcOhzU/P2/3cXx8bOlhqg2xE0mlUmq1WjY/Q6GQDg8PNTIyYuufvYN3Vy6X1e/3B9LnaC35HesLeh5S4ABDyn3559Tv91UsFi0NPDo6qqmpKdtHMLRlbXs7Aq9tHRkZMTkFhUY812QyqYWFBYXDYeXzeUv10Xng4ODA1hHAivdL6pTniOAdRgxn+8cJCh80KBJ42tKIyxrPgdUDBlQ0UdSTDJgRnxP3bQ/8Aeidq6HIAQaeZvdVH61Wy2wIvuzxHy/+Y0nS/+6H/9gO1XQ6rWKxaN4yfkBvU+IbDJ5Xg7HRs+lhlOc9pEKhkHktwVgBsNiwYV88dY9GhKofSbZB8z7YzAA8bHw4zBO9Hx8f686dO6rX69YeZH193UwHfcUfmzGidqLxQqFgfjB0imdO/MZv/IaxHzs7O2a/8DCDtBCaMTZ8bCO4LgDM1NSUMpmM6Veq1arK5bLW1tbMvV0638B9NdtnDQ7ao6MjY1x45qQ+T09PValUTLAMy0Jqgwic9+X9fdhk+TfevgD7Dd5ftVrV+Pi4sTYwnKRbAFeUnHtbAlKVyWRSs7Oz2tzctINq+H2022198MEHxlxQLQsblcvl7JAGwEqyVB9BBEwFoPXevXs6PT21g7hYLCoQOG+xxIFXrVZN50aalsOPQAbmiuq6ZDKpfD5vgRlBGoacPF/E3qQovXUETCUMBsDJv2sOe9JeD9Ld8JmsYZh9QB56UoIo9keaDnPwwizhd7a5uWnXFAwGzSiT94XZJHNwcnLS3h+/8z4IzlhTsEo+gyBdpNnYz9GZYRWCDIFnhqbLP1+KAACF7Cn8P2B5uPKVgN1rOGk2TwA0NTVlbCHP0K8jUr4wVxQ+kF3I5/MDmlHeLdrJ4+NjTUxMGGv7pIM1+lxj9RUebIaf54D+MIPFykIjSmbTwXSNLuOkoLa2tixiTKVSpiFB08Ni5cC/DHbtssZ/9a3/RpL0H/3f/gfmhfMgDx6YBSqvSMuxYeKThGcMmwCbHZsBuX0vUEXoGg6H7QBkkzk8PDQdFloLqsQowSenT9qBwxiLA5iq9957T7u7u7p169YAM0Ta4//P3n9HSZ5e14HgDZfhvY9IX5nlu6oNuhsNkAAhgiAJGgnDM0vtmaV4dqUVVxpRszPiUkNqKUokNSNqONJwpdkdkTPS7Kx25UAHGgA0aLKBRtuyXV0mK31khvfeZETsH8n78ouorKq0VZlV+c7p091VmWF+v+/3fffdd9992wEhCll1Oh0CgYD4vfBAI6D/7Gc/ixdeeAH3798XQfVOLRU4PYAWDqTrZ2dnBwTOBC2hUEhmlVG0nkgkZKYgPbJ2Gqqot1arieaH95UMYr1ex8LCgmgQyVbwQOKhzgyZCchwqYrPDZMM+oSxO5AslN1uF1aC8/UIoAAMACuCq2w2Kz5i1CDxWd0OWN29e1f+n+CKmr9z584JSCOo02g0uH37NpLJJO7evYtqtYrv/M7vhNPplK7La9euyZxOAKK/265ppVKpIJFIDBi6Epzwmms0mw7lNpsNb7zxBhwOh7DlL7zwAoCtIb/svCMgp06K3XBkZ3jPmAxardYBOw4A0jmplua5XvgaajJCVpn+S/QyU5tBaPvAOYNut1tKXt1uV+4Hvfampqbk+aMhK5M1TmZQ5Qj8WVXbRR0R9ys2AgBbJTteI5biqKlkaVNduxTTU2Pa7XYl0QE2y5rLy8sAIPNHCbRUewcm3GqSybIqmyo2Njbg9XrhdDrlM6vaJX6/SqWCpaUlSSj5+jqdDpFI5AG2mBMxyFjZ7Xa5tvsNAqujdM49Kk6A1TahCmT3G2oNmlohsiLUavBQ5wbG7JF1an4OrVYrBwgznGELgqMUo6OjeOWVV+Dz+fDHf/zHwtYwOp0OFhcXxXOKwlV6FpE54eHKTY0bEmfQEXgxw+RmyH9zJAg3c1UfQeaJv89DnA7n3LxpVsl/Ly0tIZfLSalmeK08CoTkcjlcuXIFlUoF8XgcX/jCFwY0DgCE4bLZbDh//jyMRiPi8fiOgVW9XpeuNI1GIxu6x+MR3RGzSwL0er0ueiCCk9OnT2NtbQ2ZTGZH76tGJBLB5OQkgsGgWCTwOrF7yWg0IhKJwOv14lOf+pSwd7yPDB7o6nXlocHnhkwCGUn1gCZ7wTIWnyuWt1wu10BHkyrUpYCXNgHnzp1DIBDABx988NiBsL1eT6whms0mbt++jXw+j/HxcQEIZrMZ2WwW8XgcuVwO9XodH3zwAcxms6xvgjgeprSSeFioP7PdPsaDmawYQXC73UYsFpNOWZYweR15mKqvS3aIelCV/WUTEMtbKhtCMKOyHgRYFF7rdDr5Hnwdt9stnZZkjXq9ntxbsjJMbCgwHx0dxcjIiMgHuOcGAgH0epsjo+ilprJPZNbJVgFbmipgE4ByPZHZoVbO7XaL1pCsGwcj83pQ10UNIs+J4eSBQIgAjO/P54QJhAoG+R2Y2J47d06Y8YdFt9vF6uoqYrEYYrGYuJ3zu7PjefhsI3DnHpnJZKTCstdgYwCHZB/1UTaME2C1TXDTOAihHDe44c4K1fSSzInqEQJABLAEURwbwJ9lZnRQerCDjn/6A/8KAPDDv/oZXL169QFg1e12kUwmodFoxC2ZJVjaDaTT6Qfq+YxSqSRUM6+PCqiGxa7M/rgp8bBjps0NgCUnll50Oh2KxSKy2SxyuRwqlQo+/PBD0atst3E8au0Ui0XRW7jdbpw7dw4XLlyQA0QtZ5rNZpw+fVpAyE6j1WqhUCgIM+dwOGSUjAqsuCYptGeGyeyTjtg3btzY8XsDW92AoVAIfr8fLpdLGAn1Z4xGIwKBACYmJnDq1ClZx2qHErBVJlJ1VvzzbrcrJVR6LzFDp40JGSOXyyWsCBkHHv4EMBTl8334fLGUNDo6CqfTibt37w6YLm4XLAfx9XhAZDIZYQ+dTqeMIGI3KBme4diN1o57zsNCHZFEZqvT6SCRSAzMN1UZJpVp4r3g2uTEA/4ZD3aCIvVaZLNZabwhG8Rnlwmlyr6oSSSbHAhY6ZHFCkMsFkOn04HD4RDWkk0UnU5HdJ1cH2QxOd+P76l+V4IflqQ505DXmULtlZUV6PV6meowNjYm12Y4IeRrUyCujuVSkwYmk0y4+bkoCaF2jewYr6PaRUugGI1GpdHiUesmmUwikUjIdIvhdcMzUi3Rcp/lOCa1A3GvweSyWq1icXHxBFgd5yDNfxCt7jwgCZjY3soHl4vT6XSiUChgbGwMo6OjAx4narlPtQFQgdZRbkM9d+4cfviHfxgvvfQSvva1rz1g8NZqtSQzYucON3N29FCYyQ40mv+5XC7ZoGi8x7Z9Xj92tKndTAAGGBRgiwHhAU5PpHq9jsXFRcRiMaysrKBQKCCbze57ZhU/67vvvot6vY4vfOELGBsbk3ZxYBOgRSIR8VzaaZCB4rUjEOFmx9Zl/j270sgk0MeGmehukwweEKoVBQ9gtTuWWT31HuphRsCnDhhXdS/8eR4wLAWqQnceZgSsfO9kMilMRqlUEtsBuojbbLYBH6Z+vy/MA/3OPvvZzyKVSuGb3/zmjnVn/G65XA6tVksMcVOplGgFHxdqB9hO9iiVueC95WHc7/cxPz+PWCyGs2fPijM9GRc2yRBsEGgRTBKYtNttFAoF+Vl1PfHQJQA2Go2YmJgQANDpdKTLkV3PlD7wnpM5bDQaYq3ChJUmndxbR0dHBaxxLwA2EzE+22TTAAzoEMmY8r0YbEbgvsLxUtwvut1N09SzZ8/K88QKA+8Buwa5ztjx6na7pSOT34ufS6vdcq9vNBryvDAxJLtHXSdBJ/c5Mp7lchmdTgczMzOPrXC0Wi1cu3YNi4uL2+5vamMDu0/5XLLz8KC69yiN4MiuE2B1jIPdEQfVgcCFx6yQWbDJZEK1WkW5XBbXZ5/PB5/PJ4cZH16KJPnQkAbn4UM25iiGz+fDJz7xCYTDYbzzzjsPACtmOVqtVqbXU/xIkMFSApkVio+pZWDbNwXPKqNB/RUPC+rdKLolQ8Sf52apgop0Oo27d++Kw/dBBLP369evo16v41Of+pTYETBbp0bH4/HsqkFBbY9XmQN24vGwUYff0hyTQltVpLyX4LXkAaiuex7UZrMZfr9f1vV2wIplIY1GIywKkwz1AGUXJkuCqlUAX5NroFwuix5Hp9OhVCpJ5k2GQWUV+LsUxhO42u12vP/++5LF7yT6/T7K5bJ01BE0PM4ag8HruNN7w+eHv0tRP0s3bEwgS2WxWISxpNaHexh1LnxfAqVWq4VKpSLsn8qkULxOATwBG9cl7SSALaaLnWzUAJJ9IShhSZR/RkBKlpXi+2GLCr4Hny9Ve0Zgxu/DPZbibwIS6mIBDABqMsP8DmTTuF/zWWR3Ip8DriuWlXnu0NKFXYzValU0YHw22u22dC4zUVOfIc5bZOckP8OjotPpYG5uDqlUats1zXXHREktm6sg/iCCa6FQKCCfzx/Y6x52nACrbYLmdyzN7XTD2y7UlmKifLJRw+Lber0uNXKWB1nS4AOsdizx4eLmcFSj0+lgdHQUHo8HL7zwAnq9zfl31K1otVpcvXp1YKAt25RVfy5eF6fTiUAgMKC9YjcRLRyYOdErx2g0DhixdrtdmZWmeuIQ2LDMxwHJ9+/fF1btMK4PRb5q+zTHgXAd+Hw+GfGz00Oc7Gu32xXNGIPDjo1GIzwejwijmc2zG5LXVgUojwuNRiN+XSsrK1hcXMTo6ChsNpus2UqlAqvVilAoJJoqlhhUWxIOflWzbLKF3MgJvNROQf6b70XhOdmCbDaLDz/8EBcvXsQnPvEJmdPHjJt6KzImBPpMdsbGxuB0OvGjP/qjSKfT+IM/+IOHrg9qmNT29F6vJ11uu8nwue5pz0BbkofFcOMIS2H8DARJsVhMridZG5fLJewwR72wi1A1jXU4HALA+BzWajUkk0m0Wi14PB5hNDY2tubjEayo42j4PHBfI3taKBSwvr4ujUVcR+xG4xrhXhmLxaTcyTWldoLyOvL69Pt9adpgsHJBJq5YLEppkwmaxWJBIBAQOwuyrCxhkrVSk4PhMVlq08Sw1jIYDAqw6nQ6A9eOgIaCe7VTb2NjQ8qLk5OTwo4+LtTPpQb3R7fbLY0utI6g9xZLlna7/UA6+MLhMF555RW89957J8DquAc791iS2q77Z6fBzIgHE/9fDT7czDZUvRCBR7PZlM2UDzU/p1r6OIrxs6//EwDAf3f174nuhrV7HqbJZFKEjwRcer1eNtherycO3yyrsk0Z2BJo88AY1iawjMONv9PpiKBZDVU0Tc1RLpcTIeZhBEWg7N7jOmHWTJaT2rPtRsc86rWHDRX5bzpu07aD5WSuPVofkAEc7uR6XJjNZthsNvEJCwQCsuEDEFpfFTEDW9odMggs2fA54WsQFLKkRMCjfkaCB3biUmNGQezNmzdhNptx4cIFAQ8qa8n1oXY58nXVOZIsrQ6zXAzqvNTnlAc77+9uGlDIPJA5eRSwGhawP6xsqb5GrVaTuXY8UK1Wq7h7swxEUGK322WuHAB5XsjCBAIBGAwG0ZVSDM1mFTKRTGTpgUU2np5g1WpVyr18xsn8MClhQsBmD1UzRa0W92O+Dtc4zYJZpuPn4LpSAR/vMzVX7BpmYs5rxrIpEz3ayXAt83X4zPE542fiXsg/5zVRS3p0XGeiyPvO60mD3p1WNlQWX/0zluY4bqrT6YipM7A1S/CgHNdpB3IQHfpPMk6A1TZB8ajRaEQ0GkU6nd52XMdOwmg0Clujsk0URwNbbrsUrXc6nYEyF7DVCcIHk9Q4M6ijzFgxut0uTp06Bb1ej/n5+YEuG2DzoH3nnXcQjUbR7/fhcDjEeZkjMdjhVywWZWMicAUgrcAAxJeoUCiIxkDtkqGGgoee1WoVYXkikUAymcSdO3ewsLAgpYrDCB5Cv/u7v4v79+9jcnJSNBydTgcfffQRkskkFhcXkc/ndwWiyYINb3JkLbhZsrvxhRdegNVqlbEkZFj2At7pjxUOhwFA7CJSqZSIpgmuab1B6wu1LMikg4kHsMVeNhoNYfaYvRMI8PDU6XTw+/0PlHkJNhYXF/GVr3xFnkFqXsbGxhAKheTgo8B8uBsL2ASRly5dQjKZxMLCwgPXimv3YddwN8CK+hqVjTzoYHt/PB5HLBaD2+3GzMwMSqUS0uk0PB4PQqEQQqEQwuEwWq2WMAoEixaLBVNTUwPfjaJqp9Mp+xdb+wl8VVE8m08KhQK0Wq34rXEOqAqmVSaabI3FYkE4HJbXIYgjA6SWp2kM3Gg05L2pSSQYZwmVWjyC/pWVFQCQ5K3Vagn4oXyB+zdBJKsRLGXyGWV5jY0M3CeDwaCwyUy+6/U60um0MFY8V8iAs2EjFAoJa7ib9aWG0WiULkeyrZy8AGyZo2YyGfGL22/Qj+0ojGzbTZwAq22C7rMsI+0VVAFbhzYB1XAmQPZAFRmrXRxqXZwPu7pRkY04Do60//Wr/xgA8Mm/dxZWqxXNZlOYJ44+oN6Dbsler1e0ZRyXoPoydbtdyeh4mDKb4oHNDFPdKFTmRBW004WcACsWiyEejx/qdWHJ6e7du1JGoKlkp9PBwsICUqmUaMh2Eyqrt10QoKfTaXFpZhcOr++jut62C65neh/5/X4YDAbMz8/LelWHh3PNszWbpR+VweI95DOkPkvM0tVni88IX4NdWWoyw78rFouYm5uTcs/k5CTGxsbg9/uFUeXnIyPFzkmuHc697PV6iMViAkYZOxWa75QVVEHiYQS1S1yb7XYbPp8PIyMj0m5vMBjEL2y4yWC4k5IAkHsYZ2SqpXxV9Mz7Q7DE3yVrSyE5AZMKuvleZLpYvmVSqmq/VD9Blf0kY0Qtl9pxrCayZAyplaN2TF1/aolafZbUzmW+H7A1jouMHZMDNt+oa5wyEgrZ+bwSXHFAOP/NUK/z8H3n6wyvQ55lw40TaqLCTvZarXYgVRQy7sfhfFPjBFhtE6VSCXfu3MHU1BRmZ2eRyWTkwN9tNJtNxGIx9Ho9MXbb2NgQgSiNHBcXF6VdloaZwJYrOA8g0vrcTJiVqQ/NUY9oNIrv/d7vRb/fx+uvv45arYY/+IM/QCwWw/379xGPx/GHf/iHmJiYQLvdRjgcFpEnfZhI0zcaDTH541gQtWNM3UAoTPb7/dJNUyqVsL6+LgJJCkH5508yU7p37x5isRgWFhakg7TdbmN5eVkOuIMOgqe5uTnk83mcOXMG0WgUFy5cgNPpxO/93u8hm83uClhNTExgbGwMHo8HGo0G6XRarne/38f09DS63S6Wl5dhsVhQr9elnMN7xwNQLcepAmxm8uziImvBA4E6JpayCILIYExPT0umTTZJZUAKhYJ4oNFvioyWCpo0Gg2mp6flMKc9RSqVwuLi4kOvG8slaqnpKIVOt2mmyqQnn8/jxo0bcLlc0tFHUXoikRBDUI6VolyBJTNqz9QuMlWYTpNPNgUUCgUB+Xa7HSaTSZ5z6tLI3KjAiuU3gm3VW0q1cOGQaerACJBp90JwQhBNzZTf7wcAmcBA0MTmG5bY19bW4Ha74ff7xeph2DCUgJ2sjyqgB7ZAGNkuShjInrNTkYxwqVSSa8Zu5lAoJIkmg/rBXq8nwnlg8zmIx+O4e/futoCd94esHsEUgR3vB4XmB1FFsVqt8Hg8BzIF5UnGCbDaJmhg1+12ZZPYa1Dcyc4UUqjUSLFswQdUFd2qwYxG1RSxG4P//NI7PwWTyYSfeumX9v7ln0D8xt/8E/nvpf/5a/ipr/416awiCOUDzIe4Xq9LG7PafcIOJeoO1PZ7bhjUVvDPjUajCKOZEVPjxNZrdabYboIZ4F7ajdntRN0IhbOFQuHQMjZu7hztwc2dXYKP82naLjgqhQ0WnHWnNm+oI2OolVHHhwBbrBMPN+rnVIbE4XAIM0kWh9+Jh5baRQhssRNMXobZJJaIcrmcJC4s+6haErWDcmRkBB6PR0TtALC8vPzQ+8Y1uRtd1ZMMfj5gq8O0WCxKxy4A2b8ADDBB/B1eIz7P6n3lv9UpCvxZdW+jJIIAjNefr6kmTir7z/Wk0Wx5tZGlYkMCWTUmrUxg1fXDUBsGhlkofh5ga11wL39YNUL9zPw9tdNb/T78fzJCtVpNXosJp8oYklFSE/VhKcB2DVnd7qav4MPWrVpGVxlTdUSUuh/vZQ8cDlUTepziBFhtE6S+U6kUvF7vjj1qtgs6WDscDoyOjorzLgChTDlwt1qtIpVKwWq1wu12S9cFGSpmTtQocFGrgufjJvIDIMNBx8bGcPr0adjtdkSjUQE8er1+oOVY7aZUxcq0rKAOKRKJQKfbHPqr0+lEXEtqnX4+FOkWi0VkMhnxrKIT806DZUiCid0Gv1culxsoDxw2Da7RbI7/iUQiGB8fRzgcRqFQQDKZ3DWoAjbLIrQ0qFaruHfvHqrVqnTcpdNpuXfAZiJDPR0Pc7WESWsBHvBc7+rBzw2YVhw8TMiasWSUy+WwurqKpaWlh7LQLIHxgDEYDFLC5Cw9llC1Wq0wcRaLBZFIBMFgEPfu3cONGzekCWY4WP46iMPnMII6Rn4+MkAsm/LPX3vtNUQiEXg8HhkibjAYsLa2Jp5oev3mIGTeezI/1L7xuQYgzylZCqvVKpY01KvymadL/ezsrIwFo8UBADgcjgGgRZBNjy0O/6ZUw2AwoFgsIh6Pw+l0wmw2CxvGew5AypIEPTqdDjMzM9JsRPaGjQ4q0GKC12w25ftRyM89jkkH1zDfh6CGbKfP5xOgpdow9Ho9Yf2CwSBmZmYGGqbI7BGwMZrNJn71V38Vt27d2vbMazabSCaTmJycFPG9+roEP+wYPQhbmng8jvn5+T1XjJ5WnACrbUJtwd1vcGPhg8ssQ80YVJZD7XxRNUIqalcZGGaGjUbjSJuEPir+x//k/wsAOPufh+Dz+eBwODA9PY16vS4jbYAtMavasaVmeGR7qAFhlszNhv9Nip8bFen2QqGAQqGARCKBUqkkZZqdBjNwNevebexUi3PQwfIMrxEB/16eAb4W1yWfJbWdngc1s11VI6Oua1X/poJoVWsyDLJUUKZ2U7GsxU7PhzUk8P0p4A8EAqLVUQ88fg7qtvicM/EhkFdBNp/jvTQDPOkYBoRkCgkkqaehtQIF6MDWcGO1e029VqoPnaoV431VNamqhg540HWff8Y/V/VP3H9VBolMNZ9T3jdqrLivbKeF3e6+qWVJgi/VBJfrVi01Dzdk8JkZ7h5UARxfg9IPGtWSfacmV9WUEjgOB9lk9Tt2Oh3cv38fq6urj1ybKjMIDM7xU7/LflgmVSO72wT3KMQJsHpEsJtiPyyQRqMZ6PLgQ0XLAGppgsEgzGYz4vE4CoWCjCChn1UoFJLyBbO6SqUiQ4Fv3ryJUCi0r7Ll047PfOYzA4JTjoTg/6tz3Pr9Pubm5hCPx5HP52VMBDcWsgw0OaTWB9gSRLIdPJ1OIxaL4ebNmwOMiHqQ7ySYCT4NYLTfoK5sfn4euVwOVqtVhg/v9vtcvHgRZ8+eBQAkk0lMTEzAbDaL9w3n8n31q19FoVDA/fv3RWdFRoiHpqq1YvJAJgKAgDdqRViOYrmEBxwA0ePNzc3ha1/7mgiTHxapVEoc0qnz48HL0iIBPQ9sfiaXy4XPf/7zWFxcxLe//W15H3WEyn6Y8KcVajclsNlRCQDvvvsuut0uXnjhBYTDYdHMUWulMpQbGxvI5XIwGo3wer0Dh7jagUoARw1PKpUS3ZDD4RDwSk0PD3rV80+r1YpFQr1el67TVquFTCYjIADYAuFsdKA1BD97t9sdMPHkz3PdqdoxgjB2/LGz0GazyWD0YrGIXq+HQCAgTFe/3x+wjWHyAUCuJUXslCywqYLXiaD2UT5SqkyC0e/3kc/nxfNtOBwOx0CnrGoaS1KAnZf8DnuNYDCI8+fPY3V1FTdv3jwBVs9SqJ5Rew260/I1uImodXxm8AAGMjO1bZzZHUGCqimhMR09t45r/NqP/oeB//9v3vtpyVzoAaRu6tzYqtUqCoWCuGdTqKqOyeDPA1ummfl8HuVyGWtra1hdXX3AEX67YNapdiUx6yW7wns+XLI8ykGwqbqPkwna7QZJcESWiPdDNb4FIAJ02iywDDJc5uU/qnaO2TEzc/UABAYZLVWXxbLS44YnA1vdTqVSST6XyoypJr3U7pER1Wq18Pv94om0Xfv6kw61i3K7g3On+kD179nuz0M1EonAZDLB5XJJty6THDVZ4ZqiDx+NJmkIzGtPrY76bA133LGExiHQvEeqho/fn6wOgTrZNFVuQfZJXfcqE0r2S22YUBlqdT2SFVK9s/hnql6J119l3ra73vy54fcGtnRaBGJ8z+1CfQ9qLCk4f9heZTKZEAwGB/wAufcBW40w23W/7zbI+up0OjQajZOuwGcpiMb34yBrMpkQiUTETJALt91uywZfqVSQSCQGPKsomuWDzxIhrR9cLpdkK3woarUaTp06dRBf/UhEIBCQDZnXjZsrWTubzYa1tTXcvHlTNlh2ivl8PmE/gK3hy/S6uXXrlowV2alInXqM06dPiw6D/i6tVgtvv/02NjY2MDk5iU6nI/fnsMxFDyLICjQaDTkEuP48Ho9oQHbK3qmHnkajkVEbBE937txBLpfDRx99hEajgXg8jnPnzuGNN954oJuThxOAgQyZwXIUBchkK+gCTnDLctXVq1cfOgPtYRGPx5HL5fCFL3wBkUhkoETc6/XEZNVut2NjYwOZTAYGgwEvvviirM9EIiFO4PsxHN5L8H5Q/1QqlR5Y7ywxsWNsp/c6n88PaLFWVlYEcPZ6PRlYvba2JmaSZrMZwWAQ3W4Xd+/eFdAZCoUwOTkpnXp8TZa+aDLKe8p9mVYtbDpgQwPniFIawGSnVCpJQwwBP68JfddU6wK1u5QJLq1BqCMimLZYLCL0Z7ejy+USHWe5XBYGnt+DjUyqSJ2lNhWwA1sMLT8bOxm5JxKosYt1J/KQdruNf/tv/y1u3bq1rbUQ14/P58PFixdht9vFZoOlS9Vn8SDGq/HaHdcKwAmwekSoNK9ap9/La6iiXAosy+WyGLlxsyabUq/XUavVBLWrTAn1DWoHDg/wXq+Hn/76X4fZbMY//MyvHvg1eZLx16Z+6oE/+4W3/yt5oCnYHB8fR7fbFYdvdtclk0lpGQcgugp22nGq/ONoZo1m0CHaZDJhbGwMNptNgJbD4UCz2cTY2JgI7ul5RMaS9/UoxHA2r3Zk8fApFovS0bebdc9nhoJf1UiQJYxOpyPGifF4HF6vF+l0Wvy7+DpkhIbZIhV8qZ2D7LBVpx3w+cjlcgKSdvN9+MyWSiWkUikpc6mMMZkqHpQ0gLRarYhEIqjX64jFYg80XBxGqCyverCSiaGlgfr91GaJ3cSw5qhSqaBYLMLr9T7ANNIAlKyUWk4iy6HqJoFBjeow+6S+vqq1VLvn+P2ALcaa61NlwPhzqli/19uaEagyTVyT1EeRfVI1oEwAyNqp34fMmbpuub65htXvpzLfajML2V+VleJaNZvNYj/zuOh2u5ifn8fCwsK2CSad5X0+H+x2u5T5eN+pTyNwJSt4VBsznkScAKtHBAERR6lQ0LybUB9+Hi6JRALZbBbLy8tSaqRbcKlUQqVSwd27d1Gv13Hu3Dm4XC6Zb8Uummw2K7Q1hdfsGDSbzXC73Yd0VZ5uqJ0mLpcLfr8fr7zyCjQaDa5cuYLV1VX8m3/zbxCLxfCtb33roa+z0247boJnzpzBxMQEfD4fbDYbwuGwtOEDkO6vsbEx1Go1LC8vo9VqoVwuy0E3Pz+P69ev7/saHESwOaJQKAwYgbLz9ObNm0gmk/joo48eOqblYUHfnosXL8LhcOCDDz4QR3IA0vHFLP7evXvI5/OwWCw4f/48fuiHfkj8i2q1GtLpNFwuFxwOh5QtVEaMNgjM7tVOKoK3d955B/fu3cNXv/pV0bbsJrrdLv7kT/4Et2/fxmc/+1nxM2KHFwBks1kYjUYEg0EAm6URu92Oy5cvQ6vV4tatWwD2ZsWxm2CH58zMDKLRqHRKEuAuLS3J+Jp+vy9l0YMwdcxkMmi1WohGo+IqrtFoRF/HiQJkmaLR6IAwPB6PC9hQAarNZkM2m0U6nUYgEJBZhgSJqgQim81Kd61Op8Po6OhApzVHD6mgjfs0/5zgn/MtqWNix2g+nxd3dXp+EbSSXWPnYbVaRTqdln1AHRnFcna32xXxPBmoXC4nezvvn16vF88wt9st64+lTWq3wuEwpqamdjQbcGNjA2+++SauXbu2LbByu9147bXXMD4+jlAoJCVHYCvpdDgcYjBMfdp+1hIB4nGYKLJdnACrR4Q6v20734+dxHDNfGNjc04WLRYcDseAOJ4gjMLKsbEx6f5QNULAlgaLGZFac99P+fIoxy9/4V8O/P8/ufKzIlJl6fDcuXMYGRnB2tqabJB7DbvdDpvNhlAoBJfLBafTKW3SFLmq2h7qPNxut1D2qkfNXrsFDzrU7h01W6Zgl4zesIP4Tl9b7X7i4Ui9DA8Wamh4qCeTSTidTjEUpd+YeggNh8rmMnhAsuSby+UwNzcnpThqolQNI80seZ+264gjGOG4Kwrj1a43YIv5UJk2Mlcs/R9kqMw6gd3k5CT8fr/YxRAUtFotGbFFYEKjUjLe+wmy8TTsHW4goLknrxfd9HkfVd8mrhNeS2qtVHaN64ksJq8H1x2bDSj0VvVJauehqj9jIkHzUV4XfiY2UKiTAFR/PdWzir54/FnVh0v9vizBApDPxfvD9am+P68LqxyNRkNGv3S7XRnN9CjGqt/f7IZ+nOZQtaYZ3rv4GnzmeH/5efcaR2GP3E+cAKtHRD6fRzwel26UvQjottsgarWazFPS6XTweDwDQKjf72NpaQnxeBwTExPQaDSSpfOB5MPHLhNuXMNlk2c96JLc6XTg9/slc0qlUvjyl78spZ+9ih9nZmZw9uxZcd9m+Y8MYjqdls2T4lu73Y6ZmRmZDVcsFjE/P49isTggYH2awU2dwIIli/X1dWg0Gqyurj60O+hxwYMimUxKCdXv90uJwGQyDXRlUh9z48YNNBoNuX4vv/wyRkZGBrpj1XJLr9eT0h+zdq77VCqFarWK+/fvY3l5Gb/1W78lpV8A0h3m9XphsVjgcDiQz+elCWI7H7JMJoNisYiVlRU0Gg0EAgEYjUaZwcZSSKFQkOvGwzEQCOCLX/wibt68iffff38fd+7BoL6LruiTk5OYnp4eYP3YEdloNDAxMQG9Xo9CoSAdatVqFblcbt96Fkobrl69CqfTiWAwCKfTiRdffBFutxvFYhEWiwXRaBS9Xk+6+bgHskzIfY6MDoGVajwLQLRjw8Cq3+9LRzABJTWEXPdkc1g+1Gg04htos9lgNpuRSqXQbrfh9/tlViBd2/k5+Rpcn9RBkaliwmu1WsW3imCE793tbk4ioPyDWjSyXGwIUYFlpVKREnWxWEQ6nRaJCH3FHhXdbhcrKyu4f//+Iz2nVJNRas1Uux82LwCQ7+R2u5FKpfa8jrYT8R+nOAFWj4hyuYx4PI5OpyMH+F4PaJYCWX/neAyPxwOv1wuXyyUbnTpDK5lMQqPZNNRTBe0sQbEDjZ036+vrMBgMCAQCB3kpjmz8rXP/dwDAf3f170mWFIlEYDab8cYbbyCbzeLWrVsol8tIJBI7zsjJTp06dQqRSESYKqfTiX/71776yN/9y7/+fXKgqnoIlV152sCKnUME4mTVYrEYgM21v1ttFfUzHNVEUTLXMw8j1U2bQGhjY3Mo8/r6Oubn59FqtWAymeDz+eD3+8Wkkb/Ha8uDhteb3yWZTKJQKMggYeoZ+Qyy1FCtVoUFcDqdoqXcjqUmM1kul+WzcDivKuBVdVSq5mq/3j4MNVnjZwiFQnC73WJ1wNK0Og6FBzz/TNUe8nX43feyPtV1TSNfeldVKhXZozjDrt/fHJBOgKtqjlSmRS09McgoEZjw/wHIumXyyW4/7pmqVkrtNtTr9VI2JcOkrlGyWbyn/GzAlmRgZGRkwPCU/8+Emvt6t9uVagPXJZ9FrhWVkVJ1ZkxcWOZm88bwBA9q2x4WvV4P169fx/Xr1x8JrNSyrHpfaFDNRJ7foVQq7XlaBK8hQfdR0aTuNk6A1SMimUwin8/LJHe1lXU3wQeEGgZuJGNjY5icnMT4+LgY7SUSCSkV9Ho93LhxAwsLC/jkJz8Jj8cDn8830O3Bh8tsNqNcLuP69evY2NjAzMzMgV6Lox69Xk/EuVarFaOjo5idnUW1WsXXv/51rK2t4bd+67d2PG9vZmYGL774Is6cOYOxsTE50L1eL4BHA6uRkRFkMhnxsAEgJZmjkoUNm1bSXuHmzZt7ZtQCgQAmJycRiUTg9/sRj8cHTCLHx8dhNBoFtHEds3STzWZRKpWQSCQQCARw+/ZtzM7O4vXXX0cgEIDP54PT6RRXZ5bH1c5DPg9vvfUWMpkMEokE8vk8SqWSHGAMHvhkShwOh7weQdfw897r9ZBIJKDT6fDqq6+KW7xqZMpOVHaKcd84KNNhdsSSLQuFQpidnRVQWy6Xsb6+LoxCJBKBz+cTUEMbEn5XAhk646dSqV0figQnBNH5fF7ui91ux6lTp4QN0+v1cpCXy2W43W5MTU0BgHj8sWuO2j+WmMiUAFt2AgTZZLLK5TL6/T6CweAAgKL+h/dF7b4j+1mv1+U53djYgMfjkZJ0p9NBIpFAo9GAyWQS5pTXT/VoSyQScLlciEaj8pqpVAqVSkWYK4LydDot7DD1WmazWRgpdupRy6da7dB/zmQywev1yqB2dczXw6oXGxsb+PVf/3X82Z/92SPvN8EO5xDyGSOoI5vG7ufV1VXE4/E9Wf9Qh7exsYE7d+5s26V4HOIEWD0imNWy5LaX8hqtAkjtAhiY1m2z2eThHx5xodavFxcXUalUEAqFhB5mJkGxJLND1dvkeYm/+4n/duD/f/nDn5EsdWpqCmazGZcvX0YqlcLq6upDNxKaVNrtdmEyqJ/4pz/wr3b0Wf63H/8KAOCVnz4lHW6tVksYL260RyXY0abqT/YSXI/NZlME4nq9XjJZZtbsqKJFCEW4PDAoDp6bmxMTSZq+lstlAFslJw4s52vmcjmUSiUsLi6iWCxifX1d/M2ArdKxCphqtRpWVlYG3KwfdSBxXEg2m4VWq8X09DQASOnDarWK1Ua/3xdfJ4PBgGw2O8Dm7SVY/uJ6okaKB7zajMAB08Bmx57afMPONZfLhW63K154pVJp18JhVWeo/hnZJh7EZrNZ5ioaDAZpZCDLorJcZGb4vbinqc1A6h6p7olcT8CWFQJHhNFxn/s62Sc6qAMQhsnlcgGAaLRUyxeOw2L5l+CM+z0AGYZMOxCW1PgcaLVaAVL8rmROga2mGL626nFItosAtFgsyvuxm3c7vS2ZwnQ6/Uhmid2ALJdrtVphItVpCqr3lTpLcy/B571SqQhIPI5xAqweEVywvNl7cTUntW61WmUT5APt8/kGQNV25mw8hK9fvw6n04mZmRnJvsgEmM1m8deh+Ph5A1bD0Ww2ZfN7+eWXxctmeXkZX/7ylx9a5rLZbCLu5XVmCWu30ev1hAVpNptwOp0Ih8PIZDJHClgB2DGT96jggcMSOhkpZt4cZMzhzrTHOH36tDhk83eZ4ZM9aDabMBqNuHPnDlZWVkRz4/F4JPPv9/u4f/8+yuUy7t69KxYLFPcSRLRarQEz2GKxiEqlAovFMjAGZbsyChmRbreLpaUltFotvPjiiwCAGzduAABCoRCazSbS6TQsFgtCoZAcToVCAV6vV95zL2EwGKT13efzAdhkfnh48zCmYL3X64nMoN1ui5+V2WyGxWLBxYsX5dB0OBzCtpL52Uk8rMuWwIrdsWRqmOyYTCZpMuDPsvylitpVg2DulywVsaRG40qWkggwa7WasJK1Wg2JREJADDsMAQjIsdvtWF9fl1l7Go1G7pfKTlmtVkSjUbTbbaTT6QGDTIrb2eXI0h81Vuzw02g08Pl8MJlM8ploZ8CkmXYPZOjInlssFtlH0uk0UqmUAMBkMolsNisTO9RgJeTKlSvIZrMPvacmkwlTU1OYnJyE2+0WAKm+Dvc2gkRWDfbKzJrNZkxMTGB+fh7Ly8t7eo2jECfAagfhdDrh8/n2NItP7Thhh0mhUBjwUtFqN4fFjo+PS8usGsxiXC6XdLiw5s1Nx+fzSW2bHljPc/z8d/wzAJu+V8yugsEg2u02Jicnkc/nRViqhsViQTAYRDAYxMTEBJxOJ37xu/75nj7DyMiIeEFlMhkUCgVkMpk9DWg+DsFByuwG4z/soKQ+ENjMhsfHx0Xo3Wg0hFlSx4OMj49jZmYGJpMJa2trWF5exp07d+BwOGA2m+HxeGAymRCNRmG1WnHmzBkpK3Y6HWn7JmNFAW48HpeDms9kpVIRtobs8bD7tsqQ3L59G9VqFbFYTPYGggGWTmj/AGzZL5w/f16A316Dou5isQij0TjAnKiaJJvNJnocAlu1fMprZDAYZN8Y9qbaTxDsraysCLhqt9uYn5+XkVUq+0TgQsDFrjiKwnlvWJ5S2RgmB2qXpKrZIYigHQb3VZYAeT/YHUsTZ3qv0UqBnYZMBLi/kOFhmZH6V1olcK+nfopVDFWbRtDIpI6mugRtwJbvmApC2SDCyQKBQABer3fbrsBer4crV67gvffee+QaVK0dWLI3m82yvjjnk+uK+i6yqXtp+CI428+0k6MQx/vTP6GgjsFisez6d5n9Apt0cqVSQTabhcPhkAVkMBjg9/uh1+sRj8cfyCJoJeDz+cQCgr/X7XaFsQIgde/jWps+6Oh0OtIuPT4+DoPBgEuXLmF5eRmZTOYBYEUh8OTkJC5cuCClgb3EyMiIjNuJxWIolUqPzBCPe/h8PkQiESkbEFixk4ubMxODM2fOoFgsYnV1VcANN2927U1NTeGVV15BLBbD8vIybt26hffffx9TU1MYHR3F5OQkbDYbpqen4fV6EY1GxURXZW0JFlgmicViclDH43EsLCxgcXERN27cQLFYFCDGg1tt72dZ6/r161hdXcWLL74oJSO13Z5eYSxNkbW8cOECSqUSVlZW9nW9yQR5vV5xyKe/HVkTHnD1eh1er1cORpqmajSbI2GMRqPYJByUFoyfsdPpYGlpSRpxyNR7vV643W4BLjxUqbFqNBqo1WpS7iXTQ4BLOwGCDn52u90uDT69Xk+YqmQyCYfDgdnZ2QFtGVnVdDota4YsKz2kqOGzWq1i9quWz7kPs6xdq9UEILI0zr2GbKjKkKpdjWR/NvWcEJd31fqE65slWzLr2WwW/X4ffr//oV6GvV4Pb7/9Nn77t3/7kfeO3ZpsRiFTxpmtXNNWq3Wgm5Nmv2wA2U2wPH0Q7u1PM06A1Q6CtPJetCftdlvKEfQBcbvdMqaBXSfMdFgWSSQSwlxptVqMjo4iEAjA5XKJgJCfjaJHtvKzDPDzb/0XsNvt+KmXfulAr8dxCrJN//Bb/yVarRY8Hg8mJiag1Wpx+/Zt2SBJ04fDYbFW+Gc/+K/39d4rKyu4e/euDIk9znMcdxLcFOnNRraG7vapVGrAc+f27duiC+EBwVIH3e3NZrPoOkZGRvDyyy/j7NmzuHTpEk6dOoVAIACbzQan0zlgFDocbLNnCZ3gq9frYWpqCpcuXUI2m8XKygrm5uawvLwsbEAsFkOhUEAqlZKSompcubKygmq1iunpabFcoFAcgCRAGxsbIsDn8OLdBhM1dfxMu90W/Q9BBQ8mCpip7aPlB8GXeh10Op3sSQfNGLAclkgk0Gq1ZFpCLBYThlL1NiPLRo0rvztLaarXGMugtAwhC8TgmqJukrMp1WHf1EFxXyZg48xDi8UiHaEcum0wGGCz2QYAIcEcryk9C+v1OtxutwBgVhSazaYkb/ws/DveE3ZpOp1OABBwSYY1nU7DZDLJmBmyatvdg3Q6jXQ6jUwm89B7RcDJrnWTyTRgdMzngk0D/L7UPWazWSnt7jb0er0wXsc5ToDVDoKU614WSqvVEsNDCjddLhdGRkYG2s6BzZr2+Pg4TCYTKpWKbMw6nQ7hcBiBQEDmYKnUMKlytaW60WiIW/VJbJUGf+aP/wZOnTollDUAmcjudrsRCAQQDAbl7/YTi4uLuH37toh3n/XgwWK320WjBkDWMrVT1O/cu3fvgbI32R16HZlMJlSrVUlMXn75ZYyOjuLSpUuS0e8m+KyppryMVquF119/Hbdv38Z7770nz/ytW7eEcaQAm+U3s9mM+fl5NBoNvPLKKzAajVJOZImNDNbGxgb8fj9cLhfefffdPVzhrTIXRfhsPOB7cRqAyWQSpoql2KWlJaRSKQGG0WhUylIsZfHzHoZoeGNjA+l0Wl672+1ibW0NJpMJbrdbmBxqwbiXkdGhrQxLu7w/nPPHcUj8TkxkCBScTifa7TYymYwwT7ye1KZS/8oh4ipTA2y6ulerVdGpEVDZ7fYBw08ys+VyWXzE2C1bKpVEC0f2Vv3eiURC9LYEMkxY1PJ1sVgUSQPZUQAD5Wc16I945coVAVZqQ4C6xri+PR4P9Hq9zMNUGXyCW7LBLEOyrL6X4IxAMmDHNU6A1Q6CtfC9ZHEmkwnhcBgOh2PA+I0LmtkS69W0YhjWc5FSp3bD6XRKnR2AmLK98MILcLlcqFQq8Hq9B0bpPyvhcDhw/vx5aUNPJpOoVCqiU3M4HPLPfmNmZgYajQb5fB6xWEyaC57VoH4km83KVAF2mTWbTQQCATSbTbz//vuIx+PbdsXRZ4mggCWR8+fPw+/3C6jZyaiO3QYP2tnZWfj9fjnECBiNRiPy+TzW1takc1Gj0UiGfvr0aekyo4am19ucosBOU5oD76VUT8sKv9+PSCQippPDHlT8LqqzfrvdhtfrhcPhEDZhdHQUPp8PU1NTA/oxdg8epNcay2b8586dO3C73YhEIgL86BbONcDylmoWyftBlov7HnVMqmksS7e8HpznSfd9jlGi6S8NVVWrB4IeWjmQKeQcTO7barccmR2WEMm21ut10f71+31ZKypbS6YWgFQxWHajASgZOvqR+Xw+YdU4kudhHa1kZD0eDyYnJ5HL5US3q14reivyenNkjzr3kCQBQ9X97jZoF+HxeGRQ+XGOE2C1g1BFn7sNg8EAt9sNu90uGwg3QVLdLEdRHEmamcFSpDoehAeLOone4XDg1KlTACA+P71eD//89i/iJ8//3AFcieMf3Lyr1SoCgYDQ7iMjI3C73ZKt/osv/Zs9v8f/4V//oDh/azQaZDIZGYfyrAMrrVYrB3O324XFYhGRdCAQQKfTQS6Xe6hXEktA6ngMOoqPjo4e6udnOcrj8cDj8QiTc/HiRRnRQodyDvvmd2i1WlhdXYXT6RQ/KHYqsvwWDAZRKBSwuro60F2106B1CA8gskxqxxsF3CqLzf2DLA0Zn1AohGg0imAwKIc9dU0HPaNNBdG9Xg/37t2TuZsAxNfM4XCIDo4lTwJcAhe1uYFaNnUf5fcn0wVA7gf/jmU9jUYj7BP3Z7JEXM+qXpD3lIk2O+Lo0M5SscPheABoUQOndnNbLBbk83nxZNNqtXA4HANlWpaWk8mkvAewxV66XC5xhVd9u4aj3+8jHo9jdXVVSsYsS5Ih5LXiXkjtF3WT6ggezl1kCZBrcRhYbceKDYfRaEQ4HIbdbhfm7jjHCbDaQVAQTjaJGcNOf5e6ArYDq/YK1EfwMGI3x6c//WlMTk7i6tWrqFarmJ+fR61WQzAYhE6nQzKZBLDVIcLavhrMYPc7puJZin6/L0aUwWAQ1WoV9+7dg8fjkdE1+7WquHPnjrSCx+NxZDIZZLPZY79ZPC7YWMEBsdzwWZbhTDK6om/HphLg/oW/8BfwV//qX0UwGBQn/ScdLO289NJLmJycxO/8zu9gfn4ely9fRrlcxtLSkjBQFMH3ej2MjY2JvQqwpZ1ZXFwUbx673Y5IJIJisbhjsN3pdLC6uopcLodMJiP7EQERD0naLNCagECkWq0K6+J0OqHT6dBsNnH79m35Pul0+tBZ7l6vJ+Uwirw5Q7VQKECr1crAZO6TaumPQId6OrJrBI7DrujAVuOQTqdDKBQa6BZUZ1gS2BMEkDkZTnjpP0imh8yNOjeSTKEaquidIBeAuPfTqkBl2/j/ZE6DweCA9xy7EKmnY6lXjVgshvX1ddy6dQsLCwsCCDlcmp5UJABolcL3KRaLAhQJgEkGUOdH8sHr9SKTycjcwp0ES7D0r2MielzjBFjtIDhnivVfCh13Ep1OB9lsVihfbiLcbFVwVa1WEQ6H4XQ6MT4+DpvNhrt376JcLos1ABezWsMenjOodpfsZYjusxx/+8LfBwD82P/6QzK2hlliOBzGH//MhwCu7Os9UqmU6AzW19dRLpefWYsFNeiQ7fF44HK5pJuLjEA6nRZw9TDfLKPRiEAggNOnT+OVV14R36unFexec7lcCIfDiMViCAQCIgbP5/MyizKTych35eHD4M+pg4+9Xu+uysPUE9VqNeRyOXg8HgFvqtibIJYaTjJxZAKCwaBogjqdjpQmM5nMnudD7iZYcmTJh0OKW60WqtUqrFariMJ7vZ6AruERQxS2M3FUS4SqPovXrlarSeceuwHr9broH7f7PXa2EfQQXBFg8d5Ra0VtFhm2YbG3em6wlEeGiaBMBXZkTdmgZDAY4HK5RBhP1orAmtpdvi5fY319He+++y6Wl5clyeNrqFpd1RFeBag88/iedrtdPifLoUajUc5IetXtFFixDJpOp/fc2HGU4gRY7SDu3LmDVCol4wZUc8HHRaPRwL1791CpVIT6pY+VTqdDpVKRsoI6IoAZFOnsfD4/4EQ8PKOKfieNRkOcpTmgkzX7k9iKcDgs5YdqtYrTp0+L2eJ+g87atVpNTPueh6AO0GAwwOFwCJCgyDuTySCVSg04hDNYZvnc5z6Hn//5nxfjxoOYrXcQodVq8YUvfAGvvvoqfvM3fxPz8/My4JtMyvLyMtrtNmZnZ1GpVFCtVmEymUQP6XA45KAsl8sIBoO72kto9OlwOPDSSy8BAJaWluTg9Xg8GBsbE2d4j8cjBrVarRblchmtVku6rsh00Z2egng6tR9WkMGsVCq4f/++NIuUy2Xk83k4HA6EQiHY7XYpqalmoRRq1+t1KRez5Eq7DrUMSBBFzalqMkrQROaHXYH8OxpukiljJyHBNDv36KllNpuxsbGBer0+8B58LmhNQLd82rE0m00pz7HMSV0TxfMsDdZqNdRqNayvrwvD22w2US6X4ff74XQ60Wg0kMvlkMvlUCgU8NZbb2F+fh4rKysoFovCwKkxMjKCU6dOweFwwOVyiQFtq9USxooAnlWWarUq94FAbHV1Vfy9eL8fF0ajEcFg8JmRSpwAqx1EPp9HpVJBOByG2+3e1Wgbmvip3U3MZMxms2SYZLHUDjJmSAAkw+PiVn1PAMjwWHWEBB8Cv99/sBfkGYh/8r2/Jv+thw+Lf5bH4q9/bV+v+dlfuCy+N1wjqg7nWQ+1bZ9eP5VKRdrc6a/G7JtdbQRVLpcL09PTuHz58p7GRx1m0H+JZsH03uIB2u/3ZWZbqVSS0g1LbxqNRjQwPKAdDseu/HrIDnS7XbhcLrTbbfHjopDdbreL9oqCbAb3CO4rZBzYyaXqlg47WCbL5/OyNkZGRkQzSmE3Pz8/My0hTCaTJI8sn3HIMRkglgzJvnDUEJ9JAiOW5Qhi2FVHc1PVw4yfg2wb2VSCB7Jeqq5IneDBfZ/JF01IWbplc5PqxcbvwbmIBFaFQkGYMp4j/f7maB+CoVgshvn5eayurspMQlo8DN9nlmCpNeOIJ3b98fPwOxEYkvVjwq/OSN1pUCB/3G0WGCfAagehOnePj49jbW1txzVgdnmMjY0hHA4D2JrMTl2A2WwWOpwPieojUqlUUKlU0Ol0sL6+LlYKbI/u9/ti9sfXs1qtQhOfaKyeTCQSCSwuLoqLM9lHbqDPenCuGIeJc/Axxdv5fB7JZFI0GTwEJiYm8Prrr+Pv/J2/g2AweGRYqu1Cq9XilVdegdPpxNLSEubm5rC6uirsW7vdFksDdtux69TlcklJyG63y5ib3Uaj0cCNGzcEUBBAsYOOjGG325USJJkxMldms1l0a2Ss1tfXB0pDhx0cS9PrbQ62jkQiOHfuHGw2m1wbHuwEqpyPVygUxMg1EomIkJpsPbvZAAj4LRQKUqoiQCEgcTqdsNvtooEikOI+TH0RO/QIlAmagc3kN5fLDYxOYlmRr0c9U61WEz0S2Tez2SysF4X7AKTRgYwWuxbZQbe0tCRdlWxMoI6xUCiI8Ws+nx9g/9Qh3Cz/zc3NiZ8fn0/+PBlpdlKaTCb4/X5prFpdXRWD0p0GveWcTqcYpj4LcQKsdhDMxFn7302WSWqagkBmnaS11UXODhI1M2KXGkdNlEolKUmq2SV/l50vBFz855fe+SlotVr87Ov/5FCu0UlANDfValUGDvP+Pg/BbJ/ZLAE9DyoaJarjYiwWCyYnJzE7O4sLFy4cecdltvePj48jFAqhVCohkUjIdyJYYAs8E6bh8Sv7sXDZ2NhAsViUQ5YsDpMoNrPwPnCUEhkTYLNrmPPpSqUSqtUqKpXKE03CuBdSw8o9lowJy2Is9akHPJkSfl6yWQAGOiMBDFQCaHsBbM0xVAdiq8ajDO7NajOQql3je3S7XZm3SGE8wS/3arJkFIrzeWGSTFkHX3s7Abxq7krWlKwWPa7S6TTW19cFyFNuMsym8TpRD8kRUG63W64JO9H5HVT7EfWaxeNxAY47DTYR0KOM3+OwdX6HHSfAahdBA8ndDGOu1+u4c+cONBoNXnzxRcly1BJgt9uVETcs9QGbD+vly5cxOjqKP/zDP0S5XMa1a9cQCAQQCARgsVhkk6APikpps3xI0eTzcsA/rdBoNoe6GgwGJJNJ0Wc8680DPASYkTOjDQQC0Ol0iMfjyOfzIrzmRurz+XDhwgX89E//NKLR6LFYn1qtViQBn/rUp+DxeJDJZJDP54UduHbtGorF4kDpsNlsYm1tDV6vVwAZGZTdBpkoVRjNmXQUtVN30263EQqF4Pf75foWi0U0m03Mzc2Jh95eDZD3E0wcmTxubGxgZWUFDodDtGAcy6LRaORzM4EkK0c2hoe6ClRYYqIsAoAMZFc7C1lmU8fmqJ+T5TmCCOq4arWaJM9sVGq32zI6iKJs6mbJApF947PD5JpNBrwX1MFpNBpUKhVpkmASp9VqMT4+LgBscXER169fR6lUEqDc6XRw48YN0Xv2ej3Ro/G7Xbp0ScYfccg3dW8EOrR6YDJAlpCMfDqdxvXr13el0VPnEbIydNxBFXACrHYV6mDPnUav1xNDOuoeWKZTx9Jws+Di4gJjZ5HNZhOBol6vH5ikrnaW8P+H3diHNVkncXDxnf/gBSSTSRFe0neGJYlnPdjRxMOB/5CR4ebONWi1WsUvyu/3Y3JyEi6X69isT4KhUCiEXC4Hi8UiXbp0oM7lcjIX0uv1ShmJjJKqndltkBkDtjrjqE1SRdYES2TH1H2F+jeyGE8jho0/2f7PNUKdHoEHD3Z6TZEVYslN3Tv5mqwMEESpJqpkftRElp2tqqCdDKDKUHEN8POr2iOWzIAt1owdjvxvvg5LhUyK1f2aLCgZLjJvZEEBSKmSVhs0rqUGTLXhUIXhXIespPj9fphMJmHLaJrK9aR2sfNZVr8X51budpQNgSdBKn0Fj3ucAKtdRKPR2DVdTgGmKgpUs3suJpXK5cHc6/Xg9/vh9/vxuc99Dul0Gm+//TYKhQLW1tbQ6XQQDoeFmuUGws2GnUgAhKI+iYOP5eVl6ZL54IMPxDX8Wci8dhJc32NjYzh79qwwJdTsxONxVCoVhEIhmZfG7JyGlxzQfFyC7GShUJDDWr3fjUYDKysrMm+O343aTJqM7seIc2NjQ5iJfD4PYBMcrK6uwmAwIBKJYHx8HGazGSaTCblcDqVSCWtra6hWqw985icd3W5XOhU/+ugj+Hw+KacBWybHLpcLbrdbNEgs67E7kMkuD3+OhKGomqUytZTFLjuaW3L/JKAhY0PQQ1sWfj6+Ft3J1SHNdGVXQSxZnH6/LyJtfj6eDSzrkokkgCE7RsE+mySogyLIKZfLwkBRP5fNZgVEDYdOp8OZM2cQjUZx6dIlGI1G6dqlJQUBOjv/KpWKNAKw5FooFFAul5FIJIRRZKPE49aXwWBAIBBAqVTCv/t3/+6hNizHLU6A1S5CdZylT8ejFo66mJlJ8SFQsxI+RMxQ1PfiAeR0OgcEstlsFkajUTI6dpGo3YV8+Pl7FosF/817P42RkZHnejDzQcXrP3tGdAXc7Gmb8ayX/9SgTmLY6Vv1aCMLwDl3JpNJvMOOsg5N1aSoodFo4HQ64ff7pYtM1YawLMTnVvU+IpN5EECSe4qa7FGTY7VaUalUZG8olUpiSLrdGiW7wu8wPBbmMIIlLJaIKeJWndapS1K75IY79ahHoks41xy/D4GUOsuPbJaqtVL1rSpjpXYbUsumOrKrLu3qn/M7qlowXk8m0Nz/VXaILJV6X9QuRrLEanejqpni/XvYGmMnpNvtlgHm7FgEMHBtVMNSsnLqeuPsT3ai8zrtJMiu0pvtWUlGT4DVLoJI/MyZM2Le+TDjR2ZGbGdOp9NIJpNwu92wWCwDoklmvLVaTQSNrPkTvLFVmK3J77zzDkKhkBiKejwebGxsoFqtDlDN/Nw6nQ61Wg02m+3A/Jqe90in05JVVioVceR/Hsp/aqjeTKurqyJcp5aKmybb19mF9Zf/8l+G3+/fk4D7SQQPlO1KdjqdDtPT0/B4PJienka5XB6Y/1er1XD79m1oNBpcvHgRTqcT4XBYnnvOwTss81ONRoNUKoVcLjfAhquHpLpOOTpIo9GI3QsZmsP2FiJzpdVqkcvl4HA4RL9DkFUsFuXZInuVzWZRr9elK5AJZCgUwsbGBj7++GMZ5UPHcgJevna9XpcSlkajkT2V5TMChHg8Lh5aNpsN8/PzwmyZzWb4fD50Oh0kEgm5dgSN7Nwka0Z3c54Ra2trqFQqYgpNDyiv1wutVivmnMNlNpaWabJKoMxnjBKU7UAOdZATExPw+XyoVCoDYv9MJjNQWiaI4/zCSqUizSpkQVUpxE73wJGREfj9fmHVToDVcxgUSep0Opnn9KjgBkaHW04IdzgcciBTi8LyoMpqMeMgDUz/k2azKaWnbDYr3TRqpkNae9ipeLddGyfx6GA2Sk3DYWwMaon3KIY6041lQLXEVa1Wxa+IJRd1huZxKgEy+B3okUR9jApcyNaRlVZLI0x+DvO78323++zbHWLq/6sMxZMIlvHUPWuY/eEeOcwO8fqrNgnq5x5mj1qtlkzAACD/rZouAxjQbRGg0NJC7fYjAFV1rPwefE0m5Sp4YaVB1Zmp64QNR2S0qOPjs0YdJ8fTqNorfm+eO9uZ8XJsjaobVrVivA/8/sP3hM87h0vv1lKG14RSlmcpToDVDqPf7+Odd97BtWvX8NJLL4lO5FE/ry7mYrGIa9euYWxsTNyC6WNis9nkYOYAUoqB1en1FosFly5dQjwex+3bt1GpVPCNb3wDU1NTcDqdMJvN8Hg88qCyPMUDrdfrSTvtSew/nE4nisUiSqUSMpmMCC8POvOiuFMduH2UwuVyYXZ2FkajUUqhLG13Oh18+OGHSCaTiEaj8Hq9mJychNfrFa+io+pbtdPPpba/Axh47tvt9sD4KcoI+PqH9d0ftU62A0zsFNvN6xxGEIzQT6rb7YpHF4EidVYejwc+nw8ej0ec/Ov1OlKplDCm1GCRUa1UKlhbWxNvKp1Oh9HRUWGcCRgIfLmW1Wum1+tlmgXd6tfX19Hr9QQosbOPZWDVqJVaXafTCYfDIe/PBNvpdAoLTrDWbDaRTqfFo4yWCo1GQ5gs2kCo8wJv3LiBW7duDQBsMnOhUEhK+ByNpE744Oemrku1RrDZbMhms8jn87h16xbu3LmzK6ae5ISqPX6W4gRY7SLYfcLOvt06sGcyGbhcLqnxs1au0+kGulUAyIOhsl4ApI2amwtdk/kQEuyxlMj/VjONbreLX3rnp+BwOGR23knsPF7+v01L6TabzaJYLIoY+CBBq5rhHkVAxSBwp5WIqjNiVs3rxY2Zh8hRBVU7DdWnDhi8T2pn7jBjwRLOUTLvfdprjGJ8CvLVNaJqnVR9FPezYd0VtVLAlms7dVEswaqlLjI0jUZD7hU75ChOV7VSqlYWwMDAaLJZqk4KwMD+q3bWUQyu6ppUho5gU/19/h6/F58x+n+p11QF+kwAAoGAlOGH2fDhjlX6pJEMoB8ahfz0E1PvE4BHitcpstfpdFKKfZbiBFjtIrjAg8EgxsbGROi3k6jValheXhaNlboAOX4gn8/DYrGIcy+zIXVQaTQahclkwvvvv49msylGgaurq7BarcJYqf4pwNbhZzAYZNjpSewtDAYDFhYWkEwmcfPmzQEW8KAOJ4qjDQaD6JOOahBUBYNBnDp1CtlsFuVyGbFYTDQm/X5ffHRcLheCweCxLAEOh1arxdjYGKrVKm7evDmQzDAB4/gaaklocJlKpQbYrOc9arUaFhYWUKvVxNrm3LlzkmAO2y2oI2HI6pA1Us2TOdy42+3CbrdjdHQUrVYLhUIBjUZDkiJWCwBgenoafr8fNpsNIyMjWFxcFLd3rVYryS1BWCQSQbPZxN27d9FsNkVTpTYVUTdGEEdAxISEZUdq3Phn+XwenU5HypAsufl8Pmi1WmGuUqkUAoGAOLBvp3Wib9j58+cHnkHV5oBAitfcaDSKV1an05F13W63sbq6KteMgItnmzovcDgMBgOCwSB0Oh3ee+89lMvlZ6qScgKsnmDwYaITM9klbgZq+zAddNWHjZmO+rDQQC4WiyEUCgktroo/uRExg6N/zUnsLVSwy831IAXrzLCZ8R31DYdZLIABvyoKgIfBxszMDE6dOnXs2Spg8169/PLL0Ov1ePPNN+X5JhtC7zmDwSBiaNWChRMUdtKa/jyECghqtRri8fiAvIFAheBEdTJX91QyVvSgUqsDBPr0DmQnoc1mE4sHfha+B5MHgjSWrshwUfNERtZkMsmf8fMSLPL5ILPGpEntgAQg4FDVf3W7XalOsFlJvXZ8TU5/GG48MJlMsNvt4lnFxIffma/D9yTwUzVQ7XZbPheAAYZKNaJ+1Ho2GAyIRqNoNptIJBLPzPBlxgmw2kNwAe1lI1QH0zKzaLfb8Hg8CIVCsqkUi0UZ86A+4LVaTR4sRqVSwbvvvovTp0/j9OnTsNvtQvMSqHH8QbvdRjKZlKHSJ7H7oGCz1WrJ+ApOuz+IoKC0Xq/vqsPmaYXZbJb5a5lMRrpds9ks5ufnZUCr2WxGMBjE93zP90i2etzDaDTi+7//+/HSSy/hK1/5iriiM9vP5/NYXFyUZ9bn8yEcDmNiYgKjo6NYXl7G3Nzcvj2tnqVgGYxDg6empjA7OytO9p1OZ4Bh4fPBTjuCGYqyCawocFeHZNP6gwlSJpNBIpGQxIC/ZzQa4ff7B6woOLuVZ4HBYIDL5RKGku7oqnEpAYkqkK9UKuKA3+/34XK5BmYf0uSTjFEul5NqBdklvhbfZ21tDR999NFAiU2j0cDj8SAajcJms8FsNkvnIH33WEbsdDpoNBrIZrMwmUxoNptix8ASbKvVgtlslu+ym5moZrMZ586dQy6Xw1tvvfXMzVI9AVZ7CLayWiwWOJ3OB4DOo4JdGuo8KAAD1LWaTamMFR9qCv/YiktWo16vixcIh2SqLu0UhLKjaWRkBD/xH34UwWAQv/DZ/8fhXKxnKD77C5eRTCaRz+dRLpfFCHSvIPthoc4tO8psFTdYq9UKl8sl2ThLHMVicaBbyGq1SnnzsDvidhPM8od9f9RD9GFBEMBD+2GlDx6AZFTY2cuuwRO2aivYAWexWEQPpQ4MBra0bap/FTU+BBe0u6FZMtlENg9xDfK/1dmENA7lPk09E0t8fE+32y1767CPW7/fh9lsFoabOjDuverrkLVUPaKYdHOPIVtG1s5ut8trA5tlPnYRsjOX64oMVTgcRjAYRK/Xk+HMPBN4HvHzUMfLz0ugytImjU9VRpp6rcetZ7q7P2tMFeMEWO0y+v3NKelmsxmBQAB6vV6y8p1EvV7H6uqqZEpqq7BqFEr3XP45MxYCrrGxMeTzeSwvL8sirlQquHv3LsbHx2VgNEtKKs1MLxWHwyGliJN4fHS7XaRSKaytrSGdTsvGdNCM0m4yv6cZ9LfxeDwYHR2VMgpnVK6trWF9fR3A5kbq9/sRDocHkoijEGqpZhhY8Zl7HLgCIMOMh1v9aanicrlkZhxBZzablaaYk9iMVquFdDqNSCSCiYkJuN1usbUAtsCs0+mUcUIEAPx9dsgBkHIZk8xarSad1iqwIpignxYF6/1+Hz6fDxaLBaFQaEAIH4lEAGx5SnEOIXVibrcb7XZb3Np7vU0ndZo705uQgIWd3LSFoBas3+/D7XZLGZlJSqlUQiwWg1arhdfrldE/LPExMaN7/czMDEKhEFqtFjKZDGKxGFqtFgKBgMxDJDPV6/XEDkUFXTRfLZfLA6O8aJ2gzjp8WOj1eng8nmfGaX04Tk7UXUa/30csFhOBos/nw9LS0o5/v16vIxaLIRwOo9FoDHQF8vXZMaHX66Xdl+I+lvfOnTsnbrf1eh3FYhGtVguxWAwmkwnRaFQ2dNUfi23IBHMcUXASD48f+X9+N1ZWVrC+vo5SqSTXXGURn8cwmUxwuVzQ6XQyIFbNZoe1gE9rFhgzf5aFhmO4C2r4z3cSOp0OY2NjIiJWOyMLhQK8Xq/oJpksGQwGYRJ43U4CAnoADAwLptEnhejswiXjx+eRP8+/p78cQRM9CAl02K3K60/AZbfbBUzwdQnayECxNMbKAhmqWq0mybE6XJi6OybQ3W4XFotFdLGqC7u6X5P90mo3B1ezAYLfaWRkBFarVZIa2vfwGXQ4HIhGo7Db7QMlQH4Gdc4nWUB+BrJ5PHv4nNM2gkkg3+tRLLtWq4Xdbofdbpc99FmMkxN1l9Hv9zE/P49YLIbPfe5zsNlsA+2tjwuKCiORCM6fPy8PHNE+MwNmY2QBqNsg4Dp16hTK5TJqtRrW19elNLW8vAyDwSDiYD6MqgiS5nC1Wg2lUulkQ39M+P1+XL16Fbdv30a1WkWj0ZCBp89z2O12TE9PQ6/XixaDZovDVgKcQJDNZp84O8PDk8/YdgBqO73XcGnwUaHX6zEzMyM6M37HVquFRCKBYDA4wErzIHQ4HDKP7eQ53IyRkRF4PB70+31kMhkZjxQMBmGxWOQ68mCnFQAbJVhm41xXlsoIStSZqZRmkEUCNv3pXC6XdFbrdDqsr6+LFgrAA8CKI5to4JxMJgFAhPfq8G0mZ9zvvV6vmEazOkHjz16vB4vFIkCP66ZWq4nRKe0avF4vMpkMUqkUyuXywP4UCoUwPj4uvlFkSqnrIlPFa8d1yq5AJgF2u13YsFqthkKhIO+xEz2oTqdDIBCAz+cTX7FnMTk9AVZ7CLI/dELfjZEgFxHHfDgcDjidTinXqVPLG42GeIRYLBbRFNDfBNjMRIY9QNTuQW7W/X4fJpNJyoN0EqYu5if+w4/C7/fjlz73Lw7qMh37+NTPnQcA3LhxA7VaDUajUQYKH4TQmAc9jRCPW5jNZoTDYRHsAlsgZrjVWqfT4fLlyzh79uyuXZZ3onV6VKgJxkEEM3a1RKjT6RCJRFCtVvHBBx/I/WR5iAzByMiImEWyTHiUyqJHIer1OtbW1qDT6WRkjMPhQK/XQ7VaFYaKBzlZDz6TTFZ5fakN4v5JTRGw5U6vWgzwNVRtK2dccg3xNVWgTtZsY2ND7HK4DqhTIvvEILPGhJt+bwSE3KfZ6UctFj+X0WhEKBQSFo8GqGSGWdbjM8qmCn6mQCAArVYr3eS8FmSuVF1VPp/H0tISMpkMVlZWEIvFdn1v9Xo9QqEQjEYjrl69eqBNP0cpToDVHoIULYHKTkpppKdZlqtUKkin07BYLHC5XDJnjtkKy358gLxerzyUpLeZxdDfhMGygvoPPVy8Xi+q1Sra7bZsCvyZubm5w7xsxy4KhQJyuRwKhQJ0Oh3MZjPK5TJyudyBvD4P2UqlcizZL4fDgWAwCI/HA6fTKdR+rVZDPp8f0IkZDAZcvnwZly5d2lXpWRWW7zW0Wi0sFsuef3841BZ/fi6tVovJyUlUKhUR/QJbQmw+czabDYFAQHQwz0Jn5EEHgZXD4RAWyOVyYWNjA4VCQZgfApRGoyGWCOq1V/VtLC+qo2GYYHKvpbktBe/slmNHHJMH/i7F7Px/fj4ON6Y4HcCAC/zwe7MjcG1tbWCIu2oa2u/3ZZ4fS5xks1wuF6rVKnK5HCqVCmKxmDBrbLCy2+3y/fhc6vV6BINBmden0WiQz+eFNCC4Ygk7k8ng+vXrWF1dxfLy8p7urV6vRzgcRqvVwte//vVDGwP2tOMEWO0xNBqNWPLb7XbJSh+2SAiI+Pe5XA5Xr159wIOFdgocpsw/VzcLHjRGoxHBYBAGgwEXL15EPp9HLBZDPp/HlStXcP78eZlcTqaK3iakkYez+B/9te/F5OQkfvkL//JwL+ARDf33bh6Adrtd6HKOtuBBqG6QtMTYS3DjPm5t9larFT6fDzMzM4hGoyJ0JVNaLBaxvLw80PHDLi6WTnYah8nmMEGit9TDgokOmRIKqdXPptPpMDMzg2KxKH9HljgYDArzotVqpczTarWknHrv3r1nVm+y26AmrlqtolgswuVyodvtCjjazvVc1cmpPlDAFhBmYwFBkV6vl6STAncCK5pd0rNK1an2ej3kcjn0ej04nU7RJqnaQia+TKYJUOigzjXE7r6RkRHk83kpoavO8ao3HJNqMnAEisViEblcTgZTc0/xer2Ynp6G0+mUjkZ28vKzkMUjC0grCX6OarWKeDyORCKBhYWFfXkgcoxbo9EYAMfPWpwAqz0GxZQulwsulwulUumx3T3qIioWiygWi+JXwsyfuif+rMfjEV0BAHnYaJkQDAZlSvvKygrW1tZkLITVasXs7KzoCjipnmUJPkQqUGP87J/8TdRqNfzqD/+/D+PyHdmwWCyo1+syVoP6gna7LQaPNF4FsK8xNqT0jxsVbrVaMT09jXA4jHA4LBoYHhzZbBbr6+sPAIWRkRHRi+wmDgtc8QCnTuVhwfZ1OuyzG1gNnU6HUCiE0dFRYYIJrKLR6IBtALUrrVYLNpsNExMTiMViB8aEHvcg486uW8oh6Cc1bEPCBJHXnHomMjScpafOTVXLXSxfU7u1sbGBaDQKi8Ui95ldfwQ3hUJBfn5kZET212HDTepnR0ZG5L6TieJebrVaRfdarVYFSJHx4muyhM41S++4arWKSqWCfD6PfD4/8Nz5/X6Mj4/DbrcPJNK8NurAZ3V0Dsv49GKbm5sb6PLda7BTUh0+/SzGCbDaY3DBdzodjI6OSka020Myn89jYWFBMgqXyyUZQ7/fl04YdpJQ8MhNmhuD3+9Hu92Gy+WSzpBMJoOFhQV4PB6hptXFzAHPHo9HNhudTodarbarjqhnKTgiQxVx6nQ65PN5YRJZJqCuYa+hOiUfp+Ca0Wq1KJVKMviVZQYCdmo6gE2PndnZWUxOTu5qXRGsqQfRQYXqS/SoUEtMais71whfi7YTwWAQwGYpudlsIhaLweFwIJvNwm63w+12y3xBtuc/a0NoDyJYnqPpKkt6qvUCrSsIcihQ1+l0woqQlWFpkVYH1Gux+4+jarrdLgqFgtgyqHsmQVI4HJaOOWqR+PcERARa1LGS0WU3H599Dr9eXl4W/y6WDnU6HTwej4jagS0gSUaJFgf3799HPp8HAITDYUSjUbzwwguYmJgYYPfYEc7PxNIn2TyK4YHNtX8QAnONRiPjdKrVKmq12rHb93YTJ8BqH8Gs0+l0IhQK4d69e7t+DY5tuHDhgtTxKYLk5s25WMBWBsSsZ2RkRCjpcrkMm80mrbCcT8iyg+rCTu0BFzxbjHu9nojhbTYbfuaP/wb8fj/+q8u/cKDX7qjFD//qZ3DlyhWkUlXZXHltNRoNKpUKKpWKgKqDKt8dx82FjtU0UrRarVIOVIX47Nbq9/vS7k1AttNQGYjDAFY7+SyqkFctkajdwNRxuVwuYZ554BcKBWSzWZRKJej1enHW5s93Op0TYLVNUArBUl25XBbtD9kbao/K5bKI0qPRKAwGg8gpPB7PQDJqNpvlNVVrB2BLAE/7ELUjTmW5XC7XgLyDYEoFfDQKBSB7KxuK+Pf8HM1mU6YWqHosvV4Ph8Mx0MGnzj7kecCJGgRfPp8PZ8+eRTQaRTgcFpDPJEg1pSVjBUCAIq+vakuxn72KgJddk8+6Vc0JsNpjbGxs4Otf/zp8Ph9mZ2fhdrv3tPFzlEUmk0EymZQBzOwMoVM1yxCku9XSCztH1IcN2DQspCDd4XDA5/PB7/dL1sLPS6NC1ZOFrcY8SJ71oMszha3MNovFolhe7LYlnuVa6nOOe/BwikajOH369IAbdr/fRzKZxP379xGLxeRQ02q18Pv9cLvdcDqdovXbafBwfdrsKUtLBIvDjC7vtc1mw+TkJNrtNtbX1wVslkolZDIZ8SziNbPb7QA2SzZOp3NgtuLzGrznnB4BYGDCgTrehR5RHDivei65XC4AEM1TOp2WmazqWBm1yYcNQWTzKZ0gwODrJRIJdLvdgbIemVqyPqxAcH4gO/5o/EmQSBacA7s5y4/sKNkd6stUUMJh3qlUSthPdjDabDZ0u92BET7skuR3Iajk71LDtbi4iFqthtXVVWQymV2ZYG8XOp0OZ86cEfZtPxKK4xAnwGqP0ev1sLCwgHg8jtnZWdlwdxtkP/L5PIrFIvx+P0wmk2Q2HIBJAKW2GquCSlLZajAzKJVK4kfCMoTBYBChZC6XG2g7ZjcNN63nYaPnRqgOxmY2TKp+t6Fex2chKJj1er3S2caGjW63i3K5jKWlJWEPgC2PKKvVOjDEdjfv+bRBFeNxNhHM9OlyrWp+6LnEZggAIpIGNhMfi8VyLLtDDzoITMiuAJBEUk0q1ZI8n1+W/WiFwJ+nVohsDd9DHXWjDhy2WCziL8bEldHr9VAqlQYsa1RXeH4GDm5WZ+ypyTCZKWAT3HH/4e+QOadYnUCJQIuVCep11c9Dpo1AjNdEdVDneBwAcl0IWLPZrDRBUXO6n9Dr9fD7/aILe9YbNU6A1T6DGQ69Vji8crc050cffYSVlRVcvHgRgUAAY2Njku3wgWy321hdXYVGo8Hk5CQsFouMHKDwcXx8XIYs8+FbXV0VywBmdnxdteuFOgVqDsrlshjfPeuxsLCAVCqFTCYjxoL73QCGs8vjHoFAAN/93d8Nl8uFTCYDYMv4kxqP1dXVgWum0WgQCoUQiUR2ZaR73IIHKn2FqtUqnE6nJDdsg/f5fKJLIxOn1+sxNTUFg8GAt956C6lU6ml/nacabO+v1Wqo1+sIBALSWamOAqPgXAUNBEAskbHJiPoetaSs0WiEETIajbDb7QJUAIiEglMDyIypHaIsS1KCwcpCvV4XDZfZbJY9VQU2yWRSBiyT0WJDA01HKdRnUwgAmQdYqVSQzWZx+/ZtlEolOBwOhMNhnDp1Cg6HQ3S5hUJBEpRQKASz2SylQYI0lvb5vjT/JGDbLnh+7JR5ok7x29/+ttgLPavx7J+YhxxE/cwyRkZG9pR1FgoFFAoFoWaj0ajQ4ARINICjcJE1fW4mNIIrl8sDQz05SiSbzcpoHGqIuCEBeKCOToFjo9HAT/72j6HVauHXfvQ/7PeSHcmgzoEdSNzk9vvwP0t0t9VqxdjYmIh8CQo4UimbzQ60YhNssAz4NJin/ZqL7ua1+X2pWWTphj5FBKAq2KZA+URrtRXc66gr4hgalvpob2AwGMSGQQVV1PipZbntZBpkE1WAxI5pDrdnlYAsmRqqbQOtE7TardmsBG3cR6lF5GckE8Q1wAoEKwdqqZP7MG1LmPTV63VkMhkBfX6/H5FIZEDjxa5vPrcU9jebTRSLRbF2UEXxfO3HleyGPcUe9jO8Vv1+H6lU6qmMtnqScQKsDiBI9UajUQCQTGUvsbq6ilwuh5mZGQSDQXmgKbqcnJwcMMbL5XIDrsEUahoMBqTTaSQSiYHXNpvNOHv2LBwOhzxILBUSRLC12eFwiNBddXF/FmNmZkY2u9XV1YFZZM97UG/HtnCCdTIBpVJJZuCp4XQ64XA48IlPfAIXL16E0Wh8oteTehFgU0h/kOCKJr8ApAsNgNiWOBwOXLhwAevr66IPSiQSiMViCIVCCAaDUtrpdDrw+Xyw2Wxwu91YX18f0Eo+r1EsFnH79m2MjIzA6/UKozJsOWOxWKDT6eR5JRvPRgraLRBAqbYyAOTnWZplh7Zer0c+n0e1WoXNZpNmFgAIBoPQ6/VwOp0AtjRg7AzvdDoyroZWDyzpsRGm1+vBaDRK5zdF9fV6XX6Gez/3eFYtyKytra0hm82KX1U0GoXT6RR/LjJeqhcWgSqBnkajQSAQAADphrx//76ArocFAfCjQqvVIhAIwOPxIBgMDmjbnuU4AVYHEKqz+bAL+m6D2S1n0XFhs3Zut9uFcQI2wZU6HZ20dCAQQL1el44O2kEkEgmMj4/LVHVqDLgJqS7XPEwtFou8xn/xlR+XB9LlcuEnz//c/i/gEQgaqVIHBDxbbNN+gq3qTqcTIyMjA27JFO2S6VPDYrHA4/EgEAjIxr3f7qLdBgXFhxFkE4aD4muXyyVO7ExMaCTMDi8+V0xg+GzV6/Vj52920MHmEQ4UJjhg4gdgoAzI68mgborCbFVXxX/IpPD/mZSyXEdQwj8nUKdOlUwV92T+m0ya0WgULaK6Bur1+sBsWGqy6N+ldgHyMxJQ8vdzuRxKpZKAL7/fP+C9BWBg2of6vdXvSI0aASCZNLJ2+wlKZdxut2jeToDVSTw2Wq0WvvGNb8Dv92NychJOpxP37t3bcwmJD/Kbb76JO3fu4NVXX4XX65UDn5s0a9SNRkPGI9BNnUNMyRisr68jmUwimUwin89Dr9cjl8thdnZWhoTSfRfY8hx57bXX5EAFIA99LBZDp9NBPB4/sOv4tIMbkM1mw+nTp3Hv3j1hJJ73CIVC+JEf+RG43W54vV4pA1L3MT8/j29+85sDJXCNRoOXX34ZMzMzCIVCGBkZEWaUJZ3DDorteXgcZKgGlMOvrXaXWSwWmfXJkmij0RDrBWqGOPLmzJkzcLvdePvttwcG3D6PodrJ0CrA7XYPeM3p9XpJQGu1GrrdrtwXglrO0lNLtywptlot8Y4i+8pyGc0srVYrnE4ndDqdGHgCm3s1kzAOcbZarWi326hUKgKs+N6ZTEYGdKuAnxYL/FmyXxw3w89McT6/261btwBssmdnz57FCy+8IGVLAnbOCGRJkok29Vs0rH3rrbfE95CNFvsF9gRw58+fh8vlkjmrw8z2sxgnwGqf0ev1kE6n0el0cPbsWQD713P0+32ZtTYzMyNUMLMtZi/qaAcyTqz3c9xBOBxGsVgUwWOn00E6nYbRaEQkEpGBsMwi1BE7drsdNpttoKOFoIstzz/3pz8JAPjF7/rn+/rOTzv+1X/2mwCAyb/q2nbUz/MYzGStVisCgQBsNpt0D42MjMj4pXw+P9A1RHDvdDrlQGKZhBv+k4rDBHBcI8PPuypQ5nNLLySa/7ZaLdTrdTksmVA5nU5oNBoRHz9LzQ97DVpWABAgQOZT7Y4GMGA5Q2Aw3DFN1mT4z1UDZepaueequi6+tmoOq1YGAMj4IlX3xRIh93BVO6vqwvj+alek+tkJjLh+rFarlPYoWFc/C9cgvze1ZVyHzWYTKysrYvlzUEwp1z8bB2KxGLLZ7HPBxD4WWGk0mn8F4AcBpPv9/sU//7N/AOD/DCDz5z/2s/1+/w/+/O9+BsBfBdAF8Lf7/f7XD+FzH5kgsKLD7rC7+V6DI1V++7d/GxaLBd/93d8Nj8cDh8Mh7esA5GGlVwkBUSAQgM/nQyQSkUOwXC6jXq9jeXkZ8XhcJpvTgoHCds5AJN2t0uR00OamkE6nJXN6FsJqtWJlZWVf87CelTCZTDh9+rS4pbNbq9fbHNIaj8dx7dq1B6bcz8zMYHJyEl6vFxqNBrFYDOl0GgDgdrsxNTX1NL7OgYbaqq4+7zqdDqOjo+h0Orh79y76/T5GR0flMG00Gsjn83K4uVwuOJ1OsT6Znp6W10smk3jrrbeeW+aUOkfqjWgnQPaeHoDU/pF9V/+cru0mkwlutxvAVjmaIIfmyOxmpTichqMsCZKhYsc0mStaJLTbbWSzWRiNRoyPj6PVaolGK5VKodvtCgCyWq0i+yAIpxciffO4JlimY4muUCigVCrJc3jq1CnYbDZh7riXs0OxXC4LiKQejWPPbty4gUKhIOakBwl6qGfz+XywWq343d/9XWQymWe6G5CxE8bqfwXwLwD8b0N//s/6/f6vqH+g0WjOA/jLAC4AiAD4Y41Gc7rf7z/TEFUVdqt+I/vxpOGDzFp3LpeT0oZaG2dGzkyK2RWzKLPZLA7P/Hyso2ezWdF0EESpHS0Ei4xh7xMAQpP/g2/+X/EPvvN/2PP3PSrB6/i8B8Wy4XBYSsEABGCxcyqTyciwZTI1TqcTbrd7YJAtsKV5OaxQnbAZqpcUf2ZYtzhs9rnT2C6B0mq1cLlc8Hq98Hq9Iqom+8SuKxqB0hiUuisO5PV6vQA2ny/OqXveQmWkgK09US2lkRXifqfqrehDxfIdS7T8PbKHqtcYAJl0ofoD8l6rHmQq20TvQfVnCYbUGbLqCBwCJlX7xL9XHdz53cvl8sBYLXYyMslmxzi/v3pt+J35ftVqVUxrWf48aCaZ3fImkwlGo1FGrT0P8Vhg1e/339JoNJM7fL2/CODf9fv9FoAljUYzD+A1AO/s/SMen6DB3Cc/+UkkEglcuXLlQDbEbreLq1evwuPx4Itf/KI8IHwACW542AGbHTX0YnI6nXj55Zfl/9977z2sr6/j29/+Nq5du4bv+77vk4G6er0ea2trKBaLGB8fRyAQwMzMzENLKm63G6+++uozowdxOp2IRqOoVqvP7VBcdjOFw2G8+OKLsFqtcnDZ7XZks1msra1heXkZ9+/flw3Z7XbD5/PJ0GGfzwev14vR0VGYTCYUCoUD785jEFRRxwVAPNra7TaWlpbQaDRQKBTksB4bG8OZM2cGhmrvN/R6PWZmZjA2NobLly8jlUrh29/+NlKpFBYWFuQw/uijj5BMJrG6uoqZmRkBoXRjP3PmDFqtFu7fv4+RkRHE4/HnDlypQnWCpEwmI00DPp9PRsuogIklO7/fj06ng7m5OTSbTaytrcFsNsPj8YjvYKFQwPr6uoD+6elp+Hw+EZAPD+hmyY++gplMRhgoVgva7TbW1tZQKpWwvr4uY3P4Hp1OB5VKRcA034PTHYZF9DqdDvV6HR9//DGy2Szi8Th6vZ40hjgcDtRqNXz44Yew2Wyii/V4PPB4POLPRSF/vV7HtWvXEI/Hkc/nB8bbHFRoNBr4fD6EQiH4fD6xlHheYj8aq7+l0Wj+CoAPAfydfr9fABAF8K7yM2t//mcPhEaj+esA/vo+3v9IxcbGBorFooxGabVaB3aAUJip1Wql7OhyuUTLoopz1ayMDz/pc2ZZgUBAzOFIs9vtdtFoUfORyWSkRf5hDwX1WBaLBf9y/pfR7XbxN8/87IF876cRVqsVXq/3wA7a4xj0yqE2QtWL9Ho91Go1pNNpZLPZgcOe1L/T6UQwGMT4+Dj8fj82NjZEkPs49/KdBsskqp6GBy+ZIX6PZrOJxcVFVKvVAd8ejUYDj8cjhzYFxPsJlluMRqN4Uo2NjcFms8Fut8szl0wmxUSyXq+LEJt6SrJp0WhUNJcs7TxvwXVFkAFAEkt2NQ97+lFLxCYCGoqquif+/bBjO1lP1VdKve7D3YcbGxsyX7XdbqNer0sJkKU+AjJVy0pxPhkzsmQqu8R/OAGi2WzK80gAWa/XUS6XUSwWpamC14Dv1el00Gw2xcswn8+L2P8wGHqWNgOBABqNhnRFPi+xV2D1/wLwiwD6f/7v/x7A/wnAdkhi27vW7/d/DcCvAYBGozn2tZdms4k333wTwWAQ3/M93yNDOw+inkxgVa/X8Ru/8Rtwu9344he/CLfbLY6/aguuyWQScEcjNs4o0+l0eP311/HCCy/gzTffxPr6OlZWVtButyXboRaB9fdLly5tOzJHDQ7YPO7186mpKdRqNeRyOSwsLDxxe4CjEGzdDoVCcDqdUibudDrI5XJYXFzE1772tQdofZ1OB6PRiIsXL+KNN97A6dOnYTab8Xu/93u4ffs2rFYrfD7fgYCD1dVV3Lt3D4lEApVKRZykVbdramM2NjZQKBTE+JCsxerqKm7evAmn04lwOIxXX30VMzMz+/pcZPUY9D9yOBxwuVxIpVK4e/cuut0ubt26JYDQ5XKJ3w87KDudDr7jO74DlUoF8Xgc6XQa1Wr1uVmPZG6sVutAeZWgh8ljLpcbmOcXjUah0Whk2sTY2JisXUoZ+v2+NFxEo1EBVq1WS/RTqi8VPbL4b06vsNlsaLVaePvttwFsMt71el2YKu67lFSoei2HwwGTyYR0Oi3dcpR70EOr0WggmUyiWq0ik8nAbDbj1VdfFZ+uQqGADz74QMToBKDA5rlB93TOPP3mN78p7KdaFj/o0Gq1uHTpEsLhMObm5sQf63mJPQGrfr8vMxc0Gs2vA/i9P//fNQBjyo+OAnh2evIfEczkq9Wq1JaNRuO2jr17CT4EjUYDBoNB2naZjalZ1XCWxc2bGRJpa5vNBqPRiHK5DI1GA6/Xi1qthkAgIPR3q9VCJpOBw+F4pEcXN8F+v4/frf9/sLy8jJWVFXS7XfyzH/zX+/7+TypUYPi8HGAMZrt2ux2Tk5MIBAJiB8BxHblcToSx6rVi5u9wOGR4Lg8Uv98vmet+nwU6RicSCayursqhw24olgGpnVLbylUGgr5b7DjrdrsIh8MDn31kZGRPY3jUBMRgMMDpdMp1dLlcGB8fRzQaRTAYFCdqGobS74ddv7QOmJmZgcViQTqdRqvVkmaVZzlUB3YKvbdjWAj81RmA1LIBGBgkr+qfKF7nTD2W+Aja+OfUK6kJAadsqJoquqN3Oh0BRzQaHdb6MYa7ENXZrNS58v050sfpdMrz2G63YbFYRGhvsVgE9AFbnleFQgHlcnlgjudhBTtgaUHBcusJY/WY0Gg04X6/T0vvLwFgW9hXAPz/NBrNP8WmeH0WwPv7/pTHIJgBcXhnv98X0e9+B1gOv0+lUsGbb74Jn88n+gO73S7OwfwZZmccl6PX66W8o9frMT4+jlqthlQqhdXVVSwvL8PhcOALX/iC1O/b7Ta+/OUv49y5c/j85z//2LmBLGWcPn0aMzMzuHfv3oF99ycRnBX4PJZdOLNuYmICn/nMZ+DxeOD1ekU4W61Wcfv2bZl0r4rAtVot/H4/RkdH4fF4ZCi5TqfDhQsXMDo6irfeemvfm+vKygq+9a1vYXl5Gel0GrlcDpVKBR6PR3RKZIg4VYBO061WC4lEQjJ9mjeWy2Wk02ksLS3BaDTiwoULOHv2LM6fPw+Px7Ovz2s0GsUcFdgctmy32/H5z38esVgM77//Pj788EPxL/J6vaKLYReazWbD5z73OVSrVSwuLkq34LOuuaLIP5FIDPhJEYBQmxQKhWA0GsXNnKUydgeyI1UFVY1GA+l0WhJNgnIOC6cmiOCKiQT3P7fbLf9N30B27RmNRpw5c0aAFEETKwhMOFRjZmDL6oZaK+oFeaaEQiHx8uLfc82TZY9Go+LbpdVqsbKyglu3biGXyz2xPc3tdsPlcok9y61btxCLxZ6r/XQndgv/FsB3AfBpNJo1AD8P4Ls0Gs2L2CzzLQP4CQDo9/sfazSa/wDgNoANAP/5s94ROByq+RqHMpfL5QPNLvmQVioVrKyswO12D/hbDf+syWSSRQ5sdaa43W6Ew2FpM2b2xexNNbDL5XLSRcghoQ8LtcvF7Xbjf/joH6BcLuPvf/qfHtg1OKz4rb/1JgAg/J+EEQqFZFzLsx7sHh0dHRXAzjILR9gUi0WkUqkH2BJq7MiEqqUIzjADNrVG1D/tNmq1GkqlElZWVpBKpcRUkWuZ4I5JA1laiuXJQlitVnkOqMOhXsvhcMBisaBYLGJpaQnRaBRWq/Whs+Z2GuqzwudibGwMn/vc5wQ81Go1rK6uylgs2qqwI5BgIRwOw2g0YmpqSrq6nlXmiuzNsJ5O9QYjuOF4GDKQBDNk+XU6nQysJwNEZofME/WiZDfVsTBGoxFGo1EsDVgqpEM6uwv5mTidgH9OnRMrBypjBmz5c21sbCCfz6PZbMpzxhE7LPPxNc1ms0zUMJlM8v14NtDMuVKpDHQm7iV43Xbyc1arVawv2DD1PIEqYGddgf/7bf74f3nEz/8jAP9oPx/qOAczCQCYmJiAXq9HKpU6cGDF9u0/+qM/QjAYxOc//3nYbDaZFcjyYLvdFgd21dBQr9djdHRUROvZbFbEvupBxPdLJBL4/d//fVy4cAGvvfbajoT5Go0G4XAYwWAQN2/ePLDv/yTi/PnzAIAPP/wQKysrT/nTHG6QbfJ6vTh37pxo7MjkEKSsr6/j3r17D2glHA4HwuGwlCp42PH3LBYLLBYLTp8+LeNBdhvLy8v4zd/8TRSLRZRKJbhcLrjdbhm7wQMyEAjAYDBIGTocDgPYnIGm0WgQDAbRbreFDWCZKR6P44UXXkA4HEY+nxdgxdFNB93RNDs7i5mZGbFkePvtt3H79m1oNBpMTEzgjTfegMfjQSqVwsbGhnjYRaNRYcZjsRh+//d//5ktsRDUsMzLA5q6NZb8OEqGUoW1tTW02204HA6pJNhsNpmhR18nXnuWXTmGxmAwSNdes9lEt9tFJBKByWQS5oo2I3w+uOfyPTgYWR0lw89JppFlQwKyRqOBer2OK1euIJ1OS2Lw2muvwWg0SlmYg5v9fj90Oh2KxeKAdUg+n8e1a9fw8ccfH4iOSjU03QlAikQimJiYAIDnkvkHTpzXDzxarRbu3r0r5TlSxoeF2pmx3L9/X0aHmM1mmEwmMa6r1+toNBqiRVGpYhq4MSsfGRkRATB9Uqg3oIaMc6520kHF9wkGg/jnt38R1WoVP/PaLx/4dTjoYEcLPWKe1aDg/NSpUwgGgyJW52HArjquHR4Gw8GurJGRERnZomoNeSB0Oh0UCgXpOnwce8X3TiQSKBQK0mXFDirOzzQajXKwqP5CXKPU/9GVmma+PFRdLpckGNSuLC8vy6xMsm4HFby+Z8+exQ/+4A9idHQUiURCtIosG1GjSTaZjIfP50O328WZM2ekK4z+dM9K8BpRr6O6nhMs0NhT1UaRYVYlGQaDAe12WxgU1cuKI8EIcvjaNETmexDgUXfaaDRQq9UGJBjqsGOVLaNHILBZAWg2mzCZTFK6NBgMKBaLaLVakgRz7ZGxYjWBn0/tINXpdDJjkkL1gzpvVPbvcfeLc0UtFgvW1tbk7Hne4gRYHXBUq1V89atfRSgUwpe+9CUAm2UW+ogcRlQqFbz77ruIRqOw2+3iX2IymWCxWBCPx0VAuL6+PlAyHBkZQSQSgc/nEz3B/Py8lH/MZjP8fr8ArFQqhVQqJQaQOwmNRoNIJIJQKHRsXKTHxsbQ6/WeKVf57cJoNMJut+Py5csIh8Ow2+0D7IzL5UK5XEYsFpPOnuENm8wUNXxs+87lcgMdUfl8Hr1eD5VKBU6nExcuXHis/UKxWMTVq1fx0UcfIZPJiOEgwQ/1HMCDwmQAAhKZ3DSbTdEe8jlgu32n08HS0pKUcz7++GOsra0hEonA4XAc1CUfiDNnzuDMmTP43u/9XhSLRXzlK1/B0tKSGIjW6/UBQTbZwvHxcekgzOfzmJubE1+sZyXIwrBTmXMD6cBOZjSXy6FarUqpbGNjA1arVZhX6pjYsMD5qqoZcLPZRLlcFjBDFokSirm5OWSzWZhMJmxsbGBlZUXWElkz3iO+tjoz0GKxCFBkcmqz2WC1WsUkdmFhAZVKBcFgEJFIRPzfGOrgbjaLsBzOTvCVlRUsLS2J/cNBxU5AGhNzj8cDt9uNP/qjP3rm2f6HxQmwOqTQ6XTweDwwGAyYnp5GLpc79E2P4uKxsTHpRuKhRvaK9gzqwGYejNwgfD4fms0mKpWKtIKTjaAAmJsDuwV3EtwMfqP4v+DevXsoFotYWFiAXq/H6dOnRSfwty/8/cO8TDuKf/m/+/f4T/+n70E4HEY0GpXW52clXC4XzGYzJiYmEAgEEAgERDDNDJzjmorFItLpNJrNJsbGxqQFnuwBy710aSdrwFZ1HmwEX9TH7CQI1txuN/x+v2TOLL1wXVIkTMaGpqatVkuyfxozqiUNsrZer3eAwer1egiFQggEAgfmvbVdEAxyosJ3fdd34eLFi7h79y4qlYqwEuz6YumTzCHZDfrTeTyeB4b9Htdg2SyTyWBtbU0SxUajIUkdwZY6n5Flt0wmI3omtSzHUTcqyKb/GplMrlcCWbWErdVqZRg515M6mFmn08FisUhnIvddgkKVbWu322Icu7a2hnK5LPM1VW+rbreLcrks36XVag34WjUaDTljyKY96aBXm+bPHe2fxxIg4wRYHVKMjIwgGAzC5XLh8uXLWF5eRiwWO1ShaalUwpUrVySzp4Cen4d6EWCzZMkSB2lqPvjscFlYWIDRaITf7xfDw2aziVu3bolg+aWXXtoVsGKJkiM7eBCyxHOUDgKPx4NIJIKLFy/i+vXrzwyw0mg0CAQCiEQiePnll+H3+xGNRsXGg+7fdJAuFAqYm5uDxWLBCy+8IKwoDz6PxwO/3w+73S6DYNmlxNFJnU5HzEa5lnbyLNAXKhwOo1qtylgPsg3UVvGzkBF1Op3iZq3X66UrkD5QqjWJ2WwWU1ibzYZyuYxarYbp6WmMjo4+EbNYjpV68cUXsbGxgWw2K75FLA3Sr46HvsFggMvlEpf7ZrOJU6dO4d69e3j33XelRHZcgwJyztljSVC1EyBIIlNE8LOxsSHsIzs7CXo4p48+V+wENJvNAtzpC6Vq8Vg6pHFru93G4uIiWq2WACZ+TtVig+xZvV5HrVaT8h3Li0tLS0gkEjKr9cKFC9Kxqo4YSyaTACDJcTqdFhCXy+Xw7rvvolQqIZ/PP5X75XQ6EQqFJKE5zmtvv3ECrA4pyuUy3n//fdF+7NfReTdRKpVw8+ZN6ZziJkHNAMFNtVoVd+But4tSqYRutyuWDBwJsbS0BJfLJa7SFIUajUasrq6i2WxidHRUwNLjgp4sIyMjcDqdqFQquH//PiwWC0KhEH76638dvV4Pv/L9//MhX6lHh81mg8vlkiGiIyMjAxnncQpm8tQ/zM7Oir8UhwDz8KbWqFKpoFQqQaPR4I033kAkEsGnP/1pAFs6Ebo305KBpWIeSKrepFAowGKx4NVXX4XP59tRA4TJZMLo6ChqtZq8Jzuxer0eUqlNSz12+1mt1gFHa7ptk71h+Uh1rubUBGpmCKxeeukl+P3+x1qMHHRotVq89tprmJmZkWHsH3/8sfgjqWUwMjFkTEwmE8bGxmAymUTwPT8/j3Q6fWxnDlJH53Q6Zb0SDJHN45xFds2pRpvs8iMAo88SmxLUtdxoNGS2Iwc5c2am0WgU/SnZIiYTXEsc6EwmC4C4prNEzbXL96UOKRAIwGw2CyijZomzZ9UOOyYJzWYTuVwOmUxGPtPTCr/fj8nJSTHtPS6yj8OIE2B1SFEul/Enf/IniEQi+OQnP/nEgRWnn3Oz4T80BTUYDDJ8k6LO+fl59Ho9+bwejwelUglXr16VThyXyyVCyk6ng48//hhvvfUWvvSlL+0KWDkcDhk222g0sLS0JH4s3PR+7k9/EtFoFP+X2f/6kK/Y9vHff3Gz+fXC347C6XQil8sNdPUcp+AmTX8yzoEMhUKwWq1iYcAyCrvvUqkUAoEAXnrpJbz88sv49Kc/LT5Q1KXkcjmsra0hmUxifX0dV69excrKijAL7K5bW1uD0+kUr6ad2C5QU5VMJiXDJ8vJbtVSqYTZ2Vk5cI1Go5QgKS5WO7cIvJjw0DyRjAc9u0wmEzwez1MBVtPT05iYmEAymUQmk8E777yDRqOBqakpmXNHGxRVd2SxWGCz2TA9PS1g2mq14oMPPhgYFn+cgqyly+WS2XM0xSRY7na7IgIn++3z+aDVagXIUO5AvSivG2f+ERCQFez3+5iYmBCTW5vNJs0NyWRSwJyqxTKZTOK9Rf0eu2u5/nhf2u22jHtpNpuitWJJkgOTybixBJzP59HpdOR5u3v37pFI9iKRCKLRKK5du4bFxcUTxuokDj5YE/f5fPD7/ej1ejh79izy+bxk2YcdqVQK77//vggsKcycmZlBIBAQ5oqHKVkG/j+zolqthmaziZs3byIajQrTRLBosViwvLwspqMsNz4uuGl0Oh3RMpD94Ib4tGhtNex2u4igj1two/b7/XC73SJ6JgtHUA1smVlarVaxKVBbu51Op+h5Op0O8vk8FhYWEIvFEIvFkMvlkM/nhfXk0NelpSXRB9GCw+/378rPKhKJ4Id+6Ifw/vvv49atW6KFUYXKDodDOgOHGSrVCZsgk6UeJiAsK7LMGQqFpBT3NEKr1Yox5o/92I+hXq+LeW0ymUS32xWtW6fTgcVike5GHsoajQbRaBQ6nU5E3ixdFYtFsZ4gkDgKB/Rw1Ot1xGIxJJNJxGIxEW0DW9Yx6iBhi8UieisyQ61WC/l8XuamNptN6TJlB2a73cbZs2cxNjYmyac6pUKv18t+FQqFUK1WcfPmTZnTB0AYWn6mer0OnU6HiYkJYazI5pRKJVSrVXi9Xvh8PkQiEdEo8bU4WJxas1KphFu3bklZkb5aTzO8Xq/Yn7Ap5LBmEB6XOAFWhxQccUMNSr/fx+nTp7GwsPDEgBUd1xn0s+IsLW5QFCqzJMQNib4q7ARju30wGIRGoxEAZTKZsLq6irW1NXzxi1/cFbCy2+0yy42HPDendruNYrGI//L3/o9oNBr4n/7Tf3cIV+nxwc11L8aWTzscDgfGxsYwPT0Nv9+PsbEx8e+hBQJF5QRWbrcbZ8+efajAnAd5qVTC/Py8dCKxNEH2gNl4oVCQ7JUz89R5ejv9HufOnUOxWJSyMecXEujbbDY5UFWATuZgZGRE3rff7wszxYNT1fBwnuCTZJqHgyNKCJio6cnn81heXpbSLoXCbHXndVcd8a1WqwxfZ4fy6uqqlI84A2+nXkVPMsjS5PN5pNNphEKhgU5Q3mMe5CwRAluGzfQqo4UINVY0IOVrTU1N4dy5c+K+vl1Qg1ipVHDz5k2xu1BnUUYiEdH8eb1eRKNR1Ot1GbzNsnOxWEQ0GpXB5RaLRbyyaLVBMJzL5ZBKpXDr1q0jxTx6PB6cOnVKkhPg+RsHNhwnwOqQI5PJ4M/+7M8Gyg9PK9huXCwWUS6XpRzHg4g6FQIIdqdMT08D2DzczGazlB9YSiEFPzIygmvXrmFtbQ2nTp2Sg+lhpRSKREnpqwJkAjxmP4c93+pRYTKZ4PP5EAgExAX6qAW72+x2O3w+H9xuN3w+n7Q+ezweuFwueDweGRxLsG80GhGNRuVePsxpnPchl8vh1q1bmJubE8NQZuM8ZKhVOSj/NgKmmZkZ/KW/9Jdw48YNxGIxeaY4mobriMaEfO6ATV1YIpEY0KsMz4vrdrs4f/48pqamdpwgDAcBCj8LS1NqJ+Negqa+wWAQY2Njcl0KhQKuX78urA272Wiiyc/j8/nk55vNJlwulxyA7KKjazcZh42NDdFhcs7ck27iYCmPjCj3B+5VVqsVZrNZ9pJcLgdgk4FttVpYXV0VcMZ7TaA5Pj6O8fFxeS/a1DzuHtGSg/o1dWagVquV9ceGg1gsJjrGTqcjuq1gMCglc1YH1OeFCWa1WsXVq1eFXTyMYLINYMdaLYJ7j8eDfD6PbDZ7oCPcjmucAKtDjmq1ig8//BB+vx+zs7MCZJ4GomcWRHGuw+EQtgqACGMJrFj+IsPldrulhKDX61EoFMTkkb9z7949XL9+XbQx6riR7YJ0N4OHUbVaHfiZjY0N/IV/9DK+8feuHtbleWgYjUYZ08DOnKMSLPfo9Xrp+iQ7FYlEpAXabrcPjJ0BNq+r1+uF3W4XYPWoIEgoFouYm5vDysoKYrGY/D3BSq1WO3DhKteQ1+uFwWBALBbD4uKiAHd1tAjBALCZDHB9MalQARXtFdS5h36/X0qhuw2W0wg0WfphVy6wBRL3cg1sNhsAiEcTAPEOq1Qq0tXJ78fSLQARWjMpYkJEgLW8vIxGoyHAit+BGjSWFwnKH/b9Dzq47qh/IqPDdc8O0VKpJIPCOQao2WwKqGk0GgKsOHNvdHRUEsfdBIFUJpNBMpmEw+EYsP5Qx+qwDMl1B0DMc/nZ+38+37XdbosfFoEjGTcabh5W8NrQaHUnhqDU9VmtViQSCWSz2Weme3o/cQKsDjkojHS73ZiYmIDJZEKr1UIqlUIikXj8CxxC3Lp1C6urq/j0pz+NYDAoDzI7/wiomCmxRZhdNKOjo6K/4jwt+sCwxf3KlSv46KOPxHvm85//vAylZlDEzgeamyI3ErV0Q93ON/DkgVUgEMD09LS4CVNP8TRjZGQEoVAIHo8H58+fF9bRZrMJWHK73XKIsAOJLeAzMzNC3XMTf1hQK1Kv15FKpTA3N4eFhQXRvHi9XvlnZGREvHRYwiDD53K5cPr06X2xtmQTLl68CL1ej/X1dZRKJWECuEYJlnjgUcTOw4/XpFqtCri/fPnyruxDtgseNvF4HP/4H/9j0e5EIhGcP38es7OzmJychNvtFpC03zCbzXjhhRdEjF0sFpFIJIRBYKmMuh4ehGSlaGfA5haHwyE+T71eD8FgUECB6gjP51QtO9I2gDon6rj2yrKoBzxNjj0ejzBW/MxarRZzc3Mol8vSyRoOh2UgNwX9FMDT8mMvjvobGxt49913xc4hEokgEAiI95Q6x9BgMMj0AKPRCJfLJSU+yiuY7BAQM/nm9b116xbS6fShs/aUf+xUa+f1ehEIBDA1NYVQKIS7d+9uO/LqeYwTYHXIwbJEt9uF0+lEp9PBxMQEms3mUwNW+XwehUIBMzMzA+MiWLrj4FpqVEwmk1DunAbPrjHS3t1uV8xGNRoNEokEisUier0eRkZG8Prrrw8cJNww2UnDn2PGRp0OB0z3+31YLBb83J/+pLT0U1vC9uRAIIBf/sK/PLDr9D/e/UfI5XIoFovweDzY2Nh4opobldUgM8X/NpvNCAQCGB0dxenTpwFA9B00/6T1gE6nE10Hy7der3dHBzvZFwpuE4kE1tfXUSwWkcvl5PDlAWa32wecsev1OprNppSiaMS512ApzePxYHJyUhgMamUIJFnaI3CksSZZDraz047BYDAgGAwiFArt+bMx2G7/5S9/WUx2Z2dnhSmmSF51495PqO72wJbZKK8/wS1LgLQQoKUAEyTq1iwWi1gT8PXVTjb+Hjs0eQ3JrrAZgKCCh7R6YD/s4FavBV9T9ZaidQH3JGo9tVqtgGwy6jTm9Hq9CIVCOHXqlFg27PWakz2/efMmlpeX5Xp5vV4ZfQNsDbqnqXKn0xFBPIOMINcfARX3mFqthlarhVgsJlMLDjt2I3OwWq0y7UPVrZ3ECbB6YlEsFnH79m3ZwDOZzJ5eh5vdfh+yfr+PK1eu4M6dOyJofvHFF2UsBAChzunk7na75cDkDDj6/uTzeTn0dDqdeCTxQf3444+xsrIiNHEgEIBWq5XSjMpqMIuk4JjanmQyKQLpTqcjD3S1WpUD7CCDh3W1WkU2m0UymRRDSR4ghxUajQZ+v1/KBUajEVNTU7BYLDIbz+l0iiWA0WiUERk8aPR6PYLBILxerzA4vD87AYgcWJtKpfAbv/EbyOVyiMfjctCNjo5icnJSDhFeq2q1Co1mc5iwTqfD2toaWq0WpqamEA6HD6QJgCJ7u92OVCqF//gf/6OUafV6vfgI0cvNZrOh0+kgm82KbQjb6F9++WW89tprB8YgAUA4HMav/Mqv4O7du/jqV7+KTqeDb37zm5ifn8d7772Hz3zmM3jjjTcwPj7+AJO73zCZTIhEIjKmp1arSUchuwpVHR11cHQi5x5AdpDAikkWE0SWXtlB3Gq1MDo6KkCezHy1WpWfI7gjS6YG7wtBIQ16qX0Lh8PCimo0m8OGyQaRLSKDxPl8fr8fX/rSlyQp3GsZFtgEQnfu3EEymUSj0ZDBzrxGvD7Uo3HfYFnVYrHIAGitViv7R6fTGShnk+V85513kE6nxQrlqDUVBINBzM7OIpfLYX5+Huvr60/7Ix2ZOAFWTygajQbS6TQ8Hg9CoZBQ5aq+YydxkC3/hUJBsjsKj81ms2TSZKzoYUXzOx6M3DBo01CpVKSjijQ7Ke9EIoFerydltJmZGXEX5kHNej2zQNLpfJ9qtSrCVGbQdN1ut9uo1+v4z/7VD8jfUX/Dg0EdY8LxOeyCUktEqqkqDxB6zQCbBzdp+YcxDuo9Hb6//B2VgRp+LZ1OJ12cLN9Fo1FYrVY5XNgCzntDh3wOjqUubi8HNzNzAqvbt28jm80iFovB6XTKHDO1vZ/6HA4KZqmRYNjpdMLlcgkDuZ+1TNBNawTVwJWfnfqWfr8v2iK1KYKO69FoFMFgcM+fZbswmUx49dVXYbVaMT8/j0wmg5WVFSnRcRacx+OR8TsHwV4BW6wen0OWiVUgRD8nAg1Vl0VHe/4uP9uwAJ96HGoi6R1ltVqRzWZFiM3SIoFPtVodMJAFtoTT3Bc58SEYDEqpls0YXG/UMrVaLTEBZWmQz4fH44HX690308z3W19fx8LCgjD0w9eI/ybYJIOjzhBURzpxXyJ7pYKrlZUV5HK5I2dKrNr3OBwOrK+vY3Fx8aQEqMQJsHpCUSwW8e677+LChQsYHx9HOBzGiy++iLW1tV3ZLxx0RwhNFjl+JBgM4ru+67vgdDphNpsH/HAajYaUMLipMPNnlsbuNM4y44bCzaZcLqPZbCKZTA7Q3q1WC2azGaOjo3A6nYhEIgMmjzyQcrmciLHpA2M0GgWAqACQIlYCRX4XZrxqyYRz5riJE0xVKhU5IFSLCupKgsGgmPkxyyfIoE5luJOKvlL0FSM48vl80t0EbA7aNZvNAwOFeeg4HA6cPn1azCL5bxX4AthTB9rGxgby+TxKpRLefvttxGIxETRz9At/jlo4tfPO4XBIidloNOKll16C2WzGK6+8IqW2TqcjgHevodFoxEPn7/7dv4t6vY4PPvhARLQExwTuer0e4XAYs7Oz+It/8S/CaDQOeCIdZBiNRkxOTiIajeKNN94Q9nNhYUG85a5evYpsNotgMIizZ8/C7XbLejiIUP2Q6HNFVoiMs0ajkWvFZ9VisQDYGl6s2hEwWGrm+mZCRbG7Xq8X37ONjQ25xpOTk9jY2MClS5fQbDaxtrYGjUYjsxwLhYLsKxaLRUajEHj0+31h0qhr4iisubk5tNttzM7OIhwO4zu+4zukJLmf6PV6WF5eFl0s/dEI1JkU0hKB19BoNCIUCskew6R12GeMzRZra2solUpYXl5GqVRCoVA4cqAK2GycCIVComErFAqIxWJPtXP7qMUJsHpCsbGxIfV/ChRHR0dRLBaRyWSeKs3LTDaRSKDRaKBYLEKj0UhphGBuuHtQnQ7PUgLF7NR1MCvmzzDzY6mGM+MajYaIakmT8zXps8P/JuDjpsNsmtkzQRBHePBzcwPk77ANnmZ+9GDiIUhARGBDFkYVeBIM0VjVbrcLu8bfb7VaAz471Hmoc/N4UDgcDmHG6GtDnQrLNyz3sTWcTs1Wq/VA1gNHwRSLRaRSKRnHQc8z/kPxMA8I1TNK1e6xG42lSwIemtPyWvK+7KZUSH0RAW0mkxHmg0Jr1XFcp9NhcnISfr9fPv9hBAE8gb4K7qhVo9t3qVSCz+cTNoOfc7/s1bAImU0qvDdkW1i+YomKzvVcd0wauIb5XKtsCz879wBq2/isEkRTT2kwGOT5JLAiSKNvF1+f78F/8/paLJYBkM/nKBwOY3R0FD6fb99MFb31MpkMYrGYCPcZ3INoOEtfNGrA+G/KJ7hXkB3UaDQD3aMs/XH/OGqgigkpASM1dk9zlM5RDM1RuHEajebpf4gnFC6XC6Ojo7h8+TJefPFFvP/++/jGN75xJBYnD0an0wm3243Pf/7zcmARLFmtVillut1umbFFHQeFmmSpeJjywCArRAaJ3jn87nxwaWKpDlflezAIelRdF0dKsBREXUe/35fDhEJTAANjKEqlkmSVZJPIsFH3oDoLAxCnZPrLECyogGO4+4zfKZlMYmVlBS6XCzabDadOnYLf70c6nUaz2UQkEhEGgxorp9OJmZkZKccMlyEOIlqtFm7cuIFsNouPPvoI5XIZ8XgcIyMj0s3GzqxmsynMIa0OOFaGoHNpaQm1Wk3GrXzHd3wHQqEQzp8/D71eL+weS9Fk3nYbLP2ph3E6nYZGo5HxJrw3PJAPsrTOz8B1R7aFJTB2fvX7fSmf3Lt3D+vr6wiHw/B4PJidnYXL5cLU1NSeOtbUWF9fx71797C4uCgjWHio9/t9GcNChiqTycgaZmmQ5wN9nwhWubbL5TLK5TJsNpuU7/l8UI/IZpZ2uz3AUANbAJKsU6PREGuTYrEo948ghYCeQIXjbtisYLfb8QM/8AOiQ9zP/e33+/jjP/5jfOtb3xJmPpVKodVqSdJZqVQkoeLwbDJWTNDUDlXqHdW9guL0b3/729L9N2xDcxSCyduLL76IT3ziE/j4449x5coVVCqV59Vi4Uq/3//Edn9xwlg94Wg2m8hkMkLNc6gxu22eZvBhzmazaDabyGazA63AZBqazeaA8SAzNgowyQ4QPJEpIlACMABAuLny9cmOsERG1osgiKyYylqR3QIgwIolOmbefC9mnARlZJY4coWO3qqOg5k8DyOyK2SJhjVc/H68JuqhqjI2PCTUobo8lHioUZTOsS0HWS4aDn5nip15r2geS+0cD2Nm3tSpkRVRmUxV30MfrGFLA5ZV9vO9yIgMfxeNZtPE8Ek657OczHtNQM1GBLfbjWAwiFgsJlMa+v0+XC4Xer2eiM/5bOzls3Pt8xow+PyQZeVrq1or1YFd1QASnKrsMNf1sF5U/XmG2hVIRkuVCvAe0vmciYzKSvP5oAEs9yK6+rPrcS/BfYWvv76+jkQiMZAcqt+L343fS3X+5zXmdeH6589yH6pUKsjlctJYcFSDZWRe41arhXQ6/bQ/1pGME2D1hKPVaiGbzWJtbQ3r6+uwWCz45Cc/iffee+9ITQOv1Wr4gz/4A3g8Hnz2s5+FzWaD2+0WI7tGo4FyuSwbCw8BZo7cbM1mM2w2G4LBIEZGRnDv3j3xxgI2J6Iz02M2zPZl6rn4WjQ0JXhLJpMolUpiL0DGhJsqSx30wiJYs9ls4tlC/Qnn4TkcDrjdbhk5wU4qAkwybgRrHHI9nOXzoKFOhUCP+rNyuQyj0Sj+WEajcUDUy2tqt9vxiU98Ak6nUwYCH1b5igwiO1jZRk9n60ajIfPK6MLNa64eNuz84uBZi8UCp9MpDAbn36kicnawHWRnJ73XADwxUMXDlk7hPEQJVCmkJkjmzDqugXQ6LTPt7Ha7eC6xRL6T4Hs2m03E43Ex+FSvL8vtNHTlswtsmhqr1hRkmfL5/EAipfpIcR+g/QYF5GR2KUJXjVz1er34jFGjpHYAj4yMYHx8XJIbvh+7gglSaIMyNjYmzOReo1AoIB6PI5VKCXt06dIlOJ1OsRRhaZTTKth5ySYJtRMzn89LCZ0SAe5DbOp4//33pXP2KEcoFMLnPvc5MV5VS6InMRgnwOoJh1qeSiaT0lbs8/mkBLTbw4UHlJplHsTn5MHKWW/USQx3dPH9qVUiWGFphl2HPDxVFouvyd9lmYyvx64/dpqpZQOV0SKwUbPs4VIZ28jZ9cf3VD1n1A7C4XEsapauBj8rgZXalcaDRS1rqt+PWhx2P9KvSzVrtNlswpQdBqjifaJonWNDms2mlFNU5oHAUmUMeR34D7DVxj/89yzpqNePjCXLi2rn1H5iN9eLwEMFD1zvw6+plnu3C/Va8SBWmTz+PllA1StKq9VKcwTZ12GWRGV8GWoZkgCFn5fPkfrsDt8nvq7KyPJ31fva7/dF26buPdtdQ/WaUcjOsuiwPo8Cb9qvsEzJTk4CMO4haocjP/de1wwbVdbW1rC8vIx0Oo1yuSxlbV7n4dK7eq14LcnqE3gwseL+0el0oNPpRHNbKpWOdCmNHaR2u11sSzKZDMrl8tP+aEc2ToDVU4r79+9jZWUFP/RDP4TPfvaz6Pf7cLvduHHjxq7Hpuj1erjdbimzHGRUq1X80R/9kZjB+f1+0X8wC+XBQZDQbrfFY2Z1dRW9Xk/0SxztwEyVG6uqvdBoNALISPMDGPB4UUWvpN5pr0DKXu3YYWs+fxbYsl1Q/bfInlFIC2yK9QmayMy53W4RkpNZ63Q6iMViohVR7SMo0ufnIRBTDx+fzweTyYRAIACbzYZoNAqbzSYi3MNiXbrdLu7evYtUKoWPPvoI1WpVNk2WOgl6vV6vsAUsmfBaUrROiw4e5DwoqYtxOp2iTWOwZb9UKiGZTCIUCmF8fPzANVCPimw2i48//li0gpFIBE6nU5IdXoPR0VEBvQ8rXZJxqtfryGQyYp3B7ji21ne73YFByuPj49I5Vq/XsbKygn6/L/eDIHtyclI684CtuZsUQdPYlvYHnKGntsTz/tA8lSU0r9eLfr8vpUKCK5bhacTK7lgaz6rzFvmMMkkgk8V1QkE/1xE7aoPBoPihcb1QXA8MjnBi6YwJB5tB9rJmvvWtb+Ef/sN/KABwamoKPp8PvV5PWHOtdst3j3sNr4/JZEK1WkU6nRbmnaWzVquFYrEoiRuv2cLCAjKZzIH77x10WCwWjI2NYXR0FCMjI5ifn8c3vvGNky7AR8QJsHpKwY2aIxh0Op0YPW6XJT8quKketBUDX5sPEE1Ao9HoQEmBmx2zOJVtonhTHUTLzjHVJZubK0XQ6XRaymwEFOye4YGgeuowayYDRdAEQLQY/D5qSYTMEP9OfW3VyG9YK8LvqR5ozFDV7FplNVTNhcpQEKCoXWEqAFPZgv0Gvx/BAq8HrSx42KsaMV6nYeaKbIE6A42lVlXfo449Ins5fJhwndGXiOM/+PnUdcC1oDp88/PuJsh6kGFYX1/H0tKSMCEazaaTttq9RtDIMtDDWCs2YfR6PTlQmSTwNckKqqyP+nkIRslyAJAZiLlcTgDHcAm6XC7LvVQZUXazDq8Fapdo56F28fLeEzwQCKlaSert+FrDuig+73xW1PWsPkPqc8Y/J5Oq/h6/D/cHvh9L9sPM3HbBsjaB4NWrVwfGM/G9uEY4nHyYuSO7zfXIz8Nk0eVyyVByln3530wSj2pQb8pZonq9HqlUCslk8khrwY5CnACrpxx37txBr9dDNBpFNBqFy+XC+vq6lIV2EhxXcZhB3UO32xVzyEajIQBKZV+0Wi2cTqfoQqhH2tjYgM/nkxZ0tTuLdhS1Wg3JZBLf+ta34Ha7cf78eXE45nvwoKL2hxteJpNBs9mE3W6X6fHUMqhdWtSyUd8zNjaGer0uI3jobUQWShXTswTGw4d6FP673+8PHDbA5gFOzQU7qOj1ZDQaxU6CICaTySCXyyEQCEhmf1DBg/vq1au4f/++GHryQKMfkaqx4cFIE1lVmN7v95FMJpHJZEQnRNPLeDwurMLGxoa8Njun1EHHZDWp34rFYrh58yay2SwSiYSYixKksSX9r/yVv4KZmZkBNminQTB17949ycDZ8WU2m8VlnuuL/k/lclk0b2pJVw2DwSCfiWuKa7FUKiGVSmF9fV0ABctN1PUQgNOjLBKJSBdeOp3GjRs3BJDTIsXr9WJ6ehq1Wg3VanJdm44AAG8NSURBVBV2u126ctmtx45LNXlj5x61TJwwwJ8jWLDb7bL++TyxPETfM9VgGICAHj4PdCJnkAUrlUoC7nhNqHPkc0WjXI5j8nq9wtJ3Oh18/PHHWFtbw8WLFwesQLaLe/fu4W/8jb+BXC6HXC4nwHdmZgZnzpwZSPiazSZCoZBoybhOmIgxQaaJKUGozWZDKBTC2toa+v0+bt++jWvXrm0r9D+KYTQaZU7qK6+8goWFBfz7f//vT7RVO4gTYPWUo1qtYn19HT6fDxqNBh6PB8FgUOaw7TSexEPKbJszDk0mk4i91QyPGoyRkZEBGwWKN1lyU9kQsifcmLkRJ5NJ8fghA6TqelS7BWaJ1G+QDaCXEX+Pn1Wn23S+56BY1YxQ3fhU9mr4UBq+7mpnFQ8lZtkEKjyoeTgx22XGztctFovQarUCDNX5aDsNZvv8R/XnIkvUarWkJGqxWISl43dn5qp2g6mdmWrru0ajEcaFv88gCOH35+uoHmKqjo3vQS0cTUrJMmg0GmQyGWlqULVHO4lud3NqAE1O+fkcDgccDofYeXBNEaA0m03odDoB4g6HY1stF+8/S3EEH5lMRsDzMONL3zP+Pq0oKpXKgIaR109dfzSaVI09+f808eX15M8TQJOdU+0Y+HPUCPHveX8Iflj6VgE61z3vF9fDMJvEdcb1o3b6qUwWGU6uOb6GuiewoWJxcVFG4/BngC1GutvdHE3DMTz0xqOPnFqm5jUjeGPzCu8P9yW1XMhERKvVolQqIZ/PI5lMiov6UQ913U5OTgrrViwWn3rn+nGJE2D1lCObzSKfzyMajSIUCmFmZgaRSARvvvkm4vH40/54D0SpVMK1a9dw584dOBwOnD9/Hi+//PIDk+JpEUAWhBs8s3TqOUZHR+XA0Gg25+PpdDq89NJLWF9fx507dxAKheTwZlcgsGXeRzZpbGxMHOM1Go3M2FJd0I1Go2gFjEYj6vU67ty5MwB+CA663a6YXKoHIICBzZUbLIXDdKFnmZHjNTggOZ/PI5vNDozJUctsBB5zc3NSOvN4PDh9+vSu552RzYjFYojFYgOZvM/nk4OCoCIcDsshzEOQBxvnEzYajYH5b7zPBMNsdmBjAQEZQRWZRoK6bDaLSqUyYEnA91UTjXw+L9eJBp9zc3NYWFjA933f98nBuFPLhna7jdXVVfT7fXECb7VaCIVC8Pl8iMfjyOfz4pJPEJjL5VAoFPDhhx/C7/fj9ddff6hI3mAwwOl0Ih6P40//9E/FvZvJAMFav98XNqzRaMgMumKxKIwou9J0us3RMQAG/OU0Go3MaTQYDKjVajICCoDoAQnQh/3eyLqopXReb7UcCWzJD4rFIqrV6gONFSwrEsiopXeK9lmS1uv18Pl88pr0sWKHMEun/HsCWyYkjFQqhVqthrW1NWi1WpEfcHQV7y8B7fj4uPhdTU9PY3x8XOamslydz+dl/iUBk16vF/aSXac0PgW2GhcKhQLm5+dx9+5d/Nmf/dmR86V6WFAfODY2hu/8zu9ELpfDO++8s+f5ts9jnACrIxC9Xg+xWEzcqe12O8LhsLRsH7Ush5opijXX19fh8Xjg8XhkUyb4Ubt22G6veh9x/AU3ZgI0mniWy2WEQiFhJdSyo1qyoihWp9MJkGL2TYBAbxxVy0IGhwCAoXZX6XQ60UIwg1bLGexU4rXhnxkMBil1qqJ7lsfI7BFQEfypJqTUzOh0OmQymQH9iuqrw1AZtV6vJ5km34/XhhYHBH4ENY1GQz6n2mWmsoQqWKXGh+Uifl+yYSxzGQwGTExMiOM8rxlZD94HlQlTdVmc7ch7zXvJdVatVmEymWC1Wh8LrPh9yGiqjRfAZtMDmy/UdUDXbYKDjY0NNBoNFAqFAQCuCqhpMUDrDjKsLGfzHwIeJidkWVTrEl5TtalD1eyRLeG9531Q2V3+PxkqtWONf87vR9ZIFatzfbFUyPdUm0Z4LQnQeU14bcl2EWwTgHU6HemOYwlcZX9Uaw/uK/y8avmdzyh1QPV6XZ5HAFLC5bXv9/tip6DqHPl8qCyxaoCqsnv1el2eVzKHuVwOCwsLWFtbOxT962GF0WjE+Pg4QqGQJFHDjQ8n8eg4AVZHJO7cuYO7d+/iR37kRxCNRvHCCy9gbGwMb731FvL5/NP+eA8EN4+lpSUUCgVcunRJGIqRkRGUSqUBoSc3LW5KPMBjsRh0Ot3AiBez2YxTp07B5/NJFxS78GhL0O12RUvFMgTFrKurq2g0GnJgsvzB1+D7q27o3ODVEh8PYDJYaqmOmyhfT/We4vc1m83w+Xwol8vSHan+Y7PZRHyt0+lQKBRQr9cHxsUQUJXLZSSTSfT7mzYYzJpVjQ+ZCjKA9Xpdsn0e2plMBtVqVZi9UCgEg8Eg5dB8Pi+HJrA1jJnsFA9GAkl+X5YO6Jit1Wqlu5I6nDfeeAMul0vAGBkTluPK5bIwEnxPjUYzYDuhllbJynQ6HRHUchD149ZuNptFqVQSryW1GYMsBdcvWUUyoNFoVBiKarWKGzduwGw2IxwOw263IxAIDJSSMpmMjAbq9/sD+jreN479Ucu1aomYYLnZbIo2kH5JBLXULrZaLTG7VUuFLH3xgOTr814SxFK3SO+ycrksXmS8/vxditK5Zvm9aQ9CRpQGrevr66IhYyLFz0bfJzYvEIAyYeJ0Cu4hBFy8d8FgUKQKLNtRpG6323H27Fk4nU6MjY3JM1upVGQfUc16ua5DoZB0aBIcMUFhQkb/N4KscrmMubk5xONxzM3NHRumimGz2YSFTaVSWF1dxfr6+rH7Hk8zToDVEQlmjPfv30e324XL5YLf70coFBpo8z1qQeYqFothZGQEwWBwgLmi3YA6K4yGnM1mU8ANDy9miGRz3G63ZM5qdgpAZtYRPBFI8eDiz9EmQW3xNhgM4nJNYMWDiK/FobVqVk22iqCLYEAV+QKQzVhlYQBIGYSsi9op6XK5pGwBYKBsR+aAf05xPbDlncMDWfWB4iFMMEmHebJwBKDM5lXB8vDnIMvH70lmhCCHujZqTQwGg1wbggeHwyEltXw+j1qthkwmI9dK9VPiPanVavLdyFQRHPD+8LBNJBJiUfEw5mpjY0PE7yzHEoCSPet0OrDZbGLcWq/XH2CKVLZCq9UikUjAbDaLGS7XOsEJuwkJnjjCZ2RkRMqLtCUg8LJarQOeTew0zOVyoikkO8OfAba6VvlsqMwUr5eqR+Pfq0wUGR+73Y6RkREBK2TNVPaYa0Fl8xhkx9RnmB2Lqumw2WyWuZdqiZzgCoAkVtRzcd2SFWPjDIEZ91JOC9Dr9Q90KvM9+X0qlcpApynXu9rVy2eDv8PxV6urqygWi1hZWZHy9nEJlmQp1K/X61hYWEAqlTryQvujFifA6ojF9evX8dFHH+HHf/zHMTExgUKhALvdjlu3bh1JYNXpdFAqldBqtbC+vo5PfepTAo7YSUVBqMFgEG0Oh3em02nx3lFLbCzdmc1mOYR4IDA7V0XFAGTTYyMAN2MewtT1sAvI6/UC2LJBUE0vOeCVQE4tW/F71+t13L17F5VKRT4LWTHqUhqNBmw2G/x+v4Ad+g/xQOLGHQwGYTabRSRKLYwK5rRaLdxut8zUY4mq1WqhUCggl8thbW0NHo8HoVAIHo8HTqdTRmaUy+WBkhQPuImJCfm+AAYEzrzmND3kd2AXmdVqhcPhkJmRPAx56DDo5QRsMhT3799HKpXCwsKCADReO3p/USNGB3wyVxSWj46Owu12S1fbt7/9bRiNRvzgD/7gQ4EVZyHyelYqFRSLRbE+IVAki0Hrgmg0Kp5TBKgsKdZqNdy/fx/NZhP1eh02m03m/01NTUGv18Pv98u6p9eUz+eDw+FAJpMZ6LIdHR0VTRRZLwDCSBHETUxMyLxGgiWLxQK73S5lOq5tis9ZtmSHLu8zO/CYCJDNmZmZkcaTSqWCTCYDj8eDcDgsgIqsF+8fwT7BSblclutNFlCn02FsbAwbGxtYW1uTcm+z2RzYD/isEHAT4DMBU0XkBIZ8PgHIdyTIYQcvG0JYGuTvc89lI4cKPrlH8LVY1maC+f7776NYLIpL/XEKo9GI8+fPIxgMwul0olKp4MqVK0dOinIc4gRYHcHo9Xq4efMmisWiUNiFQgH5fF6EwUctWLaZm5tDvV7H6OiodJNwI1Ldn1VWQB37ks1mZeQHN3kKUFVdilqSY6bNrj7+vaqL4ubIQ6Pf7yOXy4mGg+BNzUbVDjf+HlmFUqkkvjT1el2GrlLn43A4JOslcCLjwTIYGTcePhz1w/ejQSM/C0siZMMI8sgmsZ1+cnJSQAWF9JVKBdVqFVardcDCgaCU7AszdDIMqjeXWiJUf5a/z3XJ+8kDj8Dj5s2bcLlcYt3AsiQZLd5H6l54bxhshNDpdANWBzSoJDhot9vCyql6J7J25XJZDlayOPTrUZ38vV6vdJeRLSPjSfaIa4deYGQA9Xq92E4QlBO003oiGAwKyKD/l6pNUjU7wzopitsJlgii1JI7WVuVsWQTAhlkNhnwPmo0GmHJ+Hq0y2BSRDaNa5tsIZ9zVculluNVTRh/n6W/bDYr5WSudbVUWa/XBzSSvNdc/1w/ZELZdax2uPKZqlQq0lCi1+sHSrKq4amqN2PwOlPfuby8jEajgaWlJWSzWdkfjguoImPKxp/R0VEAwLVr15BIJI7kWXMc4gRYHcHo9/v48MMPcfPmTfzET/wEIpEIcrkcYrGYAJWjFty479+/j/v37+PTn/40Tp8+LQcHNRF0iqbxHxkAsijJZPKBKfAEK2qZigc9AZXqZE23Z+oieNDw4OZmXS6XxQmcTINaImE5hAeSWkLK5/Oo1+vI5XICulSvJq/XC6vVCp/PJ+/FrJhz49xut7B7wGbHpZodqvYQZFB4gLTbbaRSKRgMBgSDQQBb5pxTU1Mol8siwCarWK1WMTY2BrfbLa3pzObZtUnQxe/Mz8CDVu38JIOgCtVZ9uHgaZbtGo0Gfud3fkdAEecm8vDlmlDtHQhMVXd8XkNm1el0eqB0w3tI0121W03t6AO2mjD6/b6UVvk6ZDSp76JmjUCbJSZg0zi329301mIHp16vRyAQkHVHtoalYQ7TzmazKBaLUnYkcORsP4JMHtS8Rj6fb0D7wzWiTh9QAYNGoxnwE6N+hmVx3iudTgev1ysJjcqIVioVAWwEZwRX1G+xVMzPO9xowRIfPwOZulQqJc8OgQufAT57qkCd3139Pnz/dDotzDVLt0wSqtUqVlZWRL/J1+TnVcu+fKbUtaeuz1arhbm5OaTTabz55puyLo5LsJPX6XTi9ddfF8+0VCqFr33tayfWCvuIE2B1hKPb7eL+/fsol8sIBoMCNorFIuLx+JF+iJeWllCtVnHp0iVppQYgFD/1GBx9oo7DoFCVBzk3OW6QLInykOKmp266ZKloJKrRaOQQJVihwJZgigcG33O4zZxlOIrpNzY2MDo6KoJk/rwK5NjCznvFTZraEII9bvy0j1CBIL8Tyz3DgKRUKgHY6sSjhoQHH3VWZJlY0iAjRmDHawRsdT/xs6sHJUswBLNWq1XMVKkD4wHEzdtgMAhwpMZudHRUNFRko3htDAbDA11sLIu1Wi2sra0hmUwKmFa79XQ6He7evQu/34+XXnpJrlO325UZcGRFyDipZTiV2VIZUYIYAgXeW4KN0dFRaLVaBAIBuFwuWdNqiZkghuuMJqIqIFKtAsicqO7mZOC45gl8eW/Yecp7rM5m5D3mNeFr6HQ6eTZ5fWw220BXIJ8b9XOxFMjvxWBjwnCw9MxEiwCKCQOnO9AyhSadbJzgZ6PBsKov5LWx2+3odDrIZrPSkMHSZ7/flyHgTFQoiOd15bXp9XpyTXhfCK7Z2fvRRx8hn89LYnGQoZbjDzoIYi9fvgyPx4Ner4d8Po/19XUR4p/E3uMEWB3h6PV6+Pjjj5FKpfD93//9sFgsaDQaSCQSSKVSRxpYxeNxJBIJmbem6hvYpUeBOLBVktJqN60a6OLMTj8AD5QZmElTrKpm+zwACd6ArQ2KG6VqBMjMlfonli6ovyLQcLlcAhgASBmGmzbHZBAA8iDgoccyEVvXmY2rthAEemqoBx5F7zzsKpWKvEej0ZCfUbvoeIgMH0ZqYwE/Mw80lhjV8igPIH52tUTDUhG/A3+Ws+9SqRTq9Tqq1SrMZrOUHThXjUyPaomhsjV0qW80GnKYqUyVTqcTs9rr16/D6/Xi0qVLcg0pbudwcQJ3riOyPNVqVTRAKrBkiZYAQvXe4pw7+qlRx0QWheVQh8Mh2ilq8sj0qWVWgmuySATGlUpl4F6opVKCN3bdUTfmcrlgs9lEM8ayLe8TtUQEQ/SlCgaDUiYlcAG2hjqrwIolJYKgcrksQnz1GvK55O+pYvuNjQ2xruA1JjglQKV8gMlPt9tFPp+XUjiBVbPZxPz8vFgeWK1WXLhwQdhwMoQajUZYQDJtTDTY9clSLUuFzWYTS0tLyOfzuHPnzqGNpeF7qonNQQSfSYfDgXPnzsFmsyGZTKJQKODtt98+0gOhj0ucAKsjHP1+Xw6Q+/fvw+FwIBQKwel0ShmKbfxHMfr9Pm7duoW1tTX4fD7Y7XZMT09LJqx6zQBbGzbbt9m6zLBYLAKS+PN0xmbrPTd2/jzb5wlygC0xKzUaBBJkDfi+5XJZNE90hGf5gXongj6yLgSCfG+1g5DXhCBNZal4QJPB6ff7sNvtUsrgtVKZBDImZMwmJydFWM2yB7vXyIaQtSMrQN8ngjTqymjxYbfbRYRPDYzVaoXX6xVX6Xq9jvv378NqtcqhRqNHgp5utysHWqFQEHbNaDSKfYHf7xdAMHyYEDgOM5js+FLXBEHoxsYGlpaW4PF4EAgE0Ov1pFnCYrHIz/Hz8sApFAryGcgyEXQZjUZZXyyb0h4gEokAgIAHj8czoLfhWCNag/De8H2oneI6VMuIBBgE0bRmoA8cmSsmDwaDQUpdAOSwVPVa6gxQltJYZiazxBI0y8wGg0GeA1pzUDtJ9pI/r5bxlpaWpCGDr2E0GmXtcwyO2s1KsMm9gq9N5oqAOB6Po9lsSjemWvZrNpvSNDE2NibleXYJUnSuOutbrVZJLILB4ED5nTqqxcVFGQd1WKHuGQcRGo0Gk5OT8Pv9OHXqlHz/ZDKJ69evo1AoHOnZhccp/v/tvXmQ5Fd5LXh+ue9bVWXtS+9NS7Raq0EIZCSLxcJgAnBAEM/PBAEE4WWeYyIGjAnsiBdjO2bsiZjwjAk/wwvsMPgNGGEII8EYJEBCQqNWq9Wt7q5u9VJrVlbue2bl9ps/qs/XN7MXdbeqO7Oq7omokDorK/P+7m+53z3f+c6nA6s+Bx8er7/+OkZHR/HAAw8gEomgUCjA6/X2vb8IHb/5IFP7312pmoiBBHejFJRT8KqmDuinw+CmVCphbW2tI7UHQKq68vm8LBTUEfHhTXaAO8RyuYxsNisLH1kDGmMCnWkxantYsUdnbD6QKaomE8KKPLV8m6/zgT04OCgPP5pRMrhgyb5qTzA8PCyBCXvu0TWaTAkXcC5gqmcWj4msEJk4zjfnIBgMYmBgQIJfpqanpqYkrWCapoi7acRJDysGuAyKh4aGxJWe9guqf5OaruQCWKlUpK8fUz9q2pS2CWfPnsXExAQGBgYknQqs23owCFUbC5N1IatlmqaknXh9MDjl9cXrgdokCvIZGKsO+0w7ck4ZfKhsGO8FsinAJT8xnheOP5vNdri3M0Bn4Kxq3BjoqylmFWRpeb54z/HzqUOjkzxF4LRiaLVaCIfDHfYM/LzXX39dCjbUAJkBNAsGyKzyfuCYeTx+vx+JRAKVSkX8zxYXF6U3olrUwrSdz+dDJBKRND61b3x+8DnA+4AMLoNjl8slqb9arYZEIiEWIbcSG52RYGA1OTmJ3bt3w+1248SJE0ilUjh79qw2AN1A6MBqE6DVamFubg7JZBJOpxOBQABTU1Oyw08kEpibm+vrAIsBxNNPP41wOIz9+/fD7/djamqqw1uG7AaDK9X7xzAM0emoO0W1io/GjXxoUkvDxUatFOMumSwHGR7VY4esFFMu9LZiWkNN31GTxOa+1DKpQSB9gJiKU80QqUViRSEXcaZUWNrNRXpoaEiO2+l0Yn5+vkPnxAWOxp2BQKDDf0nVZHFeeQxkOrLZrAQVZHjy+TzOnj0rwU+z2ZQUHFkCHis1VayYtNnWjVrVhY+pFtpLMF3FAEYNsNSUjc1mw+rqaofPDoMd1XSV1xErOcnO0MeLi2qj0UA6nYbH48H09LQEC7zWuAlgz0LaPPDf1JVxgef54HEyZcoxMjiz2WzC4jEAJ2PF80smIRAIyLVK4Tab/dIhm4Ex20rRfJSfxXPPe069LwBcdg+SdWUASP0WtVkUuXP+8vm8pKuZCuU1rVZdMl3NueW55nnxer2iZQQuMdp8/8rKCpaXl6V4IJFIoFQqIZvNotlsiiXE2NiYGOQahiGdDJhuZaUqK0vJUlosFszNzaFSqSAWi6FQKOD48eMoFApyj/U73G63pKlDoRB27NgBv9+P559/HqlUSq4XLVTfWOjAahOArEC5XMaZM2cwPj4ugcmOHTvgcDik51m/lvnygXn+/Hk4HA5p28OHLVMe3QwObQz44OXun4sPH+qmaUrqg0EYF2TufBlQqcESF2wuGHRkp/cWF0MusmQUmDYhGDxRN8IFpVwuS+qDbAUrEBnUsHceF1ManDK1w/QNFwam9qgR42upVEquAbW9i9PpRCgUQjAYFLZItb2gJkbVqVBcz9JzBlbUClEQzMCACzeDKrW0njtvBh4UujPIo4ierEQkEpEAgIs69UcM5HhuGchxHsgS8RyXSiUA6/osVp6qKVjqtBiQ07QzEAggm82iXC7Ld3JuGdQwEGS6jyygy+USaw7OAwC5DgKBgCxmKmvIQFtlrvjDa5psZT6fl7QygyvON69l1cqD9wOZOeBSkQc3BRSMAxBGlKydWkHJlDSDf34eA0PTNDtsNeidxTS7en6oseRxM9hjtwC+V2UuOZ50Oo2VlRW5FhjwsEn8+Pg4QqEQxsbGOjSLnHcyZbxPOM8siDHNdUuWdDotzE4ymdwU6TLOF73BxsbGEI1GxQz15MmTWFhY6PUwtyyMfliIDcPo/SA2AaitcDqdiEajGBoawqFDh1CpVPDaa68hkUjgwoULfRtcERbLehPdoaEhPP744/D5fB1GlAQXWqblKLQmU6IKZvnA5kOeYPDAz3M41hvZqmJtdrjnIqyWlKt989rttuzE1dJqMj/ApWo6PrgZFKr9ytTggPoS1UFcFYerZoQUXNOMlCX39GUCIAsFgwZ1TjgepnisVqs0g65Wq1KpqQahqhCfi2l3EQFwySGbWi6Okzo4zh8XZvoJARBHbAYqZDBpSTE+Pi6BCJv+MnWmapH4WVwgW611U0un04m9e/ei2WxieXlZ5onjJzPCsTP45fnh/HGuVE8mAFLZx6COQRqZo1wuJwscx8WAnQs5Axq1FQzHb5qm+HaprZN4HXGu1eq4VmvdWNPn86FQKKBSqSAUCkkqnXoz9Rohs8tKPDUwZlCo6iAZ9DJAU60ZyL4ycOdcU8fHa4QBOY+DBTq5XE4CRrVbAAs0arUazp07h3g8LtcdNVbq9chNBXAp1amm3dl6isfJjUEmk0GxWMSJEycQj8elMEMV8d8s1KpOXrsb9cymh9709DRmZmbkOjt79qz4UrVaLcRiMS1Sf/N42TTN+670C81YbSJwt0zKP5vN4r777pOUmsViQSwW6yjh78cgq91ui5cQgxngUuDD4EItk+eComqB+HBkkKQ+sIDLGyYz6GHKQw1c+MBRWRg+9FSanH+r7vq5yBCqHoeBH9ML3KmrOg4yFgA6gjHVtJPzxqCI88PP5r8ZjHJh5msU4fM7uQCRNVMDJJWFYJDCEn0uYuriy+uM54Tv4blkqlU1cGUKjcfHc84glUyH1bre6oeBqWqBQNsG1eCSc8zPyuVycDgcwtSpaTCVzVSPi7orLnycC6ZlGSTmcrmOggUGZur3qFWlVqtVzEspiGfwxSpC6pmo++pm/cgqktHkWBikcg5UAbaqZWTAz8/jZ/N50c0Q8bh5bZABJYuoBp/qXPG+YNDAc8654e/JUJEB5LVAbRXZaR6Dqg9zuVxSvECxPjVh6rNArSrm5xKcQ3WDRYuGWCyGhYUFpNNpbDR4nCrjfrOfw+NjYcvAwACmpqYwOTkp98bs7KxYjWgrhVsPzVhtYtjtdoyMjGBmZgaPPPKIuFknk0kcO3YM+Xz+ljwUNgJ8SA8NDUmqaWBgAIcOHero9ab62HDhoj6GAmYuileqIuMipHpidafZ+EClMaDqKcRFng9qLlbc+adSKQkYyChyweH7uEipKUJqq3h8KgtE5oD/JqPD4IPBHYOQXC4nAZWq9Wo2m2IhkU6nUSgUZAFnqobjZ8BHNkL1lgIuLUpc9MkgqMFBNBrF4OCgiKWZ3mEAq3pqNZtNxGIxsQagqN3v92NmZgbA+uI8ODgobU9UzVMsFpMye9M0MTk5Kalgjp8VYzabDbt27UK73ZYUptfr7WAM2TeS1wPntVqtYnx8HOFwGOl0GuVyGUeOHEE+n8fExISUrNOhvFKpYGlpSQIVLnxc8NSWN6yQZL9MAB1WGkxRAxBdWiqVgsPhkDkic9psNiVF6/f7EQ6HL7vneP3wnFAbxmuWBqADAwMSXFGMz+NxOp1SUMEfpqZVKwcGQzwnDOoDgYAEn7xH19bWkEwmOzYk/O61tTWpyFUDPVb9qelrjpm6MG7a1BQnoWrdLJb1Xqy5XA7pdBrxeBxLS0siv3gzlX8M8K/2O+Dmqv74bBkcHBQbiXA4LAU+1B6urKzIJpxV0/2w5m8RaMZqK6LRaGBxcVFSZBQq2mw2xONxERur6aQ3g2s9JG4U1LnEYjFJMZXLZUxPT6PVakkzYpUFUasGuZiobV+4e+cDlmNmAMDXVZZKFUarD2c1bUE2SQWZju756X6NwYjL5epojaO+X63UUhdkfhbHTsaNgZPqdk29SHclET9PTdvwOzlXKrukth3id6vH1L0YcB74t6zYY6DYLZbnXHIxBC5VyvGaJVPFBVg1X+R3MJgms8OKNZ47BruqazuPnWPlvPB7VKE651jVfzkcDgnCqWFiuo1pL+qDyBaqYm1eXwzO1bQvr0emqVQtoHo98z2cRzJvPG71GuI1peoE1QCV1xjHpl4vPPdksRjkcFzcHPAeVK8NFheoFYocH8+Fqnni9cG55+aH94qaOlQF/QyOCTXdqF6jHId6j6vM2traGsrlMvL5POLxOGKxGNLpdAebfitwI89S9dlExjkQCGBwcBDDw8NS+cgAd2VlBfF4HPPz80ilUrfwKDSuBM1YbQGwge/k5CTuv/9+eRin02ksLy/jzJkzmJ+fv+ngiosrNSG3ooKED0+2ENmxYwfGx8exb9++DtNO2iswTaceExfZQCAgD3c+hMhicAFTFzlaApTLZVlAqelhRZWanmo2m8Io8OGvCrbtdjuCwWBHIKounmpKQ9Xb8MHJxZGfSUZpdHQUhmFIv0h1QWJrHi72XNgItplhcEddF3VNXGzps8TvZLWfYay3RFldXRX2j+yFmpa1Wq3ibUX2RQ1cGVCrjGGpVJK2JhTlU3TMMTKAJLvJUvvuPnccTz6fl8DR4XBIA+Tz58/DarVKU3CylwywVNaFx830EFtKlUolWCwW3HPPPVJAQO0Y55xzpOqfarWaBFrqdaMG1qodhhpMq8dos9kkPbq4uCjBDas/WYDBQNrn80kDctWDrZvFUUXq3BAwEOUcqUElmVX+Xg3m1JS++vlkf4PBIID14gh+tqqx7N7EqZ/THSCqGwZWTAKQSkTVQZ5auGKxiJWVFRQKBaTTaczPz2N+fl7u86tZUlwNauDM87oRIEPt8Xhwxx13CANNtorXTDwex8svvyxzTtaY51zjlkAzVlsZfOgDwJ49e+Dz+RAMBqUapFgsIpfL3dRDQ9XcqLqLjQYfutlsVlywmepUq/xUpoRpA3WXzr8js8XPVlNS6g6W71GPjZ+nisZVNkDVrKjzBOCy11UdjDrObjGvymSwPJ+/V00kyRaozJcavDAwZFpLZeW6mRk+tLmwqQuVOn6OmWXwFAVzrjjnnGN+bzfzRvDzVN1Rq9USd3EGgVwQDMOQ9Jy6c2dgxDljkMpjpDCd6REWSPD3qoaPC76qdWMQx0WKfSM5xywioOCZTBvTrV6vVxgb4JJJJ69Niu8ZRPE8qZV7DG44PlWcz/tZtR9hAMXz2M3usuJQvR5UHRQZHM4P50S997qLRRhMqPcVzy0/m0EPj4P3glr0obKU6j2laszUe4ZzpN7DfA/vC84v38N5r1Qqkv5bXl7G6uqq6D6vB+p3qRuHjXhGMljluad/18jIiASzvP64WUokElKYodF7aMZqC4GMD3uQPfDAA3jb294mOfaVlRWsrKyIkPFGoDIOt/qa4UOfZoTBYBDDw8MYHx/H+Pi47Pq5sDFVxAWN/+YCn8/nO3bEg4ODHakTVWulpgrUFAQ9kPgdDLa44+bCQWPJUCgkx8CdPhctfq/f75c0Er+z3W5jbm5OKuJ4PFzIOG51bOrDlsHG2tqasE9qupRBG9ktmqrSQHJsbKzjO8kMqH3+yI6pjA8ACcy60zFMkZEpZHDAlCQr3zjPZ8+eFeYtEAggEolI4Onz+aRyTN0oMFCMRqOSCmm32xgdHYXf78f09LR0MGDqR01dMRjnsbNKzWK55M3FxtUc6+TkZEcgl81mRZfmcDgQDAbFgFK1DGEBgmr3QV0fz5nqVWYYBuLxOEzTlBQ550xdzFm5R5E955/HSc3Y0NCQOM8zcAcgom8GMQwKfT4farWaeG2RBWY1nbpJYzCmMiUMllutllxnwWAQprneWcJiudRWR72meRw8NzzXnF8GVvSfY6BMLREDaVq20DSX7WiWlpY6NgPXy+wwDcnvUllp4s2I0YeGhuDz+fDWt74VHo9HXOoHBwdRKpVw9OhRGT/vK256NG4rNGO1HdBsNpHL5UTvQWEsH2S0HUilUpKaUBfDa+F2BFTqd6niVI6TOjL+qEJVVUvEHTtwaYfKHTmDFwYo3SXY/H6VabjS/Kh6De7UAUgaVn1P93fxd9yVqimyK1ksqIyZ+h1qMKB+r8piqDt9/ldlz1R2ST02zivfz6CA39md1lOPj8esamQ47+q8qN/FY6W+Rk1VqZ/PAEWdJ5X9Y/UgAy0yKiqjx10+j1kVTPO4yayo54njUpmler0u2i6yf1e6nhmQqFoq9fpQmR61cEG9frj4q5V4KnOojk3VIhJkeXkOuyv3OGcqk8W55E93lZ2qCVTZRPVa5KaAUP9OnSP1GiB7xuufOi/12u2+jngPsmqRLKLaOzGbzWJxcVFY/I3EjWqm1GpgHrvFYhG/KRaY8LNZHJHNZpHJZJBOp2/bM1njxqAZqy0KPnTdbjcOHTqEO++8E4FAQCqRyuUyXnnlFSwtLWF1dbVvnXfVhYdaq4mJCUxMTGDHjh0YGRmRBZYLBHfgLIPng57GjEtLSzBNUxYZmhdS+9JoNKQQgJWHHIsaYFxJYK0uTmqAobqMsyScD1YuANlstqP0nr5I1Fqpiwh1XGRVGGgxxcFAxOv1wuPxSHqNrtlkSLiQc7xkt1gNyLQQewW63e6OdBEXW45JDXTZmmfXrl2ia1HTVsCl65TpDP5bdeUm40HWQ9UkBQIBSYk0Gg3Mzc2hXq9jdHQUPp8P09PT0h+uUqng7NmzyGaz4vdmGOuVakNDQ3C5XNK2qFqtSnsWjoGBPjcjNE/duXOnsIbNZhPpdFq0YgxKVcYKQIeAW2V9gsEgHA6HbH7oicX2SrxuBwYGpIK1WCwikUhIWyB+V6FQQLFYhMfjERabbYYo/Gd1YL1eRz6fh2Gst3FptS75o1GvqJ43Nd1GhompQYvFIqabsVgMa2trmJychN1ux/nz5+X+4rXLwNPlciEajYqurlQqiV2Gy+VCJpMR1pCMonpPUDvGtO/S0hKy2SwOHz4sWipVD3k9cgjew93v7U473gh43x08eBA7d+6Uz+N9PD4+DqfTiVwuh2KxiOeeew75fF6YT5UB1ugpNGO13cDqpGq1ipWVFUSjUank4YNvcHBQFiQGEKoouh+gapSYJiFzQEG7Gjyppdf8UdMhVwIXA+ASw8WHF4M0fhYXdo6p+3PVqiUAHZojlRni+1QGSU2zUFSuphk4TpWdIvig7U7FqcyA+vDuTnWqn8egTGXLVH8olZ1Qj7ebYVIF+epxdh83mRZ+DrVNqh8R51C1v1C1Ojxn6XQaxWJRChiYFgIgu30uzqrWS209pBY3qBVz9IBSmSeOnePn36rnRD3/6hxz3GqhAtOkhKpRor5O1QuprHN30MDzy80GX69UKpfp/LqvJfWc8hpQzzW/r7u6kVB1XuZFfZ6adlevSaaLLRaL3Hd8r1okwvum+1rlOWLQy7ZA6XRaLBQqlUpH2u7N4o0+RxXus0CGYHud4eFhKXIBIKa09JzLZDLSoqdUKsl50+h/aMZqG4BsBh+Sjz32GHbt2iUCYWpIXn/9dWmo288mcmp6QKXO77jjDoRCIdGQBAIBAJBWL2Rh1GBJ1UE1Gg0Ui0UUCgVZAAYGBuD3+y/TwFBrQ4Gy2teOrAvnlpoZLj5sSN3tlcWHMb1/8vl8h9M2x0AWhZ9JsTqPiwspAxDOl5qe42dR58MqMqYm+LfUEPHzmVq22WyigeJ3qd5V7XZbmkhns1nxvjJNU9qY8DtVXyP+sNkzPZnm5uYwPz8vFXp+v1/E7mSTSqUSnnzySeTzeTz00EMIh8NSgm61WlGtVjE/Py/sJxfhcDiMgYEBWQCpfQsEAh16MHp+qQ7zPA/U0ZE5YQBAfynOO18nW0qvJG5qpqam4Pf7ZZFlIOd0OtFut8XolHYE1FoxwOCmg2O22WyyMJOZTSaTwsiRybJaraL/606NqnPFtCg1fGpaXg2sM5mM9GVU54gB1ODgoIyxVqshlUrBZrPJPQusV/VFo1FJgZEJ9Xq9wmg1Gg3x4bpw4QKy2SyeffZZuXe4abydUgar1drRRzEajWLPnj0SsEYiEYRCoY5uC+12GydPnsTi4iIWFhakE4LKxPfDWq3RAc1YbWd075ZjsZgIT03zkunf2NiYlEGzxQvTVP0E9YEDQITVsVhMdvBcvKk1URkOBjGqlqRb+0JvMDVFRoEo0xBkAziP/Ax+n7rz79Zd8f+pHVEr51Sav1sjxL9TAyngUjClBlH8/+6qPAAdn6/qUzgHZF5YockAjOXw/D4GUqoujOeHbA1TU4R6Panfzx57qj8SjUhpAcAxdmt7GFQwRcbzzkqvZrMpXllsCdVut+W93dqxVqslOhYGJFzceYycC54LHhfTZ2S4VB1d97lncMHv765AVa8ZNXBRWy3xPWqlq/q9ZAA5f0x7kwFU2UdVD9bNRvH33W2eWN3Yfc2xoIKsnjo/6j2i6h9VTyymrlkRSjDoZ29PpixXVlaQyWSQyWSEqbyelN+bSeup/npMiTKNz/MajUYxMDAg9wTtX1ipzXmNx+My9n6VZmhcHzRjtQ2hPkTtdjve8573YHR0VKqvmE555ZVXpJrwevQIvQIfjHyY09X63e9+N8LhMMLhMBwOB3w+nzRptdvtHT4wXEDIvrBpMRmSXC4nO+d2u42ZmRl4vV5hFlTGiikaBiRAZ0qTQRnNJckYMn3CBZb/5WdwQWHPORr/qQJYBhgMDph2oGVAtx0CAwumJHK5XMeiyQa609PTHVonGs9y7nhNcXHkAsLdOFNJZF1M0xQNHBd+urbHYjE5fpUFNIx1D698Pi8Nsn0+X4fZ5+rqqlQMrq2t4cSJEygWi1hdXZVgiFWCZMMikQhGRkY6zpNpmnj99dcxNzeH8fFx+Hw++P1+qYaz2+0YHR2F1WpFLpcTZoRzwgpGBnsMEqm3CgQCCAaDku5R3f4Nw5DWI0wJ8xiph6JInxsIHptaEcqKMoIbCAZ5yWQSzWYT09PTYivBgFpl3si+8nszmUzHe6hT5AbNbrcLY0S/MAYLS0tLaLVacr0xncgm5fl8XgIUBuQMBDk/DLQWFhaQyWSwvLyMUqmEZDLZ0ZvwesDrj+nUGwHZKLbW8fv9mJychNPphM/nk/uBdgnValX6nhYKBRw5cqSjEfKVRP0afQ3NWGlcgspgtdttLC8vS9m7w+GQ1gj79++XcuhKpYJisdjBFPUL+CDicdECYWFhAfl8HplMBg6HA5FIRP5GDcbILPBH9f1RAx7DMDrKwtX3qoETAEkRMuhRK/BUPVS3/oaskOoRpFYnApcWSLVvIRdfVSekfq+6UJIlU5kCVcOiHhvZMo6R6RWCAbrKlqksm6rN4fHxp5slKhQKUq3HeaAVBP9WDWBV5orBFFkMmpSyIIApKB4L29MwGFIrK3mM8Xgc8XhcFl4Ksjk35XK5Q8eljptzyvGpiyXHrlb+8T3UGDFA4DnmsaosKwMQ86KwXNUVcpy0IVB1Sd1BkaqV43dxk6EGxqpwn/eder0x7WkYhrjPq70kyYLx/DGtzQ0I70MVvJ/IjpKFLJVKWF5eRjabRTab7ShuuBHwXF5PMGMYhpiOssBi7969Yv9ABo6FIvxsVpTyeVIoFESY3s+SC42bhw6stjna7TZefvlledgGg0H8wR/8AaLRKHbu3IlisYjR0VGk02m8+uqrqFQqyOfzvR72NcGH7C9+8QsAEK3Qzp07MTIygrvuuksYAGqsyHAwZcRFnIsyH/7RaFSq7FSWgp+3trYGl8uF8fFxAJdEvBRXq2kuLmhkMcgOBINB8RkCLgnQuaMlcxUKheT3brcb4XBYXLeZruEPKypVJop6FcMwsLKygnq9Dp/P12H4qJqWMnDhtcJUGI0zicHBQfh8PvkbBnRMb/Df/C4umsvLyx1pvVAohFQqJV5banDE+eLClEwmUSgUcPr0aWmgqy7qAOQ76/U6zp07J4v90NAQduzYgVAohFAoJIv13NycsCDhcBhTU1MIBAKoVqtoNBpSZcY54aLLogoyVDwX3UJ7sns8p9RMqYE89UtM2fl8PglKyPRQ36UG4WoqjQybGvzzXud5ZHCnppgZfKssltr/kWPnOSGjphYCNJtNYePUc8+gcWZmRgxIVVasUCig3V5vx0NzVlYFHjlyBEtLSwDevA3M9aQKee3YbDbs27cPQ0NDiEaj8Pv9uOuuu6QyM5lM4sUXX5SOF2yTo4Jj1ZqprQ0dWGl03OTVahWzs7Pi4svgIxQKYf/+/VLaTZNFao/6EeoDc21tTUrYWX7O9hCk7VW9k8q2cKFXhd0MdsgEqKk1LkCqWJw7aXrscKFV2SQuXhQK8zP5vfwbNeUGdJ4/dWevptFYIcpUDf+OrBT1OKqXl6oJ6tb8qJ9BjRIXU34GRdpkVHg8TG+pr5ENZEDH85VIJBCLxVAul1EqleSc0TKiXq/DZrNhcXFR3s+ApnvBbLfbEhTxd6a53uooHo+jUCgI08UiBTJ6wCXdoXpNkC1TWSYGOAwc1fPBuSPTR1aHVgE0AGWKmcwfgyGVOeUxqcyR+sNzxCBMvX54HnmNWq3Wjv586vnm5zEoUsfHa07VpqmaJV7rBPVWDKKogSPLbJrrhQjpdFo2O0yh5XI5lEolYc5vJXid0aKCmsuZmRm5h5rNJo4dOybzUSwWMT8/L2NU/fQ0the0xkrjMvDBCAADAwP4wAc+AL/fj0AggEqlgng8jlQqhXPnziGfzyOdTvdwtDcOBhBerxehUAjT09OyCyXFz6otPux9Pp/0fFPThty9sz+Z2+2WRY0LlxrgsKJK3dXTM4sLEdkwLkjUIqntP/jdQKeBphrcMMijDqhcLmNychKRSESEs0xtdgv4u1M4XEjohE0/K1WgziCAc8exlcvlDlYuEomInospTY5zbW0NuVxO2JalpSUcP34cpVIJ5XJZKqpYFcjxHzlyRJzB3yy4iJKt4/ft27dPGt96PB4MDw+j3W5jfn5eGDWyTH6/HzMzM1I2r4rBVU0aNVahUAhut1uuQQYWPM/lchkAxP9sYGBAHPFVAbjL5ZKUHcHvYvWh2gOQ46LPW7vdRjwel5SfKn5XneSLxWJHCxh+ltrKhoyTei0yqMrn8zBNUyoO0+m0XDv5fF4q/LLZrDCit3Otmp6exujoKO644w4MDg529Gw0TVOsHH7wgx9IpSZw847rGpsSWmOlcf1QHw6VSgWnTp2Cx+OB1+uVVjLBYBBvectbZCdZqVQkBVev12Ux7Ucw0KFYliLYRCIh+gmW2pOpWltb63DWZvoEuGSFAFzy5WHqhloXsh98P4W43MFXKhXRHHERUt2qVQ0WX1c9lNTKRzISFDRzwSU7QmExdULqvDB4U/2buCNX9UP8PrUqiu9VXbrVQItzxxSSGryR9eLvS6USMpkMksmkMKOcBzaIbrVaIhxXndTfLFR9GvWFpmlKIMEgJZlMotFoYGlpSa57m82GSCSCcDiMUCgkDCJZPDJdDFDIbJFNy2azHQG8ygzx/PK4ORbOmfoeXndkVVUrBr7OYIV6wHw+L8GzamjKeY3H48JCMv3Me0nVdql+W7x/ePxMGTONy2KDubk5mZ9SqSTWFmrfzFsBtgFif1Uex8jIiKRKmdJT0+s0X73dAZ/G5oAOrDSuiUqlghdffFH+PTo6ine9610IBoPYuXOnLOq5XE6Ck1QqhdXV1b7WYlFkWqvVrtjaYnBwEENDQxgdHRUHbtUjKBAISLWSxWIR/RJ3+tTQ8LvUlJ9als0deqVSEddtpgv590wlMWhSHa75XSpjpRqZ0omawQJ1Y2SXGJAwMKJXUTgcls9vt9dNC8lakNni+NVUJdmVer0ugSLd0RmQxeNxSfMwmGMwa5qmaGzOnz8vGiuCgQr1bKlUCpVKZcOvjW47i3q9jng8LteMYRg4ffq0VBySPXQ4HBgaGsLMzAyi0aik2shgejwe+P1+pNNplEolqQylIJt6PjJxqoZP1ZcVi0XY7XaZMzV9R9aV151qt8Drnno56u/a7TYymYxowhj4shikUqlgZWUF4XAYIyMjCAQCGBgYkNQhgypem9RisQk2Hfmps7NarajVajh37hySySTOnDnTk8pjj8eDaDSK3bt3Y8eOHR22F6xCzWQyOHz4MJLJpMyZhsa1oAMrjRtCsVjE8ePHJd3h9Xol6BgdHYXX60U0GsWOHTvk4c20Tr1el11+v6NSqSCZTIoJItODXDyGh4fhcrkwMjIiwnA1FcLFkAJzlclRK8W6WSFVDMy0HN/PVJP6d/xbVSys6oBULREAWeS4iAOQdKTKPJENo36IzBPTQWqLHOpRmCoJh8MSAKj2E2T8eDxsoJ3JZFCv13Hq1ClhgphuMk0ToVBIAhq1S4CqM7uVIGOyurqKXC6HeDwOADJuVUfTaq23gllcXMThw4fFpoGNxGlCS+sL1YqCbCkZRpWdJIPIRZ2BKlmURqPRwUbRpoD6unK53HEdsa0MU7WstlMrQel1RfuRaDQqARSDf94T1MCphpdk+aibajQakoImE7mysnJbHcXJLnu9XgwNDWFoaAgTExNiu7G6uioVo9TU1Wo1pNPpDvZQQ+Na0IGVxg2hVCrh5MmT8u/BwUFMT0/jwIEDwu7UajVxFufOPJFIIJfLiT9Pv4MCZnpFEWSsRkdHpUlqu32pFQkXFbbeUR2mc7kcksmkBBuqwzUXPPpGqZV5XDDJXJH9YsBDPZDD4UC1WkU+n4fD4egQgxN0ymZbFwaCFOiS6eD3MdXBBZ+Vh1yQM5kMAAhjZxjrvea8Xq+UwVOIr5baUxNEfU0sFsPLL78sQQodv1ntmMvlJLC63deP6iz/RmCVYKlUwsrKCgYHB3HHHXfAMAyMjIxI4MtqU7JFTN05nc6OlkZ8nak0VpOyalRtHcPrAYDolzwejwQJvNZoS0BXeqbjGAQx5e/1eiVoC4VC2LVrl1hZAJCq0UAgIIGV6vhusVhQKBRQrVaxsLCAYrEojuy0eLndoLZydHQUBw8eRCQSwdjYmAS1c3NzOH78eN8z7hr9DR1YabwplMtlLC4uolKpYHFxUXbQHo8HTqdT2stMTU1hcnISAwMD0uaFxpsUc3Px6ke3d4JBCh2SqTXx+XxSas8KK5/Ph2q1Km1DGo2GVMmpIl6LxYJQKNThxA1cSgF2ezYxQOFrNCPl4hkKhYQ94hwzOMjn85LO4CLcarWQzWY7/K+4kJNxI+LxuKTq6HPEHn1k2iqViizgdOW22WwSEKmVbGQ/aGbJ4JLHxVQn2bXNAp4fWkBwTlQtmap1oiaJqcBgMChzRnsG4JJvGCvj1KIIgpW6ZMSogeS16/F4xBC0WzfHgJeBBlsBNZtNMY9VfdvIRBWLRbFiUVv4MCBmdwS15dHtAE1UvV4vpqen4fP5MDQ0JNdqLBbDa6+9JtcoLTauJ4jW0LgadGCl8abAMv5EIoFTp07J63wwP/LIIwgGg4hGo3C73RgcHBR9Tb1ex8rKCsrlMlKplOyGu1tY9BO4YBaLRRSLxQ5Gy2KxiOid6YVmswm/3y+O6kyHkfEpl8sIhUIIBALS/kO1Z+hulcLvUUvZa7WaGIR6vV7RvpBt4KIOQBY21cDTNE3xDQI6GyEPDQ0BuKSfYkPbXC4nGjMGxhy/anfAVJ7qZcTjU4XWDK6AS+L2bp3TZgO1adSckYVzuVzyXxZ68PzQj4rnk5o96siYniObQt0e+0cyIGVRAsXX7H9JDRbPU7vdFg0cA371/AOQgLtUKkmQz6CeaWGyYvPz85LeY2/JXloO0LtseHgYBw8ehN/vx9DQEPL5PJaXlzE/P4/Dhw/3bHwaWxPabkHjloDi6uHhYQQCAXFYpk5ofHxcFhiyKxTllstlJBIJFItF2W2rAuZbNV41/XYzUBkJtvjw+XzweDwIh8MiXCa8Xq9YPtBSgSyT6gZNBkstf2+327LQsd8Yv5vtQLpZKbVKkGwQAxh+VncTXwZH1PYYhoF8Pi8BcbFYhMPhkEUYgOz+WRFGfRDL/cl8qIwaiwi6+wpuFdATiedJdUm3WCwIBoOS+iTTywbYrdZ630IG5wzsHQ6HNFBW2yAxYKUw3uVywWazibUD2RqmnAkG7AyeyJiq54N+TWQtmdKk5o6vqVYct3ONoYkqzXxDoRD27t0rrZ0KhQJmZ2dl/JvRLkajb6DtFjRuL7hgLy8vi9koYbfb0Wq1EI1GEYlE4PF4pNqMPe3C4TAymQzOnz8PAB22AMRGPrDVEvWbDawoGiZLRLBE3ev1irDbYrFgx44dGBsb66j4okEodTcWi0WCHb6PInUGWGSfVB0OFzUGOQy0fD6feAdx8eMiSjdsslj1el16AjIQYhUjDTmTySScTifcbrekfwKBAFwuFyKRiHxXs9nEwsICqtWqBHVbMYC6GsjsXg0DAwMidKe+ioFpu91GIpEQgTrZI9qBAJeMWtnLkJo5m82GoaEhDAwMYH5+Hg6HQwTkfr8fTqdTNHMUzPNaKJVK8rlkRtnLkQ2qS6XShldl3gy4gbBardIrdPfu3QiHw9i/f78I6cvlMl588UVt3KlxS6EZK43bDrbTYGNkNRU0Pj4Ov9+P8fFxSRGura1JdQ7TF6o2hXYF3Cnf7JjU1Fj3v6/0fuD6gjvVtFNldrxer/QZU/v8jYyMwOv1SnqQTs8DAwMdvfXoFUUhMwMYlrSronNq2MheUDdDvZtqh9BsNpFMJjvSkbQ1SKVSssAypctgj3NFQbzqWs4KQwZyV5vX7QpW16meU6rmTr0GGEDTooLnjGku/g21Ujz3wWAQLpdLhOQMpKiJog3D8vKyMFOsWGTqmak/6qXUtHUvYBgGZmZmEAqFMDAwIMatarulU6dOSVVpsVhELBbT157GRkAzVhr9A9M0xTsqkUjI6z6fD8C667Hf75fdeqvVQjgclpQDAyvqOoBLOhBV5HwjzNOVFnoGMFfDG/1e/WwuQKp27ErpTabaBgYGMDo6KoJuBp6q2SKF7KxMVAXt3S1OmGpVhccAhLliqpbamGw2K5WNtVoNiURCdCnd6J5n7fNz47haaygyqWNjY/B6vcJkMmAGLl1f9MlSKy+pi8tms9i1a5dUivL71PuIPk1zc3Mifu9HcNNDlnZ4eBhjY2MIh8Nwu90YHh6GzWYThurVV1/VYnSN2wrNWGn0DUjju1wuhMPhjtL6VquF6enpDhM/loWTzSJzRZ3H4uKisCs3c51fb+C00XC73bJ4qloc1UWdjJDD4ZD0kdfrlc+g0ajqa8TAk9V8rC5Tm0NTB5XNZqXijNVqqsGjxu2DYRiSHlTTxmqLFVofqD0E1erSer0uDGmxWOxIw1LUTsZT7dvXT6CGcPfu3ZiamhKGiv5ep0+f7ugqQFYtHo9r/ymNW4H+Z6y6239obD+w2imfz2N1dfWy33u9XkxNTUmKicEEjSZdLhfW1takp2EulxMmSxWDq6aZ11pAerWwcHddLBYv+x0XWTJVTBt5PB6MjIx06GzYVFftA1goFFCpVCRVwnJ5ml1S/7SRLWI03hyY9gaurDXcalDbMnX3vrTb7RgZGcHIyAiGhobg9XqlD2YikRBmVWuoNHqJvmGsgsEgfuM3fgP5fB4/+9nPdHClcRloeEgNCR+2FPHu3bsXfr9fUopLS0tibghAKpcSiQQqlYq0EdlsVUFcdFTBu6rfUtOAauDITYvq3M6UEd3FGXTqHb7G7QZd0UOhECYnJ6U1z/j4OMbGxlAoFMS+gtYO9Ghrt9vilaXXDo3bhP5nrOg3AkCqoagpqNfr+obRuGplld/vF8aG1XcU79psNnE/Z8qL4m2n04lMJiOpD1VU3f3TT7ha8KN1JBqbDWrjcBZqhEIhjI2Nwel0im3CyMiIVL8Wi0Vks1ksLi6KC7zG9sCNFA31En3DWLGxLXfh9957L37v934Py8vLePnllzE7O4tXXnml10PV6EOQnWF5OkW9bA/z0EMPIRAIYHx8XFKD7HuXyWQwNzeHtbU1VCoVFItFFAoF2R3TSbof7hMNja0Eeml5PB5MT08jGAxidHQUgUCgoy/hhQsXcPbsWSwvL0ujaFYx6pTf9gCf8ayi7pPWaP3PWLGths1mQyQSgd1uF3NFu90uTUAJNjLV0FBNLruxtrYm7uhsE8I0Itt5sMUHDUvZVJiVi9T+AZc8osgWaRZVQ+ONwWpWVXjPNL7f78fo6KgsmvRpo39aoVDA3NwcMpmM7t+3jcHrhixnP6NvGCv13xTmsiVIpVLBww8/jN/8zd+U1MxTTz2FH/7wh70assYmgSr2ttvtckOqrVQCgQB27dqFvXv3yk3LtCGDKLJg58+fRyqVkibGKysrfdt+R+PWoVcVo5sRVqsVe/fuRTgcFtNYttFhxwGLxYLl5WX89Kc/FekHodqsaO3f9gYDK2pDe4z+Z6xUsDeW6uirUn+tVgs+nw+jo6OS/onFYre87YnG5oNaUXUluFwuMU+k/43FYpGHu9q3zWq1ikO81+uVlh+0MKAonGJwlrCrovA+eBj0DNejj1CNWQn+/5WCGb7/di+42/k8Xgm0BOH9Q6sQuv+PjIwgHA7D5/MJW6xaPLRaLUm9M5DS2PpwuVyIRqNiBVOr1a65jm+WwLovGasrgaJk4j3veQ/uvfde7N+/H9FoFH/xF3+BH/zgB7d0nBpbE92u6Krj+uDgIILBICYmJsS5mqlpNsRttVriVG61WtFoNLCysoJCoYDl5WXU63VUKhWpytsuO+/uoIeMIYPN7veqjuFqBSMNTw3D6DBABSDu5GzcrHEJ1KWoViO3CmxPxf58U1NT8Pl8siFmT0PTNFEqlfCjH/1IPNQ4Nm3zsf1w4MABfOELX0ClUsHZs2cxOzu7mTJRm4uxuhK6nYmTySQymQzi8bi0XYhEIpicnITX68Xc3Jw0idUPXI1rgYHOlcSQ7JXHSsJgMCjGmwwU2FLEYrEgEAhIsOXz+WCxWEQY32w2JQBQndLVhYW6kl40sL0V6B7/tTzD3qgis/v/GQD3SVrgpnArGbeNqGhVrTvoH6eyUwyG6SvFPpFkeNkbkvcH+4GyOEQzU9sDbDTu8Xiwd+9eNJtNzM3NIRwOI5VKoVqtyjWxFbBpGKtu0CyON/iBAwcwNTWFz3/+85iYmMDf/d3f4cSJE3juued0ilDjpqG2z1BFk2wrA6xfi5OTkxgZGcHb3/52OBwONJvNjrQWqW7V1ZopRAZS9NVKJpOoVqtIpVJav7XFwT6RDD76DTabDYFAAF6vF4ODgyI2DwaDCAQCUuhBV/dSqYRqtSoNmp999lkkk0kAkMBKZSM1tgc8Hg8ef/xx7Nu3D3/8x3+MWq2Gv//7v8e5c+fw5JNPiqyChsabBJufsepG9wlIpVLwer04ceIESqUSEokEisUidu3aJa0NarUaVlZWNIOlcd242q5fZbesVivy+TwMw8Di4qL0OFQdpPnQaDQaHY2V1X5vVqsVXq8XPp8Pa2trcLvdUoXIz1DNPNVWJG/ku7Vdr/nuYgWv1ytzyOKFSqXSs83X7WDcyDipDBN1TiojpfpJcd5cLhcGBgYuE5qTia3X68jn88JSqS2RCoUCSqWS3hxsQ1gsFhw8eBBDQ0Oiu1tbW8PKygrOnDmDWq2GWCyG1dVVyQpsJWxaxuoKn9FBV9frdfh8PvzhH/4hotEo0uk0VldX8U//9E9bhm7U6B+oi9TVQJZ1ZmYGBw4cQCAQQCAQkDJzLkI+nw82m02cpFmdSHYrm81ibW0N5XJZ2AE21lUbLav94tgrcLuBD3W73Q6/348DBw6g2Wwik8mIt9mZM2fw6quv9nqotwwulwsul0tSMYFAQOxFrFYrPB6PzJHdbsfAwIAEUC6XC0NDQ1hbW0Mul5OOBdlsFktLS4jFYkgkEpcVJjDA364B/XaHx+PB1772Ndx7771wuVzI5XL4xCc+gTNnzoiUgk3AN/FzaesxVt3gCVJP0traGi5cuIBMJoNisYhKpYKpqSkAwODgINLpNE6dOqUpaY03jetZSNivL5PJYH5+HsFgED6fDw6HAzabTRohu1yuDu8sMgRswkyfH1ZQOZ1OWRhrtRqKxWKH3wvfT5ZNZUn4U6lUJDgDIKyFqmOiwLxbUE6HbH42mRGCjFr3A5RCdOps1M0RGTn2PeT41TGp9y0Xds5PNwvjdrvh9/sxNjaGZrMJr9cLv9+PoaEh1Ot1cfBWj5fng0Gp6szP8avf/UbPke6+d1arFbVa7YraPpvNJs2FOacq+8ZrhvMOoKOfntPplCbmoVBIuhPY7XZ4vV7YbDYJOnnNUhdFHWCpVILVakUqlUKj0RA2Kp/PI5vNIpVKoVwub6bUjcYtgM/ng9frxX333YexsTEpQFheXhbmPZPJIJfLbbZU301jyzBWV4PKIEQiEXz4wx/G6Ogo7rnnHhw7dgz/9b/+135wcNXYZlAXySvBYrFIJeLExAS8Xi8GBgY6Ao1UKiUpRJ/Ph2g0ilKphFQqBbvdLgul2jOQARXZLQYMCwsLKBQK0jcxGo3K4t9oNFCr1eBwOODz+cT1mkHC2NgYBgcHJfDwer0dC365XEa9XhcdhWpJUavVsLS0JMUAbrcb4XAY9Xod5XIZQ0NDGB4eRrFYRKlUkjFx7N36NwaqTqcThmGgXq/L/DDwaDabKJfL8Hq9GBoaQiKRwNzcnASO/OxkMolsNotMJiN9JllUwIBQ9Ti71nOEn+10OuH1euHxeODxeBCPx5HL5ToCNsMwpIoun8/DNE3pSmGaJhwOByKRCLxeL8bGxjrSdh6PB8FgEOFwGKVSCaVSSSpbq9Uqms2mBOL8vFQqJUFso9HA4uIi0uk0XnvtNVSrValoJVRWSkNj//792LdvH/7sz/4MBw8eRKlUQqFQwOc+9zn8x3/8h7xvCwZUW5+xuhpUBqFareLs2bPI5XIoFouIxWJot9sYGxvDO97xDlSrVWQyGSwuLmJxcbGHo9bY6nijxck0TTEhbTQacDqdEjC5XC4RuwOQdE4ikUCtVkMul4Pb7ZadJKsTuZAC6w2taV/QarUwNTUlthCGYcDv9wOABA9ceL1er1Q3MlChTQU3MQw8VA8wu90Oj8eDdruNSqWCdrvdMUb+vdVqFW1ZpVKBz+eD2+0WJovaILJFKutGM1iOqTvoqlarSCaTEtD5/X4pKmDgRUZODWBCoRCKxaJ4M1mtVmF0aLFBrRtZSTJe1HVxDjhnah+8YrEoQSnPk9frlf6WwDqDBUA+c3h4WAJR6qfIVLGfHjVOxWIRAGR8qgM6rzO2eWo2m+IJWC6Xt20KWePquPvuu/Hwww/LdRSPx5HJZPDMM88glUohlUohl8vhwoULWzGYui5secbqGt8pi8zjjz+Or3zlK8hkMpidncUvf/lL/Ou//uvtHpKGxobB6/UiGAxix44dmJmZgdPplHYhFosF4XAYbrdbWBb+Dli/N+x2uzjLMxXldDoRDAZRr9eFwXK5XMhkMshms/L3rHDjd7IE3+12wzRNLC0todVqCQPH5uvqJohGgWSfVHsK2l8wxakGNQyiXC6XeGbxs1OpFH784x+jWq2i0WggGo3i7rvvRiAQwODgoGiM+NnUtKXTaVSrVQwNDcHr9UrQw4Cke2yNRkNE3W63G9FoFE6nUwJGpkoYDDJQJGunpue8Xi8Mw0CpVEKz2ZQ0bzgclnSpzWaT4wXWrWhisRgKhQKy2SzOnTuHeDx+ey48jS2Pr3zlK/jSl74km4xvfetb+PrXv46TJ08ikUjI+/ohtrjF2L6M1dWgnvTXX38d3/nOd1Aul5FOp5HP53Ho0CFEIhGEw2EcOXIE8/PzWoipsWlQr9dRLBaxuLiIcrksmhzqfHw+nwQs7XZbggnVToJCeTIprGYky8Ngq1QqIZ/PS2DFSkamIv1+v7y33W6L2J4ialWfxftSTTc6HA5JYzIA4UNd1W+pqTSyaOrruVwOhUJBUn2ZTAYnT56E1+tFKBTqKH6hsSZNK+kMTmsBzhdwSUOmQrUTaLfbMidk+3i8nO9qtSr2G6qBLCtMc7mc2HUYhiEsHxkzHi+PM5PJoFKpvKGTtYbG1eD1erFz507s2rULd999N4rFIlZXV1Gv1/Ev//Ivwr7+5Cc/wYULF1AqlbZDMHVd2LaBlYozZ87gr//6r+Xf9957L971rndhenoaMzMzAIClpSUA27dsXWNzgcLlYrGIhYWFXg+nL1Gr1URTdiUw6GGT7nA4DK/XK5WcIyMjIkAH0JH6VDVtDKZU1/1uEX4mk0GpVEI8HpdAiAFjvV5HPB7X7vIatxWhUAjvfOc78c53vhMf+chHUCgUMDs7i+9+97v41Kc+1evh9TV0YHUFLC0t4cUXX8S5c+cQDAZx7NgxtNttPProo9ixY4doF375y1+KzkVDQ2Nrgbtv1UuMAn+bzYZYLCasGXDJckMVszscDtFyqZWYfD//n+1d6NCvavBUrzINjVuFaDSKz3zmMwiFQvB6vchkMnj11Vfx9NNPIx6PI5/PY3l5GcePH+/1UPseOrC6AlZXV7G6utrxmsViwYMPPohHHnkE8/PzSCQSOHnypA6sNDS2OMj+6fYrGlsZ0WgUn/3sZzE4OAi3240LFy7gqaeewosvvoh/+Id/6PXwNhW2rXj9ZvDggw9iZmZG2jbk83nY7XY89thjcLvdOH78OOLxOH7xi19ot2ENDQ0Njb6D3W7H7/7u72JmZgaTk5MAgGPHjqFer8Ptdku16crKCp544gmx7bgd8Hg8GBwcRLFY3AykhRavbwSef/55PP/88wDWy5/f/e53Y9euXfj4xz8Or9eLp556CqdPn8ZLL73U4WnTD8GrhoaGhsb2hKrpczqdeO9734t7770X4+PjAIA9e/bg2LFj+NM//VMxy+0F3G43xsbGEIvFNkNgdVW8IWNlGMYkgH8CMAKgDeC/mab5fxqGEQHw/wCYATAH4HdM08xe/Js/AfBpAC0Af2Sa5o/f4Ds2XeRhGAaGh4fh9/tx//33w+Fw4Pz582i1WhgdHYXH48Ho6CgSiQR++MMfolwu61Y6GhoaGhq3DTt37sTOnTvxnve8B/v378fp06eRzWYRj8fRaDQQiUQAAIuLi0gmk3jxxRd7mm2hJrFWq22G9fJNMVZNAP+zaZpHDMPwA3jZMIz/APB7AH5qmuZfGYbxRQBfBPAFwzAOAPg4gDsAjAH4iWEYe03T3FIuc6ZpIh6PIx6P4/XXX5fXBwcH8ba3vQ2jo6M4ePAgZmdn8fOf/1xK1LtFqRoaGhoaGm8WakNt/ntiYgK7d+/G+973PuzZswc7d+7EwsICvvSlL+Ho0aO9HfBFqJ0h6vX6NSt1NwtuWGNlGMb3AfxfF39+3TTNFcMwRgH8zDTNfRfZKpim+ZcX3/9jAH9umuYL1/jMDWOshoeH4XQ6pTz5dsNut2Nqago+nw/hcBi5XA5nzpzBW97yFnz4wx8GsO5xc/jwYfz7v//7bR+fhoaGhsbWQjAYxNjYGB5//HF87GMfA7C+ef/ud7+LZ555BtPT0/D7/dKz79VXX0U+n+/xqNfbzD344INIJBJ46aWXNptsZmM0VoZhzAC4G8CLAIZN01wBgIvBVfTi28YB/Er5s6WLr3V/1mcBfPZGvv86xidtMtLpdE9KlBuNBs6dO3fZ64FAAA888ACA9bYUsVgMwLr3Dcuz2duMZdkaGhoaGhoqaI6rmsKGQiGMjIzg0KFDOHTokLz+85//HEtLS3jttdf6qqrVMAzYbDb4/X5MTExIq6qtsu5dN2NlGIYPwM8B/K+maT5hGEbONM2Q8vusaZphwzD+bwAvmKb5zxdf/zqAJ03T/O41PnvDZlPtFQYA+Xy+L3pdhUIh7N69G8D6TmJlZQWxWAwf+tCH8Mgjj4gz9ve//3288MILKBQKujm0hoaGhoYgHA7j4Ycfxv79+/GJT3xCNuVHjhzB9773PQCXenYCwNGjRzE/Py/mtP2CaDSKj33sYyiXy/jZz36GYrG4GVOAb46xMgzDDuC7AL5pmuYTF19eNQxjVEkFsknQEoBJ5c8nAMRubtw3jlqtBsMw4HQ6pYVHPyCXy+Hw4cOXvR4Oh7Fnzx643W5YrVZEIhFpHdJoNCT/zGa4WyWi19DQ0NC4Oti02+PxSLAUiUQwODiIqakp7Ny5E1arFQCk9dTJkycxOzvby2FfEzTQ9fl8GB0dxerqKmKx2JazJ7qeqkADwD8CyJim+V+U1/93AGlFvB4xTfN/MQzjDgDfAvAA1sXrPwWw51ri9VtRFUhqsd+7aw8MDCAajcp4Y7EYyuUyPvzhD2PHjh0Ih8NotVr45je/iaWlJeTz+b7aeWhoaGhobCwcDgcefvhh7NixA5/+9KcRDodhtVoxPz+PL3/5y6hWqwiHwxJwra6uYnFxUfpJ9it8Ph/e+973wjRNvPrqqyiVSkgkEpuVMHhTjNU7APwnAMcNwzh68bUvAfgrAN82DOPTABYAfAwATNM8YRjGtwGcxHpF4e/3oiKwH9J/14N0On0ZBWq1WuFyuRAIBCSwYr+yoaEhAJCgsVwuo9ls6rShhoaGxiaEw+GA3W5HIBCA0+mEaZpwOByIRqPCUAWDQVitVmSzWSSTSSQSib4Qn98ImInxeDyoVqtYXFzcckwVoZ3X+xThcBhOp1Ny6JVKBcFgEH/yJ3+CiYkJuN1uxONxPPHEE5ibm8Phw4c1k6WhoaGxiWAYBh588EHs3bsXn/vc5zA9PQ1g/Xn/1a9+FfPz81hYWEC9XofFYkGxWMTc3FzfaabeCA6HAw8++CBsNhtee+01lMtllEqlzcpUEdp5vRtWq7WvvaS6XWfdbjf8fj9sNhvsdrv81zAMMSMl09VsNrG2toZSqbTpdjUaGhoaWxE+nw+BQAAulwsejwfNZhOtVgsDAwOwWCzyTDdNE1arFdVqFclkEseOHevr9N4bweVywe12w2azod1uI5fL9VWF4q3AtmSs7HY7BgYGUK/Xe2rffyMwDEPE7RTlt1otFItF7N+/H5/97GexY8cO7NmzB7lcDmfPnsWPfvQjfP3rX+/10DU0NDS2PT7ykY/gox/9KO68805MTEygWCyiWCziL//yL/H9739fshTtdhvtdhupVAqNRqPDWHqzwWaz4a677oLL5cKpU6dQqVQ29fF0QTNWKshUGYYBh8OBdrvd9yJ30zTRbDaRSCQu+12hUBB2qlQqoVgsClMVDofh8/ng9/vRaDTQarWQSCRuW1NNDQ0Nje0Ej8eD8fFxaWZcLpeRz+fhcrkkmGJjY/6bP1sF9Kni+tpoNFCpVLY8U0VsS8YKWPf6cLlcGBoaQrVavWLAsllgtVrh8/lgsVjgcDjQarXQbDYxPT2NAwcO4P7778fb3/525PN55HI5fO1rX8NPfvKTXg9bQ0NDY8vh137t1/DlL38Z0WgUIyMjmJubwzPPPINjx47h6aeflpRfu91Gq9VCoVDYUiJuml5Ho1HY7Xasrq6iVqv1PXlxE9CMVTfIUjUaDbTbbdEmbcaT32q1rqil8vv9KBQKWF1dxYULF4TRqlarcDgcmJ6eRiQSgd/vh9VqxcLCAkqlElZWVjblPGhoaGjcalitVoyPj8Pn82F6ehp2ux2NRgOFQgGnTp2SZ2m1WkWj0cDc3BxSqRRWV1eRy+V6PfxbBo/HA6fTiVqthlarJZXqa2tr22492baMlfLd8Hg8iEQiKJVKl4nGNzOoy7LZbCLWN01TxIRf/OIX8fa3vx0TExOw2Wz44Q9/iFOnTuHrX/86UqlUr4evoaGh0Xfw+Xz4oz/6I9xxxx14/PHH4XQ60Wg0sLi4iK985SuYm5vD6dOnYZomLBaLpMJardamsQG6Gdx5552YnJzEkSNHkEwmAUDWnC0KzVhdDaZpikDQ4XBgZGRE8t+bHdRlde8W2AX93LlzcLlcyOVysNlsmJ2dRTwex+joKIaGhvCWt7wFdrsdFosF5XIZs7OzKBQKiMfjPToiDQ0NjVuPwcFBhMNh7Nu3D5FIBMB6lmN5eRnNZhOpVAqnTp3C9PQ0XC4X6vU6zp8/j3g8jkwmg3K5vJUDig5YLBZZI5LJpIjTt8vxXwnbnrFSMTMzgwceeAAnT57Ea6+91uvh3HKwupBtEZrNJnw+Hz760Y9i7969+OQnPwmfzwer1YpkMolvfOMbmJ2dxXe+852+tanQ0NDQeLP44Ac/iIMHD+JTn/oUpqamAKxLLl5++WWcPHkSf/EXf4HFxUXYbJe4CcpLtltQ4XK54HQ6JfW5jY5dM1bXg1KpJGZsg4ODKJfLm9o/5I1AJkt1ba/VatK082c/+xkCgQDsdjuWl5fx+uuvo1Ao4I477sDg4CAmJibQbDZltzY3N4dyubylhJgaGhpbDy6XC8FgEBMTE9i3bx8cDodU7ZXLZdhsNpw9exbPPPMM9u7dC2A9sHrhhRewvLyMQqGwaTW5Gw3qqVqt1nYKqq4JzVh1wTAMjI2NYe/evTh79iwWFxd7PaTbDjauVrukA+s7sn379uGjH/0oDh06hHe+852oVqsoFot48skn8e1vfxuLi4ubusJSQ0Nj62N4eBiHDh3CY489ht/5nd+B3++Hy+VCJpPB6uoq/uZv/gbf+ta3LnsGcr3UjL0GNGN1/TBNE+VyWZgrj8eDer2+rXYmfHhcSWiZyWRw/PhxZLNZJBIJ1Go1lMtlnDhxAslkEgcPHsT4+DgikQi8Xq/ovE6dOoXl5WXMzs6iXC7f7kPS0NDYRnA4HHjrW9+KkZER3HHHHXA4HAAu6U6z2SwuXLiA06dP43vf+x68Xi8CgQDi8TjS6bSIz7ey2PxmYRgGDMPYdinPG4FmrK4Bv98Pv9+PXC6HSqXS6+H0NXizfelLX8InP/lJKUfmg+ypp57CSy+9hG984xtYXl7u9XA1NDS2MCKRCD7/+c/jrrvuwoc+9CEJrOgd9eqrr+ILX/gC5ubmcP78+R6PdnPBarXCarVu+SrH64BmrG4Ga2trANbz8T6fD7lcTuuHrgIG6C+++CIajQZGRkYQCoVE0PmrX/0KyWQS73rXu+B2u7Fz50643W4AQL1eRyKRQCwWwxNPPNGh+dLQ0NDohmEYePzxx7Fr1y4MDQ3Js4SdJarVKk6fPo2lpSWk02m4XC4AlwKrU6dO4fz587qX6g2AvWipqdLp0GuAdF4vfwCY/fwzPj5u3n333WYoFOr5WDbzj9frNf/2b//WfP75581qtWoSa2tr5tzcnPlv//Zvps/n6/k49Y/+0T/9/WO1Ws2vfvWr5tmzZzueJc1m01xcXDSfe+45c3Jysufj3Eo/brfbHBkZMf1+f8/H0ic/h68W02jG6jqQz+el6oGeJTpav3HU63U8+eSTeOWVV67IWOVyOezZswfT09N46KGH4HK54PV6UavVUK1WcerUKRw+fBjLy8taIK+hsUUxMDCAPXv2YPfu3di3bx8CgQACgYD8/ujRo1haWsLLL7+M2dnZKzJW6XR6S5k99wPq9TqKxaLO2lwHdGB1HaBhqMfjkdY3OrC6cTQaDTz11FNX/f3AwAAeffRR3H///fj0pz8t/iiNRgO1Wg0vvPCCmLnqwEpDY2siEong7rvvxjve8Q68+93vRiAQgM/nAwCYpokDBw7g2WefxT//8z/j6NGjvR3sNkKr1dKFR9cJLV6/AdhsNml0bLVaUSqVtrt4b0PhcrkwPDyMiYkJ3HvvveItU6/XUa/XsbCwgOPHj+PQoUOYnp7Grl27MD4+3vEZ9Xodzz//PGKxGJ566imtodDQ6BPY7Xbcc889mJ6exgc/+MEOFgqAOHfncjmsrKwAWA+k3G43vF6vvO/cuXNYWlrCiRMnkMlkbusxbCdYrVb4fD40Gg1dvHVlaPH6RoCWCz6fD06nE5VKRQdWGwiak87Pz+OXv/zlVd/32GOP4QMf+AAOHDiAgYGBjt81m00Eg0EcPXoUzz77LAqFglQsdoObCl02rKHx5sB77Er3GbB+jzmdTuzduxcHDhzAb//2b0v6jqjX60in0zhz5gy+/e1v4/jx49d8DmjcWlitVrjdblgsFh1Y3SA0Y3UTIGO1tramU4I9wK5du7B3715Eo9HLdr3tdhvnzp1DpVLB5OQkgsEg7r33XoRCIQwMDMiDn+nEhYUFvPLKKzhz5gxeffXVXhyOhsamRTAYRCgUwvvf/37cc889GB0dveyepL1BMpnET3/6U9Trddx3331SqUc0Gg2USiXxkcrn80in07fzcDSwHlD5/X6YpikejrpS+4rQjNVGQov3eotz587h3Llz13yPz+fDAw88gH379uHRRx9FIBCA1+sVJ+VGo4FsNouFhQWUSiWsra3hxIkTHb0TGYSZpol2u33ZfzU0tiLIPPE+4H9V8D7w+XwYGhrCXXfdhUcffbRDSE60Wi0MDAzg/Pnz+OY3v4n5+Xm88sort+VYNG4cFosFLpcLjUYDhUJBs/k3Ac1YaWxJWK1WTE1NIRgMYnp6WvRaDJaazSZqtRoqlQpyuRzGxsYwPj6OnTt34s4774TH4+lYIM6fP4+VlRW88MILOH/+PF577TWUSqVeHZ6Gxi2B3W7HxMQEpqen8b73vQ+Dg4PYvXu33D8sJInFYrhw4QLOnj2L06dPw+12i98fzTiJdrst2qljx45t6f6rmx02m63DWV0zVdeEZqw0thdarRYuXLgAANesHGIz1mg0ih07duCee+7Bvn374PF4OtpgBAIBjI6OYn5+HpVKBQsLCwDWA7ir6UrUsbBha7PZ1DtAjdsCm80Gu90uTtkArqmBajQacDgciEQiGB0dxcGDBzEyMoLp6WnY7XY4HA60Wi2sra1heHgYPp8P+Xwes7OzOH78OFZXV2/n4WlsILo1cjor8+agGSuNbQ3DMGCz2eDz+RCJRBAKhRAOh2UhAdYXHbY1SqfTsFgs+MxnPoP9+/dj586dl2lFVLTbbayuruIXv/gFZmdn8dRTT6Farepdu8Ytx/vf/348/PDD2L9/P8bGxuD1emG32y97X6vVQq1Ww69+9SusrKzg2WefRbFYhGmasNvtCAaDUg3NTUK5XEahUEAmk0Eul0OtVtPsxiaFxWJBJBIBAGSzWUnzarwhNGOloXElcKeezWavy1DQ4XAgEAhgaGgIU1NTmJycvOJipX6+3W7H2NgYkskk/H4/nE4nvF4vrFaraL6uBT7oqtUq2u22GNTqitStCcMw4HK5YLVaYbfbYbFYOlI0VwOvCbYcGRwclLTeyMgI3G43bLbLH/m8puLxOJrNJlqtFrLZLObm5vQ1tsVBLR2fYbpCemOgGSsNjRuAYRiwWCyYnJyEz+eDz+e7ZmDVbrdRqVSQzWYl3XjXXXfhoYcewsDAwGUVVN0wTROVSgWlUglPP/00YrGY9F28cOGCFtFvMTgcDng8HvzWb/0WxsfHcejQIQwODmJkZOQynWA3KpUKUqkULly4gFOnTmF2dhZHjhyBz+eToOpqQvRWq4V0Oo21tTWk02k0Gg2dDtriMAwDAwMDsFqtKBQKaDQaYimkcV3QjJWGxkbANE20Wi3Mzc3d1N/u3LkTTqcTfr8fXq9XHKWvBS6kHo8HHo8HwWBQGAkAcDqdsFgsovd6IxaMC6lpmqL5IlNBNkyzYpeDjJHD4YDFYpF5J6tEBpJGwtcDdnFgyyzTNGGz2cQUMxgMSgDvcDguq7hTYbFYUKvVEAgE4HK5UCgURGeoodENPisMw0C9Xtf3+gZCM1YaGrcJXDA9Ho8wXddiuwgGPYVCAVarFdPT04hGo7j77rsxMjKCu+66Cz6fD6FQCFar9YrpHhWmaSKfz6NarSKfz4sxay6Xw+zsrAiSC4UCFhcXNSt2Eax8e+tb34poNIr9+/cjFAphx44d8Pv9CIVC8Hq9GBwcvO7AqlQqSTFEPB7Hc889h6WlJSwsLKBSqUgwpwbPV0Oz2US9XpfKPX62hsbVwOtJB1U3Bc1Y9QNYwqqxPdFsNlEsFlEsFm+6gsrhcCAcDiMQCHRoalqtFtrtNgzDuK6HJP9W/QzTNOFwOOB0OhEKhWCz2eR6tdlssNlscDgcHTvday30mxlkkWiOyLm12WwYGhoSVsjhcAjjp87p9d7n3eeBbGEmk0GhUECtVtPPDI1bBh1Q3Rpoxuo2gVU1LLnX0LhZMMhxuVwdKSmmAt/I/oEGp2oQ0Gw2YbPZMD093VEhee+99yIcDmN8fBxerxeRSERYMYfD8Ybs2GZGPp9HsVhEPp9HpVLB0aNHkUqlhBWKx+MoFAo4efIk6vU6LBZLh9D8esBzwOcCq+uYou2H57OGhsYVoRmrfgB3vRaLRT80NW4a6iK8kbDZbPB6vVhbW5NALZfLod1uw+l0CntitVolqOo2g9xKyGazKBQKyOfzKJVKyOVyKBQKqFQqqNfrWF5eRi6XQzwe11YDGhoaAs1Y3WbYbDY4nU7Z9Wpo9BOY4uN/7Xa7pPzU1wFcl1B+M0Nl9GjLwf9vt9vyO51O0dDYltCMVb9A7TenodFvoFCdwYIuudfQ0NC4MejA6jaj1Wpp120NDQ0NDY0tiq3L428SeL1eRKPRa/rTaGhoaGhoaGwO6MCqxxgeHsYDDzwgZo8aGhoaGhoamxc6sOoxSqUS5ufn0W634ff7t3T5uoaGhoaGxlaHDqx6jEQigePHj6PZbGJ8fFynBDU0NDQ0NDYxND3SJyiXy1K6bbFYdBsRDQ0NDY1rglYotP/Q6A/owKpPUCqVUCqVxFWbLTI0NDQ0NDSuBHZeaDQa2hqlj6ADqz4Dg6nR0VF4PB4sLS1pewYNDQ0NDQF7hjYaDRSLRb0J7zNojVWfgT3cZmZmcNddd8Hj8fR6SBoaGhoafQSn04mJiQkEg0E0Gg3t/t9n0IxVH8I0TZw7dw6xWAyVSqXXw9HQ0NDQ6AMYhgGn0wnTNLG4uIi1tbVeD0njCtCBVZ8iHo/3eggaGhoaGn0EaqqazSYSiUSvh6NxFejASkNDQ0NDo4/BhugAUKlUtKaqz6E1VhoaGhoaGn0MBlZWq1VrqjYBNGOloaGhoaHRh7BYLIhEIgCAfD6vmapNAh1YaWhoaGho9CEMw4Db7RYDUM1UbQ7owEpDQ0NDQ6MP0W63kUwmAUAHVZsIOrDS0NDQ0NDoQ5imiVqt1uthaNwgtHhdQ0NDQ0OjT2C32+FwOGAYRq+HonGT0IGVhoaGhoZGn8AwDFgsemnezNCpQA0NDQ0NjT5Bo9EAsJ4G1Nic0IGVhoaGhoZGn0AHVJsf/RJYpQCUL/5XozcYhJ7/XkOfg95Cz39voee/t9Dzf2OYvtovjH6Jjg3DOGya5n29Hsd2hZ7/3kOfg95Cz39voee/t9Dzv3HQCjkNDQ0NDQ0NjQ2CDqw0NDQ0NDQ0NDYI/RRY/bdeD2CbQ89/76HPQW+h57+30PPfW+j53yD0jcZKQ0NDQ0NDQ2Ozo58YKw0NDQ0NDQ2NTQ0dWGloaGhoaGhobBD6IrAyDON9hmGcNgzjrGEYX+z1eLYDDMOYMwzjuGEYRw3DOHzxtYhhGP9hGMbrF/8b7vU4twoMw/jvhmEkDMN4TXntqvNtGMafXLwfThuG8d7ejHrr4Crz/+eGYSxfvAeOGobxm8rv9PxvIAzDmDQM4xnDME4ZhnHCMIz/6eLr+h64TbjGOdD3wQaj5xorwzCsAM4AeAzAEoCXAHzCNM2TPR3YFodhGHMA7jNNM6W89r8ByJim+VcXA9ywaZpf6NUYtxIMw3gXgBKAfzJN886Lr11xvg3DOADgXwA8AGAMwE8A7DVNs9Wj4W96XGX+/xxAyTTNv+56r57/DYZhGKMARk3TPGIYhh/AywB+G8DvQd8DtwXXOAe/A30fbCj6gbF6AMBZ0zTPm6ZZB/A/AHyox2ParvgQgH+8+P//iPWbTmMDYJrmLwBkul6+2nx/CMD/ME1zzTTNCwDOYv0+0bhJXGX+rwY9/xsM0zRXTNM8cvH/iwBOARiHvgduG65xDq4GfQ5uEv0QWI0DWFT+vYRrn2yNjYEJ4P81DONlwzA+e/G1YdM0V4D1mxBAtGej2x642nzre+L24Q8Mwzh2MVXINJSe/1sIwzBmANwN4EXoe6An6DoHgL4PNhT9EFgZV3hNe0DcerzDNM17ALwfwO9fTJVo9Af0PXF78FUAuwAcArAC4G8uvq7n/xbBMAwfgO8C+C+maRau9dYrvKbPwQbgCudA3wcbjH4IrJYATCr/ngAQ69FYtg1M04xd/G8CwPewTvGuXszDMx+f6N0ItwWuNt/6nrgNME1z1TTNlmmabQD/gEtpDj3/twCGYdixvqB/0zTNJy6+rO+B24grnQN9H2w8+iGwegnAHsMwdhiG4QDwcQA/6PGYtjQMw/BeFC/CMAwvgPcAeA3r8/6fL77tPwP4fm9GuG1wtfn+AYCPG4bhNAxjB4A9AP6/HoxvS4ML+kV8GOv3AKDnf8NhGIYB4OsATpmm+X8ov9L3wG3C1c6Bvg82HrZeD8A0zaZhGH8A4McArAD+u2maJ3o8rK2OYQDfW7/PYAPwLdM0f2QYxksAvm0YxqcBLAD4WA/HuKVgGMa/APh1AIOGYSwB+DMAf4UrzLdpmicMw/g2gJMAmgB+X1fivDlcZf5/3TCMQ1hPb8wB+Byg5/8W4R0A/hOA44ZhHL342peg74Hbiaudg0/o+2Bj0XO7BQ0NDQ0NDQ2NrYJ+SAVqaGhoaGhoaGwJ6MBKQ0NDQ0NDQ2ODoAMrDQ0NDQ0NDY0Ngg6sNDQ0NDQ0NDQ2CDqw0tDQ0NDQ0NDYIOjASkNDQ0NDQ0Njg6ADKw0NDQ0NDQ2NDcL/DxmnFkzO+s2qAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "maskedspleen = np.ma.masked_where(test_outputsSpl[0].cpu().numpy()[1][:,:,200] == 0, test_outputsSpl[0].cpu().numpy()[1][:,:,200])\n", "fig = plt.figure(frameon=False, figsize=(10,10))\n", @@ -1729,7 +842,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "657e44a0", "metadata": {}, "outputs": [], @@ -1748,28 +861,10 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "a6fb0da7", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2022-04-27 15:06:54,404 - INFO - Expected md5 is None, skip md5 check for file monai_data/clara_pt_liver_and_tumor_ct_segmentation_1.zip.\n", - "2022-04-27 15:06:54,405 - INFO - File exists: monai_data/clara_pt_liver_and_tumor_ct_segmentation_1.zip, skipped downloading.\n", - "2022-04-27 15:06:54,425 - INFO - Non-empty folder exists in monai_data/clara_pt_liver_and_tumor_ct_segmentation, skipped extracting.\n", - "2022-04-27 15:06:54,426 - INFO - \n", - "*** \"clara_pt_liver_and_tumor_ct_segmentation\" available at monai_data/clara_pt_liver_and_tumor_ct_segmentation.\n", - "2022-04-27 15:06:54,889 - INFO - *** Model: \n", - "2022-04-27 15:06:54,938 - INFO - *** Model params: {'dimensions': 3, 'in_channels': 1, 'out_channels': 3, 'channels': [16, 32, 64, 128, 256], 'strides': [2, 2, 2, 2], 'num_res_units': 2, 'norm': 'batch'}\n", - "2022-04-27 15:06:54,950 - INFO - \n", - "---\n", - "2022-04-27 15:06:54,951 - INFO - For more information, please visit https://ngc.nvidia.com/catalog/models/nvidia:med:clara_pt_liver_and_tumor_ct_segmentation\n", - "\n" - ] - } - ], + "outputs": [], "source": [ " try: #MONAI=0.8\n", " unet_model = load_from_mmar(\n", @@ -1789,29 +884,10 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "55034354", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "using a pretrained model.\n", - "2022-04-27 15:06:55,931 - INFO - Expected md5 is None, skip md5 check for file monai_data/clara_pt_liver_and_tumor_ct_segmentation_1.zip.\n", - "2022-04-27 15:06:55,931 - INFO - File exists: monai_data/clara_pt_liver_and_tumor_ct_segmentation_1.zip, skipped downloading.\n", - "2022-04-27 15:06:55,932 - INFO - Non-empty folder exists in monai_data/clara_pt_liver_and_tumor_ct_segmentation, skipped extracting.\n", - "2022-04-27 15:06:55,933 - INFO - \n", - "*** \"clara_pt_liver_and_tumor_ct_segmentation\" available at monai_data/clara_pt_liver_and_tumor_ct_segmentation.\n", - "2022-04-27 15:06:55,962 - INFO - *** Model: \n", - "2022-04-27 15:06:56,010 - INFO - *** Model params: {'dimensions': 3, 'in_channels': 1, 'out_channels': 3, 'channels': [16, 32, 64, 128, 256], 'strides': [2, 2, 2, 2], 'num_res_units': 2, 'norm': 'batch'}\n", - "2022-04-27 15:06:56,023 - INFO - \n", - "---\n", - "2022-04-27 15:06:56,024 - INFO - For more information, please visit https://ngc.nvidia.com/catalog/models/nvidia:med:clara_pt_liver_and_tumor_ct_segmentation\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n", "\n", @@ -1834,7 +910,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "a79c1731", "metadata": {}, "outputs": [], @@ -1860,33 +936,10 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "c0956706", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "sliceval = 215\n", "maskedliv = np.ma.masked_where(test_outputsliv[0].cpu().numpy()[1][:,:,sliceval] == 0, test_outputsliv[0].cpu().numpy()[1][:,:,sliceval])\n", @@ -1900,33 +953,10 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "5bdfdbe9", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "sliceval = 110\n", "maskedliv = np.ma.masked_where(test_outputsliv[0].cpu().numpy()[1][:,sliceval,:] == 0, test_outputsliv[0].cpu().numpy()[1][:,sliceval,:])\n", @@ -1949,28 +979,20 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "id": "0dce4d55", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e17e6228", + "cell_type": "markdown", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## Conclusions\n", + "Here you learned how to use NVIDIA pre-trained models for image segmentation" + ] }, { - "cell_type": "code", - "execution_count": null, - "id": "7034135a", + "cell_type": "markdown", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## Clean up\n", + "Shut down your compute environment and delete any resource groups associated with this notebook." + ] } ], "metadata": { diff --git a/notebooks/rnaseq-myco-tutorial-main/RNAseq_pipeline.ipynb b/notebooks/rnaseq-myco-tutorial-main/RNAseq_pipeline.ipynb index efaa963..fe594c4 100644 --- a/notebooks/rnaseq-myco-tutorial-main/RNAseq_pipeline.ipynb +++ b/notebooks/rnaseq-myco-tutorial-main/RNAseq_pipeline.ipynb @@ -2,41 +2,66 @@ "cells": [ { "cell_type": "markdown", + "metadata": {}, "source": [ "# RNA-Seq Analysis Training Demo on Azure" - ], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## Overview" - ], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "This short tutorial demonstrates how to run an RNA-Seq workflow using a prokaryotic data set. Steps in the workflow include read trimming, read QC, read mapping, and counting mapped reads per gene to quantitative gene expression." - ], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 1: Setup Environment" - ], - "metadata": {} + "## Prerequisites\n", + "We assume you have provisioned a compute environment in Azure ML Studio" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "Note that within Jupyter you can run a bash comman either by using the magic '!' in front of your command, or by adding %%bash to the top of your cell." - ], - "metadata": {} + "## Learning objectives\n", + "+ Learn how to copy data to and from Blob storage\n", + "+ Learn how to run and visualize basic RNAseq analysis" + ] }, { "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Get started" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Install packages" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that within Jupyter you can run a bash command either by using the magic '!' in front of your command, or by adding %%bash to the top of your cell." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, "source": [ "For example\n", "```\n", @@ -47,98 +72,82 @@ "```\n", "!example command\n", "```" - ], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "The first step is to install mamba forge, which is the newer and faster version of the conda package manager." - ], - "metadata": {} + "The first step is to install mambaforge, which is the newer and faster version of the conda package manager." + ] }, { "cell_type": "code", - "source": [ - "!curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh\n", - "!bash Mambaforge-$(uname)-$(uname -m).sh -b -p $HOME/mambaforge" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\n100 82.9M 100 82.9M 0 0 115M 0 --:--:-- --:--:-- --:--:-- 198M\nERROR: File or directory already exists: '/home/azureuser/mambaforge'\nIf you want to update an existing installation, use the -u option.\n" - } - ], - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [] - } + }, + "outputs": [], + "source": [ + "! curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh\n", + "! bash Mambaforge-$(uname)-$(uname -m).sh -b -p $HOME/mambaforge" + ] }, { "cell_type": "code", - "source": [ - "#add to your path\n", - "import os\n", - "os.environ[\"PATH\"] += os.pathsep + os.environ[\"HOME\"]+\"/mambaforge/bin\"" - ], - "outputs": [], - "execution_count": 2, + "execution_count": null, "metadata": { "gather": { "logged": 1682515170386 } - } + }, + "outputs": [], + "source": [ + "#add to your path\n", + "import os\n", + "os.environ[\"PATH\"] += os.pathsep + os.environ[\"HOME\"]+\"/mambaforge/bin\"" + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "! mamba info --envs" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "\n __ __ __ __\n / \\ / \\ / \\ / \\\n / \\/ \\/ \\/ \\\n███████████████/ /██/ /██/ /██/ /████████████████████████\n / / \\ / \\ / \\ / \\ \\____\n / / \\_/ \\_/ \\_/ \\ o \\__,\n / _/ \\_____/ `\n |/\n ███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗\n ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗\n ██╔████╔██║███████║██╔████╔██║██████╔╝███████║\n ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║\n ██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║\n ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝\n\n mamba (1.1.0) supported by @QuantStack\n\n GitHub: https://github.com/mamba-org/mamba\n Twitter: https://twitter.com/QuantStack\n\n█████████████████████████████████████████████████████████████\n\n# conda environments:\n#\n /anaconda\nbase /home/azureuser/mambaforge\n\n" - } - ], - "execution_count": 3, - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "Next, we will install the necessary packages into the current environment." - ], - "metadata": {} + ] }, { "cell_type": "code", - "source": [ - "! mamba install -c conda-forge -c bioconda -c defaults -y sra-tools pigz pbzip2 fastp fastqc multiqc salmon" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "\n __ __ __ __\n / \\ / \\ / \\ / \\\n / \\/ \\/ \\/ \\\n███████████████/ /██/ /██/ /██/ /████████████████████████\n / / \\ / \\ / \\ / \\ \\____\n / / \\_/ \\_/ \\_/ \\ o \\__,\n / _/ \\_____/ `\n |/\n ███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗\n ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗\n ██╔████╔██║███████║██╔████╔██║██████╔╝███████║\n ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║\n ██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║\n ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝\n\n mamba (1.1.0) supported by @QuantStack\n\n GitHub: https://github.com/mamba-org/mamba\n Twitter: https://twitter.com/QuantStack\n\n█████████████████████████████████████████████████████████████\n\n\nLooking for: ['sra-tools', 'pigz=2.6', 'pbzip2=1.1', 'fastp=0.23.2', 'fastqc=0.11.9', 'multiqc', 'salmon=1.5.1']\n\n\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\nconda-forge/noarch \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\nbioconda/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\nbioconda/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/main/linux-64 No change\nbioconda/linux-64 No change\npkgs/r/noarch No change\nbioconda/noarch No change\npkgs/main/noarch No change\npkgs/r/linux-64 No change\n[+] 0.2s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 123.0kB / ??.?MB @ 756.3kB/s 0.2s\nconda-forge/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 182.2kB / ??.?MB @ 1.1MB/s 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 539.1kB / ??.?MB @ 2.0MB/s 0.3s\nconda-forge/noarch \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 734.4kB / ??.?MB @ 2.8MB/s 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 1.0MB / ??.?MB @ 2.8MB/s 0.4s\nconda-forge/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 1.3MB / ??.?MB @ 3.6MB/s 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 1.5MB / ??.?MB @ 3.1MB/s 0.5s\nconda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 1.9MB / ??.?MB @ 4.1MB/s 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 2.0MB / ??.?MB @ 3.5MB/s 0.6s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 2.4MB / ??.?MB @ 4.2MB/s 0.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.7s\nconda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 2.4MB / ??.?MB @ 3.6MB/s 0.7s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 2.9MB / ??.?MB @ 4.3MB/s 0.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.8s\nconda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 2.9MB / ??.?MB @ 3.8MB/s 0.8s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 3.4MB / ??.?MB @ 4.4MB/s 0.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.9s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 3.4MB / ??.?MB @ 3.9MB/s 0.9s\nconda-forge/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 3.9MB / ??.?MB @ 4.5MB/s 0.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.0s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 3.9MB / ??.?MB @ 4.0MB/s 1.0s\nconda-forge/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 4.4MB / ??.?MB @ 4.6MB/s 1.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 4.3MB / ??.?MB @ 4.0MB/s 1.1s\nconda-forge/noarch \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 4.8MB / ??.?MB @ 4.5MB/s 1.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.2s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 4.8MB / ??.?MB @ 4.1MB/s 1.2s\nconda-forge/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 5.1MB / ??.?MB @ 4.3MB/s 1.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.3s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 5.2MB / ??.?MB @ 4.1MB/s 1.3s\nconda-forge/noarch \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 5.5MB / ??.?MB @ 4.3MB/s 1.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 5.7MB / ??.?MB @ 4.1MB/s 1.4s\nconda-forge/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 6.0MB / ??.?MB @ 4.4MB/s 1.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.5s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 6.2MB / ??.?MB @ 4.2MB/s 1.5s\nconda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 6.5MB / ??.?MB @ 4.4MB/s 1.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.6s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 6.7MB / ??.?MB @ 4.2MB/s 1.6s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 7.0MB / ??.?MB @ 4.4MB/s 1.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.7s\nconda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 7.1MB / ??.?MB @ 4.3MB/s 1.7s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 7.5MB / ??.?MB @ 4.4MB/s 1.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.8s\nconda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 7.7MB / ??.?MB @ 4.3MB/s 1.8s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 7.8MB / ??.?MB @ 4.4MB/s 1.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.9s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 8.1MB / ??.?MB @ 4.3MB/s 1.9s\nconda-forge/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 8.3MB / ??.?MB @ 4.4MB/s 1.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.0s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 8.6MB / ??.?MB @ 4.3MB/s 2.0s\nconda-forge/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 8.7MB / ??.?MB @ 4.4MB/s 2.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 9.1MB / ??.?MB @ 4.4MB/s 2.1s\nconda-forge/noarch \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 9.1MB / ??.?MB @ 4.4MB/s 2.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.2s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 9.6MB / ??.?MB @ 4.4MB/s 2.2s\nconda-forge/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 9.4MB / ??.?MB @ 4.3MB/s 2.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.3s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 10.1MB / ??.?MB @ 4.4MB/s 2.3s\nconda-forge/noarch \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 9.9MB / ??.?MB @ 4.3MB/s 2.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 10.6MB / ??.?MB @ 4.5MB/s 2.4s\nconda-forge/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 10.4MB / ??.?MB @ 4.3MB/s 2.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.5s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 11.1MB / ??.?MB @ 4.5MB/s 2.5s\nconda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 10.8MB / ??.?MB @ 4.4MB/s 2.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.6s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 11.6MB / ??.?MB @ 4.5MB/s 2.6s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 11.3MB / ??.?MB @ 4.4MB/s 2.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.7s\nconda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 12.1MB / ??.?MB @ 4.5MB/s 2.7s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 11.8MB / ??.?MB @ 4.4MB/s 2.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.8s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 12.4MB / ??.?MB @ 4.5MB/s 2.8s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 12.0MB / ??.?MB @ 4.4MB/s 2.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.9s\nconda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 12.4MB @ 4.5MB/s 2.9s\nconda-forge/noarch ━━━━━━━━━━━━━━━━━━━━━━ 12.0MB @ 4.4MB/s Finalizing 2.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.0s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 12.4MB / ??.?MB @ 4.5MB/s 3.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.1s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 12.4MB / ??.?MB @ 4.5MB/s 3.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.2s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 12.4MB / ??.?MB @ 4.5MB/s 3.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.3s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 12.4MB / ??.?MB @ 4.5MB/s 3.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/noarch @ 4.4MB/s 2.9s\n[+] 3.4s\nconda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 12.4MB / ??.?MB @ 3.7MB/s 3.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.5s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 13.7MB / ??.?MB @ 4.0MB/s 3.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.6s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 14.3MB / ??.?MB @ 4.0MB/s 3.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.7s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 14.8MB / ??.?MB @ 4.0MB/s 3.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 15.3MB / ??.?MB @ 4.1MB/s 3.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.9s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 15.8MB / ??.?MB @ 4.1MB/s 3.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.0s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 16.4MB / ??.?MB @ 4.1MB/s 4.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.1s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 16.9MB / ??.?MB @ 4.2MB/s 4.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.2s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 17.4MB / ??.?MB @ 4.2MB/s 4.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.3s\nconda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 17.9MB / ??.?MB @ 4.2MB/s 4.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.4s\nconda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 18.4MB / ??.?MB @ 4.2MB/s 4.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.5s\nconda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 18.4MB / ??.?MB @ 4.2MB/s 4.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.6s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 19.4MB / ??.?MB @ 4.3MB/s 4.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.7s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 19.9MB / ??.?MB @ 4.3MB/s 4.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 20.4MB / ??.?MB @ 4.3MB/s 4.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.9s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 20.9MB / ??.?MB @ 4.3MB/s 4.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.0s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 21.4MB / ??.?MB @ 4.3MB/s 5.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 21.9MB / ??.?MB @ 4.3MB/s 5.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.2s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 22.3MB / ??.?MB @ 4.3MB/s 5.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.3s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 22.8MB / ??.?MB @ 4.3MB/s 5.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.4s\nconda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 23.3MB / ??.?MB @ 4.3MB/s 5.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.5s\nconda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 23.8MB / ??.?MB @ 4.3MB/s 5.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.6s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 24.3MB / ??.?MB @ 4.4MB/s 5.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.7s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 24.5MB / ??.?MB @ 4.3MB/s 5.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 25.0MB / ??.?MB @ 4.3MB/s 5.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.9s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 25.4MB / ??.?MB @ 4.3MB/s 5.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.0s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 25.9MB / ??.?MB @ 4.3MB/s 6.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 26.4MB / ??.?MB @ 4.3MB/s 6.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.2s\nconda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 26.9MB / ??.?MB @ 4.3MB/s 6.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.3s\nconda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 27.3MB / ??.?MB @ 4.3MB/s 6.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.4s\nconda-forge/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 27.8MB / ??.?MB @ 4.4MB/s 6.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.5s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 28.2MB / ??.?MB @ 4.3MB/s 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.6s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 28.2MB / ??.?MB @ 4.3MB/s 6.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.7s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 28.9MB / ??.?MB @ 4.3MB/s 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.8s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 29.3MB / ??.?MB @ 4.3MB/s 6.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.9s\nconda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 29.8MB / ??.?MB @ 4.3MB/s 6.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.0s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 30.3MB / ??.?MB @ 4.3MB/s 7.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 30.7MB / ??.?MB @ 4.3MB/s 7.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.2s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 7.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.3s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 7.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 7.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.5s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 7.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.6s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 7.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.7s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 7.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 7.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.9s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 7.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.0s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.2s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.3s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.5s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.6s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.7s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.9s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.0s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 9.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 9.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.2s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 9.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.3s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 9.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 9.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.5s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 9.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.6s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 9.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.7s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 30.9MB / ??.?MB @ 4.3MB/s 9.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.8s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 31.1MB @ 4.3MB/s Finalizing 9.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.9s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 31.1MB @ 4.3MB/s Finalizing 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.0s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 31.1MB @ 4.3MB/s Finalizing 10.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.1s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 31.1MB @ 4.3MB/s Finalizing 10.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.2s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.3s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.4s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.5s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.6s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.7s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.8s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.9s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.0s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.1s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.2s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.3s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/linux-64 @ 4.3MB/s 10.1s\n\u001b[?25h\nPinned packages:\n - python 3.10.*\n\n\nTransaction\n\n Prefix: /home/azureuser/mambaforge\n\n All requested packages already installed\n\n\u001b[?25l\u001b[2K\u001b[0G\u001b[?25h" - } - ], - "execution_count": 17, + "execution_count": null, "metadata": { "scrolled": true, "tags": [] - } + }, + "outputs": [], + "source": [ + "! mamba install -c conda-forge -c bioconda -c defaults -y sra-tools pigz pbzip2 fastp fastqc multiqc salmon" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "Create a set of directories to store the reads, reference sequence files, and output files.\n" - ], - "metadata": {} + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "%%bash\n", "mkdir -p data\n", @@ -148,409 +157,337 @@ "mkdir -p data/aligned\n", "mkdir -p data/reference\n", "mkdir -p data/quants" - ], - "outputs": [], - "execution_count": 33, - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 2: Copy FASTQ Files\n", + "### Copy FASTQ Files\n", "In order for this tutorial to run quickly, we will only analyze 50,000 reads from a sample from both sample groups instead of analyzing all the reads from all six samples. These files have been posted on a Azure Blob storage containers that we made publicly accessible." - ], - "metadata": {} + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "!curl https://storeshare.blob.core.windows.net/publicdata/testsample/RNAseq/raw_fastq/SRR13349122_1.fastq --output data/raw_fastq/SRR13349122_1.fastq\n", "!curl https://storeshare.blob.core.windows.net/publicdata/testsample/RNAseq/raw_fastq/SRR13349122_2.fastq --output data/raw_fastq/SRR13349122_2.fastq\n", "!curl https://storeshare.blob.core.windows.net/publicdata/testsample/RNAseq/raw_fastq/SRR13349128_1.fastq --output data/raw_fastq/SRR13349128_1.fastq\n", "!curl https://storeshare.blob.core.windows.net/publicdata/testsample/RNAseq/raw_fastq/SRR13349128_2.fastq --output data/raw_fastq/SRR13349128_2.fastq" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 8452k 100 8452k 0 0 10.4M 0 --:--:-- --:--:-- --:--:-- 10.4M\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 8452k 100 8452k 0 0 9328k 0 --:--:-- --:--:-- --:--:-- 9319k\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 8452k 100 8452k 0 0 11.1M 0 --:--:-- --:--:-- --:--:-- 11.1M\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 8452k 100 8452k 0 0 12.7M 0 --:--:-- --:--:-- --:--:-- 12.7M\n" - } - ], - "execution_count": 6, - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 3: Copy reference transcriptome files that will be used by Salmon\n", + "### Copy reference transcriptome files that will be used by Salmon\n", "Salmon is a tool that aligns RNA-Seq reads to a set of transcripts rather than the entire genome." - ], - "metadata": {} + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "!curl https://storeshare.blob.core.windows.net/publicdata/testsample/RNAseq/reference/M_chelonae_transcripts.fasta --output data/reference/M_chelonae_transcripts.fasta\n", "!curl https://storeshare.blob.core.windows.net/publicdata/testsample/RNAseq/reference/decoys.txt --output data/reference/decoys.txt" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 9599k 100 9599k 0 0 12.3M 0 --:--:-- --:--:-- --:--:-- 12.3M\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 14 100 14 0 0 76 0 --:--:-- --:--:-- --:--:-- 76\n" - } - ], - "execution_count": 27, - "metadata": {} + ] }, { "cell_type": "code", - "source": [ - "ls data/raw_fastq" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "\u001b[0m\u001b[01;32mSRR13349122_1.fastq\u001b[0m* \u001b[01;32mSRR13349128_1.fastq\u001b[0m*\r\n\u001b[01;32mSRR13349122_2.fastq\u001b[0m* \u001b[01;32mSRR13349128_2.fastq\u001b[0m*\r\n" - } - ], - "execution_count": 38, + "execution_count": null, "metadata": { + "gather": { + "logged": 1682517580413 + }, "jupyter": { - "source_hidden": false, - "outputs_hidden": false + "outputs_hidden": false, + "source_hidden": false }, "nteract": { "transient": { "deleting": false } - }, - "gather": { - "logged": 1682517580413 } - } + }, + "outputs": [], + "source": [ + "ls data/raw_fastq" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 4: Trim our data with Fastp" - ], - "metadata": {} + "### Trim our data with Fastp" + ] }, { "cell_type": "code", - "source": [ - "! fastp -i data/raw_fastq/SRR13349122_1.fastq -I data/raw_fastq/SRR13349122_2.fastq -o data/trimmed/SRR13349122_1_trimmed.fastq -O data/trimmed/SRR13349122_2_trimmed.fastq\n", - "! fastp -i data/raw_fastq/SRR13349128_1.fastq -I data/raw_fastq/SRR13349128_2.fastq -o data/trimmed/SRR13349128_1_trimmed.fastq -O data/trimmed/SRR13349128_2_trimmed.fastq" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "Read1 before filtering:\ntotal reads: 50000\ntotal bases: 2550000\nQ20 bases: 2451900(96.1529%)\nQ30 bases: 2370275(92.952%)\n\nRead2 before filtering:\ntotal reads: 50000\ntotal bases: 2550000\nQ20 bases: 2376817(93.2085%)\nQ30 bases: 2255260(88.4416%)\n\nRead1 after filtering:\ntotal reads: 49849\ntotal bases: 2542226\nQ20 bases: 2444408(96.1523%)\nQ30 bases: 2363088(92.9535%)\n\nRead2 after filtering:\ntotal reads: 49849\ntotal bases: 2542226\nQ20 bases: 2374927(93.4192%)\nQ30 bases: 2253977(88.6616%)\n\nFiltering result:\nreads passed filter: 99698\nreads failed due to low quality: 246\nreads failed due to too many N: 56\nreads failed due to too short: 0\nreads with adapter trimmed: 18\nbases trimmed due to adapters: 146\n\nDuplication rate: 23.57%\n\nInsert size peak (evaluated by paired-end reads): 33\n\nJSON report: fastp.json\nHTML report: fastp.html\n\nfastp -i data/raw_fastq/SRR13349122_1.fastq -I data/raw_fastq/SRR13349122_2.fastq -o data/trimmed/SRR13349122_1_trimmed.fastq -O data/trimmed/SRR13349122_2_trimmed.fastq \nfastp v0.23.2, time used: 2 seconds\nRead1 before filtering:\ntotal reads: 50000\ntotal bases: 2550000\nQ20 bases: 2447617(95.985%)\nQ30 bases: 2363073(92.6695%)\n\nRead2 before filtering:\ntotal reads: 50000\ntotal bases: 2550000\nQ20 bases: 2379063(93.2966%)\nQ30 bases: 2258898(88.5842%)\n\nRead1 after filtering:\ntotal reads: 49831\ntotal bases: 2541263\nQ20 bases: 2439163(95.9823%)\nQ30 bases: 2354964(92.669%)\n\nRead2 after filtering:\ntotal reads: 49831\ntotal bases: 2541263\nQ20 bases: 2377253(93.5461%)\nQ30 bases: 2257594(88.8375%)\n\nFiltering result:\nreads passed filter: 99662\nreads failed due to low quality: 284\nreads failed due to too many N: 54\nreads failed due to too short: 0\nreads with adapter trimmed: 26\nbases trimmed due to adapters: 236\n\nDuplication rate: 24.244%\n\nInsert size peak (evaluated by paired-end reads): 70\n\nJSON report: fastp.json\nHTML report: fastp.html\n\nfastp -i data/raw_fastq/SRR13349128_1.fastq -I data/raw_fastq/SRR13349128_2.fastq -o data/trimmed/SRR13349128_1_trimmed.fastq -O data/trimmed/SRR13349128_2_trimmed.fastq \nfastp v0.23.2, time used: 1 seconds\n" - } - ], - "execution_count": 39, + "execution_count": null, "metadata": { "jupyter": { - "source_hidden": false, - "outputs_hidden": false + "outputs_hidden": false, + "source_hidden": false }, "nteract": { "transient": { "deleting": false } } - } + }, + "outputs": [], + "source": [ + "! fastp -i data/raw_fastq/SRR13349122_1.fastq -I data/raw_fastq/SRR13349122_2.fastq -o data/trimmed/SRR13349122_1_trimmed.fastq -O data/trimmed/SRR13349122_2_trimmed.fastq\n", + "! fastp -i data/raw_fastq/SRR13349128_1.fastq -I data/raw_fastq/SRR13349128_2.fastq -o data/trimmed/SRR13349128_1_trimmed.fastq -O data/trimmed/SRR13349128_2_trimmed.fastq" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 6: Run FastQC\n", + "### Run FastQC\n", "FastQC is an invaluable tool that allows you to evaluate whether there are problems with a set of reads. For example, it will provide a report of whether there is any bias in the sequence composition of the reads." - ], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "Once FastQC is done running, look at the outputs in data/fastqc. What can you say about the quality of the two samples we are looking at here? " - ], - "metadata": {} + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "%%bash\n", "fastqc -o data/fastqc data/trimmed/SRR13349122_1_trimmed.fastq\n", "fastqc -o data/fastqc data/trimmed/SRR13349128_1_trimmed.fastq" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": "Started analysis of SRR13349122_1_trimmed.fastq\nApprox 5% complete for SRR13349122_1_trimmed.fastq\nApprox 10% complete for SRR13349122_1_trimmed.fastq\nApprox 15% complete for SRR13349122_1_trimmed.fastq\nApprox 20% complete for SRR13349122_1_trimmed.fastq\nApprox 25% complete for SRR13349122_1_trimmed.fastq\nApprox 30% complete for SRR13349122_1_trimmed.fastq\nApprox 35% complete for SRR13349122_1_trimmed.fastq\nApprox 40% complete for SRR13349122_1_trimmed.fastq\nApprox 45% complete for SRR13349122_1_trimmed.fastq\nApprox 50% complete for SRR13349122_1_trimmed.fastq\nApprox 55% complete for SRR13349122_1_trimmed.fastq\nApprox 60% complete for SRR13349122_1_trimmed.fastq\nApprox 65% complete for SRR13349122_1_trimmed.fastq\nApprox 70% complete for SRR13349122_1_trimmed.fastq\nApprox 75% complete for SRR13349122_1_trimmed.fastq\nApprox 80% complete for SRR13349122_1_trimmed.fastq\nApprox 85% complete for SRR13349122_1_trimmed.fastq\nApprox 90% complete for SRR13349122_1_trimmed.fastq\nApprox 95% complete for SRR13349122_1_trimmed.fastq\nSkipping 'data/trimmed/SRR13349128_1_trimmed.fastq' which didn't exist, or couldn't be read\n" - }, - { - "output_type": "stream", - "name": "stdout", - "text": "Analysis complete for SRR13349122_1_trimmed.fastq\n" - } - ], - "execution_count": 15, - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 7: Run MultiQC\n", + "### Run MultiQC\n", "MultiQC reads in the FastQQ reports and generate a compiled report for all the analyzed FASTQ files.\n", "Just as with fastqc, we can look at the mulitqc results after it finishes at data/multiqc_data" - ], - "metadata": {} + ] }, { "cell_type": "code", - "source": [ - "! multiqc -f data/fastqc -f\n", - "#! mv multiqc_data/ data/" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "\u001b[1;30m[WARNING]\u001b[0m multiqc : \u001b[33mMultiQC Version v1.14 now available!\u001b[0m\n\u001b[1;30m[INFO ]\u001b[0m multiqc : This is MultiQC v1.10.1\n\u001b[1;30m[INFO ]\u001b[0m multiqc : Template : default\n\u001b[1;30m[INFO ]\u001b[0m multiqc : Searching : /mnt/batch/tasks/shared/LS_root/mounts/clusters/cloud-lab-notebooks/code/Users/oconnellka/NIHCloudLabAzure-main 2/tutorials/notebooks/rnaseq-myco-tutorial-main/data/fastqc\n\u001b[2KSearching \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[32m2/2\u001b[0m [2mdata/fastqc/SRR13349122_1_trimmed_fastqc.html\u001b[0m\n\u001b[?25h\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'custom_content' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule custom_content raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/custom_content/custom_content.py\", line 87, in custom_module_classes\n bm = BaseMultiqcModule()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'ngsderive' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule ngsderive raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/ngsderive/ngsderive.py\", line 29, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'purple' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule purple raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/purple/purple.py\", line 25, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'conpair' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule conpair raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/conpair/conpair.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'peddy' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule peddy raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/peddy/peddy.py\", line 25, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'somalier' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule somalier raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/somalier/somalier.py\", line 29, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'methylQA' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule methylQA raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/methylQA/methylQA.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'mosdepth' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule mosdepth raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/mosdepth/mosdepth.py\", line 74, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'phantompeakqualtools' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule phantompeakqualtools raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/phantompeakqualtools/phantompeakqualtools.py\", line 20, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'qualimap' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule qualimap raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/qualimap/qualimap.py\", line 24, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'preseq' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule preseq raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/preseq/preseq.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'quast' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule quast raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/quast/quast.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'qorts' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule qorts raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/qorts/qorts.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'rna_seqc' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule rna_seqc raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/rna_seqc/rna_seqc.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'rockhopper' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule rockhopper raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/rockhopper/rockhopper.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'rsem' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule rsem raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/rsem/rsem.py\", line 25, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'rseqc' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule rseqc raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/rseqc/rseqc.py\", line 25, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'busco' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule busco raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/busco/busco.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'goleft_indexcov' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule goleft_indexcov raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/goleft_indexcov/goleft_indexcov.py\", line 19, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'disambiguate' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule disambiguate raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/disambiguate/disambiguate.py\", line 16, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'supernova' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule supernova raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/supernova/supernova.py\", line 19, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'deeptools' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule deeptools raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/deeptools/deeptools.py\", line 38, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'sargasso' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule sargasso raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/sargasso/sargasso.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'verifybamid' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule verifybamid raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/verifybamid/verifybamid.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'mirtrace' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule mirtrace raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/mirtrace/mirtrace.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'happy' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule happy raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/happy/happy.py\", line 32, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'mirtop' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule mirtop raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/mirtop/mirtop.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'homer' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule homer raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/homer/homer.py\", line 26, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'hops' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule hops raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/hops/hops.py\", line 18, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'macs2' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule macs2 raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/macs2/macs2.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'theta2' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule theta2 raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/theta2/theta2.py\", line 20, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'snpeff' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule snpeff raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/snpeff/snpeff.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'gatk' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule gatk raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/gatk/gatk.py\", line 27, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'htseq' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule htseq raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/htseq/htseq.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'bcftools' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule bcftools raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/bcftools/bcftools.py\", line 25, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'featureCounts' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule featureCounts raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/featureCounts/feature_counts.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'fgbio' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule fgbio raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/fgbio/fgbio.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'dragen' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule dragen raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/dragen/dragen.py\", line 42, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'dedup' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule dedup raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/dedup/dedup.py\", line 24, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'damageprofiler' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule damageprofiler raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/damageprofiler/damageprofiler.py\", line 24, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'biobambam2' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule biobambam2 raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/biobambam2/biobambam2.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'jcvi' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule jcvi raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/jcvi/jcvi.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'mtnucratio' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule mtnucratio raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/mtnucratio/mtnucratio.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'picard' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule picard raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/picard/picard.py\", line 44, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'sentieon' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule sentieon raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/sentieon/sentieon.py\", line 30, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'prokka' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule prokka raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/prokka/prokka.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'qc3C' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule qc3C raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/qc3C/qc3C.py\", line 137, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'samblaster' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule samblaster raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/samblaster/samblaster.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'samtools' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule samtools raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/samtools/samtools.py\", line 28, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'sexdeterrmine' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule sexdeterrmine raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/sexdeterrmine/sexdeterrmine.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'eigenstratdatabasetools' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule eigenstratdatabasetools raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/eigenstratdatabasetools/eigenstratdatabasetools.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'bamtools' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule bamtools raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/bamtools/bamtools.py\", line 26, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'jellyfish' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule jellyfish raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/jellyfish/jellyfish.py\", line 18, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'vcftools' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule vcftools raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/vcftools/vcftools.py\", line 19, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'longranger' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule longranger raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/longranger/longranger.py\", line 24, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'stacks' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule stacks raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/stacks/stacks.py\", line 19, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'varscan2' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule varscan2 raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/varscan2/varscan2.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'bbmap' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule bbmap raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/bbmap/bbmap.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'bismark' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule bismark raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/bismark/bismark.py\", line 67, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'biscuit' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule biscuit raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/biscuit/biscuit.py\", line 30, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'hicexplorer' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule hicexplorer raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/hicexplorer/hicexplorer.py\", line 17, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'hicup' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule hicup raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/hicup/hicup.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'hicpro' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule hicpro raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/hicpro/hicpro.py\", line 26, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'salmon' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule salmon raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/salmon/salmon.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'kallisto' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule kallisto raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/kallisto/kallisto.py\", line 25, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'slamdunk' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule slamdunk raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/slamdunk/slamdunk.py\", line 26, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'star' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule star raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/star/star.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'hisat2' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule hisat2 raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/hisat2/hisat2.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'tophat' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule tophat raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/tophat/tophat.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'bowtie2' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule bowtie2 raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/bowtie2/bowtie2.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'bowtie1' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule bowtie1 raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/bowtie1/bowtie1.py\", line 24, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'snpsplit' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule snpsplit raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/snpsplit/snpsplit.py\", line 18, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'kat' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule kat raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/kat/kat.py\", line 18, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'leehom' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule leehom raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/leehom/leehom.py\", line 24, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'adapterRemoval' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule adapterRemoval raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/adapterRemoval/adapterRemoval.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'clipandmerge' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule clipandmerge raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/clipandmerge/clipandmerge.py\", line 24, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'cutadapt' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule cutadapt raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/cutadapt/cutadapt.py\", line 28, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'flexbar' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule flexbar raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/flexbar/flexbar.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'kaiju' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule kaiju raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/kaiju/kaiju.py\", line 20, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'kraken' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule kraken raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/kraken/kraken.py\", line 25, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'malt' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule malt raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/malt/malt.py\", line 20, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'trimmomatic' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule trimmomatic raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/trimmomatic/trimmomatic.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'sickle' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule sickle raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/sickle/sickle.py\", line 17, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'skewer' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule skewer raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/skewer/skewer.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'sortmerna' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule sortmerna raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/sortmerna/sortmerna.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'biobloomtools' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule biobloomtools raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/biobloomtools/biobloomtools.py\", line 20, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'fastq_screen' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule fastq_screen raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/fastq_screen/fastq_screen.py\", line 24, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'afterqc' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule afterqc raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/afterqc/afterqc.py\", line 26, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'fastp' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule fastp raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/fastp/fastp.py\", line 26, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'fastqc' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule fastqc raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/fastqc/fastqc.py\", line 36, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'pychopper' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule pychopper raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/pychopper/pychopper.py\", line 21, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'pycoqc' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule pycoqc raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/pycoqc/pycoqc.py\", line 19, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'minionqc' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule minionqc raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/minionqc/minionqc.py\", line 22, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'multivcfanalyzer' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule multivcfanalyzer raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/multivcfanalyzer/multivcfanalyzer.py\", line 25, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'clusterflow' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule clusterflow raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/clusterflow/clusterflow.py\", line 28, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'bcl2fastq' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule bcl2fastq raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/bcl2fastq/bcl2fastq.py\", line 18, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'interop' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule interop raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/interop/interop.py\", line 14, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'ivar' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule ivar raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/ivar/ivar.py\", line 23, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'flash' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule flash raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/flash/flash.py\", line 26, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'seqyclean' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule seqyclean raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/seqyclean/seqyclean.py\", line 18, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[ERROR ]\u001b[0m multiqc : \u001b[31mOops! The 'optitype' MultiQC module broke... \n Please copy the following traceback and report it at https://github.com/ewels/MultiQC/issues \n If possible, please include a log file that triggers the error - the last file found was:\n None\n============================================================\nModule optitype raised an exception: Traceback (most recent call last):\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/multiqc.py\", line 594, in run\n output = mod()\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/optitype/optitype.py\", line 24, in __init__\n super(MultiqcModule, self).__init__(\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/modules/base_module.py\", line 45, in __init__\n config.update({anchor: mod_cust_config.get(\"custom_config\", {})})\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 250, in update\n return update_dict(globals(), u)\n File \"/home/azureuser/mambaforge/lib/python3.10/site-packages/multiqc/utils/config.py\", line 256, in update_dict\n if isinstance(val, collections.Mapping):\nAttributeError: module 'collections' has no attribute 'Mapping'\n============================================================\u001b[0m\n\u001b[1;30m[WARNING]\u001b[0m multiqc : \u001b[33mNo analysis results found. Cleaning up..\u001b[0m\n\u001b[1;30m[INFO ]\u001b[0m multiqc : MultiQC complete\n" - } - ], - "execution_count": 25, + "execution_count": null, "metadata": { "gather": { "logged": 1682517201690 } - } + }, + "outputs": [], + "source": [ + "! multiqc -f data/fastqc -f\n", + "#! mv multiqc_data/ data/" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 8: Index the Transcriptome so that Trimmed Reads Can Be Mapped Using Salmon" - ], - "metadata": {} + "### Index the Transcriptome so that Trimmed Reads Can Be Mapped Using Salmon" + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "! salmon index -t data/reference/M_chelonae_transcripts.fasta -p 8 -i data/reference/transcriptome_index --decoys data/reference/decoys.txt -k 31 --keepDuplicates" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "Version Info: ### PLEASE UPGRADE SALMON ###\n### A newer version of salmon with important bug fixes and improvements is available. ####\n###\nThe newest version, available at https://github.com/COMBINE-lab/salmon/releases\ncontains new features, improvements, and bug fixes; please upgrade at your\nearliest convenience.\n###\nSign up for the salmon mailing list to hear about new versions, features and updates at:\nhttps://oceangenomics.com/subscribe\n###index [\"data/reference/transcriptome_index\"] did not previously exist . . . creating it\n[2023-04-26 13:54:40.001] [jLog] [info] building index\nout : data/reference/transcriptome_index\n\u001b[00m[2023-04-26 13:54:40.023] [puff::index::jointLog] [info] Running fixFasta\n\u001b[00m\n[Step 1 of 4] : counting k-mers\n\n\u001b[35m[2023-04-26 13:54:40.424] [puff::index::jointLog] [warning] There were 2 transcripts that would need to be removed to avoid duplicates.\n\u001b[00m\u001b[00m[2023-04-26 13:54:40.454] [puff::index::jointLog] [info] Replaced 0 non-ATCG nucleotides\n\u001b[00m\u001b[00m[2023-04-26 13:54:40.454] [puff::index::jointLog] [info] Clipped poly-A tails from 0 transcripts\n\u001b[00mwrote 4868 cleaned references\n\u001b[00m[2023-04-26 13:54:40.706] [puff::index::jointLog] [info] Filter size not provided; estimating from number of distinct k-mers\n\u001b[00m\u001b[00m[2023-04-26 13:54:40.820] [puff::index::jointLog] [info] ntHll estimated 4966944 distinct k-mers, setting filter size to 2^27\n\u001b[00mThreads = 8\nVertex length = 31\nHash functions = 5\nFilter size = 134217728\nCapacity = 2\nFiles: \ndata/reference/transcriptome_index/ref_k31_fixed.fa\n--------------------------------------------------------------------------------\nRound 0, 0:134217728\nPass\tFilling\tFiltering\n1\t1\t3\t\n2\t0\t0\nTrue junctions count = 10131\nFalse junctions count = 7124\nHash table size = 17255\nCandidate marks count = 34884\n--------------------------------------------------------------------------------\nReallocating bifurcations time: 0\nTrue marks count: 21319\nEdges construction time: 22\n--------------------------------------------------------------------------------\nDistinct junctions = 10131\n\nallowedIn: 13\nMax Junction ID: 10174\nseen.size():81401 kmerInfo.size():10175\napproximateContigTotalLength: 4947048\ncounters for complex kmers:\n(prec>1 & succ>1)=8 | (succ>1 & isStart)=0 | (prec>1 & isEnd)=0 | (isStart & isEnd)=2\ncontig count: 10353 element count: 5328123 complex nodes: 10\n# of ones in rank vector: 10352\n\u001b[00m[2023-04-26 13:55:08.167] [puff::index::jointLog] [info] Starting the Pufferfish indexing by reading the GFA binary file.\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.167] [puff::index::jointLog] [info] Setting the index/BinaryGfa directory data/reference/transcriptome_index\n\u001b[00msize = 5328123\n-----------------------------------------\n| Loading contigs | Time = 35.212 ms\n-----------------------------------------\nsize = 5328123\n-----------------------------------------\n| Loading contig boundaries | Time = 24.882 ms\n-----------------------------------------\nNumber of ones: 10352\nNumber of ones per inventory item: 512\nInventory entries filled: 21\n10352\n\u001b[00m[2023-04-26 13:55:08.237] [puff::index::jointLog] [info] Done wrapping the rank vector with a rank9sel structure.\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.237] [puff::index::jointLog] [info] contig count for validation: 10,352\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.261] [puff::index::jointLog] [info] Total # of Contigs : 10,352\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.261] [puff::index::jointLog] [info] Total # of numerical Contigs : 10,352\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.261] [puff::index::jointLog] [info] Total # of contig vec entries: 16,484\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.261] [puff::index::jointLog] [info] bits per offset entry 15\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.261] [puff::index::jointLog] [info] Done constructing the contig vector. 10353\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.389] [puff::index::jointLog] [info] # segments = 10,352\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.389] [puff::index::jointLog] [info] total length = 5,328,123\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.390] [puff::index::jointLog] [info] Reading the reference files ...\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.579] [puff::index::jointLog] [info] positional integer width = 23\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.579] [puff::index::jointLog] [info] seqSize = 5,328,123\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.579] [puff::index::jointLog] [info] rankSize = 5,328,123\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.579] [puff::index::jointLog] [info] edgeVecSize = 0\n\u001b[00m\u001b[00m[2023-04-26 13:55:08.579] [puff::index::jointLog] [info] num keys = 5,017,563\n\u001b[00mfor info, total work write each : 2.331 total work inram from level 3 : 4.322 total work raw : 25.000 \n[Building BooPHF] 100 % elapsed: 0 min 3 sec remaining: 0 min 0 sec\nBitarray 26296128 bits (100.00 %) (array + ranks )\nfinal hash 0 bits (0.00 %) (nb in final hash 0)\n\u001b[00m[2023-04-26 13:55:11.448] [puff::index::jointLog] [info] mphf size = 3.13474 MB\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.453] [puff::index::jointLog] [info] chunk size = 666,016\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.453] [puff::index::jointLog] [info] chunk 0 = [0, 666,016)\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.453] [puff::index::jointLog] [info] chunk 1 = [666,016, 1,332,032)\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.453] [puff::index::jointLog] [info] chunk 2 = [1,332,032, 1,998,048)\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.453] [puff::index::jointLog] [info] chunk 3 = [1,998,048, 2,664,064)\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.453] [puff::index::jointLog] [info] chunk 4 = [2,664,064, 3,330,080)\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.453] [puff::index::jointLog] [info] chunk 5 = [3,330,080, 3,996,096)\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.453] [puff::index::jointLog] [info] chunk 6 = [3,996,096, 4,662,112)\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.453] [puff::index::jointLog] [info] chunk 7 = [4,662,112, 5,328,093)\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.635] [puff::index::jointLog] [info] finished populating pos vector\n\u001b[00m\u001b[00m[2023-04-26 13:55:11.635] [puff::index::jointLog] [info] writing index components\n\u001b[00m\u001b[00m[2023-04-26 13:55:12.061] [puff::index::jointLog] [info] finished writing dense pufferfish index\n\u001b[00m[2023-04-26 13:55:12.184] [jLog] [info] done building index\n" - } - ], - "execution_count": 28, - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 9: Run Salmon to Map Reads to Transcripts and Quantify Expression Levels\n", + "### Run Salmon to Map Reads to Transcripts and Quantify Expression Levels\n", "Salmon aligns the trimmed reads to the reference transcriptome and generates the read counts per transcript. In this analysis, each gene has a single transcript." - ], - "metadata": {} + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], "source": [ "%%bash\n", "salmon quant -i data/reference/transcriptome_index -l SR -r data/trimmed/SRR13349122_1_trimmed.fastq -p 8 --validateMappings -o data/quants/SRR13349122_quant\n", "salmon quant -i data/reference/transcriptome_index -l SR -r data/trimmed/SRR13349128_1_trimmed.fastq -p 8 --validateMappings -o data/quants/SRR13349128_quant" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": "Version Info: ### PLEASE UPGRADE SALMON ###\n### A newer version of salmon with important bug fixes and improvements is available. ####\n###\nThe newest version, available at https://github.com/COMBINE-lab/salmon/releases\ncontains new features, improvements, and bug fixes; please upgrade at your\nearliest convenience.\n###\nSign up for the salmon mailing list to hear about new versions, features and updates at:\nhttps://oceangenomics.com/subscribe\n###### salmon (selective-alignment-based) v1.5.1\n### [ program ] => salmon \n### [ command ] => quant \n### [ index ] => { data/reference/transcriptome_index }\n### [ libType ] => { SR }\n### [ unmatedReads ] => { data/trimmed/SRR13349122_1_trimmed.fastq }\n### [ threads ] => { 8 }\n### [ validateMappings ] => { }\n### [ output ] => { data/quants/SRR13349122_quant }\nLogs will be written to data/quants/SRR13349122_quant/logs\n[2023-04-26 14:00:23.857] [jointLog] [info] setting maxHashResizeThreads to 8\n[2023-04-26 14:00:23.857] [jointLog] [info] Fragment incompatibility prior below threshold. Incompatible fragments will be ignored.\n[2023-04-26 14:00:23.857] [jointLog] [info] Usage of --validateMappings implies use of minScoreFraction. Since not explicitly specified, it is being set to 0.65\n[2023-04-26 14:00:23.857] [jointLog] [info] Setting consensusSlack to selective-alignment default of 0.35.\n[2023-04-26 14:00:23.857] [jointLog] [info] parsing read library format\n[2023-04-26 14:00:23.857] [jointLog] [info] There is 1 library.\n[2023-04-26 14:00:24.001] [jointLog] [info] Loading pufferfish index\n[2023-04-26 14:00:24.029] [jointLog] [info] Loading dense pufferfish index.\n-----------------------------------------\n| Loading contig table | Time = 49.107 ms\n-----------------------------------------\nsize = 10353\n-----------------------------------------\n| Loading contig offsets | Time = 25.831 ms\n-----------------------------------------\n-----------------------------------------\n| Loading reference lengths | Time = 4.4126 ms\n-----------------------------------------\n-----------------------------------------\n| Loading mphf table | Time = 124.39 ms\n-----------------------------------------\nsize = 5328123\nNumber of ones: 10352\nNumber of ones per inventory item: 512\nInventory entries filled: 21\n-----------------------------------------\n| Loading contig boundaries | Time = 56.826 ms\n-----------------------------------------\nsize = 5328123\n-----------------------------------------\n| Loading sequence | Time = 86.304 ms\n-----------------------------------------\nsize = 5017563\n-----------------------------------------\n| Loading positions | Time = 283.15 ms\n-----------------------------------------\nsize = 9684800\n-----------------------------------------\n| Loading reference sequence | Time = 126.8 ms\n-----------------------------------------\n-----------------------------------------\n| Loading reference accumulative lengths | Time = 8.7525 ms\n-----------------------------------------\n\n\n\n\n\n\n\n\n\n\n\n\n[2023-04-26 14:00:24.865] [jointLog] [info] done\n[2023-04-26 14:00:24.865] [jointLog] [info] Index contained 4,868 targets\n[2023-04-26 14:00:24.867] [jointLog] [info] Number of decoys : 1\n[2023-04-26 14:00:24.867] [jointLog] [info] First decoy index : 4,867 \n[2023-04-26 14:00:25.119] [jointLog] [info] Thread saw mini-batch with a maximum of 0.28% zero probability fragments\n[2023-04-26 14:00:25.119] [jointLog] [info] Thread saw mini-batch with a maximum of 0.30% zero probability fragments\n[2023-04-26 14:00:25.120] [jointLog] [info] Thread saw mini-batch with a maximum of 0.10% zero probability fragments\n[2023-04-26 14:00:25.120] [jointLog] [info] Thread saw mini-batch with a maximum of 0.32% zero probability fragments\n[2023-04-26 14:00:25.126] [jointLog] [info] Thread saw mini-batch with a maximum of 0.41% zero probability fragments\n[2023-04-26 14:00:25.138] [jointLog] [info] Computed 1,145 rich equivalence classes for further processing\n[2023-04-26 14:00:25.138] [jointLog] [info] Counted 2,816 total reads in the equivalence classes \n[2023-04-26 14:00:25.141] [jointLog] [info] Number of mappings discarded because of alignment score : 191\n[2023-04-26 14:00:25.141] [jointLog] [info] Number of fragments entirely discarded because of alignment score : 262\n[2023-04-26 14:00:25.141] [jointLog] [info] Number of fragments discarded because they are best-mapped to decoys : 227\n[2023-04-26 14:00:25.141] [jointLog] [info] Number of fragments discarded because they have only dovetail (discordant) mappings to valid targets : 0\n[2023-04-26 14:00:25.142] [jointLog] [warning] Only 2816 fragments were mapped, but the number of burn-in fragments was set to 5000000.\nThe effective lengths have been computed using the observed mappings.\n\n[2023-04-26 14:00:25.142] [jointLog] [info] Mapping rate = 5.64906%\n\n[2023-04-26 14:00:25.142] [jointLog] [info] finished quantifyLibrary()\n[2023-04-26 14:00:25.197] [jointLog] [info] Starting optimizer\n[2023-04-26 14:00:25.201] [jointLog] [info] Marked 0 weighted equivalence classes as degenerate\n[2023-04-26 14:00:25.201] [jointLog] [info] iteration = 0 | max rel diff. = 0.989424\n[2023-04-26 14:00:25.254] [jointLog] [info] iteration = 100 | max rel diff. = 0\n[2023-04-26 14:00:25.255] [jointLog] [info] Finished optimizer\n[2023-04-26 14:00:25.255] [jointLog] [info] writing output \n\nVersion Info: ### PLEASE UPGRADE SALMON ###\n### A newer version of salmon with important bug fixes and improvements is available. ####\n###\nThe newest version, available at https://github.com/COMBINE-lab/salmon/releases\ncontains new features, improvements, and bug fixes; please upgrade at your\nearliest convenience.\n###\nSign up for the salmon mailing list to hear about new versions, features and updates at:\nhttps://oceangenomics.com/subscribe\n###### salmon (selective-alignment-based) v1.5.1\n### [ program ] => salmon \n### [ command ] => quant \n### [ index ] => { data/reference/transcriptome_index }\n### [ libType ] => { SR }\n### [ unmatedReads ] => { data/trimmed/SRR13349128_1_trimmed.fastq }\n### [ threads ] => { 8 }\n### [ validateMappings ] => { }\n### [ output ] => { data/quants/SRR13349128_quant }\nLogs will be written to data/quants/SRR13349128_quant/logs\n[2023-04-26 14:00:26.693] [jointLog] [info] setting maxHashResizeThreads to 8\n[2023-04-26 14:00:26.693] [jointLog] [info] Fragment incompatibility prior below threshold. Incompatible fragments will be ignored.\n[2023-04-26 14:00:26.693] [jointLog] [info] Usage of --validateMappings implies use of minScoreFraction. Since not explicitly specified, it is being set to 0.65\n[2023-04-26 14:00:26.693] [jointLog] [info] Setting consensusSlack to selective-alignment default of 0.35.\n[2023-04-26 14:00:26.693] [jointLog] [info] parsing read library format\n[2023-04-26 14:00:26.694] [jointLog] [info] There is 1 library.\n-----------------------------------------\n| Loading contig table | Time = 1.626 ms\n-----------------------------------------\nsize = 10353\n-----------------------------------------\n| Loading contig offsets | Time = 137.1 us\n-----------------------------------------\n-----------------------------------------\n| Loading reference lengths | Time = 18.9 us\n-----------------------------------------\n-----------------------------------------\n| Loading mphf table | Time = 1.0612 ms\n-----------------------------------------\nsize = 5328123\nNumber of ones: 10352\nNumber of ones per inventory item: 512\n[2023-04-26 14:00:26.761] [jointLog] [info] Loading pufferfish index\n[2023-04-26 14:00:26.761] [jointLog] [info] Loading dense pufferfish index.\nInventory entries filled: 21\n-----------------------------------------\n| Loading contig boundaries | Time = 9.9375 ms\n-----------------------------------------\nsize = 5328123\n-----------------------------------------\n| Loading sequence | Time = 1.0925 ms\n-----------------------------------------\nsize = 5017563\n-----------------------------------------\n| Loading positions | Time = 11.603 ms\n-----------------------------------------\nsize = 9684800\n-----------------------------------------\n| Loading reference sequence | Time = 2.755 ms\n-----------------------------------------\n-----------------------------------------\n| Loading reference accumulative lengths | Time = 34.3 us\n-----------------------------------------\n[2023-04-26 14:00:26.790] [jointLog] [info] done\n[2023-04-26 14:00:26.790] [jointLog] [info] Index contained 4,868 targets\n[2023-04-26 14:00:26.791] [jointLog] [info] Number of decoys : 1\n[2023-04-26 14:00:26.791] [jointLog] [info] First decoy index : 4,867 \n\n\n\n\n\n\n\n\n\n\n\n\n[2023-04-26 14:00:27.121] [jointLog] [info] Thread saw mini-batch with a maximum of 0.22% zero probability fragments\n[2023-04-26 14:00:27.121] [jointLog] [info] Thread saw mini-batch with a maximum of 0.18% zero probability fragments\n[2023-04-26 14:00:27.121] [jointLog] [info] Thread saw mini-batch with a maximum of 0.14% zero probability fragments\n[2023-04-26 14:00:27.121] [jointLog] [info] Thread saw mini-batch with a maximum of 0.26% zero probability fragments\n[2023-04-26 14:00:27.123] [jointLog] [info] Thread saw mini-batch with a maximum of 0.20% zero probability fragments\n[2023-04-26 14:00:27.128] [jointLog] [info] Thread saw mini-batch with a maximum of 0.14% zero probability fragments\n[2023-04-26 14:00:27.138] [jointLog] [info] Computed 850 rich equivalence classes for further processing\n[2023-04-26 14:00:27.138] [jointLog] [info] Counted 1,906 total reads in the equivalence classes \n[2023-04-26 14:00:27.142] [jointLog] [info] Number of mappings discarded because of alignment score : 81\n[2023-04-26 14:00:27.142] [jointLog] [info] Number of fragments entirely discarded because of alignment score : 160\n[2023-04-26 14:00:27.142] [jointLog] [info] Number of fragments discarded because they are best-mapped to decoys : 151\n[2023-04-26 14:00:27.142] [jointLog] [info] Number of fragments discarded because they have only dovetail (discordant) mappings to valid targets : 0\n[2023-04-26 14:00:27.142] [jointLog] [warning] Only 1906 fragments were mapped, but the number of burn-in fragments was set to 5000000.\nThe effective lengths have been computed using the observed mappings.\n\n[2023-04-26 14:00:27.142] [jointLog] [info] Mapping rate = 3.82493%\n\n[2023-04-26 14:00:27.142] [jointLog] [info] finished quantifyLibrary()\n[2023-04-26 14:00:27.182] [jointLog] [info] Starting optimizer\n[2023-04-26 14:00:27.187] [jointLog] [info] Marked 0 weighted equivalence classes as degenerate\n[2023-04-26 14:00:27.187] [jointLog] [info] iteration = 0 | max rel diff. = 0.996302\n[2023-04-26 14:00:27.234] [jointLog] [info] iteration = 100 | max rel diff. = 0\n[2023-04-26 14:00:27.235] [jointLog] [info] Finished optimizer\n[2023-04-26 14:00:27.235] [jointLog] [info] writing output \n\n" - } - ], - "execution_count": 40, - "metadata": { - "scrolled": true, - "tags": [] - } + ] }, { "cell_type": "code", - "source": [ - "ls data/quants/" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "\u001b[0m\u001b[34;42mSRR13349122_quant\u001b[0m/ \u001b[34;42mSRR13349128_quant\u001b[0m/\r\n" - } - ], - "execution_count": 41, + "execution_count": null, "metadata": { + "gather": { + "logged": 1682518630201 + }, "jupyter": { - "source_hidden": false, - "outputs_hidden": false + "outputs_hidden": false, + "source_hidden": false }, "nteract": { "transient": { "deleting": false } - }, - "gather": { - "logged": 1682518630201 } - } + }, + "outputs": [], + "source": [ + "ls data/quants/" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 10: Report the top 10 most highly expressed genes in the samples" - ], - "metadata": {} + "### Report the top 10 most highly expressed genes in the samples" + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "Top 10 most highly expressed genes in the wild-type sample.\n" - ], - "metadata": {} + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "! sort -nrk 4,4 data/quants/SRR13349122_quant/quant.sf | head -10" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "BB28_RS23830\t213\t10.625\t48612.291220\t5.000\r\nBB28_RS02220\t204\t9.377\t33047.563397\t3.000\r\nBB28_RS05530\t180\t6.996\t29531.286140\t2.000\r\nBB28_RS18945\t222\t12.150\t25504.663975\t3.000\r\nBB28_RS11370\t195\t8.348\t24748.475090\t2.000\r\nBB28_RS12480\t207\t9.766\t21154.305555\t2.000\r\nBB28_RS18745\t300\t51.326\t20125.718383\t10.000\r\nBB28_RS20695\t231\t14.032\t14723.212476\t2.000\r\nBB28_RS19155\t282\t36.744\t14056.208165\t5.000\r\nBB28_RS18020\t189\t7.759\t13312.711241\t1.000\r\nsort: write failed: 'standard output': Broken pipe\r\nsort: write error\r\n" - } - ], - "execution_count": 42, - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "Top 10 most highly expressed genes in the double lysogen sample.\n" - ], - "metadata": {} + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "!sort -nrk 4,4 data/quants/SRR13349128_quant/quant.sf | head -10" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "BB28_RS18025\t177\t6.769\t47953.929601\t2.000\r\nBB28_RS02220\t204\t9.377\t34613.921846\t2.000\r\nBB28_RS13585\t243\t17.264\t28200.832626\t3.000\r\nBB28_RS01170\t225\t12.734\t25489.885138\t2.000\r\nBB28_RS20695\t231\t14.032\t23131.574929\t2.000\r\nBB28_RS19045\t183\t7.236\t22428.250651\t1.000\r\nBB28_RS04995\t192\t8.045\t20173.388438\t1.000\r\nBB28_RS14885\t195\t8.348\t19441.110656\t1.000\r\nBB28_RS18745\t300\t51.326\t18971.657043\t6.000\r\nBB28_RS23535\t201\t9.012\t18007.533576\t1.000\r\nsort: write failed: 'standard output': Broken pipe\r\nsort: write error\r\n" - } - ], - "execution_count": 43, - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### STEP 11: Report the expression of a putative acyl-ACP desaturase (BB28_RS16545) that was downregulated in the double lysogen relative to wild-type\n", + "### Report the expression of a putative acyl-ACP desaturase (BB28_RS16545) that was downregulated in the double lysogen relative to wild-type\n", "A acyl-transferase was reported to be downregulated in the double lysogen as shown in the table of the top 20 upregulated and downregulated genes from the paper describing the study." - ], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "Use `grep` to report the expression in the wild-type sample. The fields in the Salmon `quant.sf` file are as follows. The level of expression is reported in the Transcripts Per Million (`TPM`) and number of reads (`NumReads`) fields: \n", "`Name Length EffectiveLength TPM NumReads`" - ], - "metadata": {} + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "!grep 'BB28_RS16545' data/quants/SRR13349122_quant/quant.sf" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "BB28_RS16545\t987\t737.000\t560.631139\t4.000\r\n" - } - ], - "execution_count": 44, - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "Use `grep` to report the expression in the double lysogen sample. The fields in the Salmon `quant.sf` file are as follows. The level of expression is reported in the Transcripts Per Million (`TPM`) and number of reads (`NumReads`) fields: \n", "`Name Length EffectiveLength TPM NumReads`" - ], - "metadata": {} + ] }, { "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "!grep 'BB28_RS16545' data/quants/SRR13349128_quant/quant.sf" - ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": "BB28_RS16545\t987\t737.000\t220.201284\t1.000\r\n" - } - ], - "execution_count": 45, - "metadata": {} + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion\n", + "Here you learned how to import data to and from a Blob storage container and then use fastq files to run basic RNAseq analysis! " + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ - "### That's it! " - ], - "metadata": {} + "## Clean Up\n", + "Make sure you stop your compute instance and if desired, delete the resource group associated with this tutorial." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] } ], "metadata": { + "kernel_info": { + "name": "python3" + }, "kernelspec": { - "name": "python3", + "display_name": "Python 3 (ipykernel)", "language": "python", - "display_name": "Python 3 (ipykernel)" + "name": "python3" }, "language_info": { - "name": "python", - "version": "3.8.13", - "mimetype": "text/x-python", "codemirror_mode": { "name": "ipython", "version": 3 }, - "pygments_lexer": "ipython3", + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", "nbconvert_exporter": "python", - "file_extension": ".py" + "pygments_lexer": "ipython3", + "version": "3.8.13" }, "microsoft": { "ms_spell_check": { "ms_spell_check_language": "en" } }, - "kernel_info": { - "name": "python3" - }, "nteract": { "version": "nteract-front-end@1.0.0" } }, "nbformat": 4, "nbformat_minor": 4 -} \ No newline at end of file +} From 39fb6c5ddafefb36d04d9691cea2b900d3092a05 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 07:41:18 -0500 Subject: [PATCH 10/25] Update README.md fixed grammer --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c5bb462..a7dee0e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ NIH Cloud Lab’s goal is to make Cloud easy and accessible for you, so that you can spend less time on administrative tasks and focus more on research. -Use this repository to learn about how to use Azure by exploring the linked resources and walking through the tutorials. If you are a beginner, we suggest you begin the jumpstart section on the [Cloud Lab website](https://cloud.nih.gov/resources/cloudlab/) before returning here. +Use this repository to learn about how to use Azure by exploring the linked resources and walking through the tutorials. If you are a beginner, we suggest you start with the jumpstart section on the [Cloud Lab website](https://cloud.nih.gov/resources/cloudlab/) before returning here. --------------------------------- ## Overview of Page Contents @@ -24,10 +24,10 @@ Use this repository to learn about how to use Azure by exploring the linked reso ## **Artificial Intelligence** Machine learning is a subfield of artificial intelligence that focuses on the development of algorithms and models that enable computers to learn from and make predictions or decisions based on data, without being explicitly programmed. Artificial intelligence and machine learning algorithms are being applied to a variety of biomedical research questions, ranging from image classification to genomic variant calling. Azure offers AI services through Azure AI Studio and Azure Machine Learning. -See our suite of tutorials to learn more about [Gen AI on Azure](/notebooks/GenAI/) that highlight Azure products such as [Azure AI Studio](/notebooks/GenAI/Azure_AI_Studio_README.md), [Azure OpenAI](/notebooks/GenAI/Azure_Open_AI_README.md) and [Azure AI Search](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb) and external tools like [Langchain](/notebooks/GenAI/notebooks/AzureOpenAI-langchain.ipynb). These notebooks walk you through how to deploy, train, and query models, as well as how to implement techniques like [Retrieval-Augmented Generation (RAG)](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb). If you are interested in applying RAG to structured data like a csv file, we created one tutorials that walks you through how to index your csv using the [Azure UI](/docs/create_index_from_csv.md) and a query your database using a [notebook within Azure ML](/notebooks/GenAI/notebooks/llm_query_csv.ipynb), and [one tutorial that runs all the necessary steps directly from a notebook](/notebooks/GenAI/notebooks/azure_ai_search_structured.ipynb). +See our suite of tutorials to learn more about [Gen AI on Azure](/notebooks/GenAI/) that highlight Azure products such as [Azure AI Studio](/notebooks/GenAI/Azure_AI_Studio_README.md), [Azure OpenAI](/notebooks/GenAI/Azure_Open_AI_README.md) and [Azure AI Search](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb) and external tools like [Langchain](/notebooks/GenAI/notebooks/AzureOpenAI-langchain.ipynb). These notebooks walk you through how to deploy, train, and query models, as well as how to implement techniques like [Retrieval-Augmented Generation (RAG)](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb). If you are interested in configuring a model to work with structured data like csv or json files, we've created tutorials that walk you through how to index your csv using the [Azure UI](/docs/create_index_from_csv.md) and query your database using a [notebook within Azure ML](/notebooks/GenAI/notebooks/llm_query_csv.ipynb). We also have another [tutorial that runs all the necessary steps directly from a notebook](/notebooks/GenAI/notebooks/azure_ai_search_structured.ipynb). ## **Clinical Informatics with FHIR** - Azure Health Data Services is a set of services that enables you to store, process, and analyze medical data in Azure. These services are designed to help organizations quickly connect disparate health data sources and formats, such as structured, imaging, and device data, and normalize it to be persisted in the cloud. At its core, Azure Health Data Services possesses the ability to transform and ingest data into FHIR (Fast Healthcare Interoperability Resources) format. This allows you to transform health data from legacy formats, such as HL7v2 or CDA, or from high-frequency IoT data in device proprietary formats to FHIR. This makes it easier to connect data stored in Azure Health Data Services with services across the Azure ecosystem, like Azure Synapse Analytics, and Azure Machine Learning (Azure ML). +Azure Health Data Services is a set of services that enables you to store, process, and analyze medical data in Azure. These services are designed to help organizations quickly connect disparate health data sources and formats, such as structured, imaging, and device data, and normalize it to be persisted in the cloud. At its core, Azure Health Data Services possesses the ability to transform and ingest data into FHIR (Fast Healthcare Interoperability Resources) format. This allows you to transform health data from legacy formats, such as HL7v2 or CDA, or from high-frequency IoT data in device proprietary formats to FHIR. This makes it easier to connect data stored in Azure Health Data Services with services across the Azure ecosystem, like Azure Synapse Analytics, and Azure Machine Learning (Azure ML). Azure Health Data Services includes support for multiple health data standards for the exchange of structured data, and the ability to deploy multiple instances of different service types (FHIR, DICOM, and MedTech) that seamlessly work with one another. Services deployed within a workspace also share a compliance boundary and common configuration settings. The product scales automatically to meet the varying demands of your workloads, so you spend less time managing infrastructure and more time generating insights from health data. From 8e47d3e2c01d3cdf604fdd8442c7e8e266e12900 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 07:46:26 -0500 Subject: [PATCH 11/25] Update GWAS_coat_color.ipynb minor grammer update --- notebooks/GWAS/GWAS_coat_color.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/GWAS/GWAS_coat_color.ipynb b/notebooks/GWAS/GWAS_coat_color.ipynb index 0bcfbc1..fd6bf6d 100644 --- a/notebooks/GWAS/GWAS_coat_color.ipynb +++ b/notebooks/GWAS/GWAS_coat_color.ipynb @@ -47,7 +47,7 @@ "metadata": {}, "source": [ "### Download the data\n", - "use %%bash to denote a bash block. You can also use '!' to denote a single bash command within a Python notebook" + "Use %%bash to denote a bash block. You can also use '!' to denote a single bash command within a Python notebook" ] }, { From 90473e3a9ea07697ce2d7b9e35fd7c74ec19b523 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 07:59:13 -0500 Subject: [PATCH 12/25] Update AzureAIStudio_index_structured_notebook.ipynb added in the need for access to Azure AI Search Service --- .../notebooks/AzureAIStudio_index_structured_notebook.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb index cd56dd8..66b7253 100644 --- a/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb +++ b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb @@ -21,7 +21,7 @@ "metadata": {}, "source": [ "## Prerequisites\n", - "We assume you have access to Azure AI Studio and have already deployed an LLM." + "We assume you have access to Azure AI Studio and Azure AI Search Service and have already deployed an LLM." ] }, { From 08c03374f5a97731fb621620bcb2102c83680840 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:01:48 -0500 Subject: [PATCH 13/25] Update AzureAIStudio_index_structured_with_console.ipynb fixed grammer --- .../notebooks/AzureAIStudio_index_structured_with_console.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb index 29ad25b..5ad4ee9 100644 --- a/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb +++ b/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb @@ -28,7 +28,7 @@ "metadata": {}, "source": [ "## Prerequisites\n", - "We assume you have access to Azure AI Studio and Azure AI Search Service. We assume you and have already deployed an LLM." + "We assume you have access to both Azure AI Studio and Azure AI Search Service, and have already deployed an LLM." ] }, { From e240ae7bcd7e6dcf5bce3af2cad20cbb78b00b7a Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:07:48 -0500 Subject: [PATCH 14/25] Update Azure_Pubmed_chatbot.ipynb added need for AI search in prereq --- notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb index 70363cd..2b61d96 100644 --- a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb +++ b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb @@ -13,7 +13,7 @@ "metadata": {}, "source": [ "## Overview\n", - "[PubMed](https://pubmed.ncbi.nlm.nih.gov/about/) supports the search and retrieval of biomedical and life sciences literature with the aim of improving health–both globally and personally. Here we create a chatbot that is grounded on PubMed data. Most Azure command line tools are already installed and it is recommended to use the **AzureML** kernel in your Jupyter notebook." + "[PubMed](https://pubmed.ncbi.nlm.nih.gov/about/) supports the search and retrieval of biomedical and life sciences literature with the aim of improving health both globally and personally. Here we create a chatbot that is grounded on PubMed data. Most Azure command line tools are already installed and it is recommended to use the **AzureML** kernel in your Jupyter notebook." ] }, { @@ -21,7 +21,7 @@ "metadata": {}, "source": [ "## Prerequisites\n", - "We assume you have access to Azure AI Studio and have already deployed an LLM." + "We assume you have access to both Azure AI Studio and Azure AI Search, and have already deployed an LLM." ] }, { From 53cb6128497f884490078bcd24e44f649a6f4996 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:09:10 -0500 Subject: [PATCH 15/25] Update Azure_Pubmed_chatbot.ipynb --- notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb index 2b61d96..1de15b3 100644 --- a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb +++ b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb @@ -57,7 +57,7 @@ "id": "9dbd13e7-afc9-416b-94dc-418a93e14587", "metadata": {}, "source": [ - "In this tutorial we will be using Azure OpenAI which you can learn how to deploy [here](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource?pivots=cli). This tutorial utilizes the model **gpt-35-turbo** version 0301 and the embeddings model **text-embedding-ada-002** version 2." + "In this tutorial we will be using Azure OpenAI which (if you havent already) you can learn how to deploy [here](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource?pivots=cli). This tutorial utilizes the model **gpt-35-turbo** version 0301 and the embeddings model **text-embedding-ada-002** version 2." ] }, { From 79ca8677378d94e22f4664bb5e755acf1de9e4ed Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:12:27 -0500 Subject: [PATCH 16/25] Update Azure_Pubmed_chatbot.ipynb fixed imports --- notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb index 1de15b3..fe95398 100644 --- a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb +++ b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb @@ -666,6 +666,9 @@ " SearchIndexerDataSourceConnection,\n", " SearchIndex,\n", " SearchIndexer\n", + " SearchableField\n", + " SearchFieldDataType\n", + " SimpleField\n" ")\n", "\n", "endpoint = \"https://{}.search.windows.net/\".format(service_name)\n", From 2ec8a9e1dae0d1f3fafc861f91894d4c82531ed2 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:14:48 -0500 Subject: [PATCH 17/25] Update Azure_Pubmed_chatbot.ipynb --- notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb index fe95398..ebea506 100644 --- a/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb +++ b/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb @@ -665,10 +665,10 @@ " SearchIndexerDataContainer,\n", " SearchIndexerDataSourceConnection,\n", " SearchIndex,\n", - " SearchIndexer\n", - " SearchableField\n", - " SearchFieldDataType\n", - " SimpleField\n" + " SearchIndexer,\n", + " SearchableField,\n", + " SearchFieldDataType,\n", + " SimpleField,\n", ")\n", "\n", "endpoint = \"https://{}.search.windows.net/\".format(service_name)\n", From e2f7d4bf2a5d35cf5491e06e0a827a2ad0347c2a Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:24:14 -0500 Subject: [PATCH 18/25] Update pangolin_pipeline.ipynb removed gray from text --- notebooks/pangolin/pangolin_pipeline.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/pangolin/pangolin_pipeline.ipynb b/notebooks/pangolin/pangolin_pipeline.ipynb index 3603c9a..453aa95 100644 --- a/notebooks/pangolin/pangolin_pipeline.ipynb +++ b/notebooks/pangolin/pangolin_pipeline.ipynb @@ -5,7 +5,7 @@ "id": "31e8c3cd", "metadata": {}, "source": [ - "# Pangolin SARS-CoV-2 Pipeline Notebook" + "# Pangolin SARS-CoV-2 Pipeline Notebook" ] }, { From 7284fbf8e170e695698bc3170f76b9e539857f4d Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:49:56 -0500 Subject: [PATCH 19/25] Update SpleenSeg_Pretrained-4_27.ipynb fixed formatting by removing h4 format --- .../SpleenSeg_Pretrained-4_27.ipynb | 52 ++++++++----------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb b/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb index e6b6117..39b5947 100644 --- a/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb +++ b/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb @@ -51,7 +51,7 @@ "id": "f59ba435", "metadata": {}, "source": [ - "##### Uncomment below to install all dependencies" + "Uncomment below to install all dependencies." ] }, { @@ -156,7 +156,7 @@ "id": "6f523cbf", "metadata": {}, "source": [ - "#### Running a pretrained model" + "### Running a pretrained model" ] }, { @@ -174,7 +174,7 @@ "id": "e9f3e5f3", "metadata": {}, "source": [ - "#### Create the directory for storing data" + "Create the directory for storing data" ] }, { @@ -194,7 +194,7 @@ "id": "38463a18", "metadata": {}, "source": [ - "#### Download the public dataset" + "### Download the public dataset" ] }, { @@ -217,7 +217,7 @@ "id": "fae7c51b", "metadata": {}, "source": [ - "#### Create Date Dictionaries and separate files from training and validation" + "### Create Date Dictionaries and separate files from training and validation" ] }, { @@ -243,7 +243,7 @@ "id": "974fc5aa", "metadata": {}, "source": [ - "#### Define your transformations for training and validation" + "### Define your transformations for training and validation" ] }, { @@ -327,7 +327,7 @@ "id": "ba3c7695", "metadata": {}, "source": [ - "#### Visualize Image and Label (example)" + "### Visualize Image and Label (example)" ] }, { @@ -358,9 +358,9 @@ "id": "f45ba707", "metadata": {}, "source": [ - "#### Use a dataloader to load files\n", - " - Ability to use LMDB (Lightning Memory-Mapped Database)\n", - " - Here is where transforms take place and they happen on both images and labels" + "### Use a dataloader to load files\n", + "Ability to use LMDB (Lightning Memory-Mapped Database)\n", + " - Here is where transforms take place and they happen on both images and labels" ] }, { @@ -400,7 +400,7 @@ "id": "a77e7856", "metadata": {}, "source": [ - "#### Now we want to download the pretrained model from NVIDIA" + "### Download the pretrained model from NVIDIA" ] }, { @@ -476,8 +476,7 @@ "id": "39910557", "metadata": {}, "source": [ - "### This will be our test file we will view for reference\n", - " - Here we see how our initial model appears to perform" + "This will be our test file we will view for reference. Here we see how our initial model appears to perform." ] }, { @@ -496,7 +495,7 @@ "id": "2544a774", "metadata": {}, "source": [ - "#### We use a sliding window technique to search the image" + "We use a sliding window technique to search the image." ] }, { @@ -566,8 +565,7 @@ "id": "2f60e5b5", "metadata": {}, "source": [ - "#### Using just the pretrained model, it appears we are performing pretty well\n", - " - We can now continue to train with our data using the NVIDIA models initial weights" + "Using just the pretrained model, it appears we are performing pretty well! We can now continue to train with our data using the NVIDIA models initial weights" ] }, { @@ -576,8 +574,7 @@ "metadata": {}, "source": [ "## Training\n", - "#### Without a GPU, training can take a while\n", - "#### Recommend skipping next three cells and load in model" + " Without a GPU, training can take a while, we recommend skipping next three cells and load in model.", ] }, { @@ -700,7 +697,7 @@ "id": "4ff0035d", "metadata": {}, "source": [ - "#### The model shows that it has improved fairly quickly over just 25 epochs" + "The model shows that it has improved fairly quickly over just 25 epochs." ] }, { @@ -709,7 +706,7 @@ "metadata": {}, "source": [ "## Inference\n", - "#### Without GPU skip to here to load previously trained best model (without a gpu the training will take a while)" + "Without GPU skip to here to load previously trained best model (without a gpu the training will take a while)." ] }, { @@ -727,7 +724,7 @@ "id": "fab5b4b9", "metadata": {}, "source": [ - "#### With the model loaded let's see if much has changed for our example image" + "With the model loaded let's see if much has changed for our example image." ] }, { @@ -798,7 +795,7 @@ "id": "6606bce2", "metadata": {}, "source": [ - "#### We see not much has changed, which is a good sign for how well the NVIDIA model performs out of the box." + "We see not much has changed, which is a good sign for how well the NVIDIA model performs out of the box." ] }, { @@ -806,7 +803,7 @@ "id": "5cfd20c6", "metadata": {}, "source": [ - "#### Here is the final image of our Spleen" + "Here is the final image of our Spleen!" ] }, { @@ -827,7 +824,7 @@ "id": "6030d210", "metadata": {}, "source": [ - "#### Feel free to play around in this notebook or download it and use it where a GPU is accessible" + "Feel free to play around in this notebook or download it and use it where a GPU is accessible." ] }, { @@ -836,8 +833,7 @@ "metadata": {}, "source": [ "## Additional Exercise: Use liver segmentation in addition to spleen\n", - " - Just need to load liver segmentation from NVIDIA\n", - " - While we can't train this model, since we don't have training data, we can use it as a rough estimate" + "Her we are loading in liver segmentation from NVIDIA. While we can't train this model, since we don't have training data, we can use it as a rough estimate." ] }, { @@ -973,9 +969,7 @@ "id": "af1169b6", "metadata": {}, "source": [ - "#### Continue including more models found at the NGC Catalog: \n", - "#### https://catalog.ngc.nvidia.com/models\n", - "##### - Recommend filtering by 'CT' " + "Continue including more models found at the NGC Catalog: https://catalog.ngc.nvidia.com/models. We recommend filtering by 'CT'.", ] }, { From 2386f018ae35907cd3694a2814e3d01eb9a136c3 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:51:20 -0500 Subject: [PATCH 20/25] Update SpleenSeg_Pretrained-4_27.ipynb --- .../SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb b/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb index 39b5947..88c47f7 100644 --- a/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb +++ b/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb @@ -969,7 +969,7 @@ "id": "af1169b6", "metadata": {}, "source": [ - "Continue including more models found at the NGC Catalog: https://catalog.ngc.nvidia.com/models. We recommend filtering by 'CT'.", + "Continue including more models found at the NGC Catalog: https://catalog.ngc.nvidia.com/models. We recommend filtering by 'CT'." ] }, { From c7b9b4d99506a8877220f79da53dedc21b225226 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 09:00:07 -0500 Subject: [PATCH 21/25] Update SpleenSeg_Pretrained-4_27.ipynb --- .../SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb b/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb index 88c47f7..cf8b3fe 100644 --- a/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb +++ b/notebooks/SpleenLiverSegmentation/SpleenSeg_Pretrained-4_27.ipynb @@ -359,8 +359,7 @@ "metadata": {}, "source": [ "### Use a dataloader to load files\n", - "Ability to use LMDB (Lightning Memory-Mapped Database)\n", - " - Here is where transforms take place and they happen on both images and labels" + "Ability to use LMDB (Lightning Memory-Mapped Database). Here is where transforms take place and they happen on both images and labels." ] }, { @@ -574,7 +573,7 @@ "metadata": {}, "source": [ "## Training\n", - " Without a GPU, training can take a while, we recommend skipping next three cells and load in model.", + " Without a GPU, training can take a while, we recommend skipping next three cells and load in model." ] }, { From b06e1c3d5f8c6d325e3498b692c5ac4bd9438033 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 10:14:34 -0500 Subject: [PATCH 22/25] fixed links Azure_Open_AI_README.md --- notebooks/GenAI/Azure_Open_AI_README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/notebooks/GenAI/Azure_Open_AI_README.md b/notebooks/GenAI/Azure_Open_AI_README.md index 427234c..5f7ae1c 100644 --- a/notebooks/GenAI/Azure_Open_AI_README.md +++ b/notebooks/GenAI/Azure_Open_AI_README.md @@ -8,11 +8,11 @@ Welcome to this repository, a comprehensive collection of examples that will hel - 4 Python scripts that demonstrate how to use Azure OpenAI Embeddings to create embedding applications. - 42 in-depth content slides on the information covered in this workshop. Please find ```aoai_workshop_content.pdf``` in [search_documents](https://github.com/t-cjackson/Azure-OpenAI-Workshop/tree/main/search_documents) folder in this repository. -The purpose of this workshop is to equip participants with the necessary skills to make the most out of the Azure OpenAI Playground, Prompt Engineering, and Azure OpenAI Embeddings in Python. You can view in-depth info on these topics in the [workshop slides](/tutorials/notebooks/GenAI/search_documents/aoai_workshop_content.pdf). +The purpose of this workshop is to equip participants with the necessary skills to make the most out of the Azure OpenAI Playground, Prompt Engineering, and Azure OpenAI Embeddings in Python. You can view in-depth info on these topics in the [workshop slides](/notebooks/GenAI/search_documents/aoai_workshop_content.pdf). You can also learn a lot about the details of using Azure OpenAI at this [site](https://learn.microsoft.com/en-us/azure/ai-services/openai/use-your-data-quickstart?tabs=command-line&pivots=programming-language-studio). -We recommend you 1) go through the steps in this README, 2) complete the general notebook called `notebooks/AzureOpenAI_embeddings.ipynb`, then 3) explore the other notebooks at [this directory](/tutorials/notebooks/GenAI/notebooks) +We recommend you 1) go through the steps in this README, 2) complete the general notebook called `notebooks/AzureOpenAI_embeddings.ipynb`, then 3) explore the other notebooks at [this directory](/notebooks/GenAI/notebooks) ## Overview of Page Contents + [Azure OpenAI Playground Prerequisites](#Azure-OpenAI-Playground-Prerequisites) From cc1f1d5c7c940ea887ad66789d26e6c4807ecc01 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 10:23:49 -0500 Subject: [PATCH 23/25] fixed links Azure_AI_Studio_README.md --- notebooks/GenAI/Azure_AI_Studio_README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/notebooks/GenAI/Azure_AI_Studio_README.md b/notebooks/GenAI/Azure_AI_Studio_README.md index 5a0fbbd..8c5573b 100644 --- a/notebooks/GenAI/Azure_AI_Studio_README.md +++ b/notebooks/GenAI/Azure_AI_Studio_README.md @@ -5,11 +5,11 @@ Microsoft Azure migrated the AI front end from Azure OpenAI to Azure AI Studio. Welcome to this repository, a comprehensive collection of examples that will help you chat with your data using the Azure OpenAI Studio Playground, create highly efficient large language model prompts, and build Azure OpenAI embeddings. -The purpose of this workshop is to equip participants with the necessary skills to make the most out of the Azure OpenAI Playground, Prompt Engineering, and Azure OpenAI Embeddings in Python. You can view in-depth info on these topics in the [workshop slides](/tutorials/notebooks/GenAI/search_documents/aoai_workshop_content.pdf). +The purpose of this workshop is to equip participants with the necessary skills to make the most out of the Azure OpenAI Playground, Prompt Engineering, and Azure OpenAI Embeddings in Python. You can view in-depth info on these topics in the [workshop slides](/notebooks/GenAI/search_documents/aoai_workshop_content.pdf). You can also learn a lot about the details of using Azure AI at this [site](https://azure.microsoft.com/en-us/products/ai-studio). -We recommend you 1) go through the steps in this README, 2) complete the general notebook called `notebooks/AzureOpenAI_embeddings.ipynb`, then 3) explore the other notebooks at [this directory](/tutorials/notebooks/GenAI/notebooks) +We recommend you 1) go through the steps in this README, 2) complete the general notebook called `notebooks/AzureOpenAI_embeddings.ipynb`, then 3) explore the other notebooks at [this directory](/notebooks/GenAI/notebooks) ## Overview of Page Contents + [Azure AI Playground Prerequisites](#Azure-OpenAI-Playground-Prerequisites) @@ -89,7 +89,7 @@ On the far right under *Configuration*, you can modify which model you are deplo ![modify deployment](/docs/images/19_deployment.png) -Finally, you can select the `parameters` tab to modify the model parameters. Review [this presentation](/tutorials/notebooks/GenAI/search_documents/aoai_workshop_content.pdf) to learn more about the parameters. +Finally, you can select the `parameters` tab to modify the model parameters. Review [this presentation](/notebooks/GenAI/search_documents/aoai_workshop_content.pdf) to learn more about the parameters. ![modify parameters](/docs/images/20_parameters.png) @@ -396,7 +396,7 @@ Creating embeddings of search documents allows you to use vector search, which i ### Environment Setup Navigate to your [Azure Machine Learning Studio environment](https://github.com/STRIDES/NIHCloudLabAzure#launch-a-machine-learning-workspace-jupyter-environment-). If you have not created your environment, [create one now](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-cloud-workstation?view=azureml-api-2). -Navigate to `Notebooks`, then clone this Git repo into your environment and navigate to the notebook called [AzureOpenAI_embeddings.ipynb](/tutorials/notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb). +Navigate to `Notebooks`, then clone this Git repo into your environment and navigate to the notebook called [AzureOpenAI_embeddings.ipynb](/notebooks/GenAI/notebooks/AzureOpenAI_embeddings.ipynb). You will need a variety of parameters to authenticate with the API. You can find these within the Playground by clicking **View Code**. Input these parameters into the notebook cell when asked. From fb7c4af71b574f98c808d4ab234d205f5be6bdb3 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 11:20:41 -0500 Subject: [PATCH 24/25] fixed links README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a7dee0e..a1caeb9 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Use this repository to learn about how to use Azure by exploring the linked reso ## **Artificial Intelligence** Machine learning is a subfield of artificial intelligence that focuses on the development of algorithms and models that enable computers to learn from and make predictions or decisions based on data, without being explicitly programmed. Artificial intelligence and machine learning algorithms are being applied to a variety of biomedical research questions, ranging from image classification to genomic variant calling. Azure offers AI services through Azure AI Studio and Azure Machine Learning. -See our suite of tutorials to learn more about [Gen AI on Azure](/notebooks/GenAI/) that highlight Azure products such as [Azure AI Studio](/notebooks/GenAI/Azure_AI_Studio_README.md), [Azure OpenAI](/notebooks/GenAI/Azure_Open_AI_README.md) and [Azure AI Search](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb) and external tools like [Langchain](/notebooks/GenAI/notebooks/AzureOpenAI-langchain.ipynb). These notebooks walk you through how to deploy, train, and query models, as well as how to implement techniques like [Retrieval-Augmented Generation (RAG)](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb). If you are interested in configuring a model to work with structured data like csv or json files, we've created tutorials that walk you through how to index your csv using the [Azure UI](/docs/create_index_from_csv.md) and query your database using a [notebook within Azure ML](/notebooks/GenAI/notebooks/llm_query_csv.ipynb). We also have another [tutorial that runs all the necessary steps directly from a notebook](/notebooks/GenAI/notebooks/azure_ai_search_structured.ipynb). +See our suite of tutorials to learn more about [Gen AI on Azure](/notebooks/GenAI/) that highlight Azure products such as [Azure AI Studio](/notebooks/GenAI/Azure_AI_Studio_README.md), [Azure OpenAI](/notebooks/GenAI/Azure_Open_AI_README.md) and [Azure AI Search](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb) and external tools like [Langchain](/notebooks/GenAI/notebooks/AzureAIStudio_langchain.ipynb). These notebooks walk you through how to deploy, train, and query models, as well as how to implement techniques like [Retrieval-Augmented Generation (RAG)](/notebooks/GenAI/notebooks/Azure_Pubmed_chatbot.ipynb). If you are interested in configuring a model to work with structured data like csv or json files, we've created tutorials that walk you through how to index your csv using the [Azure UI](/docs/create_index_from_csv.md) and query your database using a [notebook within Azure ML](/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb). We also have another [tutorial that runs all the necessary steps directly from a notebook](/notebooks/GenAI/notebooks/AzureAIStudio_index_structured_notebook.ipynb). ## **Clinical Informatics with FHIR** Azure Health Data Services is a set of services that enables you to store, process, and analyze medical data in Azure. These services are designed to help organizations quickly connect disparate health data sources and formats, such as structured, imaging, and device data, and normalize it to be persisted in the cloud. At its core, Azure Health Data Services possesses the ability to transform and ingest data into FHIR (Fast Healthcare Interoperability Resources) format. This allows you to transform health data from legacy formats, such as HL7v2 or CDA, or from high-frequency IoT data in device proprietary formats to FHIR. This makes it easier to connect data stored in Azure Health Data Services with services across the Azure ecosystem, like Azure Synapse Analytics, and Azure Machine Learning (Azure ML). From beebb27d5814e3f65e30eb8447dbbcb0c6803124 Mon Sep 17 00:00:00 2001 From: zbyosufzai <145053952+zbyosufzai@users.noreply.github.com> Date: Fri, 8 Mar 2024 11:22:52 -0500 Subject: [PATCH 25/25] fixed links create_index_from_csv.md --- docs/create_index_from_csv.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/create_index_from_csv.md b/docs/create_index_from_csv.md index 5801510..bc1563f 100644 --- a/docs/create_index_from_csv.md +++ b/docs/create_index_from_csv.md @@ -69,7 +69,7 @@ Navigate to `Indexes` on the left panel and wait until your index shows as many ![Check index](/docs/images/10_check_index.png) -And that is it! Now return to [the tutorial notebook to run queries against this csv using GPT-4]( /tutorials/notebooks/GenAI/notebooks/llm_query_csv.ipynb). +And that is it! Now return to [the tutorial notebook to run queries against this csv using GPT-4]( /notebooks/GenAI/notebooks/AzureAIStudio_index_structured_with_console.ipynb).