From a38dee2dfca3d16b873a7c74b5d2ee71e1dbd5ad Mon Sep 17 00:00:00 2001 From: Eric Kerfoot <17726042+ericspod@users.noreply.github.com> Date: Fri, 6 Sep 2024 12:33:35 +0100 Subject: [PATCH] DDPM Tutorials (#1814) Address some of #1769. ### Description These are the 2D ~~and 3D~~ DDPM tutorials. I have run them again to verify they work. ~~The 2D ones are fine but the 3D tutorial keeps having mode collapse or some other issue resulting in bad results. Work is ongoing on this one.~~ I have left the 3D tutorial off since it's not training stably and needs some revamp to be a proper and useful tutorial for users. ### Checks - [x] Avoid including large-size files in the PR. - [x] Clean up long text outputs from code cells in the notebook. - [x] For security purposes, please check the contents and remove any sensitive info such as user names and private key. - [x] Ensure (1) hyperlinks and markdown anchors are working (2) use relative paths for tutorial repo files (3) put figure and graphs in the `./figure` folder - [x] Notebook runs automatically `./runner.sh -t ` --------- Signed-off-by: Eric Kerfoot Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: YunLiu <55491388+KumoLiu@users.noreply.github.com> --- .../2d_ddpm/2d_ddpm_compare_schedulers.ipynb | 752 ++++++++++++++++++ generation/2d_ddpm/2d_ddpm_inpainting.ipynb | 749 +++++++++++++++++ generation/2d_ddpm/2d_ddpm_tutorial.ipynb | 709 +++++++++++++++++ .../2d_ddpm/2d_ddpm_tutorial_ignite.ipynb | 626 +++++++++++++++ .../2d_ddpm_tutorial_v_prediction.ipynb | 682 ++++++++++++++++ 5 files changed, 3518 insertions(+) create mode 100644 generation/2d_ddpm/2d_ddpm_compare_schedulers.ipynb create mode 100644 generation/2d_ddpm/2d_ddpm_inpainting.ipynb create mode 100644 generation/2d_ddpm/2d_ddpm_tutorial.ipynb create mode 100644 generation/2d_ddpm/2d_ddpm_tutorial_ignite.ipynb create mode 100644 generation/2d_ddpm/2d_ddpm_tutorial_v_prediction.ipynb diff --git a/generation/2d_ddpm/2d_ddpm_compare_schedulers.ipynb b/generation/2d_ddpm/2d_ddpm_compare_schedulers.ipynb new file mode 100644 index 000000000..05f3edce4 --- /dev/null +++ b/generation/2d_ddpm/2d_ddpm_compare_schedulers.ipynb @@ -0,0 +1,752 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d462dbf4", + "metadata": {}, + "source": [ + "Copyright (c) MONAI Consortium \n", + "Licensed under the Apache License, Version 2.0 (the \"License\"); \n", + "you may not use this file except in compliance with the License. \n", + "You may obtain a copy of the License at \n", + "    http://www.apache.org/licenses/LICENSE-2.0 \n", + "Unless required by applicable law or agreed to in writing, software \n", + "distributed under the License is distributed on an \"AS IS\" BASIS, \n", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \n", + "See the License for the specific language governing permissions and \n", + "limitations under the License.\n", + "\n", + "# Denoising Diffusion Probabilistic Models with MedNIST Dataset\n", + "\n", + "This tutorial compares the different schedulers available for sampling from a trained model with a reduced number of timesteps. The schedulers we will compare are:\n", + "\n", + "[1] - DDPM - Ho et al. \"Denoising Diffusion Probabilistic Models\" https://arxiv.org/abs/2006.11239\n", + "\n", + "[2] - DDIM - Song et al. \"Denoising Diffusion Implicit Models\" https://arxiv.org/abs/2010.02502\n", + "\n", + "[3] - PNDM - Liu et al. \"Pseudo Numerical Methods for Diffusion Models on Manifolds\" https://arxiv.org/abs/2202.09778\n", + "\n", + "\n", + "\n", + "## Setup environment" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "57c074c3", + "metadata": {}, + "outputs": [], + "source": [ + "!python -c \"import monai\" || pip install -q \"monai-weekly[tqdm]\"\n", + "!python -c \"import matplotlib\" || pip install -q matplotlib\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "id": "8c45380e", + "metadata": {}, + "source": [ + "## Setup imports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "cf51122f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MONAI version: 1.4.0rc6\n", + "Numpy version: 1.26.4\n", + "Pytorch version: 2.3.1+cu121\n", + "MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n", + "MONAI rev id: 6a0e1b043ba2890e1463fa49df76f66e56a68b08\n", + "MONAI __file__: /home//miniconda3/envs/monai/lib/python3.11/site-packages/monai/__init__.py\n", + "\n", + "Optional dependencies:\n", + "Pytorch Ignite version: 0.4.11\n", + "ITK version: 5.4.0\n", + "Nibabel version: 5.2.1\n", + "scikit-image version: 0.23.2\n", + "scipy version: 1.13.1\n", + "Pillow version: 10.3.0\n", + "Tensorboard version: 2.17.0\n", + "gdown version: 5.2.0\n", + "TorchVision version: 0.18.1+cu121\n", + "tqdm version: 4.66.4\n", + "lmdb version: 1.4.1\n", + "psutil version: 5.9.0\n", + "pandas version: 2.2.2\n", + "einops version: 0.8.0\n", + "transformers version: NOT INSTALLED or UNKNOWN VERSION.\n", + "mlflow version: 2.14.0\n", + "pynrrd version: 1.0.0\n", + "clearml version: 1.16.2rc0\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" + ] + } + ], + "source": [ + "import os\n", + "import shutil\n", + "import tempfile\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import torch\n", + "import torch.nn.functional as F\n", + "from tqdm import tqdm\n", + "from monai import transforms\n", + "from monai.apps import MedNISTDataset\n", + "from monai.config import print_config\n", + "from monai.data import CacheDataset, DataLoader\n", + "from monai.utils import first, set_determinism\n", + "from monai.inferers import DiffusionInferer\n", + "from monai.networks.nets import DiffusionModelUNet\n", + "from monai.networks.schedulers import DDIMScheduler, DDPMScheduler, PNDMScheduler\n", + "\n", + "print_config()" + ] + }, + { + "cell_type": "markdown", + "id": "d252fb96", + "metadata": {}, + "source": [ + "## Setup data directory\n", + "\n", + "You can specify a directory with the MONAI_DATA_DIRECTORY environment variable.\n", + "\n", + "This allows you to save results and reuse downloads.\n", + "\n", + "If not specified a temporary directory will be used." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2dddeec3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/tmp/tmpm4jzl5xr\n" + ] + } + ], + "source": [ + "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n", + "root_dir = tempfile.mkdtemp() if directory is None else directory\n", + "print(root_dir)" + ] + }, + { + "cell_type": "markdown", + "id": "ac758b96", + "metadata": {}, + "source": [ + "## Set deterministic training for reproducibility" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "12f95a15", + "metadata": {}, + "outputs": [], + "source": [ + "set_determinism(0)" + ] + }, + { + "cell_type": "markdown", + "id": "223684c0", + "metadata": {}, + "source": [ + "## Setup MedNIST Dataset and training and validation dataloaders\n", + "In this tutorial, we will train our models on the MedNIST dataset available on MONAI\n", + "(https://docs.monai.io/en/stable/apps.html#monai.apps.MedNISTDataset). In order to train faster, we will select just\n", + "one of the available classes (\"Hand\"), resulting in a training set with 7999 2D images." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "0b9020fd", + "metadata": {}, + "outputs": [], + "source": [ + "train_data = MedNISTDataset(root_dir=root_dir, section=\"training\", download=True, seed=0)\n", + "train_datalist = [{\"image\": item[\"image\"]} for item in train_data.data if item[\"class_name\"] == \"Hand\"]\n", + "batch_size = 64\n", + "num_workers = 4" + ] + }, + { + "cell_type": "markdown", + "id": "ce22143f-4438-4af5-b9e9-2ad70fa1f17e", + "metadata": {}, + "source": [ + "Here we use transforms to augment the training dataset:\n", + "\n", + "1. `LoadImaged` loads the hands images from files.\n", + "1. `EnsureChannelFirstd` ensures the original data to construct \"channel first\" shape.\n", + "1. `ScaleIntensityRanged` extracts intensity range [0, 255] and scales to [0, 1].\n", + "1. `RandAffined` efficiently performs rotate, scale, shear, translate, etc. together based on PyTorch affine transform." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "32cc4e62", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading dataset: 100%|██████████| 7999/7999 [00:05<00:00, 1354.84it/s]\n" + ] + } + ], + "source": [ + "train_transforms = transforms.Compose(\n", + " [\n", + " transforms.LoadImaged(keys=[\"image\"]),\n", + " transforms.EnsureChannelFirstd(keys=[\"image\"]),\n", + " transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n", + " transforms.RandAffined(\n", + " keys=[\"image\"],\n", + " rotate_range=[(-np.pi / 36, np.pi / 36), (-np.pi / 36, np.pi / 36)],\n", + " translate_range=[(-1, 1), (-1, 1)],\n", + " scale_range=[(-0.05, 0.05), (-0.05, 0.05)],\n", + " spatial_size=[64, 64],\n", + " padding_mode=\"zeros\",\n", + " prob=0.5,\n", + " ),\n", + " ]\n", + ")\n", + "train_ds = CacheDataset(data=train_datalist, transform=train_transforms)\n", + "train_loader = DataLoader(\n", + " train_ds, batch_size=batch_size, shuffle=True, num_workers=num_workers, persistent_workers=True\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c7b75be0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-09-02 18:24:30,579 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n", + "2024-09-02 18:24:30,580 - INFO - File exists: /tmp/tmpm4jzl5xr/MedNIST.tar.gz, skipped downloading.\n", + "2024-09-02 18:24:30,581 - INFO - Non-empty folder exists in /tmp/tmpm4jzl5xr/MedNIST, skipped extracting.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading dataset: 100%|██████████| 5895/5895 [00:02<00:00, 2488.46it/s]\n", + "Loading dataset: 100%|██████████| 1005/1005 [00:00<00:00, 1390.42it/s]\n" + ] + } + ], + "source": [ + "val_data = MedNISTDataset(root_dir=root_dir, section=\"validation\", download=True, seed=0)\n", + "val_datalist = [{\"image\": item[\"image\"]} for item in val_data.data if item[\"class_name\"] == \"Hand\"]\n", + "val_transforms = transforms.Compose(\n", + " [\n", + " transforms.LoadImaged(keys=[\"image\"]),\n", + " transforms.EnsureChannelFirstd(keys=[\"image\"]),\n", + " transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n", + " ]\n", + ")\n", + "val_ds = CacheDataset(data=val_datalist, transform=val_transforms)\n", + "val_loader = DataLoader(val_ds, batch_size=batch_size, shuffle=False, num_workers=num_workers, persistent_workers=True)" + ] + }, + { + "cell_type": "markdown", + "id": "7ab0e5cb", + "metadata": {}, + "source": [ + "### Visualisation of the training images" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "b7b5a662", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "batch shape: torch.Size([128, 1, 64, 64])\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "check_data = first(train_loader)\n", + "print(f\"batch shape: {check_data['image'].shape}\")\n", + "image_visualisation = torch.cat(\n", + " [check_data[\"image\"][0, 0], check_data[\"image\"][1, 0], check_data[\"image\"][2, 0], check_data[\"image\"][3, 0]], dim=1\n", + ")\n", + "plt.figure(\"training images\", (12, 6))\n", + "plt.imshow(image_visualisation, vmin=0, vmax=1, cmap=\"gray\")\n", + "plt.axis(\"off\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "6baa627b", + "metadata": {}, + "source": [ + "### Define network and optimizer\n", + "At this step, we instantiate the MONAI components to create a DDPM, a 2D unet with attention mechanisms\n", + "in the 2nd and 4th levels, each with 1 attention head." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "17b0b16a", + "metadata": {}, + "outputs": [], + "source": [ + "device = torch.device(\"cuda\")\n", + "\n", + "model = DiffusionModelUNet(\n", + " spatial_dims=2,\n", + " in_channels=1,\n", + " out_channels=1,\n", + " channels=(64, 128, 128),\n", + " attention_levels=(False, True, True),\n", + " num_res_blocks=1,\n", + " num_head_channels=128,\n", + ")\n", + "model.to(device)\n", + "\n", + "optimizer = torch.optim.Adam(model.parameters(), 2.5e-5)" + ] + }, + { + "cell_type": "markdown", + "id": "f9345f57-b65a-4fae-9ffe-ad39db91f762", + "metadata": {}, + "source": [ + "### Define schedulers\n", + "\n", + "We use a DDPM scheduler with 1000 steps for training. For sampling, we will compare the DDPM, DDIM, and PNDM." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "0fe646cd-1696-463c-8be0-20ab9c05d744", + "metadata": {}, + "outputs": [], + "source": [ + "num_train_timesteps = 1000\n", + "ddpm_scheduler = DDPMScheduler(num_train_timesteps=num_train_timesteps)\n", + "ddim_scheduler = DDIMScheduler(num_train_timesteps=num_train_timesteps)\n", + "pndm_scheduler = PNDMScheduler(num_train_timesteps=num_train_timesteps, skip_prk_steps=True)\n", + "\n", + "# the range of sampling steps we want to use when testing the DDIM and PNDM schedulers\n", + "sampling_steps = [1000, 500, 200, 50]" + ] + }, + { + "cell_type": "markdown", + "id": "48797080", + "metadata": {}, + "source": [ + "### Define inferer for sampling" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "25014ea6-dfb6-4cd3-93fa-4351197d6fa5", + "metadata": {}, + "outputs": [], + "source": [ + "inferer = DiffusionInferer(scheduler=ddpm_scheduler)" + ] + }, + { + "cell_type": "markdown", + "id": "9857d42f", + "metadata": {}, + "source": [ + "### Model training\n", + "Here, we are training our model for 100 epochs (training time: ~40 minutes). It is necessary to train for a bit longer than other tutorials because the DDIM and PNDM schedules seem to require a model trained longer before they start producing good samples, when compared to DDPM.\n", + "\n", + "If you would like to skip the training and use a pre-trained model instead, set `use_pretrained=True`. This model was trained using the code in `tutorials/generative/distributed_training/ddpm_training_ddp.py`" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "49a16601", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 0: 100%|██████████| 63/63 [00:21<00:00, 2.89it/s, loss=0.741]\n", + "Epoch 1: 100%|██████████| 63/63 [00:21<00:00, 2.95it/s, loss=0.59] \n", + "Epoch 2: 100%|██████████| 63/63 [00:21<00:00, 2.96it/s, loss=0.421]\n", + "Epoch 3: 100%|██████████| 63/63 [00:21<00:00, 2.96it/s, loss=0.256]\n", + "Epoch 4: 100%|██████████| 63/63 [00:21<00:00, 2.96it/s, loss=0.149]\n", + "Epoch 5: 100%|██████████| 63/63 [00:21<00:00, 2.88it/s, loss=0.0957]\n", + "Epoch 6: 100%|██████████| 63/63 [00:21<00:00, 2.94it/s, loss=0.0746]\n", + "Epoch 7: 100%|██████████| 63/63 [00:21<00:00, 2.95it/s, loss=0.0651]\n", + "Epoch 8: 100%|██████████| 63/63 [00:21<00:00, 2.94it/s, loss=0.0606]\n", + "Epoch 9: 100%|██████████| 63/63 [00:21<00:00, 2.94it/s, loss=0.0596]\n", + "...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 90: 100%|██████████| 63/63 [00:21<00:00, 2.92it/s, loss=0.0436]\n", + "Epoch 91: 100%|██████████| 63/63 [00:21<00:00, 2.95it/s, loss=0.0446]\n", + "Epoch 92: 100%|██████████| 63/63 [00:21<00:00, 2.95it/s, loss=0.0431]\n", + "Epoch 93: 100%|██████████| 63/63 [00:21<00:00, 2.94it/s, loss=0.0439]\n", + "Epoch 94: 100%|██████████| 63/63 [00:21<00:00, 2.96it/s, loss=0.0442]\n", + "Epoch 95: 100%|██████████| 63/63 [00:21<00:00, 2.96it/s, loss=0.0443]\n", + "Epoch 96: 100%|██████████| 63/63 [00:21<00:00, 2.94it/s, loss=0.0426]\n", + "Epoch 97: 100%|██████████| 63/63 [00:21<00:00, 2.94it/s, loss=0.0435]\n", + "Epoch 98: 100%|██████████| 63/63 [00:21<00:00, 2.95it/s, loss=0.0427]\n", + "Epoch 99: 100%|██████████| 63/63 [00:21<00:00, 2.95it/s, loss=0.0443]\n", + "Epoch 99 - Validation set: 13%|█▎ | 8/63 [00:00<00:06, 8.45it/s, val_loss=0.0468]\n", + "100%|██████████| 1000/1000 [00:09<00:00, 101.98it/s]\n", + "100%|██████████| 1000/1000 [00:09<00:00, 103.98it/s]\n", + "100%|██████████| 500/500 [00:04<00:00, 105.15it/s]\n", + "100%|██████████| 200/200 [00:01<00:00, 102.81it/s]\n", + "100%|██████████| 50/50 [00:00<00:00, 103.02it/s]\n", + "100%|██████████| 1000/1000 [00:09<00:00, 103.27it/s]\n", + "100%|██████████| 500/500 [00:04<00:00, 103.60it/s]\n", + "100%|██████████| 200/200 [00:01<00:00, 103.34it/s]\n", + "100%|██████████| 50/50 [00:00<00:00, 103.02it/s]\n" + ] + }, + { + "data": { + "image/png": "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fP7zn2dt7rnnHqxduxZnnnkmbrzxRpZKw+Fw4Ctf+Qprt379ejz77LM499xzcdNNN2HhwoUYGBjAY489hpdeeglOp3Naju2//uu/AAC7d+8GMCG4XnrpJQDAf/zHf7B2X//617F69Wo2nt7eXnznO9/BxRdfjEsvvZS1W7VqFa699lrceeedGB4expw5c/DQQw+hq6sLv/jFL6ZlzAKB4J8YSSAQCCrwwAMPSADK/jzwwAOSJEnSkSNHJADSPffcI33nO9+RWlpaJIPBIJ199tnSjh07JvX7/PPPS2eddZZkMpkku90uXXHFFdKePXsmtTt69Kh03XXXST6fTzIYDFJHR4d0yy23SJlMpmR8r732Wsl2mzZtkgBImzZtqnqMlY5PzosvviitXr1aMhqNks/nk2655RYpGo1OapdKpaTbbrtNCgaDksFgkM444wzp6aefrjoWgUAgUEnSP9g3IBAI/inp6upCe3t7SckigUAgENSPiDkTCAQCgUAgmEEIcSYQCAQCgUAwgxDiTCAQCAQCgWAGIWLOBAKBQCAQCGYQJ8xyFo/Hcdddd+HSSy+F2+2GSqXCgw8+WLb93r17cemll8JqtcLtduMjH/kIRkZGJrUrFov41re+hfb2dhiNRixbtgy/+c1vjqnPqbBnzx585StfQVdX17T0JxAIBAKB4O3BCRNno6Oj+NrXvoa9e/filFNOqdi2t7cX55xzDg4ePIj169fjtttuwx//+EdcdNFFyGazJW2/+MUv4vbbb8dFF12EH/zgB5g1axY++MEP4pFHHplyn1Nhz549+OpXvyrEmUAgEAgEgro4YUloqfZcMBjE66+/jjPOOKNs2/Xr1yORSOCNN95gxY1XrlyJiy66CA8++CBuuukmAEBfXx++853v4JZbbsF9990HAPjYxz6Gc889F5/73Odw7bXXsvp7tfYpEAgEAoFA8I/khFnODAYDgsFgTW0ff/xxXH755UxEAcCFF16IefPm4dFHH2XLnnzySeRyOXzyk59ky1QqFW6++Wb09vbilVdeqbvPcjzyyCM4/fTTYbPZYLfbsXTpUnzve98DADz44IOslMt5550HlUoFlUqFF154gW2/ceNGnH322bBYLLDZbLjssstYdnJi3bp1sFqtOHz4MC655BJYLBY0Njbia1/72qTSNZXGIxAIBAKB4ORhxs/W7Ovr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du/eXdLuf//3fyUA0osvvlhx3wMDA9K6deukpqYmSa/XS8FgUHr3u9/NHoytra2TrkNeqI2Pj0uf+cxnpObmZkmv10uzZ8+WvvnNb0qFQoG1OXLkCHuR+e53vyvNmjVLMhqN0jnnnCPt3LmzrvEIjg/H4x5Zju9///vSokWLJJPJJDmdTun000+Xfv3rX0uSJEl33XWX4r2P//4ffvhh6bTTTpOMRqPkcrmk973vfZPuZ+eee660ePFi6fXXX5fOPPNMyWg0Sm1tbdKPf/zjusYznZwQt2YsFgMAViScyOfzzH0ph1JbKEHuUR6pTMyVfJlSm3LU01YJimsr13ehUFA8Fv64pf9/Jmkul6u6r1QqBWDifDscjmMY+duTj370o4jH49BoNDj77LNxzz33YMWKFWz9zp07kc/nS5YBgF6vx/Lly7Ft2za2bNu2bZg3bx7sdntJ25UrVwKYMP23tLQojiObzeKSSy5BJpPBpz/9aQSDQfT19eGpp55COByGw+HAww8/jI997GNYuXIlbrrpJgDA7NmzAQBDQ0N4xzveAZVKhU996lPw+XzYuHEjbrzxRkSjUXz2s58t2d/Xv/51qFQq3H777RgeHsa9996LCy+8ENu3b4fJZKppPILjgyRJGBoawuLFi9myvr4+DA8PT7oOgYnr609/+hP7vG3bNlgsFixcuHBSO1pfycV+9dVXY/fu3fj0pz+NtrY2DA8P47nnnkN3dzfa2tpw77334tOf/jSsViu++MUvAgACgQAAIJlM4txzz0VfXx8+8YlPYNasWXj55Zdx5513YmBgAPfee2/Jvn75y18iFovhlltuQTqdxve+9z2cf/752LlzJ+uz2ngEx5fpvEcq8bOf/Qy33norrrnmGnzmM59BOp3G3//+d2zduhUf/OAH8Z73vAcHDhzAb37zG/z3f/83vF4vAMDn8wGYuJd96Utfwnvf+1587GMfw8jICH7wgx/gnHPOwbZt20rcoOPj43jXu96F9773vfjABz6ARx99FDfffDP0ej1uuOGGmsYzrUy73KuBQqEg9fT0SOFwWIpEIkyF/+hHP5IikUjJD627//77J6279dZbJQDS8PCwFIlEpEsuuURqa2ub1G5gYEACIP3bv/1b3X0q/dx8882S3W6XQqFQ2TYPPfSQBEB66qmnSpb39fVJDodDuv7660uWd3Z2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bNmVV14JnU6HH/3oR2yZJEn4yU9+gqamJqxevbruPpUYGxsr+axWq5n1gcy3ZB6VZy2+5JJLYLfbsX79esUZl0oZve+7776S47nvvvug0+lwwQUX1DweQe0ofQc7duzA73//e1x88cUshs/hcODCCy/Er371KzYDGZiwisbj8ZLr6JprrkGhUMBPf/pTtiyTyeCBBx7AqlWrys7UBIBoNDppFvPSpUuhVqtLvl+LxTLpetNoNLj66qvx+OOPY9euXTUdK82SIzZs2ICBgQGsXbu2rvEIjo1CoYD3ve99eOWVV/DYY4/hzDPPLNv2eNwj5SSTSeb+JGbPng2bzVb1OgSA9773vXjllVfwzDPPTFoXDocnXVNPPPFEibX51VdfxdatW9l1WOt4BNPP8bhHKiF/tun1eixatIhlLQDKP2vf8573QKPR4Ktf/apilgZ53/l8Hvfffz/7nM1mcf/998Pn8+H000+veTzTxQl1a953332sRBIA/OEPf0Bvby8A4NOf/jQLPP7CF76Axx57DOeddx4+85nPIB6P45577sHSpUtZ3AwANDc347Of/Szuuece5HI5nHHGGXjiiSfw4osv4te//nWJabPWPpX42Mc+hlAohPPPPx/Nzc04evQofvCDH2D58uVsivry5cuh0Whw9913IxKJwGAw4Pzzz4ff78ePf/xjfOQjH8Fpp52G97///fD5fOju7sYf//hHnHXWWSVizGg04umnn8b111+PVatWYePGjfjjH/+IL3zhC2y6cC3jEdTO+973PphMJqxevRp+vx979uzBT3/6U5jNZnzzm98safv1r38dq1evxrnnnoubbroJvb29+M53voOLL74Yl156KWu3atUqXHvttbjzzjsxPDyMOXPm4KGHHkJXVxd+8YtfVBzPX/7yF3zqU5/Ctddei3nz5iGfz+Phhx9mwos4/fTT8fzzz+O73/0uGhsb0d7ejlWrVuGb3/wmNm3ahFWrVuHjH/84Fi1ahFAohDfffBPPP/88QqFQyf7cbjfWrFmDj370oxgaGsK9996LOXPm4OMf/3hd4xEcG//v//0//P73v8cVV1yBUCiEX/3qVyXrP/zhD7O/j8c9Us6BAwdwwQUX4L3vfS8WLVoErVaL3/3udxgaGiqpLHD66afjxz/+Mf7rv/4Lc+bMgd/vx/nnn4/Pfe5z+P3vf4/LL78c69atw+mnn45EIoGdO3diw4YN6OrqYqkQgIkYpjVr1uDmm29GJpPBvffeC4/Hw9yitY5HMP0cj3ukEhdffDGCwSDOOussBAIB7N27F/fddx8uu+wyNmmJhNMXv/hFvP/974dOp8MVV1yB2bNn47/+679w5513oqurC1dddRVsNhuOHDmC3/3ud7jppptw2223sX01Njbi7rvvRldXF+bNm4f/+7//w/bt2/HTn/6UTc6rZTzTxrTa4epEKWEh/chNlLt27ZIuvvhiyWw2S06nU/rQhz4kDQ4OTuqzUChI69evl1pbWyW9Xi8tXrxY+tWvfqW4/1r7lLNhwwbp4osvZgk9Z82aJX3iE5+QBgYGStr97Gc/kzo6OljCXN7FuWnTJumSSy6RHA6HZDQapdmzZ0vr1q2TXn/9ddbm+uuvlywWi3To0CE2zkAgIN11110l6TFqHY+gNr73ve9JK1eulNxut6TVaqWGhgbpwx/+cFkX8YsvviitXr1aMhqNks/nk2655ZaSVBREKpWSbrvtNikYDEoGg0E644wzpKeffrrqeA4fPizdcMMN0uzZsyWj0Si53W7pvPPOk55//vmSdvv27ZPOOecclnyYd3EODQ1Jt9xyi9TS0iLpdDopGAxKF1xwgfTTn/6UtSG35m9+8xvpzjvvlPx+v2QymaTLLrusJPN8reMRHBs0vb/cj5zjcY/kGR0dlW655RZpwYIFksVikRwOh7Rq1Srp0UcfLWk3ODgoXXbZZZLNZpuUhDYWi0l33nmnNGfOHEmv10ter1davXq19O1vf5ulK+CT0H7nO9+RWlpaJIPBIJ199tnSjh076h6PYPo5XvdIOffff790zjnnSB6PRzIYDNLs2bOlz33uc5PCQ/7zP/9TampqYonYef3w+OOPS2vWrJEsFotksVikBQsWSLfcckuJu1MpCW1ra6t03333TWk804FKkkR17JkK1WKcrgKxAkElXnjhBZx33nl47LHHcM0115zo4QjepnR1daG9vR333HNPiWVDIDhevPOd78To6Khi6MeJ4qSIORMIBAKBQCB4uyDEmUAgEAgEAsEMQogzgUAgEAgEghmEiDkTCAQCgUAgmEEIy5lAIBAIBALBDEKIM4FAIBAIBIIZhBBnAoFAIBAIBDOIE1IhoFgsor+/HzabraT4rmB6kSQJsVgMjY2NrJyG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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "use_pretrained = False\n", + "\n", + "if use_pretrained:\n", + " model = torch.hub.load(\"marksgraham/pretrained_generative_models:v0.2\", model=\"ddpm_2d\", verbose=True).to(device)\n", + "else:\n", + " max_epochs = 100\n", + " val_interval = 10\n", + " epoch_loss_list = []\n", + " val_epoch_loss_list = []\n", + " for epoch in range(max_epochs):\n", + " model.train()\n", + " epoch_loss = 0\n", + " progress_bar = tqdm(enumerate(train_loader), total=len(train_loader))\n", + " progress_bar.set_description(f\"Epoch {epoch}\")\n", + " for step, batch in progress_bar:\n", + " images = batch[\"image\"].to(device)\n", + " optimizer.zero_grad(set_to_none=True)\n", + "\n", + " # Randomly select the timesteps to be used for the minibacth\n", + " timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=device).long()\n", + "\n", + " # Add noise to the minibatch images with intensity defined by the scheduler and timesteps\n", + " noise = torch.randn_like(images).to(device)\n", + " noisy_image = ddpm_scheduler.add_noise(original_samples=images, noise=noise, timesteps=timesteps)\n", + "\n", + " # In this example, we are parametrising our DDPM to learn the added noise (epsilon).\n", + " # For this reason, we are using our network to predict the added noise and then using L1 loss to predict\n", + " # its performance.\n", + " noise_pred = model(x=noisy_image, timesteps=timesteps)\n", + " loss = F.l1_loss(noise_pred.float(), noise.float())\n", + "\n", + " loss.backward()\n", + " optimizer.step()\n", + " epoch_loss += loss.item()\n", + "\n", + " progress_bar.set_postfix({\"loss\": epoch_loss / (step + 1)})\n", + " epoch_loss_list.append(epoch_loss / (step + 1))\n", + "\n", + " if (epoch + 1) % val_interval == 0:\n", + " model.eval()\n", + " val_epoch_loss = 0\n", + " progress_bar = tqdm(enumerate(val_loader), total=len(train_loader))\n", + " progress_bar.set_description(f\"Epoch {epoch} - Validation set\")\n", + " for step, batch in progress_bar:\n", + " images = batch[\"image\"].to(device)\n", + " timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=device).long()\n", + " noise = torch.randn_like(images).to(device)\n", + " with torch.no_grad():\n", + " noisy_image = ddpm_scheduler.add_noise(original_samples=images, noise=noise, timesteps=timesteps)\n", + " noise_pred = model(x=noisy_image, timesteps=timesteps)\n", + " val_loss = F.l1_loss(noise_pred.float(), noise.float())\n", + "\n", + " val_epoch_loss += val_loss.item()\n", + " progress_bar.set_postfix({\"val_loss\": val_epoch_loss / (step + 1)})\n", + " val_epoch_loss_list.append(val_epoch_loss / (step + 1))\n", + "\n", + " # Sampling image during training\n", + " noise = torch.randn((1, 1, 64, 64))\n", + " noise = noise.to(device)\n", + " image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=ddpm_scheduler)\n", + " plt.figure(figsize=(8, 4))\n", + " plt.subplot(3, len(sampling_steps), 1)\n", + " plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + " plt.tick_params(top=False, bottom=False, left=False, right=False, labelleft=False, labelbottom=False)\n", + " plt.ylabel(\"DDPM\")\n", + " plt.title(\"1000 steps\")\n", + " # DDIM\n", + " for idx, reduced_sampling_steps in enumerate(sampling_steps):\n", + " ddim_scheduler.set_timesteps(reduced_sampling_steps)\n", + " image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=ddim_scheduler)\n", + " plt.subplot(3, len(sampling_steps), len(sampling_steps) + idx + 1)\n", + " plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + " plt.ylabel(\"DDIM\")\n", + " if idx == 0:\n", + " plt.tick_params(\n", + " top=False, bottom=False, left=False, right=False, labelleft=False, labelbottom=False\n", + " )\n", + " else:\n", + " plt.axis(\"off\")\n", + " plt.title(f\"{reduced_sampling_steps} steps\")\n", + " # PNDM\n", + " for idx, reduced_sampling_steps in enumerate(sampling_steps):\n", + " pndm_scheduler.set_timesteps(reduced_sampling_steps)\n", + " image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=pndm_scheduler)\n", + " plt.subplot(3, len(sampling_steps), len(sampling_steps) * 2 + idx + 1)\n", + " plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + " plt.ylabel(\"PNDM\")\n", + " if idx == 0:\n", + " plt.tick_params(\n", + " top=False, bottom=False, left=False, right=False, labelleft=False, labelbottom=False\n", + " )\n", + " else:\n", + " plt.axis(\"off\")\n", + " plt.title(f\"{reduced_sampling_steps} steps\")\n", + " plt.suptitle(f\"Epoch {epoch+1}\")\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "f1e55da9", + "metadata": {}, + "source": [ + "### Learning curves" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "af10be41", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [ + { + "data": { + "image/png": "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zz77rAAgxo4dK5YsWeKcMXr16tUeqzNDkBcZDAYxZcoU0aRJE6FWq8VNN90ktm7d6u9qBa3evXsLAJW+yjt69Kjo37+/CAkJEVFRUWLEiBHi7Nmzfqr51aOiECSEEHv27BG33HKL0Gg0IjY2Vjz55JMu/4Om6pnNZjFr1iyRnJwslEqlaN26tXj77bfd9uO9rr+DBw+KO+64QzRp0kQolUrRtm1b8eqrrwqLxeKyH+917SQnJ1f68/nkyZPO/Wr689lms4nXXntNJCcnC5VKJdq3by8+/vhjj9ZZEuKKUUdEREREDQAHRhMREVGDxBBEREREDRJDEBERETVIDEFERETUIDEEERERUYPEEEREREQNEkMQERERNUgMQURERNQgMQQRkde1aNECkiRV+1q+fLm/q1pjjjoTUfBS+LsCRNRw9OjRA61bt650e1XbiIg8jSGIiHxmzJgxGD16tL+rQUQEgN1hRERE1EAxBBFRQCo/5mbJkiXo2rUrQkNDERUVhTvvvBPffvttpcdevHgRzz//PNq3b4+QkBCEh4eja9euePPNN2EwGCo9LicnB88++yw6duyI8PBwhIaGom3bthg9ejT2799f6XHr169Hz549ERERgdDQUPTo0QNffPFFhfvm5eXh6aefRtu2baHRaBASEoKkpCT069cPb731Vg3vDhF5AleRJyKva9GiBU6dOoVly5bVuDvMEYCeeeYZvPPOO+jRoweSkpLw008/4ejRo1AoFPjPf/6D++67z+W4P//8E3379sWpU6cQGxuLXr16wWKxYOfOnSguLsYNN9yA7du3Izo62uW4b775BmlpaSgqKkJcXBy6d+8OlUqFrKwsZGZmYvjw4S4Dtx31e/HFFzF79mzccsstaNasGY4fP44ffvgBkiRh/fr1LvU7e/YsunbtitzcXDRv3hxdunSBRqNBbm4ufv75Z9hsNhQVFdX+BhNR3QgiIi9LTk4WAMSyZctqfAwAAUBotVrxzTffuGx78803BQARGRkpzp0757ItNTVVABCDBw8WJSUlzvL8/Hxxww03CABi+PDhLsdkZ2eLyMhIAUA899xzwmQyuWw/d+6c2LNnT4X1i4qKEt9++63LtpkzZwoAom3bti7lL730kgAgxo4dK+x2u8s2s9kstm/fXoM7Q0SewhBERF7nCEHVvQoLC53HOMomTZpU4TlvvPFGAUC8+uqrzrI9e/YIACIkJEScPXvW7ZjDhw8LAEImk4nTp087yydNmiQAiEGDBtX4Mznqt2DBArdtRqPRGaqys7Od5f/3f/8nAIgNGzbU+DpE5D18OoyIfKa6R+RVKpVb2SOPPFLhvqNGjcLhw4exa9cuPP/88wCAXbt2AQAGDhyI+Ph4t2O6du2K66+/Hj/88AN2796NESNGAAC2bt0KABg7dmytPg8ADBo0yK1MrVajZcuWyMjIQE5ODpKSkgAA3bp1w/vvv4/nnnsOQgj0798fYWFhtb4mEXkGQxAR+UxdHpFPSUmpsvzMmTPOspycnCqPAYBWrVrhhx9+cO4LAKdOnQIAtGvXrlZ1A4DmzZtXWB4REQEAMBqNzrKRI0di27ZtWL16NR544AHI5XJcd9116NmzJ9LS0tC3b99aX5+I6o5PhxFRUBN+frZDJqv5j1GZTIaPP/4YP//8M958803cfffdyMvLw8KFC9GvXz8MHjwYNpvNi7UlovIYgogooJ08ebLC8qysLABAs2bNnGVNmzYFUPaEWGUc2xz7An+15hw/frxeda2p6667Ds8++yw+/fRT5OfnY/v27YiLi8OmTZuwcuVKn9SBiBiCiCjArVq1qsryPn36OMsc77du3Ypz5865HZORkYHMzEzIZDL06tXLWT5w4EAAZfMR+ZokSejXrx+GDx8OAMjMzPR5HYgaKoYgIgpoCxcudA54dnj77bdx6NAhhIeHIz093Vnes2dPpKamwmAwYNy4cSgtLXVuO3/+PMaNGwcAGDZsmHOwMgD8/e9/R3h4OD7//HO88MILsFgsLtfLz8/H3r176/1ZVq5cie+//96tvLi42PkZk5OT630dIqoZTpZIRF7nmCyxuqfD+vfv72wRcUxGOGnSJMyfPx+33normjZtiqNHj+Knn36CXC7H2rVrkZaW5nKO8pMlxsXFuUyWqNfrK50s8euvv0ZaWhqKi4sRHx+P7t27Q6lU4tSpU8jIyKh0ssTKfoT26dMHu3fvxs6dO50tVPfeey8+++wzJCYmonPnzoiOjkZhYSH27dsHnU6HDh06YP/+/QgPD6/V/SWiuuHTYUTkM/v27cO+ffsq3R4VFeUMQQ5vv/02rrnmGixatAjfffcdlEolBg4ciBkzZuCWW25xO0fLli1x5MgRvPXWW/j000+xefNmyGQyXHPNNRg6dCgmTpwIrVbrdlz//v1x9OhRzJs3D1u3bsXWrVuhUCiQmJiIkSNH4vHHH6/35588eTJSUlKwf/9+HDlyBBcvXkRMTAyuu+46DB8+HI8++ihCQ0PrfR0iqhm2BBFRQKqupYWIqL44JoiIiIgaJIYgIiIiapAYgoiIiKhB4sBoIgpIHAtERN7GliAiIiJqkBiCiIiIqEFiCCIiIqIGiSGIiIiIGiSGICIiImqQGIKIiIioQWIIIiIiogaJIYiIiIgaJIYgIiIiapD+H7/VEgJB4wumAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if not use_pretrained:\n", + " plt.title(\"Learning Curves\", fontsize=20)\n", + " plt.plot(np.linspace(1, max_epochs, max_epochs), epoch_loss_list, color=\"C0\", linewidth=2.0, label=\"Train\")\n", + " plt.plot(\n", + " np.linspace(val_interval, max_epochs, int(max_epochs / val_interval)),\n", + " val_epoch_loss_list,\n", + " color=\"C1\",\n", + " linewidth=2.0,\n", + " label=\"Validation\",\n", + " )\n", + " plt.yticks(fontsize=12)\n", + " plt.xticks(fontsize=12)\n", + " plt.xlabel(\"Epochs\", fontsize=16)\n", + " plt.ylabel(\"Loss\", fontsize=16)\n", + " plt.legend(prop={\"size\": 14})\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "e1e10277-c0d8-43a4-8e5b-8ba58af7acfe", + "metadata": {}, + "source": [ + "### Compare samples from trained model" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "518910a7-ec0b-4885-811b-2e47641195ba", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1000/1000 [00:09<00:00, 100.68it/s]\n", + "100%|██████████| 1000/1000 [00:09<00:00, 102.23it/s]\n", + "100%|██████████| 500/500 [00:04<00:00, 102.93it/s]\n", + "100%|██████████| 200/200 [00:01<00:00, 103.34it/s]\n", + "100%|██████████| 50/50 [00:00<00:00, 103.18it/s]\n", + "100%|██████████| 1000/1000 [00:09<00:00, 103.34it/s]\n", + "100%|██████████| 500/500 [00:04<00:00, 103.16it/s]\n", + "100%|██████████| 200/200 [00:01<00:00, 103.60it/s]\n", + "100%|██████████| 50/50 [00:00<00:00, 104.01it/s]\n" + ] + }, + { + "data": { + "image/png": "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U38OJ46IWXPdunXYv3+/Mknec889OOecc/CZz3wGr3zlKzuOnZiYwIknnoj3v//9eNvb3tax74orrsCPf/xjjI2NAQDe/OY349Zbb8WBAwc6TH579uzBU5/6VFx33XW48sor19SmHX7+85/j7/7u73D22WfjoosuAgDs2rULMzMz+MpXvoK9e/fic5/7HD73uc/hH/7hH3DCCScAAM455xxkMhl84xvfwN///d/jvPPOw/nnn49KpYIvf/nLyOfzuOOOO7Bx40YAwBve8AZ8+9vfxsjICE477TQ8/elPx09/+lP88Ic/xD/+4z/i3e9+96r9+fSnP41169at6fkYLOE1r3kNSqUSPB4PnvWsZ+EjH/kInv70p6v9DzzwAJrNZsc2APD7/XjKU56Ce++9V2279957sW3bNsTj8Y5jTz/9dABLqv/169fb9qPRaOD8889HvV7Hm9/8ZgwNDeHAgQP4/ve/j1wuh0QigZtuugmve93rcPrpp+OKK64AAGzduhUAMD09jf/v//v/4HK58KY3vQkDAwO47bbb8NrXvhaFQmHFO/CBD3wALpcL73znOzEzM4NPfOITePazn4377rsPoVCop/4YPD6wLAvT09M4+eST1bYDBw5gZmZmxTgElsbX//t//099v/feexGJRHDiiSeuOI77u5nYL774Yjz44IN485vfjE2bNmFmZgY/+clPsG/fPmzatAmf+MQn8OY3vxnRaFTJp8HBQQBApVLB2WefjQMHDuDKK6/Ehg0b8Ktf/QrXXHMNJicn8YlPfKLjXF/96ldRLBZx1VVXoVar4ZOf/CTOPfdcPPDAA6rN1fpj8PjicMpIO3zxi1/EW97yFrz4xS/GW9/6VtRqNdx///2466678IpXvAIvetGLsGvXLtx88834P//n/6C/vx8AMDAwAGBJlr3nPe/BS17yErzuda/D7OwsPv3pT+Oss87Cvffe22EGXVhYwN/8zd/gJS95CV7+8pfjm9/8Jt7whjfA7/fj8ssv76k/hxWHne4dBH73u99ZAKwbbrjBcd9Xv/rVFfve8Y53WACsWq1mWZZlXXjhhdaWLVtWHFculy0A1tVXX73mNu3w1re+1YrH411NAN/61rcsANbtt9/esb1YLFrJZNJ6/etf37F9amrKSiQSHdsvu+wyC4D15je/WW1rt9vWhRdeaPn9fmt2drbn/hj0jjvvvNO6+OKLrS9/+cvWd7/7XeuDH/yg1dfXZwWDQeuee+5Rx/EZ//KXv1zRxiWXXGINDQ2p7yeffLJ17rnnrjjuwQcftABYn/vc5xz7c++996pVajc4mTVf+9rXWsPDw9bc3FzH9pe97GVWIpGwKpWKZVnLq+GRkRGrUCio4775zW9aAKxPfvKTa+qPweHHTTfdZAHo0Ho+HjLSDgsLC0qj1Q1OZs1//dd/tSKRiLVr166O7VdffbXl8XiUNoOas1AoZI2Pj6vj6Brwv/7X/1pTfwwOPx4PGWmHF7zgBdbJJ5/c9Rgns+bY2Jjl8XisD3zgAx3bH3jgAcvr9XZsP/vssy0A1sc+9jG1rV6vW095ylOsTCZjNRqNnvtzuHBEozV7QbVaBQAEAoEV+4LBYMcx1Wq15+N6bdMOyWQS5XL5oCLtfvKTnyCXy+HlL3855ubm1J/H48EZZ5yB22+/fcVv3vSmN6nP1H40Gg389Kc/PeT+GKzEM5/5TNxyyy24/PLL8bd/+7e4+uqr8Zvf/AYulwvXXHONOm61cSTHUK9j0w7URP3oRz9CpVJZ07VYloVbb70VF110ESzL6hhz559/PvL5PO65556O37z61a9GLBZT31/84hdjeHhYaWAOpT8GB4+HHnoIV111FZ7xjGfgsssuU9sfDxlph1AoBL/fj1/84hdYWFhYc/+/9a1v4VnPehZSqVTHOHz2s5+NVquFX/7ylx3Hv/CFL8TIyIj6fvrpp+OMM85Q4/BQ+2Nw8Hg8ZKQdkskkxsfH8bvf/W7Nffz2t7+NdruNl7zkJR3jbWhoCMcff/yKudbr9eLKK69U3/1+P6688krMzMzg97///SH3Z6046slZKBQCABVxKVGr1TqOCYVCPR/Xa5t2eOMb34ht27bhggsuwOjoKC6//HL88Ic/7Ol6du/eDQA499xzMTAw0PH34x//GDMzMx3Hu91ubNmypWPbtm3bAECZXg+lPwa94bjjjsMLXvAC3H777Wi1WgBWH0dyDPU6Nu2wefNm/O///b/xpS99Cf39/Tj//PPx7//+78jn86v2e3Z2FrlcDl/4whdWjLfXvOY1ALBizB1//PEd310uF4477jg13g6lPwYHh6mpKVx44YVIJBK45ZZb4PF41L7HQ0baIRAI4MMf/jBuu+02DA4O4qyzzsJ1112Hqampnq5h9+7d+OEPf7hiHD772c8GsPo4BJZkH8fhofbH4PDiUGWkHd75znciGo3i9NNPx/HHH4+rrroKd955Z0/92b17NyzLwvHHH79izO3cuXPFeFu3bh0ikUjHNn2uPZT+rBVHvLbmahgeHgYATE5Ortg3OTmJdDqtWPnw8DBuv/32FQld+Vv6Xq2lTTtkMhncd999+NGPfoTbbrsNt912G2644Qa8+tWvxle+8pWu18PcYzfddBOGhoZW7GcqkbXgUPpj0DvWr1+PRqOBcrmMeDy+6jiSvn7Dw8M4cOCA7XEAVvUL/NjHPobt27fju9/9Ln784x/jLW95Cz74wQ/iN7/5DUZHRx1/x/H2qle9qkPbInHKKad0Pffh7I/B2pHP53HBBRcgl8vhjjvuWDFWHg8Z6YS3ve1tuOiii/Cd73wHP/rRj/Ce97wHH/zgB/Hzn/8cT33qU7v+tt1u4znPeQ7+8R//0XY/J8K14FD6Y3D4cSgy0g4nnngiHn74YXz/+9/HD3/4Q9x66634zGc+g/e+9714//vf3/W37XYbLpcLt912W8dihohGo2u4skPvz5rxJzGeroJuPmeWZVkDAwOOkUjSj+f666+3jUT6+te/vsLu3WubvaDVallXXnmlBcDavXu3ZVmWdcstt9j6nNF/p5cQYvqcPfzwwx3bb7vtNguAdfPNN/fcH4NDx8UXX2wFg0EVWZbL5bpGIl1++eVq29vf/nbbaM0PfOADPUVr6rjzzjstANa73/1utS0aja7wOWs2m1YsFrNe/vKXr9omfc6uueaaju3tdtsaHh62zj///DX1x+DQUa1WrWc961lWOBy2fvWrXzke93jIyF6wa9cuKxwOd6T2eOITn2jrc3bSSSf1lDaGPmd2Y/aMM86wTjjhhDX1x+BPh0ORkb2gXq9bF154oeXxeKxqtWpZlmV99KMftfU5u+6662znTzucffbZltfrtUqlUsf2z372sxYA69e//nXP/TlcOOrNmsBSRM73v/997N+/X2372c9+hl27duGSSy5R217wghfA5/PhM5/5jNpmWRY+97nPYWRkBM985jPX3KYd5ufnO7673W6lfaD6lupRPWvx+eefj3g8jmuvvbajcgFhl9H7+uuv77ie66+/Hj6fD+edd17P/THoHXbP4A9/+AO+973v4bnPfS7c7qXXJpFI4NnPfja+9rWvoVgsqmNvuukmlEqljnH04he/GK1WC1/4whfUtnq9jhtuuAFnnHGGY6QmABQKBTSbzY5tT3rSk+B2uzuebyQSWTHePB4PLr74Ytx666344x//2NO1MkqOuOWWWzA5OYkLLrhgTf0xODS0Wi289KUvxa9//Wt861vfwjOe8QzHYx8PGamjUqko8yexdetWxGKxVcchALzkJS/Br3/9a/zoRz9asS+Xy60YU9/5znc6tM2//e1vcdddd6lx2Gt/DA4/Hg8ZaQd9bvP7/TjppJNUBR7Aea590YteBI/Hg/e///22Sd31tpvNJj7/+c+r741GA5///OcxMDCApz3taT3353DhiJo1r7/+euRyOUxMTAAA/u///b8YHx8HsJQWg47H73rXu/Ctb30L55xzDt761reiVCrhIx/5CJ70pCcpvxkAGB0dxdve9jZ85CMfweLiIk477TR85zvfwR133IGvf/3rHarNXtu0w+te9zpks1mce+65GB0dxWOPPYZPf/rTeMpTnqJC1J/ylKfA4/Hgwx/+MPL5PAKBAM4991xkMhl89rOfxaWXXopTTz0VL3vZyzAwMIB9+/bhBz/4Af7qr/6qg4wFg0H88Ic/xGWXXYYzzjgDt912G37wgx/gXe96lwoX7qU/Br3jpS99KUKhEJ75zGcik8lgx44d+MIXvoBwOIwPfehDHcd+4AMfwDOf+UycffbZuOKKKzA+Po6PfexjeO5zn4vnPe956rgzzjgDl1xyCa655hrMzMzguOOOw1e+8hWMjY3hy1/+ctf+/PznP8eb3vQmXHLJJdi2bRuazSZuuukmRbyIpz3tafjpT3+Kj3/841i3bh02b96MM844Ax/60Idw++2344wzzsDrX/96nHTSSchms7jnnnvw05/+FNlstuN86XQaZ555Jl7zmtdgenoan/jEJ3Dcccfh9a9//Zr6Y3Bo+Id/+Ad873vfw0UXXYRsNouvfe1rHftf9apXqc+Ph4zUsWvXLpx33nl4yUtegpNOOglerxf//d//jenp6Y7KAk972tPw2c9+Fv/2b/+G4447DplMBueeey7e8Y534Hvf+x6e//znY/v27Xja056GcrmMBx54ALfccgvGxsZUKgRgyYfpzDPPxBve8AbU63V84hOfQF9fnzKL9tofg8OPx0NG2uG5z30uhoaG8Fd/9VcYHBzEzp07cf31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iZxNTU1hYWFBLOS7774bz372s/HRj34Ur3jFK3TvXV5extGjR/GOd7wDb3nLW3R/e/3rX49/+qd/woULFwAAb3rTm/DFL34RS0tLujDouXPn8OQnPxnvfe978YY3vGFHxzSTb37zm/hP/+k/4ZZbbsELXvACAMDp06eRzWbx6U9/GufPn8fHP/5xfPzjH8dv/uZv4uqrrwYAPPvZz0Y6ncZf//Vf41d/9Vfx3Oc+F7feeiuazSY+9alPoVKp4Nvf/jb27t0LAPi1X/s1/O3f/i2mp6fx9Kc/HU972tPwjW98A1/72tfwW7/1W/jd3/3dbc/nwx/+MKampna0Ppasy2te8xppCHjWs56F973vfXja054mf7///vvR7/d1rwHr6ZcnPelJuOeee+S1e+65B1dddZUMKafccMMNAIDjx49jz549pufR7XZx6623otPp4E1vehMmJiawtLSEr3zlKyiXy4hEIvjsZz+LX/7lX8YNN9yA17/+9QCAgwcPAgDW1tbwYz/2Y7DZbPj1X/91pFIpfPWrX8XrXvc6VKvVTc/AO9/5TthsNvz2b/82stksPvjBD+J5z3sejh8/LrQg252PJZdHNE3D2toarrnmGnltaWkJ2Wx2Ew6BdXz93//7f+X3e+65R2pZje/j35/5zGeO/P4XvvCFOHHiBN70pjdh3759yGaz+Od//mfMz89j3759+OAHP4g3velNCAaDop+Yumo2m7jllluwtLSEN7zhDZidncV3v/td3H777VhZWcEHP/hB3Xd95jOfQa1Wwxvf+Ea022186EMfwnOe8xzcf//9csztzseSyyu7qSPN5M/+7M/wG7/xG3jRi16EN7/5zWi327jvvvvw/e9/H//5P/9n/MIv/AJOnz6Nz33uc/if//N/IplMAlivmwXWddnv/d7v4SUveQl++Zd/GblcDh/+8Idx880345577tGVOpVKJfz0T/80XvKSl+DlL385/uZv/ga/9mu/Brfbjde+9rVjnc+uyq6bexchP/zhDzUA2h133DHyb5/5zGc2/e1tb3ubBkBrt9uapmnabbfdph04cGDT+xqNhgZAe/vb377jY5rJm9/8Zi0cDmv9fn/kez7/+c9rALQ777xT93qtVtOi0aj2K7/yK7rXV1dXtUgkonv9Va96lQZAe9Ob3iSvDYdD7bbbbtPcbreWy+XGPh9LxpfvfOc72gtf+ELtU5/6lPb3f//32rvf/W4tkUhoXq9Xu/vuu+V9XONvfetbm47x4he/WJuYmJDfr7nmGu05z3nOpvedOHFCA6B9/OMfH3k+99xzj3ipW0kgENBFyyive93rtMnJSS2fz+tef9nLXqZFIhGt2WxqmrbhDU9PT2vValXe9zd/8zcaAO1DH/rQjs7Hkt2Xz372sxoAXdTzcuhIMymVShLR2kquueYaXbSM8od/+IdaIBDQTp8+rXv97W9/u+ZwOCSawciZz+fTFhcX5X3f//73NQDaf/2v/3VH52PJ7svl0JFm8nM/93PaNddcs+V73ve+922Klmmapl24cEFzOBzaO9/5Tt3r999/v+Z0OnWv33LLLRoA7QMf+IC81ul0tCc96UlaOp3Wut3u2OezW/Kor9Rl/Y9K6kohpQHfwxqfcd437jHNJBqNotFo4J//+Z/Hvg7KP//zP6NcLuPlL3858vm8/HM4HLjxxhtx5513bvrMr//6r8vPjH50u1184xvfuOTzsWSz3HTTTfjCF76A1772tfjZn/1ZvP3tb8e///u/w2az4fbbb5f3bYcjFUPjYtNMGIn6+te/Lh1E44qmafjiF7+IF7zgBdA0TYe5W2+9FZVKBXfffbfuM7/0S7+kq3170YtehMnJSYnAXMr5WHLx8tBDD+GNb3wjnvGMZ+BVr3qVvH45dKSZsN7sX/7lX3Sk2uPK5z//eTzrWc9CLBbT4fB5z3seBoMBvvWtb+ne//M///OYnp6W32+44QbceOONgsNLPR9LLl4uh440k2g0isXFRfzwhz/c8Tn+7d/+LYbDIV7ykpfo8DYxMYHDhw9v2mudTife8IY3yO9utxtveMMbkM1mcdddd13y+exUHvXGGRnyzToPWZjN9/h8vrHfN+4xzeS//Jf/gquuugo/9VM/hZmZGbz2ta/F1772tbGu5+GHHwYAPOc5z0EqldL9+6d/+idks1nd+9kGrspVV10FAJJ6vZTzsWQ8OXToEH7u534Od955p3SGbYcjFUPjYtNM9u/fj//23/4b/vzP/xzJZBK33nor/vRP/1TIcLeSXC6HcrmMT37yk5vw9prXvAYANmHO2Opts9lw6NAhwdulnI8lFyerq6u47bbbEIlE8IUvfEHHlXQ5dKSZeDwevOc978FXv/pVZDIZ3HzzzXjve9+L1dXVsa7h4Ycfxte+9rVNOHze854HYHscAuu6jzi81POxZHflUnWkmfz2b/82gsEgbrjhBhw+fBhvfOMb8Z3vfGes82FD1OHDhzdh7uTJk5vwNjU1tWm0knGvvZTz2alc8QkB28nk5CQAYGVlZdPfVlZWEI/HxSqfnJzEnXfeuYnzi59l7dVOjmkm6XQax48fx9e//nV89atfxVe/+lXccccd+KVf+iV8+tOf3vJ62Eny2c9+VjpAVLmY4byXcj6WjC979uwRXr5wOLwtjtRav8nJSSwtLZm+D8C2dYEf+MAH8OpXvxp///d/j3/6p3/Cb/zGb+Dd7343/v3f/x0zMzMjP0e8vfKVr9RFW1S5/vrrt/zu3TwfS3YulUoFP/VTP4VyuYxvf/vbm7ByOXTkKHnLW96CF7zgBfjSl76Er3/96/i93/s9vPvd78Y3v/lNPPnJT97ys8PhED/xEz+B3/qt3zL9OzfCncilnI8luy+XoiPN5OjRozh16hS+8pWv4Gtf+xq++MUv4qMf/Sh+//d/H+94xzu2/CzZGb761a+aEr+qvG7jyqWcz47lEUmebiNb1ZxpmqalUqmRnUhqHc9HPvIR006kv/qrv9qU9x73mOPIYDDQ3vCGN2gAtIcffljTNE37whe+YFpzxvqdr3/969selzVnp06d0r3+1a9+VQOgfe5znxv7fCy5dHnhC1+oeb1e6Swrl8tbdiK99rWvldfe+ta3mnZrvvOd7xyrW9Mo3/nOdzQA2u/+7u/Ka8FgcFPNWb/f10KhkPbyl79822Oy5uz222/XvT4cDrXJyUnt1ltv3dH5WHLp0mq1tGc961ma3+/Xvvvd74583+XQkePI6dOnNb/fr73iFa+Q16699lrTmrNjx45pz3jGM7Y9JmvOzDB74403aldfffWOzseSR04uRUeOI51OR7vttts0h8OhtVotTdM07f3vf79pzdl73/te0/3TTG655RbN6XRq9Xpd9/rHPvYxDYD2ve99b+zz2S151Kc1gfWOnK985StYWFiQ1/7f//t/OH36NF784hfLaz/3cz8Hl8uFj370o/Kapmn4+Mc/junpadx00007PqaZFAoF3e92u12iDwzfMjxq5DS59dZbEQ6H8a53vcuUwd+M5+0jH/mI7no+8pGPwOVy4bnPfe7Y52PJ+GK2Bvfeey++/OUv4/nPf76OgPF5z3se/vIv/xK1Wk3e+9nPfhb1el2Hoxe96EUYDAb45Cc/Ka91Oh3ccccduPHGG0d2agLrI7uMBJrXXXedEChSAoHAJrw5HA688IUvxBe/+EU88MADY10ru+QoX/jCF7CysoKf+qmf2tH5WHJpMhgM8NKXvhTf+9738PnPfx7PeMYzRr73cuhIozSbTUl/Ug4ePCgcfRQzHALAS17yEnzve9/D17/+9U1/K5fLmzD1pS99SRdt/sEPfoDvf//7gsNxz8eS3ZfLoSPNxLi3ud1uHDt2TKYHAKP32l/4hV+Aw+HAO97xDtMxZcZj9/t9fOITn5Dfu90uPvGJTyCVSuGpT33q2OezW3JF05of+chHUC6XZQzEP/zDP2BxcRHAOi0GC49/53d+B5///Ofx7Gc/G29+85tRr9fxvve9D9ddd53UzQDAzMwM3vKWt+B973sfer0env70p+NLX/oSvv3tb+Ov/uqvdKHNcY9pJr/8y7+MYrGI5zznOZiZmcHc3Bw+/OEP40lPepK0qJMd+z3veQ8qlQo8Hg+e85znIJ1O42Mf+xh+8Rd/EU95ylPwspe9DKlUCvPz8/jHf/xH/PiP/7jOGPN6vfja176GV73qVbjxxhvx1a9+Ff/4j/+I3/md35F24XHOx5Lx5aUvfSl8Ph9uuukmpNNpPPjgg/jkJz8Jv9+PP/7jP9a9953vfCduuukm3HLLLXj961+PxcVFfOADH8Dzn/98/ORP/qS878Ybb8SLX/xi3H777chmszh06BA+/elP48KFC/jUpz615fl885vfxK//+q/jxS9+Ma666ir0+3189rOfFcOL8tSnPhXf+MY38Cd/8ieYmprC/v37ceONN+KP//iPceedd+LGG2/Er/zKr+DYsWMoFou4++678Y1vfAPFYlH3ffF4HM985jPxmte8Bmtra/jgBz+IQ4cO4Vd+5Vd2dD6WXJr85m/+Jr785S/jBS94AYrFIv7yL/9S9/dXvvKV8vPl0JFGOX36NJ773OfiJS95CY4dOwan04m/+7u/w9raGl72spfJ+5761KfiYx/7GP7oj/4Ihw4dQjqdxnOe8xy87W1vw5e//GX8zM/8DF796lfjqU99KhqNBu6//3584QtfEPJjyqFDh/DMZz4Tv/Zrv4ZOp4MPfvCDSCQSkhYd93ws2X25HDrSTJ7//OdjYmICP/7jP45MJoOTJ0/iIx/5CG677TZpWqLh9Lu/+7t42cteBpfLhRe84AU4ePAg/uiP/gi33347Lly4gJ//+Z9HKBTC+fPn8Xd/93d4/etfj7e+9a3yXVNTU3jPe96DCxcu4KqrrsL/+T//B8ePH8cnP/lJIdgd53x2TXY1DrdDMSMs5D9jiPKBBx7Qnv/852t+v1+LRqPaK17xCm11dXXTMQeDgfaud71L27t3r+Z2u7VrrrlG+8u//EvT7x/3mEb5whe+oD3/+c8XQs/Z2VntDW94g7aysqJ735/92Z9pBw4c0BwOx6YU55133qndeuutWiQS0bxer3bw4EHt1a9+tfajH/1I3vOqV71KCwQC2tmzZ+U8M5mM9gd/8Ac60sZxz8eS8eRDH/qQdsMNN2jxeFxzOp3a5OSk9spXvnJkivjb3/62dtNNN2ler1dLpVLaG9/4Rh0VBaXVamlvfetbtYmJCc3j8WhPf/rTta997Wvbns+5c+e01772tdrBgwc1r9erxeNx7dnPfrb2jW98Q/e+hx56SLv55ps1n8+3iYR2bW1Ne+Mb36jt2bNHc7lc2sTEhPbc5z5X++QnPynvYVrzc5/7nHb77bdr6XRa8/l82m233abNzc3t+HwsuTRhe/+of0a5HDpSlXw+r73xjW/Ujhw5ogUCAS0SiWg33nij9jd/8ze6962urmq33XabFgqFNpHQ1mo17fbbb9cOHTqkud1uLZlMajfddJP2/ve/X+gKVBLaD3zgA9qePXs0j8ejPetZz9LuvffeHZ+PJbsvl0tHGuUTn/iEdvPNN2uJRELzeDzawYMHtbe97W2bykP+8A//UJuentbsdvsm++GLX/yi9sxnPlMLBAJaIBDQjhw5or3xjW/UpTvNSGj37t2rfeQjH7mo89kNsWmaNdvn0SqvfvWr8YUvfMEaO2LJIyL/8i//gmc/+9n4/Oc/jxe96EVX+nQseYLKhQsXsH//frzvfe/TRTYsseRyyX/8j/8R+XzetPTjSsljoubMEkssscQSSyyx5IkilnFmiSWWWGKJJZZY8igSyzizxBJLLLHEEksseRSJVXNmiSWWWGKJJZZY8igSK3JmiSWWWGKJJZZY8igSyzizxBJLLLHEEksseRTJFSGhHQ6HWF5eRigU0s13s2R3RdM01Go1TE1NCWOzJZZYYokllljy6JYrYpwtLy9vOa7Gkt2VhYUFaxi1ibhcLrjdbjidTrjdbpRKJdjtdkSjUWQyGbRaLdRqNdjtduRyOQwGAxw4cADVahWNRgOtVgvA+ogkv9+PVqslx3M6najVatA0DXa7XWcc22w2+axR6KzY7XYEAgF0u114vV4kk0nUajX0ej30+310u10Z7Ovz+eRzmqah2+3C7/fD6/Wi3W6j0+nI8ZaXl+F2uxGNRlEoFGC322Gz2dDv9xGNRgEArVYLPp8PzWYTnU4H119/vYxIKRQK8Pl86Pf7qFarqFarcLlccr0ejwfBYBCZTAYulwtra2s4e/asDGC3ZLO43W65h263G+VyGTabDdFoFOl0Gu12G7VaDTabDfl8HoPBAPv27UO9Xke9XpcRRmY4dDgcqNfru4pDju9ScWi32+H1eneMw0gkgmKxKOfW6/UQiUTk3Hw+H1qtFjqdDq699loZVk0c9no91Go1HQ7r9To8Hg/8fj/S6TQ8Ho+FwzHE4/GI7nK5XCiXy7Db7YhEIkgmk2i322g0GrDZbCgUChgOh9i7dy/q9bpOHzqdTlk3t9sNh8Mh67JTHNrtdmiaJtjudDrwer1IJBKCw8FggG63C03TttSHHo8H7XYb3W5Xh0Ov16vDoc1m24RDv9+PZrOJbreLI0eO6PRhIBBAv99HrVZDvV4XHDYaDbjdbvj9fiSTSTidTuRyOczPz6Pb7W67HlfEOOOYA7/fr1sYl8sFv98Ph8OBXq+HXq8nm1K73Ybb7Ral0O/3ZeE0TcNgMBBQcfPodDrodDoIBALodDoyu83lcmEwGOgeVILF4XDIv36/L+fUbrcFZOqxfD4fOp2OnK/b7YbP54PT6US320W73YbNZkMwGEShUBDgUlERCJlMBna7Ha1WCw6HQ46ZTqdhs9lkdhdBx43Z5XLBbrejXq/DbrfD7XYjFAohk8kgn8/j+PHjuz9W4nEiTqdTMFQqlQCsr/9gMEA2m0W320W/30cymUQkEkGn00GxWES/34emabrPt1otDAYDma/Gh7LT6aDdbssGp/59MBhgMBjI+XB0DvFHfA4GA9mEiR8aVMA6ntvttg6Dw+FQDDnixuPxCM673S5cLpd8p81mQyAQgMPhkNeJLypeHlOdWxiJRHTvt9vtcDgc6Ha7SCQS6PV6qFarl3MZH/PicDhgt9sxHA5RKpVgs9l0OOS6plIpwWG5XBYsEYcAdOsEXB4cdjodOBwOMcbMcEjdyWdCxaHb7ZbzJV7VzToYDJrikLM0jTi02Ww6HHLzdzqd6Pf7SKVSFg7HEN7r4XCISqWiw2E+n5d1TCaTCIfDOhxqmiZ7kaZpunUCIPtit9tFp9OB3+/fhMPhcKibr+p0OkXPEoc2m02HQ6fTCY/HIzi02Wy6Pbrf78PpdG7CIR0BYp36UMVhIBAQHDkcDjmXdrstDhH3CPZVhkIh3XH4DPV6PcRiMfT7/bFJ5a+IcUYDQzU0qGD40NEipkcGALVaTR4+n88Hu90uljAXjQaP3+/HcDjUGUEUWraqta7eTCpKVQlwkTljq9/vy3s0TZOfzdKHmqbJ5wGI5c7zcrlc4rXw4eC5UDEPh0O4XC70+304HA643W54vV45JkHNcwwGg2g2m7r7bIm5DIdDMe5tNpsY1cQgsO5VMk1MjHi9XsEgNx4qCE3T4PV65fNGXPCBVzGoRiuI58FgIN4mlQnXn7ggFvl+fj+xScXR7XZFGdFp4PfymE6nUz5HJUNHYTsMut1uOX+73Q6PxwOv1yvPryVbi+pkEodcX+LI7XaPxCH11COFQ26eZjjs9/uCByMOe72eYEY1sFQccjO+GBxSRxOH/LuFw62F68P9yuVyCQ75GteEOKzX64JDGtlcJ9Vw5/1XcaSKGhBRhQ6fEYfUz/wc8UDsEYe9Xk/wwHPnz9yTNU1Dp9PZpA9VjBNz1Pf8DupLu90Ol8sFr9ercyh4PDolHo8HHo9nrPW4IlQa1WoVkUgEDodDQtOMIKkh+3w+DwAS7u90OhI1GAwGckOphLiwHo8HMzMzKJfLKBQKEqFjNI3idrt14UV6CUbhd3KxXC4Xstms/D0YDIoHarfb4ff7xdOjMqtWqxJWVQHIiAUVLIEHQABPMPt8PgEIAUGPuNVqweVyIRaL4ejRo6jX65ibm8O5c+dQqVQQDod3dxEfB0Ivy+v1PiIYBCCfoVwMBrkh7RYG+f7dwCBTpsTgwsICzpw5gyugZh4zojpoRhzu3bsXjUZDcOhyueByuXaEw+npaZTLZRSLxbFxyKiTUXaKQ5/PB7fbjUajAbvdLulwj8cjmzhlFA7VzY049Hq9Yvzxs2Y4PHLkCBqNhoXDMUTFIY17Rpv27NmDZrOJQqEAYOc4dLvdmJqaQrVa3VUcMlLvdruRy+Xk7yoOmep0u92iD5mGJA6NOphpUBqRqj50uVzb4pBY9Hg8CIVCOHjwIFqtFpaXl3H+/HnTa9q0HlfSOKOlPRwOxfpmzlutl2DKyOv1SmiTYUZGwWhR0yJ2uVxotVpy03kT6/W6eGY2mw3tdlu+l+mpTTfJZkMikRAvkdE0Rri8Xq8uVcrjl0olAYnL5UKxWASwvvhcbKfTiUgkIp+l59xoNNDv9xEKheD3++WYXq9XLH2eL9OfDLuGw2H0+32sra1hYWHBMs5GCMPhjFZaGNwag7xOMwwyfWTEIGssrFqf0TIODu12uy697PF4LjsO2+32JmOGOOSxHwkcNptN9Hq9sXShhcOLFxWHam2YGkWy2+269LKKQxrUxCxxSJ1FY444ZBSJOOT3EYdqlN8Mh/F4XIdDOjQApLSIGS06lJVKBYFAQHColrOoOAyHw/JZFYfdbhfhcFiMPeJwOBxKhJHObzKZlPtBYzSfz2NpaenRW3NG4c2ndcpUCGtr1DAow9kEj/r5wWCgizioN4iiFiHyAWW4lGHRTqcDj8cjoVEKCxL5/Z1ORxQQQ6tqSJSLpIKaqQp+H9/LyESz2RQFy+/he9TvYX6bng2jPzw+630IFktGCz0gNcx+MRhkOuqRwiCAy45BFtfyPYyE0JPdCQataMXWMg4OfT6fpGVY43M5cdjtdiWCYsShmpIiDlkCYoZDnp+KRRU3fO92OLTb7WPpQhq3Kg55zywZLSoOKYxYsr6Lhoia5lSFeoVOBo0bALpabb5XLW0CIOtNXdPtdiUCthUO1Zox1pTRyGQEkPpQNTiNtsS4ezKNQuKQv6v6Va1/5LnTkBxHrqhxxgeJuWHmlNXcMOsFut0uVlZWhH6DdQu0ZuPxOOr1ui6PzGMwhUpL2Gi0EEjdbhexWAwulwurq6sS1eN7gI2Fsdls8Hq96Pf7Ut/GHDTPY2pqSgDPEKdZ8a3H40Gj0YDD4UA0GkUul4PP50MkEtF5KkxT8btYZMmGgGg0Kp4MAMs420b4EFHpm2GQ95kpp0cDBvmaGQYHg4FERYhBta7ikcagmrKwxFzGxSHLFow4JN5UHDYaDcHnxeIwGo2OxCE3Mf7s8XgkHbQTHBo3azMcer1ehMNh2O3rDVNb4dDhcKDRaMi5Uywcjidq3TOdUTUCBkCX+lxdXd2kDxmljcViEn2n88BjhMPhLXFIJ4M4ZKcjDS7AHIesPaQzwz2Zz8Pk5KQOh2xEUGvhiMNmswmHw4FIJIJcLgePx7MlDmnIMS3faDQkQ8hr38mefEWNM7bAEgQAJMzZarXQbDYRiURQLpdlsekJ8YZ6vV55oFmMx4JZtvU3m000Gg0JT6rF0sCG1zg5OYlYLAa3241gMIh+v492u41isYhcLieeAzs2KLTKh8MhYrGYzhsolUri4bHDpdFoIBgMynWzcL/ZbKJcLgMA4vE4IpEISqWSdEVRaamFw7yOZrOJQCCgU9ZqLtySzeJ0Ojc1oADmGKxWq5cVg/S4LgcGy+XyFcPguMWvT2TZCQ5LpdJYOCSVxKXowmg0qsNhq9VCqVRCPp+/Yjhk6m07HKodzZYuHE9cLpc4BmqKkDhkl2IoFJIuzWg0Ku8lDpmubDabuvpBUpwQh81mc9PaqTgEIPrQ5XIhHA6j1+sJNsh+oOKQWCQOB4PBJhxWKhXBYSgUQrfbRbPZFJwTh8QSKZZisRjC4TDK5bLoNRpwZjhstVrS8XkxOLyixlmr1ZKcLC3fRqMhf2c6hYtPa51AYFSKv9PAo9emKgQKLWmGQFnPMBwOkUqlEI/HEQqF4PP5hFMoEokgn89jOBxuShHw+9SfGZJVu0sIfBbB+nw+XY6f1wusRwupWNTQKwABFa+f4Vha8LTM1fZ6S8yFXZnEBICxMKhuQJeKQZvNJrUyzWbzUYNBtT19FAZ5TGKQqQAjBtUIhiWbZRQOaajw90vRhZqmbcIh0zwqDontdDqNRCKBYDCow2E4HBaOq93CIemTeJ3q/1vhUI0sGnGonpuFw/GENBc0MqgXzHBI7JHealx9qGkaKpWKLrXHaC1TgNSHmqYhlUohFoshFAohEAgI32QoFEKpVMJwONyULgWg+504ZBkIcag6Rd1uVyKvW+3JKv0GsNHZyutnNhDYoJZRa+zY9DKOXFHjjFYyuy3Uzg2GF1nzoAJGBQJzuAQEgRMIBCSkqspwONS1VxN4XEAS7rndblQqFTgcDoRCITQaDVNlpAoX22azCRAYKnW73RIK5fWpfCh8n8fjEa+P9SYEOfPpanhZVWqNRgPD4RB+v1+UoiWjRS1k3gkG6QnuFgbZAPB4waCmaZLqZHGtJaOFETBg93Vhr9dDMBg0xeFgMBAiZhWHrJ0Jh8M6HLJDjynu3cIh33OxOFQ/z41VxSHr3Cwcbi3dbleM63FwSKOKQiN5pzhkWpr/VH3ItGIymYTf70etVhNDncTGW9Vw8XxYj2jEIY8BbOCQkTBes9frFRx2u91Nx1H1oWqc0eEhDqnfx+UdfVTs3nx4bTabELT2+31UKhX4/X5ZzHw+ryu4I3s7RbV61RvGrgreNBYasgXc6XQiHo8jl8shHA7D6XTi8OHDGA6HWFtb21RzMUqYbwfWF4ZEewQ8PYdWqyUeQq/Xk6JHn8+HcDgsf2c4lD+r+XeGiQOBgACHXVh79+5FIBBAPp/HwsLC7i7W40jUwundwiDXahQG+bdHGwbZTbXbGCyXy1heXt7dhXuciYqfUTisVqtCrg2Mj0MAuqaMneAwEokIDjVNw+rq6mMOh7Ozs4LDlZWVXVqxx6dshUOWHxlxSNJk4rBer8vvNF4YfVJxyM5iFYedTkeIgtm5m81mhWD44MGDGA6HyGazWFpa0hlRo8ThcEgAxm63y7UQv8QhO0RVMm/Wj4XDYR2li9pw0O12pY5T0zQ0Gg3BIY/hcrkwPT0txqVKPbOVPCqMM+aigc1eZDQaFWDwQVTDjvwbiwv58DJUTw+P1jMfcoKL7+coiGKxCJ/Ph2g0iqmpKYRCIelQY/2PmdDqpqHF1mCfzwcA0tTgcDgQCARQKpV0xZFME3FUCT0TsmVToaphfnqnmqYJgSiVYqlUGjkSw5J1Ub0+jtoALg2DXEcLgy2pj9puI3+iyzg4tNvtO9aFPLaRPFPFoVpbZMQhRyRFo1FMTk4iGAxK1GArHBL7VxqHNPpYs2zhcGtRjbNms6nDoYqRcDi8SedxzTVtg+qHRrxxT2bqlMafGQ5tNhvq9ToGg4How1gshkwmI7ylPMZWo5+YQmeEeBQO/X4/KpWKnEMkEhFMssGBOOQkFeJQLUMiDlkDSiO00+nIVIOx12OH63fZRC3Yozgc6yS1rL/h4tJKZ8hVzWurLeTsulCLZvkAE4h8wHnzq9Uq8vm8FP2FQiFEo1FEo1FZVFVUxUqg8R/TDQS5GjJWLX61iJzAZS6caQuGkNU6Cx7XqJS63a6MvLJktKj1MdzogPExyO66RwqD8Xj8smGQ3XYXg0E1SkgF2O12dSOnLBktlwOHar0PN8id4rBWqyGXy6FcLsPtXh8LF4vFEIlETOtmiENeg4pDplBZ98VrppFJ2akuZL3PKF3Y6/V0o34sGS0q3riGTE1SiMNgMCjGx3Y4HFcfmtV3GfWhy+VCKBRCPB5HLBYzxaG6zmb6kPW+gB6H6vWr+pDG6Sgcqt2e/G7qSDqr/f762CZ1OsZ2ckXRyo3Hbt9gd6ZwEVkPwfdzwXq9nu79BBGVDYtmo9GodFTQQic9AIsLaTmzK65SqeiIDF0uF/bt24d2uy2kdRQVeOo8L3oe5IVRo4MAMD09jXw+L4vNB6Hf70vqgRsgCx9jsRiazSacznVSO3ow/f765APSGADQDSG2xFw4zDkYDF4UBhkOp1xuDM7Ozkr3kCq7gUEAu45BjiSzCrG3FhYjs7NrKxxyjBinWuwWDlnwr+KwUCigXC7rcOh0OkUXkkiWshUOmao0w+HU1BQKhcJl0YWaplk4HFOoD4lDNghQ2H1NKg1g3ZAiDs2iqcSn3b7efOfxeBCJRHTp6l6vJxQVhUJBcOjz+QRn1WpVSF1ZArR3717BqSrEIZsFGMkz04fU66TZKBaLulpIMxwCQLlc1uGQ+GbHJw05lUqDDQHjjhG7ohMCgHUjgkqD9VeqpQ5AF14FNpiFmZ9mqNJm2+Bn4YPI8DjfZ/QOjULg1et1XH311dI95/F4kM/nsbKygoceesj0ulRjyG63I5FIiHfXarWQTCYlquX3+9FoNIQ8jwtnt9sRDAZFQRPY5G4JBALSKcWB7sPhEFNTUwAgoGMu/K677rImBIwQrtejDYNsD1cxmEgk4Ha7d4RBh8OBeDx+RTEYj8cxOTmJL33pSxe7TI972W0c0jFjimk7HDJCZRQVh0eOHEEymdwRDnkOlxOHjNSwpm04HGJyclLSTCr3m4XDrYU4VOv9aNhQT3FNaXCwGJ+OQ61WA6DHl4pD6ke1KWkcHHo8HrRaLRw5cgSpVAqpVApOpxP5fB7Ly8t48MEHR14Tr8tuX6fDGA6Hm3BYr9fh8/kEL2o63m5f77BkQIg4pAHp8/nEQWI93mAwQCaTEeeIDSqRSASpVApf+cpXtl2PK57WVCNhtJgpDLebgUPt0GAIlKFEvteYj6b3pYb8jaJubuVyGdVqVdq9M5kM9u/fj2QyqfuM2mygdlCpIU96xFS4HMPCxWM+m7YyO4zUNl12ONGSV+sx+BBRaauUBpZsLY82DKq1H8Rgt9vdMQZ5LVcag9bA6fGE9+9ScMhIBPG1HQ4ZYTMTMxz2+/2xcQjgsuOQnatqTVC/39c5PsShxbk3nhj1obHRhO+hITUKh1wPrgnrxNTo2jg4VNP8pVJJqDh8Ph9SqRRmZ2eRSqV0nzF2TZqlIR0Oh+CQBqMabaaRNRxukN2yW5V1kaTKYNpe7WQdhcNxuc6ueBJ+MBhIazbD9cz3sqCTC8gbPhisk9fSa+dNVL01KjmjtNtt+Q5V0QHrgGIYkyR61WoV6XQa4XAYbrcbmUwGjUYD3/3ud+WzLITkeQAQJcLzczgcuvArX2OumyBwOBy6FvR6vQ5gg4OG7NeZTEYGvdpsNiHko7dbLpfH5lN5osuVwCAjHqMw2Ov1tsXg9773PTn+I4FBeo4kRE2lUnI8MwxWKhUpW7Bke6GhouKQJJ47wSGwQYcxDg7JVbUVDhuNBqrVKjqdjuAwnU6jVqvh+9//vg6H/P7dxiFZ3rfCIVNjxKHH45HMgWo0WjJamJ6kEcWoGPUhCVqNOGy32xLBNOKQP5sFDFQcqkYfoDcGOXHC4/EgnU5LLW4ikUCtVhN8Aht1Z3RUgA1DkOdHrKhC3NBgVOvibDabcDmqqctms4lwOLwJh+VyWacPV1dXEQgEHhs1Z1QAbHX1eDzwer2o1WpSTAdsFInabDbUajXYbDZJi9Ib3LdvH/bv3w+3243FxUWcOHHC9Dv5wKtKjkAKBAKo1WrSaQJscE/VajUpgHzyk5+MbreL8+fPY21tTecJBINBiSx0u10dEFgnMhgMkEwmxZOo1WoS/vf5fMJt5Xa7kUgkhNOo2+1KqJmsxaylCAaDws7ebDYxOzuLRCKBM2fOXJ7FexwIlfVwOHzEMahGB8wwCOCyYzCRSIhXeTEYrFQqW2Jwz549yGQyVuRsGyGuRuGQ9xgwx2E4HJauYODiccjONmB8HD7lKU9Bv9/fdRwydVmpVARf8Xh8bByyo6/Valk4HFOIseFwiEajIcYIU9vUh3yd7yd9BktnaCDNzs5idnYWLpcLa2trknpkYb76vWykMuLQ7/eLc0gjjwY6aT3cbjeuv/569Ho9XLhwAdlsdiQOGSlTcUjHRMVhvV7fpA+Jr1gspjP+iMNyuazDod/vlwBJu93GxMSE8AaOtR4XsYa7JmyZZQcDw92q5cx8LmsL+Dk1ZAqst2BPTEyIpzQ9PS2hy3w+Lx0hbJ9VvTqK2v5LT48ztRKJhChFdork83msra0JEzzDncAGrYHKCcPX1DZ4LiYXjF1FXFgqKwAyDoO5e94DetxqK6/q+VhiLgxFMxX0RMMgf98JBlutlhQFE4O8N6MwaOFwayEOmZ7bKQ65sfG9xKHb7UatVsPMzIwuYkXnlDhUIwuUcXEYjUYfERz6fD7ZMIHtccgNVMWhRS20taj6kBQT/Hkn+pDvDYVCmJiYEJzt3btXIlAqDhkxo6g4pBGlRr0KhQLm5+eRyWSENDYSiSCRSKBcLiObzW6JQzaIqK+Z4ZBRYOKQ9WWsHwM2cEijlTqeOGTaXS35GFcfXvG0JiNZVEg8cS4GF04NTxIIahieM+BYzLh//35ZGBLRseBUDZ2roGPRIkEArFu8c3NzuOaaa+QcnU6nhFPPnDmDUCgklrxKVcAuKy48F5meAlNgVEBs+w6Hw/D5fMK9wgVnd5UadmXKoNFoCGkew9Lq2A1LRsujDYPEy6MRg91uV0hyVQzabDYdBlnD0Wg0dOOwLBktjFDtBg5JhBkMBrFv3z5dnY0ZDrmWlFE4nJ+fFxwysmrEIQv9eY7EoRptGQeHjUZDqEN8Pp/U/26HQ3bPGXFo6cOthQbHODikwcZ6LGaBVCNLjaaHw2Hs27dP0oEOh0PXBLJTHC4uLuLYsWPSRenxeBCPx4UUNxAIiC7j8VgeQMONx2RKXa2hY8Ss3+/L/FfikNk17snkoVTPnVFwsz15XBxeUeNMVSq0gBk654VXKhXp5qD0ej3JMxMc5XIZCwsLiMVimJyclLZsTdsYbtrpdIQlmt6gKswNqxYwsO5RzM3NYXJyEul0GpVKBddeey0OHjwIl8uFkydPotPpSMdJIBCQlESn04HL5UIikZDp9TQGuMmqnFO0wGu1Gur1OqampoQcb3p6WvLqg8FAFLAaPiUozMZkWLJZ1Hoceo38/0pg0OFwSJ3RYx2DHLViRSy2l93G4eLiouCQ0TEjDldXVwGM1oXsmlRx2O/3dTisVqs4duwYDhw4IDjsdruSZiUO2dSyExyq6dvtcEj8kRqH59putwWHVgR3e1GNK66HGQ7JRQZszJcMhUIS3bTZbKhWq1haWkI8Hkc6ndal0GOxGDqdDlqtluhDTdNM9aHa3U7pdruYm5tDr9dDJpORjuLZ2Vk4nc6ROGQXudO5Pgmj2WxKQH3m6wAAaHtJREFUoT/rK2mUqnV1TOfXajVkMhlUq1XpUFdxSAOO3cQAJMLI+bnjNupd8cgZAPGAGJoPBoNyEa1WSyxNdchqqVRCNBpFo9FAp9PB2toaACAajUrLdyAQQCAQwOHDh9FoNOTGOhzrc7mWl5exurqKSqWCdrstFjy/g620/X4fp06dQq1WQ7PZlE3Q4/Hg2LFjklNfW1vbxIrOOZeNRkOO1Wg0kEgkJOoFQMg60+k0yuWyhFuZKhoMBiiVSuL9cgwF8935fF43h44AtGS0eL1eUdihUEg3GPdKYZAt6jTsHg8YjEajj/ziPoZExSEL1xlJCAaDEpHYCoeRSERwYYZDDo4mDuv1uuCw1WpheXkZa2trqFaraLVaUpxPw2wUDlVKj2PHjsHpdCKbzW6LQ0ZaGo0G4vG4LuowCod0OLfCYbfbFUZ5Iw5ZI2qJuXi9XtE7jAZRH5I+h2k5OlwqDtl4wckO2WwWNpsNpVIJqVQK0WhUImn79+9Hq9VCo9HA5OQkgPXpGCsrK8hms6jVajocEhs0FPv9Ph5++GE0Gg1plCFOjh49CrvdLjg0Tojg3F/qQyMOeSziMJlMolKpANgYS8b7QhwysMMmgX6/j1KpJMEe1rrZ7Y+R2ZrsJmIBoNrZwb+rQlJBKgxatACkOJYbCSNx9Oo9Hg+CwSDC4TA8Ho8QFXq9XqytraFQKEi4U40gAJDW7VwuJ4WpLFKk18rGBrZ3szWcReedTkeUrjGH73Suj3dQ32/8ud9f5+zx+Xxy3SyoZaEjvU/eR8s421oYnlfrHh6PGGRtp4pBY1fUxWBQpQ8xw6AaDbFktKg4NNOFKlcTZTdwGAqF4PF40G63ZQIKcUhHdSscMpWk4pAb7VY45KbH9CQ3Teos4ojXo+KQe8YoHLJGysLhzkXtlhxXH6p8Z0Yc1ut1SYuy5pGRMJ/PB6/Xi1AoJETIrVYLkUgEXq8X+XwexWJRR0AMjMZhMpmU9GMymZRmFnY/s3ZSxRVTmjx/VR86HA7BphGHjAzy+GzSUevuVByqGUEj1cxWcsUnBLBIjjczFAoJAzqLQ3nBjUZjU7GgWkxdrVZRrVaRzWZRLpelWHViYgIzMzNIp9M4fPiwTKKfmJhAMBgUICwsLMgier1eUTD8znq9jkKhoOte4Wgnem4k4qOXxwXudtcH9dLyz+fzCAaDCAaD8Hg80hKfzWYRCARk1EkwGBSF1Gq1kMlkMBwOUS6XZQ4fh7Pyvby3ljLaWlT8Pd4wWK1WdS3fRgy2220dBt1u90VhUK2rCIfD8Pv9gjtikF6nJeZCqoJxdaGmaZtwaOSJGoXDqakpTE1NIZ1O49ChQ+h0OoLDUCi0CYdM1ZjhMJfL4frrrxdqBSMO2ZCwFQ6pCwOBAEKhkA6HuVxuEw65UZrhkPcxFApJlE7TNMEh76sl5sJieTN9WC6X5T003Fm+YMSh+jtxmMvlUCqVEIvFEIvFUCqVMDk5iWQyif3790uqfWpqShpMisUi5ubmJFrqdrtFbxLr9Xod2WwW11xzjaRU9+zZg3Q6LfWGXHtG2IhD1nCz5rFQKEhkj1mUXq8nOGSNJLHFRpN0Oo3BYCBRZ95H4hCAZDmcTqc4M9vJFZ0QEAwGBQgUp9MpU+CbzaZ0T6hWLQCxRinGOgP17zfccAMikQii0Siuv/56Yf9lXrjdbqNareLMmTNYXl5GqVRCtVrF8ePHAayDk5szsO4hXn311Th06BCe8YxnYGVlRcLnx48fx4ULF7C6uireHQDhLqLl3Gg0pBCROXUWIjK9xYJeApcz7tjuyzZiWvl+vx9utxsulwuVSgXRaBTHjx+3JgSMkHQ6LQ/75cbg0572NMRisccFBknmORwO4ff7JTJjhsFEIoE9e/bg7/7u7y7PIj4OZLdxSDqTrXAYi8Vw3XXXCQ5Zs3WpOFxdXZW01r333jsSh8BGJMKIQ/VvKg79fr9EaMfFodPpRLVatXA4hqRSKTHWjTgMhULC6cXok9EhMFJkkM6Ea8ao03A4xNOe9jRxGK655hp4vV7BIaO5Kg4LhQJqtZrQwnBMEr8vlUrhyJEjOHjwIG644Qbk83mpvT5+/Djm5uaQzWaF8YCZhK30Ia9JxaHH45FmAxqw6gQOzr0lDvm72+1GtVpFPB7H1NQU/uEf/mHb9XhU5L0YOWJ6BNjMCm1ceIYWCQ56XGZt4RcuXIDf70ckEpHhwYFAQMDBUOmBAwcQiURQLBZx/vx5ZDIZVCoVHXkiIwEMlzJvzeNNTU1JDRLPSS325eanCq9ZLUBkqJWg5r3gvVFfa7VaEl4l6Fhsa8loUe+PGQbV1Mg4GFQ9SkCPwfn5eeTz+S0xaLPZHvUYZHErfydXFjHIzV7FoNmwdks2RF0Ldnax9hXQ45C/b6cLt8MhZ08y4k7nledCHBYKBVy4cEGKoLvdrnTbORwOiRa0223huwoEAohEIiNxyOdJpTCgmOGQ0TZuemY4VHUhN1I1XWzhcHsx04dqvZexbEbFHGU7HPJvKg7Z8RsMBhGNRrF3715Jjx48eBDhcFhwSOJj4oiGYqVSQb1eR7PZ1OEwGAxiZmZG9CcjYmxG5LPD5hNmnkbpQ2bDjHsyjTgVm9SHLpcL3W5X9pBxcXjFjTObzSYFdypRHAniVPI7v9+vGxfj9/ulQJagIBAIrl6vh2w2C2DDgEulUohEIojFYkin05LX3rt3L2ZnZ2Xj6/V6WFhYwNmzZ+U7eA607BcXFyW6wHZheh0MuXJhAD1AqVSMdWgsoOZ9YLifYFQ3RjIj89ikNGCo1pLRQo4km82GRCKBarV6SRikN0kMUjmNi8HBYPCoxyB5irg5GzGYSqWks4l1FuMWwD5RReVYisfjgkN2Uao4ZPExMUC8GXGoRhVG4bDf70uhdiKREBxqmoa9e/diz549ope73S4WFxc34ZAF4uzMIw4jkchIHKqbNXWWikNuvMBmHIbDYRmTo+KQmGMKPZlMbsIhI9uWmIsRh+z0ZpTIqA8dDse2ONxOHzKdn06nEY1GZY4wjbP9+/djenoa5XJZ9O7y8jLOnTsn500etUajgXK5jKWlJYTDYUmV79+/X5pHSqUSstmsdFsCen3IvdWIw1gsJjWSqk5Ta8l4zvV6XXBHTkCV1HzcyT1X1DgLBoPo9XpYWVkRYwqA8CKxvgCAdJjxJsbjcfR6PfGO1DEM9ObVSBPrGBYXF5HP52XI8PLyMiYnJ7Fv3z4cPXpUgNnpdDA9PY2ZmRnEYjEAG/Pl2u02yuWydDpdffXVEplLJBLYt28fisUi7rvvPpw8eVKKuDmbjudFS56WuNp+S8+5WCwKO3EikRDDoVAowOfzyT276qqrpAiRHTLq/bNkszgcDgSDQbhcLqyuru4Yg7FYDP1+fyQGjZHgxzIGq9XqRWHQ6XRaEYtthGmjdrt9RXG4sLCAqakp7N27F0eOHBGnpdvtYnp6Wug52JlnxGG73TbFYaFQwP3336/DIektjDgkrQZrf1SHmylW0iAYcchjXXXVVdJ4QBy6XC7BtSXmQn3ITks6ksAGDhldYxRJrTkz4rBYLOqOzdox/s4I08LCAgqFAvx+P2KxGFZWVjA5OYk9e/bg4MGDsNvt4vTNz89jfn4e0WgU/X4f1WpVjEg6qr1eD1dffbXUfV177bWYnZ1FsVjEAw88gNOnTyObzYpeU3HI2jY6A0YcDgYDlMtl1Go16UTn81QsFuH1eiXde+jQITgcDumsr1arWF1dfWxEzmiVc6G4gBRa51xQNYSqFmIz+qGGJY0hWHqE1WoVjUZjU/1DMBjEyZMnMTU1Bb/fj2QyCYfDgXA4jGQyibm5Od3xWBDIYkeGRWdmZhCPx2XafTAYxNraGubn5wUQnLmlXq9KLKmG/OlZMmTPcD0/w7CsGuodDodSV7K4uHg5l/AxLUzZMT2yUwyqNReXG4OpVAoXLlzYFQyWSiUxnMbFoEquaIZBRinY9TQYDBCLxRCPx616x22EOKSBvJs45NqMg0NGuQKBgODQ5/OZ6sKVlRXRTcRhpVJBLpeTrkzikI50MBhENpuV+h8zHDKVbsQhsxuk4BilC0fhMBaLWZGzbYRGBqNDjAoZC/5VHI5qjlJ1IIU/M6tDHNbrdaGJYbS43+/D6/Xi9OnTmJycFBzabOtjohKJhOAQgERPVRzytenpacFhv99HMBhELpfD3Nwc8vk8SqUSisWijgXBeD2jcMgUOuvOiEOHwyGNMIwechbouDjckXE2Pz8/1vtmZ2fHeh/DoXwwaamq3QzBYFD4a1Thw6e2x6pjP4CNECW/g39jyJLkiB6PB5FIBA8++CCGwyEmJyeloDSRSGBmZgbAxgBfzuYCICSHrBmKRqOIRCJScxGJRDA5OSl8VzwuW4d5XUZPhDw9zHnznAkQdq4Q6KztYOg0Ho8jlUqNtQ5PVCFPE2u5rgQG2Vk5DgbVtOSlYpCdcuNgkH9jmYAZBgHoMEi6j3Q6jXg8frmW8HEhjyYculwuRCIRnDx5EsPhEBMTE1KknUgkMD09Ld+raRrC4bDgsNvtolqtipNAHIZCIR0O/X7/jnHIAu2tcKiWdbDYm7rQwuH2wkYOBkxG4ZANTGY4ZKqaOKTRwmi6mjY0wyGjqk6nE8FgUAy4TCYj+jAejyOTyQCAzjlQcchCfYfDIQYRcRgOh1EqleD3+7G4uCjdmexG53XxWtTuea/XK3uyikNeK68F2HiuiUNGk8fF4Y6Ms/3798vPRguZr9GiHEeazabkufv9vikXTTKZxNra2iYgqKzjkUgElUpFrG2n07lp8ClBpwrD8iwmTKVSOHv2LKanp/Gc5zwHs7OzMgLE4/HgwIEDKBQKGAwGWFxcRKFQEIub4c7FxUUJb/r9fhw8eBBHjx7FkSNHcPz4cWktv/feeyU8msvlNt0ztcBa5ZChJW5kXSdxoN/vx8TEBOLxuHAOWWIuKk0BsIFBYzp4pxhky/S4GOx0OjoMnjt3DlNTU49pDKbTaSSTSezduxdXX331Ra7QE0NG4dBMF66uro6Fw8FgsCMc1mo1icLW63XMz8+LLnz2s5+tw6HX68WBAwdQLBbR6/UEb2Y4JBEncXjkyJGLxiFpHhjFGBeHTK9aONxamIZU7y2ATfowHo8jl8ttwqGKs3A4LKPk2DU7Dg7r9broQ9Yxnj9/HpOTk3jWs56FPXv2CMcfMwKFQkGIlFkGxAhYuVzG8vKyDEn3+Xw4ePAgnE4nrrrqKjzwwAPS1HL8+HEdDlWh4cbGOxqi6r1SqWaA9Qghu6BZU7cTfbgj44yh6le/+tV4wQtecMkkp8FgUDh7gI0hp6rkcjndLKpEIiFeYblcltSL0+nUhRZVMYKAGzDB4nA4UCwWJT2gaRq+/e1vY+/evRISJ/1HOp2WVu1CoYBCoaDrGlldXUU6nRZqAv7N5XLhlltukZDr0aNHceHCBSwvLyObzSKfz4vnQs+Brbv0IMnJwutlBI7rkMlkZBZdMpm0jLNtJBwOS1RSxaBxU7wYDBrHkIzCoBrZoNFFT223MMg6nt3EoMPh0F33KAweOHAA11xzzS6v3ONLRuHQTBeqhkg8HhdqHdalXqoutNvt2+KwVqsJDjkqbCsc8hxVXXjzzTdLOv7IkSOSolpbW0M+nxcOqUvBYTAYlPKAAwcO4NixY7u/eI8jUXFI7jozHNIYokQiEdmLWBOoMgoA2GTIbacPyTvGVCtfJw45eokNVa1WC+FwGOVyGcViUXfeKysrMiQd2EjFer1e3HTTTahWq8jn8zh06BDm5+exurqq04ecZMAoLXFIA5FBKTpDvH7WylEfplIp7N+/H0eOHBlrPXZkXS0uLuLTn/407rjjDnz84x/HK1/5Srzuda/D0aNHd3KYjS///71wNYfNG8B0nZHUzu12IxwOIxQK6bpBIpGIhL5brRbq9bosvlFBMezO42mapiMo5AZVqVQwMTGBAwcOoNfrCVVBs9nE5OSk5JCZW2Yonj+rvDDBYFA2dV4boyGJRALFYlG+V+0G5FiWwWAgc/FcLpeE+tXIJTdGr9eLZDJpjc3ZRugBqXWPwPYYdLlclwWDbAEHILxXu4HBVqslxb67hUF2HW2HQZJKWjJaLhaHpMJQcahpmg6H5Hq6VBxWq1VkMhnpfPP7/WPjsNfrCVcbdWE8HpfGB44R83q9Mryao6iMOCT5rhGHNA4oZji00ppbi4pDlU+PBrVaa2W2J0ciEaGq4HoRUzRyRuGQdYoAJMXIVKqmaTpjPZPJYN++fbDb7YjFYvK9AIQIudlsSrqf38sZw61WS3DICS2apiEej8Nms8Hn8yGRSKBQKAj5sjplIBQKodVqiXFGHJJ3lM4JsIFDj8eDTCYjxLvjyI6Ms4mJCfz2b/82fvu3fxv/9m//hjvuuAM33ngjjh07hte97nV43etet6MOQXprZNylh0QmaEYw6E0C6xZ3KBTCddddJ4WEw+EQgUBAogW1Wg1LS0vygNfrdbhcLvj9flSrVQGfx+ORmW2apkmBqs1mQzqdxrlz57B3714hnovFYpKL37t3L1wul2xatVpNZnnZ7etzuxqNhjAq7927V2Zy2e12NJtNBAIBzMzMIBQKiXFIRbO4uIilpSUcPXpUwqbsQHI4HDIygoXEVNRUmiQUtGS0cO00TRuJQSoNFYPdbtfC4BYYJM9VKpUSpWnJaBmFQ3U6A40oMxxee+21qNfrsoEwmuB2u1Gv13eEQ0amiEN6/+fPn8fs7Kw8G+RE6/f78jqNMaaFOFux2WzKJAmn04k9e/ZIvTGjdpyUcuTIEcEhN7ulpSUsLy/jyJEjunQbG3mMOORYIFUXWjjcXlQc+nw+iX6pOOT+rmYSBoMBIpEIrr32Wtx7771Sh8r6MLLir6ysSE1XvV4Xg4ZOrM1mk+J66tRKpSJpSjajzM7OimFGwmVOBlBnsFarVRSLReRyOdhsNuFBo20xMzMjtXCcxhIOh6W2jBMHeE6rq6vI5XI4ePCgGKA2m00aKDiJgo15o3BozMyMkkueELC2toaXv/zl+Nd//VfkcrmxvBN1QoA6wJkXQz4cLjqLBZvNJq6//nop7lTZd1OpFDweD/r9vowsqVQqKBaLws8yGAzwwx/+UADn9/tRLBalgJGdGACkYJUbTSwWw759+7B//34pMCVfiVojUS6X5Rh2ux1nz56VkCvP0eVyYWJiQriqms0m1tbWYLPZZPOtVCqo1Wo4duwY0um0gId5fNIt8HhsG+bEgJWVFUktWRMCzGVychKNRkNa7onBQCCAfD6vwyDpCFQMJhIJeL3eHWPwRz/6kXijjwYMdjodNBqNy4JBNZ1giblMTEyIhz4uDlutFq677rqxcVitVlEoFGQT6ff7uPvuuyX15PP5UCqVdDjkGhOH3GSIw3379iGZTCKVSm2LQ5vNhnPnzm3CodvtRiaT0eGQRh0NQBWHqVRKxkmNwqHX65WRZA6HA2tra5aBNoYQh3TqPR6POIXEISNHpNlpNpu45pprkE6nkclkZN6p2+1GLBaTyG+xWBQeunK5rKsbvO+++8QBcbvdOn1ot9slbcgpEcwesKZ1dnYWqVQKyWRSOo9Vs4acY8Ti3Nwcut2upOaJQ9IXMdtAo46RaRp3Bw8eRDKZlEHxNGoBSCSO+jAQCEjNXS6XQzKZHLsc7KKLxr773e/iL/7iL/D5z38eV199Nf70T/90x2k0YwiVrd4qp4jahUaFoY4yYQhdpRdgMTIV0p49e6TYla3B7LQAIEAYDofShZLP58XQpDG3srKCbreLTCaDZrMpbO8skuUQVy4Mu92q1aqkG2iFMy0ZCAQQj8fFCCUY6aFS2YRCIYTDYcTjcWkRJ1B5DvR0gPW6KGPo2BK9EAMXg8FWq4VisSi8X7uNwU6nsy0GudFdKgZJN3A5MGhtiNsLnc+d4JDvU3HIz6mcZioO4/E4ZmZm0Gq1pJuN68jIBdd/MBjIRqXikBE94rBSqaDRaJjqwmg0Khu1z+eTmiQW7HMTM+KQ3FFmOOR0DRWH7OgMBAKSolJxGIvFLByOIcQPcdhqtXQ4ZIcio15mOIzH42J0sZOXOEylUqjVaiiXy8hkMjJVglMxWIahOgbq7GM2zgAbs2ZXVlbQ6/XQaDREH/r9fkmT07FV67QdDoekTFmaQYx6PB4hpaUzRL1MY4wNLqFQSKLHfEb5ncShmgFUpxGNIzsyzlZWVvCZz3wGd9xxB0qlEl7xilfgO9/5Dq699tqdHEZE3ZgASChTrYNQlRZDk8PhUEKhvHhuXkzTkAgxEonghhtukCK/ffv2SXg/m83C6XRK50W9XheDj4zDZDUeDAYyvJUdHWTWHgwGMg7F7/cjHA4jHA4jGo1K+qBWq0kIFoAQfvKcWQxZLpeltogeDMOnZBsGNgoqVc6UdrstFCE+n88yzrYRdaSRhcHLg0FLtpfLicPp6WnBYTQaxdOe9jSsrq4in89vi8N6vS445GBx4rBQKKBcLm/CIek16HhyPBRxWKvVUKvVJH0LbMahzWaTekvikFFFC4eXT2iY0Qjja0Yc0pBScci6MtZNssDf7XYjEAgIlQ8zANddd50MN9+/f78YatlsVrpyB4OBdA+zLrzT6Ui3phqRYwkHmwXsdrvUenFqBSeoBINBwSFT4jxn1XEFNuhh2JTQ6XTk2pxOp87g4vOpTgBg3RsbCXYiO0prulwuTE9P41WvehV+9md/dqQ3cv311295HKY1w+GwWMVUSn6/X4rt+J3GAkQWgTabTYkUJJNJsWTr9TpisZgUUtOKZd0Nz5sAXFlZwYULF7CysiIhzWw2C6/XKykGhvcDgYAoBS6q3W6XEOmRI0fEK6QXCmDTgHeHw4FrrrkGfr9fPBEyf3M+HOt4aJEfOHBAdx/p7fI7WPiraZp4AGytt9Kam2ViYkI3cPpKY3Bubg7Ly8uXFYPEB6/h2LFjlxWDFvHn9kIccgPYCQ4dDgcCgQBarZaMTdoOhzzW7OysDoeapmF1ddUUh6z/8nq9sNvtEjFVccgutVAohHQ6jauvvlpqeMxwqF7DkSNHhE9LzZCojQHUaV6vV0frBEAiPDQgWBDOhhcLh9tLJpORfUqlhVBxaLPZhC7FqA9VHNIxpPHSarWEn2x2dlaGortcLkxNTQkOGfXNZrNS80qC2nw+L1Eu6kOmOlWDiWnEYDCIdDqNQ4cOScckz5WjmIhDXteBAwcQCoV0+pANAdwn2LDg8Xg2cboy4qc21JDMlmnicWVHxpla7K+SU+oOOAbPGY0zr9crHhGPz42GJIJq3tnsuLxghjIp09PTSCQS0i1B7i+OYwgEAjKapNFoiKfI2g8WDgIbrMj0GqloGO5l5KJWqyEYDEqnJEFCIBw9ehTxeByhUAjz8/NIJBIIBoO6sCjz+EyheTwe8RxSqZQQ+FFx8r6xe4n3TO1wsowzc9m/fz/W1tbQarUuGYNut3vTzDQVgzScnmgYtDbF7cWIQ/7bCQ5ZTL0VDsm1lMlkhDGfOCSLf7PZRK1Wu6w47PV6OHLkiDwLi4uLiMfjCAQCOgoPns/F4JCGmYXD8WXfvn1CG8T1pj5kNHM7HLKWlmlCVa9OTU0JDmOxGFKpFGKxmBj6rCUbDNY5w6gTWRfcaDQkxUhDkeeg4hCApLxpLCYSCXEUOFO53+/jwIEDiEajCAQCWFtbkwgvv4M4VKlm2LAAQBfBVSk/bLb12bPq5IrBYLCjKO6O0prnz5/fydu3FbVVl0zAas0LAN2YB7ONUS3goxXMsCQLZ1n7wLA93xeLxWCz2STkCWzQaGiaJh1FrHtoNBrikRkNQQ47ZV0IAMlhsy3YbrdL2J5z3nq9nrxf7figF8C/DQbr/GYcoEoFzhCzOrSabc+qZ2OJuewmBplKAcwxyDUdB4MMhzOSMhwOpSNOjU5RpqenBX8Xg0HWiWyFweFwuGMMWjKeqPQZ3Bh3gkPqKyMOuUkSh9VqVY7DNBawXsisRmaBzTikLuTmZIbDqampTbqQXajEITdZpjb5fSTfBSApsVE4dDgcY+GQqVhLthcVVzTAgI29h7IVDmksm+lDzqxsNBq6weOkSwHWudaICXa/M6o8GAzkf6YKGV0lDonFdDotf6vVauJQ+P1+3dg8u90uKXU6NdRzrDdjhyWvm/V2rG1kh7N6v+iE8P7QkdiJXHK35sWIGjlzOp3weDyyQDSMKBymSquU3R9bRee4uajhT3YI3Xjjjbo2dTIO83d6eP1+HxcuXJBUbjQaFe6q4XAo3SuRSATxeFyKY+PxOKrVqtRoTE5Ootvt4uTJk0gmk4jFYkgkEojFYpiZmRHPTn0YKIxmkPAU2CgeJrEjAFQqFeTzeTH0VK4XK3I2WpiiIVY4Qmc3MEgcXQkMkih0OwzG43FMT09fVgxeKlH1E0HUuhduYLuJQ0adiEOmPp/+9KdLtI31adyo1G7HwWCwLQ57vZ4U6Rtx2Gg04PF4MDExgV6vh4ceemiTLhwHhzQMKVvhkIYeR0hZONxejDhk2k8t+QA245CO2HY4pKHD7yEOn/rUp0r2IRgMYmZmBl6vV3BJHA6HQywvL8PpdCKdTiMSiYiToGmakM8yvU8chsNhiQSzO3gwGOD8+fMSRea/dDot2T81EkdhlE7FIZ0ClSaDjQ+MNIdCISk1GFcuyjh7+OGH8fd///e4cOECbDYb9u/fj5//+Z/fVI8ySmicRaNRXUjaTFiUrHYg0Uui0MCjouLfeGlUMHa7HZOTkzJrKxKJ4MCBAxLm5OssIOQG6vF4cPXVV0vxLCMfXKRIJAJgPawZjUYF0L1eT8BTLBZx3XXXYWpqChMTEwDWF5BM78ZUxHA4FMufaQFa6NzIAYiHYrfbsby8jOFwiOnpaQlDp1IpyzgbIVNTU1JPcLkxyHD8OBhkvZgZBjk37kphkDxp42KQSteS0TI5OSn3cLdxyJrA7XRhNBrFvn37xNDZShdeddVVwlU1Coe9Xg+hUEiiHSptUKlUwrXXXis4ZFS31+tJDZEqxGGr1ZJu4+1wyMHsU1NTFg7HlMuJQ7M9mRHQTCYjqUWOOKJBRsot4lCl7dm/f7+kvsktpmma1JsB0HWNkoiWNXXVahVHjhxBJpNBKpWCw+GQaDGdGVVIhtvpdOSZYG0euSSBjfSm0+nE2toahsMh0um0RIMvG5XGu9/9bvz+7/++fKGmacjlcnj729+Od73rXXjrW9869rHGCfMxV0uhJcrIAt/j9Xql9XeUvTkcDoWQ0e/3o1QqybgJp9OJZDKJQCAgA1JjsRg8Hg96vR4qlYqO04RhXYZMqbxoBJEsMZ/PS7EhCTrVPDxDraqoCo+hVGA9DKsW4bJGxefzodvtyusEvRXO31oYFdpOdopBY6oH2KjRfLRhkApmXAyyhmMnGOS5WmIuu41Dj8ejSymZ6UMzHKojoLbDITs4zXDIjTUajUrqizhkJ6mKQ2Kz0+mMxCFrjCwcXj4ZB4ds/lHftx0OR+3JmrY+Hmp5eVlwyNmY1GWJREJSnKxZI6UFu3nb7bakGDVNk5ndNJjoMNBI5Mg9NoqQm43nTRoOVfhZtSkCWDfE1M+Tt5WlBEa8qfVy28mOjLM777wT//2//3f83u/9Ht785jfLWJZisYgPfvCDePvb344bbrgBN99881jHo3VptMQB6Dx5hi0pg8FAF1bk+ASV40eVUCgkOWB6YL1eD8ViEadPnwawXpvDrpFIJIInP/nJwlwdDAZx4cIF8fyYtx4MBshms9IdxWiganSxg4UFu6rQ+jZKpVIRAKjGGAEFrM836/V6YvFXq1UZldHtdhEOh60JAdtIqVSSDrPdxKBZeP9yYjCXy6Ferwu31CgMAtjULaRSGqhSrVYBQFJcKgaJ43EwSIPC2hRHS7lcvmgcsj6Gwm6yer0+Fg6bzSa63a4Oh36/H5OTkzLx4T/8h/8gxlAoFMLc3JxEVzhMmjhsNpsSETbDITdSMxyaYYQ1cma6kDjkAPZkMik45Mas4pCGmiXmQqNIxSHrp2hwsF5LnVQBbMYh61jJ1m8UzqRUI/udTgeFQgFnzpyR75uYmJB053XXXYdGoyE8dxcuXBDjneemaRrK5bJkA9g5ynX3er0oFotSMsD6MQpLXYzC6yVhM4WpWgBCuZFIJIRihFMxSAlDfThO9GxHac2XvvSliEaj+MQnPmH699e//vWo1Wr43Oc+t+VxVCoNctRwXAQLCuklpVIpZLNZCVeT68Z42hyEqhbhURhJYNEsH1RSWzDPTtoADjC98cYbpfPn8OHDEjrdt2+fhDITiYRE7Mg1FI/HEYvFMDk5iZmZGXg8Huk8UYlCAeiAy1oLtoWrioQ1RAStOmeTJKP0DmnNk6zUSmuay+TkpFBG7AYGY7GYrohalScqBjkKxZLRQhwy5aLiUMVHMplELpe7JByGQiH5HMfOXCoOucmRYV3lY4vH44jH45icnMTU1BQ8Ho/Uq9H4UyO9ACSathUO6fASyzQGAAgO+RxbOBxPVBxSHzKSREff4XAgkUjIcHrqCxpxqmyHQwDiyJnh0G63S4qR/GNPe9rTZEKBOkZpz549UpMYi8XEwaFjyJqyTCYjOGRJldvtRigUklQoo4IqJQYpMlTDjY4N0+acAEOssgyJRii5zsYlRN5R5OwHP/gBPvvZz478+y/+4i/il37pl8Y+HheUNQVqGzk7L8rlMgCIBcpFNi42axbMbE0ugNPp1A13Vc+Dx6O3wMGnVJacUchQLW88QcA8M8lf6/U68vk8Op0OIpGIKES1eBWAqQVtLIjVNE1SDCxq5HnzZ76HCo11JZaMFnb+EGuMLhkxSGbq7TBo1r1GIQYdDsfjFoMANmHQ2hC3F+KQilzFITfHnehCbhpmOGy32/L5y4VD1vYYcdhutxGJRGQzN25Sl4JDFmRTGGVjNsXC4fZCI8qoDwHocFipVABsNJvwMzvRhzvFYb/fRywWkyaoQCCAWq0m+zqzEaSeYRqSmCUOC4WC6EPizYhDs33TrDmAEW025wDQpTKHw6E4WjyfnUyq2JFxtra2hn379o38+/79+7G6ujr28aiQAOjaYFX6CKZKPB6PdFEwzM3OHnp6o4ReHEPhW9Wl8XtJRAesP+gcqOv3+9FutyV02mq1RAnQimYxPpVCKpUSjhWj9W0mKgg4OoWfUWsy1IeBtRz8WS3CtMRcaEBwU1QxoWKQSmC3MEjaiscbBtUQPzFoyfai4hDQ1+Kqnvu4ONyqnIE4VDuCx8UhqTa63a5QdLRaLZkoYcQhpdPpCPN7MpmUTn2zrkyjqDgsFAqIxWI7wiENCEu2F9aYEg/qPTXDIZ283dCHo4w4ymAwELJs4pAGHpvlONGi2WwKYTMbYobD9bF4+XxeGkrIsbZTfVgqlYR6BtCXihhxSOypFDnjyo6Ms3a7vWXHC3P844rb7Ua73dYpcoZS1e8kazGjGTabDalUCtVqVcdkHAgEhEuHQ3Ep3HyNRgutdvW94XBYaifocbHI0G63yyBet9uN2dlZ6cLzeDwolUqSTpqampIWWpLiGXPWFJUnxWazCViTyeTI+6cSKxpJFi2FtL1MTEwI+eejDYORSGQTBlut1iOKQRYIWxi8vHKlcDgcDnekC7kJEYes72Ikbc+ePTockk5jYmICU1NTCIfDCIVCiMViUqO0ExwmEomR99DC4aVLOp2WukGVl8uIQ6bf1XSkzWZDMplErVbbhEPWoXIAOYXGmJGGQ521SeGcS9Y9kr+OOK7X62i1WnC5XIjH44Ih8pOSfJmdocShzWbT1XKrYizcJw5Za28mqsNgbG4ZpwlAlR13a/75n//5SLblWq22o2Ox2JiFmlQ46rR39YKYUya/Dx9u1rhwvpZR+H7OdGOUifls/uzz+bBnzx6kUimZes/aHHKj9Ho9zMzMIJlMyoiKRqMh6ap2uy2fmZ6elvRDu92WOW9qJyVBr4KfBq4a5lcVFkFJpcPRJhSmGSzZWhgBuNIYZD3Fox2DqrIaB4PAZgVlyWYxwyFlHByS02s3daHf78fMzIxEXNPptCkO6UCGw2FxKMxwODU1JRv+TnDIVNdWOFQ/w3tJsXA4vvT7fR0OaTir+tBIscG6V+LQ4XDocEjSbKOoOOQkATomTHf2+334fD5MT08LL146nZY6xUwmI8YZsF7jxnmudHTocNCoy2QyMn5JraskDtU6M/V52w6Hxt/NcMha3XFlR8bZ7Ows/uzP/mzb94wrDGuqRIJUNAyPjmrBVW/WdiFUKjtN03RdO5qmiVdgs9kwOTmJvXv3ypiTWCwmmx/Hm7BNe3Z2Vup4yITt9/uFbM/pdErRIwklea4AdFa/sdZCLfi12+2o1+tCNspuLYaDWcBJhuNut4vFxUXhmbFktNDgHYVBht53A4PcPMwwyI7JRwKDKlHi5cAg6zuIwVQqJY0HlpgL00IXi0NGGHaqC7kR8TXqQrvdjomJCezdu1dG7MRiMYk2qCSkxCE7IkfhUC36H4VD1dinsI7I4/HAbrfLSKloNCopf9ImGHHY7XaxvLwsTT0WDrcWMxwC64YJ03Jm0R86tGY4NKMUog5UDSvikAYMv48NTclkEolEQsYwUTcy+ut0OjE5OSkNLzTOOCGFOGTUiw0tRhxS3xmvk2Mmmc5lXSf1IbDRTEMuNOKy3+9jbW0NTqcTiUQC0Wh0rPXYkXF24cKFnbx9W2HxKL0wcqWw84YM09wEORiXLOTM6W4XLmy1WuLd9Xo95HI5AOvpBJLfhUIhHDx4ENPT05KLpteXTqdRKpVkNmKn00EoFBJlxPoNj8eDTCYDYL09nvltMlWrilH7/wntqOBUPqlisShACAQCmJubkzbneDwuNAoPPfSQdMotLS1hZWVFQrtGVmdLNgvxNwqDrO/ZDQy2220kEglEIhHBoM1m2xKDgUBAaAnGwSDD88Qg2dK3wyA3fyMGabheCgY9Hg8CgQBe9rKXXd7FfAwL09y7jUNuhKq0Wi0kEgmEQiH0+33hwFOJQEOhEA4dOoTJyUmZeUkcplIplMtlYVbvdrumOPR6vUin0wB2hkM1kuZwOFAqlcRgCAQCmJ+fR7lchtvtRiwWEwqFU6dOCS0Ccdhut+F0OgWHwWAQL33pSx+JJX1MihGH3JvUPZlGsRGHpBJSjSwKf1bremlgc64vucdovJACY//+/TqyZEbNEokEarWaULZ0u12h/Gk0GoJDn8+HVCoFYL2Ll/RJJKplbSIb6Dglhq/x/Eulkhh4Pp8PKysrQpURCoWko5ROqc1mw8rKiq5cgdmFcXF4Rcc3pVIpsXw5AqLdbguzMC1iGhoejwfD4VCiB7Sch8MhvF4v8vn8JmXk9XoxNTUlxpnDsc5IHI/HMTExgT179ugI5RgRmJiYkEV0OBxYXV2VAesAJGrg9/ulqJbnzH8Oh0NAbLfbkU6nJYwaj8fFMxkOhyiXyyiXy1heXharfjgcSn4dWA+NBgIBVKtVLCws4L777hNFVi6XpUV9dXUVZ8+exYEDB3DXXXdZVBojZGZmRrdeO8EgIwCPJwxWKhWUSqVdxeDhw4fxrGc9C+9///sfkTV9LMojjcN4PC7daioOp6enZZ0ZfXO5XMhkMoJBp3Od9dzj8UikjalRprNG4VBllE8mk4LDRCIhm6SqC1dXV2WzHA6Hus201WrB7/ejVqthYWEB999/v2ymRhyeO3dOcPi+973vEVnTx6LMzMzIc0+8sQvXiEM2D7CejDgk8TD/ViqVNgUJ6EBSH1LXxeNxobpg1JWfJTEycehwOFAoFGQ8HrGp4lCl9VFpNWiI0dFU9SH1MPVhuVzG2tqaNFcx3cvnhCn6Wq2GpaUlnDx5Uu5NqVSStG4ul8Pc3Bz279+PZzzjGfiTP/mTbddjR5Gzz3zmM2O9b1w6DYY3ubmQL4StsEy30AMktw1D8qx5oCJTlVEkEpH8M8Oh6vwsEnYmEgmpx1Gn0dfrdWH55XepBbQM/3u9XtTrdRkDRAteDeuTv2U4HMocRDUf3el0ZBZXsViU0SSDwQCrq6viEXDUTqFQwPnz53Hq1CkBaq1Wk9EbxWIRjUYD7XZ7B6v7xBNuJI8XDLImhISHZhjUNE1mIBoxWK1WN2FwOBxeMgYtHG4tvM92u102lq1wCEDu6cXikGlyFYepVAqDwUCY+lUccgMk95TaCcdU0Dg4ZK3PYDAQHKr0Au12W3RhoVDYpAtJkUGsFQoFXLhwQXBot9tRrVaFOZ44bLVaW44ksmRDH5I/joYR52wSh4yUA5DOYH6OBoxaMkEJh8Pw+/2y7slkUnCYyWSkbjGZTIohyNo0TdNkRqta52rsUHc4HJJ25AB2lXORvH3AOtUHu5GNc4A53qlUKiGfzwuPJM+FdXLc+4vFIubn53H27Fk5BiPd7XYbpVJJmiXG1Yc7Ms7e/OY3j/ybzWYTNuBxjTMWVAcCAVQqFdjtdmGgZv0BrV+VAwWAcJsYKRBsNhtCoZCQ1TGnHIvFkEwmcdVVV+nA1Wg0UK1WUalUcPjwYXg8HvT76wOnOeOQOXi2i7Mejue2urqKSqUim+mePXtkphs9CVrPNpsN8Xhczpcb3draGgqFgiglysLCgijGWq2GxcVF5HI5LC8vo1AoSHqJtRj0HmdmZpBOp3HixImx1uKJKCrh4ZXCIJ+bRwqD2WwWAHQdR5cTgyzAtWS0qDgMBoMyISQcDmNhYUHqE9VIgCrb4fApT3kKwuGwLq1ohsN6vY5arYZqtYoDBw5I/eD8/Lx0Dasd+eqIKAA6HDYaDfh8PszMzGByctJUFwLYpAuLxSLW1tZQLBZRKpVQLBYBrG/+S0tL0rnMiFmhUMDy8jKKxSL8fj+8Xq8OhzabDdPT00in0xYOtxE6b3a7fRMOFxcXoWmaRNPUhhDKKBza7XYEAgFcf/31os+8Xi/i8TgSiQQOHDggxjspgDionBNT+v31MU809I21lXRYGcXL5XJoNBoyTWVqakommQQCAQAQ51HTNF09Yq+3PqIsm82iUCigUCjocJjNZoWqo1qtYnFxEfl8XnDLoe0k86U+TKfTiMViY00HAHZonJGM0ygrKyt4xzvegb/4i7/AT/zET4x9PNZV0Tuj1c3J8MPhUDYTANI+C2zwKKkg8Pl8iEQiOHjwIK666irE43EdyJgCWltbk80wmUxKGP7kyZPSwVSr1fDQQw/B4/Fgz549YnjSUmfxocPhwL59+6RjJRQKwefzSYEquzMSiQQ0TZN6D/Wa8vk8zp8/j+XlZVy4cEG6XofDIc6ePSvzF1dXV6VTqlqtSvGhpmnCYk8vgcCwZLSQN8yIwcFgsCUGqfQvFoM+nw/ZbPaKYlBNc19uDI6rjJ6oMgqHw+EQqVTqknXhkSNHBIccy0WeslE4PHXqlKQtK5UKTp48CY/Hg+npaTSbTXlOut0uJiYmBIccWq3i0Ol0CimtpmlikMXjcVNdeOHCBSwtLWFubk7OdzscOp1OtFotoX7J5XIWDncoKhv/cDiUyBLvKXGYz+flM1vhkHxkkUgE+/fvxzXXXCNrzgwE0+OFQgH1eh31el2M+F6vh3K5LLx+1WoVuVwOLpdLphkwStftdmUerNPplBQ9a7yYuuz1evB6vWKQ2Ww2qe9l9M/pdEoacnl5WeocqXfn5uZQLpdRq9WwtraGRCIh90s1GhOJhIwWU1Ot41K7XBJaa7Ua3vOe9+BDH/oQrrnmGnz961/Hs5/97LE/TyZxPrgM7atWsNHbMfLzsLCPRk84HMb09LSEv2nlkzn4gQceQLFYRLlcRjabRTQalVRAv98XJZPL5YQ4MZPJyMY2HA7FC+V0ehacOhwOKf5jHQY7ilwul4QzbTYbFhcX5bvn5+dRqVSQy+Vw8uRJKVp0u91YWFiQVAELf9UOF94TlXE5EAiI52DJaGHtlhGDan2MGQaBjeJZYOcYPHHixBXHoN1uf0QwSP4hS0aLisN2uz02DrfThaSwUHHI+q92u40HHnhABp6vra3pcEhOKZvNhkKhgHw+L/Vn8XhcoiOsGWI5B2uWjDh0Op06HDIdZrPZsLy8jHA4jOFwiIWFBZTLZcFhsViUusutcKjeE/7dqAstHG4tdOJYv0pjmkYXMJ4+ZPMGa8rC4TAmJyd1NYMqrk+ePIlKpYJqtYp8Pi/NKupYPbvdLtFU1p8x+k8cApBGKRqJNNqJQbvdrpuTSUfbbrcjm81Kecvi4iIKhQJWV1fx4IMPIpfLSRnJ8vKyzAJVGRgAvT5kkwS7l1kuMu7M64syznq9Hj784Q/jXe96FxKJBO644w686EUv2vFxqCw0TRPCRHpjtL7JaM6HDoDOQwwGg9L2HQwGEQgEkEgkhEaCNTD8vlwuh2q1imq1iuXlZUSjUfR6PQmBhsNhOJ1OLC8vS7fP3NwcDh06JN+9b98+DAYDedhZKwKsF6pScdlsNpTLZTgcDqTTaVGQ3W4XpVJJOmPm5+dRKpWwsrKCs2fPIp/PS4ie43fsdrvkxQk6tYWZ72HXqHEchiWbhSTIxKA6kuhKY9DhcOg6znYDgwzrs8h3OwyyE+5SMbgTYuonolwuHAaDQSl4BiA1ODTqVByurq5KNzsNGToJq6ur2+KQ0VPSFwCQ18xwqDbAcDRUr9fD3NzcJhySE42je5gi5WbJTZc4JLE5nQu1K9uS0aLikPcO2B6HxjRmMBhEJpMRipVAIIB4PC4padYkcr3y+byk1NfW1mQKBQeiBwIB2Gw2icrT6Oa0IpvNhj179sjaMyNHw4v6hynbWq0Gh2N9Rig7S3u9HkqlksxaXlhYwOrqKpaWlvDwww+Lc+L1elEoFKTDnfYCAMEh75mqD4lD4nwc2ZFxpmkaPvOZz+D3f//30e/38a53vQuve93rxg7TGaVcLmM4HCKTyUgBKYv8mH9WmYNpEZP3JhgMIpVKYXJyEkePHhVm46mpKZn51mg0UCwWMTc3JzVfhUJBWIzVrpRsNotarSbWNUfWVCoVHD9+XDy/tbU1IcZjETct6FgshkqloqPESCQSmJycxHXXXYdsNovjx4/j8OHDOH36NM6ePYsHH3wQd911FxYWFrCysgJgvaOVuXa32w2/3494PC5zzSKRiBRxs6uLnnatVhMKA0tGS61WQ71ex2AwQCaTEU9NxaAayQUuHwbJebYVBu+55x7x+lZXV4X/55HAINMPO8UgKRgsGS21Wk1S1heDQ6YQicMjR46IMWXEYaFQGIlDRgKGwyHW1tYEQ8QhDSwVh6N0ITmlWMdJSgwOQT98+DByuRzuvfdeHDp0CKdPn8a5c+dMcVipVKTGh+lY4pDpKeKQnYW8Xxywzoi2JaOlXq8LDlOplBhqbErhnmzEITFKqo10Oo3JyUkcOnRIMJVKpaQpo16vo1wuY2FhQVKkxCEbRagP2aHucDjQbDbFKC+Xy7j//vuFZHhlZQWTk5Ny3tFoVLpFSf9BPWq322UI+v79+1Eul3Hq1ClMT0/j4Ycfxvnz53H//ffjhz/8oQ6HwEZZC7tEVX0YDofR7XYluqvikLqUVDXjyI6Ms+uvvx7nzp3Dm970JrzlLW+B3+83TZ2N+xAYQ9JqaHQ4HMLv90shNDmY6K0PBgMhSOSsLBaz3n333QiHw6jX68hmsyiVSqLszKYYkJ6D1i27Ver1OhwOh3R4cONhizdbZQ8fPqzrKqEXEQ6HMTExgZmZGczOzgqxZzwexwMPPIDTp0/jzJkzuOeee3D8+HF0u12Z2cV/zFMPh0PUajXxCjhfkbUq3W5XUkoApLbJktFCXKlixKDX60UgEHhEMcjuNDMMOp1OITWkt7cVBsnovhsY1DRNh0GywG+HQWtT3FouBYf8u4pDdpoRh5yNuRs4VGkLjLqw3W7jwIEDkgUhZoB1HHKc2J49e6TmKBaLCQ7PnTuHe+65B/fee6/QMozShdVqVXDo8/kEhx6PR3AIQCIXXq/XwuE2ouKQ66bicDAYwOfz6XAIQIdDzk5lCQXryO69915p1sjn8zocsq5QFdackVaGz4A6gYJrOxgMUCgUxAhqt9s4dOiQ1O4yIs3mhomJCdmXO50OhsMhAoEATpw4gYcffhhnz57FXXfdhQceeADtdltq05j+ZJkK9SENU9Y3sm6PdY5qap/cpePIjowzdv69973vNeWL4Q1Qo11biRodMyon8ueEQiEZ8Ex+H/4NgIwqyefzKJfLqFQqWFxcRDAYRLPZRLFYFKvVjChUTTexFRuAjgyR4COxHbvi+FomkxHeIW6gPp8PiURCyBptNhva7bZ4D/Pz83jooYfw8MMPi4ID1nPxZIwHIGFZpnx5Lqq3wvfxflJ5X2xE84ki9Ab586MFg3zPdhjk5roVBtmmvhsYpFJSlfE4GLS65LYWY4PJKByysUTFIRU/AElJ5nI5VCoVVCoVLC0tIRAICA7J4G8mxOFgMJAibJ6XWvRNo8gMh8lkUgquVdLOeDwuBiQ78ojDhYUFHQ6Zsu33+8IWD+h1ofqsjItDqyFga1FxqBrWFK5nIBAQmojhcCidlipVCvUhnYSVlRUxrkgrwfIIo3D9eWwAOsMI2Jh0wb/XajWJorlcLiSTSTGOVGcyFosJlQwnTjB9quJwZWVFjkcHhXhjsw5xyO/gnkycmeHQWKO2lewIrXfeeedO3r6tkGKAtQlOpxORSEQWjEqJ42KA9QtmXU82m9XVuJCpmClKPrT8R+WnDpKmIiKhIYsWi8UiQqGQ3OhOpyOt6Hyt1+shn89LizfrLegd7tu3D8FgUIqvmTc/f/48zp8/j29961s4deqUgKXRaKBer2M4HEq3HWslmEYD1o2BarWKcDgs3Xuci6dpmq7myJLRMhisz3Gz2+2POgw6nU6USqUtMchaiYvF4Llz5x4RDBqNDUv0QhxupwudTucmHAYCAcFhPp83xeHa2ppsDtwwuAGb4TAcDm+LQxIgG3G4vLwsOCTp7Z49e7B3716ZJLC0tASbzYZcLofz58/j7Nmzu4ZDppyMODQzNizRCx0vh8MhtWRGHNLAaDQauufa7/fD7/cL/QT1VKPREI60paUl0Yc8HiNfNOiZQmUZRb1elw7McrksmASgi9SrOMzlclhYWEAoFBKan8nJSUxPTwsOWUsJQPThqVOn8K1vfQsPPfQQotEoIpGIpGE1bX2+KCPG4+BQ5VRT+THHxeGOjLNnPvOZeP/7348vf/nL6Ha7eO5zn4s/+IM/uOj0Gb1zu92ua8HlxXEhVWEYksOAQ6EQgsEgstmsLKxahMqfaY1Ho1EJo7K1nIWyTqdTCpgHgwEqlYoUo7IQ0W63ywNvs63PAWu1WohGo9i/fz8OHDggnXXBYFDqRnq9Hu677z7ce++9+P73v4977rkH0WgUU1NTWFlZkeJrdj9RmBpTC105UJaNFKwLYldKJBKRmhFLRgvnsHHDeqQwGIlEJNqwHQar1aooKiMGAewaBldXVwXrKgbZCbUTDDqd67MUs9msjO6xZLSoOKSXbYZDY9SVOORamOFQ7ao1NhNcLA7VbknqQgBb4jAUCm3C4X333Ycf/OAHuPvuu6WzdLdwyL8Th+wEtGS0BAIBifQwo0UdpuLQmA5nNLPX66HZbIrjqhpmRn3IzwEbexywGYc0ynkc1rJyEDuzXc1mUwx5OhyhUMgUh+SKJHvDAw88gLvuugt33XUXAoEAJiYmkM1mhY8tGAxKhE7TNCkTYCMMccjIM40y9e+hUAiFQgG1Wm0kJZlRdmScvetd78L/+B//A8973vPg8/nwoQ99CNlsFn/xF3+xk8OIkMROpQ+ggmdYnBuSscOBeWh2QHS7XdMWVYazmWplSBLY8FjVTVhVjHzYyU81GAykxo7MxslkUmbQMfpBskZODGg0GlhbW8O9996Lc+fOoVwuC4kf22xVi1p9EKiAWVhIb5i1FlSSBAivkwNfLRktxBBx9EhhUN00t8MgowBmGOS0CSMGA4HAjjHItnkzDBJzO8Uga4Cs9PrWoqZIer3eSBxyrYhDGmtGHHJjMwoHql8qDlmbu50u3AqH9913H86ePSv8UZcDhxQLh+MJ92KmJhnpVLtxmVpWU900uIgXdneSnd8o2+GQTSl0SIw4ZJSMeG02m7Db7TJnM5FIYHp6WmYAB4NBXfS10+mg0WhgZWUF9913H86cOSMd6cQ4DTxeM1O4vDd8JolDTdOkm5M45N7B6+QzdFnSmp/5zGfw0Y9+FG94wxsAAN/4xjdw22234c///M83RRfGEXaDABDeJrUAEYB0sqkEd8aaHD6kZkJPgN0fqtIiNxS/U7XqfT6fRPbolbHN1ufzSUHhxMQEJicndRsoU2XVahX9fh/FYhEnTpzAXXfdJQWEoVAIw+FQOkuq1aqAmrU9PC9a7qROcDqdCIVCCIVCurw3vYfhcCgjpCwZLTR+VQ/uSmKQNR+XikGn0ylK4HJh0OVyIRgMmmKQypYeNBWdJeaymzhkOspMLgWH5JpSccgxTxeDwx/96Eeo1WoYDoc7wiEnbuwEh36/H4FAwHJWtxHqMXXMGxtM6BAwrWfEoVqrrRp5ZkIM8r2qAceCeq67ikNGVPk5j8cjRr/X60Umk8HExASmpqYwNTUlRjkL9JlmbbfbyOfzog/L5TLa7TYCgYAYoozmqThUsRgIBDbtyaSv4b1U079sOuDnxpEdGWfz8/P46Z/+afn9ec97Hmy2dRLBmZmZnRwKAHQkixzXQCuYSocLxIedi86bxO6zcDiMUqm0qRmBoUafzyc3ju3CfF2du0bCxmq1ilarBbvdLiHUWCyGffv2YWZmRqz0PXv2yDywyclJnDt3DhMTEwiHw3jooYdw5swZzM/P44EHHsDJkyehaZp0WlJpBINB8RCdTqcUS7KpAIDQE5BXxe12S26fnqyabgNg6j1bsiEHDx7EQw89JL9fCgZtNps0DmyFQXL27ASD7NY0YpB1EUYMnj9/XkLpS0tLl4xB0iiMi0F142+32xYZ8jZixCF5xh4JHHID4usskAYgtBijcDg7O4vZ2dmROLxw4YI4ksvLy4LD+++/HydPnpTvJA4Z5eDIG5fLtas4ZIG3Jeayd+9enD17Vowh8i5y7Smq0aXikMYLcRgOh01xyDUhDvldDJAY9aE6MYUUMSTgjkQimJmZwZ49exCPxxGLxTAzMyOF/xMTE1hbWxPskrdsbm4ODzzwAB588EFpriEOaSvwekjkzTpKIw5Zj+l2u1EsFnXpdRq6NEDZCDOO7Mg46/f7m7xghgovRkKhkFjJageOWjztcrnQbDZl7AI9RH4nL5w3ElhfTPVBpHJjOJMep9PplJtGC5uEoXzQydXU6XQwMTGB2dlZHDhwQNcBMj09jVQqhVQqJeHPxcVFnD59WkaRzM/Pi8dgs9nkunmeHN1CXjO127LZbMp5UkGr3Vp2u10MT6aKrUG/2wsLODmCZBwM8p4bMcj7Pg4GWSNDDFJZXUkMapp22TBokX9uLeVyeRMO2UlMDLIb0UwXqmzru41DNqEwZcNpFJlMBnv27MHBgwdNcchuucFggIWFBZw6dUo3lkntZCMOqa8YWdhtHKpRSEs2S7ValYa4UfpQxSHtgYvRh4y0GXHIZgQAEvFiipQ4JJXUYLDOTzk1NYWDBw8KZYrf78fk5CSSyaSMVur1elhaWsJDDz2E8+fPY2FhAefPn4emaboOZEbCgI09mQaaEYe9Xk/wx39qBzUNT+KOQ8/HxeGOSWhf/epX68LD7XYbv/qrv6rj7vjbv/3bsY7HTYedDgyREgzcGHkDjLwnFOPFEkB8nxry5+eMxI5cdLVDiN0ewWAQmqYJP8rU1JQAiMRyTN/4/X6ZZE8QrK2toVQq6dreGZrl5kguFV4jAPmdG5waDqVC5TEY4VM7vi4m1fxEklqtJms2Lgb7/f4lYVCtr1CbYQBIStwMg3y+LhaDq6urW2Kw1WoJWawRg6x92ikGeY0WhcHW0mg0pF7VDIeqcabikLU5amTCGKW4FBxytiJxyIiCzWbD5OSk/Ot2u7Db7cLhtBMc8hp3C4c0as1waNWcbS2NRkPWrdPpiB5S9SGfZ6YbVRyq+nA7HLKmUf2cikOWCLndbklRk+uPETen0yldmJOTk5JKZL2jz+cTB7dYLCKXy+HcuXOYm5vD6uoqyuWyDhejcEidz3Nkw8koHPL6iUNG0Pj5y1Jz9qpXvWrTa6985St3cgidsPaFFisvgCFBgoO8Uq1WS2cY7tmzR2ZyRaNRNJtNIb5zOBySZ67VarrNk90ezJnz5qlt6i6XC6lUCl6vF8PhEHv37kU0GpXahmAwKDd5aWlJwr+nT5/G2toa1tbW8NBDD+HBBx9Eo9EQAkTm9Xu9HmKxGDweD3K5nI7bRyVxLBaLuu4WRhsJ2na7LUR+/I5arYZDhw5h//79+MEPfnDR6/N4F3YBqV7T5cYgIxePFAZPnjyJkydPXjIGKaMwqLaSAxsYPHjwoIxZscRcVByynsqIQ9aTqjhUNwYVh4lEYldxSIZ3Zk2YyiTTOQvHWeLCSBVxuLq6qsMhu1N5naNwqA6pNsMho40kgG61Wuh2u5LyBNZxeODAARw4cAB79+69zCv52JbBYKCbf8r1YRkEjeOtcDgzMyPcd/F4XGoT6/W6pP5G4ZDHpPPATlwab8Qhmz9mZ2cRi8UQiUSECJsOTC6Xk1Q2ectWVlZw77334syZM9JVqjo7vV4P0WgUHo8HhUIBnU5HnAJe43A4RKlU2rQnqzikPmTKE1iPSh44cACzs7OYmpoaaz12ZJzdcccdO3n7tsKL5hw+3iCVMZgdD1RWHK4cDofRaDTkvSRgpLCrhCFKLlq32xWQAesdb9ysmD/3er04duwYZmdnpbj0qquuwp49ezA5OQmHwyGga7VaCAQCyOfzOH78OO677z4sLS0hn8/LuBSbzYZIJIJqtSodKGrenjUSDK/Sg+B1UfERsGoagvUYapQsEomgWCyiUCjs6no93oRtzi6X61GJwaNHj2Lv3r2XjEFuaruFQYbzt8JgNBpFsVhEPp+3KF22EXUWpMfjEd64RwMOfT4fjh07JjhstVo4fPgw9uzZg4mJCXmNqXifz4dcLod77rnHFIesRWIzgIpDbpIqRQL/MVVm1IXA+qbNWiQzHJbLZRQKBQuH24gZDnmfjThUZ+YacUgDT+3oBfSZIOoPFYfEQTgcRqfTkQ5eTVsfwn706FHMzs4K+/6hQ4cwNTWFdDot6U8V54uLi/j+97+PEydOYHl5WWZ4lstlqd0kh5mRpobXTX1IPPK6+DOfF14PcUiHhxKJRFAul4WAdxy5ovkGhjS5OGbCm8b/GRZkoSrFGEZVbzZvMF9j+JtWMXPl7Pwh91MymZSQbSaTQSQSEQ4TziHL5/NYWVnRhUwLhYJsgiTIM4Zv6Q3SC2EaQx0VBUDYl3mfGBpmnR0Bznug5sWthoCthZ4bU947xSCL9ik7xSDxMAqDnFl4qRjk87JTDHIjNGJQ/ZkYpLIiBvl7u90em9fniSpqp/hWupD3VO3Q3E0cqsPBR+GQ5R2MVjgcDsFhsVgUY2wrHKrfqeKQ2FNxyOvjxj4Kh9xgVRzyeoF1HJbL5YtfpCeAqN2RKj+ZUYyOnVobWavVdDQoxs8ZP0Mx04eatk6CGwgEEI1GMTk5iUQiIRHcdDqNcDgsdC3NZhP1eh2FQkEmZczNzWFubk6mYwwGAx0Oea7EIc+DdZDA+h6s4pBsDJqmiTE2Codq1A/AyLFpZnLFjbPBYIBisTiy9VZt/bbZbMIJpqYqmdclkzG7nNihQQufx2c9FukuVF4mhh1nZmakAJas1b1eD2tra4hGo1hbW5MOpBMnTqBcLqPRaGzis0qlUuJdqmzGjUYDvV4PDocDiUQC2WwW/f762ByOTlEVV6/Xk24STdNQrValYFGdc8bcfjgcHtnKbMm6sCV8MBigVCrtGIMkxAR2jkHKowWD8XgcuVxOlJcZBkm0aIZBlUrEiEEycVtiLrzn2+EQgA6H5ATbLRxy8+JxtsNhNptFOBzW4fDBBx9EqVQyxWEymZRNlBQbrG2j4WWGQ250fr9/xzhkpM7C4fai4pBdlsSaihc1AGC322VdxsGh3W6XZhMzjNvtdt1xPB6P4HB2dhZ+vx+hUAiJREIiveVyGYFAAGtra1hZWcHZs2fxwAMPSJSKRjz1WDweh8vlEgoM/mPTiMPhQCwWQy6Xk9pfMxxyT47FYvIcjtqT2UWtaRpyudxY63FFjTN20pC7hMYauyMikYhY0bxpLIy22+1oNBqygTAnzlAsF5c5ZB6D4U+mjjRNk7TWwYMHkUqlkE6nkUwmpQg2EAhIV0mj0cC9994rBYYnT57EhQsX4HA4kEqlRAHYbOsjfmhEcoAqixqpkGh99/vr5LjValUKWZvNJqLRqIA4nU7L33g81pxRAdGyT6VSFs/ZNkLW8p1i0O/3C+4uBYPD4XDHGOQ4kYvBIHGyFQa52e0WBiORyNi8Pk9UYScuh3c/WnCYyWSQTCYRj8cRiURMcXjPPfcIDh966CFTHNrtdgQCAdl0iRUeT8UhI9hmOGSBNjA+Dp1OJ5LJJKLRqIXDbYRry1o/No0w3ex2u3Xj2pje8/l8gr1msymRWXZUcm9jc4aKQxbVqzgEIDVkhw4dwsTEBJLJpKwjaVeYwqzVapifn0c2m0Uul8Pp06exsLAAp9OJeDyObDYLAPLMsNFF1Yd+v1+MM+KQxmmtVtNhTcVXKpWC3W6X55cp2U6nI8YYcRiPx4X+ZRy5osYZC4/pQdHi5OR5dbFpudbrdak5YPhRbbflzaW3yFQgwcN6GTWsyjAnO+Hi8biMD+EDPT8/r7PMmTvP5XJCjKiGbTVNQ6PRgN/vl+JKhl+Hw6GuRZx0JOzwIGjpdRLcbBNX899qioLpJzVNZsloURtSdoJB1lGoKUEjBgE8KjDYbDaFHZsYZBh+FAYdDseuYtAiod1aqPwfLTh0uVw6HPr9fsGhpmmCw9XVVZw5c0ZwmM1mdaNuKOxIv1QcMrW5Exyy4QCwcLidkFOOOCS1i2qIsQlALXcgRQZxyOJ4svGrRLWccEFnj2tshkO3241MJiOjl9gtTC47dv+urq7i7Nmz0hCVz+cRCAR0YxB5fsQhsUcc0jHhefD8iTU6NCxBoD5kwIg4NEYDmYFQOzYvCwntbgvrCgDoZqhRGMJWxyixtoLddQx9l8tlqbFiCJGEeGpdjLFGhpui2+1GKpVCJpNBNBoVD5KW87lz5/Dwww/j3LlzWF5e1l3Hvn37dMqS58CFpfKhcqC3QCB4vV6J5jkcDt1GyPtAcHCINa9FLazk8elRkO/HktHCTQ24eAwyVP9IYPD06dM4f/78Jgzu3bsXDodDMKjWIRoxyE2OSsLhcJhikC30vA8Xg8HBYGAxs48hg8FA1uNScOh2u1GpVC4Jh4x6Eods2mLq5uzZszhz5oypLty7dy9sNptu9iuvT8UhNy0jDpl6tXB4ZWQwGMi+QSdBFdbnMtBgs9mkzkzdk91uN6rVqq4OizgkpRVruIw45DpSH6bTaYm2MVVeq9Xw8MMP48yZM5ibm8PCwoLuPGdmZnSGJI9LHLJujHgkbQv3ZOKQ7zfDITNi6oxwFYfAhiHGyBoDUuPIFScgUsdsqNLr9VCr1WCz2UxnxTFsSO+IIzwGg/VZWyoHFHPLbrdbRoWwS8nv9wvbdSQSkcXvdDq4++67sbi4iFOnTqFer6Ner6PVaiGZTOo8goWFBeFsS6VSsoCVSkUKCePxOGq1migWj8cjzMKrq6virXBRafmzroPsxpVKRa6R433oCaiz5ggGS7aXS8UgoxLbYZD8UXwPCQ/NMEglOC4GFxcXLwmDa2trUgc0DgZVL3QrDLK13JKtxWaz7QoOe73ejnCobjI+n09wyPSLGQ6r1apMMdgKh8lkUnDIFCXreer1+kgcjqsLWatpxCFTUCwop4Fm4XB7UXFobCwhtZDdbpcUnyqdTkcM5m63K5NHhsOhdPTScNlKHxKHpA6iMdNut3H8+HEsLy/j1KlTKBaLEi2Lx+O6ZpqVlRXh3YvH44JDUss4nevjlohDOkeMxmazWV19rqZpgsNcLiepzcXFRUkBt1otSZGyPIH6kN2vTL2PI1fUOKM3ZuxsADY8LdXKVK1SteVc0zTxpFg/4/P5JLVCD4B1YxSXy4VoNIpoNKqrZWu1WvjBD36AhYUFlMtlMYi4eTUaDeFU4Wf4u/o+8p7Qa1VrSQhQcsjwOpmbZ/FiIBCQSBpr1njPmE5QeWjohfAeWjJaWNhpjFJSriQGm83mJgxybR0OhxRVj8Iglco4GAQghI30ZMfBID3O7TBojc3ZWh5pHALYFodqDdGPfvQjzM3NoVKpSKG42lRC3FEvcVNT8ep2r89opOO7lS4cF4fq/sHibB6D91PFoTUxZWsJBAKbcKjuIUzpEYdcFzXSxTpHrq1qnPl8PqGoYIrciEOn0ymjEVlTCawbVcePH8fc3BxKpRIqlYpEV6kPOaUC2IgCm+GQzkSn05GUP9+j6kNGd1W+t+FwqNNzjCwb9aHxfQCkpOmyjG/abWG4kN0MgF4psQYBgCgdPvxqyzVvAEPeRiGRo/FvXq9X/jFdQG6h++67D9lsVj7DnDKtaP4M6FuQ1WvgZ8i/QkI6XgfPX8178zrUYmCGgflQMBVKokh+xnjvLNla2DXEze9yYpAR2UvFoFovsRUGNU2TFMM4GORxLwcGLSdha7lcODSj5KAuNEbnVAyqOKxUKrj33nuxtra2SRcSb9zg1LQRhZu3GQ7V69gNXahiUL0+ns8oihJL1oX1ikYc8vnlOlLnUMeoTgLXSjXQeN/Veljy6BlxSPzR0CKXYrVaxf3334/V1VXp9GQ5BvHC81NLiijEE9PerAFjCpc4VLtNeVy1MYI4VDMEwAYOOYrKDIeUcfXhFTXO1AdNzenS+/H7/UJ2p3Yfcb4aLVubzYZkMolKpaILtTLEOBwORYl4PB4hI8xkMjpPPxqNYn5+HqdOncLS0hKAjQ4PdRBqLBaTUCjBQ8VE/ikS2HHSfbVaxcTEhBTrapomRbZUWAQBIyIEgTFF5XK54PP54PV65X/1uukljNsV8kQVpohYjzIKgywqvlQMAnjcYpAGBkXFoNUlt7WoOGTtn1rfwpTd5cRhOp2WTdXpdCIcDmNhYQGnT5/G4uIigA0cMsIyGAwQjUZ1+OU5qrgchUNiayscklHeiMNqtSrRYhqVqi5UN2s1imzJaOFaGXFII4VpY3VPVo2vXq8nBprNZkMikUC1WhUcssacXZzAZhwmk0ld9C4YDOLChQt4+OGHceHCBQDruoXPBDHLbmYVh2o9G58T4nA4XGdGSKfTcj2apgnbv3p91IcqDmn4MV1P45QTN8z0IevqHhPdmuFwGHa7XTeWg4tGYkMW7qmdOMBGnRA9vnw+r4tKqGzY7AYhsZzP5wMAZLNZ+P1+FItFAVQul5MW8HA4vKn4lgqBFrjT6ZScOY1Abli9Xk9y2sD6gGOS6qkz37rdro5ThQtPz5KeLMPG9BiCwaB0xPj9fomotNtt084RS/QyHA4RDodhs9keUQwOBoNHDIOsEzFikPPzeLxut4t8Po/hcL2DaTcxaJEhby2PBhzmcjn4/X6Uy2WcP39+Ew65aQEQEk1urNxsSFzLzdWIw0ajIR1rZjgEoMMhdaGmaWPhkIYdC7R57YzwWTjcWmicGHHI6KeKQyMGAehGO3m9XhQKBXF42SRis9l0Bg6bCIjDQqEg+pAOQC6Xw9raGgBILSQbEYDNOOQeq0aveE6DwUCoW4B148pMH/b7fRQKhU36ENiYbOR2u5FIJHQ4JB0Jqbpo2LJxAIA8A9vJFTXOmC82irrw6ggFhlv5sBIkxiJalfyQVj0tX95I/o0ppE6ng3Q6jXq9rjOc1BoQWs78nN2+zvFCq5vdGmbXw+9mCoBtyPw7lS7z1wy7soZIvWf8HoZc+T9fJwuxFTnbWlQDxyhq2ma3Mch0I/82LgYZTdkJBmmg83q2wiAjDReDQSpSIwYt+oLthbgwkyuFw1QqNZYuJNWF3W7ftMEZcUh8jsKhaniqlCLj4lBN5/K93W4X9XpdNn9LRguj3dyPjKlhsz15OBxKpoFRNr7O13hsIw4ZTSIOudZsgOl2u4hEImPrQ9bEMTDC99M4VMs+WBLAzxDPfB620od0QHk/iENG2lQsUj+SFoeccGOtx8Uv5aULFzEcDsuAaQC6AaYqazUAKXQlVQQ7wlj4DEBSLkzfsMjUbrejUqkITxC7KZg/Pnr0qK42jUqH72XYnAzYbDmvVqvijbJdneFeLjqBQaUaDAZFITPUytfb7TYqlQoajQaSyaQoQBbF8vrVh0cd7cQxFlYYf2tRC4eNGGRK79GEQRpixGCz2YTTuU6yyagbC15HYRDA2BisVquo1+tIJpNyTkxvmGGQTQoseuWmaDkJWwvv52AwuCw4ZEqU3rsZDtV6sOFwiCNHjui4mVSeK0YJvF4vyuWy4DCVSsl5M60zDg4DgYBseLuBQ5KJEoeNRsPC4Rii6sNQKIR6vS54o0Fvt69PNFHr98LhsETLVUJlRjf5eerDdruNQCAgjR/cP4ktGjLD4RD79u3TjRWjMUUsEoeVSkVYGRKJhBhkKg5ZD8w0pOpscG+lkUgc2mw2eX5qtRoajYZEy4gx4tAYmVXJ5dvttnRzjlsPfsV5zsxC0VwgKhguZLfblcJPACgWi5LnVTnGWq2WWNShUAi1Wg2dTkfqMsjb43a7sba2Bk1b52g5ffq0DEcFNrw/Hpt1PQ6HQ4b+lkolYfbmjWd3nKZpiEajkgNvNpuiWBjeZa6axhe7jsLhMDKZjHRMqeBhi/C5c+cQiUQQDAaRzWblvlARsfvPEnNhITFrLS4Gg6VSSfD0SGMwk8nA6XSiXC4LBrn2KgYjkYikEriRjYPBUCiEdDq9CYM2m01C+KMwyJB+MBi0omfbiM/nk5SfikNuQlwPYGscsjnAiEM6bqNwSCyqOHz44Yc34VDTNPldjbDsBg5Zo8Zz2QkO/X4/zp8/LzjM5XLynFg4HF9Y0M66QVUfEodGfdjr9YRxH9isDxmUUPVhOByWCC0NNOKQVBXAepCG3ZlGHBLjdF4dDodMjWCdmxGHNJ5YKkIcMsLH8+AeS33ITABpipiiVcsRWPM4Pz+PcDgsOGSEjRQvgUDgscFzRk/QbrdLmz8fTIbAVcZxRquYx2VaigDie91utyg7goat1Mw7k6dFtWLZecYUZKfTgdO5PmGeDzsXUA3nqyFT9XtdLpd8h0ooyhCpGt5stVoSGeH10cpX8/aMTPAhUPPbvA8EoeUpbi2FQkEKPy8Wg6pHCTw6MUiMsFaHof2LxSCZw8fFoBXB3VrGwSHv+1Y4ZE0asIFDj8ej43ICNuOQDQk7xSGPz818N3BI53ZcHPb7fRSLRR0OGQ2k8w9YOBxHSqWSrJfNZhNM8Hk36sPBYCAZGnVPVmvSjPqQBg8AWUvinBE3Gv40ggDIWhOHxJ36PVxrNUWuaZoYnGqnpeoMEIeM8PL3drutM6wACA5ZPsDvHgzW55Hy+OVyWTePk8/HTnBo3/4tl0/Utl0uPvO3NGhovTM8qobUmSNXox0kQGTKVC2M5fH7/b7M5FKVCW88rWCGJKkk+D4Cg8Dh93PDJQDZAUgQcRNnTpq5aHrMVFLkXSEvkJq/5n0rl8syXLZarcLlciEQCOjm7Vl0GlsLowiXC4M85pXCIAuyzTBITO0Eg6qHuRUGaaSpKTBLRsvlxCFThFxniorDdrttikMaXyoO+V08BiOul4pDpivVTsDtdCFr16rVqikO1ZmPFg63F0acuPZq1yTXgsXzRhyy4J4Y5D6nZnr4GRr3wMawdb7eaDR0hhUdFrWgn/qQRhwAcVZpUKnHH2dPVvUhU5aqocq0u5oiVfWhEYf1el2eWU5lATaaF8aRK15z5nK5kE6nJWUHrHs5fEidTqeQwPIzKuEg05q8oVyIQCAg7bnkBxoOhxIeBdYXlAR4pDFgnrjdbiOVSon16/V6UavVUKvVsG/fPt04Bm7AjUZDcu7D4RCpVEqUCrDujZLhfXJyEsPhUBQR60c4F4wLTsZvYL3DSX1AYrGYvK/ZbCKRSIiXw7CuJaOF3p7DsT6ombUvAERhXAoG/X7/JgyqqSFgfAzabOut6fV6fUcYTCaTF4VBdt1dLAYBCAFqMpl8BFbzsStmOFR1ISNTTqdTWPGB8XDY7/cvCYf8p+LQ6/XuKg6npqZkEx0MBjvGIRnlVRzGYjEds7yFw+2FUSSHw4FEIqEzKqgPSWSs1qPxvrPemkPLaWzzs6TGYqQX2JhBrdYqMh3qdDp1A+1brZbgEADi8bjgcHZ2VurZGP0iDtlBqWkaEomEnCewjsNGo4Fmsyk4VD+naRoKhcKmPZklQ5VKRaYO+Hw+RCIRSdMTh9SH3W4XXq8XiURirPV4VNScscWW1rbKaM0HlpYz28bZKcSOTzWkT6+LxYC9Xg+hUAg+n09qIICNugmGGtXwJ6101onF43EJX66srEjHks/nE2JPnqfdbhdPmJt9s9kUq5kPAL0Mho/VkCdTCgznquFfWvBUhgy9kmqBHodaPGzJZmHamRuD6vE9khhUu9ZUDJJRexQGiZFRGFTD98DOMcgwPLuaxsFgpVLReb38uyWjhez53FxUHFIPMbKwExxyMwGgw2E4HIbX6zXFIdd7FA673S4SiYR0Q6o49Hq9Qi5LHWrUhaw/UnGoNrxwCLwZDkfpQjoXKg5rtRrq9bqFwx0IU8+kxgE2aryod2i8DAbr446SyaTgyIhDpjRprFAf0tkIhUL/X3tn95TEG8XxA6S8LLAIUZEy3XWhNf7//0IzXnVZXZgkarIghBIv8rtgPseziIqVQfM735kuahLW3c+e5zzn7dG5dDYKZ7snYY5omeUQx+f6+lrrJYmQ2iHHRFCtPcSJJ+U6zyHpVcshDSvWHvKzcGi7pXO5nEakRSQW+V1Ga1GUxMtqW1Rpg+Ym8DIzgZcHTfvrfJ0BKQLau7np2Ww2NmGYzxYR9eqTyWTMs8fYkFYk7y1yMybDpq8Ak58HatsebkHgcwkdE4K1xbLAba+JHYDtkONzrq6ubk2jd8XFcxdZTwZt+uguBjF+GBxefMsa/FgG+f2XYdA6eg8xSOF6IpHQCKLrfuHMiizHIdw9lkPmK7IRnh94uwyHIvEJ55ZD/q+t27GjCFicfpXDx9hC5/Dx4tlz/3gG9t7jmFl7aNcd5o1Z50wkXsKE/bPp5kX2EIdq0ZrMddpSH5wprpvr5HOxhzhI1tni+m1pAOlROOSzSM/Oc2jTnnwXTm4qldLGM675Ia38+CY60eYLD2k9FbmZv4J3DSiVSkUNGyFY+7KSNg3DUH7+/CkXFxexVKPNU49GIw3HklIAtGQyqQcIk65iIaSYFueM0CVtyexuAQcDBtgAax+0TRGwWyCsS3h1MplouLVQKGjnqsgsQkL7uetu8aJNJpOVMwhbdHD+KQa5jrsY5Pf9Ewy2222NhlgGPWJxvxZxiHG/i0ObUvodDolqPTWHNm35JzhkHIOILG0LncP7xf2n/AeHCI4YCyQiMRb4mclkounlRRxSa0a6kmOZbKqRCB3TDUjV47TZ2ZSkO0mZsimwp1SQ/eBkAhzP8XisHPK+WftPrSPvmd0c4YjhO1DnTVMAp7nYUTVw+JjzXVfqnNVqNRGZFcTWajUt8iP8zYuIp2m7NMjztlotabVaMp3O5t7QKUI6gAfDEEImH3PzaQnG2GDIMJQ8jEwmo8bLHtRarVZvzdkhaoYRY7dQqVSk1WrJycmJbG1txXa0TDvOZDKx4YtRFEkYhjq5GSNJaBWwdnZ2NNxLEeX79+/l4ODg6R/kP6pyuayNI3cxSN2ZZZB7jwGLougWgyLyKAbtwviUDJbLZYmi6K8xuL+/L/v7+0//MP9hPcQhESfLIQvJeDzWVGCr1ZIoipbikFoaW3S/DIfUFJFmXZZDRnokErO5UZbDUqmkDpnlEAfRclgsFm9xSLQOJre3t6Xf72s60zlcTqVSSZ2pHz9+SLVajTX3sCYTRRK5KXCngziVSkmn09GDyYMgUA4JRoxGIx23IXJjD3HM7ZmaNkJFStOmzXG+7PiYarWq/w/Z7BIND5lMRra2tuTi4kLOzs4kDEP9LlsmRFSad7DdbkuhUND7Rdc00W42HS9evIhtLmq1muzt7cm7d++Weh4rrzmj9ZYdGrtzQp42XWOHsYqIPuRSqSTdbjfWGYEhERHdAdoaDJHZQlssFtXQAJHIDSjMC6MraTAYyOXlpT4UhsQC0XA4lGw2q0ePEE6nfZwhonS2cF39fl/n8bx8+VJ3DhxNwswWjHIul5Pz83PNiXMmYxRF2jrv3Zr36+rqSrLZrI4h+BUGx+PxnQzasPu6MGg7iB5ikPvwuwxaw+m6rV/h0NZRwVQ6nZZSqSS9Xu+WLeTPn+AQp3Cew0qlohELyyELPN8HL/McElUhGmM5HAwG2gW9iMNWq6V/D8NQjo6OlEM2EDh9rsVi/h1OLhxaBwnHw9ZP4ZDDyebmpg5T5tzdRRzyeTYKnEqlJJ/PKz9EyWz6kFQoHMKiyIwtzh223eicd2k5xLEsFAo6nBkOU6mbkS75fF4qlYp2tNN9atnd3NzUocxsVoMgkGazKd1uV8eIbGxsLB09W4lzZusrAIBFj+n2LCKFQkFztUQrUqmU7vKCIJAwDEVkNlyOHSNnd5FmAR7bQZRMzgYoAkK1WhWRm7MLmXi8vb2t+W92rzwUAKKd/OzsTEOx5XI5VkTZ7XYlDEM9fBoI6KpMp9MShqHs7u7qrvT58+dq/DiLNJvNShAE8uXLF528HASBHBwcSKPRkOPjY+l0OmqMls1x/9/Ubrd1t05ofjAYSL/fl16vp4bfnh9pIxX8exAEUi6XJZlMSqlU0t0iDGYyGXXmiByw+0wkEvLq1asYgxgty2C9XlcGiSazQFkGLy8v5fT0VIvGFzE4GAykXq/HGCSqxwK/t7eng06r1aqmOMIw1N+pUCjIp0+f9F3N5/Py4cMH+fr1qzQaDR1KygHursWyHBLFgkNrC4vFYozDRbawXC5Ls9mMcYiTTBQK7rCFLHgcfj4ajdQWstAMh0MJgkB2dnZERDRtCYfUJVoOv3//rosWUdp5Dt+8eRObm8b5g3C4u7urG1XejY2NDY1aZLNZyefz8vnzZ+0gxhYeHh7Kt2/fJIoiGQ6H0mw2V/aM/wWxPrFhm06n+iyZq8fwaZwiGzHDrtHFfXp6KmEY6higRRwStceZevbsmR5+PhqNNF1vmwlyuZzUajXtVmbzySaAzubxeDau6Pz8XCN1RGnhsNfrKcu2PoyNTTqdlmKxKG/fvtV3j2uyazL35fDwUJtjMpmMfPz4URqNhpycnEin05HxeKznhD6kxHQFK3ej0ZB6vf63v/Z/q6OjIzWqLpfL5XK51lsrcc6ur6/l+PhYawdcT6PpdCq9Xk9ev34d60x0uVwul8u1vlqJc+ZyuVwul8vlWiwPp7hcLpfL5XKtkdw5c7lcLpfL5VojuXPmcrlcLpfLtUZy58zlcrlcLpdrjeTOmcvlcrlcLtcayZ0zl8vlcrlcrjWSO2cul8vlcrlca6T/AMCp01MrbOGVAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "noise = torch.randn((1, 1, 64, 64))\n", + "noise = noise.to(device)\n", + "image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=ddpm_scheduler)\n", + "plt.figure(figsize=(8, 4))\n", + "plt.subplot(3, len(sampling_steps), 1)\n", + "plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + "plt.tick_params(top=False, bottom=False, left=False, right=False, labelleft=False, labelbottom=False)\n", + "plt.ylabel(\"DDPM\")\n", + "plt.title(\"1000 steps\")\n", + "# DDIM\n", + "for idx, reduced_sampling_steps in enumerate(sampling_steps):\n", + " ddim_scheduler.set_timesteps(reduced_sampling_steps)\n", + " image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=ddim_scheduler)\n", + " plt.subplot(3, len(sampling_steps), len(sampling_steps) + idx + 1)\n", + " plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + " plt.ylabel(\"DDIM\")\n", + " if idx == 0:\n", + " plt.tick_params(top=False, bottom=False, left=False, right=False, labelleft=False, labelbottom=False)\n", + " else:\n", + " plt.axis(\"off\")\n", + " plt.title(f\"{reduced_sampling_steps} steps\")\n", + "# PNDM\n", + "for idx, reduced_sampling_steps in enumerate(sampling_steps):\n", + " pndm_scheduler.set_timesteps(reduced_sampling_steps)\n", + " image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=pndm_scheduler)\n", + " plt.subplot(3, len(sampling_steps), len(sampling_steps) * 2 + idx + 1)\n", + " plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + " plt.ylabel(\"PNDM\")\n", + " if idx == 0:\n", + " plt.tick_params(top=False, bottom=False, left=False, right=False, labelleft=False, labelbottom=False)\n", + " else:\n", + " plt.axis(\"off\")\n", + " plt.title(f\"{reduced_sampling_steps} steps\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "063331ff-f4d1-4780-a103-d1b1829af35c", + "metadata": {}, + "source": [ + "### Cleanup data directory\n", + "Remove directory if a temporary was used" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "78058049-f92b-42b8-96f2-1eafca11a384", + "metadata": {}, + "outputs": [], + "source": [ + "if directory is None:\n", + " shutil.rmtree(root_dir)" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:percent" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/generation/2d_ddpm/2d_ddpm_inpainting.ipynb b/generation/2d_ddpm/2d_ddpm_inpainting.ipynb new file mode 100644 index 000000000..1b2349876 --- /dev/null +++ b/generation/2d_ddpm/2d_ddpm_inpainting.ipynb @@ -0,0 +1,749 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9d71306f", + "metadata": {}, + "source": [ + "Copyright (c) MONAI Consortium \n", + "Licensed under the Apache License, Version 2.0 (the \"License\"); \n", + "you may not use this file except in compliance with the License. \n", + "You may obtain a copy of the License at \n", + "    http://www.apache.org/licenses/LICENSE-2.0 \n", + "Unless required by applicable law or agreed to in writing, software \n", + "distributed under the License is distributed on an \"AS IS\" BASIS, \n", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \n", + "See the License for the specific language governing permissions and \n", + "limitations under the License.\n", + "\n", + "# Inpainting with Denoising Diffusion Probabilistic Models\n", + "\n", + "This tutorial illustrates how to use MONAI for training a denoising diffusion probabilistic model (DDPM)[1] to inpaint 2D images.\n", + "\n", + "[1] - Ho et al. \"Denoising Diffusion Probabilistic Models\" https://arxiv.org/abs/2006.11239\n", + "\n", + "[2] - Lugmayr et al. \"RePaint: Inpainting using Denoising Diffusion Probabilistic Models\" https://arxiv.org/abs/2201.09865\n", + "\n", + "\n", + "## Setup environment" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6aa3774e", + "metadata": {}, + "outputs": [], + "source": [ + "!python -c \"import monai\" || pip install -q \"monai-weekly[tqdm]\"\n", + "!python -c \"import matplotlib\" || pip install -q matplotlib\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "id": "f3154fee", + "metadata": {}, + "source": [ + "## Setup imports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "dd62a552", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MONAI version: 1.4.0rc6\n", + "Numpy version: 1.26.4\n", + "Pytorch version: 2.3.1+cu121\n", + "MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n", + "MONAI rev id: 6a0e1b043ba2890e1463fa49df76f66e56a68b08\n", + "MONAI __file__: /home//miniconda3/envs/monai/lib/python3.11/site-packages/monai/__init__.py\n", + "\n", + "Optional dependencies:\n", + "Pytorch Ignite version: 0.4.11\n", + "ITK version: 5.4.0\n", + "Nibabel version: 5.2.1\n", + "scikit-image version: 0.23.2\n", + "scipy version: 1.13.1\n", + "Pillow version: 10.3.0\n", + "Tensorboard version: 2.17.0\n", + "gdown version: 5.2.0\n", + "TorchVision version: 0.18.1+cu121\n", + "tqdm version: 4.66.4\n", + "lmdb version: 1.4.1\n", + "psutil version: 5.9.0\n", + "pandas version: 2.2.2\n", + "einops version: 0.8.0\n", + "transformers version: NOT INSTALLED or UNKNOWN VERSION.\n", + "mlflow version: 2.14.0\n", + "pynrrd version: 1.0.0\n", + "clearml version: 1.16.2rc0\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" + ] + } + ], + "source": [ + "import os\n", + "import shutil\n", + "import tempfile\n", + "import time\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import torch\n", + "import torch.nn.functional as F\n", + "from torch.amp import GradScaler, autocast\n", + "from tqdm import tqdm\n", + "from monai import transforms\n", + "from monai.apps import MedNISTDataset\n", + "from monai.config import print_config\n", + "from monai.data import CacheDataset, DataLoader\n", + "from monai.utils import first, set_determinism\n", + "from monai.inferers import DiffusionInferer\n", + "from monai.networks.nets import DiffusionModelUNet\n", + "from monai.networks.schedulers import DDPMScheduler\n", + "\n", + "print_config()" + ] + }, + { + "cell_type": "markdown", + "id": "be99fa93", + "metadata": {}, + "source": [ + "## Setup data directory\n", + "\n", + "You can specify a directory with the MONAI_DATA_DIRECTORY environment variable.\n", + "\n", + "This allows you to save results and reuse downloads.\n", + "\n", + "If not specified a temporary directory will be used." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8fc58c80", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/tmp/tmpygu3k1f8\n" + ] + } + ], + "source": [ + "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n", + "root_dir = tempfile.mkdtemp() if directory is None else directory\n", + "print(root_dir)" + ] + }, + { + "cell_type": "markdown", + "id": "a36b12f0", + "metadata": {}, + "source": [ + "## Set deterministic training for reproducibility" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ad5a1948", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "set_determinism(42)" + ] + }, + { + "cell_type": "markdown", + "id": "b41e37b3", + "metadata": {}, + "source": [ + "## Setup MedNIST Dataset and training and validation dataloaders\n", + "In this tutorial, we will train our models on the MedNIST dataset available on MONAI\n", + "(https://docs.monai.io/en/stable/apps.html#monai.apps.MedNISTDataset). In order to train faster, we will select just\n", + "one of the available classes (\"Hand\"), resulting in a training set with 7999 2D images." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "65e1c200", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-09-02 17:24:04,809 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n", + "2024-09-02 17:24:04,811 - INFO - File exists: /tmp/tmpygu3k1f8/MedNIST.tar.gz, skipped downloading.\n", + "2024-09-02 17:24:04,812 - INFO - Non-empty folder exists in /tmp/tmpygu3k1f8/MedNIST, skipped extracting.\n" + ] + } + ], + "source": [ + "train_data = MedNISTDataset(root_dir=root_dir, section=\"training\", download=True, progress=False, seed=0)\n", + "train_datalist = [{\"image\": item[\"image\"]} for item in train_data.data if item[\"class_name\"] == \"Hand\"]\n", + "batch_size = 64\n", + "num_workers = 4" + ] + }, + { + "cell_type": "markdown", + "id": "5d503ec9", + "metadata": {}, + "source": [ + "Here we use transforms to augment the training dataset:\n", + "\n", + "1. `LoadImaged` loads the hands images from files.\n", + "1. `EnsureChannelFirstd` ensures the original data to construct \"channel first\" shape.\n", + "1. `ScaleIntensityRanged` extracts intensity range [0, 255] and scales to [0, 1].\n", + "1. `RandAffined` efficiently performs rotate, scale, shear, translate, etc. together based on PyTorch affine transform." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e2f9bebd", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading dataset: 0%| | 0/7999 [00:00" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "check_data = first(train_loader)\n", + "print(f\"batch shape: {check_data['image'].shape}\")\n", + "image_visualisation = torch.cat(\n", + " [check_data[\"image\"][0, 0], check_data[\"image\"][1, 0], check_data[\"image\"][2, 0], check_data[\"image\"][3, 0]], dim=1\n", + ")\n", + "plt.figure(\"training images\", (12, 6))\n", + "plt.imshow(image_visualisation, vmin=0, vmax=1, cmap=\"gray\")\n", + "plt.axis(\"off\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "d3090350", + "metadata": {}, + "source": [ + "### Define network, scheduler, optimizer, and inferer\n", + "At this step, we instantiate the MONAI components to create a DDPM, the UNET, the noise scheduler, and the inferer used for training and sampling. We are using\n", + "the original DDPM scheduler containing 1000 timesteps in its Markov chain, and a 2D UNET with attention mechanisms\n", + "in the 2nd and 3rd levels, each with 1 attention head." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "2c52e4f4", + "metadata": { + "lines_to_next_cell": 0, + "tags": [] + }, + "outputs": [], + "source": [ + "device = torch.device(\"cuda\")\n", + "num_train_timesteps = 1000\n", + "\n", + "model = DiffusionModelUNet(\n", + " spatial_dims=2,\n", + " in_channels=1,\n", + " out_channels=1,\n", + " channels=(128, 256, 256),\n", + " attention_levels=(False, True, True),\n", + " num_res_blocks=1,\n", + " num_head_channels=256,\n", + ")\n", + "model.to(device)\n", + "\n", + "scheduler = DDPMScheduler(num_train_timesteps=num_train_timesteps)\n", + "\n", + "optimizer = torch.optim.Adam(params=model.parameters(), lr=2.5e-5)\n", + "\n", + "inferer = DiffusionInferer(scheduler)" + ] + }, + { + "cell_type": "markdown", + "id": "5a316067", + "metadata": {}, + "source": [ + "### Model training\n", + "Here, we are training our model for 50 epochs (training time: ~33 minutes).\n", + "\n", + "If you would like to skip the training and use a pre-trained model instead, set `use_pretrained=True`. This model was trained using the code in `tutorials/generative/distributed_training/ddpm_training_ddp.py` of [GenerateModels](https://github.com/Project-MONAI/GenerativeModels)." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "0f697a13", + "metadata": { + "lines_to_next_cell": 0, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 0: 100%|████████████| 63/63 [00:30<00:00, 2.04it/s, loss=0.739]\n", + "Epoch 1: 100%|████████████| 63/63 [00:30<00:00, 2.08it/s, loss=0.287]\n", + "Epoch 2: 100%|███████████| 63/63 [00:30<00:00, 2.07it/s, loss=0.0931]\n", + "Epoch 3: 100%|███████████| 63/63 [00:30<00:00, 2.08it/s, loss=0.0356]\n", + "Epoch 4: 100%|████████████| 63/63 [00:30<00:00, 2.09it/s, loss=0.021]\n", + "...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 45: 100%|█████████| 63/63 [00:30<00:00, 2.04it/s, loss=0.00993]\n", + "Epoch 46: 100%|█████████| 63/63 [00:30<00:00, 2.03it/s, loss=0.00991]\n", + "Epoch 47: 100%|█████████| 63/63 [00:30<00:00, 2.04it/s, loss=0.00917]\n", + "Epoch 48: 100%|█████████| 63/63 [00:30<00:00, 2.05it/s, loss=0.00966]\n", + "Epoch 49: 100%|█████████| 63/63 [00:30<00:00, 2.05it/s, loss=0.00987]\n", + "100%|██████████| 1000/1000 [00:11<00:00, 84.10it/s]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "train completed, total time: 1671.551263332367.\n" + ] + } + ], + "source": [ + "use_pretrained = False\n", + "\n", + "if use_pretrained:\n", + " model = torch.hub.load(\"marksgraham/pretrained_generative_models:v0.2\", model=\"ddpm_2d\", verbose=True).to(device)\n", + "else:\n", + " max_epochs = 50\n", + " val_interval = 5\n", + " epoch_loss_list = []\n", + " val_epoch_loss_list = []\n", + "\n", + " scaler = GradScaler()\n", + " total_start = time.time()\n", + " for epoch in range(max_epochs):\n", + " model.train()\n", + " epoch_loss = 0\n", + " progress_bar = tqdm(enumerate(train_loader), total=len(train_loader), ncols=70)\n", + " progress_bar.set_description(f\"Epoch {epoch}\")\n", + " for step, batch in progress_bar:\n", + " images = batch[\"image\"].to(device)\n", + " optimizer.zero_grad(set_to_none=True)\n", + "\n", + " with autocast(device_type=\"cuda\", enabled=True):\n", + " # Generate random noise\n", + " noise = torch.randn_like(images).to(device)\n", + "\n", + " # Create timesteps\n", + " timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=images.device).long()\n", + "\n", + " # Get model prediction\n", + " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n", + "\n", + " loss = F.mse_loss(noise_pred.float(), noise.float())\n", + "\n", + " scaler.scale(loss).backward()\n", + " scaler.step(optimizer)\n", + " scaler.update()\n", + "\n", + " epoch_loss += loss.item()\n", + "\n", + " progress_bar.set_postfix({\"loss\": epoch_loss / (step + 1)})\n", + " epoch_loss_list.append(epoch_loss / (step + 1))\n", + "\n", + " if (epoch + 1) % val_interval == 0:\n", + " model.eval()\n", + " val_epoch_loss = 0\n", + " for step, batch in enumerate(val_loader):\n", + " images = batch[\"image\"].to(device)\n", + " with torch.no_grad(), autocast(device_type=\"cuda\", enabled=True):\n", + " noise = torch.randn_like(images).to(device)\n", + " timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=images.device).long()\n", + " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n", + " val_loss = F.mse_loss(noise_pred.float(), noise.float())\n", + "\n", + " val_epoch_loss += val_loss.item()\n", + " progress_bar.set_postfix({\"val_loss\": val_epoch_loss / (step + 1)})\n", + " val_epoch_loss_list.append(val_epoch_loss / (step + 1))\n", + "\n", + " # Sampling image during training\n", + " noise = torch.randn((1, 1, 64, 64))\n", + " noise = noise.to(device)\n", + " scheduler.set_timesteps(num_inference_steps=1000)\n", + " with autocast(device_type=\"cuda\", enabled=True):\n", + " image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=scheduler)\n", + "\n", + " plt.figure(figsize=(2, 2))\n", + " plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + " plt.tight_layout()\n", + " plt.axis(\"off\")\n", + " plt.show()\n", + "\n", + " total_time = time.time() - total_start\n", + " print(f\"train completed, total time: {total_time}.\")" + ] + }, + { + "cell_type": "markdown", + "id": "057f0d69", + "metadata": {}, + "source": [ + "### Get masked image for inpainting" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2cdcda81", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAC8CAYAAADl2K3eAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB8LklEQVR4nO19ebRlVX3md+d7333v3TdXFRRjsIkoKy24QhAQcexIidoNBgdajDHYidj0inTbGESRIGpjQ4wDHW2cwGZBjJ2WpUbSOLWmV9oWiQyBYqaKqjffd+e5/6j+9vud39vn3HPuu6+qsPa31lv33XP22Weffff59m/avx3r9Xo9ODg4ODg4OByxiB/qBjg4ODg4ODgcWjhhwMHBwcHB4QiHEwYcHBwcHByOcDhhwMHBwcHB4QiHEwYcHBwcHByOcDhhwMHBwcHB4QiHEwYcHBwcHByOcDhhwMHBwcHB4QiHEwYcHBwcHByOcDyvhIGPfOQjiMViA1375S9/GbFYDE8++eRwGyXw5JNPIhaL4ctf/nJguR/84AeIxWL4wQ9+sGVtcXDYSnAM33XXXYe6KQ6HKQ7WGDn++ONx6aWX9i0Xi8XwkY98ZEvb8nzGQREGHnjgAbzjHe/A0UcfjUwmg6OOOgpvf/vb8cADDxyM2zs4/NqBwm0sFsNPfvKTDed7vR6OOeYYxGIx7Nq16xC00OFQwo0Ph6jYcmHgm9/8Jk477TT83d/9Hd71rnfhc5/7HN797nfj3nvvxWmnnYa//uu/Dl3Xn/7pn6JWqw3UjksuuQS1Wg3HHXfcQNcPEy9/+ctRq9Xw8pe//FA3xeF5jmw2i9tvv33D8R/+8Id49tlnkclkDkGrHA4XuPGxjlqthj/90z891M04bLGlwsBjjz2GSy65BCeeeCLuv/9+XHfddXj3u9+Nj33sY7j//vtx4okn4pJLLsHjjz8eWE+lUgEAJJNJZLPZgdqSSCSQzWYHdjMME/F4HNlsFvH488pL43AY4vWvfz3uvPNOtNttz/Hbb78dp59+OrZv336IWuZwOMCNj3Vks1kkk8lD3YzDFls6G33qU59CtVrFf/kv/wWzs7OeczMzM7jllltQqVTwyU9+0hxnXMCDDz6It73tbZicnMTZZ5/tOSdRq9Xw/ve/HzMzMxgbG8MFF1yAPXv2bPAP2WIGjj/+eOzatQs/+clP8Nu//dvIZrM48cQT8dWvftVzj+XlZXzgAx/AqaeeitHRUYyPj+N3f/d38ctf/nKgfrHFDLziFa/Ai1/8Ytx///0499xzMTIygpNOOsn42374wx/ijDPOQC6Xw8knn4x77rnHU+dTTz2FP/qjP8LJJ5+MXC6H6elpXHTRRdYYCd4jl8th586duO6663DrrbdaYyq+853v4JxzzkE+n8fY2BjOP/985945jPDWt74VS0tL+P73v2+ONZtN3HXXXXjb2962ofx/+k//CS972cswPT2NXC6H008/3erT/f73v4+zzz4bExMTGB0dxcknn4yrrroqsC2NRgO7du1CoVDAT3/6080/nMOmEXV8AAd/jHS7Xdx000140YtehGw2i23btuGyyy7DysqK59per4frrrsOO3fuxMjICM4777xIXKTnBM4njzzyCN7xjnegUChgdnYWV199NXq9Hp555hm88Y1vxPj4OLZv344bb7zRU1+z2cSHP/xhnH766SgUCsjn8zjnnHNw7733brj30tISLrnkEoyPj2NiYgLvfOc78ctf/tIaY/bwww/jwgsvxNTUFLLZLF760pfib/7mb0I/56DYUmHgf/yP/4Hjjz8e55xzjvX8y1/+chx//PG4++67N5y76KKLUK1Wcf311+M973mP7z0uvfRSfOYzn8HrX/96fOITn0Aul8P5558fuo27d+/GhRdeiNe85jW48cYbMTk5iUsvvdQzyB5//HF861vfwq5du/DpT38aV155Jf7xH/8R5557Lvbu3Rv6Xv2wsrKCXbt24YwzzsAnP/lJZDIZXHzxxbjjjjtw8cUX4/Wvfz1uuOEGVCoVXHjhhSiVSubaf/iHf8BPf/pTXHzxxfjzP/9zvPe978Xf/d3f4RWveAWq1aopt2fPHvMS/cf/+B/x7/7dv8Ntt92Gm2++eUN7vva1r+H888/H6OgoPvGJT+Dqq6/Ggw8+iLPPPntLAzEdwuP444/HmWeeiW984xvm2He+8x0Ui0VcfPHFG8rffPPNeMlLXoJrr70W119/PZLJJC666CLPO/jAAw9g165daDQauPbaa3HjjTfiggsuwP/6X//Ltx21Wg1veMMb8NOf/hT33HMPXvaylw33QR0GQtTxARz8MXLZZZfhyiuvxFlnnYWbb74Z73rXu3Dbbbfhda97HVqtlrn+wx/+MK6++mr81m/9Fj71qU/hxBNPxGtf+1pjOR4Uv/d7v4dut4sbbrgBZ5xxBq677jrcdNNNeM1rXoOjjz4an/jEJ3DSSSfhAx/4AH70ox+Z69bW1vDFL34Rr3jFK/CJT3wCH/nIR7CwsIDXve51uO+++0y5breLN7zhDfjGN76Bd77znfizP/szPPfcc3jnO9+5oS0PPPAAfud3fgcPPfQQPvjBD+LGG29EPp/Hm970pkgu9YHQ2yKsrq72APTe+MY3Bpa74IILegB6a2trvV6v17vmmmt6AHpvfetbN5TlOeLnP/95D0Dviiuu8JS79NJLewB611xzjTl266239gD0nnjiCXPsuOOO6wHo/ehHPzLH5ufne5lMpvcnf/In5li9Xu91Oh3PPZ544oleJpPpXXvttZ5jAHq33npr4DPfe++9PQC9e++91xw799xzewB6t99+uzn28MMP9wD04vF47+///u/N8e9973sb7lOtVjfc52c/+1kPQO+rX/2qOXb55Zf3YrFY7xe/+IU5trS01JuamvL0T6lU6k1MTPTe8573eOrct29fr1AobDjucHDB8fwP//APvb/4i7/ojY2NmTFw0UUX9c4777xer3dgjJ9//vnmOj1Oms1m78UvfnHvla98pTn2n//zf+4B6C0sLPjen2P4zjvv7JVKpd65557bm5mZ8Ywrh0OHQcdHr3dwx8iPf/zjHoDebbfd5rn2u9/9ruf4/Px8L51O984///xet9s15a666qoegN473/nOvn2i5wTOJ3/4h39ojrXb7d7OnTt7sVisd8MNN5jjKysrvVwu57lPu93uNRoNzz1WVlZ627Zt6/3+7/++OfZXf/VXPQC9m266yRzrdDq9V77ylRt4/FWvelXv1FNP7dXrdXOs2+32Xvayl/Ve8IIX9H3GzWDLLAPUWsfGxgLL8fza2prn+Hvf+96+9/jud78LAPijP/ojz/HLL788dDtPOeUUj+VidnYWJ598sieOIZPJGP9+p9PB0tKSMYv93//7f0Pfqx9GR0c90vrJJ5+MiYkJvPCFL8QZZ5xhjvN/2cZcLmf+b7VaWFpawkknnYSJiQlPG7/73e/izDPPxD//5//cHJuamsLb3/52T1u+//3vY3V1FW9961uxuLho/hKJBM444wyrKczh0OAtb3kLarUavv3tb6NUKuHb3/62rwlYjpOVlRUUi0Wc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9913H1772tcilUrh0UcfxZ133ombb74ZF154IWZnZ/GBD3wAH//4x7Fr1y68/vWvxy9+8Qt85zvfOWTW2V27duGb3/wm3vzmN+P888/HE088gS984Qs45ZRTUC6XTbk3velN+O3f/m38yZ/8CXbv3o3f/M3fxN/8zd8YgUrOU5/97Gdx9tln49RTT8V73vMenHjiidi/fz9+9rOf4dlnnx04t00YbLnj96KLLsJv/uZv4uMf/7gRAKanp3Heeefhqquuwotf/OJN1f/Vr34V27dvxze+8Q389V//NV796lfjjjvuwMknnzxwtkKNq666CpVKBbfffjvuuOMOnHbaabj77rvxwQ9+cCj1DwM333wzEokEbrvtNtTrdZx11lm45557NviejjnmGNx77714//vfj+uvvx6zs7P44z/+Y+Tzebz//e/39Nnb3vY2HHXUUbjhhhvwqU99Co1GA0cffTTOOeccvOtd7zrYj+iwSbzyla/El770Jdxwww244oorcMIJJ+ATn/gEnnzySQ/RX3DBBXjyySfxX//rf8Xi4iJmZmZw7rnn4qMf/agJXrXhqquuQrFYNGSvo6UdDn8cijHyhS98AaeffjpuueUWXHXVVUgmkzj++OPxjne8A2eddZa59rrrrkM2m8UXvvAF3HvvvTjjjDPwt3/7t5HyygwTl156Kfbt24dbbrkF3/ve93DKKafg61//Ou68805PQrlEIoG7774b//bf/lt85StfQTwex5vf/GZcc801OOusszyce8opp+D//J//g49+9KP48pe/jKWlJczNzeElL3kJPvzhD2/p88R62rb8a4D77rsPL3nJS/D1r399w5I5BzuuuOIK3HLLLSiXy77BMw4ODg4Ow8G3vvUtvPnNb8ZPfvITj9BzqPC8D/21bVx00003IR6Pu42AfKD7bGlpCV/72tdw9tlnO0HAwcHBYcjQnNvpdPCZz3wG4+PjOO200w5Rq7x43q8P++QnP4mf//znOO+885BMJvGd73wH3/nOd/CHf/iHG9bnOxzAmWeeiVe84hV44QtfiP379+NLX/oS1tbWfNe2Ojg4ODgMjssvvxy1Wg1nnnkmGo0GvvnNb+KnP/0prr/++oO2jL4fnvdugu9///v46Ec/igcffBDlchnHHnssLrnkEnzoQx9ya+F9cNVVV+Guu+7Cs88+i1gshtNO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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "image_idx = 1\n", + "\n", + "val_batch = first(val_loader)[\"image\"]\n", + "val_image = val_batch[image_idx, None, ...]\n", + "\n", + "mask = torch.ones_like(val_image)\n", + "mask[:, :, 20:40, 30:80] = 0\n", + "val_image_masked = val_image * mask\n", + "\n", + "# plot\n", + "plt.subplot(1, 3, 1)\n", + "plt.imshow(val_image[0, 0, ...], cmap=\"gray\")\n", + "plt.title(\"Original image\")\n", + "plt.axis(\"off\")\n", + "plt.subplot(1, 3, 2)\n", + "plt.imshow(mask[0, 0, ...], cmap=\"gray\")\n", + "plt.axis(\"off\")\n", + "plt.title(\"Mask\")\n", + "plt.subplot(1, 3, 3)\n", + "plt.imshow(val_image_masked[0, 0, ...], cmap=\"gray\")\n", + "plt.axis(\"off\")\n", + "plt.title(\"Masked image\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "9128242f-8efd-486e-94d8-c060f1218983", + "metadata": {}, + "source": [ + "### Inpaint\n", + "Inpaint using Algorithm 1 in https://arxiv.org/pdf/2201.09865.\n", + "\n", + "`num_resample_steps` can be increased to improve the quality of inpainting, with an associated linear increase in inpainting time." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "1427e5d4", + "metadata": { + "lines_to_next_cell": 2, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 0%| | 0/1000 [00:00" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model.eval()\n", + "mask = mask.to(device)\n", + "val_image_masked = val_image_masked.to(device)\n", + "timesteps = torch.Tensor((999,)).to(noise.device).long()\n", + "val_image_inpainted = torch.randn((1, 1, 64, 64)).to(device)\n", + "\n", + "scheduler.set_timesteps(num_inference_steps=1000)\n", + "progress_bar = tqdm(scheduler.timesteps)\n", + "\n", + "num_resample_steps = 4\n", + "with torch.no_grad():\n", + " with autocast(device_type=\"cuda\", enabled=True):\n", + " for t in progress_bar:\n", + " for u in range(num_resample_steps):\n", + " # get the known portion at t-1\n", + " if t > 0:\n", + " noise = torch.randn((1, 1, 64, 64)).to(device)\n", + " timesteps_prev = torch.Tensor((t - 1,)).to(noise.device).long()\n", + " val_image_inpainted_prev_known = scheduler.add_noise(\n", + " original_samples=val_image_masked, noise=noise, timesteps=timesteps_prev\n", + " )\n", + " else:\n", + " val_image_inpainted_prev_known = val_image_masked\n", + "\n", + " # perform a denoising step to get the unknown portion at t-1\n", + " if t > 0:\n", + " timesteps = torch.Tensor((t,)).to(noise.device).long()\n", + " model_output = model(val_image_inpainted, timesteps=timesteps)\n", + " val_image_inpainted_prev_unknown, _ = scheduler.step(model_output, t, val_image_inpainted)\n", + "\n", + " # combine known and unknown using the mask\n", + " val_image_inpainted = torch.where(\n", + " mask == 1, val_image_inpainted_prev_known, val_image_inpainted_prev_unknown\n", + " )\n", + "\n", + " # perform resampling\n", + " if t > 0 and u < (num_resample_steps - 1):\n", + " # sample x_t from x_t-1\n", + " noise = torch.randn((1, 1, 64, 64)).to(device)\n", + " val_image_inpainted = (\n", + " torch.sqrt(1 - scheduler.betas[t - 1]) * val_image_inpainted\n", + " + torch.sqrt(scheduler.betas[t - 1]) * noise\n", + " )\n", + "\n", + "\n", + "# plot\n", + "plt.subplot(1, 3, 1)\n", + "plt.imshow(val_image[0, 0, ...].cpu(), cmap=\"gray\")\n", + "plt.title(\"Original image\")\n", + "plt.axis(\"off\")\n", + "plt.subplot(1, 3, 2)\n", + "plt.imshow(val_image_masked[0, 0, ...].cpu(), cmap=\"gray\")\n", + "plt.axis(\"off\")\n", + "plt.title(\"Masked image\")\n", + "plt.subplot(1, 3, 3)\n", + "plt.imshow(val_image_inpainted[0, 0, ...].cpu(), cmap=\"gray\")\n", + "plt.axis(\"off\")\n", + "plt.title(\"Inpainted image\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "1c45cead", + "metadata": {}, + "source": [ + "### Cleanup data directory\n", + "\n", + "Remove directory if a temporary was used." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "bab2d719", + "metadata": {}, + "outputs": [], + "source": [ + "if directory is None:\n", + " shutil.rmtree(root_dir)" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:percent" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/generation/2d_ddpm/2d_ddpm_tutorial.ipynb b/generation/2d_ddpm/2d_ddpm_tutorial.ipynb new file mode 100644 index 000000000..86ecd5597 --- /dev/null +++ b/generation/2d_ddpm/2d_ddpm_tutorial.ipynb @@ -0,0 +1,709 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9d71306f", + "metadata": {}, + "source": [ + "Copyright (c) MONAI Consortium \n", + "Licensed under the Apache License, Version 2.0 (the \"License\"); \n", + "you may not use this file except in compliance with the License. \n", + "You may obtain a copy of the License at \n", + "    http://www.apache.org/licenses/LICENSE-2.0 \n", + "Unless required by applicable law or agreed to in writing, software \n", + "distributed under the License is distributed on an \"AS IS\" BASIS, \n", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \n", + "See the License for the specific language governing permissions and \n", + "limitations under the License.\n", + "\n", + "# Denoising Diffusion Probabilistic Models with MedNIST Dataset\n", + "\n", + "This tutorial illustrates how to use MONAI for training a denoising diffusion probabilistic model (DDPM)[1] to create\n", + "synthetic 2D images.\n", + "\n", + "[1] - Ho et al. \"Denoising Diffusion Probabilistic Models\" https://arxiv.org/abs/2006.11239\n", + "\n", + "\n", + "## Setup environment" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6aa3774e", + "metadata": {}, + "outputs": [], + "source": [ + "!python -c \"import monai\" || pip install -q \"monai-weekly[tqdm]\"\n", + "!python -c \"import matplotlib\" || pip install -q matplotlib\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "id": "f3154fee", + "metadata": {}, + "source": [ + "## Setup imports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "dd62a552", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MONAI version: 1.4.0rc6\n", + "Numpy version: 1.26.4\n", + "Pytorch version: 2.3.1+cu121\n", + "MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n", + "MONAI rev id: 6a0e1b043ba2890e1463fa49df76f66e56a68b08\n", + "MONAI __file__: /home//miniconda3/envs/monai/lib/python3.11/site-packages/monai/__init__.py\n", + "\n", + "Optional dependencies:\n", + "Pytorch Ignite version: 0.4.11\n", + "ITK version: 5.4.0\n", + "Nibabel version: 5.2.1\n", + "scikit-image version: 0.23.2\n", + "scipy version: 1.13.1\n", + "Pillow version: 10.3.0\n", + "Tensorboard version: 2.17.0\n", + "gdown version: 5.2.0\n", + "TorchVision version: 0.18.1+cu121\n", + "tqdm version: 4.66.4\n", + "lmdb version: 1.4.1\n", + "psutil version: 5.9.0\n", + "pandas version: 2.2.2\n", + "einops version: 0.8.0\n", + "transformers version: NOT INSTALLED or UNKNOWN VERSION.\n", + "mlflow version: 2.14.0\n", + "pynrrd version: 1.0.0\n", + "clearml version: 1.16.2rc0\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" + ] + } + ], + "source": [ + "import os\n", + "import shutil\n", + "import tempfile\n", + "import time\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import torch\n", + "import torch.nn.functional as F\n", + "from monai import transforms\n", + "from monai.apps import MedNISTDataset\n", + "from monai.config import print_config\n", + "from monai.data import CacheDataset, DataLoader\n", + "from monai.utils import first, set_determinism\n", + "from torch.amp import GradScaler, autocast\n", + "from tqdm import tqdm\n", + "\n", + "from monai.inferers import DiffusionInferer\n", + "from monai.networks.nets import DiffusionModelUNet\n", + "from monai.networks.schedulers import DDPMScheduler\n", + "\n", + "print_config()" + ] + }, + { + "cell_type": "markdown", + "id": "be99fa93", + "metadata": {}, + "source": [ + "## Setup data directory\n", + "\n", + "You can specify a directory with the MONAI_DATA_DIRECTORY environment variable.\n", + "\n", + "This allows you to save results and reuse downloads.\n", + "\n", + "If not specified a temporary directory will be used." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8fc58c80", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/tmp/tmp62w8dzsl\n" + ] + } + ], + "source": [ + "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n", + "root_dir = tempfile.mkdtemp() if directory is None else directory\n", + "print(root_dir)" + ] + }, + { + "cell_type": "markdown", + "id": "a36b12f0", + "metadata": {}, + "source": [ + "## Set deterministic training for reproducibility" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ad5a1948", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "set_determinism(42)" + ] + }, + { + "cell_type": "markdown", + "id": "b41e37b3", + "metadata": {}, + "source": [ + "## Setup MedNIST Dataset and training and validation dataloaders\n", + "In this tutorial, we will train our models on the MedNIST dataset available on MONAI\n", + "(https://docs.monai.io/en/stable/apps.html#monai.apps.MedNISTDataset). In order to train faster, we will select just\n", + "one of the available classes (\"Hand\"), resulting in a training set with 7999 2D images." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "65e1c200", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-09-02 16:39:54,821 - INFO - Downloaded: /tmp/tmp62w8dzsl/MedNIST.tar.gz\n", + "2024-09-02 16:39:54,938 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n", + "2024-09-02 16:39:54,940 - INFO - Writing into directory: /tmp/tmp62w8dzsl.\n" + ] + } + ], + "source": [ + "train_data = MedNISTDataset(root_dir=root_dir, section=\"training\", download=True, progress=False, seed=0)\n", + "train_datalist = [{\"image\": item[\"image\"]} for item in train_data.data if item[\"class_name\"] == \"Hand\"]\n", + "batch_size = 64\n", + "num_workers = 4" + ] + }, + { + "cell_type": "markdown", + "id": "5d503ec9", + "metadata": {}, + "source": [ + "Here we use transforms to augment the training dataset:\n", + "\n", + "1. `LoadImaged` loads the hands images from files.\n", + "1. `EnsureChannelFirstd` ensures the original data to construct \"channel first\" shape.\n", + "1. `ScaleIntensityRanged` extracts intensity range [0, 255] and scales to [0, 1].\n", + "1. `RandAffined` efficiently performs rotate, scale, shear, translate, etc. together based on PyTorch affine transform." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e2f9bebd", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading dataset: 100%|██████████| 7999/7999 [00:05<00:00, 1406.10it/s]\n" + ] + } + ], + "source": [ + "train_transforms = transforms.Compose(\n", + " [\n", + " transforms.LoadImaged(keys=[\"image\"]),\n", + " transforms.EnsureChannelFirstd(keys=[\"image\"]),\n", + " transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n", + " transforms.RandAffined(\n", + " keys=[\"image\"],\n", + " rotate_range=[(-np.pi / 36, np.pi / 36), (-np.pi / 36, np.pi / 36)],\n", + " translate_range=[(-1, 1), (-1, 1)],\n", + " scale_range=[(-0.05, 0.05), (-0.05, 0.05)],\n", + " spatial_size=[64, 64],\n", + " padding_mode=\"zeros\",\n", + " prob=0.5,\n", + " ),\n", + " ]\n", + ")\n", + "train_ds = CacheDataset(data=train_datalist, transform=train_transforms)\n", + "train_loader = DataLoader(\n", + " train_ds, batch_size=batch_size, shuffle=True, num_workers=num_workers, persistent_workers=True\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "938318c2", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-09-02 16:40:26,432 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n", + "2024-09-02 16:40:26,433 - INFO - File exists: /tmp/tmp62w8dzsl/MedNIST.tar.gz, skipped downloading.\n", + "2024-09-02 16:40:26,435 - INFO - Non-empty folder exists in /tmp/tmp62w8dzsl/MedNIST, skipped extracting.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading dataset: 100%|██████████| 1005/1005 [00:00<00:00, 1478.76it/s]\n" + ] + } + ], + "source": [ + "val_data = MedNISTDataset(root_dir=root_dir, section=\"validation\", download=True, progress=False, seed=0)\n", + "val_datalist = [{\"image\": item[\"image\"]} for item in val_data.data if item[\"class_name\"] == \"Hand\"]\n", + "val_transforms = transforms.Compose(\n", + " [\n", + " transforms.LoadImaged(keys=[\"image\"]),\n", + " transforms.EnsureChannelFirstd(keys=[\"image\"]),\n", + " transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n", + " ]\n", + ")\n", + "val_ds = CacheDataset(data=val_datalist, transform=val_transforms)\n", + "val_loader = DataLoader(val_ds, batch_size=batch_size, shuffle=False, num_workers=num_workers, persistent_workers=True)" + ] + }, + { + "cell_type": "markdown", + "id": "a56a4e42", + "metadata": {}, + "source": [ + "### Visualisation of the training images" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "b698f4f8", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "batch shape: torch.Size([128, 1, 64, 64])\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAE4CAYAAACKfUBxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB4LElEQVR4nO2dSewmx12/vwG8zD7j2ffFM/aMHeMlARIQSwQcAIljJCQuiBNc4YCEwoED4oCIEOIQCYG4gFgkDgiBRCIUcFbH69hjz+bZZ36zevbYDpD/9d+f+tjvh3K//Zsxz3OrVnV1d3XVt+ptvfXUJ77//e9/vwAAAAAAAAAAACbkBxb7BgAAAAAAAAAA4P8efJQCAAAAAAAAAIDJ4aMUAAAAAAAAAABMDh+lAAAAAAAAAABgcvgoBQAAAAAAAAAAk8NHKQAAAAAAAAAAmBw+SgEAAAAAAAAAwOTwUQoAAAAAAAAAACaHj1IAAAAAAAAAADA5P5Rm3LJlS3Psv//7vwfp//mf/2ny/MAPDL97feITn2jyfP/73595fXeeXk+vVVX1ve99b5D+oR9qH1mf47/+67+aPCtWrJh5T0uWLJl5j+767noJWpY+qyv74YcfbvJcunRpkH7wwQebPO+9997M+3Hv/wd/8AcH6d537d6tlq1pV1ZStsuTHHP3+MADD3xouqqtb9eO3LPpMVe2vu+lS5c2eZYtW/ah91NVtXbt2ubYqlWrBulr1641eV544YVB+rXXXmvyXL9+fZDW/uiO6T1X+balx5I8jqScMc+b1/VdO9Z25OJR0tbde9M26c5zcWPW9dNxRK/n+pGe5/LoPSZjnbvPJI4kz3H37t0mj+u3WrZ7t9qX7ty50+TRmPTQQw81eW7dutUc03jz3e9+d2YeN9bo9V1bc/Wvx9z4m7RtHVs///nPN3m++MUvNscA4MPR/paMB4uNi+NjleXij44JLv4pV65caY795V/+ZXPs3Xff/dBrOd5///2ZeZJ7rMrG1rHyJPO/5LzeuWZy3wlJ2enzz+v6Y86Rk3vsnVsrvX3b9duxyk5iRDLXTHBzO+3Lbq65ffv2QfpnfuZnmjw//dM/PfP6/FMKAAAAAAAAAAAmh49SAAAAAAAAAAAwOXyUAgAAAAAAAACAyYmdUr30+FpSdJ1p4hlx11KHiFtTuXLlyuaYrut0ZTvPj6Lrs916zcTFkay7dU6RPXv2DNLvvPNOk0fXnVdlz6/Xc74WxZXj1qcn6+yTdbV6XrqmWZ/N1W3SRvVY4r1xZSdryBOnUOr90fbnfGXqcHF5Vq9ePUjfvn27yZM4DBw9Lqax1qbfC2j9uzaqz5usV3dxLXFhJP68xPuWrN93JDEyyZPUUVUWo7Qs19a1HOc4dGVrfTtfnTqc1q1b1+S5evXqIO2e1XneNEYk8djFCHVouTE6wfXtHvfCxylG/F8iGX+T9tDr60jaX+88JvHc9fqaxnIojeW0mZoxHVJTcejQoeaYOj6rvAtQ0XfkxnGdRybjkcuXzP978/S6kMbyTqWep57rJ9fqdTON5dSa0vs6Jj1jQuom7rl+r5vUof3Gza10HFm+fHmTR53Cu3fvjq7fXKvrLAAAAAAAAAAAgI8AH6UAAAAAAAAAAGBy+CgFAAAAAAAAAACTEzuletdrjrXOcywXhFvTnDh9EheK84xcvnx5kE7W+brru2f93ve+N0ird6Oqdb+sXbu2yaMOH+evcg4ZrRPnFFE/ylhrmj/oWA/63lxdq5unqn1Pro4Sp1PilBjr+XvXNLtnUxeN847pea4cbRPOe7NmzZpB+vr16x94r/Ogx02V5ltsP422iSRGpe2xZy180kZ7x4PkvOR9pP0occppbFHHWlXb15x30HkPNUa7OKbjiBvr/uiP/mjmtTRPVdtPna/gzp07g7SLfxoTpvbQ9Dg97gXm5cJIfRnJ2NrT31LvYY8fbsy5RjJu9Pii0vbX8/7nOdeCPnrmbS5Gu98WOiYkvzXcOOKOJXmStj1Pp5Qbb2adl7ihknKTa6XXV+bplBrzd1xvWfM4p2o875MjdZGOcS2H6//aTpPvD65t63eD3vrnn1IAAAAAAAAAADA5fJQCAAAAAAAAAIDJ4aMUAAAAAAAAAABMDh+lAAAAAAAAAABgcmLRea/8cp6i8x6JpRN0aTkq9auqunnzZnNM86mMuarqN37jNwbpPXv2NHmuXbs2SKt4vKrq7NmzzbF///d/H6R/4Rd+Yeb1Dx482OT53d/93UHavUdXb1q3TpDupGnKWGLhXvmbin17y3H0iK7Ttp5I1LX+e2XQrk+otNhJ/LTdqPje3aMrJ2GeMtqxrj+1MDZp2z3P3yvD7R1HklifypcVbX9JX0vbqF7fiV5V4u1E/7pBgCtHN9WoavttsonHc8891+RZunTpIO3qaMOGDc2x8+fPD9JuM4xEdJu8I8dYfVtx11+1atUoZSd9q3eMSBhzrO2ReI+1GUHKPON2Ij9OROvJZjyubD02lsQ3nevrMXff98MmAslca56MtamTbirh8vXKyHWscXNGh9atu+8eiXgq+u5pb+4cve8x55E9MvDeMWKe10/OG2scS67lmGeM7P1tM+taDvesboOcns043KZW+o0k2RzOwT+lAAAAAAAAAABgcvgoBQAAAAAAAAAAk8NHKQAAAAAAAAAAmJy5O6V61mem60d1zaJbr56s4UzW6yfrbG/cuNHk+dmf/dlB+jOf+UyTR9dnrlixosnjnFKXLl0apP/iL/6iyaMOn9/+7d9u8qgv5Pr1600etz5Uz0ucQvciSRtJfAm93pvkfno9Iz1OCVeOuyctyz2/Xt/5CtRN5a6vvrLe9eq9LqSx1suPRa+/r7ePrl+/fpDWd1ZV9c4778ws261FT3wdve12Xt7DebrBnJtP+5aLx5/61KeaY0899dQgvW3btiaPjhF/9md/1uQ5efLkIL19+/Ymj45HVe1Y9t577zV5EqectpvEVegYq/+7PqPjYVXmYtGyEqfGPL07i+10GtPF0uMC6m0jSVmubWtbdn1b24hr/0lsc9fXttTrVEnqaJ6+mLEYyylTNZ6Lque8xPvkSOafY8XRj3JeT54pmdqxfK89v2PKe5ynG7b33SZja0JvOb2+Nv3d5vLo9Z0/NIF/SgEAAAAAAAAAwOTwUQoAAAAAAAAAACaHj1IAAAAAAAAAADA5fJQCAAAAAAAAAIDJiUXnDhVbpYLmWaQSN5U9JvKvRBCaXl/LdqLTX/mVXxmkXR3pseeee67J8yd/8ifNsQsXLgzSn//855s8v/d7vzdI/8RP/EST50tf+tIg/eCDDzZ5nCDx5s2bg7STHyeiTaVX4tormtPrjSnj0+dNhOFOIpfcd3L9MSXS2iZcOYnEWMtJRevzolcq31u20itDdSQxctY5VVUbN2780HRV1cWLF5tj165dG6SvXr3a5NH379p10o56Rcc9mwGk/SgRlKvY/IEHHmjyLF++fJB2Uvmf//mfb4597nOfG6SPHj3a5Hn22WcH6b//+79v8nzyk58cpDdt2tTkeeaZZ5pj//qv/zpIu7FF320i0UyZl1h2zI0WEnrnWmONbWPJX5PNOJKyk77mrtd7j/MUFGtMSMb1tI88/PDDg7TbaCRpW3pPyTzWneeeXzcx0I0X5k1PbEnPGWss72l/vVJ5V//JO0n6mrunZDOIpB0lcaR3Ht1zTlpuz2/S3g2kejds6omRvXG09/oJY42/vee4Z0vGtqTs3g3bkraV5NFNbJJNFRz8UwoAAAAAAAAAACaHj1IAAAAAAAAAADA5fJQCAAAAAAAAAIDJiZ1SU7tQFLcWU9ewO1+HkqypdOUka3idU+nu3buD9Jo1a5o8ul7bXd+5OPQ8d/1//Md/HKTv3LnT5EmeX90EVa1Tyq1h1XtMnA6OeTodtB2la6GTdc7JennFOWUSh0PiPXP09u3EV6W4tqV14p5f2596eKr629GYDrEpy+6h19em68OXLFnS5Nm2bVtzTN+b8+6pd0rjiqM3jji0Tlwc0+ul10rO0z7hxprVq1cP0q7+v/jFLzbHvvCFLwzS6qaqqvqrv/qrQXrFihVNntdee22Qvn79epPn+eefb47pfTqnzY0bNwZpN9b0tltlnuPIPD0bvfS221n0ejcTX4yjdxzrGdt6x5HemNTz/K5c17dWrVo1SC9btqzJkzidNEa5a7n5p8Yy5xlRF8k8medvlHuNxPFZlfmaetyg7lpu/jeW02jWOWOe1+vr6nUaaz8a06mUvP95OqV6zuutxylJvaOJUyrx/iluHunqTX9vJb81k9jSG2v5pxQAAAAAAAAAAEwOH6UAAAAAAAAAAGBy+CgFAAAAAAAAAACTw0cpAAAAAAAAAACYnI8kOp+XNDAVpKnIy4m9VMjoJF5atsvTK1p3YklF5eNO9OrEsuvXrx+k//iP/7jJo0Lo3//932/yqPz2ypUrTR5X/ytXrhykVepe1crPxpTP9bQ/d04isR9L9J+Uo+LR9Hq9MvLkvhP5XSLWSwSpro6c2Dyhp72NKchcbJK2re/ExbGFhYVBWmPPBx1bt27dIK3iXYdr/yrDTUWjPf02ERYnGya4Yy5Pcn19Jy6PE5Q/8sgjg/TFixebPCoad+gGHb/2a7/W5HnhhReaY3/7t387SK9du7bJk8SRROw5T3o2tUjPG+v6YzGmRHcsQfBYedz1xxq3eyW+PSQxoqodN3XDhKqqnTt3DtIas6ta+fnt27ebPLdu3WqOXbp06UPLqZp23FzsMTqZoyWxLhmjnEDeieaV3k0ltP2l5dwP8vmxNtpwzGuM6GWeovN5Xj8p5+NC7/cYN7dKNtFI5qgaW1ysT+CfUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMnhoxQAAAAAAAAAAEwOH6UAAAAAAAAAAGByYtF5IujrFYupfKtXRqnCZHdPibDOXWvp0qXNMb1vJyhU+VdyfSf6PXToUHNMJZZObPjggw/OvL6K1vWcKi8t0/OWLFnS5FH5pXtHvdyPsrtEUNkrI3eMJXpO5f+Kiu5d2VpO8vxjSa0dY5adxEh9/t4YlbQtJ5p3glxF+/rx48ebPO6+VaKr7aGqvW8Xf06cODFIO/G92yCiJ0a4+kj6iHs2rRMnmtWNJlw5ek+ujlyd6Jigm1NUVf3O7/zOIO3Gn89//vODtIsHiaBen7Wq6urVq4O0e36tN3d9d56O0WPFH/cep5S/pjFqnvLbJI/W7VibSPQ+V+9mIFOStNFkw4Sqtv27OdpnPvOZQfrHf/zHmzzat1Rg/kHX1/v80pe+1OT5+te/3hy715nnxk9jlZ1sPOPKTiTGyf2kcvCe/j/mphLzkminmzokv3+TzUD0N5qbD7m4oWP0Aw880ORJJPbJ7xjHWBJ1PebGaDdH0POSeUSSJ90MR38Tu9/x+i5d/feOET2/N9wcOZlHJfBPKQAAAAAAAAAAmBw+SgEAAAAAAAAAwOTwUQoAAAAAAAAAACYndkol6xOn9veka5b/fxJfhPN1LFu2rDnm6kTRdb5uLaZe79vf/naT51vf+lZzTNewfuELX2jy6PrUhYWFJo96Bt55550mj3PRaNk3btxo8qxevXqQdt6T3rWn82p/vWvRE6dP7/UW243Vu857sWPElHWbrPN2aB0lsdY5BZLnSPxR7vpa9pUrV5o8zhenDqM1a9Y0eTZu3DhIr1ixYuY9nTlzpsmj3quq9nldHEucGnqee6/unSjORaAOB+d00OsnbgRHkseV/Td/8zeD9J/+6Z82eW7evNkc27JlyyB97dq1mdd3datt4u7duzPLcYzlNJq6bKU31oxF+qxjzdF6nX697pdZZafeH41bY7233jnK7du3mzwvv/zyIH3s2LEmz9q1awfpJ598ssnz4osvNseef/75QfrcuXNNHp3/Ojfdx4Wk3/R6R3u9cz30PkcvPWX1Oq3G9FXNKsfhxn/nR1L0d5yb67ljOrdI5oi9jOVrdb/Rdd7iynVOPf3d6uYx+lvXzXW1Ht081tWtepedC0xjopujJd4px7x+k/WWyz+lAAAAAAAAAABgcvgoBQAAAAAAAAAAk8NHKQAAAAAAAAAAmBw+SgEAAAAAAAAAwOTEovNEEN4rmuzFyb5m4e5RBbWpjFtla04spvIxJxFWid3y5cubPE7+qCK1f/iHf2jy6D098sgjM/O453CCNn0WV0d6372CxKnbVs+1emXgPdeqyuSPPYLIVFg7pVgziTVj0SvVTeTTY9WRiyPuHfWI5t1zaP93Um+3iYLGPyeI3LFjxyC9a9euJo9uNOFkkG+//XZzTMXaiWjcSUX1ed3zu7L1PbnzVD68dOnSJo/eU9r+k9ie5HnhhRcGadeO3LtN7lvfrbu+SuyTTUZSevpoutHAWPH/XtvoIh0jNm3aNEivX7++yaMSWTf/0j7iNlVx96TvaSxBtCtnSol5OkfSmOTmka+++uog7dr23r17B2knOt+zZ09z7Lnnnhuk/+mf/qnJ82//9m+D9GLP9aZmLIn2rHKrsvaYbHSSXO9+2dQmqZNEht57LT3m4p9KtJNNVdy13NxG51JTyvDdMZdH26Sba+h5Ls/169ebYzr/+NVf/dUmj27Y5WT03/jGNwbpn/u5n2vyPPPMM82x3/qt3xqkDx482OTRbw1O9J60CUcyl+wZIxGdAwAAAAAAAADAfQMfpQAAAAAAAAAAYHL4KAUAAAAAAAAAAJMTO6WS9YGJd6YXt+5R15n2rsXX+1Z/RZVfi6/r9XXdb1XV+++/P/OedH3q3bt3mzxuLfDNmzcHaXVMOdxzKG69qjtP79utRdd7dOt8e/1A8/QKJcxz7XXPeYmLobfOetcQ9zzbPJ0S8/S1OO9aj3dvTBdDcn2Nfy7WJLgYcerUqUHa1ZEe279/f5Nn9+7dg/SqVauaPM6X98YbbwzS586da/Lo87t71Nie9iPNl/g61J+TlPtBx3pcGEnZznuVjBHOxaBOITdG9DKWC2Esp1SPY8ix2I6dNI6qL27btm1NHm0TzhenbrjXX3+9yXPlypXmmM6lXGzrGRPTMSrp/4kLJHEDJi5Q573T8xKnoJvrvvnmm80xjeUHDhxo8nz5y18epHvr6F6kp5+O6R1NztO21etG0zyp9zKh5/dn4phLr9XjkEpjpJatHr6qqpUrVw7SZ86cafLcunVrkHZjbeJUdr9Ztawx/V16LInHbq6R+AOd09B5phSd7/zoj/7ozDyu/etcp6p1iLk8br6r6Htz77+XpG1r/ff2df4pBQAAAAAAAAAAk8NHKQAAAAAAAAAAmBw+SgEAAAAAAAAAwOTwUQoAAAAAAAAAACYnFp33iO6q+mTMjuQ8J7FLRL+JxDYRezn5mpbt8qjEzonXnFhShbAXLlxo8ijJszlBm5Of6/M7QfDy5csHaScanacMP2GxpbHKPEXfjjGlmbPy9Iq+F1tqr6R1ljx/z4YN6fUTiW0PLh65+KsSxxMnTswsW+NhVdW+ffsG6TVr1jR5du7c2RxT0bHKQKtasbh7Rxr/XP07QWgif9VjY24Ykox/esy1Ec3jntXJz/X9uzayZMmSmWWrtHPMeNCz0cD9Il7u2eiiV9juzltYWBik9V1XVa1evXqQdqLzLVu2DNI6r6iqOn/+fHNMhcBOhq4xwb3bpI86tL6TOWoi+k43Okjaqda3m6Ppe/znf/7nJs8rr7zSHPvKV74ySOuGFVXtWOLmkTA/xtoMRxlTap5IzJXeGN07/+qNkcqePXuaYxs3bhykXYw8evToIK1j7weh432yGcKYvxl66juZR7g44s7TePfXf/3XTZ6/+7u/G6Rfe+21Jo/WmxuPfuEXfqE55jZWm3WPrs70e8CYvxl75kiIzgEAAAAAAAAA4L6Bj1IAAAAAAAAAADA5fJQCAAAAAAAAAIDJ4aMUAAAAAAAAAABMzkcSnasQb56ic4eWlQjyHIno25FIbLVslZFVtUI2JwN18km9npMP6z06YbmSiqYT+Z2K5cZ61x+lrFn0yvh6GUssmby3eQoKk+dI4shii+d7nzVpo73yv0RQnsTfsQTNvTJad/3Lly8P0k6GrjLktWvXNnlUhlyVSXSPHTs2SL/zzjtNHpWGuljv3r8Kul3b0tiu57jzemNGet+zcOc4Qbm+bze2Ka4dL1u2bJBWgf0HnZcwlmh16nGj51pjSXzTZ9XNV9z8R9u/2wxG+/+qVauaPI8//nhzbMOGDYP0qVOnmjwnT54cpK9du9bk6Y2bvWL5WSRzzapsowudEyYb3bz++utNHief13d55MiRJo9uWnHp0qUmz/3AWHOrxd7UZp6bykwZo3rLTuZRvb81k7LdZgwqOt+/f3+TR+XnBw8ebPK4spONFnTeNM/fEb1l6z2638NubEnmJH/4h384SLs54vbt2wfpbdu2NXnc73h9b05ir3Xinu29996bmWeszcDm+R75pxQAAAAAAAAAAEwOH6UAAAAAAAAAAGBy+CgFAAAAAAAAAACTEzulxlqLOGYevafEe+TW9Pa6KHQNq/M16RpSt6ZffSXqz6jyToNbt24N0itWrJh5j877offk6lHXq1a1a1bds+kaXrfONaHXRdTrOVIWey2+Y6y+1XtO4rlJ/Wyzrj/WeuV5+rscSd9KYtRYLqgE9856Y6SW5cq5cePGIH3o0KEmj677f+6555o8u3btao6pr8TVo97j0aNHmzzqEHDvP/G1uPM0Js/zXSfeM3ePznOluHerLiDndFA/lBv/1IWReCAcyfMnMcK5ye5FF95Y5fSWrfMG9TdVte9W24w7pq6oKu+U02NujqR+quPHjzd5zp8/P0i7dpzEbTf/0bY0lr+1qo1tOmesauNPr3fHPZuW7frNlGPb/UDvPLa37LHo9R4m3s2ePGPGsR43aNpHNZ9zai5dunSQfuyxx5o8e/bsmXkt54JznilFx//e+WBC4ibWeV1V1c2bNwfplStXNnnu3LnTHNO45bxPX/nKVwZpN//45je/OUhv2rSpyfOlL32pOaYuvsQfnfhLF/sd4ZQCAAAAAAAAAID7Bj5KAQAAAAAAAADA5PBRCgAAAAAAAAAAJoePUgAAAAAAAAAAMDmjis7nKeNzZSeCRBWE9QqrE2meCsurWmmrE4Y/9NBDg7STUbp7UkGbOy8RTat80p3jRLda/06spqLfqaWWPTLwqYW1Ywki03Y7K8+Yz99z/d7nGIve67t+o2JdJ9pVbt++PfOYkyEm99QrsZ1VblqWO0/vSYWVVVVvvvnmIO2eX4XZVVWPP/74IP3EE080eVRQrvG4qurChQuD9NWrV5s87pjGe/f8Gsddnp4NA6ratuxk7Fr/LkZrnuQ9VvkxUdGxxZXz8MMPz8yz2Mxzg4beTS3G2uii9zm0nbiNVrTfXL9+vcmjYlnX11xM2Ldv3yC9fv36Jo9Kcx955JEmz5EjRwZpjQdV/r5ViO76lvbJZI6UzhG0LN2woWq8jV4S0bq7lotJ9xrJpjpjMc8NC5J3nbyPJEZMvfFPr9hZz+uttx4Zuzvm5jFu8wVF5zY//uM/3uRx88//+I//mHn9Hol875wlaf/Xrl1rjun1FhYWoutpO3WbWKiM3AnTtW7dGOU2g9A5kvutvXbt2kHayelVhu/o3UShZ/xHdA4AAAAAAAAAAPcNfJQCAAAAAAAAAIDJ4aMUAAAAAAAAAABMTuyUStbHujzJWlxd09jrdHLomnp3TrKGf9WqVc0xdY/ouk+HWy+qa7idd8qt81XPjHOxqMPBOR10La6rf3eekni/XHvQ8xKnSVW7PjfxpfS6gZI2mfQRV45ez7kx3HlJv5l1P2mepOyk//feY9JGk2PpOv9Z5bhzVq5c2Rzbv3//IK1ulKp2Tblb067HXB7nC3ExQRnr+RN64/jly5cHaXXVVfl+q3HzwIEDTZ5t27YN0u49qkPg0qVLTZ4bN27MPHb+/Pkmj/Z35xTT+ndjhIvRGiPd+KO4etSy1bFQ5eNW4itMXBR6zI0R7tn0npIx4n5w3KT9r6ef9sbIpCz3bhOnUuLUc/et19uzZ0+TZ/PmzYP0M8880+TZtGnTIO0cL65va0x23imNUa5vJySxVfujo9epmPQtR68LaEp623+PV2ksp5TrI67/JU4lJZmjOXrnaNpue377fVDZPb8/e+exyW8kN7dRh5J7t9r/nGPoqaeeao5pWc8//3yTR+cx7h5nlVuV1UnSjlyMTH4j9PrCdI7uYp22UTcfSdqNc5rq+KeOzar2Odw9urrV95Tcoytby0naiIN/SgEAAAAAAAAAwOTwUQoAAAAAAAAAACaHj1IAAAAAAAAAADA5fJQCAAAAAAAAAIDJ+Uii8ylxgjKVbSWi1USirVLLKi/IVfm5kxirNMzJ5/Q8J6N0gswrV64M0k60q6JjV7aep1K9qkz+7cruEY07iVoidnPyZ8XJ17TdpIJCrROVCrs8rv2pRNiJ7tx5PRL55D26Z036f48w253n2lEiEUwYSwbvcP1/xYoVg/Tq1aubPPpsyXt0eVz/1xjh+rbGCBdHk40OHNrekjjunk3buj5XlY8Ren33HE888cQg7d7Rli1bPjRd5UXz+t5UmFnVvhN3jyq6dHlc/FNBvBO06z25/qd16/K496bvNhHtJhuPOJJ7SkS7rhy9p957TEiE1b0bBvSWPRZjbYbjRLcLCwvNMX2XLkaePXt2kH700UebPNrf3WYIO3bsaI7pvE37Y1XVhQsXBmkXo/W+XV9P3m2y0UAy/+ndMCjZRGDMvjXlZjAfJd//tpze50j6X6+cPjkvia098cCdl8rYdb7j5pY9fSTdsEn7RFKP7vfg4cOHB2k3j3GbODz22GODtIuRL7/88iDtNtDR3z/p7yg9z8U2Pc/9jtP3n36z0OsnbSvdaKWH3jiux5LfEb33lMzRe+GfUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMnhoxQAAAAAAAAAAExO7JQac531WOXo+mR3nq49desenZ9AcWso79y5M7NsdXE475DmSdeCrl27dpB2LiL1hTinga5PvnXrVpPHrfPVtdCuHtX9om4UV7Zz2ty9e7c5prh1tlrfbk27tpHedpys4U/WOTvvjCNxWvW4INK12Mka5gT1rD3yyCNNHj129OjRrmslJN4rh3tv2peWLVvW5NH259xUWkfOzeH61u7duwdp5yJI+r96Blwedyzpt9r+XBxTh5Ir1/mSFNf/N2zYMEh/+tOfbvIsX758kL548WKTx70TbRPu2dasWTNIO1+UtklXjut/GpNdG3377bcHafVHVLV162K0iz/uPpUk/qivIXHjuLISp5XzVWzevHmQdt6hr371q82xhJ65VepmGssFqKT1nzDW3NK1SZ3vuBipTifnptq/f/8g7ZxyGiOqqtavXz9I65ytqh3bnK9F403inapqY7Kro8RX1OsCVebpYnNM6UtLSJx2Y/XZ9FkTX07ia+p1ivW0LfdbQ39HOMePeoCr2jHRzS20bPcceszlce9fx3v3bMlvFB2jX3vttSaPiz8a25xTWX2Zr776apNH78nVf/Jb2z2bzi1cHOtx7Lqy3diWlKPXT/p6VZ/DLXFK9bqBk+fv9Qcn8E8pAAAAAAAAAACYHD5KAQAAAAAAAADA5PBRCgAAAAAAAAAAJoePUgAAAAAAAAAAMDmx6NyRSAQT0XIi8XTnqeysV/6nx5zU2wmCVeLqRH8qpHQSzdWrVw/SKjWuyqR97rxdu3YN0hs3bmzyqAzTyejc82v9O9GtlpVIBJ2M1ImFVVDq7jsRjet5iTC9KhNUJoI6FSI6GXPSbtPzFL0n19ZWrFjRHFNpt5NIqsRVpc6ubNeOdTOAXtF5r3wvwfURlUirMLKqfX6V41a1Mm4n1XUS9ZUrVw7SKj6vavufk+jqpg5OxutE41qWe/6rV68O0okMMxFNVrUSURfbz549O0jv3bt35vWdjN/JrzW2uufXfuueX+vfPb/2kapMPrx9+/ZB+umnn27yaH/Tdl3l241KZN19a39P4q+LUUnc2rp1a5NHpdVaH1XtGP0jP/IjTZ4///M/b45p/HXvIxmjtBxXR07QrvmcIFbbn7t+72YYi40+m5tbJKJhrUdX/3v27GmO6Xjn3pG2f7dhhMZx9xwuJmts1XRVG5Pc82u/TePv/UgyR0gl4lpWr0RZceUkfTSZRyYbRvQK490cNWk3ybNp39q5c2eT58CBA80x3YzJ/dbQuY3bMET7n7tHt4lN8hshGUc0jh0/frzJ437HaGz5sR/7sSbPL//yLw/SLv4cOXJkkE7Gmqr2d7Qbx7UsV0d6XtLW3THXHpP4p+/R5ekVlCckG1Y4tC25NpL0/7Geg39KAQAAAAAAAADA5PBRCgAAAAAAAAAAJoePUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMmJRee98r9EiJdItNwxFaQ5sZwK6RL5nxO2OmmbSuvcPap8zonOVBDtpNJObLxp06ZB2gna9JgT5KnYzMn4nKBa5btOYqf1pue4PDt27GjyPPXUU80xFRSePHmyyaMSY/dutU2459D36Ej6iHtH+vzJO6pqxcZOEK7yaxX2VlWtXbt2kFbxYZVvE3p9JyjUOnHPpm1b76fKi6XHItmMIcnjUEGmE11r3Wq7rqq6cePGIO02LHD1prjYou0meY9O9KnxqKqtp/Pnzzd5kj6qEnkn2kyEqa79aVmHDh1q8uiGEfv27WvyONG49lu3GYDK150MWTeIcFJjJ3FPJNraJlxf279//8zruxipdeskztq2dFyvatuki4dujNR452KbnufekV7PjYeJxNiRbJihuL7u+naCXi8R7bt33bvRjOLG36QdOxJBsj6vi236/GfOnGnyuLFV25br2yrWd/Wv5bgxwl1fJf5u/qVi59OnTzd5VJDu5sOORBCciLZ7rtVLcv3kOVy+RNDsxhHt2+5d927+0lvfPbjnT+bfisujfcvFcTdv2rZt2yDt+r/O49yGVadOnZqZx43RGkvd+Of6raLzSBfrzp071xz7xje+MbPsT33qU4P0L/3SLzV5dIx0MVLnsVXts7nn1/ediLbdXK93jO6JUS6Pm6Pqe3L33fP9xT2rKyeJ0Ukc0zy9G1/wTykAAAAAAAAAAJgcPkoBAAAAAAAAAMDk8FEKAAAAAAAAAAAmJ3ZKOXrWIie+qLRcXdeerLt0a/r1PPV3VPm1sOrV6F0vr+v1Hc7zoi4C52LR89avX9/kUYeTc4q4Nc2az63X1jpy62W1bPcc7vr6/Lt3727yqHvhwoULTZ633357kHbeH+dC0bXPrm7XrVs3SDtfgLYb9UBV+fevZbm2nayh1vPcmm7nq1I/i2s32ia2bt06M48rR+vkN3/zN5s8Y7kRkjXVDte2dV21cyFo23LxR9ukczNt2LChOaYuCud9Uj9F4h1z7SE5z70jdTGcOHGiyaPHXDx2/UY9C85FpPftfDkak5zTxZWtx5z3SGOEe//aR1x7dL4KjZuu3tRhkzyH3vMHoe3ducD0+q6ONP65WO/qJHFR6ft3LpLEjefatuZzLh7Nk5TjxlodD6va+nfjgY4jLv5rn0jaUVWfrzHxrrg8yXnOc6HP6+KYtgk31l6+fLk5pu9NHU+uLNe2dNx0bjQ3j9RY4uYoOiY4p6fGX43ZVa33rypzgWl7T8ba1B81lq9K+42LI67f6JiUOO3c2KpzIue00/bn+vpY3rde0ripaNxIxj+d11f5GLV3795B2sVWHW8ee+yxJo+2CedmO3LkSHNM++3x48ebPNq2XKxzz6a48ffw4cODtPutofOoZ599tsmjbfv1119v8jinldZJEkdcO0pijTtPn7fXe6bjqLt+Ev9cHr0nd496LI2RSdlalot/rt30wD+lAAAAAAAAAABgcvgoBQAAAAAAAAAAk8NHKQAAAAAAAAAAmBw+SgEAAAAAAAAAwOTEovNEUO4EXQm9YkOVWLp7dEIyReVnTtjljuk9OYmm3pPLk0hU3XOofNKJ9VSs6STiyXtz11exXSJWdKI9FbQ++uijTZ5Lly41x/RZ3D2q6FmlhlVVn/3sZwdpJzp3x/RdOkGlii5dHhWdujxJ23LyVb2+iqerWtGpE407QbbeZ7KJgCNpf1pOKvFTXIzoKav3+k4QqO3WtWMVCzvRsJP4ax89efJkk0ff7a5du5o8KtZ08dC1W61vJ/pXaeiePXuaPCoWd/3RCcq/+93vzsyjx1z81fftpMa6qUNV229VGFpVtXPnzkHayYi13tw9OtGpnuf6v57nYq2+x82bNzd5kg0SXB2p2NRthqD37aT2iaDTxRrNk8QIV46L0fqeEvlqsmGKa0dOoqzxpnczDC3bbargJO6unyja/pJ5nJPhOtG3biLh+ojWiatb7ZPJZgDu+slmNO4dqXx927ZtTR6NdVXtmHDx4sUmj/YlJ3rWeaST6jtB88LCwiDtNqxJZPSJsDzpty5uatzSOaM75mT47jztN4lE38V/fd/u/Z89e7Y5lpAIontw78O10Vn340h+I7nY4/qf1psbf3SO5ETnOm9y85hPfvKTzTHtkwcPHmzyaLw7dOhQk0efw8V1F1t0budihMaRZKMNt2GJ6/9PPfXUIO028dF36ST22rbcb003Rmm7cXFc25urW71e74ZJSRxLROeuHyXjlmsjmsfN9VzZPfBPKQAAAAAAAAAAmBw+SgEAAAAAAAAAwOTwUQoAAAAAAAAAACbnIy0CTNZ5j+VrcWsodX22O0/XOTqnia4XTX0Nzk+i6HpVXb/rjrlndetD9fouj65Pd+uctZwzZ840edatW9ccU4eDW1Oqa9/dmnqtI+cUcJ4bfZZz5841eXQNuXOR6PtXf8IHoffpfBX6Tlzb0nt6+umnmzyubvU85zTQ67m1+Ml66cSX4tDnd2Un5cwTF7dm4WJN4kJIfBkOXeftYo9rf+pi0nRV20ecr0UdMs5psWPHjuaYrvN37V/r0q1X1/ijHo6qrB7d9dXP5eKIjhuuHd+9e7c5puOGW6+vDgXnwtC+7uraeX50bHFOBfU+OV+GthHnlHKesTVr1sy8/qlTpwZp57TT2Jb2v8TFkJSj56XXT9pkMo/SuOH8SYkLwjnF3Jio6LO5d+2ur3HK5dGyXf/X/ufq38VW7ZPOaaLXd2Vr/En8dVVt/atjqap1wbhxXJ/NvTPnedI47eK/zvecdyeJvy4maSx1z69+QFeP+o7cnMHNkbSdOs+NxmhXt9omXTlujqwuIjduqp/HxXGNie766ksdyw1V1TdHcvTG38QNrO/a9WNXjrZJN/5qG3H+tJdffnmQ3r9/f5PH/f7Sd/ujP/qjTR4dR50b9Gtf+9ogfeTIkSaP844m3k+NG65sdUM5f1biGXNjm8YR51TV96bO5Q86pg4t9xtd5y2ubSVuQDe2JS6oZIzScty13Lit+dz712Mu/uhve+eGTuCfUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMnhoxQAAAAAAAAAAEwOH6UAAAAAAAAAAGByPvH90GDn5Ht6qpM/quzLiSZV0LVv374mjxONK06Qevv27UFaxd9VrXzOyfAS0bMK06paQZiTiGk9OtGwk7/pea6OEkGvStNUfOuuVdW+Wydf0+u7sg8cODBIO9F48vxOfqmiU1e3ek9OWOnkcyqIc2I7FQS659D2p/XxQddP5J898r1e8bhrI3rMtZFE9Kv35ER7SR31iIfdseRa9yvu/avEUAWuVV60qxJXV0datovjiTDcxTaVvzv5oo5JLtbrc7g2osJehxN96z06GaWOSa4eVYZaVfX4448P0u696bMkgkwXx1zc1nei43FVK3p395iM/+6daN0mEnNX/0lMdGOblpXECNdG9P27+OeOJfFf69bNkfTZXB9xgu6kb2udOIm2CtqdjNq9N71PN//UeZsbo3SjFSfDdW1U78ltIqOiczePVom3u5aLvxrvXN/WZ3GiZ+3vt27davI4dL7l6k3F6k60ru3fvWs3t9Z2kkjMXTveunXrh6ar/G8kbbeubbtnUbRNujb6hS98YZB2wuw/+IM/aI5p3TphvMZW1/+1H7tY5+KoXj+Rmrt2pPfknsOdpzHRifb1vpNxxI1jTn6ufdTJ0HX+4fq69ptXXnmlyfOtb32rOaa4MVr7jdswQ+/J3aOrEy3LbUaj7e/YsWNNHo3jbo5y8+bN5pjK351EXn/HuU2FNG64zWBcbNHxvndTtSSOubrVeYOLkXrMzSO03br5kMrwHfxTCgAAAAAAAAAAJoePUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMlpF91+AG4Npa5rTjwrbp2vrlfU9bNVfr22riF36+V1TbvzJbh1ropb56xrQd31dQ2nW9Opx9x6TbeGXN9J8o6cL0A9C25NqfNc6Fp4t85c1wK7Zzt06NAg7db9Pvvss80xfRb3jvRZ3DpXXa/r2qhrN9r+3PX1eV0d6Tty67Xdu9XrJS4Yh75bt6bePZuuoXdtVI+5e9T1+s4NpIQqvMhX1UPyrGNer5fkHWmMdm1U1+ffuHGjyeN8Kdr/nNNJ26hrs+ricN43t4ZfnTaJZ8Kt6XdxW3GxRdfru+vrMdfXtY+k3kONUS6Oa5tw96hxzMVx56JwZc0q23k/FPccDn02d9/a3nqdeq5vJXn0vbmYoee5una+pMSForh3lvgqEoeFm8epZ8qNteoLSbwzVW37d96zZIxOnB4uRmi97d69u8mjMco5lXQe697/uXPnmmPal5yvUtube//qC3H36Bwu+i5dbNNncd5PPeZitPvdoOOPe0c6/3dtVNt2OtfSunSxJZmjJG5MrZMx5x5jleXidjJH0f6exFqHi/+KayPa/5Nx9NSpU00e9cdVVb300kuD9NNPP93k2bFjx4emq9p2/OlPf7rJs3PnzuaYzvfdOHL06NFB2rUHjQnud5yWU9XGf+fU2rZt2yD9Uz/1UzOvr67KqqpLly41xxT3+0PLdrFW24gbR5yLTp/N/f7TOOLcdHrfzrHnxmidtya/v9x4qO1/YWFhZjkO/ikFAAAAAAAAAACTw0cpAAAAAAAAAACYHD5KAQAAAAAAAADA5PBRCgAAAAAAAAAAJicWnTuJn4qtUvnvLJyM04nVVKTmxF6JRPDu3bsz8zixnUobnSBOUfGtO+ZEk65svb6Tj6lYzT2HStOcjM0JGvU+nXxUjznRusoHr1y50uR5/vnnm2Of/exnP/R+qto6chJvlWG6968yvqpWSKftqKqVTzrRp0ozXZ9JBI1OPq19xLURrTcn8XR1mwiC9Zir20Ssl7DYUvF7UXSusbRXEKq4vu7EliravXDhQpNHRb+armr7n5NYOrHi9u3bB2knn9RjTjSpgshkU4+qtt84iaqW7YTp2o7ceODqX/toIlp311ecaNiNLVonbvybdU5V36YKVe2zuXlMshmEkgjDHS4eaPtL2pYrxx3TfupitJbt3qOOm26scWXrnMxthqBtwrUtLSepR3dPrmyVj7sNE1R+7aTeLm7p9d0cQeXDTkauYl0nUXby80Tsu2/fvkHajf86b0ik3lWtfNkJehUnUVcZtJORO4m93qeba+j8L5GRJ3Odqrbe3PxPjyWbWCSbCo1JEn96yqlq34l7/iTeJnHMtVHN5/IkmwFoW3Nzbff7Qzdx+PKXv9zk0TmJk/qvWbNmkHabKuzdu7c5pv3fzX80brr+r3Mb1x9c/Lt169YgrfVR1f5u1HOq2ud3cdz9jtM5qnu2p556amYe/d168uTJJo8bIx5//PFB2m30oW3U1a3GERcjXPzTuaTrf8mGKfobNdkcxME/pQAAAAAAAAAAYHL4KAUAAAAAAAAAAJPDRykAAAAAAAAAAJgcPkoBAAAAAAAAAMDkxKJzJ79KBMWJaFwFXU505gRxek9OoqryUydRPHz48Mx7VBltVSt2c6JZla85Qe3Zs2cHaSe1doJOfV4nqNS6TSTWThjv0HyubJVIPv30000eld8losmqVuzp3pGW5fKoNNNJXBNBrpMYq6DOvVt9NifDdPf0zjvvfOi13PX0fVRlMlAndtT37/Io7t0mJHFksRnrnhKJc3qtsepN24QTHbr71nyuH2ncdMJeve9169Y1eVRYWdWOJS5Ga791/UiFwanoWqXhLo5rTHJxRGO968cubusxJ7/UsdX1f40jaYxIxPr6bK7+NW6450/adq/oP+lHSZ9w52m9JWNEIjWvauvSvX/FjeNadipaV9mpk5+qINZdX+vE1bXrNzq2u/FfY4Qba/W+XV27+KNib/du9Z04Qe+ePXsGaZXjVnmxrgrS3QYRGpOfeeaZJk8yj3QxQZ/Fyci1LCeR1/jrfg84ibHOv915yUYv+t5cjHKb+GibcO0/2YwkiRE6JvaO9UnfTuKIw40RyWYM2o9cHenY7qTarv6TGKW4OtK44WJEshmTi2OnT58epLVfV7USbf1dWeX7v/4mdqJt7Vtuo4EdO3Z86P1U+b6lden6qL5Lt2GO9nW3qYLrt8lvNJ1HuTaqmzq4cpLNgBz6/C5GajnJpj4O10aTzbhUkO/edQL/lAIAAAAAAAAAgMnhoxQAAAAAAAAAAEwOH6UAAAAAAAAAAGByYqdU4gtx6HpRV46u6XTrXhcWFppjumbRuXj0mFsvqWs/XR63hjTxpagvw63X1TXE7jkcGzduHKR1TWtV6zBx65wTX8XWrVubY7qG1D2/viNXt+p5cO3KrTPWNcvuvtVX4ZxWiRvLvRNtt4lnxa1z1mc7evRokyfxA7j617aduLHS9q/11OuLSkhcMKnnpId5Oq16nm2eTi3XjvXdujwutugx96z6LEkbdeW4e9Jjzteg8ce5KNRh4GKEczrpfbo60hjlXATJtZxTRR0u7jyNty7+aqxL3IRVbf0nng33/hOSOUqvd0qP9cY692w6jjkXh5K4Oasyp43mSVyh7jkSp6ArW9tW4styeZxnbvv27YO0c6HonMw9R9Imna9U44YrW71zb7/9dpNn586dg7Q6pqqqnnjiiebYvn37Bunr1683efSY6//qa3ExynnetN+4uKF1696jxjb3G8H5+rQsN49M3q16xzRmV3lfjT5vEjd7x199R73Mcx7l0L6tvyuqqp566qlB2sVIfbcuHt66das5pu/NtRF1ASUxyl3fjX/qhk3cxEnZLta4+K9OZecr0us7714S61z71/etv2ur2v7v2rrWm+ujLkYl420yj1Vfk/ut7+Zf+i5dbNMY7dqRjiPpHFnjXxIPXazTsnu9c/xTCgAAAAAAAAAAJoePUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMnhoxQAAAAAAAAAAExOLDp30jIn21IS0bnmcaLZRNDt6JEIO9GjO9Zz/UR0qOLdqqodO3Y0x1RspsLSqlas7aRuen2VOla1Mr6qVsjp6lpF7070rfJRJ/F071/ld04QqHXpRG8q7dR6rfLyPxXUOfmn1q17/yqNc30t2VTAnZfIZ7UdO0FdIvZLBLmOpI/2lqPHxpJ4pufM6/op+k6S66fxrwf3jlTi6kSnGrec1Nsd0/av8aiqjRFOhq791pXjJJYqjXQxQvuRy6MxycXRpE7ce9TY6iSiPeO4y+ckskmMSkiuP0+SvuXaiG4ionLuquw53LvVtuXuUedbLo+2fzdGuvifiOb1Ht1Yr4JeJ5p3G71s27ZtkFbxf1UrpHVt1Mm3lePHjzfHdN7gBMU6b7l9+/bMPKdPn27yPPfcc80xfX5X//r8Sd9280gXN1V+7J5Ny3L1rxJzJ2xO4qaLNZcvXx6knWhY69+1dSdRTjaR0Tyubesxl0fHTSe1d0w5/icxwj2b1q2bI2g9urm2+42kccONrXfu3JlZjrZt95vJxX9to+63hm6i4CTe2v/cOO7qRO/bPb/2v0Si7vqo6//6LKdOnZp5fbfxlsYR1x9d29L27/Jo23LvP5kjus0YdLxzonE9z11fx3EXx5PNaJzEXOvExXpt24jOAQAAAAAAAADgvoGPUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMmJZQ5uDaOuxUycMsk6R7d+OXFaJWuhna9A79s9R+JCcevs9fqu7KQc5wvRNcNuLayuc3XrVZN17259cLLOXM9za6HPnDkzSL/55ptNHueZ0nX+br22vm+3XlvbsVsLnDg9XP0nvipdL+zWHTvPgq5zd2uB9R25d+bOU5yvIXFRJX1rVrlVbf2nTpux8szT+5Sgz+v6qGt/GrcTp5qLET1xxJ3nrq/H1INS1ToknBtm7969zTGNPy6OPvbYY4O0cyqoC8a1dddHNCY5z4PGhMR7kPR1d33XjvXZXDlJv3Vjq7ZTV2+J00TbfzpGj0XS/3u9K1pHztegfcv1Ndf+tC25tq3zDfcedfxxbdS9E21/7h71PPdsvfWv7c31P60TN0arn8TFEffe1M/pnFLal50L6NKlSx9ablXVV7/61ebY/v37B+mdO3c2eRLvpj6be0cOjdvu+dW94+aaTzzxxCD96quvNnncHEmdVm7+qXNCF1u13bp3ncSf5HdEMra7/qfesxs3bsy8n6rMFzgWSWx33iH1taljqaqdtzvvlKs3dfE4F5G+ExdH9frud4Rz02ks2bhxY5NH+41r6zrXc3Xk4q/Wt6ujXbt2DdLuN6o+r/s95pxWiVNQY5LzTmvZve04Gcdd/1fcmJXMfx06Jrm2ldx34t118TcpJx0TZsE/pQAAAAAAAAAAYHL4KAUAAAAAAAAAAJPDRykAAAAAAAAAAJgcPkoBAAAAAAAAAMDkxKLzRL7q8qg00IlOlUSYXNWKvdz1VUjmRGsqrXOiOycRS8RqKiRz11ec6NqJvlV+5iSOKs1zz6byvU2bNjV5Emmbk8+poM+9R5WPOhmfk4/qO7l8+XKTZ+vWrYO0ExSqWO/WrVtNHvf8KnZzz6bt37Ujd0+Ke353TNG+5K6v/Sbpa45U7NdTzmKj9zTPe0wkgi6OuH6j7d8JElV062JEIjF096335GKbPsuOHTuaPCoadRLT3bt3N8fOnTs3SCdxxL1b3VTBySBd3NTxx0lsZ91PVVuPbqxzEuFE9qnP4sZfbROpjFqv79qo5nHl6PNOHSN6paka/9yGMQsLC4O0qyPtt040687TvuXav7ZRJ3rW53fxJ5E4u36rz+aeQ9ukm2s4sa9KfJ1EWa+fxDonGnaCXq1bF381JrgNG/SdaFyrqjp79mxz7PXXXx+kXb099dRTg3SPeLfKP5vKjl0bUSG3K0frUe+5ysdklZi75+8RjScbFrmy3HnJhjHJ76ZkbHHoeDOW6NzF6GQzDN3Ap6rqrbfeGqSTzTjcXCPZIELnQ1Xt+Oc2Y9E26t61ezbty9/5zneaPPosST26eZxro/p7x8nYtf0lv/V1AwNXTlU7ljiJuOZJ2noiTK/yz6L0bBiVbDxT1T6L63/6LC5PEreTbytu/J11P46kHAf/lAIAAAAAAAAAgMnhoxQAAAAAAAAAAEwOH6UAAAAAAAAAAGBy4kXIiS/Hoes13TpXXWfp1ou6dea6PtitBVZfj/qL3PWdL8Ct4dywYcPMe3THlJ41nVWtw0T9AVVVjzzyyCCtjpmqdr2ucyq5dbf6Lp1TRevbuSjUhaKOgSpfj7pm3a0X1/XJWh8Ot17WvROtJ7eGXtdVu/bXi64PTtZL9647TtZd95L4qrT/JWvaq9rnTVw8rh2pw8XFAxfbFLdePnFaaL9JvDNV7X0nngXnC9G+7Zw2CUlsc94PdTG4Npp4JhLvkStbn9+V49rf+fPnB2nnFJp1P+6Y89C596Zt0sUfbTfuHrVNJn2tqo2lrv9pHtf+9d2m3rueeJd4N1w7Tq7vvF8XLlwYpF396/t2/TjxNaljp6ptI+7Zkhjh6k3brWvbek+u/2l7S/w9VZnDU+cbzvui8c7Noxxaly7+J74wnaMeOHCgyeP6pD6Lc2olMVLbrWvHrv4Tp2zindP37eJfMkd33qnk2ZK47Z5fj7l2q/Xf64vRst3vgaSc5PrJe0zcmFVt3bp61LLcbzSdN6gHsirzdSXXd3M9Pc+1UVd2j3vHvUcdE9zvsfXr1zfHNLYkvjrnRlLcO0qcUm5s0TwuRu7cuXOQduOh69uJU1HfkYuj2v5cHHXx//r164N00m4Sp2bq+E2cdtpH3fNrm+j9zcg/pQAAAAAAAAAAYHL4KAUAAAAAAAAAAJPDRykAAAAAAAAAAJgcPkoBAAAAAAAAAMDkxKJzJ39W+ZsTfe7YsWOQ3rhxY5MnEZYnou09e/Y0eVT+5kSHKvpKBW0qjXXCOr2+ew6VhqXX12dx8jeVrzlBmd63k+E6+ZqTtinaJpx8MCnHiSZViOfq6Nq1a4O0tseqTMbrUCGea/9adiLodc/hBJHJfWrbdveo5bhyE7FlItF0OCHmLFKpcSKx1rrdvHlzk2fbtm2DtBPoOkGi5nOxTa/vJJrat931XRvRY65vaxtxonGtRydRdPek8kN3nkqkXfvTDQpcXSdiySNHjjR59HmdxFPbjYujbmzRNunerYqOE2GubqBQ5d/tJz/5yZllq+jZiUb1/bv6d3Fczzt58mSTR6XRLtZr3bp3lMjHdTyoqlpYWBik3UYfesxJZF1M0mOu/rX9uedXGbgrx703PebO0zbqYlSyYYJ7/4nEWecErh/pnMjVkYt/69atG6TdHFHjvXv/p0+fHqSvXLnS5ElE3+75tS27utV586OPPjozT1X7LO7dKm6un4juE0G0i+06biQbHTiSeYSLEXosqaMUHZMSQbEjkYjPunZVVo/J9RPctdz8qyePezbXbpLz9Jhr/xqT3O8YnRMkG3+46ycScVeOxrr9+/fPvMeqdv6hmwNUtfHObaqj/djdoxONa90mv/XdHF1/o7p25H4jaz533zpHcnMtfQ63YYYrW8cIN/5pHjdGJTJyN27qO3FzO71v941C68T91k7gn1IAAAAAAAAAADA5fJQCAAAAAAAAAIDJ4aMUAAAAAAAAAABMDh+lAAAAAAAAAABgcmLRuRPdqVjOCbpUmrZ3794mjwrxEolYVSuSU9FbVSsxVGGZwwkznTRN5V9OYqv36GTAWo67ViI/dWI1FdQ5iZnWv3sOFX1WVV26dGlm2So/daK5Xbt2zczjnl9lv050qHV76tSpJs/atWsHaSfDdII+FdQm783JD/W8XhmmQ8tKhJWJDN3h3n8i8dNj7vkT0barW83n3lEi+ldpn+sjro1q2U5iqfXtJJIqsU2kwlWtkNO9R72+i396vSSOVbUxysXfRBCpfdu1NScf1jq5ePFik0fvKZHxuhilMnZXVq/8VdvRs88+2+Rx49/169cHaSex1zbpJJZ6fVdHrk9qjHZla79R8XhVW/+uHbln0/ftROfaltxzaJt010/itqs3baOJaNTF8d570v7u+r+KrVPRvD5b0v4TGbCLdU4QrnXp2sjZs2cHaRfbtf0lG8ZUtc/m3puW7WKrbtDw2muvNXmcxF2F6Mn8w40t+r7dXMvdd/L+9Zhrs8kcIWl/8xSNJ8d6hOG9jDmP7CGdR+oxNx7q/DtpRy5PUifJpj4uRiZjpOs3yT3puOmur/NGFw+dIHz79u2DtNswQTf6cZsBaNxwbd31US0r2UTBzRG1vt1vDZ0PVbX1lAjaXfzXezp37lyTx21Qk8w/NY/+9q5q5zbu+ZMNetzvGG2jrhwVzf/iL/5ik2fnzp3NMYV/SgEAAAAAAAAAwOTwUQoAAAAAAAAAACaHj1IAAAAAAAAAADA5sVMq8V44F4KuhXVrERW3Xtatc9S1/84XoWtY3VpUvUe37tQ9vzo8nK9Ay7p161aTR+vErenX9ZpV7dpTV0da1uXLl5s8ek/ODZCsl3e+Ar0nV7cvvfTSIO2eX9c9V1U99thjM887fvz4IO28G/r8bt1z4ktw71bbjasjbTfO1+FI+mTigtL2755D3URV7btN+pZbr6114uo/Wa/u0LXQbv2+1qPz3mi7cXXvztMY5ZwC+vyujvSduPfh7kmf18WIxOmiz+9i/YULF5pjuvY9qX/3bNonnHfLtRvN587T512/fn2TRz0Hrh6d00r9ZOqvq2qdBlu3bm3ybNq0qTmmuPEvcVppTFYPZJWPW4rr/wcPHhyk3RipTgP1kFW13h+Xx7VJ7Tcu/mu9uXrU6yXvoypz4WlMcP1Yj7n32IvWWzKPc7g2kow/WkeJ08XVo7tH7Vsu/iZORzf+zyqnqn1PzpeiZbv5r+Zx1zp8+HBzTB0mTzzxRJNH410y13FjhKvbxPPj3CeKPm/iJnLXc/eteRJ/btKuF5tef1UyRifez2TMSNH6d21N25F7165O9P0nTtne38PuPO1v7tl27949SDvvqfrjPvvZzzZ53Niu13N51JfpYoTO0V0fcb8tTpw4MUgnTsskjrrfUe6d6JzQPZve96FDh5o8Z86cGaSdU8r9Rk3mKFqWK1vncW6O5NzIiqsj/R3j4rh6VrU9VlX9/M///Mzr808pAAAAAAAAAACYHD5KAQAAAAAAAADA5PBRCgAAAAAAAAAAJoePUgAAAAAAAAAAMDmx6NzJv1R25yReKt86f/58k0fPc8JUJ9ZSseypU6eaPCrb6xE/V3n5l8pXE4meE91pHblrqVS9qpV4Ohm6is2cIE/rxMnQXP1rm3CCQH0WJ/HTZ3vmmWeaPE4QrO/fCZK1bTlBrYptU9HpihUrBulE9O1E//ocTsbs5MtatpPYa9lOkOfEeooTFGs9JfLdROKbSDQdyfUT0a3KuV0eJ1F08U/7hAoDU/T5nRzW1Zu2JddHFVe2ir2TDQOq2ljiYque52K0xrpt27Y1eVTG6cpyz6/vMpHxb968ucnjBOUqDXUxWuOIu8dkHNM6qsoE1YoTfat82fU1FZZWteO9ux+VobvNMLRO3D268V+Pqfi5qo3bLtZon3DXdyQS5R5BcLKpgSsriZHJ9RMZsjvmytZjLo/2URdr3dxGj23ZsqXJo3MLV7bOG9x7dO3WzeVm4Z5fY5Lr/06Qrvf01ltvNXn0eV09avx3Y0QytiYy/ERinvQjd71e+XbSj3v7TYJez/VjbSOp6HzMTRN60LaUzP/cPScbNri2pXMU1441jxujVfTs5iOub+3YsWOQ3rlzZ5NHY5SbR+hvlEQGXtWOyU7irddLNsNJNtWqat93IlF3cVxjtKtrN2/Usdz9/lpYWBik3aYSKjo/duxYk8c9v86Rkt9orm9r/Hft2LV/HVtd29bfLW6s1zaR/NZw8E8pAAAAAAAAAACYHD5KAQAAAAAAAADA5PBRCgAAAAAAAAAAJid2SiVrmN2aal0f6ZwOuvbVXcutj9R17m4tsjtP0TW1qVNJ11Um13JrMd36fOXJJ59sjunaV3d99ZU4tN50bXSVX4uqz+LWMKsvStdPV7UuFuddOnLkSHNMcZ4f9Uy59cp6386f5NYC63u7cOFCk0fblntHyZrmt99+uzmmvhTna9M+4p5D87h+7Nqo9onETeDaUeLLSVxw7vpatqt/bf+ujvQ9pveoZTvvR0Liq3DtX70Kbi263qNzMWgbSV1FSUzUe3LX1+u5GOWOaX933qX9+/cP0rt27WrybNy4cZB2Y43zLGi/cc+mZTlfkXrOrl692uRxTjs33ig6RrgYre3PeQ+cr0a9AqdPn27yXLx4cZB2z6953LWc0ydx8SRuTD3mxrpeenw1qdMpKbvHDejq0Y2tms/FKG1/rm61HBdXnC/kwIEDg/SePXuaPOp+cXWkcxSXx43/Gm9cHWl9u7FW56QujrixRV0gznuncdPNv/R5k3dd1fY/17a0TaRte9Y9unvqdUpp2b2+JvfbQuebrv51TuLy9PgDp8b12+T3T885bh7t2q32GzdH0PPUFVnV/tZxTin3e0z7pPPeqh/JjXXqOHZzBNdGdGx1v3803rhytE+4+Zh7/iS2qNPK5Unmes4zpS7M48ePN3nUIeV+j7388suDtPvNmvhqXRzXeku+x7hyer9RJL8RlTRGKvxTCgAAAAAAAAAAJoePUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMnhoxQAAAAAAAAAAExOLDpPBMFObKViPxVPV2WicXf9RKKYSDsTnHzRHVNU0KbpqlZG6e7ZyXdV7OnqSGV/a9eubfJs2bJlkN6+fXuTx923ygbd+1fZnxPdqUTNSQzdeYkgUqVtrm2ptNBJRJ1YUNuyiser2jZ65cqVJo/et7tHd0w3DXD1ps+fSFSdMFmFxVWZ/FrzaLqqrW8njNbn6BWNOkGfluX6n96jex8JibA9iStpXNPrubKTshIZvSN5FhVUunP0HWnMrPIx4tFHHx2kVVhe1Yq9VVha1bZbJxF1Yk+Vlrr2/81vfnOQvnz5cpMneUdO0K1x25Wj5+l44M7bvXt3k+fo0aPNMRWCuhh55syZQfrYsWNNHpWROomna5MqzXbnuXjfk8eRzJFmnVPV1n8ifnbXS/qti/Vab66vuX6j/dTJZ/V669evb/LovMX142Sjh+TZ3BihY1uy8Y0ry4l2td7c9TVGOtGva6Nalos/urGAezZ9jy7WufvWOamrI22TLo/Wv3uPjqS/ab0lvyPcHMlJjFV+f+PGjSaPHnPzKDcnUrTedOxLSSTGvXOUZBxzv2P02Vwc03n8zp07mzwu/mhbdnMLjT9uwwB9NtfX3PtfWFgYpF3b0rm+29RINxFx7dG9tyRG6O8G93tQ5zquj7q2pflcbNN+7H7HaPx3G2a4GKn1rVLzqlZa/p3vfKfJ87WvfW2QTuaxVdn8V/u/y6PjWDpn0XeSbHTlnkP7rRPmR/fTdRYAAAAAAAAAAMBHgI9SAAAAAAAAAAAwOXyUAgAAAAAAAACAyeGjFAAAAAAAAAAATE4sOu8VhqvELBEPJqK9qlZ25wR5KvtK5GNOKuikbSrxdhJLzeNktCojd6LHJ598sjmmIr9E4rZv374mjz7bW2+91eRxdasiRSco1bpUqZ+7fiKsrWqfzYnO9X070aDWvyvHyYcvXrw4SKsw1KHnVLXP4dpfIlp371+f10kMtb25a926das5pkLORNCZyv9m5XEyShc39Nlc3eo9pRLvnuv3isa1/yWiUXf9RFCY3I+rI1e23qerI23/7t0eOHBgkHYSV3fsJ3/yJwfpRDTrnk1FpypHr/L95j//8z8HadePEolxjwy0qu2Trt1obHUxQs9zMtZE4uo2evjGN74xs2wX/5VkMxTX//W8JB65azm0/7n2n8x3kj7p5ig6tjkZuApS3TxGBcFuwxQV3Va1EmEnQ9d7dPMIvW/XRs6dO9cc0/bvYosKWd271ed1cwTXRjWWuPan47jWR5Xv77OuVdX2ZbdBhz6/G8cV10Zcv9F7SsYNF390/uXakcqgq1ohv5tb63nu3WpsP3v2bJPHtT+tWzdHS8boZB6j9bZnz54mTzL/cvEo2bBB8yTC5hQVLTvRtfY/3Qiqqv09VtXGFjdG69ze9SPd/MTdY7LRUPL7w/2O0nbsNhVz8mkdW5J360Tn+tvSjTVONK/jj4sResyNdTr+uHp0se3VV18dpHXjlaqqV155ZZB+/vnnmzzab9ymKg49L/mNkmwYkcQRdz1Xt67dzrp+L/xTCgAAAAAAAAAAJoePUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMmJnVJufbCuIXTrFZO1yAluTaOW5a6v6/Odm0HXx27fvr3J49bH6nluvfKWLVsGaedL0Hp0687dGmZdH+s8D7o+Wtc9V7WeK7fu1z2bcujQoeaYroVO1pS7NuKcCrqG3q3h1WdLvEvuWm59tq4zd04DvV7iwjh16lSTx52n9+TWS2u/cfXf64tLXATq50icKm5tsuZx9+zaTY+vypHEMXdPiWdBy+p1Mbi67fFFODSPu5+kbBej1QXlfE1bt24dpJ0vwzlt1GGk8biq6vDhw4O0ekiq2v7nYp3r/xpLXNvWNfy9jiF3nuZz4+iuXbsGaeer0H7sYpRzMWg+dWxVtWOU81VorHf1mMw/3BiR9FF9fncth9Z/EiOS8c95h9wYrU4nN//QMdKVo9dL3JhVmWdDXTBJHHHlOBeGzpvcPErfpevHen3nZnFzBO1vbv7h7lvR5924cWOTxzmtdE7o4p/2Jdf+9fou/rtjWt/u+bX/v/nmm00eje2uzpz389KlS4O0e0ca7/ScqnYccf5A58LSY0m9udii5bj2p3k+97nPNXkSz4xzqiVuPH2OdI6kZbn2p3ncPep7Uw9QlY9tiXdQ/UTOn6jz78TfU5X9Ruhxo7r6d79jkzFKcc9/5MiRQdp533Q8qmrHEnd97bdPP/10k0fHSPd76Gtf+1pzTB3Kbo6iDqnEn5T+Rkmccon3NpmTJL+/XIzWe3LPlvSjBP4pBQAAAAAAAAAAk8NHKQAAAAAAAAAAmBw+SgEAAAAAAAAAwOTwUQoAAAAAAAAAACYnFp07eiS+Tsalx5zEy0kcVVrnBNUqUXOiTxWyuWs5QZwKwpxET4+5slWG6WScTlCrsjH3/HqeE9Qmot033nijOab3uWzZsiaPPr8TpKlYOBE9VrXvxAnaVNDpJLoq2nTCTCcfVPmhyjCrqk6fPj1IO4mnChqTPlKVCaq1/zmJnva3VFCZSLT1mCs7ydMrLE8k4gm9GzT0lJ0Iyx3u2RKJZSIaVbGou59Efr5///4mj4rOd+7c2eTZu3fvIO1ijRMUKy7+6rO99NJLTR6NI0606/qo9i0naNUY7cY/FYS6WOfajdaJE4SqtNcJQpUTJ040x06ePNkcU2moE/Rqnbjra6x3bS0RhPb2/160v7nra7txebTdbt68ucnjJNbabtz4p3MkJ6PV9u7q37V/fX53no5/x48fb/Ikomk3R9J+6zYxUEG7iyMq8XdzNNcntWw3j9S6dbFF+4jOWT6obO0TLv7pxhJuwxytW/euXb/V9+Te0be//e1B2sWRJ598cpB2G/Y4+bK2m4sXLzZ5tCxXtypaTkTjVe0c0T2/zi31nKq2bl05iTB5LNw8Iol1iSA9wZWt79+9x94xQuvb1X/vZjj63twmDmNtWONIfiPoMRdrtL71t0+Vn9tp/3Nj26c+9alB2m1qo/3G/WbVWFNV9Y1vfGOQVvG5Y6zfI2PSW3bP78iknN72yD+lAAAAAAAAAABgcvgoBQAAAAAAAAAAk8NHKQAAAAAAAAAAmJzYKeXWFLp15bPOS7xTznvgfAnqK3KeEfVz7Nu3r8mzZs2aQdqt6XbrfHUtuFsvrJ4B5x1Q0nXXus7dranXte/J9d16aYe+E+dr0OupY8HlcW4sVyda/67dPPHEE4P0wsLCzOs7N5TzJeiaZfWnVFVdu3ZtkE68O64dOZJ15krvOl/nuUnWovf4osbKk56X0LvuWustcTE4Eu+TO6Z9yblQkrXgeo+uPThf31NPPTVIb9++vcmzZ8+eQVr9Ue76buzROF7V+gqcr8bFBEXr3/VjN0Yo7l3rO3JxTN0szungXDjqh3HeQ3X6OO+VuvBcPbr4p2W7tqX1lniXxvQ1jOVUmGfZ2kbcfGjDhg3NMe2nbozQmODGP30OF0dcTNB+4s7TeYubf+n7d3MU5/TRfO75tS+5vpU49Vz/Vz+X8zX1+DrcXNf126TetC87X5O2LXd9F9t0/unixttvv/2h51S1scV5z3SuVdXOkTVd1bpw3Dxa469zjLq61fae+kKVnnnbmP6axJfUU4475upD+61r64obo90xLSvxpzrvm5LMo3qvnzil0jnirGt90D3Nwvnb3BxF5yS7d+9u8mzcuHGQdk5BnaP8y7/8S5Pn61//+szzXPtL5ii9zMszlZab9O2ee+xpM1X8UwoAAAAAAAAAABYBPkoBAAAAAAAAAMDk8FEKAAAAAAAAAAAmh49SAAAAAAAAAAAwOR9JdJ6QiH61bCdjVRluVdWSJUs+NF3VSsuWLl068x4T8WBVK2R0Ej2VLzpBoh5zwk53TO/Tye8S0alK+9w7cuep2NyJjlVs7upW35t71kSQ/+ijjzZ5zp49O0g7iemFCxcGaSf6PHnyZHPsxRdfHKRV6lvV1q2rR63vRFiestgS8XlefyzGkha6tq39zz1Hcn1tI4lUvaoVrbq2pRJHJyNWsayTkbsYraLzHTt2NHlWrlw58/r6vE6Y+dZbbzXHNP4mEuVE9OmkxirjdGU7QbCKzZMY6cYRV/ZnPvOZQfry5ctNHo23Lv6+/vrrg/TLL7/c5Dl8+PDMe3JjpOIktroZhav/qeNGQiKfTdC5hpPzu3Fb68nVm75vt6mH9kn3Hl380ffmJNYqiHabseixdI6kdeLalkrkXZvR89w80m3iovXm6kiPuTmKHktifVX7/Il81onuNW470bATjWucOnHiRJNH27KL0XrMScXdeSotd6JzvUdXj9r+XD329u0kRiUbRk3JmBJtPebato6JbozU6yd9zZH81kjmCC5GJr8t3RwtqSO973RTnUR0nWzGpOW4DQMS0burt3Pnzg3SZ86cafKoxPzLX/7yzHLcPSXP78aoZK7fOx8Z63dU0kd7Y8tYcx3+KQUAAAAAAAAAAJPDRykAAAAAAAAAAJgcPkoBAAAAAAAAAMDkxE6pZA3xWOsc3brTXs+AluXWout60dRppH4E50tI0LLds7q18Ldu3Rqk3X07h4Si65zdeuVNmzY1x9Sh4DwviYtF20T6/j/5yU8O0m69sD7LxYsXmzznz58fpF0bOXr0aHNMPVOubet9u3ak3im3prp7fa60bfdue30FUzqlEpIYNc/10u6YtuXk+s4pkHjGXB71pbgYpQ6NNWvWNHl++Id/eJDev39/k8e5ANWX5Hwd6gJx7V8dRs5N4lw42kedL077qPM1ad2qT6+q9W5VVT3++OOD9IEDB5o8Gm/UsVXVvkfnT/z0pz/dHNOY7Fww6sdxLobXXnttkH7hhReaPC626Lt1vpykj2j993rvEnpdDA59NucUSTw/2iZPnz7d5HFOH603FyO0T7o+qvftxmNHz/OPOf4pbmzXmJjE2sRNVdW2f5dH51HuHt31kjyJ01XfiYvjet/uHnUeVVX19ttvD9IubmtMdnM09X66WO/myNqWkr6W9P+0PWpb6nUxLTZj3WNSTjJHTdpxWteJZ6pnjpo8R1XbRlKn8SzSsa9n/u/6v8YI947c/EvnHzpnrKp64403BulDhw41ef7zP/9zkHYeYHdP+p7cb9Tkd1wv95r3cqz7wSkFAAAAAAAAAAD3DXyUAgAAAAAAAACAyeGjFAAAAAAAAAAATA4fpQAAAAAAAAAAYHJi0bkThM1LYn758uUmj5M4qpAxEXQ5QWciQ3RiNy3LiUaV5PmdxDGVr8/C1aMTiypOIpkIgrdt2zZI79q1q8mzsLAwSDth8E/+5E82x65cuTJIJ8+h16pq6/b1119v8hw+fHhm2U6QmkgL9b5TQWKSJxEEJ6LZRFA/T4n5YssAE5J77BWd6ztKhK1VbdxSqW5VG0e3b9/e5NFNBfbu3dvkcc+mgtrdu3c3eVRa6SSWKgzWvl/VSnWr2ljq2rbGRBVvVrXPpptMVHmJuMZE9241Jrp73LFjxyC9Z8+eJo+L0VpP7v2/+OKLg7SLdZrHjYe9EtlELJ0w1kYradk9uPFX+7K7lo5RblORGzduzLx+shlDL8l7HGse6Uje/1ibYbg+6sZ6nSMtW7asybN27dpB2vVRLdtdy9W/Xt/l0eu7jS60vbl7dPPWS5cuDdIuRuomCm7DmlSs30NPG3Ek4/ZiM5Zo3T2XluPqI7m+61v6jlzZumGQ6yNjxb/ejb96Je699zTrWul5ek9uHNMNMtxmMBprqto6cb/RdDMKt9HKkSNHBulEal6VCfKVqX+P9PzWGlPGPuVmDPxTCgAAAAAAAAAAJoePUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMnhoxQAAAAAAAAAAExOLDp3oqtE9pWInhUnkXWiQxUiJhJnlbG5sp0gLZFoJ2K/RDSXSsX0ek4+p2Ulwkgng3OCSpXfnj9/vsnzmc98ZpB2wuwtW7YM0k8++WSTx5WtEuGNGzc2eV5++eVB2smQz549+6HnVPk2qfXk2rq+b5UxVrVtMpHBuuunYslZjCUerhpPht6TJz1vLIlfInVOBJmpoFN5+OGHm2Mqrd26dWuTR/vfvn37mjwqqHT36Pr2Qw89NEi7vqV9W+XoVVUnT54cpN1mGEkdLVmypDmmz+JipIq9XV27+Kv36SS+jz766CCdSIRdnqtXrzbHVJDt8vzHf/zHIK1xvarq4sWLg7QTlroxQtufq9ukj/bMIz6orJ7r947RySYS+mwujri2pfTed48gNRW9JmX11m1yrbFieyIjdnWi7V37UVXVmTNnBmm30YLOG9JNVbQt6aYWVVUbNmwYpJ2wPNkwwvV/3fznrbfeavJonSSi6/T3SE/762WxpeYfl81gEom6a+t6nnuv7jyNrS7+JhvNJHFsLBn5lOLpqiz+6Zxo8+bNTR43/9JjujlCVdVXvvKVQfrNN99s8iS/0RPRuXs2jb+L3dcT5tlG5imD559SAAAAAAAAAAAwOXyUAgAAAAAAAACAyeGjFAAAAAAAAAAATE7slHLrA3Vdu1tnqcfcWnj1jri1oW6du+ZzZSd5dH2kew63FrVnDbHLo/eUuoH0PtV74ki8O8m1qtq12CtXrmzyqGfGOUXUaeC8K87FtGrVqkH629/+dpPn8OHDg7Tz1Xz9618fpJ0bIVmL7NDnd04zrX/3/t319dhYa9jdtXp9TQm9vqiePGOep7i4pX3Evdue9emur23atKk5tmvXrkFa/UVVrYtt/fr1TZ7bt28P0gsLC00e19bUl3Lz5s0mj3reTp061eTRfpM41qra+u/1legY5fxZWkdVrR/G1a1e7/HHH595/SNHjjR5NI66stUfVVV14sSJQfr48eNNnmXLlg3SN27caPKsWLGiOXb37t1B2tVbTxzt9SWM5ZTrdUq4cUzbZOKUS+cISWzref4x/U3JPFKZpxtwTKeVvks3R9O27WK71pGbD+t8qKr1BboYofeU+Ho0ZlT5uHHs2LFBWseDqtZ718vUnp15Mc95zJTeNUfitHX+PG3/rh9pHHVxJHGxjVX/aYxe7Pjbc73k96Dzl+p8tKqNSa+88kqTR4+pT7iqdVq5uOLajd537zi62PT4I3vLTsApBQAAAAAAAAAA9w18lAIAAAAAAAAAgMnhoxQAAAAAAAAAAEwOH6UAAAAAAAAAAGByPpLoPJFfqXw2kXimElsVySVir0QQlz5r73lK8hy9YtVEvqe4d+Tkm/v27Rukt23b1uRRifKSJUuaPCqtczJgJwh/6aWXBmkVJldVHT16dJB+4YUXmjwq43UkMl6HivVc/fcKwxP57axz5k3S/pLn1fbf20eSPtrTZ6syQWciw3WsXr16kN65c2eTR6W27pirI73+xYsXmzwnT54cpJ2w3PXRq1evDtK68UBV2/+cDDWR8Tv02ZINC5J360Sbrm098cQTg7ST0T/yyCODtNto4cCBA4P0O++80+TRDRuqqq5cuTJIv/HGG02eF198cZB2wnKNY05Y7t5bshmD1nfSR9P3nzDWhg2ORBDbM0fpJdmwxpHE1t5NHHrmNmOOYz31nz6riu03b97c5Fm3bt3Me9Q8Oh5U+XmTbrTgBOl63248UrG524xCxwh3nhs3Pi6C8l7mtdGLkzonou/euW5yjy5uJ3M7fRa3YUlyP70bPSljbrSh78Q9W88cNR1HkjEquZ7Obdwcdc2aNc0xbRPuN9qlS5cGadeOdf6ZjGtV2e/4RIafzPV7f1v0bGKQzmOSbzQJep77PZTAP6UAAAAAAAAAAGBy+CgFAAAAAAAAAACTw0cpAAAAAAAAAACYnL5Ffx9A4oLo9S7dD7i1uIlTQ9dipvXRs4Y1WS+6Y8eO5pjz1SxfvnxmHl1D7LwH6p1xbhLNU1X1+uuvD9KHDh1q8hw7dmyQduvs7zV618KP6UJJrv9/mXS9uLblpG+rh62qavv27YO062vqJqqqWrZs2YfeT1XV+fPnB+lr1641eS5fvjxIO6eRrvt35zkXUbJeX+Nor/fP+Rr0nlwedbG4az399NPNMX1vLrauWrVqkHZOKXVB3b59u8lz5MiR5tjBgwcHaef06vHe3a/0zlGU1FehuLal3iE3j0i8S70uiB43p2MsX0vCPNtj0v5dHueL27BhwyDtPCv79+8fpNeuXdvk0bjhHJ9ubqPuO9dG1CH45ptvNnnUF3Xu3Lkmz9mzZ5tjOpb0tlHl4/Q7omce93GJx/cL82xb90O71X7r3FAax3Tu6cqpauckzg2ccK/9/qGP9sE/pQAAAAAAAAAAYHL4KAUAAAAAAAAAAJPDRykAAAAAAAAAAJgcPkoBAAAAAAAAAMDkjCo6dyQSv14ZpuZLzpunfMxdP5GIOvmp4u47kZ8q27Zta46pjNNJPFevXt0c27dv3yDt5JvvvvvuIO1Ey1euXBmkVU5e5SXKKuR0gjytox/6obbJ99RjSo+0sld03nv9hLHKSSS68xQ/9j5Hck8qLK5qxY5ORqui6927dzd5VJjtrvXee+81x44fPz5IO9G4SrxVfFvVytBdf3Q8/PDDg7TGg6r2najU3OUZE42/Lh5o3Hj22WebPE4+nwjqVWzuYtSrr746SJ8+fbrJc+bMmebYiRMnBum7d+82eZYsWTJIu/ifyOinFHuOGSOmFA27uu3ZDMG10XnGtt6yx4rtWm/JpjIOJ9rV81z/0zjmNqNw8l/dfGLv3r1NHhWkuw0rdP7lNjpQqXlV27acjPyVV14ZpHXMqGrF5m6jCze365lbJW3tfpBDp/T0v2QelfbZxRYyf5ze5ccV7cduwyqNWzqvqPLzv29961uDtJvbfJyZ12+0ec6RkrK7x/quswAAAAAAAAAAAD4CfJQCAAAAAAAAAIDJ4aMUAAAAAAAAAABMTuyUStYw34v0rMXuxfkierxXrhx3j86PoOzYsWOQ3r9/f5NH1wc7N426UapaP4rzzOjzHj16tMmjngPnS3jttdeaY1evXh2kly5d2uRRh0ri75oniYtlnv1qLDdIVd+64qmfred6vWuhnVOjB+fh0HasHrYq7xRRF4pzWqkvxHlHtE6c08qRuIjU6dIb65xTxsXSWXlcjHjuuecG6cceeyy6vsbbhx56qMmjnq+XX365yaNOqcOHDzd5bt261RzTunTX1+d3dX0/jPVjuZGm9k4m3GtzlJRkbBtrHHHtVv1Qrv2rC8o5nVasWDFIu7nG8uXLm2OPPvrozPMU52tR75wba27cuNEce+ONNwZpF1s03l++fLnJoy6Y1HGavH897351DI01t5pn/EnGQ8e9Fv/dc8zTDdtDGuuS+LvYfULnkS5GakxatmxZk0d/s1W1buDEzQzjsdhtS+FNAwAAAAAAAADA5PBRCgAAAAAAAAAAJoePUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMmJRedjCUJ78/RKTKcULffK9xLRYSL6dYLMZ555ZpBWYWVVKz/es2dPk8dJfPW8jRs3NnlefPHFQfrIkSNNnosXLw7STrTsBKUqMVUZtGPqNpK82ylFl2OSbCIwRrm9eVy+eUr9nCA7ETRqu9X+UNX2NXctJzG/du3aIO02EdCY4O7Z9T/FyXc1/iWbOLiYqcd6378rWzd2ePrpp5s8+/btG6RXrlzZ5Nm6dWtzTOOmSs2r2pj4ta99rclz4cKFQdpJjV3d6vVc+09k9PdrjLrXcO1P31vv/MfRI5qeJ73PpnWU1GNVG7c2bdrU5Nm8efMg7eYx69atm3mP27Zta46tXr16kHYbvahE2M1jjh07Nki7+aCbW+n86/Tp002e7373uzPL7pWRJxLnscboKeXXvfHv4yxsTubRix1rEsaKtVMLpKe83pIlS5pjySYOr7zySnNM5zaOZB652Mzzd+SU3zEcPfO/7jjedRYAAAAAAAAAAMBHgI9SAAAAAAAAAAAwOXyUAgAAAAAAAACAyeGjFAAAAAAAAAAATE4sOnf0yLbGksil1x9LyNUrWlecMFzLTmWAKvHcuXNnk+fWrVuDtBN9btiw4UPLrWplnFWtIPOll15q8qho00ntVDTsSPKo+LwqE8T3SuN62t+Y7Xix5XdTihV763Fe9+iu5fqN5nMycD3mZLTnz58fpN1zubih+ZwgUvuNk6irDP3BBx9s8jiJt56X3Hciw01Fl9r/XTzQ+JcIi108dOh9njx5ssnz1a9+dZA+c+ZMk0cF9S7Wufan79LVrb5LlyeJNYstP5/nJipjMbX8Vlns95Y8v5sjJTHCiXa3b98+SKvUvKrt72vXrm3yrFq1auY9btmypTmm8WbNmjVNHo3tLkZcvnx5kHYbVqgMvarqypUrg/SdO3eaPD19e57tuLePTn1P9xrJGHk/PMc8uRfb1mKPCQk6j3DzKN1o6/r1600eJzrX35H3Q33Msx+N+Y1krLKnhH9KAQAAAAAAAADA5PBRCgAAAAAAAAAAJoePUgAAAAAAAAAAMDmxU6p3DWXPGsZ03e+U66OTe+r1TvWUU9W6QFasWNHkUT9C4otSD1VV1cLCQnNM3Sff/va3mzzqPnBOHXXRpE4tzedcOLqu3pWd+IoSEhdDb570emOcs9jrjnvdMPOMB0nZbp291qVzkWgbde1Y223qVEruW/ufixHvv//+IO36sfMcLVmyZJB2brikvenzpmNE4ktRz4uLo/r8jz32WJPH1Yk69I4cOdLkOXjwYHNMSbyD7vraltw7Ulw7du3240JPTOyNkfP0VyZzpLHi5phjRM/1XTt2Lij1xT3yyCNNHnVRuXJWrlw5SKsrr8q7AF9//fVB+ty5c00e9T4lTr+7d+82edTNUtXGhN7xf7E9J8k8bkrvT+8credZk/tJrv1Bx9K5xFQs9vxzntyLz9bj+btx40aTR4+5WOdceFq2m3/oHNXFyITFdkH9X3e6Jdxb0QgAAAAAAAAAAP5PwEcpAAAAAAAAAACYHD5KAQAAAAAAAADA5PBRCgAAAAAAAAAAJucjic6nlLaNJQhLZKBjPlciqNU8TjzojiX3rdJel0dlnE6i6eTnx44dG6SvX7/e5ElQGaeTmCZiu+Q8lcOnZTt6hNxjis4T5ln2lNxr9+3ux7U/FWT3xp8kRjhBpJbthNXa/1yM0uslwuyqtm+5+56nIFKv566/Y8eOmXlUhuxineapaiXm3/zmN5s8SfxRYXw6HieC8uQdKWP2x16J8LyuP/W1eiTq8xSNz7M/Ju02iWOur61bt645pqJzl0c3enEy3suXLw/SuoFBVdXhw4ebY7oZjIutOrdabIn+mIx1vXTzm3uNZNxWxuxbPaRzi1nci1Jvx2Lf52JfP0HniE5i/vLLLw/S165da/K4tqVzZNeOe3+j3Q/cj4L0eW6YxT+lAAAAAAAAAABgcvgoBQAAAAAAAAAAk8NHKQAAAAAAAAAAmJzYKeXWdPf4csZkXi6KXu+Jq6MHHnhgkE58Ca6cZE298xzcvHlzkL5y5UqTR9f+vvvuu9H1k3vSukzO6V0/7M7TunX1r36cxPvlSFxgU/uienwlybXGJHmOXhdDjy9lzP6vTp+kbTkPUNKO3Xl6PfccPW00KceVpf4Ax0MPPdQcS85btmxZc0x9LVu2bGnyqFNGY7a7J+fYe/XVV5tj3/nOdwZpF6P1+kkbSR0rY/WtJE/P/XzQsR5c/E9iuz5bMkb0Mk/vz1h1u9j+UIde37khV65c2Rxbs2bNIO3e/6lTpwZp54u7ePHih6arqm7cuNEcG8uFMk/vKfzvSdyQ6Xk9JNdyblg3tmq8c7Fe23HSrlM3rl4/Gdt65+jJeb0xOimn97xkHtfrJkpii45/Lta98MIL/+v7qcrmFskceay+1Vu3Y82RHEkbSb4juHvUd+vm2j313+2B7ToLAAAAAAAAAADgI8BHKQAAAAAAAAAAmBw+SgEAAAAAAAAAwOTwUQoAAAAAAAAAACYntndOKTHvlQjO8/oJyT26PCoNc3m+973vNcdUYu4E5fosrpwEJzZLJOaLLeScUj6ZMGU7XozrzYtEopcc620PiQyyVxA8lox4nmWPJTF0wmiNG6mgUUnkqytWrGiO6bOsWrWqyaMy1iNHjjR5Dh482BzTjSWcRD2Vlv//TP3+exnr+osdx+YpUR3rvESQ27sZRu/cZqy4kUhcb9++3RzTfnr58uUmj0rL33vvvSaP9n83jxpLau5Y7HkUzKZ3rE/6n45/SR9dsmRJdH1ty+53hOJ+D2j7T4TpVX5jCSURffcK0hf7N0IS23ol6spYZc+zPpKykzbTS+9Yp/fU+xslITln6dKlzTE3tml/T2KUixG6iQKicwAAAAAAAAAAuG/goxQAAAAAAAAAAEwOH6UAAAAAAAAAAGBy+CgFAAAAAAAAAACTE4vOF5tE/peeNytPr0QuuZ9ExufKcWJBFau9//77M8saSwZd1Ve3vfKzeQmj07LHvN6sclLRbPLexrrHseS3vVLJxZbRJ+04qaPesucpGk7a31i4OKYx0UkskzjmJKp6PSc6X758+SDtROfnz58fpI8ePdrkWVhYaI6pRPbhhx9u8uh9977rhDHb1ryuP89n6x1HEhltwtSx7X4QZPe8o7t37zbHjh8/3hzT9+TO0/53P9ZZ1b1531OOLfcDSdzojRHJpkauHBWiu81ItI+4cVwlymkcTzZMSuhta4lEfSwZeHJsrHn8mL8j7of59zyvP9ZvnbHmWknZbuMP12/1mNuMR3F9VOOGu1YC/5QCAAAAAAAAAIDJ4aMUAAAAAAAAAABMDh+lAAAAAAAAAABgcmKn1DzXcPYy1nr1ZC1w7/U1j/NFqUMlcapUtWs23Vpwt65cSZwuCVOv850XYzqmehxK6fU1n2sj81yL3rMWfqz18mk5Yzmt5unGGOv5py67p6wktozpj0s8fw8++OAgfePGjSbPwYMHB+kzZ85E19L7dN4/xa3FX2zv02IzT+9UT55eFttf2OOmcczTO5I867vvvhsdS8pO2lbiuVnsOukd2+DeYizvkPMXJmOUczPqMVe2jluuP+pYW9XOCdzzJ79Rknn0WE6v3jzu+j19cp5Oq16mLGesPFX9Tl9F3+1iO6Ucbm6pMSHpt0k/7nXD8U8pAAAAAAAAAACYHD5KAQAAAAAAAADA5PBRCgAAAAAAAAAAJoePUgAAAAAAAAAAMDkfSXTeK2hOyh6rnHmKHfV6TuyleZxoTO/RlZMIgl2eHvlaKsxOnj+5/ljci6LPsSSGY503Zh/pkZjfixJlpVfqPs+yF1uQOJZ83JWjMbF3o4VkE4nr1683eW7dujVInz17tslz+PDhQfru3btNnmXLls28J7cZhdIrVR6rTc5TdD/WZgiJwN7lSySmY9btWPTGiB4h7P0qw+6do95rot+k7N73P6Uwv5cx+9r92paVnhjlNjlyEnONkU5ifvPmzZnl6NjmxrpkbE9+R/X24+Q3kmNeMnJ3bMo86Xk94+iYfW/K31GOJCZpe596HtGzqZo7z+VRsfkDDzzQ5Ll9+3Z0n7Pgn1IAAAAAAAAAADA5fJQCAAAAAAAAAIDJ4aMUAAAAAAAAAABMTuyU6qVnXedYboQPKmtWnvSe9byxfCGpLyNxUT300EMfeo471luPvb6OxXaRjeXL6b1W7/P3tKV5rrPubTdjnPNB503ptHJl9zjdkrLT5xjr+XucAu6Yi23qlOr11yUOi2vXrjV53nrrrUH66tWrTZ533313kF66dOnMa1Vlvg4t2z2/lrPYTql59tFk/Ot1Srl2o3kSp2J6faV3HjOlr6j3nDHbRM/1p3Yqzot59r95Xn+e7bb3ee+1d5vg7rnHs+jKcWOk+hFdjFSH1J07d2Ze3/lz3XPoMXffek9JfSTl9F5/rDwflG8WadljXKtqvr6oHhbbH+2Ysk5658gOvW/Xt27cuDFIJ986nHcugX9KAQAAAAAAAADA5PBRCgAAAAAAAAAAJoePUgAAAAAAAAAAMDl8lAIAAAAAAAAAgMkZVXQ+ljB6TIlmUk6v2FGPObHf9773vUE6lY8pTqyayFZVWuaun9zTWBLjHmHjB10/ydMrlu1hymtV9YkNx5SoJmUnou+EXtHwWO9knsLWnrg5T9H0mMLasSTaKlbUuFqVxR+VildVnThxYmbZev2krbt7ev/995s8KoR84IEHZpbTK9p2LLboPJG4zzonvV7vZgiJjL+XsUS3Y503z7LHalvzHOuTNjrPeUxvOfPcaGRKie8829/9wFjjr25yVFV14MCB5th77703SLu2vX79+pn3o+Omllvl43aPaDyZ+6ZS8Z75T69UvFdQ3lN272/N5Hr3w2YcY24G1DMnSctJ5jI9c7QHH3wwupbObZINClasWNHkWbNmzSC9e/fumffo4J9SAAAAAAAAAAAwOXyUAgAAAAAAAACAyeGjFAAAAAAAAAAATE7slJpyDWmv06a37GS9ZrIWWd0g7jy3XjMpx3lOEs9O8mzqS3HluOdPfFU9vhDHWC6Kqb0DyVpsZbHdWPOk13uh5yVt3eUby42UlqPXH8vflp6XeL964l/6HpN6S/wsGjeTeFjV+plc/et5S5cubfLofTs31MMPP9wcS5xWy5YtG6STZ+ttI67+x4rRjrGcTr1OtaT/jzWO9tLrJ+nJ4+iJbem15jVuJ94Ld15y/SRGLfYYnfpyPi58nJ9tXqxcubI59uu//uvNMR3L3BiVuGGTuY7zTCXjv77/Xqebuyd9/rF+6/aW4+p/rLITXGz77ne/O9n1HfreXDtS0jnSWOO/vrfe3yi985/EX6q/9avauly+fHmTR+ekzld1586dQfrq1atNngT+KQUAAAAAAAAAAJPDRykAAAAAAAAAAJgcPkoBAAAAAAAAAMDk8FEKAAAAAAAAAAAm5xPfxyAIAAAAAAAAAAATwz+lAAAAAAAAAABgcvgoBQAAAAAAAAAAk8NHKQAAAAAAAAAAmBw+SgEAAAAAAAAAwOTwUQoAAAAAAAAAACaHj1IAAAAAAAAAADA5fJQCAAAAAAAAAIDJ4aMUAAAAAAAAAABMDh+lAAAAAAAAAABgcv4f8xCCtoIL9OAAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "check_data = first(train_loader)\n", + "print(f\"batch shape: {check_data['image'].shape}\")\n", + "image_visualisation = torch.cat(\n", + " [check_data[\"image\"][0, 0], check_data[\"image\"][1, 0], check_data[\"image\"][2, 0], check_data[\"image\"][3, 0]], dim=1\n", + ")\n", + "plt.figure(\"training images\", (12, 6))\n", + "plt.imshow(image_visualisation, vmin=0, vmax=1, cmap=\"gray\")\n", + "plt.axis(\"off\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "d3090350", + "metadata": {}, + "source": [ + "### Define network, scheduler, optimizer, and inferer\n", + "At this step, we instantiate the MONAI components to create a DDPM, the UNET, the noise scheduler, and the inferer used for training and sampling. We are using\n", + "the original DDPM scheduler containing 1000 timesteps in its Markov chain, and a 2D UNET with attention mechanisms\n", + "in the 2nd and 3rd levels, each with 1 attention head." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "2c52e4f4", + "metadata": { + "jupyter": { + "outputs_hidden": false + }, + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "device = torch.device(\"cuda\")\n", + "num_train_timesteps = 1000\n", + "\n", + "model = DiffusionModelUNet(\n", + " spatial_dims=2,\n", + " in_channels=1,\n", + " out_channels=1,\n", + " channels=(128, 256, 256),\n", + " attention_levels=(False, True, True),\n", + " num_res_blocks=1,\n", + " num_head_channels=256,\n", + ")\n", + "model.to(device)\n", + "\n", + "scheduler = DDPMScheduler(num_train_timesteps=num_train_timesteps)\n", + "\n", + "optimizer = torch.optim.Adam(params=model.parameters(), lr=2.5e-5)\n", + "\n", + "inferer = DiffusionInferer(scheduler)" + ] + }, + { + "cell_type": "markdown", + "id": "5a316067", + "metadata": {}, + "source": [ + "### Model training\n", + "Here, we are training our model for 75 epochs (training time: ~50 minutes).\n", + "\n", + "If you would like to skip the training and use a pre-trained model instead, set `use_pretrained=True`. This model was trained using the code in `tutorials/generative/distributed_training/ddpm_training_ddp.py` of [GenerateModels](https://github.com/Project-MONAI/GenerativeModels)." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "0f697a13", + "metadata": { + "jupyter": { + "outputs_hidden": false + }, + "lines_to_next_cell": 0 + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 0: 0%| | 0/63 [00:00" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "train completed, total time: 2443.8157732486725.\n" + ] + } + ], + "source": [ + "use_pretrained = False\n", + "\n", + "if use_pretrained:\n", + " model = torch.hub.load(\"marksgraham/pretrained_generative_models:v0.2\", model=\"ddpm_2d\", verbose=True).to(device)\n", + "else:\n", + " max_epochs = 75\n", + " val_interval = 5\n", + " epoch_loss_list = []\n", + " val_epoch_loss_list = []\n", + "\n", + " scaler = GradScaler()\n", + " total_start = time.time()\n", + " for epoch in range(max_epochs):\n", + " model.train()\n", + " epoch_loss = 0\n", + " progress_bar = tqdm(enumerate(train_loader), total=len(train_loader), ncols=70)\n", + " progress_bar.set_description(f\"Epoch {epoch}\")\n", + " for step, batch in progress_bar:\n", + " images = batch[\"image\"].to(device)\n", + " optimizer.zero_grad(set_to_none=True)\n", + "\n", + " with autocast(device_type=\"cuda\", enabled=True):\n", + " # Generate random noise\n", + " noise = torch.randn_like(images).to(device)\n", + "\n", + " # Create timesteps\n", + " timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=images.device).long()\n", + "\n", + " # Get model prediction\n", + " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n", + "\n", + " loss = F.mse_loss(noise_pred.float(), noise.float())\n", + "\n", + " scaler.scale(loss).backward()\n", + " scaler.step(optimizer)\n", + " scaler.update()\n", + "\n", + " epoch_loss += loss.item()\n", + "\n", + " progress_bar.set_postfix({\"loss\": epoch_loss / (step + 1)})\n", + " epoch_loss_list.append(epoch_loss / (step + 1))\n", + "\n", + " if (epoch + 1) % val_interval == 0:\n", + " model.eval()\n", + " val_epoch_loss = 0\n", + " for step, batch in enumerate(val_loader):\n", + " images = batch[\"image\"].to(device)\n", + " with torch.no_grad(), autocast(device_type=\"cuda\", enabled=True):\n", + " noise = torch.randn_like(images).to(device)\n", + " timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=images.device).long()\n", + " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n", + " val_loss = F.mse_loss(noise_pred.float(), noise.float())\n", + "\n", + " val_epoch_loss += val_loss.item()\n", + " progress_bar.set_postfix({\"val_loss\": val_epoch_loss / (step + 1)})\n", + " val_epoch_loss_list.append(val_epoch_loss / (step + 1))\n", + "\n", + " # Sampling image during training\n", + " noise = torch.randn((1, 1, 64, 64))\n", + " noise = noise.to(device)\n", + " scheduler.set_timesteps(num_inference_steps=1000)\n", + " with autocast(device_type=\"cuda\", enabled=True):\n", + " image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=scheduler)\n", + "\n", + " plt.figure(figsize=(2, 2))\n", + " plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + " plt.tight_layout()\n", + " plt.axis(\"off\")\n", + " plt.show()\n", + "\n", + " total_time = time.time() - total_start\n", + " print(f\"train completed, total time: {total_time}.\")" + ] + }, + { + "cell_type": "markdown", + "id": "057f0d69", + "metadata": {}, + "source": [ + "### Learning curves" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2cdcda81", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if not use_pretrained:\n", + " plt.title(\"Learning Curves\", fontsize=20)\n", + " plt.plot(np.linspace(1, max_epochs, max_epochs), epoch_loss_list, color=\"C0\", linewidth=2.0, label=\"Train\")\n", + " plt.plot(\n", + " np.linspace(val_interval, max_epochs, int(max_epochs / val_interval)),\n", + " val_epoch_loss_list,\n", + " color=\"C1\",\n", + " linewidth=2.0,\n", + " label=\"Validation\",\n", + " )\n", + " plt.yticks(fontsize=12)\n", + " plt.xticks(fontsize=12)\n", + " plt.xlabel(\"Epochs\", fontsize=16)\n", + " plt.ylabel(\"Loss\", fontsize=16)\n", + " plt.legend(prop={\"size\": 14})\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "2d61cffe", + "metadata": {}, + "source": [ + "### Plotting sampling process along DDPM's Markov chain" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "1427e5d4", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1000/1000 [00:11<00:00, 85.66it/s]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model.eval()\n", + "noise = torch.randn((1, 1, 64, 64))\n", + "noise = noise.to(device)\n", + "scheduler.set_timesteps(num_inference_steps=1000)\n", + "with autocast(device_type=\"cuda\", enabled=True):\n", + " image, intermediates = inferer.sample(\n", + " input_noise=noise, diffusion_model=model, scheduler=scheduler, save_intermediates=True, intermediate_steps=100\n", + " )\n", + "\n", + "chain = torch.cat(intermediates, dim=-1)\n", + "\n", + "plt.imshow(chain[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + "plt.tight_layout()\n", + "plt.axis(\"off\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "1c45cead", + "metadata": {}, + "source": [ + "### Cleanup data directory\n", + "\n", + "Remove directory if a temporary was used." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bab2d719", + "metadata": {}, + "outputs": [], + "source": [ + "if directory is None:\n", + " shutil.rmtree(root_dir)" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:percent" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/generation/2d_ddpm/2d_ddpm_tutorial_ignite.ipynb b/generation/2d_ddpm/2d_ddpm_tutorial_ignite.ipynb new file mode 100644 index 000000000..dbaf58674 --- /dev/null +++ b/generation/2d_ddpm/2d_ddpm_tutorial_ignite.ipynb @@ -0,0 +1,626 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "53c8dfc0", + "metadata": {}, + "source": [ + "Copyright (c) MONAI Consortium \n", + "Licensed under the Apache License, Version 2.0 (the \"License\"); \n", + "you may not use this file except in compliance with the License. \n", + "You may obtain a copy of the License at \n", + "    http://www.apache.org/licenses/LICENSE-2.0 \n", + "Unless required by applicable law or agreed to in writing, software \n", + "distributed under the License is distributed on an \"AS IS\" BASIS, \n", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \n", + "See the License for the specific language governing permissions and \n", + "limitations under the License.\n", + "\n", + "# Denoising Diffusion Probabilistic Models with MedNIST Dataset\n", + "\n", + "This tutorial illustrates how to use MONAI for training a denoising diffusion probabilistic model (DDPM)[1] to create\n", + "synthetic 2D images.\n", + "\n", + "[1] - Ho et al. \"Denoising Diffusion Probabilistic Models\" https://arxiv.org/abs/2006.11239\n", + "\n", + "\n", + "## Setup environment" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04629260", + "metadata": {}, + "outputs": [], + "source": [ + "!python -c \"import monai\" || pip install -q \"monai-weekly[tqdm]\"\n", + "!python -c \"import ignite\" || pip install -q pytorch-ignite\n", + "!python -c \"import matplotlib\" || pip install -q matplotlib\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "id": "2342bc75", + "metadata": {}, + "source": [ + "## Setup imports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3382be3f", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MONAI version: 1.4.0rc6\n", + "Numpy version: 1.26.4\n", + "Pytorch version: 2.3.1+cu121\n", + "MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n", + "MONAI rev id: 6a0e1b043ba2890e1463fa49df76f66e56a68b08\n", + "MONAI __file__: /home//miniconda3/envs/monai/lib/python3.11/site-packages/monai/__init__.py\n", + "\n", + "Optional dependencies:\n", + "Pytorch Ignite version: 0.4.11\n", + "ITK version: 5.4.0\n", + "Nibabel version: 5.2.1\n", + "scikit-image version: 0.23.2\n", + "scipy version: 1.13.1\n", + "Pillow version: 10.3.0\n", + "Tensorboard version: 2.17.0\n", + "gdown version: 5.2.0\n", + "TorchVision version: 0.18.1+cu121\n", + "tqdm version: 4.66.4\n", + "lmdb version: 1.4.1\n", + "psutil version: 5.9.0\n", + "pandas version: 2.2.2\n", + "einops version: 0.8.0\n", + "transformers version: NOT INSTALLED or UNKNOWN VERSION.\n", + "mlflow version: 2.14.0\n", + "pynrrd version: 1.0.0\n", + "clearml version: 1.16.2rc0\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" + ] + } + ], + "source": [ + "import os\n", + "import shutil\n", + "import tempfile\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import torch\n", + "from ignite.contrib.handlers import ProgressBar\n", + "from monai import transforms\n", + "from monai.apps import MedNISTDataset\n", + "from monai.config import print_config\n", + "from monai.data import CacheDataset, DataLoader\n", + "from monai.engines import SupervisedEvaluator, SupervisedTrainer\n", + "from monai.handlers import MeanAbsoluteError, MeanSquaredError, StatsHandler, ValidationHandler, from_engine\n", + "from monai.utils import first, set_determinism\n", + "from monai.inferers import DiffusionInferer\n", + "from monai.engines import DiffusionPrepareBatch\n", + "from monai.networks.nets import DiffusionModelUNet\n", + "from monai.networks.schedulers import DDPMScheduler\n", + "\n", + "print_config()" + ] + }, + { + "cell_type": "markdown", + "id": "a8a5e41b", + "metadata": {}, + "source": [ + "## Setup data directory\n", + "\n", + "You can specify a directory with the MONAI_DATA_DIRECTORY environment variable.\n", + "\n", + "This allows you to save results and reuse downloads.\n", + "\n", + "If not specified a temporary directory will be used." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "10e3e959", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/tmp/tmpss9epssa\n" + ] + } + ], + "source": [ + "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n", + "root_dir = tempfile.mkdtemp() if directory is None else directory\n", + "print(root_dir)" + ] + }, + { + "cell_type": "markdown", + "id": "0732a4a1", + "metadata": {}, + "source": [ + "## Set deterministic training for reproducibility" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b430e0f4", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "set_determinism(0)" + ] + }, + { + "cell_type": "markdown", + "id": "1750d513", + "metadata": {}, + "source": [ + "## Setup MedNIST Dataset and training and validation dataloaders\n", + "In this tutorial, we will train our models on the MedNIST dataset available on MONAI\n", + "(https://docs.monai.io/en/stable/apps.html#monai.apps.MedNISTDataset). In order to train faster, we will select just\n", + "one of the available classes (\"Hand\"), resulting in a training set with 7999 2D images." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "b1355f26", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-09-02 17:51:05,299 - INFO - Downloaded: /tmp/tmpss9epssa/MedNIST.tar.gz\n", + "2024-09-02 17:51:05,410 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n", + "2024-09-02 17:51:05,411 - INFO - Writing into directory: /tmp/tmpss9epssa.\n" + ] + } + ], + "source": [ + "train_data = MedNISTDataset(root_dir=root_dir, section=\"training\", download=True, progress=False, seed=0)\n", + "train_datalist = [{\"image\": item[\"image\"]} for item in train_data.data if item[\"class_name\"] == \"Hand\"]\n", + "batch_size = 64\n", + "num_workers = 4" + ] + }, + { + "cell_type": "markdown", + "id": "658a9a07", + "metadata": {}, + "source": [ + "Here we use transforms to augment the training dataset:\n", + "\n", + "1. `LoadImaged` loads the hands images from files.\n", + "1. `EnsureChannelFirstd` ensures the original data to construct \"channel first\" shape.\n", + "1. `ScaleIntensityRanged` extracts intensity range [0, 255] and scales to [0, 1].\n", + "1. `RandAffined` efficiently performs rotate, scale, shear, translate, etc. together based on PyTorch affine transform." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c97cb55d", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading dataset: 100%|██████████| 7999/7999 [00:05<00:00, 1366.06it/s]\n" + ] + } + ], + "source": [ + "train_transforms = transforms.Compose(\n", + " [\n", + " transforms.LoadImaged(keys=[\"image\"]),\n", + " transforms.EnsureChannelFirstd(keys=[\"image\"]),\n", + " transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n", + " transforms.RandAffined(\n", + " keys=[\"image\"],\n", + " rotate_range=[(-np.pi / 36, np.pi / 36), (-np.pi / 36, np.pi / 36)],\n", + " translate_range=[(-1, 1), (-1, 1)],\n", + " scale_range=[(-0.05, 0.05), (-0.05, 0.05)],\n", + " spatial_size=[64, 64],\n", + " padding_mode=\"zeros\",\n", + " prob=0.5,\n", + " ),\n", + " ]\n", + ")\n", + "train_ds = CacheDataset(data=train_datalist, transform=train_transforms)\n", + "train_loader = DataLoader(\n", + " train_ds, batch_size=batch_size, shuffle=True, num_workers=num_workers, persistent_workers=True\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "6afd0f79", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-09-02 17:51:36,290 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n", + "2024-09-02 17:51:36,291 - INFO - File exists: /tmp/tmpss9epssa/MedNIST.tar.gz, skipped downloading.\n", + "2024-09-02 17:51:36,292 - INFO - Non-empty folder exists in /tmp/tmpss9epssa/MedNIST, skipped extracting.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading dataset: 100%|██████████| 1005/1005 [00:00<00:00, 1476.42it/s]\n" + ] + } + ], + "source": [ + "val_data = MedNISTDataset(root_dir=root_dir, section=\"validation\", download=True, progress=False, seed=0)\n", + "val_datalist = [{\"image\": item[\"image\"]} for item in val_data.data if item[\"class_name\"] == \"Hand\"]\n", + "val_transforms = transforms.Compose(\n", + " [\n", + " transforms.LoadImaged(keys=[\"image\"]),\n", + " transforms.EnsureChannelFirstd(keys=[\"image\"]),\n", + " transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n", + " ]\n", + ")\n", + "val_ds = CacheDataset(data=val_datalist, transform=val_transforms)\n", + "val_loader = DataLoader(val_ds, batch_size=batch_size, shuffle=False, num_workers=num_workers, persistent_workers=True)" + ] + }, + { + "cell_type": "markdown", + "id": "021956eb", + "metadata": {}, + "source": [ + "### Visualisation of the training images" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "469e4f76", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "batch shape: torch.Size([64, 1, 64, 64])\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "check_data = first(train_loader)\n", + "print(f\"batch shape: {check_data['image'].shape}\")\n", + "image_visualisation = torch.cat(\n", + " [check_data[\"image\"][0, 0], check_data[\"image\"][1, 0], check_data[\"image\"][2, 0], check_data[\"image\"][3, 0]], dim=1\n", + ")\n", + "plt.figure(\"training images\", (12, 6))\n", + "plt.imshow(image_visualisation, vmin=0, vmax=1, cmap=\"gray\")\n", + "plt.axis(\"off\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "31f564f8", + "metadata": {}, + "source": [ + "### Define network, scheduler, optimizer, and inferer\n", + "At this step, we instantiate the MONAI components to create a DDPM, the UNET, the noise scheduler, and the inferer used for training and sampling. We are using\n", + "the original DDPM scheduler containing 1000 timesteps in its Markov chain, and a 2D UNET with attention mechanisms\n", + "in the 2nd and 3rd levels, each with 1 attention head." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4b6a775c", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "device = torch.device(\"cuda\")\n", + "\n", + "model = DiffusionModelUNet(\n", + " spatial_dims=2,\n", + " in_channels=1,\n", + " out_channels=1,\n", + " channels=(64, 128, 128),\n", + " attention_levels=(False, True, True),\n", + " num_res_blocks=1,\n", + " num_head_channels=(0, 128, 128),\n", + ")\n", + "model.to(device)\n", + "\n", + "num_train_timesteps = 1000\n", + "scheduler = DDPMScheduler(num_train_timesteps=num_train_timesteps)\n", + "\n", + "optimizer = torch.optim.Adam(params=model.parameters(), lr=2.5e-5)\n", + "\n", + "inferer = DiffusionInferer(scheduler)" + ] + }, + { + "cell_type": "markdown", + "id": "62021a53", + "metadata": {}, + "source": [ + "### Model training\n", + "Here, we are training our model for 75 epochs (training time: ~50 minutes)." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "25498b74", + "metadata": { + "jupyter": { + "outputs_hidden": false + }, + "lines_to_next_cell": 0 + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[125/125] 100% , output=0.438 [00:25<00:00]\n", + "[125/125] 100% , output=0.15 [00:24<00:00] \n", + "[125/125] 100% , output=0.0478 [00:24<00:00]\n", + "[125/125] 100% , output=0.0241 [00:24<00:00]\n", + "[125/125] 100% , output=0.0232 [00:24<00:00]\n", + "...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[125/125] 100% , output=0.00982 [00:26<00:00]\n", + "[125/125] 100% , output=0.00456 [00:24<00:00]\n", + "[125/125] 100% , output=0.0198 [00:24<00:00] \n", + "[125/125] 100% , output=0.0176 [00:24<00:00] \n", + "[125/125] 100% , output=0.00711 [00:24<00:00]\n", + "[125/125] 100% , output=0.0108 [00:24<00:00] " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-09-02 18:23:20,504 - INFO - Epoch[75] Metrics -- val_mean_abs_error: 0.0470 \n", + "2024-09-02 18:23:20,505 - INFO - Key metric: val_mean_abs_error best value: 0.078772634267807 at epoch: 5\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[125/125] 100% , output=0.0108 [00:25<00:00]\n" + ] + } + ], + "source": [ + "max_epochs = 75\n", + "val_interval = 5\n", + "\n", + "val_handlers = [StatsHandler(name=\"train_log\", output_transform=lambda x: None)]\n", + "\n", + "evaluator = SupervisedEvaluator(\n", + " device=device,\n", + " val_data_loader=val_loader,\n", + " network=model,\n", + " inferer=inferer,\n", + " prepare_batch=DiffusionPrepareBatch(num_train_timesteps=num_train_timesteps),\n", + " key_val_metric={\"val_mean_abs_error\": MeanAbsoluteError(output_transform=from_engine([\"pred\", \"label\"]))},\n", + " val_handlers=val_handlers,\n", + ")\n", + "\n", + "\n", + "train_handlers = [\n", + " ValidationHandler(validator=evaluator, interval=val_interval, epoch_level=True),\n", + " # StatsHandler(name=\"train_log\", tag_name=\"train_loss\", output_transform=from_engine([\"loss\"], first=True)),\n", + "]\n", + "\n", + "trainer = SupervisedTrainer(\n", + " device=device,\n", + " max_epochs=max_epochs,\n", + " train_data_loader=train_loader,\n", + " network=model,\n", + " optimizer=optimizer,\n", + " loss_function=torch.nn.MSELoss(),\n", + " inferer=inferer,\n", + " prepare_batch=DiffusionPrepareBatch(num_train_timesteps=num_train_timesteps),\n", + " key_train_metric={\"train_acc\": MeanSquaredError(output_transform=from_engine([\"pred\", \"label\"]))},\n", + " train_handlers=train_handlers,\n", + ")\n", + "\n", + "out_func = from_engine(\"loss\")\n", + "\n", + "\n", + "def _output_transform(data):\n", + " losses = out_func(data)\n", + " return losses[0]\n", + "\n", + "\n", + "ProgressBar(\n", + " persist=True, bar_format=\"[{n_fmt}/{total_fmt}] {percentage:3.0f}%{postfix} [{elapsed}<{remaining}]\"\n", + ").attach(trainer, output_transform=_output_transform)\n", + "\n", + "\n", + "trainer.run()" + ] + }, + { + "cell_type": "markdown", + "id": "dd72e309", + "metadata": {}, + "source": [ + "### Plotting sampling process along DDPM's Markov chain" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c5ceb634", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1000/1000 [00:09<00:00, 104.03it/s]\n" + ] + }, + { + "data": { + "image/png": "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kT58+EBEqlRWNjY2pKGhQfr6+rRnzx6aPHkyVVRUEJEK1KWlpdGKFSto8+bNdP/+fYqLi+N0P5s2beLFeOHChXT27FlydXWl69evk5aWFp04cYKIVAC0qampxRwzceJEMjU1JQsLCyIi7gsCwHfo0IEePHhA+vr6dPr0aZoyZQolJSXRX//6VyovL6fw8HAqLCwkItXG6Pe//z2niJKWefPmkZaWFq1du5b27NlDzc3N1L59e/rd735Hzc3NdOTIEaqoqKCrV6+St7c31dfXU0lJCbfj4MGDGcQSqVJKbdiwgY4ePUp3796lH3/8kdzd3emnn36i3/72t7INopaWFv3ud78jCwsLcnZ2pl69etHLly/Jzc2NampqqLy8nP7yl7/Q7t27ad68eTRp0iQqKysjT09PGjhwIGlra1N+fj7PqTk5OVRTU0N+fn48TkS6HR0dHdq3bx+1a9eOvn79Sj/88AP96U9/otWrV9O5c+eovr6eEhISyN3dnby9vemPf/wjlZWVkba2Nn348IEMDQ2pU6dOvFFyc3OjxMREOnr0KP3xj3+k27dvU0JCAj1+/JgA0H/+539SfHw8aWpq0tevX+nt27cUHR1NLi4uNGXKFEpPT6fevXvTpEmTqKCggA4dOkS9evWigIAAun//Pm/OCwsL6Y9//CP5+vrSoUOHyNXVlRoaGqhjx46yDZrolxYWFqStrU1bt26l9+/f04cPHygmJoaePn1Knz9/prNnz5K5uTktXbqUgoODad26daSvr09OTk7Uvn17OnHiBFlaWtKqVavI3t6ebGxsKDs7m4qKiujdu3c0bNgwOnXqFD148IC8vLzo6NGj9P79e2pqaqJffvmFxowZQ+3bt6cNGzZQTEwMHTp0iJqamsjKyoo2btxI586do3379tGpU6fI1taWgesPP/zAwK93797k6elJhw8fprdv31JVVRXdu3eP9PT06PDhw9SrVy8aOHAgnTp1iv70pz9RTk4Ode7cmd6/f0+Ghoakq6tL+vr6pKWlRffu3SNXV1fS1tam27dvk4aGBt28eZO6detGnTp1IltbW/r69Ss9efKE3r9/T3//+99JoVDwhr6uro78/f3J3Nycmpqa6Ny5c/TDDz+Qqakp/fTTT7ypP3/+PG/8tLS0qF27drJxpqWlxfMcEXE6G0Cekufz58/08eNHevv2LT1/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model.eval()\n", + "noise = torch.randn((1, 1, 64, 64))\n", + "noise = noise.to(device)\n", + "scheduler.set_timesteps(num_inference_steps=1000)\n", + "image, intermediates = inferer.sample(\n", + " input_noise=noise, diffusion_model=model, scheduler=scheduler, save_intermediates=True, intermediate_steps=100\n", + ")\n", + "\n", + "chain = torch.cat(intermediates, dim=-1)\n", + "\n", + "plt.imshow(chain[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + "plt.tight_layout()\n", + "plt.axis(\"off\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "aeb3ccd4", + "metadata": {}, + "source": [ + "### Cleanup data directory\n", + "\n", + "Remove directory if a temporary was used." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "babfbfd1", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "if directory is None:\n", + " shutil.rmtree(root_dir)" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:percent" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/generation/2d_ddpm/2d_ddpm_tutorial_v_prediction.ipynb b/generation/2d_ddpm/2d_ddpm_tutorial_v_prediction.ipynb new file mode 100644 index 000000000..508c4ab9b --- /dev/null +++ b/generation/2d_ddpm/2d_ddpm_tutorial_v_prediction.ipynb @@ -0,0 +1,682 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a1851245", + "metadata": {}, + "source": [ + "Copyright (c) MONAI Consortium \n", + "Licensed under the Apache License, Version 2.0 (the \"License\"); \n", + "you may not use this file except in compliance with the License. \n", + "You may obtain a copy of the License at \n", + "    http://www.apache.org/licenses/LICENSE-2.0 \n", + "Unless required by applicable law or agreed to in writing, software \n", + "distributed under the License is distributed on an \"AS IS\" BASIS, \n", + "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \n", + "See the License for the specific language governing permissions and \n", + "limitations under the License.\n", + "\n", + "# Denoising Diffusion Probabilistic Models using v-prediction parameterization\n", + "\n", + "This tutorial illustrates how to use MONAI for training a denoising diffusion probabilistic model (DDPM)[1] to create synthetic 2D images using v-prediction parameterization (Section 2.4 from [2]).\n", + "\n", + "[1] - Ho et al. \"Denoising Diffusion Probabilistic Models\" https://arxiv.org/abs/2006.11239\n", + "\n", + "[2] - Ho et al. \"Imagen Video: High Definition Video Generation with Diffusion Models\" https://arxiv.org/abs/2210.02303\n", + "\n", + "\n", + "## Setup environment" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "70ca9dc1", + "metadata": {}, + "outputs": [], + "source": [ + "!python -c \"import monai\" || pip install -q \"monai-weekly[tqdm]\"\n", + "!python -c \"import matplotlib\" || pip install -q matplotlib\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "id": "1207a5cf", + "metadata": {}, + "source": [ + "## Setup imports" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a952676b", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MONAI version: 1.4.0rc6\n", + "Numpy version: 1.26.4\n", + "Pytorch version: 2.3.1+cu121\n", + "MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n", + "MONAI rev id: 6a0e1b043ba2890e1463fa49df76f66e56a68b08\n", + "MONAI __file__: /home//miniconda3/envs/monai/lib/python3.11/site-packages/monai/__init__.py\n", + "\n", + "Optional dependencies:\n", + "Pytorch Ignite version: 0.4.11\n", + "ITK version: 5.4.0\n", + "Nibabel version: 5.2.1\n", + "scikit-image version: 0.23.2\n", + "scipy version: 1.13.1\n", + "Pillow version: 10.3.0\n", + "Tensorboard version: 2.17.0\n", + "gdown version: 5.2.0\n", + "TorchVision version: 0.18.1+cu121\n", + "tqdm version: 4.66.4\n", + "lmdb version: 1.4.1\n", + "psutil version: 5.9.0\n", + "pandas version: 2.2.2\n", + "einops version: 0.8.0\n", + "transformers version: NOT INSTALLED or UNKNOWN VERSION.\n", + "mlflow version: 2.14.0\n", + "pynrrd version: 1.0.0\n", + "clearml version: 1.16.2rc0\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" + ] + } + ], + "source": [ + "import os\n", + "import shutil\n", + "import tempfile\n", + "import time\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import torch\n", + "import torch.nn.functional as F\n", + "from torch.amp import GradScaler, autocast\n", + "from tqdm import tqdm\n", + "\n", + "from monai import transforms\n", + "from monai.apps import MedNISTDataset\n", + "from monai.config import print_config\n", + "from monai.data import CacheDataset, DataLoader\n", + "from monai.utils import first, set_determinism\n", + "from monai.inferers import DiffusionInferer\n", + "from monai.networks.nets import DiffusionModelUNet\n", + "from monai.networks.schedulers import DDPMScheduler\n", + "\n", + "print_config()" + ] + }, + { + "cell_type": "markdown", + "id": "7b54fce0", + "metadata": {}, + "source": [ + "## Setup data directory\n", + "\n", + "You can specify a directory with the MONAI_DATA_DIRECTORY environment variable.\n", + "\n", + "This allows you to save results and reuse downloads.\n", + "\n", + "If not specified a temporary directory will be used." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "f237aa7a", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/tmp/tmplsxlaj96\n" + ] + } + ], + "source": [ + "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n", + "root_dir = tempfile.mkdtemp() if directory is None else directory\n", + "print(root_dir)" + ] + }, + { + "cell_type": "markdown", + "id": "c673f098", + "metadata": {}, + "source": [ + "## Set deterministic training for reproducibility" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "b9947a6e", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "set_determinism(42)" + ] + }, + { + "cell_type": "markdown", + "id": "551b9f64", + "metadata": {}, + "source": [ + "## Setup MedNIST Dataset and training and validation dataloaders\n", + "In this tutorial, we will train our models on the MedNIST dataset available on MONAI\n", + "(https://docs.monai.io/en/stable/apps.html#monai.apps.MedNISTDataset). In order to train faster, we will select just\n", + "one of the available classes (\"Hand\"), resulting in a training set with 7999 2D images." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "73c52318", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "train_data = MedNISTDataset(root_dir=root_dir, section=\"training\", download=True, progress=False, seed=0)\n", + "train_datalist = [{\"image\": item[\"image\"]} for item in train_data.data if item[\"class_name\"] == \"Hand\"]\n", + "batch_size = 64\n", + "num_workers = 4" + ] + }, + { + "cell_type": "markdown", + "id": "2a4bd51e", + "metadata": {}, + "source": [ + "Here we use transforms to augment the training dataset:\n", + "\n", + "1. `LoadImaged` loads the hands images from files.\n", + "1. `EnsureChannelFirstd` ensures the original data to construct \"channel first\" shape.\n", + "1. `ScaleIntensityRanged` extracts intensity range [0, 255] and scales to [0, 1].\n", + "1. `RandAffined` efficiently performs rotate, scale, shear, translate, etc. together based on PyTorch affine transform." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "fddafade", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading dataset: 100%|██████████| 7999/7999 [00:05<00:00, 1421.33it/s]\n" + ] + } + ], + "source": [ + "train_transforms = transforms.Compose(\n", + " [\n", + " transforms.LoadImaged(keys=[\"image\"]),\n", + " transforms.EnsureChannelFirstd(keys=[\"image\"]),\n", + " transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n", + " transforms.RandAffined(\n", + " keys=[\"image\"],\n", + " rotate_range=[(-np.pi / 36, np.pi / 36), (-np.pi / 36, np.pi / 36)],\n", + " translate_range=[(-1, 1), (-1, 1)],\n", + " scale_range=[(-0.05, 0.05), (-0.05, 0.05)],\n", + " spatial_size=[64, 64],\n", + " padding_mode=\"zeros\",\n", + " prob=0.5,\n", + " ),\n", + " ]\n", + ")\n", + "train_ds = CacheDataset(data=train_datalist, transform=train_transforms)\n", + "train_loader = DataLoader(\n", + " train_ds, batch_size=batch_size, shuffle=True, num_workers=num_workers, persistent_workers=True\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "9a79f1a4", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-09-02 16:33:59,496 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n", + "2024-09-02 16:33:59,497 - INFO - File exists: /tmp/tmplsxlaj96/MedNIST.tar.gz, skipped downloading.\n", + "2024-09-02 16:33:59,499 - INFO - Non-empty folder exists in /tmp/tmplsxlaj96/MedNIST, skipped extracting.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading dataset: 100%|██████████| 1005/1005 [00:00<00:00, 1386.65it/s]\n" + ] + } + ], + "source": [ + "val_data = MedNISTDataset(root_dir=root_dir, section=\"validation\", download=True, progress=False, seed=0)\n", + "val_datalist = [{\"image\": item[\"image\"]} for item in val_data.data if item[\"class_name\"] == \"Hand\"]\n", + "val_transforms = transforms.Compose(\n", + " [\n", + " transforms.LoadImaged(keys=[\"image\"]),\n", + " transforms.EnsureChannelFirstd(keys=[\"image\"]),\n", + " transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n", + " ]\n", + ")\n", + "val_ds = CacheDataset(data=val_datalist, transform=val_transforms)\n", + "val_loader = DataLoader(val_ds, batch_size=batch_size, shuffle=False, num_workers=num_workers, persistent_workers=True)" + ] + }, + { + "cell_type": "markdown", + "id": "a9f97389", + "metadata": {}, + "source": [ + "### Visualisation of the training images" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "35e40075", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "batch shape: torch.Size([96, 1, 64, 64])\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "check_data = first(train_loader)\n", + "print(f\"batch shape: {check_data['image'].shape}\")\n", + "image_visualisation = torch.cat(\n", + " [check_data[\"image\"][0, 0], check_data[\"image\"][1, 0], check_data[\"image\"][2, 0], check_data[\"image\"][3, 0]], dim=1\n", + ")\n", + "plt.figure(\"training images\", (12, 6))\n", + "plt.imshow(image_visualisation, vmin=0, vmax=1, cmap=\"gray\")\n", + "plt.axis(\"off\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "b4e7e745", + "metadata": {}, + "source": [ + "### Define network, scheduler, optimizer, and inferer\n", + "At this step, we instantiate the MONAI components to create a DDPM, the UNET, the noise scheduler, and the inferer used for training and sampling. We are using\n", + "the original DDPM scheduler containing 1000 timesteps in its Markov chain, and a 2D UNET with attention mechanisms\n", + "in the 2nd and 3rd levels, each with 1 attention head." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "1fb9fd26", + "metadata": { + "jupyter": { + "outputs_hidden": false + }, + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "device = torch.device(\"cuda\")\n", + "num_train_timesteps = 1000\n", + "\n", + "model = DiffusionModelUNet(\n", + " spatial_dims=2,\n", + " in_channels=1,\n", + " out_channels=1,\n", + " channels=(128, 256, 256),\n", + " attention_levels=(False, True, True),\n", + " num_res_blocks=1,\n", + " num_head_channels=256,\n", + ")\n", + "model.to(device)\n", + "\n", + "scheduler = DDPMScheduler(\n", + " prediction_type=\"v_prediction\", num_train_timesteps=num_train_timesteps, beta_start=0.00085, beta_end=0.0120\n", + ")\n", + "\n", + "optimizer = torch.optim.Adam(params=model.parameters(), lr=1.0e-4)\n", + "\n", + "inferer = DiffusionInferer(scheduler)" + ] + }, + { + "cell_type": "markdown", + "id": "b1833335", + "metadata": {}, + "source": [ + "### Model training\n", + "Here, we are training our model for 75 epochs (training time: ~50 minutes)." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "890ef804", + "metadata": { + "jupyter": { + "outputs_hidden": false + }, + "lines_to_next_cell": 0 + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 0: 100%|████████████| 84/84 [00:31<00:00, 2.68it/s, loss=0.131]\n", + "Epoch 1: 100%|███████████| 84/84 [00:30<00:00, 2.74it/s, loss=0.0479]\n", + "Epoch 2: 100%|███████████| 84/84 [00:30<00:00, 2.72it/s, loss=0.0423]\n", + "Epoch 3: 100%|███████████| 84/84 [00:30<00:00, 2.74it/s, loss=0.0395]\n", + "Epoch 4: 100%|███████████| 84/84 [00:30<00:00, 2.75it/s, loss=0.0383]\n", + "...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 70: 100%|██████████| 84/84 [00:30<00:00, 2.72it/s, loss=0.0279]\n", + "Epoch 71: 100%|██████████| 84/84 [00:31<00:00, 2.69it/s, loss=0.0275]\n", + "Epoch 72: 100%|██████████| 84/84 [00:30<00:00, 2.73it/s, loss=0.0275]\n", + "Epoch 73: 100%|██████████| 84/84 [00:30<00:00, 2.72it/s, loss=0.0277]\n", + "Epoch 74: 100%|██████████| 84/84 [00:30<00:00, 2.72it/s, loss=0.0275]\n", + "100%|██████████| 1000/1000 [00:11<00:00, 84.55it/s]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "train completed, total time: 2515.2314007282257.\n" + ] + } + ], + "source": [ + "max_epochs = 75\n", + "val_interval = 5\n", + "epoch_loss_list = []\n", + "val_epoch_loss_list = []\n", + "\n", + "scaler = GradScaler()\n", + "total_start = time.time()\n", + "for epoch in range(max_epochs):\n", + " model.train()\n", + " epoch_loss = 0\n", + " progress_bar = tqdm(enumerate(train_loader), total=len(train_loader), ncols=70)\n", + " progress_bar.set_description(f\"Epoch {epoch}\")\n", + " for step, batch in progress_bar:\n", + " images = batch[\"image\"].to(device)\n", + " optimizer.zero_grad(set_to_none=True)\n", + "\n", + " with autocast(device_type=\"cuda\", enabled=True):\n", + " # Generate random noise\n", + " noise = torch.randn_like(images).to(device)\n", + " timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=images.device).long()\n", + "\n", + " # Get target for the v-prediction parameterization\n", + " target = inferer.scheduler.get_velocity(images, noise, timesteps)\n", + "\n", + " # Get model prediction\n", + " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n", + "\n", + " loss = F.mse_loss(noise_pred.float(), target.float())\n", + "\n", + " scaler.scale(loss).backward()\n", + " scaler.step(optimizer)\n", + " scaler.update()\n", + "\n", + " epoch_loss += loss.item()\n", + "\n", + " progress_bar.set_postfix({\"loss\": epoch_loss / (step + 1)})\n", + " epoch_loss_list.append(epoch_loss / (step + 1))\n", + "\n", + " if (epoch + 1) % val_interval == 0:\n", + " model.eval()\n", + " val_epoch_loss = 0\n", + " for step, batch in enumerate(val_loader):\n", + " images = batch[\"image\"].to(device)\n", + " with torch.no_grad(), autocast(device_type=\"cuda\", enabled=True):\n", + " noise = torch.randn_like(images).to(device)\n", + " timesteps = torch.randint(0, num_train_timesteps, (images.shape[0],), device=images.device).long()\n", + " target = inferer.scheduler.get_velocity(images, noise, timesteps)\n", + " noise_pred = inferer(inputs=images, diffusion_model=model, noise=noise, timesteps=timesteps)\n", + " val_loss = F.mse_loss(noise_pred.float(), target.float())\n", + "\n", + " val_epoch_loss += val_loss.item()\n", + " progress_bar.set_postfix({\"val_loss\": val_epoch_loss / (step + 1)})\n", + " val_epoch_loss_list.append(val_epoch_loss / (step + 1))\n", + "\n", + " # Sampling image during training\n", + " noise = torch.randn((1, 1, 64, 64))\n", + " noise = noise.to(device)\n", + " scheduler.set_timesteps(num_inference_steps=1000)\n", + " with autocast(device_type=\"cuda\", enabled=True):\n", + " image = inferer.sample(input_noise=noise, diffusion_model=model, scheduler=scheduler)\n", + "\n", + " plt.figure(figsize=(2, 2))\n", + " plt.imshow(image[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + " plt.tight_layout()\n", + " plt.axis(\"off\")\n", + " plt.show()\n", + "\n", + "total_time = time.time() - total_start\n", + "print(f\"train completed, total time: {total_time}.\")" + ] + }, + { + "cell_type": "markdown", + "id": "693e48c5", + "metadata": {}, + "source": [ + "### Learning curves" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "b767dbf8", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAIPCAYAAABuRih6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAACBi0lEQVR4nO3dd3iT5f4/8HfyZHSke9GWvQoyylYQHDjYigriYIkITly/g8DxePy6zjmKHlBUHAiIgyXIBpV1kCmzjDIKFOjeIx2Zz++PNGlC0tKnSUfK+3Vdvdo+I7nzaZV37n6e+5GJoiiCiIiIiIgAAPKGHgARERERUWPCgExEREREZIcBmYiIiIjIDgMyEREREZEdBmQiIiIiIjsMyEREREREdhiQiYiIiIjsMCATEREREdlhQCYiIiIissOATETUCE2YMAFxcXGYMGFCQw+FiOimo2joARBR03bw4EFMnDgRAPDiiy/ipZdeauARUWNw8eJFbNmyBfv370dKSgry8/MhCAKCg4MRFxeHW2+9FSNHjkRERERDD5WIbkIMyEREVG8KCgrwwQcfYMOGDTCbzU77S0tLkZaWhp07d2Lu3LkYM2YMXn31VQQHB9f/YInopsWATETUCC1btqyhh+Bx165dw9SpU5GcnAwACAsLw8iRI9G3b19ERERAJpMhKysLBw8exG+//YbMzEwsX74cgwYNwr333tuwgyeimwoDMhER1bmysjI8++yztnA8ZswYzJ49GxqNxunY++67DzNnzsTy5cvx3//+t55HSkTEgExERPXg448/RlJSEgBg7NixeO+996o9XqVSYeLEiejfvz90Ol19DJGIyIYBmYi8woEDB7B27VocPnwYOTk5EAQBsbGxGDhwICZPnoyoqKgqzz1//jz++OMPHDlyBBcuXEBeXh6USiUiIiLQs2dPPP744+jRo0eV53/22WdYsGABAODcuXMoLi7G999/j99//x0pKSkoLi7Gv/71Lzz88MNOx+p0OixbtgybNm2yzZ62a9cOo0ePxmOPPQaFwvX/hidMmIBDhw6hX79+Tu0WKSkpuOeeewDA9rx79+7FsmXLcPLkSRQWFiIyMhKDBg3Cc889h2bNmlVb2/z8fHzzzTfYvn070tPTodFoEBcXhyeeeAL33Xcf1qxZg9mzZwMAtm/fjubNm1f7eNfLy8vDqlWrAAAR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7XbXq1atwptvvlnt6h0GgwE//PADxo4di4yMDId9/fr1czjG1blvvvmm00VunhAREWELops2bcKGDRtsfevVBeSJEyfaltybPXu2wyoiruzatcthycGCggLs2LGj2h75vXv32r6+0bJ1RFQ99iATUb1JTEysMqjau+222xATE4PHH38c+/btw++//46tW7fizJkzGDduHLp3746AgABotVpcunQJhw4dwo4dO6BSqTB+/Hjb49xyyy3o2LEjzp8/jxUrVqCoqAgPPvggIiIikJGRgfXr12Pbtm3o1auXx//07Q1efPFFbN261Tare/r0aYwaNQqhoaG4cuUKvv/+exw7dgzdu3dHQkICALi8IUlN+Pn54auvvsLUqVORnJyMVatWYceOHRg1ahT69u2LyMhIiKKI7Oxs/PXXX/jtt9+Qlpbm8rHuvPNOxMbGIjU1FfPnz0d+fj7uu+8+qNVq2+3Dz5w5gx49etxwXezaGDVqFPbu3Yv09HR8/fXXACxL4VXXxx0eHo7//Oc/mDFjBrKzs/HII4/goYcewh133IFmzZrBaDQiIyMDCQkJ2LZtG65du4aFCxeiU6dOACxvAJ977jnExsbi/vvvR/fu3REbGwtBEJCdnY2dO3di1apVAICoqKhGeUtvIm/CgExE9Wb79u01mq39/PPPERMTA5lMhv/+9794//33sXz5cly9ehUfffRRleddvxyZTCbDhx9+iEmTJqGwsBBbtmxxuslDx44dMX/+fAwaNKh2L8qLBQcH49tvv8VTTz2FvLw8rFu3zunubQ8//DB69+5tC8ju3FWvRYsWWLFiBT744ANs2LABubm5WLJkCZYsWeLyeKVSiccee8zpboQqlQoffvghnnnmGZSWljo9hiAImDNnDgoLC+skIN933314++23UV5ebuuDrskNZO6//3588cUXmD17NgoKCrB8+fIq23vkcrnLJfxSU1OxePHiKp8jIiICX3zxha1Pm4hqhwGZiBo1pVKJt99+G48//jhWrVqFgwcPIj09HaWlpfDz80Pz5s3RpUsX3HHHHbj77rudzu/cuTN+/fVXfPXVV9izZw+ysrLg7++Pli1bYtiwYXjyySfdvpWyN+vUqRM2bdqEb775Bjt27EBaWhr8/f3RsWNHPProoxg5cqRD+LT2LddWcHAwPvzwQ0yfPh2bN2/G/v37kZKSgvz8fAiCgJCQEMTFxeG2227DqFGjnJbts+rTpw9++eUXLFy4EPv370d+fj6Cg4PRq1cvTJ48Gb169cJnn33m1lirotFocPfdd9vebAmCgBEjRtTo3MGDB2P79u1YuXIldu/ejaSkJBQWFkIQBISHh6NDhw647bbbMGTIEERHR9vOi42NxapVq/C///0Px44dQ2pqKnJzc1FaWoqAgAC0b98ed999N8aNGweNRlMnr5voZiITb7ToJxER3dT+/ve/Y/Xq1WjWrBl2797d0MMhIqpzvEiPiIiqVF5ebmuLaWw3+CAiqisMyEREN7GrV69WuTKCyWTC22+/bVsy7KGHHqrPoRERNRj2IBMR3cS++OILJCQkYPjw4YiPj0dYWBjKy8tx7tw5rFq1ynYTkQEDBnBlBCK6aTAgExHd5C5evFjtBW29evXCJ598Uusl3oiIvA0v0iMiuoldunQJv/32G/bt24fU1FTk5eXBaDQiODgYXbt2xfDhwzFixAjI5ezII6KbBwMyEREREZEdTgkQEREREdlhD7KHZGcXe/Tx5HIZQkP9kZdXArOZk/w3wnpJw3pJw3pJx5pJw3pJw3pJw3pVioio2c2OOIPcSMnlMshkMsjlvCimJlgvaVgvaVgv6VgzaVgvaVgvaVgv6RiQiYiIiIjsMCATEREREdlhQCYiIiIissOATERERERkhwGZiIiIiMgOAzIRERERkR0GZCIiIiIiOwzIRERERER2GJCJiIiIiOwwIBMRERER2WFAJiIiIiKyw4BMRERERGSHAZmIiIiIyA4DMhERERGRHQZkIiIiIiI7DMhERERERHYYkL3QnoQ0vLXoEA6fzWrooRAREVEdGziwD158cVpDD+OmomjoAZB06/+8jNwiHTbuS0afTpENPRwiIqImb+DAPpKO//PPw3U0EqoPDMheyGASAQClOmMDj4SIiOjm8NRTzzhtW7XqZ2i1Wpf7POnHH1dDrfap0+cgRwzIXkghyAAABpO5gUdCRER0c3j66elO27Zs2QitVutynye1atW6Th+fnDEgeyGF3NI6bqqYSSYiIqLGIT09DWPHPoBhw0biyScn4auvPseJE8dQVFSIVavWIzo6Brt378SOHb/j7NkzyMnJhkKhQLt2HfDoo4/jrrvucXrMgQP7oEePXliw4GvbtvfffxtbtmzEypXrsHfvHqxd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jlAoFE410+v1SExMvKlq5kpKSgrUajX8/PxYKztdunQBAIebWwCVwS40NJT1qsaGDRvg5+eHwYMHO2xnzaRhQG5Ehg4dCpPJZLtICLD84q5Zswbx8fGIjo5uwNF5h/vvvx+7du1yWBJv//79SE5OxtChQxtwZPXLZDLhlVdewfHjxzF//nz07NnT5XGsl0Vubq7TNoPBgHXr1sHHxwft2rUDwHpZdejQAZ9//rnTR4cOHRATE4PPP/8cY8aMQUBAAPr374/169c7vPFft24dSktLb5qaubrT4tmzZ7Fjxw7cfvvtkMvlrJUda9/s6tWrHbavXr0aCoUC/fr1Y72qkJeXh/379+O+++6Dr6+vwz7WTBqZKIpiQw+CKr388sv4448/MGnSJLRq1Qpr167FyZMnsWTJEvTt27ehh9egfvjhBxQVFSErKws///wz7r//ftus+oQJExAQEID09HSMHj0agYGBmDhxIkpLS7Fo0SJERUXhl19+uWn+BP7+++/j+++/x9133+1wkYbVgw8+CACsV4UXXngBWq0Wffv2RVRUFLKzs7FhwwZcunQJs2bNwlNPPQWA9bqRCRMmID8/Hxs3brRtO336NB577DG0b98ejz76KDIyMrB48WL07dsXixYtasDR1p+JEyfCx8cHPXv2RFhYGJKSkrBy5UooFAqsWLHC9gaMtao0Z84c/PLLLxg2bBj69u2LQ4cOYevWrZg+fTpee+01AKyXKz/88APeffddfPvttxg0aJDTftas5hiQGxmdTod58+Zhw4YNKCwsRFxcHF5++WWXv+g3m8GDByM1NdXlvu3bt9vWerxw4QL+/e9/48iRI1Aqlbjzzjsxa9YshIeH1+dwG9SECROqvB03YFkP04r1AjZt2oTVq1fj/PnzKCgogL+/P7p06YLx48fjnnvucTiW9aqaq4AMAIcPH8bcuXNx5swZ+Pv7Y9iwYXjttdec1nxvqr7//nts2LABV69ehVarRUhICPr3748XX3wRrVq1cjj2Zq+VlcFgwFdffYU1a9YgKysLMTExeOKJJzB58mSH41gvR+PGjcO1a9ewZ88e2wXZ12PNaoYBmYiIiIjIDnuQiYiIiIjsMCATEREREdlhQCYiIiIissOATERERERkhwGZiIiIiMgOAzIRERERkR0GZCIiIiIiOwzIRERERER2FA09ACIiqv5O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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.title(\"Learning Curves\", fontsize=20)\n", + "plt.plot(np.linspace(1, max_epochs, max_epochs), epoch_loss_list, color=\"C0\", linewidth=2.0, label=\"Train\")\n", + "plt.plot(\n", + " np.linspace(val_interval, max_epochs, int(max_epochs / val_interval)),\n", + " val_epoch_loss_list,\n", + " color=\"C1\",\n", + " linewidth=2.0,\n", + " label=\"Validation\",\n", + ")\n", + "plt.yticks(fontsize=12)\n", + "plt.xticks(fontsize=12)\n", + "plt.xlabel(\"Epochs\", fontsize=16)\n", + "plt.ylabel(\"Loss\", fontsize=16)\n", + "plt.legend(prop={\"size\": 14})\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "3768aac2", + "metadata": {}, + "source": [ + "### Plotting sampling process along DDPM's Markov chain" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "0a414e21", + "metadata": { + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1000/1000 [00:11<00:00, 86.30it/s]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model.eval()\n", + "noise = torch.randn((1, 1, 64, 64))\n", + "noise = noise.to(device)\n", + "scheduler.set_timesteps(num_inference_steps=1000)\n", + "with autocast(device_type=\"cuda\", enabled=True):\n", + " image, intermediates = inferer.sample(\n", + " input_noise=noise, diffusion_model=model, scheduler=scheduler, save_intermediates=True, intermediate_steps=100\n", + " )\n", + "\n", + "chain = torch.cat(intermediates, dim=-1)\n", + "\n", + "plt.imshow(chain[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n", + "plt.tight_layout()\n", + "plt.axis(\"off\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "dfb247a0", + "metadata": {}, + "source": [ + "### Cleanup data directory\n", + "\n", + "Remove directory if a temporary was used." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "cc0ab338", + "metadata": {}, + "outputs": [], + "source": [ + "if directory is None:\n", + " shutil.rmtree(root_dir)" + ] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}