From 326f2469e7c898be481ed88ac965a9e77760c6c9 Mon Sep 17 00:00:00 2001 From: myron Date: Mon, 8 Jan 2024 23:42:47 -0800 Subject: [PATCH 01/13] init Signed-off-by: myron --- auto3dseg/tasks/kits23/README.md | 59 + auto3dseg/tasks/kits23/input.yaml | 18 + auto3dseg/tasks/kits23/kits23.py | 26 + auto3dseg/tasks/kits23/kits23_folds.json | 2491 ++++++++++++++++++++++ 4 files changed, 2594 insertions(+) create mode 100644 auto3dseg/tasks/kits23/README.md create mode 100644 auto3dseg/tasks/kits23/input.yaml create mode 100644 auto3dseg/tasks/kits23/kits23.py create mode 100644 auto3dseg/tasks/kits23/kits23_folds.json diff --git a/auto3dseg/tasks/kits23/README.md b/auto3dseg/tasks/kits23/README.md new file mode 100644 index 0000000000..260b4b8aea --- /dev/null +++ b/auto3dseg/tasks/kits23/README.md @@ -0,0 +1,59 @@ + +# KiTS23 + +TODO + + +The KiTS dataset is from MICCAI 2023 challenge **[HEad and NeCK TumOR Segmentation and Outcome Prediction (HECKTOR22)](https://hecktor.grand-challenge.org)**. The solution described here won the 1st place in the HECKTOR22 challenge [(NVAUTO team)](https://hecktor.grand-challenge.org/final-leaderboard/): + +Andriy Myronenko, Md Mahfuzur Rahman Siddiquee, Dong Yang, Yufan He and Daguang Xu: "Automated head and neck tumor segmentation from 3D PET/CT". In MICCAI (2022). [arXiv](https://arxiv.org/abs/2209.10809) + +![hecktor_PET_CT](./hecktor_data.jpg) + +## Task overview + +The task is to segment 3D Head and Neck (H&N) tumors and lymph nodes classes from a pair of 3D CT and PET images. The ground truth labels are provided for 524 cases with average 3D CT size of 512x512x200 voxels at 0.98x0.98x3 mm average resolution, and with average 3D PET size of 200x200x200 voxels at 4x4x4 mm. The CT and PET images where rigidly aligned to a common origin, but remain at different sizes and resolutions. + + +## Auto3DSeg + +The HECKTOR22 tutorial is only supported for **SegResNet** algo (since currently it is the only algo with support of multi-resolution input images, such as CT and PET). +Auto3DSeg runs a full workflow including data analysis, and multi-fold training. Please download the dataset into /data/hecktor22 folder first. + + +### Running based on the input config + +The Auto3DSeg can be run using a config **input.yaml** + +```bash +python -m monai.apps.auto3dseg AutoRunner run --input='./input.yaml' --algos='segresnet' +``` + +### Running from python + +Alternatively you can also run Auto3DSeg from a python script, where you can customize more options. Please see the comments in **hecktor22.py** +```bash +python hecktor22.py +``` + + +## Validation performance: NVIDIA DGX-1 (8x V100 16G) + +The validation results can be obtained by running the training script with MONAI 1.1.0 on NVIDIA DGX-1 with (8x V100 16GB) GPUs. The results below are in terms of **Aggregated Dice**, which was used as the key metric in the challenge [1,2]. The values of the Aggregated Dice slightly differ from a conventional average Dice (which is used by Auto3DSeg by default for all tasks). + + +| | Fold 0 | Fold 1 | Fold 2 | Fold 3 | Fold 4 | Avg | +|:------:|:------:|:------:|:------:|:------:|:------:|:---:| +| SegResNet | 0.7933 | 0.7862 | 0.7816 |0.8275 | 0.8059 | 0.7989 | + + +## Data + +The HECKTOR22 challenge dataset [2,3] can be downloaded from [here](https://hecktor.grand-challenge.org) after the registration. Each user is responsible for checking the content of the datasets and the applicable licenses and determining if suitable for the intended use. The license for the HECKTOR22 dataset is different than MONAI license. + +## References +[1] Andriy Myronenko, Md Mahfuzur Rahman Siddiquee, Dong Yang, Yufan He and Daguang Xu: "Automated head and neck tumor segmentation from 3D PET/CT". In MICCAI (2022). https://arxiv.org/abs/2209.10809 + +[2] Andrearczyk, V., Oreiller, V., Boughdad, S., Rest, C.C.L., Elhalawani, H., Jreige, M., Prior, J.O., Valli`eres, M., Visvikis, D., Hatt, M., Depeursinge, A.: Overview of the HECKTOR Challenge at MICCAI 2022: Automatic Head and Neck Tumor Segmentation and Outcome Prediction in PET/CT (2023), https://arxiv.org/abs/2201.04138 + +[3] Oreiller, V., Andrearczyk, V., Jreige, M., Boughdad, S., Elhalawani, H., Castelli, J., Valli`eres, M., Zhu, S., Xie, J., Peng, Y., Iantsen, A., Hatt, M., Yuan, Y., Ma, J., Yang, X., Rao, C., Pai, S., Ghimire, K., Feng, X. Naser, M.A., Fuller, C.D., Yousefirizi, F., Rahmim, A., Chen, H., Wang, L., Prior, J.O., Depeursinge, A.: Head and neck tumor segmentation in PET/CT: The HECKTOR challenge. Medical Image Analysis 77, 102336 (2022) diff --git a/auto3dseg/tasks/kits23/input.yaml b/auto3dseg/tasks/kits23/input.yaml new file mode 100644 index 0000000000..970710437a --- /dev/null +++ b/auto3dseg/tasks/kits23/input.yaml @@ -0,0 +1,18 @@ +# KiTS23 Auto3dseg minimal user input + +modality: CT # primary modality +dataroot: /data/kits23 # dataset location +datalist: kits23_folds.json # a list of filenames +class_names: # names for tensorboard, and label index grouping specific for KiTS data + - { name: kidney_and_mass, index: [1,2,3] } + - { name: mass, index: [2,3] } + - { name: tumor, index: [2] } + +# use final sigmoid activation (instead of the default softmax), since KiTS regions are overlapping (multi-label segmentation) +# this is optional to set, the system auto-detect overlapping labels. +sigmoid: true + + +roi_size: [192, 192, 192] + + diff --git a/auto3dseg/tasks/kits23/kits23.py b/auto3dseg/tasks/kits23/kits23.py new file mode 100644 index 0000000000..652c59bd58 --- /dev/null +++ b/auto3dseg/tasks/kits23/kits23.py @@ -0,0 +1,26 @@ +# Copyright (c) MONAI Consortium +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from monai.apps.auto3dseg import AutoRunner + +# the minimum required code is to create an AutoRunner() and call runner.run() +# the algos must be set to 'segresnet' (since currently it's the only algo with support of multi-resolution input images, such as CT and PET) +# here we also set ensemble=False (optional) to prevent inference on the testing set (since we do not use any testing sets, only the 5-fold cross validation) +# for you own inference (and ensemble) you can provide a list of testing files in "hecktor22_folds.json" +runner = AutoRunner(input="input.yaml", algos="segresnet", work_dir="./work_dir", ensemble=False) + +## optionally, we can use just 1-fold (for a quick training of a single model, instead of training 5 folds) +# runner.set_num_fold(1) + +## optionally, we can define the path to the dataset here, instead of the one in input.yaml +# runner.set_training_params({"dataroot" : '/data/hecktor22'}) + +runner.run() diff --git a/auto3dseg/tasks/kits23/kits23_folds.json b/auto3dseg/tasks/kits23/kits23_folds.json new file mode 100644 index 0000000000..bdca703483 --- /dev/null +++ b/auto3dseg/tasks/kits23/kits23_folds.json @@ -0,0 +1,2491 @@ +{ + "testing": [ + { + "image": "dataset/case_00004/imaging.nii.gz", + "label": "dataset/case_00004/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00005/imaging.nii.gz", + "label": "dataset/case_00005/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00006/imaging.nii.gz", + "label": "dataset/case_00006/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00011/imaging.nii.gz", + "label": "dataset/case_00011/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00017/imaging.nii.gz", + "label": "dataset/case_00017/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00029/imaging.nii.gz", + "label": "dataset/case_00029/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00031/imaging.nii.gz", + "label": "dataset/case_00031/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00034/imaging.nii.gz", + "label": "dataset/case_00034/segmentation.nii.gz", + "fold": 0 + } + ], + "training": [ + { + "image": "dataset/case_00004/imaging.nii.gz", + "label": "dataset/case_00004/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00005/imaging.nii.gz", + "label": "dataset/case_00005/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00006/imaging.nii.gz", + "label": "dataset/case_00006/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00011/imaging.nii.gz", + "label": "dataset/case_00011/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00017/imaging.nii.gz", + "label": "dataset/case_00017/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00029/imaging.nii.gz", + "label": "dataset/case_00029/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00031/imaging.nii.gz", + "label": "dataset/case_00031/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00034/imaging.nii.gz", + "label": "dataset/case_00034/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00047/imaging.nii.gz", + "label": "dataset/case_00047/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00062/imaging.nii.gz", + "label": "dataset/case_00062/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00065/imaging.nii.gz", + "label": "dataset/case_00065/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00066/imaging.nii.gz", + "label": "dataset/case_00066/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00067/imaging.nii.gz", + "label": "dataset/case_00067/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00085/imaging.nii.gz", + "label": "dataset/case_00085/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00090/imaging.nii.gz", + "label": "dataset/case_00090/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00092/imaging.nii.gz", + "label": "dataset/case_00092/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00102/imaging.nii.gz", + "label": "dataset/case_00102/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00107/imaging.nii.gz", + "label": "dataset/case_00107/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00110/imaging.nii.gz", + "label": "dataset/case_00110/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00117/imaging.nii.gz", + "label": "dataset/case_00117/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00119/imaging.nii.gz", + "label": "dataset/case_00119/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00128/imaging.nii.gz", + "label": "dataset/case_00128/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00132/imaging.nii.gz", + "label": "dataset/case_00132/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00142/imaging.nii.gz", + "label": "dataset/case_00142/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00147/imaging.nii.gz", + "label": "dataset/case_00147/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00159/imaging.nii.gz", + "label": "dataset/case_00159/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00164/imaging.nii.gz", + "label": "dataset/case_00164/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00165/imaging.nii.gz", + "label": "dataset/case_00165/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00172/imaging.nii.gz", + "label": "dataset/case_00172/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00173/imaging.nii.gz", + "label": "dataset/case_00173/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00185/imaging.nii.gz", + "label": "dataset/case_00185/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00189/imaging.nii.gz", + "label": "dataset/case_00189/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00192/imaging.nii.gz", + "label": "dataset/case_00192/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00197/imaging.nii.gz", + "label": "dataset/case_00197/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00201/imaging.nii.gz", + "label": "dataset/case_00201/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00208/imaging.nii.gz", + "label": "dataset/case_00208/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00213/imaging.nii.gz", + "label": "dataset/case_00213/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00218/imaging.nii.gz", + "label": "dataset/case_00218/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00225/imaging.nii.gz", + "label": "dataset/case_00225/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00230/imaging.nii.gz", + "label": "dataset/case_00230/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00233/imaging.nii.gz", + "label": "dataset/case_00233/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00245/imaging.nii.gz", + "label": "dataset/case_00245/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00246/imaging.nii.gz", + "label": "dataset/case_00246/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00250/imaging.nii.gz", + "label": "dataset/case_00250/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00256/imaging.nii.gz", + "label": "dataset/case_00256/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00260/imaging.nii.gz", + "label": "dataset/case_00260/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00261/imaging.nii.gz", + "label": "dataset/case_00261/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00273/imaging.nii.gz", + "label": "dataset/case_00273/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00275/imaging.nii.gz", + "label": "dataset/case_00275/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00284/imaging.nii.gz", + "label": "dataset/case_00284/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00287/imaging.nii.gz", + "label": "dataset/case_00287/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00290/imaging.nii.gz", + "label": "dataset/case_00290/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00291/imaging.nii.gz", + "label": "dataset/case_00291/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00294/imaging.nii.gz", + "label": "dataset/case_00294/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00295/imaging.nii.gz", + "label": "dataset/case_00295/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00298/imaging.nii.gz", + "label": "dataset/case_00298/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00400/imaging.nii.gz", + "label": "dataset/case_00400/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00403/imaging.nii.gz", + "label": "dataset/case_00403/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00404/imaging.nii.gz", + "label": "dataset/case_00404/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00414/imaging.nii.gz", + "label": "dataset/case_00414/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00415/imaging.nii.gz", + "label": "dataset/case_00415/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00418/imaging.nii.gz", + "label": "dataset/case_00418/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00422/imaging.nii.gz", + "label": "dataset/case_00422/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00426/imaging.nii.gz", + "label": "dataset/case_00426/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00430/imaging.nii.gz", + "label": "dataset/case_00430/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00431/imaging.nii.gz", + "label": "dataset/case_00431/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00434/imaging.nii.gz", + "label": "dataset/case_00434/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00439/imaging.nii.gz", + "label": "dataset/case_00439/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00447/imaging.nii.gz", + "label": "dataset/case_00447/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00458/imaging.nii.gz", + "label": "dataset/case_00458/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00462/imaging.nii.gz", + "label": "dataset/case_00462/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00464/imaging.nii.gz", + "label": "dataset/case_00464/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00470/imaging.nii.gz", + "label": "dataset/case_00470/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00475/imaging.nii.gz", + "label": "dataset/case_00475/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00476/imaging.nii.gz", + "label": "dataset/case_00476/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00485/imaging.nii.gz", + "label": "dataset/case_00485/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00489/imaging.nii.gz", + "label": "dataset/case_00489/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00492/imaging.nii.gz", + "label": "dataset/case_00492/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00494/imaging.nii.gz", + "label": "dataset/case_00494/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00504/imaging.nii.gz", + "label": "dataset/case_00504/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00509/imaging.nii.gz", + "label": "dataset/case_00509/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00510/imaging.nii.gz", + "label": "dataset/case_00510/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00512/imaging.nii.gz", + "label": "dataset/case_00512/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00516/imaging.nii.gz", + "label": "dataset/case_00516/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00520/imaging.nii.gz", + "label": "dataset/case_00520/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00528/imaging.nii.gz", + "label": "dataset/case_00528/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00532/imaging.nii.gz", + "label": "dataset/case_00532/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00534/imaging.nii.gz", + "label": "dataset/case_00534/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00535/imaging.nii.gz", + "label": "dataset/case_00535/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00540/imaging.nii.gz", + "label": "dataset/case_00540/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00546/imaging.nii.gz", + "label": "dataset/case_00546/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00552/imaging.nii.gz", + "label": "dataset/case_00552/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00553/imaging.nii.gz", + "label": "dataset/case_00553/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00557/imaging.nii.gz", + "label": "dataset/case_00557/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00559/imaging.nii.gz", + "label": "dataset/case_00559/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00569/imaging.nii.gz", + "label": "dataset/case_00569/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00574/imaging.nii.gz", + "label": "dataset/case_00574/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00586/imaging.nii.gz", + "label": "dataset/case_00586/segmentation.nii.gz", + "fold": 0 + }, + { + "image": "dataset/case_00012/imaging.nii.gz", + "label": "dataset/case_00012/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00013/imaging.nii.gz", + "label": "dataset/case_00013/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00018/imaging.nii.gz", + "label": "dataset/case_00018/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00023/imaging.nii.gz", + "label": "dataset/case_00023/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00027/imaging.nii.gz", + "label": "dataset/case_00027/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00039/imaging.nii.gz", + "label": "dataset/case_00039/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00040/imaging.nii.gz", + "label": "dataset/case_00040/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00041/imaging.nii.gz", + "label": "dataset/case_00041/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00046/imaging.nii.gz", + "label": "dataset/case_00046/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00058/imaging.nii.gz", + "label": "dataset/case_00058/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00059/imaging.nii.gz", + "label": "dataset/case_00059/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00061/imaging.nii.gz", + "label": "dataset/case_00061/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00069/imaging.nii.gz", + "label": "dataset/case_00069/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00073/imaging.nii.gz", + "label": "dataset/case_00073/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00078/imaging.nii.gz", + "label": "dataset/case_00078/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00080/imaging.nii.gz", + "label": "dataset/case_00080/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00081/imaging.nii.gz", + "label": "dataset/case_00081/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00082/imaging.nii.gz", + "label": "dataset/case_00082/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00089/imaging.nii.gz", + "label": "dataset/case_00089/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00091/imaging.nii.gz", + "label": "dataset/case_00091/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00093/imaging.nii.gz", + "label": "dataset/case_00093/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00095/imaging.nii.gz", + "label": "dataset/case_00095/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00098/imaging.nii.gz", + "label": "dataset/case_00098/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00101/imaging.nii.gz", + "label": "dataset/case_00101/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00106/imaging.nii.gz", + "label": "dataset/case_00106/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00120/imaging.nii.gz", + "label": "dataset/case_00120/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00122/imaging.nii.gz", + "label": "dataset/case_00122/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00125/imaging.nii.gz", + "label": "dataset/case_00125/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00127/imaging.nii.gz", + "label": "dataset/case_00127/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00135/imaging.nii.gz", + "label": "dataset/case_00135/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00139/imaging.nii.gz", + "label": "dataset/case_00139/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00146/imaging.nii.gz", + "label": "dataset/case_00146/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00157/imaging.nii.gz", + "label": "dataset/case_00157/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00161/imaging.nii.gz", + "label": "dataset/case_00161/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00162/imaging.nii.gz", + "label": "dataset/case_00162/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00168/imaging.nii.gz", + "label": "dataset/case_00168/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00171/imaging.nii.gz", + "label": "dataset/case_00171/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00179/imaging.nii.gz", + "label": "dataset/case_00179/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00180/imaging.nii.gz", + "label": "dataset/case_00180/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00186/imaging.nii.gz", + "label": "dataset/case_00186/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00187/imaging.nii.gz", + "label": "dataset/case_00187/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00214/imaging.nii.gz", + "label": "dataset/case_00214/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00221/imaging.nii.gz", + "label": "dataset/case_00221/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00223/imaging.nii.gz", + "label": "dataset/case_00223/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00224/imaging.nii.gz", + "label": "dataset/case_00224/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00232/imaging.nii.gz", + "label": "dataset/case_00232/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00236/imaging.nii.gz", + "label": "dataset/case_00236/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00238/imaging.nii.gz", + "label": "dataset/case_00238/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00244/imaging.nii.gz", + "label": "dataset/case_00244/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00249/imaging.nii.gz", + "label": "dataset/case_00249/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00257/imaging.nii.gz", + "label": "dataset/case_00257/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00258/imaging.nii.gz", + "label": "dataset/case_00258/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00267/imaging.nii.gz", + "label": "dataset/case_00267/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00268/imaging.nii.gz", + "label": "dataset/case_00268/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00283/imaging.nii.gz", + "label": "dataset/case_00283/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00285/imaging.nii.gz", + "label": "dataset/case_00285/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00286/imaging.nii.gz", + "label": "dataset/case_00286/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00293/imaging.nii.gz", + "label": "dataset/case_00293/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00405/imaging.nii.gz", + "label": "dataset/case_00405/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00407/imaging.nii.gz", + "label": "dataset/case_00407/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00409/imaging.nii.gz", + "label": "dataset/case_00409/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00423/imaging.nii.gz", + "label": "dataset/case_00423/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00424/imaging.nii.gz", + "label": "dataset/case_00424/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00428/imaging.nii.gz", + "label": "dataset/case_00428/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00429/imaging.nii.gz", + "label": "dataset/case_00429/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00443/imaging.nii.gz", + "label": "dataset/case_00443/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00444/imaging.nii.gz", + "label": "dataset/case_00444/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00450/imaging.nii.gz", + "label": "dataset/case_00450/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00451/imaging.nii.gz", + "label": "dataset/case_00451/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00455/imaging.nii.gz", + "label": "dataset/case_00455/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00461/imaging.nii.gz", + "label": "dataset/case_00461/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00466/imaging.nii.gz", + "label": "dataset/case_00466/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00472/imaging.nii.gz", + "label": "dataset/case_00472/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00477/imaging.nii.gz", + "label": "dataset/case_00477/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00478/imaging.nii.gz", + "label": "dataset/case_00478/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00479/imaging.nii.gz", + "label": "dataset/case_00479/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00480/imaging.nii.gz", + "label": "dataset/case_00480/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00482/imaging.nii.gz", + "label": "dataset/case_00482/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00483/imaging.nii.gz", + "label": "dataset/case_00483/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00497/imaging.nii.gz", + "label": "dataset/case_00497/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00506/imaging.nii.gz", + "label": "dataset/case_00506/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00511/imaging.nii.gz", + "label": "dataset/case_00511/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00515/imaging.nii.gz", + "label": "dataset/case_00515/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00518/imaging.nii.gz", + "label": "dataset/case_00518/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00524/imaging.nii.gz", + "label": "dataset/case_00524/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00526/imaging.nii.gz", + "label": "dataset/case_00526/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00527/imaging.nii.gz", + "label": "dataset/case_00527/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00539/imaging.nii.gz", + "label": "dataset/case_00539/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00541/imaging.nii.gz", + "label": "dataset/case_00541/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00544/imaging.nii.gz", + "label": "dataset/case_00544/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00547/imaging.nii.gz", + "label": "dataset/case_00547/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00563/imaging.nii.gz", + "label": "dataset/case_00563/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00565/imaging.nii.gz", + "label": "dataset/case_00565/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00577/imaging.nii.gz", + "label": "dataset/case_00577/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00579/imaging.nii.gz", + "label": "dataset/case_00579/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00584/imaging.nii.gz", + "label": "dataset/case_00584/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00585/imaging.nii.gz", + "label": "dataset/case_00585/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00588/imaging.nii.gz", + "label": "dataset/case_00588/segmentation.nii.gz", + "fold": 1 + }, + { + "image": "dataset/case_00000/imaging.nii.gz", + "label": "dataset/case_00000/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00008/imaging.nii.gz", + "label": "dataset/case_00008/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00009/imaging.nii.gz", + "label": "dataset/case_00009/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00014/imaging.nii.gz", + "label": "dataset/case_00014/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00016/imaging.nii.gz", + "label": "dataset/case_00016/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00019/imaging.nii.gz", + "label": "dataset/case_00019/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00028/imaging.nii.gz", + "label": "dataset/case_00028/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00032/imaging.nii.gz", + "label": "dataset/case_00032/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00038/imaging.nii.gz", + "label": "dataset/case_00038/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00042/imaging.nii.gz", + "label": "dataset/case_00042/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00044/imaging.nii.gz", + "label": "dataset/case_00044/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00048/imaging.nii.gz", + "label": "dataset/case_00048/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00051/imaging.nii.gz", + "label": "dataset/case_00051/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00053/imaging.nii.gz", + "label": "dataset/case_00053/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00055/imaging.nii.gz", + "label": "dataset/case_00055/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00070/imaging.nii.gz", + "label": "dataset/case_00070/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00079/imaging.nii.gz", + "label": "dataset/case_00079/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00084/imaging.nii.gz", + "label": "dataset/case_00084/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00088/imaging.nii.gz", + "label": "dataset/case_00088/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00099/imaging.nii.gz", + "label": "dataset/case_00099/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00100/imaging.nii.gz", + "label": "dataset/case_00100/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00105/imaging.nii.gz", + "label": "dataset/case_00105/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00108/imaging.nii.gz", + "label": "dataset/case_00108/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00111/imaging.nii.gz", + "label": "dataset/case_00111/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00112/imaging.nii.gz", + "label": "dataset/case_00112/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00113/imaging.nii.gz", + "label": "dataset/case_00113/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00123/imaging.nii.gz", + "label": "dataset/case_00123/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00124/imaging.nii.gz", + "label": "dataset/case_00124/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00131/imaging.nii.gz", + "label": "dataset/case_00131/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00138/imaging.nii.gz", + "label": "dataset/case_00138/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00145/imaging.nii.gz", + "label": "dataset/case_00145/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00150/imaging.nii.gz", + "label": "dataset/case_00150/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00154/imaging.nii.gz", + "label": "dataset/case_00154/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00158/imaging.nii.gz", + "label": "dataset/case_00158/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00160/imaging.nii.gz", + "label": "dataset/case_00160/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00163/imaging.nii.gz", + "label": "dataset/case_00163/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00167/imaging.nii.gz", + "label": "dataset/case_00167/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00169/imaging.nii.gz", + "label": "dataset/case_00169/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00174/imaging.nii.gz", + "label": "dataset/case_00174/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00175/imaging.nii.gz", + "label": "dataset/case_00175/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00188/imaging.nii.gz", + "label": "dataset/case_00188/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00191/imaging.nii.gz", + "label": "dataset/case_00191/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00204/imaging.nii.gz", + "label": "dataset/case_00204/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00206/imaging.nii.gz", + "label": "dataset/case_00206/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00207/imaging.nii.gz", + "label": "dataset/case_00207/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00211/imaging.nii.gz", + "label": "dataset/case_00211/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00222/imaging.nii.gz", + "label": "dataset/case_00222/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00227/imaging.nii.gz", + "label": "dataset/case_00227/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00228/imaging.nii.gz", + "label": "dataset/case_00228/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00229/imaging.nii.gz", + "label": "dataset/case_00229/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00242/imaging.nii.gz", + "label": "dataset/case_00242/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00247/imaging.nii.gz", + "label": "dataset/case_00247/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00251/imaging.nii.gz", + "label": "dataset/case_00251/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00270/imaging.nii.gz", + "label": "dataset/case_00270/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00271/imaging.nii.gz", + "label": "dataset/case_00271/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00272/imaging.nii.gz", + "label": "dataset/case_00272/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00274/imaging.nii.gz", + "label": "dataset/case_00274/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00277/imaging.nii.gz", + "label": "dataset/case_00277/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00289/imaging.nii.gz", + "label": "dataset/case_00289/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00292/imaging.nii.gz", + "label": "dataset/case_00292/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00406/imaging.nii.gz", + "label": "dataset/case_00406/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00410/imaging.nii.gz", + "label": "dataset/case_00410/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00411/imaging.nii.gz", + "label": "dataset/case_00411/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00412/imaging.nii.gz", + "label": "dataset/case_00412/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00420/imaging.nii.gz", + "label": "dataset/case_00420/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00440/imaging.nii.gz", + "label": "dataset/case_00440/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00441/imaging.nii.gz", + "label": "dataset/case_00441/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00442/imaging.nii.gz", + "label": "dataset/case_00442/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00449/imaging.nii.gz", + "label": "dataset/case_00449/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00453/imaging.nii.gz", + "label": "dataset/case_00453/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00460/imaging.nii.gz", + "label": "dataset/case_00460/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00488/imaging.nii.gz", + "label": "dataset/case_00488/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00500/imaging.nii.gz", + "label": "dataset/case_00500/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00501/imaging.nii.gz", + "label": "dataset/case_00501/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00503/imaging.nii.gz", + "label": "dataset/case_00503/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00507/imaging.nii.gz", + "label": "dataset/case_00507/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00514/imaging.nii.gz", + "label": "dataset/case_00514/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00517/imaging.nii.gz", + "label": "dataset/case_00517/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00521/imaging.nii.gz", + "label": "dataset/case_00521/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00523/imaging.nii.gz", + "label": "dataset/case_00523/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00525/imaging.nii.gz", + "label": "dataset/case_00525/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00536/imaging.nii.gz", + "label": "dataset/case_00536/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00537/imaging.nii.gz", + "label": "dataset/case_00537/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00545/imaging.nii.gz", + "label": "dataset/case_00545/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00554/imaging.nii.gz", + "label": "dataset/case_00554/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00556/imaging.nii.gz", + "label": "dataset/case_00556/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00558/imaging.nii.gz", + "label": "dataset/case_00558/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00561/imaging.nii.gz", + "label": "dataset/case_00561/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00564/imaging.nii.gz", + "label": "dataset/case_00564/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00566/imaging.nii.gz", + "label": "dataset/case_00566/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00567/imaging.nii.gz", + "label": "dataset/case_00567/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00570/imaging.nii.gz", + "label": "dataset/case_00570/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00571/imaging.nii.gz", + "label": "dataset/case_00571/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00573/imaging.nii.gz", + "label": "dataset/case_00573/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00576/imaging.nii.gz", + "label": "dataset/case_00576/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00580/imaging.nii.gz", + "label": "dataset/case_00580/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00581/imaging.nii.gz", + "label": "dataset/case_00581/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00587/imaging.nii.gz", + "label": "dataset/case_00587/segmentation.nii.gz", + "fold": 2 + }, + { + "image": "dataset/case_00002/imaging.nii.gz", + "label": "dataset/case_00002/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00010/imaging.nii.gz", + "label": "dataset/case_00010/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00020/imaging.nii.gz", + "label": "dataset/case_00020/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00021/imaging.nii.gz", + "label": "dataset/case_00021/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00024/imaging.nii.gz", + "label": "dataset/case_00024/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00033/imaging.nii.gz", + "label": "dataset/case_00033/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00035/imaging.nii.gz", + "label": "dataset/case_00035/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00036/imaging.nii.gz", + "label": "dataset/case_00036/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00045/imaging.nii.gz", + "label": "dataset/case_00045/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00052/imaging.nii.gz", + "label": "dataset/case_00052/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00054/imaging.nii.gz", + "label": "dataset/case_00054/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00056/imaging.nii.gz", + "label": "dataset/case_00056/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00057/imaging.nii.gz", + "label": "dataset/case_00057/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00060/imaging.nii.gz", + "label": "dataset/case_00060/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00063/imaging.nii.gz", + "label": "dataset/case_00063/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00074/imaging.nii.gz", + "label": "dataset/case_00074/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00075/imaging.nii.gz", + "label": "dataset/case_00075/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00077/imaging.nii.gz", + "label": "dataset/case_00077/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00094/imaging.nii.gz", + "label": "dataset/case_00094/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00096/imaging.nii.gz", + "label": "dataset/case_00096/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00097/imaging.nii.gz", + "label": "dataset/case_00097/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00103/imaging.nii.gz", + "label": "dataset/case_00103/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00114/imaging.nii.gz", + "label": "dataset/case_00114/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00116/imaging.nii.gz", + "label": "dataset/case_00116/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00118/imaging.nii.gz", + "label": "dataset/case_00118/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00130/imaging.nii.gz", + "label": "dataset/case_00130/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00134/imaging.nii.gz", + "label": "dataset/case_00134/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00137/imaging.nii.gz", + "label": "dataset/case_00137/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00140/imaging.nii.gz", + "label": "dataset/case_00140/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00148/imaging.nii.gz", + "label": "dataset/case_00148/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00149/imaging.nii.gz", + "label": "dataset/case_00149/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00151/imaging.nii.gz", + "label": "dataset/case_00151/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00152/imaging.nii.gz", + "label": "dataset/case_00152/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00170/imaging.nii.gz", + "label": "dataset/case_00170/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00176/imaging.nii.gz", + "label": "dataset/case_00176/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00177/imaging.nii.gz", + "label": "dataset/case_00177/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00181/imaging.nii.gz", + "label": "dataset/case_00181/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00182/imaging.nii.gz", + "label": "dataset/case_00182/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00183/imaging.nii.gz", + "label": "dataset/case_00183/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00184/imaging.nii.gz", + "label": "dataset/case_00184/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00190/imaging.nii.gz", + "label": "dataset/case_00190/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00193/imaging.nii.gz", + "label": "dataset/case_00193/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00194/imaging.nii.gz", + "label": "dataset/case_00194/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00198/imaging.nii.gz", + "label": "dataset/case_00198/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00199/imaging.nii.gz", + "label": "dataset/case_00199/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00200/imaging.nii.gz", + "label": "dataset/case_00200/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00202/imaging.nii.gz", + "label": "dataset/case_00202/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00205/imaging.nii.gz", + "label": "dataset/case_00205/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00210/imaging.nii.gz", + "label": "dataset/case_00210/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00212/imaging.nii.gz", + "label": "dataset/case_00212/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00217/imaging.nii.gz", + "label": "dataset/case_00217/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00219/imaging.nii.gz", + "label": "dataset/case_00219/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00220/imaging.nii.gz", + "label": "dataset/case_00220/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00231/imaging.nii.gz", + "label": "dataset/case_00231/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00234/imaging.nii.gz", + "label": "dataset/case_00234/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00240/imaging.nii.gz", + "label": "dataset/case_00240/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00248/imaging.nii.gz", + "label": "dataset/case_00248/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00253/imaging.nii.gz", + "label": "dataset/case_00253/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00259/imaging.nii.gz", + "label": "dataset/case_00259/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00262/imaging.nii.gz", + "label": "dataset/case_00262/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00263/imaging.nii.gz", + "label": "dataset/case_00263/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00269/imaging.nii.gz", + "label": "dataset/case_00269/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00278/imaging.nii.gz", + "label": "dataset/case_00278/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00296/imaging.nii.gz", + "label": "dataset/case_00296/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00299/imaging.nii.gz", + "label": "dataset/case_00299/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00401/imaging.nii.gz", + "label": "dataset/case_00401/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00402/imaging.nii.gz", + "label": "dataset/case_00402/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00421/imaging.nii.gz", + "label": "dataset/case_00421/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00425/imaging.nii.gz", + "label": "dataset/case_00425/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00427/imaging.nii.gz", + "label": "dataset/case_00427/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00432/imaging.nii.gz", + "label": "dataset/case_00432/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00433/imaging.nii.gz", + "label": "dataset/case_00433/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00437/imaging.nii.gz", + "label": "dataset/case_00437/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00438/imaging.nii.gz", + "label": "dataset/case_00438/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00445/imaging.nii.gz", + "label": "dataset/case_00445/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00446/imaging.nii.gz", + "label": "dataset/case_00446/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00454/imaging.nii.gz", + "label": "dataset/case_00454/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00459/imaging.nii.gz", + "label": "dataset/case_00459/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00463/imaging.nii.gz", + "label": "dataset/case_00463/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00465/imaging.nii.gz", + "label": "dataset/case_00465/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00468/imaging.nii.gz", + "label": "dataset/case_00468/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00469/imaging.nii.gz", + "label": "dataset/case_00469/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00473/imaging.nii.gz", + "label": "dataset/case_00473/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00474/imaging.nii.gz", + "label": "dataset/case_00474/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00486/imaging.nii.gz", + "label": "dataset/case_00486/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00499/imaging.nii.gz", + "label": "dataset/case_00499/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00519/imaging.nii.gz", + "label": "dataset/case_00519/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00522/imaging.nii.gz", + "label": "dataset/case_00522/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00529/imaging.nii.gz", + "label": "dataset/case_00529/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00530/imaging.nii.gz", + "label": "dataset/case_00530/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00538/imaging.nii.gz", + "label": "dataset/case_00538/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00542/imaging.nii.gz", + "label": "dataset/case_00542/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00543/imaging.nii.gz", + "label": "dataset/case_00543/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00551/imaging.nii.gz", + "label": "dataset/case_00551/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00562/imaging.nii.gz", + "label": "dataset/case_00562/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00568/imaging.nii.gz", + "label": "dataset/case_00568/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00578/imaging.nii.gz", + "label": "dataset/case_00578/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00582/imaging.nii.gz", + "label": "dataset/case_00582/segmentation.nii.gz", + "fold": 3 + }, + { + "image": "dataset/case_00001/imaging.nii.gz", + "label": "dataset/case_00001/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00003/imaging.nii.gz", + "label": "dataset/case_00003/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00007/imaging.nii.gz", + "label": "dataset/case_00007/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00015/imaging.nii.gz", + "label": "dataset/case_00015/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00022/imaging.nii.gz", + "label": "dataset/case_00022/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00025/imaging.nii.gz", + "label": "dataset/case_00025/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00026/imaging.nii.gz", + "label": "dataset/case_00026/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00030/imaging.nii.gz", + "label": "dataset/case_00030/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00037/imaging.nii.gz", + "label": "dataset/case_00037/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00043/imaging.nii.gz", + "label": "dataset/case_00043/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00049/imaging.nii.gz", + "label": "dataset/case_00049/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00050/imaging.nii.gz", + "label": "dataset/case_00050/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00064/imaging.nii.gz", + "label": "dataset/case_00064/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00068/imaging.nii.gz", + "label": "dataset/case_00068/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00071/imaging.nii.gz", + "label": "dataset/case_00071/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00072/imaging.nii.gz", + "label": "dataset/case_00072/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00076/imaging.nii.gz", + "label": "dataset/case_00076/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00083/imaging.nii.gz", + "label": "dataset/case_00083/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00086/imaging.nii.gz", + "label": "dataset/case_00086/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00087/imaging.nii.gz", + "label": "dataset/case_00087/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00104/imaging.nii.gz", + "label": "dataset/case_00104/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00109/imaging.nii.gz", + "label": "dataset/case_00109/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00115/imaging.nii.gz", + "label": "dataset/case_00115/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00121/imaging.nii.gz", + "label": "dataset/case_00121/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00126/imaging.nii.gz", + "label": "dataset/case_00126/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00129/imaging.nii.gz", + "label": "dataset/case_00129/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00133/imaging.nii.gz", + "label": "dataset/case_00133/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00136/imaging.nii.gz", + "label": "dataset/case_00136/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00141/imaging.nii.gz", + "label": "dataset/case_00141/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00143/imaging.nii.gz", + "label": "dataset/case_00143/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00144/imaging.nii.gz", + "label": "dataset/case_00144/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00153/imaging.nii.gz", + "label": "dataset/case_00153/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00155/imaging.nii.gz", + "label": "dataset/case_00155/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00156/imaging.nii.gz", + "label": "dataset/case_00156/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00166/imaging.nii.gz", + "label": "dataset/case_00166/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00178/imaging.nii.gz", + "label": "dataset/case_00178/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00195/imaging.nii.gz", + "label": "dataset/case_00195/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00196/imaging.nii.gz", + "label": "dataset/case_00196/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00203/imaging.nii.gz", + "label": "dataset/case_00203/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00209/imaging.nii.gz", + "label": "dataset/case_00209/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00215/imaging.nii.gz", + "label": "dataset/case_00215/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00216/imaging.nii.gz", + "label": "dataset/case_00216/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00226/imaging.nii.gz", + "label": "dataset/case_00226/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00235/imaging.nii.gz", + "label": "dataset/case_00235/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00237/imaging.nii.gz", + "label": "dataset/case_00237/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00239/imaging.nii.gz", + "label": "dataset/case_00239/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00241/imaging.nii.gz", + "label": "dataset/case_00241/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00243/imaging.nii.gz", + "label": "dataset/case_00243/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00252/imaging.nii.gz", + "label": "dataset/case_00252/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00254/imaging.nii.gz", + "label": "dataset/case_00254/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00255/imaging.nii.gz", + "label": "dataset/case_00255/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00264/imaging.nii.gz", + "label": "dataset/case_00264/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00265/imaging.nii.gz", + "label": "dataset/case_00265/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00266/imaging.nii.gz", + "label": "dataset/case_00266/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00276/imaging.nii.gz", + "label": "dataset/case_00276/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00279/imaging.nii.gz", + "label": "dataset/case_00279/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00280/imaging.nii.gz", + "label": "dataset/case_00280/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00281/imaging.nii.gz", + "label": "dataset/case_00281/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00282/imaging.nii.gz", + "label": "dataset/case_00282/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00288/imaging.nii.gz", + "label": "dataset/case_00288/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00297/imaging.nii.gz", + "label": "dataset/case_00297/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00408/imaging.nii.gz", + "label": "dataset/case_00408/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00413/imaging.nii.gz", + "label": "dataset/case_00413/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00416/imaging.nii.gz", + "label": "dataset/case_00416/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00417/imaging.nii.gz", + "label": "dataset/case_00417/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00419/imaging.nii.gz", + "label": "dataset/case_00419/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00435/imaging.nii.gz", + "label": "dataset/case_00435/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00436/imaging.nii.gz", + "label": "dataset/case_00436/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00448/imaging.nii.gz", + "label": "dataset/case_00448/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00452/imaging.nii.gz", + "label": "dataset/case_00452/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00456/imaging.nii.gz", + "label": "dataset/case_00456/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00457/imaging.nii.gz", + "label": "dataset/case_00457/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00467/imaging.nii.gz", + "label": "dataset/case_00467/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00471/imaging.nii.gz", + "label": "dataset/case_00471/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00481/imaging.nii.gz", + "label": "dataset/case_00481/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00484/imaging.nii.gz", + "label": "dataset/case_00484/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00487/imaging.nii.gz", + "label": "dataset/case_00487/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00490/imaging.nii.gz", + "label": "dataset/case_00490/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00491/imaging.nii.gz", + "label": "dataset/case_00491/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00493/imaging.nii.gz", + "label": "dataset/case_00493/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00495/imaging.nii.gz", + "label": "dataset/case_00495/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00496/imaging.nii.gz", + "label": "dataset/case_00496/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00498/imaging.nii.gz", + "label": "dataset/case_00498/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00502/imaging.nii.gz", + "label": "dataset/case_00502/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00505/imaging.nii.gz", + "label": "dataset/case_00505/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00508/imaging.nii.gz", + "label": "dataset/case_00508/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00513/imaging.nii.gz", + "label": "dataset/case_00513/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00531/imaging.nii.gz", + "label": "dataset/case_00531/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00533/imaging.nii.gz", + "label": "dataset/case_00533/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00548/imaging.nii.gz", + "label": "dataset/case_00548/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00549/imaging.nii.gz", + "label": "dataset/case_00549/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00550/imaging.nii.gz", + "label": "dataset/case_00550/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00555/imaging.nii.gz", + "label": "dataset/case_00555/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00560/imaging.nii.gz", + "label": "dataset/case_00560/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00572/imaging.nii.gz", + "label": "dataset/case_00572/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00575/imaging.nii.gz", + "label": "dataset/case_00575/segmentation.nii.gz", + "fold": 4 + }, + { + "image": "dataset/case_00583/imaging.nii.gz", + "label": "dataset/case_00583/segmentation.nii.gz", + "fold": 4 + } + ] +} \ No newline at end of file From e4602f271f45f9a1956317237a6d69d939f69061 Mon Sep 17 00:00:00 2001 From: myron Date: Tue, 9 Jan 2024 00:59:41 -0800 Subject: [PATCH 02/13] 2 Signed-off-by: myron --- auto3dseg/tasks/kits23/README.md | 35 ++++++++++------------ auto3dseg/tasks/kits23/input.yaml | 14 +++++++-- auto3dseg/tasks/kits23/kits23.py | 26 ---------------- auto3dseg/tasks/kits23/kits23_example.png | Bin 0 -> 255207 bytes 4 files changed, 27 insertions(+), 48 deletions(-) delete mode 100644 auto3dseg/tasks/kits23/kits23.py create mode 100644 auto3dseg/tasks/kits23/kits23_example.png diff --git a/auto3dseg/tasks/kits23/README.md b/auto3dseg/tasks/kits23/README.md index 260b4b8aea..557392cf4d 100644 --- a/auto3dseg/tasks/kits23/README.md +++ b/auto3dseg/tasks/kits23/README.md @@ -4,21 +4,20 @@ TODO -The KiTS dataset is from MICCAI 2023 challenge **[HEad and NeCK TumOR Segmentation and Outcome Prediction (HECKTOR22)](https://hecktor.grand-challenge.org)**. The solution described here won the 1st place in the HECKTOR22 challenge [(NVAUTO team)](https://hecktor.grand-challenge.org/final-leaderboard/): +The KiTS dataset is from MICCAI 2023 challenge **[The 2023 Kidney and Kidney Tumor Segmentation Challenge (KiTS23)](https://kits-challenge.org/kits23/)**. The solution described here won the 1st place in the KiTS challenge [(NVAUTO team)](https://kits-challenge.org/kits23/#kits23-official-results): -Andriy Myronenko, Md Mahfuzur Rahman Siddiquee, Dong Yang, Yufan He and Daguang Xu: "Automated head and neck tumor segmentation from 3D PET/CT". In MICCAI (2022). [arXiv](https://arxiv.org/abs/2209.10809) +Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Automated 3D Segmentation of Kidneys and Tumors in MICCAI KiTS 2023 Challenge". In MICCAI (2023). [arXiv](https://arxiv.org/abs/2310.04110) -![hecktor_PET_CT](./hecktor_data.jpg) +![kits23_example](./kits23_example.png) ## Task overview -The task is to segment 3D Head and Neck (H&N) tumors and lymph nodes classes from a pair of 3D CT and PET images. The ground truth labels are provided for 524 cases with average 3D CT size of 512x512x200 voxels at 0.98x0.98x3 mm average resolution, and with average 3D PET size of 200x200x200 voxels at 4x4x4 mm. The CT and PET images where rigidly aligned to a common origin, but remain at different sizes and resolutions. +The task is to segment kidneys, tumors and cysts from 3D CTs. The ground truth labels are provided for 489 cases with resolutions between 0.39x0.39x0.5 and 1x1x5 mm. ## Auto3DSeg -The HECKTOR22 tutorial is only supported for **SegResNet** algo (since currently it is the only algo with support of multi-resolution input images, such as CT and PET). -Auto3DSeg runs a full workflow including data analysis, and multi-fold training. Please download the dataset into /data/hecktor22 folder first. +The KiTS tutorial is only supported for **SegResNet** algo, Auto3DSeg runs a full workflow including data analysis, and multi-fold training. Please download the dataset into /data/kits23 folder first. ### Running based on the input config @@ -29,31 +28,27 @@ The Auto3DSeg can be run using a config **input.yaml** python -m monai.apps.auto3dseg AutoRunner run --input='./input.yaml' --algos='segresnet' ``` -### Running from python -Alternatively you can also run Auto3DSeg from a python script, where you can customize more options. Please see the comments in **hecktor22.py** -```bash -python hecktor22.py -``` - - -## Validation performance: NVIDIA DGX-1 (8x V100 16G) +## Validation performance: NVIDIA DGX-1 (8x V100 32G) -The validation results can be obtained by running the training script with MONAI 1.1.0 on NVIDIA DGX-1 with (8x V100 16GB) GPUs. The results below are in terms of **Aggregated Dice**, which was used as the key metric in the challenge [1,2]. The values of the Aggregated Dice slightly differ from a conventional average Dice (which is used by Auto3DSeg by default for all tasks). +The validation results can be obtained by running the training script with MONAI 1.3.0 on NVIDIA DGX-1 with (8x V100 32GB) GPUs. The results below are in terms of average dice. | | Fold 0 | Fold 1 | Fold 2 | Fold 3 | Fold 4 | Avg | |:------:|:------:|:------:|:------:|:------:|:------:|:---:| -| SegResNet | 0.7933 | 0.7862 | 0.7816 |0.8275 | 0.8059 | 0.7989 | +| SegResNet | 0.8997 | 0.8739 | 0.8923 |0.8911 | 0.8892 |0.88924 | ## Data -The HECKTOR22 challenge dataset [2,3] can be downloaded from [here](https://hecktor.grand-challenge.org) after the registration. Each user is responsible for checking the content of the datasets and the applicable licenses and determining if suitable for the intended use. The license for the HECKTOR22 dataset is different than MONAI license. +The KiTS23 challenge dataset [2,3] can be downloaded from [here](https://kits-challenge.org/kits23). Each user is responsible for checking the content of the datasets and the applicable licenses and determining if suitable for the intended use. The license for the KiTS23 dataset is different than the MONAI license. + ## References -[1] Andriy Myronenko, Md Mahfuzur Rahman Siddiquee, Dong Yang, Yufan He and Daguang Xu: "Automated head and neck tumor segmentation from 3D PET/CT". In MICCAI (2022). https://arxiv.org/abs/2209.10809 +[1] Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Automated 3D Segmentation of Kidneys and Tumors in MICCAI KiTS 2023 Challenge". In MICCAI (2023). https://arxiv.org/abs/2310.04110 + + +[2] Heller, N., Isensee, F., Maier-Hein, K.H., Hou, X., Xie, C., Li, F., Nan, Y., Mu, G., Lin, Z., Han, M., et al.: The state of the art in kidney and kidney tumor segmentation in contrast-enhanced ct imaging: Results of the kits19 challenge. Medical Image Analysis 67, 101821 (2021) -[2] Andrearczyk, V., Oreiller, V., Boughdad, S., Rest, C.C.L., Elhalawani, H., Jreige, M., Prior, J.O., Valli`eres, M., Visvikis, D., Hatt, M., Depeursinge, A.: Overview of the HECKTOR Challenge at MICCAI 2022: Automatic Head and Neck Tumor Segmentation and Outcome Prediction in PET/CT (2023), https://arxiv.org/abs/2201.04138 +[3] Heller, N., Wood, A., Isensee, F., Radsch, T., Tejpaul, R., Papanikolopoulos, N.,Weight, C.: The 2023 kidney and kidney tumor segmentation challenge, https://kits-challenge.org/kits23/ -[3] Oreiller, V., Andrearczyk, V., Jreige, M., Boughdad, S., Elhalawani, H., Castelli, J., Valli`eres, M., Zhu, S., Xie, J., Peng, Y., Iantsen, A., Hatt, M., Yuan, Y., Ma, J., Yang, X., Rao, C., Pai, S., Ghimire, K., Feng, X. Naser, M.A., Fuller, C.D., Yousefirizi, F., Rahmim, A., Chen, H., Wang, L., Prior, J.O., Depeursinge, A.: Head and neck tumor segmentation in PET/CT: The HECKTOR challenge. Medical Image Analysis 77, 102336 (2022) diff --git a/auto3dseg/tasks/kits23/input.yaml b/auto3dseg/tasks/kits23/input.yaml index 970710437a..a774d38d47 100644 --- a/auto3dseg/tasks/kits23/input.yaml +++ b/auto3dseg/tasks/kits23/input.yaml @@ -9,10 +9,20 @@ class_names: # names for tensorboard, and label index gro - { name: tumor, index: [2] } # use final sigmoid activation (instead of the default softmax), since KiTS regions are overlapping (multi-label segmentation) -# this is optional to set, the system auto-detect overlapping labels. +# this is optional to set, the system auto-detects overlapping labels automatically. sigmoid: true -roi_size: [192, 192, 192] +# the config below is optional, but it explicitly sets params as it was used during KiTS23 challenge +# otherwise, the defaults are (auto_scale_allowed is True) and the system will attempt to guess these settings according to the available GPU (e.g. make batch size larger) +auto_scale_allowed: false +batch_size: 1 +roi_size: [256, 256, 256] +num_epochs: 600 +resample: true +resample_resolution: [0.78125, 0.78125, 0.78125] +loss: {_target_: DiceLoss} + + diff --git a/auto3dseg/tasks/kits23/kits23.py b/auto3dseg/tasks/kits23/kits23.py deleted file mode 100644 index 652c59bd58..0000000000 --- a/auto3dseg/tasks/kits23/kits23.py +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright (c) MONAI Consortium -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from monai.apps.auto3dseg import AutoRunner - -# the minimum required code is to create an AutoRunner() and call runner.run() -# the algos must be set to 'segresnet' (since currently it's the only algo with support of multi-resolution input images, such as CT and PET) -# here we also set ensemble=False (optional) to prevent inference on the testing set (since we do not use any testing sets, only the 5-fold cross validation) -# for you own inference (and ensemble) you can provide a list of testing files in "hecktor22_folds.json" -runner = AutoRunner(input="input.yaml", algos="segresnet", work_dir="./work_dir", ensemble=False) - -## optionally, we can use just 1-fold (for a quick training of a single model, instead of training 5 folds) -# runner.set_num_fold(1) - -## optionally, we can define the path to the dataset here, instead of the one in input.yaml -# runner.set_training_params({"dataroot" : '/data/hecktor22'}) - -runner.run() diff --git a/auto3dseg/tasks/kits23/kits23_example.png b/auto3dseg/tasks/kits23/kits23_example.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2ee21133f5493b2bece36c4910afea03b9a0fe GIT binary patch literal 255207 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ðnB2k6%ua7B{jY-Rg)VD1% zmny=?pJWy%son;+3sRsfX~5TV03q3^;5o1Jt*sAZY>?0gjbHT(xX{H0@O-h_IMZAJ2IP4uHNartq+$ z!`b_Zu6iTXKlcMa%Dt+$)$a^a;Nn;!|87VB>6^-xm((2XNbAg{VL{rjSB`s13vg$P z9_m*n%YT*uCIj5GR;9gB9(y2nNeew=a}*35Q)T!g5;!f z^>-m*(r|D;`UiX$ha2Wo<}WQ@I^&n7b{_~t=i;E-+P&z=?q)rz>X-o4dCG_})P*jg z1a*{{1jBy8PcsPw+y%+S!sve!#fZg-5l50f+2n^Zxoo|=`?wu$ss-h=dE0JcOMkJR z!SWR!s}U-bnPKSz)o90`DpMsjyv~bEGR;~oUdh$A>Ri(p&T8>@Sa;I#q`1VF(ac#B4-NoBBUPLvpodnf4fp_G}`! zFcmjT?Xpy;l1Q^m5lLuYq#l2Mq8kS;?kPdDLEs%E5yEIV#J6PVb%yE=^oylXi(C`v zp&%TXd5ML*wRJB8aC_`qfuH06JT&l!khaND@nCDc6c~)A(hdnpXN6~HSCq;KL zbr?BOgmd>AsqaDwTn^Eb%IUjhu*kPPZ!0^)7v&+A?~{~BseinhCQxnA?brBm#Wwjr zVP8F`mViH1nYJlgp=wr*%MQtLQ|?pWaxH>OuAAK=2HY7@7|$;2_k)P$qeO&$?9#Tc zBM!3e$J;9z6#^%3g>EKN{uj;2e19clDI+CZmUB)~$H-qIL4bphB6&J;tv=J7&zbAu zZ)nN_3yt`sUZ#gsQOFa8tDYSY^DvQ&r-A1L1NQYHDEYB`|4X>m>bP%f9%| zkj2j#J?c$f&m6DurANtcM&G#QkM>!@8&eug%9s~F-Yb%< zgS88TMupuulyPC^I~lzZzA>QaR^v)|gzEo?RC^{53_pV3yYBq(+jh1cpQXIdzvHhg z^!f(E#XAW~TZY2T43+c7gW^M2fJH*bcc5vIS3Q{1q4aI3xtMxRLC`(?Clx<7w)n88 z0pUXZ4w>$whiYDwXb+hvyU%KH=*`3b^VP)zthEuTb@N0~{<7>#6sG z+VuX;)@auKxo(bqyK@E`p(x`l-6A7qu@@Qg7IYmn8?(o4<5FT=as>cF)g89-+Z}ybd7&OdQ{~%v__M@s3LbuxOw0TdOx%g*BG-P42xf3U7nk0rg&@PkX5C zXD$z_il{dM>^JGlbBqt_^?yq!)A)I}2vzTUbNcCBvr@6pkhdF@dc%dCZ zk_)TtR3droX!`ZwIKe8f@-eN$2hg84G{Ru2MF6*ly|~tpmTBGsi#hKAhl{QirDDct z^H9SyjP1C`GVgZ;dhy~+vjrWV-YitRCg(KL31IF}dc5K$;W;5_puO4Sz+AT#r2bZ! zax!yHC<6 z$z0|R=DQ>egO6;~(6sbS`$ zJqGy|NsY%E$2r{r0EZ^kX{@D|M?Nb3+T)kzDd4;r>OMzuWLSh(Z4~}pUf#vt&pYj1 zM(;}JGgZ2a4uRS?)&tn(IiWTR{lvU5T^4(#;U{f^tM^x!CQig#l;?Q$-woxi#gEE| z>`LV6V0z{rfDfghytevA&#a11T>2z)kRY+Ll%a(4lxCgRSblNdCrl9sNjRCibjlISY5Mi`@G&)@8{Kk!?yRCyaCD z+5zoSpPA=Qqv;F!wcX5{RNkVLGX<-de+dBlNl25VPRbSHW8RGN$xplOMbqMBG?lmxX`Z(VycCEtsMYCLSJGAy z5xezk{F{`FzUO=O)RFvWC9unlf)#H6;{^!hXEqW=o*)FrG9${$w6brDpp#_i-Z2Ny zwF#97eK~VaMIL#VVR8`{w#y4qyPZ4JD?`M{kt!SO7F(yj_FkR5k<1Q1dS3ge9WV&< z@(#i&RbVBr0aG2+WwR&=7KN|3)*Cf&vak|U)z2)?@Fw@{w>@ae_W+7>eCVtxGzC;z z#O+l*MiKjcLga-R+q5_t(l3`BC%L%jCvf$^z#T*BA#!53_QGH({A-ix^F%ITk{KL25PF2;aqNt)q?NYmTYu2V#?Wz&8Y70VZ*R0wzR;ij5 zq(~@ghnTUWX6%rNAjXr=^SZyU=YHL<=l%n(U#{zY9q;2j&f`4Joa~!N^pU&};na!n zegGHp7~fDX`d%7%D$bV@l*<)Qthi7mxHKDO9QG;eRn|3O)+7tkXC}BjEh(A@d$1tK z5YP3|vh++-KSk|YB~p%g-OLoF_t7p=5h5Nlvj}hP^!yV2QX$_gufX@<-$Y9%zxFOi zZZ$PAJ==t6Ck4*G`uIAnH5s|? z0$r0w&{lzspP(>tEe#{*Q=F#J|L5)nfdp2ghtX*4Gv+ zKdiIu+&=8X>(9jr`mP=+SCFow#@~ZdEftQ53C+@1tp9Jv1^z1jNsT zT_nvco@nncy5ZxRq3%dnY#y+eX8W_0&qoy_k^ge6us|=;Eed}WCqb44_Zh!r->g* zkeQmAVoi`YD$effRw7plpSk27%Ot~E7iiWXLrx|ihliC{`f{%IA6?^6gaQwbp5MFt zutZX2&RDz1Za#V*?FhZIJ=N95dU!iz#zEx1uxxAH`-~d7N4&B>8@qk>GP`R9;O3^t>6&<6FljF9jw$?BlR0}nY2VeYYe9ne-MPtQ*WxbRiqKNRGIF{ zsT5XwEiu;?{~AYB4g2(F-mbtpP}Kkigk!+vV;KFwmHVC-=s}Tyl_Kw*zjY7qZf_(| zyx(^Ned-v{Oa$4WcBW(175{=5I@Zi-_*b&!?VG_e6q2FpICH6tzTcR?&t-U)eQ;sBA^c^UN9e#7VX{~V$tM$;3&fTkp3z#!AGo4T|td2cVUeJ@>(lB8@68~v1 z7Q3|TM5-LWSW&`{ySn^u;Pf9#oz8p*yB-q5h|-AAwXgT_N+;q@mtBjGZ175a-gk04 zHM#B-y;SK3ZjBM1Kn^FDf12rBN~CmUoq9-Cv{ zVm@64ouhkZX0qWYo8`OWPZOML4XfHU;o^3q0ux99`o!&NL~E^eEFF`&d{6(>>`HHPD+?nfFL$Jv%CEY7ixui!ynIY{NB>;f zWpnTO-a;#@Qar48D{=6vG|WN+F0kqsnF+A*=DgCUbY@=c-WPLnZ-VY2Fdz+j!r-0_ zwWhmuiXA-@ov}Ilz*RNCCfmjn5)Y5r>rUEQwmNQfCJ7Fkdj1{{m5&zt4&qt0nzM}g zbqXaACGF*E4Y%p~;nwJx%(p0m3<30h>`!xTw&n>%`>1Qzs)C4sG|$s4D^jgY8Ok za@s)Y-hXS*Iggc?xcR=3yoe9%=f({9OFRgIy!bT(y~vtr$N4z5A7HUqN%q5WUX$lT z-p54(6|}y+VdJ>j^@{1W+~qvujp5mNdXK0Wbg9tCygbHE7s6HvHTrLm$x?sXy-?G@ zw3*H6rj4IZ*;Iqz^eg#iZJX3J-#M<{tHh~rKA^1s<>>ZB^iQ_;*H?pOF0NWrWJk+; zz^7U$kg@1jFeU~od-djdf!5|l*>elSsW+7jHt85_OmxY$jsSDnw@%P9Gk*9hCFrO7 z;(Ok=ZieNQNe;G{SAti-Wfc+2mH)Q=441G42aBa=31W?=B)IKK`Z?wnjdH|Y753r# zu7wBbhB`$(0HY^|$OI(M*}UDZ2y9q*a zCZ%hXsjYl+4|w||^x>^X>HY6DC!a8Pr;opV$;WfI905bzXWZr5E-m^*%o2xv^66GbVMaj--x7dgp=1(x)4F&XH1|Wr zUej0IRqZCM?VXb4W><&>a7M(qr^KgkgrscqmUJInqX4O~l87GY|LRjO{`yp=2Lqk+ zPn^9)-1GBc{SSfBojE)oZnYmKEJ+0_Li8$b zOzSaIirGf*{{6a|X(hV?ZwiCC z!m|{U@g)PDmw&~wrDN&S?dA^U9qs#G7danhrELa}V+Lr&wc zzswG{;`th&Id`dN{g(chywy{N>V_6eTyBb~YP1<;2DN<;bSRk>RvO+R@$R0WHhmi} z%-%xAs=I*TSxe`Z9##v(491{?_pm61TZ(K|iSJRbVCFr)(JomZylqE>b;Eb#1AKdt{&zy@lR-HWi>l#*MT22TZfUzuASzse4d}2 zTA^jCeL-mxyExp~I&iNZ1SsMx<+|%+B&@?qZoo^V5zP%EixrLLt3;}^yi>b&@ zCmXz(H#4+;j3Hm8S(?+AQggu{AHRaUs#n8_CjrbeOwn`u&GBC)a(4KXrxAE}002;3 z6+F_&zIsWO3_2&kdk@cv*v~ZG%yq=`gu>cr9AcwpyKky5QcP|e%cm4QB>TbC~79E~g+6M8c*FF&>uo0iz?s&iJ6%t5>)XLR-H++x1jAvQ4nL8P2B^->a`=eR`oLw@ddsFt5nVzm9S*_ z^&Mz*q4UD5Qne9n!0P6VxxV77Lqmxs>Ttc8PtJ+d>6`7FOvi9eHcn=7S1z10p#DR& zX$uV25FZc6d;{oI6JATP9!`$669)nZEbzE~(yCHYnostZ$m%AbZa zIA}k&HPPaSxyeZz`a0u+sb(SxWBVQ0_M^tyMp-72vN&(wm)6$SjZC}(57`9Ou2a}~ z;f%4(e0irRw9!(GA(lJGJ9V0V2dLjTGoErBgYdd@>Pk`2dm7n z3PFy%HuCGKuhzHhn`)5|1fB2Mzj6@KR!_P;rE*c1I?r)latxM}$v3a@k?mfVFB*o3 zY^6_!d5&{FOq+t3Zl`dTi5wRlx;wKfVu@I%Ui7&adG6IMH2)a z6oQbejS^>GtS(9t+8~MA$JcwCM4(9kkFcl;?5+#E6Ly&y5*pF&X4FEI&%h2$;cFUO z7gO7mh#pua_UxVg+(%JUO;bMK;wau7nxt*NW?qv?Xzy33{4y4K@q6-J{p8nvOfv=^ zu^O|x?XpF`oA&O7b<7hEwP6;iT;bK;=1CSJc8z5XIWOBJuk?)n&gDwMXp85Y z8aS&69slu8fNA-FcuGqTFDS_Gm7pIGoq`7v; z#rffk{_NKOR}B8YRpH?+?aQ99k)0$ZT5Bt`RrDd9;5rTXtW-bi+2jt9{bCh)_Y}Yj z-OI;Kqi=}5iIab80S;2)6xqa&RNUZ9xjF7m_&JP!Y+)#l4RK0D{6mwordch_Chjf$ zvXIjD@5EA)#^jRnvu+Gv)=p1bSZLt6HW$mw#pdoeZTWM@QPVdVD#3E4M zh{&Bv-ch=vyoKiRj_6zs$4%^*M}cc#wTC(6r`rQbd+|`1_Jbbw-v_9rf_{wTy!^p(%Ari|H-#=DKKWu5+)$~~ z`3Que4N~UFN0jbv@9yjf!L);O%1qVa?Af=pNNh!xS@KDgoSilO!DTL65BUAjU8U?W z8u{?}trzC{H@11SdX@@lIm6{uh<1kxn4Y4Q(GWGLlfz1X;cpm!xJTL>Wqr7kKHGiZ z{Nx?Rp_$O3$GjNJ4C^@__|ym8mL9oYbDM1oj_nNZ{%5SfMntEL^dfH!=FA**N$iAAu=T<)> zTACRK&d>K7aZqI8H#9d5h7kUg)s_4@2m$AId9r-@<@wKu?OS6__C(QyKj`xl*T$Gs z5pQRIL9YAZRaG++=1#?bIF-L-0_J(57W%6qzKYbN5r{Gfq!CeH6kt*8o(fkvuAgx||G&gIXm zCJVt4@B2Y*WGTT;a!}>ft2EWOFTRXutJ8qL#P(~{1xvRz z3O+!IF@co;0Krc}Mn2XHtZ?_VAn`#axdPUsk6A&;X5uNP`5<{B)=H~(f>*3JA>if3 z`Z-~dnsADFgQCVponK)`zq%^&V0omiH)!q?;9@}OEavE9P$YNeVCdRt+t4cSgS(=7 zDP-f$rc432*RsVjGsw$}7N-lU9c`A{I2uukFbe%Yin~XLB5~2ZXBpot`!_Xt z^6ML%Y=#kcDh+%@Qaf&oZ;Q+oPKx50T-v!_(^U^wX%rPRt34kydM=zXC6qHdeGDJI z8OH0ISRl;{N2VgxJt`Q{qybg#d(8f`?ot)dlzqa60>r~2eo~xmXc4MJsv>+>v72D% zd8@U#cUZ&MCDg?#k$YYYU_p}CSzQ?yA}dGo-ACxs5~-~mE0=U#PI=Lq@K0##)S+}!Uwee`*eP2)}S*7-FpH?dYy~DLEqroKJ87G@1Hlp2KrJvB> zpR70~>2^l3q`Yvxq{!}MTHZf=p6>}g>f!L+(hz~C#qiuLFi`8cf0a%lSYrJK?dvzl zj}M0*_VY1wip`~F6Z1R>OKdW@O)|g|6e0Q{QdF!XCj*_A^|)+UkC@>P*1-*n5vgO) zgp!(hbLQEgNW1%)(OfXwjrGF0S1O|I-&a{|8G0!#2HF{%rdfY?0IIdO9j)(5QS?2H z`lnNbpodj07$t}b)cR?3HVCZ9zbp3AAgIUHP3>Mj@YY<)vX5UsG;S5XZ)p^=>B4`-Z%0m6fmO2@LYZ!dp4Z!*Y;qEk4xY;HpDElLdArxM%dyW$X_Nf zXX@l^m`K}ZczWDBJhFVe-r-rqM#a?$^%PlHG-77W^0V&^}@Az$y=@?Z! za2oK+Onl1cp&;tiSSz>Pz0A*pt_M?kayRb>%p1#JD%v6${_9`%uMwaLg=8{)sSf4D z3v)9{w`%K$J~nIJO=6!FW-kQ_)j{KP5;Zk7vKO=mZ!hNtRX-Y2l_exjii%5Lxl5j} zs;8b?BV}Ql#d!>-lWX1?eGYA1h&Bjp>OCp5Q$~LBd)B=_4LY&E8fNZ)mjVeWbFs(o zP%OK)-3_)sc?1m&e6&j#c;Tzp(5Psn1vbBEJ&FKb{`4bdOH27q83Vh&Pp|KvleH~z zS$`@%>d&x(F^9ITQw`@AzG&KxDVbBf8Nu)3k)|^2LkRbR+$95`b@|TAgXH5A@G*Q5 zLSqYD`%R<$SOekrchT2lD>NSEA$+_dFV}Sk9-0>} zaJ@&f{^Ro%LSKjYF;BnwotWDnH!2P|hbV@Rf?KGNwXcJZ_w9@jE?>Ek`+)RXnid6# z!kzySxBo}wHhbM=AFAD7?HZ{FKs8c7EcudG?@b%o+n!90rC(1o5r-J7XXp|-RSkHb zu_s>ABjih}gp){VQ*xELHa9w7mUunbDm6XmyQ7Jug)1Gp7l6Ui$(btsE((D9)T+cj z*=qc^r+u!d_YRZ0u{KPHLt9kc7aajZ{(D2S1h$09JDxo`ap_L=LL~MfcdS>yDcZA^ zZNKHOx%+Ksl@sfHZhx``1<*3JdY3Xc+A$q=g&lAbPNyDMsj5G*nnC(`2uvMNTAS_$J+s*HCM3-lE|9Px$*B&*ali$Z^5ikat9EJ222cs*H&L32S}~vW+uO{`3)R8{&z-U_Ct+f9=Xnwf@mh zJZ6X#n1L!k4?<6o;5a>!mHXXBJ2yY*cBk(334}E=^AKl3};HPvNjUx4` z+$I0GC*A|-FU2gy`#IFWE=4{i4(!^D8ZZ_#){N8HIm`l3-r2<#&T0IIGNlQri*k

ti*PG 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%0Ai!0+Jr6HI1#V>DBu(x*k=uS~ zZ00)c95V4#Eu%NZwr9Z4g0M}sV{a~h`#r2a+^*quV%~IE1QQjW(^JnxvV0Q2)~&MZ z)Q?Gh93qhf@wrealuY*&2==SH+N;FMuIzQ!GDM;i-x|3`R@sMPXYB;u`bniF8!WA72=7KTjN{|p|91ZZ?@3i*QFApxCqQ2sM?(C z+@DvW9Byq@2?$JPo;H1+uEYv~f9N=5`?=S_Juqf1m&OX(2QnG{9t11aQ*XjHd<~NRn(5n@AXJ*&FyJLyjo0L%5uHw)uX=(WtzTnS$wu2UWX7Q#l%I&vDX){EB-{0*gd8+&I?`xJAyp54Sg z`1}5V1T9$!jzTpp+0OBl&@^HWVVe@X*E6A>_n6~lrlh2#l+EU+L3mO05fULt8EhC1 zf<59QI#bX55oHPDcGi2qDHW~_nk@p=^6_U6uP=fT#*J=O{96>#>=gLD4r(l^lK8~K zb`+4+4-vZfbdEk{5|R#-eQJRQl=32zGvPO=NRo;8x+Kh&+&aXU-Suy1@kYZ25){82 zP&hhN=;YX*<@}`p@V9z$2 zbY4U2DXg1y{cSC}Ni1RDdS~D$V^~Zvb;9^5`f}V9)x3mrDJ+J-ir@`w1N-lX@Dik> zKKQVu?_|^Qj}u5CY?>J6Btnr*p^2z3$2T#zw?Q1pP~LQ}=R1MDzEY~s36WNkZjS3- z1Q6>kT?sW7Tm}<&b+hnoPDpr3UG8<}g?_SIf?W><)-;LO6hTP7@Kp#!d7oLIJxkItS`drW|cvYQa5JVDP25OU=m3 z|LSOe8W?EhM?#5>>PLv78vKz@ntiC~+d?Yaz+1YGDV&YKQGyK0RoYov2 zvw$x%y#$Y>Pb9ED;!Azny#`~P$zQpfQBNl?m*M?0#~_^EHh}$Z4WlfGxL~tC14S-L zfYqH)(07T8fTl#jK9r#n**n(j4d^>%8ZjJSovpn+&zd5}ydZ5*9=9pY%J+8-RDxgF z{qP$R&A(idkj>={B2|hmPb+wWy^{!|CaJO4%QrV7UfS`?`Tb;Y>>q9>-x%ufIylZJ zjB1$@#C=taweLJfcH9{03@7H9hEza9ro2R+4 z5w`{Q@K8i!z!(;vI>Gv786Hh~BWtKxn?82q(2uJUNHA(FVq-daGHx#8#|PF%&FpRK zEioxsxY!YshGB8gUNx#@OyHhlIbFGQd#co;K7l94qZ<){7vdMgE9>;xFCjAgSzA^KJLQCN@rRk&F~y8dvXPbCo!1R- zu;=wow0$P^k*xv3`;1ghHfLaU z2Gq8R{`XWaGTU6%U-6z*Zfgsr!b@eZ;qFCR#}yxi)Gp#4%SxzGrq;XMwXsMt{qrD? zzW0XxI|xrS&2Us(=MMVt9dYZkX7u;lWR-n!I?dVo?fpIl=A;+WbxF7|q?^yRi}&T% z=aWs>xKYB13=?mf^{v(;yLuiO>A+sQDby4NLak$8n%G#>lKnCjVfHz$qq%pfi6BM$ zf8%HozURthne9tFi9BzYLi?1y+)UAN98>OQjkg)DALUw#0m&s1U<=jomFv;ueN^XC z!CTr|!i?*v-WG*$0AzU9CQ6f9K6#>X0s>pOTy3p9mmbB4E-#QBNe|wd(P2V%)$QLe zBbvMoGk9WQLCWOx{CW9HmFqomC{z2sFM};0wP>m6;G<7K9O#9VAGS6(li{Bo9MrsX zWK+2*1DnOYXEH=7`x9}^^&{W+c$-A|L;@}x5bVHrrY;z z?KU=`BLdBf9gKqVZZjTDt#|&>>|F%-f#_u3S}=nn-XE(y zea|LBxcN(|Tw+6vz=6kcRYei`A zzfvbiG;*STL4#GxBRSTwOZ}15Df^bM7-L-i@C60+QSFPI#q^S!F9H;ntRLfUoJbYG ztK>J5x`Rr}Hc48dQ18&y+Xy}QHH_@H_l%DD&9ze;0g;{8#9TNr>2jdB_zj8@(G&1K z_NfCr@4ENy5suC}5l6$d)oKD9|AKweX`jG2<&Ie;55s-5aGkEwNi_#FI3@?jZVVU7 zRy<}IAVAVuF)|6P#HDp3fbf~>YGc!D1XY|t1if<`1BJavtlnv zQ;e_G&6c2;s=YBM$>sg4ayq&x5rBW@V`1WJ=Rs}MiQ$u_#X`;!5w}nk`xr2@W_1Ec z;PrTnc7Xz)4_mC+;Ro7JRS<_sd_`Jv3C%*Yir0eedjbRE3Sk3Z(h4T<>Tl7h-lpTr zRyxv~8axg2w4LQvK)U@_BME6sW;-iNFL;+9uER@blK6bNu>+gC7^-JM%ba=;fy}+p zJ?Vgk@~`6Ov`Z~EI-6O+iQ*S>KfarB zbtv#3%huub3K<~izDf=5XEQxabss0*RZ;QdkV6a9gfS=9K26Czl?yKwvRye@4rUySA*h}n{xUha!RiW^JELdc_pO^()KD46$6w6Qf1DaLMd`a8c8C0}U=lq9X2OI%rA0B5q6@ zkweE}Z_ixmevutt6eC&?SJTpBrQZ|ykL@uBbHV+3YM7Dt7yNl`u+WAZa_5j^gaDUl5GlH6ao~%fCfqPG0_Z3%2~)_K;f%hF&01%pyU&IK$r;Y?8oR zz5u=Q%-q~9C#re-ig#Tgdxwh(wrZ>&&JPOI{knNTc)oMVU1t*rQx(*GMBuqnt%o|k z{A8)!Jo)EUM=0omE&4Zh?ZvZngowdjktxBrD(%!}Liw5W!pPcY+2$a7`%X~hIw;er zO4}&YT53%3VyR197Kx73bRVyMgHcp`@QA#~Pa{bF>o!yCpfn(NNUQr`EyAYn4wgzj zkI2MpV1#ojh)iu?O2}2%e`+K-bf*u>q6y&e`5Uu5rVOycp2LnkyBQ;v=780u-g`fw zlw5@kyrcFNZ?8Ad?^nRr@CB(dGa`N9ft}%|3WOwqA^vQN9ulIg{;ToXml4-P8LX;q+g9_I6PhzM7`F%4r0@O(xvjJItsAX&o4SsLYsFNjY3}__ zw$2xK-Y1rp;Tne^x(p2FZ|tnY8zy%g^WdyB==?Nb!BSTQsC7%ORuSyYD}pPD zllVWmr=yXAP)z!M;7T$WQ-rD2CoNinbBVwl1)9~QT)>POy=&wOr5q*Tue4LPKWe_p z23g!qP?nLGk7tPnSi{cdrXc0Vu=WSs^zN3BljL3@6+A9qwuS_fyA)Sd331-G&h*kS zQXr3%iHFpA_%G1n1Y_<<41r_mcqmn_HY%(;^)Cj4(ffHNI{(NRf{j{-TY=|XHF6Yi zt6i9~{&-H`b?ox|tVm-12$(NB;F1J55+?A-{ ztiDl^QYyP*N&f4DQGls|WRIyX+7Y-_lt zU#I{N%R%f5uQP7B9Po+j!MAqp!y6BHnOP+fBeti%72T`0qq62paJMLe-WEO!4Z8FH+iT$B^e>X1uP@lL!_j=*fZ`{KscB_5*+n?jO-9qN;zO4Fl4V zQum~_5e!Mv4$lWB3T635Y^#7uU(*XL^Rq-?#&6pz^iuqFpPNEk#JA{U3 z8(sn}UhDf4cqw+u;4~S%xxGCw`~krKeE)T{3}(-rvYBSt3}(W$@G1WU<5%?wbu-UF zUQ^s{cQ8X*l2??KEpgyJlKSV%uh(`~*46|r8$few-bA4r?6|y-DLcAk@Q%3$eb=~b zO5LQaGYhqRjiydxQ+(CVJV0B&CCbYS+)BiQ?qD_r+7Dz@r>$wymT+Ck<$%Fzc=mtN zML|sL*H>D3#%Ze~GCGraZfrs=U;CT8Qv)7I zXIH9}kArHuA4)#9Og30cxC*7^^<>X{frd4|H@wgEHD%@2gZ$&X5V}@V`yVBTgIQzaDyF`RF20ng{hK*Y&ow<&S{EdW^ zbOxJ5Uw@HyKn8DqBYzmPpn%^BjO3|46kC-lti>nm)xCw!r~UM~Sf)OMYh{1`>Ynb~ z0oiXVAO^*8F3+SD1m-bKy{JbaW@l#uUdhEyt4w9{c{F|hPEt4vro5TBXw?VS-KYpu zq(2vG{J2?JerfjDdT7|V+rBC=BMlrSfFUz^>mNO(D%!|5)$NY}*?fHu<0fADVy;S6 zBQ{3?_AoNDf|aM>2K?s}C10Et`ZOSr_CLTHwcwf-(J*ZS+5BI_ZZ;+(FuJmgSkv|Z zxbVM%Jq%C+aW3hgler$-1_mTuI`^Sud1~iDisVJ0WY7wb?MZ-Xy{1+*bu$WWV3sy| zLa>GE)L{Ey$syRzxUfe!3CrSgj$>Hz)5E(v{f=N?3bJ}syH_SRy0*=@f|24b^g zre4ySG=VM!0+^9KtaMz+|JwvrDi%!Wc`;Oe%)=^#g}B&2h_s>uZ3&(pI{A zuCfVD#fS=`^avt)7tWawadGzjP~C27`1Dwkskn*%Jp(Tvg_HZN5XY}STB2?Q!Ssqq z)AY3{G0kdlx`Uqx#t;IhZ{&JO25{-1-V=f<%TMV%u3e`YXPK(2J79jD`{%fEax3B` zG($W890WFyc7|b~iVOQOKfyQSGhAr|@qhc&a%o*QrTScepk~{5jYl(s>W_eWi5i@J zvOPSKDUQaw5tOrh9cN(ay92`K%da;Fqq(8OIakNIseM3e6lYQOqSqvvmmNpu_Uw}n7uUkQ1MDTZd z8zsN`A1YmR1I&|uB!W&ukV%3roLpXM+joF7-l@fi-id>BHL0kUNXXRQA|{n*1HkWB3dXOo{Kf*%vM@;g0?u9kQicpYkHCtB# zKSaP?TO8xW8{EuOg&Y&;8k6e-*Y_mFwv~=OX=B#i7np2m+y-0sy*N+%!1S;2@^qS; zzP$K@s#B8KMj+Wya1AeQZlbieFB)GcavGZYnkJi!ri(oW0E1su`FZ{i-cYMi2Ym#@}CxGtY#?gJul5id^hLKLTJq6A5O(ElG zaei12W+uPMRN1-B6Rf`#esZ%yy1RbgDslrAG)Q?@#GWjwQ{%|!qx_F7^sYNc+O!KV zl~^?6-?B~errlSvqdh=5%|-$gM5X{t;qT;?Zhj1vkrQYI>HUXsTaU7sHvL5m&LcsJ z#8WNUGf8GT(fiyY^1=t8;^0yQa9S@06tt-hz9Nv;;7f((|2Palfia-s>4e8>;v$W0 zA#V(|FM0dK?B_2yGW!Z47+Ux6$E?NEnJfI80s8y*Z=R_a1VWF=dKHBTB2tvpPXZ$a z?C2kxAnNMtRm87W>29wMrh!b~XfU*Fe+4qbGPhS&y5`$JBEz}Z6|%%HZ9Uhy&t*7O zt59nCAXqv~LdaH_MNwE<&ZhSGL2b!F2&npNJ1&+l49(^;q-&_V?V}EtzZuMn zj2rVATchRgRkRMLx?iXB$|g13gwhhxjg(ymurFR9v2@w^)8iU3!ER+<^nPJmGdZg- zYas##H{PzJnR{9a$shshg7!?zt|wB&!pSFeb!tqCRf^hL_nVuVNDI!d!d&d!KjD^_ zxg&~k-%(rRXHb9+RJVSgd$H=$xz!A4*E_ITI*(>AQeX2PiW8>poLcmfdwWaC1Z`cI zuf$$NoQ53Qyc;s-C@(q2!O9wbBOzlP?{oN%|6u|2KZ5}|X+aO@j2`>~`>cc}H|^;C zIh?n7)*1Byj^Y0~9cBI4zCVW{UjASSL_y*X21P;Q^OS2a&O!)qDF9x&bCj~IbVREZ zLLuAz*GvF)Ft*?s(?U8l1cQ*@GyFL!=m!LOgddP$sO44$Wac?eL6}*L$=uySAAE}} zK2?GI>GsY&hZJ!~g|e}bo_Xa@H#3avO#=hOhgtS+yGng@f3S2Y1hOc@-%Y!~z&S;? z$|3(7q+alGHPzi}G1w6A%Dm~b!)(nJ)^C00-~4E<(hK6>oIUFCnbtA5XJ#n0=|w%`kj9NTscUqRDFV=Wre4VSn@iDNdAM>|Xjv8A!qD6dK47qMh!E_w!-?HlpW zr0cuej=t?K*qX&+1%+-g&TNKz^LY3N1Oi|?rW$ebe$POZP+rUDIhWsRBl+Lg`O7KY zfXS-H_gL;ExOjZE?v)Dzmz0u^w9hJT7{$c@ffKT{4=BP=bJuXpHnNt=W;F-4dfD^U-ebs&Lb~qLREe-YNzgzvZ_7x5+|ST~nyBj! zy9ZxhLMU2834q|cLA=t^=dY*qoJpygfBRZ*sC*5{%Rwi+1p^?@ET8L}h%Ft;M4SKd zYDyIf1$TM}<|~+I0DI%B{9f9Y5kbl8y@wYU*7?`d8A=p9&O}>FZ8BK}+nsfNOR565 zzp0HShGt>>jBznfN9X$|*m!cQIEX|wj-`9^OVK@2d0%oSt2RBnbe5XTEX5+@_cIHQ za*hHbS4vfAj^TxnBe$6iYCt#!Rlz#6V zKPOGwr`*>z5gU_9tT3hRa&nJTe$10T-1N;K=obx_$($c2bSbe!I7!CVO>9F@f zo<6g-^NGM-z@n`19}uaKw7(2c>byb@c6Q^N`cdtuaTlT}Kg`-cM6HY_Spue7#b~72 zJ7)I5vPd=ZByKzaXUawv)_< zjP~z05krj~`B_YZ0@dg2ZX^4kDCO z{$h}diAXRyu>D~dF@A(Mku0z+vj$z)VRcQwBu3KXw^e-fIOB-7Y*2LHv2F4hW?+il zBPdvOLGt9dA69T9K;2`b| zYO53{MSl8; zi9^wU|4KSY$1&|4;UwB_9o*RRZ?u?v_s?{yPH8mBt$Kci z;0q{J6+FzgAz9kI*XiWt<-dUy&mS_To4ofrm}j;Q1>bw|VUKI?(X^S^_bdn?A6flu zAY(5Uo?(iMUpF#)X<}^LLD~ZN{do-N@jwq=<{*hhGbQ$l!$2;hc?ngk0s#E_O~uSu zdE5JKo)AF{=O2=VIf0Q7vf+D8e5ETm!AWbiYfY?%`1pc58V|g|F{Q29%f3h!kq3n< zu%AKe7UbQYAz}0ZXCL!|H{@60jfza+?240lN+}w|qnyVr{yJkpeG}=-e3cgEq?S<) z##M?y+=R;Y_Vz9@DFU@=B?SOhbhIS9JnP~hr}&|dV^%$jE6i>F_+&k2W<4kP1#DbM z0JH@7pWkHjse0#v&Qt1RzkK4nTX4?IPH?Gv?@^6s>YYOSv6~eZsEk6v&1k6~w?BY|m>s{;35xvoj5hL?OJ^w>HUn4{{28e6*57|GE-D`vwmmzRkXy zigA}OohUkF6mi?NGGrhOQfQw;@tT;PlycF48S3xLgoiADSGLPDR$3T3pp0^Ht-aA+ z-K68G&K<01VV|M@AT^7)h`&rsRBwPqFe<>}dIF)4j@jBv!ynai$54`jV^%?WM$$ix zB3C8-itYiNU(F2{`il;V!l{{Gy?(# zDVCWWf*kzR?$_Ijo+J@U)5);wKnjFW*JXJyJ2;lqOz#&ASK)B}PxTJG$1iN}$Qopx z&25wDDJbsyt~^hFbgfq{UXIxWbU^&S0HOZ!PC5(hd_W?OP(4iaKpx6xcuc|kTs*sR z?u7{%e0WAYOg7s#GixUG2WXt$GU-Y6VcF_>d*$V}vc>|A;pB=35;eyGeA&U@cxye| zw-n`~taJdGUkCPmM>Ab%WtRT2_3AR0jAR6PuYe_>YrVF%)~)cbUyCV(akw+^$?Zqt zml_I%WUbSOu~3-H?I#ZVKj1z?i%lY~0Vk_z*sUj*zY&O_lfftEUw%~sCJy%{`1Fg$ zA?@js!GFzQ1#v0eikR2%zqFNpYpFH^xn%MZtqgy-{4N*2}WjfuKFrDT>|jQ zhf!Qe)Q@kf^8=Sa%KFVoD)=YkjHRTJ8;RCU!tEK!2ZgzOY%^VFD1jmdBNGBX2bopw zjTZzaM_B$!VL!x4_VZPFl(=1D%e2Z3?xV;y(1*U2`SRrpT|?q)rI*8>(~-=)RxaNyq*8VWIkC+i@|55^4^>sIEvyoE0^7DQQPF)>}5hfh7w zl}_NeNC@nCNhi8`iuN^{%*PB34nk*+1Fen;u}VAFBY8^?+x;K=wj`P4!J#ONjXxT# z@*qwR66E1w5W?CNmEo)4*W(VQ#IODS-FzC)XQHW|USBUgoC;E8f1@6F$dQ~cw?M7E z%L0NkbZj?uGuG8MxGrxgVxH5Vk@*|ZRrYv(j8Jtr=Gm4iO#mNMfJPvS}0{=OHO42?CAnpD5zY=d1@`PJiQ7k)SQbFy^0PM|97W*|&f+{v zTf#B@TDJtZ8=|OAE5fPgOE0py@#$6@)?J2Vs`JZlvhseiL|yF-epK5lR0PlB?$#o# zfYWh@IFsR@0BCT35cs=|021(+GH9@aSx|LgB%Fk#o}-r`l`28eMC)stJ=R7K^HKQ9 zZUqVgiQ1?Jy+o=Vucn`-KVoDAMV(&v#Yqd2MNb-jPUloKL~kFHU+k^I&}*A62r^a6 z#NVB>1ja#QO=a33{1r#5+q?tX7 z`n&7I5EbGPJMxrFuA@{^92NlD+;{ipkM6?UHSo_)PrtwW$BOB9OWAj+D;s+mzldxs z8dB-|O+=#L4vUGAm5>le{Ftc;D4;NVKuN(S=bUvR5Un6?Qx2pAoPfE*(nv#dbDX6D zxWV(%?RouEKGmE@9@u2z-h83fD5_p&j=9JTIXM=5Hb+scD$^XBR75{GfaYS-TX=aSKkpB!r z!mS0cBaZaCt4jw*CvrNEQ@`o9GY%>6LI6>mSe6SimJ@HfgI(fidGp_3M&Q#=<+o~< zI`A815LDUa2Ra(|;M$~p#w|se=dC*$0&R)JsM5jtYuEO7PnMq~s zNZb>yHc+sK+WiXp4<$NbKX&<4os3?}1?0OWepk0SKZ_NnqnZZoSsq{pU#8Qa$H?v( zfg9zo$LM(-7`Nx9gIEm#+F$ajK6`ilYe!J4P~w@e=~IZp0Q(*FUjDuN^N$oj)%#pI zx=F?0YCvoD3gn|%9|AcyCd!D5XUcvzeCx&u$(~unu6yD#ceGfJkSQ$kRKGb5)Ia9~ zu_dR;zSiSRJy8BZEE4`TxTmEZr{RmJ-q}Wb=pKPQb&p-3^fYGz(RBjKTf0KZx{{?c zTt6Oolu50)>9 zLZs&ykf7Lw%ku>(kY9cE-*T{2MjtGJvlQ1DpnVQwjWNU6e&UqfeA~yE{ut2ma|N)ou|;&W0*Vf)3x-u&V8z-rKsvfUfooWmcNAFls_w(~ zOB9O=9Two?5z}0Qk;w>|g7BH`5p)}!rEC~3Bajsb&TRCb^gm#6K`C{8y!fJs1JG(1 zaX@dTVos%geXe0UR3^A>cUdd0F2mdV9VOf4GN0CGxx_ z_Ar6nqp(&32U+BX%;GofuMLAch&&7|M6Du2$3 z0zjH|4KNB4ohYS@?(V(_cj4T`pA<}1HbTqVzZ&MAdRnJbgGPxPZzLm=S9N%8+X9+3N)GjmV0x`r0k3Yk2TDH(Hw<0InVE9bB^`ay^6M)S z7p6Ia%-1aA=##{A08Ketyv$J3SlS6*7#BtFcgpPfZKHX`3wJ8@^H?J(V+x2bd@Wnkj+CN=2p>IX%C+JPEIie2SUVv#0KZ(tj?uttAFiha9h2zWxwPLKde8GP zp>*k*-Zc{bZ3}Oto93Go$wCna^$dr18QO`t(xXBfRIfg1z8ry?0cTYxgaxqBLnzlo~{kE>$2v04Yk9-lc~oC{-W<0!r^7y%!Os zH$_2ujUY{>DK!KLO(68ndHC-6jeG7G_d9>=J@)nwB6**8J#)=9=Ug9$BFj_HhyEIq zwaVY)6BRL}w2bqE-mn~fDMbH10j!6~RK6+v-WjNa^BP-QwJ?j|EPhI8LGEy3%(=L@ zc;+lEEWE`9^ev{Bu-6|?P3b(+3%k9pe49Vn<{xbgw|e``^bW$3r@P1>u}j|L1o!tQ zenl^Mba;5!?hXTgs1YwZlP?q#Mo`W-#HUZ1WA!E|h>ABLmcVbC`olSXvirc~P1LNLf3@H(>KL^z(z>z8dT9Z&wFm_+CQUd0VXMNP>*UYW z)zzOXfz&0HP!>g@t%ab_&>M||KNEspE&(lhP;C2@c)4`AY4L>N`@a^8xrzitJ*)Rv zpLARDc(hB8v~- zcgF`$F|{{BLwIIdo0|uu%+1Vf{kInv?YLq%#!7=rJXuT5?E-@P>gKJRC=7~K{jqS` z9qvLyqspXX@jU3829Az=;9$xT82}*=+vmT2>BixXj*ww1K&C3Nm;syynsHbAMPHx2 zS?D-&Y8t69sGHq}1ov>;jdV)kC%EBcOiAV$Pzo`u7VI)EC5G=JtMw=g#)1Vq=}&=2 zQlKb#yO8y)_!Q6$JYWjb5Ga-@;H16(B$iRkX{1=E@c;P_klVkLuEoQaY;LkN@s7Uh zwk%GkbDP#Sq8B-a53D5erPn{BpZ{wl=h6zqWD#_}L&Da70DHitI<>T9e=aU3H~WSt ztnO%Qt2${^21W+}&k@YGLTyEX?uJ|4^gtc;~o zu9Dy+QHtQ>qKr9-Dc2#sB5@u=t^221lIdaP%f&kQ!|PS#b+oUN{4QxEb7?xp81xf`?H`r&f%+ zo~JA#JkyVi9W7;@ftL&0k3nOV!h|$rV81{OGm%@k@m(+>&E`X3f4Yo>#JD6JmLLmA zT**Oq>Z|tJ=!IOsrpd_-IV+{!WzIX0TokTEK6vXo4$F71a*e&q^D0ZhWCTH?>rbFV zQj|;)q{cP~q;?`D%b=@P7z2Hwhd+ds_1_8&TPKi`dn@cDSbl5i5)&us7;Hawwr~|Q zjDhJKWQ>SL3GRp5Y4Z9#?%4ySt@d=!^1_R!D0wsR;^dDdxD_wV19l5pQ*?6^TOZTE zA${Py+o<(aI8V0&`|EhlEh!P6SqF8v&pno}UXK~GdRljkUkZCaZ-O@u3&s!@iXVrD zhEm2^L}Nn%Nu{T%d;Q7A3BAh>j{xQr%w8lP?_r#uuO7M1La2bBhEExUhjgo!r_1O)jC%@`-hEP z!~XCR+~TWMBk6H~3RtwK+!AN*lip`I4>M`fk@s*j(T~$sLG$lB!H}9Bd0nCf*XI!6 zq0r8|qvoLCM)nHvg>{fbhVp++9m#ZeCi!8TjvQ%cF$p8ZSP3mJ(76#lt}N5*7mi~> zE7%Qt6Y7dv6dw)!Ll<6Aw1#6DEeZ=rtcQt1duFRE!4sC0073m8koimuctmm`dT?_| zTBYvQ!o(>2n6UTHJKw)1P~sTJzOiSVVlh*v&&Zb8>K~%F5 z0q8H?6IQcqtlvP%R+MjB5%wY2e)b|u6MBEDoo8P^S|4WV);nPWHQBnP?z&3~ zI9!vB593@QhX&e|4rf^ zb7XZ>@oJTAE$*mzHak-z37j2LXYOYpnTzWjjhnAh zGi%>06-m#g`zaGXR3G!rxK$RaH-+Bk`yuJq9pt3#zZ>(e$k)?T^ueg0Mbq~M_jKew z9xq%m44T0e;Xtql(t?$h)nUx1f2x0`RaXDaCxNm6-p5=Ib+)LsA&L%v(^WEVN-{!+Ya!%EWP*waE<688NI4m4Iw4}RHIHW(5&NYgw zL9+|jqg`g^Mg4F4z=CIb=WfDWYg{G*!t&UsOxhnyDk%-H!qAM()y5QD2;JVq`3uM3 z`I{51^|B3{^HNkor9&W=VxOFot||0ZyuVpU?nZX2 zHWnLGoDAFsgU@M=x#$G&hlkuhuSCcyyrO>xr7tMdzDcZ(=I}@l5j|G99|Lz4-;i+1 zRgxnr@tC+-M#ag`b-m{6Xs`4k*@ogNlN{?pN1&Ua{CBB)9rr$6niB5;Ysx7%o9jQJ!?r5lg6ReAGS>!&tle=si-Jc z<|1&$-&xr<9xwcl7GU;#|Lc#ui=(_WU9}?&Wnj7p7Tj`20EiFis_}q-UzlC;nyI?E zW7ONLPkt+3)|q1<0qL_6;szkC!9DHQ(7IFKH(iUIU;T^tugQ<}^`h`H2FgT6SxVOE z3ln26D!v0b#qi*x`L_z7M7+karMwlcIy zIm$s3t*zLM)>I-`>6mYfD;6BVW1UaQb8!=prmFd*Y2POpCOYjwXyw?aAAE13eq7#T zJ<-Am+#~bZ?XrrBuk{v;dv&Yr*KaQI(Ua2b+$?CFaDW;XuM5+%w646>3gBpzcT ze-Ix(%}h@GXG2uOs$7J$56rJbIHgAb~Vfp9=mt?+Ih+t`nC!|~#UH1zsDHEcL*~EDjTkU+`q2i72Q5UBu-ZSe9 zhZm7G(#x@&-I|^An-bIvaJ$@m%WK$d|6T7io}{&%RBlO6UeTO;j$SnGV>bwcDC&r_ zCI?54L3FSu@L~3x@!o*E_%9p36djsLmiIjwp36`V>`MNAB{^cY_u~t)9uap-k5i$) z5^{2R_%pdv4CN2Y^F{Ee)sDbkuf*1ibq6`Vi*3ORa1a(j6x(w~O*etB^gAo>3GH0} zUx4x-q$0~E7JrodYxex#Y-&+a(e~u*`4?sg1RNXcXFQJ22M8+fh8HbgzfXE?Au&^9 zHFC+}cn&@VaY<4?eaHXa*oF01n~818M;kl4`vrDj0TIi0lWe0{2Yoph%$9Hj#Qka7 zq*e!jn&MOYUJ6EKSmg=M|z!tM@3Kh%_rjjm$TI|RyB4fW8A-vUxp>6RHBG@$LVKjcnyZln2%FxvKEom$4s&59a2`j@+xG7BZAv{p&h}WN>pz%~-Y+!&$thMlBcrrqTq4HUB z&iz)lNEG4r39u6GHQ*go<|1Eq*v~R9qqCgk~%LQ@s>-2`3?}%_l;4s!K(xWhc<2x8pL_@$X}QIwrGu0BL7r zJ;?q>_E96Khk*b8-Wt`1xCm)j@3kat%^>Yp+{wDKWYUiUqMd_(l%s+%%cYuwjj<|3 z;VyIThI{QkDF>~TJWx^5By0n)LIi9DvnGQR65VN%w(A-i(Rwso=WE3;6EOD#dA~&&h zZ~5W7tMYiZFlOcEdP}T{!6x?|oH%c76H)$8o{%TvQUz`?*!+214qF0w#|F3jx;jM~ z@p-SCk3+f+7hk?Y|IuAH&3E#T86s-5j-X%i9q(+DF|+#Lj(@K>6Re!bqY$wJmH_Lw zxkKh_62%IGC*e+h^=n)k@rXOPibNv_1R^W6)YUk+{9&Wf`Gahc@Di{g=VNT$-Gw`6 z0Vv(3uK>owWOAVB+sSCRN`NB(=+jIGzJewYRJ+a`8Xji#;?w+%%6LSp61!sgPlP7^ zm+3``@79$2o?_f^cjqHI%WTq#`R>Ah&I=XSt1jOg5QMj7dqVBEcBshrXZ&47JUuO z9a6auc01r5%AqlshVKx!b-^?!Kg@I)x!C_#1@#AKE+S#!yfI~esehJ55(!Z+=3<2g}v-O^ChrFKTC-E;gn-}{0VoaJCt_DT6 zQ56&=c3TG)geU9J8wc*D4-O1?jZxa$pf&bS14amv#7j9|O$2CKeWb2-PklA|F?)|i zkzuRR-$g2HWKNpb8MfgX!P)Tb+p4V^<#{`odU5|8nLN6s!}s1p))SVh3|twiHuWh} zYej-s%&-nOyFg$fYACduNB5*jVZcg!4=_qoYrxM)^8v_y64w@%mOc(I{(g5R{HOZh%<~1T3Tno4rtD;a5+ZRLm-&^StA4*E;f4XFm_vH& z4G%j9hmWVdd8ev8i#(V~pVpIU-M-(xal)s)S^+8uN>W^#cXsxPMp!IyO3cz0fy-}l#w>zh&FbS8iccMx>D)OBP^RgYBHD>-4 zKlJ;U0^+N3e*J4HXju$#opPg^`MzgcNFd^PKt6i=Jve!q_FEJ6c`|;fR0rTUZL%;i zS+V^^esvG%yU`cG$A<>OIUxymm}V)VoEIT+NEQ6VDU5|<)Th{Sjxb8?w#yV$ZrVO} zcHUWn6Bh4OK!KX=sC%s-#p`OF-cG-Nbaa$`6aQj_Nc3$Pe=o7l;|YK605t~dMY%~dyNA`a} zdB%fj{rF!Soa6Ao!|+<5_yXD8sfLr_CvAhP16*8*k!gaLs0RtuhrYUk0s_Cj#ohM$ z^6uTJ&UCy__Q$EWyk&&5U9K3^VrVxmJB=U^zIns}(t>S=MssAm`hw!e0yVh73}H-? ziA84Rst=&-2Bm;mISt4Nbo-KSK!#K)>rcS1FDnX(m!@*U$>{uxlJ(p{@76vcb6hdm*OxC9$&I;^?Ms@A>T9kdHiql4DHPC1i3v zM*eC*aATy!7SQ`q2cvriL10^NS@9NFo7yJSq%Sx%xvL?@*H~h zi0TN5ITxzwG@1xIkZ{)Tb1)H&b7P;OEU^2{!oNeQ>B}#e*iVX8wsN2E!zrNtE z!v?y!CG?%FtUOmvc>Fk6;su>wpF*Z@Pxrr1cf}*`z9YMKIDMFRlDrnu6{J9=xSM=8 zsN-r+X(LqX;K90O2>M-ZbO#&y6Z}*Z-D{)4+cR@d$&6={S#I4%Bd4wCn1asp1yj$_ zyTm><(ZD;%J73Uti-sN0eHkWAeKVQ;%doMIZ#vIC+#4qXU1mh8Y|q1nqys9(B59WY z42SG!^W*^PjRk(Ir$Czhai08(=g&(3kuk_aC!7mX)=dmYqVwAMvGlId!^k_CZ`MfZ zoE~O_l}bCQ2M_c={G^KOI{?ksAj3l|t8?OYE{7NVj~!gS3n+~_WNojG0!W(F4x@D=(!&Y+JRyCNHp%q%0&|$J^VyYk>B#5=a!}>V3fA;VF4o&S zE@MNTF5DK&v@3vwVH;@TF1z7&$^h*auCM`os*23ytjoS9S=G&v>l4;8 ze>1&g5osBWWf}ESk|<^d{&NZWf=R=f`$iCsV&}8m_H$w^osP>Z${48 z%v$fi(h%rYEv98=Y7X!xg!-NhCqZ)W?!Nc*klHO}Ul^T`<0|Nzzs&JwMbY>8?Loy!aA*g+<5gQ#e9vJ?LsWsZdtl8@Y0E<`KzeUAoQH9Vy zg^UNc=YKLB-Kpz(J`wLeQ1Eiu;IWp6_CQu|H5D0FtvgMNc|DAXKkf!BQ>$7TWxyjCj6VHS=MI9yU3ME{g!PBE1 z-9DPm!{w{$N?|c&JobK>HnH-_DlOCH`{{B!fOJgm;*PYN@bwUViFP2 zp9s<}hKEU$C{A~BT^ejkSvueX;gvV6%UTOwbaT9#_9nsHOX;?Kh{I!byL%1@$^B3%QZhOk z*ftqvu=p@vw==3qFCS`QPEv~)h>924mXVcJJCq$`N^$q$VB>uXyE7$agteqGb>DE$ z5aX^nt~C8>MtR5S&6B(O{xvR8AKLzGI?2KLSZsMRBY#?agWg&aj?G?1xrhn(V9GWdl#ul%STTW?y@|e4ifpUP@vx%!+XFZ90q2 zDA%Vp(8^x6Qr4ddk$z@nxY3*YnV5j@KG7UGH2q`;+&C6dNp^Gp|i6y zSojKt$Q{$5+E7=11&W*7ckW2fv{mm~n3-|(%`Y!=C!sMWE6dgjlvlr^k-gJRbF&#E zu<{fJ+T4dtLxz45VW^p><;nw|v$(TIHt|ux+}~U=K4xcJZ{CV>(9_gge{tG%6u~ zdE*l2QURe3<=6?RmPBE{{#D7|? zk2|kyWbo!nf4Z`}-oFGh>lFsH#wvI(kH9iE#f?xPcFd`6+e!c$mRHn|KxD(Kj#RfP zh5_1_S=XNyEpRM2z%)V5>-oGClpzlJW@q;xmhyaPXRP4*NN&#w?91<7RB0fxMJW)N z1#3TjN>ZI^0cQdL7x3&B%mKx|7Z9m}8k^Nq-V{6m7if-fm+Kt!6AS9W za1hR;{|&qu+rF-@RoLQ)1}Q+9`HgmWKjykn3-JQ`-Z>8%@Q7?r(Xq@@KEC9rDjUB; zeM-98c9>#&r?X#7W)h;+{;*97gdF-DhKp3XnH#g#SA2kb}wH( z&5dsXA7QZ%20aX4w}il?Z&wINa2&n_!uZaB@Gr>8Db zbgIb%@_auXyW`IK!CUKs#>4j5o$uDjYsm zDtnwFPw`OlJgk_6vzvzg>iecr3YmGt3v&DQVM70kRZPN-^{d@qirq2*+)?ty_i|va znp;{9HMN$h-cU3Ho4 z^%O={1BYbcl+*V!n6s449cI0V$GLh=@jel3`%PsHK#He328O2p@(C|J2mq%7g{B}- zK1H?wJ+iv%;pHupuxEKXe`iG|Ub3UB$>`tJpA_riy0Qy5V?P9E+Q=5Y7k|h}+b4AM z`3oC>2pE#$)Gp^v_Pl^0(7Lg@u)rZv21vr~OM34=-Sh7cx0#rGjMzdF7zBELO5P~b z5{^H>n%s{N>8FyAqHFE)YM*5$%gyt-R>}Ljz0QmU@yR2LEx@Rb_2mBFuqfaDHvqX$ zHG$t-M9BsW6tVl4mkL8TUPYYjt@g0bZGQz7hpQ?)U6p|ia!}c4Bt}kCh0Ogf8)Vv= z&po^hNTnIe=^2ZcB-6@5WJkrzEs5*Pt1*p(kLE(!TIdl0RjI$_Z{2h!Mt3`aIdETG zW7SNzZ=;A#!s4M>_f2Et#|2Xi0SOc7g)w~oO4*s}={&4h3{vx*0!v7g__nV80#+g* zErlMm$kmajjGl_cvKv|PMThoOgGs){g$`*F0aKQ7AUTaE0Z(76$Pak@$@>5~f7CxeZ-YLh@uTh&P8YQU zYo89@1H2LEPJ$Hql0%-SHil{GLQ#wEAN&I{SEk%>&B&e_-4o8%vZcGNG>awY+FjeR zN#yP_jaw{cc~OFH6S1T_Q z=w+7@b#ohXN-4SC-e*ciN&VMGCM5M42hQMTX3p6X|HR_r;%5PHk*GvS=i(S{qjg&( zDOrZ(<2l?nXPVct{VE219~7-EK60+v=CH~76Wy_h7j^Wq+obgEpnb?6;5l=PgXpYt zHYW|N?rZvo8m>@+pT#Ui&Ah;JVJ zPPcM{L40bbo=6gVb$`LrTgyoektv!@pXyr(J<)}R5SsoQZCX5fugxr`6;a#dnK8I# zurtD46~XsW{6JsYdB)0sV(6(wnM*)fZMIKXa{#G)=Zs!?IHSXUcCiS<%nD3NMa*J# z=}O}K)r}n0xtT-ev=W5$O#JM;`ICFQNNV#2CvrExgyEfTY%uIgSTdy;!eD z&~})#vF`&jQXR^O;YUgl*gO@n_!`r~m@khyggze5fP>Zd72q~WpIo`X+};F0+3u8k zD7gTUZ3=k!MQNu%8TT^G9cXa9204wI&}_?xroC;4e!;a`Tw>k+YN|Y>V%^s_*++;N zOog~(R0F{n$^Ju3eU@&nNG^av_ty_W(Z+rPYmEN9sYfp%KnFVnegU;m773a(y0jF& z$NW@84fW5a^s5E23{%y~)N?I&TJepDS)RAXlpFyT47AyAuTA#ugh~*lSl{lvw}it< zZ&g#}Q*E>W;BzVMp*{u7;S2)ao2D8O%aaT$Nke6ZVvE#Y?UW+9kg_ zeN_=sCQO#{n7@rkIi*f z+I$ak&flCS9X*gO46*Xh#ifhxbKkhe)<=K*+RJ()$J z3^MM*THqF0JCNCN17`(a5v;fJt=|>JEj1n)Du zy-$XOQ!@OMH*em29x5v*r&Wamy^_Lf;OLpIu~L5G)9>3aBx(1+dxqh2f9)O8Sua(+ z>cEL-QFfAAv5i$t0jK0d>YX0?=^gJOo(8Pv14xOQnQU!dVo`H=P&T5(hSBY;PG3?scQ@zuT(pXr4 zSyY-I%K5c6%%&JMED58xS*Fa{?o9YC9Wp0o>a9OEuz8VQE0n8?nT6$kCaDe*^z}ev*_6B;@}Z+E?E4-4cTXUEDf|_w3}9=x zMIY<>UN;RzHGisPwOp`%MqTw2+*>aTN2QozAEfN|%(Csn(c7u&HJkc5_6`oxAGPXt z(4Fe%K#536l?%=U-SYi-C6}08P;do7%U?uG$>We5O6u9>{RuYVb5BkETs&ulc8BNw z4ao=HH?b<3>Dofs?N-CRQBiJ-V7Y@W|1oGgbyrMHP1V9YLH)|IxAhQQB;loHS_8Z# zuNC;AED?>=vNbc`uef(E8bgV6^q2@lRk@f)X_+M`1Y9aMn;rFFRjZrk-3d$If!)nSBwLZhfa<6MQWtO?kPw_T?B5U?Cd_ z;(Y;SBdsiCopmy2`(lg4rrsezPb&LXS9{pB8N5iR0#ls#j9`Poe=szq7-!xu(sL2o z*1spu_M1hlh)lb$EeI8fBr!YXrb&&(7RJzi7tQ_!R6L*&xGM9v>KLB5mB|>WyXO|B z7NFG~^y%*A{9|_%CLQCG?QS^wc5<#GwOW(^5q5|7J?TYWM#j;V4}IgB@{y9|$sM|% z--eSHp!(>TI)V_e8bP;QB8-pl=}XX?(JccKip<#*{GyT|9JugOz!CJhrsgf1Cm>fd zqHXQ%IaBfh_oSZq0Q)O)cR4-f(z+>HR`|&g%53ik0`Eks z+JK1Ya`*uxhG6sF!rAZNzsY<6Vq9C-5$pJNPfj1DKdEPsSNDIDek9g9YR!||dssNy zc|BfR1k+X%6BE_4MQ}!_m*OJ9$XWbXDadxovgil4%l>)Lc4jrnN=d14{{@3=Skj%f zsBwybWq$M& z*qH=IkiXtY*^C`*eFjQ{k6%$pq@>J>sHo_3gO=q3f%e!qk)*PUCK(A64b7v2%sm3R`tl48wV?7*BEK-V<0Hy7;0i0+eg~un*D1g6_2wi;|{(ZZQ4?z^QN;G_DhUfz(*DZu+$`JRzvHByw@h6|2Jvk?d-Z{MBGD z2l(yOs$^e%-3C})7|U$w*`S(>WmZl0<$yVU(W{vDG!v*u?88h76D#JE8cs8-%l`Jy zdM?hLW!AR+!<;GdWE{Fw#6vm1en5Dh)#r^&X!iMyw*2|}Q7Om##n)rQw{a6ef|)=p8?Z zy1ehn*dSwe7Ej2(u!8dA{E`7*AN2xb_oV-d3DQ%hP1t{aD=ps`Tnk$4@;tmV``Gz; zTQu+mDkK43@)DXEJGBWV7=!s5(dR& zZ5O-A@m7%sMuV>Lq;iS=*##GVL%M1a&G|sd^^IwolkB&>Xo^!+`=sSkii^o znl(Me6rojuycNab`m-eKt<{z+SF%kb43yum*t@4mPb4;YMYNoylfni9vWS;v&HyY( zW&jHH?Q?J-Qo)#7PtzZ)p0qc-)beuii|nrg%%!Po-7TGrX2zx5wDv6KtaFf>S(3hmm$d%FbM=tI)lop}b#SAU9chVHiQda) zzd@1{{yAQDt(RCmg$IMyM9)$F{u&rJ;5zVpp+=km8tR6Eom(=X>&ck*0=5O(!hBG8 zVq}=&(K-BEY{u{I#rK^cV48|F9U{UmIk=m=S}^;|W-)b7Vk3ZUH42RBhNAQX;85 zdw>RU;`BW<9v6EsZ9Mfh2ku9zqgxZCaR_;Pw+AH$>2u*))jG%`PLGCacE*D9Oe2qJI>8 zFh%w+WUskp^#K~G5kzk?za(@%gUiY3`W?HclZ&a3pY?*=!=aQjy9oOJq4(!D`~22( ztpmz>60G-0WqTuTgp0HZJ0!=hMRO-%x+t!`IWVt%Bu1!$YUO)Rrl{>aqhkQszmcm` zF&3JoOwqlND7ig@QDCjk0hpy>lZ}@^(QkqYathYWs=6KmHAM5BB-?o(;oe2S2Xy=d zVH+YbV0rMvD$oQ=J46x*c6oI0ts}?=C1B49^1QS$`QhP23~}>I#9ZQQlW=B?>>X}0 zi8QyD#oz8>%ocw;9*YdZrCCB|@J#;Ww+=|Y(%8vN1;Qg8%b-(E0hly>+V z&K&;d*s{exBf(2!NgNXIDY$s1fp_A_6;xri`S90dGHui>Gb7`z^>x-CLyTuG|B+=S zWV~x@XL@|P5u$iUIr2R{q39<@5Q!c=TwyhZSpN$=qk5`=`1!~7J|M-s4+mtMV4x4= zK#!)_Q^^awz$ddnYiP<-+S-Qh!7G5U)VN-Y))W0So6hFG+4ynu2WYYLM{Vqx=_yBI zrqP6Eh^uGwt-d(@tZ=Y-!dZyk76m3fbc{l&9)MiIEv&9OaVZM-l<_%YfP<1NOlD~n zSip#mD@EEs8b;hU6FUHHG z6A${OlCQi!Kqu2xKMBgPwPtw!;*NT5aMMdAr}n{&Q*7@gtO?HD>U6KZc5x zb88{AKo`Bj5rng8dSt#%G|F~wA9&gStj(EjZN(8lhNMx}&ORY~STY{O>v-*tA`U>t z1#Sie9qC@Z3|`}1avyolGyUR>U-U+eLivX0v$qrZUH>*tdN@w21=owa(*Y^O?f1WJ zY5$uLaM~p)K?0>ObCWvq*2Mh!+^Zyn0SiWyY*Yurv+o;PL}!h@oGfoj+OLvTwXLs9 zWLSe%_jlg~!2i4N0q5=TD*-e)ySeQ8fA1q~qU8?ic5KQVn7h8F*40t=;F=a*^j5Uj zy>o#{Fw?3}JFGR8va)mPCrW(2$2X*IhHdOq)K#Rc9w&To?k)q~Zs${L_1db;eWU5!#`=kc)pz;k5hwQB}~hr0=51K4Swf zbB$0l`;5M})K&NW`lqwkcZQ_|8HUnSsUKLMF$0J&83oU8^2fKD8sVSuoXxyw8Ol9S zJqi0^=GNYVD=4_Esx-^ryQ}R(X}VImZb}o^bsgN@Yxo5P9qP$^ zzrC%xdmZ(V@xG;rvGH=-bm18&;|=@5@0Y;vy*U=J8^6@!RQWQh?n(+uZtLR;y82hA z(wr#UTEIfIg>W;jI##G47d2OeXE8OdE*@k;84tScX?srMHNI+X`|7CNc|yrOf8H&e z4YYl2Bj9ca149whY)P;OFl}ZB|aL~GFoKYafc>Ld~vRlpTjZ*V?Tsn4hlj#!rz&~a(zK$EnnIXckM%2j9AN1 z$S^mpAs9*1P=r$X*d7DE`$toKy$XgP-W+6%KJAzu8XVMR>%dkTFL!%Gi;_-=Pap-G zsD#E$s)&P=xebcSaJ$l2Tk89)fj&{et9J||PT~YR$f{vRqhb4p69Zq&g6B$L1eKM< zKReki!a55=QY)*fd~E*W89()6e=1+zg*otX1?Xi*bafHz5Tlul`!lDA1ezgUAQoa- zl&b_H8R@eSR1A8HrzrQNc+;1<-7fKHv5!O^JwT+4>YMNHkBQCe*`~{T6-IgB^6w~f z8?#hh$~XRdk1G{J8))EqqcQ#jHCus-{-NjDgKt*7?tLCddJA5}F(%}oh)#kC>2ua< zv(uvN?1~B<1wlKP7`Hjp-~TH4t#KakU$Q8&EPW+@d;(DYCi_quVhf-a${2)LrqaOy9{jvg?_6YJLO9=_azRJxW625RB0zjERkaW|QW zs{OgtZBRBB0AYd1%xcea3+_4Yv`hV*f563gRuey%Nb^KD2b_It0{NFcub;cY&7A z^JSY97KoOPIGE&I8Pl6oa$GlJu9yi}6gpg&kgl^H?duM3cO+jAR;82lVU;lB8m{-r zu3d=H^B24{sLbkoGnj7xsT*-$S#Egmet}CaXJ`lULC|4+KHS^Ok!WL|7zXmIth35P zOuX9>BGw*bff8R++#^q>8S<-{>&AkziHxTmtcP-3D_5fq{3{yjBz!+{c^&F3{wC{23;+LndJ=c8 za|?EG%$R%@s0}qndUjl^DE}lD{q7#F-8O1=IO`3=G%%(0febkdHRN`#a?@{+Jmf2G zZ{H#rg#}$WeCQI^Rr7{iA)K1FYd3@lxy0|7f~^-{<$4C&MT9Bn9-IphCKZGnqP_@~ z(M!K)RO>)qF=u@mG^Ks^ee6QkwQT41XoQT1fFaWl-5K_fcJ^0Z4;hONm__*ul_{EU zA(EMVSB3ZEPr_ut;${?T`b}%$ftfrG@5l&S0*l%zu^_Vuv2Th+m4Dhf*HnOMy_1_@ z`T+Y5y*T==1pbUesw&4f7gwP8NSNOU4>2q2Pr{>=2)jf9I{YQwjm<~URo>WFA;i~3 zXDqa6qk@6k@&^q8OX&ARpcbbXVb0UR=pth1eS3rl{Q&z^B^ki{=~fl^q{41b%2}ZJ^?hK2VT|_<$1+g_WD%bwP_$1OF2Txf{8EK zRgz=<420(XXaOx_lG`Pe7RG`_vnzLL;JLHY)2cIT$64`|23;OiLFePcw^dvO-L3s% zmNCBg9SYse;d}p6+@p{WQpI!Ior&O{q|ik8-Hm=b2jVv02J+HmS8-;a{y+Ww8l=jI zFuvThNVfx^OQEg5W@xM?;XVb-6&=&;?q*$b;62cPv^BwNc+OmMo*P0%@x9}%%~tt3 zuj1A5kA&m8OgH11#*L}ko@30`&D7jptnBI5QIS7`s;3)B)Z=X6KLvuB5^-t(6 z;(J#*pl!1T3D5MskJ4o={M6{n@IZk;)r$XW^15Tf{$n*S!Q1Gk6{7@I0EqgrP2!)r zI6TPpOB6GsNjUlgJ`+v&Bckp#A$3S#;dZpPXGk0xWu^{Z>ITi>^t$@`iO8LvZLGOj zo=SEa$JmXYKucg*R#3UO*$b4HTw_dFCj)A(pv*^c~cfjcf1yv?ZSSsgE= z z4TY-I8zN-XRyutD^p*UDMTWQS)qN7cN()$%cYdnRMfHARe%EdiZhkiLY#7&F#dalV zB5R>(tIlWm*`&|*)$_1DEQbs!1$s|@`O}VmK^j3bGCiF)arZi{@Yt2gZ~)_xpC`c* z;RU|scBKVEU)f=rjz}zsc?0YfW;YupyD>X6{JF$rGET;ewLKeqY1e}mzROKb-ciNQfwnfqv) zSvO*?^FhxmxE>BRSW^E>uIRazQODzA9x&(2E^0{bO~%JJZ;H?B!pd_b?D@++wBb=R zhx%smWi%qcfR{y6!}rByf@%)?#QZtP2JUE7Tj5;=A~goVJ)jT?ake&-;$_JuH)6Q! zbQWHs)sqLs2@`vkvcWg1}E! z2G%f_OQe0AdCbkC;Epec_y2euCD}7^kBolE{gNI*$mE_>#>FYj=&P-?p=vhWUSe;# zBPxt#=OvfCfR9(X@IN&mhKClcU0nGtn!?GMqmkPO%9<^I+A4 z6(P~^2se*xcyYwt7t96oc!|ne3UN_LGj#Uj8_dYp&hfenZrM8cO9f?!eKEa@KL3`A zLVx<;V!nLw&=$@6o*Z%nZ%8i#Ty13=Vpsh5apmon_lFr+nK;+9?SgAzoAUw7#|n7e zb!Eed9Qm;dmhyPriH2r13XJm|>P|aJf|%06n}PC=Z*|JJnS;PGn4vdNiO_9b_G=5d z#(DIaZwgSr7RL{g?)s`*0XG;o72IR`@fC09lM$KK3NVO*#Z97-BMu3hdTm(2i!lFU zLH*v*$Q>=Wye^boljB2~|4P<)B&aC&t$yF!x3l=SqfzSdvvxDzxHPv^rq6WHP}zWU zEL=4HNo_q)>wLZ!cz%Sl12Q*Y?gKpXpNWa@KEV5t2T29*#cp~l>O{QaJFyQ)tW*&s zQ*=pja88u{E61uRM>V4P59vyW*omz*ChQ}w_2dJkZ@-?!~M zg(x8;TJ%VW=n)ZZ5hMhO-fKie5WTEblV~YQf*{I@=xw#=i>MpD_p;cqSggfri@cZr z{oFIpJM;eE%=~6Dliy@wzE?S~<2;VfIkisDQOWDP!rF>Nm z(a4Dh^XnRXfRvh6_Bf_!dwZdB+u#KnBYBf=OBON?H26+eRv!c$MfN7ChyE+ehpOi> z9DY?t1FG4KV7y+R#0>UptHQG1jS|%wspyoQa~LSczgAhH5!De|tT=*}cqMKceY7XY zyPQ6eyJkU5<~JA>IZ7VqJ7o@qSQh*5En-aaPdoH40or>k9f-Qx->U`-j%EQ21?&Br z@!>5%PW1CugFC&mXbr4`wU>r~X07R3r$R<(%tW?H#vJj^z2XSwv)yjYJ8(|#iQK-5 zkcv+Dwkk`C?814u~O=SpwXj?h}OcuCh*Xn*2QrZ5yr4W@T)|9nEoM%&)= zG~Ms2N~}9%c{t$XzGA`A`W~bS^fHz+PqrA(eLFB9mcDZRNN=2Pu7`=X2?9lz!cBI|>%H5`V^ z7~AnbxIJx%Xm11lh=ta%CMXI27!9^{Px6@wvg-hNsja|U6#J1AthU%3&oDrv6I{@%~V+MTLd$_YKav>ZY#5s2jn{V?Mg zfM%fWn)_c_=KsX=1C<@QKnwp@onZehf1TT9TtSiETFn(lkm|UA&kHZtl8eXsQUR{uu?9?onZ0s4rG{@NNYk9hB*J&n(WhEt`_YD@ z9RJWw0RnN#Ui9oijEphlj4b!&$G%C3=96Zu43Z5a0|Mw4@V?yNV5$DE86SpmHodbE z6}%!hC$OZ_&aK|;T~>_La)MBi2lrf;6ok2%=YI8U1TH3pKT+hbBex}$&UW?tgA^BI=Jf+$sK%3GN z3Isc7JmGDQBB*wkzJPpdB&)TF$)9a-I1dYeA#dqwsQ_Lq$VmoN7Ak!}%G-=$N&kMh zwIa=Deq(g+y2XA$Px8~uJ^neC+u}DDPLfqLznRBn7|8U|FVpC6)cpGIK#kaL-l@c- zHW-j%*ES*B2OQ~Y`9(dFnhg~{<@COkC1cf0Jje&vnw?!;p?#0&{xiT{ zxeqiyqABLjp?QmQ9L4U4)82o|AsCJ)z`~Fu8xvvIksSz}t z1m4jcy+*=_pf+tI<_p(~4XUgK>NZyw`jAG`aOrvZljTtpxTZ;1aOTFEzvI)1ou9t0 zw3njcP!_!qBK)Pu9WYpw>n??u8YuZ!RU)@eVir8lWV|-m#3dHN#i`FrH-j-p`IQCq zyfa4CMrpaxxXmtu6&^mtUD*9^*fhMho?^BA{ESjf@J1F*82ootX~Z{Jk+Pi|N&Nin zSNe3jv!F`x>-e9<`mbLjRHzU1UqSU0ngdFeDo;-JIg^CndwWEOUGhx{>F__U-)Mdx zGmx~dHg@kk*%+0Kr%71-!W((y=Bz_pE;A&-%_T%16#&`$Z2K*>eQwk)HA+#p{;ox} zh-TDZcD-W7^$@pP75*MmQ>CWiuT z5^OnuJ#Cpi(@MrEp{SyEN|DEQVI+DK4HKJD8)p%N6f=d07j@;m?dRMT^nV#yk$5uY z$J8!)jlIem^!-BFUT(r}+<&j&$7!Bj5uBo^HEfc}oZt<-9@;|2)y&vr!-*-mW>f=T zW1IengM{AW7q(?LoRkdHkjH?uHhtcn`x`O6^t<^T`ps!Dx`%xCD47)PDVy;b+bx*L ze(iFf)N{o&uL|gnmiZHLEuuO%I_%whNCzBT8EyU`+Z?H!9djc z*#Hj7@@DY4l*hmfUp>Ub);aLd13wSI{Jm`g8H$((ataDs7{!(m*xchZ_r|Rt<~AIa zr_*xc?>JWjSDzUMdkQP4Da+WfbyW>!(E zZ+dZ9pFaZe)e-JmMJ*V^H9n~n;>dht){t8L+f;b6YYN-^IcOcnz4ts+DgXwn^;GbC zsT~Mz%a&1)0QXzi1Q1v%C)7*#Gkc;9D1raj19zI@mY_!pQ<0@6kFxMa3rXK#OS#+cl;kJQ<4*Wstg##D*ZG}0yf0=KaHOW+Bh zG6rSzvl8iHV|FP45DWkd6flMZJ$I#bX+1doMKBByjXn^rUAvP37i`HzUVB)a=yU zm6Z#OcSldvzcGQw?7vDVEIPl&Ba}?GaWP&NK@okCEjqrXkEq-A%l{Il)>Qp@yG3Ob zxw6Y;z&1~1%2!Z`bas26Co$nRIdh3$y3olbMekwi)sNkgr0dZw$RDnK7$^+B!`516 zM18)G)}@fmQ>rg++bR*YZ0pO5m37C21bD=XyOXZ4Epx=UFWh;f;|;k9Z$@4_3oV@h z@RnrM2Jl6sF_?`s?XD;_e5GYVcB+xjukJ071E*Z4B zXHSD_IfBOeX*urbH58^;`rEig`GzIp3Bkgx93B@lx)ZJ4 zv7d=&d&d1=TZc!GaLN9U6?%Ix^0ZvpAbnNf$sjzHz{zW)AhpuT|xNYFGH2VL@R zaI%70_8Rxr0r;+EJsv;r*;g7F*}&xjF(t^CN-NE7c7j5(ikXo01@9Kv2fNYdr|#CU zn3`u3%-BhCg+fRpmz$JM@1C_~U#VoPeJ9g`yzXa@H{v?OE!%_b1=4 zbl(I9w>WWB4@{+a1nXhyG3j*;Pz=&1uCS|Nc^2;tV#45pLZi^Kw{_lF@58vANm4))v zV?hag9P7v!jtecY80_-02U_*R5omUUxA+s+17Iq?{kFZq-^PXq=L@X4cZmSa@^q>L zPI%Y`f;?E(r88)m`1Ktg7S#~AGb(+n(XTOH^yZ7Z*Pr-Ssi2>|&++tEkH^g|kR)Zu z(if^^Oiep!p3I;T)}SzT${6(0IYY24J}FODp5=e3-EtkKf)$>lHp}@@zs9bmqm%N{ z$(CEisA)mI5>{^lCYyXYdaf_*OU^+P^Q?J&lQIIVJ2ytDl?&r!I7E;mpExc)9FLOfV^y8MfAKlaEIIBOaXd6*Z_IL&b~% zTvF{4r7@{WSEqHR8E)(L@S9$qc<@*Ijc{t)lMrv6j@K@i_v@46Hm55I#vYft_=|L0G{&dOqvNL5-SU4#5 zG?TU}K5FDl1kUaMZ_MLA`Jc(-k4-Bk&4(zmZMu2QYzU@MG>q!&gkXNr*UC`Iz>n`8 z;m>w`N3IP%_m9WE!(~B=jstmjQ^{U(+IWJK^81ZVFnH@f;?Fi&`emn6u;`RGLAU4K zPmpWMO*~_1%dehgQ~@a`t`BfdbH4rC+k3#{MVYDEEobJ#ucTUvog})_n~#jvmRE+# zzjA>&9cuP4Dg~^vU6@t5AOl2HPmddZ)eLtr~JZk{<**h;{XcBu*-aEy>B9-q* z(}nHKCu}dkW(&0X;;#L}pz~ttOXeF7Fw0>dM|_8FH4I?%P#Iw^!5dL7Lea|1+Td8Nwf@=;C_ehO>BJujoxoSd|e+0 z{ec*xo5PAmI2$XttPz zQlP|>Zy^h&(Ip<=*PzE>uA2tDXb;BcdCxI3hTmpVk}Gd)j+f+?iIzX(1jOn+omu|S zw$F4+>6OX!)@^aJkss6!5OeeuPcJEdKLnR=f86X9iiCfDsu*f3~PN5FiVSX0M+YIVLyBN zX_?3-Yp&N~(tfXDu3LM6yK?D!|80_E(2EA$iQ?jH1<;<6>CEX@u3GcYP5Sv|?Le)! z=IxS@4Fx$;;i4G?PbSO1E_c35U?-1pQ7)iKn-W1txnbm!D*pMK%$so(Wu{3CaMhBz zEyq#rckEjr3Ei^ptJc)7<+zW^PW`nX>fmznSQ~h}=sRe!s&Vl~6_jnE2Sa58{j9^kG#6+LG=q!Y)0inF!^1lzMNfVnYocu&RrT2wjX5U*2G_Z7W` zD;5ugY8+jDyuj}Xz0r=MqmVgm?zpfY=_rMYEZc%pnstJr&HfVKz>$@@V z+V8&?p5^7*iw@6Sxf(zBOFPw8=oNqgm0Hxf!lB2`<6OrH@6#&CV@Yp2GiZNa>AJWw zwLX6!iOVhbt*}SI;H`e2bs$gmLgsdW(^_jg`7KIJSU4WEb=SMWb@vWwTeZKHb%w_~ z0rr61EKF^IiEHB0FXm*OolB^|B@vs#3ctjrcb!f(h_1NbUmh&+c@u$&`in{te^C8$ z+Oo_rcJ^i42lI$7In*3gwbd5Mu^}H@llBQ(6B_rVi+$}VE57qUqnACe5eL~W*j!&S z4)~bf>MGI3it2*(5T3r+9m(Hf+Wo{c_5SL`K&v;qsRcwly>0<|#_zXl>Aq$!i$z4z zqc3QEr$?hgdCTHZ|3VB&l<`qz@91g^4u0ArY-)0cTYFC(AhOF_9txi@C$C_d@0)X{A2ne9~|>8SwRArET$!;`(?z4$#_ADRLqQH2t?d)FP; z0j+my4DqHb`jlx#a0KE(X$DXcI@jFxQ&QNes2+!rqeAnwb-Z+JB=NUR zFDlVo?6`LndBx>chm%x#+7Rk}rG!wt6%s$wJN|R}XpGK~g zW16efy^e1zt+%fWDowH~9pov$NlYm`4oG)zFZRye@|^t|zlD$d`TEcN(QXvKP|y|G ze_-Iq6{H1`dK2tKU@G@p()kWJj)UX>?}0GA!J_@ZxM zP>>a{amm)2EGAQ7>Gr~sBP6X#_5#^MWT*1qfIDPYUN7qNDG%7YpBNGWfwfCA~ z3xIHG(|$P>jB;K3Dg{7>UX1=kn(cEB$j1M^Zp2Sb{{MyA1P{sl6_1c^SB6%Rs6M}5 z^l$tP;g7|*uIV4A#v2P&h1;ZoizXCRFUEuu5Hb7&vt3x^jMO2is}4XsJ%9lj&>8@; z1t}Ig)h1JP9)|K928N^I%UA6yRM~HR?FH{xWwf@o_HZG%5=J_Aqx&P&E{F_BTPrY& zFC2wo&3a`w#zIo!`dY*L=b)bI#hIb`U({6@H7dS*xMQWPXiVIz(PnJ4C&DR5v1cm;2TB1o>6Ej zOEMZmcv!*|)X!I{XWMeuO%j@h9VE)^5Aq&!f5hebvLzmh`(N4-j964^sg+eXp-70~ z^4tp-ngeaja^b(`0JWnZGf@v<$W{P&c>6vWxgu0Ds0r)_$^PTd@BaDg3X~hpe&2P& zRHR7XbwwGOPAvEzuhE8kexZVKW(qLMmM#-FK=U3ugTp~i!3!``tO!_`wR7AO@?yy)dld(y< zP!4*$=h-Lkz|cmtMwWq+Ofv(-;RXOAvtxhMZj9iL2q0)2-&*zB3t-I&$X})buyXFTSy<(P=%$MG3W%oa_@PH zVGzY}mHq`^(e}y^)}4c0*4v7g9u&t1j9)T(8sGA1>3NUzSW34pu^H=#BGh{K>@auh z;kT0VYTxb8?nvfID-Q8< zA|U{*-Qk$Lw`zH#XTiOB5aI4V7B~Y5Cj%^q$i88AWFf(QhXQsfy*!hKN7y(|@;wh< z-+ZTzOC_@}MCR`gZE>u=!EKp$EuD5+2?nahQq@l0hC7f`9cv6YD6tJK}EjS7SdR-FbFMFd`( z;5HvB+@i;=pxo1?*8EU<==UTYoFm4VdvR z%0#-(%+6-p2SB)T$H5S!r+%ZLt+B0edkh3=@Vt}mCqI!@5cq`s>&jO(xq^vJgDj^D zU4NfenpCl?M8M}|6gvUv`mvR5;0`m|CPsL#L^<4z{Rpyb!Mz8OEpfEKqzW&o{841! zzuW3p_~5Qs>dT;;&lY)#VJ{8;xd#rUFtvTS6Vc`lzhOv$;P=}r6>$kFH|~Tjra`&8 z^#eP{p9DI^j6>$2fB3Mh#Y)&w4j&?d2t{_YV$+~jMDi}WNQly+`0qFW26ryhd1xy<)BY^Nm0pWPKFt~@?W0q5tuU>=8_P`m z&ia^k{34srA7zWy55oHVLR&kIiZ4%NY;MiG!e$sD3z@s-mqmm6JKrMY4;jE z$@Xe|`h{LBRWj?h;RzCPcZiifvYFx2Gh6bNHl-`;wV~~Ou54%+-H1TxU@#N z$OUdIqgAVi_TKVWgLKq1nkX50hGUq&(Ho>-CoYYjzGk2vD0+C~c-wZ-^Lu|SECyfk zbC#t`M?&>RKaN3%-_*$>LVfX5n%-Y{GXbh9zpfVEC>S=dA=UT1IsEFnwSh@3qCkv4 z>L1OE46e>zl0ul|T65dZg>D~uYlDPZydk$-E0;nmzHlhZg*2GPti( zc2=!7P76orLCyV-YonPYImrt*UXarg_u{XWR@euK`JLY7f8OtD z-*nDtjDH}NhvS$9g8d)<1}V;@gul!LC3OT5?mNO2Re_}R93$IXTxix&cLv8u(zC^e zs8cHwlP{BV;_CfC&b0!t2rncbr2|bJ$d#tPiw2SHT`nskSikqUV!$RH*x&jDQYKzE zK3y5iK$aY6&FJ@6fI&Rt9QV08d2Y-|1a{WP+b8Asw_5CQkl9R^o*dBlJ(rfDPgq6X zIf&H!)#{AkxmnW-sVaE77qkoO;S_7${)(2J$SsJwsj6PXYfm_Re)r3q*zqO*3({NXEbfxLcaQVdWj!>Y0GX)(hWYf%KZkJf>#czS zkn(5G2^jnUFhD7uF_D^qq$Vbugw1)sS`X_hzqE616cteZc8Z_=+iwV+{0Vp5BU+qH zC&%*Mf(d{S_p&b4B-At_v>aXCG4sd)@Cli{m+2!mAJOl=s`s-soe6eKos|&fxiy|Y zxceXSc4|2;^bJw;@|~KGh0oNfj6NMo+cBn>P`M+;-ThND-q}XozA9{Je%-G<*fM}Q zVOk2zsR_fW85-w~xN+CgwD^(>C7J)P7oa5PL-4xlRbmTf68x}l#-O3iD2cP3X=`C& zvHqrwCmsy9^(GVde#x$k2K-c@YG^&??Dq5Z{n8Q|GUNVFng_)2rl}0IOjJBtpz-)n zp>ZzBYJMu*e51}k?Q7UBji@!bW5uZt-W~(H3KugaLh~OG@HBKr%C(;*iv@-YtZTHi zd?Q^i32<$d4Y*2G9XMCBNN20EIvhn-LHJ3LPmmo79p^BOOV5!rL8$3kF$1Iw_S|pa zoAxJf9yaTdGP$*izm-gXlJCtt?vDqmvd~8QTfx_8ghSG)|TVcC07 z#RrkagLu*ZdLyP%JTt{yf5F(6u%jRbrLB|y7(tGgD=glbn*X<+tqa#kT)&jREaFir zXb+Ui8v*dI=MZA?_6)f9VC+T-S8ySI#&t>kF;2{U?O*j5q0mNKW~VH zhG4lQzVx85p}CiHMiIRE{KCa;ra{`*5Bb#?^k1<=AU{zcqN$W+It{lbK;HLn1JEtN zP6Hnh8+0QbUdIbiijmOdV+em4T9Nc(MpWh+JaqVLFixC}X`N!X-6`6j9U~7{v zPiV0yzw@*j?d`?fP;Hi8sow6w1is<+A0>pwOzhWcx%_Lx*PI-lkX-v*p`NIX^d8ix z#e4(V^uX)7{4=|pmir^+oT8*h0%nu#|I+SdG)6tW`ytGi+|uK&ig3m4fEt>{>mk|C z?Pjzd>-Hzl|M6B{eAYwdp}~sk4Mi1+<@5;XT#3!zlrzZ^#Q$SsVIn>Z3zX)#ZQyZ+ z2LMWq9-K@$(ok*TE?n&oAN33nY|;+E0lIUA_g?64AnZe?Xe$oD^38tu!E~OrW97yI z^(#wrTcs=aK7=Y;|1uR=?lbvqC!o;mW_+49jbB^)@aW{ul_ug_ey0FD+D0K>FxW_4wX)Dmq#!~uJiX!brA7)Id#L>Tl*Z-}= z`@HL>qWT+Qj#1KlZ0YVxKi}ul+?`N6<8o4{zBzD{76wQIz|wS~XJKhXB2!g$!?SON zZG$$1A&_Jk-k-IG2=mw3`}m#P=AzVWwJs3T9yzq3YtSU$3_U>%D;Ixt5R-Nx0gCng zU{8N7=5OSdg|^*W{nAa}>JEuf(mF&}jcSbMQ$f>~!p;RdGMo09u*6Xg*@B|vg+YQ& z`#xLb$^Pg6nqBt2?MAPX_FfuSTuxo#UESXjVWb=op8rbHfcZ()mxAp{jnx~86D)DQ zGLBY{mcG6as@(Rg3vwTWWhL9yEw6&%E0f7~3EhTPVQe#&QN(|vf*e*Kfj2VL^eoG7 zpK7xOAiqFdTk)Sc%k$&=fq@pJe!kcv=gz9pW03ffUrvRHBKrIL<>0$DU>;`g)0Ub& z@X9DMHiS)l<>GFV(d1;9X>--ReFvR z^Dx}nqht3W7fAZswVd(aJwUXd-~NWRx4QH{snEcMvC>6x>U)--&=TNA)(eG&ES?V> zaDKcgRTQBdE^TlH;T)O{I%)MIQ}g}>ft8gkwkC0;_-f8hf>r$aS%nBj2-SXd&GMTy z%6wxa^>p)bW}5LS=|5m*(jP^4go&Fked%YbR z5(~LOWEhCpYVmjiD&ocKkQTJ~j{k2o>k+eC7r5nn&PAdK&u5N+KkF3}I6M37J238o zc+kS&43qDI+O9-vv_O4Dehj?LTGj%)PC$#N=&OWYty2Kq^Z-S%m(zKiVyEjdt&u9z zKZ6s_@q=Ck8(OsciJrc6S-Rt7wc;z9T6wJnx4<>HE>fdG>f=IZ*v78FpH1kdza$)@ zR+<`f!hEeNqWf|7ZQoh&Ap~cAM<&j6_+G$Ex+g{f|4;_r>* zzn#}rgg~Ayk$`2Ify)b!I5euM_YcwZ`+R$8U5!!Wc?Y#+-jEK~-NouViQg>#+B!zd zm|npB*$Iffr|V#ZBggp!2fJd0tZe1dI3oH-4qnbcQT8_%jvs|U18%Lo&6?7WGcS!o z=ICzf`o9gq*Aon6tl3V2bpD&qytDa$(Q9-Tg-fPrZ+08_`Nv4fUL=*5=c{9Gh~0w3 zYbxWW9q1rK+nBlG1H}kn9i_*F%;v~rA3*xmUv8i)`mxzDdJQ}8U6b6C)dpaO{x z3+4GW+znJ-<=MM8hC-ENpYxQ^h9m=MHLNnv_6CLLd|7rtJ-CI(kAa7Qh7HQV(vz2sbPMRv7v-_2p1%0dJ z)mM?oG#@f`&$q`WVV3r(q)N4qQ{jT&I@u@k~SsERwRP`Q|=pxn6ld4&R9DJ_*%Qbw^h$F zVl7F6s2@jU1}_V0#JB2AE+yv2YvocVZqwdUSvJz2v-CfTSGE5z|LhUf;vKj4K-6*C zxq?vfakR-5q4_IA;aQ=!o0s`bZpk!rceY;}r{O=aEV6cHI0=4yo}wMd6?I@n%Q`{P z_mR#WJSE-Z>&IZtSAog1jSQ_^EjUn1TY;b3dww$yX-gy5;Tirj`qME;^~w>_iyq|# z*)3(?{x!CVsWzGP>~cvT3}fPE>5rtosemQZU#5+_lcTYPt*dYRy(gQQqW5Uj&+F2C z`x^$3kaQ)!ht2u!Ry>a?#)3f8=BNG|Mj<*Sg}bN+MRE-G4FAE_?@8j_`z(RzAcB9< zHhE7Z7qt|Z5cBb?`)uCI9*d`EmE|f(p{D8cFS32B1|Sh=bTADUI9AdimzXv{LJk?T zAdMkNcPp73{Y$3~pT?Qk82WoTYkOQOX(V=NuqqQq8}p_zY33n`v(=->V%GUmM4#IS zbPF+?hIK})?|N9^Dh;*dW3K5U-(OA=+dND!@*9_?RwKs|bT$7LPiJOQkujuEfTiu@ zgYQHI1^?F`#9t({(whZOxB=For96#k)D%|BWztywP*$jXXKqw@f%;yXkv(tX!#}Vc zLhx=u{=HgxUwNv!X49?jZZk9Wn-&Yn`%j39jS>RNN=i+KtfNMI2`5eEqL^x1E80sJ zsrW6==4gmV|J7JAM1wAM%s43Hlr;wnqrZ=eU!4K}LR5D)#L5>TtE@%%4vtw5C^S*$ z0JLhNv0QPCVf$$!q`|2USZnNcVsB9FGGChCrQtDj z_WZ!1HG_hC7fqvXTumBiWqTsruBLf-_xMQ$MJkjFh3s(U^ebGZ^*lBsCZ@1ht4e1pL$sAkj~5qwYn~S5`a&9;cbW;u?i__%NJ}t`^^5e^)D19PM1CGT z+tWN-LhNsdfwtdjXkS2)8uG!Wi)e@R*3?7R-@VS&xpJ^`cp=vZc$+{HQYAcoF=MAP zuz$ll5I4!=UZd5exsIIVxJJ+TM3_%|5#9m!Ru0@Ndg9jL13pAwO!zc858{ma&()UFVjj_uv&AsC z`0jxZMi=iF`Uge)H$GR3T1%ewKB?}X^zVCW@0XG=bUB;R?1FQvq~MRd*KNPKUk_ft zM&mK~;VL~XFB_Hkon+tqh5|`d+9xVA=1g+RG+-PLfhL zxLwB;(EI*DXd=Yl?-g7I%uRl2--O>m*w4bfNtR=N2&)D^W-V~WnluUgq_Gd>8`7RN1 zu$dP$lO_6uIC#VUOd$`Uy`IL}a5~F7POM%u+~Yu&*+;}E zrXkr>CA-)}VHaPY#>%CdMHg%q*^W{}`9IzUtyd1e7_4EjjLRVYik63F`)|u0#^B|& z$G?js((HOLM$TY54EvY~ujCv1rR#*~tu*fp5TBEvYZ`$w1sXZ#%Yo2pMX6=2haEoD zPToRG+k6a47qjKpQr=i?g5Fq5NH7Ou=9?5|EI~irTyv_@X}nL%&PVgO##r0h$QTBV z84p;o(M|Ji5t(<;j0%Fo;&?y9%7yu2AGo9*SRe%WkGaVo>nb{-hoRxP2EW*& zm7UEXgl&mmmPNhKMo~<@W^JR;@kf66gq(n-whsPExB<&x`aS{+LbU;f&c(lNY!7&sD_n~xcIt(K4Gjvp(JXa^m;ja{|vh$VNw_@GQ7B0g?B=0!~whU&>F%jgK0e%|qQ^A7P|= zQF`ntA|~T^*bHpMnf=#>{Lq2>X;iCp3J3FW&7!)ln3KG--_I4sjyUgu{h+9+GK?e3 zC^#9f0GzT^kv$^sGT?r}si;+I@}{WP3&?cNKhh52A{;mn*UaQLM}4pxJ^@@Uja5;< z?7h@|xtl~R@yu4(!HBuSjo_I= z(Ir7094qauNa_(mVO%4gg3I^0_K>TU@jyn>f+e{?mn1c)5ZeEpv|}@tAK}`7{pxW>N`R1cwK&R`&{A8lO3-l!%E0+uvYCCoy^viOM?O6JzQM}ox)|w81oCI)ZoicbiS8ffW5jcX?lEbZOK@WP}^ktp?PtY&fE5fc_D~TA( ze;gDFfNlzxOU7Do<0aa|dY|i~E&VJ-xYlapki3`7wD7I63VeyUKD}Jt?y;hVeh73I zjt~iWZ~5%kbltqWq{L5aC%LRUVo>$UV42-5X3>&93$rFWJLT7D$xIBQHg~}HhHkgmSNqLWDp#)!xldSHY z0`1JI-?jL_3%du2xAXrVEwvPiCVQ8S*U}ySEhOaLd)-)nUN#Imbiuf!{^kwZfr{O< z@7H*!PAx67!h#dE>JXy!vp0pZ6K~5l*pK4qBxOzV+s}^q=(lnoUHEkJ4I^A6`8}Ec(Ac zjAECX8gFrsHl$v$vSyi(GbRCUU_;<`+R%1K6#Irro}G~eY*>K2UP_Bs=?A;9r9)x= zqt+GQLea8YJ>c&)Wgot4jIfy0pNqVERCm{zrO{4hdgHa)EycNLwW(PcwV7(5OKxs; zztlinAF=Ye6qtX;@Y8Uh5pV=$t~(fSDE4cW#U7o+-d(gw?1;*G zMBLD1%Z=E%mlxZygV~3AmZ4LYTX)wKq^?KyTc$QfJwom9@mXHmQfkz6N|Y`5o7TfwEF)}oKb_>?6X&eY|EK7x$t z<+@|v23}3a+=k8VxV4gcxNr`T^Zof7ZquDRnUTL$P4BfdUZ;;sPw17Lm%yDq#Ca@t zHNIR*F{RU&TigCVl{kmnHzpzi;Qf5~@V`Ma{uK`so8tS1`Ang^&xO3%jd05~2!7qd zrCG~GqI{oYnsGI$j}uLo<9WIFkEeYY_lBK`5L0DaVSRm-cx6Fh*y!x+=(PvJKV0%T zUqdk9x*3x>fm^&*lV2tFv2A+3b@{5(onY30k|6ljiCnq0PFZ5)GV3Gpgkr81`p%Cp zk7%lhV?RGKYEi9qun=mQ1kU8m+I+gpHFe)f>eyMM;=fw*LWQv%zjR%1MRKdI5pI93 zHP4M(QfN55*&es7$UR*zyLCTyscc#!7w)YP>@!^$(6foOisd)+nB9XJ4twqYYopAJ z7|51t;nj3bY((Kb108Q!&KyloB>yy5_~nvN#pWxUJQr&pTH-xq^vAtqZ1s)kGiFa` zZy^#v9cSU)vb`q;x_j0wJWC%x~t;-Vo-p5(>4 zxfC+)DAa6L9mHEB%H{2Tr_?jXpq5;$A#M=A!7S8RszLn~p%7a*{()cQww^x@{!M!< z8Q&MB+l}2^usj@(mk?(tmrq?bXJMVaDJ@U&te=JXVoAy0wOnBV2Z)6ka^>Xo=`Y3C z|2Wb|B_}NtMvH4b1C5Pgbc$rhLdJ++xz4x;a6+i^?8e?pp&9agWtrvn4{hlsr^3o z0rW00;3(%@;N`dJnm;boyC@9|pUNruS8ec8MOBn?1wA-jO|4kwC27e>D?n|(^?QFD zSvJfwm++~1I~6r38oAn#ruS5RCrgO@m&NQv0;3?JXyxduO9-p2>wYq%Uw?c*Hns)# zcxN_@;HUnn^cU@oUT498x@$pg#h6kdkyvFOfvO?(%chX>?R3f|0l(kogAG zMX8Nfu**M6ldPX~TqqDUe|bs$9A{IMlls9xd#F?X@O!=u*Rg(e-*GA>jOmoq{b3z` z&}>p2WqDK4;AIKZYsd-6QAY}CY6yv32`pP)7>56HiJ5rw4xPR6K3~)=Vd`sQa4%Q0 z3t@@b#r2|@RI(L+)@xI3?R~WO^isb%iN5}{XyYGdw2ME?BGE<7EHby$(RuW7s@VpG zVm29fh*)?|b?nkryD)_q&5&MNO z)LGqJMV^n<$z1S$ha+u_PCq1{aS^LDt3A1^$W$a5NxjTACo;0OkXbUJKT;6HwE&BH z;lgZPKDE{`8z2!{6CdMp#VcD^DtuLLHtyOK_M3}~rqv6FH=gZHdtso&S5+z%^87T8 z19f9i%el*~JqyVyk5V#!g( zLLs}Rm3b1~C5|!nqQ(;41t|G${h{)K;ZJf{0I)9>ElW{9FJ!k>STMV+drYs#oEE6*mJ`x(RK6-&b#_ep^;o|cCBHSQbaB#Z5aoKNH1fS;Jk?y%aqsK{`=rpT$SI4QcnzM4lW?^WJ^08f0`K6YOZy?30|m{?Tn@br7{c}-8V(Nhyy1zgfx?Oe2P zos`o`&0>Oa!}u`w;YJ7lv+nMB%!|YrNsNZ$PTf*_s{^O^j)kGCU3#$;^63;;Y<7)p zRG7lINt9w`5{{K&O0iykrg3@DXKJIrB-vGd9in-^#E?|dGAvyuX_jm}tDmtW{EREZ zk}cVl*ri9u`F7|1^B^Tc`|HuP%bR@XAsggIUJo@$z{^1(0cYS4PQe6v(T*)%UnX#{ zT7!lX25xE^qFdaiROCsFoG3IIxc0d43({@NNpuB9KC#hAwg1n*EvOod-gGjp9KPSy-i z=}TmEt}Y8fGp&*nB_pdnixW59^qWxMUf!DJ9k~))cubiXx`IemKj%Gkq`peF=4BP* znt#29zR-PbA_tcrFUBpAFeaOi&#rtohr=}@-V~H>pWa(J+88opoL_w_B=f5XlSce=xew(8}a*C>F{lTwlx1l^XGE749BJuzoDK2K5unRywSpU^Rd`V z(~^HX1)H)g_hqf(@O^dju$7rkwYgW!gQDEYV|w4mfAvcmu{WR_cy{++I;b;uOiHNt z*U4q6riYmE95Y%+Wey+YJ}7Z+tN!G5GKN<#A{=dg=bvL0Nu1rKI7Imga ztj^R)%4?Hu)=DA>*VKEabjpj4z-_$jT5aN~>{*WVc8DtXt8?mb);2cP=XN2U_#T;W zH=1r2TwnD*yDzJGUo{xI?3BSAh%X?=ZJLCLJ!#&!+esA82 z;i78=mLU6`nAo?yzL8hKl^e2EcRC6i%l4j}k`XLs7~5@)1|^=)^OTvaUT1q%w+g%&y1 z<8Y{tOngi#UM`&G%AnaFcH!7*H!o=V_1fZAkK#1%um0lpQa zU_Jxg98xDN+dltPopRA)wKOX!nMz6h&t|9$%U@)pTy|yk4&Qkc>aXOEm6`F1MYgxp zlbsFvnqgniHy*A@7$7`!zlo5XsE1Zn$Rg7cz#A_>sR^Q$o6}7JOa?qBj>zICsNikg+Z5ggriuO1l zzWkc*5Isu0kYFXYQ)KCt@G{uybgu7Zv$}VU*PSoizlKdS^k*#Pa6?ZLTL0SpNZy}Z zcnRJsOHMv+W{we4%W~bPv6s_3N*ufheMO(l5`ZQq22BuE1O&U>9IVxaS>K#M=XlMX z+1i{wh zf8Y5Ug!)%kSLYU9B%}G9Jf+66%7U`66gA!no63&Xr3uGcrgEum7nsDwOiCjk zvF+PCB_o3B?;YA#D*I3LIX4RWpX1#pzAWAk@S4*IqO@7_=Un}vydl=9-?~%g^JZl% zaP!*_VP{SP?5Er_Yb=kYzXcG8#9Yve1GUArA`vkxWINdNnk_Z4%zUeL)UPYr*OJv$ zDSXlTRq@u=CU<5ZmRu~$S$hATT1P-pf<>cuIEg-BdxPxfU$bI{&tgV(6=VTuJ7Y0F zZNYyvIsAh@8jQhx4mP#%+`$SO{lT#N3KtNU(b_3ktq2&t~gEag2d=a;`eKUORK9x zM9Ua7&bxPR1rhDVFbacv;P##EJ_usX&W27U;8>< zjePFD7=L?cGzDAkp18N1HVoH=^Nxpa{81?g5w#MFSk|saX2I@Jja$yZBM=ZP{Kde} z5fM8unI(sO%fkbit-}g^L{B^;r{;y4Q#@mzLcfm#LPq5gK}HqN*>OwiW_I0}tR6Jj zGA@4`fh#!&z4(8vVIT@-d)oQ*VLq*xb!fG2FekY?ALE5_$=c(oh2*(%$Lg4Uh=W<0 zd2;=V_mp|{6m)8{@7iFk1`Lws-G!Df@-k|fT;S78wg~1*BkwM5`cxkzV#+(}_vJoO zf_697P}uZ#{G^hb#OFw}RC@|GKbcu#U*!f@gyRM=sG7`+P+wW&&t=u|vUbn!iT9v< z;dh}Nb5k|QtdeHX4Ly73XI4y_%yZetFf&VQVq@8ei~g}dOhpyi*?OfVi=d<4U(8-u zc(gC)FXLS_RwXs_DyuJwL+S8aEZ9r|%lqmNrM40gwF8wCNE-1mDzNshLRB7n28 z5G_!A{xFk~tcZj~seunQ(y~(?Wb#~amJ(}v@GDkGr#7B_ z-+~)Mr>=kK{ieSyh}V0(K3M!jEb_fs9knqqaLt;snzfc*-MZ^JlS7WmGklg}~GcFrDPX1M40 zm1AC2D1fK$MHBBduFsSUShWpC_XTMg91lNvf1kdcWme@=EB=BCFViPDI)%Hnr#~%+ zg0l4(B+MU_>PHLIL|v{|p`6n7km!-t)erDy_1NV0P3!k=7&Y9POX*T_y>)S>H3?uL zB{9b&sw%xi{h7SjTRW#>+4t55sBGR8V@R{tC!`KC@kIF_?R~Z~*2np0%bb3Uo}^Ei zKn=C&WE+ANH_mudYlk`0kG<)|g5Sr#m{<1A&ut+mCN5hinbv0mtb@QU9ks>gR@fks zleHmrZ38;2+7UQo6V1!0J>R6pJ8;}exw<*8*jEn zD_`4%!nJ2_N?3eE^W@iaIhXt()60z$6Y!V6Y};`Ji;~1$;zoBSwjSB$8z1h9Ypc2M zlJTI`4*Js}UNbXkw&-2zFHjwtPP%wf$jthFH8aG=EBG_@mo%$uSEccfV{P@wq;FxE zSYK2nP$S-cFG#~@;e#smn1Lm?B2RGiGVxeVe&$|7FiL&sLiC*^AS3MgtLZ;Q6tv;K zM~)$#A+GlOxr>=+w%X$E(tAr>9gLp`_68|-!F0I41jAw;x-pRLV^*n9JjKO7XZ=G% z@cEV&6#iO(QopIeM5e$0mdP_tFHR78(0A(>VwLN`cQ1nw@2jlvXy|0-ABL?ReFyJb zJ<@$}}Ivj7+uC(q69>37vnp7T*G(J{rch#GU-(`X+9 z)b0gYcNGG6P6zFAwaAAzCp%?T251c-Gq|rGKSe=es zc)rIH_vQ-O+5Aci{h&8^;Jk2AT1T__dXheJzGRWTw7)Ec&xn5YD-v5`hUDzJzz*tl zbCgF3TyjkNVD@-smsFs?SY$gd_*f*`QI$#Qx;eDm(vef{1nYyS%-IL0uROUZ{!~D& zC`O01=- z#g|*dL+k-mKKIeKK26V(n8WU^<)MVLB?(rICCAKCZ-eBy4F(NMt2@C}Q$hg3zTY;-rEDYNrW6v+fQ_;HbBGc3gQR4zA5#{q!r|*p29!;C%HD@9m=Rp}b-pygnxEV1{M2i!kUA6c{SOKJXCZ(=bNAurp(SqS zvG(|`xU zdv}o_XU#TGE7SD_c=gs&i;7=cW9zB41#4az-;G}M%H_KP!HZGXHY5`5n9kmPu7z>3 z`lAP#fp@OCzAZeOGyXQrkflx+9!~Nsx?b`{?At^(s~0V47l+6vunD|fE(ki+}8gUe&c`mIGFob&vy}zK|1h8 znN{ODJJ~yE@(bjAkofXGOd2v?GBPy+*1t*~dMu6Gy@((`oD8JgGHIulAaZmQ_8de)vJ1#HVK%PatlP){nh zFMrdF^0qSpRZZ0Ef%HMPCfpmQ=i=BQ?ZG`+p`2un*IPQz;`uO*e~p{IU8(*1U`5;9 z($eRWm?Ir$g#eySse<;-t0J3s^bo^(EGV1V^#W%f7O$RoN^ZIG6#-)uS!kxq^U$@x z4dOOExM1k$I3GPWdw8Gsr=9^$=!scrNlc-9#9X@10i%h@MK@@o&4-l^^|#TVdLMtS zERT25AGYOc_FH^y0k$Sx-(BIoy1Ys7g@oxGpPBt^)~UP@?>JH08;hP#3{l7(QWZ;j@ggv3V!Y`I3*Ha=6w;Uk~no|5Q*{&ZzrYW zCy`qn<0Wo~oVLD-ZhGF#Xzi}w(zT``?9Tig?(Sy7tLPJ>a&3eRH9aqW8SP4nM%Y3J z3eiU%?_c{c%^ov*4Dl{dpZ8!0zcqfBYxZ4dFjM9FP+`Anuy`w1fgc0sin@ukmhYz z@h>rsSr>ag)*jAOzkF1%_uQ|S%hBvo!NE|sOM7Hrz7$sQSN!a$V0fkDx>tEBma&@s64ZYl0z@Z*fE6P0DP16YH)dE21-Sy!ChLxZaNik7Gl|5V7YN9uhH5rAo_ zWzB3ZK3HZ)DJNanN4oO4TMNRll38#vwJxME-Kv#znfnVex#-nefH#sy9GOhjv?Ibx z&8TWWgPxP*SpS>3oPOo9aMO3f_dW8`{kVjUB?=_xAa;<~E>YLZj3ZN$ z@xSHUduE$LtE=L80Fa-;msNe9Q50WC4oQ9204fpb@}d+q+((B?c`=;nD@_-}I0p#{ z^c21*X8v26Wb$~$_k)7;$5w`Mi#_wiu9G&Tk_48+I*UM}ij=Q^AWOihfCh5>nNaJ% zh5X9UivkFx@Blb3%+#6VgRzjex3|L^Gstni+8908XsM^n*n{DAn{6a|L67Ebp}FC# zraEzCVIjHqrxKFGz+T{teMmwLe6C(KP!ZnjJbFS9j30;c!b)dFb|1-R3;O=PV3E}= zv*SNw4SUR1!Mx=3-ci)ns;>)v95lPb`VFxDES_;hg{7e}xB2xMD!MS+!2~MUI;PuM z6CvJVBfL3g+*AhjEjs<|UiX8L;``ky2VRZ;3X*j*lfz1tm1TrnGTzr?+3#7hFI3IA}mU*hRt;>P^>ADvBZTi+M_i^KBrA=>E z;DN%*%bfWo)S(n=s;c^8)Gggoo+TF@IC^&jppTL<1RSsTHUP^aP+dWGp1GEsOdy%^ z*(SfWI*gV^I|bmPG$gLwbGQC9-HrljPyacRSTwo_f;ZzY$ zuQU+R;hCflmSfT(?Q(9Qib;F(y}!wSpztM#N?+O)j4RJbxJZ7suQ5`SjtEXII(g&| z(&=emzd&;sXveqgdFlcF5g{yRz^t;`rT+9u$;IsZMe$5iX#u;b;&)5!B$N!kdM?hZ zYP_h{x-9v~j^^mfd$5qhQ>F&N>m$nI^&Gv~*9Ld^-22j9Rk&=F{h({_=#B_7-q<7= z7kL*9->DD234>J~MH@IPx;9md`trE5u8!%DNX}-OecjlNAbVM@WeWCg-tL4f(=-^| zO%pBIq(yt$<@VKuGWVUA-9Brb#lRC#??Ztob?#;j=3u;MF;UIyF7P}b>=v}?srMfC zD&lgzC_~(xK2VHng=5vh-Ry;iuJm_SsS?{TL}6{o;;j8E5v8>!)NG=!;hsoIN&5ewSup?J=A~&f2cyO65GS(r+T!dn@YUlBvYKwY31DU5BR?jtlr=FRaF~yIL zj@I7LfhPKIf{+=3HPHA1>{B8hJlc!|G;~RUB;+)}Y%o3I$@hTj(-G7`_DjlI3qQ)G zbGpqrmp*0nw2 zAC~0-uR-s-=1E!wvYMC1mtvYh`T#Oe8!8aLKFHZSpH${QepQs2iL>wa-%*4@}zQjDj+{iA&aSRYC1n#5xA@7n~kqMtvF6axo-1$bR#9*o(-R4K`qfmLOnCGSK>#pBUW|Y^|&MUyhHcy2LBL zPMEGH<#-OHbG)D1#|JtH2L{gcp< z402Ln?t(o+%mn3wWJXa8+xyCZuw>W{cS#ZsLxVV3SH{kHSYd1R!#Zz2v@Cnrn&Ip1 zmJi|tF(@fL476`Mm2%}^Zjztq!El_+%oV1VQ?4YA8VLr@RNz;HyKn04M`B2shQtTDjFFu4d3+9G2)Kz9>*v*Ir1 zi{&5XyDccK?9hF#w&C=yZSA96)NX<{YH$PParX?bDM&eB?$_w6;32j1GKK+sl;xOS zJ`=L}+>}d@Q5>trtpE}5AX_jq^P2ZifG9y&HEO9J{s)r<_TP+0tecGHG<|?|R3gkh z4N2RAm(aG84Z4goZ+<@jPvx$CQus7t58&V-s_nTHq-L-_7oFdp3L>1o83}XU`)ED2 z%&DN)t>It-e_zSvxxug}V=1L!O*tdcoS*iwR`vEfE8^{qoZqsUr56z!_WG@fL2%hP z^DSqMWM<#;8Xdwxyphm~TX{;5>kdRHdWS&&azd*AVW<8GB=f>KiFC9Xt#_b^UsSQ` z1X7A5rigb&k6l>heh5jWL5|vFW`h3cXIyzdhP8gXZ<8*TnDEu6y%fudIF0Do%cwc* zVIE_si+%wQ{4(IKhrSvB?Q-8whx+|3@GzN^o?| z|G&!6)r7IAq)M)eT8!v5LN%C3jULPC*f!9=%bh*R$@yEy>-20;&TN4unOG(%MYVA+ zt}=9|3o9U%i$dbdWF*cd9O9s?hDelZVu%FeQKhT+CK(#|_q{{#;cbi;!XfF+IxaSf zZNjIjmb4LX9|K+GLk2{+@-)OknNQScgC2qDvYnlW2AqEU$MJrlE*i_$bu1E&VP6O# z*o0$CAoWn_^Q8j5n_O+A@v`?M4$dHn@cB04-~zI2aCRfpD|^^*^*^2Ql*Dvp*cmkiIXF+ea>3V(ao7 zR7=kZRGA{94cWYq0;CA9`c=VyW@uYek`TfMES2`zHLKeFDp6dMLxM#&ThXrfTXoqn@UQ@~bTxS}Zr;Irf))j}N^e z^e=COFLH=nENGLanc~haB0{-DM`a4;X&W{Y@Dw<=QzVU;i(u#RJ>+jiF?ZxI!}+_7 z6)%`X)J!Ubu$V?nm^COPHKO&@(q+5bOWPW2gjcaOLghN-`=oV#eh9t^(Q&%J%uxA( z=&8;jW&ntWs>Onn!%fy6^pTFTu=qNmgC-a@I3&L1|MzNe1g=hVgr>1}Y^Xkt99Z}$ z)^vk7?-on>)NStxs6e)brjwYFCMNmW5|widKRFBNF7K->Q<51JEWbk?%SL0h&jk8H zO6-twO1vLCkx;wsJy2>1VW@c!Yr;U1rjW663(uSN-3J0JHtlb5yoHU-oTh149uQdHZfOkariyYFTibP4+9X#@tNm03#L=?~Y>&N>qdQ`>@22{Hm(>p?xqj62 zmV9rv5%jU-Hh6FudsEsaYfEU<(wCNza639#1ss^%C$LE}bWHenno$SZrBRDD!%oLO zZ26Gp`OP@aXkeL8-wFtGJhC_&Ej6$g{X3Kf_J_sCDl}^C27tcemR*=B_SKe(_}1CB z5rbxX-wXe0vv_Noh9&kVgA@`tkTW}@H?78g3B--klz5&-uYsglo=JibWKIx*Jdx%w z9ua=$zq{KeZX_U?1YrXb-W4zyGo3U~0=oinXE8v7MCK~9JR$T2nRsb=yWjj9MIQEw zX2`mZa{TANnYnc-OM_|CYQ{(h5xxw8ti#1%Ez|=<=7KmaY4Jh7sylFCAwugHpAgFo z7y*D!X^Ec=)gwf1!m?PV()7U0R@rw9tt=tT>=M{9iiILZgJyc6Q1}K=Hn^-NQnXML zu0gZWz=f&t%{n^saZ`e_1OeZjK3-M^S9q4eRb*PvM+@L<)$;6FVuETNr%f?vREioR z+nrc4iNgtsvt^D;Knd#bkoRAZKXk0C#e#_90lHe^)g_*oF+I=a7KW>w z4)l;yu+M~jseu5jPQ+|n53qiD@kuz}+=#grudEx{8B2>QF!M2Y%IKOd;r2-)oL z8kV3f^xyr>N{xE={gf5`1Pd4uHP+HUwpN?PxxJ!-5x48Y0B`)R6>AkLwyPytYp_M! zj+KcN4D3vIsC30>6P;Mmwz?mEZC@#~D;t)VxqPTxl@^XO(iVEHs|5Z1ZeN}gu}Utn zap)qYa`{hisJ6H+);A8p&hngM!lQ1utSzab(8ggT7Aa^ zLQwY+E#jltEfx)!WzRvFoT*u^CTO>Q(6Isjb3H-P%HuyGsKGXf(X-7qxMxt#(gkn)IA)voOTf;2CH-m3O0!pvTO0rCqm|_UGjmbHt9bv%rn`D?S1xxx?Q)8A(*MqX E0T1&c7ytkO literal 0 HcmV?d00001 From c19e171cc9a3b4c1c4a1680d11d11ecf45bbd9a1 Mon Sep 17 00:00:00 2001 From: myron Date: Tue, 9 Jan 2024 01:05:51 -0800 Subject: [PATCH 03/13] 3 Signed-off-by: myron --- auto3dseg/tasks/kits23/README.md | 6 +----- auto3dseg/tasks/kits23/input.yaml | 7 +++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/auto3dseg/tasks/kits23/README.md b/auto3dseg/tasks/kits23/README.md index 557392cf4d..5e9847a9da 100644 --- a/auto3dseg/tasks/kits23/README.md +++ b/auto3dseg/tasks/kits23/README.md @@ -1,9 +1,6 @@ # KiTS23 -TODO - - The KiTS dataset is from MICCAI 2023 challenge **[The 2023 Kidney and Kidney Tumor Segmentation Challenge (KiTS23)](https://kits-challenge.org/kits23/)**. The solution described here won the 1st place in the KiTS challenge [(NVAUTO team)](https://kits-challenge.org/kits23/#kits23-official-results): Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Automated 3D Segmentation of Kidneys and Tumors in MICCAI KiTS 2023 Challenge". In MICCAI (2023). [arXiv](https://arxiv.org/abs/2310.04110) @@ -25,10 +22,9 @@ The KiTS tutorial is only supported for **SegResNet** algo, Auto3DSeg runs a ful The Auto3DSeg can be run using a config **input.yaml** ```bash -python -m monai.apps.auto3dseg AutoRunner run --input='./input.yaml' --algos='segresnet' +python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segresnet ``` - ## Validation performance: NVIDIA DGX-1 (8x V100 32G) The validation results can be obtained by running the training script with MONAI 1.3.0 on NVIDIA DGX-1 with (8x V100 32GB) GPUs. The results below are in terms of average dice. diff --git a/auto3dseg/tasks/kits23/input.yaml b/auto3dseg/tasks/kits23/input.yaml index a774d38d47..6f30fe17f7 100644 --- a/auto3dseg/tasks/kits23/input.yaml +++ b/auto3dseg/tasks/kits23/input.yaml @@ -16,13 +16,12 @@ sigmoid: true # the config below is optional, but it explicitly sets params as it was used during KiTS23 challenge # otherwise, the defaults are (auto_scale_allowed is True) and the system will attempt to guess these settings according to the available GPU (e.g. make batch size larger) auto_scale_allowed: false -batch_size: 1 roi_size: [256, 256, 256] num_epochs: 600 -resample: true -resample_resolution: [0.78125, 0.78125, 0.78125] loss: {_target_: DiceLoss} - +# batch_size: 1 +# resample: true +# resample_resolution: [0.78125, 0.78125, 0.78125] # this is auto determined, uncomment to set another value manually From 5c426ae552d11c7394daaa140eb218376e29a317 Mon Sep 17 00:00:00 2001 From: myron Date: Mon, 15 Jan 2024 23:26:55 -0800 Subject: [PATCH 04/13] sm2 Signed-off-by: myron --- auto3dseg/tasks/kits23/input.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/auto3dseg/tasks/kits23/input.yaml b/auto3dseg/tasks/kits23/input.yaml index 6f30fe17f7..2016225142 100644 --- a/auto3dseg/tasks/kits23/input.yaml +++ b/auto3dseg/tasks/kits23/input.yaml @@ -1,4 +1,4 @@ -# KiTS23 Auto3dseg minimal user input +# KiTS23 Auto3DSeg user input modality: CT # primary modality dataroot: /data/kits23 # dataset location @@ -8,20 +8,20 @@ class_names: # names for tensorboard, and label index gro - { name: mass, index: [2,3] } - { name: tumor, index: [2] } +# OPTIONAL # use final sigmoid activation (instead of the default softmax), since KiTS regions are overlapping (multi-label segmentation) # this is optional to set, the system auto-detects overlapping labels automatically. sigmoid: true - # the config below is optional, but it explicitly sets params as it was used during KiTS23 challenge -# otherwise, the defaults are (auto_scale_allowed is True) and the system will attempt to guess these settings according to the available GPU (e.g. make batch size larger) +# otherwise, the defaults are used, auto_scale_allowed is True and the system will attempt to guess these settings according to the available GPU (e.g. make batch size larger) auto_scale_allowed: false -roi_size: [256, 256, 256] num_epochs: 600 -loss: {_target_: DiceLoss} +resample: true +resample_resolution: [0.78125, 0.78125, 0.78125] +# roi_size: [256, 256, 256] +# roi_size: [336, 336, 336] +# loss: {_target_: DiceLoss} # batch_size: 1 -# resample: true -# resample_resolution: [0.78125, 0.78125, 0.78125] # this is auto determined, uncomment to set another value manually - - +# augment_mode: ct_ax_1 From d9953dac129eb80b20576400579862e0fd095652 Mon Sep 17 00:00:00 2001 From: myron Date: Tue, 16 Jan 2024 01:10:35 -0800 Subject: [PATCH 05/13] br Signed-off-by: myron --- auto3dseg/tasks/brats23/README.md | 50 + auto3dseg/tasks/brats23/brats23_gli_0.png | Bin 0 -> 39444 bytes .../tasks/brats23/brats23_gli_folds.json | 14268 ++++++++++++++++ auto3dseg/tasks/brats23/input.yaml | 12 + 4 files changed, 14330 insertions(+) create mode 100644 auto3dseg/tasks/brats23/README.md create mode 100644 auto3dseg/tasks/brats23/brats23_gli_0.png create mode 100644 auto3dseg/tasks/brats23/brats23_gli_folds.json create mode 100644 auto3dseg/tasks/brats23/input.yaml diff --git a/auto3dseg/tasks/brats23/README.md b/auto3dseg/tasks/brats23/README.md new file mode 100644 index 0000000000..3c7a3ed0c3 --- /dev/null +++ b/auto3dseg/tasks/brats23/README.md @@ -0,0 +1,50 @@ + +# BRATS23 + +The BRATS23 dataset is from MICCAI 2023 challenge **[The International Brain Tumor Segmentation 2023 (BraTS23)](https://www.synapse.org/brats)**, which includes several 5 tumor segmentation sub-challenges: Adult Glioma, Metastases, Meningioma, Pediatric, Sub-saharan african. Each sub-challenge includes its own large datasets, with each case consisting of 4 brain MRIs (T1, T1c, T2, FLAIR). The solution described here won the 1st place in the Metastasis, Meningioma and Sub-saharan african tumor segmentation challenges, and got 2nd place in the remaining Glioma (adult) and Pediatric glioma challenges. + +Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Auto3DSeg for Brain Turmor Segmentation from 3D MRI in BraTS 2023 Challenge". In MICCAI (2023). [arXiv](https://arxiv.org/) + +![brats23_example](./brats23_gli_0.png) + +## Task overview + +The task is to segment 3 brain tumor substructures: whole tumor (WT) - all labeled areas, tumor core (TC) - red and blue labels in the example, enhancing tumor (ET) - blue label. Please see the challenge description for the anatomical characteristics of each tumor sub-region [2]. Each case includes 4 MRI modalities spatially aligned and resampled to 1x1x1mm resolution by the organizers. + + +## Auto3DSeg + +The BRATS tutorial is only supported for **SegResNet** algo, Auto3DSeg runs a full workflow including data analysis, and multi-fold training. Please download the dataset into /data/brats23 folder first. + + +### Running based on the input config + +The Auto3DSeg can be run using a config **input.yaml** + +```bash +python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segresnet +``` + +## Validation performance: NVIDIA DGX-1 (8x V100 16G) + +The validation results can be obtained by running the training script with MONAI 1.3.0 on NVIDIA DGX-1 with (8x V100 32GB) GPUs. The results below are in terms of average dice. + + +| | Fold 0 | Fold 1 | Fold 2 | Fold 3 | Fold 4 | Avg | +|:------:|:------:|:------:|:------:|:------:|:------:|:---:| +| SegResNet | 0.8997 | 0.8739 | 0.8923 |0.8911 | 0.8892 |0.88924 | + + +## Data + +The BRATS23 challenge dataset [2,3] can be downloaded from [here](https://www.synapse.org/brats). Each user is responsible for checking the content of the datasets and the applicable licenses and determining if suitable for the intended use. The license for the KiTS23 dataset is different than the MONAI license. + + +## References +[1] Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Auto3DSeg for Brain Turmor Segmentation from 3D MRI in BraTS 2023 Challenge". In MICCAI (2023). https://arxiv.org/ + + +[2] Baid, U., Ghodasara, S., Bilello, M., Mohan, S., Calabrese, E., Colak, E., Farahani, K., Kalpathy-Cramer, J., Kitamura, F.C., Pati, S., Prevedello, L.M., Rudie, J.D., Sako, C., Shinohara, R.T., Bergquist, T., Chai, R., Eddy, J., Elliott, J., Reade, W., Schaffter, T., Yu, T., Zheng, J., Annotators, B., Davatzikos, C., Mongan, J., +Hess, C., Cha, S., Villanueva-Meyer, J.E., Freymann, J.B., Kirby, J.S., Wiestler, B., Crivellaro, P., Colen, R.R., Kotrotsou, A., Marcus, D.S., Milchenko, M., Naz-eri, A., Fathallah-Shaykh, H.M., Wiest, R., Jakab, A., Weber, M., Mahajan, A., Menze, B.H., Flanders, A.E., Bakas, S.: The RSNA-ASNR-MICCAI brats 2021 benchmark on brain tumor segmentation and radiogenomic classification. CoRR abs/2107.02314 (2021), https://arxiv.org/abs/2107.02314 + + diff --git a/auto3dseg/tasks/brats23/brats23_gli_0.png b/auto3dseg/tasks/brats23/brats23_gli_0.png new file mode 100644 index 0000000000000000000000000000000000000000..3b3494518be3bac13ae376142f1725b5fdbe45fb GIT binary patch literal 39444 zcmeEu`8(A8+kVkbn~IdB&`n_!6=N)|#*&d3`=D$|$jmT}v9#T#Xk>5fWy{#In;A=K z8O9c3?4uZiVMZnfWBI=IdAh&%^L+aUzQ^&*aX2{Mhacv(T-SA8=XqZ5r&nRnojVTg z*sx*4P9wuh*EVbr>H~frZQBAo0pCg~1AcA4V`z)ouwmE7^`DJ#%DWD4*l=Wn(WUd2 zcax`Ta5IG-whY`}u_K!ruDda-OD>3A5IQ;%w(Vg$e(M&`@{9wAV+$+|CS+dtJnPcs zSlx=W|5`j*ae4n<5efljf1=boWtXa`vBIIu?Jr*Bzu;Xj$j?`azW0K+D$f?^r1ANV z7)O{{N&QmLsx5z@jW^I192m+bu$LU^E1AT=s!QviQ8w**BxdWcziapYxM;urm+Qvm zFXDTFkL?EivdimF#NX}qUVjj^dFFrr<$w3(e=o!The5I{v>I|mPR{9Y-Evc%PFxX% zL(UEA_pXG)yEM`kn{zqG&9F4fT3#z8k2r~K!wp$t`aE+?nI>vA=o4$J+_hDDF;!0P z$rii+nG^0_gX=Ee#ay^_sa7Y1T^Ztag3G9@BN90jZf!27XlAicgLVkLQ1XMnPfB2tkW) z2DQRShB8}gj)=@LuGa2e%0F*j`~H}{INr^@GMmXz1+uG>*e|1B#_tlfRj-sf{K z!RekPrsoqZ{`|w+%5Bp_H8`S+v&<Z3peJvbwOSXHDd%%2JhmcK2<^aFink-Ash& z)lps}$u!*G!^n)oEuizHgf9Y1s0~ON5!5gQHMv2ZrkbWqr==_>yTjpO4PrOj|3@J{ zHxU*l^>eu?bWtq_iQi^c%O=9Nf7q^=d=;K2_E<{R@l4YxrBlxLZn!Fll3g}9OMHbs z6=ut)IKPz>UWnFM+LyNQ(USVEdDCt6cQ01(QV-Q7@DTL_v{OnMjsALVq|D}HZnX0+ zJGI|u=)|Y+I*hD(LdKr+sD4np`T(t>sOGEL8i8wV%gt?;U6T%V++eOfJ1wk%{!ILT z0)$vR5Fw3ftKZdNOxd*`vT3x?d5=&l;A?J;KQ6pI*5Z=S7iL&tq6YeE{5zbyNBX4) zeD$?}(OvRj1NGRMC15{ukfXa4(}HF#6I=#+#Y>-|7we$v2@!u240^<=2O75t%p|Xj zEqt{A!ib#wJ=qHnv2`#&Vd)4=!A}x#vfJJ_g%-8-vYjQo+`GRbx7lS}UhSLBYNP(5 zq8E2*&S`BNjni;p>*H5&P;nEGfod);7&DM5pkS(kjnwLVOuR>-C}xed=JrB zo2!9hgceDUu}>sqso_mhZAr=qAuSBlC?%$QQhiNu9PyU;FU)zcFYo=wNTA# z_3D3qAexkheH7T2-c!h$rm*7jf)`VA_D>xih>2Fj z)n1!F*JwQUY{lhql%Yn?Us;lbi^jf6-mfB#&5G-_1yJPsY&o+rsGTKSl@z~Kqg}pL zX^7LDw;ek(LFWuoa>%=b$1hqeK0fU8h6wlEUK;J{xE`i|mHnz$ub{Bf4nc}UVVvAE+|lk>ZLi2`0(p$ERIupSIkS2};s?qvE;Ct=wc9n6|`J3thD2t1@O)Efy#9iVBHv+lxpY>jLtE ze1h{42Z_^A@D|~p z^hCXXAv!!F<0l&yRmgIBLaBJcxXBzi^3N zR2OnWG4hPt)>xCPt?zVb_mNK6u0Hp4$XH z2s6P{Xu|nNZEurVJ&N;nP5JeD{?I0r>PvHv{t9mZBNZ@~3M`~ifuYMIvPHx$M(1S- zgryvE{MF_EY94{hWC+ykA|esqbn>C33xT;k0<2qfYga6L*3`PdZVRPTl%ms9Hqc=l zIN(QxcM;>_nLqz-i>Xc!hs|d}z$H!3O`DVp`h$Fj&NrzT*#}vBe3G6!#xriZEg=dn zxw&=A&RMM8BNu-Ud(o09SjZ?@v5wzxV-TypP*`Ttq|s!H(fg46U4efGB&m?N(olP{ z2&X9#WGy5wnTZ=Cc)*yW>7gGE4}F<8yHxAiwS0_yKw((&2_kR8zV)#hpQ^RXLYoM7I zZ74_bz*o_!=0mq9m08b5S`YRpwjN_7ow*@M5q;FgtBE4qwyTUPbM;Eg8yo0_mqt9K zA7>38@(uRrA~w4)YJ=hB+C{%WE3Edep4mhrmX%@+&zsHDUyRWw&}5f~w*q(_z=b?Z zep20HlGn< zSD=K`*V-a>HeR}RhLxQC=z-Yd>hLy|W=1bl zO_tf3J^I%Ov&txyJ(kFoHhSz+GuK`20n?rPTCPni0`M5dlu55!otws89)0@ccXR+J zh1~YyoNDUTyFfC&!nBzuTWrpA7jeW~xY2d{a^{(+Zo>}SGRd%bsZY1-np9hA(TdOx z^}duH4IVcyxAHPJ)VBq5Q1J3YN>DZ~p)?UomQ0suQtW@Ncr^I=ftp)g``S~Md*Yzt z)A{W{y6k85()0JypN&c)3|qX?f{vVUsR^@knoupPid0mW%Jx2m3`rvkIn40#DaOwf%n+$t zjiyU3j(D(FV~Zo}(DZu8W<}2tnH^oQ!Hc>pNZxpRV=N9A%Zm>2-xv!=eL0zB6QsA2 zo%|>|?cD~W)l{FVZ;#8@&*$my^ZADx0%}T-@Q*}#wfhO4;doofd?_66Ki6e#=8sOI ze$u1;+*_$X*dGh|*aZV`Mogo>QOnJGH!ycJYS&jNS#O&%0TPgykg?*mFt|Z#B1sP`k7ruETE4tTC{fUFg{IOm`8|pkz_DG;8i<8PbB6pgtQCC_f&*E|hv5VK?}vX+KlY#hw|0%hWC-b7Y|&{ z*`4p!8xi2#SLXY3$kLF2D@?CKQZ`UZ`>JJ{WK};Xbf2?J_5Az!fw=SGWmh^9dzdcS z+fPk(b-jCrpV{xQgmh%H@~w*X`V~z7i2VEr-9=*h<*pDeqwO zX;uR^ww~V1nv}Q%D~B!2Pk~MT->N-SZl|4pEqO8jy*(ohx2Q8Agfs&)V{@g(zF6zJr7jC_ z$Fog-@B(Am?*Xhi^S4gUj>Dj<&wbXaIwZ>sJ-786>oSiZc8#?A%?$444B8lUyr`P# z)no2CZeje6O%TDSb?l8UzINk1t7EINeU*=-Jlg=;|HNk?pRFJkd-b+%4(vxGx4wq|iGDeqQ18V+B1 zUiU*YdzP2VuLjy#px;*SS{Z0t8L$iy^fMggW zaD-lG^jH7%Wck87dizM**aZ4ZpE*$4tWw+AG?C`hdx7pM`{_Wxk@VdfNI=c4_&pK$ z7}h~yrsyCJ8lA+^y4$*$DSF?frKUR4tCyLX{pcv_JqwD>moIf*Q<8qVoEfud*&^_a zk@|aP2xO*7O}rvK;FZjPmDDefI*j=Eq9yGX3So)rOEsdRP*#KLiTK9AR$M0b6mXj{7 zYd4RXk|3XA+9Dqap;A^TKRzGMQKvTSlNV-{i)@&hP2v%Jo>xI3W>C#lB6b%z6aWw= z$>-A@5_G7f@08hHftp%{u^8^qV6A>IvoVV9h?}<5<27plbqk<;IF^`oEX=Iq^H&|= z@R|{6uF_s`Rr?)U^H=gJyEl{&W}jvO9j ziSC&in9LN}F&d1xCoM33dO>0ssvd8C6(O;W`XfgzBVE5DZn-Zgb)(OOd>X3?nKHtD za2i4~?W#7ApD-NyL>ew0uGR$i*g}oWDj7;ojZPk+|Ba=W`bg>X&kZ$^CP$^JTm4Y_ zKGBA5dcESjdXE7qC&i}k$>{e~(HE{KT|@eVJcLs7td8A~L*Du4to|X@v*hK>HhjM^ zRO|x9t)S8b4nRDKj(?97Ndoa&r`y=*aOwfQ=z9tRA%+=P7_oqOypKH2bDS@V(L)oi z5Ca{~9@3P|?$Ywv^U~Dv;|baVTC+N~wrP*W z8I#BAYxYHo!rPgD#p0*>%JYb0L45#;7rNL)FRc6V+&6hLL{J$@kq!^jsr_TpI8U=@ zEOqAw0Zg5B7ZLpk`Pfhb1~kaIg^-1Z9F*}zIrHIH(y_{!s>Yj@PKBW#mD~sN`z~@< zr*&;z)1La`J0NYzE12}A@i)AmICKzZOndfT0rv*j`wk)%pqPpVaqNQ1!sn5}u1*ka z>&+098nvF(dSCT+8sXfpGPa#I^i5;Rn#1Hd&|&IdrEz+Jp{Wdo#oWo=bw@q(AYY$y zhh@fx`Wq{WV}2+VoiBf(T13z2IIv#w_o!>JT>guvxzd~8mjpGR zqUP7sK`N4ir-c-It?m3M&W%2fi>p!o6kM&yYS!gMdTH9?Vb?nKEiwo*_4sxf?gLdy z29uz3+IR$EZ^tyGcuG~}avk+g4Q1G@{`H$6NKfDVr}5-274fk3s* z|9c;3);OAm7UFYP}tz%xW~W4I?0+-@gyicRM+_cPdi^_Sc{vuemhkouM)5 zWjNx}E}4HCSK0p}X4BD^MvojLq4S6^ogW{GcK&9apJd0aa+G!Enm_fEW}rTTsyDrQ zMLB9g9*XogiG$PfPcHy$3;I0*gnU>V4 zy#hYBh*)%GtmAnS`@)35lD4*$?u<5-&Wv(LBqSxW$(}=tg+2(1d@GbLFT98>iAIw; zz|<&&|LpPk`vSar;?!1Sh~e0+pEwiBKte2Dp)O$7)4E0S_NCF`3;!Z@z=qd3W1}ru zUHMJ&rg?{jYi`(%7@>r~`@U5f1V(W@w|H zK23Gdw%Mrf5c5G>i0t#Yx+g!gO65u;lO=|dPN@%93A}$u&X+?rm-cfrl1F|7oYEo$ zlV<8ga%O)ufU^t#G=Tp-(ZRI7Jt7kONv>5ZrFDx5}q8!Toui%40Yb=!*e%F#gz zsDo`R=wd`C-P}HETZE9BCc@0g09yrlDx4)vNQl~WbcKsgXY>_;3}eOagEqWva?{hk zp*xMChL<+8Z!7c8?l?3x7Oe230d+eMVwFtqO=uSBXU$C&m~Xg&OetNs_B3wkXEdp**0|sWWmS-S+_@F{i%gW$H?$hu}2)Oxu{F8n(hw_n)IFY;M`Sn6&)Qje{@o1e36Xen7PxQV7rhD9 z32m5-_a2SlKP9i|Ph`e)_Z_menmAs?E~Iq#y#_dLk)l)#%{%SRx3y1cXAcZq(r#xpE?NM z#6CEXR6!;aZONy0EKiMsV_#*ju)=G*fYC6$TBzMgoNJ#eJ(rryO$jKg5;0rcWy zNbg353E!V?ZG7^qw8&7SE^*1F5lT2&p=Z%$vR|9DiCTX}I;b!&JUp#eU+Mg~!WIaI z1CY0iH0weH1JJW9`P9&5ss-4qAwoQM)V0O{MVK450jdinqjholjp|TREl{N=j1=!X z6Oh~7QH=*FQ&RAnQ4a;_#-Z<&9-q(k>;d_d>Zhpo#-xSAF}C!b!atea*;cKvlakQZ#e&v?Z^id%Ju$)X;XERne|CqyejH41@g48iDcSzToqk> z0sr6>ZwSN>=pr)J;@dfydibc747W4!5WB;kk}VW1>y)fi?*OjsW^z_=>w*67Qu-`# z8&K9oKvmAu*!m-10i7=7ga>{RG&aFm>SIbU_D^Z;7|Wc4cz=nxK=yZYf`n_aP6U&t zEBdp^gA|Mz(`FW$`fN&qb9g?DORJ7hX+=1DRLVlkcJzODz`U=_*ms_?PnWb6fNM{K z!2oTVtu73@JX#F>o!tKsF@fG=m)yZUmp!-eoVL=o*DEO%ikusz$RW}N)e!OE{iiGE zYKeZS6IHwkV+H^UVlGBJm?y7ds3D!I3|;CX7k`&kJQZtkM}?IZ8UiS(!SlV-l={^b zLC$Px>Rf*Ltl?*|3E`|$gL_Al!$B|o+ER5b5cuas#J*w|s^w7ZVeMck>HDdR*_lsW zjAZ%K{hD3oGO;T(eoTXsQrvLuxDXaxG$24Y1{&Wed7@PdLKf-|wro7rXpVGWnM#8TD`*`SnD6q)3X`Mn^_$+#~g{cR|fj_z1izSKSS5 zdvW|0cU1g#c;OwqGJS%UBb6Sr>neHg_KgClr-8yIseLE~R!wZ-TdD1v(qtQt;q{ir z%WDHxvM;@EianJ`2Ze%Js_e$8{R0xY9s#@ESJESn3I4`C3O02zkc7!SJUDmkntUN# zks-;P;A9>h&`kaiaewwG=X|RlKd5iIBy|Q`C_>jlePknKd>mO0m|oYO)rp)my|_vs z+|P;wN#>tb{YsJKfgX72CqmBNfOv%60(qc4qjS#(B{knv7R2)u?8w11R*mR>HZlaG zxbR%4r9(~c1NNyKIyMI~ja*jA2}QhBOv^bFbKcA0;ZHVAx#)I3?VtfKe(sPhy>h5> zZpAbFec3wK*M~yD=7>XqLrk-x$(o~so{s?%Lp4VV55T&W)>VJ-Ckp9JB6X1IRFtUN z9i-1vS{b8MK}#`O);ga~q295}3^9%e=CkZ8*CE&m9=8E#GX{XJxXWp!E0^N|C~+p2 zWDfrsJv}JAv!&yh(sN`OXt%#ane`b;%fw_(zqa?OyAgEA#5TlWW6gjx7g0V*gXy`_ zRJ95>-78*0+>=H8Xs(fx(C&Aw(@02Bt|Lx9+6S}2wpk(7iZCd|naCvYr^Ui%KgF%N zc5(8LV1?%iCJ6$174%}bb_GfB2hT6j8$E!cQOj)Tf|86roWS+`x-ph)v%kkNbRB=cEd<*~s4XXLs zQNH@LVfK%xcceLVwQUW1B6P|{Hi?F?+CzR#iP%v+~4_WBF+ST-)PBP#Z| z=JhqQ)Q9TYiG^G9B904 zs;qw8aigaSuCau_c&45vm5-B6D&o{xM0*UrD2X4{{MRf2#9HdE9Zd!JrTpENm&E@` zEx;PVVPSt4-|BjHD13DMbiK`on+Gz^sC0wu$|yK!ck?DAb*>-A&PC#?RhND2Vqt4Z z<0>yO|32cLYuD|RtOGB_xq!|97#Dm<%=p|wkqwz{KYLsvQ)sps?M4q$6z`$mKL~mp z-*&P@h)Qej-0xevIF_5d+&j2E5^xM8BaPt&oGeak3lUobR!inbgu6^2vv`vDI8=2x z@NoC3H^sb#gqP+e`Un6PUg{&-o`pcn*mh0f zb7JoyU%)`^(u|hc2s|yM>}=kcpTD;izsg< zzYr0+%1f)WQj}}@BUcc)Z*2~6QUKALSGSax>jTIz76hN^s@DW=RZ~*Gbd%#5N*0s^ zh<{&=90oH6`u(yxvswTa!2u|A&&3z!NF8zc=HF^hi&Z+g#s|=iJv?tjf4znw6~vO)r1Txn6iFOAl#$$r zcpMAbeVS>6SVePQfwIv~yzC0b_fw=P&x3 zru+{$4d0A>MZ(2a*(PZO;Nr2B`4hIrCXeGiIlIQ+BqBbcDHad*T5AnG}`ZzSHsV4LwCvP;u( z4WljlWF8|wOL~+sLCVks|3_C__jqn&bQvicsK+-m$Im4eJPSo=* zZsB~9osScgH|^+fV;(eu`cS4Ta+4V%8nJhFGx_zT^vu6-4+X>+eZTzWo#;D3o@sUA z9DYdscEv0H%_Y3vwvd1mY5v`|kxPzyZN+~tGySstsGl4-L{bNuxBuby8{QdR`K2$4 z@okv*PNKwcw>xN^fIhc-M+>}*r=I7Rr<6x_|KKcm>X~`nP)RNOt3-{|$|CF&{OmLX zq&IAin+EDq(=Ci;fXC$`yYknc$;~*UB~!1zBCpm>67#y3sAmk{$`|mP2`Q{9(13g~ z3>B=EAdNVw$T&sI7%VqY_6EEi(4q^&WVGW>PL{c|#~7tFn&*g*T%pOhOH=!>2y)1e zDnaYTubVSUnlZDLEA5dX=o4w!F@l%N-YDv>-wXS<{E8L5zTw8~O^XYD067D5Bln@q zBpR%MG9syC@I5~J^xuV(WoFiT4=1A^VyJj&3u)m^o!n9Fp}sZF!p-?K^kTd%9#R{F zvTOk%X-DsV4E%f<+}LI91Q>uS4@%3Xg2xuXK84ru=W-ssYNB3|-2HG~E+zfvBd>R- zHnrktfPdl?bK7-=ofG)YTztF-0^<-^>6_<%{6M5BS4a)=)S#>S3FVacv`GR#g$Z)5 zjKN}ST09icCo>7 zb>4SvzGCOz#U)2Zg}a>2jJHe^LT~F9Lzikk{XCk#`UFtyieDNH~$<~UD?!vI71mGq&!>< zL#b&5-*NCv@GenH9x>dig!m@Y;5R-X9OOH8Pi*h}ndsDZ2M_#l`{5c%`gjkj&>XV~ z!b*?%d6n}5{9QoUcno!U`{jhVN8akfO~-SRuK`M;676mex2(yf5e!9G?TzO_zR7$) zbV?pJKKt3it{&?_8JsI?D|Z){rX{YIQ=;9VW~}VfhLV3uDsTrPk0S0!3V*vP>2~r) zYDRe^__2%X;go=b%CimMQ)<85f;QdaOvAKCc^Lz}2xocWUh=uq9VvUXXy(a${DXO< zS^?pyg}Y$NM5QvLQ)b_}2E89E zK@zMZcM!7i1QT^4tL&LhV=IjS;66TKTYZ^oOO$Z7)eA zpMB7=m;7nuL^h5Bkqg=%bbusWWFZt)T^&n0c}KltEBQM%1<1}l6KAi|DzHX?nc4mC8k8e5Wx9xWxNN&xGI`_Qx&c-iKsedAik2iI8CK?3v1* zck8;<$^{Jv#8&E}sgE&8vH8CR?h3ni#99piY@wGo64aaUlhOotIwR}RT8!LPDwFTB z;YJ^$!n?n3p+{oN$$)5?dfjAo)~&LwrLqhC%&NtHv8W>b-%ZxPrQz9w_0_eF0u#Qv z#&a}O-9r3}n`JsKg+6g&7sBd=dHlnw8K|wPP}Y_dK@#_d(_&$vT9EIOF6~w{%b;XK z#etW?V6S%`FEw;JHqo{ipb6>=t7V@^J!l7AzTxP$+c8MIp@9Iqr>lg5m|D5%kb ze52bVx^?FUE=pNfKIu(xeJVMZCOBTFS_sLKu4IJZ;03g+FP~`l8Y~lOSL?QQ^Z<)%*(p&5nx>RhYm46%;{lpuU#B?3OvLW< z8SOYV@iy~T4v2-JOXz*5{dl9fQ_6E=GtP6Pt9{agqu}_~8!aI@PG#=MogEStz0CLS zNdpooijPpA{IYh7j!nU$q?l@E6nS}t*wwq~Vl+OMyzFEzdtfALS9q|C)%kWC6K z#N(z0PUcz=IE+mr&xLBVtu;{>pG2L`gvcblf9V-s=wodC{ef)bd2)Is?Cd*SFCAnP zjrKteQAy1LfV7l+b?JMbS5XRWLP9VgUDp!g8;yUv7VCHE!MpOzO-E79tEeGLGGowu za!Q}kwHZ`Ws2rIoAK9(1PE$_P3uv=!VK***tDYt0@6CcCV3V+D%QLLZ?9-1*ik4*z zHkNwkiP+^&@;XpX%tdp@py=AG&jMP`(62B7Lri7c(+2w1KUb8+6vkpo?sDX6yFTD6 zIld8f%i@|?rTX9`qV;xnyJ{*M9m*T3N}nLQ4-Jm)922a!vvDJGIRmb-E3cYj&sSm- zA_*ws4xoODfonQ}c!1{rrbvLCpVlOZVlZ1oYAB;BafF z;5o}|`0;M_ZvXR6qONQqMbB3mpDG}#FXHn7-Xfi7C0ugzC>tr&d7)vTp}6BY?BIZQ zHWBW1{d33WtFu7u=00P_PIvA&7eOsBn2pdxxlX4vpjU722gMe{bzxUgQECwaC zk%^W00gE4?;;2@8iFb6{N+|ffh5ioYw9rM#pjDL=k)n6B5@OFh$ z#g9tP5K)R%B|$ zaxLaznxVH7>Nak%8e2(0=iEw_m``JO7}@mz(&6xsa$(gC;)qNzQ`yND4iBAG3@z!- z4!dper^pl^O9)*|$Wdo*^AlNHOj}#D#B{-}P2I?WBgWY{g3n^r147&*et_5`(AHVQ z*1bj|{T_eet3FXi-sdfi3@w6&l9pht??ZSiQ`QIF+QtF4q%KBlW|2dPLd&afanC=3 zm0&&LP9iUsIz@e4=bM)@J{t7_yL7Yl)hhM9M^VQugfHa@txckr*)Dcc$wURo$#U zygYL8rKf86C&FT~86eN(N;Lt3^d}JYRDoxLW8j3bKA=3`Ena^9fI~i~ZZ~q%d>VFS zN~Q32TKBs$M#`qDIZ|P0kTrDaQ*l7Iajlo@3TKJVw8-9E(zH)^M|QJ~mb+e>y5Qp~ zh7BgC@;hSck=-t_ZD6-TdrYESk#EVsETRmC5uf11elmZ1eaToE(62U=0=lQ86kppX za7J6&pS~XS4X?9K)lNE7*qen{$p}Uf8?Eu@(9FqiPQ}^fguG>oXt_zDjaGJZmBqU&JfUchwc0GiDYKH zy-fKE(5-PNfsUpULl0ryU@Z{zb%6fa$$Cy~TdP;**1_VRkG!uHo@?Am{nF0N9@-yE ztqoZ0S_F8MalmZV6!Bmu4-dQWo}KZo>11@f>k!$wwP1zQXY5204|+^3@Yr=+^1H+3 zS@j(QSL(>}!@W<;&-tc~IFbOKJ{vja{PXbmx~ame(r1wIczuR~IKs#`G*-I2FG@}J zPf2-E`vRXE?zH@!Xx9>PXWibztO_L3i*}ZkP&ssCs9++HZAlzTzLBPtdD=PB&=Pm>=)t4~kls`Wu%R0uDeqIDQ6&?INgyxU`o7+dh_`>1SJ;g3W-1^W& z9AN5Q;~tZ9`6KDa-o^t%6K5vO0CO$dVL2nc2DJMO;EUa$C3AU*R5Y=}!*Sqe(#Dr5 zAMcAj!<*l8ml!|0qj_pnG&w^@lO~d^clE-%^eT>ID^AGn_{Vz#7KVFKSGh^7)RaU0 z#mi%``9^>nV^pTG8m%s;P9EB9g4}&O`X`#LeIjRfvc#5HcU_WIG9TdOfdIAjNIBEB zGLg3G*{`4gFm{_-xzmCo&(l4RtlzKg{%Jd zOIIs$%nh(aDtaCz!Hn7fCPXtX=3xr2lj+6D)Ko#OR#AJn&GrerATKZ)=Nb#GZnC@3 zp=NCV^8T^5V%b#tPufoYP;WuGz@G3HzO$g@D*~k_UV<-zxR1GO8=E+#LpuXB3%ySQ)Qwk02a|=P)m8n$? zKZw(NPLtB7D~)_#icrZQ6q#wJAa!oS5cRa&PlPe9VQ3KsNE$6AeLqmqITRo-LLOEWx-)o46#NWt2w1DqzlN^ zpPOq2Mh1LIdP_Aq!JK}O2blV<__p>~>WXn4uzGc|)zsDHwzcZ%@P=1me}Yg!&%dcciPHn82JwH495 z%YDPdl6rKtPM<%y<9Lf9>{j7{rbg2i5(gj7#mh46TC1-Hd}%zra7FRx5h?5LFv3x- zc#xvMBKVM->9<3dw`kCg#4H|ScDJHZ9zB{vaJ*~lAmXVjGR#HJY&LHQW~WY@jp5Hq zauV{tDb-;W>Ek84{YfNfTj>f+@54OB&rijHuftgP+hp|W^9XJEb4Hhb=cEV!wsCkp zB3u}stOcYu;;rP~BOHb);S$lk(kB6taVy>tEveko-4G{ZeUf=ZM)KSxVTV?RuNk9x?buTruw87iH34jVf z>ekzRc~U`t@VX+L=YR)n8&CQpN=T15Jpu8(A&U18N+-sGoe>G}M*N=e?>aP@c{Qoz(+u}&A4M7EG1qkhzPg-2Zsf>8TRn*nc#%e=CDUQNByrzKJw6>2nS39Eo#q1eE3v zm(?-?ZyNlNG|K@7NiwSCjb1rC^7hBxpO9hf?;#!cJxT3&?%!!MKF`7H0#q;C4oQ!HE(4syLpgT=127ig6^WczqHlRnnArd8OXa2SrWUTgw z;!b#gloUzpF74UB7Ozc0qto%`KI1Th_Gzm5u-CjiD{-Y&${+WNxO*}K{de7mYOnoM zFGDO6&-YpZQLU7-O&)83Q3>SZWQ-csw+=j9)(r@SF5p-pW_92q6%V`tX~?2YmkfNp z+afHjqO*#SyiLZoGN?-=KY4*W;@&paxSnZJzzYX9!B_<7tMo0WSxXL8>H)~o^l>^8oOa3aqF7!m*l$%-}u}i1_KOK(-bikxpFtoWHxs!yU z40Iw2F&&#t0ORCvT=$w!WJLZuN%ou2>sArqyZz1Thu}1dZU3cz}7Okj)*A( zZBoi~2&x%C;Q11fHfw-g2$%@0UYfM73naS8aAJ$dlf+zn$$i6pJuJ>rm=B_7Z9VVP zrAWg3gK2GtN(-9^EsVng`ev)yrSYM63|MzK-*0#J3W%;F(AE~O5!B2E&V$wrW_+P^ z5TlI&Q?Sfn*iZIKtV(P12T)$hYJu(H+3LsCXz$hW3YJ6g zd}&$%vCE|pn766Jo={Zem(QC9fT6Z1pWaNK-u6A&V~7CXX#K z4be(j->cP?WB!E%fP7kVpSytPzNGz{({45L6g};7)d?vdDU?dK*ho32UGaY2b1{7L zGplmY)|36NGnV;pGKLFImb6mqyEZR*7jR*bQ!00)WQ#D0n>rHdb4hfU_UW;rTaKDr zZ~+kyj(M7!5>SJi^8>)0dG01U0;q|=RCCZ0o~LMEvMj7WBMdJOBr<^6@NA??U&c9b ztKXz8J*B=Ug^A>U-heY5*f+0SfH?A^VL zxHF*g1jN$fZ*H3M>VED$>kBLFG;XO--?BRW%^~DxhAgnjq=k6j#rWKT%_h&JjDKU= zf8I;7?p@t7p6Z@%JJ2Tz8)>KdeF_i@C-$ngXp@5`p5em@SQI7w44DY=+=QqfJO~B9 zpe*;GWvQwy0vpcK8RQR)*x#T%&sW&^o3hMC*o))rgFS?dEEv3#z**Wr!y^3Y z;9V@hQd)K`+?@j6n~+De%2JfF9y`H@!-K!?OSAFH6R9sqWZe@~G}X19HNa)YxXcXs zL|*mzvKev>G|O#W#(2>IQpPCWG5AxmmkzJyxQ(B}^!S5t3Jdx^+E$Z>Cd*GjJVhBz ztIv_e81)#C;#t0GzbWC`30jPL!up)(WEI0{=7EGIyo>F$wv@|3a09KMN}c%QmfW+h z{(b;nJ~`=LJ6dISoRto+4vyrNTTKLka zJ09-==3TZu$0Ev*N+1*G5>Pk=(+NDC<^Kgo{q>~K zta^xnR=(7Z(ASRBcx*175^>$)@qv0AC3!?a5LcH3 z`&??2`l)y(Fv0B!`!lu)6>Dv-9les8%z>9WWD+Oc)NnvA?+rLfg45-mZ1|ly)_eJT zHrr7`u3f}4v$IWVMZ{vbGBaxPN%7298lwEx{mJ}b#GNjsFDl(icH_WYhidV|>C&R& z7td90mo*Tu#CA&N!2knkO%QP%ZEZ}F546(71 zV7Jx-RI#R!@xbn|p{<ixMeAE}igWXjOqRT=WTCQ$lImx%{pTbUJ^lGGsmB1|Y`;qbPMbGM^>(SHIT zuIC13WA}VHh67jyz@eX4-IQdKpn|AP!ZX}w%!f`z=iWv(l@xFg6C(YiRdV--7qlc& z(2w})RVTR8(oHgwjoImx)?nbR14;)6KH(shx?EGIh34_`rCsw7uO>|KVA*9!(SEaF z{Eec?W0zw$-znhf2%8<(So~5M3ShC+AMaEKNqiIDoP6p=(ua*kpRd1dt7b*;o4LA2 zz^?`#aiF5JP2bm7kVFAsMYbQKSNNIk8OTD!<27cTFT)!Ne>wuPL` zSX)gF)$jVDIqyPWwgK!YY>P! z^gfu@^%E>#C|}cX^y(kSgwDRpsF;|<=fz2C+^zN>-KA{1fB19D97k!cfIpTRbx8sF zfD?w%GqV+n6k^oiFz`8$3otoL%7s$1F+MzVgU7CzVTXX;Yub{#s3#NoKrxth!hD2e z$)lq%C#iS3Um|x#>-5BazDkT`^+-6jNolY&1qlP6WLHunVg7ubiPYTXpYpQ3yQQ2G zAW64ro~`+^hNN18j{kdk#J!_77QgtRPy_M>72GeYA6qm%k9Cbr&=hyFBa)N*MfK#d5~^us zAAh|A=JR{|Vs*@-f8LVC+T9fKe$d+(^!tdQkR5?uNUu_aoeRl;q^EuVt%xYIO4C+^ zOY*2Vh`FDDc)@z3HlfKMUVl$Qoc^-3tRrp=WtOHoiHq!8AMJ~L3A|b0txI1H^t$V@ zoo2y@U@C4h|A(&k4rF_8`^U9Ts|(eI)@W&u(xRvmvqLGRs)QN|wNiV;iV)RBQA+LE z7EuXNn^;wQrf4WZtcaN)h?u{RbD#UUpYQM7&tL7oK6$_2*LA(tHP3!0Y&hX^U=}3- zkteLS5WV@d3~MYo+Q-PWpmP^6XP3kpHg|t+!mmM7(1YEc4*_=e*`Lw~-(*`bkvnKJ zL>NK2_`qkbcZ~Ua@dEBFJ9m{&6}h98J+97So78(q$rsVAO%>z;o%yc=%>j>G*%#m7 zTZSS%f*pDZ*E&WF#zd2}Y1yl<2$bi3LOeme+G2VXswy4fG{9eyu)?V@e1q6SOabu; zu8nA4R;oPG0U4dZK=D0?d}1EqZXDx!Xr8Gu#ILYL5Z$MfXFT6BAhGdTklJwM6p(t6 zkHJI*?X~16>D)_a{S@5-Ea6gYOW(xq{c!({kF~nL0{`RXijYM@$r9u;T=CeG_ni~k z+?-Q}9QZD_R;jBV8i2N`+9&3tt8}5H&b=YgpGhrS?o)KsSajtli#K(_;oX56X1#5I zdS7b0^NrKae3oG5eC(brm*Vap<3-&29uKpv*WTMT**gS4!el5IB+W`G);1GadH-MI zKu&~Si|5&ns?#4`QuSAs z4sN9)xoWp~Snytr_w`(1!GZMov=aa!Ly)@m5F8ZXogkJxplr%U$^l>wrq;YAQKh-Z zV|D+zS|*z8w#EUOJd3Re2*}NpyMF{pzD|F)`qDEhdR5dNCsYvxrB}~~=8PTjd!X!@ z#%L!$Ot|20lkU=K-mKU@+-LW3(Canp!L%%-ptbi~6 ze6*LF&&R{!`~V5eBBPKE(1_?63hJ96>yJZk#KC*d7xZDyJX}W$5T*cuZALqw1jk}L zK3TrJSQXF@4!kjS^=IC3ksY0b#9l4j!vuvyc%gN+sue=;P)xSv37xDf8Rw{aS==Rw za#x+H-Dv?^F z3RS+gJj3iYt*-ibA*sOM5V{%1cK6SAlwYa7C@|G3&$FI!=hr!1d9k#+27(s86kS?T zSD~u|-3fQlTu6@6=!NiGHKLgUTWK8ckXH#k=FK%3G7&0BK<&WlgsI8J+4S7vd%^|& zuSJR7OW5$>$prC{uP0=c0M;AGA6h6Tq|fo)C;>)kz|_+xtA8tMNDUYj>gIN%Dggcj z?U^MiY7%f++6yF?<1^guB^|Y5l*5U~D{CKvbV2I&qlt1O=X(!PyiXm#PYlvqb&J%% z#a^&^q%!`y4o-$$m;eM%0Y;T77rGI%6V{2m2ru+>W{oo}R9Te-1v3IXx6@*uU&--3?fgLdak;c2>hL4A;ndHMK=;IQ#%j%? z2?8HHmO}kx4^7>rEl>Tx3;5B3Lk38B$qXmBWV)BSt!#)YK1YfF27R z$W+s>5SF!!HT*_y6M?hjq%!6drGs10jHh%_E=$6#Uc1dtdDeYA>!}Jlr|}DCAxWN` zP{OF4C4eyoZQkQnFY$3xn3kA2(PA+YL?7PUqG{D}J&;r61>FkF&d*!8@Y>2(48qNGRNTAWEg9Za zcN!tRH9+AY$By5hx^VWt4cG??P;1znl{gbM&uw`KChd=4+OojyC-PMx(scpxhXOYH zGN4rnPY&XP_Vd$9SN;{RrTOE;mCwq@R9vSp#D!BH&kXPO2xh1zhp&dy9H2Q^CDRkP z1f}&%yb=~)_i}ZcZ?>~$BVPy$E=5NiYY~8V8uaT>3eV{5=fW<@h-UqcP>YHdl z>wpmzPNgn#R*`SSRZUKaJ8Zs63wjJTx8>%R58Z95>c@{g}SEe`yt$2i_DLQ6Ps)kter8^r+#TfAPok0>Vr!1Vu| zL7*BQ#1D6OiXs6b0~GLisg2br4bRcMx}43)yc)V0TN1#8RrXu=-Qu{ zeo7@R?XEOtL|ClOWzE#RRtO2Jn}x3$aV zUDx*8n32}CrSI0mg366tufBiFE`w z-(4A%dirq(ZJr^UP*KW4>Ab{e{`ij8c4grzkd8 zWrZHC)$P~?YVxA;bn-Iq10Na5~M#;1vr-LdQEh+uD)v%vc7nWITkA%cyVoRRNV9Ge{~SDPhjjckKjWl zF#y+Ls_<7x$Ss5ba=1=?kD;zkTm5?VEUp=hP9% zH2Y`=(~x$Xm+2KCKT4zwPBYSur_-(N6Y_W=i;(6&+V964Ks&}Ge+G67G)Bi>Ci{Si zTI!oUxt*ybAVb0usZNofwMiI%GoWk|KvZ!fD9-U43Px>4$_6K?JSc*xu(TQ5KCE=? zrs`dX`(g<*vM&Uf=5;d6y%K2quO3SLpEbJn@r45Gd)w1SC@X@fQ_!CDwx!|7j(mad zwB7xo<*dperm7#=EJGP|nBnK!d&>UBtZY_GERlB>}q&`X>ZP&*|@ZOlkv{H~w ztev;%$KM0nKAoA8Ark-ZlzC%b2Teb z?syL4%*Xi8Q^{sv>=w;Zg<+{nnHt#by;n?u+i?qg``x?J9!N|Rsf=m4!1`(fp?H@e z=jb(z=pQP--n-`w>NCk?bIpu^F~~M253MVfzS+Rk_1?xBICFEZ;gvBd@R2qnKn|fo z1ss>y{Kx()pSc6SVvMicNxS*RhJwG6xI8Jmw_ye$##`01PfkBg%22kMdb%+hmpRD& zU1iwR1V=Kb`F9v~3$e<@c1bM$2hzQD211Kc%$1p^E85W4siP#66W8s$kNt0pqE(UW zx|H%!MlrY)?>gncF}+p;+Zi`17w6sV(Nf1sl9}^$fcSN5balE?Qb00;r8MC_#jj;G zbEY%YN~gO6JvQAbL(Qlwx1f?Q93CG+OE~h&44!LrYGQ^*R@kqpj5hEzJEO`GF%@=(`$jj z^D8tR_VSt4-k8Z+)`%gB8GZ1HA=#H+onayydzrd^QQrr}5xbr0)oX&|WfejIRiy7& zdEwUWt=K+yOWRSYfHAEcJTrBfmfI;m)CjbX`&#d9nsN?adUu#mFj5{P{)bkdmaHc| zkl}Wb-wLQ5-#wQVz9YIS67#9*>3hOCE9B}`H)G-)J+3!W%KZ31*g%!VV(R4f=+)yk zni+u3d{uwX3zIn|_C$DB^FG&=|2dxfb2uPfz5@o2_|F4@T>06MbQiNg>o@2tA;zPB z#m-<{_x(AM#@T)P>VXn1p2R~k;I94~X8HKk!II>j&2&`X`5_92@S&Sc0Liim&NrJ@ zI)0vA3@$BMP;vw&rAS}B=>@>Uo2iIrDUftWvv>S6aXa7Hx>DIpOOtIB;Wv(*>OzfG zJ-{*e0icUenk9B|UZy>2w^@1gDH!Xt<5sqplDj?C;2{Fb=NR^c6l*bk6sXpv!S?x$Cr?wLs{e_WZzT33EpdgI$O6%GmWM$v(x_Zdo zc1AaSvvLo<2%SE|ZMiuyJRqg$Hx=xtU#Y=haeC~sNYmt0sil~}wo!h>u@%x7S=>ML z34uDRI^((Vf0X3b7XvjkZ$LP4yl&~Zq2Q}15gw~CZpx`>wV(L}8>0I1JAEUfz>;z4 z+^!vMx&lzCWqU$E z*zU4N0vy+t1EjqI4gw%(Mwuu>_2z9HqOczQv;i_SuhfAus1}da`UDHRJ+uz@)MN}C z%@%b?c*0JLUKpT-B5MtW~sSpQEud!OVQ`j%icY13Y)BsQT2T+%A zz^68s_qVkBUo65QS1sGCHp+ufl|=*xCykJg@1~C~NBVZ|sC^S=l`q~0D4C(EjYrY< z{wDtoldE)#@ym0ikSmD>??BftF*l5Rm zfQjs_pF4jUss+k#FtmO7PhUN5H62X*>VRL-YVqg5rx^k+5&F))-wF6=V;t&=L<9d* zrfdUYfo)q!_k$TRdFKSww+7m7D^+rAb;L5{eFYP-DH8{bk9;}%{?-kO8X6^C;H zJ>;GdbEG_oZnV1x-3SKW5IsFmo8cZk2n+^u?@f^Un@z!MEDoVTWgrS+1fRd~nO$5{ zu?~=z8pMB=s`C?*$0k$X$K=oyT3I&s3ESy|)0Nb84-kNf{bsQ@hM|D;fB8P_ste*F4qIV#omd=l4fdsQU$)u-k4_U>Ba}gh4c}+A1=dZ zJ@XtAjAbIjZQA&>f>R*4C8-bL#-7t{wc9HlSVwvHVr5eguP0ET>*>cO*Bo1bCvc=j z0DMjLl=+rwd&2Nq>2X=RZ?+0_QKvsMkR2m#rU*1#+&3hs@Nz*R?tGvyqAyC~>}q3&OWlsq~1xyYq4-kpp>| z{iqkRWwBFb65!x0hBHNTl#kZya83RB-E9B|F=PRm*Sdg-pP!_2(iZqCfp!ovgRw1T z2W_HCNM_|smgq>;sXVh%i8QN|&zZY<3e>2;*@K2GRJ+B&D+krLSQ%;Uy!j)Q5@c=5 zLG{Qh6oc=s&Ar;;tq)E$`k2yaHI(l%OPwD24xOvWEt5TKOchnQ6W*hZ!uxvckiKhg zFZj77Xdz=cl;Mi)nO(QXzmq)_$S<4Qn*Xf@7^xL(b3f(Yu6q6dXpAincoF|3+?4aS zKrWUVf@p(MA#h^A8P?2KkM@H~OzC2_%O(mCycf|2$WpsEAv9e$*?H<@`K|dx;c8`6 z3jK@4C*@OkI5SGtWok1!0SaJN@Gf~L`g!dm`0FRq!h?R*t!B{H{?e`*nniT0kh$@ACU2!>`h8L+Nu<=SI$Z^(JEwkyQbM z0A7^c$1%OV8>O`uQu>z?B~G1y2x{kXqSH6Kc7;)Y$Q~T2Q!7ySq(pTxg?u;6QZlcD zAdj5auhluUcmFQf);phX-adRUV|z*r$OKkM)42b?V0r*qV;!?X{eJ3&I4A=6H~f59 zNFWvPJo|wtz$~0QZ0h0Ab=kr9%os2B+}7QBctU34xwVoeszcM_OBrq6$HcWLW^WPy zd=OEE<1eJ7jU)r|m{UABB2oNr!c;AOD$ zvg6X3hyF?cCP?sYcm9ZsI8bS7<1dRp&DGXAab78W{VKPQ?~2X7$SssnK3GcJxdq3J zAE9;RsBt2`3j5nyw1oi3roQq@w5s1!-}ypM{kAG4A)1nG)8!wDN*O_A znV=cAUaZ~01fZeItJ%xgDGutdwVb*j_}`F>!SCEVKe_enfS9a&6(vn&z_j#C*?|L6 z)M?&nRW&6lM6nq?W5iqT$$Q&WzA8@H^x*hY&+ACy^`P0!lC{dtfvW``zRvO^6Mw~` z5L3yP&m-5+mqVOm3Y`~WVBy3{o0iC2T3&H?a=S%&cN6)LluwHj5G2V-J3f82+gs;Q zg{y;8Y=fffjuc^|zt+AcN#FmY*K2s;JJ%6qP|E{av}!NqXu%x&#?uxggGo2eM#%z^ZZk3(_8U4RN{r2ACh*PJ%iTCei`N?HFXB(By-|5Sp ze$A5?%AQ5Iy}KKG#P%*E#(nGd{ku=b|9FFu5B5AR5*LHcayXRzM)O1O%_E`7U*De^ z*VMUKbmno`)X;~!wlCj9NbtJB6OnYeNt7SC6p-x^hEVp-!j^k=((q{&LggYn-9*c& zpr-7y-uGWT4v|prh%{wi&BluLn^had=80hKr_mxz5=q^O4<;W2Wx5L`kcvra34@CS zM*Gch1o2vhzOhBClU3N=0ws-f(W;zWOjqapC@`C9Xe^9WmFL^cX}FS8?y8aA5B%6N z_9ih>SA<*#i?Z`c)d;vb4qaexUIY}zS|%c$z0d3SVx9MVe`sjMzDomt!L8cE-qKke z{mZDY$Hcp~Qd&*42ATN#9BTyXGB42->={UBKFN;!20?=DF@Y3c)`hLO5xQ%~9(>JN zZxM`r>lFhDIk%p%Rw61AsS@E8K537wcL&iq2tm*tPqfoF`?YGa;V3UEsxHTwT`0rh z7C3O#5zmAYPtU&T4lTQ^9dq-5=uodfgoKRaN4a#$?WRx<+nb__0$#0GoitzivkUO= z;2b^WUdHjgv$nlK_?(<1`z6wG`Dtb6^XKv}KKS=EIya0`5nL+9@*naQPDb<$iVdj` zfDN8>Z?+H!K)^_7sN&u>1J*C8T2S2&ohrvrJ6r8>1^(Rreq_%vTj{XW9)~hh@9oe_ zI?04UjYhop{Ll(ekxmNkZL}!ALh@$p2w${@62l4(@AOn3s3-1N;??K|U{cB!g|3Qx z;{OO_=QBoKu`5;u@!Tt@FG^f=;7?QYN_orEo)PXL(y|=253qy@J#-Sh9*CZ>;CT41$!ZW&Z3+8p1?`^@b^SC+ zHGzf9`G}(Wiik`AV{JwLWT9*}HTGl3&6F0dF7(2U($_8q*)2=_&xQ%V}R?z>jM1aa1b5&KoD!39~SDN-~fgt$0=dFLM0%V zt!Erz7&aO2EKKWTJ^n6?h%RT_%^0X8Nre|JZzO)C#&ri1bEGP!QY`_yh}=N*$3lzk z^~{+K!n^L%)kw(r;9-lF*iU*Xx9)2+0u^wm-%gMb`fSb{my+;jUrMAJU8YZJqnhGh zb_I*-G$g818D`moOBQ~km9@!G<(EuvMK!s5Q2bMtJ;2UT)`@bOL@H5k2#dNiCy|+_7x-`x`$jqJOE%>aHGPz#!D}I<(oU!9<&ZPNr%eQ6oDv1uoT-NUWBj8`h z#%eC~*Zx8bEsaKC#Y1gbr1-HUbiI@z`mHT*5c-qGuaED(J&cEx>4I|q{QdRGqeP#_ zdLM_eYSAr=dJhcs1fFN%Dud>9|Q*f zEW}Bk$jnSTYFDIMxhLT=7j3!K>b@PsbR(^ZS#Amg=VXZD7TR9D`gsmXR8>p<6|E!R z^VscfN+KKwq-Ebd-;DcmkTXFT>E-7-o#y17Z_xr9`yR~h0@|xJn!Py8kzp`8;LPsY zK#+?I{U`zMYm+1D_{+%reTG8IZgPmq1JP}69T#pnhlYB@Ch~lb(8NJ&@cEOza>vX$ zuZHt!CCVOadoIeMW?%Boz%~6L4rUuq?h!f!hb4eJZ=Hu4>?T-pFQKm2QEC-_VS z6N#Ba6T(q&!96ZpuUesI3vMNx|C^2BB@5xGHw^!I-%+IiR_7pN;#S0S`fz2jBurW$ zBV59|3mPXeF+x(ys2Lrb+OF~Zmc43itzizFo8%YL|2jUpg3;4fN=@Xw9dbDZaQ$2s z5y1i2URmVqF=d~H&`_nb7p-T)(iF}r0_Dh(6E{I!n1GqMS%=;BQ7%T7>x6uLa$Dpr zZei4DDwe9`);26r z1+G~L#iMT(yqP@*HeWrQ_b2+DEwVUJvEml}K$PihsrQ;7lsqFOtri&)^^2)WDmH;v z55eL#dmeJ;t`k!tYjp1A(iE6&ze1slTjS^L4c}s5SqZXn@}<}_+^&TAjx+B=J?1ob z^(M%F?m|63h?G;QEZ>(w(iH_N38Ty9&V#3T)-GDlHhurQ2w9d~(T>SFny4hwRsSn` zU+5(XGg;YOn1nvGACNofvt zwxN=2KzaSBW^!Aq&%$p6k%z&mSkF9yB|k(jYn(W1qzDEPO2GWZBx^q*ndMggBq`B>^zi_YB>*20kB>LxQ)q9IPoaynxFiCKP?*O$&)qo zKsWQ<{f#JPsRmY>G5dDovQ)Xdvgg}|2Kd*W-7He@!=5)X;hdV|bi~^GW?GQ30~VaN znJRR|+BX(t!k6*1=8hZaThtZ^;O0o4{f+ij3?aMAX(YJ2`T8HLUzp(4a$d>K^}IO) zM#TbTtk4swnG5*AgFq8%mZFpi-mdNLnRq+N>f-vn7q^iL{UAzYfI4-!I88o>{(c*FaU1gYtL) zNH0r;;1)b#Ojn=1b^O}k*_5rZ+cHux6X^kP-`isIG^hYJ&}eujRoNs_9kEc8>y z@$i-ZW%uDL#ZU_W{%4wi9F`=XgX#&R55qTEEslAchy(|Ll+MrmxT4$$<{tmSSww zNN~IxAsJ;y8ac@3#n$^^hr%G^ERdl9ChT;LQ=8N-G;IlbL2@LhaY+TZ19A8sY=T9$ zrcs>3Z?&4$EFB`Qu5O%3!h@p<&aZnve`cAN*|inlV)y0@dUeVdOO>*I9zI$!{f@+7 z%n7aazFM(RFP&2_^KLL5SYNzA8|Nl7ci-3uosTrl<_6a-hlUzHg7_T4s-}rr{k2d;ls-IM6Lu;uz$97P96z zxG{O4Q7FCm93k9bxZNg-bHI0L?1q(m5J$~SfLfJUz5t4zX$sLdd(L#KRqI6ijYU8E zW?iN%N(gYp-07-T+x780c{yVo2&gWl0NV#rcw}&3LLIzPbzqsExM~gi=NYMwmoy(* z0k-Z~0$oZVb7Y{uW_PW?tpg;e+;=chDQ2WjV5-p$@b}b!O#&J}aDAuQppO93cZxw(DxI%keO__Ew9=D_|@UcAXK*x z;no-x9O#bz1KeU~egkqbBL}*}s4h@3L0_HnVf4BK2mFH;7oqH|%>7r)3LUWx0yac^ zm|Vup=ybLu+7%q`*Zd`}HJm<=UA=^Ux1G>5+fVpjlXn9$wHw3=E~}pS{AR0rc1AeJ z>nRkma@X-lUlpy&cSG58Li;%3Dn}%3w5CcDRwY*&QU}>h%cb!cRmyMCroqdJE zgBUBQJV;epzKx*EY}3Ezp#PL0L3Xs2ZTYHiEhDXrCI*(v&S z`}GEs+*YkLQiHhyPVOkodS^86KYJn$bN8qr%r769_>?rzM{cOTU{+vo^~rOr2$_*= z-#pPM>4jI`MM>v-F(`o${~lr1bMr{Tw(IpKqr6h4WR}oW?C8TN^7>%Xmzrc+ZGu|t zVv)yWa~UlN!lIM~Xd3KQ#}ETVM7RXg^PL;KA`LJD%VH6`5Pwu%$zlRfaYo~qW!}Rk zqi(JZRE&=Fgxn9GF6tYCRou&FLUEZ-<5IcZ&gR-Bhj^ZU%>$Yx**5OWO}yn403ogm z3k?NC`uX{jR?QLTWjq6V?(>#XB4lNI8#hZM9)qLxG}YvaS|6OV`-M?>aU=6}O|Uy+ z8(Q*hv)aT^S=6c~)VDO!C6=cQs!^T%K6<5U7@Z6%3OfN0bYl~tn?pqlO3!~X;WVaD z1%{hLy@ap|d~#7lr;myX|vk z>UzZ9>XANBE?b_ z1JY~Qs}ocPwo`sk(+O6)Y2)(C2#V*f-pm>sMV5YzZmwAby1f#qOnctp)Sq`$JMf={ zO51;A9?HwZvu{xt?B6$vy0Bgzmjc?~e2f03F4t#V?zT*KFg9_reZj+~M-a;@$wAqozRinfye-Prkj{4J?M) z{+2&rkPsHz^Dt*()%`31aAFjxMJ-&lSV67LmBWE7#9SqEbIBBAIB4&~xp?Z2`cKs% zIjPk*5|_rf-v)Pg#M{hmG_mG_rsFdl<^c~}f4uK?G7rzrYIZdp+_job)+1iDpuKWw zJ5v%ML<5@dGFMR|jCtBaJ;Vtb9n?Is6 zs2)-F_H7Xwaw3qlYogQJD&_M;^X^4IY3x;)+esG`GfHYR^I3}4jqk2a3#wD4o-ZuB z`I6+nh>AQ?c^2A=Q*<3isjv0~5&K7&xqH9j8H1LQfjA40$|MlV=cAz!uvAPV2ue79Ml zmWO8&M_kyA#8}~)R^4U0;x@u?dk;l z6Hd*Az;aB8MRwsgY|2)$!lGZ&p#^?*?C_j^uANJa5iyxNj9&aI;TbGxC zyds#(FS0Jwv6`P%edH~h3>^R7VL><$uTtkcKN?6?ZHFm11;HU2X~&xCBf*mE0OC?g z3DCSk{MQvc{lBhY-}CwYd>0nha>r3a!+E%(FyF?60cfN|tcL?TrO5J5{UsD#&Sy-I zxaJRb^&o+* zs6pgo@Qd+6O#+)lXrncJ4gDZ!YC!E250CoxMqLYnbBnOJabd!ns*3521=?gluUeMM z1Qs`a#_a$)E-Q1?M*W*#VVJuomKhRPzHV}QRN@nO8t63&`Tpt0>E6=$*9U|Z-N%mB zb?nI5UCA+q=@90KSkelRE>3=%rS><>1AHj`%#o^)dN9Z;)F6L<7mEu>bTlH~lWpp1 zdj%iMS|iB->xfp=tdf;&e=gyq40|0GeI1qF0WP^|9a<}QcL1B&_1tWt)R@Ob^EmcS zs?mMp%0SKa-?U8smT;cFITg{j$i}1<4De<}oHJ(c@zZlIuND@#+H%K*1>q{P%U^dq zNu??Tp%m-xg)>hEQ=vP{w-}ShRD46;(uK+c%KDYSBw>_o1+D+%QaVu2Il|H-4Iio6 z{hl^ZndFx4f7Q&^dOC<&PFi`(dBMJW7SN++NeUy}6^+a8(D|RDhJV1jx8m6?D|e}` zdzEFh&f@OWL3R3-jGl!{6ZA?KTr@Ay8Ob7DC&QbwE@Ov(&3n`#k7ZD?UyYCr*Wnq zck!tseYXDM%7di@M;Tp?R@cCOtpcER{^M!jmmg<>ht)|%n2}EJn$2nOjtj2i*W1&P z!rjt_h9Yk6x5xRA* z@OWP^S{r1INZc2-uF%@%TxRI+yICXehDP3HvWCqZhVo{yDX{^p<%#v+m>?*n39Vn<%SY^ZgAl+U&s+U;L=p; z|LzF>gV3Kw06X84;Z_2qXAs;eHHo3Qfu)s1 ztm&g~>YoXmG3CTeu5YUh$Thv9T5^uf6Dx5~v@l*reS+Yis&=ebROn~()Lco6Zn)jn zH%L*ldzoqDjr^_Nz?zk~f{0KL|DTfO!?JK_bwPlT?3K{cQlxw_cCmN_Q}QnKnS=-0 z%AM^J#iu6rlWw`y;=;X<5c)L8sI-)K*Dx=$i723JN?e{Ujhw?yRwM~EB$J$9&6#0g zm;1o>kw`zE+fwthRJV{ttDgy^vg%6RRqz|kmM6UA!|kJ08gz%LAS zsMKmTbfHmSE~Cl;$#ad3jXz#nak<);HX zb@TS!aSpOT*qjN;6RJ>9hxztnt9dJiaHE_Gk3M_*sd$#-Lv;K}f*q@95F=_t?7_uX zsuH#!%H&e_)C5kKwn8TJPKsuOsb~a`~T`hT3CTDNF%-C9_usv%IrZpNNt)P0V=(`T5s@9_$1 zsdgAiuWJn_Bl(PUf};N1GrgsJRLAX9QeH_9b~RdDFcp|vQ_(sK z;|LjVbn=T_ox-R1)YI(|y-|-ZUFkE@9Oy-qC8S$wsD3^{xolibA6DyA@k@2Qd*0O& ze16;~?$G-&rr43=W^#sUi1wWCpX5^YH5B%Wav|r?JcRBm^hT}@jhYAkj{mI6#Z!PLSw}+y5ZGYyJH)F*=fppPKINYO-TI5i zN7-cd%tCwjFAns{VPN|&fV0OWovZhHs~g=~k9e4%HOm%0drW0-pLek^DM0(7hx5$K zUF|b?8cNskb69@@(P-MD#V3F6IRoxfMfLRuAlJajH4i+q`Y;-IL+_2l#oY5R1|A-2 zJ;R=E$o0!yqOQTou5C`mwP4+g>(*2tu*$%BuI*~}>`(U*kh}_AKCUl5vwQ7c6!+{o zL>_d6%0 zqSbCH3GXi`Xuh5m={5RqpQHJLTSRE+e)u}j?ydsHz@PE@%8MnTd^wTdo@n{V6l0Sh zZAt#$!+3~BzZU>8#dNrIt)KlKz|lPK0Nn@mf&9-tDk9-c97L;{1{b@f*0%$U?te)P ztJ3KiTTY6s{}m&#_LAJ?Gz)%_+v}Ui_2bNoVI1b6IOHi3?w2olzP%_!33MPMs z_HnHZNP}{GV6f#s{;DY`-WM%txqYx4*oENEjfEwG@2uec<5V!-nM%L4?42wb78N7P zG(Rnkh(4qB)LU5!c4lYj%5^Cn;50WVd&azO-Gsl|r0$iD)l04fSS+Cr*pw+MvcK8H zMUc+a-)_`@oi+P6`)#FR?jLWfu{oXM<~lD`ITcgZ863@j$nIBobYH}+ZY-(8JM(;F z)7T9F(rIrC_DpS(C4}=-kKQhhD6>103LMqv7hn(a)aYH-NiEhIsf$m#7Ft`Us!eao z;fGTYF&*Hkn3nb#`GQi6U3a}pH9h5)OESwVGlvLT=OUYw z28}qaRaSqy=Sy0@ZT;kd2Y8TFhB zD#}NUvPjkiXEK5tVTlB!JV`VtC6yvGzZ^7v-17PSZ}^`MX8#0iOjq{TGVsXIb|L#D z^}d5YdZJ#SZ1%S*Dty(dMrTer2(-k=$SgI$;Gig>uyj|3@IxwR{ z-4w8GtA~K`?1U(4+{k*Se`iyrJ4F79xAcf;IV|jOf*j<9OP5c6FWkR0yO=Za)?+;} zOU_RVx#&>X+))m5<5>k=k1;Co%xtw*i(q;hzE-DTmh-j>EA}I-+dEdX*x4t=@%F;Z zws4cx!>p_+dT<|(@e~26FnkFyAy+UHwr zu2Oyh?0h>rBCouY#^^B`4#%ADerT6{2%t8~XNbA>ya?-ZzjR*1t55T<3^2?p0*%M4 z@}Hp(P5C0EF-jy0LfA=_f@-NzUZHZG^07jRZP#=K!!wE9j~BxS+9}mI1M`c5lgmx4 z--v+zU)@{nLxY(P1bvGK53TVnq9Jc@;V?-zye|_9Fz%;ia7rJRuKKBuu|_l!?fs!niRfg9j%UTH>LpB8St~$ ze~5Ta^@*7C_#nni;pu@k;*&3Z*lNFJ6^jp3lpAWBflHb6m;vx*oWXRpCiEId6F8c- zHa}4A9icl7T7gbk>C?h9OxC{UV#+&PB?!{Yj#dc{(V~G%q~|w7&%HV-_a$(q^(QV9 z4(YE|EY{Od{p|@f1Exa2kf&JZc!T=E%yVqJ1f_}8JB0l(*OROYyX1YPT%m>@aF>d7_&Z>b_yn}CxZqTx??Wm8}HRLCH zTMA^c`V{uO%uP5?0HX_zN)OHzP3mtXvjs`(9>Po&R;c#<0CpD*sE)7eVkdlJ(h>i> z?V!1G)O`7nCz`98BI)KZk6LI!3$FAzZJb!Cg|+Jy=q1F4+= zz!(A?`D$YWBTW>4PgkIayM;X82Oc%eNyXpN9+r&5U%&=X&6E6)?gOt?cr{PL>r~Xh zF7-3M`ztR=vYFqj<1yWGQ7Px`H^@44W5ohH zcpt>Kvh2~b@W$ow1?7_;x?#3P$`@V<3M&`6L$5_%=w5q038T;J?`1rDAxdy-S}rE= zk${!(>tU;hm#1Hta0TQaMy)8cLf-`l4fZeW>~}mO)+#Sn_9MqYLFvT?&a;(m{}=>R zqqcuYZ{IcFUCmJ+iMM1V4`}?YIPw^?;re7#uI}VX{eIu)4cy(>=UMT!YK+au!}71_ z9o*s9_fL%MEEvPuAEqDg6Zgv#_}UDAW`2D{zp;X(4nU)2-Sm}hfOVtR?r&r+ixd|F zJt$1L>kfn$X*Mcy+C%4#^f`N;6ze;eX#bI26q`J&vKKmDE0gw;U>FBA(hCL_W3P{V z7T4M$Y}IdhPAxxUrTNy$i2(Uy@>$DEwZ$W{l3@hS3~E5xMm58%=)GUQ%7DdRLaLVf zHiRWYa{GOrWgW^(h-Y%>chYVHxhjkL=Rcc%74Mz3fpQ8U=y?bfx&8ulz%+H?M*+Id zzTDrZl!-Ak>hmnVmfA5WNH`NNA^&P*MOU!R6@ga%2K8aG|29JSc4t+|tP9-s(CMgvG3~Z7MAX)mWCOY&`lT6H$7n7;&H!qc47=WE;r&FZq z8vq^EaQ67D40FdSF~0gq_D78q1fhY#>GfzWUPG-9QY-y#b>50~#pk-C#6^G>#i=7; zR5tEy>F8jy>DsHc7S>2W`UY}L?gQ0*{0(oJcfhDbfF^_g8U9ED5S+XDdMjpi_}Sl} z36IO{p|SlC;7)vsTWzHz_4aixt}1Fea>$eG=j4gdhyeSN_dRBsOMr;t$W_sD=7@p@ zNN!>%{L8egdcom8W$(7NT5FQ|KToamCoK}|arSFA8cF~PW{0ysZEL>7P%+_(wVCn) zpm?61sDmcn->}f|{ryP!lX8zoj$0QzC{y6D_Z*vcyT0`v7~O{iEuH3T-D$i-o+&*% zSAfJ+<#~%Jk)e)|GXDlWx6sgKwx&M9dD=5T{Ny)!5e%T+3owlozq(@1-)akSihyoI z)EadrF+}*#-_EjD|Oer*yvO+`YHZD6<{oUe1tSb0&lls(?=Jwd zlse#&kG`@P-51U>hX!hIr5{6^P^`LuetScF(XhAppHqI#kpN~D8GsmfAU^f5xw~j3 zjR-@rB2pS;c|k`%bu@)kjM4ImmRozBdj)YFZF8ekM8+kU+y%EaW9#Ghi+neGo`ooo z(19MuzFIOH#3gM$2Hzj|Km_W(YP)$7jdKU}*(6H+nBz@aY52th-HS7U@;}TsFULs& z!0{(Zm<|UijPRXVx3|;7jE6of69Xo?s%wv)KF`EB9%nWU^;c^pt^8OOD^n&(5>jR_ zSBE6Y{s`!kqHYf*>PHT8le{&pj&-E`EdR?zBK=9O7i!{1LBpkxTY-9NY+Ubhhr zyx48BMJ-35Za+;i_7`nSqBH(do4Jw70FckXLNh~7spGljS&Ho+G2||az~gg;mp$=( zlqn@mgxo~ua|szG3&9M7VP|gIHIAWWykhYc!ZrE<`XSO646}2n3v}bdVn?Wdb}~io zOC+sGOr#*%z&71i^9TPMdvp5>>oliyCa{=uq`xrdvglld00Zi7Wh1q}i^fH;oCKuo zb+U>f)UM9NS4Py*(k$M8W9R>oNUn-_E|w0IQS<{QPP_aS&H?;V0+^wn3m8~=0Q#)E zV9w_BnMu%#CW7&@&D|pRH7%<1CvZ?3|t0KfNTN2_M0D%^;ujN|7Uy5o4fz(y08p0HjRMGL@-SO6(Ut~ zWTW_c|G)7@7&d7Nyg78<>K1S+#LD&Br)T>jJ}UJeEncY=YS7v||32^(VnIW{!UzA} z1Lr_HB(5(`vpNRqf+gJv^O=}n<-ASsvgC}siCgE-oOD>E)#v4dEideUZ?>0q*IvDH zgOz94^A3qyvob~Zgy&3;dA19pP%hKp2Rw73$PtDvlO@@$V+7AtOFuVTC$BVm3$IUyb|-VJ?W((czDZWpSd&5 zU9Eu)a)U!}E7w)VEb9YRMQQPKe4d_6=sFBMvd*MfXBp$h*coh-rv}b2Dh7>mKLuW+ zprE7#y3uKy9%$sa`oe0n!)4w%k8_xpEd#D}<*&HE`ihub_te5?OS>aNT`o;V6zQHz z`++CZ`TzI{JmuxqG)cj^%U3Nwqmk#PwzJ;N+IZ8+4m0Ibp|+`R6OFxY&t|eyUe=Rf zv}n%l;ti_o+C>S8q3*L!-_hHsdkI+Dq+gTmzNc_C$J}jQWvqk%MY> zc5&AynFGf}*p`(&NpM?MkOS&iq;oN{I}`=Pyqo^}$@5N437^CV4Ez4@Ww#lZs$5p7 z+PZN00mu58Mu)G+^C>*pn&QQ|es*&Na1p?-7e2zCYl`Q-J@ngYX4|1He0uZpE~5*Y{gRZg=_RY$EE+mA~%M@5xACGAH+F zTq7`6zDvrUpLGvdU%xYq?N_m#jV0Wt&pXFB1-N`L_w<}YzcUIARI;7-U$_fAST)x& zJ9x7$a8VPp^vt|NS0?(bkKA3B8-4tWpl6jG=Gb|aW2KR%>YD3wN@qp-&kA*)$9p^| z@##ySm6b*j?6bF?>7RCak$06MqA9H+x(_(~y(RTp**Qs`_4|Ik^6dLv;#RWy#kW0w z?V|+?m2Xap>%eqy36I^skNv>qSGVu~`?l>J@Kl{TuirIxOMSltdC&8|uHboI1T`Lk z>&l_~GmuxC!+P$})k?7Sk Date: Tue, 16 Jan 2024 01:29:24 -0800 Subject: [PATCH 06/13] s Signed-off-by: myron --- auto3dseg/tasks/brats23/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auto3dseg/tasks/brats23/README.md b/auto3dseg/tasks/brats23/README.md index 3c7a3ed0c3..76ba26e717 100644 --- a/auto3dseg/tasks/brats23/README.md +++ b/auto3dseg/tasks/brats23/README.md @@ -1,7 +1,7 @@ # BRATS23 -The BRATS23 dataset is from MICCAI 2023 challenge **[The International Brain Tumor Segmentation 2023 (BraTS23)](https://www.synapse.org/brats)**, which includes several 5 tumor segmentation sub-challenges: Adult Glioma, Metastases, Meningioma, Pediatric, Sub-saharan african. Each sub-challenge includes its own large datasets, with each case consisting of 4 brain MRIs (T1, T1c, T2, FLAIR). The solution described here won the 1st place in the Metastasis, Meningioma and Sub-saharan african tumor segmentation challenges, and got 2nd place in the remaining Glioma (adult) and Pediatric glioma challenges. +The BRATS23 dataset is from MICCAI 2023 challenge **[The International Brain Tumor Segmentation 2023 (BraTS23)](https://www.synapse.org/brats)**, which includes 5 tumor segmentation sub-challenges: Adult Glioma, Metastases, Meningioma, Pediatric, Sub-saharan african. Each sub-challenge includes its own large dataset, where each case consists of 4 brain MRIs (T1, T1c, T2, FLAIR). The solution described here won the 1st place in the Metastasis, Meningioma and Sub-saharan african tumor segmentation challenges, and got 2nd place in the remaining Glioma (adult) and Pediatric glioma sub-challenges. Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Auto3DSeg for Brain Turmor Segmentation from 3D MRI in BraTS 2023 Challenge". In MICCAI (2023). [arXiv](https://arxiv.org/) From 1a0e245e6f46a7b788d4f2a5a74cc3168b983d78 Mon Sep 17 00:00:00 2001 From: myron Date: Wed, 17 Jan 2024 22:40:05 -0800 Subject: [PATCH 07/13] Update README.md Signed-off-by: myron --- auto3dseg/tasks/kits23/README.md | 39 +++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/auto3dseg/tasks/kits23/README.md b/auto3dseg/tasks/kits23/README.md index 5e9847a9da..b2b7a81587 100644 --- a/auto3dseg/tasks/kits23/README.md +++ b/auto3dseg/tasks/kits23/README.md @@ -1,23 +1,25 @@ # KiTS23 -The KiTS dataset is from MICCAI 2023 challenge **[The 2023 Kidney and Kidney Tumor Segmentation Challenge (KiTS23)](https://kits-challenge.org/kits23/)**. The solution described here won the 1st place in the KiTS challenge [(NVAUTO team)](https://kits-challenge.org/kits23/#kits23-official-results): + + +This tutorial shows how to use Auto3DSeg with KiTS 2023 dataset from the MICCAI 2023 challenge **[The 2023 Kidney and Kidney Tumor Segmentation Challenge (KiTS23)](https://kits-challenge.org/kits23/)**. +The example is based on the 1st place solution in the KiTS challenge [(NVAUTO team)](https://kits-challenge.org/kits23/#kits23-official-results): Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Automated 3D Segmentation of Kidneys and Tumors in MICCAI KiTS 2023 Challenge". In MICCAI (2023). [arXiv](https://arxiv.org/abs/2310.04110) -![kits23_example](./kits23_example.png) ## Task overview -The task is to segment kidneys, tumors and cysts from 3D CTs. The ground truth labels are provided for 489 cases with resolutions between 0.39x0.39x0.5 and 1x1x5 mm. - +The task is to segment kidneys, tumors and cysts from 3D CTs. The dataset contains 489 cases with resolutions rangingn between 0.39x0.39x0.5 and 1x1x5 mm. +Please download the KiTS23 [dataset](https://kits-challenge.org/kits23/#) and place it in the "/data/kits23" folder to follow this tutorial. ## Auto3DSeg -The KiTS tutorial is only supported for **SegResNet** algo, Auto3DSeg runs a full workflow including data analysis, and multi-fold training. Please download the dataset into /data/kits23 folder first. +With Auto3DSeg most segmentation parameters are automatically determined. In this tutorial, we start from a basic automated example, then show how different options can be adjusted if necessary. We use only the **SegResNet** algo here for simplicity, which is a training recepie based on the [segresnet] (https://docs.monai.io/en/latest/networks.html#segresnetds). -### Running based on the input config +### Running based on the input config (one-liner) The Auto3DSeg can be run using a config **input.yaml** @@ -25,6 +27,31 @@ The Auto3DSeg can be run using a config **input.yaml** python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segresnet ``` +This one line of code will run the full training workflow, including data analysis, multi-fold training, ensembling. The system will adjust parameters based on the data and your available GPU (or multi-GPU) hardware configuration. +Here we explicitely specified to use only segresnet algo, for other possible parameters of the AutoRunner please see the [monai docs](https://github.com/Project-MONAI/MONAI/blob/main/monai/apps/auto3dseg/auto_runner.py). + +The [input.yaml](./input.yaml) describes the dataset (KiTS23) task, and must include at least 3 mandatory fields: mondality (CT), dataset location (here it's /data/kits23) and the dataset manifest json file [kits23_folds.json](./kits23_folds.json). +Other parameters can optionally be also added to the input.yaml config. For KiTS23 dataset specifically, we include the "class_names" key that show the label grouping for the 3 output classes that KiTS23 challenge asks (which is something specific for the KiTS task) + +### Running from the code + +If you prefer to run the same thing from code (which will allow more customizations), once can create a python file "example.py" and simply run it as +```bash +python example.py +``` +```python +# example.py file + +from monai.apps.auto3dseg import AutoRunner + +def main(): + runner = AutoRunner(input='./input.yaml', algos = 'segresnet') + runner.run() + +if __name__ == '__main__': + main() +``` + ## Validation performance: NVIDIA DGX-1 (8x V100 32G) The validation results can be obtained by running the training script with MONAI 1.3.0 on NVIDIA DGX-1 with (8x V100 32GB) GPUs. The results below are in terms of average dice. From 6932ca635e1db97c669c3faad37c7ac67a3aa2d0 Mon Sep 17 00:00:00 2001 From: myron Date: Wed, 17 Jan 2024 23:35:24 -0800 Subject: [PATCH 08/13] Update README.md Signed-off-by: myron --- auto3dseg/tasks/kits23/README.md | 117 +++++++++++++++++++++++++++++-- 1 file changed, 111 insertions(+), 6 deletions(-) diff --git a/auto3dseg/tasks/kits23/README.md b/auto3dseg/tasks/kits23/README.md index b2b7a81587..db65a54599 100644 --- a/auto3dseg/tasks/kits23/README.md +++ b/auto3dseg/tasks/kits23/README.md @@ -40,7 +40,7 @@ If you prefer to run the same thing from code (which will allow more customizati python example.py ``` ```python -# example.py file +# example.py file content from monai.apps.auto3dseg import AutoRunner @@ -52,15 +52,120 @@ if __name__ == '__main__': main() ``` -## Validation performance: NVIDIA DGX-1 (8x V100 32G) +### Running from the code (more options) + +AutoRunner class of Auto3DSeg is very flexible, and accepts parameters in various forms. For example instead of providing yaml file location (input.yaml) we can provide a dictionary directly, e.g. + +```bash +python example2.py +``` +```python +# example2.py file content + +from monai.apps.auto3dseg import AutoRunner + +def main(): + + input_dict = { + "modality" : "CT", + "dataroot" : "/data/kits23", + "datalist" : "kits23_folds.json", + "sigmoid" : True, + "class_names":[ + { "name": "kidney_and_mass", "index": [1,2,3] }, + { "name": "mass", "index": [2,3] }, + { "name": "tumor", "index": [2] } + ] + } + runner = AutoRunner(input=input_dict, algos = 'segresnet') + runner.set_num_fold(1) # to train only 1 fold (instead of 5) + runner.run() + +if __name__ == '__main__': + main() +``` -The validation results can be obtained by running the training script with MONAI 1.3.0 on NVIDIA DGX-1 with (8x V100 32GB) GPUs. The results below are in terms of average dice. +The dictonary form of the input config is equivalent to the input.yaml. Notice, here we also added "runner.set_num_fold(1)" to train only 1 fold. By default the system determines number of fold based on the datalist.json file, which is 5 folds in this case, and train 5 models using cross-validation. However one can train only 1 model (fold0), which is much faster if only 1 output model is sufficient. + + ### Input.yaml options + + Regardless if you prefer to use the yaml file form or an exmplicit dictionary config form, you can add many options manually to override the automatic defaults. For example consider the following input.yaml file. +```yaml +# input2.yaml file content example with more options + +# KiTS23 Auto3DSeg user input + +modality: CT +dataroot: /data/kits23 +datalist: kits23_folds.json +class_names: + - { name: kidney_and_mass, index: [1,2,3] } + - { name: mass, index: [2,3] } + - { name: tumor, index: [2] } +sigmoid: true + +# additional options (OPTIONAL) +auto_scale_allowed: false # disable auto scaling of some parameters to your GPU +num_epochs: 600 # manually set number of training epochs to 600 (otherwise it's determined automatically) +resample: true # explicitelly set to resample images to the resample_resolution (for KiTS it's already auto-detected to resample) +resample_resolution: [0.78125, 0.78125, 0.78125] #set the resample resolution manually (the automated default here is 0.78x0.78x1) +roi_size: [336, 336, 336] # set the cropping ROI size (for this large ROI, you may need a GPU with >40GB capacity), try smaller for your GPU +loss: {_target_: DiceLoss} # change loss to be pure Dice (default is DiceCELoss) +batch_size: 1 # batch size is automatically determined according to your GPU, but you can manually set it +augment_mode: ct_ax_1 # change the default augmentation transform sequence to an alternative (with only inplane/axial spatial rotations and scaling) + +``` +Here we added more optional options to manually fine-tune the performance. The full list of the available options to manually set can be observed [here](https://github.com/Project-MONAI/research-contributions/blob/main/auto3dseg/algorithm_templates/segresnet/configs/hyper_parameters.yaml) + + ### Input.yaml options and AutoRunner options combined + +In the previous sections, we showed how to manually provide various input config options related to **training**. In the same file, once can also add AutoRunner related options, consider the following input3.yaml config +```yaml +# input2.yaml file content example with more options + +# KiTS23 Auto3DSeg user input + +modality: CT +dataroot: /data/kits23 +datalist: kits23_folds.json +class_names: + - { name: kidney_and_mass, index: [1,2,3] } + - { name: mass, index: [2,3] } + - { name: tumor, index: [2] } +sigmoid: true + +# additional options (OPTIONAL) +num_epochs: 600 # manually set number of training epochs to 600 (otherwise it's determined automatically) + +# additional AutoRunner options (OPTIONAL) +algos: segresnet +num_fold: 1 +ensemble: false +work_dir: tmp/tutorial_kits23 + +``` +Here we indicated to use only "segresnet" algo, and only 1 fold training, skip ensembling (since we train 1 model anyway), and change the default working directory. We can then run it simply as +```bash +python -m monai.apps.auto3dseg AutoRunner run --input=./input3.yaml +``` +One may prefer this format, if they want to put all options in a single file, instead of having training options vs AutoRunner options separatelly. The end results will be the same. + + ### Command line options overrides + + Finally, the command line form (one-liner) accepts arbitrary number of command line extra options (which will override the ones in the input.yaml file), for instance: + ```bash +python -m monai.apps.auto3dseg AutoRunner run --input=./input3.yaml --work_dir=tmp/another --dataroot=/myown/kits/location --num_epochs=10 +``` +here the "work_dir", "dataroot", "num_epochs" options will override any defaults or any input.yaml provided options. + +## Validation performance: NVIDIA DGX-1 (8x V100 32G) +Training on on 8 GPU V100 32GB DGX machine, one can expect to get an average Dice of 0.87-0.88 (for fold 0). The higher end accuracy is obrained if you set the ROI size to larger (e.g. roi_size: [336, 336, 336]), but +this requires a large memory GPU device (such as A10 or A100). Alternatively you can experiment with training longer, e.g. by setting num_epochs=1200 (which will take longer). -| | Fold 0 | Fold 1 | Fold 2 | Fold 3 | Fold 4 | Avg | -|:------:|:------:|:------:|:------:|:------:|:------:|:---:| -| SegResNet | 0.8997 | 0.8739 | 0.8923 |0.8911 | 0.8892 |0.88924 | +## Difference with 1st place KiTS23 solution +The example here is based on the 1st place KiTS23 solution [1], with the main differences beeing in [1] the training was done in 2 stages: first the apriximate Kidney region was detected (by training a model to segment the foreground), second an enseble of models were trained to segment the 3 KiTS subregions using the "Kidney subregion". In this tutorial, we train to segment KiTS subregions directly on the full image for simplicity (which gives a slightly lower average dice, ~1\%). Another difference is that in [1] and ensemble of several models were trained which included both segresnet and dints models, where as in this tutorial we focus only on segresnet. ## Data From 38a4e86d74e9ac02d93e94e4baf1306bc0a58bd6 Mon Sep 17 00:00:00 2001 From: myron Date: Thu, 18 Jan 2024 00:25:26 -0800 Subject: [PATCH 09/13] Update README.md Signed-off-by: myron --- auto3dseg/tasks/kits23/README.md | 74 +++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 15 deletions(-) diff --git a/auto3dseg/tasks/kits23/README.md b/auto3dseg/tasks/kits23/README.md index db65a54599..665a0046e3 100644 --- a/auto3dseg/tasks/kits23/README.md +++ b/auto3dseg/tasks/kits23/README.md @@ -11,12 +11,12 @@ Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Automated 3D Segmentation ## Task overview -The task is to segment kidneys, tumors and cysts from 3D CTs. The dataset contains 489 cases with resolutions rangingn between 0.39x0.39x0.5 and 1x1x5 mm. +The task is to segment kidneys, tumors and cysts from 3D CTs. The dataset contains 489 cases with resolutions ranging between 0.39x0.39x0.5 and 1x1x5 mm. Please download the KiTS23 [dataset](https://kits-challenge.org/kits23/#) and place it in the "/data/kits23" folder to follow this tutorial. ## Auto3DSeg -With Auto3DSeg most segmentation parameters are automatically determined. In this tutorial, we start from a basic automated example, then show how different options can be adjusted if necessary. We use only the **SegResNet** algo here for simplicity, which is a training recepie based on the [segresnet] (https://docs.monai.io/en/latest/networks.html#segresnetds). +With Auto3DSeg most segmentation parameters are automatically determined. In this tutorial, we start from a basic automated example, then show how different options can be adjusted if necessary. We use only the **SegResNet** algo here for simplicity, which is a training recipe based on the [segresnet](https://docs.monai.io/en/latest/networks.html#segresnetds). ### Running based on the input config (one-liner) @@ -28,14 +28,14 @@ python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segre ``` This one line of code will run the full training workflow, including data analysis, multi-fold training, ensembling. The system will adjust parameters based on the data and your available GPU (or multi-GPU) hardware configuration. -Here we explicitely specified to use only segresnet algo, for other possible parameters of the AutoRunner please see the [monai docs](https://github.com/Project-MONAI/MONAI/blob/main/monai/apps/auto3dseg/auto_runner.py). +Here we explicitly specified to use only segresnet algo, for other possible parameters of the AutoRunner please see the [monai docs](https://github.com/Project-MONAI/MONAI/blob/main/monai/apps/auto3dseg/auto_runner.py). -The [input.yaml](./input.yaml) describes the dataset (KiTS23) task, and must include at least 3 mandatory fields: mondality (CT), dataset location (here it's /data/kits23) and the dataset manifest json file [kits23_folds.json](./kits23_folds.json). -Other parameters can optionally be also added to the input.yaml config. For KiTS23 dataset specifically, we include the "class_names" key that show the label grouping for the 3 output classes that KiTS23 challenge asks (which is something specific for the KiTS task) +The [input.yaml](./input.yaml) describes the dataset (KiTS23) task, and must include at least 3 mandatory fields: modality (CT), dataset location (here it's /data/kits23) and the dataset manifest json file [kits23_folds.json](./kits23_folds.json). +Other parameters can be also added to the input.yaml config. For KiTS23 dataset specifically, we include the "class_names" key to indicate label grouping for the 3 output classes that KiTS23 challenge requires (which is something specific for the KiTS task) ### Running from the code -If you prefer to run the same thing from code (which will allow more customizations), once can create a python file "example.py" and simply run it as +If you prefer running from the code (which will allow more customizations), you can create a python file "example.py" and simply run it as ```bash python example.py ``` @@ -51,6 +51,7 @@ def main(): if __name__ == '__main__': main() ``` +this is exactly equivalent to the one-liner command line call. ### Running from the code (more options) @@ -85,11 +86,11 @@ if __name__ == '__main__': main() ``` -The dictonary form of the input config is equivalent to the input.yaml. Notice, here we also added "runner.set_num_fold(1)" to train only 1 fold. By default the system determines number of fold based on the datalist.json file, which is 5 folds in this case, and train 5 models using cross-validation. However one can train only 1 model (fold0), which is much faster if only 1 output model is sufficient. +The dictionary form of the input config is equivalent to the input.yaml. Notice, here we also added "runner.set_num_fold(1)" to train only 1 fold. By default the system determines the number of folds based on the datalist.json file, which is 5 folds in this case, and trains 5 models using cross-validation. However, one can opt to train only 1 model (fold 0), which is much faster if only 1 output model is sufficient. ### Input.yaml options - Regardless if you prefer to use the yaml file form or an exmplicit dictionary config form, you can add many options manually to override the automatic defaults. For example consider the following input.yaml file. + Regardless if you prefer to use the yaml file or a dictionary config form, you can add many options to override the automatic defaults. For example consider the following input.yaml file. ```yaml # input2.yaml file content example with more options @@ -107,7 +108,7 @@ sigmoid: true # additional options (OPTIONAL) auto_scale_allowed: false # disable auto scaling of some parameters to your GPU num_epochs: 600 # manually set number of training epochs to 600 (otherwise it's determined automatically) -resample: true # explicitelly set to resample images to the resample_resolution (for KiTS it's already auto-detected to resample) +resample: true # explicitly set to resample images to the resample_resolution (for KiTS it's already auto-detected to resample) resample_resolution: [0.78125, 0.78125, 0.78125] #set the resample resolution manually (the automated default here is 0.78x0.78x1) roi_size: [336, 336, 336] # set the cropping ROI size (for this large ROI, you may need a GPU with >40GB capacity), try smaller for your GPU loss: {_target_: DiceLoss} # change loss to be pure Dice (default is DiceCELoss) @@ -115,11 +116,11 @@ batch_size: 1 # batch size is automatically determined accor augment_mode: ct_ax_1 # change the default augmentation transform sequence to an alternative (with only inplane/axial spatial rotations and scaling) ``` -Here we added more optional options to manually fine-tune the performance. The full list of the available options to manually set can be observed [here](https://github.com/Project-MONAI/research-contributions/blob/main/auto3dseg/algorithm_templates/segresnet/configs/hyper_parameters.yaml) +Here we added more optional options to manually fine-tune the performance. The full list of the available "self-explanatory" options can be found [here](https://github.com/Project-MONAI/research-contributions/blob/main/auto3dseg/algorithm_templates/segresnet/configs/hyper_parameters.yaml). ### Input.yaml options and AutoRunner options combined -In the previous sections, we showed how to manually provide various input config options related to **training**. In the same file, once can also add AutoRunner related options, consider the following input3.yaml config +In the previous sections, we showed how to manually provide various input config options related to **training**. In the same file, one can also add AutoRunner related options, consider the following input3.yaml config ```yaml # input2.yaml file content example with more options @@ -158,14 +159,57 @@ python -m monai.apps.auto3dseg AutoRunner run --input=./input3.yaml --work_dir=t ``` here the "work_dir", "dataroot", "num_epochs" options will override any defaults or any input.yaml provided options. + ### KiTS 2023 specific options + +All the configurations here include some KiTS 2023 specific options below +```yaml +class_names: + - { name: kidney_and_mass, index: [1,2,3] } + - { name: mass, index: [2,3] } + - { name: tumor, index: [2] } +sigmoid: true + +``` +In KiTS 2023 challenge, the task is to segment 3 specific subregions: a) the first one must include all labels (kidneys, tumors, cysts) b) the second one is a union of tumors and cysts b) the third one is a tumor only region. +Thus the "class_names" options indicates which label indices to merge together to create these 3 subregions. The "name" keys are used in Tensorboard for convenience (you can use your own names). +Since, the 3 sub-regions are overlapping the segmentation task is a multi-label task, where each voxel can potentially be assigned to several regions. A common formulation of such task is to use the final network activation a "sigmoid", instead of the default "softmax" for mutually exclusive label classes. The config options "sigmoid: true" explicitly indicates that we are going to use the final sigmoid activation (for the multi-label segmentation). Strictly speaking it's not necessary to add this option here, the system will automatically figure it out after inspecting "class_names" having the overlapping indices. + +Experimentally, you can remove these configs (class_names and sigmoid) completely to try a traditional segmentation (multi-class), to segment 3 mutually exclusive regions: a) kidneys without tumors or cysts b) tumors c) cysts. Generally, this is the default workflow for multi-organ segmentation (with non-overlaping classes). This sub-region grouping is just something specific for the KiTS 2023 challenge. + + ### Auto3DSeg code location + +Advanced users may want to further build up upon Auto3DSeg code. Currently the codebase is split in 2 repos: The high level AutoRunner related code is a part of [MONAI core](https://github.com/Project-MONAI/MONAI) and the algo specific code (including segresnet algo code) is part of the [MONAI research contributions](https://github.com/Project-MONAI/research-contributions/tree/main/auto3dseg/algorithm_templates/). Generally, if you would like to use your own network or different augmentation transforms, you would want to modify the segresnet algo code. Currently, the easiest way to do it is to + - clone the github repo of MONAI research contributions https://github.com/Project-MONAI/research-contributions or just download the [algorithm_templates folder](https://github.com/Project-MONAI/research-contributions/tree/main/auto3dseg/algorithm_templates) + - modify the algo related code, e.g. segmenter.py under segresnet algo + - point AutoRunner to use your own algorithm_templates folder by setting the "templates_path_or_url" config option + +```python +# example.py file content with custom algo templates code + +from monai.apps.auto3dseg import AutoRunner + +def main(): + runner = AutoRunner(input='./input.yaml', algos = 'segresnet', templates_path_or_url='/your/location/algorithm_templates') + runner.run() + +if __name__ == '__main__': + main() +``` +or +```bash +python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segresnet --templates_path_or_url=/your/location/algorithm_templates +``` + + + ## Validation performance: NVIDIA DGX-1 (8x V100 32G) -Training on on 8 GPU V100 32GB DGX machine, one can expect to get an average Dice of 0.87-0.88 (for fold 0). The higher end accuracy is obrained if you set the ROI size to larger (e.g. roi_size: [336, 336, 336]), but -this requires a large memory GPU device (such as A10 or A100). Alternatively you can experiment with training longer, e.g. by setting num_epochs=1200 (which will take longer). +Training this KiTS 2023 example on on 8 GPU V100 32GB DGX machine, one can expect to get an average Dice of 0.87-0.88 (for fold 0). The higher end of the accuracy range is obtained if you set the ROI size to larger (e.g. roi_size: [336, 336, 336]), but +this requires a large memory GPU device (such as A10 or A100). Alternatively you can experiment with training longer, e.g. by setting num_epochs=1200. -## Difference with 1st place KiTS23 solution +## Differences with 1st place KiTS23 solution -The example here is based on the 1st place KiTS23 solution [1], with the main differences beeing in [1] the training was done in 2 stages: first the apriximate Kidney region was detected (by training a model to segment the foreground), second an enseble of models were trained to segment the 3 KiTS subregions using the "Kidney subregion". In this tutorial, we train to segment KiTS subregions directly on the full image for simplicity (which gives a slightly lower average dice, ~1\%). Another difference is that in [1] and ensemble of several models were trained which included both segresnet and dints models, where as in this tutorial we focus only on segresnet. +The example here is based on the 1st place KiTS23 solution [1], with the main differences being in [1] the training was done in 2 stages: first the approximate Kidney region was detected (by training a model to segment the foreground), second an ensemble of models were trained to segment the 3 KiTS subregions using the "Kidney subregion" cropped CTs. In this tutorial, we train to segment KiTS subregions directly on the full CT for simplicity (which gives a slightly lower average dice, ~1\%). Another difference is that in [1], the ensemble of several models were trained which included both segresnet and dints models, whereas in this tutorial we focus only on segresnet. ## Data From e98b94bea864c22dbbb2116b30b977f92681cefe Mon Sep 17 00:00:00 2001 From: myron Date: Thu, 18 Jan 2024 00:26:33 -0800 Subject: [PATCH 10/13] kts23 Signed-off-by: myron --- auto3dseg/tasks/kits23/input.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auto3dseg/tasks/kits23/input.yaml b/auto3dseg/tasks/kits23/input.yaml index 2016225142..3dd343004f 100644 --- a/auto3dseg/tasks/kits23/input.yaml +++ b/auto3dseg/tasks/kits23/input.yaml @@ -19,7 +19,7 @@ auto_scale_allowed: false num_epochs: 600 resample: true resample_resolution: [0.78125, 0.78125, 0.78125] -# roi_size: [256, 256, 256] +roi_size: [256, 256, 256] # roi_size: [336, 336, 336] # loss: {_target_: DiceLoss} # batch_size: 1 From 79303e610280384900d0739bbc5c2061f3e4504e Mon Sep 17 00:00:00 2001 From: myron Date: Wed, 31 Jan 2024 23:15:19 -0800 Subject: [PATCH 11/13] br Signed-off-by: myron --- auto3dseg/tasks/brats23/README.md | 50 - auto3dseg/tasks/brats23/brats23_gli_0.png | Bin 39444 -> 0 bytes .../tasks/brats23/brats23_gli_folds.json | 14268 ---------------- auto3dseg/tasks/brats23/input.yaml | 12 - 4 files changed, 14330 deletions(-) delete mode 100644 auto3dseg/tasks/brats23/README.md delete mode 100644 auto3dseg/tasks/brats23/brats23_gli_0.png delete mode 100644 auto3dseg/tasks/brats23/brats23_gli_folds.json delete mode 100644 auto3dseg/tasks/brats23/input.yaml diff --git a/auto3dseg/tasks/brats23/README.md b/auto3dseg/tasks/brats23/README.md deleted file mode 100644 index 76ba26e717..0000000000 --- a/auto3dseg/tasks/brats23/README.md +++ /dev/null @@ -1,50 +0,0 @@ - -# BRATS23 - -The BRATS23 dataset is from MICCAI 2023 challenge **[The International Brain Tumor Segmentation 2023 (BraTS23)](https://www.synapse.org/brats)**, which includes 5 tumor segmentation sub-challenges: Adult Glioma, Metastases, Meningioma, Pediatric, Sub-saharan african. Each sub-challenge includes its own large dataset, where each case consists of 4 brain MRIs (T1, T1c, T2, FLAIR). The solution described here won the 1st place in the Metastasis, Meningioma and Sub-saharan african tumor segmentation challenges, and got 2nd place in the remaining Glioma (adult) and Pediatric glioma sub-challenges. - -Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Auto3DSeg for Brain Turmor Segmentation from 3D MRI in BraTS 2023 Challenge". In MICCAI (2023). [arXiv](https://arxiv.org/) - -![brats23_example](./brats23_gli_0.png) - -## Task overview - -The task is to segment 3 brain tumor substructures: whole tumor (WT) - all labeled areas, tumor core (TC) - red and blue labels in the example, enhancing tumor (ET) - blue label. Please see the challenge description for the anatomical characteristics of each tumor sub-region [2]. Each case includes 4 MRI modalities spatially aligned and resampled to 1x1x1mm resolution by the organizers. - - -## Auto3DSeg - -The BRATS tutorial is only supported for **SegResNet** algo, Auto3DSeg runs a full workflow including data analysis, and multi-fold training. Please download the dataset into /data/brats23 folder first. - - -### Running based on the input config - -The Auto3DSeg can be run using a config **input.yaml** - -```bash -python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segresnet -``` - -## Validation performance: NVIDIA DGX-1 (8x V100 16G) - -The validation results can be obtained by running the training script with MONAI 1.3.0 on NVIDIA DGX-1 with (8x V100 32GB) GPUs. The results below are in terms of average dice. - - -| | Fold 0 | Fold 1 | Fold 2 | Fold 3 | Fold 4 | Avg | -|:------:|:------:|:------:|:------:|:------:|:------:|:---:| -| SegResNet | 0.8997 | 0.8739 | 0.8923 |0.8911 | 0.8892 |0.88924 | - - -## Data - -The BRATS23 challenge dataset [2,3] can be downloaded from [here](https://www.synapse.org/brats). Each user is responsible for checking the content of the datasets and the applicable licenses and determining if suitable for the intended use. The license for the KiTS23 dataset is different than the MONAI license. - - -## References -[1] Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Auto3DSeg for Brain Turmor Segmentation from 3D MRI in BraTS 2023 Challenge". In MICCAI (2023). https://arxiv.org/ - - -[2] Baid, U., Ghodasara, S., Bilello, M., Mohan, S., Calabrese, E., Colak, E., Farahani, K., Kalpathy-Cramer, J., Kitamura, F.C., Pati, S., Prevedello, L.M., Rudie, J.D., Sako, C., Shinohara, R.T., Bergquist, T., Chai, R., Eddy, J., Elliott, J., Reade, W., Schaffter, T., Yu, T., Zheng, J., Annotators, B., Davatzikos, C., Mongan, J., -Hess, C., Cha, S., Villanueva-Meyer, J.E., Freymann, J.B., Kirby, J.S., Wiestler, B., Crivellaro, P., Colen, R.R., Kotrotsou, A., Marcus, D.S., Milchenko, M., Naz-eri, A., Fathallah-Shaykh, H.M., Wiest, R., Jakab, A., Weber, M., Mahajan, A., Menze, B.H., Flanders, A.E., Bakas, S.: The RSNA-ASNR-MICCAI brats 2021 benchmark on brain tumor segmentation and radiogenomic classification. CoRR abs/2107.02314 (2021), https://arxiv.org/abs/2107.02314 - - diff --git a/auto3dseg/tasks/brats23/brats23_gli_0.png b/auto3dseg/tasks/brats23/brats23_gli_0.png deleted file mode 100644 index 3b3494518be3bac13ae376142f1725b5fdbe45fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39444 zcmeEu`8(A8+kVkbn~IdB&`n_!6=N)|#*&d3`=D$|$jmT}v9#T#Xk>5fWy{#In;A=K z8O9c3?4uZiVMZnfWBI=IdAh&%^L+aUzQ^&*aX2{Mhacv(T-SA8=XqZ5r&nRnojVTg z*sx*4P9wuh*EVbr>H~frZQBAo0pCg~1AcA4V`z)ouwmE7^`DJ#%DWD4*l=Wn(WUd2 zcax`Ta5IG-whY`}u_K!ruDda-OD>3A5IQ;%w(Vg$e(M&`@{9wAV+$+|CS+dtJnPcs zSlx=W|5`j*ae4n<5efljf1=boWtXa`vBIIu?Jr*Bzu;Xj$j?`azW0K+D$f?^r1ANV z7)O{{N&QmLsx5z@jW^I192m+bu$LU^E1AT=s!QviQ8w**BxdWcziapYxM;urm+Qvm zFXDTFkL?EivdimF#NX}qUVjj^dFFrr<$w3(e=o!The5I{v>I|mPR{9Y-Evc%PFxX% zL(UEA_pXG)yEM`kn{zqG&9F4fT3#z8k2r~K!wp$t`aE+?nI>vA=o4$J+_hDDF;!0P z$rii+nG^0_gX=Ee#ay^_sa7Y1T^Ztag3G9@BN90jZf!27XlAicgLVkLQ1XMnPfB2tkW) z2DQRShB8}gj)=@LuGa2e%0F*j`~H}{INr^@GMmXz1+uG>*e|1B#_tlfRj-sf{K z!RekPrsoqZ{`|w+%5Bp_H8`S+v&<Z3peJvbwOSXHDd%%2JhmcK2<^aFink-Ash& z)lps}$u!*G!^n)oEuizHgf9Y1s0~ON5!5gQHMv2ZrkbWqr==_>yTjpO4PrOj|3@J{ zHxU*l^>eu?bWtq_iQi^c%O=9Nf7q^=d=;K2_E<{R@l4YxrBlxLZn!Fll3g}9OMHbs z6=ut)IKPz>UWnFM+LyNQ(USVEdDCt6cQ01(QV-Q7@DTL_v{OnMjsALVq|D}HZnX0+ zJGI|u=)|Y+I*hD(LdKr+sD4np`T(t>sOGEL8i8wV%gt?;U6T%V++eOfJ1wk%{!ILT z0)$vR5Fw3ftKZdNOxd*`vT3x?d5=&l;A?J;KQ6pI*5Z=S7iL&tq6YeE{5zbyNBX4) zeD$?}(OvRj1NGRMC15{ukfXa4(}HF#6I=#+#Y>-|7we$v2@!u240^<=2O75t%p|Xj zEqt{A!ib#wJ=qHnv2`#&Vd)4=!A}x#vfJJ_g%-8-vYjQo+`GRbx7lS}UhSLBYNP(5 zq8E2*&S`BNjni;p>*H5&P;nEGfod);7&DM5pkS(kjnwLVOuR>-C}xed=JrB zo2!9hgceDUu}>sqso_mhZAr=qAuSBlC?%$QQhiNu9PyU;FU)zcFYo=wNTA# z_3D3qAexkheH7T2-c!h$rm*7jf)`VA_D>xih>2Fj z)n1!F*JwQUY{lhql%Yn?Us;lbi^jf6-mfB#&5G-_1yJPsY&o+rsGTKSl@z~Kqg}pL zX^7LDw;ek(LFWuoa>%=b$1hqeK0fU8h6wlEUK;J{xE`i|mHnz$ub{Bf4nc}UVVvAE+|lk>ZLi2`0(p$ERIupSIkS2};s?qvE;Ct=wc9n6|`J3thD2t1@O)Efy#9iVBHv+lxpY>jLtE ze1h{42Z_^A@D|~p z^hCXXAv!!F<0l&yRmgIBLaBJcxXBzi^3N zR2OnWG4hPt)>xCPt?zVb_mNK6u0Hp4$XH z2s6P{Xu|nNZEurVJ&N;nP5JeD{?I0r>PvHv{t9mZBNZ@~3M`~ifuYMIvPHx$M(1S- zgryvE{MF_EY94{hWC+ykA|esqbn>C33xT;k0<2qfYga6L*3`PdZVRPTl%ms9Hqc=l zIN(QxcM;>_nLqz-i>Xc!hs|d}z$H!3O`DVp`h$Fj&NrzT*#}vBe3G6!#xriZEg=dn zxw&=A&RMM8BNu-Ud(o09SjZ?@v5wzxV-TypP*`Ttq|s!H(fg46U4efGB&m?N(olP{ z2&X9#WGy5wnTZ=Cc)*yW>7gGE4}F<8yHxAiwS0_yKw((&2_kR8zV)#hpQ^RXLYoM7I zZ74_bz*o_!=0mq9m08b5S`YRpwjN_7ow*@M5q;FgtBE4qwyTUPbM;Eg8yo0_mqt9K zA7>38@(uRrA~w4)YJ=hB+C{%WE3Edep4mhrmX%@+&zsHDUyRWw&}5f~w*q(_z=b?Z zep20HlGn< zSD=K`*V-a>HeR}RhLxQC=z-Yd>hLy|W=1bl zO_tf3J^I%Ov&txyJ(kFoHhSz+GuK`20n?rPTCPni0`M5dlu55!otws89)0@ccXR+J zh1~YyoNDUTyFfC&!nBzuTWrpA7jeW~xY2d{a^{(+Zo>}SGRd%bsZY1-np9hA(TdOx z^}duH4IVcyxAHPJ)VBq5Q1J3YN>DZ~p)?UomQ0suQtW@Ncr^I=ftp)g``S~Md*Yzt z)A{W{y6k85()0JypN&c)3|qX?f{vVUsR^@knoupPid0mW%Jx2m3`rvkIn40#DaOwf%n+$t zjiyU3j(D(FV~Zo}(DZu8W<}2tnH^oQ!Hc>pNZxpRV=N9A%Zm>2-xv!=eL0zB6QsA2 zo%|>|?cD~W)l{FVZ;#8@&*$my^ZADx0%}T-@Q*}#wfhO4;doofd?_66Ki6e#=8sOI ze$u1;+*_$X*dGh|*aZV`Mogo>QOnJGH!ycJYS&jNS#O&%0TPgykg?*mFt|Z#B1sP`k7ruETE4tTC{fUFg{IOm`8|pkz_DG;8i<8PbB6pgtQCC_f&*E|hv5VK?}vX+KlY#hw|0%hWC-b7Y|&{ z*`4p!8xi2#SLXY3$kLF2D@?CKQZ`UZ`>JJ{WK};Xbf2?J_5Az!fw=SGWmh^9dzdcS z+fPk(b-jCrpV{xQgmh%H@~w*X`V~z7i2VEr-9=*h<*pDeqwO zX;uR^ww~V1nv}Q%D~B!2Pk~MT->N-SZl|4pEqO8jy*(ohx2Q8Agfs&)V{@g(zF6zJr7jC_ z$Fog-@B(Am?*Xhi^S4gUj>Dj<&wbXaIwZ>sJ-786>oSiZc8#?A%?$444B8lUyr`P# z)no2CZeje6O%TDSb?l8UzINk1t7EINeU*=-Jlg=;|HNk?pRFJkd-b+%4(vxGx4wq|iGDeqQ18V+B1 zUiU*YdzP2VuLjy#px;*SS{Z0t8L$iy^fMggW zaD-lG^jH7%Wck87dizM**aZ4ZpE*$4tWw+AG?C`hdx7pM`{_Wxk@VdfNI=c4_&pK$ z7}h~yrsyCJ8lA+^y4$*$DSF?frKUR4tCyLX{pcv_JqwD>moIf*Q<8qVoEfud*&^_a zk@|aP2xO*7O}rvK;FZjPmDDefI*j=Eq9yGX3So)rOEsdRP*#KLiTK9AR$M0b6mXj{7 zYd4RXk|3XA+9Dqap;A^TKRzGMQKvTSlNV-{i)@&hP2v%Jo>xI3W>C#lB6b%z6aWw= z$>-A@5_G7f@08hHftp%{u^8^qV6A>IvoVV9h?}<5<27plbqk<;IF^`oEX=Iq^H&|= z@R|{6uF_s`Rr?)U^H=gJyEl{&W}jvO9j ziSC&in9LN}F&d1xCoM33dO>0ssvd8C6(O;W`XfgzBVE5DZn-Zgb)(OOd>X3?nKHtD za2i4~?W#7ApD-NyL>ew0uGR$i*g}oWDj7;ojZPk+|Ba=W`bg>X&kZ$^CP$^JTm4Y_ zKGBA5dcESjdXE7qC&i}k$>{e~(HE{KT|@eVJcLs7td8A~L*Du4to|X@v*hK>HhjM^ zRO|x9t)S8b4nRDKj(?97Ndoa&r`y=*aOwfQ=z9tRA%+=P7_oqOypKH2bDS@V(L)oi z5Ca{~9@3P|?$Ywv^U~Dv;|baVTC+N~wrP*W z8I#BAYxYHo!rPgD#p0*>%JYb0L45#;7rNL)FRc6V+&6hLL{J$@kq!^jsr_TpI8U=@ zEOqAw0Zg5B7ZLpk`Pfhb1~kaIg^-1Z9F*}zIrHIH(y_{!s>Yj@PKBW#mD~sN`z~@< zr*&;z)1La`J0NYzE12}A@i)AmICKzZOndfT0rv*j`wk)%pqPpVaqNQ1!sn5}u1*ka z>&+098nvF(dSCT+8sXfpGPa#I^i5;Rn#1Hd&|&IdrEz+Jp{Wdo#oWo=bw@q(AYY$y zhh@fx`Wq{WV}2+VoiBf(T13z2IIv#w_o!>JT>guvxzd~8mjpGR zqUP7sK`N4ir-c-It?m3M&W%2fi>p!o6kM&yYS!gMdTH9?Vb?nKEiwo*_4sxf?gLdy z29uz3+IR$EZ^tyGcuG~}avk+g4Q1G@{`H$6NKfDVr}5-274fk3s* z|9c;3);OAm7UFYP}tz%xW~W4I?0+-@gyicRM+_cPdi^_Sc{vuemhkouM)5 zWjNx}E}4HCSK0p}X4BD^MvojLq4S6^ogW{GcK&9apJd0aa+G!Enm_fEW}rTTsyDrQ zMLB9g9*XogiG$PfPcHy$3;I0*gnU>V4 zy#hYBh*)%GtmAnS`@)35lD4*$?u<5-&Wv(LBqSxW$(}=tg+2(1d@GbLFT98>iAIw; zz|<&&|LpPk`vSar;?!1Sh~e0+pEwiBKte2Dp)O$7)4E0S_NCF`3;!Z@z=qd3W1}ru zUHMJ&rg?{jYi`(%7@>r~`@U5f1V(W@w|H zK23Gdw%Mrf5c5G>i0t#Yx+g!gO65u;lO=|dPN@%93A}$u&X+?rm-cfrl1F|7oYEo$ zlV<8ga%O)ufU^t#G=Tp-(ZRI7Jt7kONv>5ZrFDx5}q8!Toui%40Yb=!*e%F#gz zsDo`R=wd`C-P}HETZE9BCc@0g09yrlDx4)vNQl~WbcKsgXY>_;3}eOagEqWva?{hk zp*xMChL<+8Z!7c8?l?3x7Oe230d+eMVwFtqO=uSBXU$C&m~Xg&OetNs_B3wkXEdp**0|sWWmS-S+_@F{i%gW$H?$hu}2)Oxu{F8n(hw_n)IFY;M`Sn6&)Qje{@o1e36Xen7PxQV7rhD9 z32m5-_a2SlKP9i|Ph`e)_Z_menmAs?E~Iq#y#_dLk)l)#%{%SRx3y1cXAcZq(r#xpE?NM z#6CEXR6!;aZONy0EKiMsV_#*ju)=G*fYC6$TBzMgoNJ#eJ(rryO$jKg5;0rcWy zNbg353E!V?ZG7^qw8&7SE^*1F5lT2&p=Z%$vR|9DiCTX}I;b!&JUp#eU+Mg~!WIaI z1CY0iH0weH1JJW9`P9&5ss-4qAwoQM)V0O{MVK450jdinqjholjp|TREl{N=j1=!X z6Oh~7QH=*FQ&RAnQ4a;_#-Z<&9-q(k>;d_d>Zhpo#-xSAF}C!b!atea*;cKvlakQZ#e&v?Z^id%Ju$)X;XERne|CqyejH41@g48iDcSzToqk> z0sr6>ZwSN>=pr)J;@dfydibc747W4!5WB;kk}VW1>y)fi?*OjsW^z_=>w*67Qu-`# z8&K9oKvmAu*!m-10i7=7ga>{RG&aFm>SIbU_D^Z;7|Wc4cz=nxK=yZYf`n_aP6U&t zEBdp^gA|Mz(`FW$`fN&qb9g?DORJ7hX+=1DRLVlkcJzODz`U=_*ms_?PnWb6fNM{K z!2oTVtu73@JX#F>o!tKsF@fG=m)yZUmp!-eoVL=o*DEO%ikusz$RW}N)e!OE{iiGE zYKeZS6IHwkV+H^UVlGBJm?y7ds3D!I3|;CX7k`&kJQZtkM}?IZ8UiS(!SlV-l={^b zLC$Px>Rf*Ltl?*|3E`|$gL_Al!$B|o+ER5b5cuas#J*w|s^w7ZVeMck>HDdR*_lsW zjAZ%K{hD3oGO;T(eoTXsQrvLuxDXaxG$24Y1{&Wed7@PdLKf-|wro7rXpVGWnM#8TD`*`SnD6q)3X`Mn^_$+#~g{cR|fj_z1izSKSS5 zdvW|0cU1g#c;OwqGJS%UBb6Sr>neHg_KgClr-8yIseLE~R!wZ-TdD1v(qtQt;q{ir z%WDHxvM;@EianJ`2Ze%Js_e$8{R0xY9s#@ESJESn3I4`C3O02zkc7!SJUDmkntUN# zks-;P;A9>h&`kaiaewwG=X|RlKd5iIBy|Q`C_>jlePknKd>mO0m|oYO)rp)my|_vs z+|P;wN#>tb{YsJKfgX72CqmBNfOv%60(qc4qjS#(B{knv7R2)u?8w11R*mR>HZlaG zxbR%4r9(~c1NNyKIyMI~ja*jA2}QhBOv^bFbKcA0;ZHVAx#)I3?VtfKe(sPhy>h5> zZpAbFec3wK*M~yD=7>XqLrk-x$(o~so{s?%Lp4VV55T&W)>VJ-Ckp9JB6X1IRFtUN z9i-1vS{b8MK}#`O);ga~q295}3^9%e=CkZ8*CE&m9=8E#GX{XJxXWp!E0^N|C~+p2 zWDfrsJv}JAv!&yh(sN`OXt%#ane`b;%fw_(zqa?OyAgEA#5TlWW6gjx7g0V*gXy`_ zRJ95>-78*0+>=H8Xs(fx(C&Aw(@02Bt|Lx9+6S}2wpk(7iZCd|naCvYr^Ui%KgF%N zc5(8LV1?%iCJ6$174%}bb_GfB2hT6j8$E!cQOj)Tf|86roWS+`x-ph)v%kkNbRB=cEd<*~s4XXLs zQNH@LVfK%xcceLVwQUW1B6P|{Hi?F?+CzR#iP%v+~4_WBF+ST-)PBP#Z| z=JhqQ)Q9TYiG^G9B904 zs;qw8aigaSuCau_c&45vm5-B6D&o{xM0*UrD2X4{{MRf2#9HdE9Zd!JrTpENm&E@` zEx;PVVPSt4-|BjHD13DMbiK`on+Gz^sC0wu$|yK!ck?DAb*>-A&PC#?RhND2Vqt4Z z<0>yO|32cLYuD|RtOGB_xq!|97#Dm<%=p|wkqwz{KYLsvQ)sps?M4q$6z`$mKL~mp z-*&P@h)Qej-0xevIF_5d+&j2E5^xM8BaPt&oGeak3lUobR!inbgu6^2vv`vDI8=2x z@NoC3H^sb#gqP+e`Un6PUg{&-o`pcn*mh0f zb7JoyU%)`^(u|hc2s|yM>}=kcpTD;izsg< zzYr0+%1f)WQj}}@BUcc)Z*2~6QUKALSGSax>jTIz76hN^s@DW=RZ~*Gbd%#5N*0s^ zh<{&=90oH6`u(yxvswTa!2u|A&&3z!NF8zc=HF^hi&Z+g#s|=iJv?tjf4znw6~vO)r1Txn6iFOAl#$$r zcpMAbeVS>6SVePQfwIv~yzC0b_fw=P&x3 zru+{$4d0A>MZ(2a*(PZO;Nr2B`4hIrCXeGiIlIQ+BqBbcDHad*T5AnG}`ZzSHsV4LwCvP;u( z4WljlWF8|wOL~+sLCVks|3_C__jqn&bQvicsK+-m$Im4eJPSo=* zZsB~9osScgH|^+fV;(eu`cS4Ta+4V%8nJhFGx_zT^vu6-4+X>+eZTzWo#;D3o@sUA z9DYdscEv0H%_Y3vwvd1mY5v`|kxPzyZN+~tGySstsGl4-L{bNuxBuby8{QdR`K2$4 z@okv*PNKwcw>xN^fIhc-M+>}*r=I7Rr<6x_|KKcm>X~`nP)RNOt3-{|$|CF&{OmLX zq&IAin+EDq(=Ci;fXC$`yYknc$;~*UB~!1zBCpm>67#y3sAmk{$`|mP2`Q{9(13g~ z3>B=EAdNVw$T&sI7%VqY_6EEi(4q^&WVGW>PL{c|#~7tFn&*g*T%pOhOH=!>2y)1e zDnaYTubVSUnlZDLEA5dX=o4w!F@l%N-YDv>-wXS<{E8L5zTw8~O^XYD067D5Bln@q zBpR%MG9syC@I5~J^xuV(WoFiT4=1A^VyJj&3u)m^o!n9Fp}sZF!p-?K^kTd%9#R{F zvTOk%X-DsV4E%f<+}LI91Q>uS4@%3Xg2xuXK84ru=W-ssYNB3|-2HG~E+zfvBd>R- zHnrktfPdl?bK7-=ofG)YTztF-0^<-^>6_<%{6M5BS4a)=)S#>S3FVacv`GR#g$Z)5 zjKN}ST09icCo>7 zb>4SvzGCOz#U)2Zg}a>2jJHe^LT~F9Lzikk{XCk#`UFtyieDNH~$<~UD?!vI71mGq&!>< zL#b&5-*NCv@GenH9x>dig!m@Y;5R-X9OOH8Pi*h}ndsDZ2M_#l`{5c%`gjkj&>XV~ z!b*?%d6n}5{9QoUcno!U`{jhVN8akfO~-SRuK`M;676mex2(yf5e!9G?TzO_zR7$) zbV?pJKKt3it{&?_8JsI?D|Z){rX{YIQ=;9VW~}VfhLV3uDsTrPk0S0!3V*vP>2~r) zYDRe^__2%X;go=b%CimMQ)<85f;QdaOvAKCc^Lz}2xocWUh=uq9VvUXXy(a${DXO< zS^?pyg}Y$NM5QvLQ)b_}2E89E zK@zMZcM!7i1QT^4tL&LhV=IjS;66TKTYZ^oOO$Z7)eA zpMB7=m;7nuL^h5Bkqg=%bbusWWFZt)T^&n0c}KltEBQM%1<1}l6KAi|DzHX?nc4mC8k8e5Wx9xWxNN&xGI`_Qx&c-iKsedAik2iI8CK?3v1* zck8;<$^{Jv#8&E}sgE&8vH8CR?h3ni#99piY@wGo64aaUlhOotIwR}RT8!LPDwFTB z;YJ^$!n?n3p+{oN$$)5?dfjAo)~&LwrLqhC%&NtHv8W>b-%ZxPrQz9w_0_eF0u#Qv z#&a}O-9r3}n`JsKg+6g&7sBd=dHlnw8K|wPP}Y_dK@#_d(_&$vT9EIOF6~w{%b;XK z#etW?V6S%`FEw;JHqo{ipb6>=t7V@^J!l7AzTxP$+c8MIp@9Iqr>lg5m|D5%kb ze52bVx^?FUE=pNfKIu(xeJVMZCOBTFS_sLKu4IJZ;03g+FP~`l8Y~lOSL?QQ^Z<)%*(p&5nx>RhYm46%;{lpuU#B?3OvLW< z8SOYV@iy~T4v2-JOXz*5{dl9fQ_6E=GtP6Pt9{agqu}_~8!aI@PG#=MogEStz0CLS zNdpooijPpA{IYh7j!nU$q?l@E6nS}t*wwq~Vl+OMyzFEzdtfALS9q|C)%kWC6K z#N(z0PUcz=IE+mr&xLBVtu;{>pG2L`gvcblf9V-s=wodC{ef)bd2)Is?Cd*SFCAnP zjrKteQAy1LfV7l+b?JMbS5XRWLP9VgUDp!g8;yUv7VCHE!MpOzO-E79tEeGLGGowu za!Q}kwHZ`Ws2rIoAK9(1PE$_P3uv=!VK***tDYt0@6CcCV3V+D%QLLZ?9-1*ik4*z zHkNwkiP+^&@;XpX%tdp@py=AG&jMP`(62B7Lri7c(+2w1KUb8+6vkpo?sDX6yFTD6 zIld8f%i@|?rTX9`qV;xnyJ{*M9m*T3N}nLQ4-Jm)922a!vvDJGIRmb-E3cYj&sSm- zA_*ws4xoODfonQ}c!1{rrbvLCpVlOZVlZ1oYAB;BafF z;5o}|`0;M_ZvXR6qONQqMbB3mpDG}#FXHn7-Xfi7C0ugzC>tr&d7)vTp}6BY?BIZQ zHWBW1{d33WtFu7u=00P_PIvA&7eOsBn2pdxxlX4vpjU722gMe{bzxUgQECwaC zk%^W00gE4?;;2@8iFb6{N+|ffh5ioYw9rM#pjDL=k)n6B5@OFh$ z#g9tP5K)R%B|$ zaxLaznxVH7>Nak%8e2(0=iEw_m``JO7}@mz(&6xsa$(gC;)qNzQ`yND4iBAG3@z!- z4!dper^pl^O9)*|$Wdo*^AlNHOj}#D#B{-}P2I?WBgWY{g3n^r147&*et_5`(AHVQ z*1bj|{T_eet3FXi-sdfi3@w6&l9pht??ZSiQ`QIF+QtF4q%KBlW|2dPLd&afanC=3 zm0&&LP9iUsIz@e4=bM)@J{t7_yL7Yl)hhM9M^VQugfHa@txckr*)Dcc$wURo$#U zygYL8rKf86C&FT~86eN(N;Lt3^d}JYRDoxLW8j3bKA=3`Ena^9fI~i~ZZ~q%d>VFS zN~Q32TKBs$M#`qDIZ|P0kTrDaQ*l7Iajlo@3TKJVw8-9E(zH)^M|QJ~mb+e>y5Qp~ zh7BgC@;hSck=-t_ZD6-TdrYESk#EVsETRmC5uf11elmZ1eaToE(62U=0=lQ86kppX za7J6&pS~XS4X?9K)lNE7*qen{$p}Uf8?Eu@(9FqiPQ}^fguG>oXt_zDjaGJZmBqU&JfUchwc0GiDYKH zy-fKE(5-PNfsUpULl0ryU@Z{zb%6fa$$Cy~TdP;**1_VRkG!uHo@?Am{nF0N9@-yE ztqoZ0S_F8MalmZV6!Bmu4-dQWo}KZo>11@f>k!$wwP1zQXY5204|+^3@Yr=+^1H+3 zS@j(QSL(>}!@W<;&-tc~IFbOKJ{vja{PXbmx~ame(r1wIczuR~IKs#`G*-I2FG@}J zPf2-E`vRXE?zH@!Xx9>PXWibztO_L3i*}ZkP&ssCs9++HZAlzTzLBPtdD=PB&=Pm>=)t4~kls`Wu%R0uDeqIDQ6&?INgyxU`o7+dh_`>1SJ;g3W-1^W& z9AN5Q;~tZ9`6KDa-o^t%6K5vO0CO$dVL2nc2DJMO;EUa$C3AU*R5Y=}!*Sqe(#Dr5 zAMcAj!<*l8ml!|0qj_pnG&w^@lO~d^clE-%^eT>ID^AGn_{Vz#7KVFKSGh^7)RaU0 z#mi%``9^>nV^pTG8m%s;P9EB9g4}&O`X`#LeIjRfvc#5HcU_WIG9TdOfdIAjNIBEB zGLg3G*{`4gFm{_-xzmCo&(l4RtlzKg{%Jd zOIIs$%nh(aDtaCz!Hn7fCPXtX=3xr2lj+6D)Ko#OR#AJn&GrerATKZ)=Nb#GZnC@3 zp=NCV^8T^5V%b#tPufoYP;WuGz@G3HzO$g@D*~k_UV<-zxR1GO8=E+#LpuXB3%ySQ)Qwk02a|=P)m8n$? zKZw(NPLtB7D~)_#icrZQ6q#wJAa!oS5cRa&PlPe9VQ3KsNE$6AeLqmqITRo-LLOEWx-)o46#NWt2w1DqzlN^ zpPOq2Mh1LIdP_Aq!JK}O2blV<__p>~>WXn4uzGc|)zsDHwzcZ%@P=1me}Yg!&%dcciPHn82JwH495 z%YDPdl6rKtPM<%y<9Lf9>{j7{rbg2i5(gj7#mh46TC1-Hd}%zra7FRx5h?5LFv3x- zc#xvMBKVM->9<3dw`kCg#4H|ScDJHZ9zB{vaJ*~lAmXVjGR#HJY&LHQW~WY@jp5Hq zauV{tDb-;W>Ek84{YfNfTj>f+@54OB&rijHuftgP+hp|W^9XJEb4Hhb=cEV!wsCkp zB3u}stOcYu;;rP~BOHb);S$lk(kB6taVy>tEveko-4G{ZeUf=ZM)KSxVTV?RuNk9x?buTruw87iH34jVf z>ekzRc~U`t@VX+L=YR)n8&CQpN=T15Jpu8(A&U18N+-sGoe>G}M*N=e?>aP@c{Qoz(+u}&A4M7EG1qkhzPg-2Zsf>8TRn*nc#%e=CDUQNByrzKJw6>2nS39Eo#q1eE3v zm(?-?ZyNlNG|K@7NiwSCjb1rC^7hBxpO9hf?;#!cJxT3&?%!!MKF`7H0#q;C4oQ!HE(4syLpgT=127ig6^WczqHlRnnArd8OXa2SrWUTgw z;!b#gloUzpF74UB7Ozc0qto%`KI1Th_Gzm5u-CjiD{-Y&${+WNxO*}K{de7mYOnoM zFGDO6&-YpZQLU7-O&)83Q3>SZWQ-csw+=j9)(r@SF5p-pW_92q6%V`tX~?2YmkfNp z+afHjqO*#SyiLZoGN?-=KY4*W;@&paxSnZJzzYX9!B_<7tMo0WSxXL8>H)~o^l>^8oOa3aqF7!m*l$%-}u}i1_KOK(-bikxpFtoWHxs!yU z40Iw2F&&#t0ORCvT=$w!WJLZuN%ou2>sArqyZz1Thu}1dZU3cz}7Okj)*A( zZBoi~2&x%C;Q11fHfw-g2$%@0UYfM73naS8aAJ$dlf+zn$$i6pJuJ>rm=B_7Z9VVP zrAWg3gK2GtN(-9^EsVng`ev)yrSYM63|MzK-*0#J3W%;F(AE~O5!B2E&V$wrW_+P^ z5TlI&Q?Sfn*iZIKtV(P12T)$hYJu(H+3LsCXz$hW3YJ6g zd}&$%vCE|pn766Jo={Zem(QC9fT6Z1pWaNK-u6A&V~7CXX#K z4be(j->cP?WB!E%fP7kVpSytPzNGz{({45L6g};7)d?vdDU?dK*ho32UGaY2b1{7L zGplmY)|36NGnV;pGKLFImb6mqyEZR*7jR*bQ!00)WQ#D0n>rHdb4hfU_UW;rTaKDr zZ~+kyj(M7!5>SJi^8>)0dG01U0;q|=RCCZ0o~LMEvMj7WBMdJOBr<^6@NA??U&c9b ztKXz8J*B=Ug^A>U-heY5*f+0SfH?A^VL zxHF*g1jN$fZ*H3M>VED$>kBLFG;XO--?BRW%^~DxhAgnjq=k6j#rWKT%_h&JjDKU= zf8I;7?p@t7p6Z@%JJ2Tz8)>KdeF_i@C-$ngXp@5`p5em@SQI7w44DY=+=QqfJO~B9 zpe*;GWvQwy0vpcK8RQR)*x#T%&sW&^o3hMC*o))rgFS?dEEv3#z**Wr!y^3Y z;9V@hQd)K`+?@j6n~+De%2JfF9y`H@!-K!?OSAFH6R9sqWZe@~G}X19HNa)YxXcXs zL|*mzvKev>G|O#W#(2>IQpPCWG5AxmmkzJyxQ(B}^!S5t3Jdx^+E$Z>Cd*GjJVhBz ztIv_e81)#C;#t0GzbWC`30jPL!up)(WEI0{=7EGIyo>F$wv@|3a09KMN}c%QmfW+h z{(b;nJ~`=LJ6dISoRto+4vyrNTTKLka zJ09-==3TZu$0Ev*N+1*G5>Pk=(+NDC<^Kgo{q>~K zta^xnR=(7Z(ASRBcx*175^>$)@qv0AC3!?a5LcH3 z`&??2`l)y(Fv0B!`!lu)6>Dv-9les8%z>9WWD+Oc)NnvA?+rLfg45-mZ1|ly)_eJT zHrr7`u3f}4v$IWVMZ{vbGBaxPN%7298lwEx{mJ}b#GNjsFDl(icH_WYhidV|>C&R& z7td90mo*Tu#CA&N!2knkO%QP%ZEZ}F546(71 zV7Jx-RI#R!@xbn|p{<ixMeAE}igWXjOqRT=WTCQ$lImx%{pTbUJ^lGGsmB1|Y`;qbPMbGM^>(SHIT zuIC13WA}VHh67jyz@eX4-IQdKpn|AP!ZX}w%!f`z=iWv(l@xFg6C(YiRdV--7qlc& z(2w})RVTR8(oHgwjoImx)?nbR14;)6KH(shx?EGIh34_`rCsw7uO>|KVA*9!(SEaF z{Eec?W0zw$-znhf2%8<(So~5M3ShC+AMaEKNqiIDoP6p=(ua*kpRd1dt7b*;o4LA2 zz^?`#aiF5JP2bm7kVFAsMYbQKSNNIk8OTD!<27cTFT)!Ne>wuPL` zSX)gF)$jVDIqyPWwgK!YY>P! z^gfu@^%E>#C|}cX^y(kSgwDRpsF;|<=fz2C+^zN>-KA{1fB19D97k!cfIpTRbx8sF zfD?w%GqV+n6k^oiFz`8$3otoL%7s$1F+MzVgU7CzVTXX;Yub{#s3#NoKrxth!hD2e z$)lq%C#iS3Um|x#>-5BazDkT`^+-6jNolY&1qlP6WLHunVg7ubiPYTXpYpQ3yQQ2G zAW64ro~`+^hNN18j{kdk#J!_77QgtRPy_M>72GeYA6qm%k9Cbr&=hyFBa)N*MfK#d5~^us zAAh|A=JR{|Vs*@-f8LVC+T9fKe$d+(^!tdQkR5?uNUu_aoeRl;q^EuVt%xYIO4C+^ zOY*2Vh`FDDc)@z3HlfKMUVl$Qoc^-3tRrp=WtOHoiHq!8AMJ~L3A|b0txI1H^t$V@ zoo2y@U@C4h|A(&k4rF_8`^U9Ts|(eI)@W&u(xRvmvqLGRs)QN|wNiV;iV)RBQA+LE z7EuXNn^;wQrf4WZtcaN)h?u{RbD#UUpYQM7&tL7oK6$_2*LA(tHP3!0Y&hX^U=}3- zkteLS5WV@d3~MYo+Q-PWpmP^6XP3kpHg|t+!mmM7(1YEc4*_=e*`Lw~-(*`bkvnKJ zL>NK2_`qkbcZ~Ua@dEBFJ9m{&6}h98J+97So78(q$rsVAO%>z;o%yc=%>j>G*%#m7 zTZSS%f*pDZ*E&WF#zd2}Y1yl<2$bi3LOeme+G2VXswy4fG{9eyu)?V@e1q6SOabu; zu8nA4R;oPG0U4dZK=D0?d}1EqZXDx!Xr8Gu#ILYL5Z$MfXFT6BAhGdTklJwM6p(t6 zkHJI*?X~16>D)_a{S@5-Ea6gYOW(xq{c!({kF~nL0{`RXijYM@$r9u;T=CeG_ni~k z+?-Q}9QZD_R;jBV8i2N`+9&3tt8}5H&b=YgpGhrS?o)KsSajtli#K(_;oX56X1#5I zdS7b0^NrKae3oG5eC(brm*Vap<3-&29uKpv*WTMT**gS4!el5IB+W`G);1GadH-MI zKu&~Si|5&ns?#4`QuSAs z4sN9)xoWp~Snytr_w`(1!GZMov=aa!Ly)@m5F8ZXogkJxplr%U$^l>wrq;YAQKh-Z zV|D+zS|*z8w#EUOJd3Re2*}NpyMF{pzD|F)`qDEhdR5dNCsYvxrB}~~=8PTjd!X!@ z#%L!$Ot|20lkU=K-mKU@+-LW3(Canp!L%%-ptbi~6 ze6*LF&&R{!`~V5eBBPKE(1_?63hJ96>yJZk#KC*d7xZDyJX}W$5T*cuZALqw1jk}L zK3TrJSQXF@4!kjS^=IC3ksY0b#9l4j!vuvyc%gN+sue=;P)xSv37xDf8Rw{aS==Rw za#x+H-Dv?^F z3RS+gJj3iYt*-ibA*sOM5V{%1cK6SAlwYa7C@|G3&$FI!=hr!1d9k#+27(s86kS?T zSD~u|-3fQlTu6@6=!NiGHKLgUTWK8ckXH#k=FK%3G7&0BK<&WlgsI8J+4S7vd%^|& zuSJR7OW5$>$prC{uP0=c0M;AGA6h6Tq|fo)C;>)kz|_+xtA8tMNDUYj>gIN%Dggcj z?U^MiY7%f++6yF?<1^guB^|Y5l*5U~D{CKvbV2I&qlt1O=X(!PyiXm#PYlvqb&J%% z#a^&^q%!`y4o-$$m;eM%0Y;T77rGI%6V{2m2ru+>W{oo}R9Te-1v3IXx6@*uU&--3?fgLdak;c2>hL4A;ndHMK=;IQ#%j%? z2?8HHmO}kx4^7>rEl>Tx3;5B3Lk38B$qXmBWV)BSt!#)YK1YfF27R z$W+s>5SF!!HT*_y6M?hjq%!6drGs10jHh%_E=$6#Uc1dtdDeYA>!}Jlr|}DCAxWN` zP{OF4C4eyoZQkQnFY$3xn3kA2(PA+YL?7PUqG{D}J&;r61>FkF&d*!8@Y>2(48qNGRNTAWEg9Za zcN!tRH9+AY$By5hx^VWt4cG??P;1znl{gbM&uw`KChd=4+OojyC-PMx(scpxhXOYH zGN4rnPY&XP_Vd$9SN;{RrTOE;mCwq@R9vSp#D!BH&kXPO2xh1zhp&dy9H2Q^CDRkP z1f}&%yb=~)_i}ZcZ?>~$BVPy$E=5NiYY~8V8uaT>3eV{5=fW<@h-UqcP>YHdl z>wpmzPNgn#R*`SSRZUKaJ8Zs63wjJTx8>%R58Z95>c@{g}SEe`yt$2i_DLQ6Ps)kter8^r+#TfAPok0>Vr!1Vu| zL7*BQ#1D6OiXs6b0~GLisg2br4bRcMx}43)yc)V0TN1#8RrXu=-Qu{ zeo7@R?XEOtL|ClOWzE#RRtO2Jn}x3$aV zUDx*8n32}CrSI0mg366tufBiFE`w z-(4A%dirq(ZJr^UP*KW4>Ab{e{`ij8c4grzkd8 zWrZHC)$P~?YVxA;bn-Iq10Na5~M#;1vr-LdQEh+uD)v%vc7nWITkA%cyVoRRNV9Ge{~SDPhjjckKjWl zF#y+Ls_<7x$Ss5ba=1=?kD;zkTm5?VEUp=hP9% zH2Y`=(~x$Xm+2KCKT4zwPBYSur_-(N6Y_W=i;(6&+V964Ks&}Ge+G67G)Bi>Ci{Si zTI!oUxt*ybAVb0usZNofwMiI%GoWk|KvZ!fD9-U43Px>4$_6K?JSc*xu(TQ5KCE=? zrs`dX`(g<*vM&Uf=5;d6y%K2quO3SLpEbJn@r45Gd)w1SC@X@fQ_!CDwx!|7j(mad zwB7xo<*dperm7#=EJGP|nBnK!d&>UBtZY_GERlB>}q&`X>ZP&*|@ZOlkv{H~w ztev;%$KM0nKAoA8Ark-ZlzC%b2Teb z?syL4%*Xi8Q^{sv>=w;Zg<+{nnHt#by;n?u+i?qg``x?J9!N|Rsf=m4!1`(fp?H@e z=jb(z=pQP--n-`w>NCk?bIpu^F~~M253MVfzS+Rk_1?xBICFEZ;gvBd@R2qnKn|fo z1ss>y{Kx()pSc6SVvMicNxS*RhJwG6xI8Jmw_ye$##`01PfkBg%22kMdb%+hmpRD& zU1iwR1V=Kb`F9v~3$e<@c1bM$2hzQD211Kc%$1p^E85W4siP#66W8s$kNt0pqE(UW zx|H%!MlrY)?>gncF}+p;+Zi`17w6sV(Nf1sl9}^$fcSN5balE?Qb00;r8MC_#jj;G zbEY%YN~gO6JvQAbL(Qlwx1f?Q93CG+OE~h&44!LrYGQ^*R@kqpj5hEzJEO`GF%@=(`$jj z^D8tR_VSt4-k8Z+)`%gB8GZ1HA=#H+onayydzrd^QQrr}5xbr0)oX&|WfejIRiy7& zdEwUWt=K+yOWRSYfHAEcJTrBfmfI;m)CjbX`&#d9nsN?adUu#mFj5{P{)bkdmaHc| zkl}Wb-wLQ5-#wQVz9YIS67#9*>3hOCE9B}`H)G-)J+3!W%KZ31*g%!VV(R4f=+)yk zni+u3d{uwX3zIn|_C$DB^FG&=|2dxfb2uPfz5@o2_|F4@T>06MbQiNg>o@2tA;zPB z#m-<{_x(AM#@T)P>VXn1p2R~k;I94~X8HKk!II>j&2&`X`5_92@S&Sc0Liim&NrJ@ zI)0vA3@$BMP;vw&rAS}B=>@>Uo2iIrDUftWvv>S6aXa7Hx>DIpOOtIB;Wv(*>OzfG zJ-{*e0icUenk9B|UZy>2w^@1gDH!Xt<5sqplDj?C;2{Fb=NR^c6l*bk6sXpv!S?x$Cr?wLs{e_WZzT33EpdgI$O6%GmWM$v(x_Zdo zc1AaSvvLo<2%SE|ZMiuyJRqg$Hx=xtU#Y=haeC~sNYmt0sil~}wo!h>u@%x7S=>ML z34uDRI^((Vf0X3b7XvjkZ$LP4yl&~Zq2Q}15gw~CZpx`>wV(L}8>0I1JAEUfz>;z4 z+^!vMx&lzCWqU$E z*zU4N0vy+t1EjqI4gw%(Mwuu>_2z9HqOczQv;i_SuhfAus1}da`UDHRJ+uz@)MN}C z%@%b?c*0JLUKpT-B5MtW~sSpQEud!OVQ`j%icY13Y)BsQT2T+%A zz^68s_qVkBUo65QS1sGCHp+ufl|=*xCykJg@1~C~NBVZ|sC^S=l`q~0D4C(EjYrY< z{wDtoldE)#@ym0ikSmD>??BftF*l5Rm zfQjs_pF4jUss+k#FtmO7PhUN5H62X*>VRL-YVqg5rx^k+5&F))-wF6=V;t&=L<9d* zrfdUYfo)q!_k$TRdFKSww+7m7D^+rAb;L5{eFYP-DH8{bk9;}%{?-kO8X6^C;H zJ>;GdbEG_oZnV1x-3SKW5IsFmo8cZk2n+^u?@f^Un@z!MEDoVTWgrS+1fRd~nO$5{ zu?~=z8pMB=s`C?*$0k$X$K=oyT3I&s3ESy|)0Nb84-kNf{bsQ@hM|D;fB8P_ste*F4qIV#omd=l4fdsQU$)u-k4_U>Ba}gh4c}+A1=dZ zJ@XtAjAbIjZQA&>f>R*4C8-bL#-7t{wc9HlSVwvHVr5eguP0ET>*>cO*Bo1bCvc=j z0DMjLl=+rwd&2Nq>2X=RZ?+0_QKvsMkR2m#rU*1#+&3hs@Nz*R?tGvyqAyC~>}q3&OWlsq~1xyYq4-kpp>| z{iqkRWwBFb65!x0hBHNTl#kZya83RB-E9B|F=PRm*Sdg-pP!_2(iZqCfp!ovgRw1T z2W_HCNM_|smgq>;sXVh%i8QN|&zZY<3e>2;*@K2GRJ+B&D+krLSQ%;Uy!j)Q5@c=5 zLG{Qh6oc=s&Ar;;tq)E$`k2yaHI(l%OPwD24xOvWEt5TKOchnQ6W*hZ!uxvckiKhg zFZj77Xdz=cl;Mi)nO(QXzmq)_$S<4Qn*Xf@7^xL(b3f(Yu6q6dXpAincoF|3+?4aS zKrWUVf@p(MA#h^A8P?2KkM@H~OzC2_%O(mCycf|2$WpsEAv9e$*?H<@`K|dx;c8`6 z3jK@4C*@OkI5SGtWok1!0SaJN@Gf~L`g!dm`0FRq!h?R*t!B{H{?e`*nniT0kh$@ACU2!>`h8L+Nu<=SI$Z^(JEwkyQbM z0A7^c$1%OV8>O`uQu>z?B~G1y2x{kXqSH6Kc7;)Y$Q~T2Q!7ySq(pTxg?u;6QZlcD zAdj5auhluUcmFQf);phX-adRUV|z*r$OKkM)42b?V0r*qV;!?X{eJ3&I4A=6H~f59 zNFWvPJo|wtz$~0QZ0h0Ab=kr9%os2B+}7QBctU34xwVoeszcM_OBrq6$HcWLW^WPy zd=OEE<1eJ7jU)r|m{UABB2oNr!c;AOD$ zvg6X3hyF?cCP?sYcm9ZsI8bS7<1dRp&DGXAab78W{VKPQ?~2X7$SssnK3GcJxdq3J zAE9;RsBt2`3j5nyw1oi3roQq@w5s1!-}ypM{kAG4A)1nG)8!wDN*O_A znV=cAUaZ~01fZeItJ%xgDGutdwVb*j_}`F>!SCEVKe_enfS9a&6(vn&z_j#C*?|L6 z)M?&nRW&6lM6nq?W5iqT$$Q&WzA8@H^x*hY&+ACy^`P0!lC{dtfvW``zRvO^6Mw~` z5L3yP&m-5+mqVOm3Y`~WVBy3{o0iC2T3&H?a=S%&cN6)LluwHj5G2V-J3f82+gs;Q zg{y;8Y=fffjuc^|zt+AcN#FmY*K2s;JJ%6qP|E{av}!NqXu%x&#?uxggGo2eM#%z^ZZk3(_8U4RN{r2ACh*PJ%iTCei`N?HFXB(By-|5Sp ze$A5?%AQ5Iy}KKG#P%*E#(nGd{ku=b|9FFu5B5AR5*LHcayXRzM)O1O%_E`7U*De^ z*VMUKbmno`)X;~!wlCj9NbtJB6OnYeNt7SC6p-x^hEVp-!j^k=((q{&LggYn-9*c& zpr-7y-uGWT4v|prh%{wi&BluLn^had=80hKr_mxz5=q^O4<;W2Wx5L`kcvra34@CS zM*Gch1o2vhzOhBClU3N=0ws-f(W;zWOjqapC@`C9Xe^9WmFL^cX}FS8?y8aA5B%6N z_9ih>SA<*#i?Z`c)d;vb4qaexUIY}zS|%c$z0d3SVx9MVe`sjMzDomt!L8cE-qKke z{mZDY$Hcp~Qd&*42ATN#9BTyXGB42->={UBKFN;!20?=DF@Y3c)`hLO5xQ%~9(>JN zZxM`r>lFhDIk%p%Rw61AsS@E8K537wcL&iq2tm*tPqfoF`?YGa;V3UEsxHTwT`0rh z7C3O#5zmAYPtU&T4lTQ^9dq-5=uodfgoKRaN4a#$?WRx<+nb__0$#0GoitzivkUO= z;2b^WUdHjgv$nlK_?(<1`z6wG`Dtb6^XKv}KKS=EIya0`5nL+9@*naQPDb<$iVdj` zfDN8>Z?+H!K)^_7sN&u>1J*C8T2S2&ohrvrJ6r8>1^(Rreq_%vTj{XW9)~hh@9oe_ zI?04UjYhop{Ll(ekxmNkZL}!ALh@$p2w${@62l4(@AOn3s3-1N;??K|U{cB!g|3Qx z;{OO_=QBoKu`5;u@!Tt@FG^f=;7?QYN_orEo)PXL(y|=253qy@J#-Sh9*CZ>;CT41$!ZW&Z3+8p1?`^@b^SC+ zHGzf9`G}(Wiik`AV{JwLWT9*}HTGl3&6F0dF7(2U($_8q*)2=_&xQ%V}R?z>jM1aa1b5&KoD!39~SDN-~fgt$0=dFLM0%V zt!Erz7&aO2EKKWTJ^n6?h%RT_%^0X8Nre|JZzO)C#&ri1bEGP!QY`_yh}=N*$3lzk z^~{+K!n^L%)kw(r;9-lF*iU*Xx9)2+0u^wm-%gMb`fSb{my+;jUrMAJU8YZJqnhGh zb_I*-G$g818D`moOBQ~km9@!G<(EuvMK!s5Q2bMtJ;2UT)`@bOL@H5k2#dNiCy|+_7x-`x`$jqJOE%>aHGPz#!D}I<(oU!9<&ZPNr%eQ6oDv1uoT-NUWBj8`h z#%eC~*Zx8bEsaKC#Y1gbr1-HUbiI@z`mHT*5c-qGuaED(J&cEx>4I|q{QdRGqeP#_ zdLM_eYSAr=dJhcs1fFN%Dud>9|Q*f zEW}Bk$jnSTYFDIMxhLT=7j3!K>b@PsbR(^ZS#Amg=VXZD7TR9D`gsmXR8>p<6|E!R z^VscfN+KKwq-Ebd-;DcmkTXFT>E-7-o#y17Z_xr9`yR~h0@|xJn!Py8kzp`8;LPsY zK#+?I{U`zMYm+1D_{+%reTG8IZgPmq1JP}69T#pnhlYB@Ch~lb(8NJ&@cEOza>vX$ zuZHt!CCVOadoIeMW?%Boz%~6L4rUuq?h!f!hb4eJZ=Hu4>?T-pFQKm2QEC-_VS z6N#Ba6T(q&!96ZpuUesI3vMNx|C^2BB@5xGHw^!I-%+IiR_7pN;#S0S`fz2jBurW$ zBV59|3mPXeF+x(ys2Lrb+OF~Zmc43itzizFo8%YL|2jUpg3;4fN=@Xw9dbDZaQ$2s z5y1i2URmVqF=d~H&`_nb7p-T)(iF}r0_Dh(6E{I!n1GqMS%=;BQ7%T7>x6uLa$Dpr zZei4DDwe9`);26r z1+G~L#iMT(yqP@*HeWrQ_b2+DEwVUJvEml}K$PihsrQ;7lsqFOtri&)^^2)WDmH;v z55eL#dmeJ;t`k!tYjp1A(iE6&ze1slTjS^L4c}s5SqZXn@}<}_+^&TAjx+B=J?1ob z^(M%F?m|63h?G;QEZ>(w(iH_N38Ty9&V#3T)-GDlHhurQ2w9d~(T>SFny4hwRsSn` zU+5(XGg;YOn1nvGACNofvt zwxN=2KzaSBW^!Aq&%$p6k%z&mSkF9yB|k(jYn(W1qzDEPO2GWZBx^q*ndMggBq`B>^zi_YB>*20kB>LxQ)q9IPoaynxFiCKP?*O$&)qo zKsWQ<{f#JPsRmY>G5dDovQ)Xdvgg}|2Kd*W-7He@!=5)X;hdV|bi~^GW?GQ30~VaN znJRR|+BX(t!k6*1=8hZaThtZ^;O0o4{f+ij3?aMAX(YJ2`T8HLUzp(4a$d>K^}IO) zM#TbTtk4swnG5*AgFq8%mZFpi-mdNLnRq+N>f-vn7q^iL{UAzYfI4-!I88o>{(c*FaU1gYtL) zNH0r;;1)b#Ojn=1b^O}k*_5rZ+cHux6X^kP-`isIG^hYJ&}eujRoNs_9kEc8>y z@$i-ZW%uDL#ZU_W{%4wi9F`=XgX#&R55qTEEslAchy(|Ll+MrmxT4$$<{tmSSww zNN~IxAsJ;y8ac@3#n$^^hr%G^ERdl9ChT;LQ=8N-G;IlbL2@LhaY+TZ19A8sY=T9$ zrcs>3Z?&4$EFB`Qu5O%3!h@p<&aZnve`cAN*|inlV)y0@dUeVdOO>*I9zI$!{f@+7 z%n7aazFM(RFP&2_^KLL5SYNzA8|Nl7ci-3uosTrl<_6a-hlUzHg7_T4s-}rr{k2d;ls-IM6Lu;uz$97P96z zxG{O4Q7FCm93k9bxZNg-bHI0L?1q(m5J$~SfLfJUz5t4zX$sLdd(L#KRqI6ijYU8E zW?iN%N(gYp-07-T+x780c{yVo2&gWl0NV#rcw}&3LLIzPbzqsExM~gi=NYMwmoy(* z0k-Z~0$oZVb7Y{uW_PW?tpg;e+;=chDQ2WjV5-p$@b}b!O#&J}aDAuQppO93cZxw(DxI%keO__Ew9=D_|@UcAXK*x z;no-x9O#bz1KeU~egkqbBL}*}s4h@3L0_HnVf4BK2mFH;7oqH|%>7r)3LUWx0yac^ zm|Vup=ybLu+7%q`*Zd`}HJm<=UA=^Ux1G>5+fVpjlXn9$wHw3=E~}pS{AR0rc1AeJ z>nRkma@X-lUlpy&cSG58Li;%3Dn}%3w5CcDRwY*&QU}>h%cb!cRmyMCroqdJE zgBUBQJV;epzKx*EY}3Ezp#PL0L3Xs2ZTYHiEhDXrCI*(v&S z`}GEs+*YkLQiHhyPVOkodS^86KYJn$bN8qr%r769_>?rzM{cOTU{+vo^~rOr2$_*= z-#pPM>4jI`MM>v-F(`o${~lr1bMr{Tw(IpKqr6h4WR}oW?C8TN^7>%Xmzrc+ZGu|t zVv)yWa~UlN!lIM~Xd3KQ#}ETVM7RXg^PL;KA`LJD%VH6`5Pwu%$zlRfaYo~qW!}Rk zqi(JZRE&=Fgxn9GF6tYCRou&FLUEZ-<5IcZ&gR-Bhj^ZU%>$Yx**5OWO}yn403ogm z3k?NC`uX{jR?QLTWjq6V?(>#XB4lNI8#hZM9)qLxG}YvaS|6OV`-M?>aU=6}O|Uy+ z8(Q*hv)aT^S=6c~)VDO!C6=cQs!^T%K6<5U7@Z6%3OfN0bYl~tn?pqlO3!~X;WVaD z1%{hLy@ap|d~#7lr;myX|vk z>UzZ9>XANBE?b_ z1JY~Qs}ocPwo`sk(+O6)Y2)(C2#V*f-pm>sMV5YzZmwAby1f#qOnctp)Sq`$JMf={ zO51;A9?HwZvu{xt?B6$vy0Bgzmjc?~e2f03F4t#V?zT*KFg9_reZj+~M-a;@$wAqozRinfye-Prkj{4J?M) z{+2&rkPsHz^Dt*()%`31aAFjxMJ-&lSV67LmBWE7#9SqEbIBBAIB4&~xp?Z2`cKs% zIjPk*5|_rf-v)Pg#M{hmG_mG_rsFdl<^c~}f4uK?G7rzrYIZdp+_job)+1iDpuKWw zJ5v%ML<5@dGFMR|jCtBaJ;Vtb9n?Is6 zs2)-F_H7Xwaw3qlYogQJD&_M;^X^4IY3x;)+esG`GfHYR^I3}4jqk2a3#wD4o-ZuB z`I6+nh>AQ?c^2A=Q*<3isjv0~5&K7&xqH9j8H1LQfjA40$|MlV=cAz!uvAPV2ue79Ml zmWO8&M_kyA#8}~)R^4U0;x@u?dk;l z6Hd*Az;aB8MRwsgY|2)$!lGZ&p#^?*?C_j^uANJa5iyxNj9&aI;TbGxC zyds#(FS0Jwv6`P%edH~h3>^R7VL><$uTtkcKN?6?ZHFm11;HU2X~&xCBf*mE0OC?g z3DCSk{MQvc{lBhY-}CwYd>0nha>r3a!+E%(FyF?60cfN|tcL?TrO5J5{UsD#&Sy-I zxaJRb^&o+* zs6pgo@Qd+6O#+)lXrncJ4gDZ!YC!E250CoxMqLYnbBnOJabd!ns*3521=?gluUeMM z1Qs`a#_a$)E-Q1?M*W*#VVJuomKhRPzHV}QRN@nO8t63&`Tpt0>E6=$*9U|Z-N%mB zb?nI5UCA+q=@90KSkelRE>3=%rS><>1AHj`%#o^)dN9Z;)F6L<7mEu>bTlH~lWpp1 zdj%iMS|iB->xfp=tdf;&e=gyq40|0GeI1qF0WP^|9a<}QcL1B&_1tWt)R@Ob^EmcS zs?mMp%0SKa-?U8smT;cFITg{j$i}1<4De<}oHJ(c@zZlIuND@#+H%K*1>q{P%U^dq zNu??Tp%m-xg)>hEQ=vP{w-}ShRD46;(uK+c%KDYSBw>_o1+D+%QaVu2Il|H-4Iio6 z{hl^ZndFx4f7Q&^dOC<&PFi`(dBMJW7SN++NeUy}6^+a8(D|RDhJV1jx8m6?D|e}` zdzEFh&f@OWL3R3-jGl!{6ZA?KTr@Ay8Ob7DC&QbwE@Ov(&3n`#k7ZD?UyYCr*Wnq zck!tseYXDM%7di@M;Tp?R@cCOtpcER{^M!jmmg<>ht)|%n2}EJn$2nOjtj2i*W1&P z!rjt_h9Yk6x5xRA* z@OWP^S{r1INZc2-uF%@%TxRI+yICXehDP3HvWCqZhVo{yDX{^p<%#v+m>?*n39Vn<%SY^ZgAl+U&s+U;L=p; z|LzF>gV3Kw06X84;Z_2qXAs;eHHo3Qfu)s1 ztm&g~>YoXmG3CTeu5YUh$Thv9T5^uf6Dx5~v@l*reS+Yis&=ebROn~()Lco6Zn)jn zH%L*ldzoqDjr^_Nz?zk~f{0KL|DTfO!?JK_bwPlT?3K{cQlxw_cCmN_Q}QnKnS=-0 z%AM^J#iu6rlWw`y;=;X<5c)L8sI-)K*Dx=$i723JN?e{Ujhw?yRwM~EB$J$9&6#0g zm;1o>kw`zE+fwthRJV{ttDgy^vg%6RRqz|kmM6UA!|kJ08gz%LAS zsMKmTbfHmSE~Cl;$#ad3jXz#nak<);HX zb@TS!aSpOT*qjN;6RJ>9hxztnt9dJiaHE_Gk3M_*sd$#-Lv;K}f*q@95F=_t?7_uX zsuH#!%H&e_)C5kKwn8TJPKsuOsb~a`~T`hT3CTDNF%-C9_usv%IrZpNNt)P0V=(`T5s@9_$1 zsdgAiuWJn_Bl(PUf};N1GrgsJRLAX9QeH_9b~RdDFcp|vQ_(sK z;|LjVbn=T_ox-R1)YI(|y-|-ZUFkE@9Oy-qC8S$wsD3^{xolibA6DyA@k@2Qd*0O& ze16;~?$G-&rr43=W^#sUi1wWCpX5^YH5B%Wav|r?JcRBm^hT}@jhYAkj{mI6#Z!PLSw}+y5ZGYyJH)F*=fppPKINYO-TI5i zN7-cd%tCwjFAns{VPN|&fV0OWovZhHs~g=~k9e4%HOm%0drW0-pLek^DM0(7hx5$K zUF|b?8cNskb69@@(P-MD#V3F6IRoxfMfLRuAlJajH4i+q`Y;-IL+_2l#oY5R1|A-2 zJ;R=E$o0!yqOQTou5C`mwP4+g>(*2tu*$%BuI*~}>`(U*kh}_AKCUl5vwQ7c6!+{o zL>_d6%0 zqSbCH3GXi`Xuh5m={5RqpQHJLTSRE+e)u}j?ydsHz@PE@%8MnTd^wTdo@n{V6l0Sh zZAt#$!+3~BzZU>8#dNrIt)KlKz|lPK0Nn@mf&9-tDk9-c97L;{1{b@f*0%$U?te)P ztJ3KiTTY6s{}m&#_LAJ?Gz)%_+v}Ui_2bNoVI1b6IOHi3?w2olzP%_!33MPMs z_HnHZNP}{GV6f#s{;DY`-WM%txqYx4*oENEjfEwG@2uec<5V!-nM%L4?42wb78N7P zG(Rnkh(4qB)LU5!c4lYj%5^Cn;50WVd&azO-Gsl|r0$iD)l04fSS+Cr*pw+MvcK8H zMUc+a-)_`@oi+P6`)#FR?jLWfu{oXM<~lD`ITcgZ863@j$nIBobYH}+ZY-(8JM(;F z)7T9F(rIrC_DpS(C4}=-kKQhhD6>103LMqv7hn(a)aYH-NiEhIsf$m#7Ft`Us!eao z;fGTYF&*Hkn3nb#`GQi6U3a}pH9h5)OESwVGlvLT=OUYw z28}qaRaSqy=Sy0@ZT;kd2Y8TFhB zD#}NUvPjkiXEK5tVTlB!JV`VtC6yvGzZ^7v-17PSZ}^`MX8#0iOjq{TGVsXIb|L#D z^}d5YdZJ#SZ1%S*Dty(dMrTer2(-k=$SgI$;Gig>uyj|3@IxwR{ z-4w8GtA~K`?1U(4+{k*Se`iyrJ4F79xAcf;IV|jOf*j<9OP5c6FWkR0yO=Za)?+;} zOU_RVx#&>X+))m5<5>k=k1;Co%xtw*i(q;hzE-DTmh-j>EA}I-+dEdX*x4t=@%F;Z zws4cx!>p_+dT<|(@e~26FnkFyAy+UHwr zu2Oyh?0h>rBCouY#^^B`4#%ADerT6{2%t8~XNbA>ya?-ZzjR*1t55T<3^2?p0*%M4 z@}Hp(P5C0EF-jy0LfA=_f@-NzUZHZG^07jRZP#=K!!wE9j~BxS+9}mI1M`c5lgmx4 z--v+zU)@{nLxY(P1bvGK53TVnq9Jc@;V?-zye|_9Fz%;ia7rJRuKKBuu|_l!?fs!niRfg9j%UTH>LpB8St~$ ze~5Ta^@*7C_#nni;pu@k;*&3Z*lNFJ6^jp3lpAWBflHb6m;vx*oWXRpCiEId6F8c- zHa}4A9icl7T7gbk>C?h9OxC{UV#+&PB?!{Yj#dc{(V~G%q~|w7&%HV-_a$(q^(QV9 z4(YE|EY{Od{p|@f1Exa2kf&JZc!T=E%yVqJ1f_}8JB0l(*OROYyX1YPT%m>@aF>d7_&Z>b_yn}CxZqTx??Wm8}HRLCH zTMA^c`V{uO%uP5?0HX_zN)OHzP3mtXvjs`(9>Po&R;c#<0CpD*sE)7eVkdlJ(h>i> z?V!1G)O`7nCz`98BI)KZk6LI!3$FAzZJb!Cg|+Jy=q1F4+= zz!(A?`D$YWBTW>4PgkIayM;X82Oc%eNyXpN9+r&5U%&=X&6E6)?gOt?cr{PL>r~Xh zF7-3M`ztR=vYFqj<1yWGQ7Px`H^@44W5ohH zcpt>Kvh2~b@W$ow1?7_;x?#3P$`@V<3M&`6L$5_%=w5q038T;J?`1rDAxdy-S}rE= zk${!(>tU;hm#1Hta0TQaMy)8cLf-`l4fZeW>~}mO)+#Sn_9MqYLFvT?&a;(m{}=>R zqqcuYZ{IcFUCmJ+iMM1V4`}?YIPw^?;re7#uI}VX{eIu)4cy(>=UMT!YK+au!}71_ z9o*s9_fL%MEEvPuAEqDg6Zgv#_}UDAW`2D{zp;X(4nU)2-Sm}hfOVtR?r&r+ixd|F zJt$1L>kfn$X*Mcy+C%4#^f`N;6ze;eX#bI26q`J&vKKmDE0gw;U>FBA(hCL_W3P{V z7T4M$Y}IdhPAxxUrTNy$i2(Uy@>$DEwZ$W{l3@hS3~E5xMm58%=)GUQ%7DdRLaLVf zHiRWYa{GOrWgW^(h-Y%>chYVHxhjkL=Rcc%74Mz3fpQ8U=y?bfx&8ulz%+H?M*+Id zzTDrZl!-Ak>hmnVmfA5WNH`NNA^&P*MOU!R6@ga%2K8aG|29JSc4t+|tP9-s(CMgvG3~Z7MAX)mWCOY&`lT6H$7n7;&H!qc47=WE;r&FZq z8vq^EaQ67D40FdSF~0gq_D78q1fhY#>GfzWUPG-9QY-y#b>50~#pk-C#6^G>#i=7; zR5tEy>F8jy>DsHc7S>2W`UY}L?gQ0*{0(oJcfhDbfF^_g8U9ED5S+XDdMjpi_}Sl} z36IO{p|SlC;7)vsTWzHz_4aixt}1Fea>$eG=j4gdhyeSN_dRBsOMr;t$W_sD=7@p@ zNN!>%{L8egdcom8W$(7NT5FQ|KToamCoK}|arSFA8cF~PW{0ysZEL>7P%+_(wVCn) zpm?61sDmcn->}f|{ryP!lX8zoj$0QzC{y6D_Z*vcyT0`v7~O{iEuH3T-D$i-o+&*% zSAfJ+<#~%Jk)e)|GXDlWx6sgKwx&M9dD=5T{Ny)!5e%T+3owlozq(@1-)akSihyoI z)EadrF+}*#-_EjD|Oer*yvO+`YHZD6<{oUe1tSb0&lls(?=Jwd zlse#&kG`@P-51U>hX!hIr5{6^P^`LuetScF(XhAppHqI#kpN~D8GsmfAU^f5xw~j3 zjR-@rB2pS;c|k`%bu@)kjM4ImmRozBdj)YFZF8ekM8+kU+y%EaW9#Ghi+neGo`ooo z(19MuzFIOH#3gM$2Hzj|Km_W(YP)$7jdKU}*(6H+nBz@aY52th-HS7U@;}TsFULs& z!0{(Zm<|UijPRXVx3|;7jE6of69Xo?s%wv)KF`EB9%nWU^;c^pt^8OOD^n&(5>jR_ zSBE6Y{s`!kqHYf*>PHT8le{&pj&-E`EdR?zBK=9O7i!{1LBpkxTY-9NY+Ubhhr zyx48BMJ-35Za+;i_7`nSqBH(do4Jw70FckXLNh~7spGljS&Ho+G2||az~gg;mp$=( zlqn@mgxo~ua|szG3&9M7VP|gIHIAWWykhYc!ZrE<`XSO646}2n3v}bdVn?Wdb}~io zOC+sGOr#*%z&71i^9TPMdvp5>>oliyCa{=uq`xrdvglld00Zi7Wh1q}i^fH;oCKuo zb+U>f)UM9NS4Py*(k$M8W9R>oNUn-_E|w0IQS<{QPP_aS&H?;V0+^wn3m8~=0Q#)E zV9w_BnMu%#CW7&@&D|pRH7%<1CvZ?3|t0KfNTN2_M0D%^;ujN|7Uy5o4fz(y08p0HjRMGL@-SO6(Ut~ zWTW_c|G)7@7&d7Nyg78<>K1S+#LD&Br)T>jJ}UJeEncY=YS7v||32^(VnIW{!UzA} z1Lr_HB(5(`vpNRqf+gJv^O=}n<-ASsvgC}siCgE-oOD>E)#v4dEideUZ?>0q*IvDH zgOz94^A3qyvob~Zgy&3;dA19pP%hKp2Rw73$PtDvlO@@$V+7AtOFuVTC$BVm3$IUyb|-VJ?W((czDZWpSd&5 zU9Eu)a)U!}E7w)VEb9YRMQQPKe4d_6=sFBMvd*MfXBp$h*coh-rv}b2Dh7>mKLuW+ zprE7#y3uKy9%$sa`oe0n!)4w%k8_xpEd#D}<*&HE`ihub_te5?OS>aNT`o;V6zQHz z`++CZ`TzI{JmuxqG)cj^%U3Nwqmk#PwzJ;N+IZ8+4m0Ibp|+`R6OFxY&t|eyUe=Rf zv}n%l;ti_o+C>S8q3*L!-_hHsdkI+Dq+gTmzNc_C$J}jQWvqk%MY> zc5&AynFGf}*p`(&NpM?MkOS&iq;oN{I}`=Pyqo^}$@5N437^CV4Ez4@Ww#lZs$5p7 z+PZN00mu58Mu)G+^C>*pn&QQ|es*&Na1p?-7e2zCYl`Q-J@ngYX4|1He0uZpE~5*Y{gRZg=_RY$EE+mA~%M@5xACGAH+F zTq7`6zDvrUpLGvdU%xYq?N_m#jV0Wt&pXFB1-N`L_w<}YzcUIARI;7-U$_fAST)x& zJ9x7$a8VPp^vt|NS0?(bkKA3B8-4tWpl6jG=Gb|aW2KR%>YD3wN@qp-&kA*)$9p^| z@##ySm6b*j?6bF?>7RCak$06MqA9H+x(_(~y(RTp**Qs`_4|Ik^6dLv;#RWy#kW0w z?V|+?m2Xap>%eqy36I^skNv>qSGVu~`?l>J@Kl{TuirIxOMSltdC&8|uHboI1T`Lk z>&l_~GmuxC!+P$})k?7Sk Date: Wed, 31 Jan 2024 23:31:15 -0800 Subject: [PATCH 12/13] Update README.md Signed-off-by: myron --- auto3dseg/tasks/kits23/README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/auto3dseg/tasks/kits23/README.md b/auto3dseg/tasks/kits23/README.md index 665a0046e3..c0695c8b4f 100644 --- a/auto3dseg/tasks/kits23/README.md +++ b/auto3dseg/tasks/kits23/README.md @@ -122,7 +122,7 @@ Here we added more optional options to manually fine-tune the performance. The In the previous sections, we showed how to manually provide various input config options related to **training**. In the same file, one can also add AutoRunner related options, consider the following input3.yaml config ```yaml -# input2.yaml file content example with more options +# input3.yaml file content example with more options # KiTS23 Auto3DSeg user input @@ -145,7 +145,7 @@ ensemble: false work_dir: tmp/tutorial_kits23 ``` -Here we indicated to use only "segresnet" algo, and only 1 fold training, skip ensembling (since we train 1 model anyway), and change the default working directory. We can then run it simply as +Here we indicated to use only "segresnet" algo, and only 1 fold training, skip ensembling (since we train 1 model anyway), and change the default working directory. We can run it as ```bash python -m monai.apps.auto3dseg AutoRunner run --input=./input3.yaml ``` @@ -179,12 +179,12 @@ Experimentally, you can remove these configs (class_names and sigmoid) completel ### Auto3DSeg code location Advanced users may want to further build up upon Auto3DSeg code. Currently the codebase is split in 2 repos: The high level AutoRunner related code is a part of [MONAI core](https://github.com/Project-MONAI/MONAI) and the algo specific code (including segresnet algo code) is part of the [MONAI research contributions](https://github.com/Project-MONAI/research-contributions/tree/main/auto3dseg/algorithm_templates/). Generally, if you would like to use your own network or different augmentation transforms, you would want to modify the segresnet algo code. Currently, the easiest way to do it is to - - clone the github repo of MONAI research contributions https://github.com/Project-MONAI/research-contributions or just download the [algorithm_templates folder](https://github.com/Project-MONAI/research-contributions/tree/main/auto3dseg/algorithm_templates) + - clone the github repo of MONAI research contributions https://github.com/Project-MONAI/research-contributions or just download the [algorithm_templates](https://github.com/Project-MONAI/research-contributions/tree/main/auto3dseg/algorithm_templates) folder. - modify the algo related code, e.g. segmenter.py under segresnet algo - point AutoRunner to use your own algorithm_templates folder by setting the "templates_path_or_url" config option ```python -# example.py file content with custom algo templates code +# example4.py file content with custom algo templates code from monai.apps.auto3dseg import AutoRunner @@ -195,7 +195,7 @@ def main(): if __name__ == '__main__': main() ``` -or +or a one-liner comman line: ```bash python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segresnet --templates_path_or_url=/your/location/algorithm_templates ``` @@ -205,11 +205,11 @@ python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segre ## Validation performance: NVIDIA DGX-1 (8x V100 32G) Training this KiTS 2023 example on on 8 GPU V100 32GB DGX machine, one can expect to get an average Dice of 0.87-0.88 (for fold 0). The higher end of the accuracy range is obtained if you set the ROI size to larger (e.g. roi_size: [336, 336, 336]), but -this requires a large memory GPU device (such as A10 or A100). Alternatively you can experiment with training longer, e.g. by setting num_epochs=1200. +this requires a large memory GPU device (such as Nvidia A100). Alternatively you can experiment with training longer, e.g. by setting num_epochs=1200. ## Differences with 1st place KiTS23 solution -The example here is based on the 1st place KiTS23 solution [1], with the main differences being in [1] the training was done in 2 stages: first the approximate Kidney region was detected (by training a model to segment the foreground), second an ensemble of models were trained to segment the 3 KiTS subregions using the "Kidney subregion" cropped CTs. In this tutorial, we train to segment KiTS subregions directly on the full CT for simplicity (which gives a slightly lower average dice, ~1\%). Another difference is that in [1], the ensemble of several models were trained which included both segresnet and dints models, whereas in this tutorial we focus only on segresnet. +The tutorial here is to demonstrate how to use Auto3DSeg in general, with various examples for KiTS23 dataset. It is based on the 1st place KiTS23 solution [1], with the main differences being in [1] the training was done in 2 stages: first the approximate Kidney region was detected (by training a model to segment the foreground), second an ensemble of models were trained to segment the 3 KiTS subregions using the "Kidney subregion" cropped CTs. In this tutorial, we train to segment KiTS subregions directly on the full CT for simplicity (which gives a slightly lower average dice, ~1\%). Another difference is that in [1], the ensemble of several models were trained which included both Segresnet and DiNTS models, whereas in this tutorial we focus only on Segresnet. ## Data From d0cbfdf736d25772fcfedf576fd5498d60697eb8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 07:36:56 +0000 Subject: [PATCH 13/13] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- auto3dseg/tasks/kits23/README.md | 65 ++++++++++++------------ auto3dseg/tasks/kits23/input.yaml | 7 ++- auto3dseg/tasks/kits23/kits23_folds.json | 2 +- 3 files changed, 36 insertions(+), 38 deletions(-) diff --git a/auto3dseg/tasks/kits23/README.md b/auto3dseg/tasks/kits23/README.md index c0695c8b4f..3a2b1997cb 100644 --- a/auto3dseg/tasks/kits23/README.md +++ b/auto3dseg/tasks/kits23/README.md @@ -1,9 +1,9 @@ -# KiTS23 +# KiTS23 -This tutorial shows how to use Auto3DSeg with KiTS 2023 dataset from the MICCAI 2023 challenge **[The 2023 Kidney and Kidney Tumor Segmentation Challenge (KiTS23)](https://kits-challenge.org/kits23/)**. +This tutorial shows how to use Auto3DSeg with KiTS 2023 dataset from the MICCAI 2023 challenge **[The 2023 Kidney and Kidney Tumor Segmentation Challenge (KiTS23)](https://kits-challenge.org/kits23/)**. The example is based on the 1st place solution in the KiTS challenge [(NVAUTO team)](https://kits-challenge.org/kits23/#kits23-official-results): Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Automated 3D Segmentation of Kidneys and Tumors in MICCAI KiTS 2023 Challenge". In MICCAI (2023). [arXiv](https://arxiv.org/abs/2310.04110) @@ -11,12 +11,12 @@ Andriy Myronenko, Dong Yang, Yufan He and Daguang Xu: "Automated 3D Segmentation ## Task overview -The task is to segment kidneys, tumors and cysts from 3D CTs. The dataset contains 489 cases with resolutions ranging between 0.39x0.39x0.5 and 1x1x5 mm. -Please download the KiTS23 [dataset](https://kits-challenge.org/kits23/#) and place it in the "/data/kits23" folder to follow this tutorial. +The task is to segment kidneys, tumors and cysts from 3D CTs. The dataset contains 489 cases with resolutions ranging between 0.39x0.39x0.5 and 1x1x5 mm. +Please download the KiTS23 [dataset](https://kits-challenge.org/kits23/#) and place it in the "/data/kits23" folder to follow this tutorial. ## Auto3DSeg -With Auto3DSeg most segmentation parameters are automatically determined. In this tutorial, we start from a basic automated example, then show how different options can be adjusted if necessary. We use only the **SegResNet** algo here for simplicity, which is a training recipe based on the [segresnet](https://docs.monai.io/en/latest/networks.html#segresnetds). +With Auto3DSeg most segmentation parameters are automatically determined. In this tutorial, we start from a basic automated example, then show how different options can be adjusted if necessary. We use only the **SegResNet** algo here for simplicity, which is a training recipe based on the [segresnet](https://docs.monai.io/en/latest/networks.html#segresnetds). ### Running based on the input config (one-liner) @@ -27,15 +27,15 @@ The Auto3DSeg can be run using a config **input.yaml** python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segresnet ``` -This one line of code will run the full training workflow, including data analysis, multi-fold training, ensembling. The system will adjust parameters based on the data and your available GPU (or multi-GPU) hardware configuration. -Here we explicitly specified to use only segresnet algo, for other possible parameters of the AutoRunner please see the [monai docs](https://github.com/Project-MONAI/MONAI/blob/main/monai/apps/auto3dseg/auto_runner.py). +This one line of code will run the full training workflow, including data analysis, multi-fold training, ensembling. The system will adjust parameters based on the data and your available GPU (or multi-GPU) hardware configuration. +Here we explicitly specified to use only segresnet algo, for other possible parameters of the AutoRunner please see the [monai docs](https://github.com/Project-MONAI/MONAI/blob/main/monai/apps/auto3dseg/auto_runner.py). The [input.yaml](./input.yaml) describes the dataset (KiTS23) task, and must include at least 3 mandatory fields: modality (CT), dataset location (here it's /data/kits23) and the dataset manifest json file [kits23_folds.json](./kits23_folds.json). Other parameters can be also added to the input.yaml config. For KiTS23 dataset specifically, we include the "class_names" key to indicate label grouping for the 3 output classes that KiTS23 challenge requires (which is something specific for the KiTS task) ### Running from the code -If you prefer running from the code (which will allow more customizations), you can create a python file "example.py" and simply run it as +If you prefer running from the code (which will allow more customizations), you can create a python file "example.py" and simply run it as ```bash python example.py ``` @@ -75,7 +75,7 @@ def main(): "class_names":[ { "name": "kidney_and_mass", "index": [1,2,3] }, { "name": "mass", "index": [2,3] }, - { "name": "tumor", "index": [2] } + { "name": "tumor", "index": [2] } ] } runner = AutoRunner(input=input_dict, algos = 'segresnet') @@ -96,14 +96,14 @@ The dictionary form of the input config is equivalent to the input.yaml. Notice, # KiTS23 Auto3DSeg user input -modality: CT -dataroot: /data/kits23 -datalist: kits23_folds.json -class_names: +modality: CT +dataroot: /data/kits23 +datalist: kits23_folds.json +class_names: - { name: kidney_and_mass, index: [1,2,3] } - { name: mass, index: [2,3] } - { name: tumor, index: [2] } -sigmoid: true +sigmoid: true # additional options (OPTIONAL) auto_scale_allowed: false # disable auto scaling of some parameters to your GPU @@ -116,8 +116,8 @@ batch_size: 1 # batch size is automatically determined accor augment_mode: ct_ax_1 # change the default augmentation transform sequence to an alternative (with only inplane/axial spatial rotations and scaling) ``` -Here we added more optional options to manually fine-tune the performance. The full list of the available "self-explanatory" options can be found [here](https://github.com/Project-MONAI/research-contributions/blob/main/auto3dseg/algorithm_templates/segresnet/configs/hyper_parameters.yaml). - +Here we added more optional options to manually fine-tune the performance. The full list of the available "self-explanatory" options can be found [here](https://github.com/Project-MONAI/research-contributions/blob/main/auto3dseg/algorithm_templates/segresnet/configs/hyper_parameters.yaml). + ### Input.yaml options and AutoRunner options combined In the previous sections, we showed how to manually provide various input config options related to **training**. In the same file, one can also add AutoRunner related options, consider the following input3.yaml config @@ -126,14 +126,14 @@ In the previous sections, we showed how to manually provide various input config # KiTS23 Auto3DSeg user input -modality: CT -dataroot: /data/kits23 -datalist: kits23_folds.json -class_names: +modality: CT +dataroot: /data/kits23 +datalist: kits23_folds.json +class_names: - { name: kidney_and_mass, index: [1,2,3] } - { name: mass, index: [2,3] } - { name: tumor, index: [2] } -sigmoid: true +sigmoid: true # additional options (OPTIONAL) num_epochs: 600 # manually set number of training epochs to 600 (otherwise it's determined automatically) @@ -141,13 +141,13 @@ num_epochs: 600 # manually set number of training epochs to 60 # additional AutoRunner options (OPTIONAL) algos: segresnet num_fold: 1 -ensemble: false +ensemble: false work_dir: tmp/tutorial_kits23 ``` Here we indicated to use only "segresnet" algo, and only 1 fold training, skip ensembling (since we train 1 model anyway), and change the default working directory. We can run it as ```bash -python -m monai.apps.auto3dseg AutoRunner run --input=./input3.yaml +python -m monai.apps.auto3dseg AutoRunner run --input=./input3.yaml ``` One may prefer this format, if they want to put all options in a single file, instead of having training options vs AutoRunner options separatelly. The end results will be the same. @@ -160,21 +160,21 @@ python -m monai.apps.auto3dseg AutoRunner run --input=./input3.yaml --work_dir=t here the "work_dir", "dataroot", "num_epochs" options will override any defaults or any input.yaml provided options. ### KiTS 2023 specific options - + All the configurations here include some KiTS 2023 specific options below -```yaml -class_names: +```yaml +class_names: - { name: kidney_and_mass, index: [1,2,3] } - { name: mass, index: [2,3] } - { name: tumor, index: [2] } -sigmoid: true +sigmoid: true ``` -In KiTS 2023 challenge, the task is to segment 3 specific subregions: a) the first one must include all labels (kidneys, tumors, cysts) b) the second one is a union of tumors and cysts b) the third one is a tumor only region. -Thus the "class_names" options indicates which label indices to merge together to create these 3 subregions. The "name" keys are used in Tensorboard for convenience (you can use your own names). +In KiTS 2023 challenge, the task is to segment 3 specific subregions: a) the first one must include all labels (kidneys, tumors, cysts) b) the second one is a union of tumors and cysts b) the third one is a tumor only region. +Thus the "class_names" options indicates which label indices to merge together to create these 3 subregions. The "name" keys are used in Tensorboard for convenience (you can use your own names). Since, the 3 sub-regions are overlapping the segmentation task is a multi-label task, where each voxel can potentially be assigned to several regions. A common formulation of such task is to use the final network activation a "sigmoid", instead of the default "softmax" for mutually exclusive label classes. The config options "sigmoid: true" explicitly indicates that we are going to use the final sigmoid activation (for the multi-label segmentation). Strictly speaking it's not necessary to add this option here, the system will automatically figure it out after inspecting "class_names" having the overlapping indices. -Experimentally, you can remove these configs (class_names and sigmoid) completely to try a traditional segmentation (multi-class), to segment 3 mutually exclusive regions: a) kidneys without tumors or cysts b) tumors c) cysts. Generally, this is the default workflow for multi-organ segmentation (with non-overlaping classes). This sub-region grouping is just something specific for the KiTS 2023 challenge. +Experimentally, you can remove these configs (class_names and sigmoid) completely to try a traditional segmentation (multi-class), to segment 3 mutually exclusive regions: a) kidneys without tumors or cysts b) tumors c) cysts. Generally, this is the default workflow for multi-organ segmentation (with non-overlaping classes). This sub-region grouping is just something specific for the KiTS 2023 challenge. ### Auto3DSeg code location @@ -205,11 +205,11 @@ python -m monai.apps.auto3dseg AutoRunner run --input=./input.yaml --algos=segre ## Validation performance: NVIDIA DGX-1 (8x V100 32G) Training this KiTS 2023 example on on 8 GPU V100 32GB DGX machine, one can expect to get an average Dice of 0.87-0.88 (for fold 0). The higher end of the accuracy range is obtained if you set the ROI size to larger (e.g. roi_size: [336, 336, 336]), but -this requires a large memory GPU device (such as Nvidia A100). Alternatively you can experiment with training longer, e.g. by setting num_epochs=1200. +this requires a large memory GPU device (such as Nvidia A100). Alternatively you can experiment with training longer, e.g. by setting num_epochs=1200. ## Differences with 1st place KiTS23 solution -The tutorial here is to demonstrate how to use Auto3DSeg in general, with various examples for KiTS23 dataset. It is based on the 1st place KiTS23 solution [1], with the main differences being in [1] the training was done in 2 stages: first the approximate Kidney region was detected (by training a model to segment the foreground), second an ensemble of models were trained to segment the 3 KiTS subregions using the "Kidney subregion" cropped CTs. In this tutorial, we train to segment KiTS subregions directly on the full CT for simplicity (which gives a slightly lower average dice, ~1\%). Another difference is that in [1], the ensemble of several models were trained which included both Segresnet and DiNTS models, whereas in this tutorial we focus only on Segresnet. +The tutorial here is to demonstrate how to use Auto3DSeg in general, with various examples for KiTS23 dataset. It is based on the 1st place KiTS23 solution [1], with the main differences being in [1] the training was done in 2 stages: first the approximate Kidney region was detected (by training a model to segment the foreground), second an ensemble of models were trained to segment the 3 KiTS subregions using the "Kidney subregion" cropped CTs. In this tutorial, we train to segment KiTS subregions directly on the full CT for simplicity (which gives a slightly lower average dice, ~1\%). Another difference is that in [1], the ensemble of several models were trained which included both Segresnet and DiNTS models, whereas in this tutorial we focus only on Segresnet. ## Data @@ -223,4 +223,3 @@ The KiTS23 challenge dataset [2,3] can be downloaded from [here](https://kits-ch [2] Heller, N., Isensee, F., Maier-Hein, K.H., Hou, X., Xie, C., Li, F., Nan, Y., Mu, G., Lin, Z., Han, M., et al.: The state of the art in kidney and kidney tumor segmentation in contrast-enhanced ct imaging: Results of the kits19 challenge. Medical Image Analysis 67, 101821 (2021) [3] Heller, N., Wood, A., Isensee, F., Radsch, T., Tejpaul, R., Papanikolopoulos, N.,Weight, C.: The 2023 kidney and kidney tumor segmentation challenge, https://kits-challenge.org/kits23/ - diff --git a/auto3dseg/tasks/kits23/input.yaml b/auto3dseg/tasks/kits23/input.yaml index 3dd343004f..9901f6abf8 100644 --- a/auto3dseg/tasks/kits23/input.yaml +++ b/auto3dseg/tasks/kits23/input.yaml @@ -11,17 +11,16 @@ class_names: # names for tensorboard, and label index gro # OPTIONAL # use final sigmoid activation (instead of the default softmax), since KiTS regions are overlapping (multi-label segmentation) # this is optional to set, the system auto-detects overlapping labels automatically. -sigmoid: true +sigmoid: true # the config below is optional, but it explicitly sets params as it was used during KiTS23 challenge -# otherwise, the defaults are used, auto_scale_allowed is True and the system will attempt to guess these settings according to the available GPU (e.g. make batch size larger) +# otherwise, the defaults are used, auto_scale_allowed is True and the system will attempt to guess these settings according to the available GPU (e.g. make batch size larger) auto_scale_allowed: false num_epochs: 600 resample: true -resample_resolution: [0.78125, 0.78125, 0.78125] +resample_resolution: [0.78125, 0.78125, 0.78125] roi_size: [256, 256, 256] # roi_size: [336, 336, 336] # loss: {_target_: DiceLoss} # batch_size: 1 # augment_mode: ct_ax_1 - diff --git a/auto3dseg/tasks/kits23/kits23_folds.json b/auto3dseg/tasks/kits23/kits23_folds.json index bdca703483..cea66ef4f2 100644 --- a/auto3dseg/tasks/kits23/kits23_folds.json +++ b/auto3dseg/tasks/kits23/kits23_folds.json @@ -2488,4 +2488,4 @@ "fold": 4 } ] -} \ No newline at end of file +}