From f4b99551d9bfddcd8a6ff5a8890cfdf5fa7a3457 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Wed, 29 Nov 2023 18:13:43 +0100 Subject: [PATCH 01/48] Simplified starter --- .gitignore | 2 + requirements.txt | 4 +- ...f open_source_license %}LICENSE{% endif %} | 2 +- template/.dockerignore | 2 + template/README.md | 53 ++ template/configs/feature_engineering.yaml | 0 template/configs/inference_config.yaml | 0 template/configs/training_config.yaml | 0 template/license | 110 +++ template/license_header | 2 + template/pipelines/__init__.py | 5 + template/pipelines/feature_engineering.py | 53 ++ template/pipelines/inference.py | 53 ++ template/pipelines/training.py | 53 ++ template/requirements.txt | 3 + template/run.ipynb | 773 ++++++++++++++++++ template/run.py | 299 +++++++ template/steps/__init__.py | 17 + template/steps/data_loader.py | 55 ++ template/steps/data_preprocessor.py | 67 ++ template/steps/data_splitter.py | 47 ++ template/steps/model_evaluator.py | 89 ++ template/steps/model_trainer.py | 74 ++ template/utils/__init__.py | 1 + template/utils/preprocess.py | 41 + ...f open_source_license %}LICENSE{% endif %} | 1 + template/{{ _copier_conf.answers_file }} | 2 + tests/test_starter_template.py | 229 +++--- 28 files changed, 1938 insertions(+), 99 deletions(-) create mode 100644 template/.dockerignore create mode 100644 template/README.md create mode 100644 template/configs/feature_engineering.yaml create mode 100644 template/configs/inference_config.yaml create mode 100644 template/configs/training_config.yaml create mode 100644 template/license create mode 100644 template/license_header create mode 100644 template/pipelines/__init__.py create mode 100644 template/pipelines/feature_engineering.py create mode 100644 template/pipelines/inference.py create mode 100644 template/pipelines/training.py create mode 100644 template/requirements.txt create mode 100644 template/run.ipynb create mode 100644 template/run.py create mode 100644 template/steps/__init__.py create mode 100644 template/steps/data_loader.py create mode 100644 template/steps/data_preprocessor.py create mode 100644 template/steps/data_splitter.py create mode 100644 template/steps/model_evaluator.py create mode 100644 template/steps/model_trainer.py create mode 100644 template/utils/__init__.py create mode 100644 template/utils/preprocess.py create mode 100644 template/{% if open_source_license %}LICENSE{% endif %} create mode 100644 template/{{ _copier_conf.answers_file }} diff --git a/.gitignore b/.gitignore index b6e4761..882db32 100644 --- a/.gitignore +++ b/.gitignore @@ -127,3 +127,5 @@ dmypy.json # Pyre type checker .pyre/ + +*.zen \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index eede3b1..a64987f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ -scikit-learn +scikit-learn<1.3 copier jinja2-time +zenml[server]>=0.50.0 +notebook \ No newline at end of file diff --git a/starter/template/{% if open_source_license %}LICENSE{% endif %} b/starter/template/{% if open_source_license %}LICENSE{% endif %} index 4179465..3de332b 100644 --- a/starter/template/{% if open_source_license %}LICENSE{% endif %} +++ b/starter/template/{% if open_source_license %}LICENSE{% endif %} @@ -1 +1 @@ -{% include 'templates/license' %} \ No newline at end of file +{% include 'template/license' %} \ No newline at end of file diff --git a/template/.dockerignore b/template/.dockerignore new file mode 100644 index 0000000..455f4d7 --- /dev/null +++ b/template/.dockerignore @@ -0,0 +1,2 @@ +.venv* +.requirements* \ No newline at end of file diff --git a/template/README.md b/template/README.md new file mode 100644 index 0000000..aa76203 --- /dev/null +++ b/template/README.md @@ -0,0 +1,53 @@ +# 📜 ZenML Starter Project Template + +What would you need to get a quick understanding of the ZenML framework and +start building your own ML pipelines? The answer is a simple project template +to cover the basics of ZenML: a collection of steps and pipelines, a stack +configuration and, to top it all off, a simple but useful CLI. This is exactly +what the ZenML starter template is all about. + +This project template is a good starting point for anyone starting out with +ZenML. It showcases the following fundamental ZenML concepts in a relatable +ML context: + +* designing [ZenML pipeline steps](https://docs.zenml.io/user-guide/starter-guide#pipelines-and-steps) +in general, but also particularly useful for the following applications: + * data ingestion, data transformation and data train/test splitting + * model training and evaluation +* using [step parameterization and caching](https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions) +to design flexible and reusable steps +* using [custom data types for your artifacts and writing materializers for them](https://docs.zenml.io/user-guide/advanced-guide/artifact-management/handle-custom-data-types) +* constructing and running a [ZenML pipeline](https://docs.zenml.io/user-guide/starter-guide#pipelines-and-steps) +* accessing ZenML pipeline run artifacts in [the post-execution phase](https://docs.zenml.io/user-guide/starter-guide/fetch-runs-after-execution), +after a pipeline run has concluded +* best practices for implementing and running reproducible and reliable ML +pipelines with ZenML + +In addition to that, the entire project is implemented with the [scikit-learn](https://scikit-learn.org) +library and showcases how to use ZenML with a popular ML framework. It makes +heavy use of the tabular datasets and classification models that scikit-learn +provides, but the concepts and patterns it showcases are applicable to any +other ML framework. + +## 📃 Template Parameters + +| Parameter | Description | Default | +|-----------|-------------|---------| +| Name | The name of the person/entity holding the copyright | ZenML GmbH | +| Email | The email of the person/entity holding the copyright | info@zenml.io | +| Project Name | Short name for your project | ZenML Starter | +| Project Slug | A slugified version of the project name (automatically generated from the project name) | zenml_starter | +| Project Version | The version of your project | 0.1.0 | +| Project License | The license under which your project will be released (one of `Apache Software License 2.0`, `MIT license`, `BSD license`, `ISC license`, `GNU General Public License v3` and `Not open source`) | Apache Software License 2.0 | +| Auto-Format | Whether to automatically format and cleanup the generated code with [black](https://black.readthedocs.io/), [ruff](https://beta.ruff.rs/docs/) and [autoflake](https://github.com/PyCQA/autoflake) (yes/no). You also need to have these Python packages installed for this option to take effect. | no | +| Use ZenML Step Params | Whether to showcase using parameters for the ZenML steps in the project (yes/no). If selected, all generated ZenML pipeline steps will be parameterized. | yes | +| Use ZenML Materializers | Whether to showcase using custom data types for the ZenML artifacts in the project (yes/no). If selected, the generated code will demonstrate the use of custom artifact data types and materializers in the generated steps and pipelines. | yes | +| UCI Dataset | The name of the UCI provided scikit-learn dataset to use in the project (one of `Iris`, `Breast Cancer` and `Wine`) | Wine | +| Scikit-learn Model | The name of the scikit-learn classifier model to use in the project (one of `Logistic Regression`, `SVC`, `Linear SVC`, `Random Forest`, `KNN`, `Gaussian NB`, `Perceptron`, `SGD Classifier` and `Decision Tree`) | Logistic Regression | +| Runtime Configurable Dataset | Whether to make the dataset a configurable parameter of the data loader step and CLI (yes/no). Only has effect if the step parameters were also selected. | yes | +| Runtime Configurable Model | Whether to make the model a configurable parameter of the model trainer step and CLI (yes/no). Only has effect if the step parameters were also selected. | yes | + +## 🚀 Generate a ZenML Project + +Please see [the main README page](../README.md) for instructions on how to +generate a ZenML project from this template. diff --git a/template/configs/feature_engineering.yaml b/template/configs/feature_engineering.yaml new file mode 100644 index 0000000..e69de29 diff --git a/template/configs/inference_config.yaml b/template/configs/inference_config.yaml new file mode 100644 index 0000000..e69de29 diff --git a/template/configs/training_config.yaml b/template/configs/training_config.yaml new file mode 100644 index 0000000..e69de29 diff --git a/template/license b/template/license new file mode 100644 index 0000000..3697641 --- /dev/null +++ b/template/license @@ -0,0 +1,110 @@ +{% if open_source_license == 'mit' -%} +MIT License + +Copyright (c) {{ full_name }} {% now 'local', '%Y' %} + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +{% elif open_source_license == 'bsd' %} + +BSD License + +Copyright (c) {{ full_name }} {% now 'local', '%Y' %}. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +{% elif open_source_license == 'isc' -%} +ISC License + +Copyright (c) {{ full_name }} {% now 'local', '%Y' %} + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +{% elif open_source_license == 'apache' -%} +Apache Software License 2.0 + +Copyright (c) {{ full_name }} {% now 'local', '%Y' %}. All rights reserved. + +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. +{% elif open_source_license == 'gpl3' -%} +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + {{ project_short_description }} + Copyright (C) {{ full_name }} {% now 'local', '%Y' %} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. +{% endif %} \ No newline at end of file diff --git a/template/license_header b/template/license_header new file mode 100644 index 0000000..cc653b6 --- /dev/null +++ b/template/license_header @@ -0,0 +1,2 @@ +{%- macro license() %}{% include 'template/license' %}{% endmacro -%} +{{ license() | replace('\n', '\n# ') }} \ No newline at end of file diff --git a/template/pipelines/__init__.py b/template/pipelines/__init__.py new file mode 100644 index 0000000..b91d3ee --- /dev/null +++ b/template/pipelines/__init__.py @@ -0,0 +1,5 @@ +# {% include 'template/license_header' %} + +from feature_engineering import _feature_engineering +from training import _model_training +from inference import _inference \ No newline at end of file diff --git a/template/pipelines/feature_engineering.py b/template/pipelines/feature_engineering.py new file mode 100644 index 0000000..5043aa8 --- /dev/null +++ b/template/pipelines/feature_engineering.py @@ -0,0 +1,53 @@ +# {% include 'template/license_header' %} + +import random +from typing import Optional, List + +from zenml import pipeline +from zenml.logger import get_logger + +from steps import ( + data_loader, + data_splitter, + data_preprocessor, +) + + +logger = get_logger(__name__) + + +@pipeline +def _feature_engineering( + test_size: float = 0.2, + drop_na: Optional[bool] = None, + normalize: Optional[bool] = None, + drop_columns: Optional[List[str]] = None, +): + """ + Model training pipeline. + + This is a pipeline that loads the data, processes it and splits + it into train and test sets, then search for best hyperparameters, + trains and evaluates a model. + + Args: + test_size: Size of holdout set for training 0.0..1.0 + drop_na: If `True` NA values will be removed from dataset + normalize: If `True` dataset will be normalized with MinMaxScaler + drop_columns: List of columns to drop from dataset + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + # Link all the steps together by calling them and passing the output + # of one step as the input of the next step. + raw_data, target, _ = data_loader(random_state=random.randint(0,100)) + dataset_trn, dataset_tst = data_splitter( + dataset=raw_data, + test_size=test_size, + ) + dataset_trn, dataset_tst, _ = data_preprocessor( + dataset_trn=dataset_trn, + dataset_tst=dataset_tst, + drop_na=drop_na, + normalize=normalize, + drop_columns=drop_columns, + ) diff --git a/template/pipelines/inference.py b/template/pipelines/inference.py new file mode 100644 index 0000000..428b878 --- /dev/null +++ b/template/pipelines/inference.py @@ -0,0 +1,53 @@ +# {% include 'template/license_header' %} + +import random +from typing import Optional, List + +from zenml import pipeline +from zenml.logger import get_logger + +from steps import ( + data_loader, + data_splitter, + data_preprocessor, +) + + +logger = get_logger(__name__) + + +@pipeline +def _inference( + test_size: float = 0.2, + drop_na: Optional[bool] = None, + normalize: Optional[bool] = None, + drop_columns: Optional[List[str]] = None, +): + """ + Model training pipeline. + + This is a pipeline that loads the data, processes it and splits + it into train and test sets, then search for best hyperparameters, + trains and evaluates a model. + + Args: + test_size: Size of holdout set for training 0.0..1.0 + drop_na: If `True` NA values will be removed from dataset + normalize: If `True` dataset will be normalized with MinMaxScaler + drop_columns: List of columns to drop from dataset + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + # Link all the steps together by calling them and passing the output + # of one step as the input of the next step. + raw_data, target, _ = data_loader(random_state=random.randint(0,100)) + dataset_trn, dataset_tst = data_splitter( + dataset=raw_data, + test_size=test_size, + ) + dataset_trn, dataset_tst, _ = data_preprocessor( + dataset_trn=dataset_trn, + dataset_tst=dataset_tst, + drop_na=drop_na, + normalize=normalize, + drop_columns=drop_columns, + ) diff --git a/template/pipelines/training.py b/template/pipelines/training.py new file mode 100644 index 0000000..4e94d66 --- /dev/null +++ b/template/pipelines/training.py @@ -0,0 +1,53 @@ +# {% include 'template/license_header' %} + +import random +from typing import Optional, List + +from zenml import pipeline +from zenml.logger import get_logger + +from steps import ( + data_loader, + data_splitter, + data_preprocessor, +) + + +logger = get_logger(__name__) + + +@pipeline +def _training( + test_size: float = 0.2, + drop_na: Optional[bool] = None, + normalize: Optional[bool] = None, + drop_columns: Optional[List[str]] = None, +): + """ + Model training pipeline. + + This is a pipeline that loads the data, processes it and splits + it into train and test sets, then search for best hyperparameters, + trains and evaluates a model. + + Args: + test_size: Size of holdout set for training 0.0..1.0 + drop_na: If `True` NA values will be removed from dataset + normalize: If `True` dataset will be normalized with MinMaxScaler + drop_columns: List of columns to drop from dataset + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + # Link all the steps together by calling them and passing the output + # of one step as the input of the next step. + raw_data, target, _ = data_loader(random_state=random.randint(0,100)) + dataset_trn, dataset_tst = data_splitter( + dataset=raw_data, + test_size=test_size, + ) + dataset_trn, dataset_tst, _ = data_preprocessor( + dataset_trn=dataset_trn, + dataset_tst=dataset_tst, + drop_na=drop_na, + normalize=normalize, + drop_columns=drop_columns, + ) diff --git a/template/requirements.txt b/template/requirements.txt new file mode 100644 index 0000000..f3a893a --- /dev/null +++ b/template/requirements.txt @@ -0,0 +1,3 @@ +zenml[server]>=0.50.0 +notebook +scikit-learn<1.3 \ No newline at end of file diff --git a/template/run.ipynb b/template/run.ipynb new file mode 100644 index 0000000..87bd223 --- /dev/null +++ b/template/run.ipynb @@ -0,0 +1,773 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: zenml>=0.50.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.50.0)\n", + "Requirement already satisfied: notebook in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from -r requirements.txt (line 2)) (7.0.6)\n", + "Requirement already satisfied: scikit-learn<1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from -r requirements.txt (line 3)) (1.2.2)\n", + "Requirement already satisfied: alembic<1.9.0,>=1.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.8.1)\n", + "Requirement already satisfied: azure-mgmt-resource>=21.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (23.0.1)\n", + "Requirement already satisfied: bcrypt==4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.0.1)\n", + "Requirement already satisfied: click<8.1.4,>=8.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (8.1.3)\n", + "Requirement already satisfied: click-params<0.4.0,>=0.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.3.0)\n", + "Requirement already satisfied: cloudpickle<3,>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.2.1)\n", + "Requirement already satisfied: distro<2.0.0,>=1.6.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.8.0)\n", + "Requirement already satisfied: docker<6.2.0,>=6.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.1.3)\n", + "Requirement already satisfied: gitpython<4.0.0,>=3.1.18 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.1.40)\n", + "Requirement already satisfied: httplib2<0.20,>=0.19.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.19.1)\n", + "Requirement already satisfied: pandas>=1.1.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.0.3)\n", + "Requirement already satisfied: passlib<1.8.0,>=1.7.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from passlib[bcrypt]<1.8.0,>=1.7.4->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.7.4)\n", + "Requirement already satisfied: psutil>=5.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.9.6)\n", + "Requirement already satisfied: pydantic<1.11,>=1.9.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.10.13)\n", + "Requirement already satisfied: pymysql<1.1.0,>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.0.3)\n", + "Requirement already satisfied: pyparsing<3,>=2.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.4.7)\n", + "Requirement already satisfied: python-dateutil<3.0.0,>=2.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.8.2)\n", + "Requirement already satisfied: pyyaml>=6.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.0.1)\n", + "Requirement already satisfied: rich>=12.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (13.7.0)\n", + "Requirement already satisfied: sqlalchemy_utils==0.38.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.38.3)\n", + "Requirement already satisfied: sqlmodel==0.0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.0.8)\n", + "Requirement already satisfied: SQLAlchemy>=1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlalchemy_utils==0.38.3->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.4.41)\n", + "Requirement already satisfied: sqlalchemy2-stubs in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlmodel==0.0.8->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.0.2a37)\n", + "Requirement already satisfied: jupyter-server<3,>=2.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (2.11.1)\n", + "Requirement already satisfied: jupyterlab-server<3,>=2.22.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (2.25.2)\n", + "Requirement already satisfied: jupyterlab<5,>=4.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (4.0.9)\n", + "Requirement already satisfied: notebook-shim<0.3,>=0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (0.2.3)\n", + "Requirement already satisfied: tornado>=6.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (6.4)\n", + "Requirement already satisfied: numpy>=1.17.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3->-r requirements.txt (line 3)) (1.24.4)\n", + "Requirement already satisfied: scipy>=1.3.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3->-r requirements.txt (line 3)) (1.10.1)\n", + "Requirement already satisfied: joblib>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3->-r requirements.txt (line 3)) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3->-r requirements.txt (line 3)) (3.2.0)\n", + "Requirement already satisfied: Jinja2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.1.2)\n", + "Requirement already satisfied: fastapi<0.100,>=0.75 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.99.1)\n", + "Requirement already satisfied: fastapi-utils<0.3.0,>=0.2.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.1)\n", + "Requirement already satisfied: ipinfo>=4.4.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.0.0)\n", + "Requirement already satisfied: orjson<3.9.0,>=3.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.8.14)\n", + "Requirement already satisfied: pyjwt==2.7.* in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.7.0)\n", + "Requirement already satisfied: python-multipart<0.1.0,>=0.0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.0.6)\n", + "Requirement already satisfied: uvicorn>=0.17.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.24.0.post1)\n", + "Requirement already satisfied: cryptography>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (41.0.7)\n", + "Requirement already satisfied: Mako in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.3.0)\n", + "Requirement already satisfied: importlib-metadata in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.8.0)\n", + "Requirement already satisfied: importlib-resources in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.1.1)\n", + "Requirement already satisfied: isodate<1.0.0,>=0.6.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.6.1)\n", + "Requirement already satisfied: azure-common~=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.1.28)\n", + "Requirement already satisfied: azure-mgmt-core<2.0.0,>=1.3.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.4.0)\n", + "Requirement already satisfied: validators<0.19,>=0.18 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from click-params<0.4.0,>=0.3.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.18.2)\n", + "Requirement already satisfied: packaging>=14.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (23.2)\n", + "Requirement already satisfied: requests>=2.26.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.31.0)\n", + "Requirement already satisfied: urllib3>=1.26.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.1.0)\n", + "Requirement already satisfied: websocket-client>=0.32.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.6.4)\n", + "Requirement already satisfied: starlette<0.28.0,>=0.27.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi<0.100,>=0.75->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.27.0)\n", + "Requirement already satisfied: typing-extensions>=4.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi<0.100,>=0.75->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.8.0)\n", + "Requirement already satisfied: gitdb<5,>=4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitpython<4.0.0,>=3.1.18->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.0.11)\n", + "Requirement already satisfied: cachetools in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.3.2)\n", + "Requirement already satisfied: aiohttp<=4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.9.1)\n", + "Requirement already satisfied: anyio>=3.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (4.1.0)\n", + "Requirement already satisfied: argon2-cffi in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (23.1.0)\n", + "Requirement already satisfied: jupyter-client>=7.4.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (8.6.0)\n", + "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (5.5.0)\n", + "Requirement already satisfied: jupyter-events>=0.9.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.9.0)\n", + "Requirement already satisfied: jupyter-server-terminals in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.4.4)\n", + "Requirement already satisfied: nbconvert>=6.4.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (7.11.0)\n", + "Requirement already satisfied: nbformat>=5.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (5.9.2)\n", + "Requirement already satisfied: overrides in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (7.4.0)\n", + "Requirement already satisfied: prometheus-client in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.19.0)\n", + "Requirement already satisfied: pyzmq>=24 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (25.1.1)\n", + "Requirement already satisfied: send2trash>=1.8.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.8.2)\n", + "Requirement already satisfied: terminado>=0.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.18.0)\n", + "Requirement already satisfied: traitlets>=5.6.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (5.14.0)\n", + "Requirement already satisfied: async-lru>=1.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (2.0.4)\n", + "Requirement already satisfied: ipykernel in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (6.27.1)\n", + "Requirement already satisfied: jupyter-lsp>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (2.2.1)\n", + "Requirement already satisfied: tomli in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (2.0.1)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from Jinja2->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.1.3)\n", + "Requirement already satisfied: babel>=2.10 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (2.13.1)\n", + "Requirement already satisfied: json5>=0.9.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (0.9.14)\n", + "Requirement already satisfied: jsonschema>=4.18.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (4.20.0)\n", + "Requirement already satisfied: pytz>=2020.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2023.3.post1)\n", + "Requirement already satisfied: tzdata>=2022.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2023.3)\n", + "Requirement already satisfied: six>=1.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from python-dateutil<3.0.0,>=2.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.16.0)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich>=12.0.0->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich>=12.0.0->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.17.2)\n", + "Requirement already satisfied: ipywidgets<9,>=7.5.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (8.1.1)\n", + "Requirement already satisfied: h11>=0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn>=0.17.5->uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.14.0)\n", + "Requirement already satisfied: httptools>=0.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.6.1)\n", + "Requirement already satisfied: python-dotenv>=0.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.0.0)\n", + "Requirement already satisfied: uvloop!=0.15.0,!=0.15.1,>=0.14.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.19.0)\n", + "Requirement already satisfied: watchfiles>=0.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.21.0)\n", + "Requirement already satisfied: websockets>=10.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (12.0)\n", + "Requirement already satisfied: attrs>=17.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (23.1.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.0.4)\n", + "Requirement already satisfied: yarl<2.0,>=1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.9.3)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.4.0)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.3.1)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.0.3)\n", + "Requirement already satisfied: idna>=2.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (3.6)\n", + "Requirement already satisfied: sniffio>=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.3.0)\n", + "Requirement already satisfied: exceptiongroup>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.2.0)\n", + "Requirement already satisfied: azure-core<2.0.0,>=1.26.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-core<2.0.0,>=1.3.2->azure-mgmt-resource>=21.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.29.5)\n", + "Requirement already satisfied: cffi>=1.12 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from cryptography>=3.4.0->pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.16.0)\n", + "Requirement already satisfied: smmap<6,>=3.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitdb<5,>=4.0.1->gitpython<4.0.0,>=3.1.18->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.0.1)\n", + "Requirement already satisfied: zipp>=0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from importlib-metadata->alembic<1.9.0,>=1.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.17.0)\n", + "Requirement already satisfied: comm>=0.1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.0)\n", + "Requirement already satisfied: ipython>=6.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (8.12.3)\n", + "Requirement already satisfied: widgetsnbextension~=4.0.9 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.0.9)\n", + "Requirement already satisfied: jupyterlab-widgets~=3.0.9 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.0.9)\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (2023.11.1)\n", + "Requirement already satisfied: pkgutil-resolve-name>=1.3.10 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (1.3.10)\n", + "Requirement already satisfied: referencing>=0.28.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (0.31.0)\n", + "Requirement already satisfied: rpds-py>=0.7.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (0.13.1)\n", + "Requirement already satisfied: platformdirs>=2.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (4.0.0)\n", + "Requirement already satisfied: python-json-logger>=2.0.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.0.7)\n", + "Requirement already satisfied: rfc3339-validator in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.1.4)\n", + "Requirement already satisfied: rfc3986-validator>=0.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.1.1)\n", + "Requirement already satisfied: mdurl~=0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from markdown-it-py>=2.2.0->rich>=12.0.0->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.1.2)\n", + "Requirement already satisfied: beautifulsoup4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (4.12.2)\n", + "Requirement already satisfied: bleach!=5.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (6.1.0)\n", + "Requirement already satisfied: defusedxml in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.7.1)\n", + "Requirement already satisfied: jupyterlab-pygments in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.3.0)\n", + "Requirement already satisfied: mistune<4,>=2.0.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (3.0.2)\n", + "Requirement already satisfied: nbclient>=0.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.9.0)\n", + "Requirement already satisfied: pandocfilters>=1.4.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.5.0)\n", + "Requirement already satisfied: tinycss2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.2.1)\n", + "Requirement already satisfied: fastjsonschema in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbformat>=5.3.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.19.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.3.2)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2023.11.17)\n", + "Requirement already satisfied: greenlet!=0.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from SQLAlchemy>=1.3->sqlalchemy_utils==0.38.3->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.0.1)\n", + "Requirement already satisfied: ptyprocess in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from terminado>=0.8.3->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.7.0)\n", + "Requirement already satisfied: decorator>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from validators<0.19,>=0.18->click-params<0.4.0,>=0.3.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.1.1)\n", + "Requirement already satisfied: argon2-cffi-bindings in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from argon2-cffi->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (21.2.0)\n", + "Requirement already satisfied: debugpy>=1.6.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipykernel->jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (1.8.0)\n", + "Requirement already satisfied: matplotlib-inline>=0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipykernel->jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (0.1.6)\n", + "Requirement already satisfied: nest-asyncio in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipykernel->jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (1.5.8)\n", + "Requirement already satisfied: webencodings in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.5.1)\n", + "Requirement already satisfied: pycparser in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from cffi>=1.12->cryptography>=3.4.0->pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.21)\n", + "Requirement already satisfied: backcall in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.0)\n", + "Requirement already satisfied: jedi>=0.16 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.19.1)\n", + "Requirement already satisfied: pickleshare in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.7.5)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.0.36)\n", + "Requirement already satisfied: stack-data in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.6.3)\n", + "Requirement already satisfied: pexpect>4.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.9.0)\n", + "Requirement already satisfied: fqdn in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.5.1)\n", + "Requirement already satisfied: isoduration in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (20.11.0)\n", + "Requirement already satisfied: jsonpointer>1.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.4)\n", + "Requirement already satisfied: uri-template in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.3.0)\n", + "Requirement already satisfied: webcolors>=1.11 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.13)\n", + "Requirement already satisfied: soupsieve>1.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.5)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.8.3)\n", + "Requirement already satisfied: wcwidth in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.12)\n", + "Requirement already satisfied: arrow>=0.15.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.3.0)\n", + "Requirement already satisfied: executing>=1.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.0.1)\n", + "Requirement already satisfied: asttokens>=2.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.4.1)\n", + "Requirement already satisfied: pure-eval in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.2)\n", + "Requirement already satisfied: types-python-dateutil>=2.8.10 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.8.19.14)\n" + ] + } + ], + "source": [ + "!pip install -r requirements.txt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[?25l\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", + "/home/htahir1/workspace/zenml_io/template-starter/template.\n", + "\u001b[1;35mSetting the repo active workspace to 'default'.\u001b[0m\n", + "\u001b[33mSetting the repo active stack to default.\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mZenML repository initialized at \u001b[0m\n", + "\u001b[2;35m/home/htahir1/workspace/zenml_io/template-starter/\u001b[0m\u001b[2;95mtemplate.\u001b[0m\n", + "\u001b[2;32m⠋\u001b[0m\u001b[2;36m Initializing ZenML repository at \u001b[0m\n", + "\u001b[2;36m/home/htahir1/workspace/zenml_io/template-starter/template.\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", + "/home/htahir1/workspace/zenml_io/template-starter/template.\n", + "\n", + "\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mThe local active stack was initialized to \u001b[0m\u001b[2;32m'default'\u001b[0m\u001b[2;36m. This local configuration \u001b[0m\n", + "\u001b[2;36mwill only take effect when you're running ZenML from the initialized repository \u001b[0m\n", + "\u001b[2;36mroot, or from a subdirectory. For more information on repositories and \u001b[0m\n", + "\u001b[2;36mconfigurations, please visit \u001b[0m\n", + "\u001b[2;4;94mhttps://docs.zenml.io/user-guide/starter-guide/understand-stacks.\u001b[0m\n" + ] + } + ], + "source": [ + "!zenml init" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "51690802-31a7-4e6d-9f88-e6457c6c4a96", + "metadata": {}, + "source": [ + "# Huggingface Model to Sagemaker Endpoint: Automating MLOps with ZenML\n", + "Deploying Huggingface models to AWS Sagemaker endpoints typically only requires a few lines of code. However, there's a growing demand to not just deploy, but to seamlessly automate the entire flow from training to production with comprehensive lineage tracking. ZenML adeptly fills this niche, providing an end-to-end MLOps solution for Huggingface users wishing to deploy to Sagemaker. Below, we’ll walk through the architecture that ZenML employs to bring a Huggingface model into production with AWS Sagemaker. Of course all of this can be adapted to not just Sagemaker, but any other model deployment service like GCP Vertex or Azure ML Platform.\n", + "\n", + "This blog post showcases one way of using ZenML pipelines to achieve this:\n", + "\n", + "- Create and version a dataset in a feature_engineering_pipeline.\n", + "- Train/Finetune a BERT-based Sentiment Analysis NLP model and push to Huggingface Hub in a training_pipeline.\n", + "- Promote this model to Production by comparing to previous models in a promotion_pipeline.\n", + "- Deploy the model at the Production Stage to a AWS Sagemaker endpoint with a deployment_pipeline.\n", + "\n", + "\"Pipelines" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "500e3c24-b105-4a69-b2fc-e0ce1f1c1d46", + "metadata": {}, + "outputs": [], + "source": [ + "# Do the imports at the top\n", + "\n", + "import numpy as np\n", + "from datasets import DatasetDict, load_dataset\n", + "from typing_extensions import Annotated\n", + "from zenml import step\n", + "from zenml.logger import get_logger\n", + "\n", + "import os\n", + "from typing import Optional\n", + "from datetime import datetime as dt\n", + "\n", + "from zenml import pipeline\n", + "from zenml.model import ModelConfig\n", + "\n", + "from steps import (\n", + " data_loader,\n", + " notify_on_failure,\n", + " tokenization_step,\n", + " tokenizer_loader,\n", + " generate_reference_and_comparison_datasets,\n", + ")\n", + "from zenml.integrations.evidently.metrics import EvidentlyMetricConfig\n", + "from zenml.integrations.evidently.steps import (\n", + " EvidentlyColumnMapping,\n", + " evidently_report_step,\n", + ")\n", + "\n", + "from pipelines import (\n", + " sentinment_analysis_deploy_pipeline,\n", + " sentinment_analysis_promote_pipeline,\n", + " sentinment_analysis_training_pipeline,\n", + ")\n", + "\n", + "logger = get_logger(__name__)" + ] + }, + { + "cell_type": "markdown", + "id": "fc77b660-e206-46b1-a924-407e797a8f47", + "metadata": {}, + "source": [ + "# 🍳Breaking it down\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "31edaf46-6981-42be-99b7-9bdd91c160d5", + "metadata": {}, + "source": [ + "## 👶 Step 1: Start with feature engineering\n", + "\n", + "Automated feature engineering forms the foundation of this MLOps workflow. Thats why the first pipeline is the feature engineering pipeline. This pipeline loads some data from Huggingface and uses a base tokenizer to create a tokenized dataset. The data loader step is a simple Python function that returns a Huggingface dataloader object:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35de0e4c-b6f8-4b68-927a-f40e4130dc93", + "metadata": {}, + "outputs": [], + "source": [ + "@step\n", + "def data_loader() -> Annotated[DatasetDict, \"dataset\"]:\n", + " logger.info(f\"Loading dataset airline_reviews... \")\n", + " hf_dataset = load_dataset(\"Shayanvsf/US_Airline_Sentiment\")\n", + " hf_dataset = hf_dataset.rename_column(\"airline_sentiment\", \"label\")\n", + " hf_dataset = hf_dataset.remove_columns(\n", + " [\"airline_sentiment_confidence\", \"negativereason_confidence\"]\n", + " )\n", + " return hf_dataset" + ] + }, + { + "cell_type": "markdown", + "id": "49e4462c-1e64-48d3-bae7-76696a958646", + "metadata": {}, + "source": [ + "Notice that you can give each dataset a name with Python’s Annotated object. The DatasetDict is a native Huggingface dataset which ZenML knows how to persist through steps. This flow ensures reproducibility and version control for every dataset iteration.\n", + "\n", + "Also notice this is a simple Python function, that can be called with the `entrypoint` wrapper:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18144a6b-c266-453d-82c8-b5d6aa1be0aa", + "metadata": {}, + "outputs": [], + "source": [ + "hf_dataset = data_loader.entrypoint()\n", + "print(hf_dataset)" + ] + }, + { + "cell_type": "markdown", + "id": "31330d3c-044f-4912-8d36-74146f48cecf", + "metadata": {}, + "source": [ + "Now we put this a full feature engineering pipeline. Each run of the feature engineering pipeline produces a new dataset to use for the training pipeline. ZenML versions this data as it flows through the pipeline.\n", + "\n", + "\"Pipelines" + ] + }, + { + "cell_type": "markdown", + "id": "9511bd84-1e97-42db-9b75-06285cc6904c", + "metadata": {}, + "source": [ + "### Set your stack" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "76f3a7e7-0d85-43b3-9e9f-4c7f20ea65e6", + "metadata": {}, + "outputs": [], + "source": [ + "!zenml stack describe hf-sagemaker-local" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04b0bf69-70c6-4408-b18c-95df9e030c0c", + "metadata": {}, + "outputs": [], + "source": [ + "!zenml stack set hf-sagemaker-local" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de5398a4-a9ec-42d6-bbd6-390244c52d13", + "metadata": {}, + "outputs": [], + "source": [ + "!zenml stack get" + ] + }, + { + "cell_type": "markdown", + "id": "152f718d-70c2-4a29-a73e-37db85675cb8", + "metadata": {}, + "source": [ + "### Run the pipeline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ca6c41e-e4b3-46d2-8264-9a453ac9aa3c", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "@pipeline(on_failure=notify_on_failure)\n", + "def sentinment_analysis_feature_engineering_pipeline(\n", + " lower_case: Optional[bool] = True,\n", + " padding: Optional[str] = \"max_length\",\n", + " max_seq_length: Optional[int] = 128,\n", + " text_column: Optional[str] = \"text\",\n", + " label_column: Optional[str] = \"label\",\n", + "):\n", + " # Link all the steps together by calling them and passing the output\n", + " # of one step as the input of the next step.\n", + "\n", + " ########## Load Dataset stage ##########\n", + " dataset = data_loader()\n", + "\n", + " ########## Data Quality stage ##########\n", + " reference_dataset, comparison_dataset = generate_reference_and_comparison_datasets(\n", + " dataset\n", + " )\n", + " text_data_report = evidently_report_step.with_options(\n", + " parameters=dict(\n", + " column_mapping=EvidentlyColumnMapping(\n", + " target=\"label\",\n", + " text_features=[\"text\"],\n", + " ),\n", + " metrics=[\n", + " EvidentlyMetricConfig.metric(\"DataQualityPreset\"),\n", + " EvidentlyMetricConfig.metric(\n", + " \"TextOverviewPreset\", column_name=\"text\"\n", + " ),\n", + " ],\n", + " # We need to download the NLTK data for the TextOverviewPreset\n", + " download_nltk_data=True,\n", + " ),\n", + " )\n", + " text_data_report(reference_dataset, comparison_dataset)\n", + "\n", + " ########## Tokenization stage ##########\n", + " tokenizer = tokenizer_loader(lower_case=lower_case)\n", + " tokenized_data = tokenization_step(\n", + " dataset=dataset,\n", + " tokenizer=tokenizer,\n", + " padding=padding,\n", + " max_seq_length=max_seq_length,\n", + " text_column=text_column,\n", + " label_column=label_column,\n", + " )\n", + " return tokenizer, tokenized_data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3c8a5be7-ebaa-41c4-ac23-4afc6e7e06aa", + "metadata": {}, + "outputs": [], + "source": [ + "# Run a pipeline with the required parameters. \n", + "no_cache: bool = True\n", + "zenml_model_name: str = \"distil_bert_sentiment_analysis\"\n", + "max_seq_length = 512\n", + "\n", + "# This executes all steps in the pipeline in the correct order using the orchestrator\n", + "# stack component that is configured in your active ZenML stack.\n", + "model_config = ModelConfig(\n", + " name=zenml_model_name,\n", + " license=\"Apache 2.0\",\n", + " description=\"Show case Model Control Plane.\",\n", + " create_new_model_version=True,\n", + " delete_new_version_on_failure=True,\n", + " tags=[\"sentiment_analysis\", \"huggingface\"],\n", + ")\n", + "\n", + "pipeline_args = {}\n", + "\n", + "if no_cache:\n", + " pipeline_args[\"enable_cache\"] = False\n", + "\n", + "# Execute Feature Engineering Pipeline\n", + "pipeline_args[\"model_config\"] = model_config\n", + "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"feature_engineering_config.yaml\")\n", + "run_args_feature = {\n", + " \"max_seq_length\": max_seq_length,\n", + "}\n", + "pipeline_args[\n", + " \"run_name\"\n", + "] = f\"sentinment_analysis_feature_engineering_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}\"\n", + "p = sentinment_analysis_feature_engineering_pipeline.with_options(**pipeline_args)\n", + "p(**run_args_feature)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0e7c1ea2-64fe-478a-9963-17c7b7f62110", + "metadata": {}, + "outputs": [], + "source": [ + "from zenml.client import Client\n", + "from IPython.display import display, HTML\n", + "\n", + "client = Client()\n", + "# CHANGE THIS TO THE LATEST RUN ID\n", + "latest_run = client.get_pipeline_run(\"sentinment_analysis_feature_engineering_pipeline_run_2023_11_21_10_55_56\")\n", + "html = latest_run.steps[\"evidently_report_step\"].outputs['report_html'].load()\n", + "display(HTML(html))" + ] + }, + { + "cell_type": "markdown", + "id": "78ab8771-4421-4975-a3d5-12892a56b805", + "metadata": {}, + "source": [ + "## 💪 Step 2: Train the model with Huggingface Hub as the model registry\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "2843efa8-32b6-4b13-ac85-33c99cc94e3e", + "metadata": {}, + "source": [ + "Once the feature engineering pipeline has run a few times, we have many datasets to choose from. We can feed our desired one into a function that trains the model on the data. Thanks to the ZenML Huggingface integration, this data is loaded directly from the ZenML artifact store.\n", + "\n", + "\"Pipelines\n", + "\n", + "On the left side, we see our local MLOps stack, which defines our infrastructure and tooling we are using for this particular pipeline. ZenML makes it easy to run on a local stack on your development machine, or switch out the stack to run on a AWS Kubeflow-based stack (if you want to scale up).\n", + "\n", + "On the right side is the new kid on the block - the ZenML Model Control Plane. The Model Control Plane is a new feature in ZenML that allows users to have a complete overview of their machine learning models. It allows teams to consolidate all artifacts related to their ML models into one place, and manage its lifecycle easily as you can see from this view from the ZenML Cloud:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c99b20f-8e3b-4119-86e9-33dd1395470a", + "metadata": {}, + "outputs": [], + "source": [ + "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"trainer_config.yaml\")\n", + "\n", + "pipeline_args[\"enable_cache\"] = True\n", + "\n", + "run_args_train = {\n", + " \"num_epochs\": 1,\n", + " \"train_batch_size\": 64,\n", + " \"eval_batch_size\": 64,\n", + " \"learning_rate\": 2e-4,\n", + " \"weight_decay\": 0.01,\n", + " \"max_seq_length\": 512,\n", + "}\n", + "\n", + "# Use versioned artifacts from the last step\n", + "# run_args_train[\"dataset_artifact_id\"] = latest_run.steps['tokenization_step'].output.id\n", + "# run_args_train[\"tokenizer_artifact_id\"] = latest_run.steps['tokenizer_loader'].output.id\n", + "\n", + "# Configure the model\n", + "pipeline_args[\"model_config\"] = model_config\n", + "\n", + "pipeline_args[\n", + " \"run_name\"\n", + "] = f\"sentinment_analysis_training_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "96592299-0090-4d2a-962e-6ca232c1fb75", + "metadata": {}, + "outputs": [], + "source": [ + "sentinment_analysis_training_pipeline.with_options(**pipeline_args)(\n", + " **run_args_train\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e24e29de-6d1b-41da-9ab2-ca2b32f1f540", + "metadata": {}, + "outputs": [], + "source": [ + "### Check out a new stack\n", + "!zenml stack describe hf-sagemaker-airflow" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c9a5bee-8465-4d41-888a-093f1f6a2ef1", + "metadata": {}, + "outputs": [], + "source": [ + "### Change the stack\n", + "!zenml stack set hf-sagemaker-airflow" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d3772c50-1c90-4ffc-8394-c9cfca16cc53", + "metadata": {}, + "outputs": [], + "source": [ + "sentinment_analysis_training_pipeline.with_options(**pipeline_args)(\n", + " **run_args_train\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "be79f454-a45d-4f5f-aa93-330d52069124", + "metadata": {}, + "source": [ + "## 🫅 Step 3: Promote the model to production\n" + ] + }, + { + "cell_type": "markdown", + "id": "5a09b432-7a66-473e-bdb6-ffdca730498b", + "metadata": {}, + "source": [ + "Following training, the automated promotion pipeline evaluates models against predefined metrics, identifying and marking the most performant one as 'Production ready'. This is another common use case for the Model Control Plane; we store the relevant metrics there to access them easily later.\n", + "\n", + "\"Pipelines" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5bac7ae5-70d0-449c-929c-e175c3062f2d", + "metadata": {}, + "outputs": [], + "source": [ + "!zenml stack set hf-sagemaker-local" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "170c9ef6-4e6f-4e50-ac37-e05bef8570ea", + "metadata": {}, + "outputs": [], + "source": [ + "run_args_promoting = {}\n", + "model_config = ModelConfig(name=zenml_model_name)\n", + "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"promoting_config.yaml\")\n", + "\n", + "pipeline_args[\"model_config\"] = model_config\n", + "\n", + "pipeline_args[\n", + " \"run_name\"\n", + "] = f\"sentinment_analysis_promoting_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e6df11e2-4591-4186-a8f8-243f9c4d1e3d", + "metadata": {}, + "outputs": [], + "source": [ + "sentinment_analysis_promote_pipeline.with_options(**pipeline_args)(\n", + " **run_args_promoting\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "6efc4968-35fd-42e3-ba62-d8e1557aa0d6", + "metadata": {}, + "source": [ + "## 💯 Step 4: Deploy the model to AWS Sagemaker Endpoints\n" + ] + }, + { + "cell_type": "markdown", + "id": "577aff86-bde9-48d4-9b52-209cfed9fd4e", + "metadata": {}, + "source": [ + "This is the final step to automate the deployment of the slated production model to a Sagemaker endpoint. The deployment pipelines handles the complexities of AWS interactions and ensures that the model, along with its full history and context, is transitioned into a live environment ready for use. Here again we use the Model Control Plane interface to query the Huggingface revision and use that information to push to Huggingface Hub.\n", + "\n", + "\"Pipelines\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1513ab5f-de05-4344-9d2c-fedbfbd21ef0", + "metadata": {}, + "outputs": [], + "source": [ + "!zenml stack set hf-sagemaker-local" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "606fdb3c-4eca-4d32-bccb-280743d15528", + "metadata": {}, + "outputs": [], + "source": [ + "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"deploying_config.yaml\")\n", + "\n", + "# Deploying pipeline has new ZenML model config\n", + "model_config = ModelConfig(\n", + " name=zenml_model_name,\n", + " version=ModelStages.PRODUCTION,\n", + ")\n", + "pipeline_args[\"model_config\"] = model_config\n", + "pipeline_args[\"enable_cache\"] = False\n", + "run_args_deploying = {}\n", + "pipeline_args[\n", + " \"run_name\"\n", + "] = f\"sentinment_analysis_deploy_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "87f1f982-ab96-4207-8e7e-e318473587e9", + "metadata": {}, + "outputs": [], + "source": [ + "sentinment_analysis_deploy_pipeline.with_options(**pipeline_args)(\n", + " **run_args_deploying\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "594ee4fc-f102-4b99-bdc3-2f1670c87679", + "metadata": {}, + "source": [ + "ZenML builds upon the straightforward deployment capability of Huggingface models to AWS Sagemaker, and transforms it into a sophisticated, repeatable, and transparent MLOps workflow. It takes charge of the intricate steps necessary for modern ML systems, ensuring that software engineering leads can focus on iteration and innovation rather than operational intricacies.\n", + "\n", + "To delve deeper into each stage, refer to the comprehensive guide on GitHub[: zenml-io/zenml-huggingface-sagemak](https://github.com/zenml-io/zenml-huggingface-sagemaker)er. Additionally[, this YouTube playli](https://www.youtube.com/watch?v=Q1EH2H8Akgo&list=PLhNrLW_IWplw6dBbmGcL828-atJMu3CwF)st provides a detailed visual walkthrough of the entire pipeline: Huggingface to Sagemaker ZenML tutorial.\n", + "\n", + "Interested in standardizing your MLOps workflows? ZenML Cloud is now available to all - get a managed ZenML server with important features such as RBAC and pipeline trigge[rs. Book a ](https://zenml.io/book-a-demo)demo with us now to learn how you can create your own MLOps pipelines today." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/template/run.py b/template/run.py new file mode 100644 index 0000000..fdd603d --- /dev/null +++ b/template/run.py @@ -0,0 +1,299 @@ +# {% include 'templates/license_header' %} + +import os +import click +from typing import Any, Dict, Optional +from steps import ( + data_loader, + data_preprocessor, + data_splitter, + model_trainer, + model_evaluator, +) +from pipelines import ( + _model_training, + _feature_engineering, + _inference, +) +from zenml.logger import get_logger +from zenml import ModelVersion, ModelStages, Client + +logger = get_logger(__name__) + +@click.command( + help=""" +ZenML NLP project CLI v0.0.1. + +Run the ZenML NLP project model training pipeline with various +options. + +Examples: + + + \b + # Run the pipeline with default options + python run.py + + \b + # Run the pipeline without cache + python run.py --no-cache + + \b + # Run the pipeline without NA drop and normalization, + # but dropping columns [A,B,C] and keeping 10% of dataset + # as test set. + python run.py --num-epochs 3 --train-batch-size 8 --eval-batch-size 8 + + \b + # Run the pipeline with Quality Gate for accuracy set at 90% for train set + # and 85% for test set. If any of accuracies will be lower - pipeline will fail. + python run.py --min-train-accuracy 0.9 --min-test-accuracy 0.85 --fail-on-accuracy-quality-gates + + +""" +) +@click.option( + "--no-cache", + is_flag=True, + default=False, + help="Disable caching for the pipeline run.", +) +@click.option( + "--num-epochs", + default=1, + type=click.INT, + help="Number of epochs to train the model for.", +) +@click.option( + "--train-batch-size", + default=8, + type=click.INT, + help="Batch size for training the model.", +) +@click.option( + "--eval-batch-size", + default=8, + type=click.INT, + help="Batch size for evaluating the model.", +) +@click.option( + "--learning-rate", + default=2e-5, + type=click.FLOAT, + help="Learning rate for training the model.", +) +@click.option( + "--weight-decay", + default=0.01, + type=click.FLOAT, + help="Weight decay for training the model.", +) +@click.option( + "--max-seq-length", + default=512, + type=click.INT, + help="The maximum total input sequence length after tokenization.", +) +@click.option( + "--dataset-name", + default="tokenized_dataset", + type=click.STRING, + help="The name of the dataset produced by feature engineering.", +) +@click.option( + "--dataset-version-name", + default=None, + type=click.STRING, + help="Version of the dataset produced by feature engineering. " + "If not specified, the a new version will be used.", +) +@click.option( + "--feature-pipeline", + is_flag=True, + default=False, + help="Whether to run the pipeline that creates the dataset.", +) +@click.option( + "--training-pipeline", + is_flag=True, + default=False, + help="Whether to run the pipeline that trains the model.", +) +@click.option( + "--dataset-artifact-id", + default=None, + type=click.STRING, + help="Dataset artifact id to use for training. If not specified, " + "the latest version will be used.", +) +@click.option( + "--tokenizer-artifact-id", + default=None, + type=click.STRING, + help="Tokenizer artifact id to use for training. If not specified, " + "the latest version will be used.", +) +@click.option( + "--promoting-pipeline", + is_flag=True, + default=False, + help="Whether to run the pipeline that promotes the model to staging.", +) +@click.option( + "--deploying-pipeline", + is_flag=True, + default=False, + help="Whether to run the pipeline that deploys the model to selected deployment platform.", +) +@click.option( + "--zenml-model-name", + default="distil_bert_sentiment_analysis", + type=click.STRING, + help="Name of the ZenML Model.", +) +def main( + no_cache: bool = True, + num_epochs: int = 3, + train_batch_size: int = 8, + eval_batch_size: int = 8, + learning_rate: float = 2e-5, + weight_decay: float = 0.01, + max_seq_length: int = 512, + dataset_artifact_id: Optional[str] = None, + tokenizer_artifact_id: Optional[str] = None, + dataset_name: str = "tokenized_dataset", + dataset_version_name: Optional[str] = None, + feature_pipeline: bool = False, + training_pipeline: bool = False, + promoting_pipeline: bool = False, + deploying_pipeline: bool = False, + zenml_model_name: str = "distil_bert_sentiment_analysis", +): + """Main entry point for the pipeline execution. + + This entrypoint is where everything comes together: + + * configuring pipeline with the required parameters + (some of which may come from command line arguments) + * launching the pipeline + """ + + # Run a pipeline with the required parameters. This executes + # all steps in the pipeline in the correct order using the orchestrator + # stack component that is configured in your active ZenML stack. + config_folder = os.path.join( + os.path.dirname(os.path.realpath(__file__)), + "configs", + ) + model_version = ModelVersion( + name=zenml_model_name, + license="Apache 2.0", + description="Show case Model Control Plane.", + create_new_model_version=True, + delete_new_version_on_failure=True, + tags=["sentiment_analysis", "huggingface"], + ) + + pipeline_args = {} + + if no_cache: + pipeline_args["enable_cache"] = False + + # Execute Feature Engineering Pipeline + if feature_pipeline: + pipeline_args["model_version"] = model_version + pipeline_args["config_path"] = os.path.join(config_folder, "feature_engineering_config.yaml") + run_args_feature = { + "max_seq_length": max_seq_length, + } + pipeline_args[ + "run_name" + ] = f"sentinment_analysis_feature_engineering_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}" + sentinment_analysis_feature_engineering_pipeline.with_options(**pipeline_args)( + **run_args_feature + ) + logger.info("Feature Engineering pipeline finished successfully!") + + # Execute Training Pipeline + if training_pipeline: + pipeline_args["config_path"] = os.path.join(config_folder, "trainer_config.yaml") + + run_args_train = { + "num_epochs": num_epochs, + "train_batch_size": train_batch_size, + "eval_batch_size": eval_batch_size, + "learning_rate": learning_rate, + "weight_decay": weight_decay, + "max_seq_length": max_seq_length, + "dataset_artifact_id": dataset_artifact_id, + "tokenizer_artifact_id": tokenizer_artifact_id, + } + + # If dataset_version_name is specified, use versioned artifacts + if dataset_version_name: + client = Client() + tokenized_dataset_artifact = client.get_artifact( + dataset_name, dataset_version_name + ) + # base tokenizer is always the same version + # as the dataset version + tokenized_tokenizer_artifact = client.get_artifact( + "base_tokenizer", dataset_version_name + ) + # Use versioned artifacts + run_args_train["dataset_artifact_id"] = tokenized_dataset_artifact.id + run_args_train["tokenizer_artifact_id"] = tokenized_tokenizer_artifact.id + + pipeline_args["model_version"] = model_version + + pipeline_args[ + "run_name" + ] = f"sentinment_analysis_training_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}" + + sentinment_analysis_training_pipeline.with_options(**pipeline_args)( + **run_args_train + ) + logger.info("Training pipeline finished successfully!") + + # Execute Promoting Pipeline + if promoting_pipeline: + run_args_promoting = {} + # Promoting pipeline always check latest version + model_version = ModelVersion( + name=zenml_model_name, + version=ModelStages.LATEST, + ) + pipeline_args["config_path"] = os.path.join(config_folder, "promoting_config.yaml") + + pipeline_args["model_version"] = model_version + + pipeline_args[ + "run_name" + ] = f"sentinment_analysis_promoting_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}" + sentinment_analysis_promote_pipeline.with_options(**pipeline_args)( + **run_args_promoting + ) + logger.info("Promoting pipeline finished successfully!") + + if deploying_pipeline: + pipeline_args["config_path"] = os.path.join(config_folder, "deploying_config.yaml") + + # Deploying pipeline has new ZenML model config + model_version = ModelVersion( + name=zenml_model_name, + version=ModelStages.PRODUCTION, + ) + pipeline_args["model_version"] = model_version + pipeline_args["enable_cache"] = False + run_args_deploying = {} + pipeline_args[ + "run_name" + ] = f"sentinment_analysis_deploy_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}" + sentinment_analysis_deploy_pipeline.with_options(**pipeline_args)( + **run_args_deploying + ) + logger.info("Deploying pipeline finished successfully!") + + +if __name__ == "__main__": + main() diff --git a/template/steps/__init__.py b/template/steps/__init__.py new file mode 100644 index 0000000..a49bff9 --- /dev/null +++ b/template/steps/__init__.py @@ -0,0 +1,17 @@ +# {% include 'template/license_header' %} + +from data_loader import ( + data_loader, +) +from data_preprocessor import ( + data_preprocessor, +) +from data_splitter import ( + data_splitter, +) +from model_evaluator import ( + model_evaluator, +) +from model_trainer import ( + model_trainer, +) diff --git a/template/steps/data_loader.py b/template/steps/data_loader.py new file mode 100644 index 0000000..8b8de4d --- /dev/null +++ b/template/steps/data_loader.py @@ -0,0 +1,55 @@ +# {% include 'template/license_header' %} + +from typing import Tuple + +import pandas as pd +from sklearn.datasets import load_breast_cancer +from typing_extensions import Annotated +from zenml import step +from zenml.logger import get_logger + +logger = get_logger(__name__) + + +@step +def data_loader( + random_state: int, is_inference: bool = False +) -> Tuple[ + Annotated[pd.DataFrame, "dataset"], + Annotated[str, "target"], + Annotated[int, "random_state"], +]: + """Dataset reader step. + + This is an example of a dataset reader step that load Breast Cancer dataset. + + This step is parameterized, which allows you to configure the step + independently of the step code, before running it in a pipeline. + In this example, the step can be configured with number of rows and logic + to drop target column or not. See the documentation for more information: + + https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines + + Args: + is_inference: If `True` subset will be returned and target column + will be removed from dataset. + random_state: Random state for sampling + + Returns: + The dataset artifact as Pandas DataFrame and name of target column. + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + dataset = load_breast_cancer(as_frame=True) + inference_size = int(len(dataset.target) * 0.05) + target = "target" + dataset: pd.DataFrame = dataset.frame + inference_subset = dataset.sample(inference_size, random_state=random_state) + if is_inference: + dataset = inference_subset + dataset.drop(columns=target, inplace=True) + else: + dataset.drop(inference_subset.index, inplace=True) + dataset.reset_index(drop=True, inplace=True) + logger.info(f"Dataset with {len(dataset)} records loaded!") + ### YOUR CODE ENDS HERE ### + return dataset, target, random_state diff --git a/template/steps/data_preprocessor.py b/template/steps/data_preprocessor.py new file mode 100644 index 0000000..2572c6f --- /dev/null +++ b/template/steps/data_preprocessor.py @@ -0,0 +1,67 @@ +# {% include 'template/license_header' %} + +from typing import List, Optional, Tuple +from typing_extensions import Annotated + +import pandas as pd +from sklearn.pipeline import Pipeline +from sklearn.preprocessing import MinMaxScaler +from utils.preprocess import ColumnsDropper, DataFrameCaster, NADropper +from zenml import step + + +@step +def data_preprocessor( + dataset_trn: pd.DataFrame, + dataset_tst: pd.DataFrame, + drop_na: Optional[bool] = None, + normalize: Optional[bool] = None, + drop_columns: Optional[List[str]] = None, +) -> Tuple[ + Annotated[pd.DataFrame, "dataset_trn"], + Annotated[pd.DataFrame, "dataset_tst"], + Annotated[Pipeline, "preprocess_pipeline"], +]: + """Data preprocessor step. + + This is an example of a data processor step that prepares the data so that + it is suitable for model training. It takes in a dataset as an input step + artifact and performs any necessary preprocessing steps like cleaning, + feature engineering, feature selection, etc. It then returns the processed + dataset as an step output artifact. + + This step is parameterized, which allows you to configure the step + independently of the step code, before running it in a pipeline. + In this example, the step can be configured to drop NA values, drop some + columns and normalize numerical columns. See the documentation for more + information: + + https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines + + Args: + dataset_trn: The train dataset. + dataset_tst: The test dataset. + drop_na: If `True` all NA rows will be dropped. + normalize: If `True` all numeric fields will be normalized. + drop_columns: List of column names to drop. + + Returns: + The processed datasets (dataset_trn, dataset_tst) and fitted `Pipeline` object. + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + # We use the sklearn pipeline to chain together multiple preprocessing steps + preprocess_pipeline = Pipeline([("passthrough", "passthrough")]) + if drop_na: + preprocess_pipeline.steps.append(("drop_na", NADropper())) + if drop_columns: + # Drop columns + preprocess_pipeline.steps.append(("drop_columns", ColumnsDropper(drop_columns))) + if normalize: + # Normalize the data + preprocess_pipeline.steps.append(("normalize", MinMaxScaler())) + preprocess_pipeline.steps.append(("cast", DataFrameCaster(dataset_trn.columns))) + dataset_trn = preprocess_pipeline.fit_transform(dataset_trn) + dataset_tst = preprocess_pipeline.transform(dataset_tst) + ### YOUR CODE ENDS HERE ### + + return dataset_trn, dataset_tst, preprocess_pipeline diff --git a/template/steps/data_splitter.py b/template/steps/data_splitter.py new file mode 100644 index 0000000..121cfd2 --- /dev/null +++ b/template/steps/data_splitter.py @@ -0,0 +1,47 @@ +# {% include 'template/license_header' %} + +from typing import Tuple +from typing_extensions import Annotated + +import pandas as pd +from sklearn.model_selection import train_test_split +from zenml import step + + +@step +def data_splitter( + dataset: pd.DataFrame, test_size: float = 0.2 +) -> Tuple[ + Annotated[pd.DataFrame, "raw_dataset_trn"], + Annotated[pd.DataFrame, "raw_dataset_tst"], +]: + """Dataset splitter step. + + This is an example of a dataset splitter step that splits the data + into train and test set before passing it to ML model. + + This step is parameterized, which allows you to configure the step + independently of the step code, before running it in a pipeline. + In this example, the step can be configured to use different test + set sizes. See the documentation for more information: + + https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines + + Args: + dataset: Dataset read from source. + test_size: 0.0..1.0 defining portion of test set. + + Returns: + The split dataset: dataset_trn, dataset_tst. + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + dataset_trn, dataset_tst = train_test_split( + dataset, + test_size=test_size, + random_state=42, + shuffle=True, + ) + dataset_trn = pd.DataFrame(dataset_trn, columns=dataset.columns) + dataset_tst = pd.DataFrame(dataset_tst, columns=dataset.columns) + ### YOUR CODE ENDS HERE ### + return dataset_trn, dataset_tst diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py new file mode 100644 index 0000000..c7640c2 --- /dev/null +++ b/template/steps/model_evaluator.py @@ -0,0 +1,89 @@ +# {% include 'template/license_header' %} + +import pandas as pd +from sklearn.base import ClassifierMixin +from zenml import step +from zenml.logger import get_logger + +logger = get_logger(__name__) + + +@step +def model_evaluator( + model: ClassifierMixin, + dataset_trn: pd.DataFrame, + dataset_tst: pd.DataFrame, + target: str, + min_train_accuracy: float = 0.0, + min_test_accuracy: float = 0.0, + fail_on_accuracy_quality_gates: bool = False, +) -> None: + """Evaluate a trained model. + + This is an example of a model evaluation step that takes in a model artifact + previously trained by another step in your pipeline, and a training + and validation data set pair which it uses to evaluate the model's + performance. The model metrics are then returned as step output artifacts + (in this case, the model accuracy on the train and test set). + + The suggested step implementation also outputs some warnings if the model + performance does not meet some minimum criteria. This is just an example of + how you can use steps to monitor your model performance and alert you if + something goes wrong. As an alternative, you can raise an exception in the + step to force the pipeline run to fail early and all subsequent steps to + be skipped. + + This step is parameterized to configure the step independently of the step code, + before running it in a pipeline. In this example, the step can be configured + to use different values for the acceptable model performance thresholds and + to control whether the pipeline run should fail if the model performance + does not meet the minimum criteria. See the documentation for more + information: + + https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines + + Args: + model: The pre-trained model artifact. + dataset_trn: The train dataset. + dataset_tst: The test dataset. + target: Name of target columns in dataset. + min_train_accuracy: Minimal acceptable training accuracy value. + min_test_accuracy: Minimal acceptable testing accuracy value. + fail_on_accuracy_quality_gates: If `True` a `RuntimeException` is raised + upon not meeting one of the minimal accuracy thresholds. + + Raises: + RuntimeError: if any of accuracies is lower than respective threshold + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + # Calculate the model accuracy on the train and test set + trn_acc = model.score( + dataset_trn.drop(columns=[target]), + dataset_trn[target], + ) + logger.info(f"Train accuracy={trn_acc*100:.2f}%") + tst_acc = model.score( + dataset_tst.drop(columns=[target]), + dataset_tst[target], + ) + logger.info(f"Test accuracy={tst_acc*100:.2f}%") + + messages = [] + if trn_acc < min_train_accuracy: + messages.append( + f"Train accuracy {trn_acc*100:.2f}% is below {min_train_accuracy*100:.2f}% !" + ) + if tst_acc < min_test_accuracy: + messages.append( + f"Test accuracy {tst_acc*100:.2f}% is below {min_test_accuracy*100:.2f}% !" + ) + if fail_on_accuracy_quality_gates and messages: + raise RuntimeError( + "Model performance did not meet the minimum criteria:\n" + + "\n".join(messages) + ) + else: + for message in messages: + logger.warning(message) + + ### YOUR CODE ENDS HERE ### diff --git a/template/steps/model_trainer.py b/template/steps/model_trainer.py new file mode 100644 index 0000000..1718640 --- /dev/null +++ b/template/steps/model_trainer.py @@ -0,0 +1,74 @@ +# {% include 'template/license_header' %} + +from typing_extensions import Annotated + +import pandas as pd +from sklearn.base import ClassifierMixin +from zenml import ArtifactConfig, log_artifact_metadata, step +from zenml.client import Client +from zenml.logger import get_logger + +logger = get_logger(__name__) + + +@step +def model_trainer( + dataset_trn: pd.DataFrame, + model: ClassifierMixin, + target: str, + name: str, +) -> Annotated[ + ClassifierMixin, ArtifactConfig(name="model", is_model_artifact=True) +]: + """Configure and train a model on the training dataset. + + This is an example of a model training step that takes in a dataset artifact + previously loaded and pre-processed by other steps in your pipeline, then + configures and trains a model on it. The model is then returned as a step + output artifact. + + Model training steps should have caching disabled if they are not + deterministic (i.e. if the model training involve some random processes + like initializing weights or shuffling data that are not controlled by + setting a fixed random seed). This example step ensures the outcome is + deterministic by initializing the model with a fixed random seed. + + This step is parameterized to configure the step independently of the step code, + before running it in a pipeline. In this example, the step can be configured + to use a different model, change the random seed, or pass different + hyperparameters to the model constructor. See the documentation for more + information: + + https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines + + Args: + dataset_trn: The preprocessed train dataset. + model: The model instance to train. + target: Name of target columns in dataset. + name: The name of the model. + + Returns: + The trained model artifact. + """ + + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + # Initialize the model with the hyperparameters indicated in the step + # parameters and train it on the training set. + logger.info(f"Training model {model}...") + model.fit( + dataset_trn.drop(columns=[target]), + dataset_trn[target], + ) + + # keep track of mlflow version for future use + model_registry = Client().active_stack.model_registry + if model_registry: + versions = model_registry.list_model_versions(name=name) + if versions: + log_artifact_metadata( + metadata={"model_registry_version": versions[-1].version}, + artifact_name="model", + ) + ### YOUR CODE ENDS HERE ### + + return model diff --git a/template/utils/__init__.py b/template/utils/__init__.py new file mode 100644 index 0000000..4bc11e5 --- /dev/null +++ b/template/utils/__init__.py @@ -0,0 +1 @@ +# {% include 'template/license_header' %} diff --git a/template/utils/preprocess.py b/template/utils/preprocess.py new file mode 100644 index 0000000..2dd4a85 --- /dev/null +++ b/template/utils/preprocess.py @@ -0,0 +1,41 @@ +# {% include 'template/license_header' %} + +from typing import Union + +import pandas as pd + + +class NADropper: + """Support class to drop NA values in sklearn Pipeline.""" + + def fit(self, *args, **kwargs): + return self + + def transform(self, X: Union[pd.DataFrame, pd.Series]): + return X.dropna() + + +class ColumnsDropper: + """Support class to drop specific columns in sklearn Pipeline.""" + + def __init__(self, columns): + self.columns = columns + + def fit(self, *args, **kwargs): + return self + + def transform(self, X: Union[pd.DataFrame, pd.Series]): + return X.drop(columns=self.columns) + + +class DataFrameCaster: + """Support class to cast type back to pd.DataFrame in sklearn Pipeline.""" + + def __init__(self, columns): + self.columns = columns + + def fit(self, *args, **kwargs): + return self + + def transform(self, X): + return pd.DataFrame(X, columns=self.columns) diff --git a/template/{% if open_source_license %}LICENSE{% endif %} b/template/{% if open_source_license %}LICENSE{% endif %} new file mode 100644 index 0000000..3de332b --- /dev/null +++ b/template/{% if open_source_license %}LICENSE{% endif %} @@ -0,0 +1 @@ +{% include 'template/license' %} \ No newline at end of file diff --git a/template/{{ _copier_conf.answers_file }} b/template/{{ _copier_conf.answers_file }} new file mode 100644 index 0000000..ea97bd4 --- /dev/null +++ b/template/{{ _copier_conf.answers_file }} @@ -0,0 +1,2 @@ +# Changes here will be overwritten by Copier +{{ _copier_answers|to_nice_yaml -}} \ No newline at end of file diff --git a/tests/test_starter_template.py b/tests/test_starter_template.py index c7ac609..57c3a6f 100644 --- a/tests/test_starter_template.py +++ b/tests/test_starter_template.py @@ -11,93 +11,108 @@ # 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. + + +import os +import pathlib +import platform import shutil import subprocess import sys from typing import Optional -from copier import Worker -import os -import pathlib -import pytest -from zenml.enums import ExecutionStatus -from zenml.post_execution import get_pipeline +import pytest +from copier import Worker from zenml.client import Client +from zenml.enums import ExecutionStatus -TEMPLATE_DIRECTORY = str(pathlib.Path(__file__).parent.parent) +TEMPLATE_DIRECTORY = str(pathlib.Path.joinpath(pathlib.Path(__file__).parent.parent)) def generate_and_run_project( tmp_path_factory: pytest.TempPathFactory, open_source_license: Optional[str] = "apache", - auto_format: bool = True, - use_step_params: bool = True, - use_custom_artifacts: bool = True, - configurable_dataset: bool = True, - configurable_model: bool = True, - sklearn_dataset_name: str = "wine", - sklearn_model_name: str = "SVC", - pipeline_name: str = "model_training_pipeline", + product_name: str = "e2e_pipeline_pytest", + hyperparameters_tuning: bool = True, + metric_compare_promotion: bool = True, + data_quality_checks: bool = True, + target_environment: str = "staging", + notify_on_failures: bool = True, + notify_on_successes: bool = False, + zenml_server_url: str = "", ): """Generate and run the starter project with different options.""" answers = { - "template": "starter", - "project_name": "Pytest Starter", + "project_name": "Pytest Templated Project", "version": "0.0.1", "open_source_license": str(open_source_license).lower(), - "email": "pytest@zenml.io", - "full_name": "Pytest", - "auto_format": auto_format, - "use_custom_artifacts": use_custom_artifacts, - "use_step_params": use_step_params, - "configurable_dataset": configurable_dataset, - "configurable_model": configurable_model, - "sklearn_dataset_name": sklearn_dataset_name, - "sklearn_model_name": sklearn_model_name, + "product_name": product_name, + "hyperparameters_tuning": hyperparameters_tuning, + "metric_compare_promotion": metric_compare_promotion, + "data_quality_checks": data_quality_checks, + "target_environment": target_environment, + "notify_on_failures": notify_on_failures, + "notify_on_successes": notify_on_successes, + "zenml_server_url": zenml_server_url, } + if open_source_license: + answers["email"] = "pytest@zenml.io" + answers["full_name"] = "Pytest" # generate the template in a temp path current_dir = os.getcwd() dst_path = tmp_path_factory.mktemp("pytest-template") + print("TEMPLATE_DIR:", TEMPLATE_DIRECTORY) + print("dst_path:", dst_path) + print("current_dir:", current_dir) os.chdir(str(dst_path)) with Worker( src_path=TEMPLATE_DIRECTORY, dst_path=str(dst_path), data=answers, unsafe=True, + vcs_ref="HEAD", ) as worker: worker.run_copy() - # run the project - call = [sys.executable, "run.py"] - - try: - subprocess.check_call( - call, - cwd=str(dst_path), - env=os.environ.copy(), - ) - except Exception as e: - raise RuntimeError( - f"Failed to run project generated with parameters: {answers}" - ) from e - - # check the pipeline run is successful - pipeline = get_pipeline(pipeline_name) - assert pipeline - runs = pipeline.runs - assert len(runs) == 1 - assert runs[0].status == ExecutionStatus.COMPLETED - - # clean up - Client().delete_pipeline(pipeline_name) + # MLFlow Deployer not supported on Windows + # MLFlow `service daemon is not running` error on MacOS + if platform.system().lower() not in ["windows"]: + # run the project + call = [sys.executable, "run.py"] + + try: + subprocess.check_output( + call, + cwd=str(dst_path), + env=os.environ.copy(), + stderr=subprocess.STDOUT, + ) + except subprocess.CalledProcessError as e: + raise RuntimeError( + f"Failed to run project generated with parameters: {answers}\n" + f"{e.output.decode()}" + ) from e + + # check the pipeline run is successful + for pipeline_suffix in ["_training", "_batch_inference"]: + pipeline = Client().get_pipeline(product_name + pipeline_suffix) + assert pipeline + runs = pipeline.runs + assert len(runs) == 1 + assert runs[0].status == ExecutionStatus.COMPLETED + + # clean up + Client().delete_pipeline(product_name + pipeline_suffix) + Client().delete_model(product_name) + Client().active_stack.model_registry.delete_model(product_name) os.chdir(current_dir) shutil.rmtree(dst_path) -@pytest.mark.parametrize("open_source_license", ["mit", None]) +@pytest.mark.parametrize("open_source_license", ["mit", None], ids=["oss", "css"]) def test_generate_license( clean_zenml_client, tmp_path_factory: pytest.TempPathFactory, @@ -111,75 +126,95 @@ def test_generate_license( ) -def test_no_auto_format( +def test_custom_product_name( + clean_zenml_client, + tmp_path_factory: pytest.TempPathFactory, +): + """Test using custom pipeline name.""" + + generate_and_run_project( + tmp_path_factory=tmp_path_factory, + product_name="custom_product_name", + ) + + +def test_no_hp_tuning( + clean_zenml_client, + tmp_path_factory: pytest.TempPathFactory, +): + """Test turning off hyperparameter tuning.""" + + generate_and_run_project( + tmp_path_factory=tmp_path_factory, hyperparameters_tuning=False + ) + + +def test_latest_promotion( + clean_zenml_client, + tmp_path_factory: pytest.TempPathFactory, +): + """Test using latest promotion.""" + + generate_and_run_project( + tmp_path_factory=tmp_path_factory, metric_compare_promotion=False + ) + + +def test_no_data_quality_checks( clean_zenml_client, tmp_path_factory: pytest.TempPathFactory, ): - """Test turning off code auto-format.""" + """Test skipping Data Quality checks.""" generate_and_run_project( tmp_path_factory=tmp_path_factory, - auto_format=False, + data_quality_checks=False, ) -@pytest.mark.parametrize("use_custom_artifacts", [True, False]) -@pytest.mark.parametrize("sklearn_dataset_name", ["wine", "iris"]) -@pytest.mark.parametrize( - "sklearn_model_name", - [ - "SGDClassifier", - "DecisionTreeClassifier", - ], -) -def test_step_params_disabled( +def test_production_environment( clean_zenml_client, tmp_path_factory: pytest.TempPathFactory, - use_custom_artifacts: bool, - sklearn_dataset_name: str, - sklearn_model_name: str, ): - """Test generating the starter template with step parameters disabled .""" + """Test deploying to production stage.""" generate_and_run_project( tmp_path_factory=tmp_path_factory, - use_step_params=False, - use_custom_artifacts=use_custom_artifacts, - configurable_dataset=False, - configurable_model=False, - sklearn_dataset_name=sklearn_dataset_name, - sklearn_model_name=sklearn_model_name, + target_environment="production", ) -@pytest.mark.parametrize("use_custom_artifacts", [True, False]) -@pytest.mark.parametrize("configurable_dataset", [True, False]) -@pytest.mark.parametrize("configurable_model", [True, False]) -@pytest.mark.parametrize("sklearn_dataset_name", ["iris", "breast_cancer"]) -@pytest.mark.parametrize( - "sklearn_model_name", - [ - "RandomForestClassifier", - "KNeighborsClassifier", - ], -) -def test_step_params_enabled( +def test_no_notify_on_failure( clean_zenml_client, tmp_path_factory: pytest.TempPathFactory, - use_custom_artifacts: bool, - configurable_dataset: bool, - configurable_model: bool, - sklearn_dataset_name: str, - sklearn_model_name: str, ): - """Test generating the starter template with step parameters enabled .""" + """Test skipping notification on failure.""" generate_and_run_project( tmp_path_factory=tmp_path_factory, - use_step_params=False, - use_custom_artifacts=use_custom_artifacts, - configurable_dataset=configurable_dataset, - configurable_model=configurable_model, - sklearn_dataset_name=sklearn_dataset_name, - sklearn_model_name=sklearn_model_name, + notify_on_failures=False, ) + + +def test_notify_on_success( + clean_zenml_client, + tmp_path_factory: pytest.TempPathFactory, +): + """Test skipping notification on success.""" + + generate_and_run_project( + tmp_path_factory=tmp_path_factory, + notify_on_successes=True, + ) + + +def test_custom_zenml_server_url( + clean_zenml_client, + tmp_path_factory: pytest.TempPathFactory, +): + """Test deploying to production stage.""" + + generate_and_run_project( + tmp_path_factory=tmp_path_factory, + zenml_server_url="foo", + ) \ No newline at end of file From 2dd1ac4b0d705adcd6b90a3521ee2d79b889d8dc Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Fri, 1 Dec 2023 09:38:05 +0100 Subject: [PATCH 02/48] Template --- template/configs/feature_engineering.yaml | 12 + template/run.ipynb | 326 ++++++++++------------ template/steps/__init__.py | 16 +- template/steps/inference_predict.py | 61 ++++ template/steps/inference_preprocessor.py | 53 ++++ 5 files changed, 278 insertions(+), 190 deletions(-) create mode 100644 template/steps/inference_predict.py create mode 100644 template/steps/inference_preprocessor.py diff --git a/template/configs/feature_engineering.yaml b/template/configs/feature_engineering.yaml index e69de29..daa91a1 100644 --- a/template/configs/feature_engineering.yaml +++ b/template/configs/feature_engineering.yaml @@ -0,0 +1,12 @@ +# environment configuration +settings: + docker: + required_integrations: + - sklearn + +# configuration of the Model Control Plane +model_version: + name: breast_cancer_classifier + license: Apache 2.0 + description: Classification of Breast Cancer Dataset. + tags: ["classification", "sklearn"] diff --git a/template/run.ipynb b/template/run.ipynb index 87bd223..48d9165 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -2,211 +2,167 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, + "id": "a681b91b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: zenml>=0.50.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.50.0)\n", - "Requirement already satisfied: notebook in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from -r requirements.txt (line 2)) (7.0.6)\n", - "Requirement already satisfied: scikit-learn<1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from -r requirements.txt (line 3)) (1.2.2)\n", - "Requirement already satisfied: alembic<1.9.0,>=1.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.8.1)\n", - "Requirement already satisfied: azure-mgmt-resource>=21.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (23.0.1)\n", - "Requirement already satisfied: bcrypt==4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.0.1)\n", - "Requirement already satisfied: click<8.1.4,>=8.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (8.1.3)\n", - "Requirement already satisfied: click-params<0.4.0,>=0.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.3.0)\n", - "Requirement already satisfied: cloudpickle<3,>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.2.1)\n", - "Requirement already satisfied: distro<2.0.0,>=1.6.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.8.0)\n", - "Requirement already satisfied: docker<6.2.0,>=6.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.1.3)\n", - "Requirement already satisfied: gitpython<4.0.0,>=3.1.18 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.1.40)\n", - "Requirement already satisfied: httplib2<0.20,>=0.19.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.19.1)\n", - "Requirement already satisfied: pandas>=1.1.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.0.3)\n", - "Requirement already satisfied: passlib<1.8.0,>=1.7.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from passlib[bcrypt]<1.8.0,>=1.7.4->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.7.4)\n", - "Requirement already satisfied: psutil>=5.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.9.6)\n", - "Requirement already satisfied: pydantic<1.11,>=1.9.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.10.13)\n", - "Requirement already satisfied: pymysql<1.1.0,>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.0.3)\n", - "Requirement already satisfied: pyparsing<3,>=2.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.4.7)\n", - "Requirement already satisfied: python-dateutil<3.0.0,>=2.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.8.2)\n", - "Requirement already satisfied: pyyaml>=6.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.0.1)\n", - "Requirement already satisfied: rich>=12.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (13.7.0)\n", - "Requirement already satisfied: sqlalchemy_utils==0.38.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.38.3)\n", - "Requirement already satisfied: sqlmodel==0.0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.0.8)\n", - "Requirement already satisfied: SQLAlchemy>=1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlalchemy_utils==0.38.3->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.4.41)\n", - "Requirement already satisfied: sqlalchemy2-stubs in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlmodel==0.0.8->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.0.2a37)\n", - "Requirement already satisfied: jupyter-server<3,>=2.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (2.11.1)\n", - "Requirement already satisfied: jupyterlab-server<3,>=2.22.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (2.25.2)\n", - "Requirement already satisfied: jupyterlab<5,>=4.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (4.0.9)\n", - "Requirement already satisfied: notebook-shim<0.3,>=0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (0.2.3)\n", - "Requirement already satisfied: tornado>=6.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from notebook->-r requirements.txt (line 2)) (6.4)\n", - "Requirement already satisfied: numpy>=1.17.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3->-r requirements.txt (line 3)) (1.24.4)\n", - "Requirement already satisfied: scipy>=1.3.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3->-r requirements.txt (line 3)) (1.10.1)\n", - "Requirement already satisfied: joblib>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3->-r requirements.txt (line 3)) (1.3.2)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3->-r requirements.txt (line 3)) (3.2.0)\n", - "Requirement already satisfied: Jinja2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.1.2)\n", - "Requirement already satisfied: fastapi<0.100,>=0.75 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.99.1)\n", - "Requirement already satisfied: fastapi-utils<0.3.0,>=0.2.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.1)\n", - "Requirement already satisfied: ipinfo>=4.4.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.0.0)\n", - "Requirement already satisfied: orjson<3.9.0,>=3.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.8.14)\n", - "Requirement already satisfied: pyjwt==2.7.* in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.7.0)\n", - "Requirement already satisfied: python-multipart<0.1.0,>=0.0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.0.6)\n", - "Requirement already satisfied: uvicorn>=0.17.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.24.0.post1)\n", - "Requirement already satisfied: cryptography>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (41.0.7)\n", - "Requirement already satisfied: Mako in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: importlib-metadata in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.8.0)\n", - "Requirement already satisfied: importlib-resources in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.1.1)\n", - "Requirement already satisfied: isodate<1.0.0,>=0.6.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.6.1)\n", - "Requirement already satisfied: azure-common~=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.1.28)\n", - "Requirement already satisfied: azure-mgmt-core<2.0.0,>=1.3.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.4.0)\n", - "Requirement already satisfied: validators<0.19,>=0.18 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from click-params<0.4.0,>=0.3.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.18.2)\n", - "Requirement already satisfied: packaging>=14.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (23.2)\n", - "Requirement already satisfied: requests>=2.26.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.31.0)\n", - "Requirement already satisfied: urllib3>=1.26.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.1.0)\n", - "Requirement already satisfied: websocket-client>=0.32.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.6.4)\n", - "Requirement already satisfied: starlette<0.28.0,>=0.27.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi<0.100,>=0.75->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.27.0)\n", - "Requirement already satisfied: typing-extensions>=4.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi<0.100,>=0.75->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.8.0)\n", - "Requirement already satisfied: gitdb<5,>=4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitpython<4.0.0,>=3.1.18->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.0.11)\n", - "Requirement already satisfied: cachetools in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.3.2)\n", - "Requirement already satisfied: aiohttp<=4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.9.1)\n", - "Requirement already satisfied: anyio>=3.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (4.1.0)\n", - "Requirement already satisfied: argon2-cffi in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (23.1.0)\n", - "Requirement already satisfied: jupyter-client>=7.4.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (8.6.0)\n", - "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (5.5.0)\n", - "Requirement already satisfied: jupyter-events>=0.9.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.9.0)\n", - "Requirement already satisfied: jupyter-server-terminals in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.4.4)\n", - "Requirement already satisfied: nbconvert>=6.4.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (7.11.0)\n", - "Requirement already satisfied: nbformat>=5.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (5.9.2)\n", - "Requirement already satisfied: overrides in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (7.4.0)\n", - "Requirement already satisfied: prometheus-client in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.19.0)\n", - "Requirement already satisfied: pyzmq>=24 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (25.1.1)\n", - "Requirement already satisfied: send2trash>=1.8.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.8.2)\n", - "Requirement already satisfied: terminado>=0.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.18.0)\n", - "Requirement already satisfied: traitlets>=5.6.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (5.14.0)\n", - "Requirement already satisfied: async-lru>=1.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (2.0.4)\n", - "Requirement already satisfied: ipykernel in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (6.27.1)\n", - "Requirement already satisfied: jupyter-lsp>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (2.2.1)\n", - "Requirement already satisfied: tomli in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (2.0.1)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from Jinja2->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.1.3)\n", - "Requirement already satisfied: babel>=2.10 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (2.13.1)\n", - "Requirement already satisfied: json5>=0.9.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (0.9.14)\n", - "Requirement already satisfied: jsonschema>=4.18.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (4.20.0)\n", - "Requirement already satisfied: pytz>=2020.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2023.3.post1)\n", - "Requirement already satisfied: tzdata>=2022.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2023.3)\n", - "Requirement already satisfied: six>=1.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from python-dateutil<3.0.0,>=2.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: markdown-it-py>=2.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich>=12.0.0->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.0.0)\n", - "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich>=12.0.0->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.17.2)\n", - "Requirement already satisfied: ipywidgets<9,>=7.5.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (8.1.1)\n", - "Requirement already satisfied: h11>=0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn>=0.17.5->uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.14.0)\n", - "Requirement already satisfied: httptools>=0.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.6.1)\n", - "Requirement already satisfied: python-dotenv>=0.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.0.0)\n", - "Requirement already satisfied: uvloop!=0.15.0,!=0.15.1,>=0.14.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.19.0)\n", - "Requirement already satisfied: watchfiles>=0.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.21.0)\n", - "Requirement already satisfied: websockets>=10.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (12.0)\n", - "Requirement already satisfied: attrs>=17.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (23.1.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (6.0.4)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.9.3)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.4.0)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.3.1)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.0.3)\n", - "Requirement already satisfied: idna>=2.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (3.6)\n", - "Requirement already satisfied: sniffio>=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.3.0)\n", - "Requirement already satisfied: exceptiongroup>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.2.0)\n", - "Requirement already satisfied: azure-core<2.0.0,>=1.26.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-core<2.0.0,>=1.3.2->azure-mgmt-resource>=21.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.29.5)\n", - "Requirement already satisfied: cffi>=1.12 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from cryptography>=3.4.0->pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: smmap<6,>=3.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitdb<5,>=4.0.1->gitpython<4.0.0,>=3.1.18->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.0.1)\n", - "Requirement already satisfied: zipp>=0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from importlib-metadata->alembic<1.9.0,>=1.8.1->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.17.0)\n", - "Requirement already satisfied: comm>=0.1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.0)\n", - "Requirement already satisfied: ipython>=6.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (8.12.3)\n", - "Requirement already satisfied: widgetsnbextension~=4.0.9 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.0.9)\n", - "Requirement already satisfied: jupyterlab-widgets~=3.0.9 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.0.9)\n", - "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (2023.11.1)\n", - "Requirement already satisfied: pkgutil-resolve-name>=1.3.10 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (1.3.10)\n", - "Requirement already satisfied: referencing>=0.28.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (0.31.0)\n", - "Requirement already satisfied: rpds-py>=0.7.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook->-r requirements.txt (line 2)) (0.13.1)\n", - "Requirement already satisfied: platformdirs>=2.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (4.0.0)\n", - "Requirement already satisfied: python-json-logger>=2.0.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.0.7)\n", - "Requirement already satisfied: rfc3339-validator in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.1.4)\n", - "Requirement already satisfied: rfc3986-validator>=0.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.1.1)\n", - "Requirement already satisfied: mdurl~=0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from markdown-it-py>=2.2.0->rich>=12.0.0->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.1.2)\n", - "Requirement already satisfied: beautifulsoup4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (4.12.2)\n", - "Requirement already satisfied: bleach!=5.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (6.1.0)\n", - "Requirement already satisfied: defusedxml in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.7.1)\n", - "Requirement already satisfied: jupyterlab-pygments in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.3.0)\n", - "Requirement already satisfied: mistune<4,>=2.0.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (3.0.2)\n", - "Requirement already satisfied: nbclient>=0.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.9.0)\n", - "Requirement already satisfied: pandocfilters>=1.4.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.5.0)\n", - "Requirement already satisfied: tinycss2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.2.1)\n", - "Requirement already satisfied: fastjsonschema in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from nbformat>=5.3.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.19.0)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.3.2)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2023.11.17)\n", - "Requirement already satisfied: greenlet!=0.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from SQLAlchemy>=1.3->sqlalchemy_utils==0.38.3->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.0.1)\n", - "Requirement already satisfied: ptyprocess in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from terminado>=0.8.3->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.7.0)\n", - "Requirement already satisfied: decorator>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from validators<0.19,>=0.18->click-params<0.4.0,>=0.3.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (5.1.1)\n", - "Requirement already satisfied: argon2-cffi-bindings in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from argon2-cffi->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (21.2.0)\n", - "Requirement already satisfied: debugpy>=1.6.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipykernel->jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (1.8.0)\n", - "Requirement already satisfied: matplotlib-inline>=0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipykernel->jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (0.1.6)\n", - "Requirement already satisfied: nest-asyncio in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipykernel->jupyterlab<5,>=4.0.2->notebook->-r requirements.txt (line 2)) (1.5.8)\n", - "Requirement already satisfied: webencodings in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (0.5.1)\n", - "Requirement already satisfied: pycparser in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from cffi>=1.12->cryptography>=3.4.0->pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.21)\n", - "Requirement already satisfied: backcall in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.0)\n", - "Requirement already satisfied: jedi>=0.16 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.19.1)\n", - "Requirement already satisfied: pickleshare in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.7.5)\n", - "Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (3.0.36)\n", - "Requirement already satisfied: stack-data in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.6.3)\n", - "Requirement already satisfied: pexpect>4.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (4.9.0)\n", - "Requirement already satisfied: fqdn in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.5.1)\n", - "Requirement already satisfied: isoduration in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (20.11.0)\n", - "Requirement already satisfied: jsonpointer>1.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.4)\n", - "Requirement already satisfied: uri-template in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.3.0)\n", - "Requirement already satisfied: webcolors>=1.11 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.13)\n", - "Requirement already satisfied: soupsieve>1.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.5)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.8.3)\n", - "Requirement already satisfied: wcwidth in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.12)\n", - "Requirement already satisfied: arrow>=0.15.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (1.3.0)\n", - "Requirement already satisfied: executing>=1.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.0.1)\n", - "Requirement already satisfied: asttokens>=2.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (2.4.1)\n", - "Requirement already satisfied: pure-eval in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml>=0.50.0->zenml[server]>=0.50.0->-r requirements.txt (line 1)) (0.2.2)\n", - "Requirement already satisfied: types-python-dateutil>=2.8.10 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook->-r requirements.txt (line 2)) (2.8.19.14)\n" - ] - } - ], + "outputs": [], "source": [ "!pip install -r requirements.txt" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "081d5616", + "metadata": {}, + "outputs": [], + "source": [ + "!zenml init" + ] + }, { "cell_type": "code", "execution_count": 2, + "id": "79f775f2", + "metadata": {}, + "outputs": [], + "source": [ + "# Do the imports at the top\n", + "\n", + "import random\n", + "import numpy as np\n", + "from typing_extensions import Annotated\n", + "from zenml import step\n", + "from zenml.logger import get_logger\n", + "\n", + "import os\n", + "from typing import Optional, List\n", + "from datetime import datetime as dt\n", + "\n", + "from zenml import pipeline\n", + "from zenml import ModelVersion\n", + "\n", + "from steps import (\n", + " data_loader,\n", + " data_preprocessor,\n", + " data_splitter,\n", + " model_evaluator,\n", + " model_trainer,\n", + " inference_predict,\n", + " inference_preprocessor\n", + ")\n", + "\n", + "logger = get_logger(__name__)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b50a9537", + "metadata": {}, + "outputs": [], + "source": [ + "@pipeline(enable_cache=False)\n", + "def _feature_engineering(\n", + " test_size: float = 0.2,\n", + " drop_na: Optional[bool] = None,\n", + " normalize: Optional[bool] = None,\n", + " drop_columns: Optional[List[str]] = None,\n", + "):\n", + " ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ###\n", + " # Link all the steps together by calling them and passing the output\n", + " # of one step as the input of the next step.\n", + " raw_data, target, _ = data_loader(random_state=random.randint(0,100))\n", + " dataset_trn, dataset_tst = data_splitter(\n", + " dataset=raw_data,\n", + " test_size=test_size,\n", + " )\n", + " dataset_trn, dataset_tst, _ = data_preprocessor(\n", + " dataset_trn=dataset_trn,\n", + " dataset_tst=dataset_tst,\n", + " drop_na=drop_na,\n", + " normalize=normalize,\n", + " drop_columns=drop_columns,\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "bc5feef4-7016-420e-9af9-2e87ff666f74", + "metadata": {}, + "outputs": [], + "source": [ + "pipeline_args = {}\n", + "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"feature_engineering.yaml\")\n", + "fe_p_configured = _feature_engineering.with_options(**pipeline_args)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "75cf3740-b2d8-4c4b-b91b-dc1637000880", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[?25l\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", - "/home/htahir1/workspace/zenml_io/template-starter/template.\n", - "\u001b[1;35mSetting the repo active workspace to 'default'.\u001b[0m\n", - "\u001b[33mSetting the repo active stack to default.\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mZenML repository initialized at \u001b[0m\n", - "\u001b[2;35m/home/htahir1/workspace/zenml_io/template-starter/\u001b[0m\u001b[2;95mtemplate.\u001b[0m\n", - "\u001b[2;32m⠋\u001b[0m\u001b[2;36m Initializing ZenML repository at \u001b[0m\n", - "\u001b[2;36m/home/htahir1/workspace/zenml_io/template-starter/template.\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", - "/home/htahir1/workspace/zenml_io/template-starter/template.\n", - "\n", - "\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mThe local active stack was initialized to \u001b[0m\u001b[2;32m'default'\u001b[0m\u001b[2;36m. This local configuration \u001b[0m\n", - "\u001b[2;36mwill only take effect when you're running ZenML from the initialized repository \u001b[0m\n", - "\u001b[2;36mroot, or from a subdirectory. For more information on repositories and \u001b[0m\n", - "\u001b[2;36mconfigurations, please visit \u001b[0m\n", - "\u001b[2;4;94mhttps://docs.zenml.io/user-guide/starter-guide/understand-stacks.\u001b[0m\n" + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36m_feature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 1)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36m9\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mCaching is disabled by default for \u001b[0m\u001b[1;36m_feature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m11.257s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m9.532s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m12.232s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36m_feature_engineering-2023_11_30-10_09_12_105336\u001b[1;35m has finished in \u001b[0m\u001b[1;36m35.624s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/31df4e45-78ee-4712-874a-482a705ce545/runs/059cb308-1c17-4d65-9939-60af42d62179/dag\u001b[0m\n" ] } ], "source": [ - "!zenml init" + "latest_run = fe_p_configured()" ] }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "latest_run" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, diff --git a/template/steps/__init__.py b/template/steps/__init__.py index a49bff9..708f1d5 100644 --- a/template/steps/__init__.py +++ b/template/steps/__init__.py @@ -1,17 +1,23 @@ # {% include 'template/license_header' %} -from data_loader import ( +from .data_loader import ( data_loader, ) -from data_preprocessor import ( +from .data_preprocessor import ( data_preprocessor, ) -from data_splitter import ( +from .data_splitter import ( data_splitter, ) -from model_evaluator import ( +from .model_evaluator import ( model_evaluator, ) -from model_trainer import ( +from .model_trainer import ( model_trainer, ) +from .inference_preprocessor import ( + inference_preprocessor, +) +from .inference_predict import ( + inference_predict, +) diff --git a/template/steps/inference_predict.py b/template/steps/inference_predict.py new file mode 100644 index 0000000..9c69a5f --- /dev/null +++ b/template/steps/inference_predict.py @@ -0,0 +1,61 @@ +# Apache Software License 2.0 +# +# Copyright (c) ZenML GmbH 2023. All rights reserved. +# +# 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 typing import Optional + +import pandas as pd +from typing_extensions import Annotated + +from zenml import get_step_context, step +from zenml.logger import get_logger + +logger = get_logger(__name__) + + +@step +def inference_predict( + dataset_inf: pd.DataFrame, +) -> Annotated[pd.Series, "predictions"]: + """Predictions step. + + This is an example of a predictions step that takes the data in and returns + predicted values. + + This step is parameterized, which allows you to configure the step + independently of the step code, before running it in a pipeline. + In this example, the step can be configured to use different input data. + See the documentation for more information: + + https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines + + Args: + dataset_inf: The inference dataset. + + Returns: + The predictions as pandas series + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + model_version = get_step_context().model_version + + # run prediction from memory + predictor = model_version.load_artifact("model") + predictions = predictor.predict(dataset_inf) + + predictions = pd.Series(predictions, name="predicted") + ### YOUR CODE ENDS HERE ### + + return predictions diff --git a/template/steps/inference_preprocessor.py b/template/steps/inference_preprocessor.py new file mode 100644 index 0000000..4fb11d7 --- /dev/null +++ b/template/steps/inference_preprocessor.py @@ -0,0 +1,53 @@ +# Apache Software License 2.0 +# +# Copyright (c) ZenML GmbH 2023. All rights reserved. +# +# 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. +# + +import pandas as pd +from sklearn.pipeline import Pipeline +from typing_extensions import Annotated + +from zenml import step + + +@step +def inference_preprocessor( + dataset_inf: pd.DataFrame, + preprocess_pipeline: Pipeline, + target: str, +) -> Annotated[pd.DataFrame, "inference_dataset"]: + """Data preprocessor step. + + This is an example of a data processor step that prepares the data so that + it is suitable for model inference. It takes in a dataset as an input step + artifact and performs any necessary preprocessing steps based on pretrained + preprocessing pipeline. + + Args: + dataset_inf: The inference dataset. + preprocess_pipeline: Pretrained `Pipeline` to process dataset. + target: Name of target columns in dataset. + + Returns: + The processed dataframe: dataset_inf. + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + # artificially adding `target` column to avoid Pipeline issues + dataset_inf[target] = pd.Series([1] * dataset_inf.shape[0]) + dataset_inf = preprocess_pipeline.transform(dataset_inf) + dataset_inf.drop(columns=["target"], inplace=True) + ### YOUR CODE ENDS HERE ### + + return dataset_inf From ff02dbfa885f9794fc34e533c46cf7a2f5dedde3 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Fri, 1 Dec 2023 17:01:39 +0100 Subject: [PATCH 03/48] Latest --- .../{training_config.yaml => training.yaml} | 0 template/pipelines/__init__.py | 2 +- template/pipelines/feature_engineering.py | 11 +- template/pipelines/inference.py | 2 +- template/pipelines/training.py | 53 ++++--- template/run.ipynb | 145 +++++++++++------- template/run.py | 21 ++- template/steps/data_loader.py | 19 ++- template/steps/data_preprocessor.py | 15 +- template/steps/model_evaluator.py | 12 +- template/steps/model_trainer.py | 37 +---- tests/test_starter_template.py | 2 +- 12 files changed, 185 insertions(+), 134 deletions(-) rename template/configs/{training_config.yaml => training.yaml} (100%) diff --git a/template/configs/training_config.yaml b/template/configs/training.yaml similarity index 100% rename from template/configs/training_config.yaml rename to template/configs/training.yaml diff --git a/template/pipelines/__init__.py b/template/pipelines/__init__.py index b91d3ee..02779f9 100644 --- a/template/pipelines/__init__.py +++ b/template/pipelines/__init__.py @@ -2,4 +2,4 @@ from feature_engineering import _feature_engineering from training import _model_training -from inference import _inference \ No newline at end of file +from inference import _inference diff --git a/template/pipelines/feature_engineering.py b/template/pipelines/feature_engineering.py index 5043aa8..759d240 100644 --- a/template/pipelines/feature_engineering.py +++ b/template/pipelines/feature_engineering.py @@ -22,24 +22,25 @@ def _feature_engineering( drop_na: Optional[bool] = None, normalize: Optional[bool] = None, drop_columns: Optional[List[str]] = None, + target: Optional[str] = "target", ): """ - Model training pipeline. + Feature engineering pipeline. This is a pipeline that loads the data, processes it and splits - it into train and test sets, then search for best hyperparameters, - trains and evaluates a model. + it into train and test sets. Args: test_size: Size of holdout set for training 0.0..1.0 drop_na: If `True` NA values will be removed from dataset normalize: If `True` dataset will be normalized with MinMaxScaler drop_columns: List of columns to drop from dataset + target: Name of target column in dataset """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output # of one step as the input of the next step. - raw_data, target, _ = data_loader(random_state=random.randint(0,100)) + raw_data = data_loader(random_state=random.randint(0, 100), target=target) dataset_trn, dataset_tst = data_splitter( dataset=raw_data, test_size=test_size, @@ -50,4 +51,6 @@ def _feature_engineering( drop_na=drop_na, normalize=normalize, drop_columns=drop_columns, + target=target, ) + return dataset_trn, dataset_tst diff --git a/template/pipelines/inference.py b/template/pipelines/inference.py index 428b878..13dabe2 100644 --- a/template/pipelines/inference.py +++ b/template/pipelines/inference.py @@ -39,7 +39,7 @@ def _inference( ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output # of one step as the input of the next step. - raw_data, target, _ = data_loader(random_state=random.randint(0,100)) + raw_data, target, _ = data_loader(random_state=random.randint(0, 100)) dataset_trn, dataset_tst = data_splitter( dataset=raw_data, test_size=test_size, diff --git a/template/pipelines/training.py b/template/pipelines/training.py index 4e94d66..e90b094 100644 --- a/template/pipelines/training.py +++ b/template/pipelines/training.py @@ -1,27 +1,31 @@ # {% include 'template/license_header' %} -import random -from typing import Optional, List +from typing import Optional from zenml import pipeline from zenml.logger import get_logger +from uuid import UUID -from steps import ( - data_loader, - data_splitter, - data_preprocessor, + +from steps import model_trainer, model_evaluator + +from pipelines import ( + _feature_engineering, ) +from zenml import ExternalArtifact +from zenml.client import Client + logger = get_logger(__name__) @pipeline def _training( - test_size: float = 0.2, - drop_na: Optional[bool] = None, - normalize: Optional[bool] = None, - drop_columns: Optional[List[str]] = None, + train_dataset_id: Optional[UUID] = None, + test_dataset_id: Optional[UUID] = None, + min_train_accuracy: float = 0.0, + min_test_accuracy: float = 0.0, ): """ Model training pipeline. @@ -39,15 +43,28 @@ def _training( ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output # of one step as the input of the next step. - raw_data, target, _ = data_loader(random_state=random.randint(0,100)) - dataset_trn, dataset_tst = data_splitter( - dataset=raw_data, - test_size=test_size, + + # Execute Feature Engineering Pipeline + if train_dataset_id is None or test_dataset_id is None: + dataset_trn, dataset_tst = _feature_engineering() + else: + dataset_trn = ExternalArtifact(id=train_dataset_id) + dataset_tst = ExternalArtifact(id=test_dataset_id) + + # Use the metadata of the dataset to understand what the target is + client = Client() + target = client.get_artifact("dataset_trn").run_metadata["target"].value + + model = model_trainer( + dataset_trn=dataset_trn, + target=target, ) - dataset_trn, dataset_tst, _ = data_preprocessor( + + model_evaluator( + model=model, dataset_trn=dataset_trn, dataset_tst=dataset_tst, - drop_na=drop_na, - normalize=normalize, - drop_columns=drop_columns, + min_train_accuracy=min_train_accuracy, + min_test_accuracy=min_test_accuracy, + target=target, ) diff --git a/template/run.ipynb b/template/run.ipynb index 48d9165..04723ad 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -1,15 +1,5 @@ { "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "a681b91b", - "metadata": {}, - "outputs": [], - "source": [ - "!pip install -r requirements.txt" - ] - }, { "cell_type": "code", "execution_count": null, @@ -22,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "79f775f2", "metadata": {}, "outputs": [], @@ -30,17 +20,15 @@ "# Do the imports at the top\n", "\n", "import random\n", - "import numpy as np\n", - "from typing_extensions import Annotated\n", - "from zenml import step\n", + "from zenml import ExternalArtifact, pipeline \n", + "from zenml.client import Client\n", "from zenml.logger import get_logger\n", + "from uuid import UUID\n", "\n", "import os\n", "from typing import Optional, List\n", - "from datetime import datetime as dt\n", "\n", "from zenml import pipeline\n", - "from zenml import ModelVersion\n", "\n", "from steps import (\n", " data_loader,\n", @@ -52,27 +40,43 @@ " inference_preprocessor\n", ")\n", "\n", - "logger = get_logger(__name__)" + "logger = get_logger(__name__)\n", + "\n", + "client = Client()" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "b50a9537", "metadata": {}, "outputs": [], "source": [ - "@pipeline(enable_cache=False)\n", + "@pipeline\n", "def _feature_engineering(\n", " test_size: float = 0.2,\n", " drop_na: Optional[bool] = None,\n", " normalize: Optional[bool] = None,\n", " drop_columns: Optional[List[str]] = None,\n", + " target: Optional[str] = \"target\",\n", "):\n", + " \"\"\"\n", + " Feature engineering pipeline.\n", + "\n", + " This is a pipeline that loads the data, processes it and splits\n", + " it into train and test sets.\n", + "\n", + " Args:\n", + " test_size: Size of holdout set for training 0.0..1.0\n", + " drop_na: If `True` NA values will be removed from dataset\n", + " normalize: If `True` dataset will be normalized with MinMaxScaler\n", + " drop_columns: List of columns to drop from dataset\n", + " target: Name of target column in dataset\n", + " \"\"\"\n", " ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ###\n", " # Link all the steps together by calling them and passing the output\n", " # of one step as the input of the next step.\n", - " raw_data, target, _ = data_loader(random_state=random.randint(0,100))\n", + " raw_data = data_loader(random_state=random.randint(0, 100), target=target)\n", " dataset_trn, dataset_tst = data_splitter(\n", " dataset=raw_data,\n", " test_size=test_size,\n", @@ -83,12 +87,15 @@ " drop_na=drop_na,\n", " normalize=normalize,\n", " drop_columns=drop_columns,\n", - " )" + " target=target,\n", + " )\n", + " \n", + " return dataset_trn, dataset_tst" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "bc5feef4-7016-420e-9af9-2e87ff666f74", "metadata": {}, "outputs": [], @@ -100,46 +107,67 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "75cf3740-b2d8-4c4b-b91b-dc1637000880", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36m_feature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36m9\u001b[1;35m was created.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mCaching is disabled by default for \u001b[0m\u001b[1;36m_feature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m11.257s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m9.532s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m12.232s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36m_feature_engineering-2023_11_30-10_09_12_105336\u001b[1;35m has finished in \u001b[0m\u001b[1;36m35.624s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/31df4e45-78ee-4712-874a-482a705ce545/runs/059cb308-1c17-4d65-9939-60af42d62179/dag\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "latest_run = fe_p_configured()" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "latest_run" + "@pipeline\n", + "def _training(\n", + " train_dataset_id: Optional[UUID] = None,\n", + " test_dataset_id: Optional[UUID] = None,\n", + " min_train_accuracy: float = 0.0,\n", + " min_test_accuracy: float = 0.0,\n", + "):\n", + " \"\"\"\n", + " Model training pipeline.\n", + "\n", + " This is a pipeline that loads the data, processes it and splits\n", + " it into train and test sets, then search for best hyperparameters,\n", + " trains and evaluates a model.\n", + "\n", + " Args:\n", + " test_size: Size of holdout set for training 0.0..1.0\n", + " drop_na: If `True` NA values will be removed from dataset\n", + " normalize: If `True` dataset will be normalized with MinMaxScaler\n", + " drop_columns: List of columns to drop from dataset\n", + " \"\"\"\n", + " ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ###\n", + " # Link all the steps together by calling them and passing the output\n", + " # of one step as the input of the next step.\n", + " \n", + " # Execute Feature Engineering Pipeline\n", + " if train_dataset_id is None or test_dataset_id is None:\n", + " dataset_trn, dataset_tst = _feature_engineering()\n", + " else:\n", + " dataset_trn = ExternalArtifact(id=train_dataset_id)\n", + " dataset_tst = ExternalArtifact(id=test_dataset_id)\n", + "\n", + " # Use the dataset to fetch the target\n", + " target = client.get_artifact(\"dataset_trn\").run_metadata['target'].value\n", + " \n", + " model = model_trainer(\n", + " dataset_trn=dataset_trn,\n", + " target=target,\n", + " )\n", + "\n", + " model_evaluator(\n", + " model=model,\n", + " dataset_trn=dataset_trn,\n", + " dataset_tst=dataset_tst,\n", + " min_train_accuracy=min_train_accuracy,\n", + " min_test_accuracy=min_test_accuracy,\n", + " target=target,\n", + " )\n" ] }, { @@ -147,7 +175,20 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "pipeline_args = {}\n", + "# pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"training.yaml\")\n", + "fe_t_configured = _training.with_options(**pipeline_args)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fe_t_configured()" + ] }, { "cell_type": "code", diff --git a/template/run.py b/template/run.py index fdd603d..513d5b9 100644 --- a/template/run.py +++ b/template/run.py @@ -20,6 +20,7 @@ logger = get_logger(__name__) + @click.command( help=""" ZenML NLP project CLI v0.0.1. @@ -182,8 +183,8 @@ def main( # all steps in the pipeline in the correct order using the orchestrator # stack component that is configured in your active ZenML stack. config_folder = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - "configs", + os.path.dirname(os.path.realpath(__file__)), + "configs", ) model_version = ModelVersion( name=zenml_model_name, @@ -202,7 +203,9 @@ def main( # Execute Feature Engineering Pipeline if feature_pipeline: pipeline_args["model_version"] = model_version - pipeline_args["config_path"] = os.path.join(config_folder, "feature_engineering_config.yaml") + pipeline_args["config_path"] = os.path.join( + config_folder, "feature_engineering_config.yaml" + ) run_args_feature = { "max_seq_length": max_seq_length, } @@ -216,7 +219,9 @@ def main( # Execute Training Pipeline if training_pipeline: - pipeline_args["config_path"] = os.path.join(config_folder, "trainer_config.yaml") + pipeline_args["config_path"] = os.path.join( + config_folder, "trainer_config.yaml" + ) run_args_train = { "num_epochs": num_epochs, @@ -263,7 +268,9 @@ def main( name=zenml_model_name, version=ModelStages.LATEST, ) - pipeline_args["config_path"] = os.path.join(config_folder, "promoting_config.yaml") + pipeline_args["config_path"] = os.path.join( + config_folder, "promoting_config.yaml" + ) pipeline_args["model_version"] = model_version @@ -276,7 +283,9 @@ def main( logger.info("Promoting pipeline finished successfully!") if deploying_pipeline: - pipeline_args["config_path"] = os.path.join(config_folder, "deploying_config.yaml") + pipeline_args["config_path"] = os.path.join( + config_folder, "deploying_config.yaml" + ) # Deploying pipeline has new ZenML model config model_version = ModelVersion( diff --git a/template/steps/data_loader.py b/template/steps/data_loader.py index 8b8de4d..3d56e2e 100644 --- a/template/steps/data_loader.py +++ b/template/steps/data_loader.py @@ -1,24 +1,19 @@ # {% include 'template/license_header' %} -from typing import Tuple - import pandas as pd from sklearn.datasets import load_breast_cancer from typing_extensions import Annotated from zenml import step from zenml.logger import get_logger +from zenml import log_artifact_metadata logger = get_logger(__name__) @step def data_loader( - random_state: int, is_inference: bool = False -) -> Tuple[ - Annotated[pd.DataFrame, "dataset"], - Annotated[str, "target"], - Annotated[int, "random_state"], -]: + random_state: int, is_inference: bool = False, target: str = "target" +) -> Annotated[pd.DataFrame, "dataset"]: """Dataset reader step. This is an example of a dataset reader step that load Breast Cancer dataset. @@ -34,6 +29,7 @@ def data_loader( is_inference: If `True` subset will be returned and target column will be removed from dataset. random_state: Random state for sampling + target: Name of target columns in dataset. Returns: The dataset artifact as Pandas DataFrame and name of target column. @@ -41,7 +37,6 @@ def data_loader( ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### dataset = load_breast_cancer(as_frame=True) inference_size = int(len(dataset.target) * 0.05) - target = "target" dataset: pd.DataFrame = dataset.frame inference_subset = dataset.sample(inference_size, random_state=random_state) if is_inference: @@ -51,5 +46,9 @@ def data_loader( dataset.drop(inference_subset.index, inplace=True) dataset.reset_index(drop=True, inplace=True) logger.info(f"Dataset with {len(dataset)} records loaded!") + + # Recording metadata for this dataset + log_artifact_metadata(metadata={"random_state": random_state, target: target}) + ### YOUR CODE ENDS HERE ### - return dataset, target, random_state + return dataset diff --git a/template/steps/data_preprocessor.py b/template/steps/data_preprocessor.py index 2572c6f..42af03a 100644 --- a/template/steps/data_preprocessor.py +++ b/template/steps/data_preprocessor.py @@ -7,7 +7,7 @@ from sklearn.pipeline import Pipeline from sklearn.preprocessing import MinMaxScaler from utils.preprocess import ColumnsDropper, DataFrameCaster, NADropper -from zenml import step +from zenml import step, log_artifact_metadata @step @@ -17,6 +17,7 @@ def data_preprocessor( drop_na: Optional[bool] = None, normalize: Optional[bool] = None, drop_columns: Optional[List[str]] = None, + target: Optional[str] = "target", ) -> Tuple[ Annotated[pd.DataFrame, "dataset_trn"], Annotated[pd.DataFrame, "dataset_tst"], @@ -62,6 +63,16 @@ def data_preprocessor( preprocess_pipeline.steps.append(("cast", DataFrameCaster(dataset_trn.columns))) dataset_trn = preprocess_pipeline.fit_transform(dataset_trn) dataset_tst = preprocess_pipeline.transform(dataset_tst) - ### YOUR CODE ENDS HERE ### + # Log metadata of target to both datasets + log_artifact_metadata( + artifact_name="dataset_trn", + metadata={"target": target}, + ) + log_artifact_metadata( + artifact_name="dataset_tst", + metadata={"target": target}, + ) + + ### YOUR CODE ENDS HERE ### return dataset_trn, dataset_tst, preprocess_pipeline diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py index c7640c2..c5f88cd 100644 --- a/template/steps/model_evaluator.py +++ b/template/steps/model_evaluator.py @@ -2,7 +2,7 @@ import pandas as pd from sklearn.base import ClassifierMixin -from zenml import step +from zenml import step, log_artifact_metadata from zenml.logger import get_logger logger = get_logger(__name__) @@ -16,7 +16,6 @@ def model_evaluator( target: str, min_train_accuracy: float = 0.0, min_test_accuracy: float = 0.0, - fail_on_accuracy_quality_gates: bool = False, ) -> None: """Evaluate a trained model. @@ -77,13 +76,12 @@ def model_evaluator( messages.append( f"Test accuracy {tst_acc*100:.2f}% is below {min_test_accuracy*100:.2f}% !" ) - if fail_on_accuracy_quality_gates and messages: - raise RuntimeError( - "Model performance did not meet the minimum criteria:\n" - + "\n".join(messages) - ) else: for message in messages: logger.warning(message) + log_artifact_metadata( + metadata={"train_accuracy": trn_acc, "test_accuracy": tst_acc}, + artifact_name="model", + ) ### YOUR CODE ENDS HERE ### diff --git a/template/steps/model_trainer.py b/template/steps/model_trainer.py index 1718640..62f5c5b 100644 --- a/template/steps/model_trainer.py +++ b/template/steps/model_trainer.py @@ -3,6 +3,7 @@ from typing_extensions import Annotated import pandas as pd +from sklearn.tree import DecisionTreeClassifier from sklearn.base import ClassifierMixin from zenml import ArtifactConfig, log_artifact_metadata, step from zenml.client import Client @@ -14,12 +15,8 @@ @step def model_trainer( dataset_trn: pd.DataFrame, - model: ClassifierMixin, target: str, - name: str, -) -> Annotated[ - ClassifierMixin, ArtifactConfig(name="model", is_model_artifact=True) -]: +) -> Annotated[ClassifierMixin, ArtifactConfig(name="model", is_model_artifact=True)]: """Configure and train a model on the training dataset. This is an example of a model training step that takes in a dataset artifact @@ -27,25 +24,9 @@ def model_trainer( configures and trains a model on it. The model is then returned as a step output artifact. - Model training steps should have caching disabled if they are not - deterministic (i.e. if the model training involve some random processes - like initializing weights or shuffling data that are not controlled by - setting a fixed random seed). This example step ensures the outcome is - deterministic by initializing the model with a fixed random seed. - - This step is parameterized to configure the step independently of the step code, - before running it in a pipeline. In this example, the step can be configured - to use a different model, change the random seed, or pass different - hyperparameters to the model constructor. See the documentation for more - information: - - https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines - Args: dataset_trn: The preprocessed train dataset. - model: The model instance to train. - target: Name of target columns in dataset. - name: The name of the model. + target: The name of the target column in the dataset. Returns: The trained model artifact. @@ -54,21 +35,13 @@ def model_trainer( ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Initialize the model with the hyperparameters indicated in the step # parameters and train it on the training set. + model = DecisionTreeClassifier() logger.info(f"Training model {model}...") + model.fit( dataset_trn.drop(columns=[target]), dataset_trn[target], ) - - # keep track of mlflow version for future use - model_registry = Client().active_stack.model_registry - if model_registry: - versions = model_registry.list_model_versions(name=name) - if versions: - log_artifact_metadata( - metadata={"model_registry_version": versions[-1].version}, - artifact_name="model", - ) ### YOUR CODE ENDS HERE ### return model diff --git a/tests/test_starter_template.py b/tests/test_starter_template.py index 57c3a6f..fc6f836 100644 --- a/tests/test_starter_template.py +++ b/tests/test_starter_template.py @@ -217,4 +217,4 @@ def test_custom_zenml_server_url( generate_and_run_project( tmp_path_factory=tmp_path_factory, zenml_server_url="foo", - ) \ No newline at end of file + ) From 2d566dc7b09b885fe16a8b6da2430877a8f95a2b Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Fri, 1 Dec 2023 18:02:13 +0100 Subject: [PATCH 04/48] Steps --- template/configs/inference.yaml | 13 ++++ template/configs/inference_config.yaml | 0 template/configs/training.yaml | 13 ++++ template/run.ipynb | 95 ++++++++++++++++++++++++-- template/steps/inference_predict.py | 1 + template/steps/model_evaluator.py | 2 +- 6 files changed, 119 insertions(+), 5 deletions(-) create mode 100644 template/configs/inference.yaml delete mode 100644 template/configs/inference_config.yaml diff --git a/template/configs/inference.yaml b/template/configs/inference.yaml new file mode 100644 index 0000000..e014224 --- /dev/null +++ b/template/configs/inference.yaml @@ -0,0 +1,13 @@ +# environment configuration +settings: + docker: + required_integrations: + - sklearn + +# configuration of the Model Control Plane +model_version: + name: breast_cancer_classifier + version: latest + license: Apache 2.0 + description: Classification of Breast Cancer Dataset. + tags: ["classification", "sklearn"] diff --git a/template/configs/inference_config.yaml b/template/configs/inference_config.yaml deleted file mode 100644 index e69de29..0000000 diff --git a/template/configs/training.yaml b/template/configs/training.yaml index e69de29..e014224 100644 --- a/template/configs/training.yaml +++ b/template/configs/training.yaml @@ -0,0 +1,13 @@ +# environment configuration +settings: + docker: + required_integrations: + - sklearn + +# configuration of the Model Control Plane +model_version: + name: breast_cancer_classifier + version: latest + license: Apache 2.0 + description: Classification of Breast Cancer Dataset. + tags: ["classification", "sklearn"] diff --git a/template/run.ipynb b/template/run.ipynb index 04723ad..0922ccd 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -177,7 +177,7 @@ "outputs": [], "source": [ "pipeline_args = {}\n", - "# pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"training.yaml\")\n", + "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"training.yaml\")\n", "fe_t_configured = _training.with_options(**pipeline_args)" ] }, @@ -195,21 +195,108 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "from typing import Optional\n", + "\n", + "import pandas as pd\n", + "from typing_extensions import Annotated\n", + "\n", + "from zenml import get_step_context, step\n", + "from zenml.logger import get_logger\n", + "\n", + "logger = get_logger(__name__)\n", + "\n", + "\n", + "@step\n", + "def inference_predict(\n", + " dataset_inf: pd.DataFrame,\n", + ") -> Annotated[pd.Series, \"predictions\"]:\n", + " \"\"\"Predictions step.\n", + "\n", + " This is an example of a predictions step that takes the data in and returns\n", + " predicted values.\n", + "\n", + " This step is parameterized, which allows you to configure the step\n", + " independently of the step code, before running it in a pipeline.\n", + " In this example, the step can be configured to use different input data.\n", + " See the documentation for more information:\n", + "\n", + " https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines\n", + "\n", + " Args:\n", + " dataset_inf: The inference dataset.\n", + "\n", + " Returns:\n", + " The predictions as pandas series\n", + " \"\"\"\n", + " ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ###\n", + " model_version = get_step_context().model_version\n", + "\n", + " print(model_version)\n", + "\n", + " # run prediction from memory\n", + " predictor = model_version.load_artifact(\"model\")\n", + " predictions = predictor.predict(dataset_inf)\n", + "\n", + " print(predictions)\n", + " predictions = pd.Series(predictions, name=\"predicted\")\n", + " ### YOUR CODE ENDS HERE ###\n", + "\n", + " return predictions\n" + ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "@pipeline\n", + "def _batch_inference():\n", + " \"\"\"\n", + " Model batch inference pipeline.\n", + "\n", + " This is a pipeline that loads the inference data, processes\n", + " it, analyze for data drift and run inference.\n", + " \"\"\"\n", + " ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ###\n", + " # Link all the steps together by calling them and passing the output\n", + " # of one step as the input of the next step.\n", + " ########## ETL stage ##########\n", + " random_state = client.get_artifact(\"dataset\").run_metadata[\"random_state\"].value\n", + " target = client.get_artifact(\"dataset_trn\").run_metadata['target'].value\n", + " df_inference = data_loader(\n", + " random_state=random_state, is_inference=True\n", + " )\n", + " df_inference = inference_preprocessor(\n", + " dataset_inf=df_inference,\n", + " preprocess_pipeline=ExternalArtifact(name=\"preprocess_pipeline\"),\n", + " target=target,\n", + " )\n", + " inference_predict(\n", + " dataset_inf=df_inference,\n", + " )\n" + ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "pipeline_args = {}\n", + "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"inference.yaml\")\n", + "fe_b_configured = _batch_inference.with_options(**pipeline_args)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fe_b_configured()" + ] }, { "cell_type": "code", diff --git a/template/steps/inference_predict.py b/template/steps/inference_predict.py index 9c69a5f..773df08 100644 --- a/template/steps/inference_predict.py +++ b/template/steps/inference_predict.py @@ -55,6 +55,7 @@ def inference_predict( predictor = model_version.load_artifact("model") predictions = predictor.predict(dataset_inf) + breakpoint() predictions = pd.Series(predictions, name="predicted") ### YOUR CODE ENDS HERE ### diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py index c5f88cd..66af60a 100644 --- a/template/steps/model_evaluator.py +++ b/template/steps/model_evaluator.py @@ -81,7 +81,7 @@ def model_evaluator( logger.warning(message) log_artifact_metadata( - metadata={"train_accuracy": trn_acc, "test_accuracy": tst_acc}, + metadata={"train_accuracy": float(trn_acc), "test_accuracy": float(tst_acc)}, artifact_name="model", ) ### YOUR CODE ENDS HERE ### From 8ea0c853d351eb9cdf54af4afb1967302a525ea7 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Tue, 5 Dec 2023 15:45:36 +0100 Subject: [PATCH 05/48] Works until inference pipeline --- template/run.ipynb | 73 ++++++++++++++++++++++++------- template/steps/model_evaluator.py | 6 ++- template/steps/model_trainer.py | 9 +++- 3 files changed, 69 insertions(+), 19 deletions(-) diff --git a/template/run.ipynb b/template/run.ipynb index 0922ccd..8e31e2c 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "79f775f2", "metadata": {}, "outputs": [], @@ -47,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "b50a9537", "metadata": {}, "outputs": [], @@ -95,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "bc5feef4-7016-420e-9af9-2e87ff666f74", "metadata": {}, "outputs": [], @@ -107,17 +107,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "75cf3740-b2d8-4c4b-b91b-dc1637000880", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36m_feature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 7)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36m22\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m6.238s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m8.293s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m11.469s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36m_feature_engineering-2023_12_05-14_38_56_253977\u001b[1;35m has finished in \u001b[0m\u001b[1;36m29.443s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/8cddb86e-98e2-4aba-a562-4af0f1840f36/runs/064bea1d-b5d9-4e5a-8df7-d1cc17ffb000/dag\u001b[0m\n" + ] + } + ], "source": [ "latest_run = fe_p_configured()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -151,13 +175,9 @@ " else:\n", " dataset_trn = ExternalArtifact(id=train_dataset_id)\n", " dataset_tst = ExternalArtifact(id=test_dataset_id)\n", - "\n", - " # Use the dataset to fetch the target\n", - " target = client.get_artifact(\"dataset_trn\").run_metadata['target'].value\n", " \n", " model = model_trainer(\n", " dataset_trn=dataset_trn,\n", - " target=target,\n", " )\n", "\n", " model_evaluator(\n", @@ -166,15 +186,22 @@ " dataset_tst=dataset_tst,\n", " min_train_accuracy=min_train_accuracy,\n", " min_test_accuracy=min_test_accuracy,\n", - " target=target,\n", " )\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35m\u001b[0m\u001b[1;36mversion\u001b[1;35m \u001b[0m\u001b[1;36mlatest\u001b[1;35m matches one of the possible \u001b[0m\u001b[1;36mModelStages\u001b[1;35m and will be fetched using stage.\u001b[0m\n" + ] + } + ], "source": [ "pipeline_args = {}\n", "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"training.yaml\")\n", @@ -183,9 +210,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'target' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 8\u001b[0m line \u001b[0;36m1\n\u001b[0;32m----> 1\u001b[0m fe_t_configured()\n", + "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/new/pipelines/pipeline.py:1438\u001b[0m, in \u001b[0;36mPipeline.__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1429\u001b[0m \u001b[39mif\u001b[39;00m Pipeline\u001b[39m.\u001b[39mACTIVE_PIPELINE:\n\u001b[1;32m 1430\u001b[0m \u001b[39m# Calling a pipeline inside a pipeline, we return the potential\u001b[39;00m\n\u001b[1;32m 1431\u001b[0m \u001b[39m# outputs of the entrypoint function\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1434\u001b[0m \u001b[39m# and instead applies the configuration of the previously active\u001b[39;00m\n\u001b[1;32m 1435\u001b[0m \u001b[39m# pipeline. Is this what we want?\u001b[39;00m\n\u001b[1;32m 1436\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mentrypoint(\u001b[39m*\u001b[39margs, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n\u001b[0;32m-> 1438\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mprepare(\u001b[39m*\u001b[39;49margs, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs)\n\u001b[1;32m 1439\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_run(\u001b[39m*\u001b[39m\u001b[39m*\u001b[39m\u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_run_args)\n", + "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/new/pipelines/pipeline.py:440\u001b[0m, in \u001b[0;36mPipeline.prepare\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 434\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_invocations \u001b[39m=\u001b[39m {}\n\u001b[1;32m 436\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mself\u001b[39m:\n\u001b[1;32m 437\u001b[0m \u001b[39m# Enter the context manager, so we become the active pipeline. This\u001b[39;00m\n\u001b[1;32m 438\u001b[0m \u001b[39m# means that all steps that get called while the entrypoint function\u001b[39;00m\n\u001b[1;32m 439\u001b[0m \u001b[39m# is executed will be added as invocation to this pipeline instance.\u001b[39;00m\n\u001b[0;32m--> 440\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_call_entrypoint(\u001b[39m*\u001b[39;49margs, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs)\n", + "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/new/pipelines/pipeline.py:1466\u001b[0m, in \u001b[0;36mPipeline._call_entrypoint\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1460\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mValueError\u001b[39;00m(\n\u001b[1;32m 1461\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mInvalid or missing inputs for pipeline entrypoint function. \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 1462\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mOnly JSON serializable inputs are allowed as pipeline inputs.\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 1463\u001b[0m ) \u001b[39mfrom\u001b[39;00m \u001b[39me\u001b[39;00m\n\u001b[1;32m 1465\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_parameters \u001b[39m=\u001b[39m validated_args\n\u001b[0;32m-> 1466\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mentrypoint(\u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mvalidated_args)\n", + "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 8\u001b[0m line \u001b[0;36m4\n\u001b[1;32m 30\u001b[0m dataset_tst \u001b[39m=\u001b[39m ExternalArtifact(\u001b[39mid\u001b[39m\u001b[39m=\u001b[39mtest_dataset_id)\n\u001b[1;32m 32\u001b[0m model \u001b[39m=\u001b[39m model_trainer(\n\u001b[1;32m 33\u001b[0m dataset_trn\u001b[39m=\u001b[39mdataset_trn,\n\u001b[1;32m 34\u001b[0m )\n\u001b[1;32m 36\u001b[0m model_evaluator(\n\u001b[1;32m 37\u001b[0m model\u001b[39m=\u001b[39mmodel,\n\u001b[1;32m 38\u001b[0m dataset_trn\u001b[39m=\u001b[39mdataset_trn,\n\u001b[1;32m 39\u001b[0m dataset_tst\u001b[39m=\u001b[39mdataset_tst,\n\u001b[1;32m 40\u001b[0m min_train_accuracy\u001b[39m=\u001b[39mmin_train_accuracy,\n\u001b[1;32m 41\u001b[0m min_test_accuracy\u001b[39m=\u001b[39mmin_test_accuracy,\n\u001b[0;32m---> 42\u001b[0m target\u001b[39m=\u001b[39mtarget,\n\u001b[1;32m 43\u001b[0m )\n", + "\u001b[0;31mNameError\u001b[0m: name 'target' is not defined" + ] + } + ], "source": [ "fe_t_configured()" ] diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py index 66af60a..383dd40 100644 --- a/template/steps/model_evaluator.py +++ b/template/steps/model_evaluator.py @@ -13,7 +13,6 @@ def model_evaluator( model: ClassifierMixin, dataset_trn: pd.DataFrame, dataset_tst: pd.DataFrame, - target: str, min_train_accuracy: float = 0.0, min_test_accuracy: float = 0.0, ) -> None: @@ -45,7 +44,6 @@ def model_evaluator( model: The pre-trained model artifact. dataset_trn: The train dataset. dataset_tst: The test dataset. - target: Name of target columns in dataset. min_train_accuracy: Minimal acceptable training accuracy value. min_test_accuracy: Minimal acceptable testing accuracy value. fail_on_accuracy_quality_gates: If `True` a `RuntimeException` is raised @@ -55,6 +53,10 @@ def model_evaluator( RuntimeError: if any of accuracies is lower than respective threshold """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + # context = get_step_context() + # target = context.inputs["dataset_trn"].run_metadata['target'].value + target = "target" + # Calculate the model accuracy on the train and test set trn_acc = model.score( dataset_trn.drop(columns=[target]), diff --git a/template/steps/model_trainer.py b/template/steps/model_trainer.py index 62f5c5b..27c641f 100644 --- a/template/steps/model_trainer.py +++ b/template/steps/model_trainer.py @@ -5,7 +5,7 @@ import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.base import ClassifierMixin -from zenml import ArtifactConfig, log_artifact_metadata, step +from zenml import ArtifactConfig, get_step_context, step from zenml.client import Client from zenml.logger import get_logger @@ -15,7 +15,6 @@ @step def model_trainer( dataset_trn: pd.DataFrame, - target: str, ) -> Annotated[ClassifierMixin, ArtifactConfig(name="model", is_model_artifact=True)]: """Configure and train a model on the training dataset. @@ -33,6 +32,12 @@ def model_trainer( """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + + # Use the dataset to fetch the target + # context = get_step_context() + # target = context.inputs["dataset_trn"].run_metadata['target'].value + target = "target" + # Initialize the model with the hyperparameters indicated in the step # parameters and train it on the training set. model = DecisionTreeClassifier() From 16d0faa7e64b78ccb61d3a4118bfea695d350b1a Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Tue, 5 Dec 2023 15:45:42 +0100 Subject: [PATCH 06/48] Works until inference pipeline --- template/run.ipynb | 68 +++++++--------------------------------------- 1 file changed, 10 insertions(+), 58 deletions(-) diff --git a/template/run.ipynb b/template/run.ipynb index 8e31e2c..456778e 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "79f775f2", "metadata": {}, "outputs": [], @@ -47,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "b50a9537", "metadata": {}, "outputs": [], @@ -95,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "bc5feef4-7016-420e-9af9-2e87ff666f74", "metadata": {}, "outputs": [], @@ -107,41 +107,17 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "75cf3740-b2d8-4c4b-b91b-dc1637000880", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36m_feature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 7)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36m22\u001b[1;35m was created.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m6.238s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m8.293s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m11.469s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36m_feature_engineering-2023_12_05-14_38_56_253977\u001b[1;35m has finished in \u001b[0m\u001b[1;36m29.443s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/8cddb86e-98e2-4aba-a562-4af0f1840f36/runs/064bea1d-b5d9-4e5a-8df7-d1cc17ffb000/dag\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "latest_run = fe_p_configured()" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -191,17 +167,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35m\u001b[0m\u001b[1;36mversion\u001b[1;35m \u001b[0m\u001b[1;36mlatest\u001b[1;35m matches one of the possible \u001b[0m\u001b[1;36mModelStages\u001b[1;35m and will be fetched using stage.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "pipeline_args = {}\n", "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"training.yaml\")\n", @@ -210,25 +178,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'target' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 8\u001b[0m line \u001b[0;36m1\n\u001b[0;32m----> 1\u001b[0m fe_t_configured()\n", - "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/new/pipelines/pipeline.py:1438\u001b[0m, in \u001b[0;36mPipeline.__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1429\u001b[0m \u001b[39mif\u001b[39;00m Pipeline\u001b[39m.\u001b[39mACTIVE_PIPELINE:\n\u001b[1;32m 1430\u001b[0m \u001b[39m# Calling a pipeline inside a pipeline, we return the potential\u001b[39;00m\n\u001b[1;32m 1431\u001b[0m \u001b[39m# outputs of the entrypoint function\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1434\u001b[0m \u001b[39m# and instead applies the configuration of the previously active\u001b[39;00m\n\u001b[1;32m 1435\u001b[0m \u001b[39m# pipeline. Is this what we want?\u001b[39;00m\n\u001b[1;32m 1436\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mentrypoint(\u001b[39m*\u001b[39margs, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n\u001b[0;32m-> 1438\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mprepare(\u001b[39m*\u001b[39;49margs, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs)\n\u001b[1;32m 1439\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_run(\u001b[39m*\u001b[39m\u001b[39m*\u001b[39m\u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_run_args)\n", - "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/new/pipelines/pipeline.py:440\u001b[0m, in \u001b[0;36mPipeline.prepare\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 434\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_invocations \u001b[39m=\u001b[39m {}\n\u001b[1;32m 436\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mself\u001b[39m:\n\u001b[1;32m 437\u001b[0m \u001b[39m# Enter the context manager, so we become the active pipeline. This\u001b[39;00m\n\u001b[1;32m 438\u001b[0m \u001b[39m# means that all steps that get called while the entrypoint function\u001b[39;00m\n\u001b[1;32m 439\u001b[0m \u001b[39m# is executed will be added as invocation to this pipeline instance.\u001b[39;00m\n\u001b[0;32m--> 440\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_call_entrypoint(\u001b[39m*\u001b[39;49margs, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs)\n", - "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/new/pipelines/pipeline.py:1466\u001b[0m, in \u001b[0;36mPipeline._call_entrypoint\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1460\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mValueError\u001b[39;00m(\n\u001b[1;32m 1461\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mInvalid or missing inputs for pipeline entrypoint function. \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 1462\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mOnly JSON serializable inputs are allowed as pipeline inputs.\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 1463\u001b[0m ) \u001b[39mfrom\u001b[39;00m \u001b[39me\u001b[39;00m\n\u001b[1;32m 1465\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_parameters \u001b[39m=\u001b[39m validated_args\n\u001b[0;32m-> 1466\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mentrypoint(\u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mvalidated_args)\n", - "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 8\u001b[0m line \u001b[0;36m4\n\u001b[1;32m 30\u001b[0m dataset_tst \u001b[39m=\u001b[39m ExternalArtifact(\u001b[39mid\u001b[39m\u001b[39m=\u001b[39mtest_dataset_id)\n\u001b[1;32m 32\u001b[0m model \u001b[39m=\u001b[39m model_trainer(\n\u001b[1;32m 33\u001b[0m dataset_trn\u001b[39m=\u001b[39mdataset_trn,\n\u001b[1;32m 34\u001b[0m )\n\u001b[1;32m 36\u001b[0m model_evaluator(\n\u001b[1;32m 37\u001b[0m model\u001b[39m=\u001b[39mmodel,\n\u001b[1;32m 38\u001b[0m dataset_trn\u001b[39m=\u001b[39mdataset_trn,\n\u001b[1;32m 39\u001b[0m dataset_tst\u001b[39m=\u001b[39mdataset_tst,\n\u001b[1;32m 40\u001b[0m min_train_accuracy\u001b[39m=\u001b[39mmin_train_accuracy,\n\u001b[1;32m 41\u001b[0m min_test_accuracy\u001b[39m=\u001b[39mmin_test_accuracy,\n\u001b[0;32m---> 42\u001b[0m target\u001b[39m=\u001b[39mtarget,\n\u001b[1;32m 43\u001b[0m )\n", - "\u001b[0;31mNameError\u001b[0m: name 'target' is not defined" - ] - } - ], + "outputs": [], "source": [ "fe_t_configured()" ] From 5f781bf26430ebafe081a81d949d7a528b16ae40 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Tue, 5 Dec 2023 16:47:47 +0100 Subject: [PATCH 07/48] Run py cleaned --- template/configs/inference.yaml | 2 +- template/pipelines/__init__.py | 6 +- template/pipelines/feature_engineering.py | 10 +- template/pipelines/inference.py | 55 +++-- template/pipelines/training.py | 19 +- template/run.py | 285 ++++++---------------- template/steps/__init__.py | 12 +- template/steps/data_loader.py | 3 +- template/steps/data_preprocessor.py | 4 +- template/steps/data_splitter.py | 2 +- template/steps/inference_predict.py | 2 - template/steps/inference_preprocessor.py | 1 - template/steps/model_evaluator.py | 2 +- template/steps/model_trainer.py | 12 +- 14 files changed, 133 insertions(+), 282 deletions(-) diff --git a/template/configs/inference.yaml b/template/configs/inference.yaml index e014224..661b328 100644 --- a/template/configs/inference.yaml +++ b/template/configs/inference.yaml @@ -7,7 +7,7 @@ settings: # configuration of the Model Control Plane model_version: name: breast_cancer_classifier - version: latest + version: production license: Apache 2.0 description: Classification of Breast Cancer Dataset. tags: ["classification", "sklearn"] diff --git a/template/pipelines/__init__.py b/template/pipelines/__init__.py index 02779f9..9c07547 100644 --- a/template/pipelines/__init__.py +++ b/template/pipelines/__init__.py @@ -1,5 +1,5 @@ # {% include 'template/license_header' %} -from feature_engineering import _feature_engineering -from training import _model_training -from inference import _inference +from .feature_engineering import _feature_engineering +from .inference import _inference +from .training import _training diff --git a/template/pipelines/feature_engineering.py b/template/pipelines/feature_engineering.py index 759d240..5465382 100644 --- a/template/pipelines/feature_engineering.py +++ b/template/pipelines/feature_engineering.py @@ -1,17 +1,15 @@ # {% include 'template/license_header' %} import random -from typing import Optional, List - -from zenml import pipeline -from zenml.logger import get_logger +from typing import List, Optional from steps import ( data_loader, - data_splitter, data_preprocessor, + data_splitter, ) - +from zenml import pipeline +from zenml.logger import get_logger logger = get_logger(__name__) diff --git a/template/pipelines/inference.py b/template/pipelines/inference.py index 13dabe2..62d5823 100644 --- a/template/pipelines/inference.py +++ b/template/pipelines/inference.py @@ -1,17 +1,12 @@ # {% include 'template/license_header' %} -import random -from typing import Optional, List - -from zenml import pipeline -from zenml.logger import get_logger +from typing import List, Optional from steps import ( data_loader, - data_splitter, - data_preprocessor, ) - +from zenml import pipeline +from zenml.logger import get_logger logger = get_logger(__name__) @@ -39,15 +34,39 @@ def _inference( ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output # of one step as the input of the next step. - raw_data, target, _ = data_loader(random_state=random.randint(0, 100)) - dataset_trn, dataset_tst = data_splitter( - dataset=raw_data, - test_size=test_size, + random_state = client.get_artifact("dataset").run_metadata["random_state"].value + target = client.get_artifact("dataset_trn").run_metadata["target"].value + df_inference = data_loader(random_state=random_state, is_inference=True) + df_inference = inference_preprocessor( + dataset_inf=df_inference, + preprocess_pipeline=ExternalArtifact(name="preprocess_pipeline"), + target=target, + ) + inference_predict( + dataset_inf=df_inference, + ) + + +@pipeline +def _batch_inference(): + """ + Model batch inference pipeline. + + This is a pipeline that loads the inference data, processes + it, analyze for data drift and run inference. + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + # Link all the steps together by calling them and passing the output + # of one step as the input of the next step. + ########## ETL stage ########## + random_state = client.get_artifact("dataset").run_metadata["random_state"].value + target = client.get_artifact("dataset_trn").run_metadata["target"].value + df_inference = data_loader(random_state=random_state, is_inference=True) + df_inference = inference_preprocessor( + dataset_inf=df_inference, + preprocess_pipeline=ExternalArtifact(name="preprocess_pipeline"), + target=target, ) - dataset_trn, dataset_tst, _ = data_preprocessor( - dataset_trn=dataset_trn, - dataset_tst=dataset_tst, - drop_na=drop_na, - normalize=normalize, - drop_columns=drop_columns, + inference_predict( + dataset_inf=df_inference, ) diff --git a/template/pipelines/training.py b/template/pipelines/training.py index e90b094..8343c3c 100644 --- a/template/pipelines/training.py +++ b/template/pipelines/training.py @@ -1,22 +1,16 @@ # {% include 'template/license_header' %} from typing import Optional - -from zenml import pipeline -from zenml.logger import get_logger from uuid import UUID - -from steps import model_trainer, model_evaluator +from steps import model_evaluator, model_trainer +from zenml import ExternalArtifact, pipeline +from zenml.logger import get_logger from pipelines import ( _feature_engineering, ) -from zenml import ExternalArtifact -from zenml.client import Client - - logger = get_logger(__name__) @@ -51,13 +45,8 @@ def _training( dataset_trn = ExternalArtifact(id=train_dataset_id) dataset_tst = ExternalArtifact(id=test_dataset_id) - # Use the metadata of the dataset to understand what the target is - client = Client() - target = client.get_artifact("dataset_trn").run_metadata["target"].value - model = model_trainer( dataset_trn=dataset_trn, - target=target, ) model_evaluator( @@ -66,5 +55,5 @@ def _training( dataset_tst=dataset_tst, min_train_accuracy=min_train_accuracy, min_test_accuracy=min_test_accuracy, - target=target, ) + ### END CODE HERE ### diff --git a/template/run.py b/template/run.py index 513d5b9..44f0798 100644 --- a/template/run.py +++ b/template/run.py @@ -1,112 +1,71 @@ # {% include 'templates/license_header' %} import os +from typing import Optional + import click -from typing import Any, Dict, Optional -from steps import ( - data_loader, - data_preprocessor, - data_splitter, - model_trainer, - model_evaluator, -) from pipelines import ( - _model_training, _feature_engineering, _inference, + _training, ) +from zenml.client import Client from zenml.logger import get_logger -from zenml import ModelVersion, ModelStages, Client logger = get_logger(__name__) @click.command( help=""" -ZenML NLP project CLI v0.0.1. +ZenML Starter project CLI v0.0.1. -Run the ZenML NLP project model training pipeline with various -options. +Run the ZenML starter project with basic options. Examples: - \b - # Run the pipeline with default options - python run.py - + # Run the feature engineering pipeline + python run.py --feature-pipeline + \b - # Run the pipeline without cache - python run.py --no-cache + # Run the training pipeline + python run.py --training-pipeline - \b - # Run the pipeline without NA drop and normalization, - # but dropping columns [A,B,C] and keeping 10% of dataset - # as test set. - python run.py --num-epochs 3 --train-batch-size 8 --eval-batch-size 8 + \b + # Run the training pipeline with versioned artifacts + python run.py --training-pipeline --train-dataset-version-name=1 --test-dataset-version-name=1 \b - # Run the pipeline with Quality Gate for accuracy set at 90% for train set - # and 85% for test set. If any of accuracies will be lower - pipeline will fail. - python run.py --min-train-accuracy 0.9 --min-test-accuracy 0.85 --fail-on-accuracy-quality-gates - + # Run the inference pipeline + python run.py --inference-pipeline """ ) @click.option( - "--no-cache", - is_flag=True, - default=False, - help="Disable caching for the pipeline run.", -) -@click.option( - "--num-epochs", - default=1, - type=click.INT, - help="Number of epochs to train the model for.", -) -@click.option( - "--train-batch-size", - default=8, - type=click.INT, - help="Batch size for training the model.", -) -@click.option( - "--eval-batch-size", - default=8, - type=click.INT, - help="Batch size for evaluating the model.", -) -@click.option( - "--learning-rate", - default=2e-5, - type=click.FLOAT, - help="Learning rate for training the model.", -) -@click.option( - "--weight-decay", - default=0.01, - type=click.FLOAT, - help="Weight decay for training the model.", + "--train-dataset-name", + default="dataset_trn", + type=click.STRING, + help="The name of the train dataset produced by feature engineering.", ) @click.option( - "--max-seq-length", - default=512, - type=click.INT, - help="The maximum total input sequence length after tokenization.", + "--train-dataset-version-name", + default=None, + type=click.STRING, + help="Version of the train dataset produced by feature engineering. " + "If not specified, a new version will be created.", ) @click.option( - "--dataset-name", - default="tokenized_dataset", + "--test-dataset-name", + default="dataset_tst", type=click.STRING, - help="The name of the dataset produced by feature engineering.", + help="The name of the test dataset produced by feature engineering.", ) @click.option( - "--dataset-version-name", + "--test-dataset-version-name", default=None, type=click.STRING, - help="Version of the dataset produced by feature engineering. " - "If not specified, the a new version will be used.", + help="Version of the test dataset produced by feature engineering. " + "If not specified, a new version will be created.", ) @click.option( "--feature-pipeline", @@ -121,187 +80,79 @@ help="Whether to run the pipeline that trains the model.", ) @click.option( - "--dataset-artifact-id", - default=None, - type=click.STRING, - help="Dataset artifact id to use for training. If not specified, " - "the latest version will be used.", -) -@click.option( - "--tokenizer-artifact-id", - default=None, - type=click.STRING, - help="Tokenizer artifact id to use for training. If not specified, " - "the latest version will be used.", -) -@click.option( - "--promoting-pipeline", - is_flag=True, - default=False, - help="Whether to run the pipeline that promotes the model to staging.", -) -@click.option( - "--deploying-pipeline", + "--inference-pipeline", is_flag=True, default=False, - help="Whether to run the pipeline that deploys the model to selected deployment platform.", -) -@click.option( - "--zenml-model-name", - default="distil_bert_sentiment_analysis", - type=click.STRING, - help="Name of the ZenML Model.", + help="Whether to run the pipeline that performs inference.", ) def main( - no_cache: bool = True, - num_epochs: int = 3, - train_batch_size: int = 8, - eval_batch_size: int = 8, - learning_rate: float = 2e-5, - weight_decay: float = 0.01, - max_seq_length: int = 512, - dataset_artifact_id: Optional[str] = None, - tokenizer_artifact_id: Optional[str] = None, - dataset_name: str = "tokenized_dataset", - dataset_version_name: Optional[str] = None, + train_dataset_name: str = "dataset_trn", + train_dataset_version_name: Optional[str] = None, + test_dataset_name: str = "dataset_tst", + test_dataset_version_name: Optional[str] = None, feature_pipeline: bool = False, training_pipeline: bool = False, - promoting_pipeline: bool = False, - deploying_pipeline: bool = False, - zenml_model_name: str = "distil_bert_sentiment_analysis", + inference_pipeline: bool = False, ): """Main entry point for the pipeline execution. This entrypoint is where everything comes together: * configuring pipeline with the required parameters - (some of which may come from command line arguments) + (some of which may come from command line arguments, but most + of which comes from the YAML config files) * launching the pipeline """ - - # Run a pipeline with the required parameters. This executes - # all steps in the pipeline in the correct order using the orchestrator - # stack component that is configured in your active ZenML stack. config_folder = os.path.join( os.path.dirname(os.path.realpath(__file__)), "configs", ) - model_version = ModelVersion( - name=zenml_model_name, - license="Apache 2.0", - description="Show case Model Control Plane.", - create_new_model_version=True, - delete_new_version_on_failure=True, - tags=["sentiment_analysis", "huggingface"], - ) - - pipeline_args = {} - - if no_cache: - pipeline_args["enable_cache"] = False # Execute Feature Engineering Pipeline if feature_pipeline: - pipeline_args["model_version"] = model_version + pipeline_args = {} pipeline_args["config_path"] = os.path.join( - config_folder, "feature_engineering_config.yaml" - ) - run_args_feature = { - "max_seq_length": max_seq_length, - } - pipeline_args[ - "run_name" - ] = f"sentinment_analysis_feature_engineering_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}" - sentinment_analysis_feature_engineering_pipeline.with_options(**pipeline_args)( - **run_args_feature + config_folder, "feature_engineering.yaml" ) + run_args_feature = {} + _feature_engineering.with_options(**pipeline_args)(**run_args_feature) logger.info("Feature Engineering pipeline finished successfully!") # Execute Training Pipeline if training_pipeline: - pipeline_args["config_path"] = os.path.join( - config_folder, "trainer_config.yaml" - ) + pipeline_args = {} + pipeline_args["config_path"] = os.path.join(config_folder, "training.yaml") - run_args_train = { - "num_epochs": num_epochs, - "train_batch_size": train_batch_size, - "eval_batch_size": eval_batch_size, - "learning_rate": learning_rate, - "weight_decay": weight_decay, - "max_seq_length": max_seq_length, - "dataset_artifact_id": dataset_artifact_id, - "tokenizer_artifact_id": tokenizer_artifact_id, - } + run_args_train = {} - # If dataset_version_name is specified, use versioned artifacts - if dataset_version_name: + # If train_dataset_version_name is specified, use versioned artifacts + if train_dataset_version_name or test_dataset_version_name: + # However, both train and test dataset versions must be specified + assert ( + train_dataset_version_name is not None + and test_dataset_version_name is not None + ) client = Client() - tokenized_dataset_artifact = client.get_artifact( - dataset_name, dataset_version_name + train_dataset_artifact = client.get_artifact( + train_dataset_name, train_dataset_version_name ) - # base tokenizer is always the same version - # as the dataset version - tokenized_tokenizer_artifact = client.get_artifact( - "base_tokenizer", dataset_version_name + # If train dataset is specified, test dataset must be specified + test_dataset_artifact = client.get_artifact( + test_dataset_name, test_dataset_version_name ) # Use versioned artifacts - run_args_train["dataset_artifact_id"] = tokenized_dataset_artifact.id - run_args_train["tokenizer_artifact_id"] = tokenized_tokenizer_artifact.id - - pipeline_args["model_version"] = model_version + run_args_train["train_dataset_id"] = train_dataset_artifact.id + run_args_train["test_dataset_id"] = test_dataset_artifact.id - pipeline_args[ - "run_name" - ] = f"sentinment_analysis_training_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}" - - sentinment_analysis_training_pipeline.with_options(**pipeline_args)( - **run_args_train - ) + _training.with_options(**pipeline_args)(**run_args_train) logger.info("Training pipeline finished successfully!") - # Execute Promoting Pipeline - if promoting_pipeline: - run_args_promoting = {} - # Promoting pipeline always check latest version - model_version = ModelVersion( - name=zenml_model_name, - version=ModelStages.LATEST, - ) - pipeline_args["config_path"] = os.path.join( - config_folder, "promoting_config.yaml" - ) - - pipeline_args["model_version"] = model_version - - pipeline_args[ - "run_name" - ] = f"sentinment_analysis_promoting_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}" - sentinment_analysis_promote_pipeline.with_options(**pipeline_args)( - **run_args_promoting - ) - logger.info("Promoting pipeline finished successfully!") - - if deploying_pipeline: - pipeline_args["config_path"] = os.path.join( - config_folder, "deploying_config.yaml" - ) - - # Deploying pipeline has new ZenML model config - model_version = ModelVersion( - name=zenml_model_name, - version=ModelStages.PRODUCTION, - ) - pipeline_args["model_version"] = model_version - pipeline_args["enable_cache"] = False - run_args_deploying = {} - pipeline_args[ - "run_name" - ] = f"sentinment_analysis_deploy_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}" - sentinment_analysis_deploy_pipeline.with_options(**pipeline_args)( - **run_args_deploying - ) - logger.info("Deploying pipeline finished successfully!") + if inference_pipeline: + pipeline_args = {} + pipeline_args["config_path"] = os.path.join(config_folder, "inference.yaml") + run_args_inference = {} + _inference.with_options(**pipeline_args)(**run_args_inference) + logger.info("Inference pipeline finished successfully!") if __name__ == "__main__": diff --git a/template/steps/__init__.py b/template/steps/__init__.py index 708f1d5..ec171fe 100644 --- a/template/steps/__init__.py +++ b/template/steps/__init__.py @@ -9,15 +9,15 @@ from .data_splitter import ( data_splitter, ) +from .inference_predict import ( + inference_predict, +) +from .inference_preprocessor import ( + inference_preprocessor, +) from .model_evaluator import ( model_evaluator, ) from .model_trainer import ( model_trainer, ) -from .inference_preprocessor import ( - inference_preprocessor, -) -from .inference_predict import ( - inference_predict, -) diff --git a/template/steps/data_loader.py b/template/steps/data_loader.py index 3d56e2e..cc6df58 100644 --- a/template/steps/data_loader.py +++ b/template/steps/data_loader.py @@ -3,9 +3,8 @@ import pandas as pd from sklearn.datasets import load_breast_cancer from typing_extensions import Annotated -from zenml import step +from zenml import log_artifact_metadata, step from zenml.logger import get_logger -from zenml import log_artifact_metadata logger = get_logger(__name__) diff --git a/template/steps/data_preprocessor.py b/template/steps/data_preprocessor.py index 42af03a..34b3aeb 100644 --- a/template/steps/data_preprocessor.py +++ b/template/steps/data_preprocessor.py @@ -1,13 +1,13 @@ # {% include 'template/license_header' %} from typing import List, Optional, Tuple -from typing_extensions import Annotated import pandas as pd from sklearn.pipeline import Pipeline from sklearn.preprocessing import MinMaxScaler +from typing_extensions import Annotated from utils.preprocess import ColumnsDropper, DataFrameCaster, NADropper -from zenml import step, log_artifact_metadata +from zenml import log_artifact_metadata, step @step diff --git a/template/steps/data_splitter.py b/template/steps/data_splitter.py index 121cfd2..dbab815 100644 --- a/template/steps/data_splitter.py +++ b/template/steps/data_splitter.py @@ -1,10 +1,10 @@ # {% include 'template/license_header' %} from typing import Tuple -from typing_extensions import Annotated import pandas as pd from sklearn.model_selection import train_test_split +from typing_extensions import Annotated from zenml import step diff --git a/template/steps/inference_predict.py b/template/steps/inference_predict.py index 773df08..e214b0f 100644 --- a/template/steps/inference_predict.py +++ b/template/steps/inference_predict.py @@ -15,11 +15,9 @@ # limitations under the License. # -from typing import Optional import pandas as pd from typing_extensions import Annotated - from zenml import get_step_context, step from zenml.logger import get_logger diff --git a/template/steps/inference_preprocessor.py b/template/steps/inference_preprocessor.py index 4fb11d7..c7a5ae1 100644 --- a/template/steps/inference_preprocessor.py +++ b/template/steps/inference_preprocessor.py @@ -18,7 +18,6 @@ import pandas as pd from sklearn.pipeline import Pipeline from typing_extensions import Annotated - from zenml import step diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py index 383dd40..03db02b 100644 --- a/template/steps/model_evaluator.py +++ b/template/steps/model_evaluator.py @@ -2,7 +2,7 @@ import pandas as pd from sklearn.base import ClassifierMixin -from zenml import step, log_artifact_metadata +from zenml import log_artifact_metadata, step from zenml.logger import get_logger logger = get_logger(__name__) diff --git a/template/steps/model_trainer.py b/template/steps/model_trainer.py index 27c641f..e7580ca 100644 --- a/template/steps/model_trainer.py +++ b/template/steps/model_trainer.py @@ -1,12 +1,10 @@ # {% include 'template/license_header' %} -from typing_extensions import Annotated - import pandas as pd -from sklearn.tree import DecisionTreeClassifier from sklearn.base import ClassifierMixin -from zenml import ArtifactConfig, get_step_context, step -from zenml.client import Client +from sklearn.tree import DecisionTreeClassifier +from typing_extensions import Annotated +from zenml import ArtifactConfig, step from zenml.logger import get_logger logger = get_logger(__name__) @@ -32,8 +30,8 @@ def model_trainer( """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - - # Use the dataset to fetch the target + + # Use the dataset to fetch the target # context = get_step_context() # target = context.inputs["dataset_trn"].run_metadata['target'].value target = "target" From 2f7ef977e94a5e428b13d1ad9c19ca0d152f93b1 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Tue, 5 Dec 2023 17:23:22 +0100 Subject: [PATCH 08/48] Fixing --- template/configs/training.yaml | 1 - template/pipelines/inference.py | 34 ++++++------------------- template/pipelines/training.py | 6 +++-- template/steps/__init__.py | 3 +++ template/steps/model_evaluator.py | 9 +++++-- template/steps/model_promoter.py | 42 +++++++++++++++++++++++++++++++ 6 files changed, 63 insertions(+), 32 deletions(-) create mode 100644 template/steps/model_promoter.py diff --git a/template/configs/training.yaml b/template/configs/training.yaml index e014224..daa91a1 100644 --- a/template/configs/training.yaml +++ b/template/configs/training.yaml @@ -7,7 +7,6 @@ settings: # configuration of the Model Control Plane model_version: name: breast_cancer_classifier - version: latest license: Apache 2.0 description: Classification of Breast Cancer Dataset. tags: ["classification", "sklearn"] diff --git a/template/pipelines/inference.py b/template/pipelines/inference.py index 62d5823..798f8b2 100644 --- a/template/pipelines/inference.py +++ b/template/pipelines/inference.py @@ -4,8 +4,11 @@ from steps import ( data_loader, + inference_preprocessor, + inference_predict, ) -from zenml import pipeline +from zenml import pipeline, ExternalArtifact +from zenml.client import Client from zenml.logger import get_logger logger = get_logger(__name__) @@ -34,33 +37,9 @@ def _inference( ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output # of one step as the input of the next step. + client = Client() random_state = client.get_artifact("dataset").run_metadata["random_state"].value - target = client.get_artifact("dataset_trn").run_metadata["target"].value - df_inference = data_loader(random_state=random_state, is_inference=True) - df_inference = inference_preprocessor( - dataset_inf=df_inference, - preprocess_pipeline=ExternalArtifact(name="preprocess_pipeline"), - target=target, - ) - inference_predict( - dataset_inf=df_inference, - ) - - -@pipeline -def _batch_inference(): - """ - Model batch inference pipeline. - - This is a pipeline that loads the inference data, processes - it, analyze for data drift and run inference. - """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Link all the steps together by calling them and passing the output - # of one step as the input of the next step. - ########## ETL stage ########## - random_state = client.get_artifact("dataset").run_metadata["random_state"].value - target = client.get_artifact("dataset_trn").run_metadata["target"].value + target = "target" df_inference = data_loader(random_state=random_state, is_inference=True) df_inference = inference_preprocessor( dataset_inf=df_inference, @@ -70,3 +49,4 @@ def _batch_inference(): inference_predict( dataset_inf=df_inference, ) + ### END CODE HERE ### diff --git a/template/pipelines/training.py b/template/pipelines/training.py index 8343c3c..20df9ef 100644 --- a/template/pipelines/training.py +++ b/template/pipelines/training.py @@ -3,7 +3,7 @@ from typing import Optional from uuid import UUID -from steps import model_evaluator, model_trainer +from steps import model_evaluator, model_trainer, model_promoter from zenml import ExternalArtifact, pipeline from zenml.logger import get_logger @@ -49,11 +49,13 @@ def _training( dataset_trn=dataset_trn, ) - model_evaluator( + acc = model_evaluator( model=model, dataset_trn=dataset_trn, dataset_tst=dataset_tst, min_train_accuracy=min_train_accuracy, min_test_accuracy=min_test_accuracy, ) + + model_promoter(accuracy=acc) ### END CODE HERE ### diff --git a/template/steps/__init__.py b/template/steps/__init__.py index ec171fe..2f85671 100644 --- a/template/steps/__init__.py +++ b/template/steps/__init__.py @@ -21,3 +21,6 @@ from .model_trainer import ( model_trainer, ) +from .model_promoter import ( + model_promoter, +) \ No newline at end of file diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py index 03db02b..01160fe 100644 --- a/template/steps/model_evaluator.py +++ b/template/steps/model_evaluator.py @@ -2,7 +2,7 @@ import pandas as pd from sklearn.base import ClassifierMixin -from zenml import log_artifact_metadata, step +from zenml import step, log_artifact_metadata from zenml.logger import get_logger logger = get_logger(__name__) @@ -15,7 +15,7 @@ def model_evaluator( dataset_tst: pd.DataFrame, min_train_accuracy: float = 0.0, min_test_accuracy: float = 0.0, -) -> None: +) -> float: """Evaluate a trained model. This is an example of a model evaluation step that takes in a model artifact @@ -49,6 +49,9 @@ def model_evaluator( fail_on_accuracy_quality_gates: If `True` a `RuntimeException` is raised upon not meeting one of the minimal accuracy thresholds. + Retuns: + The model accuracy on the test set. + Raises: RuntimeError: if any of accuracies is lower than respective threshold """ @@ -86,4 +89,6 @@ def model_evaluator( metadata={"train_accuracy": float(trn_acc), "test_accuracy": float(tst_acc)}, artifact_name="model", ) + ### YOUR CODE ENDS HERE ### + return float(trn_acc) diff --git a/template/steps/model_promoter.py b/template/steps/model_promoter.py new file mode 100644 index 0000000..784e0cc --- /dev/null +++ b/template/steps/model_promoter.py @@ -0,0 +1,42 @@ +# {% include 'template/license_header' %} + +from zenml import get_step_context, step +from zenml.logger import get_logger + +logger = get_logger(__name__) + + +@step +def model_promoter(accuracy: float, stage: str = "production") -> bool: + """Dataset reader step. + + This is an example of a dataset reader step that load Breast Cancer dataset. + + This step is parameterized, which allows you to configure the step + independently of the step code, before running it in a pipeline. + In this example, the step can be configured with number of rows and logic + to drop target column or not. See the documentation for more information: + + https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines + + Args: + accuracy: Accuracy of the model. + stage: Which stage to promote the model to. + + Returns: + Whether the model was promoted or not. + """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + if accuracy < 0.8: + logger.info( + f"Model accuracy {accuracy*100:.2f}% is below 80% ! Not promoting model." + ) + is_promoted = False + else: + logger.info(f"Model promoted to {stage}!") + is_promoted = True + model_version = get_step_context().model_version + model_version.set_stage(stage, force=True) + + ### YOUR CODE ENDS HERE ### + return is_promoted From fd1aad60306f34f9f7eb1b47f98861bbd0023851 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Wed, 6 Dec 2023 17:04:00 +0100 Subject: [PATCH 09/48] Updated --- template/steps/inference_predict.py | 1 - 1 file changed, 1 deletion(-) diff --git a/template/steps/inference_predict.py b/template/steps/inference_predict.py index e214b0f..c29b352 100644 --- a/template/steps/inference_predict.py +++ b/template/steps/inference_predict.py @@ -53,7 +53,6 @@ def inference_predict( predictor = model_version.load_artifact("model") predictions = predictor.predict(dataset_inf) - breakpoint() predictions = pd.Series(predictions, name="predicted") ### YOUR CODE ENDS HERE ### From c8bf3e384df706ae9e57d14e5a9ae5c222361143 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 7 Dec 2023 18:13:23 +0100 Subject: [PATCH 10/48] Updated --- starter/README.md | 53 - starter/template/.dockerignore | 2 - starter/template/README.md | 113 -- starter/template/__init__.py | 2 - starter/template/pipelines/__init__.py | 7 - starter/template/pipelines/model_training.py | 54 - starter/template/requirements.txt | 2 - starter/template/run.py | 344 ---- starter/template/steps/__init__.py | 47 - starter/template/steps/data_loaders.py | 383 ---- starter/template/steps/model_trainers.py | 499 ------ ...f open_source_license %}LICENSE{% endif %} | 1 - .../__init__.py | 7 - .../model_metadata.py | 75 - .../__init__.py | 7 - .../model_metadata_materializer.py | 113 -- .../template/{{ _copier_conf.answers_file }} | 2 - template/README.md | 156 +- template/run.ipynb | 1563 ++++++++++++++--- template/steps/model_evaluator.py | 2 +- templates/globals.j2 | 14 - templates/license | 110 -- templates/license_header | 2 - 23 files changed, 1448 insertions(+), 2110 deletions(-) delete mode 100644 starter/README.md delete mode 100644 starter/template/.dockerignore delete mode 100644 starter/template/README.md delete mode 100644 starter/template/__init__.py delete mode 100644 starter/template/pipelines/__init__.py delete mode 100644 starter/template/pipelines/model_training.py delete mode 100644 starter/template/requirements.txt delete mode 100644 starter/template/run.py delete mode 100644 starter/template/steps/__init__.py delete mode 100644 starter/template/steps/data_loaders.py delete mode 100644 starter/template/steps/model_trainers.py delete mode 100644 starter/template/{% if open_source_license %}LICENSE{% endif %} delete mode 100644 starter/template/{% if use_custom_artifacts %}artifacts{% endif %}/__init__.py delete mode 100644 starter/template/{% if use_custom_artifacts %}artifacts{% endif %}/model_metadata.py delete mode 100644 starter/template/{% if use_custom_artifacts %}materializers{% endif %}/__init__.py delete mode 100644 starter/template/{% if use_custom_artifacts %}materializers{% endif %}/model_metadata_materializer.py delete mode 100644 starter/template/{{ _copier_conf.answers_file }} delete mode 100644 templates/globals.j2 delete mode 100644 templates/license delete mode 100644 templates/license_header diff --git a/starter/README.md b/starter/README.md deleted file mode 100644 index aa76203..0000000 --- a/starter/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# 📜 ZenML Starter Project Template - -What would you need to get a quick understanding of the ZenML framework and -start building your own ML pipelines? The answer is a simple project template -to cover the basics of ZenML: a collection of steps and pipelines, a stack -configuration and, to top it all off, a simple but useful CLI. This is exactly -what the ZenML starter template is all about. - -This project template is a good starting point for anyone starting out with -ZenML. It showcases the following fundamental ZenML concepts in a relatable -ML context: - -* designing [ZenML pipeline steps](https://docs.zenml.io/user-guide/starter-guide#pipelines-and-steps) -in general, but also particularly useful for the following applications: - * data ingestion, data transformation and data train/test splitting - * model training and evaluation -* using [step parameterization and caching](https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions) -to design flexible and reusable steps -* using [custom data types for your artifacts and writing materializers for them](https://docs.zenml.io/user-guide/advanced-guide/artifact-management/handle-custom-data-types) -* constructing and running a [ZenML pipeline](https://docs.zenml.io/user-guide/starter-guide#pipelines-and-steps) -* accessing ZenML pipeline run artifacts in [the post-execution phase](https://docs.zenml.io/user-guide/starter-guide/fetch-runs-after-execution), -after a pipeline run has concluded -* best practices for implementing and running reproducible and reliable ML -pipelines with ZenML - -In addition to that, the entire project is implemented with the [scikit-learn](https://scikit-learn.org) -library and showcases how to use ZenML with a popular ML framework. It makes -heavy use of the tabular datasets and classification models that scikit-learn -provides, but the concepts and patterns it showcases are applicable to any -other ML framework. - -## 📃 Template Parameters - -| Parameter | Description | Default | -|-----------|-------------|---------| -| Name | The name of the person/entity holding the copyright | ZenML GmbH | -| Email | The email of the person/entity holding the copyright | info@zenml.io | -| Project Name | Short name for your project | ZenML Starter | -| Project Slug | A slugified version of the project name (automatically generated from the project name) | zenml_starter | -| Project Version | The version of your project | 0.1.0 | -| Project License | The license under which your project will be released (one of `Apache Software License 2.0`, `MIT license`, `BSD license`, `ISC license`, `GNU General Public License v3` and `Not open source`) | Apache Software License 2.0 | -| Auto-Format | Whether to automatically format and cleanup the generated code with [black](https://black.readthedocs.io/), [ruff](https://beta.ruff.rs/docs/) and [autoflake](https://github.com/PyCQA/autoflake) (yes/no). You also need to have these Python packages installed for this option to take effect. | no | -| Use ZenML Step Params | Whether to showcase using parameters for the ZenML steps in the project (yes/no). If selected, all generated ZenML pipeline steps will be parameterized. | yes | -| Use ZenML Materializers | Whether to showcase using custom data types for the ZenML artifacts in the project (yes/no). If selected, the generated code will demonstrate the use of custom artifact data types and materializers in the generated steps and pipelines. | yes | -| UCI Dataset | The name of the UCI provided scikit-learn dataset to use in the project (one of `Iris`, `Breast Cancer` and `Wine`) | Wine | -| Scikit-learn Model | The name of the scikit-learn classifier model to use in the project (one of `Logistic Regression`, `SVC`, `Linear SVC`, `Random Forest`, `KNN`, `Gaussian NB`, `Perceptron`, `SGD Classifier` and `Decision Tree`) | Logistic Regression | -| Runtime Configurable Dataset | Whether to make the dataset a configurable parameter of the data loader step and CLI (yes/no). Only has effect if the step parameters were also selected. | yes | -| Runtime Configurable Model | Whether to make the model a configurable parameter of the model trainer step and CLI (yes/no). Only has effect if the step parameters were also selected. | yes | - -## 🚀 Generate a ZenML Project - -Please see [the main README page](../README.md) for instructions on how to -generate a ZenML project from this template. diff --git a/starter/template/.dockerignore b/starter/template/.dockerignore deleted file mode 100644 index 455f4d7..0000000 --- a/starter/template/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -.venv* -.requirements* \ No newline at end of file diff --git a/starter/template/README.md b/starter/template/README.md deleted file mode 100644 index 0d04b69..0000000 --- a/starter/template/README.md +++ /dev/null @@ -1,113 +0,0 @@ -# {{project_name}} - -This is a basic supervised learning ML project built with the -ZenML framework and its scikit-learn integration. The project trains one or more -scikit-learn classification models to make predictions on one of the tabular -classification datasets provided by the scikit-learn library. The project was -generated from the [starter ZenML project template](https://github.com/zenml-io/zenml-project-templates/tree/main/starter) -with the following optional features enabled: -{%- if use_step_params == "y" %} -- parameterized ZenML steps -- ability to control the ZenML step parameters using the CLI -{%- if configurable_dataset == "y" %} -- ability to dynamically select and use a different dataset at runtime using the -CLI and/or a data loader step parameter -{%- endif %} -{%- if configurable_model == "y" %} -- ability to dynamically select and train a different classification model at -runtime using the CLI and/or a model trainer step parameter -{%- endif %} -{%- endif %} -{%- if use_custom_artifacts == "y" %} -- using custom data types for step artifacts and implementing custom materializers -{%- endif %} - -## 👋 Introduction - -Welcome to your newly generated "{{project_name}}" project! This is -a great way to get started with ZenML. The project contains a collection of -basic ZenML steps, pipelines, stack configurations and other artifacts and -useful resources that can serve as a starting point for your journey with -ZenML. - -What to do first? You can start by giving the the project a quick run. The -project is ready to be used and can run as-is without any further code -changes! You can try it right away by installing ZenML, the scikit-learn -ZenML integration and then calling the CLI included in the project. We also -recommend that you start the ZenML UI locally to get a better sense of what -is going on under the hood: - -```bash -# Set up a Python virtual environment, if you haven't already -virtualenv .venv -source .venv/bin/activate -# Install requirements -pip install -r requirements.txt -# Start the ZenML UI locally (recommended, but optional); -# the default username is "admin" with an empty password -zenml up -# Run the pipeline included in the project -python run.py -``` - -When the pipeline is done running, you can check out the results in the ZenML -UI by following the link printed in the terminal (or you can go straight to -the [ZenML UI pipelines run page](http://127.0.0.1:8237/workspaces/default/all-runs?page=1). - -Next, you should: - -* look at the CLI help to see what you can do with the project: -```bash -python run.py --help -``` -* go back and [try out different parameters](https://github.com/zenml-io/zenml-project-templates/tree/main/starter#-template-parameters) -for your generated project. For example, you could enable generating step -parameters or custom materializers for your project, if you haven't already. -* take a look at [the project structure](#📜-project-structure) and the code -itself. The code is heavily commented and should be easy to follow. -* read the [ZenML documentation](https://docs.zenml.io) to learn more about -various ZenML concepts referenced in the code and to get a better sense of -what you can do with ZenML. -* start building your own ZenML project by modifying this code - -## 📦 What's in the box? - -The {{ project_name }} project showcases a basic ZenML model -training pipeline with all the usual components you would expect to find in -a simple machine learning project such as this one: - -- a data ingestion step that loads one of the datasets provided through -scikit-learn -- a data processing step that does some basic preprocessing (drops rows with -missing values, normalizes the data) -- a data splitting step that breaks the data into train and test sets -- a training step that trains one of the scikit-learn models on the train set -- a model evaluation step that evaluates the trained model on the train and test -sets and warns or fails the pipeline if the model performance is below a -certain threshold - -The project code is meant to be used as a template for your own projects. For -this reason, you will find a number of places in the code specifically marked -to indicate where you can add your own code: - -```python -### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### -... -### YOUR CODE ENDS HERE ### -``` - -## 📜 Project Structure - -The project loosely follows [the recommended ZenML project structure](https://docs.zenml.io/user-guide/starter-guide/follow-best-practices): - -``` -├── pipelines <- All pipelines in one place -│ ├── model_training.py <- The main (training) pipeline -├── steps <- All steps in one place -│ ├── data_loaders.py <- Data loader/processor/splitter steps -│ ├── model_trainers.py <- Model trainer/evaluator steps -├── .dockerignore -├── README.md <- This file -├── requirements.txt <- Python dependencies -└── run.py <- CLI entrypoint -``` diff --git a/starter/template/__init__.py b/starter/template/__init__.py deleted file mode 100644 index e08729f..0000000 --- a/starter/template/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -{% include 'templates/license_header' %} -__version__ = "{{ version }}" \ No newline at end of file diff --git a/starter/template/pipelines/__init__.py b/starter/template/pipelines/__init__.py deleted file mode 100644 index fa0b4e3..0000000 --- a/starter/template/pipelines/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -{% include 'templates/license_header' %} - -from pipelines.model_training import model_training_pipeline - -__all__ = [ - "model_training_pipeline", -] \ No newline at end of file diff --git a/starter/template/pipelines/model_training.py b/starter/template/pipelines/model_training.py deleted file mode 100644 index 143ba9f..0000000 --- a/starter/template/pipelines/model_training.py +++ /dev/null @@ -1,54 +0,0 @@ -{% include 'templates/license_header' %} - -from zenml.pipelines import pipeline - -@pipeline() -def model_training_pipeline( - data_loader, - data_processor, - data_splitter, - model_trainer, - model_evaluator, -): - """ - Model training pipeline recipe. - - This is a recipe for a pipeline that loads the data, processes it and - splits it into train and test sets, then trains and evaluates a model - on it. It is agnostic of the actual step implementations and just defines - how the artifacts are circulated through the steps by calling them in the - right order and passing the output of one step as the input of the next - step. - - The arguments that this function takes are instances of the steps that - are defined in the steps folder. Also note that the arguments passed to - the steps are step artifacts. If you use step parameters to configure the - steps, they must not be used here, but instead be used when the steps are - instantiated, before this function is called. - - Args: - data_loader: A data loader step instance that outputs a dataset. - data_processor: A data processor step instance that takes a dataset - as input and outputs a processed dataset. - data_splitter: A data splitter step instance that takes a dataset - as input and outputs a train and test set split. - model_trainer: A model trainer step instance that takes a train set - as input and outputs a trained model. - model_evaluator: A model evaluator step instance that takes a train/test - set split and a trained model as input and outputs model evaluation - metrics. - - """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Link all the steps together by calling them and passing the output - # of one step as the input of the next step. - dataset = data_loader() - processed_dataset = data_processor(dataset=dataset) - train_set, test_set = data_splitter(dataset=processed_dataset) - model = model_trainer(train_set=train_set) - model_evaluator( - model=model, - train_set=train_set, - test_set=test_set, - ) - ### YOUR CODE ENDS HERE ### diff --git a/starter/template/requirements.txt b/starter/template/requirements.txt deleted file mode 100644 index 9fcc501..0000000 --- a/starter/template/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -zenml[server] -scikit-learn \ No newline at end of file diff --git a/starter/template/run.py b/starter/template/run.py deleted file mode 100644 index 095b785..0000000 --- a/starter/template/run.py +++ /dev/null @@ -1,344 +0,0 @@ -{% include 'templates/license_header' %} - -import click -from typing import Any, Dict, Optional -from steps import ( - data_loader, - data_processor, - data_splitter, - model_trainer, - model_evaluator, -{%- if use_step_params %} -{%- if configurable_dataset %} - SklearnDataset, - DataLoaderStepParameters, -{%- endif %} - DataProcessorStepParameters, - DataSplitterStepParameters, - ModelTrainerStepParameters, - ModelEvaluatorStepParameters, -{%- if configurable_model %} - SklearnClassifierModel, -{%- endif %} -{%- endif %} -) -from pipelines import ( - model_training_pipeline, -) - -{% if use_step_params %} -def process_hyper_parameters(params: Optional[str] = None) -> Dict[str, Any]: - """Process hyper parameters entered by the user from the command line. - - This function is used to parse hyper parameters entered by the user in - the command line from a key-value string format (e.g. "C=0.1,max_iter=1000") - to a dictionary with the correct data types (int, float, bool). - - Args: - params: A string of comma-separated key-value pairs. - - Returns: - A dictionary of hyper parameters converted to the correct type (int, - float, bool) - """ - if not params: - return {} - try: - params = params.split(",") - params = [param.split("=") for param in params] - params = {key: value for key, value in params} - except ValueError: - raise ValueError( - "Invalid format for hyperparameters. " - "Expected a comma-separated list of key-value pairs " - "(e.g. 'C=0.1,max_iter=1000')." - ) - for key, value in params.items(): - try: - params[key] = int(value) - continue - except ValueError: - pass - try: - params[key] = float(value) - continue - except ValueError: - pass - if value.lower() == "true": - params[key] = True - continue - if value.lower() == "false": - params[key] = False - continue - return params - - -{% endif %} -@click.command(help=""" -{{ project_name }} CLI v{{ version }}. - -Run the {{ project_name }} model training pipeline with various -options. - -Examples: - - \b - # Run the pipeline with default options - python run.py - - \b - # Run the pipeline with caching disabled - python run.py --no-cache - -{%- if use_step_params and configurable_dataset %} - - \b - # Run the pipeline with a different dataset - python run.py --dataset=breast_cancer -{%- endif %} - -{%- if use_step_params and configurable_model %} - - \b - # Run the pipeline with a different model - python run.py --model=SVM -{%- endif %} - -{%- if use_step_params %} - - \b - # Run the pipeline with custom hyperparameters for the model training step - python run.py --hyperparameters="C=0.1,max_iter=1000" - - \b - # Run the pipeline with custom data splitter step parameters - python run.py --test-size=0.1 --no-stratify - - \b - # Run the pipeline with custom data processor step parameters - python run.py --drop-columns="alcohol,ash" --no-normalize - - \b - # Run the pipeline with a different random seed - python run.py --random-state=40 - - \b - # Change the model evaluation thresholds - python run.py --min-train-accuracy=0.98 --min-test-accuracy=0.98 --max-train-test-diff=0.05 --fail-on-eval-warnings -{%- endif %} -""" -) -@click.option( - "--no-cache", - is_flag=True, - default=False, - help="Disable caching for the pipeline run.", -) -{%- if use_step_params %} -{%- if configurable_dataset %} -@click.option( - "--dataset", - default="{{ sklearn_dataset_name }}", - type=click.Choice(SklearnDataset.values()), - help="The scikit-learn dataset to load.", -) -{%- endif %} -{%- if configurable_model %} -@click.option( - "--model", - default="{{ sklearn_model_name }}", - type=click.Choice(SklearnClassifierModel.values()), - help="The scikit-learn model to train.", -) -{%- endif %} -@click.option( - "--no-drop-na", - is_flag=True, - default=False, - help="Whether to skip dropping rows with missing values in the dataset.", -) -@click.option( - "--drop-columns", - default=None, - type=click.STRING, - help="Comma-separated list of columns to drop from the dataset.", -) -@click.option( - "--no-normalize", - is_flag=True, - default=False, - help="Whether to skip normalizing the dataset.", -) -@click.option( - "--test-size", - default=0.2, - type=click.FloatRange(0.0, 1.0), - help="Proportion of the dataset to include in the test split.", -) -@click.option( - "--no-shuffle", - is_flag=True, - default=False, - help="Whether to skip shuffling the data before splitting.", -) -@click.option( - "--no-stratify", - is_flag=True, - default=False, - help="Whether to skip stratifying the data before splitting.", -) -@click.option( - "--random-state", - default=42, - type=click.INT, - help="Controls the randomness during data shuffling and model training. " - "Pass an int for reproducible and cached output across multiple " - "pipeline runs.", -) -@click.option( - "--hyperparameters", - default=None, - type=click.STRING, - help="Comma-separated list of hyper-parameters to pass to the model " - "trainer (e.g. 'C=0.1,max_iter=1000').", -) -@click.option( - "--min-train-accuracy", - default=0.8, - type=click.FloatRange(0.0, 1.0), - help="Minimum training accuracy to pass to the model evaluator.", -) -@click.option( - "--min-test-accuracy", - default=0.8, - type=click.FloatRange(0.0, 1.0), - help="Minimum test accuracy to pass to the model evaluator.", -) -@click.option( - "--max-train-test-diff", - default=0.1, - type=click.FloatRange(0.0, 1.0), - help="Maximum difference between training and test accuracy to pass to " - "the model evaluator.", -) -@click.option( - "--fail-on-eval-warnings", - is_flag=True, - default=False, - help="Whether to fail the pipeline run if the model evaluation step " - "finds that the model is not accurate enough.", -) -{%- endif %} -def main( - no_cache: bool = False, -{%- if use_step_params %} -{%- if configurable_dataset %} - dataset: str = "{{ sklearn_dataset_name }}", -{%- endif %} -{%- if configurable_model %} - model: str = "{{ sklearn_model_name }}", -{%- endif %} - no_drop_na: bool = False, - drop_columns: Optional[str] = None, - no_normalize: bool = False, - test_size: float = 0.2, - no_shuffle: bool = False, - no_stratify: bool = False, - random_state: int = 42, - hyperparameters: Optional[str] = None, - min_train_accuracy: float = 0.8, - min_test_accuracy: float = 0.8, - max_train_test_diff: float = 0.1, - fail_on_eval_warnings: bool = False, -{%- endif %} -): - """Main entry point for the pipeline execution. - - This entrypoint is where everything comes together: - - * instantiating the steps and configuring them with the required - parameters (some of which may come from command line arguments) - * creating a pipeline instance that brings together all step instances - * launching the pipeline - * extracting and looking at the artifacts logged by the pipeline run - """ - - # Initialize a pipeline. This is also where we instantiate the steps and - # configure them with the required parameters. The step instances are - # then passed to the pipeline constructor. The result is a pipeline - # instance that is ready to be run. - pipeline = model_training_pipeline( -{%- if use_step_params %} -{%- if configurable_dataset %} - data_loader=data_loader( - params=DataLoaderStepParameters( - dataset=SklearnDataset(dataset), - ), - ), -{%- else %} - data_loader=data_loader(), -{%- endif %} - data_processor=data_processor( - params=DataProcessorStepParameters( - drop_na=not no_drop_na, - drop_columns=drop_columns.split(",") if drop_columns else [], - normalize=not no_normalize, - ), - ), - data_splitter=data_splitter( - params=DataSplitterStepParameters( - test_size=test_size, - shuffle=not no_shuffle, - stratify=not no_stratify, - random_state=random_state, - ), - ), - model_trainer=model_trainer( - params=ModelTrainerStepParameters( -{%- if configurable_model %} - model=SklearnClassifierModel(model), -{%- endif %} - random_state=random_state, - hyperparameters=process_hyper_parameters(hyperparameters), - ), - ), - model_evaluator=model_evaluator( - params=ModelEvaluatorStepParameters( - min_train_accuracy=min_train_accuracy, - min_test_accuracy=min_test_accuracy, - max_train_test_accuracy_difference=max_train_test_diff, - fail_on_warnings=fail_on_eval_warnings, - ), - ), -{%- else %} - data_loader=data_loader(), - data_splitter=data_splitter(), - data_processor=data_processor(), - model_trainer=model_trainer(), - model_evaluator=model_evaluator(), -{%- endif %} - ) - - pipeline_args = {} - if no_cache: - pipeline_args["enable_cache"] = False - - # Run the pipeline. This executes all steps in the pipeline in the - # correct order using the orchestrator stack component that is configured - # in your active ZenML stack. - pipeline.run(**pipeline_args) - - - # TODO: - # extract the evaluator result and show here - # Point to the dashboard URL (if running); instruct to start the dashboard - # info on how to use the CLI to show pipeline run details. - # add experiment tracker to steps (flag) - - # materialization: - # * - create a dummy class (statistics, report, visualization) and use that - # in the pipeline step and post-execution - - -if __name__ == "__main__": - main() diff --git a/starter/template/steps/__init__.py b/starter/template/steps/__init__.py deleted file mode 100644 index cc087fd..0000000 --- a/starter/template/steps/__init__.py +++ /dev/null @@ -1,47 +0,0 @@ -{% include 'templates/license_header' %} - -from steps.data_loaders import ( - data_loader, - data_processor, - data_splitter, -{%- if use_step_params %} -{%- if configurable_dataset %} - DataLoaderStepParameters, - SklearnDataset, -{%- endif %} - DataProcessorStepParameters, - DataSplitterStepParameters, -{%- endif %} -) -from steps.model_trainers import ( - model_trainer, - model_evaluator, -{%- if use_step_params %} -{%- if configurable_model %} - SklearnClassifierModel, -{%- endif %} - ModelTrainerStepParameters, - ModelEvaluatorStepParameters, -{%- endif %} -) - -__all__ = [ - "data_loader", - "data_processor", - "data_splitter", - "model_trainer", - "model_evaluator", -{%- if use_step_params %} -{%- if configurable_dataset %} - "DataLoaderStepParameters", - "SklearnDataset", -{%- endif %} - "DataProcessorStepParameters", - "DataSplitterStepParameters", -{%- if configurable_model %} - "SklearnClassifierModel", -{%- endif %} - "ModelTrainerStepParameters", - "ModelEvaluatorStepParameters", -{%- endif %} -] \ No newline at end of file diff --git a/starter/template/steps/data_loaders.py b/starter/template/steps/data_loaders.py deleted file mode 100644 index 26ac788..0000000 --- a/starter/template/steps/data_loaders.py +++ /dev/null @@ -1,383 +0,0 @@ -{% include 'templates/license_header' %} -{%- if use_step_params %} -from typing import List -{%- endif %} -import pandas as pd - -from sklearn.datasets import ( -{%- if use_step_params and configurable_dataset %} - load_wine, - load_breast_cancer, - load_iris, -{%- else %} - load_{{ sklearn_dataset_name }}, -{%- endif %} -) -from sklearn.model_selection import train_test_split -{%- if use_step_params %} -from zenml.enums import StrEnum -{%- endif %} -from zenml.steps import ( -{%- if use_step_params %} - BaseParameters, -{%- endif %} - Output, - step, -) -from zenml.logger import get_logger - -logger = get_logger(__name__) - -{% if use_step_params and configurable_dataset %} -class SklearnDataset(StrEnum): - """Built-in scikit-learn datasets.""" - wine = "wine" - iris = "iris" - breast_cancer = "breast_cancer" - -class DataLoaderStepParameters(BaseParameters): - """Parameters for the data loader step. - - This is an example of how to use step parameters to make your data loader - step configurable independently of the step code. This is useful for example - if you want to load different datasets or different versions of the same - dataset in your pipeline without having to change the step code. - """ - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # The name of the built-in scikit-learn dataset to load. - dataset: SklearnDataset = SklearnDataset.{{ sklearn_dataset_name }} - ### YOUR CODE ENDS HERE ### - - class Config: - """Pydantic config class. - - This is used to configure the behavior of Pydantic, the library used to - parse and validate step parameters. See the documentation for more - information: - - https://pydantic-docs.helpmanual.io/usage/model_config/ - - It is recommended to explicitly forbid extra parameters here to ensure - that the step parameters are always valid. - """ - extra = "forbid" - - -@step -def data_loader( - params: DataLoaderStepParameters, -) -> pd.DataFrame: - """Data loader step. - - This is an example of a data loader step that is usually the first step - in your pipeline. It reads data from an external source like a file, - database or 3rd party library, then formats it and returns it as a step - output artifact. - - This step is parameterized using the `DataLoaderStepParameters` class, which - allows you to configure the step independently of the step code, before - running it in a pipeline. In this example, the step can be configured to - load different built-in scikit-learn datasets. See the documentation for - more information: - - https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions - - Data loader steps should have caching disabled if they are not deterministic - (i.e. if they data they load from the external source can be different when - they are subsequently called, even if the step code and parameter values - don't change). - - Args: - params: Parameters for the data loader step. - - Returns: - The loaded dataset artifact. - """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Load the dataset indicated in the step parameters and format it as a - # pandas DataFrame - if params.dataset == SklearnDataset.wine: - dataset = load_wine(as_frame=True).frame - elif params.dataset == SklearnDataset.iris: - dataset = load_iris(as_frame=True).frame - elif params.dataset == SklearnDataset.breast_cancer: - dataset = load_breast_cancer(as_frame=True).frame - elif params.dataset == SklearnDataset.diabetes: - dataset = load_diabetes(as_frame=True).frame - logger.info(f"Loaded dataset {params.dataset.value}: %s", dataset.info()) - logger.info(dataset.head()) - ### YOUR CODE ENDS HERE ### - - return dataset -{% else %} -@step -def data_loader() -> Output( - dataset=pd.DataFrame, -): - """Data loader step. - - This is an example of a data loader step that is usually the first step - in your pipeline. It reads data from an external source like a file, - database or 3rd party library, then formats it and returns it as a step - output artifact. - - Data loader steps should have caching disabled if they are not deterministic - (i.e. if they data they load from the external source is different when - they are subsequently called, even if the step code doesn't change). - - As an alternative, try modelling the data source as a step parameter to make - your data loader deterministic and configurable without the need to change - the step implementation. See the documentation for more information: - - https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions - - Returns: - The loaded dataset artifact. - """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Load the {{ sklearn_dataset_name }} dataset and format it as a pandas DataFrame - dataset = load_{{ sklearn_dataset_name }}(as_frame=True).frame - dataset.info() - logger.info(dataset.head()) - ### YOUR CODE ENDS HERE ### - - return dataset -{% endif %} -{% if use_step_params %} -class DataProcessorStepParameters(BaseParameters): - """Parameters for the data processor step. - - This is an example of how to use step parameters to make your data processor - step configurable independently of the step code. This is useful for example - if you want to change the way your process data in your pipeline without - having to change the step code. - """ - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Whether to drop rows with missing values. - drop_na: bool = True - # Columns to drop from the dataset. - drop_columns: List[str] = [] - # Whether to normalize the data. - normalize: bool = True - ### YOUR CODE ENDS HERE ### - - class Config: - """Pydantic config class. - - This is used to configure the behavior of Pydantic, the library used to - parse and validate step parameters. See the documentation for more - information: - - https://pydantic-docs.helpmanual.io/usage/model_config/ - - It is recommended to explicitly forbid extra parameters here to ensure - that the step parameters are always valid. - """ - extra = "forbid" - - -@step -def data_processor( - params: DataProcessorStepParameters, - dataset: pd.DataFrame, -) -> pd.DataFrame: - """Data processor step. - - This is an example of a data processor step that prepares the data so that - it is suitable for model training. It takes in a dataset as an input step - artifact and performs any necessary preprocessing steps like cleaning, - feature engineering, feature selection, etc. It then returns the processed - dataset as a step output artifact. - - This step is parameterized using the `DataProcessorStepParameters` class, - which allows you to configure the step independently of the step code, - before running it in a pipeline. In this example, the step can be configured - to perform or skip different preprocessing steps (e.g. dropping rows with - missing values, dropping columns, normalizing the data, etc.). See the - documentation for more information: - - https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions - - Args: - params: Parameters for the data processor step. - dataset: The dataset artifact to process. - - Returns: - The processed dataset artifact. - """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - if params.drop_na: - # Drop rows with missing values - dataset = dataset.dropna() - if params.drop_columns: - # Drop columns - dataset = dataset.drop(columns=params.drop_columns) - if params.normalize: - # Normalize the data - target = dataset.pop('target') - dataset = (dataset - dataset.mean()) / dataset.std() - dataset['target'] = target - ### YOUR CODE ENDS HERE ### - - return dataset - - -class DataSplitterStepParameters(BaseParameters): - """Parameters for the data splitter step. - - This is an example of how to use step parameters to make your data splitter - step configurable independently of the step code. This is useful for example - if you want to change the ratio for the data split or if you want to - control the random seed used for the split without having to change the step - code. - """ - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # The proportion of the dataset to include in the test split. - test_size: float = 0.2 - # The random seed to use for the split. - random_state: int = 42 - # Whether to shuffle the dataset before splitting. - shuffle: bool = True - # Whether to stratify the split. - stratify: bool = True - ### YOUR CODE ENDS HERE ### - - class Config: - """Pydantic config class. - - This is used to configure the behavior of Pydantic, the library used to - parse and validate step parameters. See the documentation for more - information: - - https://pydantic-docs.helpmanual.io/usage/model_config/ - - It is recommended to explicitly forbid extra parameters here to ensure - that the step parameters are always valid. - """ - extra = "forbid" - - -@step -def data_splitter( - params: DataSplitterStepParameters, - dataset: pd.DataFrame, -) -> Output( - train_set=pd.DataFrame, - test_set=pd.DataFrame, -): - """Data splitter step. - - This is an example of a data splitter step that splits the dataset into - training and dev subsets to be used for model training and evaluation. It - takes in a dataset as an step input artifact and returns the training and - dev subsets as two separate step output artifacts. - - Data splitter steps should have a deterministic behavior, i.e. they should - use a fixed random seed and always return the same split when called with - the same input dataset. This is to ensure reproducibility of your pipeline - runs. - - This step is parameterized using the `DataSplitterStepParameters` class, - which allows you to configure the step independently of the step code, - before running it in a pipeline. In this example, the step can be configured - to use a different random seed, change the split ratio, or control whether - to shuffle or stratify the split. See the documentation for more - information: - - https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions - - Args: - params: Parameters for the data splitter step. - dataset: The dataset to split. - - Returns: - The resulting training and dev subsets. - """ - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Split the dataset into training and dev subsets - train_set, test_set = train_test_split( - dataset, - test_size=params.test_size, - shuffle=params.shuffle, - stratify=dataset['target'] if params.stratify else None, - random_state=params.random_state, - ) - ### YOUR CODE ENDS HERE ### - - return train_set, test_set -{% else %} -@step -def data_processor(dataset: pd.DataFrame) -> pd.DataFrame: - """Data processor step. - - This is an example of a data processor step that prepares the data so that - it is suitable for model training. It takes in a dataset as an step input - artifact and performs any necessary preprocessing steps like cleaning, feature - engineering, feature selection, etc. The processed dataset is then returned - as an step output artifact. - - Args: - dataset: The dataset artifact to process. - - Returns: - The processed dataset artifact. - """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Drop rows with missing values - dataset = dataset.dropna() - # Normalize the data - target = dataset.pop('target') - dataset = (dataset - dataset.mean()) / dataset.std() - dataset['target'] = target - ### YOUR CODE ENDS HERE ### - - return dataset - - -@step -def data_splitter(dataset: pd.DataFrame) -> Output( - train_set=pd.DataFrame, - test_set=pd.DataFrame, -): - """Data splitter step. - - This is an example of a data splitter step that splits the dataset into - training and dev subsets to be used for model training and evaluation. It - takes in a dataset as a step input artifact and returns the training and - dev subsets as two separate step output artifacts. - - Data splitter steps should have a deterministic behavior, i.e. they should - use a fixed random seed and always return the same split when called with - the same input dataset. This is to ensure reproducibility of your pipeline - runs. - - As an alternative to hard-coding the seed in the step code, try modelling - the random seed as a step parameter to make your data loader deterministic. - See the documentation for more information: - - https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions - - Args: - dataset: The dataset to split. - - Returns: - The resulting training and dev subsets. - """ - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Split the dataset into training and dev subsets - train_set, test_set = train_test_split( - dataset, - test_size=0.2, - shuffle=True, - stratify=dataset['target'], - random_state=42 - ) - ### YOUR CODE ENDS HERE ### - - return train_set, test_set -{%- endif %} diff --git a/starter/template/steps/model_trainers.py b/starter/template/steps/model_trainers.py deleted file mode 100644 index a8ae7b4..0000000 --- a/starter/template/steps/model_trainers.py +++ /dev/null @@ -1,499 +0,0 @@ -{% include 'templates/license_header' %} - -{%- if use_step_params %} -from typing import Any, Dict -{%- endif %} -import pandas as pd - -from sklearn.base import ClassifierMixin -{%- if use_step_params and configurable_model %} -from sklearn.linear_model import LogisticRegression -from sklearn.svm import SVC, LinearSVC -from sklearn.ensemble import RandomForestClassifier -from sklearn.neighbors import KNeighborsClassifier -from sklearn.naive_bayes import GaussianNB -from sklearn.linear_model import Perceptron -from sklearn.linear_model import SGDClassifier -from sklearn.tree import DecisionTreeClassifier -{%- elif sklearn_model_name == 'LogisticRegression' %} -from sklearn.linear_model import LogisticRegression -{%- elif sklearn_model_name == 'SVC' %} -from sklearn.svm import SVC -{%- elif sklearn_model_name == 'LinearSVC' %} -from sklearn.svm import LinearSVC -{%- elif sklearn_model_name == 'RandomForestClassifier' %} -from sklearn.ensemble import RandomForestClassifier -{%- elif sklearn_model_name == 'KNeighborsClassifier' %} -from sklearn.neighbors import KNeighborsClassifier -{%- elif sklearn_model_name == 'GaussianNB' %} -from sklearn.naive_bayes import GaussianNB -{%- elif sklearn_model_name == 'Perceptron' %} -from sklearn.linear_model import Perceptron -{%- elif sklearn_model_name == 'SGDClassifier' %} -from sklearn.linear_model import SGDClassifier -{%- elif sklearn_model_name == 'DecisionTreeClassifier' %} -from sklearn.tree import DecisionTreeClassifier -{%- endif %} -{% if use_custom_artifacts %} -from artifacts import ModelMetadata -from materializers import ModelMetadataMaterializer -{%- endif %} - -{%- if use_step_params %} -from zenml.enums import StrEnum -{%- endif %} -from zenml.logger import get_logger -from zenml.steps import ( -{%- if use_step_params %} - BaseParameters, -{%- endif %} - Output, - step, -) - -logger = get_logger(__name__) - -{% if use_step_params %} -{%- if configurable_model %} -class SklearnClassifierModel(StrEnum): - """Scikit-learn models used for classification.""" - LogisticRegression = "LogisticRegression" - SVC = "SVC" - LinearSVC = "LinearSVC" - RandomForestClassifier = "RandomForestClassifier" - KNeighborsClassifier = "KNeighborsClassifier" - GaussianNB = "GaussianNB" - Perceptron = "Perceptron" - SGDClassifier = "SGDClassifier" - DecisionTreeClassifier = "DecisionTreeClassifier" -{%- endif %} - -class ModelTrainerStepParameters(BaseParameters): - """Parameters for the model trainer step. - - This is an example of how to use step parameters to make your model trainer - step configurable independently of the step code. This is useful for example - if you want to try out different models in your pipeline without having to - change the step code. - """ - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### -{%- if configurable_model %} - # The name of the scikit-learn classifier model to train. - model: SklearnClassifierModel = SklearnClassifierModel.{{ sklearn_model_name }} -{%- endif %} - # The random seed to use for reproducibility. - random_state: int = 42 - # The parameters to pass to the model constructor. - hyperparameters: Dict[str, Any] = {} - ### YOUR CODE ENDS HERE ### - - class Config: - """Pydantic config class. - - This is used to configure the behavior of Pydantic, the library used to - parse and validate step parameters. See the documentation for more - information: - - https://pydantic-docs.helpmanual.io/usage/model_config/ - - It is recommended to explicitly forbid extra parameters here to ensure - that the step parameters are always valid. - """ - extra = "forbid" - - -@step -def model_trainer( - params: ModelTrainerStepParameters, - train_set: pd.DataFrame, -) -> ClassifierMixin: - """Configure and train a model on the training dataset. - - This is an example of a model training step that takes in a dataset artifact - previously loaded and pre-processed by other steps in your pipeline, then - configures and trains a model on it. The model is then returned as a step - output artifact. - - Model training steps should have caching disabled if they are not - deterministic (i.e. if the model training involve some random processes - like initializing weights or shuffling data that are not controlled by - setting a fixed random seed). This example step ensures the outcome is - deterministic by initializing the model with a fixed random seed. - - This step is parameterized using the `ModelTrainerStepParameters` class, - which allows you to configure the step independently of the step code, -{%- if configurable_model %} - before running it in a pipeline. In this example, the step can be configured - to use a different model, change the random seed, or pass different - hyperparameters to the model constructor. See the documentation for more - information: -{%- else %} - before running it in a pipeline. In this example, the step can be configured - to change the random seed, or pass different hyperparameters to the model - constructor. See the documentation for more information: -{%- endif %} - - https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions - - Args: - params: The parameters for the model trainer step. - train_set: The training data set artifact. - - Returns: - The trained model artifact. - """ - X_train = train_set.drop("target", axis=1) - Y_train = train_set["target"] - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Initialize the model with the hyperparameters indicated in the step - # parameters and train it on the training set. -{%- if configurable_model %} - if params.model == SklearnClassifierModel.LogisticRegression: - model = LogisticRegression( - random_state=params.random_state, - **params.hyperparameters, - ) - elif params.model == SklearnClassifierModel.SVC: - model = SVC( - random_state=params.random_state, - **params.hyperparameters, - ) - elif params.model == SklearnClassifierModel.LinearSVC: - model = LinearSVC( - random_state=params.random_state, - **params.hyperparameters, - ) - elif params.model == SklearnClassifierModel.RandomForestClassifier: - model = RandomForestClassifier( - random_state=params.random_state, - **params.hyperparameters, - ) - elif params.model == SklearnClassifierModel.KNeighborsClassifier: - model = KNeighborsClassifier(**params.hyperparameters) - elif params.model == SklearnClassifierModel.GaussianNB: - model = GaussianNB(**params.hyperparameters) - elif params.model == SklearnClassifierModel.Perceptron: - model = Perceptron( - random_state=params.random_state, - **params.hyperparameters, - ) - elif params.model == SklearnClassifierModel.SGDClassifier: - model = SGDClassifier( - random_state=params.random_state, - **params.hyperparameters - ) - elif params.model == SklearnClassifierModel.DecisionTreeClassifier: - model = DecisionTreeClassifier( - random_state=params.random_state, - **params.hyperparameters, - ) -{%- else %} -{%- if not sklearn_model_name in [ 'KNeighborsClassifier', 'GaussianNB' ] %} - model = {{ sklearn_model_name }}(random_state=42, **params.hyperparameters) -{%- else %} - model = {{ sklearn_model_name }}(**params.hyperparameters) -{%- endif %} -{%- endif %} - - logger.info(f"Training model {model}...") - model.fit(X_train, Y_train) - ### YOUR CODE ENDS HERE ### - - return model - - -class ModelEvaluatorStepParameters(BaseParameters): - """Parameters for the model evaluator step. - - This is an example of how to use step parameters to make your model - evaluator step configurable independently of the step code. This is useful - for example if you want to control the acceptable thresholds for your model - metrics in your pipeline without having to change the step code. - """ - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # The minimum acceptable accuracy on the train set. - min_train_accuracy: float = 0.8 - # The minimum acceptable accuracy on the test set. - min_test_accuracy: float = 0.8 - # The maximum acceptable difference between train and test accuracy. - max_train_test_accuracy_difference: float = 0.1 - # Whether to raise an error and fail the pipeline step if the model - # performance does not meet the minimum criteria. - fail_on_warnings: bool = False - ### YOUR CODE ENDS HERE ### - - class Config: - """Pydantic config class. - - This is used to configure the behavior of Pydantic, the library used to - parse and validate step parameters. See the documentation for more - information: - - https://pydantic-docs.helpmanual.io/usage/model_config/ - - It is recommended to explicitly forbid extra parameters here to ensure - that the step parameters are always valid. - """ - extra = "forbid" - - -@step -{%- if use_custom_artifacts -%} -(output_materializers=ModelMetadataMaterializer) -{%- endif %} -def model_evaluator( - params: ModelEvaluatorStepParameters, - model: ClassifierMixin, - train_set: pd.DataFrame, - test_set: pd.DataFrame, -{%- if use_custom_artifacts %} -) -> ModelMetadata: -{%- else %} -) -> Output( - train_accuracy=float, - test_accuracy=float, -): -{%- endif %} - """Evaluate a trained model. - - This is an example of a model evaluation step that takes in a model artifact - previously trained by another step in your pipeline, and a training - and validation data set pair which it uses to evaluate the model's -{%- if use_custom_artifacts %} - performance. The step returns a custom type of artifact containing metadata - about the trained model. Note that using a custom data type also requires - implementing a custom materializer for it. See the `materializer` folder - or the following ZenML docs for more information about materializers: - - https://docs.zenml.io/user-guide/advanced-guide/artifact-management/handle-custom-data-types -{%- else %} - performance. The model metrics are then returned as step output artifacts - (in this case, the model accuracy on the train and test set). -{%- endif %} - - The suggested step implementation also outputs some warnings if the model - performance does not meet some minimum criteria. This is just an example of - how you can use steps to monitor your model performance and alert you if - something goes wrong. As an alternative, you can raise an exception in the - step to force the pipeline run to fail early and all subsequent steps to - be skipped. - - This step is parameterized using the `ModelEvaluatorStepParameters` class, - which allows you to configure the step independently of the step code, - before running it in a pipeline. In this example, the step can be configured - to use different values for the acceptable model performance thresholds and - to control whether the pipeline run should fail if the model performance - does not meet the minimum criteria. See the documentation for more - information: - - https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions - - Args: - params: The parameters for the model evaluator step. - model: The pre-trained model artifact. - train_set: The training data set artifact. - test_set: The test data set artifact. - - Returns: -{%- if use_custom_artifacts %} - A model metadata artifact. -{%- else %} - The model accuracy on the train and test set. -{%- endif %} - """ - X_train = train_set.drop("target", axis=1) - Y_train = train_set["target"] - X_test = test_set.drop("target", axis=1) - Y_test = test_set["target"] - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Calculate the model accuracy on the train and test set - train_acc = model.score(X_train, Y_train) - logger.info(f"Train accuracy: {train_acc}") - test_acc = model.score(X_test, Y_test) - logger.info(f"Test accuracy: {test_acc}") - - messages = [] - if train_acc < params.min_train_accuracy: - messages.append( - f"Train accuracy is below {params.min_train_accuracy*100}% !" - ) - if test_acc < params.min_test_accuracy: - messages.append( - f"Test accuracy is below {params.min_test_accuracy*100}% !" - ) - if test_acc - train_acc > params.max_train_test_accuracy_difference: - messages.append( - f"Train accuracy is more than " - f"{params.max_train_test_accuracy_difference*100}% " - f"higher than test accuracy. The model is overfitting the training " - f"dataset." - ) - if params.fail_on_warnings and messages: - raise RuntimeError( - "Model performance did not meet the minimum criteria:\n" + - "\n".join(messages) - ) - else: - for message in messages: - logger.warning(message) -{% if use_custom_artifacts %} - model_metadata = ModelMetadata() - model_metadata.collect_metadata( - model = model, - train_accuracy = train_acc, - test_accuracy = test_acc, - ) - return model_metadata -{%- else %} - return train_acc, test_acc -{%- endif %} - ### YOUR CODE ENDS HERE ### - -{% else %} -@step -def model_trainer( - train_set: pd.DataFrame, -) -> ClassifierMixin: - """Configure and train a model on the training dataset. - - This is an example of a model training step that takes in a dataset artifact - previously loaded and pre-processed by other steps in your pipeline, then - configures and trains a model on it. The model is then returned as a step - output artifact. - - Model training steps should have caching disabled if they are not - deterministic (i.e. if the model training involve some random processes - like initializing weights or shuffling data that are not controlled by - setting a fixed random seed). This example step ensures the outcome is - deterministic by initializing the model with a fixed random seed. - - As an alternative, try modelling the random seed as a step parameter to make - your model training steps deterministic. Another way step parameters may be - useful here is to configure the model hyperparameters rather than - hard-coding them in the step implementation. See the documentation for more - information: - - https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions - - Args: - train_set: The training data set artifact. - - Returns: - The trained model artifact. - """ - X_train = train_set.drop("target", axis=1) - Y_train = train_set["target"] - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Train a model on the training set. -{%- if not sklearn_model_name in [ 'KNeighborsClassifier', 'GaussianNB' ] %} - model = {{ sklearn_model_name }}(random_state=42) -{%- else %} - model = {{ sklearn_model_name }}() -{%- endif %} - logger.info(f"Training model {model}...") - - model.fit(X_train.to_numpy(), Y_train.to_numpy()) - ### YOUR CODE ENDS HERE ### - - return model - - -@step -{%- if use_custom_artifacts -%} -(output_materializers=ModelMetadataMaterializer) -{%- endif %} -def model_evaluator( - model: ClassifierMixin, - train_set: pd.DataFrame, - test_set: pd.DataFrame, -{%- if use_custom_artifacts %} -) -> ModelMetadata: -{%- else %} -) -> Output( - train_accuracy=float, - test_accuracy=float, -): -{%- endif %} - """Evaluate a trained model. - - This is an example of a model evaluation step that takes in a model artifact - previously trained by another step in your pipeline, and a training - and validation data set pair which it uses to evaluate the model's -{%- if use_custom_artifacts %} - performance. The step returns a custom type of artifact containing metadata - about the trained model. Note that using a custom data type also requires - implementing a custom materializer for it. See the `materializer` folder - or the following ZenML docs for more information about materializers: - - https://docs.zenml.io/user-guide/advanced-guide/artifact-management/handle-custom-data-types -{%- else %} - performance. The model metrics are then returned as step output artifacts - (in this case, the model accuracy on the train and test set). -{%- endif %} - - The suggested step implementation also outputs some warnings if the model - performance does not meet some minimum criteria. This is just an example of - how you can use steps to monitor your model performance and alert you if - something goes wrong. As an alternative, you can raise an exception in the - step to force the pipeline run to fail early and all subsequent steps to - be skipped. - - The threshold performance values used to evaluate the model are hard-coded - in this example. As an alternative, try modelling them as step parameters to - make your model evaluation steps more flexible. See the documentation for - more information: - - https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions - - Args: - model: The pre-trained model artifact. - train_set: The training data set artifact. - test_set: The test data set artifact. - - Returns: -{%- if use_custom_artifacts %} - A model metadata artifact. -{%- else %} - The model accuracy on the train and test set. -{%- endif %} - """ - X_train = train_set.drop("target", axis=1) - Y_train = train_set["target"] - X_test = test_set.drop("target", axis=1) - Y_test = test_set["target"] - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Calculate the model accuracy on the train and test set - train_acc = model.score(X_train, Y_train) - logger.info(f"Train accuracy: {train_acc}") - test_acc = model.score(X_test, Y_test) - logger.info(f"Train accuracy: {test_acc}") - - if train_acc < 0.8: - logger.warning("Train accuracy is below 80% !") - if test_acc < 0.8: - logger.warning("Test accuracy is below 80% !") - if test_acc - train_acc > 0.1: - logger.warning( - "Train accuracy is more than 10% higher than test accuracy. The " - "model is overfitting the training dataset." - ) -{%- if use_custom_artifacts %} - model_metadata = ModelMetadata() - model_metadata.collect_metadata( - model = model, - train_accuracy = train_acc, - test_accuracy = test_acc, - ) - return model_metadata -{%- else %} - return train_acc, test_acc -{%- endif %} - ### YOUR CODE ENDS HERE ### - -{%- endif %} diff --git a/starter/template/{% if open_source_license %}LICENSE{% endif %} b/starter/template/{% if open_source_license %}LICENSE{% endif %} deleted file mode 100644 index 3de332b..0000000 --- a/starter/template/{% if open_source_license %}LICENSE{% endif %} +++ /dev/null @@ -1 +0,0 @@ -{% include 'template/license' %} \ No newline at end of file diff --git a/starter/template/{% if use_custom_artifacts %}artifacts{% endif %}/__init__.py b/starter/template/{% if use_custom_artifacts %}artifacts{% endif %}/__init__.py deleted file mode 100644 index ff9f4ab..0000000 --- a/starter/template/{% if use_custom_artifacts %}artifacts{% endif %}/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -{% include 'templates/license_header' %} - -from artifacts.model_metadata import ModelMetadata - -__all__ = [ - "ModelMetadata", -] diff --git a/starter/template/{% if use_custom_artifacts %}artifacts{% endif %}/model_metadata.py b/starter/template/{% if use_custom_artifacts %}artifacts{% endif %}/model_metadata.py deleted file mode 100644 index 39d0082..0000000 --- a/starter/template/{% if use_custom_artifacts %}artifacts{% endif %}/model_metadata.py +++ /dev/null @@ -1,75 +0,0 @@ -{% include 'templates/license_header' %} -from typing import Any, Dict -from sklearn.base import ClassifierMixin - -class ModelMetadata: - """A custom artifact that stores model metadata. - - A model metadata object gathers together information that is collected - about the model being trained in a training pipeline run. This data type - is used for one of the artifacts returned by the model evaluation step. - - This is an example of a *custom artifact data type*: a type returned by - one of the pipeline steps that isn't natively supported by the ZenML - framework. Custom artifact data types are a common occurrence in ZenML, - usually encountered in one of the following circumstances: - - - you use a third party library that is not covered as a ZenML integration - and you model one or more step artifacts from the data types provided by - this library (e.g. datasets, models, data validation profiles, model - evaluation results/reports etc.) - - you need to use one of your own data types as a step artifact and it is - not one of the basic Python artifact data types supported by the ZenML - framework (e.g. str, int, float, dictionaries, lists, etc.) - - you want to extend one of the artifact data types already natively - supported by ZenML (e.g. pandas.DataFrame or sklearn.ClassifierMixin) - to customize it with your own data and/or behavior. - - In all above cases, the ZenML framework lacks one very important piece of - information: it doesn't "know" how to convert the data into a format that - can be saved in the artifact store (e.g. on a filesystem or persistent - storage service like S3 or GCS). Saving and loading artifacts from the - artifact store is something called "materialization" in ZenML terms and - you need to provide this missing information in the form of a custom - materializer - a class that implements loading/saving artifacts from/to - the artifact store. Take a look at the `materializers` folder to see how a - custom materializer is implemented for this artifact data type. - - More information about custom step artifact data types and ZenML - materializers is available in the docs: - - https://docs.zenml.io/user-guide/advanced-guide/artifact-management/handle-custom-data-types - - """ - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - def __init__(self) -> None: - self.metadata: Dict[str, Any] = {} - - def collect_metadata( - self, - model: ClassifierMixin, - train_accuracy: float, - test_accuracy: float, - ) -> None: - """Gathers and stores metadata about a model. - - Args: - model: trained model - train_accuracy: model accuracy measured on the train set - test_accuracy: model accuracy measured on the test set - """ - self.metadata = dict( - model_type = model.__class__.__name__, - train_accuracy = train_accuracy, - test_accuracy = test_accuracy, - ) - - def print_report(self) -> None: - """Print a user-friendly report from the model metadata.""" - print(f""" -Model type: {self.metadata.get('model_type')} -Accuracy on train set: {self.metadata.get('train_accuracy')} -Accuracy on test set: {self.metadata.get('test_accuracy')} -""") - ### YOUR CODE ENDS HERE ### diff --git a/starter/template/{% if use_custom_artifacts %}materializers{% endif %}/__init__.py b/starter/template/{% if use_custom_artifacts %}materializers{% endif %}/__init__.py deleted file mode 100644 index 07569a9..0000000 --- a/starter/template/{% if use_custom_artifacts %}materializers{% endif %}/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -{% include 'templates/license_header' %} - -from materializers.model_metadata_materializer import ModelMetadataMaterializer - -__all__ = [ - "ModelMetadataMaterializer", -] diff --git a/starter/template/{% if use_custom_artifacts %}materializers{% endif %}/model_metadata_materializer.py b/starter/template/{% if use_custom_artifacts %}materializers{% endif %}/model_metadata_materializer.py deleted file mode 100644 index 7f6e77e..0000000 --- a/starter/template/{% if use_custom_artifacts %}materializers{% endif %}/model_metadata_materializer.py +++ /dev/null @@ -1,113 +0,0 @@ -{% include 'templates/license_header' %} -import os -from typing import Type - -import yaml - -from artifacts import ModelMetadata - -from zenml.enums import ArtifactType -from zenml.io import fileio -from zenml.materializers.base_materializer import BaseMaterializer - - -class ModelMetadataMaterializer(BaseMaterializer): - """Custom materializer for the `ModelMetadata` artifact data type. - - A materializer instructs ZenML about how to store (de-materialize) - the information from an artifact data type (ModelMetadata in this example) - into the artifact store and, conversely, loading (materializing) it back - into the artifact data type. Take a look at the `artifacts` folder for - additional information about custom artifact data types. - - When using custom data types for your artifacts, you must also supply - a custom materializer class that implements two simple I/O operations: - - - saving an artifact object to the the artifact store - - loading an artifact object from the artifact store - - For both of these operations, the ZenML framework supplies a URI - (`self.uri`) identifying the location in the artifact store where the - artifact is/should be located. Implementing them means transferring - the in-memory data stored in the artifact to the provided URI and - vice-versa. ZenML puts at your disposal a series of I/O utilities capable of - universally handling these URLs in the `zenml.io.fileio`, - `zenml.utils.io_utils` and `zenml.utils.yaml_utils` Python modules. - - More information about custom step artifact data types and ZenML - materializers is available in the docs: - - https://docs.zenml.io/user-guide/advanced-guide/artifact-management/handle-custom-data-types - - """ - - # This needs to point to the artifact data type(s) associated with the - # materializer - ASSOCIATED_TYPES = (ModelMetadata,) - ASSOCIATED_ARTIFACT_TYPE = ArtifactType.STATISTICS - - def save(self, model_metadata: ModelMetadata) -> None: - """Save (de-materialize) a model metadata artifact to the artifact store. - - This operation takes the information in the artifact (`model_metadata`) - and stores it in the artifact store at the `self.uri` URI location. - - This is usually implemented in one of two ways: - - - shown here: using the `zenml.io.fileio.open()` function or one of the - `zenml.utils.yaml_utils` wrappers to write the artifact data - directly to a file in the artifact store, similar to how you would use - the standard `open()` Python I/O. - - saving the artifact to a temporary location on your local filesystem - and then copying it to the artifact store using the `zenml.io.fileio` - functions (e.g. `mkdir()`, `copy()`). This last method is used in - cases where artifact data types come from 3rd party libraries that are - not directly aware of ZenML's I/O and cannot be modified to use it. - - Args: - model_metadata: model metadata object to save to the artifact store. - """ - super().save(model_metadata) - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Dump the model metadata directly into the artifact store as a YAML file - with fileio.open(os.path.join(self.uri, 'model_metadata.yaml'), 'w') as f: - f.write(yaml.dump(model_metadata.metadata)) - ### YOUR CODE ENDS HERE ### - - def load(self, data_type: Type[ModelMetadata]) -> ModelMetadata: - """Load (materialize) a model metadata artifact from the artifact store. - - This operation takes the `self.uri` URI location in the artifact store - and loads the information present at that location in an artifact - object (`ModelMetadata`). - - This is usually implemented in one of two ways: - - - shown here: using the `zenml.io.fileio.open()` function or one of the - `zenml.utils.yaml_utils` wrappers to read the artifact data - directly from a file in the artifact store, similar to how you would use - the standard `open()` Python I/O. - - copying the artifact from the artifact store to a temporary location - on your local filesystem using the `zenml.io.fileio` functions (e.g. - `copy()`) and loading the information from the local file into the - artifact instance. This last method is used in cases where artifact data - types come from 3rd party libraries that are not directly aware of - ZenML's I/O and cannot be modified to use it. - - Args: - data_type: the artifact data type (model metadata) - - Returns: - A model metadata artifact instance materialized from the artifact - store. - """ - super().load(data_type) - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - with fileio.open(os.path.join(self.uri, 'data.txt'), 'r') as f: - model_metadata = ModelMetadata() - model_metadata.metadata = yaml.safe_load(f.read()) - ### YOUR CODE ENDS HERE ### - - return model_metadata diff --git a/starter/template/{{ _copier_conf.answers_file }} b/starter/template/{{ _copier_conf.answers_file }} deleted file mode 100644 index e0f7470..0000000 --- a/starter/template/{{ _copier_conf.answers_file }} +++ /dev/null @@ -1,2 +0,0 @@ -# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY -{{ _copier_answers|to_nice_yaml }} \ No newline at end of file diff --git a/template/README.md b/template/README.md index aa76203..56ec468 100644 --- a/template/README.md +++ b/template/README.md @@ -1,53 +1,103 @@ -# 📜 ZenML Starter Project Template - -What would you need to get a quick understanding of the ZenML framework and -start building your own ML pipelines? The answer is a simple project template -to cover the basics of ZenML: a collection of steps and pipelines, a stack -configuration and, to top it all off, a simple but useful CLI. This is exactly -what the ZenML starter template is all about. - -This project template is a good starting point for anyone starting out with -ZenML. It showcases the following fundamental ZenML concepts in a relatable -ML context: - -* designing [ZenML pipeline steps](https://docs.zenml.io/user-guide/starter-guide#pipelines-and-steps) -in general, but also particularly useful for the following applications: - * data ingestion, data transformation and data train/test splitting - * model training and evaluation -* using [step parameterization and caching](https://docs.zenml.io/user-guide/starter-guide/cache-previous-executions) -to design flexible and reusable steps -* using [custom data types for your artifacts and writing materializers for them](https://docs.zenml.io/user-guide/advanced-guide/artifact-management/handle-custom-data-types) -* constructing and running a [ZenML pipeline](https://docs.zenml.io/user-guide/starter-guide#pipelines-and-steps) -* accessing ZenML pipeline run artifacts in [the post-execution phase](https://docs.zenml.io/user-guide/starter-guide/fetch-runs-after-execution), -after a pipeline run has concluded -* best practices for implementing and running reproducible and reliable ML -pipelines with ZenML - -In addition to that, the entire project is implemented with the [scikit-learn](https://scikit-learn.org) -library and showcases how to use ZenML with a popular ML framework. It makes -heavy use of the tabular datasets and classification models that scikit-learn -provides, but the concepts and patterns it showcases are applicable to any -other ML framework. - -## 📃 Template Parameters - -| Parameter | Description | Default | -|-----------|-------------|---------| -| Name | The name of the person/entity holding the copyright | ZenML GmbH | -| Email | The email of the person/entity holding the copyright | info@zenml.io | -| Project Name | Short name for your project | ZenML Starter | -| Project Slug | A slugified version of the project name (automatically generated from the project name) | zenml_starter | -| Project Version | The version of your project | 0.1.0 | -| Project License | The license under which your project will be released (one of `Apache Software License 2.0`, `MIT license`, `BSD license`, `ISC license`, `GNU General Public License v3` and `Not open source`) | Apache Software License 2.0 | -| Auto-Format | Whether to automatically format and cleanup the generated code with [black](https://black.readthedocs.io/), [ruff](https://beta.ruff.rs/docs/) and [autoflake](https://github.com/PyCQA/autoflake) (yes/no). You also need to have these Python packages installed for this option to take effect. | no | -| Use ZenML Step Params | Whether to showcase using parameters for the ZenML steps in the project (yes/no). If selected, all generated ZenML pipeline steps will be parameterized. | yes | -| Use ZenML Materializers | Whether to showcase using custom data types for the ZenML artifacts in the project (yes/no). If selected, the generated code will demonstrate the use of custom artifact data types and materializers in the generated steps and pipelines. | yes | -| UCI Dataset | The name of the UCI provided scikit-learn dataset to use in the project (one of `Iris`, `Breast Cancer` and `Wine`) | Wine | -| Scikit-learn Model | The name of the scikit-learn classifier model to use in the project (one of `Logistic Regression`, `SVC`, `Linear SVC`, `Random Forest`, `KNN`, `Gaussian NB`, `Perceptron`, `SGD Classifier` and `Decision Tree`) | Logistic Regression | -| Runtime Configurable Dataset | Whether to make the dataset a configurable parameter of the data loader step and CLI (yes/no). Only has effect if the step parameters were also selected. | yes | -| Runtime Configurable Model | Whether to make the model a configurable parameter of the model trainer step and CLI (yes/no). Only has effect if the step parameters were also selected. | yes | - -## 🚀 Generate a ZenML Project - -Please see [the main README page](../README.md) for instructions on how to -generate a ZenML project from this template. +# :running: MLOps 101 with ZenML + +Build your first MLOps pipelines with ZenML. + +## :earth_americas: Overview + +This starter project demonstrates a complete minimalist MLOps journey. It features: + +- A feature engineering pipeline that loads data and prepares it for training. +- A training pipeline that loads the preprocessed dataset and trains a model. +- A batch inference pipeline that runs predictions on the trained model with new data. + +Along the way we will also show you how to: + +- Structure your code into MLOps pipelines +- Automatically version, track, and cache data, models, and other artifacts +- Transition your ML models from development to production + +## :cloud: Run on Colab + +You can use Google Colab to see ZenML in action, no signup / installation required! + +Open In Colab + +## :computer: Run Locally + +To run locally, install ZenML and pull this quickstart: + +```shell +# Install ZenML +pip install "zenml[server]" + +# clone the ZenML repository +git clone https://github.com/zenml-io/zenml.git +cd zenml/examples/quickstart +``` + +### :arrow_forward: Run Locally +Now we're ready to start. You have two options for running the quickstart locally: + +#### Option 1 (*Recommended*) - Interactively explore the quickstart using Jupyter Notebook: +```bash +pip install notebook +jupyter notebook +# open notebooks/quickstart.ipynb +``` + +#### Option 2 - Execute the whole ML pipeline from a Python script: +```bash +# Install required zenml integrations +zenml integration install sklearn -y + +# Initialize ZenML +zenml init + +# Start the ZenServer to enable dashboard access +zenml up + +# Run the feature engineering pipeline +python run.py --feature-pipeline + +# Run the training pipeline +python run.py --training-pipeline + +# Run the training pipeline with versioned artifacts +python run.py --training-pipeline --train-dataset-version-name=1 --test-dataset-version-name=1 + +# Run the inference pipeline +python run.py --inference-pipeline +``` + +## :dart: Dashboard + +You can also take a look at our **dashboard** where you can inspect the quickstart +pipeline run and much more. Simply execute: + +```shell +# only once you've already run `zenml up` +zenml show +``` + +## :sponge: Clean up + +To clean up, simply spin down the ZenML server. + +```shell +zenml down +``` + +## :bulb: Learn More + +If you want to learn more about ZenML as a tool, then the +[:page_facing_up: **ZenML Docs**](https://docs.zenml.io/) are the perfect place +to get started. + +Already have an MLOps stack in mind? ZenML most likely has +[**:link: Integrations**](https://docs.zenml.io/stacks-and-components/component-guide) +for whatever tools you plan to use. + +Also, make sure to join our + Slack + Slack Community + to become part of the ZenML family! \ No newline at end of file diff --git a/template/run.ipynb b/template/run.ipynb index 456778e..f26233b 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -1,26 +1,452 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Intro to MLOps using ZenML\n", + "\n", + "## 🌍 Overview\n", + "\n", + "This repository is a minimalistic MLOps project intended as a starting point to learn how to put ML workflows in production. It features: \n", + "\n", + "- A feature engineering pipeline that loads data and prepares it for training.\n", + "- A training pipeline that loads the preprocessed dataset and trains a model.\n", + "- A batch inference pipeline that runs predictions on the trained model with new data.\n", + "\n", + "Follow along this notebook to understand how you can use ZenML to productionalize your ML workflows!\n", + "\n", + "\"Pipelines" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run on Colab\n", + "\n", + "You can use Google Colab to see ZenML in action, no signup / installation\n", + "required!\n", + "\n", + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](\n", + "https://colab.research.google.com/github/zenml-io/zenml/blob/main/examples/quickstart/run.ipynb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 👶 Step 0. Install Requirements\n", + "\n", + "Let's install ZenML to get started. First we'll install the latest version of\n", + "ZenML as well as the `sklearn` integration of ZenML:" + ] + }, { "cell_type": "code", - "execution_count": null, - "id": "081d5616", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: zenml[server] in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (0.50.0)\n", + "Requirement already satisfied: alembic<1.9.0,>=1.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (1.8.1)\n", + "Requirement already satisfied: azure-mgmt-resource>=21.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (23.0.1)\n", + "Requirement already satisfied: bcrypt==4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (4.0.1)\n", + "Requirement already satisfied: click<8.1.4,>=8.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (8.1.3)\n", + "Requirement already satisfied: click-params<0.4.0,>=0.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.3.0)\n", + "Requirement already satisfied: cloudpickle<3,>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (2.2.1)\n", + "Requirement already satisfied: distro<2.0.0,>=1.6.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (1.8.0)\n", + "Requirement already satisfied: docker<6.2.0,>=6.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (6.1.3)\n", + "Requirement already satisfied: gitpython<4.0.0,>=3.1.18 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (3.1.40)\n", + "Requirement already satisfied: httplib2<0.20,>=0.19.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.19.1)\n", + "Requirement already satisfied: pandas>=1.1.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (2.0.3)\n", + "Requirement already satisfied: passlib<1.8.0,>=1.7.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from passlib[bcrypt]<1.8.0,>=1.7.4->zenml[server]) (1.7.4)\n", + "Requirement already satisfied: psutil>=5.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (5.9.6)\n", + "Requirement already satisfied: pydantic<1.11,>=1.9.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (1.10.13)\n", + "Requirement already satisfied: pymysql<1.1.0,>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (1.0.3)\n", + "Requirement already satisfied: pyparsing<3,>=2.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (2.4.7)\n", + "Requirement already satisfied: python-dateutil<3.0.0,>=2.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (2.8.2)\n", + "Requirement already satisfied: pyyaml>=6.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (6.0.1)\n", + "Requirement already satisfied: rich>=12.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich[jupyter]>=12.0.0->zenml[server]) (13.7.0)\n", + "Requirement already satisfied: sqlalchemy_utils==0.38.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.38.3)\n", + "Requirement already satisfied: sqlmodel==0.0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.0.8)\n", + "Requirement already satisfied: Jinja2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (3.1.2)\n", + "Requirement already satisfied: fastapi<0.100,>=0.75 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.99.1)\n", + "Requirement already satisfied: fastapi-utils<0.3.0,>=0.2.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.2.1)\n", + "Requirement already satisfied: ipinfo>=4.4.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (5.0.0)\n", + "Requirement already satisfied: orjson<3.9.0,>=3.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (3.8.14)\n", + "Requirement already satisfied: pyjwt==2.7.* in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]) (2.7.0)\n", + "Requirement already satisfied: python-multipart<0.1.0,>=0.0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.0.6)\n", + "Requirement already satisfied: uvicorn>=0.17.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.24.0.post1)\n", + "Requirement already satisfied: cryptography>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]) (41.0.7)\n", + "Requirement already satisfied: SQLAlchemy>=1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlalchemy_utils==0.38.3->zenml[server]) (1.4.41)\n", + "Requirement already satisfied: sqlalchemy2-stubs in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlmodel==0.0.8->zenml[server]) (0.0.2a37)\n", + "Requirement already satisfied: Mako in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml[server]) (1.3.0)\n", + "Requirement already satisfied: importlib-metadata in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml[server]) (6.8.0)\n", + "Requirement already satisfied: importlib-resources in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml[server]) (6.1.1)\n", + "Requirement already satisfied: isodate<1.0.0,>=0.6.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml[server]) (0.6.1)\n", + "Requirement already satisfied: azure-common~=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml[server]) (1.1.28)\n", + "Requirement already satisfied: azure-mgmt-core<2.0.0,>=1.3.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml[server]) (1.4.0)\n", + "Requirement already satisfied: validators<0.19,>=0.18 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from click-params<0.4.0,>=0.3.0->zenml[server]) (0.18.2)\n", + "Requirement already satisfied: packaging>=14.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml[server]) (23.2)\n", + "Requirement already satisfied: requests>=2.26.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml[server]) (2.31.0)\n", + "Requirement already satisfied: urllib3>=1.26.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml[server]) (2.1.0)\n", + "Requirement already satisfied: websocket-client>=0.32.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml[server]) (1.6.4)\n", + "Requirement already satisfied: starlette<0.28.0,>=0.27.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi<0.100,>=0.75->zenml[server]) (0.27.0)\n", + "Requirement already satisfied: typing-extensions>=4.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi<0.100,>=0.75->zenml[server]) (4.8.0)\n", + "Requirement already satisfied: gitdb<5,>=4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitpython<4.0.0,>=3.1.18->zenml[server]) (4.0.11)\n", + "Requirement already satisfied: cachetools in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipinfo>=4.4.3->zenml[server]) (5.3.2)\n", + "Requirement already satisfied: aiohttp<=4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipinfo>=4.4.3->zenml[server]) (3.9.1)\n", + "Requirement already satisfied: pytz>=2020.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml[server]) (2023.3.post1)\n", + "Requirement already satisfied: tzdata>=2022.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml[server]) (2023.3)\n", + "Requirement already satisfied: numpy>=1.20.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml[server]) (1.24.4)\n", + "Requirement already satisfied: six>=1.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from python-dateutil<3.0.0,>=2.8.1->zenml[server]) (1.16.0)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich>=12.0.0->rich[jupyter]>=12.0.0->zenml[server]) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich>=12.0.0->rich[jupyter]>=12.0.0->zenml[server]) (2.17.2)\n", + "Requirement already satisfied: ipywidgets<9,>=7.5.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich[jupyter]>=12.0.0->zenml[server]) (8.1.1)\n", + "Requirement already satisfied: h11>=0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn>=0.17.5->uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.14.0)\n", + "Requirement already satisfied: httptools>=0.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.6.1)\n", + "Requirement already satisfied: python-dotenv>=0.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (1.0.0)\n", + "Requirement already satisfied: uvloop!=0.15.0,!=0.15.1,>=0.14.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.19.0)\n", + "Requirement already satisfied: watchfiles>=0.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.21.0)\n", + "Requirement already satisfied: websockets>=10.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (12.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from Jinja2->zenml[server]) (2.1.3)\n", + "Requirement already satisfied: attrs>=17.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (23.1.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (6.0.4)\n", + "Requirement already satisfied: yarl<2.0,>=1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (1.9.3)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (1.4.0)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (1.3.1)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (4.0.3)\n", + "Requirement already satisfied: azure-core<2.0.0,>=1.26.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-core<2.0.0,>=1.3.2->azure-mgmt-resource>=21.0.0->zenml[server]) (1.29.5)\n", + "Requirement already satisfied: cffi>=1.12 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from cryptography>=3.4.0->pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]) (1.16.0)\n", + "Requirement already satisfied: smmap<6,>=3.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitdb<5,>=4.0.1->gitpython<4.0.0,>=3.1.18->zenml[server]) (5.0.1)\n", + "Requirement already satisfied: comm>=0.1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.2.0)\n", + "Requirement already satisfied: ipython>=6.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (8.12.3)\n", + "Requirement already satisfied: traitlets>=4.3.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (5.14.0)\n", + "Requirement already satisfied: widgetsnbextension~=4.0.9 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (4.0.9)\n", + "Requirement already satisfied: jupyterlab-widgets~=3.0.9 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (3.0.9)\n", + "Requirement already satisfied: mdurl~=0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from markdown-it-py>=2.2.0->rich>=12.0.0->rich[jupyter]>=12.0.0->zenml[server]) (0.1.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml[server]) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml[server]) (3.6)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml[server]) (2023.11.17)\n", + "Requirement already satisfied: greenlet!=0.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from SQLAlchemy>=1.3->sqlalchemy_utils==0.38.3->zenml[server]) (3.0.1)\n", + "Requirement already satisfied: anyio<5,>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from starlette<0.28.0,>=0.27.0->fastapi<0.100,>=0.75->zenml[server]) (4.1.0)\n", + "Requirement already satisfied: decorator>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from validators<0.19,>=0.18->click-params<0.4.0,>=0.3.0->zenml[server]) (5.1.1)\n", + "Requirement already satisfied: zipp>=0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from importlib-metadata->alembic<1.9.0,>=1.8.1->zenml[server]) (3.17.0)\n", + "Requirement already satisfied: sniffio>=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio<5,>=3.4.0->starlette<0.28.0,>=0.27.0->fastapi<0.100,>=0.75->zenml[server]) (1.3.0)\n", + "Requirement already satisfied: exceptiongroup>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio<5,>=3.4.0->starlette<0.28.0,>=0.27.0->fastapi<0.100,>=0.75->zenml[server]) (1.2.0)\n", + "Requirement already satisfied: pycparser in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from cffi>=1.12->cryptography>=3.4.0->pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]) (2.21)\n", + "Requirement already satisfied: backcall in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.2.0)\n", + "Requirement already satisfied: jedi>=0.16 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.19.1)\n", + "Requirement already satisfied: matplotlib-inline in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.1.6)\n", + "Requirement already satisfied: pickleshare in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.7.5)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (3.0.36)\n", + "Requirement already satisfied: stack-data in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.6.3)\n", + "Requirement already satisfied: pexpect>4.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (4.9.0)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.8.3)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.2.12)\n", + "Requirement already satisfied: executing>=1.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (2.0.1)\n", + "Requirement already satisfied: asttokens>=2.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (2.4.1)\n", + "Requirement already satisfied: pure-eval in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.2.2)\n" + ] + } + ], + "source": [ + "!pip install \"zenml[server]\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ - "!zenml init" + "from zenml.environment import Environment\n", + "\n", + "if Environment.in_google_colab():\n", + " # Install Cloudflare Tunnel binary\n", + " !wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations.....Requirement already satisfied: scikit-learn<1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (1.2.2)\n", + "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Collecting mlflow<=2.6.0,>=2.1.1\n", + " Using cached mlflow-2.6.0-py3-none-any.whl.metadata (12 kB)\n", + "\u001b[2K\u001b[32m⠼\u001b[0m Installing integrations...Collecting mlserver>=1.3.3\n", + " Using cached mlserver-1.3.5-py3-none-any.whl.metadata (6.3 kB)\n", + "\u001b[2K\u001b[32m⠦\u001b[0m Installing integrations...Collecting mlserver-mlflow>=1.3.3\n", + " Using cached mlserver_mlflow-1.3.5-py3-none-any.whl.metadata (1.2 kB)\n", + "Requirement already satisfied: numpy>=1.17.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3) (1.24.4)\n", + "Requirement already satisfied: scipy>=1.3.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3) (1.10.1)\n", + "Requirement already satisfied: joblib>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3) (3.2.0)\n", + "Requirement already satisfied: click<9,>=7.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (8.1.3)\n", + "Requirement already satisfied: cloudpickle<3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (2.2.1)\n", + "\u001b[2K\u001b[32m⠧\u001b[0m Installing integrations...Collecting databricks-cli<1,>=0.8.7 (from mlflow<=2.6.0,>=2.1.1)\n", + " Using cached databricks_cli-0.18.0-py2.py3-none-any.whl.metadata (4.0 kB)\n", + "Collecting entrypoints<1 (from mlflow<=2.6.0,>=2.1.1)\n", + " Using cached entrypoints-0.4-py3-none-any.whl (5.3 kB)\n", + "Requirement already satisfied: gitpython<4,>=2.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (3.1.40)\n", + "Requirement already satisfied: pyyaml<7,>=5.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (6.0.1)\n", + "\u001b[2K\u001b[32m⠇\u001b[0m Installing integrations...Collecting protobuf<5,>=3.12.0 (from mlflow<=2.6.0,>=2.1.1)\n", + "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations... Downloading protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl.metadata (541 bytes)\n", + "Requirement already satisfied: pytz<2024 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (2023.3.post1)\n", + "Requirement already satisfied: requests<3,>=2.17.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (2.31.0)\n", + "Requirement already satisfied: packaging<24 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (23.2)\n", + "Requirement already satisfied: importlib-metadata!=4.7.0,<7,>=3.7.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (6.8.0)\n", + "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations...Collecting sqlparse<1,>=0.4.0 (from mlflow<=2.6.0,>=2.1.1)\n", + " Using cached sqlparse-0.4.4-py3-none-any.whl (41 kB)\n", + "Requirement already satisfied: alembic!=1.10.0,<2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (1.8.1)\n", + "Requirement already satisfied: docker<7,>=4.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (6.1.3)\n", + "Collecting Flask<3 (from mlflow<=2.6.0,>=2.1.1)\n", + " Using cached flask-2.3.3-py3-none-any.whl.metadata (3.6 kB)\n", + "Requirement already satisfied: pandas<3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (2.0.3)\n", + "Collecting querystring-parser<2 (from mlflow<=2.6.0,>=2.1.1)\n", + " Using cached querystring_parser-1.2.4-py2.py3-none-any.whl (7.9 kB)\n", + "Requirement already satisfied: sqlalchemy<3,>=1.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (1.4.41)\n", + "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations...Collecting pyarrow<13,>=4.0.0 (from mlflow<=2.6.0,>=2.1.1)\n", + " Using cached pyarrow-12.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)\n", + "\u001b[2K\u001b[32m⠹\u001b[0m Installing integrations...Collecting markdown<4,>=3.3 (from mlflow<=2.6.0,>=2.1.1)\n", + " Using cached Markdown-3.5.1-py3-none-any.whl.metadata (7.1 kB)\n", + "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Collecting matplotlib<4 (from mlflow<=2.6.0,>=2.1.1)\n", + " Using cached matplotlib-3.7.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (5.7 kB)\n", + "Collecting gunicorn<22 (from mlflow<=2.6.0,>=2.1.1)\n", + " Using cached gunicorn-21.2.0-py3-none-any.whl.metadata (4.1 kB)\n", + "Requirement already satisfied: Jinja2<4,>=2.11 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (3.1.2)\n", + "\u001b[2K\u001b[32m⠼\u001b[0m Installing integrations...Collecting fastapi!=0.89.0,<=0.89.1,>=0.88.0 (from mlserver>=1.3.3)\n", + " Using cached fastapi-0.89.1-py3-none-any.whl (55 kB)\n", + "Requirement already satisfied: python-dotenv in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (1.0.0)\n", + "\u001b[2K\u001b[32m⠧\u001b[0m Installing integrations...Collecting grpcio (from mlserver>=1.3.3)\n", + " Using cached grpcio-1.59.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", + "Requirement already satisfied: importlib-resources in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (6.1.1)\n", + "Requirement already satisfied: uvicorn in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (0.24.0.post1)\n", + "Collecting starlette-exporter (from mlserver>=1.3.3)\n", + " Using cached starlette_exporter-0.17.1-py3-none-any.whl.metadata (10 kB)\n", + "\u001b[2K\u001b[32m⠇\u001b[0m Installing integrations...Collecting py-grpc-prometheus (from mlserver>=1.3.3)\n", + " Using cached py_grpc_prometheus-0.7.0-py3-none-any.whl (12 kB)\n", + "Collecting aiokafka (from mlserver>=1.3.3)\n", + " Using cached aiokafka-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (17 kB)\n", + "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations...Collecting tritonclient>=2.24 (from tritonclient[http]>=2.24->mlserver>=1.3.3)\n", + " Using cached tritonclient-2.40.0-py3-none-manylinux1_x86_64.whl.metadata (2.8 kB)\n", + "Collecting aiofiles (from mlserver>=1.3.3)\n", + " Using cached aiofiles-23.2.1-py3-none-any.whl.metadata (9.7 kB)\n", + "Requirement already satisfied: orjson in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (3.8.14)\n", + "Requirement already satisfied: uvloop in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (0.19.0)\n", + "Requirement already satisfied: Mako in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic!=1.10.0,<2->mlflow<=2.6.0,>=2.1.1) (1.3.0)\n", + "Requirement already satisfied: pyjwt>=1.7.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1) (2.7.0)\n", + "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations...Collecting oauthlib>=3.1.0 (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached oauthlib-3.2.2-py3-none-any.whl (151 kB)\n", + "Collecting tabulate>=0.7.7 (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached tabulate-0.9.0-py3-none-any.whl (35 kB)\n", + "Requirement already satisfied: six>=1.10.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1) (1.16.0)\n", + "Requirement already satisfied: urllib3<3,>=1.26.7 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1) (2.1.0)\n", + "Requirement already satisfied: websocket-client>=0.32.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<7,>=4.0.0->mlflow<=2.6.0,>=2.1.1) (1.6.4)\n", + "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations...Requirement already satisfied: pydantic!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<2.0.0,>=1.6.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (1.10.13)\n", + "Collecting starlette==0.22.0 (from fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3)\n", + " Using cached starlette-0.22.0-py3-none-any.whl (64 kB)\n", + "Requirement already satisfied: anyio<5,>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from starlette==0.22.0->fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (4.1.0)\n", + "Requirement already satisfied: typing-extensions>=3.10.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from starlette==0.22.0->fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (4.8.0)\n", + "\u001b[2K\u001b[32m⠹\u001b[0m Installing integrations...Collecting Werkzeug>=2.3.7 (from Flask<3->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached werkzeug-3.0.1-py3-none-any.whl.metadata (4.1 kB)\n", + "Collecting itsdangerous>=2.1.2 (from Flask<3->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached itsdangerous-2.1.2-py3-none-any.whl (15 kB)\n", + "Collecting blinker>=1.6.2 (from Flask<3->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached blinker-1.7.0-py3-none-any.whl.metadata (1.9 kB)\n", + "Requirement already satisfied: gitdb<5,>=4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitpython<4,>=2.1.0->mlflow<=2.6.0,>=2.1.1) (4.0.11)\n", + "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Requirement already satisfied: zipp>=0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from importlib-metadata!=4.7.0,<7,>=3.7.0->mlflow<=2.6.0,>=2.1.1) (3.17.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from Jinja2<4,>=2.11->mlflow<=2.6.0,>=2.1.1) (2.1.3)\n", + "Collecting contourpy>=1.0.1 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.9 kB)\n", + "\u001b[2K\u001b[32m⠼\u001b[0m Installing integrations...Collecting cycler>=0.10 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)\n", + "\u001b[2K\u001b[32m⠴\u001b[0m Installing integrations...Collecting fonttools>=4.22.0 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached fonttools-4.46.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (156 kB)\n", + "Collecting kiwisolver>=1.0.1 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (6.4 kB)\n", + "\u001b[2K\u001b[32m⠧\u001b[0m Installing integrations...Collecting pillow>=6.2.0 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", + " Using cached Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (9.5 kB)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from matplotlib<4->mlflow<=2.6.0,>=2.1.1) (2.4.7)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from matplotlib<4->mlflow<=2.6.0,>=2.1.1) (2.8.2)\n", + "\u001b[2K\u001b[32m⠇\u001b[0m Installing integrations...Requirement already satisfied: tzdata>=2022.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas<3->mlflow<=2.6.0,>=2.1.1) (2023.3)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests<3,>=2.17.3->mlflow<=2.6.0,>=2.1.1) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests<3,>=2.17.3->mlflow<=2.6.0,>=2.1.1) (3.6)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests<3,>=2.17.3->mlflow<=2.6.0,>=2.1.1) (2023.11.17)\n", + "Requirement already satisfied: greenlet!=0.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlalchemy<3,>=1.4.0->mlflow<=2.6.0,>=2.1.1) (3.0.1)\n", + "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations...Collecting python-rapidjson>=0.9.1 (from tritonclient>=2.24->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", + " Using cached python_rapidjson-1.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)\n", + "Requirement already satisfied: aiohttp<4.0.0,>=3.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from tritonclient[http]>=2.24->mlserver>=1.3.3) (3.9.1)\n", + "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations...Collecting geventhttpclient<=2.0.2,>=1.4.4 (from tritonclient[http]>=2.24->mlserver>=1.3.3)\n", + " Using cached geventhttpclient-2.0.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (100 kB)\n", + "Requirement already satisfied: async-timeout in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiokafka->mlserver>=1.3.3) (4.0.3)\n", + "Requirement already satisfied: setuptools>=39.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from py-grpc-prometheus->mlserver>=1.3.3) (68.2.2)\n", + "Requirement already satisfied: prometheus-client>=0.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from py-grpc-prometheus->mlserver>=1.3.3) (0.19.0)\n", + "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations...Requirement already satisfied: h11>=0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn->mlserver>=1.3.3) (0.14.0)\n", + "Requirement already satisfied: attrs>=17.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (23.1.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (6.0.4)\n", + "Requirement already satisfied: yarl<2.0,>=1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (1.9.3)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (1.4.0)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (1.3.1)\n", + "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Collecting gevent>=0.13 (from geventhttpclient<=2.0.2,>=1.4.4->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", + " Using cached gevent-23.9.1-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (13 kB)\n", + "Collecting brotli (from geventhttpclient<=2.0.2,>=1.4.4->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", + " Using cached Brotli-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (5.5 kB)\n", + "Requirement already satisfied: smmap<6,>=3.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitdb<5,>=4.0.1->gitpython<4,>=2.1.0->mlflow<=2.6.0,>=2.1.1) (5.0.1)\n", + "\u001b[2K\u001b[32m⠴\u001b[0m Installing integrations...Requirement already satisfied: sniffio>=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio<5,>=3.4.0->starlette==0.22.0->fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (1.3.0)\n", + "Requirement already satisfied: exceptiongroup>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio<5,>=3.4.0->starlette==0.22.0->fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (1.2.0)\n", + "\u001b[2K\u001b[32m⠦\u001b[0m Installing integrations...Collecting zope.event (from gevent>=0.13->geventhttpclient<=2.0.2,>=1.4.4->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", + " Using cached zope.event-5.0-py3-none-any.whl.metadata (4.4 kB)\n", + "\u001b[2K\u001b[32m⠧\u001b[0m Installing integrations...Collecting zope.interface (from gevent>=0.13->geventhttpclient<=2.0.2,>=1.4.4->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", + " Using cached zope.interface-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (41 kB)\n", + "\u001b[2K\u001b[32m⠇\u001b[0m Installing integrations...Using cached mlflow-2.6.0-py3-none-any.whl (18.3 MB)\n", + "Using cached mlserver-1.3.5-py3-none-any.whl (113 kB)\n", + "Using cached mlserver_mlflow-1.3.5-py3-none-any.whl (10 kB)\n", + "Using cached databricks_cli-0.18.0-py2.py3-none-any.whl (150 kB)\n", + "Using cached flask-2.3.3-py3-none-any.whl (96 kB)\n", + "Using cached gunicorn-21.2.0-py3-none-any.whl (80 kB)\n", + "Using cached Markdown-3.5.1-py3-none-any.whl (102 kB)\n", + "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations...Using cached matplotlib-3.7.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (9.2 MB)\n", + "Downloading protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl (294 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m294.6/294.6 kB\u001b[0m \u001b[31m5.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hUsing cached pyarrow-12.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.0 MB)\n", + "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations...Using cached tritonclient-2.40.0-py3-none-manylinux1_x86_64.whl (12.4 MB)\n", + "\u001b[2K\u001b[32m⠹\u001b[0m Installing integrations...Using cached aiofiles-23.2.1-py3-none-any.whl (15 kB)\n", + "Using cached aiokafka-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)\n", + "Using cached grpcio-1.59.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB)\n", + "Using cached starlette_exporter-0.17.1-py3-none-any.whl (14 kB)\n", + "Using cached blinker-1.7.0-py3-none-any.whl (13 kB)\n", + "Using cached contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (301 kB)\n", + "Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)\n", + "Using cached fonttools-4.46.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n", + "Using cached kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.2 MB)\n", + "Using cached Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl (3.6 MB)\n", + "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Using cached python_rapidjson-1.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB)\n", + "Using cached werkzeug-3.0.1-py3-none-any.whl (226 kB)\n", + "Using cached gevent-23.9.1-cp38-cp38-manylinux_2_28_x86_64.whl (6.5 MB)\n", + "Using cached Brotli-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.8 MB)\n", + "Using cached zope.event-5.0-py3-none-any.whl (6.8 kB)\n", + "Using cached zope.interface-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249 kB)\n", + "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations...Installing collected packages: brotli, zope.interface, zope.event, Werkzeug, tabulate, sqlparse, querystring-parser, python-rapidjson, pyarrow, protobuf, pillow, oauthlib, kiwisolver, itsdangerous, gunicorn, grpcio, fonttools, entrypoints, cycler, contourpy, blinker, aiokafka, aiofiles, tritonclient, starlette, py-grpc-prometheus, matplotlib, markdown, gevent, Flask, databricks-cli, starlette-exporter, mlflow, geventhttpclient, fastapi, mlserver, mlserver-mlflow\n", + "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations... Attempting uninstall: pyarrow\n", + " Found existing installation: pyarrow 14.0.1\n", + "\u001b[2K\u001b[32m⠼\u001b[0m Installing integrations... Uninstalling pyarrow-14.0.1:\n", + " Successfully uninstalled pyarrow-14.0.1\n", + "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations... Attempting uninstall: starlette\n", + " Found existing installation: starlette 0.27.0\n", + " Uninstalling starlette-0.27.0:\n", + " Successfully uninstalled starlette-0.27.0\n", + "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations... Attempting uninstall: fastapi\n", + " Found existing installation: fastapi 0.99.1\n", + " Uninstalling fastapi-0.99.1:\n", + " Successfully uninstalled fastapi-0.99.1\n", + "\u001b[2K\u001b[32m⠹\u001b[0m Installing integrations...Successfully installed Flask-2.3.3 Werkzeug-3.0.1 aiofiles-23.2.1 aiokafka-0.9.0 blinker-1.7.0 brotli-1.1.0 contourpy-1.1.1 cycler-0.12.1 databricks-cli-0.18.0 entrypoints-0.4 fastapi-0.89.1 fonttools-4.46.0 gevent-23.9.1 geventhttpclient-2.0.2 grpcio-1.59.3 gunicorn-21.2.0 itsdangerous-2.1.2 kiwisolver-1.4.5 markdown-3.5.1 matplotlib-3.7.4 mlflow-2.6.0 mlserver-1.3.5 mlserver-mlflow-1.3.5 oauthlib-3.2.2 pillow-10.1.0 protobuf-4.25.1 py-grpc-prometheus-0.7.0 pyarrow-12.0.1 python-rapidjson-1.13 querystring-parser-1.2.4 sqlparse-0.4.4 starlette-0.22.0 starlette-exporter-0.17.1 tabulate-0.9.0 tritonclient-2.40.0 zope.event-5.0 zope.interface-6.1\n", + "\u001b[2K\u001b[32m⠦\u001b[0m Installing integrations...\n", + "\u001b[1A\u001b[2K" + ] + }, + { + "data": { + "text/plain": [ + "{'status': 'ok', 'restart': True}" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "ename": "", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31mThe Kernel crashed while executing code in the the current cell or a previous cell. Please review the code in the cell(s) to identify a possible cause of the failure. Click here for more info. View Jupyter log for further details." + ] + } + ], + "source": [ + "!zenml integration install sklearn mlflow -y\n", + "\n", + "import IPython\n", + "IPython.Application.instance().kernel.do_shutdown(restart=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Please wait for the installation to complete before running subsequent cells. At\n", + "the end of the installation, the notebook kernel will automatically restart." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Optional: If you are using ZenML Cloud, execute the following cell with your tenant URL. Otherwise ignore." ] }, { "cell_type": "code", "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "zenml_server_url = \"PLEASE_UPDATE_ME\" # in the form \"https://URL_TO_SERVER\"\n", + "\n", + "!zenml connect --url $zenml_server_url" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "081d5616", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[?25l\u001b[2;36mFound existing ZenML repository at path \u001b[0m\n", + "\u001b[2;32m'/home/htahir1/workspace/zenml_io/template-starter/template'\u001b[0m\u001b[2;36m.\u001b[0m\n", + "\u001b[2;32m⠋\u001b[0m\u001b[2;36m Initializing ZenML repository at \u001b[0m\n", + "\u001b[2;36m/home/htahir1/workspace/zenml_io/template-starter/template.\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", + "/home/htahir1/workspace/zenml_io/template-starter/template.\n", + "\n", + "\u001b[2K\u001b[2;36mActive repository stack set to: \u001b[0m\u001b[2;32m'default'\u001b[0mive stack to 'default'...\n", + "\u001b[2K\u001b[32m⠙\u001b[0m Setting the repository active stack to 'default'...t'...\u001b[0m\n", + "\u001b[1A\u001b[2K" + ] + } + ], + "source": [ + "# Initialize ZenML and set the default stack\n", + "!zenml init\n", + "\n", + "!zenml stack set default\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, "id": "79f775f2", "metadata": {}, "outputs": [], "source": [ "# Do the imports at the top\n", - "\n", "import random\n", - "from zenml import ExternalArtifact, pipeline \n", + "from zenml import ExternalArtifact, pipeline, ModelVersion \n", "from zenml.client import Client\n", "from zenml.logger import get_logger\n", "from uuid import UUID\n", @@ -45,35 +471,346 @@ "client = Client()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 🥇 Step 1: Load your data and execute feature engineering\n", + "\n", + "We'll start off by importing our data. In this quickstart we'll be working with\n", + "[the Breast Cancer](https://archive.ics.uci.edu/dataset/17/breast+cancer+wisconsin+diagnostic) dataset\n", + "which is publicly available on the UCI Machine Learning Repository. The task is a classification\n", + "problem, to predict whether a patient is diagnosed with breast cancer or not.\n", + "\n", + "When you're getting started with a machine learning problem you'll want to do\n", + "something similar to this: import your data and get it in the right shape for\n", + "your training. ZenML mostly gets out of your way when you're writing your Python\n", + "code, as you'll see from the following cell." + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "from sklearn.datasets import load_breast_cancer\n", + "from typing_extensions import Annotated\n", + "from zenml import step\n", + "from zenml.logger import get_logger\n", + "\n", + "logger = get_logger(__name__)\n", + "\n", + "\n", + "@step\n", + "def data_loader_simplified(\n", + " random_state: int, is_inference: bool = False, target: str = \"target\"\n", + ") -> Annotated[pd.DataFrame, \"dataset\"]: # We name the dataset \n", + " \"\"\"Dataset reader step.\"\"\"\n", + " dataset = load_breast_cancer(as_frame=True)\n", + " inference_size = int(len(dataset.target) * 0.05)\n", + " dataset: pd.DataFrame = dataset.frame\n", + " inference_subset = dataset.sample(inference_size, random_state=random_state)\n", + " if is_inference:\n", + " dataset = inference_subset\n", + " dataset.drop(columns=target, inplace=True)\n", + " else:\n", + " dataset.drop(inference_subset.index, inplace=True)\n", + " dataset.reset_index(drop=True, inplace=True)\n", + " logger.info(f\"Dataset with {len(dataset)} records loaded!\")\n", + " return dataset\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The whole function is decorated with the `@step` decorator, which\n", + "tells ZenML to track this function as a step in the pipeline. This means that\n", + "ZenML will automatically version, track, and cache the data that is produced by\n", + "this function as an `artifact`. This is a very powerful feature, as it means that you can\n", + "reproduce your data at any point in the future, even if the original data source\n", + "changes or disappears. \n", + "\n", + "Note the use of the `typing` module's `Annotated` type hint in the output of the\n", + "step. We're using this to give a name to the output of the step, which will make\n", + "it possible to access it via a keyword later on.\n", + "\n", + "You'll also notice that we have included type hints for the outputs\n", + "to the function. These are not only useful for anyone reading your code, but\n", + "help ZenML process your data in a way appropriate to the specific data types." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "ZenML is built in a way that allows you to experiment with your data and build\n", + "your pipelines as you work, so if you want to call this function to see how it\n", + "works, you can just call it directly. Here we take a look at the first few rows\n", + "of your training dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
017.9910.38122.801001.00.118400.277600.30010.147100.24190.07871...17.33184.602019.00.16220.66560.71190.26540.46010.118900
120.5717.77132.901326.00.084740.078640.08690.070170.18120.05667...23.41158.801956.00.12380.18660.24160.18600.27500.089020
219.6921.25130.001203.00.109600.159900.19740.127900.20690.05999...25.53152.501709.00.14440.42450.45040.24300.36130.087580
311.4220.3877.58386.10.142500.283900.24140.105200.25970.09744...26.5098.87567.70.20980.86630.68690.25750.66380.173000
420.2914.34135.101297.00.100300.132800.19800.104300.18090.05883...16.67152.201575.00.13740.20500.40000.16250.23640.076780
\n", + "

5 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "0 17.99 10.38 122.80 1001.0 0.11840 \n", + "1 20.57 17.77 132.90 1326.0 0.08474 \n", + "2 19.69 21.25 130.00 1203.0 0.10960 \n", + "3 11.42 20.38 77.58 386.1 0.14250 \n", + "4 20.29 14.34 135.10 1297.0 0.10030 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "0 0.27760 0.3001 0.14710 0.2419 \n", + "1 0.07864 0.0869 0.07017 0.1812 \n", + "2 0.15990 0.1974 0.12790 0.2069 \n", + "3 0.28390 0.2414 0.10520 0.2597 \n", + "4 0.13280 0.1980 0.10430 0.1809 \n", + "\n", + " mean fractal dimension ... worst texture worst perimeter worst area \\\n", + "0 0.07871 ... 17.33 184.60 2019.0 \n", + "1 0.05667 ... 23.41 158.80 1956.0 \n", + "2 0.05999 ... 25.53 152.50 1709.0 \n", + "3 0.09744 ... 26.50 98.87 567.7 \n", + "4 0.05883 ... 16.67 152.20 1575.0 \n", + "\n", + " worst smoothness worst compactness worst concavity worst concave points \\\n", + "0 0.1622 0.6656 0.7119 0.2654 \n", + "1 0.1238 0.1866 0.2416 0.1860 \n", + "2 0.1444 0.4245 0.4504 0.2430 \n", + "3 0.2098 0.8663 0.6869 0.2575 \n", + "4 0.1374 0.2050 0.4000 0.1625 \n", + "\n", + " worst symmetry worst fractal dimension target \n", + "0 0.4601 0.11890 0 \n", + "1 0.2750 0.08902 0 \n", + "2 0.3613 0.08758 0 \n", + "3 0.6638 0.17300 0 \n", + "4 0.2364 0.07678 0 \n", + "\n", + "[5 rows x 31 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_loader_simplified(random_state=42).head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Everything looks as we'd expect and the values are all in the right format 🥳.\n", + "\n", + "We're now at the point where can bring all this step and some others together into a single\n", + "pipeline, the top-level organising entity for code in ZenML. Creating such a pipeline is\n", + "as simple as adding a `@pipeline` decorator to a function. This specific\n", + "pipeline doesn't return a value, but that option is available to you if you need." + ] + }, + { + "cell_type": "code", + "execution_count": 5, "id": "b50a9537", "metadata": {}, "outputs": [], "source": [ "@pipeline\n", - "def _feature_engineering(\n", + "def feature_engineering(\n", " test_size: float = 0.2,\n", " drop_na: Optional[bool] = None,\n", " normalize: Optional[bool] = None,\n", " drop_columns: Optional[List[str]] = None,\n", " target: Optional[str] = \"target\",\n", "):\n", - " \"\"\"\n", - " Feature engineering pipeline.\n", - "\n", - " This is a pipeline that loads the data, processes it and splits\n", - " it into train and test sets.\n", - "\n", - " Args:\n", - " test_size: Size of holdout set for training 0.0..1.0\n", - " drop_na: If `True` NA values will be removed from dataset\n", - " normalize: If `True` dataset will be normalized with MinMaxScaler\n", - " drop_columns: List of columns to drop from dataset\n", - " target: Name of target column in dataset\n", - " \"\"\"\n", - " ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ###\n", + " \"\"\"Feature engineering pipeline.\"\"\"\n", " # Link all the steps together by calling them and passing the output\n", " # of one step as the input of the next step.\n", " raw_data = data_loader(random_state=random.randint(0, 100), target=target)\n", @@ -93,151 +830,630 @@ " return dataset_trn, dataset_tst" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We're ready to run the pipeline now, which we can do just -- as with the step -- by calling the\n", + "pipeline function itself:" + ] + }, { "cell_type": "code", - "execution_count": null, - "id": "bc5feef4-7016-420e-9af9-2e87ff666f74", + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 3)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.950s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.650s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.506s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_07-16_50_18_998605\u001b[1;35m has finished in \u001b[0m\u001b[1;36m13.591s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/84da85e1-956e-4d47-8719-9ee1c3335ab5/runs/80ccff19-b000-434d-84f8-b93fd8cfbc45/dag\u001b[0m\n" + ] + } + ], "source": [ - "pipeline_args = {}\n", - "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"feature_engineering.yaml\")\n", - "fe_p_configured = _feature_engineering.with_options(**pipeline_args)" + "feature_engineering()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's run this again with a slightly different test size, to create another dataset:" ] }, { "cell_type": "code", - "execution_count": null, - "id": "75cf3740-b2d8-4c4b-b91b-dc1637000880", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 4)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.236s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.466s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_07-16_50_36_291181\u001b[1;35m has finished in \u001b[0m\u001b[1;36m10.784s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/739a6ab3-b209-4947-8cc1-c3aafa4d9718/runs/ee337da9-e510-49df-957c-333b24cdf0b8/dag\u001b[0m\n" + ] + } + ], + "source": [ + "feature_engineering(test_size=0.3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that the data loader step was cached, while the rest of the pipeline was rerun. \n", + "This is because ZenML automatically determined that nothing had changed in the data loader step, \n", + "so it didn't need to rerun it." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "At this point you might be interested to view your pipeline runs in the ZenML\n", + "Dashboard. You can spin this up by executing the next cell. This will start a\n", + "server which you can access by clicking on the link that appears in the output\n", + "of the cell.\n", + "\n", + "Log into the Dashboard using default credentials (username 'default' and\n", + "password left blank). From there you can inspect the pipeline or the specific\n", + "pipeline run.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Error: \u001b[31m\u001b[1mYour ZenML client is already connected to a remote server. If you want to spin up a local ZenML server, please disconnect from the remote server first by running `zenml disconnect`.\u001b[0m\n" + ] + } + ], + "source": [ + "from zenml.environment import Environment\n", + "\n", + "if Environment.in_google_colab():\n", + " # run ZenML through a cloudflare tunnel to get a public endpoint\n", + " !zenml up --port 8237 & cloudflared tunnel --url http://localhost:8237\n", + "else:\n", + " !zenml up" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also fetch the pipeline from the server and view our results directly in the notebook:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "feature_engineering-2023_12_07-16_50_36_291181\n" + ] + } + ], + "source": [ + "client = Client()\n", + "run = client.get_pipeline(\"feature_engineering\").last_run\n", + "print(run.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also see the data artifacts that were produced by the last step of the pipeline:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'dataset_tst': ArtifactResponse(id=UUID('77b1c2eb-c9bd-4030-b42c-21d06927d2b9'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 7, 16, 50, 45), updated=datetime.datetime(2023, 12, 7, 16, 50, 45), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), version='80', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_tst/b277e9ac-2631-4038-86f5-a71b7da09104', type=), metadata=None, name='dataset_tst'),\n", + " 'dataset_trn': ArtifactResponse(id=UUID('92cbfbef-0bf7-4247-9448-73c429465b82'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 7, 16, 50, 44), updated=datetime.datetime(2023, 12, 7, 16, 50, 44), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), version='82', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_trn/b277e9ac-2631-4038-86f5-a71b7da09104', type=), metadata=None, name='dataset_trn'),\n", + " 'preprocess_pipeline': ArtifactResponse(id=UUID('bf3fd112-e5d0-4c0a-aaff-18307b2401fe'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 7, 16, 50, 46), updated=datetime.datetime(2023, 12, 7, 16, 50, 46), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), version='80', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/preprocess_pipeline/b277e9ac-2631-4038-86f5-a71b7da09104', type=), metadata=None, name='preprocess_pipeline')}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "run.steps[\"data_preprocessor\"].outputs" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "ename": "ValidationError", + "evalue": "1 validation error for DistributionPackageSource\npackage_name\n field required (type=value_error.missing)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValidationError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 30\u001b[0m line \u001b[0;36m2\n\u001b[1;32m 1\u001b[0m \u001b[39m# Read one of the datasets:\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m run\u001b[39m.\u001b[39;49msteps[\u001b[39m\"\u001b[39;49m\u001b[39mdata_preprocessor\u001b[39;49m\u001b[39m\"\u001b[39;49m]\u001b[39m.\u001b[39;49moutputs[\u001b[39m\"\u001b[39;49m\u001b[39mdataset_trn\u001b[39;49m\u001b[39m\"\u001b[39;49m]\u001b[39m.\u001b[39;49mload()\n", + "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/models/v2/core/artifact.py:306\u001b[0m, in \u001b[0;36mArtifactResponse.load\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 299\u001b[0m \u001b[39m\u001b[39m\u001b[39m\"\"\"Materializes (loads) the data stored in this artifact.\u001b[39;00m\n\u001b[1;32m 300\u001b[0m \n\u001b[1;32m 301\u001b[0m \u001b[39mReturns:\u001b[39;00m\n\u001b[1;32m 302\u001b[0m \u001b[39m The materialized data.\u001b[39;00m\n\u001b[1;32m 303\u001b[0m \u001b[39m\"\"\"\u001b[39;00m\n\u001b[1;32m 304\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mzenml\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39martifacts\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mutils\u001b[39;00m \u001b[39mimport\u001b[39;00m load_artifact_from_response\n\u001b[0;32m--> 306\u001b[0m \u001b[39mreturn\u001b[39;00m load_artifact_from_response(\u001b[39mself\u001b[39;49m)\n", + "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/artifacts/utils.py:381\u001b[0m, in \u001b[0;36mload_artifact_from_response\u001b[0;34m(artifact)\u001b[0m\n\u001b[1;32m 373\u001b[0m logger\u001b[39m.\u001b[39mwarning(\n\u001b[1;32m 374\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mUnable to restore artifact store while trying to load artifact \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 375\u001b[0m \u001b[39m\"\u001b[39m\u001b[39m`\u001b[39m\u001b[39m%s\u001b[39;00m\u001b[39m`. If this artifact is stored in a remote artifact store, \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 376\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mthis might lead to issues when trying to load the artifact.\u001b[39m\u001b[39m\"\u001b[39m,\n\u001b[1;32m 377\u001b[0m artifact\u001b[39m.\u001b[39mid,\n\u001b[1;32m 378\u001b[0m )\n\u001b[1;32m 380\u001b[0m \u001b[39m# breakpoint()\u001b[39;00m\n\u001b[0;32m--> 381\u001b[0m \u001b[39mreturn\u001b[39;00m _load_artifact_from_uri(\n\u001b[1;32m 382\u001b[0m materializer\u001b[39m=\u001b[39;49martifact\u001b[39m.\u001b[39;49mmaterializer,\n\u001b[1;32m 383\u001b[0m data_type\u001b[39m=\u001b[39;49martifact\u001b[39m.\u001b[39;49mdata_type,\n\u001b[1;32m 384\u001b[0m uri\u001b[39m=\u001b[39;49martifact\u001b[39m.\u001b[39;49muri,\n\u001b[1;32m 385\u001b[0m )\n", + "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/artifacts/utils.py:468\u001b[0m, in \u001b[0;36m_load_artifact_from_uri\u001b[0;34m(materializer, data_type, uri)\u001b[0m\n\u001b[1;32m 465\u001b[0m \u001b[39m# Resolve the artifact class\u001b[39;00m\n\u001b[1;32m 466\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[1;32m 467\u001b[0m \u001b[39m# breakpoint()\u001b[39;00m\n\u001b[0;32m--> 468\u001b[0m artifact_class \u001b[39m=\u001b[39m source_utils\u001b[39m.\u001b[39;49mload(data_type)\n\u001b[1;32m 469\u001b[0m \u001b[39mexcept\u001b[39;00m (\u001b[39mModuleNotFoundError\u001b[39;00m, \u001b[39mAttributeError\u001b[39;00m) \u001b[39mas\u001b[39;00m e:\n\u001b[1;32m 470\u001b[0m logger\u001b[39m.\u001b[39merror(\n\u001b[1;32m 471\u001b[0m \u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mZenML cannot locate and import the data type of this \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 472\u001b[0m \u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39martifact \u001b[39m\u001b[39m'\u001b[39m\u001b[39m{\u001b[39;00mdata_type\u001b[39m}\u001b[39;00m\u001b[39m'\u001b[39m\u001b[39m.\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 473\u001b[0m )\n", + "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/utils/source_utils.py:75\u001b[0m, in \u001b[0;36mload\u001b[0;34m(source)\u001b[0m\n\u001b[1;32m 73\u001b[0m import_root \u001b[39m=\u001b[39m get_source_root()\n\u001b[1;32m 74\u001b[0m \u001b[39melif\u001b[39;00m source\u001b[39m.\u001b[39mtype \u001b[39m==\u001b[39m SourceType\u001b[39m.\u001b[39mDISTRIBUTION_PACKAGE:\n\u001b[0;32m---> 75\u001b[0m source \u001b[39m=\u001b[39m DistributionPackageSource\u001b[39m.\u001b[39;49mparse_obj(source)\n\u001b[1;32m 76\u001b[0m \u001b[39mif\u001b[39;00m source\u001b[39m.\u001b[39mversion:\n\u001b[1;32m 77\u001b[0m current_package_version \u001b[39m=\u001b[39m _get_package_version(\n\u001b[1;32m 78\u001b[0m package_name\u001b[39m=\u001b[39msource\u001b[39m.\u001b[39mpackage_name\n\u001b[1;32m 79\u001b[0m )\n", + "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/pydantic/main.py:526\u001b[0m, in \u001b[0;36mpydantic.main.BaseModel.parse_obj\u001b[0;34m()\u001b[0m\n", + "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/pydantic/main.py:341\u001b[0m, in \u001b[0;36mpydantic.main.BaseModel.__init__\u001b[0;34m()\u001b[0m\n", + "\u001b[0;31mValidationError\u001b[0m: 1 validation error for DistributionPackageSource\npackage_name\n field required (type=value_error.missing)" + ] + } + ], + "source": [ + "# Read one of the datasets. This is the one with a 0.3 test split\n", + "run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"].load()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also get the artifacts directly. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "ArtifactResponse(id=UUID('92cbfbef-0bf7-4247-9448-73c429465b82'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 7, 16, 50, 44), updated=datetime.datetime(2023, 12, 7, 16, 50, 44), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), version='82', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_trn/b277e9ac-2631-4038-86f5-a71b7da09104', type=), metadata=None, name='dataset_trn')" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset_trn_artifact = client.get_artifact(\"dataset_trn\")\n", + "dataset_tst_artifact = client.get_artifact(\"dataset_tst\")\n", + "\n", + "dataset_trn_artifact" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll use these artifacts from above in our next pipeline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ⌚ Step 2: Training pipeline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have our data it makes sense to train some models to get a sense of\n", + "how difficult the task is. The Breast Cancer dataset is sufficiently large and complex \n", + "that it's unlikely we'll be able to train a model that behaves perfectly since the problem \n", + "is inherently complex, but we can get a sense of what a reasonable baseline looks like.\n", + "\n", + "We'll start with two simple models, a SGD Classifier and a Random Forest\n", + "Classifier, both batteries-included from `sklearn`. We'll train them both on the\n", + "same data and then compare their performance." + ] + }, + { + "cell_type": "code", + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ - "latest_run = fe_p_configured()" + "import pandas as pd\n", + "from sklearn.base import ClassifierMixin\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.linear_model import SGDClassifier\n", + "from typing_extensions import Annotated\n", + "from zenml import ArtifactConfig, step\n", + "from zenml.logger import get_logger\n", + "\n", + "logger = get_logger(__name__)\n", + "\n", + "\n", + "@step\n", + "def model_trainer(\n", + " dataset_trn: pd.DataFrame,\n", + " model_type: str = \"sgd\",\n", + ") -> Annotated[ClassifierMixin, ArtifactConfig(name=\"model\", is_model_artifact=True)]:\n", + " \"\"\"Configure and train a model on the training dataset.\"\"\"\n", + " target = \"target\"\n", + " if model_type == \"sgd\":\n", + " model = SGDClassifier()\n", + " elif model_type == \"rf\":\n", + " model = RandomForestClassifier()\n", + " else:\n", + " raise ValueError(f\"Unknown model type {model_type}\") \n", + "\n", + " logger.info(f\"Training model {model}...\")\n", + "\n", + " model.fit(\n", + " dataset_trn.drop(columns=[target]),\n", + " dataset_trn[target],\n", + " )\n", + " return model\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our two training steps both return different kinds of `sklearn` classifier\n", + "models, so we use the generic `ClassifierMixin` type hint for the return type." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "ZenML allows you to load any version of any dataset that is tracked by the framework\n", + "directly into a pipeline using the `ExternalArtifact` interface. This is very convenient\n", + "in this case, as we'd like to send our preprocessed dataset from the older pipeline directly\n", + "into the training pipeline." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "@pipeline\n", - "def _training(\n", + "def training(\n", " train_dataset_id: Optional[UUID] = None,\n", " test_dataset_id: Optional[UUID] = None,\n", + " model_type: str = \"sgd\",\n", " min_train_accuracy: float = 0.0,\n", " min_test_accuracy: float = 0.0,\n", "):\n", - " \"\"\"\n", - " Model training pipeline.\n", - "\n", - " This is a pipeline that loads the data, processes it and splits\n", - " it into train and test sets, then search for best hyperparameters,\n", - " trains and evaluates a model.\n", - "\n", - " Args:\n", - " test_size: Size of holdout set for training 0.0..1.0\n", - " drop_na: If `True` NA values will be removed from dataset\n", - " normalize: If `True` dataset will be normalized with MinMaxScaler\n", - " drop_columns: List of columns to drop from dataset\n", - " \"\"\"\n", - " ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ###\n", - " # Link all the steps together by calling them and passing the output\n", - " # of one step as the input of the next step.\n", - " \n", - " # Execute Feature Engineering Pipeline\n", + " \"\"\"Model training pipeline.\"\"\" \n", " if train_dataset_id is None or test_dataset_id is None:\n", - " dataset_trn, dataset_tst = _feature_engineering()\n", + " # If we dont pass the IDs, this will run the feature engineering pipeline \n", + " dataset_trn, dataset_tst = feature_engineering()\n", " else:\n", + " # Load the datasets from an older pipeline\n", " dataset_trn = ExternalArtifact(id=train_dataset_id)\n", - " dataset_tst = ExternalArtifact(id=test_dataset_id)\n", - " \n", - " model = model_trainer(\n", + " dataset_tst = ExternalArtifact(id=test_dataset_id) \n", + "\n", + " trained_model = model_trainer(\n", " dataset_trn=dataset_trn,\n", + " model_type=model_type,\n", " )\n", "\n", " model_evaluator(\n", - " model=model,\n", + " model=trained_model,\n", " dataset_trn=dataset_trn,\n", " dataset_tst=dataset_tst,\n", " min_train_accuracy=min_train_accuracy,\n", " min_test_accuracy=min_test_accuracy,\n", - " )\n" + " )" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "pipeline_args = {}\n", - "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"training.yaml\")\n", - "fe_t_configured = _training.with_options(**pipeline_args)" + "The end goal of this quick baseline evaluation is to understand which of the two\n", + "models performs better. We'll use the `evaluator` step to compare the two\n", + "models. This step takes in the model from the trainer step, and computes its score\n", + "over the testing set." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 13)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.695s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTrain accuracy=100.00%\u001b[0m\n", + "\u001b[1;35mTest accuracy=95.71%\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.661s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_07-17_07_26_910917\u001b[1;35m has finished in \u001b[0m\u001b[1;36m10.706s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/c5622964-5dae-488c-a3d8-8564f4b47e30/runs/bae238a7-7df5-407b-a70a-6ed3ddcd2d60/dag\u001b[0m\n" + ] + } + ], "source": [ - "fe_t_configured()" + "# Use a random forest model\n", + "training(model_type=\"rf\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)\n", + "\n", + "rf_run = client.get_pipeline(\"training\").last_run" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 14)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.781s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTrain accuracy=87.57%\u001b[0m\n", + "\u001b[1;35mTest accuracy=90.18%\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.756s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_07-17_07_43_757223\u001b[1;35m has finished in \u001b[0m\u001b[1;36m11.332s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/ba6e6157-88ba-4347-80bb-89bca2f7fb1b/runs/27dcce8a-3787-4daa-a1bb-e24ebee82bc9/dag\u001b[0m\n" + ] + } + ], "source": [ - "from typing import Optional\n", - "\n", - "import pandas as pd\n", - "from typing_extensions import Annotated\n", - "\n", - "from zenml import get_step_context, step\n", - "from zenml.logger import get_logger\n", - "\n", - "logger = get_logger(__name__)\n", - "\n", - "\n", - "@step\n", - "def inference_predict(\n", - " dataset_inf: pd.DataFrame,\n", - ") -> Annotated[pd.Series, \"predictions\"]:\n", - " \"\"\"Predictions step.\n", + "# Use a SGD classifier\n", + "training(model_type=\"sgd\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)\n", "\n", - " This is an example of a predictions step that takes the data in and returns\n", - " predicted values.\n", - "\n", - " This step is parameterized, which allows you to configure the step\n", - " independently of the step code, before running it in a pipeline.\n", - " In this example, the step can be configured to use different input data.\n", - " See the documentation for more information:\n", - "\n", - " https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines\n", - "\n", - " Args:\n", - " dataset_inf: The inference dataset.\n", - "\n", - " Returns:\n", - " The predictions as pandas series\n", - " \"\"\"\n", - " ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ###\n", - " model_version = get_step_context().model_version\n", + "sgd_run = client.get_pipeline(\"training\").last_run" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can see from the logs already how our model training went: the\n", + "`RandomForestClassifier` performed considerably better than the `SGDClassifier`.\n", + "We can use the ZenML `Client` to verify this:" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# The evaluator returns a float value with the accuracy\n", + "rf_run.steps[\"model_evaluator\"].output.load() > sgd_run.steps[\"model_evaluator\"].output.load()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ⌚ Step 3: Associating a model with your pipeline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can see it is relatively easy to train ML models using ZenML pipelines. But it can be somewhat clunky to track\n", + "all the models produced as you develop your experiments and use-cases. Luckily, ZenML offers a *Model Control Plane*,\n", + "which is a central register of all your ML models.\n", "\n", - " print(model_version)\n", + "You can easily create a ZenML Model and associate it with your pipelines using the `ModelVersion` object:" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "pipeline_settings = {}\n", + "pipeline_settings[\"model_version\"] = ModelVersion(\n", + " name=\"breast_cancer_classifier\",\n", + " license=\"Apache 2.0\",\n", + " description=\"A breast cancer classifier\",\n", + " tags=[\"classification\", \"sklearn\"],\n", + ")\n", "\n", - " # run prediction from memory\n", - " predictor = model_version.load_artifact(\"model\")\n", - " predictions = predictor.predict(dataset_inf)\n", + "# the `with_options` method allows us to pass in pipeline settings\n", + "# and returns a configured pipeline\n", + "training_configured = training.with_options(**pipeline_settings)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 14)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36m13\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_07-17_08_57_860304\u001b[1;35m has finished in \u001b[0m\u001b[1;36m6.124s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/ba6e6157-88ba-4347-80bb-89bca2f7fb1b/runs/ce39950a-313c-434c-bc3a-a62f2e5ed4bd/dag\u001b[0m\n" + ] + } + ], + "source": [ + "# We can now run this as usual\n", + "training_configured(model_type=\"sgd\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 13)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36m14\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_07-17_09_08_682638\u001b[1;35m has finished in \u001b[0m\u001b[1;36m5.989s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/c5622964-5dae-488c-a3d8-8564f4b47e30/runs/85f154cf-675d-45ac-87b3-b36673b63fe7/dag\u001b[0m\n" + ] + } + ], + "source": [ + "# We can now run this as usual\n", + "training_configured(model_type=\"rf\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ "\n", - " print(predictions)\n", - " predictions = pd.Series(predictions, name=\"predicted\")\n", - " ### YOUR CODE ENDS HERE ###\n", + "You can list your ZenML model and their versions as follows:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "name='breast_cancer_classifier' license='Apache 2.0' description='Classification of Breast Cancer Dataset.' audience=None use_cases=None limitations=None trade_offs=None ethics=None id=UUID('952d7089-dac6-4402-874a-89d81e308e33') created=datetime.datetime(2023, 12, 7, 14, 17, 13) updated=datetime.datetime(2023, 12, 7, 14, 17, 13) missing_permissions=False user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io') workspace=WorkspaceResponse(id=UUID('f3a544f2-afb5-4672-934a-7a465c66201c'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 10, 23, 15, 34, 47), updated=datetime.datetime(2023, 10, 23, 15, 34, 47)), metadata=None, name='default') tags=[TagResponseModel(id=UUID('0030e89b-b3a1-4267-a2d8-16fad8a39860'), created=datetime.datetime(2023, 11, 30, 9, 45, 52), updated=datetime.datetime(2023, 11, 30, 9, 45, 52), missing_permissions=False, name='classification', color=, tagged_count=1), TagResponseModel(id=UUID('e308de9a-819a-4079-8c09-336f55c095c8'), created=datetime.datetime(2023, 11, 30, 9, 45, 52), updated=datetime.datetime(2023, 11, 30, 9, 45, 52), missing_permissions=False, name='sklearn', color=, tagged_count=1)] latest_version='14'\n", + "Model breast_cancer_classifier has 14 versions\n" + ] + } + ], + "source": [ + "client = Client()\n", + "zenml_model = client.get_model(\"breast_cancer_classifier\")\n", + "print(zenml_model)\n", "\n", - " return predictions\n" + "print(f\"Model {zenml_model.name} has {len(zenml_model.versions)} versions\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can see a new model version was created when the `training` pipeline was run. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fe_t_configured()" ] }, { @@ -247,7 +1463,7 @@ "outputs": [], "source": [ "@pipeline\n", - "def _batch_inference():\n", + "def batch_inference():\n", " \"\"\"\n", " Model batch inference pipeline.\n", "\n", @@ -281,7 +1497,7 @@ "source": [ "pipeline_args = {}\n", "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"inference.yaml\")\n", - "fe_b_configured = _batch_inference.with_options(**pipeline_args)" + "fe_b_configured = batch_inference.with_options(**pipeline_args)" ] }, { @@ -300,68 +1516,6 @@ "outputs": [], "source": [] }, - { - "cell_type": "markdown", - "id": "51690802-31a7-4e6d-9f88-e6457c6c4a96", - "metadata": {}, - "source": [ - "# Huggingface Model to Sagemaker Endpoint: Automating MLOps with ZenML\n", - "Deploying Huggingface models to AWS Sagemaker endpoints typically only requires a few lines of code. However, there's a growing demand to not just deploy, but to seamlessly automate the entire flow from training to production with comprehensive lineage tracking. ZenML adeptly fills this niche, providing an end-to-end MLOps solution for Huggingface users wishing to deploy to Sagemaker. Below, we’ll walk through the architecture that ZenML employs to bring a Huggingface model into production with AWS Sagemaker. Of course all of this can be adapted to not just Sagemaker, but any other model deployment service like GCP Vertex or Azure ML Platform.\n", - "\n", - "This blog post showcases one way of using ZenML pipelines to achieve this:\n", - "\n", - "- Create and version a dataset in a feature_engineering_pipeline.\n", - "- Train/Finetune a BERT-based Sentiment Analysis NLP model and push to Huggingface Hub in a training_pipeline.\n", - "- Promote this model to Production by comparing to previous models in a promotion_pipeline.\n", - "- Deploy the model at the Production Stage to a AWS Sagemaker endpoint with a deployment_pipeline.\n", - "\n", - "\"Pipelines" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "500e3c24-b105-4a69-b2fc-e0ce1f1c1d46", - "metadata": {}, - "outputs": [], - "source": [ - "# Do the imports at the top\n", - "\n", - "import numpy as np\n", - "from datasets import DatasetDict, load_dataset\n", - "from typing_extensions import Annotated\n", - "from zenml import step\n", - "from zenml.logger import get_logger\n", - "\n", - "import os\n", - "from typing import Optional\n", - "from datetime import datetime as dt\n", - "\n", - "from zenml import pipeline\n", - "from zenml.model import ModelConfig\n", - "\n", - "from steps import (\n", - " data_loader,\n", - " notify_on_failure,\n", - " tokenization_step,\n", - " tokenizer_loader,\n", - " generate_reference_and_comparison_datasets,\n", - ")\n", - "from zenml.integrations.evidently.metrics import EvidentlyMetricConfig\n", - "from zenml.integrations.evidently.steps import (\n", - " EvidentlyColumnMapping,\n", - " evidently_report_step,\n", - ")\n", - "\n", - "from pipelines import (\n", - " sentinment_analysis_deploy_pipeline,\n", - " sentinment_analysis_promote_pipeline,\n", - " sentinment_analysis_training_pipeline,\n", - ")\n", - "\n", - "logger = get_logger(__name__)" - ] - }, { "cell_type": "markdown", "id": "fc77b660-e206-46b1-a924-407e797a8f47", @@ -373,16 +1527,6 @@ "\n" ] }, - { - "cell_type": "markdown", - "id": "31edaf46-6981-42be-99b7-9bdd91c160d5", - "metadata": {}, - "source": [ - "## 👶 Step 1: Start with feature engineering\n", - "\n", - "Automated feature engineering forms the foundation of this MLOps workflow. Thats why the first pipeline is the feature engineering pipeline. This pipeline loads some data from Huggingface and uses a base tokenizer to create a tokenized dataset. The data loader step is a simple Python function that returns a Huggingface dataloader object:" - ] - }, { "cell_type": "code", "execution_count": null, @@ -782,50 +1926,31 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "id": "606fdb3c-4eca-4d32-bccb-280743d15528", + "cell_type": "markdown", + "id": "594ee4fc-f102-4b99-bdc3-2f1670c87679", "metadata": {}, - "outputs": [], "source": [ - "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"deploying_config.yaml\")\n", + "## Congratulations!\n", "\n", - "# Deploying pipeline has new ZenML model config\n", - "model_config = ModelConfig(\n", - " name=zenml_model_name,\n", - " version=ModelStages.PRODUCTION,\n", - ")\n", - "pipeline_args[\"model_config\"] = model_config\n", - "pipeline_args[\"enable_cache\"] = False\n", - "run_args_deploying = {}\n", - "pipeline_args[\n", - " \"run_name\"\n", - "] = f\"sentinment_analysis_deploy_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "87f1f982-ab96-4207-8e7e-e318473587e9", - "metadata": {}, - "outputs": [], - "source": [ - "sentinment_analysis_deploy_pipeline.with_options(**pipeline_args)(\n", - " **run_args_deploying\n", - ")" + "You just built two ML pipelines! You trained two models, evaluated them against\n", + "a test set, registered the best one with the ZenML model control plane,\n", + "and served some predictions. You also learned how to iterate on your models and\n", + "data by using some of the ZenML utility abstractions. You saw how to view your\n", + "artifacts and stacks via the CLI as well as the ZenML Dashboard.\n", + "\n", + "And that is just the tip of the iceberg of what ZenML can do; check out the [**docs**](https://docs.zenml.io/) to learn more\n", + "about the capabilities of ZenML.\n", + "\n", + "## What to do now\n", + "\n", + "* If you have questions or feedback... join our [**Slack Community**](https://zenml.io/slack) and become part of the ZenML family!\n", + "* If you want to try ZenML in a real-world setting... check out the [ZenML Cloud](https://cloud.zenml.io/)." ] }, { "cell_type": "markdown", - "id": "594ee4fc-f102-4b99-bdc3-2f1670c87679", "metadata": {}, - "source": [ - "ZenML builds upon the straightforward deployment capability of Huggingface models to AWS Sagemaker, and transforms it into a sophisticated, repeatable, and transparent MLOps workflow. It takes charge of the intricate steps necessary for modern ML systems, ensuring that software engineering leads can focus on iteration and innovation rather than operational intricacies.\n", - "\n", - "To delve deeper into each stage, refer to the comprehensive guide on GitHub[: zenml-io/zenml-huggingface-sagemak](https://github.com/zenml-io/zenml-huggingface-sagemaker)er. Additionally[, this YouTube playli](https://www.youtube.com/watch?v=Q1EH2H8Akgo&list=PLhNrLW_IWplw6dBbmGcL828-atJMu3CwF)st provides a detailed visual walkthrough of the entire pipeline: Huggingface to Sagemaker ZenML tutorial.\n", - "\n", - "Interested in standardizing your MLOps workflows? ZenML Cloud is now available to all - get a managed ZenML server with important features such as RBAC and pipeline trigge[rs. Book a ](https://zenml.io/book-a-demo)demo with us now to learn how you can create your own MLOps pipelines today." - ] + "source": [] } ], "metadata": { diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py index 01160fe..dbb8bca 100644 --- a/template/steps/model_evaluator.py +++ b/template/steps/model_evaluator.py @@ -91,4 +91,4 @@ def model_evaluator( ) ### YOUR CODE ENDS HERE ### - return float(trn_acc) + return float(tst_acc) diff --git a/templates/globals.j2 b/templates/globals.j2 deleted file mode 100644 index cef7b18..0000000 --- a/templates/globals.j2 +++ /dev/null @@ -1,14 +0,0 @@ -{# -This is where global variables can be defined, which then can be used in one -or more templates. This is especially useful for variables that are generated -randomly, such as random names and passwords. - -For example, if the variable "foo" is defined here: - - {% set foo = "bar" %} - -it can be used in any template by including this file at the top: - - {% include "global_variables" %} - This is my foo: {{ foo }} -#} diff --git a/templates/license b/templates/license deleted file mode 100644 index 3697641..0000000 --- a/templates/license +++ /dev/null @@ -1,110 +0,0 @@ -{% if open_source_license == 'mit' -%} -MIT License - -Copyright (c) {{ full_name }} {% now 'local', '%Y' %} - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -{% elif open_source_license == 'bsd' %} - -BSD License - -Copyright (c) {{ full_name }} {% now 'local', '%Y' %}. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. -{% elif open_source_license == 'isc' -%} -ISC License - -Copyright (c) {{ full_name }} {% now 'local', '%Y' %} - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -{% elif open_source_license == 'apache' -%} -Apache Software License 2.0 - -Copyright (c) {{ full_name }} {% now 'local', '%Y' %}. All rights reserved. - -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. -{% elif open_source_license == 'gpl3' -%} -GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - {{ project_short_description }} - Copyright (C) {{ full_name }} {% now 'local', '%Y' %} - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. -{% endif %} \ No newline at end of file diff --git a/templates/license_header b/templates/license_header deleted file mode 100644 index e02240c..0000000 --- a/templates/license_header +++ /dev/null @@ -1,2 +0,0 @@ -{%- macro license() %}{% include 'templates/license' %}{% endmacro -%} -# {{ license() | replace('\n', '\n# ') }} \ No newline at end of file From 7d3e4bc207505d12b06d94248e876c8fb37c6162 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Fri, 8 Dec 2023 10:29:56 +0100 Subject: [PATCH 11/48] new notebook --- template/run.ipynb | 1646 +++++++++++++++++++++----------------------- 1 file changed, 800 insertions(+), 846 deletions(-) diff --git a/template/run.ipynb b/template/run.ipynb index f26233b..e0ac72e 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -44,124 +44,16 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: zenml[server] in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (0.50.0)\n", - "Requirement already satisfied: alembic<1.9.0,>=1.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (1.8.1)\n", - "Requirement already satisfied: azure-mgmt-resource>=21.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (23.0.1)\n", - "Requirement already satisfied: bcrypt==4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (4.0.1)\n", - "Requirement already satisfied: click<8.1.4,>=8.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (8.1.3)\n", - "Requirement already satisfied: click-params<0.4.0,>=0.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.3.0)\n", - "Requirement already satisfied: cloudpickle<3,>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (2.2.1)\n", - "Requirement already satisfied: distro<2.0.0,>=1.6.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (1.8.0)\n", - "Requirement already satisfied: docker<6.2.0,>=6.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (6.1.3)\n", - "Requirement already satisfied: gitpython<4.0.0,>=3.1.18 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (3.1.40)\n", - "Requirement already satisfied: httplib2<0.20,>=0.19.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.19.1)\n", - "Requirement already satisfied: pandas>=1.1.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (2.0.3)\n", - "Requirement already satisfied: passlib<1.8.0,>=1.7.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from passlib[bcrypt]<1.8.0,>=1.7.4->zenml[server]) (1.7.4)\n", - "Requirement already satisfied: psutil>=5.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (5.9.6)\n", - "Requirement already satisfied: pydantic<1.11,>=1.9.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (1.10.13)\n", - "Requirement already satisfied: pymysql<1.1.0,>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (1.0.3)\n", - "Requirement already satisfied: pyparsing<3,>=2.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (2.4.7)\n", - "Requirement already satisfied: python-dateutil<3.0.0,>=2.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (2.8.2)\n", - "Requirement already satisfied: pyyaml>=6.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (6.0.1)\n", - "Requirement already satisfied: rich>=12.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich[jupyter]>=12.0.0->zenml[server]) (13.7.0)\n", - "Requirement already satisfied: sqlalchemy_utils==0.38.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.38.3)\n", - "Requirement already satisfied: sqlmodel==0.0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.0.8)\n", - "Requirement already satisfied: Jinja2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (3.1.2)\n", - "Requirement already satisfied: fastapi<0.100,>=0.75 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.99.1)\n", - "Requirement already satisfied: fastapi-utils<0.3.0,>=0.2.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.2.1)\n", - "Requirement already satisfied: ipinfo>=4.4.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (5.0.0)\n", - "Requirement already satisfied: orjson<3.9.0,>=3.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (3.8.14)\n", - "Requirement already satisfied: pyjwt==2.7.* in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]) (2.7.0)\n", - "Requirement already satisfied: python-multipart<0.1.0,>=0.0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from zenml[server]) (0.0.6)\n", - "Requirement already satisfied: uvicorn>=0.17.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.24.0.post1)\n", - "Requirement already satisfied: cryptography>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]) (41.0.7)\n", - "Requirement already satisfied: SQLAlchemy>=1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlalchemy_utils==0.38.3->zenml[server]) (1.4.41)\n", - "Requirement already satisfied: sqlalchemy2-stubs in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlmodel==0.0.8->zenml[server]) (0.0.2a37)\n", - "Requirement already satisfied: Mako in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml[server]) (1.3.0)\n", - "Requirement already satisfied: importlib-metadata in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml[server]) (6.8.0)\n", - "Requirement already satisfied: importlib-resources in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic<1.9.0,>=1.8.1->zenml[server]) (6.1.1)\n", - "Requirement already satisfied: isodate<1.0.0,>=0.6.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml[server]) (0.6.1)\n", - "Requirement already satisfied: azure-common~=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml[server]) (1.1.28)\n", - "Requirement already satisfied: azure-mgmt-core<2.0.0,>=1.3.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-resource>=21.0.0->zenml[server]) (1.4.0)\n", - "Requirement already satisfied: validators<0.19,>=0.18 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from click-params<0.4.0,>=0.3.0->zenml[server]) (0.18.2)\n", - "Requirement already satisfied: packaging>=14.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml[server]) (23.2)\n", - "Requirement already satisfied: requests>=2.26.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml[server]) (2.31.0)\n", - "Requirement already satisfied: urllib3>=1.26.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml[server]) (2.1.0)\n", - "Requirement already satisfied: websocket-client>=0.32.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<6.2.0,>=6.1.0->zenml[server]) (1.6.4)\n", - "Requirement already satisfied: starlette<0.28.0,>=0.27.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi<0.100,>=0.75->zenml[server]) (0.27.0)\n", - "Requirement already satisfied: typing-extensions>=4.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi<0.100,>=0.75->zenml[server]) (4.8.0)\n", - "Requirement already satisfied: gitdb<5,>=4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitpython<4.0.0,>=3.1.18->zenml[server]) (4.0.11)\n", - "Requirement already satisfied: cachetools in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipinfo>=4.4.3->zenml[server]) (5.3.2)\n", - "Requirement already satisfied: aiohttp<=4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipinfo>=4.4.3->zenml[server]) (3.9.1)\n", - "Requirement already satisfied: pytz>=2020.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml[server]) (2023.3.post1)\n", - "Requirement already satisfied: tzdata>=2022.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml[server]) (2023.3)\n", - "Requirement already satisfied: numpy>=1.20.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas>=1.1.5->zenml[server]) (1.24.4)\n", - "Requirement already satisfied: six>=1.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from python-dateutil<3.0.0,>=2.8.1->zenml[server]) (1.16.0)\n", - "Requirement already satisfied: markdown-it-py>=2.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich>=12.0.0->rich[jupyter]>=12.0.0->zenml[server]) (3.0.0)\n", - "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich>=12.0.0->rich[jupyter]>=12.0.0->zenml[server]) (2.17.2)\n", - "Requirement already satisfied: ipywidgets<9,>=7.5.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from rich[jupyter]>=12.0.0->zenml[server]) (8.1.1)\n", - "Requirement already satisfied: h11>=0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn>=0.17.5->uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.14.0)\n", - "Requirement already satisfied: httptools>=0.5.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.6.1)\n", - "Requirement already satisfied: python-dotenv>=0.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (1.0.0)\n", - "Requirement already satisfied: uvloop!=0.15.0,!=0.15.1,>=0.14.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.19.0)\n", - "Requirement already satisfied: watchfiles>=0.13 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (0.21.0)\n", - "Requirement already satisfied: websockets>=10.4 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn[standard]>=0.17.5; extra == \"server\"->zenml[server]) (12.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from Jinja2->zenml[server]) (2.1.3)\n", - "Requirement already satisfied: attrs>=17.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (23.1.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (6.0.4)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (1.9.3)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (1.4.0)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (1.3.1)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<=4->ipinfo>=4.4.3->zenml[server]) (4.0.3)\n", - "Requirement already satisfied: azure-core<2.0.0,>=1.26.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from azure-mgmt-core<2.0.0,>=1.3.2->azure-mgmt-resource>=21.0.0->zenml[server]) (1.29.5)\n", - "Requirement already satisfied: cffi>=1.12 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from cryptography>=3.4.0->pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]) (1.16.0)\n", - "Requirement already satisfied: smmap<6,>=3.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitdb<5,>=4.0.1->gitpython<4.0.0,>=3.1.18->zenml[server]) (5.0.1)\n", - "Requirement already satisfied: comm>=0.1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.2.0)\n", - "Requirement already satisfied: ipython>=6.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (8.12.3)\n", - "Requirement already satisfied: traitlets>=4.3.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (5.14.0)\n", - "Requirement already satisfied: widgetsnbextension~=4.0.9 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (4.0.9)\n", - "Requirement already satisfied: jupyterlab-widgets~=3.0.9 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (3.0.9)\n", - "Requirement already satisfied: mdurl~=0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from markdown-it-py>=2.2.0->rich>=12.0.0->rich[jupyter]>=12.0.0->zenml[server]) (0.1.2)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml[server]) (3.3.2)\n", - "Requirement already satisfied: idna<4,>=2.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml[server]) (3.6)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests>=2.26.0->docker<6.2.0,>=6.1.0->zenml[server]) (2023.11.17)\n", - "Requirement already satisfied: greenlet!=0.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from SQLAlchemy>=1.3->sqlalchemy_utils==0.38.3->zenml[server]) (3.0.1)\n", - "Requirement already satisfied: anyio<5,>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from starlette<0.28.0,>=0.27.0->fastapi<0.100,>=0.75->zenml[server]) (4.1.0)\n", - "Requirement already satisfied: decorator>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from validators<0.19,>=0.18->click-params<0.4.0,>=0.3.0->zenml[server]) (5.1.1)\n", - "Requirement already satisfied: zipp>=0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from importlib-metadata->alembic<1.9.0,>=1.8.1->zenml[server]) (3.17.0)\n", - "Requirement already satisfied: sniffio>=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio<5,>=3.4.0->starlette<0.28.0,>=0.27.0->fastapi<0.100,>=0.75->zenml[server]) (1.3.0)\n", - "Requirement already satisfied: exceptiongroup>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio<5,>=3.4.0->starlette<0.28.0,>=0.27.0->fastapi<0.100,>=0.75->zenml[server]) (1.2.0)\n", - "Requirement already satisfied: pycparser in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from cffi>=1.12->cryptography>=3.4.0->pyjwt[crypto]==2.7.*; extra == \"server\"->zenml[server]) (2.21)\n", - "Requirement already satisfied: backcall in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.2.0)\n", - "Requirement already satisfied: jedi>=0.16 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.19.1)\n", - "Requirement already satisfied: matplotlib-inline in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.1.6)\n", - "Requirement already satisfied: pickleshare in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.7.5)\n", - "Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (3.0.36)\n", - "Requirement already satisfied: stack-data in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.6.3)\n", - "Requirement already satisfied: pexpect>4.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (4.9.0)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.8.3)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.7.0)\n", - "Requirement already satisfied: wcwidth in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.2.12)\n", - "Requirement already satisfied: executing>=1.2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (2.0.1)\n", - "Requirement already satisfied: asttokens>=2.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (2.4.1)\n", - "Requirement already satisfied: pure-eval in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from stack-data->ipython>=6.1.0->ipywidgets<9,>=7.5.1->rich[jupyter]>=12.0.0->zenml[server]) (0.2.2)\n" - ] - } - ], + "outputs": [], "source": [ "!pip install \"zenml[server]\"" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -174,206 +66,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations.....Requirement already satisfied: scikit-learn<1.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (1.2.2)\n", - "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Collecting mlflow<=2.6.0,>=2.1.1\n", - " Using cached mlflow-2.6.0-py3-none-any.whl.metadata (12 kB)\n", - "\u001b[2K\u001b[32m⠼\u001b[0m Installing integrations...Collecting mlserver>=1.3.3\n", - " Using cached mlserver-1.3.5-py3-none-any.whl.metadata (6.3 kB)\n", - "\u001b[2K\u001b[32m⠦\u001b[0m Installing integrations...Collecting mlserver-mlflow>=1.3.3\n", - " Using cached mlserver_mlflow-1.3.5-py3-none-any.whl.metadata (1.2 kB)\n", - "Requirement already satisfied: numpy>=1.17.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3) (1.24.4)\n", - "Requirement already satisfied: scipy>=1.3.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3) (1.10.1)\n", - "Requirement already satisfied: joblib>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3) (1.3.2)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from scikit-learn<1.3) (3.2.0)\n", - "Requirement already satisfied: click<9,>=7.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (8.1.3)\n", - "Requirement already satisfied: cloudpickle<3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (2.2.1)\n", - "\u001b[2K\u001b[32m⠧\u001b[0m Installing integrations...Collecting databricks-cli<1,>=0.8.7 (from mlflow<=2.6.0,>=2.1.1)\n", - " Using cached databricks_cli-0.18.0-py2.py3-none-any.whl.metadata (4.0 kB)\n", - "Collecting entrypoints<1 (from mlflow<=2.6.0,>=2.1.1)\n", - " Using cached entrypoints-0.4-py3-none-any.whl (5.3 kB)\n", - "Requirement already satisfied: gitpython<4,>=2.1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (3.1.40)\n", - "Requirement already satisfied: pyyaml<7,>=5.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (6.0.1)\n", - "\u001b[2K\u001b[32m⠇\u001b[0m Installing integrations...Collecting protobuf<5,>=3.12.0 (from mlflow<=2.6.0,>=2.1.1)\n", - "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations... Downloading protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl.metadata (541 bytes)\n", - "Requirement already satisfied: pytz<2024 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (2023.3.post1)\n", - "Requirement already satisfied: requests<3,>=2.17.3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (2.31.0)\n", - "Requirement already satisfied: packaging<24 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (23.2)\n", - "Requirement already satisfied: importlib-metadata!=4.7.0,<7,>=3.7.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (6.8.0)\n", - "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations...Collecting sqlparse<1,>=0.4.0 (from mlflow<=2.6.0,>=2.1.1)\n", - " Using cached sqlparse-0.4.4-py3-none-any.whl (41 kB)\n", - "Requirement already satisfied: alembic!=1.10.0,<2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (1.8.1)\n", - "Requirement already satisfied: docker<7,>=4.0.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (6.1.3)\n", - "Collecting Flask<3 (from mlflow<=2.6.0,>=2.1.1)\n", - " Using cached flask-2.3.3-py3-none-any.whl.metadata (3.6 kB)\n", - "Requirement already satisfied: pandas<3 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (2.0.3)\n", - "Collecting querystring-parser<2 (from mlflow<=2.6.0,>=2.1.1)\n", - " Using cached querystring_parser-1.2.4-py2.py3-none-any.whl (7.9 kB)\n", - "Requirement already satisfied: sqlalchemy<3,>=1.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (1.4.41)\n", - "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations...Collecting pyarrow<13,>=4.0.0 (from mlflow<=2.6.0,>=2.1.1)\n", - " Using cached pyarrow-12.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)\n", - "\u001b[2K\u001b[32m⠹\u001b[0m Installing integrations...Collecting markdown<4,>=3.3 (from mlflow<=2.6.0,>=2.1.1)\n", - " Using cached Markdown-3.5.1-py3-none-any.whl.metadata (7.1 kB)\n", - "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Collecting matplotlib<4 (from mlflow<=2.6.0,>=2.1.1)\n", - " Using cached matplotlib-3.7.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (5.7 kB)\n", - "Collecting gunicorn<22 (from mlflow<=2.6.0,>=2.1.1)\n", - " Using cached gunicorn-21.2.0-py3-none-any.whl.metadata (4.1 kB)\n", - "Requirement already satisfied: Jinja2<4,>=2.11 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlflow<=2.6.0,>=2.1.1) (3.1.2)\n", - "\u001b[2K\u001b[32m⠼\u001b[0m Installing integrations...Collecting fastapi!=0.89.0,<=0.89.1,>=0.88.0 (from mlserver>=1.3.3)\n", - " Using cached fastapi-0.89.1-py3-none-any.whl (55 kB)\n", - "Requirement already satisfied: python-dotenv in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (1.0.0)\n", - "\u001b[2K\u001b[32m⠧\u001b[0m Installing integrations...Collecting grpcio (from mlserver>=1.3.3)\n", - " Using cached grpcio-1.59.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\n", - "Requirement already satisfied: importlib-resources in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (6.1.1)\n", - "Requirement already satisfied: uvicorn in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (0.24.0.post1)\n", - "Collecting starlette-exporter (from mlserver>=1.3.3)\n", - " Using cached starlette_exporter-0.17.1-py3-none-any.whl.metadata (10 kB)\n", - "\u001b[2K\u001b[32m⠇\u001b[0m Installing integrations...Collecting py-grpc-prometheus (from mlserver>=1.3.3)\n", - " Using cached py_grpc_prometheus-0.7.0-py3-none-any.whl (12 kB)\n", - "Collecting aiokafka (from mlserver>=1.3.3)\n", - " Using cached aiokafka-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (17 kB)\n", - "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations...Collecting tritonclient>=2.24 (from tritonclient[http]>=2.24->mlserver>=1.3.3)\n", - " Using cached tritonclient-2.40.0-py3-none-manylinux1_x86_64.whl.metadata (2.8 kB)\n", - "Collecting aiofiles (from mlserver>=1.3.3)\n", - " Using cached aiofiles-23.2.1-py3-none-any.whl.metadata (9.7 kB)\n", - "Requirement already satisfied: orjson in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (3.8.14)\n", - "Requirement already satisfied: uvloop in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from mlserver>=1.3.3) (0.19.0)\n", - "Requirement already satisfied: Mako in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from alembic!=1.10.0,<2->mlflow<=2.6.0,>=2.1.1) (1.3.0)\n", - "Requirement already satisfied: pyjwt>=1.7.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1) (2.7.0)\n", - "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations...Collecting oauthlib>=3.1.0 (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached oauthlib-3.2.2-py3-none-any.whl (151 kB)\n", - "Collecting tabulate>=0.7.7 (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached tabulate-0.9.0-py3-none-any.whl (35 kB)\n", - "Requirement already satisfied: six>=1.10.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1) (1.16.0)\n", - "Requirement already satisfied: urllib3<3,>=1.26.7 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from databricks-cli<1,>=0.8.7->mlflow<=2.6.0,>=2.1.1) (2.1.0)\n", - "Requirement already satisfied: websocket-client>=0.32.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from docker<7,>=4.0.0->mlflow<=2.6.0,>=2.1.1) (1.6.4)\n", - "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations...Requirement already satisfied: pydantic!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<2.0.0,>=1.6.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (1.10.13)\n", - "Collecting starlette==0.22.0 (from fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3)\n", - " Using cached starlette-0.22.0-py3-none-any.whl (64 kB)\n", - "Requirement already satisfied: anyio<5,>=3.4.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from starlette==0.22.0->fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (4.1.0)\n", - "Requirement already satisfied: typing-extensions>=3.10.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from starlette==0.22.0->fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (4.8.0)\n", - "\u001b[2K\u001b[32m⠹\u001b[0m Installing integrations...Collecting Werkzeug>=2.3.7 (from Flask<3->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached werkzeug-3.0.1-py3-none-any.whl.metadata (4.1 kB)\n", - "Collecting itsdangerous>=2.1.2 (from Flask<3->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached itsdangerous-2.1.2-py3-none-any.whl (15 kB)\n", - "Collecting blinker>=1.6.2 (from Flask<3->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached blinker-1.7.0-py3-none-any.whl.metadata (1.9 kB)\n", - "Requirement already satisfied: gitdb<5,>=4.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitpython<4,>=2.1.0->mlflow<=2.6.0,>=2.1.1) (4.0.11)\n", - "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Requirement already satisfied: zipp>=0.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from importlib-metadata!=4.7.0,<7,>=3.7.0->mlflow<=2.6.0,>=2.1.1) (3.17.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from Jinja2<4,>=2.11->mlflow<=2.6.0,>=2.1.1) (2.1.3)\n", - "Collecting contourpy>=1.0.1 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.9 kB)\n", - "\u001b[2K\u001b[32m⠼\u001b[0m Installing integrations...Collecting cycler>=0.10 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)\n", - "\u001b[2K\u001b[32m⠴\u001b[0m Installing integrations...Collecting fonttools>=4.22.0 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached fonttools-4.46.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (156 kB)\n", - "Collecting kiwisolver>=1.0.1 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (6.4 kB)\n", - "\u001b[2K\u001b[32m⠧\u001b[0m Installing integrations...Collecting pillow>=6.2.0 (from matplotlib<4->mlflow<=2.6.0,>=2.1.1)\n", - " Using cached Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (9.5 kB)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from matplotlib<4->mlflow<=2.6.0,>=2.1.1) (2.4.7)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from matplotlib<4->mlflow<=2.6.0,>=2.1.1) (2.8.2)\n", - "\u001b[2K\u001b[32m⠇\u001b[0m Installing integrations...Requirement already satisfied: tzdata>=2022.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from pandas<3->mlflow<=2.6.0,>=2.1.1) (2023.3)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests<3,>=2.17.3->mlflow<=2.6.0,>=2.1.1) (3.3.2)\n", - "Requirement already satisfied: idna<4,>=2.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests<3,>=2.17.3->mlflow<=2.6.0,>=2.1.1) (3.6)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from requests<3,>=2.17.3->mlflow<=2.6.0,>=2.1.1) (2023.11.17)\n", - "Requirement already satisfied: greenlet!=0.4.17 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from sqlalchemy<3,>=1.4.0->mlflow<=2.6.0,>=2.1.1) (3.0.1)\n", - "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations...Collecting python-rapidjson>=0.9.1 (from tritonclient>=2.24->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", - " Using cached python_rapidjson-1.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)\n", - "Requirement already satisfied: aiohttp<4.0.0,>=3.8.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from tritonclient[http]>=2.24->mlserver>=1.3.3) (3.9.1)\n", - "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations...Collecting geventhttpclient<=2.0.2,>=1.4.4 (from tritonclient[http]>=2.24->mlserver>=1.3.3)\n", - " Using cached geventhttpclient-2.0.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (100 kB)\n", - "Requirement already satisfied: async-timeout in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiokafka->mlserver>=1.3.3) (4.0.3)\n", - "Requirement already satisfied: setuptools>=39.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from py-grpc-prometheus->mlserver>=1.3.3) (68.2.2)\n", - "Requirement already satisfied: prometheus-client>=0.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from py-grpc-prometheus->mlserver>=1.3.3) (0.19.0)\n", - "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations...Requirement already satisfied: h11>=0.8 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from uvicorn->mlserver>=1.3.3) (0.14.0)\n", - "Requirement already satisfied: attrs>=17.3.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (23.1.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (6.0.4)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (1.9.3)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (1.4.0)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from aiohttp<4.0.0,>=3.8.1->tritonclient[http]>=2.24->mlserver>=1.3.3) (1.3.1)\n", - "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Collecting gevent>=0.13 (from geventhttpclient<=2.0.2,>=1.4.4->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", - " Using cached gevent-23.9.1-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (13 kB)\n", - "Collecting brotli (from geventhttpclient<=2.0.2,>=1.4.4->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", - " Using cached Brotli-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (5.5 kB)\n", - "Requirement already satisfied: smmap<6,>=3.0.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from gitdb<5,>=4.0.1->gitpython<4,>=2.1.0->mlflow<=2.6.0,>=2.1.1) (5.0.1)\n", - "\u001b[2K\u001b[32m⠴\u001b[0m Installing integrations...Requirement already satisfied: sniffio>=1.1 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio<5,>=3.4.0->starlette==0.22.0->fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (1.3.0)\n", - "Requirement already satisfied: exceptiongroup>=1.0.2 in /home/htahir1/.virtualenvs/templatestarter/lib/python3.8/site-packages (from anyio<5,>=3.4.0->starlette==0.22.0->fastapi!=0.89.0,<=0.89.1,>=0.88.0->mlserver>=1.3.3) (1.2.0)\n", - "\u001b[2K\u001b[32m⠦\u001b[0m Installing integrations...Collecting zope.event (from gevent>=0.13->geventhttpclient<=2.0.2,>=1.4.4->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", - " Using cached zope.event-5.0-py3-none-any.whl.metadata (4.4 kB)\n", - "\u001b[2K\u001b[32m⠧\u001b[0m Installing integrations...Collecting zope.interface (from gevent>=0.13->geventhttpclient<=2.0.2,>=1.4.4->tritonclient[http]>=2.24->mlserver>=1.3.3)\n", - " Using cached zope.interface-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (41 kB)\n", - "\u001b[2K\u001b[32m⠇\u001b[0m Installing integrations...Using cached mlflow-2.6.0-py3-none-any.whl (18.3 MB)\n", - "Using cached mlserver-1.3.5-py3-none-any.whl (113 kB)\n", - "Using cached mlserver_mlflow-1.3.5-py3-none-any.whl (10 kB)\n", - "Using cached databricks_cli-0.18.0-py2.py3-none-any.whl (150 kB)\n", - "Using cached flask-2.3.3-py3-none-any.whl (96 kB)\n", - "Using cached gunicorn-21.2.0-py3-none-any.whl (80 kB)\n", - "Using cached Markdown-3.5.1-py3-none-any.whl (102 kB)\n", - "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations...Using cached matplotlib-3.7.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (9.2 MB)\n", - "Downloading protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl (294 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m294.6/294.6 kB\u001b[0m \u001b[31m5.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", - "\u001b[?25hUsing cached pyarrow-12.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.0 MB)\n", - "\u001b[2K\u001b[32m⠙\u001b[0m Installing integrations...Using cached tritonclient-2.40.0-py3-none-manylinux1_x86_64.whl (12.4 MB)\n", - "\u001b[2K\u001b[32m⠹\u001b[0m Installing integrations...Using cached aiofiles-23.2.1-py3-none-any.whl (15 kB)\n", - "Using cached aiokafka-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)\n", - "Using cached grpcio-1.59.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB)\n", - "Using cached starlette_exporter-0.17.1-py3-none-any.whl (14 kB)\n", - "Using cached blinker-1.7.0-py3-none-any.whl (13 kB)\n", - "Using cached contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (301 kB)\n", - "Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)\n", - "Using cached fonttools-4.46.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n", - "Using cached kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.2 MB)\n", - "Using cached Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl (3.6 MB)\n", - "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations...Using cached python_rapidjson-1.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB)\n", - "Using cached werkzeug-3.0.1-py3-none-any.whl (226 kB)\n", - "Using cached gevent-23.9.1-cp38-cp38-manylinux_2_28_x86_64.whl (6.5 MB)\n", - "Using cached Brotli-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.8 MB)\n", - "Using cached zope.event-5.0-py3-none-any.whl (6.8 kB)\n", - "Using cached zope.interface-6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249 kB)\n", - "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations...Installing collected packages: brotli, zope.interface, zope.event, Werkzeug, tabulate, sqlparse, querystring-parser, python-rapidjson, pyarrow, protobuf, pillow, oauthlib, kiwisolver, itsdangerous, gunicorn, grpcio, fonttools, entrypoints, cycler, contourpy, blinker, aiokafka, aiofiles, tritonclient, starlette, py-grpc-prometheus, matplotlib, markdown, gevent, Flask, databricks-cli, starlette-exporter, mlflow, geventhttpclient, fastapi, mlserver, mlserver-mlflow\n", - "\u001b[2K\u001b[32m⠸\u001b[0m Installing integrations... Attempting uninstall: pyarrow\n", - " Found existing installation: pyarrow 14.0.1\n", - "\u001b[2K\u001b[32m⠼\u001b[0m Installing integrations... Uninstalling pyarrow-14.0.1:\n", - " Successfully uninstalled pyarrow-14.0.1\n", - "\u001b[2K\u001b[32m⠏\u001b[0m Installing integrations... Attempting uninstall: starlette\n", - " Found existing installation: starlette 0.27.0\n", - " Uninstalling starlette-0.27.0:\n", - " Successfully uninstalled starlette-0.27.0\n", - "\u001b[2K\u001b[32m⠋\u001b[0m Installing integrations... Attempting uninstall: fastapi\n", - " Found existing installation: fastapi 0.99.1\n", - " Uninstalling fastapi-0.99.1:\n", - " Successfully uninstalled fastapi-0.99.1\n", - "\u001b[2K\u001b[32m⠹\u001b[0m Installing integrations...Successfully installed Flask-2.3.3 Werkzeug-3.0.1 aiofiles-23.2.1 aiokafka-0.9.0 blinker-1.7.0 brotli-1.1.0 contourpy-1.1.1 cycler-0.12.1 databricks-cli-0.18.0 entrypoints-0.4 fastapi-0.89.1 fonttools-4.46.0 gevent-23.9.1 geventhttpclient-2.0.2 grpcio-1.59.3 gunicorn-21.2.0 itsdangerous-2.1.2 kiwisolver-1.4.5 markdown-3.5.1 matplotlib-3.7.4 mlflow-2.6.0 mlserver-1.3.5 mlserver-mlflow-1.3.5 oauthlib-3.2.2 pillow-10.1.0 protobuf-4.25.1 py-grpc-prometheus-0.7.0 pyarrow-12.0.1 python-rapidjson-1.13 querystring-parser-1.2.4 sqlparse-0.4.4 starlette-0.22.0 starlette-exporter-0.17.1 tabulate-0.9.0 tritonclient-2.40.0 zope.event-5.0 zope.interface-6.1\n", - "\u001b[2K\u001b[32m⠦\u001b[0m Installing integrations...\n", - "\u001b[1A\u001b[2K" - ] - }, - { - "data": { - "text/plain": [ - "{'status': 'ok', 'restart': True}" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - }, - { - "ename": "", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[1;31mThe Kernel crashed while executing code in the the current cell or a previous cell. Please review the code in the cell(s) to identify a possible cause of the failure. Click here for more info. View Jupyter log for further details." - ] - } - ], + "outputs": [], "source": [ "!zenml integration install sklearn mlflow -y\n", "\n", @@ -417,15 +112,24 @@ "name": "stdout", "output_type": "stream", "text": [ - "\u001b[?25l\u001b[2;36mFound existing ZenML repository at path \u001b[0m\n", - "\u001b[2;32m'/home/htahir1/workspace/zenml_io/template-starter/template'\u001b[0m\u001b[2;36m.\u001b[0m\n", + "\u001b[?25l\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", + "/home/htahir1/workspace/zenml_io/template-starter/template.\n", + "\u001b[1;35mSetting the repo active workspace to 'default'.\u001b[0m\n", + "\u001b[33mSetting the repo active stack to default.\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mZenML repository initialized at \u001b[0m\n", + "\u001b[2;35m/home/htahir1/workspace/zenml_io/template-starter/\u001b[0m\u001b[2;95mtemplate.\u001b[0m\n", "\u001b[2;32m⠋\u001b[0m\u001b[2;36m Initializing ZenML repository at \u001b[0m\n", "\u001b[2;36m/home/htahir1/workspace/zenml_io/template-starter/template.\u001b[0m\n", "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", "/home/htahir1/workspace/zenml_io/template-starter/template.\n", "\n", - "\u001b[2K\u001b[2;36mActive repository stack set to: \u001b[0m\u001b[2;32m'default'\u001b[0mive stack to 'default'...\n", - "\u001b[2K\u001b[32m⠙\u001b[0m Setting the repository active stack to 'default'...t'...\u001b[0m\n", + "\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mThe local active stack was initialized to \u001b[0m\u001b[2;32m'default'\u001b[0m\u001b[2;36m. This local configuration \u001b[0m\n", + "\u001b[2;36mwill only take effect when you're running ZenML from the initialized repository \u001b[0m\n", + "\u001b[2;36mroot, or from a subdirectory. For more information on repositories and \u001b[0m\n", + "\u001b[2;36mconfigurations, please visit \u001b[0m\n", + "\u001b[2;4;94mhttps://docs.zenml.io/user-guide/starter-guide/understand-stacks.\u001b[0m\n", + "\u001b[?25l\u001b[2;36mActive repository stack set to: \u001b[0m\u001b[2;32m'default'\u001b[0m\n", + "\u001b[2K\u001b[32m⠋\u001b[0m Setting the repository active stack to 'default'...t'...\u001b[0m\n", "\u001b[1A\u001b[2K" ] } @@ -434,24 +138,27 @@ "# Initialize ZenML and set the default stack\n", "!zenml init\n", "\n", - "!zenml stack set default\n" + "!zenml stack set default" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 2, "id": "79f775f2", "metadata": {}, "outputs": [], "source": [ "# Do the imports at the top\n", + "from typing_extensions import Annotated\n", + "from sklearn.datasets import load_breast_cancer\n", + "\n", "import random\n", - "from zenml import ExternalArtifact, pipeline, ModelVersion \n", + "import pandas as pd\n", + "from zenml import step, ExternalArtifact, pipeline, ModelVersion, get_step_context\n", "from zenml.client import Client\n", "from zenml.logger import get_logger\n", "from uuid import UUID\n", "\n", - "import os\n", "from typing import Optional, List\n", "\n", "from zenml import pipeline\n", @@ -461,13 +168,14 @@ " data_preprocessor,\n", " data_splitter,\n", " model_evaluator,\n", - " model_trainer,\n", - " inference_predict,\n", " inference_preprocessor\n", ")\n", "\n", + "from zenml.logger import get_logger\n", + "\n", "logger = get_logger(__name__)\n", "\n", + "# Initialize the ZenML client to fetch objects from the ZenML Server\n", "client = Client()" ] }, @@ -485,24 +193,17 @@ "When you're getting started with a machine learning problem you'll want to do\n", "something similar to this: import your data and get it in the right shape for\n", "your training. ZenML mostly gets out of your way when you're writing your Python\n", - "code, as you'll see from the following cell." + "code, as you'll see from the following cell.\n", + "\n", + "\"Feature" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", - "from sklearn.datasets import load_breast_cancer\n", - "from typing_extensions import Annotated\n", - "from zenml import step\n", - "from zenml.logger import get_logger\n", - "\n", - "logger = get_logger(__name__)\n", - "\n", - "\n", "@step\n", "def data_loader_simplified(\n", " random_state: int, is_inference: bool = False, target: str = \"target\"\n", @@ -554,14 +255,13 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n" ] }, @@ -774,13 +474,14 @@ "[5 rows x 31 columns]" ] }, - "execution_count": 4, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "data_loader_simplified(random_state=42).head()" + "df = data_loader_simplified(random_state=42)\n", + "df.head()" ] }, { @@ -789,7 +490,7 @@ "source": [ "Everything looks as we'd expect and the values are all in the right format 🥳.\n", "\n", - "We're now at the point where can bring all this step and some others together into a single\n", + "We're now at the point where can bring this step (and some others) together into a single\n", "pipeline, the top-level organising entity for code in ZenML. Creating such a pipeline is\n", "as simple as adding a `@pipeline` decorator to a function. This specific\n", "pipeline doesn't return a value, but that option is available to you if you need." @@ -797,7 +498,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 8, "id": "b50a9537", "metadata": {}, "outputs": [], @@ -834,13 +535,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We're ready to run the pipeline now, which we can do just -- as with the step -- by calling the\n", + "We're ready to run the pipeline now, which we can do just as with the step - by calling the\n", "pipeline function itself:" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -848,21 +549,21 @@ "output_type": "stream", "text": [ "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 3)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.950s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.267s\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.650s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.414s\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.506s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_07-16_50_18_998605\u001b[1;35m has finished in \u001b[0m\u001b[1;36m13.591s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/84da85e1-956e-4d47-8719-9ee1c3335ab5/runs/80ccff19-b000-434d-84f8-b93fd8cfbc45/dag\u001b[0m\n" + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.527s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_08-09_19_56_071661\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.394s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" ] } ], @@ -879,7 +580,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -887,20 +588,21 @@ "output_type": "stream", "text": [ "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 4)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 2)\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.294s\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.236s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.398s\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.466s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_07-16_50_36_291181\u001b[1;35m has finished in \u001b[0m\u001b[1;36m10.784s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/739a6ab3-b209-4947-8cc1-c3aafa4d9718/runs/ee337da9-e510-49df-957c-333b24cdf0b8/dag\u001b[0m\n" + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.529s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_08-09_19_58_112527\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.384s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" ] } ], @@ -912,7 +614,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Notice that the data loader step was cached, while the rest of the pipeline was rerun. \n", + "Notice that the data loader step was **cached**, while the rest of the pipeline was rerun. \n", "This is because ZenML automatically determined that nothing had changed in the data loader step, \n", "so it didn't need to rerun it." ] @@ -933,17 +635,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Error: \u001b[31m\u001b[1mYour ZenML client is already connected to a remote server. If you want to spin up a local ZenML server, please disconnect from the remote server first by running `zenml disconnect`.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "from zenml.environment import Environment\n", "\n", @@ -958,19 +652,26 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We can also fetch the pipeline from the server and view our results directly in the notebook:" + "\"Feature" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also fetch the pipeline from the server and view the results directly in the notebook:" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "feature_engineering-2023_12_07-16_50_36_291181\n" + "feature_engineering-2023_12_08-09_19_58_112527\n" ] } ], @@ -989,18 +690,18 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'dataset_tst': ArtifactResponse(id=UUID('77b1c2eb-c9bd-4030-b42c-21d06927d2b9'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 7, 16, 50, 45), updated=datetime.datetime(2023, 12, 7, 16, 50, 45), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), version='80', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_tst/b277e9ac-2631-4038-86f5-a71b7da09104', type=), metadata=None, name='dataset_tst'),\n", - " 'dataset_trn': ArtifactResponse(id=UUID('92cbfbef-0bf7-4247-9448-73c429465b82'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 7, 16, 50, 44), updated=datetime.datetime(2023, 12, 7, 16, 50, 44), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), version='82', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_trn/b277e9ac-2631-4038-86f5-a71b7da09104', type=), metadata=None, name='dataset_trn'),\n", - " 'preprocess_pipeline': ArtifactResponse(id=UUID('bf3fd112-e5d0-4c0a-aaff-18307b2401fe'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 7, 16, 50, 46), updated=datetime.datetime(2023, 12, 7, 16, 50, 46), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), version='80', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/preprocess_pipeline/b277e9ac-2631-4038-86f5-a71b7da09104', type=), metadata=None, name='preprocess_pipeline')}" + "{'preprocess_pipeline': ArtifactResponse(id=UUID('31d08c04-22f0-44ae-89ad-d0530114a043'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 8, 9, 19, 59, 419488), updated=datetime.datetime(2023, 12, 8, 9, 19, 59, 419491), user=UserResponse(id=UUID('d47f2134-eb09-41f8-9b76-4f00340c0d1b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 19, 40146), updated=datetime.datetime(2023, 12, 8, 9, 18, 19, 40148), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), version='2', uri='/home/htahir1/.config/zenml/local_stores/b640139f-5df3-4de5-8a01-0d16f0589628/data_preprocessor/preprocess_pipeline/ed50c2a3-71b1-4ef7-a590-8b4b717732e3', type=), metadata=None, name='preprocess_pipeline'),\n", + " 'dataset_trn': ArtifactResponse(id=UUID('5f934376-6357-4f8a-a813-b7996a379ef1'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 8, 9, 19, 59, 64014), updated=datetime.datetime(2023, 12, 8, 9, 19, 59, 64016), user=UserResponse(id=UUID('d47f2134-eb09-41f8-9b76-4f00340c0d1b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 19, 40146), updated=datetime.datetime(2023, 12, 8, 9, 18, 19, 40148), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), version='2', uri='/home/htahir1/.config/zenml/local_stores/b640139f-5df3-4de5-8a01-0d16f0589628/data_preprocessor/dataset_trn/ed50c2a3-71b1-4ef7-a590-8b4b717732e3', type=), metadata=None, name='dataset_trn'),\n", + " 'dataset_tst': ArtifactResponse(id=UUID('e4c66672-7e64-401e-b3e5-f9a8ab8aa6d5'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 8, 9, 19, 59, 254549), updated=datetime.datetime(2023, 12, 8, 9, 19, 59, 254551), user=UserResponse(id=UUID('d47f2134-eb09-41f8-9b76-4f00340c0d1b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 19, 40146), updated=datetime.datetime(2023, 12, 8, 9, 18, 19, 40148), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), version='2', uri='/home/htahir1/.config/zenml/local_stores/b640139f-5df3-4de5-8a01-0d16f0589628/data_preprocessor/dataset_tst/ed50c2a3-71b1-4ef7-a590-8b4b717732e3', type=), metadata=None, name='dataset_tst')}" ] }, - "execution_count": 10, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1011,25 +712,395 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 14, "metadata": {}, "outputs": [ { - "ename": "ValidationError", - "evalue": "1 validation error for DistributionPackageSource\npackage_name\n field required (type=value_error.missing)", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValidationError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 30\u001b[0m line \u001b[0;36m2\n\u001b[1;32m 1\u001b[0m \u001b[39m# Read one of the datasets:\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m run\u001b[39m.\u001b[39;49msteps[\u001b[39m\"\u001b[39;49m\u001b[39mdata_preprocessor\u001b[39;49m\u001b[39m\"\u001b[39;49m]\u001b[39m.\u001b[39;49moutputs[\u001b[39m\"\u001b[39;49m\u001b[39mdataset_trn\u001b[39;49m\u001b[39m\"\u001b[39;49m]\u001b[39m.\u001b[39;49mload()\n", - "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/models/v2/core/artifact.py:306\u001b[0m, in \u001b[0;36mArtifactResponse.load\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 299\u001b[0m \u001b[39m\u001b[39m\u001b[39m\"\"\"Materializes (loads) the data stored in this artifact.\u001b[39;00m\n\u001b[1;32m 300\u001b[0m \n\u001b[1;32m 301\u001b[0m \u001b[39mReturns:\u001b[39;00m\n\u001b[1;32m 302\u001b[0m \u001b[39m The materialized data.\u001b[39;00m\n\u001b[1;32m 303\u001b[0m \u001b[39m\"\"\"\u001b[39;00m\n\u001b[1;32m 304\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mzenml\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39martifacts\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mutils\u001b[39;00m \u001b[39mimport\u001b[39;00m load_artifact_from_response\n\u001b[0;32m--> 306\u001b[0m \u001b[39mreturn\u001b[39;00m load_artifact_from_response(\u001b[39mself\u001b[39;49m)\n", - "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/artifacts/utils.py:381\u001b[0m, in \u001b[0;36mload_artifact_from_response\u001b[0;34m(artifact)\u001b[0m\n\u001b[1;32m 373\u001b[0m logger\u001b[39m.\u001b[39mwarning(\n\u001b[1;32m 374\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mUnable to restore artifact store while trying to load artifact \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 375\u001b[0m \u001b[39m\"\u001b[39m\u001b[39m`\u001b[39m\u001b[39m%s\u001b[39;00m\u001b[39m`. If this artifact is stored in a remote artifact store, \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 376\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mthis might lead to issues when trying to load the artifact.\u001b[39m\u001b[39m\"\u001b[39m,\n\u001b[1;32m 377\u001b[0m artifact\u001b[39m.\u001b[39mid,\n\u001b[1;32m 378\u001b[0m )\n\u001b[1;32m 380\u001b[0m \u001b[39m# breakpoint()\u001b[39;00m\n\u001b[0;32m--> 381\u001b[0m \u001b[39mreturn\u001b[39;00m _load_artifact_from_uri(\n\u001b[1;32m 382\u001b[0m materializer\u001b[39m=\u001b[39;49martifact\u001b[39m.\u001b[39;49mmaterializer,\n\u001b[1;32m 383\u001b[0m data_type\u001b[39m=\u001b[39;49martifact\u001b[39m.\u001b[39;49mdata_type,\n\u001b[1;32m 384\u001b[0m uri\u001b[39m=\u001b[39;49martifact\u001b[39m.\u001b[39;49muri,\n\u001b[1;32m 385\u001b[0m )\n", - "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/artifacts/utils.py:468\u001b[0m, in \u001b[0;36m_load_artifact_from_uri\u001b[0;34m(materializer, data_type, uri)\u001b[0m\n\u001b[1;32m 465\u001b[0m \u001b[39m# Resolve the artifact class\u001b[39;00m\n\u001b[1;32m 466\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[1;32m 467\u001b[0m \u001b[39m# breakpoint()\u001b[39;00m\n\u001b[0;32m--> 468\u001b[0m artifact_class \u001b[39m=\u001b[39m source_utils\u001b[39m.\u001b[39;49mload(data_type)\n\u001b[1;32m 469\u001b[0m \u001b[39mexcept\u001b[39;00m (\u001b[39mModuleNotFoundError\u001b[39;00m, \u001b[39mAttributeError\u001b[39;00m) \u001b[39mas\u001b[39;00m e:\n\u001b[1;32m 470\u001b[0m logger\u001b[39m.\u001b[39merror(\n\u001b[1;32m 471\u001b[0m \u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mZenML cannot locate and import the data type of this \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 472\u001b[0m \u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39martifact \u001b[39m\u001b[39m'\u001b[39m\u001b[39m{\u001b[39;00mdata_type\u001b[39m}\u001b[39;00m\u001b[39m'\u001b[39m\u001b[39m.\u001b[39m\u001b[39m\"\u001b[39m\n\u001b[1;32m 473\u001b[0m )\n", - "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/zenml/utils/source_utils.py:75\u001b[0m, in \u001b[0;36mload\u001b[0;34m(source)\u001b[0m\n\u001b[1;32m 73\u001b[0m import_root \u001b[39m=\u001b[39m get_source_root()\n\u001b[1;32m 74\u001b[0m \u001b[39melif\u001b[39;00m source\u001b[39m.\u001b[39mtype \u001b[39m==\u001b[39m SourceType\u001b[39m.\u001b[39mDISTRIBUTION_PACKAGE:\n\u001b[0;32m---> 75\u001b[0m source \u001b[39m=\u001b[39m DistributionPackageSource\u001b[39m.\u001b[39;49mparse_obj(source)\n\u001b[1;32m 76\u001b[0m \u001b[39mif\u001b[39;00m source\u001b[39m.\u001b[39mversion:\n\u001b[1;32m 77\u001b[0m current_package_version \u001b[39m=\u001b[39m _get_package_version(\n\u001b[1;32m 78\u001b[0m package_name\u001b[39m=\u001b[39msource\u001b[39m.\u001b[39mpackage_name\n\u001b[1;32m 79\u001b[0m )\n", - "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/pydantic/main.py:526\u001b[0m, in \u001b[0;36mpydantic.main.BaseModel.parse_obj\u001b[0;34m()\u001b[0m\n", - "File \u001b[0;32m~/.virtualenvs/templatestarter/lib/python3.8/site-packages/pydantic/main.py:341\u001b[0m, in \u001b[0;36mpydantic.main.BaseModel.__init__\u001b[0;34m()\u001b[0m\n", - "\u001b[0;31mValidationError\u001b[0m: 1 validation error for DistributionPackageSource\npackage_name\n field required (type=value_error.missing)" - ] + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
42814.53019.3494.25659.70.083880.078000.0881700.029250.14730.05746...28.39108.10830.50.108900.264900.377900.095940.24710.074631
37019.55023.21128.901174.00.101000.131800.1856000.102100.19890.05884...30.44142.001313.00.125100.241400.382900.182500.25760.076020
5714.25022.1596.42645.70.104900.200800.2135000.086530.19490.07292...29.51119.10959.50.164000.624700.692200.178500.28440.113200
33211.66017.0773.70421.00.075610.036300.0083060.011620.16710.05731...19.7483.61542.50.099580.064760.030460.042620.27310.068251
2418.61020.25122.101094.00.094400.106600.1490000.077310.16970.05699...27.26139.901403.00.133800.211700.344600.149000.23410.074210
..................................................................
7118.05016.15120.201006.00.106500.214600.1684000.108000.21520.06673...18.91150.101610.00.147800.563400.378600.210200.37510.110800
1068.72615.8355.84230.90.115000.082010.0413200.019240.16490.07633...19.6264.48284.40.172400.236400.245600.105000.29260.101701
27016.24018.77108.80805.10.106600.180200.1948000.090520.18760.06684...25.09126.901031.00.136500.470600.502600.173200.27700.106300
43513.38030.7286.34557.20.092450.074260.0281900.032640.13750.06016...41.6196.69705.60.117200.142100.070030.077630.21960.076751
1029.77716.9962.50290.20.103700.084040.0433400.017780.15840.07065...21.4771.68367.00.146700.176500.130000.053340.25330.084681
\n", + "

378 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "428 14.530 19.34 94.25 659.7 0.08388 \n", + "370 19.550 23.21 128.90 1174.0 0.10100 \n", + "57 14.250 22.15 96.42 645.7 0.10490 \n", + "332 11.660 17.07 73.70 421.0 0.07561 \n", + "24 18.610 20.25 122.10 1094.0 0.09440 \n", + ".. ... ... ... ... ... \n", + "71 18.050 16.15 120.20 1006.0 0.10650 \n", + "106 8.726 15.83 55.84 230.9 0.11500 \n", + "270 16.240 18.77 108.80 805.1 0.10660 \n", + "435 13.380 30.72 86.34 557.2 0.09245 \n", + "102 9.777 16.99 62.50 290.2 0.10370 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "428 0.07800 0.088170 0.02925 0.1473 \n", + "370 0.13180 0.185600 0.10210 0.1989 \n", + "57 0.20080 0.213500 0.08653 0.1949 \n", + "332 0.03630 0.008306 0.01162 0.1671 \n", + "24 0.10660 0.149000 0.07731 0.1697 \n", + ".. ... ... ... ... \n", + "71 0.21460 0.168400 0.10800 0.2152 \n", + "106 0.08201 0.041320 0.01924 0.1649 \n", + "270 0.18020 0.194800 0.09052 0.1876 \n", + "435 0.07426 0.028190 0.03264 0.1375 \n", + "102 0.08404 0.043340 0.01778 0.1584 \n", + "\n", + " mean fractal dimension ... worst texture worst perimeter worst area \\\n", + "428 0.05746 ... 28.39 108.10 830.5 \n", + "370 0.05884 ... 30.44 142.00 1313.0 \n", + "57 0.07292 ... 29.51 119.10 959.5 \n", + "332 0.05731 ... 19.74 83.61 542.5 \n", + "24 0.05699 ... 27.26 139.90 1403.0 \n", + ".. ... ... ... ... ... \n", + "71 0.06673 ... 18.91 150.10 1610.0 \n", + "106 0.07633 ... 19.62 64.48 284.4 \n", + "270 0.06684 ... 25.09 126.90 1031.0 \n", + "435 0.06016 ... 41.61 96.69 705.6 \n", + "102 0.07065 ... 21.47 71.68 367.0 \n", + "\n", + " worst smoothness worst compactness worst concavity \\\n", + "428 0.10890 0.26490 0.37790 \n", + "370 0.12510 0.24140 0.38290 \n", + "57 0.16400 0.62470 0.69220 \n", + "332 0.09958 0.06476 0.03046 \n", + "24 0.13380 0.21170 0.34460 \n", + ".. ... ... ... \n", + "71 0.14780 0.56340 0.37860 \n", + "106 0.17240 0.23640 0.24560 \n", + "270 0.13650 0.47060 0.50260 \n", + "435 0.11720 0.14210 0.07003 \n", + "102 0.14670 0.17650 0.13000 \n", + "\n", + " worst concave points worst symmetry worst fractal dimension target \n", + "428 0.09594 0.2471 0.07463 1 \n", + "370 0.18250 0.2576 0.07602 0 \n", + "57 0.17850 0.2844 0.11320 0 \n", + "332 0.04262 0.2731 0.06825 1 \n", + "24 0.14900 0.2341 0.07421 0 \n", + ".. ... ... ... ... \n", + "71 0.21020 0.3751 0.11080 0 \n", + "106 0.10500 0.2926 0.10170 1 \n", + "270 0.17320 0.2770 0.10630 0 \n", + "435 0.07763 0.2196 0.07675 1 \n", + "102 0.05334 0.2533 0.08468 1 \n", + "\n", + "[378 rows x 31 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1041,30 +1112,68 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We can also get the artifacts directly. " + "We can also get the artifacts directly. Each time you create a new pipeline run, a new `artifact version` is created.\n", + "\n", + "You can fetch these artifact and their versions using the `client`: " ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 15, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "ArtifactResponse(id=UUID('92cbfbef-0bf7-4247-9448-73c429465b82'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 7, 16, 50, 44), updated=datetime.datetime(2023, 12, 7, 16, 50, 44), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), version='82', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_trn/b277e9ac-2631-4038-86f5-a71b7da09104', type=), metadata=None, name='dataset_trn')" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" + "ename": "AttributeError", + "evalue": "'ArtifactResponse' object has no attribute 'versions'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 33\u001b[0m line \u001b[0;36m5\n\u001b[1;32m 2\u001b[0m dataset_tst_artifact \u001b[39m=\u001b[39m client\u001b[39m.\u001b[39mget_artifact(\u001b[39m\"\u001b[39m\u001b[39mdataset_tst\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[1;32m 3\u001b[0m preprocessing_pipeline_artifact \u001b[39m=\u001b[39m client\u001b[39m.\u001b[39mget_artifact(\u001b[39m\"\u001b[39m\u001b[39mpreprocess_pipeline\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m----> 5\u001b[0m \u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mThe training set has \u001b[39m\u001b[39m{\u001b[39;00m\u001b[39mlen\u001b[39m(dataset_trn_artifact\u001b[39m.\u001b[39mversions)\u001b[39m}\u001b[39;00m\u001b[39m records, and the test set has \u001b[39m\u001b[39m{\u001b[39;00m\u001b[39mlen\u001b[39m(dataset_tst_artifact\u001b[39m.\u001b[39mversions)\u001b[39m}\u001b[39;00m\u001b[39m records.\u001b[39m\u001b[39m\"\u001b[39m\n", + "\u001b[0;31mAttributeError\u001b[0m: 'ArtifactResponse' object has no attribute 'versions'" + ] } ], "source": [ "dataset_trn_artifact = client.get_artifact(\"dataset_trn\")\n", "dataset_tst_artifact = client.get_artifact(\"dataset_tst\")\n", + "preprocessing_pipeline_artifact = client.get_artifact(\"preprocess_pipeline\")\n", + "\n", + "f\"The training set has {len(dataset_trn_artifact.versions)} records, and the test set has {len(dataset_tst_artifact.versions)} records.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you started with a fresh install, then you would have two versions corresponding\n", + "to the two pipelines that we ran above. Let's select the latter one to move forward: " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'ArtifactResponse' object has no attribute 'latest_version'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 35\u001b[0m line \u001b[0;36m2\n\u001b[1;32m 1\u001b[0m \u001b[39m# Choose the last version\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m dataset_trn_artifact_version \u001b[39m=\u001b[39m dataset_trn_artifact\u001b[39m.\u001b[39;49mlatest_version\n\u001b[1;32m 3\u001b[0m dataset_tst_artifact_version \u001b[39m=\u001b[39m dataset_tst_artifact\u001b[39m.\u001b[39mlatest_version\n\u001b[1;32m 5\u001b[0m \u001b[39m# Load it again to verify\u001b[39;00m\n", + "\u001b[0;31mAttributeError\u001b[0m: 'ArtifactResponse' object has no attribute 'latest_version'" + ] + } + ], + "source": [ + "# Choose the last version\n", + "dataset_trn_artifact_version = dataset_trn_artifact.latest_version\n", + "dataset_tst_artifact_version = dataset_tst_artifact.latest_version\n", "\n", - "dataset_trn_artifact" + "# Load it again to verify\n", + "dataset_trn_artifact_version.load()" ] }, { @@ -1092,12 +1201,14 @@ "\n", "We'll start with two simple models, a SGD Classifier and a Random Forest\n", "Classifier, both batteries-included from `sklearn`. We'll train them both on the\n", - "same data and then compare their performance." + "same data and then compare their performance.\n", + "\n", + "\"Training" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -1155,7 +1266,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -1202,7 +1313,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -1210,38 +1321,41 @@ "output_type": "stream", "text": [ "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 13)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.695s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.310s\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", "\u001b[1;35mTrain accuracy=100.00%\u001b[0m\n", "\u001b[1;35mTest accuracy=95.71%\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.661s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_07-17_07_26_910917\u001b[1;35m has finished in \u001b[0m\u001b[1;36m10.706s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/c5622964-5dae-488c-a3d8-8564f4b47e30/runs/bae238a7-7df5-407b-a70a-6ed3ddcd2d60/dag\u001b[0m\n" + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.140s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_08-09_21_18_513475\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.623s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" ] } ], "source": [ - "# Use a random forest model\n", - "training(model_type=\"rf\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)\n", + "# Use a random forest model with the chosen datasets.\n", + "# We need to pass the ID's of the datasets into the function\n", + "training(\n", + " model_type=\"rf\",\n", + " train_dataset_id=dataset_trn_artifact.id, # dataset_trn_artifact_version.id,\n", + " test_dataset_id=dataset_tst_artifact.id # dataset_tst_artifact_version.id\n", + ")\n", "\n", "rf_run = client.get_pipeline(\"training\").last_run" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -1249,25 +1363,23 @@ "output_type": "stream", "text": [ "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 14)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 2)\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.781s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.152s\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTrain accuracy=87.57%\u001b[0m\n", - "\u001b[1;35mTest accuracy=90.18%\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.756s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_07-17_07_43_757223\u001b[1;35m has finished in \u001b[0m\u001b[1;36m11.332s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/ba6e6157-88ba-4347-80bb-89bca2f7fb1b/runs/27dcce8a-3787-4daa-a1bb-e24ebee82bc9/dag\u001b[0m\n" + "\u001b[1;35mTrain accuracy=57.94%\u001b[0m\n", + "\u001b[1;35mTest accuracy=53.37%\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.207s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_08-09_21_20_671807\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.519s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" ] } ], @@ -1289,7 +1401,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -1298,7 +1410,7 @@ "True" ] }, - "execution_count": 32, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1312,7 +1424,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# ⌚ Step 3: Associating a model with your pipeline" + "# 💯 Step 3: Associating a model with your pipeline" ] }, { @@ -1323,31 +1435,29 @@ "all the models produced as you develop your experiments and use-cases. Luckily, ZenML offers a *Model Control Plane*,\n", "which is a central register of all your ML models.\n", "\n", - "You can easily create a ZenML Model and associate it with your pipelines using the `ModelVersion` object:" + "You can easily create a ZenML `Model` and associate it with your pipelines using the `ModelVersion` object:" ] }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "pipeline_settings = {}\n", + "\n", + "# Lets add some metadata to the model to make it identifiable\n", "pipeline_settings[\"model_version\"] = ModelVersion(\n", " name=\"breast_cancer_classifier\",\n", " license=\"Apache 2.0\",\n", " description=\"A breast cancer classifier\",\n", - " tags=[\"classification\", \"sklearn\"],\n", - ")\n", - "\n", - "# the `with_options` method allows us to pass in pipeline settings\n", - "# and returns a configured pipeline\n", - "training_configured = training.with_options(**pipeline_settings)" + " tags=[\"breast_cancer\", \"classifier\"],\n", + ")" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -1355,31 +1465,39 @@ "output_type": "stream", "text": [ "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 14)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36m13\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 2)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model \u001b[0m\u001b[1;36mbreast_cancer_classifier\u001b[1;35m was created implicitly.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36msgd\u001b[1;35m was created.\u001b[0m\n", "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_07-17_08_57_860304\u001b[1;35m has finished in \u001b[0m\u001b[1;36m6.124s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/ba6e6157-88ba-4347-80bb-89bca2f7fb1b/runs/ce39950a-313c-434c-bc3a-a62f2e5ed4bd/dag\u001b[0m\n" + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_08-09_21_36_798853\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.252s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" ] } ], "source": [ + "# Let's train the SGD model and set the version name to \"sgd\"\n", + "pipeline_settings[\"model_version\"].version = \"sgd\"\n", + "\n", + "# the `with_options` method allows us to pass in pipeline settings\n", + "# and returns a configured pipeline\n", + "training_configured = training.with_options(**pipeline_settings)\n", + "\n", "# We can now run this as usual\n", "training_configured(model_type=\"sgd\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)" ] }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -1387,25 +1505,32 @@ "output_type": "stream", "text": [ "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 13)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36m14\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 1)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36mrf\u001b[1;35m was created.\u001b[0m\n", "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_07-17_09_08_682638\u001b[1;35m has finished in \u001b[0m\u001b[1;36m5.989s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/c5622964-5dae-488c-a3d8-8564f4b47e30/runs/85f154cf-675d-45ac-87b3-b36673b63fe7/dag\u001b[0m\n" + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_08-09_21_38_756106\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.238s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" ] } ], "source": [ - "# We can now run this as usual\n", + "# Let's train the RF model and set the version name to \"rf\"\n", + "pipeline_settings[\"model_version\"].version = \"rf\"\n", + "\n", + "# the `with_options` method allows us to pass in pipeline settings\n", + "# and returns a configured pipeline\n", + "training_configured = training.with_options(**pipeline_settings)\n", + "\n", + "# Let's run it again to make sure we have two versions\n", "training_configured(model_type=\"rf\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)" ] }, @@ -1413,516 +1538,344 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", - "You can list your ZenML model and their versions as follows:\n", - "\n" + "This time, running both pipelines has created two associated **model versions**.\n", + "You can list your ZenML model and their versions as follows:" ] }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "name='breast_cancer_classifier' license='Apache 2.0' description='Classification of Breast Cancer Dataset.' audience=None use_cases=None limitations=None trade_offs=None ethics=None id=UUID('952d7089-dac6-4402-874a-89d81e308e33') created=datetime.datetime(2023, 12, 7, 14, 17, 13) updated=datetime.datetime(2023, 12, 7, 14, 17, 13) missing_permissions=False user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 7, 16, 6, 42), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io') workspace=WorkspaceResponse(id=UUID('f3a544f2-afb5-4672-934a-7a465c66201c'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 10, 23, 15, 34, 47), updated=datetime.datetime(2023, 10, 23, 15, 34, 47)), metadata=None, name='default') tags=[TagResponseModel(id=UUID('0030e89b-b3a1-4267-a2d8-16fad8a39860'), created=datetime.datetime(2023, 11, 30, 9, 45, 52), updated=datetime.datetime(2023, 11, 30, 9, 45, 52), missing_permissions=False, name='classification', color=, tagged_count=1), TagResponseModel(id=UUID('e308de9a-819a-4079-8c09-336f55c095c8'), created=datetime.datetime(2023, 11, 30, 9, 45, 52), updated=datetime.datetime(2023, 11, 30, 9, 45, 52), missing_permissions=False, name='sklearn', color=, tagged_count=1)] latest_version='14'\n", - "Model breast_cancer_classifier has 14 versions\n" + "name='breast_cancer_classifier' license='Apache 2.0' description='A breast cancer classifier' audience=None use_cases=None limitations=None trade_offs=None ethics=None id=UUID('22a5cae2-b9f8-4289-9773-74b848436c93') created=datetime.datetime(2023, 12, 8, 9, 21, 36, 672757) updated=datetime.datetime(2023, 12, 8, 9, 21, 36, 672759) missing_permissions=False user=UserResponse(id=UUID('d47f2134-eb09-41f8-9b76-4f00340c0d1b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 19, 40146), updated=datetime.datetime(2023, 12, 8, 9, 18, 19, 40148), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default') workspace=WorkspaceResponse(id=UUID('791ceb8f-8439-47cd-a76d-c61746290ce9'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 18, 797852), updated=datetime.datetime(2023, 12, 8, 9, 18, 18, 797854)), metadata=None, name='default') tags=[TagResponseModel(id=UUID('9adb1133-3932-4180-aa8a-8c77c3ea30af'), created=datetime.datetime(2023, 12, 8, 9, 21, 36, 674655), updated=datetime.datetime(2023, 12, 8, 9, 21, 36, 674656), missing_permissions=False, name='breast_cancer', color=, tagged_count=1), TagResponseModel(id=UUID('36b58849-a05e-4ceb-8c8f-b596878b09a5'), created=datetime.datetime(2023, 12, 8, 9, 21, 36, 697963), updated=datetime.datetime(2023, 12, 8, 9, 21, 36, 697965), missing_permissions=False, name='classifier', color=, tagged_count=1)] latest_version='rf'\n", + "Model breast_cancer_classifier has 2 versions\n" ] + }, + { + "data": { + "text/plain": [ + "('sgd', 'rf')" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "client = Client()\n", "zenml_model = client.get_model(\"breast_cancer_classifier\")\n", "print(zenml_model)\n", "\n", - "print(f\"Model {zenml_model.name} has {len(zenml_model.versions)} versions\")" + "print(f\"Model {zenml_model.name} has {len(zenml_model.versions)} versions\")\n", + "\n", + "zenml_model.versions[0].version, zenml_model.versions[1].version" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "You can see a new model version was created when the `training` pipeline was run. " + "The interesting part is that ZenML went ahead and linked all artifacts produced by the\n", + "pipelines to that model version, including the two pickle files that represent our\n", + "SGD and RandomForest classifier. We can see all artifacts directly from the model\n", + "version object:" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fe_t_configured()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@pipeline\n", - "def batch_inference():\n", - " \"\"\"\n", - " Model batch inference pipeline.\n", - "\n", - " This is a pipeline that loads the inference data, processes\n", - " it, analyze for data drift and run inference.\n", - " \"\"\"\n", - " ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ###\n", - " # Link all the steps together by calling them and passing the output\n", - " # of one step as the input of the next step.\n", - " ########## ETL stage ##########\n", - " random_state = client.get_artifact(\"dataset\").run_metadata[\"random_state\"].value\n", - " target = client.get_artifact(\"dataset_trn\").run_metadata['target'].value\n", - " df_inference = data_loader(\n", - " random_state=random_state, is_inference=True\n", - " )\n", - " df_inference = inference_preprocessor(\n", - " dataset_inf=df_inference,\n", - " preprocess_pipeline=ExternalArtifact(name=\"preprocess_pipeline\"),\n", - " target=target,\n", - " )\n", - " inference_predict(\n", - " dataset_inf=df_inference,\n", - " )\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "pipeline_args = {}\n", - "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"inference.yaml\")\n", - "fe_b_configured = batch_inference.with_options(**pipeline_args)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fe_b_configured()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "fc77b660-e206-46b1-a924-407e797a8f47", + "execution_count": 27, "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
RandomForestClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "RandomForestClassifier()" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# 🍳Breaking it down\n", + "# Let's load the RF version\n", + "rf_zenml_model_version = client.get_model_version(\"breast_cancer_classifier\", \"rf\")\n", "\n", + "# We can now load our classifier directly as well\n", + "random_forest_classifier = rf_zenml_model_version.get_artifact(\"model\").load()\n", "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "35de0e4c-b6f8-4b68-927a-f40e4130dc93", - "metadata": {}, - "outputs": [], - "source": [ - "@step\n", - "def data_loader() -> Annotated[DatasetDict, \"dataset\"]:\n", - " logger.info(f\"Loading dataset airline_reviews... \")\n", - " hf_dataset = load_dataset(\"Shayanvsf/US_Airline_Sentiment\")\n", - " hf_dataset = hf_dataset.rename_column(\"airline_sentiment\", \"label\")\n", - " hf_dataset = hf_dataset.remove_columns(\n", - " [\"airline_sentiment_confidence\", \"negativereason_confidence\"]\n", - " )\n", - " return hf_dataset" + "random_forest_classifier" ] }, { "cell_type": "markdown", - "id": "49e4462c-1e64-48d3-bae7-76696a958646", "metadata": {}, "source": [ - "Notice that you can give each dataset a name with Python’s Annotated object. The DatasetDict is a native Huggingface dataset which ZenML knows how to persist through steps. This flow ensures reproducibility and version control for every dataset iteration.\n", + "If you are a ZenML Cloud user, you can see all of this visualized in the dashboard:\n", "\n", - "Also notice this is a simple Python function, that can be called with the `entrypoint` wrapper:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18144a6b-c266-453d-82c8-b5d6aa1be0aa", - "metadata": {}, - "outputs": [], - "source": [ - "hf_dataset = data_loader.entrypoint()\n", - "print(hf_dataset)" + "\"Model" ] }, { "cell_type": "markdown", - "id": "31330d3c-044f-4912-8d36-74146f48cecf", "metadata": {}, "source": [ - "Now we put this a full feature engineering pipeline. Each run of the feature engineering pipeline produces a new dataset to use for the training pipeline. ZenML versions this data as it flows through the pipeline.\n", + "There is a lot more you can do with ZenML models, including the ability to\n", + "track metrics by adding metadata to it, or having them persist in a model\n", + "registry. However, these topics can be explored more in the\n", + "[ZenML docs](https://docs.zenml.io).\n", "\n", - "\"Pipelines" - ] - }, - { - "cell_type": "markdown", - "id": "9511bd84-1e97-42db-9b75-06285cc6904c", - "metadata": {}, - "source": [ - "### Set your stack" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "76f3a7e7-0d85-43b3-9e9f-4c7f20ea65e6", - "metadata": {}, - "outputs": [], - "source": [ - "!zenml stack describe hf-sagemaker-local" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "04b0bf69-70c6-4408-b18c-95df9e030c0c", - "metadata": {}, - "outputs": [], - "source": [ - "!zenml stack set hf-sagemaker-local" + "For now, we will use the ZenML model control plane to promote our best\n", + "model to `production`. You can do this by simply setting the `stage` of\n", + "your chosen model version to the `production` tag." ] }, { "cell_type": "code", - "execution_count": null, - "id": "de5398a4-a9ec-42d6-bbd6-390244c52d13", + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ - "!zenml stack get" + "# Set our best classifier to production\n", + "rf_zenml_model_version.set_stage(\"production\", force=True)" ] }, { "cell_type": "markdown", - "id": "152f718d-70c2-4a29-a73e-37db85675cb8", - "metadata": {}, - "source": [ - "### Run the pipeline" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7ca6c41e-e4b3-46d2-8264-9a453ac9aa3c", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "@pipeline(on_failure=notify_on_failure)\n", - "def sentinment_analysis_feature_engineering_pipeline(\n", - " lower_case: Optional[bool] = True,\n", - " padding: Optional[str] = \"max_length\",\n", - " max_seq_length: Optional[int] = 128,\n", - " text_column: Optional[str] = \"text\",\n", - " label_column: Optional[str] = \"label\",\n", - "):\n", - " # Link all the steps together by calling them and passing the output\n", - " # of one step as the input of the next step.\n", - "\n", - " ########## Load Dataset stage ##########\n", - " dataset = data_loader()\n", - "\n", - " ########## Data Quality stage ##########\n", - " reference_dataset, comparison_dataset = generate_reference_and_comparison_datasets(\n", - " dataset\n", - " )\n", - " text_data_report = evidently_report_step.with_options(\n", - " parameters=dict(\n", - " column_mapping=EvidentlyColumnMapping(\n", - " target=\"label\",\n", - " text_features=[\"text\"],\n", - " ),\n", - " metrics=[\n", - " EvidentlyMetricConfig.metric(\"DataQualityPreset\"),\n", - " EvidentlyMetricConfig.metric(\n", - " \"TextOverviewPreset\", column_name=\"text\"\n", - " ),\n", - " ],\n", - " # We need to download the NLTK data for the TextOverviewPreset\n", - " download_nltk_data=True,\n", - " ),\n", - " )\n", - " text_data_report(reference_dataset, comparison_dataset)\n", - "\n", - " ########## Tokenization stage ##########\n", - " tokenizer = tokenizer_loader(lower_case=lower_case)\n", - " tokenized_data = tokenization_step(\n", - " dataset=dataset,\n", - " tokenizer=tokenizer,\n", - " padding=padding,\n", - " max_seq_length=max_seq_length,\n", - " text_column=text_column,\n", - " label_column=label_column,\n", - " )\n", - " return tokenizer, tokenized_data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3c8a5be7-ebaa-41c4-ac23-4afc6e7e06aa", "metadata": {}, - "outputs": [], "source": [ - "# Run a pipeline with the required parameters. \n", - "no_cache: bool = True\n", - "zenml_model_name: str = \"distil_bert_sentiment_analysis\"\n", - "max_seq_length = 512\n", - "\n", - "# This executes all steps in the pipeline in the correct order using the orchestrator\n", - "# stack component that is configured in your active ZenML stack.\n", - "model_config = ModelConfig(\n", - " name=zenml_model_name,\n", - " license=\"Apache 2.0\",\n", - " description=\"Show case Model Control Plane.\",\n", - " create_new_model_version=True,\n", - " delete_new_version_on_failure=True,\n", - " tags=[\"sentiment_analysis\", \"huggingface\"],\n", - ")\n", - "\n", - "pipeline_args = {}\n", - "\n", - "if no_cache:\n", - " pipeline_args[\"enable_cache\"] = False\n", - "\n", - "# Execute Feature Engineering Pipeline\n", - "pipeline_args[\"model_config\"] = model_config\n", - "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"feature_engineering_config.yaml\")\n", - "run_args_feature = {\n", - " \"max_seq_length\": max_seq_length,\n", - "}\n", - "pipeline_args[\n", - " \"run_name\"\n", - "] = f\"sentinment_analysis_feature_engineering_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}\"\n", - "p = sentinment_analysis_feature_engineering_pipeline.with_options(**pipeline_args)\n", - "p(**run_args_feature)" + "Of course, normally one would only promote the model by comparing to all other model\n", + "versions and doing some other tests. But that's a bit more advanced use-case. See the\n", + "[e2e_batch example](https://github.com/zenml-io/zenml/tree/main/examples/e2e) to get\n", + "more insight into that sort of flow!" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "0e7c1ea2-64fe-478a-9963-17c7b7f62110", + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "from zenml.client import Client\n", - "from IPython.display import display, HTML\n", - "\n", - "client = Client()\n", - "# CHANGE THIS TO THE LATEST RUN ID\n", - "latest_run = client.get_pipeline_run(\"sentinment_analysis_feature_engineering_pipeline_run_2023_11_21_10_55_56\")\n", - "html = latest_run.steps[\"evidently_report_step\"].outputs['report_html'].load()\n", - "display(HTML(html))" + "Once the model is promoted, we can now consume the right model version in our\n", + "batch inference pipeline directly. Let's see how that works." ] }, { "cell_type": "markdown", - "id": "78ab8771-4421-4975-a3d5-12892a56b805", "metadata": {}, "source": [ - "## 💪 Step 2: Train the model with Huggingface Hub as the model registry\n", - " " + "# 🫅 Step 4: Consuming the model in production" ] }, { "cell_type": "markdown", - "id": "2843efa8-32b6-4b13-ac85-33c99cc94e3e", "metadata": {}, "source": [ - "Once the feature engineering pipeline has run a few times, we have many datasets to choose from. We can feed our desired one into a function that trains the model on the data. Thanks to the ZenML Huggingface integration, this data is loaded directly from the ZenML artifact store.\n", - "\n", - "\"Pipelines\n", + "The batch inference pipeline simply takes the model marked as `production` and runs inference on it\n", + "with `live data`. The critical step here is the `inference_predict` step, where we load the model in memory\n", + "and generate predictions:\n", "\n", - "On the left side, we see our local MLOps stack, which defines our infrastructure and tooling we are using for this particular pipeline. ZenML makes it easy to run on a local stack on your development machine, or switch out the stack to run on a AWS Kubeflow-based stack (if you want to scale up).\n", - "\n", - "On the right side is the new kid on the block - the ZenML Model Control Plane. The Model Control Plane is a new feature in ZenML that allows users to have a complete overview of their machine learning models. It allows teams to consolidate all artifacts related to their ML models into one place, and manage its lifecycle easily as you can see from this view from the ZenML Cloud:" + "\"Inference\n" ] }, { "cell_type": "code", - "execution_count": null, - "id": "4c99b20f-8e3b-4119-86e9-33dd1395470a", + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ - "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"trainer_config.yaml\")\n", - "\n", - "pipeline_args[\"enable_cache\"] = True\n", - "\n", - "run_args_train = {\n", - " \"num_epochs\": 1,\n", - " \"train_batch_size\": 64,\n", - " \"eval_batch_size\": 64,\n", - " \"learning_rate\": 2e-4,\n", - " \"weight_decay\": 0.01,\n", - " \"max_seq_length\": 512,\n", - "}\n", + "@step\n", + "def inference_predict(dataset_inf: pd.DataFrame) -> Annotated[pd.Series, \"predictions\"]:\n", + " \"\"\"Predictions step\"\"\"\n", + " # Get the model_version\n", + " model_version = get_step_context().model_version\n", "\n", - "# Use versioned artifacts from the last step\n", - "# run_args_train[\"dataset_artifact_id\"] = latest_run.steps['tokenization_step'].output.id\n", - "# run_args_train[\"tokenizer_artifact_id\"] = latest_run.steps['tokenizer_loader'].output.id\n", + " # run prediction from memory\n", + " predictor = model_version.load_artifact(\"model\")\n", + " predictions = predictor.predict(dataset_inf)\n", "\n", - "# Configure the model\n", - "pipeline_args[\"model_config\"] = model_config\n", + " predictions = pd.Series(predictions, name=\"predicted\")\n", + " ### YOUR CODE ENDS HERE ###\n", "\n", - "pipeline_args[\n", - " \"run_name\"\n", - "] = f\"sentinment_analysis_training_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}\"" + " return predictions\n" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "96592299-0090-4d2a-962e-6ca232c1fb75", - "metadata": {}, - "outputs": [], - "source": [ - "sentinment_analysis_training_pipeline.with_options(**pipeline_args)(\n", - " **run_args_train\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e24e29de-6d1b-41da-9ab2-ca2b32f1f540", - "metadata": {}, - "outputs": [], - "source": [ - "### Check out a new stack\n", - "!zenml stack describe hf-sagemaker-airflow" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7c9a5bee-8465-4d41-888a-093f1f6a2ef1", + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "### Change the stack\n", - "!zenml stack set hf-sagemaker-airflow" + "Apart from the loading the model, we must also load the preprocessing pipeline that we ran in feature engineering,\n", + "so that we can do the exact steps that we did on training time, in inference time. Let's bring it all together:" ] }, { "cell_type": "code", - "execution_count": null, - "id": "d3772c50-1c90-4ffc-8394-c9cfca16cc53", + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ - "sentinment_analysis_training_pipeline.with_options(**pipeline_args)(\n", - " **run_args_train\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "be79f454-a45d-4f5f-aa93-330d52069124", - "metadata": {}, - "source": [ - "## 🫅 Step 3: Promote the model to production\n" + "@pipeline\n", + "def inference(preprocess_pipeline_id: UUID):\n", + " \"\"\"Model batch inference pipeline\"\"\"\n", + " random_state = client.get_artifact(\"dataset\").run_metadata[\"random_state\"].value\n", + " target = client.get_artifact(\"dataset_trn\").run_metadata['target'].value\n", + " df_inference = data_loader(\n", + " random_state=random_state, is_inference=True\n", + " )\n", + " df_inference = inference_preprocessor(\n", + " dataset_inf=df_inference,\n", + " # We use the preprocess pipeline from the feature engineering pipeline\n", + " preprocess_pipeline=ExternalArtifact(id=preprocess_pipeline_id),\n", + " target=target,\n", + " )\n", + " inference_predict(\n", + " dataset_inf=df_inference,\n", + " )\n" ] }, { "cell_type": "markdown", - "id": "5a09b432-7a66-473e-bdb6-ffdca730498b", "metadata": {}, "source": [ - "Following training, the automated promotion pipeline evaluates models against predefined metrics, identifying and marking the most performant one as 'Production ready'. This is another common use case for the Model Control Plane; we store the relevant metrics there to access them easily later.\n", - "\n", - "\"Pipelines" + "The way to load the right model is to pass in the `production` stage into the `ModelVersion` config this time.\n", + "This will ensure to always load the production model, decoupled from all other pipelines:" ] }, { "cell_type": "code", - "execution_count": null, - "id": "5bac7ae5-70d0-449c-929c-e175c3062f2d", - "metadata": {}, - "outputs": [], - "source": [ - "!zenml stack set hf-sagemaker-local" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "170c9ef6-4e6f-4e50-ac37-e05bef8570ea", + "execution_count": 36, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35m\u001b[0m\u001b[1;36mversion\u001b[1;35m \u001b[0m\u001b[1;36mproduction\u001b[1;35m matches one of the possible \u001b[0m\u001b[1;36mModelStages\u001b[1;35m and will be fetched using stage.\u001b[0m\n" + ] + } + ], "source": [ - "run_args_promoting = {}\n", - "model_config = ModelConfig(name=zenml_model_name)\n", - "pipeline_args[\"config_path\"] = os.path.join(\"configs\", \"promoting_config.yaml\")\n", - "\n", - "pipeline_args[\"model_config\"] = model_config\n", + "pipeline_settings = {}\n", "\n", - "pipeline_args[\n", - " \"run_name\"\n", - "] = f\"sentinment_analysis_promoting_pipeline_run_{dt.now().strftime('%Y_%m_%d_%H_%M_%S')}\"" + "# Lets add some metadata to the model to make it identifiable\n", + "pipeline_settings[\"model_version\"] = ModelVersion(\n", + " name=\"breast_cancer_classifier\",\n", + " version=\"production\", # We can pass in the stage name here!\n", + " license=\"Apache 2.0\",\n", + " description=\"A breast cancer classifier\",\n", + " tags=[\"breast_cancer\", \"classifier\"],\n", + ")" ] }, { "cell_type": "code", - "execution_count": null, - "id": "e6df11e2-4591-4186-a8f8-243f9c4d1e3d", + "execution_count": 37, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36minference\u001b[1;35m.\u001b[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 1)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36minference_predict\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36minference-2023_12_08-09_24_59_254310\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.265s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" + ] + } + ], "source": [ - "sentinment_analysis_promote_pipeline.with_options(**pipeline_args)(\n", - " **run_args_promoting\n", + "# the `with_options` method allows us to pass in pipeline settings\n", + "# and returns a configured pipeline\n", + "inference_configured = inference.with_options(**pipeline_settings)\n", + "\n", + "# Let's run it again to make sure we have two versions\n", + "# We need to pass in the ID of the preprocessing done in the feature engineering pipeline\n", + "# in order to avoid training-serving skew\n", + "inference_configured(\n", + " preprocess_pipeline_id=preprocessing_pipeline_artifact.id\n", ")" ] }, { "cell_type": "markdown", - "id": "6efc4968-35fd-42e3-ba62-d8e1557aa0d6", "metadata": {}, "source": [ - "## 💯 Step 4: Deploy the model to AWS Sagemaker Endpoints\n" - ] - }, - { - "cell_type": "markdown", - "id": "577aff86-bde9-48d4-9b52-209cfed9fd4e", - "metadata": {}, - "source": [ - "This is the final step to automate the deployment of the slated production model to a Sagemaker endpoint. The deployment pipelines handles the complexities of AWS interactions and ensures that the model, along with its full history and context, is transitioned into a live environment ready for use. Here again we use the Model Control Plane interface to query the Huggingface revision and use that information to push to Huggingface Hub.\n", - "\n", - "\"Pipelines\n" + "ZenML automatically links all artifacts to the `production` model version as well, including the predictions\n", + "that were returned in the pipeline. This completes the MLOps loop of training to inference:" ] }, { "cell_type": "code", - "execution_count": null, - "id": "1513ab5f-de05-4344-9d2c-fedbfbd21ef0", + "execution_count": 40, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "1 1\n", + "2 1\n", + "3 1\n", + "4 1\n", + "5 1\n", + "6 1\n", + "7 1\n", + "8 0\n", + "9 0\n", + "10 1\n", + "11 1\n", + "12 1\n", + "13 0\n", + "14 0\n", + "15 0\n", + "16 1\n", + "17 1\n", + "18 0\n", + "19 1\n", + "20 0\n", + "21 1\n", + "22 1\n", + "23 1\n", + "24 1\n", + "25 0\n", + "26 0\n", + "27 1\n", + "Name: series, dtype: int64" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "!zenml stack set hf-sagemaker-local" + "# Fetch production model\n", + "production_model_version = client.get_model_version(\"breast_cancer_classifier\", \"production\")\n", + "\n", + "# Get the predictions artifact\n", + "production_model_version.get_artifact(\"predictions\").load()" ] }, { @@ -1932,25 +1885,26 @@ "source": [ "## Congratulations!\n", "\n", - "You just built two ML pipelines! You trained two models, evaluated them against\n", + "You're a legit MLOps engineer now! You trained two models, evaluated them against\n", "a test set, registered the best one with the ZenML model control plane,\n", "and served some predictions. You also learned how to iterate on your models and\n", "data by using some of the ZenML utility abstractions. You saw how to view your\n", - "artifacts and stacks via the CLI as well as the ZenML Dashboard.\n", + "artifacts and stacks via the client as well as the ZenML Dashboard.\n", + "\n", + "## Further exploration\n", + "\n", + "This was just the tip of the iceberg of what ZenML can do; check out the [**docs**](https://docs.zenml.io/) to learn more\n", + "about the capabilities of ZenML. For example, you might want to:\n", "\n", - "And that is just the tip of the iceberg of what ZenML can do; check out the [**docs**](https://docs.zenml.io/) to learn more\n", - "about the capabilities of ZenML.\n", + "- Run the same pipeline on a cloud stack in production.\n", + "- Track your metrics in an experiment tracker like [MLflow]().\n", + "- Learn how to transition your code from this notebook setting to a production setting.\n", "\n", - "## What to do now\n", + "## What next?\n", "\n", "* If you have questions or feedback... join our [**Slack Community**](https://zenml.io/slack) and become part of the ZenML family!\n", - "* If you want to try ZenML in a real-world setting... check out the [ZenML Cloud](https://cloud.zenml.io/)." + "* If you want to quickly get started with ZenML, check out the [ZenML Cloud](https://zenml.io/cloud)." ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [] } ], "metadata": { From f3ef39b88cc6c3f4c9b430d7d7d7b427fa78c74d Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Fri, 8 Dec 2023 10:30:10 +0100 Subject: [PATCH 12/48] new notebook --- template/run.ipynb | 1070 +++----------------------------------------- 1 file changed, 65 insertions(+), 1005 deletions(-) diff --git a/template/run.ipynb b/template/run.ipynb index e0ac72e..a5b4025 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -104,36 +104,10 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "081d5616", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[?25l\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", - "/home/htahir1/workspace/zenml_io/template-starter/template.\n", - "\u001b[1;35mSetting the repo active workspace to 'default'.\u001b[0m\n", - "\u001b[33mSetting the repo active stack to default.\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mZenML repository initialized at \u001b[0m\n", - "\u001b[2;35m/home/htahir1/workspace/zenml_io/template-starter/\u001b[0m\u001b[2;95mtemplate.\u001b[0m\n", - "\u001b[2;32m⠋\u001b[0m\u001b[2;36m Initializing ZenML repository at \u001b[0m\n", - "\u001b[2;36m/home/htahir1/workspace/zenml_io/template-starter/template.\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", - "/home/htahir1/workspace/zenml_io/template-starter/template.\n", - "\n", - "\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mThe local active stack was initialized to \u001b[0m\u001b[2;32m'default'\u001b[0m\u001b[2;36m. This local configuration \u001b[0m\n", - "\u001b[2;36mwill only take effect when you're running ZenML from the initialized repository \u001b[0m\n", - "\u001b[2;36mroot, or from a subdirectory. For more information on repositories and \u001b[0m\n", - "\u001b[2;36mconfigurations, please visit \u001b[0m\n", - "\u001b[2;4;94mhttps://docs.zenml.io/user-guide/starter-guide/understand-stacks.\u001b[0m\n", - "\u001b[?25l\u001b[2;36mActive repository stack set to: \u001b[0m\u001b[2;32m'default'\u001b[0m\n", - "\u001b[2K\u001b[32m⠋\u001b[0m Setting the repository active stack to 'default'...t'...\u001b[0m\n", - "\u001b[1A\u001b[2K" - ] - } - ], + "outputs": [], "source": [ "# Initialize ZenML and set the default stack\n", "!zenml init\n", @@ -143,7 +117,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "79f775f2", "metadata": {}, "outputs": [], @@ -200,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -255,230 +229,9 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
017.9910.38122.801001.00.118400.277600.30010.147100.24190.07871...17.33184.602019.00.16220.66560.71190.26540.46010.118900
120.5717.77132.901326.00.084740.078640.08690.070170.18120.05667...23.41158.801956.00.12380.18660.24160.18600.27500.089020
219.6921.25130.001203.00.109600.159900.19740.127900.20690.05999...25.53152.501709.00.14440.42450.45040.24300.36130.087580
311.4220.3877.58386.10.142500.283900.24140.105200.25970.09744...26.5098.87567.70.20980.86630.68690.25750.66380.173000
420.2914.34135.101297.00.100300.132800.19800.104300.18090.05883...16.67152.201575.00.13740.20500.40000.16250.23640.076780
\n", - "

5 rows × 31 columns

\n", - "
" - ], - "text/plain": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "0 17.99 10.38 122.80 1001.0 0.11840 \n", - "1 20.57 17.77 132.90 1326.0 0.08474 \n", - "2 19.69 21.25 130.00 1203.0 0.10960 \n", - "3 11.42 20.38 77.58 386.1 0.14250 \n", - "4 20.29 14.34 135.10 1297.0 0.10030 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "0 0.27760 0.3001 0.14710 0.2419 \n", - "1 0.07864 0.0869 0.07017 0.1812 \n", - "2 0.15990 0.1974 0.12790 0.2069 \n", - "3 0.28390 0.2414 0.10520 0.2597 \n", - "4 0.13280 0.1980 0.10430 0.1809 \n", - "\n", - " mean fractal dimension ... worst texture worst perimeter worst area \\\n", - "0 0.07871 ... 17.33 184.60 2019.0 \n", - "1 0.05667 ... 23.41 158.80 1956.0 \n", - "2 0.05999 ... 25.53 152.50 1709.0 \n", - "3 0.09744 ... 26.50 98.87 567.7 \n", - "4 0.05883 ... 16.67 152.20 1575.0 \n", - "\n", - " worst smoothness worst compactness worst concavity worst concave points \\\n", - "0 0.1622 0.6656 0.7119 0.2654 \n", - "1 0.1238 0.1866 0.2416 0.1860 \n", - "2 0.1444 0.4245 0.4504 0.2430 \n", - "3 0.2098 0.8663 0.6869 0.2575 \n", - "4 0.1374 0.2050 0.4000 0.1625 \n", - "\n", - " worst symmetry worst fractal dimension target \n", - "0 0.4601 0.11890 0 \n", - "1 0.2750 0.08902 0 \n", - "2 0.3613 0.08758 0 \n", - "3 0.6638 0.17300 0 \n", - "4 0.2364 0.07678 0 \n", - "\n", - "[5 rows x 31 columns]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "df = data_loader_simplified(random_state=42)\n", "df.head()" @@ -498,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "b50a9537", "metadata": {}, "outputs": [], @@ -541,32 +294,9 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.267s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.414s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.527s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_08-09_19_56_071661\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.394s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "feature_engineering()" ] @@ -580,32 +310,9 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 2)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.294s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.398s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.529s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_08-09_19_58_112527\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.384s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "feature_engineering(test_size=0.3)" ] @@ -664,17 +371,9 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "feature_engineering-2023_12_08-09_19_58_112527\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "client = Client()\n", "run = client.get_pipeline(\"feature_engineering\").last_run\n", @@ -690,419 +389,18 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'preprocess_pipeline': ArtifactResponse(id=UUID('31d08c04-22f0-44ae-89ad-d0530114a043'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 8, 9, 19, 59, 419488), updated=datetime.datetime(2023, 12, 8, 9, 19, 59, 419491), user=UserResponse(id=UUID('d47f2134-eb09-41f8-9b76-4f00340c0d1b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 19, 40146), updated=datetime.datetime(2023, 12, 8, 9, 18, 19, 40148), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), version='2', uri='/home/htahir1/.config/zenml/local_stores/b640139f-5df3-4de5-8a01-0d16f0589628/data_preprocessor/preprocess_pipeline/ed50c2a3-71b1-4ef7-a590-8b4b717732e3', type=), metadata=None, name='preprocess_pipeline'),\n", - " 'dataset_trn': ArtifactResponse(id=UUID('5f934376-6357-4f8a-a813-b7996a379ef1'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 8, 9, 19, 59, 64014), updated=datetime.datetime(2023, 12, 8, 9, 19, 59, 64016), user=UserResponse(id=UUID('d47f2134-eb09-41f8-9b76-4f00340c0d1b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 19, 40146), updated=datetime.datetime(2023, 12, 8, 9, 18, 19, 40148), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), version='2', uri='/home/htahir1/.config/zenml/local_stores/b640139f-5df3-4de5-8a01-0d16f0589628/data_preprocessor/dataset_trn/ed50c2a3-71b1-4ef7-a590-8b4b717732e3', type=), metadata=None, name='dataset_trn'),\n", - " 'dataset_tst': ArtifactResponse(id=UUID('e4c66672-7e64-401e-b3e5-f9a8ab8aa6d5'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 8, 9, 19, 59, 254549), updated=datetime.datetime(2023, 12, 8, 9, 19, 59, 254551), user=UserResponse(id=UUID('d47f2134-eb09-41f8-9b76-4f00340c0d1b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 19, 40146), updated=datetime.datetime(2023, 12, 8, 9, 18, 19, 40148), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), version='2', uri='/home/htahir1/.config/zenml/local_stores/b640139f-5df3-4de5-8a01-0d16f0589628/data_preprocessor/dataset_tst/ed50c2a3-71b1-4ef7-a590-8b4b717732e3', type=), metadata=None, name='dataset_tst')}" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "run.steps[\"data_preprocessor\"].outputs" ] }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
42814.53019.3494.25659.70.083880.078000.0881700.029250.14730.05746...28.39108.10830.50.108900.264900.377900.095940.24710.074631
37019.55023.21128.901174.00.101000.131800.1856000.102100.19890.05884...30.44142.001313.00.125100.241400.382900.182500.25760.076020
5714.25022.1596.42645.70.104900.200800.2135000.086530.19490.07292...29.51119.10959.50.164000.624700.692200.178500.28440.113200
33211.66017.0773.70421.00.075610.036300.0083060.011620.16710.05731...19.7483.61542.50.099580.064760.030460.042620.27310.068251
2418.61020.25122.101094.00.094400.106600.1490000.077310.16970.05699...27.26139.901403.00.133800.211700.344600.149000.23410.074210
..................................................................
7118.05016.15120.201006.00.106500.214600.1684000.108000.21520.06673...18.91150.101610.00.147800.563400.378600.210200.37510.110800
1068.72615.8355.84230.90.115000.082010.0413200.019240.16490.07633...19.6264.48284.40.172400.236400.245600.105000.29260.101701
27016.24018.77108.80805.10.106600.180200.1948000.090520.18760.06684...25.09126.901031.00.136500.470600.502600.173200.27700.106300
43513.38030.7286.34557.20.092450.074260.0281900.032640.13750.06016...41.6196.69705.60.117200.142100.070030.077630.21960.076751
1029.77716.9962.50290.20.103700.084040.0433400.017780.15840.07065...21.4771.68367.00.146700.176500.130000.053340.25330.084681
\n", - "

378 rows × 31 columns

\n", - "
" - ], - "text/plain": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "428 14.530 19.34 94.25 659.7 0.08388 \n", - "370 19.550 23.21 128.90 1174.0 0.10100 \n", - "57 14.250 22.15 96.42 645.7 0.10490 \n", - "332 11.660 17.07 73.70 421.0 0.07561 \n", - "24 18.610 20.25 122.10 1094.0 0.09440 \n", - ".. ... ... ... ... ... \n", - "71 18.050 16.15 120.20 1006.0 0.10650 \n", - "106 8.726 15.83 55.84 230.9 0.11500 \n", - "270 16.240 18.77 108.80 805.1 0.10660 \n", - "435 13.380 30.72 86.34 557.2 0.09245 \n", - "102 9.777 16.99 62.50 290.2 0.10370 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "428 0.07800 0.088170 0.02925 0.1473 \n", - "370 0.13180 0.185600 0.10210 0.1989 \n", - "57 0.20080 0.213500 0.08653 0.1949 \n", - "332 0.03630 0.008306 0.01162 0.1671 \n", - "24 0.10660 0.149000 0.07731 0.1697 \n", - ".. ... ... ... ... \n", - "71 0.21460 0.168400 0.10800 0.2152 \n", - "106 0.08201 0.041320 0.01924 0.1649 \n", - "270 0.18020 0.194800 0.09052 0.1876 \n", - "435 0.07426 0.028190 0.03264 0.1375 \n", - "102 0.08404 0.043340 0.01778 0.1584 \n", - "\n", - " mean fractal dimension ... worst texture worst perimeter worst area \\\n", - "428 0.05746 ... 28.39 108.10 830.5 \n", - "370 0.05884 ... 30.44 142.00 1313.0 \n", - "57 0.07292 ... 29.51 119.10 959.5 \n", - "332 0.05731 ... 19.74 83.61 542.5 \n", - "24 0.05699 ... 27.26 139.90 1403.0 \n", - ".. ... ... ... ... ... \n", - "71 0.06673 ... 18.91 150.10 1610.0 \n", - "106 0.07633 ... 19.62 64.48 284.4 \n", - "270 0.06684 ... 25.09 126.90 1031.0 \n", - "435 0.06016 ... 41.61 96.69 705.6 \n", - "102 0.07065 ... 21.47 71.68 367.0 \n", - "\n", - " worst smoothness worst compactness worst concavity \\\n", - "428 0.10890 0.26490 0.37790 \n", - "370 0.12510 0.24140 0.38290 \n", - "57 0.16400 0.62470 0.69220 \n", - "332 0.09958 0.06476 0.03046 \n", - "24 0.13380 0.21170 0.34460 \n", - ".. ... ... ... \n", - "71 0.14780 0.56340 0.37860 \n", - "106 0.17240 0.23640 0.24560 \n", - "270 0.13650 0.47060 0.50260 \n", - "435 0.11720 0.14210 0.07003 \n", - "102 0.14670 0.17650 0.13000 \n", - "\n", - " worst concave points worst symmetry worst fractal dimension target \n", - "428 0.09594 0.2471 0.07463 1 \n", - "370 0.18250 0.2576 0.07602 0 \n", - "57 0.17850 0.2844 0.11320 0 \n", - "332 0.04262 0.2731 0.06825 1 \n", - "24 0.14900 0.2341 0.07421 0 \n", - ".. ... ... ... ... \n", - "71 0.21020 0.3751 0.11080 0 \n", - "106 0.10500 0.2926 0.10170 1 \n", - "270 0.17320 0.2770 0.10630 0 \n", - "435 0.07763 0.2196 0.07675 1 \n", - "102 0.05334 0.2533 0.08468 1 \n", - "\n", - "[378 rows x 31 columns]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Read one of the datasets. This is the one with a 0.3 test split\n", "run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"].load()" @@ -1119,21 +417,9 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'ArtifactResponse' object has no attribute 'versions'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 33\u001b[0m line \u001b[0;36m5\n\u001b[1;32m 2\u001b[0m dataset_tst_artifact \u001b[39m=\u001b[39m client\u001b[39m.\u001b[39mget_artifact(\u001b[39m\"\u001b[39m\u001b[39mdataset_tst\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[1;32m 3\u001b[0m preprocessing_pipeline_artifact \u001b[39m=\u001b[39m client\u001b[39m.\u001b[39mget_artifact(\u001b[39m\"\u001b[39m\u001b[39mpreprocess_pipeline\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m----> 5\u001b[0m \u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mThe training set has \u001b[39m\u001b[39m{\u001b[39;00m\u001b[39mlen\u001b[39m(dataset_trn_artifact\u001b[39m.\u001b[39mversions)\u001b[39m}\u001b[39;00m\u001b[39m records, and the test set has \u001b[39m\u001b[39m{\u001b[39;00m\u001b[39mlen\u001b[39m(dataset_tst_artifact\u001b[39m.\u001b[39mversions)\u001b[39m}\u001b[39;00m\u001b[39m records.\u001b[39m\u001b[39m\"\u001b[39m\n", - "\u001b[0;31mAttributeError\u001b[0m: 'ArtifactResponse' object has no attribute 'versions'" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "dataset_trn_artifact = client.get_artifact(\"dataset_trn\")\n", "dataset_tst_artifact = client.get_artifact(\"dataset_tst\")\n", @@ -1152,21 +438,9 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'ArtifactResponse' object has no attribute 'latest_version'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/home/htahir1/workspace/zenml_io/template-starter/template/run.ipynb Cell 35\u001b[0m line \u001b[0;36m2\n\u001b[1;32m 1\u001b[0m \u001b[39m# Choose the last version\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m dataset_trn_artifact_version \u001b[39m=\u001b[39m dataset_trn_artifact\u001b[39m.\u001b[39;49mlatest_version\n\u001b[1;32m 3\u001b[0m dataset_tst_artifact_version \u001b[39m=\u001b[39m dataset_tst_artifact\u001b[39m.\u001b[39mlatest_version\n\u001b[1;32m 5\u001b[0m \u001b[39m# Load it again to verify\u001b[39;00m\n", - "\u001b[0;31mAttributeError\u001b[0m: 'ArtifactResponse' object has no attribute 'latest_version'" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Choose the last version\n", "dataset_trn_artifact_version = dataset_trn_artifact.latest_version\n", @@ -1208,7 +482,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1266,7 +540,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1313,34 +587,9 @@ }, { "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.310s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTrain accuracy=100.00%\u001b[0m\n", - "\u001b[1;35mTest accuracy=95.71%\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.140s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_08-09_21_18_513475\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.623s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Use a random forest model with the chosen datasets.\n", "# We need to pass the ID's of the datasets into the function\n", @@ -1355,34 +604,9 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 2)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.152s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTrain accuracy=57.94%\u001b[0m\n", - "\u001b[1;35mTest accuracy=53.37%\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.207s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_08-09_21_20_671807\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.519s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Use a SGD classifier\n", "training(model_type=\"sgd\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)\n", @@ -1401,20 +625,9 @@ }, { "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# The evaluator returns a float value with the accuracy\n", "rf_run.steps[\"model_evaluator\"].output.load() > sgd_run.steps[\"model_evaluator\"].output.load()" @@ -1440,7 +653,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1457,32 +670,9 @@ }, { "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 2)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model \u001b[0m\u001b[1;36mbreast_cancer_classifier\u001b[1;35m was created implicitly.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36msgd\u001b[1;35m was created.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_08-09_21_36_798853\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.252s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Let's train the SGD model and set the version name to \"sgd\"\n", "pipeline_settings[\"model_version\"].version = \"sgd\"\n", @@ -1497,31 +687,9 @@ }, { "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36mrf\u001b[1;35m was created.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_08-09_21_38_756106\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.238s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Let's train the RF model and set the version name to \"rf\"\n", "pipeline_settings[\"model_version\"].version = \"rf\"\n", @@ -1544,28 +712,9 @@ }, { "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "name='breast_cancer_classifier' license='Apache 2.0' description='A breast cancer classifier' audience=None use_cases=None limitations=None trade_offs=None ethics=None id=UUID('22a5cae2-b9f8-4289-9773-74b848436c93') created=datetime.datetime(2023, 12, 8, 9, 21, 36, 672757) updated=datetime.datetime(2023, 12, 8, 9, 21, 36, 672759) missing_permissions=False user=UserResponse(id=UUID('d47f2134-eb09-41f8-9b76-4f00340c0d1b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 19, 40146), updated=datetime.datetime(2023, 12, 8, 9, 18, 19, 40148), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default') workspace=WorkspaceResponse(id=UUID('791ceb8f-8439-47cd-a76d-c61746290ce9'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 12, 8, 9, 18, 18, 797852), updated=datetime.datetime(2023, 12, 8, 9, 18, 18, 797854)), metadata=None, name='default') tags=[TagResponseModel(id=UUID('9adb1133-3932-4180-aa8a-8c77c3ea30af'), created=datetime.datetime(2023, 12, 8, 9, 21, 36, 674655), updated=datetime.datetime(2023, 12, 8, 9, 21, 36, 674656), missing_permissions=False, name='breast_cancer', color=, tagged_count=1), TagResponseModel(id=UUID('36b58849-a05e-4ceb-8c8f-b596878b09a5'), created=datetime.datetime(2023, 12, 8, 9, 21, 36, 697963), updated=datetime.datetime(2023, 12, 8, 9, 21, 36, 697965), missing_permissions=False, name='classifier', color=, tagged_count=1)] latest_version='rf'\n", - "Model breast_cancer_classifier has 2 versions\n" - ] - }, - { - "data": { - "text/plain": [ - "('sgd', 'rf')" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "zenml_model = client.get_model(\"breast_cancer_classifier\")\n", "print(zenml_model)\n", @@ -1587,23 +736,9 @@ }, { "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
RandomForestClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "RandomForestClassifier()" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Let's load the RF version\n", "rf_zenml_model_version = client.get_model_version(\"breast_cancer_classifier\", \"rf\")\n", @@ -1639,7 +774,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1685,7 +820,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1715,7 +850,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1748,17 +883,9 @@ }, { "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35m\u001b[0m\u001b[1;36mversion\u001b[1;35m \u001b[0m\u001b[1;36mproduction\u001b[1;35m matches one of the possible \u001b[0m\u001b[1;36mModelStages\u001b[1;35m and will be fetched using stage.\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "pipeline_settings = {}\n", "\n", @@ -1774,37 +901,9 @@ }, { "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36minference\u001b[1;35m.\u001b[0m\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36minference_predict\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36minference-2023_12_08-09_24_59_254310\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.265s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# the `with_options` method allows us to pass in pipeline settings\n", "# and returns a configured pipeline\n", @@ -1828,48 +927,9 @@ }, { "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 1\n", - "1 1\n", - "2 1\n", - "3 1\n", - "4 1\n", - "5 1\n", - "6 1\n", - "7 1\n", - "8 0\n", - "9 0\n", - "10 1\n", - "11 1\n", - "12 1\n", - "13 0\n", - "14 0\n", - "15 0\n", - "16 1\n", - "17 1\n", - "18 0\n", - "19 1\n", - "20 0\n", - "21 1\n", - "22 1\n", - "23 1\n", - "24 1\n", - "25 0\n", - "26 0\n", - "27 1\n", - "Name: series, dtype: int64" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Fetch production model\n", "production_model_version = client.get_model_version(\"breast_cancer_classifier\", \"production\")\n", From 639ad9e71c985b529b270d945de359825293dc2c Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Fri, 8 Dec 2023 17:34:37 +0100 Subject: [PATCH 13/48] new notebook --- template/configs/feature_engineering.yaml | 7 ---- template/pipelines/__init__.py | 6 +-- template/pipelines/feature_engineering.py | 6 ++- template/pipelines/inference.py | 47 ++++++++++----------- template/pipelines/training.py | 6 +-- template/run.ipynb | 50 ++++++++++++++++++----- template/run.py | 20 ++++----- template/steps/data_loader.py | 6 +-- template/steps/data_preprocessor.py | 12 +++--- template/steps/inference_predict.py | 8 ++-- 10 files changed, 92 insertions(+), 76 deletions(-) diff --git a/template/configs/feature_engineering.yaml b/template/configs/feature_engineering.yaml index daa91a1..b0e559f 100644 --- a/template/configs/feature_engineering.yaml +++ b/template/configs/feature_engineering.yaml @@ -3,10 +3,3 @@ settings: docker: required_integrations: - sklearn - -# configuration of the Model Control Plane -model_version: - name: breast_cancer_classifier - license: Apache 2.0 - description: Classification of Breast Cancer Dataset. - tags: ["classification", "sklearn"] diff --git a/template/pipelines/__init__.py b/template/pipelines/__init__.py index 9c07547..16ae363 100644 --- a/template/pipelines/__init__.py +++ b/template/pipelines/__init__.py @@ -1,5 +1,5 @@ # {% include 'template/license_header' %} -from .feature_engineering import _feature_engineering -from .inference import _inference -from .training import _training +from .feature_engineering import feature_engineering +from .inference import inference +from .training import training diff --git a/template/pipelines/feature_engineering.py b/template/pipelines/feature_engineering.py index 5465382..bd6946b 100644 --- a/template/pipelines/feature_engineering.py +++ b/template/pipelines/feature_engineering.py @@ -15,7 +15,7 @@ @pipeline -def _feature_engineering( +def feature_engineering( test_size: float = 0.2, drop_na: Optional[bool] = None, normalize: Optional[bool] = None, @@ -38,7 +38,8 @@ def _feature_engineering( ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output # of one step as the input of the next step. - raw_data = data_loader(random_state=random.randint(0, 100), target=target) + random_state = random.randint(0, 100) + raw_data = data_loader(random_state=random_state, target=target) dataset_trn, dataset_tst = data_splitter( dataset=raw_data, test_size=test_size, @@ -50,5 +51,6 @@ def _feature_engineering( normalize=normalize, drop_columns=drop_columns, target=target, + random_state=random_state, ) return dataset_trn, dataset_tst diff --git a/template/pipelines/inference.py b/template/pipelines/inference.py index 798f8b2..da937f6 100644 --- a/template/pipelines/inference.py +++ b/template/pipelines/inference.py @@ -1,5 +1,6 @@ # {% include 'template/license_header' %} +from uuid import UUID from typing import List, Optional from steps import ( @@ -7,7 +8,7 @@ inference_preprocessor, inference_predict, ) -from zenml import pipeline, ExternalArtifact +from zenml import pipeline, ArtifactVersionResponse, get_pipeline_context from zenml.client import Client from zenml.logger import get_logger @@ -15,38 +16,38 @@ @pipeline -def _inference( - test_size: float = 0.2, - drop_na: Optional[bool] = None, - normalize: Optional[bool] = None, - drop_columns: Optional[List[str]] = None, -): +def inference(): """ - Model training pipeline. - - This is a pipeline that loads the data, processes it and splits - it into train and test sets, then search for best hyperparameters, - trains and evaluates a model. - - Args: - test_size: Size of holdout set for training 0.0..1.0 - drop_na: If `True` NA values will be removed from dataset - normalize: If `True` dataset will be normalized with MinMaxScaler - drop_columns: List of columns to drop from dataset + Model inference pipeline. + + This is a pipeline that loads the inference data, processes it with + the same preprocessing pipeline used in training, and runs inference + with the trained model. """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Link all the steps together by calling them and passing the output - # of one step as the input of the next step. client = Client() - random_state = client.get_artifact("dataset").run_metadata["random_state"].value - target = "target" + + # Get the production model artifact + model: ArtifactVersionResponse = get_pipeline_context().model_version.get_artifact("model") + + # Get the preprocess pipeline artifact associated with this version + preprocess_pipeline: ArtifactVersionResponse = get_pipeline_context().model_version.get_artifact("preprocess_pipeline") + + # Use the metadata of feature engineering pipeline artifact + # to get the random state and target column + random_state = client.get_artifact_version(preprocess_pipeline.id).run_metadata["random_state"].value + target = client.get_artifact_version(preprocess_pipeline.id).run_metadata['target'].value + + # Link all the steps together by calling them and passing the output + # of one step as the input of the next step. df_inference = data_loader(random_state=random_state, is_inference=True) df_inference = inference_preprocessor( dataset_inf=df_inference, - preprocess_pipeline=ExternalArtifact(name="preprocess_pipeline"), + preprocess_pipeline=preprocess_pipeline, target=target, ) inference_predict( + model=model, dataset_inf=df_inference, ) ### END CODE HERE ### diff --git a/template/pipelines/training.py b/template/pipelines/training.py index 20df9ef..a82760d 100644 --- a/template/pipelines/training.py +++ b/template/pipelines/training.py @@ -8,14 +8,14 @@ from zenml.logger import get_logger from pipelines import ( - _feature_engineering, + feature_engineering, ) logger = get_logger(__name__) @pipeline -def _training( +def training( train_dataset_id: Optional[UUID] = None, test_dataset_id: Optional[UUID] = None, min_train_accuracy: float = 0.0, @@ -40,7 +40,7 @@ def _training( # Execute Feature Engineering Pipeline if train_dataset_id is None or test_dataset_id is None: - dataset_trn, dataset_tst = _feature_engineering() + dataset_trn, dataset_tst = feature_engineering() else: dataset_trn = ExternalArtifact(id=train_dataset_id) dataset_tst = ExternalArtifact(id=test_dataset_id) diff --git a/template/run.ipynb b/template/run.ipynb index a5b4025..f17a725 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -442,9 +442,9 @@ "metadata": {}, "outputs": [], "source": [ - "# Choose the last version\n", - "dataset_trn_artifact_version = dataset_trn_artifact.latest_version\n", - "dataset_tst_artifact_version = dataset_tst_artifact.latest_version\n", + "# Choose the first version for now\n", + "dataset_trn_artifact_version = dataset_trn_artifact.versions['1']\n", + "dataset_tst_artifact_version = dataset_tst_artifact.versions['1']\n", "\n", "# Load it again to verify\n", "dataset_trn_artifact_version.load()" @@ -595,8 +595,8 @@ "# We need to pass the ID's of the datasets into the function\n", "training(\n", " model_type=\"rf\",\n", - " train_dataset_id=dataset_trn_artifact.id, # dataset_trn_artifact_version.id,\n", - " test_dataset_id=dataset_tst_artifact.id # dataset_tst_artifact_version.id\n", + " train_dataset_id=dataset_trn_artifact_version.id,\n", + " test_dataset_id=dataset_tst_artifact_version.id\n", ")\n", "\n", "rf_run = client.get_pipeline(\"training\").last_run" @@ -609,7 +609,11 @@ "outputs": [], "source": [ "# Use a SGD classifier\n", - "training(model_type=\"sgd\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)\n", + "training(\n", + " model_type=\"sgd\",\n", + " train_dataset_id=dataset_trn_artifact_version.id,\n", + " test_dataset_id=dataset_tst_artifact_version.id\n", + ")\n", "\n", "sgd_run = client.get_pipeline(\"training\").last_run" ] @@ -682,7 +686,11 @@ "training_configured = training.with_options(**pipeline_settings)\n", "\n", "# We can now run this as usual\n", - "training_configured(model_type=\"sgd\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)" + "training_configured(\n", + " model_type=\"sgd\",\n", + " train_dataset_id=dataset_trn_artifact_version.id,\n", + " test_dataset_id=dataset_tst_artifact_version.id\n", + ")" ] }, { @@ -699,7 +707,11 @@ "training_configured = training.with_options(**pipeline_settings)\n", "\n", "# Let's run it again to make sure we have two versions\n", - "training_configured(model_type=\"rf\", train_dataset_id=dataset_trn_artifact.id, test_dataset_id=dataset_tst_artifact.id)" + "training_configured(\n", + " model_type=\"rf\",\n", + " train_dataset_id=dataset_trn_artifact_version.id,\n", + " test_dataset_id=dataset_tst_artifact_version.id\n", + ")" ] }, { @@ -753,7 +765,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "If you are a ZenML Cloud user, you can see all of this visualized in the dashboard:\n", + "If you are a [ZenML Cloud](https://zenml.io/cloud) user, you can see all of this visualized in the dashboard:\n", "\n", "\"Model" ] @@ -792,6 +804,13 @@ "more insight into that sort of flow!" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Model" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -857,8 +876,8 @@ "@pipeline\n", "def inference(preprocess_pipeline_id: UUID):\n", " \"\"\"Model batch inference pipeline\"\"\"\n", - " random_state = client.get_artifact(\"dataset\").run_metadata[\"random_state\"].value\n", - " target = client.get_artifact(\"dataset_trn\").run_metadata['target'].value\n", + " random_state = client.get_artifact_version(id=preprocess_pipeline_id).metadata[\"random_state\"].value\n", + " target = client.get_artifact_version(id=preprocess_pipeline_id).run_metadata['target'].value\n", " df_inference = data_loader(\n", " random_state=random_state, is_inference=True\n", " )\n", @@ -938,6 +957,15 @@ "production_model_version.get_artifact(\"predictions\").load()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also see all predictions ever created as a complete history in the dashboard:\n", + "\n", + "\"Model" + ] + }, { "cell_type": "markdown", "id": "594ee4fc-f102-4b99-bdc3-2f1670c87679", diff --git a/template/run.py b/template/run.py index 44f0798..ea2452e 100644 --- a/template/run.py +++ b/template/run.py @@ -5,9 +5,9 @@ import click from pipelines import ( - _feature_engineering, - _inference, - _training, + feature_engineering, + inference, + training, ) from zenml.client import Client from zenml.logger import get_logger @@ -115,7 +115,7 @@ def main( config_folder, "feature_engineering.yaml" ) run_args_feature = {} - _feature_engineering.with_options(**pipeline_args)(**run_args_feature) + feature_engineering.with_options(**pipeline_args)(**run_args_feature) logger.info("Feature Engineering pipeline finished successfully!") # Execute Training Pipeline @@ -133,25 +133,25 @@ def main( and test_dataset_version_name is not None ) client = Client() - train_dataset_artifact = client.get_artifact( + train_dataset_artifact_version = client.get_artifact_version( train_dataset_name, train_dataset_version_name ) # If train dataset is specified, test dataset must be specified - test_dataset_artifact = client.get_artifact( + test_dataset_artifact_version = client.get_artifact_version( test_dataset_name, test_dataset_version_name ) # Use versioned artifacts - run_args_train["train_dataset_id"] = train_dataset_artifact.id - run_args_train["test_dataset_id"] = test_dataset_artifact.id + run_args_train["train_dataset_id"] = train_dataset_artifact_version.id + run_args_train["test_dataset_id"] = test_dataset_artifact_version.id - _training.with_options(**pipeline_args)(**run_args_train) + training.with_options(**pipeline_args)(**run_args_train) logger.info("Training pipeline finished successfully!") if inference_pipeline: pipeline_args = {} pipeline_args["config_path"] = os.path.join(config_folder, "inference.yaml") run_args_inference = {} - _inference.with_options(**pipeline_args)(**run_args_inference) + inference.with_options(**pipeline_args)(**run_args_inference) logger.info("Inference pipeline finished successfully!") diff --git a/template/steps/data_loader.py b/template/steps/data_loader.py index cc6df58..941cbe2 100644 --- a/template/steps/data_loader.py +++ b/template/steps/data_loader.py @@ -3,7 +3,7 @@ import pandas as pd from sklearn.datasets import load_breast_cancer from typing_extensions import Annotated -from zenml import log_artifact_metadata, step +from zenml import step from zenml.logger import get_logger logger = get_logger(__name__) @@ -45,9 +45,5 @@ def data_loader( dataset.drop(inference_subset.index, inplace=True) dataset.reset_index(drop=True, inplace=True) logger.info(f"Dataset with {len(dataset)} records loaded!") - - # Recording metadata for this dataset - log_artifact_metadata(metadata={"random_state": random_state, target: target}) - ### YOUR CODE ENDS HERE ### return dataset diff --git a/template/steps/data_preprocessor.py b/template/steps/data_preprocessor.py index 34b3aeb..78a0c72 100644 --- a/template/steps/data_preprocessor.py +++ b/template/steps/data_preprocessor.py @@ -14,6 +14,7 @@ def data_preprocessor( dataset_trn: pd.DataFrame, dataset_tst: pd.DataFrame, + random_state: int, drop_na: Optional[bool] = None, normalize: Optional[bool] = None, drop_columns: Optional[List[str]] = None, @@ -45,6 +46,7 @@ def data_preprocessor( drop_na: If `True` all NA rows will be dropped. normalize: If `True` all numeric fields will be normalized. drop_columns: List of column names to drop. + random_state: Random state for sampling. Returns: The processed datasets (dataset_trn, dataset_tst) and fitted `Pipeline` object. @@ -64,14 +66,10 @@ def data_preprocessor( dataset_trn = preprocess_pipeline.fit_transform(dataset_trn) dataset_tst = preprocess_pipeline.transform(dataset_tst) - # Log metadata of target to both datasets + # Log metadata so we can load it in the inference pipeline log_artifact_metadata( - artifact_name="dataset_trn", - metadata={"target": target}, - ) - log_artifact_metadata( - artifact_name="dataset_tst", - metadata={"target": target}, + artifact_name="preprocess_pipeline", + metadata={"random_state": random_state, "target": target}, ) ### YOUR CODE ENDS HERE ### diff --git a/template/steps/inference_predict.py b/template/steps/inference_predict.py index c29b352..9e05e21 100644 --- a/template/steps/inference_predict.py +++ b/template/steps/inference_predict.py @@ -15,7 +15,7 @@ # limitations under the License. # - +from typing import Any import pandas as pd from typing_extensions import Annotated from zenml import get_step_context, step @@ -26,6 +26,7 @@ @step def inference_predict( + model: Any, dataset_inf: pd.DataFrame, ) -> Annotated[pd.Series, "predictions"]: """Predictions step. @@ -47,11 +48,8 @@ def inference_predict( The predictions as pandas series """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - model_version = get_step_context().model_version - # run prediction from memory - predictor = model_version.load_artifact("model") - predictions = predictor.predict(dataset_inf) + predictions = model.predict(dataset_inf) predictions = pd.Series(predictions, name="predicted") ### YOUR CODE ENDS HERE ### From cf08f35139469088e203aa48013ef521ccc21a1a Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Tue, 12 Dec 2023 13:25:41 +0100 Subject: [PATCH 14/48] Images --- template/assets/cloud_mcp.png | Bin 0 -> 237746 bytes template/assets/cloud_mcp.png:Zone.Identifier | 0 template/assets/cloud_mcp_predictions.png | Bin 0 -> 320242 bytes template/assets/cloud_mcp_screenshot.png | Bin 0 -> 302436 bytes .../assets/feature_engineering_pipeline.png | Bin 0 -> 212830 bytes ...e_engineering_pipeline.png:Zone.Identifier | 0 template/assets/inference_pipeline.png | Bin 0 -> 257666 bytes .../inference_pipeline.png:Zone.Identifier | 0 template/assets/pipeline_overview.png | Bin 0 -> 407607 bytes .../pipeline_overview.png:Zone.Identifier | 0 template/assets/training_pipeline.png | Bin 0 -> 70547 bytes .../training_pipeline.png:Zone.Identifier | 0 template/run.ipynb | 1453 +++++++++++++++-- 13 files changed, 1358 insertions(+), 95 deletions(-) create mode 100644 template/assets/cloud_mcp.png create mode 100644 template/assets/cloud_mcp.png:Zone.Identifier create mode 100644 template/assets/cloud_mcp_predictions.png create mode 100644 template/assets/cloud_mcp_screenshot.png create mode 100644 template/assets/feature_engineering_pipeline.png create mode 100644 template/assets/feature_engineering_pipeline.png:Zone.Identifier create mode 100644 template/assets/inference_pipeline.png create mode 100644 template/assets/inference_pipeline.png:Zone.Identifier create mode 100644 template/assets/pipeline_overview.png create mode 100644 template/assets/pipeline_overview.png:Zone.Identifier create mode 100644 template/assets/training_pipeline.png create mode 100644 template/assets/training_pipeline.png:Zone.Identifier diff --git a/template/assets/cloud_mcp.png b/template/assets/cloud_mcp.png new file mode 100644 index 0000000000000000000000000000000000000000..81197e9574f15318a66d83f999593733d2958176 GIT binary patch literal 237746 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

D4wtNG1J#ec_kjd%tda$e*f=}k3pJAwFw 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

La&^K!40cI5ioQs$&&>4aU1H!E#Lt;T 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
V8e(;NPz>Lw(0cd5cCBRf}e?QI_c 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�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�Ql^#-{sDLiYmz2oh<2;p#1CE8a!eHImfH2|+WDUuk=Q8u~ zfB3Q`0Hq7PHo|!Zu<_8lt?Zyi zfZZSFqW-asv!%U8Jym|LS5*gMB-sD8ZQpYGYuippOVd_WaVPjd5&SRl9<&Yf)psKy zq{2da`(6GZxX8W&<&(>cADT5Mn#;-^1oyXWvbo7cixeOH42y9p0S5I+PruSwJGc2q^qk0e7xC`B6LGh6jWahw%ME~O)6be~hn7NAr8jlq)Q+&54l6If;{he?fA{g@N&0iQ?$oj(-rgvl zRO<6s3dQZrdQuXXR5Ua-<%?A=goK1xf)0+m(kmz3 z^}v11fHVhmhq59zM6eP}02C>^2Tm(2rWoCsaob?E*CTctPJP27krtopBYvA7?EJ{H+SSz@8{4%5 zz}K_g>v0cl!iEr7Co!GJ!H3E<%@9RE@q-`nJ$`6EA)cXV&w?LtME zX+|sH;iv1_da5~ZPw)e#T9c0YF88mps*mY`bMlF=+vVJbC4%?#wx%=rawo2L06t@k zq0R0}TeJcs!x;cIeWVNcrsqJT4WK36H1%-l?De*&d4aHq*uSG%p}JLf;Hy84$O*#KxOdG0OsPhm%|Q;fqg zaXnwMFLz+{&i3?&8707sT&iGi^Ai%(c0~k$ZcoAHI_Mk-bkat5IoRg7SCuk-ZWG=c zfQW1}@EU4YvVBWArnO`q^%&JKcgq$8lTx(dbCOG2R@^tZp2=BS1C}s@#Fn2~i_W0m z1NUjEyRnH$KRQu>Rw{=;Vn&b_Ex%>4zW&CEZCAU>M$2{G|8aY2M&_YxF5O&=`?&-a#;u$eH@MXX|&j4z6xuJ@Z z(!p4RQ@brUxo==|XU^qL+~~-gFeuTtxt@4Atg-SF%P z^zx<3P!h5b5py-Khm)iGh~|e6iXquAQs`sdfc_nE9i|E|?X*0qO~0gHvPE)tlJ)~i z3tcw;=lQi+FJH3$&FQn%K%*1AgV8P*T4SXLzZ-K$p+IT~RNk|8JLABTU2hZ(Dgnua ziz+QPyWJLPnLVLp)QfUGZ2I=`q_aLZzRF_bVw_|nxZMjbV=d;>jb1K8cy zc!jEWM+myT8aK|X{lq&-o>eME%)BiEG!8K<1_}F~J9(~3Kmu7F)UL5ihC*7^sd0{Z zE%PXT(7!8oxv*+x$;_p|bfsmwr%`7K6eCt61PwRma>a+V0Qkx}^%w&5i@+cM-Qi+T zk8O#1l`s8sxu@Q!)Jh5v88Ami<{H!rz$?+jt)&+~dR6Z;C;rQWJAU(Vha#WEz1`+n ziHR?cGAbR$??x;{eb+c3?mXmI;0L&mjBemsDnNAcf*#iy zU?1{tp55m<*{=r&eZ#Eol$TKhKKOn7XiUuR{0(%Y_Q#EMT20IT5UK&PbwI?Y3h~e= zFKz3^D&ft@unB-M*EjW9PW)#g5h;e02KDiL$;JrS;<9pR!+$;VVZd~j%#uy49wSfMEzVw$N1^i%r6()%qB zl!L9p=A~#q378fFcBFiM-X5;3wA-G6{)g|jZ>DXJ+T6+govg3-t`$W|EtWlppK?ya*ZEbD(KCY=YR*v z*&l}&?r$wWVO=#3kI%8S)wNw9B@|suXfB5P7yeU!&5J>ye9G(p$+sE-{_%gAwx8z( z9>>3w>E0g8*yp6sb8FnvsYV#NO0?kJ{BJ|>5_HbHQ>>9=n{C#())aZh%H&;c1vg>( zXiIAsqNR0VQ>Al(p;-%4Ev{tMy|+~U^Lu}j0CfgZET&uqZ^0Qip@d&vGK0N*G#}kx zY=^~vG8huo*NmjBEB%6l-J%qL15l2?~VetwD zTqa>Kb_0B+5NUjl?it3auqdUA*`B9g-NCcJ#ld0qvioPEN8@wJO!{qO{d&rlU+iOn z*;34#Ze`DYMPY2Kb&J%O)NW?cd^W~^F7nrJfBwxKJI8xXy1cddKaBw?3m#9dG}uXL ziJdi_+rloXd*Eqjw-f`LzCV-eJ9U&TZE3DZ7wI=S3Nnwh!P~5!@p#cuVVcY81%&%j zHExzF)I7NEhNxy{8C&-A7cgv(6)8<)2(?LS@6r=|y!!Gf> zeAaVV-cMbf`l)KEe${^TUDFicU0+rjMzNv zzX%G-$^u_Z<`qcE{Y#JP$4CCnr#+>XNomLoB%e5E zsH{f%wm^b25C!>_;=WS~GG{ZH43%SCUfa41^GoiatlWkzS;hIk>fD0z#jkrwrRhBv zT$S&0b()#CY}z(N2{1gHnQJ`i*vIM+lj2$PL{fuO&~kRfDL1~QFSQ|HGKq{gG*iJd z6(TVHDk6!*D+Y+Z6r3CR3hbNBTsoFtU^eQAi0Gz)v-GJv$~!3K@sfV2TcPdkXD^yO zGF(*88cHZ1SBxoBwOVf6$#rI*f28Stu9p46$B#0}Ge z;@RU+*O}6Uv&XqtjzKlQBwTy{_QHh&?Rs})=s)hexL^Ik%ai@0xw+BGIni=5Z3D!X zFB6TkD)HU)#Vy-LLPLaWR<5=M;bS+fL>){G!~F@zgBL@zX-j&ggG`2){wC5H#;X?F zsP3qp264Bcnu2D@_V-Zsj;_PLv1~sUWk?yw198pVDLCb9X5rlXXhyXW;#SYkDs{!w zbc*lnPfE$|e-AnWO+Cif$1;$<-(uxMPsd|MUneQ_#bf;PtXUPrQ}0bZ&&LOHHL=*e zhVW+AUmQDq+R`?q{_~ioXhw-lRRhm0)GMJ7D4enq5{d-0#RrBfWKI@DinBR23*uL# z0WHPVPbp&9m^1Bc?S_^YHI0RuSuzT1{2Gnu1sy{Bix$mF3pxoHk1>ah4Z?QO!4RE= zD95>dlEa!D7^!L2CXcjSWFo9_lV~w`T$EtouG6rXntxrCNt(e5zgFwmX40>v_5u1* z$eBsYD!ODX&hXFn3s9{#<&nAkasGj+{MPU6HIy)j3h}$vdPgxCRrusa?VnZyzkfIQ zH>qwZNinF)Kgr<^dUkwB6a?hjMjFONN$c7SOH?u|;8fBPBMdP7?wL(_CV{x<~ zchMU}y#_Yon$Dw&am#SW(IO)6KtJ6rt*2Tmdj3G2q4H- z>hTj;jjWBRy%7`kSb7z`lWaMC@aVKffaeXZa)iSJ_u-rvSX`nTJ)Twsh?*Sv?AssZ z3Y>6Z5q9C%YAhy*GMD3*{xHmcdLwR(E;H)Fs74@oW!e9T#c>t!9Cmj#AU4x94wXpB zAMA;lN9hhAH=hGkkAmfkzNVtELYHA7SR!z(0_@N7f6vuFJ3rk+&qW?pc;=DEO zfZad$dp&kb2*+n{ZA@hxSn=W~jine6+-6-A?7w9#?@R)k!(F?6_}TPBh0 z%&w3jQ*D?;C4HLATbjZI^oKquwbrF3;dAucby&BU z7HoR;`(jd;lOS7Df{Y_fBXkuC80_>Y9d0}f=KA6Cv(ht-4x}^XJy)`FXN{(h*+dOt z_J3+-O-W8`_NdvWz!gLzMe9B`O8nFD|oMBYV!3V?LfAs_6_=I>Sp5DiZMw(kPSY2 zSS7|lFK4;AoWY!2JVh#6_y)Z%w6rxoBUmbOs~WrQ#%+O+Q&Hm2WDzRy4)hJ3N`J4b z`H(bZkm5)(A@?T)N3F9&4WtCd_(o3DA<`fC5w9XG9L?2;7GutG-oh&Ah*JfYFY$t6 zf(uM*68qn0pQq}&9M%>xh<3W&bSifxlQ<@t)pJMkMGEweb9bTJcmSoNct+H+)Ab{^ z+&#oF`nFMYQ0z|^GU4=jr6$O5bCQ_)v}fR6+$Qq~>Q`{+;aT0xmAs za>tPG+SdIURv%DYSQ_6znEX#ll z8nc2}dcw2SV~c-GU_x^HiKkYcm*Uy?c+K`Wo?IZ9Txr`BSNH&AHq{}JZG~VR z`JB@xeXD3{#F{~IZ1$b*u6!ZIfdFL(w<4`{h#}1Abn@pwNOo0PVX3z4!MPIz(Sxr# z5*=i<0#Sn!?b1tsE@>~tyj*=vE(q7h<7Pi`lY9Bp9{*9MnqOzqK5g_-n#tO474XS-lUm;2)Yl$xRmpze0a=YPE=#Ze_gY@~T{52Vt$sFH-){J}&Y7??$>fMkx{BhxtdV^e%hsSGs zQ}m>`hYEgr>mTScQ?LADChiW;U}i$c!Hmrnq@V*>|QksFZsuJo4UQOhThOm5u{lD6;3hES3T;+O2SZ(viu;Xc@;HaV>b$y~kon zuCfzx=N)#!J-bzW4o5qQVYZxX4W{z^9=tg$-gN1>Mw8elm7X*-q)!a3_lHl-?4Z?s zxR6s+O%6uZp#Mo4QH?bwHG8n7Nrk7pF+?*3=R1PA5e?-JGpVg1s5E31K(ni=t52Rv zfs}4ga7X3H7`ou)&6)urtIC_yMQ)ek;l2R}t@71vi|T1{-V{ z+Ni2N=@y$?FWYn4r!(H;rlxKhJhyr)P-Cj6w0*3av#S4DZr+8yDHlbfjQAQ?E%6zG zj56x>%oFq8p~aZ@u}fwaL&C^ds9Oo-x^_kcE7m@Z^PFzVXWdnMQrIOvyJwmfpL1_K zBZWoO<>plqC4yj6Qw0;~B!Q9*J(PnyS6$)xa;rBjAE(`Df*#rUf@N|B#PD%@yYVZW z_>(hMFY{H;Sl8#q?GM$=>}g^V{x)^)9haCI>E%z*ji;;ptw0OUOS>7CU&ppWfOthz zXlROb7`Bto;moziL^hapz~Wea`du0hH@Jnh>=^uA$cl6afpMZu;#Lr@99O2>rd>be zInm@;CEY9!ZQ5@%NH{iH6ov3mNma7Yi!CMimH10W-yfdO{3B46cw!EJgU4_{ayvpw z!EqzZFx(L$i8MI>vd@hY)~O=DMEy=-#%~7$RP{C`7H21)NiKov)9}WL$`! zBpTAB$$tUaZkqC*iBJF+*er_@LW!C6W_V%zJ zm;1Re);46P1hQ-nojg%TBxe+~kJfe+&o$w;KNE$>pNkzI74B!@??y*W=~OumcwIwk z=<_=EIaGD@Pg!(p8xUY0BhqvE|P*&YaE`vnU&Lp_)-Cs}XYR-4H@%iBaKl9V2LV z=lUwoEZ$)8qnvV#DfB4~PIi&JHG0)QV!YRG3T|ST|NJL~S?zTCW&ruYA3HO9)oNp; z6iyo}ciEtlw?6|NP;ScG9q#nVNMCre*XF%@G94)z;&AceQkkj}b<2Ru@&V?`N*Nyc z%tF1XIZvf^pGPtCf!eX^;e3Yl%PY;T-$j*O>@9W zEoNg-&gW9ITUPkS$mko75wpZDU$KeT+J(*S@(fZ>p-)Q@Ym}(G3#(G@PwXEaZ2s|B zZwCaJv1*XZO!m+Sj!3>`G9U40b4z#uqPS76>g4x@nE1NG<8)T zmnyXV=CnI0eN)AoyK+Aq-rW#Ci4n(5(8)ViHQi)6bwVO=}PvG9*!~e zP-cEG&-B^t`pyn(o1CJ%9clp@%jT+FWsbT$zl_;VhG&>v14D_Tj1gP4>960qYO# z=J zaRID6Ye^+0wYNe_;2%n{*xDm$ZX;JwI$RU3vkxOSn>=U#NR3Ba*HdnGq&)?P7P$1# zki3C1j7ASp)%+I#ci+Bx^-65%3T88RqC$bGfr-Uf=w;l|+K)0{hNfWUD1cYnL5L~3J zHqTHRnz}_b@huN2+khqMf1b+T%pI{#ll?zEQvH2h;g`rsq+GU56>5qj`J0<=Z;P z=(Db_r6)((cziDMVt)~krYkFngKO5VU{0SuKkC=?$>Zid#qio)H#Hxz|6LZeHbuNjkNT$sq@m4o@wEzKU)G%!YFqaW)&I z2jbP(c3oXY#Ecu|jSgveS(SY=-z*YMHox(q(1M9QY0oXG$`8EqnXMWUtE-(o>e)9UnEE@n=%w_Z)k;>Uc&EFY0o$irMM_)_2+>dh>;rm(YoI z9pQvzrG$LhiT7j=*N;bfnG?^&AH&n;Ao<>Dhv`?#HMB&u1BI9%EzBpMs(M#&|Ma=a zOxd^xq3R8H>>s3Y7yGhM2{?idZgd!0G(kHj8e&Q4@JpNgbQqtFUKB^XFR*A%CVq!B!NcK$6ZEGxL^I_9PhX4|#PA`0(;D zINV1-CgxWYl924nk(|O6WT-zDw}g#~Q^+Xh#B?4(#$Hx@$S*)8-HSJ0Yhn~ybb@`E zVw9X;6m07IG%nH1F}3=R#bbuk%_>Ns^42OBrKt1E5OF&MwqZe9*c6o9so-Q8io*)| z{kic@u1rY7ieYVgx{23<=41mW-90PRHfBRc<>3Dxs=hm_sjYciL{v~fMevFg8(l=D z2!y5xC`j+2iAqZ-QbG^d5T&a0-U(@h7J5+;5b1;@)I>m9ARvYiTHwp|z3=_ScxiaKnE)F`idJetwfW^9XC|&*tl^Fqg4L zlRRjOR1*&_PESbxo}zjhndEuc6-g;Jp_LOrP(!O6o%!s3cUBOim!P z5oAqP5QKa22C0ud>~j=Zs9{cQZtMPgbkU#X!k3vNOC5Bu5TrQ5rm|38NpI)#D`1sp ze1u)Sg%o_%DWYHQV*X2(;Vx|amd7d4Dr9Pbw14v1e={&^?zK2&oqL4ifxzK%c9lFY zVMO?w>kZ74Ik#_^wX8Kfdf{qdB%f)o8~h|c&z%YwW6 z52zDqg(_{bgx@JF(a@05^D@HUzl~I-+}woD-)tR$JGAH4W<+POs!aa5_5~Ai9a-?5pL>|Cg#`>#XXo+*5OSQk-WOINJ0#qS81?NzoI&q1RFdUdJ#&olJ$ zxwt@ppM{DJ$UHfDML~TA``EV>$750_e?i5|;8iEf25V*mL3k?|)mSdb@Xs*9f4)_p z=qsTuV{zOBIUkQl>YdZUuRDlA^!BbZ)xfO;pV30rS*75=xi)@&ZQpQlvR8rCXjy6` z++PFZPLAUDpLC)quUqx1hWzgkI<#FP^z9kYY)Ww2sK;Pl#LKqQ1lO7eA0Y4EHEvNb z;ysyDl4k{Ah(=$5Phg$beKI$g#-VH6;PC<0qChjOR2jQ9kQUdb1&6lsaeUBttvi-F zy&orQaDwO^I38ia?f>6H;_pXDE;p0$60}#jFFa9aHQ*1Bxm*|{uT(c`XovMM$j0^b zsdcFlAGSX{A!%Sven50HE&fUt&v-Efv#4Oy z_-g!yKh!8{m?nsXD#Fl)z?~ex)_KGWUMDo*Iu&7rrXa2ES0sS>dA@>j0Sb1S`gLjm z8zMu^0G*Xv@a;>)MWw)^d2j#mX|@<;`9XOLnn+=GmyK2VJATc|e|3T@4}ITYpnK9} zU`K}__&T?9ZV!3n`zPH**t4ap5`@gZq+Ua_DAejU)nX6PQt-^O$Ii;q*%rVp9n4e< znWwb%8B?Rls}s8UFy`;a8*>sJMubFT!FEg5{{QtgKQM)lJIsI33P!v#ceih|&RRgR zU>S+oZ^jRka4|TRU8-2?$PHU^Rgat#HEKF_O#ZipmU`%jhYctS8E79_uZ2S0OBbhjO1WhfNgEln4k9BhM_6833i ze$c>$zc(T4dfrz3={qY3%EaC@??$$~iSHNI4bC5*A{sOD%yH+Z1xmcnS*7ec(d)t$ z3=+AS_u4VSu+t1#+{<=TRZN~gjF)==R0cG%yO6ZeCv$?nZGE9;VnZeeE<$YRDR%{R z%it7dfbvwijnSgY@!^roAh!i?IXxwB99NL#=ne$0Wc@=4;|`%FnU6!3KK?~6__w?M z&MKkUL*vzoUiR=!WSv9PU zTj|DA!z$k!uGC4pIh1~2;4Ng0&)~&=tjGs+we7;a(&fLT0T(DQ76g&b4lo~-(a2_i zb@j9kd%ys_03ozWX|h}R1;7-=HKt3ktmVZn#Uzq?ZsyhWK z%c`*)0nYE{=i#I!3pY0Zmi1W71mHKjyls*EJu$`x5Q8kOJ3U(zEY-e$kRAfEW%@2}FHL zWNF*v;WkCqyfc00H5tco0~)DlaW|{F-47ousVqouHXN~AYve`T`D0H1xfx}@b_k=| zG28}Tq)4Y;`4sx{)FbtV;}rsT2y7i*z@qf@DL>|+uzb*nPpOrgl4ZR9=G)8N<9x`J z<=gHCW~JbJB?!=Xc@9udXNR-ghUQSMvzzT`YFR#J)(6_zeraOWcxJ}ReNLaz_!?n^ zECo%}7ku%HT!VSKh??A85ujGK1)VJ}bCr$3$~vGR+wz2rH>b;W-GIx}8!;|zSf4;; zO{$O7vkM|H)QIeOvyv6^%%tXm5A{``8{$bo@=JYZ(c)E`g1+*#OHzdqVLH2$7nfqP z0G5379Ws3mA3wPdn;Sb$JZKfTBBNpjp3U*Hz!r?-d(3z8QON=1P z)uBtUu)B30@NSElPDsqa4eH0-uCAi97&aYWB)DRt3gK>^V&-%ae4?l{xSQaO!jt2#=(H={-&jJ)9uu2l5*okdoQ(Riz=z^~= zrp1;}S#5+QbV*;rD~e0r(nkXWOo|R~`VeyIz@{$ju*-JnALuM;$4cqpR=vvGLZ(I8 z2!;P=5{LvZ8zJc}i)qk#j=d=EeoKdMe#I&iBibk@n!o6MZaI@=$Zus5EalbGdf=HU z&`>VF&G81=!~Y86L2E8Z!)N~5IN71xQi$-~H{sUAl;V0Sefplp?*_)6Y0;MVo@2)^ zzGM>|R~&Z>u2gXO+Bf|AT@Q9Fhip;5LxLhh1!w^I^D^R#+di{7xu?;WjCrhNVAfB^ zd^7h6_xc$6T)Pu*y2NCRXl>burL62j{*G*yK!k+khgX^Z>@~F9NcAfg0J>%I5t;Llq2PA zQPMxL7e6(=;r$Ka4(h4dWY{$@g4kl9OsQD#D9Kikw&^F98A#_5j0p0kL2n}r(vjf1s^d!vE{{g}yzrFC&EDbkplton)VH-z zg^iD!2-9wgPy+G$l4h_a@uWpp0mJ>#l_qo0!&8342hCrU+1R+g^_!)(Fk|c*Zkk^x z4bNx2!J}#VCQ#osp?IjN9-hv9mMsIV9>Zt?y)+;RVAH~uDuBW=Sx&&o~m^8N4kNrgI^d&zu-y+PbTG(@QbI^Mex9&6q= zQWul*h5u>!fR3pZ@kSfJ4SM<0XLi+Ow}{rOd#XmW*~^Y5U2LHn!=-_{^~D{aepZrf zat7-48%uJjY8F#TjP;``{(cA`f@?#ZD!}ord0VkojpXZ!OK?35_3HBbjr{+}yX;|$ zR{fFSx|aEU~Wn(R8nxz+UB- zTv!lmb2WJ$ikW?$y1)9`TDI@{1;ib%oL`93rwUcQFe4Q*h3YRpaQ9gM#C)j_DiLUC zN6r-~{Hm4lXO**P8Dg6rmmO8|-5GlTtO-xV-8_8utYCS?mp5^WKuWH$39D=4r$e`_ zgF$3JC*~-&br9$sbgI)#N}qak65+hike386Y3r2>)aian9jfwBnZ^%x3I|NQy+pAb z_WV7cr!XXJADdtyY>hmEqB2=vg1>BWv6=0s*~gagam;Fk<=aNyhU*f|pk!X_B3e0a zuzYpfZuij`2vfsU&PE``KW!&op#Rj$GezDqdkIZyag0rEbUM+Fr`6gi z4yyW42jQj~CW^fwVYbQgcVp}-b+@^!QwafkqiRn|CDH}Fgxe%vm^B?eJM#+!)tnG^ zr$ClPc~N$XBbQGRb3yf+Pacn;4_<+~F#^p+5R zmY!1CwH#derf>bb^2(&`5!>_YKB4>|)FZ%($omAtCWIxm_L2o8F23cX6p!!v5A)^y45* zLSJ_6$C{96+%=Ois?Xmsvep<9*z)rK>$k9e70DkZzHnIjNSR(;0%*9tRbISKc)e+( zCz}J<6j78Qq%spH+t5x>=&k8h=&OOUYTkMp8~}*B9Id_23ss6dRzLNO1P#--aq#i_ znXSaJ!Wf5$dwCiu2>9AU`BkB*nWw^C)1Z;sg7J)kuoF4c3=m7i+k_?7T%tw(ob=M7 zY*8V`ohZco4a4z(5Up+tJc6a=v3;BbteQD>&vH|SeAmmaDKRRb0~H%I9#SIXy?P`* zbX~S(XXvEi4q2}M25X#RO970WQOd0${h32?t^AlS31N_R&Rz<0!&mblf7{5rt$+I* z(%?bTqw@v|>i{?5R~JCPqDst#2VwbIZ7G|32%9?^MebwAYMjTTLqkVkJ3kBq17pS^SxVHP;*U*oEyIWzNC;^eH&r+jWW&#ofOCm&9( zOE0y;Np|gdLIrMp&sc%iGu;Jq(sJWtEDi1GVJIQT*POlL8D`!`t6D7)c)B4W6B5-L z(xob=7f(}lL^)3$Q9qb*kI!hlyUWE@;nLx;A4$g3io_R_)E0KqJ(kri5ht+Z79kRD zTPLrXQJx#Iqz$bG8Gm?%DhcG49AWD~L5^`=!OvwMmOe#nHQ}vK%-EH)Xw?g4rr(Lr z#AXwGRr|pRfk;Vw)f`6O9xru49%!W_u@%QPfZBe*Qt199d z4n6RXwpIKu1E3_TCStbme$TSx=MZ}o7$a8rg0^4eb)ii&_|XxLb443QouSZ!+C-+8 z*Maf;yhZjOFO}UWeKge^FIYnFy73>R_UFzDg}1W~$z~~Q7&vTMMTT(B8VMPc<7v535DLo0C(2E8m}td zFbMGaKP(+#fwy-itLcm(67&`#8V;M7Dw+jAod3%c?d$Ka^Tx`brWeMvYBmoR&1O z?kzUn_`DKavaNEpY7<4Qzpa7KR_{Mo9-yTPpf%f8g)pm#6n`5dxW;uZ(@0M?eZMxhmdb5qxckKcXZTSk; z{nTpJhwF})MukTHrey0Ub`^yf(|w+WJI{WU+Jz=zBU+RIUWzeR51bTZ0Xbh)PnyGgTVF#bsfah ztjv#m$I(JRxrAMX1FVZ2(DgrOtP0gzX;+`jTEuTZDp0C-YHM~89xUYKQ-D=SPjcK( zZ~96LU1-Ymc;IC4a1MV0UkO|)rJQgg2}#VTmE*cY4tzVJK=TZ}TRf7NNDd(YlhYi` z^vD0*{KD-10{uU_XD_?7 z67`9yWRN=Hn`(Hkcb4zOCC#-IA>8?i( zZ_EB*zKyk58Orua1z4Wc9%23_Nqc;Lfzpf|W)OVA;9&>r?4{i;IrSk5#JR>i{`Lc$ zW=JcT+T+zFq&00bk$Q40@6umYq}#UZG{w~>Wr;HWvVjzOlB`UJ4a%MmEh4g&fgRWN*_<{}67ku_+ZRmK;j?DrkNm`uz1= zW@{(ZzQG05o+ytUap14|8~V&=uO*U;^wt)O67XnP|F)R*+_!KZ46%41Rpzs8!rR&@ z$OL=8pIRvFjl+=)i) zja&21Afc-eB*BE;r@_=%!<(8EodY%7f9@KwOd@nxyats@FtAq>XDpm#r$g+;i6r4z z1v2euamF~m30!fV;iP~Yf2*jvF;sDE&DU$;ShTyzME0z>7yg=|t<&K49~Y}^`T7mt zvoHC~c zW`QM`I5E(TeB2SET5V}gr})-_>}W?4^ma)v8tGBe2!4lW$uiCcsaE~!s4*wu;Tm3? z;yPUcx)~5d63!?ju9AF?nLE`-n#0xHP4-Fbk2iD6z>A4#ZUFVJurOFb24POx4#d!mc zoHJ>OdgJJntz|Whw=OCAE|vJ#Wlfzz|05jV`Pz()z6(35Hs8Zdu^Dh6@ISH?iox1C z%1u)FAai>2>i29=z%Ie#159mh-GDiJ4DkHP5y(o>KF4baSF$j24d(63!P}!p8D`7L ze&jKfj(9FZMZDXO<_`PqRQ(Egl0ZF&H!B;{>#h{M9a@tcBzg=JN9b`E=G1+?}~W500;_rQt-cjm*Cy2+wJc ztY;Po+I;2nxbiPDI%34rfQUAFHv>d1S4ud{J4ST3&D7KHz^)p_BU9bxZT$&tU)) z;CqY)mbR_@YjYejdOf?d(PsKeK45x#YNTxXe1H1n@bEA;cns9%R6lt>X||4oRkS=N zSW?o&ceFv#<1G5`r1Km4GCVw_wfOn)X}qLXP_unUc_%AMHX2;I_YNeK&lVK5Sbp#t z8Q9LJdGL5l-ayp27v4Hb`5lYz_jxIKuWyH&Fevh&{D*#E>af`@hgYnoqcWDj31$uE z+VS8LRT8y>@YUM=ZLxFB#GOA%wXfOC8nym9e54t9wCEHyxRI7~I=XLr^(*3|YTm_1lZQLssZ6&s>a5ZzVB8 ziHiz0L?;m{{8QSr29KI^l{<_0sc0Mt*dZyQ2xdVD*~0jpT85?X&3jZ7)#=fDc$}Bh zVpvu%FD*!ww|_R65ifVXX|~1>FMzhMvwPQH!%k7a=Qnu|f0~c7xVq`5hU>PusZ9o? zoOw0Ai7(MP*(Z|toRTwgfLK=8`+S-;(O^@9J%P;>>nD9(LVSS>C2`#;jqfR#^Z*Kt z(m~T&eA-GmUQ0Z|y2AlK$reneB@#8}pq>SwLVd@7$V`Sz5}zygF?_Ghi=?_Y(cC90 zi;UWVd#}X=-46d`?Gwu03B}&>OcjedW>LIggIwm=F@?x4yub`OXlA(uL&f{Z8#~-$ z(Zv27qILU|EOeyB*JzGfV=1q&%IoF;Rc@s{O-z;T%LuG?REI|20B>3y@Q4Kq*KV3S z;~yGRzz-aCY#i&7d_{JXg)u651153)Cy!uP9fCPXhx^+E)dwu~7!Ov~_WmU8vOm6T z|Blq1;zFd;2L4U+{ZR0q>>lLeKRnW?!$)5lGlYP4%Rgo|`?TS{SNcT8;J%}caxyn- zfJ#1|#up?{lnO3Wix8uhCSly=sH3tns*L2;qiAW$9#UqR2OLqS;iN+i%RNf2y_qtg zVYh1GEYDUbqxjYOP}hgkx3!<>LCcKi#WF6t6H>&q3M>yhysB=r1*9$~S(67xGmI=- z?v{X;vcDiOf-ktFOYYWY)y==o1?G%N!D8%1*y2M$gZ$Rx+T_PajxehU^hp2gPv-gK z-1YbR^c#%;uI?Y3K;AhA%Gn*O7;DqJ1XzLq_!< zjU}GE6OTBz2Fm&|Cnmd>3y2UKAWE!)TK3)}#=(=^uaVFiTCi)k?@Dy!DWSlq0*oy)w&UfyExuvnFlN4k{G~`PNu0u zE5QX{_r=FTDB3Z(|{r%Bvj0*5*cZjQbmC9(tiNclCO~-1VkRs6?k?zUAk<6SyWXX zdF!EZxNTo~TqvI1nIeDHh8o5p-N+Jav69_W;Ea{T>=2#+vPH{U4^9#+uY3t0Ew(cRNR!r*R$MUdbs+)U-n%0W?VCmo&6^)x$Bmq{u|@ zR$CZ-a8L;`i;DQN*Ue!?qK)2k@>f#zYQtN{U$ne#G$^B@B5}mJ^`*6zTjFNeNAKwv z1XaQKd7PrAdt-I^9oYeVNuR-Ae*Fo=UZ1G~@-w>7s61@v>CF-4H7oVqpU2%;QljH2 zfBEy)1@-Ys1DYL^G}4Ryf(d%N_pA!;|2nQt(clpgDv(&Clv^2zb=5%p6*i-7th+v> z|13Y_F02RP;!4$#qFhaVO-3Id#8G8_Up#STECW3w;aV_(}V&nqRM2 zy}=~TD$Zl;Ha4n@=v&pSk#IwN3eNA^5UCx?>g_@ZGak=+ZCYt&<#OERF-wskXZ{ki`_w-F1r{6G0scjrYWbx zEnskvrFu`mu#h8WEi%sEvP4$2WS@QfoTEp7;#YFyppYB$N~2?0Yl+zpd96EvVx5!P zBt#vjeZt3h?06OJh&Bo7O6B&u9s`iKBd$$DoE+DigQW1~UH!-Wfrmt*z&3%V4ZcFnB z`*EDOt1UfIw{@c12IHfVUOs1}AzQ|pzI7oW^~;I42A>fh^T*iTbdTueNtu3Y_Q+`6 zlpDg1O{_VW-)_p-&K35X%0yan2kjx`BFARA0yq@${MHbYVzMZKcX&D{7W?JFkgJZ8 zN!^=$a~<2PgTaAFRe1LsFNg;cSYA7f^{T86=NdepqY5ALbqj8WoiEmP%PTpWTY)y1 z+>oQU*A|r<;U96Vj+Ld;mw%rG)c6NAg2N;Yq;_X&I^v9ZO_7o?g#GwksQM+V-4*ER z{I{pTq{~(50WJHG zkKThno;i%JlsPM67W&K|k`U;X{PizJuvFm#JuH%19akh9(Ra8*`A(gnTW*n3$U@Mw zSOHm*SQzdY(KN040^)v?zfYVi24eIwGaf(TA1)M~RO$0Q3Tf5Ao!Pejern1Z9@I-+b@^@&m_gWE=CAg}1d2WrNlq#K8BDyHD@Zb@^sf-1;JhreoLV>J zJ2H7tIX^y@;GWgO$(m9{>N23MhAwtSP$K$mqj=nii5Aak7moeSLB4y^R5PC#++Z|y z9I}XOd>&J*hYc$U%d#}vu-(SE>G(d|<&qtzgvy;BuE=Q|3F_}1RyA%OU_KWFO`t33 zl%IOz0)0+ZJy?emO-4_z4UN33)UQgDGlL$CSr2KDheJf|O6b7HXhN+^Yh9M6jw8uT zEiwL#Ll_P_z3aQP#zlnael`^hp1@N~zO9W1`y_o@ByhBDiq<&po>P&rEvEhlGnb^u zIT@wA{4Q0jAHorxV&0)YXK_hO+L|PY+NEkn=S0fi9TKYEM_S?NiRwDrzT@U&1={72 zIwwxZe%Aa)HT#bXOfUdu%9Ks-uWUEClDrlZs&QTK-e#cj+iSD;%T$Bn`uPKT zKEUy9`-SOOt>qeV+Y}oj(Rp9~*ce;-biXgJr7kF}@k%HZdzOfWXllAWJJuG5s$uWndWgT~{8yit;eEjw~#F%XkdxOyQ@P{+%s#o@R`mo@IF;7z4f|5`8eT zmsi&f8T%F{vPKYOY-m#uVQHmY$g{<-gSZno2 z=cScC;EnciveCsVFS1gMAEs+M*vqEw0RT1Y5u{&>us%Vvo6+=Ot^sS?`A4~Z!c!$a zIf51*Jj+xX@J;CHEsBwTlvDNi9H?>k7&ljg(O2dzOHH33;hsCfq07KFDP~o$Y_~As zn*O2c#U8uw3%-@C`WgLnbw^RzfK6?!;vJHj#T1w1(UtiY!&}n2^NpQzsc?GR05Nm{ zs`KjlIiW7>AJct?xamxYdBIYm@ce?B<3GbvvbIEDnpp$94n?;G0f>*{gUD{)+U-4X zGcjUY;vYGuPh?vVD3dju7w&;`TVg~RV101{DHsz+{N>B2Hcc+(8N*5!7h(Lotnbb= z%r;X!=tU~VzNoji9dSmWG(UePva9!@oGTRN+MAsP4n1wz&i~iqL0WYm&CF~#;Md?K zR^_!M;ZdpRsZ%D4n-4UDO*}l7HvM@-HBkD5-^m+cuk;dxhF&C(JeGT9N21m|9n&wd z+0_`?0bEwD_p40nK}}Hb%L>p=OeWwU@eH-=WSFmsmZ&SDxqAR}D)`PWBY#D{wB*QN6BT#hdWdWvpjK9lAy->*o&s}JGM=sD{o4lY|2)r~`Y~hxI?T4Xngh90rM%6A;;l({1t`bC}d90JUleQ9wmd~ zAFSPW z-#~A&?0P}qpRM~G_h#G7`%d#3gEg*dcJftIUQQ1B{U9Px^VTpVtWjTo+=onnJIqA> zV&T0{uBqt3mCN$@%RhMPyFO{L|d8r5-p7B$dnIDJF9nCz3QPfyql$L;Z|g1I+NBp zny4^0vDBabCGB(HwVoi&JyfFR?)QbjTjOvM=o|R=!S8<`int=#vXMF zd55F*wOqrr(LX4C^$zTuw?YFgNu`E&5>Wvk?11l4g{$r$r5T-hmHf3yt3H~i|F2sv`8gtGu z!~jV|1$CbFYWfpWn^puDNqs?l>XY)h7;@0DSHs9da3@mDJ8`A0>1xt9*g7cL?UK5*aMtfF7N4wMoC7M zT*t*6p(TFStAXxnD0)mhoF=K^q$Ej(T`I2Vv{3bg6*!y%$o*no;;>S`9P}6y%8()QCuz zd%`>$pB1E4UT^PWzIxI0o{O+Oe-TyuQd$a%3RfH{2r2e6>|E)>M3}}^i^iL` z9tKOTX8rozRP)HP3cM?}I=D*d!V& zf!_!nifReJK1=YLp#LZuSdLz*PKGE*{IFGQj=8={v`djWcd*85eu?h>W3&%=42kwIMQ*!lW>&!9^JAz7?T58d zS#{pT8qrAKP#s)h2wx5kn}n<07y15eFj2FQ@PfUyy&-CeSO=rv``Y5fEdZ`7U7^%I zUaY3^w=uFmS5k6~v0U3`Idnf{Idsz&G*y*>>lyIG`IPP#!*U}n--RXRRBmVZFB2P1 z1l(Z0@2~2=6p6R#^S!x4XV91G-$e}QwR_^6B655V4p~gd+imCMszj9T->9}(7(P#@ zlm!j=`&nu!^5+wMMt^R^NUZrzyOygv8SWS*sxzwsso$BjnJBNIKaoaEyETW^VUz@` z`ye}X(|tes0Dm$l*pdxl3NYENLz(x69%zGt4e+$935PA3T;CAnCQ1}&K9wF#HSS|a zg|9i?xkHF5-5WYfB~{&}wdNqYk;4wgl_N_K_;v8lBB9Coj2+KhKEw%cgv>FB$-U2- zFBeXqcCc+q^YP>8<5|U5rMRk~o&+9Tr;?g2$WSISwdr80D!h2diD*0&V%)`r9myX) z+DBg8QEX?=vU2Yuos6zb>cCk}Occ@( zL(oBrQ?z~Wnsl5N;7_k+CJGH^>f9Vhw{vlxtWNm&P;AYnz@_aWG16_Vva|6BR>SE) zZ35tVwmkI3guWyicHs2J|&?h<9G_H%rHHgahACu_i}km(!RS|=?0IreQ# zjn8EYe20VwCb?_8RY81(^eFgD8Koef-8=RX^#rOH7qRP{DSoiZlLIUqAPj1RB;bZK zjZBlfmFPT%ZXjBz0~f~5Tv7WKdfBLPvqKJNJR3Q7Z}rCM7}K-z4e_C{I-BEPC4C33djZuP z_*xxcM;PzyV6VLEYaqFz(#Nd=zB(F9s>=8#381hE65ytWMA%qT8&NLHVPf3E$?Ntn zeF)sK8U5(&oSKx=75ivwfb-UqrSWXa3f^#(Hn;`+HEPJI7&EzpTx=I#SGtLyHwm{ZroUijyE43uJN;s z6P8rOKRj{aVX)kl_H9(ZUhqh`asQFSc_HhNyi4sLkJ=bUjhYsbO}}`r$+2%a9`#{$ zHQ+fLYw4 z{!kP1@rX@dK&N54=dl`^^tJojT_5=a`E9BbPx|lM(-V6FsCahBoi&k$ep`7_|NV66 zXq67%?mDTLnP=0rbkMr}`TQ)RCbUbIxFoPFI7n746(nf3lLqE}3~5`IV1nIlX=$dC z$D-PmI$66}1<3fo<`cuYC)H}Dlu8VBO+?U!cB3mU=sCoz_vmgjoxatq?e6{-8y>B8 z2js*?7>&2v_`&k-opS!rqvik1=G0HZ90E6tjv8(sT-Jg6`|Q01!5DS(Nl6ZEg;vN? zYbnj_QY-Kmoc!6@jTpp#;1tgHsb_X6qYb!*P_lk2m~(xInpR`7ANkVgpF;O?#|@p^ zl-lYO<$h@cxhjIYpU;S$tr23S4Sm0vaC^>3>=gxcFct2IUJH1sy8l{fjYgbo!>8vhRnoJozf&JY26%oUGt*{y{elhYy|AE zrGlXohZJQtgAN(23I4Ead|Vn{$cf}q5#VZArP|%R^Q0|)fKz?fj5J=F#y#|Yv!l5c z5EGtzw$}J1ni>o#c8xIm1$j(k_$(!r^dG|rA6pzU$Qq}9Ntp*f7$P?P?6G@WnA@e( zyxI9s5Y5@I*!=Bx?`?)sgBg_Zu)1{Vz}`DxD5Y`9^Puhh$-h0qCwOo8I`$%ou?ud> z@Ll~pb({a`-MbD>-xK0CoGKRs-v3Acr0L$lU#x`0^R|q4NwB5(I?bvH@z=pD4~?{a3ZVfj?B@%WH|X23n{6^oZxO z`p!Y=LtNHcIH=9~_G+V7S$WGmR}_kp;c@N~EbEORWl@lsM@VeJP&Rg0?Y=!z>zOC?BX3SgTiyp*!jvpUx*u>}cLzYK_kQ?a6YJ_9*8%@()|r zI)3EijS+tg$mgR>K-iKFl>UPm^b=XXI~z9^sA%0Tbh|xz3Ke;>S<NFIFP`XIEj4!V^Z_&Q^ePV@D&cg5zx;mD-vr4V}2KUmVD#IoLk;j-OHCTOtBA- zZ%(_LbB_wS&8P1V#3nAIHr-Si`cA-wgC^0qY7B?2`~8ZeJd1x1SsCMh694ia?xrK9 zqK95r`;R!zTr3ZpmM@25!@c%3VbqHpkkp9rCs~EYsH3Dnfoq58UT0>i8=c)-1OzuQfD^|tf|p`egODPP1+OxmArn;?N*sg$piU^{BSU^EQrFR7ZrI*l4 z1f&y?-a(})RZ)5uX$cToh_s*}p!AkdLzPYl5JG?uauz=O*^m3(=bWG4b*^vy2UYfbNi;wJPTE>>0LyH}h*^u4PqCNz}Ch45c9Wv9C4hF1%IHvTel zYKR`KzMwqU=ruCH`iYC5w$@y{vpkrpMZbKm^a!}k^QEV0mfS-|tXVuzi*W9fzJYk# zYxqj0|1Mr|rlm83Z!G78v(+jlisw{F%aULD%ZTr0NPY3C|+@4Y;GN$ZwMpi5adP$lwP#UH+` zSNQjss~>DD7w}{Rn~Tw-Hv3Hha>~$0_y)3#=1y1Wn%cPm5b-VpVFw?SyhMXbDI3Rn zPrQRyIPAL3d9=KY8l=89?`B;BEbx!rJX@e-sz8ULGoO4rzn7OweY8~2#g1}6_nOBycX87_t)!C-5?)XQg2(J=P z?M8E1g`#}uydtH?+fS#nmR^Mf^;zz!(}Bb+TZ0X+JNwrM?b}xmd?>B24=#O}Z=`9U zIO-(z+210Iu(eS~1w3x7bxARya7Ks=qg@u>I9+V-YYCW@Rot^=+=Z;N4(A2L zkfU7cu0gS3_2i2OuQuQ6=KIR`&nHV&>bck9s;!h?1BEk9zc`}=k&I{{XXoL(V5?7+>KD>RMug zMM=lE=eKUEh%943!#@p^20k|6>Y>y6XDhZJ-B)-w(Wdh>lZt#6ON>sZH!Iiq8B5ej z>;Cyd+>E^Kq(2_C;wcJ!{|TD-OS(%($+$Ll7&lwvT$5kv(sLtEAacL!6(a}!t~(=`ud5-jvX7UR;NSQVTK8LcFh6yK= zR5@H*3OQ8-QYc!I#&@sGj@oU_%R{NLsKk7CDl4!6(a`DDRrBLi9#0VX-WVm)UqRls zF)L2!@T5Nh7&RP8pKKz!A3`)l{x4Pu6ow@pbk8|RnO)mlCbt~0x|$KX3xTSrNGu1RFztoU5elQTe{Y(j=`%hl7IV-$V<)a9i%K<}idrDM3ouViUsE^T13~ z0;&@W2nj}lK3JslL5c$miQU&U3$mA!8q5T+R|mwev)i6O|5as|Ev)^D`76!&b5~2t zv`8=F})@q+-{cg!bP!j?3>);n8D+=8jMdVxmnwu64p31-bofC~ts z*;B67|BsAo^dC$iex2Bq4f35n6z?NP3SQPUQgV8zWI6wPuh4;HhDC&!Tz?(s{?Ng( zZBAAFQDnYLYZ^I*-vqf*qwTWPz}UDh?F@u`N|w|xbb@gRyxPK%I?5N>F4&rq;&FSEemP@;|QJ*sW#&>zKnM%$>f zK`ol?>TppsYsBR~v@Smytl0MYd-3G62m^XT$jz85yIEO%+ntGf`^`hdmI9YiW~K&! z)eM+ihUU8lL*4BA0KqAfj_|8T&BaKg;7az$X3$NuGP@$Is6|aZ+JIgcy>SqXh2GE2 z+6Xm>8;Z_aaM#S&k{b7*U8AQKGTp0DJHOP4i$Pwm z+Vr&{6Kn<4pe5R_RNh+TxKGUW&2Hq8KHJB>+p|;(**VOB#(nK)&t2y*+LOWeT!Kss z3OnPDrrfKsI5u@uHXjnS)n-P6F1(`GW)FZ?ywQiw7D^;Q4=j=@=2+Y#=ZBRA6ZDgR zL%*gTPp=UE5`)86tyTt33Cq(mSUu;>2eVxi6C|!TA}au(RSN8usY!{<=M3IP6aX~Q z^HBpflHdSh2?K{T&|a=bjoJ{0>fJx78W7GBDap=6d++E7NiH=z`s^f^z6b9c7-QXW}h3gN0*7@qj;G{pkT7p$|90 zZ#|FbtXFuK?|>?LV|PjyQgyp?AA8ia(ljiLqifIC-~ynaKa!lC73n)tma77L)7u#|naiK_n&g?a zMaG@$^ok9&`BO!_{J4{^!YE|3xSoy^97%A)l`XZFJ{wv(I#)jlAou9h*e0fSyV5w+ zF>|6VEG0tfp|5mjxj1A`F!LUQ=0w&Q&Z!R9bwW+BaZA3=_=WwwwyuR)9^ZL?Z7KnP zFqzbufovvgNVy{gHj{gm)Q1kGjdcNGMOQF!+r{9fQkj#P1Njf&{v%yg%SLU!<~G4K zaqP`9nw68C2kv-P!k2!nj}L2HM_K~)DwXS*U-$z_k4MMFCUgdeQ;$;NDR{AHxcg3K${9e}3LW`RI=dXij zdDO}i(Zpu{z#hECY1@v-kqIH&E_XkjI?<9%18&6D8XC)_F@CPjC@YpKIf-hoo=^w| z!o;Z(VdXq<32HQkH5f)4)bx$WcquHt4S zC=hYB6I^Bp5Sx{a*^E&L&{x*R^d3Je61EvwP z`cBy(Qu9XU*DpnjCY4H`vD;qjTH&^t`6@6PXwd$yL2W>pBejNa5!9N-k_(aS&jXtyU9wGNawr_?TVuXx(5%zM4r+Rwy#wDD6xZ*(_0PN=BQ^_k1m zj?S7O>>T7uZQ}&kf`($C+6}1`aVx-2-IYI`&%07Td9WU;(X%!PH2-SU>q->{`dl(g zo$&Ws*xn;GAbnBaA^8^ac@yATF)li$FP@rh(%XO!S5d%p@uFRDIZ6YUT5G@fOvHf| zBG)P{%FSKIi7-8iML|%|tRogtDQ)*njz-s{^!{vh@`^06E`tv85&ow^$xuCdwcy2G@Yrvc6lnL zDrT-yGYQGb&yj#mWtUx5svCtC9V7R^P8Yh(?dO~!h~up_$J2@xB4`=hwxp3!1(pe7 zOe%~0H4OtoIguCrfgdN1^*ueNcF%3M9pOjmid%hXsr4+odujA(2)rI-i;x>wt4q1} zOO<*VwiR+Z<33MY1+yc3?Hy=C3>5+8K0Ti2S< ze-JqM$+w$4UJu+&n-fKd6acnosWUbF&IPT}6vG>w{@Q{E3y>1?%84M;xHa1q3R1~F zn}`}WSnPYEF15HjeTm7rvua{C?S&J`IRiJ_G+x_W5l)jWOB{!JX;q3>I{^*HZ7K6x z8frwnN?C9KC5Gq7XoCq4am_atD?sO8+-R@1I0*P`Pa7wKkPS4|sDpOhT70I79*|7V z%i|pU{&R9=nn!7AqX67jwN$xEs0#8hlcDUKk=a-eq^0Q|VVM9bN=n?(2+l6o=LZ50 z7Ahs+T|uj3brIL0;bWvLHnoBco7FsTj6vL5&aZ#)NNO=0PWac2YhV8;6|gQgZ;*su zdQS+m79&_YFim*CI4y*gO(Fe^ zN-C~`<#XS{ySL7>Xd@y^_uBG+4t8Pe{ejzWgICBuv+NIzwYIRD49O)X`Z|iA=1F6w z-uL|J3cBiO_UNED$+&TA8P`H2@N<~hx&4u{Gp>}Bx76sz}a#O9>f9ncekc8k3b-Lp++j1gxzL5y88h_!C5wqOsbP>zD9l@^S-$Vd#j5GYF26t#wWkn z%VQyyQyE|e$k+xvDr>VS&^&EhH*Ny%QbM2r3Yv5xzUw~epbb1McLD_Bx$*bpUH{L? z(`ku38ANm7V{K#OFnMs?YYbHM0Gurf)*^`|FPB(gtj1~gnyS-wXZ%%Epk@vBfTd3S z`Q>e@$bvUu1D!mjr;~7Ra@zF9%`X)V8Gv*gEUPVcf&$N01E#xBP8|qw`Oz@%$!4zDIQ2{V40=TMC}XDlP1ik_T%HX zmvWS|h5#DmyyF;ut6bOSy;@v8m)G#tbns+Jr4#}=`62D)r=l6(HW_L`Oj`A591yd7 z8o^j+gpc-p1P<8C@5cMa@)R!HRPVln2@G|Kna)PvpYBB)H(FE<@D2YgL^&MH?<@`o z%6yx0gkLVqkD*YLyEg7k>*=D0PoU^^ceip*uYrUdgZHdnw*eMw-k~Q48LjBzU@^a? zW^i^9ZkrX*%b^x##w03Y@hh2F&L%rU6DUOF$>PF{A{-V=$HJFmsL~~Za=~MzwaaGO zBe%h&=>m%b3OAI`R>mUriQSbaMq~x$y^m}7Oy=~{kCTxxhBxfK2e?E{_`&5E z!kj%|BoBn`YQLw|@aeoK*RRdWWJoBL2BQK_>Z(jGF?WIxjK!dzOEvP){5^+>cc0Q| zG*ctf*IoiCE-8eSay_=%h=5qY-|NuRVh#|)6NOj6!*Q_m=rU6Pv?sfNmuJg|nBB3e zWpDIk7@^#Q+6td3#yJi`jm+X?w*=9}=j};>_s1+dhvN{IdeK<1qho!7GNqb8D;_{; z4VO;%{ZtIxS}x?->XU*GGwa0wObg4v`Ycz-xTV)Uil^*t4_+pIT16QpCcrSGxYy~? z%dmN$eXr3Tuf+ko$x_4~xVOVRqTi;v`7~#64yWxG-iB1dGJu^aiyL~~xnmtGOT|-H z32o_)Vy040bWwY~4EM5tfSFTZ&{)>7A`2&O!ApBSN zDc5yLew-c8-DOPPDnVZeGg>Mqp^k2E|CyF)n&0!Sb9i#@^~09F^YL$D@W zO+IeE&4k0(?W3ibb2*tCv_DhH2z$!KEU$jeeF7gm3}N!CC&#Yf9BNRBeJ5NvYpEJN zt}~SJcqp)CV@gsbWDM?Am#uFCtAedkKp$|)Vz8ns!7KDbhHa*WSV47et-bEkv%>c6 zj9!zgAN<$qpB_KG#kcEX6#Kty=B-A-BB>TKV=>180o$3Dck zoBVFi2-oA`r{lJHAYY(N{7p>qbt(E!^C5k{GYNqO_m_f-;+^Z3*ks7xk1KMNvU$9v zm^O#%0ac3?)h#tp?aS}qpO-lZI_ZQjAQzp&`F&3#VYqSiYj3#O)^thuWq>B>=7l_-QZB4W3xy)j#{fZ&#r@ z<_g-|xFV?oKr3|ar4T)$pt`C6IvVKozjT^$8TM3H)6UR&U><^zZglsnK=u{P@*F04 zy2bWMusaxk{UOOTlL4{WNy>}*?VD?eHnLR{46p~dG<}HF!QwLs=ISlFB+;TPdM0L) zo@HYPRdy4G?4t{yQQ-uWC>{F&PF;~9DRDDHpOMavP$|vlL_MaeeUJSi6;)Lvnfo@S zBYk&wJLmF55Y-(r5$|q#AnE;T0hQOGFJTqvZlI7MzUyD-a=@`SWG1%U{)&Z}%}@LMQ4Hyljl; z`d=F3q5XeojDi|oiyYds(C0`-05^L>xnfn&n8ou4xp9O%Kb@uB2arbzkB* zsExr(kw+Nst9Z{6zRzysV! zvfG0lnd?wr&i%z7!9~^tZm-6Bhgh0KP|s)q7ncM+2iUEKrRtq9@UlSgIi|;62J|8h zpg2&rLAD4S$Oscx>Q8Fmzk|RsKDQM%XzDUDVJgK%Ua8)kso$c-NOit=LYE0r%8DQ~ zjrNvfEuaQ|(DfzmIZ`bs4Q}t-S#m6097Z42Rg_!AzDgCjj`Mm{-}4Qi-&lL;{L~k( z>>iz*T_*<^UKljxDir>^p{a)0pL_#T!nV9`(NJwHuxA&B>0Kb$4wXLcaqlTKP+suD zI|bhvXTb}a1O9xvK&{8x6wPzz@hUwSrnqtpmCTz6sAJ*@?kj_G3iOfMuh5{7)c}2| z9&!=d5yK~I5r^Hj4I!F44>=n=!<<;X4%0)7IollANSv)Swb`YGuG(XIiVG|-V*oDO zx7kgmTY@ZjKJgGtsT9Kj19YI5obXMbg3cvIPs^P1I{nLe|hEVYLlVgN4z@cxO}HG2~Q$ zgQ}5^_KpAPcJ(8{>&!_XeY5`x#rFdoy1zH^-!B^O`PUty=3_E4t88#tHN2d23F-CV z+{vAXF7=eR`9ai5N>~uMlclM{h`Jk}8KedDXMf=be6%30l|C2!S^Ib$ME(V!pS$%a z1Ba>7IjE(5Q`Ypfg@&LqVEBkaCgv-fY&tHfqkp6pl#AUNVYrlfEmJUGWszqVwSD4A znlKbD>FF>E5fci=pIh!UBCI|u7Ua%eU?5+%Y3SM`e-OLt-SYB)=jPp^D%ayNerwa$ z=??*=l;Z;7zvcUF1YQqkEWxaaReM8dF_^&o&M_Oo0V7Ov!2@SUih_E=Y&29O$4~>M ztj6!?%T20$mQ;Yq;bw__nyWM2C4Su|fyrqb!f_$Fo>a$(w3y!Bb1SUk9nRz#vp{rx z0jGF&7JImWV-6RW-xL@*H)e|pKg@xq`sxXBy!d%ClU(chv(b43BbxkxsN6v63zliC zEMf>)fG9)(#F$s~R7Em4srLtVt+xXj7jiASa{#Engv=eNmpZyQg)sXloCK_gD0P4< zrD4C*^~qKiaw7a@ zSpl+rwr|iUG}cprI0AC(S3rv+iv94!yrz3LMF?Cv1T% z|JSAF6T52JJ!Z^6Gx>n&1SIZ7Q5wzJQo|a3O=&WxCbO#U#^xtF|2df7F1hJe?dI~B zM>B+E(tLcB4cT1NmZwB?sNIjJlOYJb64r$bkY$qJmpLLceWyiQoX0ImxT$Gt%Eb#; zok-Zu{VuoUx%+B}He0Y?v$;8*ci$#3^9nIvX5#kUA3hJ7-STOz0p~DE*u!pU^x!B< z^LQ%ivWt8J_wZ6z@j#_uOgZVjMH5U@)~~VF^NzU>S{xR5B|}@V-8l`il_fTTR4Cv! zTCp13Z(LoDB2f-Too&+nUy!<3f)(Upqm&;{ zhHy)~ckCMjO@KCpD&jl?1+(1tBatFrWFT$7+?o@z>SaD)+u6q`*Ht~1|6nKsX$}Ka zQym`C0%Z-{9~ttJx_;f1aepN-U^*nP!(gQm90V&azFX%aPfNc%qzmNU4o!>|F()AT zYH0oZ3o0EF!MR7&X+$mfzGlsrTrt51t6|E>h^0>m;{jh*JNwM}P zvCIbY>uM*CKupFNVgg<28LXcVcSx?ru7KofGu;8lUE31i=I;tA9n*xm%CMZ9O6B&}v@4(n|)aZ2Xqwtlasnwk~_(NY453D-Tv0a=dTD zHQ{T19=~2R9{n=n9yIi!r@=w9=k8drd4L*@?#vJ~`uop;t=2Kl5!_y%CvhIu12um9 zlX@`x#U8d6xPC{<)NaBAwb8CC+nk=ywnhi9&&vuP4)3j^{emIgU?#{tS@iYDsHe6k!&;R-qi3L%L>CYJZcema8FUf=+XNSYwX z`Iii53_vzw6iipGpYPdVRO^(m4Vdravy#r{LDPMvdUg#d?QljpiFT$;{?&bc=&wLB z5q_Ej8QlBhw%xzr`KB~=+oQ;}p3LKXdUusi{_Y(0dz(A56Ls&=NU*ugS3;f*VQ#6* zWCo~i$l7W#m~Cu?l;!xSZi9ypUt-0kW91Ty2X|<6w|0Yp zj*QOgJ_y&`z1r0o*=;M}&KhF#lzxR9YdUa3t%Q|nf?5~jyJX(afFNv~=u>++c;Xxx z?1RDzs=b&?&rVOHsh2qjZbrjhG;P(^c2juE*4Cjk?B=e%!C2Q7#7X_6`X9!bWPA;p zz*<>vf`lMpE~(jh-s`2xBmqCb$)bc$su`{YPaZ59Eif4cB8rn$KCf|_+~Lo6Tlo+- zk+h<0)XCVWmL{vp1SoqK|4PRCxC{#<*u|i~>x#KZ=NA*_FG^wz>`r*^W`DWVua(|D z=>5WI8mm1zc&gRn7~a+gLw>9e=2tz<@Y%20-u~VgzJ`YrlqO^%Ze_ZVE8)@^Bpf0k zMhG`hXB`IcF83B@6&T0uPg`Ks^sL>TI@3i2f&YRugXZ6!4{C2A zdn=KDdMo>i$%0?KC1E8TzKhOe47)thhQnQ{L9&({o8!e?NXxt#ab42OE?3HVx1dL` zHBAtMbR5t@PWT{r$!BbV2}l=EJBKS$<}6dNM>wKi0K5ozf3=hSNOS-0ph?h#@{vA} zXT9ZDMOu2-uu%Yc3XR$a)d{0lI4O`Jh2o&^mMvJlwIc zd&T@#r>t{p;MO4yq5pE)B>4Vc&c+Uz7bs*~N*++U4B+4>w8oDS17yySe>Hdyq&8pq zYdrw3Dm~>^CxbsO1U5ESr(Is)7!M>^5C3ROgmj44V?U zq&j&BK%jlh4En+F_R>ZDt;F~5b3P7w9G3A#T!4j!4Zj+We=rb*tMCp1i4_3szy61TBRcrjcHXRj})ETc;5aP`l#mAwXLt9$H zHg#!@fdHgN=h?Gt2mQFanBDZGU2+Gg35yb%$TTludrw{)`m{($fEN;kMqNhTR_*w4i^cCjYpQ4fMn|8G8s-XZ9{Exj5H2%lX?b%u({1U~vs zE$z{x&`a8iF#!G5ZxUQ;P=7zeDDpfSI*crU{rYv0T&>^Lh)4aK(Mw$WH^-zjo=ibt zJH<&;Yqqwwd^fA0*tlp9EWqj!Z<=Kd6q^2DMBd=pNlbLK8UUrL8Hn=}l%RiF)6`U}6#Bsaa%DBoy?`;SSRcwaT_W!UgA@k3B{y5ub-lZ>d zp5%ak{3u*t;HO_~yioPW<$q4s4L|~-UIX_FGCE!>@>PjR6c{^zGEyBT^J{oPXI`{k z>_SoQ7?=5k0er2Vtxq7vVtN4hS_6;g;>TqNUePXzJY4A-8s#pIXaKVI?^Tz*dR1zk zkSopje;%ssF{G!10rDT`=g1KrjX!xecT2wdUE}vAqJ>OE`MrG5Zvaw9^(%@}GD-Al zGag%Z8rgruLjHNABf;!J$BUI2I9-heUcE|4*WUo@-2@GGM1*eWnjrBWhXIiPK6dyv zt~}#cKYH}2L;vF0f`tpJ%zqfO|GfWY<7c<>^0Zh9oGFUzT0J1?85(+m?~}uq?m`n) z^o<+olGpyd=p!fKt0*(Pt`){YgM2>-<8>3(8M(O$rlj|0tMW#DHT!eulxMNA4! zW_8JIe-lj>K&{#Wf<7)x|J&H2tgbqRh3X>!wwuy_lilE!xB3757)PeQKOII4p*(}P zuNoFv)(imJrR8O0q-<`iUxt76v5;dKbMgUKY=csYMysT4&G|%c&6&>!?00rVPgb=% zN`~>fJEurt{4?vGedC3w+Mr9hkyWb12nV>+-Q@er zKj@yTWd(u+qzdvakYKP`kI?w8^h zgsHfL8oml{0gQ4_OuzD^bC(dKYRFpc+$*w()5GIo61mcwo%n-0svc&0hS)%An{o0Y zTarKJ?i~{%b_~9RAk8~Q2({-b9XInDdqSD)%Fw&vZ9cJ3zXrXpn#)m@=>I5Q2-7#^ z*0A39gx-EPrirxHBe3OpnP?`{t+HiUZDX)wxpMhQ5s zx$xD^%Ppff_CzLYm7p7Q3dHYLLq#T~AGmrX76$)2eKe}$$YP6q2EWM znAxfX=U7tL1HhzT*Vv4JO^ZRcpr79zTNQ?uKTQWU!CEm!Y$Ct1Y6CyTg*^r5d52GY z9-{!%&<%90j*o%9gxzjnX6;$xiY{rC(8Fmi5?{46HssmdLR!vc<%Rys8fbA9UP)%i zw^{i*kvp39E>FhQNM$%RZ>KAGlFK3r&owl=IpG2k`e!hYw9AK0H{%1_?H4L6tkyoO z6Y}XZFh$cKFsdGapIT1pm#!9R`x;An{9w+dqc3uroDoi})|LwpS4~TIo{b7$o|*rq zfqy5uf6rXVGQ+vu3zAx6)|N^ddM71-4wFeO9L>xaedqDR_a$-XmXU*dSB=9nhKHF%wK9VpPx16{+PR%o_jTna7uNg(daW%hfowV@Y_AKkzY z{E#XgWDfCzLh>lab=>Cpu^Xk#0}1B>iv*mP^l%S)YMo3gbYP6e9hmHr+UmFZ4SSw? z_~MCWG=S6g3-p-9`Prtdl;=AvhA~DD{+JFCvFi<6)~1$OUUGV0Bogp~AYVee2<59q z#}}M)%=FE38i5*_#1(DKQG0RJ#S(WDJ#^`pn9&8^S||1Axrx?Dj9$Yhciur`o#5TL zQnvdtJU$MXU6e(w%kVRzvRc36oPhHy<^K&`y3JCO8x)lw_ZapkUJ;Vg-g8YX{vVb>=sFJbKn$5M4`YwE1x| z-dP8fMSiyN2E_G#eTSbmL*)p^C3(F?H$-j5v@vNlv zP(5@z73Ya##qTl>0AV|TWubaoxo5B46ls{&86^9~j9_q8H||x2-k89!KPZAhsZe{N z)IrN4N8ex6*V~NzL(ZdIBBGd325Ga)nDA`)D`5X}M#66}R6lO%VZV0XO-|j`Z&s4= z_D#h)Ue&}SL4>N|SR<+)Y-umxnz;B6l#Cg>~}Tmp6r6&qKXk=S9)l7X+%pfA|loSU22Igi%B7izmzyd^&U?H5xWE_ie3=>$~A zGsW_H23J4mukgH$OJ>OHKx@e53p>`IH%8R+Mts!ODy&K1jY!m;E8C={7li*Pq{RR& zs!GOmF{Mkj1uIsm(;k9X2_Gid&Mj@lZ(*?%VawD3L{;#VRiJQviQDyeMX4J**RVnY z1%8YCv%y0@+;LkOH+nn-d^HG@Yj8G=p}8{s=o%w~hS~{qNgp`3K)Rq~xu(`xid**c z1Y@_Gr^9%0PtcWo=e5UnnV$C_HJisZ=JX+}){V`Rz85hTkzd$KI>5*U^{_fgAHhn5 z4PC3l;=4FzD^l%Bn1qX+R$$$%l{rS38ECt7H!*XK^zLA#Xva50mP|mU&vlvR zd6(83!Am^%Y>ie3ISAQ_0=@Qtm}Pgkted9Q;uYgPCvV$86^pclP=tA0I`JL1gc*XP z7&&pJh^}EF&556+{&J_@Sle15-|zd8iG9={^$+D-os0UdMQm^8s_nVI#ym=?}{_zEx*I)2;YbNZT7xPN0MpazWGGhdLvraUXleP$r_fZFx<)*A{?DTi$KkdEZng z^QKlAq)5(nInav_Dy?OgXKe$5L?-*R#_NqB^dap~yxNbB?ntEOflwQz%1Pgade!VF$< zyQuZB0C$j#`Sv*i&9GlSJ^2IyX>w<}-z{Fx`-RxLQ-njuo_p&!gwDTCSQk+6VP0#u z;`zk@r|mXd-`NsyP%hsuMlCz0L>ryI$tmY_2F|Obk@-;y_^{`<&p#QV?7F@s-$) zz0@y?x{xEN3muJR>?Q`6!wi^{yr~vvB*g+R3#rRAy8El$V}mz}T}`wwx&HU@;0Y>- zsqefP{^vUHpR;oQytZ%a5kBmPV+Y;e8C`B!Y((E&J>X}bE~p&zzbkn69$j6~)3%wV zr<)R*YkX#J)?--*&k)u0){6B`XAI`QSaqYZ47b&sW<=0zDHSB{S`|nJ+4bu|cn`!c z=T~p83?cH~u0yYjvXV(f5Jl>C%%HxxhF$;YxrZ_@#D|?;R)BRI_j4XA#wfKO#V~!j znk&k@py{k<()7^7B}?ux-yo|9C)b0kcerz*Y1a2_6kV5!x%TOz7JWi*6=+gD0GKmfrM|Gj2OI}XgPc0iX(y_`_N72=4;XYka1#tj6{wDe+h5-404H8 zE>OhlgyMAxy$oCZtFIY2^~WL)_3ysZaceTz*KJG%3GRVM`6}(aW4fYzjm>?`Ewag6&b3C;_QxTxOhsT ztHUfAQ_jvdC@SLFsykW8sQd9(%{kAbWOV-e?hDw6Sn8v zRloy{=N(d2zFwNDj!iLtVEHK;Q)ln#BMHORr(?AhVEe`|e-R?eT}N1atU4c`b%L8L z%=7PAO)W|c+x4AWp#Odf*Ocn(zCM%ex>ynmbemMT@3eX0L}6Sz{DGv*Hf^|1p_$@W zm-Yu7tdZ5~V>#~Bw>}#t#riv~Jvpc($xsv15J^nCtHW zs`bvhwQy~_UH!Q=ROror9);r;FB8@-^K4IiMZ$Tww%xuh-NQ>_?D|R`?8(~1MHEO_ z^h>kU6QWFBeej9)Dc(uBWX9KA=T)i`xBD2}nTQ4-r}9Uj4f%2NkgLb72d=!%^47@T zU@84*mY2MX9+R^16MJ_RE*dtfXYp~Rv-x-?0-b-S=$qk2lU5Z@=={Kh*((t;!)(3l zGj#K5kxs#S9|5ve_afKg=2wsU@@FDmt5R<}md$h^b2WqcPeo2mHG?PGb~0s`&xSbK zGFr85-tw7UdT%#oe_fW!W7MFmReheX=)&KNDB+2UCBp?v_d$;H33+K^F4ynex%~F+ zQ@8f^b{+iT0M(Li@)S&E1vAdB;1jJ5nr<1EJMbS1>Ao&S-ZpzHdE>_MjUlG358}!l zHJ+*s$QLsKYlBPAYSv~%-V9wg*Oix#-#at#-TlqNgP^q;wXh83$otaX2gfkQW7mgN z)zXj$VI2maB8hvn*D>FGGQK;CB5|9s?ymVat>tR;qCEw0qRihNM;aEu0f-%C2`|g5 zEk21JlWOX!d>eajJnsi(-8I_gi{+5IlVo(^7S@)|a>-LTuWAf&cY-M~2y4mS@&GY( z+uYstO%~!;km}>#$DBb}Z!dwHimY>8aYp0`J%1*M@bvyNHY5oDcoEBa)D+v9aQ80f z%&ccH>*l7%2jpA}nr>ugJ2;W7w~i z{6;4s*HSuZr~$|y*@uSsl+T(B=XjC%hhyR4wXgyG4$<~KY__-jc3qO~4G-wbXGfMD8xt+vz_aRm zRx!}^VuRBn($3G6Ey!6T8zS+Sqv6VOuX^H&0>9+0g&g1T$=WVlnT}0Wr)V`B`KrAl zmpz)Fd$ua)Mcc;6*}9>?^J1!4ThX}aq>Yo&>kakCQmk@k{f@b7bV$AI6Do7EdsJi| z!?cXBKf#y_a{u}oz^P}B-gz0E& zo#(R6E1?zmHFL#@L<3h>noZ21?$(+XP%>@(c3vZdWe9d`BGk_a}O$|vf@sH*Oyem5h$&^^+2tqq^8 zK;ECUIk$pv?Z|rYBq{lMfW?cDT2BXy(T<)^z5_~yS~;&Jkv`wO(i#^}7n7~hB$Y>; z1-g@|OKO9#G%A@5Hssv8A0}7WFtaq6LvPba;B|sP&=T_rHfgj&GcySUVpf?uN$$tb zpVVM$F(hxY=&q5+%IHyjMOLYDnS&^1^gNG` zQRZNaEXZV~@%NYVEcMO9+NzgtNv7(KlAw8$Oa|BC?e7Yy2RCfMNb#T;|IPDX^j)CJFGdhVMU{ zkGFzv6pa+iNP6-%f#R>_M=(YcpaKY!RCBM1r*v@RP$p?dF`cof#wbq6S z$Y}7mC}thXwu&IPD1)H7|LL^qHDMEGtxcl~1ZngAS_F$aI{w0GB%7#h8qL+jf*%(9l!83-!-VYz#%^zY zVRQ6K4eENN+L{B2GOxAYa@lJy2gDLSvJK( zKq2JjBV^I~Cu*-`roH6>OokmJ}aO2{6m&)}{<#@^=hw2rh{-e=2Q#HcuvO zv6P-iKS>jF3|-)new74He~D_ST^@RRmx@HBmAMkKDzcJ>mA~&uQ&vHtq2WdDQER>L zj|A*5$y0VB1D~$yT25XV)2Ro4Co3^syc!u66)b#ZyLwR8v9li#x_IZI3Lnikp1V7h zVVg47-V9Nurh<01nvrF0OG$1i*xGR(5+@gamT;j>{yeMs7EbdPZKAPT<6oBWC+ekB zz;5&|C6mn9=3TMc^7^!DZuAsK10@I{pMDpf`9c#No=9?Jg4^tCF|p=I0>EyP=z=&B~utqs)`5znMO)3N`j_-4S&# zDWA=i*qMI5Hk9srz_`DjG0p3x=PxV_ifbsbvUxUuqT^l;sm#w3+g-n)7KjDoQna*v z`5l-2pc$PKTP`3(*9NrZWH<&E+U%EHIFxaP0h z4ZU8Q`lkB$eo(cSfk_ihdR?LDzm@HQ!iCcEnNz>bL#(+;H4YQ;^Kq}kjF43s(1Vgy zxQwyZ!y#^=RW6oUl?705n9cjI3)Or?KksmTef=goxv+|p-CaFH*W)w;d-GZY8O_n# z=)$;Pzoi-tsE}PYKTmw9m~DM1oFyO>x>nm;bS5bf`8@CJpuMSS`hAyfsh!<6LAnfm zUaJS$U_m0!t5ZZuuT}~$D)1e=-1RX_C&ibLB{9PKxF3wnh%hF<3cc?N9EA_>1_Z*B9J^S6){>s=o2=v3k-70#TMgl)T3 z4$8vrM0pAq2>&)s(~!7+c+{EjAaTc2=KgcO9?QK-;Z`jVTBOg%qveZd8m^oBn_o|- zcG3-46Ad1nux~lg@9J3Wusm7zZ!4B6bGEEs#=dz5bT=&}y7%P_Sh3`@e601f@|=WN zfaA1VCiSQ~M^>!C)~oIhI{|}F&Zcjk4BGJuOP^P}{PrOC64%4P6Qj}J-j%jafB)pZ zEXU!lZ1?JaarKr_acxW2a7Z8!oZxQ39fI2l8iEHJhX$Gs1b3I<4#5c;AZX+6F2O^f zad&suZ|9zS&U4?7F}gQD7=zxu*Q%N|=d4=o0+wk)crBS3{-f}%+xr8i?S%_A%LowV zDi><>1wV+c`Yp*yXdOdV!mMPm_$E5Y;0&>XBAnBr^ZofQ&s;g?cH|VLMH!Y1YMsN- zx#jFy=(iUUemSdd9$8l*JINPgWX%FPUL$<^zp4svzc$;0qA_~Y^7EF@Fdi#AcOKj7 zRxF?`lo^c}fsfji&XPn=Ob2?qkkG#O+SD0e^`wrtfUC*J(S3l62^Nc=e`xcZe1 zI8s|#JSuoAUHynZONTIm41yBn8m&4PS*Pi%s`uf09MDU(1$Gl4aSPCpzPGsG} z_1V{`xwOO!t>sRsqu8y{>b$F2(6#nRMM0M|U#ycnI(jFP#9Ude%E+dM?s_efLh|G| zIdq_rl27+t@;}(LKtv88CbaJ%gn#cC85+)-%jgnwEbeXkPAeU_Y@`J~Au;pW>4ev9 zW^8QO1!>*drsAM}faz05&UAxEre*k+o89Vor9Kgk`CO|*bnELM1)PFzzqJH}gnqVG z05c?wZYQ=b;8@WV;(_0n9V+$paFS>$obIe^kRx1epB1UwX?T2vR82hrql1L1ZRolz z5?C~2y&xF7@Q#3r=pxbOh)N}{3TdpW(6E@c(iz6N)tb->Tq8Ys9E2G~-KXEk`%+qU z7WsE3O;mIXd7TZwi8a@+R(V4YCi6f%>IEwAM#fz=&$?l18RIrb@=3IItjqD179Z8d zZFzNo`Wojw9*A?x>mJkmX7j;0>@y*ULGQP!#s?|Owk?K;cLzGW(4}P8C6SBk_kv=6 z)BKSvk>&%&nKkD^1V4WKXD?)PAAHVvX1%nyU>|tEYurXGQeNk&q}bm7-LtQJFe%4A zFs)7ZJQRIub{g;C?o;CYzgVKr@=J|z&%94WQ|f&4x26F7p0G*t@Pcjjm!?MWzW!_D zkI!p4k9HR+7 z9QPqfeye{@t zw$kE-K*Wo_N9nH`uWKg%Qs6e2g7_@AY&pW!Gu^E*H6F=BHPn{+g#9P(&g>*cpEhPR z`O4Z!?TOVm54yx{|Dxo!_U-dY_Km5TC@tz$fi~yW@i#95MvR8P>LNE;wIbURl3;65 z88)MRPq##+(}i}sXH=hvK>PR!7B4QzW!k}}4j`X@nI-0E>rYD(rx&{B(c5i`o^GB` z9gyprDRC1x1=mBXH%n(Ht-?#H?&jsMX9D*7cq53JvbDEFb}YBXt;yXGg@Vj}>zP4Rx@^xXgl&a|OOD z-X~9)&42HU6t$EC9fG4!(t-QESE1%u1$&x<`!3!+4!jn>RSw>@npRex`b4V+q=DT& zKX1J@$rCxm2WcPF{S7hCmyGz@&GngF7~j&K1mrZ zli>}roa@n;tLIhQn___H^V<7u=V(elLRRk^Zd!@sz(v|`*9iL#HC>3c;yN-`;q!~{ z3+X%5O^vz$=Pu6?H$qFUIpx@eZyFD`3ZC)0uXUx*RqRJ16u`=Ueg5H0C?d9Jas9;i zLNweN=dUxVYX>-qrT#IZdkU(K`$X^8!c4&;JZvF@%6#+RPu?TRZdYJ ziOYo7F_cxf8L`Z9n9@AndMkMcBm?UYueeB++fFjwFXAKn;=(u7*FE`ZQWFH(zPpCN z2XDL$0>VASu3mZHnLINmSZPF5>}A=Du_1lA=4$(6mS9f^ES3jZJi(cBokYFoY!KC( z(54Udg5Hd3@ma+0cu5zZB@^2Vx6JiTP+BKAC7<)w+W1hed89OgEw|*Z&F@G&gXA=x8*S%+r^&vPq{gbsb4DfIWRS%O!fGQXfxFuK&Fp9I01oS}|Y| zmBufeW;y>ArdY5EudRl<^ee}(-SD!u+vnboC-QGB6E^D5W4nCgdy^;UeLszFwFa*@uzLw7Edt(MpIoZtPPA4O7kcIL)?!z%fQbok_0 zBSOj`fbT#T_V$xz-AYfCjZyF{TZ-KEL8m~DdBw}1E!G*n*W#2Of@I$)oR$kCJnX<# zGHn$22~dHb+HQ<%FcJDqPgcuajo{#x%1C*Y=BA0e51+VWBRRsf<_|2ZGu7EwEU5nB z6dHBso88dH2o*IWSz8pk1A|x08)t|6NZ8@9oS^WQ*)|V+jllKE67+5`N>UlDU~0Yf~WO=6zo@iUK<_?8CdF7LShr?G{FdqS^4|9XK1)6_-yDVXn6NltmRy-r?Z z#dBKPDas8K^U~FM-fW^!U+q#lA-!j*Y{ExwmaI*v)z!Omt-OZ!zT;;5L`~~vkn$({ zvi#`k&CB_v7k?@TO%w8~iLO($Z#zHB)VQx-1NzHa zbHw>QKCfztaNCDiCaJfFj=Nr5T*btEV}hx8i*1n;$BMWLJR5(!%J5WRTiU(0U$l(N z5?SjD&CL7{Q)Y3xJMX?~On*lBNHv#10je-OWSuBDWV;K*dGfiwZQ1~G(nTf5q|;*G z5uQ#=HI?zVLCun$I`QK8hd&6blpAwIDXP*&sXLd&6?)4m)u$I{RIhELC|SpTwK9K$ zmV7#^plwuH05Og#Ko#78yIdelKD7wF@<%2h6Jb5z!w@BmO6s{~pzG?JlYglUbK5DM zW$*ofh}0w43PNH5upFMSSpnA~7OGC>YDgmq?UX*u@_sWSiL)HcF*7-T=*3r-U7W*| zyHMJrI&l?%0{6bX;h(N{%HRJ}vK+OZgn5duC#0qMO)aIK7>z!b;^|z~#*8WkR^b@QJg7UbfT*t=7JQG3 z4D|)4gyP@)bQA7VfVhstie_HlkSOYWFAc7Y_=w)@Eea@+NL;Ol1#^u!=8VxSpO331 z?!r)tNjP%q(Ku(7i46XM580>eqCME<)y;Tmi?+{}JPoaHkuw!;@#FFz!!jRRP^tu{ ze*aW>=U!wzz&t2X_4%FF*(HMKT^6_3n>?TLTa#>ehK0{Qhqtnn2KWhPLW@%*N6lQs zXW|}&nLej{8RSnyda!M=Bt=EVuA{xWfxiN&is%$wZ*hjaO^ZC!2vqRvvN<-x5=xFEY{jnGKa$Xh21S~fO)4SO~@q(9p)`&2=%nO2Bi;{XBf zg^JZRGpiAll)oau1aPZGC9ycZl}AYrG%xJ@P`W08(y=ytV4)-oef-tV&dz()5e76G zKNFlJr+06u)!eKP=BpUPK6=#%bl-+xpOjhf4YUf_czyRdlIViX%Wi8^@HV^*CU&~Y{Fc-CtD}&jLQB+n>+L z&lwl*j?wg5U(-?gFy#LDv3i#aJMU28GPtT4_9?udYZ)bB*%jJ^h92ms_qZvm0|WFl z?D6kH%158D|Io&Q1Kbgz52hPsdlxGp)zCVZQT9qJrVXcmqU;=iz2N}Uj`}`jC_-WX zaSNMWzd>g?!F}+9hBE;TyX=Y$l)Sr<=KaQZ5S83={j46y)K&f-9HZM*p%B+Xk^29}^2lXu_1bVgj3v zH<5*LV(-@SKcdZ4lJI1}6@AuQ`C!s?$of)WXD0&=v1HO_^Mqv)rTj-p_`HKJOE_;= zvI=$&gHZ9Ae{zuVTl{{e98Jsw%R*h1zfOX4sE7B3a6E=_xC#r-=J=f|k7z!IwkC7X zpAemBy;EPgIVN0Xj*$(MH9YU}a&$;qqt z?nW>vn(RT7KK*8 zv|c1(Vcj=x-WcyjXeaZy#LRp5N`2LgSPKX(TPbUMK%2izd~;co)2Fmsw-KA^-2;Ju zJ1^5c)*n`%gyR?@{hOL#`=m|!cb13{%5OjGQI1A>=p8-@3JNB-*}lr~ zIq{ipzTjvWTJl~BFr`=Q3j`_49bReCApw{^?sy5ru$Rt5rhR5?7Pm6*p5-Az!HCT^$|E`3@)W`uRAj!mm z%L!KCK(dz7at#ndCIS+%89Y05mKF$Nw>Cn60-M*&r$+fY_3lLY)R;E#WG=_A?+`TPt;V4&8f#6tFq0bgq(}^-<^GwHgi?=5@(VeK(p%+F zRyx6jO!^vh|HNH3SF`lD#IAaS?R1gS3>WjLEz~RYn?Ws>hzq({_nAG?h*H8dn=L4v zrDYb4-o+m)@S<~c`$Zs`>C!&VlYTs~%FJ!3^Xq(I3UnNQs-ta7mpNau5#kQk@8;xwD5O}>(bOpM|CAdKjDk2aw;lv{j4{jCPy2@)EW zsI1;#R?|=oAMZt8`%YpI7>?yGZdu~|+jiM99tfJbA9Fw0mh*c~y7RqN029NLQIa&y zPB}>p*rH&Xkc$=gKmtpS)!ybO*o&Fj+3!w+dFIi7VxKj#Y7Gc+xSDGF>$@wKElW0& zruuHT#bsYF6a0_Vv^=;+Ue`z(Weab*d?ZFnbOALg4c#k@>U*T(hOs6KzVC>luFLLJ z!yCBfFpg2vdi>iobP@mQX#uCw&&HzOx>a&M2#G)*%wBp}fX>Bsa_DttHa)6(1Zsk7 z*7+h^J~4&?sp~5`LfF9_ym>~eW}l_`_SC`kp@#5eFHG9?DpK=&=>Tu;agI)W>-J_& zQGF6G!D2KhEy+sFdP>YfNp(^c(tn^s1|&liyOSws&2pElQZjlO>T1nn%^l@UeRZ{? zQ|U(h)ul(F=&^rL^ z?v98QJb+q|=*%mmVTDi%N?R%P=9(v4N)hA!`QcBbtm`WkeHvg6^#hZGBfMSB3On5Z z6$vsMZwjT8q^9G=I3r|#_e8Dy-69ibd+~}|gy*x664J}TU(mTo z$EyTA7>+4xnoaZoSY^!*4if$H@?!U=d0aNlTG7&DyBe-RFWBd9Ff2ANWa>Mp9Ul(r z6Tf(0iq@+oA=lZMxR}=~mGCS2Q(Ke*3!wT1rLr|fT88*`N%uAzn}Ah zHquKiq!Y@XORJO|$X#N=iW&yyEh!|W$~+FFsRCwYx-{3 z+_RGNYrew}dB zRE?eo(9LJGf{W6k{W$*r>5^VBb+0|qn`;RD7%T`!# zq%UtX-n=xtKUF8ZJ5^G0d1|p#i!@t1`6!7-ChA@E{?6fZ$ggtO^x4|9n@yJK@=t}9 z7Eg8932JSR&J8on`Ot<@)Li|(O82r&P|8(+tFrg~jD(cl?}rKrM1P=gRPz*ll8hjG zd~!qgCcM_3wAmX0s~|O-;i?M@4+!y>L%0c4Tf1@!EH#B4EA6aoF-ng8A(p7(zh^ z`0;;``L@C8>M9}w19AOR(BtKV>VV?f!>{)pFfxh%Z`wIhal1M z5y%FG+Fi&;&5ztgcj|EufOW@mzLG~XSur4Z%4$C93vNCXtRC-a`|IJOoaq zGs>$f-q9huOzbT5s5D#{vv$_Z8$ms$1qC{13K%0=eiNSUpM&HoV>UK}jg*-ODfUB+ z;)1e0tX!r+1cR4SO)G4_l)Qd0cDTz~k%WtpBb2lkS>@~eGEbfOtWNH1F8q+m=~X`2 zob9ud@j=GZx9;g-;bhEXoC`90=4$vChjs#Jh~Ig~9AB@%O(87BFw_K}6V2?|?U z7BsL=9T|`Y`uR(i>J`24un9B2r_q+io+YtAVHAG;yeoPWIt9>02-lae=n98HX3M$q z=U|R&l@Z*lSE`yh7w@>ZUe0=|Nf}xXH?k2Fw(4LXnP+Uzw8YKg;?qceO-n1f{BmXl zB=nR>b7jrIvp#%_)5z3hjmJhMN@u)3)jY?eHo9CaD5=*&Z@j=&!HQH|`ZOay3FWj*VQi!6o zv`oyT6sK}dP{>K>HP23jOSP{k)L2C-4c|}HW;^RUo`U9ZG;M!7c98mK=qPG2TL35| z9=uO(>w^VwK&)a9#~97LYtnD6)s?*vv2jU**UX`XvBw3wrL~SA%irT@kFRa*KQMFK zaQ7}o!QtW75z@~z)hXE&QdCub_syYQI@g*XUE;2M6c+9hqbvGG z!m{U8%ZRGmR|y2-=2jp|b*a-T{x)9AZRx*CV!=LF z`-iI^Uqok#Y%Rd;jwyoUpT8a^b68Nh@Hgjnsj$h9Mgo4d>PF-VtQ`r=9&R zztsSc_JiR3&Cy(bcqn*oJ$8hBPtWLQgL|AgW+tG!vJ!=|}=8olwh```K z;h}&Fw}F)P6t)O=2^3pEp@A`7l#Es7z){sLqN=0HSCk?ZZ2({K-WTpGoiGYP@C9Tl zjbU8ATy$4+Zf@@5SyF&;+W_XfYM3pntG~jBhYkPNIYuyWD@xr7L_1V_S{Bk*uY!KT z=oS?JMN;X^N*N;1yxBbN9}fuQ*Sq=~s_u>Ko;%xy3^s$|q89c~V>|mXta>OzK@fbF zdeFF62zXK=+SF)`|Fb}~=o4kQdjurW6=Px043X$;dER6;w z86{)gD#_f@cxg+7A-LuvWkySvW;?k^f8k=6A7Xi)s$xGrT#<|*(^H?WD*otO|7$|5 z!WqGSVozh!E2@6^8QI6SIP=pR9uA|aXwvd+n1g^V6$RmoI2;dYZRg@jOK8L7fW6ZN zh&iXfJ+AU2w-iC*n>7}LrYPFJ|Uux3L ziUS1J+oJny)U|4+QRAaRFdgmpuD17{s&VkRxpxa~pZ1fM zw=-~S{#7Wci%uy-wd8ItWovta#jfePe$2e2i)XBvqp*0GLQYCgQ1g+2cI} z91<0`^=RCN|1@i9DXH)TjUeP%s%1@@VK7%A|)jy2@f0D_fLVg zZ0r;VI(1*+e2O@5kk8El)`NY|J_>!CWo( zT_X|>vwoF#xR}=MuVZADHtUXrALBgS<$(WV<0+>R6;6I+k<;8q^0T($e<%m4$7n{g zOwl%Rk4sh!!(5Nao@Lhidpqt{S84>|#C&QIPTiJ1`%Y!(Ak>G82?4hGhE~E&=^tGB zA6}uSX$QAx9ee*t-l_|y21eTYgRIpFEwNb6{~obpkU~+Gzc(H*=mnkx{TBr!XxHEgYp6vp*;$-PPerCscoLfZc9C^p?I}s zzI4qa+*lgBmJNe14|E1@Xt47@k@($0=-YE@8hLo7QU*P#JmMXJ;YlW7 zS_!`+F9EP1r6}uNEgv5duct~Wlz33rt47toar<{gx+P&?J=LJsfli^Q;asNAT9rAF^>|ZX zMt8>d@Zq~(ZASnmITPK8nLQhyH+^zw6sUlF0DWeA;xc&g#DV>UgNA8N!W2mB39f5+Exw9${AZJ-R7yD5!qwo!njFE&r+DFDvl@2w2 zw%VcX^bf?x`k$*)u`wZkW~y7a(wk81mReul?a4+qUb@NkjAZz``2O>*`dKf0pcg~m z_b2!3e+k^Xp$Z~x@YDz!2KCDVB+cqJ3VIh?U_{C!Vs&e25#y8~x@#JV819KV{cm?$T~C1`;$oYHj}&%jc6UB~$l+@79`Sux zdjU>1j$fl4{+InNDQa#Rm#QhE^uEV8o!FJ|OG-i(ajSn#du^6@J9jMkbK#8Wzv*rfMU6~b;m!jV&A!Rg^?GGSr$6jm&8Gh%rhmKPsDhH$ zBBmR(I@Ge+8M2iIC>kiD3{O+Eq0rDX{Swq76g&gvuTLw#NqLRS?Zxi#ic2D&GSwXa zAfNcDPXlMVI1=gq5rB1dTlmFs3hqo6r=}~tlJ@xlWRvNA{VC>oagQo6hCAf1bK#?5 zX_>qgW2r@W^RGORnhEpW!5Dmdm|t;-KAJk%5>SWovbC8nBq6t_jklr#W!uzxfL}!bP9iF-NeUcvdqiIhSB$2 ziFVh#+P&loz9X(Ky=HOa z!lP4u>9_U!kvJ%gSrxqFY(QJET#>}_u;fK~vkvPKQNj<{&? zcp$!pl$$Rt>N|i=aI!Q`HkQH(%YGIWlbABdMv(KoKHN>J2}FldiVzb;NXjZL1MUN2 zgOWW>v=?_*0SR#ZWA8UWKyQ4}-2gxTj5}84!Qd2SzZm~56hNQXUJnETX=qc(T~e+J z0oyOn_vr2dD>O%ztb@bwSypFGqSs<#Bu$8va6Q;4aFR-wi|ijilOf`5rFI3K^OG9D zncpN<-xkRPoB}O2MXfYBRFjg$(OMi_#K<$<*T7hfa`cD9x6L}QvyC?lp8PA>dh-k5 znu9v|m{unp#XAj?(gE1~HgkdLO_v)a!m9XMh_44}5E(CVE7}y?FZ=c8=;(MA+sLKy zL2HI)3qmy}DAV(|TJD)_;ZCe*K$tZv(~)N!e1^oZ7D zmuG~}?U){+C6h%W>Ruv}UF%Yomj&ycbw;sk;el>%cXJ;FanKQgmmk3}3Cw{_d7mRX ziX;qQp5SNu4?C^j$wozzW}0KLTxdB9Dd*P$ z#!uAQh$k%cG8Kig%4eq>52u>F?< z;n(zZBvVs{Yxqe5^;9-C=tNCzd}VuE#ca8h6>4Ha#Uu#QFvjy0G-W_0u520acF)Z< z{b`;&qNG&thXRF0CxWn4f#Z#o9^xm)N-QhEq?1z&@i!E#pN;M=b4o_@y zGGfDjoI(FBMFt^XE-;P1T#Pi%JwZdX5LG|Yo^LTg^{lZ9!vaI^4A z-)OUF2~V?#r)$#xR;zMUw9uWNS%2(OJp5wr4M;j59kn6cr)uKtOa~U^i&i-qgdL3l;)>la-5rbOyN5)!v57wN$xme&nX=9_G$Y6~jEp3! zvu6WYuPJIszROkJ_PCQ1XcJb2@w3v|=G{+q+e?jlViBu#3 z9}si)NKnxcbqA97@b35Tb^0d>S6s{_YYwyH3DILl)m(s({pBMtx&iknX z5{-%Jp^SY|4!aeSoOQ}NTF&+Yol3#0Ch^uVgs5Zd8FVWzFKZiYfu+Zs;!qcdYD*CE zVvjaX_+u$>_M20N#GecR) zC~ae|ysW+8a_&{RF4UJFK+y`sdJIwb@Z*qa6Gl~>$biNlaWSVTkm=vxPiCq$1s-qn zzKm<~C~CPsrChQCl)HkZ?D5d_v#>9Zfn)WII1LI5q`Nrf>rumILchAqF<8MY07{S1WcHh6>v3rsM)v<27m4zOp;dmV z-b$66AwAjiG3+>{(q^hLJ|M7Gj)@MLj1!UPpyk&_7Ebc*ZKr=30q60hsATg2ytI`{9;$y_tkvi205dJ+ep zXcd2;19cBhNh>@R99Jnc)1P(x)Kws1TsWBci1@n$u{< z35xmcx@2>_96sPMy)6W#!KL17?K+Kf>+*rB`qnf@soJG=7HJD(ze%wk=5n?~#szs} zFoT?Zt)Mj!))~qrFS}kDP4VvGfUjY*mh>f8l)i51^M;cjD}JDDOK%F zBDL2tkY|+W9$s%}Q`{q0lTSA+bPG*ts-=_542hS++wWa`Trzq;DL{&ccB(bnHX^i)Xrds*cH!_j4F^u zX4J7ndmJEQn)|A<0QdJPfSQw8%OiW^n2Sh5`CzMiW%;Bz_l1Kdqa~*ax=gK#KhzHx z3ZWa({$r)J9Ap|uhV>H+9i!PZrWVAx_DCWyKx+1gY@a@C1RTBx>Xf1xMBy=!aN>c+ z{dw|YizWOIZHmPQ`pfHDKh*`F%PLzKsk)r+$K=yMDJE;7WJBn4QE(ks_!RkKqsBL; zB#1g0liV-DZ;p;%f(xfi-+n_cqrrVQ7Y(%EFSf`)c8{ZuogBVqDOl(#Upx6cSBtpp z30ZhVQJWJY5bBLj;oVngm64uCxX(dS)=z~D;kE!S)Q-k5flm>fh-77%9TjNix(*{| z#I>zNH@|VWvjEGng)XHVI@yByf^3-E{HwVNHA;gE&>|(2eJkERV)D`p*^#)UnF5%@ zq}A}#N<1%z;O$8F7$kq97K%hZ-U%Dn+!0WB5#bl|cPUyRg~;*;!)8ZSE;Ff|GT{wf z|8B#u_Wl|g<^^dVo&RE#e=mcEz?_&@&PwjtJoan1a!Cn+jz;|`S0Hsk1!nEQdP>hXZ{Bd^m^ z*F}oZi|#$NMeTJ=vBHkb9t(3~n43NGZY^U`8j9uIkDv)D=s=9sg;DkD&z4a{s&)G` z9is}9!$htDf&`_DJ_aW+v!&1QPpQV)fHV^UvDEG>+GD$ZMj6?I?mN%C@m}W3# zEE&eN(%Rg)D)Ft@^djqEb*TL3%9v6sQYiPLNJSFl96>HxqvTXw1EhV!*vG-v{w)$^ z!!#l=jXQv~#p7H?o~N&!Uee=xs5>|&S~$tYutnn)ypERQK;3V*TJT%F_f5PJCG&nV z31zs}LCf0YGb@XN0})SMe$HmioPwb8`>iJ5^<#B)B@QJn;nZ@)1xz|oo8+>d zM2-N=^((hr<06Y2Wyz}&*!RKqEwnb9X~)z=)zSFvwl7XxhW6xoo#iraZtpC{^={gW zUUllyI$$yKg5$54(CWRN@-utsnp=#q-chu?IvEn0D5RBGPqg~)Zlig}U(Y}QIt4NH z(d{o;31lB0QKaAI*s$>!agY+O2T)3eXr=4+e@Uve5_NJ((6|Ko6yG1Z6hB=RH$DzH za%10JB2y3NQ^baZrSCa8j@J#xCdoD8+((X8V9<^}vN+5%_}6SwPgjv!tuFrV0Q zt%ou5;w2yS4!d1eX}zCZ*DPo2@ymXTip>)qA2^Krn2W{p??hJ?Jl+INDN8SBoS74q zqLi@#_&4b>3?!^X^HR*;=;Cggv)T-t5dC>T{VN08x!HZ%GWr{cHkl1$WQI(P!I z+sZSwGG31`f2NT?9NOLgkVKu?qa-Nf#3?32EQiteNUQ0zqMt;v{kxV=A%psxTl7mZ zQ9n^+zpv|hFD{zN6q;qLaJ+Oxm2$Yv>ugLvS;pZwGh!2N92VUhY!}=c{3?6Tm|Z#n&^ znX|hp(@|!P#K3~)-5c9Sf&M@q?dzL06VDTg=gzFklCFkaMPKk$uL~_3_BrV34B=@e zQiyxc&3oO&?2+4~VsJzKSrQ>PF;a0L615S^_Bsn?;v%BWwNOki;ZC^D0fDRx=cG>y z$=t}dQZYgg6Q0EVNU290o{wF9DomUr&#CEI6hF~03VgJBfw4QOs!IZPBoccL6bwxb zH_VYtNw!RKR>Do~s#d$&Ci-}}6iEVlVH4iJNm_YPKm2HHFRP_~g>NU#f~ze=yv1kO z;ew2v9hp?IFGZ$TgX&RQ+ZTn6&hSYhctbLi@x~UR z*9~D*Z?a$zG@r)g&U{GU{Wt=~{XD$3GA%+%pH5Eo9d}7N^H*q_cv7NTmv`fZ zS{`Oz_|S)5kfwfu)7xQ^1XRJMx2@vbLN0Vu&Bj;zU)pq3XLI&mY^xR<8Uvu66#(tD zF~)}nIJglTXFlB-&9D_MT;7`BMJEGX`bl%c415CUw|-MJ0fn^=O#7lK-$HWs5+NOV zhPX$ngx8Z3QR4$1f=(pIzYAV|W8lcq)#NV5H*K%#fcb7V!Ufn-sw zw>~eNQ*P4ff20wLx9NZn1d~2y=KoC#sJcOpOpr`nyd9>NZyEAxqP*f=#1mB=lB-yOaCXl`9U8iEZA+Y|jLA6D1 z2mvF^@LN;!t`NM2B=kvbQtf*3(fC!_iBX~Txj>DV8qqBu#qb%fpaanGEly~+d{n`B zb?j`@gYkn;&nZOb=ip0k{aeFxh(A}gjjW^f3Q}r48j2vPpTm?d8Lz-cS7=qXy3?T4 z&tBeX=Xb;^9RONK#_CwZ68(bgUL(ELtMtB!DC+C7t)84_hAw7iC=_(=s~kv0*8F`x zY32l_!4d5u^|n*)=^@Wjiu@V_cFC~k$Fo>+a{cAjwt(u0H8EsCxBRZs`pM2}>cxxu z(||hGO7=veBowll*I{OEnJlx5OQ^gnkGh9~g~{XH9QUeIsk=THh1;i?YyPD=9%GZ@hBO=>mE@w z`{rizaVXp@-%yauzwl~eUeo8r+>&_xHLH1&bZiUfV3L5XCG4wl(>TNtsLY;R@iZqS zYawgw$(-H+_LjTMury~I?7sBX6n8=`J7v%N@f8NfN=qqC1d6 zq8wf2Q|Dya_a$5$fku7UTeKg7Q*ZS{b?R%82PcDQrA6|A3gyw3r9K3*S(6Pij9j?G z^%nT?7*$pIF3uavc&KaOq&m71tLF5t++;Kqd6lR-!5tLgOut_8T@s`SeU+{aR7{r9 zxJbt|VGj)66uu!)A@9xpOV)+gOiSSMtDa-k^p%*agIqG)DbFgxt%<7wi*Ro`74>}D%~vL#=?f!ez^oD#Ek7B&wehh`~FAYj}mj?h+g-DO9t2s=Lk zl5*n?`3RyBGH=g9LpK?M_B|-RNiKz`dpoDC=G?Yg8S#?Od`QgcC3TeCz{z-h=*h63 zO(V=+6VphSJ6vk@u0&Kz_^A`LdMRPR9qnI<@xlS^oXXorbPG#|I~RI?r&s@u(5sMs zZHCY&UgS(X&SY!$LdUQb`}g`<4^0@S;xV6G$f2VFQV9FiT*>cUvT#;c_^x3}5*p;b1r5vKVr1jdhVjl zkFe22LF{%d`lWSqi>Be|rLdXefbd~p#bhK5NG-3ei5-5T^uPGpzabl~;G#&awddB> zuH$~!<;}dY617|Tp?kKPQXIw=i}n;%FdO{D!0<_TU53#8j}c3YZZ&Y(Y3|N$4HPb1 zY*yG4HScdb01CpvVfVdPaE}hfD~6WlvBRrBK*3Yi$j-W-OZ4-B)PZ(#v-eX+TKdH{ z3^lq;V3>8PoQddik{t;%F!r{8p4$kCv_oNSx1Vbw))5>*A|eahaNJr& zJV?CT(egT#dR-QN?)dY^a=v)xr%y*N;s>{yzS1uslzA9OD7rMx#}lvuerhN|5_hFH z=D0|JzqMn8PZ8x!#|b|Tj)dehN>1i!2Jx>;5Q`>g zWj(rCy>>MWw?&bqZ~7li?9Sh94N2V?kU@WNeP~Le8dHiDgY!A`LuScm=(W$pkOH zBuc(rEvsq)(ahY1Csz|MJVHwH`M80r*xJ6CvVBF3f!%(AMwrq_hAHNlKikkE{&3?9 zxNjx+11W(-g(E~|V2DJ(lS6UN)vt*n6GNh-Og52s9~;_WK1HUS+A8n*qCI#1Ix|K&R%3rg_bCzxheDh8=+6&Wl;+F^PCu-Dyd)fC8xSdS+04;`abbi zJlsR5t)$Bu-5;tG10tTX3FJ~Sc@HN{5jVB9k;clETOS+Dcq>e?Do&rGb#%T8qtpux z^mwca#AFI5>p5I+mT9>u#-eq+ zvdZ4Od}}2AFwv z#SKSm-Xz`zB%!}oKI2R=?C9R`AzNxYd-1P9wUKX{PrWVMLrj_V=IZZ)@4qu*D8Vn> z+N+{ULB4Kv72yLOC`K)js^U>)^Q;VQ<`kuio2+{)Dj9b+D7tBFj;?=@bb}5)YRKYX2iJ)MN+-5 zxZ?+tqs92b)k#=@$)16)OyvPmvnP($Oj*sI!54d$vH}gsDa=x4<+A@8=@47 zWX-2y;U=4~^T$3^PtGRuFa+J@-z(rhTz%!wGZ(Xp~^tE)fB<@qe9>|tloNH%Sp z99Cv?^>mN9=!Gi;1ZByJ0_!ABy2oOh%p!93MMaSgf8;Hx=(TMDZL#0r=6Rudsdq?Q z!uu7XVInw*Vdrob6w}KU%+c(5E`sN6J|Lg+1T>d->C%B815d6>AraGE@wVJ71|#)Ku52&^#=mw(MKJjZB zE3UYUAf#~l*;(<4X?0<0{M^kLZPDACJ%mH0o1F?_4>IS+?5Mv_5iV?1Gph{lO)Hlv zud`9SFg*X#pi@mv17ObYrolEixNnZuFa@6pvFW;#F?GAnQ4Z*+tq!LCo-r4CfKqR> z7u}DxB;kJ*>i-={W}OB-RH2{*b}?p+c*hNI2x~s^UVJDwW~;+A!&~yo*FB4e-JJQ zL4JivrhP>TCUvx#&RgR#R;>hs>flr#F>I{ly05yV6fg3(HuH43+9vz(7&OP<*jcQC z0+x+Gyzoq3H@yP#D)bxa2&uzDlQMgpwt5*&N~cT)V2J>K7HR-;l-esJpcE@9cyKcU zyF7%gal26yR(?q8;q-uTd+@61&3lc28!}hTjcV-ehA&%?*v%F&OhVhCcu#L?xV*rp zt#q%nGy`sDYQcr}eF9fJ#h75fX zZ#Vjo2_?9B=CsOqI7e({gky5$a&~!z-qpj)^a#<|Q^7%IG!0G9#&yr5zxPWeDUCED zXceghsg{P>xzxSOo%@;p;or^tuP3xTz_}ij83J)~aqKF3(yDQzmkU}u9B-QZwlE|L zTBlRdXTdPg9QC+aFj%8=^hXiB36KoC^4YyBZ8V*$K&Fl~dz6n59UrfgFd7j~(|k@| zEh?%5N;VM{CweDKnx^}RVp>#3zf$yy8!`jlD`A^s;0ohNR^sZ}A#lEE- zn7v2S6~famsF^R}nEj@WgbasTrHVSx}8T}(Nec!@_v zoy*0$J{@glhkmmS`=K@MN?Ymu&wDMlgQgm0lWd?%K)j#frM$2PEuPo2l(0pEhCpIstLDNy)RfEydFowsY`hwtRAe~% z%`PF>T1~BDmX!)Y*tAyuGl!Su3k{u0J&?e1Cg+!&l5E0ZHYz^WMzfWo=e9BP(7Y8`byFcj;%N7=VO#>SrAG(OL^8W?Tx?0StQanBKi?+q7tk#g!FhhC~;5>7e8K>OEO$jlR$OQMM8#5#EgxqaJi_ck|hML zojQQj#84xYkh}hUf|Z|Mq7(XKwQg$_biN zMEhE6SGVdBbmIBLEQ~owDso9g|HCdn*7{VayAl?Ty4@uUBzd)>OfhPwA-rSL@CMG# zDX3!orl^r9>eCLCl|*}4IjDECV6@nNLLU=`;M=h7(>l$KU-|)c{Vp~3i=l`1nH&bx z7CW^9@nHyby)@LIi%w3@2o`0wvlX*vzd7IVJ5Z&S69uVw()?=KqB;(K@6r|RIYL1n z*x|Z%_s`fpd-o&Nu84m}u75o#pa+h}IYplqtQ3~NPO!g@5Uh_M+R#JV5fP487@PY1 zIE)+Xqfu?Ds<`~?cjGQ?Sy=Y!*56+Ef0VLNTG=(Bh>XSlBp{_?7_D+K+QdN}dGs*a zfQ(A2l`)G^L`ga8eDsxR_8H?hB=V!s`tq=5wqaJ@lMWe)_ zkxizLOH9rMf2a}yCwwp-;p;EOxJj9C86_a*%Lku9Q9HrGy844#&>B6qALBC(^B}|6 zPfxr*j^M!-OsNIjN;CX)USZtb;Z1%tkAqyTX-3(9oO|q3>nN0i&BLF91xac0f@^b4pF7Q)IPWU!kUS3o?5j`rPzw%aND*a0W| zv-!lga-s#>TF=Dsm2{Jyo5f zUVpXf;bl=)QTjR4R{+Coq_TB~7CdDz&{}@D{=4$?j~Ee4{V`&RD2x`O0xUZ6gcywF z$$NK-2w>IEIux13v4*!5g4o!HqXfSoANM`P&diKZQiGWalXpKh8gcUbxt>L#1%C@x0 zjCqPD3BU~!`B5QTj4XJ-2!#?UcH4k+M@`FOf@Isq>8LLyQ&{&&csgzEqr5J}dXCW* z*m^u{w9ek|Q&&+)_N^cqk9=@s_U6mLgnK|a>!L>R4=dt@s)zd22o9C^`~LT}(mAi* z#55(GDqSsD8ybE7h@>Li+Nan7WoZ>_WrtG-$>3v}+<%72qubZ!j@go=w z+(5@>3u?Mp+-sMzC1{*QUyGn0r~NnPCf2^i@m;%=XIt)ZaP99sl8MGY=#+u)Y(;ZI zwKciSL#Q>bEB)4X@)o`TH-m%LMM2&pPJxk(%$3^En})Uu@3S71MLj2e$G3rxyW&dr zvPCqlc}AweZyxmK`EY$)yI$S6G#d137Jz&1H{=bf;_H5X0Bnq@{bU~(Yh1#4y|6r6 zk(NnliAr!UE6H<;=c2}iF?Gsm4H+Q=V*7l>#Zn3O=k!s!vi_;rBq_AH zl)N2emZ~?w*(Vrw&I9j4z7d|7O%e>8g;YCy=4>>t8*wTk zhTBCQ*7}~G%K%L#S?+Gy(tC2kCcD-7{T?1So%yIQcEdxt zTKL^10n(%7^sm~4*&#kGxEerxC0s9>aN_A+42dslXkb}Jz$x1&dsTZXH?qkahbMTo zSpgU4Cq3EL%NoK52?24T=r#atm8udlFWK3UE&RSn3-!W)_&L)`Pnok?E8An0GK`AB zp3z6C`z<3Yt-Q<~o%EG5%Ds1L)pr!nJ6$Rry8R^Jui-6+WmzAe&PKoG&<0($+J0a` znRnEA>eBFQ)tI{741*)}v(q|#RtIAYRuW0h5NVVWHFQzEKFPu|MVMECyi+ zwR<1yqO;-pgXEkTZm$o`1=2yO5VVBdv}30l)kUeodQ$f%bE;PUz7dBbiml!~q^)IB z757HX^W9a3Lx%U}?Vc~M9iF+AF9bn;I301Ya598Oz6~v!w9sAin-zS6!c9sU==dgK zXkABkTEXhZng&CBVO(Gy`p8=XQzTHUK@Rje0Vzfi>CAW(IQ0e=a zz1;MyDuwE(1Xc%HBHj9YVi7;$@Z^sI-bntcil43HBKDwe_tn;XlLrk?Ha=6k!-zvx zo=RRKl)srfs?j(fuV(b%IvK5v1pRz>03|;bN?>d{b@O0Al(n&eDk$+#hcDR|Ur>tj zy@G?gw@F*Cr`FaD1Gm?p)1S0o(P8-`2R@4=va7IH1nW_+G9fQd>&{g;xJIz5c7x5C z_+8Qy93cKm)_Av`?0lTW$bn^9iXgmt6{y1CQ<)Npg(zT0Uw6fmZVS5x7fJVMg2>`i z-V$r;*rf?5Yb?xtxl-FbYNr)nu!xQS^l-4@#er*WdMa;79jpC`+XF@uP>3fE-$qN~ zn{+-HOBYZGeDV&lmbJ$6LTn#(GS#pnBy=Uj6Et3sMFff1W}9yC5dd$~y+n71ja2de z9fMJ1HQOvS21DbVRS~g$`xu5s$DDm%**WyXyD|QZzi2Jryg8NHy&g(iN*D0_iyWq* zc10~P%Nb8Sd3Wkd1& z2C%k-o?w_?@^UMnl}Y+7rjqd2l=sA1mAJ`2BHQV@tYWtakfhjl&W-U|dHbi7*s^x&L^#Mgi<0?7W#+dCvkmkuy9BZj%%6 z$LJD6l%ne*lS&|w4^*I@h8z5(1lYkp>lxKlYdNSP!*j1|j2f(;gLmlY1&WBI=D;E+ zo6FZ#+RDO~n+BjSFmEYVQbYxR=U4@?N&e?idRMNV&kSsuL5tqvhKi~p!CC{_JmOjJ zjuW7JOv@Y`+oLE`w{fuK?e)1(r!wS{A6Y^aGRnFf2D#1oArW2MDjMelH(@_@6ywJn z#?>PFRcpr`;EpFa)??}QvHPKZKJ z6ExL7mvrki$3a(A&bOvRoN;s@=5r2DibhlJjJ9ReMBZi$e!zrKQ{}H)j)gz9fE+ij zj%&OTh#?ozHmxIQ*RM%6IQz(&j4*QKDnRdQW|AnVS4mu7jj#NsPl4x}^GAg#wO&=> z_ku^jNSHL|e}!V+H4l=ECd@vUmD7J=SKAsi-f& z(g7}9UK=}CZv(z;9$^l0qq3V)$!1y072IA<_SJpS0k>aAAHu`e!Ks0Lo!J<-jI1ng zHlt|vh{ozJr%C6!oDLVUtXm9?a0+msy-U%gc6dL!u57vV6T9LiTm;* z+O~CCsdc0E4tBy@qa)gCX!?Ty@kgpzI@uaulXcjEYzW~%-m3IFe| z|7ZWE$Wkq5B=I{CW)QQ+@_O!)`Zc30dTlYXpI4_m3|l)I5Ze5(4o*{_`I% za6A9|SjaykXe=!C7yo?MKi|Me;h&rC|9p=xVgOd-&mZ~o)&Khd|L+R?zbk+XB4_`3 z!%%B&&t+?}CTT=p*405l#X&+qz_sqhHwU$|s}SK}!c>M`yaoIg4tKull9Jz=ot+)y zfdg?~USFHfe-TmtyJso8*euXqX7m5wr%F)VA3p@(nC>V9ZItG%tCK~cUHDw<)IK1VT%5iB`%W?*9kN*FRODa{y!XuUTmzG05LE81o zW^SPRByVi}m4ph%p@$t^UB!<7h2Qz_QSYzk1{jx~AgwSR^Kp>7Rr|H`c$%z{5qnitHDCt)zkJ2vu za^Kt7q5d1?^sl?6V1K?5bS&ZC1xvQH?BKT^y#~m{c6KEc@WaE#xl>w3Sy)o8Yi-eK z{5E8Bb0GQBa4miMY)E+KXrvaAl-NOtR;A=M9Qc&Vya2bXr@xte4yUwad3_(L7!Ah= z!iyE9D2;uZiQP5R;Y*lalGrz1OYDQ-Di~-9jF7axzyay{D(=t%gU)EZa~~01k27 zNo9xQ?*oS;3sk$i9PY*57gkCQiouG=YIQdacwE)CMFJU?`Cz+J#j4LH^XEu_7O;L6 zv4l?DP;be`qTK5rC$9dNz+pqeNSVD=;|5z%QPEfzNl3@*?!%>nQ}YXG zl$n~p%l)_XGT_se`ApWEGy*i-{CR&dHQ?e!>rPqy2m|e{mu`=>%hEAh#UftWUA{ zt~{^yS8&826Yw|Hy&=1}B4Y&*?4o*33uJT0Kl*IR>G|KKTF!3JDL81W+*Or*cSZ#` zGDFheqI@xlL0gG<0BkKGuO$#**?t4iv7bKlCN?c=0G{WBBnk@~A7>}# zBmD?~5_&X8@;##^KwJQ^nE99WfMx{u47g4Om!k4#p=7>oV?(lH@68ec;RXexc3XEk zgQ$VQ*ZuIYEKH2UP&pwlbh-qePrtl>Hrj`QadC%x?(Ssis#^2T&1{}FWuGl$#LrKz zi<$HW;pK)GP38J}5S?qZ!Z*;X<@u|no{euY-{M1lD+_60tlj(q~py6?^b*~cM9O8AH+0I@k%zWR8w{EgOKDM91-TUQXP-DLrxn)f! zy60A**Y?9W(Cq6*5xQ?AH5CaX+a8b#QibRolLI1^KCdw{%lMv*^6>C#uM(6>oB2j; zRMfoomfuaQ+#1LI-GkwfR~G4Uu|Qy?rfY%)0Kp4&WBh$<{O2)i^x4FIxp+4eoE<2j z<71Do`Imuf^79!QWl?$>2B4e+%!^GMX#N(o$_0LHh@Nz?TE(pg0Nl;)ERT`B7^`p2 z_qbpd@v+b_vbTqef86PryYucaE@jA5WzX*?es5pp=M)JbV%ccJyH#qD3H(R^21{!| zvAD8G>gf+|H+Pk|+ZV>_dt5d{by4xJbP`amTX{Fsz3X8=I;HBL*{g$pPvP5;+|~77 zC6l593M}6gUT0pU{Gk*P1H~}jy8Vw^^5=sEBV~G-$tdXiOV1JsDWw% z04keS$caZ+r*^`gdZodkT}Wj~34Mw}d?gSU5l~?D0a8|0E9*Gx%m^uksbY4(*lM@k zgL-pzq<=g8(b-Nh4U$obiXQ#l-S~Mq2PGwTSy`hs#mAwXz`>x^(T&&cz6vzL{N+4= z>j&DHHXaR03~R&$dd))QYB^0$SbikYL`>XUzQrkxG`^2Z*}&5Ezqn<#F_1k)MI~cy zb_E_X?8g^J!6q_9P#2xa$;pplzw|k8XJ7@pA*2hu(5r7he>%C#zMK?Rrt)?g53C9( ze6vbSPDe-NdpJu2$G~vGxAPtH+H;rYIl2KzY3{Nnwzi?FIw=nT$jABOd`fC+tYa5a z3U4W$$(OV*{)gIpP&-@u7tS~AtAh4E?Wd?v_Z&B` zEQeO5iGEk?PW&#N@b;)w&q_e0aLPf-d+sTq2Xq?0s0>>$)1kC~#qKk72q)w_Lda3%JDfp&T%1Jolh-+%{<6m*!%h9&Vu>Gc{J)7TZ02x(*T^n+Q z2fkJ}N+H~xZpjp_5%=3Y~)5QpR?Br5>`gE zOUM~4gdDt=l2YB;G_lZB`-;+Ea_5a65FjFBgO{06d1Ze^==~s1rr5;IqyPO3E`S+j zKI$X0yY2&1exEw7+*O_|L&gD%ir5N_ZPx*fNw)g8SMv%xL_u~Hk;~8w^ZtmCg?oqGar2z1# zyxyX!M{jm7%{zi6bW*Ot^Q1p$$eKS5k~l9teX*o;vt1oL4PLXIv7Kw=5%jWsOuR1x zdF&WnUeFw0w*;5g>Cb(cMX|r{sskD_4zTlaG%Ie_8iBWjDSa(N6x4I zyS2u&LlA&6Up-gV1u*;6e-HAsm|0~yF?F;5s$0HR;Taoi+d5PO4wt`w|86-+zV;tM z4(vHdA9AaYb0=UozK=KY=w#!TOtnP#GFWOiWfUupUr6^DaWEt(>FI~Ct1QBaoAP*y z)vt`~^3P5#OXu$6K}G`%O585|&(3hYboJao&tOBkuhZaRyfj=aE`6~qGw>ndYC~6+ zRWzS#_tMsD8)4Ccm4peR6F`lU__Q3&K-252eFz8ybG}chKR1{`$Gd;k-I8G(UU_BH zOM7+6C&mxsHzuPsTbj7YWNOu-5a|Qvy$!KnR=>Go%d%q&d+zDE%raf;S{lY{dkr18 z_Sp6H7gun_u`Km$#bDLyYFh)yDO`O`HUC$@J)Ra-{|rzOs7{c|m)jh?D=rMP$eHbA z>p1eU7gV3@5PP3xXke_Vyv>Et6b3C^XmT1>6&1j9!BVi;a8nXB9*fBzEC2%MEqH&3 zcK9yfcyc@Jyzeb4-W&|=xOld*&b4%lG=(j#EBXqsbeFfB2>bV8A;_k5X;uryMgI;` zu9*tC-A`kaESlb;e)_;oV0LNvO@1bi^&3ZF^dtjOCcvXMQ-efxQbTw-fN3E5GDviN zp8aM;JV>qB9mFs}c6x|(5FP8{vSHbB_Ww2CVZANZQdc$ZSrl}w%{&!HXW`|EKMdcE zuW{~P;`Z2&wF+li0{GNufc6=ml9br*&bui)-u9`wJ}Br3V7xFwsQ@Gm1H1soYX`}mz?cw~T@BGwG;$W5|*10SwG0{>DeCq1`c6@MBMSaM}ZGQxr#YtY*>0p!;sLuDj z4Z1vSbsLx}r^z%v>pDHR=}@f7*v=f{Nd{ly z%LMaTakBzc7Q<@zT;YbWwA<_Df&z!@^)*cW9z^f;Q;SRGb{ylIPM=qk4D|HxT4fbR zCZ5+kuuddYEYoWET5`>K*sFlgStE3PaY!LTv=z5CFgO@*_*#$%&oKKD7m@;wYO_gO z(>EH8S}TesoL9jA>MlSIfgfP z9Ek(z)1~KP?Z?J??o9ja>uX0=;d$8D5X7*1u%(KL)>78%qSwoREDKo0Gvu^g zC`?hZdJA^2A#WAp0;1C6Qgvz!bcCUTL9Lt+@q12He^WgQ#L0<3MgBtf&Y?X>1z})eTej zm(w4trfWpNo$jka`4WB3&-(VJGZ{z;ctm+5tmqOFlH5ho5WTNgG@%#xfg_kgA9VzH z`_5$69Cuw!h9-2a#E|@GB1j^qbUm@6g?P1im=22R=g`PA^`Q-G3>#Y8w5+kt&E?j` zT3a@&#C9vI#@u%ARUfKo4mQ~~2YeV3cvE~B{;Z073%8s_Q1D@4;m)boq#MugFnUAm zS9uH&uK4&~?5m62(RJt2HIye>7+MDEXdeaIKDAY@0xDOv#Ff&O`)N?ek6WxRJYQ99 z|GNT1k=2xd^73)IK>5W>M89k@Qd)>SQ!74GtMpRI2Sk1WlN>>Qe86)Zg7D}BU*QuJ z&?JO7(7nE2_u5F`4!<&Z9zD`(R*vp--G`0;%ismq6l zwD~}&rgu#@)K(s4+nPQkg=7i4b$kzLhR@b^jQ3&>XXuddP*dc1q*rhE+xW?END{3fk?E#>C5J3{&lxcbD4oh-5sWB z!$(aNv0lgT{j7iunG5J0V&rK=u=>-cs;uVA&YNJVwn+rJgFRO@3 zi3S}RQ$RQ%{$^r&tDsCl{3f1?x>Bq1Mov(dKJe@6yv2SDCLLr+vml!D8DtN8{J7{d z*Rlnm*z$1SrL92AVzmfy5L8xNrNE5rL1W*B%fg9G-4ZhFxB_@eZj1p+^>U$o=?{54>;|LVK35A zd>*G^D0sf@hHGR3ahb)?+mg`4rP%_HtzIQlBj@4(fZa?7c*@EzPWJ%8#^!)KI$NGV zGz}S8LJbSJ9#14nf)6Uabu(`k3nb2q9_ahLZPm*PZU2<*1U)CICFojqYq9Rdd z!oolGyWa!K_Z|9}Ef0eTPXMlaA7ua}cE$~j;Vt;sKNR1aN-QneAGLEAV0;^#{$Z3arf9c#RB&FxMN!`uv*JV<0apy)MVeT zB4b?~x^3y-ZCgj@;0N-OH|{SD3!kO+bWfMkTKIQO?63S}+lH#>4bSvmkrJAzNV}05 z8`DWA%tD9snl>-jp6awnu;9(RM8Jod(8nc)#61T#FT-@`>ZI8&hJ2%-ZQ-;?g#T#I z`?vuD@VD{T#;kV~?VN zS@ZA_AZV&|pJOBzba~TtLx0$Fjvy`1ie=tTk~Hg5Z0kY%Fw&Vyd%m~J!LlrGp>q||%}Vz9Du zipE}cvheLz-G*04(dNsvzI|F{cXUqR7 zEH`TRk(g-i#Z7r2!yQAC}Pz?%BR8H9X$JOBHa_D!&UCs${Y#< zwcHepV!MdF2I@&r9@(37r0N)MQwMvOuhDpT!M*IfLpWR703BY{^ZPev&Ex4YCWBr% z2=sxidK%*IV*3KaFP1fz_f-`?r_Dks*eT@6el9qSnwIx*8#$g)lS1I^@x`ciEx14u ze&hP>LO8WJxw@I5e09xPwf}!vkE>zM;`z^F#A^5qMij_sX+hgnQ>U|YCm>{T0u94@ zQI>-H^583owb>%9I)-w0qBycFb+(r_o8nRr`nUOyfWD@>wlild?Ja|@2)^Rk+9?M& zE+Abta37L$YyN(mkMf1_&L_9^ojEZ1Gkcl&&fp@*KGyH8S~8lOn0Tb5ONfb=@I&b6 zMdnb;UFb7AiuWNBG6&IJT>|IKfRCACj^YK+Ux|4mqto@YE`F_SIE z0DlcG^~em%dcAvznnhTOVt)t399O>2?MZK-;n>W8x@MR1Nx)EAci)&PG&}`JL)veK zOnNuaM_8tem@h{+-t*+8d;bLUO8`17KpULJuVRI6U&gIVz@?ziQ9jgq`535}s(N-B zS~O79@UN9(VtFuXr5e7}shjp~bg_vBv`c-T9fT*2epgQqUH+Q^`l12B()`nL(Iw^A z#G03uA5Nm#e}}z)Jv!A@S66oean)yCaW0%!GLo`iR{9==`*Z-6`V|YO5|5$OFNujI zU`g>HDlxGUn4pHAw(mWi2)28BF;L#CVl631v3R3`V>{Qqn7ev-7^bT0uJZVO2RAHuen8$d5V$D^Hr9g!nFPK`TQecop|Qo^#Ba`&~wj`o*AD#i7x58Tz+ zi7G1_5_Y=E5{w1fGb|@4Y7c{EcA}Q!CIBv?v~=djh=)gS;1nH=_It9gUTp`oc3DjR z6mP%wsqzLS3;D7{MZmsso^oGrz=#s0YppxenheNt4Og~~)=nfsw}_NVvkn0v>B;4E zZ{qEUm-|Ef-)j!{U*|49q@k2qM9firfr3o$ zioHFg>v+qJfb{#1xWhH(4O{#PLkTrCRTW}l)by)& z{zgjPKQAT4_4pHydk_n7hm4kKf_EaPh#4&j~b+8!tGQzux!S{V~oeWi2H z&oB7yYm3*@=#{*!7m?G83krG;F^NWXg$NymcP@^*&hUAQ4I_Ncz6@|xCbg61j6%NGo2LJ<;avQ48IC*ju*@@cGR zzh*SwRCzwe#yFTJpWI3E3|O~-*d`=N>K_B8jG*&F|Y6 zd*$wE)!R|>^5M;a zgRLTiAH|1Z23@VOfiB!_cxN7OkQGyPj2S3?;1EAIszXOZQ&v;U>FL4cAhoFKr^!yL zP1EL0&qY-EyBsbSlYD4O)j7z?CmZ2&6qL6)WNET3 zD$o{majK28&CbqFiH}W9wG8!XvBuL4RA+kdz^4Zd9X-x`0al*`JKR0Yd?zCEVytyv zkm0~CWQ><*^OmzpENG0aO=3@{momfR-Ir9pxJUBX&tr;8YapgaJ|vPd)pOMHyQNuH z+RQMEfmC>@VRsZAU$^s-BCz!WxkyIYvZ;kbPyrbuZ+36J%)}BQE1Qvf$R@oAqmo6o z&pF!C$1lgZIG%%0+HaEWf##PPSAkM%&$IQtpFhSRV_9hQ|1{Wc5+G&;TN43Yqm;zTS!ywPwZ>v7NOa+0=YERTfn1?h8+5Ep z+cPdT)v#^=?~KpY0rZ%UKwW(%7ichd=lN*`;9Atead7aGXUi9h{T?ABzd58I3e)#= zKF*+%UKv>VNhvwo(7gjP`SIi+YmQrB2Y$d;T>939H&L?Eq{a4j=araf(A=7|-Bk5+ z4Vff}r|;bl0Bk&i$)(w?uB=Sgq#FkwQOJF``i)rR!Gn|?>Fw%9i=;=vV!R$T^glI5 z=3zn;j}o*@F{c*XLbX5D(B@rlf5`@^9thb^XN*GgHj!C4K?>&+^L+FgH*o^G?aI#% zv@mhhBI);ZeqNrexy;RDJ_3vpFrW=fuP=7Y>oD_8Ukj2e%*6ml6$ar4_M6>GyzW6R za>1xajdcry+PxRi{o`>D_U=&|T|SN3k~P-->^AH7DcHTk{p-qRRFZ#3`_DD@F$qAp zPZ5xVz}wNU$8>cn5z`it9zUMV9Qa1dYoEogC9jZQ%{%>2v>gd6o>4Qix!J2p_X}z= zqizG3y`O+&VfK2iDr2kA%-|O9*>J~BoT-lO+NQN&Lf^KpEK}2IzCP{8LHMy_`GnB` zFXPP;YZGfcQyvslUfskaVBR-*6z8z~d91i!xy<|e%6I!JVR8IM?oQR3J11|lWUgdt z(MvU2@Tx@T4sMkWXYSy|Eh?G?kyLx%*R2zI3OvP*O|#p`b*Y{D#vC_bFjrSQX9D+W z@v0pHYNefejuFYunym&habpM%jzyk5f1XvQ%?te6>hrYZ8n&4o_d1saYPbaZ{JgL< z*U)z(i&=dJ^$Y7bq54X9%K#Pcy2YJd9nxy8v_|JoO0crj0~dSy%EhEJp9W}U+VfVq z(FEOcJCCwsOCuxo;Hk#1p8JV+Y)5OOaAZfa(Lq#u6(jIat|6n7$7tQ8clTGOgtM^9xqXxW6?y=Hv+COah0Sfz6Zu-cImWSb1P zNN-{7Lv-E>f%8*hB(q9k>Ha@}(5 zaqbk`wmNpXO*JST18qQR(JD60zF*%L%A^aQnR=eq(F+#% z&$+lgNxGUOi$;5U;|ViMV2O)CqvmpN)E%>W@^(HGaoLZ>J$jY%g{()InV(d?_(;5|%VpI)CO7q-48{WTR!AK%KUcC#sPBqJGL<4>O| z#>B8%%~JR}GTB`=$*~ik>-O8G(IO^qkMm)55^b2c6htFa4v)Taj{4H#4$Ql`SX5Xo z&=2N-eK8>ejaM0?%QRnvjaqYUwO}4(l+N6x^**J|*REZk zusg54MiMS=H^Sm94|ZBeXmsgsyBZ67pciCv+bRC|1}yFB;Gp{U%qabumhnoP6SMqh|ig@B+8Q);f( z+FA(V_l=lwsC?t#D3&$^w`fYTKWtmz(#^p{w>5`lXZ;_(-aD$v8V%@RCB!> zDcvQmZF6jFEI_x1z)&4LcWqt!GR1PSdIjZ4k?mcmNr5_TvIi$0<1Tm!A3sy%7kRil zVZ2$*)%fgLr=1|z*a|6TK=bWm$HwM*uw{?|^3}y7kBKP{$0rz4{Z4c1ck3VSaOZIV zUS^~eak=A&PLQjtF^3HlhqCC#0i#dFj7|l9$qrvDMdI+b3mZoI3D*r{{p0?d@c z2iJO;cM^A&NqUS@L&asohZ1s{Tof^h?PV2Kg_Zg}m|sFqZ>EL?u=`pM^6>>Uf5FYc zZlIgLKAN8Ku)IKrH|@=H+8i8QgHiNo7k!D0iZlbKmU%-#JHWdmsw)mzBU*hJ4^_?V zT3@mXbEFKf9PRp%9B4zbBOBm(c$9DYjqX@=HLMbc7f#TwM}$rB5xhYgVgo}pDdK#= zW0R_FoPygeM=lF%R5ftMgt<+37G^JH% zIIRXBDec&HIlQisyuoSMNyEuql&h&MI^4ws+h2IPxmt9quj4%tt~(_*+10fT$qKFS zKRteB?&BD8mA0N>UBdco70O}xcnqvR^Tyig(bwAqahtEb)73tlW~8nKMg(#DMGYP8 zv3kUW!5ef6XQ=_4<|E&Tm05floycX{npRy}A(AZzYe?lOajE#egdp?Knb2RCqm<3= z$%bAC&B~2Qs~m7?mAIwE{Qi7nc?%27m|#UdOat(j%cXk{C*A}5UNJgKeyWhRZ@=f) zhuV1`_FJl#?WotypS|m8N7TY)XEz>ET`*P8)hUcL#N0~B*4YWKLo|KD6pf$#A~rpn z4TxijRMO#srDuFczCLgyYSCzWMLQTwdRe8iyv9A}Q3D2? z8u*al#ZCK6K0cFaq~?q!bVQk?7X+vq1Mn*5*!gQE1J9@WRY|UEk%iHo6>-x6)%PbZ zX`b?;lEfcBdD5qjdtV_rFAeeOV!9?aoe}rGz~je=*N^&3dS`&hCzR#}XxB&yTXesn zfTN?v76iIPRm|9H;>8g`A1{$SN63|uUSMQ%Pw%>)U?S)9uq9x-O*|MwWI@W79{dnRPM-BQ>L99v_?1D!j-i4U=G#fs7({UsE3GSfDkp*7lMSTdebKwG?x3 z+DlUz=GbE7Ba6MrM&{LtjfU3PK_f{Eh>keo*3=`X0^OGfJpOS6*T%nH+&#BFztJj{ z8C2W6iwbFFBR+04c3x_@;;}u3)}EL?d2iaA2FyAA;X_9s)^L1t(t3B%FSE~c?_T@K z0={CZs9?}3mAeli&q#ZB@oU}S^`0_ho{T<~Z|{?GmsdXQ@~*CnkZ=Btsipw|wx>Ss zuPH zPrvZjF%hzfPULDOP)&8ru`3GtJY}jV_Hyd-TNvWQM$^_Gj)<4h(cMcc`)wH+9*Sj} z(etfVJT>1+dx+aDV3{FOi38{%#p=fuq5Gx)ZlgWLZ0SM?E1VesK5rUDpF>DUX#ivg|Uw62ngqnfC;jnfzY3hvq0M5zxe5BQUbQ#LIV z+q1de;}gL#ta($2zvN}yr`+i2SOytXAv#Y~6Q?`v{b@|g6Shr_?m;%m*7(7K)o6); zoub$hYTaNQlW8F+s##8RW{dVcMu z_3SLJ>xwHqWarzDS@(*{!hC|_WHx8u-Nu-`Wl7)OKVTy9${)J6wn8>#t%yOzQZD`7UC=9;$7=Yn7|b_oX{VvM$WP9&3R_L%8vze!CVpzyybANPz8p z{bK8ZC?27u$;q!yL^w#U_g|j0UFTz49FZm($0Hh!<{yBm4TS6~i@xx*I;_Q;v5o4+ zEkhSTCT^!0_L&HQt^T)N{RxIKn2QZoT(Y6_Em7(+Q1-!mP$p-OjQgN9xV>pUjw2Hp zpBT`8gcuOTC`eS0fC+6XRIGh4hl$VYkD$0rz#zM^ecEbG?(a#srt{$IR~L2U$~F7&PCYMFFxj=yq_5mRrU#(&>5bPRt~zZnp-oZ&Re^_L^MS|R=c$e2C5 ztba`2@Duz84%Q5p=tPHy z(@aUAE)5XknDag!o@>k$+0ymxxy$VB_E4YiiV>loa0dkb{`AA=AM76znt_udWNkXM zI{DgcuTMRBgu@H6vYLoyWqr)KA-SlTt%#*99l{G=zC4-4{ob!5|kn6>4?kDdJS&)yw$W!n&f%wo8|LR0}HnmbQ zBic`3L3@|AvK5TxL*=61+q$~Cou_2Zp1pR=MAvd9g)r^sKJ-i?a+c1Q1ZeAe%SAnA z1HE|bnb$2l^Q&#qXD%Bxa9DK*`41zS{}Dj;xurjx4;R}5?rP77sD~EQD=|9)VXk-R zbC1WK{3t$F5IA69S7IkOr1OT6g!>OgJtSVaYX%%vXG%pyc}_qe1bX!N` zfwEzB%Uu3>n2k+=9U;2UR+L^C)57~U=9rL8PY}FUE(0}Zi$bONNc-wVp!WRJe;%H> zHXcpS808g{oJtl5@Ew_0X0zwkA( zX=|r#L5n@#w#BwQg685sVYO`h9as7QW&NMQb}t2C8j-!btox2|1@Fi@>I~U=j&x*~ zl3y>donscnCj7&lRcbF;(SYOr%8*57Ci;=dKdXW}_NXBjOQ+xZ_B-$PRbXUy(XIgg zUjz9+-b;eNx%l6IS(4-a;PAlmM8h3|b-&Kz-sOz%goHF)E^A@KMkh3?G^|4oXg^>} zeU&mDeZQ6D-)yfF{#vQ`FzTyKv| zxv|a&lvAJux4jJY2#Za$r(6|9G<$eZrU?Jd{Qvrr?E?GhW?qo>MB7@`-GLRJ!ym)F zimqHKoo@+%+YiS5*d=YylLPGP&DySaV5gg3EJ@|kE2}fP@^wAI=uAYj=ah&+de7)= z&~1AxO+4gAnYOX7UQkr;5_EmGC#0n?twrXQ%FeEs^pa1r!GWW^F#q+lsPWtO-($rh zX4Dnv%;=>PT1I5CU^B9mzx7ik^ch%KL+FM&XCXyWh)T=r_$!Uo?MhbO_QFTNTdjMy zXaGh^;Hq05EzY76gPN%n7%e*1(3nC{Khynzi>RW>eT3e0e;ct%Nyfho`v*j(=8`oB1wtC3xgo8jmXdu@K3d#RT^4Cqa+(=gv+SRy(E#a!BF zTvFA7qxDu}%%-RmJLPE!tW`WcH!o?Qo*Z{@svhlLh2qz zYH>DBQBje@Rv|m}^zuHJ>G$-&@7!L*b|$Xjs6_)Lh@g$0=|*0sCW*2TFwh}9+)7co zJ|Kb%v;B_4K@<>E8Lr9&J|dGo!@18EuVTP|)HD^E6GJ*%h(0%M4*+Jdg~ToM_03dt zF&VLLda+x*$6}7^v)Y-J)!jftv8SUz$&1ljk0cuH{C*eT*VS{4Na177@H4$@S!PIsk}F5j&DMJEOirGtsXy>m z4y;*uQ=J+lQS0_FH4U5U_nVHUt9EKDqzyFZs7<@SZH_A#%OKPVAhY@at*2DZ&Zo|U9MeWjaz zqzuda`r0R<)S5BS8psgx2#MKV39ZwRp;COkf?Nu45zVt^h+nA)&reqNfF13uG{jU` zk?upn)Pdsv$St16*>QzNVdu(+N>+23=fgPLz8&G`?Hg(?>)?m73fD6`sox^R$>^@- z^6!}4k~q1(kwt#yeGK=;vE+)=9+^tyWGFa1)nkVlvHb>{?V2d`Gpl2*X5Eb>3-fD1^|=Ov{4r8hpEKJEA)RN>*t zzAVugrPTXeafP+nWV<=|#MW+e#Ft68o4Gn3p;>vtv$dv$RmodAPa9fAJX&d=C9Jb0 zO-RYPB@%6v^9n+j??ih)pi}s~k4==HsU9#ew8K7g^7hyJq3`_ayln2Rm9pN1@;fi; zw>nRo>p!LYM?Ih?u8Vb-^GTsX@U1+Ok@*i`F?I*(-0?xV1Huw1=0 zpWVNn;i0`t_>11PlQQfBA3*=}7CgcdyNlG`pBVz>g0~edS9TIH9L>3g^XT9X0jIW} zQStUtOhcyjfPvPlg>r>3%>p<-3S$0J8Zpl($Gj=Amz(OM6!9)lO%-d5v@``kUG*nn z6Ow_9z{QZ-MDe>)SZa%p7Rt%A+CE93%&`TD4d*D5C*OL^x@JA8~I% zl9rd{bosi@<`K$9(l9m)xLnFTGRuA-A;38GO?^OWvyvr*F%3V(dTOolR)1d`a7_7^ z{R0HZ*VsVWrUjQqPyhPc&jAXHa!2OswS~Th*N)FC4+BXZbS3UZ?>xIsT$Or9+}=K5 z9C5*-A*>RS@Fb<#2)3QSv+sJ;?3tPNjvAeisQEd(eZ3ZhV#6PwF{T{T37>e)C^~Bg z*VHt|A3U)`-6O0Nl;fRp*%04QX(!jPeyB*V(A6WZ4TUAKFvYWsEIX6#g0 zot=K>BW`gzVzutPMT_rdQ;n%7ea6P)W=hj2o|-e@GeZNW6`Ye;pq7o^)$BS&4bOS= z4;JI$>3f;pen-?;E&%!4q-B?Q{$DIkoUcC>OBgqo%fxYfh*ZQ%&J{;LrDy;e-Iwl`Z61DK+8!1_H=2Xs{_tx z>5t>j#jTGvw?^URm=Jc5zutneedo1y;z${TLu_U-CR_$J}@lI zVSV-Rxo0O%HtA-7M~ZCinNqo}0&`eCP(D)h*qnA%QqGeMoLdvW4uYd(f@)(P`B!=# zVuFqx22!it-*8#loiO^(*RoUO*h&cj?YXW_fmCtAE!FF@a zyyyL?10CreZK15uHj?%F;}ZiFNo1Adu+* zGswV4(V^fIc7;XVBLP}VNHj)rNPAJDaHb{-T0T?sfw~z}5Fjo7pB4KNAfNUx`u}I7 zz(4nL2i9MP{Q|9yZjdknhAH3B+HZX%o|=&PByE=3BH=#?cj-Kpr1gC=30v>48B##L zk~lM-Cu34m8)gWkoku|iT=K%0$_h_z30U4zRR3E3WMmp5cY4-tRyl8%a9DT|c`ZJ_ zZ`h{6Q~KPseT`lBfeme zudSSLYtj-L_Bg2#Rt>d?x4Zn%b6|a26FCg7?r$<&HRC3n-Is@npM}Mc9&ZIrSjCFE z`X=NVazzmu)?$dG-b7)`1O0a-_{;Hk)~cj+#eu;nz)m4CwEwg4m2p3&U*-e;gV7J{ zn)R6dybgI{Arj_@IVTg^j9O5#20CjYQwbtr6r~(N$gKP7 zUH2^$yn1_>^MxfWCVE#Z33ph$Hh)0emc+OUulZ-azb)yYCdC=`iIxqMJnNbhRAHM> zU(a=aw4-(yDzA%+L)~UeWBbGtweT-8(s6F1TagIPp*SWbIM+MXS;3=<(m8+!txV66 zdJh)=1oXkk)i(!Fi*GoeQf$=78h3{gZYbzKTYt+^uEIBuV)dnCugEraT#e*|*UTi%`lRS|+Bz z6BstO!SDNVXTqlj?u8v!&3)C8vmd%fddjtNj(I%LeQ;ceg#aSdX1(ESwDd`5!i0CP zTqVb#3n$HAf}}aA)@|pC)%{7Gt+C}MHvSH1w39wa8oU<|c8tiNk_^uRuH&5o%iOVk zMDMVOLIGf%Z72HQ<<)q4?56pPBa)V31lheduvngdD6zkVk*@tu1g-YO&Fut?G98@C zVasdIY{u;*<^2Q|H1RVu`sWRLMd`JW3LzPU>FZK5sMsz*89{lK%o8VMGXs?9G^PYkKBX!arX|7wkJp!OT_Ub<~gA*zai%te^y_4 z&q(Iq(JJHfvz1jeZ3*3DNOtcclLKR|Zh1t*85bm(e)NBJU6Um&YAz|3QxMM zY%x`kdrXQW2;>YuVB)loy1ZOg3UaP|EYx%Ui#Nrg`5h7qS;!MF2<^&{^E6Ns3#yT6c)CUQE|+HG$}1>wsx6z=o!T3?s=z$0EGdZW@`fGzWSo<^|Q}w`kS?UF++{s2RS_gn4Yc)9AM0) zs+hrv2=HKbX@g(am zUBhw0bH9oJxQqu}Q-MBQJcT1;0==zjp=tNgc`eZ}L|1odSMKj&2+v$5xy zrq-6vMorAKY_U38+iYk8!)a2w(@T?nn z56zE<<7DD)_Jhofvss&L3IEm!v%_aZi>e$uPV|&+lK;#BJ=Cxzryj&4ZU5Pq8Oc|a z8k`#Jbl=#I@B%((bok%tX-r{qm(@YenN!%dZYSg3B5=l7^=0CU>K^|A$#)NSChnSV zIoAD%l%!9tip0IAmv({><>{1=^4VAag(=)meN~43U-tx$~&NkqMwHyM6hbzjDGu{QKCCrqQPRMA5mt=;0HSS2( z01J$a9jdG^Ofe1PZX}viBUk4}Xo8izW%=>KPFn69EWo?jm|w0Pc#B=nv1-WL$X^KT zq6sf#E$54c`j%9<6D6=Cc~bL;XJCbMNr5y9N28#c3|t*H*^vF1TE86Du{AJA+@V&o zzO^j_iG06xyy15WxlUHz>+CLT!6Zzw(fDm`uxVX9TF3ECehYY>GAh1#%_&b^LRP=0d2(UND_bv}44NC# zm-v=$p0?)s9={iZs$Iv! z@M-kRaKAkFy6=KooVmTjstQAeL#cTDh=WYv0>HBX(1CfoO6Kc4K;kNEX-fx^b%W*K z?1r_+2{b&=7=Ew(eO*wQVXU+$hiy0<5YyG(69KeA$%FB=I+}zB@5u{&*Y{|o=z&=c z-4Ih1CqtT)CVX_Qwyp{KOC!0x{p$1^S!0GbIiVS||Gcb5A5@=LX&7XjH{Q|Jn-G|u z_Y(J_H#sYg_DLH~xvFN<@iC{*t^G@B8#bi3oCJ{pNLzI@eWaZKGHZVWTYs8%wVk7( zE9*53qHXo1u7lu+j#WNlfnR(oZ%S|_r5nbE6)5G&d?3=GNR4uU?ZR%%ISGxzGV($% z=1Hn1b9{7O{xEfO>Z#jrU0qW8kJRJgDF90zmTyEqERAcAofcA4C=9L<(}?KHOI3qD z#?4y(@qi$7k|3M>!LD&7%Jd1J{ zL_PUP-(P-24Y=X7xA3v)^0(_SvNwuJx)*5tPtET?YPR)~N3Qd>NMdzEpZSi8ym}b^ zmvP~dCAGEt*;z!++(u2F1A=N)iuzDl^3=hIok}q_*{dVH^d`TmW>?nZkMnf~4xE^& zuu`*#h>_IwMQreBiHS(YbR9h-J8yyZ_q?gY?bA1%PR*3REPuc-K{0hm2T;Gs;$g%w z=g+61+j7-NMu``*-)xONiGZ^=Z*a)Sjt%^jhU-85<>66N0zl2O%qFEd*K8Fi$+x?B z80PRFUxBIWEK4o+G~7YH2&4yPJd&OUMZ`A7k1yDk*%vV z0uKbxdvRSrvdBv8fD4Gg4;pQ)W06Ordwd-0uAA<_9^=#pGw1(2LrINLphg;Iob`&l zf4I)|;X>%Vg_dUr`&p7=_Xduy?sjj!kCrz1i+t~Eg^jgWV`6X8r=yEbVCjjA{=XXM zz6*fd*sPgkph#^qT~TJY%5z-Wj&a7{$%m~zh^^oLT1CCsNvlZMM=!(PE)0o^ha1CA z2*vlqmAp+uUu(srtTEQ(7)?nJR_C7BZVtzs{)x^)Mr=>x8vaY(SX@&=`O-x#zkPdJ zdN7Y$df7-dvDdd_muUVtjf061uLn8;9CX%@=G0nDd01pUeY{+Pdtqhz*WP!8>7xuI*MTaxnjbIz6DK!=879$qFi2WfzUL7{ zm;M9vC~h!i<=!(Y!uQnt>oP_jA33a_fWI$98U9M zdH^7H5>)UI`RysWxcsFRyEF%Xv1Z+qKrWK@g+*b`7v*gTO*49Ur9wo*L%>piz`!U&GwnXp0}wOzeV>>rEOZZsnSpE zG|Wl54G9aZ;{3N}(pw*=(R>~f?%k@tq7rgQGhHhBi}T?hlWxStt%}YAl{PV_1}zpM zD5I>+<62iIjXSEK6$?9)8d&MSD7s1NrpO+*`zHy0boy(Yz)r1&&yJLNq!DoD3?!(m zX5O=&y0u|B9Pu_~y@9plQvm}DFbI+ArXkWpCAUO|KrWgHvz-Tz2BW?yZ@nq)#ldKw zLIghl7Vn$gI#B#Anz~k$Pn>D#V3BW0tPTd+51u14JoIMXw7wHo)3EWaOO>g0W1;kK zVt5dx`J(>5#TPmH1-J&_jXo|6$d(55>XQf;uyLA7FAZuSH@;~e7N%#g%|tp-vb@Z;$*;~IYDl~(V$ z-Vd`PY23I?PomqKQ9O_u9?CZ{+)eG`2UKL%S*U7 z)haN#B`aE-0?w)bU);9WhQYUsN`A=$JA7hV4!(~3>|BjpXjrIAlG{zc9x({1YIo+dGf{(-bW!aDsnThtTSeL^!rtHfZc+FWCXy;k9#IaY|ZM6p0Iea zI%t8c!t;jCytl|MG{0_}W|bkV(u=x_mR9l66x%Y8h&BDKMHy=5IXWRGYFa;T{J+vUIuBXO=eexKF=wpZ+IrSp zM=+nk%AwJq173rMZ&40~nPZ)QY53nIu~Ruc7vtPskSA_Q6~>V<{K2h;${q_yru^ZE zgp*pU2E)i;MO~|dNqL?FhGm5Q`U<_d-Vkqcf#rsYk#BxL_)5vtMa|qZ;<~&!ypS9j z@L?-C{PoI?)RiCSKMyjAquv!ytC17HRufcyn-8WO??~o1go!+6m4pY^lzWY!?9wL= zp0+;G->i}7Q@Cy8eS7-p>q?i{@E!9gvQj8>^m%|$=Kjoa`uRX05Iko;_;= zxdka~J&7>?OKC2*&$*ghUxIUTvZ@dN3<*#32GabTtjl)x>=sh}c5qlNKQd`Ob=hQF zi_{hC-5t5Jc>@O7i7?j>svO&#jgb%E_t@iwHTRnMKO#9uCyfzwra2GX|>n8ta22gR8JTRRXX*_Diz4aTY z%;3sUGsR2FHs{1130j`>Ta)t>avGF%BfKtykVb;dyS8XbwRY>v$EW6IRl|56MVAAz z=ANxn)r4Faw|%1$>$X!z9Og8o@8x25ZYXvYj=MpNmQ`RQhKuY&!os?d7+|7EyZTsS z<#loS)kAoyV61+FsO5#)Q@}-I&U-Z6Hog$F*h!r?CLHp!XG6c=${eGJtCg8%W?_Tt zKVtNJ>jN%^IVmcROhy;T4H80w2ev&a5mnxGD=NlW4_;hkK(uRxcdi524OO>WNz;sH z>#CZRyLGTji?)S^tIJMdk>Hs0+yvxCjIKd|tPS|hTid38DC@707i%TOLBIL7B^}*; zTyA0?*R&ig(!Q%m17_M6-jy;Vqjw~Uh^=dc2al1ur*U(hBEv65R2>9{G%Svp(120? zcgdk0+x-$%!e=tMR2Dc)wpNiM@&~(O9w5B7 zF#*BO-$z%MmmR=Tmn?Leo!>F*5LeO6b&%5)z=&nB!pWWS4v@)JV-7s%@(iXC> zTikOWH54AYuG_&LnSE~0o}iNerGD|dJJuauULmXu#sNHL&q?hSE;?r!j)S#bJVCG= zeh^~4=G9|bIjTz4P?D3|+z#tN1}4E$+P52!T<|MJwViSh{mZF9U2NK-3$xf8|A@*q z(?xA%PD*_qWQ~zm2vqLrAFnQQ{F(i)=LS@a9=V4d|HBj45`z5lif^+6q~#zgkV&Zw ziES{Zt(K>0??ne!0U}UfIc>ROyR;pf{8-IFj4W?`I(7gCnJ&Py{#J(c)L)b?SNa|1 zkA7vexogNoT()?(v=p3E(R((U7}vWBBRxjyIWr!m2C=1C{!TJ)DxnY|3e}`jMd3%b z{LFE!nd2Ry&e7=hk{`PD-%jFWAUnw~rC?KpCLtPK=oQ}~Cq9IY_Hc*`BV&!n?kmb#wy96D_ zT11h0#PKWlf^35*2hgooZg$0-h7Z+dtef+TeayYU{5xu)wc z`rdxA`ev9x;FNG!NfR{W-l^%Qks15|ny6#UON(d>XkB>a@~k3P5v+=Bv*ZzxVC=?F zaMFb%3pv(n&4;XRGsJ`uE7;Wj!GWsJvv##!H5f?7{N!dgACIhZ8!@~(6=*X6D<2Yd zJp6+EDWqN7m%EmobHj!+uMCN9x6|k`d?q!q`}U!$$?}Spum**i0M;3xt{~R0&?}|s zglnf{+*tNeRXeyK4~|Z z*XJ3K$QE|ZFjc67tZPNSJ%qQGxYRcY1D$&Oh7f>Z-`bm_j65;+cNV*V{}?tEZCgzK zZTa&6Pc7iP_5km7NTjMMBpoKnS}PR+MH1s9n8kmf7L|<*6)<#~M`L$yx1stu9mSb&@LANqZfZM(`!=r!8?Vipt#2#25r=#?-7hb|hai!+O@}7tz`^tLo+fm0s2l z^l+9RD3R#^?%BgBIUpbeaozT4m*p4rY3OY^)Z3(@PhloCviZA*P1Z}jx;vjxlKCji}+V!#PS=U51$Z&22F3VdeIbVpTSFavvI}bo~*ATdJkL~l`$%5-Fod{`-x$ks9)x`})a@$C;_4m#SF9a@b zL)vK1#W@HuVx?kH_HZaW5kpuRrl>suOtiR?9#arS(u%s8atpVntLX(y?Vj!UQr9AT z#luU;#|FMnkck;`GBUWfw0f(cE`y;YN6uv^T5tNU-IE%Ns=TT%r#<#}jceFy4r?l% zHPP7&DJ=5jQ%7ZW1}rvAoM0kS^X4YBNE%Y4xv7!NG)H3~ zAXhKJQHq>U^?sRc;y4R?RtVxp1^3DpkvdOMa@B&2&;0NVo>lh>f9P^|IAQ1~vVExJ zNK!G*;FhEQ_xyNw?|-zYZvxtrvKim-F2e5L?3oJgiqE2U0`?Q)nMqe3Hx$y?nLCOQ z?{7bCSy_Qs>|2goj!!oWS4Uw1M?bZ@Ws;61+kep&f%$ zo&r_h!;R$+=LNNamcc84X~v1kAikKVf#SLP;5c(|S6f=eUIqJpt0xhCI>++HFu#D0 znsKRW3(2y(`T7ggFfHvu%=`z?x=m#R;kc# zt=CJTVo&sI;%erg|45H1YcArrfm~bS71EViyO^jIF-P?2IOg$gT}!cQ+>JbX+n~Z` zP2g(tN1e99qhAhsk#%W9{u%qLWFOE9_q^Q6PfDthWj;GZv}i~%8{~o2tJJe|rqmNo z$}QrVoA;@qSi&AX9On``hI7+Roy3Ymfi=b&)r>>$zS$r2bbBkrBt3QFSp*qqO{}nQ zm$X#oJk|lIDGJjsLr=_p$=^uj3|!0$CYkW+d4Bo9M?^>1?^xLwC1Y-FkN>%!9ZM0U z=|U+Dqckb~1g9aZ(98!3mEE-sv4uuhtNe7pri_073qMReaJc+6s!^CAN}Sv4UOt zdc5v(i=kO}aT1qYSSghUfZ|_eXPDSS#``GH%?DRqaE_eX2SF5RjatJM$4yish%O#( zU99&KTt(ZMz~IBjo`UN@P5{ac%k;URgHTKvdehM&=p;g>V^q9%7kC>Vztj1`GM;!- zTw@F*Se5EuA9uWfqQ+^-MQ}MuALP^?@iEYQX-gO|84GSe7b|UjL~_>acqL=XSxz(0 zXi0^=f#*2^Mxx!0f&1F2zH_$1p>h_Ev6v|6w|c8dO0EF`ReN~T`Q6HmbH2p6Wyfv4 z9qZ2;7o4^kCr6qvdi5}1{gVD;jAyZ_RJEz+IfZZ!D21|Q0;zotCfA4DQmkc2)_U4Z zH%s|+fNB|)w@l2_J8RZ7jFq2sEuken@N2|9$qMH|-z&woHZt9IS8;*=y1H$==ZLr? zIZ{*BNhCJcrUgS@pi{(n)&c{FZEgf_~4W8j_vY1_W2h0KTFHQ!)4(zE{~72 zq^r!CU4JB3)n6N2%uSq&0v8N4pGJa?JXN_nrm*M4fX1~^Joe1l4xnRB*x<|ZSxl%x zTA;%VsxtdHe?rCL(<6(D*6yAqv2IBPUu{aFOmBa9XKZCTF-xXB;L?JjAtO_O+UkXqV{^Tg;j)cL!K0#i`Gb}BJh;V9muy3B z&@oOew-ds(3Z!jG)AGGhP1Gp+J9~yDLDw%&1?dS4FWnQT(%goN89+^e!kWjnZ5z%^qS>B|7SvVlriJ)G3ePsvQ z;nyRK9Vs{bZeIcYTsaDzZ3}WE%;!47>-NR?5j+SX+8gu+PIhVPP0ueB8g!131fBn^ z;~&0wz>P`I(`mu#8<@PKE=s-lo4RIL7I#Pb8VQjs+^sSZv^aOkNpVT! zvzW>1MV&s@(1*Es{OB#|+gvXdktb@BT@2cJo%(=`AO_6uqp|`XA}jT23!=B&>WpO< zua%bG*FZF6%e2*RPCGPj$7}4Mz zW?xp;o2IO4;hkf&%VXdAv(;Yo<^ij%d}G)ue{T#Bj>&#?;R>)}jxkCZi{NfqflZGJ z-q68tc+vZrKYVFjKDtlY4DpuV%oHHut!u>hy4A92sjQ%HzPpQ9Pk9)#w0gsAM)~y903U_kHN>+hC)?~8(lWu_x86ED(Ie8q_!_0WLv1Df?=sRU zvt_;zG0=;Jek)briFY`TsZ$Vz`sa-db_KO$u@bgZBB=4^1l~=K24&4HmWNITZr*9V zAes8LP!c(lKxE#6$nu&Wq|R^x>jU>)z41-ixA`ulTRTU&O7Q6MyiN{VRu=K(n}GeG zq?GP0JAs~u0U!#0(ZzzKLY%W&i`=uVlR9a8S2d^CeCzPLRTzK6wVF6O6`+!voE_dU^=fPIm*PNPzTziquh%`Z-Qt|8xEBv=P?F9p%)gTPBF zxRi64(H}BelMiFhkU#<6FOZH(#&3CVR>$f#*(DYyXGUH9k@3y=TJ@jyo?vaWP>ZWg zZ>Zi!=E7bqq+Pwy)A3}UDSGr&zIDbXV@QQfK-%YvPG}~ER)q#pom%=vSeu_jpTbX~ z7G(HWdvl(Y9>E$!`NheGBWe#4)3FP$M|zR58CkPFJBEmTN5`LYFK!u5zYibYXCok= zfievsF1Y3>rWQFlj@ZBc&>35flRL&lGHM-z>7~t25vDWU+vAfF%8laePmz0IBeaj8 z!4nPM3EZRQ3KO{{9nZizgU}%?u;+lHkp1zK5xJ8K9152|PJi(3&PS3Wsk?w<=cZ6r zmvK0b2a~#AMos$W2i=e&*b_msBMff(c?N6k9%{z?hzaKNV^uzjgy7v|=Nu#I=}9%k zKNwnawlBBq9BStI(Fk}I;|Rpf*peu>N1|_g{==O8aXcubh+X&bJ>7nR{tEZQN2PyP z1Z)rH*5aKo&f0mbw$;4=Sn%g(2BUSx7=itTPFXepy#MeBI&T3UIA1L4c(Is-`Y@U)d2CGXsP8i>yJ;jDBBsbz`Hg^}%7?fb)`Oz9&t(u}Q2qm3Zu3pZ=Vi zQq{+mJfrsqal8$a_dE32FMNxB@#2LE~=-o`!-xTms*B7B23&E5!3U<+DIiaKv+B?!^@ z?03VK&u(c{Q5lbRak(*zOn6(VCw|ett>bw>Pi~2p1M{svGOqQS?z%XpwQ?kHbZg4d zSi5B~K)~9|YhX0rEmuP!;zjQai5EF+dTu(p=iWLXM@{#;W=6$lpB5{9TMNKMqi}~~ zCKS%T#HtP|%D1Pb@GfNK3`Pu@LYgvOL@5zMJ3Z(#o3RkL&#iV#tpVU{&9fFsvEsAl zwnUs44Nd4=J21;Vb=*L)Xp$gWXzroOlxQ`$I$tiQULE$0^m>?j85&Cxoo(}tdJq{X zf*V|{{(sne&!{H1Z~u3@)on$#8vz9Y6&2|!z1xruQbUhQGlXJ*(2EUGs)B&j&_hc? z3ndVO(gdW2By<#nNMb-r2oTEuaqD*bJO6X;IQQipET3b)iDSI+4bt4-JxrDgXU5pre9|KKlB{nQ@BtetC+^xy4-D_G_|67 zQU&dXggj}tqKu0s*e%zFRlq|SIrmulkptK@)cVNW#2?jWC>y%1xTKm^oJo4kP6&u|f_E6IOP|VSl5t-AVFECtV3-wbH zE{;zw5pK`>d*hSoFo+DvJM&hUR6KnprhZ+@fbdQLEpD<&1&aY}DIyliy(<|FqtRsH ziguzij}#O4K7I0PKH^W2AXA^)^|Sbu9Ko=Vm+>Kc$8^o{8fQvpVEZEBS)1G1n=6{# zfz`B+2?9MWjh|5c6$^%!HXRtvPVm%trO@$D09$85>HlB`@qMp)0-5v+NK3 zS`)RB3oTY$9Q4Y3ADU$%#$0M2m$EU6Hwx@-^C|ci!m@ zareH?YrflR1-46HMV*Fv#2C*q1`mFraWuUo7!I>Zw)^C9mcxktE< z)#_Tvc}~=ZiEXaIKmnCs%VvS%3El~@D;XQI#0ULv_~gp#HV$)|P`n=vHhO2B8QpW? z!r3b#k)>P7psCGpzoX>fyQPG=5ll*tl7{8=_NSlEKtnb@|#mM z9*K49L%f*2iWz#<-7WR}WQ)jzoL(jHmTt3s=5kF72W17iQM@#KBI}u&n{Da&3AIEDMf|nhl=4a>8bus9U~O{F*$_a6K$Y==H~(s2+-D z$TheRRZ2ivirXdMb-YKF$v>!hXQr`crq2G7@=m8%HOw;Bw;l;dX@#8}S;3MSD%p>M zC$BpS^)jrimUx$$1Uy>c&&&6sJ!s(3JUcWwbTdU>G11#WDkTf%5-@ptmlju*PYKr} zw^0L!jVf-rbze1`V>v*<3 z>ykn%Z+216LkL=BlBHe0Wl)MFnvxS%G8(tlDfCO91%L0Qf#yAZ6dS+ze;xsY%weie zW){RU_%tqH3x#4$}Z$;XGkm7OE`MuN%h+Z zo$s2kbN>TEgHz3h$eC>Q8+L$I(13=7ieUOh=HZHN?$Q{FAEnH-#`Jg6y-~ayVeJlL z?Jp7$u0KMh7J8%H!CAXij?kXL*G08QbD48Tl_{xOb9GgIG3qMMofZR6o*d0L2U5>h zb?!y?s8E!*86vJtPe403?ZuvTmq%GF+X?(zrG;4pt5mHd*)>Wgp~`)Nl?}a6FLj*J z3lq}IY=3>ODxyHYUc2AEXZ=HU26uH>%wO;28qR_OB-yUo5uI3%-KpV)0ncjqYLl{7 zX#(Y1U4PkPt-WLSy7s;3saUu|L^*Wg8KXX=e5!dlWA_n=p8Kll1Yb9z-fnIc1%4&9 z)sY_w9jjUR<{Z90{&P(AO7>Cm&J*h$g2iV5j{Y_7FFJwj4jfb+B zSxS$)E9ZZkyB(%QZ}2ioPtLCL;ubf>eraa*cv-g3k{phO#QWVx28Sx#dl>my`DV@b zT{B4jPy?!~sS^>D`#!;9}KY+0IgLW^5bbwf2d-XF znJ_gq&9GqX$t2o@q*ouwqdg#&>Y0JR)dW3wS^~MvrCALr_RUBw)--#Ny7>6|FOh<* z{~pVSG9>h;fd^0T0!xTkARVmsw3?o{+N^stD2FK3yJy>jxSK_Bti7g|K~Po#c4StO z*6^XZKc0%BcTU+YPajD2=-yEv)PapQ38Oxc(&gZDC{m~J7~gRdrb5OU>sKUKl}sv~ zx)o*ic>*Y9Ua?A@_rQyMe>r{kvsjE&8ZZg$pG zS-)^YB6?T%!d`q$C@t3ZSj%=HeSFpw`Zjc1V7aC z+-(_lzzc?DHs`x&DVqivx57M@-wh;9V;qW|^0c@~SL8UoQthpXPgM+{ZmrFvG!X)%G0}gC_6^g3r9|oOv0gjvLe~9IDs(9@XT$m>p zLI~!9=b?^JYTWxvBLfiY)Sv=a{8!sp)!yAW`QKf?I-J_8sXQ->ujrZNThI;L{O+5x zdgR9X>bJCdmv3hS6V-49K;)YpH>jLUlS!6EpAzWLPAGp^$! z!j3bVX`ctmG9xQr`3^!#P&uPY1~cNAA-#MZ%yrB4;v_8AJHHVYQD@EUL$N0FM==7q zr>QHqqUCm8xVi}DSKjS9-`P=&yJlzYI=qasUOU(|L%R}*xnGihN^{@k^y)L*jH6y% z6E#=)Yiggi42sR(Svu@jqRM)G5t3pYdrCVBK8V~otn z;+0-!tw|sS1}t0xo^ot?8K$SFPXqXwccCS$;-jLU#_b3LmBVy%*k0PA+QkY7Y<6CO;hLi1hgop{1AJ<)mzPC zNEI!*%b;ssKo#@Gii|Cd^e(y3x;$bfSNwN**E_ZMqYoa;x4L< zZ4{q8=V84db0G=up=XuYQ)`(qBO4=ZL+EeV3BAKvNhro8xhzS=B_8C!oY|j_iAf7t zhy%{AKlQMm_$YS)(AJD7Q0Cn=5xbIYP!z4Cx|$YHtx{@{hbM}UT%#rq>@L5i zWvk=IZCaG8DeHxMTsxwS`V3jjas!oCl2%jA`H}Se+JUGUsdF16e^|DbTl^% zL|94_I^p`MADfwtHTeQxSNHoyJn?^0szwpq>_Q~-49Cn%NXLRN|eR5@u%ZR?X;~`a2=o=ZE7sQGBbWVb(5Rnn9Fdjkw-7mkTnJ(w|5#4zw zbIJ#`^_9Q19`THhdXq`w79YXh6gpemEG_6I|2e_Qsp|x#CRr5#5U5S*Ue_GK>3diE zbFMgrX@Hj-#Si&$%z@ywZC~P??7gmP?&F2L31kWGx0qB{OJ5c3v`0&m>%~28&J83S z*!g0MZk@kxbB{Bo1ieu#JlhZ&=`GZ&k_4T{b+&8TzqRd_v|G@&yB``pvrJTiUEa`d z02`@Vk6*M1NuM+DhgJk_wuJToC(NCfQj$KZ-A~5d0DE|kz|Vk7cqELi^FIW?JQBPf zL&o(o`lM)+!w{8CFMX@P%t?&wsmyA(MxL`l!$Mk=d-K$ed`edBo!y<`ow?FD)Z6k8 z?yqz7^e{%i(Ym0^rkaD{rL2kTR1Vm_E1ZxwBK)ryjEMb9^7O}qZn9}*CPmn&p}gTr9E%WU9oK*>-K^uk zWR}ZT&i>Ni81i)+SY1|0dnaxZdOKrx(XB)6!=oH+Ybv18!^sm9C9iO{mApxI5kaeT z5YLO6*u~S=?`Bl{dymYcob7nl4vK=xyoUqNsnGwr?0A+0`gOhcZP+z&eusYo ziN}RmS$&~y6JvhNwzdzzqVJZdYH8ipvzw)m(z|IbP?85ly?Yq1S&|T2r~^cYPxcgE zpgvf2+q769u=2?+LkZfuUgCTP%xN^^_dV~C(B&JFlQ3Jc4oW7IzY2L#+gLJ9{KJjL zgO^ubyW=@m5ZozVGuPhA-rY>34ZodVdr>Ue6`$UxpSKY+Z=?QzG*!DARd;AdON4901FuzgVkC-9 zI$L%tWo{q*9@RQzbK)*a`TkqEIxAKOr4UKQiGzYHJO_Fl3Iqx*P`Xuq-F_qS<~g6= zY47EE?OtoPlUivQG-gf%wkMgC6;nqpq-PbaP(DHds+Sso;?fZfoZ3{$qi%TE~JO}V~&eD96b8WYe&*UGHJ3fsQlec)zG6Gted;+G~pNceMMTM)P?k*`n#?|TSO}Lx$ z<7I6Q>iZI_0w2x>R~hUZlZiZ$XM?7dTQ^$cf;LiiLAfIb zd?DtWSLL8wMHbz_9ZQoC(6vRgsHL}Zf)afB(H+fdXz|bykvEszNj_{IhU^?{IkeI@ z(PE*Zr{B5Vr)4B5!q;P9M?Dp@*CsA`Tl?C(7eaFd2PrwvEFn7wscL7Xuk*`Wcl|YB zd*>**JS8>DX_*R{z}eC_5186#(zgxV>mm9GUv%~8C8$lQ`h}o`h_=rS-u0HCiAWRd zCN>Q65`fycCw^Xiql|;5O>qTt4!^{c%55JE2rXE>qzQ&tipx7$j<&!9m}b#QN}c$6wCE87xEkYNc{@*>5WM&cflL#yHrfZ3u!b+aM0S}D%>-8r)J zZF**!Z{UA>o6!5Zy1K`XecGrKUEU$b3@=Wj!^)%gvxpk8awg&7;hk!}w%w_Fi**vL zcN~O&I;h{$U!|X9^RMP3)HK#xxZ)Is8`U}l9Igp?d2U*uO7t0W{wGdYtvb|KqZnGU zzID2rKC!c<9TFVuwPVMNzU9S~;DQb%TP?3URy$*uCRSzXx8e9rX>JZL4JphV4{fKKx3eRv;@;$t%r<5+^ilgoiT*Bt1FCQI_x8_&z@_*P^t4Ku{Dv8 zJa)a|yEtcI@WmW94y@PmhppW}DN%#@HJQj)JCp7npWADihOXkK$(JIFUMWiw#?Ma(NwZIiq z_THE)25;+AN!5YlJ?k4=Ul`~sj`ujn19$eoQ3m1H=!(%hKtbxT8B_l7++|z8G1UPr zAU`jI3!c5PoRck(P;hOIxFcF3VXbq!^yZNs($a!0)oZ2IRCfA|=ONQWWT^UGd;x0V zTx!3sK_Vs6;yQY8r6e%XJYBL~2q;CUT))r|b$-%2Vm2OIv6ZqM^MxN8*lh>=1lzRxJn>%`Fdloo>n6JG(5$A zyPZ#?+!-;LQ{KC=!BG{KRZNHnu8U{dwkTW#_&XmqURx#ao7o0J8{ov15*km z6Gkc;0mhzacn0G1_4A(7EPfFcc9Chw`YylO^I`oB|eQJEAl3(^R zc@zgK^jBQ+vXhfAv(l;e$-4HsEwi^9R00-vxuI!rW)RkN8=7$$yVGavG;3}svbXvk z@(#!rSp-VY)y7<{TN-t5N(4dllT{g$K#s>4Ng(FI6-~|tOTR70SIQeB`B)$85=_!T z6Cck?4%GDBWVo%r*=p6^o5j6x=)pm8b}~lZIu`ICxLczKOOZRT54#aTk4x!qALbow z&pKBY12=f>i|x%353bKV39l;{zyDBK-n)%tJ#Ky*8{P`(3mE54tkim5v@V8T8`okf z>#KsxxhZcD?6YMtfgJRbo^DQh-$VVGT5+Gi{ciloaxM|b(zBj}tL5O|Z4jtCWUPh@ z%UZIdRrVW^l2oS&2q9(CzMWS_vROze~SV6K5a(e(l)Nz`sOeAK5xl^JrIeU!GB} zF)w+c9loajCcXH~j1?xaLdASI+npp=jXGnv+S-W<%Sw%SD*E-T#=Z;6Nk!9!@dd*j zrC~3z9Lt@$qjHBTW?=(XI+ZbATNU;(I{laEwL@t+!jWdS`{=d%YsjMk=(bI`q3mzK zE{#NuMo*-9$;L!%W>;7|yB{c(x`TeX7g;TVOs1!LorNb?Jig0KR9^Z-e#6Pm8>_BL zA1r4m#Wj^BgmD&mZu|FEu&x#i_#(wG${V^j8_nX|mepp@vL3cB^TAEpA8W*l{B0ok zF8E>1er0>^B@4xJi5PxHR8oh{8=}t}q<${oN0aNC{}>4YK4F%WnuG?lCmvTX49!F@ zx=&$2_cjD-E?oGW7nV{x0sg@ZEi{@CEBotjX5`PX_?FE#K;y3%QD($B8F8ECi5-0a ze?Iu^<70To=VekA#FT0U{FFc7C;`yxIMEs#h?luZBbG#<8(mAStKG5zos!g@jx%h* zE=DXw0n+)2{zd3e5o#k;?eB~FEvxb9ZMB$RkQZ6i4SS8%{^egH{syr0nEezvII@3# zUk1@*fP+iq!o{*L`>w>E>>f-A3(S`F;S&@rpk@Z@1K4(B;$NfOwZ4lFbTJ zub8dWSzll8IhL3bX*W+9Z8&#z@80kp8L7-(k+bI$|2TbFrm_l9zG6@=HHT?zj@hq9 zb^$b~uh$pxaOo!v2fn!Ubca=k|0g83i3w9H z;1{uvU9DwblYBMAI+@>~LG|j*08Xsfg7oL6_o^ytw5-(w3>$7$_8hu`UtA3uNobf9 zq!s~4WP`0aCLr@+Qt!J!8r=z)VCU_- zsb_?{)DbJejnHJpZ}?y9MlY1QO_>=0B3|`3D!;_|LUEmx8aV+NhrYEG_6L{k4bG6S z{lC|10CFB%a~)uDRf)m*ATENWF(LQ^OhCogcGs?58_PnW4&$R7UYRKCpFMRScT&-R zDAeaW08J-GtZa5>hCXUe$2xD3i9GglM_f*pC*NuHt6P*T;ia=dcQsOg?)#eQtBEYX%1JkhLH&i_jW-p)lMK)SqSFis9lex}qQ1XMs^LHV5>ntjCEHT5wsJ(K#KM3;h1K);}q< zvjJ(EHSaN5cJ-IG_!%zAo+bTZ$r92AbaTotxx-tB4#{mVMbY6GF((}G)yUluouMiJ zp!k4`;VVvhDd{sDce4mWEC6V7JsHZypk5C{BiH^j*Lb5(7C(5fBs7zHivHs2R(fX1 zLFm=cheQ=6Kyl4T;O?jj{&K+xC7}5aWwp6`&PhK^<+o0{;%>%&ySuXkXa;p}p=)^B|A!4+lOE*zAn#%ag2C1^;yK_CGn?Z+`}FI66K#bLMS&<~M^$T#^I?uOJb`jLc)>1=wqk9%tB- zXl&;9w?BB=vapN%q-DIbqXWB-h&FWpHne|vd~kg7R36lRq}Dqj1_Yte|D|PF1wH)o?~Xj>Q;GM5 z5|iA0N7I0i;9ma}#_ZMyvBthSq7}`yE3)tx&t**ijUJm(pJCwy*a9WgWw_celdNCtKW~ zRwQNrBcQl<*j3=R+N)Ib0@-8WWv-Q&va#dN<1`4SqAkC`NzpX1i2iNv{qiU*0+bVR z&TpL#?!O-rBBg$(e)}sm*+&uog$+4(?%YTjtR$4(0)CZ{0F8rw*VnTCHlEoYlW5yq zx<{>D%~&Wx?)~8Wrx3u4ZvTue$_wESNEc5NJuON})Tl=Cqt?kGh8Z+n`v1OW_*^S5 zZ7S-fq8em9l7xeGs-?nqJegm>U}9DMwvo*Cg0XNt4N^;?dd zO|IIt{PRz69?d-81lnHJIwS)VfU)@Sp@E#khFJ`MQ298<@ZR#DNb>@zf1;Xug`0f0 z-T8*hc5g5%A|7saJ9q*IXM+LN760{j9%wuXe@ZK#d_TCuCd~cqFKyb)t_lE4L;K)W zovpRhF7Cd(=gayjFJAm@OsP^j$+N zSL%3y9pLWX^-Bn-WMW=qox(zhCjIW#CGKe!t|PL2DFZVt&(Guws^?TS&ynxnFgSLr zWN!IT|5J4ApG}mXgJm!yK3+_tQ=IivK*98* z=&#}+T8#GBtL|U4fKOz}zu#JXnVT}w=ui_Gd61N&`2^5Tth|ntGX{wNV`I|?IXNrE z3oWQ-KYR4vk&~)!8aR!=Ifr>Q`28TO*ZpoMbiI9LL$G`u7BMJoc{b) z|8H#Yv*o~(wFAFqZvOJhw-b+F{{8pqnt1|aG(k7L8YC3fIQWfNx_K9{kD*tyeva0MK?Y!}m9()Q+h1olfBsk7#X80Ehg@cmg#+T`w1Ko8XH{$E!I z0jWuM18uJ#BkI4r^q^z5`_?LOFk-djIk@AKu^mHH81=l~B@uj`6>B@&YJ*1)dkYykdvrP}VhNLi{Ds z(GvdxOdsGZOiX}2RY$M@qPps^31oA&%*x#;C$rHns1F zV71Wr_bNdX_q}8wNE5q!`R$zCNlBaPTgciY|HWMY(^?KqAPj$S-oR)6LujPy`2A2= zoq?G+M`con1W@hx-#qw|fEengwsu*MhUbf?hiSR;C>tdQI^sb85rILFaF0OYiw~z< zB>tOE0+D3=kB%A4{$EV%|5&3*OG#N+`s)D$a3=77HU8v^f3;=5G-vSG|74*4N6Yp9 zzwk@{{r&WRw(|cU>?;n#?KgW+&x}BgL{@!{+d0%^UfyBkj}Y)buKaHS8NOE`%R=PV zW>2yt$hIKLMXFETrD5_Lx0eDg?ZRXfckMGGiPI0Ii}dw50c`z9?)f`46&Z`$CX{8* zSC@T*+!9Dn8viqF{Prui0NB?q*;Dn*84X^5+OD#>O|=GupVxG@X}!!Z%E(-Uz|}DR z40%3Wp3wqXGGV;=uX9S%Tlr|}=gr;`h(10P+(Hs%B~#AF0d43=zX*OOD1W0VL= zH(66c{G(4XpFSPbiFQz1u*#C9o>onN?eer_zxf6yrqOl=2 zH|D!7d7A;8D*pY+!DZxde6RcX->mbgD&vSB5e3Cur(@&gPnClk!q^|u0@LF|yganl1BT%PUc|V5qBz0~ zfpM8z1&8E?^bE1pEpzMlDGBI}MEb3)UGIhTd$>G70tz{+?;fYBXIGv{H}>GSKVD2n zz?6T=9t0?54tyT03%u7>s*52yx0tDI4fwX>FfC5kctaRg)y zpsS>w-EI#?HTT?0wlvsWJ{0I<;<8u8L2RVvDA9DLu(~Y3u6%_E!g+& zgkE|%H`#pe2&)krv$OUx{%zam8flH9H1-~)-a1E&|8tK8` zi(N7@K_K;_8R;0)^>I5=W0^g4r5m@94dDy(Z7oU2x1hW=RgF-4O`k&urlH~pMt*It zAl|Er20>rc4fsFi=d2XX=bDCM{B<3?H3p`MnSBkBR4g`QXEK2>I27CS%!C`=Y|qMW zrQ$Naz`mQzzWa&aa0;3KYAOOYj+Tk zeSfX?*cs8YXSMI#$?mZfRV=gu=-$5N0p6nL@jiIb20L;&b zN66+r`s>$IL1ACgz}>4GM6Z11kV%u383z_^>BI!p;So$nNDXO&t_5M*DK2~45^T{t z&9bY8NOvVwzshPQ#*#_Zl8m1}>2hH7)1W7yZ=za=R6v)z!8H#$L+7L~A=HrEa7#6y zmPl`fet-*30JM0@7fdOuDaoIr6(JSA6;F z0Ri<}d4r$M2n^Zfy~=QzzkfTKl|AOeji{*}=G3`gMtAwGJ0f@QUNm^^mo@4j$8ufi zdNBEZm_7aZHz(&BQZ2a2lxBWdfzhU;FK^f?kmM%#ZX(PZO>U>e1kOHBW}LD}tBioG zg`-aw7SV?{nG2uGk)4n3x!)Ws)!1C-2x$y#RNtf~;MfBdv@rhd?J|2CSjE-1$MDGouyhI2?)*N^;x9=^Dex7m0*5As^2S_y9feOknst_Qj^ zb$M|CGK=Byf3lb(8@yz;wHl6GS(!GKgWY&_grK1(gBbp-x}fRdyWZq%oq1V}aQziH ztJLdGjhj>5LA4<4*Kp7Zrpht~Pb_UW8r zi83^-%O@Z~BbC-sjlLsEqdC>j8LH>ov*sF9B+5A&$d9 zl0q&UY-87ZTANyr5O1?)f_FX39&aM ztu^*s$X!qzXV|t2R>dy==~87316Q4ZVMEz|l*Wq~xrVBAEAok89*! zD`UMPZP$Julrde;xz2TVNLY+)pApbi&(4Lkc6N&yzkwAMYKw{bo^LrJezB}5RlzUh zLTaL&(axX009;%yu&5QY-qyO2 z%(lLoH^q2szU^?(MR%DVRhNQGM5)w}_uHcjlw-8}od;ad9Ji1!Q+?aJQ&&ynveNRW zKl9s8qwY*)?RRn0oKsFGgB7+y8XN7_A}2B#d<9H}UhaG21EfyBh$eKf$wK#f{`uH> zj7NVtO(rmXK4@FVK%C=wK0T2e0EAWlbqt|wXcQ&`#;9K!x1R+hYU~kVfS{gl!9{tA ziO;zvZX9j~xBA{IRNeoW5ZE^%MHnO=qRzF7X6`Djvo@Fdl!VgUk$q!bV^6LQH1*tp z;XE=g-ULFi?VaIzF2$lw8P6ewzP>N-8lUYiEIf5;DmF4F_q?&~8Rhe-np|84Z8x^; zLu3;4<1ckYr+^X^pPxV9f4uv3q49Klq4BZA+N^iyE8fNKmp!F2-X{x|MB+-)<_oe9 z-M~wQF-xdGFi9Qs&RjOrV-n`q`a?L|1i*8AQB(?-JpbDBTH0INwMy^w5PBWV*0|y| zdAsoVGDge%DJLgkbxBbLLvuDDCbPO%NWFx_PytY@Ul=Q*mQA}JuVs4P@VSnbEjLSJ zv2tx5TSo~5jRl8pLo@zdkkB4Ek>)UfpS$f=as2vJYJ};QH-Jf7f@!tFik3rWqy?kd znC`=|(LVQC6Rz1aPg#^mMm#1UN&Q4k{_fi6&8Ad_C!toNM_mbivdBRxV8v;1S<5p{ z-1}j5&3yFeHg5W0S`7K!w3zxCc;+%X8F}6<4F5`BP^edg@yz?~$^mm~soPt!Yx>T^YHorlYV`=8k|uSUzoC+#~IlRw8BGu}5!lGpG(0s%^V|#dXv6 zl2|PNkT_28;#tF;O~0w6os%zBGnY2k{419p&2x*mpu3``K6RdQ(VgU)igy&O4}Slm zFulVyJxYp-q#_qu&bc`DY6gM{VQc$fzD{9A&knV|~0JjbA;T3A-TrUJF+|=1Vvb1+*aq4>7R3<;g=~~g;721{pCdy^o&!J(1GVpry z?d)qgn4Uyx-8n7~I|7bYGD>8u;8q;wsCfu>Cs%$7VvD$A!&_rlf4;IiD6CA%KG4xr z0{j{rxX|qWfnYB*sU}Q#f1bm%!N?I4(wy;E-nT*r1fG4(3a7q*d%j&w-KuhJ}8+Fo;F zyz*b)&dc!q=mcZzC+S1Ziwdte)JLeUDDc!h2G#q!z!pKkZ6XAePRg1vYj zPt~OXjj8RDh?Z5&>XO5oOXuV^itSFa<}Q)!+vmWFB1b$EBpg>FE2Y&%AV`B}@#Z=* zC^s)vxSn}dMHdJi-Sw1I+BS6Nh!Ki#S)*!`a=>`lVJ{8S+Pifw({SX{=d?xq$VTp# z@nU{S37{n&XE?;X@4Z`Yqc$=w(sb!}B5`LaFvc}ed^!=?cAoL-kX8#UBi>hc@c^iG z0TC$X+#RM?V7UIqm!h|^c~bG-y#d2Cp{S(u-D)2ncu&nn2pYsL^wiE4GD-qg)z9v% zwY5#zrC%)0h&q0h5}KQ|Uc^d)bu-r=4)2>P3haDLR^u&@o9B~CyC@&JWKr>AggisB zH<{khhsd0jVr#6M2QEY-!GIRfacLQmljbsFsi~mGkn33b`kUkev+lpuAF!6JZL&U= z zdOBaL-?=tmsN|r1SU*(`tKz6_evj39;8F;v{pRCiv$aPw7z4$KAbN+tlE$q%SFeW6 z8v}+#l{+Spqm<(!{AA6J^aG27%LxhGLZysYjGJAljjFI9o2}Oo*;WXXGCaxMPBt#D zW%U=e$NLrxEH~i9&n@^%jWMDAJ+BDoP*p}PI@l*c!~yfbWrta#?qCH-$X8lAm#cm6 zy7#x)ekD`VX*B24_>v{7@q?I(^cDw!F;as%T#mM^Qc4@nWy1r5VoCq z2veYuY!Iey!@J8u-6E++JZ^M{Ah-BgTA`(W;mdkt;arINQWSHsgrDqOObC62N|QM) zSkFc-Vv_AoAQWluj`y+N9asGnz1GsI(CSbxCu>QZy)c?8>zBYiW1js9Ua|xpJKbOJ zVh4N6)1Pg#`%zO+dAz3ga`9+v;Y4x=S53UQJI`hfM2McWE;`!9|49_C`*vX)ES z!Uxm4YX_2B;57z1nS;mWdRoguM?v83qNBIM+>tpMnTH)Vy2nd`knM6?6<1{L?4 zxDbB=c<7{GFx35(1bQd#ufSFD$kQU#&xqTkQ8ixTF2-i);eom!Dabi(&ZJt}rjTYf^m_gVVf#-O>gK*o378n&2?gw6{Ke0@Q zprRBq!%h)(>0YE~ig)W@OwYa!Wic<&o*kN622CC#;KQypT$Um9s%R}VV$CMTAM&1%NI)<-U~~X=!KjQsU}#o`x)=FWaulHF0ZSNesVUu45~^oVF!b9@<>+ zzGgSb?6~KTPF^2CGrB;kK^tg-TH%9o+Rt18}L3j zSHiiW`WzV#W(#T926#tʳlgIDQB`h)>2m(eTQOL;+v&~>1$vf2w3(>o%<4F=X zY?r^%VKZfp*{O+(D_F#H4AtD{OUTk|MYgF{YdOCDM$K-v<^noxdJdCul%n=h^`oiA zvqgfUj8_U-r$+Du??k*ri#cp(vuog&?cVvsRJNg=i}fXGgWj7|-suu@raY;5bOd9~DD-;cYXmgcXFUg*46& zr`=tfsrzllcrh1N)4rE25+x@Q`g!9x+tjVVQn{1#mh2y3FVBil5F2`P zbJaAt#lX{v=ZsY2>3P9%1*<}%dd08LuIE7isu15?zwjRBB(bI!jIPjyUM^5Ee3o{k z@p5RI6-5c%uuxt*TTA1X*2`S;O<%@}loXGx3LHfUsENg@pg}%#vc{3m<4U@SVrpQ~ zLMrsbrtu`xQhuhV)@Q~2l4$+$eynGD$hIaBb%x~X)r3r!Z3Su8TdCmY`Mt);ioD=D zwSrK3q4KqC(6yAby*sdIf|J=QllQ|(C)xWdBsS99cKNd@%;~Zm*^I>`HwE}dv=8>Jf74AH z8qI4ifr1Wl&5l;1w&RwHHS9?}U<9;)lE2f1(v}9fl|0+cNsqUh9}7Ud-_kPQ;D6ZF z*_l(dBD}UY_s5W}x9Uog%&D!dz50e!HO14NRtN-eZ+Rpq;cpxx-JBT44=0xq4Zp9~lB=x{nCF9zL zCddDzMC}`k6c~2tquQLe@Ttk-eAt_ zHYVc;gd7sf=it;JM|enC&f+olUYYOnP;v%t!iUGzu#B%_^`MRGgWtlS_E<))`=~_< zCx}Q-m4(Es{y1KJ02q?Oxn5HuqNG3rY!KFyy4`@y{zy8>ZOQtR+fu_)A!Kpu!l;?t zU~glN!C`*pn;W8&{sj`5Yu!&BMROSH2Gb+p&?}So8uiSXv?66oMgZ1qv8&Mdz+$e& zL%FRX!j0TBdr`ieQg|)PKJjV5vJo6Sz0pj`5A>x zIN#vluy+bmoE>*JUQeto7T!yiaF%?&k8n|W8@tpp<4I^^S}>H0E9Q&%9o9f%xj1Yz z@u^)6i5h<0WVB8Oo55h$1%^dG6N+J5nLB-a+7rI+%j7d;(ANeVy>@-V^?;e%MaIu- z`l%PnqZYV1@R=pu2joh6+msfUpHDs~LN`as*BS?zUs0a|wTHJ~|ERAG{ds;nVSOxkC4GX};$ndVqaQn02|t5BfTqx2A(671?gY<$o(Zb9`# z6x8D0`;%RusbyX;4-mw?Iv&cLybD|En>TqkO$(V4nOeycV1dCW>$jE5UbUOQDrDpLUe)h4Cas`+o_V>^XGP1EU!B zyLCg(Mu3rC20JLsoZB9yhh;R#3r`en#6HlqGg1^$w;2|anG#W$;7@Qhle1I!*t2Hu zrJ$x2Kh5*>+7NcFonTX^yI7x`G{L+Cs{_1b&e8a#VarWPC!q4EB_~~!96lW=} z{QyFB-z`(_&m#uodz2Z-Nki!_57oP0LTSQB1!QTN!kEq*Ryq`ZZiyw}UYtzN(xZI+ zq$a2OYxu+p<{Tg@GzN9J^;hKHo;+nY*!8Ta+kvN-@h5oo^Bh-c!s4+}dsK{13}@2T z{mFui$Hz~VJ@V)$F8b0QWu`*W}a%=QGEOQ=t=E{JwI^d!I1-fN!yBQMdalw9pH zT6^jqB64+3ZM`|ThZSrlXz#|2ci`Q) z2QOb#@>a#cSa@;D$^?NjNTD>iU?hvR>2r)}6?ncIcw_aPnVxbO7ZYZ73hCrkJ5J>Jl{ zyFrFvznPxucOCU9E6VRGQcboosxF>TSy?!nvlt&_8!ZjrnVW*9>7alHo_71Zv zAM+rkUoasn1wM!1n#6F)ij-{-JN$4_bz5eH_xpTI*cRK=j&T{hMBhvmw;HTb%0p0X zz{8S+p4CDN>maL5|2CZg!-SuY1;+JcwQ-dU^F^nDhlfYO2k_WSTEzWZ`o+3SI$f%V z;Q6P_SAJO%>d`4l(!|%IljivV*&_4`iQRqSg1eQOCOf)&)vf5+tDmBWVC9OFm$#{6E7yS|7&#T`uHeSzE>bZH+tqO27>Z){MiNju zezE$yH5(o5K)=}PQv{#-F&Mn*WWf{CjDLINv=?|V7`F%%Hz)5wHisnWG*-%J&E%Y- z3L7g(9(XkM;;nD0fvFR6*9|-{HS-Lz-!Vgty31Vu%tuJuh}sI6dr$D(l^)E>F-%*= z2~pUUU2_rY_?N#UP|Szc?BL`uda!x+Ke^sB_<4R9+QrvbCphrzFR>1v1Rml5h$Iki zp@q?>ipM1j1}AA1T~BTU%}AUislb;`4tNj;l7>bzgJ-gRD+$WEZc-DrqhfO7;ly{k^E!lE(sq4gu9a2XtI{wNT%=#{0 zjx61?Bu@|tr%4DDgxDP(RtZqj1_fsf?;z)dHrr<jIySs+!L0l>g zY&0Bexdz>mWo%Ef^^u@K&*A!2VILm5zMV3AX+;xC;xb1f*R$12BcKF`?oS+~0A+b_ z`)73GPWv9q6ei*zMSS)aTsbKgvp&-PtpGjM7Bae+n{l(rx#!~`%zm`v&M3bk!)PpC zBEJ3^*xh9tvctJ>f91on|KJ^XVQ??;f>f&X)YG)4OHpa(kvncz2`JQ&C*I4NXun4Pp9Mm(==WR`FOP`h~muW|iITjr3CZ}vJ;_Yb#*N5I-S z=iF_(Yj%`t-1$qM=yU|8j^K5wJ2PnSy zQn$V^Ym>lQNY(KIQl8aUK}BMQ0@A|#n^bF!*P|EKaxyn_S`?KKAIiDTU>;;()nm_kz{0!>h41eDB&_@K7il}@F~=V$onJ$&rEx8= z1F7(#K1DQk_pv_PxzRCavyRetGA&gNN0+Wkw>xIrYN(mzlW$x%YqDK2vpX{T=vi2I zPdi01!y~%0@JwZeL?|R;;uSn0h6RfhMr)*w7~E$W5WY~p8TsvZfxpSaE@h-+n@Og8*i}m7N@q~Pc~y+IrrfZ#)Ezx?bvv(! zkEUq$-}o5+`tLsCAFZaH(aPD%^La|NGgFEmr1oIFJ-II$Y18dDma}V9_7Fp9KE*^a zv)7XeM_F)xG(cfrHaS&;`VC255%ivuhtiY5zX$R3s<^+@)=;D|(c0V{_wefu&oxTI z3bq$K$eEinvci9Vd;VKbPmBvY9^;peNAQApl8Bh_L(Zy;))J|GbE~*_Ted$*H&kac zojnGFsax5{3bQ|4`1|vQf9?$vZs_!kuzy%5^{`I;mh;x#!$o8;4y7@J-OMRI$J4BK z2!E&PMfI>%Va%ceoBdul`!_Tl!7Gd79pZeGom*0uEt_c3M{8^D<6z9W*Lx#9XS&Fl z>e<-ogC>_XZutboMV>j-{NGvn_mlp|k@YM8F|+wdWkO??+FBK+ha-p*LZGx|MdWKr z>94eRS1+sWXNdM*lxHP{_xn8)Y`HGjv%-Z0G@b?T^EwPvE~fu2lAZkEjm1xY2#<)p zJ@xS?|AC4s>mCe;uoV#5Y=mI%2m16p8q z2Ibe9(e|VTdswgrL#OKNEgZmNFbt~1#kIE|d|GMwWH2tbs?r=)yH#C!%nh<&ppLYbGrOMNZWe@I*1}1Y5Y|q0T z^BI}{t*5v5#*g3^k@-iiwUbA{?A1ZCDQo_s#|lQO>1o>vJ!OH%&IdpLuJGOFhNs0L zw`fi=_;U?^;BG-%17;v-P|MWUN8sMCo{xspb8o2n`UIpn!Aa79!*9Farkc0<2PvP# zrBVfad@y~XD@t(DSmv!mw&+~E!-QrR>RK$bE}rr--4h$0-LuH(cpG3N5#h*7Kp)`1 z&~!Un5$vLKE3$C>joClZ>!)AL|53+3GpKeqAD>p-Ns1MaAI>zU*I77U-v%Wjc@MH5 z_ykJIbLJ|^6?%XRS_^8r^&O}{A+MqbBC7MuyNgc|g>Vall{7U*$5?+-rVMX1cc?Re zQ@f#Ye|T zB*3o)6tkYhA(w^d;oc*PB}Gqdh}0z|mqz7}j0I07R1eghyzA~(f8Q?|KUQry_juuo zla+6wvlYUBO0KPVYkIs2R&dZU**dx|vf`$pYqdV7**QZhHZr*yszqi-1Mb}sJj!o#M-c2iAnHE|y zK)AG1z9ytKAhr5Ri@(QGb(xc|nMK~c?B-;0d-uLPEfX!!!~eRwpCdd54$FW!86g^v z{vmeWe)x~$o@3rk6_%+agjCibJ^x>A?K4^(&^E96$}Vm8vhUJ$7pZNzuJhLVT>gA? z;E69BARy#fb6l^jZ3a&K(O{>snm?aM|4OmOB4V>=cLiA0|G$Mycv|W1g7WcieNcQ=Tf4+~P+bkMV9;lD{hCO6=A`FwT~xoJ0U! zOSZEeRG)H4_UrG|bet&>JIIHS;}C`y0KB!0$Zu#_2Hw9a(AqjsuZ8IPpBBw+QnZ$) zEX|PgTcv|aN!~(fYQjH!AOVyK} z&plCN!osVql8q=KJWT~IEiIY63`j`}5ggGE6s=7o@V;Bi=h1{IsFNCtNq` zfKKNS`ZoMh;bGw6>Ntx+Sa24Hbp%3D?C%wklsAo$2U)`nUuj#8=(qa#@}hiuevg=n zLbtYu(NW7fYb$8>mx{kPuRi^x2xM%;{Da<+>iGffMHLL# zA|`0@oZ9MJPDzO095at&h5GQTZ^X5vw0L0$lJ3$%wCt$a8~wm=c9P}a_xtIm-J3`3 z`)tu(E+{R8z8vO*PSL?cMI>2Eocz4F9*)FdG-IQ>XW9J(d!Ik60Q>U?Z^EOAL|%jD zcEL_aF%o8L5d{uW0^Vc)(_Z_#%@`^wql|gPx$RdsHb;iBEf8{fiYyk^dv46oDd~NJ zW5!Kee@KL7o=#P9@uBlL>3M3ohQiw*V&2XBoe>FAcE+HlW!0n;W=$1N!OH#ie_8r6 z`zaKpma8k3wt(q`HQz0A;7)(eMeF>qO!#p}P-G*n6a4Hq_lfMIm;29Quzefxfm2jx>`^`GS&bhvZDoE9Ilxj;KEKkRtkIt6&v zUvZqaHGThv&L%SKsofIZ`DU{`ELfiK;P{~OndA$q{aHZeWCHIXv3;{?Esz%+ zbFkozL%q0vV5ktKJ(?XM(o^PYH_c(CUY`27O@o=}VO^&{+wY}L`2Vlf_Q#+reA>jh zjgyBpD-IGaJ_thoAWR4TvQR~}0t=$SRPDn>@@mMP?Z?Q`G}Vl7$^2e!)yf&Ya&4;v z3u^oK&T#P3u;h)o!+A_w@`X`4tnZeusjhT>E*}(8pCRNLOQ!m`FxP$k>xy3JV84YP007S6wvEeYc ztmek?Pve5)q;UOXEm20bE-hC{iuAJvdSMCSb$~w1EqA)TR5{fFyA?sWy$wYgSJRH0x{uKwGDP z*$=XFN`4pXl4^KHYpsDySf&GqQ60|RcUA9F`TrJMIYUoZMh-kT|J~3Ul3Z>EkH7uN ze`Z-(EoyzPAz*L7(=v>InmX~_3&BK@;Wl0$)L~AQ! zS%7l3mek30OK)DJ*%QyC9wF|={GS?6>{1W`w5>9Sy6QdbER{b_%O<*idEVt7v1}C4 zdoUrD1d%EhmG$aRYTkW886*@)LDR7cOASGMi*T>rjmThNxaHtTm;2Yt-6b%i5#AY` z_qQ$p?7mWMt>>5T)S4I~D)#`tk-O!#89!$-`Ys;(-LNZMVcrGp7mjMVdY$sY8Y4D~ zG&vDp_*%E3|0LdXE|rK68tY@cwk^slUA9PGo5(TtqO&9hAcFn`vfIq1Q6 z!AtS|BrXh8 z7mWEZ;A1GH#R0obru@_4xUX0LBC#39MXxc~SfcG)pyw0gJg=RFF};I&3>Bcf4S~znwj8$P{Q%uONvD~T zTy2H%lA+P_k)QZ^z35QnujuW{mowoWZFUc-%kWeIp6e)kbzF6Xv$3bvOu}?1!dY&6 z9*11|pgU9&Yd9+v84$Bsa&D}teq`Y=dVaf@;%?vQi0K_^ducnp*ZdPFw>A2{{#LvX zC3Ofgv70o@N^CNOxt*dnXS~KHy<{woN+&R)u2Tfp4a(jPI9Mj(=rxt9mu{l9dOnLv zr5*H6f!*>%jEgCT7kT>YZyytGI^|S;rFX2U3PpZTjFbzmpBoF0m=qjqg%oHmqr_$^ zEgSi3p3jeID7N;-wJ>8JFdP1NK>B06jqXS1!QyHMEoiTv-l>d=tn6&83!j8FM+RBb z1+P8pK=hb*JbO5yskW0c2A&EN#fbt8ZXDlCd-kieyFWP<_TZ(1%dWVDsB5gRD`c-q zZF%+5x2cPQ*wM{;y@FhObfn*W*uhb?uKGXQA<+T$N{K$)bZNK1XX90jucK1$rQ8CY zg#zc6kL?U-_0(2MCFr?1rq@op=?+B^tYbw5m*X7(pYOWu1Lqq{84d1k`fTcf`_ua! zPa)#&``wt7xuR;RO+`N!3F9ctK%hbq0w*7i5=^|x2nymVki58`?y_12Sj*xcfU$qCW5?WYch`yHJ|SQ{Iu zlQ_VoHp81?NLAr$wOf&}0V6PVSkR77aoyR6eqEN_F{%ZLjLt)?^*gkk_;LKJQ6*BhP=PK-$x!vybFY?pv@qH%^rzs11X+B0uxxdLSdnX-jOW~SIpM$#iNKO07 z+JaIT+Zheup$;&%pHm7<4j*f9!M(r481$HJ*O~EqJ9hbavHs(n>gPeOzp1%d?oL%K ze9`vi8GyibmZL8y?>)}I&*7wPc!9hyMsKs-%x{kdgTRv~1Wa*5BD=3rx5-l{%wYQ! z?1AxBINbXTcp62}SKNPPIN58>+;=c9x3$(-0#HT>pE48I)I3?~d00&5w)w?1tz*#3 zhI_a4J0ALnzYAk&)71HMZj_G_NWcP8bbasb1nve6$I!YP!p=XD;;`FXaZ=)?k1#Pl?^iKA0|;5pA=Et!37)7~%Ms$y@I z`(W2(($X?arKC-n%Bd`G)l}9*@Hc8s@8W47rR+$d`e?oPH!34?+*A@SDd_+Tb*F{= zv8;J>zb*KjWxi(-_qoD!jPt8lS1AhjyQf9JNHjc~6NfF&0SXlx8t7EUN2D$fuHfdU zs-Ab%DJ_pUNef7Y-3ont2T(628UeVeigyr}=x6_k`PVdf2J9M9a^XCyBXnIG??4Wa9s~YK zx~-X?Sd+HwN&{uobGS_9<7W%ipkfmjE{7zq`&o{j*L~>wmKn_su=6}9UuMk#lQ?% zwZ`ChPn~k#_*K}rEO@P<uU_}Fi5KIpsrE#Sa-PI=bl2xG`8kxZ zHL@ra>}s(8eRZZ$0qr`eY+z{8`)oc~=j1|KVoiE@(b@$c2e;C-uWO>#y4PlxINp=> z^!IEs_J!h$mGWS#q_vh9TyJNKc)I<%k8XI4mth~KrOG~Qr}XWwoLrD{2jy$~PP)w) z21wE&uDlhC>fcjqG;btxCUpvno2e}~+@KrGtN(G5fbMU+d_HvvZ#k6D>pYcQg9(p4 zMY9*ij4-jj1{uQQKDZ1-orTELY6qm$lihOg@4Ab{daA~OB`dGCZA1Kv`-W4R?yr=O zxMNfA-2l7VO-;2DDb1>}8uhw{!9_LQorx3f_BX7YrK0^}WDMkX`>FBaYq4UIGEa{x zP6<}M`@bJL_Xo(d;gY@Z1;c+qg_vn*&lRD2NPAj!4khnqz4yx=1E2Bf^@E^^SXJby zL9HH0h&*=DcV=$Bd}aXNa($s)4qsQ%;g8h_SyA)R{ z^zY`3)ax(zhveM$1quLbE&%|6;i$F{@oCaHn6c>6ujwo$R4EBGpXyEN-9$DZy3T1j zNGoRej3l$Dvr&GoUN~cJqypTsqanR>iMLwv((Y01^KN+UDM!1Bt?y!nzxv_^a*^7; z6+)f?o0+E>y`_kr&sVQ%9Zpm_yp*RlRbRdP^mnw?QTIrC8PKTs(b4K^mWnyYVtk0O z`^4&U6f}ESDmfM1R8)qidzq=v_Plx&_E#)KTEyt-qs1f*oBQTxTWnm)CpgRuj#9GV45ejS zMe9m|as%5WVoeGlw}y3xPv4_Kt1m7os=CnFYNc~_~nK6yf?De-^x}xhOa7H=lcO3LA#r>bXv>Mg& z_g-p{t$(hKv)(VJ6_(v}!G0BjkLa_`H2Rkbj zpuT!9Mqdq*-y(ZlnyA`1mcFDGIA3rzlJH}@y+&?xXkpJ&f6tFJiZM`^OMz*)#ps1e2uKJSIMV|9+Lh!0+(-+HMlAztNlBkgf-dq^ zWy66ANY{}2oeIFo@ZK|KK}AyH5J`!n&S-IjmE)y1w)34n61Gt)mwY)JVyurx!K_kM zT#fBhKD}=V(Q~tsJopP+K2`(6tmXn-y*aY6->ED2Deg88jMMShlzB%pqW!L};c@vX z;Xy5x)Zsc^6Zqx<_QNBA+bg;XEkTajYH}*1Jl_ZdCDyi{o~Ae=bi9~CQ1$T_ZIyWH z?HV4F@A!bSzmDXbO?dBk-qy`c;!S5=-Tjr-T-`L^ZdBwRvwY?mD4wL|9=Y(o;H5)- z!f-d>BB&3+C-|cES@!o&x6U0=^Lxk&K#EYk4bNfrX&}nXi4cX+rA#e(YF{%- z5>`cAu)j|xB2Ng;-LwWTOk}u|n^E9QsczLSi3xmb+7W@B1e)q|%`w(0#bdI6%|()v z=g18A(=(fGBYdTJJgkrQF^N)w_`44cpqfR-Snp*@VReNVm1VT1vPi()Hrti0=}AL> z)G?LZ@2-u-XVgLka1SEI-M^iLrGdELW+q*MVQ16{9@WzFD3?KI?zN#9=iJ!ZYru2V z{8lsIwxq|`S2Cp$$i?TE@(_6!Dc;_QmLWAdXw=SipTFG_njJfor-F#8D%_0|V}9UN zf-8M=lwTL`+xpe#pG6QPN-6R^&CG+Ik4KTW!AyGJ`$m41@zfzY#X8Zfqu7#ogFpaO z^dOZxv2RI|elht&1(ADN|y~SVezr1&{$(U4TVmibpctQ{V+ls{6N; z>feAP{h~C<-;pa(NR;{&Z11T{yMPxA!O*w~&q9cdq`Dg~$~Z zswo2jS!<6B_a3h=-S_ig0ry8r!Bhk&(aAqUcyEBvQ^O*PQnKX+UpB|M&hIvv zQr=ARYbb1O@wWFrRZ&{-vm(YwgA@`SyW4XFiQa+3kfNDT(Mzt*t`%tp=aQ1fZiB9>Iy^A_# zdeO!h8k$~Wv@@eBnm2d0Y1!Vmrp8H4redY~W%$O0qfhN_E7m23Wv$d*bFSc_RW*1I z?BCZSZh%Vz6V?Pt!kE|~vs#3QD0RUM1ZVZuAOj7REdZ^0?489t03fZZ^nH+X?9@~m z(;i7Yn;|VJ-E@OedF^;CIYsQA=~=XWxh)0Fi+aD=QD35e*9~?hXph!Di(B1l0MGFz z)q4kRq0Gsn;1C14jqfm(W7&0$&d9TiJLpj}gSq|Y_hj<5fYs?&#tqk4hUx30(UoIB z2^k<<-ykl+?|W@~MmBDz%Iu>d)9?$1uJYh5KR!MTyl(KcZmJAjQN^+`NQ7USYy(B5C|NAM-LD-o z$pDWxR0RgO3N>YC8)I9QtG1ChqNT$ghX&niAn~iIz#X*KXo6`h>+aA(fl|b}=t}JJ zeEVvxEv5OK5#>w0qDSm{j8%Te&HLS&HNOfw=HS{F3@+N@eR7hbPp6H7!XL%#4_#0f z-mwbdp@ltxGp04H*36IyAy``;(q9}CN7**QY69R#3I>4b-DnD}I! zmk@1ep+Y(K@+K@cN>gbH{IGyyEpYX6U7=)ts*OmK6y$0VRLkX9_{U0>vX^F^6lhejmNr6ux&J(DdouEC zL~swXKXiWg%Q;5*;3#~ovhbCp>CyaN$b_xORStW9GUiKEBz{WZTe7>3mmxBoz8R9$kGI68V! z5*JqW=1*5~KDeSs0G7fKZy0^SMQQT#SA`Wa272BMj0otzZ%!$;+#h zBz5%TXqfV?u4;E;dTxtGaJ{*CJcuqPy`8Sp`JQkYJm#a)=jy^AoxD=6F zzcZ@j(yq~zx*tj-Dyi(*BUb^7FMdH(ED3B}QBctB=|jX^H=Mx$h02fqZkbf_J`gSz z`C#FFuA#C>S+N6JjzqKWzPMyAXLsCYRx&iSAoSkK&_3Dk$fv`f{QY3c z`#r~aPr(usEtZ^Drhr$91CW?5imx2 zf-LjflBMFMF1~29ggc1x?{`ktTod~axA-~L_atSFCn>#sqaQa(<*o~Z@y{howfnO) zlM<@pLjZNY(>^Ypv7sIotL{;PJy7dL3 zfd*QnJmh7~U{_&Vw^$vw*bsNr;efvyw_KFcq2=J!T@#4JITa(d<1`+MXJ?aa!)Oo1+B(^( zrs>;MS~o!00lM||T79^rTv8{Ff2aog=fz|Sr%{!n#SJ`YJ z;lgNA$eG%3Av*kp~pW>DB%O;W{hd=F>5Y=>ffq@S~>^+m#Rj@y0KXwE=f$?~cA)(}{Lm zpUwLozB}vO(cmkgp(KjhIGeu!)v540{=f;fprpZ*c04c!ZG8q&5O22Ar>f~+3xD}D zdnEGL*uBZ54Q64z6!aToth9I1@q^m^?)qbnqP;bO0CB`nq#h}9Z6pQJhF!Mk)l)!;4Rh_TxKfF^i}M}2i-a?{fJjNWA{ zYPQm%|E!{w9_4Kxr+?r;eWB{qJ57_(*QM@{17QMu07Tp0)2`hYU+ZL6Bf?)@>ZZGQ zMXIT~TYrhUMSVHxfln$c)Qq@~di?-jvmI6$DhZA}b;r9uu4|Kzlr-7OI5Z>p09_UU zR5fa0$I_AxWQF@9{XO?L|-%-xFwK*-X!rsW$u1I4vPAF9Lif4p0Olqo;CuI~7j2LA>abbBv zY$C0(M8&k1-}vIZ1Fx7$UQp3T;W;AAb*U_nwN0ZRj`F_wYK8S1(Tqx^l$VMFP0vx} zGvJ|0)zlh5)Sc#FA_xIt$KT_GZc)Q6OQ~o+5*U8~`TZYS_^U@9 z`i`l|AXx;wb;8uNm=kScqby9#YkMqpz*@T~W38=_Bz{((_}ZWgU|4iU+D^iOFUF{6 zkM4rEa_z@hUx*GTTIe5_!2`y1WW_2DbS<7n`TiQR0-D>Q!|se%8}khLsBmvmR>Rd3 zmb6YywYM;$FnhLqH|L})79txKPuOS982*|!vGZz`pz4dub8NinTal?`rBGHedC=*y zlW54-$*hObf4kil8I!{A$lj)Z%}Ou&fH1uZbx=x_&HD7#P;K!;CvM^ymw629-9rKF zMa@5;(-PmyZ`vD0W!8hFPJ-Tugk)$Sal5~_Dvn6I`u|_!qwp?i5iSRzW_Ut|rSBD* zvXLH0Z=OQnpjDjt-S3|VzK0C%V#hS0gLZ*X*du**&1AzoFB-M5N>%kTHd{TAh3-P!m9 zpyHf+vXKBNwm+Grs(2WaXOj?HYubO3g@p#o+TEHEwgEVpJ~IqtOfbGG_U~;*d8X(* zlDAzD-ge*oTn3~|xJYoUwE-&Hs!%lG^Ft;>n-lr4vBBMIZ2>hj~e}Z@gIKs>)xi3E^6LY}3;-t5E}c zV8-Rs(^ek6cYeQ#=p30_=1RX)S~g_fJN#Y&>V;-hqv!c^^cg&D8EaWWMH`RRdt`Y2 zS17^{$dAT1)@%5(pE6)&iT7}cX`2f89*^UJ*W1o$aVpk@dWKpX;FXvKf6PoA%w6Dn zHl%k1Ppx-z?7rn|dL6wQIM+Nd51VeGP2b#=p4N{ma+Q!#eJp$w9(ax;=zq>&U&J_G z#j@0Ru%e+wKa6{~O%`B-46mZ?Sa2+OpN1(PD9Mz*371~8DjIaFQBy6{6TAU?{6q9| zW}6I|j&uC&(cPip2UXOwMy8VIpdp_Sd3iTe?Shwz#K-)fFjxL2{tAmF#RKe_uzalk1DdDm1Acv6~(F_g5Adt5=rkHPo*c)~6lpo3i*8hvEij zYGXG4JTZ!GzKXTm+8t!fw|55FA^3e#A2D}qssRg;8wfRDyYQ-&s#3}jrxo_JlvNmQ zIcmv=8RI*5;1g+UqG7wYCcM;?S@U=UN^a?P@qrtPu~Qq_7T_OHzm3;DzQlxTAmFmI)7oMcCbch`ttE$*7hFdZ7Yu2bh!c$>A?JTPT0qI zA$n^?PbwcdEy!nciEt&0k?s%e8;9K`mMxffgBY~439pnYrkC&2^P-JoP$3(IY>iJ# zK*a8S*53ZBl=2tle%m=5&g^KuNq>s5O`{HTNBAUp_-{Us`5%!9`?B7C7qhV5Ac3Cu z&xuX60%HUY6ar^SpZA%H(YMZTj0y|(@780G&67RC>Nwf+d10xg)u~;#_wpRIInr;y zJBt&lJsG1YvC%Y$vPN13wpq4c$7(KU17BiSES9~AC>u4AT+q@*6pBvdl#?KBK}p88 z-lk1PwkvOEO$OZYG7&gV2V=6;x&X3Q4rZ+3eA+_h8^BNf^d#*^(k?2tR_MYkhjKfw z>`O&FncQWiTP8bKkSKhkwBcVZ`4Sl@0avEgcw~2LX=x0y_|7IuB%)I~2e-5Gl;Y2a z%)453u0{+3gRhI91Qd&OO8YBBebWL{L;Bg~4!Tx>2k+0!U}+Ed?ENNG)7x{u+$aUL zb13FYk)=Jcntr3xs;LJKoT|H~D;@J>hxD6z1uBQbX($OW%2aZZ9L%mu)L82do|TIO z9nNS+xlBc^=^Ylke^1-$T>HMxTXgtfXn@{LJeu)}vHOd{V2HjS0C$dRFRbZ{)ONJ0%@51sx%*$5aQgsifBz#jX?li4+f#+1>STOX-=b! zexcaffVF{WPNbN&r5L68NdZ}$CogM#%Z@()5s{$@T%&#Lm+0UFJG;-8ndt4?^ZUgB zxC=c>w%6L}JiSgidAz#EPbiG~fjBB;(i!c+{Jwt7AuaKFD%YhNxE8;pw)t8s>TXboQ)XGOO_ZD0Oe=BrW=VC>-DEel9TcKB2X6TX zSlFNZMjn*tM{Ess)i;#AXl=VI1n4F&HCsWMcIhlY5~@6O;bLI zrPoxuHYkv4YRd{5lR51U)2STCt#LZJ74?0+PZf6A1b^X+(jE@v;X00xgc}%G&GnOO zAX$@C$tQRR%DyT*;haEteXY`bBXmXVH}~7FVZ#o#oEbj7H*6=Wl9qOGb+|LrDpdgX zTH4J(qdw@tF{+@WjUU%=ExmoSz_o?Zn9H5swsE?}x6pb9FYq?DEHTRQ9)t3{$Iu}Y zkGbEt=zIVDz(27aAKyEMkI_&pk&3y8DQkiJ&{n7@d}w6#BhESr9Y{ub?jV|en$3$` zneuITXxrHZ)##72yI@op8%_@Xs1KgbK4R3gMXkIlcsM$~=KQ zb!^68mDhf^0^{m*EbQY9C~0ui@QR59rgZMh>H^yMW*swE+#ae?H+DeMR&^V;6Hr>e zWR#}&>y%NLBS5tmgT86Y03RsuwRo&|@x33TgS$$d=|3p_c@5d@z+n}U7P{06I6&V@ zpYfMAwb&|Q!bME z8Y=I2@j~&Nvmpc@5%<+K(VkZ-GrQqQ(Z<{9^V2gz;?B|%rpzj6ir2>bpZ&QM$!MIJ zQS_9X&dosI^^RadL!Ahb&xAm;BWhy0oR-w3lU$^oB*Zg5>aML5^sp_lL|W%Mxo+Bm_1d!k9;0jnrY6u{XYU>SBy{ z{1`!Au(}0Dq3$?VY9UN?UMSfOQK~?XZ_BWxMzDY>T%@YwYE$ax zp-NioXUgP0GxXjIp$6+;gKd zqxK?(du;8s_HK{Iyvc&h6P>E?>#*X?loy+7heMynYU=4D*9yh+) zD%w|cH-3!)C8*uckK>TO{AO(6+&k;wW8xQ`I^8I%JLRIxcgcAM|Fgm}|8{b=Wr^iM zfE|8WIq!B;NrGGzZ`6`^!Ed=(ARPuNdGtS@gNG4(Wa&;o0xSFKk+RtUxASz_Z$qJ9 z5&povvg0ndiAetZo2Gihr_10M#uK64sTRS{M)MU#{iLb#)cD9 zMsqE+FV9@^uT}f^&L^(dq>>_X>g_lUnqh9~-#r2ca+H!;8R3_QpkDV;IS=~z{AK9; zlVMr#Co^2{7j9Q0E*Hu-I-zu}Y$iiUcSgKyR)eU3zI`Bo8rQ+MKpn`z!FXwbNl&%A2}bkMstn-2)TYcG3!6_^DBD!bhe#(sWD zS21^f`9Y4v#-RobS3`P5$w&t`2_Gp)aSz~9!y+(5 zBdF=dbzJQ@OGJ*kT~AQyDskAHuXPqVxjpJ+RJLE?GoBK$O&YvZt8|xS*2`+HirT)T zj2}*Gdzuwde|tR!mdAaqPkRka-|zCU-_$ME zdF{yly&S!8`s2v_p%kx%f3SV;)BJK+rkMi@^8Xk^?ZvxTU{6=f` zBCALLiINW^9zTfrnZ25;u{4Z&2n?gjS@FwGz5SgePWp1aVsgLjiY$#boW~AdeELS2 zwSXA;$seUIBS(n(g22^u-17}h<920u-zAWUS6Gr;Cw)-B6{?j0giz<4aUu^N=!M#6 zRb~A?RwQHE^DNpM-%CeY@6h>L{exJK*?}_PL|pEnJ@opwLI>xl-vZtH8U*anX@2&Z zlNayK3CpS;ssuqUU%xorY*etjq}tPGvRtxjQ)$qh-T=2RiYv%WRPfR;E zM4?aRKZLqjRH5ws-aCp-_~0X4^=gy~)h%`sOR2x`ZQb?e#r(Z-8L(JQDT{?oap|V5 zpEKv2+CM1Vnr_y1o;vqk(W&`E(L=Y}dt@&=T+^uGn3}J*Qj|JGscOzZ^}$Hy9N+4# z0%18zJGhN8Df-OWU)-;?ad*2z>RN6FbS#@_2a79o-$m6<-QddEc z8ePSP1d$R1LQodagd##{A)xD{E+Vk26s05z282LDF98x%iV`8x5^7KpLI?>`0|dx- zP_nP#d4GKMy1pMdKj2&^=iK+4nYrgoxo4(ABoB^DiFiQi+fE`v9DoSMVnD}JCPh_& zTUB~tV0QZ(djI^1w^j~W@PIeZeh(MTaY8~az=Uy+O!!S9x>p6DaL4I;T}FzQmwVIX zYs-5T&~niP9nel#@SteTkH4N&*69#ba7|Guk7Py|nSs7<^TMn4I~~|6&LjgEA)mR$ zZA0NuwVFKrc@Ea$>f*DIa2NXe5%O8=l+* z%4l?JMXQ5wWX$))m#xk%^>7njV21B#lXO0m*0rf$NW9bI-q*W)njr8!$U~VRL5EUBBg7q#!enrT;)Mspkc+^+;af1%JR7 zgnTnkifNSjJve&pCg_Gq&&9=-N3N%i`rV?aA?&y^OU=< zwooUO!`T6UeTdSL8`V(~lM(oye>-f%VTQkb6MG#(QD)%7-F<`hthYrGCru|_1M%gB zcQ+6I>uMHC^<9?6(Ya>L@uNPIa3>BBe;KpC^f`7D$Whx49(WX&b1%g&CR&K-fm|JN zRLl919K0+1wB69VV4KQU@`TN_EOwh$B1278JCt*?d@wR%XFqj(2-ty|#ZdUQuVk+H z{NkfTITC9j3(&IwcT=>AvMcY929d=#?p+F+K4714zY^FvUASaBgx>?0H^kBZLkLhO9su7uWETQmK2?a_4 zb13CwF~7KA!^U=op6KA_#8VO@0^p_(L9W$Whd1#i{6v+r*h)>OUE8vsCO9h4P4x{X z?y(&Xz;_Jr(Ipyddb#h8r2qXvToG?s&it6w)d7thK%c2R=2@)=zUra+jYhV5w`<~; z-L6>qBH04Bm+_BMvhO%uzI%{%y1&t9xvI zq&^n*$g;R3>Zk3gpj+1!#}66T-h@GGX|@g)q24hM%G4dI`TL`rxc$*P2XKFaO-p_; z*w=9AeS3?)OI-4x3bdXOcRz-6roNC46nQCT zxbdLAGFhL?Zlsaj#5*xfeY-{Th@FdZ=0DFf4(YE%1LyZFDiwHGokOF-w4$3@GLQ6- z2ujxXqUh#3BSU;c5k3yIV_CIcv3yq^xwH8mXS~<>P0eV~(fi7sWaTRez^Ibdb4>q(*IW?El=g+;$DS;Y_v#uU~)Yg$f0O%DWg>$+&w+t>Rws(yX$>xfpgu^ zbH}ou6SZ+5y#_GQ$T;x2R%iTT)Rk_d=BnA^;WUv_Z|SK($AgD66TGdopAqZIT;r~4 zp3Qjf;a`k&{V4^CA9@xADhq8O~ef!j#RRY2To5mJCnzw{5);^kYjp5nlMm-p` z9O&Drn^`&@R`rlz+CzrluNdwe?$x@;vTq8r5IGcGUNFhtUXiDzRArQnFz-uFw!F}Q z!^$j8O(cIZMkq9-EoSfd%W%8W@8;U)!HM+n{Sgy2e>8^bcJmdgfr$5_6TOe68Mio( zic6bo%Gn+8Tbqtq`jP2wFTC#4-(z7)O&ON##GgvuwqQeUyc<*)R1=k4^haF7tye2cOjU zH`?_x=lr`T)IUvL}m3C^NROori zV~LQ7&GrviXap1$6PClRgv|OHU}FvQ+2$Sor>npbC#&7do-)sGL&dh~P=7f&^L+0_ zigFuiY3%s;Y$|!^FH;}efcN+k`c0dHL#%QUCFGgYjY=gSVQocHT-1kz4r3MM@wZ_M z*m8D^F`!xGV05&A&F(iMavl6Do(5fVMSe~_Z>)=5SUi4^f}PXJ2LHR;O>4%N3fiRcw(}jOscrEA+ zmo<|&NzJ&Ptkm#sQYS`6j)32)4RBcachA;mPQQt)A_hUiVEja9;`8T!8u%26u5?rc zyjU7vNzk|vSFv22QU6!OhVV}%YP+^a&b9AwwR}zF-F)>i8p`;ox7(trGUgu59IQ28 zX65inU;7^M6(j~p>NT$-R~sDsybwL`$0g1PzC*EOOfd_y)Eah69~MXX#dkKT9m#h< zYtu#zDBG9}rGHsL;i^ghhT6{G-_`Q|Gs0*fu%uqDACbtFF%M#G@VM z8JF`-2vU}=aaZ=`~2ZDGeu5Udew7^33@@y7$OOhI8K%>6` zIsC{x8~LQv`~X4$6ML>{uVMJp82~WEIZ(hGz%-7&Q&(e5tlQ7uvfkRrjJSBxEWoX; z`QQT1w#R7fFCda9u=^A{sB(KVDYGPMtrzAn(Ygsgmta4sh_YcIOcDNUNoP0nr_2%)iZA1)o$d(2vTdM>TNbQpoBCrZ$kkep!k^iO(UPbTO)ts z(gljYmG{}4w8MT~PiNkpei46)GcQ}Pw@v4sLmv104BqP@*#h5y&{A0YzHZ*=v81dB zN}yHzTlh|k>iH98rP<8BpF_Qak)sqnFs^DQQ#%93HNNoI?RXaZ-rj@3b$6~X@$jjU z!pep>4W~j8THa?NUfq1^MunK_J3$r*+?Xy-MFyJ10->klT!o__r{O+oXSzDL{}MT! z1qypUkC3ySbn4;V8mhFI-vz{r# zXKn&SBBVWZO{yGBwEw4wOz>%_n<7w@MchEM^J2*co5?}2E7U~2S|^yMEhBEvm~ZlI zeQu>4TP&Ve&^+?kAZ0TIrHoN&k|Tnj{K=@lvPAz1n3i zHa0)`bn_nq1zL^J@+%X@*!QM~K2&vZ)7I|UMW;?VrCn+*#?u^X%aitt04Gxk_Xr|ra)`Va&eRfsrdNAnpHt?xQbQBkoalV|>TusN+rurk>@$2#p~ z!>&u;Hk(}jsdMN50zLAu;WPNo!cfaXJE~Hh_Q(4+dmi9nlb`gm7k#<{ggv(ZS0QB( z(^S;#MoSgwd6rBabWr5VtE~Ln#*kZ|drQvjS6fctDW_7c*qe8E{iVet|0jZxz;>!c z0NhUsv9adD>HFzJ7H_&Wnw<6H7KKyy|5o3nSSR~Emj4>d0!dDBdxa7I`|{EM`+W9I zJ0D=e8)>_18X;F(pPd<^B+;EsIG~H4vNkNLZi+U?2&A-Wg`&t$H>@hr{pwzcdW2P$$R_xoR;Z*9a1{5Y(#>fM& zuY-#Jf>6sJI8f4;!dAe=Z4j8ELjZzMob1p;$1?|gD+U8MFfcQm2Nxaw*=zWljreqB zm>YlmlkdH9<;fHA*FZee{{5@_i~e|aRd?PSe~2smh#!&;BgTXjH)2ezk@Afg71A{& z#)MQ*h%q4*6k<$B1;sy@kO~ShDx`u!j0vfr5M$#1y`Z=uqE@3Z#GJ;-BUP7mzJGD; z!ISH<`=2yFDc;`BU}PsJKhEJ$L&%w72-jjm@6Y!Plz;x^=lzX!TmCq!^AOW~_U|>j zA5X|^49DicycQWo!ciuC@qn&Kb7{udI8sq5;@}yfza_(GQ=2d%Lecoz~R--><9P%G> z>63I=zdv@3xsEZ}57z>Lz&2S4m<3MMjF;p+A;0z}+(02l5JvMY-oOuT& zdHTXB@Io#|^7YmTs3A3Bn4z#xQD>G%kY_1Buqtf!e3waK5vKb3Yz4XJpovKv#mn=< zDxZkZS>G)UhtnMcnYj`naDs{IT{&~xJ9nK>8XnwtZo*#}_+<1_#At}nL_+$lDUYmM z$KW8r2^k<&-R-(CqKPW{WRR9i4>$05z*g>S{-6--QeOO76_6c`an#F8nV4!!? zDXc5m^x{5>xwDSTLV-&fmRPBYgupP19ot6&(SB6H2kjOvZ%W{&@#>ay_c3oI?PyTFxpP33%;n6RWXu6i_i8Tf>kLo_SHP~^p)NVM07ofLCu zuq0s|{TSQwW35xQ8^EBvwh^bin-lfOyOw^|etj1&!u|Y0C#PTW(2S9R0rf^hHie)d zi8t<>br*q`fJzVQ0gEuew>k%gBp3NbzID6(O)0u($uJZX%o8t;zw$S=V| zxIOLdfkM=^D?Ih4ug2bIp#eCu0l*phe+FmM-!U{FLb*Ba^w%?JHIhM)Z)DZ|(QenQ zSdd?sxRdP4Yet|68*>dsV{iN9r`tQaU8?jin$L}%2o+Y#)8I?&yqS(%@Z4zh@=9H7 z?+!F89vP6dKR>HDmwe9~>vx2z_J^Y>Z=0I|$^--i41(bI6M|#I&)2IrCqyUdByp)O ze(chgEvO$QW23shnxH&gna_k$Z-GEHJBvc@?CS4^L_hgu5kDi|B(?oc+mx7 z6>gi=lahkd^#jf2r!F8qCMvijAy_J^D!OA@;iVO92qXq~04!RtOgqcra}LD$s^+Yw zXkE@)WN>hBm#CI+jJl8AMIAVhn~{-48>Br%IrZUh)3GkI%?WScHpjOVL>Z$-`zse7 zOEQHc$U)XoMTqT%g@yU1zBJa;v#qDhlOZ(NynkW1Q4krT+N0L*#0ufnO|V5FMSy&3 z0I3kig2MeL?B@I@&ZZ?IBM5U%7S)()o|hy(-4-v})^w-740G#0on~BL?+40eWm8sn60yW$Wj1*JEZZ5+~PIP1XYSUV7_PE|48yA^vd%(=h%!5|52SxrcRQ(VR zyti{qY+4Q>wg=PihI|sJyTC{v+PTbH>XKw;q#WLmt5>Aw5$K%`)b5|*6A6PsW8JRg z%1W+XV=!AcUJ!@5paa8tN7ARc%pUF@88n+pbp+dY3r4#usv$HUl~Z=oI@aX2q!@Qg zbF!^5p6OtEczR|+@KZC>i5P2^xf`#)xL{W&H4CC@RXfk9Y-o&J6!bU3m*ySNn21Y$ z*;(?VuyVl%V{O5whn3yx6deQ>AG+N5;hTejvj?d3tgWEUYoy)Zt^akQt%F~wDC+M+ zM~X4Q7Jz!0|mX6HGs?1tUv5bk4S>-)oWB>z9f?c$VEFti|&!6uU1`C>v`&!4a+(~mmi(UVHu(MmCO1-n(@Ys z2LCa!#a9i5G)xi+Ar&)ibQHOoMPaonhdkR{QW~EnH=0+8WTuXWO%S4%7W@ZoR)^QQlc15F@T};MNCvg*r6l!ajO;K5hb~7MO@g3dW z*t>U~dC(Qi&XyQVO$X(LtwRn}c;SeIgu^d50)T4pR8xCa*qGzo;C$Npc6`Leash7- zC{foM>l@jC7)LCVajBvM_k#q5ZlL|F)^Z2pln}JKTD#Z z{b7PDbK?z~C@)lG2>a+?! zD(Q>LvP@oL+jUT6So*nCBWPBvPmh{5-MonE-8*}&FZ9=QR#s*3O?Nkn6^Z=hxj7Tj z0Y8pVGjIE0bTsp$si7g%DKC!~8dBa7u`=-uIPy5$kC|-k25ZWUkxxp(f*nic=u@_BL-ZD?u9 zSW>)R16OLUMGh34y4wiCVlp9`!dC(GVz7+F$Thb<5CL*7(+Ej2hm$MOBh9jXW@dxa zQ272mm8DFes?xWI+IO&w4EISChPe#G8%-$f)2D<(aB^d!b_%U#XsNZY4+b88|9`Bn zr|+{<^_Gn{+hamw{jKV8jaD#?FSvkf=7x&9C<<1VPL|qcE{XdJ;tsB8 zW@=@ksi1;LW^O22A>xL9G}HWRzVExgUpLRam&-ZlJ?CAX_j$Q*X>K5JK=c3~AD@7c z;dN_1zC(CEzI}`P_wugn+MGSg`)^06wZS#M3ZnQNud&K_;}^|9tNKXNY*FSP7dUa!IH>!;0IjISn`LX^H%~o z_aq+xzP|lu^!^&op&c0~et)$c)3=r#ZSf>p`A>fSmh3iqJ!gZP9lWH)84rz${MMQy zDt5_V?YwO?xE=}%6uVTuG`{oi5q>{SF~3aIID_8z_1XJ7J)s5;G~A9p_`kb+YQdzS z*CX0LFI)#cx5PNsm!EL>dF|!>+ir6IYu>t%3K$Y?`99k}jz9nU^>)bBbm4#R@bOt5 zzJvYQ%9jmr05nMMu>X1Kipp;Aj{h~qh3}OAufca~;N-~nweZjJXMTY|`QgZ4zW9iK z)z7bb`G=gi3%mO+=;zz`9{=wD^Kr}TzIVz#kWUQ#d?nvs@xOL`XR=JXap})j@>z=i z+WU9st#9GJh@bei_wK*;{+W^QwO>Zdcm3Kg{kyV%2k_sa@bO*I`*mo!L#5suT4m;RI|pR8!R-Otw)S(72y-JZV;`Q9JD4q4&ORl8ribjxr*{^!fiS~+5HKbw5N z^Z)v80}1OQ&`-JZ<*GpZN2>Bb&On#ukc8G3%|>Fwi$k1IbxNbO0kw98vB6ZQ)X&_q zoZ{IQ!tqtI~UE zBC0DJYin!9rpDnLW}>P=fxnFFOogaEP!JDwsle^D2-BBR;@FQi2Hmn#!> z^t_jQY-x3%h?UhVzf8LUx;)QL+WHY`{|f&vL+87L4yy{McwGV2Up)mMm4cFYHG2Cs z(V}z?x9R|ZJVzg_)Nn?{K5`!}&Hm-X9}V}!l|4S<;xaa}^y2?{t?bD9+-fI$ZZ7ay zE$0^MT(h~>i*xFLcHghY=J)O82Vqc}`phMT*5bh%!ctNN4kdwiu))Dfi6%i%RPYV! za+(cW_dhcbWQnVK)e|@QX}$Q@)xo!lzFrkRvm&m=`f{^3qiLKd4o2+FMn7(27L1H! zMij&U{JH&ZNelm0sBaw^HNl7JTiU4qE+;gQ$`tx#x$&ht`8{Mx3Ax6!nAUTB{8RaH zqP)MIINY$72!E=#_rLPyyCq~lVfoA2;xm{`-wp1?EyZfD;Ig+mZZc^oKW|KOstJB> zaU#%ft{%+%?SG&C^^at`BmuEYwhW8&Gc!_T8$o38xoxn!H@YGd;5T~)woDeR^bh1U zvEcgVdI2#qjJK$OgLy3o3L!Xt<)-3L>yo|icB{O`?E5Lro^O7U%%CJuB6iSLHvx4t zOD=N0HyT@f=gy>I&!&1?jx7eS z3H^T+?FCuokxbZ^M_cPJEL8m7fi!KjoRn)46vW0ylhHCfMPrGZT68L4%4zqnkaA>Q z69UwL&`6R%wf=rwQ@b5(T(IV-geHCZHsVN@D)(qopB+YqYpdFrfjIS}AC{IAK@j(Q zY5Te#KVJ()=KP}D_+Hx2wcF9RvMx(p4tnDo^-eQ=2_Lr)RXu1LyFI?^-COn2EQC3A zp0-GbUD?RmLMqSHEnuVTLX7Y_)`-;p z*fW`z?Mwwo<;M#~)JoLry?)~(k;rR`=c4DLFU3IO%7`&R;s>A+4 zHLhDJNw9A3Ox%f)!A!P&+EYcC6wi46ee7PlI^=UeQ7~Cro;92jH$>BB2)frZK!r=Hu-97cc#QD_`jQ$^sJfBW!WD32qqv%IU>E8)ECO zb!2q1ojkQTTn^^b6Hi-QeZcIlLpBd=25nWb&!0S*Onr0=bL?6L zADZ8$D4g}a1Q*zSKum)jS4<2jeTU8nB|e7I4;CIhR1}Zre;AiXKFRW07;Dp6y3|?f z^3F)3U@C}&Aq_>}`Z1)BXT{Cs%fEd4s5WphmbmnvZL=yXKcW%M0CCqU_#FyTHESUB24!@2irc;tbYX1^5S)&8fpN4 zyD4YX2?h5$OE3yJO-fWAmFFw13Be;u*fv{*EpgHQt3!LuP@e6@$c&a2r+Mj=}{y2V>9$A^t8CjYBT zWlxW+BUZF&D+Sfx4FIZaeBedlY^9=W#j~N^nl=F2w{92~kuu-1IB&nyzuaf<`>q62 z7tkXK)6QJIo0(YVs0;AxYDfi7e)5wY_XSL59hC;WE5$1JY3gAu0zbFxy>EQ#}>K+m8{RsjJxyHWB@gK#r7H-@yuQebPl}h89Qw zb?zHgCt3u7Zj>K>A8^eqe0JP+cq>26xd2iMX(#JOtx@ovm0rk3P!6){`n=turBbZW zAJ%PFHBYiUP!2ufOKP26-Def>#W!wv91*hV2&fKLG7fS{J6dwdawfZXDAx#m12x6x z_IXNTU`0aH^Kkapufb@rDoLU2vY$2qyb)0z6jzvMiBXmkPq>D?R4D4Qc+Zl1#V-m7 z=}qBZ>V7x~K^68;#(gCf{u$LRp|Qt%!O{T+zt{mj%d7)}_~h7tR+p%0F-?t2hY$NP z>WF5~vYzCE&IR+#b7kSPNDkgEBnwr~rSL-|0YqOfCzNfG+kE@3C=kxSS*Eqwa8Sq9 z#+?Lz3h6BC9z9dG?a2%?rtXFE9p{T+QVO^m1eUpJ?=gTOW`0Gk=U*id#@J_sqFSZ` zmCq>pL;f!j(Rm^|X$uixql!h982w+I*bw+*&dVRhKdb5&!^y`dYjSTd7`FK4!(Rux zN37U~MO+85e4=9ZHarUm#r3O|km@Eg%}vachj&>x`_!wgppB~lu-NR@7j2GGThX_t z`$lqgqlCY$98eN=qQV06O^`!ZnVPEMa*aFHf~O=j3YnvtOhaR1V_OJBUK1VJs5$I2 zwGD-J6#Q2Jd(3$P&;vrW{GY!7*Cr2E_(!J=92R?#@I#4x+^zSY$#;}h8Cj=QF;XBy1wFI08RoiU)25uTr>(bcxT|-y4wCHLqobS;IbJ*9r z`tpQC*z~tUpEW0SDfOINwPTB)4Tm04!lC6R39z9#=NDFu!e_6ptSkYd7h%vgznKVQ z%o6wNhp&G+U`bhGrZ{r?F`?yh@fTj(W>kAbzGW$COhfSX!Te11D0iE|_br15;;kPf z|EtO>b(Zkfwh*>1)@$q%wq)JQX+moU-`TFOo7}%8^YVW3ul6OkhG+cm6(Uwno)o-q%7AE5>Fq%VptPuoZDwN4gx@#DqH;lH zUyaL!OIA56c!U-M8*hfK%i z*#)BRuoe+_r_I~|ze512AdeO{A>6cxd?(Ltu$8K0vhUDTW(gmkl|&z1>hB$u`{{^C z`p;N`FRMYe@Wy;|C6VOUN31HCq#{xTEr-X?jDDyNEtkVXX$@cx*DS1}%z2)#;lVOE z0Js5}Ek9`f0Vv&67OXGvbVDN|1m*|x4Y|QzW^7i4c;>iRK|9cWtY{Tfrt#?xAsRKj z@Q5h}Kn=@`uIL`};Z%G%7;Vde{T7*5IHwVIcJ(@{1XNqRo=qFXLP02rc?gzX$#t6d z()QIYJg~?5;9ZcJG7DOza_kpnn8Vv??;OeiBgDQ2;{Zm)O19xWxmEQV)czuW|n(QOnGhsPv%ZBW}RJKXB8Cm0VuE# z<6=F)4?dX*AXGcH@zl>=r*Ri~3lmtqx?N2dy+Aqe#Z7}wzy9Kcbr%%}duNgbN=#_K zEMW~^(J26bmHaS*lk_246^|>Z87ZwtUNq#G;dLh~L~zUa94b9ZNnOD?Gy zFkz+hUE}UE;a2k(!@v72H1eg`R=54+tocoZx`#~}plS>=#2CvA-#LE|{E$Lgsz914 z04xeV39pL_%MtFuQPFwvze$vDIS;&E;+NjLVG0<>*XD>W$firp*XfWpt8-^?r|)-7!S4!*r8+RS z(CkHh6Ek&q{KN2|*Jx3vW@f<80Q6&|^`bD?6%IjbuX5@mY#;F_Xmgh^&$2*uvQzN@ zx?fM1v$5e{waV6uTXDoOsAm8L+bb4<=`4GUd5mn+GMKlIt>n21E_!`uA;V_2lU`-e z-!HzoToG^9vL*^Btc!mO87jv+%QD9v7f>rCF@$F6Zb1B4KhS=={Dp*sSU36xhF__T z!?>Iji)dX)3A8^y!&XXl^e{~&XDTHsDW+!}BB}@8u2t|U>xqZiG2y9FP~`)5{sCyB zx2jFP#JvStu5Ya>b1Ow9?#zYLlyt|zOqWxXoBa* z7J4ENCa07nVr8<{yA86*E6hEyv-1YJ3LlOW65CuNRj5C~jhA0v+4{?K+~%D-#s?_E zALP;xwH6n|)7N)tq9wDVKOaPBAn!{ElkyB~xLb1%7G_7(j<%CKcxE|d?h?0+9+O|* z8@=F9vaG!N1i5Ayi-V*s?sb;~x4X?75*pX{hT{u%emmsDy|c~08RU>=%Wk`Q4nKx3 zC5a7HI2q4MRG!=iCh@=mxNp_Pg{te+GjpvKoLPCz-_#G?!GiJ7!8F%C+24&Jp^#z? z7{t#YyODL&@9j5W#LZVmN{mpi6o`;H1s9#NGBaYFP3$II1v$@zx-RZ{Yog*emU^j$ z0T4PC&Wp6-WJP}}{N}*G@qh#SY-mw4P9h9VGnod+;xJ*!u$MZ%Ko@VIQnY=t^*iM{ zX3oO6F@){PndQ~l;}owM(*`#2Yv25IvR>?|UBV~8OZ1CZV6i?4kBLcYvOuK~cz#Um z-&^O_1)abCBMUc-QZ%t1?rZv3?qCxm@j*EGIE{I>reO3Z*u$5+Pi7cY@m9)aw64Jt z^K~@AB%l)hruXe&n$UBq)lHM>z-oe!$>P>!gr;9y4c-=OiK&*>G+?zkmT-yl_C=jt zas@qZw2dw>eCf8b@Oo(SXdk0p=>e0^^I}xF%=sFwwZryYLw+84@)rMTgi_IG%O~#B z?=R+zcG=D;lh)B1Hdp}9KR9(-M*OKI#yvUgwk3wYtf}2v`B1zyw_4;pfYok^sW)$r zsuhgQXm-9Z1d+vcMb1ahryFCvBx+H-TV8lJo}-K1v%Or-FnlvxDkl|bF4RTOYt1X9 z$7p^1_(Ha$Tl~uLtg}B>EuTSwU)mr|76TaD?h;*@rb^Au`_?Y}-%}$p1*#5zcSdgc z^)6)UyID!3`y(E{b<+Syt$T}MZzEYcnu&{*iq6IFFLf{47pLfTk|n4sjQe!6fqeBB z%!fnedd{fe@pHz8T(PBvT1Ws!Vq%>3nm1*fQo?`KQAk!cz7&{6@Uc;Be*VXKF=5=3yMAsi&!+ z`itV_&?wL@8Y^wf*e~7RTh^jX4u3T0N~l!ZReLSwKG44Tj8VbTSR=)`@g&eP={Gay zTB^BWxcOqKf|dr_lb^ciqNGcQve&~eYL+>BRPMY%&No`$#3WJXlC4Rb<+Vd?&Y7AA zG(VPefNq4{fQ5ctM0A}cq+HYLqD^(goPFj|N`iFWZP3bW-Z+sf>{@lnxYN!c?s4B- zZ8ZE@6`|UpKvA^V>LBw%si?g_&0m&@0NAXphST72jo&VD4Kdz&ohx@sCL`3PcQbzP%-$PW#5jxG)D`BbkpJ!9Z4)olNM z@N?yJAHNFJMb2=+Q#kBw4>Fnj!QQ`@)(WacEtToL;GX#;o>`WJTmrJy`DO`~Ixsw>kRfQUdEZU5fx^m8g(awz1Ec zKB4b`&h*ZZTAa^{F{c$~fv~FA*6Mhnv$0o;2RpG0FSm2;S`tQaj?zP?dI!~E-xyXU{2%4g-@S6mOs)J>@X1mv;f(`$9upM|7hI1 zvVW~`=OeiYLmN%mQ;J|4SMehHR@4(Rwd~Hokl$<6I@fs@>7p?nwm3)&Cr!GvZ4U}9 zzmIYh4eirfpG*)VyuJ1C!6HdH<&c$TZ6*7u3d6oY1rEX2UnrgbU5m9$VC1-WTb1W* z=5KxbSeto_*nVUvKW7o~*(GUKLjH)&g%LQbgTrXvFz~I>lyyF<24mD}z-Av%y!J8; z7{t(Ql2BjM19W&5J1*sn-_p3a<`eUPs3%R~3bZv}^4L94>kX`g5zenLD0oiCD)oRW1$pc2#>3KDNGJhvAVgFDE6!Ugs3hG9&vMc@diC!p1Ebf{Mcj zbAY2w_pD%B)J2AR@zo{w_1+HYaHF0#dF>ui$T6+hEXk zM{bp?8T{c-!-1A`0LCc~vnNpA4}8#D9IbK#=)$q7s3R?b9Kt|IwLU$(Ss!tDZX|37 zV6ko97LjbS95WBa9@7EEM*2J~_8cvHweXc7{SKMfqN?zo^g3Z_7^~RJkvV8+Lyz7< zck3U8C*RZF_n~1!$~J1EUuf#zg$-15I)22-E|OsA(Y7|Zxfyf1WGKA5n}=hbRmg=L z5wSi!_A~eL@%qgW>=cL$omu%J^-9G1J-vAT-T3y|dM`9${oA*1(iNeFSd~0GkGGrh zc-V~#-BF~PfIZi+T|^0WP_2LSw?orq5wuez3k$oBuCnhQU8YK9f!CQ~AnQF`qs$Y5 z@~4#fLOy8pVk4rB!Ic@U8OlBHHN2c_lSau49Sc1RgA2_Ogi{%RExbEDx{d_5bLj26 zh#pQ&W(nU8Xm`nCw;Y>3%TQsa*_U1a2vv=qnQxrXA%|P(V)gOGNv*Cr;#=j#@Wz?L zH+{dkLQ{@WE|O!_jCHs@N0{TCdXJyslO@X@E45V-~6@GGG?1V?*rVLH#u z!k_31aI2x>1c$sE_c{&zV~f{0xLrwutCjheTOZNZH=V^G;mh2&SJ>utagYlA+#9}* z*NoyFRcrOs!oBaz0!giiJvuBLmpkWAmS>9XuRp@(l^^=35W&_t6|Shr{Db? zFa)j_cyJg3n4ZT`p#umheemKKU2AwYpa(ZyP-UTS83H|3^QodMvnh=1cUUhb2Y z>Q@y$%-IN7nr*qT*bVpngln3gVA-}^mDdz=?#-MiahHvJUWkOt!|2o6*;1-QL`l?X zdbV3TIc^P9ACe$(FN1->qy-LpOUaXl`s|)J$-7i_ay$50^+F~h(4+?Qx=U*vr$Gc2 z%^SCFU|9}_B+JcXAN^4|7=5T3(Vg%B*J5~B1}r4Cnwq`;UbbmxbICIOc#bbQrldF0 zL~%Pj9bQE3taTj<7mRVbvFgj!?3;UQUrSm;N3-7>Orj7;!_kUkd0X-e2a*FSlgTvB z<&xnVQ^3f+Wllew!+7WBNh()bA2zVs={C7t`Zy&%&b%1%DTf|uV)Nc3N9XD`V)FKt zRIGFBVIb=BMQvn1;aTc&xeT7N)0w#?5k&&U(f4%U5i<>sE0PHk{jF%-qw)qi z1J;2dHno3*1dT6rxK2Z7Vw@Am%0JMZtQls72cAVfH}W1ozT&k_+-|7fx+nw*PXq4a zmx!JfrKZXFe)#q!`ehp1y*<>lOAj`?lwF&9Atz^f&ICmJ8H#{zgxzK(;xZ0;7jv!9jD zCLPlXb#1f6(E^q(7dE@5yWaQ`N~G)0wZ5GONR)NETb|va*>zh@o%wjj zZI1bAwLe;Q{#nGbclb+PV7IhsO9T0w!qxTnl#f4s=0Yz1GGZztM6`3d;shcQFe|40BA1ei4Z zL^NN1MLRt`PY+Z)rXrg(r~$BRRxmqI*RYxyQ8u)`tgrW61bR;obY_GS=HoN`>=SB3 zwq@*caZRGdew}Hd+x)pmsnc)#WlN?PG)oc9f_Fi^Bbg9d>tke$hajM@ypkJzP=THk zYMFrARu19J2s=Elow@bhJIK>nDjU>LvAY)I-#$e|Oi3kXS&ml+sb6erIfR+E^~y!*m%>?)M(NoA^b$i5;h)MEOB!l$FH0y06oXuON+8G5PsXQwsBnh zvV#&dy+Z2nS({mt#Zr^_J$LkkF2zfh1aeCP8MyPBhEn-Dbe*azdd-hUikm)XYm(@P z%nawaZ;MJPnfv_o7=Ap5~weW>WFiaM z!u`m6Shi7$dsAp(?B?`5x6(LLlDX9X#$EnoYw>a2EX1B`eKu+3by{-x0%-OH8xxUC zG(nN^)v&VUalaK|-$<*+hgV6ms|s@dRr=#$#VquZRLTY(3G$%KaT3y8&03( zveQKN&3m_9wmE~ccEwqL0(?sI=B0r5HL{Q!ZvzM@k7EU*#9);jW6)BS>i&dxyF=wNB!nN4}qJRi{M#wT=`)yn>JRQvIWW-LO#AQJ1;SE|h~X*aOlv z``Kn*t~MM2&}>W=RWY)H5U!IR3bYmRqTh2$N-oFc8JMdbM>0l+ZjW6il|3yiJ~IrP z;o4PRtpS&j>YCVo!Vcv3j>Eej_2OkL!8%%H~qjgq70rv7Q z&H*CoBbH=~N#;P4=BBchCTv4Z=v#haCtO(E^H|;t?4VJe2gQ~_=+c%GUnWn3yqh~U z8gnXI-mL)40})LhRuIkXwN)j&BAaW}cH@q9DTJ3b%*qP7*8Ck9dDU(;sCojZct!L; zrG|IATM$4kuvLrenabF?0!-56P$@%9*I-`l}0?!NE~oJZeiZlSBM z*6V98F<{a<{Z+{AfdCz(O<&6TwaT^&x}32u74bRSim+CdfYqq&0mVuLxKc|;w{M$m zLQ~(Ahiz?%b^DF0iY*ZI>}rceX3=(cCV)kNXlR)mx`W@?KcoAnf>q=2`xiiJlsdMy^Eh=<+spf|vWSq6yXUezj#4V>Ko-9xg_)lpfyR(4 z7SkJA8w@@5sKsm{|KZ1vT@vqlJuRNNQd)!a%VA1-h}l`xXmx9HFs^qeU2+8?&wfGG zgXU#7Ip&AX`VqTDxi7Vv(19?VHv2bD@N)APFK5ov4R*Ik){=3v%s&E3G}!aujTg}+ z_k&_v880%g-y_g88$-IV9dIe}BmU~?fPa#Ze?LqzYb;jE*7)>9hVV<%{#e zj;&s65gW6{m0kR31nf%^u(EQ^EYkj6W1X^=OY;@Z35z!>pGmz-Fdte5Ts%LWUGG zz2_TYZ3EE3-oO2cxQ+n8r%#fev8JS#$xAR_%0nK@Wctngp$aF0`JfkZnCQIt7;_jM zg0qtrzk*dr1$BhVEPy0#_GTX`T^zM2!BsgIyi}hyWYdBFJjL324`03Q?%ARw9-6h)(?HS6@iZxSBhP}=*jTMIyPGk zdMosoH%_cSF9IOQJA2dFSaSJj?zzF~kx>r}+TIVa`NijK3nK=$Cl1pd#p<0@)Qm_4 zF_AR(dnaJM!=&r}-P;K{MNnJ--7qlMCcr*3znt*6FU|_Qwkb5dzX&rmil0w!h>2tB zr8UEY|NQ)-cnHLs{37o#o|<6LD97gsPxI2ha#d6D%-LW`y!- zNTu@(xlS2)D{ac!v{!U-(gZDB@}4|r-gZE%>r*-;grifY7g4$*4OlI|1`Gz{KLGG@ z2&`jXDkjcLBOsTlA!80+09qwM3X09r-8Zb`c1Qq=#Ub3Xs7TJ^arj25Evu55%dIhHnVXHxB<*me=Hqdp0WDOBCM)DCCjyjLnnm zA++lxY))aFJ})(`0yF~;Sq;~kTR(kBf%fCx^$k5ny(-`Hl~L$S zs`$4T%1fFsXIE3xhfOeOph36!1O$5@SjCH&6Z9|#g$HFbr?tGFKS_RuNuxc$l9KhVTmiFVc(Qh%jEUq9***wa~7f^q{->FnQ>O?k%TM8(7=eiP>ZcS~m3|m*SMRV;ebT_jABoLV6~{_8^jnWrIE=sw zYxo*+ckjvLWIl7kn~4Bq>3TY{q6b?pkYNQa*TkimTA3gteUNJMO9l%m%4Bmb*+}oPV_kxLlD2>hol#c#N)iDuJ{$*mi%2L3?1g*| z+Gah+a->>Z`+ENhilA$EsKdr9??;p_yEkpUDvq!et|I|q_hMhWE$VV+TdOhB@c>w# zQ~_OE&3v#`yyQcyWRd-hcUiu9ufRa`NVdl-`^@IymAEWU=Z4@|1xyzx&$ZJC&3@ z=r@}2E;T3CL9>3whx<+fRILU!5xMF6b`!e}9X|@IFz4;Va>v06#Ca_Y1{7vLzmxe} z_e&$TvdP_E*OwGg#UY=U!aWK5QfIV!JA zsB4a2=(*OsBw^bAmYGy3ee8((e!E5rWF$_y1ITZmGD!0l7)avr-Ra#80YglC#u!U- zU;|n8CTbx?>$1b~2!~4nfRAUqDXo=Q{j4RawgT2`&wH-JK1{t{9M$%@zJOS1Uxt>k zu=&MMuZ%u_4}3tn3y&72sfWRJiA0(M-%f}E4(_(+@%2=*;N@~Scu&WCR1eMTIfd$R zVqm5;E)=;CLB2p+->A+MC-#(GUHZ;d3ACKKscCgLG&$t*Y(3{;l4f@cpj}v@wTXSYZKr>xLX=y>x+JSU8ofRqQmODYR{E4*eD<-BB4p&o(>zu|G;|4G zn|%<-SuEAu*0v@TNTzs5vs)(Cd#8}4!3E>%si7`XL2dek&1xAl<+?GuDx1i zZ?_s-=M8C`f*QMN1;WG7eV8_;-^7C^Mt-ykWZ~3|mixGfvP$s6(linAsL`)e zE7@?sVkxhchj)LF>J!VAIz(_BKGf#AR9QWkIvcsR^^adxYFImi#Kfi`+6*tS(Q*n3 zO6leW1~2lI@u0@7?@(JURdr1oqB`C4M>#ku5IfHy*v${e*Q4zM}4E zc99X8QkLn{@0GiVm<%U`*ry!cS^AX`L$!gkvL*8pBSBhvm0H|KPziW#Mf2PVEs@`P zigU`MUAIsQ>NPig8ck*+<6OA2hu8wbk>jOrc?%*ZCyY89jOj={4qhHyO8!>uou%qv zPie(0{Vw3+z0s{MbUyKjdFD3ru;vr0;xS{iW6?FEdl(!UolgQKr8j)GR3oXV4l(LH zT+0BL?dvi+m5l!~QjxQBo|6xIi|F$m!$^~w@78-=OA}LpFBr0A!;%}9WM($imL+MN zunXs36t@aqF47T1pA@zb;|zK%X&3ojOU2gWZj7b(uT_6+BqZoRL^`O#&P4;}6Nhcn zF0U(UMF3YDpx|%S`rBJb+H8ykEs|P#XJ)-ZcbQZ2;NbbRxUOC7`I3EmTUF2aE>|uF zj|)vBf@`5%(lN8JagpL1>(V-9pE(_Gb%rE3ds+v3=e5J*ixF$pUWzFWPYJIi1poC7 zg*$g!cgL>Y=Vfdl7;n@ETJp*Nhd$O$ZWY1d3DWi*CZF!6^LaL&tHX%?vEp3f@}vnB z^<@3G%Rn9R0T=tES@eA1QW1D@sUX^bJuH<&a7ZD*@A2|OwjMIhl^CR`ac))+q^L`? zyDSyX>9NH`%xM&vWtwZ_vNKUm1_CdN8%Rzz^D?pu6=QUW6#!}nCiDfCJ)>CpW!nkN z$q&shAe*M~yd;i=&Y-uDB>As#~1DsMpc|u#3fJw**schiySq=mu^!m@C1DQ()1@&$Ihw$u_-j}hOUC<+JTi|< zNm`1gMp5A&DXOk#@W~SP!aPL1IbmI}?P@G?PQG{jox1DTi0)iW~^jNNaR_J?W zn1F4Ml=UJKgivbI(Xch!3i|)@8Rf0FPM>Fs|5I3!A#gv6!6p| zF{5(+`sCqfs*5B5qTn*|s5c{1=W@xpz;R4#YS0bhvE?e6hXma;wQaj|uVR)q-5-LL z2zV6w@>d9K(gx1H_gGJo>c@K3{^6Y+>VF<9Xu>Z;CLKh9U<_*I|JmK&&*F;TYv`Dmhuj7$?+_q1k zLO{E?vn4bhH9w57yljimfZh*Tk*JG4>vGMyoOpc1Sam$~Iji*@SxoVL|NBbvXwjaG za7D3k$6XaZB|~UQe|d|>W*m=y)#~gm+gyZ>+VC>2M1gRxKp#F!^e;+?;ci4d4?$Bs zD)sT6v6XLK&4=@J6BbOb77w`4YopOTdYWeF0&|>Df29hC1fgUl{86>bp4gGiB33UX z4o%FGf`o&4#40FiDan%V+nE3|W8q;P<TAtx9+Usryyiip%p=X} zIxaTO>&X+a1roNm2+gS2Q0%}rEYVv-$+-mY&&Zljp`|E%UJPl4EkvIzn>eSz{9HHN zje9b+NMW{o)4#(C%<$OmI70gRgH7-(sq7>u>*F^cL{0|lh0Z0N8|hh}xb<-|Nzz-k z-nd$~iNl1|Z!e(R3^_%+%53K`r0@U5)-9d*VuDY_gd#`Ytt7{$xlrfQ6F?~dAs@rQ z^!(4CBjv#jz#b7VUv>?XQsq^GhmI92)z37X7*6#126B#8g<-mj3+=E6ii8zT0LzXC zkeXqFB{-md_<{JYE;#_zjX0eqInHR=Kj&PXC&26ze- zOa6zh-10?8VT#dWLXlM}Ym!kku5&=tFzc>lb7r$@bsjoVNJyw) zsOdgr=sd6&G-Ty9zs}<}=Mg0%(F!e$Fj#B67oE6sn`?STp_$n+&C z8O6^M6DjGczaW<1gvmfpdvh!+rG0rAjnv&M8MY-q{Pv&Qn(qq9-lHR4;P$NLS`;g% zc6oYsG{W{$Uy2xduYk>hVH5HrhC&E!laN4Zu%D=`7q~~9@(dWqzEIq#mq_hp*K-E+ zbQo?1-DEPBN~6XL%s1C}zv98b2+in%@#ygEqrEhzKcA6#q*MW^QJa!Fvtbhp3sTAC z^RwRctIc(h{6^Ip-fnWV$Ua9buB}<2S)IA}vZg4PwRN*J2YDudx+tt}= z&qOD`tj5c4L?g64<4yTCvy`LHVv!Qfg%Dl|MX$$l--%+7A9Lsn>>BWr#~KFIIwi*| zoRGz3ek_&J4wu7`_s6>sZux#q1rb`Mt_dh813?5&ybS>a*qMIKQ@kdMn}SfHrr!PlGr8XP$a8+x@}FSBvL1tR2aPLmr`K9pik(D zzpA+*sjmA4|m~1$JA>@wPx@ zg^%)sfR`i{W%mtdAq!QpU03d-*MF2g{37ODcxjcJAFs65WsM#Vjb0?=!52t!%l)Bg zv%|5>O4rSbO8qfJJTlA!Ca@m752ad~1m|e#mB9QMP;iII?A_O|kBCd9@?iAfyBn8C zx@M1r_GB>7C9r^EOyDfKmKa!82nvocT2tnb=EqE(0r?mW_WRQQjh&WJD>IT+S~Jb3 zlw7I-7z;N7G(;IiE^j-e=~{_g9l{PVVusU$Fd{*K9X8&?wQGqkWhAQhv1{zK3}Y;` zc0P*khon=9RI*s~P8PJtZV*!HjWst;(TYfI{mE|scdS95z6vP{pHy6WgpBRk*R(dE z8pioj&wkmvG_Tl}S-QP3c{2&Q;K$uqQU+|X_pFC)9yUYOS<{J>Stx8|tu1$R^Uh>} zwU2#5iW?oF=wHNRqx%}1eZL!Np+$IHvF@wtj6`??v>KDsdPBsu7h0MUSVf}y!qsF9 z68si}DNu=I8n7xuz4m>%2U#oT4UKH0o1_exubDv6g2JfDNzWb`zB#7mGPE35PK+wB z3t^X$8S^3ErqF32PsC1Qvy8FhEz$Y%16iGyUNbK7#F{iYK&mGTzW)UR{dcgpjBUPe z-l=p^dB}VhttoT_{I2(Ht@7z;&<>)YKv-wH62M^+ITR<02MT zU3|?BAF*NOUMi>MEx{ImTPK8q0D)~jf$gF)0>$a+$7aGYMGv2%W}Zux1iUy@8iArP z`it(FLq6F0`m#y6SDPTi71$AnofTKYy{|27goLF2E(H$I8Pr?}80vnIL*CjH7lX3z zl*w3vVv6i4ml7=FdQ4O80yCs;0ysC*M%mwKtu;*#cIDaETVsYT9vThwQ$(z=KT_aV zJ|^f%A5=&ob28L_VaomgD)II9fs>4+&VQ(lU4NBqYzK_P@@Sar^KxmJC@(Edn{aWA z+dR)7sJr?0FxH{^+Wc_kV6oYYI&U7K=W=9!fXpoX&*3@E`X_6X_uQsPHNoQ*iT9OK z#r+!G>+jxG<6KfuAO@T}R|XktsLoUktavUDMw`9BPrOUvvwVwRbS%5yvpp9N*1c^j zbY1>;2LXK0ep315_}&?hO?4ql0OzATC$4-8KR$9^@O|?Jt4n4G9>v^x_gBD8yB`$+ zL3iZln#_Wt>RS8Wuk}j(r}}eu#`iLI`%-eZ&s`5hl?Ca=lder4s4F)Dh>AX%S;g_!BW%`BrN`wIRl4O7y&9=q@a@ zlmzZOh^2T&Xa<4<7x>>d@380X;9#dFaM^#5qkq?Qa;kCJ2;}qh=ea!1Elej%m6|c@ za*X3q1Te)*`@Yums0)ow{@WZqRax%{>Ll}uyu$}S4wI^U(dJOc@5yIf`B6OR9KQzE zMw(=X@vKL~lYyP&+_5ny3ALb?$?q$Jsn9*4p|M407Gd1Ij&2b>@;?J$`|B?U?9NEUrXKYNd@mmqtVfi3 z(xEuz$67kjQc)GtYU#Q4+m#RwksA>f#uzdgm`!=rPX3>d{AS&G45YJdCe@i9WF`E) znv(C(`}3 zG<&Eag98q~9!!<&;rz(+-^xF^$2RUxPXQa@MGV|Z|Fz!n&o`ez9{z3Cr(`-A91GV% z8;Wht1F~-HxUO_;w0Y_w-tTIlTkBqTFJmRvaE<#VYt5LqDQzbk;u+6|%teM5OQ?g${2k{I`+xnJjvunleOEff zBWaIiUFOntp8}Y*z=+~pv}HBvIx_Zab12FCWm!Zqq~ONSpILY(YduBE{h#w%{L3xA zKT8MX@au=4++g?U;E5ZZE+z`t71h)s|67RR1C-#5D<_(A_)m9BAdvT zAW0R43IY`bBav%7`80@_L zxiK{WKI^O}{?#pi4}bd-(i@957j-D?m134KrUcIsA<-J0osR+d|9aNn#qtaOLdEGu&h-hqOxLO>x_k5GBeU=bRL6JOoN*~nlN!nofM&WzyV zZ*}n2{_!g9Q~z%!)t{Igww27}>`OtPzQO?d#?~G1Z24$_S=d*wGWM>|_f#3bnIGgC zYBIEu*T3#n{y|g&eF6VpFowT>%YO#W$|Cmqx4(*`Up@Wn3HE3Imj>>CE)_U_4bSt> z=igi@{R(*GtIxmr&C2-eb$)dz{n6LV`PBs#v9Hl1zPjLi@c;iIUv0;KhW|&u5eH9F zj#zx)|MYwRxgD<$%zd7o(Ku!fme1kx7pP3W=UF2o54DS$lNY|)Ih*VfTEW+%^s8$s zW`Cm7JVx4{pnT=x{XOA|Ws%DrwpmrL-_n0q+2jvU3SE1{567ecW z&$GX)L|mhs6YtXtUBKV`M3E{tzd`>V{9Pz?W5IOXtVsje%xwxVYSIVMM@jlxNWN-bpcs&QFH z63u%!vY(kfzZUp&4(Ps~DBS~}(iOs|R}Y@!a%bsrJW}#R;Hs`IIF*f4QjeL+`l|fu zAJ)4Ptn%xKC@Qozt`CO(1dzSX?x;9yS{2d!F&WN`?9^)Hug=~J-jP_V_K)tk{PK%eF5<7EB^QAADx#EFsKb&Kj2VF@sE%zkI59^@N1CS z&41SL)#wMy=6&EuERQVy0A*i^WcKonhwXjH&EbsIkTf|qRpY3vT3dVlZI?WH4PS$=r?ZR#)Zf2e5lPvDQ7gw)wA?=YQ6`A;oC@r9aga4ZU|s7R3Gz zbC{~#Gbw_SIescUb6;aUcOJ_?&ti{HVP1zIjf8;}tQAo_1arhMLJnzAzFp`Vn$24K zs-W?!g+70QtOXoZ#~Irn`3B(0pyoFA$P7OvOHuWtHh zcuJLf(_eXRX`gXlPUuNVobK*yN-m;e#;=6k7s931cyfIIzb)|O#Gk;O|NGzbbY!P% zxtSDBw--&+C!eZe)!YbF!L@9VF8%M5MV}O@h!%AD=CYVc$A2mLTi{7q2@EWwwefE5 zYvH5u=7)~;9xwx#9Fp)kLM(&NUx%5-cw4ODBXaHQnOjVqJ}De(d_c>#{}3VSU%%w4 zqwpBm=Jjwh;1@e>=jCU8=mQA2v8%>U%K$w|jA(_ED!90eR_4Fn{BvrE6rT66|6T<} z{6U;)HR3g8ugN5P&wpO1M6&c0X_7dKZOm&-7U2@K?&%Q-wi*lD>rY35TWu>w!*|#@ z3-O@7K%bN4-tnYYKefvK>$m**UU6{}xntlXJpC!r8)R-Z{_DiwD@-1t%W|)!gS@J6 zsHjMTf1P#JaqW%kk#m5)$A)$#qG%y~<=^Syu*;QBSB;euA^{@W_Wd~KW6`!xCseO} z`4kaUKo;+bdsKB7Gw}bk?eJSJGYLqETNbk?G~0VQN0R(q zFpkyDQjPz<0@T6E5%`RYAE1ZuuVnk%hi>BSYKi+T4;{P%f>OAmHgE_ms#(GIt5yCz z{B71;%sBw}(7sVY1mD-#3GL{tRJ zGqAEUI`7kH2ApF3XxPW5O6-k68iX z#AxuS2(M^uN-N+7onU~OTcwoYLIJQT>DAyfKfXYO_~Y~l=|i)VPlt4B9aM>s8Z-a) z%t)OxW;SCu$F7VltEBKVR*EqGMYV}0+DUSsbNMq}DDm=q7+v=dG|rmgE4Yn0n`HIn2#^_QX&T!YeMP91XLuy~kiuft)-iC+(iPw5w1vH@} zj)b!Y%+R)&^2@NYnfcX0UivT~bU`U9Ud18F&bQnaVyn6k19r&idUfx)mO^cZW1B)Z zyw_S|OGiDHhbB)(394ct{$>7^TyJqJz0&fFv6+LB>chS1dTod(gYpNAm%5CyC~>N9 zeGDOWC^sgOS<%bunwju?G4mj|)izN&aL7>a9P|QfG{*~d`EHKVxvAm-MYu(4H4>fA zeYUeB6~wpQppK?RDH0kbgFMQj>KFW<8)(R_HxKIsSu-xvFOc{j_&=4Z6c76@PrcVM zR21}?HOp>%inO-0;$iSbJN&}yyAhXBvyKNl5tzR??vpb4yof`2(=I`m8?Ka6WuQ$I z@f@C~h%%pvj0e-AH|)0NJv}z{J*JI8bQ@G$SK&g<5%+#yA$$!@Z!3g!i4e&cxt5Wn znwwip)I8p?dX%)C-)bvBH(Dv`8OEZc#x5Y+pfSkwS4BGqgW#DPmv&}IRlo@(xxb&< zCN)Kg4vo-_e)hAL+bZIIb6i+p#qHfzM2Vn*g^kB-3eW#iB+4ms2e%fva%lxlq~>d; z{5w@!JzCK?PGThcJp!)X*}cP6hF9-TCgf-g%e!x(){wzj5-Lv=*)5>r zxSYEdRL&B7R-se>y>3=Z$Q)pKvOw0+)?xl^G!?nIlikyx*o~VsH_#yW$8S21Im8pJ z&v^5ECi(f{5qFO6B9w3Mkf`c1_%AMO|I^|QW9H&6@_U{L$>PZ6q zwTb?{dWS4&f9!(|jy}ncL}c7ej)B0g(+^9&aovpW`5xvG1y(qRGv=Gj$mn7RKRC9T zM`d5ySk)FcW6>4C)3om*sIEqI;oPsY? zW*R^CQ@Z=72J7=j67L_@NnuSQmlX2NM7X?Bdh9-;2jyg9hl{N$Mc53FG})X5O1tIT zo%_M>Z-|cyILBv7wSVzxO5%U+*_=<*Slo6y7QKGj`;9+uxPDO7X#WOK&+hf`ptilO zB+SfVhxhG@z&GvAXB!P2DK6S)o)intTuQgd8+z9lQRKcd(9r+(+ny4q*5xr#8$Jux zYER3BDBo<3Dw0=Qy0GS6s%KteAfd8cYYIcBSAz1o3MS1)~K0b#kR62lHgg4vE2^#9K-l85~y&W zht{#HrLYmP2=9(r3-r>PQo%2%MOhRJ306X{WVl@a@aIHbRfDM$ za}2+(<+E_sst%~RADlN5_y;07SQYleA8d*dd$Sx`>PYb`*}yhk_0Dtbs_upV3|1`{ z0AUaCol|zNNV4mp6215KFY-X1p}Q`3Fr}2bty||iY0NS5?K3H@Iid{enV}i?1PZkh5y9Ej-CErk`9JY zRs0%n8P>8pc@B2d#0+?dYL%E;0C1TGU7n$S@Cp3(5MWLS4vUb3-Oy5W{-zgF z02FTG?~c)pY?u*+2!xp(!0LRl{(QhobRG6VN!Iv8r{lO#hFz~&1jLJvd|7hh4O={k z1)RCoNj2$mkpL}?F|qdC_fOY8f8wwzQ-?^<3Gr>Ti$l#M8zNFB9vDz7=`TPuG!l*{0x50OYs=k7;fu=u6I@KI9qj6 zbJI58b$Ixs8ze6fBA6})>32=hWp7_qLS=R7UYx;>MvhaUUd??)V1Pv4nQ@6`h*1zL zqWE_wM?b6Q3E6LA$ZMgw^71)L9P!`nmoAZ_>=ZUNn7|vIR0GuZP#WCpp+G!wPO0Vo zh>LDxxB(+-&X+dy6h6;>Ep_2)OcKX`ArU#KDuPF%jP|E!(3;E3R7ryDL^%*|G+Rcn zt`xmy>CDPTpbOEH#^25d_r|iO8w`O=5+Z35aff7>nj3TVGA(0)E~O|KFMJ&t`f!%{ zp>JqNW9oox=23R*YG%vkok;t;e<%6u9aJzP06WCkf|%(snby9&S37zHqP}jT75ZUZ z$RB7}`~G;)F#iw*k~wN$eK@TEUcNcZriD8k;Y&^#`6rYe-4mfE$?G`F7NML;F?-0>Gvts<1(I891;3LGjW>OQ-DTPzYD^Z1A z;0Btamy;@4nFdzWi!LRsra6Lm>1nahyzDB|3~$%M73QjW}fl z&VL|%%jlTz{P#(0Q}mhAr4PIMZ=xpYBKWTZx=X+Aj{I%(JO9#L58!wjy>Jw%XMwdy zGo%kqggmUX^1FxP(Zj08F{__EIzA5VJ3`#x%?Hq)X}q28!3)CsQv~+a)B1UL4Z>ID zj#s7S-+|~`XeL&!$h-uet;R7mm3fyZUftc1r_*qI%^tAM<7`Fzj?Zp zBOY_FJe2;^=SJCf(DhYo(c`baIL0@oliHH36Yy6=!Tr*%|RU-^9s_Vh242I`Rz`+nP%LGseE zjlb)jwO7J_E`qBd;BYf_491>nAM zAO2JHrO!E{K7?x>2$_&%1*<-)HoXQH<3Fy8W@EPjKIk9^%#E^0zhehI*F5TNpQ~$^ zH>{LC=L(%O^YZR`Th-nw)*8it@Gj-bv{c*WA&_wX`@o4Co9#dn<=ignDnYWP#;(Nk zd5x{niabJcW5H+YTRmmhJPr(67DXqq$GVfoSed12=p7tyE7lA8nd+QKcm>|telaL) zKEi$&bKpp;#6YRqcfgPD=-B8fPC3Cl(a%R9oxN)zZ+w zp9bILgoAXwTkf{3>Y@A3PCm(YQSAV})MY0)J_S^k!yD^kynL7Z#*_R~%G#HJX4jor zw_?e{-?8VitLo^ZjQNIArgL}s-D6`2QUH2v&ExxXu@mRepc`W`cYMdL?>4=!;(ijR zC=YF<_+o?|@T%u>nB9;n>bUUm$MIrFYvkoXyNb6(Q9}NN4puB>G6Rs^@o*^5;1uw7 zxV$H8O?a$LAMJjmCEZG zVJOo>n(KS{;CA)q)Cj9>_I8z=BukEW$lUq8C-lmiJlaFX&{gxex>LmH)Pz~hF1=)6 zTd~qxfvs1h(%*S`tjoQu-{Iq*-jmszt{LEwq}v-xyEDz9?M(UA2a$0t@hTx}11)NJ zaB}kIgTT4RR2vr*aG;HRo#L^PH_@!|IcSm_vq)(1hYiw-BbbIQ47)~upUf~lr@h)pJa@MPjC1#C70#bJ2NgK2h?{? zcr@BRhprXtEVO?%%<%*Zu3oD#(-wRv&QEoK0?;Tv{Hy)a^n`10mTBBWSToRCk6Y;pO)dZY zCECY+?UV@q*H63&?5>QL`aRW=T{+3|FzK30r-qy*U-a`q3#3 z0bG9N8qHp1s0LhVOxE2D#5zLc$Bmp|J4~=wwp29wx&&e2oFZCd^JTF?_GT(ma1YFfx)+@jwe8zMFPwigunNqQl zF#z=wwv)>GL{57UxZ-SD`@o8U@A4ofgKC>qS{lS2_!VbZoeA2jo;|lZSug?e^&4w= zg7_S(WtHOS8`9tHi^9JbU%0e30fZ#BJ_ZO}4A!^R8}rG5wLz=dMU+ncz4WPc`eM&K z^k=1c^4jun81B8H@R2$4)qtT!c^|6SPRV9CK_-b@=mn~y?5`JvL(T|U1_Tk3BY)fa z(rOQO^P{%v(MUfFFRFUZ!bFMAk<5`F>(f#8a#;sn}o3;X7l! zJ5;}$RdhCVXSU(GCNZnk~$@7=?U%`3HXCYYO9{d?;;=b!k04GuIQ~ z=0Q5BP#qO2y%@>})$?K-dNuf#HoS6;=@WpkyG%W=X5v6DCegy(eP_G$Tr%eZgEdeT zDZ~)lW@^BTp_jbE+s7jN$a&jofUYt|LXIb%G>jB*EoZfOx8n6?4=k&q@XR>f?>GhfmFXUJMj_at%}oPjRAA_&`2rW4tdzV zZC_!R@Qacz|BDH$>vrH!x!sOUKXNOn40~XAD4c|PQpjB{d9shpu5n$nQ}r2lo#(W; zpXN6@Enafl3ST@r|BWt|J7fo?9ogNwreJ$EOek3Px5;U_3eW^qc?sU0>1Statx^+~$X^xQJD=$!ZMBGb<+cES`y)A2a2 zgO%;OAO*fK@5vWp%H_X1h1@5NJtPuiYjnx&R-Aui`?3y0P?p=W+`Hglf(JDEyea3v zv{SPyQ+C_;>yGsU{^Bv&Cq|bKdd%zj72c~@Vt!vqUJmkJ=#^FmUH}B1Iml2vAa-6m zPy%QPaMWGg=~1VpmxUXBv^B3q6r13nOse{Qhk`yGnUSJ4Ps5!&=z^8dZE(mZekp7pz1wBH-3;0u)q^ijib0Q2 zX999dxMj^iWXWF0rMYLP2{KKWFW?7dhn7iKl_D$G@=0dBk0`)8)6$&hJmq7RMB_wXUt6 znmcBo*MP`Hvd=j9;sUi(bC%#SZEA0_UR3^)8Lljf9#aa#QCkz^yrHaT-~WV>SZXiJ1MyZKPJ+Ah*nJnT&md}q>TY~E}7;N_<9Ea(Zg zw#`JqnWEoSIaTnQ8PlFfAIJeQhaRU@PV9<5GKrMzs7$$WtYQcyT{(1<6p)0N1H}9= zALCPnQs-?M@rK3I8Wi6KA9{Lrx;!+N7NH%W+p>&*9w5AiMc$%INklKVgeD&7kgM!F z!d~pyeTt}&ZOyQyX_6RY*xnl;<}Mc}Jvs};b+{Ibf5!hPHItcpc_D{#LT1D?S-wCI^(yQQoYnlG^F zny+!I_EIbZIF;+N19fmw_Pb|Z+@4D=~y zAN3T^cGK22`rdo*R6ef!dZQ2ToStI6%Zk5U8bRsgv>{hdWJO$j1Yo{Rhcam{G2;?v zxqnmm3rI6C0Ma}ocT!k$I7n&7moahP$A{!kX?LvN*qz#anSl028JFr|RPbx`f)k;5 z`0)plG}ri>Vic1v8Mea~);rZdECAhFtIV<_-$46#K1J=5Ye}H|(5EezRHh&K`>NnG zlUF!0Or9Q6JuXdwX|Wt}s7KB_hJs%&{4`eZ+B8aklv=#}wL!HlzB z7o?MluHSqE#9wspv6UHWe*VgvP3JR#ilmv0ATKl>x}%eF8d~ranBB>sXw3d^sZ zkKO3^t9;*@;X9?I!Ao!Teew#$ai*Ej7$MSaH5OB2a}cADJ2`-BM#SLXG3^!kB-ZST zXZd8;w0>X?(RPUu<}y5>{^%H(NK1tgfk7chAP)opnP7^dOqg*bJ0PpvCQ(~?++C)J zUS8V6eNrvk!tr0#-e~A1IJ=nkwTS$?(Bq59Spn12(S4YsyYb?58zw!Xilkp1&tuzA z7wp9b7i4&!*gOY1l=MI&JSf%KWB~t14i*s6dl7rk=X$8%bCN;2N+tu+u59vCj3JmtAXH^>0wYByH^MIj}772h3;Ngh)}Qb)O`A z8t*%fD2xo4zrk&iw+SCVmBU!)uA^q5y0#8R44tq@%@{M)E$IsCjWW-*i7xuo@b%~@ zT}%`(X{R$>CZaO5X746tn;>%*wrzsG*dv9&;^OUG>D1Cg(yljf)M8{WScy==Ag+J+ z?5SVO+7p>|r;VtU;`T|Daxn9t8mPhEI)`iDF7e?QxDF7V-ah%F`~}s3U4JrudAWz@ ze;%>K6eSQ11%&Np`0XY~{;(|}*#{CTuEhm)RT@DE`c!E$LM_1@V z^I>d~{E6@4e6BIST-%>X+lJ?sA${m6?Cc6JQYL(wbp#MR_9GTlR_P=139e!ava8Zs z!W{EM;gt~KTYC!i&!|fyEuYm6RLLo>yY*~k|~x0xAs(4oaqtuWba48o`t+9+H+ z1<|j?BJM-a;Ph+B&9HiXJ1}((xQ~GokIAn=mF@P{As-C3BYn6UR(PY&)B}XHyX$Ag#=G>|LY>}s6$Y`C@+|{dn4)Q)nX4;7mK@k8j zczXoBX9}N-q9)u+Rqr7xBnTQ!eMR1MWX?vRpl%~V5Wl!j%x-6Xqxr8?>TkvN!NUEQm7X??%0>WaUyJ=1VnY4>(!pxNxc*Ns{OtxYnw-yRRIJA>VR3&nSl_ zDfve)&O{xKa)jp>wglRH11jeY=p!H-%F?TRCf-nJM$lJ7Z8aAO3O3h7;{HhM`MU8a znU~Y-o^!}7!=H%V)siRE$`bd5OBwxLr1D#plD|d8#hlw;8kS>;OH$b5PA*{^7YScJ zIKg2qg;f#nNm%xqb0_658n=OwmHyGA_BPjxQc-O3fJc)3?p_k2`@TfYH%>{Rn*mYH zoj1Z;YV(VrV{W>(8vK;A^(lyn`Vw*H&JSrakn<))LQDC@RD$Z2;E#P2K^Kt>)A$@4 z8imqE+%D|St-f??r^;TD_Uz&5uzoK{`t!LbAv3AHh6s$m-pC)xmAcxV@wAjrH{HuH z1g;VrHhFbT{kGE!D$it+mn}~DC?ye?i-|PFK6zf*D~+#~L+JvXxtQP8^7{r(jcZFT zjDH$`eor2}N`~87A8`JdD1*mc?ThMEIEK5jx^jqD(hS9s?PHLb>L9|%uKs(K$~V5t$YJyvWBsNt zokxP#k)l@{wILN$iMCn!O!Cz~<401GJ)0_iy7=qoHldogQPsPBz{P;Z9~Tjf7wlJS z?JSL!-4tjmUt5D|a1sLxdw-1ADc1SoqI%*NT@Tn~js3$#w8+@%dR}eWdMr#q9b}`c zJ{oODtvq(Wky>>Uj-}!mW2YNU^*k?9kx<3UNuum!}FeV#)(TcT%$#heSsV zjy^ZkwutIA$Zk+~j(LzirAc{rx{Xdy`Q)JTG;^9R)hQe=Jc{3eHB8+I*hgXrU#UNt zI(}^ZZUc+(!ki zp0GU@s%5c=flgvk3(#rmzG*%FI1f7?1qLwtA~%}_Pd=WmL$2Qt2sFV_fU;zg!jRq4 zyzuG%@j7_=LSN+Amw?r}<7XT}oT2`p?dPNb+4h@9UU_GBhh-H-BqZGNJZ%|J`jBx6 z7yD?aU&nfK$6rQ|>gQWB+lnlk%D#zw)$Cdpw+WkPr@S89jj3|uw;|F(HJ<&j_D{CT zWKUskiG&9;>d2v|mJa0)W5fDm8=2GlU_-ebEmh%F6ARt+Ld#-0^}11|Z(vsY&$5dF z$T;vrY!cVxxkdUS?c~Y_T_5`%$q5MYLii2}t5E-jjzrfo#vE?j+ebOliI4I+=WHPMh;J)RAS$(0DAs2f{58Lrt67L}?@<=su z(3QgGo^5@o?1h!J2l5(vr{Oo-e_v$bO4N`0{kE&6wgcTz3?C>pB7y{Vc-lxP*PmvK zjVc_v;guJOLtJR;c%H8(eztLgJteyhNK6{bB84{lKHiwT)ox_INPUAos&X?ovs5Zi zkdh&N{DoR1o6Kud-Q3Vapu2?dR&{mzsgcae-hs+HDfsUZ!O=9*E3peqvf8+UsCvVr zEUP{Tf7!Zqh3-xcnzV?V(lZgD%(k+{i}jPYrwj@ez~^UVyq9Ng(H6N++PRQzK42p~ zlU*usdhy4_9sZkR^K?nY3&;8uc1I8zS*$P2QxDcu=Rzg^avi;Z!Z)Jw1)Qr9*-sb^ zQ?Bq^SlPN?MP8mldEKQeA1~iD^2qfYebb%+;BDaH!X@aDV&S zJ^oSM`j+Tof{W*vismo}=X5gB-FLFu4TcQTnESP2xFC_NI|Z?iV4hh<`*N_#s4&_e z^(tF`Gs!o~7CPe`<*vu(Yr;}dn%m_>P-mM`_sYdbqRstJMLmS3Cn1KQ6AW z?m6bslUO;T4bMZL&&sJhtSvfb4Kw6O{3$T@I!>d^%IE#Z>Di{J&^O%)=zWlqwT}_C zk-1a%=Wb2z_Vz%%Iy0dI0%D9Y>|B_h_n#*W7w%YEU=E{Lu3Pgv#~>*ysx?{obWM0DXC<+C92^ z^+9gb6LSMjfjob9l_!9~XdR8vLIgT{JfXUe($Wv$tqP7;IW2B%=1%cd{*X0zFS)Q{ z&p}zDS|)6drXKb91v&l0kD2aUIIVP7;=mDNC`kwVVATbtR->OB6{0Zd$62qfPoYm> zh&$ce2-c95uZZ$Z>D$|Gyic=YA}}t?{|TaWj_o`bvW^jFqKb4OBEC8OIPELaxA=Li z^xbLcL%5c2owPqMiCrOlW(41;#J$$(@`vGbAc*hrP@`O~~)gOo5`+8(AP8LUD^_>!K7UQ;06NFDBegmvjGD(3m>=cvY zyU(j}Jd}2|cQk1dCcaNm8z!-D@S@d-#m6Cv{_RfV>fqUX1?AVm`>x{ngEqWok4kdz zJ%&=BCS{K|dPv17NkhquVDW6Av+wPN#`hABy4G%1q~6)Ym)k3j6gSQz?UwA`B*dJ? zI+b60x`58^=#Lr?6D+Om3kNrFQuBWc=MXDz*18;!3tPov>{(a7@uO9_h-h0ZyP?N@ zJn$Y0fe1wcqzL<%RfzNFMIe&`PTf9sL!i=?1sCT-4PbudbI4?-CL@s0IKn&=zF7Xt zs;brvMmHU+W_@OfK(k;D8VSv~Q~t?=9WC59$2Z?K-8gHe$wqBIRxCz*Y|qLi`nnI-KIjH*#L>zK{QXK5GOCprO8Ln zMNGnjT8``Y^$eAGpLQWlU~@%4JMH1(FFn?-Elo?4%>mwjqqc3-5B@{qNYwUH>1b)3tJ zU)+sQj@vL0E_x2*ri60W-@o?1bgDZ=-T4DU<}V^jz9Om_C)iim)>@&VMomU9Vqf4} zHZ$`5<`m_~ExwO_>(>}7|yc9D4# zR%n4l2;R3RXdG)FeTl_>R7mwl9#b4y94mQ>wQHnUIgwcwo!{TIyL5p~4*HI_^3`|?9AflM}ZR{#FXv$p>=UyJqB7jy?+ktpw#WL9mbb+OL zn~ge+ppTOPJ4G$KaWkF#9v(v^X0OtTp{q*S32S+&*%bZ3Ji4i{d>�at2ngeXI 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

dKrG<0kymToq!hs+6)d}jx2Poc#E$bIL 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�yq>~OYUi!4xEXh9AjyEy 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 =v`jdQ^ZkV(m~#A}Ok2Dtw0eoa+Q=q* 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

bj=erCwV!$e3)MS+mU@Gq*m#kptHn6)0N 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 literal 0 HcmV?d00001 diff --git a/template/assets/feature_engineering_pipeline.png b/template/assets/feature_engineering_pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..ab0b2276af888f02e6f4f81becfeb50c93151a66 GIT binary patch literal 212830 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 z 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 literal 0 HcmV?d00001 diff --git a/template/assets/feature_engineering_pipeline.png:Zone.Identifier b/template/assets/feature_engineering_pipeline.png:Zone.Identifier new file mode 100644 index 0000000..e69de29 diff --git a/template/assets/inference_pipeline.png b/template/assets/inference_pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..358d5537c8c5b66e2f2e3696ce43b83156b417f0 GIT binary patch literal 257666 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 BWkrw* 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

GZuj#2Kn2z7{d}N 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

0FWA)k<{EAK*) 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 Hr?37G$AQQF literal 0 HcmV?d00001 diff --git a/template/assets/inference_pipeline.png:Zone.Identifier b/template/assets/inference_pipeline.png:Zone.Identifier new file mode 100644 index 0000000..e69de29 diff --git a/template/assets/pipeline_overview.png b/template/assets/pipeline_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..609e97d2f6fccbc14a197e1ca68e3d67c974f398 GIT binary patch literal 407607 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
) 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

^0=0NW$^=zjn{0sgTZ%QRM7k0X& zmXMfbx`%WpR+%GmnMF@djU|GBK!M{U$LEBB4yGh5p({PMoSoguR6#6?-zfe8uiD0^ zCNyqD-Gn)JCq=j&d%t)g#1p*}r)JzZb}97?vDH-)$&WKCE64Q^2HO40SN38GNq=j& zEmk?#o~v+;rdR&JaU`)MHG7DP{;LhBM^2eZHrh0is9TZV9<8f@{Aw`iIx6zUZ^BL& z9!K7O&ctKXb;_S+k|n+keA%hHk6S(8luT&D;>XRvjws@AQv9@X!KfU`bi;REw=B0m zEI5Yv=$4fWYZZ#q89Q4%y(xxjR20vZOlvdn-04tXa^AG%IBcHfdK;eX6C9vl>ETR; zt_-Z-UCh!ra4?kkna9z`PDIFYGko^n>?o+e$amH!pBHG8;XcfaVOHwS;7ZyDG z>9%r87#v4b$x(UnQ32~o>bO8>f{~K%;;d&;^7{6G1fltUmpwVwi^vG~zhXQlP5ins zmdg|-ha7?16Ws!=(LQNt%lgfCxr^ybcoJ0?-m~(0X=mqTbzzem$oGs!^S#wYBvpYW zZ9zHIV3yzVhL01@prTHsK5_J$3I3|kg&*1ZTyQ(c_3!^PW_&*Ygl2Ggw0Sc)T~{Fd$SnMI8v zd3F&D2D9iswfASwCv|bkPhVe@Set1hT^C*#->uE!FE^|aV~bDz+cw21DdV@4BUEr;D0(MdWez7crXv1*&X3|%ddn!7)%g5Tc3H) ztoM=BD)++cpN1d5lD`r~YTDAoN7VHN3hd3o;$O@ce2&Q3|13jRt5{E8$ir>=(_JHB zzwsMExY-CT)i%85pe6R%UIS)W!ful)XixV)pX@ZBy4Pr<5mtoT41AW3yP^ zV)nf_IXm4M;yOsQoAT^WRf&(Vuk%8IXCXPpcUByymW*Xw5pQakla&w*du0{hHw zU`tD^Zy*cvZL8IIV8g&uN|StBq&uR*P+|f5STR0+Atn;z$~<)U$9BE%?J3V3KvIG2 z`;5_0?iWNbRerr<1Iobvexy7pCy3gjiNLIVkV zJFu^BaY|it-Q_kTVAX^xja?03Cd`-R zMtZYm_Yb=`&d>t(|55;;y3D<%+9qs9rHLVPJ6r;O!O*b1 z+awP9SJf;m-VFt@t&+7tO-BK?A%D!OAy^GTXCZc{F#`Xi+ZrxFTsPG?2DXHE zEctslmB+_l=a#xE^Q0+p%YPENGar79ac0}00Jwmq*nei~&J1^Tc(7WE!+*WfIKYi0 z9iV>&waF11vmK~IMnk93b-pSPV}0vS&GWhGaZ6m2z2~-@UESpT4?6Z*)48$&Ojx=P zC&Y+Kr_?e&@odMmIj@QL*JGz}s8{ZCDqHWwEd9__R?gV$77PP%X{7|0_^~@pyc2%5 zm#KeBYF&Q7JI8f9Xh^uJhONRaP>8)512J?7B$C57J?1_g94~4hf?wfETlZVyTq4Y+ z*Lf_v7hsCezE>bRTBuTjHEeHw8d~~A7GM5G6q!`i(dC&kW{`fNj$uE0AxJBQ>*AOa zyA`H_IL(;7MYb7Lk2Orax3u!L!|?Rf*eXWpJS`jg-Md*#GC53?AknQe*xm?8Aa;~3 zabY`WJ-=^e$`i1t@FfaZM7inLq}}z)Nco+fi8vzvo&vDZGi7c?CZ~Jlo2q_vP4H=# zNp$$6rvJ`Jw+a~ewer7zAz1gB;ogUTXOREvpLP9~AgV!OJOnx zZ(ri8#x^R7nav3n?CFgeqyN;xApn&B%b8}%*(`go0b7D5eP_r1OcNZtUb8!p@%g{o z0K6(7+5hP7{a^0w!SVa~r2o?GG3mb;)BnHvOhFFTAi+UJp1oivCia|bZ!&`|slt-K zQdXaL-#yk)E6(S0!O-9PT++2V8DX*IHGiU=5JRHA&}{xFJk#xjb-~cq)a=$yHk>6@ zCXDEduz3C<2G!J5Fjz6_`cEIjT6WA|u-oePneOlE;XMj9f5i0gpJR<5g%6D#5IDYp zo{Jy6wyzoy&vgdoo9_sYX1t#kyL3(${p{(X%?y=5gY~`#o^M?+n5W z6Zon0LiMt}I}5{+_E(EUMj>gvKdv!SX8c)LZ>8+UGfQfT_3NPw|FZSJ3jQ_%>CaNe zf2PDj9}2`q!Vs*nZ5E0{&#_qSzaANcPB}=@vedSG4PGLk00FQjAf<&?jp`Cr>cO8y zF*u!Y-^M)+kZKeo`Z@#$Qg(*7A5%zDW|?&R$5^vad$Zaf`t*fUuQFw3vIPY$BxH4t zy}x+;&#(EOFy%uBO(*~QL!i5({Oh$_D}}u>lJr=#H%pIr>#Nbh^JjAy+f80J7H68* z@93R8xF;W=H&DbE>BC@OdL+-G(AN_io3YVeYZLc%rs+@hXlO4iqwz0clXqT`<%90* z`xk`@g{SsE3`p=@XXNX)pQn=NDgkzm z>@#@CbwOOV_XPXYa6SGY+j^ZCy<8NHLR37@%#(VGmFVOtF-*>3xX9gFZ@$t1x4OqD+pj51Rp$}54cI7Vu;vSN?Bqvmd~S7L4eh$2V_ zGwf~y^b_G7eVs>Emf{|UC9}~Rbb}!OC?ci1W0{Kx$3q8^AcFqQE>~FN+ceImN2!Jn zeBjM#b*lvinf>1<1V%MB%yJ5uP;}*&LN}|1+kD{F;$8wAGlOq?VGm@4`eNeWBC6 zC!sFcg`|TmNUs5#E>Sg?NYrsA9e3AotL)c-C54yv)@k>?&MY+)dLNm#-hg`klrsHm9ZDa)3o=dNAdOjTgA)$? z1sqHlq$d~|Id8WoGwnK$EqKougKc7(l7R*isIc3+lk{7f;?^~4_D<6xD4rs{@^_&L zzL#!EwB0>T&Fc8Sfx9*J>j*a8eV@SY(7IY>yGPMwl>O6L3d_h&{dMq2Y1+G{(S07J zO0zV)0ijlgP|iUfKn=MOpl=oo(YGIh04SO^T#J3~;EVrUrU)v;`9FZb*WFjPcYy@23i%gw(ChR6+h_Y)YVD7`bp7c+@A33TR-1LBCZ~5}XJjKB1(LhXlNrzl->W zOFh-2Xq1k~vO%Mc&krw71JP47uNlK)WAx}jvpOv(mHTg3MkC|=(v$l%HDlRR)qfas zI;p?7Z0+l;?P+aC$j-#Z6-3?acy=9NMZvxSLwdaPW#sXDm=NS5R}gc9lA%v|LFu0; zu*b3g+GDG0Jd3lD%!~6OC0~`K1#=$o2^qO^j=HP?g#lp!*bHLjs*B&n+u>bgL0t?&GFiCW>TVUNM! z-gGj~WW&PQcB+Nfk>BpF+4{sCZL{(;%e3auDqC6+_Z@4tWyJQSi__zapb7DJ9X`^K z!YJh?5~<{%E>wvlEaKoNvoqVaiMW#^k z`TKhr=l8E-fx}#QQk{GXQW}6*aWQw%D>uE%nL12@$5@K+%Q-W30l2rn&naS>ZL8>T zpFQuH68e;0>&J&>7hL_oOP#<%7V2!5N4w>z^67p2?a|_khhLp#_|oXULyjhsU?(OkHHOwdpdfvbhISWu83Y&aUgiyZv3JjfDSxLM39lbx1yYWfK2eYV-{uJzH<5mMSQboyb&9ZPK2xj5>pdLn zZSlssuN*#uZ#7&qH?o}adR_(u_A_H|qsW8D&>(7fo6xND*$Ai2fC3~_2?+{SL zdJMuYfvN)n(i}ZO8kAbanl!N4{G_V#(HFG6k4-qwJl!+arNiV+Xw5Pw4jf6Ym@=Jt zrPNR*-`_ex^!0wCP>oW%49OV^17lc9{5?m3r;MU*l|ZDnb+A9b5TxFtR%Sw*YLI$B z+DyRJ07%zP5p~za0>U9cQijgy`QU7|TaG=?Ab|)I3H+^qwqd@h3Xzu44-;GU%}bNp zn7hxhtueYk6gy^ix*KKWQ_cZMwq*LQ8uI2(u&ugf3(|*-uZijL4`{5o+9(yA0m8Da zfNt&q?=b|bz+zF^)idd%?alp`dJEH}Me~U>H^mG+GI0tJa$I`i=b2;Y*Ks-wFtsG; z2t=Eg(QO@|Q$dmue=j)O2)2?N{kL;hVOH8?M(x0ZHk!r}WZD3B_oiL#+uFvTfOY*I zA?Fln1YJ4)9?}TKr~Wm<){3*8l@EmuIp6e97FYNnn6BJ-O>S^Oc!ULOu_PLK7-qbK z50rxSXh3BLgyG%J@$Pv4iaiT<9i=lg*xcSXgM z7Uo_uAMyAdOYjM8zkpYG(IB0a2(YYu{ms?qjvdPIR&M)RyiWOPW5cV_KWB1d^itis zdeV_KVCccdTx6hLBUYuBPz3&^WoUaI!DSHpXI^%8K}&J|i-+}L6u`T(QlSQ$%^3t# zM&ARJlhP0jrwxUhRBEyBZPdP5ov(mMW4waD(ZCGgYQ6jhNV(H2Wx_Tt7Sd!PumtEh-0*Y(dst^1sG7j2s zpf#l+B@NME)!U87uYqUqC=khHU(-f6SS|WgB_gc6H%)#S# zT5<%SJB#CX?|ij(7V5CK68%|;7<;Qkhvbh)P!!#q1$X(ZT4~_=E!60SV%KokR0|#dc>KycBW~Gq~L#N zYd@yBK&r0?gR3eIzz|2072hR+9bOlVC+#qy)!l*S@d4>Vw|g|oz7lsta8FqwK&azN zK1`Q3r4FR+f@K3)#w%m`NqrC?NY{J_O$Ym{+OgnwUbbJ3?;xh9RaL?)NCkQzK`mw5 zvQ|XMe!jIMfiwbQ1*iiEZ*}Dr==DLFNxQGt6z_)`tM*mDm5lzpJ>Jin|Ki6DlZ((J z8P7^WX70bLQmS92gU&z#GZ2Tkw)Q*060j;dUKRxq5Y&%l8c|Yc9o}$at8jeptrsGv zGJ`NAWhj?{4z9a7KkXLw?w5L&(dQO(pp!~XUC+jifsT$n$b|E5`HgP=hJzkH2J#hk ziax!E5r?g=P?=5tRHY&hn!Y=%J_yS&d>cbtwb1?)#dac%Ua{>sUP*iW?G7Ar%cwF# z%&}7pG;(PE^wrv|uIfy5%lNM5l*ff0{UgIV%VMhZfb>g9F;ERZ!vR9@0t${zp|sp* zLrqJZZ04soqNm$QNqQcZ(YhR2-?dN@!qSbBLq(xNTIJoQsO98@mK{P7<c? z%|?^SmOF5Nk3Av+yh68+dE$~cC0@m1PvPeT<6yE!mA zJv$%r11rO)FGAI5dLA0wDlkz=$mbo$OW}$OZ)0#IoI{}Y0{yB%V5=0xv`}MXU9?^V&;ZaS5dCYLcmIVUsCh+H z6NW>bylfaB`HZU4*~|FC`eLZp#v-;$$J3E@Q|O*qOQb&gMHy*G z9g2ih2OB?uu?a|!Nlsl%ggCOK{tyfm{-A2I_PKA6`Vd9~v9-qy+*WGsOr zV7<2ML%jcN$deT-s;gmD(0l8r%qnEp(x~S+^CXPT@c<0533k50n_->@^VtC^UJ0<9C=K?;wPeqyU=F2 z&H;LAv9*UbdCZ-gtvHR3ew5IF;Cl1s`2&^!OM&&pq$jdE?jJ^Sc!^4HUGr>S6mL#2O4$bvS18u>upJ%Fuyl(++!I(d;RhWN~*C9 zr{|Gu_Q6L0o(7&@Uy{Om5f`twYLcTi9uCQkG5hCmfE@&NUQPiJK(ReptDlUNpF4Eq zSl(idEBbPyUR(zj$;giSX7wrh(7Qkp?~Mu58G4^No+*K<_Xl4F@Sa{fG#G|YOH9~J zjRY$|T~5V~&5nxvR5iQU_9N(rlyLz zah54hs+FZ~CoE=aJG#T2q7g9L72t0{yrU0TFn1l=m~Pzy%40~|koaw(a`)az8CKnv zZ&rLK7CGXi=6z>ozJyffUt4xuQc!jnn6B$|Ke%w4kU>97Rw}h3*~^P25q0Z4X#S!E zz$?vsf8TU_ps9d#N~PXtT3Cz6I5^yG<Zs)wKQWpgaR zS~4?71QL303Q{aX;zJ&&67Lj_-%=UjcXb`wEF4fX)6<x&Ov}KExYK#`ws0lL<7LfV3hnhaoX7{Lu5`099UVc zCvMsj8QJBjn4~FIUTT0F^<$rANgcxAB04scqJNnBdAcAy2?dbWI+^25G&%@dSu|(q zx{?2RK`H-*ebd&m^F*6>oBi`!{Wq$GigvQU^f&dC2@YKulb%z9CvdDC(gk}~b#-@X zphZDa9dQQP15}T&#mMT*4jZbL>cJ){*7zi)+Np}_F=6E3Y3)&oEuY>fwD6tHyWkO5 zNFAc9`&sv)watF1qv?zLm!t0#nH6$uv(;kss>|1PJW`jq(L7a+nIhiPo(U*OB1g$jUG4S;XTHiDf`pcFksB*a_3KaDMq00; zZJGG|NudG>^}>Oo#2tf1+Iid$rqa`E4|VUrGpZ7o^3VJxY-wM50=5;sRrx~(|LqMI z&BBFLMX}t(W3|RW4TdE^ElV_3dn6~AE5~aDD)@xel^yVl%eGT;Q8rEwJzfT=D$bG# z@T^FdneT%PZwj^ySd6Y|8v7}|_2|a26I7TVpIw1sV50)C;ob=xjhT5KIH_>XHEAf} zo!f$4eff4VQ?OC_EPpA*+Cv{zcm_UUDWB{&kPRQA4_@5)z8>whJ&Lt*hj@|S&N{}~ ztHDzrU<4CL7HfawsEsG%%NMmK^yxR?A?s@%ZSdsbR*sRGb??-Kt)R;F0(E#E&Dx

1}L)|V--bieAD89byLzj>_=Anw^#Tu(B@uSu7&3Ef!{ zx^V1_Cu3MKvE52ytJ6y$lj=c#O$By@v}G2pOY2lvXDueP`SDxhZdULrBvS1CRZw%n}nl z2bUJqkYK=6i$NSxc=v#4|Eq;#bED!zhA z_H|LTz@0b+D-Uof5;9KpP$mRU`qIDuJ+p>HHLII%J+&vM)Gy0=I(~XNnt15y5i;`J zMd&<9L?2}7S<62D0`Hl*ORuWV(Qny;k`0(YbkpkIe}HcM0vk0&ODIi45fV}Cl=a>WB+`Yo%25wAgcm;nNs8T&~(#H^oElA2lNsrR=MQsdl ziaqFyU6LA5EqBw*F*O_TYxX?cY1$JNBu795efC5C+!qv9r4zPqoq>bM)Vz|mLrUOO z6k43g*R!k-_Y_hq;wq-bUL}izYSS5@rhA8^cymSEfxp%sDgd;FPx@Zje;cn+T=C~m%fis{V^8_s_+D6-;5)VDNyAnF^fY1C zi)I7kB|vB^GpXM|U#hC~((`a>J;)E-AE3s z1lV#Tf|UP5wt*S)rYjtvvlRnkBfS&}DqyLe18H(HnAK4(AZ3vTv*DCN-a?z==O7g3 z!~d0lD$m22Z`{NsUoA0R778-Vf(uIm<}5%4IHSF}`Q@>yC8{x}Kr=NJYs&nu3)n3b zCfkzSd4h{kEAa7Qd4e%Fn6l)g@8pNy_$>VnoDboj+yzA%k@p9k=H>ZNvMiBj6Y8+o@AcOuR^!b|Fa&R9hc}2k=2l2YGp)B|C6VM6 zeD79qp2$v6avJ1>gDz4Map#f8M&bj*LQ-NYQXKvFOjp(;V+aki8NiLl@{7LO{>h z7p7piPCL$tqn#gsm90A?Dp-}uF36g#>04YYT6`P(V+KdKk0f#19=SVfr736G#U zWCfokbIlHrw&g?fYwt58FcjqMLr|}Oz>)I{SJc6oIrfL9F1?7zW9|vvJkZwWr&9QfN@tfw7>JOx2bU^1|5G~5XEtp))@#K8NV(*E z)(SGBIVVasN4QFo`18iRSNaiQE1FrdvaA5lW^P=J%si_*Jmbh_!A*CYWQ`vI}@aBr)0huT?c zFwrk)Fr6DtXVXPaHIcJf4C5a7Ir{m0^nIy2Q%4-{W!9)8GR}?C#dGSauk8@Gmxz_K z{ycX}eU=H1MLtA0o!4cL+dKNNVgtBmrqm<)n;v6M`y!cot1V_w8x6CJnoEIG^^Q#x zO=Pb|iIjn}4>gyPM}_MG%cR~+R##el&UuAXfyb||gKYK`5dF{pw z&Z2{|(77x&jPW{X*#b#*Jw+Z)$0Uj6B+8kL|9Igbn#REgw9bQBap#hmD2W=1oT5A- z#jsRuJapG6{R6+66RPBMKMdkre^L5Pd>W?)S~CcH>4}Yv*|!n=b0uq7!9m?kn1Nu{ zKTLoN>JVvPSY#%c6IMBo=jF%FwRF2jF=9;^ORxTiECuZJHu;;4ZUX!XTU5OU77wlK zm6I&^Tp9yr4ly4^98WV&wh%0Wx^+Q3d^?{~w$9JEEwW3Ca>i1>!whLQBA#i;eYZ5H zsA*^B_)>_Ev!vFfPs&}%V!8GrRzYsu8SWyOyBZiJSb$jBIYDrIX-2alEU~E#oRfdcJt5;}) zE;SMa2+$d-cJ3y5j{MM!+Bwv+U}Bg3AoZFor`}4;Qa|TXa{bfJ?>iszw}Q!TKh{5X zd-TK!Dpq3nNk0IJvH}3*H0`c~LXkr(eJl7fuxOY{gL}r~w0;@}-WAd+diPA2SA6Xu zJ7Da>E0XGaOY_EQoD&!4*)hgxeX|0Jj=d>FzgbU*j0M+c;B2j6D0tS_ZK z`FLpIlog~3*DEJ}t0_1MkQBth@VG{-y*)(c!`fDhpvH|t*`9Z1MX~8`HAQ}r*Sy^R7zW{c$`jd}@g=kX+ zvn<())oWeE2W{~@_oq=da^SxMu8f3qMEE^h zHJB_n@ZK>vjy?xn_K&^?3I+;P_I1KO7N^=dFfgZjr^n7+E%Ekk`iv^)W`4?f!z{B= zq_S9NvtjW+6&D2|#ClGE>TzI5r{mLXesj|w)uz}@;Eyo>Sgvnfvsed;d5+~SwNaTm zWzas{0_Q822nYcuWvwKBTR+PwY;lyTIhrfTC2Pw+eq7-_4IA@T5y0D4VL(#uaavvh zvuTORLm-$LM?duXyP}QV{LpiDf3I?HU%s?JuUgYgJzd7l7sZi{Ys~X*Bhn1O@{HR& zPzcn8vOOAs!8kS86JAn1<7<%uxxsmWZpNQ_Ev*)57jf7UNVhY9i{@qa^u%fT z+*Wq5REW3*tkP2){rHnXF4=RKNxxP5E1%RU!{fDlqzr&ZgQsb1lX9E|UHJLD059NnRk48{ z7%7iQF{m*4vqQv%-TdYR4F-z^q>>ktyU6Y+_QliM!OS5iX?S^LqQ8BGQe}6rTVSwz z^|^7s2cuWpXp{_2OIhCl%8Ma+Gie-1xypO^kcZC_by_qs8G|6coo?OhuGh*Fn zSs*3js|wE}1O9?2;4k>)8UyK8HB)PBisxx9NvxJF*oc%(ZY%~N2Jk_Y*l`N76{3?U zM3@w0PJ-`z(cr!z23NI1+>itVGfnJT6s23L0s~Zq%GJC;BhHpf#v06 zzdm{B`-Ndx$gzJ|*4}P(^c1DPyWOCUF4o&Fix%&|5h_!l2G0`)zyWuW5C5)nsx*z# zU_Fowwy>mfB!Cy=iY!@A{Tj1CG6+Zj3JPt!?M=%sj-7j(EnD8x=}}Fnp(x_FGWib$ z2hsPA@Y3iQY>=cx0=633Q8)L1V+?4Iq{W+fdq7&5agoQ-Nv~@3N^MWyX3H1F4Pf@c zAQuQr9y2eo6({gu5ATv%!1BKqNqfLsWE8L)L?Uft$&ZHfY2^FE`uL z5C5lj0$!QnE#bYI?d5M*Ipzuve1C>CFC8o31^DW4qQm9(2z2a@aU>8cJ>QyDy<_fl zbRm*-tLkeXF^j)^e_S{5zd}np&9qZ3|>k;2piNyU*fMQl>8YB>NWdOnFd*| z_{DM2HuF1Cvh$*gjNZCi8y_aP8a!d*`-i%2-^}kukmC zv~Zw3D`Ftv0aJVpG=gehe!i>vcwY|m=C&2kL{1T#kYAeK3KrrSUrEL^5gX#06sGuM zCTy<)e-1YU0TeCbx{N*pb87FQL<9jBiF9V`>O|ScLqTzb5A@L1NK5KJU5c=ccer8? zkxtq+R?&IknKF2#!p;A0P(R`Aa{{i{hXz=COypIjQeyE5(F#lmK22%Mr&bv}X9E(-55H zwURV6Dx*11cPyS#lgpo{^-WJmkVp>+r6ALQ!XV{HVW6Eh3eO@qFqy zszF4{|TOf`@map{BEV-GG-SB z*kw_=V|V;7qh{1j-W&uP^mdO9`Dgj_r)T`TmpJ2b*-g$@yiD;)1BWh0Ql=lPOAw2D zPYCKF2-Jf>lqj>=C3O>8>c7Aat+4&dgG0Cqb<=$AivP4tPGS&%vag;A#WuvNe1cQ~ zy!-*W&!bki`$q;(3H#-(Xh;K}f>VGW!zmI#2-kAI$Gzbo2thm(vkM|({n>TC(G@*| z5<;IJ@EWq2E)|7Xu`!fSjG-u}6f2;x?_LD*dy2i6?F5gDa$z%+{-ZJFNnBhH#USzJ zJRp7{T{AQEJOTt*YN(!IH|j9h4S&qnFC?wqe}7Z5&!p_)XNpi7Q!Y<2{sRAm18 z;+^8P?H0$yCmd`Q`9BG(Td2Akpb~hVPr9~QH~rXtpmL*-O-AC8F@P1bHz(uU<@3#& z$3Dp$-6r9OP97v7ilZo-fC2=#L3mj8?a_lUF!X6X54Y##>@&D%NZa^90P436d0U>g zD(bCZ;`Gq-unAjG#rYXDxA=7cLjrscvV<5#^yn!-jv;TctJ$Timr7R;1MLWGY|tcR zNduPMjRK0aTz?&ZpL^j^ScVVS0EMAMKmf1P?M$x;yH* zj7tdf>GoRh;R2ekA7D|WiFl)83gdeFCC$UAqP7j$k%0S;3{}2_B0u_p{oh|@Z z-mL@FEqy7q$nyXQk4x1jNY5ffYnCU!;O8jOl1wZgK@bRBI#!V?8Yhs`pUF=_kwJv( z*IitK@yhj&Bt?| zUXAc+FvlxWxaJWvk~oKMfbr7ot(gdqaDa%Bvma2TAg3hhThfmyU_k8tH+2uvx(deA zI?@3*`89v&s}u?#Hc3}X1p_>#SOfrAzco>^`x*38gyvV=A2wwT4Kh??`*OZ2c!?=Y z5goAX4el_mMtg7VDjG29D!biBrH>D9{MZif@F#f6ngN$7__V=|hSSHjaW_B2_{Cn< zw6rp07Xn^*MM@aNPL~3_Id_MEe!kjULsga~LSg%c%2F~kfdN;r@L*faG1Yp6P!fGx z83k^rGm}K^_wBvKv&pIvRwr*v_*@|crw49#usA=F-)d;iiOz{Rt`ZZKiY}gy{^Qxn zOXu&%OCP2Alc7_llB@Pj?WJplx(3P~g_2{ZBy+W}8?&=T@gGC&Qng=vdfQ{JS$;y{ zo97vtKdN5qYn?oK@~^MbC-2|*OG*Cvx%gYRiD|cj(-w0b`6UyFrqp{|Tf0Yy0S*Kr zoN@D4CkQ}QTzi{mmG7PVf3fzSVNGpayKodm1Qb!4BBHRjARPhe#R9lh#0p3Yf`CYu z5?Tlrid5NBlwJe`DI&dvA_0^ViqrrRkX}MfAR);&7i`_n^M3ESuJhx}A6|;AwPqRP z9%I~N%sCP7dn9H*c+n5(FWi{#TlnkW;rF`!0hTa2D!*~qRbZK9E zP4<5*u*c!jFQiE(p~yk5eV-#AfGJ~TvzFkEPAbomA;}mU>-)@G6lAdZy4{FdS_749 z|FqXoHGd5k+!Xb&J*jvJ;oVJcz-IB!<{Et%zJa^VRHNutQdatHV*L8rZ3B7li{5dx zDWdDo=j;dlp0#i8ky_3}dm}2xlHG|4OzFZ&^kwm?A{+%Rs}wJN3dTbg;Fx~_=ZnwZ zir0535DHG^iS>CBHO~O!F++PUr9-7VP)n)Zaz6u8J*wGiiz*Sy6W?BFztNRLwH{c)>z`*@Co^21&CBS-4~`zEB|J7O7BZpt@IbpsTkf)AHox{N_t@fyQ)*|`?)pxu7G%oAhF{C7`6w86 z93S)RJuttqzrgZWEK$dnT$_XE;5P`_n|mp{Qs+L>6plsN`D{@)@TB+c^F~z?x4&1< zC3R5Y`3F)+U{bzZE__>(Gy@Vm*D!94>lKT$lw{w$sp*nUyRDB#?v}|lH&yV~lHh9r zrL{F1o5PcM6;c;uIRVZkY%!jJaXP@!qLc{cSbu z`}=OsoK%M!6badzmI>t<6_q*RdeX<|JvvavMS>JhAn6DFl4N{gto+y2YGWY?^mGm_2zykJb~uP?Tx510y@1=kfJ%IpXKwb*D|m#?UAZXpJnjU9dZn zWrzh;mWA%VFE(wQu`8vSR##=o7}7;}d}^3@On9 zPBWwYOH0m9w{>-r`sDN)dE}_=i#AQeXuf2anL>y&>9b>m4nhq7ZmA~KJxI?+O3NoR z1Z&pxc&8`OA3S7WygtEw3ah)!r-a4S7ESmDxjS1~LMYeU#EzE%C^_VKTZOdTUe%rB zeL~bB++Kb4C2>!YD(r>-%9qVOo!8j?oHy{*L-#apf6Q%v;6Coj7woVnC8E(9)QSww z$S#7hEw&>1_~;XB)0sx@S%EBNnT#=ISnEB>CaIT>G9XhJMa#;}l8(sZdiY>>a*#%@Q@_+2wPo5U7@X>hp#Tgp4 zanXpF>3j@n9oaV+Eu(Il08+M{c%K*ier*7Waz?q~TJ#_K&5z)rd<(%vI=%pI^{97{ z96#FS*JLyKyIW5*|`>A$|`g1OkVwJ2f#RNnCspgFwCp){nIQVSpic^~{?#`HM zFQ-NsIjNs8&)o7@ckL#BWVk0K=*)_vBD5$lsi>d(%@@4#mg!yl%sVeh)*5Uj{%}5a zVDzUJ492RSQvz$TGu5YtObR9ROTS0Mc=rzpahA>!Ijf!$Q1-TaQ!X||^aI2(wCJkR z$_R9vZDS@f#u;QWVS?&}U@4B8QV)mq@I}falrJMTi-PFK`;mXZr zl0Itws`Bl-R^(COcu)%j_h>NCCgS*PsBs;Tg?!_m6zsM z#%xhRgN6DdJ?{WC$=I9L%9Er&E{&?1F(|{#J_OId=#e=7Ze-lWkYlC*T_rdq;0d* zt}QqX_x6x7wo(q#a`or{ih8@DDAmd!c~VhP@mJ2L|n zZ$36G{G^EXI8`LTRy;nn`8S2dmiWFG(d^|;?pCgYJp{gp5-@^-huoy~bVNcQ#P{om zAGqzr0%JW1Y@{`SFrk#-@&Ke8Zk|pn^fb};yHRv8g*|j-F`_2Mza_E6?$KCWg(^_@ z8br&$ao`xF#0YX%$0Svw?8+>4Rg0BtW(SC}4(3MBlZMcij$Xu-Z-mP=Hlv;NaGw<&ag-7t`iPEGxANC7Y-o}&`$iYb*k`pwUoh0A4|h(wRkch|Ln z-6qv0>;YG1=X+4vcY3NQR2`S(`{>3{$;8HTh>0>Y-3qm~V)6o-Kt)PuG*9(Zx0ig%&!avIR@) z1o}?=H7nzA^P;ykOC=3h{j#NYUwpAzhMTQYk!5h~9!B|z19f%x791%J?`>XK=mkHS zw_ybX5q{+tYJOE~-#Z9#y(*Upa`FBB=%ujc{Ov5h2SH5_TDA1Hm3O`NP9;HYf{wO? zhq$UIeZZkrp7v0e>#@^%8vDVxjd+TCmNkDtg4E-iW5&Glg@vcxfKb?iq0HP}(HzjS zj$-f=0I*M2UfGTWf>w10uJDz$8>r)HO{vkpb;CM*QJXO%v&2c|c}9!>bZOq~PuSt+ zU`UIOg9Vvc{Kww_q&;b{YNT~>{521a*Ea7I8A~5GLpXCpZXsmmhxmKYW?a zg^p{|kRkR%9+0-fw=If2yj@?fIEwnU&uNBR-YA9{^RrQL6;q^ERv5% zi~;xC-FR0a$|B~m3T}!cX|~k2N-q87s9Gc#7C#V^GE5Zr?)d_|P+t0Leh=sMhQ(Q( zHKZ;V%dzao^{4y1M{(Nk-*n8k1TQyay1l59;x+pu z1>7cIb~A8H$2xf5fhp7f$T(F~YVT<1so5X`fP4GAgsu9V?Xq>d8Jkqba!0;`LyOg`?M8s;a+{HPJgsz8x1CuC&n$ z+&+dd$1{66qrUbGb^lyb`Yidm$O{q~+gvtT-m@{)Zp*9{|J z1tUj5QyG$S8pNX>A*hLp1)K$hiJ9JxA5NVV0o&c6M(#T}?a=Bwox$1AC(yju%>(51R|m_!Fv_9ZlE`;k|)@%Tw|;7 z>K#7q!DW(2uQ8(Q_iX6abDj^tCG0%E^5?)?IVH!bnf7_od!2cb6~?~6 z;kr#vW&X>qO-hM<@6dHh$QvPD0=dCXpWV%<)OhTCU8fm<<54|)jq=E{uCh1ZOAaig zfrE=k_=y^IkDX3hOYlYen+!W?(l&g=D8N&`9*gu2?Nr*C&ly4OSLJ)syo(xKMh;tg$aAGyRLySwiBV51kz?9%oxf&jWe`wa+DlZ@$R|-g&r9BMh)TLDKu%9z zO4b3F*xJcMLP8+avkHwb7pk$Lg)fvMuX_(|4!5kY280(|P6RdJ1&@Bwewh|3K72T- z`&}k>@LeJ=t81_uIxq{X;Wx$Nqne84w>bGaQaqR@f`eUHuU?RBz@{@+Nm0Sq%Dmr@r z;Qf5y`n9Flb0o=?a45Qe7SILp{^r$$>*=71Vz+4s?hRRq*Ovqa=<|zDu$M5_k2OMKmx_sz;j$n~0?NJHZbj@;!Eszg$_15KGIoHQk zW&Abf(VHp-g6$|u5CBD^6G7%w0*E?`9omx?NZpf#d>O6ZFz#TXx5j1afP^DYk#k{5iq(kR6JzPN6Lk?ag^eDA-ODNB+cF z955EvdTC-zl`oj;FfhUXw6T9M0M_-^$ijZXZkt%w_W(w=hmRz4j&toqKs-6Vg_b%? zPj}g~&IIDlzz!K8NlUKn_-aFW)^y{7z5AWlc&?>j&#P&-KY)az znZ5v1u&q&1;%~cJqFODn>#Bk01K99C4y5EO>n+^SPU=iLtHXOj@tXAYjYWU^y*und zK==%UK8SL^AG2u6+GB0U)(39g>@Zdm0W%sFq5;ig+o5luclqn}1>slg>ekE3P9;}u z$4{%p{p#)EsMOo<7&VfE$IBqk+D>bx-eF^;sz(mBHs_a+al-5ah^$!oAd&cfOj>Z= zhH&B?W1J@8M0B2!;8|VU>-^huJP(04)_FNZ;w$~eCt_sB`p^Y>->#7dpSjl`3F>e$ z$5ROgg)*Z1fWuHP_fmy=73{#<%3ok9g`HFYer~-axxvkrD7%rs6#rJOOx46`@Pn+) zP+hA<*y|7|N-*@qggYR8a!C+TF;Yg8c4#*>YkC6IBJ2%we=j0;Aez_LnZSm~D2h4w zE9(Jx0f_WDm*L-jo5#Iji*L4NkKt)9fA5ck(Zo||jF=0I3K3c!)VZmV`-Bj)SCAC? zYhQWWXm)g-24?LqK=9#%vCJV7v&<68e|IUu#J5pm_=TBcE&fd_(U*(dCf zRFk6GuJ-UsoOBt=%Fh=f*ogXxHpsE*9B&S32G%RkV1>v_PXun6cNe2)Yb|oY+X4c% z9I(CpB>J*;BobIqbC z*!jG-REJ`Beg0*0mO&2fQI~be~%HyCuq4{zZ8UBcCo}%dw%J zwCh?{@N(qlR6RW5kW?p#q(2Bf4}b{95p;D)Dof8$g7~ zseo@uxh5z%JM1Wg7gV%=D8#(v>$KbZV=QHmb%z_8xFM{GMLt?(G%n5770i&QBZ&SL zkuS{^{Cpp6gQy7bc;Co);ChPMo8qgS&kVhi3S~ME-pH5)WPq7|_Fjcg54oN*?Vt1* z40e(S^3@}|$EQ94w9Us6lvvbBR<-;e1g3?(LN;FQor1g@Z3&)8>fyRNi*49x-F*g) z;*Oa!TAY`|0Pa7tB@eUv)0grMMsZHiD0Z6JV@Tw$Um1I#=i@#)fB8CxtTqsTV0bd! zO!jxg_hnK2J21!brnnf9;A9~kTO6G-uwqXMiD?eS>({B&%x^S>M>LCgG4SL9k%@`} zUNjg+K>nuuJC*o-=5>B+zo-T1dsI-t1w)=?jz~|jci-#R1g3q4g}rqB%}0cldMiWp z2~LaeKnUIgPmCiMz_zN?V*Az^k9gAll;8Lhwc3t^-W5>Xiy+*@lLu@eA6fPA7p9eA zNR-g4N%}o=-tIutQsjX0K)<`wM0T@fW-UX-zK)f%afvm|4J|HTIP)BVVgytIkM?P7 zRp~!j8Gtl^-v^B+t&f%iI0QU-yi$0;duD0`=v3H^oi}#!s{76j4Nsz^r@KLKL6b^= z)D3*uCccj?{CGk#AdNSoH*ASJ?*cdF@~dxz4NvYG6u{i(L(wu!gY!*h$)p6z9{1x{ zMh|)k5QnVro%h}k^u6_hX2$Cqe&q_FE{|jF`_YUvU(v*by8N_ zel+Jc5TwBGAAD&5VhZv%Z&MwJUx&2&8AOcO_&%hPCrW0O$$)u-8e>&*_4?x-Yuz~_ zYJ|v;`)ImUYS*#-qG$7Bg|Ax;hFs60VYT4oyC6E)DMU|>nr^|^f5gEMtxr1~P z=b3nC#k`LX*rNy4q(VU1^W}!65tN~Oi zU5|8(;0%_2IrDqhSwNt-gGp?D<#xS8Yd*Oj@qU8)<{%wm({g2V!UflpC%>&`Qf=pO zLO98=rovp+(PYcci>^Iwy$9s4G_YXxPs_ObY*5G_%kv~P$BgAH&i+9jXi~qIbeE{i zdJ~X#v(4nB6$Y~QJ{@C^!4KHlP zy6p#Trf=#_2>r~(zT75A@VPqS3xJ%nx&eV|x#7JQltUT;>4w~vg@#tG%)feudd!GJ zr8TnwqVAc!q=kI)+j?}^i;Jd_+dtn~`2^IrY_2FxXyavkHR$gUUfN2wgGsKGRTG=j zL&iLgJWA^%us~FTqob-CV(WL-$91=#MCqY8uJNEs1|5A;c33;?%4`Ebl zHs%TJMIdM2ED)9VM*1{g`sa|?_I4!T@H$Tdx9kz*XaKPQ{KqQG*EE<1p!3$PV?(bs zSJxmrIjLG_*1%*Wa#}YNdK-P;O6y;AfqQv=Nm^eGiEcLQ9%CLhlR6J^#OtaP2i9w4 zV%^)#rH)(%ilNKO{!6f6uxp9#9ii(~x{4&#b&}At2{u$GODYQR$vXeouj4cR?M-)D zL#0~D6PFz^-}Ju=ENCZ0mkl^Vq-wPO0!aM*Lskkx-e|iz@`}>fb~uzevpMZej_fEV zFOAHO87bLvo##%hu)CM$2r+MV*f&0YTjeG>=8xp;y;N)dbq#;*vOCU%7ZF|OVu6L6W`8m4K^!_ z#^@$nms<0*h4ME=pnH-B+jz~LQL!jlCBk%xGhl&fz6>s46zpEe}j6i}hAD`Y? zA$g_CBzHQ~&AVqeBe}35){D8MMDEDv^X{S2ZS^s$(#LS!vilvRW{#`Rh&HkDlusp& zMvkO#?g$^O&Z%_$Ef&bQnMb+vR-7x|UUGp>NdZf#?mL0~jHhpI6BlUSEF}6$#o{2c z$141Kvt&Y?gy{u&KKIS?oJHTs)dNM-92ghcoW)u<1Teg{MQ5q&O?W~rogeM|L}@YM zIH$de7rn`Dz`3k+S3r_2 zJKT{cib@{2h6JM2^HAnv!FA`VBKva-{oVb^cL$POV%tO(($8^Xy`S{9&JIbc#ZgaT zMY$;z-|y4O;SQweQ!fGblbC+kd%5cyDgPY1KG9K};pf z!zYB|&^{MiRl-N9?XoyRc|`Xtbc6>C(0iEYxfV~N=DufkfKc{vK+b+x<*NrV>YKgN zv*DA}k?5Ea57*&!c;#66=Y9j!QRiW%o{%4YDjEc$h=^*EuH+bjAkP-&j|t zszM+xl_0+B+nRZJJlSY{z;x-h^!GEDSkN>~^XJazX`8AIOygXnT6+50=T9$GFrBZc zi>K5iSOzw$YPUVhCLiKrmfplPPM}v`9jMCFpH*sHEjKYTs5J;=8v5{OgK)lBF#>Nt zFESKtzx8dBErZ}|??#^fTk4geK!Tv-NKOqAL7$#;od}jY=V)Y#PsUnN)cR6oTOQ*2 zOyuAnN0F11$~Y~O=f3v|RX=rRyKB|e!jh#v&&|guS$}08^xYh$)8L$>=u#6E#@^>* zPZnG4c$4Otn}bTt;Y}4?H#&jaD+^U@aHf4C)tX#T(g9ctkTOyH+^O&j7YYb%zVLX) zfPoH>!2Fimcc2bp_U8Ls^~B_HGOXfFY=*!Lt(O2qx%z9$c4p0Tj44+A-kLPKIs3EY zD@CTKHMGN}mV=+_>m9@ibK>X~Y*hV+ z6nrFaY1aZ;Ea}T75ZOMK<1~idbAycYKaA!zwvphM05~$H z7>v6Bcx4QdFCEu?kh@ICY)0C*(+I>sV;6s;1S^6)_((m2=7doAjRTwxg+4|%%`WY` za}qHZ<+|OFEr&zS$xHULWqddqz&`IZ+;DCX>(Q28J98@c$eu&sp=+_eQ{~?_D9Il` zqL&`ZR5hFoF5rH42v>T6i@7VP05w)P+#kO9R)+qgcyZEXHoJF(5P{qVLlc0!gU`2u zR*oqX3#><_g-84E7OGEdtTsqZwJ9rvse3$H^5Xg;ie8y0nnO3$<{9+Zt2YuIKORN1 zM^MTLx!Ft)UajT&z_pY^I^HE6R^CooAT*yExaI6%Ou;mFr@2`FWV8bqs0)Q}nZlc@ zfF52TLgfgpxtR1*xz?Fv|w4p5Jakk2%$(Q2JyK4czH>LEhP{&`e&LDfrCGO1jld)>P zlV4|ny&~edpRwzk(98_sTm~yO1^G9d>9&a)p~#1fT}#Tb9XeTwJsSkC`DA?3REM$x zg<9qB{_Tqt1dcV3D&7hQr_@o#+IVh;#nw(%*vJf$A>9v`;03uPiaQf*=?p(5F2IR|nMbl%Y8Xd)k^C zVdlQD)~H&tGX2LoTR-hVnfrt^KZ<~@;-d`c7h=DC5&gzVve_!kbyvd_3Og40z?(c> z?_)}_tsO6z>V<<{6eZ1o`SXHmTMj9&R0BrNhB^vTg(Ef_BZ&;?@(P1SpEf|jzqhgC zUb4O2MqHTi?!L?BW>uuBFJt@ADDJ%W%4t^aCbl^cN+M?)*R(U0^@<(NzPclnNJ#FB z+cCR5DotT+Y>hx0Q=|#W?p}NStc;_N6(1SnDcrt{a`xtuy~R<_2yPTeHR91sVv^o$ zionisIo$RMV=544Q&m8GjqlD#R?JUJ^yq+K-PPuy>a{N%OI7wJWo|*A0-ttG3FWI~ zr`0e$X=ykXqtEzwy%ABXw>3mx4pX1!lDgxwSZ)86#s6_hHPVzdPFPio(l0YTp#7so zneOFqLjB>R_Woe15n8pkBZ~HZJlE1uNv9}=)6C3ix+fm-y zL~pTlH*>D(r&aFnbKfpba+5N{Py=_%!sKhy#oLWj%1;IePBbrDZo|lTL)ERtc|l@z zbm&&-E?|Zv;R0kDOLd-Ug>1QpW3dttjW|P$cK{%kuU1BoKI{yeCY~A_A4un zqNXU*g^wU)$@g3ke3Wiju5B7W7J(W_YU*eD>>;LHx@GTM?sV8kLFg)|`!s~E&8RuL z{|j)ZS{yV%prr$to4+J;2j5&Mz`fyA(vEZyBiI+NK{nKGOfG%dZnd}p--GMn&2-~D zFRC@~4TWMG-`~Enw;3Juw~)UZsc5#%;}FWPfr7F~b_*4xz$#`79YRyoVLstfcadv6r0U2M(iFnMNp+b;n6o?TxgJxijsPX${}ODLvIx!hDncwuO-Ec8W>SaekXl^vrX|4ozU z>g|)U<zcP+3hOG8gfH+aqvx%M zc@i>D4#rF+_9Q833HjxO@<#z~D34MUKgws5y?m9;ov#bOiW*pS(V%SR6+ z(Lj*5(|DEyX42RXMDI6W*Yh-D|9ngG@fj?6+BEybLg&@14V$lOB<;Odw!UqgQim~| z@OrvEz8&-mvnuH_P(2k%sW;VNu3MSNxg)UP*v$RiY48apHo#uVuZV_89(j z^G&r2p<@$8T}iSEq(_itHLpSVtf*Qt zH<{B+Yy#W&sWg55_*gLR`_Q-##UtFk0Tcs%DB!@Zi>ZM%-uQw4DM8=-iU&JV>pHog z9SCecsZXU%m+8M0xS?E4p5T?vTlN~k4ad`bzQ*6toy^1be1zvyssRYxtZ_5wu+^?& zUzL6x75G}Ew}tk=qyjb7mK=4s7>wns14t9G&l773^75JFDx5JVK%5FIj&jUqfN?_A z9)-CUu6zCB{$mAFN_J95V9!V0vJ+q_`m5MkX`gB0Ep+<{UC%DhI6Xk&d2sTKY^YFu3unjGo(?oyNy8QLDz z*YCG0;H*FBGNqHlG|@8Ti}u15V)<)O6Eq_g_wARF*^-ICo#t$PvY7m&8LeWF-n&$@ z=iGF_??;k+j57cOO<#Cl8jKK$UefYgoKU6Ozsbj z3bcF4)IF0uFzvi>4ddIwf(f!fO$wdLRUj5du!-8H_m0a=l#f)d4%$(Z3^$(k{s=d~ zY7_9C_74`y(9lIK0kMFYyJa;J_ib<4SDE%rRt@{#3L{lbCF-(eCaY4Y#p?r-@16OM z9t9lT>bCiH-@=9LW7B70Eyq$B=oJ65tov~JALX->^S689wEC%U zARk6TZel_|DGG?<2#Aziw?T-U< z6NjQx8x|`UNXu|6-CJoshy-%dFcBnzT2s-w-yHT@=n`i>b==|s?9xlK#=JNtL{Qyx zy&zafEqS1N9k{zorPZTKu6fPu74s{vB$E@=XrsvpmP{u0xFe~|83I4fT#`dS-MXAz zCh&fYKVP+Ec?f}EdCF9l?^8PEf`=Ofeqo-!BSF;7wb&}c3B+UH3I(~F=Kf2NC%@8uGJ zpLmXhX0j`vt3*7iXDVr&ciXRWGRn{rtotmly4uGj+t|u=Ld3@k0`O;s(65e!*aJGl zij(A-ZtlIqRccPRT|ICuefm*01Zm;aXH1I_b21B(2E(+ zYN=o54m5C;M(t{oe*7r8xf0_gaV~fIqTG-OK49fQ#I=&pe@S0f~{r;>NE zPjQ9yHrafOOS==0#pA_(h6PvZj?}eSs(xV`aE3z@rs;S^qXAkkO3nJl<$Z3lC$8Qe z8U-tA?EbMt72xGHJRQ6Cq?B`v-Pu;l8IJyJsc(4qXmD2#xL96ZC_^1&L|HH`EVGY^ zJjG9v`*EmAfgnML8k6RgV_H^cP9KnCM}yC+LPtrqsQ9>8L*;Uq)j<}{vOWK~a*iPL zaCtVFKbN&}0PSr{UWv2q@eW6;>|_M;q^)W7+3F?a4T_7mK<*d_81H<%qS5#;dxK1Q zD{n593p}~Ycfmpj)C4+?Cidmc<{CJZTEm_|DPp!A9yQ$S%hy@)H~1KD{36ygHfg)( z#jgzDj)zhw#U-PHccJF5FC2@;*zd9eRrkP=rN71N)|}*&&xbjrXwoL77)k2eQ3N1b zo!9sdf(o!CWVH;H+|f~N+dMi#3+j_dC&H8 zcRSM8&BkaLC||+pSgW|30l5Xi4y)k*771pF@6mutrFKU(_rPmmx`)2GCD}t9F(OIw z_Di3kViK-{gNHRFPwocYpob}cgKPrNrT=qW)R_e1QTr`Text$5AsNlSXOPrLx(tQ# zT3V(%Pv)mh&U7%vmyT^;9rkva@6Jf zBv>rJxltA3r+qL_$kzdV*eST+X)<@89?W_>dE9Rb>^J!3WC4U~qi-~=0V4b#D%|Yt zahXDK9mVq*+1es@3@OgPt=!IVz#nxQkdy|zwpkNp=~L3mkaagVI&phb(bG!*880mA z{O?&Ow-%UI3-WCQlx2Vjapx1@agB5^h`J-^2@9Z3qy0aA`wJv+`SkYa+1G_K-T1`q zMcItyUzIK??CAY$o#qy2^(1gWHJM8VDg5r@KN`;j}vW9$# zE8zAv6*Y{65V=1S7#~obwbT5d`zwkKOe4EmQTKjm+1jHjRufLBgQE2pu`4ea>OuBM z7lnPcT48lH0pb310UB1d$pcVaazMJX&96-0x7_ z*QCCXZE(Tr(q2aCi33m`fSgQAV%VX|>NK3FZ}c<63ec~;;V&(7J+_Nx?;?^Vp<^R= z+J_v$J)L)sWo8!px{)kRFjobS7JsXh1Mc1%>$sKUj57c8jT$H%00E^(3!#+}qKp>X zkP`yQQ0kr*U0J@$+Zfu)Sr~$GuX8Oh-Qn)ohzjijBWHtp9`Y#k-Xk zJ6VE@C|!6DWGJMLgwDTx4T;r*7EF}%#tUgkD|cWLbXXYd?o7cn-Ds1PCAT9J4;qeT z2a1IJ2@GUwhpO4~dEd_dP<|d6yV(PS zb<#TLPQ<{_b;iQ_Jv4rxNR;l9TC#diQ-5XPgKf<4bzX=0oCEZ;_V}8T)MlDGfDoN? z)$SAaC@J8&)!J>YK)~v6G%@dsXQ3zQsn7-k`1vV|!3`H=Cm=Bz8n|N6(yU8!_iE+6 z>9Dy1<$)U(c@L?pJ-;P8>i2xn_ume9WqLP#Ej+%cVe6cQspODv>(3_U4MC>#E^s6? zDEcRM=i67vLt>et$Oj6aL&i%7S#UiBUvw6371~n)$M?RwsiI4|zIF;-A)_4lt=;rP z`Jn*j|KGPh8OTngEf8Bm5Si+B$n!eKmD5wFRmFzi{8*rpCeSG3mBV%YxJ`Iz(K zK|eKVmy1Smt{#?ST}2UyOb9wtj!PSDR>~!Ewzd;lFGsAr&^zy2SC>(n6}_wTS}cc6 z5@_ZffhT;o0mA>n8mVfKUZ1(V)?tISLP>CII*^QOMG-_(Vb1BR38GlF+Yg5Oq$|Y} zoeEP=27q$t8q00JdLaIevru}N=O*pb2Gq@+#wv;CWa|tB#%i|R5leUim0MR%({a(9 zRTq;K&yRc&JP0(*R31k#d5cbqP%;gjcy%j+@n)p^SW~KdKj5&wKd#dITGt2!9%jqKfnH zlv*AbPNoekVoSf=yt*Eix=sjV(A3_Wf^9b(0HhB=rbQ8*kJ4`(ITY--FF$9tI9r+lQR{!nv@;+6@@nP9D3FF9DYaQ; zyE(*vUc)K}__V_*!Z(!0#!HKdG*uhwT+P7~a+58<3Maf(RN3?8^~#GR=-IT|tX)DL z>`K7>PJF{42cvG!1uOG!%+aGBm#)=Pwvvj$T>%dFxHTh-bfsHmzz7sU4zqflB>P`k z)4E&0?x!S&CjSj(O|tq+-`g?Hv}3ax2*D#k0-ytvEm4`LvOgXA@Mt^b1egPHvUkq^ zm;*?5tue<_E^}1b<37pTkCe+Vjz)GbCBAx?VsY=9g-~e*yMOWM<1>o)g5 zT+uFj^3N1}0h|2&_WTh%@_EpATG(mt|64gIpezyF{0^nd;K z&d+&nL4L`9H>niR{r}O-G=3fM{qKL&`TZ|-V`zBmsQ2<+ayHn@1 zTLbp*TR_kQ`@ennzxO5oexBi)_Ajdj{mgLuOD#2acoL3kJ+SK;mG9P+{(b=bh2ej> za*>e(B9Z>Pu?qj+PS|e!(eBe^3@~Opkhohr`1_qRLi*Lzsa;Ug$oPNVEns>7ZJkHq zZ)^V8S%{inCpql?ui?+vkrO*>u~R+)erV=5v^?Cmo+vpIe?g^Iu02lvPjSk6nrmlc zm(2&SAJ(=#iK59j3hV%ZAgL%Kj^6z63s=Fzb<5z;<`n;=a=QPz$C%z+Lxv+?H|84H z5V!&N{)EF9P4oYKQ_b7Y@nwNhLMuOcmR36<j!A1sqN$3q@!dQ%yPQUe+soZZq>^bp<6YKe-)cU_fp7kzRDE?bGSm}$6Vb=>^{d6db3HqvG*cB$P;K|<;A_=okcw%F@1 z1|8IT8Z4VL?sg^M zTk7AdHw`WtA?{UAjsK~g!SH8C;A;PYA9e9^sB2zWZQW7+HfYsmR}0uiUe{o_`Jls*V=RV4vjEe)3=SIip*;T3cjYW$qe=ZHCh**&m#+7WDP9ZWjVr$P>P%v(BpP%Li@d+72F^;qQu7Eh1+ukVc6ilZ&OFv3yMPopa8G z#Wl16b?U>@3EZqY8Pj?nJ3g+imGqU|geT$JbG6|mgWS|!jitL5^hWeKd&ehZaV0|Y z{ohK-*Wk#c+^pXI(+o&s`$_ARF^@z4!Wm5J77((>bpg|*nenvALf7eUcq{)a8IWGo zOn-jkea~#IEhn}+kxq;scE8*f?A?UX&hWR!=0B#tqQI{vBMA{Xr6#`k5=4zWUtCdm zR|lk8Y}*U(a^{`tyC=HOSz~jIayhZJHkg8<3llNZQ7%>)EG&z1hQ=P#VY*iHvHhlY zy2W?x>2T^-8V%5m^Nw?t=2*v?mjvG-KZb6Sik#CVYev2Qq!z+5&qr*fOgun`6^bpfcw$A>rbhTx6>WJHq;fVaYmn+qlY=jIst#>>6-{Y35M zg;<{EH6qHi);Oojx%5E>rDj+z7XNM}*qrs8dMU=@ss30(h`q4B%2`hf>x8U~#aK~1 zIN#JqSbF_?<=I!Hd&b^TwRqb^eNE44{T1Y~eqHr*31t|P&FsdFY>yESJC2QM6a4o| z2{92=1Sh5JF@ap58dZacs~N>sNl2pA*YcZJN0m3owT9IDay7FIYaEo=Zj0V{;uDi; zd7NpUOZs4`SGtd#c+IG!I`%rh%h>09tWobhWyg>wi7!^(ttrDRx-2 zkWvxpo6^-UjE^zrzvp^djiJ|z{=KT{Ka5U_8&IF`D|OhuOk0Us(Xvk>93kaubZW>Q znY63ZWRd!VngH+am5;=7-V~>_rMZ3^EV?U-oDS(CT4awZU0E^bID%XqQZF#-F%K0M^*3nY02OOPm zq`$Tw%;Nqth0r+Q+%81;c1d)V10S(cq?c?UL2kjK3EFa$VUI=gWM0j>6<^0mvGuTZ zO5x!yZj5*^(sn~JEcCAx!`9jXIf(u0xr zbDJ&UrpEG4Deu&zPW69ND;ZU~@H7!VYU*?N>wJ2=y(n=_sMgoCU@xy%T3?B$^9VUj zHyryJPV3ZlA%v`{hTFWX`>sq&9raW?(iE$QWDH(IZgCUxyil`pddB!_%I7zXRJs4O zNgBOLun!`lMCz@@hVJEYv_Pen9PiU*ua%A_P=~`Y8eMR??R(XktXrQV8y21xvc;fg z(ZiJB#a>Z6QIj%-o4vuwj2{Q`lU_b-MB6`t4;OD2y52oD4ePA-+CQv0NFg>gkv}D^ zS9A&8n|JX}6PiDQyjkKl^Y!gIf}1LZxWPQgvxf1W565d3qSW*UlC=2MkJt~$-;^&p zRG1vfAe$3O@+s=i?IOs5su}`Ti`<=NRZvn;ORf(f7cu>`S@&AQO!HQShwP~Z+$|hCvk^hx2j)R)@dZx~u{;i{NR_*bBA6E6bWLQPc$j$3+sMarC zXk!jgM~!F>;#bNct3ySPZRHIrMJY`tJeW;6Sb)9b-Pw4Xf{Gabvg#Ig+@4#~^ZJNe z(DAn+^S3xOUrz3KER29K)K>Io2{-0)R)VUiw_SGi^VZAO?)Hvt#wX|5{Xr^7x3$*Q zQK__3&)I!qv&P=B9|<9+!#vL-pUb!T0`Io$k^a=I@oM2yv8(-|7PpivylNi2ZH?$k zrJRC)G?R&c=Lx@!JlQjj4x9eTnWa^)pIdM|EOjG?)2o>xPDal#n8&PoI5v3~ca66S zCrJuqc+ysTlU;I@2;M3nLP0l}5L-R}6xnAWy=F_JiORjqn;}%2ma3_+3#;VXTX}3^Bc(I&qyf@a zhG~4SS`~oMahF!gcd?Thoufhpss-lM)%-O{125w^)q?rz;M0NKF8SrBR)#??G`@7) zN5t`CLF0-jqkB{Yy|CIxERVSLL8$W54R@>BShS;sm@wY4q$7I(6;^#9ePngzPt&6H zHC?z(uXV~3Lb5`Ch`pBgB<0hlnkR5-Kmr+Rx7Mrl`$26fU^Sp>_Ir`~W}N$FlBd)_Cd!b2d#Y-2+qcGaaJ-0O+esaE=rbJ#Xv7FW&^<pc}T5R$Wu2M=QmxJyj2UpKm+2iamod z%j(B@eI6?{R}tg0ZpF=sV&=E3n&?^`I4!ucBWozSdULDf-slQeS$9I!W2+xKUz%(I zM|(V&ROBphHrp%hML#ZFDn~dWP+GEH z7Hs&875gUc8)jasW&I-TdGXtGioQ*4Si;uKUzYnX6ewH#Wf|EgQ|ozdL(fi|W0W2&V z23x1Aw=v^c)GbbmO7e8D+|Rk-ZcUn8kM`Wd$6#WrZfYN2Cb+cuHN#~1+FsiwVV2|P)OAA$_0?44 z>VkU->HuJjQp=K`okIQa4_>QLDgP`?7~uT!6vB~z+T*k%)0;_G%8{)a`nU+ypwDZ_^tfj{^`YE90|Q&M*5S8KyZ zU~`8I9=Pi3ZR+Lw)K0e(l?^b?l_?!0)21!2BL z+tddVO=;!#MYZxhd>)=Wx2SI<9l-JbQTOKIP<~P1__XTNrbP(Rj>u>wdxRp{vNJ>> zYskKg7G$r4$eMi_lYJc{LfI9@E`&0eEHi^KGvD`}LHgA5`+lD9_B_A)$1Lx??_JJ4 z=iGD7J@;HpqH3;n3X;?iG2_{C_28NM08uT8C_R_>LzfJ7bgB%P60ZY0+?_k!Klb6A z2Nu6=I{V7TC*ulcSC2&YdCpgUH?E4$#vvV*4qysrUw@{Y4){8XGUS`$9-Js#4ijw* zn1}Mjlmk9!xFtZ*eOMk6N-2TG>zvh2?;g+f(Yud^tz_>*YA8*G=_2(w52)C3O(5i# zBm{64aVA9OTJ;io(MQ=*lpU^t~T|t?I=y> z-ud$FYr%jpK%5)w;8MU0GdKq1o0K;O7Ix*h@p`VjWzS0pFb#Oj2{$sR&2y_&pIsh% ze{3v~?TN;q)ra7Zd_e*YyM#CC;)t%JAA9mGBqoBGw=FT5nS@ri){`;>^Go&)Esc0O zlD?TZEH7C~xSBZy9`D_wwD3c@f5?;Lelo;avxoIEYyESc?z4IT&d}^@0yS5gaUp>*=$(0 zM{HxBN;0Iym|jvz1!IgjTw%bP^f8hp4PG(xmR$U~D#lFHai~siGubrKTHea+{@3c2 zJg+N+TC*WyQg$nJyT`@Ml^Cp&o@WO4D6p+i*oyRp6+dc4j@9!K?%1Knd=6bcAmVbZ zr_|63MhMr9f5i6BoSPW;N>W^p5`ngXunO&qKrkPb;o1qlz&mD_RJ@(P594=PE6BcY z8YLnd1A;*rrGKQPlDXE{QVU%GKLYcx(fd+s!ou%vSvEc=3OMyl^TZwz3GfNX7vpkh z2to-gwJ)Nh+?x+h#J$nGGp8~ET1m;Bu3T@9DivUScZPjYj*9K+Tp4F!%&eU|Rp zatwxj6fYhYY*y=NUc@NSQU#+_fK)LcJymYPd<)vYSGk_qYdrXqYaeIgE&SuyxesL* z-Nlys$|c>@?)0OOeR*@a!gXIqTs#2f>mVS3W4~4$MY@sOuO7@~a2zuTg%ePc3eCMg zSBj#E%GO_(J)Lf8%c3fCG`U`CT^#z-$_AAvK1GVcFx(RN@R$rPyoYuDGG}O3Y+74( zsJ?2K&LuYZXLOmae66geV{9P#E#+qcVXX%_Xr!uaI+v9{LFG79a); zu(=Z_a@Puo!AzSM?_uChGN~tQ|CFa|P2FayZ3H!cuh?8vICkHKZMH5pmR+z*=Nj$$ z17shv2#5-x07a>6I$x`3Z;(#RCS7ZbCy#Elb9eD^1e0uaXR!-m)d;jH+7>UeGD?Ih z#JdlLW-`Avdk@fd*nl(>%IjNWV0rW4pdraPq2$32J0S2>?4|k<*7;Fp6T7LJ3p+=N z?hGJrNds5iq|Nazof&3dz{iny~RC`}YKx zm=5S(Wm4UDM7C1(T_=mz&q4-vnBQxq()~Ef_fJ21%Ln^@iVOkz-ok944J%<=Q`OIR zo|Yy)1Hn)4TzhbBVYHBw-RCunfV*Wp(_J};+QLw9j?9TWs%;&c%`{d%HI@$SVL;)R2sTl9<;{`<`D%%zphoT{@Zl?Vo9_{Dcuw>ZW&V;kCv&JF=g>MQ8>%etaWd`S8fz*ehP} zP4lrr5>cEb*47r+>>|eR#lv33>5$cQ^-5|lUwf}J7*r3P>EoJ>nOeGXfk*z)!~DIs zH=UA7(mm(<6pJRPT>j#j@f`^&bBR<5vF2#!>s<`Yq@QLxL#^>a^B6<2k?fl>tcvcd zl`8Aji~2Xwiz7*SdRC*p6UC_jeM|KD)@N-MK1&_(yg%HN|D~fEJ9bD~{%HL+E@6R7 zmV&KQoTE#UFlW`GRug_NF?K)0OcCb#%1XdA_JxLN79(Ws*1#*FSJG=`$M-Lu$N%iA zlq|MI3`wH$3JdRSV^B)3(6mlQw&;b9I06UIJ3kg(Iw8$H=&3XBDLYu`I_n_wtaVpy z>z-V$x#}~_Rc;>i?W~Xr4++!%Lr_AJfNLH?r-C(4bX6VtQ z@iH5%vCD?;n-ip&GQwF1a{KKOQSL%w#f6i*39@6gPgNgiW99Zg2k{Twy#Q>af{Ax)fc2 z<}Wk)p=Zf#S>(p?2|F6;IbINbhqXEAM0>mz_6v(4pecsD;ya=@5gB|A&Eacu9pTBk ztt*$Yv9;B--px0D$KLLr`gqD+8D@cZImWKG)!P9G&Pxk5pceHV$gmhH{_%;Kh9B`} zM+WAr9xv`z@lxU#-iBXJ>c{i^bM|$-L#%;qp9HazD@C!j#D+Q@tvpyttt^feFYhx+ zLbzeOZ^r9l9f0#^Rc4y#j)!{tqhDb(4L!OVzJ$%fyDH)sa;9vZ$HE*X(K%;#jq>bq zAYbxMu!Shq8#Z8koyFI7go(OeO6zd04pvm?OMdD;Mn(B%-fF&?`)%rLFT zEUTr;pU^`b42_+YNzbt|X8Mt2PM^xr(?Pf3k+X5;m8p?MyXV z{K&UCv~sQ~FtlO1^({0@>u#?V*Br<{3|L_WC|Q&1OiNw5I95>rEN~n%K^3t>gyUkO z{qDo?pV&rY>Yzp*SJJ?kVHt9=`^X5Tn|RJf_Kqvl7L1#RDw7&l*xqal(%f>jwyRbV zlAS$}vEguFVjRxn#~`?&(}=>=`(WSC&Ci2o_rYiL3)ViD6^6dd!cafA)OS`01bO>? zR~{*|pBz5;8Q6ij_ei9WA8OSn=|z3pPrRug7(q;FcR~ohmE%x%YSzQ$%jr8rBIT|0 zeuzX8A0>7b$#NMCj`L1ba6Zm`_l~M4xeIVE&%wB(l*J#8FHW&CwZ7R=rbnqI6crW40{r_n;p?} zpW{ti?-SVQHf`_WVe*$-iXc)*;eZ9y9wnN_N=zLKy|?XZ%7we~?aEEb{U5DLT`%Nm zxeq#5x)@$of2d6UYKiVg$E9owU{LxFTRh|=;d()yr8oG*QT6Vr|C} zf*y68Crn(uGOEBNJQ19ac*#PU4LgJ$q(-NZvaN@PQcUcaQYQSTJu9rJntWCQM1Vl1 zzF3A*k=Egdc$a6v^#duz0R@d}C>Zz@D`4 zU2-?}$-vw@yUx8LX3X}c^a*3X^Y+;BPNN%IGu~=PIKz|%oW+uGp#=9YUD-*DHyET5 zv*?BVo2px57cM_YNq4DGAWco7)P#rT>w0%dw2?i*4JwV8v>vk|c0S3PI?HS2W4QNQ z4vBr%+aIG|IW#J6uijFsK1B)`y+6xl+`sjaI-OTk%yjrWY%m;`25d7LlTA`hXD>F+ zy?K9s7qH`a*GH$bDNal0;h}A^;D)AV$048h`ycP$=GSh+#CS>Vfm=h*xiAOfVJ{PL ziHCKLq%KQ^GEf3SN473-NRS4(?)hk?U>^XRY?oJh{aU6Z9GtSL^;$#Er)x4!4==4`D~b)8B0(5_9AfNWNl?#ff7Q?L}S)#xyazktOcCdxsZqPsFf6} z(}W9zLw0rZ<<)*&rbHo;kP1XwWMt@`6whzmXggRUIzAlXu++_pbiSV$Dq!H}LavYy zY2Btcq^tVs2#IHT#aN|=fDpB>PjNxbRgz8^!eYeHw-?Iya~{YqW~n**HbDZ3n%g}8 zoP||Yq@`{?2ZcptgaeDJw%tm==$&UKvjcuq5t8^$Y?4vsLayp7&ib#fs!I%a2V`Dm zhQidYP-^WcS9|iz^R=fq>q&Xl-JgE$!#p#<_!&${4LUx^5Kd#;qnmN6w?t4BZHS8> zxrAOx)XT%p?9l!gp;0OjG>;y1`%uKRi#STw=r6J$+riLZ4$gAI2tQ06SPA}SGFIvxaFaD@!?Y8#66$ut*^Fe-}R}u z)EjslO}rhID@wS>G^4?{8|Q}TVip`b#1ol$C~os^ul6Ci_*a-vd9=!)5U5RMephU) zEn(WkI!2ymw1=J8dEvzF?>XUxq>+7|v�SQc$-M%0#|YkjmNbNxdT1p0|%)0uC1G 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

J&^7miR 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%0DRn9|$E_l7cC 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 D&aj~e literal 0 HcmV?d00001 diff --git a/template/assets/training_pipeline.png:Zone.Identifier b/template/assets/training_pipeline.png:Zone.Identifier new file mode 100644 index 0000000..e69de29 diff --git a/template/run.ipynb b/template/run.ipynb index f17a725..7227876 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -16,7 +16,7 @@ "\n", "Follow along this notebook to understand how you can use ZenML to productionalize your ML workflows!\n", "\n", - "\"Pipelines" + "\"Pipelines" ] }, { @@ -117,7 +117,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "79f775f2", "metadata": {}, "outputs": [], @@ -169,12 +169,12 @@ "your training. ZenML mostly gets out of your way when you're writing your Python\n", "code, as you'll see from the following cell.\n", "\n", - "\"Feature" + "\"Feature" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -229,9 +229,230 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n" + ] + }, + { + "data": { + "text/html": [ + "

\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
017.9910.38122.801001.00.118400.277600.30010.147100.24190.07871...17.33184.602019.00.16220.66560.71190.26540.46010.118900
120.5717.77132.901326.00.084740.078640.08690.070170.18120.05667...23.41158.801956.00.12380.18660.24160.18600.27500.089020
219.6921.25130.001203.00.109600.159900.19740.127900.20690.05999...25.53152.501709.00.14440.42450.45040.24300.36130.087580
311.4220.3877.58386.10.142500.283900.24140.105200.25970.09744...26.5098.87567.70.20980.86630.68690.25750.66380.173000
420.2914.34135.101297.00.100300.132800.19800.104300.18090.05883...16.67152.201575.00.13740.20500.40000.16250.23640.076780
\n", + "

5 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "0 17.99 10.38 122.80 1001.0 0.11840 \n", + "1 20.57 17.77 132.90 1326.0 0.08474 \n", + "2 19.69 21.25 130.00 1203.0 0.10960 \n", + "3 11.42 20.38 77.58 386.1 0.14250 \n", + "4 20.29 14.34 135.10 1297.0 0.10030 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "0 0.27760 0.3001 0.14710 0.2419 \n", + "1 0.07864 0.0869 0.07017 0.1812 \n", + "2 0.15990 0.1974 0.12790 0.2069 \n", + "3 0.28390 0.2414 0.10520 0.2597 \n", + "4 0.13280 0.1980 0.10430 0.1809 \n", + "\n", + " mean fractal dimension ... worst texture worst perimeter worst area \\\n", + "0 0.07871 ... 17.33 184.60 2019.0 \n", + "1 0.05667 ... 23.41 158.80 1956.0 \n", + "2 0.05999 ... 25.53 152.50 1709.0 \n", + "3 0.09744 ... 26.50 98.87 567.7 \n", + "4 0.05883 ... 16.67 152.20 1575.0 \n", + "\n", + " worst smoothness worst compactness worst concavity worst concave points \\\n", + "0 0.1622 0.6656 0.7119 0.2654 \n", + "1 0.1238 0.1866 0.2416 0.1860 \n", + "2 0.1444 0.4245 0.4504 0.2430 \n", + "3 0.2098 0.8663 0.6869 0.2575 \n", + "4 0.1374 0.2050 0.4000 0.1625 \n", + "\n", + " worst symmetry worst fractal dimension target \n", + "0 0.4601 0.11890 0 \n", + "1 0.2750 0.08902 0 \n", + "2 0.3613 0.08758 0 \n", + "3 0.6638 0.17300 0 \n", + "4 0.2364 0.07678 0 \n", + "\n", + "[5 rows x 31 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df = data_loader_simplified(random_state=42)\n", "df.head()" @@ -251,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "b50a9537", "metadata": {}, "outputs": [], @@ -267,7 +488,8 @@ " \"\"\"Feature engineering pipeline.\"\"\"\n", " # Link all the steps together by calling them and passing the output\n", " # of one step as the input of the next step.\n", - " raw_data = data_loader(random_state=random.randint(0, 100), target=target)\n", + " random_state = random.randint(0, 100)\n", + " raw_data = data_loader(random_state=random_state, target=target)\n", " dataset_trn, dataset_tst = data_splitter(\n", " dataset=raw_data,\n", " test_size=test_size,\n", @@ -279,9 +501,8 @@ " normalize=normalize,\n", " drop_columns=drop_columns,\n", " target=target,\n", - " )\n", - " \n", - " return dataset_trn, dataset_tst" + " random_state=random_state,\n", + " )" ] }, { @@ -294,9 +515,32 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 5)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.904s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.611s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m13.879s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_12-12_12_46_332864\u001b[1;35m has finished in \u001b[0m\u001b[1;36m23.070s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/088b8ebf-5f03-471d-975f-129e56e3f193/runs/05cb3ef9-007d-4ecf-8bdb-e68d63aafbc6/dag\u001b[0m\n" + ] + } + ], "source": [ "feature_engineering()" ] @@ -310,9 +554,32 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 6)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.851s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.672s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.927s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_12-12_13_19_797666\u001b[1;35m has finished in \u001b[0m\u001b[1;36m14.861s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/985306fd-51ce-4204-96ee-079e3f57ddb5/runs/07999a33-49ec-4997-87cd-0bece20398cd/dag\u001b[0m\n" + ] + } + ], "source": [ "feature_engineering(test_size=0.3)" ] @@ -355,13 +622,6 @@ " !zenml up" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\"Feature" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -371,9 +631,17 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "feature_engineering-2023_12_12-12_13_19_797666\n" + ] + } + ], "source": [ "client = Client()\n", "run = client.get_pipeline(\"feature_engineering\").last_run\n", @@ -389,18 +657,419 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'preprocess_pipeline': ArtifactVersionResponse(id=UUID('7a085583-a612-4195-9835-176048dabc16'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 12, 15, 4, 26), updated=datetime.datetime(2023, 12, 12, 15, 4, 26), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 12, 14, 17, 15), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), artifact=ArtifactResponse(id=UUID('428da721-89f8-4d1d-93b7-0ad1108803c7'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 12, 10, 29, 43), updated=datetime.datetime(2023, 12, 12, 10, 29, 43)), metadata=None, name='preprocess_pipeline'), version='108', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/preprocess_pipeline/f5740f18-a486-41d1-8bca-f59f4fcd9e12', type=, materializer=Source(module='zenml.integrations.sklearn.materializers.sklearn_materializer', attribute='SklearnMaterializer', type=), data_type=Source(module='sklearn.pipeline', attribute='Pipeline', type=, version='1.2.2', package_name='scikit-learn')), metadata=None),\n", + " 'dataset_trn': ArtifactVersionResponse(id=UUID('813c995f-42f8-456a-8ad7-b918cef567e7'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 12, 15, 4, 23), updated=datetime.datetime(2023, 12, 12, 15, 4, 23), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 12, 14, 17, 15), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), artifact=ArtifactResponse(id=UUID('2f71c5a3-333a-4aa0-b5b4-341c26ee7f77'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 12, 10, 29, 43), updated=datetime.datetime(2023, 12, 12, 10, 29, 43)), metadata=None, name='dataset_trn'), version='110', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_trn/f5740f18-a486-41d1-8bca-f59f4fcd9e12', type=, materializer=Source(module='zenml.materializers.pandas_materializer', attribute='PandasMaterializer', type=), data_type=Source(module='pandas.core.frame', attribute='DataFrame', type=, version='2.0.3', package_name='pandas')), metadata=None),\n", + " 'dataset_tst': ArtifactVersionResponse(id=UUID('ef032295-f2fb-4f8e-b99e-4cf726373136'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 12, 15, 4, 24), updated=datetime.datetime(2023, 12, 12, 15, 4, 24), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 12, 14, 17, 15), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), artifact=ArtifactResponse(id=UUID('b4b9cd40-169b-4f56-867d-c20c7beb4a7d'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 12, 10, 29, 43), updated=datetime.datetime(2023, 12, 12, 10, 29, 43)), metadata=None, name='dataset_tst'), version='108', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_tst/f5740f18-a486-41d1-8bca-f59f4fcd9e12', type=, materializer=Source(module='zenml.materializers.pandas_materializer', attribute='PandasMaterializer', type=), data_type=Source(module='pandas.core.frame', attribute='DataFrame', type=, version='2.0.3', package_name='pandas')), metadata=None)}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "run.steps[\"data_preprocessor\"].outputs" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
42812.00028.2376.77442.50.084370.064500.040550.0194500.16150.06104...37.8885.07523.70.12080.18560.181100.071160.24470.081941
37012.10017.7278.07446.20.102900.097580.047830.0332600.19370.06161...25.8088.33559.50.14320.17730.160300.062660.30490.070811
578.59820.9854.66221.80.124300.089630.030000.0092590.18280.06757...27.0462.06273.90.16390.16980.090010.027780.29720.077121
33211.95014.9677.23426.70.115800.120600.011710.0178700.24590.06581...17.7283.09496.20.12930.18850.031220.047660.31240.075901
2417.14016.40116.00912.70.118600.227600.222900.1401000.30400.07413...21.40152.401461.00.15450.39490.385300.255000.40660.105900
..................................................................
7116.07019.65104.10817.70.091680.084240.097690.0663800.17980.05391...24.56128.801223.00.15000.20450.282900.152000.26500.063870
10610.51020.1968.64334.20.112200.130300.064760.0306800.19220.07782...22.7572.62374.40.13000.20490.129500.061360.23830.090261
27016.24018.77108.80805.10.106600.180200.194800.0905200.18760.06684...25.09126.901031.00.13650.47060.502600.173200.27700.106300
4359.75528.2061.68290.90.079840.046260.015410.0104300.16210.05952...36.9268.03349.90.11100.11090.071900.048660.23210.072111
10211.34021.2672.48396.50.087590.065750.051330.0189900.14870.06529...29.1583.99518.10.16990.21960.312000.082780.28290.088321
\n", + "

378 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "428 12.000 28.23 76.77 442.5 0.08437 \n", + "370 12.100 17.72 78.07 446.2 0.10290 \n", + "57 8.598 20.98 54.66 221.8 0.12430 \n", + "332 11.950 14.96 77.23 426.7 0.11580 \n", + "24 17.140 16.40 116.00 912.7 0.11860 \n", + ".. ... ... ... ... ... \n", + "71 16.070 19.65 104.10 817.7 0.09168 \n", + "106 10.510 20.19 68.64 334.2 0.11220 \n", + "270 16.240 18.77 108.80 805.1 0.10660 \n", + "435 9.755 28.20 61.68 290.9 0.07984 \n", + "102 11.340 21.26 72.48 396.5 0.08759 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "428 0.06450 0.04055 0.019450 0.1615 \n", + "370 0.09758 0.04783 0.033260 0.1937 \n", + "57 0.08963 0.03000 0.009259 0.1828 \n", + "332 0.12060 0.01171 0.017870 0.2459 \n", + "24 0.22760 0.22290 0.140100 0.3040 \n", + ".. ... ... ... ... \n", + "71 0.08424 0.09769 0.066380 0.1798 \n", + "106 0.13030 0.06476 0.030680 0.1922 \n", + "270 0.18020 0.19480 0.090520 0.1876 \n", + "435 0.04626 0.01541 0.010430 0.1621 \n", + "102 0.06575 0.05133 0.018990 0.1487 \n", + "\n", + " mean fractal dimension ... worst texture worst perimeter worst area \\\n", + "428 0.06104 ... 37.88 85.07 523.7 \n", + "370 0.06161 ... 25.80 88.33 559.5 \n", + "57 0.06757 ... 27.04 62.06 273.9 \n", + "332 0.06581 ... 17.72 83.09 496.2 \n", + "24 0.07413 ... 21.40 152.40 1461.0 \n", + ".. ... ... ... ... ... \n", + "71 0.05391 ... 24.56 128.80 1223.0 \n", + "106 0.07782 ... 22.75 72.62 374.4 \n", + "270 0.06684 ... 25.09 126.90 1031.0 \n", + "435 0.05952 ... 36.92 68.03 349.9 \n", + "102 0.06529 ... 29.15 83.99 518.1 \n", + "\n", + " worst smoothness worst compactness worst concavity \\\n", + "428 0.1208 0.1856 0.18110 \n", + "370 0.1432 0.1773 0.16030 \n", + "57 0.1639 0.1698 0.09001 \n", + "332 0.1293 0.1885 0.03122 \n", + "24 0.1545 0.3949 0.38530 \n", + ".. ... ... ... \n", + "71 0.1500 0.2045 0.28290 \n", + "106 0.1300 0.2049 0.12950 \n", + "270 0.1365 0.4706 0.50260 \n", + "435 0.1110 0.1109 0.07190 \n", + "102 0.1699 0.2196 0.31200 \n", + "\n", + " worst concave points worst symmetry worst fractal dimension target \n", + "428 0.07116 0.2447 0.08194 1 \n", + "370 0.06266 0.3049 0.07081 1 \n", + "57 0.02778 0.2972 0.07712 1 \n", + "332 0.04766 0.3124 0.07590 1 \n", + "24 0.25500 0.4066 0.10590 0 \n", + ".. ... ... ... ... \n", + "71 0.15200 0.2650 0.06387 0 \n", + "106 0.06136 0.2383 0.09026 1 \n", + "270 0.17320 0.2770 0.10630 0 \n", + "435 0.04866 0.2321 0.07211 1 \n", + "102 0.08278 0.2829 0.08832 1 \n", + "\n", + "[378 rows x 31 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Read one of the datasets. This is the one with a 0.3 test split\n", "run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"].load()" @@ -417,15 +1086,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ - "dataset_trn_artifact = client.get_artifact(\"dataset_trn\")\n", - "dataset_tst_artifact = client.get_artifact(\"dataset_tst\")\n", - "preprocessing_pipeline_artifact = client.get_artifact(\"preprocess_pipeline\")\n", - "\n", - "f\"The training set has {len(dataset_trn_artifact.versions)} records, and the test set has {len(dataset_tst_artifact.versions)} records.\"" + "dataset_trn_artifact_version = client.get_artifact_version(run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"].id)\n", + "dataset_tst_artifact_version = client.get_artifact_version(run.steps[\"data_preprocessor\"].outputs[\"dataset_tst\"].id)\n", + "preprocessing_pipeline_artifact_version = client.get_artifact_version(run.steps[\"data_preprocessor\"].outputs[\"preprocess_pipeline\"].id)" ] }, { @@ -433,20 +1100,404 @@ "metadata": {}, "source": [ "If you started with a fresh install, then you would have two versions corresponding\n", - "to the two pipelines that we ran above. Let's select the latter one to move forward: " + "to the two pipelines that we ran above. We can even load a artifact version in memory: " ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Choose the first version for now\n", - "dataset_trn_artifact_version = dataset_trn_artifact.versions['1']\n", - "dataset_tst_artifact_version = dataset_tst_artifact.versions['1']\n", - "\n", - "# Load it again to verify\n", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
42812.00028.2376.77442.50.084370.064500.040550.0194500.16150.06104...37.8885.07523.70.12080.18560.181100.071160.24470.081941
37012.10017.7278.07446.20.102900.097580.047830.0332600.19370.06161...25.8088.33559.50.14320.17730.160300.062660.30490.070811
578.59820.9854.66221.80.124300.089630.030000.0092590.18280.06757...27.0462.06273.90.16390.16980.090010.027780.29720.077121
33211.95014.9677.23426.70.115800.120600.011710.0178700.24590.06581...17.7283.09496.20.12930.18850.031220.047660.31240.075901
2417.14016.40116.00912.70.118600.227600.222900.1401000.30400.07413...21.40152.401461.00.15450.39490.385300.255000.40660.105900
..................................................................
7116.07019.65104.10817.70.091680.084240.097690.0663800.17980.05391...24.56128.801223.00.15000.20450.282900.152000.26500.063870
10610.51020.1968.64334.20.112200.130300.064760.0306800.19220.07782...22.7572.62374.40.13000.20490.129500.061360.23830.090261
27016.24018.77108.80805.10.106600.180200.194800.0905200.18760.06684...25.09126.901031.00.13650.47060.502600.173200.27700.106300
4359.75528.2061.68290.90.079840.046260.015410.0104300.16210.05952...36.9268.03349.90.11100.11090.071900.048660.23210.072111
10211.34021.2672.48396.50.087590.065750.051330.0189900.14870.06529...29.1583.99518.10.16990.21960.312000.082780.28290.088321
\n", + "

378 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "428 12.000 28.23 76.77 442.5 0.08437 \n", + "370 12.100 17.72 78.07 446.2 0.10290 \n", + "57 8.598 20.98 54.66 221.8 0.12430 \n", + "332 11.950 14.96 77.23 426.7 0.11580 \n", + "24 17.140 16.40 116.00 912.7 0.11860 \n", + ".. ... ... ... ... ... \n", + "71 16.070 19.65 104.10 817.7 0.09168 \n", + "106 10.510 20.19 68.64 334.2 0.11220 \n", + "270 16.240 18.77 108.80 805.1 0.10660 \n", + "435 9.755 28.20 61.68 290.9 0.07984 \n", + "102 11.340 21.26 72.48 396.5 0.08759 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "428 0.06450 0.04055 0.019450 0.1615 \n", + "370 0.09758 0.04783 0.033260 0.1937 \n", + "57 0.08963 0.03000 0.009259 0.1828 \n", + "332 0.12060 0.01171 0.017870 0.2459 \n", + "24 0.22760 0.22290 0.140100 0.3040 \n", + ".. ... ... ... ... \n", + "71 0.08424 0.09769 0.066380 0.1798 \n", + "106 0.13030 0.06476 0.030680 0.1922 \n", + "270 0.18020 0.19480 0.090520 0.1876 \n", + "435 0.04626 0.01541 0.010430 0.1621 \n", + "102 0.06575 0.05133 0.018990 0.1487 \n", + "\n", + " mean fractal dimension ... worst texture worst perimeter worst area \\\n", + "428 0.06104 ... 37.88 85.07 523.7 \n", + "370 0.06161 ... 25.80 88.33 559.5 \n", + "57 0.06757 ... 27.04 62.06 273.9 \n", + "332 0.06581 ... 17.72 83.09 496.2 \n", + "24 0.07413 ... 21.40 152.40 1461.0 \n", + ".. ... ... ... ... ... \n", + "71 0.05391 ... 24.56 128.80 1223.0 \n", + "106 0.07782 ... 22.75 72.62 374.4 \n", + "270 0.06684 ... 25.09 126.90 1031.0 \n", + "435 0.05952 ... 36.92 68.03 349.9 \n", + "102 0.06529 ... 29.15 83.99 518.1 \n", + "\n", + " worst smoothness worst compactness worst concavity \\\n", + "428 0.1208 0.1856 0.18110 \n", + "370 0.1432 0.1773 0.16030 \n", + "57 0.1639 0.1698 0.09001 \n", + "332 0.1293 0.1885 0.03122 \n", + "24 0.1545 0.3949 0.38530 \n", + ".. ... ... ... \n", + "71 0.1500 0.2045 0.28290 \n", + "106 0.1300 0.2049 0.12950 \n", + "270 0.1365 0.4706 0.50260 \n", + "435 0.1110 0.1109 0.07190 \n", + "102 0.1699 0.2196 0.31200 \n", + "\n", + " worst concave points worst symmetry worst fractal dimension target \n", + "428 0.07116 0.2447 0.08194 1 \n", + "370 0.06266 0.3049 0.07081 1 \n", + "57 0.02778 0.2972 0.07712 1 \n", + "332 0.04766 0.3124 0.07590 1 \n", + "24 0.25500 0.4066 0.10590 0 \n", + ".. ... ... ... ... \n", + "71 0.15200 0.2650 0.06387 0 \n", + "106 0.06136 0.2383 0.09026 1 \n", + "270 0.17320 0.2770 0.10630 0 \n", + "435 0.04866 0.2321 0.07211 1 \n", + "102 0.08278 0.2829 0.08832 1 \n", + "\n", + "[378 rows x 31 columns]" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Load an artifact to verify you can fetch it\n", "dataset_trn_artifact_version.load()" ] }, @@ -477,12 +1528,12 @@ "Classifier, both batteries-included from `sklearn`. We'll train them both on the\n", "same data and then compare their performance.\n", "\n", - "\"Training" + "\"Training" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -540,7 +1591,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -587,9 +1638,34 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 25)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.516s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTrain accuracy=100.00%\u001b[0m\n", + "\u001b[1;35mTest accuracy=94.48%\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.021s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_12-12_17_04_641333\u001b[1;35m has finished in \u001b[0m\u001b[1;36m10.876s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/7a212a8b-b4f3-48d1-95bb-4eee0965121a/runs/bc921d13-8093-4da9-8f1f-a4b147a6a69d/dag\u001b[0m\n" + ] + } + ], "source": [ "# Use a random forest model with the chosen datasets.\n", "# We need to pass the ID's of the datasets into the function\n", @@ -604,12 +1680,37 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 26)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.153s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTrain accuracy=91.27%\u001b[0m\n", + "\u001b[1;35mTest accuracy=89.57%\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.880s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_12-12_17_20_042737\u001b[1;35m has finished in \u001b[0m\u001b[1;36m10.156s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/baf2e634-0de1-4553-8607-14d0ab190cba/runs/549e8785-ee93-474a-a4b5-b091e7131b92/dag\u001b[0m\n" + ] + } + ], "source": [ "# Use a SGD classifier\n", - "training(\n", + "sgd_run = training(\n", " model_type=\"sgd\",\n", " train_dataset_id=dataset_trn_artifact_version.id,\n", " test_dataset_id=dataset_tst_artifact_version.id\n", @@ -629,9 +1730,20 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# The evaluator returns a float value with the accuracy\n", "rf_run.steps[\"model_evaluator\"].output.load() > sgd_run.steps[\"model_evaluator\"].output.load()" @@ -657,7 +1769,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -674,9 +1786,32 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 26)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model \u001b[0m\u001b[1;36mbreast_cancer_classifier\u001b[1;35m was created implicitly.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36msgd\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_12-12_17_38_803413\u001b[1;35m has finished in \u001b[0m\u001b[1;36m7.935s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/baf2e634-0de1-4553-8607-14d0ab190cba/runs/e63fe206-1334-4a1c-bb84-ba792ae00157/dag\u001b[0m\n" + ] + } + ], "source": [ "# Let's train the SGD model and set the version name to \"sgd\"\n", "pipeline_settings[\"model_version\"].version = \"sgd\"\n", @@ -695,9 +1830,31 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 25)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36mrf\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_12-12_17_52_085483\u001b[1;35m has finished in \u001b[0m\u001b[1;36m8.346s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/7a212a8b-b4f3-48d1-95bb-4eee0965121a/runs/4a40a479-958d-43f5-bb2b-e7dc567d34ff/dag\u001b[0m\n" + ] + } + ], "source": [ "# Let's train the RF model and set the version name to \"rf\"\n", "pipeline_settings[\"model_version\"].version = \"rf\"\n", @@ -724,9 +1881,28 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "id=UUID('92130b44-e3ce-4c73-ae8d-473e93f3dbf5') permission_denied=False body=ModelResponseBody(created=datetime.datetime(2023, 12, 12, 15, 8, 29), updated=datetime.datetime(2023, 12, 12, 15, 8, 29), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 12, 14, 17, 15), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), tags=[TagResponseModel(id=UUID('469b1284-df0a-4fee-b247-d80915501fb8'), created=datetime.datetime(2023, 12, 12, 15, 8, 29), updated=datetime.datetime(2023, 12, 12, 15, 8, 29), missing_permissions=False, name='breast_cancer', color=, tagged_count=1), TagResponseModel(id=UUID('dad60bad-aeda-42fc-8108-a49e0b451b34'), created=datetime.datetime(2023, 12, 12, 15, 8, 29), updated=datetime.datetime(2023, 12, 12, 15, 8, 29), missing_permissions=False, name='classifier', color=, tagged_count=1)], latest_version='rf', workspace={'id': 'f3a544f2-afb5-4672-934a-7a465c66201c', 'permission_denied': False, 'body': {'created': '2023-10-23T15:34:47', 'updated': '2023-10-23T15:34:47'}, 'metadata': None, 'name': 'default'}) metadata=ModelResponseMetadata(workspace=WorkspaceResponse(id=UUID('f3a544f2-afb5-4672-934a-7a465c66201c'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 10, 23, 15, 34, 47), updated=datetime.datetime(2023, 10, 23, 15, 34, 47)), metadata=None, name='default'), license='Apache 2.0', description='A breast cancer classifier', audience=None, use_cases=None, limitations=None, trade_offs=None, ethics=None) name='breast_cancer_classifier'\n", + "Model breast_cancer_classifier has 2 versions\n" + ] + }, + { + "data": { + "text/plain": [ + "('sgd', 'rf')" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "zenml_model = client.get_model(\"breast_cancer_classifier\")\n", "print(zenml_model)\n", @@ -748,9 +1924,23 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
RandomForestClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "RandomForestClassifier()" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Let's load the RF version\n", "rf_zenml_model_version = client.get_model_version(\"breast_cancer_classifier\", \"rf\")\n", @@ -767,7 +1957,7 @@ "source": [ "If you are a [ZenML Cloud](https://zenml.io/cloud) user, you can see all of this visualized in the dashboard:\n", "\n", - "\"Model" + "\"Model" ] }, { @@ -786,7 +1976,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -808,7 +1998,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\"Model" + "\"Model" ] }, { @@ -834,12 +2024,12 @@ "with `live data`. The critical step here is the `inference_predict` step, where we load the model in memory\n", "and generate predictions:\n", "\n", - "\"Inference\n" + "\"Inference" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -869,15 +2059,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "@pipeline\n", "def inference(preprocess_pipeline_id: UUID):\n", " \"\"\"Model batch inference pipeline\"\"\"\n", - " random_state = client.get_artifact_version(id=preprocess_pipeline_id).metadata[\"random_state\"].value\n", - " target = client.get_artifact_version(id=preprocess_pipeline_id).run_metadata['target'].value\n", + " # random_state = client.get_artifact_version(id=preprocess_pipeline_id).metadata[\"random_state\"].value\n", + " # target = client.get_artifact_version(id=preprocess_pipeline_id).run_metadata['target'].value\n", + " random_state = 42\n", + " target = \"target\"\n", + "\n", " df_inference = data_loader(\n", " random_state=random_state, is_inference=True\n", " )\n", @@ -902,9 +2095,17 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35m\u001b[0m\u001b[1;36mversion\u001b[1;35m \u001b[0m\u001b[1;36mproduction\u001b[1;35m matches one of the possible \u001b[0m\u001b[1;36mModelStages\u001b[1;35m and will be fetched using stage.\u001b[0m\n" + ] + } + ], "source": [ "pipeline_settings = {}\n", "\n", @@ -920,9 +2121,32 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36minference\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m11.060s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has started.\u001b[0m\n", + "\u001b[33mYou specified both an ID as well as a version of the artifact_versions. Ignoring the version and fetching the artifact_versions by ID.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has finished in \u001b[0m\u001b[1;36m14.047s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36minference-2023_12_12-12_22_12_777704\u001b[1;35m has finished in \u001b[0m\u001b[1;36m30.755s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/16e56d43-ffde-4f8a-b77d-cc3bd4e2186e/runs/a7b980c7-0313-43c2-817f-e30baff74084/dag\u001b[0m\n" + ] + } + ], "source": [ "# the `with_options` method allows us to pass in pipeline settings\n", "# and returns a configured pipeline\n", @@ -932,7 +2156,7 @@ "# We need to pass in the ID of the preprocessing done in the feature engineering pipeline\n", "# in order to avoid training-serving skew\n", "inference_configured(\n", - " preprocess_pipeline_id=preprocessing_pipeline_artifact.id\n", + " preprocess_pipeline_id=preprocessing_pipeline_artifact_version.id\n", ")" ] }, @@ -946,9 +2170,48 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "1 0\n", + "2 0\n", + "3 1\n", + "4 1\n", + "5 0\n", + "6 0\n", + "7 0\n", + "8 0\n", + "9 1\n", + "10 1\n", + "11 0\n", + "12 1\n", + "13 0\n", + "14 1\n", + "15 0\n", + "16 1\n", + "17 1\n", + "18 1\n", + "19 0\n", + "20 1\n", + "21 1\n", + "22 0\n", + "23 1\n", + "24 1\n", + "25 1\n", + "26 1\n", + "27 1\n", + "Name: series, dtype: int64" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Fetch production model\n", "production_model_version = client.get_model_version(\"breast_cancer_classifier\", \"production\")\n", @@ -963,7 +2226,7 @@ "source": [ "You can also see all predictions ever created as a complete history in the dashboard:\n", "\n", - "\"Model" + "\"Model" ] }, { From 548293d4bc3b148e050d9942700e70199c310f30 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Wed, 13 Dec 2023 17:38:45 +0100 Subject: [PATCH 15/48] Cleaned up and finalized for alexej --- template/pipelines/inference.py | 15 +- template/run.ipynb | 1421 ++----------------------------- template/run.py | 22 +- 3 files changed, 107 insertions(+), 1351 deletions(-) diff --git a/template/pipelines/inference.py b/template/pipelines/inference.py index da937f6..eafcbe8 100644 --- a/template/pipelines/inference.py +++ b/template/pipelines/inference.py @@ -16,7 +16,7 @@ @pipeline -def inference(): +def inference(random_state: str, target: str): """ Model inference pipeline. @@ -24,19 +24,12 @@ def inference(): the same preprocessing pipeline used in training, and runs inference with the trained model. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - client = Client() - + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Get the production model artifact - model: ArtifactVersionResponse = get_pipeline_context().model_version.get_artifact("model") + model = get_pipeline_context().model_version.get_artifact("model") # Get the preprocess pipeline artifact associated with this version - preprocess_pipeline: ArtifactVersionResponse = get_pipeline_context().model_version.get_artifact("preprocess_pipeline") - - # Use the metadata of feature engineering pipeline artifact - # to get the random state and target column - random_state = client.get_artifact_version(preprocess_pipeline.id).run_metadata["random_state"].value - target = client.get_artifact_version(preprocess_pipeline.id).run_metadata['target'].value + preprocess_pipeline = get_pipeline_context().model_version.get_artifact("preprocess_pipeline") # Link all the steps together by calling them and passing the output # of one step as the input of the next step. diff --git a/template/run.ipynb b/template/run.ipynb index 7227876..2de8236 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -117,7 +117,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "79f775f2", "metadata": {}, "outputs": [], @@ -174,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -229,230 +229,9 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
017.9910.38122.801001.00.118400.277600.30010.147100.24190.07871...17.33184.602019.00.16220.66560.71190.26540.46010.118900
120.5717.77132.901326.00.084740.078640.08690.070170.18120.05667...23.41158.801956.00.12380.18660.24160.18600.27500.089020
219.6921.25130.001203.00.109600.159900.19740.127900.20690.05999...25.53152.501709.00.14440.42450.45040.24300.36130.087580
311.4220.3877.58386.10.142500.283900.24140.105200.25970.09744...26.5098.87567.70.20980.86630.68690.25750.66380.173000
420.2914.34135.101297.00.100300.132800.19800.104300.18090.05883...16.67152.201575.00.13740.20500.40000.16250.23640.076780
\n", - "

5 rows × 31 columns

\n", - "
" - ], - "text/plain": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "0 17.99 10.38 122.80 1001.0 0.11840 \n", - "1 20.57 17.77 132.90 1326.0 0.08474 \n", - "2 19.69 21.25 130.00 1203.0 0.10960 \n", - "3 11.42 20.38 77.58 386.1 0.14250 \n", - "4 20.29 14.34 135.10 1297.0 0.10030 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "0 0.27760 0.3001 0.14710 0.2419 \n", - "1 0.07864 0.0869 0.07017 0.1812 \n", - "2 0.15990 0.1974 0.12790 0.2069 \n", - "3 0.28390 0.2414 0.10520 0.2597 \n", - "4 0.13280 0.1980 0.10430 0.1809 \n", - "\n", - " mean fractal dimension ... worst texture worst perimeter worst area \\\n", - "0 0.07871 ... 17.33 184.60 2019.0 \n", - "1 0.05667 ... 23.41 158.80 1956.0 \n", - "2 0.05999 ... 25.53 152.50 1709.0 \n", - "3 0.09744 ... 26.50 98.87 567.7 \n", - "4 0.05883 ... 16.67 152.20 1575.0 \n", - "\n", - " worst smoothness worst compactness worst concavity worst concave points \\\n", - "0 0.1622 0.6656 0.7119 0.2654 \n", - "1 0.1238 0.1866 0.2416 0.1860 \n", - "2 0.1444 0.4245 0.4504 0.2430 \n", - "3 0.2098 0.8663 0.6869 0.2575 \n", - "4 0.1374 0.2050 0.4000 0.1625 \n", - "\n", - " worst symmetry worst fractal dimension target \n", - "0 0.4601 0.11890 0 \n", - "1 0.2750 0.08902 0 \n", - "2 0.3613 0.08758 0 \n", - "3 0.6638 0.17300 0 \n", - "4 0.2364 0.07678 0 \n", - "\n", - "[5 rows x 31 columns]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "df = data_loader_simplified(random_state=42)\n", "df.head()" @@ -472,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "b50a9537", "metadata": {}, "outputs": [], @@ -515,32 +294,9 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 5)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.904s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.611s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m13.879s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_12-12_12_46_332864\u001b[1;35m has finished in \u001b[0m\u001b[1;36m23.070s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/088b8ebf-5f03-471d-975f-129e56e3f193/runs/05cb3ef9-007d-4ecf-8bdb-e68d63aafbc6/dag\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "feature_engineering()" ] @@ -554,32 +310,9 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 6)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.851s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.672s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.927s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_12-12_13_19_797666\u001b[1;35m has finished in \u001b[0m\u001b[1;36m14.861s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/985306fd-51ce-4204-96ee-079e3f57ddb5/runs/07999a33-49ec-4997-87cd-0bece20398cd/dag\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "feature_engineering(test_size=0.3)" ] @@ -631,17 +364,9 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "feature_engineering-2023_12_12-12_13_19_797666\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "client = Client()\n", "run = client.get_pipeline(\"feature_engineering\").last_run\n", @@ -657,419 +382,18 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'preprocess_pipeline': ArtifactVersionResponse(id=UUID('7a085583-a612-4195-9835-176048dabc16'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 12, 15, 4, 26), updated=datetime.datetime(2023, 12, 12, 15, 4, 26), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 12, 14, 17, 15), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), artifact=ArtifactResponse(id=UUID('428da721-89f8-4d1d-93b7-0ad1108803c7'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 12, 10, 29, 43), updated=datetime.datetime(2023, 12, 12, 10, 29, 43)), metadata=None, name='preprocess_pipeline'), version='108', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/preprocess_pipeline/f5740f18-a486-41d1-8bca-f59f4fcd9e12', type=, materializer=Source(module='zenml.integrations.sklearn.materializers.sklearn_materializer', attribute='SklearnMaterializer', type=), data_type=Source(module='sklearn.pipeline', attribute='Pipeline', type=, version='1.2.2', package_name='scikit-learn')), metadata=None),\n", - " 'dataset_trn': ArtifactVersionResponse(id=UUID('813c995f-42f8-456a-8ad7-b918cef567e7'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 12, 15, 4, 23), updated=datetime.datetime(2023, 12, 12, 15, 4, 23), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 12, 14, 17, 15), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), artifact=ArtifactResponse(id=UUID('2f71c5a3-333a-4aa0-b5b4-341c26ee7f77'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 12, 10, 29, 43), updated=datetime.datetime(2023, 12, 12, 10, 29, 43)), metadata=None, name='dataset_trn'), version='110', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_trn/f5740f18-a486-41d1-8bca-f59f4fcd9e12', type=, materializer=Source(module='zenml.materializers.pandas_materializer', attribute='PandasMaterializer', type=), data_type=Source(module='pandas.core.frame', attribute='DataFrame', type=, version='2.0.3', package_name='pandas')), metadata=None),\n", - " 'dataset_tst': ArtifactVersionResponse(id=UUID('ef032295-f2fb-4f8e-b99e-4cf726373136'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 12, 15, 4, 24), updated=datetime.datetime(2023, 12, 12, 15, 4, 24), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 12, 14, 17, 15), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), artifact=ArtifactResponse(id=UUID('b4b9cd40-169b-4f56-867d-c20c7beb4a7d'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 12, 10, 29, 43), updated=datetime.datetime(2023, 12, 12, 10, 29, 43)), metadata=None, name='dataset_tst'), version='108', uri='/home/htahir1/.config/zenml/local_stores/466b79ce-3df9-4549-a50b-67ed433461f3/data_preprocessor/dataset_tst/f5740f18-a486-41d1-8bca-f59f4fcd9e12', type=, materializer=Source(module='zenml.materializers.pandas_materializer', attribute='PandasMaterializer', type=), data_type=Source(module='pandas.core.frame', attribute='DataFrame', type=, version='2.0.3', package_name='pandas')), metadata=None)}" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "run.steps[\"data_preprocessor\"].outputs" ] }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
42812.00028.2376.77442.50.084370.064500.040550.0194500.16150.06104...37.8885.07523.70.12080.18560.181100.071160.24470.081941
37012.10017.7278.07446.20.102900.097580.047830.0332600.19370.06161...25.8088.33559.50.14320.17730.160300.062660.30490.070811
578.59820.9854.66221.80.124300.089630.030000.0092590.18280.06757...27.0462.06273.90.16390.16980.090010.027780.29720.077121
33211.95014.9677.23426.70.115800.120600.011710.0178700.24590.06581...17.7283.09496.20.12930.18850.031220.047660.31240.075901
2417.14016.40116.00912.70.118600.227600.222900.1401000.30400.07413...21.40152.401461.00.15450.39490.385300.255000.40660.105900
..................................................................
7116.07019.65104.10817.70.091680.084240.097690.0663800.17980.05391...24.56128.801223.00.15000.20450.282900.152000.26500.063870
10610.51020.1968.64334.20.112200.130300.064760.0306800.19220.07782...22.7572.62374.40.13000.20490.129500.061360.23830.090261
27016.24018.77108.80805.10.106600.180200.194800.0905200.18760.06684...25.09126.901031.00.13650.47060.502600.173200.27700.106300
4359.75528.2061.68290.90.079840.046260.015410.0104300.16210.05952...36.9268.03349.90.11100.11090.071900.048660.23210.072111
10211.34021.2672.48396.50.087590.065750.051330.0189900.14870.06529...29.1583.99518.10.16990.21960.312000.082780.28290.088321
\n", - "

378 rows × 31 columns

\n", - "
" - ], - "text/plain": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "428 12.000 28.23 76.77 442.5 0.08437 \n", - "370 12.100 17.72 78.07 446.2 0.10290 \n", - "57 8.598 20.98 54.66 221.8 0.12430 \n", - "332 11.950 14.96 77.23 426.7 0.11580 \n", - "24 17.140 16.40 116.00 912.7 0.11860 \n", - ".. ... ... ... ... ... \n", - "71 16.070 19.65 104.10 817.7 0.09168 \n", - "106 10.510 20.19 68.64 334.2 0.11220 \n", - "270 16.240 18.77 108.80 805.1 0.10660 \n", - "435 9.755 28.20 61.68 290.9 0.07984 \n", - "102 11.340 21.26 72.48 396.5 0.08759 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "428 0.06450 0.04055 0.019450 0.1615 \n", - "370 0.09758 0.04783 0.033260 0.1937 \n", - "57 0.08963 0.03000 0.009259 0.1828 \n", - "332 0.12060 0.01171 0.017870 0.2459 \n", - "24 0.22760 0.22290 0.140100 0.3040 \n", - ".. ... ... ... ... \n", - "71 0.08424 0.09769 0.066380 0.1798 \n", - "106 0.13030 0.06476 0.030680 0.1922 \n", - "270 0.18020 0.19480 0.090520 0.1876 \n", - "435 0.04626 0.01541 0.010430 0.1621 \n", - "102 0.06575 0.05133 0.018990 0.1487 \n", - "\n", - " mean fractal dimension ... worst texture worst perimeter worst area \\\n", - "428 0.06104 ... 37.88 85.07 523.7 \n", - "370 0.06161 ... 25.80 88.33 559.5 \n", - "57 0.06757 ... 27.04 62.06 273.9 \n", - "332 0.06581 ... 17.72 83.09 496.2 \n", - "24 0.07413 ... 21.40 152.40 1461.0 \n", - ".. ... ... ... ... ... \n", - "71 0.05391 ... 24.56 128.80 1223.0 \n", - "106 0.07782 ... 22.75 72.62 374.4 \n", - "270 0.06684 ... 25.09 126.90 1031.0 \n", - "435 0.05952 ... 36.92 68.03 349.9 \n", - "102 0.06529 ... 29.15 83.99 518.1 \n", - "\n", - " worst smoothness worst compactness worst concavity \\\n", - "428 0.1208 0.1856 0.18110 \n", - "370 0.1432 0.1773 0.16030 \n", - "57 0.1639 0.1698 0.09001 \n", - "332 0.1293 0.1885 0.03122 \n", - "24 0.1545 0.3949 0.38530 \n", - ".. ... ... ... \n", - "71 0.1500 0.2045 0.28290 \n", - "106 0.1300 0.2049 0.12950 \n", - "270 0.1365 0.4706 0.50260 \n", - "435 0.1110 0.1109 0.07190 \n", - "102 0.1699 0.2196 0.31200 \n", - "\n", - " worst concave points worst symmetry worst fractal dimension target \n", - "428 0.07116 0.2447 0.08194 1 \n", - "370 0.06266 0.3049 0.07081 1 \n", - "57 0.02778 0.2972 0.07712 1 \n", - "332 0.04766 0.3124 0.07590 1 \n", - "24 0.25500 0.4066 0.10590 0 \n", - ".. ... ... ... ... \n", - "71 0.15200 0.2650 0.06387 0 \n", - "106 0.06136 0.2383 0.09026 1 \n", - "270 0.17320 0.2770 0.10630 0 \n", - "435 0.04866 0.2321 0.07211 1 \n", - "102 0.08278 0.2829 0.08832 1 \n", - "\n", - "[378 rows x 31 columns]" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Read one of the datasets. This is the one with a 0.3 test split\n", "run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"].load()" @@ -1086,13 +410,31 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, + "id": "c8f90647", + "metadata": {}, + "outputs": [], + "source": [ + "# Get artifact version from our run\n", + "dataset_trn_artifact_version_via_run = run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"] \n", + "\n", + "# Get latest version from client directly\n", + "dataset_trn_artifact_version = client.get_artifact_version(\"dataset_trn\")\n", + "\n", + "# This should be true if our run is the latest run and no artifact has been produced\n", + "# in the intervening time\n", + "dataset_trn_artifact_version_via_run.id == dataset_trn_artifact_version.id" + ] + }, + { + "cell_type": "code", + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "dataset_trn_artifact_version = client.get_artifact_version(run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"].id)\n", - "dataset_tst_artifact_version = client.get_artifact_version(run.steps[\"data_preprocessor\"].outputs[\"dataset_tst\"].id)\n", - "preprocessing_pipeline_artifact_version = client.get_artifact_version(run.steps[\"data_preprocessor\"].outputs[\"preprocess_pipeline\"].id)" + "# Fetch the rest of the artifacts\n", + "dataset_tst_artifact_version = client.get_artifact_version(\"dataset_tst\")\n", + "preprocessing_pipeline_artifact_version = client.get_artifact_version(\"preprocess_pipeline\")" ] }, { @@ -1105,397 +447,9 @@ }, { "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
42812.00028.2376.77442.50.084370.064500.040550.0194500.16150.06104...37.8885.07523.70.12080.18560.181100.071160.24470.081941
37012.10017.7278.07446.20.102900.097580.047830.0332600.19370.06161...25.8088.33559.50.14320.17730.160300.062660.30490.070811
578.59820.9854.66221.80.124300.089630.030000.0092590.18280.06757...27.0462.06273.90.16390.16980.090010.027780.29720.077121
33211.95014.9677.23426.70.115800.120600.011710.0178700.24590.06581...17.7283.09496.20.12930.18850.031220.047660.31240.075901
2417.14016.40116.00912.70.118600.227600.222900.1401000.30400.07413...21.40152.401461.00.15450.39490.385300.255000.40660.105900
..................................................................
7116.07019.65104.10817.70.091680.084240.097690.0663800.17980.05391...24.56128.801223.00.15000.20450.282900.152000.26500.063870
10610.51020.1968.64334.20.112200.130300.064760.0306800.19220.07782...22.7572.62374.40.13000.20490.129500.061360.23830.090261
27016.24018.77108.80805.10.106600.180200.194800.0905200.18760.06684...25.09126.901031.00.13650.47060.502600.173200.27700.106300
4359.75528.2061.68290.90.079840.046260.015410.0104300.16210.05952...36.9268.03349.90.11100.11090.071900.048660.23210.072111
10211.34021.2672.48396.50.087590.065750.051330.0189900.14870.06529...29.1583.99518.10.16990.21960.312000.082780.28290.088321
\n", - "

378 rows × 31 columns

\n", - "
" - ], - "text/plain": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "428 12.000 28.23 76.77 442.5 0.08437 \n", - "370 12.100 17.72 78.07 446.2 0.10290 \n", - "57 8.598 20.98 54.66 221.8 0.12430 \n", - "332 11.950 14.96 77.23 426.7 0.11580 \n", - "24 17.140 16.40 116.00 912.7 0.11860 \n", - ".. ... ... ... ... ... \n", - "71 16.070 19.65 104.10 817.7 0.09168 \n", - "106 10.510 20.19 68.64 334.2 0.11220 \n", - "270 16.240 18.77 108.80 805.1 0.10660 \n", - "435 9.755 28.20 61.68 290.9 0.07984 \n", - "102 11.340 21.26 72.48 396.5 0.08759 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "428 0.06450 0.04055 0.019450 0.1615 \n", - "370 0.09758 0.04783 0.033260 0.1937 \n", - "57 0.08963 0.03000 0.009259 0.1828 \n", - "332 0.12060 0.01171 0.017870 0.2459 \n", - "24 0.22760 0.22290 0.140100 0.3040 \n", - ".. ... ... ... ... \n", - "71 0.08424 0.09769 0.066380 0.1798 \n", - "106 0.13030 0.06476 0.030680 0.1922 \n", - "270 0.18020 0.19480 0.090520 0.1876 \n", - "435 0.04626 0.01541 0.010430 0.1621 \n", - "102 0.06575 0.05133 0.018990 0.1487 \n", - "\n", - " mean fractal dimension ... worst texture worst perimeter worst area \\\n", - "428 0.06104 ... 37.88 85.07 523.7 \n", - "370 0.06161 ... 25.80 88.33 559.5 \n", - "57 0.06757 ... 27.04 62.06 273.9 \n", - "332 0.06581 ... 17.72 83.09 496.2 \n", - "24 0.07413 ... 21.40 152.40 1461.0 \n", - ".. ... ... ... ... ... \n", - "71 0.05391 ... 24.56 128.80 1223.0 \n", - "106 0.07782 ... 22.75 72.62 374.4 \n", - "270 0.06684 ... 25.09 126.90 1031.0 \n", - "435 0.05952 ... 36.92 68.03 349.9 \n", - "102 0.06529 ... 29.15 83.99 518.1 \n", - "\n", - " worst smoothness worst compactness worst concavity \\\n", - "428 0.1208 0.1856 0.18110 \n", - "370 0.1432 0.1773 0.16030 \n", - "57 0.1639 0.1698 0.09001 \n", - "332 0.1293 0.1885 0.03122 \n", - "24 0.1545 0.3949 0.38530 \n", - ".. ... ... ... \n", - "71 0.1500 0.2045 0.28290 \n", - "106 0.1300 0.2049 0.12950 \n", - "270 0.1365 0.4706 0.50260 \n", - "435 0.1110 0.1109 0.07190 \n", - "102 0.1699 0.2196 0.31200 \n", - "\n", - " worst concave points worst symmetry worst fractal dimension target \n", - "428 0.07116 0.2447 0.08194 1 \n", - "370 0.06266 0.3049 0.07081 1 \n", - "57 0.02778 0.2972 0.07712 1 \n", - "332 0.04766 0.3124 0.07590 1 \n", - "24 0.25500 0.4066 0.10590 0 \n", - ".. ... ... ... ... \n", - "71 0.15200 0.2650 0.06387 0 \n", - "106 0.06136 0.2383 0.09026 1 \n", - "270 0.17320 0.2770 0.10630 0 \n", - "435 0.04866 0.2321 0.07211 1 \n", - "102 0.08278 0.2829 0.08832 1 \n", - "\n", - "[378 rows x 31 columns]" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Load an artifact to verify you can fetch it\n", "dataset_trn_artifact_version.load()" @@ -1533,7 +487,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1591,7 +545,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1638,34 +592,9 @@ }, { "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 25)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.516s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTrain accuracy=100.00%\u001b[0m\n", - "\u001b[1;35mTest accuracy=94.48%\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m4.021s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_12-12_17_04_641333\u001b[1;35m has finished in \u001b[0m\u001b[1;36m10.876s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/7a212a8b-b4f3-48d1-95bb-4eee0965121a/runs/bc921d13-8093-4da9-8f1f-a4b147a6a69d/dag\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Use a random forest model with the chosen datasets.\n", "# We need to pass the ID's of the datasets into the function\n", @@ -1680,34 +609,9 @@ }, { "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 26)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.153s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTrain accuracy=91.27%\u001b[0m\n", - "\u001b[1;35mTest accuracy=89.57%\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m3.880s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_12-12_17_20_042737\u001b[1;35m has finished in \u001b[0m\u001b[1;36m10.156s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/baf2e634-0de1-4553-8607-14d0ab190cba/runs/549e8785-ee93-474a-a4b5-b091e7131b92/dag\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Use a SGD classifier\n", "sgd_run = training(\n", @@ -1730,20 +634,9 @@ }, { "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# The evaluator returns a float value with the accuracy\n", "rf_run.steps[\"model_evaluator\"].output.load() > sgd_run.steps[\"model_evaluator\"].output.load()" @@ -1769,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1786,32 +679,9 @@ }, { "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 26)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model \u001b[0m\u001b[1;36mbreast_cancer_classifier\u001b[1;35m was created implicitly.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36msgd\u001b[1;35m was created.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_12-12_17_38_803413\u001b[1;35m has finished in \u001b[0m\u001b[1;36m7.935s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/baf2e634-0de1-4553-8607-14d0ab190cba/runs/e63fe206-1334-4a1c-bb84-ba792ae00157/dag\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Let's train the SGD model and set the version name to \"sgd\"\n", "pipeline_settings[\"model_version\"].version = \"sgd\"\n", @@ -1830,31 +700,9 @@ }, { "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 25)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36mrf\u001b[1;35m was created.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_12-12_17_52_085483\u001b[1;35m has finished in \u001b[0m\u001b[1;36m8.346s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/7a212a8b-b4f3-48d1-95bb-4eee0965121a/runs/4a40a479-958d-43f5-bb2b-e7dc567d34ff/dag\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Let's train the RF model and set the version name to \"rf\"\n", "pipeline_settings[\"model_version\"].version = \"rf\"\n", @@ -1881,28 +729,9 @@ }, { "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "id=UUID('92130b44-e3ce-4c73-ae8d-473e93f3dbf5') permission_denied=False body=ModelResponseBody(created=datetime.datetime(2023, 12, 12, 15, 8, 29), updated=datetime.datetime(2023, 12, 12, 15, 8, 29), user=UserResponse(id=UUID('c6fcdcc8-69e1-4ff5-9eb2-6a53aa81a08b'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 10, 24, 7, 36, 26), updated=datetime.datetime(2023, 12, 12, 14, 17, 15), active=True, activation_token=None, full_name='Hamza Tahir', email_opted_in=True, is_service_account=False), metadata=None, name='hamza@zenml.io'), tags=[TagResponseModel(id=UUID('469b1284-df0a-4fee-b247-d80915501fb8'), created=datetime.datetime(2023, 12, 12, 15, 8, 29), updated=datetime.datetime(2023, 12, 12, 15, 8, 29), missing_permissions=False, name='breast_cancer', color=, tagged_count=1), TagResponseModel(id=UUID('dad60bad-aeda-42fc-8108-a49e0b451b34'), created=datetime.datetime(2023, 12, 12, 15, 8, 29), updated=datetime.datetime(2023, 12, 12, 15, 8, 29), missing_permissions=False, name='classifier', color=, tagged_count=1)], latest_version='rf', workspace={'id': 'f3a544f2-afb5-4672-934a-7a465c66201c', 'permission_denied': False, 'body': {'created': '2023-10-23T15:34:47', 'updated': '2023-10-23T15:34:47'}, 'metadata': None, 'name': 'default'}) metadata=ModelResponseMetadata(workspace=WorkspaceResponse(id=UUID('f3a544f2-afb5-4672-934a-7a465c66201c'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 10, 23, 15, 34, 47), updated=datetime.datetime(2023, 10, 23, 15, 34, 47)), metadata=None, name='default'), license='Apache 2.0', description='A breast cancer classifier', audience=None, use_cases=None, limitations=None, trade_offs=None, ethics=None) name='breast_cancer_classifier'\n", - "Model breast_cancer_classifier has 2 versions\n" - ] - }, - { - "data": { - "text/plain": [ - "('sgd', 'rf')" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "zenml_model = client.get_model(\"breast_cancer_classifier\")\n", "print(zenml_model)\n", @@ -1924,23 +753,9 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
RandomForestClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "RandomForestClassifier()" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Let's load the RF version\n", "rf_zenml_model_version = client.get_model_version(\"breast_cancer_classifier\", \"rf\")\n", @@ -1976,7 +791,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -2029,7 +844,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -2059,7 +874,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -2095,19 +910,11 @@ }, { "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35m\u001b[0m\u001b[1;36mversion\u001b[1;35m \u001b[0m\u001b[1;36mproduction\u001b[1;35m matches one of the possible \u001b[0m\u001b[1;36mModelStages\u001b[1;35m and will be fetched using stage.\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ - "pipeline_settings = {}\n", + "pipeline_settings = {\"enable_cache\": False}\n", "\n", "# Lets add some metadata to the model to make it identifiable\n", "pipeline_settings[\"model_version\"] = ModelVersion(\n", @@ -2121,32 +928,9 @@ }, { "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36minference\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mhamza@zenml.io\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m11.060s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has started.\u001b[0m\n", - "\u001b[33mYou specified both an ID as well as a version of the artifact_versions. Ignoring the version and fetching the artifact_versions by ID.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has finished in \u001b[0m\u001b[1;36m14.047s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36minference-2023_12_12-12_22_12_777704\u001b[1;35m has finished in \u001b[0m\u001b[1;36m30.755s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mDashboard URL: https://1cf18d95-zenml.cloudinfra.zenml.io/workspaces/default/pipelines/16e56d43-ffde-4f8a-b77d-cc3bd4e2186e/runs/a7b980c7-0313-43c2-817f-e30baff74084/dag\u001b[0m\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# the `with_options` method allows us to pass in pipeline settings\n", "# and returns a configured pipeline\n", @@ -2170,48 +954,9 @@ }, { "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 1\n", - "1 0\n", - "2 0\n", - "3 1\n", - "4 1\n", - "5 0\n", - "6 0\n", - "7 0\n", - "8 0\n", - "9 1\n", - "10 1\n", - "11 0\n", - "12 1\n", - "13 0\n", - "14 1\n", - "15 0\n", - "16 1\n", - "17 1\n", - "18 1\n", - "19 0\n", - "20 1\n", - "21 1\n", - "22 0\n", - "23 1\n", - "24 1\n", - "25 1\n", - "26 1\n", - "27 1\n", - "Name: series, dtype: int64" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Fetch production model\n", "production_model_version = client.get_model_version(\"breast_cancer_classifier\", \"production\")\n", diff --git a/template/run.py b/template/run.py index ea2452e..e01a106 100644 --- a/template/run.py +++ b/template/run.py @@ -103,6 +103,8 @@ def main( of which comes from the YAML config files) * launching the pipeline """ + client = Client() + config_folder = os.path.join( os.path.dirname(os.path.realpath(__file__)), "configs", @@ -132,7 +134,6 @@ def main( train_dataset_version_name is not None and test_dataset_version_name is not None ) - client = Client() train_dataset_artifact_version = client.get_artifact_version( train_dataset_name, train_dataset_version_name ) @@ -148,10 +149,27 @@ def main( logger.info("Training pipeline finished successfully!") if inference_pipeline: + run_args_train = {} pipeline_args = {} pipeline_args["config_path"] = os.path.join(config_folder, "inference.yaml") run_args_inference = {} - inference.with_options(**pipeline_args)(**run_args_inference) + + # Configure the pipeline + inference_configured = inference.with_options(**pipeline_args) + + # Fetch the production model + zenml_model = client.get_model_version("breast_cancer_classifier", "production") + preprocess_pipeline_artifact = zenml_model.get_artifact("preprocess_pipeline") + + # Use the metadata of feature engineering pipeline artifact + # to get the random state and target column + random_state = preprocess_pipeline_artifact.run_metadata["random_state"].value + target = preprocess_pipeline_artifact.run_metadata['target'].value + run_args_inference["random_state"] = random_state + run_args_inference["target"] = target + + # Run the pipeline + inference_configured(**run_args_inference) logger.info("Inference pipeline finished successfully!") From 8557a3d3710791e43fd009f6b6d484d814fba572 Mon Sep 17 00:00:00 2001 From: Alexej Penner Date: Wed, 13 Dec 2023 23:29:08 +0100 Subject: [PATCH 16/48] Initial changes --- .gitignore | 3 + requirements.txt | 2 +- template/configs/feature_engineering.yaml | 4 + template/configs/inference.yaml | 5 +- template/configs/training.yaml | 10 ++- template/pipelines/inference.py | 2 - template/pipelines/training.py | 1 - template/requirements.txt | 3 +- template/run.ipynb | 100 +++++++++++++++++++--- template/run.py | 2 +- template/steps/model_evaluator.py | 2 +- template/steps/model_promoter.py | 10 +-- 12 files changed, 117 insertions(+), 27 deletions(-) diff --git a/.gitignore b/.gitignore index 882db32..bfdb54c 100644 --- a/.gitignore +++ b/.gitignore @@ -98,6 +98,9 @@ __pypackages__/ celerybeat-schedule celerybeat.pid +# PyCharm Stuff +.idea + # SageMath parsed files *.sage.py diff --git a/requirements.txt b/requirements.txt index a64987f..21e8aa5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ scikit-learn<1.3 copier jinja2-time -zenml[server]>=0.50.0 +zenml[server]>=0.52.0 notebook \ No newline at end of file diff --git a/template/configs/feature_engineering.yaml b/template/configs/feature_engineering.yaml index b0e559f..bf76f12 100644 --- a/template/configs/feature_engineering.yaml +++ b/template/configs/feature_engineering.yaml @@ -3,3 +3,7 @@ settings: docker: required_integrations: - sklearn + - pyarrow + +# pipeline configuration +test_size: 0.35 \ No newline at end of file diff --git a/template/configs/inference.yaml b/template/configs/inference.yaml index 661b328..b9fd29d 100644 --- a/template/configs/inference.yaml +++ b/template/configs/inference.yaml @@ -3,11 +3,12 @@ settings: docker: required_integrations: - sklearn + - pyarrow # configuration of the Model Control Plane model_version: name: breast_cancer_classifier version: production license: Apache 2.0 - description: Classification of Breast Cancer Dataset. - tags: ["classification", "sklearn"] + description: A breast cancer classifier + tags: ["breast_cancer", "classifier"] \ No newline at end of file diff --git a/template/configs/training.yaml b/template/configs/training.yaml index daa91a1..b1161dd 100644 --- a/template/configs/training.yaml +++ b/template/configs/training.yaml @@ -3,10 +3,16 @@ settings: docker: required_integrations: - sklearn + - pyarrow # configuration of the Model Control Plane model_version: name: breast_cancer_classifier license: Apache 2.0 - description: Classification of Breast Cancer Dataset. - tags: ["classification", "sklearn"] + description: A breast cancer classifier + tags: ["breast_cancer", "classifier"] + +# pipeline configuration +model_type: "sgd" # Choose between rf/sgd +# train_dataset_id: ... +# test_dataset_id: ... \ No newline at end of file diff --git a/template/pipelines/inference.py b/template/pipelines/inference.py index eafcbe8..ebba44d 100644 --- a/template/pipelines/inference.py +++ b/template/pipelines/inference.py @@ -24,7 +24,6 @@ def inference(random_state: str, target: str): the same preprocessing pipeline used in training, and runs inference with the trained model. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Get the production model artifact model = get_pipeline_context().model_version.get_artifact("model") @@ -43,4 +42,3 @@ def inference(random_state: str, target: str): model=model, dataset_inf=df_inference, ) - ### END CODE HERE ### diff --git a/template/pipelines/training.py b/template/pipelines/training.py index a82760d..2e8b367 100644 --- a/template/pipelines/training.py +++ b/template/pipelines/training.py @@ -58,4 +58,3 @@ def training( ) model_promoter(accuracy=acc) - ### END CODE HERE ### diff --git a/template/requirements.txt b/template/requirements.txt index f3a893a..7a25951 100644 --- a/template/requirements.txt +++ b/template/requirements.txt @@ -1,3 +1,4 @@ zenml[server]>=0.50.0 notebook -scikit-learn<1.3 \ No newline at end of file +scikit-learn<1.3 +pyarrow \ No newline at end of file diff --git a/template/run.ipynb b/template/run.ipynb index 2de8236..97e4ba8 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -2,6 +2,7 @@ "cells": [ { "cell_type": "markdown", + "id": "63ab391a", "metadata": {}, "source": [ "# Intro to MLOps using ZenML\n", @@ -21,6 +22,7 @@ }, { "cell_type": "markdown", + "id": "8f466b16", "metadata": {}, "source": [ "## Run on Colab\n", @@ -34,6 +36,7 @@ }, { "cell_type": "markdown", + "id": "66b2977c", "metadata": {}, "source": [ "# 👶 Step 0. Install Requirements\n", @@ -45,6 +48,7 @@ { "cell_type": "code", "execution_count": null, + "id": "ce2f40eb", "metadata": {}, "outputs": [], "source": [ @@ -54,6 +58,7 @@ { "cell_type": "code", "execution_count": null, + "id": "5aad397e", "metadata": {}, "outputs": [], "source": [ @@ -67,6 +72,7 @@ { "cell_type": "code", "execution_count": null, + "id": "f76f562e", "metadata": {}, "outputs": [], "source": [ @@ -78,6 +84,7 @@ }, { "cell_type": "markdown", + "id": "3b044374", "metadata": {}, "source": [ "Please wait for the installation to complete before running subsequent cells. At\n", @@ -86,6 +93,7 @@ }, { "cell_type": "markdown", + "id": "e3955ff1", "metadata": {}, "source": [ "Optional: If you are using ZenML Cloud, execute the following cell with your tenant URL. Otherwise ignore." @@ -94,6 +102,7 @@ { "cell_type": "code", "execution_count": null, + "id": "e2587315", "metadata": {}, "outputs": [], "source": [ @@ -155,6 +164,7 @@ }, { "cell_type": "markdown", + "id": "35e48460", "metadata": {}, "source": [ "## 🥇 Step 1: Load your data and execute feature engineering\n", @@ -175,6 +185,7 @@ { "cell_type": "code", "execution_count": null, + "id": "3cd974d1", "metadata": {}, "outputs": [], "source": [ @@ -199,6 +210,7 @@ }, { "cell_type": "markdown", + "id": "1e8ba4c6", "metadata": {}, "source": [ "The whole function is decorated with the `@step` decorator, which\n", @@ -219,6 +231,7 @@ }, { "cell_type": "markdown", + "id": "b6286b67", "metadata": {}, "source": [ "ZenML is built in a way that allows you to experiment with your data and build\n", @@ -230,6 +243,7 @@ { "cell_type": "code", "execution_count": null, + "id": "d838e2ea", "metadata": {}, "outputs": [], "source": [ @@ -239,6 +253,7 @@ }, { "cell_type": "markdown", + "id": "28c05291", "metadata": {}, "source": [ "Everything looks as we'd expect and the values are all in the right format 🥳.\n", @@ -258,7 +273,7 @@ "source": [ "@pipeline\n", "def feature_engineering(\n", - " test_size: float = 0.2,\n", + " test_size: float = 0.3,\n", " drop_na: Optional[bool] = None,\n", " normalize: Optional[bool] = None,\n", " drop_columns: Optional[List[str]] = None,\n", @@ -286,6 +301,7 @@ }, { "cell_type": "markdown", + "id": "7cd73c23", "metadata": {}, "source": [ "We're ready to run the pipeline now, which we can do just as with the step - by calling the\n", @@ -295,6 +311,7 @@ { "cell_type": "code", "execution_count": null, + "id": "1e0aa9af", "metadata": {}, "outputs": [], "source": [ @@ -303,6 +320,7 @@ }, { "cell_type": "markdown", + "id": "1785c303", "metadata": {}, "source": [ "Let's run this again with a slightly different test size, to create another dataset:" @@ -311,14 +329,16 @@ { "cell_type": "code", "execution_count": null, + "id": "9faaf0c2", "metadata": {}, "outputs": [], "source": [ - "feature_engineering(test_size=0.3)" + "feature_engineering(test_size=0.35)" ] }, { "cell_type": "markdown", + "id": "64bb7206", "metadata": {}, "source": [ "Notice that the data loader step was **cached**, while the rest of the pipeline was rerun. \n", @@ -328,10 +348,11 @@ }, { "cell_type": "markdown", + "id": "6c42078a", "metadata": {}, "source": [ "At this point you might be interested to view your pipeline runs in the ZenML\n", - "Dashboard. You can spin this up by executing the next cell. This will start a\n", + "Dashboard. In case you are not using a hosted instance of ZenML, you can spin this up by executing the next cell. This will start a\n", "server which you can access by clicking on the link that appears in the output\n", "of the cell.\n", "\n", @@ -343,20 +364,26 @@ { "cell_type": "code", "execution_count": null, + "id": "8cd3cc8c", "metadata": {}, "outputs": [], "source": [ "from zenml.environment import Environment\n", + "from zenml.zen_stores.rest_zen_store import RestZenStore\n", "\n", - "if Environment.in_google_colab():\n", - " # run ZenML through a cloudflare tunnel to get a public endpoint\n", - " !zenml up --port 8237 & cloudflared tunnel --url http://localhost:8237\n", - "else:\n", - " !zenml up" + "\n", + "if not isinstance(client.zen_store, RestZenStore):\n", + " # Only spin up a local Dashboard in case you aren't already connected to a remote server\n", + " if Environment.in_google_colab():\n", + " # run ZenML through a cloudflare tunnel to get a public endpoint\n", + " !zenml up --port 8237 & cloudflared tunnel --url http://localhost:8237\n", + " else:\n", + " !zenml up" ] }, { "cell_type": "markdown", + "id": "e8471f93", "metadata": {}, "source": [ "We can also fetch the pipeline from the server and view the results directly in the notebook:" @@ -365,6 +392,7 @@ { "cell_type": "code", "execution_count": null, + "id": "f208b200", "metadata": {}, "outputs": [], "source": [ @@ -375,6 +403,7 @@ }, { "cell_type": "markdown", + "id": "a037f09d", "metadata": {}, "source": [ "We can also see the data artifacts that were produced by the last step of the pipeline:" @@ -383,6 +412,7 @@ { "cell_type": "code", "execution_count": null, + "id": "34283e89", "metadata": {}, "outputs": [], "source": [ @@ -392,6 +422,7 @@ { "cell_type": "code", "execution_count": null, + "id": "bceb0312", "metadata": {}, "outputs": [], "source": [ @@ -401,6 +432,7 @@ }, { "cell_type": "markdown", + "id": "26d26436", "metadata": {}, "source": [ "We can also get the artifacts directly. Each time you create a new pipeline run, a new `artifact version` is created.\n", @@ -429,6 +461,7 @@ { "cell_type": "code", "execution_count": null, + "id": "3f9d3dfd", "metadata": {}, "outputs": [], "source": [ @@ -439,6 +472,7 @@ }, { "cell_type": "markdown", + "id": "7a7d1b04", "metadata": {}, "source": [ "If you started with a fresh install, then you would have two versions corresponding\n", @@ -448,6 +482,7 @@ { "cell_type": "code", "execution_count": null, + "id": "c82aca75", "metadata": {}, "outputs": [], "source": [ @@ -457,6 +492,7 @@ }, { "cell_type": "markdown", + "id": "5963509e", "metadata": {}, "source": [ "We'll use these artifacts from above in our next pipeline" @@ -464,6 +500,7 @@ }, { "cell_type": "markdown", + "id": "8c28b474", "metadata": {}, "source": [ "# ⌚ Step 2: Training pipeline" @@ -471,6 +508,7 @@ }, { "cell_type": "markdown", + "id": "87909827", "metadata": {}, "source": [ "Now that we have our data it makes sense to train some models to get a sense of\n", @@ -488,6 +526,7 @@ { "cell_type": "code", "execution_count": null, + "id": "fccf1bd9", "metadata": {}, "outputs": [], "source": [ @@ -527,6 +566,7 @@ }, { "cell_type": "markdown", + "id": "73a00008", "metadata": {}, "source": [ "Our two training steps both return different kinds of `sklearn` classifier\n", @@ -535,6 +575,7 @@ }, { "cell_type": "markdown", + "id": "a5f22174", "metadata": {}, "source": [ "ZenML allows you to load any version of any dataset that is tracked by the framework\n", @@ -546,6 +587,7 @@ { "cell_type": "code", "execution_count": null, + "id": "1aa98f2f", "metadata": {}, "outputs": [], "source": [ @@ -582,6 +624,7 @@ }, { "cell_type": "markdown", + "id": "88b70fd3", "metadata": {}, "source": [ "The end goal of this quick baseline evaluation is to understand which of the two\n", @@ -593,6 +636,7 @@ { "cell_type": "code", "execution_count": null, + "id": "c64885ac", "metadata": {}, "outputs": [], "source": [ @@ -610,6 +654,7 @@ { "cell_type": "code", "execution_count": null, + "id": "4300c82f", "metadata": {}, "outputs": [], "source": [ @@ -625,6 +670,7 @@ }, { "cell_type": "markdown", + "id": "43f1a68a", "metadata": {}, "source": [ "You can see from the logs already how our model training went: the\n", @@ -635,6 +681,7 @@ { "cell_type": "code", "execution_count": null, + "id": "d95810b1", "metadata": {}, "outputs": [], "source": [ @@ -644,6 +691,7 @@ }, { "cell_type": "markdown", + "id": "e256d145", "metadata": {}, "source": [ "# 💯 Step 3: Associating a model with your pipeline" @@ -651,6 +699,7 @@ }, { "cell_type": "markdown", + "id": "927978f3", "metadata": {}, "source": [ "You can see it is relatively easy to train ML models using ZenML pipelines. But it can be somewhat clunky to track\n", @@ -663,6 +712,7 @@ { "cell_type": "code", "execution_count": null, + "id": "99ca00c0", "metadata": {}, "outputs": [], "source": [ @@ -680,6 +730,7 @@ { "cell_type": "code", "execution_count": null, + "id": "0e78a520", "metadata": {}, "outputs": [], "source": [ @@ -701,6 +752,7 @@ { "cell_type": "code", "execution_count": null, + "id": "9b8e0002", "metadata": {}, "outputs": [], "source": [ @@ -721,6 +773,7 @@ }, { "cell_type": "markdown", + "id": "09597223", "metadata": {}, "source": [ "This time, running both pipelines has created two associated **model versions**.\n", @@ -730,6 +783,7 @@ { "cell_type": "code", "execution_count": null, + "id": "fbb25913", "metadata": {}, "outputs": [], "source": [ @@ -743,6 +797,7 @@ }, { "cell_type": "markdown", + "id": "e82cfac2", "metadata": {}, "source": [ "The interesting part is that ZenML went ahead and linked all artifacts produced by the\n", @@ -754,6 +809,7 @@ { "cell_type": "code", "execution_count": null, + "id": "31211413", "metadata": {}, "outputs": [], "source": [ @@ -768,6 +824,7 @@ }, { "cell_type": "markdown", + "id": "53517a9a", "metadata": {}, "source": [ "If you are a [ZenML Cloud](https://zenml.io/cloud) user, you can see all of this visualized in the dashboard:\n", @@ -777,6 +834,7 @@ }, { "cell_type": "markdown", + "id": "eb645dde", "metadata": {}, "source": [ "There is a lot more you can do with ZenML models, including the ability to\n", @@ -792,6 +850,7 @@ { "cell_type": "code", "execution_count": null, + "id": "26b718f8", "metadata": {}, "outputs": [], "source": [ @@ -801,6 +860,7 @@ }, { "cell_type": "markdown", + "id": "9fddf3d0", "metadata": {}, "source": [ "Of course, normally one would only promote the model by comparing to all other model\n", @@ -811,6 +871,7 @@ }, { "cell_type": "markdown", + "id": "2ecbc8cf", "metadata": {}, "source": [ "\"Model" @@ -818,6 +879,7 @@ }, { "cell_type": "markdown", + "id": "8f1146db", "metadata": {}, "source": [ "Once the model is promoted, we can now consume the right model version in our\n", @@ -826,6 +888,7 @@ }, { "cell_type": "markdown", + "id": "d6306f14", "metadata": {}, "source": [ "# 🫅 Step 4: Consuming the model in production" @@ -833,6 +896,7 @@ }, { "cell_type": "markdown", + "id": "b51f3108", "metadata": {}, "source": [ "The batch inference pipeline simply takes the model marked as `production` and runs inference on it\n", @@ -845,6 +909,7 @@ { "cell_type": "code", "execution_count": null, + "id": "92c4c7dc", "metadata": {}, "outputs": [], "source": [ @@ -859,13 +924,13 @@ " predictions = predictor.predict(dataset_inf)\n", "\n", " predictions = pd.Series(predictions, name=\"predicted\")\n", - " ### YOUR CODE ENDS HERE ###\n", "\n", " return predictions\n" ] }, { "cell_type": "markdown", + "id": "3aeb227b", "metadata": {}, "source": [ "Apart from the loading the model, we must also load the preprocessing pipeline that we ran in feature engineering,\n", @@ -875,6 +940,7 @@ { "cell_type": "code", "execution_count": null, + "id": "37c409bd", "metadata": {}, "outputs": [], "source": [ @@ -902,6 +968,7 @@ }, { "cell_type": "markdown", + "id": "c7afe7be", "metadata": {}, "source": [ "The way to load the right model is to pass in the `production` stage into the `ModelVersion` config this time.\n", @@ -911,6 +978,7 @@ { "cell_type": "code", "execution_count": null, + "id": "61bf5939", "metadata": {}, "outputs": [], "source": [ @@ -929,6 +997,7 @@ { "cell_type": "code", "execution_count": null, + "id": "ff3402f1", "metadata": {}, "outputs": [], "source": [ @@ -946,6 +1015,7 @@ }, { "cell_type": "markdown", + "id": "2935d1fa", "metadata": {}, "source": [ "ZenML automatically links all artifacts to the `production` model version as well, including the predictions\n", @@ -955,6 +1025,7 @@ { "cell_type": "code", "execution_count": null, + "id": "e191d019", "metadata": {}, "outputs": [], "source": [ @@ -967,6 +1038,7 @@ }, { "cell_type": "markdown", + "id": "b0a73cdf", "metadata": {}, "source": [ "You can also see all predictions ever created as a complete history in the dashboard:\n", @@ -1001,6 +1073,14 @@ "* If you have questions or feedback... join our [**Slack Community**](https://zenml.io/slack) and become part of the ZenML family!\n", "* If you want to quickly get started with ZenML, check out the [ZenML Cloud](https://zenml.io/cloud)." ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7c7bc27", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -1019,7 +1099,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.9.13" } }, "nbformat": 4, diff --git a/template/run.py b/template/run.py index e01a106..7eceb6f 100644 --- a/template/run.py +++ b/template/run.py @@ -17,7 +17,7 @@ @click.command( help=""" -ZenML Starter project CLI v0.0.1. +ZenML Starter project. Run the ZenML starter project with basic options. diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py index dbb8bca..79892e8 100644 --- a/template/steps/model_evaluator.py +++ b/template/steps/model_evaluator.py @@ -65,11 +65,11 @@ def model_evaluator( dataset_trn.drop(columns=[target]), dataset_trn[target], ) - logger.info(f"Train accuracy={trn_acc*100:.2f}%") tst_acc = model.score( dataset_tst.drop(columns=[target]), dataset_tst[target], ) + logger.info(f"Train accuracy={trn_acc*100:.2f}%") logger.info(f"Test accuracy={tst_acc*100:.2f}%") messages = [] diff --git a/template/steps/model_promoter.py b/template/steps/model_promoter.py index 784e0cc..d8a048b 100644 --- a/template/steps/model_promoter.py +++ b/template/steps/model_promoter.py @@ -8,14 +8,14 @@ @step def model_promoter(accuracy: float, stage: str = "production") -> bool: - """Dataset reader step. + """Model promoter step. - This is an example of a dataset reader step that load Breast Cancer dataset. + This is an example of a step that conditionally promotes a model. This step is parameterized, which allows you to configure the step independently of the step code, before running it in a pipeline. - In this example, the step can be configured with number of rows and logic - to drop target column or not. See the documentation for more information: + In this example, the step can be configured with the accuracy of the model + and the target stage: https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines @@ -26,7 +26,6 @@ def model_promoter(accuracy: float, stage: str = "production") -> bool: Returns: Whether the model was promoted or not. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### if accuracy < 0.8: logger.info( f"Model accuracy {accuracy*100:.2f}% is below 80% ! Not promoting model." @@ -38,5 +37,4 @@ def model_promoter(accuracy: float, stage: str = "production") -> bool: model_version = get_step_context().model_version model_version.set_stage(stage, force=True) - ### YOUR CODE ENDS HERE ### return is_promoted From 072d3ef922b07da2d0847e0a6ced0c807574cc8e Mon Sep 17 00:00:00 2001 From: Alexej Penner Date: Wed, 13 Dec 2023 23:39:49 +0100 Subject: [PATCH 17/48] Removed some copier options --- copier.yaml | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) diff --git a/copier.yaml b/copier.yaml index 270dd34..a0b5d30 100644 --- a/copier.yaml +++ b/copier.yaml @@ -51,55 +51,6 @@ use_step_params: help: "Would you like to see step parameters being used in the generated \n ZenML steps?" default: true when: "{{ template == 'starter' }}" -use_custom_artifacts: - type: bool - help: "Would you like to see custom artifact data types and materializers \n being used in the generated ZenML steps and pipelines?" - default: true - when: "{{ template == 'starter' }}" -configurable_dataset: - type: bool - help: "Would you like to be able to select the dataset used in model training\n at runtime through the CLI and as a data loader step parameter?" - default: true - when: "{{ template == 'starter' and use_step_params }}" -sklearn_dataset_name: - type: str - help: "The generated ZenML project will be populated with some example code - \n featuring one of the UCI ML datasets from scikit-learn. \n Which - dataset would you like to see being used in the generated code?" - choices: - UCI Wine Data Set (classification): wine - UCI Iris Data Set (classification): iris - UCI Breast Cancer Wisconsin (Diagnostic) Data Set (classification): breast_cancer - default: wine - when: "{{ template == 'starter' }}" -configurable_model: - type: bool - help: "Would you like to be able to select the type of model used in model \n - training at runtime through the CLI and as a model trainer step \n - parameter?" - default: true - help: >- - Would you like to be able to select the type of model used in model - training at runtime through the CLI and as a model trainer step - parameter ? - default: true - when: "{{ template == 'starter' and use_step_params }}" -sklearn_model_name: - type: str - help: "The generated ZenML project will be populated with some example code - \n featuring one of the scikit-learn classifier models. \n Which model class would you like to see being used in the generated code?" - choices: - Logistic Regression: LogisticRegression - C-Support Vector Classification: SVC - Linear Support Vector Classification: LinearSVC - Random Forest Classifier: RandomForestClassifier - K-Nearest Neighbors Classifier: KNeighborsClassifier - Gaussian Naive Bayes: GaussianNB - Linear Perceptron Classifier: Perceptron - Stochastic Gradient Descent Linear Classifier: SGDClassifier - Decision Tree Classifier: DecisionTreeClassifier - default: LogisticRegression - when: "{{ template == 'starter' }}" # CONFIGURATION ------------------------- _templates_suffix: "" From 4259fc88a1fe23db127c71404519020b345db37d Mon Sep 17 00:00:00 2001 From: Alexej Penner Date: Thu, 14 Dec 2023 00:04:43 +0100 Subject: [PATCH 18/48] Compared with e2e template --- copier.yaml | 4 ++ template/run.ipynb | 8 +++- tests/test_starter_template.py | 85 +--------------------------------- 3 files changed, 11 insertions(+), 86 deletions(-) diff --git a/copier.yaml b/copier.yaml index a0b5d30..121ae95 100644 --- a/copier.yaml +++ b/copier.yaml @@ -44,6 +44,10 @@ auto_format: type: bool help: "Auto-format the generated code with black, ruff and autoflake? \n (NOTE: you need to have these tools installed in your environment)" default: false +zenml_server_url: + type: str + help: "The URL of the ZenML server [Optional]" + default: "" # SUB-TEMPLATE PROMPT [starter] --------------------- use_step_params: diff --git a/template/run.ipynb b/template/run.ipynb index 97e4ba8..2d817a9 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -106,9 +106,13 @@ "metadata": {}, "outputs": [], "source": [ + "{%- if zenml_server_url!='' %}\n", + "!zenml connect --url {{zenml_server_url}}\n", + "{%- else %}\n", "zenml_server_url = \"PLEASE_UPDATE_ME\" # in the form \"https://URL_TO_SERVER\"\n", "\n", - "!zenml connect --url $zenml_server_url" + "!zenml connect --url $zenml_server_url\n", + "{%- endif %}" ] }, { @@ -1077,7 +1081,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c7c7bc27", + "id": "8f51a3a5", "metadata": {}, "outputs": [], "source": [] diff --git a/tests/test_starter_template.py b/tests/test_starter_template.py index fc6f836..8893f1d 100644 --- a/tests/test_starter_template.py +++ b/tests/test_starter_template.py @@ -32,13 +32,7 @@ def generate_and_run_project( tmp_path_factory: pytest.TempPathFactory, open_source_license: Optional[str] = "apache", - product_name: str = "e2e_pipeline_pytest", - hyperparameters_tuning: bool = True, - metric_compare_promotion: bool = True, - data_quality_checks: bool = True, - target_environment: str = "staging", - notify_on_failures: bool = True, - notify_on_successes: bool = False, + product_name: str = "starter_project", zenml_server_url: str = "", ): """Generate and run the starter project with different options.""" @@ -48,12 +42,6 @@ def generate_and_run_project( "version": "0.0.1", "open_source_license": str(open_source_license).lower(), "product_name": product_name, - "hyperparameters_tuning": hyperparameters_tuning, - "metric_compare_promotion": metric_compare_promotion, - "data_quality_checks": data_quality_checks, - "target_environment": target_environment, - "notify_on_failures": notify_on_failures, - "notify_on_successes": notify_on_successes, "zenml_server_url": zenml_server_url, } if open_source_license: @@ -137,77 +125,6 @@ def test_custom_product_name( product_name="custom_product_name", ) - -def test_no_hp_tuning( - clean_zenml_client, - tmp_path_factory: pytest.TempPathFactory, -): - """Test turning off hyperparameter tuning.""" - - generate_and_run_project( - tmp_path_factory=tmp_path_factory, hyperparameters_tuning=False - ) - - -def test_latest_promotion( - clean_zenml_client, - tmp_path_factory: pytest.TempPathFactory, -): - """Test using latest promotion.""" - - generate_and_run_project( - tmp_path_factory=tmp_path_factory, metric_compare_promotion=False - ) - - -def test_no_data_quality_checks( - clean_zenml_client, - tmp_path_factory: pytest.TempPathFactory, -): - """Test skipping Data Quality checks.""" - - generate_and_run_project( - tmp_path_factory=tmp_path_factory, - data_quality_checks=False, - ) - - -def test_production_environment( - clean_zenml_client, - tmp_path_factory: pytest.TempPathFactory, -): - """Test deploying to production stage.""" - - generate_and_run_project( - tmp_path_factory=tmp_path_factory, - target_environment="production", - ) - - -def test_no_notify_on_failure( - clean_zenml_client, - tmp_path_factory: pytest.TempPathFactory, -): - """Test skipping notification on failure.""" - - generate_and_run_project( - tmp_path_factory=tmp_path_factory, - notify_on_failures=False, - ) - - -def test_notify_on_success( - clean_zenml_client, - tmp_path_factory: pytest.TempPathFactory, -): - """Test skipping notification on success.""" - - generate_and_run_project( - tmp_path_factory=tmp_path_factory, - notify_on_successes=True, - ) - - def test_custom_zenml_server_url( clean_zenml_client, tmp_path_factory: pytest.TempPathFactory, From 7b218b5b8ba009a65764a61e44bc8fb9428b3891 Mon Sep 17 00:00:00 2001 From: Alexej Penner Date: Thu, 14 Dec 2023 00:36:42 +0100 Subject: [PATCH 19/48] Removed templateized ipynb --- copier.yaml | 12 ------------ template/run.ipynb | 8 ++------ tests/test_starter_template.py | 2 -- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/copier.yaml b/copier.yaml index 121ae95..00455ec 100644 --- a/copier.yaml +++ b/copier.yaml @@ -1,5 +1,4 @@ --- # GLOBAL PROMPT -------------------------------- - template: type: str help: >- @@ -44,17 +43,6 @@ auto_format: type: bool help: "Auto-format the generated code with black, ruff and autoflake? \n (NOTE: you need to have these tools installed in your environment)" default: false -zenml_server_url: - type: str - help: "The URL of the ZenML server [Optional]" - default: "" - -# SUB-TEMPLATE PROMPT [starter] --------------------- -use_step_params: - type: bool - help: "Would you like to see step parameters being used in the generated \n ZenML steps?" - default: true - when: "{{ template == 'starter' }}" # CONFIGURATION ------------------------- _templates_suffix: "" diff --git a/template/run.ipynb b/template/run.ipynb index 2d817a9..3728287 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -106,13 +106,9 @@ "metadata": {}, "outputs": [], "source": [ - "{%- if zenml_server_url!='' %}\n", - "!zenml connect --url {{zenml_server_url}}\n", - "{%- else %}\n", "zenml_server_url = \"PLEASE_UPDATE_ME\" # in the form \"https://URL_TO_SERVER\"\n", "\n", - "!zenml connect --url $zenml_server_url\n", - "{%- endif %}" + "!zenml connect --url $zenml_server_url" ] }, { @@ -1081,7 +1077,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8f51a3a5", + "id": "601d7eea", "metadata": {}, "outputs": [], "source": [] diff --git a/tests/test_starter_template.py b/tests/test_starter_template.py index 8893f1d..67c7420 100644 --- a/tests/test_starter_template.py +++ b/tests/test_starter_template.py @@ -33,7 +33,6 @@ def generate_and_run_project( tmp_path_factory: pytest.TempPathFactory, open_source_license: Optional[str] = "apache", product_name: str = "starter_project", - zenml_server_url: str = "", ): """Generate and run the starter project with different options.""" @@ -42,7 +41,6 @@ def generate_and_run_project( "version": "0.0.1", "open_source_license": str(open_source_license).lower(), "product_name": product_name, - "zenml_server_url": zenml_server_url, } if open_source_license: answers["email"] = "pytest@zenml.io" From f99caf25dec4bf778eae12c2cfb11743350942a8 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 10:06:08 +0100 Subject: [PATCH 20/48] Many things in this commit - Formatted, darglinted, added complex promotion logic, added two trainins runs etc --- template/{assets => .assets}/cloud_mcp.png | Bin .../cloud_mcp.png:Zone.Identifier | 0 .../cloud_mcp_predictions.png | Bin .../cloud_mcp_screenshot.png | Bin .../feature_engineering_pipeline.png | Bin ...e_engineering_pipeline.png:Zone.Identifier | 0 .../inference_pipeline.png | Bin .../inference_pipeline.png:Zone.Identifier | 0 .../{assets => .assets}/pipeline_overview.png | Bin .../pipeline_overview.png:Zone.Identifier | 0 .../{assets => .assets}/training_pipeline.png | Bin .../training_pipeline.png:Zone.Identifier | 0 template/configs/inference.yaml | 4 +- .../{training.yaml => training_rf.yaml} | 10 ++-- template/configs/training_sgd.yaml | 20 ++++++++ template/pipelines/feature_engineering.py | 3 ++ template/pipelines/inference.py | 20 ++++---- template/pipelines/training.py | 27 +++++----- template/run.ipynb | 24 +++------ template/run.py | 45 ++++++++++++----- template/steps/__init__.py | 6 +-- template/steps/data_loader.py | 2 +- template/steps/data_preprocessor.py | 5 +- template/steps/inference_predict.py | 8 +-- template/steps/inference_preprocessor.py | 2 +- template/steps/model_evaluator.py | 16 +++--- template/steps/model_promoter.py | 46 +++++++++++++----- template/steps/model_trainer.py | 25 ++++++---- 28 files changed, 165 insertions(+), 98 deletions(-) rename template/{assets => .assets}/cloud_mcp.png (100%) rename template/{assets => .assets}/cloud_mcp.png:Zone.Identifier (100%) rename template/{assets => .assets}/cloud_mcp_predictions.png (100%) rename template/{assets => .assets}/cloud_mcp_screenshot.png (100%) rename template/{assets => .assets}/feature_engineering_pipeline.png (100%) rename template/{assets => .assets}/feature_engineering_pipeline.png:Zone.Identifier (100%) rename template/{assets => .assets}/inference_pipeline.png (100%) rename template/{assets => .assets}/inference_pipeline.png:Zone.Identifier (100%) rename template/{assets => .assets}/pipeline_overview.png (100%) rename template/{assets => .assets}/pipeline_overview.png:Zone.Identifier (100%) rename template/{assets => .assets}/training_pipeline.png (100%) rename template/{assets => .assets}/training_pipeline.png:Zone.Identifier (100%) rename template/configs/{training.yaml => training_rf.yaml} (71%) create mode 100644 template/configs/training_sgd.yaml diff --git a/template/assets/cloud_mcp.png b/template/.assets/cloud_mcp.png similarity index 100% rename from template/assets/cloud_mcp.png rename to template/.assets/cloud_mcp.png diff --git a/template/assets/cloud_mcp.png:Zone.Identifier b/template/.assets/cloud_mcp.png:Zone.Identifier similarity index 100% rename from template/assets/cloud_mcp.png:Zone.Identifier rename to template/.assets/cloud_mcp.png:Zone.Identifier diff --git a/template/assets/cloud_mcp_predictions.png b/template/.assets/cloud_mcp_predictions.png similarity index 100% rename from template/assets/cloud_mcp_predictions.png rename to template/.assets/cloud_mcp_predictions.png diff --git a/template/assets/cloud_mcp_screenshot.png b/template/.assets/cloud_mcp_screenshot.png similarity index 100% rename from template/assets/cloud_mcp_screenshot.png rename to template/.assets/cloud_mcp_screenshot.png diff --git a/template/assets/feature_engineering_pipeline.png b/template/.assets/feature_engineering_pipeline.png similarity index 100% rename from template/assets/feature_engineering_pipeline.png rename to template/.assets/feature_engineering_pipeline.png diff --git a/template/assets/feature_engineering_pipeline.png:Zone.Identifier b/template/.assets/feature_engineering_pipeline.png:Zone.Identifier similarity index 100% rename from template/assets/feature_engineering_pipeline.png:Zone.Identifier rename to template/.assets/feature_engineering_pipeline.png:Zone.Identifier diff --git a/template/assets/inference_pipeline.png b/template/.assets/inference_pipeline.png similarity index 100% rename from template/assets/inference_pipeline.png rename to template/.assets/inference_pipeline.png diff --git a/template/assets/inference_pipeline.png:Zone.Identifier b/template/.assets/inference_pipeline.png:Zone.Identifier similarity index 100% rename from template/assets/inference_pipeline.png:Zone.Identifier rename to template/.assets/inference_pipeline.png:Zone.Identifier diff --git a/template/assets/pipeline_overview.png b/template/.assets/pipeline_overview.png similarity index 100% rename from template/assets/pipeline_overview.png rename to template/.assets/pipeline_overview.png diff --git a/template/assets/pipeline_overview.png:Zone.Identifier b/template/.assets/pipeline_overview.png:Zone.Identifier similarity index 100% rename from template/assets/pipeline_overview.png:Zone.Identifier rename to template/.assets/pipeline_overview.png:Zone.Identifier diff --git a/template/assets/training_pipeline.png b/template/.assets/training_pipeline.png similarity index 100% rename from template/assets/training_pipeline.png rename to template/.assets/training_pipeline.png diff --git a/template/assets/training_pipeline.png:Zone.Identifier b/template/.assets/training_pipeline.png:Zone.Identifier similarity index 100% rename from template/assets/training_pipeline.png:Zone.Identifier rename to template/.assets/training_pipeline.png:Zone.Identifier diff --git a/template/configs/inference.yaml b/template/configs/inference.yaml index b9fd29d..bed69a3 100644 --- a/template/configs/inference.yaml +++ b/template/configs/inference.yaml @@ -7,8 +7,8 @@ settings: # configuration of the Model Control Plane model_version: - name: breast_cancer_classifier - version: production + name: "breast_cancer_classifier" + version: "production" license: Apache 2.0 description: A breast cancer classifier tags: ["breast_cancer", "classifier"] \ No newline at end of file diff --git a/template/configs/training.yaml b/template/configs/training_rf.yaml similarity index 71% rename from template/configs/training.yaml rename to template/configs/training_rf.yaml index b1161dd..8d1bbc9 100644 --- a/template/configs/training.yaml +++ b/template/configs/training_rf.yaml @@ -8,11 +8,13 @@ settings: # configuration of the Model Control Plane model_version: name: breast_cancer_classifier + version: rf license: Apache 2.0 description: A breast cancer classifier tags: ["breast_cancer", "classifier"] -# pipeline configuration -model_type: "sgd" # Choose between rf/sgd -# train_dataset_id: ... -# test_dataset_id: ... \ No newline at end of file +# step configuration +steps: + model_trainer: + parameters: + model_type: "rf" # Choose between rf/sgd diff --git a/template/configs/training_sgd.yaml b/template/configs/training_sgd.yaml new file mode 100644 index 0000000..4f08681 --- /dev/null +++ b/template/configs/training_sgd.yaml @@ -0,0 +1,20 @@ +# environment configuration +settings: + docker: + required_integrations: + - sklearn + - pyarrow + +# configuration of the Model Control Plane +model_version: + name: breast_cancer_classifier + version: sgd + license: Apache 2.0 + description: A breast cancer classifier + tags: ["breast_cancer", "classifier"] + +# step configuration +steps: + model_trainer: + parameters: + model_type: "sgd" # Choose between rf/sgd diff --git a/template/pipelines/feature_engineering.py b/template/pipelines/feature_engineering.py index bd6946b..543afcd 100644 --- a/template/pipelines/feature_engineering.py +++ b/template/pipelines/feature_engineering.py @@ -34,6 +34,9 @@ def feature_engineering( normalize: If `True` dataset will be normalized with MinMaxScaler drop_columns: List of columns to drop from dataset target: Name of target column in dataset + + Returns: + The processed datasets (dataset_trn, dataset_tst). """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output diff --git a/template/pipelines/inference.py b/template/pipelines/inference.py index ebba44d..b9a299f 100644 --- a/template/pipelines/inference.py +++ b/template/pipelines/inference.py @@ -1,15 +1,11 @@ # {% include 'template/license_header' %} -from uuid import UUID -from typing import List, Optional - from steps import ( data_loader, - inference_preprocessor, inference_predict, + inference_preprocessor, ) -from zenml import pipeline, ArtifactVersionResponse, get_pipeline_context -from zenml.client import Client +from zenml import get_pipeline_context, pipeline from zenml.logger import get_logger logger = get_logger(__name__) @@ -19,16 +15,22 @@ def inference(random_state: str, target: str): """ Model inference pipeline. - + This is a pipeline that loads the inference data, processes it with the same preprocessing pipeline used in training, and runs inference with the trained model. + + Args: + random_state: Random state for reproducibility. + target: Name of target column in dataset. """ # Get the production model artifact model = get_pipeline_context().model_version.get_artifact("model") - + # Get the preprocess pipeline artifact associated with this version - preprocess_pipeline = get_pipeline_context().model_version.get_artifact("preprocess_pipeline") + preprocess_pipeline = get_pipeline_context().model_version.get_artifact( + "preprocess_pipeline" + ) # Link all the steps together by calling them and passing the output # of one step as the input of the next step. diff --git a/template/pipelines/training.py b/template/pipelines/training.py index 2e8b367..7819cd8 100644 --- a/template/pipelines/training.py +++ b/template/pipelines/training.py @@ -3,7 +3,7 @@ from typing import Optional from uuid import UUID -from steps import model_evaluator, model_trainer, model_promoter +from steps import model_evaluator, model_promoter, model_trainer from zenml import ExternalArtifact, pipeline from zenml.logger import get_logger @@ -18,21 +18,21 @@ def training( train_dataset_id: Optional[UUID] = None, test_dataset_id: Optional[UUID] = None, - min_train_accuracy: float = 0.0, - min_test_accuracy: float = 0.0, + target: Optional[str] = "target", ): """ Model training pipeline. - This is a pipeline that loads the data, processes it and splits - it into train and test sets, then search for best hyperparameters, - trains and evaluates a model. + This is a pipeline that loads the data from a preprocessing pipeline, + trains a model on it and evaluates the model. If it is the first model + to be trained, it will be promoted to production. If not, it will be + promoted only if it has a higher accuracy than the current production + model version. Args: - test_size: Size of holdout set for training 0.0..1.0 - drop_na: If `True` NA values will be removed from dataset - normalize: If `True` dataset will be normalized with MinMaxScaler - drop_columns: List of columns to drop from dataset + train_dataset_id: ID of the train dataset produced by feature engineering. + test_dataset_id: ID of the test dataset produced by feature engineering. + target: Name of target column in dataset. """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output @@ -45,16 +45,13 @@ def training( dataset_trn = ExternalArtifact(id=train_dataset_id) dataset_tst = ExternalArtifact(id=test_dataset_id) - model = model_trainer( - dataset_trn=dataset_trn, - ) + model = model_trainer(dataset_trn=dataset_trn, target=target) acc = model_evaluator( model=model, dataset_trn=dataset_trn, dataset_tst=dataset_tst, - min_train_accuracy=min_train_accuracy, - min_test_accuracy=min_test_accuracy, + target=target, ) model_promoter(accuracy=acc) diff --git a/template/run.ipynb b/template/run.ipynb index 3728287..2b9c0f1 100644 --- a/template/run.ipynb +++ b/template/run.ipynb @@ -17,7 +17,7 @@ "\n", "Follow along this notebook to understand how you can use ZenML to productionalize your ML workflows!\n", "\n", - "\"Pipelines" + "\"Pipelines" ] }, { @@ -179,7 +179,7 @@ "your training. ZenML mostly gets out of your way when you're writing your Python\n", "code, as you'll see from the following cell.\n", "\n", - "\"Feature" + "\"Feature" ] }, { @@ -520,7 +520,7 @@ "Classifier, both batteries-included from `sklearn`. We'll train them both on the\n", "same data and then compare their performance.\n", "\n", - "\"Training" + "\"Training" ] }, { @@ -829,7 +829,7 @@ "source": [ "If you are a [ZenML Cloud](https://zenml.io/cloud) user, you can see all of this visualized in the dashboard:\n", "\n", - "\"Model" + "\"Model" ] }, { @@ -874,7 +874,7 @@ "id": "2ecbc8cf", "metadata": {}, "source": [ - "\"Model" + "\"Model" ] }, { @@ -903,7 +903,7 @@ "with `live data`. The critical step here is the `inference_predict` step, where we load the model in memory\n", "and generate predictions:\n", "\n", - "\"Inference" + "\"Inference" ] }, { @@ -1043,7 +1043,7 @@ "source": [ "You can also see all predictions ever created as a complete history in the dashboard:\n", "\n", - "\"Model" + "\"Model" ] }, { @@ -1073,14 +1073,6 @@ "* If you have questions or feedback... join our [**Slack Community**](https://zenml.io/slack) and become part of the ZenML family!\n", "* If you want to quickly get started with ZenML, check out the [ZenML Cloud](https://zenml.io/cloud)." ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "601d7eea", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -1099,7 +1091,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.8.10" } }, "nbformat": 4, diff --git a/template/run.py b/template/run.py index 7eceb6f..a970922 100644 --- a/template/run.py +++ b/template/run.py @@ -4,6 +4,7 @@ from typing import Optional import click +import yaml from pipelines import ( feature_engineering, inference, @@ -102,6 +103,17 @@ def main( (some of which may come from command line arguments, but most of which comes from the YAML config files) * launching the pipeline + + Args: + train_dataset_name: The name of the train dataset produced by feature engineering. + train_dataset_version_name: Version of the train dataset produced by feature engineering. + If not specified, a new version will be created. + test_dataset_name: The name of the test dataset produced by feature engineering. + test_dataset_version_name: Version of the test dataset produced by feature engineering. + If not specified, a new version will be created. + feature_pipeline: Whether to run the pipeline that creates the dataset. + training_pipeline: Whether to run the pipeline that trains the model. + inference_pipeline: Whether to run the pipeline that performs inference. """ client = Client() @@ -118,13 +130,10 @@ def main( ) run_args_feature = {} feature_engineering.with_options(**pipeline_args)(**run_args_feature) - logger.info("Feature Engineering pipeline finished successfully!") + logger.info("Feature Engineering pipeline finished successfully!\n\n") # Execute Training Pipeline if training_pipeline: - pipeline_args = {} - pipeline_args["config_path"] = os.path.join(config_folder, "training.yaml") - run_args_train = {} # If train_dataset_version_name is specified, use versioned artifacts @@ -145,26 +154,38 @@ def main( run_args_train["train_dataset_id"] = train_dataset_artifact_version.id run_args_train["test_dataset_id"] = test_dataset_artifact_version.id + # Run the SGD pipeline + pipeline_args = {} + pipeline_args["config_path"] = os.path.join(config_folder, "training_sgd.yaml") + training.with_options(**pipeline_args)(**run_args_train) + logger.info("Training pipeline with SGD finished successfully!\n\n") + + # Run the RF pipeline + pipeline_args = {} + pipeline_args["config_path"] = os.path.join(config_folder, "training_rf.yaml") training.with_options(**pipeline_args)(**run_args_train) - logger.info("Training pipeline finished successfully!") + logger.info("Training pipeline with RF finished successfully!\n\n") if inference_pipeline: - run_args_train = {} + run_args_inference = {} pipeline_args = {} pipeline_args["config_path"] = os.path.join(config_folder, "inference.yaml") - run_args_inference = {} - + # Configure the pipeline inference_configured = inference.with_options(**pipeline_args) - + # Fetch the production model - zenml_model = client.get_model_version("breast_cancer_classifier", "production") + with open(pipeline_args["config_path"], "r") as f: + config = yaml.load(f, Loader=yaml.FullLoader) + zenml_model = client.get_model_version( + config["model_version"]["name"], config["model_version"]["version"] + ) preprocess_pipeline_artifact = zenml_model.get_artifact("preprocess_pipeline") - + # Use the metadata of feature engineering pipeline artifact # to get the random state and target column random_state = preprocess_pipeline_artifact.run_metadata["random_state"].value - target = preprocess_pipeline_artifact.run_metadata['target'].value + target = preprocess_pipeline_artifact.run_metadata["target"].value run_args_inference["random_state"] = random_state run_args_inference["target"] = target diff --git a/template/steps/__init__.py b/template/steps/__init__.py index 2f85671..aee0212 100644 --- a/template/steps/__init__.py +++ b/template/steps/__init__.py @@ -18,9 +18,9 @@ from .model_evaluator import ( model_evaluator, ) +from .model_promoter import ( + model_promoter, +) from .model_trainer import ( model_trainer, ) -from .model_promoter import ( - model_promoter, -) \ No newline at end of file diff --git a/template/steps/data_loader.py b/template/steps/data_loader.py index 941cbe2..90e3955 100644 --- a/template/steps/data_loader.py +++ b/template/steps/data_loader.py @@ -25,9 +25,9 @@ def data_loader( https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines Args: + random_state: Random state for sampling is_inference: If `True` subset will be returned and target column will be removed from dataset. - random_state: Random state for sampling target: Name of target columns in dataset. Returns: diff --git a/template/steps/data_preprocessor.py b/template/steps/data_preprocessor.py index 78a0c72..66add2f 100644 --- a/template/steps/data_preprocessor.py +++ b/template/steps/data_preprocessor.py @@ -12,9 +12,9 @@ @step def data_preprocessor( + random_state: int, dataset_trn: pd.DataFrame, dataset_tst: pd.DataFrame, - random_state: int, drop_na: Optional[bool] = None, normalize: Optional[bool] = None, drop_columns: Optional[List[str]] = None, @@ -41,12 +41,13 @@ def data_preprocessor( https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines Args: + random_state: Random state for sampling. dataset_trn: The train dataset. dataset_tst: The test dataset. drop_na: If `True` all NA rows will be dropped. normalize: If `True` all numeric fields will be normalized. drop_columns: List of column names to drop. - random_state: Random state for sampling. + target: Name of target column in dataset. Returns: The processed datasets (dataset_trn, dataset_tst) and fitted `Pipeline` object. diff --git a/template/steps/inference_predict.py b/template/steps/inference_predict.py index 9e05e21..ef28087 100644 --- a/template/steps/inference_predict.py +++ b/template/steps/inference_predict.py @@ -16,9 +16,10 @@ # from typing import Any + import pandas as pd from typing_extensions import Annotated -from zenml import get_step_context, step +from zenml import step from zenml.logger import get_logger logger = get_logger(__name__) @@ -31,8 +32,8 @@ def inference_predict( ) -> Annotated[pd.Series, "predictions"]: """Predictions step. - This is an example of a predictions step that takes the data in and returns - predicted values. + This is an example of a predictions step that takes the data and model in + and returns predicted values. This step is parameterized, which allows you to configure the step independently of the step code, before running it in a pipeline. @@ -42,6 +43,7 @@ def inference_predict( https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines Args: + model: Trained model. dataset_inf: The inference dataset. Returns: diff --git a/template/steps/inference_preprocessor.py b/template/steps/inference_preprocessor.py index c7a5ae1..7503061 100644 --- a/template/steps/inference_preprocessor.py +++ b/template/steps/inference_preprocessor.py @@ -46,7 +46,7 @@ def inference_preprocessor( # artificially adding `target` column to avoid Pipeline issues dataset_inf[target] = pd.Series([1] * dataset_inf.shape[0]) dataset_inf = preprocess_pipeline.transform(dataset_inf) - dataset_inf.drop(columns=["target"], inplace=True) + dataset_inf.drop(columns=[target], inplace=True) ### YOUR CODE ENDS HERE ### return dataset_inf diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py index 79892e8..b0b1994 100644 --- a/template/steps/model_evaluator.py +++ b/template/steps/model_evaluator.py @@ -1,8 +1,10 @@ # {% include 'template/license_header' %} +from typing import Optional + import pandas as pd from sklearn.base import ClassifierMixin -from zenml import step, log_artifact_metadata +from zenml import log_artifact_metadata, step from zenml.logger import get_logger logger = get_logger(__name__) @@ -15,6 +17,7 @@ def model_evaluator( dataset_tst: pd.DataFrame, min_train_accuracy: float = 0.0, min_test_accuracy: float = 0.0, + target: Optional[str] = "target", ) -> float: """Evaluate a trained model. @@ -46,19 +49,12 @@ def model_evaluator( dataset_tst: The test dataset. min_train_accuracy: Minimal acceptable training accuracy value. min_test_accuracy: Minimal acceptable testing accuracy value. - fail_on_accuracy_quality_gates: If `True` a `RuntimeException` is raised - upon not meeting one of the minimal accuracy thresholds. + target: Name of target column in dataset. - Retuns: + Returns: The model accuracy on the test set. - - Raises: - RuntimeError: if any of accuracies is lower than respective threshold """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # context = get_step_context() - # target = context.inputs["dataset_trn"].run_metadata['target'].value - target = "target" # Calculate the model accuracy on the train and test set trn_acc = model.score( diff --git a/template/steps/model_promoter.py b/template/steps/model_promoter.py index d8a048b..44bb537 100644 --- a/template/steps/model_promoter.py +++ b/template/steps/model_promoter.py @@ -1,6 +1,7 @@ # {% include 'template/license_header' %} from zenml import get_step_context, step +from zenml.client import Client from zenml.logger import get_logger logger = get_logger(__name__) @@ -10,14 +11,12 @@ def model_promoter(accuracy: float, stage: str = "production") -> bool: """Model promoter step. - This is an example of a step that conditionally promotes a model. - - This step is parameterized, which allows you to configure the step - independently of the step code, before running it in a pipeline. - In this example, the step can be configured with the accuracy of the model - and the target stage: - - https://docs.zenml.io/user-guide/advanced-guide/configure-steps-pipelines + This is an example of a step that conditionally promotes a model. It takes + in the accuracy of the model and the stage to promote the model to. If the + accuracy is below 80%, the model is not promoted. If it is above 80%, the + model is promoted to the stage indicated in the parameters. If there is + already a model in the indicated stage, the model with the higher accuracy + is promoted. Args: accuracy: Accuracy of the model. @@ -26,15 +25,40 @@ def model_promoter(accuracy: float, stage: str = "production") -> bool: Returns: Whether the model was promoted or not. """ + ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### + is_promoted = False + if accuracy < 0.8: logger.info( f"Model accuracy {accuracy*100:.2f}% is below 80% ! Not promoting model." ) - is_promoted = False else: logger.info(f"Model promoted to {stage}!") is_promoted = True - model_version = get_step_context().model_version - model_version.set_stage(stage, force=True) + # Get the model in the current context + current_model_version = get_step_context().model_version + + # Get the model that is in the production stage + client = Client() + try: + stage_model_version = client.get_model_version( + current_model_version.name, stage + ) + # We compare their metrics + prod_accuracy = ( + stage_model_version.get_artifact("model") + .run_metadata["test_accuracy"] + .value + ) + if accuracy > prod_accuracy: + # If current model has better metrics, we promote it + is_promoted = True + current_model_version.set_stage(stage, force=True) + except KeyError: + # If no such model exists, current one is promoted + is_promoted = True + current_model_version.set_stage(stage, force=True) + + ### YOUR CODE ENDS HERE ### return is_promoted diff --git a/template/steps/model_trainer.py b/template/steps/model_trainer.py index e7580ca..196745c 100644 --- a/template/steps/model_trainer.py +++ b/template/steps/model_trainer.py @@ -1,8 +1,11 @@ # {% include 'template/license_header' %} +from typing import Optional + import pandas as pd from sklearn.base import ClassifierMixin -from sklearn.tree import DecisionTreeClassifier +from sklearn.ensemble import RandomForestClassifier +from sklearn.linear_model import SGDClassifier from typing_extensions import Annotated from zenml import ArtifactConfig, step from zenml.logger import get_logger @@ -13,6 +16,8 @@ @step def model_trainer( dataset_trn: pd.DataFrame, + model_type: str = "sgd", + target: Optional[str] = "target", ) -> Annotated[ClassifierMixin, ArtifactConfig(name="model", is_model_artifact=True)]: """Configure and train a model on the training dataset. @@ -23,22 +28,25 @@ def model_trainer( Args: dataset_trn: The preprocessed train dataset. + model_type: The type of model to train. target: The name of the target column in the dataset. Returns: The trained model artifact. + + Raises: + ValueError: If the model type is not supported. """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - - # Use the dataset to fetch the target - # context = get_step_context() - # target = context.inputs["dataset_trn"].run_metadata['target'].value - target = "target" - # Initialize the model with the hyperparameters indicated in the step # parameters and train it on the training set. - model = DecisionTreeClassifier() + if model_type == "sgd": + model = SGDClassifier() + elif model_type == "rf": + model = RandomForestClassifier() + else: + raise ValueError(f"Unknown model type {model_type}") logger.info(f"Training model {model}...") model.fit( @@ -46,5 +54,4 @@ def model_trainer( dataset_trn[target], ) ### YOUR CODE ENDS HERE ### - return model From d5bc5e6985c6c22b797fd51202a80d7f45bb543f Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 10:28:18 +0100 Subject: [PATCH 21/48] Latest changes --- README.md | 23 +++++++++-------------- template/configs/training_rf.yaml | 8 +++----- template/configs/training_sgd.yaml | 8 +++----- template/pipelines/training.py | 4 +++- template/{run.ipynb => quickstart.ipynb} | 2 +- template/run.py | 2 +- template/steps/model_promoter.py | 2 +- 7 files changed, 21 insertions(+), 28 deletions(-) rename template/{run.ipynb => quickstart.ipynb} (99%) diff --git a/README.md b/README.md index 0660009..a91f854 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,16 @@ # 📜 ZenML Project Templates -This repository contains a collection of templates from which a ZenML project +This repository contains a starter template from which a simple ZenML project can be generated: a collection of steps, pipelines, stack configurations and other artifacts and useful resources that can get you started with ZenML. -🔥 **Do you have a personal project powered by ZenML that you would like to see here?** At -ZenML, we are looking for design partnerships and collaboration to help us +🔥 **Do you have a personal project powered by ZenML that you would like to see here?** + +At ZenML, we are looking for design partnerships and collaboration to help us better understand the real-world scenarios in which MLOps is being used and to build the best possible experience for our users. If you are interested in sharing all or parts of your project with us in the form of a ZenML project -template, please [join our Slack](https://zenml.io/slack-invite/) and leave us a +template, please [join our Slack](https://zenml.io/slack/) and leave us a message! ## 📦 Prerequisites @@ -18,7 +19,7 @@ To use the templates, you need to have Zenml and its `templates` extras installed: ```bash -pip install zenml[templates] +pip install "zenml[templates]" ``` ## 🚀 Generate a ZenML Project @@ -35,7 +36,7 @@ library and a set of Jinja2 templates to generate the project. So you may also interact with Copier directly to generate a project, e.g.: ```bash -copier gh:zenml-io/zenml-project-templates +copier gh:zenml-io/template-starter ``` You will be prompted to select the project template and enter various values for @@ -47,11 +48,5 @@ the same command again. If you want to skip the prompts to use the values you already entered and overwrite all files in the existing project, you can run: ```bash -copier -wf gh:zenml-io/zenml-project-templates -``` - -## 📃 List of Project Templates - -| Project Template | Tags | Description | -|------------------|----------|-----------------------------------------------------------------------------------| -| [ZenML Starter](https://github.com/zenml-io/zenml-project-templates/tree/main/starter) | basic scikit-learn | All the basic ML ingredients you need to get you started with ZenML: parameterized steps, a model training pipeline, a flexible configuration and a simple CLI. All created around a representative and versatile model training use-case implemented with the scikit-learn library. | +copier -wf gh:zenml-io/template-starter +``` \ No newline at end of file diff --git a/template/configs/training_rf.yaml b/template/configs/training_rf.yaml index 8d1bbc9..ddb68d6 100644 --- a/template/configs/training_rf.yaml +++ b/template/configs/training_rf.yaml @@ -13,8 +13,6 @@ model_version: description: A breast cancer classifier tags: ["breast_cancer", "classifier"] -# step configuration -steps: - model_trainer: - parameters: - model_type: "rf" # Choose between rf/sgd +# Configure the pipeline +parameters: + model_type: "rf" # Choose between rf/sgd diff --git a/template/configs/training_sgd.yaml b/template/configs/training_sgd.yaml index 4f08681..4318c38 100644 --- a/template/configs/training_sgd.yaml +++ b/template/configs/training_sgd.yaml @@ -13,8 +13,6 @@ model_version: description: A breast cancer classifier tags: ["breast_cancer", "classifier"] -# step configuration -steps: - model_trainer: - parameters: - model_type: "sgd" # Choose between rf/sgd +# Configure the pipeline +parameters: + model_type: "sgd" # Choose between rf/sgd \ No newline at end of file diff --git a/template/pipelines/training.py b/template/pipelines/training.py index 7819cd8..b5d0f80 100644 --- a/template/pipelines/training.py +++ b/template/pipelines/training.py @@ -19,6 +19,7 @@ def training( train_dataset_id: Optional[UUID] = None, test_dataset_id: Optional[UUID] = None, target: Optional[str] = "target", + model_type: Optional[str] = "sgd", ): """ Model training pipeline. @@ -33,6 +34,7 @@ def training( train_dataset_id: ID of the train dataset produced by feature engineering. test_dataset_id: ID of the test dataset produced by feature engineering. target: Name of target column in dataset. + model_type: The type of model to train. """ ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output @@ -45,7 +47,7 @@ def training( dataset_trn = ExternalArtifact(id=train_dataset_id) dataset_tst = ExternalArtifact(id=test_dataset_id) - model = model_trainer(dataset_trn=dataset_trn, target=target) + model = model_trainer(dataset_trn=dataset_trn, target=target, model_type=model_type) acc = model_evaluator( model=model, diff --git a/template/run.ipynb b/template/quickstart.ipynb similarity index 99% rename from template/run.ipynb rename to template/quickstart.ipynb index 2b9c0f1..e36df48 100644 --- a/template/run.ipynb +++ b/template/quickstart.ipynb @@ -31,7 +31,7 @@ "required!\n", "\n", "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](\n", - "https://colab.research.google.com/github/zenml-io/zenml/blob/main/examples/quickstart/run.ipynb)" + "https://colab.research.google.com/github/zenml-io/zenml/blob/main/examples/quickstart/quickstart.ipynb)" ] }, { diff --git a/template/run.py b/template/run.py index a970922..c430558 100644 --- a/template/run.py +++ b/template/run.py @@ -168,7 +168,7 @@ def main( if inference_pipeline: run_args_inference = {} - pipeline_args = {} + pipeline_args = {"enable_cache": False} pipeline_args["config_path"] = os.path.join(config_folder, "inference.yaml") # Configure the pipeline diff --git a/template/steps/model_promoter.py b/template/steps/model_promoter.py index 44bb537..2126c06 100644 --- a/template/steps/model_promoter.py +++ b/template/steps/model_promoter.py @@ -51,7 +51,7 @@ def model_promoter(accuracy: float, stage: str = "production") -> bool: .run_metadata["test_accuracy"] .value ) - if accuracy > prod_accuracy: + if float(accuracy) > float(prod_accuracy): # If current model has better metrics, we promote it is_promoted = True current_model_version.set_stage(stage, force=True) From 88036a28295e44805d281f68fdd9198955bc558d Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 10:30:03 +0100 Subject: [PATCH 22/48] README --- template/README.md | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/template/README.md b/template/README.md index 56ec468..d9efbc2 100644 --- a/template/README.md +++ b/template/README.md @@ -16,7 +16,9 @@ Along the way we will also show you how to: - Automatically version, track, and cache data, models, and other artifacts - Transition your ML models from development to production -## :cloud: Run on Colab +Pipelines Overview + +## 🏃 Run on Colab You can use Google Colab to see ZenML in action, no signup / installation required! @@ -71,21 +73,7 @@ python run.py --inference-pipeline ## :dart: Dashboard -You can also take a look at our **dashboard** where you can inspect the quickstart -pipeline run and much more. Simply execute: - -```shell -# only once you've already run `zenml up` -zenml show -``` - -## :sponge: Clean up - -To clean up, simply spin down the ZenML server. -```shell -zenml down -``` ## :bulb: Learn More From fdca688917dc721631754d48bb04593dd6ef4047 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 10:41:21 +0100 Subject: [PATCH 23/48] New readme --- template/README.md | 89 +++++++++++++++++++++++++++++++++++++-- template/quickstart.ipynb | 2 +- 2 files changed, 86 insertions(+), 5 deletions(-) diff --git a/template/README.md b/template/README.md index d9efbc2..86c506a 100644 --- a/template/README.md +++ b/template/README.md @@ -4,20 +4,22 @@ Build your first MLOps pipelines with ZenML. ## :earth_americas: Overview -This starter project demonstrates a complete minimalist MLOps journey. It features: +This repository is a minimalistic MLOps project intended as a starting point to learn how to put ML workflows in production. It features: - A feature engineering pipeline that loads data and prepares it for training. - A training pipeline that loads the preprocessed dataset and trains a model. - A batch inference pipeline that runs predictions on the trained model with new data. +This is a representation of how it will all come together: + +Pipelines Overview + Along the way we will also show you how to: - Structure your code into MLOps pipelines - Automatically version, track, and cache data, models, and other artifacts - Transition your ML models from development to production -Pipelines Overview - ## 🏃 Run on Colab You can use Google Colab to see ZenML in action, no signup / installation required! @@ -71,12 +73,91 @@ python run.py --training-pipeline --train-dataset-version-name=1 --test-dataset- python run.py --inference-pipeline ``` -## :dart: Dashboard +## 🌵 Learning MLOps + +### 🥇 Step 1: Load your data and execute feature engineering + +We'll start off by importing our data. In this quickstart we'll be working with +[the Breast Cancer](https://archive.ics.uci.edu/dataset/17/breast+cancer+wisconsin+diagnostic) dataset +which is publicly available on the UCI Machine Learning Repository. The task is a classification +problem, to predict whether a patient is diagnosed with breast cancer or not. + +When you're getting started with a machine learning problem you'll want to do +something similar to this: import your data and get it in the right shape for +your training. + +Feature engineering pipeline + +### ⌚ Step 2: Training pipeline + +Now that we have our data it makes sense to train some models to get a sense of +how difficult the task is. The Breast Cancer dataset is sufficiently large and complex +that it's unlikely we'll be able to train a model that behaves perfectly since the problem +is inherently complex, but we can get a sense of what a reasonable baseline looks like. + +We'll start with two simple models, a SGD Classifier and a Random Forest +Classifier, both batteries-included from `sklearn`. We'll train them both on the +same data and then compare their performance. + +Training pipeline + +### 💯 Step 3: Associating a model with your pipeline +You can see it is relatively easy to train ML models using ZenML pipelines. But it can be somewhat clunky to track +all the models produced as you develop your experiments and use-cases. Luckily, ZenML offers a *Model Control Plane*, +which is a central register of all your ML models. +You can easily create a ZenML `Model` and associate it with your pipelines using the `ModelVersion` object. The interesting part is that ZenML goes ahead and links all artifacts produced by the +pipelines to that model version, including the two pickle files that represent our +SGD and RandomForest classifier. We can see all artifacts directly from the model +version object. + +If you are a [ZenML Cloud](https://zenml.io/cloud) user, you can see all of this visualized in the dashboard: + +Model Control Plane + +There is a lot more you can do with ZenML models, including the ability to +track metrics by adding metadata to it, or having them persist in a model +registry. However, these topics can be explored more in the +[ZenML docs](https://docs.zenml.io). + +For now, we will use the ZenML model control plane to promote our best +model to `production`. You can do this by simply setting the `stage` of +your chosen model version to the `production` tag. + +Of course, normally one would only promote the model by comparing to all other model +versions and doing some other tests. But that's a bit more advanced use-case. See the +[e2e_batch example](https://github.com/zenml-io/zenml/tree/main/examples/e2e) to get +more insight into that sort of flow! + +Model Control Plane + +Once the model is promoted, we can now consume the right model version in our +batch inference pipeline directly. Let's see how that works. + +The batch inference pipeline simply takes the model marked as `production` and runs inference on it +with `live data`. The critical step here is the `inference_predict` step, where we load the model in memory and generate predictions. Apart from the loading the model, we must also load the preprocessing pipeline that we ran in feature engineering, +so that we can do the exact steps that we did on training time, in inference time. Let's bring it all together: + +Inference pipeline + +ZenML automatically links all artifacts to the `production` model version as well, including the predictions +that were returned in the pipeline. This completes the MLOps loop of training to inference: + +You can also see all predictions ever created as a complete history in the dashboard: + +Model Control Plane + +### 🫅 Step 4: Consuming the model in production ## :bulb: Learn More +You're a legit MLOps engineer now! You trained two models, evaluated them against +a test set, registered the best one with the ZenML model control plane, +and served some predictions. You also learned how to iterate on your models and +data by using some of the ZenML utility abstractions. You saw how to view your +artifacts and stacks via the client as well as the ZenML Dashboard. + If you want to learn more about ZenML as a tool, then the [:page_facing_up: **ZenML Docs**](https://docs.zenml.io/) are the perfect place to get started. diff --git a/template/quickstart.ipynb b/template/quickstart.ipynb index e36df48..ea37432 100644 --- a/template/quickstart.ipynb +++ b/template/quickstart.ipynb @@ -903,7 +903,7 @@ "with `live data`. The critical step here is the `inference_predict` step, where we load the model in memory\n", "and generate predictions:\n", "\n", - "\"Inference" + "\"Inference" ] }, { From 8ce022bd1291c2f9d5bf9bc79e62c22f9f044a60 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 13:04:39 +0100 Subject: [PATCH 24/48] LatesT --- template/README.md | 96 ++++++++++++++++++++++++++++++++-------------- template/run.py | 11 +++++- 2 files changed, 77 insertions(+), 30 deletions(-) diff --git a/template/README.md b/template/README.md index 86c506a..438cac7 100644 --- a/template/README.md +++ b/template/README.md @@ -73,44 +73,71 @@ python run.py --training-pipeline --train-dataset-version-name=1 --test-dataset- python run.py --inference-pipeline ``` -## 🌵 Learning MLOps +## 🌵 Learning MLOps with ZenML -### 🥇 Step 1: Load your data and execute feature engineering +This project is also a great source of learning about some fundamental MLOps concepts. In sum, there are four exemplary steps happening, that can be mapped onto many other projects: -We'll start off by importing our data. In this quickstart we'll be working with +
+ 🥇 Step 1: Load your data and execute feature engineering + +We'll start off by importing our data. In this project, we'll be working with [the Breast Cancer](https://archive.ics.uci.edu/dataset/17/breast+cancer+wisconsin+diagnostic) dataset which is publicly available on the UCI Machine Learning Repository. The task is a classification problem, to predict whether a patient is diagnosed with breast cancer or not. When you're getting started with a machine learning problem you'll want to do something similar to this: import your data and get it in the right shape for -your training. +your training. Here are the typical steps within a feature engineering pipeline. + +The steps can be found defined the [steps](steps/) directory, while the [pipelines](pipelines/) directory has the pipeline code to connect them together. + +Feature engineering pipeline + +To execute the feature engineer pipelines, run: -Feature engineering pipeline +```python +python run.py --feature-pipeline +``` -### ⌚ Step 2: Training pipeline +After the pipeline has run, the pipeline will produce some logs like: + +```shell +The latest feature engineering pipeline produced the following artifacts: -Now that we have our data it makes sense to train some models to get a sense of -how difficult the task is. The Breast Cancer dataset is sufficiently large and complex -that it's unlikely we'll be able to train a model that behaves perfectly since the problem +1. Train Dataset - Name: dataset_trn, Version Name: 1 +2. Test Dataset: Name: dataset_tst, Version Name: 1 +``` + +We will use these versions in the next pipeline. + +
+ +
+ ⌚ Step 2: Training pipeline + +Now that our data is prepared, it makes sense to train some models to get a sense of how difficult the task is. The Breast Cancer dataset is sufficiently large and complex that it's unlikely we'll be able to train a model that behaves perfectly since the problem is inherently complex, but we can get a sense of what a reasonable baseline looks like. We'll start with two simple models, a SGD Classifier and a Random Forest Classifier, both batteries-included from `sklearn`. We'll train them both on the same data and then compare their performance. -Training pipeline +Training pipeline + +Run it by using the ID's from the first step: + +```python +python run.py --training-pipeline --train-dataset-version-name 1 --test-dataset-version-name 1 +``` -### 💯 Step 3: Associating a model with your pipeline +ZenML offers a *Model Control Plane*, +which is a central register of all your ML models. Each run of the training pipeline will produce a ZenML Model Version. -You can see it is relatively easy to train ML models using ZenML pipelines. But it can be somewhat clunky to track -all the models produced as you develop your experiments and use-cases. Luckily, ZenML offers a *Model Control Plane*, -which is a central register of all your ML models. +```shell +zenml model list +``` -You can easily create a ZenML `Model` and associate it with your pipelines using the `ModelVersion` object. The interesting part is that ZenML goes ahead and links all artifacts produced by the -pipelines to that model version, including the two pickle files that represent our -SGD and RandomForest classifier. We can see all artifacts directly from the model -version object. +This will show you a new `breast_cancer_classifier` model with two versions, `sgd` and `rf` created. You can find out how this was configured in the [YAML pipeline configuration files](configs/). If you are a [ZenML Cloud](https://zenml.io/cloud) user, you can see all of this visualized in the dashboard: @@ -121,17 +148,30 @@ track metrics by adding metadata to it, or having them persist in a model registry. However, these topics can be explored more in the [ZenML docs](https://docs.zenml.io). +
+ +
+ 💯 Step 3: Associating a model with your pipeline + For now, we will use the ZenML model control plane to promote our best model to `production`. You can do this by simply setting the `stage` of your chosen model version to the `production` tag. -Of course, normally one would only promote the model by comparing to all other model -versions and doing some other tests. But that's a bit more advanced use-case. See the -[e2e_batch example](https://github.com/zenml-io/zenml/tree/main/examples/e2e) to get -more insight into that sort of flow! +```shell +zenml model version update breast_cancer_classifier rf --stage production +``` + +Even if we did this manually for illustration, if you inspect the [promoter code](steps/model_promoter.py), we can see this would already have been done automatically by the training pipeline. It uses the previous production metrics to compare to the current one, and promotes the new model if it performs better on the test set. Model Control Plane +Again, if you are a [ZenML Cloud](https://zenml.io/cloud) user, you would be able to see all this in the cloud dashboard. + +
+ +
+ 🫅 Step 4: Consuming the model in production + Once the model is promoted, we can now consume the right model version in our batch inference pipeline directly. Let's see how that works. @@ -139,16 +179,16 @@ The batch inference pipeline simply takes the model marked as `production` and r with `live data`. The critical step here is the `inference_predict` step, where we load the model in memory and generate predictions. Apart from the loading the model, we must also load the preprocessing pipeline that we ran in feature engineering, so that we can do the exact steps that we did on training time, in inference time. Let's bring it all together: -Inference pipeline - ZenML automatically links all artifacts to the `production` model version as well, including the predictions that were returned in the pipeline. This completes the MLOps loop of training to inference: -You can also see all predictions ever created as a complete history in the dashboard: +Inference pipeline + +You can also see all predictions ever created as a complete history in the dashboard (Again only for [ZenML Cloud](https://zenml.io/cloud) users): Model Control Plane -### 🫅 Step 4: Consuming the model in production +
## :bulb: Learn More @@ -162,9 +202,7 @@ If you want to learn more about ZenML as a tool, then the [:page_facing_up: **ZenML Docs**](https://docs.zenml.io/) are the perfect place to get started. -Already have an MLOps stack in mind? ZenML most likely has -[**:link: Integrations**](https://docs.zenml.io/stacks-and-components/component-guide) -for whatever tools you plan to use. +The best way to get a production ZenML instance up and running with all batteries included is the [ZenML Cloud](https://zenml.io/cloud). Check it out! Also, make sure to join our
Slack diff --git a/template/run.py b/template/run.py index c430558..28b309d 100644 --- a/template/run.py +++ b/template/run.py @@ -130,7 +130,16 @@ def main( ) run_args_feature = {} feature_engineering.with_options(**pipeline_args)(**run_args_feature) - logger.info("Feature Engineering pipeline finished successfully!\n\n") + logger.info("Feature Engineering pipeline finished successfully!\n") + + train_dataset_artifact = client.get_artifact_version(train_dataset_name) + test_dataset_artifact = client.get_artifact_version(test_dataset_name) + logger.info( + "The latest feature engineering pipeline produced the following " + f"artifacts: \n\n1. Train Dataset - Name: {train_dataset_name}, " + f"Version Name: {train_dataset_artifact.version} \n2. Test Dataset: " + f"Name: {test_dataset_name}, Version Name: {test_dataset_artifact.version}" + ) # Execute Training Pipeline if training_pipeline: From dfcbe514309908dd57b5d58c838666a910ca0253 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 13:05:19 +0100 Subject: [PATCH 25/48] LatesT --- template/quickstart.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/quickstart.ipynb b/template/quickstart.ipynb index ea37432..f7639b5 100644 --- a/template/quickstart.ipynb +++ b/template/quickstart.ipynb @@ -96,7 +96,7 @@ "id": "e3955ff1", "metadata": {}, "source": [ - "Optional: If you are using ZenML Cloud, execute the following cell with your tenant URL. Otherwise ignore." + "Optional: If you are using [ZenML Cloud](https://zenml.io/cloud), execute the following cell with your tenant URL. Otherwise ignore." ] }, { From 2af724f7cff240b3816f72f4811cee6def518ffd Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 13:24:51 +0100 Subject: [PATCH 26/48] Woot --- template/quickstart.ipynb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/template/quickstart.ipynb b/template/quickstart.ipynb index f7639b5..c5b0cd6 100644 --- a/template/quickstart.ipynb +++ b/template/quickstart.ipynb @@ -323,7 +323,7 @@ "id": "1785c303", "metadata": {}, "source": [ - "Let's run this again with a slightly different test size, to create another dataset:" + "Let's run this again with a slightly different test size, to create more datasets:" ] }, { @@ -336,12 +336,22 @@ "feature_engineering(test_size=0.35)" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "1e1d8546", + "metadata": {}, + "outputs": [], + "source": [ + "feature_engineering(test_size=0.25)" + ] + }, { "cell_type": "markdown", "id": "64bb7206", "metadata": {}, "source": [ - "Notice that the data loader step was **cached**, while the rest of the pipeline was rerun. \n", + "Notice the second time around, the data loader step was **cached**, while the rest of the pipeline was rerun. \n", "This is because ZenML automatically determined that nothing had changed in the data loader step, \n", "so it didn't need to rerun it." ] From 47437758bbc9cdd5c828820bbe0d4e9194e55050 Mon Sep 17 00:00:00 2001 From: Alexej Penner Date: Thu, 14 Dec 2023 20:16:38 +0100 Subject: [PATCH 27/48] Further cleanup, fix caching and artifact version fetching, move random sate --- copier.yaml | 9 +- .../.assets/cloud_mcp.png:Zone.Identifier | 0 ...e_engineering_pipeline.png:Zone.Identifier | 0 .../inference_pipeline.png:Zone.Identifier | 0 .../pipeline_overview.png:Zone.Identifier | 0 .../training_pipeline.png:Zone.Identifier | 0 template/pipelines/feature_engineering.py | 3 +- template/quickstart.ipynb | 2054 ++++++++++++++++- template/run.py | 2 +- template/steps/data_loader.py | 2 - template/steps/data_preprocessor.py | 5 +- template/steps/data_splitter.py | 2 - template/steps/inference_predict.py | 3 - template/steps/inference_preprocessor.py | 3 - template/steps/model_evaluator.py | 4 - template/steps/model_promoter.py | 3 - template/steps/model_trainer.py | 3 - 17 files changed, 1993 insertions(+), 100 deletions(-) delete mode 100644 template/.assets/cloud_mcp.png:Zone.Identifier delete mode 100644 template/.assets/feature_engineering_pipeline.png:Zone.Identifier delete mode 100644 template/.assets/inference_pipeline.png:Zone.Identifier delete mode 100644 template/.assets/pipeline_overview.png:Zone.Identifier delete mode 100644 template/.assets/training_pipeline.png:Zone.Identifier diff --git a/copier.yaml b/copier.yaml index 00455ec..ae3c266 100644 --- a/copier.yaml +++ b/copier.yaml @@ -1,11 +1,4 @@ --- # GLOBAL PROMPT -------------------------------- -template: - type: str - help: >- - The project template you would like to use - choices: - ZenML Starter: starter - default: starter project_name: type: str help: Short name for your project @@ -46,7 +39,7 @@ auto_format: # CONFIGURATION ------------------------- _templates_suffix: "" -_subdirectory: "{{ template }}/template" +_subdirectory: "./template" _exclude: - /README.md _tasks: diff --git a/template/.assets/cloud_mcp.png:Zone.Identifier b/template/.assets/cloud_mcp.png:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/template/.assets/feature_engineering_pipeline.png:Zone.Identifier b/template/.assets/feature_engineering_pipeline.png:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/template/.assets/inference_pipeline.png:Zone.Identifier b/template/.assets/inference_pipeline.png:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/template/.assets/pipeline_overview.png:Zone.Identifier b/template/.assets/pipeline_overview.png:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/template/.assets/training_pipeline.png:Zone.Identifier b/template/.assets/training_pipeline.png:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/template/pipelines/feature_engineering.py b/template/pipelines/feature_engineering.py index 543afcd..799bdea 100644 --- a/template/pipelines/feature_engineering.py +++ b/template/pipelines/feature_engineering.py @@ -21,6 +21,7 @@ def feature_engineering( normalize: Optional[bool] = None, drop_columns: Optional[List[str]] = None, target: Optional[str] = "target", + random_state: int = 17 ): """ Feature engineering pipeline. @@ -34,6 +35,7 @@ def feature_engineering( normalize: If `True` dataset will be normalized with MinMaxScaler drop_columns: List of columns to drop from dataset target: Name of target column in dataset + random_state: Random state to configure the data loader Returns: The processed datasets (dataset_trn, dataset_tst). @@ -41,7 +43,6 @@ def feature_engineering( ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output # of one step as the input of the next step. - random_state = random.randint(0, 100) raw_data = data_loader(random_state=random_state, target=target) dataset_trn, dataset_tst = data_splitter( dataset=raw_data, diff --git a/template/quickstart.ipynb b/template/quickstart.ipynb index c5b0cd6..d53f1f5 100644 --- a/template/quickstart.ipynb +++ b/template/quickstart.ipynb @@ -113,10 +113,89 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "081d5616", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[?25l\u001b[1;35mInitializing the ZenML global configuration version to 0.52.0\u001b[0m\n", + "\u001b[1;35mCreating database tables\u001b[0m\n", + "\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[1;35mCreating default workspace 'default' ...\u001b[0m\n", + "\u001b[1;35mCreating default stack in workspace default...\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[1;35mCreating default user 'default' ...\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[1;35mSetting the global active workspace to 'default'.\u001b[0m\n", + "\u001b[33mSetting the global active stack to default.\u001b[0m\n", + "\u001b[1;35mSetting the repo active workspace to 'default'.\u001b[0m\n", + "\u001b[33mSetting the repo active stack to default.\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[33mIntegration aws failed to register flavors. Error: No module named 'boto3'\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[1;35mReloading configuration file /home/apenner/PycharmProjects/template-starter/template/.zen/config.yaml\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mZenML repository initialized at \u001b[0m\n", + "\u001b[2;35m/home/apenner/PycharmProjects/template-starter/\u001b[0m\u001b[2;95mtemplate.\u001b[0m\n", + "\u001b[2;32m⠸\u001b[0m\u001b[2;36m Initializing ZenML repository at \u001b[0m\n", + "\u001b[2;36m/home/apenner/PycharmProjects/template-starter/template.\u001b[0m\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Initializing ZenML repository at \n", + "/home/apenner/PycharmProjects/template-starter/template.\n", + "\n", + "\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mThe local active stack was initialized to \u001b[0m\u001b[2;32m'default'\u001b[0m\u001b[2;36m. This local configuration \u001b[0m\n", + "\u001b[2;36mwill only take effect when you're running ZenML from the initialized repository \u001b[0m\n", + "\u001b[2;36mroot, or from a subdirectory. For more information on repositories and \u001b[0m\n", + "\u001b[2;36mconfigurations, please visit \u001b[0m\n", + "\u001b[2;4;94mhttps://docs.zenml.io/user-guide/starter-guide/understand-stacks.\u001b[0m\n", + "\u001b[?25l\u001b[2;36mActive repository stack set to: \u001b[0m\u001b[2;32m'default'\u001b[0m\n", + "\u001b[2K\u001b[32m⠋\u001b[0m Setting the repository active stack to 'default'...t'...\u001b[0m\n", + "\u001b[1A\u001b[2K" + ] + } + ], "source": [ "# Initialize ZenML and set the default stack\n", "!zenml init\n", @@ -126,7 +205,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "79f775f2", "metadata": {}, "outputs": [], @@ -184,7 +263,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "3cd974d1", "metadata": {}, "outputs": [], @@ -242,10 +321,231 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "d838e2ea", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
017.9910.38122.801001.00.118400.277600.30010.147100.24190.07871...17.33184.602019.00.16220.66560.71190.26540.46010.118900
120.5717.77132.901326.00.084740.078640.08690.070170.18120.05667...23.41158.801956.00.12380.18660.24160.18600.27500.089020
219.6921.25130.001203.00.109600.159900.19740.127900.20690.05999...25.53152.501709.00.14440.42450.45040.24300.36130.087580
311.4220.3877.58386.10.142500.283900.24140.105200.25970.09744...26.5098.87567.70.20980.86630.68690.25750.66380.173000
420.2914.34135.101297.00.100300.132800.19800.104300.18090.05883...16.67152.201575.00.13740.20500.40000.16250.23640.076780
\n", + "

5 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "0 17.99 10.38 122.80 1001.0 0.11840 \n", + "1 20.57 17.77 132.90 1326.0 0.08474 \n", + "2 19.69 21.25 130.00 1203.0 0.10960 \n", + "3 11.42 20.38 77.58 386.1 0.14250 \n", + "4 20.29 14.34 135.10 1297.0 0.10030 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "0 0.27760 0.3001 0.14710 0.2419 \n", + "1 0.07864 0.0869 0.07017 0.1812 \n", + "2 0.15990 0.1974 0.12790 0.2069 \n", + "3 0.28390 0.2414 0.10520 0.2597 \n", + "4 0.13280 0.1980 0.10430 0.1809 \n", + "\n", + " mean fractal dimension ... worst texture worst perimeter worst area \\\n", + "0 0.07871 ... 17.33 184.60 2019.0 \n", + "1 0.05667 ... 23.41 158.80 1956.0 \n", + "2 0.05999 ... 25.53 152.50 1709.0 \n", + "3 0.09744 ... 26.50 98.87 567.7 \n", + "4 0.05883 ... 16.67 152.20 1575.0 \n", + "\n", + " worst smoothness worst compactness worst concavity worst concave points \\\n", + "0 0.1622 0.6656 0.7119 0.2654 \n", + "1 0.1238 0.1866 0.2416 0.1860 \n", + "2 0.1444 0.4245 0.4504 0.2430 \n", + "3 0.2098 0.8663 0.6869 0.2575 \n", + "4 0.1374 0.2050 0.4000 0.1625 \n", + "\n", + " worst symmetry worst fractal dimension target \n", + "0 0.4601 0.11890 0 \n", + "1 0.2750 0.08902 0 \n", + "2 0.3613 0.08758 0 \n", + "3 0.6638 0.17300 0 \n", + "4 0.2364 0.07678 0 \n", + "\n", + "[5 rows x 31 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df = data_loader_simplified(random_state=42)\n", "df.head()" @@ -266,7 +566,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "b50a9537", "metadata": {}, "outputs": [], @@ -278,11 +578,11 @@ " normalize: Optional[bool] = None,\n", " drop_columns: Optional[List[str]] = None,\n", " target: Optional[str] = \"target\",\n", + " random_state: int = 17\n", "):\n", " \"\"\"Feature engineering pipeline.\"\"\"\n", " # Link all the steps together by calling them and passing the output\n", " # of one step as the input of the next step.\n", - " random_state = random.randint(0, 100)\n", " raw_data = data_loader(random_state=random_state, target=target)\n", " dataset_trn, dataset_tst = data_splitter(\n", " dataset=raw_data,\n", @@ -310,10 +610,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "1e0aa9af", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.487s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.920s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.973s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_14-19_12_49_255201\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.661s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" + ] + } + ], "source": [ "feature_engineering()" ] @@ -328,20 +651,32 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "9faaf0c2", - "metadata": {}, - "outputs": [], - "source": [ - "feature_engineering(test_size=0.35)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1e1d8546", - "metadata": {}, - "outputs": [], + "execution_count": 7, + "id": "658c0570-2607-4b97-a72d-d45c92633e48", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 2)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.723s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.139s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_14-19_12_53_441184\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.115s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" + ] + } + ], "source": [ "feature_engineering(test_size=0.25)" ] @@ -356,6 +691,47 @@ "so it didn't need to rerun it." ] }, + { + "cell_type": "markdown", + "id": "5bc6849d-31ac-4c08-9ca2-cf7f5f35ccbf", + "metadata": {}, + "source": [ + "Let's run this again with a slightly different test size and random state, to disable the cache and to create more datasets:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "1e1d8546", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 3)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.546s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.717s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.979s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_14-19_12_56_904810\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.450s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" + ] + } + ], + "source": [ + "feature_engineering(test_size=0.25, random_state=104)" + ] + }, { "cell_type": "markdown", "id": "6c42078a", @@ -373,10 +749,441 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "8cd3cc8c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mDeploying a local ZenML server with name 'local'.\u001b[0m\n", + "\u001b[?25l\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", + "zen_server, flavor: local)'.\n", + "\n", + "\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1;35mConnecting ZenML to the 'local' local ZenML server (http://127.0.0.1:8237).\u001b[0m\n", + "\u001b[1;35mUpdated the global store configuration.\u001b[0m\n", + "\u001b[1;35mConnected ZenML to the 'local' local ZenML server (http://127.0.0.1:8237).\u001b[0m\n", + "\u001b[2;36mThe local ZenML dashboard is available at \u001b[0m\u001b[2;32m'http://127.0.0.1:8237'\u001b[0m\u001b[2;36m. You can \u001b[0m\n", + "\u001b[2;36mconnect to it using the \u001b[0m\u001b[2;32m'default'\u001b[0m\u001b[2;36m username and an empty password. \u001b[0m\n", + "\u001b[1;35mAutomatically opening the dashboard in your browser. To disable this, set the env variable AUTO_OPEN_DASHBOARD=false.\u001b[0m\n" + ] + } + ], "source": [ "from zenml.environment import Environment\n", "from zenml.zen_stores.rest_zen_store import RestZenStore\n", @@ -401,10 +1208,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "f208b200", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "feature_engineering-2023_12_14-19_12_56_904810\n" + ] + } + ], "source": [ "client = Client()\n", "run = client.get_pipeline(\"feature_engineering\").last_run\n", @@ -421,22 +1236,423 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "34283e89", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'dataset_trn': ArtifactVersionResponse(id=UUID('403585cd-2076-413e-a733-9694fcb571bf'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 58, 668117), updated=datetime.datetime(2023, 12, 14, 19, 12, 58, 668122), user=UserResponse(id=UUID('b11443aa-7044-4002-a761-fca964afead0'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 615395), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 615400), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), artifact=ArtifactResponse(id=UUID('6aabc759-379b-488e-aaa2-2e12970aa9eb'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 51, 32970), updated=datetime.datetime(2023, 12, 14, 19, 12, 51, 32975)), metadata=None, name='dataset_trn'), version='3', uri='/home/apenner/.config/zenml/local_stores/0dd2527d-9162-4251-b3b7-ee2347bb67eb/data_preprocessor/dataset_trn/2ba4cef3-f9f6-4367-81fa-c0c5f0cce925', type=, materializer=Source(module='zenml.materializers.pandas_materializer', attribute='PandasMaterializer', type=), data_type=Source(module='pandas.core.frame', attribute='DataFrame', type=, package_name='pandas', version='2.1.3')), metadata=None),\n", + " 'preprocess_pipeline': ArtifactVersionResponse(id=UUID('69d8d1f8-c2ed-486c-97be-f893dcda6fc4'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 59, 287651), updated=datetime.datetime(2023, 12, 14, 19, 12, 59, 287656), user=UserResponse(id=UUID('b11443aa-7044-4002-a761-fca964afead0'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 615395), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 615400), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), artifact=ArtifactResponse(id=UUID('d64b5f26-cbc8-4c3b-814e-3b0dfc7bc1ea'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 51, 633531), updated=datetime.datetime(2023, 12, 14, 19, 12, 51, 633536)), metadata=None, name='preprocess_pipeline'), version='3', uri='/home/apenner/.config/zenml/local_stores/0dd2527d-9162-4251-b3b7-ee2347bb67eb/data_preprocessor/preprocess_pipeline/2ba4cef3-f9f6-4367-81fa-c0c5f0cce925', type=, materializer=Source(module='zenml.integrations.sklearn.materializers.sklearn_materializer', attribute='SklearnMaterializer', type=), data_type=Source(module='sklearn.pipeline', attribute='Pipeline', type=, package_name='scikit-learn', version='1.2.2')), metadata=None),\n", + " 'dataset_tst': ArtifactVersionResponse(id=UUID('fd9465df-b108-4b80-8a5f-a954a5e7f327'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 59, 9630), updated=datetime.datetime(2023, 12, 14, 19, 12, 59, 9640), user=UserResponse(id=UUID('b11443aa-7044-4002-a761-fca964afead0'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 615395), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 615400), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), artifact=ArtifactResponse(id=UUID('79131989-6e0b-4e9f-833a-b52b6a9108dc'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 51, 361091), updated=datetime.datetime(2023, 12, 14, 19, 12, 51, 361095)), metadata=None, name='dataset_tst'), version='3', uri='/home/apenner/.config/zenml/local_stores/0dd2527d-9162-4251-b3b7-ee2347bb67eb/data_preprocessor/dataset_tst/2ba4cef3-f9f6-4367-81fa-c0c5f0cce925', type=, materializer=Source(module='zenml.materializers.pandas_materializer', attribute='PandasMaterializer', type=), data_type=Source(module='pandas.core.frame', attribute='DataFrame', type=, package_name='pandas', version='2.1.3')), metadata=None)}" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "run.steps[\"data_preprocessor\"].outputs" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "bceb0312", "metadata": {}, - "outputs": [], - "source": [ - "# Read one of the datasets. This is the one with a 0.3 test split\n", + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
44412.04028.1476.85449.90.087520.060000.0236700.023770.18540.05698...33.3387.24567.60.104100.097260.055240.055470.24040.066391
4789.67613.1464.12272.50.125500.220400.1188000.070380.20570.09575...18.0469.47328.10.200600.366300.291300.107500.28480.136401
21010.44015.4666.62329.60.105300.077220.0066430.012160.17880.06450...19.8073.47395.40.134100.115300.026390.044640.26150.082691
29912.43017.0078.60477.30.075570.034540.0134200.016990.14720.05561...20.2181.76515.90.084090.047120.022370.028320.19010.059321
51314.47024.9995.81656.40.088370.123000.1009000.038900.18720.06341...31.73113.50808.90.134000.420200.404000.120500.31870.102301
..................................................................
7116.07019.65104.10817.70.091680.084240.0976900.066380.17980.05391...24.56128.801223.00.150000.204500.282900.152000.26500.063870
10610.51020.1968.64334.20.112200.130300.0647600.030680.19220.07782...22.7572.62374.40.130000.204900.129500.061360.23830.090261
27014.41019.7396.03651.00.087570.167600.1362000.066020.17140.07192...22.13101.70767.30.099830.247200.222000.102100.22720.087991
43527.42026.27186.902501.00.108400.198800.3635000.168900.20610.05623...31.37251.204254.00.135700.425600.683300.262500.26410.074270
10222.27019.67152.801509.00.132600.276800.4264000.182300.25560.07039...28.01206.802360.00.170100.699700.960800.291000.40550.097890
\n", + "

405 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "444 12.040 28.14 76.85 449.9 0.08752 \n", + "478 9.676 13.14 64.12 272.5 0.12550 \n", + "210 10.440 15.46 66.62 329.6 0.10530 \n", + "299 12.430 17.00 78.60 477.3 0.07557 \n", + "513 14.470 24.99 95.81 656.4 0.08837 \n", + ".. ... ... ... ... ... \n", + "71 16.070 19.65 104.10 817.7 0.09168 \n", + "106 10.510 20.19 68.64 334.2 0.11220 \n", + "270 14.410 19.73 96.03 651.0 0.08757 \n", + "435 27.420 26.27 186.90 2501.0 0.10840 \n", + "102 22.270 19.67 152.80 1509.0 0.13260 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "444 0.06000 0.023670 0.02377 0.1854 \n", + "478 0.22040 0.118800 0.07038 0.2057 \n", + "210 0.07722 0.006643 0.01216 0.1788 \n", + "299 0.03454 0.013420 0.01699 0.1472 \n", + "513 0.12300 0.100900 0.03890 0.1872 \n", + ".. ... ... ... ... \n", + "71 0.08424 0.097690 0.06638 0.1798 \n", + "106 0.13030 0.064760 0.03068 0.1922 \n", + "270 0.16760 0.136200 0.06602 0.1714 \n", + "435 0.19880 0.363500 0.16890 0.2061 \n", + "102 0.27680 0.426400 0.18230 0.2556 \n", + "\n", + " mean fractal dimension ... worst texture worst perimeter worst area \\\n", + "444 0.05698 ... 33.33 87.24 567.6 \n", + "478 0.09575 ... 18.04 69.47 328.1 \n", + "210 0.06450 ... 19.80 73.47 395.4 \n", + "299 0.05561 ... 20.21 81.76 515.9 \n", + "513 0.06341 ... 31.73 113.50 808.9 \n", + ".. ... ... ... ... ... \n", + "71 0.05391 ... 24.56 128.80 1223.0 \n", + "106 0.07782 ... 22.75 72.62 374.4 \n", + "270 0.07192 ... 22.13 101.70 767.3 \n", + "435 0.05623 ... 31.37 251.20 4254.0 \n", + "102 0.07039 ... 28.01 206.80 2360.0 \n", + "\n", + " worst smoothness worst compactness worst concavity \\\n", + "444 0.10410 0.09726 0.05524 \n", + "478 0.20060 0.36630 0.29130 \n", + "210 0.13410 0.11530 0.02639 \n", + "299 0.08409 0.04712 0.02237 \n", + "513 0.13400 0.42020 0.40400 \n", + ".. ... ... ... \n", + "71 0.15000 0.20450 0.28290 \n", + "106 0.13000 0.20490 0.12950 \n", + "270 0.09983 0.24720 0.22200 \n", + "435 0.13570 0.42560 0.68330 \n", + "102 0.17010 0.69970 0.96080 \n", + "\n", + " worst concave points worst symmetry worst fractal dimension target \n", + "444 0.05547 0.2404 0.06639 1 \n", + "478 0.10750 0.2848 0.13640 1 \n", + "210 0.04464 0.2615 0.08269 1 \n", + "299 0.02832 0.1901 0.05932 1 \n", + "513 0.12050 0.3187 0.10230 1 \n", + ".. ... ... ... ... \n", + "71 0.15200 0.2650 0.06387 0 \n", + "106 0.06136 0.2383 0.09026 1 \n", + "270 0.10210 0.2272 0.08799 1 \n", + "435 0.26250 0.2641 0.07427 0 \n", + "102 0.29100 0.4055 0.09789 0 \n", + "\n", + "[405 rows x 31 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Read one of the datasets. This is the one with a 0.25 test split\n", "run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"].load()" ] }, @@ -452,10 +1668,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "c8f90647", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Get artifact version from our run\n", "dataset_trn_artifact_version_via_run = run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"] \n", @@ -470,7 +1697,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "3f9d3dfd", "metadata": {}, "outputs": [], @@ -491,10 +1718,398 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "c82aca75", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
44412.04028.1476.85449.90.087520.060000.0236700.023770.18540.05698...33.3387.24567.60.104100.097260.055240.055470.24040.066391
4789.67613.1464.12272.50.125500.220400.1188000.070380.20570.09575...18.0469.47328.10.200600.366300.291300.107500.28480.136401
21010.44015.4666.62329.60.105300.077220.0066430.012160.17880.06450...19.8073.47395.40.134100.115300.026390.044640.26150.082691
29912.43017.0078.60477.30.075570.034540.0134200.016990.14720.05561...20.2181.76515.90.084090.047120.022370.028320.19010.059321
51314.47024.9995.81656.40.088370.123000.1009000.038900.18720.06341...31.73113.50808.90.134000.420200.404000.120500.31870.102301
..................................................................
7116.07019.65104.10817.70.091680.084240.0976900.066380.17980.05391...24.56128.801223.00.150000.204500.282900.152000.26500.063870
10610.51020.1968.64334.20.112200.130300.0647600.030680.19220.07782...22.7572.62374.40.130000.204900.129500.061360.23830.090261
27014.41019.7396.03651.00.087570.167600.1362000.066020.17140.07192...22.13101.70767.30.099830.247200.222000.102100.22720.087991
43527.42026.27186.902501.00.108400.198800.3635000.168900.20610.05623...31.37251.204254.00.135700.425600.683300.262500.26410.074270
10222.27019.67152.801509.00.132600.276800.4264000.182300.25560.07039...28.01206.802360.00.170100.699700.960800.291000.40550.097890
\n", + "

405 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "444 12.040 28.14 76.85 449.9 0.08752 \n", + "478 9.676 13.14 64.12 272.5 0.12550 \n", + "210 10.440 15.46 66.62 329.6 0.10530 \n", + "299 12.430 17.00 78.60 477.3 0.07557 \n", + "513 14.470 24.99 95.81 656.4 0.08837 \n", + ".. ... ... ... ... ... \n", + "71 16.070 19.65 104.10 817.7 0.09168 \n", + "106 10.510 20.19 68.64 334.2 0.11220 \n", + "270 14.410 19.73 96.03 651.0 0.08757 \n", + "435 27.420 26.27 186.90 2501.0 0.10840 \n", + "102 22.270 19.67 152.80 1509.0 0.13260 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "444 0.06000 0.023670 0.02377 0.1854 \n", + "478 0.22040 0.118800 0.07038 0.2057 \n", + "210 0.07722 0.006643 0.01216 0.1788 \n", + "299 0.03454 0.013420 0.01699 0.1472 \n", + "513 0.12300 0.100900 0.03890 0.1872 \n", + ".. ... ... ... ... \n", + "71 0.08424 0.097690 0.06638 0.1798 \n", + "106 0.13030 0.064760 0.03068 0.1922 \n", + "270 0.16760 0.136200 0.06602 0.1714 \n", + "435 0.19880 0.363500 0.16890 0.2061 \n", + "102 0.27680 0.426400 0.18230 0.2556 \n", + "\n", + " mean fractal dimension ... worst texture worst perimeter worst area \\\n", + "444 0.05698 ... 33.33 87.24 567.6 \n", + "478 0.09575 ... 18.04 69.47 328.1 \n", + "210 0.06450 ... 19.80 73.47 395.4 \n", + "299 0.05561 ... 20.21 81.76 515.9 \n", + "513 0.06341 ... 31.73 113.50 808.9 \n", + ".. ... ... ... ... ... \n", + "71 0.05391 ... 24.56 128.80 1223.0 \n", + "106 0.07782 ... 22.75 72.62 374.4 \n", + "270 0.07192 ... 22.13 101.70 767.3 \n", + "435 0.05623 ... 31.37 251.20 4254.0 \n", + "102 0.07039 ... 28.01 206.80 2360.0 \n", + "\n", + " worst smoothness worst compactness worst concavity \\\n", + "444 0.10410 0.09726 0.05524 \n", + "478 0.20060 0.36630 0.29130 \n", + "210 0.13410 0.11530 0.02639 \n", + "299 0.08409 0.04712 0.02237 \n", + "513 0.13400 0.42020 0.40400 \n", + ".. ... ... ... \n", + "71 0.15000 0.20450 0.28290 \n", + "106 0.13000 0.20490 0.12950 \n", + "270 0.09983 0.24720 0.22200 \n", + "435 0.13570 0.42560 0.68330 \n", + "102 0.17010 0.69970 0.96080 \n", + "\n", + " worst concave points worst symmetry worst fractal dimension target \n", + "444 0.05547 0.2404 0.06639 1 \n", + "478 0.10750 0.2848 0.13640 1 \n", + "210 0.04464 0.2615 0.08269 1 \n", + "299 0.02832 0.1901 0.05932 1 \n", + "513 0.12050 0.3187 0.10230 1 \n", + ".. ... ... ... ... \n", + "71 0.15200 0.2650 0.06387 0 \n", + "106 0.06136 0.2383 0.09026 1 \n", + "270 0.10210 0.2272 0.08799 1 \n", + "435 0.26250 0.2641 0.07427 0 \n", + "102 0.29100 0.4055 0.09789 0 \n", + "\n", + "[405 rows x 31 columns]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Load an artifact to verify you can fetch it\n", "dataset_trn_artifact_version.load()" @@ -535,7 +2150,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "fccf1bd9", "metadata": {}, "outputs": [], @@ -596,7 +2211,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "1aa98f2f", "metadata": {}, "outputs": [], @@ -645,10 +2260,80 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "c64885ac", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.487s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "\u001b[1;35mTrain accuracy=100.00%\u001b[0m\n", + "\u001b[1;35mTest accuracy=90.44%\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.150s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_14-19_13_24_502719\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.816s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" + ] + } + ], "source": [ "# Use a random forest model with the chosen datasets.\n", "# We need to pass the ID's of the datasets into the function\n", @@ -663,10 +2348,80 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "4300c82f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 2)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.314s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "\u001b[1;35mTrain accuracy=89.88%\u001b[0m\n", + "\u001b[1;35mTest accuracy=86.76%\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.164s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_14-19_13_26_761730\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.654s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" + ] + } + ], "source": [ "# Use a SGD classifier\n", "sgd_run = training(\n", @@ -690,10 +2445,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "d95810b1", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# The evaluator returns a float value with the accuracy\n", "rf_run.steps[\"model_evaluator\"].output.load() > sgd_run.steps[\"model_evaluator\"].output.load()" @@ -721,7 +2487,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "99ca00c0", "metadata": {}, "outputs": [], @@ -739,10 +2505,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "0e78a520", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 2)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model \u001b[0m\u001b[1;36mbreast_cancer_classifier\u001b[1;35m was created implicitly.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36msgd\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_14-19_13_28_867038\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.301s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" + ] + } + ], "source": [ "# Let's train the SGD model and set the version name to \"sgd\"\n", "pipeline_settings[\"model_version\"].version = \"sgd\"\n", @@ -761,10 +2550,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "9b8e0002", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 1)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mNew model version \u001b[0m\u001b[1;36mrf\u001b[1;35m was created.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_14-19_13_30_626808\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.321s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" + ] + } + ], "source": [ "# Let's train the RF model and set the version name to \"rf\"\n", "pipeline_settings[\"model_version\"].version = \"rf\"\n", @@ -792,10 +2603,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "fbb25913", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "id=UUID('aa651410-ae18-437b-b55b-81ed7d85e093') permission_denied=False body=ModelResponseBody(created=datetime.datetime(2023, 12, 14, 19, 13, 28, 743771), updated=datetime.datetime(2023, 12, 14, 19, 13, 28, 743774), user=UserResponse(id=UUID('b11443aa-7044-4002-a761-fca964afead0'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 615395), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 615400), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), tags=[TagResponseModel(id=UUID('f84d2acb-50c0-45aa-9e31-b0b2b5cadeb1'), created=datetime.datetime(2023, 12, 14, 19, 13, 28, 747775), updated=datetime.datetime(2023, 12, 14, 19, 13, 28, 747778), missing_permissions=False, name='breast_cancer', color=, tagged_count=1), TagResponseModel(id=UUID('217927ee-4157-441a-93b3-151ad3724ebb'), created=datetime.datetime(2023, 12, 14, 19, 13, 28, 769699), updated=datetime.datetime(2023, 12, 14, 19, 13, 28, 769701), missing_permissions=False, name='classifier', color=, tagged_count=1)], latest_version='rf', workspace=WorkspaceResponse(id=UUID('73b57054-1d66-4b08-bb61-9d74d2ef6180'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 111293), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 111299)), metadata=None, name='default')) metadata=ModelResponseMetadata(workspace=WorkspaceResponse(id=UUID('73b57054-1d66-4b08-bb61-9d74d2ef6180'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 111293), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 111299)), metadata=None, name='default'), license='Apache 2.0', description='A breast cancer classifier', audience=None, use_cases=None, limitations=None, trade_offs=None, ethics=None) name='breast_cancer_classifier'\n", + "Model breast_cancer_classifier has 2 versions\n" + ] + }, + { + "data": { + "text/plain": [ + "('sgd', 'rf')" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "zenml_model = client.get_model(\"breast_cancer_classifier\")\n", "print(zenml_model)\n", @@ -818,10 +2648,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "31211413", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
RandomForestClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "RandomForestClassifier()" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Let's load the RF version\n", "rf_zenml_model_version = client.get_model_version(\"breast_cancer_classifier\", \"rf\")\n", @@ -859,7 +2703,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "26b718f8", "metadata": {}, "outputs": [], @@ -918,7 +2762,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "92c4c7dc", "metadata": {}, "outputs": [], @@ -949,7 +2793,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "37c409bd", "metadata": {}, "outputs": [], @@ -987,10 +2831,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "61bf5939", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35m\u001b[0m\u001b[1;36mversion\u001b[1;35m \u001b[0m\u001b[1;36mproduction\u001b[1;35m matches one of the possible \u001b[0m\u001b[1;36mModelStages\u001b[1;35m and will be fetched using stage.\u001b[0m\n" + ] + } + ], "source": [ "pipeline_settings = {\"enable_cache\": False}\n", "\n", @@ -1006,10 +2858,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "ff3402f1", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36minference\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mExecuting a new run.\u001b[0m\n", + "\u001b[1;35mCaching is disabled by default for \u001b[0m\u001b[1;36minference\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mDataset with 28 records loaded!\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.642s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has started.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.847s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has started.\u001b[0m\n", + "\u001b[33mYou specified both an ID as well as a version of the artifact_versions. Ignoring the version and fetching the artifact_versions by ID.\u001b[0m\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype):\n", + "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", + " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", + "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.678s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mRun \u001b[0m\u001b[1;36minference-2023_12_14-19_13_32_534526\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.331s\u001b[1;35m.\u001b[0m\n", + "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" + ] + } + ], "source": [ "# the `with_options` method allows us to pass in pipeline settings\n", "# and returns a configured pipeline\n", @@ -1034,10 +2917,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "e191d019", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "1 0\n", + "2 0\n", + "3 1\n", + "4 1\n", + "5 0\n", + "6 0\n", + "7 0\n", + "8 0\n", + "9 1\n", + "10 1\n", + "11 0\n", + "12 1\n", + "13 0\n", + "14 1\n", + "15 0\n", + "16 1\n", + "17 1\n", + "18 1\n", + "19 0\n", + "20 1\n", + "21 1\n", + "22 0\n", + "23 1\n", + "24 1\n", + "25 1\n", + "26 1\n", + "27 1\n", + "Name: series, dtype: int64" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Fetch production model\n", "production_model_version = client.get_model_version(\"breast_cancer_classifier\", \"production\")\n", @@ -1101,7 +3023,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.9.13" } }, "nbformat": 4, diff --git a/template/run.py b/template/run.py index 28b309d..2b30807 100644 --- a/template/run.py +++ b/template/run.py @@ -1,4 +1,4 @@ -# {% include 'templates/license_header' %} +# {% include 'template/license_header' %} import os from typing import Optional diff --git a/template/steps/data_loader.py b/template/steps/data_loader.py index 90e3955..4df6b8a 100644 --- a/template/steps/data_loader.py +++ b/template/steps/data_loader.py @@ -33,7 +33,6 @@ def data_loader( Returns: The dataset artifact as Pandas DataFrame and name of target column. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### dataset = load_breast_cancer(as_frame=True) inference_size = int(len(dataset.target) * 0.05) dataset: pd.DataFrame = dataset.frame @@ -45,5 +44,4 @@ def data_loader( dataset.drop(inference_subset.index, inplace=True) dataset.reset_index(drop=True, inplace=True) logger.info(f"Dataset with {len(dataset)} records loaded!") - ### YOUR CODE ENDS HERE ### return dataset diff --git a/template/steps/data_preprocessor.py b/template/steps/data_preprocessor.py index 66add2f..f343407 100644 --- a/template/steps/data_preprocessor.py +++ b/template/steps/data_preprocessor.py @@ -30,7 +30,7 @@ def data_preprocessor( it is suitable for model training. It takes in a dataset as an input step artifact and performs any necessary preprocessing steps like cleaning, feature engineering, feature selection, etc. It then returns the processed - dataset as an step output artifact. + dataset as a step output artifact. This step is parameterized, which allows you to configure the step independently of the step code, before running it in a pipeline. @@ -52,7 +52,6 @@ def data_preprocessor( Returns: The processed datasets (dataset_trn, dataset_tst) and fitted `Pipeline` object. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # We use the sklearn pipeline to chain together multiple preprocessing steps preprocess_pipeline = Pipeline([("passthrough", "passthrough")]) if drop_na: @@ -72,6 +71,4 @@ def data_preprocessor( artifact_name="preprocess_pipeline", metadata={"random_state": random_state, "target": target}, ) - - ### YOUR CODE ENDS HERE ### return dataset_trn, dataset_tst, preprocess_pipeline diff --git a/template/steps/data_splitter.py b/template/steps/data_splitter.py index dbab815..3b8eb57 100644 --- a/template/steps/data_splitter.py +++ b/template/steps/data_splitter.py @@ -34,7 +34,6 @@ def data_splitter( Returns: The split dataset: dataset_trn, dataset_tst. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### dataset_trn, dataset_tst = train_test_split( dataset, test_size=test_size, @@ -43,5 +42,4 @@ def data_splitter( ) dataset_trn = pd.DataFrame(dataset_trn, columns=dataset.columns) dataset_tst = pd.DataFrame(dataset_tst, columns=dataset.columns) - ### YOUR CODE ENDS HERE ### return dataset_trn, dataset_tst diff --git a/template/steps/inference_predict.py b/template/steps/inference_predict.py index ef28087..60f9267 100644 --- a/template/steps/inference_predict.py +++ b/template/steps/inference_predict.py @@ -49,11 +49,8 @@ def inference_predict( Returns: The predictions as pandas series """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # run prediction from memory predictions = model.predict(dataset_inf) predictions = pd.Series(predictions, name="predicted") - ### YOUR CODE ENDS HERE ### - return predictions diff --git a/template/steps/inference_preprocessor.py b/template/steps/inference_preprocessor.py index 7503061..d12247e 100644 --- a/template/steps/inference_preprocessor.py +++ b/template/steps/inference_preprocessor.py @@ -42,11 +42,8 @@ def inference_preprocessor( Returns: The processed dataframe: dataset_inf. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # artificially adding `target` column to avoid Pipeline issues dataset_inf[target] = pd.Series([1] * dataset_inf.shape[0]) dataset_inf = preprocess_pipeline.transform(dataset_inf) dataset_inf.drop(columns=[target], inplace=True) - ### YOUR CODE ENDS HERE ### - return dataset_inf diff --git a/template/steps/model_evaluator.py b/template/steps/model_evaluator.py index b0b1994..426d26e 100644 --- a/template/steps/model_evaluator.py +++ b/template/steps/model_evaluator.py @@ -54,8 +54,6 @@ def model_evaluator( Returns: The model accuracy on the test set. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### - # Calculate the model accuracy on the train and test set trn_acc = model.score( dataset_trn.drop(columns=[target]), @@ -85,6 +83,4 @@ def model_evaluator( metadata={"train_accuracy": float(trn_acc), "test_accuracy": float(tst_acc)}, artifact_name="model", ) - - ### YOUR CODE ENDS HERE ### return float(tst_acc) diff --git a/template/steps/model_promoter.py b/template/steps/model_promoter.py index 2126c06..d00b773 100644 --- a/template/steps/model_promoter.py +++ b/template/steps/model_promoter.py @@ -25,7 +25,6 @@ def model_promoter(accuracy: float, stage: str = "production") -> bool: Returns: Whether the model was promoted or not. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### is_promoted = False if accuracy < 0.8: @@ -59,6 +58,4 @@ def model_promoter(accuracy: float, stage: str = "production") -> bool: # If no such model exists, current one is promoted is_promoted = True current_model_version.set_stage(stage, force=True) - - ### YOUR CODE ENDS HERE ### return is_promoted diff --git a/template/steps/model_trainer.py b/template/steps/model_trainer.py index 196745c..c351de6 100644 --- a/template/steps/model_trainer.py +++ b/template/steps/model_trainer.py @@ -37,8 +37,6 @@ def model_trainer( Raises: ValueError: If the model type is not supported. """ - - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Initialize the model with the hyperparameters indicated in the step # parameters and train it on the training set. if model_type == "sgd": @@ -53,5 +51,4 @@ def model_trainer( dataset_trn.drop(columns=[target]), dataset_trn[target], ) - ### YOUR CODE ENDS HERE ### return model From bfd271a0357e243fd4e3c7748501bc32f9e20844 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 15:19:45 +0100 Subject: [PATCH 28/48] readme update --- template/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/template/README.md b/template/README.md index 438cac7..0133525 100644 --- a/template/README.md +++ b/template/README.md @@ -39,10 +39,9 @@ git clone https://github.com/zenml-io/zenml.git cd zenml/examples/quickstart ``` -### :arrow_forward: Run Locally Now we're ready to start. You have two options for running the quickstart locally: -#### Option 1 (*Recommended*) - Interactively explore the quickstart using Jupyter Notebook: +#### Option 1 - Interactively explore the quickstart using Jupyter Notebook: ```bash pip install notebook jupyter notebook From 0374dcdd2f4e5d60da95d1f3ff6c3889935819fe Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 15:21:01 +0100 Subject: [PATCH 29/48] took out final comment --- template/pipelines/feature_engineering.py | 1 - template/pipelines/training.py | 1 - 2 files changed, 2 deletions(-) diff --git a/template/pipelines/feature_engineering.py b/template/pipelines/feature_engineering.py index 799bdea..912cda2 100644 --- a/template/pipelines/feature_engineering.py +++ b/template/pipelines/feature_engineering.py @@ -40,7 +40,6 @@ def feature_engineering( Returns: The processed datasets (dataset_trn, dataset_tst). """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output # of one step as the input of the next step. raw_data = data_loader(random_state=random_state, target=target) diff --git a/template/pipelines/training.py b/template/pipelines/training.py index b5d0f80..7eebebb 100644 --- a/template/pipelines/training.py +++ b/template/pipelines/training.py @@ -36,7 +36,6 @@ def training( target: Name of target column in dataset. model_type: The type of model to train. """ - ### ADD YOUR OWN CODE HERE - THIS IS JUST AN EXAMPLE ### # Link all the steps together by calling them and passing the output # of one step as the input of the next step. From c04dfbc6454a8090c002c81a15347e421c1e1d06 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Thu, 14 Dec 2023 15:23:33 +0100 Subject: [PATCH 30/48] Notebook cleaned --- template/quickstart.ipynb | 2018 +------------------------------------ 1 file changed, 52 insertions(+), 1966 deletions(-) diff --git a/template/quickstart.ipynb b/template/quickstart.ipynb index d53f1f5..174b765 100644 --- a/template/quickstart.ipynb +++ b/template/quickstart.ipynb @@ -113,89 +113,10 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "081d5616", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[?25l\u001b[1;35mInitializing the ZenML global configuration version to 0.52.0\u001b[0m\n", - "\u001b[1;35mCreating database tables\u001b[0m\n", - "\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[1;35mCreating default workspace 'default' ...\u001b[0m\n", - "\u001b[1;35mCreating default stack in workspace default...\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[1;35mCreating default user 'default' ...\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[1;35mSetting the global active workspace to 'default'.\u001b[0m\n", - "\u001b[33mSetting the global active stack to default.\u001b[0m\n", - "\u001b[1;35mSetting the repo active workspace to 'default'.\u001b[0m\n", - "\u001b[33mSetting the repo active stack to default.\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[33mIntegration aws failed to register flavors. Error: No module named 'boto3'\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[1;35mReloading configuration file /home/apenner/PycharmProjects/template-starter/template/.zen/config.yaml\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mZenML repository initialized at \u001b[0m\n", - "\u001b[2;35m/home/apenner/PycharmProjects/template-starter/\u001b[0m\u001b[2;95mtemplate.\u001b[0m\n", - "\u001b[2;32m⠸\u001b[0m\u001b[2;36m Initializing ZenML repository at \u001b[0m\n", - "\u001b[2;36m/home/apenner/PycharmProjects/template-starter/template.\u001b[0m\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Initializing ZenML repository at \n", - "/home/apenner/PycharmProjects/template-starter/template.\n", - "\n", - "\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[2;36mThe local active stack was initialized to \u001b[0m\u001b[2;32m'default'\u001b[0m\u001b[2;36m. This local configuration \u001b[0m\n", - "\u001b[2;36mwill only take effect when you're running ZenML from the initialized repository \u001b[0m\n", - "\u001b[2;36mroot, or from a subdirectory. For more information on repositories and \u001b[0m\n", - "\u001b[2;36mconfigurations, please visit \u001b[0m\n", - "\u001b[2;4;94mhttps://docs.zenml.io/user-guide/starter-guide/understand-stacks.\u001b[0m\n", - "\u001b[?25l\u001b[2;36mActive repository stack set to: \u001b[0m\u001b[2;32m'default'\u001b[0m\n", - "\u001b[2K\u001b[32m⠋\u001b[0m Setting the repository active stack to 'default'...t'...\u001b[0m\n", - "\u001b[1A\u001b[2K" - ] - } - ], + "outputs": [], "source": [ "# Initialize ZenML and set the default stack\n", "!zenml init\n", @@ -205,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "79f775f2", "metadata": {}, "outputs": [], @@ -263,7 +184,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "3cd974d1", "metadata": {}, "outputs": [], @@ -321,231 +242,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "d838e2ea", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
017.9910.38122.801001.00.118400.277600.30010.147100.24190.07871...17.33184.602019.00.16220.66560.71190.26540.46010.118900
120.5717.77132.901326.00.084740.078640.08690.070170.18120.05667...23.41158.801956.00.12380.18660.24160.18600.27500.089020
219.6921.25130.001203.00.109600.159900.19740.127900.20690.05999...25.53152.501709.00.14440.42450.45040.24300.36130.087580
311.4220.3877.58386.10.142500.283900.24140.105200.25970.09744...26.5098.87567.70.20980.86630.68690.25750.66380.173000
420.2914.34135.101297.00.100300.132800.19800.104300.18090.05883...16.67152.201575.00.13740.20500.40000.16250.23640.076780
\n", - "

5 rows × 31 columns

\n", - "
" - ], - "text/plain": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "0 17.99 10.38 122.80 1001.0 0.11840 \n", - "1 20.57 17.77 132.90 1326.0 0.08474 \n", - "2 19.69 21.25 130.00 1203.0 0.10960 \n", - "3 11.42 20.38 77.58 386.1 0.14250 \n", - "4 20.29 14.34 135.10 1297.0 0.10030 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "0 0.27760 0.3001 0.14710 0.2419 \n", - "1 0.07864 0.0869 0.07017 0.1812 \n", - "2 0.15990 0.1974 0.12790 0.2069 \n", - "3 0.28390 0.2414 0.10520 0.2597 \n", - "4 0.13280 0.1980 0.10430 0.1809 \n", - "\n", - " mean fractal dimension ... worst texture worst perimeter worst area \\\n", - "0 0.07871 ... 17.33 184.60 2019.0 \n", - "1 0.05667 ... 23.41 158.80 1956.0 \n", - "2 0.05999 ... 25.53 152.50 1709.0 \n", - "3 0.09744 ... 26.50 98.87 567.7 \n", - "4 0.05883 ... 16.67 152.20 1575.0 \n", - "\n", - " worst smoothness worst compactness worst concavity worst concave points \\\n", - "0 0.1622 0.6656 0.7119 0.2654 \n", - "1 0.1238 0.1866 0.2416 0.1860 \n", - "2 0.1444 0.4245 0.4504 0.2430 \n", - "3 0.2098 0.8663 0.6869 0.2575 \n", - "4 0.1374 0.2050 0.4000 0.1625 \n", - "\n", - " worst symmetry worst fractal dimension target \n", - "0 0.4601 0.11890 0 \n", - "1 0.2750 0.08902 0 \n", - "2 0.3613 0.08758 0 \n", - "3 0.6638 0.17300 0 \n", - "4 0.2364 0.07678 0 \n", - "\n", - "[5 rows x 31 columns]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df = data_loader_simplified(random_state=42)\n", "df.head()" @@ -566,7 +266,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "b50a9537", "metadata": {}, "outputs": [], @@ -610,33 +310,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "1e0aa9af", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.487s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.920s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.973s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_14-19_12_49_255201\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.661s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "feature_engineering()" ] @@ -651,32 +328,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "658c0570-2607-4b97-a72d-d45c92633e48", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 2)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.723s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m1.139s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_14-19_12_53_441184\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.115s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "feature_engineering(test_size=0.25)" ] @@ -701,33 +356,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "1e1d8546", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mfeature_engineering\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 3)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mDataset with 541 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.546s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_splitter\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.717s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.979s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mfeature_engineering-2023_12_14-19_12_56_904810\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.450s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "feature_engineering(test_size=0.25, random_state=104)" ] @@ -749,441 +381,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "8cd3cc8c", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mDeploying a local ZenML server with name 'local'.\u001b[0m\n", - "\u001b[?25l\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠧\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠋\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠙\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠹\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠸\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠼\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠴\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠦\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠇\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[32m⠏\u001b[0m Starting service 'LocalZenServer[67a95a27-d110-4e87-a6f1-a1d374144cb9] (type: \n", - "zen_server, flavor: local)'.\n", - "\n", - "\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1;35mConnecting ZenML to the 'local' local ZenML server (http://127.0.0.1:8237).\u001b[0m\n", - "\u001b[1;35mUpdated the global store configuration.\u001b[0m\n", - "\u001b[1;35mConnected ZenML to the 'local' local ZenML server (http://127.0.0.1:8237).\u001b[0m\n", - "\u001b[2;36mThe local ZenML dashboard is available at \u001b[0m\u001b[2;32m'http://127.0.0.1:8237'\u001b[0m\u001b[2;36m. You can \u001b[0m\n", - "\u001b[2;36mconnect to it using the \u001b[0m\u001b[2;32m'default'\u001b[0m\u001b[2;36m username and an empty password. \u001b[0m\n", - "\u001b[1;35mAutomatically opening the dashboard in your browser. To disable this, set the env variable AUTO_OPEN_DASHBOARD=false.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "from zenml.environment import Environment\n", "from zenml.zen_stores.rest_zen_store import RestZenStore\n", @@ -1208,18 +409,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "f208b200", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "feature_engineering-2023_12_14-19_12_56_904810\n" - ] - } - ], + "outputs": [], "source": [ "client = Client()\n", "run = client.get_pipeline(\"feature_engineering\").last_run\n", @@ -1236,421 +429,20 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "34283e89", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'dataset_trn': ArtifactVersionResponse(id=UUID('403585cd-2076-413e-a733-9694fcb571bf'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 58, 668117), updated=datetime.datetime(2023, 12, 14, 19, 12, 58, 668122), user=UserResponse(id=UUID('b11443aa-7044-4002-a761-fca964afead0'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 615395), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 615400), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), artifact=ArtifactResponse(id=UUID('6aabc759-379b-488e-aaa2-2e12970aa9eb'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 51, 32970), updated=datetime.datetime(2023, 12, 14, 19, 12, 51, 32975)), metadata=None, name='dataset_trn'), version='3', uri='/home/apenner/.config/zenml/local_stores/0dd2527d-9162-4251-b3b7-ee2347bb67eb/data_preprocessor/dataset_trn/2ba4cef3-f9f6-4367-81fa-c0c5f0cce925', type=, materializer=Source(module='zenml.materializers.pandas_materializer', attribute='PandasMaterializer', type=), data_type=Source(module='pandas.core.frame', attribute='DataFrame', type=, package_name='pandas', version='2.1.3')), metadata=None),\n", - " 'preprocess_pipeline': ArtifactVersionResponse(id=UUID('69d8d1f8-c2ed-486c-97be-f893dcda6fc4'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 59, 287651), updated=datetime.datetime(2023, 12, 14, 19, 12, 59, 287656), user=UserResponse(id=UUID('b11443aa-7044-4002-a761-fca964afead0'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 615395), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 615400), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), artifact=ArtifactResponse(id=UUID('d64b5f26-cbc8-4c3b-814e-3b0dfc7bc1ea'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 51, 633531), updated=datetime.datetime(2023, 12, 14, 19, 12, 51, 633536)), metadata=None, name='preprocess_pipeline'), version='3', uri='/home/apenner/.config/zenml/local_stores/0dd2527d-9162-4251-b3b7-ee2347bb67eb/data_preprocessor/preprocess_pipeline/2ba4cef3-f9f6-4367-81fa-c0c5f0cce925', type=, materializer=Source(module='zenml.integrations.sklearn.materializers.sklearn_materializer', attribute='SklearnMaterializer', type=), data_type=Source(module='sklearn.pipeline', attribute='Pipeline', type=, package_name='scikit-learn', version='1.2.2')), metadata=None),\n", - " 'dataset_tst': ArtifactVersionResponse(id=UUID('fd9465df-b108-4b80-8a5f-a954a5e7f327'), permission_denied=False, body=ArtifactVersionResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 59, 9630), updated=datetime.datetime(2023, 12, 14, 19, 12, 59, 9640), user=UserResponse(id=UUID('b11443aa-7044-4002-a761-fca964afead0'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 615395), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 615400), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), artifact=ArtifactResponse(id=UUID('79131989-6e0b-4e9f-833a-b52b6a9108dc'), permission_denied=False, body=ArtifactResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 51, 361091), updated=datetime.datetime(2023, 12, 14, 19, 12, 51, 361095)), metadata=None, name='dataset_tst'), version='3', uri='/home/apenner/.config/zenml/local_stores/0dd2527d-9162-4251-b3b7-ee2347bb67eb/data_preprocessor/dataset_tst/2ba4cef3-f9f6-4367-81fa-c0c5f0cce925', type=, materializer=Source(module='zenml.materializers.pandas_materializer', attribute='PandasMaterializer', type=), data_type=Source(module='pandas.core.frame', attribute='DataFrame', type=, package_name='pandas', version='2.1.3')), metadata=None)}" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "run.steps[\"data_preprocessor\"].outputs" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "bceb0312", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
44412.04028.1476.85449.90.087520.060000.0236700.023770.18540.05698...33.3387.24567.60.104100.097260.055240.055470.24040.066391
4789.67613.1464.12272.50.125500.220400.1188000.070380.20570.09575...18.0469.47328.10.200600.366300.291300.107500.28480.136401
21010.44015.4666.62329.60.105300.077220.0066430.012160.17880.06450...19.8073.47395.40.134100.115300.026390.044640.26150.082691
29912.43017.0078.60477.30.075570.034540.0134200.016990.14720.05561...20.2181.76515.90.084090.047120.022370.028320.19010.059321
51314.47024.9995.81656.40.088370.123000.1009000.038900.18720.06341...31.73113.50808.90.134000.420200.404000.120500.31870.102301
..................................................................
7116.07019.65104.10817.70.091680.084240.0976900.066380.17980.05391...24.56128.801223.00.150000.204500.282900.152000.26500.063870
10610.51020.1968.64334.20.112200.130300.0647600.030680.19220.07782...22.7572.62374.40.130000.204900.129500.061360.23830.090261
27014.41019.7396.03651.00.087570.167600.1362000.066020.17140.07192...22.13101.70767.30.099830.247200.222000.102100.22720.087991
43527.42026.27186.902501.00.108400.198800.3635000.168900.20610.05623...31.37251.204254.00.135700.425600.683300.262500.26410.074270
10222.27019.67152.801509.00.132600.276800.4264000.182300.25560.07039...28.01206.802360.00.170100.699700.960800.291000.40550.097890
\n", - "

405 rows × 31 columns

\n", - "
" - ], - "text/plain": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "444 12.040 28.14 76.85 449.9 0.08752 \n", - "478 9.676 13.14 64.12 272.5 0.12550 \n", - "210 10.440 15.46 66.62 329.6 0.10530 \n", - "299 12.430 17.00 78.60 477.3 0.07557 \n", - "513 14.470 24.99 95.81 656.4 0.08837 \n", - ".. ... ... ... ... ... \n", - "71 16.070 19.65 104.10 817.7 0.09168 \n", - "106 10.510 20.19 68.64 334.2 0.11220 \n", - "270 14.410 19.73 96.03 651.0 0.08757 \n", - "435 27.420 26.27 186.90 2501.0 0.10840 \n", - "102 22.270 19.67 152.80 1509.0 0.13260 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "444 0.06000 0.023670 0.02377 0.1854 \n", - "478 0.22040 0.118800 0.07038 0.2057 \n", - "210 0.07722 0.006643 0.01216 0.1788 \n", - "299 0.03454 0.013420 0.01699 0.1472 \n", - "513 0.12300 0.100900 0.03890 0.1872 \n", - ".. ... ... ... ... \n", - "71 0.08424 0.097690 0.06638 0.1798 \n", - "106 0.13030 0.064760 0.03068 0.1922 \n", - "270 0.16760 0.136200 0.06602 0.1714 \n", - "435 0.19880 0.363500 0.16890 0.2061 \n", - "102 0.27680 0.426400 0.18230 0.2556 \n", - "\n", - " mean fractal dimension ... worst texture worst perimeter worst area \\\n", - "444 0.05698 ... 33.33 87.24 567.6 \n", - "478 0.09575 ... 18.04 69.47 328.1 \n", - "210 0.06450 ... 19.80 73.47 395.4 \n", - "299 0.05561 ... 20.21 81.76 515.9 \n", - "513 0.06341 ... 31.73 113.50 808.9 \n", - ".. ... ... ... ... ... \n", - "71 0.05391 ... 24.56 128.80 1223.0 \n", - "106 0.07782 ... 22.75 72.62 374.4 \n", - "270 0.07192 ... 22.13 101.70 767.3 \n", - "435 0.05623 ... 31.37 251.20 4254.0 \n", - "102 0.07039 ... 28.01 206.80 2360.0 \n", - "\n", - " worst smoothness worst compactness worst concavity \\\n", - "444 0.10410 0.09726 0.05524 \n", - "478 0.20060 0.36630 0.29130 \n", - "210 0.13410 0.11530 0.02639 \n", - "299 0.08409 0.04712 0.02237 \n", - "513 0.13400 0.42020 0.40400 \n", - ".. ... ... ... \n", - "71 0.15000 0.20450 0.28290 \n", - "106 0.13000 0.20490 0.12950 \n", - "270 0.09983 0.24720 0.22200 \n", - "435 0.13570 0.42560 0.68330 \n", - "102 0.17010 0.69970 0.96080 \n", - "\n", - " worst concave points worst symmetry worst fractal dimension target \n", - "444 0.05547 0.2404 0.06639 1 \n", - "478 0.10750 0.2848 0.13640 1 \n", - "210 0.04464 0.2615 0.08269 1 \n", - "299 0.02832 0.1901 0.05932 1 \n", - "513 0.12050 0.3187 0.10230 1 \n", - ".. ... ... ... ... \n", - "71 0.15200 0.2650 0.06387 0 \n", - "106 0.06136 0.2383 0.09026 1 \n", - "270 0.10210 0.2272 0.08799 1 \n", - "435 0.26250 0.2641 0.07427 0 \n", - "102 0.29100 0.4055 0.09789 0 \n", - "\n", - "[405 rows x 31 columns]" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Read one of the datasets. This is the one with a 0.25 test split\n", "run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"].load()" @@ -1668,21 +460,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "c8f90647", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Get artifact version from our run\n", "dataset_trn_artifact_version_via_run = run.steps[\"data_preprocessor\"].outputs[\"dataset_trn\"] \n", @@ -1697,7 +478,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "3f9d3dfd", "metadata": {}, "outputs": [], @@ -1718,398 +499,10 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "c82aca75", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mean radiusmean texturemean perimetermean areamean smoothnessmean compactnessmean concavitymean concave pointsmean symmetrymean fractal dimension...worst textureworst perimeterworst areaworst smoothnessworst compactnessworst concavityworst concave pointsworst symmetryworst fractal dimensiontarget
44412.04028.1476.85449.90.087520.060000.0236700.023770.18540.05698...33.3387.24567.60.104100.097260.055240.055470.24040.066391
4789.67613.1464.12272.50.125500.220400.1188000.070380.20570.09575...18.0469.47328.10.200600.366300.291300.107500.28480.136401
21010.44015.4666.62329.60.105300.077220.0066430.012160.17880.06450...19.8073.47395.40.134100.115300.026390.044640.26150.082691
29912.43017.0078.60477.30.075570.034540.0134200.016990.14720.05561...20.2181.76515.90.084090.047120.022370.028320.19010.059321
51314.47024.9995.81656.40.088370.123000.1009000.038900.18720.06341...31.73113.50808.90.134000.420200.404000.120500.31870.102301
..................................................................
7116.07019.65104.10817.70.091680.084240.0976900.066380.17980.05391...24.56128.801223.00.150000.204500.282900.152000.26500.063870
10610.51020.1968.64334.20.112200.130300.0647600.030680.19220.07782...22.7572.62374.40.130000.204900.129500.061360.23830.090261
27014.41019.7396.03651.00.087570.167600.1362000.066020.17140.07192...22.13101.70767.30.099830.247200.222000.102100.22720.087991
43527.42026.27186.902501.00.108400.198800.3635000.168900.20610.05623...31.37251.204254.00.135700.425600.683300.262500.26410.074270
10222.27019.67152.801509.00.132600.276800.4264000.182300.25560.07039...28.01206.802360.00.170100.699700.960800.291000.40550.097890
\n", - "

405 rows × 31 columns

\n", - "
" - ], - "text/plain": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "444 12.040 28.14 76.85 449.9 0.08752 \n", - "478 9.676 13.14 64.12 272.5 0.12550 \n", - "210 10.440 15.46 66.62 329.6 0.10530 \n", - "299 12.430 17.00 78.60 477.3 0.07557 \n", - "513 14.470 24.99 95.81 656.4 0.08837 \n", - ".. ... ... ... ... ... \n", - "71 16.070 19.65 104.10 817.7 0.09168 \n", - "106 10.510 20.19 68.64 334.2 0.11220 \n", - "270 14.410 19.73 96.03 651.0 0.08757 \n", - "435 27.420 26.27 186.90 2501.0 0.10840 \n", - "102 22.270 19.67 152.80 1509.0 0.13260 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "444 0.06000 0.023670 0.02377 0.1854 \n", - "478 0.22040 0.118800 0.07038 0.2057 \n", - "210 0.07722 0.006643 0.01216 0.1788 \n", - "299 0.03454 0.013420 0.01699 0.1472 \n", - "513 0.12300 0.100900 0.03890 0.1872 \n", - ".. ... ... ... ... \n", - "71 0.08424 0.097690 0.06638 0.1798 \n", - "106 0.13030 0.064760 0.03068 0.1922 \n", - "270 0.16760 0.136200 0.06602 0.1714 \n", - "435 0.19880 0.363500 0.16890 0.2061 \n", - "102 0.27680 0.426400 0.18230 0.2556 \n", - "\n", - " mean fractal dimension ... worst texture worst perimeter worst area \\\n", - "444 0.05698 ... 33.33 87.24 567.6 \n", - "478 0.09575 ... 18.04 69.47 328.1 \n", - "210 0.06450 ... 19.80 73.47 395.4 \n", - "299 0.05561 ... 20.21 81.76 515.9 \n", - "513 0.06341 ... 31.73 113.50 808.9 \n", - ".. ... ... ... ... ... \n", - "71 0.05391 ... 24.56 128.80 1223.0 \n", - "106 0.07782 ... 22.75 72.62 374.4 \n", - "270 0.07192 ... 22.13 101.70 767.3 \n", - "435 0.05623 ... 31.37 251.20 4254.0 \n", - "102 0.07039 ... 28.01 206.80 2360.0 \n", - "\n", - " worst smoothness worst compactness worst concavity \\\n", - "444 0.10410 0.09726 0.05524 \n", - "478 0.20060 0.36630 0.29130 \n", - "210 0.13410 0.11530 0.02639 \n", - "299 0.08409 0.04712 0.02237 \n", - "513 0.13400 0.42020 0.40400 \n", - ".. ... ... ... \n", - "71 0.15000 0.20450 0.28290 \n", - "106 0.13000 0.20490 0.12950 \n", - "270 0.09983 0.24720 0.22200 \n", - "435 0.13570 0.42560 0.68330 \n", - "102 0.17010 0.69970 0.96080 \n", - "\n", - " worst concave points worst symmetry worst fractal dimension target \n", - "444 0.05547 0.2404 0.06639 1 \n", - "478 0.10750 0.2848 0.13640 1 \n", - "210 0.04464 0.2615 0.08269 1 \n", - "299 0.02832 0.1901 0.05932 1 \n", - "513 0.12050 0.3187 0.10230 1 \n", - ".. ... ... ... ... \n", - "71 0.15200 0.2650 0.06387 0 \n", - "106 0.06136 0.2383 0.09026 1 \n", - "270 0.10210 0.2272 0.08799 1 \n", - "435 0.26250 0.2641 0.07427 0 \n", - "102 0.29100 0.4055 0.09789 0 \n", - "\n", - "[405 rows x 31 columns]" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Load an artifact to verify you can fetch it\n", "dataset_trn_artifact_version.load()" @@ -2150,7 +543,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "fccf1bd9", "metadata": {}, "outputs": [], @@ -2211,7 +604,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "1aa98f2f", "metadata": {}, "outputs": [], @@ -2260,80 +653,10 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "c64885ac", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model RandomForestClassifier()...\u001b[0m\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.487s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "\u001b[1;35mTrain accuracy=100.00%\u001b[0m\n", - "\u001b[1;35mTest accuracy=90.44%\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.150s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_14-19_13_24_502719\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.816s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "# Use a random forest model with the chosen datasets.\n", "# We need to pass the ID's of the datasets into the function\n", @@ -2348,80 +671,10 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "4300c82f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 2)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "\u001b[1;35mTraining model SGDClassifier()...\u001b[0m\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.314s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "\u001b[1;35mTrain accuracy=89.88%\u001b[0m\n", - "\u001b[1;35mTest accuracy=86.76%\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.164s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_14-19_13_26_761730\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.654s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "# Use a SGD classifier\n", "sgd_run = training(\n", @@ -2445,21 +698,10 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "d95810b1", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# The evaluator returns a float value with the accuracy\n", "rf_run.steps[\"model_evaluator\"].output.load() > sgd_run.steps[\"model_evaluator\"].output.load()" @@ -2487,7 +729,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "99ca00c0", "metadata": {}, "outputs": [], @@ -2505,33 +747,10 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "0e78a520", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 2)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model \u001b[0m\u001b[1;36mbreast_cancer_classifier\u001b[1;35m was created implicitly.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36msgd\u001b[1;35m was created.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_14-19_13_28_867038\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.301s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "# Let's train the SGD model and set the version name to \"sgd\"\n", "pipeline_settings[\"model_version\"].version = \"sgd\"\n", @@ -2550,32 +769,10 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "9b8e0002", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36mtraining\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mReusing registered version: \u001b[0m\u001b[1;36m(version: 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mNew model version \u001b[0m\u001b[1;36mrf\u001b[1;35m was created.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_trainer\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mUsing cached version of \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mLinking artifact \u001b[0m\u001b[1;36moutput\u001b[1;35m to model \u001b[0m\u001b[1;36mNone\u001b[1;35m version \u001b[0m\u001b[1;36mNone\u001b[1;35m implicitly.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mmodel_evaluator\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36mtraining-2023_12_14-19_13_30_626808\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.321s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "# Let's train the RF model and set the version name to \"rf\"\n", "pipeline_settings[\"model_version\"].version = \"rf\"\n", @@ -2603,29 +800,10 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "fbb25913", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "id=UUID('aa651410-ae18-437b-b55b-81ed7d85e093') permission_denied=False body=ModelResponseBody(created=datetime.datetime(2023, 12, 14, 19, 13, 28, 743771), updated=datetime.datetime(2023, 12, 14, 19, 13, 28, 743774), user=UserResponse(id=UUID('b11443aa-7044-4002-a761-fca964afead0'), permission_denied=False, body=UserResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 615395), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 615400), active=True, activation_token=None, full_name='', email_opted_in=None, is_service_account=False), metadata=None, name='default'), tags=[TagResponseModel(id=UUID('f84d2acb-50c0-45aa-9e31-b0b2b5cadeb1'), created=datetime.datetime(2023, 12, 14, 19, 13, 28, 747775), updated=datetime.datetime(2023, 12, 14, 19, 13, 28, 747778), missing_permissions=False, name='breast_cancer', color=, tagged_count=1), TagResponseModel(id=UUID('217927ee-4157-441a-93b3-151ad3724ebb'), created=datetime.datetime(2023, 12, 14, 19, 13, 28, 769699), updated=datetime.datetime(2023, 12, 14, 19, 13, 28, 769701), missing_permissions=False, name='classifier', color=, tagged_count=1)], latest_version='rf', workspace=WorkspaceResponse(id=UUID('73b57054-1d66-4b08-bb61-9d74d2ef6180'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 111293), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 111299)), metadata=None, name='default')) metadata=ModelResponseMetadata(workspace=WorkspaceResponse(id=UUID('73b57054-1d66-4b08-bb61-9d74d2ef6180'), permission_denied=False, body=WorkspaceResponseBody(created=datetime.datetime(2023, 12, 14, 19, 12, 36, 111293), updated=datetime.datetime(2023, 12, 14, 19, 12, 36, 111299)), metadata=None, name='default'), license='Apache 2.0', description='A breast cancer classifier', audience=None, use_cases=None, limitations=None, trade_offs=None, ethics=None) name='breast_cancer_classifier'\n", - "Model breast_cancer_classifier has 2 versions\n" - ] - }, - { - "data": { - "text/plain": [ - "('sgd', 'rf')" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "zenml_model = client.get_model(\"breast_cancer_classifier\")\n", "print(zenml_model)\n", @@ -2648,24 +826,10 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "31211413", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
RandomForestClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "RandomForestClassifier()" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Let's load the RF version\n", "rf_zenml_model_version = client.get_model_version(\"breast_cancer_classifier\", \"rf\")\n", @@ -2703,7 +867,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "26b718f8", "metadata": {}, "outputs": [], @@ -2762,7 +926,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "92c4c7dc", "metadata": {}, "outputs": [], @@ -2793,7 +957,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "37c409bd", "metadata": {}, "outputs": [], @@ -2831,18 +995,10 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "61bf5939", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35m\u001b[0m\u001b[1;36mversion\u001b[1;35m \u001b[0m\u001b[1;36mproduction\u001b[1;35m matches one of the possible \u001b[0m\u001b[1;36mModelStages\u001b[1;35m and will be fetched using stage.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "pipeline_settings = {\"enable_cache\": False}\n", "\n", @@ -2858,41 +1014,10 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "ff3402f1", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1;35mInitiating a new run for the pipeline: \u001b[0m\u001b[1;36minference\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRegistered new version: \u001b[0m\u001b[1;36m(version 1)\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mExecuting a new run.\u001b[0m\n", - "\u001b[1;35mCaching is disabled by default for \u001b[0m\u001b[1;36minference\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mUsing user: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mUsing stack: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m artifact_store: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35m orchestrator: \u001b[0m\u001b[1;36mdefault\u001b[1;35m\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mDataset with 28 records loaded!\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36mdata_loader\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.642s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has started.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_preprocessor\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.847s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has started.\u001b[0m\n", - "\u001b[33mYou specified both an ID as well as a version of the artifact_versions. Ignoring the version and fetching the artifact_versions by ID.\u001b[0m\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:767: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if not hasattr(array, \"sparse\") and array.dtypes.apply(is_sparse).any():\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:605: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype):\n", - "/home/apenner/PycharmProjects/template-starter/venv/lib/python3.9/site-packages/sklearn/utils/validation.py:614: FutureWarning: is_sparse is deprecated and will be removed in a future version. Check `isinstance(dtype, pd.SparseDtype)` instead.\n", - " if is_sparse(pd_dtype) or not is_extension_array_dtype(pd_dtype):\n", - "\u001b[1;35mStep \u001b[0m\u001b[1;36minference_predict\u001b[1;35m has finished in \u001b[0m\u001b[1;36m0.678s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mRun \u001b[0m\u001b[1;36minference-2023_12_14-19_13_32_534526\u001b[1;35m has finished in \u001b[0m\u001b[1;36m2.331s\u001b[1;35m.\u001b[0m\n", - "\u001b[1;35mYou can visualize your pipeline runs in the \u001b[0m\u001b[1;36mZenML Dashboard\u001b[1;35m. In order to try it locally, please run \u001b[0m\u001b[1;36mzenml up\u001b[1;35m.\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "# the `with_options` method allows us to pass in pipeline settings\n", "# and returns a configured pipeline\n", @@ -2917,49 +1042,10 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "e191d019", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 1\n", - "1 0\n", - "2 0\n", - "3 1\n", - "4 1\n", - "5 0\n", - "6 0\n", - "7 0\n", - "8 0\n", - "9 1\n", - "10 1\n", - "11 0\n", - "12 1\n", - "13 0\n", - "14 1\n", - "15 0\n", - "16 1\n", - "17 1\n", - "18 1\n", - "19 0\n", - "20 1\n", - "21 1\n", - "22 0\n", - "23 1\n", - "24 1\n", - "25 1\n", - "26 1\n", - "27 1\n", - "Name: series, dtype: int64" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Fetch production model\n", "production_model_version = client.get_model_version(\"breast_cancer_classifier\", \"production\")\n", From cddbed5a002ee41cbe75572532574513a045a7f0 Mon Sep 17 00:00:00 2001 From: Alexej Penner Date: Fri, 15 Dec 2023 00:03:36 +0100 Subject: [PATCH 31/48] Fixed non-rendering visualizations --- template/{.assets => assets}/cloud_mcp.png | Bin .../{.assets => assets}/cloud_mcp_predictions.png | Bin .../{.assets => assets}/cloud_mcp_screenshot.png | Bin .../feature_engineering_pipeline.png | Bin .../{.assets => assets}/inference_pipeline.png | Bin .../{.assets => assets}/pipeline_overview.png | Bin .../{.assets => assets}/training_pipeline.png | Bin template/quickstart.ipynb | 14 +++++++------- 8 files changed, 7 insertions(+), 7 deletions(-) rename template/{.assets => assets}/cloud_mcp.png (100%) rename template/{.assets => assets}/cloud_mcp_predictions.png (100%) rename template/{.assets => assets}/cloud_mcp_screenshot.png (100%) rename template/{.assets => assets}/feature_engineering_pipeline.png (100%) rename template/{.assets => assets}/inference_pipeline.png (100%) rename template/{.assets => assets}/pipeline_overview.png (100%) rename template/{.assets => assets}/training_pipeline.png (100%) diff --git a/template/.assets/cloud_mcp.png b/template/assets/cloud_mcp.png similarity index 100% rename from template/.assets/cloud_mcp.png rename to template/assets/cloud_mcp.png diff --git a/template/.assets/cloud_mcp_predictions.png b/template/assets/cloud_mcp_predictions.png similarity index 100% rename from template/.assets/cloud_mcp_predictions.png rename to template/assets/cloud_mcp_predictions.png diff --git a/template/.assets/cloud_mcp_screenshot.png b/template/assets/cloud_mcp_screenshot.png similarity index 100% rename from template/.assets/cloud_mcp_screenshot.png rename to template/assets/cloud_mcp_screenshot.png diff --git a/template/.assets/feature_engineering_pipeline.png b/template/assets/feature_engineering_pipeline.png similarity index 100% rename from template/.assets/feature_engineering_pipeline.png rename to template/assets/feature_engineering_pipeline.png diff --git a/template/.assets/inference_pipeline.png b/template/assets/inference_pipeline.png similarity index 100% rename from template/.assets/inference_pipeline.png rename to template/assets/inference_pipeline.png diff --git a/template/.assets/pipeline_overview.png b/template/assets/pipeline_overview.png similarity index 100% rename from template/.assets/pipeline_overview.png rename to template/assets/pipeline_overview.png diff --git a/template/.assets/training_pipeline.png b/template/assets/training_pipeline.png similarity index 100% rename from template/.assets/training_pipeline.png rename to template/assets/training_pipeline.png diff --git a/template/quickstart.ipynb b/template/quickstart.ipynb index 174b765..8b5e13b 100644 --- a/template/quickstart.ipynb +++ b/template/quickstart.ipynb @@ -17,7 +17,7 @@ "\n", "Follow along this notebook to understand how you can use ZenML to productionalize your ML workflows!\n", "\n", - "\"Pipelines" + "\"Pipelines" ] }, { @@ -179,7 +179,7 @@ "your training. ZenML mostly gets out of your way when you're writing your Python\n", "code, as you'll see from the following cell.\n", "\n", - "\"Feature" + "\"Feature" ] }, { @@ -538,7 +538,7 @@ "Classifier, both batteries-included from `sklearn`. We'll train them both on the\n", "same data and then compare their performance.\n", "\n", - "\"Training" + "\"Training" ] }, { @@ -847,7 +847,7 @@ "source": [ "If you are a [ZenML Cloud](https://zenml.io/cloud) user, you can see all of this visualized in the dashboard:\n", "\n", - "\"Model" + "\"Model" ] }, { @@ -892,7 +892,7 @@ "id": "2ecbc8cf", "metadata": {}, "source": [ - "\"Model" + "\"Model" ] }, { @@ -921,7 +921,7 @@ "with `live data`. The critical step here is the `inference_predict` step, where we load the model in memory\n", "and generate predictions:\n", "\n", - "\"Inference" + "\"Inference" ] }, { @@ -1061,7 +1061,7 @@ "source": [ "You can also see all predictions ever created as a complete history in the dashboard:\n", "\n", - "\"Model" + "\"Model" ] }, { From 9fe56dd28dedc7663e32dd77954c79ab2b5c5dc8 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Mon, 18 Dec 2023 10:54:14 +0100 Subject: [PATCH 32/48] Updated --- README.md | 2 +- template/README.md | 8 ++++---- template/quickstart.ipynb | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index a91f854..61bb4e7 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # 📜 ZenML Project Templates This repository contains a starter template from which a simple ZenML project -can be generated: a collection of steps, pipelines, stack configurations and +can be generated easily. It contains a collection of steps, pipelines, stack configurations and other artifacts and useful resources that can get you started with ZenML. 🔥 **Do you have a personal project powered by ZenML that you would like to see here?** diff --git a/template/README.md b/template/README.md index 0133525..96deeba 100644 --- a/template/README.md +++ b/template/README.md @@ -16,9 +16,9 @@ This is a representation of how it will all come together: Along the way we will also show you how to: -- Structure your code into MLOps pipelines -- Automatically version, track, and cache data, models, and other artifacts -- Transition your ML models from development to production +- Structure your code into MLOps pipelines. +- Automatically version, track, and cache data, models, and other artifacts. +- Transition your ML models from development to production. ## 🏃 Run on Colab @@ -74,7 +74,7 @@ python run.py --inference-pipeline ## 🌵 Learning MLOps with ZenML -This project is also a great source of learning about some fundamental MLOps concepts. In sum, there are four exemplary steps happening, that can be mapped onto many other projects: +This project is also a great source of learning about some fundamental MLOps concepts. In sum, there are four exemplary steps happening, that can be mapped onto many other projects:
🥇 Step 1: Load your data and execute feature engineering diff --git a/template/quickstart.ipynb b/template/quickstart.ipynb index 8b5e13b..1ba8f37 100644 --- a/template/quickstart.ipynb +++ b/template/quickstart.ipynb @@ -1075,16 +1075,16 @@ "a test set, registered the best one with the ZenML model control plane,\n", "and served some predictions. You also learned how to iterate on your models and\n", "data by using some of the ZenML utility abstractions. You saw how to view your\n", - "artifacts and stacks via the client as well as the ZenML Dashboard.\n", + "artifacts and models via the client as well as the ZenML Dashboard.\n", "\n", "## Further exploration\n", "\n", "This was just the tip of the iceberg of what ZenML can do; check out the [**docs**](https://docs.zenml.io/) to learn more\n", "about the capabilities of ZenML. For example, you might want to:\n", "\n", - "- Run the same pipeline on a cloud stack in production.\n", - "- Track your metrics in an experiment tracker like [MLflow]().\n", - "- Learn how to transition your code from this notebook setting to a production setting.\n", + "- [Deploy ZenML](https://docs.zenml.io/user-guide/production-guide/connect-deployed-zenml) to collaborate with your colleagues.\n", + "- Run the same pipeline on a [cloud MLOps stack in production](https://docs.zenml.io/user-guide/production-guide/cloud-stack).\n", + "- Track your metrics in an experiment tracker like [MLflow](https://docs.zenml.io/stacks-and-components/component-guide/experiment-trackers/mlflow).\n", "\n", "## What next?\n", "\n", From a2ca4f8003d336d47c882ed6af628034d29f363a Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Mon, 18 Dec 2023 10:55:36 +0100 Subject: [PATCH 33/48] Updated --- template/{assets => .assets}/cloud_mcp.png | Bin .../{assets => .assets}/cloud_mcp_predictions.png | Bin .../{assets => .assets}/cloud_mcp_screenshot.png | Bin .../feature_engineering_pipeline.png | Bin template/{assets => .assets}/inference_pipeline.png | Bin template/{assets => .assets}/pipeline_overview.png | Bin template/{assets => .assets}/training_pipeline.png | Bin 7 files changed, 0 insertions(+), 0 deletions(-) rename template/{assets => .assets}/cloud_mcp.png (100%) rename template/{assets => .assets}/cloud_mcp_predictions.png (100%) rename template/{assets => .assets}/cloud_mcp_screenshot.png (100%) rename template/{assets => .assets}/feature_engineering_pipeline.png (100%) rename template/{assets => .assets}/inference_pipeline.png (100%) rename template/{assets => .assets}/pipeline_overview.png (100%) rename template/{assets => .assets}/training_pipeline.png (100%) diff --git a/template/assets/cloud_mcp.png b/template/.assets/cloud_mcp.png similarity index 100% rename from template/assets/cloud_mcp.png rename to template/.assets/cloud_mcp.png diff --git a/template/assets/cloud_mcp_predictions.png b/template/.assets/cloud_mcp_predictions.png similarity index 100% rename from template/assets/cloud_mcp_predictions.png rename to template/.assets/cloud_mcp_predictions.png diff --git a/template/assets/cloud_mcp_screenshot.png b/template/.assets/cloud_mcp_screenshot.png similarity index 100% rename from template/assets/cloud_mcp_screenshot.png rename to template/.assets/cloud_mcp_screenshot.png diff --git a/template/assets/feature_engineering_pipeline.png b/template/.assets/feature_engineering_pipeline.png similarity index 100% rename from template/assets/feature_engineering_pipeline.png rename to template/.assets/feature_engineering_pipeline.png diff --git a/template/assets/inference_pipeline.png b/template/.assets/inference_pipeline.png similarity index 100% rename from template/assets/inference_pipeline.png rename to template/.assets/inference_pipeline.png diff --git a/template/assets/pipeline_overview.png b/template/.assets/pipeline_overview.png similarity index 100% rename from template/assets/pipeline_overview.png rename to template/.assets/pipeline_overview.png diff --git a/template/assets/training_pipeline.png b/template/.assets/training_pipeline.png similarity index 100% rename from template/assets/training_pipeline.png rename to template/.assets/training_pipeline.png From 02385103a590236460cd847186e56bd7b0cd2352 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Mon, 18 Dec 2023 10:58:53 +0100 Subject: [PATCH 34/48] new CTA --- template/README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/template/README.md b/template/README.md index 96deeba..83c20c0 100644 --- a/template/README.md +++ b/template/README.md @@ -114,11 +114,10 @@ We will use these versions in the next pipeline.
⌚ Step 2: Training pipeline -Now that our data is prepared, it makes sense to train some models to get a sense of how difficult the task is. The Breast Cancer dataset is sufficiently large and complex that it's unlikely we'll be able to train a model that behaves perfectly since the problem -is inherently complex, but we can get a sense of what a reasonable baseline looks like. +Now that our data is prepared, it makes sense to train some models to get a sense of how difficult the task is. The Breast Cancer dataset is sufficiently large and complex that it's unlikely we'll be able to train a model that behaves perfectly since the problem is inherently complex, but we can get a sense of what a reasonable baseline looks like. We'll start with two simple models, a SGD Classifier and a Random Forest -Classifier, both batteries-included from `sklearn`. We'll train them both on the +Classifier, both batteries-included from `sklearn`. We'll train them on the same data and then compare their performance. Training pipeline @@ -150,7 +149,7 @@ registry. However, these topics can be explored more in the
- 💯 Step 3: Associating a model with your pipeline + 💯 Step 3: Promoting the best model to production For now, we will use the ZenML model control plane to promote our best model to `production`. You can do this by simply setting the `stage` of @@ -197,9 +196,11 @@ and served some predictions. You also learned how to iterate on your models and data by using some of the ZenML utility abstractions. You saw how to view your artifacts and stacks via the client as well as the ZenML Dashboard. -If you want to learn more about ZenML as a tool, then the +If you want to learn more about ZenML as a tool, then the [:page_facing_up: **ZenML Docs**](https://docs.zenml.io/) are the perfect place -to get started. +to get started. In particular, the [Production Guide](https://docs.zenml.io/user-guide/production-guide/) +goes into more detail as to how to transition these same pipelines into production +on the cloud. The best way to get a production ZenML instance up and running with all batteries included is the [ZenML Cloud](https://zenml.io/cloud). Check it out! From 4f44541ffeb7a5500f97f7b43d993342c9f7201a Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Mon, 18 Dec 2023 10:59:00 +0100 Subject: [PATCH 35/48] new CTA --- template/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/README.md b/template/README.md index 83c20c0..d2f4922 100644 --- a/template/README.md +++ b/template/README.md @@ -197,7 +197,7 @@ data by using some of the ZenML utility abstractions. You saw how to view your artifacts and stacks via the client as well as the ZenML Dashboard. If you want to learn more about ZenML as a tool, then the -[:page_facing_up: **ZenML Docs**](https://docs.zenml.io/) are the perfect place +[:page_facing_up: **ZenML Docs**](https://docs.zenml.io/) are the perfect place to get started. In particular, the [Production Guide](https://docs.zenml.io/user-guide/production-guide/) goes into more detail as to how to transition these same pipelines into production on the cloud. From 066517fc0dc631d304fb4bba433e3033a6e29439 Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Mon, 18 Dec 2023 17:26:21 +0100 Subject: [PATCH 36/48] Updated --- template/README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/template/README.md b/template/README.md index d2f4922..dd042cd 100644 --- a/template/README.md +++ b/template/README.md @@ -125,11 +125,13 @@ same data and then compare their performance. Run it by using the ID's from the first step: ```python +# You can also ignore the `--train-dataset-version-name` and `--test-dataset-version-name` to use +# the latest versions python run.py --training-pipeline --train-dataset-version-name 1 --test-dataset-version-name 1 ``` -ZenML offers a *Model Control Plane*, -which is a central register of all your ML models. Each run of the training pipeline will produce a ZenML Model Version. +To track these models, ZenML offers a *Model Control Plane*, which is a central register of all your ML models. +Each run of the training pipeline will produce a ZenML Model Version. ```shell zenml model list @@ -159,7 +161,7 @@ your chosen model version to the `production` tag. zenml model version update breast_cancer_classifier rf --stage production ``` -Even if we did this manually for illustration, if you inspect the [promoter code](steps/model_promoter.py), we can see this would already have been done automatically by the training pipeline. It uses the previous production metrics to compare to the current one, and promotes the new model if it performs better on the test set. +While we've demonstrated a manual promotion process for clarity, a more in-depth look at the [promoter code](steps/model_promoter.py) reveals that the training pipeline is designed to automate this step. It evaluates the latest model against established production metrics and, if the new model outperforms the existing one based on test set results, it will automatically promote the model to production. Here is an overview of the process: Model Control Plane From 280644085a0cd25a7ac1e709c61c7f025f7d062c Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:41:40 +0100 Subject: [PATCH 37/48] add image optimizer --- .github/workflows/image-optimizer.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/image-optimizer.yml diff --git a/.github/workflows/image-optimizer.yml b/.github/workflows/image-optimizer.yml new file mode 100644 index 0000000..dddbd1e --- /dev/null +++ b/.github/workflows/image-optimizer.yml @@ -0,0 +1,26 @@ +name: Compress Images +on: + pull_request: + # Run Image Actions when JPG, JPEG, PNG or WebP files are added or changed. + # See https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths for reference. + paths: + - '**.jpg' + - '**.jpeg' + - '**.png' + - '**.webp' +jobs: + build: + # Only run on non-draft PRs within the same repository. + if: github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.draft == false + name: calibreapp/image-actions + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + + - name: Compress Images + uses: calibreapp/image-actions@main + with: + # The `GITHUB_TOKEN` is automatically generated by GitHub and scoped only to the repository that is currently running the action. By default, the action can’t update Pull Requests initiated from forked repositories. + # See https://docs.github.com/en/actions/reference/authentication-in-a-workflow and https://help.github.com/en/articles/virtual-environments-for-github-actions#token-permissions + githubToken: ${{ secrets.GITHUB_TOKEN }} From dd35b68be0b29152a5540d08fde78bea63f9b107 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 16:42:21 +0000 Subject: [PATCH 38/48] Optimised images with calibre/image-actions --- template/.assets/cloud_mcp_predictions.png | Bin 320242 -> 226866 bytes template/.assets/cloud_mcp_screenshot.png | Bin 302436 -> 220224 bytes .../.assets/feature_engineering_pipeline.png | Bin 212830 -> 112307 bytes template/.assets/training_pipeline.png | Bin 70547 -> 64785 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/template/.assets/cloud_mcp_predictions.png b/template/.assets/cloud_mcp_predictions.png index 1d135e802c13085ccdbf846d30f2e594dd162395..a6bf7c902d6b67a1fb11c11bb5c1ba6f2b773d01 100644 GIT binary patch literal 226866 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

5jSjdxccKTrka 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%0DU@l-wFy|74V!eR~zNYjSwd=hTpP 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�at2ngeXI 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

dKrG<0kymToq!hs+6)d}jx2Poc#E$bIL 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�yq>~OYUi!4xEXh9AjyEy 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 =v`jdQ^ZkV(m~#A}Ok2Dtw0eoa+Q=q* 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

bj=erCwV!$e3)MS+mU@Gq*m#kptHn6)0N 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 diff --git a/template/.assets/feature_engineering_pipeline.png b/template/.assets/feature_engineering_pipeline.png index ab0b2276af888f02e6f4f81becfeb50c93151a66..db3019132ee75b75cf331422cd0ea4d5eb37be8d 100644 GIT binary patch literal 112307 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 z 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 diff --git a/template/.assets/training_pipeline.png b/template/.assets/training_pipeline.png index 2d935a4fb40ca976b83d66df8768a96a806fd819..a2e6a7d0499ed87303cbbc6efed936d3e6c9b2a9 100644 GIT binary patch literal 64785 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 D&aj~e From c91cff22962f60218e95e87dc62a263cd3694802 Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:43:02 +0100 Subject: [PATCH 39/48] imporve ci --- .github/workflows/ci.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1090e8f..36e9a38 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,25 @@ name: CI on: workflow_dispatch: + inputs: + ref-template: + description: 'Branch or tag ref to check out for template' + type: string + required: false + ref-zenml: + description: 'Branch or tag ref to check out for ZenML' + type: string + required: false workflow_call: + inputs: + ref-template: + description: 'Branch or tag ref to check out for template' + type: string + required: false + ref-zenml: + description: 'Branch or tag ref to check out for ZenML' + type: string + required: false push: branches: ["main", "develop"] paths-ignore: ["README.md"] @@ -36,3 +54,5 @@ jobs: with: stack-name: ${{ matrix.stack-name }} python-version: ${{ matrix.python-version }} + ref-zenml: ${{ inputs.ref-zenml || 'feature/update-quickstart-from-template' }} + ref-template: ${{ inputs.ref-template || github.ref }} From 05b7a2e5b702c84aec9691d6f8a949ee95c0832c Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:50:23 +0100 Subject: [PATCH 40/48] fix ci --- requirements.txt | 2 +- template/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 21e8aa5..65e8c35 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,4 @@ scikit-learn<1.3 copier jinja2-time zenml[server]>=0.52.0 -notebook \ No newline at end of file +notebook diff --git a/template/requirements.txt b/template/requirements.txt index 7a25951..060cab4 100644 --- a/template/requirements.txt +++ b/template/requirements.txt @@ -1,4 +1,4 @@ zenml[server]>=0.50.0 notebook scikit-learn<1.3 -pyarrow \ No newline at end of file +pyarrow From 621e38c80a53b8594ff23fe972fd8cb9a5e4ba63 Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Mon, 18 Dec 2023 18:07:59 +0100 Subject: [PATCH 41/48] fix ci/tests --- .github/workflows/ci.yml | 1 + copier.yaml | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36e9a38..9fc5047 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,6 +37,7 @@ jobs: run-tests: runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: stack-name: [local] os: [windows-latest, ubuntu-latest, macos-latest] diff --git a/copier.yaml b/copier.yaml index ae3c266..fdaee8b 100644 --- a/copier.yaml +++ b/copier.yaml @@ -32,10 +32,6 @@ email: The email of the person/entity holding the copyright default: info@zenml.io when: "{{ open_source_license }}" -auto_format: - type: bool - help: "Auto-format the generated code with black, ruff and autoflake? \n (NOTE: you need to have these tools installed in your environment)" - default: false # CONFIGURATION ------------------------- _templates_suffix: "" From b00197c6d36eae78837bad9c88a332f936108731 Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Mon, 18 Dec 2023 18:29:33 +0100 Subject: [PATCH 42/48] vscode --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index bfdb54c..f8d2b18 100644 --- a/.gitignore +++ b/.gitignore @@ -131,4 +131,5 @@ dmypy.json # Pyre type checker .pyre/ -*.zen \ No newline at end of file +*.zen +.vscode From 6f7b6cc4c5e53d21232a3605a577540261323995 Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Mon, 18 Dec 2023 18:29:42 +0100 Subject: [PATCH 43/48] remove mlflow reqs --- .github/actions/starter_template_test/action.yml | 2 +- template/quickstart.ipynb | 2 +- tests/conftest.py | 4 ---- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/actions/starter_template_test/action.yml b/.github/actions/starter_template_test/action.yml index aa01bc1..9940481 100644 --- a/.github/actions/starter_template_test/action.yml +++ b/.github/actions/starter_template_test/action.yml @@ -69,7 +69,7 @@ runs: - name: Concatenate requirements shell: bash run: | - zenml integration export-requirements -o ./local_checkout/integration-requirements.txt sklearn mlflow s3 kubernetes kubeflow slack evidently + zenml integration export-requirements -o ./local_checkout/integration-requirements.txt sklearn cat ./local_checkout/requirements.txt ./local_checkout/test-requirements.txt ./local_checkout/integration-requirements.txt >> ./local_checkout/all-requirements.txt - name: Install requirements diff --git a/template/quickstart.ipynb b/template/quickstart.ipynb index 1ba8f37..c6d0b9a 100644 --- a/template/quickstart.ipynb +++ b/template/quickstart.ipynb @@ -76,7 +76,7 @@ "metadata": {}, "outputs": [], "source": [ - "!zenml integration install sklearn mlflow -y\n", + "!zenml integration install sklearn -y\n", "\n", "import IPython\n", "IPython.Application.instance().kernel.do_shutdown(restart=True)" diff --git a/tests/conftest.py b/tests/conftest.py index 6234e9e..fa9049a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -31,10 +31,6 @@ def configure_stack(): if stack_name == "local": components = {} for component in [ - ("mlflow_local", "mlflow", StackComponentType.EXPERIMENT_TRACKER), - ("mlflow_local", "mlflow", StackComponentType.MODEL_REGISTRY), - ("mlflow_local", "mlflow", StackComponentType.MODEL_DEPLOYER), - ("evidently", "evidently", StackComponentType.DATA_VALIDATOR), ("local", "local", StackComponentType.ORCHESTRATOR), ("local", "local", StackComponentType.ARTIFACT_STORE), ]: From 012096e51270733cbf4f3071129d434af67e95ee Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Mon, 18 Dec 2023 18:29:48 +0100 Subject: [PATCH 44/48] fix tests --- tests/test_starter_template.py | 78 ++++++++++++++-------------------- 1 file changed, 33 insertions(+), 45 deletions(-) diff --git a/tests/test_starter_template.py b/tests/test_starter_template.py index 67c7420..0d3971f 100644 --- a/tests/test_starter_template.py +++ b/tests/test_starter_template.py @@ -49,9 +49,6 @@ def generate_and_run_project( # generate the template in a temp path current_dir = os.getcwd() dst_path = tmp_path_factory.mktemp("pytest-template") - print("TEMPLATE_DIR:", TEMPLATE_DIRECTORY) - print("dst_path:", dst_path) - print("current_dir:", current_dir) os.chdir(str(dst_path)) with Worker( src_path=TEMPLATE_DIRECTORY, @@ -62,37 +59,39 @@ def generate_and_run_project( ) as worker: worker.run_copy() - # MLFlow Deployer not supported on Windows - # MLFlow `service daemon is not running` error on MacOS - if platform.system().lower() not in ["windows"]: - # run the project - call = [sys.executable, "run.py"] - - try: - subprocess.check_output( - call, - cwd=str(dst_path), - env=os.environ.copy(), - stderr=subprocess.STDOUT, - ) - except subprocess.CalledProcessError as e: - raise RuntimeError( - f"Failed to run project generated with parameters: {answers}\n" - f"{e.output.decode()}" - ) from e - - # check the pipeline run is successful - for pipeline_suffix in ["_training", "_batch_inference"]: - pipeline = Client().get_pipeline(product_name + pipeline_suffix) - assert pipeline - runs = pipeline.runs - assert len(runs) == 1 - assert runs[0].status == ExecutionStatus.COMPLETED - - # clean up - Client().delete_pipeline(product_name + pipeline_suffix) - Client().delete_model(product_name) - Client().active_stack.model_registry.delete_model(product_name) + # run the project + call = [ + sys.executable, + "run.py", + "--training-pipeline", + "--feature-pipeline", + "--inference-pipeline", + ] + + try: + subprocess.check_output( + call, + cwd=str(dst_path), + env=os.environ.copy(), + stderr=subprocess.STDOUT, + ) + except subprocess.CalledProcessError as e: + raise RuntimeError( + f"Failed to run project generated with parameters: {answers}\n" + f"{e.output.decode()}" + ) from e + + # check the pipeline run is successful + for pipeline_name in ["training", "inference", "feature_engineering"]: + pipeline = Client().get_pipeline(pipeline_name) + assert pipeline + runs = pipeline.runs + assert len(runs) == 1 + assert runs[0].status == ExecutionStatus.COMPLETED + + # clean up + Client().delete_pipeline(pipeline_name) + Client().delete_model("breast_cancer_classifier") os.chdir(current_dir) shutil.rmtree(dst_path) @@ -122,14 +121,3 @@ def test_custom_product_name( tmp_path_factory=tmp_path_factory, product_name="custom_product_name", ) - -def test_custom_zenml_server_url( - clean_zenml_client, - tmp_path_factory: pytest.TempPathFactory, -): - """Test deploying to production stage.""" - - generate_and_run_project( - tmp_path_factory=tmp_path_factory, - zenml_server_url="foo", - ) From be772f9797f55887c5d9e09a388b33b0b9878dc2 Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Mon, 18 Dec 2023 19:10:13 +0100 Subject: [PATCH 45/48] add `--no-cache` --- template/run.py | 14 ++++++++++++++ tests/test_starter_template.py | 1 + 2 files changed, 15 insertions(+) diff --git a/template/run.py b/template/run.py index 2b30807..8436ea5 100644 --- a/template/run.py +++ b/template/run.py @@ -86,6 +86,12 @@ default=False, help="Whether to run the pipeline that performs inference.", ) +@click.option( + "--no-cache", + is_flag=True, + default=False, + help="Disable caching for the pipeline run.", +) def main( train_dataset_name: str = "dataset_trn", train_dataset_version_name: Optional[str] = None, @@ -94,6 +100,7 @@ def main( feature_pipeline: bool = False, training_pipeline: bool = False, inference_pipeline: bool = False, + no_cache: bool = False, ): """Main entry point for the pipeline execution. @@ -114,6 +121,7 @@ def main( feature_pipeline: Whether to run the pipeline that creates the dataset. training_pipeline: Whether to run the pipeline that trains the model. inference_pipeline: Whether to run the pipeline that performs inference. + no_cache: If `True` cache will be disabled. """ client = Client() @@ -125,6 +133,8 @@ def main( # Execute Feature Engineering Pipeline if feature_pipeline: pipeline_args = {} + if no_cache: + pipeline_args["enable_cache"] = False pipeline_args["config_path"] = os.path.join( config_folder, "feature_engineering.yaml" ) @@ -165,12 +175,16 @@ def main( # Run the SGD pipeline pipeline_args = {} + if no_cache: + pipeline_args["enable_cache"] = False pipeline_args["config_path"] = os.path.join(config_folder, "training_sgd.yaml") training.with_options(**pipeline_args)(**run_args_train) logger.info("Training pipeline with SGD finished successfully!\n\n") # Run the RF pipeline pipeline_args = {} + if no_cache: + pipeline_args["enable_cache"] = False pipeline_args["config_path"] = os.path.join(config_folder, "training_rf.yaml") training.with_options(**pipeline_args)(**run_args_train) logger.info("Training pipeline with RF finished successfully!\n\n") diff --git a/tests/test_starter_template.py b/tests/test_starter_template.py index 0d3971f..a164db3 100644 --- a/tests/test_starter_template.py +++ b/tests/test_starter_template.py @@ -66,6 +66,7 @@ def generate_and_run_project( "--training-pipeline", "--feature-pipeline", "--inference-pipeline", + "--no-cache" ] try: From b25765837a5cf8b26938de4cf7aa7c8c7553ed4f Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Mon, 18 Dec 2023 21:33:42 +0100 Subject: [PATCH 46/48] use SafeLoader --- template/run.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/run.py b/template/run.py index 8436ea5..c3089fd 100644 --- a/template/run.py +++ b/template/run.py @@ -199,7 +199,7 @@ def main( # Fetch the production model with open(pipeline_args["config_path"], "r") as f: - config = yaml.load(f, Loader=yaml.FullLoader) + config = yaml.load(f, Loader=yaml.SafeLoader) zenml_model = client.get_model_version( config["model_version"]["name"], config["model_version"]["version"] ) From 831997c46ca781b478b2d2ebd8177d8fbb369505 Mon Sep 17 00:00:00 2001 From: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com> Date: Tue, 19 Dec 2023 15:05:17 +0100 Subject: [PATCH 47/48] fix img paths --- template/quickstart.ipynb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/template/quickstart.ipynb b/template/quickstart.ipynb index c6d0b9a..36e502d 100644 --- a/template/quickstart.ipynb +++ b/template/quickstart.ipynb @@ -17,7 +17,7 @@ "\n", "Follow along this notebook to understand how you can use ZenML to productionalize your ML workflows!\n", "\n", - "\"Pipelines" + "\"Pipelines" ] }, { @@ -179,7 +179,7 @@ "your training. ZenML mostly gets out of your way when you're writing your Python\n", "code, as you'll see from the following cell.\n", "\n", - "\"Feature" + "\"Feature" ] }, { @@ -538,7 +538,7 @@ "Classifier, both batteries-included from `sklearn`. We'll train them both on the\n", "same data and then compare their performance.\n", "\n", - "\"Training" + "\"Training" ] }, { @@ -847,7 +847,7 @@ "source": [ "If you are a [ZenML Cloud](https://zenml.io/cloud) user, you can see all of this visualized in the dashboard:\n", "\n", - "\"Model" + "\"Model" ] }, { @@ -892,7 +892,7 @@ "id": "2ecbc8cf", "metadata": {}, "source": [ - "\"Model" + "\"Model" ] }, { @@ -921,7 +921,7 @@ "with `live data`. The critical step here is the `inference_predict` step, where we load the model in memory\n", "and generate predictions:\n", "\n", - "\"Inference" + "\"Inference" ] }, { @@ -1061,7 +1061,7 @@ "source": [ "You can also see all predictions ever created as a complete history in the dashboard:\n", "\n", - "\"Model" + "\"Model" ] }, { From 652a61421251e4cf3619b5151f2aecdf9bd1c8ca Mon Sep 17 00:00:00 2001 From: Hamza Tahir Date: Tue, 19 Dec 2023 16:38:36 +0100 Subject: [PATCH 48/48] YAML requirements fixed --- template/configs/feature_engineering.yaml | 1 + template/configs/inference.yaml | 1 + template/configs/training_rf.yaml | 1 + template/configs/training_sgd.yaml | 1 + 4 files changed, 4 insertions(+) diff --git a/template/configs/feature_engineering.yaml b/template/configs/feature_engineering.yaml index bf76f12..d5ab212 100644 --- a/template/configs/feature_engineering.yaml +++ b/template/configs/feature_engineering.yaml @@ -3,6 +3,7 @@ settings: docker: required_integrations: - sklearn + requirements: - pyarrow # pipeline configuration diff --git a/template/configs/inference.yaml b/template/configs/inference.yaml index bed69a3..0fd82f5 100644 --- a/template/configs/inference.yaml +++ b/template/configs/inference.yaml @@ -3,6 +3,7 @@ settings: docker: required_integrations: - sklearn + requirements: - pyarrow # configuration of the Model Control Plane diff --git a/template/configs/training_rf.yaml b/template/configs/training_rf.yaml index ddb68d6..c1418af 100644 --- a/template/configs/training_rf.yaml +++ b/template/configs/training_rf.yaml @@ -3,6 +3,7 @@ settings: docker: required_integrations: - sklearn + requirements: - pyarrow # configuration of the Model Control Plane diff --git a/template/configs/training_sgd.yaml b/template/configs/training_sgd.yaml index 4318c38..6ca7c0d 100644 --- a/template/configs/training_sgd.yaml +++ b/template/configs/training_sgd.yaml @@ -3,6 +3,7 @@ settings: docker: required_integrations: - sklearn + requirements: - pyarrow # configuration of the Model Control Plane

1ejdJ{BOw96 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�?_QT@-$SL8V!M-|l@buHJ1JOwCk_UYwh05^=IxJi_Jb%Xtg^yKWB3JM1xJyM zHQi;gd<#PmKN?(0a!ryXN3n3J>Pce)_HZvt9dmG>9e2M#?G}py5P);)w8iq53)Xaw z(vNKe)kC)JYasd53Xyt}w<_;~A{r(1Vf^uZMb zg(l2SHPWI;OSRU~q@WT4c>-#nI!on&{0$7j-LogH#~1qD;$>7d>$F3tAUrAoY~?|( zi-_S3lHVV@YxP^W43<6~ZpZar=WdpjORsH~*Y*)pFHT*mC{^%n+ml~Dv7dOw;rlraM5{KvZF+?h4o_C;?pHdJea%60NJ`AVslDzjGIB=$Qf=O zgwq%}F&TW55=9*Ql+@!&wbHi3yu?nEWkEs$@H)S31BWE&A>oOi-q7HnnYYH;m5L#@Pn$~1$I3%-jA>X_$eNphLow0&&>Q7*&f{6X9|ZX;SH=lnyJDWFH;Z2z3A zW{Hjy*okWjWx&Jlsi*#mBU(g@CjvhyBD4iH93!t7eSZ0KY-ZH6dxkcIT_H-JKo~4k z!e2XSUi&b3sdZ7nr-rh%%X@F|mxo@Ssvq*=gW#nwCdSv)fG|#*x_9Cal!&fT`W8zJ2?&phKKQGRk}*h zldsA)h(#saDEYe~6pu)^XW^_XyJ69!R-Q+6(o4z?yE)ZQ9Kz!Fqrzc}Oo0giQH0Co zKSj?d5ZZXtoOwz5d?-Pbn$0j!Wg~>BJ}3V zR+?6pXS~?zBOYhP-fxVB*fGD|-wLRa@s(9v%caw{eV|{2uRJ{dq$aC+?4bGG9sUxn zNMFt0XViO+yEf5N@k|0Lsz9_BPm$uRbK?DgfLwjf~>7ODmJRRe9L zir=+V6!=>Ym9aZRsgg-KP^Ev%@KgzSelsU~0&29_>i_&62>^lq?RJu6)yq0dtL@)x@cVX4J4rqEA&CT^DoO{D zI6IJ<=TIp+UK=IimK_)y7|FBsY|7ri7a!t#d{eZen!#?zJ-g=HyxfOu4A#xiSgH7~ za=-!Y25K;J;PpFt=Hw+eoC<4*d_SJE!Mz=l+q5fy&gNEf#C;|nLQo@A3xsy^ahj}C z_AKb8sk5ypC>R8&%o;^|jis&e4l1W3GR;yvqF}B8ZdJx6N2W%3=C5L7e+!!#Nq5({ zsScnp&PPCuH~~ujIM76w(O<=ScU!bSWO~7MDyN_7!RnVz?;WO(srKP^f``T_w*&cQ zYYvA!P%V=o9s^vJRa!Xs_a8|->MaIdjmckm%QY%|U($KiQY+VLmX?Y4=vc$>|12Lo z4f>)yIu9BVhS4*2z+-7e;y|F7QdfTxB0{bzBFL)N5wG7F>v~I)H$n*Y9~QR8EvnIy z=EtEJ+|kBh^&rHUd-?YK&%6a7ia(OZh@~=4)q%t3!WxDue0*)=L6Y)^kNna&k`KLW z;+^SA1^k~D^@T|PTho^II20c{>O(9{PfKg}KoGl4v%>`7zd~IAR!XpS^V36zQdJ9;|s#<;)82&uyHeq}wp070^{E5o8 zdOFtr45Foguhr&+uL&zIO{p)g^8DD{I>lRIVPSHkDWJ_l;g53tvV~rMmj<+8#A#T! z-@>OmFb#vhnT1aJb;qP)I8C4Vool-A```JnC7`*kBE;uUfpAt#?1R6OyVYADXa*Uv zS1A!pJ_a2y9w5od5V%At%`8i=;Kkr6&_93BcZDNYl}f8-O-|`4B~EBX8vqi)K2;O4 z{!9xA2+7uXgy>Z@@EVpTh@E>Z_?vIW*1>frhj{Y1CR{#=A)U z$qjH{Uo;S#^XM%{c}?f6(cORf!9@TE%Febn>3t^esW>+`J)c6(1ywB3xW3)}rn3slpJohr>M8wL%guK~^a!)f?@z_R*5U(BBtvZg_| zA!7IMO<})3ZnZ<@kJf8dcO+JOOjhjty>2y0dS4hng~}LcK-htTBV(>?f3sH62d#@+2M|5j_y7~Eb9vWbjcd@yzQ7J zEHBx7mTG}`b{LZ%00?Wz#g(&%n;MH}oujzSlL+P@y0WSW>dY(|jryW23I~C)(9*YYG*-1u~W`F4n&2?#+9#YK#-^qq}>KY6vPma{&OTQDVL+FIs(N$T;*F z(xpu1)^m($<1Bo6d3_*g^7BE3hUR8lC*^2Z8$Xj#H&2sMH4gmTr`3ELGO04d1%*tI=mIzV0m$Hs1-XiCmm4W7)ZKILV(E59#ISV|N;I zh-ATs{*mxXno~8t{PQoZ)7NI{S5S2;7oZB~8@{ORx;C;)SD}`bVrSLN(ZO)er*2qN z)93wO-}hyB0NTv7(D4sbfelKaxA+ak@$>Jkcg347g7fZ@-s_lzx=8B}e|{BT{Iyjj zuJxrF$Lzu^Pv6+uRPy=5{_s#^=%L#wgE8MLivt> z1&$%L??YXRR!mwNde)XLZxNn&kxl?q7RT0`gCNPf_}K{FKhncmI`m|KsgfN1MO<``x%r zM}is;H*7mPCv2zt$G{?AnzuBxg+WRF)x zWOw#a7Ip{+E(KAK`8GQ^GXvek2v$%A6Yg)#l4h|R`;#s(o6`7;cR%XSwaR-gK8N=G zz!T^!aO?FvgqNGAeg7=YQ&C$-mFLp$RDY2E8570+@1jtB+ZI58`gjlijJ`CCS&T59 zpFBG^=!>JPBIh&FY^#zKcTu}vP*k@pR6dW}4yo0;n0Qq)gFo^yrT@!1xQ z##!M{wUE~2k@r)zGESZtT5-*E8ucOxN&mnFy~0~EUD9qnlU5blyMkQt@^*A z)muWnFe`N1HDv`qFusc@pgHNyj^d^&EgG|y22yo>$GsTu!$UvzmIbz+O~vGj?bJyR z+BR#(50w)&F-28uQ|*_#anWbUbP-^sjFa#LMUHaTYg0nu0(FWuHTUBfMtpT(IQlz4 zQE6DtdyLa?r#&KT48nRT(5o+{M@YPTOxE|ZMZ3pvDlL31%>OM(E+#QMMo{{hG;1-- z!drZWd>7-9UVrHr7n%DWuG9>9$>vjEdQDfw30VQ-pSNkod@n-xxu;H3EVk}G*`&*4aU+g;F49!mx!xwbueCkk8PPV) zK@LH14{s>rElJMR>)g{Nj+%xY*CSkdOMN3LA>T*?1J$L|af!O4v5%}lDc}EgB)A-I z#weCwKQ{+}>IczX&n;(DAHj{yr9IKi*fH6EtjM$df8~j~{XxdbvDp7QKz<&mJjf*` zH3^Q7#L^e;5^W!bdp4Z@z;yGsH;x?XyGvpPjHo^cnOQ6}>$=mGX>Lsk!9+*KB$-sj zF21*p&=}N-O+7h*{x7vd|XB zZU3tU?LLuqr`C0<$VirWCAsQQ$oPf8*ooR2)QiSJSdaS&R>ncyy;di0Mab??xLO>q zOEfDF@|~d7(t7o-&zA5%h0e_KUXp#$tx+t@zkRzhUJH=3b(*Q9dnRdsKHF>7Rp~Q~ z?Ld92T$gL|CRsOsqlCiVWfL!3Vjdlpsga2{%(Kh9=^C7VH>QgvE^YpQSnSz$2h)C< zR*tH5lJBO+wM4UX^;)`zIv-psy2mPcqo$iZ{d{q;ub=@&HVo`k&df#1-!(CBob8&L z8^U?8LOKf0;$8}o@;*sX@7`ONQ?g9%+v2nn-8V>Fs{=&Rq=s<4*yvXLGx|VneQgmv zr#pax?0LwsueP8;aa{AMFXY(udU#o?2z?^$8$=T)ED6@MIG*6tP_!#*WbpHAc@o=oodb-;~dnt=MK-BK+Cs2t`q5TfC!+3&QUrs+x*L?EUiSw&u@!)CrvaeF@-z2t3ttMh`Eg;LkE=q=exVi(~ zoF-~~$Tsq_)##HoUp(M}5q5?*)$Yu4snlYRl(50Dxn0o7JIk!Kh^i)^hUHzrrL+}K z2_z(1uB=9$3rSzIJ+-GK$zVM1Zqeexat-{A`oZkpk+OhC$EBU_jYe@>S#2k}qU@9^ zb3^t4nqxO0C)KqJPhw(&xGISz+=bp}MbG1?c+SBJgs55A}uDj$^3&+42KT(Sg8~d)ZdIKXJkvSPcAs=nedKGOh5%>Nv zI8>q0kscJIo~6ip%&IhI-4G`u)NsW|Dm;ap$)9|S)N3y=!FaTO+R*eKn%J*XP0dtH zV-9el8p9FS6;F)aKmpTt)ItgA zUEaX^JU_g}2`N>8;mcYi0dv1UGO(^!2t3qq-t(2@#I572&-zuVG#5A_tsRNBVxT57 z5jUlsdPDp(hEN@|XuBjwPd;*@jH6tAv~}`EYEn{t_Cc&Frk~m-DPieRD@o>!iNEuR zp89wwW;ry8*n=aL)SnOJnod!X;*R9Pk6ux3VN2TOM6LYTm)e`4NKU8Wao;<8ht%SfcD_QTOYTj^_9SS^uv}GX=ioVqUjkJB!QC_X0wP7 z8{)PXgGsV9Y;Mg0uH=mhn?P$gwF7Pi{1A(Q9(Y$8T;PTSEv z#cY?b-t%9pPR|#3xpgV%s?*zqY+hcXG^K2#NhhTQm)?=ov)E;ODz z@(rA~0j`vtdpdvu?u^#D4pia?)GH_=M;5TpB4!AnWehQ7(3-&8V1T~owsP;3jn*GGorBL^RXtHOcG z>MSvzHq;k}X^)=cEKMYLuoHmL6!a6%^uqj~q_sUA&3QgEPYfuhKRkqT7|U#xkhqqH zR4mouZ)oab^R2o*Bg=N`iZ% z3`Y+Z5W`V#%y`xy07#|FDVOGc6QGnGW>yvMYfqX!Je!r4D{vtzh}^s>kxOM!rDy`WH%3#LMHC;l1o&dW9W zd;NdhtDdC@?z`C%*PC~eXu@hpQOr-)5Gw9ZJdb7u zW1)Ccs9Bt9Qn4cOOAzGnCyB4YQq6IYGX6<7*U~Ak!>iDjM^R<9RlA5hj~%8cC^HPL zdz&P?hnP_*o>6pO9-BWN1!lLbIIh)H0XpUqUT>jXOsVu@09LaQo?TT~+$qnE3@g4q z9IPNmP}JFLHB$L~*fvw<;Xr3&v%O8mTEmU{EdfP?b=jg3j8^<~_Vfh4N!!q|wa!v9 zIwoET=1!>$^3%J!mX|yc^))QbFrL%j)~ObIrn3N&^%;?9K6MG)$topV)jGsUhjsTn zC<`CldYZb#nu0;5PX38Ba(sE@o5_Lcf!GarUwY3CqwKyLWfvT;z>;k{)JtOfGxw#( z_lr-?H_7Wd@Mf1#y6h&y2PjE1J&$i;bzK(0r|&!}TlLgCrrbPwXW_79rrydvu5De- z^)1VBoOh3^oGLF`+IPBstINW7?TguOmW+i6t*Ra5PPO6LL@k>4dor6{JALuKPX5S4 z-TX#>yTCwJ>^l7syJ|arlbg7{%>3BFu%$ z;s3Mj(pltlnu|^q~Wta9{B(Zj8bA?>cy^izs<9^Xom*{NTEN$DR8vk#hhWh&T&EoDLLhg2GT zZP`c%=S%b=s&goDC#%Lq9}&{mk9c!m)Yum?<<=7PDxf)1r%$P}w|;ElputlEl~+rw zgH|c=T_S_UJEu z2a`I5;a!Z{;!Y!c83lpOH6NSR7gy5p9@)^ottpto#HQ%xAu>5j@yVE{_w7irp!IZh z*x8AJ20AKsznQ~A1Uu541k|C@Q}yW$e~o!oO&Z#oJf**rdibtM$q5)GH}9fV>#Nfn zH>H@sUe{zK$@_KmWH!oZu-h^=GDK~eTtAm{a~J?Uhq3Km+Y|R zK?;WDHt4p9qAFHq(itBsX(rp`L>sRcs3we8-DxDWnFj>NkSMryv(K(wiIsKgy&gJS zXR8w>y1PL&BU$%?Ee_;6ot9yc8b5;Hv}R66UVSx?KNQX_t5fu)9y&N%K%Q@VFlGCL z2C+4h?eMa#Z2}xi1?B3jm|h!(XrXK(|8>OKj*2vGi{t(mI9 z#s*A=G3kn*a60i|F-n)VJX4vN@FuOzZ)({V9DuU&i;-Qljo0dC6U#neGYq>&Om)=; zhZa6Anc%1uA*WBgQLM&39g7V1WV9aeniUKtDx@+iTvSnsp6>ksi*Jgo@k5>w!A_*t*(37(-I$PTBV2K@SKCBy!lU`Dj-`1>s!0>5$opc zDTH-J0PEmgA1j=ASnl;YqVa5i5jxD4a*7aZGm*BU9$GxxALNkUFeVJ8OOlb_U3`7w za@zxqT~;U(o= z;7a#zfZs4QEzWWlu;mwxJ~aCKUx>)QxON84)MobqdZhMIHtZ~EY^fp=PW8wm0aACu zudbeZmzTqt+BX`IKFBVZw67TZ$lI<6u1!~I#JI0_6}GrdMfG78o|jjxc(L-p`+&0T z@MX8w5?C-@pBWrr04$$oH`(b>)q?UV;5*Y}Xs?5k^f@6Ck#}UBWKkjnJ_OZK3$uUE zK;S!-W64#xVP3@K7N>fPWU=xmYadLn=$YT%Ipn|@M>#o-`nJNYj{{mZAokx|wMI{l zsFkYudwf$ZS6}YWpUzit_I69-*CFUMWt-?Ma^7X;2bXi6iz>YSWT8^Hr-$`=Q~a-G zJ+DmhJB^J}+2wR?#ZM+BTpqS)b72Z(rM4m9DErXHhzp^pz&)WI*Nl8wPX>k3T9$sz zLqiQl0V!J7-yGZeczmKfdxZJXT`V#B9_6&f$tFhovbwU-UaMQCd=B=ZhqC6F6LiNB z^v_ibFS8z%q?6Oeu|Mt)?1(4|zQ{$5Fz5#NV{L2r+WIqNZ5agXhZWzaZH~q^*)yrS z>)obYj8dsqk(%*ZeR${4A#|WR^-#|&Skw9Dp)rLds#(b*CA8(g3P^^NB>4(>hsmm( z#C6X%_v$2=1TYy?&|sz}zqy(_pLR(beNuCIx$O5SOhOSnh&d#T?r^TDc;}_}pzR5q zf-uKhl0%sbMmMD$&rT_!4fR*{sHD;S>E2~g+nt+IRWgq@z~M!OZxr!Z6=fK+7;Ei- z$7*JZseVR%?HqcR7-;e{fQ;|`YcC~lB*fnZ|$`TiwdfaLD`4J z1O}o4EmA0SWFg*|ANi?KzuU#H*;qIS#V`);_|f&QL>??T*62Gk6^23J6zY}nTl9t5 zS!|(uOMht4lv4Z)Wvwkv+NYE!UUJ+KDz*Lr_73M-Z+Y9|!np%Cjmkpuw>a^NubY%> zyonmWW7e2t$;K1RFNQYW@O``> zYUxCym9QUq`C86V&t6i@DEdQ3K3to{VF3AlYfgM3*B!0av@#oHH4KulJc0w^ge7?y z#Jb#HcG6L=T*#Ly*-FzC+06G(H!yzHMB5MYCqv=;RYp+);6V=j1d5tTRL3Y8Y63aG zmNx^dHY3}AP_dm`Y@|K*4h@JjZKA_XLC<4RBO7A~BgM{A(4s9a4X;nEp}d<=&1wA2 zn#BD>NY^ktUE?t-OW4bCC2C|cx9)OXv6vsJbdqR1z+ORe-;@!-s z9v;11&{U+Sqd z)6#ougNm^?XVOoBkB$;=D(c*qH_=ew^W%x99^X{z?|U3fIV@w(#<2PMPl>ShENu)w z3f|r|aONxsyIw^|+C66=K*Q-r6=ciHe78E|Di$0&k=uFNHRh!Khb?*_$_Nei1kW#m zv2G}yJC_p`j_M+D{s!=(W zu*VGPZWM5i#$|pF_ggyRq@AL+IMX=?54)#Z91ha-tue;a*(;6~Z-lt*EK)tfCjQpz zP|1ZiM}9aJ(^2DZpJdoEQu{38Fsn2Tjqdw#^nlqmt;vtet_H*xCdV^qg?pbm$j8EL zjaFXs<9(j6rW8aC)-peh-U?|H<;JcV#GWNZV7-g5r)%-sG(uA@rV$k5kKWJc_EVz}hkIV)4HN!xr*2l=S*Clppn!DN3eUisY|H7*9>4ZC#M9akZ~Nk*RAFpJFU7bBz;pZ*i#Smy zIM{tmY2URIrU!aXg9%R#^7KXX9$SNxW|QQ?69w1)sS`9cF~&+8s?rVcJ$dUJjm^Tx zuS2od{LJGix7J6LznDuqRh!pqTqJq^N7hu}R|FrpyVO2ACi1SMjVQg_a;3f59bpz(3GM#=I1K8G`B* z6^t)iZ*`BXc%;}J2rpw0wwOyh<4T54k#Fm(vO_(u6)IO>dw!Z(IV2@Hh71691};)jKN|2?#&b-KCbA&??c>Iw2VI9L0f{sV7s(16$GAajtQ z{vd3~q}Vg#$m{n+y1J_EMK^e*j&RhE_CY_eSvt`9gD^<&rEnldt#m@>I0Gb=gF83n zOqEqKmJKg-ZgHdp?OlrK$*+tRzEv#weUUpdK%W&_q%nJpwDE0As$k>vz{_1=qU=%!pt2g5hpx1s!aNQu~+@;K?^qNM~IS!agf1C@+qWY&Tcf({`lf2dA> z$%<ctoB>k%Bt4sx@&hW$!CCK zjf7&ySc1qyNZYBQiT!R$_33H4U8AlA0s4t^}f}NdKHT5}KC7DCc5(}tQ~iZYvX0krAS06<$C+ua5Vl{L68s0CQN(HEq^b61 zz0B&8TkKe)+d=Ag5n9l+z|Xt-yE->t>I2Sx>|I6d*%1p&$kcYYF!%1&-pgJ0)EKj- z|MS9MU@-Z%6~B0j&IyWJiOVuj@OaUsbw#%I^p2K6;En2!W8ODjoNdcbtInrvha*7n zi483Y?Rvj3@wasXhp^etP?$A8) z@D=jF{{gE0*%hpm7S{xM;J5z|UJup0ZqJOxvoW!l*W8(yM_#s3T%Y05z6^f~lMbVo zG-l4et^mW4{Gx-aKSS*jLWte8PF>cWx7E^uYUu_B9N+jk488k=JyM8oa(U+H5wUZ4 zjz%n3H3=)S1`P+7Rm>vwjE#*CHZGi5jw%91Nxl{;Zq&1yQl=Vt7T0xsyB5Q%SLMxsE0sF$&n3vQ)$rt?<_JvDwuFRtE&)B?OC^u695G5+lhLYxDi%*6sW zbluNb{z95~*}cf6e0!BewTS^DMoTwX2o<^bi=ZPF)0&{FEpO^smp=W=v~}c&zkVhj zkO5{8{)yI(C2#6=;YwxX;^7bR(88NbzfyNvUHFy;a+N&oSvw|G^`7WF_v+kKUfyPr z^L}Z^dTc$Nht#D}m>v?AlV@SPw)EZO6b&n%q3<*{YBX zTA)#+fAM15v|XLK*FzzO6VW3k=qPmWpc(cUI&ju_mo%*RaMi=idK_saMqibmE#|3* zd^%OH4pCzyT7LP;hi?4zK3=^QX~Js*#X%S-%^mC)gakG8g%rJWZ>akgl=0X>!%Zep zCDxASs(_GWlT}!+*A#wnxNFAfOrZnfdP-8`e*pbt&r+o+0lzbi%OnYOh3NU$yKxtq z+Dec)AP8n{PEF#qPW9%|4%@g+z^B_$8zk=2z(tAI-zc)5UG1fc&mVbB12Y}2tBYsS zI?61X#vMaGv}T)OU#r%NhXS`p7ost-!p=oXq4mWiYHj_XEQIvOoqrAjymj6J zGC-(*$3#!tU%VdCt9kF4WgpWv!(iXgkmue-0TWE*W;G}SD#Odkkh2L{g|x}JyOjHz zkOCPj1zAHHKlV!4$=W`*+(4{G0D! zEm9bNllZ}U`B!zms|$>etk-RvpT-?m!)+?`uW#Xq^o8v{m%unk%rz-v4)T9d zU$KB+6~%We)ogfI%TeOP+QjD_b-_=d|6zl+5KhvPbkXQprM%o+hprnC zn}B5sXa&^7RF$o}I$sH*K;V{K6%I%}#$w(Qy+eOuY){xijemFSlk9iA0AX8D1g#$g z1cAns*Y{X$C8M3G_4qKeEOW7qDzRa+gv22{pks!P#5($fHAj+Ibnc?A!#rd&E8Ywa z(qhfL?ddpM>STx;|9#3hH8vuKTeGtrE;u6touX@BCabPl9pE;}M?Q61t6P7(RSxTx zOTzCxWcRa1UnsFJv_rGnHlamZtux9L-Rv@LSIi=akBrfkE#{iS0ky%b>%pcxcUr$0 ziKQJr8-=sDZKfq;11?|#5h+#VuIV~w|6Ip9GMGY1Ni#!)T>QsfMxx=^&3|T6hKFl= zBn)}jD!_YSglGZz-WAPoU!Fw`*5~A!6jiANYDWr`5n0y(!!lhp&x6}rXd<4OKNUFK zq|4rH&CD`4(GunrK1)i%9Wn#ee+{bNU%%XKrb=3rW8X4|^sT9uw1!BqoSs^b+tw4) zT<32C>n5c#&kUjDdrw!}CAMs2hNUqp(%R(su0#LA{tCy zsyfaChn6SHdqx_u9*&swCmTE7%}Vd;)}OFNM{bljq^^Y4`zUSaOLDbeAf0sY(bhSZ zO~H9Y1aTuq`AMEsP{Il1B^-j*s}S~;ctGk1&!jZhBtBW`;Y@#G(OBRhGB-DAB;$c{}ztbr6qpnl1M| zqdzUA&SV0o6&DHkrUE`bxI@Mc1C)D0hMN-&C>C??9?PYM1W?$qf^ztHlk;X6Ff|8l zaYhze{HgvyqL`_Uzm*rjNL)#f6%4+%)vt-_xHlsa`sgib!;AH?>Iuna-&lK?DnTA0 z9LolGoTGnnCxp0O%uln*ZY{wBV$L$4%be-?f%d31$(K~^H??&m38nQhYqP{}Vnk__ zhOX1BQmUx^9K}aeL{6_mr9Y$fFOa0vT+~3gQAZ3>kN$N2L{pRlSCAs=J=fiUZ#7f{ zn(!BnAm{yyI%!v3w5O*2%M5em5y2A2Fv=A39pIDxoW>OC1J37T%AHNcfJaAQKlBHc zQrn)leSqy(^Dw8rXaegfUh)+08%hdYSZ;tUk%+&nGe{pbT59@*)<0rV?v8F5n3=1l zo^zfLUs1@tU)d$?IFg0f6pW)IohH0b?QnPAocMF^rG*c#(d;b4+md8({FBm&cCXE| zL^0<%^8V7|(ewUenSMy?JR+EH8mx*zOwj!G>cxlQ6YP{> zKxT&oeV8DpgjWkNIYUMQASX#(ND#j=uMQz*dEmlQZoJ&0|CMAw z{)*nWF|@>L?=i{td8?xID!mC+!&A@@Q}Y`Z9kD;~2S$78ZLYh=v>2v2n~Dk=N$Ni= zRf1tu@j9F_U^;Owl_it(=~*`k2}#XFMk;G$Ixbtyr!j%EW5NVpzTZBvO83Mz+_kF4^ho^<8$Xyj|A&TxeSe?VY_^j zsAY_$85kI&g00=0oE!t0!B9Z*hV>QSD~I(!(W5i^RObT|D>QTy3;y zF8vDY$M_#T|Ja^*dbe%i&8S!l?Xf79@E0PApgZjakS28ovo^se{lO$jyUw39@B4{9q}bV%<^^lII}oYPD)S{i}>m<5s0kYW+DP!eJcwU zyMkeSoecJA+(w%?8Pa<&yF+i2dwsA?h7ocX>tSdfxVwqQW>Pc;Z$_TVQD9e z%GDyGZ8Tx=BBG=>$|4xK24GAd4kyB zF?T0$!-i7jH@G#G)XxcDjs~%m z4p%~Ad1hg%7ckm88ou%ObXoe4rbdsZb#9$w0CFDICVL<>p5lyDd$T~uX1QLaVqRVq@+m1638?aNh2>IL}LWnu@kS6_%kjj@Xamjc7U5> z)B?$?(-R(-7Quc5xyR^+-JV53vMB+p*3drj-Fe1Z9ygy^X%lJMTcda?wvGW z+M$Mb&O}%D&b(SEp%TFiz=M>Y6kx$wp<^H&$gD*MFpYXK+8z#D5xD5QB9^0Z@N12e z+Zvkm+%kc&tx%7Bo$0tC4jI<8spz#YE=Fy*iggQaed{Jc7?0zHGpRz_gVQ1H?qyM= zrb9H6F0^f1biZbp4lB9EetI6?JtXo5luLDxi0EGJ1qrX)ZH5t`nbO7AL;&`qr@M|P z8lJo#qxmbqVeB%OcNk;UNEwEi7BN}KJIs>E@!5N+-vm=?dujpm{N@7vw}o~iZgqtf z{|+{sp2<5X>9``flCMZ^D&@>)c>5h=l}Yxc6%qRJK`hkNz4BG}6*_AU7*e*1GsiK% z_UZDUKm0e7uOKnYt*Zod35iLl!RJr;&V$$p5QNVSY%N?#;KV1y(yI%J2D8WiC+7GQ zl#+uF73) z5QVS4Z4!*ZIc@C>5#D*N>&LPC!&NIrBa3|fJbT&qJSJ9r(k?+2`_9I@a z(2FFwuS|H_5aVFqg-?p1(@OGuKvVwvuRU)I01%;X#Znook1}6S()Ezwrd8=Z=`I5_bRlar>8943GqQDtZkkpD9@z{X^xc13e>uyO%t6<8 zU6v|RE&df>>!li07Gyg+$O!biS%n=ZUhJxkjvkBSB!B#sK#FO^x=R~T%5uvVQ5RUB zhGu;;*mEOD{h7UD{#Y4aXF4DNl=k`TrZ2b=*rv6H(`L#V^S`T#_o(JE-~C6~zBWyZ znjMJf)Mf5Yij_}{>vMMBXc}^cq;@kVUO9Vun(!tfDi!NWDV}n}Zt;Ho3l2BFxESyTF6KG!*au@6^Z5@wqx1K#Vae+i}TMOmQMI-OOhkX-jN9`Zo|k1Mz`O?XrJi%lsmr5ZW_r3 za!rzxX?x~`XGlU1pZ&N|(gsG!1D)|G>I~}Eaw6+vlDQQ4JSHmI_rm_6b8T@be;;jX zeHX6(eHOZ|SQ!(cXi<)6;~|Q*W2!yY7NyjTRgcogRy6)6-s6y(_KeZCP7`cvRvWB) zVdhf+uPVi+3eM=xFn%^0J&_Y=QWZUjO!vIi)@l7Xr1$-aVZ$n7)it0_tEW+7d9By% zs8kVE*p-5|6*5U}FF!c9dv_Pj>5N-r`e*IZ<;nzyZ){*xYb^y#h948))ZNrlM5X2G z_EwgZ%(E#DAEdVvgjesJUb+<2*B8qDRJ3?*Y}6Bv-8gEUD&^329f7Kc!MTz9vd4Wr zJy_KQ)G-Ti0a|>+6w*G2;U+qDqGld3Pq^l}zulY=)YYQZBOZlibz4fpT)xQnPD@* zwWsTjyCq~M^!L4T9V$qvjOwI=${9m-TS-Qa+P0`cg!ttH0aW@91`i0BB} z3&+J-=E)$fdjgXmjoQH;=`8fX%BNvv3jhya-9x{=fIe!7Xxxu@w@5(;?FGD?EqnI; ziz;1_ZN5w3!~Dd4G|(@62(vx?KzCZewXKXmF9g=?6EjOJrW%s5!Ib*qXMFcle88V1 zBm~fTADY_K&~l>=5k6xFLN8kuy!T_eJMu$R*->M6!YBeb+p5SSwcmc;xM{8!9(C&% z6Q#Yh-L*u)C66)EPO-67+hfUA0v6$UIl|32;+|pm+Kw1&qg`#$F2cH74v^Zfx(SJE zN-MUA9IS7F-mjJ}^d2#JrfG6Qb#gBrkwBz3DF9V;ACV-hcQTBAn62CD*Y#-uXfYT2 z)J&>qV_Sy1$-E*PPIY4jF} zHh{r*5vo%)>JPyGuE*N2;CnA&vri*oOdkArAIJX-y_sHJm5ir@0?ijDwbu`;Gl*xE z+_hNOUsI~Gs=EWqdgw)%naQJIIGt&*V7e>s9+DLu8MJ@MF|aw!BDTYXxM*{8EU1Ei zsN#EiSN7Iv!t!F1PsllDrkBmgl&(0E4``EIqvJ6rkCQ>`jCu)-5|bh?9K4TK9kqVC zM4!x8#Gz9th-kzGd-H}pVU=o}HlxoPR+(brkr-2-6jMxG8Evt4{w!NJDwkGORuVx4 z(rNx@+uQ|KP*6Oy_!Lk zN=3qen;Qu=Pd<_8u9&SUqN4AEQ!5Wv)#|PR*H1Rg{5-r543T}h&WN8nI4Mcyay3p9 z&fAPwAVNAC2*!9mT^ozaOv-^l22v`!GD%Gn?q)ofMt&F-6=kX;&Ka=hUv79C+CV|( z!FtN3jF1R;(hafm*r+?jB4h*0dl0NLaO7b@SakRH3jk+mD4VDScfP5>xTaOIlH{gn zEa*8iqXQcK7H~iJ$eMkh_eC9ZGp;ijYACZ?b@68`;1(CaScu>01bthkLD9F0?hWdt zX4eWwT?ZmM$i6rz6fz^AJ%UUfLVq%zz{$2*qSbHAGB$~@`6RM>!gN7AExBEGn^3?H zQzsmtrUXlp3)KcZMXF9bE~qkFU_PP55igl$n<&L3N(~ezzxOk|nHuSA@yZX&H-EtwVvZ7rqtupr*%=|7y=^E4N z56l0guL~F@qqd!MpL!lN$~e}iWc60$LDOE zD~l2$E}oTd1-DmKljY5-m}HyFRyXC!8Y)4L66Nvv=q{t!Y&8dvLwqN3?5894hqS{u zoJd#4w(H2cF>^q@jKLDLblPV8f)c7qj5mch55+SEP}Gk`IL44u1%sUAJ!H}f?0 zKNd?4U6i@vJ>BnY!`4Equ16X{t8-gED|df{YH8D_7tf(S;-gYe&#|`=m#_Ig4xY`; zPphw)3`sJd3!MOD^G!vP&aD zV(VSp0NG75$Im^gJIrFwS^7_)fophjJCNEtCyJ|`)Xo@`mBg!;d5kSw1k$Yrc)T;u)$L40HqDhK z${-$pSoRC%gSL@eCfAwe?aQq2gR>zLz%cN}QlcbJlnut0TrqZr8DNxC*8#{LUhyoP z2kNt8#M=nL?rv1bI2apfF_^eiZeg~y69O0jxcGRA=^Tqk+lA>iPhif3J8ZqVcygiPmIVc ztI5BjeH8~?I0j&!X7V{mx8yyc;;)Tr(7DlOt0reD>4`%Uw3x{Nh zyNkhXX_YkoEv+&2#0sbmg-|SjA_i^|e1W2t0~#z9uK0Ryz|n^|0(tvwsdx4u^lI4G z^y4wCldI(x`{9(@MSw!LA_ED8w#ZUXR7`hZe&A6SQ^A0r zzYUq%wlSZuA#&h94-_OyKj~W)7#$#YqlchV3hSlV#0@x?4bm@l6zytrL7*}AN!xBq z@9Ypc7TciYGL4>{NVVoVd#BYb?YbA0#2Kzs5x_fym{l^<{Dg7@(qIxuy9>Yw8RFyW zUoHT})T-A<{eLNdCy;~%yvG;EMtY-988n4F>YlA^BJS8?>w%1GkUem>0Jgef!%w9N zUI>6FDI7RFpbhMa*_o#Jk6Td8@x2XIt1vOYRVxWK^L3C!1Ow@8HHrC4i%j5Uz$%TJ ze2uGub5=O5zNNKyZF^Q?69X4;uT)N?72B|VGMT=z-`tl_9iR61JH%>t+ph^>B>~Q{yi9N)Q=VOHfQ6t z|1zZ7E~cTr7Gu-qzJgn5zI+_D0mN`H=?@2E%>uYy+p?$HN?%<%bw<^|?gT1rYov4T z>OsNR%j->QB`G{a8H>y|AMAeeL((Ufp-iL(B)sB8YKy0qj9vhgCK$6ZLwUc!< z_aOpO^J)(qe=c>jt6 z|HO6L<06+6?Fz%y-!9WH3~ishp~2t=!Eu!*y3R(*=e5q{0SS|dEgw3qvh!R+2=ogD ze&n%_;*@_6rDfCSi0Ki$`!ST?Of!>tZoJ-cL2qbhx0t8;qbvKWOShxY$o!Q|8PC~~ z;!Qg>pgw3Ox)YwgvT^kE?-zNMSSnww2#4OX+^Xx!_7ySct>iExCxy%MiIf^>kCZ1@ zHK7!jxrVln|Jy?U(I??@3Uyr zwAPMP&H1l08UzCy z80}tb=s~t1A~0G^VkxQI-Mxc&pXk~EA*YEQM~RT;4X7x#ux!eD3oJW&d-ogvk>7sK zFKNCu89HeWbuF>E(OCGsf`#RjV(aQ&dxG1x<^H&;B5pE6W^Y+dP4Lyo^NWS8>=o=4 z1soL`Z3yC?p5i-tqx%4pgSh2LE!)aFiH@W4$)0QsS1(z|CBjx!zt_Cogkg7$iQj%gV~TQt_f!HFtpQepfTIR?pxNc&%nUULNoeZ7-WWvwl3)!BNQgINv>f7F;_6 zjd-pJK@ZA8R~*O&?b^WoDDAYeah@ZlxBvOd6hI#Ks*&Hb!dFSz za!)Hf_JQei;%l`qY!DD&QM=5B{a8AEpx=P9sJwoza-Yx%eABPJ{Jo{JRqPcd01l@R z;_J2fuB|rWM@naXQI$gLp@q=6)+sRxs|Ytz9asynn&i|ahirNQRTGK*J7bnn}uuR%I!THMT@Qxb%1v1>e&|T%4YY0N;zR!n^ZnT(D0mC0%SBYQ=w-7|epTIGN$(t9 z+|ZbO@sn_C*gZ>EkRz#jrq(Y|d+>DctcPBef?Q;+b&2~C{OpcopRS#aq?+}ZFkPC# zEex8!=PhhcpJKZ*e`6>ddi39qoI?zn!EN}4y){U`nO{gLKq;aKs;S@gDzUVZ0HCb! z^SFzFS&boY%K57TN+y2ldDQ>xg+g1uXLGtnyQT3(WKiRBO+8fsC$vLVYI_cAPyd*r z(H(gVC8@ne!iU$IWw(X>Q$yCmDY}I}RRpVH(ITSNPTM{Dp8~Z2?93@Uo>xzvbJ^q$ z&*~NC&unv*V+UpZ%XI6XhrbFR5$E(M$;zzua4AU>w7>ID6u5l^AAF_)UncrOg_@&x zG!m<*!UxTNE~th!Jf~Ktwc6HpW3@%36(P*v=H(Z^9OlwCH*eB~15%P4C)v2uO$5F|?-jvR?aEjv2jC3Iog!m-#$A6r$Do}++i?@$?iR+TJfQb@C zmS)-ZbCnYICU!wr_?*){`^M$`v)}PQo1xZBoI_YJ{f`o~>7B~XGGHJTy;M0Jw)!oL zBLWjKKjLV`{&1v-iV%4cPVtXFL(gePto&%CHZr1~uV*9ET0vV%*j|G$+J~5DfqOH4 zmEjcF0a;>9=Xcfn@8f3S1laDPNfo-Gtwn~6^~l1aUrV{pA!wPkgD7byH1l0IWQi`U zJNvCF;yGR8*gZlKN$y9l_W$hlwuf(#7tb+NKW1*tT+C9;iYq4BLjF_k5ZN66MwBj0dJ znE#MtX`gF*Nt}Uos*#6HRZFPX2QW<*u8U0WNk7B^#0iuJveoPMI&a$*B|=>9`xQcd zWr(3ZZ&uP2j{m|EtJc?be}|UO!)0AHwU1pW8foIW_P_0T9P4x@P><1| zQ>W_q!i+p7=;oGrY3Sq_8Qd_UVsF#z_hD~5LLE3PIqE|XZJG+SSN;Alr;0}#Shq-` z^=Me#3z;#&o(B1Q*TByxcG`|+|4#7!;SjILY`!oHW<*V|hEpDTU6vAs)~SzVVdFHX z08IWD_3O7~*2Mz7#bkKK-2N`>RI1k>X5{U=gW-;`s-o|ve{4rcxG3e?v1xn3bH#Qe zcPPM__SCz%x3;UDUsQ9aXKSEY(<)g^?rC+j&WSwv^+qO_(lN>SFv7b!etQ-8t#e@_ zpbAw};^YPg8l7tPwUHA)32>vy&1r^1 zrewX;mgW!p^Iz7^I>j=X4n*ii$nHs*sWf+j%hfSqD!65}^<+1!$FYZ$NMCW^;#A>n``&S4%{ohP`Nk8sghtpj6PSr8mJ;p=Z>d8Z7HNd5-rYN+jtDM zaBAfhQUkD3V^<_)+5i0^0)9S3mdN|d3|GI2fmKA`uQ3ok$%%<;OiX&!27jJzp#CHS z-$K0sZrp2RPM5jdBAz>R*5}eZVLEulgjfp?edsh@eIgXW@!$ zkBk?iej(P4`Zhwp^Mk*{7aqg^xA=tYp>i_9@D-?GLyNKYCDXerYx)f`ug1YSIr=Wj z_pVoKj7EW6R@;`@%b!ly*J`C3)j%E%%~$IJV>Z{SjkRoG@r<{sxydoz_Avj93B#$> zz|3o?oCr0|#tG?hBAnOh(dEwq+?u7|79R6FS!H0N`Li6MuVDwzdrt+zPeeIttx5&^ zCcYPEW%nIly&3@@R+ED*Xg6Xy3rYBTDC+o$ypEuif$yr6eys+7VH`<;1KxZh$Y;rS zJKI`dJ^~g5*&e5`^McU5F{?AxP__)IOr-O17V5Ft>jv+|vZo(EK9`EknqSe|0qawy zxK1LK#0|}CK)c!Z5nqe^MHE|ea_TI05D`DIb&T@8--`LNeU{Q8EBF-*|0S|>M}D#& zM%1Ystwgcz%BRBj{YvVx~*dLDXo?CzVg|aRUyRWQ7O7@0?D5(Uh^drMkyAy zjhgC+a1)eloJt2ZIKcXhu5m2{R%p74Q-?odv-(%`=wSW%sf_KGq2;%+CPON#KU7c1 zIZ$^m{8Y?=bV!GMr15{sYxM{~bdNrcRAe?d`uNaa1>VRf`9>3Fu#+~vI+lWqH3Rp` zP_-Jl4Obnz4N2hA{C6Ig+!#pt>d(IaWAJ_LiQ`oY-2s=cKh>2FWtP)gOLA=e=$5+W z(WT6%)7Tdbwl#3D-ENL3DZ z)G&j*0`8t1`l?)pLqjt^^x{2|nqGvbegOvFKL{{+GVIE3dD3p;Q?2c~`qa2I)>|jzXW5<;CWMGBFaubp>e4;N=-#b+Ih!%HJczk4nWtq|I9fWX}3&Za1<g(T7nnh}!T9+p>|H;v zfO)==^dy=1zBt&M&5y;rW11HoywfTp%pI|7>ls|AhH+??ey~)sHswHVsIF=uT4QWi zTjbm_TAfM3fjL^*rWdCCbksla4)XmXmd#BpG1s2G0%+&2#;;#Ox6es7ZKs7m+-`-I z;D_0ef3;<{0gD{rA?0s8E)kp2Ui&MS(ahB#}GtAuw# z9gAJtsyaP+knv!6p-W`}6JiG{YVdNCr$Ibf=#K2r`98i-l7#d!^_E3OK(iA|jF}GN zed98t8cy8sB6A;J%dw5VK?^`{2s!DB+SfjHxjs>sc60#W`yK75Ql~pRs#|}dfXg#s ziT`IpUKu z9MAE~p`2Q=1sfC{y2rm-VSWj%B0=k_eG7;)brME$KWbRJ+QoE%hliqKKOzhDD5RE^ z6er)X|Lc(AC+mcPAD-06a1~i_w@P;v)|;qW-XByPKi5&yoay1~I!+AsFie_d*T3+j zEj1%^8ZDcA&D$`&zVpeaT21j}zN65!cUKF|)3bzk)84i~4TJeDUMh+T(8Y(ojLSd@ zS&pl(CR(im5X##t7MigNz~O9-dPk-9bzAA(dpUyDmM>mlgOX>j)vPgv#J7VPfl_stbmvKG2&^7m2_t1jl(eu&uvQKDQqxh&rp ztq~yD(KBk!HyaL>X^tqL-?GJYOjO!VE^S6BZ&s_-gEe3UOE zcWrIRkodai+eh&1<{dOcDeg9wc%4`@$`|d+PHpKdNG-^k6~WEjvSP*Lw3uGO#wnf{ z1E_a3!ae43NDzI@5_86OV3{OF#(jPzJhry1je%sF;T;+z#3N{Vp1oiT2kLl~98*Y3 zoTg13WbOEvk8hV>*V2RvU%u9t3;KV`UUZ&b6~ACBlEVzG3VznV_E}BF+v!quIJBq2 zBW_nBi!3yQ9la+MYj$g2pNmq{LbSt(PQqjhJYMhYKwz&{RA1OJm$sZhy_XZUgKSJG zmgaxG5l??<_S1LG3g<-24%eoDG}re@K8 z6x3sfjAirr{qfop>3QHW=*3n~Lda;`{JclE0C;+p!B$3hRPNaVKU3Uvn&8Bs+MG*L z*%}+uZE{DB+n`I0_)wtGh*nLSjmUdx$Eq(YuOGc0OGmV)ho%=Jr*)*-)PMsfn?+KX zg?SCNhtwKxH7zH@^$eS);C7N@Q@1|;40F7@agkTx;eT3M^A`>mD>PP?6o199R#8QX zbz3}Xuis_M*pDn^dXgfWJ6&4Vf54#6r~UXNN*Pfbn1XaI%!}bi`?F?_3*$bAzKo2i zK@Tz4Xb1)tRBz#Dvd(VhnAe?*+G|3TQH?LJUxcr|A0kx&V-6iyCCMX}^0H)Vh7bE2 z5AR2jcYWnYy5G2rKe&55{@f=4g~9}}eqw38mz~`0t5+R01CuB*98`DVXX%$RGe-u>0lk_7Irsts}D#b_F*DFH;k( zdW875r%wwOfD)3eN+#A}t@lIQs=6V1+qDDU9?IWX?6}}Ki>X4R8PdZ@etp=^Vqb$) zHC%$4zgBK2F$V2QPB&~7vS22H$x3q^l@bg=`W!24DP(4MP~0~|(I z19%fwvk{nZ6ZO%k9!m@%HN~Wts}S3@y`rHlKc{ z?@Jwv)Tz_*`y6a&tNH1;#hGZRX;0GGQu3oea?X_%C&bxbnMeqwx%MO$`MgERGD_c3 zJ!G>V0&YDD1wpFpzWQe@Ut^2}*kF>bV-1t}%7D|(j&IsTiTgxm zhlSBmPXpMim+q3Ul2W4uvG0(6`0lu^N(;+{Di_1I#Ktbe_SC^xiQlyVAdqK5Pnt(R zyrDaw>fxe;&t8kbvobHWrRqR)_+N1XBPO|o%pu5W*PqC|HJF} zXJG9m$B)de)7DHef0#@f`3cUrnZQWacDSH#v0dZLD%Jqhw&BbPYI3{$qzE5-n?LiT9}?Ni813_&ZE^Wxs6(B zW+M+=BvBVhm=9@#7l`q!i&$eKcH?JNdO)*EUznv@PjDh<^X6+KAjwUxlUdlbYW*m- znl5_>*Y63NwWeC{r8+=$VSVds>v~)mCVmX3;LnW5BT4NB5DBRHqt&cMvqLpmfdW4DziZgBY z4_k!(jlYl7$DO&@ZYy7+^50>g-%~|?9h^~}tD#e0OWp!|@v_L z+#Jf5c&Od52)+^@oho9fE7G|9hlsrgV(d@8I$EV<3*eq$8!ffRMO3`1-8P$A<@kAe zfOPaY->2R_Y;{(92?wX0XF{S2>1A_JO3X3B7F_z6W+<}7kLwm&T?HmdIw9`^-rFmRa;{^H~PRc zBlFwB*}RA^N2Qp}b2&`iRtf~3)AGhS&zNp1?D0QgVzR!Fbfe32_miw@7eB5vo@tpCX$`4NQvG=U&zkyt)9sasE4^;$x|PGWJ`gcG&~N z(&HsrDM6xwk3IdqF3AN;))Gra^%Y~E`qr)yvlR1(5?8^h$5HR`9+gb-4U+O>%U>MPRZd;|U;!@2lb(u7L8zn;EeX6oZLriJ44?$!Pjm~Wuvf-}k0u;LS-_*=~l0`2=?zjSs<3G+F&l6K&1phUAC>+Xw?RLjcvbTY+r!9 zsZM8v*CFNmcT(PG=u68oZtYz06hQ1f@ilkb z8?pYb?s0yX8|TKLYbzN53y-IUzg&@sCL{06P_unuh{9!a_O<{L2G@L!B{`*Rp+SZtkjrHoZ7$=?-{@p6vy zR@PNpfomDvFc(aDeSTA@qjJc&{8v?zs^U@p57#}X!4utKV}F?MUSWB!Z=0yzY<6av zcgCYP9?|mt&!AY|SAUIGnv1&Ck86f!5HM7eRhoyi9Xcs)O;>fnvDk*ZHfs3|SNmLI z0s;5K<&i-Bl9F%2p>c6~U(ItQk)MLIctquOCv9xM{+WFaRjq;{osgP97c5FFzjcnz zUw@SBzsaWcb=)Coqdmx@Jf#OwPX#3`neZIJmuY$kXOFvO+5^SIeB7}d#mNzs`%ly2 z_;c(Ck!!EfMM*AlznGx2f ztXBnTqJ|Hl!$;m37~(lOK)E?D`~9`;T_0pz2U|M4KKW=b1c=J?g5ZV?4;hZ3RCzLP zgeA+=PgMf3-(BaiA-{9J($2=_*Z!y>nOcRKV~6+*I9~w z^NApp2@S|@qeYMsKC=6_>_W+`-CtX`oncb-fWKonErN$-QebUs3sHTmD!;N~ezRp( z_10P0*>S-e-}_(Z+`IgqOWw0IFyVPqt%q zErzbH@jb5w!}pK}8)_E8YBtnyN^#fj;x2J_X*XfscBM)?8ZE!k;;NtNFhqxkMnq;&xxenX}-mQikm7u#nIUkYl zi+x`c4*_FtOcP$L8co&{FKU`l-AZ<+dfhTBCZ^D>w4MzT#eA}no|5@Um3xf5G(#)s zl6^HG%hkdIja>|B+}bRYS3#nQ7oQk>AQV!XrEMjPT~#ETGrfwJ1AiXQaECsN_9#Y_ zLVOm_H9c&oFFY0#Gy-ZB%y_uS4>oS<{bqDlMb|F&n3LjKWMJIH=^|-eF5S$#&QWRB zw?=QMSBhCwg1>!_=w(Eu5F1zDrzi?aJu|nBZ}GWBt``GLSy*=+nk?JlS6{EF@sx;` z25#M3%bXDI$MM7!&MRNjOMx~_J?Y%N^`Z75%Z=!~>x<3(@7og?|H=tIS22|mSM@6U zLzg|NZkyuLQV^5qH6W)r@2_0YF@0kFVyp9ZK-TM7rvU#^$2X?j5G3x6F zlhkO&FxuBy!vmVu^exlaFW@HH+~eoj74SCL0RioxKGS+7mBR4twNJSF0xRX`w z0PWfR`;rf!HT&vMNPjJ3%gvHs6%qWl*lN!;&NwPRxMwvuwcqG$yvu+{t0#WST4yj}=AOa--r5c40uZ5Eu8YxAqzQ zf8j>A{}S>Yh$bJ*J7%%#1`J3%4IjZmATgmG3wA!G^tsPBU}^m8Hlj)c4lY@W6NNnG z;-rR$=WV{{`L;~7rLKL!in}C*PpW)=r>_sD9ywTLC?{wKO?yr!U*iA&}P)VLr%HS!HCQ;>jkXDO)x4 z?3vXTd{8az*5wty_iN1=JjvfvXA=V&laqesGJhvDzOK$^1x}}`NmzatWq~zpj@)HT zW1@xFV0w4y>wyMBtkSZrIITomJPy0_-HI%TN-PV9E_LcnbX`jhr+nFoF5twwwU-!) z625z_ZKfgi+H-yDygox)zB*jy|L#Abxo|>KXvbRp!tM;gmh2Wn-k7)pVHLtbU4 zCi3qLc)P*R6vN<|@C#1_VsYzrFSWY^0!b&tNGu~=mg1Gt$#aF9ctz60PS91-ms&1YWij3{UNu+isy}jbH z%u}&^0IgCcTY)O3vJ;GizLQ)At0(fdw)+|o%^KQbgbaG{5&`U2Z=g50Sz_q2+$P4~ z;`~(DA@87Q*&LE~&c%;sbH&!Vb*gtMFE{LRXe;Yo>Y!nF?}$tL%!Wr~FH{+Du~`=O z-^%72o>z3{Ugfd^xqll_WHDdaQr~VRjD{>&7nNRqDWu4=fA6tq6rOIcij303Kx$vs z7&wu^X>yn!A!_5N>8<`bMoT@bU!r|C@QMbnYBQXc)>{OcrgaS81r|26RC8C@f~_CX z5EYN~e1?!}+929Rs@A4?C%R2ZE$lVb7EoWi}WjLGYy49HGg)JM{+?txWtV($zvJ;_CBKjMV z=DK^9o+Pe#DXeLH2mwFX1Pq#Vne^H8l)~(RXvQ?#y)nsyMNqu!Wvb-}1E%ZRWH@Cu zUM=z>(zvjFAA7K8Am|{|szHrj<()KGaSjpiDfNLJkO*N(q-1$z4^96eS2L_)!|6t$ zmIaBfl++$wl1t3R#^7EbE)ti1XLjl1RWeT)nCMef^aWXA6K2=&e#0m9hkTfC?0w4K z5-+E3mTtO!dkJZ&*0J8UDq#q8jYP?HBl^@dIZ;L*{aAu3ZGIWvc(^y7XU)@a<-`(5 z7imXub9M3i()ymcqw=#^{DBwGuFlZxj}Ork^QB>X9W`-0R%p!q>5icCv12HX87!pb z{GY!9=QrwprgiQ-=j&+-sI>o~`zh;lZwG1P%J{`^Wt)ZQPRO{WMTWbQFAx}!=8z!i z-kn}$?N;lpGQ^1HPWOb%RvnP~?x#fSL@iw`py=P#+yN5^uK$>{UiV-%C+nUoo30th zA#7igrA)@q(C@BDVO>o@BAa9f3?j}u(3<2Kw0+pSNRJw{YtNybh`-&EQfsM4A zPSrBF_0p>)g*lG(M>X$H=j5Lr$?MOLdN~V#Ij+cSHftU6s&aSA)%JHFzOvpbWmK*U z-0{t-jVTeO;K`vbdFlHlKI8eGsoZ#%_{OZp7LCn~MN$iD;aIE@a>D$gm0LgU63*B% z>j%wYAnNHOyuy8{tnd+ueF~^zX-#T1uu!W}y(2f#Tb9Cq1*N?>pa5x{ihyvS$Hzt#xa?f z5gro~44-TW^&)k^_eVqeU0L?Flp+tZ6yPMioljoKC>5{y@$;9+4?cnO#~RTwk62dZ zEM&P@Y(SA&&T4zzUUMHlpT*6dI3@r3h*{P(>n+#Vy``BuzpK>}&i+Ka>p)!M}q z>T;6MDF$NFUngBIa{5hW>lUEX>vD};>rv8r0nr{EohMy*C<-cM_gHt^2j}g|UN%<= zUsyY{0q;FxDk~#cc*;Gw`O_)>JpCPauA~GKnE!&JMfy990asCl&m2r|4B#0@@uR9G z346`2wswQ>B)&xI)*svzIo5YF zJvGswvsszN95TtzVm%i(DA4YQig$8xAKng)`W@`0I?r+R4jYp~JULX$28)e80~#_b zljIjQA9KGf!WR^{w95sV@jrrJi?nyQiKWQ&MDLRw7)r07f=08QoefZ>ePrMH`Xrux zYj-0<=OK3R%@9$+RnXGfkcTZewfq%UwLYx;`j3&7emSrxo|DAmrRo@B-J!#JEjMvB z;zQ~@aEIL87X?PF=4D3l^(n@$_v@|h0$m^yYP2zdxP@$7aM1)h*{X~af^&G#*s2QJ zSdv?;6I2S@RMw)XCSD2gaJjvD=A{)@Jht0Qe>%=OEQI^F1AjyACpdhvxbE+vdt~;$ zh@gzhiHXzc3GL7HT|7OKR+%B}nc5rGj2*}s?RfthYFC#vJmpyk4`b}Y&27%7Qc9_R z@oyE+Hh6x)8u>L3SS!f#11ZZHQp+7$c^)h)LU6GcP8t9|nbaE^R1zt#8(K3|xp0{Zn!FLyD z6ky62JRK=FF~sbs>&he8GNhVG^GDx7?|bSER`t_SaFyin5s=E#+&##f#d8%)s)Jhf zwuKq`))_H+oV8X2&VUdLETqWpv) zb5HI>-u0bCh+ZWV?w_cj_Y)QVr%3Je=|gts99h!x+;Odna@wFSpyxR+LhRGTm4|lH zC3XbNS=KY_%=KfcJ?B)IWH%hQ}e*Isrw7YD*Xp5pMN}B zZjekh)j*`}8N=fD;PV@GB##gu=ehGA4<%f6=SuSRT+Tu@u%5qvZbPlg76P>F!uOiV zR^*n(Ahr-G-N;JYnf%L436LXra?Kc49}2NhN)E5xrzBTmODg99BDkn%KcbfH8$4IC zxtSe*h?fMac3t`Y-CJRtnlIA5sKpXXu7d3@}?Q*tv9l0s5xJ}ka%py;h%G!I7 zm-QOIZ)Dg;eri6%F$5%QVA0X=ZNzgBpN5^^5AWOsYPCMYq>+(xh;{B=)*j<5xus+9 z1BVBBXX%-PgvA8{{p(qDWhMvlI4UQjelE2QcI90ElFYqNZtdw;IwOn0Go}!WtGlO$ zoAf1P-{K^gqqQN}$<1%4CKiV{IhHofvW~c^NN%dU#Ys!Q@7*+!A7VA9SOj_WE|@Glmcx1vt#cJ>vOy=LkiKdX^K!@V8$|!nc5Hbmr6H( zmt2fJ{TbQ$7iCNYegjRp23%V0IeJA0Id=K5$Kk5L<1Wb#w?3Cl&yt%&KWy6>CS{;; zq-${`vTFm}G;pWYGe%kVMQtv{KUMV4$@L+L3vF_uykUDH8CYuzUsgXC z`7-? z@s*H~OScKS1#g_#d-Hdv@c%GAPyzWk3E0x!_Ia0;ht-EwRU# zF$$bDvO<3eT(fnFeF!Ad1`3<85Ex0~HmSr=8Ui>PH-o_@0Dt0c+7i}1BXt~A67jCy zv+Y$y%D!PR;-)f6e7sQy7$B;%Z-)S+{Ugg?pxOWJ{ZF81mp4U^vt;kpH2SVEug_@m zPVBLy*y@%drD^HLZw*Mh`Ji4=prxvF@qS^&l8k8+WKpxdwyq&(!A|(5;_t=>2acafj-RCEpVS3! z@qx3Ve4@f+3NGnmnY905Jv&{Xa-pnW@{}4GK0!&>ugkb~FRR4$c3}!g1npY1^pWzF z)uOfJ+PXFCBPe^xSyp4{Nfd7DvWS%ugj~$91k5jX4fz79sDoxwYVb=7bzLj+)87x~ z57m1*Z6$n!v(AOnV#`%eED9Hw6C4UzBALiIC*4JBb;=q*&HAaX74WBWCZ0KbdUIYeW+17d*Is8>!gLZ&0m3NFDB~xW`a2DigMb+D+;YpV9v$Vfb=bYR2ARlH!R`dVj{qMw@VulCr zvo~M=G8|a|iW`3rbF+-06bdS_x?HljX`1y71V`8%e5z4}R2AXh^#{Aj_x2Mf;@n)s znl{s76Bo*@tF-{Ou@klf7`FC6Cnft@<_Q_kVG4?4VH$SulI}8LGu~ZsA^@jeUw7i?b=<+hH@HPj0bs zE6!;CcVIvx>u;Z~SOS_DHY?l8M)~MRQ!m;1Rllv0tILik>i%pON?3Pg-q( zR)v~8UI-sq^$`G}T!CEZVX@tqgDN8moHz&))foKK%VMhY7wb+oP>WVk&0r|yt;|dU z7@@z5;5n700N1a?Is<7Y^C!tUcV$46a#>TwM#__)BeM-8ZQQ`wpc|{j#mU)I8@_LM zY5=|wad(pwzISNkW<@JO`le(xb}OU!=liIv0mat?niIh zF-8AwG3Mj;PP0aVp14P)o9=%OeJr~eBno%3y{0oNewtks<)5Kxw8f;-11{*K_;-%QkReziJm)I@~^bVRRH2&?>y zzbG%}dX=6t$o-1Zy|Zl(713mmSf0thu)0T0v#MNU%w(_dw8^DyLTS|={>Vq0MW^#f z8>~17>9kPL9RbZ)ZllOldU~sCeTq>#SPCq07(LK>^7ntgEy2a)q6rY+cdepC)xpS4 z@R$M(9Gf)x&7CAOru%U9GKg1`fQxLgL+qGnQ{U*;J^o#QTgCLVMBrz%;^$A`Hzcv^ z84M%OHa-No<<_3h4v}ct`k3GmpxSnuNO7#m;543VHHpG2s)s%K?a}s zO#EGcZ_l4Fz-UC@!6@uVz51#XRyTA*{MELsg}v#tx75~a&s0w&7oMrA`>h%2X_xL3 z6-kCt*|#*^!|vlS)71gB@2Bk2#XDIs zf3w@A8hT)xzt-F3$m0A(`}^s}5%}4JRMn=`ae5FRS!`+NZ~dI8$S`l1!wj{p@q)mi0v3qsjd)J$XYgJ05k=w zviFUEV_>8H5pV^SA9&EmrQJ^I?ULN5Z}cELIIl0Mx{{Siv`|t5M1BXaz`89TPZ!#o zmLZRp=VO{z7uSNqxopiuP~ZodttAuV!$T=+KAY?nu9=EK4@Pl5!*uG?8EZmh)gY$8 zt0k>sOI~`HF9adnl#=-3x|ygJ^Lul zopJvE_SMHunNw1Wn4{`2*&BNWW^-E^ULyPKn+tY#cieWlA%xcb=t_)?AnT#W^Vu$a zs_Ed-a`4|@Tk-kx8!YDs;_%1ATXeVH9e)Dy+FuV``>c1M;xFwJQqq|Ky0hfRv)^Io z*z8ocd3jTr~DYLp;yu0ZQPbQ|1MAi~Bk$8Hp zo9myR^0Fq>iO%zNX$2jCl~3~CH^;K7YynXkT`X=RZ&nxW!t2VpTPzeIn-u%soYo13 zQmLS|s>7H?*8*>uT??UhpwVEgw;V1#lmeI zXhuvBEx+_7dQ- zRc1S>l_$nE%)2p_zQYGJ3UUr`GZJU>cWvVzQ{FuabvfT}SxB^u&&`%rLwvoDn+4~X ziBJG#-CO$GmLpffYbl!-aH@KD;B0V70lXGw(9aePdp}T-WdW2Yhl}O?8dD=Xsv{e(w8qzwXyfpj(EK$I(K6g)Rbev>Y@AKQ8v{w`^GK z5x>eA2`W{>V!o3-xk5uAOaqj$c6d5|{K6p9+R(3M?{ddI*mDUs@)@gkRFE~38b`M| zQpP8}@5^H6X@8f>0G8!RNEZ%H@9NC}WEz0JaJgMO-O_?Tw!=@r0zeGqZmL>Pbs!5L zMorpCn~7#V0O)?*rDINtTsR+7rP*P?r;ZSOWN>~wY(6#G++6qQdpFf)7?8D@;Y%hu@kAxuP;omktd2a)gNl;~RU;h6l zQ}=5|*}?I7)`#~8o>3;ZEq*bMd4^yifI9!rL-86e zXwta4G8O#9`20D+b{Y9Q*D6kq6eTeMY^!D;o85w3Yl#3;_~-xeS_I>i&U^UJ>fSp=*0|FRy=`3S7CXdLm<+TipW4ko zE&jAj`LE5Q&dG7Etv>VJ2H5H1jM4(B(@NSu4feE}@vl9(Qv&RHfiS-rRAcSp8>daX zA;3}mUw+O@tyUjYX%Ep$7wDostv3C$)}-)Pjr-@v3T$|hK#p!Yj7j}42#C~h0*W7! zW_e$xP-27xHuBbocxN}R}Ej2zVd(h&fatigx#RZ_BB0#jNy>_;s5`r z9P|{3?e|;VMn%%toAAYR|Gp8YfB$z4g9S25IWtk8IfKFHsZ;-lAK?iE;OjVJrGHzw z(^K*9=i*N2IE<{s2T>7xdH@DRue~gz;m*T%^EFK>{2>6#NXReix%y73{aER5xc@J{ z=FdI+b`k0lKM^!!pRpxTCwor?BZ4HZf5lJqp&{SnUaM;_; z5V}hbf4%r9^6UlhuU?TRd~bgxzjx<%SNgB?OkZnl*NI}FUcB_iv%f|B*!!x`RRf1XjJ-<&^GCJ3FMGl1=?6OJ0&98-YHwROP@-_lh`wsliBZhx{KbO$>%@#}jti0D?G0GTczgYn+J)!Bmj(kS3P{+n zg+64BiUUEVNH5bi(kJtH#6jzu8_18i&2D>v)pN+lfx~p*hLlokhkESZj2FM$$z0aq z!G})UMspXrEG45}gQ%z~&p~;`+4wdrs-J)k()DL_WngV>3?02oU z2s&~|Dub%LfiB-)|8k%IX|QG&>n(sGJ;8aWzUl^2|Iz#t&@X$=E?I;*9opXy8glvI zapQSZG(r9vnV+2o&xeLsq}ho@*AR2<4gF%fB+32VDlD(ng?GM(Y7R=sc2>?Gd+Q+u zryi%R1~^vu^{kp~ug7sRYCJ+tj@CPR>M3``E~FtOO)na)aT8-EeHNMncSYGIPHB**Lt_QIw<4Y$Zg=Rmp%4u_ERJf zAvTG*6U>Juo+J@{1|{=!yxEk22R^e-XV)`TW7dAWazsW(blt%}d0Al~cbD%;gXIaw zF7ZA#JK_eQ`!!@O==u$N1{$!QD_|ZiZ?^WTva^|PTheZVa(hfI|1-Mhfc1;#x1;mq zi_D@E$Zi{!Fw&8Cq?PI{pyTrs0XJug*>~!K^}V|UW{xkJ@Lyj3rs|mnK^blE3D%8Q z*KE%eK7@>jr!_s17El}UKMtwRXc2G#aoiKkU`$Ht_zz7>WriQ+QZ+s^(mH&L)D`}Q zp3%*!r(?KZ`@y1>^8DkcDBGrMXIYc^Rhvs>d$kN{kG2E%32}EeQ`yKf>Xb9b!ED3B z+-LNZ*J%z$Hm5%bjA2|cja@bHZL<1+_ix|Wo_~Nus??5`W-%N%>lNvo>(k{tq>2}7 zX{p3{pjL@ze1(M+-3T86o>-Az=WmHPf|~BoP0haSOYqhr@ODQyEWx4gjvC(Y4>X2x z=949n?;c~F%x|K%30;Z%l_zFJb7g8-uU#2NP8#gV^(IqF-yf<-zps8%2{!U+$gQZ< z(IdGx3-FohGJCIO3MOK5;sAJK;8k8b-yDJ8V0R_C>p+8<;v4EYBgY#yO<6)utZlEOx_M zbxqmQ4(f3H5wCJs;U8_AP5k;$yv_2bi~VSLwKQhp)%1Ip%bW@)sUVuJjFIhAf6GdOX0? za>S#eG}jvFYVQSu;hUckJ`Y|j$K7qyK}T71Tu2C+y^&uQQs81eLFZ;}YjbRY&NdtR zh}o}nR@K%KVPFdCPe*kGC9U3U^$kH~mF7$Z%S1Z>J83U#* zdkuD+9bfsV3PQP^^I#UsmtXeN3fPNnOY8<#Ov3g4)4N$Sp04a!#5rFq$+h}h$f_Fg zMVn6D7gB~&%vuAREc3A;Q+b(KEbCb0oPUpn#3chbH|GPlC~j&WKJ@ra<7ViU9)=vP zs;_sRCST+Gs-`h9V(B6fn;?7LdmOlu(ThIomhK6KGyRQd54Llge;-A}N7fG(&+}i~HqySOyEx@8Pqz%!Y9`ESvjZn)L+n{1_mN ztI_nN_7m4f;>4A7 zf|8O=hulY+@>F&8=$MoBZpR3D1;iwer{Rmt4wcg3KEw2$-I}MXr7t-z=O~%_?I|l- zPN?_gQSvSJ_)nh*6DG|$3l&>v4*>}#P%I5Xo6IyZp3nrZ!+z*z{7RntEr|L(MA;{o4M z`GQ&9|GctC$pIIQPp39Onr!tPK&aKd-`VZ7cZNP6gltp?ib@Sc!qaiD@(ye>)Q2;B zY;}q$x{lpZp-=cQ%dcm>CYoEor5M&oV$h7NNU zW7&tYda^c?*e9bqj5dR&ea&*wg9bK_T8)lIhA0prOD-sKJsV#rO*yK<#)YvDMHMTW z>6xqI%6gDVkXnRmG|!{YqI-F|_WJ$sZt!j2gEzyLv3~q{uQq2lMmN?P6)RU>cOEp| z`#T?58kxQ~bGq2*q8VTY^Q&070|U9EZ#i#(N-JmDsXmNbQmp*3g3*|Os%95k*Q7BI zZ76gO8>n==--pb%r-Jxx1~(Fq&p#RNdkQ(3JdyNoKJYF>2Hbk*L0}kyY9g0|sO2i* znNp!r$-Cp5H}H$fHK7>th^_9QTmYx2ZhR*+2(Oh{B+Wfrcg%#rM-s3#P%Y%>3YMNI z$s&Joocn~XGc~>`|02PtSG-Q;iHo80#*kbwNo@yrv{Ti06&!06xeM1iSkYW=b`|yd ztbjCTC$8$03DIIiX*Vv^LF$Zhq^y@ji!m}8ME)O_{O8N3LFA%+t54n+C;GUuS}e680EwE?5s z{9$URYzqFH2?0Li#&0I7cGvXrHR4%4{arpsrMv^l0=B#fcsAG9m7oD9lEeeOdHu6! z13~_#%vP}UyOZ>@h-NOsfI5#a+w;F{g0ZEaSDHik#Lc@+RM$6XboDE=c-U%FXvDMtr_oRlC$nS~`)TyVPmE85`h7AJxX< z^-X9HpNXdhq>*7e4i4=xii6R`beq{+F%Av z3>R`L@E9d~WO*k^IH!0)?E?}vj4h3M&}>;&Gy}9W#eW&wJ&Vj5HDWPo)JZj#VmcqY z;-fR%$VNPIR~g4^5@S%I2=rT=yyE%Grvud1z4*JvtF$XRbei-h{58f=Bs%XWZI{O| zr8w4&fNxJsd{Z(j^gNje%_%X5*MDrSHQlLucM~(4AT@IHFipfQ#4TXcv};2soyHT= zCm$kb6A{yr%;mT;!139de}3*!2Z`*!T{L{_ZPHQEKa|nKRc=4-nzaC>*OCNW`$?f! zh)jG8s=?+$A;fbh_i>5rzy#fzqH7D+EmN(L#F1+K^JFC(BX*`HsN-DjXTBpHaRNoX zU_|}(6M(BGZhPPKi%XU?efXQ%gufLx7b7sTA4^W3)T8AWza4^j?##E%Df!`+2D0y9 z=4Tl0c&uSd-ZmxXL%VEnz^@%PMfVjeJEnS6t`)o$u~4(gi=Y^jLgmE7MFfgw!irke zn~oJY(BgtEd69Pkw~@Les(Z<&tVi(paQQV}vr~|dCz9SE7RMBychYcoWxoQQQ>HSz zk1izDY^7L1pKp}tOjZ?vXWd)$Gn%;tJc;KvVBDQYg!sO2%wnBv=0Q}6jL!#=CC{tn zDEQ${G81k&m)@SEA7B@LX_JmKJGw| zOv&5B(WW%_3Iv}O?sz0$J2IeQ#3}@5Za;I&u#E@9%C2~x(IbdD?Cd#b??WBO3okru zN#l)nTsI_N33`m*_E_LYYj6$Y=uq&A2s5fdRhml%zLBhv%>Lk#m)xajhD%`$xh}3! zc0Hoo#Ma^fA!=ReZPCL!PBl8Q2CHi|wcmCOO$*ij_JD4mfJ^7&_gG8p=>u(o24TaI zHTgT1w7_7keNA`7BY!>J#IA+!@MOGhR zP)}_4`=_810TrgM9?fqf`*lpj{3Z&ddjXF3%@#(_e zVW+d0Vb^64;8=^(nu})IGI7W6i0Y-Lrgeo~^eL6YM*%D9e;0Hc*Qn&1fFlQx%pB7ydaaw(UJK@|)&<(1|6 zwA>&Wqo@Jeb!J_|ypE3m5(s*oIHN0d}(S>Yh`R@p}sf?y6$=;|+S@hvdEp zfY+^9P(iLIzG3{suwFO)1|<2tz>pXTLUpa{0XZ6b5i;bn;NEI?NtB<<%17NXk=2gN zb0xn(>axL^PRZA0lF997zXC~tIc*r~N_p`g+m2tFKO6HIuMm)<7_D66Hq$=5#aJ$p z?+Vp4V$_?kC{i!zK4`HK&mYZ2WqSgiu6_+Gp^LBigCXkdGWEVRvICYU_^yE z2z`d!S6ioDvuJL~>$)4$gpbo&-eD|Q_2@cQT2SgenPp!VX_l`Pg`6a}Ym2$i{Y-gX zc-ETKzDv^Co&RoYfrn2EoQq$s)Npj>i3o)ia2^+$R+t*aSeIa^f|j)Yg$MMi|3?AZxy6B~}q!Y05(efC`ykzViHi z;N*cz2qIMmQ(SPpr>=T2HJL3DW0KigOg=2!@m2U+YCthMj^9>Zv=J;?R6RH^tGbi? z>Cq*ZB5X?oYkc+M-MML2Q0De}d*!!=>%?H8=NWYddbIi!-06DyN!>oPsM7VcY#x@#MAeup)66yt2Y-~$`yvC61YFu~0C1Ur3lDyx&qIgDI zgiO~l6ixjuwl)<{TAJ$(2K3ZTa`<_LEvLl^m^*7PRl@vkwUq-CU8w2!Ua^){XZ{}b z6M>dU+u4b|QhW;fbOe6)1g)kzck({m<{rEeO*R{oyxXM@fzM-&j09lkETmxeFc#WZ zlHoH$KDy%zmX&Ysw>xAnhlYRjjmu(lS|*paxKyxfjqfGztU&nqFI7;>Z$(8-9#qZN zT#EGy%C@^TrR__1;3-b7M>`4h*EurcQQjb0o|k&r)ustI-UgUS92r ztE-B)k{K>gBVi2?5$1VHIY3ktt$&~${!|PmG+Jt{Tyy3EcV+E zd~Aex8qGq1ncSa-TW-7z8bkKvoom4_I+PO61A|@q1J@W9{8|~(Ee+W;{I?-FLHBb! zZIrESWRUIbuSxw!Ba2$`nv6;`()v+>qBq1@y2CQ{80OEMhN2`{)sg601C;M~2K#bJUwE~=cXD-@ycupdNJzWQA~e`bu1oC=oHEGn79gRuF$L zdeaR2{#oI2ScUUdcmGXdOV4idZZ|T^Phe@;=nxidLhR~e@nK(I(gERy)H`*xpVYk1 zXC#9n3@~d@yK#tU|9}MTh!@BWB5--5CiQhuQ+_t-@x7VSv49IF^@D-BB;viLkv=5$ zDI>0UdtqJRBC9?{oVH6Js;NWA1f$c)Jrk}<3jnmE=c?@lb>>XqZ^iroIsDMEzd~Wh znTrO*M4ct}ekkdIFxR;?Jmc5W(p%-H!e(fNGkQ5`{=zp8(NsPCP2zLz^%}jyQI8HK zTXw1s+Xuy2WHL_{N~ccr0?@dn&dkKezTFuTraLI@dglPq2={TA2Os3de z#TRuYjsd`*JPu=?r(_hN&&XvK@?qH5QbjMg`Vyy$zj=eKrcI>Zhy zW&rMEm`mM5QLm= z3pUln>>qn`VZ40fy_gW9?>fhXKX1_1EEH^6fVunjwYu)4?J+d=8t1JxazAvR;5y6_ zRy!}2_Brw|KhVR}*u4WtUP{ZG=~fh8RL+9bNHRq*OjPqjWZJ+aLCJtk&rxjyyZ!W+ zD?%$39gyGG*BBEJ1ZhxK&asIi!}kL59Xd^U-lE?GWE`9oJ)BdsnX$KHdBDEgTgEEL z2P7+wU`4BGSY!DUr8_)s4DGg0TeDkhcYf|NzJFSCn6 zL8k^fl*5vCp!sn9uTV@c>0z2Bw^4%QCUSm>N;%}cRe0aui@t}$Nf{w-6cr_ z!mK*KGknEXV(51yOZirMx`eQM=vf3yksva;l0vt??b!3RuU?SKV5(}Ylv@9z zpLK7e>%{1;P}g>I*3qNW8{lO8OQ2|+f%qu2IHPfYGB&RVa(o~@0WNCN?9)AT6raAE zdDvR|ZL2T9+t{D5xACE~RNB`cyD_SO{xb}Vu=8xJ7Ce#=Ez$#tiO$ZpZVz9>eYJo{ zyN>stZj3hUuWS4FvOq#K_Mz#`Vy?=|m%Q?2&+5jTMGroK;!{u4+1ZN*lXgVa&4akx z)Vf3`rVE(>>%9P!eCF@@I3E?5S(r4Q?CmG5f*V!V_a9zrX;DpDtW{R!K|4GCVZ^{? z-}3qc&;|HTh7=wB3{$1)|1Fv>=$H!`8VCz+htI%g0|dvNn29)z01Be{ex{no+8NDq{ag}9?w{M=bROf0VPRo zQ6yrpBb8?+icppAvV|DD@S1Hrv$+_Z!zCI54oV#_%rEY^PvH!NZf*F-C(_s2>uJlm zuHsQHpworBZlO;G32JaX^@MEkfiKp+W7OK)CtM=_TdpKy&<%0lWOcI@l!lU3n} zQxHLSBmB5EfDVWXH@{hw*x|xbYfIL%X5@8VV2XeMa0|6>D5?9GJG~6J(+1?u3cKb! z?o8;MpIh1`Dk=@{U!)}F;_@kzbDaachfuhc<kK@?9G!hq zuTg;f$GYr$FI~p+yYl8mtSl5C!P}5LMH*V6%_K8Qni1MmI7Cg#w)`sWdv( z3_dXthPp$kzjj=R?Bg@0If{IEUm|)2=eu#n+uru!UIouPkwb6ct)8HR<@n7;4}x2M zs!rPH9bH<4sa*@x&T4&RrH`rl9TX+AFmc{|e`X^f)|-iN7@56TbQ`fE=q%Jw3!rNq zzBly{c(mwnNZtyIwr~FPKh{Kr4_bp_yXq;E?U79r-ZNB!y01sz^LBeiNlC1U=jjBg zSTz)T^-fHMbcyzNp=#|g(6I0QQVohSo{Pg}n`#sFQ$n%2Eo>SxP4_*Kg(E|^0e4x1 zayo6C{pA-kkKgoLi)H+a1$eG!*rLxKpYhA@1TuADakJ=Ss}vzyDR1rKh(@i(CknN) zvvIoAmp?}7=<_qYTzl48e4zwM=Nr`d^;}7K+4-Ld$CWFa>h7Ndc!M|X+*?tNckWWv z%zH&P`b@pBH$thd4~HNqyL0W(6o{r*CnFt8z)(tQt4<-n(LN-ZZ$}z)4C>(#c{ za#EoBoQAFj*qbQr`@wH*t-|*-u%8_-g z432(Yn9T+1pU04!@?vI!Ne#H+g3aJ zmn`yJvHsFq??S~qM_7sJTrV74#myX?!k8LJZ-FTrbDH}E%SNBRI_gg-UE>c|@Pf4_ z>}DC(Q8WhIM3w{%c@kf?g(Q^$vJuAb*PJM5AJ2$OtL=1f^p5|zj`Zcli-oPc?&(KO zd4M1H&+}E2(M(U3E6#succ!U0Rs8v87T|4yGV!l6E5!B)6!LHd@zVY-sHeq2@drM% zc5$J@#i2m$01Dn2g24qyTwT73RFCR>^Ve(WEY?@r*MVtu4$|}M0miI% zjQwkBq60;P)1?LrDHZgQV**HKNwzZ&INo0Sl zh40KDxA5gl22jS-5879UZ)%Ea4k0&g>_#WB{9K%$Cxo&|y@o{;HsDwqeijk_5#9Btvbvj#yvdI?;2K&(62Ez2QrGL+}9H2)ai5IB18 zK9FJU#t0M@%W<5~cVRD)^3(;Dx;Ku>LIK(J(@6XuTcpsW-#`-PGF!7-dzl`b+Q~BD z@1V@1zY%t}EPwr1rhr?|0&7$~&?y_hzp#!BaOtpJT49p<1G0Nc@%7u$xN!pF>BC{g%uM8)RVv`X50GpGL90r}sU zZ}}f>a&N6}U_x2-!G;bD1Wv~C4j@H_gCYUQqin4C%zV=3+xv<`Jo%Sp{qeoer$i$a z?~;|!1Bw;N?{61lZ^4Wmv*!~Ab#PUV2qE1KUGYg8R{y;?0d-wAe3*(z@$SKw9;fAX zJYC%!1(D1HpAP^qZ41zwYV4NP{p)BZhfysh7&^onq2*GZE3>!vYjw3nY ze>KpKI%uB?kvAOzNr}2)dJg9W14wDhLRz%t#SkBV7ktl;45YxB!OB+XoW9+RnM|Rw zdb_JSd8IE?{Cy(4Qaa*f$Enfc#GBTfn zjHh3J1v@}S-!S1I%xmT_Qo(yPLV-8>0B~dA>K9!faq{LouB5&+s^&PsS>IWjGqSYp zo0mOPy$WWP*sWymDi!l6ciE0o{d-2BkVrfw)zxSa+L+@f{0z+ zIF&!ozo?`x=rL8hwq0fMMD-u-4I9mZs+nG5WlOq|sap&Y-x37vN3QIpln?0u*tS^# zy5RU|D%)ZUxPm!>T35d@;&$cAqCRbJp4~z5^|iB|lQN{nb(xMZkJ0VXB;PvQv7TwT z9uS|E9XIY#({AlfuAUg*3y!jD$>=~8y~|&Do!u!(N!b+K(Q_Rd{gR$6t1-dhF^B=U^BMzKonN?!s{t;}0v z7{Xwj{JUIQuRDEBx#S^~=Fx5Swj*NYYB)^W1yobv$R5u(oM0x(FOfo04>5ReQM_R& zewu=9lQ?`bQN1L%)T)RCYD3wq{6g@7I4YPU8Y$=O_@mc-IfHrj0qg z2SSUe+~RMq?Ynsr=VLcs22;At;hYp=vea6!U{4huNLc~`adm%frnMr#T&7l~)o1Aq z-|O^dpT4H^^COB5|FrKC#1S;u36Hk4za@&Qsww!^lym`Y1n&+%1n zk8JItoPY5>y1ws%L#-zF7;|xlC;qqTj3=x85RCE4+E?1)JAmsPn=JKUA`+-Cg$C&m zG-wN@;9pK-^-I(lZ>ZEWKH9GcdW?F$@iRK3=YS|#55;owK_Q^W|8a4$k=rL`!&HK_8YD0(RYr~;+h+UJp106}6t z*~DI{d{5qPPYfTwJcC^F#WjZGA*Q44bzc2>){`(MCe-{6-9nnHF zd(iIgHw%oz=V9g^W%hdoyESr0pMLG4@f=|!@s`9`ZP|M>cIfZEYmI-Ue{E_cSF{@QfBc*qtCZj`!&B#{^SCPoQ;_n z_EE3oJA>xxYWB3aX*PT#MvqF)SVXy1imK4-$voxQhr!2q27ymNLlZNhry;q)cb*8X z4dEDANLqs6m>FC64M(NhVu8{&+lm33dWP+gVo@HFCBBbp&F7o9 zDamh(!7&ZWE&%a-4ka0o(BLcCQXA}TPh3*gNtU9tL*MPq{qPjs2kdP{GIN?y)1^tu`Y=uZ!$zdRba|2& zKuzmY^1rvgq&6`u3M>%!R zPmD>1zB%%HHwYs+!Qz&as3)U)doO3*{&^qIm~7h-)h-x>=HAt&DU$QQpZWnJEoe9y z^P;rAb5=Ukq17kfh=nR+8+X;4kiIzrR5F*z>M`yI#n$8{Tj%2f36segudb7$Z!3Yu zZ%aMSrc`iqC3f#et_{HQG>imHFRO!fU7$;NJD(LmhUx~4PgIcrKuhkOM)6G#z~ft$ z=|z~6=S`_cdA&LC)fL#-JoWil<@V{>S1m*{iPyR=_=7JEKYIDq-}-}nT~xsmxfg?7 zdxXV5^&pS#CFNVKn2VRZ)1+|bc`?YM1X5B<@G@7T?V!D$xZGRnx1_IeKByLQEXBVf zTDTl)O=J1s>6tc#px)Ea{Yb;?q#CN#sfE|XYaJi89CO=E?E9)ZaBFw4;{tUvR6%WO zB4|*%sP5CCrI(ScpyaiNi&hrBJ(|8Y;+q4P3V^vyM%G?4i$Sr$$eakalUaE>X>jZq zP?`PnKKif%lLwOPXD1%xtbUm&$PnD(C`y}{Ofz%ApkU^&oB<#ToRXq0B|`M>|CPUe zte=}2u2`lvz#CZ-g;Tu%Ea7Iu2Of6*xJP4MrGNnfewE~=!5n!O5gDrzv^hd+RoTjJ z2Im*P>jJx{7w-;c8eXD2TqwzNg*?58Z=vlzt^(#YJd4o$!j+L)WUg~E;?QGJ^v->r zQc|;TtnTEc-~N0usuOp-4YATzZ(iHi`Ba?0-uRAS^~21n{0>HKUNzb3>xfwEv^()! zKg8aAD@fJOBK!Yr!YFdDL_EkUr zuHT$mR~{nLBA~@HA5SR`X{ok(sqWqcteFWONKQi5!#Q*d-jYA&&GPaIj`|pOb)wNm zy9TI$oI1M|SV*9DFvOGgmricTl8>Os~9%UGSif>1UIq6opKVvxDe{vwZVNd$wIi;m7+Ofi-rf z>T`I?i=1`kfHo~CGY5!7p&v%)gG~om{BU6+x;ou7lNc6bn(|C(j-D3giw1R%cC*va zWYBF2!^4g2Kv|1zKtM?9xHqWi{p3NJt#WaG4m!Osxvyo9eWBu^V^nupG7+C& z>j;ESes<6)FQsDj(1OwsKmTFt+X1CgdoWs#A84wHlA@W@kmxyXwp0rDzGMF;6UJ{N z4=WCXNqTeCwH9olKSG#;Vth=GG zJQ+*B-Vcu?X)c?18k8;LlvHnSC-;*<$ByC82ta0anrQKRkd^4GJB(kyY!L9xvPR@e zxjOF(9r6^)re|noGu1!H4RDs&quhc7kYMAT2Q!f^=d%v`l~{Z9A)^``S`ht~uSa?s zEqf0;pZ9%F?6QJF*MA zvS|^by&=RG2bT_)W;LE88xFgNr@$TC^d8)Qm2+S}5~_}0AL?3S-DmQ3Xub2i+QRI8 zJ2-e*nZoFc%8W#QA3GB}aWWIu2wqJDn8kU-ErS94-`yVyjoNEXGSOssqMPOP%>Axj zS#B!2wV2sNVL`gC2b1Dw^CMN~hoyj&7<(2$W_(%qQx5TIR+?ZtRW_1ZdHz7g@S6jv zf-avqo@TKcPfdYn0|se|z+pLjpX@F^EcGD6r*&TL>bp;dZ&^!9*7zy&^Bs-_e*44j zM^ci(_I+gS>fi=*!g238+orp>Sddw=Phzc8{5LNXl{@#Xmswb@0sr*pqkmlX^m3MI z*EX0K;$5RUGjP@Y=K7+BjHfad)FOA+dpvNlQ4^vcSDaBxhR!f zKe4rCV*j`4nt{1L2iSs?HEc?UGBV2BXl6HOg9hMoJ9}Kq%%FvFx#gy%BZK2iYe{&n z!o}U|>IPbDunhPNYwT?L@x5gU2xnfl#VUVXo0CWit+bV7F7BYmy@CY@b3JJQA}MTbI8sX*pz3@YGaUUj}9YL=?Q zlmwRT@mK$`xF6}~M@C8wua&E3okoj4_v*)M71@uNA5iAD=L=KN@CKn{w>@-})$_$( zVfjLlTyEHp6TfqU0r59~tfuFjM~K{mp8JSI=p=V!zx+X9RC$NlyFqeG zyOReo<}Y5geQ}lWEG2+#7P_Zn;$FZxGfVqNO5D2QgBdL8K*88 z^e*OOlfRO^8)3v)T1pZAJc7?JMIEvw>|P~5#A8`LK__*Lv%%Af`8L`)eM@i_rtVD_b& zgzB6_Ji}J#mJ<$hRazZ=LZRcJ`1j1_9HD$zH^?HKN_ma6=8OA+HTobN{`M()v$bg|i5OP_}~$q4f2%1Jkg( z%tLvPwHfc_FLv1?_vcW94XgQlE8N$Nf-O+Lixlwqbid_=y4XTGq;o}h(Uz@OipFSC z*xw=E*#ZcLfNA{ednQ5F*k!SzEj71mdC^0zwJIJFXV8ZAN}CcUoN2G><+*ZZI-ZLP z71*z=w?~=VX2cvyTDRJ{vD$9P4oc|4%iLAG_uOni?g(#9x2Pz;qN=@1_Iw6uUl(J< zxF!;+_z7fqFSCsg&lb3mOh8xpxITf1czx<4z`V`;VL`*_MIR%8C}C2;S= z^}P7b%KSICa@qldmSik1+cRttxKS!A1J@>p^7^4_ECrZe(;tdpxtSNCdFzPEds658 zde5M((&k(D?{yB|%gLt!x_t=tOXFV#)(FzldfNUsnXuYWcudv4*t0mUZxIpx)nY35 zP@rEIx{XY*$&m*)N)KxZmRSnx+Lv!*m&7Om8lex@t!f=2Gof8|JH4knN~5v-n1 zkX)(AWw+~!(xmbJjuf7ChwfN;24Wm2Qf@sNVbq@ZdSKF;D$B4w5Aetntpikx8v}dATF>J{dLOtlqZ}1D zoCh^$yr1zZV_7d=v1YR{SU|&QNZsYL9D3Hz)%w#jqtQD5=zXJPhnE?m%tGw-DfLRn zP%)(H#AJI-NFVEVp-jJRXC}>9x?)PL`g@W+-H>r1iI12rm}UTJoi!E14-I_%L^-uJ|acg~OM%%?bjSI>VAP&LJ47RRh>J`sdTEAn@3B zU!6lqW~El2FYOz{Lc4b?^nOd*RbCva@G_dh>tWsn`BI z{9xN{rQjSkeR+}Jt)u}yUX?$l&$sA3tIX~St)vwcN?31nGy`c0M z-b*ew+P%^&CnF&lE-L8{P5-abyl|-2zPX!+^_$@rd1I;Y~*Jl(i<%y3OyKSU8 za5%snDjw2Y`*61g+fs(ZuuofdyuYl!&b!fWZkXb@&7kwb11(?%TTZ6@GZda`SS-HhVZGzjyABBcq_t5j<|IO`koNfhh-gVJ>dwd*PrKin1 zZ&#n3GB(l$h+Xxmnzr(b$(bH4UI!iAGkN{S?@vmP5l#K9eo;QF{T~=BohF>W-B9m^ z)!Mlm5p#(n)}XVMdam7!xnm{w!7W}$(Vpq?@TWH&QUGBr4T06+v$vNSbEl$J2jq** zX|ueLL+5riN#6O^GpYL()tg@{nRN$B)9x%LucwZGveb$E%8$E{q8F#N1$D82q~`u1 zEV{kt%#@urF=x=JEq!JYk{uoizLhWt1flv!n7aZBPsyn|p@DsK`+eYWmuPrE<N5U1}cq|dSJUmXb?5!nUe6lLl)U!;yu$F6> zrZV*Y*0%G_qtC$E+#GYEKwy2Rigs#V=?m|B7q4eOYb8oJ+_1e0_c^n8A;7xjF_UP~ zup5{LZ%pwzr0-**FEqDpmKsv<&1PnfIQ@KE?vUs`b@-uqJ1At&@Q{x6EZAl+tg4R% zXyaI4d_h~Ug&h*z^k%`fnS5b!l(FCA!(={y%O$Gd|Cl4}%YM;92@UQxYkcXu{R0D4 z{`j8_c)t{#hB>DlUylfpEP`?id;*|6e1PmNeS!S~Px+2C%Pg+n#tfy+rMycW`%)ze zb|u5iWprOl156m+@9C zS7UF;K-4{x+SA{rz`tpkXgf~4%UX-x-fp!vB0d2yQ?)PTz3hvXCO1`#F{&>3V z(>$ZsG|D}6Y1BEH%U254MnQ*-j~lr*14VIAb5X?s_sXSf0G3;WxRpSevl$ZlCG{ON zC;?p2ECAyS)+*OGv><`A!hI9IHA%B~dMj?r!L8`1Y~i>r$@$qJEB4RZ2V4H>?4C!=`vvS6vi zrw=Pk%F};Yk4H^Zv|#p;>8~33N&bAT2OJK~*&4(ku)V)tuO!WfCNsedoM znD?Nks*m8Q5X8?h7(b)8&*y$r)2NDX7b=14*`x<#Zb#~Q9wC)Zk!YuyLz^M!2Auyc zt>Zk@gJuksdqm-R291(Uoz198JJ2t=VEj3De(hHLs#R)Or}>KQoz~m2Zc=aS?rn)^ z?^ec+Xw<5D@RzMdroLX(YQ-YCs6)_BPh!Ll21|J%E35a5tM>abE_NWm- z#HcNHL8s^OsN@!mM6DLRAj@vqc z?CO)5oj6TGYb!2x!6cy6`d~gXlG&jV*I=Mr9Ege@r*F zmDHe~PAa<0{U(U1ThwnE*@Uq68=38X^`M(SRSWtE1UB!})v18L`zYn7;?3)@qLln` zbXTVP$>*ki$4dpe@sJG8V(Wq+Wxr5DBAb}*;7A<{lbAdMl&RJd*VH#u0xst$Z2Aas z`+b95=#qOP;ri{qs%g8IjKfjfx_LwQ^$?$N)Tzv4S2GiXVo%N652a|ZGk1Q_@<|pd zDMXU?bZdIGM{@&z?YXp#H(AWasZ) zuJt^kVtqZExaS(wMJ-U3NEpx3^7z`@>08?$OdLbq^j|tJdbx};a1)ae0g#sEh&P%MlHN5Jev=h& z1+Tz}Aha~v*jY+$%s>AQ#aed^yekN-*g1A3Xb4)nD*iBr#1)%(jmE& z@+_ddM$*Mtr+`&!Yel}%TMh?q+QfYlMT%*Z*b)u)jZ!=tm+Ew`>2|_dU=@C@GkB^$ z`#aJG-a?jRFHnXltpNptqdz~4#<%YQ2`9f*Ik*#Bn2SHb5#XG2I;i{B*_h%ZBavq& z1cYpJwy5NSc2V=b%dA4}^>nvQM^-iZSp=iq%m7L3e8@bA3jnDvQU4lRUj7k<_UNv*dvoCqziJIdz;l?PQ>1pu4yZQtl{wV(FI8zN*klxxE8#@3 zKDQy#*;l^7*sm$VF?fWfq-X-(rqbA3e7_$f|4r=vNvL)6&n}xZYrAqF`_*kGk>M5t zFv3gSFHU(R>V4lmOP7he{-zS$<3I2AvCeorL-Q~pPlUOv#m}S z*lR6_+CDMPODY}{7L!_b+RQWbjb9g1^eeH-{i?ijYg$Xfesk2c-5qqHHy7NmFq{PE zP#gsaAPilm?D7Y>_}%56Audx@@=1lb=H{jk_hjyg#T?6aWbn6q&DjR9nfwDEG6>uV86|_%aFRulezjXOn zzJ?5f`hThS*P<2CS1vBE|H(#vUB(UN>sN$@hX*n-Fr3E{_R?#;a9JT?VQ+fp&oAL~ z4_UC{|0We=BmXXn@^-vockk1GcKLWCZHZ?<`I#H12|jt4HYiM3R{?BfKVtsJ}`u`!clG)<7Ob+$ACMDsH6sY9$5whi zHpZYt*AXz6e36yAlKA9~Bu~eaV_vzvZt4}#->?JF)J4{TxqI-WSX+`Ve0zL=mAP=j z-553s=@4#l-={mlwq7Sb9Ufg9?!=Id5B6AnbL(Y+C|+AdT^ z*rOu3M#%URd{wvGftZLSm{PX*m6V(tAauhBEOFW6dMXpEAKpD$(S1RX51PbCVB0~I zZItjW4f&-CTcthbgk=*0s%s2f9pPt|Q&8>o_HX;SiG{Y|rSNxJk`@yTW!QTnW4O_V zw~c%^gnhFLdDff=J`fYbS?&E|&M)=-zaNAIkw$J_^bDD+qlScME&Xq09n z0AqL|vulil%mxI+YFQ$PThS*-5sge@)wi&S)p&Je4?pD{V)$M=O7E}Jwq9juZ z)hw!e`>BaT78%?Iu~dKQ)!yn+qzj)|d$3T&Nla-Xk^Wa-jG_ZPD$*Irx{l`z`cw# z-PwOrUjOXPs}B#f8Dz+$8{A_Qku!dDGj?Cbg6ClV!0c2@&X5iG)TMq;^Dpb*o@qelSfbKJlr(0vsW!~6<4n1b7QKb(v4UyzDYF+$t z>-ZXOq1O#NDLlT0L;yRExy5G7qb5*YQf9&n*Gw?RRz=se? zG}c@k9Ud}vqq7}-OPac=*uB_bUC-CJ%@Dhccp^?x_SmT#{n&dJptA#ly~nBwp$NK; z&c|cvIXgc9)qjcXepCP6_Q0LE5O+Y7Y1d)CfzJ;=q+)Ed0*jMNM6+)Lw_G|Y>EVo~u5Wv4Xzr&Ri& zLSsCE9*dm7bQt9j`N?`e$hqS~Y@ES8i2<66YZ2l?XZzSnl=Wjc1JOLI)d{r&_4GLnML1HL-}8gheJ^NVMAs<$%dEu#eIEjq|7W_8f^$*_My7?$N-4T8!P>n z%LeAOOob8fuX>9FbVDTw`C?%9D1#_vOd*1QEgeKy(C8Fy>tXHwN*}&ahscrHL@)=zD5e0wSH1~a&rZ9Cj`A-)`W*)Fn0V{o%vUfuk3xZWWvov=D}>C7dOsO)%)R zmMghT?XxecO^%*|0p;o$$_52~w{5oVYOAWaY&XXfYps*asrIp}p4)%q@7{Nvgi3CV zL@(?)5`WYfzioH>-Xj0wK>~EXKgdtr!N1U-fV}_vt?xJXe>d@$;62Z{5UddsJ_9gva5*D1#Ad!bQ+k~ z#p>QDwVVh{h*@9%OLvd(^pDr`{d@DJ??K>S{cOMw|3#6nxxb^xzk5)BMXdX~_V=vQ z-(z^+cX0m8G8X)AOvN7tzg|80FXL48XN>>T!T!r;{G0O;T`fSq`qROF;po10ydZ;1 z8HYd8LMly-%a#Z^Rz7hUH;rf5sqxF-d{kHbjpO{Uy99ptFOE=Fby#e_fu66ZFk~}H`E(3hZj1W6 zHy!9sPp_;!|@32(;1||IC@Fq65 z_>S4m#ri6_0R#r(OOO<6DN9`x!-&MMuWzbgesp3YMy_+HQ^_@sVQB(y3mp8W@WI+) zeQer^)|rpSQhd@rled~U54O^%^yR0Q$~~S;^_RO$_>+XU3`!4oCj{BSu6e$|+(qj4 z>|8g0NaJ8F|5W|@(nWek#N6(V)ZVhI?%t?{nep-vA&*|I^J7z{S=fD`JKtl>vIZA< z)3KWBOPFxm52F&0(^_>B4oo58cfIB73VKvw=7#i1z&fj+o3X#E{W$U%7EdV^UAGsm z_;K}l3ykPkwdZ+A3@mZ`{OSQfg@q~vE~asTzDnSF?}5;*Yem2=C1IF-lreZaB-;c> z*;{)ZO7cVD$qh+0`y0LdK6(?f;gVe0488JTU=ZQ(kAvH`1=$dXu2GBT+I05V0HF`B z8qk{_YHfG5QjC)7@*Cr&^8A+?eq8^RdS#$<6*=@P8gKEG>aQ%3r-D(SzBFLr^s5?b zV>MWYeH$PxCyoyJU6`PxQTG5d3%G@8ahhR}XlD#e!y~V1YWRVF0 zU>`fngszU{QqYIF08IkULygpZ#-oV@o7m^N_857#Xu3PI^Thi}ox?$Y;5gsD{_y>^ z`A@O<)>`{pGcIspJZj#exAbl_e=Xv!5juWa%mfoz!(F!gyusH%RixrBPx{q`gXiqA zukph{E@*sR`TRR`C?~hgOsvYiTy$US^G=6x#K0|4A+k&aB_ecPF`EUtAH?ngUFgfs zKzn#Snn%`xD{3<@RwvN?@A)Tn^+jV@g-sYe&7l3VmKuN;DZ z;b(qyq?z!<%eDkEd-cCohFr@-{e~;;b?i7_$QBrD2nZ>#=JL?GW*JZ|E*x$CIo=u@ zLyP8;DJ(j^yxSQH%Cjj08Eo_WC-I9&k$4_gdrZ{ug-erUtg6kq2SUxtSbY=W=#8o= z{QfCmrj_Z9&)VVVwG6z>{0l>mzjC|*8&~;`<@KVtKa;ge8h4A51>a2F>0_*a+MyZDeXacVdi_$b~;dQDy z_!#I?k|tcHQjXXT@!gqfeMr#dbb0AG43dNv$o8K6?i%-Le3G4o_WF~J_O_ip$`GzEsS!LI} zL6O@G+gsamn1e6KhQL_q0bipdQ#6gU1#Ikw5JnnI_t7=&kbgW+UKBi{>)l_7>;oyC;sO}}baJ{0vfa0~v$2-0k{#1{fn)I%XxyKfhB(_yO zYe8;%1=o&1+rL2EkTrFY-^Og5{Po?<+Dq~QHkKVr7dG%Z{?`wWR;-8WdWH3#&Fx$$ znX;-va9L)vv1JWQsWqgQ=6@05`NE|$x8mzEtugZOft~JriDn@~-%EP(Yp90QX~YDv zO8&fq)!XXB$+NAlaj6m9N866frB}8&U%z?}l40Z3r5h-J&FNi_uaz*2vzq7dM;&}| zA$kaUk9qI+ttL1Ly=LyNW2g<>ss|n^UiAWnVbo?W;a+khNuHOOWTDgdIiTJWXh zd?czZ&KN3`MM8ZUu$LC9QtllC>B(o;EJbUJh}U?_IA^~q1O>F*haba|vG_hoxR__^ z@O!8tM9+S`_(ik1{NU1yfz2surMeA{a=yq0>fgdeqsDocLVUj{PocxDrm6Wi}P_=iieFR3)N<4b;t@X zw0||ng6%yPkYb^^0CbOl@A$nR?P$jKe z3*|V4sM9_-A=$@Y%a94=I)G<=zF847ken07N;*A<+v5H~RU z!!KoVo1N1Eu$X*vMpDIUWQPX6AGs3jvz~(;gjmilhYYWdxZ3~92x*9$fL&@OX?7QB zl*q3`h>@=%KvD+F%eRjAPYM*;kJ+3gd&7qtv4k-^Oyd*r-vF7>lQa(VjkO{4u2%HS zic9VumzXb%@vmL(!~)(K_eh2O5+qVbbS^-M%PZx*6h8pZ2Zuzy*|I`-RFbi;DGxy7 zjWSof@4X;)p0+S15y4@G5hp!5lziykapo>?Wg~jOQ~54zMAsYI2dO}8Y&0RyoqcT} zEA*^GgXUWBo)Az`D*Qt^TrE3!+h9o~7Rgnh(w*P3rHQL2;PJ~7M8_$#EyR*-#9!xNar?C&t5ayx8U`3+ zn-Dc7&PSLz>dTmu4tGBK&;j%*h>J=ABUC$*S$*bCkFEQjno&_3;ssT=E1rE3_a_Wa z9EWL7FyIdsiQ$YAT$Bf!&Sp?zHYVc{#u4LRNd4Hc;ZR?;7bQFwg55nIE*_V!9KNHx z<1i`s#!Ds-?Hr%oe?as<tb5+!ZB*W#gD zxL!wj<*M@YI!#TZ&oE^6=>hBbkxc!hGvP{@<3m<2 z0zaw}0_6+(VjuDm49{X}5c@f!@_sh}dy^$pd@`O`?+w^~b`xI!TZ#Fl$t*D>hW0*D zJKVjbRP~_&evQ`KdoKi%gD^7mcY=btmu{ohP1O6^-_KnE8i@0z9)!9}UttZ6+Hkyz+&`7sX;nsd}rt$+i*1>}SJhLf3tR z`23*e9Oa8x!}9IWFSoy3nL3uI;YMFSo`)Kb;G1AqYfYar+xzU$IW2C8WSnw$$9wC= zX*AlTzQ~Kx7J3AcN$+ZYnI}tCpb8Hqo7&5nA6ndBB)!vkuyR?cF?ULCeR!+ZwhQFv zzd)mza*}bZ<$XFQ)7txW*Q9cDg|TPG08?4}6#!cAh^ev;yi`Jg?pUu^TL?KFLEj68 zB%iK5Gm87&Sf%(%13q^m<3xJ4OykmLOUrJduLd<|L|&^Z)*aF{xQ41Wu|7;`0j<AZ40UCU}_=Rvk1>RT5pOiK{xn3eR5asWkGonzzi? zY+$#F(RJsfR%oCCwNIF^2{Ok*yj^%_OhkAdovMwin`568GFAdhfmMNvT0HWwM5t89oIEJ(AkBdj`ahSB|2^6%huLuJt_J)|0sEgGx`Os|>&^<8~jsg`wW|PRSe%Xg(s>xrB4OuPNJ5xy>jb^RV)| zAY7-v|n)3&nDewneN1C-P2G?+7J?PRk;IC9q@ejekEzwhqtxPbJx~o z@<9&OQ$L``;H~NHV|l8Y$N=#jNpf8wtMVq_ZVfHV%g6H2)gVR$htjL;gC$aaE8xIy z8V0eOtY8V9EU8|77h`)=b=dYOV=rsS;d|%jd5W47iED&$!a*mqs@CAi@h02_AwJ~r zKyCemR)S#Hx-rcQf#vX~yi1c@D&JCY9-yMb5 z?w;g2-L1F$opY(0m+B@nRD(#!kZjpw`Ma)KI|n%pq$ZwrbhWlOAKvHS!k^0}f#Y2U z6prE^Qs+d^C{ey0Q{VdFkQs|>ML>TAIfK|F883)YNR`_?#s23Zo_K&E_X%` zSiMlYBa}C<*ozt`wT38G9=gQK(AokE9PR=^_xt&UCq|*{$v0aY)BAjR0V9=lq#-1@ zX_$u4la+EWe-!Ju+w>SPTN2L%DYa#1MYMoo@Zy?T`7HU?k4jg z4g&Oj`Sv`U5!#&9HV*CF)o=sZYq|Sb_2(RT0VaB-1XJHB|9f6132=vuJH8%5Tk$QK zpwJ~V!r@mBdF7=Sr~stHX1?~yP+s3A%%Z#8P)hWnh>!l$jo>@UQYXGMcmsfqjzh=< z=_Isc0BqR+w#mXi{1W|$nP}dAaNVb-C0=!r_8{LMtN_f@L(vcb1A>_Ewt$Lkcyg%a zApJQ5&h-eB7`R>>dtsL`ePsaBUOHR7F?ZpGZpw|k`H$8~pwc-z?r1d!-zD$Rx@9yF z*1Wf0^j4ZEa3^Oy+EqL0&|({K8bY)1qZh#I>l00@YBK-bsE{Fl@{!r>bbQ3o> zFXDJws+H$FugCITuZ7}7gy4Hu?AHF3s7pmRK+6v881pfH)n4SZPO*3TQ7)(U@}KU; zWK=!XLq~uE#4oC=v1U$$t;owsaeSN5v50#Z7Uf(1esyht_yh<}ok&SZo zRo5gl9uVLS9%e8nd40{5uMsz`C|>lP^n)rm_-)8FZ@f?lhxu(+XB2dv18b@4UBZt6 zX*_HdOuYRDmzSXx(F$-t)6Rvb31Z{E069~OTN!KXcr3oqv7B6QVmO(_nH&KA5E2ju zyo^OD!o69%!EqqX27oX0Rti6u@5pq%iTh1sLPDi^tZ<}bfvj?!z-IK2F zG&G^RuFa8`fbCOCNFaarEFAj;X%z*AsQWra=AafJx99m8L%oESkn{Wd{;6+!3Q|8{ zjcO&kci3-v^A6Qlh;2d0?_$CI?_4A5#asI*17=18wsD@#}M1E;0q zGqgSV`A?Jj+W^%sQ~yI;0rDr;>O2f9W@vTNJ_9*O)>u5KC~>+elUsPWrN{yZOrNr4 zX9T8d82Yqqdh!5miF0q5 z2!g(8SYRW2_6*4hJH)#|X%tmnXn%GkPc^4*c&e0V9?*<4=Cg@iUrLA`B)!{RsIgA) z$=`l+;+$e{WbDr9_f!@kZXV!VO(-@W%CN*hAVrY6So znb8&9APbLv$vkj2O}q{n1OP~@7qO~)IT{7R^ULSJ^*$33AE?_nqKsxOiHL7K^)FWEJ?;DvDHwh`5=TBZINdj5kY%?k6lKVZkVIryN zhpP7sIA9aCiwNGrV|jkUPl3EzoTcD=Pp11p~HHmQ!)@(1V(Qzc2ab*8D>K@dnzH9302JcP}yK?3Gm`Im1nQdXm+ z0q_y*Ds|l8or1Tdp`>@dY>vRo^JR~c7w^rt z)_`pHwD*CV9$dZ@NF%eA)#hrLV5BM+GKj4(zmJ>AI$0S@mT?Mxdv*(6yESh@Y-v`; z7V*OxZq1^HQ!slW9Un&q#Y(vi#0&v%R- ztHqS?`iBo9VgIe@4M_k1{H@w^Dc2V{RGF$_{np9l`0kb&qzU};1#W5Lb(gQ%sw~K} zIdc%+dq%d+&s&wac{^>!a-y`mfyB>2B9(+q*M}&9d43}^uQ4u{5Ox#f{Mrpklc2}= zoh{L(aBa@AL{_C5mM@1u@}8$JCkmmgVyH1lxn92|>g!GK)XGv=ZUQPqpaB_JiV(`>0?~t9WZL=Q zv1T|xBz*~m$6C^a8Z^ObJiQXLjnk-@&*dHBlBDV9-FpvMsX7z0n{vM)+i|VmclO;| zMAu5GX?1%hV8`cibp+`mIH&K$0zPQ~6eq(!+{!9tmVRjJWnft4mQS_&7i3dtp((O( z=z*0549;VV?Ic`r6u$z$TnqrBNzbxx+n}Mc30Y#PovY#tm87Q2l9yD=ehb6}c(QFF zPoyy)qkR(Sp+o0{Ezeq+3SffM`W8Ec5(?0RUp9Pg1B<0912lJMTCyX7Ozg$oL~>Pi zd3eo z7KI&7#)nQi0>D!P%ts$HAd1I5JN@41xJsxRw<@ycz$N57T@BB`gY^8hwv9?A&ex~= zeisxohYsScdGcCaZ7(#`ngL+F)L$j~eV#v|j6B5?#7u$ZN3C}x%niN%UB|HGYx(Qm zK^Sz~YqAt8uGadF%Fei9!aWH{ua9+l8+o#i>?o6ebFW9C4!uSrLaeg!VuaE1LTb@Y zXr}{53 z*vYm6K?c3_yM|%YYeyMwYbl?PIz2&vA(l%Y7+dk-84&CKn4`Kli1$3Jb178v2uF*# zEZesaml>+73j$?ODKi^ur+zJ-y_~BZJ(UzXS;dJ>n&1X-9n?9g78GVQ5B=QAD63az z6qBtgp-PqXAwbA;6>soj!u1ZGajDuZ*avvPEb8Ku@H^wsHSbBmj--l*Pn=4uR<|*! z6a0?j`=8DzLPoPSs&dgaK#e3dT*(Y=#@S(y%DJ_0zK|~>IHmrU|G@^RXh|4itOdYC zUuOGYu0+z#G=uy)$N)91)?i}rTxVf{6gC}Y zUEA|evLHJ(eG)(DO1E~l{K(bOLn#|J7A;%cc1q{@+I-ghO_ZgX&J%q@Z=gpdLh(z) z)=k|zu)M4J2a!?4R~FW53(Pnv)g8-7V4+$DyRFRB{3uE|oG921RMM=IDMKFvwAwCU zAgE=SU-d=HO;;DI!s~>5$+vbt+TI+({^-8A83V+*-tdgEixEqAhk8^essdr+i$cCc z+xDRQzfyLfxFWN>K)LA;09`r5)yasG2R9Qdu5vD&gzM0Ue{ZCCJl{WiY!_+PdwFAt z)UcD1Y+Ki+_~VVl%Y<;5fPD(OFGl1ZrN(oY2Kq4=YQkh`9-1>Idx;&O;%#>Ct^8&E z`C`%d(*+vdl+9|uA?sG%?v9^XYCg)&L=T2MxJk4)7_U-0jm*(u5U6Y~i79Mdu4p{) z401a9>_(=P$i&oYq1#aWNCO9GK;y@OOqOnD1!#hucJAI)7Vl#gH4tApqAUKns&u56 zryOeu;}G4*Nai={QL*r-mMmQCO*~NH>vzoogcr(MHkNl@OVLuBpA$f@zfG#{8tfcE zxC-GhqeQ_HU*zfPwFWm7e*WZ-&sM$#lwF9vb&*MxK0xJVY#-brb<`*Hb8hFT zhXQ!+>SXYQ!^xbF02hMS_&HWPL&Rg*X0x+FT)^^C#j)(dBdgsw^H6i(_j6j^eD{o4 z0i@f0_J=Kxe;fjY))ErX5}%2wv*Fr=W$7D+n0jma!iz;;w}v>&KL=)tTIGkkKKr|Q z=37hAbXZ}wn!1*yj*O-RVAAi)Y1Z9}`8IO2dSQz$3J$d|wXY@iwZfd90SEZ@m377W ztj=@c+ZFd7Za9w+=XO+{U=l0!-%v!~1NvBYM#83pa|8M@`T=)nuXdsd-kD~vJcHWoSXcj>G?zlqc~c1}C`u+^If_(Ff6 z5cO_ZTIU+j-Z2A|=BvF|n5MDc4+EHAp&;8Me%*VGAd&Dwkgk6td+XX5PB-$2c-({z zJNuZ~zaII=Km7LnX7`^Z`F|?IH;MSiF9!T*%KB$s zCKXzqFRH@47uMvu>h)tmpZt)H1PgwBMfeoRVrx?`-mJhOke)*25+|uNPsCp>di!`?7s7|6XNX zU8z5QYK#&MqaYS`uur^oGrSyq-jdWmx)4{IP3l+oupBY)`Haj;JQhW|+WUy`(oPbB zewEwlf>?@7E?5?V7cNAMZUPi;{}6@WE(;zB!AZDPvG1%b)qoOAvFmN}idST;=$?Bt zK*u^{a$C}5g+GQ}`b<(l;zKs}@|FHaMr>mIy=9VzXnvO1gQZHG-Ufj}6Z+rMu}F$0pU!piep6qPo1Wmni1l#@)*6{*pJil~$M;QrAJE zl%%QNH7OpP@;r7bB=+_6b;ZX^H~uoYU#+t8moktw?0QEF-hVVneSg964&S>tUyY1T z#?|S@nPcpXuPcXETKnVL>$~GJ%lo7=!!VWHA1{VVm0~O##>u=ss+(e~ywp5?fhUiWbQvZV}%Qn$6nXi>7+_PLx7XVr&SitIch zx;8Ht$q!?rDn^?kxA%Oe8Hz?*N>|kNldpzPOw$xm+}r3R=vClKIR)7oYUO zb{hzu6rhT>=kM($xp#q*_20%aedGS2rnT+%1ajjSyJ+2>0tgFVK&jJ<+%s=yL2yVK zkOPa1FfCiCb_qHuF5lIpRE{@BHCkNU{*zb7Yd!VelnSyDa`CBnA@qg$S0hLxP<5}JHwISpAqWRU`8edfozWmGm;aV920wGq zp4c+VCnjhhqgH9odc+=VjLYyv-TGRqUB8zis$#N|A6-T-?M5NLw)@_fz)YB4D(sGW z0XzHxmaLn9m{8ek>1_n~ywiU#QNQ-}?(l$I?SEMvZeotoPj$8@hFr5rVN{Fz#vb>_ z6P47BX%B-wKr;Qj1k1JOz@v**q>8zZilUq+)c4a+Zv}Y9FPzswyTD=`lUNRWloMjA z~NTnhLTG~sd1`PExM7^@uTS)FMnOvzt`2=9pTe<_M`qOc&*4SBoDS$^+MSKCd z4)sAz)5TC`{smYWR18r%QNkY-?xxz|x3!k!7$nc4>R4=8zy-~M2mtlya#c$xPYp&Y z*3j>8_=Hxcfa*v4;fzPFjY}-Q8+!ytQ>rQC*I7y1yN`=3%ObNb40u&p*3%HglhMK1 zvec$f%!!{hgt@lgKSt+ABi!F=YXbUlTT>cpO6NHFO?bH$!iQmsBXI{!0&C2!%DZoQ z#Fk5WrX_0c`&m$k0|Iwn_px4Uc&xU(LpGNhbERD?hZL`&d4jJE!+>6FwXs$#y17EP zS8oW&$~JMdAMiLal7#ncjOG-$Ra#w(|47}HkG3v7_~u7h(TBUV*5|^#qEy2D&9a^d zuRpi`TdnQ8f5nM4@O>-1R+McjK@rj(a~2(_(OS^9)F`~NZQk#9<+=#Z&V?Nei!@iM zk@DNtgX!!_mc0#SuN^YgW7q(i20IFYwU|KTo+uf!4(o^+HZb=@11C=a&{R+p{6wqS zPx1!kfvE1AJ*H=9AB&FKe#paThzT|2KY zC4~{r)*9}^yTl`DkLTcyBU4s>8`ywT>8y?~@1%3?f!197)YD2iYe^}2Lt06ak$&(m zGkcKM5D^IfP`}8M`Vjb?!S)I2h(k=n!fZBn%0rn?2nD(QII# zf9jQrIoMCn#X|HH+?`shsdiqsz5TvBr4B@3@qP`dNL4TN%)O?;oDX6_s>f^_$JKQ= zSqKQmwKnJ8QRHL)`beO^IPgJRO-cXNd->5Z(iL7kl>HgWERSS=_}}K5t~-aC*M4F5 zC4T!}$e_&HFaBn~>XP_6`%*~i&L)3=ZtVAuPSP3gy)BkHjLB;O%An-4eq5A1>7A?H z2%aQ5eA{L=!fbSICKYxp2UCBac~4d6g7;c!q*gBVT{Px|R{2U1Jb9z(^>tj0G>m^& zc_TH#gGHr38_~)%Dy7L+B{wnt)4UTIeC-^?wUc6R8 zt=H>HuRca=4*Ekgm2H1NuwrV7U|A5ke*?BBwg%=E^LS>ND~8Len^A(?^4 z(c7(vFh4BLY@G72v8{r%{|@xm+aEU{&?akjCE655uiS`Y(occEm2ItAdmDh{%#=`K zm(G4vVF^34Q^5!YcANdJxJN&6(0;r3A=6%w9d;kZwHJZ8Vx2yr_G-wV6AI30%ZngT z>pHI1ExrSb68Wt6 zL(K3PCVfi9j#BKblxrLDk9r!Fnt*Z@fm8!#`XWEu6gcKP{ryi@Obu+yJ?dwmIV=D3 zaK(nhcBG?~%n7a5fUQX>udhC=o!vTp3-#mYG|uSLPXv^|w|jyi7h*m!)Z{Zu*|f2w z)=;TQ+pACiM#sOdB=tXU@xpiQ`8m*UR;1UHTB)$v{w~HY65$ElU%gj{Z5qZ2rl$d=mN}I5e-e%6S15I5P9iIo5*cABi0(pjm zQ!)Kzf@-Ujs-`5Ep-b~s6EMO%Wq)TP_M~#`M85d<#Wp`Zy4m-Ix&O#aIrrB&4N03H zABsiDD?*3MmicgI7_J|A?r*k?CPcW=a1KJJc z_i5KaZ?h85>F%#J9m7^?b#_3Rj}OhP{O846d{?fY@0*GfGt`npQ$);kT5T&)%Sd7I zf?qK{kf4bwh|9?5RoCz1CO4nYw2~v<8}>G?r#S`F7~w59Pl+UbZ4)={Sh`)Wr7wID zp=DtaB6;|fXXJsCkqtKl!~1l;fGJ1^CVu@Az{h(~`J`oi3ke&qG~7m7HIDN8(B(5y z=)|>?&a26h>-g_G2LF4U#-!`Jkp3e{qKdFoQ_Bx1w_728DWT*kAcxjfRLKZv;MlmX zDn(Yh*C;y}@>`Roqz|{P5EOMkJ{&1xD_RxPXUi8|-srgK#dSLf5{Ef&^rIIbZwBZP zZ&e?@Pnq)Yokl)9 z3AbKkrB<8Q@UDLr%hl zkR>}4fhUF>^P}Y?(oVwt$Nnyj{rQQ13Jhd85<`lr;AcNY`Wb!zlMyeE52bz1d2eo6 zU>{_Vl_vM5WLxpRdTQ;~pq|&x)T8P(eO4@sQsbyon$bC9{^*PhgWb-qMub0Ay+cv} z1m*5!;z?XmTSN2h*>oMVZCExea}hN$v-stNZ7HkTZ$%P<0I#^H1CF zi945cnTE44_3KUd|29*eB3|2DkIv~xuZAw+j=iQvrDRxx~4_$Jwa&sy+~_N zX;d(08%qHvNW}#}jQewe%Q@CidEXD8C)89>ze4H+n4HyCyCV$$BhNkGWn@&;Up{-L zu!arKNdi1LGy(A70GLLso{;`|vxG-feyGNE6R`8WREp1OizQR9y#%nM5g)b`u(SM% zdu%?o`HcM7*jLxlPLw+QI%y+&eu;einaq()Xly1=(P}K>oTAGG9d7pB`dQXvdF>C% zKy&By5l3AnKYyA0Iouce^*p89y^aA)3467|wgZAk!DCzL^V4J2AJ&y@pBwwG$hHvo zPiTh%JrSS|Qi}j$c^uwZ;^iF9TS930awb&IW z7|!YsP_$H#qXO`r#gbHGbI|IN^lQEtU{q;btGd^nm}`AJj~I2dB4M5}LhnEM3xyxf zcE9N2Uq18NxQe^s<>dVU{M~#z&vBYUKihmZI#IcdYV`&2Y9!bMYOPd=2OcRD*kTB1 z*$(3T=IpV+0DOKmE44Puz1-+O^C-)0QG3rdbPjoyTvY$f;nlcv=NplX`10=QhFe^a zG+89Cl6Qzb^-np`ub5@_i7zhzI(2Z77PH^*%n7b6CwzrkM)`~U^oQy!!r=NetsAym zSZKe~`iCykOZ+a-)7JNOFrt;EEwT(Q&^|6y8w#j>J55i0H1ZmG3(h;U}IHzfGHWInXB#68w= zEDc%ik8dAWiObBlzPWVpQ}%6~9LP1PS~V^$5r#UJQ4IDdjf8}&1Tpa1Qv*fsaq|va z=l5M_{Ck>Sx=7Mg6+p(a_fp$psvANt=%~%xQ7rd5HF{6Dk7xtUCfn^1vw5 zWkQr;UjBc9F)FIHN9aV(TPCE3xssBCN|6IMGT<%tV5rMJo>yR6!Sv~3m*j}^C;peN zhR25hZl-fHL9j$v($x|3kF64!PKpT0bubpel3K1tp&3t*zFf3@Z#8*x3pu;_hk7Pe zIpP%Da(gAx_|%CZfAp0?mVakk0yd6v2tX_7o0I9^?3%}0SyDf0;2J~|-`_U?l>U0o zewWTPIv>QV7O!)*k}FZKN>p=%mP2=UD`99}@``W*MWKj^oN@CsC(~> zQR}E_Z-a)kx9-_{iTuxo9JP~`zZ$UI(;eBRQi(xi-vvqRarznW=c{{^+*Q3i6zupc ztRX$8*=@hNWKXBOjJyiW@6==SY)_Zod_*U#K?#)ihRsofXD{t^sz~2_x3+X`olaRQ zx4-S|^`R+0--Dh;zm;|&OeYyYvgA*!=P1B;jNIUFl}4_%D}M1+6NY@YuXC=>9(=mp zh%Ni0;&iXM!&An5TYA^^Vdv3ZA@^*fDBBaf>Kc#tr(kWQ)tDCWV&qNB z0!fk186xXfmR?lpz3{W?^{Y9^>Wvp4i_Oexk!;-f>MgvS;%Fo1E`e~b8wxiW6 z2^xATQXI9r6XnAF*^(iyykqtA$62km)$?YdRy7$8YKd%J?jv!_7Z;r_U^>{K$9t1Z z&0kH|i`#;=?R~UD9y3w2qO|#I257}5I)m#lof?Zmreo>si{oMb9hj)7ce|-wJPdop zuWo7>3MRvz+2l(lO3Qt6La0-F-YW}?*B4!Q!qS&vO@b%?!#d8Ig&QHrm z{2D?&dX6=Hza6V$?58UczsP(s{q_yOav#f6@hug$Gd95z;>MV4+iXV)m zh#1~^6%UP}7ig6&60mHdN?LSu4mlO5_r&8(rKd#?k(DB9VRbX0yii$S-rLh5+Q+M- zmP4jh^V;HBS57ID&`z*ew^_R=MgznjYst6i#7EbT=r4#b9O(JHT3B4OnRrrpOjo*R z&yY7srLenMMNZwLK&fXa=3YAgGSN|QW~H2F7^wBtS$^&tI#n%+K>t3S5}WILuF-qEpuj6F{7jjq z8rsHsCg;wy-f9jJJvhmOOKIg}RcwojGFuf<5RpAYYOSEMRHm#T$QB}dgb*ARk&z+- zvXUwaGQ&nj5|j~{k(I~{J3t^2LI`9&H&VNPy}rNedY=ED>oHzeLrre(`@GM2opWC2 zywAJRc;gZVFwhrktxv~0`GC;jm zT8j@i$2Yl-S9mi-uq_yD1Tf^D8CKXez$F%zCOnthzXM^(<`A*}n#Z31=REf0)px-( zU~Uy`nl`2|-h6JoI9_kX=^zV-O%==bdfw3IB(9osE>Y(!ZfUC69Z`vjhTM)&ibGZSqIg-0Tw< zsJy&AYNDgd26mvzo>Y%#g(1nrMK$xU%sVsMe=P8jR#5f1nFVo4jkCX^xHOb@f1`lz z^aQ>tMc$kCi=L`D)&F;AsbVu~e(+s}P$c-HUgst?=hO+acj;C)$TaJXiyzWnSM^0c zZV?$c-o4M{Xj#|mrW3}Xx%VNABUXCYrZf2?AfMdYvG58Pi`>1V$Y=5K3jExBe-l3L z03Oz92-gaP<<-H)JhBS(qCgE3hCbB_0R!QAiwwV%hE%mN%fN;csPi94cT<9osMzm? z5%q^|W-TmLVuB&)) zc~{F2tcznt2F}SFk=f~uWiKdm8W#=e$- z>w}3wW1U?B)cZi{FL4bodOfnG+UQ2(9`d=F&nqALpioJPUvqtf6nv6faGD$KP=}S} z(|U710=3B}Cw5mIV|$UNPwVyRsj-JY%*gxw?_eahNM+z>=kq6nzXD)I@j*LNOHI4S z>Ub)31BrEp1AugQX1@>|c#Qo6{j{g_Fa#nK8)9x_I`T`L@ulQRomCXWu+-#8SOpv*;Uf_U-dO1dkEWqt;(iX4P z7b{7>)Ki;9MC8egJyFQ?J(t;Y)5a=7pSZ=6MYBu3Gq3>WC3~stZUQ^4o8*22s(m^T zjZgM>do6TIDarN{VmBfpaJ69>Kq~SIwX*goSQrf^^?n~W=^Y`BjpYOzQ4g|WF%gM8&P8zeD%ri zij&GMSFfDDnq&1reeh_b)x0rfzU0DVmm^0Ob4LzDM;9*N(y~0X3=GD+Rv_ZCg#5Aj z`i};dhc2$&%7ABLFRCk>$nWJSYy3R*ejB3hyOEe-gH28Ty00C=>XMmoZIJ;xjPsaE zM?Qh(L?$0Kkkq$SOr-d^CDuOp+U~qd3%xMRau-hL*4jtxxx6Nj%FMUrat}FJAKOm) z6w^SC{luqe{^wv_Y6cE9YGr1rRdX3q!oC9Ocn5m=+mDJIr+h~HDk=nYlGAHk-U6#}WLAa%*k!FEP-C4|Q*i z*5nstQ8yh`ykJqFuNLz!8g5E4*~w-tL%WOQTqNOI!;cp@pfk5sERu~}Jvck{!s%I{ zg7aU4pk@DnDBGGBzf;tXYGtp5)NL0;|BIu2zv6mxvS=0P{61e#u{X{b&knr~)T7i$ zQyz|r3A;|Po4mhjh(6wQ8T8&e$%2=3tvc-LU~@^&foks;S$4xm1yh^vDA!dQdr~*j z85`dsf7#DEEz+Aa^w^FpH!`n<$Qbn30im9#dO4rKFSh<7yb#xMSKsF2&BnOc(6a6< ziJTL9G821Qrj+{cJDj{7AU{t=7=LHTaeQ=~m6qaHQ-5Y8QhGu@xAHn!2`-q@eO1<6 zjk;=Q{F?Q**e?`r=VCAR zBWuQRl9=&{j9T}_e8S8D(QNmQ=2c?uFrS00S!Oy<`Bz_O^fVl&aYe7 z3LqNGvXNk^w${1U+@!LB%O*n9!3dYh36%RIYYpU30#QEkhU4rn8{f=u#$v$4$5x^i zY|ibAqY@EF2tH(1?-{MhnzT}gOw3%Fz#O7>_JKAA-X?Kh5Jur!V{cFEjcD?&yEcbF zdXLP(07&@=Tozb&nprxoUG1qF(XcJTu zj^CK@_sVp8{9^1f_uDp^i2El*j4f^$Rsra`g>*QbR zSH5AjTGU{eqmx0qftpxYj4}flnC}K;yPlU-1<<}^UkvER#2?aoDe={KiBDk8l?8+9 zsN*H04zi;+r%#1ia$c5dLi(*TI&<{)9OvJJ4*sNf^yGG{CiS*^{7UGOLFSYUv7Lre zk1NkKc@gOKq$A@F!z(iB>WOKR2XeVip-dJZJ0$a55j*rf-1qjT>b{2rt-z7GW7q2# zU94h-DFs?9<9YA~qpG0N9B7z0*2ivJG{* z-Ds${P8;hEtmMo`kl-Mj|FmlAVaNwKMH}7dt#7u6Eo<+;b>U#r`K$DHRZwvT;X8evbP%zW4lr?6^yp3aP-XDkmvIp{@4Pr*9e1L- zzAdbFKyBsc)>r4AW?WHiNH2VtCQh@oSBh^Dv6ycE@)S56cGtzkDt7225kwCpYT>$%?cz|zg22KRI=JH@`4o+o+1yS3&+YQc-t}WwDT31l&D_uFi znnKZxVN(TQpk9vFiO|~1Gab>Fa%n#r>b!Ngiq$nRye5l@t#Qy+{3ZU~F}K`$o(Obq!~}Iw+njNr*J4FS5D8`O)p>KJe}}9@T5wJ?0om` zgk5&?rtXkx=ApT$>O+ZNwe2Y-&sfvnfhK23S-T%1vJA~2Lp0~da)j8>WlVgZSjoI= zc*;#%7IHdNZHRuUZZ{S?ZD4o8F@qS|BscG`pBeRPT+h{cL4eI)DNT8&-*;fRZ3XpB zwxRDY1z{LdMBcJyZk%2{>uTP|S$OFg@`Rpi(iY1fht^4tFxsEas1JO7B012ltc7Nk z_s%SP5q*Zj9oz75`jUie_T!{^GtRHVh?P$AWFNvjtb>O=5&brJ(q&(cWaI8yqb|*H zO}!5@ANkyCll+E(8$}V8@hsj`MEtqa6ugCJt4w(^U-Ik@wdK~t3f;TYsraw%puj(9 zs0$a(?_G;rcyz#jF?IPRwvrQx23mstswrhxmDp`~u`kU{Dfg2Mby>)8$~S(Ac4UPZ zQ|lpx(D|p(4PU*5;N-a`X_d+Y8r%RU3O1pz4btmkA9oyrBWN%{p zV$5v^Z5Ot+eREdOtMTA+XD^9dN4Jh=ea^(E5X#hdWhS!cC;D6@EIDml4g}@98Y7xzVAq1~j^7oK3OTl`ApTqSB0>>=KE_p7_;bc+`S>0}Y zq%^}tSyH}e@N3N>*KlU?YyJLLlcx(C@3> zC4SPqhXZBAN^*ND^2husLVIhQG$|)K@}LG+NbhJbt3(dn(b}JOcq(z+zWnx6P31$_ zh$!IXHxm~pxh~Wxs3W&k7hXfSW5ZYE@6)wd>O5jI*K|f{4Rx5#ta!U#XCrOjr zOmtyF#>O)8SSF2OCYc->1RQAOG^XUvzLVL5t50o_Alp*+(Yyzd{Wo);w7Q8G@#O@WlcBI8KBSHuN|2DxU~# zL#6(BIa${<*#{j}!6QBg<(+k1xs`k{J~hG1knfh$boM>jX5Pzo&1*VUb^jEV_3L!O zzWtjqrLBkS2ZeGMjW&XP^J>OIWlCwnWtoM@AdV8y>-@qnja54MD=PIm#qe=*Ug@H4 z(7S&NzWtb}?e^<|-swx?7v+!~E5@NCt%e7b#jTeF`_8(WqkQdal*B_0;Zgmfq@aSL zbUbP-l@Vn5y9!LnWg~?6J;kc1R4t5NzmS&ad=D}4O}kwOVP&dP@u8=sZmwQVs%Tuu z+SK73oWn=Mn=Wyf^!jD#dNSPgz=TALT2tzG3FGA5>se;WKNXOlL?;@DHtRQ+mxl6N z?j0^bPHNd~SP${8M$T(#VK;qBI|$zIj5z`e@vkL^_CxnNrchrfCu2v14Y$nq#kA_d z&ik!03MRLd;1DHsSM$2|2d&?Rj_`T{m)}mxwOrTIF_%w(Ey5dfDXKCL8r ztOYAk!H0h19&w^$(*m5-7ufd(?0~w|(^nIb)ZEH5POslnd0R|)|6<6UU~2D$@bK`E z&`{RGa<@Q^rXp(lS%r^Z>VLRn=pOd>p667!3*M`!d1h|iyXVns4BTmpvx_cdI$YdaV+C z(P<-dULEPUMV(2r*}pI9zGk)6etEg6O=`p~N6q^KcB*=nQ++w#c~D((3?A3+8N2lt zsq$o+pSm7hIe5u)4Tjl_4IOEz$gdgnx)$u_TX*_0U$YHDR$dFDhv(<0gQ6ph8QeumLI zrkG2+KrW>ph$XWK-m`A6^Bb$CxeMSPLz5z$(0VE}lZd1DQy34_!S_t}r!ifuI#zvp z5!F-cKOk&pQ47u+6X@CLH(qaHJe)s40I8D;i#J-JGf4c#{-> z>NQ|#M1lt76ZS!0h#AKFkFdk3xib1Z5x>GfXRlzly|%ZSvvk&rT@dBByMw19n%37_ z6ii~ic7Nlu-z%UX@1r2cT>Md`B1Kje{`}U4{>B0D5!D)~jqnokLY!T_C~28lvE`jI zurTpzMc&yX0OO`eJwX5u$Rqt*jtGy-Cy3d$-PzOfdZpW)Iom}Li!h%>rYLWs4r_@v zsh$||3pzW4%L}~KLq8r=k44 z$I*1tv5Xs+lOw%O`z2aeusyuySzA9%S5bR9!HOM1*Pj>BI+?WLwTS7+Q!+>A6H`rd zrk&49$#ulmyo+F6j5xP|O)nm<;jSc)h(D?lf>H7jhst|f7h-lS|h<$cfctZ>T>$8BrO8avq zUMMTHsaCz za;rx^s8UlKKX%xFeRJ;;%u@W3+@oO|NfVGw@zPAQG!{9v_9`poHL7UDTSa}t$6@1k zFF#jXClKONmf*1`NQk@r^oj5_D61YENi>||y z78JD#GAcenTB+YOl+!EMA`Q(>uoa~Zj90WmSF1ZrOr0#<2QhF%Hb`$URgd7>%%T6v zub93w>ovFb3j981RYP!VzJAO~I>9q-%c*cM_%Zma9-N7!$3z}13S8$m(_sQUzyh;B z)4-Ndud2!b+#ENkvb2JM>n@9`{!)~bcNGkdM9TrbD4kI0)j3Ksk^)z)5faYU@@Kf%Ed8W_{H`H)x&`0S^RFq``EHMgh5CEgWOUmznT8&vZbo_+V2Birw$il zE49P#+w>PM1t{-eZQ) zO+P3*IlHgjK|=A{L(HGdZy7jn?&JIu9(%TS>fs%KP2@MOH9FF$g5LAoJ=?Kc1W-_@$ja8QQecROiJWgQjc^u z)zrT_Oq?0I_0xP+W#}Ze<5SSHEkuC4)(zE`i@F&&2KI9?WQ}XBc0mN4&<-Fx+%=3r z@UwMqFR<+E!`x59J)H;rC$hFEc7>Y*XhHP#G1QI`YL4tc;Wg_bxL?Wjb??=_i9{23 z!ANP~?D7v~)GN-0dIhatc+l5AL>_g1^UOuxg05uvroyY*+KQ|Z=HsCK@$f6E<~xZb z1-vlRa;WW2)%nATxxR@9k$YKDk0}EqPZ5iQ-FFGMEzC=XLpA%)M~vw^(t<3FmyhUx z4%ie+&D?AV!aQ3wg4axj1|nA9EIuw36APWb1+2o1k*h45JljV6^)7kxrIlegs#7-4 zE~dGm(aUgz<1|&+%^nllmmHqN*{x{}vF&?L39_Qr>iG(UbP2cStTZDjgQ@}t3;AjG zl|}08+eO{-P#ANt>WH|A$u$j8p&bNYNAG#77$>sLNgEnvDB4d zYfF!Yq+#vF*p0fT`MOy^uSM6hDLm~%2(JsgI()Vix^c1VYr*OUhETiGsHA;bmNuHY zvl#74J7~D;@Z*pR)Zu}YC6+DuV_8Atv1^Lr?aHtXLP|F)B;SM?Q=q}F2Z=BHB<6~Z z92?3kd(WnPxAhl?ntBdnLx7%;f;xy3ocezbV@1*KpTy@cX!$&Ual;B#K(POsHlgWyA2ub zpdIcY{uap31a%WPP}Co|8X@7;KyEOf7Zk z^k8OkM48~_tI?)Xs?bwN83tRX%bvV53zyKa)&h-J0L56tL0sT{5h7?D!6 zK&b(N$X`pBdq9*V8LrvZsTF!5?m4y+L4nhMHe6dN=yVC7^AuJg7c8cvmSRIGf)=&l z4PIqk&Fxh-_d(6J1kVo(9}@83b$iP1>##1Ndow0d$cMDy1q|p0yoU*n@_9S)S*Kn0 z`87w?&a7;{*^fq_of&eek*2}uz`0z1^ucTgs)$Vv86N=@r}yR|<6mZaK9E(!`F5W+BGOI^w022H=*rChzTc>uuS?#myT~ z96>jr+sXm_mBKvGavdKXQ=i&KG;R59J^!27K8lh`8hS>ji3mY(uSaD|9~9(}8eH!` z8cr~ghd&9fU;ZuhjYJpc40F9w_>hA5c&^vufx7Dow%dRq@Or}+bRhVr=T#j>!t1jN z>!szV`+usc+j5$(O=T-^_W%RBME{_Vfp?^MBUku(MZrt~n0w)khml}& zX7h&gdCFW7Rkg#3PQ8G^1d?&*_FIc-xcbM;UFqQB{D=Zv7l^k~Fb!Cv#2>e}t7Jz$ z{R^4^QMEQC9b}xRXo)&f_uazkOhFL6OT$llJH_}5y(~6GXj!4zdn_O;Dtd?b+baG> z3~@55{@Gq@F%GwANpXhvYq;qI+saFS`i_|7y3@uplS731^{@ZyR|45UmKN&Rd+Q?i zpU34tKj3!cWSS;Z?kTLdo>6mE*>sM$gBKY|kBsdvZB|xdq4_UT~AvRm?H~nQ| zsUm(|Z%Foyf_k}OMA`aWE`a_(>IMAS_5<55C4jQZiCLZCt_}%9Ar#$e0B=R`Ctw_( zjRS)dm=093{?)(quKi|nmhAHl7i}&v4cGJ!3jvb3?R2jHb|>m)7O1Z}TqX;&s0o|) zso%Df>0}JT{o=8~)rLQBuIODXYdzDtqsvnmP@)R`&pZ2ITQ>edM;yx)b|kzPL`)Zek z;tk>L=i$ftmcbbuim{?)ZjxgF*MZ_;C!8GK+?+w~Im0f72v1DV4JGAcHm9Ec>FxS} zUjaR-jE3(Y}ujkw*#0z*fXD#TJ!+A-oBdflbkCo ziPb8!@HvA~mDiU?uxQ_LV>g9*a6#@}n*QL3oQ|+X7L>7-(MV6A9~F)kKK^W+=B-NF zuDKVt)pDmHcPF&pXAeZE5BlYWn>V6iZyw_+ylunoM+r+zW*R9%75!=nZ-WNNQ!RAX6S#>f`4K6U(CvJ8_jKR_h_Fz1uon5jacz+%vc7WAzJkdU9D=nOtt}FvT6~u?^Fo7g{PXHKuu_ zZ?*QHPxyB(&HVQh{8+8DrN1P-{q7$m&+ftUT_qF||5IN-yYKBM)lB{)D6_A-(RE)M<7xSzXF}&6Q3DV`{7oo$ASCM151bAG zqTm~E6YX?%BFaq785_|*B8`74$zqWI2T_s>Mow2o8a=Kb&@#0Auy*bz+6$?&&k@45 zkNlh9GlGxFmAe7|??3JD^8eAq{%_mn|M$i1DCIvT{{H~+{$C~4&KK`l#=)AJvdFT& zhNKWBhp^>G=@N3=2kCtA#Xpt)(y^XT;Y8YQjQ`MhAPd6th&~Ez%`Zu)y-YDCls$#< z+i1d8$k_M6;UTaw#dzzk4R7y-(396vmpO_rCE~tEc7)|Yw=eupOg?__^M&bG2G^5J ztMc0`TMinHhYobNvb>^$8wv2o-X)iD+J}s1jyDP}`4Habu)D@&49xXHqxx|Tmd_OT{#jE!YBAMU@wuHDfVv&pO1lt#2m6Tdd4<*js|9B;31uHeMK ztcZ$REds6t_?sQSv8yDbE0%?2BZio8-h3UNJ$mDBK-E%-FX$2Aw7D?HZ8#IPJ+XRn z_s+ZX7r@F*z^K?Sz5sqE{frm%Kw&r}kQSQaW&ckS!S=swJQjN5U?E&N*yNI_xHFGg zQg$>0|Du>pw3K<&{$Qo=x4xj~oBpA)G`yLumE$xmVez6uKyl+HzZWl`35NPzo-hv2 zWPsWFK{(4Qi-SGZ!2@Jj(>XXNIlvqfVy7)mF#gfgaU+m*8pjLjN9q-B7tQ zQ;!6CP3*l9eaIG=@8!e(%}DG4PsV1+>%x4DjGq*b-@7GqW=kerFk!sW@P}G;8*R48 zb8#79{vt8v{OP~e!Trhxy9$dh?h#CoKAFT&;Um4gYPTSZ4_)=V+zL(--TS&es7xhT zeWv0;*5;a)LYc5=)NQ`#e2Uc4!}7_PCh08CZGE+^N{4a{ILoxE|aaAR|; zsY#`w@{iLjFL`3piU*#!%p4f9UasJnMQ_E=n^H`avQV!zsF5m7X1fWsgu8`kl{H-t z2E}V8IdXL7!x!gCcjPc{_L*7rRTgcsqNi2!TOpRE@ekaAq*Jz?uWuzk@EEfQ4N%>Z zsaC0134~j@4^JH>5?9ctR%6iL>sUf0RlFYPy2{QL=G0@D35?OZUAcM(iW6|eGuT}L zsvAu!kLpFElMjMJtHy#;>PuA(4;Qmv?phtzd+#;%KT1m^x**&v^V+(=1vE#ue}6mr z7sZ0~=wxGF)lp{sK&3jpA%AnmX;k}es+DOBv<3bt0ySO|H+nIeyeQpNCIl_huU>|CGyP>q%fg92-qF1JVVO)ZsDzW zr=D6Mth-(*GB@00r9xel#A2zf6!lXG)k%arpEoLVcydh}0qSh76-cuY1yk%0xOdDx zgJvhK=9y4S_@KD%S%0KCdqRDZzu9VI<$f+jZE9hkeH;wmkT-=JBmV@nZ$iSXrh_2% zNBldeicDO6#+yfZf>u`)eH++J+U>899{->8^Oc{=~J%pz>F z-|u&yH-qP*Q5Nyp#o-6Va|p2J5o>y|BKPT-Z1L#c?VKTY$^adsIC0te;Q$nc)Iq+O z@%GbCmbq-gz0=i2Q=xYH!fFhj6%+lq2Ha{~P~Q|BN_Yl`wmq9qmJ?&6lG5`vG62Fn z94|aCWHSl-`T6#LA);}`GQ$IgFabcZbO-KM=~Ep0vzQZyqM7uZ)uB*GA#Rg;q$}*j z<;2JNtwVM!6ffLyEPCL=o-h`2uB_{biqYXN?UhIA?kj!OKF-}+ai{diS_RKwPen=6 zGYysynXK_BVjCAkMHPNs5Eny_Ki?u>9>ZxzF%)2Lr@B#uxi@dEzQtq#gUu||khk5NHKxMWeGZIIg&*fyw(huz=?AnTO z26{p7_z1pWkBmyTFPUd@Q|eW-ZB@EK@Qs0?uiZ!bfFk^COsJN%VtazsHx~M5w4ZcG znuh~MgYGrpNBF=sYh{qN`5b$G&sgBiH>WUpMy@?Dq6Y-bTzdYj5R_cA{AffmpNi8C zYOi0Z@R?{MGi5s%s{`SL98%Re%o@j_;^} zpWq>t#q4Y1JMp}2yhJFZ__+iaM;5_9Q38W5!MaX%}D zx$x7DqAmSt)5*n`(VhmI#JArx#W4wlHj5|pcTV%1S#FcQRD?+X_g1t3A_X4P%QhSbtemqZD6D5fS6I|mZRH0`=Ww#2HCa&A@Uf?A{1IduR znoqk8AE@*I5lG|g%-9e~#@v5g)Tr(Px+;ibf>{}QDVFFw3Y^ycZ3JcGZJ=k$ck_z$ zLI%Q2X+5H5+fntq3F4FEB~-|ks(Jx(Ng{q8bn+9R)qtI)!rJtJD0?-;8M(-?B<#g- z2oFZfw+|la5ig_+Sa8qOh4}XV9(8WuqS2l>p&Wf=&9(QVLHJ3?(vt~%qK~wd1YkF7 z8b1p8IXttopXk;{d?7lwNj(loO^-1F;_JuluvEwGuN?lx)mPz7S$ym*Abi+~3p>tz z$SmQUQs65wb@}QW;VHko;>2-0)V=V zApi^=DYl`(9o(lHC!{;yhn+@^Hgz3<8+L)_8xPIzrC#2*{0)v=d}srCmRXj!K9lyy zoc$!KDcNMj?t6q?P4W87V~vp>xW9EwvqL7A6<}rVWaoP&Q|GJG{LO=XDUaM$M)OWk zHM>`(%MXd8tx|mbl7}cwFM*bVChAe)&3W|}x&cWJv*|VEs%c|+B*F}G>mrJ0C`A?V zTO{6ZVh68jy!k{!UeqPCEM#CH_ywfhK6{h-y7=#C#27&gZxt!eQK|ehRzIHf`!d71 z3XfQk#RzI!Besc4)+3p6T;N&RVBy^Q)BSc#IM>fB$^wDS5i2Q7UjgE0v6-^$fCRjS zxGgh@6RQPH)cQu0G<#O9CeU+nK$VFzZ^$%n|Idu=eQUOftmqq5Yl-+wl z;q5(uEiTV!Gy&WHgVh?lpT6$q!j^ZHMBW=!EmH=)R$=pzv{+W{`pWCRu z%|eKhlmnU@nDz8?Nv2c;->f8J_SQCJYC^%1&|0+o$A+qm4uD$MQkFB4W(q@Z7c|nh z`gGCl`ck5#cFs6a(z6`xOxW-xAYR*Gk06FS4P7FMg!@OzZRcYS zCWdn@_V<9=)|Q|F$g-ma6m3wTmy_dKZGLMFIgzou#9vxIF}rIo9D|+LIC!``{m4s; z_ad}OLWV>r;7RynwM~QmJ1hvJeR!Z9u!c0YKov30hI{g-v5VE|4Nwal5 zf5iw-PI6&`%M7b3yj_nVMr(^pT4q4Rm@tP=Pw&|b6plhVzFWK}3{fJ1R&8a*oVO&d z?q9x4*ncRrHD}Z!t%>iBLCfO_`O`paR^grc0s|NBubFCIKF*q&KvwHsxFF?ftvM`K z!U({~tv8ph-Rr23EuTjTt_!N$#wtd}ufmq6(c%7)z zIm^I;F0Udv0C<(Bub1tXP5|YE%iZHzIqa%Wq~u|Y6b6VE=sqP3tgtu-Qu0TW_*vay zN}YJf(snvYJE-Rh=VTY&om!aoDf~c*2{mmsz=&Gt)cPw#>h*sj=tf_>=W!*Eg>woR?TKw5Mt5-??{<`>#Yo~wXb*`{9ulbI|>x?#>v z=qxS;lD7xrG8h4&^K6+ry$|023;p3);Frgygq+1V88o4C*_u$uaJA zwFP!?FH`LuaZ39W8~0iUo2Kpp1oG1IyeZ@=jl!#?W)yFGu2nR6s~)2L$I$%aHxbAz zKHPVMT{KL=cp`}UgOr}_@{5a_C@B*WuI{DTkXHum$?YAB_y19Dr-jFwMXb;3UX0g znl77drf0|h=ryrPmw=oM?4Jd6#V?ak?7ukJ`qRc6?}d}A5xKg9;ZnDk%-FBc4;|yV zHtP-al7x{W!9X%5n`}5qs~+Sw`b;FX09z0Xkv<*Ne-HrQOe2Rip~&y+=Hpfe$Ws#MjM^5sSeP*&3C?1f;*6 zl7qHNqGM_c@%gVYh;$c}hl8;J7z1Dkczr z83aKep2VihCMb%vUoa{A6cY)8B1B1dt?p|Og^%YivSJX5S?(-s-RwAd3}|58UDMW{ zb^*n86D8%)PH7!5x+*_Vri7UG^X0zXbXwbLC@^9h?el5Yf6Kldwv6UYU>Xc;>-K%* zIinGk%NNmkDg2VdV_ZFG$f$+|R)wvxuB@C_7~Yy?abch+Q;%o`oICXUC!(nNe&BNG z`9FzdfK*d+#qQlza@}$)`w>5h+P-Ymw6<0sVHljnjG%tB zkX;^;3x4cgRGiv{SWu4bj)l@i5e+AOs5G92hd?WUN9CO37JJU{Lk0)?YB<7S%)xo`#iC10HS3RAA zO{2F^V(ud=b!`wxXy9fP4LoKa<~mZV1eJmJ3_jI12nIiz$T+3u@9sNj=~~*#kJ1TL z_gKlj;9`pIl~+lZ60?kV#MhtE_Mjm5u__vt=%&b(+hTxKzde+;6+_Q-S>rJAg5dBo zNh2t39mp4bGMfJ+DpyqT(#{)mG+f7HSE_H2@O5jCKrv=A&CdXY#t9R0r`9(HUV%@leH~p&gCH;Xq&K zDeA2^@m;@`;k-P1b(=nTjk!X$$-CxF(_BO7tIympK;{ATTLv+7ndvFi`EXKfuMi@hK~6$53pE8G1I*zA;= z3%1nDI~@iVlPlLwm&Na!P3tLsT+41~BT-2{Eo0S1Cr%qskpOW1yqB z@^x1DvXtvG+_c-dCS;QABUmiLu328`F_bjllP}J5a*9HVb2XPPH^srgRyw_>xf2Vr zwG%b9gEZIs#J-C$wzs4vw|Y=_N7WM13ZR+kG2+y7bl|<1PwdLfVl+qg*uNClP^@HY zUP#NdUwtscNyV% zEB31&ho7=*G|o5l1PU>uP)xi*{_MUSPlnWlx3a+x{;%RyAy&HO4J=%Pw<&es*Q!9D zIRidiamE)=R#i&KHW{$~w7%MCr1wB0dJDjmZudab;Xnsrv)|=0r`+($MIc$K>L=vg zaH)_0RTZdC$nKF!-oL58>|2;nUx&z_Y;83_dDD+%%Sr=-e->FyQ0H#mTdzmrzX+q2 z-o6^Qu?(ihts6SXw_aNuayrS$XRo8UXMJ@ce)8K zAYJIn{Ju`@1@Y~7xHu-d#Z3_yg&F4ieCop&m^&#(Cdam}2j=VfenaPaO?TOZ_VueZ zFScbLn&+Rc-{fnfPV!{VaE|D-lDCV5XN@fIi|hYdqMvt_%-ncxXyNR2EoG_Cxq{~B zH*!#gpiUm1gS2*%t0&t<#8N@TOZ6#sCUYoECq8-CYla8DAfciE*lShicy6HQSC}_V zB6E{Zjx^gY#q6U7`uiofr_bcAXD!kZ6A!r2vIYl|%vX*zBH{^keh)DzWqna#>m^VQ zy%&pLREtU8#kqbpVA9|&JJe2LLfJWwYq;%`TMXeWo;M0N@?E12Jz2i&ln1n_e5Tt2 z*n!bjwy*Jd7^}=4@9WhrOv(^o{wToi^v?lLr0&XJoeC+*8daM=KQzSDj|zZ27q>5* zwf_h($FCC1&0jw7DSU<1P>bMAH+VB&o13M{mA{?yeOM5>{kwBO@EZr>(BR~Pf?gys zCg=+?=pdV1{Y#hkSRA(Cxd;0~97MKFgjVLiiU;edGWp#J_^sJG7?1WiZ-Y;xZBe_`OJcf2i6SjP!$epFe1mJG|$Lmt&at3?tK_`IA|8$+;Vu=*SvK~tdVw`V{ zI1Y2meQbp+yHa_q2yLPOPu6fT7q=JAqtOY*p9_=%mkBXb4ii>x8BPiUyFQt_U5#iXin}`8O$MZdj@0zAq5<`p1wJiCFv#@w`|+j z@gvQ=<|-ISbO>&Xxy*0GO3=~jhoEYI^dNm|q#cS4eY@8lGsrzZ_cCm#wbX8IpH0GR z4s(BdzBW?Q^;40~={mqZ9v%?!>kwJ2RaqUfWI^Z~1cxpNW1{uj+WJa>aBbvbxF3t} z$&?2mj0AK25v(e-g9Nhs`gP+J+R>b)F-%@&Q z=C$lnbq2>7ZuKe682k7#ZFN1kAm|Lf(eu)qInEqJSQzol(_<{gdCCLI>1^1XO6~>j z*V!_rfU!O#E$^FLyN@>AK4E2#f34+x zQGnb=_gA++ca+E&f68mrs91c{#up_&Kjc*=>^{4zWMy@o-02JryV7_({g#TBD@evN zX0d;<80~Zzc?+l$*sAz(huoDPEfoAh&g?Tg9Mf3&gv*~zt2BTc3Bk>WL7%?bI} z`5AoQ9wb*-R;Dc|gPL)ytxJ87=~&so2sScLP@%wYAxZn@;n;pz#9zATRuxM)0j&wK zRfq!n4UdCE{9S6Rg*2#xoF$pB>yTAN9!G7BwDFITF#ZYHwp}IQDD41z2xrL)YA^5T z(j#u)IK34o=_FMiV-Ub2DT|8RV}!*fpLl6tN&Z~UPmK|=9gKI+;(;bc>}DaZYhwMP zDFt1pxt!#YK)Nv0J$Ds5ZjtiAJ<&pR%6zWp_x zah#-e)$wLCXN{+LCKso#8W89jaakTL-Sg#KNU9wXHlyQ;PAH23&?OPCFv=7wiF2PS&9H#*XWvHL zbPoqie2BmLj^YA5Z_qhIUJGDmLQc-VATLcSQ9FPxRmbhOCwuHvv13JOUrCjdz?H8U zl~$5?NUWaWf6j@uQPyKO_r9wr37}xBI5pk?xfrk6bMyv@i)}* zWZw`b2d_rVYbT6L3M;?gUY;-P9v_Q4(I3mQE@@~KRXQo@y!*S2#sQPT~_*Eb}ZW{ z;)fA~f)CbM;tqTdbJOWX z$yCLvGj#bhU{f*AaVXusCSM_J*+?Qz>~#{r{OAN5SLsBDT^hqL{JJ^CxmRHjJia2f zVQkYO;uma9Ig3FwXT8^P=wT+M75w{-Xd-_7Isy7enE03zwzlXbDmv1@W#s)qSX~%l z3cIKqr7K%FBND^ zfj4tzS{6~M*9cLsfXsRrHLAU1Lz9;`Y?t0X6}N}J_6Zz|@_TE}lxP`Bz&Q+{!evV< z7D%lWFzNdqjHj?kLmUb_<;jQB$<+P!H2Ld;Lbi?yGHb5UeW=~Eu5auxTk$~^TNR3I z0YS*$^@L_m)5r=K12xz2#$$A$H6u3khBegCE~>dfm=>`Kg^86Q+jY{>f85BC**f@>-!u_yhgq#snV!MHy=?~ zv%u0+b(GS1!fD7R84qDSEF%3s9H^rrdP=k1OeoEvfgRkC7CUl#3F3@Qxts&`XfOgm zmu5{q491x8`-nj|_j|w3({rEa`Tkya{^0#OpU*j;_j#Z9cHZZG&UwET zqS#yR5jr)mWioDG`#nxJ!1Vs5a6>wl+4ep2v(a3qf1#;9-23M{Rj+t#s%C>eR;S&NioFd9J65gXnjFN2wxFs?pG{bf)c5@K`9C6^HRuD52f|ow@*gHS{Ht))^PK(}ThEvGeV9 zXVFc4rf;6!b#{(d;z_3g+g@^#6ORs~=It$@JOE$)?)ZVUhmAk`yCnoZ65v0@mU$nG1rPrD^->(eA=$ZLX^H+kM$XQ9(FRo;3TGNvhx|N`4a_|Kzh1czQ}- z!Q}|F)v$faTO9sOW{~3*het<@ayDjevRyNDh*sH=9B9(Kf9n&~iJ31CYrIs3Q$t;9 zCroP#(`mhDtvt7xCd_*Ao?WkOuiBlHW}c8N?8z5CWs5AH=xAe1y}3Q(zK=Y^TSsU~ zq085nyVJM)JpOSmn4UN~1Lch|?E-&-IlMyjKWlU2pn9tINds%YrTL0TM%=k$X8hnK zXV*BF6~`%BTL$F4KjI6YG@Rd?U@5Lx|AYX+$Ir(YAHtC#*nU;d3a`-eepyv_6Y@Cr zj*>vAtrc7%NAb}Fomzj5r{9(zK9XHR%=8@jk`HpNq#bd8I~VUiTwVBl5KUJd>}gr& z0e&`hIP~W;0*ODvCb^Asb5P>Dst?lhHH|LtZm0>FKp9-NMM)|Wa@och=krv&tKTM> zf{zLWi{|CBgBlBOfLt>?54oik*-X7FN$5{{Sd_6zji2WeW$YcW#m)ND%}-(J(vnV| z1H>q*jyK-{S)mbxWIW%5)$6lhdsRY?&F6$p$}|0QF~j(8gdS9d%Z=nhe=8xlW0Ag?gl*y$Btw$ zPu0uh;W*n+R{7+RuhB|SievlJvTH65wnH|GJfiI{lSli4^4dIAC#c*5iPsNC15Y2;Lx-Kq9uyZpH(G9X`1e_ey&y zBY91}`G&MAecRm=kB`9}2haM)TX@44mcfJtb@pu#KiZu4D8HlcsF`;jutCmBi^Im$ z93=0g%Xb7=>*hZc5K*Y6gssjVy2)^;AF|@QGzmZ3x!ww-U&y7%V04u&qov;`? z-cP9VW6>ywY1nk1+`M z(1<+`Vo!Ok#10TuojoO7^YU`Y7FZ(d4^;v7o1Etzq|fhx0s`ZBU=i+S)m1>89{~Hi zamZgSDY#w>q@c*G4{CzAhw`SEHAEXfY;$+tQFtbCti{ze)>I;8CK9ih>-lLcaxVQu zF-H7~KxoNLy#da3M$KSD&(qO-k@I_ihvcEHbpz{wb-9->=Fqwnn*iDe|IxU>&)B@j>^V zMuNWu%ZY%ig4 z{Hu&vTxgE*;!JkSTZBzf;FE;dez_h_A*+l)eet_E z+X!lxDv)UtM>A|KAeqG;a=|yClW}&zqT!-hBAUEo3U8 zQSLn}&Y4hGW>uQhe8cT3c1jVWKjQMBI9}D_ZQZ5j1_55S-NK^ai1%oys&1E43mGwl zaNDA+B}SHGcir#dSoM+ZVO%h9f;fU7x92E<(D)IF{Y|mGw=^ExL&_BLZD(8_JeA$k zbb_I}>4kOg*_1iR@qlj1nd)pC&w;t;$M->n(ajf8xdo&vU9UkLzI6E;L#?W!mBIPjDYJ&n37wuPfWUfC@q`kReN`{2KvnYh5d+v;(f-XJEdd zctyx;S?=fE*0tl$3o+C51Q}T;u;v!4cWqpX3GvdO22zF5!xOxevCpwWrr_Re2-&&< zNV=*W0d@i_@id$Vk&eO!drDiSlHDKOlTD;ON^T6{MisFRk2L z=k5rDh0Ps5JyQEVt}g>KWYNacF0K?`HR#G6n-*Q%Q7C_EcNTlEwBt~DoBIJ0!C;?O zg(g&=@~D^L2c+uyoEu4RT<^Ow!Z^QiLbMq(F%B%pzP|CQ**7l%NIk*_`oinEFrB_d z4NA@QPvE$N9<&N582k%xi`8V~8Onr|FJ^$F;$?pbu!F(W8p?C@z4!3l3JY=_3!8qe zjELq7G084ZOSj7Hu<^q4NPH+ZP+yUOoE%}~r6`(?PMhY_Xx5o}spqTCgt7f{9Q2@n z?T!M!gTn9DMgJ=Ew)#j+ZWJ3^tJ8A|4D2pB!lekr z+t1y05;dQ$lh~QHOZ4enDUMRIJG|WW*{vGvXm)x9r5y5vVyFa?YM+t5dRJ3yyN6aP z(Oq=T2PLNjk%i*Bb*KvIZVJCl+ffR2p3!kpDhlBGcBy0b%6%_g`6tVR`>L-$Z|6K1 zqajlB3luGTL+CAiT3MwliGD1B99jM0q4hRTJ9E@PK~(V#XZZc=bB*WW-B+@U5$w6p zM4DzO&NOlJVP$RJ_y)Fy_eO{iH#xfO&vk+YyK;)Aqly$+VB>sy!ShptX=x+qj_gg$ zdlaTS*QNQI-n|l{Az?yQYkorb^s!4ot8|985h5m%ktuWcY`ErJX2ck^vTu5@o|v!n zl4nl7WEYrWbzm3b(3x)FF4A@RC^z0Y6DktiC1wkHHr|rSW?In~8X+4mT$TL{i$lD2 zy3cMpNwLu!DV`lR-r1bHHZ5ScT>KqvcH_J7fQ@Mr)(19KsY#Lv*2T`#wHz`G{B8Zz ztxsd8DpJ*5;|%VYUwv%U~9ziE`L^Mw{WrU(-_*pB-&R$3Cz@EF3&Ywo* z?jYmY?KJC$D-~PP42~vemVXEuEI7<1P4%>%aBcyVB)>YH9Q)H4flpm|n?*jUctnebVpSMlk1^t20pAhmr;@2W)FP+g_z@q5tT%7EvGMP@QO&krTXX$Zz?jD)%L zOn2bk*{w@UO3HWJ=P;CGp&?QYsQ5kRTv^MUwTBg#$#4~Qx}Y#w4K8F?nwoK6i^FS` z8eXJ6t-#Q0Z5#&dW*B%R(dR-zkzXITY|Tk6is+{j3U)A(KHfjvYVua&TD0Bm<#Dsa&V@e zxC?_-Ww5^{BlE@QTT;$&U5gP z*gLFTl^3WN=m(O_=>tcv(nY-v)E!%S~t)0$$(Ipe61lQ{=6Hd{DMUJ#N2O*1+K&w*+goDP%y z#<^%)Q^oMKqMvSZN?Ik-k4gJE=S?;g*H~^%quX*b&%UMS8#Dv%s_rK>(eZ6anv5H@*F2vEU! z`QHQyZ-8jgtGfKttQb>Ok-JUk$7@b0m<|6NZ8zIO;tYcZr93xa#d(IGBeF$HzcxPj zEQR-u-Fo!~2kLQOpCjA(WxVl~#}8?*Dcq3rfajp4~a}6gX$36NEYff5cvh-`$a>1Iihbex;0l#S^wpHXkor5HfzLK56#KC4k znb=+%$NE80ZVTtZ%ZKdLX(o4CQ(!4sIWo_Obh<4~pV5zTJtScf(ajz<*?C>Oa&=Oh z(q(lgJ~wZ+9r;Pkq1Wb-lB=|3N!Q&28^lf2)HM@F?&95q zYB~*CV!H~{cLur5G&pz^!8_hi%GUK`wH?S%;m+Y|iuo9)gX`>N8fP&u+n#Q6&zTXA zpWSQ5#f-y`#sJfaU8XyGVq!SQlAp}AY`@QrklfLWOt{0X=GS3fi&l>Jp-gdS*`=tT zppR>1_BMF?nFQ&9>CGp-Tn1cb$rbe*CK(OCT$$6!$+r{Y;@8Y@(~L{plHHf6*P!nt=NbeHlXA&ESE|6TpZm;9##wsA3aXW~ zU(Xypc0~up%L0S{Vnjr>Qa!Hiszh;RmE?2L{p&C4b^ergb%S_EVEG{yvs52crBbfb zOLO~Pf~WE>E2B6J*&;hqeiQU?W@16U8$}&H<}&WWm$ub_X6~N*y0L*`u?a1j4^JWXznevCwJk$P%# zY&)t;*~|JB-8BDWjX--pLEkmiVeV2j738QqllN?kV9ISWo!hgWW)_H>{?_)`Iq&Tv*}1Yt zHXal}2M@&9n-7uAw@@-pobipMya(&R36 zbl2O6ncmM~oOKNiHF%PUS$crJk)KTzPR*Zi`AL6AhMPMwU8AD(^_9m80$MohH}Cw$ zbUw8K24ji^mI|(&Y4Hr#f=L@DCnZJ36$UUUsP<|MupC?Gj?Sp~g`C7>%qN`{1E^=b>={DRLjR z@l~5j_?3C4w{rjs@uHbcW}^XV3$Zzjo6=#M@8>45nXo$IUjYJRbim z5)N$P&i~hv^YWGoAYzp%F2J-ckmZ_@xv$2zmc-uVymjS@LJZ#DM#Z z%WuEdGxAM_#5L`0#Z^LNA)K}e6&(A`I?Kt^pNS=d6F9n+`Dcfe^4`?UvC#x8#dc2R z2R<&a!VewpTadUsC4+pzS<_hF1Eh1LDNK}@YF=;k4E&-3l>aPtl$G-$q}Kk@U_4-Q z64W^9!0}tDl0>{a;Fn?O_b9_f5U63ODEOyk9$X*|Vm%AYzVn<*)SFabqf4b_-G`ae z&wMDOriADXQpjQ3pR?kNa(4Rl9nyRHs>?gFiIN@e&=dx%J{9LjY|2Ut+L*=T8jP(x z?VL|~N8LT`2okaCmoc??b{rM%ktA|fJsPYI0O z0tt6$p}U@rT1zL~xuLj)Kd50VuH9V7b@ofW^Ca2B`q(ZvdIa06JS4~5M=bO{8Bu6N z$lf78wYR6KyLDH%bVNn(5JO?gIM^vUM31#bn;Snj2XjCc)Cjq796A7-3Oc5co|ikv%9 zx?};510Yw{ILrDp|DKLA>)wit&Oj%Pr*DBYsa@ec0wzJMTYFHSv!ngpQd6G4LKZTd zVoM4d=>;F;yrmN?L~AWfJFZFjy?PLPJ_2wK;wIeovvVk2J979K$p^KQjMOkD$CvCj zdB=!$6E@RGf9;x-aSDFIVmzOAyKUoo;+f>ivzf(~R?(W0N?{hIg*#xRI=T2 zd{CoDM3O~hyur<&5{>jcMx-(EhV5Qcty;4VtuCw04egl(#>sH+2}0{`<@@P9jN>aWA0}iaxH<`FhfOz@pDy+kVtb}9wQe$iFk<~?(s|2J?QTCD+3T35C4C?3 z)*4DU37<(yDUvj`8E<(5p+KxET-6o2^rC~qP9MUMCa!@D@I}(~bzQ|W+*5fY-!#yjD>6RyaK!!NnPAWj2IsrOiyL<$yCQrjV{e?0hL-LU|Ct^H{EN)beGl4H8YzKwvwZ;;wD$Y@Ej=iJ`HAWKd@)m`_ZhM{dFO%nBRI!wwT2tpDgqwAGT3i$D6`eK zi69S5nfG?UMnUBhu+}lYxaaE-G$XuVN+lXu7_&*;sa1=t5K8H3N=fP4r&EW52YP zWdm^(8GwNET=^!gH^N~(MH6iL{L*(%>0q~u6;dv`^D&=`{%V&sEg{SP=cyB=tY|97ZosYQ9 zCyTQ4V>dYg2UA&aM7sfNkRX4gB;Sflgv`gYj`f6Vi%}%`@>B;G!^yWPAL*u69{cRT1x$3R=mtq6@>=BQB_pi4b!Wz?ydw zUy`|{hvX2{w)m0>ghsGwkW&JmExk(gJ^W+Kz-N>qPlYnCjfbZFhv9lFJJIIL-JY@P z83FNKa^5aObZ_PD7Q*xa7u_l2`KY6h?&8M(ui!zmK5lkMZP^zajkEg1Pt^SEj~d$^ zuyc#T-aas_@b5unH)RWqY)r1#ENhK%3TBOtAvA0^X7$fhZ{}cYk1vVt&F04T*fbDb zBuA>DnVLD(znFDOR%dn*`3rDD7piw)e^z+ak+>s_R4T4MG@nefv^2G# zq{lZ6LDh$15s;spm5T(9R(0OqulTmSXNVHl-Ni_Bu(>9*OYP@S6yuPHe?8|xSrJ!( zfzUcZ!-_*mgubcRXv+wSyaI6eW>q%c2(c|OfimJn0tDmAzWeZKCt&_>_#9p$`wWbr z9tk|ms>=dPBztB`C5>}X@a-j9;@B?}Cm*~NKq|nU+ph5o$RU+1gNBv#EgzzcB;3=~ zIpaMac?|18X%BPy;E$o7awXHV$Do&V1Iq`9b@)%vj@S`T*>0Qb2&< zur&ctSK1urB{8V*Dn#L{DdP1AaPmPIg^}nt+1xxch{Y!)w020eg9QgD=;Q<~!Ft3+ zGAUdMJ?|hLXG+I{Wm#A#nfHqp&Yl6D&$~zqTTAwQTgZ&`EE)I(LI6HK@LLBs^k0Dm zaFM^hlg5RwEFt0JBdz9DF#UAf94R$M(Y*d}qUoFx^bnV0(AVgZ-cmD792XY8v!>;( z4~5!OmG9gqvDKpfaDpjXAgHgxmDh8GGPaBaU^ExkfP9qLAs9x#W>utfRWp7zk@(Rm zGgNe`k1Nc>kVC10+_C%e`_t7mhh-)@h`q~xIbepx7P|-M%fhK7rZYhH!zI9NNQ>Y3 z-;r?U&Bm{-_%N~iO1Gt6E~&0k|7}@79N@mZ3>xUCiGRHBDL5Ro+Q-a7SBbhYkzGOl zQh^O=wcMt5>I$}8;Rpo9^Ux!~cH1un%@v$WA-rYst(lZFONV$}ykl>tS(b2{VWE0f zVY>Y6-8pZeKN+1~AFdT>E~FPOdNHf=8h!LI$e?2*1dk^BZC{}95~b(IM&5nK>$QH+y@m zR-auPvRRCmg%}jE-c(?f2BJfgYa?WYaD5M-O59uM;L@eX^Gr3|MeH#=1Txr}y@38V z536faPnXT~T>YghBaUO!AW$3HZ zywKo})cvNx)sS&WS=OS0j~BGxA8SXZyS}7*_LzOI;g(g{GPJ^%|B<@iG{|Jtf388M z0{Ewt*`g2n19kr|YSzEC>EG_%UtptFx_95iRhj<6io)&RhY`NlYRmKQWoSjrc0~x{ zAFlgNgR3BOP<%PiL1EQd=)nr*_l*Kuws}9GNPfgM{96ev4A9qs0PbtdvzRx4w@%QF zv~T(DEPOHl9A^#3R_KSG4R zJMs-b{hQbWxZ7}vXPD3n;C!~#3fq9&LB9T&{H@E1V@q3L^{tCy@JDr-4Ziq+y31$* zUs(+q2Oynq5kn%&BJ_fVxLnAD<_m!%q?q!$PzOMbDX`35=>l6Evh=>bwhXN(1Z4f6 zuKP`cwm*c7vZ2l*jtkbo?4htiTPQtV&>JhX#WxbqzvMaaED8+p=J#rVEp1sRF`*aBg+EevxfP&6 zrv6^hAV08sdcn6@Dg?GMFDWV}q&r{8RPR6H0Q^YZf1&drcz8jjFLnCAY*_xSJn|z% z_%r_cyCeT{iT}o}`9?sQzRrrm@24rNsDVF}_{G`I3Z3+w3i*?|%Z~vSvKlhI^-O1x z6~}7*)x*&RT+Zb}CNy8T?By*^zW&>sQ>IVJB-0;z%F8b2f5wCQ7dj82yB3CRsna}J z-_23~a7Y&i@<-|}bIWS%@NY)u?~VY>@Lx3|e})Wj!@>VFXZjZk%7U2urOv7NvR?VW z@0|Vv&Vy>uf!}W66%%>-QDJ`3xx?*2PF6+z540Vi!!MQ;IG@ z%sfUmFzLUF_tNb44*~yy=)Mcp~dYj%si&0H^0yPn@^Kw zCLS{(Ab*VsE~PuKW^0yTTZUHD{ig7{gg5|MGiH9((pUb-G%T~*3M0a#G&6l@MW)p^ z*;34}{H5tv|9fO8q5r1*Nq|$nF=P~(7Mhg9%k-!VUlpoTHILERLG@nYs?HI zjA{3nv;@qfD$Tuv=jTiW7ikqqqQpbULZ6>;?+CNDv;IYgxIt-*_}Plub(AUHD-z)} z3JOEs49z+YK5A;fw&ul!t0+=DW*l6d)37hNc88;+t zVdA}Fq;A)8M_j(@a+E76!&dLMvUc140}e(_ywh+=Q&bdJ6bT{W!a;f;ep!vjFv6cxa1q&-VK}> zD8pMA)vT;2$XBL!|HRN|_3kboy`{wYk zytfnEEImF!k)R^&&RU&fCa)}64IdwucZbu)s*~ML)$0|7w^eb^sSh19ihE*(P3Y`A zeCVM{*B1rpqR4`FedgG&5CryYhNq$j=b+t;NF(E&bfDescsCdReXhtD6TTZ{BEsCN zw_3A*RYHNcWocG(aVk3ereIgf1CC*bOsysbuj4I=%Wy>(jNw`adIgVw;F=8%=J|nYEbv;TIPHeoKP1H-0xgp_3 zGjW^B-Ow?+Oc5ruX3r_$xL@an&3Yu2-}=sbe;T0@Fed?R!Dly5HW8S*!9HO%rlPx zjn|V`oLa)Ys+>{2SRCCRj8*1~pY3J&;_utrNRqq$YMIHH(3&fU&4QH@#GdukApkrs z7#nc(ou?PAt=&I(JN@VUo#TwD?I#wMy3<*7MjK=Hy!^a}Oz z)MYKVDEJ#8{&(z^Ob**pdKw*0Hk`~pHvVCDxJJ&Z8V&g=DcJE^LY$R2l&NM`Bwx<( zE1Mbvr?h2icMr5#Uj1?uAeuF@Z}Ki+OJ43yVOqcyR?WN2M;bSb_$jCgma-pZ2v#4~ zBMM%EkL8U0taW(RPq1cW+Q0cQd+DI2l5MPayS%(@vT_32TLdwA0J~aOkaD=At*6eB(V0Jj9k)zl0ntZ^zt1)EBt zCyENL+QMnkVAppVecIjDfCHh)YlS(zdOK$>$^r`NLaN{`YxXcTX5 zfSHXA?H=KOKMa2J$TS`dGv%ESyYk;fJSS-TLy3ISUl%SN#oxRFyL9^NkX`$l9{#_l zfuloVWNa!||2@aU`zZFui=XKE`=iEm4fx-W@$krB<8l3a3(tw_LETUE|MMwOxcpw5 z$nTv0-od>z>&~T@LLavm{kj*}D-}ro-)TV}VdX$+;zhK}V+hw%<5704O)4cQ~0RQsjs6JsYt^C2g-^L|;Q}7F>fzUUX zhg6NP!g9XW`*mLmd>Q6xtWB>0zmWu5<}wWuC>i+uB1yc!-|t>g6Npec_zj^%IL%HU@%K`JLNLLR2p&OkT})4c_v_d;vpS}3aAETDpyD2%-rO<1;`efbhz zV1@1i-o|HGHs3}Z0zE9+2g1Ow!tEx)KSaeAtU5Ky$|}r+hPey_Xmd9Psf2BHR4uy{UOO z-*02MUq32Fb6)p-bOC#&jGiA!nVcM!nQzj&>g(h3JMauB-EXsh^Lp$J5f3Kv{kkpF zC9cF{x9ub<+v*d0I4CBje1BkKy{C(=|P96!xL$CHB&?aH>squSg=FerP=Ng1Of8%%nRQh#1c-O*ruv03801K=uEJ zbiDl1H}jY13s3r48(z`*hm)nQ);Q;Ybe0>H73mX0<^Bf_$1|%Jy(vr9@LRv0zH}rl z`>n=)3Vp`x>acYajQz|DI=ny%^MB$J6H_T^tgJP9+7!f3)^JJT5UO^$-d02&f?Xag z$_rO{2GIytDM#wN)*~yXA2p^E5?9g{v%Yj`x0$U!jXG?aY44<<Y7HyK9&%Aq<@BEr&pf-746FxG{tZT_M z04sgJfA&Ye4#{}L8cR~t)_R2WPkBXXKXD?cxZDuM;<|XNCxJ|j5TK%f2nJjY2C4=k z`Ws&(+RZkmkd;xVdy|g3+ceh30UyW09am{?{xc2=_$b&wqRJk|8$59Ckc(6C#4IV>>H)_!gM{$Y$0>^xZlE(6z(&yhW%9chtN$Ted+- zazn8;51738uax8!a-vfCzZP7=& z{CBmi#|umNiMRm_ZBPcp4<=!kqan?SRIr}lX_a9OY>uh11_ar4-Vo84zavoy5Y=55 zREht}ZKGVNtEk1rq4sJqn^}Za+7~DCb?z9ryRV!&yI2j1uo6^GAav3zw_@@f zZ>ST8s-I1HeVyI0`2?ml9NdPdvPu-D56QqCgbi%E1jD?wpK^9k;zMp9y zL_kuS*^RX5LNfO1L~z&n4wOu8z;G*6ea3l>vvl3V`*}5noHZt9*Tp0?m093Z2p#J` z^S(#)$@{v&aynO?n9%t7XDv^YF6UhV)yzw(2q(0X@iwBA14Nup5ZgVUuF9vcLAi7N z-<)n7a4|DHo`l>aVW4~=&fqfSJy+{6%_Qkt{mf$U+k-|=+DChzWn|yJ=M__F@9@jJ zYiq7kC!^0THew?Y)9}GYA#=|_AvMyy81q2x6=B5{!Ut?@@{zQnJdYo1VnL{WU7F&i z1~4*{_$}~Y_-4kWE0TM7zc_C%q&+{R>oQKLd{^AO(wPm4`tZ&89GY^`P{EaXyyv9H!SZ2e_tF(%{LZnKgST)g+Z{x0%n5`P0S=_uGLO!-}W-4T13>N~zD=iL~1(`e}(dueEl z?x-{1t`a`dOy1SJLmk3*7DSHj0H*d9V;$^_a`r{?!)`S+HCI_B*}eISR~B%AFYNNA zW&5bzFE&l5Z=XwPa%7y@Y~Zb0-55!PLDV_4P=w8+KqnPWL6mu)&Zna&WZB(LyjIlF zAh5USyamDB&z7z=m{3V&WJmw>?_~sz-oIom;Yk6=?&2dy-bD}zk&81icChe`SV9Bj z47jH$-x_jDNGN@k@QbOGT_R4vvptNV(XV&Q_eCG_>5Dj~(hPFU)tYiuc&zH1hMLSM zin!Uo;HYD8wpoY&25#u^sg2iS%2hhIuK>BNU9wo$hrmdSmG1fHT`Jdy zubxzbE@qi3gci%p^XOxZrz&zhT$-xvD5wIgB)xXZz!6bV0#OMJLYUwmbFMPFyfZA; zQS4{1_zieFfwy;O1Crl#^Q)bzMx_GM@f&Bg4Klj!+n<(-2+!|r3?~^`?O(k8Zel^^QCw2k zaG|B4S&{|PQjsX|K!YQ=OKnK!SQcEm3~?j ze#`t*y#m3AYwGTHLZXjsgp4yJeb*y5@t|-VNgj$EuMD^ztq3Hq-z>FR0%SI~G)L;1 z4A7e(YFq}d2z!eenqI-X21sv}{0rw&$2WC8T{fgE?jjp|f)H5VQH=Owy#|cKLIkI} zfk7TvMYY(Bjw?m?ncsFo2>PHZ6Xm70)U@=n<ZDQk9ckAhjilQ2Hsb5F+1Vi6VTxO6N;3rN_`C_K=m}`RXf`jcL=lOT* zmK~^Ix)8pW<5AVlH)<2^C#7Z^!ZYB}H##Qn<2Ub_xKAB_D2c79ZkXiFnO?e}xlX|y zCXkgT(F=5*i;J5VFDikaU~c>c3w9AJs)8&i*N{hj{UPaxb-vop&haO%2OBJ@zs!9+ zJT*WvbPFG;)=brXb&f{TXQ{8vDB$T)ij&8b#|bj zMFdLY-q!-c9Sg(1o+J|`R|5(_>lOe{U*w#+I_e( zwtSa3pls}R$z&AOUH6UxaNi7Gp(qj$I)e!X4%Dc*uI#-vJ}_C?>Z7t<0t~t|qM-)` z8(zphTM28^{QO(607y#&8u;B+Cnw&*1zAtg^Dd^tT%(qmVcS$q37v6oY2hvCFd$SR zoL}ZZW9A>a3*^@L0|EHk=$vX=T)+R~%z23lg59Oa3-}E7%eBN@2~a1@s+#)Orov%} zX!O*k<=RV}$QY^7HnyHCZh2y@KLsJNcfP4PQsOFJXie+$pl{heiJSWHY4)f(PGVKK zFVaDFch~uFeiRw z2-{t#H#9$4ZbsG|^7_7Qm?>K6L9uNm6~U=ETYXnu^*x951MeE{j;KJiQyAZHS@g;{ zdR3>CcgXLdL!v~g99d}LR!b3I9*(Yi8-PkVMch`)Mk|BEzI5Gau}sQ;?jxjN@+ZO` z+1xK$a~r<7k}9;=J`Zr@-_z}*SF0w-(112h)21$Af5MsT+ep-pDpQ#P#W{A@IX_*0 z&*K-uo+xefa6`pe#%m@qs9pPKVMdT<*MVDHwN-dTfOFQ&tRbg9+?V|+ZOh+mj;Ex= z)!%}dQwMdypN!6W?fD%$Y+bRmcFLW({TJ>3_4S8Q3lWU!3N7Xka5q!0t`}9K>H``- zJiALvyVm~>XRcWcfE2Nj4=3uml~byTjEvnJmtRgaIG554_EdAZ5ol)XMvU1eTV07V z@irhnyw-q#ISsM)yi+>SHgI+9@I zAT9LnV#Mifhq!v;TG6XfTSDC%yiqZ;tIZew?Wi zygW!NfwQ#X>`znJ^w^>LvU_~vmCS6p86U-LX-8m<-I+z9ox2=Zq>q~{GqDkyh~kfo zGh`u?m!z$_VvB`>D|luopKLs|6u5ogla@Uo?UD4PDAPUlmWzQuqycv7Z@2#r5k_|v zCsQeW2L1Gb9QGoMw6E)uWSwuuILAUD7dM(q=pO69CAf~}h?N^@f8p)HqvEy{-Zp5c z@uGJ_7l`EetjbWRq} zpKqe{j?b8aa@}!4ZX5RSDXV(;`D39}O zrp4Ir#sVt5Hwi3r7??BnH%5zkgQE{EX``9mruU{HyTpYH6A$W1&&>#yK%e91)f5m8 zRJR21bv8Z{y;UcUYMw_(?}-SW)U2q+HQ_-awOj5uqf6#06x+01e^tQ8XQnlyZfZ)r zfH(Uz;k#>mvwNZM{<|^&HD44ZZMk^oC*fSU3g6FyigV-!^MGo$#j=NI{_knZXIrE1 z-(mUCKoaM}rkY6Fb$I7Oa!T(ACic`hfnO@D-&;Me*a_QN=KeLleI8*W)gf;>C;>iF zSWDw^T@y5LS1;NQ5h-r@Y31Qe1TK~)=)TGdajDIph-(V&KS(kg%tWQ2d$T*xX0>zh z%-hC(yA_g4Rsq7@P1Gm-RJFFc*0ZDN_##Yy^_|0*erS}RTApgNHo*~@pYl@Ajk$!o zzWw;|ZENVWzooGgXM^X46=!}ZE>Qq>@ zVKhz|Qd3_k*n4rd7650j3uyMJf8uBeZlyA&B-g|IkYHCo2j#)^szxDqtiQn$)BH?` z!*KRJ&cs}Lfz%Xs+bN(Cc2kL@6Xofua77g$TwL}kYGor=P?MWpB`CUD-h{H9M`45* z2&YL4VbSpys<(twp*l#Ha~zp%+DNq_jWGHSvUmc+e*N%kv9v}EoR zzo21OEZl{wbaHrHNBTzgF0eU77k#b&jChIeZ!hOtHFsS5yjig@1?IEVPUL6MswJrt8`stYcbva;#F%jTDNyl^RUTs zX@$vT_XhB7>rU>enNt=&5#x|}p2yX-;pQYad;R^I1pk1l!vazF%|fKY=z9f()I%0H2Y?G5L}r6C&AbMAq&Yv79`EER_z#g*)*`YxIi zFZ_nKn=?iN+IkLGV&Ygf5(naB_r%8K9uGQ}*)rLVia`Xpw$H*##&x|h1ER~m75wI% z?FY;CmCH?xwI5O~2QyuR#Q5`)+?fTp&$-&y_Wz+wv@2I0!Gf`_Q?ry=Ew~F&e5GjP z?XfaypjL9f)g&oYXHcT(Ek7shH@gCDbsZUqkJPNq;7Izgz7Qcjl|!-87hr0Pig?qw z>uK2+(jodZI~+KSuX`4R{hG;#I-gTX_|egot{-EdSnkq;pj~?Na&zfuck!o(4cuGy{P=q%pE&P!tZC(I zmu)6Y?}z4~5L5IGJxB17i9Yxuo3Ae-oZ@^SV-J=liYA{Z4!UiIDmfqQjT=mn1&Fj^ zcULM=-#>T26>zWSqcfZf*{3@sX z>Q(0rq_L|6mBW_)xe^qaCb1l%K2uJhu<74&Fu>PXzjxeGvYcmywSXl6#rrmUi;&qR zi~78!OV>@^#kX7B&Kf5p5J{TnN@v2ov1^z#uG;2}TQ?#SAf+U6FKScvg~^sm1H3s` z#aZhy?8l=WX69CXZS!rtO_CPe>5NfgXqd|FD$;}zWd|Cc(un#hh~%oCzZyeZLqN9g z{(d&P`v`pKR})RZx7zY{DJE6q2AK9ZbIOQ|8`yKyxE(FuO6cYw(kHNZ&KOVySKgtq zO@yV2n4DvWWFV(88hG!Ivu$;a}kX=ewAk}qsyd_PTQK=7|LA>Kz9D}R9(lucn5 z$In7B{)PQ1y4!9`C=`KFepT^PoYwJP<3$=j=bs|=e^0191yKFv=|Wk#5T?xI$mRCDYUtf#xv^fW;`QT zi||`*am#Gjrm8lR%`V#jT6WLQfL{~4|0r;eu=VKMO*`%Sb7Xx#;ggW4Umr|gndL>x z@^>w;!#*!+^5Z-pfx)$Fj+Y|RUw8T2@p7C(lKw>#(~GCd_Gc)~V}zuovhK3o@x~J7 z+HK3iknJA(BuN(6v~X|;Z9?bZEF;huDB}gNPveM+JPnzC;-7Hzp7cIL-gA1&CvBA7 z_aIpN=*7Lh*is3n_M$}magvzX$MBEg#CtjqxD|0Kv|%81DR<+E6CLz6ZSMsn>iv6n z?}X<;A06-nG-MG?&htCaS_rski8OziG_9d;rd+=ysv**{S!$p)BLLoD!ub?sDiStw zF`}t9$7fsPMHJ}s4U_zmDd;T_v4tZv&y_Q|j8nlx?9*ewqjy@g*;#XFG+aqR#`?rv9>=$sp>`U^w|zri%l2~ zA>k1d+qSM^T@PFn$i9F+QojV38bcV+5`fwx@A8y9+~)i4!WW(8gxBrxp=YTjlfVJuG~EJc%UT7 z-Tf4-5aphp$w$Sa2j^xZ=8)p97Pk~%L2Fq4x=m=m_v-EAm57CF{Z!rGV>;4Wy7w`y z+*kp}6ppwVrAR)N&`gS)5qoks3yfN9td{&_=5U3~JkvNtT%?C`(;&s~6lVFDi(B_m zaf>%C4jF*lIY!$zxAyo5W2^jV^h3AQsBMfPQS%hnSS8DZmP~z ziv4l0=?)vWM-FfPa7PQxAZJZ5j%Sj4t30DSP<`F&GM-y3<4^r!AQi9dX9d11T`*sW z=M8sy_P*!Oo4|BQW0G^x(*TekxYo~;n^(!}Pmmm73{SDlS-T9xI`T{za=d2d zvfT;BKs!rk7(Am)mm;JU4mrVFhd$;N)DMv1c^BTD7b5q4MKv?(9Y3~uZ*5`dW9OR7 z_H*zDWiP-wTdBF*Ykz`I1;lxgC&!=7&`B}P%%u+Up}zayMfup;;5BOAIu1TU+tZ%S z4zQ+^&7=yuO<(=WL(z@8jJQVlpik+2$-`t7qxoBJzG2Vf(5u9hNY9B!$9=@5$=eH% zObPC&xpWM6Y@sV7E=o}ND!}oh*g{&=ARXnZiUC1X!r=6td9^%&Pf0qFlZbD?-)3k0 z4U%jVpMeCH+u4a8qL)n3;xX&2;4fCfCr$VHme0@ODiif*uU!XP4upHx<#R_pX`HXMzf>>ZvRkV@XUqd>B<+oQ@6jD>*)mwGGG)2VEi^xl^P^Dj zNrCqa&cC*{CV}>9dNLxO^KG7;_RWE7*BG2SNc&JOfejwr}$+aflr%Y;eM;E;|Lqvi#mYh~p9f?cL(yLO9- zJpSp6chd`W8!(Ky!JW_9c4 zrwS~-3-ghIUidRtuvE7BZGIO6FMV$EQ2}mb98Ltt^#mp=9-ck^E^d)0hHkgxSih~$ zfRWc{A*1)!y)VkNCLuR_hI(A@>?CS!9x1L#RZY(>biSer#%wjc_`dKqBd%xmg*o9+ z+jbmr`m^3Yz^6egsM$N|XQfQ#nxd3$qh@?d&5uVA`u3f5`D#@6(?QLoL39~*&G|yz zL-^h%Fiho?6y-s;D|)L{jA3XWh}r;OZyyj=UdkS~5WRXbnY{D;(b^=tW)>4H>>c|? zop%rSMfogOfWzpdh1xLw%Vt5;az1D>r<~8m$#Tzly1ZCy#z z_Yp*%iQ!didbLC7H^m>NHoOd{)C%D#jG9PSa-)(i9WBjaaF?&h(8smei05#2$>Lz| zqoK#b@$O@D?M&^ts&5<6?^C@M7nj{p-JehUqG%*o*-O=W=j$@a%@K@lN*ld9k+SUeVG}*vM|L(3!;cbsSnKxQ zMeh0&Dn`$l(Jo5!?$ps`a>}9DcxqHhs;KfOSVVQ^aCS5Kce$PeCNa3plIdNx;E`qQ{W-06)QbvtHk7Ug4oc-4ck{ABMfsdHG?BB`9D9P6>N{O_3y{Py0Tb#`OWC}(+@l5ArkflmrbK@qi zZ4kOQg;Zzj_42f7(*rLY;$fcTVv#r`LwG*;?{0mDGWR@J4}P{&64;jS=M9b zsdI{izO5#)8#}g)l2xQ}ljVnKkn3)oV`s@6G@d9r_@a6Fo_zl>>&?(2YhW)SZCLs#J=K4qh| zup{S2RBJC06|0%UmRU1b2+QGl{j^s(e_6kA`KQ(Gmwyw34wy=g_UwIMx+Wb-Hjh!$ zG$pz2WkUJx<~brWOyYTv*edR$*rJPz&sFL$^GHxCS0`DWpR7(XO4HQzj3o+%ExeJ zi0vg3JoXXl38|Tz_K9RhzDo=pu<3F4Oam={jihF@ylu5EX81yw%8t8;uQ7qKLu6PD zxM{>$IbHDyr%y>8zVBbP9Xn}n`eU_G83fh@sFbd<%mn2;r54;+*ndb-8>jmWX*)Je z5=9Wp@V-hboeBI!YRy;&G3xDSeq@#J2szyxd38OYYVwn0{NaxkG$2sJ;IL@|otCPw z{>Xp;bNlWUIR&E5^&-x3ELAsgrgu=@VG}NeZ*MVcbKFsiY$H>0Pii!)G@=g*1@5H; zh+m}9>K*X9(iLUR2+wk+9&bPHkiUJ4CfZYAljZr@vrdi*E7{lK=_X750r&KU9hFQ9 z+}j>erU4r&%Wycn2yZ$oPUbUJ(`u?(fa$SrgSSebpWJs3_z*k0a@!S)%$tMV)_@4A zqdUdL$yJGMcr0%@HzbnZ2x`jQH3+G#d_shlpcIB@_wp<>XaM(P9GmA0N_B?q@qa+{>0%j zUQLmGw9dm*-)cMO23Z>sjZo92eNebcM)}NIV+E?HkSx8WJ8*;G{+)Ny1;gt_Z%J2J z%AeBn!0^l@wtx* zzqL^Zw(3R$FV--Nd3ojmNZH_XN&y`Xm(x6k{{2o^#?3)%L$@R3NK50&`OzXLhekxr zNRFd^0>u~m)Q19BGJMpFh97Oez27pSTfkQg#K>jbEec^)D$crpBhGb=3A*V9$m21S^XA=R|B@V@;WeC9y(fZ zS`y$&v;@#weZth489T`^^@iPfX8&v%dZrVi%>3sFLBhfzvY~ z)dZF~N7oGQvK=SUIzX=1b7(C4aK>0XLC`5uoNL@e0_c5jVk>$j4Iyix>(FMs;-SCd z2Czw&$)_+MtLv2fXbq&U=GXEqYO&=`FhD;!#eTfV)rx zFoF8f0C9?LNNrX#pVYwwe% zKXhyaZ9K`hwT{<{V753T0Do5Ri9UOq=D;#lz32(UiD{EaLb-xZ=%bE zaa?w6%c?7-qro@h^7D=bB5(gvHReOtMc2Zn@{7r^;BL&(gL&GPRw~ zs&QMLZL1RD*bPa{v{5e1{5}_uyC_vtkQm~@( zi8bBRTeJ$BIeIrom4X1>NRo_b8zoU|{lT@&!wdm6zdbaK=Vfpme z-Qm{TJrDCU#Vp?KV|43e6^NJqQjNOhy+s*kIyViQ84%2CLl1k_GPjl$y?ZY5`_?Qs z?7(g)jWyTfGxTaOq{1tke|xy#?PLJ}^U z-%n=}IQ7T!%#7EDnp><_NNw3}3W$><)iggCJa*aYv_Cs>9OXdhyV%68vp#Je4GR6L zMV;34#sZ{VXqp`k=o*NY8^KG&SJ(yN=XvzWhL=_T!tMqK`Pp_2` zwBz)n{d_=O+dX}(44U(IU6z(+2bu!F&qkqIU;#(9=f!|$*mg*UP5RZP2n#jfQe)SC zOsg-|k;I=>Gv6jAYWVaphp+A#53qHCpAaZzW7TS7Wo5mjJB1`^kBn~En}IaIXI34b zaW2`WXZMjXC0r)9ibhcBoNvn-d=}KhH|2c}qF(9i$8`0UHi#Cbg+e#}$wo`b4*jvd z;dn0eg7Dx+rT5e9cBRWXpO5kQy2V>-T+$h* zt2ZO0fuo7l#b(@%8~M}4M=D>I@O?FZWy012fmTjOZj$sdDu^PSuuSsCY zeO-mVR^>lkHnVoU)_s#N-*WAb+&iVOY~5xbQEu%o&2aG9$0;CTgG=>pmJV%%l+&|o zKqf4yk;R}sd#a#g68$o7-1YZ+>wx>?q{N9mP1pNCqj~mxK3j~IH7+6E2Y{tenKK5! zMq?kf#sPdoD5?>L<}4LC5!hHWDllZxHr=^)DvwE^6G&@OQcToU1De<5(BJZ+NY*{t-%hP}U5`Vu}^HA;7D`n8#2NKX8sE07#;TOckZkob2 zGoNyDN1=iwWrDT|%$kqq;VOh>{Dup}r2JhJ)D#>8Q#pEPe~5g|vU0CG$&4k3YluX| zy!0d1skfidEpcvOoa?!A(F=I?T-fa0XthdaV{b_~)tCoF)IMXBLXmD-UnyRwcoY~q z`(qzeqjHLJh45L2^WUeGaQXPe1&fGei>ULMS-u+*?KVR~t!xS|Z3@Q0Fu^w6(@_CI z^08r{-;lcsmzd-pYb}ZDU2u--$v#)EPoH*|E%n6@h*@^|YL#z$Y!hQ>U(cx!D@Qvi z?AI5O3!b}}EjkTXzy(u~8pFRDp{v9X! z7&?_<(J$VvYy59Ixi>XbW6t-aLn{QRTzNSYIcQDx!hUofXI@Y(6UP}SI*&BD$MS36 zY?sN(>R^$0taR75Q{iXPkB*SZx}ZWl!GMhtrbRW!KbwkmhzdPo*%#M}4ayfWiZyb@ z5Uv@N(HMPzkDPGk^A?$(=1jx&*#;3~7F$MU&%2LUw*=2q`j80@1hf_23z!hfG z*~yaV+zCQJgC`oSa2EpP@t-)4WQ#MAeNEy!!Np#&*AM^W)W+6$YV*}V#&%^uvMxlT z(uZx=ntk{aLr$l%8r`yCm3glI_|o2Sj^+4mcmetztc8l~%}>2WM1qSsJIu|(XLY+Q zURw3`MC+?hGni%Qt*g9aj%tyWbLY~Fn`r3Tr(NDJ9z0dnHrLgh@A;9-cMh!Wwl~X6 z*xeq8cTb?HvU8;M0p{~cszvW+ntwZ!s)5G~WeylhypXcI3CSF`n$r%&I#O$+mPo@} zFgXF}=u?;d=jhe<+dcAoe9YT%CXwM#Ie(`Nl~mL|SI7B}aN!&HI$i%HFayzYUYAOG zIFkm!Fl5z;>=HSDma`2tgNA(8hu4$RnE~Da2)CT!B4fTD8)_nBGJLS!` zlXlnOby>kaEpxE#ANm_<{wxI!|AcSxmev~UiIvEuxqnNpwyV9zvu)&YPoG_5!BzT- z9N0Z@*IGz}geRo>NFRde5{ox5-3AWep<4f>k_9c@*wxftO*kB?7xVZ%0 znCMd-&4rtR2=|58&1dL+_Gwva#dk9Ld;2;SUAC!F2T6|6CA)AL2Bf%!-K@9;CJl(1 z+&UDuKtI_ye`=Yh;xGNYJgL{dw4U5J&V2RTFyF@!UW^Q-(?&Dj7o7a1l!*6~1Ef^~GA|dHrp;YlyW(K})Ca=o6Kmmgv+?F9`cz%I+Tq?e@j8DJI z$)Yt+t5s9=BpLb+Rr4G*tLWH6?THal9D1VEFneCr9;TebM-R%!Cl|<8KTa6P9 zl95gFThuEgovb~9hoLxCq8^`#;#ULjGD-}-mZB!de zCBMRb6eO8yXDDLJczLdZL-EG^|CynA!vzQw=vSLQveu~RzxNHG7w9(*qvaCEK8g9+ z`x3$=(hU&uNZQzbs_f9*nmK*4`T$qxoz%TZRuaFG9}yqMUz$|pzoed$=CN=$8@4xQ z;7w}BQ#_Tg@V-WIqzYhf{jDl5M^NDrLZ1vLEzHe3L68jr7(?@*BgajFH^@gMBpd@M zm@7fAKy6e4g{3ctshW?T!;ei}m?%VMO=MXZBDndu-d2xaeYNxXRZ~w%*31Df0|z^L z1N{8e!)(~Nm_A)=z54fF=vKM9pNd@idinSo*Yhq^`uIH4jl_x+TZH-BXm2Gi854m8 zTtQYJIzh4rO)d#(Q666#ueIzBj&gA&2AX~#41@N*?(ED>{#YQ{1pTaOJ4;fktF{EF zb#%0Jw2iVq^c{GY0)MK*tk^f(Y(BI~jiN7AO}sv5fcY8iR0^&rA9gqN*mXyx+=&qVco06UHU|)V9QVW!}`j zma%&04(-oyD>dSO(CsX^!8Cq)APhO%YUcZR#i9QLkDp#%vuFOT>hoG925j@*cv#*Q zZxT!Bf{fxxYDVHs-UtpiJ4c=#;&-}L(9?ek7&K;y&bhUp7jzbW{5|CRI^@6s{c+h- zNhau1PvK3t0t(AO#%w!x$I{K_Nt(#{s3u&2+0Qa@+U0l(UVvH`f-wXde|7Wld#G1 zcZV&@RJ`B@adSVH5i@;*dHFURzWYi3%@trES)qvnUh*7-Y&7l>?Jnt8NZt9`~C%AM4v<- zlYG_)>Wi8(&lG@8)TKXBQ;h$@=^VF9=TntaW5e^o#t_r>;@NC^W}m&~4DV?A%dqLQ za9DkFB|rO(8Qsmh6OQ?-z{eVA~_Ywe@Ca#RCxg#2S$(`K0y7tD0eLM+tCdGDCMhc3m(MLz@$7@|r z^iRwh>`pnfYwRc4tfxr3XZt%?`weEFBq5qT&9q4b86H=0MkY3{$|%~6sd;0zK-C^2 z1)SHVn6j83=R(|y!@EpEtjZLw%3;CW?2L?zsCM~0?0O7T+Yf*!M0}loC!LRmdW!qh zTZcAJ_ZyyljbSkA*^9>km5L;%xxQ;Z_V5E#$qN9EYObtO;b3f{T3;Yz$pu-S_&^OS zm2lO!R)Ye=)u7d2AfW0%JlV>?>eLYeJ^YvI?})ftaj8oPBCBG9HU39!qY#HSH$p8u z0iUAUSuUSB$#``Iix%*dS@HtYZsKBCu0ot%5W9_TPD_r!X zc-i`}gOoi6`fnl9uXqvOQ@`M!tjqRBM{H1?lH-3euMILXVK+0)jl3H^M&5QyCiwB}>O${F4dV!KwlL>cagB8uq>#DX*OySg% zY6dl`iQNT5B_o77H8_@BDw^1n37S1S*^kW;5lCnG^sK0K{c!{4kKz^srpMc&4Dkbo zqR)_9SmZT@YBZEUW+u9@u!(A!q;~SzNETP=q@R%8x^W%=xCwH20f=hTUxr!MxPA={ zFs7ZtvEyL$=bL9gmhd!!H7@?)j9k|Rnc;xmJswh|=UUp-bosf^9F8~S%ht!01*0wj zG7b9Z{ooo<^k)L%^OEILrhx+07>lJIVf=Y zsIhWsJ=ME6w{?|y#duN|r(qdreV#m`4w+D-k<8@1IEw$Nxj8V!2q}TGu+u7BtKAmK z(u$Bsl$E%=m$4_kL1N8GBiT@=>f@M&AJ}2 z1PdUoU%-}(e6&^-4FU-}w|jf4qr!t}C2TNWX}C-KJo(Q8p7xnGsQcWz_oX5Tpz%zK2}3nmN^+SM4u{n%10QNM zD({QF1dO`1uZ_P~iNSZ49K95z_;0xYwQpJABDHA&n+kJ!xO1M`)-eYYi?G0F$}l5I z^Ec+3q6-mfssoede7~#L)xXs1h0uI&G_guvE-0mIY^=99Cn+wD=>)T#w7>7x)88M> zo$AqxmZb&_W;Dm@NE-OgcbQKui&uCKKI;)Ld8SK}OF(?*t@XOHuSDiSOQ&LX9@4h& zL;Q?rq|%2JfgJ5xi;*1ttBOicrk)-St!z1xuy+r-iFDklbS2%M8fIlPLVs9#4}RLj zMQ5B{m@#E!ud1&WP|-XIFyn$N0l-O?^QJ#v&_%o@uG6T)Q```|JFh%`a_mf!9_@q>byM7k#|9 zh(Q0CYxT%e=h3+e!xb?ek5dB`7MH8jAw!z__{hbssJ?YX5oo5ty~2It{zSRiTbifQ zEM1Yb{Hj-r+9&3NK4 zt!GeU$6-HJ(^rHd#3O&W+2##tIRuftI=G=O;FQ9fylxMEscqaP=Dp&#l}4a>K>1_I z;RRv_Nw?uL*ffzTj@(%%7a&l~e%H`&_iwZZj!yTSJ1qXEh<|IFM1MR6WO@*ojOh9c zeyoSUdP|xYVbQlrby-Q?<>lq2*c4e?Tf3ZkMasy^DjOL!jluM_*T)K(+&6NSIzkU} zp9K+&6lj`RPuD3HrZ^Ox4EZ4{4-0VxQ$s5wD`P7)T&)%cT{=lSoPkOSDMQjcHYbLP z;kK{Zvt@xM1H`2U7lUFAeJW0fVBqG#4<~44{{(y%NjD|7$J!0$R#}(LOYSZDZ6An# zNLd2`A%aczNTe~5&KyHv1`VSR*?WJMas4c8RzQ7y&(_=0-vM788-tN?ElTzjwWY*( zXgJUvCgM!}_&n|n1zde}Yo{nT4}$@GRSRgt(kW~hlF^Gx5+=w zAijy|tFZ+I>|v3Sf_`{}=jLIV|=(kFHwM{!VU|kb&{*w2%-km^7{^c|O*PMmk z;G`QHjc#!Jtz@E0o1O%sKa%U6;p@7ioFY#T4%JclxJG%E7yq}OT)wV1>S@u#oz%J+ zafRATk@|Qb6C0-fT!w-39uAd(-}xec#Df|w`+CKRna8mr&R3!5cu+Ex>eRt&KUGp2 z0E5%zB2f-fh@H|Rv&@6qI9_ zF+C9WV`3GQru);gyvoYZ{rssoTBzB)Kl9|R8!qtn2R8QAdQYGnu=m3zee@o+G0Wx# zuAk%^u2bcGbz*4Pxhqd`n+@Spk z_hA43FS0jLMQ!W7IAmY=TP616wt?V}GiBF#fmq#iyl^Smr=ISG+_cyEwPA#m;&o`w z`qF3tKSHZ&m`eVre`ftGBVeUaKx&q)3$-Y#_b&rqa6-LJtv9u!Hm-q?d%yAq0quN(U(+K!hkQ zK!6A#gd`+6+waVbe%E==b^d_w@YA}o7HjXl_S)-d_j5nQh>}r+FuBjVwFJ4`)gkNX zBiT_hY7p%4OVZcBSKM{P$5`mLmD$iA@_v>l!q;Le=UdbVlDfL?c|PqwA+oU9qaEY4 z1WsUpLE%yFQ-OpqC(q+Q|NEELn+n_A*6DG2vgj6zH~I*4r^%HzdDGiAOvgR4-sBg* zjQrU=vaJ8-ZN3uXV`Nc4htNRT=CU2@iswB8&%Hm#{A@j_xabF*lT|=u(6Q))y|mV8dm+X0(*TV}%HgSH0|1R% zXADXCKj}ukx*6wOWSWHkyE_K}(vj^)_8yK{=i2aJ?&hoI89K*S=~g zOWC*$O&>t_3;%agk^TKBW{%d+hxnysD*pSgd*)|PzTvMVK0klorJeaJ`_3;N59DwD z!sGHw$1eB(mVEq6PtTvf=1~9Aks|TSv;Fe>uKz}$^lOJ{$^UPc z@9h5{2R}E$->v@%=h|a`Tlv`=V{w8(SNtMq8prpB$JS*JB2N`FLFKIerjd^Mq9s#G0Ti-8|I*Hd0Afpk%hJ>e zX>7RXSK)YG;Np{C)V5z`9iTS@mI^1_KKtZR&G0bX;U^1^EvCNuKA=I+;hT?44+fBc ztK_x4!Z=TdFw!ur`=V^9udauKr*I|Gm}^{u3ZKsUC4KehhSI+IJ@b1Rj~@H9IbU?d z`!{2SnW1UEI-|}Y*>ghopuRT)=PfM+8oq|)k!sU1;1H?SwvilCH-7W&fq_i%S|#7q zzUj?85zU`7{?h8nM73BuH)Pkn!dZJnUGUzoV)vg1rd+`MR*Ad6rFj z(kIpC-~h5aqZIXvmh;Qx^If4E-z$WV^dBs3xjMFsOb()!k*~ZPdPqmoEZ|mY#EM&_9;dF=XDO>$jmRr4e1^efm|yA9#1CK zrXQ@z_j8(GTJya&S6Y4c-=MxP4@kuEK8e8N=NB%c9#+_`O${s)SPl5zgDDF{8DdZ< zXsr+%xZ34MM$85dsI5gep+7oocDiQ3iN3UzA$S%K%+D7@t-_3 z0N>*U;*x2&72&BIyzbP`8~dd--(C7`U>R_GA!fCHF>rp4$aiFH{O<*fUT&o=x&(+& zCCjqrr&kT{jV`N`C&RQ8u~mn znLDiiIKMVy1AWyLgWheJC>yfRy0S0<*SJxk74QAC zhj~wJ{2_LO?XA zzy9};Zoo)^vbK7cmB{DMx+a`b59zb}cMVM=?gV1T>5q8f_Ip$mefI0E0_18wX=t)) zFJuMTniU9&VH$UhV%x9+<5(O*AXhbz=v-y7RVZu-p?k*LG%N)HDD(-O4aEnF4M%u+ zduJ|OR%&<^j<60o-1DmcxqEk#Q_x$(8wUC#%ERrhzIspPk9`COV-POw`qqAvQo4ON z9*zbQ?bVw6WS;)vQD7S+4@(kl60P6gkY$jrqqG`r*0YG7_lom#uDg-OnOnI~k){YL z%nkM)(?0X;;;x+JM*V2RI=HGb?T~k}kU!JCHv(?WJ?G8ADvYHZ7e?X%$`&_@Nv&HY z_?7g0=)XLIIn%~DpRup@k^Z&K`7V9@k=)6oCH1>Ps-c}SmBp%s1-No23wy=D86cNj zBMd;_O^J0TkWIGp9D^;3>itK|3lN>RH**4~8n1^GyJy^wWtLl4`Z90o84#qio7Uvm zw>!zj6mlAp;NCr)S_|ss9CQu}5?-1_xBWm_$Wc{r1xs2XYx?PogK23Iq7|23-4xae z`mmQA6!hu@*)d*-LQ6?Jasla}oc#U!Jx}lGh+H?fwbzfI!xSlPlKrX&_c84OPNqwd zTWcz_-|xZey>X5+v$K887dsO~(~Yv5x(m*O0G2-84<+n%dMYNEjC0O9op`&~sN-{Or)cjJ5XO6m{IZ z+TR=ZfgEk@In>1KEf8uQdjS&5^5t9oTFRsS(b8I}cS@BTvE|r4KbbSn(H+5aA1rTD zm3)OMz*&k{NC>ElA5gOo$K^JO_vcjQe}O>IfIGdZjzgS6a{N%{?B*STv2zDNhuF3z@@%^5mxhJ1@Cw_r~K{Vo&^*rQO{*HX-^D?@A?fR#>DqO zg7gS)?@Vr@T+;5ltSPWlz`DJwY;z;*C1E=aJ&u+;M#0?3ZEnxmqBaG|#xMOF3rZ7r}Xk_bN{~ zXTIr~)8p!p)vO?TU|>p?lJ6A-#wr1RJ`l@#jj*L9b2Xd2zN6*cOkpGZH?GTx8s^G? zVYY75QUWVsPC{dmksG=t5AR+T3Ik%PnT}wZT)71ynz(1^!BBP}?4m=?XTPg2PvX*t zu+7(&aYpw&ev^9cIs`8M*20b6MxRm(9`DOtaf~kjc2-ZFtfAsnM?Nv`f(;&sjeHY* z!WWzyrsO|tS|toAK6knR&mdH_54?_c^sqjqHYgPthQA)1v+gh*b^ zfUX(-sWng3+Q+9?0kHDW@?&_E@`&gesj7X?)4C7N5)UwiXw>htCStDx#gO-}qa$Dy z=qDAA@M^LS{S922uN;$Vd{DCAvq>=+%gtsWTbZ9C8Lw=llv+-!IO&1{Z?@5kRh`>9 zp(>uh?M_x18K7s!$VMkWQ!XjkOr>nKXb7xD?mUFF3D72Rkz}eY*1N(bzM{6dDZTW^ z>kp&lc8g};3&@|>2YHTQx9z9dlui$}_BHm--?CEM`;m(lVj@=jt2dwGoS;4+Y>6+X z-fRJZ*ul&u@hOjH@^XlMxD~#EPN~9Uwp6z&1XjLYW$_!Wuh%TpRP@@h+h4H4Nc(?P!S?HF!ytj9w=95Y( zl8dIfj!Se^4(RRV;Dmp%-P~cjhV}gLygesXx`wPZi&N?GDGd*oJCo;dgDU!QRC@dq zFLDcn>j3jH5FBr>QuyAJc0Tz+clsJ}>KKB=Vf-$rxuT)UbtI!%A&DM;5OxNkZoLr` z#5qH68-nu`xobmWqX%I~a=c;i94wpW;sSnpNHDB%ll=P3YwwfpY!S`;*`)TM*bku; z$(ILqo>1Nx9h_&q+zNjZIDIpEOmTX%SEmudSiGKDgZwJ0?W141Te#>3cB+LX70zb! z1!;qtMciTk%H#YqUPsPIN`Bfrc5J54)hcxER%4X9XZy+oX3%o6724Mj^evwwUk#%? zK!Qs{jtbf}ADx^zFEv*RIcelld4v%|1ig|rSR^Y6~@}= zN9LKJ(ngTQ8`H|bWyaXOw7k0d`a?^@ONV&*`BljA1+v(@vs46qNNPBuzbzsp&Hicy zDS*&EVz~!5SmUhjxwUcz&)twj-yJ`)gr^%mt*vV4cWAUDN#P&u97V9w@=l`8_geR` zEJ`xTWnXD3i#uRLflsuP%GspPzO*N_OkbFeZ(UWTB7ACi*f(l}1=kPRGUKjuLi!-` za}POV>s!e(W1g<;IBCwHK|Z~`zBBUeBPd}^-rx*)QGAK`(g2c8+lUvd4y)%&>t1U(x%2@5r zDYPWHy-*+pl+8&+Q@lRn|FCg9r{Wx$>ZswCp988+U>G7DuoI4Z2%$xpl-1H>y8{iKeC|D)!W?Vg zMC-!mIc72r$1mBW!GLRq@BOZj^YqIh#!T-n zmV^npv^z53R*n<#?mimYC-39gyzXg*0m5v@e@c34AM$-ou-pdl@jbAp%W0CGM0#TBYvDSInY8bsvy)!WURZ$~3E$L$n{vK|9~7vJuprMT8j}L8!J%V|#ITTMXhLh4I;@#qH7llUUlq5C`1ovC3md z9f=s>zbW)PYnhB*n8XjpM}E0ER6XBkN6fsJ<{Wt9u!tDm5t><4axN2`AEVD_PNo&X z4W{TTl!a`XlRe`*VS;LS%h3Dx;5n;wCJHoF<;qfC*l7VjPeUZG5?1r;|7+LVH%2vZ zm73uv_}-!wZ$)>=>fY)X+M=O$Hwvrwa>6<~phpG7`do5T7Fsl{n2thSp;8YIYhmHx z2}*K^O?x~GLDwA9@5KyXLmlw7iyBP%A&SDJ1j$-5nBYWS3CwOczGO0e{JWIQCdGAV zMzlY~`Au~6-!C%1K1w`T5`f+NhX6KocK8L23h=ZlZgiDMA6*<&0W{Jd%CauDWvxzjiL2elS>OrnvX9 zCe^tk>1OSR^5YKmr&MdH7wl@IYNo~l)6Z@Z?Vihq)~Hao&#zy< zz-Dp`Ih(A@!;MA4oDT zn+;w^?s49`mmuxys!Y2s{>3NktJI$qPFrkeJM^!3k9;0IGDY1F*hxD0(#Vw)j;3m9w@pSz22x)gnpln$^-5538j&;9J91?XH zPYu9!+G}E*2x%oQri3x+9jn_A=+r=E>wxUvFWIv3d#{WyC;#M`hU<9%DfCAF1QNhf zFJg#+;6H{?VGSKhXu12x<^HG zd&-fR?kBHkE77~wYa-p(cXGwG!_QqXZlQUJa}*LIwQCPA=p$Piik(@nhAU%EhDeJ= zH6fTG$r;=g5gV825D)M=p3^rjtsCih4)2Y#pzlY9q7r4NW)1u$_7DiL8(kOBv4>9G zYn=K`I#hUCjJmM;C-vl%(n&p0$~vIN)6soR21)w*ly^bVBVty1g}(Z0agS?t_{lfY zZcWt{TU4~&5}vF#Z6|th&pz2+aGLXkG<9{#8Yb!y5orQaD&zi3K@5+rYZHH_o$*ve z=Gv4u{+?ZGlEjangpHSj?ln73GxINTeR7X|KuYBD1SkGE0(yFu>ONfAd;U6T<$k~W zoD%eWh;NMR;jPJkWklETS4Ybf;TwjA)s<0J5TV=I3ZbvdAC=t6&(l;>H+W_e3nLC> z$^uS@5ty2dLjeJ#P6S+OI^hZ_tcN9ef$`lQ3zuu>V3D95`fTRIO+q%6nNievcR~&BgaH0uhAl^!gF^mYUD3`>zP3Vs-*s(L~ z7BUhGt@HT)yl5_@5wZ1{SAO+5it5i=4W$+b_|&R;s*RCr0o!{RP|1$fn(s$IVOne{ z>M5anCnJWmVO`~7Q-gppYE*2-_X#lEYd*75(4Hv6DAskVef>sZq=rxujvfYV0`Xk} zD{M_GAq4JO+;U%@QxRpN&Fx*m`~tNoX2V%ieSZ}6;0f+UgS09+b_{#)u+aM#FJ8#u z4mFq;Sl4Y@+l|t%y3`F1;s*y-#ADuj=@Sk3&MeHGQXvPEhu=k*tk9eOOE0UQPD5@D z%7!**v1sH-PU1>USoZ<2>}S{231l+5%JICWGhZd>@|wHFsvXEdUlg)a40-A0J6he& zRVY^!+y0ndH(zWc-mOwcVxXkjRGO_P0R7;6WnjC?8waGm z;0k!jYLYx$4A>Xx#3X)DR>1qbwVFlGs7447n!vw}pd4@xWU7LCTMpAA+P=27Uxi<9 z8ey-FXCD8q8L}@@w2wrHfI2j;R=2Z+_OYYLZL`la$F@-I{sV6?ZPCZuIa~WPo9>l| zJGaq~M@g4P1lsIF8L)S>=)*S{b9I><*P+PyOBQ-o9SbiFudv)CsqM*;XYh~oloW}L zMh0~W+W5KkS@Z(6;Oe?I(bfI_KhjiebO$#Bkls#y`R>zzX!U6vQJwnDy(csYwAU{1 zDaZ?bRvNWjt`DF}U7{Z!!jIKGRS5f zHG;=oVsLzMUez}$N4(utkXK4~=NFvn?Y?~HTCspF^xL-*p`5tcFU$7=9*-4xJt?_g z$Q&pOQ~W$q13fA6*C{nYWS^?f-24XhTYAO;|CmMJ@tTe*p%ZpD+$ZE*GPV)N4Krx4 zfc%T5#cwS%(}a|c8lCShE4$@c66Nl;^7=kE+$v4lMWC9QA7|_dRj_f6ayNf_Al@Jy znL=`jP`G_w16fTU!&tbpc`&ukVv+Q z-6#P>GyjY)cmrWy+95Gi`p7cA5gLG5{z)T&r#klto$hG@b9B=4bAdzKI3+8Ue_Z(lD z&JD!QLt7&TM~^IZ!Uuj2ql~zYv1XHJKe1vVrOR$`1Ib6(15|5g<45FRyeo%KX&JT%i?_JV2;@!C394$dh&dKYF zfxa`j!3;tkJ-)}lvuA(hGp6nz-W$01=Q&_e zS!f(zO3DnEEe+4Xjm*ua8k;s*iK1K2rv75141a#Eva<2MH?SKnx&xwaf6C^j>Wadg z*V?%74FraWh-7r&Z4PlMAh$LU&YEG|Qm-1iM3Wf_sjaUo#jn`X^1=h!= z(8$FZ2cFBQ|L$t@O*7~UL9~|l9Qp0;iB(=u$^PF1@(j&7&0i~iF2?DPgc4xbkpmG; z(>n&?8#Og0Q^B*cMIq9x{Sf?4y)#FJ>M#=OU43u)f=kz(3p?Za(N2uj402y%0-J3j zzfoae^u2rUK#qR;zSSuV5!6mkoSMd|PHwih<9+?GK870GRD z>K@_JAH0a%xhlviC9ro(L)+|?YA-F3jIX-^s?&`ahc74|McALe8UdMfQyExZ?{itHn@7Wa9ce^Rei4c zq`tA}3>hv!vzxq-8mb*F#IQZtLM8B>cctP*r6k(QwC2v~h2iCUI=lU_ij#(xN6$vZ@O(lN3_dW zXg_>O@yng~|NA3JAZE=r9cc{4w3bbty z*H3HKUczE6~4u*tFuW>RCz_ZL-hc#PYUzUTAz*S@t|oNCFnjvo^pHC>%-ykyldW6D_jJ2L$s z={pdJWK-ioiGY>WY!6g8U~W;rr6`rj8hw$QTT`kP8|N=u2uQc9JGfKf`At+u+MJ0` zp6h5B5JP7lTJqxRhlGz`=0Y=fVsO(@Mj~v|$i}!js9QvHy17Mu4qrIu`E)BH{8jg5 zF8OKt4OoTBlQOTT_gk{&_=I-)|Ik}fF%Q7jSB@ssxdh&D+ym%*fpc5Y0SyzU>@Kq_ zcLe-3YooVEAKkVxOrW~mI*W0+iw1RfTBwZgzUz|Y800^kx=WUY@S)d#F~ z#+>tu?$}I~t~pdX`AAh(#LnNWTm~vG>5h@F zNPheFZJ3(_*Yoq6c8RWcQBj)MR2psa>VEd%s&H;L_IBn95kBAN^`OiRwpU}K#_}A} zx;eVTW5h(S>TJ_aL<$f#dw(ij85tM3S|(+5&vJp?b-WxA;xG*Anxb67XY8^@fxvLfM7BJ{w zRQB?deS_K7n4Bw1*BOf=f{gdek`oaxh59V)Yl5j`@2xJTMz4{gu%87d@Q{2-`1v>V z-`lh{Pwn+>Y5m%E1I2dX%pCBZEPBIx*qFTy6PM$@y>8Ou!r6NCq9H3zv7x|?+YU-T z$g@SmmKGP|GkC0h&xvQ~*8>U{f;#zyY}&C*?6K;AG_5gdNf@1FhHPoT#vAf2&@!oU zu2X{(i3gdz0PUzaWO@8_kf!dMrz7PLCI@<%N=W7bDV0^E-X#7gM!<6AUZ&KwcQTpv z2T1PM_n(MJpwX7dqxeb`tI4%0HNZ(dgZizVAKStq4Y&E~*0tw>G!ta_T6H^b*wM>* z78HVJAt04+-c!ziGT!@@%3??{mVKwum1S@RSws;%1R0{W*a|lMXvUYYtW=c%NNcn; zQxML;gzW62d*>$POX!a_935r6T@Pw$alYTFz82`OpFY>~9)0bh}jaj_uYFADC zam5=IuuRPui+S=n5P5-Pwwd3Tr>J+_O-(?}N!7dd>lA&ya%!OY&sT^D6X%^_qS3Y7B0kyhRyO5`D^4Dws`^ZEAqA2WBKZs5A|uM z*(a~W?wB(HK9n`0=$2oaQp^D5HDlwOB8eXdSWO?qSn2l-T&Y}-u7}q{upIP>eZQ~& z8&`jHJh0g`HX1s(CPANOpR_PD6^*1V-n}NTFEs?+Tsraip=5l5TlVdj!w^D!z@6Xp zTN3uKVXn(ygR8MYSz7Q$6=J5jx4Y^9A;_*0EAZf+3CUuEwhW$*cc?J(Bl z6ksd8@(@*GTNL9YK#Zso-tSAQ&D-z6M#Td&!*ntFBPi0{p|dE}jbB*pl9O8QH`IZM zP9#2CA0AN!fg+ETzmb#GR9PLYu8i^N@*P&UaPJ-40UboVnbM;er}7yKbkqiIf4`Ht z^UbqFA6#A13u$}kgRk;_I4l%x%~Tzd%n~ZWgDdE7sDrDn1C=MQATCN-bLLQ82rD~G zh)k3;xglgd5!~;212obJ)))B>4hN-2NH38OZ)P?0l<-_hb?zlJQWT*mi#8eBbk!Tz zVq7L`bL~zQ_Ti?;PzeM)Vq!9wQomWiee*~J|Ndq#5|6eFS=Cpek3D)62Kd?K0XKQ# zgU&^$sN$SZSx;Hs1@^#5VoM$tNR!UgExtnlvuMijQY@Fo&#AyVGqqY+I3Uv)KO@=S zra7*Ps~I2%39RJA^*~8(o6ZW1*ulR0%b_dhPw-s|Nwu}P2o3!w%%sQI1bt-gDHqxb z{)8*vs0bf*ZwX9!dOUU@U1p8w%18p-dEq`=Pbv#G=atKS;DT}TCmg++kt$fGUkVs}l- zCq&>v7I4lfIdwvSLRGNG@3NGR7DJ@CqB9#qv+9&DT4N1hborl)JPC@XDVb>e=JQGC zSQCGTrh7V%ml&41X}!+rj7Yn$Q&_J`*5J$WikOB)Zb`tw1&%j{wcnD#X4 zP|^MCp5EQw4-5&9WA}IQ;ho(jb(TF%Q0du$JCDoz$_5MZBPSF*vyWsOkYxV~dj;A~ zdyUo=ficgAFK61g%@py^&D#)_QLgL50t?ZmO##pBQ1VOU?d`hEjqf1%YxtPIB3S4g z!U^!!&n>s<6R}GQ?XR(H*Bpdn+Ze*)kIgm+2vy;50yE<&CbWqke4>n8S(02LnG;z~ z#T#p73Lok#SAG^8m%5BWeX zUhw-|PNJt00stL}xSy%WJ%pXVyY!8>RAjt$qUv@_Q2MFQqD56B_Bz~Jtm60h%f9-^ znMZab9smmAQj)Oo?fM_lk*<*St^89B=xt>*T?V5mw{;lp8LZ;{?NKoQ&UUH>iz9!* zl>Fpb+AfG)Z11=f2b6g;ZvT{WvGdpE$|@e3kDBJ|%|69aPxaaz3&t0QgLR)EbUvvu zp!mzto+%j@Lp$-vzWkC+ECOrEfd~BKF5C4?_qy=(?ZkARTZ$S5se4o7^sN!h?#;Gf zP2`hOE9nLoQy|7sK3?AYWxhAs(P^dH^ycT!&#kj|?r@GOjLD6cRmvW;&9qnwKN-!q zS<(V$Whq7#{@BqVWpN#ySAR)LXU$ttz#R{7N-P1}`gO;Ic(s+~2*i<9SGz;8$yIC6 zkGgbzLQA6CJ|GvPt(a(ibP1!7lh^L~7$#^lNK25yXZS$*H8%noY&b_Il=Cf6ek;(V zDkdM<>W_M3 z+dcIQ<3eoZq&2TA`*({rkNA{e88oFaHCn%I2b`?pr;N|D?!)yYwXCEA7?PP>{T`t+ zRj)I=n8n3+ny}Nb^dHvFhzN@XH{7Qi$eI$y%KSN=eVMGzAifCfyDx4}&v7BjnTs$8 zn&OYRD!$o3{e=B!!0}FQaYej*)jD|?*U<}9cYBm#TEWheY(nNLCyZOTv2yU3;Ueao@%(hvZrnro{qzCMZtG$=1Z9e$>@6T>4z^!; z=b~g)nM3we9rrz4bf#VXpJ+}i!|*T5j=V8#2O8jhqPMZG3*Pd&kUqtf5>%*9uJ=A7 zeL1V^#goKGJbXoipZ^FNM5gO!XFzK^*}JEOl!`;DdkU)RQF9aN8sBiyXXi?yZ|+y? z)qQlX@vn<`ZX*^ewES8WnqKdNOUokOn(6yw+Aw-VP<$`qoA6Y?*9Ud; z?UA1{!c`0f1O+9YKE28P%ilYpxJXF3ObUoko4bubuD#3yHznoqQiQujuTY1<;p250 z#oA$E6B||=r2SkI=P-seS;-HoN5V?Bb`6eCf=Y{Fid@&7ZBgkTCcyB+cYJH z-Db#H6kE`XjaX`>y^8s3)@Gy8b~f*Ew`=3<+mJeUA2Kx1isM_WE8*gnWhBbvP)D&v zd?RBFNYG3(kWn+?*;Ma+q4a@CYXW8XS3K<5c1*)T?94W^M8a{!CC|!+$w8ARTmUxy zEzc%|SG85;Meb}3w+jf7rvagOQsuddZ_7dhbi4bOqit>Zrfrlk?=Tu;J#ZeVGjwx1 z$U?h^ic#n!57(?n;XuR0;SW+b#T4W!sQqG4TMugC)FmzEqa-RrGX8(H## zHFyTI;Z@1mc&nrtYa?xxEsbi|vKdo{iI&601cExgE}ZATQx#$IseSgGk@|mO>1tWU z^_+?Bae9c|U9UnwiTxvauhSPMVTJ=((bxYQ zOgD*rXpi|3c>nVC&D5qWJpI0ls3MdStqi-n3Tvl!E>A*=4QAhCFUkbnQkI>Xx3qql zE}m<#D&{|%C*N91m73VU&{JtLkVX@~aq2XUpqw_k3&f1N0)38{xC2kmU>X(qKjXYP ze^t#z?$+cScj)#%=CP^%g@YIWO_{Zo;(WX?EPwuXS7>#O{=o`;^})RS#%0Hc#4Pb4R+;_5L8_{vi0i-(;&*9`sHD?^W-8 zScd>1fqH!(vFX)@f*F4-qxgfWfabwrpP0cm#i1O`@&4?tz-Y)z?8fqzFlH{3L`>YX z|FFI^S!v3>O&R(!<_B;Ofq@VXgAo7(@4QjAqI|D%;Dm=}XEsMWD=tS-v3L-uHG5ji z7zn$kEQOEKAshSQS#;~l_(t!k0#mE;*-o%~zX{psyLpF$KcQX@aDw)|-Q8yNyS)^2 zS*am_Ene3TC_d+%)SFb;+WJ&g$u1TLvhvwFpgymz?4F&ShUZnGE76RG&_0ImL_s-P z=HWi?w$4g;AtpNV`s+I#Gp8usS~k;zEzYPPUIN9yv2i-fY}PuZyEI;$96; z**mBh$;YH2^vZS z8-Wr{KwNVzF43lh(iV4}-ChVUO?QS8zLchNZhw-Ejs~9LS!FA>^Pe-k;E`PvljQA> z1Bd{WJ)tQvg#`EhjgPfA2+OM>9|y&1#{wEVD$~S~4*U60BDR;3fwTJ2K&<`=XX!LQ zJs0vREKb=|b>!-~u`brf#hk)v8wU&f`aV|2I+IqJ<1Ci#{?Uh?o_MxMukh=6Bf1|^ zCghT0qTfX8)L~Rb%4jS5)OYK!sXBwSOH)Vk0e=<5R2f4(x%wS(e=gBYRp1`d=90Q~ zWYeH;K$w;AM9oAd@sj$rS>2ES=rM1-Z%G;Xi1`7b>xChthTxO9aL0YIvO-6PpdtVG^o*-^tmlaw=hm59P;A``;^}uC87L;V|cM5sg zdka(NLyA|G**r9Jqec0|VG)Cy<$w|kx|fCag!8^kebl~|VXK~4lxi_mQ6IC&*l-3r zLwxW_mVm{YNB1X$W<`sshm`2qN5n1penlAPw(3U#70(v=QF$Y!>0e+Je{nZll~M1t zR8a3TEqHsAeggDef%`_s&Ur@G02-g{>%6)X7Sx>4`gGVAJM-}tTDH+G^9H5e%`-MSm!vw8gHIwk^+{l}t40)B z$T@X~ALualM$zfcBDJlAQ;RgRCT0F3ORWxx7xabdD18X8U5K->0=8)b(zlndK~z1> zb?rn<9_BVR&W5J`fvq(Z>1T#_Yi;0m-D0^|&DnR}yVS|J>g@|#gIXtakPaT)Zrztn z2V<`!q!)z}f#y7vNxo3I09oK^2r!K07>UE+m7hh@njG=@r z)wHdTv4BF|alR;#%k?+D;Y_(d{g@lxT_X6m9bcms6H;m{1bZ+qHOshs$LYpu4XY$SE`)xf^cfGsu z9wAw5bPV&be7*~Seu&wIfmiR^eHGVr%`#wl7=scUD&6#|*>3&m6ucT#FX{MJg2cb( z=G!EI?E`Ma)dz}cV&(4-$Je@&WIXkvg*@!GW_>)*{XqGZdOFnl6;H%BQed_#ea9Pt zP_)I6d3J>h$O=Hm8)D_XKD#qt1R8!+TP4@*EHf*OAVbMRiOKEO(0-J0n8`xF%gm*2 z6S{ijTGX-Oq3VFrSF6AAz>Vi^C7+2Tw|n|5@Q+1BeoRaygpjfX(UbD#GWqsk&lr_cfZ=Y6hMBSe%QKsFc66vq7P3-WvU zx|TT+A(T^ciRGsWXQxF!@tp>s9qXcXai+2Rq7~%nU7w5`j9fY%(=^{H^QD?F7GYZ? zI+E^AGNzN#s3YG?^E``BW0jFq;vUIZp5%u20dg%nZ+Ej2md(swi;r6W(Ms{vpu!WPAZ1k*iR3p^7JLnVX`{J-|;O(ndM33>{+Th?a>;UQ{K9a z>ZwyD$sd?Gi4ONC)jpwXz4lEg^0WL5N( z)Pk3W-@#btRhs^Rl;lV}gS3|q)QN9<6J0(>1jpaB=%`%N#rXf0Z%pv5E?LhR5c)Eb z3H(5xavIqxYxOAs^DEQq7f1;26>ldLC2zp_IA+z5vT0GO2c5!{+F z>`BqXkUe9p=1x66^}=i=0N|*{#r1cNR_jTpUe2CaopYAX<`hSduQGQPS&nQigKOaY ze;S6-xb5q|qZ;vFMbg8t*4F0{L;RJw{I4YO));1c=$lJb)vhq_As)PzYAxis@tA)R zwU;@4|H@5FG~6KbZ^+MJ~yDTB4^ zq`TJlGET{EJdp5G)(W!Tt`Ija&jqg6rkJ0^g#lhf>T|?QyF7z}AyuR82?%D;YChQH6 z!6O?wog?(3?}Z&_=Hs*CD!Q`oNoG}(AeWrv&fH?TtQ@#c$~jgZfDgT8qa%JS4wly|t!M3s%@O zjZyQWS@cztEpo;#tAvwk6|J3|%e~%`^;ydgPv9yGCC51HZts1;B=&7lj81@`E_f$o zZCttI+j6D7M8JqO=4i3q+I|Yg0vZu&(R8wLFIJs22@UpG3 z0W_f+s^FSNSP2CSU&fs=lEXckj!OTycUG&WN`*I)J^{73-1xYmPtXd-=Mf&OiZXN` z0gdgr$14~;7>Odi@u2xQ_j`Es$SUC2DNx8thD?RS1zH$bfy`ZS5cS#u zqPYp!ox$npwP)q$k$5@Q_#=O#k1o_jic()Y`+KsTTE=2aY}l+04TsR{7+v+NDqM3t zKbMTeJ48^nVf`Ujf{ z1Ho(f>W)fdg66a#Icr*@87`GI*;u+RgjmYKn{abFZ<}~eQ5G;T3eqBHo6#MS#Xpv7K6kS~KcAgp=4veE`F^=Iam;Dg@v2Ij`g z@MoGUn*s%8VDtJ}6sW<&KmShlGq{aIYAa|DJiaVtVoW1m$XoviR7iHuCnV<26V$0b;e5+41B z1tg-c?WeDey=nmYE?nqs_?T%bKZSfUtjS4nRz6K_iz>*losWv9=bYY0$6ggq&|8@n%8gAcu32n)L*kE z&iib!+&iz^gRaTy+$cT}Qj8r3jq#j1EG}aHa+x$aa*{Jfc=Vt@g4=K>S$Lf7(x)Fu z$fT_dwH5l{?pf{IOgY&*BbAZw6k=JM*55WDZs>k3UxK^ixLB#6o znNzaJRrZ2)dsOonl2~@bmoWtjEK!JAjNPBCNX8N;ugV|0rS!(9&S+EY5gnV=u8Htqq)R9pLba2M)S2t3rbpf zmkDYrW0TOcDow6B=H?tAHc+|pz?RoH*XZ`B@EX;vQTOAs`PCy0b|%M!6s_*}-}w_> zZ33&B%J+sxW!k3>J;DU6g||VY(ED0=GVW!neoEU3d@Q^d5+8QJs_pPNuj}2 z#rx$s4bjO^zpT}ODr6;sN-tchLxQ`k^hO@}qS}`?f_L{Lp1eR5`H#^ibJ9ITv#65w zmJ*Sm%-Jt~g$Y`@srG-=O`@$vm$E8{A3G`>UAgaFp@`yu+k`cgSYHPrCs)9|D`&xu zj4D`L3nUmPkY3Cq)*r1%JZ1;Pm!SdKcsatC9Ryk?fLP-I+G(~`z-~{rd;GN!@wu)O z64E@}?`ZMtPwBgq{a`;#<>M@OWzuurp#df(lo>u0xD_oA92BuJPxJ*=;VP`NO1pe> zO)enta#lC`gT)nDs}Ef^i70FnN;RN;_t=-_#z>KL@mszFA3RzmgAp+m?35-|y+DF=uEa}-8seFJRWy0lwB;YlF*Y#52h9xnm!SFKt^3Zc|3seN zE_wWhxcMo1bSdRob4S70ZOv~qucrQZ=U+6SiG;OxI7rF;-^$mPR)EyN4ozhEw7@+G zH%E}fQMDmtPA`=jCo@|^i5!v>dA$a_rhtrU@=PEbm!(Q!v`$?-^vXX2xh{&rM~9XS z!#{(A*}_9Dh}sc)O11XvwBxr&60ugs!fO}@o10ghU}FQHzneIPwp+&fDiwHMw;|wb zfFo%YZND(7Bq&KJYvX|gBC6}N{UTHwx4gcD z_Z!!}C;DbqXO#PRN!s$<{SAZ<4e+#SrXDhFnIEeSQwx(bE93^&wnd5WQrnE-gltQw z?5#ufM`TIniZ{xi zL`V!(C5Q+jf(ZZgeV^xj-gm9y7!)a&p!L?{n`6`&PVM(78qxOREd}J zIiv0e`E@s}cdfb%HCYC#P3l{CC|6fIpOqP94QWe}o0Kj1{Q91_6F-5wL)9Cm<+uB8 z65K}4HC!{kw>&gHMy&ka+H=}h=93%JHjOUvicgk}XS&u6cq^9&EFNfCVA}>X63yO5 zRA9b~s_gEe_$;EM^m5^mzlUqDe8syW7=~}yCD1Dk*|jqtiIOnrpe|`J#%Bavb zy5AMnJD;_k!V)U$Q3z<+({ec)v5%G{{(CZBAqxWMpI}WQ?KbPi*oh->6QdO-ZYosL z#SrY}_*Z{x5>Awzz;63S>(iUWQpu(g)P2_o0)Nf7`E_*FOg!m|K6TR;ju>cz>%fGD z0()r1kv-0zFEZyYkUk;_CI-=g7SUQR9~boo4ByI^--gpRc1;phuOnc%$;LV;uzemW z_9N)^keoG=irrtgF zsxWLt03+r)+Q8)uC)$Q5x9r0hzv@53EP6AQ+V!F(O0d!H6!>ujj-?!4k(nK`(D-E1 zD*t}VTeXD`ksD(dXVM;2_2Z=^Ql|Ty!O9$N+oA*@q%SjqG@{%-EmCSXyL|J&0TFPw zx2tF!m;~OzQPuH@%43wk*&o}r$H9OrxRatAwNl-*^o^8_jmF~Bt{YwcY11rTn`S^B z=+qgqEu)#d+cBRmqQDxQ5?cS=SpCsJ1L_mbxqL{aha+YCFlY0po!_ty=|>(vlnV&=}z-~KPF=W^^BBHhk9j^<nUC`^Y^x>@nU!BY zq|Ub%_RVAw^0mhyQoi8P_sfnKj!ZxxLF_Wb6;EX3;_C^BFOLqP{CXzUb-U!OU zJtvbR4kBw0rcHF={YT(cVGpbI}_B*0KZYV(J7HCk^H%6I2Ce-nkcVk;n9#i&HWBP7ILFAc! z9XEWeswSb1JcG6G^eD{-w1rA=LjTr+|2h6D%v(I`KL6vzbwW(F5hqsF>3$vk*ilwy z4{yH74&auAE}dp9&+6I`u41ycuf{cHbp>abiT}?t{yququzE^7V)&+}86|UR{)Hjo zfSVZmf7|VLk4JfYB^<8x_dWk}{8dIw1aWWl5ykD0h!Frxoqa?h3{eQ8>{pt z=l>r$Wb5{Mf=&~4YmliYvpP^iTMKjDy??{#|NZ7&XO%>t2md5QRrVp_%9Cbwbir5T zsfJ?J$$Pzxx;-z9=yToA+e6}RGMdtQLbcNNtCNnP}${@1YwCj6zigTh;t6jRMXz&Kn>_ylW#GL_Ni?ioVV9iQrl ze=Z6D>vIDnpX;VFG_xCZ*He4MIz$929RE|x_CMl;w)1_)@q`}gK&^$`Wj(Z7xcNWV z|33MZnb#;{H8#mpwigBtzXiU2|F^(=F-1|pu_;~2hJz3-DvO{`RT)m$h-J=Eo@dYL zL>-W(4J-Y{jQsbb{(XE>Z?Wpd1K#Y-f8H<@c^e4(-^+iUeUmpFYq}pCGU%f{d5^SS z`52`eb5k3dAuOhAA&(il9Dzp55(gr#{+~DhDjnQ~8hvUG6dU9#D+(&59`>0gW))Jj z|8JtKU)a2{dA)+Sat`Pv^F*sZTg~_82dxkK)IG~ZS5ZT%D?fjdP-Jah71A54Y$P07 zt-pDiIHR4JuG;ASArE;^ZB!6FE=Er6_-9`K?^bP;e2bOP9w`6xO_f)8P$4A`M7!(% z?vs}eEBy(eYBfW<9i3c<^zHtq>yd#AOR||im5%0oQD%RXvnqPkar2}F5!7nQ%{z{S zd-%Qls5o!@TRqQWGCO_=dGu2EV#m5P**_MubwbTuI+Ch6R;WLR|C`3>m*uhNyCBwg0|u=znIP z>|OHzNOV@|=!5Q?`)qivc&xteL%z@5oX9sd)5729BQ_Si=qa_ZKX$*>66bYHd+R{X z1LX-1ec0^B<3Zc`65{43*c?9Zce;~0@(vN<9?(~c^i|XBj|sBm&_~I~d@zW=cncu#jYh_h`$;pS;%HaRER^CfVMWQNX z&h(>AWP^4FAU6i{0%Wx-59d5qaT=Ov)GI2SkfCsq*f%K7mp+1d3}E@sJoP_(24@T? zhfqH&RdR>YTzV}smzW~p^P{4?H2r({|Kp2oydBc>%p6V1QEF*t?b@{stQr&(XP-3t z&~PWZBYQ>cHHeA65q}sHY10$6c+VX%ZemT--0ex}<`ZBY``p&fPl3xvMU-wlkqo^s zJ*cmh7GH8fHaamS{?k|C+dZlSFDIdcpKpX0^BBS2YyUsC=`>GI8TyRF818UR5+p+QHrMlwcewT#8Ihjsr4NRgyh4%`e5!Y6jCEnZ*b5(F1I|~M zknu*GI4Mi_vVj-C`)5<82G3w-Y5?tjXFC4Xs9n3<^3Q7rEoe?xeu!RM7;)3LM%(vC z=-9Q&l=PA8Tq*P(01k2gPvJU=Th_nT3O80m>2=kHG}+PhaP9jUwLByFDveyZv)@cP20{G3ujdZSdP58R{RK;aRj~4<%_2=LNp8$BwoDTwZ~y zIwy(YfG~-!k}J1-fsD2eXxp>DW#|G$B=YigY=DByq=EgN|4b>jq z8jhRu6DX}e>%@O-{nJq$|b3h-2WiMJ(ZuF_wIb8j< zP_pmkv+nTGw5j1Uy}XuaHawh>BGeodoW<@w$m1Ei5Gn=+3}G~LF~w*4A#BOd)VhVb zYdc~uD>C^Ke86DIojaQ{wao$Hf4UBBm;o;IWZRoZG$Y+T{EChi?{ZgX@#NYG1f~OhR%%+d1C~ z|4#M1>at4OR`V^BEUYabj|3d%F);7sNn1{%P-FY(?Cyb}Vqdk!fD$8p3TTiU5XxEp zlTQAar=86YWZ^7@cK`6^S}jX$Xt{jghQ?yP>vaRTiCGgOV{11Kgi zk6(`s|FrgR`_IS8`JA&y{{7zN3Ms-%fRc&+ySLDyUAs=4v}ZDH{ol25UI1fWFud|`*Xn7VS-jbm z=c_IKYE-Ymh+O^fegXMR0?ez)vH20`FNI&6`n{|024t@KyO`?iwW3L4fYK$jtHh1L z>BTEJ=E!4R^}=UhuKM|wCS&I!fWC8-E8QT_C-dENM4fuku*d`8)-}LT^XzQDGi+(Q zUF4)c80YjIqtatJKD1p6-U;=42Mi&GK(^|FUJf)rWH0K9Z4B68mXOQK(b;nqsR0@P zxcG;~|HZeeSy5tFD5^JURh@`0wR%!)F5PZ=e`i(}G`Fg1j`uJz)bhTt9d}wGkUYLN z-!g1sD&8(whphalX!rHMwESQ!FVr@8d(bXIT$5Q7=g3~>5wAVjs&F=VqbEAOQ}k&1 z{2OFt_pvP4f7p?nof-`XWxPBX9I{gPALj3E(iN5Z!yip~jlP%y!a z$PNUQZGIT@YiDX$$nnm=gq>NWp-n~v#2Q1uVZ}4RX$H5WEB#xgOff$wRW5Z8A6jeb z`nrmzEd67M4@>PS`DP(5h$h^mjT64P^v?Yr4sAs$Q&+^oQvGJIdSLcbF8NF9d09oH zx2KAwh8FY|d0yNhQ0*P$lo|nXy2#v=fX_@*g@xUlv_iydsh3hK9hy50HA`3LlV#^B zA9s8&5IKiG{6&b3Z3-{__PXU_>~LJ++vwrAYuA72MU1tp@;ZH`cZ*Hf5wxzm&&P^X zv2W2we-b~C*uUT8u4eBqG=F+xUkp2$NXWLd#2=ePj-2I&HDDgSn2tBB-jpEFdnE@xU+g+snpNs!J+;{r5c^&|Q>_F+ zSUxdw`#CNo+F|#uP{vnT(geKq?UJgT=v{r91MbBnN`_ znDPeQLn}gu>AdlbAA;&+ku)3Bh$x^1TU;CU=zBe1!r$1@t{&|8%_`uj^^9-f4);=ql}o`f7Tgb$BgrANk)B-&nrnz*)CZ7_PTO4Ji;Y zOvigWGonLaEPc5Ci%00&S&E&*n8$F}3zEg^aOx(Mi2-4q5GU)|?{Pyt6UZ}eF(0Sy z+%aAei?0A>D2{NbbkgH2x!HK2@qI>-F0sx`AL>IkyKu^4MAsyKsOxktCEXG2>Ye96 zWcV&1hGG;+FY}!<|IO68v^Ix|{_WdvH|(~@cX@QjPr(AdT{n>m|0cROM4Os%i#xIY zfm{VoT$3Od#1-L7jgr+KXDR3yUt=TOB>QJ1@bc$WOquu{V<6VM^t|C4O^g40g`Cgl zcwLWG@OXQYu{knV`%&S(wT9#AQmP$~X2g5EtN#HwpS{0d&Z7Pub6yd@uytKq&^v(V z3FIjA-3CenXlX+_Bo7zE+b>T9r+pKDjh~%10-{pemzIF=%!|(}{2!WOvVDi#l741T z4_7s8`pt)w2ExosWX$XeLW+Zfw9$!El7j+qJp;$}#eY@ZJ#6N3{6|UP&sVV-kAFMb z*CdB)=3mI@r+zvXzUDEs-U7nw_(tsJLPq#FtZckXcF_^D!6N;2!&9m9;QE?7A1`g~ zT(Yfnzh8I$pP28kKF`2eb^eUx&GAms&8%C5;=y`<`Inn7Oe=N&=() zcTgCG8n!2`LCLYcGwqMg6^No*EgJS>Sa5sfrfJ;+c|?38UJrQ0Lbf>6+D_G>_drQG z+0=yQ3N97BtwDMYabc=?0`-h)`-{4JUvk$gzbKJ~hv&$*2_M?o8t95{w z)U`UHxZ#%eo!bMmkrJOBeFyMDWK4DqiB<8R9_2-~a^=qLu@M!HjUH;4%8ZSMIA$S|>n#0YKIabe>px$V3)j3&sV*T_Jx7N(TvWTm zD&>)e(T^4U`r1I2bc>ZIRq5NDi)OBj2qD6H54NPKkAr#z;PDGAWAsBhyW;~gz{$jL zM#quSGt{$bG8m^*&Zoi(rx2c29 z9=t|sd^m*dr43gVRiK65CbxT1B2W-?tw}n{ik=b8F`hm;HD~6(UFW@`gh4s2@>Ug9 z5+HYt5D<~#^baByfg3SXE}4e0GqAaKzIof0xs!pMhiXoG`_w5%RvmflPE_G;YI`WPdl$SK9UMjYaX5 z?MuD?ge(`$vMf`}r|A(yxnpb2PEOAX+;BjAce=OFnl}%=FDxj~bhhX17FzD)vT!Hc z$Ca!LKYpS*B0;@m!aWWZ(6oWHs*CEmdU0So^?{2^6K{ns#rO*k3g#LM$!j22v+vx`S)G8t40oRG+}4S#20( zy&?{2d5eq>JfPLHB_SR)Ld~M6*to)Z!Ooag#1s}nozQY+@$#=zIXpU`A*=#TYS(_U zl&eE?b0WoU63mcE9r~iW&e-ko1 zvZrKY%8T!_9tZEF75MW#At9T;u9{ir^m%0>4U2X4V2PyEUDh(`@`Y9pJWb zt3l^#+Xb6R**o3`S4lZ_btu0ARXO3OGjMv%1}s0FZ{`eebYU6h^Hoh@S=KR0-Q?`; zH|hEY2^S*}shz=EQ(Lb}5LKBzLk?^x5cObh+4k3V&z|-QH5Strl$r!z%a8XAb}y!E zPLzU6jZe$b;;SwXlmr*iT0-BRNOrQVK1;X1pVKWC=oSq1j_)r^c=|OHwBBkNzS_S>!Jg_M-3!DPjS(T&lnkpe z#h)MOL4-a_)yG0CncpwJPXZ0?aR!7S7yq?e(y!o)4;1{uhMn-~6KS%Fm6koT_wDs^n<6@E0w+ zJtYPca+qv={h}1#*sIPfW^a262aDjcbvIDO^@l$nIBc%&W$DO>)C8Zhx1o&h;4xbU z`C!T7s}(a>EkYoV{dC8|8FUtri(jI40%B~A&MwF);uwA z;(0I)y zvPpU&Ti0;YDxL00tiW5b>4ni0_F&8I7F3(5LWbszhV)>9u&R2enF98*7SBuDF6?`&0MV zzT{vqJ0-W1+h&!f37Jz&6A*Tjt`EVDw-MvjG=eBd2~H-2hf&Midto^ zItM)9=;-#B7B5O=`h5!IG<(2?$uewHa5{^r?1DKN3-7y{rOJm9OFuQ&;#M+8;Q(GinU z->^H*S9lMioB~m60pT}kX;&`xIF@#gT54iKZuSDY3pfXqxW+~pYpBtS zspSC+r_OG0veL%aM$8b-O8UI246AR_IRE#-Hmvjwm5wc7s*OU{Ja>Gc$}XT8<@WSZ zHvg><(Pq>&r~3_*w_*Xk31UIL=`ZE#e%QzE6&bUD*nW=A)@_2@a27RJHs}CH(h@p0DQ0Ja!-(%DAvHq=cZeDAtcQAVy z;Wo}-iEO7!y~%v5Ch$mHnz|>-Eo;*(YSOA@-?Ylq;x_A0-Klq37jVB@_SA1!a zB9Vb{1pbnc{(8>Y#z$pc_)k7be%nK}rb<$DyMmq3D>nkJn1MBeJZJLv2KKHGpV<%l zN!7z#=LKNkrK(>jtEzD32c?CuD;ydoXhWa=ZG&$dOxZ^DRwRBYU-Z^d)el)b}zAwZNr%Rrv>5h zELA*TBy~R$c$sL4VW$k?sti98)~1$BOH=jlCR{YRD^b)9E&$Z2YU5+&_0)O5P+c_k zO|VpbQTYmopyt1RD<<{CEG)wQwqMz%s}VWud1mm+B36J)F?5&LAf<8gmpp>LNLPX+G949|$lv@e*Gw}k8d9`I z#gLH=<~`^qo_k7z^~BM%&E)&c*g{K`6W>c<*Ov3((j7x+BcK$4_KZ>tPUhL+eb(Ky zG?MScMa#rq`I)V+sm}eqI|Nm;MlYa&KwG?{bD$jq&gwL~o1tRs_6(X27DLqrH2Sse zYkzS&JL0Fb_PW@@3NAH=_6080U!x*SKkB92wUq_?X;^o~+ja7KwUQnOv(5Z@T0$>y zSTsR@^!hJxG`?F9;+n|!bggk&kz4gBRduH8(GZiGeG+xEnxcBd{$RP+9Aln1rP#e5 zXr0v3l@%*_73mfoH)uCC0d0G@T*trwFyVd^=E9t{f7_fat0$8 zod0W(T;~lE^RJ;@w?5<)bu?NGMK*ok$PBEIxz69NgAuAYL#Cjl^CgMG6&0d+cQza< z+TC}?uy=_OaGc78w5PE+Fd-g2thW%ugL^JBYDh+(QIr05bglV6m z_;r1ybho+fV*je}o)fiY7`k_4J2UmgSrh3W2chljCDDk6*7=rgjGO9XQOrx<*sdF| zbh3SX}Q!v7ATOQ%xS7+N^!N+pd{<_H_iDeU* z8p+cgL1l5+Vl^kj$By8`;K}-#k=@@jz;`p)^`yw}bngh*Gy{&*=iBrn|3)G9-@b)X zpBJAC^s1;-mYF*Jvm;xdwcSvB*UiDI#RINYZyNxPxJMTYBna#^a{qM~Q!Lmk6md_Z zvVIhOrBU+-^pD$jWdsK$!be+9D2y-;%Tp2)vqK#cihKHABo7sGbT7-grY-uyYtyid zVvdwaI)+id*Gk`X%ll1x*g?-N->22DQ%Nlnb(^WATe@Lxl^_zm2=3VPsRP4+DZWQI z$Je)6+BJeQIXZ<@UB?PDGXPEbhH8afE39)*T&Qi!s0o^FO@mU#Jm|%Ks;iS&b}@cHPZw9hoN?}Ncj`{!;d@dcUW^>$Dxpaqwy<=-qS^@WcOIb)K(^leQ5ROgjw z%`Llra4&bOY@au@w_Qx#NB@(s?M49W>vcMa$GRy%hMrB>57nN$j1j%E{z3RAp{O&k z_L)QSpm&6&M}=N)%i{EMCh&cyCzC8WbTm0fICVcQZX?yVgHQTvVMEW**mWNuZ|I(o zlj(!`(RcyCU5~M?Tef2wxQwjr$~=i1-R>cq32($6nLv=Jw8{DOyA(`-%mHg%`f%A@ zCA@MQdNf7Eb#v0Ju>cCu&~z@B37Yoo-ux+FeCkYaO5m1wLgw!=8{U!~a(ilrAyHWH zXe;`8XvEJK?A0|pDNW~RZV_!Ij;4F!ZJlmp%Dms;QeumZU6*qE_eYSau+F5tjWq$Q>74@Ky5BTNj1ZFG|FVHEGq%3)>V6j zoA8eMpW>4D*>4tx%buGlt~6!oqInF^zf+)>XL*j>EULTWR)N9 zZNnsV$zORr+ zT6w~F3iBDd^yg~$zBJ!IyDxb#d%j>GwLzm{4gIC@gbJ_hVh%+|dWT&bYffowAY#KE zh-eG5$=499H^nuaxojDJI;X>Fs=df#J_mN#Z?iGJQ3?^ubz66AOQWkjau0SOR(|N= z*SHX0=^grRre4D~VQ;tZx|#{Yv3D-?E?5T)WT*ZN1|KWMLHeFF&JS0{H@CE$@YlS( zTt}L3k1KKyeA4k!_u_U=vR2ep-OeP#G@Zx_ROFt64U3S7C8msX)ts;d_Rlon4h@7d z&16E+LGCS8nV^kU?KCm>^tIE4w)vEeiO8Yt>;T7`x;mt}B4mLlpwu}$z-agPAei^} zOHhHw+zx28vsyX*nu*}5^$A-G2l!}?wFzy0bmkWJG}JjQ@NuWrwit?*%r?F zr^=p?wsI|2Nk5EC+wF33GlgVCYH$!iI6_J0J}zkX?ATa7))RQh!Y1`Ml-*a=%CELP zP2vI}-b?QrGsH_bO*Kq%rtS^ZmJezHGh(GZS}&Wh4{5p1!Ad~$A-)i+0GQ%`!q3z* z6B`>@Vn4_iX~9oDhZuWA!4p?BT`PWW*xBPLX-Xb5Nq~erXv4aDJSM%u!9V9FrOmBCm>~vWp@ew1aS|~$O*O*qK3aj(KXt(e<&+R)UOi^n$4~hXbp72i%sX>FH%qPJSa;g!>$LjI)^!by zdmYSKo)f6X@N`+fHU|Xh>tc01il*p~jd`vg)9*Y{=c7od;nKuHT&~v9={XVbsdH4e zoIdSG(g?0nDkrN{C!#MPoinYA$w^`jn{w5e4&5O9IW83A9*T9>xfYHiT71fedwORq zj+>%4)UPT#GQw6~TW>zHZfQXe(yJ#5qY^WZ)jk-}BU#rVj5IjMc*!mKEBxpFDa@L9 zLGSpe;LAo?FSFl1XyO6l<9I+?-`rf1W9K7e<~ENaL~WYx(Q`VP2k%+s8v#nIwgsUO zI8+>4TV8l4>2hvCfx)IzlM-l?a+o@@`a2(F)VT8QM&}DH=YdCR6R%#qA=i7LRAm~X zV&-XFp>`TC7e)yW2#eTUK82&A57HYk2TqX)3e{`(-gc%Tc!*eK_hx#?#)?h&(&9xh zjcVNh1DHfaW`MxsqoN7p>}Gx@UQI*lO)@VTYY6 zTb5sM?6-dOmhZ(jXTXjA1WA32+feNN?ArV5b_l>=amn*hfIygUV??IDb?=cF>m7Kv z@~z%_RSSIEJK`7X#>u@mw{&zl*Nuyar^BTSqJZ)Umz~M9?M}=lggH>@G$sVA&8O&&4>pLIz&BL%k`ZfYKFV;VKE_{Q#uOaZJHURDLeWW+hvhKDvOG=xdrMKnFd4b@s)V$_`yLNnZlK5>% zY-KsD6r^b=Wh{Yq8iF;bK;NA7O2M$DAoSpfsySw*^7A}5Ufk&MC}#;7zTHJ4IZKtV zLA9}-L|(${&5$xgg4!#EMn_oWLjbM|q}?~%+OhsCmv$ztgsakY30c72*ls#q%(m`B zgV4dWjqZqB-rO#wN#=*N`00*hIH4Ie#Nwr&hl1?selcZHR%I=FqZk3%BZ|&@qkwc; z$Inz4ec2sOsq`e8>N3J_VY;iUNS)hpfKo}!@<{2kOw)69Gqv3u%71CC{K~Hr#WUWcvR$Jgxwc!+?+ZjediOVXWlsR~hsfnb-4nb>fB^9Rd&j*Wj%S7o3c7-72y1)3C&uV7#q!KZdqBL=dRc9VqDD%av%Dt!lR_P z6N7O_CzXbQJ3l9Jr(eGEq$s=>x}j813G69K8l>Qn)q@V4 z8wce$WLX7qN2;y~7Z(X(#9rUlpNrumRH|3}i|zODS>dk0gQqFMHRk$C8+R)3+qZbR z`FjSEq6Nj-aN~)c^+MNh)(454)ppCz_VpnM0)K2OMtj|DPpYs?Ly>pg&OP%Lb@(lv zDyxah>&Dm~jFXwOmks{@RGV=iY&=R2mfdK#{!$ValB4KLxIxXbBMM#<#NqL}<2sDa z7seBrTOZ<&bE7SU7W6-{i^I++*KhuKzZ)c3cQ2u+-p5y7^_?g?{-JdQ=F~RxqlB7T zlU3v-an!Xr$JcD@3-5beZkKn?BE{i*h{7$=NN4KW+5<9wL|S2cw%AYOxo%7P)Ue;Gx~){0T9aVd=9TuQugi=BI)Zyt^xa~eR2?huK#W~U?L-(d*+{oE zxVRBfh*$cyRIie|B)z*wJYYe=akGwa*Leo87L!b8)z?fK9#%T#8XYKajeLM%a0ugr zx;wbBRIQj)Qk?!}e_jUvuV3-0-PUK#)CS()b_Nu9KY5SjBQ`MK>?p@cJ8kK3Q(C`d z-Mt`?p>82{gn@1&hBe}(ju$D%UGe!Y@9N`<*AjgFccGH^;O(5YdDPM*^*7|{mxKb1Qq?oz@oJ|($=s07`{ z+GS$&r_{B$&*Ud2EL0ykP6h*(^9E~&WHwS0`^+3m@MJzseL7<6qo ze{&wgtoJ!{KXU0rICosxkn(hM#*zw~^v>ij@2m-SYDlUz z)vCON=+eb6t&jITShU#eT{zO5S7p2T7zrJLc|AMno#HLgDZJX$uF8Te7&rW4)?IHN z#9%eG=j_Z-rF2iOBAg;`QR(ggTH1`EWrPCe3x&F_7>8ef4yrM#Wr_K;)kT9NkXomX z7`{Deg{Qz#cZikoak8?qFh)x+7HT)6VKZFmlFk!aRD%f$w#C>MyvjEJ=vIf{Hgk>` z%V9#+h@YP(s4dq91C|jamRGSUlDc*G_Rqy&K&a`Dj%#EN!nGt8_<{wu-2p3k4(9uM z4(e(k&~@&g`0N@v=!k%4#Z*%LT{A(y89-P(c%k1)AT!k4UK_;Nd9N2Ax|EFAd{6=3 zxry+mU1a^78tS#fEVn)HMMToY?%3!WWp7Oz#{J{RBI_h5!IJ?inMF~7P4_;_cx z%S7miAWcMRakJe**j|lz1K3)$Lt3XghS|4dhkwl)mr{)wo_fwbz;W$OD|YGJnn?4S z?y%Zi6W^)c3&6PS$vO66Zs(OsqPtYcl4QgBN&>Hr%CJ z&NNTXTIL?<3!7;-FpGbUj)8X)0gXr1w5)wI-4WUQd?T? z>dk&H(=T@A+eG#1DUW5TIZ^;esAB8D0g7O^7uTK#N}mStFq%UrQo8R!8q{3x;oc9= z{SX(tOU%j6nw_|maMt?(C&KC7(62V=v{&8C%YDZj(7xUY7*{*y#&wjs4Rb`t(J}qb z$Nq@e-aXT5^~J7dAAaG7A_(Dv37I9#;Jln-r7B`neQj+B=>8 z+L417eIEU)(Ts+@-YqgGiW9;hvdjdSeB@sKqn~@<+`)POl!p}oFBrmnN}fF3Y5pEI zxw5G3vnE)UrI{OC+*7$1`80((p1oG9TS}?DZ?!;LVN09Zn4alhmJ3GgWYPm85|5+( zq&pCvsB~x~!&GYmU?iU0egBJox2Ys><89R3caD$s+qe0aXs=HlRw%T8Pp9^G!&SW~!JJS0-T&eOvP zJOI)EF^`bUJX@Bdt-Cf!Rc+QZKYfes)wnDhytLG6iq|GK0<+kZ3#flKNx zICtn*KaZo`z2xX=UjRFbe{IXLYgf;{eKt?+Nud5QRerPD7ix0_?vdZGbw=Y$yFo-q{AzA&yNTM_O4ye5IWZlg-R9Er_$-$c%;v>gu5A4$yE)5 zs8Hp0Av+f#~oTa8EA^S zMrkDr1dkuJe9*VRiQTz_7XpDl6zJAU9M=^`hg!IKI2BD|m5FF6m+p(k=W2t{*}F~I zaAfk37!1PPBL;>dCUTQOTHcgE8fcmWu5d-nlmwBh+#P7}y+YX@=Qo3T&VH0AM8QI$ zwB6hdWhf0hedEaNCO`Y~cfm)4H<}$!1P{-J970Th94KkX5|*VxC$$Y+YE$#Yqi*#~ zpY8)z|F_tN`sW-J)x%GQZ)kDuSySwrZm73oF@5;6DorDO>0zcSSNninRN3QzXd9DV z#O{3-CfA6LuZR+0ZhQU;a$_VScy;FP8&PELq65bAMK&WnspeBOjuhZqR|u+;xo4Pb zgex-8eYwf)nYS*rnc05kEdgcp^NlH8zr4FyQ?UznSmBe^!&)MnA|s!2i<_1l|dtHgwr^U>@XQDYKhE3 zd%zKd5yZsyA^YoCKNQcb@YTT%d;2AlHNBMn1 zW~uz*KB@R7LLa;``vmwA6y&v78D27ixa{&t%OUUWbCZ&s^b;=$Yk07FO(_;}M#zN37a%&$b6QQe`!!{<@)@Dbwn6p6=~H;?w_NX201{T= znZVi|7N>aPAP>3u|JZx;a46sQe_V?;MTLY=d7}u4A$uxh&oXwS5@IZcA%qrD_N>`u z8?zZ=>`WzOUuVWH*@q#<*aq{x^+8r}?>p2EW<(rGp1Bb@O`e8% zMq5~(o!EI@3BtEgk>_}%3UDb~)@eWFzWV7IiwLQOb2S}2C;NwAlZwL@|dM=EcN`(Jk*vcwF; zkI;@A`(}y~n@81kJ{AVX@8?ig6-)k(IGW`bVh)&%+}Eo66N%5q39&*ujY8w5WFuyY z4da`*`MiK`ug#8h{Z_O1i~9r2ygMCS9|sBGesCg_KKr0hB)93(Ty?9S{Ygiw%W^|R zcx`*`?87JWnp)9TKHd!Mnm5v?6)t^%y2;!s`P7=q2QO<;80Mq&6&Ze?P%QPX??aYZ z$+@$dtKl>r%EPB}?gS(A-8$11zNyXuLxw|C3gPosUOAAywc0U8S&}`OF ziilC9gwyxcnw?5v9UoicUWcUq`_=c*7PUmDJgEz}$HI`@QbD}7kHX&7+<;o zr4N%}?sOEP$k$*baO_T`Z&1dW!U06?&9hZuV`bfpCw+Mk;{KS*sUlqFgd8;Q=<)VU zdjU;B0p5ZkMQ@XOR7OwQF!C8U|7owTYf!@C56&66>z8pzu4j+0JxV1x)%C7^l+-8* z=xmAzS?9Xcv1uqd|M5&b)>^6`rOQ8r8*snZ6^tQs#QcQ3sGSBoVKM@CLhU&Pa+;&p zjH?eNA#I{x`2Co2N|9GJeX{(T9QI&CQcc5k{>NqhKkAK!KdnBPiHt+sgLJ z10h<~k616#_67y7D4rxV!QaalaOeX0@UYif{+l&?F7OCWk) zONFKDRHPwys65I<&tJfxKj)RcwA8o(T!>JR(k*uTQZ}-;jm5$uspg|kw2|G{cVO`4 zoTW&!C?hg9nC@+#^AZW$eflhO_p25h*akhnIo@l=>a^YU%91|x#8G#5gBsLCn~r&v zqB2-bo|!YktNr|}!0xrmwI6i)$NJpHGCMF5ImHrvEV&iEuUPO-$ST&#*tZ5duc3W; zsN{{T&<1=y{&F6Izgq4y-3^qF58M$3V9zFHXd_TS(bbrhsTO811|(AEHgexgga%U^ z85FfuskrB%cJfiC2^P}s-Ym4Ffl_YX&`nFmS8R0D8F?7DONwuSc{ zoF`QWcK-lWRc;9}DttxeUU0xUy$t>wp?QyTXZKP0Lc2g|J&K9A9RmRz_PK9;7yVz8} zF~^sFQek2b!EGIH*86Ve4|1m02Faz=-3cFQYEQ{aDH(L)eK)dW%AuMOTe6-I9G@2W z7MIJz#*e}_siW*aQSGrm>PiY{UeOV-&?XsIy)!eLoli2UW%1Or=C^a#BaIW6I{eTq zo2`5gK%Y(I*v-?o#%I=kcB(q%xkLL3@)hZ8f7I}xk4;@WUWBx+FbaRnFMp+ubx+HI zgP+$dy-U$R*!e4lE5j2{%G!??2bpeCd%S5f+? z*XA8_$D3w?UJMu?p@?FaQd5z2P;5uhm979FSPlGiDP-?H0FTsvflx7wEc8>LjLzX> zo%r95C5*_}jhkkb>D;fG2G8dvjRxIuEs1|QhDh+#yX&5%AV(<}(rh!fzR=vBPF(N% zg4FheE&M2T1;9^@;8(DA$x*ejH+8OkEuC11Q0r5(Q%>?v<3|}!Z~nZMWZ7Xbefzz$ zkN+KkE4yHpIvx}$Biyu8jAs+uhxdJvfuHaVh)YOK3J%#Ej<^Upd`%vE8rY{t$zT#C z%S&#sCf^|2l&^n0fOMM4Lild{pTwo}~-iRAXWkr|=g<0HV= z{e!`8ykO8A7OwokhSzw(DU!VzzEH-^1#ouw^GH*C1o(?Xqcw${R`IN}@1Un;p7g8H zX>7u27WO+(0@7_KISwb9{w|^9DV2Cm!F%<+x69Dnsy>!X92?HNrK4EemLSTR?b*>h z6y!Nj1`F*K9o9WBjRlZ z)ZN5}fR1Q)R9xw=xgkjRGFfuunlk*3jv1`G(@9$_P=r{<;3%dgxItOi;EfA+-(!6* z&~iX?^khHR8&Jmmn&T8gY_kEvlYST^kKz=0l30*iHd3YNnv^`&bV&<}drGu)j4(9V zQQTm2)ig!Sm0Ev+5{*%&?XLu!L*-SIS;CS`a9bDxEh==ir|+_5kuSoup{*}hWY9NL zb(ty?SU9s~f3YT3)IWgBBjLw2CEs=DAqDu{b?gI)LXj1d^{tm%yT5xnBVYISMWu7^N<4lrWQy?`3@b>po9>(7rsRIKAU}0d+MVY;o zE+Y4wY98Obap~&N!*>7mH!8fq0FJoR6CBD$1_%WfoH4@jTN^ZgN*TA@_`6pCVdbFj z5?^ts{g@EcahUt@M3S|`{yax9<7AK+So{Dun)#(+wZ3?O%#LgAc1tf3qCC&o+U+h) zCJ%o|atPW45%y?hejT5sA`Yimufl@s6!;4JCCrf+CXh+1OXGqLt#2Hz^SESSW`{O{gsY7h$%nT=dOrBA|M0+p>%aRHbKN+p-f+=P?mNjhrR^1A7(L4~+9gs6$pR{tA8wlb%O z1g67*Ly+ChS~RO`j!BDe^UFVK9>n*q+^4*fo>to1=8uC2wB=&UBDcD_wCmOf=w-&O z=!1>`oPLt86RN)te+#IUHBe>=2DxK0^oL{v-ko85H1RZ549HOv!6BDQ18zfxt;N&J zmfK@-9)!orC$?);gUx4xhWs_>C|osTa1weH@tq|x6WgeqmhXz0-i}pc@*Z2V1Zqx) z1`&bjvHHBsF95jiO*ElX$6o*qrYg~DX&UqLUr-j_9xqHA4sG3h^3qg195!e)LPaWI zt`t1YAXml3y;Yry#^@`ivxiyjl=PMbwxhr!PFhnPwKo<=iG<=oo>_nR5XsqIgY&)e z;#}#ICJ6>XN80ZM7M2X>1UsF?9CWxJV^u!CteHv5&ScC){5?Ve za*ZQJ7p-{IWx9*<4dw~5?tUlWsY@$L!;@N|h(`-bsj7)CqwjD`gu=+JMkhbTF*wq6 z5#a6FgW$=LVFTldHZYga31Jhg)e za9m2*l?mNMmM_k7>ji;ps6-2D>h36upWlsj-CJg2ng+x)aeX+`(W7idka_QEE$~3@ zrnJnp8&7eTNue@x07;=U)kUv-jmj%{2*Kb>?<)fP6kmY@Y}F!Q0A(4U#^608a*CitjLat?mFw{(Gs~^>aB=MChuUKVm0^ zi^z?59hyG#EI4?}`n4ctog1E98S6Y)mPw*LZXfF1AN(a6I^}OH(>pidXSMVhoF;qh zxUoHMjIWlkwW0&FPd!s5xFsx#br^aQ09x{NU8V9(2506wC(^4M)raPPgqK(c5l-iY zw2yF_ls{S=&W!&)Q;ieZ-L@_vDw57YA$lo(&z_Wd>)1@~y3va}W&GEOtK+@KN4H!% z;FeQfJD0f<&IIdOD}u*%=cuBgva>^-*ZfX&!rqeF|ky7`iKzNc| zOM>J~X$@t#(n^!X5I0=((cVNBjqcScfl^v6$3JW)N zs^>l>quPq~wf|y*3G}oXg2rU{dIIR64K>@SaMM;MIr}?j@poET9=`-J#*919+;=8O z4LZ?{4Q#9ko`bu$5q4t`e!2rjcy%i&Bem94D}&Q8Zryo&_Au?|*IIA6`!*4YXxD1uwAJ~NiXTRvedK0AJ0U2g)ymlQj$PXxrA~mv9*W(@D7Ssrcb&6FgG?f zeuO+Uw&&$IU3Q)q%6B-DS|b7KiJ6sUUJ*VNv(xZhpJbf}9khKXVtZNz8XwlP*);9+ zg_j-oc-d6woI>`iAriUV0Mhqu$!kv3Q;xE_7LL+a?+7_ng?6R)-J>I?B*~F%XC8sAUq+o%D6k2- z($z-F=$jlN5U%E2)Xz{er}Uu>_DpLo;Q+#tXcpPK0)~&htHgp+| zWkc5-ZM@wHVHPMA=_NuIoSbQdH9j#w@55M@ytQAp@ z`Je!AOs1_537~e5SG}BiC#Z>Y>NN#2H5Wf-k7YUO|MGP^0j}aSLJ%6f%}>HlOqO{} zeK7%%&jEY;HqV*0?@RYK*T?)h%J0YZw(=5CfaYR<<&$~`KBZY|^j+rnN3YmEe&N&A ze|5ZVqf@AN*`G?@ZcD16ZQz;{sxc^PMUOr2_C5RrnokjGJnogm73Ub>C}PMKg^t0dl*ladpwvi4Ul4~ zzyoB%&~VehS6`)4WK}JY7Hlw@s1nY97U>o_W+Fu629Qh za(WW89cZ8&9xUUI*#&$SF+YUerxldMeM;z~?Ylk=Hv~-uSffl!6!-|0oi|2Ci*qE< zLx$^7;mZZ1)>`E|aIEFjtQ*VyDp9`}9z|uraq21Z@V8`lTT)Fb?A!2EChZ6_9cIRv}*lh-L5PjNIGk5Gyu$L1|88NV!T*9XM^C^i~zrJK%E* z;%g#^&xC^kXlgs1fEOc}0S?niCHAYX{rS0rBSw~Tsz#>kk(c3)Dws#1ccpnUc5|~2 zMM}U&*^+RffAKZ-$rCykcv;0aLBg}5AFO2EOW^A>*;}x5(?yom!PcavLwt4ZVQ=1O zBMqf@#!iLCvd&ez2lc5kwkIN*`+ulQS#qY9Gp?Cqwkn-_azFIyP=SmMClx=XFKH+I z{u$#_6UP~k3{uwzN~HIVRo%Ol9>HWAFW_@_`@i7DEv8qmmAg^=Fy_TAb9qiceRR4p zD1b2XGW+TB4`%=k0_bvyc^46q2K1*l{;5N`KC)+8>WM46G42ze(R~-&Q`+AaVz;W) zH`?f{7O3Wu2R%rL{rSx#-;|ocxsBPei#f;#@*JagFn)@z1}M05hh$T_{&XzKyj9f+ zDDR8t{?P!%DNAW-g#uJC-8H6BW{@6-z$r#B z1YALl`32E=U|pYj+>{baTuDtnwzVx^*r2+BH5tmycVEc@&=~7J;_vg4sU>&$JOPlc zUW&s`guKWDPA>P3ci%f{(gyM5a#~QNHFZr%oON0u{#=fLiuWLd2k8wNQO^2gOO3Lk zY8gGVMuP;P5UQgEwRjrjr*=1?N$+fTP?m~Tvqf!1hE_*B5LdZ0dD=$40N{lpmRV8H zcfezvl{T35$YaAIO0{NBh*C8V)7^1VmuTnK3p1QDsa3fbBDb7YCn1mv#JUtV)nI;_s0+7B(T6owk4x2LJlvk z*n~_Cmeo5Q$}x!_+=fPExGp*3Exzc;0CWUcXunN6hv8T5qrgISKHVK}@hJ3~bX;s~ zHc+YWG%|Psz>S~aC6Ji8@<&8P%99_D0|0Y?n}9kU2)C);_4ebI{?IF_nu*$rwXpb9232hWxd%rT!4$jqu_>@?0zrE4dMl4BdW6qVgQ zXP)Kcer>xI{^Dgb7?qK;GWF40TBJnJU}GR(-d;3U)_Gw`B9o|69Q6v%=-8I7$kB|R z3-6rXI^iMfK6)FB%*9rvjsfvR!~r_nApL7_%uLWuZDUk&0m(M?WM46)WZD6gA#`c@j7ME(jR8FPt-;*ef#l%U zvd&)iTlv1=dTq`D12fsqR;2m;Dsp3Bpy)V-Fqt&g{Q!$hd9l!!W@z9vsUt}HnSKDK znfV9@^}?lqW($srrDPVR> zp1^g@`G(E*U#iGzAC5dWtvENNnwkA>-~JKD_$>+trTjr2Z1=b?#PgbbL7bUx@B8Jt z50`V&Q)KT5q#(zNleXL4#wV~)hr357CoH!Yjs14>NVKm^p8BiCGt2;M&eqAn2R3HH`dtTuxPk%pK((u%7Zxu4B-P;jnyNa=-NrgoqCwbw zg6K_iDvzA{82ZS?f=Yk*cIJ}p?S{*cQ?|)-71OW3H zC_|o}+I+_PEor^6`+lkpWsqY?ZI8!DoIw7Z6#J^z7;#^H*&e6ax39@5jOFt<49SuH1BIU+yjqopa{7)os+H5ys>nk-n>Xj_-5d8Ym+& z%ruyf#1p$=owca9YmZAb!M(>hB;kG|p|h268>;W}nh0&-6|sgt$V^h@9Oev2I!N$} zPcx0o=(}CJ?7r?%hmgy7CJU4AT%thoePAQ%g_+CX?5zay=FilWjS4CcgenO?vtDg$ z_r`Jqe{aho>As)Gy`S@^Eqi^qg~!$wEkSu@|!|jsG5%bWLwJWpvYV+4jAh5{fn68rL7bBewHiqMzyL9OX*C6>99m3 zWI_p^L`SA`{R(ROIRP~@W_kfj#zG>FyY8_;g_}B(O6$lFm5tmgZ*mS%TmhkBA~@n< zthyJ~(48{My>rSx5U?ox{X#^6!g%{-1&@t4(!$E@Yw2sdUWyATq`eBBC=#yZKt`QP zimdUH?$#$r#*H?=8s+7k=bs<4Pt!zlO)leynp|4zHTS!xrac-P7sV6Q^}bPa5YpGI z4U7?_gGKP5l{{(T$N_H$-V|5gDn7+TG(6*};a;E~Ai}d!cCRot*r79@2>KzkQ~J}) z5&0>Wm5;dQI;WZ>JAc+x_6@J;KQWO>sXeN&NKs!BKT7*Q zEElXub0>Q#VKTB67tbN&=dT^%7jYxDHKA$LBxjc{GqcUbuwx06>te^LaHxLB2lzx7 zeZ%(zPdRb!Fx;|)=sZ^n_|7?uXEpNmpB#+ZWFnJiy=qL1u);6!8T{Pb=YL*%@-qJ* zm|1EmxU|Y5+UJRaifL4!$$A7N_i0e(k`>*zqr_ltymROExp_oTsD}QK_|11_*YzYz zWI%B@e0n4&Kwh)^;Xe7{Mx?`sH`$gNJA3Q91!bf^ZL;H^hVfVU)R-y+NY*MMTsh$s zgofhCAjy{b3&4}mco=m5$)O8<@wJxMx73uCy2oTj2$)DlO9=DL$PONvzM#iS<5aj8 z-L8aVM)LY2*SLlW0YX-HamNvN8-ZtDf3@JRkZ_(#N%f#MJ~v;*wyLKG|G<`4gqj;0$;t1)3_1lBN6)9%mHG&3X1?? zVZ@rIwO$-dIt<|MQ|4t`OOuVWr^2;Vv6&2L(b5vVAk7SdpjX+o`Ig%*34NtA)}OFjTi0DNy>&=+PA=CM7AgiV zHe!Y+O=oX$A$M?Q^2+Y{Ve>l&1bT_$bLF8HQI45g(HVg&_Kv!v)##}_azN_|{m!8R z#&#xzmzF>F31dM_(ugP{H6m>NNg05Y z*CdGkDG71a9};<^ocPb;`%QIk@kJ(J3QfT^>@K1D=Xykf^awwNqRBwLbZhs|)z~JP zfE^h=effo&s@5qm)`W1a(o9NB50lZEuj4|b>IDE8 zLH*LEZT}IdjUU`<{1O5GWvm#wf5c~Q)R0>0QQZ`%FJHJ(pf>XbhZ$-# zwv*R~R04t((X|G(mX}s z{EBrM{(kY~j4^AQ!deSgiFq_hqjp>=PFnceGkSV?!PHcHx|GxK{6PK`%+Gt{PPHgX z{tP6@^<|X}Npp`ih`!GEIA7mxt^2u}4>MZEU!fE~ElTfSwSPH1Qay}h)NEAoJsc_b z!7DEe#N9Kag9yRxRrFqjjz2V$^Jlf@-`w)gZ+`f;MSB8IlU?chaH~)e4^Y8p_1;v| zl26Vinbs6+#zY}9)l-fiMFQ9CoRzN!G<<_L=^1yvKMY&yJC3|~ z$V6)g-rij#`{GsXi)qvcr2ElHl^n-^~oFcd1l#q$C+?4TzIRdKhVHqYw+fPyMDOEn~Xs<S6ynm z1sMlOm1S5##koj%$yv)F@IYBxPpw&G4F2ZJWE9{}R}ljEp7m3&llb% zMLxDaN$QxvTGB%^edFeOvqJ`UFZ*YbowoaB^!Q99>ra9|;tB&Wu=a#3_g=LW6p%i%#gE6`+JP+O4dR$6|Iayxh2^s8v$*?NRD<&&*xa?FU8 zd-NJ_n#{G7rE=A0i*j$?pE9~bZXf+6H(Bcgu zl#lVD+EdHO4Kuc$jk!llcZFjf0d@KT^c?BNy!$y@evJC%s_$P00kyd4ZP16o!%IQK z?g`!Kt8^M4bl?E9$q8xvQFs0BqR>oO<3Vptyb2F((9;`cSe|x{7r$Nl$36A$=p)l- zzb)?mEZxOkA9*r#Uh$7bL_NsNX@$;6D%}6rZBZvjhXe(=ZQlW}8B1~fnl^wR=T$k2 z@4n!y>^P{k1eGy4A?l#4n+#66EdzuQ{urxAafh1>1>v(V=%u@Li6Z7(*=ctVjT36_ zVupJC9G^nr&Ms@}t7i)lg8L7;Ub%o-ByM~dkQYW%t}R{|A)XHhpF+WUbmI1#)VIcJ zRJpFO0K93DeqsFl!`pQh<+qyk6;;9WYrt@y&nVFjeMj`(nREgwdUG^a;(xE=^YU9-u~cYzc$~5JQ1#SlYLNC+@esp59q{__NONV^ z8gOUH_s9YRC6EbFBiYOyrz~7?eI>!MFK33f?^U=4fGz;t`<~9@6%^#C`*U%VL?IJv zjYF`Rscp~v))pNOUlTL&dfio0A8e)>9UxWz6FHt@>!WxsIXRM7cK-Y4+wde$47Nho z9VqfOc`9?VB(kmS+RzpJnqg7f%6mI1P>}RJqPY%$b@YWZe8YZ<{{3&gZg=vYdd4NI zi@H7pfh>QCI$J%#RI!g<_A|+8(pbWkm1{ew@q09kPx;O8%omrhu)FZeX)8k&cG}DV zpXsX)%`!73Ii%miR*SHtYD#rf%7wnNfk+xwtyMaus8&@wJ64G4&N`t-1%{PaK4)k< zD?UR*$Y&BTlm{VGAlrpuj2LZHO$@y`OO z{79JZo!%LIRt8R*bu*cX)Mo~uC|#e;m`Cyt&&r%*$aA=*&l{`uy1 zAhROF24_m>)c5y=KvEYdkzZAF27fyy90FQ`vjOOz7X$qgi_~X#Qm-7+kOl*g6GO6s zUw*!7w?yhbo%w)?x0h2G`lV#9*z>TIZ9fC%=OvnNFBYb9=A~^l1-8A*w&&o6+@dYK zU=d%5rffMI$fXxfnONHy-xR;M^;+wQK{Uok5OxkWA_5CZr-VLe_2yK4?N z-wB^{iVBT*e=N7!hw{Wv-f@4%UY0PkbN2=SdiQ8N)OqfJv`P?Z)YKt0{cT(E=BHch z&Mk-CABq(~qX-wGkM~p?kG07}07U{Vud*2r5XJT0pdq8GWy69Jl2NNxmj{ z0S7R+H+h!M+Cgg-`i@_`V+s(}XwK(F&&-EL3mB1fzogXZetPWJc2Iew9Orx(dBpcA zpw8ks2v;*7StJ&3z5>u5ca&2d%CHzp_vb-=+cwfmxg5gvg70=(ghh~bN#Hru{SoQW zX@KWv-U$jw5|qI{V`R*0Vh1goXly#y2A14FyoecgJKU$V^^uSKmIliC_@`>Ot_{@5 z(iNyL^CgpW*g~vGIbXKYHvwXU*w>!5mc5HSYojjhosGWyHD8{!vlvhK0|Rr#$-Hu!!_Tjhg(FR2%I}xj$SpSx>C47nXbodImz&q@ zqD)-!GuTv77aS^TlUw9-UerwgBSm1)q}an?Jp)j2FDU`sIJ3+1fPoiO$e=}PF% z3j5l8^lXViT&8wkK6q}XcdoD(&>Uw!vH(zY2JDO+S0C$Eymyxhz|B`bYqGB{w>3L^ zX&rEM+1)FJSQK~`o!GFOWo9ez0U#go%s7hfh4HNpEU=+rX^2)!8)vL%QQI~@P(>*o zmF#Y2cY-4g)Ovq^C^m}wU5;ph{Cy(IsYD}XhoHGu=M0dc%y2W>>gtyB=V|RPJ3-?V zk_pE0BqL<*bFiRl%5GU>gnx74DA{0Td14UfS>D^K3<7Xir3S)ex&XekzC4*ZqP^_u z&>xCTpXTn}L<>KpPh>M3Dgu;~Pj2Nf0zavkX8Mnh!711O$$cNm-E-BRQIrJEDR_Mi zL|a$JB-FNMYX(+!I#q74ApBa$tB&aSiLkMcro3wvcrU)}7ML@_@}YUuOKo3Kd99%d z0CTH`;{L^LZ9@N|ee5zPLIIb2*$XY zt&R|!WURM)pTJNonp2u;a2LS?gSl0hEY|oTZ5jqeD$o2ZnNE10<%;t8HW)!X-a%*} zT;!M@^{$?o+f6i><292sJF)oyamZmexvcd*)YhsAK0wkMA~~gI@9{Kgo2l61P+%i- zeKw=@;?gEuZJgM9QuN)aD&ktttM#Uz6H3HzNDND;02D(o_Po}oUaHUt7{&WfRL_w z@)L{7I_EYZ<`?kOLL!T}4j6PNN}d!ec&d_7XLxt2$=_MUe`;|@0gxf%_pN?;v%X_N zGGO1gAkA3)IfDNh%4^`F-)j1?j{XIUI-fjQzComOUME35PrBOp$YX~s`lFgMfsqfE z_9&E7USo$j5b^sCh_A64Wpo~Pu1*FtB}Y_!S8`k8Vaypw)8_5ON6hW+wgNh4n|+zi zTpVTzDGeNknD;HgT(}TGs&Rt1az6x?m^2t2Sr|hT82waud^Yu@W7H$XJyNp6hM}Qg|V~aP` zjH*!Sy<%8X0fYydSnJc@eo*yXSRC`Y5ri4avTJU(#JlCRB(Rwg3Or3JJ#vwx0*BDM zo~_FOG(JMc5`w*A_!UM=m^CwSIVL$I>%QmGg*;wgJVDY{Ur5K#>_!L6^!2eS`|4U-Z_2h+6S~f#6UcajtG)H+ z2fep${-|v5v`vA@%v<8slwVuYi#nKRPyjI9(FJVr_YD91;-P)SZMElwDfEe={kv(G zfnsB`^b3HlmoJ&p#Eyd+hb=ynuqMo(A@+1IeT4p{1%xDu7WzY2eHtA)iMNJ0N_<{_ z(FvY=Sv1&To^{V6lLHP2ra40pZ;?sLoqG~)CzX8qWquO_;#y-u6;rSrdO@_9oh5Gg zkUS`Cj(GpR!urda9k~Sbp?`3RfInKEye(S(W6zjlgaC!H5&<8V>pQkv2Om#AvE>~m zg{8eYhCyB=1_^KbEM(dNE%<)52_qla{=_9}Pdh1%f5yh#n$18I3((7olDB(3r3UzOdh14x^!n4cw|)jFO8gDl=_Sjk3w-xNQ5Ld$|o4Kc!F+oUhM@y%FKVlc0&ZD#dNO)Xl=FFw*?P|pQKQ>~XZ>#;Rb)JA z-2Z%GPg(6fG`P}qGDKl~W+-~O>2y3GLNRja*nZENlnLTvfhM5g*QMVdDW zS|yjC@&@<)zr$X@G30-#Q!u5usS~l$ihCMptb85;%>c|IY)ue&-rblTpPu{TwlQcO z?9pQU@KL5lvpBXrX(Z=CiQA;HRDV(km`<9-em!wa+|-gQ0W}}N+~E?$Zw(h@oFn`t zueT>Waf6tykg%-j`@fs~FYc|kMFNID|I;`N6O-h8{>2jlXjg=p7woApGM#U=^g327 zpm%pq%BuRr_XUSSWa1CdX5rC$5tA*IVu=9_&!RD+r}Oe(mr=`o*3m-yFcvH1U7FaoOU5TVOyH60=LIP~r7?qmBM#(U?Y^ z9+vwhpGOL=F}a+ZU5FgCaogBa=QUDShZ!f>qR(dz7BxrLMqIp8B@7D;Z zoG=mg314}pa(Adb!jo-rw>eG(obTdWZHvr&gAi(WVS zXyN(PCv%_+&fS&q7qgGV?0c;Ti1n=wk(%~k+12hZ=kr&br^uTE)&@%N3QoM`#Q|b) z=^p{4YbY=Yfm$=*fJutg+^3H6*;4VG-bf3*Yc2PV zx9gQ*ziYt$cEN-5_Yw5lg-Ow0gZQ_<{B`>OcjQ0c$^ZBMBYQLJVtj80>@X{UXO2A` z$2!;bK~P)CtDj#0QWnu-d8@MM8c?NZJ@uu2Vfl5kMNrP)%krPyk4gR?rE2!p@4pXu z@YiqQO!K1whfCddgy~XePbG*JEHdLvif_t0>W<&~ZOmFs{kvl4zuAoM1=0aDolThB ziF=}U*epQZ1f3O5PRFiHeMy&k4akcA{XnLN3IF3H6lW_=F7GP|>8hg03eaeG|Fchq{QIv~+I^y!ipT5Jd+dfCHm}&hkvy1rUSN!$JZ!G!y zp-~6W0B&rxHI`FbOY2EvMf?e|ocu_M7MWmxlA|zU$2gR=dVhvngANCYQ#=*vG5|o8 zUPk_AKQfgUCdn-YcpHlWMrlpfqNp>I09MYGZPmy!V`e@&JT{)>j&ng{Q@&3zk?4`?Lb2dJe?2U~8{mwkY zohqOx{C#h0)!qv?e8rNU(K_b8M*jIO=fA7aGdWgWIc&}V=saCV>U4C>w#Or$9Ay#9 z3FG{d4p{>u%^~(J!3xS;(pXnT?;+}c6@UMfEI!MGIvU+r2!U^oF_2?s7_d>#{Tc2g zOF}2iQr@h@FTU49OIIm3p*U!ex;xQHJ81C_%;NV>b=*^91{x!xuJa&}l!#HJlwpB> zAO{r=T|&Ogm1IX$NVmC9Sb&BrK1L0#Mvn1^?? zY@T&91Fxn+T6iXmOS13~ja+cM`81FNpsxvZWiv2+Z`noC_A=`Kd0aQ<_;ZF>g93v- zp~wf{>-jdKpujVy!*J8%{xLDDM($L(Js`>M0j*mWD-r`5~Y-C8QZD z+cXJensbPjRxIH#;BD3Vn9oc^|`>dZ_j6Tm?txK%lPAoxU)UoAx3s&iFc7d0x>Y>^}v&|9P+Qu=&uN($YOH1ao`)1cwfrTpDkALBC3emGMOIJu|c= zw$q`*MKGgNUj_WR1HW4#)7dr2!dl<}q^Mt~BTO21lyPYP?843m2 zb$kiua0Ow6*o0H2&6++uCC)$%gk8i>mB+59y`WU9Y?BI22fq(r~h< z^j>Hw&+&FHy1dwLZuMWAorQW$`J~|4ag*~*LjSwDPkylv9`GDickHx6D>JKm|3RCJ z%d6Ks?oB2@<)BR+Bl@ln9dhS3>>39Qhrp)b`FaDgLQ#I+TF=oY0awitcD{dw9=a^` zU`8i6t5mG{9!|g1d3KU;5WQvgUySy|y%F_4eqp_aBu0WVrZ{cfVo! z*RNIdvnY~lBD~au-vD78N`9C25LMPX@X^NCm)ZLdp^frl+c6i#|9aCKW-Pq-BBR23 zetvjGxpc4jBf+xTt)ynON*@_;ZQe(9q}a23cYTv)qncIaup=DsbIt{0jvM7>;~TVHUVfrKlE$wbD^nCC zpy4WV&cXEa3JTg%yY(G>TtYrK<4?!t#LwEs8s%{E z>Xdu@*@f>nOss~sgMv={hrP_ry|DVHn@miDVjYw)XT#@&d73k^ra@F<6zaJD^p6P{ zT3@q1g|<~H<%lxH4$MZp(hyM5eRX)vSXVb9-6@?-H9fDTMO5+F9j!S;b5oQ%)zcf; z<3(^N%7|Ll24xn^BqHmodPCX&SuS4+*b6zhd>s9$0e}GsLw>jR|YK3 zy@@r-PDq)v{b)BCCDOJRW&w_Kmr{;phaCH-^}@gVNwY`9S&I(2j()V^m7BWGXBIg+ zz^yPnE10e@i&@`wL_Mc=$`edosSRK9266t;#;L4@^&!WJSuX<8mR|%jLDR`E`H;gn zEfDh%MfZm8O*V#Ma=}@jm)XNl!or>~E0}Aj5BW2V+{H+CUGAT^MT$;gM3Y2YC&jS> z8_|06sEUOP9(jCc$7~yXAyZR+;51v+(v+BUn2oQOD%(%b1lcZLf|rQEoz}mro=exS z1cCDv3r)bLsACMHMFc~Bt>ulW1O6wpvnCoX8rrP5kLk@w^r6BG=_dH5_CS*KYA_&W{^9AMi=yzv-!(MPY=4JFm=v@4`8 zrB!clTDT)RP+sxs8>LR!nZc&r0?&4^E;Wc1WV;V4W_XH zRF?^y3EqFC2Q5shUc!DWG?86ocAxf9)AE`*K#ev9gVS7 z75@07;QskEr2{oD`}E5)dwk+xZxmVD#+pmq01hreWS4m=%PFjl7)+Y805i3$L(uLNDnZ%}5LLw+42+8~OoSvTk zzUzH|&mR&b&vVbuyspnZYb}0IL^5dYa6_Hf7YfOpCIlQKYonug-6O&|k(3di8U5e^ z!a=~B314Hw`Jb%8*LU;9n(E@M8@`*t+Ce=Qhm|a5H}As!NaK-vqwtf*vqM|&!cLOA zt)3w|OT$~BGIGk*R!JHDHKr0kFv#PzW1H=6>8bQ2`dF7&Gk6e7o`wPGpZCQ}G{#)b zQswHbcOq~@d{ZIsGiB_>-C%J6mPD0LL{X1kA?TynCF<$-;iMVGOW94T`#P(f;=l15 z{^iPP`c>3Pqz9jH`!@BhNkiabuOLqfva;lw(m3u$Ct%iESXN%mh7WO-_P}6 zINdYEveSY{;3W(uss6q&e)ZUN45amSE+La=Ci4O%>J~u&LP&)a*9;5{c#eJcoc7}h zmv=i91I|8O6;Pj_slX@ly-5clhN;f)PX6q2es7(&tq#EbKK+?H2__7w4eioZ^Gwrh zs)4S5cw^iYN_V9X){m6N&Cf$c!d9)-Ko>&(7T95x%V4V#=(Kl;#@?9txRf&HDV;XS z5zG#uWpJ=XlcHX8`hj8@ufExjF@Y^37?J!Uq$LesZt3yVq~g^%hUm%sM_-%PRjnYyLdWj34n1c1k>(>dlsW)0$L~V1`6vxgmA6rfFPcK}` zT#~L7n>opyDf5(2?@Y*zpMUR(^W68Y?CbSjs@BEiCFwPVwg;*bomIEuk3ht}XQ^0nPFsTbOGFTD4RKk+Y%1o$-v11hIGK%up|aVLvDwuzuF?`EBoRnn2e zc2xLyGjLtYiOKC#QZVX`rqI5Yng*GXN^2z@H31P}`JlBMIzW8AeCKbjgcFd3RLF-+ zgPF{j+DxL7^w3n2jGTT%RO>mCPOyNHVq27|ZfDi)_!E%%e{aJM)DevDSd@)z5K^RJ zxz?#SK+SXfD}S4mqGDG(pP{Hp8YCkL=7diuvY-zaeA_Od3eK&Vc*(m5Ym?A#^V@yA zGC}_9d+KYVRbXM$6w*02@To^ClaRGPxSYWS#z%sMt_@P;F}WeAb*GqvM(Q`k+U)<-yx}6(5r@6QA2YAc*j?7Z7EDa2VV735s1@R_(?G_3e;W+;))odS2J~k%SPJvt4BCMNdEw-R=tzCY~aN%Md2&TIBHV4LTXNVD31O`bsW z)ck$d#p=1`@9F>N=e?X!@Yw$^4>n$Xy6Lz$s!b_CMR zakP-0+XayaS$5k&3P#zB_#`yGNRMq(N*z!^z?g+N??)r!r7UD=1+le|XdLn7seeFQ z5YhkpaGeBsdS&1f1%G%`^D7&Pi6__Pv2$}=TktnOjVhGi-`DDx&qj|Yu-XtKsb6XX z0gT{9RLEkaQP|t_{k5&m#XIMnzfIDKHxRV=fuOyhJ8QqkF1%erR@o~qWTNykUFzY` z!-JJ1;LuZ|0oJoON?SzQuXSXTzMJ=LS)_BqFL~OAu$tp(OGqgm8OEEfE`oQETf8{L z@WdPEpVG2_PlWq{otCvW;LE3;3pm5$gb^+X2mDuCT=&iK0U@>6hmK2jJXv9~rl}N& z?@ROb^n_QgIh}!U3wS}=>W0YtY&;F!nTmGcG=PHx~LMl z@d^e@w84xPl#B$u+Rp8ysVt%mVWw63Nh3_}WC<~{C_5s(A=h`r^2-+@ePr9?U1Vv6 z`{$@Ac}E%1RH7ffu=0}N;bFK z-Y3iX=}ae6tIaY2;hiyAC7@3FXE6VMcQ5K&L`QqGfIoF9_jyv%%&2IIKDpBz#vrMWyveQf3nu?aKK#l@}~hwJ4?< ztiD~vq9GjP}vk_E%J!YsVW<(%fcn~KRLt;TeIveg`AG)Kl*xctj6YJx}+ zmP?oLL?2#DnaECfSX0qp$Dgjc8bfL>hBq%&tQ`{=N&{6r?DB`!$9L57$JK5RmT*LU zdnTvhP4RA8 zTdbD2+J3@O1eGC|U2yqhVBY;|6l9f&FCQ4)2>jI|`zMte`UGHDd=h*%HKrrh z(tY7hXvL9QQQYSi10|(17i>1#A)D_E?r*L}qkEI0xu~J~mUG17=APp0=ts9@$vL7R z`er|LNQL$2^c8H2I@79sqTf$!v|{Uun?7#&tOk7JcQyB>&l;NaVY_?_4n+g#4kq`z z=>kT>5O|@b5{a#;qmV$p=mGQD3qabrK-+y?kEb*CWrbP^M4}6 zTUHsPIc&ZNl0`7FWVAwqvt5`K8hL+NI55_m63Gp2ioj*DBG#uSA5Jvq$;-^Yy1%7r zLMzpC^tjmQIp7^>l06ECr%sh1+H{{R6BlX3KbAbt?&+?dR2|GjF25EN)mi=xw(B`o zNyI@3Nm=Y$!ERlZM~$1f^+W|m7#vqNG2oEilF&0$t>-VO-`1uFdL*NDpHc&PyL;t* z_tm#$M-HpkJ!lj9X_&vi?Kv!Bt@iOv-+jy-w%Rf{NhY%ANK63cl87J>kkqNVZWb5i zHOjHCD1E0WAZTCM{(uq6Sv2u#*(dzFVZ$}SG1z@R9*=e4!(jiJls7EogsR(Y;@AAd z=QoPBUR>i{5T4yk(^~YKgHtptU+wo^+p~H(KuH zms-*@9>s8w@ra3U`g#%3r}Z(UvHw1_H8ynGaczUkF~7_&BX9iv^NGNSC7N38-IP-E z#E6fm&DQI%F+&a2enz)mcE22db6f_pCNd&PA~pV{11Itv+7d&ejj4&Qa?t+w2@#Wa zobdxs3@S%@EG6!3&Z8Ma0S(zK`<#BXrj?%CX0{brdbmz|v2m$3Ak&BGx9xI>#*!pr z6nrKkx#Fj{TlzIQCh4|CtMnSmt78%$UvcjAZDtpYpx*bd)e>O~7ar>z6@$osLde%q~iC z+oM~ds7qb*itk^_3e-yaGTY^*MH0^57Zm{yuZRrOb-y%#+U%AUqoRoSdn?6^iAHV* z&0-*O!Qfi|x~%nS8=nhrx&|!lS*v8F(&C$LwUnw`d6z6&QRmgJ$&UA7LemD9`l!U=eDN!%qI#i`p6p&EbY8y1I!c*j8c{@O9os% zXOoz%Lw~RFl70(G;*DI|JK|+mxmSDIpg&_zpnE`-c|=dIT@gF-Z(n@@KVn*t-uEdz zysZo5XHoRIv%l??K#Ho3;COh7L<0Ay!Cp?EBqU?b*k%qMueLY^uvQzZZDW z0JU6myO{S}k$n!2A70-)dhf27s4}t>;_e0tw`3vw%#Qs)(_Ub>w8kQ9RzXP9xAyjw z#3q&@WF&Iz=*hV2eUnmxv_YqefR&>tKKj7TS2r_!c37NgF6Aj6cx)B-<+Ax|Tt~6A z@8mIFEljqBuj9yk^qm!lqu`*otx|8&c+S%gpf|y2goB_%S2M691D?jye6q=$O{s?x zv>0K(8=;e;(wlehE05sDScRe-|3AW`I1G6vTsduRyU=~9paWo5nbRY-#8&#c+A%Qg zEY~f`UmT1~*OG#$>5996Q|AS;OBE=b%7q$KxH(VqW9UU6X4R2)yx7aFZvXBsTyUQ| z!+?R09%u%dBJ>7WB7DkiUW-SCN7zfq+N;@|e7Q!@eEbTGwfD?!AOxjpFeTS?<5Fb* z+7Y?Y!V|IT_e0_8>~1H+I^DRqBw9i5COyFf$%7Ws;F^0Nql-j~_-12=IM<^;OcW(4 zPnLenhm8%r*?~NgpO`B-S0t=BKr68j;b4B_s-8vL8^~sOg zCTQ5RBbI$`L9;B z-iT$Nu@3_frNRmYca1EU70h_xQfKp$U0l_t*3D5NNc&t-bdlq85}M$TymyvY(-$e% zv}QcUUg|RPE4!$4YVbIiC(%zaH_jrtwEC&K-SYb~C{2Vs+qY8edBv5rD?!!@SqPb^ zg~dcU1_0R!&xrz)ftwS}cFu$~`8J7?qEUig0DiqN+dtqXI$PbhT6fsSR^LMY*Lt7( z$$R)Q59RwpUZ#WgZ)MZxCI3m2~3qe=^z`7kzdHxvi|Xpyr*i4;H7H^9@JHv$hz%4&kV zpqmYAXM4w07rF`(4^>7SC#-2+)rMi2be zz9BQ20E~>G;``O{TYY7b^{Qeco_SHcRrWVCUJRMAKHpYbejDu~TvBlk+)LPNQ{8F& z+dvI^vv?@9gC~?xpTL+Vn1Qi5RnF1NzT~34b)=6%K(U3pB-EQWL_SaVrH*5~ez&wC zcvj*4)pG4?wa-(Jxjd`H1SE-hb5m3BAt-vYbfKY8{&=15Sy(M0pl$;H46SDQYlQcs zh(laCjYbUuozjQYH!d)0U}sL~QE7tNr7~Rsc4BHnq7LAYtl6vaR}4VpipatnNPe{p{|JmcYwU^b!>H9th6DW|M4NA3aO?AbSh1i( zfV-)00rk!)VeIuivT&;vB|pk(`fjZV4F`^KEi4*`6^)O}H!$+~{;d1oT=AX_T~!%g>HY z*rBzymX2$zuJeR$=MUN3+Jy>?D3AK!3Pd|6<7%~y-pF1AD?X%6M$j|AK z)r&c5Oh4R0p9hXLZhzpT^rZ`iZjMQxv@Y(7(HhQiL$k0IYE0GbS+++gy9@B6Fb?SP z!}Jhut`7OWeYRAwnr+tG`GlgB5wQ|lU_*$N!PFXE@V}Z&e-5DcsRgiY|C~a{LhkJv z&ET!$+n*{NsV}V@dpE^pz&M%iidBQO@>N%%j}i%Z{R#ZaK3=htLe-t-)6@ja8s5Y! zox66N8RP1+cs$~iZ3Tk0mnEo9`R4N8p11e(^xUm;$+FHL7YXZ{fU%4msd4y)K4eRh z^tj-;)Hm%HA(}T?NDkaW9zETtKof$ zFI!6|hAz#HW<=(fZ8Mt~Rd|{kzUi`g6qjZ6%Tai>Toe7)*xKYf+}5V>Z=VKA^}G4F zYiF8^yG6r|YYxy~DPlat^jz`Ro{`7vuG=QW#eeVgsQ>+nR3-3p-bzcX*M#zE4v)rG z2k-Fh-DMTd7oj8(en!3|f&3C3Vcv}oi_6-a3ywQb&L`vFbJjknTPbt~v%**j)1__s zxw=n&3M_PF^o2KV^$eueC%me35z04dL zM(R_P1CF~h39fxFi6O&H1d>qRGYi`~>zIq1gJv5@ix)3m+E%~9px;c^sirqHp1X0V z*)D~%DT$+QeH7C2tPEu>3JdaE6U{0f8S-idR1WeA$%UiE z9uqq?yv0$YLVZF?yGY&Eg}lloW6Usf#s>{SYPET*$7s)aaS6$NmbDMmR1MxGq!pmy zv@2sPOG=^a>5rgo>xSyPXtv^+Ha;P*Zs#*{XLR0qOPR!Nab>{awN7*IcV7(l-kb2B zVl}6CmAfYmzIPy?u*lK+xB^D3rIg(`q2^9JX~c$~t2A5IHh&_gv~IYZ;e{Q+agUn` z2qY^nDBrx<O8gXYY@U|JS!>6wROZI@Gs?2@1tVJ>-4h-+ z2Wyaxt(H$g9?PdV9OcvS1dh3fE?~(X2$DfRh3J>&L#M?f=-SfqeoMUH9Ik?A%|fEy zi>w7@Sr1QEdG(9%BrtH^!ioPWFrY7ZyTQqT#PwMCtqGI+RIYqlhQY3#3;ZK5aw)qCE!EI4!ZER6#QBkk%FuOq&5I37nB_uMyD`E*V{_pQ)&P zxG$i10?mqqHi@!YWJ6ti`{fs;q^gn}y&?2tD;8g>TpH??W>O7~dB4TclE_N(zZmnH z)_>wR%C0giwB3r`Low;QHnBBhJ&T8YQ z5YSr}2pMQN+YQXm8b#kmu_4Ug#?~45IZj2ekr-uU!}z~Dvfre#cel2@uHS}3DTy-h zT)|rEVHsxaQ#Lh?dE6b6HD`gdrwKL|yG6qAq~m)Q1D_Yg^Q;Yfi<8|EVTJVCo2s@o zi+D%*ZtK#~D;%$oErW5_uCPVZZARhHeU^J>yk_8|wU*zx_$CAc2HH4FT7ihbVZsyQ zbcl`Ol)(1fNBCpL-b=tP8GouDr=v*dM3nS&4eM z>G|QBttU=1WKAHV(W$W6uF{y^g{qH2R7mmDN#MwGlSo#HLpJ}Q=89^033J?RVDXtV z6*pN2!C%vjF@80<9C3Oy4=dJ}oyD8dmvZm3g*w-HExup}olskC`va+>EXi-Fks_hDR=IgnjsVhyP z9NW+h^RVc5T(s5vD{DTAQ3)T%v4^xm0@KGGn{2_xioMcFbel3}_I843h}72ee!tOE zoSR1~x2u8}tV?8RviS_0k23|7HCoR9rjng5DjOFYophzGY1ApMsySB^KGNs1k_%b6CYD?aQy`y2iA7G&ll>6GH0O@}qF(=Q>uFy#rICD| zXvb>KC$#a;W~clahWxN5mm%kOy?L}LT3SMtNT}0!?yAAq9Weu)$t*FCjI0RUnkL&c zble=WUb8^Jroicc__kTHGxZqr20WRd?e;dvatrXaX^Ts)p-X$J*lCYl_H?z;) zA6g{B^`$#xm}B$iurt4|UA{9*t5}{b_)C1_^de5>EVFK+P0cJZV%i?(YPL;QMqX+v zZ4>qWWglZPg=?E7{)TS^dAmU~k{uawk61YT9TS| zg6jX}nA%7qkq2pE^Tj+nw~Bh?{vWq`KVxCc?x51AGmWs#0%{DaxuSF^aNfEsg@DL4 z$;6?3!v7$#9@8@2bBE;jQv1c4b*+Y9Q#BioQ=f7* z4_py8<86b@JB_jX`<2wkjn~tdfeoCd6YmyY_29Rk8(dD_m1toT~y=P<$yU?x(!Yz2sO(L!LV#$`Vq{@b_)Xnt2fK z^T&lNf)n8>ts>(Ws7a*-FMWHau}XaCx-8pw-J4G%gDJd1ny*TKzZr8o;gy}>c$iiG zy}aiNbNeDVMIA}wCEVUIz!Afjt?adQcHf@2;P0Huh@jsB0@rGA@||GfUEX?avQp^Q zE}s#PjOdO_@8)OxkwRt@1k&-wiZ zc;kSLTl^s_Cxd->P>b7W+fw^mG`P(|BOqvd$y1L<)cn7sr2dQw4%{bN-7I>scM$~J z`U8NadB{1Cl!?=Y$klzGR##qp21##O+fzB-F&Kzj(hIIT(ij0Wc$`es%Vknr*(ztv|~1NQs8>GhUKKv z@us6mnLX9UvGj5I=Y4lMb!#e~ZB<9EW5zwf-Zs<$4auxB05(=Uo(*7rWHV08>Zn1> z4XP^66~{lJUQ7aq)<#^dKN?jiqj>t}!rFo`nxne1QtRuM_9FC9&+BK(>TVC|`f&!9 zw+*^W*VOCGgTd2MR^tmO=|C6HyPhWE5G5Br?-(;{DRMzF zETudKxB+NVRgJ89CWW{uPK@!_@faNRB^n>&D&aLKn?_X-m;B`z?PrgDceJ5VMGs1H zuaKk59(LN@<&Nk6lV|w7_n=)nNygC1z1DF}9Yr0sFH8h2a~|$#K)3!&h8=oKhqbo> zE%9e!9qRaf4}%QMFAw|_uKWLxJw)E@vCjA5t+ffqzst1s`@~1Iv;ryJ`*4AhsEU0y zSx-71v2X8{vb`fs$O=z(Lgu}@omI~9r_Tf%{s;fJ>-6gwWk@08xs3BYPp=5%c+D7L z*ONUE<1|P|rt^%QSD8baf__*0bF`%~(=bQ&&s#yxr#XMeA^ttv-(CmB0Ao1i8wyPt zWa(gX-!oT>93mN^u3D<2m~6)WDA6)}N3a0d0C7uW#M2NNWi2v{*R(J|$P7=e23KsggcAbclgGA~jr3+}AOf^|9C%uYlGFn~yy z=c$vBXQ|FD7uw=gqyD{>_mY2o9rNV(lYxo1%|kn^%yW_U!eAPz&TB{QBUQIf0B3X> zB9{h{?%O9KT9!4ZfUGDd#>Y7jE%8sRQvZ^YkOUro|zH7$Xzr%Y~%KI zBb;4m>3}9{)yb%(wwce2y1EpqV!87F!i)VuHU}`W*8t>=bi05XdDs3nr~~Y6nSe{o zbz}48)R)HuXw_b4%77d;O%PmG`@VR+z@2eI=nN1vuh_c_VPzDI$r~sx$m$h}tTm{r z`WrK*ZKXi2OXvTACGf7u5En02nOa?a{jEgk-xpng5~w3$CSskRmv>A=1T{ElT|Xu# ze)c`f&l#awo6S8c9+x%0XUXs|S~{qSLvkkXa*t8f+eOg_Gy;Ic0%Wtq6P55rjvf63 zea|s03T0Z~=0^T}!!3R<#BiPmy_q2Jw(Rex{qyP`dsVaE<8ArZufCEWV%A~qoW*375^<%V7?Oi$HbDXgfi1OT7ek_SpuvJca82`6{Y zSYK#+q^g`rD1%adQm5aar!CwYI&fg$&AHa$$fB@2%c%gUOr!IJ6=k}_lOpkL7dlVg za3k!67^gzsU7*CMx`C=!Jg*j&%{1m_d6ccVECt^YT0rCMu6%bRil-LrROJG+T9u_td^jD7Fj z?Zn=M_%DC;TRZ4>g}svG{}ae3W``GlXUk@LyC>yAM8QeqPRng8>N=8FS3LcGMJDF$e^S9#7Y5u<~B-1N_%2_?Bfmug&_Q& z$>^8f?4_oOqO9R@5A}>-DE+l{i&rC(XuPsnjq?EfTKVYL@b8Iv?I8Yx8BzZ%*?)lw z@2^yTXIG9c*}tdj*H1S9oHST){)WziP>8`Y{n@dXnKO=N$6gK?#KhFqyuO@6lJxVa zYRvkTW9B5e-4@<`u!X5+SW&APSQI8jSn<@0w<^?u?PLRZP<`XC@=bZFMu%>&-ld3RKZ6|QUL%- zi=^&HpJWvdD?m?5SvjV^Hsiu&VtTp_(Sq0xS3x4nEd|(xqvjmQe9{qAXXKu5weErI z-tNo)yXjs$sdD8rZzIBvIQet}Qx5=_kvXc?Kil^4b=$Nn?Woq?X7C6Mv(~iuZ3O}rX&@kYMkX}iR z&%z+3FWGDUNh8o?oA!xZ)6t~PISw-7Z(lLDHKmYZ|ds!V|JpT*ly7uJHnCc&2*|Fo=vH$iD3kzRg zUlh=p>gofwn7AJ*>&KU0vj_e=ez2GE?Ihc=jlG0wN&F2kkr-%nZ)DmmR2NyT*q8Xp zvAU*@{&#v4xZ|uSfCWCct6cWlPs{)W>R%^ltgXU+!=~Z1o^72kR#8@vpFba9q`9wG zUT$yy5_(CEWWdX94Tg?}R7BMdK*zB=p4JnZIw@+!{2 zvv%^Gw2!TA{+3-ff^L0cJ5LFK!5XOm2dqrprhi}FKxG2v|HE_U$83>%V^h3X@neA! z)%#Xy`P_O5mS(r}5IcJ;mB5(vwLA64BQ0FqaIFe%4KOx?I|imV^aEpjZy|Pvm(1aR zQoh=5|H@MEB3n0T>a7UMVe(r;8HSel<{|1!MCtmvO8u0bzTxkGkZE8Sa1v6w4D8^L zE7Gu%l+j=g5U}WHXps8bu&t^orEm11-8mS;V8)!S`fydRmmAKKb3|d2ov$(fgMXOA z`t|kjfuGFTo}qu`u?%m_$lDZQXv!m|5df{JujHNHIaR4QgxY8I$Lj+ap{S8RoZYBu zo}=z@n&GJ;JKf_hWuNaK4Z_s{y7r~qv;GY-W+Chc&nl+|kVF9S=Euy=dK>LEz50(2 z&F@6FTbYsX-HfxHFNvS41KryCg)#g5j@xk2t6=o;$oea4finQ6X{s&0FV*xNeZRJW zw=IQeerXYtfA4*kDTva*Ed%@7;E8#I`I6f@H8AJHVD^oUrYpwy=`L%3uB= ze$7T2-cuU>2}E{}?=}dnd=RaxrvtF%+PvDYx7DdNdahE5SBnt=jqz!B3sy#Ro9%G= zUgS$-xdPh#$Khu970&>hTHi=yw1gonC^(pS0j==W5WA8-gSjfpt__1d{$ank>%ZS! zUN&Pn_t7>6(K5j5A7=f73w(Y5{T?fF#R$N}^u-#Oo2Xp|m_U_^&lLmKoe;_{FII$d zXXNdW2qUPQ4%3_}1v?G}l#x>10Tm7|nBji-EdAh&Qa8(?QDpCzik0CXUO^5kW<4os z4xQrF9f+<;4Tal;!GBD_4wV~!E$QSDQ|-(V6ojC1Gwnoapu{q;sbOm;B$WR0GVTSOjT35^)GwX0vOH}sj|gYhyAU`qF0 zzBlakeW}koNsT@*POo|`UonQs^`pi2cDHn@^3e7k2JBlXFhS>3ReK50Owo_mK_Sc6 zC`u2drKN#mrw*u5h5Yav&AJCcp?CvMrzwc>2tAw2mDNL%tw;KJU0K*s9l_$;re*tm zs3A|CFH(l&W<`ERv(}!M_WDcf)5IWOufr&2Zm}j6oMB!pO0jFp{h^#DTb`Ayh7K`r z2w)ClP&MIxZ4cy+)2gC5U(R#bEY@Wtu!*ry9J+!qNvu&K z6Y54k9J!j9l;jIgi>)d!V6wiELGM#ZlfKg8Yzx1%;Ca(E(Va!YrQFZQ@6u7jI1J-* zecf=alpb@Gaj&K`OBL;KX)OMaF*O6`)|zp|REFcXg{GQwYxn0_-!-zRqv1q(Q%e#M zK^Vav^Xe@}1rCHDWt!3%A9XdDJ>G6o!{)B!lejuR*>S8^a>R3)Y%FU}!QZ{%QvOL2 z?Kpf(!rjKkQtKFO^;K`3CqmqSTyn>+bS<=fb-IrjSO=4MhMsr~Ya^%&qy*2G&`!cu ztu;7INq}`INRt%{-xQ;tvo6DqbBYP-6lj>=Ts~8a*zJe6+6W1o?|eh~P?gUZ$QBDY zZoXUB;^7QhGg}t-w50~?`L11EZCH!{gZ%~P*gEfXwLt0BzphEAfrTBk83CoxDei=< zE&r;>h@1BjDCe1UTcL}PnR+&>pe@Ar?@t4TuX@TStnp=&m8Z9p`pTk3Fvjk8QJ14o zEq!KT9zFM(1CLckI>)1MlGu^LkCLKg_@>pwNap02{=)P5PW%dqYm@vV#(G-|2H)o~zkZ#Y@Q+8^Lp0pcLyr%lzJLE(b{L)4cm>dnHTn0Z;!hO6e^f`G zT7RS>AV3G(Wg1MiidG~#XwcJ1*MI-LC(6in{`cj?B(K$5@8(NZ%I&Ib0D*Ad{Ll%| z?-a-2x}!(mIqJp5#r3}Ws<(c~+M|^M$*j-IyKSV(xW>@;h;%$AaNMiat%ecLVa#;h zoIL;dv5x*%Ejb0L-tjWcZij^9vUbSKF5B8K9na?iVI=ApXjb`{oP-L0gGp&Viv34}H^HJuyP z8t~?;5jXY1QVpu5{|!+Uxgv9LfI*W!!_?Hqkb*ro(#hT zOZ+E=HBlok`WiIR$cyPtiWa7q7^fBM>zRn=B-UP^81HXT#kb`~Gnk#PSbKlbB(H@Jwz)gKYb2+iylFU&LjLqjKz)3LYuExWcq z8>qeb{CO0&UgkDrO5S9`wQlIR*kjuu-5{M(7WaMKVLW@o(H`EFfY_`pm87LnL``i% zk&3>AH)Eh-p^k;|2v_i=luaTmnZdi>x zp7GEb;dIyi0(n$xRq1X0)Eh z5#26GDh2e%d&&3iZ=dc?ND;W+;wgZs$=H*=cWVn(b16HA9X=@>~N3G z`+U@PZ$Tj)-{9_c-2jD`Z4qZ+F>0|-pY|%WiMr_Z;V{BrJ3GKem+0A?+@0VxEWD`V z+;7jw0#azzm>P_n+jEE)2%9cf(yF%zM@GXr1^k-_h1Bol6g9C9QP}YCtw=Q)dp2+i zV))oexAF6i^^@KW5mBAL%8VoRT4M*f@j`lPQH7~ z-XNvCHvhv$H_eY$@8%dlon$#;KJiR1j+NN!&{lih`k~Z0NmZKBrI9xFI<$$IKvFFHnIcYuA7OaHl{KroXrSTdq^wHv5uZij@A%xu@KPaRbA0}GY-;GvA@rgaVbh$O8 z|5BM#P^qHk+Lz1v-Nu2`nN+@#ZjImE990IO%ti*gpD|os#@HNPq_&t;^eJJD13;BR zi_LXre)wuT2S59i5j1Ban9>Yq&DsiSmEsXe3#^q5LgUTIwVs>$3qV->_rfgc?I{zU zwI*N7i7ec-CWl6-*Ih*8O#6>JQq;$x@k)Vy^1Z_H=X=LLZ^Esdzswv{dt(9-d*@v? zeMTsC`MkPyb#1`XI=rNanbd(#NmnWm0U`2Nr z!*-@kyV&5RyW2tckI@bE-Xm8u@Rp?W7G* z(!hQ*WSd9)qf{@B{U%FDOWc_IBa5TcxvkKxz#dSs=R`XYAkj9Usn@vQ|MBQ1duqu1 z`(5{nODZqa4uW62IO;8M~9bd6zHhIvYWHi!kQf-rnQVUoV4Lh zOUv2N{)7tfL~}%9au#*eA%s}CInrU`^;TgD!Ag5gaqD+e#T*e9E=wG6AZ+tr(Nx2Z zpb`_0xsBgUxq+>4GRf5p=a{R#h-A>zpv)#M;vcyWw-O+#vD{tbOqL^c9#RZqDj*yw z1oqp~GcC|$ga#x_jDWcf*)qG1p&{qD`WTAg=rsBd2+N{o$~%A*BlG4a?|7Hb;5SC{BSN}gvwF5$Gs4#?t`(EADVvF z1sP+kt8TVp_%nSjp(EA@y(2gjNg7vBb{<`|g>|LbNWtFM=&;Icx~(KF3~ORJalh$H zK#NK&_s00r3cu1^?P)@U;oZQE2Xtef_wTQ%Es`4p?XEmSB-t&vQxtg@UcOqlZjiW$ z=J_tyRcdRSchjOa?Qe89OZU#b7V^+A%Y)5e`GJx%tf(USyMHSHASxAPYHrQ}P#b33 zv@8_nyN?Bs>eu%3+6%c9ep1_l=}B0Fg74<^=X2X17a+l$lP`zEv47{Y*nXksH z$IL*>>!gE{+{X2ew`G@Sngv;6{eOfkL}^_ZM~J|};gZ&#=hHFZ5$wQX{K?wjg}R8- z#t_bYvqmOP^>Iky=6n;(7?Jvg1lCd~aO0Kl@G+{|R{Kvl@|^6JP^tH32TJZ3v2>1K z$hXpD#j_QrINwx%-x2=JVI>ByXjakb=t4CNch=0zF;&-@aRMvCWFcdYf1v z>>i`>weuE;zI7z9$fL=OAKGnBp~mf<=yyij=dH*IPwg=i*1v8t@Zn7L{O`sW>X6m! ziS1flt0uYc(=qv)Nd4mRNiG|;Yu`!IdY)~;!IL*R^|66J*AMN9ASypk)c1DdA{BO! zzB!RKsW^?J{4}6q(w*SynzYGMvTYD=2x|>tQ+KD(JYylx+*qyZ1Y;emd*M;Do9q-C6>urcZhD4qcAdfa*bA*nltAi{o zv+o$GDD)V?I-;(~rdAd9)@3Y|cQk*%oS9qik2>!SCGK4_Vzq`VqB@MWh^$emN? zMiOUJ&xt5W9S*o;$VFPNUfX-$sN^>dnUCC~=@h@1ZjP%_3h@-gH+ndY)*I8Jh8TY2 zm!Ns;9{($!n7QE4PO1Cxb*z^IX9z8Mt?|v}IpbzFW*n_*$<_VvH|QoI&7kY|(YmF>>~(57{3sb>#Do16yfM6o2!5GO{v7}>w&pm}Z0J)k4mr|yMj_#(fE(#+YoU!c%Im(PPzo8g=1 zDQp?5a^SQ>I@sJiKLm1omN2r=>#v8X(DXQiAg5p4P`3~Ks$~2}ZDr1f@doGc?a%1h zbT4#m{_C&?RtmmJ%aB3#M|wkh75Z*+tnf9}LrL=6MHY^1 zG(+ok(;z3+O6(jY>&yUPrbg5IhD5$ef~S)EaM|e>DDC3+`HC=G^mfQ|{g_|H>=u##7#qPrsXW_d zNUlgkZb98+yu@%H>+gsapbYe4W6Q)2ph{*nPiIAms9fEh!}Y)@BfwjnF-O)rQP=Mo zR0$mJ9zn|>(?%8LdTUHLMl`Zdtrs;@eR>b#Zr|6y0fnP4k1_xqQ0kTqx5#fh>FP%7 zOjj^rPOvJC)z{8%Pi~F?8HKTm%U;hkT2SciO8?hOj)#&xdL?BKRi(3<7vP3hXX@Ls z!krM=U!Tf}z=sd3y_ku_T^Dd68aIVS>+!hx`cv<}GgJCnaG&d%3VBPTy*xo#C3leJ zyV1jqR6gjsX84rM?RF3{ZdGtC!*^VvYcXdu^Y&Q8RD^}DdAshQ4zTnflXq8)CIfH)?uqpPD&y!II6ihYNrtzfGt;`50?VBrQ zuhq~!x8<4YJeg-8*P{rJxF!~%Y~*!GexM=`7CJ>wfi6qEM6jS|`3;rP9Q;i`T1S#1 zf_}mNW^}?Yo{LA8s4^T9LTdxFys~Rdx);=zIi~X7lO6wg;t=-ydk|+^n$pb6S$nHq z9I~*xch$$SItJnbujC?aq2K2HoXh(3Z1yGZpJVmkkll|<%Y8|p! zW5?y;!C$?oij~DcgJm%&$ybH3(j_L>A<*nXr<)t&1A0*XO%f6RvKVfaWcw#0{8;fvzUtBTM1`hrRa< zYhvy9MzJq&DQk&{qJSL%0TqxMzye5@5+XGs(g{8E5Nx0*V53OyB>_T9fP`Y9C`cy+ z5+EW{LqZLaK*$+=_EPrqynBB+pU$~nKfqj>k<83JbKn2+D=DQtp;C<)DwmE{nXTFE zM4Zgpl4*V6TZews5t$z_j9cxs#pDyM@m3$`wTokRom&L^06i$QGlz$k4vHc4!Q(-p z(J;a1FAu1D6Gw`zfQ+|(xm-k7JUy&#n1T1KMy#*m;;S55Wom6b^YRLCLA;34f#l7` zH=D5ak3~A7mkqcZtYssYm9P4;{XGILlAu#1c5iW&Nu*;J$}%cN8j;@>lL^xf(ojVm z#gPqADE~}awR-ok@-qF8636@bLc@bfO>FixM=N!yu*dKjXK=`PdCM4aua}B9Ain74 z^fDHhAIya2WQcV$DPZ%PrLr5aao^#w7A4$lQsFpYMP9p09S?0SHwawDjZb ze4?MY+6KuNR%C1UQ7zFU6#dl2*UQ?oizJyJsZnpa*=|)4$g7Yh>~!nUHR?4+!hv{7 zXVutiMoDjaT}xWl4xOVErscF*GcR0Fw0P{ zhtud9-DjxZQEAM1Ogzow5l(3nIPqICtPHfv!J7)7hxc?TGCq5xkJtF|&xtKuj;fz| zOZK{%`C<0`8|#%JRa#Y0z?WkeX^}CV{<8_fO7e!TmiIh+fXUXRCw(DJ_f%0uowh2_ zQ+crx?V~^rJIbAK(x&)X_&;}LkIa9o?q9LAWbP==%bSoqkJ`)ekKX`kq0V9UcGTLGw{wb#ak?5k@r+@|WCgiz?q%VJ6i~~Ja#YE1kW)`#Lepg)>0SOjFqxxkYwI*7`siqn#%7gfyAZ?W@-4TdOgH_e zCV7P2(W4fV%J2HUuTmcj3H4EJ(a{%dZ?Wcu%&PrK`ELz6tJz$DAcfLA~;yzh^lpYbWl z$-?46wJz@taOPH_w3Sz~-Kt)Q+a$f}(SV#zC7QV^NLT~?@$_V$3|Fe+7mT_R1T{#UwNMP0BF2KiG@jKV8Z|E@V{rf(0mfHG&U8W zt#W7XoOKo`^)Ffn{KSA?V@mhkw_Tsp0%7+>bfGMb$=iTz&OZwpN^WK0PZ8G#B_;OT zG0x%i3un&mTJ32!?jY%KZHedZx?U}jIz;c5GM4R5HCCKi)957PCkTRqw%ltM#*>op z8i{MZqnE)D1;(>uv{(x_tC6YNyPlq}-gS1+_*ULKEU!NDPq{PtfOmd({W@8XL&H2h z`smi)Wj*HbH9ro97`A7|ZU#=ly3NQ;`Rsc`zqoz}+2#0<5r=ILlnC_e8)MyQ{FRk_ z(b{rNT=-(XEJI$B>XpkJjvUpOKE3HK3f+L+l>y(&|JQP7yOWOBRUv$oc-g36UzkbLVV1 z^-`(io!ay39oJO)xN7-QGb_fA2M zUO0I0LV+E@>4A*WR0_MzGEqgu2!cV;o(FyX)Jl7NYR8H0xKVC@<0gSk%YY6PAMpeF zT`^hur@GDoHUUb*_ez?%awLrV&{64J0U^#K8lX$8*OLTK}+GYgV9+k}O z*)5%xh}Npashk+fuvrtMGrjsU$6Qy_4OJJPWvQ&qjRl&)Gh%7(XZ6t}+UV*l+$FH=WU%oUgQGJHF?Hk%?LF1khG;MI^y#)b7$q71}bBR>%X`4u@_-f$knTL zX|T^btucf}w-HWChRQvN!$h>gkM04yXBV}%x-qzZb9Gp1{c8DHe>R26@rB;NX8nCC zYSx;%HrX(BDXUw#a#B^qNYSg!XY!f-hp6d28V#OQ&W~;zC46JA_=4MyE^r@cRh4AJ z7%n)K^cRC48CKu0*ny!Oas5$`ou_!TItoE^rnpNL%j(a}j5Txvsq1|qB6siIxY1$I zTP{v|^v&?F|B~yq3E$SiHv<=KZ84jlPTPJjDG$)L!rdmMHy|TDxt++LAwGB1l7QJe z`%qxdELqj)rk=KKYj-A)2B$3&KPXI2<2}nLmjzwNK1*9QUV=_I!qd!+l@Nt8H5)fn zU#cUK^^DpX5a%1kYq|hp?6)1W_{4K$VfmH+x28!#d$LS1Y4l>Po%jIIf>RpN%LsMB z32YA6*Ea>%SIP+IB@Hehd;7e+qh&awChPd#QcE0#_iZx$($k`jVMRZf*E|%0I-^MRq+C z>BAlOa6WP&v$0QiyMf+SsR1)4@je^l48iZ*%T8EX#&viD(uhAOILpTFC)=;&UpM4QY+J4AjD z=g;L3?fW&Rp`4P+%qwqZ$ppNNG}{*IH){-Cs= z-nR%_kfGv$eGUzuj(fywIJ!{zY9&gj0X1#}W7jC8T}OJe4svD}{rbIb%BoUs0foJl zN{#d)jIDwZ$ZYoNA~3S3@#{r?X)u?MYSlyhP;O_9(}S`r zXZzQQUU5WYQKkBxNKil2e(&kCl#uu6$ZiX2w3bvV%R_^hscD`U?aAn$?Z0k@1cx0-_4{ zI{K?#TkO&8P#?DbYGP;@vpgsYdgXW@z3KYsyI2@sd+J ztChu_(R$JPub(FszI(9e+!-w7>HD`)ctV3!aWV?;H`NeGV1!m=7Xxs&noGIswUYcYi5(Jk6^RReKAVh@{#X#9!791WFpF65QOB4*LrNpnc4W{%(-yTK_MzTf&jFKUuN@7c*?x2 zCQtdN(dEjV2U+DBlVU=S>3YHLZh`_w^P0XXiPw;C=0bmU?G~N@Y_9zPwt67quq}7b zmLOB9=3(Uilmoxu`34c#aXRz$%m{xz0QF~((KCOAtoFZpoto<6tkN=CpBKU%KY~K> z?W}wTVEfVn2P8VBBPK@z9iOP}QdfP+2rDWG$%Pv(R4a8A>?xHjKUL%$QWef-wTN8# zC&=Z&?-jVcFVxYot(muNn!-T}UJSimoNv=xE)?+V7@kb&kkjIBUwa(r=Q1lQ^yU#O zwS6MkoViXZmxFc+MrxZb@6noj9al@Z;({rV{z23-%+8XFm1Fl^`RB5E{E>iEePmzR zDL3c9+w^JD-l#3ORRG5K-z4LK!eD3R?M2@bOTwqv?b$im@?+Dd6nwuQR~0ydCVBQ} z%R(-z?2o;OQMgkkvTZPf-|igAnOh7P3n)ulDQdhZ&VAjvFODI-FtaEYG7EnI;zS2I z|GJ*((q#Hu;n;Q&M|3R2(vExI&F1P<{pDZJJkRyErkvRBg{&R)b8jKm=(W9xvwdAt zMRzf+oj6;cCpu!r899%hLI4t)s6v4J7&tRNR_z@O%_DFe@oimHnq8wek=~+l@Gn=# zPv(8-;<^clo0SYN;^W zk0Sq^LngWkzk^nQNpPJ+((o_N7F?&{sVsBTu8($Q7j5mh8+`|Yuj1>|eSPj%`aik> z{|$xZu|gFYp|akW@Tc+9YlI6QI4FzU+QZNL@FNxov)(AY-Mdo!1ARU*W*} zYd*w3*X-WsB5Pc3?4@Q}3SLIh4M<8$*Q;eVuG~KmdVMSIw%z|W3?2cW$`=NOIzJKF zm9#M1FLeMucs=p!D{^2~?ywnJVHv&BBjqSbwMO=pauLRk`<`KQI=8x2rAgapDx4c; zcdy-sdG3IF1Mj%%V1q;T4@BrAEhgq24h+C`g#*8h=^4(rIs=a)TT8)eMK>N-TGW$H zhikNqytu^Ha(`=Ip6nfIeXSMH(9r+q&hb=frED*5QAJ7+-^WSO3;hh#G*z^`GaIWl&~SF^M|_m;LclSrk7GLZW}1YBGzSK!*zzr*430Z z34YBjZXdsd3#;7C?Ctx0?AL3=<6nPy&n_v7^b?3V0%L6Y7GIehM>lbY)>j9$eQg4N;d|YD^!tAo>N9)Lyr!I+D_N_M+ zQWp-#WE{Y}bGSqIAZ;-oi|8Eq-^huNZ$x0Tpiqn3=!l=|YM)goxAf|kZ0bKz>%T^e zCnEOt_TnDg?<@Vii-+gr{jGBITlSp%pG?k9N&<-2&zl!PIs4+BsUKQx0Sziu%J`R7mk`0ed-YAdew_pXS?TL$9y$3T?%|GgdL?N}`K_w2v* zYJTV-!?tY+1h(#!1}Fu)!qhYVCx(bgZEbCp&`2B#RJ2GpXcFuoAq#ivEhZr%eI!5^oO@jJ=zkPxRl(k2I^nG zPA8Myj=6n9nL+`KlKRob{0p8EAGugWFe|K!X z8$Y-I?=AWN?=2}Tgwrnflkwms) z8^1#mvW;&$w;uLu`-|qme|cIcq6=%T%Q?wbd9>FtN4Xwg zDB#=_tIYo62QTK$g9ktOia&#w9-yDPHy(QP+xbVkno*^tIQQ)~GKt*E*}TtH2lLhv zfr2DqwryooFcL&c1)~5 zLj2gNY61*tAS&}#*nhaGysgckI%kI%5Su3^LNa4g{Nf3Sf;3lUfno+pT>rry7GyWF zZkzv`IQ6uW`cS~YKqu~Wnh*Kzf1P#})G&Sp0C`$1S#rewaE&Y8b`k$g{0YFpcKqS> z4p2Y*|5vM^pCq?+uuTQYVw=u0;nB$jH~r7nW#+1ZQ@!j5X!9tzg?S3Mb*`9N0fUPg<;_-2So()a^i$@)Q8>#OuqfL2uO7l zxq{NH{fqad_+szQ=&8CD0|PLX1PmL*Ce_+Au=v1%uMGqId-MCII{5wR;7u3|%yUuZ(<_UL@<>LyPFj?&OmAjDW2G|{}%<&qX+ znW}w^ZhEyM%_D0a7 zjD*CjK7@Su^x2^AVNPsW4v&D7ZJA3gZhjc%95IQg^?(m9%yysPzz2?q&phipO9N`b z0DUXpuKs1(0?OV<5@7lLupydh?0Qp>ky)9aUU=fcx+;qoY-XDiyqxGlXCG4qQdDmj zEA`4Yi*33RJ?v4Au5hR??E|{w2Ny^q9D>>h9T@xkz+>A31cCYw^D{bTX>xk^AEoztv=Q@8wYuxBA z9JdMR4;fP_i^P9VxE`aVG7$T7+?15)vNlJ46#&Bu{clT4NkM{x^F(xgd}L}zJZo*s zJ2AVeR}=65o=?Brb}BuSQsxGR#{fJ&b4yDY=>{*akDkFW(g*_vX`HC#L7ycuVyUrs~|ATmf;B5+4U0(tlBt0{n)(a-Du`9t`^ zzYp368>9ls-nusi+g{p&-#9AP=6`pe?V`5uyAze2|xttOj9 zD7P4?EFRt`I!Nlg-U-mz;P1cj#>9@F(TBLP7~55^R$I)P=oXdqlq6}+tQ>(Vr9o7a zdFzqt?)OBtMLo7aaKS~V14|}5Y%_zU0t<6%+B$c{fD-_D-?OJl-14|p;ma}uyye=h zgS<42xOi9k_N&Dr*>&c56Ve>69awVYMNacxi2EX5EuJy4{xfp!W}@8dBqbJ=gbZy< zZ{-y*O)=@8j9S6JFI%(y4Xt=G1YOH;D{V}sl}&~e*UC^*W%iain{Iic_*~4&QAZEjLDdZuFu{CzEJKp zy?Bd;AhgjDMewVZw1T5{HfU|ayN87P>yMwi7g*!JnwnU+^pc1u5j#N9vR8`C+q z`Y-||td>}?c#+yHd9@moqgZ;XYd$i=x_W)nvW{M5WH_a|{xoJoZ(|qtU{yVkNDyPCGFI1nF za471!s($=H!=^D}{WEE0L=M`YhMD^A{9b~TA4l!ymkqO|)~}dxHg)_~*3r~~z%GPk zm&`;|)X#fo+iG)u1n45bU?pG2$6vol|GJ@a;rCt5q<@A({5V9LCf^3&w-l9s^I`B8c7KG5dMc_IKzik*o7ZcAmNmDx4qeM#G>|I<`D z=BbQ2csw*vvp1I@kzNuiKAepl%}H1iJ-jvm9m^t;`d|f z(73QgzqFo6YItGNx_BCVg8JI4bu$pP$7vLUS;2jfskZ6*lUpiUnNx%egT$p%abmSD zPhwRYLF^5P8T>@hoO#J+0tmPWDxxw-a^Q0?)U>RaO_WC}xIzr%03F7A{yS`Uk>@|nB zb0Bugc)Vkjt>^qnkT>H1!Zpe?+B1yhu2SBkaTZBCyK&h43)BEApMuXA!r zZV~lK64~W3guAvD8a-DS+72aXa)ZA?@L!uSGqcq2%zbIY7t8K0TC*t`+`n(xK}*>g zPJ0%Rtd);d*cWe#mF^3UXvcDgc?E^U3gnEG?EptnSRg>}@3K#KM{$)q{G!O@FIYli z^-6{@r2-+^@!iWMNKhpI_C0kzAUc{y6n6P~jNG%@0Fis=8&mmLf?R^&-Ms8cLq!@+ zRfa_J0vV3u;X&{yb$-TP?ozP$9MV7LL+leGDLm=6&Nc-iHiYx;61{D4=#3}JB_=-# zSixtM*(XT@B8C2dB>}gs_1?q?lW!e^@T`7$6{&x`1C}q`&bitJ9JzkRZ6k2^^yi}$ z@{?qHVQL9i#68MsH|r7d%@FVU&!S;>a9dj&u(Y=e>TjLGRUX%hx|g;m(<&!bU}pI9 zZ{3oP_tc!)Pf|8B_Eo`Ou6_ta-sOV(;qC(-6<|$^fXK){XWezA6A6e!^^Lm;>Kj4% zxCus8rL>~QG>_xmT(ZgAS?p05k;rx#ej)(3`7lwa9)Rc;?Fik3;J>IMd+WBV5_wU$ zjsY>zAo;Se1oQywu4mr&CwN9)=t`R3#`>4kcII1dWuUmXN&LE4YvZ}?eA~At7uGtL zLZtmZRh&<}Oi6S{(+RjYaO=7RIvRJ&(#dfR^BM2@Mn5^fcBfFiq$aJ}` zw>)wYe19;58||jx=~K#4a#N|we!E2)mXE@Z#_w!@4kGyJ%v)8ff#02Ih8|JM^)1^Z zRy?8C(uXQZxVHQw8QlDMobBC|eAl_d6zwN^$qFV8FxA%c9C^aG2R&L1afcQ+6RUjh zISt~>%2~^bD=XLPiBp{oA)BKKl9cMtcT1L1_mZkm2dP~*HzXnZ%A^&|UJygs;VzrV zFUR!Sd#f>G-S*I3SK1$^?HzD^1e;RI)ZMGU8U6wfy7DR#=3`v>YGco>2iCI#Ssndr z!?(d2)sbjKdY2w5bl~(kan_Oiqkv=a4$t{~YfR%UV`{&-BLRm*eN~%!uh2}#efTlM zM)-DxT?kpoT-VqGg#9Xhzh_;|PYYo(?&<{!8Kg=0)g8sHvmakj3DkUDX$agaP+i4dzf1ihHbuCon+Ct4v!I{m(F?bqN2?BGc zT)x>RT=hp)Nlqm)F#nLT^dhE7Nt-uW@nSR1Pk$pEJ1`hv`Ii+YM>J?NWFKPl4zn*L#b zq;7i*)^*^9XNfW3>)*=}uL2?<_b|iQhUm`MYNclAe0nWxxQd8tD|~yL=tbps}^gCxhzaq9L#!4jVYL29ON2yD&!SRgy*0Rn)_}W*NgW}e5tRm-(IcZB-YW8 zu8@}d!nvNfg7`)kJ4?MX(URzwaoJBb zi5aLCdo>9(?xOJ~E=!c!b5eErR`ihUBe0<5)yY$vY$)TZN4hs1L`F3HKo zCrobML3c|wG(O*An|QNMEu$;B%e`X?H!8VGr_49vY%>+y70C&dq5}D{l3t%|F>X*^ zfmpy~yp+HWiT$p7_+3Bs5^+-jRi;6ed;H_xj!Lzz8e%EGN4bpxHPRh6~K@3ThOGCOd6rl`p?cdm+;3T=*%* zw!g5fasGy3cN;al&)AIH|5YPVwGaP|XBPyWbq=YKg4350D(+^NP^w&q)Hs*AB44-< zK#r1P&(^k#+x9iQJq+eYPunFxw4(>4*RJ)obPcGj*F5D87dG*oK-qyz-|c#MZneZZ zv)O$(?r-Ed8+f*F)amN3^;-_0v6r!lvzx059<6))&R06Qw0&E%njVT1r1+mJ&c9dmvy!HGcT{l?{`Q)<4FzT(|z34wMZixp=uRh`_VY}DU*PIw5 z>!zl}!grqna{a%B?+djIzR8rK6-~atK_d`m8bkz@&6llslSRQ7>7J;rt+Gw2@@~T< zUvkjxfl|VgNWZcNVs{&3S>=_C9;6tfP|^qL7H!t8YDu64^k54@!T41PTiy0Uu0y+7^)ol) ztr!kIBMyg*zgt3)%tz|UHKs>;r2Ewd;9V*$>xIc;ckhXUH59(h#aUFhv^aP z3-6Q1xH}PX9MoZ-m)y`=kNRc@?L+ zO!@@-jasjOqU-8h9vg0ydPvrK-oQPeCR_+(W!Pi4ezV4(6yD<6^13;>e6T*PxgF;k zsJRRLbU);A+`3k$4~+C48X(mZ8zo;-j4BGC3iO%}F>PuZ_ejc;*5a(QEc+6IL6a6| z@*(C`!3K<<0aRO7aq;;_56ykZ>0Zs!nBKlVTeHaf52PgISI%)yZE=zJHjp$g%={3= zPy6`7VApO7Z$pL#N@QbW`N8(DUk4nO>#sgbxd2RUA-01=oL=jb@Qv{aUN`VlzQ9Q( z^`nYjeHl+J2Gb87JeI33qtv=;RGbn1ru16WFqHvI4fGV((mrN=eD&6um{8LxwYlJq z;T&1gs>xA`RCg(L#b8}rejtEQw^1KyE8-p+e0Q#Q*cjR;hcPfSx=XUIQW+*gj6wZo zF-wP9M$}C>ox+6@IGS;Fb@;$@yWnfbB&-xYAKC>iN_8+#?_WZV8X-3Op!}<-DY>As z?<2AJF&HIy+My&UGml;)h#NMUUev!Rf`M?au%=&XJIZSMWgDimqgLmQu^=vhF(SYw z5@$kK$@0PZ`;V!)=;Y#H$>=NfWE@1v%n^G5jE+RD2RoDPWE3 z^jyVqB4}6<`>2g4Ttm#hAj4BrH7tT#*Edi*d!)z4SKiyoy3Czr zCA~m|$1bYRvc3z&m_Kz__paXim6m!&ru*ZRUAMcyfjP}^tn6F?WDnCK<*IM+`hY=y zRM$QxqT_HlV;*n~l%>u`>H2BY)(RqBqDjG>dCyq~zXi>-3@c=390TJUSs@zXxASFTSRoYQ-dvF3w(tj~mhKVL zKnyQxT6!{z!0f9PYFc+zdkJyxr&KaujRZm^(?Tmm!>dxrhn5`o715@qKb%0zbB$G> zL(I!MgUX&V7#2FCUc5i9inP2CIyyD>I6x*fzuJzH9kUs}w!ED5V~zK&Gk9Bde6*c| z1$|C(URvp>rfO@qC~>BzPlkos9Z5(IdAp_!UFPELw@9b)WcKIgiuzYvJ#pd+-#$3< ziLdv~yol{?2e&&yOux!de9%)Aw&8`WSI4YX8#-fHzP{Gn~R8|c^>Oo zU&P?l*%1rPpgwbv)b$xnTk_P7jt-8$NYqZl@ULfW+1}d#$E$}$q76pX`>b>1Rn6-T z$d6*hc8N9eY9aErDK=y-?kZW~C)T;b#yc5cS!zHSYoTR^jje8u4D#G#vHZ6ZSY`;eKg@OD5O7Wnq{~ zwY59XVtx170Vl@ndI;G!b#cD0a-2_H`?d6usAcXw2Cq=HU7tq~7?mwrK$sU&AS<-- z>M_Xqu6yH_!po7h>hu)VI;%r@G8x$o)q(&Qc|RAYg&AEcIV-q880~bW(nhWM{s2nX z`&~CPKZUIHVI?=DXTAtd~B_sC9Rt;FI|dNTF%sCcr9-!J-^=H zHC2_~1p@(=EH-2U)uO24o z>1mLCPjGyRhP=M_)^iXkL$Rn zJ=%C9iKOr)O08AHE7GDEPH(j$g>NX`sHc#dp9m;?8S>e++m`#pjijOr!lzA`-(sf6 zYCqyBa$Gj^kd5LkFQs^UIIGQXt|&ED0*{TAck8mhyB|eD{?9k1wF26%@pJ_OT@C&R zF719&#Pl`epj~G>u$+npczsJM>Dx*db2Xy0t<;O)@{ECSsS0ao>K&-TDcsa>oC-8> z>@SeN^R=rJmv0;f!KmHEVGXWjtlvy8E*TGmyUZbZKGL!rbu13vH0(tQQ~9c-9@1y);(*7=X1ibc=dH>KJw_Cbv+7` zFVn5cLOfr7w4JDmo)?F@v#+u^-ed1Gm~?9h8f)vphDU5oL^m6NT4 zB?j*us9}85s=hPF*Fio5cKa*8(-=1}?iJWOj=9`tsX*^&WV;G4EMwV&3iX3jj-hs} zOaY)O@0q{NS!gl5r&xcr>tI!V9CzfcjJI-)O@=yFYlwP90IUVFqnDo0pl0?oQc+#u z4F(T(YfG&wvTY@VnQIwj2g0anqH%v^7o*3X0-;}kiwx?@Zr&DUU8?^cAO~kkrZxmN z&4&PW7s@NE4N7HP0lHE|PNi}7h@x5IFcC8DJWISHF%;*DY8us;)k92@1D(08wW9@? zw&2Q`qw?{x7k(6eA_TqxQH8VU;afd#egW5bc=V#C{H(gBaH2bJnaJejI&s$;PgVIo zhNS^7^|w(Wv&|YcUX17~+nFA7VZ+a_j@?L6)_YL-A*H0BMZqY1>y#rFh9tc|Wn;z+ zne~Q4V-CyR5DI;NS0HlM43qhSw@rnH&wqSV^{)A!rVm8|&(52@DYqHd$Z%9OrA4U^ zJa!H(GNfO4loS!3>7Ih6%rLSrg&6Va0!Lwuz!;cN;?9mE832TScimU@&2vX3&v`m>nF@6_iTn@=$*?zcD9FlLbJ70Lq0rd zN`Y)yA1Yr?zhAQ9^f*$cB5jVeTIHl!TX&oUAiCFK(w@L?l>I*GpSCYBxB5Z>We0&Me9=WcDS_J|M=SChkzv@U^EE zAdI7~S*vSUKoGXT?#OZ^L%ksV&dFichv$#aDa0=3(m+;W* z(^Zwe4LlPIg@#sP9|NL~hj(t%8V-t#3=fYHt(lg`g6fON0kego(jeKvX1h zywR|qFMytzg++oK=H|UP&ENf>O!;8-0%n*e?Oj3jxy0CS5@&4k^cWhKG=N+rz@-;c znfj?JPUprAM&qVN&=(gsM*KFSL%n3bG&n3^m)5B(8VEKx0E?G-kkK~+^V@U3g2*Te zkDJ`d&^EUEqTvlWcuyKITJfv8^Q5SWRc=SfaV&jqihG_g+x-D&Yf&LA1K>=Sp{fi%S@a?PnKlhC?Z1&Ni4JT|DBzlz8mCML;sf)yzV`L0AKN>%Tq0kL4{-jo>;c~cC# zXn6}{k*F3FhaXJ0kRh_iKNg9fl`fM`3^763r_|PpE^9ztUYdbd#rLfTn%Ldc44>J{ z?UgriEpF**#-qSQY;hRkv(3hWKm(UnETshLeu z7lfbcwHMXHzB|!xLCvXA!z`{mYFBW5L_c>^NP}z!Lz6vah{W*$GvBN4-2>eWH|MR- zRe(O(J^88<&q;MBIjDO-vE!~$jlcsW*%F7=-;c-7x>E!aptGI}TzXh05-%l$z5Cir z3W71yYuo00i9T+kY^*R?b!`R+InL-SH^0xN>nk|mVd%utl|=P2x4_vK0#?G6=IH2C z?MK}t7qRB_`zXGU`Q@yfbM_Xed!m)wFWVk6&cFoCw=N&Ble-MTUVVK`;0}yh8ozz} z_PNKD=y)IX`6CmiKLS=e<1-&Eg+ZSn@UdaR`UGt6SB!uX}4pjnOZ{}7u#U_D7l#Y&7fKg6; zh0gjufDxXhS*>WoDy57d0T*X3b(lALX3KQscu=EksLC&<5Y3Lv`##E3i>YX0edZ1f zN#9F4HG8OYNrdqT&mG$D&YVOtdLojc9!@=T&L5U*K#ReP;L-vBgZ9 zoHJWA8&(S=6erah1xJ5b2T$COl(Z_L3rOF{Drfo+NbDMxwP8igE#LiC3vH5Ss>F#L zEp#^`D>RbRR=#$TW*waI*Fj+g{ZCI{BGahC`qeIWR~fQ>pAK2tVwcUmw#11)$8Pfz z5G4*@T$4A}wU4XI!scL+NEB?sQ|xJU@G8(B?!&d^1Vk@(9zK2AB^rh@fjxp4^fc7( zGOz~|yGuRq!=HS@Spv}NwAN^7t)^drasMZ;fD)FL1M%& zV*&~ej`vsNEAJDKfyl%;l=X8Jn;?gPK|kW-qU01-i1k{EcBte|$b61I{^5|(yRV9z zc!A>{qedNkQkRD6;_;OHl|&2AHW{gNFv@ekjGGWF%;LsE7ocno@TqF!8;>Hao` zqx(8yI@_Re$_B8`S~AYIrG_D(b)L^gwZ#}d<$JtCjsHnXRZuMLSj?Jc*Pn-H;fCMh zGfSlW(sP}h)2v*kRZgEY7z^Ozt$NU!8Bma}OtcXYcYCW0nI65DqY%y(Zl0I!f~w!U zq$siZn`$PQ zx;nk1^oorGSo;zf-rP0N_XO){Gys)H-BjHLuKLiLxjF;)6Lp6~H`J~AfmT}%8Yb84 zF0R)?e~#Cd9{{pftM=gGB-L`?3nevZ4^cv$AY_LWxT3`Oz3TaV6yK_(QhXItmf~y4 zy634{pQ0kD1j>$^o9&fvp0DZ{e_5KVC7|H@gn<=kPJezdPM!^gD8S% zYpJEF89)i`5u2IfY^=?$dpW>NPg1w(a*RXT7svs!C^ zSWJNRv9eW$iMjR4tS`Cr6p!}DCP5EjY{3$3kVjusg%9-yw2W= zba(r^db*VpGCcXsZ3^-f;j(K>QdY=h3zC-FA_B(;i>lZb9Q6#-=oo5#B*)MIDsBcC|vsV_2Lgun%iR)D8^e4r$v+G0F z*j8hoe@C-^$pCD5+ww9qhqnz}bCh_SoIp5z=jP2dzOrP!XG5qARHOooaQ-p(8fGNu zQD?1Frro-4azfD5w_-9Zv?xXV3*^on_$L~a)>>T(5fY1+92YX|n+}9_*MkT}tq*dr zgJ`8Q!(XfE-MLU_*E#OlspQz^NW(>|g(*Htdk@agk64887xEtETwHfq#m+qjvuGhh zICo^@Dxb$Z``UO^@csK~M1qb0MJCwqRcyg$*D{Hhkj`8eM!ydZX3$?*N+NV=(k+1$ z%r@_cz@gVc9~)M3-6y7uQ9A21|9JtZ>s)G#a(oyFMS>*SrBzDpNmRgw?(40|*i+P{ zTprNWp6{5vG;sqIx()|a@^oWTyAlt4xiv@3kYf$vUS!L9ZD3vu?HK(k zSG5=gV^1!A!m}d16x?R)2wUE=pPS#EPrZ%ym5@K*j~njYAD_opT)U&#KFg8WwSXAP z(`pO>-&rk~d-K`0FPx#Do><|ibq$9~7j^DmebRz?wg|?dFt!gnooPCrb zS`=R^`xIFhk0wc+nTVi^5K0y)KZ+>8Sh1lU#7sLFMK$1OGv>^gZOCltEKUyb>@4L& z+>a1w#BgTTZkBP%hHiXQ3lsfb>nnaL1e`>(z$CzGgQ()sr*#+idh{g<1XCBC*U!g@ zIZ$-m+1EQ3|89_t``TKc8Je-oXF{SCkMgVKRqNEFy$T4O+?UE$7uUJ+9-91XNCkX4 zw2K*b|Dobc(Pl;%=F#3pQgz0ky?y*PC7!V5omPs5eeU&Q15xe15X(J$@ilslhGp~| z1?S31j^Tk~)q-cFFDE3FvxsDHe}0z)ewl70ywZVX2laLca~e}t*c>Kb4Rq%X6I}59 zhnMFH_t+7@8Jw^uyX(mYiL56UoI?RwI$_b_c&<1CpS=F>OPywf;Dl*VIu8x#XL!(> zDD|O@u-ZpaQ=_Cyu!-w2D}0tK>Qhj@YS^iKryUgEH_3%7k1sqDYd-jr;LR}6O=jl- ziINE1f;-$7J`%2rDAe)YbU5I4`B zJ;I;|ZHQ)RDSfMkOP#B}Np0vD;bX`k1#8U+*z3Pf(EB+!GuV_YLdE`GZ=*Iqdx%>CLl7me=l46=N6wjrxPY&MS} zLMaM{k=A5;DbQ!a0XV}%2^wz5VrK7?$KYkZ5EScLoa@JGs(bU21bejvO(e@CCb&)~ zA`9m>TJ9|!58pf++-Rni`gif{BLi^7wd5%I@JZ^4#RdzF`d0#WCBDJ>^_vrLVefTI zmHCx?w*yB}-ECSD%_2Eu=fQma;ruiln0+5*0eNL40w19#&gSuZ5~n2~ZryKPv<4?8 zYg6O{YU|wRe=`LB^=fjj|H#jquR|)OtECrtaqzFOCsa>sPlaq_@1nx&OM*sw_V-9q zz{{cjpWfKx927jVM{yDz332Ze&p6S}V%p01hf(S!OLHmJf2wL+xtg6k{n9yOpwD?| zTVlEUW%8kClZHnn&Kv*5x%Dk3A$h^g$J~zj2S2~rQ?sK(c0)aNt;E^e6x|PJXA8u_ zdkWG?4$DW0_2WI@D=|eR^9~QfISjq3d9VB^F0a(BZixTj6Q z83UQcxb^)>gN28WY(1wj{MrrZzjqmV&Ca0xP{XC{@GPV6_Qx>vMXNU=Y7CTmU>X{j zE#BJ^LzbVK(hsF;;@bNiAEl-kCSMGz(k8oV>pHDpecxY4atH~34tX2;S-Yg#Fw>jY zO1=Y4{ytH{Y)K)xyWHy|;@3|S8rttc2hhVhqXMt0>=R+==+c_aKZ&b}5IARlqHUf+ z#veqDW}3E~T-I~HO0ZdDa<(yDzVbABXtz$GZneI`m!8|IUoM@vSa4P0-=@k1et?lU zVQOFisKeje;YzM#H9=~IvF;iB^F%5@5@n{DD2VKyZ39gj^4}QS>;#Q+i0fHs;#n`< zzQ@R-4@4YHQX|~f`wYHHD+lhCA+GS9-oy6n1xz0Y=*E!FAt}u(f`Vp3E=wew?SX-f z{1+dhX5Xmu7m^fm_Wof71`|=ZCt*J;hn*T`5W4{o$zR^UzTcuG8Flp$U#Gtn)aAf{YkR+$<36r6qrgC2d8 ze))z-Cqern(E83<30>vjk_4IRR>OSf(hqY9fz9NNmlk?L=uh_eQ?vrz?rtj@dhG2vsieI~lXs1U5&Rjw zrjL;DYtPAnrFnWl+x)14do4_;y8qes_t|Ii?%(J84(c>7mY$ZTE+3=_sJWihI)x;C=k-~hna&^fXH+5G{q4p zbJ_JcOs%23h4UGTtoHrFXAo=mMMFaG%}3nY@CxBHpGdywm#p2Wdi|R7TG183X|ROv zq*rozCvLe=bR4|RtJi>fujbj#7%`=rr#Q|>VxbG+9f%33n6z3=novyd4UH>k#4@rU zBH+=Q7r4yEJ-TmRd`pwBGs;Q%6 z3_*8_PENW^18a6J!m*bhGqY&lj;O<#$+Kdd6^^fyV=XeQLnQ+}lnk7qqpecK%BGy% zv3>Y@-27Nby-_&B5=0Z+%`Dl;P;IrJ$i0~CPU&UN_Le>dkQKN-CJ|=+iS0JKJ#T2# zN9rr0>em0m+n0y4wS9ljK7Ppc}8s#8<6b-_-1QP1@;V}+oKA^Y)q=vd}n&2wDgbC*f&KIx8QNtFTm znwIkVt%NafL3dP0E^K%dOFbd;sBkcWI_&@UvKso>U<^-Nu7{T*rYTB=?XpU85x@X8 zS0cDo(aOI(R+jBxkZumStX=^6-|S zl`b-~Y&`t%@K3Auskx8kD_3mjg8C+`?;e@*-w1%U&L7KPU#DZODSrH*|#>QkZD|!}G@A`V| z^=c#5l7aSVHG&dk8Y|3^PZ)Biimqyg3RRhRtvVJQS&qUfN4TRC=6iU6A+~cX57guH zT~P5yP)fmwM*KSL0i9N%#W&#p*1LZL7t%v%U0-AE(oO7-8yYXE?7K~cB|cOBjx(O| zNH|JbenbLEotiEjlCy+|C8(?r{JA3v&7)abN?pKm*o8{ z#1_^)`nDJRfKB&yM!oBj@$AN0md_^FC1N_d(q!ng1GM8v`MV(E@b^@s{(sd+HwHt` z+)?a9KB}Gk{I*}9K=?z^o8uaF>VhicM-sV3jB9(l+nolB-&R*6FDNKziR!rAQwwh? zjD$KjipmRjNO7(SF4?JTy-%D{o;v#aQFi`)oi}|7a~~>wi!F76Yqg6cR|dEi-!N+p zFoKlkS!<1Fb2gF`GBh7XIX3B|vv|*Z#fS<(@yu+^@!7SM3ZyA<8c{zqHA#!^l$?Jd z=n?0oMOthFOtgmcp2;)Iap8F<#@m?=-ho&%Su6rhj zjmRjeX{r*$YUB-B*@D<6j2-+gh?$~_uwXfZCD~Zl>TS?jSnwM+6}@9(qrBlqPopA1mExzDxLT`XtN5M42#JKlp?Lwe;|@krb<=`Qk% zTAH+7e2d?Bs7#=CG5i8r-QLLew<(k0#ZEDl+odh_>9V;cH&mCr0ILnr;y-A@+a73A z=i~}c`D{G3-tLYo2Ok%4+}lWkbeNOjPD6Pw5Nx;aiMAlo)1DcYASpK|@c}VN2`QIx z(BYZ*>wN*d2H)2>a(gC~<=z(#!XU5bKe- z?k@EacXi@t<@qE|VA@$vy-g5n>tr+fBIou)D3;c7g0Z1ote3<}PWv={J-mYo@7t(l!{_h?c-`=e5&havQZQ)^SS?7bJlpD@ zdmBkB6V}4DkaOKi^MpvNLtg%QLanwfym?uz3o(KFd~cB|%*YkjBc!@2NA(BAbP%Y# z*Dhqc?vYX9M6?I6@F?iEWG={LL_a|l`eRBI3*IX%)1B)EBjw`p*ORS;VL2%vjt!`M_DI25V~i&VsCGz zXXl(JS!UTJNg0ky?DOM&@=alkjWqeTMak{%zi62sm36M(?#EpuUuxq6LN~oUTavVs z2C=~qqQXk@P{DKEo)l#+hbRR@Ee|OeWT=kb@GK%?UrU8~R{^Q+iCbqt5_-f^j$|Kv zgwq2)-kESDJL9alQ;GdXfu5O}oLGiD27+8aB?msXN$)Ty7W0ZTb`jUlxleR5)@(m+ zqXv#?<9Bfj?SD}FM=(%?$tRtv-L?Y$(Kib@Wa5^cNlWE;7!)cI=cf~9otry0_XLH~ zuQ9FV$e*2aVPiv*rp#n^jIUjM$Aa(inq|vY zqnnT3c1CO-9wcGC5~OlYW!NgJ^rCy``XI()^yrfJxxdeX0%TP1;U`5%3vW3H`jiu$ zw|N$PyG*FV-qRjba$HU>UCEj@k_mbAjp~Y>EhhzULTAej7szO#dT4(XORqd}hvPdE}5CO%)w;Qj0o8;RtYU&yn)HGnaMVtG7ZdpXU9 zV8`Cp&;7+$(z`jBqzu$D>9;1=yz)A)t1Ka5`1b7#ni1NvAn;^V`(fegLTXQJB_Z$F z&ZpOVcmiAA7~-Ym!^(=}&>LZ*Oi58VOI+Vm%lu`}nU2GiZd|*zG1bb!W;h9}<2&kc zf%=B$t&U6oRc#%Fo6qRJJ>Bo#zw_23Y)D(ET?y+sE_6ZmmSw9ex~*-m@FmVC5fM*f z>8rPSbXxNYMk}OSl(W*VUq5_#Z~fgL9bj{U4T>5W7Q&)q92X#kQDpj9@W;~)d8ED za*{>7z%@0u!+Sr`nV9N@^9=%BA}b{g4|i(b|NMfyD=y{dECyP<70KsrG~UQ~9f$25 ze4&qaby-K9IruvJqxt-Yi<_F1ZWpX#$&o#KAVg#gw^X)^S|~um8NO&yaDJ#HD((-L zv=Epx+s6V8O-)j&04gHiFN;U$6b4E(itE;HmXYr{4$KSp%GFQ<#=XA8#jhYRr*W=F zQ2Oe-qD3phI#v*zYkZBZg5BQduNR7N^HP5KxzVSLfPHpqK`T*-({z{iU;C|8IG?*& z*Ci*vtpgPrWnxOy!#MVRrU&+Kg*nhDqpV1Kdpm%x9T_X<@Rm;g?Z=OvlFdN>P1}?Y zmo`O)`235V2cOOf>uG6m4(srkqujGP!6iD*1;+QJ$Vi`uq6vOulT-IqMS#lSdRnQ_ zv5lr)$UBZ$`WN7&zWLF!1AgHu7eKGiP_ifEo7> zElA!J+QITvPLbtLR&2l_FM^(g*zD*=AFq9rgx8AEuKZL?9M6XHK0@{%0C$|q!Wh&` zn4@%ZV~>bdh343kVUT*H;i@!*l&Mn2f=>0oI1!Cz^vKKl@E)gRl zPR2)bR+IMHYQ*T$V8c*1?NaK~EBhXciubs;vXMF3HVq+70Q}BXsU_T1)OE9 z4f6KbyKf&c{~8aB+EIl`kPdxyxJZ*JA`=O|;UeNmPD-=nW4iCV_euKcBxa(Ji%9R= zj?NrEfq^-X=%QVfw0=G(kX`JLORkn5T+;Suq@TGzMog_vkkg5O^-7D{hfz~6hl}(| z4PkuHVfW4yXbuG32;u~bUKiJY8w%If*FO$t4rCYdC$r|7o*MUN9MOAe{~BE0tqyBKWj%t5x$t9mJ4Z=%l3OkD| zCMG8I)vE_9?d@+{0OzI7;Bb>I6c@g0%jkKZzzWK_w>q>|U5ng%IRC?mU1?Ti%`1bl z2P>jhp+3>#ts|4WtC28q9J1cieMIM970jRWapC-K66?;lVA9Lkl{RA6-2{6kr`XwkB>J&=jBb>C-vTc6JIq|6Mu4fG#fF z*f7T%M_Kveah`Ys#a4obVr#j1k$)02Y8%InVEf0|1TMKY%O`lL>VjF6Qw^aE8U-UD?5U`UQRz>r7cvgCP9V<*Wn{cPA2oNmJhzX zF0)##f5^9ewq`upEu)yOo_a9y`8bd4qc-}(^l4pvRn-vc_Wwrs{o{?64$Xs`I~JQ| zb>iQ=xs%XWTtFRl9QLi=6RL&fUAb~)`qqyxO-)@X01d^&x2ZDLPkPm=JK9fE z6Lim~Hmf+SSHZytJ`46l!e0Vdv^w_d@@%a*?U@$nPj4vl%tc42A_lP!(3kfGi^ zq_;(Ju@V*T-$ft{7P^=`x~(D%Jq`bp-!|Ug!vo+{qTjt|$S(B6&I}8&8RwX%@c|y+ zzJXR{3#txuwD@J?bXmYu+^qk@J{jwPj6ST>w_@FhQYnf@BMZZ+w<8jM6GB6etxPvE zU>fgL;pz9!&oORpUgH+`jo^8(`e;PYlC*jRP$jB9W^FD6VO_&Y_&X*YiuE@ISA@@< zGd*O$=D1d>zH)bjwBpjIRUQ(*zFb0yr&azCPVjx`0y38z!(eJ@k8JB-b$+tWgp9qC zgTEk~S;`~F4~$PDp<;?tF0&egxkB%=pljjm3F`y+M!$j6FiLlO@3=>Y)Mn*v2e>P` zA@aubyMAfco}9gU{=csp=25aN zSFyNnbx;pH1!F2u99lF;Em4?IP~+XbIcvpieBMbgeCcP-7zqV3L50rl%Gs4R${e>c zyuFZ;m?$r7Th`shSc!Q9GwZCtE}Mmlf$Qlm2^&9RCEVUtuB-%L1yyc7g#z}x+*tzq zDBvOU3m#CoR^{@8*}HhCa|PCLto)oZ`)%L#+;JF&QYO?;CULE;WbpUQZ+!lVBK_kp zneW72{+_lz>)v-jyngM=oY>-&<_-5??RD|-h2CrH2_NkS*Xc9`4*U7yf~iMir?64v z_A^CtNn(|2uh{KbSXm3xHe#swAAPGUU)Oby_S5~?`tu&QD&{>RxyLek<`3RjxWcFw zco{_r9v|!yQ!d{(dO&=f{vwOF!_MTk(N}R_;Gi35&q7nnVxYy8We1>$bYeSW=yge& zs~4k_)T*pFC(g2@t4wx}Td4Pi&3b20dE%;D+S_jjjG6mSy!BbULjWZJIa`|WbM<`Z zC(0h9M~|?K!~9DwdE0)z14f-x-%g(xc%{K4koL(>epeLX=Dj`enY-6L(g@4?M>lRm z)WQ;&(XlRGD7`95)z_yctAmW2K!`xiQ`(B+TzXw;OP1gowG}A3=t0qDP;yB_Vv?Vo zqG476qdWr-pvu(#$&JfHT!y&|2*E_s`}HId10X>A+DD&R?i+ zAx4;kr_{fR^12j)2mNUcgfVDpXc-e$lP=8D91>AgPpn9ao=WClVJ^`N;!{O#@lZ@M zkSWCqrK>1z3WA^O+pY(z$GcmC1sd2R?^=25%K)c|4Nk0b#cF|z*XKEGqgp^`lvrWY z*m!Bu|2hi&LEsSEnXarP-;7h8oB8|)BpxfU?;j|X8w?w92=YFE+r;#b?x>_X?T$vV zicyJUPJ8{&N6W1}X{FwBb?}gFMrci<=F@v;Q{4Qs4=kMQefu4zP#@1OOXJCt8Xk)e z_fXVTp-nZ;I(~m@oe-L+B1K`8aW8dgs<0mPk*Mkm3ag3=K6(<`zj?mLs#m|@?tvKL zHm?}yd~KB*WHD-}_id`gS<3(traoTzs7l%=O9 zb|i{UU}qn;i-4ZA^Km`@NFK7tFt6~);1QBH1ghXn@BtABUava)ii;JaFAu(vQPwjh zUbYMvCa!$T62rJQ{wZpDMOzF{&uP6p5wAQ(DM3iMh{>?ukpxR=m$t<9ZVWK!?Wv=k z7!d4CNhl z&f-V4$7mIEzU3dtW6c&)@TNyR@)53T=?7UTljG_`j-A*H^TK)01TyVn`KRW^=2Ekn z7#%37?hZidSY&+~d#O8`PjzY$o}2L7h{UFszQ_kO7Ru$kkeSOZIR_p;;|1N4O7_#w zr)@8{lH-Hl!}JX`(!&2dVdxk^sA9c$kgQ#wRf@=kn|0 z>d|+rhd=~CQ&`sOv4XI*yG{DRrp>raZ|GnH%APzX{w9w3ai!Ga0hZGnA%<1Os;__F z(tvm;e6myll&ufr1|>C#yA3AE-~S_Ev_3=Acq*=ah@1#~UlBA*S0kFuXxNZj`10kp z7_CQ(geOUD!@3HNq^2JWy6@e=D20b3&(E(ZsE|u$i}_u}Di$Mnr#-WfA>&W)Xw#Zh zU!R^Jw6fg~t05-^Tq1_?$dNCv9yb%cuHR1NICbjV)HthlY~?ALMnywCJ%RGBW|DZE zyM4<50ZlLfUq|)m%dI-KP)w}ZJgeXFj+Is}txfGTE1LUkcOMyEBHqoLxD@hLo1@_ zb#oM3<5{(%8Gzj2jZVhBcGI4&eK z!#03a2?lLt4ESnV;W4a4-WwRCC>I(Ku%&zhCUnhnuN{-IwW-PI-o00y;bAS7JOvf% zzpR_Aie=lD>+3@$!_KX_0CNC`Z-qgK-;F@u;{b{95#^KB!3OEvok?hjaE$GdY^JY$Zjlw1xmn&mXHgx?h*gy<{sOzH-TXfNe5mQ|w$>C^%A>g*(% zuWsX>+Q?Heo0x^EB~@a_jUyIDzEQ@Lc$cCNu4N@rITM(f zmDiKF=D~)3V}y0ut<6>6N>-)K#m#u=7cyv;kZR#dp)%wy`%)R3{u>(O2?1DY*^P!) zh2@|Syi9diX^b!mO`uf_QG7NlITY!05-Y;G`E=76{$J}Oc}c)o_u*J#YvPk9!Uyyo z{}nv<^Pqt}WKWOjYT0?t73DdXy?ajOn1Cs6h&7OszJb$3-R;PWIY?ZDXATNdG zyrKZjXG8kRJqeclYL2Gah7Y=o+9ko4 z)`M4H9pT(NuQ;=%aVA3^{D3uCwt_UXk_P+ez9`dz)D{Xn4APxrqm~YX%8VS1ckL|{ zwSGiAvnpo^;`%+_xx3=UrLx7nWRadaTAXBnzs_Oe1fVj@<1&M~~=ntwV!T^NYl@e7sSrmJnKde-ScsEh;KI*wHPzvpw$}{t^tD5 zT|4s#rQnvXa?aAyewNKS_t&crQh7vARfhE%>Aik_tVD4W@Oox@zwQUWBh}@Wh?Yc( z7?X{|x?RkL<#AufoA%!$bBUk9b%g3J?`&}!ezdAa! z==|5)=33eC>F6Kcv{BFL=W)zwtlVqqkP)v-3iRn-R4JjmH!+UcW881Xm-#3Qn3%6e zb|+WJ4KmjPRSBpaSQoNOYx7g9(@7m4>1z_-=575Feyys&j(^y`4Tl5Hc89CJYT>*q z6y8tXh?5 z29RiQKhE07ML$$<}N_=5H9wh~U4ybFb74IlOvB~kt$KjJ* znXjq9BKKpzOQXk7cs&d-=arI7W)W7o0Zt7glk_Zr4t##%4at3)!hPlOkI&D8_I*;l zckgD3js35I>%sSbs?BXIbcsmjSUqcj$*v~AuouYy$IAr(6TaSD%165}T|GO)3pu@Y zOM{f5BKnVw4?f{OefBf1J}WbK?mam;6YBX7Jn5v>*?fhi?IXAODP;yvQRVp}`+dK8 z_!+soQKgZz?c?_0f!{6GQDsW2^L_~(>2G<2;t?ZD|G^d}M^;#r49(xkyK1S=Ta>NL z_<0KTZ#sFB6J(}FNe7V+M}Gr7^lhSejLo_)wvcORjje{$6YVhyE;;gvULn-cIavGv zE-6h{$wv*4ztgu|E5nu_jVM~9D`amzIfS1nR`gXYsa(R<&AV3X!Q2>Mpd=vMLX!MLF zx)?tk#fY89tfyAG`YHze*9PN}U73va>Z1Rc!kAdz1yt7jm2Y!mejz5!I3ug|Rk=6b zS9R$DI$Vs>yj$Ohon#EW+V_IxsZ(n6`188w+y^S=zmu1%QJ#bDMKhHpx`1`_>pKU2 zzj>hBVBQn4WtIlAQ!-8?p0g!8CZ4G!C<7llkgzX+(^%0LY%b-y9>0a^S0bi=KQ) z0CS199LcE+D+2%u#6mBR^Xvq07-BD#fB(~Ah{c-I^jXE~J9n$25&<(wxW(_MBMOyk z!$ty>n!Nlr2x!V{lOfm&Z@uAT48_X<`e}UjLZ){ykK6-JQ;92AfTh4U*_&kri0`rG z%}=mbFbc7Ne?!z7t0A+o>I&3@s|qU(sPqYU2O~P#pIO(`pr(dM)`+%zy{uW(Ug+%U zypFgV2Ssuq(L6s~T4(UM;cox3>arccKG`{WH(DLRe?A(r7r7A;HHSRT!;|q|2kGkL z3Mkv%eWmelZtG7El01v(}x5H5CqNMfLOa9QHEn+3!w#0uxRq)e9vqCq! zu3|dPg3GCT#EmwcTo0oX#5{%3s>Uz%t_Hu`WM{Ij_l>0hrArpA6xVwE)D$h<2kd%* zuy@IvP?yo?7DZN*lh0fL?JI8BJ=nw#0Z1pLG3<~K-eur~o5cZ%Jq;|UrOAmFH}92F zeh+e<{UmO!bs4Zk@GJ8m_@`Xg0eS8ToN?$0D=DNAB4=){zx4+~`!waTzvqfC>(Mw@ z0wr@A7~+`|sj*VfomjGb})4k9gk&~0Q7b=vpYnH-3WSJwCcd{QK zKAQV4AwQWX0`*U-o;Z1@ZYKK@uZ3gpPKGOMwXu)}026LQxa@<+f$rwGk|}H)Usr$c z(dp;$knFUL*&7&VVpG@>9k5RN$|Tz9{joC2;C69+oz?Ll?_mSr5;>RfE!;9I(eLKt z$Cao%E1>#Xv&Te|I2Xp-UVjNW=RIadmHNKm2`-1{@O+tVOYu-#7&*#KA3O~DK1NxY zhq=D=J~q}*_xY+$cK1o1P2gUveqR<;Dww(#g>d#>74=IP|6Fq>9B~I4RJ~`<9(eJc zRr(BRov}z_vkfTZ@94FZpM2jsr0+bf4j<`R#)UNb`)>}9E1?bD2-E`-(iAM=h z%zl-$y36E7n;@tZls6!M#u1F>9e(P7-zt2_F1Uu|R}1TTyT+Q%d!MI%6_>q=={4MZ zmIQt{f2lmAct}m4U81jqcG^lx%dTNdrVbX!Jv`URT(Zi}&XZ9G{wcce%cCTTwcd*3sK+n+jM_SdX5-d?JQNtn&cbCN_t!m9}InXEEAyG z_mI*6vcSV&6Wyl?p!bXPIKGi1Xl|MQM;LEQ__en+s1QUDR5;Ij)vwOEIcYVEy6lih zvePsX77{l@_zNRd!7q(!LTJvd&HD`mH?C-(I&}&TU||LuUi~B2QPaQXEU@q&fO*8e z1o^EL9Da2%@?*?PkzC`R%7WIi?N8fzeU?u7EiaeoTy5rJzkR#HG3KCxyx!3<(ZV#j zOJ&7b)%-{x8H;#I|3W#e0Dp!*BmmJ{G)A`aUlMNJgr613jbuyYOv}D_!f|B@_ zVtM4?neQe+H$og{haT@cv=FSSUEBWh(ifh)Jj-89yuS|CW4sJEenTJ{mfH^{O%kJq z3iw?!k4#Nc&4I)4{{1(3IQkW0u0=gykGOj;&=|Cn+}G77)O#w zA4FC~gd>AflayIi7XAO(^h5}@)o+Nq+m;@WK2Pqc0 z`+&3GthO4qD9&DlHL)8>llu30Dg!~n0ZFLqXs5V>XM9U+#BE3C1&6JqN~4=o8XV;j z91NLe_tHVr4udtTI{HL`^e5QcGp+%Jo{lgLcaiHSF)c0E0>{7ZNHGV2)N3OE~ZtMq4n#!OOY zzX14$EETYWmTuQSz4I*mOsY8s(s$hR&cgQj4P+e9hArf7!s+!rK-IT8pqQt%f8zH= zKR|7BuFOxix&CrrlDGOSE03$%JO}_J{N|TIp|2Ic0P_s8H?%A=%z{sSjSUJCmTMH$ zjviYmwe}h&;20ZZj^BQ}1E5aplSRkVXkY#IP2c*~LzKd!l8g8#PD91Mu#wA; z8$m0J7{!vTLrR%@HYXi?4v0*(hA)q)jVtiD<#&>#?(Q97^e;beMb@9cKkxiZ~hpY7zk$liKSS5i>~eB#a6 z+FQeKr5DgnzZ5yWd4NwtcurjCbq5mvFzpr*Od8seZNe+9o#ELG7L(q$wzk)y=nCmJ zw?`OBm{R$ZgZR00q{=8;P~6wyVgv#79{pQ7vz5~FVhsQ;)O`^ob-$LewDpnG3hvqy zzG1=zBXq~i;HW9nb5jY7{+vUr1CzxstM_Y(m4C1Hjl6}A(fdw++E2X8;@-3`iSO%v z7JN+dw-I%M(_Ats;eIwEn?fmVuB4Y?JSzdDy3Vy?)SShC65&f`)aKaIGyI-)0$&8s zmthRNpU2R?67pNX*xQJf)2$gi{cXR5ACm`n+;u-57NEiGzHR0p>5 zYZ8;E|4~Tj0{Hx*%m_Y;)&Xr@Ip%kAEK`Xzx%wlmt8#b}KJw{`O$91%G6PV0KUki^ zT+neNne(gR$Bl}b8l4yV0<7}@#llhTh<$aC{lN3jhXKw=rU4TD2eO_{1z`YH4iLrk z*;vXY_poJ0Ve8m>ueC3g+-u(rb)tLu*f0CdrIarcW%wqWiu%ayYfZLns}nFwKWYX% zeWGbtnejbfvF=Tk8jL5F;?}k4w-lbe*9#WNM6I{@|EJM1c zpZ9>>N{aCk2plQg0ZsmC@LzyMiaeWmTR#&Agem)=#IMqKnydmy4m5>0y^JmMwGm0(5MYG|AVW9~*$vygp z)Wwn*puW(@`Xk5C-bUGa*8ntyjBy*9YPBQCwXV90DNJfTvGzAtE~k5SS6F*2M{yhcwE*3z|VZy`ehB0nNeS8|l zt-_q3vsoplrh?F+l+`tR;lHN3!X--p*WcHtj?D^Re^2^Z;{aGC_wR0-#XmWSMy0!G zMMvI8g6Gt{c63+mKSZx|Sn`O;uS}rsd=U8Z#V6j&S$mVXp-0ciOovdq_fz|0fJAS? zU}W~SC%Dj@lMkBC*0NVs)X`^pvw-p)Qy=#*#%sq+0VM+c{PTUmH805~I()V-O)4Ol z`0dp(haA<{Q;@d&#I0j){ri0YlUz`k?kzIW*C!g4Y1j!m-{t^}Cxbi5+|sUJ`;5~K z!I*O~?(Tr>g4E6v;WvLBbT566oyv1Bw^d7(cIipwk5P*kcTc2rqYOt})&^oIH461U zj2ZV8P7xy`{6RsKH!XU&@+1Sm9ZO4TEi`up^for88qEYR_rzrCa^x6o5)sY^HT_Ge|NFn09%v1>SOXwvmW)5g~8qB)aN!^!ZDRC_D0n zYeGVY;=M50_Z?Wb$IWqG1obt1eurKYhYWuER$NC}UcMtH%H;25#rVN=fdKFzcFbBe zG~l9Mxw8}}k8!dE{nCG#0^ddCD}IUb`ANOJx?@=Y57e{YfAHW`<)PU&sGDLG`UF&e z5y1KV0L*(AT}tQjF6s{e8)`ALvUY6wyxb(}C+jToL=E21fKvWtMNhbXdV_ovuf;~{iwNAB#;5^dm zC6I7%a4jNHYIOB#pyke>JN_}~Kup9gZ|KMN`Tv>qxjlg0jjQ6j9QwO2 z1paS1M>{u#a_-iacmB@AA@Yy;-nnwY_#bqhoeTdBdFsGlxE^&c;8o1iw!jK0*<=|Q z7$g+5wF!s52s3(L$HH;q%*ZRwtb`Zk93`%4^ekRId;84l+uSkJXTT$hHQ?VV=gOHhF4i#IO$u>GpT^~E6tYqH_PF( z#BYl=^6wtp1kNSWJ3Ew=!^Vm7^E)%JtJM$-WRL~`4=JC)6B&FOCH%`VA1C{RHC<+x zM6D{#$u51}QJ>N+SKPk{@9fB3_cL8JGjI%)a$P^qBlph6XM;!fO=h#j3Fp}!0p}sJ zJCBI`{$zO8m5aM?*={#{2rMmynPI7&uar+Z&JF^!+1l=$luYd@5S0j(mVey&&Zuoz z%GF4>Iaab5UnmL${Y#)va?UhuTTy}4_v|>A^sVx?DWU%>ww|+%;ooGvBe@@A-+8xT z`(qOgtZh&QA3-Eut z3-SGR+R^qFuJ}vS5R0-}!RfZ7mnMC{b!lZ4mMLPv|MldIt~T1f|Ha4J^*RxWKr-Z( z{-3IH;B}FF=^Se{PLYFsi2*6#>uVt<;i}Z0_eP568vyv-SoAuK(pCJEjJkU$TkQzW zt$702p$I?dfdhwn->w0oJe^M6u=A;(ebs56J@cgi8)fZblrEppj=NR0TbAwg6_E!l zP*u$5`w8UbV+r0G`+$S2PhUu~ICP4bo8b1}JS$aVM_%mo%oJEC@RM#DmHmJ{v-g7q`e=DyxAKku#A^G0<%EVB?e@Cu zdWj3d|M%xtgGV6D;clUQ^RgjfP2NyhH!J@W+s?eu7c$m^g})qxLox8u@! z*}cde;^fZ10`l&nko%r)7qTa$zU3a^0t0qGb+Cv8koNz>kDl>Qjgfjn%C%aOEH7Um z1mn=Zq{7WCTIQJSM43e)0i3kDF5-E`)sJkjfe-CZ*+?EW*{cAwRe~_U&@2jC( zO+V)_vpg*)n{9A42K6!4q|>83Z=sC!pLiE+sd5)=#_-)0s@?x{TB|RT$10b{ zVjyfUQ((uPK_A7l03f(4#OLq6^gcvA@3WF(Vi2D{|DMISjk{rY#TCoyDLu>Mw%b!R`1+sODVpA6@)3Hi>?Pfac(V1 zc=09FqC|bwkWF@In|S6Mb4Vl~pq!GvXP_i)=4ZKOY+@xuO^d59!CvN? z-LNb#_B`K7$ND)Gx}+5U_F@lHvhy&W``6dp{vB~3&*ZN~!adK_@Fg#NvO&VTxE zwY)|YhBBPsRdk*fF9(qFR8m$H5M6{-2dSyGtJ-#cm`680FKyoQFI8?`r88|2p}I zf1iBB>4MLn?~@)$Y#n?k>-JOIxWca6n6CC30NMzzcssFcv3jzOQB+bVxyF4bQ%|-Q_*Nk@Exz+rCkE+?}@c)m6 zyPN;H^X&g&Afq~Ui7e(tz90OT{d4MMJI^(nS8ByE&J;qEZ(U&%6179qL59dHSE#bP zy4-Ho3;kPAmzNg??pGn<)}5XxA*Q`5qeEmH66=WdgMWPXan4+x5&F_YXZ}J8lP1mHKu=aex9q7VDT5#P(MS$dG1EU~skXmpn$OV`eDHCEKqW2gcQ{eMWms{L6 z?mw!_fgLvkIqk@F^%a{GlSfih90Q9JY25cIQn++YHH>SoYL;i2smwsHuC8K_nKrVA zcKbx8c1O-Sb{9~vJPY$;0uReO=ZWqI-#bpVgk@n zBp&)%6V2-+?gH?xdnAeRolO7!{3mSe?0Ud}G`w|O+6#Hv> zFodP32(?QJwF5r{7T&hX46Jp&;N%H~M*J$5Rf_ zcLUnFb(E8)R1SN}RZxWPigd17k>Q~Pou}Mb=VWA_ab1gDtW*G|+qplb=B;)YwUD>6 zru-B_qo)FhN1fKA^K*^<{&R7RD1nbp!8dv21?z}SJ*Z|B7sRQbH$$#52)rIKCZCId z64rS41BQty#{Rv8TYo)2tG#KH znwbN-cgXiJNPQr$?D}{Y3ud3y!vpFRB;(^t4(U+~KY066SB5zmn z-Eo6_^R`vM-|e1d`mP}A*1(^=FCF6A%>D*=z$()rqYS=@=Gmh_(S}6Z=z?Zejz64m zs=i}_6%e4N0AsWALWlUy65VNS^!{C?>h+0;ME{-`le}rp&ljHo*5YgvDyl=~zS>i2 z`}bgwOW@-36DFdanSl_SwBE{Tes;av?^%lo<1bx zPBs=OeK{s<2aSJcYmNZF{(}*yHfFzm8<4izcf!4tGvDDFug8 zV-+>rD?hJ2hvy9Ct|aJyF-+r!`dOXZ`j^S0gIXc*>HZ8!(w;-z*%>+x7?WqxEW~vC z>{Q)6v}5_v7ZOS&L3ez0g-!cZ8>akH`I<9KaluH6+0#Yvth&%lqmIz&;bOF_k5um1 z4CtZa%yAcTKG^5BV21Zg?9_v6CYF8p$k!UoqYk9l={t(_|ViDJ#S1(|?A|~Q- z{2D#)GbH-DVN^sU<$*-xgPt=r3AnUI1QOgF&qjjZJ)Ip%xqZ`l)ez+=C!*ox!`an? zal4nsl-%?Smkvz(NARoO8Q%k@;RPWAdfrp;a&=F*qPoqX3DiCW?lzb#H0{6$_C!|}z zoNG}@x1e&q{A{j=cB?sdxX>%E+hOyz|JVbcRr!OYGTHStXlTY~I;l zTdlcPz#lVuHG2wProWH3(uk}0xn43FCCz_>S>&YCV!o%;1irw$uo2-I+ZroHcGf)N zG+>;?wW#v_8g&tE=wfkd1v+3)rk~7ylYI~}0Av#%Rm((tkLBmrRW7-TaqR8F`t>5D zwt_Vq5u(Htq|54WJ@Xohvp_20&c68s0y6gUcf?qbGl@p#4=k3-`j{A?~6+k%`G3#3vpgp>QsQld9Wm z@zqG`&#XV48U`(~;QUvT3q|B&|K+=)@ju>I{!T|3_t^y>1!L}$7X{qoumZhU&4G}t zCAJoB&LGYcCsU9u98;h*%5y!~ri!&?s*z%Y^uL?4z>#_LUj!p(gwDm)?!0i%vF6w= z_c6Qc-i6X)Nog-SO`r=(AbX?d-2!a1A4ol%R@xzL`OwQwyy7lI#>Rrt0K6!}t+PSS zT@u=R(nYi3&1@f94(W+k_bczpSBy$WaIXyhDIlM47*@W?n!rBnG2e*E>srI95zCW< zau3MG))RHK17?qE7kumWtq0zW{eP+R?HVW|7cpZ2xI%julLV+jV6}aQT!4%UbF6D-TI#6?z7049HGu(=d63@T25z}Se?pk@04~dN}7Y* z$~_D&0x*Gp|Jh(Zod4bJoL&JBx?LcvFHf^CM6{Qvk)eScfz`^Cm4@>MEQY1(mcU!U zeo`*9k`>2l){J|7kB>Y?4wfQtG80sr^Bvzvj5d`sDhxS}U_slxTS*HuXR+m5SU zPu0U7zoXKN33&41qP24tQA4X__`nh4T=U~tYN1H4$VcvsDShnZyVA`!$Pg6{KjaDL zfQ}wS8Nt;!mWt>T!cBhjpYo}xl^-vbh8Se2CemK2cc~-4(U97=dhGur$REK2q+o>$ zTD2PTL=(H zRFsksih%?O3Eu*BZ})SaGsb!UedCOiAIY8MZmZmL&2r6a)?QGZF_7V|NUc8~J#f|Y z3H~D>P0sDI8^Gz{f>llIQk-A(=L~rM*08@fukQlt9b`eEAd|4K_B)~QdRwI+!dDOP zfpQ~0DW2YUE0$jtnz4)6kI`7JdVOO`Pj~ez1baTX^8LyMV=+IW@==wqUvJa3ENice zL0O9$1p%lSH=;dpW28-*i{cWLV;AQjK9X_L!6GK_65=TF_KW8j!{lmrLyO0Pvzf2@ z|J%dy60+6@#!k6Ap%0+VC!L=^Zjdw44(8I5<~`#%X@*_;eC*_%Fslc!W#?iyqRX)P z2xSPf)A{qn^JV*r=nYO|*2RZZO$;$Y1}zwN0OQq3PgNmEYIa5Pea-wN8cwSBx zTd?oamZkL+hx7FnUTKOQXzQ(%N4Ria$PATx7UteT`1;w*BP|cCT^{=pWDc8aEUS4nMe7=0YxP_Gs|}{)8C;viPAon-?OJ6vF3N|;x%#AEf}-&A%-%C_4e7p7zB!Vi31`UyDKNJvRz;ZTY>1d?=x_(%5I zz%RzUoZ_fGI6dQG{&PBR`ztm!_pe>dt(*T*LkN*3JYo|MesgPF(z>SQ8TJPK(wz%-fzAe4?Vtj!ZqOTLxmNV$bvfsQdqfY z1P#dDq7+oR(7qqJtAHY|Kb4~6)l{<9r2EM>X8;^Rpyz|9= zQFZ4tb(PW~$-csIqMH2%ZaOcKj~BHt%P&3;<)7$OF$P*6kFi*bere^2gl2NJAvcjh z$rztI9=#BJcx#2QbBVWEm-kI8>V^&9&Hv8~tV5&o+5aQ^>W>YVw0>dFW|^a6Pkwjt z{|*bdW0OBxt#T4Rq0PgB z)?I2DXMY3XOndx^T8qN}k6n;(zNCo%!laX5FNMfi8B#FhS)dgA)BG03llXG+i{-u)azhn-(m>t=BbqOP*av3fx zSdjWuOAmK-;UEv(?k`GT6l~f4DR&%4#k+)baQV3}&1;p|YY8av`icQr#>{l`K0ZNv z&1lk0#hCM_PjVoB#@9FPw@RxWYYB%+Rujma8>$h>AF%5qa>L<-o8PJ;`M+REFUgm= zExAPUv$4{;DM}Bvt$Pbwa<9jVp1FAO1LJFDyP1~7;3ao~JVt6uPM4e#uCoCN6FQOneHGd{f*{l2i|dSnZC|#nkYgLKs;lmB z;18_SYx36LpS-mTZ+M9`5l^CwRBus?agLV}Gi{ngp%JCZ@^A1SxRp!Ms$OV`hS}f| z1XFz3XEB-Lw+cnxc*7olCGv2&^(#5W_hw@A5~tb5ZQVo&#Q}ot_0#_I7HW^Ih++ji zTf^jpjO#g0aDv=##)`(KHfTNy-2m~Nd{mpks`0(D41MoLBc|UD;?h>Wd+E5!sshWi zq<%^b%#z~X^*G3D;kds71N=a_RZWdQ1AsMIq&Pj6KnAz@LH+iL2{ z>No-T`Ms65zESX*_{*WwGN-aqy<<85f_ujMNPuwZ>)Qlsv`4O09~puPRKYc~q=gP1 zoKW&mv?311mG&M&S;(}>A8=rUA{VKi740tgV=3P_ZrTHx02*?UnoN6Chv5SOG;>Ty zqeHQ`E{S-ap!b%Mnlw+H8Emfb>@@*wC}IF80m?+Bq>D!k>U}R6Ns-zGG!q{oTs6PX!b{S_se7Kmkv_1YJj+#J@-{!SAYb$P!xejK2f$G@VzTu_t%AN&9 zi>BAlo<%)tDd|rjtVtV6)V$i8iMVKq@zr-^5xpo_PWhDp#v%5|yP3RSKO(8h}Cy2;g|Qc{Bp zEZ9p?lcIu6fJ$yCVvt|;v+20w0de!`Wp+&#viS;2nF$(tJOiu zYx;QiL-BUpA8mmSh&HLmVW!4;R3<h+_$Wz)lL%p zwT9;y;_&J*<4ZY(1*f+$tnDJ4^Abrh+R`;A;=u<_do|y>CD*jKHJ6!|;Eu!|Km81{ zE7p3IrKGrh`;@_#+Z$A8?pV{6I@>xrB*NRKJN!Z%aHfN_gi(Yyj_0E_)`Y(QEQTt_ zsK?tQV+h*VZKc*x?7dm!ax|QP&XO5yHRYYdeo50Xm%>&$A$%EaUi8RGPAjbr7iys^~YJqoEx)$h-p(PyBKY55L?N2oZJ= zY7G(&DXAv0-!Z~=P|)EWsu0yxgsCWRfYj0V&cSzCqD^4gO}4j>i%TkZ(@zqZCe^(sT=pT-**P3@dq9<7O#4`3&b z+YnZ`w5R-Mtd)J<$mjPfo*`wIEu;s{>9(gRlQGQ^{CP1P--jfB)^YYSDJW|(ls>?{VJd27RlE==MVE^^3f zMVkNn!!fZFIOebsyzF_c&aGJ%D3gKZRVf^{VoJF{MDF;0%N=)Nj=U#qk4@YjXXW)x zcc|PR#gn>Jht`#^DY1KZVE)^@@RTQ3(iv_z-`U#HJ)8L;<@s__dFsvMVU!_+^(VRd z15cnA-W?9&FrPcRu}F#@T@UB7-H5Xx4F-YCK6NGuIUn(@_FL5IP+4stlTrvW8(xol z_w1`MKg$%rl-{_fbM6M2{Mao6j30_x24hP?tM5=?@%1dVaM9jnnQdgYwRNOKbL7 zRoAChNaCvONNsd_wH2M$Wxq`6a<-0r z{>{d%rs)awo^~a&ZaxU}sc`NWC014MC$$5=ApRK{|IT1$?EisH}cZ4y3g+1>hqIw@`W!e}vAvD1ee<~b9 zL52lLmW}6d%kFSF+uGJMR3+d>JYaance-9fPk#tr4M{p|4V9oL2nElZrvv6FB~^3- zCoRnvIF_mIy!4fhWZb}H4f%LLn5nL@Azh_Khtz4~oxr>gSYh&b(EM8kFPhtFMwikq zo$qV~WHyut@6|%OB$mX9T1iCstxKN8ir<5{m$sk78-W{y?7MiXF!|Etr^{@gk6iiG zegTPUdUy8YA--p->?unq(c~5ZC066;2SF@wF=Sa&*kox+iO>QXC0RM@Fcj1YNj+&m zZos0%GLl+~!}mK5U?dMEidEscpIp_@a9QlShoQBW+lzrj6xG3J`YheF94fl@lH4lw zd}`qLZb~;cxgw5rg;7mjZ5w|&Iu;NxiTA4%C$s(AF$}UF?}-1%NrtBte5rzS6E;me_I$zCWd7ciA9Vjg%w# zh4le!{DDatA+0>dIVdWzO(9x!A#3acT}_0D`9{5`nby6`Grj#~0y1(uRoQr^fm7MQ z`YsM*BAX68i+IfaS%p6Ay09^IY`|rRzG}E!{te@S3{68Y3YTY#$LAYOJzSUb zS5Z}h6=~*VR>Ij`M5k?r@E*5L9g?vgwZ)U2qLXW47&-q$owuuzNzNnK1h$!k$f$1T zD}KVJw-gehTz7NpQi@*}XB?7(rhKJ*a@C83HA zRHmEN+jyr3%VN8alm>{0%zrfXwH%uZ!fnB(hYLHdm`Gj&TAc+f*NR>%^~M4Ll!iPR zR|3)ZwpzXKq4Cx63T&I*vez=xceUN_JV-D*M1Y5=tjvoMT%nJ8W0rH~ds=&i`dA)% zy?_>VD&jg|{Ob~sRCRA|_ZfJ@Qqb1XAil7;w?M+i(1MK_`~vStt6ecZi)D@j&Mmh2 z69X|F-3M&o9_od<_Gzq1a(gM19-Qv8@?2#V>ine8%r!((C6Fbbj=$g7*od^Td(8bU zEvUOn_Je{S=a{9`Ixr^1NF6p-Z7dbjE-K$7X z<@2AhvGJ&3nWfvvBTeso%B!XR;Ntc6s&E{Z2rn>?OW5UDJyYiI{8*X0PQtr~V}))} zQ?BzfjF;fnL#yy9@bK_-bB(7U8+k`;0KL>rD=WuH0ckZrIq>*u^kGWT8F8zZB^u%J z^2&1Fw^yoFR}9$o39pL=laQVGgwK}CVJb_%i6FrTgUR0jzN>!K${YarG zG@OrdPJRtp4S~}XL@F2igVG0FqI9e7de%}ex)wr{?HVoJU#Xp1rJWWKn);+Lb^$NR z93fgceLWVGxy#OcY@2u|a2WD>zj>ZmF)pt>`IgQp0c&^8ZMzZM-mb12j*16NgdcPy zRs%}v^J{`Hm{8{8sZ}_QV_k&=4A$_=+CB{h zGz&Q}oo8Q%EE8nnClZeH`u4vtL7O{Ds?jGlt>!oK4&nlp`3&l3hkH>Eo{Uw+Js-Tw zH8_QLjqOo1*H;aUhOfYE9`L=7_U(U33SsgUuPqB7OXS?$bWe8KAkyvC-@p=?dqf^i zO8I=)0Mn;X<~MdK<*}I~hMh_rVOByL-7e()*iy}sjj0ii)J|u&dPqZw=Vp@IT+gdW zm5KRX11Zmj$NY4^=&pgu6T8#QNN)NsC=0o4aqmrY9-utNuup}%iqW9 z#XAZRt^_Dx;lkZn#hz0o^jghqxBOBgjm|br3o5YwK-g^FiTfJJ9<3LHK61FfZh3{q z0d&H;fL(vv*tS`@UF(g|gDpAE=~&;2%O)Oqst$eUB8BAN9pc_mF;bQtHaH71v1yMj zPTdOn>fV8ZmDkGO9P$2AE$L7fCS0Dr%qSEd0(``Tqg(Y#N>*I-oL0Y84_1j$?R&S8NlBu)n(22sKiYL;1SNr%>*(V3lXjkc+X zJwCIHqq=bI#`5qdmL(U`O&du~OO}^S0~LF~4L;_slYOT|LRfo6!LjZ-j5Da+LqLVkcm$l|0aQFfSF zZMnd@|0q2EOc0FClK$fpPzHUX*^I&LH_Sc6))nhS(OlAj1*tYpQcJy^Ca>RB9VbPU z`I}i_A?TPVvNo!Z1)Mi_684`sB%mP2^w>yg7K9hTJHKF6MY@8<5kfGw^DF^Y1SW=FWmWS)sA)P;Kd`lBehFAwUP-YF61QU z`7ys9mYPEQH^B~BTD&#fGPh(LuxI2AkcoAxGYSx|H-`deNtW|N;n7Y#@8*0VjStOK zIX<<$sF`SU?}euo!}UV?stX?CoI2YC(F(^@&le>4=phJfu;x0YzsdZVeX&)stH&$t zQz?NB4U3eZbQ}mWg4c@qX0z_I4XQ&xGcM*rpne2`Li=s$W8$I`5@oc4f@>#F5lXU* zOquQw{Kvx3y{Dz5Qe7TtwQEhL!OypGk8IyB0Sla_+@AAHO-=L2yC37%BxF-BrVW&^ zjQVx7H;;lVcQqttkPLgR%l4Vt zz}d={#@**Gw{BvL7)q+LGK6ZG`y&s^4m{Qn0GxnED79}Nc0UlPzxcE!ePH0Az-ejv zz1;&Kz(V+P>P`W8a!= zgk4`c^is0~c5F&M;@linh4P#JGcz-D+xG3=fr^j0y=C`4yTH2O_Tf^#qmp-e%OxQI(Z}B()i!W}VwDak?pJ_fEP%43) z6<$D|OJ-p|*J`^Mt8-RbJ*r@q?3R`><)}i&)RNrzS3Xc1tx^Sp%}yAfods%^tE7?( zN;^M*3(?N?#JzzX!U|F%YC5fh076v(hey)Mf(NWkgWqYd6u^&vDs_?_I>|2U!wEP5 z#rcG0|K#B*G)`=Ze-ibXaboV0fRx*fg^%BnP6HSro)gtw^u;jWx zv9+i6+~>O7*7GRTi=>v+HAzJBU*ZOAf4P{X9GqxcgIfpDK&)uLFroaiid{05LkgHN zOohL}4+XV&CV35ehHPoG!0 zRFzXVe`u$!Vxt=hI3pK~(|CswGY)J^zH4J;36!2r6+;#0%+M0J{XBw_O4Tt|Z zT0?P12#BldCE7~7nqx=focdFi@Ugos#rW>CCSuS&!ym^fq^;?dwioqx5gIr5Zkg9F-YL9n zhoq`{twI%+9%fUFF&8>NJ}WW~oWxhdzE2*Y_A7E+AJoFQZVN2BUf6$;hDX(HskPR8 zpO<0-cZiQk83pC1=k;v}i0Q?6>@_Vr zof|Xt6?v2xrgdqxDpNS$sja}a>TQ9@ljS8-^5is2$k5ZXOxoi3F5>H`YKLOQP)c;6 zXf4aV?xHe%DA}BC{UtwrwN%y6Ze`&4v&hIY8Y9c@%EMY1EbL}vM+x(KW+qR1w5@1& zppDNk->giVE2k#j+B78O9?frhSjz^^%I2^>R0j4Q*Kf!G&oV9Wy&So{z?#wAR?{)T zkeb<~`)UPv5VCQ)%K9EymghpyMS4)smpM%*^2ZoA;k8K`O2g;qx3_KGsk)+MC{{sG zIF3k-MfFqiZ5$Pqr<^|Tp61=RecR%$-5Wyt-_ffF>D52c`LAtI+VPw7Pwv~dPt4D| zF*Z+ULuO88-y~N*ST@0r&O{WUqWl$7P~G7ep?Eg2Xy1z zf3T(t|6nhR<{4JPgWK(+xZ7#^@^eng{xjmsE7_*=Z+m(Bwk>hK6VHlU)wfOJfq$-Y zAH$y@KL(AALz|hyb*7`ap+O0RyJltyy{NL*S2wTgJgKH}ZI5@M)$%ajD$)-~l-Z4$ zA1m7lU{6_%21<_Eav%ZY zSp9|fMB)DAwpUD?qW741k#$_nZ59Vw=z|prVcA7>;N}BUz22XcJxne9G{s%g!1-=h z`zfV&uQ0)X!@7(L&2uscg}wP=&k(IC*03g-wA;L#o-aMF0h>BapL4iu`<(q6_{>%o z+Q@gnFs?+({!#|OZ?(Q!H++0vLJu5>A8^U%F|Tpag~_B{lC~X68>t)gy?i+{&fejS z>o*r@hj*Au-6@!}mwj(!vR7RuBGCITX-i-3 z{DW<{@Ong!@+g0XAQa+ARh8%a_TU=t7R| zLp&H-^pf0LzHPDxJ~?0K`YPD8LW0lXnF^$Z8NfX{VntQ91j(^_>4Ej6C9>h>A52B! zS=}34NpZz37B%lDYZ6gkqYkT>ZJox|?NoH~3fCJ`xw=#M&P*@y`@X^AK~)kokIO`qC{K z{#%f$+OcQQtNvGBF-Y(O3wnA6PS$8X3tHh#`c8!C6M;Q;g zraphnwUrRudJhwwg059;}w26-yCIkmuID==bD;)eFJ-Vr9&1D6T1#x z6%}3hI8GjDS&8d>JXt|p)b-h8lr~SQ*2gVgjaFr6ZQCC1 zMplxg4_nh`6sO9ZU77ECC5eP&G~v?&YcwytR)$M=<Qf$$?nJ}h99>(=H(01;lc({;UJ7n^RW(+) zOx2~C@;-mDHmO7_iH34czHLR;w*K<@#WB)&U3$+y=RgZ02VP{0Bs_~k1V z-rYKDQ+B<2WT{jrh;kA;Pf-k9DU64WLYc0dx4D$~{(P-d$CI~R5_xs&WnA14)C$py zaEmqIJF;*}rKAGHuY3Y!0)1!lBp`cItVcogD)ZgLivmWAOmXI9%>i;{^tWkNT91(WF*Xq1#H2nA><-+PxJbCi5%Nhd^6iLCs8I+GIPivq=`02e?Ny>)c~p zh*ytbx|0(A`h0ZjwCnieK}SRE_t(esC~KbQ%Oy+Z<2LqU@p?d|WJ!AzGdu+qlb@9n zNO$u&A^qQKS2OczK4UejeK0vvE^v`(7|{dStiDnH;Im_kh_ACp_0aFTj&ABxF3f9j zf~VklVroFXWR3wuD}xmoj*>pwH^n#SxS7^Pk)7qAr#$Us-xQ zucd`C)>S^b)$p=25fdDA+n+&!`L@M>`gAK2xTvfz-X0#^1EUocyFW0YM#X%kP(D71}=9&5KLk|S}t z^zvx(4(Ewj4l=y2>d*l`skX9&!gmw4QD{6QmlpEPQ*kUQMi~*^?)CuWqb}?0>(qBl@Dx zvtDoMXxEYDNPMO~-wmbd33X^)6~Bs4h8|E|EqN~31;iB#xri9&sCU{k~ThT;Ht59+&a1H zUfW_qDso*cy&Sm6A^Lp%Y#40qlUH(&-Rpw24m!!~`U{jUvW7b(YaaFr<#7>k2zgr; zCbuYLt9g!zU>rI{MYeVpGwCvac-ze6>ooOK(KTj%!(NeFUXgHkp3g}Q0TRXj*r9)N9W6&@ALzDu|7K64jOoMce*HGuf#uroeuF`gVI)Z8`jywhs98G^U;K-D zU~Y-=)f(nv6>IU`gakd`pmzBN;Ht9V^RCB=<1T&s_N^q{{2D6ca8py$GE;oDJHp0c zh;#BlO5tdf$~%niqprwg*_sdu6fI~ApMvb=iLrCWnjW<@74~ee2L>^5nKjwc+TlEp zeONOSOz=Lq58u6zmI>oJy*kxNP$F1X?|T(8(=Q6*-c3HwT=2$^)`xK5d4CD<&Uo5P zT4STygCU<#e6ZQwiF-kc*#2Vd7PH6~FT9`wFR4lKgCSOKr<&?SN(Q(#T>1o-?lW>8 z$+C4K$CZ@&Ossi$(U8oaS+=zBQ*M;#zthj*8;cYV@SX5qN99<#>0eN#SB}cKO*a#Yp#D{K4c}YN%~ zIlTH%W#y~3drDx%^sfhK9Z|ECCZKV2gnMDGm05y7Wd#ZKhXZ5W}{TU%W z$-BRyM{YTO{ttY4KcjUexWW`&6&oW9Z87dl)8bbuO|OON8r`_@SA|J$@am{Xi$x-o zcm^9&)toc8o?e{+J1r*G%Mylv4&*KEVECn9)B|3pQrg)0nUf}W?5WY_^vb|?g#~Th z?tePFb=dp zwp3lnH~g;&f_^`=AW-T5(d*j*5IAkn(A040dfh-F6{DoT^bc?vT1jbIgJQl|fV50zF7 zf^>B-cOUPd%*-e4w-&sR5uKHtm6C?&?!M^@`R9DUZB>e|t?sL$x|=(4qfQ$JoAQpUzSA+e^ezsg;Q05{TYJ3grD(WCtxL}W^elHyF- z*AS&&2dt^hjoaNmQa+)*uI%sh?KGt|UF`3JL*E-2%d8mx z#uD>CoTxXl_nAdzK3G1ZAlfs@UdU3^s9~IGpZxm*zu#eojI%+g%*BglF}{M?IqnEH z{#l*h406Oz5X$_m2<2~w6zj)qEV>F}bMK=Ml|Y)Kjezc@p)vjHS<%g#&#zApLiqd+ z<$7j67QJwy?}roYw}aO=L;FQeD=TNWIA?Qx8$U1r~oub}1*vwTA2MzbidixQ3 z<;aspNDp!YCjGBnuH#T+J-xJ4KmF^K|H#%2ucIn_M?}_e_J@V`^IzdI*=!ULkP94; zFXO9qA8}~_M24Y8fJSl5iGQZnKUH8`wlFiwx=r}HTWB{DxEBDu+?$%e z{;R_Lr_QX6VipezYisRYFT?z0%I#j= zR?rYVd%{TY{{6N=-jbW-Q#!v+`1@xlBW!~hM%z3f7XuZ$p%L&%tx>J7(D3E`2M<=U7W^Id-s`}%b-fSGeeaZN`{%FZagaq?s?MsPUufkKmyL0HBSB3TFo8C*N+HIk}t zl>r38OMoQ+83rz0p&@&B{kW-1b>+WLxlq_vXURYM-@ZL&c~3?ZX?IB_<8K)liug%l zUTmpYdVL)}IP0L63kp{zrui@1gH{Zby(B3wbiu1dRi-F%1ZK zByExHt#gV!I&+Frs?Ip|;m7cX`o1v@t$G0cL)XZ}+Id`1VYcV*4p_UzF5lu07P-KN zH(7<>u>do1m#kY`w}$C(1}~`Y;^>bbD2F9a!)LXWR~9Q|uWbL(tV+$CUEOD6_f2m= z@iz>}{rK_cd*yYJbIWbs=*byJo08ng#15xhd-v|AlmrPI1AKJHlM8olARw&H?LGu3 z0l0>m2Ph~Zj|O^~br2nHZ0xB90+(yAA>p+FPvX74^m^})Uw*t_B7z>>lIr&n7RYEK zpitRS{PIScLb6SmYC?0m9zhbyMzBKnaW+z%_}X z9z?IqK*Y`Y2af#ID7yH6&k$U@)YRT>+qPA?v#%1PqMr5T9^j}mM*<#zC@HawRuFFock6#h=o6p?F&Fy=2_{(iY>Wl3iH>yjXV$y*X>8HA=vv1$@rC%4Z{{14M z`~Rv5&J9VI@6=nvui1eG6y(Q1(Ac?q)`1IxigIx2>Gp>Q_Mf$|z>>sPgF35HYedhS z@$7dpGd7OpaR^>+s%9|KKCTz*ZN)&BK!#e#LWm>UntHadb80lJsTE0(iOvS`B6Bbq zx@r@Vs5O+VU{K#10Kgxj-NN~jI*kN^+9%*D!3xvV@@>1G= zSwBv~YZ`wrLi%ZFOQ&Qd{ng^ZwN>7`dMF@&;@bK%vOYeSTIUX&p9fAS4@l>$#Gt&S zkla0WCkFqmyhEChGXB#|a?pc)7eU&Q?m^Y-z1IE^b1_q*ln3wxQ6dbZO@S{_9K=B+ z>%U{DQh45T2`&&sdSKBqWAa->pX1wdNgSiZ#Gb{Q&bU5ZQg}+RIL955vRjVtIvgYm zEHoDdVA2zIp|^J`8_&%x*a%C5ah zOMh=?!otJWnx6{yIE~A=@nGvhZ;fNB8$ogG!vi;alW1|v>dA4kgCdq+q;I){ zm0k#NLkz{MS0)CsclJZ&*oM5r-VaiReO{9=7D!vQ0%7=hY#=-uKwGP3RATmieW(!P zITBxJG)7|yBTzd(CY7SNu}QOQ=(rAK!7DR>x$_A$=oA`BjYI6-ZA%$bV0#PcpB1HeXHovqk1vSqyp~_C9Ru!_9frHdqGL{8bLEY&dJM;J31YXR_22HC$N8&t)4#^@L>c*$*P6J2_NK?HvzEyY7 za_dxG7^K;(DzLb?+=5Uts)@33c?M0+pgMv8E(D6-Y>!BptAi&0g#rlkuJv}Dm6OvC zu*As!K&G_fo;>*zMx~Uzc1hUa=9y~u)6&Zj|CPtTK1SkaG2Rh*Q#QEk&gn1j@bLdN zHoxW)9fJ2<6u7tmQ0Qy$=D=yuqTG|YdY!aTHlq*j$JREr@hs6(UUFKC|Ck#PKV5dl zD4=ZL7Rt*fLy4AGuDr@STpIuO?OQiQ_ZNGM@(YH>#>UHItaKV%U`$14U_IdQV~$Xc z{Z5W1epbGw?#rkG80ftF&T?ojB7og?y*54o~Rh= z4o6z&NL5yO4~9xf@7Ju05U?fYDNK#qz|jHQ<0c5?@gXTbcjd*`A7!V0(^LLs!-nqP zzn|X%y-bO^wGp|r#ASgC$#!VB&H&Lkolfk0-m`G+6d6!?b%@Oz1XQOd1~}jMq2^b@ zJ&=`skR|*>OWhB@H7NKOv(Y-1c~ z+&I&9bihjE-7hN-D*QVn+-a-MwJ$V3RlK;LQUMybqy@lQZl~W`Uc2_B)>qffL}ozc z%*SU>pZW&6fBZN?T?-*hwJCs%Q~Ti{)0gxMfb{y-^oZJV%FnDo$`ptN@4Q>!7xtm)M_Ut9LR%9ZnM{&^kr=~&M z^sh#ae#f}sJ8^BuomxAD2K3jY2`8kbYzP+LO&OHddM>CqWZ!P9hQxKII1)i!bGxxtA{Pigzg{mv&TtpHa2SsHfyh; z?Z0^dH*~#+j@0UEXf$Dh`_byI zj(@H7z9&8`*o5u8tcRB6lTDTOc)m6}caz%!MN(YUkXQ33PSdJ8Pb^H3bc3cE!tdW7 zCaz9vR&?;MwPWCr+ejQbqU~&KY|VpwQqMBO1lOm6ftZ^Yu7TMtF>WAs4`R$+a^%jt zfzz|D;~mr6AN^?m1{&ADJ0A#b(Y`{4v5{5LqwqL9D#B$MbhPV(LNLNce0mE5c0Cf5 z!Q&rCNYMJ_oL8s^gQCUhI_Q$a;6}RA*z@!mg=G)N$;t`|Z{2v;rWQBHr)#2 zP^)08qAiRW>U_=`;9?d2)f^6-#LMt8B}F+lXsl`G(WBcubvX&=kleXRcahy2H8v46oLr#HOcywxYXo^!oI+_o?(TC`KRmBBt;@z)CwPS7YccOQdygK z@aTJ+3}oEf?h<903jlFJK%NDCTq^x!>fq-}mxqrYQIKLCy(H_SCVYXZ@<9!xK&G8I z1Y-sCL|>&7C(I6{BOdQmx>Zj5X%o``iRsTl2Omyb_w4!NGsl&`7Tv_WFoggKI58!y zXXHY*?zjdQdFTR=vM<-vgn`G#)bsZS*&_M|AR3HGkEt_H58)I8FwYuBH3R$f$&)US zs-5FB{#HnR%L3uDA)|~|n|16stal-vnuJJ0uW4T0{9|U&z7Lt}fmDEEC{zbN{-31- zoNU&V$6>Nkmd4+nq-x`u8cSNep$|>$?B7QHky)jqYHJY;OM8TJ;&!-^jmXR{7WI2e^zh2Ihyk&P3X!U@Ey}iBY>C*-PPpRDD5+OfLN~zYEY&9vU zuh)?(u`BOuz(RkCeJB0jBX@t6P9OPAU+A*>Wsd!{;{O#c7zhDupn`5c&7psKeSPcC zT^oxox!y2GzQ{7j@7+*g{YJrFyw$+^a%PKIs^`TPNM|%P!1KSw3PN#LZv+NjjqSa< z{l9719?2NdAkR3=MdhX(C#PuK?Dz{-c%JfVU4Ojx(UIoK2t$$6Z_JIdZwyMSbStW& z4IBIvq+xQ9fHtQ`7e_E9!Mz6JgGOJbFEGaqFh;_v3y;S3z5*pd6gWldvHL03dw1DW zUp_Cp*_0cmHdBhKmR<-)J2d= zSMJ^E*ZJ8t^RnWJ*8p9fS2QI9mhPDQ_wV-=yWS5x#k^r=cBI$7Sm2L-lRHbNYG>MY zm7D;yFhO)7YW_!iUQY`%aO%w%L?Hj&}l zVp%+X`_mmr(Bdw?x-)SN`HG}gUxkunVb6O}LZ5s#9%U*jFSRLsOYmK}n+hLGQ@Q{C z=Us-16w(vjy-!Ys)OVx}G)-1{{F(}XTjoFa+~vPM4N#9>#>F~+ez60-MBA|z+G!84 zjI9d@-(NH2&~{duxfTY1mE=}NrR zO=W7Tz>7kg5EM81{Z7IB7`tZP68cunhbEgyMB=`lNANGTe<>!t3 z`k1;aZg8)vs9vY_ys2}52}ZO9B)$f^)+ z(bR_H!Hb;QmDiWzs6Nt}9o2EKh&;xd#XCC<`V|T-$$K@nDn1Y*#i}auboY6m5*w6o zf+Q`Q36w*C`??&~(sJ6!#{#)$BfFFP*V?z?$X(HGu{KuIKK0`G=4ejV4q{Z_L!4kX zBsln>0RR5%Sq7`hKs?Q*a4j5H?M{1!`lq@zXv${maMN2dZ}3gp@ziiMqQ5+%=qlj& zF>fw%b+>c3w4VO|xO>mArn0te*zTZ%I3hZrfDI845oyvD1(Yr&p@SlX4ho?fKvA$z zl-@yFAR(cHgenL~FChd%?~u?T^uV{6QHQyo`+46V-|_wV_7B2A$j;ttt$nSloacE_ zo*uq%v;Hg}iY{|yTHPQ!_lo2_X1EMST>XLL`}U3X-!eOySTX`s7^Plc& zmrUo=C)569*GQI$(Hgasy}zjoo1n|wQ@&^o19dP<8Kh!6`0^=%khp9aCMN2=w67O0 zvUHVa#wr1x@HvN`7K5IfJ(s?}uizmBaZqBM-pZ*+Xqu?U+CEDizwSWV4q@UhH%7-Q zNOW6kEI2I8MG3&-z}$2D;zG_A5qTEt?cHmpXBuMeCgo^yG`n~_N*9iH9cZrj=m`$x`_5F11=O;6ksOVd1lP5x4*?- zfIObxND;lk$1g42GSb+w5i~<{u61YE$2-~mtY8iXufix)DMoD70Iq+;Fn%Iz!W~gl zc3si6X)C691=i9GTW-Gfb1i{ar>lP#uZp{sCIQ;1z)E*a#Gd68OJW}2swgT$?6btb zSlWe8;S9nkPNp8VXNPeH@u0Ow!>@8l52{z+`9ZFRV{&XEmuc?u#zASWs=UkU@U6o~ zxl9-Ia1)m~J4klGMs=8H@)Q%p1V&^f*S$9v7$k-d%xEme8E#4Ft;ZQpR@C8E<}YGv z!{lnr5`1&{-x-OGBcK{cNmqjY6Q8YeyHNo*>Hn8j*%NgDO_y-Ppwm8IlTlxY0AYxbcmx=j z=}a<0HbCWqews+c>V;#-IP0QP1_z@u6z)LNCuz@Y@e=Z>eraW(8|nFAM^n7;mOy@T zI`mP?x=N-enaPmWz+^d9+d|F`+AnI{h+89_^zzYedkVALN~ zl`&4~XRg;dk>H`0bwN=r)xo|eoP42_bhVYjvMRJ(bIIItSHr;i&Wjg#=ctus=iNW1 zZwhQ6rHn|^E%86XmEAL%qhIlrtp!ELI3@KmL80VTo#XkBO#--iD4vRTm1#7*x}e9h z8vLOj)c3@;K#p1DLwsuLvZil>u}ycF5fH$S4~|AM@eoPqJGD*$w)W8&Es)`6?#?#p zQORRsDpE!N#&A4;so*j+w`@bXVM$s1e$`4`;`Y_=ti1-GqdoAK99*fW7ooKQ?X9+D zeDQ`Ml2FeKN9paDX?pHs$21ndw~0B{myz7nJ*kQh)T}v|mi*OMzj_Ng^*-RRjYB&k z#VknsHQ@CjpQ3JhB-bpzhrXS#eV?;jd!4wVRBR&R&l-G5V?g*;dbu2^57MQN>Eeu& zre#M*d?u3xPIUBRZ9t@>#1$(8AdBkj?Sa(c)o889ol_@MUv9Fe;{&?n-RH_atVG;a zxF?2b+wyx+TynuZces|}5p>R1r$|M*bR&D)-YBA%dNL@#Wx;o{>)=YeVX=SvyrC&6 zqUf$(y#abWQ$tRc!GF#KMJKY9EnK-N3VC8Q!=Ggls@ErM*`~_V3$2Ix`6#iBYF#8) z>C_$JHPTD{9&%A^`t8B|fh$Ch0CIXj5l?6+EdH*=k}lKApUCZJv)HkTiKnAmTc8Kj zN6yVmXzh)t=au{{-35H=KkcCBA9F2kRRmb$11i~Eocis)4Pi@kwxva}@GyGrOWCb> zeWJQBbl?R}AzJxs+lhyy&8#+|_(1SD7IP>b&uutOa(^2jv8cxCR&iw}Us0Os->6~M z2?>qrIcwdzRe4`oX=!`DE5$m!-_yet3}!)Jia$=NXFw$jp{fff&2npkQ*h1*m?Wg!mn zAHvN@2<@<<_F2Z(r$tLbFbqCm67!i$rN^`);VF{Cv@x0^`k9TAsh?A{8!mNL`YxA& z$!XTm;k_aXg4ciDmvpO(aD4fDH)+%Oo_DfxM z?0hDPWaim2z?2u1xY|vv&pGrF^u@oKXEFv5BkmXf_G8pqtrry1f*Gi2%1wViXHpNu zeCh~tCPhM0gE`I$nVM>uP~MW!V6fwS4vU|L)qctu(0o(F<2wC^*k;yK*Bh$3wjMfXt?z9^${Pn@c zyd6QZR6eDMqKxsSxtI6ki@npO-dI$6fUUPy1U7W=1ghvk^7DMbzRjf(B^o~waacz- z*>d3B!&xVTcg2=Luyd~6_21#7A2YQ3l4s&^Frz5CuN5FBe?S>QJ;o;K2io z`WUqBM?x>uz%2gEjrvw77SS6+bZPxvJlC36n;avNc+;OHjGV{HdgO~CERLv+J#*b+ zE92Aa8wN3ub83*ZE&AhBcMPLtiKdxFwIyH*(X*Z&&!ZgEsK@$}=e?T*bu1n=+eb4d z-EUb}f^*bxby{%qsk*A*!xK~3$#o1lvGbP6a%>1Co?}8krnaK_qMI=aCpuG-GL_F0 z4Y|>=<%necg!)9dsL6gQD73T6g2OIGi!*kMI0O!HRC zxHB$6Z(}zsyaE~3+K;SYvEPe4#$!mFU-B-Ft?TIC964S}tIu@<`dA>!2%HQ!sy{P< zv`Q^M8d|7Bn5g?!%a#5W*EkbH$v!Hs92(kShnOgFb)$M;AA{nGFQ$*=*%=vy+Wp)Q zdAZ%PGMBPkUraCr6S$ ziT5`;LfZw&af9t=G_m+bk+^orKt$TAr#6ZMeLU1iZT7k&-8)U0^MtzxQ`NbhRorgX zha-^TFc*Vof3a%8xMq2OGyi6<3h$8NZAhc@0ZU;fuTs!b8--s_yzk9()ju#GQUhJ=P%JluGWkV5#h3*>4(8e$4Melyp`fqlHJ z5fK(nDCf%!G?6>;%u9t@p&Ix~?+^{0Z~@Gu*T+65e~rfW*t6!!m*78j?kvCYK;1C?IZ$1XWR9djpwK3r zFW(LR$bbHM9NBY`t03NI#h$e70#&DSI9oL>cBz!1^H-u1J~YRZlBe>X8N{6XIdR~Q zT0Pe3vubMLogVHpsEgk1FOKLaM>sA7DV@7vfU}mpZS7G;E>VvaN{L8({NFnHKK)=ikPb^eHZmNR)N;_)$Hf!GQ^A|?^w>} zkL90b@+P1&ZCgcLL{ag%!IJ5euKE<4!k@xQeZ9&%i^4p$Is@S`{?V~vr~A`$Wnv0W zjf4yeYH41St-gk%(@2W%+iPx5tkGw&eEs@Wfzs3CbN?uVl9stP%?_{pr9#m0nwfLeZij_f0a zhNOMBKn)lx&%1UzJ3McKAhn?EDa+5Ibdl2IQ3CES>IjX6aqag4qo;VAdWV0X^OLD! zve}t>*Wq=Kp&h`XxS32TRjLzO<>NnYd7pTV*HC)1EO#MLM2FXZ*N3^Qm&l#4lgY=| zTQ?a_>tD}_vu=tsT4Hv8z6y|)r{Xh4e?yjvDKgW)xT7Cb{%D=!W$}gUKhFkUF$UiI zAqee z*o2^r{c)C2x0rmw#bzqL_l)!X$#N$e47x>U&XhP!ji%qhl=`_U7>#bh?u;wahA+qH z<}AA-f^|?^HrR&?WHRS9tLcxmBwfb`ol^4jP>~5Ed{D~3)EILdW75wH6u++!bwu=T zd(67gWRK%Saq4V33(JhH@YNBDYF>x@J|S3*BQ0pcQS6GvV7t7hI-teN9Z3`|ZcCXZHMltEXw>-SmchvlT3EuY3VuihpENx7>NJ#kqZ_skK@ED&cV%Yo#({^RZ4!Dy&W6fNjkeyK zA~T0V*=Rx?j7KnyozvB`7bfGGB&{=i#5gf&IchrP+t^j<9fR_xgqZ0ZT9A-MX4Em1 z>v4~^52{irfOvd=RbmYXLVrb3h4$C{{LL(7->e$>eJy1~ka}fWiXIVI3!oz68@Hi0 zw}Z>xc)!qgkCU?2Ms3NUTQh0uNjrQzhb1n|7IlKKO{fI9YZDaD+8J_q;lPq>ipP&T zywmW2S?Eq&;2Oq_pnmS8sG9sVBOlYK zN0hhfpUBe_0*i~i*AcW0J-6>KYPKgSZVTRT>bdRtH1tsc(vFT)*v6hw%!7GySCEJ3 za%Sh~B7F{tD_VA4pyWio&k*j|2;CV(b<0tOHyQP-<3q|HiI^J4Fz&j%gXrjA-5~vcL*e}C8Hak!*gW^3L&cs3NbJ=r^GjI$7TlxwtT;LDYRhoGj7mcIzI5+J4VNL z*ILT_5dX0S>P&QB&0XB2pLd9y+n%awR`72Ckd^kFl%Jtfc-LWqPs_z6!fjPSJ>F1~ z>Ab#l0vQ96mCTXokjPNX`^96hJPRdzAt4SOi}cddEba5%hk%v^(0a~?V0Dr0?drS4 zhlhQqVpA|09%Y-y`kpP&Ykjq*JqMn@pt!6^n9qGlrZ@F`!q2)+%HAiOa6O{#+9rq5 zD^<}uofIco%u`^(n0doUu}IzL=Tmgxa5V<~#oCO|BF!M9kDI zJxD^aN>=o(aQ#QJSmEYOy?W?rCUj%oPRB&=Y)jXYuql_cVETG|Ht~_x*b=(L@_!%z zRUf2jRTVVV)z#%L%|66zy5IX}m6!+atwn4>j15Yz+yk`?PzGqNlx5yn?1>M}ev(2T zxMA`N33TL04W~}u{^i0 zpMdW4GiBa$lfO@O$=1<)tjxE|_Fi{JG7X`8@3csW(tdF5v$wp$d1hJ}z?CnxZp z?KzDZa^4xdQA~JW}VEvuLn^@fKGq>EUXK$0GZO~VEHu=;-Bj= zy7N?hj599#vJX$wT%qx=_jXCG^P2>kZLy!aiwliMCOkaUstvd@SA_^_=Z@w0yz#M| zzvKK-DBq3`PClIy5iuDxh_Z^*sbyEK)^ac!2MBPY>B_UpuA!f>CU9=?4;d}-z`>MC z+1%bt>^BfkGn{Jbp3 z4Zi!0bx4A3fGA<8Lx6w&9SGjTV$B6^Rho{22r9^NLk^b2>UKV|48%$FfpqL?0(*`hzO* zE8=o26HD7g{kGW3UJa!$Yc+e&t zblFjNECDoEKsTE6yQLsF&j~uG1DU1PZ}az-yS>I2Un|oV093Az^ipdtOu?(d3gQKC z!qG>Gd!|=bRdp0YgEp4Q>41L?OSdx}GX)-FN@Ip~`CW+T9&>q$?6(1V^yo7a8Ulz* zaDbi0-!SpvxlsT=dXFyaSBc~QGzL*j#F|mPC#x>X!a#NfHP`N3;B~B`HoRew6ycxo}rCuU=*g-?xJk1 zjzaca2SBg4{DnIG|kZNHoi$X^a%Lxc#mLCZj7B>{7a|+ zP&??snsnM+E3uqy=tUOIfy9Z`8>oNfa8$w%h~>|R>&NT1t_M$+Z3ADcpAih5tfJj< z`HJBEgYD`aNaqnI9YuiIjf+eHQaVhhPbXvFEeLn9oauC_CNS|ptt{li>Kp1~+elyn z1U;thtKqhNp~~t1z@EVTX)6A>F{pmZfq$OteHZ3mXc<$_84F452e>&X0qq97sI+v1 zJC_hgQQHM8jmXWW#(GF<(LnnxSYE;IKs)r=X&lJI?B7$v7YzSF1EqAH$T+o^Epf;& z7j*Kys)m!`={ceU{4j-kRWhNSNI<#VTEBp%$6~cp{Fu5u=4ua_DN{SkxNI(eA>Z8t z>T4RKi{2P1?H$17A4Kn2-9RyP6$wtw#57i~{|Vza*3Hec#Q2n6h)E~dCL%w5zecVB zqi&P+(_)L%b}M#9@QBFuoY=E=&2Ol7b+7|9`c4e1Hpf4M1(ftkW=>?ebyZ9)T7&sb zSuPpTvdalAkqk!=g%af`sdK)C~9$3i#={Y&B?L|lu^TNFdt#62C zyJMqnFZ8X*z_RBA)@=_?@=^Y;i`j;gQIHkX30LAJ9)U8!3y6}?O9IDK!^|j8iKQ)G z8WY&((+zPywzuT?&!U}HI&jLE`WrnRAz^}#3RVmLq?H+yi;06gG zI{(X&Fmue@i%|7i?I^sk0-9N%p-~L%!Kd_pI(Ps2s5z(Zl?w77XIM}d z590F%3>ia7h2diG_v%VYc^i?td)RLE`oA3sH1oE7XnDXd@;O09mO2l}x+}9}e!cpI z%(5pO|L2o;HgoUoStkFy0Wce`d!}md8+Y#fuavd_-@kD<1qss>waH8P$q`&C;1+R4 z<9}K4JBsMP2w0vCrL~ea0?vh!i1eHsb;RaM{=X<#>WO=q691xL{R@t~XW%a+q*dU& z^9qk;0HuLFqz&DG@?&VWGHwh@nJuhFA{c4Moh2t*oav!>xU(}oBSY!U8`%QZj?dnp zBLd;85WwjHntM3Ze4*VmN)q<+`SYdI=X>vZA6db_eeB)A!G9MV%~8rG1%;QaLd{wX z(m>yk?re{AE*8-zZ{3z3sQa4P{&0rOj{}3s0j_G#Qn}->ek{>#>6gBNs#iW$;Il74 zPTTf8dlm~{mxZAmCJJb=m%)WtJpvvRgVc5#BRJEX98 z!E4rY(xMyywKYv8DO>1eATo0Ma#`feu1-5{Njh)?a8Lor9bl#g(qVC)O-Bs>_J_Py z{PygZyXQ7WJ^~v#EZ);#;DtyP^QZQW)JdQ=DAaO0dTuhf1u1@cRsn71j*t5S4U}{#z9F$X_dd`W8kd%l(Q%xwJf)?4 zqjR@;4LH13{*zZ{jQmt){bpDA9m%=N7H}iC6~lqJmK6}k-G$BdIgNz64aP->Mx3-G zb^`{!NdLxnA0x^xmq2PW5dhr^7Dg{SchAsI5}^Qu-cDD`ibb-Q%F_%GKw5X;#e~V& zm`y(7udm;iAo(vWG5BMb#nxhv5`cK!hfGL-aZ5$JkF<| z$O}Nzr7Qq`p7(gwXrP-|;HJh}y>32Pm5W&m<1q*%12pwxyGLdi>h zy`~MHi5grcD^A5`0GQohGN3(+eYNU;-OIi^?x+7|t+u^djAdXM8K!x5b)Oj>x6NO& zH5l2IME!B_*2d@$?Clcs`=3m#R)Fd>3!qBDBPUKd0w15dj)_0I(U(rnVa1nQ}JnGf*>_npu_7vapC`T{SC!1DzMNUHo6@ zLdS&~J$9?1VaNDPrlik^TX);#<6Y{c3IhK4Lu@BTL(|ak@v1|#MqQ)c)2H&R4x=x3 zTj>Af$p2WeDpJC!PBb|aoi(fBmtw>7pke8AP5vVdR9yU9^c?c z^A|DafHu#$qK80=^tNK3)cOnD_8ivNT0F&BRnl<)^FDA1@xlg$HGEO+U+@H-{>^R2 zK*T(Qa{EWHV@~PBIvCw<{+mF4@)wK=j9tQEph`!ngBcQ3rFYtl$68}zn%rhnMDkx$ zbHlz#GnyloVpU&&h99{YPGl)66b%u-oR0xqj#35*Q*{2ualkqkSCv?LUs_&c-5Y`i z7*--+Ro#57nY#trwJf>EUw!a|8ykhfY*(UvVC5b$3+~>V!0HXEf~e1jfi?LdV{K3R z=Xq4NB~=%wZ2+1e@aS`G+$quRdVqFbPzvZ!?u}!rfLuii8Nqgua^-`9g5A4>|DO3) zw!=m*7C1z}UUH%3>~~gipB`5|pz88uqU{muo&{nPPPfnJjck|G(`5I4NMu%88<$vn zv!1uA)Q+5I<1P{#*9m&$IM!IyQYJ5-=m?>$9N^?88&5A^IcKYzZs zB3y%`o)fZaKF}kqr4r63a*@bQERdt@l0M4Z=Tg6Ya{*B8I@{WtJpiiN4zy%uXl_6k zfxI5xpZ8MZ@~)iJc1Lhv=O;PL{j0vzT$ZzQSEk=OOq2eS zoXV|b!JGuKnp;my#Cz&dQ_KxB*)2JZK&TWG%xFp76@GW0^(?_{PWSMR!+lYzv%hBkL{`*bDqT>Vb0-(cq}@f2)}XmTj&4^R zkz*jXFOLycp_=-MpQ?^_Z!T#Aewp;vC|2LH5)BOL>y>_oL@_77tj*IPpa=Tt)3j*B zElQ-C^^OMuY|vl36=?fF*|FT2SwtNc|12>Gbie>Ckta_Qcjad|IGu@!9Ly^Vk=$rk zS3M!iQ8m5wMw2QZWw();z?l&di5_y$pLT_&E19sCEB@>Pl@NiR64wuq1cL88n}4b{fwp54CL_^b=GBN-KA%Pdm+k??2@1N(Gm+39}_;6CHxZtk=-Oy5? zGfLa)v9@`J`Y4o#0b=j0Zmm*;i-Doo8SCB%lOAyYFNH_KrI*(<_(&h#{^`s1CG!Zq zQm&0rWA#I}FB4Y{+=ir2v$LbOUdf#EDBV?vnTwul155}TzOGO0#Yo%jRVLgJNzux{ z`X|;pa8J5p-yN?=%hdjtuQ{e7xv!tx|`3scijlzy>KgCp%&0W%lb>l*`+llSuKt1#%sL1S_RMx zotiF9`ep4?4*}h1wU{?aKG2ptd+sS7g#DftYVQTW|m^4H$T2PrH�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 z zdOBaL-?=tmsN|r1SU*(`tKz6_evj39;8F;v{pRCiv$aPw7z4$KAbN+tlE$q%SFeW6 z8v}+#l{+Spqm<(!{AA6J^aG27%LxhGLZysYjGJAljjFI9o2}Oo*;WXXGCaxMPBt#D zW%U=e$NLrxEH~i9&n@^%jWMDAJ+BDoP*p}PI@l*c!~yfbWrta#?qCH-$X8lAm#cm6 zy7#x)ekD`VX*B24_>v{7@q?I(^cDw!F;as%T#mM^Qc4@nWy1r5VoCq z2veYuY!Iey!@J8u-6E++JZ^M{Ah-BgTA`(W;mdkt;arINQWSHsgrDqOObC62N|QM) zSkFc-Vv_AoAQWluj`y+N9asGnz1GsI(CSbxCu>QZy)c?8>zBYiW1js9Ua|xpJKbOJ zVh4N6)1Pg#`%zO+dAz3ga`9+v;Y4x=S53UQJI`hfM2McWE;`!9|49_C`*vX)ES z!Uxm4YX_2B;57z1nS;mWdRoguM?v83qNBIM+>tpMnTH)Vy2nd`knM6?6<1{L?4 zxDbB=c<7{GFx35(1bQd#ufSFD$kQU#&xqTkQ8ixTF2-i);eom!Dabi(&ZJt}rjTYf^m_gVVf#-O>gK*o378n&2?gw6{Ke0@Q zprRBq!%h)(>0YE~ig)W@OwYa!Wic<&o*kN622CC#;KQypT$Um9s%R}VV$CMTAM&1%NI)<-U~~X=!KjQsU}#o`x)=FWaulHF0ZSNesVUu45~^oVF!b9@<>+ zzGgSb?6~KTPF^2CGrB;kK^tg-TH%9o+Rt18}L3j zSHiiW`WzV#W(#T926#tʳ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