From d59228340e3d29dbb450af0af4787ec99feeb46b Mon Sep 17 00:00:00 2001 From: sd29206 Date: Wed, 9 Oct 2024 15:04:03 +0200 Subject: [PATCH 01/24] v1 branch - initial commit (made of a bunch of wip commits squashed together) --- .gitignore | 3 +- Makefile | 6 + mapie/estimator/regressor.py | 2 + mapie/utils.py | 2 + mapie_v1/classification.py | 128 +++ mapie_v1/conformity_scores/__init__.py | 11 + mapie_v1/conformity_scores/utils.py | 14 + .../tests/test_regression.py | 168 ++++ mapie_v1/integration_tests/utils.py | 40 + mapie_v1/migration_guide.md | 194 ++++ mapie_v1/regression.py | 883 ++++++++++++++++++ 11 files changed, 1450 insertions(+), 1 deletion(-) create mode 100644 mapie_v1/classification.py create mode 100644 mapie_v1/conformity_scores/__init__.py create mode 100644 mapie_v1/conformity_scores/utils.py create mode 100644 mapie_v1/integration_tests/tests/test_regression.py create mode 100644 mapie_v1/integration_tests/utils.py create mode 100644 mapie_v1/migration_guide.md create mode 100644 mapie_v1/regression.py diff --git a/.gitignore b/.gitignore index 7c5f1ddae..57070a8cf 100644 --- a/.gitignore +++ b/.gitignore @@ -49,7 +49,7 @@ var/ pip-log.txt pip-delete-this-directory.txt -# Unit test / coverage reports +# Tests / coverage reports htmlcov/ .tox/ .coverage @@ -59,6 +59,7 @@ nosetests.xml coverage.xml *,cover .hypothesis/ +mapie_v1/integration_tests/mapie_v0_package # Translations *.mo diff --git a/Makefile b/Makefile index 2f761ce38..3bfc5e376 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,12 @@ type-check: tests: pytest -vs --doctest-modules mapie +integration-tests-v1: + @pip install mapie --no-dependencies --target=./mapie_v1/integration_tests/mapie_v0_package >/dev/null 2>&1 + @mv ./mapie_v1/integration_tests/mapie_v0_package/mapie ./mapie_v1/integration_tests/mapie_v0_package/mapiev0 + @- export PYTHONPATH="${PYTHONPATH}:./mapie_v1/integration_tests/mapie_v0_package"; pytest -vs mapie_v1/integration_tests/tests + @mv ./mapie_v1/integration_tests/mapie_v0_package/mapiev0 ./mapie_v1/integration_tests/mapie_v0_package/mapie + coverage: pytest -vs \ --doctest-modules \ diff --git a/mapie/estimator/regressor.py b/mapie/estimator/regressor.py index d300863a9..27c1347ec 100644 --- a/mapie/estimator/regressor.py +++ b/mapie/estimator/regressor.py @@ -213,6 +213,8 @@ def _fit_oof_estimator( RegressorMixin Fitted estimator. """ + # TODO back-end: avoid using private utilities from sklearn like + # _safe_indexing (may break anytime without notice) X_train = _safe_indexing(X, train_index) y_train = _safe_indexing(y, train_index) if not (sample_weight is None): diff --git a/mapie/utils.py b/mapie/utils.py index 23d69c438..543407e00 100644 --- a/mapie/utils.py +++ b/mapie/utils.py @@ -75,6 +75,8 @@ def check_null_weight( return sample_weight, X, y +# TODO back-end: this will be useless in v1 because we'll not distinguish +# sample_weight from other fit_params def fit_estimator( estimator: Union[RegressorMixin, ClassifierMixin], X: ArrayLike, diff --git a/mapie_v1/classification.py b/mapie_v1/classification.py new file mode 100644 index 000000000..950d0530d --- /dev/null +++ b/mapie_v1/classification.py @@ -0,0 +1,128 @@ +from __future__ import annotations + +from typing import Optional, Union, List +from typing_extensions import Self + +import numpy as np +from sklearn.base import ClassifierMixin +from sklearn.model_selection import BaseCrossValidator +from sklearn.linear_model import LogisticRegression + +from mapie._typing import ArrayLike, NDArray +from mapie.conformity_scores import BaseClassificationScore + + +class SplitConformalClassifier: + def __init__( + self, + estimator: ClassifierMixin = LogisticRegression(), + confidence_level: Union[float, List[float]] = 0.9, + conformity_score: Union[str, BaseClassificationScore] = "lac", + prefit: bool = False, + n_jobs: Optional[int] = None, + verbose: int = 0, + random_state: Optional[Union[int, np.random.RandomState]] = None, + ) -> None: + pass + + def fit( + self, + X_train: ArrayLike, + y_train: ArrayLike, + fit_params: Optional[dict] = None, + ) -> Self: + pass + + def conformalize( + self, + X_conf: ArrayLike, + y_conf: ArrayLike, + predict_params: Optional[dict] = None, + ) -> Self: + pass + + def predict(self, X: ArrayLike) -> NDArray: + """ + Return + ----- + Return ponctual prediction similar to predict method of + scikit-learn classifiers + Shape (n_samples,) + """ + pass + + def predict_sets( + self, + X: ArrayLike, + conformity_score_params: Optional[dict] = None, + # Parameters specific to conformal method, + # For example: include_last_label + ) -> NDArray: + """ + Return + ----- + An array containing the prediction sets + Shape (n_samples, n_classes) if confidence_level is float, + Shape (n_samples, n_classes, confidence_level) if confidence_level + is a list of floats + """ + pass + + +class CrossConformalClassifier: + def __init__( + self, + estimator: ClassifierMixin = LogisticRegression(), + confidence_level: Union[float, List[float]] = 0.9, + conformity_score: Union[str, BaseClassificationScore] = "lac", + cross_val: Union[BaseCrossValidator, str] = 5, + n_jobs: Optional[int] = None, + verbose: int = 0, + random_state: Optional[Union[int, np.random.RandomState]] = None, + + ) -> None: + pass + + def fit( + self, + X_train: ArrayLike, + y_train: ArrayLike, + fit_params: Optional[dict] = None, + ) -> Self: + pass + + def conformalize( + self, + X_conf: ArrayLike, + y_conf: ArrayLike, + predict_params: Optional[dict] = None + ) -> Self: + pass + + def predict(self, + X: ArrayLike): + """ + Return + ----- + Return ponctual prediction similar to predict method of + scikit-learn classifiers + Shape (n_samples,) + """ + pass + + def predict_sets( + self, + X: ArrayLike, + aggregation_method: Optional[str] = "mean", + # How to aggregate the scores by the estimators on test data + conformity_score_params: Optional[dict] = None + ) -> NDArray: + """ + Return + ----- + An array containing the prediction sets + Shape (n_samples, n_classes) if confidence_level is float, + Shape (n_samples, n_classes, confidence_level) if confidence_level + is a list of floats + """ + pass diff --git a/mapie_v1/conformity_scores/__init__.py b/mapie_v1/conformity_scores/__init__.py new file mode 100644 index 000000000..3c1cd4a62 --- /dev/null +++ b/mapie_v1/conformity_scores/__init__.py @@ -0,0 +1,11 @@ +from mapie.conformity_scores import ( + AbsoluteConformityScore, + GammaConformityScore, + ResidualNormalisedScore, +) + +REGRESSION_CONFORMITY_SCORES_STRING_MAP = { + "absolute": AbsoluteConformityScore, + "gamma": GammaConformityScore, + "residual_normalized": ResidualNormalisedScore, +} diff --git a/mapie_v1/conformity_scores/utils.py b/mapie_v1/conformity_scores/utils.py new file mode 100644 index 000000000..20e12719c --- /dev/null +++ b/mapie_v1/conformity_scores/utils.py @@ -0,0 +1,14 @@ +from typing import Union +from mapie.conformity_scores import BaseRegressionScore +from . import REGRESSION_CONFORMITY_SCORES_STRING_MAP + + +def check_and_select_split_conformity_score( + conformity_score: Union[str, BaseRegressionScore] +) -> BaseRegressionScore: + if isinstance(conformity_score, BaseRegressionScore): + return conformity_score + elif conformity_score in REGRESSION_CONFORMITY_SCORES_STRING_MAP: + return REGRESSION_CONFORMITY_SCORES_STRING_MAP[conformity_score]() + else: + raise ValueError("Invalid conformity_score type") diff --git a/mapie_v1/integration_tests/tests/test_regression.py b/mapie_v1/integration_tests/tests/test_regression.py new file mode 100644 index 000000000..008be3ed9 --- /dev/null +++ b/mapie_v1/integration_tests/tests/test_regression.py @@ -0,0 +1,168 @@ +from __future__ import annotations + +import numpy as np +import pytest +from sklearn.datasets import make_regression +from sklearn.linear_model import LinearRegression +from sklearn.ensemble import RandomForestRegressor + +from mapie_v1.regression import ( + SplitConformalRegressor, + CrossConformalRegressor, + JackknifeAfterBootstrapRegressor, + ConformalizedQuantileRegressor +) +from mapiev0.regression import MapieRegressor as MapieRegressorV0 # noqa +from mapiev0.regression import MapieQuantileRegressor as MapieQuantileRegressorV0 # noqa +from mapie_v1.conformity_scores.utils import \ + check_and_select_split_conformity_score +from mapie_v1.integration_tests.utils import (filter_params, + train_test_split_shuffle) +from sklearn.model_selection import KFold + +RANDOM_STATE = 1 +K_FOLDS = 3 +N_BOOTSTRAPS = 30 + +X_toy = np.array([0, 1, 2, 3, 4, 5]).reshape(-1, 1) +y_toy = np.array([5, 7, 9, 11, 13, 15]) +X, y = make_regression(n_samples=500, + n_features=10, + noise=1.0, + random_state=RANDOM_STATE) + + +@pytest.mark.parametrize("strategy_key", ["split", "prefit"]) +@pytest.mark.parametrize("method", ["base", "plus", "minmax"]) +@pytest.mark.parametrize("conformity_score", ["absolute"]) +@pytest.mark.parametrize("confidence_level", [0.9, 0.95, 0.99]) +@pytest.mark.parametrize("agg_function", ["mean", "median"]) +@pytest.mark.parametrize("allow_infinite_bounds", [True, False]) +@pytest.mark.parametrize( + "estimator", [ + LinearRegression(), + RandomForestRegressor(random_state=RANDOM_STATE, max_depth=2)]) +@pytest.mark.parametrize("test_size", [0.2, 0.5]) +def test_exact_interval_equality_split( + strategy_key, + method, + conformity_score, + confidence_level, + agg_function, + allow_infinite_bounds, + estimator, + test_size +): + """ + Test that the prediction intervals are exactly the same + between v0 and v1 models when using the same settings. + """ + + X_train, X_conf, y_train, y_conf = train_test_split_shuffle( + X, y, test_size=test_size, random_state=RANDOM_STATE + ) + + if strategy_key == "prefit": + estimator.fit(X_train, y_train) + + v0_params = { + "estimator": estimator, + "method": method, + "conformity_score": check_and_select_split_conformity_score( + conformity_score + ), + "alpha": 1 - confidence_level, + "agg_function": agg_function, + "random_state": RANDOM_STATE, + "test_size": test_size, + "allow_infinite_bounds": allow_infinite_bounds + } + v1_params = { + "estimator": estimator, + "method": method, + "conformity_score": conformity_score, + "confidence_level": confidence_level, + "aggregate_function": agg_function, + "random_state": RANDOM_STATE, + "n_bootstraps": N_BOOTSTRAPS, + "allow_infinite_bounds": allow_infinite_bounds + } + + v0, v1 = initialize_models( + strategy_key=strategy_key, + v0_params=v0_params, + v1_params=v1_params, + k_folds=K_FOLDS, + random_state=RANDOM_STATE + ) + + if strategy_key == 'prefit': + v0.fit(X_conf, y_conf) + else: + v0.fit(X, y) + v1.fit(X_train, y_train) + + v1.conformalize(X_conf, y_conf) + + v0_predict_params = filter_params(v0.predict, v0_params) + v1_predict_params = filter_params(v1.predict, v1_params) + _, v0_pred_intervals = v0.predict(X_conf, **v0_predict_params) + v1_pred_intervals = v1.predict_set(X_conf, **v1_predict_params) + v0_pred_intervals = v0_pred_intervals[:, :, 0] + + np.testing.assert_array_equal( + v1_pred_intervals, + v0_pred_intervals, + err_msg="Prediction intervals differ between v0 and v1 models" + ) + + +def initialize_models( + strategy_key, + v0_params: dict, + v1_params: dict, + k_folds=5, + random_state=42 +): + + if strategy_key == "prefit": + v0_params.update({"cv": "prefit"}) + v0_params = filter_params(MapieRegressorV0.__init__, v0_params) + v1_params = filter_params(SplitConformalRegressor.__init__, v1_params) + v0 = MapieRegressorV0(**v0_params) + v1 = SplitConformalRegressor(prefit=True, **v1_params) + + elif strategy_key == "split": + v0_params.update({"cv": "split"}) + v0_params = filter_params(MapieRegressorV0.__init__, v0_params) + v1_params = filter_params(SplitConformalRegressor.__init__, v1_params) + v0 = MapieRegressorV0(**v0_params) + v1 = SplitConformalRegressor(**v1_params) + + elif strategy_key == "cv": + v0_params.update({"cv": KFold(n_splits=k_folds, + shuffle=True, + random_state=random_state)}) + v0_params = filter_params(MapieRegressorV0.__init__, v0_params) + v1_params = filter_params(CrossConformalRegressor.__init__, v1_params) + v0 = MapieRegressorV0(**v0_params) + v1 = CrossConformalRegressor(cv=k_folds, **v1_params) + + elif strategy_key == "jackknife": + v0_params.update({"cv": -1}) + v0_params = filter_params(MapieRegressorV0.__init__, v0_params) + v1_params = filter_params(JackknifeAfterBootstrapRegressor.__init__, + v1_params) + v0 = MapieRegressorV0(**v0_params) + v1 = JackknifeAfterBootstrapRegressor(**v1_params) + + elif strategy_key == "CQR": + v0_params = filter_params(MapieQuantileRegressorV0.__init__, v0_params) + v1_params = filter_params(SplitConformalRegressor.__init__, v1_params) + v0 = MapieQuantileRegressorV0(**v0_params) + v1 = ConformalizedQuantileRegressor(**v1_params) + + else: + raise ValueError(f"Unknown strategy key: {strategy_key}") + + return v0, v1 diff --git a/mapie_v1/integration_tests/utils.py b/mapie_v1/integration_tests/utils.py new file mode 100644 index 000000000..bbd177fb0 --- /dev/null +++ b/mapie_v1/integration_tests/utils.py @@ -0,0 +1,40 @@ +from typing import Callable, Dict, Any, Optional +import inspect +import numpy as np + +from sklearn.model_selection import ShuffleSplit +from typing import Tuple + + +def train_test_split_shuffle( + X: np.ndarray, + y: np.ndarray, + test_size: float = 0.2, + random_state: int = 42 +) -> Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]: + + splitter = ShuffleSplit(n_splits=1, + test_size=test_size, + random_state=random_state) + train_idx, test_idx = next(splitter.split(X)) + + X_train, X_test = X[train_idx], X[test_idx] + y_train, y_test = y[train_idx], y[test_idx] + + return X_train, X_test, y_train, y_test + + +def filter_params( + function: Callable, + params: Optional[Dict[str, Any]] = None +) -> Dict[str, Any]: + if params is None: + return {} + + model_params = inspect.signature(function).parameters + return {k: v for k, v in params.items() if k in model_params} + + +def calculate_coverage(y_true, pred_intervals): + return np.mean((y_true >= pred_intervals[:, 0]) & + (y_true <= pred_intervals[:, 1])) diff --git a/mapie_v1/migration_guide.md b/mapie_v1/migration_guide.md new file mode 100644 index 000000000..5cc6b9e02 --- /dev/null +++ b/mapie_v1/migration_guide.md @@ -0,0 +1,194 @@ +# Migration guide from MAPIE v0.9 to MAPIE v1 + +MAPIE v1 introduces several updates, enhancements, and structural changes that simplify the API by breaking down `MapieRegressor` functionality into dedicated classes for different conformal prediction methods. This guide outlines the key differences between MAPIE v0.9 and MAPIE v1 and provides instructions for adapting your code to the new structure. + +--- + +## 1. Overview of class restructuring + +MAPIE v1 organizes the `MapieRegressor` functionality into specific regressor classes, each optimized for a particular type of conformal prediction: + +- **`SplitConformalRegressor`**: Handles split conformal prediction. +- **`CrossConformalRegressor`**: Implements cross-validation-based conformal prediction. +- **`JackknifeAfterBootstrapRegressor`**: Supports jackknife-after-bootstrap conformal prediction. +- **`ConformalizedQuantileRegressor`**: For quantile-based conformal prediction. + +This modular approach makes it easier to select and configure a specific conformal regression method. Each class includes parameters relevant to its own methodology, reducing redundancy and improving readability. + +### Migration summary of `MapieRegressor` to new classes + +In MAPIE v0.9, `MapieRegressor` managed all conformal regression methods under a single interface, which sometimes led to parameter redundancy and ambiguity. In MAPIE v1, each method-specific class includes only the parameters and methods relevant to its method. + +| MAPIE v0.9 Class | MAPIE v1 Classes | +|------------------|-------------------------------------------------------| +| `MapieRegressor` | `SplitConformalRegressor`, `CrossConformalRegressor`, `JackknifeAfterBootstrapRegressor`, `ConformalizedQuantileRegressor` | + +--- + +## 2. Key parameter changes + +### `conformity_score` +A parameter used to specify the scoring approach for evaluating model predictions. +- **v0.9**: Only allowed custom objects derived from `BaseRegressionScore`. +- **v1**: Now accepts both strings (like `"absolute"`) for predefined methods and custom `BaseRegressionScore` instances, simplifying usage. + +### `confidence_level` +Indicates the desired coverage probability of the prediction intervals. +- **v0.9**: Specified as `alpha` during prediction, representing error rate. +- **v1**: Replaced with `confidence_level` to denote the coverage rate directly. Set at model initialization, improving consistency and clarity +`confidence_level` is equivalent to `1 - alpha`. + +### `method` +Specifies the approach for calculating prediction intervals, especially in advanced models like Cross Conformal and Jackknife After Bootstrap regressors. +- **v0.9**: Part of `MapieRegressor`. Configured for the main prediction process. +- **v1**: Specific to `CrossConformalRegressor` and `JackknifeAfterBootstrapRegressor`, indicating the interval calculation approach (`"base"`, `"plus"`, or `"minmax"`). + +### `cv` (includes `groups`) +The `cv` parameter manages the cross-validation configuration, accepting either an integer to indicate the number of data splits or a `BaseCrossValidator` object for custom data splitting. + +- **v0.9**: The `cv` parameter was included in `MapieRegressor`, where it handled cross-validation. The option `cv="prefit"` was available for models that were already pre-trained. +- **v1**: The `cv` parameter is now only present in `CrossConformalRegressor`, with the `prefit` option removed. Additionally, the `groups` parameter was removed from the `fit` method, allowing groups to be directly passed to `cv` for processing. + +### `prefit` +Controls whether the model has been pre-fitted before applying conformal prediction. +- **v0.9**: Indicated through `cv="prefit"` in `MapieRegressor`. +- **v1**: `prefit` is now a separate boolean parameter, allowing explicit control over whether the model has been pre-fitted before applying conformal methods. + +### `fit_params` (includes `sample_weight`) +Dictionary of parameters specifically used during training, such as `sample_weight` in scikit-learn. +- **v0.9**: Passed additional parameters in a flexible but less explicit manner. +- **v1**: Now explicitly structured as a dedicated dictionary, `fit_params`, ensuring parameters used during training are clearly defined and separated from other stages. + +### `predict_params` +Defines additional parameters exclusively for prediction. +- **v0.9**: Passed additional parameters in a flexible but less explicit manner, sometimes mixed within training configurations. +- **v1**: Now structured as a dedicated dictionary, `predict_params`, to be used during calibration (`conformalize` method) and prediction stages, ensuring no overlap with training parameters. + +### `aggregation_method` + +The `aggregation_method` parameter defines how predictions from multiple conformal regressors are aggregated when making point predictions. + +- **v0.9**: Previously, the `agg_function` parameter specified the aggregation method, allowing options such as the mean or median of predictions. This was applicable only when using ensemble methods by setting `ensemble=True` in the `predict` method. +- **v1**: The `agg_function` parameter has been renamed to `aggregation_method` for clarity. It now serves the same purpose in selecting an aggregation technique but is specified at prediction time rather than during class initialization. Additionally, the `ensemble` parameter has been removed, as `aggregation_method` is relevant only to the `CrossConformalRegressor` and `JackknifeAfterBootstrapRegressor` classes. + +### `Other parameters` +No more parameters with incorrect `None` defaults. +- **v0.9**: Eg: `estimator` had a `None` default value, even though the actual default value is LinearRegression(). This was the case for other parameters as well. +- **v1**: All parameters now have explicit defaults. + +Some parameters' name have been improved for clarity: +- `optimize_beta` -> `minimize_interval_width` +- `symmetry`-> `symmetric_intervals` + +--- + +## 3. Method changes + +In MAPIE v1, the conformal prediction workflow is more streamlined and modular, with distinct methods for training, calibration, and prediction. The calibration process in v1 consists of four steps. + +### Step 1: Data splitting + +In v0.9, Data splitting is done within two-phase process. First, data `(X, y)` was divided into training `(X_train, y_train)` and test `(X_test, y_test)` sets using `train_test_split` from `sklearn`. In the second phase, the split between training and calibration was either done manually or handled internally by `MapieRegressor`. + +In v1, a `conf_split` function has been introduced to split the data `(X, y)` into training `(X_train, y_train)`, calibration `(X_calib, y_calib)`, and test sets `(X_test, y_test)`. + +This new approach in v1 gives users more control over data splitting, making it easier to manage training, calibration, and testing phases explicitly. The `CrossConformalRegressor` is an exception, where train/calibration splitting happens internally because cross-validation requires more granular control over data splits. + +### Step 2 & 3: Model training and calibration + +In v0.9, the `fit` method handled both model training and calibration. + +In v1.0: MAPIE seperates between the training and calibration: + +- **`.fit()` Method**: + - In v1, `fit` only trains the model on training data, without handling calibration. + - Additional fitting parameters, like `sample_weight`, should be included in `fit_params`, keeping this method focused on training alone. + +- **`.conformalize()` Method**: + - This new method performs calibration after fitting, using separate calibration data (`X_calib`, `y_calib`). + - `predict_params` can be passed here, allowing independent control over calibration and prediction stages. + +### Step 4: Making predictions (`predict` and `predict_set` methods) + +In MAPIE v0.9, both point predictions and prediction intervals were produced through the `predict` method. + +MAPIE v1 introduces two distinct methods for prediction: +- **`.predict_set()`** is dedicated to generating prediction intervals (i.e., lower and upper bounds), clearly separating interval predictions from point predictions. +- **`.predict()`** now focuses solely on producing point predictions. +--- + +## 4. Migration example: MAPIE v0.9 to MAPIE v1 + +Below is a side-by-side example of code in MAPIE v0.9 and its equivalent in MAPIE v1 using the new modular classes and methods. + +### MAPIE v0.9 code + +```python +from sklearn.linear_model import LinearRegression +from mapie.estimator import MapieRegressor +from mapie.conformity_scores import GammaConformityScore +from sklearn.model_selection import train_test_split + +# Step 1: Split data +X_train, X_conf_test, y_train, y_conf_test = train_test_split(X, y, test_size=0.4) +X_conf, X_test, y_conf, y_test = train_test_split(X_conf_test, y_conf_test, test_size=0.5) + +# Step 2: Train the model on the training set +prefit_model = LinearRegression().fit(X_train, y_train) + +# Step 3: Initialize MapieRegressor with the prefit model and gamma conformity score +v0 = MapieRegressor( + estimator=prefit_model, + cv="prefit", + conformity_score=GammaConformityScore() +) + +# Step 4: Fit MAPIE on the calibration set +v0.fit(X_conf, y_conf) + +# Step 5: Make predictions with confidence intervals +prediction_intervals_v0 = v0.predict(X_test, alpha=0.1)[1][:, :, 0] +prediction_points_v0 = v0.predict(X_test) +``` + +### Equivalent MAPIE v1 code + +```python +from sklearn.linear_model import LinearRegression +from mapie.estimator import SplitConformalRegressor +from mapie.utils import conf_split + +# Step 1: Split data with conf_split (returns X_train, y_train, X_conf, y_conf, X_test, y_test) +X_train, y_train, X_conf, y_conf, X_test, y_test = conf_split(X, y) + +# Step 2: Train the model on the training set +prefit_model = LinearRegression().fit(X_train, y_train) + +# Step 3: Initialize SplitConformalRegressor with the prefit model, gamma conformity score, and prefit option +v1 = SplitConformalRegressor( + estimator=prefit_model, + confidence_level=0.9, # equivalent to alpha=0.1 in v0.9 + conformity_score="gamma", + prefit=True +) + +# Step 4: Calibrate the model with the conformalize method on the calibration set +v1.conformalize(X_conf, y_conf) + +# Step 5: Make predictions with confidence intervals +prediction_intervals_v1 = v1.predict_set(X_test) +prediction_points_v1 = v1.predict(X_test) +``` + +--- + +## 5. Additional migration examples + +We will provide further migration examples : + +- **Prefit Models**: Using `SplitConformalRegressor` with `prefit=True` +- **Non-Prefit Models**: + - `SplitConformalRegressor` without `prefit` + - `CrossConformalRegressor` with `fit_params` (e.g., `sample_weight`) and `predict_params` + - `ConformalizedQuantileRegressor` with `symmetric_intervals=False` + - `JackknifeAfterBootstrapRegressor` with custom configurations diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py new file mode 100644 index 000000000..aab75adb7 --- /dev/null +++ b/mapie_v1/regression.py @@ -0,0 +1,883 @@ +from typing import Optional, Union, List +from typing_extensions import Self + +import numpy as np +from sklearn.linear_model import LinearRegression, QuantileRegressor +from sklearn.base import RegressorMixin, clone +from sklearn.model_selection import BaseCrossValidator + +from mapie._typing import ArrayLike, NDArray +from mapie.conformity_scores import BaseRegressionScore +from mapie.regression import MapieRegressor +from mapie.utils import check_estimator_fit_predict +from mapie_v1.conformity_scores.utils import \ + check_and_select_split_conformity_score + + +class SplitConformalRegressor: + """ + A conformal regression model using split conformal prediction to generate + prediction intervals with statistical guarantees. This method involves + using a hold-out conformity set to determine prediction intervals around + point predictions from a base regressor. + + Parameters + ---------- + estimator : RegressorMixin, default=LinearRegression() + The base regression estimator used to generate point predictions. + + confidence_level : Union[float, List[float]], default=0.9 + The confidence level(s) for the prediction intervals. Indicates the + desired coverage probability of the prediction intervals. If a float + is provided, it represents a single confidence level. If a list, + multiple prediction intervals for each specified confidence level are + returned. + + conformity_score : Union[str, BaseRegressionScore], default="absolute" + The conformity score method used to calculate the conformity error. + Valid options: see keys and values of the dictionnary +:py:const:`mapie_v1.conformity_scores.REGRESSION_CONFORMITY_SCORES_STRING_MAP`. + See: TODO : reference conformity score classes or documentation + + A custom score function inheriting from BaseRegressionScore may also + be provided. + + prefit : bool, default=False + If True, assumes that the base estimator is already fitted, and skips + refitting. If False, fits the estimator on the provided training data. + + n_jobs : Optional[int], default=None + The number of jobs to run in parallel when applicable. + + verbose : int, default=0 + Controls the verbosity level. + Higher values increase the output details. + + random_state : Optional[Union[int, np.random.RandomState]], default=None + A seed or random state instance to ensure reproducibility in any random + operations within the regressor. + + Notes + ----- + This implementation currently uses a ShuffleSplit cross-validation scheme + for splitting the conformity set. Future implementations may allow the use + of groups. + + Examples + -------- + >>> regressor = SplitConformalRegressor(estimator=LinearRegression(), + confidence_level=0.95) + >>> regressor.fit(X_train, y_train) + >>> regressor.conformalize(X_conf, y_conf) + >>> intervals = regressor.predict_set(X_test) + """ + + def __init__( + self, + estimator: RegressorMixin = LinearRegression(), + confidence_level: Union[float, List[float]] = 0.9, + conformity_score: Union[str, BaseRegressionScore] = "absolute", + prefit: bool = False, + n_jobs: Optional[int] = None, + verbose: int = 0, + random_state: Optional[Union[int, np.random.RandomState]] = None, + ) -> None: + check_estimator_fit_predict(estimator) + self.estimator = estimator + self.prefit = prefit + self.conformity_score = check_and_select_split_conformity_score( + conformity_score) + + # Note to developers: to implement this v1 class without touching the + # v0 backend, we're for now using a hack. We always set cv="prefit", + # and we fit the estimator if needed. See the .fit method below. + self.mapie_regressor = MapieRegressor( + estimator=self.estimator, + method="base", + cv="prefit", + n_jobs=n_jobs, + verbose=verbose, + conformity_score=self.conformity_score, + random_state=random_state, + ) + + if isinstance(confidence_level, float): + confidence_level = [confidence_level] + + self.alpha = [1 - level for level in confidence_level] + + def fit( + self, + X_train: ArrayLike, + y_train: ArrayLike, + fit_params: Optional[dict] = None, + ) -> Self: + """ + Fits the base estimator to the training data. + + Parameters + ---------- + X_train : ArrayLike + Training data features. + + y_train : ArrayLike + Training data targets. + + fit_params : Optional[dict], default=None + Additional parameters to pass to the `fit` method of the base + estimator. + + Returns + ------- + Self + The fitted SplitConformalRegressor instance. + """ + if not self.prefit: + cloned_estimator = clone(self.estimator) + fit_params = {} if fit_params is None else fit_params + cloned_estimator.fit(X_train, y_train, **fit_params) + self.mapie_regressor.estimator = cloned_estimator + + return self + + def conformalize( + self, + X_conf: ArrayLike, + y_conf: ArrayLike, + predict_params: Optional[dict] = None, + ) -> Self: + """ + Computes conformity scores using the conformity set, allowing to + predict intervals later on. + + Parameters + ---------- + X_conf : ArrayLike + Features for the conformity set. + + y_conf : ArrayLike + Target values for the conformity set. + + predict_params : Optional[dict], default=None + Additional parameters for generating predictions + from the estimator. + + Returns + ------- + Self + The SplitConformalRegressor instance with updated prediction + intervals. + """ + predict_params = {} if predict_params is None else predict_params + self.mapie_regressor.fit(X_conf, + y_conf, + predict_params=predict_params) + + return self + + def predict_set( + self, + X: ArrayLike, + minimize_interval_width: bool = False, + allow_infinite_bounds: bool = False, + ) -> NDArray: + """ + Generates prediction intervals for the input data `X` based on + conformity scores and confidence level(s). + + Parameters + ---------- + X : ArrayLike + Data features for generating prediction intervals. + + minimize_interval_width : bool, default=False + If True, attempts to minimize the interval width. + + allow_infinite_bounds : bool, default=False + If True, allows prediction intervals with infinite bounds. + + Returns + ------- + NDArray + An array containing the prediction intervals with shape + `(n_samples, 2)` if `confidence_level` is a single float, or + `(n_samples, 2, n_confidence_levels)` if `confidence_level` is a + list of floats. + """ + _, intervals = self.mapie_regressor.predict( + X, + alpha=self.alpha, + optimize_beta=minimize_interval_width, + allow_infinite_bounds=allow_infinite_bounds + ) + + if len(self.alpha) == 1: + intervals = intervals[:, :, 0] + + return intervals + + def predict( + self, + X: ArrayLike, + ) -> NDArray: + """ + Generates point predictions for given data using the fitted model. + + Parameters + ---------- + X : ArrayLike + Data features for prediction. + + Returns + ------- + NDArray + Array of point predictions, with shape (n_samples,). + """ + predictions = self.mapie_regressor.predict(X, alpha=None) + return predictions + + +class CrossConformalRegressor: + """ + A conformal regression model using cross-conformal prediction to generate + prediction intervals with statistical guarantees. This method involves + cross-validation with conformity scoring across multiple folds to determine + prediction intervals around point predictions from a base regressor. + + Parameters + ---------- + estimator : RegressorMixin, default=LinearRegression() + The base regression estimator used to generate point predictions. + + confidence_level : Union[float, List[float]], default=0.9 + The confidence level(s) for the prediction intervals, indicating the + desired coverage probability of the prediction intervals. If a float is + provided, it represents a single confidence level. If a list, multiple + prediction intervals for each specified confidence level are returned. + + conformity_score : Union[str, BaseRegressionScore], default="absolute" + The conformity score method used to calculate the conformity error. + Valid options: TODO : reference here the valid options, once the list + has been be created during the implementation. + See: TODO : reference conformity score classes or documentation + + A custom score function inheriting from BaseRegressionScore may also be + provided. + + method : str, default="plus" + The method used for cross-conformal prediction. Options are: + - "base": Based on the conformity scores from each fold. + - "plus": Based on the conformity scores from each fold plus + the testing prediction. + - "minmax": Based on the minimum and maximum conformity scores + from each fold. + + cv : Union[int, BaseCrossValidator], default=5 + The cross-validation splitting strategy. If an integer is passed, it is + the number of folds for `KFold` cross-validation. Alternatively, a + specific cross-validation splitter from scikit-learn can be provided. + TODO : reference here the valid options, + once the list has been be created during the implementation + + n_jobs : Optional[int], default=None + The number of jobs to run in parallel when applicable. + + verbose : int, default=0 + Controls the verbosity level. Higher values increase the + output details. + + random_state : Optional[Union[int, np.random.RandomState]], default=None + A seed or random state instance to ensure reproducibility in any random + operations within the regressor. + + Methods + ------- + fit(X_train, y_train, fit_params=None) -> Self + Fits the base estimator to the training data using cross-validation. + + conformalize(X_conf, y_conf, predict_params=None) -> Self + Calibrates the model using cross-validation and updates the prediction + intervals based on conformity errors observed across folds. + + predict(X, aggregation_method=None) -> NDArray + Generates point predictions for the input data `X` using the specified + aggregation method across the cross-validation folds. + + predict_set(X, minimize_interval_width=False, allow_infinite_bounds=False) + -> NDArray + Generates prediction intervals for the input data `X` based on the + conformity score and confidence level, adjusted to achieve the desired + coverage probability. + + Returns + ------- + NDArray + An array containing the prediction intervals with shape: + - `(n_samples, 2)` if `confidence_level` is a single float + - `(n_samples, 2, n_confidence_levels)` if `confidence_level` + is a list of floats. + + Notes + ----- + Cross-conformal prediction provides enhanced robustness through the + aggregation of multiple conformal scores across cross-validation folds, + potentially yielding tighter intervals with reliable coverage guarantees. + + Examples + -------- + >>> regressor = CrossConformalRegressor( + ... estimator=LinearRegression(), confidence_level=0.95, cv=10) + >>> regressor.fit(X_train, y_train) + >>> regressor.conformalize(X_conf, y_conf) + >>> intervals = regressor.predict_set(X_test) + """ + + def __init__( + self, + estimator: RegressorMixin = LinearRegression(), + confidence_level: Union[float, List[float]] = 0.9, + conformity_score: Union[str, BaseRegressionScore] = "absolute", + method: str = "plus", + cv: Union[int, BaseCrossValidator] = 5, + n_jobs: Optional[int] = None, + verbose: int = 0, + random_state: Optional[Union[int, np.random.RandomState]] = None + ) -> None: + pass + + def fit( + self, + X_train: ArrayLike, + y_train: ArrayLike, + fit_params: Optional[dict] = None, + ) -> Self: + """ + Fits the base estimator to the training data using cross-validation. + + Parameters + ---------- + X_train : ArrayLike + Training data features. + + y_train : ArrayLike + Training data targets. + + fit_params : Optional[dict], default=None + Additional parameters to pass to the `fit` method + of the base estimator. + + Returns + ------- + Self + The fitted CrossConformalRegressor instance. + """ + pass + + def conformalize( + self, + X_conf: ArrayLike, + y_conf: ArrayLike, + predict_params: Optional[dict] = None, + ) -> Self: + """ + Calibrates the fitted model using cross-validation conformal folds. + This step analyzes conformity scores across multiple cross-validation + folds and adjusts the prediction intervals based on conformity errors + and specified confidence levels. + + Parameters + ---------- + X_conf : ArrayLike + Features for generating conformity scores across folds. + + y_conf : ArrayLike + Target values for generating conformity scores across folds. + + predict_params : Optional[dict], default=None + Additional parameters for generating predictions + from the estimator. + + Returns + ------- + Self + The CrossConformalRegressor instance with calibrated prediction + intervals based on cross-validated conformity scores. + """ + pass + + def predict_set( + self, + X: ArrayLike, + minimize_interval_width: bool = False, + allow_infinite_bounds: bool = False, + ) -> NDArray: + """ + Generates prediction intervals for the input data `X` based on the + calibrated model and cross-conformal prediction framework. + + Parameters + ---------- + X : ArrayLike + Data features for generating prediction intervals. + + minimize_interval_width : bool, default=False + If True, attempts to minimize the interval width. + + allow_infinite_bounds : bool, default=False + If True, allows prediction intervals with infinite bounds if + necessary. + + Returns + ------- + NDArray + Prediction intervals with shape + - `(n_samples, 2)` if `confidence_level`is a single float, + - `(n_samples, 2, n_confidence_levels)` if multiple confidence + levels are specified. + """ + pass + + def predict( + self, + X: ArrayLike, + aggregation_method: Optional[str] = None, + ) -> NDArray: + """ + Generates point predictions for the input data `X` using the + fitted model. Optionally aggregates predictions across cross- + validation folds models. + + Parameters + ---------- + X : ArrayLike + Data features for generating point predictions. + + aggregation_method : Optional[str], default=None + The method to aggregate predictions across folds. Options: + - None: No aggregation, returns predictions from the estimator + trained on the entire dataset + - "mean": Returns the mean prediction across folds. + - "median": Returns the median prediction across folds. + + Returns + ------- + NDArray + Array of point predictions, with shape `(n_samples,)`. + """ + pass + + +class JackknifeAfterBootstrapRegressor: + """ + A conformal regression model using the jackknife-after-bootstrap approach + to generate prediction intervals with statistical guarantees. This method + combines bootstrap sampling with the jackknife technique to produce robust + prediction intervals around point predictions from a base regressor. + + Parameters + ---------- + estimator : RegressorMixin, default=LinearRegression() + The base regression estimator used to generate point predictions. + + confidence_level : Union[float, List[float]], default=0.9 + The confidence level(s) for the prediction intervals, indicating the + desired coverage probability of the prediction intervals. If a float + is provided, it represents a single confidence level. If a list, + multiple prediction intervals for each specified confidence level are + returned. + + conformity_score : Union[str, BaseRegressionScore], default="absolute" + The conformity score method used to calculate the conformity error. + Valid options: TODO : reference here the valid options, once the list + has been be created during the implementation. + See: TODO : reference conformity score classes or documentation + + A custom score function inheriting from BaseRegressionScore may also + be provided. + + method : str, default="plus" + The method used for jackknife-after-bootstrap prediction. Options are: + - "base": Based on the conformity scores from each bootstrap sample. + - "plus": Based on the conformity scores from each bootstrap sample and + the testing prediction. + - "minmax": Based on the minimum and maximum conformity scores from + each bootstrap sample. + + n_bootstraps : int, default=100 + The number of bootstrap resamples to generate for the + jackknife-after-bootstrap procedure. + + n_jobs : Optional[int], default=None + The number of jobs to run in parallel when applicable. + + verbose : int, default=0 + Controls the verbosity level. Higher values increase the output + details. + + random_state : Optional[Union[int, np.random.RandomState]], default=None + A seed or random state instance to ensure reproducibility in any random + operations within the regressor. + + Methods + ------- + fit(X_train, y_train, fit_params=None) -> Self + Fits the base estimator to the training data and initializes internal + parameters required for the jackknife-after-bootstrap process. + + conformalize(X_conf, y_conf, predict_params=None) -> Self + Calibrates the model on provided data using the + jackknife-after-bootstrap approach, adjusting the prediction intervals + based on the observed conformity scores. + + predict(X, aggregation_method="mean") -> NDArray + Generates point predictions for the input data `X` using the specified + aggregation method over bootstrap samples. + + predict_set(X, allow_infinite_bounds=False) -> NDArray + Generates prediction intervals for the input data `X` based on the + calibrated jackknife-after-bootstrap predictions. + + Returns + ------- + NDArray + An array containing the prediction intervals with shape + `(n_samples, 2)`, where each row represents the lower and + upper bounds for each sample. + + Examples + -------- + >>> regressor = JackknifeAfterBootstrapRegressor( + ... estimator=LinearRegression(), confidence_level=0.9, n_bootstraps=8) + >>> regressor.fit(X_train, y_train) + >>> regressor.conformalize(X_conf, y_conf) + >>> intervals = regressor.predict_set(X_test) + """ + + def __init__( + self, + estimator: RegressorMixin = LinearRegression(), + confidence_level: Union[float, List[float]] = 0.9, + conformity_score: Union[str, BaseRegressionScore] = "absolute", + method: str = "plus", + n_bootstraps: int = 100, + n_jobs: Optional[int] = None, + verbose: int = 0, + random_state: Optional[Union[int, np.random.RandomState]] = None, + ) -> None: + pass + + def fit( + self, + X_train: ArrayLike, + y_train: ArrayLike, + fit_params: Optional[dict] = None, + ) -> Self: + """ + Fits the base estimator to the training data. + + Parameters + ---------- + X_train : ArrayLike + Training data features. + + y_train : ArrayLike + Training data targets. + + fit_params : Optional[dict], default=None + Additional parameters to pass to the `fit` method + of the base estimator. + + Returns + ------- + Self + The fitted JackknifeAfterBootstrapRegressor instance. + """ + + def conformalize( + self, + X_conf: ArrayLike, + y_conf: ArrayLike, + predict_params: Optional[dict] = None, + ) -> Self: + """ + Calibrates the model on the provided data using the + jackknife-after-bootstrap approach, which leverages pre-generated + bootstrap samples along with jackknife techniques to estimate + prediction intervals. This step analyzes conformity scores and + adjusts the intervals based on specified confidence levels. + + Parameters + ---------- + X_conf : ArrayLike + Features for the calibration (conformity) data. + + y_conf : ArrayLike + Target values for the calibration (conformity) data. + + predict_params : Optional[dict], default=None + Additional parameters for generating predictions + from the estimator. + + Returns + ------- + Self + The JackknifeAfterBootstrapRegressor instance with + calibrated prediction intervals. + """ + + def predict_set( + self, + X: ArrayLike, + allow_infinite_bounds: bool = False, + ) -> NDArray: + """ + Computes prediction intervals for each sample in `X` based on + the jackknife-after-bootstrap framework. + + Parameters + ---------- + X : ArrayLike + Test data for prediction intervals. + + allow_infinite_bounds : bool, default=False + If True, allows intervals to include infinite bounds + if required for coverage. + + Returns + ------- + NDArray + Prediction intervals of shape `(n_samples, 2)`, + with lower and upper bounds for each sample. + """ + pass + + def predict( + self, + X: ArrayLike, + # ensemble: bool = False, -> removed, see aggregation_method + aggregation_method: str = "mean", # 'mean', 'median' + ) -> NDArray: + """ + Generates point predictions for the input data using the fitted model, + with optional aggregation over bootstrap samples. + + Parameters + ---------- + X : ArrayLike + Data features for generating point predictions. + + aggregation_method : str, default="mean" + The method to aggregate predictions across bootstrap samples. + Options: + - "mean": Returns the mean prediction across samples. + - "median": Returns the median prediction across samples. + + Returns + ------- + NDArray + Array of point predictions, with shape `(n_samples,)`. + """ + pass + + +class ConformalizedQuantileRegressor: + """ + A conformal quantile regression model that generates prediction intervals + with statistical guarantees using quantile regression as the base + estimator. This approach provides prediction intervals by leveraging + quantile predictions and applying conformal adjustments to ensure coverage. + + Parameters + ---------- + estimator : RegressorMixin, default=QuantileRegressor() + The base quantile regression estimator used to generate point and + interval predictions. + + confidence_level : Union[float, List[float]], default=0.9 + The confidence level(s) for the prediction intervals, indicating the + desired coverage probability of the prediction intervals. If a float + is provided, it represents a single confidence level. If a list, + multiple prediction intervals for each specified confidence level + are returned. + + conformity_score : Union[str, BaseRegressionScore], default="absolute" + The conformity score method used to calculate the conformity error. + Valid options: TODO : reference here the valid options, once the list + has been be created during the implementation. + See: TODO : reference conformity score classes or documentation + + A custom score function inheriting from BaseRegressionScore may also + be provided. + + random_state : Optional[Union[int, np.random.RandomState]], default=None + A seed or random state instance to ensure reproducibility in any random + operations within the regressor. + + Methods + ------- + fit(X_train, y_train, fit_params=None) -> Self + Fits the base estimator to the training data and initializes internal + parameters required for conformal prediction. + + conformalize(X_conf, y_conf, predict_params=None) -> Self + Calibrates the model on provided data, adjusting the prediction + intervals to achieve the specified confidence levels. + + predict(X) -> NDArray + Generates point predictions for the input data `X`. + + predict_set(X, + allow_infinite_bounds=False, + minimize_interval_width=False, + symmetric_intervals=True) -> NDArray + Generates prediction intervals for the input data `X`, + adjusted for desired scoverage based on the calibrated + quantile predictions. + + Returns + ------- + NDArray + An array containing the prediction intervals with shape + `(n_samples, 2)`, where each row represents the lower and + upper bounds for each sample. + + Examples + -------- + >>> regressor = ConformalizedQuantileRegressor( + ... estimator=QuantileRegressor(), confidence_level=0.95) + >>> regressor.fit(X_train, y_train) + >>> regressor.conformalize(X_conf, y_conf) + >>> intervals = regressor.predict_set(X_test) + """ + + def __init__( + self, + estimator: RegressorMixin = QuantileRegressor(), + confidence_level: Union[float, List[float]] = 0.9, + conformity_score: Union[str, BaseRegressionScore] = "absolute", + # n_jobs: Optional[int] = None + # Not yet available in MapieQuantileRegressor + # verbose: int = 0, + # Idem + random_state: Optional[Union[int, np.random.RandomState]] = None, + ) -> None: + pass + + def fit( + self, + X_train: ArrayLike, + y_train: ArrayLike, + fit_params: Optional[dict] = None, + ) -> Self: + """ + Fits the base estimator to the training data. + + Parameters + ---------- + X_train : ArrayLike + Training data features. + + y_train : ArrayLike + Training data targets. + + fit_params : Optional[dict], default=None + Additional parameters to pass to the `fit` method + of the base estimator. + + Returns + ------- + Self + The fitted ConformalizedQuantileRegressor instance. + """ + + def conformalize( + self, + X_conf: ArrayLike, + y_conf: ArrayLike, + predict_params: Optional[dict] = None, + ) -> Self: + """ + Calibrates the model on the provided data, adjusting the prediction + intervals based on quantile predictions and specified confidence + levels. This step analyzes the conformity scores and refines the + intervals to ensure desired coverage. + + Parameters + ---------- + X_conf : ArrayLike + Features for the calibration (conformity) data. + + y_conf : ArrayLike + Target values for the calibration (conformity) data. + + predict_params : Optional[dict], default=None + Additional parameters for generating predictions + from the estimator. + + Returns + ------- + Self + The ConformalizedQuantileRegressor instance with calibrated + prediction intervals. + """ + + def predict_set( + self, + X: ArrayLike, + allow_infinite_bounds: bool = False, + minimize_interval_width: bool = False, + symmetric_intervals: bool = True, + ) -> NDArray: + """ + Computes prediction intervals for quantile regression based + on calibrated predictions. + + Parameters + ---------- + X : ArrayLike of shape (n_samples, n_features) + Test data for prediction intervals. + + allow_infinite_bounds : bool, default=False + If True, allows intervals to include infinite bounds + if required for coverage. + + minimize_interval_width : bool, default=False + If True, narrows the prediction intervals as much as possible + while maintaining the target coverage level. + + symmetric_intervals : bool, default=True + If True, computes symmetric intervals around the predicted + median or mean. + If False, calculates separate upper and lower bounds for + asymmetric intervals. + + Returns + ------- + NDArray + Prediction intervals with shape `(n_samples, 2)`, with lower + and upper bounds for each sample. + """ + pass + + def predict( + self, + X: ArrayLike, + ) -> NDArray: + """ + Generates point predictions for the input data using the fitted model. + + Parameters + ---------- + X : ArrayLike + Data features for generating point predictions. + + Returns + ------- + NDArray + Array of point predictions with shape `(n_samples,)`. + """ + pass + + +class GibbsConformalRegressor: + pass # TODO From 085273b515d46d5f30b6cbc15af7386aab5c6755 Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Thu, 21 Nov 2024 10:31:41 +0100 Subject: [PATCH 02/24] DOC: reorganize documentation, add migration_guide in doc in .rst format, make left navigation bar more usable (#540) --- doc/conf.py | 4 +- doc/images/quickstart_1.png | Bin 84288 -> 83745 bytes doc/index.rst | 48 +----- doc/index_binary_classification.rst | 8 + doc/index_classification.rst | 12 ++ doc/index_mondrian.rst | 8 + doc/index_regression.rst | 13 ++ doc/split_cross_conformal.rst | 6 +- doc/theoretical_description_metrics.rst | 2 +- doc/v1_migration_guide.rst | 218 ++++++++++++++++++++++++ mapie_v1/migration_guide.md | 194 --------------------- 11 files changed, 275 insertions(+), 238 deletions(-) create mode 100644 doc/index_binary_classification.rst create mode 100644 doc/index_classification.rst create mode 100644 doc/index_mondrian.rst create mode 100644 doc/index_regression.rst create mode 100644 doc/v1_migration_guide.rst delete mode 100644 mapie_v1/migration_guide.md diff --git a/doc/conf.py b/doc/conf.py index 0b1af45f2..7781de29a 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -146,7 +146,9 @@ # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -# html_theme_options = {} +html_theme_options = { + 'collapse_navigation': False, +} # Add any paths that contain custom themes here, relative to this directory. html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] diff --git a/doc/images/quickstart_1.png b/doc/images/quickstart_1.png index 9c6a54bc2a2a40b35c77cb1849b3962ebbaa2a1f..886801fcbc9e501205b293b34f490f15cf65b9bc 100644 GIT binary patch literal 83745 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 z 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

@7(ja=9J}_1-!~C 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 z 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 diff --git a/doc/index.rst b/doc/index.rst index 73926b81c..9d0dffc13 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -7,43 +7,20 @@ quick_start split_cross_conformal + v1_migration_guide .. toctree:: :maxdepth: 2 :hidden: - :caption: REGRESSION + :caption: Measure predictions uncertainty - theoretical_description_regression - theoretical_description_conformity_scores - examples_regression/4-tutorials/plot_main-tutorial-regression - examples_regression/4-tutorials/plot_cqr_tutorial - examples_regression/4-tutorials/plot_ts-tutorial - examples_regression/index - notebooks_regression + index_regression + index_classification .. toctree:: :maxdepth: 2 :hidden: - :caption: CLASSIFICATION - - theoretical_description_classification - examples_classification/4-tutorials/plot_main-tutorial-classification - examples_classification/4-tutorials/plot_crossconformal - examples_classification/index - notebooks_classification - -.. toctree:: - :maxdepth: 2 - :hidden: - :caption: BINARY CLASSIFICATION - - theoretical_description_binary_classification - examples_classification/4-tutorials/plot_main-tutorial-binary-classification - -.. toctree:: - :maxdepth: 2 - :hidden: - :caption: MULTI-LABEL CLASSIFICATION + :caption: Control prediction errors theoretical_description_multilabel_classification examples_multilabel_classification/1-quickstart/plot_tutorial_multilabel_classification @@ -52,15 +29,7 @@ .. toctree:: :maxdepth: 2 :hidden: - :caption: MONDRIAN - - theoretical_description_mondrian - examples_mondrian/1-quickstart/plot_main-tutorial-mondrian-regression - -.. toctree:: - :maxdepth: 2 - :hidden: - :caption: CALIBRATION + :caption: Calibrate multi-class predictions theoretical_description_calibration examples_calibration/index @@ -69,9 +38,10 @@ .. toctree:: :maxdepth: 2 :hidden: - :caption: METRICS + :caption: Question & Answers - theoretical_description_metrics + Metrics: how to measure conformal prediction performance? + index_mondrian .. toctree:: :maxdepth: 2 diff --git a/doc/index_binary_classification.rst b/doc/index_binary_classification.rst new file mode 100644 index 000000000..278d0c5db --- /dev/null +++ b/doc/index_binary_classification.rst @@ -0,0 +1,8 @@ +The binary classification case +================================ + +.. toctree:: + :maxdepth: 2 + + examples_classification/4-tutorials/plot_main-tutorial-binary-classification + theoretical_description_binary_classification \ No newline at end of file diff --git a/doc/index_classification.rst b/doc/index_classification.rst new file mode 100644 index 000000000..bc3eb5e5e --- /dev/null +++ b/doc/index_classification.rst @@ -0,0 +1,12 @@ +Prediction sets (classification) +================================ + +.. toctree:: + :maxdepth: 2 + + examples_classification/4-tutorials/plot_main-tutorial-classification + examples_classification/4-tutorials/plot_crossconformal + examples_classification/index + notebooks_classification + theoretical_description_classification + index_binary_classification \ No newline at end of file diff --git a/doc/index_mondrian.rst b/doc/index_mondrian.rst new file mode 100644 index 000000000..e937e9eca --- /dev/null +++ b/doc/index_mondrian.rst @@ -0,0 +1,8 @@ +Mondrian: how to use prior knowledge on groups when measuring uncertainty? +============================================================================== + +.. toctree:: + :maxdepth: 2 + + theoretical_description_mondrian + examples_mondrian/1-quickstart/plot_main-tutorial-mondrian-regression \ No newline at end of file diff --git a/doc/index_regression.rst b/doc/index_regression.rst new file mode 100644 index 000000000..2141b24c9 --- /dev/null +++ b/doc/index_regression.rst @@ -0,0 +1,13 @@ +Prediction intervals (regression) +================================= + +.. toctree:: + :maxdepth: 2 + + examples_regression/4-tutorials/plot_main-tutorial-regression + examples_regression/4-tutorials/plot_cqr_tutorial + examples_regression/4-tutorials/plot_ts-tutorial + examples_regression/index + notebooks_regression + theoretical_description_regression + theoretical_description_conformity_scores \ No newline at end of file diff --git a/doc/split_cross_conformal.rst b/doc/split_cross_conformal.rst index 936a1162d..ca588f106 100644 --- a/doc/split_cross_conformal.rst +++ b/doc/split_cross_conformal.rst @@ -1,6 +1,6 @@ -################################ -Split/Cross-Conformal Prediction -################################ +################################################################ +The calibration (or "conformity") set +################################################################ **MAPIE** is based on two types of techniques: diff --git a/doc/theoretical_description_metrics.rst b/doc/theoretical_description_metrics.rst index 6ac886886..f94606ded 100644 --- a/doc/theoretical_description_metrics.rst +++ b/doc/theoretical_description_metrics.rst @@ -1,4 +1,4 @@ -.. title:: Theoretical Description Metrics : contents +.. title:: How to measure conformal prediction performance? .. _theoretical_description_metrics: diff --git a/doc/v1_migration_guide.rst b/doc/v1_migration_guide.rst new file mode 100644 index 000000000..01b766595 --- /dev/null +++ b/doc/v1_migration_guide.rst @@ -0,0 +1,218 @@ +Migrating to MAPIE v1 +=========================================== + +MAPIE v1 introduces several updates, enhancements, and structural changes that simplify the API by breaking down ``MapieRegressor`` functionality into dedicated classes for different conformal prediction methods. This guide outlines the key differences between MAPIE v0.9 and MAPIE v1 and provides instructions for adapting your code to the new structure. + +1. Overview of class restructuring +----------------------------------- + +MAPIE v1 organizes the ``MapieRegressor`` functionality into specific regressor classes, each optimized for a particular type of conformal prediction: + +- ``SplitConformalRegressor``: Handles split conformal prediction. +- ``CrossConformalRegressor``: Implements cross-validation-based conformal prediction. +- ``JackknifeAfterBootstrapRegressor``: Supports jackknife-after-bootstrap conformal prediction. +- ``ConformalizedQuantileRegressor``: For quantile-based conformal prediction. + +This modular approach makes it easier to select and configure a specific conformal regression method. Each class includes parameters relevant to its own methodology, reducing redundancy and improving readability. + +Migration summary of ``MapieRegressor`` to new classes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In MAPIE v0.9, ``MapieRegressor`` managed all conformal regression methods under a single interface, which sometimes led to parameter redundancy and ambiguity. In MAPIE v1, each method-specific class includes only the parameters and methods relevant to its method. + ++--------------------+--------------------------------------------------------------------------+ +| MAPIE v0.9 Class | MAPIE v1 Classes | ++====================+==========================================================================+ +| ``MapieRegressor`` | ``SplitConformalRegressor``, ``CrossConformalRegressor``, | +| | | +| | ``JackknifeAfterBootstrapRegressor``, ``ConformalizedQuantileRegressor`` | ++--------------------+--------------------------------------------------------------------------+ + + +2. Key parameter changes +------------------------ + +``conformity_score`` +~~~~~~~~~~~~~~~~~~~~ +A parameter used to specify the scoring approach for evaluating model predictions. + +- **v0.9**: Only allowed custom objects derived from ``BaseRegressionScore``. +- **v1**: Now accepts both strings (like ``"absolute"``) for predefined methods and custom ``BaseRegressionScore`` instances, simplifying usage. + +``confidence_level`` +~~~~~~~~~~~~~~~~~~~~ +Indicates the desired coverage probability of the prediction intervals. + +- **v0.9**: Specified as ``alpha`` during prediction, representing error rate. +- **v1**: Replaced with ``confidence_level`` to denote the coverage rate directly. Set at model initialization, improving consistency and clarity. ``confidence_level`` is equivalent to ``1 - alpha``. + +``method`` +~~~~~~~~~~ +Specifies the approach for calculating prediction intervals, especially in advanced models like Cross Conformal and Jackknife After Bootstrap regressors. + +- **v0.9**: Part of ``MapieRegressor``. Configured for the main prediction process. +- **v1**: Specific to ``CrossConformalRegressor`` and ``JackknifeAfterBootstrapRegressor``, indicating the interval calculation approach (``"base"``, ``"plus"``, or ``"minmax"``). + +``cv`` (includes ``groups``) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The ``cv`` parameter manages the cross-validation configuration, accepting either an integer to indicate the number of data splits or a ``BaseCrossValidator`` object for custom data splitting. + +- **v0.9**: The ``cv`` parameter was included in ``MapieRegressor``, where it handled cross-validation. The option ``cv="prefit"`` was available for models that were already pre-trained. +- **v1**: The ``cv`` parameter is now only present in ``CrossConformalRegressor``, with the ``prefit`` option removed. Additionally, the ``groups`` parameter was removed from the ``fit`` method, allowing groups to be directly passed to ``cv`` for processing. + +``prefit`` +~~~~~~~~~~ +Controls whether the model has been pre-fitted before applying conformal prediction. + +- **v0.9**: Indicated through ``cv="prefit"`` in ``MapieRegressor``. +- **v1**: ``prefit`` is now a separate boolean parameter, allowing explicit control over whether the model has been pre-fitted before applying conformal methods. + +``fit_params`` (includes ``sample_weight``) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Dictionary of parameters specifically used during training, such as ``sample_weight`` in scikit-learn. + +- **v0.9**: Passed additional parameters in a flexible but less explicit manner. +- **v1**: Now explicitly structured as a dedicated dictionary, ``fit_params``, ensuring parameters used during training are clearly defined and separated from other stages. + +``predict_params`` +~~~~~~~~~~~~~~~~~~ +Defines additional parameters exclusively for prediction. + +- **v0.9**: Passed additional parameters in a flexible but less explicit manner, sometimes mixed within training configurations. +- **v1**: Now structured as a dedicated dictionary, ``predict_params``, to be used during calibration (``conformalize`` method) and prediction stages, ensuring no overlap with training parameters. + +``aggregation_method`` +~~~~~~~~~~~~~~~~~~~~~~ +The ``aggregation_method`` parameter defines how predictions from multiple conformal regressors are aggregated when making point predictions. + +- **v0.9**: Previously, the ``agg_function`` parameter specified the aggregation method, allowing options such as the mean or median of predictions. This was applicable only when using ensemble methods by setting ``ensemble=True`` in the ``predict`` method. +- **v1**: The ``agg_function`` parameter has been renamed to ``aggregation_method`` for clarity. It now serves the same purpose in selecting an aggregation technique but is specified at prediction time rather than during class initialization. Additionally, the ``ensemble`` parameter has been removed, as ``aggregation_method`` is relevant only to the ``CrossConformalRegressor`` and ``JackknifeAfterBootstrapRegressor`` classes. + +``Other parameters`` +~~~~~~~~~~~~~~~~~~~~ +No more parameters with incorrect ``None`` defaults. + +- **v0.9**: Eg: ``estimator`` had a ``None`` default value, even though the actual default value is ``LinearRegression()``. This was the case for other parameters as well. +- **v1**: All parameters now have explicit defaults. + +Some parameters' name have been improved for clarity: + +- ``optimize_beta`` -> ``minimize_interval_width`` +- ``symmetry``-> ``symmetric_intervals`` + + +3. Method changes +----------------- + +In MAPIE v1, the conformal prediction workflow is more streamlined and modular, with distinct methods for training, calibration, and prediction. The calibration process in v1 consists of four steps. + +Step 1: Data splitting +~~~~~~~~~~~~~~~~~~~~~~ +In v0.9, Data splitting is done within two-phase process. First, data ``(X, y)`` was divided into training ``(X_train, y_train)`` and test ``(X_test, y_test)`` sets using ``train_test_split`` from ``sklearn``. In the second phase, the split between training and calibration was either done manually or handled internally by ``MapieRegressor``. + +In v1, a ``conf_split`` function has been introduced to split the data ``(X, y)`` into training ``(X_train, y_train)``, calibration ``(X_calib, y_calib)``, and test sets ``(X_test, y_test)``. + +This new approach in v1 gives users more control over data splitting, making it easier to manage training, calibration, and testing phases explicitly. The ``CrossConformalRegressor`` is an exception, where train/calibration splitting happens internally because cross-validation requires more granular control over data splits. + +Step 2 & 3: Model training and calibration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In v0.9, the ``fit`` method handled both model training and calibration. + +In v1.0: MAPIE separates between the training and calibration: + +- ``.fit()`` method: + - In v1, ``fit`` only trains the model on training data, without handling calibration. + - Additional fitting parameters, like ``sample_weight``, should be included in ``fit_params``, keeping this method focused on training alone. + +- ``.conformalize()`` method: + - This new method performs calibration after fitting, using separate calibration data ``(X_calib, y_calib)``. + - ``predict_params`` can be passed here, allowing independent control over calibration and prediction stages. + +Step 4: Making predictions (``predict`` and ``predict_set`` methods) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In MAPIE v0.9, both point predictions and prediction intervals were produced through the ``predict`` method. + +MAPIE v1 introduces two distinct methods for prediction: +- ``.predict_set()`` is dedicated to generating prediction intervals (i.e., lower and upper bounds), clearly separating interval predictions from point predictions. +- ``.predict()`` now focuses solely on producing point predictions. + + +4. Migration example: MAPIE v0.9 to MAPIE v1 +-------------------------------------------- + +Below is a side-by-side example of code in MAPIE v0.9 and its equivalent in MAPIE v1 using the new modular classes and methods. + +MAPIE v0.9 code +~~~~~~~~~~~~~~~ + +.. code-block:: python + + from sklearn.linear_model import LinearRegression + from mapie.estimator import MapieRegressor + from mapie.conformity_scores import GammaConformityScore + from sklearn.model_selection import train_test_split + + # Step 1: Split data + X_train, X_conf_test, y_train, y_conf_test = train_test_split(X, y, test_size=0.4) + X_conf, X_test, y_conf, y_test = train_test_split(X_conf_test, y_conf_test, test_size=0.5) + + # Step 2: Train the model on the training set + prefit_model = LinearRegression().fit(X_train, y_train) + + # Step 3: Initialize MapieRegressor with the prefit model and gamma conformity score + v0 = MapieRegressor( + estimator=prefit_model, + cv="prefit", + conformity_score=GammaConformityScore() + ) + + # Step 4: Fit MAPIE on the calibration set + v0.fit(X_conf, y_conf) + + # Step 5: Make predictions with confidence intervals + prediction_intervals_v0 = v0.predict(X_test, alpha=0.1)[1][:, :, 0] + prediction_points_v0 = v0.predict(X_test) + +Equivalent MAPIE v1 code +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: python + + from sklearn.linear_model import LinearRegression + from mapie.estimator import SplitConformalRegressor + from mapie.utils import conf_split + + # Step 1: Split data with conf_split (returns X_train, y_train, X_conf, y_conf, X_test, y_test) + X_train, y_train, X_conf, y_conf, X_test, y_test = conf_split(X, y) + + # Step 2: Train the model on the training set + prefit_model = LinearRegression().fit(X_train, y_train) + + # Step 3: Initialize SplitConformalRegressor with the prefit model, gamma conformity score, and prefit option + v1 = SplitConformalRegressor( + estimator=prefit_model, + confidence_level=0.9, # equivalent to alpha=0.1 in v0.9 + conformity_score="gamma", + prefit=True + ) + + # Step 4: Calibrate the model with the conformalize method on the calibration set + v1.conformalize(X_conf, y_conf) + + # Step 5: Make predictions with confidence intervals + prediction_intervals_v1 = v1.predict_set(X_test) + prediction_points_v1 = v1.predict(X_test) + + +5. Additional migration examples +-------------------------------- + +We will provide further migration examples : + +- **Prefit Models**: Using ``SplitConformalRegressor`` with ``prefit=True`` +- **Non-Prefit Models**: + + - ``SplitConformalRegressor`` without ``prefit`` + - ``CrossConformalRegressor`` with ``fit_params`` (e.g., ``sample_weight``) and ``predict_params`` + - ``ConformalizedQuantileRegressor`` with ``symmetric_intervals=False`` + - ``JackknifeAfterBootstrapRegressor`` with custom configurations \ No newline at end of file diff --git a/mapie_v1/migration_guide.md b/mapie_v1/migration_guide.md deleted file mode 100644 index 5cc6b9e02..000000000 --- a/mapie_v1/migration_guide.md +++ /dev/null @@ -1,194 +0,0 @@ -# Migration guide from MAPIE v0.9 to MAPIE v1 - -MAPIE v1 introduces several updates, enhancements, and structural changes that simplify the API by breaking down `MapieRegressor` functionality into dedicated classes for different conformal prediction methods. This guide outlines the key differences between MAPIE v0.9 and MAPIE v1 and provides instructions for adapting your code to the new structure. - ---- - -## 1. Overview of class restructuring - -MAPIE v1 organizes the `MapieRegressor` functionality into specific regressor classes, each optimized for a particular type of conformal prediction: - -- **`SplitConformalRegressor`**: Handles split conformal prediction. -- **`CrossConformalRegressor`**: Implements cross-validation-based conformal prediction. -- **`JackknifeAfterBootstrapRegressor`**: Supports jackknife-after-bootstrap conformal prediction. -- **`ConformalizedQuantileRegressor`**: For quantile-based conformal prediction. - -This modular approach makes it easier to select and configure a specific conformal regression method. Each class includes parameters relevant to its own methodology, reducing redundancy and improving readability. - -### Migration summary of `MapieRegressor` to new classes - -In MAPIE v0.9, `MapieRegressor` managed all conformal regression methods under a single interface, which sometimes led to parameter redundancy and ambiguity. In MAPIE v1, each method-specific class includes only the parameters and methods relevant to its method. - -| MAPIE v0.9 Class | MAPIE v1 Classes | -|------------------|-------------------------------------------------------| -| `MapieRegressor` | `SplitConformalRegressor`, `CrossConformalRegressor`, `JackknifeAfterBootstrapRegressor`, `ConformalizedQuantileRegressor` | - ---- - -## 2. Key parameter changes - -### `conformity_score` -A parameter used to specify the scoring approach for evaluating model predictions. -- **v0.9**: Only allowed custom objects derived from `BaseRegressionScore`. -- **v1**: Now accepts both strings (like `"absolute"`) for predefined methods and custom `BaseRegressionScore` instances, simplifying usage. - -### `confidence_level` -Indicates the desired coverage probability of the prediction intervals. -- **v0.9**: Specified as `alpha` during prediction, representing error rate. -- **v1**: Replaced with `confidence_level` to denote the coverage rate directly. Set at model initialization, improving consistency and clarity -`confidence_level` is equivalent to `1 - alpha`. - -### `method` -Specifies the approach for calculating prediction intervals, especially in advanced models like Cross Conformal and Jackknife After Bootstrap regressors. -- **v0.9**: Part of `MapieRegressor`. Configured for the main prediction process. -- **v1**: Specific to `CrossConformalRegressor` and `JackknifeAfterBootstrapRegressor`, indicating the interval calculation approach (`"base"`, `"plus"`, or `"minmax"`). - -### `cv` (includes `groups`) -The `cv` parameter manages the cross-validation configuration, accepting either an integer to indicate the number of data splits or a `BaseCrossValidator` object for custom data splitting. - -- **v0.9**: The `cv` parameter was included in `MapieRegressor`, where it handled cross-validation. The option `cv="prefit"` was available for models that were already pre-trained. -- **v1**: The `cv` parameter is now only present in `CrossConformalRegressor`, with the `prefit` option removed. Additionally, the `groups` parameter was removed from the `fit` method, allowing groups to be directly passed to `cv` for processing. - -### `prefit` -Controls whether the model has been pre-fitted before applying conformal prediction. -- **v0.9**: Indicated through `cv="prefit"` in `MapieRegressor`. -- **v1**: `prefit` is now a separate boolean parameter, allowing explicit control over whether the model has been pre-fitted before applying conformal methods. - -### `fit_params` (includes `sample_weight`) -Dictionary of parameters specifically used during training, such as `sample_weight` in scikit-learn. -- **v0.9**: Passed additional parameters in a flexible but less explicit manner. -- **v1**: Now explicitly structured as a dedicated dictionary, `fit_params`, ensuring parameters used during training are clearly defined and separated from other stages. - -### `predict_params` -Defines additional parameters exclusively for prediction. -- **v0.9**: Passed additional parameters in a flexible but less explicit manner, sometimes mixed within training configurations. -- **v1**: Now structured as a dedicated dictionary, `predict_params`, to be used during calibration (`conformalize` method) and prediction stages, ensuring no overlap with training parameters. - -### `aggregation_method` - -The `aggregation_method` parameter defines how predictions from multiple conformal regressors are aggregated when making point predictions. - -- **v0.9**: Previously, the `agg_function` parameter specified the aggregation method, allowing options such as the mean or median of predictions. This was applicable only when using ensemble methods by setting `ensemble=True` in the `predict` method. -- **v1**: The `agg_function` parameter has been renamed to `aggregation_method` for clarity. It now serves the same purpose in selecting an aggregation technique but is specified at prediction time rather than during class initialization. Additionally, the `ensemble` parameter has been removed, as `aggregation_method` is relevant only to the `CrossConformalRegressor` and `JackknifeAfterBootstrapRegressor` classes. - -### `Other parameters` -No more parameters with incorrect `None` defaults. -- **v0.9**: Eg: `estimator` had a `None` default value, even though the actual default value is LinearRegression(). This was the case for other parameters as well. -- **v1**: All parameters now have explicit defaults. - -Some parameters' name have been improved for clarity: -- `optimize_beta` -> `minimize_interval_width` -- `symmetry`-> `symmetric_intervals` - ---- - -## 3. Method changes - -In MAPIE v1, the conformal prediction workflow is more streamlined and modular, with distinct methods for training, calibration, and prediction. The calibration process in v1 consists of four steps. - -### Step 1: Data splitting - -In v0.9, Data splitting is done within two-phase process. First, data `(X, y)` was divided into training `(X_train, y_train)` and test `(X_test, y_test)` sets using `train_test_split` from `sklearn`. In the second phase, the split between training and calibration was either done manually or handled internally by `MapieRegressor`. - -In v1, a `conf_split` function has been introduced to split the data `(X, y)` into training `(X_train, y_train)`, calibration `(X_calib, y_calib)`, and test sets `(X_test, y_test)`. - -This new approach in v1 gives users more control over data splitting, making it easier to manage training, calibration, and testing phases explicitly. The `CrossConformalRegressor` is an exception, where train/calibration splitting happens internally because cross-validation requires more granular control over data splits. - -### Step 2 & 3: Model training and calibration - -In v0.9, the `fit` method handled both model training and calibration. - -In v1.0: MAPIE seperates between the training and calibration: - -- **`.fit()` Method**: - - In v1, `fit` only trains the model on training data, without handling calibration. - - Additional fitting parameters, like `sample_weight`, should be included in `fit_params`, keeping this method focused on training alone. - -- **`.conformalize()` Method**: - - This new method performs calibration after fitting, using separate calibration data (`X_calib`, `y_calib`). - - `predict_params` can be passed here, allowing independent control over calibration and prediction stages. - -### Step 4: Making predictions (`predict` and `predict_set` methods) - -In MAPIE v0.9, both point predictions and prediction intervals were produced through the `predict` method. - -MAPIE v1 introduces two distinct methods for prediction: -- **`.predict_set()`** is dedicated to generating prediction intervals (i.e., lower and upper bounds), clearly separating interval predictions from point predictions. -- **`.predict()`** now focuses solely on producing point predictions. ---- - -## 4. Migration example: MAPIE v0.9 to MAPIE v1 - -Below is a side-by-side example of code in MAPIE v0.9 and its equivalent in MAPIE v1 using the new modular classes and methods. - -### MAPIE v0.9 code - -```python -from sklearn.linear_model import LinearRegression -from mapie.estimator import MapieRegressor -from mapie.conformity_scores import GammaConformityScore -from sklearn.model_selection import train_test_split - -# Step 1: Split data -X_train, X_conf_test, y_train, y_conf_test = train_test_split(X, y, test_size=0.4) -X_conf, X_test, y_conf, y_test = train_test_split(X_conf_test, y_conf_test, test_size=0.5) - -# Step 2: Train the model on the training set -prefit_model = LinearRegression().fit(X_train, y_train) - -# Step 3: Initialize MapieRegressor with the prefit model and gamma conformity score -v0 = MapieRegressor( - estimator=prefit_model, - cv="prefit", - conformity_score=GammaConformityScore() -) - -# Step 4: Fit MAPIE on the calibration set -v0.fit(X_conf, y_conf) - -# Step 5: Make predictions with confidence intervals -prediction_intervals_v0 = v0.predict(X_test, alpha=0.1)[1][:, :, 0] -prediction_points_v0 = v0.predict(X_test) -``` - -### Equivalent MAPIE v1 code - -```python -from sklearn.linear_model import LinearRegression -from mapie.estimator import SplitConformalRegressor -from mapie.utils import conf_split - -# Step 1: Split data with conf_split (returns X_train, y_train, X_conf, y_conf, X_test, y_test) -X_train, y_train, X_conf, y_conf, X_test, y_test = conf_split(X, y) - -# Step 2: Train the model on the training set -prefit_model = LinearRegression().fit(X_train, y_train) - -# Step 3: Initialize SplitConformalRegressor with the prefit model, gamma conformity score, and prefit option -v1 = SplitConformalRegressor( - estimator=prefit_model, - confidence_level=0.9, # equivalent to alpha=0.1 in v0.9 - conformity_score="gamma", - prefit=True -) - -# Step 4: Calibrate the model with the conformalize method on the calibration set -v1.conformalize(X_conf, y_conf) - -# Step 5: Make predictions with confidence intervals -prediction_intervals_v1 = v1.predict_set(X_test) -prediction_points_v1 = v1.predict(X_test) -``` - ---- - -## 5. Additional migration examples - -We will provide further migration examples : - -- **Prefit Models**: Using `SplitConformalRegressor` with `prefit=True` -- **Non-Prefit Models**: - - `SplitConformalRegressor` without `prefit` - - `CrossConformalRegressor` with `fit_params` (e.g., `sample_weight`) and `predict_params` - - `ConformalizedQuantileRegressor` with `symmetric_intervals=False` - - `JackknifeAfterBootstrapRegressor` with custom configurations From 434e4209ad35d44fe5cb33f3aa3e18a3402c5a9a Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Thu, 21 Nov 2024 17:25:15 +0100 Subject: [PATCH 03/24] DOC: add groups in .conformalize for CrossConformalRegression, improve docstrings (#543) --- mapie_v1/regression.py | 140 +++++++++++++++-------------------------- 1 file changed, 52 insertions(+), 88 deletions(-) diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index aab75adb7..7feaccf24 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -165,8 +165,7 @@ def conformalize( Returns ------- Self - The SplitConformalRegressor instance with updated prediction - intervals. + The conformalized SplitConformalRegressor instance. """ predict_params = {} if predict_params is None else predict_params self.mapie_regressor.fit(X_conf, @@ -241,8 +240,9 @@ class CrossConformalRegressor: """ A conformal regression model using cross-conformal prediction to generate prediction intervals with statistical guarantees. This method involves - cross-validation with conformity scoring across multiple folds to determine - prediction intervals around point predictions from a base regressor. + computing conformity scoring across multiple folds in a cross-validation + fashion to determine prediction intervals around point predictions from a + base regressor. Parameters ---------- @@ -265,17 +265,19 @@ class CrossConformalRegressor: provided. method : str, default="plus" - The method used for cross-conformal prediction. Options are: + The method used to compute prediction intervals. Options are: - "base": Based on the conformity scores from each fold. - - "plus": Based on the conformity scores from each fold plus - the testing prediction. - - "minmax": Based on the minimum and maximum conformity scores - from each fold. + - "plus": Based on the conformity scores from each fold and + the test set predictions. + - "minmax": Based on the conformity scores from each fold and + the test set predictions, using the minimum and maximum among + each fold models. cv : Union[int, BaseCrossValidator], default=5 - The cross-validation splitting strategy. If an integer is passed, it is - the number of folds for `KFold` cross-validation. Alternatively, a - specific cross-validation splitter from scikit-learn can be provided. + The cross-validation strategy used to compute confomity scores. If an + integer is passed, it is the number of folds for `KFold` + cross-validation. Alternatively, a BaseCrossValidator from scikit-learn + can be provided. Valid options: TODO : reference here the valid options, once the list has been be created during the implementation @@ -290,25 +292,6 @@ class CrossConformalRegressor: A seed or random state instance to ensure reproducibility in any random operations within the regressor. - Methods - ------- - fit(X_train, y_train, fit_params=None) -> Self - Fits the base estimator to the training data using cross-validation. - - conformalize(X_conf, y_conf, predict_params=None) -> Self - Calibrates the model using cross-validation and updates the prediction - intervals based on conformity errors observed across folds. - - predict(X, aggregation_method=None) -> NDArray - Generates point predictions for the input data `X` using the specified - aggregation method across the cross-validation folds. - - predict_set(X, minimize_interval_width=False, allow_infinite_bounds=False) - -> NDArray - Generates prediction intervals for the input data `X` based on the - conformity score and confidence level, adjusted to achieve the desired - coverage probability. - Returns ------- NDArray @@ -317,18 +300,12 @@ class CrossConformalRegressor: - `(n_samples, 2, n_confidence_levels)` if `confidence_level` is a list of floats. - Notes - ----- - Cross-conformal prediction provides enhanced robustness through the - aggregation of multiple conformal scores across cross-validation folds, - potentially yielding tighter intervals with reliable coverage guarantees. - Examples -------- >>> regressor = CrossConformalRegressor( ... estimator=LinearRegression(), confidence_level=0.95, cv=10) - >>> regressor.fit(X_train, y_train) - >>> regressor.conformalize(X_conf, y_conf) + >>> regressor.fit(X, y) + >>> regressor.conformalize(X, y) >>> intervals = regressor.predict_set(X_test) """ @@ -347,20 +324,20 @@ def __init__( def fit( self, - X_train: ArrayLike, - y_train: ArrayLike, + X: ArrayLike, + y: ArrayLike, fit_params: Optional[dict] = None, ) -> Self: """ - Fits the base estimator to the training data using cross-validation. + Fits the base estimator using the entire dataset provided. Parameters ---------- - X_train : ArrayLike - Training data features. + X : ArrayLike + Features - y_train : ArrayLike - Training data targets. + y : ArrayLike + Targets fit_params : Optional[dict], default=None Additional parameters to pass to the `fit` method @@ -375,23 +352,29 @@ def fit( def conformalize( self, - X_conf: ArrayLike, - y_conf: ArrayLike, + X: ArrayLike, + y: ArrayLike, + groups: Optional[ArrayLike] = None, predict_params: Optional[dict] = None, ) -> Self: """ - Calibrates the fitted model using cross-validation conformal folds. - This step analyzes conformity scores across multiple cross-validation - folds and adjusts the prediction intervals based on conformity errors - and specified confidence levels. + Computes conformity scores in a cross conformal fashion, allowing to + predict intervals later on. Parameters ---------- - X_conf : ArrayLike + X : ArrayLike Features for generating conformity scores across folds. + Must be the same X used in .fit - y_conf : ArrayLike + y : ArrayLike Target values for generating conformity scores across folds. + Must be the same y used in .fit + + groups: Optional[ArrayLike] of shape (n_samples,) + Group labels for the samples used while splitting the dataset into + train/conformity set. + By default ``None``. predict_params : Optional[dict], default=None Additional parameters for generating predictions @@ -400,8 +383,7 @@ def conformalize( Returns ------- Self - The CrossConformalRegressor instance with calibrated prediction - intervals based on cross-validated conformity scores. + The conformalized SplitConformalRegressor instance. """ pass @@ -412,8 +394,8 @@ def predict_set( allow_infinite_bounds: bool = False, ) -> NDArray: """ - Generates prediction intervals for the input data `X` based on the - calibrated model and cross-conformal prediction framework. + Generates prediction intervals for the input data `X` based on + conformity scores and confidence level(s). Parameters ---------- @@ -430,10 +412,10 @@ def predict_set( Returns ------- NDArray - Prediction intervals with shape - - `(n_samples, 2)` if `confidence_level`is a single float, - - `(n_samples, 2, n_confidence_levels)` if multiple confidence - levels are specified. + An array containing the prediction intervals with shape + `(n_samples, 2)` if `confidence_level` is a single float, or + `(n_samples, 2, n_confidence_levels)` if `confidence_level` is a + list of floats. """ pass @@ -443,9 +425,10 @@ def predict( aggregation_method: Optional[str] = None, ) -> NDArray: """ - Generates point predictions for the input data `X` using the - fitted model. Optionally aggregates predictions across cross- - validation folds models. + Generates point predictions for the input data `X`: + - using the model fitted on the entire dataset + - or if aggregation_method is provided, aggregating predictions from + the models fitted on each fold Parameters ---------- @@ -518,25 +501,6 @@ class JackknifeAfterBootstrapRegressor: A seed or random state instance to ensure reproducibility in any random operations within the regressor. - Methods - ------- - fit(X_train, y_train, fit_params=None) -> Self - Fits the base estimator to the training data and initializes internal - parameters required for the jackknife-after-bootstrap process. - - conformalize(X_conf, y_conf, predict_params=None) -> Self - Calibrates the model on provided data using the - jackknife-after-bootstrap approach, adjusting the prediction intervals - based on the observed conformity scores. - - predict(X, aggregation_method="mean") -> NDArray - Generates point predictions for the input data `X` using the specified - aggregation method over bootstrap samples. - - predict_set(X, allow_infinite_bounds=False) -> NDArray - Generates prediction intervals for the input data `X` based on the - calibrated jackknife-after-bootstrap predictions. - Returns ------- NDArray @@ -568,8 +532,8 @@ def __init__( def fit( self, - X_train: ArrayLike, - y_train: ArrayLike, + X: ArrayLike, + y: ArrayLike, fit_params: Optional[dict] = None, ) -> Self: """ @@ -577,10 +541,10 @@ def fit( Parameters ---------- - X_train : ArrayLike + X : ArrayLike Training data features. - y_train : ArrayLike + y : ArrayLike Training data targets. fit_params : Optional[dict], default=None From 47ea0cf1b958d71db5ee0ef78910ccbf5663faa8 Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Wed, 27 Nov 2024 17:36:58 +0100 Subject: [PATCH 04/24] TEST & DOC : add integration tests for CrossConformalRegressor, finish related docstring for param cv (#544) --- .../tests/test_regression.py | 154 +++++++++++++----- mapie_v1/regression.py | 14 +- 2 files changed, 122 insertions(+), 46 deletions(-) diff --git a/mapie_v1/integration_tests/tests/test_regression.py b/mapie_v1/integration_tests/tests/test_regression.py index 008be3ed9..1c01cceff 100644 --- a/mapie_v1/integration_tests/tests/test_regression.py +++ b/mapie_v1/integration_tests/tests/test_regression.py @@ -2,30 +2,29 @@ import numpy as np import pytest +from numpy.random import RandomState +from sklearn.compose import TransformedTargetRegressor from sklearn.datasets import make_regression from sklearn.linear_model import LinearRegression from sklearn.ensemble import RandomForestRegressor -from mapie_v1.regression import ( - SplitConformalRegressor, - CrossConformalRegressor, - JackknifeAfterBootstrapRegressor, - ConformalizedQuantileRegressor -) -from mapiev0.regression import MapieRegressor as MapieRegressorV0 # noqa -from mapiev0.regression import MapieQuantileRegressor as MapieQuantileRegressorV0 # noqa +from mapie.conformity_scores import GammaConformityScore, \ + AbsoluteConformityScore +from mapie_v1.regression import SplitConformalRegressor, \ + CrossConformalRegressor + +from mapiev0.regression import MapieRegressor as MapieRegressorV0 # noqa + from mapie_v1.conformity_scores.utils import \ check_and_select_split_conformity_score from mapie_v1.integration_tests.utils import (filter_params, train_test_split_shuffle) -from sklearn.model_selection import KFold +from sklearn.model_selection import LeaveOneOut, GroupKFold RANDOM_STATE = 1 K_FOLDS = 3 N_BOOTSTRAPS = 30 -X_toy = np.array([0, 1, 2, 3, 4, 5]).reshape(-1, 1) -y_toy = np.array([5, 7, 9, 11, 13, 15]) X, y = make_regression(n_samples=500, n_features=10, noise=1.0, @@ -57,7 +56,6 @@ def test_exact_interval_equality_split( Test that the prediction intervals are exactly the same between v0 and v1 models when using the same settings. """ - X_train, X_conf, y_train, y_conf = train_test_split_shuffle( X, y, test_size=test_size, random_state=RANDOM_STATE ) @@ -92,8 +90,6 @@ def test_exact_interval_equality_split( strategy_key=strategy_key, v0_params=v0_params, v1_params=v1_params, - k_folds=K_FOLDS, - random_state=RANDOM_STATE ) if strategy_key == 'prefit': @@ -117,14 +113,115 @@ def test_exact_interval_equality_split( ) +X_cross, y_cross_signed = make_regression( + n_samples=50, + n_features=10, + noise=1.0, + random_state=RANDOM_STATE +) +y_cross = np.abs(y_cross_signed) +sample_weight = RandomState(RANDOM_STATE).random(len(X_cross)) +groups = [0] * 10 + [1] * 10 + [2] * 10 + [3] * 10 + [4] * 10 +positive_predictor = TransformedTargetRegressor( + regressor=LinearRegression(), + func=lambda y_: np.log(y_ + 1), + inverse_func=lambda X_: np.exp(X_) - 1 +) + +params_test_cases_cross = [ + { + "v0": { + "alpha": 0.2, + "conformity_score": AbsoluteConformityScore(), + "cv": 4, + "agg_function": "median", + "ensemble": True, + "method": "base", + "sample_weight": sample_weight, + }, + "v1": { + "confidence_level": 0.8, + "conformity_score": "absolute", + "cv": 4, + "aggregation_method": "median", + "method": "base", + "fit_params": {"sample_weight": sample_weight}, + } + }, + { + "v0": { + "estimator": positive_predictor, + "alpha": 0.5, + "conformity_score": GammaConformityScore(), + "cv": LeaveOneOut(), + "method": "plus", + "optimize_beta": True, + }, + "v1": { + "estimator": positive_predictor, + "confidence_level": 0.5, + "conformity_score": "gamma", + "cv": LeaveOneOut(), + "method": "plus", + "minimize_interval_width": True, + } + }, + { + "v0": { + "alpha": 0.1, + "cv": GroupKFold(), + "groups": groups, + "method": "minmax", + "allow_infinite_bounds": True, + }, + "v1": { + "cv": GroupKFold(), + "groups": groups, + "method": "minmax", + "allow_infinite_bounds": True, + } + }, +] + + +@pytest.mark.parametrize("params_cross", params_test_cases_cross) +def test_intervals_and_predictions_exact_equality_cross(params_cross): + v0_params = params_cross["v0"] + v1_params = params_cross["v1"] + + v0 = MapieRegressorV0( + **filter_params(MapieRegressorV0.__init__, v0_params) + ) + v1 = CrossConformalRegressor( + **filter_params(CrossConformalRegressor.__init__, v1_params) + ) + + v0_fit_params = filter_params(v0.fit, v0_params) + v1_fit_params = filter_params(v1.fit, v1_params) + v1_conformalize_params = filter_params(v1.conformalize, v1_params) + + v0.fit(X_cross, y_cross, **v0_fit_params) + v1.fit(X_cross, y_cross, **v1_fit_params) + v1.conformalize(X_cross, y_cross, **v1_conformalize_params) + + v0_predict_params = filter_params(v0.predict, v0_params) + v1_predict_params = filter_params(v1.predict, v1_params) + v1_predict_set_params = filter_params(v1.predict_set, v1_params) + + v0_preds, v0_pred_intervals = v0.predict(X_cross, **v0_predict_params) + v0_pred_intervals = v0_pred_intervals[:, :, 0] + v1_pred_intervals = v1.predict_set(X_cross, **v1_predict_set_params) + v1_preds = v1.predict(X_cross, **v1_predict_params) + + assert np.equal(v0_preds, v1_preds) + assert np.equal(v0_pred_intervals, v1_pred_intervals) + + def initialize_models( strategy_key, v0_params: dict, v1_params: dict, - k_folds=5, - random_state=42 ): - if strategy_key == "prefit": v0_params.update({"cv": "prefit"}) v0_params = filter_params(MapieRegressorV0.__init__, v0_params) @@ -139,29 +236,6 @@ def initialize_models( v0 = MapieRegressorV0(**v0_params) v1 = SplitConformalRegressor(**v1_params) - elif strategy_key == "cv": - v0_params.update({"cv": KFold(n_splits=k_folds, - shuffle=True, - random_state=random_state)}) - v0_params = filter_params(MapieRegressorV0.__init__, v0_params) - v1_params = filter_params(CrossConformalRegressor.__init__, v1_params) - v0 = MapieRegressorV0(**v0_params) - v1 = CrossConformalRegressor(cv=k_folds, **v1_params) - - elif strategy_key == "jackknife": - v0_params.update({"cv": -1}) - v0_params = filter_params(MapieRegressorV0.__init__, v0_params) - v1_params = filter_params(JackknifeAfterBootstrapRegressor.__init__, - v1_params) - v0 = MapieRegressorV0(**v0_params) - v1 = JackknifeAfterBootstrapRegressor(**v1_params) - - elif strategy_key == "CQR": - v0_params = filter_params(MapieQuantileRegressorV0.__init__, v0_params) - v1_params = filter_params(SplitConformalRegressor.__init__, v1_params) - v0 = MapieQuantileRegressorV0(**v0_params) - v1 = ConformalizedQuantileRegressor(**v1_params) - else: raise ValueError(f"Unknown strategy key: {strategy_key}") diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index 7feaccf24..a049ec4c4 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -274,12 +274,14 @@ class CrossConformalRegressor: each fold models. cv : Union[int, BaseCrossValidator], default=5 - The cross-validation strategy used to compute confomity scores. If an - integer is passed, it is the number of folds for `KFold` - cross-validation. Alternatively, a BaseCrossValidator from scikit-learn - can be provided. Valid options: - TODO : reference here the valid options, - once the list has been be created during the implementation + The cross-validation strategy used to compute confomity scores. + Valid options: + - integer, to specify the number of folds + - any ``sklearn.model_selection.BaseCrossValidator`` suitable for + regression, or a custom cross-validator inheriting from it. + Main variants in the cross conformal setting are: + - ``sklearn.model_selection.KFold`` (vanilla cross conformal) + - ``sklearn.model_selection.LeaveOneOut`` (jackknife) n_jobs : Optional[int], default=None The number of jobs to run in parallel when applicable. From 4b3b02b527ed06eae0fbf6e786249e275dfd2ad2 Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Fri, 29 Nov 2024 15:08:19 +0100 Subject: [PATCH 05/24] DOC: add decision trees (#546) --- doc/choosing_the_right_algorithm.rst | 20 ++++++++++++++++++ ...ing_the_right_algorithm_classification.rst | 10 +++++++++ ...hoosing_the_right_algorithm_regression.rst | 10 +++++++++ doc/images/decision_tree_classification.png | Bin 0 -> 395468 bytes doc/images/decision_tree_regression.png | Bin 0 -> 450792 bytes doc/index.rst | 1 + doc/index_classification.rst | 1 + doc/index_regression.rst | 1 + 8 files changed, 43 insertions(+) create mode 100644 doc/choosing_the_right_algorithm.rst create mode 100644 doc/choosing_the_right_algorithm_classification.rst create mode 100644 doc/choosing_the_right_algorithm_regression.rst create mode 100644 doc/images/decision_tree_classification.png create mode 100644 doc/images/decision_tree_regression.png diff --git a/doc/choosing_the_right_algorithm.rst b/doc/choosing_the_right_algorithm.rst new file mode 100644 index 000000000..1979c0e42 --- /dev/null +++ b/doc/choosing_the_right_algorithm.rst @@ -0,0 +1,20 @@ +############################################ +Choosing the right algorithm +############################################ + +Following are simple decision trees to help you you getting started quickly with MAPIE. + +Reality is of course a bit more complex, so feel free to browse the documentation for nuanced explanations. + + +1. Regression +================================== + +.. image:: images/decision_tree_regression.png + :align: center + +2. Classification +===================== + +.. image:: images/decision_tree_classification.png + :align: center diff --git a/doc/choosing_the_right_algorithm_classification.rst b/doc/choosing_the_right_algorithm_classification.rst new file mode 100644 index 000000000..11f4596f6 --- /dev/null +++ b/doc/choosing_the_right_algorithm_classification.rst @@ -0,0 +1,10 @@ +############################################ +Choosing the right algorithm +############################################ + +Following is a simple decision tree to help you you getting started quickly with MAPIE. + +Reality is of course a bit more complex, so feel free to browse the documentation for nuanced explanations. + +.. image:: images/decision_tree_classification.png + :align: center \ No newline at end of file diff --git a/doc/choosing_the_right_algorithm_regression.rst b/doc/choosing_the_right_algorithm_regression.rst new file mode 100644 index 000000000..e48b441a9 --- /dev/null +++ b/doc/choosing_the_right_algorithm_regression.rst @@ -0,0 +1,10 @@ +############################################ +Choosing the right algorithm +############################################ + +Following is a simple decision trees to help you you getting started quickly with MAPIE. + +Reality is of course a bit more complex, so feel free to browse the documentation for nuanced explanations. + +.. image:: images/decision_tree_regression.png + :align: center \ No newline at end of file diff --git a/doc/images/decision_tree_classification.png b/doc/images/decision_tree_classification.png new file mode 100644 index 0000000000000000000000000000000000000000..c03d05446d7b43d5ab68888c83abe808575f7c3c GIT binary patch literal 395468 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 z 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 YPK8{PD<)VrM( z^2U@Fv|XUqkmIbyZd>v1Ld`OG{veQWQD402{Y2v%YAit1Gjh~mb=p>aU#MEh@+Jap z+TRl0{6}T99VTbyg?HO8`5eZ4_+apS_C+Ny5PIV$Do&Zn!$R#f*5w~HI*SOMvMBdA z$M(G{_wCbGf0HWIsW?nC+fY)^67IJg|=_NM<1WN(JWF#m`BGkn$ zD~^4rVlp}3Y&F4JLRANYeufuf$s{TsPe4yWYYNdUY2kV76Fbb7Z{Bn}yk27|hkpXm zH!xWHW3Rk5$0yoLYa*c`jXB+0;weH&5;!?ZWLTu)M0bt}3iZUJ`4V{B`&XQ^wGPOmbY2nJ+=pdg)YWu8pwgWqk#gbAqDP}Xmq&5p}!%% z=wkN`{{UmF(LeP_-P^STeMcu8Bl1GLVi{ic_42Z0Bo2Hqp%YaE{k{;{kvnxJQ=~Qv z(8(Z;$TZSDFbq&&ATj~$2#8E@Ozm~M0Kx-Hd~ybX25pajs?8xF4Ymk9y?sCY#c$r) zxZ|=_3)X$&+cwhR$UpeeHs*pf@G*|Xqc>Enipf^(un;kpd z)<;FqGQ=Gs=fx9`KJoPb{`~u|zq5Jn>{%!jc>z54+S{+FDl6eNHyi0ZjwDAE*$VCpI|7cw(X|%fKl6g$$Zy9#om?UuitAsuDc$h1lFH|n%i|SaDEkgpf z)Qzs<;B#MO`D#{hm}jmr=9Tl=@#R1p}jsrkQKFyi&2ZE55axwKN#) zUiZg-B+OW>CBgg3l03_1`k(kWqrFI|m;iLgga9YLP0q;hw?Z zv?OEO?bqCAU-L1|;DDCQm}(XW9YxVi-(xK^86{$BSZ%P_h3dsD51Cdw_yt8vVYTnE zuP1#y46Fghmi-_S<44$e!%v{zKz2B5Ld*pWoT+|Qw5TEY^i8bo5`)F%zU{|CHEIV| zNQ{ve%I64`bNtVKUpn$fuH+xN;yOIR@hhQfzT(d}m|e1OuQ2CM_pRR|`W2Xf$TBNf zgvxp5ITwvS_*HqhSu-)2tlbAV1y0EJT0XCo)c@!}>Zk{u15=Cx2?&S^F?S-P28J39 zrYR#*PBCJ2a&!*p9MCy%EC)0Zkt_fauv7t(FA#XHo3rSNjw9H8$02;OKFrAgDFTp{ zN*tg`3{&ADs391u$@){fAV$Ml?I0y$mpr?g^aoIewznLPi6U9@Bc`^VZR+na$da~e zkV=6+uzpA=@*;1+Ki_a0+<^Nc;l}QcU^D`q2T-A$Hv1TGg0?awDai#fM$vBIIulaa z(&w4GxFAuFkFLc?XM$54>CHVYJ<+0&U2h^He(kbrZ(p@mQj{b8Jp%zBCa;+#<w(j`VAk0PY5{4fY%B@Cjn(>c})Y@GFGn?p(shqhNPwy zA)pbI=h-WFs8uQi^HWC-%8x&A?ffP6MP-1Z^4J{J`9+_(N$Xr7BLEi7cjwL$N#D8{duu-r%dHw#d- zu`RaC9we#=B-#6>)V{;$t+Fn=nJcI?xJnXDPX*p6#K8_$um#`zz1+J;9`0oUAEm8| zV2%K16UkUVU;TO8%3Gj{5W5=_2i}IHWSM^zS6FRd`^m)N^@_iRc&)$+7C~hqo1c<; z_X$-?EQ_z_3TwR1s2NbLfqqgMOi6v1!)YWHd;K1R_>?z@LOJ0v5%#GYftU3lel+ z%o~&jeE^(a za-1L_5f7<>L`+l^Y~25B{VUHM+`+i=85w>c5@f$XW#?IdN^;aF59ioN648I2v3yQh zqwTugL_^7uJFWwIXW}PgFi7IuFR| zT12?|O2U&f68O^l*bE&4(AVV`UHT&=2cWN*eggT zYpgcFYK?|N+q&Crf*EEgct8m0F#pWQZK8#&~2-D{TZS zh*yHX6{Nr69m2~m0}-eIO1<%_f8pK3z$AsZ(iJez2e%SOHY>x8taB-&#FH^Gy7|AE zWE*Q*3H=QemR#XXoRvc~zOYt}eIywgRK*xf`&lNym#t;3`NZ@AERT-Ly&D)qK928V zsKco}u5=zaulNpdC97Cl0V77Fp7&X^o69dJ78N*lT`~*6O-i6QwWPoB+F`sJqstly zo;BH}AnLU7;^_CL76<4QfW2T?K~O{{pfh0z;yGg$B9len@gAW`RZNY?NB~o-J{mRX zdDyd$#$p>k06LR$)3sO6pF0QJ{Rn20>7rFDZ`^<2z<2K1vv>cJMGGN*B@&4dpU+~p zxLp`kNI*^DX9C8pUQeDN@JNU$6TAPzBXC0DgC@ajHWwBaK#KsS0vLk$C=va>x351O z4ik|`5ZnkZC(=TBfZRgi2;+1Q4h{G8^*d}6b*B#9l~9DL$BhM&tQ2c(X#5eTEM4GiM~ z)}?ysozO;zosDwy?^)NCspKRdEhG7ess5Xgosyy9;0xcCyPv>RA@%-)=l1UzY#yQh zlGvtK8S{KnE=oDLDfq<44esUf9pB~hcMCHXa^6x6M>AVyz`2u}buNQRmnqzp%>cI+P2)r5u47CV6FtWhEnnzh$h5$o=Aut0FFjrgb!VnZq zDfIW7P-{|iL45Ay(YLI>veaKB`GSOPl^7aI5f2bov@E@* zamk~tN8H7w@7=VOob-oXA#BoY&ZoQDdZLl)P{}7ZUwAFoVOMm<9 z6Td%paKzXUt(D>30f+s)Ry)>#w46IWIKU0|^-7j^EWfNQ7$RrUKr7-;&h@~+^~xH<%U0o=M&L&{*cRV2i@Nnk8wR`TD>8z zsB}S?P=lianop~8_AYNT3>d^SnWy`^xkMZcz;|!h0{P8wHcM;`87cD*ydCXFZTr9AD4rvYzR;HC^j{{ig*lfzEr~$Fxi={^0*)UjBttc_r*A z+v-+flWd3sztoR3u$obzz(JBfajVI z6AJ^n?t8;O!Ul2l7av!n-9+Fq&3uiSGY$j@kuiZ9YXVj@67m!E%&8=+$yo#jqVbb$ zT^)vB2w73Uns<+}$RvzdWTMX$uKj0onQ1X&)WJtIga`ITm9;h1s5ay%SPRicF!!6A z8lYGei45Q^hkWA5vEzU9&tLk`tvCGDTiy)a1xN&v$;{7web=)uzVxjxeW9kh3IaAz zLOY&$?hk)@=$_~HaL4m(EASJD*K{`f@S~64`{2WmJ@qmdi8gLn zv~ktatFO9ZS{aOsljZ+`a&m@&TmPoG}Cba8KQ-{=1AKkKV2KJ}3g zdpvHuDG*LP@$@tIZ-4l{-TS%ILo2Rmx^~m$x7>6?WqCPDfjH#R$9Mev-urLfwxzGH z|N9Rxy&MXXNAynI4GT2+5sb!)a8X@lSw%QBLh+q5M|P7TFb)B{P;>!81aBzbVbS4H8n$q4cW{<1 zILt8aiK)J!4tA;C&-0$Eu}PELA5mfh7Q0(;mk`qc&^R!*M43~E@R|sYGEOhivx8#s zN`bh);{qmMWxB z1)|yZW6GJ|@PX?w<>n6jx4h*e*2*SJX=6%F5=y|(peIf&aA3_5Mi1mVk3t$DKs0MF zHq2+?IXa1<%|6IB3|&~i@8*A#yWXkgQfj0lcVdU8MtM|8@KA3SqRZoX)9q-ro=b|s zDpUj19mx;@%B(b4L%c$~UhDD^kZqRII{U(PfsZ||C8PL*c~ANDV*p|#@w9vZ966$u zTqBj%L4C(`?nmoF&|`rizz|>vFa#I^41oznppaIi{X#|<~ zFo0oFK!X$!yfYRI1mH_YbSr)Pw0Ix(&(3Ar1nYyjw*7EgsPyjBQ>{AZ;%(4!uxaUp zJlJJ*2chi_xq=$+#~n^f3ht1jWg|?g$&6!P|su-7V^1XZnR7V(ZJ>eMlpS zRw-Dm4t4ACh!n0D>~1yQt3-P&rI2<&X3?$=b`To{q?1M_9@ax-ae@u25!s9}4Kq+? zBm#7H>FytVYWIQIa0)~KxbUGsQONHN_`FVs4GMIGSB$;Sp74Z4BQg5 zghPZ)PiX;M4Fyk^6U?Fpk71flr`w)?FnaYy_+XR>6Of0-Lw9%2uI+nrUm(^t zMN!(h`-OLZ{9h%X^<7&wgx(z7v+v+H|Lq(7{R5x*#NP${eypi4?%DgX4}N~-=4GGx z$Xjhz+sV^se)`@2jm8qImM@2PMN?hPsWWZyIKD0k27^w+(_>c7?KyVRXSYB`f>Kbo zr=NTNgYW-8fkywE*01nh<9g}9k+1!~Z};{O{KF?c>hpTAC=5oUFYZ0s+R2 zAvqye^F79f1p6VVFyK#xV8Bi6PjZ}d<#o6g241r8R=AI*_Ix32iNkIRr$V#dO0KYy zB-zMGjxmAQSAkthqWuP&NTggH^~n)A1gb?=b9yx%!&f~+?u-e%g*w2{vN=2ry#{j3 zANycKC7=8>@&sv>E~j|G30jL}Y?w19eSv}tb45+8C2H@p$=&z6*4zju-uNSB!g4_T z?TIITp4sy~-dRgwvNf)=H4@XEMlgXhGBn#u07L;ICoN1q`wL6BRxGM;EZIVz(X+#u zV>c!q_yX!oDl@7oG|A*&iFffsT;u0Ny9XM$h5Iy&-pMbXmB0{S2rvW~0t|t9jR00# zEWQZv9#I}BdiUy$+aJ8E6iNoO6BTT)VE<=tZ|BZqhi+Ye<;Lbk-`)4ZQj6=0yPsNE zUiG?_YwJtO@CVxHNOwnVs06ly;Qj%`Qj6X7r6>O6aX7avTeYyP5`O?-IG4S9*E9dS z-VDYAfOFp$@yG>Pp zxBHnzRW&e|bk)M8yN(^^4!&r$ISO@F6hl7)njNS5d+WlbkanPSIJJJ_(7ykA?(s&4 zr!}4a{*&7SZV%d0bs0IWlE`FE5A=aKp2Hs8IK>Et2kL;Qpq~L7O=uomdp9`TKRUE` z*>g|6aoxr%TSjzzQ3@d`1p(<{G#St1DddS^1G<#p0uxUf4o7Q{!~iIe_28)BHq1uh z3e#9PnAjDK{9?x=H?Q4TS5jIT2;n|LES>t}U!K4Hr5DOAHmFUktZRs8(hnbc85tVn zI88OnuFxPEQst|{<<~7;ZG*9m{99%cw`OFPH7sAw(-4`=*u`?}~WOFaHP zV){UA;T;W1`|j97-yx^r&OD}PIt6#V_m*$j>epCnSEqOWJIDKsT{I4+Su@9;AKw0D z>AQaahp+AX&YqWEUbkkA!)^m9Hqr*O%`-kiD~z6j zQ7iNXj99tCj?z$3DwFN(9q8_lz{2U_){g3mu-$6#OlN$HSOsSS0>*nymLu|pgZ9Ni z99a=V)wzZ@3j4nc&(4JHK5c=FdP4?)O^U&b$8mUpoX?^=mUHvN!LY^(3;$Idm)i4? znizmb8Y3myJf#h~}I?dn3C*EGN#lm!I7&}6XjI(A&3Z4E$;xuT@y;%SNKmbWZK~yiu35>*N zb4Kj!7y1yXwip=x^A~fiyR5aV#6SgnR!iX;F;EG!RJo(S*I~lg2$^HM8`Qs4vv(D69jBlEVf-2T+yFF$2#+6<))!CfSJLsD_AW9ij$Z+r5Q_Y3~5 zu>47Lp1LbJD3?_IuM_ImLWD#|EUr^m0ag-2fFZyTUDv$svwZ5_C zBTY+hJMvPq-3i9@Y{VuDdma|sPj^3a&5AWwwk&H26vM@Ir7pbd55Iix!M#f=YiyDg zj;Xh|9$8yl2IAwz&NCHOJ6Ji{;o+Nq|FieM^uqFrT4)3G#iRQ=+u#i%peR9$HSBOb zeDpx?owxN5$6+)Why7EURxe1Odi+mMoj7t?O?}YgJ>JvxRQt)W%~|2~BinMTJ*Df= z^ncrZzxmMNeQRnPa3=4C(5~lc%guw!f7_GW)9DmsAux7ysH^>VCk|=p zv{RDm1k0Vr4j#O-@7nr>3yMnz;zPUITBF&_;$TTexp&2n6h4sc^IdHV+}?o0dAP5q#A1c5J(Qmf+|58VqBPsjRt${eoYbow)o{_)rQU%afW zYC&<>?{s%Y2ljV&{O-(&Wy)VJ~lM=ZP$MiU<3HcB+M9|HG7*s34p7Ct0SZo9V zU_#gmgz3u!5;J>Lz-m8M1^i{QS$GmgpShjT!j!-zrxN&CJ-&^}Qzx9Ad@tY*mObN& zTd?9{jMI@{K_ijxW&kWWR)L#PjOZU2*uDSI#tn-vUw@g` zLJ$TA2mkcg?rX1DaqZSEmE~oyBDG=N+LI?+pMB`=6RoZ5)~rU?kk&*FZoTqTE0!*S zJOd6Swr#%hYuxRtA>l~lcDKwDAQEQ|yQ?pmM_+#Q0u6o=yO z*5d9E+>2{zp~c;cySqb+1lLlmxZL#l?)%*L`xt6>@jHe-W zi+G|fw*q6j>%Oo|0{f8o%7-20-(OOYA8 zQD629F0D7b1UVA(_-L*b*!x^fMlw7Fhkl6|Jb7HsCZRgzt%p@`GM#rl7Wl(^Z<1$M zl~@{vO1THm>b@q0OY^tUOH39~!C-x$<^P8=;bDB683dP8*O)nhDwnn7k?jNjOWkkU zC*ZaO`XX``RFgqan0$Je=@CVhqSJZV-7ur-r&bd*>hX2%)Frd*_|{}&veyOwCO*f6 zNk0g1fK&S>WW9VVy_Y#wCFdnIjKekRCdHjCJRCn~OJTLvaF1ZXvaYw}u??(I-t-fW zB0r)j)MoUu=V+(fS=7R+B7*Kj%vh;hF?-QT0FJ=7PGdP3Hk#=zxlb~$@c}dK_^qFi zt3~mU)Mc{IMmeLn*ma64t*il+J~dexe$j#Ow1~$(pdRUVlSR=g)dWXfWKU?1`{>W_ z0ElpH6#3e0t6xPzDlIr0ZgA78?gm5d<=gE=a_T^bIw)GrE3Y|DGkdW7s!u}5_YEAE z1A;1$4NjND+F}2Pa8gIW0qz2ti@id3Nw>UqxFxf!;g(PwsK^^P=GMb(6UODWnfj10cF1mYZMn0g>)v z58^$=v{-B;i5N3FnTUU3ZI>r)=1Xp|wJtx0-0SupcTF_aM1FBzOYwZ2BiPxR{sE;! z4{S>R36mN98%_vOcM+}k)AVJTIQp4GmSD3MYeO1GBVQ$99{fR@p<9(2OQ(FyAfnKi zD@C?8U`42w{UyB0K9!)70E&;$hJBtEEulHLC6lPMv+_A35kH9nw4bfXjf?*{cKun> zDLOs}MPA$aC8)Q~U6|ejk(@iTo--BKuB<|_xW0-)G`Ro}0Nk+>WxYdr?h08(^nac~ z?J-c(yo_GXv=aNw`Ej@1>I5s;=u?GHLNtf*UN zCcIm?^tM!|8*C+WSgF~aCkMfDK7+#w6D=md5Av2Uzs z1Y7jqsS3*=~(jw-B-jYEG` zQ|($x&kWe%2LLvG0Q@K_Z$WRt^7!(~{3`OC8`?nBwO=oM_lLy2@ZQdk z0wA8AvX`4o!S*kQjx#YJabk0p5yLfySDG=i7A>tagIhVarO(2CZ#g1P$GZ*Pt`bj$L@09mnF2A^(e-d;w{mXS* zEMS}Xd*ZZJDIuQXQBl6wS4gHtLrhsEEwl}!se?>m(!Q+AasK4AR zDz7qdl@|H36X$XaD@V)PTXm4VEd_{`R5Djm{iieVuLzqE02~T^VDFNlqK+-EZq(9x zoo}lUyVymHJ5?n&%uT43NH7bXyeJdjY=3=M> zW*HaKk_nkl!?WpKlTn?39mMwBq-B1P+QXHRl z<(nQE@3*>#L;DSTpBU2IHF$#}p@4fTjsRZ4JOyPQc|bLRl=?`BT_~+|TLaxTuEE=n z$F2^Tk;Q^hAF?Nt`;k*z&J+@o;iyrlLuvU8SqDnUE2l})FAS>~BgV2>J7#u0a{0I@ zLBtEBh7t5{BI0-vf0y$p@SqXTvDW^S$^E=A$%ys00ew4b&84A$iZmb6hKK?FdVhW# z>1J0|KN7a%P?^Xf?%}Mt4E1WCa*%faWU+*_Vh6c8wsD4j{vbfuDr!fJp`jiM2wa|l zg%WO0ncD+Mvv35DAxR`#6u!$g>)^aRG)re>OjJWAE~UKa@(Z#13H&_2Ip0NZ5yMwG zG#x$Wq(^<0(edM zWJPG*Ws`{hrJk+KBbICO=<7B^Xfo4H+Q>ey)Q`kZf=irphRbYetL!Z4Zg=LyQ}V#Z zxWU9~rNHW5ra-%+$_t4`_-Jv7N22V}R;U)BO)n&`wdBy$c6u|V5YG%UYf>tj#}<1! zJSH5+2!!3o2O+Y!D#Er@2Ecm>J096oYv0$cZyxtDFZ>nOzne}1U*PWKU25ur)_=Zs zJ-@=9&wV`*(OcxQG3Yzu?!5oYO^w*!*>22CX!KdDD&4_V$rl{)o~2X(67ZW9LAWLc z%_SumN};VrgQS_jSytKLMj;c&*%(6k6W-JKM=fRaP@yX*BIGO5b%BJozN@|~ z?t+Tkx4|whfC(vlJct(bC)t&9I2xLjrlQ}WEqoyiZVuXGrRPJMZeQB?SfL*&1?@)D zZ9UMsIbVkaQkN#;nqq;q%%?PP5cP8B+RvJ``J_n~ymxHVFr6c`-(9kD=qWmY1GDBS z$~u2J{$)X;_35`=O!$NMOb3Y@;V9TMgF~1@I;%=}hv@J%>(~9(K(<&_T1>`R}sjh3T&JQexR}TX;o6~235E7V7s?UdD*q`_S>y^Ld znC!z}&D%ZaCV@)X7tQEKM)y0?y@}_JD#-h7nj{<=Rq!uK2S7On@y^R(7tU9f8RRG& z%?kwY3xwhANe2)_tTBzBD)8nSzUZK(!_xOSqWw1}3sTgu_w(@XqQI6*cF_+q1FD$} zsLUHH47Wc)pL`+n2kl4ht?2?oXZN;TD|XICnB8j`mvYun#7`1m7cIV$Q`Wjiz1?3& zk4Z{k!m2Gx4^TDy>-a%KP$M3PH5}W5{B7=bZ0$CTT>n@0z}k$?xNr$Fi27l@Q$&Ds z*l4$a$>E2#Zui4MA`)QEXJzx+);Qj(rf%XVKXno+X32+8VKr2)f!UpJx7k)eDEk0* zG!?0e^w~Zli4_CmHrYOFY=ucqH$`BTcgP#Mna0Op_KG7A{=7) zrcE~5N+nO=!7XIA=VQTB4i#ha&j9ek^XI6#J$!!C!d6xuk%z2PHkxY<=&)<}PElht zsXrRwyJwS3@IBSz^cnz$VqwWVp?7)h=|VyX+7~kpDx`L|m|XDlXgVPTOfpdM`Q24}tbKrQQZT|DM{KoClZScZx zH`g_Ul5tGbz%KMPH>?5deCeH$0Q5lMlp^*{>fXG03m`5QHv3(zCzp2sIZIzAruL>X z1xXXrWjfI0Pwu7<{)9kp1MixJw};pIZOL!(_GbYBlkTcYUS&n<))bcvv2U9REa#2C zs7KwUr4e3OU9i)8{TzX+csg%1OhuQ&cskyq8Du5R^@i<-{6eOUn$PYn0AoZ*(t%jQ zq8E)-{jI5h)H3$2J%3zj^j|b?Msa=+0614BLgt->7HG!E_KN-xzg*Hy)p__W&|nm* z9({wW zdhB9?)^`@)hcV`~M7hfc694 z{C6K;(VUHk-?86cKi56Rt?PE+Zv&L{5wSAuR<-s=zQO7txrLu>UXF))ZU=v0j~F5W zSy($u752hfzr{Q_&ixJ}M)dK;t=v?P#6Jhz2(&JtB=E2!c|eOWT6FI*{B#q`=mb#X z_~T~QLqnP+uq20nS4%) z;WNDl+*857A2s8=uPh=8IAk}R&O5I$o@Q(CpOst-alGe*gVX)aP9QD%YLtu1olz1> z`?jfk@0{W>tI0s=T~^I9)!;|eA}17la4)819%PQB3~-)R@SE{poIPH_!x&FQ%;iYr@oDw!We>X%o`iyhv1DOdaoA2k=H znt$^UUC3Au!H-r^;cHLICy&QqcW?p?-}_Qd(YE>dkrA;Hysp zf774SuA$r87UyMCd^zz9(|`Mw+oNJZa6&zB%(#^0QQN4D(h|VXAMkNnWY@ak(&^?t z+P4yat%~_V7i}{@W@l`ueDOO@2qQ>wZ63LP$M2Xn3gXT^MIOvv2pZ>Cu$iR;FE%^J z=g#?OwZF>=?^PQcIApc>6g;33`JQeBZ_!m`#9vkawS8vB@7A}@&J1S%a@U~MC3mfB zS0-8XCt9fX%g(dRBAnv6Cb(&*Vl@m~!Fn7}A$=xTcyqRItX+#zM2F(51UIj8diy2p z3~5akc!rq=ks6=#|1&|c$*vuuT&|Aasdy0QaEjr~bg;nda}B#Cu$zD51T@XiX}4ja zh5jug4oX?|7WimDCP*7YST<6&V*EBmaaplw5~sQ}P(J-76TI&Dqc5_bZFr_e4DB+c zaYP5JWU|9jdVjB7gAvbt&aPy;N4~Liws|W`?6Y4`0kkSP_GC*dxzXeNQ*uedJarxba1VQN>w`#LR zW~Y4$F}}HSxy14q)eQvCUuA@{X5TLgtD8?gblF9q#cgpRNH37rz30T!$Nj%w@_(>E z9Z>sXL0Ig1y3iv&*jx6HQmSDfE7^u830zwHU=4`%hs7iwKCOf`4ZT(tua{F~^mWzX~f*h!{$)R{SHHVy7cC(f) zNAe`LakTS$(5N{K-;Bkv8EcFy@Fu5Aid0E#%jhrZ<95}^aI=~A*~ED3**8udvnpeA zXCv%<)9RhCYcI4NYA2(VqDs8Yd6}J=?t#KW@g(D0OBCv`tQ z%$B44@x6ODld=4<6%VUaNimj!XwXBO1|cnApzx8HVkB(azf0RdD*vergedg1OO_t!k$cr`U@aj0m^|+!eK(f zF2nDSc{=3fpGUa33VcZyBXJNwy^5RkLM$>Xul%~j| z*~y{9b=Y(i^7y4qbQT7Rpx6$#VUt!zl&sS{=++=rz+P65KIv>@nUGC#2X_r4;PmuLj6+UGiOqt0G*?0C{LtxlyT~*rQEQ%7cQJoH=-;u0 z|Atz+EpsX9r&a}3Re9;3hB|-Gf0TNdd7m-o=YO@=9J#nl>K2mtQ4(qUoNDxFMFc(1 zDymInl@p(`3U{PKV;seoB{6w{8>`Z1=8{%6aN_Ly74jI zfvZ@pHka(=r2Ant>Gi-n$Yt2^cI~3OyVqfaa5emsVXZ-!&e6@6HPpmlcS~tb_3LHl z?!Vt&?-pyGrq#MHC%?E|yrdAuQGK-Eyds~4+w)*8tm$_8)oaP{;_@doY3-5Rw#99L zv*=|CyQ`?Y1C}`1vr}19-S)g8F8;S?_=kjbDLwDG<{P;CzV6`0pk9O@-as|sOVNcXci5P zFHCi3Vy*YCo)rHy!6$qhi|3kc7C}w(#dQs^9gff%ZAXnK(x=Vv=cW{{s}<(rp~N8T zhTJEjOj_NcVWPg7?v*1i_5>A?Tu7P6vJBaZ@vDhgPw|WxMzBN&(96+nML_J55AI(| z-WPa0y8sx=-COSzHj6AA&M7Q$Ny=DwsuA3I5TL@u+HZ^FqdeHo7V*I;^xe zY8wPF1h|BcT;$;WCd#Xr<5(*$*=df@jqbv;QyuB7a%f!FtkXNP-wQ`p1r5P#ay)0h zcjF9^NPCv=(B8?a{yOfrUH8k(SdzJ1qB(LK32gWAvfqWegn-YG)H%YA?3aJ!XnbIV zNr6SUp%uV`dV2=aW9ldi&QS2Wkvm5bSYCjf_K>^0KStB!Ca_jbaT z=kpgcO~)<^OIiJ+{LGub*EiPOq*47?xU%;4ch&x9&wnYzA7}hGBOa(%o2znzz1nU6 zbOj!1wRP}zc#NiWy}WE}7$O9{B?I&;E^4R0KHa|UKE50`OJ+(P?d$Y5UWfesupFrr z>t1hUpm}+b6yP$hotyX>j2nYtQ{P%B(Am{mWuF+Z1fxgSUh44 zXSYM=rKUQ8$QFaTGw*0dQH0!z+mY^n)=sxV;5G;zy3{X;b;EvFywizlK4Wv({jm@% zA#h5gA{*C>6JFQ6)jh%;LD4kd(Wi14R?yJn9{cVfz$&F4WY1Ffse<>NmrEA$@}>?dn%Vm z_&?^r3@=+ApSf!lw)c3yR?WC@(`29QH$7!LZJHi=uh%BM!KNn5$&RMH#WZG?&a=A7O%At&*o)NFLI4SRUCwRJXOrF@CnFN=IoSPdz z7M`Hez(FTR1J4Pme`H+26soGF7q$hfJ%+h1Hk{q}fH%m(CeTDg^Nn;g1*i z$wYu$NgZ7^%atqDoc~+H#Rujf5akefARbK~D;8u}rBlje=0Yj#THjuRGKY}67|WDd zojj_gm|>kcF8lnB~f;zO=-@j2CZf=0jSdFyx)3#bw?`UCKi zj`Y*CjLL{Q>07_eZR}F3Z(jOy#yzt;LFiU^Ho4-7g zKLf-L2VQ#b3f>zZF7K(pW~jWeEPu%9;_#Wr?G;uEL%1Ex`y||;=5ziQFlhlc{u=-1 zT@_KI31KfOP5_-lhnkvfj0O$S{u>0&uAHANHIMby&$+G+@yNCpnNL`(65Y4H(?E!6jL)=;q` z)=~X35BvN0AhdsOf){Wu)~DR7F86#x6WHxE`LwlkK3NgBzY!bVx% zB<-mpbIv|DNE6jzbNCxUO8JAHVXA5v7v&ZV}}~h&Spi9 zQqnJl8XXw{TEh4&b?8}`NsfYb9`+Jt3iviIPg6+DqQqW*cX-P37R{LiMk{S6S zEkaE|O458Ni|@==P27^vo=q8msWA;|v_$qs0qQxReo*lvPyDBC`ZJQ1nN9iXM!O`G zCDl)G>7aChS(+r0Pefv2IRrtUx52-S7I5ElJNS#mDKAh`*Re>P$6u)z9 z#Z+vr0MIO8d%eIJZ$q;2jVWqi5u@fJp6`zMxmr;E0ZYOyE~2|;7*?OElKkS938fRF zP3>^zJ6UrRTh%q$M&^XK1iI@~u`U#VH<{l)@|u60s}rixut@mtZPepIC6Q_7S0qE@ z06)dtENBvSqEf+eE135s=#rW%6V;$H+kQPl1x2J%IkJZl&;uVLxX_=yP{o(nl+fCCF?7w`!?u|Il!$?b{mIg3qm_VdCrHfS%?ApsLz{BNlf$)kH| z@g_{|!#9}nc86(ubaRH%9OI|0o@nOXqExfLikB{b!i`g&B{}6LG_ZmQ()+wceGt{6 z_+DFXIm`5vFi47kpAd4-97;=H2%IP4#Nur^5z;T1+CZt`To~zE^OLn@k?0OuaZnGqnNyz6&pryYAXI{hb;X{tEO3hhL<$VbxzxKKbN znE+pNxX8vAvD<;9q_=jpdUTRjI=RXNdRAgoA#C00J1A*J6Bf_=#UGrFy7&+2ZQfkn zWJgyOb6x+=3%ABnq~Uxv?|QSEYF4v-%|bW%aOCfc#qR=Zu}_EqYRxM2C*NCMWTN7H z+9#wrB+2((wC2l!17H-3jG|OvZ6guoX$B@2+?<7;h1!9#Bauq-Lm8W(07q1xPI{BL ztsvRlk2aft#$;=aXt>{Y9Sh)Ybg2OFXHxQ5c?;Jc0@HnI24#Tc9#70=;X*RyBQl35%fwO-u++#CPV)f9t5tXC^@-to=}bFQPadFg$> zpJ)=`Bg}l6&$n&;Xj8C=jNgg&jZ$Sn&ngiVLX60a8(U17++e84{NmKVgqgtRGLHJf zXXLzXU695G0@C{m%lAU}zryw^^Ys_BA$Gqy2h^7Cywt5yxXx*>5qc?BZXTSFd0=a1 zO%Ttu5ApYX@Dw#?irM%}t)0Ed2vnthEU1S%NvrLx7!I@)}3vdoys%zeFMbLz>{ldRmv zpqbM;Cdr;PLl6QU`aCwHO3AwK>8bcNdV{^hkK+ummD<{Fj z4;4h|x|ibf_R(KwWd=0;b9fomyJb}=ex#-tTGD>vQzLV_%5%|MK!5oUuSTi(DbgjrxiTwr03{|NmnON zil9ysA!havy>?FN)Zfk;>Xyu~gK6n(@_T7T0(OGn0TWjO?qAs|QLm8T`5jE%)!rAA z*B8jpfPDEWa23FnOMm}PVs6#5B))yvQ)8C=Eumy4|on4nCPXRT)NfgW;2q$sKd75DV zD#;=B-n??OVySxh*GrGPn1w_LQe@ABB%H9LU~$xP?3NHH7F>}e8^uWju~F4kkyTL$ zeiMjwiTmuA5EIEzwJSX~+K zPAzdU{7Z?An{F;UwBU}aX(TQ6qGH^sf)$fHPWb>KX+0MSsE&tDh}5cFfsW?)eFH~9 z@8j6z31Oz`ns0m7;dW&&lPe7ux{IZD2LZq*X5LIuh`Hv@-*vJIG(=ePZce`nh|!0u zIePaa4Yb1ZUtkV?i$DeA&H9Q!5;1Z{_Q+`--_Zr)`KTc*R(OMye=x_F*(waqrA}s1 zl1}|gTlx##n}}GH^`y0>=-LfoRbc}*e7rv@E4=Eo!%q#tlUm`IX5ah8Nu^Ak#Xcp# z&u{1*Wq9Ue)MzokR+sm6^>+jr6W|c`2T&4mwzEd=E+g7(alcR^w`W!{*SLME-G#+t z>Wyf0dUZk}+4LC3+_)+ZzN}aJp*_IG$knkKpO6#aQ-Yq$ae~LS9CV+|0sqeZ`foqv zJtGto2VE75q`HSDvKWy5VIp>a>OoPHoAdeF}pv5(ReRJ#-c^;*_cTLGQs@ zySK1WG4~<1qwQZ_$HYhxc*x;DX*WiOcab%iNm9Z0wcDqjGR=BFYdQpfYS3}5l`Gv5 zL&pe>lM9(S24$Y;8W$b6brX{bDDX3Q8h#d+kQ3uVm~@%dZwQC2ZqGFpl;}s6J_gq0y!NM3b64(#8Hd>jGqA7NUjOk51NuCQ>QU{($N^bTq^4%v3G zrfRG!*h?r$6!$yrSr`3n#7{vq7-BVuNQT1Uf0*{vACX-TmNv7Y3aL{iN9yS-bwxsf zTCs-}{5re|EcadAFQ$uQE`L%b_GOB8rMGZOGr=wB4PYAT0P}nc#5av=z(|gn_Rn#X zna*y*{VqIPmj#ttbX(^?+k5M}q}j}pUz~3~m?#bR=*U;~kb&;`L1q?`9T&e6K$4lW zo|OdKiizru5kz?oEHE4WFaL)vLlEAZvlyAjZ_=E<0KZfQ;iYv8XCU}H9%}nNy>8MG zIE=KZsZps+dh@YE_%2fH70f}G{xBs;A+w$p#1vSvUWs06|FiX5w8xb#Obk0=2B=lm zkV5waBx~!vxBKoEJC-g`p&Kj})M_Gf{YG-iB?H7A!KH>5p-^|%iVH_a>*gS*`?wH$ z(%AH;R;w|3W%)vAF}BC&n{bOrm5kW*XZ-f@e?lt~K&4IrZ0JfXld)@S^McdtNWSgR zLZWs!wR&_2J8FPPm1l|86uXacn(+aYGBU&a#`AUWI;P~8+8N1VsK*F<^dRIAN9MGu=OUsKsBB^-b2}o_Gm0Q>hK5V^ z?b8ztysn!>qyksWa_W!58*_nh@%EkHir{6(0r+P-!iI|)8<7dp(axSlx2x`vH!05cWZvtKKS8q(=a@1)OK5r@-{)W zcCW&twfc}4MnAc6p{wF=WNT%FWD@*g)ryaLPnu=fx2X=wj*z7{_7?n|E?X>1-{RXC zdqZ`kb`zxLQ&Wpkf)mg`i?q@H0jUXrY(COo;JQwti?`vBTm))ntiaAw`;>4 z!*p7>szWdv71CTfvDdcHtFQ5QVau@qPq&Je0)Il!GF~RDuHE=>4fZ@P! z*lc8aveG1c)6*Ni&YbZ$O3FGUmKXfZoT!n6;6>da@Y*H7*~r&;Wl2vF3y&-3x#^ai z$niAEMOH^|Y??YX#H+QqjO>~=Tr-&J^s1)Z@dp=~;OcTyp9*hab>{ky#-j*8gsyD|9A zM4BF+JKnX>#;is)FkRxA#0|*TUlvy0Amw<^*>dQ>q(_%R^QnyyFSm_q|0vyQMcKgq zxME!KU!`M0h@i*Nv*D@mB+P*>wwm2q!4~ME&h9Evd{IdREy#TElQ8=;fBw9s?GWD-jbc$s(~8A~K_zum#n=gl zm%oS?@prqX0=%U4t!ClMl3mzm0`-SWSGpJ5RUVs&h36f$1w~~8_*Fkr~C>T&0pdRmbBDqzlxx)z+tl;95 zW31e$$OKrqi>$N}IVS&jW)eNZ)=~=ICiy5u-3EJ73ZPs_dO}>DR0EX3G6!JduCTZx zEzs#!q$@2nXWrwhDRxeu=cVI|=9zJw!tMMmbY5ZoC|+?{L}SKkF;Egc#KfeUP?~Sk zbf!}s6sBiHV?gmWjw%k$en18{Gm*-haIm?bQJf;uZVsf4@K~iE&&w4<<`O zJ*`B7DwU!5+YnKivFgg;BhVZ0Qlg!;Qm$`n#u3@`{n>HQMW2bPU6G}n^7%TENJCaE z1VAQ6^)Q+}VYOqg0R7Ydk%eYxJ|38wJ~Y3aN*L+z?hpC#3Z4F%kbv{>?{O@{{29AG z@BFn^K56yX@m9}BC zoulwz=(jvO+Xo{aD}t$UhaLk9DO0ZsIz9bT5_8peS9thKhf4B2-;ZkXK&ouuMXhj5 zbk#5y)>&dwSWA3 zkNQVOE@d|EUTTy9?DQ=&S*DKn{%CC68nkF5AN|6NNfF$M;46(99lthlX3j)Rbl_zJ zG}?5LT(Uaper{Jetmmvrw9j~|+ilWeQ9{!(_Nh!ghQEyzmr4O}A zY{~xRr^5rI9-v0RkfrODaKiNS-5BwId}^p~LP%>4jZ|~teMn7O{&!vGgppSTvCy1* zLf1avkZ9PM+4Xh@rRMv&y9NOJUrQBMhI1DaDa3LK8j{X?|K0hgSU~i=)jnbJJ?VZW zF9J-jmxhJlA-K9>SHH_K&gS3nGH~F#F6h)QEIthP;cprZ+!ev9iDz$u#j`;&!_ueW z3HA3T)H={L$q>~5Il|5` z)%xflxl#|@g?=QUf*p1qKFPz?aL}n=39K+kn-zm3?&4XMg%CVcN&vLm#qsdCX)4_i z49-8f0_Zf28P~XEwz`o$Ry67gi6GVPIR$g_Z^V40!CyA=P8Fw~o(?K``@-{YL{}$C zm^amL@J^OWMgL@AJ*73IarvvztFv;;0?p>DthBrdyN`)R33~vtw;TJkvNZ3tNOdO2 zWkYagka00Jv0%^;aHV3s1EZ;7t#nBke=+|o*^P~xcM%nXQHU#?(o2qHXVfrb_A%w+ z#=Iy*w%AGtKUB83z~>`4dva8w-?~LR1G!>6cI!Kt0yXJmKOnYlWGHmZX@UcA{y@M_ z@&{-StK;-LCY=Ep$DCnfvrA7m$6DTo2=lPva< zs;CZRhI4%r`T>zNU*q^y>OT;bunU5t)Xp>9s=wOMxpJw~>z_ib=nPJUjN+m3Brnk? ztYn8G@!*6RSJ~k?3}?OyO4x#*#{#ne$1KHGsQ=mF5IEyQYSphFMAJpT{w7XTcR`E5 ziMa4Zp!l%gNF^c9%JwsUel{-G62u$on@XRR;V|7Jbx_X>@#+wys;#4DhKk(Cvj^@? zI_!R5X^2V{*_|PRK`fx!;;9%2dfVZWtQv$A?xj#<0}9iNT)|tlZYH#v_&A5(s~Q z$9fQcJAsBAGM*q6r>up==}pFcNC5J(He0hld6C?= zX1Atn`NI1$m6c|Lz;hWp4eGrc*ne-c8({D9rI_iX|JM6xQz*mL>eXHnAVQpQ=%|6X zv?pu8W~`5Swk@GGhmi7ZK}7wDQHESrXWW^93@(Xa8{@k+){~dHwKngHq~_Rc-sX1` zq2V!vamwrn9p7!I87sut`5fVrhHBq&E@`F;8mc&{=$&0*z>ke`DYQzVs}hDu|I=_y zb^X(il$^ZuQfKyK!GNP|5Rf6y>y2vF)Vn$W9V^rf4Y9X&Bn^TCB2%MHvDeq`r3{m$ zAE7QEi;Y8cX>`SkQ;rwlpWdKeTGI`MGahjnjI+TrOCt#j2;HEDAk*y9(3o!3%C_`o z6r0cVk8EiZOr%Va05E0|SD(x?2EjeS0V!ZyaU4`Y49So?7v+dgB z#CiPEtnm9=AEQ$E$(0aIMD?sB>b?RHkQT#>)Sfr+ z6Lc7C*${|R`=Ex3Ko1`Y++Zb(7qHu{c$dBxEb^GW>9(DyvHUb(`GYAh-my)!i|!nM9)-lgyUv)%cw5q2ry-L@0i{ZaYVY<#gW6=gi>?9 z1NOLkI;k`L8gceX+GUIEL?}JN*#pv;x#XCqjM=Vo1JH0eNk!5|^IM==XvG1#n-aFp z-@T!gNDN=b2{G;vOax$@WvVxF$tN+rtOMo5`JdZt-%Pk*5{MiHnL^hUYsI35^NJ5m zdQhA~ZWvUOynAME9Fh5D4dPGD9X%ex$+8DRi@s?~g*#E$11`AWM-M5;xN0JB2lTTD zfmzRqKj*;J5x5VY6N}15B-w<&t<(R@^uqk7DL7xRrOo%Ru?~m&a#^QvvMc~YNfS)f zJs(wUUv&PP1>kh1L}Q1Y{f6>9$TjNBhb~UV)a`RhtiH($rES?Rn6P`|hSK`)mlz;S zn%87U-Et(YS*y5f#x=ohg4J8xkiFvV-l>}QUV&bWf+!F0L$1fv60;7vura@B4I{}C zF>Yk#S;4&#Jf~nmvtHDpZrdWxJe5Bckm6 z2OP8CmO$7?GNR(mc7$eBANbfjsK~X!=7;l;zEva*XK}l|0e zj4n{<|G*IgqaLzw02s-D(HQQ%E26xglXcV@6W+rThpcY)`#>>~$jqZxb;FqyN+7Fi(ERjENVgOjuL^`VysY)du*qN`n!) z41v=TeE@^Bo+SQE2xx?_ntV04xHJg)oIRbR!b4;E)6gf_hCg&M_W$>!t2W%)#{5_| z{0I$k)%hHAKp~qM0W`Vd?9_5pZS35K?RbYy^vI(E*ebXTSXF2C)9>Ql@W4q zkUwJf4?Umz8xO+2yDH9mJZWNRkLxaS?|L@zbLU=9cz|!<*Tu zn6?QP|8v{J4zUi685%Y4NK>L?@>s5JY}y>ads=QYs!`%go6vJDdD~Jfv3=UhE4%d( z%ju{ocAn$xp^oIk9;>7@l_d7hsja%P9DYHd1fA5l{X=d2ZrJv*Kx{rFa>}Fb>7e90rEO5lR ze#EKMrxp2Xuazfxl@;<3KMfhf8~HVWUSCN2&%C2&#fbYx)yADW)?4snx@^I5y#=`J z#y1b?>J=zDS~_-7S}zPMpXAIYgzSPul}c1xBj_8zjaYsLQHh^V50Bi1PR9+%xCACg zGZ17OSQzj%G6ep!v;QZ-Ek-5;&xXn}{x@gqNKVd}4NvQu1Ze5a+gRG|qmM*U8wA?D z+LkvP40u5q%Mmy@NVp}k7bxFWRdYL6PO$x-;ah&$)V2Ng@)JrGQ;WR7C>}gW=0$jx z6h<(HM31JD9oYhDWzaW$TDMV;f?Jh7{+fy#%%dXJ$<0#Umf}EsbcA(y>7;gdB^UJz zt6#EK8fUl9fjF`x^}zTxuEJ=I>3R-WuO~KyI)y6z+uCafQb~#)XmOGF=#cdA&A&=; zmksQ@raDZk?^2k`y<}k5F1Zg+J)jPPw~i)(aWD<#a;)6x5eS4uy|F3k$*-^rae{tQ zYeK*CUo}grEN*IXFf;kPV5bU}yg}{5JieQDQ{C0F*?}n>t2B`;I`sdlh5xwmB!O9O zz?@BWp;i8wO|BX5+6G7GgY2b(-ZSNLw$%Oe5?EN#o>qcUHm?Qb+;$Zf0RasOdH;X- z`o_S@x@FtgwylnB+vwP~?T*nM+Z|gww(X>2+qRRJ@1A?^J@?@KTz}Tyt7grrF~_J` zC09ja-r(eB9<;7>;J}8SR8dxDNnc(8m#hLILSH^%;!iq--CUlo|0kTuR}dVL-l&v-{%gS21SV;XWTKK&`;BaN(=7tC@Md3w34IMDW?CxNn){{PRhOC;xL9qDL@ObyZy|kinKiy;WOu+kpu70B&}{)+eZx6M=Xlm zbiT)^YxcaBr(M2y-6#axj?vpeR3TXNX;B0Efm38_2gx5F3Ja1{-H4AiL9#HE<=DdM zX-@F6X5(U^f4b`8K^MRH2jG*TAz)e?7gM*xVqhioz<)O6%sf%nh+mp?8j^ws%aJkM zvKWHPaLI4P@?3d&!ZJzgYTauMM5lgkMSN0QQyW4JL`ZkA}Gx3oC^FM@9V-mYBc#^wUDsEp+}aM!0-E z-@yD>+ZZ)v$?R*$qiV0JEn?Eq)5W8|hcw9FG_2{>&h42aFUah{WF>*fcSvUYt?KSZ z%Gj&O%I~47Jlpa$to{NI&jR;|Z*9G%t^9pSanE{+_oktPXLEkqY3!FPZaPNNGss|b z7V-z#K`AQ;zQIi(EGcW%whA2>$}f`Ux05_Nt9_#u+iVA;u%%nPIFDa?@_;Sb45r7} z(y)-{Fn_~D=t1D5`YL$K3oq9m+^-f2M%N%S2WXtS{Wzv2qKaI>#I!?OIF8!z&ErZO zpE<^Kzcc=-6et`ZQ-XTwc*@7f%%KL}M2TAhSoVw@x?;Zi@*}R%E*p$SW+G4kUk*TV z4)&Lcpb9gpFfwyt{|WoZT~hSHqQcpoeGxlVwDb|Y%0{!M-Al-~xxN3;efi8K0VYcg zPb#c9yv}yyQt!4GD%SO&ap`TM;2!2uhX}itLDupIel}N!@rHnQb>PyI{?O((N%=fU ze}8TrqQd6{Y$gJ)kg=!!JNa#N%}fUDiS@U6ADBnE{&AetkwIS905H~UCd8eCCmzh< z0sw^>{Lp55D&Am<^@dRJRl$UR+*!SrF1vQ=R99`|4;k)x7FLh?a$|e#Q)B#Mznaeh zeY|CNW82-=Mg0cX5$UeJpO6#R_GZijanCeSK+`TKLWKUNvOGZ>{cu6qNUWkcJlhPj z?c`Py(k;6w13QmdT7zmZi zzzk--xc(mGsNsMke}9Lm;o#Ipi*l#qIX(#GAwy)-eM&(i&78zU%RKN?j6yTCzjq&? ziXQR>FL!`yhE3X)&3=aO*~eM|{sR5~eO~@ssQLRND)1NM>TJfD;(0Rtv6}69_pv~_ z)I71@U-GUmDAs<@X^j{QKB zr6)D~dETdtk@;is+8t&V6T>SY@j$`MM3&<4jhmmTL)n9_!aq%FJIKsuT-nSBhbbZJ zmd5TkLr?1KuJRwaskHM{^W#P54OW(x?rP&7)D=IkXOA{j8L8o)!3ImGw&9xBqD+(2 zX|=p;&0p(=5cnJq`avlX1g1A$a)TJU>~|N~?xQe-SUni>ou5C?vLFr62Ns4Ni`MS; ziXMf%h@*Z7Z+Jrj0~ao%pQ662oM|Z5@a{o}6Nw=ocYMtayGsVK6!dC4?(qFwmSRsK zGav&d`HgOGW^O*2`Fy@ndw7;fdhGfM`)Oql#*=m*N~00wNTJv_1qpi$YY%3nWJD-n zWhIWm2H|U!$*p=oHugP#E`GA)TXl&lIxJfQGaH|fZm}9fDrX#0?_P;bl$&a_VhtaP zqA$lninX=LylTU|XJAE{nq0p4P}QKRVpLXFdSQ8MKw5echBhKGy>E9s)Cgz*NEOM) zFA#Rwl&;1h&jfkVoO7tTF6WaqlzZe%+8fx2S>~jX@U28$!k%wm1GW?vWerWjX{%ON zG}M)Jm9^FM^fYwhv(){=Wyy_1DabMb%xsNyD5T8T*u!kNex6dKjq7BRD9A)0qW(}w zz$AiT;Xr?T;N=D*gS9aktxU>&?P_tsaZJ;RiX8HI0r!65OxN7OcGdu{K>?W>{Hcc5 zI^*Lq`9aEy+HW7nOM4}&qRy1jSQD)W$WWK?F8(8)-<7oqHz1yfm%N~ublDz7w!D<+3{v#v+ozrQ zO30Btz@V-+?aoLWl1;yFf6Z6Hw@rEmcSX*;ftjtlWlnl-U2(#qlu6i zyP|^GVB;l8=t$zKRX$Y~Et1$u&-wO$Ec#y$1f0N2FAhPPO1d4Ff0iE~>^oAED=G{5 z2K($)4AdF4A@Sk4E(EuOx29s_fe!<+32^|nP?Eo)b*5r1atha%M;Wrk%u`j&*|b}i)09OdHh?eJ{zB2z1lB=o5L>PtMR}+$Q|Tx>YqZd#<7b+?+C~z5 z^K$i!3YCv4lCKPn&dFC~sYkn$wc7V;XbrUzSHp3_PYcECgw(W!&qQM03-c!wHr-u> z(^KV`w?5k*j}RvZK}_;LiZjOPrVFTTOfHHF`Sw8^sGQ7vsivjoxP%JF{rmSEJmD^KBhf0KPWx${!55$d%E7w|8~s(V^dZIf7};l*xN-sfxE#P zUn_L<^$HtGaF@&N1KYgfn8R3_axnq0b#wNq7^_cDFoWdaKSoH!I8S6R9xuI=Gvp_K zvehSTBVxE(F8uTn@z@%z!#j0Odw9r(ac3O(ws}i`17URm#;g^qoF&7-Rg5q{7p<%o ztSlC+j_1=?>L^dF%dE?&O;pjTplmGF;R9b;qgUq`iIP?bf!kFzH*^k6Vn^n{UE$M0 zli{juvgr(s2%sJiTf|RDShj0>_K7?4a-^ z?F-4fI4u$z;+Xtm-snauEoC>tSC6DZjnNz^R5_E}DE}CZ{`QUCx=`KB&c|vy<$fPt zPilcJjgzRr>*8)FhK2@E0;2G3n+4tzZQc1IF(ANhKgYH_$`@iwT^-#x*ce}S@2+(h z^D(k`GgVcdHd2Sqq9zRbe;8bX--xq1t4iG|l{|9Hy^BTFn}Mi0Nal1|;X1}F{)|tn ziLwm`>W95s(Sx4z`wZ6?83rRZ^Y4MSU&?8z4;lk%E8BqT99xyFrkWN93-8W?y0RC= z8#px1C-na=_s(-G&s_5R|3=pT{uX@bOu0y3%h?my<5D+>PzK2R(^J%({8G*A;+N=- zBOqjteyHw(k&31H`N@Oi+ZTieW|ay~KdXTx=fWg(!lu+Itu%Kd}0|& zAn;7YdgXiWE9OU8$uJKgFIBo6*;Ro+f0vD1I)+`B z<3-)sbhkX}QlWq2Pv_Y{9F@Q2oB1yvRTpdjoJXNm-{H)S&0=z7ct~chdaiuZN{Wz7 zhk~URis_IAxO`28dHfS+?ThPZqdUG|D^T8<%80551NJGz_`;4?qp7qPWq~0hQg||i zI=TiO&=+qmOnnP-`7^&gN9)_XV(vPMg-dJ8@AmIr9m>E_s%=fHT=7Q#oS6RZ?jFI= z4(k2;1-J~hTF!hl>wW!ah5SKnZ63Xuklr+!_5|C?3d*lCAk81!v9t4uF(-2(+R7is zPcs7562~^{SIY%yjWDPm8_zPtm6n1V;TSW!*~)J|IkZ_=Xw!t%?cHNKc`CDcz$Hqr zq(r`4*TS>vC2J*euNh#LqW{KLfBnq>KV)EyJ%g&2-@j`O##-x+zfFn{R^Q>T%nt>n<=UnO8*=c6(sR*g2O`@CT41NR@9Ta zP9HNr#9Q08v728U!%Txl!VtGw4*d!b^~B?=qH%Pu?0EGe|6$?(3RM?~z@0DKDmHhw zuT3xwy(S7>JwLM8M2%^dk1i0M;$Ntcwh*96@z))7MeO#>E<4h$W;W>Dip;7o79K6d z;#TtgqYnOVx_`oA{~a;9;(<6aiVhBcI2%a(_+h7S-3GlbeAiHaz2<(Zi;NU~Zs=Hv z`<@&12{@43<>v(Ph*42hU&YRlzx&9|Pi>4rY)12t@};^Qx7OVh)JG>FKf}BKWwNu84L&i?~@U zEt4Szg=OI2!RO}EpdSgu?bT|n$Wwj>07@5{nw*s3Jtxkqr*TkQ2`TO#2J@rtfyJ9I zxVc?C+LZwTMGJ?AeKF#CM#gK9sb7I&H$h_OKl%25*~xoD=RE0)C#fi@`qMnoJ5s*1oRS>WrucgIrvH3%;pCk zXkWQDI>tTwPtq$7Ojt*5BWJWhZ2{ zkM{i?-#m_f0st%t6frl~_hl6&6{V%{JQxHxIQ({RSMpi!G}P39hrH7LOuiC5U3_#` zc$l@;G#w?q-2C$0i*1~>x{QPb5jl7#*QOo_8kRRCaPSawg=_`M=G^fSLKeH!;uM~< z*GiYY`T(bUlGL9%BBWeguJ6?unYwskF?bb~3Cl^iI|)863|f>8yudV+r{wd0IxUBUYq-MlDd5hY zz3oKOqy^Ua2!8sj>wB-12KBAWJvcCSPXMjbSG?i+y|{JzBe7veCc4&mS6G{r7J$XR7Z1f z&vm}n>WRhln59 z8n~`;&fLR)+CQEqlqV!yVwzqb#o*6nZ)f~Mr}UF--~L_B{vV$c9D`<52$oe-(Tfgi z4vF8Hx#-l@-@O zWW!e^5-rr{TX$4{KRS(HIX#2-L5pJv2P^ZiZ9xWX z5Zen+%I6?D@oX_+ZEahilClh*obY7t;qP6FW$~@;3?XnB^NS13f(f{4ES*bAORw9D z&8?0t=2hxg59Au+$&5MOU^4h(?xWL+)?4CrBxm!>dc~Hb7*OUR;;o*_tf!~Tie*3B9ta;2Js&8}2S zbRTF^fv*J5I3N$QBbRF~2k*6wmJ5$WJi4@#rd z%voQORDg&X!V=uF#akO7W_y~L0(~?#)+7g0-y=~pXhst{9xo4Ef6!Z~>`$D7-X;ll z1uWGVadD)<@ry{Zmxfa`TRoY5zwXvF@jvh*|B8B6@PTK% zXlSZRmOQuX6=Ma)=T|pJ#F%dy#dRyxC8xgKIfh9sfFXo%@7h-a4FSQ`E)7sIk{s?I z=(c*ycTacs&vBku!MQcm*JozpZ#N0%mQt*t;G_ETF>MzqNH9QBwq@FwKK%@T3nal4 z=7+}Bw$>N0*YMdjLJeN&-P)qZs%dY>lQ8`4=6ZUyayoT#a$*Dx&WpkLl8-`13}EaM zloMI+>Dg$@r^NUkUQR#97!h&EFt+cc?Y-Ln)L%cxnwHKTui)X?)^`h>rm49+6q6-f zLe-LtXLWRX>gnmNp{Xr=`{z%sHB$`-id{}laq;2F_Rhfth&{A;a2qij7ajFWdSxYB zu<>2sn~yi7w?!4BTK^FF-~c&in~Q%PIEu8ibY%r?hc7QJ?SwtqMquNz<}zbWTWcGU zP>4OFd1Vu%(HDIlv#$sZoE^};05QuSw zNv2^4(GC(xiOCQUFFSjA*x%g^=&x+I3M9k^iSj)l%_(!(8K=X7`};GFqU&Pv-P{^E zUtvO!neB{qY!qqvDVQF-gp~}5-{cN34yx=X{Ub%D5vsYkMu*Fpu#d4*!9x3}z6?`5 zMu~7=%i>H@EpBdRB829Y?D6Wcvcj|p)M^Z&6sL52jD2xYC2eZAcJIN-?Bmm+tIM;6 z7E#xgf(eyUZtdcHe;3o~L~*{5I~;K(?htY*rjx+`g^2=#ssF!_$YKht|F8#@W%fr@ zJJE0hq~}XI4py(xs#o1No1SEfm!|kX3ZY_mxYIHc61d`qOX-G{RTUM&*eX})X>spw zZJX}SbqlleT(#grnbcrCikq`<^TiZV_yQowUNc5MxI(;VeiS=zdEnLW?&}a9nBU`P zH+~%Y>Df_ue7vuReBNF;zFoJ4ygZs&(=Ho=B7k6R5Lo`@Zm& zCK8J1Zw)N|@c2cl;2S9EDLr4PmzVA2{n&Vm$m+0lbDK<-<4LYwRdt}#MfwHa(_NMD z-cC6bgT*B(gMiy~=4JCXrr^WsU=;HfxWn=~Ra1N&ayCHIiOc16R0x~0>1(+SC^gbUSVDm6TM- zwZ9t~avCWvrW{P6(_PBS*5Psvv#~YoInh#gqd?Ni`v+07&`2mqj0x%^TIHVH6b=)n zR3Y%7eM>wrE(|cRp1H--Q~`|iGMoTgL~r}v;L_Y`&S?u5p<)%6l?-2wQm-sV30G#Yx})Mgoir<8v1Z-u6noZ^T*N70oWr%s73OszRIr+25**#kE-7(B!4*cxi}hS03o@^ z;_VUvO)(N*^pfW^!T$#Y5`mm&0C7bARtT4yoPuU;x~_F?rW~{0mFf+*u{ECW$oRam zZ+y$^L@p=fEKczSP`-E` z9L^R``rco+PV(`2W9n6>CnrE?i2}|qZ`lHb9yf(E?+|x0({tT8(Fv53L}^?x+Nz3* z0N2~9EL?@iOtiIfcSKtE@Nmv1%PHt}{m=Twnnn!unr;&45M)BB$?u9t%#2tT=~MPqP5ML<)hJM-{X5h zzk|hq2O)oROvPlhupu$h0KwRfgu>q7up!H+z$=IDmFQHl-LK&~3;v`-lQtTS>PU^y zp%CnoMLoLQ2-qu#nuJKh`YQf~NK{niKRh22e|H3K8C=~yexsw)eSeSsI_S86WsvhL zB3_w?97g6l#G~f@sjOk#ZNe?sF&^35fq{Y8st_CC`LTuTk;Vpc}lZu?_Oh&^!KwJ>APKk4qyhq2w1+~W)Wg#UY0r|3b znB?|w%;sXurZvHa}X0h1vpLZXNQEk)IY3btY1s?FVrP{5E(w5J9vd*Wg`LYd;h+i8+DxFZmEq$Y?o zkTfJTi;&3*N<60RHxhmtv*&kvDj)_BY(~&c7rO&c2+HOxyeP z*A2|LjEwf_RwpU)D?R`1K_a$-Jg{u0A}-JA-FPOcL~j@ZuD>dUbRjdF$noj!in}0# zGYgAo;>j8tfT-HPm}clC`L5n2I0a-oR*x@-E|aN;ugzG`KN6Of>)X9a|G;F&ni=mk z7Kn%tDu=>iZ(!a!&!lW-tiPnD1!#(_n$1UIQofXRb}=VM#F&4J5CAsar)zb7rU#02l%^cvQvbLZ0ja^)*~ z5+Z(_?8KxRT7E4?#v6BsnT0tU(+{g?L=5$%kQyt)jae2*xU;CkP2^euF0ONFle3S$ zVs?D~Hm7SpFEH2rsqqwb6<0uA{~xd=Kf_^h_CWv1kMfX)meDopJp~LF5>|eiH$(3l z427J&s);`o;owVm1Bcg|wZ=<<&oGhV>q@ZJuBM)zR?_K2XfEd%Pz=JFme>TD65;_s z`j68rN}it2jH-RVqLE}ThlTPEd$AvDTZ@bkx+U%8SRmOfcG7T#?o(Rl{Qo5Y&THd$r!= z$3*j>jFpXfUt`$tG*AulriX4|)j2SEhY_V=LO>9pg(RsCrRvgJ^ch)Msi>%g#iMR& zom^d`^72sRyx;%CGeZ=&Fi7i#d8TFHSXz&4M~;k-SIx{GZSWzTqHK`{@B@Xo!U;R=qeVvN8aJs4Cy>TNV;-DQowov{I<{{F_iT1D5 z8Fxiwu(X3~_y>xyZ*|Yl&d>I}L|*}*;9Xs5+h$m%SvWXExM4C8G%Mk_*sHQ-vfg{4 z+z~Myy3q~o%~uPpyD#8Z0X|?JOulaT3o1mK;KBJ2KS(b^tX!7g)^#PtVPN)x5doI~ zzU!BOr_^IlX>H@=!65jR)~I&m%3X<$e=G6TrvhE<41Ag}Ya}+~=MMOm{x@Ib0J27g zlkuAxZ4W|=t66K=;ZacgI)DocaS;;i1pyhu6r2qt+Rx_y~dOw zBz<)SGY8A|peY=@c4a4jAG zbu5vVB8S8;OO4VQhy`0Zx|W(=08tm*B=iPs68DN^MRy*14NjUr<;!(b&s46F#sPI= ziYi7*Vj2$a$bHNtXWH}-OMJQ@o85u<$1BlZ|r9(O8H829tc2f1ibJbggKq zS=#E0%}GIED6xq7jD8_fIL19h(U%A=M%93(FNz`C-a?y{C^B($_OuKh2WP=u z@qGL=bqp`4mlaVJhkMSbGz@~Uxsw4`+(uCV4;O~TUv`8-Z&9#9{EPWS`1V5Y;f>*N zyz@N9Frj~TVzkm_?@nVaX!zk-BhEZQCDq~r2}^tNPfe}SsPbu#fP{lO)KD3e(D20A#BO}9prhlrcnl4kQ%QwUuTXceOg-^K4S)jbv-JN@u-BQi7MMhZa*!qRTJim&S)YP;HQ1NM~k{Ep6tt2lA zu;gXv1^gcV)XsaK?9Cy9@h?p`b%KOwbt8YOE-z~$;!U%>DWWZCxZK?;QNhhbKD!1} z(~4qonPKG-*U+Nv&=mM%?eG{zMGy_!Z%9^^l+6A4(|aUY8RtN=J`Chh=qT!Y`j`Vs zM3k8r5D=i4y1lo@Xm#fBWZy51Q2}j^;^Z)~gTG<5bB_!qNcXpF34{bC&ZVj zs*~0XH8!fkC+^OT`=}9PX(SE9=d0jcPWp3^B*9)yP2IX|chvqol#QYOKL}WlDL_qq zN5@t%1aqe?*t^*oOm-Sw26Qb4@AydtsDFuG1WF(rbu2OF#jp^A3lv2s!$xc3xD})3 zB$J<;Jo;~qcC+`^j90z-F>;!vTlIkqypoub08Sj-vp zA8$``7}XrI11#DO_4#9o?R*pp5p0(z2t*nB^_@<(9Nx98madf*q2uGkca~;Qh1KFB zB2a5-`iAM*t1p!))n7oRp7atRkmR0hfaWBV+6#KhOqdJ0#n*`Mgge3BM9RPm+9V|< z(Q0Khovdtj@;}X9oJ{TbIYCL?QNzEV>g8~K=XW{YDD@VYnh2ZJ>A)L7fC5p|T6*FN z4gKAF18WgIE#m134*5VJ3}Th3dA72$OwCId=l)o00zO zg;oW%){Uh&uJAknbm;3?ZcM?Mw7fi;wfZQC1|ldV{HHQ8s>?P25(E>Sgf=ZL4GSAv zRlP4E7vT}5)-Zp+3jfuqHYwaTBwV)Wpa?3KT!pATiGsq`)bjY$)casQyxPZ@R==jlNaRdT%0vmx+clIn~Is1c!0;xjRE-iT4YOG z(J@XXnt#jp+6n4#6~6w7~h`V zawJR=w!3_MUkm7?Y;(P^Fv{~se%l!+K{c=PessEAuP)Z90v4eQ4GLLORPTH{lmqbe zrQ>0Ho{RRAyAx_>N9%=`1QjnD>SKZpd~`^BNj6~!guxOkhNweU&{foR4<{Bq^7wAs zFRg62aWbCW-TV|qgL)em3Igmd%jUQ#iB)IVcotSxKBsC{OCzujcI}^k&@`5a@dzS* zi-0zs#dN2`)laD&gk*7Mc+=Sr8f(I1x*U&|xE3$ybz8x$EG=)26pzT=c5W4YLkg^tM3~u8 ztjE|(vouT$i;(nXB(z~2qX2>1P4L>^m1hAO#PsZjkDa?klMo~{2jGIOu&5%w{X8$v z#rknB#DIt{D#Q-rpa`+y3M+5#wvTralISX47e=&Vpa?|3nStVFRk`2Nb;3fmF1J22 z<8+%NsbycS@5g(`7pDpbcdxsiDFFwi^|*PSy+`kSYT(U6uB@rCV^mpUf<3T22w_0V zC~YLR4vXe+>wwQw|GFSIWEG;S+X^VyWSVi*{;|AhZWCTDfMITd2g}!TG@<_f8VLt| z5y_>drV<*K-QjwDu&XSAi-SElMDBAnFgh;t4b|-N_R8U_J4~A=i{;^kVpk4={A6@< zf$h01#2up6&BuxUj}N{tqF)E?a8eg~)p`HgJXFY56eWm8n76IzTTz(_%~&dFvakkr zhSm}G@8OBb@u>#uh&kjh{&(Lq_u}7X!w&*ryF_HdwKs44QntTQX;%_G&Ji%dwJ6TI zzQ%l@J|&GKl+&Qd9Hk*nBbeKeTGJhgD&sF?83?&H1>Ndu9-90f26SY4_>998k(C(T!nIW>8X6 z&}&0C;ALX-4s>tkY19W1rtTU zV`Ay90kC;M1}iI(CemoEP1|uHmDZWe^_hTZgoHJ+Us*c}cB6G%W$xtf7^USqO;OVN zp6MRqb$t)>hnQ1$!X+1kdp+VwVm^>Zd_K}v$<&zswY9UF5z-&eu46BzGGD5<+X;?; z3tEzTMjbX_*^sqDK#<__iwEO*gn2a{D<$rO084WXvNyh&bA)1SxKw;9?ZAz-6$P-T zz0Ga?Oc3uW1%33dshNpPOQ5A2r`P`}K3)Rc!Q<}WCMMYp1chrR1e@5D`M8i z>uvcuj%7XX8EYgsGM>F%;~#D-&N$X(-rp3|>`MGlDG6I`qb40q0 zt-AjAW3Y#C1S^Q0@H*^-@0+ubk70HKP7hPrk9FuQFDsy75VBd^lN%ctC9bXw5>eQp z$M&n9cWp5X0g*}76BW<-l=1|i&n1w8*G|+nwek7KX)TX91<`=T1+J6~RSg}uZ)abF zmkle-Mf8yA!(?P-N2DbuY8lzD9BYhk^P>KN2SfY`^ywI1NEz32C~@sx|0C$;$`dlxrTFJ!tf7l@rMxDXnA?(ddKsG zE^hYOn)Syt6OI+Fm7Ml5;wt@*-~0Rf=H~lEOd^_|;64xl>#r<*Z3@W=V=pRuckemX z#X-brFgeR|ljyn3C0&pR_~QI(YQ$41u!ao3hsZCdEvI2?hL?k~a1dlqjgE_NQHZW= z=P_cuVSI@=Eu%W{@N(vu5+)4(g}4y!e`;^)=jt=h@H9r^$U#OBW2>+U5K?o=i-qN* znV;2QZnzEZfo`}~S2X)L=~qhUV<$-1xZp!Qw0Up|*kOF8352p~X~(1FB6EmI6p2M3 zB3IZO+0)a9p?i>oImrr&%nAyN)KwBsPfxX1HS%CNdPEFO0Ns(1XyS}R<;)VGNI^c% zGR_*$&k8#Iv?yVMM&{N`n-HhDDhGMwXoG<$Z)Afe$d=UKzG`&;ja{x;ZrUi*Es^P*v5mv@weGkh5oanj4>cI(OF#b>RHr07Z!$7Aq}^ z6OIU3jS|mCMp?L%NkR&4WU{=XMH4yD@Xg2y#sWl5+VqE^P_B*)>Mb}V*vif!l$$TD zRS$Up@fHpfBWw4XW17?{V-D`Z{?`kLbiwctIjzH|Lu8QGg>Xj&Jq(578Y zaT*WML6}M_dfyb9-a7@D4yGve@HRUzshM1?`~R$jFHGlm{!1JU=#m3!8n0}Nd0i#_ z4oTwR4g%PzAFX$AKXys{%WbFKz_widH5=>m-a?tRr>E-~Spx?e;dPOx6EnP`qR;^r zbq0cLHpf6`lOD;zgwhuTvf_IQycl(9W)@lGXxP3S1}QR(L2}N zJZ$4Hb_DcKBfwc{)H@Kxfk{c^>AA4f21D+y?x9l!t*vDnzZtH!Grv3$&(;&0ZU(&1 zF=Si9&;$tw`Z`C2ofS!!0{%v6mQhqyHET!^X=@NrUvGeTsKNpjn_pdhy1P3-8Hj^6 zJ|5WvdmYXQvezAWxqTdp3ZFDhfc<-&PdArEUG@)1H2hx27K#JZAx!m^pbP6mZzhwn zt7~#*TEu{**yt~S@pddB+8=o0maSV(@0Yhi84mNQ6Q~%dVlYgQFgT?@g6%->1E>91 zqD)ls!1A>&aXJ3SJltHITX+j>ia|&=7Lh`^h;JljW<^*~4%524nDF^I4U_@3%kkIG<|?zvnA(V1NaJ@*gLIt}$ntBfvA z)MTi|pHT1O7U@_@cw%TJa#Gc@lc3rH^Ewd&E+{;_?<}mLY}vSXGruF^w{CSgL#(LN zAjQDCw^+0A?MHHd(qYpmaVn>kt7vLI8pEMD>>C6Ol*9U=#otIw9POW-#r{tA+*;BU z(l0izCeX0;Z;@Fi5AZ?z(DF-+0ts+fE@9tI`Xhxlg{%ykK^CmbcTZJjcR4B6GvS|> z4=c(M9|Hk(RKT70HIp4?Cnx>nr04}A)lm9(ZC;tQh%y4hFD&8{0!U)}e!jqbyMNuC z$*A3Y)Lqa0sGb^))s=-4zx`2dvCB9L-7%NyP4m;m+uTzg++&Pj+9OV=%J#cx0Bq-% zhB{TBd@eRozbAyPqXak9@14r1ss)b_?UrIsJX!dcZ+^k>TK}|Ii5eU@7G>CgKn$}Q zWkZeyw#9+AoIAZ}lZ8ho{VE1(>dSxgVQZDdId2qckRm6!Vju%rbv5+F=6AUJn!6|2 z9rSMdp{9ynqIFPj7%K)Sil%SWAooAK_B5R}E3sEuws@q+SAAt)J!QaUJ)e(H7pHD$ zk0|5Ukt9|6zOQS-&Zj~Nrmy){UZppRug(69^WFAal9InSkYhsU>)t?LShRjbTZ8eb zC8hgqEIq$S7`&jkBi?>gA^kn+=7aiuiIt`mnW{ASF%nE!QkiKf{A1_UdJ%m3f+W7S zzCnA9n}nR4dUQ5YZD1`kqoL6=Vz@WHe>?J{bo9%=9-p(~Hx8qg$;tM*IzrC*YMDmkVq)nc3xX zX3{?m?CaCct3}ml%3@HN-mweM<4W;%*HY65+1A3{^c?Q~r?R5mXK_PhS$cmrLF23P zL@Hf_ApLly;$x!TdbaG9iR!Rod<>EA$BmYakELc>OIm4HwL%Pi7AqT@$`nX60W_=x zrxO+el2@C;6cK~FI=_IOR7ph{x9h>%vNI+z{Pv_SH|PE3`mAtd#JfA&;jXxD#JV3< zy~LvYQ*oJ8hHytruZsD^{nY5>a>He;P8FBsnWP56e*qzeb#`Js2evm-DQPeaf_ z)%dXkekjDmlt$ofXO*y1hXTqp&>*zEATVII%=DAPc@zwzMidWfchcv1{m6JbP|C472FR+obhEGR9-k`TbI}`tR%} zlVcbivPbrwuqD_TX8A1sl+5&vE_Xmk3pQnJavGcUi*cZ`y9e-gR5J%HqT_c~R%8zq z=E;*?LZw-^{jf>aE+GYHA(h=5EnG!r+Wvn(vivtPJ000 zxZ!@Mqh)_QI#hymOXkj|zc9Wvhg}-CBU}|m6`7tK+OLp^POY~U+KO@`?AKt^k@i1ohjbJ;Tc|iBTB(3&O z1<5@RN$7`^0=n?r8xahIv~dx}jT?G}y<}ENCOH(>_EDW#2^SBx{Cdql!HelZuu0wa zcB^BBck!rhW{`^Dtv`HgI^XM@t0@Xh%=S~$(yye~Zss+YRN>F>PZHHtOI0l$)Pd}v zwu3dUMq%HG+-B-NDB{vgPkJ>XfN7tUEW^D#qlUJO7Z=%sJGa(d>lu&9aVKVeov>q=dG=6@E^M^cM-g#eTn`6RfBjy6Syq6Ky%uH&Ms6E7;r9g)0_w}dIJBVE%&pIlHtCA|9)q|8}@@UpX1o6?gxzF3J#yin- zf(^CuF!l~@$+C=>r1up9F-|ROOHjyD70dJAKM`u{YP|e<%FDi9A<88ShMCXZ^8&0v zIp3qY8Xk6nSZ2}t^4A3}L0G7*_k7|XzttBPw%WD~JEBxJFX^V!)9aN%TnH|I7;W)N zfZo5@SGI9{jOFh|J;{j9{p)QFhZryizX;ssk|XOtMNY>%#fx8C;!*;HQ~Ub91(oFg zkE^!|iUVr8MRC{Q4k5U^L+}I*3GNcy-Q7I|cMBHW-7UDg3^2Gm!yt3!`|EsvoqHd6 znS!FG_U_)@t5>h(>3RZlVik>nQ;!;*sk4UCAC|$1Moa6c>M3TB8&RLc+Zcd+aRV|` zvLmNF4u#FqOFoP14`HQa1J0*b691d+gHg-=G{GGa)k7IOmjiWD{^0PZr0neU7y;z2 zPD~=@l)x>(ej_ItKtuTuCb_&ly}Y!B`oPIzdBDhF82VGBbnqoXwkUd|A1I`$9tC1et$*+U%cR9$v%6EKoI+ z+KUYkEKVW{q$u=XXwnAKvTnP+_V;}iU?r5{kOa-uAMSHF9~(JL%1XA z1D4xn2~CIg&kWpOw@CCOBin|Ta!9O^$cJRvPPAYj(Q!4ddN4SGUo-8{!rh^)0~UdX zqqm@-?%(usmWbCZdSpQ(^k(#(xw|(ViF3JM2W`LiYzv|d?=ZSJo0b(rDNL<1nulnJ zTGAcjC&re8w&!+Lot}>yEhgq3D$s#D)?tDaL!gnqC`@HxVK91yZ{6tFKd-6}JKgF= z&m=?bQL(+wEKI0tBKP-hTl)IOwOaNO+$sV!!7NF0UL)#STF9oj;IGZfau$R&I8`Je zW@D?`yL;zh$wlkbd}5(SQZCBv$;Dzd(v!I?K?uxATq|6>KSxFwq*ChZ)q)&H2L_6U zvRm!!t4f%pjZM_JwrSh`iEZgGEiGODvmJ=nJ2}auqoZrPzP`M6@#Nv=4st5@5n={w zDs&Xs`Ur88+FIq1pJUuVB<0fai^JNAcZqKPnb7WFzQ(UkDlClbtn}`d#to&XE2A$f z>2z~KkgH>6XW|#&2}MS^G8ab_UucSB{lboffaz`)KCsjtS|8GlX-x|!Q$UBX_|rx> z%c*!dO+%C06Tu!@vTstsX{$z+nNVk2#yP%GLlH|c>EHjqt_wS~>k->(B{w*wx+DvvDD#&N@>HU-A*-#_2!4*Qew}0-;+PC=P>b< zsYvNF{TrK_INSDI-jD8ICbR$qyhpB%h+E106S(S~>sGw;PNea;dlakne;lliY7F_s zhLXU+=Ecp?JF6r=eWA)pHz;{~Sw!dSnMmEAwW zATIi9j?QWO6;Y9pEle45{~U`h@d9nPT%}ITdGQcLYQ=NKrE5(>LDtO7>^kog9a@1P zjVK{@e$G?gI!KCIXnv;HAe4{F4o`d^sQ-NCTPc99HmVIjF|Ddf_6kN*fJU=}h3qaZISl)2_7{Vt(K{o2d`@jnagdOaSx;t3Qin_Es*1nq8AjybMO_XT zG4FC3-Vja5e;fez>u=h7?SlK@Z(i~@dUbm)$L9t)AIvmH`cP@m4Rb^a#L1AecF{xw zg>F|X8p+b2_AO`636x~7a~pSWUES1#HaXp1-n*87%Xf+o4s}S=Vj~Y2Ucl#e$t~eK zwO{9N3yzT1zy-DKzFxqpKwhSh_ba0^*LQ^5bd0PQ9|8~5WL8XYG z5C#?R`qI+B`D0 z#&yJVejFI!=-GH0#g%LuBW*)aJtw#xL3b^wqOAJO5A8B8m0%1_4&%!S#y1#!CUYZ; zXk~T)iZIyn)Lk?)#I==7qv>8}I==*p9x%Sb;r`E5>;EZe3UuHm(J(3*H<1Jxq?OI_qddJ z*6MNR65zjeh1J6EqU^z;uc0&SY$n#AUjt}*=oT=#l(1O;v$AYuZB0}51nJRHH_&*yIJ!Es zvW=$@*Un7tG?|!tGR!`?nfCJ(u&k**tqczCX^B{Wwamwx^f%1ovG~@Tm;3t0$~HxZ z@;APO8=1XXD1h5^EIkkbJ3CH)uM0EpULKakuJ5<+@Z#c98y{7pg}n{p=RrV+8%hjk0Hqq`#=t1w_6|A-HkS8cKrnX_UFF-3{TURDw%yQUV@p(i+&(( z+F@yIuTg~JOW$1G#hHg*7IP1H-=GW8cwAlzz3n3*)OV_}*U`bSe+@mo2jcR!Im%Ed zVi87%+X%Tc8E7Y~?Gfut4jd(G{heODA^KKtSuM>5e!`L@V+A@bE{J*xo!&l>DW>%# z%8KeelHa;`_HTwpVre({oh>w$n(!g1Flwshph(2CcZYNY!-thw{(KhJ4HSh~4$1vs zcJ;gzX?pFP5q|a^?EYzGRkxE#!m{!jAWH8%x3EA?@or{g8rP%!sZhtDMALwXm8>ja zp~V1_3CRh(+Ew*`#AM$AmO)9n^__KXZqL6}>-LZhZ2n4W+dia;g@y{(YB$23iME^z zU%!X6if!dkkx7u+FuL9aX!rO4s2C((&ktZEsG#F^ax=x=bzV>5(9dMhSY)FKdTPU( zsG2zcb3Rc-=Utt_Z@*=Ut*{bx}g`GW4KWZvG_+fftLJ$0)isFmt7}l5!Y*QN~V%I+5WF)TS{qu)N z+pu8W))-)@-EjjH=%of>ci|elvoMj&TPS66n%q0#J4q*`evGmjO19ioPX!>^1D?e6Ixs0CPx^ecdiLdsV*-#AlNQycZf>?euhK&{1T|#1V;Z>A!2& z@1H;G$PWyp`?WZXSzbZsi}vHICSOo?FHiM}f?}W4y$}2|VO8j3<9gn2ew#}v_n*y( zNAJjXeb=X>{la4ojDb!0wo`+D(-OJ$T&^#!B$R_I$>`{#7#6IcpxAmYgLSvwnwQPz zKmMs;`rkA^@9c}k+{>s+&fYeP+NjIWU-0Q*Ylk~l&|sB(x=QAn_k@5k=2RSv5f#oh ziHFB^*!IkHUNj5B#b^RK_fxdB1G@^N^m8(1L5N!pC3!L)#&My90p0$jv`PVTfWA6(rF+{lHo}lF91y5h5HLhpwF=r3;CWZ zb^^Xr8}n|Sr*T)hfxtky-1%gu$@@YLhPAf5?=Sw(&(VUe?|sY4(n#!2SI1M5G^7~C z29OsKS{`3unn8#`*^{Afz|b$)sQ0i5VtfAghWowq3hhYP`c;Ckxcawz?Y12aGM3o+ z1{X!wyE5sgT%kbcfec&}FoNSyDbP}0<>c)?CzH_hn*DR%I&It3Y;L|jz7@34-C;+# zHYs6P87Pwrutt3ustiotE}4+H#}OxPKg2#8+%06eo>e7hfO-GE8(aa!x3vQbv|wvQ z{SY;m)QO@hnID>)hN)1`WB>9YTvL4gPei*TtUjfK^7eZ9Pf}5u^x)clW^aF-7x^D% z_5W1MR;>ue6JZVyk6|KzQHv$?alO3ARh@tu^72|ZO1PTu2^2P&{#{vQdBbvEnkjVU z#6rYpWW0+vIh{y$Z$Dl~=W_veFhTC9tj$5x)V+u)qtZ7;w?eNsfld8a!jg^s_MxQw=1YcOR@6p(OSCk& z#*RPU;$*IP`^Gubey?Dr0RFt%+YIrw4x}zu%S2$ zd(U}H1mHjixLWNNX+>h4GVoawYy7og+dpGukKe;I|Xy?UYChFs?WK0dwW)o|yt0NW9U3AeYUGn!O$i@{5Amla zIYJ>4a^e3>qVI_ENQa^#pAadn!Q1I2#QnI~GdhaV((seTfD^sSpf6SDn|4NCW;g+= z3tPKvfxm;{o9?eH-7eY!+Q8adonk6>PEEojW9#YQsN>N{q`}UJ9Wy6o6P*!I5-auU z1BeX8G8hg34!hrRz=n#(xLthGe(6W;FAJ(1_@;+G{rftKM_UCU(@6sk?xW-qwk}8b zJ5-xzHU;M8Gf@-o0Y92qmFzg{FRY{*iEW2z9o#NRsRp{ z3z`AQO~uhk%>Vo3nZTWkr)>=l)NQ+^72V)IWt^jg&|U~R5f@r>yWZ}Ym4Bu;!Lvn( zv0gvB&nV&($QZ7k@R_G4e zyB>r*c!+LmpgrItT~}E`+@9C)Z+`NV?L$#l6@E%f?E%+QE92Zgi9(r~`>6`1-o?7-yJT9ScqH#kxM}mCU^h|X* zvMbms1-b!+F>kEHIZH)6a`8fJL%b{3jwXWWu8o#u2?p2WcfdjR6R9{Wx32o~#=4R!(WP)S zXLcfk=H(>G^O{2^b-p94bcNPuX7v$9?VJM&?PLFrk_wsa7a7Bpq0gURa}#3AG^n0AiTRbEEqY?Gf4_UaNlU>nV4h80V4OC#XAW zem2N)<6zjD+pV~p{*gyyYAUBn23+qqRIJHNt;T0|NDMc48iu4xXy}N1hP4c zEdP|5U1D)2;1J;Rh|yoU(k0pNQS?lV`&w9gZx%{KiqWd9ilSH9@5k_avV*?OHhiu~ z(ss>WYE~EDzsy%JH33t4PiM}?BM3D-{AmTiFD7yIRXKlK6$_)GwSM5I?7>-DC}--m z1f};Vi%&gnX1e)QgffRHpJJ!k6$$*Q@9+pZoQU!&_43LFi|N#F=|Yp%-#?PSF9dE8 z(0?kc+4kPQ?kLfY=}#ghIreQ6iv38_h-63zNXUbNr@#90%=aahNe|g$G`%I|&-pcS?64YX^?`fTKu_`SPvKysmS`*CC;jyR2CFeyXeqp>jm67q$1`a-o+x( zRHMR<)A^-g#2Xz&sU3DHPjQqgAy*5f;K04xC9A4mZKT<4X3`ndP>^c=;4VKmmc0#6 znjRkk7~+UTPt31WjdMJ)j7dFDgg00u$LSgSGc_5Bn@oT`plN>R`E;L@zP zOneu35v^jC<8=o$_Si-RG@9*zqI)Q7obHS@h8~9gbd2%Ly-M{zc#p;#b<9U~eUlK= zf5kNLrXvco*mKwNWZuomc-jYIwX}Sp$j?fOMj#ehrh?R7-(XJ!O2V)#J@9%ihGIdr zvjkxM4z2zzR>fzWiM9S|`_rXgSgAv693FNma;0XB@BXk}2rrL^m%OjLerJ?vX=@v= z>T*JREIIj&UWAhLeJhd7(BE1P0^2P~si)&Dq#3_!Mk4+jxo}XL6rN|e=vUinn5y{O z)iq6b1O^r81uVf~*z>qOkZx~RwM*F+$N(n|4E|kIw6|0lpxBml3qG5HE}u^O0MAOO zL^nDeQF^Mb0JF*_N2&M+DXC~3U^IVt^5G|amKkAh+AOKktU#vV&^g4!tFcMes_)OR z&m6Ln3l3KZ-zU-ySqyV@ZuE^@DU>}L7snk#9>tC36aVkXs81pdrnMjHacsombfU0W z5a4f2aG+_Xgid3=i>DAhe?r-CA zgV9_!XMW7_Vf{F@oIgGPW(p}VFv!=y3<#K8u&}{bbB=DTx1JMW$RVS-?JKghDX}U< zsZQ6;4g!OfK2c5@y^OZ}q5<}T_bEKJhzS3Erq}CuO}8ftNK3KAWLYyi{{T5Z&uJ!W zeIOS$xfwk^h%@9Q;CQoMY5{0|?Vcqb!^ZJrVi3R{AsVXFecC9kCGrniRlb&^9w7Jw zRWI#*TUX4WkRq{)+Wa;qE!?L>%gjg}gTvh3!dUKrh$xGkKnduET+c{c5h-vaW^ljs z#u{F(6|)TB^;=Z0e`mh?fwVH*FDyS zBEr3Qf4D}=&TUEHM>99K8-vqZ3u0+(;iuyn9h>^DfuC@Tnf@y|Q_W97_`?@t3i#f* zHSe*W0#4HJ$jYMC-lpG5I~}=sW-f07s}1+|hR|971)A&Yz9fx~ zuz6vve3EcGQTPeUi#H1BbQ>RX{`VnxRB^Xq-TRew;gml*bxI|lW#*&8SQn2=igreb z%)#cT6c(fi?!^^(ZlCR{HLU=yYiUA@Ql3&3M#epyah3e;>q7>`mP?`6)i$-AK>`O& zl>g`~QsWx8sEG|O{vN0r@Wb*rf#RnOg-(d^NQJ8Fu8PgVXuPZy< z*zW0h#O#&S5)DnOQ~wsfC6RnDe7p-9(ZvFhX!V8iO(8)@iy zWK-^Rw|q!!5Z&4#+!a)9M;xGl+nJYI~EMCzG+3E$*Od3DWjTDb~T3liGD{paxu z?o|xZBk&jTL6?eb4!lIW+~zA6*&C@tUQNsw-GWp=P`F66iao$y?PZo0(rvYg=_$j) zBFKF0f3X$LtR~EOT#O&m7NH7#r(#Tg*n&+j#>YVc{$7({^z_Q8P-cE_){UxqeEiGR1JDFOvXynX?u)^H74E;o-3 zcBi$%$i+NNXAYBpSYk>?QIdbqfSn(G`Gu)U_>D%hF(X8 ztIrZt?W>i)9-z*shf!|0Ur?aC7IvdJd&ah|SWL}l|Jm2@j>G`?9q*^0s&$8Uo}sXY z4Ifmh{qvY@_2hJQG}fOJ#l+Nkek|B{U2pq9!Q(vX)KBa6{^}h1;tyPzBSUR^Hig@U zq0kU8BuRGyzH#*6-NpvKpR)ZqmkX6^L3L%c1DHc@77~@Cqv91s{q~xu+wL~! z+U%-^?a-hghg^hxII$mUVGTP)e9rqKE-voBI<$gR_4~Yy#LIe z#dGc(-+UuKKc_Us<-TAQXDTAg2Xvfu^4_I$RQGLQPJeP#eZoq3i~vsxg?ZLs;5d1d zJn8XtSHwUs>juhdRwgoOw$V2Wi+$#9JMwF1z&X*Tz5lvfWFWO7Rqvii8%@;IR-!^o zK_*Cc#_b48B>=^AVS$HTZa9&A-TblZq_ng&A_DyC{VMlc!*}UnxGY9{uVYJ=DS|kk+fp zpDXl=z2|q|!Ne7}fk6r@*_VG8QV+7XHcR>>vf_Gi`YIjI+IR{n`z5VT#P#)rJYMiEds{qLn~4pup>2KvU(tcEJHulG9qpcmsz*#p zRoEyJFbwvubg|?kQYP001Bym}u~B@w8SXbAA9bZt22y?W{l@^{qQeAn3A-C zRTGOHgUJb`poWqqlt$qzL`hm2|AVMSwJrl{SvCL zulc?U(R3M2khpDpfq(Tc&iHj*$^ zJW~xu?H1!~a~*|a*`Wlu3W+8a~g()C$!&?QW8={y+q5 zF9_Z8;SI<+zy7?%lOJ`?0h9r1!YAvaizk?wA@^5LMa5#Wz@ErX@d3bDay2r2*ORlt zyjAB^!m7eq>mVE@&AhAYLi{5S<=A-mZ8F0j74mF^jNP6z)fP%}$TkDhS5*FN|An** zvYqzbk0#7Pq)U9wt)jP;=k{weq7dL8E@vbGu@5?dx5LZ{cL{MQvhaZt06oH)_Y00Z zugl?;G`8uxr<)OL|Ca?0Y&#IRZ`ZA=JO~%LqwoNtSz~SIkSlI36-1Q}yW!mP4R{6d zah(sV*Iw$!Sg@Lj!%CR?Hg>8OO}^Ep!hb%KlS7dZA}=JnE< zpZJvQ$r^C-Y-#Alx6|?5=u~0c-j|kYB>uR_Q5Z@c7g{22Ge6MV3*p=R0vx5+&|EQ& zMja)X%oieHm{3zKMa@A*Kbm^Ip3*V`&va_L?_vX#bVmZk!M}eDtLA3-43L{$Gc(nK z-;4~~aSaLEN_&i2%@2ax{(b7-ZSL`-X{V1kZPRZzcWQ?=pK-FmSkmQ z1u4r(^YwjHXz|D}R2*9t9*)phY&G+0k{@uxrX+v8oRX^5^>*X(^aW}lMvdBoQ}z7$ z6g1PL9lfd#9oTdGv;m{gV!3~TW!uKP#n@J+^V?sd<&9pCvP%vKzTDNBkLC$TfCDBc z>CE=z>+6xe)k&ahj#{VAwgcAhFP_dWyBjUpq(-&E3A>{0&(NhZcNd92dQnV{|<-Us`$|rwS(ZKrFG+m33o)HK7IPGLkM># zg^2;t`Ly4VD9uQ&{x%hP;+9$=N?>-l$np|_I8qm4;)dY)R=EsEsfDGyrMp@(Kq|kk z4kvCH?raywL32w?4Ada4x0ySOE^UlQN4uXZGcL~%b_8R;kJjZf(J8!IfP<(f5xd2Z zI#vL)UcjL~jKi=<%-IIjO+ZFK{9H{b-i>!@$BtGay7&pevox@Ma}*C%bj;xm zQRqJon{kAND_rNuL}pLU7m34*SA(Y%uiAnT{v3_&OovH%c}FyTd)xB!kGc5knI+!H z5bA*H{59MK3}adrzq<$iq6YAWYkXp~;KWGJJAwAMz#cj5_a~OH&jzu%jgPWz6R%qb z-D3V3M+yfbm?oFb9VCdqF%H$VbOEs|E>G<+Yzo62`Vuu zUv9)e&EWY?BPy@s?e}(Yndr@#e7+Y*{4oM_&y;-Wvu_Crc%Fg&@Fj#E6_}q;2)I0C zatbs){>$Q;%{ev>?fPu2Z6NooMgNpD&-0Ssqb+)eyK3kg-oiPy+ z_8MO7c{P8brMBli0a<=@_#@>s9yXx!U`#?B+-LCCO+T54YSQghq#J)oB++x>|5Tgr z3$|P(;JpZ~J*dVuv~YZ*9bdj^-PHcB_I4=IvkqDsl_FEg=X`rp)vP0WRl}2D_P8z5 zlkhV;h;)1fR;E_Us={!naE9&pL$1GNWP%ukkH=2eXi_3K*M)_bFGTxNQ|&lf9gMmM z>ZcTIyI~y>R1k_p#hg|WV+cI^$IaQvMrZ8`C%ZkD_fog?4 zqb;@I2_6Y8W`a28{XeCj#Gdb|41L}csk)z;N5ft9w?nco9qj70miZd;1D%AGvU&4j z*K#lx;FgaoCvR6h16>cr=8B3FmG2KwkcnlRXtD9rOy+GX;GHUm zCGNvZ@s9mhc(T(*4+_lthYvL$u`b6(^L!4Qp`C#a>3F7iG<^laK&PsOXRromX%b< z7B3Ak3?-1|4}8D^S{c|62ERonm{T~~TZa~N@r%<7ne(F6$pEbk4R;^yJEf&VaUd7h zyZ2eAx?PWX!s0?E_l(5FCeh+$%7wTiU0p@k+b`IszSFJ{YR|f||w$n{TMZe!(u*^K7zoJe~Cm13=%j&hB-`?G2 ziMz(Mm709n7c@7>H8`=BPb8l%udWzw6YtsPDlYn1Jn)NylqZA*E+MmNFjGF^C;y^A z-^&MF5@CKm)G6Z02=Iuzt$=N_jiAc>0(UH$;v^w(p9$~d$H9WHCXzSr{>bRJvDKO^ z9iQl)fO~X69*M3)nk^fLmuKTY|>t*)etdSI|)>l=t|F>If{^_^DNdKJ(MjQKBt^TNzD_99)~JId{5Pd$ngxg`QPXx2t7=Y^){L>wPDw^=wY< z2e|XyKP`oHm343)F<~fyCD*2N8r=R_hXm3vs#~DyhpDWoN>6fbvZgwPL7$h6(aR8$ zEQ$_O3k5uq-!LK**DT~?g1Wkz!T)#!AL<5>M7!V!unF=yYs0(Mu25F9yFmyre<6Ammas6xr(bt&+V6Fo<8OY}CEsOw$~y9*99!jrG0-sSCnfk9^E- zSVbQ<(->df=VIl>%P^kp8Yo&{_X+a~5fc++2joh8Q`RwM59iJ~kcP)q%IB+%&^!7UO2 zQ8->{t-188HEt-T-?9 zb}}V|gc#I{F-~1Bp?|b4pf5;i13MvH-d@y>$nVC5a3Wc$$>`!=QJudmPucv6c6)jc z1-bSiM(@rxRFpgrQ>$wV@bZnDyQr$VO4(u51V(y)OM)T>yC`)MHO&@ckL8|vu$L&{Ji~NuMcfmghCfbe;Ccpjx6a>L7p4T1vr8=IvR?= z7XlKm``ws1Dur-_5gwqw5k+WK-#r)OEWe2sed9U7Ik#~|jD_-&ws@2c`u z1k`J{8gyO>Ed|EPj6g5St?U$e0+-KcT8=)aqa2+`XCL6$E)14|LQDE)?{^UJ#@-o- z&qEs*^gvYke!nMwjcql#{)k1kVv{Q(aKexXAR;D*nNbc1m{WyZ38Ai(ePc`@Tt@Of ziNSK{dV&Nz9IIY({NwQ3b*#NI@Ll8{uTuMmrbzn7XUQng8!{=ha4ic1k&%@p$SXB| zBfJ2DObG&lJ3wIXK`|IaC$-(U9X#G|eTYGi89*Wy&G#G2#7jX1I>pQ&IG)eB1yil4_Op2v(OXKWvqP zAFQ*$Ao3V-1P{^1B!gSV>Do>R%%K1HAu0)HRgL&3(WKDLsaPdBs|-0D=5-2I^R8Eh zC>H^b=`qfQf?X)wIh@nQPJZ#NN(>G7*TUva+TM<#-PT}V9Ox%Z2nX_+go<&$nzJE& z@yq$i4`V-*Ibv=3(FL>_%=dbqLLknJQ(Wk(1qhDYVvt+hkIVz#!|!$QEOXU-f+NSr zWHY1O>D5e9DuXm(T%?6)T9!)FfI4YpXz^#%0gwpOuFA2Xm+HN~4ea71y2I4wKn%+}4VgmjMQyQ$pk|a_{C6B<$xzKbD)e>E%(k$h%BUr)W>Wo6 zML767e}d5w!hc9Q*(sSr`N=A>)I$>@!xMpl${H5dxLvqqHXZ?IH=gkl0ad3Q?JkoId7~PmZXdIO47DhBK{LWM{I=J_8ON=9 zH!!Av0lJ8YU#rtz&8x>$60LXZ7MJJYWJOd)*f0spdn>s62||R6OG=5mzGNQWt50S# zU>ZV{@6Ra8-PF{E;n?Ya+Pn#~{NTBH=F`zhbEKszc0Urh%~DwfIpCl~!?+j7 z5}mb}j`#HIytr=2W-;A*sL8RFR^BQMB{^JWGW)%UYmO^fvN|<;B6HpPt)i)>#^eoL zJqLWF^xmI7&iHa1y@ZiTvbKx+=5U^K4up8U#AY~6#81>jCnQ+e*y+B#ML4EiK^-uH zJ>^UGD3A>0WPVhAA;o*UuceY@{nNFX{XuT@W7Kjh6w2;oy6a)6$>#GEP75*~9*d+3 zcwX*g>0{<*Ca)9@xSO0f8J)n_Eotrylq4g6Bdt(W)C8ty8^tEXH+kq3iY`zY*;K_b zN#CuisY$#H=F2BW3+O0;EQDMb-!57u0QLTWMQgln|1PIAbC(LP`Qq+opl5FzSv=Wk zwq{`Kdp4ghe+__?kT8x8Kb2rO|IKkKj&96zvw3m`P+QXe;HBc=tj5&f27`4-mk`B) ze$LI8!)X|05O;C9w{G5AmWtox*#aODUyh`U7o-Y>PLuq;eIofEQp1NJN}B&_0YGo& ze;a?CU=!3G=fn> zd=`2*WuOKT1bovl>A|7?Om@ueCBu(!I&5qFk3S*3!wfzEX16P9OAWZXgZ%IlQ{|NQ zc<5C232EUDIa~x2+3`bVa2bMsZbA&-V61uftOYTOpu&Gxie;auL1AyoY2mx|FN)|1 zDfmk9@heQ~UpiRi;6%*i^Wv<(#Z67VB^J3;c77dyxZ#O<#`RHo?#hF3{V6bV}Cnp!x_TK2mhO1)5$%aK@ znX9WW7Kp$JdwaFfR^e!EN4q#VQFl70Qq72X3EJ8zfRqI|P|>l2xt*{VmzD#s*JDCn z;j~xRCf9GzEVsPHOc`l}@l3gP#ltVH;>fIr=fDj4ZAMXfL*ZdaG}m)f@Ar?dLQDdi zZn>?k47CxOuEaL#%gZYQeGAmY{WomO5z@a3zA@LC!aO%smox_i^aM-3Uk6gh%&pc( zpK033HI;m+N=t5o@@r}g0zoZ$mSFI6pTJ-f=`9{JjnWSdWii5yaA01o1!y{=6NaF23kkVf)USzy-#6Mhsnzj z?bz6+AixWDb$->}e$0)u&`)*)vMEYS!R>NhW8X{rRcqz@64}zj;Lwl|P2~%_Du~QP zu3%H0o5PDElwehAQFN^cp5H6u&2efN@udHY3=5UcZaDW0LHo$%oFkH24n%ZdGA zG&|rvJA8#TuMC$knpq=eFtfeAJ^bMzURc0hPft(Be`2WK*<{xwFORIX6poWjOM^nG!wOAjlE%8%vRAH3+%w3qT=rx!f z=>L%~8{hRr_H?#ML<+Sf=OZr-Hj^K1Fnj8M7+k>!R8Kiy zv;!H`6A?foUXTEGGs5^nL*Y-wF4tz>6hIT7qq;I49p$qA39CmfU*X@{(jZU5(?MnB znV^Jc*WW}>NIkkMztSD&is|6STXQpJ^xV6X+D=~d@mKA&Ac32BuC)0Eh3uun(~+{E z!z__dX*didfj@ykh=8B`;AbC7ab2s%TMpnLaXe=1u(9+g`t2|5BXiduikF3dJ1O%b zQ!!bkn+MzcxpPBh&W65z=vzVm;+JV8rZpbad=g2DJv+)*&H) z`krC=IAbE`wq{mrCwf>}S)HiIxJBBj2l2WPGiW1D`gKvo16?`xhel-e_Cla4@w~p5 zZsjRS9x1kVUzOrUKVm<6Kq|h`>Lw{v-#)b1ZKOZXA?FYFIC36)Q@r|NUiy^Vx31aP zoH_v$D-oE_={c>S>Y;4tZnD$(1 z}%2g=J@};s?e9^O^)Qe4?kk+}v&x$-2ni|mRwzLUHj}3zKNwa@U-~3_Wj1|=1n?^`PP;m4(`oDRpAvRQF+zYIJ5$A z1oSjze4W!4;4CO*Jp2O}F=zvWjXgL|M!3Al7w~!`SMyA!Qp7LU!H|H~`EqHF5)xLR ztBU(TZimFjqr&;{hzI8yW{}Xo^%8nV4sSX`E%q26)troP~Q_Sg3Ozv0LdUdWQTT`>U(CF3}k(`wR7CaO&?sdUx}0p*X{yIM)bMynKt@Bbb{w5)SgX+wvZs(Q;`Q=ys+QQzY6C`q}74YP=r;cTN9Zm~NiSQ}Y z31@)D)9V{*4sX8$AwK*8Xb?O1{^5^J->W3lKLV2!`{Guc`k=fWS-ZC zPV++_V6YRxM!23el^%|B>VZVobEi5g(o3=A436qgB)T$!f^!hQ-a7ewPlHZDVj zYAoXugrQjR|9wXOpQ95rgX1i2@^tH842_$my(7IMsr*9mKhc~H53BvfnJAYun={~Q zc}wG<)3q^_)$nM-!iO0qgiF_E_KYlHnK}vw?i{7X95rt4pGf?laWA56l5SU}2Ld z66nSfO77gam`n;9nY8EBp2mTuwv;Q(ftE|kNm58-=PDP460;~btNUe&a<+$$cUBvY z^uV!Ts;>9n*QEsE&!hu#G&CMi|Jf;jf6psOU{ib-!H9xuN-hmXmo8h%;JZywVHxuf_x znw8`QAIp|e8h>a zdqqRo;;c^2SM!qB7Uw)H{ah5R_IIB16*0YOr^6{9{>vTy|D2{15`rE7%W`)VZZ5i+ zyo=vrO1+u!tWfCt;{QmmeMUe+;T)B&Tf0l+0(u0t`e~?)ghge1Q+2FTG>$|f&1;27 zvBoWuR?~lCMR87nb_lSJYqVQ#{{B;0SIdKXb;ljg&;u5owCxe9^O&NC+QhEeO-``r zclzM1tP@aBB4+Bgja*Wm8K-6gmMC%6O% z?(Po3gL`my_r~4b-6c2#{W>#q&YijEe&<&|`$uo7RjXE2y;X1dwlJipsaQge)F(BX z+RILkLrQR#t?)U3MnjO4=}EAZFDVUvNQTwFyzg)6->~%euo!a zW&jR`j?DN^M#Sr}lez=(-Nz7v628U34dc__?cPF`#RQZ@I< z#ezwPIAl1OnNmpJ!aIVX`!+n=ald?5>IciP$fE0}-Xdx;@CSf8Dz=>+^je(}<`n`Z zf;rR|thGCh6~wpX5U6lh5ua1xkbbdOEeq}TBSWk5%Muz5e6(52z`7nY-;E81ggcL1 zpr)J;V;?=H`x=MP0oR(=Sg&I;gxSs&~J+ zSqvsaGo9wA^OeI&l>skWu!NX|3h2oit=zd)=0l?@d9T5N5jVLf3)TdjB=3g=1KAd| zB|IcdTU85{$rb?L%|mmT6?&emYv-7%AvzyHhWEv_&AewxnwY5$AD8zrR zWKMl*Wq8?Ko7pE_7d&keO-`PGC5|YH85t;`jLcv)|5ZY;hdKA^t;^1inAWk(Yo<6{ zmlF5#>`5t?Qf1O}e&4aEp`u}4jdMx*mPz(24!aNp-BkY&^3QI@mHI9gc_GhJLmbcP zA|z0{yD?^C?JKOkTCXvBy+5(o#_)1>uXeiPf@9}h6OH-hCxiE4(#VB9zYULsHgSg+ zcZVU2TxYb;Q%9p3PRrX5rjKN3I-%x31@KBYD;?e}72%@26W#J=E+uK9$cL%w1s%bolf9KxTrCli=hRe9q`U(=>AqDr)+!E& zTwirOH6e{y(HtUzbo?StT>ky>wAZ!e03y#8TK*3shId8f7RycSJ=><*j%S|Q#2RIr z=h=dD3I1W>2is6Y*@5olU|HW$TAo`8By~{9y^m4ZI~(fcm_e4&r1QN9XfHDv9(4DEnRXB3p+B2>s5m@GZCReii%sEPh&=< zY8Cvc3F;b}R`xEf2lKxc=u-n+g_%}+Nc<#)W6}GYTk&8VcWdR6NB4*9NG_O}$hek! z4jLPDd0#y0PomditzQxeGVc*F3N|~R?RV!~?T96q1l*mk9MEg9 zagvf^GEe^GG7VH>zA=_$c!8Rl93~ zU%kgN*6!B@8f)6@U!r;_Ih}-j@4fEV_{@g6*3TIe=v%Bolg1X#b)M|6rCFjdEmUf% zPW+7QFodL7s_{1DUwik5Q3$_!GbCu8SlFK0$BBtOpFe0n?Wi>72lfeB*1FV#dtJg<*b8>xsqo?UaC zje?K47Dl-umyZ-LHyt(O9Am+ts3n#RcwT`y7Ag4hForq6iXHUv)w4?}R~&ZX=db!4 z9yvJYi}`tuF9e6Dhbm^Xl;~GDU;FO2QKyRXo69RI)=lcS_+2!fQGbOH1ifE3udQ!% zqK=2J*X-*x#40a8Yj5XA@prjX3}c6vB=r3xcF2GRf*SJX>)CmzQuLIvU~ zA)8f5nk$(z7pn}WCIUI6XOa!R7t%P^gCw6e=I4>jV!#}@wf8azbdrCFj|?Cg=KO$M z)<3ruN&Y~|1_@s*>wYM-+@tVp@LCt2#dm4cVD5KmYE<1Zp2fg$I0|EBW!4kie6s3z zF(V{J-ml+)G$?UO3B>TFt}+p^nS>;BH3WP`FrI`7s6p*htU}ltWS#mHtxCzi9R`Fz z1@~RNu!IMc2Tdx(yz30_`Vm3|fVLE(N|NE_X%TS$S*!l`a2`_n`W_cc>9ZoVT+Dia z*bl=4gbM7@>iqih^8CmQ3jlM|$)zL{eqF8NUC5LE$KsFfZ6(jq8*e}Lt>zdhM_o;Z z%FQ1t0=4%9SKsQixSAs5TanqxA^zsg694;R{5x3ti(}$u(eFImM|}Xq==N!@i;w*gX%!su&Mj2wtN4AUHcVD7k%ryZ%Xor$Cj zQ9u~3z}EBIl_Iw*fKBKs7=7%KOXH%RCo)$^5{oJ-o1`$mxjrw?^48@fEov_M%?UnP zUk-8=aZD>jN2ytxLnDi!6!D0ZQXylLI)>(5LsXo|d+L~@R01&%Z>;XTPXU`E zfZ<-UpLX(fK-(_GKp#UriJ`KqQ-SQD9h!a(X^N~g+^b(M;-C(!<+^K?vs{F(kRE{eV=4$toi@ zpWcZP2vpT=vQV3ytOoP7U0d?-h;=p=lQ)U(y=|P?A9#fMhReetaL)pA#WP5x{zu{d zC4>Koi9c>`qX0d2t9(oIYIqAq1(bAaNbe8vS{q!C_(|KmtRU4k5wcUhsu3zZq!1FU zdfOu69je@Nxfg`MG`f`7Ejy_R+46m@Kc;Z`fPjFI$zz0urUMj@*5x9TPC#pB!(#l* zv>X1)We+NI4@P~C(P`MnqissrTXTU zb}M1qhX7XWub7^pRS0>tC)`Ie8UL9Y{pVYzfw5*%h6HvpxtPV3j*L(HyEK+p+SnvW zJ;rh9SwdHiUT(>KqD=rrG`lDPWY{Ed5VQ*Qa7#oLvh>NAS!^o-3Ikq4Jld|6VIMU= zX}x5XpIlj#Cb+-MTqnY$&|{Bdg46FtHW^mBrsDh;aW%OEh&2S)d-UStACJo{K%kWR zo{3kRk%Npn)%t6&-|g`hQ#UKL)&pKJn?a8l+bKtPYSf{vSNpq>P$c)qfGtlFCAH5+ zFIp?}#wv;P)R;sJZDt~_Y~-8q86D}YR#NMstQ6vB|5X@GyMQKJkrs&J(+V?(S3WCY zqed^W`Pe;=h6c^nFS{{KF@-1o%ax3I+t^AR3(BQC{q)q*H_J$cvwFz-_P7R zIjz`aFs+H^=HsI!4ZD%@GoXR5&k>h>qb@1+b~t&|5p%0&Sk-b!TIaHcSNrg;8Myas zF1;RlJrbAqpFF#N+j6#30H%;Y;e2n)b;CvVtd-`ixCl`Kj+2Zy6SreTTS@Jf$}&AR z6SfOgVP9@Ma;2lok}J-JiZyjj6~=@%?)%3T%CY#CmMC93i1;BqJ5_CSHmU#efwl=K z`bcnb;`hD&`I`C1#bX;@9`w2Or6+e`Gd=uX9v&XZ>Gy@-wS+G>Ih*}2{+WH(_k5Y3 zpXOduzfDJ$o)=eUpl5xto4LQ4Bn`U`Nh8;Bhtfy{(1!uLL;O=qY>>}hZZvSex9Fjx z{VH{n*-Q*bGVE0oW8won_J#p{I`qFj)`1d;k7gfs(~@WBM>!I1(eb*gv0UoWn6Da7 zPY}n$L#;v)XB68D!22@crb+%szFB*&f`MTWZEA6W=jbVVR>is5R*;DEEIS3k zUoI16Y9R8HFQuZ+m3Sz1(SK9nP#~t5uZtvbceptM?w#9KL91b7xsUrn|4(>(q*;}9 zj0`3!hN+D&27YP!?fHvx>a)$Av{XHM{rCsR$FvEOEvI+6dlYohr%!s`QFF^j))x;8 zH_!`(^3!y4qmUt;;i$nM*F#ZZ$_Ky@U6#7zk#xuhr$R za&VFAY8zCf$&LjVuhphK+hf(fXBiWx|Nc7Y_anAK8)6jB?^hR`pG;$q$yjO0YC>8) zCFhB&GCx(4U^>@pR2b`bQBvFFW>Ny@F)O8!-RteRZAkwE z!u6;5^|L2hnY)E}DwDzq_-H~r+@li%d*$L^eHhwAt7tD+y6b7o)0HvN_}I8dH5A0! zg>849A1Oia^uy@Zs=Uu>jyKA*oN*4GX}2HLQ^q_%7CMY?W-rM4k}JY8|pJ$ z?%zjV{HJo#rTL=Nhj9)(;_#hkaM+kTJ{OFVW#O;4x0fA$vNE2W>WTA$+`eyy;p7ZWXGXWIU5= zJPE}+*18!KQFzA^jMh--d9c<+d?zDB{IoE3(FP2t^ef0DX2#XNK1}eGhaeP&3=S;` zQwd|`o~fGcx|*D^gnT)x59uFU*gR(=rFN*qBCi}cb6~GUtJVwSz5S45IJY4nDKGy+ z7JoOx+PF~3@3Bojx5*Q3?cp6CvC;|HT~F0bAfGL1=&HmwMDr#J4C_a5xQToGdc+&c zgh7rQm!pZhuFUGW8`1J%Mqkg7L7-%aRCZVW>Sv7dOzDcTiQm(mk-46UWT7r6A3%oqyCo> zN7Xm^ylA?m1*mlm(P%s9r6QmmUCZ#Wl#qHoAO1d?3eRwYQuv9=BiXawJxg3$)=xe35S%r;Ng@w(BuV%y6Wjifa z&xY^v&2>LL1pcU+tttuxq9|}e&P4tqVSrYLx&aaA4{9^9!J~5FL2O%zTzDaoY{BBa zn=&mbxu!6!I-QA)SlW7lXjAn)FHAksA2L1+Mi7_{=aY5V9nJ4fgzJ48ok*vDr(JJ#{7(ykd$ba)K*&Kc36iGq9p zH!|;J)OunF>~J9kG&pNgDzokF>9w`7(R+I3F)4`&&|ql4@m!}u&q3ktEgl`u zhHiES;GO~tAKICnXN#@{&do|B#{T9K{q1b?3zzX-qSOCn%os3Cf!3_KQ!yXt;m+E} z(|UFW$`4w5xF~RT?*o5;dvyCQ=u57!Fk1cqhcAo#se(iP;HzjCy-?9)zCsBB}xY$?+5)c z@jSAgEe3B>zN-p-s1?jYm1xhxwKvNyeXMj|C>l)M4<*VOP)3A)p4%b;E! z21tZpsc}vub9+eIJQK$-q;Zsu@n;6`&OE@yZKI3lf=66&4@9-U^>J#8nG7#hmmws2 zXJi6}$=<1KRxHe~Ki)~`9oJ7^Z2o`_uW)EV-o^?`KzX`5?f6+-I0jFzdRRKnkiuc4 zmMrt&8*%-phn+P2efwVTg%L}C^|}|*0h>M$4@Nhpa^8BI_M|{Q!&?`Y%;5iL8zg)= zWokc7Q*-qe`O1k>Box=xjMzx$T_(u*HWMvA+lCpo-W-6OUzs=j*kE-=@Dvr3sGFOb zWZEkkq|-G#EG+PAevh%vh60n7`EpbmMcjJYPoxfeNrsoN3YMqxy)4W>BIKTF&(2Qd z6nLNa!zXf5?tKIZF|j8gsE78hKG`UDe82_Iez@~QgH^{OAHEb17Coe1U46KHzs*3q zL^&@6VS#sOIxVT=q#2ou&lXJFD{XFJvC`rer`Z21C9*=vOhh|$)4AwlsJa=uf?)2JAyT;0+8l?|?!D_`mTu~Ef*3A5e2YW!)@MN9&u=#TR!e*SaoMzu?#vcY3%oC+xdWYpA)){Q-nnHdSqCI=l;BpriI#JeWGBpq)sy#z|s@k+&X@U|a-Z43#LZ03=sqpo#o#OdiO{pke{9B1MX>HQ4qVRYKWIyxFw zUzKU&xxRJC8r1onKrlefE|ziB1tLR+^upLO|L_YhEgduO>qZI^392_z^JwfABjw_d zZ-RIAi=j+#c5H-6(Jv=)~pxZ6#s^G%f@Xcam zME}qQHA05zFHq!91#?0H>LS?>O%&Ord7yO%K`T7&vZRzbN|!B{6DVHz?hPxkvi{h8 zrg58VXrAxQFA$-AX}}z)gt;&O(-Htbqv)e5{~C~`m*^kZGZp6wmr}<59pC^lMSMGL zW~P7s-^b90O&x?Yi#U)R@KSy)(CXK4rds(kd+O&4a5 zSlKi`xRY#W_b!xIXB*7)-*OMsl5fSjNdl(YAyrr~O^wZBgWQ`XRC?nADS)hdBWYN`i zl#8P?IVB~i_efO!Zff-VcFz1fmMg9bZT-@WgREgqBPUTQsu%LtT?ZZTJX zFh1&)O2Me}jYf6KICHk;u(-mn^*lEv<>gD&Ru(o2(XtFgf_61amM~JYS!_hhB>&8; z6iNt@B$14Ay+JLnz)nCB3QR>4GAJMu*8k58c?KH@P^{E8L1gBmigLI^fF``&FPFxV zmlt)73=uaHVAX1{d>*iPqb({qH!~kNd11+|P^W#{gS@A2 zH+YW)Z@Jp!z0*Nh2HeM|o zuYHqwLmhF>1GJ+Z8at==wu$Ln>Z4BJ8~q1#i7s{ZT?;uXgLARMj4ocLN%bw&Ql%<& z2^=3f%m@pb4SUqaO`H}=aCxn|boHJ=orG5%u-NKcW|_Z+)+To{sWQ7r;fQ&+hK^1g z5+r$+SA5=jl?h|B5xJd47JRUP?L5(lVwzrLYzv3jaj?Qn9o}- zIjnuRj9c=5o&%k@US8IK%D^CKVAtu>z*X(*^Y)0f{Q_|=2@^A6cA~xgb)EFm^+X2- z4hEaS_U?}#o05WzZOh1v;u^M}ju$cN#m5*CQLt3?$ApbUa}_IDTk%?~=JoX|88=?d zrvt;Tu^76qLJ?2qJ1)Dm!e+$l>zs;aQ!6Uu6SOsTHShXQDvj7hH8dW!0$?}4fvS^X z?!oXeCATNn*DL0Vn1e_N(CnKb!bp+uxk7g)zm5lDB)FGomJ2)5`1lA`Z0dK{^?Ap6 zm2p_;8pJ9VE_E2aJ~&QtQITIj;ll?UVxZwV59A`BF10o?<}kAI zBaTR;P|>mS^AnR4^q7OHmaziCpmBMf3U&UOpScKtT2#(UldnBZ{jADyi{wl?zxhI8)*U}67RTPf712q=WlhUq=;@expc~> z=qp{Y@h#O~s!1~)%`{@eJ>%f@26UDBB};~mIBq}+1~0m-KiastH4Ch2t7u1rDug1| zn~bGCgehXyBg$awv6{Yif2*nSc|Fm~q>R?lLfYTQM}UVP8s{ltD&gg6rO(WCS$C+E zFMTrXJ7~Q>kCUO0@Ap{0*_hcmKlk2|YsA39Wapf1baY(1%3UGL$(b`Jk9SVtF`B3Q z=>v@%GWDf@X|2I{rt|f>rLwZPtPJB96N(c&VZ4Brf~jeee5KDtw!}M_o~NH3PUQSE zUne;m8eR@18Yv>Av>P8=D?4AnU3~o)b=MzUK%1k0O*yh> z-dcfK(A21Z2eCOX)tO)cjnjmVs&nT&!4)9?r|)41KOy23iWMmBb#m0GI3{@o9e|E8{99xDq z*3i(wZq92cHnxUzB)8G7u*%?Nlg3u#7717^6R5hYI^Fb z(QbtS`*2rIQvH%3rW+M#|;iJ+{=QQSTnZ>4=~8XtEi_dTpx^78t? zlaV%Oo*;D*?&5-}1hdA#+vxW0?&2z_ zkD!fXZA~^MgSWx!?uhD$`xpEBU-;_d%}|uG-->NeYredDHWV$aI47*_^JfSh|H77f zD-F%ZiB$`?RA|*e_)%49Xz%%Fo8Kv}?8Bx)lZ@+!KukQzAbywqvd)gzf0)`&@QlI5N`Z$P5!tU0RU8PODFLG3 zlvX0ARC#cz!!dr_a3uQ|5H41;&-70{BZr)_I$(j5EhYv!jxDLcP&dAvD#ma)+ zf}MFm{{HI9pNN7{Q126d4NS|s_`qryXBc~xA82wZ0zHw8_yGZs!=g~L&;?UcL*i#t zl;!3liDLkmARM)wT-1-WFf3C_D9-_;#o+&UiqUonUEfCIs*-7&=ra_<)3uwJ92hoL zD+^<#OdKeIG^;8Z*Gvj0iK#@-Tcy!vGLdJfomzfErQ?5r; zsE|IOc|xCMWW2umalRcob8f32BS>ea@Si>TN6A zVnE>RTz-44sP7K^gq*G9Vcn&X%lSHj)J2rO)$nxw0+|~Z@l4!+*;Kyx-_(Q{q6ZB} z<9vjZbY{M)=#cog3^z$p^a%m)-jRXTLNbv-l#zRm!maj#lFb-+x=<8mgQbza7eJt1 z^s`Ja1A}W{@&*ibdJ`4_Ei96*=I>NTzLS6?9_i*suyCYVC7O<7eJll#{l40bPw(E= zO47wf!2z^#pEGI1Z<2ON2MOe5B1MOqo1MeoUamG|B&Y4?y*0bR;gxj!4A)zE~`O8{FRvg<6&oQ7ko6^6wPJz(&r`j z1jAnkS!#x*)GI!RRjq1cG<)9O;JA_VUoI_=>!OgZ)~f6vwaGLio!45}*I@{5FxE+I zQ$N2k_?%#vkPx1q9*eZml&uPF(v(393%uJsSCiB!_Y9@EpSY9xp_;| z@J7;bOH%PxT6oU*`5UZT%kjEuX9&$AL$E&qT~F)^{H zsI~&tVMNWbuC>oD{5QFShd6aaap~KnKG+>lK_ah1rdjOHjz_yJ;UViL0gJiGtH{Gy!>5RY0jKIO1!UEJ|$5_ zOJ{9(= z>#Vc2hH~W<(IfK6K<(oIokd2X^2TP?#%?CYOY_6i&xzs{D@e)^Wvo?V7mb#eL>@Fs zY+|85C39em@3`CC%PJRR)x{5qr3F+Csx+#1Htk>+s?H6u6_<-ObGnZ3c~sN7ZUZbn z65t~kvZ?_KclMz^TSjn{Ej zy*5j8k^A=*YG>|RgC=Vd?d)N1?SP8uEv8!O@?T(lG`jG0ECTxU;&K0l;XD{XG`%;Z z5f#(IHvJhV{UE4X76(8=>hgkOJiX?`@CNtGE2&qmoFOe_qm4AV7DX03-aBeGd*Vou zJ+_F+u1;z^ctQ4La(a|)BAqm`JbsYyeu-np<8X9Zx@ZlVxbw}2Lt7}}pj(*gs$>B6 zzbT1im$uX+Sg=&RLiFSpMEUGQCM{HauDu45Bq&+`JgaqJh~~fDtY6THPCyT(zx z%N_5}Sq}ErA#wxVf~LjAx`@%#0;Kg)UvXO=Vhfk>df_Rugm0glD4f)I-!zD2!?J?H z!y_Hcj;hQZ?ZX0z)>KKY%o=x^!J8h;99HYz*IpA*FM4h22h{T_QDPrIJg;Z!t}`nt zW)bj4Ig#)5D*&Ok+Vv&ehU)%zBuD}r1$R|1_)$m7+gaApJZC-tVJJ_M^!|2vu?na! zsKB>fV`560y!>auJ&+r9bE9wf17cfHV{2t&Q3FqVk^aeLE**jc{EB8%gW5WLwu;Bd zu1Vy&*1>+5uHPz>*Cc14)h?dFtom$%|)G6 zSLbO)aAyMy~_Bi*b9GE0n1OuyH_XZEzl(G~f?0Chars|G}cf7QT zeQP9pRk^aW`p}EiIn;^}bfK+fPn$Z5^msu-*n*!a1p4gyYBT~MI3)Y~)k!s5%L`X1 zJvp2lRT?-{>+9z=Tao5f@aczk_|Y{RnceUEP;)7RB?cZ~A8{f^V}c41w$QN2bs&f& zhlfq(DiH$IHFUK;DO%Vq^aVd&!iX$`s_sC!=tezVt=rxGU@G*r^K?W1t+%|+Z{eKx zEz8S^SoFTO%&D?Wp*xkT&jEdi(07-|B_&bgNFRx6T;0vsaA!A5tLpRfYjWBe8epWz zKqc!-hL?AD!YZUVOU#(hgJu>MViIhk9$!rR&B0C^8XJY1roP(WU-;Svx|URy4xAx@ zClQ0Ue+mPY=2g_?HPzRvk|c@J*%0Y*Fp%$12Lr!{4`11b`b!gvM;G){_6GQq1s)L} zPb{xkHk6b|yRr~(jEvxgWBx!JZcCp=`x-QgWfEQ(GPO868%TjG*?V@j0|_hT#BSYO z&Lszs+}rBf&;^HYs*;8xNtlH3#!Va3)Kz2H?T>MHcQZ)6b#jV~jGPoMoH0;3464S( z#WlAmA(1Oqf*X<8JyeRxx*r~4OiW6U!W`~=y|o!^>Do5bX|ves9c(h(V@X>3lXm5h z#^WGLC|qrrVFx|3=p$4G{l8gPM2cgmK0eUxnI^{U4{r1F9olF)vCA3733N< z6+!8Xh8Pgg0(qi65aFu~LvgpXCIpFn=QgPjttF^?z91{N3h=bB5`fZ}7Bk}c zXjaeDC<(bNiqX66y}NS~@>9{9_!I$wkuQR>cBz{aI2NVw4BTj#?4!3V>eWC&GFwbW z;zCLg5fKUS_n#s(W-}7er~7$yBn~+nj_15Z28X5Q@dFJv2PWrnFEAJyI>b<8P&h9i zoZGAHy(eBp$McxVWRf0D&H~~MzDGsTdtY2)wVLJDR?~nA zH%(6%OsvPqS&loA^}&ij408@~?8E!!KEw}JG`Za$#36%Gcr&MLXOsVoSmfitYQca| zQ`WVF^n))9R&O#A$oFjQz(myi`%rd|NH_pogR2|v>KeOdS)lJ5`1dK9#XwSl2jJuv z1}?eX+0%45KuT#o17MO|b!1n(9;t(gkBJ;AP@}c=L^G{44L3?%6`$tAXi=$doR6iP zf&A&~Sz{l?M5F@#9uaxZHry+kz)+p*I8R0-*p+xXBKxr@lz1>$+3~i}=r-edjsKdp zDfA^Zd=w!B&chT~!eVb?nO{>l#CN4C9nYFXrj2Vlnn1bJa3fiY*$Z9x4m+PGzXp6| zxLX|P1W^EL8oWzam$Lpq#%`#8GE2bFyG#u0Y7LLByo?g;I&9vYc3H}SZ{L2ZRrX&Y zl~r6+Cl^el2Z>?goI^puz7+q_-Uf2M|EiCZ7XynSO7!rBeE_tv;qhAVXcGlj*)3-LUbw3hYs z7=>}*Q{yo*as>MjDht0i3Y;9uR#fZ&_wJSkl==DA3cH5XPB1K+rk6oN_9xaV2fL&C zu~Go_fS$OjZ3?S4ti2S)A5%4QxhKC!0pK$TvNW`{yz1&)WnQaa>gPH&-){Ag&!3I2 zdQS%A;cH!Y{M!$aadsoQX5!?}!hnOQwvSPGd>~L1pN?R}@V+adP`Rfi{6n8Vweu&) zLNd{xnHlL_?Jx`ae7_rxse*#m1oGmA`T+rH^M-fno%$rCpSyIJzYJs_h}QolA`H6y z`hRf&{8iZ`MC@xS`O%c;dxlRL%9f}{Yzfco#>$GJAzj20I^{8HAQQ_XkwBP#&9{cA zae|QA<1{TaQc(?RDnqG1?{E++)JZVkm!Fq?ckc@wXA}XSfvZun*sahf%5Zs`srTEEqLdN?1oT`T z+?*C#PJN7=WzUqnFH>Qx2bARR*?Dd{LIvPJYWM^#ga$HoO=y74B?!N?7?_>Rr}Ken z6wdapu`xuK13Ck1HrPLx^H25gizOxQ721R?EwSK>NzqcA@ja9^aq%kZtZYq7Y{Ulq z++}fkkoaV3^v@qT_dKRd(Hzp{k*u{{(BKu5_yuQDJ>Yj`B*dvvm<0I%gDYBBMK-dXJza(rxFaM;`(Os_=cd`my!i7UYjilyQT&B1Z`u8iM2d0eCXhCZIV8D}k8Fs?|O@Ug;{|EbVs#o6r>a#*WM>d^>MI zNwzv8=%paz3;wTj!zhA8Hnp(2Zoj%7vc7Jj)EA>Era2Q1n_F6kN5iYpVXD(9rgHuf zqie$f=||S_C+Hbp2U-$rjPXB7lP?4g=q7P7^m7W4By8V}G@>>*5JWtp`^f}@J>B}{ zqg_aS{Ppk)SI!7R^v&h##Q5;ER_E(s%5cq7!Nj!-XH=Ug2>VPLWf%E|0#0gchN6Fe zA|s0ZuM$264+yI>0;kBa2gC?iuV(G}+3A895;9UjM$a9L1hu0&^JIEEP}G>rze<6& zFycMV2D-^DDvHmL`U3m;2$$~X6>2*t_V+gi;G&>Sib=SNt}#p5`C25m7dck`zFF*6 z?gNb-DpoEy0gd@g@u4FB?+?|Ngz(bN3g3)aj8C|Wvk~Ce)G}5o`6(^=IX>BZ`Uth+ zeS_wz_YzAz3B@N0)TT1Hs#3g#X7P$-Gy-h>hKIAISF!V{17~Z=(np`W4oIeo?ZY>6 zou5=kj^>5yX~rY%E|%|b(hQ{!QP9vNpL}<-0)-@Bx|1NX$&-c9cwkmND(w@#3?-JW zx61FO%8$Kmc+h1`&@xO94c_sM9<6mOEiG+yc-Xj@m=;_uG*(J82XhxPFBBAhiEQHF zQl<+8BM}0iK>YQ?NdR%@JP@L1^P$oV!`-dsv%q{Cd`h60gvW z;J3c8>evNWe%qNyc&B6(TTY1f&hyO7=kFyEtEAzGQz>o!h>ul2z#e#rZ(!rK)r$@c zzvv&9D^f^E#H-Ay&9SS@r7cg_PNU`Ih(OYq$F)jCKcGSc0wW{9JOqr;2NTP7T)b|x zM-AmCA3Z&eS5xeySYiQos9d~IpGmEEwR|7v!@`utHTL1@Qz_j6pr&|F1MVhE$AWD4 zkV0_mdK!8SiX<%cc~bM4u83OO?>N{*G)dn=O2qd5lB+ya(-6*2hlbZLkKgKvj#pNC zZi0zMKeI5fLAa~$qivBFpo?q#a<-QSs9iR^bbJd^DAg3S)Xax#Tr5ND8Ln&V=+* zOnd%r)a_M=`=DZs9e>83s=6@S?aBjN*{#%ZIcsSq$ zeSsklPuXF^Ed@FfEZ4E5Y1qD?aS^^#G=IE7JAg?Us^gT)%e-$n`i6kOtjj=9*VV(& z7Ldc5oi2;&Sh)&9ZeAruDU+cJ2FPC>yQ~b>A5;5-4>}%g)ZE}0bOMT@Ka*MSuS7q} z|6{3`z5%M1p37*^3kv$vtemq8sg!7VR(7Uo?ftafzbFmq$Q*#MJKavHC{+2t!$1_A zR)Bu9b$w%@=^o+mVC~WhCX1PN6Eh`!vJA%5+L>;1bCH~(on;d<$7pCT>(_gI@$)JA zx)b7{RF7;*>)#?YA_nuK<+0yfO`)3i-Zg3*c!K3;wK1#n(WlCy-tIpnyY)xGfrAKL z>g@~R_wiQxGFt0k4L5yQb6ldQ{dC!!T4JFeLu}D2*&lU`_Af&Ly76zbAxa7~xfaP@ zD8DWYfqJZWaddS95>I*PzxVYy%g}LQ$i&3O7b*x9&_84(VRA;bg<&ePvRrq#xk>4U z@A^g9E+2=6?pHVWFjRXXeSYQ}_W?qPIq`y!D@MjLg)Indq^3 zb@#@*>O&2u;nE!QkudF}ZpsDwXJ%fz_3gDz*Or{<TZfIaVZfXo`BJvc(Lx2l z!(E`exv9=^p2<(}g%rv0YcEpEgG<2vAu~=+2umA@jON=3tp$@gH8HoRSKIUHz#k|q zVymn7(6`>UP*sfZ%CHY;a^X>LU8B$>_P+|<3OCkj=ho-AOJLw?#NP=Js!0Dst%Lwg z(BK?t$eb|i&0h=Ja}lOefb%0W2wQ4OhGhE_=@FHA;*JQjyBg}TscSYDoC^~hzV z*`w!)Q-lyT;>5n##Ko`rN{WLa!qFELLj8p$(3jWo__TWF!14^E{sc!~lxL;Tv2n2<-q6x`UXf~Be5 ze+`~H4IqoAPd&}Wuy5nxTA3&Q%@l)+Y!(Rnj_p%L%4jgL*N>S?&@PXUGw9izU5V8i zqcN`xxXkzp6Hq`^utKFXz=F>B)@YMGj6||J@NNnUiP}TiRTl3XwbK`%h-g`}zK@r* zY*VyaB&?*fFij2zh)18vun_oiJpJ366GK^BLRC%S5v(RUZ5P5ec!c#vM`f{4@DTca z<+^9)0UZze0I0=Tk<-0;E($AS+3!`gC%*_zqA~XZJmc?VV%ZHtvws-=<0t_a0eXQF z;XU1-o?3kT$Iz@gR`kJs_?({{y^;BeeG5r@KO(Jf zoG%g|9=B1kSW6v~#}-nVb`khJ>#zK5(ljY+u_zY^t}qtOyhpu%CHQXLiw!f(ZJ20n z!t|-zd-EN+Z7mch11}Ca)7;b$ri(%*caLDv^z6msxm+X`>#$$R%F_o&UI|0V|D|0h z5HBeDwQkL_E!&CQXw}pVENmPs@7Sn+N=W^2o}3c<>QVcb81G~4B?wJz1RTn434{B2 zcVuP~uC1+Yoc_e#$_Ball%t?FdTCmV4{8kN%0>=a=AMDtwC{OwzLWo9P$D=Wv`;;d zqwgxlC!$Vy6_qo0Et*`eWNm`%1CL05gxp?rp?UWF{^1-&T=wltt z9oL{`D%-%d&PIQLS0u%NzZ^o?^rOwaJQfx`B+K)+k%|sa&*e8)?;|31g==Sm8J`SI z7WQz1bMwK$mS4pYuJk_h#L`*r=uq&pRd;b|TCXyn9&IBy5gZ=Tbv!;KtHsV)JtH8q z2wWkd2>#3Z{p$xv{M&x4OWaQmYh@4P2l{{etwWZ?UQ0!^UEJs&eJ~>Hal|95R|pbzKq&m+1t*OvLi%|L|FG zbf6wW*0!EOr0N}d#EE6nDHsGOP;GE)oMmo-i=w4xxxG{VQ=()D!G(I zEY$Z5Xga#t-}-rZTN|yGZu>juUw_RVP|8UKOcQB6HQKDbOm7H!-Ma`TvwO7kY=L2^ zg%ce6q{t3KiAU>aRcV%oAQPbCRsUfufZ?2!50v$PokSS93~)+{R9 zjT`HCQ~|hPfJsj;r>UteC5Pwo zd~*Nd=#-xYY)9ng;jme~TxQ%TE-Jd5D{kX! zN5LFU7!lLcX4KyL1$=~*VHkiHU7cEwjs5(Eg}oM=nVz5NY!^F`b9RoG2S2@4QXzV5 zzQbUnSn%~(ukv;O|FQL!VR3cYx+qdW;V!`o5AN>n5P}7F2=4Cg5+Jw-_uvxT9fG^N zd(d0?`t;tn`y77phX<&&=9pu=HtfuQPO>uVdgwRqjbhw75=7h9ur3VnBo0e#NF9w1 z;ddiPtl^>izR`WALI}>+VEyexE6XFZM*Fg-;86fTsipj%apXUSlK~)>)(6c<(a$BM4gc6@H#Nn>!TxG~;rY47?Fa_A+$g*Cg)di~mH-Sg7mg;u*s zhisvB6W{R(0SXCkB!r@`uP5O2L?U)2ZSu%cVDo7NrgbZ6f}0c@cq!z(4HXdJBN3r| z*kFIvo;2%{mnSKX*#llNEoEyfB4v)skI_|79yPkHtf_ok?dL~CRQ^66`HmktRYLliP2Z<)Gfz@ zf{IhCG>KdfGyDr~vlcY(-pGf8ToJlezL}+yj@iLej1h+fxS$h!YK$AR!vb@pEC$vz zk?r(1$O>`%kD;OcrrV1ip3?oIm6CUB=EQfXmnX-kP+Yh8v3>fh^YNt zwekebedzp&Z;vigc&2{IcNsKb%n-7F1%Wfm=UHm?29PWkSDIiYnomS8+yB}-HN;ePv zJ~?jI`IcURo)R3!_}@MCKex*2A+W}Uj~(j|Wiqu>R7Im}tu)^50Rb@~X>xeYH5>%4 zDxxt4G8HlJcIBthAK$)}rI)o19DDw*x~+hRPngaVQHG2W7hs{{QxFA@)exXAkbOJz zh0wuIQ`)=CW|O|OqeJ{pxu6nf0s?%*NZR7Quno_Z?fCdyaMz_|7uRL*4$ge#mo_A@ zw+!}b&GVFuCS_X0h#!Vf(n^qyju*i#&N$~F$YpfiHrxU|hB-}^SeIjf`DiyqyLVj^dQ7BG}(wU3EOK?@gVYv~vvcbdQ0CtRe55;GjfZz{9<` zy9<2Cn3w34X5%|C@TEPI+4F^T7*}!3lf?cOYqND$nkIuD=~zu7BEK;%GZE276x-PIKSm=9>uUXT%O|ZkIoA z1}x-xWfe*+#DPD)i^BxaUHuR$@MG3sR*-0fYGAkHwcB+|59TeDn8B0F_zqva4{85vklq9%5QWf9zV-{=>sde1nZW(F1cZ>ZCMoMp zBp89M_173FMDK=#^whT?%S~wR@U2=CSW}7M1~+WqMiXRujOs}EUFK&kiE(j3DYCZ9 zprTmt4Am7A1~FUhF37b~p`XPM<#G|3`r~mEjUSq27~jx*WrfHrqgUwyMwg9E(&_jp z`=;hDkZ1NMcdltwdF4ijO0{G z3gY&Wn_HkcrFhM3l0P{sAz^KH3XtU|Z#|n-ikX)lR?iGdm1kIKJpC?9iT-Jer+6|6 zD~UHxQXEn-{DCe#N4Yl8sKJX024$ zmM%e8>4r%3c^W&a$SfPdFBSim^o`r*NxV`K@zXTl;r1v3?N8RaQCYebtrZi;F9x~q zyQNwY!DxR{o<3{pleBEPu#L$J{&XVt!>BTO-|X!}xt6CQKd!R}S`?=R-*_zE?c2F~9S zG4qWJ3<8ayuy%2Y6ofvhtDtBHRSXhYFpbf@1FNZ#cEHFX+pGV;Am6%j?65$@-d47YSzul zUt0(EjhFs#Adf4vKU#A9?ZcD5trRUwG53JSC6`;E5jhSlZi5UX1AVonEeE+}Vrf4s z3(v@AK@jupZp(LaQJcT`qy?yJvg+E3Rs(kr;m1r1iwtckQrpl{kPk(S=sWRlF&$m? zQoZ2{gBcC#_v5Rd z)E%#A-e6_Y)P=AMP0GffS2~#plENQU4UP4-YaZg;F2n@eZf64c_!!`nRiu(P{{S3^Le?sZ~DlR8f0@B2$ za-T!rCWHkVHp0nN!4NWirga}xFHOj+Uf zL1gNt|CsCjrP?n{Di{Ylsr~BM3KMriC_x(=EMjPKYs_2`bn}pOlwECAcpfR&CXZ>& zPdDq<*3N!iDhnfN%i)n>XHWHg%~)V_C63BS$p0>PtYA~P*JhOe@VeFX4vjfVIfgC_ zYm1P{1<{ClNdSzDG8`$LFTvJ|!Pj6hfx9R1-Qv2aZ_+I2y(Q9J%kgPs`si|@r2lAp z{AiL3@ET5^TzJ20m;`9$i4<3?*mILDY9E3u>Rl&Nd0LZSr?c#S+^?P+kBHdN_~65Y4ZIPb4L1TN_TNA$4qtgilaN@;D1+J{|D#r!F4mHc2KE5`EHA`}}1=Q*C4R zyRCv;cwi-rEP>~#P8hTt+28v^0%&j^% zT;9(&Hhe)Flq&mX@a`oflXdQ?+>yhl@i^dRwOw#muD+HKj~C{=q|J5qa((l9<-nKY zeyr`-Lg;e0e!M+X_VH^(=i{F`*+QuF6DGlp8nZRVW+@7)elg>>lay>RD4SCGr?Cf; zo4c#fH5fr;I8?${qr2Gt2YEf;0~MhleTPp+3;H%s2l@*|KPbj@nF(mW)>lQaXfn(f z6Kit%>?bvHI_a(%+nYi-izcLWQP&srUX9$u{fJfyEa)w|TR|ZiUj?%yx`@=BPvzPi zyyHh>nM{J(?^_yt=40u+j2!T`$h=vebGmXDZEjygMJwb{*kn%jV^%i&ti;sKP`;Uj zcR6i#k5>th+Neu{1J{t*FT!tBKkGJGEd;#mByYU`d9`mBE(9;BiWAZ+#)QuX*Mf+| z0WqIWx5;iU4Zpj&6oRd)fJY5*>|~B#g8uMbuRCgc_QfFY9pnl8@!t?$&A}&EkFS%e6KSo$Kp(n7{6h z%!$K}fa}y5To>66R@1gZ>B%bEE1-z^MY;o+zXbFOFILq65&?brvOt6w<&#*BS(ESB4)Z`RqE|aBu3AdY zf7hzY0qKtHv6(Rk529mbM za$wMmLc*pM%icK#44@3~Ls`$OZp=H@kfO3xMs#m^HZ+zGA}iU6oAkJPnMB9S7Czq- z4fAVzdOv^dQ^1f`#Wa)LaCi;`H|4{7DnN+%+#8o$_tl54ktfwn&^&45Vgmia{3=u$5!zY&V+?aePRYm^X*A7!Rtw7UZ$Sl3#O2xvi|AFWxg>_jD>)yS#oqqHS4h?KJHLIg>P_kQ<4(Hbq zfHw!;%g6}r&-V*`g_syLXa$Hc%26B#52j`;6anD531`NJ{;$H)VL)wyHl+6xkp=p9 zm#F^h0*!Sn)ds|*Y^V=2;Oz*HrNr)@!$fZM-Bl#B3?CU4HnN^)o!sd4Yvl{oMfm~x zvm2e3`mA3->_W+KLz3Nm z+bB`e^NrUZ1HC*_Y4_LVih0VK1ETAPfEKL+MtXX_%xss3Uka8nBdekB){+H&CeFd# zN~j+B1>`F$E5Cw8Gj}Xl8h{jf%*4T=VFttgySuzk#D|4%>4@~b(&7&uX;F? z7jyZbgpFf8a(GevZ4|6Dh=^KNMX9s+3y+4aa2*3oXsA^G;nuoRC34$4?tjlX;U~N5 zSOB({+bHERi;Q)CT4cHYiPYZO@IO0dW;S>baK7?5h}3@@UQxbf(rfiMoLQg7{(z5% zfgg>hC~e>mSYUCOh7!R|nyLZVSHRMS=+^f&k7ST2I}`Kz5OQx(1xpwD^N&D-v1W=i zVQu6)WaT?*iUH9hyQY-{R!G^GzQ^!8FSgBuuBbtYYj`evC@3T#7hqrciQFzgSUK{T z)ZfsbjY4>sVYAO5z^4L7+ehs8uBNf7JVmewElhBUXfuUcg`Juy1IA}^Qj8H8GcOBG zW>%S8_~Oi|yqh}x&*I{E(U2vG4=6v{roJXSreUQ!S0yusg945uNJ|cm$+X$AR&^|L ztB${=4-8OI^a`^ceEX*2lA9kSH;P0JguR!@$wWJ75l4?(Wg%GNm@07c2swzP-5<|- zx-57gw}V?2U54%J!Ej#8)sz|nZ!c|=;Vo2g@KHn_0JdvuX~RG{S?eUJ6p9;A?(Q;& z0*oEk!*jKLke%3^wZ+_<6Hb_NKH|fI9(gm;RKhoFrR)Y9d za;GiYf6Xl|{VCu01A#{dh1bp!C>GcSm)k8Tc~OkZO-L|rS6Nxg_INUfkBni~#Szv9 zN2={4cX#x(*E9j^%nZznY*K_S#tGOY7he)h`S2my$o?lJ*XD5YrMn(re$Ee)WYrJo z^Bo`KN~Sw4rr$$}Go$Agwn-izJR09Yi*o#T%L78&R9E$JNZUmHG_eA*%+RVq=o#Sh z)6c3_k8wd!p>H&-HMiu{K1*u>r`9x}cZUweL+EFP>WkZ3X*6cyWTV3al}cqeldPfp(V~g+19VLULEKNeYTqxiMJ=H_ zP;v;!0vGuMMGg8kp5^m~n$8#41qsu_P$4};*t}she)r{>lfri1wo zN3#P$eF*S7sNLJZoIp4;gTs2Lat!1Vh3yXZ7tQ2b<^!-2t#aE>Aa;Fi+Jav&JQ5Z( zQAbZvKJ4!g-DZE=++cdb%y4BjiiHp)&B~I#->lr(FK-uE!IbAdfVWFtvXpQ%i$!!J zEp9@}w^w;^Z1L}u?)#YeDV8q&%h2mite~eRx-bMe&@H!fD6!UXZJxu*4NHx^Ky!)# z$UO98tiGFT|9W~M60YK-fNV0XFZ3mYzoqZSI<%MX)x!WRraNnb{Y=Q|Ja2zqZ}Ga9 zU6?Q<7K8w*NG?exC+*bdnh+0h(s(jD;3-)Jjt*mz>=#|k3M^cr8gF4$U(J?|0G|A6 z&q0d?+tt^FPG1IPAdEdax|ao3kGdCXYVR~)xP-*>u*yxt@BYH?0KG`AsE^@r6+zF@75M+fyuiYF4fP&-a%ye{jckii! zmPKO8sIQS5%Iw}W)3u+8+XZZQr}2#lF^g7>SeBJrSZ-FJpK}l4Z=qmC{EHR-cN@{A z5GQ=`gus32kY*4z#3W%)HGu+34EOoP5#UKuDI387!Wq?U`QY6SeJkjqK=otNrf!+_ zMmCbxl6;FA9piADT7)wq<86QpVl@&%{m9$7sHgoKtzr}?MG^qFodTSLzD2av>1|W9 zd|)>Ilws5xO&ikQoWE?@L^3kO(U3maFFDkLM&kTWM`OQ6+C`-c_LCLU$-)S%?I4LD zlp>Wm(U`2wz_p{~c87VUf2_E|UUo{Qj6c{EvTAIqPu+^z+&V%wZN<%h=i_Zw_n6~- zyIww41k-j?80OpiC>B*b{d~`?ebnYUTWMYRTZPIW0UXHcQ7{U8bfVa{wTlM6U9h-Q zjvw$(UGbeIRUSL5xqh zh5FD^TVNo%++27wSpEFC8J(7xvfha2GDQd{QRi`<$*1ql5;FY$oO2olClgBU}Pk8GMN<7<_!Z2DA`P_2F{%>Rnm>v11uR zbgZoHKl57)3k&l)u5OR&PPmBf@1_NBP7^UAXt=pI(=LQMOom@VLnWIXuy9krxY5lB z0SO3|=ckT=V<7P+RWMBWFzlPXBV>L>vLHNRuAkrSN zrTr1xO(D~_rkm%f5j*_F0qN;3PE&gwaF1#GKx$^i3{d>Mpx?F?-j4G4+5)sWt31caelwjWKZOBu6#v1ZT>MEix!3N!y_;HninPWSmf#j4 zt-hqawX}huICpH;C_9O8N9t3Ci0)feQ4b6 zO<^p~#dvaP4z>5eb)R40P~V-OOk>GDfhqpBxt?mx$w%|smuYsrnz5i)whMk}u_E^8 zjN_%wUDwFh-_&9es8NXRAGNHke?gCEZI}0I28t>I-nzi%PEgO`^Pi)G@r+v2gVHQM z)E^4+5*R4$cMwU!q>w%%k0ynpC~AU85_tN|Vym>XGxoz(YAxp1=95{a(`DV|6+hZ* z>Id|z3Cf~MqMiZ%XHcbw)}HJGZWSG;E@P#;HLt zuqQiuVrg|!sa~$LWmUHve+CWT#b=*f7pN)pviY0M?+IfVqJaP~q9_!mv!BEhs6_Lde6ZMyv}hLJHP5Lmt8sH35ziNqdMQH~#&=M&N54Xj z^4Hn^h~}Bf=hf;7Fv^3-0hb$N6v+0f76tgs=dAwjwE``k7otBY++K-s;ElZEmL7EfH@1lpSGlnF7Pb5DM94Dr_*m85d=TgGOqKuMw)- z-M+0C&M54L`o+@fSSfo5O&U;Dt6XBbqId@9)J+7U~qd;&lfG)q6(|U35!Y-BD zgMSPf?~ozG6{;TFZ4IU3r&7*Rv*BRU$DP3#CG}F(!>nT5dS2nvx&x% zN{k~5NoK5oduliK0k>h!VbKlU#Fv)3i`R~Oay<9B2C|7S1yvyvl3(&}%0I&v8@wL# zrfv4g1UYH^6xnOB-pU0`>}T54hF&HUO}J*wWl{T3;J)!P@hCCsw579|yBx@LF4GJ` zF5z`|Ri9!MY<*?A+1lOwL7>^gSc{WoQbk>rl6i0nZ~)R}@Xd^#+9%7iOJgzr(B&_x z@;=P`mrldr7R?~e^!&^f#F+RS1vKqd&U78NN#0e1ol-7+x;JEv!7MF)|0I)Y>1E8t zk^#7uQ9h;8SOougGcO=lux4?&?)op+WaxDmHL)9G%0Ej|H4;+3<0bI9U`M4kHENk6 zrI*UEajCgP!DipV0o}1LyC~@I?+!SD3@~%b$gSk*#yhH>X8HY7`$s6OI>jvlr=`%l z_2hwe>{vG1S*6++oBPk^vgspQ-vzk6CSKCqgKEzH00WCZ$!t73JKZ1Et*>_nv`z!+qyh zQc|!KN#~@&Wv}fMHOa4&J^gCmJG=L^mS;3aTn+VwoFN88;I+qASRC0jOFQMaZW*Bowng;)GMk+3Du0lrIi=*EQ&VbZhp+xZKNZg3~&fC0ccTcGYBT zPGeA!$q|Yxk*eF5-)MXudbV=K#`%79w~md?F~}x|v(DkNodiGiSb(7a3xO30KzNk} z2&8&T)ZG;P8t!|CH6AE@-C3&Az7}L!=qjEu*(w= zK8iJ70APaj$nA#v(&u+ID&%wFg*vX!42MmiRf&+6X+Da$v4(sIUgFVmcGFt}`6E^d zg%h@WboYK`|JVHtoZahAfj}E-j{sB$J+-UZ>f4mjZiVDp_)v`+o!y^K{kP{Pi3`Mb z?7;2sk4JfLuq1WKR_Rv1xSrH`SncaD?&0zBjmbM3jJk#19&S39Hk86w5ZPv00%tOz zJs$iHP<{Zy5}j>ryQS=^-Yk5^dWIb&jY%E-i*tsmCOH)TOj9gYAs|L^*{=I}UX-qR z{oXO|F^HmNC|_;h*!jLf)tdr!*(2C5J1)V|%LGm|15po9-jO-d%wPabz@- z@uO313qb7>#UXiI_W+LtDOKcvh)Uzk?yIG>)lLQa#3w>qHj@}UMn~0)P!WGW3`G2_(;yW_f$N103m;LzuP!3FV`^M4+fFe4lOE zSN60&-WdJZF6aZkobaBH`cR)*#ew!f;r=dPPw8<-dcMx0ybpXdJ`L$5Q>0n45&DFP z+RjdaFeaK0L9cfRE%i0+Wi4}KQZ_&3Yk<5NHKtTEB)w8#3$F8l>)?KL=Jr{iY(H7(6NU7n!?h7DHq9FLk& zl!m&!G&eeB*wk&+gAVF0>AUJImvCHMRc4r;*YHmXtt{8~j$TSiYz`NyK5TD`y_Y|T zW+KC}=RwKU)epu>{AioiLay{|&(;Z|R9~2#dKlym6jDybrmk;`OEft#JX(2Fr`6A3sRkhPw`0I-p%XJ1e2Y zfv2Vt|LTIDpxNgZ;&su>2eMH)_EFl<($Z4<^a%zIs@`ibOU^Ku+kVr+!&D$FBW^!r zL$JBEbwza^UYaHHMnTG#Lk9S@4@R=H4RKwi6Sf1CA= z_ysLfis}59Ux;M6jFM2AzGf^V9L!_K?Ewj+CO2G-Sa$!V(Vq)#aP$`wJ>!bkB^Gmd z1k&3?6N!H(qBQ{+f~{_U>FtG!%jWfXI&HydEBIXfS>W{*TP}qGtOOK}5&6>W9=q!@ zU6u7bI%4H7Uo!pP4VMxm^wZSfhkcO8i8FkiSwV(Re#?7xljspsa`L=Jh7C@W{e?o{ z)^0zJ2BjKu{~R(noWaP1*(uTiV+tN*zXR$@YAIA8vOBkPXIP-EaYL+m&qVp_RPZOj zjO8PXGll$yyMJUZg(`%zi+4&GAr3?efyl^YPhFn)u1fx6pc$_q>0yj0GJ6C*U|P(7 z9Cfh_F~S}_rF1jDSsr%@v{>oY&{Ojj-fXiZmauLrpEU!ZUSt`5a`v&XAl!F9Y5)xh@V1_Q{HbaQcj4>8j~dyM=H*o z(Yuq^(2!h^GMeY1QHoX4ou>ELAv$z_e?K6ZIA??%Mai25n}%u+<7s)>N1YD=;$dst z+MyGJ%Zn#PRlU?XMqD2aD7d=Z6otN<_Q%LvS*BNrQ6S19LTKq(kwS#*if1`GJQRn5 z9@-^@+hm69L?a{>uBV|$vgK?bO{|k96Z!EmSoNpY znet!|cB(%c61+|2Cc<}aaaAFtJphTG9`)~6!HHcRUBuaa+ zSU66TiTx>dThum3y#JmGGoFoA7xG=XA zA&$bR z#EF~rXSe%eoy(ZG*OCG`-mXu2s-Tq%2<5)MeMPcQ{?@PZE>SyQH+N5km@UpFeNjTd zg#^|7X-lv)$y4%=%+@&O@!GRxry;L25$LZh(14!Y-vd&e$@)VWrOB6uD4}50`~{E_ z_!~gfD0{_Qjj4g%DODPM4-MPnFzLH>DZ@GdN*pZb)E_{g#rU`0a+5fDN}H5N|DNtxV$(?;~yiaAz#^;h(d z0?qMP)2R^+F*~k2x=a*1vriSEyjwi)-a3Z`DZ<>c?N$`E>F4jKI2}(1wYLhWP%@`T z1m;~xMt%i@E%(bi7{|P7!_nBz=ToUWgp=Aj{b0>;Za2?PH0B~tuA$VZvVhZX#YK!} zZ)0L!JLLLFMOMa+M7c-^=3tpF3#3-zE>Y&I&*B!XE;_og)Z|^%m;*~sx$LB3V$vy< z)4~+z!Z|t{*){CK3metN{2!o{hI6OfuBEne6{Po6S_0YZ{NY=NRd4KRx`hVd_SV;b z-D9Xj2?}gt2VHhA$s5x-{@SD+31gv5I+>AE3Dni%AZZLZ|bMPfXw+m)qtO*i+HCRFKjnHjAC4_OM_2J@Srsf<&}f z-Dm;(JEV@5knJn?3^hmjBxlD*)1T4>V;dR=w~0d|bRVlqVoZ3dm=-CfF7Ke}WMqNS zC{U?0btF(o?t^uRkB9Qa9lQ#vKnZhv3lhopZ_CQmD`)v{JD=nlNdJ3LNKb#wjzD?4%u(alA7YNsHD zrf=(%aSUZhF$?3uVEIf>3`S}HM>l*m0uWR^+AR6~18szy5Bu#UEQp9TJ) zG5~EjnR+6Pxyl=M#(tHbyO76i#;sXBpw!?}E9eR?D4;Ku{Q;P28q%A{Vs26)l7v(- zr_nQqm&8!Mf@)aPqdk_)vq5UkwOxT;^xY-n0hffY&f~fJ@i6{4Jv0#x@tc|Wcp4Wb z73QPnIuO!4syIuu)1f6H&5rhP^?08Ikdc?AFk;y{r>z9L4oeu2&5(2JwU7m zmI7+=-4&+pHpZt9A-$F%gtN53^n~93p(o(r;I;9=4o6@D8D4wAH18Fdt^-#lJfOj` z>509t7_HbFtVQtizICqwhcmWDrJWxwKlYw%e~{ZGIKG9<5rr|xa|+=V;n~O38;-$* z|C!7C>LHI7rQenGwd-5naciTuS_3QwDm~Ysu5&5iec>LaPx z6s(kFjoA-K>yy9iH%?oA8yk_gwJ|o6B31Z8B2Q=+F1*<1P3@hkxU}d6-KxyBjQZ>& z<5vADPHAS3f3%e2t~IE;x)h#4l{P%GH!yT;kcXW~IiJMf(#zKI@!71m#iY^$LFBjC6@!TQu?yA<&Es$$vofGT;}1`%^~W$^~Ve zTiN9K`B~uRl{$Xz3)!CadO;bkE1i4aDHN1wo`#X5j)`+~;rPtCJt-5=hy;|bE)*7u zh;93mjXnwuUg5NVY2`912;FuU0_=p_#lwL64;xbe0U%&>3Do?8w#et5K(w8n8oorf z@}Vu_kBrU)RX3;h8o2PTkpe#HtV06$SNFySp7^lYq2^;cV)qZ zkyCnu8MIp`Nj?)xpjscqE-Xf~|JDR-m6M*Z*lzz9@*%EmUJ@CMoPWVA|Hq*Wwhv8hkmQ#MlJJl{ zHp@GfE@~7b_xT#AbvDay>|%s8oJFr;86vS>)@H;v;&Q@&-{B=&MEih$=mp-Ke1=Ry z;6@;`WecbgZTw%{CHGL?7LY1o6A8~o*5Kk`TG?+VE0%eoADY%hbswq=yEl|1InPKM(op zBJj3JOm*QPMSY=dw{(Ap^==8InSIPsrxsb+$`rd6?2S>BE{W-=W1dCFP*o8HypKad zzMQjMe2UyIUtN5-QJCY~#|U5~*ITMReMt{BV^UIDJ^n|piP4FOV|!TC(|4BD?-bOH zcX|OABrf8i=2Xs8oQw1+gNkYpkH#`_1)ch@L(856=&n#fBzBtED*D_PEphu8klyAS^khx3Rm`S zXF0i6m|&{HA_QM3U&ai3?TZn<*7rxoB%7`~)@*_b9b>cn^TQIwkka-{?#x_mECic` z!GW)@jH#q8i#K^6S+zlsAboh$MDR7sa}d$V5K4TUfFVS)Vu51pcT&sGYD6RrN7D1b z;^H<4!JJcHKj158Ab_99Kh~)DFB()Bh!f6b~|7?^K3Ea^MH3{Gs?UIC-%{aGcbKe7hX2=-f&h4Q!6c;gBGe@+ zp~8*uszfK(CQ9JgrXBE?{;$)k4|rMvjg%cDj$}HdQTXyAZ?o#wh(*^n%WFXKY2(@_ zr~v{IeK8b@mSF{R#KDcQn2B_5R8H_FFLR@g%t6FHm2lSwOQb3xaKGYNz;?tw4H9|W zyEmvDGp{G+#85WNJ69e+a=pUe*P@jDDoC`&w5-De-x>$k%@QuaUGF7D(#RAW18>4osX2lx8J1o{e%zmFCVl*0>qK zGt&-Ie;$CrQ!TSnA9Bh0x}8A!`t5g+6%_{lF#*S1()7 zJ4MPQ7Ocx`Xtyb0_|L*@2LY+rzlduIuU%#sbZ8f5KmOS#E6l?%DhT`$bO*qaT(s(C z1ZTzlJzlTY7+7sb1kDVk!{wq7<+c@JZEao%BV~%&3_Yk{=rOLR(_U)LN&b{)bzYSl zolw9!B}hAW6vN5cn&+KF;QHNmN%`B2-pwTEAclwrb8dUsL+Rgd7Gm^F1=6Na!J4D7 zf%k>Are596s8!w5dNt<4gPnN9M0(LB3U><0E((=q1SH^w;W;S{LSr=T@Sn#DhJYWl zuvlvsOK#Ae-R3g1uQL0@;>RDVV&^mqaUz3(5->;2QoPm3ode&tv%-r#HE{Jje=*Th z!LD;GXnwQ%!2^oc)ze$0>nw&-?n0YdTDpso-d?6TM=%-g$u*$wGeWoZS|zRmoC^st zU0&WEo*rA)*TZ{yiq@}VfXrp_wiJZtfe&$54*&Eo{}Tg&M-F68Cd^>bK05=S42IN> z(H|H>cIzafE?NDitr*r{QqppQMX6#oZ7}W>#xD~s8noCvgd#2t#AYRYF-#JhF)Zxl z)2Eg7+HgOX2wh@M{Oj_!6#jT{eheW*(j;yU<&?3er@uj(EQ9R%Dm*MQwYoa9Is?w9 zcF`KY#1b=@nOX!(&wPA*k`Ve$)9h82PVZu3E+wX(pY#HWlNwy^8tz=Oh_X5a1-nH8 zrt)+GeGTBM%K*zCBE$&^%v6W>`jf%EgEKez!e4s^0VqYLDiRz0ABQ_Q4PlW&it&4> z*9nX+5tv+6Qfd;W>2bX>v?s7qyObVeZ)j|tFsgO;fQJrx;W7TxaE6~=PE%d4W%C9J zn=Bhq9gl$EDeds(Z>dyOH)lzDk+`a3IIrtrqT3m1}>0rd08zZM`>04o84Sz_*2(jn(gI z#Lmv^vIU#2^Sw{$jU<>*%?4e|q=w-2ZkT1OLkpQWkLQo+zfumEL1AdFQ^d-ke=H3e zF%ZNN$`((h4NyuCojDOh;hppEJ2KmEm48WUdh57vU8yWO0fRaI3N=4W|yDOcBT@eGI1hPYjxs{WM6 zl1%!4*~abkKD)4c8MUp8Gk{{AnJ`qY!8Tag&!RiB|A@lzub@EQ|4Bg*HG?U zvixe@gqUR6pyB|tn?eoR2p=^T$NJ9)xquD@hTFhR%OBG@s4sts`9OsROVC%;ywc};uRh7cMJ-f;;OqW;nD>hXr_UC0Ufj@IM=AwZ76Dzf; zxVvu7WY`qApZa9ZOlIQ5q{76e?3WGoV_g}Q9~uI*;*s^x{d~OcI_h91{SE{}L_0j5 ztEly#e$PKZeg1}#t9U$EQ++J`&N_T0Co)U*#o7HYKgy;i4)u``{55d@@LTHEwV$NTUt4~ z5)9O7ba3WdU6EDtPg!+bJWy;1fbFUY#amU-74OE{5qqzWM*;N8-mzmr9Nn)qSM0@) z!@1uI;!^^^ea+=3sDO%cCO@wY&wsL&suQ;FrkY-i4(?izJEh|6 zI71mcxoFo{Q3tQDsbO?-)jXuE_-f&O`qqX!kr4v3l3UJ4eWgrYv0Ykmn)3c|vElKU zz4DzN%82|{lBBG1n$g^cg`??ZuW~Lnc0&LCbWr6Z+KzhnM9?%LzvF4)!us2qQm2s5 z$PYuYgWaP6OeC^vF_V4lgJe}BnAk&k@UUZ&A;rT9jbaxbh7}hik%VWq_|s`J`slZ_ z7RNSg0X!kI0+FJSrOieB$Gxc`ZXV_e15^lP1P}g@8_2SCG|2%DXeC*EIZYX-U~~)6p#X#+Un9W7N?ftU|xu7Iz+SadC@_C~|~0 zwrD3MIM!}qpaa^8SPUf#b<}mfST!!8W^EU6_DgJ*o)k%jBmYxSg2>VGxyG*US2R9r zZLCrN;Yl)w)(YKajW?j*c{h_bU$a+U)XrJciQKVcZQZ|;qG9R{koJ(b#uYuBMSm-z z`fRJdx1+@1b2@DI5euPy?swBW5fhd@g!#Eo?=}40uh}bBqdo2|?XU@aCahSSPC1K& z@(J^x%~pp5ywzKHz+$)kqz~PB^No5|6An?IFAU8jSYgt;9;<HlqTVgTvU4m*OWhkd*00FQ0}mohmnJg(Tx4 zyilfy6v>LaxVIz|H3O-zHucK)G*m<>btEY^o5WdD5H|1O4Inj!{3KEMHL z_X?;U($kJ1g(OfL`qFa@Q7)@?Cd`Tqu2Xntp3@?xP6iJesUtH-Tp_4*+*0hcXnSOx zaKSUH$PUDQEfJRSG*DgE#@psfB)!pb5G-7PRqs~IL5+`gvP)!+vf64eF+?EtV^blg z-D|Mt10h{w5(&?5yYQg#^|!f3ALL4#PH@gr0K~H4z4lRZD6)f^!gxo+`&ZBF06Xb{ zxAC8M{IVzb8F8iu3+(JWDN%>=(oTW;EVC$z4ZiQ`*~x6Zh3nB zrD^EPOIGWh?0$B-xtfwcpXCx|3MWIzjNu?UiNueZvX&;5Qe*-imuHqkZKA_pW2RQx z?*rP3GvTmkYFz!{53;u@RcUt@VZA^fDWwpkBISsTYBh6Hn0?@!Ww{~mIOG~5w8N3X zcw&wUBNKhKxcW(EAnWHSQzOT}$ry%JHycxhUBy=55Bf3&)TLyBgs=MzWUucbA|v+e zR{`|blq-PA=d5W=q)D5MakGZS%V6Ay{_r(a7f%^NQW(b9P&7LZRD^+tQ zupJ3Kj`y;$D+v87=<+2+ws6xw@|5M=;(|F%3xJa$S=mF0=I-I}UAJBEa{cSquTJ%R zmugfgwazFNII@~ijv+|!Ve~k3dT`RtfbQ0|R(j6nJ^0ISqCB{^L!)w~s+R;<6XYl$ z+I;NrA1dVrIGe;rnT<=(DlRwG6tf{Ohpg-U@sJ4xm)Sj|(`F4WE^Y;65Dp!L-DPX% zXb~Y8!+XdxB|u?+=pxq|nOp?kkSixGZef1`8XQciP0Cx9QvZm)KiOyJ$DAt_%7amT z`HlNHq(OrDxJa0bNK^W`kW0#lYa;N+KLeT%#{mcvO8BqmCt+a_-o7^j?{dT`i?bH3 ze*HZww))Y*G9@SoHG84LR26F${qtp-F3;$1k{yZ~$Z ziTX7qw-eV4UYi~ERznaKkaj13*DQ1IQG6Kcli6t>NoWm^anhKmI^YLAY-t^OP5_y` zJ!4cDuiHsw^|8(UYHwj!uplcCo}EqmC$esrV3oC}BYMoGp) zk{7tqQo$p+tF=~kT9&l4WbPK5=HC*MUA#3Wet2B{a)aJ5_n%)j6SP0PtW7MoJU*s0 za?p{#ec`FwHa4DuAtbf1wOMQNx|qhK&dAW-bNus70&#f^$5)Ef@8Oc28Rl%=jg*|O zEw5DOVuuaH0V5BE6p9ENAt#CiDHa%Hr_X%U`M${QHcy|W*!I+`1cUzB$f&^KXc_4P z0g5v?orqFGDoOosVjmcwSV2Dt?khP|wl)4(rAJ`M7=fevch)C>gTyiYOoc&>F9t*X z>*q~-^1SS?*B*DJ4RO)b!)=0ZQHiZs@O?YY}>YN z+p4Hy+fFLBZJ#84-urcrzPG=B=ieUV?6v2d>zNM*+c`K^Sj@O-yZl8fp-|S{A^Hn7#V~2) zfOoZUV0-7EKVRQpj~YHYOIy`xH`~qMw|lC{LLMhTix)Gy{^GCQuSdjew=KVoAV~NV z9$S`RBuG8DBhyrV_e()fvd)5=+9Am8r+{8u(a4dOoLH3n{ai_JKyOCP9JKgcO1%i@UC|3Wv+$ zzQd!#$eOy|Z8qPBxvOj;d`++Y1n+f z$e})!|M$J=|2AG}kavM{y`(i#IN-h{k$4~QCgcx8TpRV`Z~`EGEuc5n@3wBn{ zDYBTXBMkBH&f@;YUf-+Jqq&?7q;|n-v;wmA=m{Rr6P!9u-E`?Y^7u_dp?aID@#hhg z24GfCAdhw2SvvsK{H}ZPVAR?m>{&8Ie{BB_7qK5vZ=)>ePO8g{Su z*-a2iz9Xt=tZkYrKC(}@@y(9k=R-<~1kOl(^g?#eVxan8yS-h(yZG;B_n_jN!!9n$<^*x{f_SbRFbj-e!Bl9 zTf{?Pp(6*D3{=uS!5@MGXu)C)fdDyYW83I)?Mgh?G9&Kxt{Sj z@%Lx5o^cVFGW-RMA=|v4fA_v=N4$}KrEqh1-z&Y`BON$~vpEk}AV3Dx=GP!0-A5}% zgnkk^adC3qY`6Q5ntu?t`SbQ5K~jr1wznS*`uji6Z|KkVI*$~sp=Zg}Ubqvy-Qd@C zcOFmTvX}3Fsw?XOB`*Nyla2#Nba4_lSNTu5B|?dUQAgS$S* z6+OY82l>g9`@ZF+yYX8YLo*@~(7|A(2$6IG!hj&xlfz1aRf^wyZo_z=MFYWHHM~&) z3iUsZPB6dr*KW$D_45d@BY#7Nn%aNuH8nO?o%p}k)Wsv=(wtjgwEA@QwzUCtd^a`^ zVR%$bjxlWB&R^;M&-HrtHKyQpX&YS^<951V--kjE%oJstH#QVcFnr#&vxUDG^)&_S z(ZEEQet;n(?#9=3wZ0_qAcuaZrW>O;(x-4O`&#*YgU0Fj$bhwWX9q9;oKj?zSpv zt~ju>pJglfwMqoK>W<%Uh%R-IE3{w z90J+N1p8kr<3lhOBtz1XyMv@w-?#kW@c5z8VKH3CW1H(VW+9Kg(j93@DZodqa6>j? ze!J(1-^;N-y7`d*O=LLQ!2xQ!(bb52wf^@_M{G9vz~GY1QG3w9GSD&xm-ykzzBY^3 zmTtsx}Q{m|QyEx8uFro7nqt@8jm-CA_NixHsSDdCl8?CXWj@^Kao( zn@ukZK|Q;qwDh!0lqg$jBi6-t_v7YOE0d&r*lK~e&##t2@;;CTDb!}zdD^InY9IxI z7xIYF_TOKMsC5njrAjQ|NUH-C$RgfXJ2Ey+`S#0n*ijU_+mKoH!HVhNR}^*cvei!0 zg@K;bS+OFccF#Unt%k0$^3!q_qJwXMIXJ;_i`|;K_S)-|Dt+2!2MUn3d;fJSoZtJg z*K)>ArI^X59FPn8qt77ah zwn5zWcjAJ zFQ1*7Qt0)z`j0cuHxGlvz(6HDmhK_S zA^G2b!TfOOHMl}T!$p=RqN=*3o$bE=byb|g_;f?`fuQFR;J*;`J|t@QeCA3cetC^K zxc~IDwIwv@2b5PgeQ3Q$=32*ZIeyo8-{|k%+(3)Z0Np-nKLK-pE2TBIdeI0RLLjXO za&>#(`^DK$O#JzeKYI587}0+1NNlRl$E8Wx(?gx zTzdQDiISIXf9f(lwssCC(&MLZp9mHiKR>@)Zbo1xXx~TiV@%h16<&88GG0)(C~hgb zm)F}X4-8{UkfTJ&oOpPgd`9|xF|jZqHnDZ_4LaP#c__gW`XTU%7E|JkKVT4QJZ<$^an%8wu1-Pp!4 ztazObFZYu9J?1Zh`9i){HHz{aR&qvOH-crV;y3k=NRtb1U(V+33?T++fgqXLfHdzD z1>T4JcGa0oX9Z(%7dI%)x^`iXg`X!JMc5NY3lVxCiKhK11~4oTIA92%VIblGq;tYB zbGfk!NTOG4rbp>&eZmshzA&OlqAiG@;u|P5p$=%Br$3c8*I8b^<)gR$Y~oiY1vP~EB9@$*97-*tMyCI0&r?H>vO zZNLo^8Yu{k#GJt%e4z8@%Wz1xI+RuW{`UECqc<>m(l_k)n#X_Rb36X<6W6lbZBZ_W zI{eS~yST8uBAsQx$0==m?>bKMjN@7a3YTf2m{pVYR+Vb`tQcP4A9&~Soj>nKYoo%) zZ4BEN;0T!2LLZ0i(!{`G0Fl(Ua&(0(?Cms4)Pq$}2&WKlugmorjlARJK2JD5784FGD}f4Y zYBHEv9e2&P|FhWRU)tna2F9}p>XeNmsJ6gnW#wP(hKp(F4L`|Llf(XL{D?O&8WCjBBmXN9WZx|ey?{cS-!TaD@$k32lW%lPLBs(~mZ+%C? z#ASa(cqdp6RDj98*kfsg((EtivbR^Sy^u%H@a>GZZ>4ZR4zeB;xqmumDPfsi}!61)j{W-3R#c=?n-d zUMuKrcPEwgGIeP$^{r2CJR}-LOM`8p{TUUQXGJzXj7mT9Vbf`r*~F*JTwLF zKeUV2wvg1DTEFX9+ym+uRxU0VhXlnef$NpnkErNLD^5Hfx;`VgBd6aC_G1zdzu*;g z``{sYKG0wxuCZvu3LPS15Om+J;0{Vb zYC=MKJ$~DrTzM-?D8lHERr2)2yzXRj>^~{y4p>>(xufIdd2n-oD@C}ug!zC?f)vQ< z7@}y^kh})=!Je~~&_c4kcJT=}W6wqVH;{0!siddpsh&8L9UFH8_Be`K%^av=Plv;d zezE@F!qo??V~?0%s|behBHU1X-zW*9Q=8zJK>J;XAx%RIK=c*eBcR)q$p?WS?VxJB!0VB_ z@aISFN_;+F_x_vzCY$^C{l|4t)eC;>f3cY9XB#7c+_HzqIZO6a{Qm~!pW#+{mtIA^@y&=EzjtCwI8O8 zk)fd93{`@^UJ}upll09u+w`htDwIs%}!)6W{yAEj^-VB^ms__v6@k z0Tq3-D=(d?+1OhjZFP0CYtAQ@#|3b5fmIW50#L7SLHZzP*aUKXd^{o0&^2$z=nf_* zg^e9}sA6EB1@mBarETfJy!v+!`;#8%YOpPE4dwzZazqWP(vq}PO%YG9Uwabe-feXB z-03%mfBWdag3#&(+-~@9`?KlOgdQIsX_NhRd+&(9U+gp0It;FJmLC5ePy+`hRzzvG z4_qlFgc;b&UmqR3+L6P!o{(95SL4xOl|#;|(4p7RoN$bmP=fzTXiEH?%-V7Oy*%kxOaoMUY{)3H;q>L|)2++rlW zCGnU)v{qRZOh8{?Z({>tA1}{n)U{X;xc9nXPANEa_QagLD}7DsKc2N688?%@+vct6NVZbh~kdGSt$;oxQA zF~S8LML{w0Ixg6&@CGklu7qH6P+^!+L*FC`R+NG0D2DoJHy1mxC;u~2K_r_F|34$u2aLg4EF$O@dS9t+O9u@n{yU0h{Uii|Wp1XJ zACx^$9=`Egd&|q?BT!tLR8|E4SH$r5%jN-3GHfC^*)Etl#6rY z|93AxHe=rbBg^PibGMI^;%2F=8eU;dNTflHFhADWxGm2+FP#&` ziJ;X@KY97Av}3J2aB@x5k|kk8sfrRB!G}xUeI!c?_`xQHi=(9#kpQiQP>|DR8_+hU zBhica{!3YW77!sNfme^q$i?RK625a@-JFxjy0STuiJy&+zy6OqDZXknI>E{&C%gR1 z=cz7n(cb&@%Nq;;NcjGOhus0Z(#N^w@%uX-h1+|2T?RqI24XH4r**%fSvS~ekG^y7vXnSyQK_=4=FpVavBm}C&-}{d<~)r*XITbs3I}ZV%a*eS zqc5v@CBlXZ&1Hrnq|yYPQvb~kl8~5sDl^l16LBxXC2*k-nQ!(>pD<1Qb!ch+yYBz_<7zZ zDH=Tt+G``wU43F|3L=?7jnajr`L9?3SksTgW~PYM+e3^;C6}_kWb6EF^*fVjH4N3+xxfu%sI02`V)|*IQaD;92v1d*1i^CB*H$ zH6w9YBIOZE$o9>2Zpf&SJwVRjMnUjU5~>P%+G=VT?DPeQZ87oF?+1^`b*TP1+1?vg zt>}4KEF9i>Wj?+!Rs}n=L#ktrs-Tku{6595X(YceRIAdQFay?%z(mu5|6k3Rn+DZ= zhI5M8kD_Ct<^QPs*EG4*gL&p_Wj8?pD~#HbJvF_R3J2}IQM3S;@kGrQiLq*jW`g!v zOC6}|BBl41{p~X$$^<=&oy`|wfKPyS7_U*}El}CLHK{1<#KU)2ozG=bO)vC%Qw~IY z3T-16-L#8Uu(ky4TudOu>JQK|v-|TQx=)N{mAc2=(bFPK4r>Bap6ARH(_$8t{d@ez=cLfG~m@IG^jR zs;X{sS_VDvLFHxTMLa<_1mI}|^C;xyq(vHksr5=Q4?k^!xrr<-tfwVqdb5%ecA%2z zosmc?2D?&SPJ)6B?|C`(ZgYf`q+wy3pQK;se9u=s`6;-epTr{}Bkt+CyO~5GL2E#+ z*SCk}2utdEKy3V7hhp*UV*v{emT4hbFT72H;v#uRxoSs=){0QwSa=@Z$s^~=dNnQ? zL;Ub}5T7fCk)UwnN1%v)Ub^xJ`jzrxBME-prTYm9@$B&NISuvdc|FE5`+3|XGsDwW z=ldSj8U_aPz-wl{lv4*Y6)C6^HH7!AU4ws()$GMKx5HwF{%1X7j1&Tg~l!XJe zFC)@Y$I7so#b#;tCo4ajY8lpHXonXUS8}sx-3snOOX_M@M;6{Tsj)Cze}-b2D-D@} zUOh+X7eor45(idw0mwOwjyxg4{pq~8S&W;I2Y)PpVc~1;E`5fHsw~4XE22fTvw^+QvBry_4+}5JFa(7tukGZ&BsiZ z((&J@Px;@l%YSY!|3P7VLqOc1w2l@-dq~0!+%n%`u80~-1 zOjJe4fwg4AZK)$|GbyO>!)~>ZIw60w5>0fxYf`O-VvTNfzj84vy4SC7C<0KSVaFtB zd`%=)7iEuo9tORfp*J>8X8SdeW6UmJ@UrpR4|Rqw8#J&8?Q$#$pDYWyzMdThl#eD{ z^T7M!$7a<1o8Hrn%b6uAWiP5O+DEXMOEFLQR8|pG*>=yB#?TMPZE94Vms}2HXRiAN zA?>X|K9oCp53WcqR02AcHGW;;AF_PTYx2soo0|=B?p*>?0TWa6F5s9K3s4v?Yx!Tk z?mwPG7+ilVW0JM;h}e+WQfHe$#`SK(?L)wCE~?l>G@G8B;~};*!z|ej{nT+1ohh8> z;`+Cu=y{0wrz|mL1B?lN`)}DvMJ3HqT`Svd;CS=tP)x~`z&2m<*y7qx(oWESnXfVz zey>;V^d&;*BXOS=Pa`Ewj*33M`D#{*&)*%Oku30iz4eV?VLDP$#~EXZ22i-T_=70Y zI!<&a{BQ^uFc=lvaw=AIB{HX$0X=Oc9F&Z~uXv(ZA*jX-sXr&V2|^!DJuGN2Z3+sK z7TEZ;@pr|^5~Fd(M0zPBT}XXczQMgwU!z-3lM5zvD6;q*_j|-gCuE|IxX@Oulg3M2 zU0nyH=Mx)=Z~7X<2z@tm7>D<#x`NjEt}3G=G1WOqdx(t8nk$L%gD{6taFSr=U|mw` zzQNpgYR@7^llFacbL0)U%6)Oyw3|m@5H=)apg*+a4n5y+bXorz`OwqQ1oe<_g6zhK z1vL2@IZ>@%fPxBXIT#4Z%T5nff=rR)lypwDX#T`Old-Yk0jJ$0RnuHfa18?0R8vdJ z$r-_&+|>p{vtdhw-@LPXz|>fNWQ^T(PMUcmValQ4uSJ|4bomI>nT_PKzQS&!Tk3>oG7_L-Z1D7m}jUY@#9# zO0%ekL^e0aPR>k3PSgE9JOW#k1B9&lLJp;2F%71Ao{NnUb#=MIOKK?&R3aTlnj)-U z%x_Q`sShePcX%a1ida|wV4w!P<0~OoihFsr2#f)Bk{0k)%b{AhP>^qXT2K@;fq`Flj^h!? z{02~Q65OrCOmmT(&W`fSdxsu>8uo^7SqF6lezv=yuHj>_SW4IzjNShaG_?=qloI09 zFUpRY?-1q6E%VTgYgbdIhM^vNKuq5~pyLH=RP$HlAACkX@4);&dzzVBB#|R4XkKV$ zw~P#}t)*-4wPX zo0Q=aD}U=clJa4>C0Kyp^_K0DxI`+_uPWngMc*&aI~Hx=4mD?W%=UbJ9lY$cUF?;o zZS!r2F$_eGfrrPH_;z-~3xi~z#6@#oFaX^j9hOi@|5_}C{E&HMy1bgaz!UaABgK!D z;0cR=+4YQ&WPuwZrH_EOi{x8To3#}CWUlZ z1RWTa!pMrEu0fZk@o55yavUv~~U^JdE7CrX^nc$tAEAc@Y zL{V*NbBck3C*#0R=V_7;T~(DCIlk<;tnF2H=d0^$uM=xFgAaEY)tT7I)Xh%M%Bw7S zAn~2yjAT3DwP^Pe44IH0lK|uJ`Z!Bp%>^)2nFA=Q;;UVqI@}D6{`XHqg}*b7f_opS zVBSm}wOYPtDMuiJY+to;lHQs;sGBfjxeR}vrbaHTFF`Z_X;J~Lb9hi%9Iru8&@o6K zMLqs>ITVJq4q6@LTjWMud&YLV4LvisIX5ruZE`kSS^|Pu*R4~I36YrS@A0T0(DWL@ zn-FkxTG7_+9q%B6J9B27+t&%#*8q!J`pW{WzLymfE?z)$T}MmaaKzEw9TD%uZ+8rr zn>(HLfP8OtclWEU=iZr*wZ}x#hFh15AH5lb9R2IGTM0rqJQ{+Q9}yap z<%(uVG%RN*Wu$-8*2Kuhl9Y~?DLOLl;pwHNIkaCe=BoDgf`!Uy^()waiL+(1)n!IK zZzr7P;B{WL_sr=84s&e%s&3<04`k){KkpkwGHt)&ft=mSB-o>@G z_Knu-JtwR1P>4QTo~+}0(nCuYK+WCIM6AIa>jqy1(gqKK7Q5PK}Cm}{*5bWL0 zlbKN-#N*@9n_`SX@1#nK(G!g1G4J$EOwH@KC6j zUemuh*zS~+Wf&lsy&`WDMp+`aWKN9m&>-A{Uf0BDa zN~OU97cKv%;{ykPK7C0LSy!9FQzjWjBxOij7l%IPWbxZC(l4vbm1H7qwo8@AR_|3| zgNvYUbU{l$!Azt)j*#jfHr&mV6f*R1GLs$~@@uz_h=Q;fxKt~VVmb%=RvE0UCR<}6SAw8KOerxNT z$OE1>wm3z(e#EVoB57WF0wlXNF1yFExm}U5?TUM8RcH8lq`kTf9FOkfZU3uKTvh6z zMC1#IlVT%%aO}=*1CvlhCnHfwWk=XJ+Xc0^P)VKyb9-u5PRb%kulXrQZlKbyC<=ix9!HSk4~Pw4!;&F_Pie9e{sH-s|cDm-MnWTMKf*V zgtb#s_TRRbwkb!*K&VS(Hf7 zJCHIhp=we-J|%e&LJ3*w?0sH|uw94C5HN>BsZ>W~0CfbZM zzW*oo6{NMf#p7f#AJdx4cnea}*j9HE{-I3F8%k-#@_fMwPSGa*3ov?xDkSqGd`80D zfpPO7eh2(+7SohMm+p3jNSQgJu2ELDWhiHn>z^>D5ZBVyMV;xI{5gHmj=T=m(Er33 zfae4pqP}cYD#9+2Bz$cDQ!PDB)6g1%pU7!r<{d>qF*a}c9Q?P}L=wYXZ0u}Kr^D?j zYh)_sn$|wsZhg2*!ngw%UXJMJ^iM_4vu#`h>xCZfuBcOR61dVdjpQ*3wK%6r#2H)6 z+b@cWypYa?et4ljA6itP+ugajgk5-lowvtv1wCA;;!t>ym?DHdKAItAiMKM zV}&4xpR0%jgKA69z;xZGIb#?9bovdIkIGu7Q>oi)`jI?IEb_DrDVg1JJ%Ep0iv9#5 zdc^n3^UVPnX+E^H)HERf=J_f6pWP~8i5z*N#Em5!6FtA)_vNb-YX^=QyW-&K&OHI{ zi?j%R5uJT$byoXV#HM;2TqZ`urj{P>T!4K{#93=~PL2oyv#V8b1=MpNDOR7h+S>XA zpVKj6oD=jC*pk@aCcu|BP^wtjbTUC-UCYQw)Z==*nYkz)4k=C-`D#$M>G?s%&i>%6 z%-W2H7?2rnL<7c)kmiAOnO?HF=JG_^HN6Qpcq&pgsPB^ zc{ma=RG3F6EV*v?9hRhGJ{wk%%YIx$dM7wz1h+_-%8|r)pBH}eZmlyl84?9k1yvfI z-ge%L&}UM2H{o7kYs+tKU=eNN-)bnSUBsV~gD34c@sGsh`F_PEum$K$#$*VBQL>?BbU z`pw=0Tv~_SLR|%wN%(YpkWk!N-ziuN$()+@3Md^nmB)v((W4ZHE^N;EJYdhXG&Dy> zN7hv?(_lOkclp6*QSs6uhAu4pke;T`y&qZ#g=d`2>xO}=sbQS=ABiKDj3166z`T1h zw;%AAa?`LgmBiG@h~GRw7czRijX+uWe7$zWRqn9lcjimiOGcM zCpx7bdfAr56A|WK$H_cTiUFXt*QytkS4|d43$t~a{|_F^3e4Q_&!3*IVrD{GIHW=| z$6n!{9~~}f{`%x18|i5aq~R62PoyN_0lHL{;kspd`f&QzS0W&80r*_DeqWK$wV%?O z)amHIAl5GaImIp9lGLT=YYCaD9Ueh1b}+)=#|x9JMMP!_+E%5PLkr6Mvz-FP|B)Sk zt$2QZ;kh9{H0sK3b04*5QWTvRA`}krI+x%Vv9;amj_-9i)LDvQC3iqd%<(y74=xPO z3EHP7*5dOX!Kl9k%1|>y&~ZlDCw(|Xj1@C+h%bPItx~?}R3kQ_Td;2w4gN-}*oH4*an0;7y9{{P<`X-Qlk8Aj^0gtn?8NMFIaZ2VfV3fX!?T<6x|a667Z{%*MMS$Y_Bsr-@_e*| zGTvNwzXfW`&aUq+IcHe2jUFo`Nx)}dUzE%kD#;I))E^XSSVkc*>V4dC;PpqCm=5=# zu>{`y{3Ssku!*q5;k^m46QSLf^0^~ZO9)W?qy_~sIHbggGg@36BE6uniNPpw`1MK# ztOTWMY8qsC9J~%bXj}ye;M-)Fr_@3U&dW<6P^y=xfqF}KKptrZm* zkf0IaM#!xjfaW9;sl_qS4^C2q2*FTrCgup$-06Ple{?7P{qTtl%v~7hitmUXu1JBz z!?sUEwu2d)o(5)vSXhgbgXc5^7DPw*^38sU6?S_Et2lHV`Iwz+dvlpDsrj-Q?=7-p z=_uDcVo#WLp!$Ofq^11#I~<7kt{3VYYsu@OgH={7lfv{2GgI9FU&g7p(l^TC?py35 z^1SU)y}sCMw{v;CpE(5t^6FP=S{jj{r`Jt;1?D$kb~fK1;u~Vs07e^LVgw28!z2rT zO%crve@$H{BJOK<8q=_!-?yt9g`{g?xQhW3k(j5~C0J(Gs(+O8@``7511lByEAi(L z6}mrK`ZxvOYUhe3YR*F#>t~ckv8}oBh1EqrW`VZ8bYvUL`J#;<|DIzJPz)LRmS+`VqA0d zJFc*`HXbz|cATfE5`@w|`wKzf6# zh29;GzPT>njR(*54NNDzT~1eoYub(X1bTGro*yf3d|%hBiEFo?H$ZK^!{uW<-nJ#{ zzV&UqVM8nzmdrrlLE<+%4^xpf9p6rPJ5jzxPQE`cniF8-tiVrCtFm`7 zu`H<#kP~P+Xxio(i8nB?@&iTZi%u8=ERhDNrTwB(l&VJ$Een~~DHJjgpc~vRys^Gh zrQpIYW(L*!E(w@dN-=nhX!1?|Y6=Sr2kV&{T#`r+s4pS7!arN80x&0-h`NAOk?a8Q zcQnS(*+AyfW_1#90Cu1O={RC<;WXlaK{M^xhM=l$g1$}}6J2#xB|P%uqnrA^Y`?ZI zg+0%73-9_WsnN7`U>D7d-q={&LRTb9ksk8#5g$HY zYeZy%Nu-uoR1;p#H&$H=s!wu>|8em=*`@XcSOSt30egR7vzRJ4scc=~ zI7$ORc76g=1Z9!Dy|o+F4q(Yy-@bw~`XH($$wnJ7lC$n`VI?2W5Tk-<$a))n2HTTS zB&S?n^e}jlieN%6xMk|*MA(*RVUR@v&ZJI_2d;sn#s7~g+lSH?2plqC7h~H3<>xLW z7r9E;(0n7h2L2M%*KJ&}xu%If4#T~6SWBdxjf`lw+;~{M34VWCE$>UVqCS)DY2le2 z9r^&?u(SWweBLg`Uw1qpRhe``M-;M3==bshAzH5fbe1`0%wt?30U)G+Sk`mdIR}ftmDW6<-iaWa?_*3ZR z%z`s#r{&n`X}#+|1E`WL8Ok{=3h-41?`NTy{@?q_`bPUNNbrx+g{KH(aCStE&Px$t z=uU9ZycQNGIw*FYy186}?41=Q7|@jJ3UD^-&JRmy*4EUa;0t0bX}RgpT!jW)$Eu?oelh$?#}qCui+#tl%CW3cngqGm_JhD-5IXqyY)p*-cRk!I~>B{d}rw zVqQ*Zc$|$WncjT_Ndz`{M)yHC%quCsh^5M=m&8H0q(ll5N;b}6P)|25#zKzgY>&m} zb!7_oG?SIa3cu||h`ca5Kub`8WG@`0(0^_(`9cL zkg^Xikf;C?hdmlK{_v0C)i<~6@jtt-6fK0g!QHzc4>^<4A+}?{{C^NiPI3|V;FQo! zCScA@WyMHl0T3YARcuadvf;L?dn$JYheosmzndJjdA@hZ=XJd=VZGY#aoF_S{5 z>hqJ8`7NdFh>G!S$Vn8Y1NQkz0HhL$c0|v!vd|1g`Wo-=HzOkUZ0kAU^0Ew<%Y^5f ze5%zm@96!@PjVwCFZd?{LEX5e28W}2HkbV4OhYlqMy&2>01D^wHBZ&Et$hw=fC^5V z_EYUNYIk_h2K5X67i=OW&x)Bm1MOascl{*1qzSb&@7JQmBlZIP-n^7i?Du1$S&(46 zH@_hV0LVm|(TfRWhk7Lx4HtF-9Io)k%Vi129h2L9=MWIy>I3od6g5A1ML98O=y%iu zrK|MbI`X_i1CV4yoF8;U z;6`iW#-%r-0E8!%E8F9aZ(8d0-~g kFw^1wxX#WGS9sILqv~8mlCzdV11=sW_4|Pw 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

$eZ`*-~IH3qU>p#tYo1vs4v;ZY+?zL=k%zv;;_b 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

  • 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

    T0)3B>KqP*yE{8UGSjm% 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 Y8EF0Fw`Ej?6@c}a;Vn(;u;l3f0sB0+JOBUy literal 0 HcmV?d00001 diff --git a/doc/images/decision_tree_regression.png b/doc/images/decision_tree_regression.png new file mode 100644 index 0000000000000000000000000000000000000000..bfe0fdd080e6ce238e120a575735721cc2192dba GIT binary patch literal 450792 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%0AFchL(noh%%)O(7gBZr7Y!)-_9`Y6)#=D^Z94vw zW4YWLyq>x_W0;n9EIo0dUc+dirQ8*dCBIm4Inz$0eNp(OxmY!p0 zv@>7|1tJ^#u{N_T+N&O?UZevrgxVUGcJ?Q;Qz!Zwv!q1pSbTp28fhAmYE`M!uc>4; z=sdCPM4gOWz1JGzagg`EzsRP^n=SS+Hr^NTN+L2kLtlMkb8ofZP(u{*zhU_^7y6vm*Lcj^NX-u z=t{3XmV9fRmP<62LVm8oy6X40r6PbDG@>>__$(vsBBjA3*Kd)LkGQ`tO+$EeD0o)M z6qAgwRd%Z?pD>8J(nR3rQ($`PEH{(ldv<)UL7QG6ucXj2JR6Cs#*-AG%QNus6H@r4+4~KD0P+20d?X1m`&C!=`JBAY&27;mqVry+=^XVJlLb~~NW zW~16!`u^LC{J9KITkWT=1WV9fc={jg#L0%Y`4IB=bkxlHsR6y|H#Eyp`%^J~$2-wo zO09#q;l1B+o?>(T(B1pKk1H}-#XCUA9zAN_Qm_hiZ+*f?(;KhrRM_0zz~OMei=lyx|Vfxg?JFOuQ^wXEWT%EW^L&ZT`uT>NKIS zGkt+G(**qTtXeGTc|nfd3IkPJeb(G_PZ1-%*Rf>|l$&B@aX0M1@e+s(;yP~8ZIubgV`tb zhFdowY&-=wbf8y`;^+0(9a{1k+jJ%*n?~D>wtUfrtr}dZ9z5LLm8F@>4QEdpG-%d& zA=#ktHc#VU%jxh)G&TpX8Ha`{bdMVhh``#Q0K0Wvz|ZPw9IQu|TareY4*N<%IIHeD z*YsSooX!jX@H&RAj~SRamuxm)e~AmIvm1#_)ozoD_*j)5!$32cU#|688pDiX2=aVN zz&rP^q2Ds-rvAi&+;exo;6s8MpX3e(wf$?YJZt=|ctw{>kLPpX4a5gKlz@-KXz+Um zXprX&K9=Qg-OrZ%yk2)4E!w*pPDB_Vu1((t)$iK;5d-!<&^EfB!$5tj2A81a@AH!i z(h~{Lw{`20PzpN@s_+e?2*xxx2`S^ha~QZhCs@+obs~N8EhsL~JSU{KZ}eWCf0$Vx zpV-4tWt6{cKbEFlSLMHc-6LHA|MBL1PzSx7z8;&XzvE{GvuGv(n6PjIjeg*PbYaOqwV(uS zqblzF*cyzu|FUMFbCML#FmG9Ym!|mmo*46IQBH;JJo4C1%1qZ^!;dPeMCVy!sr16j z#uB>?1Wy-!)mg;UE0{vI%83(wOnogsv-@i3vYtskb6+&|GBpXRxjNTtKFiu&D3cjk zWm`qUU4PVcADOOZhYaS_KZ;uw=G|C`M${ruq^q*ULulVz^68%GP&I*n36ygq+ix^k zg3RctqvyPu8s%-IBMcK?UKCD_TpY3=_*75kXgL|WbE+ekfwN(BtmLrz66NeV-+p!7 zAJ9_;1HrR$hsP5NnN1As+$OJlN={-g>IYF;)L^`~&SXoCA^Or8jp>SXhsSZ7NmWdA zLWq53Y2og${Jr3%vgoXEAZADM%Kzt%INLG`EaV)PTpN&Yf47ryU#@s)T;j|sSTHUN z_ssS-W~Z62BZd9L@RdG~wg+i$syVjCM`wLob)QKjmLEA7GI5D))YvV8b6da04T9%B zGqK&6698ZNSLSba`Lw;4?J9}!M2AkBpz#_mm$NC`nQ5#7ta(J;mE+RBSSgV)G0Nao zz-{({LumOu8Jj|z1N1EQIWNVg_ba4 zD!n?|4a#OEe3f$K+tW>Ynx0Jfkrs~5Z`k?TcXgyFrI#MtQc%gNhiVyOGBFH(e*Hiz z?fi-&xp)9S5$NyAF~2smtZ;ZWYEOx;^kYEwT07D4m7eFVyr4Pe-20H8hn)Zy-yxi& zKv3HFF>5IT&UnCwaLIFJJgUT{1OEKkYFR{WnN%Y`Q9B&NzPTPk{Po?xPXj_mRMcC# zsrxovR=q|gcF_!)fI5voV*srXq7cP}eXT7`lFL{zS&Z0&gjWQ}0CiDARISKo+!)?h zJl_UtTF+n(ExZTV2A9BCxU(~U!!dvKG*IXwSSzLE@>tsub||R*r#!lH zEO58gzM8YIM2+U4_1D~~`SGmua^2XZ-!(Cm7&G3C{glBfj70vb4(fDD)RJBHOiWA{ z6!+Nvm<4ZgATYRAj87R0kxBLl2)zVG;!C{j<$tNBIYKX}j{EW~c# zK4(YFf?J$eLc0h+g@X-Aa>t zj~}|GHflNe)|M+73jr9v1Adj#4dX*)mUUOs&e6Km+g%`D%T^)V#-9%(~Y?{|GHGeTz#y*vB=G=60g09n!m4wa|iV@%Ek-G zi|X3>xM<*;O#&k^r?Gu8S!-N>RNAIX+}Gk8D9QH*%{ZX79ydkxtKLEd)H8)pGT-+>x_>saScdlBOQ8r zkGJe)sCm4Gm~5J`EdNdc*-PwJ53W-h$;w|!7m(+?^`u}@0SGi-(iizwoyVw^c(0d~ zMH{b>G-uGO*ctrEr}i)6V#e@vBF7>xqnn;AJ0g?j8n0-Vtl&JEn@9*`8N{8bW&dEO25XH+q;yD58~B{I1i_-vDWmM?%LXm z5%2jf%leJq%-%$6FS2$tr<`wP*-m0D3tZ8PW320Iqrh)pdB>$V%_WT>i6@#H9SsCh zHp`nYh@#!ZZZZRd36PrxHt^ZRJusVgYhKS^i-69$hKDP(C9!fZg4t)cU3qwiwZEo1 z*zsNmM;{%luW44&8e?DmBzuXAe*`O%41ZUaFj8zF1CG%9mvJW?D6$>#j^efZRJjZw zxfv?Dyw>&Y4pxyfdc1Wl=pjaOLmX;{=*ie~mdw=nLKd^)70AoThIH|K8H-Ke(T)~m z^6@cY+ru@@H|ye(Iu*2y9;o51H~{U=5w3K+oc(})&kcmDx!T|@E2hL-omo&#%is?T zry8$#59}BGY^!s6(jGSJ?iq^p({rj+J9f`?nOl(ag^gPh+?y zU&Z-U;J*Dz-!XYiZo)%Z3X+o$o8aNnPgleI?z_(e2ee*GQLTfwTvqRH&n9AFdyNmJ z0`JnC)`_fMs(y8A4w@HIxkJ5k-I`_tkG#@dP{3Qu!jXBAl@@sUUAC?D(`xS8qXs!T zWN1!d(3U4Yy)!nDZ)f~tr%v|vz6fDhaH`bnP8(9joflq25AJJd(QY8Ql#E*O9;0+e=B0BjIFY|Sd#+A}aH*r1k#Qq> zl9GSY?Vp4jYT!T5YFK~!{RWu@`u@F@!SK+4o#T}o^!2lA4bRHMSYS~VELdsSW!1^2 zvSLk=c|(l#c8=dX^ScV}>K4;aJdvA%7x{$I6;v!3v)t)%Hw6>8e(~eWk6Dt#($8pw zYLBPeVY^+iZi=5uj0hWS*FJ?mHCJqNMNJ7>gxyw8WI^Er)26n^AG4iQ=#kE!WJ)ia z>^*&w?lrg4(bE2udtn<0n2}$a zSyg36^B`5t&@z;G_9J|In(#A_Ov;y3=}VvI=rHe_hOD_{jI6K6#o=M3>xJR~rWLH| zH{3hY-zHY0Rzia(f57q}hN{J4tFzQf9I5F|KSJ*7@iTmAk;LdV9vLu&{y3UyD=Pf7FO?zGJZ?6>NXU((^Y?dN z$9V9F+xtS(?#~aB2FCF|SiuearJ}?3?r|r-AJtUF^zKx_ide;vS;UIu7lN6_3@)kT z&|wA!QS_NG#?VC300dk)J&3sCoviCSGW3p~$1gp=pl3&P%F&UPO@qwsP3v#DGnuD$ z1aMH|@NHNO{GSm~gow1`w*1KYQw_D_>Q&Z+bOWL{409;W)xTTUlj90FTe_?p-{QH%Y=LF1 z`xomS(eUJ#I=mgl&?V#a7pB@3 zKf7T)aoY~V+kSk{T#tdT7ZY|LZR11=;$GXr^97+jw?hW|v>3k#$Yx*H1hfdep9E<_ zMxZ+$c{j#aZz~a=73)l);(a6>JhDb+@L~D<`3s8r;!Y$O>>BboH%=}wn%Z=?HjQ2l zf1U2et@=_m^N$_seczE$&0t*IK*JIm4st6Ysw$)&W_lYGf2+i_Y^$!b9*g%((~TRs z4PygD_vX2xtFQ4}f?=S4Cxgva|DoVw>iaV*I|+%w%_?cRzX-)=vxqPi+NYOt?z@w> zma+0y;3jK8dasGVr49%M_S{`JvwC?}Wuh#E7a^-mM51AU;1L;!>7aqj&S2ItwH}eh zSUm(PFXV;WIN5k8>FkgB*j`7O(YeV4kpGTsI50iX&0Jg;{W0r@ooC++KKMa~FPnkg zaUv)ES1m*hw?^$)9ZI_2TaplFkV~_b<&onNQfef@MZvuZ&!ZE(1xPM;8=fD`$P8V) zK63^WvbwMXuUTTW%{c6WT~A7L>^x>?FZpviWz>}DltEJrxvwWE%A2){ZjFY!T|cL= zs9J+49kmu&HznmZ#ekkEjF*FE`JFU_!X#exXAOargukAHi=Y)43D&nzk|FEaF|d?x zc}p-~D?Ow#%+aC#9{_hih`;hT{^4tULtqq1@)(0JB){)j_k!z3pS?Hu;=c;X7I5T+ zUuqqE;9JY}I(qRG-tZ1;#G8E3@$Ls)C36H*!!rQJ4>UM@!yqZb(?wxazngjo28J9$>)Jc!7*Pq1-DQt|N>c3|q>XPQ`J(=qOeyWeCs z%Mjd=AOfHmL#CN+#X_+h9M^y`pjFN?LF~7{LY;(}F(g`45Lz$7wF5PR4fS1hJnf=al1JI z0k-YkZ0Z39rDCZlHX|K2SQ83iUBm`yW-~)!riqe|hwyFWSpIEMFMv8Wo+%;@n`|hU zY^99c;pzv@vJotfD4pjqIe}jg7sp3TqYDIhzCaKVtJg46u;S}D1XOm&(4ng1h&jws8+oORQo3bXcoaf#<(yBKe059MaiVX-34wd4%4FfYPmUlx4aT4YqMeU{yp z@yv2Q4|&$}6I%Tg)kHQ5&84Z|fkW=>x zDeDC}8Mk#aI%xR!^NtzTvzf`ek~uA4Mry_670`vvK$8&}=AHR?>fmLE84H_QOmL+e z5!_+zCmfa=3YBm+WBjaWhV}?a)k1O=Zrg_ch#3y>&Y~0Yw^dN)%v~Mj&2Axe83b-K zHfW62@=_@*EZAFWp;rapHG;DkD!DPd&(sy(0e>}YiFv`3VFZpsloxyzm|`?W51E>d zYKp#@oai(I%|@h~cjTW49O>bVkeE6P4-nSbE_N0+^|08G97fbyg`QQ06Wr-0ECaA+ zGix$yNQUQmS1v;YgY;N0FUG{=xonOh(rt|H;hnQBdaOR@x?$!+;=?`a!Hr6Or69_< z7hsHt)aWulSELm0DkgxRP`l?-|G$b`aS9Y29hH8hr$9SX6)!&l`=)?90v49+>gj84 z>p0rnK0M-&Vi`V7!xPixFCvxTTnR8&EO_R%v|qLZt<&S$ymNnd@4!25Seu)j5g%~a z!z;A+0E}uewz=HRj-oaj_u)L{gZIL%_y9f?-)w=(DhlLOG$lr&^LR0;6CsI)-izH5kVc80s@pu+xE1 ze$sQ=nBfxiR;%t3%#lC|bq5(63(`Rnc3n_xoGKQ?#G*psh0a?BvDYGu0Hu-yeIK<( zcnn^VAfn?ePN5`-ZdU}wLzrTiAc=s<&O$-9D#&UL@j8_o1BHW7nd6919#j)^703t@ zH3|>OvdAhGYGFe_QYn&*H0_j;F9J`f9gWf$y zpTY?b{E%FeUyOf<3l}}VIJo=q!QKi3}HA46(L9GRjdm{x(7j6w=l z6X2BHi%<-|iFp(rw)S@MFk6GZhka~k=xGcfk9h^8eMM~S7l7w`)mTi|*&G7vo|AAR z_58GriY8~`IaUfivP0kcUwqQ)1h)*QjYTIWKLJza9m~~C--u)uxr(as(wgnRW%5`2 zYObMmIpg*v#5#|e4S%tOTKh@kLe$E>zu74X4%7dl=i0w`7OWq6`ku(1`#34ZQTgWN zx84!1dnNGXCpfuOaJf_d>3-!4P z%h=Ip%;;Xv+K1iquN`^(d(p#>bAm%DU6uTfuSV*&jsD^7-di4aW6BDT#p`c(&sjh8 zyU*yu4a&6ZlGgn{Ie$72K7ql|uE#@L@8X0M>j7`9TIccy79UEfapX~T-kZgO>3HVk z*?KmKEqyMjQXC?1brHZXC%V1e^FxtnZ~uTl5Q@d{XdJ^55_COWU9CCUN(;+4xYkl+ zheOFqPfJPm;x`&~WCJ$4%TBfmQ+?a+>ouejZ(dOb&5Iv#rTxlerXogSAH6C~`H*4nTOkKT~Yt{kZh zqZ&w)r>sBZQP>@yd{Wla8L8!uZf@Ea-#)NEf1Z zJQ5XYf_f1|bG zPyOBR&n}qm@eOIQ=XyII9qh#{0_1fRBa!@gJoXnkp0Xr36|YfZcJp zfQWjfY*tbDFqW9JCV@~a`(|;altaX%QqBH3Qu;amxlbg=3-ya_|)~N*1U&{c5)Eqn&Ek z9$xlY775JJilB(eH{U7eSLvg@NEX_+clAG+p`qa4Kka?nZ<1EMpEESI^QhoSQHtjz zzvYgh-+oH#*(+cj-K2D9Wx77n6Ft6PDX4PKyUsm#9UcdwEeAz!nuL|@umAX9*FJry zg_jCNZ@QFG$Z0W1@Pao@&Mx(B_{3n(A+3F{;7NtNF1S;f;RR~rP7zt+sW9T#`j6|w zy<$qX+S?jyt2fn{m|Eg{>zAaoe6_pL2o5<)=Xuxtvl$JAw*DvYIgce_S;xTps|pv` zt~Tva^2%WZVfP}OAX$dtp>47gK!-OwUc3^kHk=8NAV|~Z#)Ec zuvwvzJJWjXFxGLqkSuIMFcvx7W;lM^$t!%xU){2+^U>O9yP zdt=RQxAoX}_I2Vmp2%41;IwsQ{O~w8EZhP=0}${JxzSC$o3lot8CY%1FBz!TG@ z??iwIoCksUeW9hj>$#VA96Z({3B1dpxSbB1!p#ChXUp^)mnv;nD*@d1Wti|LY&fFg z#&2?!B?XwXjGsZH+YiTK!$1UT^*EWSurs-v8;>Ozg_g-mUo?DYW1Z#hhUX-u!gB6^ z@nVHMqYc0>wlK> ztl$i`^e}BifDwQrW=9^^a(|?Dt+ec&P|q>!wH$nrvUbIF5M0qH6Ppd=cx|-bXxPjv z72~hsU4+uYj$4@Q;!zLQ*BCrptx!#KH;Qbh&J`*7mGYQiHFN`fZq=)_M*P zJn#v<{}sKjnG15hkNzQP#e1dPncQnV?8bvq>*~m(-;M12nwYgFI#EH;IiLQ0iu&YO_w=nKCL zZT^JdoaVdb*Usrn9n~9R&A;Xq$lS~cyBTV9RKt$DO6_hM{^KY0-e;7m&no51qDQxh zSqrTc%;6{QitPNNki0zQefKMcGaa+vsy07qPenkNAO8Kv^xn5Ec6@DPM}x%3*X=ShyMLUV9>Y~-=;Ms|Nq%vhiDzI)}|3di*I>aoXIL!rIc z+y*3T2>RGz5CnH&_~kFkITfCzZx8MGOX$Tf@a|;KwRb~04jTOVjm+m$Z4;LB3~;giN|8fO8~6(Iz_qyQ|~sIo{T> zW!L__bqz2xghZmqlGB6tcX4e&|D04$!;`&9CujYvUuE1h%wRaOegEODdk&T4XRTU1 zZ}yA|$a#~q&QvQRaG3~<-xtiC`wl(&{MK+J>T|=-Et_HW`-6DcO7(f1iUPxA+$t_p z87bTIC4gIdOjCRMhcHWSPjljB0z3e~i^Y3yT(hiZ4o17^2?^P-Y1f!(*nTP#j?*p? zxVi~o6bgHMFE3^~m`4@N9!0nl?ryH`x?P;o<97i*RM*ZW%|zhqh$-6Ic2u_`Q-b7m>f-OUD0^f znd)1CGDr?~q;SDnekDJo?acvG#gr{O$|gLqpg_E6KZUa8LEw!fcH}YMw_fkr2n%%hMG-w2 zke7LP37e~dhdb{IPJ>JgmDv`vET7%(Vti#9mv@yJi3#o$*m@g*!N~64^73LM)EwUb z6x4GmJzr4V<8eh!YnQSrQGm#?om%@dLdNy6#;0R-cX9G`DRU-_#NlEkdf@+f_d0!W zQ>1CR?s}H=Ow$(#D7u{)AV3QXm ztY{jo`#(Nuz1F=k+PD|$x!}u&^}Kx%ow$^kLdX8WaU73z-$f>f@UoltRdeb=!Iy)t zShdEz;g@ij4(oenknYRiU3rGThbNgg-e1);~JOVcP9JQp?$5yig2;h+ERQGYOmmc%kc zfp8=%J>^|DtgR?xBb5Ko-gm(1QJm-RZ2kK6-kYwd_ePOu0t^@%V*`#I$8mRT9H%(8 z|8a?(<~S~Kj~fPuV!#-K0bxWDLLh{?bSLR_CtcI^_Vw-mXLj#9orDA@B;fAT%um|e zZ+CX)oo8leXP$ZIeP0#mNB~x(ooN+%Wi~K)6+-O7Y(@Y^$zi93wd?8BA>MyjzwuC? z3GOaT`jGqWn9k#~B@ScHPpTo55clHWtHE=(H&TNYQ0Qrdxf&+W%D_s z9%|jOm+lT+`Z2k@Nv{2rkd>c2vcnpF(dNs=g83OYenl#9?XFN)=BGl2g*-9D>7Z^Y zXO6p6cKn|-Rt`gLaHazP;8V#gdepl(04I0r(Rk8*M$jIqE53sHQW0Joo% z|DFhli8gE+1Oz@c@n1;%)mCBvw##uHHerYm0Hj2&hH-QHh$Np7nR*$*B?G=g9i4HT z6N8+g(g@BC8b1|m4M}BCLjjTkN$6$7N!5!pPH~l6Q4bP ztLYg65vG)0ZQhtX zKk(?LeMdU70zRmmgDM}7CeZ8)b2BT73o}E3P{7Bu3uk;~rn!JR&;fCz@YS54~VU zdOeNn{mXAS6~GgE1-ap+d(=joHTVrWxqf18(J_<) zb~z=Cs}Y}KylLzc0i?MNVI=6As}tNh9&|WwL_$s+RLzM@c(C~H)zm%QMod0H)ykb> z#Gl43=*uM41qTV0eATI!uCDSytJEA=dcKz)Ig`+ zeC;}T8gR43#{ws8fb^zRz+085I|hIXAt)~xvDXaqy7j9rTe}Rl&fQz56$FzEFIACo z6nst_gIzou1TftS(peBUh8f4%JjmjnEduDXGGTj)<07_A311e@4FRXQ+CFRvq@=k+ zR5-KdH2W?v_WVRM!H0ncs&`I|L`2{H7_q&Sx1qJq0z=@{2!O(qNW4Sezez5tA>bmN zfOu)vO}x6~v*?OjDd@f7aFPrk;Do?=AXO*J?{*HSbP>o*^jkyEt6eRgx)q3<*!#2< z<+S#feG4v?D;8PNVXbX5CzTU1C}bByi97nI&uWKu;#;HCuAym9(!QspJgIq28D-ix z5mB_Yt+rl5e6<|Z%qNIu^kH-u00SwuwuRFw>_pNW?S(;eW$wG>dE=msF4I)$WD&hY^J3uP6_)$d4d|F)1@CRZ*%Oqvt~q1M|uv7pWl zAAq{KRQ}KSX+uq(NGFmIczb*w@%ydFAnpn|==nB8>`E%Ubm{M zyku$#Xumr3_Y6OWtmrQhUVSpdC1>KD2?2cNoH|9Ll_U}CI{3GEUIPfeO)u`0V9rGn zasU3upT&C5+&R^5^FC8z>^eh$A#f%H+;^w-Xy?OEz2Nh}sx22+wd&Hs_g#NQUQU+# zDZp!paHbU4_1T4h!lZZELHO71KVjV^PofQj@sH%@iW0vb&Yx{^$Ok-P^uT&$#AmeDNdO?VFboDh+L~4 ze8gDw9=WtB>#rZzkGCr|3x$k)bc3;tpH8;C;9vFbj2r$@X}Utp%9l$U&9Pp!c_X2! zs7~Q0M4dQ4fd}rpw;;Jw3T*J<6<@}?zO2lDhm>0)71x>J0j>2JJ|k1_+{G=s#=qiv zKDdR5l4s5`nmQh*%J3mOF^Zr5HMa+b-g{IkD3^+AwWB*m zk3H-t!9WD$cMbs!hgY~rt3KEz!z4Yv4^BwGp};v{#2!r(1kkFX!~3UATMo8&Wdyv~ zg9j70m#toO)g`NZUiciK^Jm)qI4?H-ob-ava1178ef7xGu7PJ(Cd(;3DG8u4a3tqOuN=oiVEOn=`_?iqPblzMg%xf1hL8o zMU&%n#q!(+-ETn|XLuIisoQkz>lJfqGqOH;aJSzyp~gEE)Mk~M%`A~UQ!k!UDBJ=O zjDLqUl`~p>tsKWluTJQ>)e-fogo*@t-++>1If- z+qS{;zgv7!%jnQoJ6l1Z$7hvV$Z0Cm_XoWq)p$$SufyzZ_UFHW-~&K| zg?>ge+jnqA?`dohpZ{!GinAI4sHQ4hc#D2?x9P0BxQz(MSzW5M5#Fr`r&25u4|C=S z`ttKrI`kBvf|F6sOj>G`@E!~>Poxa5q@HEk!Hv-PHU^HVt($oN3Uh3`dITLyB6;{l zaO>2ghO{L9{4ca)d*sr(!0LB;su${gZFXXuniQv6*rpjBwPK@=4mD_8&Q>F~Mrm;( z)mY(<=(ayVA6%)JCzUqXYAfa35g?eLn349_lSf_&Z~Ota;yDgWrqsxZx;d*ez%Fq55fUFqTJ-ba1oncT z6^JbI%tyd&(!2H_+On%T*PD5ILBT|cpZV}JWmo`@MDd5gI z)wd!6d?64_!+L5oU6K zkx;dr2Rl5nw5Yxu0;g*wPQ276eXTWJO>X)nx8qx!ugS4+ay|-eTSN{LDQKyqoRK^o zFK-i14*C!q5h(d>aH5aMAv-xVLA66gT_1Jk;>|RA_u27w;&0&en5~0o7A77~ zj!^Lc4<0m!J!gIzD3D&{hw-xEL6Id9)&}a%dU<{LBEg#5t?ot74?XZx0iCEA8 zcHZdSX+@6_Pvr!4K7j|c=3(q*5H`)l(o1-MmO0dB^ll+ApxoBm#KH|iZj}`u zH+o-2L5NZcVTkDEluS;GP_Z2bok|XAl5pU8LUK+Ux00hmR(bBH?$vu+$L_vWEWH+V zywS7U3?HINIX2X7ty3&ok7!1Ji#5871n0r^sI9@2xyTtYP7s8w28`Lv(PMb~>|{6b z=1C>1VaeSb=`{PFhaL=(pf7Wtx^7AZJcvmVXey*s^>SS*IX+mC?TVh_`N&rpdYkHGr5Q!XHS+9$vBjhU$i|@7VIS_7-fm z{&-%|E!B;idpf?_b);65PSMxKQ+O6h;pj?bp4=qd>xhQDrrtW`L6pUD!$rjqQnbHY zz{z$3nO%XA5l*QyEJtj_$M4A$CgZzV^G*}E$FxQ}d4Y1- z=dCQ%JPYXHAp+wb4rTnRlzBVeM=v4*KGtBjjRYRy1nh)!0@MhkOpGh^&dr>aAW{w| zhTh*G7vr5L&pFha1osBI56)M*+F%^z>fAB;dUbUoj8-j9w%{nx8DdKb?#E% zo5VBM96M?bZl~Tjr99%TdX;4=`1yqWmV69C^rKI3a1bix63-lG5MpqGOoVyH;C`d` zIgad=^4V4s$0ZF7WHF|Q$Q}O! zFrs2v9nP$$3K~9ysIYQwSs_WesJKEi&F}5ozGbMl02W|)9@bvEEi*>two3^g;Q6rQ zEfb$am!rqyxQG8Rl};n!3<(-A`oh7QAD!wN`rORib){7aP2<`RctsiOCAd2op!1&K z>|DZ+*!GZZVtQP`3%Ej)aJ-=+f4~q4YT6DXf70k7l>zoKIz;&dWsh0A;PAibUflR#t1*TkM9HTUdYnUG z(MOMN1n6`lOfvp3Xg)PNs?6>s90+B1#XXg+`9bW?CXjYM#`?8$OLRp1oKMOc1M<%QH>=m?hh zMB;-hLI?xp3F<7=367i-xj1?T0AT_UR|Y~L00J!+B+{vpzPETnLMo(-Exma@0$y-0 z7au_rqP0RLVSyo#J_xvp-g_W1eE0mVNPxg#o|Uy_G&iWhJ@55LmjPamW6{ z*iPY*<@WBr_Rb#110MSD^qkRMVAact`xYV4+1)!j9)(4(a4f!L-kgGby0b7{X_2=G z(=^HkEdj&sT(57f$A7n$tR$j#o(JJ+1lDU71!h~?4db?)g3@5dvmHmcWIQN)k~Y_B z=mFWYPFBLEu>&&^OiFmVL;=__13V0iWJ&i=bn+C41a+=K?)I1{lH55=6M-ES8mZq7<>M9f?>bApt_Sx>Gysva-VKLt#Oq zZ%@WK%dW&Cfo0*rY*B1ZCOAo6FU!xUNtA^qNytKv508Ul-wHJ*U9T1-(D6w^ie>Ks zT;a%SpC1(bPNZg-ut7TCEhsL=1}ob49UF zQx6OctS_s&KA8E)=uo97x+@2hg<>buL;x#igO+)eIL1}5 zw10jBs9uM|JyWWb%$*ue8{egmQ_-gKv#N( zniO7DuG32nH5J)Tgu{>j1a3k(3k*B-326PC8m8tl6%ZQlba|bc-KpuF+ixD~?Qn$R z2;#oq>;*qJMA_3b41wN(;lYtHnB9YU=<2efIaTE|Oh6_ML*OhBa5Wg+W@7z!0diw21mJWOJMgyJ5JcNAqw42JwDT zUX_`9_t>B!Ky8_!^F|QB?p=7^TbrE+ZmuUD0q+QFEzP?6FI5d6Zd_dG^oNX7Zm%0&^BrxAN^7D&j0B-w#e)M-9=Yr$)2ESCEs!D?&1Db zTQ+_mJO5KnOXlYmctq^w<@(~$Up4RgO4ku+m4CXV;;YLp{&V}G_wRYBLH6|WWaFAE zWkI<4g+FufYvly0maZnh(Xi+vbC=@6HC6S!#T6fW;mJqFhbsgTYTYpNa!`%`q;bi+ z>*wzs>|2~$kga&*hVlIIj*su%Ms%%%aQ|65@8;U3l0XQl8J4wosQ>@%d2wGf+^1_l zuAO_+ocVi(`sQcn7yA6Y@#r^qzL3=Q+vhK@%gT{?0dv2O$oP-<@Ayt{C#JWbDXRF= z(zWfQ!x@UFF)KG|8ZY*C{k*N^a}A3YfmsEXf?$U}7 z^v=1cuI=dW`N5$*J0s)3yeB-$b5-ke3m+NoQ#dUDu<%9@pqtH2b7@9)P*TuVsr{T( zcq7Tp;AgN7#KHsuF6C*C^^uYN9JL8>W=<+?FoP)x!AGqtz~>=OsNG~1-T(ry?GPeE zaBm3Lf*4j_04?VYfb@1ef|r`AEn_5SSp*xo=+ZeG*1a7yF_9!XSv*zYvo~`l>R=Qz+9ed^6x?X}+Zh zRFxI`y&f2DRwS{tqdOW;AbUD6V1XgP5SRu6hGC9JVxquf{mJW5vNEuFkp+gp2?W58 zVXS}_(iqBy+Ar*HI4Y+nBCxY*BH)-Lw{s*)LLQDr0Onppzb&`u_C>2o{DF>GxOIGF zSz#$mvKW>fBz%Xi{zFOCKP|neG!S}aptpH+cur={*Opy!RaS1Nt{oZ~f||N&nY#yj zTSo@L5myB=<`)!qN5g+U*1CJBuf!kx%)*t+eL>FD3lwjj?8#HG)7Qc#Unr*|%~F5R z2YvC>*OGoVd7&pB?TL;)7y<9jz@RLp7nSzg@VpT=8&*f#rk(k8e#;S)R|oec(6>dwE&)U6)?7 zqOjz^$Us|UtSk`v`^Br*1~WmOL*pLjH5pmkdb^(OKAJF%OUkMnf?1tVuIGh5s=&_G z_=AuThEu0mUo6^G1b`adpv?>Qp=|U9*lB=3JBM@(j4h?LN_lfPpza5|xa1Dbw=Ug{ zo`VvSZMEM{93<$dv1AGJ#oijCzyN|{=K&@ra0BKPs6~Z0+WK8~%mQnf)&ZXs!E1$^ z^`R~~yBMa=ZEE?PX{XMJN}u@dqdM^APSbvTMgTp1A@Dg3ETYSk)I`jz2!w82z$-l) z$o^RYC=+t#Ab_vCZkT;TBO*5BTDC`#%S#F!@zCDi=%;_?6pu-A;UYj=Z+>oeaehu` zProP%qv2>c8VmRwt6~=}EUe@VfoUP&egG`nN+eZ`+CY%Wl8A-XX+6v$r8@#>5|i^> zkYw1rUzd@6oj>$wbR2fB!5ySK0O!AabdtgIK85P-_Nxgf8(D_7p|C6@N?Ut7*S`EL z?2!DRaq-{GTL#rvtWtofys>f)h`g_C-~5e(yWphp?&a%mt(*6e^13H?Ja_%>7l(?< z;<~ywo=6wtO#XoAL)1LZv*o(XPS)K)J+p# z(5bbEIU8)M{It8h+#menlC|58ciz11sro=>9?w&ApQ*?o&5`*2;eq*Ep|>9UT2_ssY%$4!GkaLcCCiMyig}f zt!iRdc=WM>o~IBWfXK?OD{oqmoj+gkc1Ff@C!?-t_}UjX?jIfcRB6qBu38@urSI+8 z_O}Oj!6RHdH5yt(rLmdomp7 z5$N`GHtGckZy<;qIbxab@Q1L3gJy$1!A&GB33SGuPqq;BT2!}?BqEeOroMvHIuOxL z9+c~DRhqshWaQXz#2gvcS~qKl@8hHr=vvx3y!`Fulv*Mexpt7x8V&#&c^dr?@vTnx z?#R(j)!Ilrj4p$I|D1r6wCpv`x+T2*573&h1rcMtw_g?}0T6(%(b*JiTRe5f$lmVR zRDn#^Ga!Ht5hGmFG-L53yiLI?l;7uJ+J$F8i(Q^g2)J`MS(5UzGuu0RLHt3BHXf%c zW-KrS7y_@4fb)64l4?AuLW$62&#{x^^&ez0E(`=F33Mo#8pO=U?Clpcd0M%zl+ww zL8woV5V_DFz=LZf3CisF4wgs?YztU~v>94Yl6=0Tx;~fz_ zKe&?OKizBYk&5IKD0!$rEnW7?gokDGiN~BME`0{NpNoYTDBiDiw|}H@ah}(=Sd?~< z#I{8Al3?b))-QyrJ2*F3%7%TI0-o=KBTy&5T|<3vOu9f3kLoH2^!-|5gy+9lSzqlB zCQQqV%?+HbI5ao4w#;$OgMFaRmw9|Y9_sy~nnZ#>?m5~dE6s`6zQJCw=TNIhX$I9q z%rsUOl>YhB8wTUi=E&GLA)#p&OBAsQ`B|fNEBOr_;bx7qj14)3FxNvr9ggDpY1_~n zN`7WN#Mtu*t`mI}UPDVyT4TovpG}pq(>U-FRL;F?zLK%wqa2Tp!xO1Z@zW4oxbUze!Q}slWvFC3o{w%ZEi~t?*z+ekjRq43LwgsMt9fsLlA}0HJMu1YRPM|g#cz#(< z0oT)(bm-Jcg5W%7nZC&ZLRb!oYZ~6MLJu{f0u^kJC;`b4T?K8e!?!2ZI=8^BgG9~- z^|AY#)>F)yf=f#!i>rD|DsEnM~9y19^< zIxqzV&v9X0bGb;jXNh8)IM2fxLJ2P(G_UC|I5K%B%J3g zBqSW=cc)yF$+MGbA%MC|Qk>;wxrH#>f*PS6f>TZIaayU&o=A*6r*-9Wov3U}O`0Re z1hMdRZt-SMt-iLT=v9rlkhw5;$!(y{W7{85_irS=EUA34Z{EeW8n=xwXR1Eg;sjc=5QanP*e$xnjVI&xwC+C^jljIm*Oy)_QLg;t zfP6S^%rfD8@*_=)p&fts!M*#&hI%yhvyF=u=N7`m`AH8rtuUUthP(6>&^TAz%aw$D zV8?Tp9XoVIZc(wvJ3qH@NkQ=kYZ`w!cpUK@{dDdyJc#mwHU*HAa$!HtjDVMrRzv&8 zyt3+07FrSPK%!;1;mi-s;ydn2&nzy$`4b&)8)#vJOOA1TdMjSRYu}JqyoC2>YTYf7 zhi=f0y{I1eUG$GP4gL7N(T(3AawSKGC%Q=6^TA>vqe=*sbM}y} z9;c2*fg84b`!YGbg?b^)oo^NA1E`D>dj zrE^4pHc^rDWSo-`|8tb#bsmQSJDILOxq1Lt;-c<+-F+di^W>D{A7s zlG%(oMX809(_?p-bbdvHGKk7~Gl?L&3Kwqb7#5u0Y*=axfwv0*?9Hcd4q7x`CRbbM z?GlCM%Mdt!2)L7IOyee|!%$3{(8fD|d9aii0%?r^8|b8U^`2|tQWP0w&vEXRq-%>R zI6=agg0-Bp1())+g82OK0Q9oU{2?&8@Qpc~h$EfLi^_1^n}~d_v>KK%bj!@-`B7c# ziG~$ksPg)M(s}rMZ3i}vkF3qiiDSEeYBGeeokTe7i*J3X6LwS_rYO`}WkN3s!==*aDG8DzMY*&-Q{gR5Xm!gB{rZ(;ouv?MS)r4gs zPAWHg-92BPU(89;w%GXX1*L_)z=)bWpe2`NWGjSh>FK!r<)^=UWZw^m2he65_U*)j z?&A=x*S4D^IaBr=8XJE9uFd~(X!l*c$7EhWgj9C)Z|Z#FWXfHd=0q^f2Cx5r=B?;9 z^e;8P@}aFyeD=UAu+{FvngntZ#PW=66#wbrK48uk*i)!Y_b-}}V})OQM{%VOmT;W4 zG`DA%ZW6OC9@9NX$KkxW?)zt%1m5AeQ@VoLR;#ZqFP%sjptccxZ)_!|4h{`g<&{{QwY`?tW_o5j3x$|6~&-q#*|>Sx+9 zc(K^)zw!?M@@uuu7OALK$Sg3&`l8SN+PC5+5cG(d`!^59UVbF{==(@;J>{X&HGsl1 zHLSJL^0}>w8E=^Zb&Vbz^+63F5%-1M&ZfnDKtQlKmi1J3AG@LmDYI4fz6tgSPgfPl;n$v5@P!LRv<97WzPzMnUD;D8HND+BFwM~nQ`K{G#QS9Ai$9$dnr)I2)6~_al~9iY z@lB1Z7{?PDWPM8>NHL35NzQl(*kUmpRVqj>)L+!EJc zC|aG{C*a9+oid+S6~)&_cqYbht9D|C2gnhVZg`oAf}Ss#Y?DZZdiM@1IwIy(WPRYy z!1ebj^WMvc3OKXfR);w;#|jS^BYnuw92-zO4%o>!XK-?PlT=itcelj%J!=eg$tCr{ zD?b4i9+aOD%IE#rp2oG7o`60(XeOAR()*86M$gc-t`@}S#0qB@()lXJ3`~b7Mk3u+ z>}MeCuO-q%$Bp+|R7hr#ZJ|}qz)lbR?3nkW9|qt3F!ANs+L(|(KlI+mJj=eo8Q2AK zrZrCJMC)+O3-`aYP@vAW9%b?Ep)<)OIXf1*8of3Vedsh2)*Zzd`3BECLQku zXG)aVM#K(pf*4NLZ^@hsrPfE}>J1sUJt;TbVyk^r`~G|fIG?uzIT)3l?}S-;41pPe zz|?m&tw%pI0&OM)Lx3T`5MT%}1kwNjmnL(MRQ;Uiy`uP@vRd!}8a2<&!dV~y0@??C zb4`7=`)H2h{p-9E(2qau@42&O�!ZC@fuHUei84ay%X#(~={WSuQJI>pb%F=3PT- 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�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 Z*U14^ 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

    kJ)%eWYOT6N{4IY^U12vRsRQ<$+P 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%0DX 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

    ;HUKQm- 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 literal 0 HcmV?d00001 diff --git a/doc/index.rst b/doc/index.rst index 9d0dffc13..ed5b864b6 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -7,6 +7,7 @@ quick_start split_cross_conformal + choosing_the_right_algorithm v1_migration_guide .. toctree:: diff --git a/doc/index_classification.rst b/doc/index_classification.rst index bc3eb5e5e..2d8e76f5f 100644 --- a/doc/index_classification.rst +++ b/doc/index_classification.rst @@ -4,6 +4,7 @@ Prediction sets (classification) .. toctree:: :maxdepth: 2 + choosing_the_right_algorithm_classification examples_classification/4-tutorials/plot_main-tutorial-classification examples_classification/4-tutorials/plot_crossconformal examples_classification/index diff --git a/doc/index_regression.rst b/doc/index_regression.rst index 2141b24c9..6fe1bbef5 100644 --- a/doc/index_regression.rst +++ b/doc/index_regression.rst @@ -4,6 +4,7 @@ Prediction intervals (regression) .. toctree:: :maxdepth: 2 + choosing_the_right_algorithm_regression examples_regression/4-tutorials/plot_main-tutorial-regression examples_regression/4-tutorials/plot_cqr_tutorial examples_regression/4-tutorials/plot_ts-tutorial From b2ad363747120a6ed1cc88615b9f8773e672d601 Mon Sep 17 00:00:00 2001 From: jawadhussein462 <41950044+jawadhussein462@users.noreply.github.com> Date: Mon, 2 Dec 2024 14:52:05 +0100 Subject: [PATCH 06/24] REFACTOR & ENH: Split .fit into .fit_single_estimator and fit_multi_estimator in MapieRegressor and EnsembleRegressor, implement (wip) CrossConformalRegressor (#545) --- mapie/estimator/regressor.py | 115 +++++++++++++++++++++------- mapie/regression/regression.py | 70 ++++++++++++++--- mapie/tests/test_regression.py | 12 +++ mapie_v1/conformity_scores/utils.py | 22 +++++- mapie_v1/regression.py | 39 +++++++--- 5 files changed, 210 insertions(+), 48 deletions(-) diff --git a/mapie/estimator/regressor.py b/mapie/estimator/regressor.py index 27c1347ec..e7a56e957 100644 --- a/mapie/estimator/regressor.py +++ b/mapie/estimator/regressor.py @@ -426,6 +426,14 @@ def fit( Out-of-fold conformity scores are stored under the ``conformity_scores_`` attribute. + Note + ---- + This ``fit`` method is implemented because the class interface requires + it. However, it is not used directly. Instead, the fitting process is + replaced by the ``fit_single_estimator`` and ``fit_multi_estimators`` + methods, which should be utilized for single and multiple estimators, + respectively. + Parameters ---------- X: ArrayLike of shape (n_samples, n_features) @@ -453,42 +461,60 @@ def fit( EnsembleRegressor The estimator fitted. """ - # Initialization - single_estimator_: RegressorMixin - estimators_: List[RegressorMixin] = [] - full_indexes = np.arange(_num_samples(X)) - cv = self.cv - self.use_split_method_ = check_no_agg_cv(X, self.cv, self.no_agg_cv_) - estimator = self.estimator + self.fit_single_estimator( + X, + y, + sample_weight, + groups, + **fit_params + ) + + self.fit_multi_estimators( + X, + y, + sample_weight, + groups, + **fit_params + ) + + return self + + def fit_multi_estimators( + self, + X: ArrayLike, + y: ArrayLike, + sample_weight: Optional[ArrayLike] = None, + groups: Optional[ArrayLike] = None, + **fit_params + ) -> EnsembleRegressor: + n_samples = _num_samples(y) + estimators: List[RegressorMixin] = [] - # Computation - if cv == "prefit": - single_estimator_ = estimator + if self.cv == "prefit": + + # Create a placeholder attribute 'k_' filled with NaN values + # This attribute is defined for consistency but + # is not used in prefit mode self.k_ = np.full( shape=(n_samples, 1), fill_value=np.nan, dtype=float ) + else: - single_estimator_ = self._fit_oof_estimator( - clone(estimator), - X, - y, - full_indexes, - sample_weight, - **fit_params - ) - cv = cast(BaseCrossValidator, cv) + cv = cast(BaseCrossValidator, self.cv) self.k_ = np.full( shape=(n_samples, cv.get_n_splits(X, y, groups)), fill_value=np.nan, dtype=float, ) - if self.method == "naive": - estimators_ = [single_estimator_] - else: - estimators_ = Parallel(self.n_jobs, verbose=self.verbose)( + + if self.method != "naive": + estimators = Parallel( + self.n_jobs, + verbose=self.verbose + )( delayed(self._fit_oof_estimator)( - clone(estimator), + clone(self.estimator), X, y, train_index, @@ -497,13 +523,44 @@ def fit( ) for train_index, _ in cv.split(X, y, groups) ) - # In split-CP, we keep only the model fitted on train dataset - if self.use_split_method_: - single_estimator_ = estimators_[0] - self.single_estimator_ = single_estimator_ - self.estimators_ = estimators_ + self.estimators_ = estimators + + return self + + def fit_single_estimator( + self, + X: ArrayLike, + y: ArrayLike, + sample_weight: Optional[ArrayLike] = None, + groups: Optional[ArrayLike] = None, + **fit_params + ) -> EnsembleRegressor: + + self.use_split_method_ = check_no_agg_cv(X, self.cv, self.no_agg_cv_) + single_estimator_: RegressorMixin + + if self.cv == "prefit": + single_estimator_ = self.estimator + else: + cv = cast(BaseCrossValidator, self.cv) + train_indexes = [index for index, _ in cv.split(X, y, groups)][0] + full_indexes = np.arange(_num_samples(X)) + if self.use_split_method_: + indexes = train_indexes + else: + indexes = full_indexes + + single_estimator_ = self._fit_oof_estimator( + clone(self.estimator), + X, + y, + indexes, + sample_weight, + **fit_params + ) + self.single_estimator_ = single_estimator_ return self def predict( diff --git a/mapie/regression/regression.py b/mapie/regression/regression.py index 8d6e10ffc..950a9f6af 100644 --- a/mapie/regression/regression.py +++ b/mapie/regression/regression.py @@ -513,12 +513,26 @@ def fit( MapieRegressor The model itself. """ - fit_params = kwargs.pop('fit_params', {}) - predict_params = kwargs.pop('predict_params', {}) - if len(predict_params) > 0: - self._predict_params = True - else: - self._predict_params = False + + X, y, sample_weight, groups = self.init_fit( + X, y, sample_weight, groups, **kwargs + ) + + self.fit_estimator(X, y, sample_weight, groups) + self.conformalize(X, y, sample_weight, groups, **kwargs) + + return self + + def init_fit( + self, + X: ArrayLike, + y: ArrayLike, + sample_weight: Optional[ArrayLike] = None, + groups: Optional[ArrayLike] = None, + **kwargs: Any + ): + + self._fit_params = kwargs.pop('fit_params', {}) # Checks (estimator, @@ -540,9 +554,47 @@ def fit( self.test_size, self.verbose ) - # Fit the prediction function - self.estimator_ = self.estimator_.fit( - X, y, sample_weight=sample_weight, groups=groups, **fit_params + + return ( + X, y, sample_weight, groups + ) + + def fit_estimator( + self, + X: ArrayLike, + y: ArrayLike, + sample_weight: Optional[ArrayLike] = None, + groups: Optional[ArrayLike] = None, + ) -> MapieRegressor: + + self.estimator_.fit_single_estimator( + X, + y, + sample_weight=sample_weight, + groups=groups, + **self._fit_params + ) + + return self + + def conformalize( + self, + X: ArrayLike, + y: ArrayLike, + sample_weight: Optional[ArrayLike] = None, + groups: Optional[ArrayLike] = None, + **kwargs: Any + ) -> MapieRegressor: + + predict_params = kwargs.pop('predict_params', {}) + self._predict_params = len(predict_params) > 0 + + self.estimator_.fit_multi_estimators( + X, + y, + sample_weight, + groups, + **self._fit_params ) # Predict on calibration data diff --git a/mapie/tests/test_regression.py b/mapie/tests/test_regression.py index 9fe6f9c5c..3b29dfcd6 100644 --- a/mapie/tests/test_regression.py +++ b/mapie/tests/test_regression.py @@ -1036,3 +1036,15 @@ def test_check_change_method_to_base(method: str, cv: str) -> None: ) mapie_reg.fit(X_val, y_val) assert mapie_reg.method == "base" + + +@pytest.mark.parametrize("method", ["minmax", "naive", "plus", "base"]) +@pytest.mark.parametrize("cv", ["split", "prefit", 3]) +def test_check_fit_ensemble_estimators(method: str, cv: str) -> None: + """Test the functionality of fitting ensemble estimators.""" + mapie_reg = MapieRegressor() + mapie_reg.init_fit(X_toy, y_toy) + mapie_reg.estimator_.fit(X_toy, y_toy) + + hasattr(mapie_reg.estimator_, "single_estimator_") + hasattr(mapie_reg.estimator_, "estimators_") diff --git a/mapie_v1/conformity_scores/utils.py b/mapie_v1/conformity_scores/utils.py index 20e12719c..7de179246 100644 --- a/mapie_v1/conformity_scores/utils.py +++ b/mapie_v1/conformity_scores/utils.py @@ -1,4 +1,4 @@ -from typing import Union +from typing import Union, List from mapie.conformity_scores import BaseRegressionScore from . import REGRESSION_CONFORMITY_SCORES_STRING_MAP @@ -12,3 +12,23 @@ def check_and_select_split_conformity_score( return REGRESSION_CONFORMITY_SCORES_STRING_MAP[conformity_score]() else: raise ValueError("Invalid conformity_score type") + + +def process_confidence_level( + self, confidence_level: Union[float, List[float]] +) -> List[float]: + """ + Ensure confidence_level is always a list of floats. + """ + if isinstance(confidence_level, float): + return [confidence_level] + return confidence_level + + +def compute_alpha( + self, confidence_levels: List[float] +) -> List[float]: + """ + Compute alpha values from confidence levels. + """ + return [1 - level for level in confidence_levels] diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index a049ec4c4..5d89fcbb2 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -10,8 +10,11 @@ from mapie.conformity_scores import BaseRegressionScore from mapie.regression import MapieRegressor from mapie.utils import check_estimator_fit_predict -from mapie_v1.conformity_scores.utils import \ - check_and_select_split_conformity_score +from mapie_v1.conformity_scores.utils import ( + check_and_select_split_conformity_score, + process_confidence_level, + compute_alpha, +) class SplitConformalRegressor: @@ -101,10 +104,8 @@ def __init__( random_state=random_state, ) - if isinstance(confidence_level, float): - confidence_level = [confidence_level] - - self.alpha = [1 - level for level in confidence_level] + self.confidence_level = process_confidence_level(confidence_level) + self.alpha = compute_alpha(self.confidence_level) def fit( self, @@ -322,7 +323,19 @@ def __init__( verbose: int = 0, random_state: Optional[Union[int, np.random.RandomState]] = None ) -> None: - pass + + self.mapie_regressor = MapieRegressor( + estimator=self.estimator, + method=method, + cv=cv, + n_jobs=n_jobs, + verbose=verbose, + conformity_score=self.conformity_score, + random_state=random_state, + ) + + self.confidence_level = process_confidence_level(confidence_level) + self.alpha = compute_alpha(self.confidence_level) def fit( self, @@ -350,7 +363,10 @@ def fit( Self The fitted CrossConformalRegressor instance. """ - pass + X, y, sample_weight, groups = self.init_fit( + X, y, fit_params=fit_params + ) + self.mapie_regressor.fit_estimator(X, y, sample_weight, groups) def conformalize( self, @@ -387,7 +403,12 @@ def conformalize( Self The conformalized SplitConformalRegressor instance. """ - pass + self.mapie_regressor.conformalize( + X, + y, + groups=groups, + predict_params=predict_params + ) def predict_set( self, From 96f5da06cfbb1b4632a8c609439ed0abbb364235 Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Mon, 2 Dec 2024 19:12:43 +0100 Subject: [PATCH 07/24] REFACTOR: make SplitConformalRegressor attributes private, improve v1 utils --- mapie_v1/conformity_scores/utils.py | 22 +------------- mapie_v1/integration_tests/utils.py | 5 ---- mapie_v1/regression.py | 46 ++++++++++++++--------------- mapie_v1/utils.py | 11 +++++++ 4 files changed, 35 insertions(+), 49 deletions(-) create mode 100644 mapie_v1/utils.py diff --git a/mapie_v1/conformity_scores/utils.py b/mapie_v1/conformity_scores/utils.py index 7de179246..20e12719c 100644 --- a/mapie_v1/conformity_scores/utils.py +++ b/mapie_v1/conformity_scores/utils.py @@ -1,4 +1,4 @@ -from typing import Union, List +from typing import Union from mapie.conformity_scores import BaseRegressionScore from . import REGRESSION_CONFORMITY_SCORES_STRING_MAP @@ -12,23 +12,3 @@ def check_and_select_split_conformity_score( return REGRESSION_CONFORMITY_SCORES_STRING_MAP[conformity_score]() else: raise ValueError("Invalid conformity_score type") - - -def process_confidence_level( - self, confidence_level: Union[float, List[float]] -) -> List[float]: - """ - Ensure confidence_level is always a list of floats. - """ - if isinstance(confidence_level, float): - return [confidence_level] - return confidence_level - - -def compute_alpha( - self, confidence_levels: List[float] -) -> List[float]: - """ - Compute alpha values from confidence levels. - """ - return [1 - level for level in confidence_levels] diff --git a/mapie_v1/integration_tests/utils.py b/mapie_v1/integration_tests/utils.py index bbd177fb0..eb79e2aaf 100644 --- a/mapie_v1/integration_tests/utils.py +++ b/mapie_v1/integration_tests/utils.py @@ -33,8 +33,3 @@ def filter_params( model_params = inspect.signature(function).parameters return {k: v for k, v in params.items() if k in model_params} - - -def calculate_coverage(y_true, pred_intervals): - return np.mean((y_true >= pred_intervals[:, 0]) & - (y_true <= pred_intervals[:, 1])) diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index 5d89fcbb2..9f0af4b88 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -12,9 +12,8 @@ from mapie.utils import check_estimator_fit_predict from mapie_v1.conformity_scores.utils import ( check_and_select_split_conformity_score, - process_confidence_level, - compute_alpha, ) +from mapie_v1.utils import transform_confidence_level_to_alpha_list class SplitConformalRegressor: @@ -86,26 +85,27 @@ def __init__( random_state: Optional[Union[int, np.random.RandomState]] = None, ) -> None: check_estimator_fit_predict(estimator) - self.estimator = estimator - self.prefit = prefit - self.conformity_score = check_and_select_split_conformity_score( + self._estimator = estimator + self._prefit = prefit + self._conformity_score = check_and_select_split_conformity_score( conformity_score) # Note to developers: to implement this v1 class without touching the # v0 backend, we're for now using a hack. We always set cv="prefit", # and we fit the estimator if needed. See the .fit method below. - self.mapie_regressor = MapieRegressor( - estimator=self.estimator, + self._mapie_regressor = MapieRegressor( + estimator=self._estimator, method="base", cv="prefit", n_jobs=n_jobs, verbose=verbose, - conformity_score=self.conformity_score, + conformity_score=self._conformity_score, random_state=random_state, ) - self.confidence_level = process_confidence_level(confidence_level) - self.alpha = compute_alpha(self.confidence_level) + self._alphas = transform_confidence_level_to_alpha_list( + confidence_level + ) def fit( self, @@ -133,11 +133,11 @@ def fit( Self The fitted SplitConformalRegressor instance. """ - if not self.prefit: - cloned_estimator = clone(self.estimator) + if not self._prefit: + cloned_estimator = clone(self._estimator) fit_params = {} if fit_params is None else fit_params cloned_estimator.fit(X_train, y_train, **fit_params) - self.mapie_regressor.estimator = cloned_estimator + self._mapie_regressor.estimator = cloned_estimator return self @@ -169,9 +169,9 @@ def conformalize( The conformalized SplitConformalRegressor instance. """ predict_params = {} if predict_params is None else predict_params - self.mapie_regressor.fit(X_conf, - y_conf, - predict_params=predict_params) + self._mapie_regressor.fit(X_conf, + y_conf, + predict_params=predict_params) return self @@ -204,14 +204,14 @@ def predict_set( `(n_samples, 2, n_confidence_levels)` if `confidence_level` is a list of floats. """ - _, intervals = self.mapie_regressor.predict( + _, intervals = self._mapie_regressor.predict( X, - alpha=self.alpha, + alpha=self._alphas, optimize_beta=minimize_interval_width, allow_infinite_bounds=allow_infinite_bounds ) - if len(self.alpha) == 1: + if len(self._alphas) == 1: intervals = intervals[:, :, 0] return intervals @@ -233,7 +233,7 @@ def predict( NDArray Array of point predictions, with shape (n_samples,). """ - predictions = self.mapie_regressor.predict(X, alpha=None) + predictions = self._mapie_regressor.predict(X, alpha=None) return predictions @@ -323,7 +323,6 @@ def __init__( verbose: int = 0, random_state: Optional[Union[int, np.random.RandomState]] = None ) -> None: - self.mapie_regressor = MapieRegressor( estimator=self.estimator, method=method, @@ -334,8 +333,9 @@ def __init__( random_state=random_state, ) - self.confidence_level = process_confidence_level(confidence_level) - self.alpha = compute_alpha(self.confidence_level) + self._alphas = transform_confidence_level_to_alpha_list( + confidence_level + ) def fit( self, diff --git a/mapie_v1/utils.py b/mapie_v1/utils.py new file mode 100644 index 000000000..587761400 --- /dev/null +++ b/mapie_v1/utils.py @@ -0,0 +1,11 @@ +from typing import Union, List + + +def transform_confidence_level_to_alpha_list( + confidence_level: Union[float, List[float]] +) -> List[float]: + if isinstance(confidence_level, float): + confidence_levels = [confidence_level] + else: + confidence_levels = confidence_level + return [1 - level for level in confidence_levels] From f4d7add3657ca7bef3a392971b7613ce19286c10 Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Tue, 3 Dec 2024 17:34:16 +0100 Subject: [PATCH 08/24] CHORE: add -k option to launch specific v1 integration tests from MAKEFILE --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 3bfc5e376..f9e034cb5 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ tests: integration-tests-v1: @pip install mapie --no-dependencies --target=./mapie_v1/integration_tests/mapie_v0_package >/dev/null 2>&1 @mv ./mapie_v1/integration_tests/mapie_v0_package/mapie ./mapie_v1/integration_tests/mapie_v0_package/mapiev0 - @- export PYTHONPATH="${PYTHONPATH}:./mapie_v1/integration_tests/mapie_v0_package"; pytest -vs mapie_v1/integration_tests/tests + @- export PYTHONPATH="${PYTHONPATH}:./mapie_v1/integration_tests/mapie_v0_package"; pytest -vs mapie_v1/integration_tests/tests -k $(pattern) @mv ./mapie_v1/integration_tests/mapie_v0_package/mapiev0 ./mapie_v1/integration_tests/mapie_v0_package/mapie coverage: From 974e83a61a35e91f855353a01922955199791a59 Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Wed, 4 Dec 2024 15:01:24 +0100 Subject: [PATCH 09/24] ENH: implement checks for CrossConformalRegression, make utils.py non-public --- mapie_v1/_utils.py | 49 +++++++++++++++++++ .../conformity_scores/{utils.py => _utils.py} | 2 +- .../tests/test_regression.py | 6 +-- mapie_v1/regression.py | 35 +++++++++---- mapie_v1/utils.py | 11 ----- 5 files changed, 78 insertions(+), 25 deletions(-) create mode 100644 mapie_v1/_utils.py rename mapie_v1/conformity_scores/{utils.py => _utils.py} (91%) delete mode 100644 mapie_v1/utils.py diff --git a/mapie_v1/_utils.py b/mapie_v1/_utils.py new file mode 100644 index 000000000..8ead4abc6 --- /dev/null +++ b/mapie_v1/_utils.py @@ -0,0 +1,49 @@ +import warnings +from typing import Union, List + +from numpy import array +from numpy.typing import ArrayLike +from sklearn.model_selection import BaseCrossValidator + + +def transform_confidence_level_to_alpha_list( + confidence_level: Union[float, List[float]] +) -> List[float]: + if isinstance(confidence_level, float): + confidence_levels = [confidence_level] + else: + confidence_levels = confidence_level + return [1 - level for level in confidence_levels] + + +def check_method_not_naive(method: str) -> None: + if method == "naive": + raise ValueError( + '"naive" method not available in MAPIE >= v1' + ) + + +def check_cv_not_string(cv: Union[int, str, BaseCrossValidator]): + if isinstance(cv, str): + raise ValueError( + "'cv' string options not available in MAPIE >= v1" + ) + + +def hash_X_y(X: ArrayLike, y: ArrayLike) -> int: + # Known issues: + # - the hash calculated with `hash` changes between Python processes + # - two arrays with the same content but different shapes will all have + # the same hash because .tobytes() ignores shape + return hash(array(X).tobytes() + array(y).tobytes()) + + +def check_if_X_y_different_from_fit( + X: ArrayLike, + y: ArrayLike, + previous_X_y_hash: int +) -> None: + if hash_X_y(X, y) != previous_X_y_hash: + warnings.warn( + "You have to use the same X and y in .fit and .conformalize" + ) diff --git a/mapie_v1/conformity_scores/utils.py b/mapie_v1/conformity_scores/_utils.py similarity index 91% rename from mapie_v1/conformity_scores/utils.py rename to mapie_v1/conformity_scores/_utils.py index 20e12719c..ab401c7dd 100644 --- a/mapie_v1/conformity_scores/utils.py +++ b/mapie_v1/conformity_scores/_utils.py @@ -3,7 +3,7 @@ from . import REGRESSION_CONFORMITY_SCORES_STRING_MAP -def check_and_select_split_conformity_score( +def check_and_select_regression_conformity_score( conformity_score: Union[str, BaseRegressionScore] ) -> BaseRegressionScore: if isinstance(conformity_score, BaseRegressionScore): diff --git a/mapie_v1/integration_tests/tests/test_regression.py b/mapie_v1/integration_tests/tests/test_regression.py index 1c01cceff..33513de41 100644 --- a/mapie_v1/integration_tests/tests/test_regression.py +++ b/mapie_v1/integration_tests/tests/test_regression.py @@ -15,8 +15,8 @@ from mapiev0.regression import MapieRegressor as MapieRegressorV0 # noqa -from mapie_v1.conformity_scores.utils import \ - check_and_select_split_conformity_score +from mapie_v1.conformity_scores._utils import \ + check_and_select_regression_conformity_score from mapie_v1.integration_tests.utils import (filter_params, train_test_split_shuffle) from sklearn.model_selection import LeaveOneOut, GroupKFold @@ -66,7 +66,7 @@ def test_exact_interval_equality_split( v0_params = { "estimator": estimator, "method": method, - "conformity_score": check_and_select_split_conformity_score( + "conformity_score": check_and_select_regression_conformity_score( conformity_score ), "alpha": 1 - confidence_level, diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index 9f0af4b88..22ba42133 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -10,10 +10,12 @@ from mapie.conformity_scores import BaseRegressionScore from mapie.regression import MapieRegressor from mapie.utils import check_estimator_fit_predict -from mapie_v1.conformity_scores.utils import ( - check_and_select_split_conformity_score, +from mapie_v1.conformity_scores._utils import ( + check_and_select_regression_conformity_score, ) -from mapie_v1.utils import transform_confidence_level_to_alpha_list +from mapie_v1._utils import transform_confidence_level_to_alpha_list, \ + check_method_not_naive, check_cv_not_string, hash_X_y, \ + check_if_X_y_different_from_fit class SplitConformalRegressor: @@ -87,7 +89,7 @@ def __init__( check_estimator_fit_predict(estimator) self._estimator = estimator self._prefit = prefit - self._conformity_score = check_and_select_split_conformity_score( + self._conformity_score = check_and_select_regression_conformity_score( conformity_score) # Note to developers: to implement this v1 class without touching the @@ -323,13 +325,18 @@ def __init__( verbose: int = 0, random_state: Optional[Union[int, np.random.RandomState]] = None ) -> None: - self.mapie_regressor = MapieRegressor( - estimator=self.estimator, + check_method_not_naive(method) + check_cv_not_string(cv) + + self._mapie_regressor = MapieRegressor( + estimator=estimator, method=method, cv=cv, n_jobs=n_jobs, verbose=verbose, - conformity_score=self.conformity_score, + conformity_score=check_and_select_regression_conformity_score( + conformity_score + ), random_state=random_state, ) @@ -337,6 +344,8 @@ def __init__( confidence_level ) + self.hashed_X_y: int = 0 + def fit( self, X: ArrayLike, @@ -363,10 +372,14 @@ def fit( Self The fitted CrossConformalRegressor instance. """ - X, y, sample_weight, groups = self.init_fit( + self.hashed_X_y = hash_X_y(X, y) + + X, y, sample_weight, groups = self._mapie_regressor.init_fit( X, y, fit_params=fit_params ) - self.mapie_regressor.fit_estimator(X, y, sample_weight, groups) + self._mapie_regressor.fit_estimator(X, y, sample_weight, groups) + + return self def conformalize( self, @@ -403,7 +416,9 @@ def conformalize( Self The conformalized SplitConformalRegressor instance. """ - self.mapie_regressor.conformalize( + check_if_X_y_different_from_fit(X, y, self.hashed_X_y) + + self._mapie_regressor.conformalize( X, y, groups=groups, diff --git a/mapie_v1/utils.py b/mapie_v1/utils.py deleted file mode 100644 index 587761400..000000000 --- a/mapie_v1/utils.py +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Union, List - - -def transform_confidence_level_to_alpha_list( - confidence_level: Union[float, List[float]] -) -> List[float]: - if isinstance(confidence_level, float): - confidence_levels = [confidence_level] - else: - confidence_levels = confidence_level - return [1 - level for level in confidence_levels] From 9508c3e7f4a091833a0344cc5718062771324afa Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Thu, 5 Dec 2024 00:05:05 +0100 Subject: [PATCH 10/24] TESTS: fix and improve v1 integration tests --- .../integration_tests/tests/test_regression.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/mapie_v1/integration_tests/tests/test_regression.py b/mapie_v1/integration_tests/tests/test_regression.py index 33513de41..a7441fc55 100644 --- a/mapie_v1/integration_tests/tests/test_regression.py +++ b/mapie_v1/integration_tests/tests/test_regression.py @@ -138,6 +138,7 @@ def test_exact_interval_equality_split( "ensemble": True, "method": "base", "sample_weight": sample_weight, + "random_state": RANDOM_STATE, }, "v1": { "confidence_level": 0.8, @@ -146,24 +147,27 @@ def test_exact_interval_equality_split( "aggregation_method": "median", "method": "base", "fit_params": {"sample_weight": sample_weight}, + "random_state": RANDOM_STATE, } }, { "v0": { "estimator": positive_predictor, - "alpha": 0.5, + "alpha": [0.5, 0.5], "conformity_score": GammaConformityScore(), "cv": LeaveOneOut(), "method": "plus", "optimize_beta": True, + "random_state": RANDOM_STATE, }, "v1": { "estimator": positive_predictor, - "confidence_level": 0.5, + "confidence_level": [0.5, 0.5], "conformity_score": "gamma", "cv": LeaveOneOut(), "method": "plus", "minimize_interval_width": True, + "random_state": RANDOM_STATE, } }, { @@ -173,12 +177,14 @@ def test_exact_interval_equality_split( "groups": groups, "method": "minmax", "allow_infinite_bounds": True, + "random_state": RANDOM_STATE, }, "v1": { "cv": GroupKFold(), "groups": groups, "method": "minmax", "allow_infinite_bounds": True, + "random_state": RANDOM_STATE, } }, ] @@ -209,12 +215,14 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): v1_predict_set_params = filter_params(v1.predict_set, v1_params) v0_preds, v0_pred_intervals = v0.predict(X_cross, **v0_predict_params) - v0_pred_intervals = v0_pred_intervals[:, :, 0] + v1_pred_intervals = v1.predict_set(X_cross, **v1_predict_set_params) + if v1_pred_intervals.ndim == 2: + v1_pred_intervals = np.expand_dims(v1_pred_intervals, axis=2) v1_preds = v1.predict(X_cross, **v1_predict_params) - assert np.equal(v0_preds, v1_preds) - assert np.equal(v0_pred_intervals, v1_pred_intervals) + np.testing.assert_array_equal(v0_preds, v1_preds) + np.testing.assert_array_equal(v0_pred_intervals, v1_pred_intervals) def initialize_models( From f89230368ea9f8721807fae69556fc5d0e8f06be Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Thu, 5 Dec 2024 00:12:03 +0100 Subject: [PATCH 11/24] FIX: back-end edge case making v1 tests fail --- mapie/estimator/regressor.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mapie/estimator/regressor.py b/mapie/estimator/regressor.py index e7a56e957..66689a7d9 100644 --- a/mapie/estimator/regressor.py +++ b/mapie/estimator/regressor.py @@ -433,6 +433,8 @@ def fit( replaced by the ``fit_single_estimator`` and ``fit_multi_estimators`` methods, which should be utilized for single and multiple estimators, respectively. + TODO back-end: once EnsembleEstimator has been removed, + this method may be removed, and also test_check_fit_ensemble_estimators Parameters ---------- @@ -544,11 +546,14 @@ def fit_single_estimator( single_estimator_ = self.estimator else: cv = cast(BaseCrossValidator, self.cv) - train_indexes = [index for index, _ in cv.split(X, y, groups)][0] - full_indexes = np.arange(_num_samples(X)) if self.use_split_method_: + train_indexes = [ + train_index for train_index, test_index in cv.split( + X, y, groups) + ][0] indexes = train_indexes else: + full_indexes = np.arange(_num_samples(X)) indexes = full_indexes single_estimator_ = self._fit_oof_estimator( From ca1833db3111c8c26b5779e9473f6c16dc01b013 Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Thu, 5 Dec 2024 00:18:40 +0100 Subject: [PATCH 12/24] ENH: fix and finish CrossConformalRegressor implementation --- mapie_v1/_utils.py | 11 +++++++- mapie_v1/regression.py | 61 ++++++++++++++++++++++++++++++++---------- 2 files changed, 57 insertions(+), 15 deletions(-) diff --git a/mapie_v1/_utils.py b/mapie_v1/_utils.py index 8ead4abc6..43439c271 100644 --- a/mapie_v1/_utils.py +++ b/mapie_v1/_utils.py @@ -2,7 +2,7 @@ from typing import Union, List from numpy import array -from numpy.typing import ArrayLike +from mapie._typing import ArrayLike, NDArray from sklearn.model_selection import BaseCrossValidator @@ -47,3 +47,12 @@ def check_if_X_y_different_from_fit( warnings.warn( "You have to use the same X and y in .fit and .conformalize" ) + + +def make_intervals_single_if_single_alpha( + intervals: NDArray, + alphas: List[float] +) -> NDArray: + if len(alphas) == 1: + return intervals[:, :, 0] + return intervals diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index 22ba42133..714691e48 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -1,4 +1,5 @@ -from typing import Optional, Union, List +import copy +from typing import Optional, Union, List, cast from typing_extensions import Self import numpy as np @@ -15,7 +16,7 @@ ) from mapie_v1._utils import transform_confidence_level_to_alpha_list, \ check_method_not_naive, check_cv_not_string, hash_X_y, \ - check_if_X_y_different_from_fit + check_if_X_y_different_from_fit, make_intervals_single_if_single_alpha class SplitConformalRegressor: @@ -213,10 +214,10 @@ def predict_set( allow_infinite_bounds=allow_infinite_bounds ) - if len(self._alphas) == 1: - intervals = intervals[:, :, 0] - - return intervals + return make_intervals_single_if_single_alpha( + intervals, + self._alphas + ) def predict( self, @@ -344,7 +345,8 @@ def __init__( confidence_level ) - self.hashed_X_y: int = 0 + self._hashed_X_y: int = 0 + self._sample_weight: Optional[NDArray] = None def fit( self, @@ -372,13 +374,21 @@ def fit( Self The fitted CrossConformalRegressor instance. """ - self.hashed_X_y = hash_X_y(X, y) + self._hashed_X_y = hash_X_y(X, y) - X, y, sample_weight, groups = self._mapie_regressor.init_fit( - X, y, fit_params=fit_params + if fit_params: + fit_params_ = copy.deepcopy(fit_params) + self._sample_weight = fit_params_.pop("sample_weight", None) + else: + fit_params_ = {} + + X, y, self._sample_weight, groups = self._mapie_regressor.init_fit( + X, y, self._sample_weight, fit_params=fit_params_ ) - self._mapie_regressor.fit_estimator(X, y, sample_weight, groups) + self._mapie_regressor.fit_estimator( + X, y, self._sample_weight + ) return self def conformalize( @@ -416,11 +426,15 @@ def conformalize( Self The conformalized SplitConformalRegressor instance. """ - check_if_X_y_different_from_fit(X, y, self.hashed_X_y) + check_if_X_y_different_from_fit(X, y, self._hashed_X_y) + groups = cast(Optional[NDArray], groups) + if not predict_params: + predict_params = {} self._mapie_regressor.conformalize( X, y, + sample_weight=self._sample_weight, groups=groups, predict_params=predict_params ) @@ -455,7 +469,19 @@ def predict_set( `(n_samples, 2, n_confidence_levels)` if `confidence_level` is a list of floats. """ - pass + # TODO: factorize this function once the v0 backend is updated with + # correct param names + _, intervals = self._mapie_regressor.predict( + X, + alpha=self._alphas, + optimize_beta=minimize_interval_width, + allow_infinite_bounds=allow_infinite_bounds + ) + + return make_intervals_single_if_single_alpha( + intervals, + self._alphas + ) def predict( self, @@ -485,7 +511,14 @@ def predict( NDArray Array of point predictions, with shape `(n_samples,)`. """ - pass + if not aggregation_method: + ensemble = False + else: + ensemble = True + self._mapie_regressor._check_agg_function(aggregation_method) + self._mapie_regressor.agg_function = aggregation_method + + return self._mapie_regressor.predict(X, alpha=None, ensemble=ensemble) class JackknifeAfterBootstrapRegressor: From 370ca6d81f3081fb04c3e86f06ea3c44e53aacc0 Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Thu, 5 Dec 2024 00:20:16 +0100 Subject: [PATCH 13/24] ENH: remove optimize_beta warning in back-end (optimize_beta has been introduced only for ENBPI in the scientific literature, but it works for all regression methods, so let's support it) --- mapie/regression/regression.py | 8 -------- mapie/tests/test_regression.py | 13 ------------- 2 files changed, 21 deletions(-) diff --git a/mapie/regression/regression.py b/mapie/regression/regression.py index 950a9f6af..f0191d4ab 100644 --- a/mapie/regression/regression.py +++ b/mapie/regression/regression.py @@ -1,6 +1,5 @@ from __future__ import annotations -import warnings from typing import Any, Iterable, Optional, Tuple, Union, cast import numpy as np @@ -694,13 +693,6 @@ def predict( return np.array(y_pred) else: - if optimize_beta and self.method != 'enbpi': - warnings.warn( - "WARNING: Beta optimisation should only be used for " - "method='enbpi'.", - UserWarning - ) - # Check alpha and the number of effective calibration samples alpha_np = cast(NDArray, alpha) if not allow_infinite_bounds: diff --git a/mapie/tests/test_regression.py b/mapie/tests/test_regression.py index 3b29dfcd6..b8c2c58fd 100644 --- a/mapie/tests/test_regression.py +++ b/mapie/tests/test_regression.py @@ -864,19 +864,6 @@ def test_return_multi_pred(ensemble: bool) -> None: assert len(output) == 3 -def test_beta_optimize_user_warning() -> None: - """ - Test that a UserWarning is displayed when optimize_beta is used. - """ - mapie_reg = MapieRegressor( - conformity_score=AbsoluteConformityScore(sym=False) - ).fit(X, y) - with pytest.warns( - UserWarning, match=r"Beta optimisation should only be used for*", - ): - mapie_reg.predict(X, alpha=0.05, optimize_beta=True) - - def test_fit_parameters_passing() -> None: """ Test passing fit parameters, here early stopping at iteration 3. From cd00088b736ba6f0910271b65fe9b6cd9475eb55 Mon Sep 17 00:00:00 2001 From: jawadhussein462 <41950044+jawadhussein462@users.noreply.github.com> Date: Fri, 6 Dec 2024 17:17:59 +0100 Subject: [PATCH 14/24] DOCS: Add MAPIE v1 docstrings to the DOC (#554) * DOCS: Add MAPIE v1 regression docstrings to ReadTheDoc, fix warnings --- doc/api.rst | 111 ++++++++++++++++++++++------------------- mapie_v1/__init__.py | 8 +++ mapie_v1/_version.py | 1 + mapie_v1/regression.py | 55 ++++++++++---------- 4 files changed, 97 insertions(+), 78 deletions(-) create mode 100644 mapie_v1/__init__.py create mode 100644 mapie_v1/_version.py diff --git a/doc/api.rst b/doc/api.rst index ce411d3e4..50a436a95 100644 --- a/doc/api.rst +++ b/doc/api.rst @@ -2,18 +2,28 @@ MAPIE API ######### -.. currentmodule:: mapie +Regression V1 (from mapie_v1) +============================= -Regression -========== +.. autosummary:: + :toctree: generated/ + :template: class.rst + + mapie_v1.regression.SplitConformalRegressor + mapie_v1.regression.CrossConformalRegressor + mapie_v1.regression.JackknifeAfterBootstrapRegressor + mapie_v1.regression.ConformalizedQuantileRegressor + +Regression (from mapie) +======================= .. autosummary:: :toctree: generated/ :template: class.rst - regression.MapieRegressor - regression.MapieQuantileRegressor - regression.MapieTimeSeriesRegressor + mapie.regression.MapieRegressor + mapie.regression.MapieQuantileRegressor + mapie.regression.MapieTimeSeriesRegressor Classification ============== @@ -22,7 +32,7 @@ Classification :toctree: generated/ :template: class.rst - classification.MapieClassifier + mapie.classification.MapieClassifier Multi-Label Classification ========================== @@ -31,7 +41,7 @@ Multi-Label Classification :toctree: generated/ :template: class.rst - multi_label_classification.MapieMultiLabelClassifier + mapie.multi_label_classification.MapieMultiLabelClassifier Calibration =========== @@ -40,7 +50,7 @@ Calibration :toctree: generated/ :template: class.rst - calibration.MapieCalibrator + mapie.calibration.MapieCalibrator Metrics ======= @@ -48,56 +58,56 @@ Metrics .. autosummary:: :toctree: generated/ :template: function.rst - - metrics.classification_coverage_score - metrics.classification_coverage_score_v2 - metrics.classification_mean_width_score - metrics.classification_ssc - metrics.classification_ssc_score - metrics.cumulative_differences - metrics.expected_calibration_error - metrics.hsic - metrics.kolmogorov_smirnov_cdf - metrics.kolmogorov_smirnov_p_value - metrics.kolmogorov_smirnov_statistic - metrics.kuiper_cdf - metrics.kuiper_p_value - metrics.kuiper_statistic - metrics.length_scale - metrics.regression_coverage_score - metrics.regression_coverage_score_v2 - metrics.regression_mean_width_score - metrics.regression_ssc - metrics.regression_ssc_score - metrics.spiegelhalter_p_value - metrics.spiegelhalter_statistic - metrics.top_label_ece - -Conformity scores (regression) + + mapie.metrics.classification_coverage_score + mapie.metrics.classification_coverage_score_v2 + mapie.metrics.classification_mean_width_score + mapie.metrics.classification_ssc + mapie.metrics.classification_ssc_score + mapie.metrics.cumulative_differences + mapie.metrics.expected_calibration_error + mapie.metrics.hsic + mapie.metrics.kolmogorov_smirnov_cdf + mapie.metrics.kolmogorov_smirnov_p_value + mapie.metrics.kolmogorov_smirnov_statistic + mapie.metrics.kuiper_cdf + mapie.metrics.kuiper_p_value + mapie.metrics.kuiper_statistic + mapie.metrics.length_scale + mapie.metrics.regression_coverage_score + mapie.metrics.regression_coverage_score_v2 + mapie.metrics.regression_mean_width_score + mapie.metrics.regression_ssc + mapie.metrics.regression_ssc_score + mapie.metrics.spiegelhalter_p_value + mapie.metrics.spiegelhalter_statistic + mapie.metrics.top_label_ece + +Conformity Scores (Regression) ============================== .. autosummary:: :toctree: generated/ :template: class.rst - conformity_scores.BaseRegressionScore - conformity_scores.AbsoluteConformityScore - conformity_scores.GammaConformityScore - conformity_scores.ResidualNormalisedScore + mapie.conformity_scores.BaseRegressionScore + mapie.conformity_scores.AbsoluteConformityScore + mapie.conformity_scores.GammaConformityScore + mapie.conformity_scores.ResidualNormalisedScore -Conformity scores (classification) +Conformity Scores (Classification) ================================== .. autosummary:: :toctree: generated/ :template: class.rst - conformity_scores.BaseClassificationScore - conformity_scores.NaiveConformityScore - conformity_scores.LACConformityScore - conformity_scores.APSConformityScore - conformity_scores.RAPSConformityScore - conformity_scores.TopKConformityScore + mapie.conformity_scores.BaseClassificationScore + mapie.conformity_scores.NaiveConformityScore + mapie.conformity_scores.LACConformityScore + mapie.conformity_scores.APSConformityScore + mapie.conformity_scores.RAPSConformityScore + mapie.conformity_scores.TopKConformityScore Resampling ========== @@ -106,15 +116,14 @@ Resampling :toctree: generated/ :template: class.rst - subsample.BlockBootstrap - subsample.Subsample - + mapie.subsample.BlockBootstrap + mapie.subsample.Subsample Mondrian -========== +======== .. autosummary:: :toctree: generated/ :template: class.rst - mondrian.MondrianCP + mapie.mondrian.MondrianCP diff --git a/mapie_v1/__init__.py b/mapie_v1/__init__.py new file mode 100644 index 000000000..afe5cfcf3 --- /dev/null +++ b/mapie_v1/__init__.py @@ -0,0 +1,8 @@ +from . import classification, regression +from ._version import __version__ + +__all__ = [ + "regression", + "classification", + "__version__" +] diff --git a/mapie_v1/_version.py b/mapie_v1/_version.py new file mode 100644 index 000000000..5becc17c0 --- /dev/null +++ b/mapie_v1/_version.py @@ -0,0 +1 @@ +__version__ = "1.0.0" diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index 714691e48..7c7cb530f 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -22,9 +22,10 @@ class SplitConformalRegressor: """ A conformal regression model using split conformal prediction to generate - prediction intervals with statistical guarantees. This method involves - using a hold-out conformity set to determine prediction intervals around - point predictions from a base regressor. + prediction intervals. + + This method involves using a hold-out conformity set to determine + prediction intervals around point predictions from a base regressor. Parameters ---------- @@ -243,10 +244,11 @@ def predict( class CrossConformalRegressor: """ A conformal regression model using cross-conformal prediction to generate - prediction intervals with statistical guarantees. This method involves - computing conformity scoring across multiple folds in a cross-validation - fashion to determine prediction intervals around point predictions from a - base regressor. + prediction intervals. + + This method involves computing conformity scoring across multiple folds in + a cross-validation fashion to determine prediction intervals around point + predictions from a base regressor. Parameters ---------- @@ -272,20 +274,20 @@ class CrossConformalRegressor: The method used to compute prediction intervals. Options are: - "base": Based on the conformity scores from each fold. - "plus": Based on the conformity scores from each fold and - the test set predictions. + the test set predictions. - "minmax": Based on the conformity scores from each fold and - the test set predictions, using the minimum and maximum among - each fold models. + the test set predictions, using the minimum and maximum among + each fold models. cv : Union[int, BaseCrossValidator], default=5 The cross-validation strategy used to compute confomity scores. Valid options: - integer, to specify the number of folds - any ``sklearn.model_selection.BaseCrossValidator`` suitable for - regression, or a custom cross-validator inheriting from it. - Main variants in the cross conformal setting are: - - ``sklearn.model_selection.KFold`` (vanilla cross conformal) - - ``sklearn.model_selection.LeaveOneOut`` (jackknife) + regression, or a custom cross-validator inheriting from it. + Main variants in the cross conformal setting are: + * ``sklearn.model_selection.KFold`` (vanilla cross conformal) + * ``sklearn.model_selection.LeaveOneOut`` (jackknife) n_jobs : Optional[int], default=None The number of jobs to run in parallel when applicable. @@ -304,7 +306,7 @@ class CrossConformalRegressor: An array containing the prediction intervals with shape: - `(n_samples, 2)` if `confidence_level` is a single float - `(n_samples, 2, n_confidence_levels)` if `confidence_level` - is a list of floats. + is a list of floats. Examples -------- @@ -492,7 +494,7 @@ def predict( Generates point predictions for the input data `X`: - using the model fitted on the entire dataset - or if aggregation_method is provided, aggregating predictions from - the models fitted on each fold + the models fitted on each fold Parameters ---------- @@ -524,9 +526,11 @@ def predict( class JackknifeAfterBootstrapRegressor: """ A conformal regression model using the jackknife-after-bootstrap approach - to generate prediction intervals with statistical guarantees. This method - combines bootstrap sampling with the jackknife technique to produce robust - prediction intervals around point predictions from a base regressor. + to generate prediction intervals. + + This method combines bootstrap sampling with the jackknife technique + to produce robust prediction intervals around point predictions from + a base regressor. Parameters ---------- @@ -553,9 +557,9 @@ class JackknifeAfterBootstrapRegressor: The method used for jackknife-after-bootstrap prediction. Options are: - "base": Based on the conformity scores from each bootstrap sample. - "plus": Based on the conformity scores from each bootstrap sample and - the testing prediction. + the testing prediction. - "minmax": Based on the minimum and maximum conformity scores from - each bootstrap sample. + each bootstrap sample. n_bootstraps : int, default=100 The number of bootstrap resamples to generate for the @@ -718,8 +722,9 @@ def predict( class ConformalizedQuantileRegressor: """ A conformal quantile regression model that generates prediction intervals - with statistical guarantees using quantile regression as the base - estimator. This approach provides prediction intervals by leveraging + using quantile regression as the base estimator. + + This approach provides prediction intervals by leveraging quantile predictions and applying conformal adjustments to ensure coverage. Parameters @@ -790,10 +795,6 @@ def __init__( estimator: RegressorMixin = QuantileRegressor(), confidence_level: Union[float, List[float]] = 0.9, conformity_score: Union[str, BaseRegressionScore] = "absolute", - # n_jobs: Optional[int] = None - # Not yet available in MapieQuantileRegressor - # verbose: int = 0, - # Idem random_state: Optional[Union[int, np.random.RandomState]] = None, ) -> None: pass From dbffafa3cd29ee448633810bdc37e499da33e55a Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Thu, 5 Dec 2024 18:21:47 +0100 Subject: [PATCH 15/24] CHORE: set-up mypy for v1 code, add it to CI, fix existing warnings --- .github/workflows/test.yml | 2 ++ Makefile | 13 +++++++++---- mapie_v1/_utils.py | 8 +++++++- mapie_v1/classification.py | 18 +++++++++--------- mapie_v1/regression.py | 24 +++++++++++++++++------- 5 files changed, 44 insertions(+), 21 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4298a96f1..61483991f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -55,6 +55,8 @@ jobs: run: make lint - name: Check static typing run: make type-check + - name: Check static typing v1 + run: make v1-type-check - name: Test with pytest run: make coverage - name: Code coverage diff --git a/Makefile b/Makefile index f9e034cb5..8364e7d8b 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,24 @@ .PHONY: tests doc build +mapie_v0_folder_name = mapie_v0_package + lint: flake8 . --exclude=doc type-check: mypy mapie +v1-type-check: + mypy mapie_v1 --exclude $(mapie_v0_folder_name) + tests: pytest -vs --doctest-modules mapie integration-tests-v1: - @pip install mapie --no-dependencies --target=./mapie_v1/integration_tests/mapie_v0_package >/dev/null 2>&1 - @mv ./mapie_v1/integration_tests/mapie_v0_package/mapie ./mapie_v1/integration_tests/mapie_v0_package/mapiev0 - @- export PYTHONPATH="${PYTHONPATH}:./mapie_v1/integration_tests/mapie_v0_package"; pytest -vs mapie_v1/integration_tests/tests -k $(pattern) - @mv ./mapie_v1/integration_tests/mapie_v0_package/mapiev0 ./mapie_v1/integration_tests/mapie_v0_package/mapie + @pip install mapie --no-dependencies --target=./mapie_v1/integration_tests/$(mapie_v0_folder_name) >/dev/null 2>&1 + @mv ./mapie_v1/integration_tests/$(mapie_v0_folder_name)/mapie ./mapie_v1/integration_tests/$(mapie_v0_folder_name)/mapiev0 + @- export PYTHONPATH="${PYTHONPATH}:./mapie_v1/integration_tests/$(mapie_v0_folder_name)"; pytest -vs mapie_v1/integration_tests/tests -k $(pattern) + @mv ./mapie_v1/integration_tests/$(mapie_v0_folder_name)/mapiev0 ./mapie_v1/integration_tests/$(mapie_v0_folder_name)/mapie coverage: pytest -vs \ diff --git a/mapie_v1/_utils.py b/mapie_v1/_utils.py index 43439c271..2dc3cd7ee 100644 --- a/mapie_v1/_utils.py +++ b/mapie_v1/_utils.py @@ -1,5 +1,5 @@ import warnings -from typing import Union, List +from typing import Union, List, Tuple, cast from numpy import array from mapie._typing import ArrayLike, NDArray @@ -56,3 +56,9 @@ def make_intervals_single_if_single_alpha( if len(alphas) == 1: return intervals[:, :, 0] return intervals + + +def cast_point_predictions_to_ndarray( + point_predictions: Union[NDArray, Tuple[NDArray, NDArray]] +) -> NDArray: + return cast(NDArray, point_predictions) diff --git a/mapie_v1/classification.py b/mapie_v1/classification.py index 950d0530d..0e609b8ed 100644 --- a/mapie_v1/classification.py +++ b/mapie_v1/classification.py @@ -31,7 +31,7 @@ def fit( y_train: ArrayLike, fit_params: Optional[dict] = None, ) -> Self: - pass + return self def conformalize( self, @@ -39,7 +39,7 @@ def conformalize( y_conf: ArrayLike, predict_params: Optional[dict] = None, ) -> Self: - pass + return self def predict(self, X: ArrayLike) -> NDArray: """ @@ -49,7 +49,7 @@ def predict(self, X: ArrayLike) -> NDArray: scikit-learn classifiers Shape (n_samples,) """ - pass + return np.ndarray(0) def predict_sets( self, @@ -66,7 +66,7 @@ def predict_sets( Shape (n_samples, n_classes, confidence_level) if confidence_level is a list of floats """ - pass + return np.ndarray(0) class CrossConformalClassifier: @@ -89,7 +89,7 @@ def fit( y_train: ArrayLike, fit_params: Optional[dict] = None, ) -> Self: - pass + return self def conformalize( self, @@ -97,10 +97,10 @@ def conformalize( y_conf: ArrayLike, predict_params: Optional[dict] = None ) -> Self: - pass + return self def predict(self, - X: ArrayLike): + X: ArrayLike) -> NDArray: """ Return ----- @@ -108,7 +108,7 @@ def predict(self, scikit-learn classifiers Shape (n_samples,) """ - pass + return np.ndarray(0) def predict_sets( self, @@ -125,4 +125,4 @@ def predict_sets( Shape (n_samples, n_classes, confidence_level) if confidence_level is a list of floats """ - pass + return np.ndarray(0) diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index 7c7cb530f..b66096aac 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -16,7 +16,8 @@ ) from mapie_v1._utils import transform_confidence_level_to_alpha_list, \ check_method_not_naive, check_cv_not_string, hash_X_y, \ - check_if_X_y_different_from_fit, make_intervals_single_if_single_alpha + check_if_X_y_different_from_fit, make_intervals_single_if_single_alpha, \ + cast_point_predictions_to_ndarray class SplitConformalRegressor: @@ -238,7 +239,7 @@ def predict( Array of point predictions, with shape (n_samples,). """ predictions = self._mapie_regressor.predict(X, alpha=None) - return predictions + return cast_point_predictions_to_ndarray(predictions) class CrossConformalRegressor: @@ -441,6 +442,8 @@ def conformalize( predict_params=predict_params ) + return self + def predict_set( self, X: ArrayLike, @@ -520,7 +523,10 @@ def predict( self._mapie_regressor._check_agg_function(aggregation_method) self._mapie_regressor.agg_function = aggregation_method - return self._mapie_regressor.predict(X, alpha=None, ensemble=ensemble) + predictions = self._mapie_regressor.predict( + X, alpha=None, ensemble=ensemble + ) + return cast_point_predictions_to_ndarray(predictions) class JackknifeAfterBootstrapRegressor: @@ -631,6 +637,7 @@ def fit( Self The fitted JackknifeAfterBootstrapRegressor instance. """ + return self def conformalize( self, @@ -663,6 +670,7 @@ def conformalize( The JackknifeAfterBootstrapRegressor instance with calibrated prediction intervals. """ + return self def predict_set( self, @@ -688,7 +696,7 @@ def predict_set( Prediction intervals of shape `(n_samples, 2)`, with lower and upper bounds for each sample. """ - pass + return np.ndarray(0) def predict( self, @@ -716,7 +724,7 @@ def predict( NDArray Array of point predictions, with shape `(n_samples,)`. """ - pass + return np.ndarray(0) class ConformalizedQuantileRegressor: @@ -825,6 +833,7 @@ def fit( Self The fitted ConformalizedQuantileRegressor instance. """ + return self def conformalize( self, @@ -856,6 +865,7 @@ def conformalize( The ConformalizedQuantileRegressor instance with calibrated prediction intervals. """ + return self def predict_set( self, @@ -893,7 +903,7 @@ def predict_set( Prediction intervals with shape `(n_samples, 2)`, with lower and upper bounds for each sample. """ - pass + return np.ndarray(0) def predict( self, @@ -912,7 +922,7 @@ def predict( NDArray Array of point predictions with shape `(n_samples,)`. """ - pass + return np.ndarray(0) class GibbsConformalRegressor: From c979c23f91f3cfa0f41f92f0a8d41e703184ac44 Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Thu, 5 Dec 2024 18:31:13 +0100 Subject: [PATCH 16/24] CHORE: set-up mypy for v1 code, add it to CI, fix existing warnings --- mapie_v1/_utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mapie_v1/_utils.py b/mapie_v1/_utils.py index 2dc3cd7ee..457774205 100644 --- a/mapie_v1/_utils.py +++ b/mapie_v1/_utils.py @@ -61,4 +61,5 @@ def make_intervals_single_if_single_alpha( def cast_point_predictions_to_ndarray( point_predictions: Union[NDArray, Tuple[NDArray, NDArray]] ) -> NDArray: + # This will be useless when we split .predict and .predict_set in back-end return cast(NDArray, point_predictions) From 6e078f438d64b66e43d4cd088360561e73dc463d Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Fri, 6 Dec 2024 17:15:40 +0100 Subject: [PATCH 17/24] CHORE: remove type check v1 from CI --- .github/workflows/test.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 61483991f..4298a96f1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -55,8 +55,6 @@ jobs: run: make lint - name: Check static typing run: make type-check - - name: Check static typing v1 - run: make v1-type-check - name: Test with pytest run: make coverage - name: Code coverage From 0c49868814a69cb83d7a0f65c47cd07c7ba3a975 Mon Sep 17 00:00:00 2001 From: jawadhussein462 <41950044+jawadhussein462@users.noreply.github.com> Date: Mon, 9 Dec 2024 17:25:01 +0100 Subject: [PATCH 18/24] TEST: add integration test for JackknifeAfterBootstrapRegressor (#556) TEST: add integration test for JackknifeAfterBootstrapRegressor --- .../tests/test_regression.py | 299 ++++++++++++------ mapie_v1/integration_tests/utils.py | 9 +- mapie_v1/regression.py | 10 +- 3 files changed, 212 insertions(+), 106 deletions(-) diff --git a/mapie_v1/integration_tests/tests/test_regression.py b/mapie_v1/integration_tests/tests/test_regression.py index a7441fc55..b44bf1e3f 100644 --- a/mapie_v1/integration_tests/tests/test_regression.py +++ b/mapie_v1/integration_tests/tests/test_regression.py @@ -1,4 +1,5 @@ from __future__ import annotations +from typing import Optional, Union, Dict, Tuple import numpy as np import pytest @@ -8,13 +9,15 @@ from sklearn.linear_model import LinearRegression from sklearn.ensemble import RandomForestRegressor +from mapie.subsample import Subsample +from mapie._typing import ArrayLike from mapie.conformity_scores import GammaConformityScore, \ AbsoluteConformityScore from mapie_v1.regression import SplitConformalRegressor, \ - CrossConformalRegressor + CrossConformalRegressor, \ + JackknifeAfterBootstrapRegressor from mapiev0.regression import MapieRegressor as MapieRegressorV0 # noqa - from mapie_v1.conformity_scores._utils import \ check_and_select_regression_conformity_score from mapie_v1.integration_tests.utils import (filter_params, @@ -25,13 +28,31 @@ K_FOLDS = 3 N_BOOTSTRAPS = 30 -X, y = make_regression(n_samples=500, - n_features=10, - noise=1.0, - random_state=RANDOM_STATE) + +X, y_signed = make_regression( + n_samples=50, + n_features=10, + noise=1.0, + random_state=RANDOM_STATE +) +y = np.abs(y_signed) +sample_weight = RandomState(RANDOM_STATE).random(len(X)) +groups = [0] * 10 + [1] * 10 + [2] * 10 + [3] * 10 + [4] * 10 +positive_predictor = TransformedTargetRegressor( + regressor=LinearRegression(), + func=lambda y_: np.log(y_ + 1), + inverse_func=lambda X_: np.exp(X_) - 1 +) + +X_split, y_split = make_regression( + n_samples=500, + n_features=10, + noise=1.0, + random_state=RANDOM_STATE +) -@pytest.mark.parametrize("strategy_key", ["split", "prefit"]) +@pytest.mark.parametrize("cv", ["split", "prefit"]) @pytest.mark.parametrize("method", ["base", "plus", "minmax"]) @pytest.mark.parametrize("conformity_score", ["absolute"]) @pytest.mark.parametrize("confidence_level", [0.9, 0.95, 0.99]) @@ -42,8 +63,8 @@ LinearRegression(), RandomForestRegressor(random_state=RANDOM_STATE, max_depth=2)]) @pytest.mark.parametrize("test_size", [0.2, 0.5]) -def test_exact_interval_equality_split( - strategy_key, +def test_intervals_and_predictions_exact_equality_split( + cv, method, conformity_score, confidence_level, @@ -56,12 +77,7 @@ def test_exact_interval_equality_split( Test that the prediction intervals are exactly the same between v0 and v1 models when using the same settings. """ - X_train, X_conf, y_train, y_conf = train_test_split_shuffle( - X, y, test_size=test_size, random_state=RANDOM_STATE - ) - - if strategy_key == "prefit": - estimator.fit(X_train, y_train) + prefit = cv == "prefit" v0_params = { "estimator": estimator, @@ -71,9 +87,10 @@ def test_exact_interval_equality_split( ), "alpha": 1 - confidence_level, "agg_function": agg_function, - "random_state": RANDOM_STATE, "test_size": test_size, - "allow_infinite_bounds": allow_infinite_bounds + "allow_infinite_bounds": allow_infinite_bounds, + "cv": cv, + "random_state": RANDOM_STATE, } v1_params = { "estimator": estimator, @@ -83,50 +100,22 @@ def test_exact_interval_equality_split( "aggregate_function": agg_function, "random_state": RANDOM_STATE, "n_bootstraps": N_BOOTSTRAPS, - "allow_infinite_bounds": allow_infinite_bounds + "allow_infinite_bounds": allow_infinite_bounds, + "prefit": prefit, + "random_state": RANDOM_STATE, } - v0, v1 = initialize_models( - strategy_key=strategy_key, - v0_params=v0_params, - v1_params=v1_params, - ) - - if strategy_key == 'prefit': - v0.fit(X_conf, y_conf) - else: - v0.fit(X, y) - v1.fit(X_train, y_train) + v0, v1 = initialize_models(cv, v0_params, v1_params) + compare_model_predictions_and_intervals(v0=v0, + v1=v1, + X=X_split, + y=y_split, + v0_params=v0_params, + v1_params=v1_params, + test_size=test_size, + random_state=RANDOM_STATE, + prefit=prefit) - v1.conformalize(X_conf, y_conf) - - v0_predict_params = filter_params(v0.predict, v0_params) - v1_predict_params = filter_params(v1.predict, v1_params) - _, v0_pred_intervals = v0.predict(X_conf, **v0_predict_params) - v1_pred_intervals = v1.predict_set(X_conf, **v1_predict_params) - v0_pred_intervals = v0_pred_intervals[:, :, 0] - - np.testing.assert_array_equal( - v1_pred_intervals, - v0_pred_intervals, - err_msg="Prediction intervals differ between v0 and v1 models" - ) - - -X_cross, y_cross_signed = make_regression( - n_samples=50, - n_features=10, - noise=1.0, - random_state=RANDOM_STATE -) -y_cross = np.abs(y_cross_signed) -sample_weight = RandomState(RANDOM_STATE).random(len(X_cross)) -groups = [0] * 10 + [1] * 10 + [2] * 10 + [3] * 10 + [4] * 10 -positive_predictor = TransformedTargetRegressor( - regressor=LinearRegression(), - func=lambda y_: np.log(y_ + 1), - inverse_func=lambda X_: np.exp(X_) - 1 -) params_test_cases_cross = [ { @@ -195,56 +184,174 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): v0_params = params_cross["v0"] v1_params = params_cross["v1"] - v0 = MapieRegressorV0( - **filter_params(MapieRegressorV0.__init__, v0_params) - ) - v1 = CrossConformalRegressor( - **filter_params(CrossConformalRegressor.__init__, v1_params) - ) + v0, v1 = initialize_models("cross", v0_params, v1_params) + compare_model_predictions_and_intervals(v0, v1, X, y, v0_params, v1_params) - v0_fit_params = filter_params(v0.fit, v0_params) - v1_fit_params = filter_params(v1.fit, v1_params) - v1_conformalize_params = filter_params(v1.conformalize, v1_params) - v0.fit(X_cross, y_cross, **v0_fit_params) - v1.fit(X_cross, y_cross, **v1_fit_params) - v1.conformalize(X_cross, y_cross, **v1_conformalize_params) - - v0_predict_params = filter_params(v0.predict, v0_params) - v1_predict_params = filter_params(v1.predict, v1_params) - v1_predict_set_params = filter_params(v1.predict_set, v1_params) +params_test_cases_jackknife = [ + { + "v0": { + "alpha": 0.2, + "conformity_score": AbsoluteConformityScore(), + "cv": Subsample(n_resamplings=10, random_state=RANDOM_STATE), + "agg_function": "median", + "ensemble": True, + "method": "plus", + "sample_weight": sample_weight, + "random_state": RANDOM_STATE, + }, + "v1": { + "confidence_level": 0.8, + "conformity_score": "absolute", + "resampling": 10, + "aggregation_method": "median", + "method": "plus", + "fit_params": {"sample_weight": sample_weight}, + "random_state": RANDOM_STATE, + }, + }, + { + "v0": { + "estimator": positive_predictor, + "alpha": [0.5, 0.5], + "conformity_score": GammaConformityScore(), + "aggregation_method": "mean", + "cv": Subsample(n_resamplings=3, + replace=True, + random_state=RANDOM_STATE), + "method": "plus", + "optimize_beta": True, + "random_state": RANDOM_STATE, + }, + "v1": { + "estimator": positive_predictor, + "confidence_level": [0.5, 0.5], + "aggregation_method": "mean", + "conformity_score": "gamma", + "resampling": Subsample(n_resamplings=3, + replace=True, + random_state=RANDOM_STATE), + "method": "plus", + "minimize_interval_width": True, + "random_state": RANDOM_STATE, + }, + }, + { + "v0": { + "alpha": 0.1, + "cv": Subsample(n_resamplings=10, random_state=RANDOM_STATE), + "method": "minmax", + "aggregation_method": "mean", + "allow_infinite_bounds": True, + "random_state": RANDOM_STATE, + }, + "v1": { + "confidence_level": 0.9, + "resampling": 10, + "method": "minmax", + "aggregation_method": "mean", + "allow_infinite_bounds": True, + "random_state": RANDOM_STATE, + } + }, +] - v0_preds, v0_pred_intervals = v0.predict(X_cross, **v0_predict_params) - v1_pred_intervals = v1.predict_set(X_cross, **v1_predict_set_params) - if v1_pred_intervals.ndim == 2: - v1_pred_intervals = np.expand_dims(v1_pred_intervals, axis=2) - v1_preds = v1.predict(X_cross, **v1_predict_params) +@pytest.mark.parametrize("params_jackknife", params_test_cases_jackknife) +def test_intervals_and_predictions_exact_equality_jackknife(params_jackknife): + v0_params = params_jackknife["v0"] + v1_params = params_jackknife["v1"] - np.testing.assert_array_equal(v0_preds, v1_preds) - np.testing.assert_array_equal(v0_pred_intervals, v1_pred_intervals) + v0, v1 = initialize_models("jackknife", v0_params, v1_params) + compare_model_predictions_and_intervals(v0, v1, X, y, v0_params, v1_params) def initialize_models( - strategy_key, - v0_params: dict, - v1_params: dict, -): - if strategy_key == "prefit": - v0_params.update({"cv": "prefit"}) - v0_params = filter_params(MapieRegressorV0.__init__, v0_params) + strategy_key: str, + v0_params: Dict, + v1_params: Dict, +) -> Tuple[MapieRegressorV0, Union[ + SplitConformalRegressor, + CrossConformalRegressor, + JackknifeAfterBootstrapRegressor +]]: + + v1: Union[SplitConformalRegressor, + CrossConformalRegressor, + JackknifeAfterBootstrapRegressor] + + if strategy_key in ["split", "prefit"]: v1_params = filter_params(SplitConformalRegressor.__init__, v1_params) - v0 = MapieRegressorV0(**v0_params) - v1 = SplitConformalRegressor(prefit=True, **v1_params) - - elif strategy_key == "split": - v0_params.update({"cv": "split"}) - v0_params = filter_params(MapieRegressorV0.__init__, v0_params) - v1_params = filter_params(SplitConformalRegressor.__init__, v1_params) - v0 = MapieRegressorV0(**v0_params) v1 = SplitConformalRegressor(**v1_params) + elif strategy_key == "cross": + v1_params = filter_params(CrossConformalRegressor.__init__, v1_params) + v1 = CrossConformalRegressor(**v1_params) + + elif strategy_key == "jackknife": + v1_params = filter_params( + JackknifeAfterBootstrapRegressor.__init__, + v1_params + ) + v1 = JackknifeAfterBootstrapRegressor(**v1_params) + else: raise ValueError(f"Unknown strategy key: {strategy_key}") + v0_params = filter_params(MapieRegressorV0.__init__, v0_params) + v0 = MapieRegressorV0(**v0_params) + return v0, v1 + + +def compare_model_predictions_and_intervals( + v0: MapieRegressorV0, + v1: Union[SplitConformalRegressor, + CrossConformalRegressor, + JackknifeAfterBootstrapRegressor], + X: ArrayLike, + y: ArrayLike, + v0_params: Dict = {}, + v1_params: Dict = {}, + prefit: bool = False, + test_size: Optional[float] = None, + random_state: int = 42, +) -> None: + + if test_size is not None: + X_train, X_conf, y_train, y_conf = train_test_split_shuffle( + X, y, test_size=test_size, random_state=random_state + ) + else: + X_train, X_conf, y_train, y_conf = X, X, y, y + + v0_fit_params = filter_params(v0.fit, v0_params) + v1_fit_params = filter_params(v1.fit, v1_params) + v1_conformalize_params = filter_params(v1.conformalize, v1_params) + + if prefit: + estimator = v0.estimator + estimator.fit(X_train, y_train) + v0.estimator = estimator + v1._mapie_regressor.estimator = estimator + + v0.fit(X_conf, y_conf, **v0_fit_params) + else: + v0.fit(X, y, **v0_fit_params) + v1.fit(X_train, y_train, **v1_fit_params) + + v1.conformalize(X_conf, y_conf, **v1_conformalize_params) + + v0_predict_params = filter_params(v0.predict, v0_params) + v1_predict_params = filter_params(v1.predict, v1_params) + v1_predict_set_params = filter_params(v1.predict_set, v1_params) + + v0_preds, v0_pred_intervals = v0.predict(X_conf, **v0_predict_params) + v1_pred_intervals = v1.predict_set(X_conf, **v1_predict_set_params) + if v1_pred_intervals.ndim == 2: + v1_pred_intervals = np.expand_dims(v1_pred_intervals, axis=2) + + v1_preds: ArrayLike = v1.predict(X_conf, **v1_predict_params) + + np.testing.assert_array_equal(v0_preds, v1_preds) + np.testing.assert_array_equal(v0_pred_intervals, v1_pred_intervals) diff --git a/mapie_v1/integration_tests/utils.py b/mapie_v1/integration_tests/utils.py index eb79e2aaf..0634c9efe 100644 --- a/mapie_v1/integration_tests/utils.py +++ b/mapie_v1/integration_tests/utils.py @@ -1,17 +1,14 @@ from typing import Callable, Dict, Any, Optional import inspect -import numpy as np - from sklearn.model_selection import ShuffleSplit -from typing import Tuple def train_test_split_shuffle( - X: np.ndarray, - y: np.ndarray, + X, + y, test_size: float = 0.2, random_state: int = 42 -) -> Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]: +): splitter = ShuffleSplit(n_splits=1, test_size=test_size, diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index b66096aac..696e6a856 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -7,6 +7,7 @@ from sklearn.base import RegressorMixin, clone from sklearn.model_selection import BaseCrossValidator +from mapie.subsample import Subsample from mapie._typing import ArrayLike, NDArray from mapie.conformity_scores import BaseRegressionScore from mapie.regression import MapieRegressor @@ -604,12 +605,15 @@ def __init__( confidence_level: Union[float, List[float]] = 0.9, conformity_score: Union[str, BaseRegressionScore] = "absolute", method: str = "plus", - n_bootstraps: int = 100, + resampling: Union[int, Subsample] = 10, + aggregation_method: str = "mean", n_jobs: Optional[int] = None, verbose: int = 0, random_state: Optional[Union[int, np.random.RandomState]] = None, ) -> None: - pass + + # Placeholder for the MapieRegressor instance to pass mypy checks + self._mapie_regressor = MapieRegressor(estimator=estimator,) def fit( self, @@ -701,8 +705,6 @@ def predict_set( def predict( self, X: ArrayLike, - # ensemble: bool = False, -> removed, see aggregation_method - aggregation_method: str = "mean", # 'mean', 'median' ) -> NDArray: """ Generates point predictions for the input data using the fitted model, From 47cd981104f42e93e8c721aaea6748630793e94b Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Mon, 9 Dec 2024 20:00:56 +0100 Subject: [PATCH 19/24] FIX: correct warnings and error messages to match the v1 API --- mapie/classification.py | 4 +-- mapie/conformity_scores/regression.py | 2 +- mapie/conformity_scores/utils.py | 2 +- mapie/estimator/regressor.py | 8 +++--- mapie/mondrian.py | 12 ++++----- mapie/multi_label_classification.py | 6 ++--- mapie/regression/quantile_regression.py | 15 ++++++----- mapie/regression/regression.py | 9 +++---- mapie/tests/test_classification.py | 6 +++-- mapie/tests/test_common.py | 4 ++- mapie/tests/test_conformity_scores_sets.py | 4 ++- mapie/tests/test_control_risk.py | 4 +-- mapie/tests/test_mondrian.py | 4 ++- mapie/tests/test_quantile_regression.py | 6 ++--- mapie/tests/test_regression.py | 9 ++++--- mapie/tests/test_time_series_regression.py | 4 +-- mapie/tests/test_utils.py | 2 +- mapie/utils.py | 30 ++++++++++++---------- 18 files changed, 73 insertions(+), 58 deletions(-) diff --git a/mapie/classification.py b/mapie/classification.py index 6e2573d0c..4c033c52c 100644 --- a/mapie/classification.py +++ b/mapie/classification.py @@ -288,10 +288,10 @@ def _get_classes_info( ) if n_classes > n_unique_y_labels: warnings.warn( - "WARNING: your calibration dataset has less labels" + "WARNING: your conformity dataset has less labels" + " than your training dataset (training" + f" has {n_classes} unique labels while" - + f" calibration have {n_unique_y_labels} unique labels" + + f" conformity have {n_unique_y_labels} unique labels" ) else: diff --git a/mapie/conformity_scores/regression.py b/mapie/conformity_scores/regression.py index e8ad3d44d..b5f419f5a 100644 --- a/mapie/conformity_scores/regression.py +++ b/mapie/conformity_scores/regression.py @@ -318,7 +318,7 @@ def get_bounds( """ if self.sym and optimize_beta: raise ValueError( - "Beta optimisation cannot be used with " + "Interval width minimization cannot be used with a " + "symmetrical conformity score function." ) diff --git a/mapie/conformity_scores/utils.py b/mapie/conformity_scores/utils.py index b995926c9..d700b4542 100644 --- a/mapie/conformity_scores/utils.py +++ b/mapie/conformity_scores/utils.py @@ -221,7 +221,7 @@ def check_classification_conformity_score( return METHOD_SCORE_MAP[method]() else: raise ValueError( - "Invalid method. " + "Invalid conformity score. " f"Allowed values are {list(METHOD_SCORE_MAP.keys())}." ) else: diff --git a/mapie/estimator/regressor.py b/mapie/estimator/regressor.py index 66689a7d9..fb2f35496 100644 --- a/mapie/estimator/regressor.py +++ b/mapie/estimator/regressor.py @@ -295,9 +295,7 @@ def _aggregate_with_mask( """ if self.method in self.no_agg_methods_ or self.use_split_method_: raise ValueError( - "There should not be aggregation of predictions " - f"if cv is in '{self.no_agg_cv_}', if cv >=2 " - f"or if method is in '{self.no_agg_methods_}'." + "There should not be aggregation of predictions." ) elif self.agg_function == "median": return phi2D(A=x, B=k, fun=lambda x: np.nanmedian(x, axis=1)) @@ -310,7 +308,9 @@ def _aggregate_with_mask( K = np.nan_to_num(k, nan=0.0) return np.matmul(x, (K / (K.sum(axis=1, keepdims=True))).T) else: - raise ValueError("The value of self.agg_function is not correct") + raise ValueError( + "The value of the aggregation function is not correct" + ) def _pred_multi(self, X: ArrayLike, **predict_params) -> NDArray: """ diff --git a/mapie/mondrian.py b/mapie/mondrian.py index 003cf59f5..b58a16228 100644 --- a/mapie/mondrian.py +++ b/mapie/mondrian.py @@ -241,8 +241,8 @@ def _check_cv(self): """ if not self.mapie_estimator.cv == "prefit": raise ValueError( - "Mondrian can only be used if the underlying Mapie" + - "estimator uses cv='prefit'." + "Mondrian can only be used if the underlying" + + "estimator is used in prefit mode." ) def _check_partition_fit(self, X: NDArray, partition: NDArray): @@ -347,7 +347,7 @@ def _check_estimator(self): """ if isinstance(self.mapie_estimator, self.not_allowed_estimators): raise ValueError( - "The estimator must be a MapieClassifier or MapieRegressor" + "The estimator must be a classifier or regressor" ) def _check_confomity_score(self): @@ -370,7 +370,7 @@ def _check_confomity_score(self): if self.mapie_estimator.method not in \ self.allowed_classification_ncs_str: raise ValueError( - "The conformity score for the MapieClassifier must " + + "The conformity score for the classifier must " + f"be one of {self.allowed_classification_ncs_str}" ) @@ -378,7 +378,7 @@ def _check_confomity_score(self): if type(self.mapie_estimator.conformity_score) not in \ self.allowed_classification_ncs_class: raise ValueError( - "The conformity score for the MapieClassifier must" + + "The conformity score for the classifier must" + f" be one of {self.allowed_classification_ncs_class}" ) else: @@ -386,7 +386,7 @@ def _check_confomity_score(self): if not isinstance(self.mapie_estimator.conformity_score, self.allowed_regression_ncs): raise ValueError( - "The conformity score for the MapieRegressor must " + + "The conformity score for the regressor must " + f"be one of {self.allowed_regression_ncs}" ) diff --git a/mapie/multi_label_classification.py b/mapie/multi_label_classification.py index c21a3da16..e47a8e5e5 100644 --- a/mapie/multi_label_classification.py +++ b/mapie/multi_label_classification.py @@ -291,7 +291,7 @@ def _check_valid_index(self, alpha: NDArray): if self.valid_index[i] == []: warnings.warn( "Warning: LTT method has returned an empty sequence" - + " for alpha=" + str(alpha[i]) + + " for confidence level=" + str(1-alpha[i]) ) def _check_estimator( @@ -362,8 +362,8 @@ def _check_estimator( estimator.fit(X_train, y_train) warnings.warn( "WARNING: To avoid overffiting, X has been splitted" - + "into X_train and X_calib. The calibraiton will only" - + "be done on X_calib" + + "into X_train and X_conf. The conformalization will only" + + "be done on X_conf" ) return estimator, X_calib, y_calib diff --git a/mapie/regression/quantile_regression.py b/mapie/regression/quantile_regression.py index df04a41d1..ed19e3e1b 100644 --- a/mapie/regression/quantile_regression.py +++ b/mapie/regression/quantile_regression.py @@ -201,18 +201,19 @@ def _check_alpha( warnings.warn( "WARNING: The alpha that is set needs to be the same" + " as the alpha of your prefitted model in the following" - " order [alpha/2, 1 - alpha/2, 0.5]" + " order [(1 - confidence_level)/2, confidence_level/2, 0.5]" ) if isinstance(alpha, float): if np.any(np.logical_or(alpha <= 0, alpha >= 1.0)): raise ValueError( - "Invalid alpha. Allowed values are between 0.0 and 1.0." + "Invalid confidence_level. " + "Allowed values are between 0.0 and 1.0." ) else: alpha_np = np.array([alpha / 2, 1 - alpha / 2, 0.5]) else: raise ValueError( - "Invalid alpha. Allowed values are float." + "Invalid confidence_level. Allowed values are float." ) return alpha_np @@ -305,8 +306,7 @@ def _check_estimator( ) else: raise ValueError( - "The base model does not seem to be accepted" - + " by MapieQuantileRegressor. \n" + "The base model is not supported. \n" "Give a base model among: \n" f"{self.quantile_estimator_params.keys()} " "Or, add your base model to" @@ -454,8 +454,9 @@ def _check_prefit_params( else: raise ValueError( "You need to have provided 3 different estimators, they" - " need to be preset with alpha values in the following" - " order [alpha/2, 1 - alpha/2, 0.5]." + " need to be preset with alpha values" + "(alpha = 1 - confidence_level)" + "in the following order [alpha/2, 1 - alpha/2, 0.5]." ) def fit( diff --git a/mapie/regression/regression.py b/mapie/regression/regression.py index f0191d4ab..ab2daad81 100644 --- a/mapie/regression/regression.py +++ b/mapie/regression/regression.py @@ -317,8 +317,7 @@ def _check_agg_function( type(self.cv).__name__ in self.cv_need_agg_function_ ): raise ValueError( - "You need to specify an aggregation function when " - f"cv's type is in {self.cv_need_agg_function_}." + "You need to specify an aggregation function." ) elif agg_function is not None: return agg_function @@ -385,8 +384,8 @@ def _check_ensemble( """ if ensemble and (self.agg_function is None): raise ValueError( - "If ensemble is True, the aggregation function has to be " - f"in '{self.ensemble_agg_functions_}'." + "The aggregation function has to be in " + f"{self.ensemble_agg_functions_}." ) def _check_fit_parameters( @@ -442,7 +441,7 @@ def _check_fit_parameters( self.cv not in ["split", "prefit"]: raise ValueError( "The ResidualNormalisedScore can be used only with " - "``cv='split'`` and ``cv='prefit'``" + "``SplitConformalRegressor``" ) X, y = indexable(X, y) diff --git a/mapie/tests/test_classification.py b/mapie/tests/test_classification.py index 6b9cb502c..0880c1013 100644 --- a/mapie/tests/test_classification.py +++ b/mapie/tests/test_classification.py @@ -1665,7 +1665,9 @@ def test_method_error_in_fit(monkeypatch: Any, method: str) -> None: mapie_clf = MapieClassifier( method=method, random_state=random_state ) - with pytest.raises(ValueError, match=r".*Invalid method.*"): + with pytest.raises( + ValueError, match=r".*(Invalid method.)|(Invalid conformity score.)*" + ): mapie_clf.fit(X_toy, y_toy) @@ -1835,7 +1837,7 @@ def test_warning_not_all_label_in_calib() -> None: cv="prefit", random_state=random_state ) with pytest.warns( - UserWarning, match=r".*WARNING: your calibration dataset.*" + UserWarning, match=r".*WARNING: your conformity dataset.*" ): mapie_clf.fit(X_mapie, y_mapie) diff --git a/mapie/tests/test_common.py b/mapie/tests/test_common.py index 16a701c15..aebf2cb41 100644 --- a/mapie/tests/test_common.py +++ b/mapie/tests/test_common.py @@ -159,7 +159,9 @@ def test_valid_prefit_estimator( def test_invalid_method(MapieEstimator: BaseEstimator, method: str) -> None: """Test that invalid methods raise errors.""" mapie_estimator = MapieEstimator(method=method) - with pytest.raises(ValueError, match=r".*Invalid method.*"): + with pytest.raises( + ValueError, match="(Invalid method.)|(Invalid conformity score.)*" + ): mapie_estimator.fit(X_toy, y_toy) diff --git a/mapie/tests/test_conformity_scores_sets.py b/mapie/tests/test_conformity_scores_sets.py index 2e258a160..f8aa1e9ab 100644 --- a/mapie/tests/test_conformity_scores_sets.py +++ b/mapie/tests/test_conformity_scores_sets.py @@ -112,7 +112,9 @@ def test_check_wrong_classification_method( Test that the function check_classification_conformity_score raises a ValueError when using a wrong method. """ - with pytest.raises(ValueError, match="Invalid method.*"): + with pytest.raises( + ValueError, match="(Invalid method.)|(Invalid conformity score.)*" + ): check_classification_conformity_score(method=method) diff --git a/mapie/tests/test_control_risk.py b/mapie/tests/test_control_risk.py index 4d2709f76..f1171335b 100644 --- a/mapie/tests/test_control_risk.py +++ b/mapie/tests/test_control_risk.py @@ -173,13 +173,13 @@ def test_warning_valid_index_empty() -> None: def test_invalid_alpha_hb() -> None: """Test error message when invalid alpha""" - with pytest.raises(ValueError, match=r".*Invalid alpha"): + with pytest.raises(ValueError, match=r".*Invalid confidence_level"): compute_hoeffdding_bentkus_p_value(r_hat, n, wrong_alpha) def test_invalid_shape_alpha_hb() -> None: """Test error message when invalid alpha shape""" - with pytest.raises(ValueError, match=r".*Invalid alpha"): + with pytest.raises(ValueError, match=r".*Invalid confidence_level"): compute_hoeffdding_bentkus_p_value(r_hat, n, wrong_alpha_shape) diff --git a/mapie/tests/test_mondrian.py b/mapie/tests/test_mondrian.py index a1b3d3bd6..8fcf9aaec 100644 --- a/mapie/tests/test_mondrian.py +++ b/mapie/tests/test_mondrian.py @@ -242,7 +242,9 @@ def test_invalid_cv_fails(mapie_estimator_name, non_valid_cv): estimator=model, cv=non_valid_cv, **mapie_kwargs ) ) - with pytest.raises(ValueError, match=r".*estimator uses cv='prefit'*"): + with pytest.raises( + ValueError, match=r".*Mondrian can only be used if the underlying*" + ): mondrian_cp.fit(x, y, partition=partition) diff --git a/mapie/tests/test_quantile_regression.py b/mapie/tests/test_quantile_regression.py index 60a42ace5..0ca88651e 100644 --- a/mapie/tests/test_quantile_regression.py +++ b/mapie/tests/test_quantile_regression.py @@ -352,7 +352,7 @@ def test_wrong_alphas_types(alphas: float) -> None: """Checking for wrong type of alphas""" with pytest.raises( ValueError, - match=r".*Invalid alpha. Allowed values are float.*", + match=r".*Invalid confidence_level. Allowed values are float.*", ): mapie_reg = MapieQuantileRegressor(alpha=alphas) mapie_reg.fit(X_train, y_train, X_calib=X_calib, y_calib=y_calib) @@ -363,7 +363,7 @@ def test_wrong_alphas(alphas: float) -> None: """Checking for alphas values that are too big according to all value.""" with pytest.raises( ValueError, - match=r".*Invalid alpha. Allowed values are between .*", + match=r".*Invalid confidence_level. Allowed values are between .*", ): mapie_reg = MapieQuantileRegressor(alpha=alphas) mapie_reg.fit(X_train, y_train, X_calib=X_calib, y_calib=y_calib) @@ -449,7 +449,7 @@ def test_estimators_not_in_list(est: RegressorMixin) -> None: """ with pytest.raises( ValueError, - match=r".*The base model does not seem to be accepted by.*", + match=r".*The base model is not supported.*", ): mapie_reg = MapieQuantileRegressor(estimator=est) mapie_reg.fit( diff --git a/mapie/tests/test_regression.py b/mapie/tests/test_regression.py index b8c2c58fd..d3cede90f 100644 --- a/mapie/tests/test_regression.py +++ b/mapie/tests/test_regression.py @@ -231,7 +231,10 @@ def test_invalid_agg_function(agg_function: Any) -> None: mapie_reg.fit(X_toy, y_toy) mapie_reg = MapieRegressor(agg_function=None) - with pytest.raises(ValueError, match=r".*If ensemble is True*"): + with pytest.raises( + ValueError, + match=r".*aggregation function has to be in ['median', 'mean']*" + ): mapie_reg.fit(X_toy, y_toy) mapie_reg.predict(X_toy, ensemble=True) @@ -738,7 +741,7 @@ def test_aggregate_with_mask_with_prefit() -> None: mapie_reg = mapie_reg.fit(X, y) with pytest.raises( ValueError, - match=r".*There should not be aggregation of predictions if cv is*", + match=r".*There should not be aggregation of predictions.*", ): mapie_reg.estimator_._aggregate_with_mask(k, k) @@ -758,7 +761,7 @@ def test_aggregate_with_mask_with_invalid_agg_function() -> None: ens_reg.use_split_method_ = False with pytest.raises( ValueError, - match=r".*The value of self.agg_function is not correct*", + match=r".*The value of the aggregation function is not correct*", ): ens_reg._aggregate_with_mask(k, k) diff --git a/mapie/tests/test_time_series_regression.py b/mapie/tests/test_time_series_regression.py index 785cb9088..c9ea3a942 100644 --- a/mapie/tests/test_time_series_regression.py +++ b/mapie/tests/test_time_series_regression.py @@ -133,7 +133,7 @@ def test_invalid_agg_function(agg_function: Any) -> None: mapie_reg.fit(X_toy, y_toy) mapie_reg = MapieTimeSeriesRegressor(agg_function=None) - with pytest.raises(ValueError, match=r".*If ensemble is True*"): + with pytest.raises(ValueError, match=r".*The aggregation function*"): mapie_reg.fit(X_toy, y_toy) mapie_reg.predict(X_toy, ensemble=True) @@ -398,7 +398,7 @@ def test_MapieTimeSeriesRegressor_beta_optimize_error() -> None: cv=-1, conformity_score=AbsoluteConformityScore(sym=True) ).fit(X_toy, y_toy) with pytest.raises( - ValueError, match=r"Beta optimisation cannot be used*" + ValueError, match=r"Interval width minimization cannot be used*" ): mapie_ts_reg.predict(X_toy, alpha=0.4, optimize_beta=True) diff --git a/mapie/tests/test_utils.py b/mapie/tests/test_utils.py index d4ea8df2f..0895121ba 100644 --- a/mapie/tests/test_utils.py +++ b/mapie/tests/test_utils.py @@ -130,7 +130,7 @@ def test_fit_estimator_sample_weight() -> None: @pytest.mark.parametrize("alpha", [-1, 0, 1, 2, 2.5, "a", ["a", "b"]]) def test_invalid_alpha(alpha: Any) -> None: """Test that invalid alphas raise errors.""" - with pytest.raises(ValueError, match=r".*Invalid alpha.*"): + with pytest.raises(ValueError, match=r".*Invalid confidence_level.*"): check_alpha(alpha=alpha) diff --git a/mapie/utils.py b/mapie/utils.py index 543407e00..9337f0e7c 100644 --- a/mapie/utils.py +++ b/mapie/utils.py @@ -209,8 +209,8 @@ def check_cv( else: raise ValueError( "Invalid cv argument. " - "Allowed values are None, -1, int >= 2, 'prefit', 'split', " - "or a BaseCrossValidator object (Kfold, LeaveOneOut)." + "Allowed values are -1, int >= 2, " + "or a suitable BaseCrossValidator object" ) @@ -316,19 +316,21 @@ def check_alpha( alpha_np = np.array(alpha) else: raise ValueError( - "Invalid alpha. Allowed values are float or Iterable." + "Invalid confidence_level. Allowed values are float or Iterable." ) if len(alpha_np.shape) != 1: raise ValueError( - "Invalid alpha." + "Invalid confidence_level." "Please provide a one-dimensional list of values." ) if alpha_np.dtype.type not in [np.float64, np.float32]: raise ValueError( - "Invalid alpha. Allowed values are Iterable of floats." + "Invalid confidence_level. Allowed values are Iterable of floats." ) if np.any(np.logical_or(alpha_np < 0, alpha_np > 1)): - raise ValueError("Invalid alpha. Allowed values are between 0 and 1.") + raise ValueError( + "Invalid confidence_level. Allowed values are between 0 and 1." + ) return alpha_np @@ -468,7 +470,8 @@ def check_alpha_and_n_samples( ... print(exception) ... Number of samples of the score is too low, - 1/alpha (or 1/(1 - alpha)) must be lower than the number of samples. + 1/confidence_level and 1/(1 - confidence_level) must be + lower than the number of samples. """ if isinstance(alphas, float): alphas = np.array([alphas]) @@ -476,8 +479,8 @@ def check_alpha_and_n_samples( if n < np.max([1/alpha, 1/(1-alpha)]): raise ValueError( "Number of samples of the score is too low,\n" - "1/alpha (or 1/(1 - alpha)) must be lower " - "than the number of samples." + "1/confidence_level and 1/(1 - confidence_level) must be\n" + "lower than the number of samples." ) @@ -716,8 +719,8 @@ def check_alpha_and_last_axis(vector: NDArray, alpha_np: NDArray): """ if len(alpha_np) != vector.shape[2]: raise ValueError( - "In case of the vector has 3 dimensions, the dimension\n" - + "of his last axis must be equal to the number of alphas" + "In case of the vector has 3 dimensions, the dimension of its" + + "last axis must be equal to the number of confidence levels" ) else: return vector, alpha_np @@ -1162,7 +1165,7 @@ def check_array_shape_classification( if len(y_pred_set.shape) != 2: raise ValueError( "y_pred_set should be a 3D array of shape \ - (n_obs, n_classes, n_alpha)" + (n_obs, n_classes, n_confidence_levels)" ) else: y_pred_set = np.expand_dims(y_pred_set, axis=2) @@ -1198,7 +1201,8 @@ def check_array_shape_regression( if len(y_intervals.shape) != 3: if len(y_intervals.shape) != 2: raise ValueError( - "y_intervals should be a 3D array of shape (n_obs, 2, n_alpha)" + "y_intervals should be a 3D array of shape" + " (n_obs, 2, n_confidence_levels)" ) else: y_intervals = np.expand_dims(y_intervals, axis=2) From f1b0707779230d34a4dc7cfb40df4b0490202a7b Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Thu, 12 Dec 2024 15:50:12 +0100 Subject: [PATCH 20/24] ENH: implement JackknifeAfterBootstrap regressor, fix integration tests (#559) * ENH: implement JackknifeAfterBootstrap regressor --- mapie_v1/_utils.py | 9 +- .../tests/test_regression.py | 24 ++-- mapie_v1/regression.py | 124 ++++++++++++++---- 3 files changed, 123 insertions(+), 34 deletions(-) diff --git a/mapie_v1/_utils.py b/mapie_v1/_utils.py index 457774205..7b3ac2849 100644 --- a/mapie_v1/_utils.py +++ b/mapie_v1/_utils.py @@ -16,10 +16,13 @@ def transform_confidence_level_to_alpha_list( return [1 - level for level in confidence_levels] -def check_method_not_naive(method: str) -> None: - if method == "naive": +def check_if_param_in_allowed_values( + param: str, param_name: str, allowed_values: list +) -> None: + if param not in allowed_values: raise ValueError( - '"naive" method not available in MAPIE >= v1' + f"'{param}' option not valid for parameter '{param_name}'" + f"Available options are: {allowed_values}" ) diff --git a/mapie_v1/integration_tests/tests/test_regression.py b/mapie_v1/integration_tests/tests/test_regression.py index b44bf1e3f..3b3a485c1 100644 --- a/mapie_v1/integration_tests/tests/test_regression.py +++ b/mapie_v1/integration_tests/tests/test_regression.py @@ -133,7 +133,7 @@ def test_intervals_and_predictions_exact_equality_split( "confidence_level": 0.8, "conformity_score": "absolute", "cv": 4, - "aggregation_method": "median", + "aggregate_predictions": "median", "method": "base", "fit_params": {"sample_weight": sample_weight}, "random_state": RANDOM_STATE, @@ -193,7 +193,7 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): "v0": { "alpha": 0.2, "conformity_score": AbsoluteConformityScore(), - "cv": Subsample(n_resamplings=10, random_state=RANDOM_STATE), + "cv": Subsample(n_resamplings=15, random_state=RANDOM_STATE), "agg_function": "median", "ensemble": True, "method": "plus", @@ -203,7 +203,9 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): "v1": { "confidence_level": 0.8, "conformity_score": "absolute", - "resampling": 10, + "resampling": Subsample( + n_resamplings=15, random_state=RANDOM_STATE + ), "aggregation_method": "median", "method": "plus", "fit_params": {"sample_weight": sample_weight}, @@ -215,8 +217,9 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): "estimator": positive_predictor, "alpha": [0.5, 0.5], "conformity_score": GammaConformityScore(), - "aggregation_method": "mean", - "cv": Subsample(n_resamplings=3, + "agg_function": "mean", + "ensemble": True, + "cv": Subsample(n_resamplings=20, replace=True, random_state=RANDOM_STATE), "method": "plus", @@ -228,7 +231,7 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): "confidence_level": [0.5, 0.5], "aggregation_method": "mean", "conformity_score": "gamma", - "resampling": Subsample(n_resamplings=3, + "resampling": Subsample(n_resamplings=20, replace=True, random_state=RANDOM_STATE), "method": "plus", @@ -239,15 +242,18 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): { "v0": { "alpha": 0.1, - "cv": Subsample(n_resamplings=10, random_state=RANDOM_STATE), + "cv": Subsample(n_resamplings=30, random_state=RANDOM_STATE), "method": "minmax", - "aggregation_method": "mean", + "agg_function": "mean", + "ensemble": True, "allow_infinite_bounds": True, "random_state": RANDOM_STATE, }, "v1": { "confidence_level": 0.9, - "resampling": 10, + "resampling": Subsample( + n_resamplings=30, random_state=RANDOM_STATE + ), "method": "minmax", "aggregation_method": "mean", "allow_infinite_bounds": True, diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index 696e6a856..b86a203a6 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -16,7 +16,7 @@ check_and_select_regression_conformity_score, ) from mapie_v1._utils import transform_confidence_level_to_alpha_list, \ - check_method_not_naive, check_cv_not_string, hash_X_y, \ + check_if_param_in_allowed_values, check_cv_not_string, hash_X_y, \ check_if_X_y_different_from_fit, make_intervals_single_if_single_alpha, \ cast_point_predictions_to_ndarray @@ -319,6 +319,8 @@ class CrossConformalRegressor: >>> intervals = regressor.predict_set(X_test) """ + _VALID_METHODS = ["base", "plus", "minmax"] + def __init__( self, estimator: RegressorMixin = LinearRegression(), @@ -330,7 +332,11 @@ def __init__( verbose: int = 0, random_state: Optional[Union[int, np.random.RandomState]] = None ) -> None: - check_method_not_naive(method) + check_if_param_in_allowed_values( + method, + "method", + CrossConformalRegressor._VALID_METHODS + ) check_cv_not_string(cv) self._mapie_regressor = MapieRegressor( @@ -492,7 +498,7 @@ def predict_set( def predict( self, X: ArrayLike, - aggregation_method: Optional[str] = None, + aggregate_predictions: Optional[str] = None, ) -> NDArray: """ Generates point predictions for the input data `X`: @@ -505,7 +511,7 @@ def predict( X : ArrayLike Data features for generating point predictions. - aggregation_method : Optional[str], default=None + aggregate_predictions : Optional[str], default=None The method to aggregate predictions across folds. Options: - None: No aggregation, returns predictions from the estimator trained on the entire dataset @@ -517,12 +523,12 @@ def predict( NDArray Array of point predictions, with shape `(n_samples,)`. """ - if not aggregation_method: + if not aggregate_predictions: ensemble = False else: ensemble = True - self._mapie_regressor._check_agg_function(aggregation_method) - self._mapie_regressor.agg_function = aggregation_method + self._mapie_regressor._check_agg_function(aggregate_predictions) + self._mapie_regressor.agg_function = aggregate_predictions predictions = self._mapie_regressor.predict( X, alpha=None, ensemble=ensemble @@ -599,21 +605,60 @@ class JackknifeAfterBootstrapRegressor: >>> intervals = regressor.predict_set(X_test) """ + _VALID_METHODS = ["plus", "minmax"] + _VALID_AGGREGATION_METHODS = ["mean", "median"] + def __init__( self, estimator: RegressorMixin = LinearRegression(), confidence_level: Union[float, List[float]] = 0.9, conformity_score: Union[str, BaseRegressionScore] = "absolute", method: str = "plus", - resampling: Union[int, Subsample] = 10, + resampling: Union[int, Subsample] = 30, aggregation_method: str = "mean", n_jobs: Optional[int] = None, verbose: int = 0, random_state: Optional[Union[int, np.random.RandomState]] = None, ) -> None: + check_if_param_in_allowed_values( + method, + "method", + JackknifeAfterBootstrapRegressor._VALID_METHODS + ) + check_if_param_in_allowed_values( + aggregation_method, + "aggregation_method", + JackknifeAfterBootstrapRegressor._VALID_AGGREGATION_METHODS + ) - # Placeholder for the MapieRegressor instance to pass mypy checks - self._mapie_regressor = MapieRegressor(estimator=estimator,) + if isinstance(resampling, int): + cv = Subsample(n_resamplings=resampling) + elif isinstance(resampling, Subsample): + cv = resampling + else: + raise ValueError( + "resampling must be an integer or a Subsample instance" + ) + + self._mapie_regressor = MapieRegressor( + estimator=estimator, + method=method, + cv=cv, + n_jobs=n_jobs, + verbose=verbose, + agg_function=aggregation_method, + conformity_score=check_and_select_regression_conformity_score( + conformity_score + ), + random_state=random_state, + ) + + self._alphas = transform_confidence_level_to_alpha_list( + confidence_level + ) + + self._hashed_X_y: int = 0 + self._sample_weight: Optional[NDArray] = None def fit( self, @@ -641,12 +686,27 @@ def fit( Self The fitted JackknifeAfterBootstrapRegressor instance. """ + self._hashed_X_y = hash_X_y(X, y) + + if fit_params: + fit_params_ = copy.deepcopy(fit_params) + self._sample_weight = fit_params_.pop("sample_weight", None) + else: + fit_params_ = {} + + X, y, self._sample_weight, groups = self._mapie_regressor.init_fit( + X, y, self._sample_weight, fit_params=fit_params_ + ) + + self._mapie_regressor.fit_estimator( + X, y, self._sample_weight + ) return self def conformalize( self, - X_conf: ArrayLike, - y_conf: ArrayLike, + X: ArrayLike, + y: ArrayLike, predict_params: Optional[dict] = None, ) -> Self: """ @@ -658,10 +718,10 @@ def conformalize( Parameters ---------- - X_conf : ArrayLike + X : ArrayLike Features for the calibration (conformity) data. - y_conf : ArrayLike + y : ArrayLike Target values for the calibration (conformity) data. predict_params : Optional[dict], default=None @@ -674,11 +734,24 @@ def conformalize( The JackknifeAfterBootstrapRegressor instance with calibrated prediction intervals. """ + + check_if_X_y_different_from_fit(X, y, self._hashed_X_y) + if not predict_params: + predict_params = {} + + self._mapie_regressor.conformalize( + X, + y, + sample_weight=self._sample_weight, + predict_params=predict_params + ) + return self def predict_set( self, X: ArrayLike, + minimize_interval_width: bool = False, allow_infinite_bounds: bool = False, ) -> NDArray: """ @@ -700,7 +773,17 @@ def predict_set( Prediction intervals of shape `(n_samples, 2)`, with lower and upper bounds for each sample. """ - return np.ndarray(0) + _, intervals = self._mapie_regressor.predict( + X, + alpha=self._alphas, + optimize_beta=minimize_interval_width, + allow_infinite_bounds=allow_infinite_bounds + ) + + return make_intervals_single_if_single_alpha( + intervals, + self._alphas + ) def predict( self, @@ -715,18 +798,15 @@ def predict( X : ArrayLike Data features for generating point predictions. - aggregation_method : str, default="mean" - The method to aggregate predictions across bootstrap samples. - Options: - - "mean": Returns the mean prediction across samples. - - "median": Returns the median prediction across samples. - Returns ------- NDArray Array of point predictions, with shape `(n_samples,)`. """ - return np.ndarray(0) + predictions = self._mapie_regressor.predict( + X, alpha=None, ensemble=True + ) + return cast_point_predictions_to_ndarray(predictions) class ConformalizedQuantileRegressor: From 3a8a39fc8f2feb9ef9a83b01f16f1002da9d21ac Mon Sep 17 00:00:00 2001 From: Valentin Laurent Date: Fri, 13 Dec 2024 15:13:46 +0100 Subject: [PATCH 21/24] CHORE: install mapie from master for v1 integration tests, add checks-v1-not-in-ci (#560) CHORE: install mapie from master for v1 integration tests, add checks-v1-not-in-ci --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8364e7d8b..fdb1924ed 100644 --- a/Makefile +++ b/Makefile @@ -15,11 +15,15 @@ tests: pytest -vs --doctest-modules mapie integration-tests-v1: - @pip install mapie --no-dependencies --target=./mapie_v1/integration_tests/$(mapie_v0_folder_name) >/dev/null 2>&1 + @pip install git+https://github.com/scikit-learn-contrib/MAPIE@master --no-dependencies --target=./mapie_v1/integration_tests/$(mapie_v0_folder_name) >/dev/null 2>&1 @mv ./mapie_v1/integration_tests/$(mapie_v0_folder_name)/mapie ./mapie_v1/integration_tests/$(mapie_v0_folder_name)/mapiev0 @- export PYTHONPATH="${PYTHONPATH}:./mapie_v1/integration_tests/$(mapie_v0_folder_name)"; pytest -vs mapie_v1/integration_tests/tests -k $(pattern) @mv ./mapie_v1/integration_tests/$(mapie_v0_folder_name)/mapiev0 ./mapie_v1/integration_tests/$(mapie_v0_folder_name)/mapie +checks-v1-not-in-ci: + $(MAKE) v1-type-check + $(MAKE) integration-tests-v1 pattern=test + coverage: pytest -vs \ --doctest-modules \ From d45d5863fde50948758b92d2ac3c5b0631876b49 Mon Sep 17 00:00:00 2001 From: jawadhussein462 <41950044+jawadhussein462@users.noreply.github.com> Date: Fri, 13 Dec 2024 15:14:20 +0100 Subject: [PATCH 22/24] ENH: improve jackknife docstring (#561) ENH: improve jackknife docstring --- .../tests/test_regression.py | 3 +- mapie_v1/regression.py | 42 ++++++++++++++----- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/mapie_v1/integration_tests/tests/test_regression.py b/mapie_v1/integration_tests/tests/test_regression.py index 3b3a485c1..cda640fd6 100644 --- a/mapie_v1/integration_tests/tests/test_regression.py +++ b/mapie_v1/integration_tests/tests/test_regression.py @@ -209,6 +209,7 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): "aggregation_method": "median", "method": "plus", "fit_params": {"sample_weight": sample_weight}, + "ensemble": True, "random_state": RANDOM_STATE, }, }, @@ -218,7 +219,6 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): "alpha": [0.5, 0.5], "conformity_score": GammaConformityScore(), "agg_function": "mean", - "ensemble": True, "cv": Subsample(n_resamplings=20, replace=True, random_state=RANDOM_STATE), @@ -256,6 +256,7 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): ), "method": "minmax", "aggregation_method": "mean", + "ensemble": True, "allow_infinite_bounds": True, "random_state": RANDOM_STATE, } diff --git a/mapie_v1/regression.py b/mapie_v1/regression.py index b86a203a6..fefa2140b 100644 --- a/mapie_v1/regression.py +++ b/mapie_v1/regression.py @@ -45,7 +45,7 @@ class SplitConformalRegressor: The conformity score method used to calculate the conformity error. Valid options: see keys and values of the dictionnary :py:const:`mapie_v1.conformity_scores.REGRESSION_CONFORMITY_SCORES_STRING_MAP`. - See: TODO : reference conformity score classes or documentation + See :doc:`theoretical_description_conformity_scores` A custom score function inheriting from BaseRegressionScore may also be provided. @@ -267,7 +267,7 @@ class CrossConformalRegressor: The conformity score method used to calculate the conformity error. Valid options: TODO : reference here the valid options, once the list has been be created during the implementation. - See: TODO : reference conformity score classes or documentation + See :doc:`theoretical_description_conformity_scores` A custom score function inheriting from BaseRegressionScore may also be provided. @@ -561,22 +561,29 @@ class JackknifeAfterBootstrapRegressor: The conformity score method used to calculate the conformity error. Valid options: TODO : reference here the valid options, once the list has been be created during the implementation. - See: TODO : reference conformity score classes or documentation + See :doc:`theoretical_description_conformity_scores` A custom score function inheriting from BaseRegressionScore may also be provided. method : str, default="plus" The method used for jackknife-after-bootstrap prediction. Options are: - - "base": Based on the conformity scores from each bootstrap sample. - "plus": Based on the conformity scores from each bootstrap sample and the testing prediction. - "minmax": Based on the minimum and maximum conformity scores from each bootstrap sample. - n_bootstraps : int, default=100 - The number of bootstrap resamples to generate for the - jackknife-after-bootstrap procedure. + Note: The "base" method is not mentioned in the conformal inference + literature for Jackknife after bootstrap strategies, hence not provided + here. + + resampling : Union[int, Subsample], default=30 + Number of bootstrap resamples or an instance of `Subsample` for + custom resampling strategy. + + aggregation_method : str, default="mean" + Aggregation method for predictions across bootstrap samples. + Options: ["mean", "median"]. n_jobs : Optional[int], default=None The number of jobs to run in parallel when applicable. @@ -599,7 +606,10 @@ class JackknifeAfterBootstrapRegressor: Examples -------- >>> regressor = JackknifeAfterBootstrapRegressor( - ... estimator=LinearRegression(), confidence_level=0.9, n_bootstraps=8) + ... estimator=LinearRegression(), + ... confidence_level=0.9, + ... resampling=8, + ... aggregation_method="mean") >>> regressor.fit(X_train, y_train) >>> regressor.conformalize(X_conf, y_conf) >>> intervals = regressor.predict_set(X_test) @@ -763,6 +773,10 @@ def predict_set( X : ArrayLike Test data for prediction intervals. + minimize_interval_width : bool, default=False + If True, minimizes the width of prediction intervals while + maintaining coverage. + allow_infinite_bounds : bool, default=False If True, allows intervals to include infinite bounds if required for coverage. @@ -770,7 +784,7 @@ def predict_set( Returns ------- NDArray - Prediction intervals of shape `(n_samples, 2)`, + Prediction intervals of shape (n_samples, 2), with lower and upper bounds for each sample. """ _, intervals = self._mapie_regressor.predict( @@ -788,6 +802,7 @@ def predict_set( def predict( self, X: ArrayLike, + ensemble: bool = False, ) -> NDArray: """ Generates point predictions for the input data using the fitted model, @@ -798,13 +813,20 @@ def predict( X : ArrayLike Data features for generating point predictions. + ensemble : bool, default=False + If True, aggregates predictions across models fitted on each + bootstrap samples, this is using the aggregation method defined + during the initialization of the model. + If False, returns predictions from the estimator trained on the + entire dataset. + Returns ------- NDArray Array of point predictions, with shape `(n_samples,)`. """ predictions = self._mapie_regressor.predict( - X, alpha=None, ensemble=True + X, alpha=None, ensemble=ensemble ) return cast_point_predictions_to_ndarray(predictions) From 341441c64b657da08129585022dd496e447534bb Mon Sep 17 00:00:00 2001 From: jawadhussein462 <41950044+jawadhussein462@users.noreply.github.com> Date: Mon, 16 Dec 2024 10:19:32 +0100 Subject: [PATCH 23/24] TEST: Add integrations tests CQR (#563) TEST: Add integrations tests CQR --- .../tests/test_regression.py | 222 ++++++++++++++---- 1 file changed, 179 insertions(+), 43 deletions(-) diff --git a/mapie_v1/integration_tests/tests/test_regression.py b/mapie_v1/integration_tests/tests/test_regression.py index cda640fd6..e97fd94d8 100644 --- a/mapie_v1/integration_tests/tests/test_regression.py +++ b/mapie_v1/integration_tests/tests/test_regression.py @@ -1,5 +1,5 @@ from __future__ import annotations -from typing import Optional, Union, Dict, Tuple +from typing import Optional, Union, Dict, Tuple, Type import numpy as np import pytest @@ -8,6 +8,8 @@ from sklearn.datasets import make_regression from sklearn.linear_model import LinearRegression from sklearn.ensemble import RandomForestRegressor +from sklearn.linear_model import QuantileRegressor +from lightgbm import LGBMRegressor from mapie.subsample import Subsample from mapie._typing import ArrayLike @@ -15,9 +17,11 @@ AbsoluteConformityScore from mapie_v1.regression import SplitConformalRegressor, \ CrossConformalRegressor, \ - JackknifeAfterBootstrapRegressor + JackknifeAfterBootstrapRegressor, \ + ConformalizedQuantileRegressor from mapiev0.regression import MapieRegressor as MapieRegressorV0 # noqa +from mapiev0.regression import MapieQuantileRegressor as MapieQuantileRegressorV0 # noqa from mapie_v1.conformity_scores._utils import \ check_and_select_regression_conformity_score from mapie_v1.integration_tests.utils import (filter_params, @@ -30,14 +34,14 @@ X, y_signed = make_regression( - n_samples=50, + n_samples=100, n_features=10, noise=1.0, random_state=RANDOM_STATE ) y = np.abs(y_signed) sample_weight = RandomState(RANDOM_STATE).random(len(X)) -groups = [0] * 10 + [1] * 10 + [2] * 10 + [3] * 10 + [4] * 10 +groups = [0] * 20 + [1] * 20 + [2] * 20 + [3] * 20 + [4] * 20 positive_predictor = TransformedTargetRegressor( regressor=LinearRegression(), func=lambda y_: np.log(y_ + 1), @@ -105,9 +109,9 @@ def test_intervals_and_predictions_exact_equality_split( "random_state": RANDOM_STATE, } - v0, v1 = initialize_models(cv, v0_params, v1_params) - compare_model_predictions_and_intervals(v0=v0, - v1=v1, + v0, v1 = select_models_by_strategy(cv) + compare_model_predictions_and_intervals(model_v0=v0, + model_v1=v1, X=X_split, y=y_split, v0_params=v0_params, @@ -184,7 +188,7 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): v0_params = params_cross["v0"] v1_params = params_cross["v1"] - v0, v1 = initialize_models("cross", v0_params, v1_params) + v0, v1 = select_models_by_strategy("cross") compare_model_predictions_and_intervals(v0, v1, X, y, v0_params, v1_params) @@ -264,58 +268,178 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): ] +split_model = QuantileRegressor( + solver="highs-ds", + alpha=0.0, + ) + +lgbm_models = [] +lgbm_alpha = 0.1 +for alpha_ in [lgbm_alpha / 2, (1 - (lgbm_alpha / 2)), 0.5]: + estimator_ = LGBMRegressor( + objective='quantile', + alpha=alpha_, + ) + lgbm_models.append(estimator_) + + @pytest.mark.parametrize("params_jackknife", params_test_cases_jackknife) def test_intervals_and_predictions_exact_equality_jackknife(params_jackknife): v0_params = params_jackknife["v0"] v1_params = params_jackknife["v1"] - v0, v1 = initialize_models("jackknife", v0_params, v1_params) + v0, v1 = select_models_by_strategy("jackknife") compare_model_predictions_and_intervals(v0, v1, X, y, v0_params, v1_params) -def initialize_models( - strategy_key: str, - v0_params: Dict, - v1_params: Dict, -) -> Tuple[MapieRegressorV0, Union[ - SplitConformalRegressor, - CrossConformalRegressor, - JackknifeAfterBootstrapRegressor -]]: +params_test_cases_quantile = [ + { + "v0": { + "alpha": 0.2, + "cv": "split", + "method": "quantile", + "calib_size": 0.3, + "sample_weight": sample_weight, + "random_state": RANDOM_STATE, + }, + "v1": { + "confidence_level": 0.8, + "prefit": False, + "test_size": 0.3, + "fit_params": {"sample_weight": sample_weight}, + "random_state": RANDOM_STATE, + }, + }, + { + "v0": { + "estimator": lgbm_models, + "alpha": lgbm_alpha, + "cv": "prefit", + "method": "quantile", + "calib_size": 0.3, + "sample_weight": sample_weight, + "optimize_beta": True, + "random_state": RANDOM_STATE, + }, + "v1": { + "estimator": lgbm_models, + "confidence_level": 1-lgbm_alpha, + "prefit": True, + "test_size": 0.3, + "fit_params": {"sample_weight": sample_weight}, + "minimize_interval_width": True, + "random_state": RANDOM_STATE, + }, + }, + { + "v0": { + "estimator": split_model, + "alpha": 0.5, + "cv": "split", + "method": "quantile", + "calib_size": 0.3, + "allow_infinite_bounds": True, + "random_state": RANDOM_STATE, + }, + "v1": { + "estimator": split_model, + "confidence_level": 0.5, + "prefit": False, + "test_size": 0.3, + "allow_infinite_bounds": True, + "random_state": RANDOM_STATE, + }, + }, + { + "v0": { + "alpha": 0.1, + "cv": "split", + "method": "quantile", + "calib_size": 0.3, + "random_state": RANDOM_STATE, + "symmetry": False + }, + "v1": { + "confidence_level": 0.9, + "prefit": False, + "test_size": 0.3, + "random_state": RANDOM_STATE, + "symmetric_intervals": False, + }, + }, +] - v1: Union[SplitConformalRegressor, - CrossConformalRegressor, - JackknifeAfterBootstrapRegressor] + +@pytest.mark.parametrize("params_quantile", params_test_cases_quantile) +def test_intervals_and_predictions_exact_equality_quantile(params_quantile): + v0_params = params_quantile["v0"] + v1_params = params_quantile["v1"] + + test_size = v1_params["test_size"] if "test_size" in v1_params else None + prefit = ("prefit" in v1_params) and v1_params["prefit"] + + v0, v1 = select_models_by_strategy("quantile") + compare_model_predictions_and_intervals(model_v0=v0, + model_v1=v1, + X=X, + y=y, + v0_params=v0_params, + v1_params=v1_params, + test_size=test_size, + prefit=prefit, + random_state=RANDOM_STATE) + + +def select_models_by_strategy( + strategy_key: str +) -> Tuple[ + Type[Union[MapieRegressorV0, MapieQuantileRegressorV0]], + Type[Union[ + SplitConformalRegressor, + CrossConformalRegressor, + JackknifeAfterBootstrapRegressor, + ConformalizedQuantileRegressor + ]] +]: + + model_v0: Type[Union[MapieRegressorV0, MapieQuantileRegressorV0]] + model_v1: Type[Union[ + SplitConformalRegressor, + CrossConformalRegressor, + JackknifeAfterBootstrapRegressor, + ConformalizedQuantileRegressor + ]] if strategy_key in ["split", "prefit"]: - v1_params = filter_params(SplitConformalRegressor.__init__, v1_params) - v1 = SplitConformalRegressor(**v1_params) + model_v1 = SplitConformalRegressor + model_v0 = MapieRegressorV0 elif strategy_key == "cross": - v1_params = filter_params(CrossConformalRegressor.__init__, v1_params) - v1 = CrossConformalRegressor(**v1_params) + model_v1 = CrossConformalRegressor + model_v0 = MapieRegressorV0 elif strategy_key == "jackknife": - v1_params = filter_params( - JackknifeAfterBootstrapRegressor.__init__, - v1_params - ) - v1 = JackknifeAfterBootstrapRegressor(**v1_params) + model_v1 = JackknifeAfterBootstrapRegressor + model_v0 = MapieRegressorV0 + + elif strategy_key == "quantile": + model_v1 = ConformalizedQuantileRegressor + model_v0 = MapieQuantileRegressorV0 else: raise ValueError(f"Unknown strategy key: {strategy_key}") - v0_params = filter_params(MapieRegressorV0.__init__, v0_params) - v0 = MapieRegressorV0(**v0_params) - - return v0, v1 + return model_v0, model_v1 def compare_model_predictions_and_intervals( - v0: MapieRegressorV0, - v1: Union[SplitConformalRegressor, - CrossConformalRegressor, - JackknifeAfterBootstrapRegressor], + model_v0: Type[MapieRegressorV0], + model_v1: Type[Union[ + SplitConformalRegressor, + CrossConformalRegressor, + JackknifeAfterBootstrapRegressor, + ConformalizedQuantileRegressor + ]], X: ArrayLike, y: ArrayLike, v0_params: Dict = {}, @@ -332,16 +456,28 @@ def compare_model_predictions_and_intervals( else: X_train, X_conf, y_train, y_conf = X, X, y, y + if prefit: + estimator = v0_params["estimator"] + if isinstance(estimator, list): + for single_estimator in estimator: + single_estimator.fit(X_train, y_train) + else: + estimator.fit(X_train, y_train) + + v0_params["estimator"] = estimator + v1_params["estimator"] = estimator + + v0_init_params = filter_params(model_v0.__init__, v0_params) + v1_init_params = filter_params(model_v1.__init__, v1_params) + + v0 = model_v0(**v0_init_params) + v1 = model_v1(**v1_init_params) + v0_fit_params = filter_params(v0.fit, v0_params) v1_fit_params = filter_params(v1.fit, v1_params) v1_conformalize_params = filter_params(v1.conformalize, v1_params) if prefit: - estimator = v0.estimator - estimator.fit(X_train, y_train) - v0.estimator = estimator - v1._mapie_regressor.estimator = estimator - v0.fit(X_conf, y_conf, **v0_fit_params) else: v0.fit(X, y, **v0_fit_params) From 70ee2d189d62a6512ad8913fb7cd475c2d0cfb6b Mon Sep 17 00:00:00 2001 From: jawadhussein462 Date: Tue, 17 Dec 2024 12:51:35 +0100 Subject: [PATCH 24/24] FIX: fix warnings test cqr --- .../tests/test_regression.py | 149 ++++++++---------- 1 file changed, 62 insertions(+), 87 deletions(-) diff --git a/mapie_v1/integration_tests/tests/test_regression.py b/mapie_v1/integration_tests/tests/test_regression.py index e97fd94d8..966414024 100644 --- a/mapie_v1/integration_tests/tests/test_regression.py +++ b/mapie_v1/integration_tests/tests/test_regression.py @@ -1,5 +1,5 @@ from __future__ import annotations -from typing import Optional, Union, Dict, Tuple, Type +from typing import Optional, Union, Dict, Type import numpy as np import pytest @@ -9,7 +9,7 @@ from sklearn.linear_model import LinearRegression from sklearn.ensemble import RandomForestRegressor from sklearn.linear_model import QuantileRegressor -from lightgbm import LGBMRegressor +from sklearn.ensemble import GradientBoostingRegressor from mapie.subsample import Subsample from mapie._typing import ArrayLike @@ -109,16 +109,17 @@ def test_intervals_and_predictions_exact_equality_split( "random_state": RANDOM_STATE, } - v0, v1 = select_models_by_strategy(cv) - compare_model_predictions_and_intervals(model_v0=v0, - model_v1=v1, - X=X_split, - y=y_split, - v0_params=v0_params, - v1_params=v1_params, - test_size=test_size, - random_state=RANDOM_STATE, - prefit=prefit) + compare_model_predictions_and_intervals( + model_v0=MapieRegressorV0, + model_v1=SplitConformalRegressor, + X=X_split, + y=y_split, + v0_params=v0_params, + v1_params=v1_params, + test_size=test_size, + prefit=prefit, + random_state=RANDOM_STATE, + ) params_test_cases_cross = [ @@ -185,11 +186,16 @@ def test_intervals_and_predictions_exact_equality_split( @pytest.mark.parametrize("params_cross", params_test_cases_cross) def test_intervals_and_predictions_exact_equality_cross(params_cross): - v0_params = params_cross["v0"] - v1_params = params_cross["v1"] - v0, v1 = select_models_by_strategy("cross") - compare_model_predictions_and_intervals(v0, v1, X, y, v0_params, v1_params) + compare_model_predictions_and_intervals( + model_v0=MapieRegressorV0, + model_v1=CrossConformalRegressor, + X=X, + y=y, + v0_params=params_cross["v0"], + v1_params=params_cross["v1"], + random_state=RANDOM_STATE, + ) params_test_cases_jackknife = [ @@ -268,28 +274,37 @@ def test_intervals_and_predictions_exact_equality_cross(params_cross): ] +@pytest.mark.parametrize("params_jackknife", params_test_cases_jackknife) +def test_intervals_and_predictions_exact_equality_jackknife(params_jackknife): + + compare_model_predictions_and_intervals( + model_v0=MapieRegressorV0, + model_v1=JackknifeAfterBootstrapRegressor, + X=X, + y=y, + v0_params=params_jackknife["v0"], + v1_params=params_jackknife["v1"], + random_state=RANDOM_STATE, + ) + + split_model = QuantileRegressor( solver="highs-ds", alpha=0.0, ) -lgbm_models = [] -lgbm_alpha = 0.1 -for alpha_ in [lgbm_alpha / 2, (1 - (lgbm_alpha / 2)), 0.5]: - estimator_ = LGBMRegressor( - objective='quantile', +gbr_models = [] +gbr_alpha = 0.1 + +for alpha_ in [gbr_alpha / 2, (1 - (gbr_alpha / 2)), 0.5]: + estimator_ = GradientBoostingRegressor( + loss='quantile', alpha=alpha_, + n_estimators=100, + learning_rate=0.1, + max_depth=3 ) - lgbm_models.append(estimator_) - - -@pytest.mark.parametrize("params_jackknife", params_test_cases_jackknife) -def test_intervals_and_predictions_exact_equality_jackknife(params_jackknife): - v0_params = params_jackknife["v0"] - v1_params = params_jackknife["v1"] - - v0, v1 = select_models_by_strategy("jackknife") - compare_model_predictions_and_intervals(v0, v1, X, y, v0_params, v1_params) + gbr_models.append(estimator_) params_test_cases_quantile = [ @@ -312,8 +327,7 @@ def test_intervals_and_predictions_exact_equality_jackknife(params_jackknife): }, { "v0": { - "estimator": lgbm_models, - "alpha": lgbm_alpha, + "estimator": gbr_models, "cv": "prefit", "method": "quantile", "calib_size": 0.3, @@ -322,8 +336,7 @@ def test_intervals_and_predictions_exact_equality_jackknife(params_jackknife): "random_state": RANDOM_STATE, }, "v1": { - "estimator": lgbm_models, - "confidence_level": 1-lgbm_alpha, + "estimator": gbr_models, "prefit": True, "test_size": 0.3, "fit_params": {"sample_weight": sample_weight}, @@ -378,58 +391,17 @@ def test_intervals_and_predictions_exact_equality_quantile(params_quantile): test_size = v1_params["test_size"] if "test_size" in v1_params else None prefit = ("prefit" in v1_params) and v1_params["prefit"] - v0, v1 = select_models_by_strategy("quantile") - compare_model_predictions_and_intervals(model_v0=v0, - model_v1=v1, - X=X, - y=y, - v0_params=v0_params, - v1_params=v1_params, - test_size=test_size, - prefit=prefit, - random_state=RANDOM_STATE) - - -def select_models_by_strategy( - strategy_key: str -) -> Tuple[ - Type[Union[MapieRegressorV0, MapieQuantileRegressorV0]], - Type[Union[ - SplitConformalRegressor, - CrossConformalRegressor, - JackknifeAfterBootstrapRegressor, - ConformalizedQuantileRegressor - ]] -]: - - model_v0: Type[Union[MapieRegressorV0, MapieQuantileRegressorV0]] - model_v1: Type[Union[ - SplitConformalRegressor, - CrossConformalRegressor, - JackknifeAfterBootstrapRegressor, - ConformalizedQuantileRegressor - ]] - - if strategy_key in ["split", "prefit"]: - model_v1 = SplitConformalRegressor - model_v0 = MapieRegressorV0 - - elif strategy_key == "cross": - model_v1 = CrossConformalRegressor - model_v0 = MapieRegressorV0 - - elif strategy_key == "jackknife": - model_v1 = JackknifeAfterBootstrapRegressor - model_v0 = MapieRegressorV0 - - elif strategy_key == "quantile": - model_v1 = ConformalizedQuantileRegressor - model_v0 = MapieQuantileRegressorV0 - - else: - raise ValueError(f"Unknown strategy key: {strategy_key}") - - return model_v0, model_v1 + compare_model_predictions_and_intervals( + model_v0=MapieQuantileRegressorV0, + model_v1=ConformalizedQuantileRegressor, + X=X, + y=y, + v0_params=v0_params, + v1_params=v1_params, + test_size=test_size, + prefit=prefit, + random_state=RANDOM_STATE, + ) def compare_model_predictions_and_intervals( @@ -486,6 +458,9 @@ def compare_model_predictions_and_intervals( v1.conformalize(X_conf, y_conf, **v1_conformalize_params) v0_predict_params = filter_params(v0.predict, v0_params) + if 'alpha' in v0_init_params: + v0_predict_params.pop('alpha') + v1_predict_params = filter_params(v1.predict, v1_params) v1_predict_set_params = filter_params(v1.predict_set, v1_params)