From 6eca62b421516cc6eee7f6dd8a1081367d437cc9 Mon Sep 17 00:00:00 2001 From: Adam Narozniak <51029327+adam-narozniak@users.noreply.github.com> Date: Thu, 23 Nov 2023 13:26:46 +0100 Subject: [PATCH 01/33] Add information how to see the features of the dataset (#2627) Co-authored-by: Javier --- datasets/doc/source/how-to-use-with-numpy.rst | 18 ++++++- .../doc/source/how-to-use-with-tensorflow.rst | 48 ++++++++++--------- datasets/doc/source/tutorial-quickstart.rst | 33 ++++++++++--- 3 files changed, 68 insertions(+), 31 deletions(-) diff --git a/datasets/doc/source/how-to-use-with-numpy.rst b/datasets/doc/source/how-to-use-with-numpy.rst index c3fbf85969e3..db80b712a13e 100644 --- a/datasets/doc/source/how-to-use-with-numpy.rst +++ b/datasets/doc/source/how-to-use-with-numpy.rst @@ -3,7 +3,7 @@ Use with NumPy Let's integrate ``flwr-datasets`` with NumPy. -Prepare the desired partitioning:: +Create a ``FederatedDataset``:: from flwr_datasets import FederatedDataset @@ -11,6 +11,22 @@ Prepare the desired partitioning:: partition = fds.load_partition(0, "train") centralized_dataset = fds.load_full("test") +Inspect the names of the features:: + + partition.features + +In case of CIFAR10, you should see the following output. + +.. code-block:: none + + {'img': Image(decode=True, id=None), + 'label': ClassLabel(names=['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', + 'frog', 'horse', 'ship', 'truck'], id=None)} + +We will use the keys in the partition features in order to apply transformations to the data or pass it to a ML model. Let's move to the transformations. + +NumPy +----- Transform to NumPy:: partition_np = partition.with_format("numpy") diff --git a/datasets/doc/source/how-to-use-with-tensorflow.rst b/datasets/doc/source/how-to-use-with-tensorflow.rst index 86a1f4e0da8a..a63145d9dffa 100644 --- a/datasets/doc/source/how-to-use-with-tensorflow.rst +++ b/datasets/doc/source/how-to-use-with-tensorflow.rst @@ -1,10 +1,32 @@ Use with TensorFlow =================== -Let's integrate ``flwr-datasets`` with TensorFlow. We show you three ways how to convert the data into the formats +Let's integrate ``flwr-datasets`` with ``TensorFlow``. We show you three ways how to convert the data into the formats that ``TensorFlow``'s models expect. Please note that, especially for the smaller datasets, the performance of the following methods is very close. We recommend you choose the method you are the most comfortable with. +Create a ``FederatedDataset``:: + + from flwr_datasets import FederatedDataset + + fds = FederatedDataset(dataset="cifar10", partitioners={"train": 10}) + partition = fds.load_partition(0, "train") + centralized_dataset = fds.load_full("test") + +Inspect the names of the features:: + + partition.features + +In case of CIFAR10, you should see the following output. + +.. code-block:: none + + {'img': Image(decode=True, id=None), + 'label': ClassLabel(names=['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', + 'frog', 'horse', 'ship', 'truck'], id=None)} + +We will use the keys in the partition features in order to construct a `tf.data.Dataset _`. Let's move to the transformations. + NumPy ----- The first way is to transform the data into the NumPy arrays. It's an easier option that is commonly used. Feel free to @@ -14,17 +36,7 @@ follow the :doc:`how-to-use-with-numpy` tutorial, especially if you are a beginn TensorFlow Dataset ------------------ -Work with ``TensorFlow Dataset`` abstraction. - -Standard setup:: - - from flwr_datasets import FederatedDataset - - fds = FederatedDataset(dataset="cifar10", partitioners={"train": 10}) - partition = fds.load_partition(0, "train") - centralized_dataset = fds.load_full("test") - -Transformation to the TensorFlow Dataset:: +Transform the data to ``TensorFlow Dataset``:: tf_dataset = partition.to_tf_dataset(columns="img", label_cols="label", batch_size=64, shuffle=True) @@ -33,17 +45,7 @@ Transformation to the TensorFlow Dataset:: TensorFlow Tensors ------------------ -Change the data type to TensorFlow Tensors (it's not the TensorFlow dataset). - -Standard setup:: - - from flwr_datasets import FederatedDataset - - fds = FederatedDataset(dataset="cifar10", partitioners={"train": 10}) - partition = fds.load_partition(0, "train") - centralized_dataset = fds.load_full("test") - -Transformation to the TensorFlow Tensors :: +Transform the data to the TensorFlow `tf.Tensor `_ (it's not the TensorFlow dataset):: data_tf = partition.with_format("tf") # Assuming you have defined your model and compiled it diff --git a/datasets/doc/source/tutorial-quickstart.rst b/datasets/doc/source/tutorial-quickstart.rst index b4578fae0de9..b93a08f234f2 100644 --- a/datasets/doc/source/tutorial-quickstart.rst +++ b/datasets/doc/source/tutorial-quickstart.rst @@ -5,11 +5,11 @@ Run Flower Datasets as fast as possible by learning only the essentials. Install Federated Datasets -------------------------- -Run on the command line +On the command line, run .. code-block:: bash - python -m pip install flwr-datasets[vision] + python -m pip install "flwr-datasets[vision]" Install the ML framework ------------------------ @@ -28,12 +28,11 @@ PyTorch Choose the dataset ------------------ Choose the dataset by going to Hugging Face `Datasets Hub `_ and searching for your -dataset by name. Note that the name is case sensitive, so make sure to pass the correct name as the `dataset` parameter -to `FederatedDataset`. +dataset by name that you will pass to the `dataset` parameter of `FederatedDataset`. Note that the name is case sensitive. Partition the dataset --------------------- -:: +To iid partition your dataset, choose the split you want to partition and the number of partitions:: from flwr_datasets import FederatedDataset @@ -42,12 +41,32 @@ Partition the dataset centralized_dataset = fds.load_full("test") Now you're ready to go. You have ten partitions created from the train split of the MNIST dataset and the test split -for the centralized evaluation. We will convert the type of the dataset from Hugging Face's Dataset type to the one +for the centralized evaluation. We will convert the type of the dataset from Hugging Face's `Dataset` type to the one supported by your framework. +Display the features +-------------------- +Determine the names of the features of your dataset (you can alternatively do that directly on the Hugging Face +website). The names can vary along different datasets e.g. "img" or "image", "label" or "labels". You will also see +the names of label categories. Type:: + + partition.features + +In case of CIFAR10, you should see the following output. + +.. code-block:: none + + {'img': Image(decode=True, id=None), + 'label': ClassLabel(names=['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', + 'frog', 'horse', 'ship', 'truck'], id=None)} + +Note that the image is denoted by "img" which is crucial for the next steps (conversion you the ML +framework of your choice). + Conversion ---------- -For more detailed instructions, go to :doc:`how-to-use-with-pytorch`. +For more detailed instructions, go to :doc:`how-to-use-with-pytorch`, :doc:`how-to-use-with-numpy`, or +:doc:`how-to-use-with-tensorflow`. PyTorch DataLoader ^^^^^^^^^^^^^^^^^^ From ee35b91d19dd3abf98f8cd08279ae33983156792 Mon Sep 17 00:00:00 2001 From: Adam Narozniak <51029327+adam-narozniak@users.noreply.github.com> Date: Thu, 23 Nov 2023 15:35:51 +0100 Subject: [PATCH 02/33] Migrate PyTorch quickstart to Flower Datasets (#2314) Co-authored-by: jafermarq --- examples/quickstart-pytorch/README.md | 11 +++-- examples/quickstart-pytorch/client.py | 48 +++++++++++++++----- examples/quickstart-pytorch/pyproject.toml | 5 +- examples/quickstart-pytorch/requirements.txt | 5 +- examples/quickstart-pytorch/run.sh | 7 +-- 5 files changed, 51 insertions(+), 25 deletions(-) diff --git a/examples/quickstart-pytorch/README.md b/examples/quickstart-pytorch/README.md index f748894f4971..6de0dcf7ab32 100644 --- a/examples/quickstart-pytorch/README.md +++ b/examples/quickstart-pytorch/README.md @@ -1,7 +1,6 @@ # Flower Example using PyTorch -This introductory example to Flower uses PyTorch, but deep knowledge of PyTorch is not necessarily required to run the example. However, it will help you understand how to adapt Flower to your use case. -Running this example in itself is quite easy. +This introductory example to Flower uses PyTorch, but deep knowledge of PyTorch is not necessarily required to run the example. However, it will help you understand how to adapt Flower to your use case. Running this example in itself is quite easy. This example uses [Flower Datasets](https://flower.dev/docs/datasets/) to download, partition and preprocess the CIFAR-10 dataset. ## Project Setup @@ -56,18 +55,20 @@ Afterwards you are ready to start the Flower server as well as the clients. You python3 server.py ``` -Now you are ready to start the Flower clients which will participate in the learning. To do so simply open two more terminal windows and run the following commands. +Now you are ready to start the Flower clients which will participate in the learning. We need to specify the node id to +use different partitions of the data on different nodes. To do so simply open two more terminal windows and run the +following commands. Start client 1 in the first terminal: ```shell -python3 client.py +python3 client.py --node-id 0 ``` Start client 2 in the second terminal: ```shell -python3 client.py +python3 client.py --node-id 1 ``` You will see that PyTorch is starting a federated training. Look at the [code](https://github.com/adap/flower/tree/main/examples/quickstart-pytorch) for a detailed explanation. diff --git a/examples/quickstart-pytorch/client.py b/examples/quickstart-pytorch/client.py index 6db7c8a855a0..8ce19a45403d 100644 --- a/examples/quickstart-pytorch/client.py +++ b/examples/quickstart-pytorch/client.py @@ -1,12 +1,13 @@ +import argparse import warnings from collections import OrderedDict import flwr as fl +from flwr_datasets import FederatedDataset import torch import torch.nn as nn import torch.nn.functional as F from torch.utils.data import DataLoader -from torchvision.datasets import CIFAR10 from torchvision.transforms import Compose, Normalize, ToTensor from tqdm import tqdm @@ -45,7 +46,9 @@ def train(net, trainloader, epochs): criterion = torch.nn.CrossEntropyLoss() optimizer = torch.optim.SGD(net.parameters(), lr=0.001, momentum=0.9) for _ in range(epochs): - for images, labels in tqdm(trainloader): + for batch in tqdm(trainloader, "Training"): + images = batch["img"] + labels = batch["label"] optimizer.zero_grad() criterion(net(images.to(DEVICE)), labels.to(DEVICE)).backward() optimizer.step() @@ -56,30 +59,53 @@ def test(net, testloader): criterion = torch.nn.CrossEntropyLoss() correct, loss = 0, 0.0 with torch.no_grad(): - for images, labels in tqdm(testloader): + for batch in tqdm(testloader, "Testing"): + images = batch["img"] + labels = batch["label"] outputs = net(images.to(DEVICE)) - labels = labels.to(DEVICE) loss += criterion(outputs, labels).item() correct += (torch.max(outputs.data, 1)[1] == labels).sum().item() accuracy = correct / len(testloader.dataset) return loss, accuracy -def load_data(): - """Load CIFAR-10 (training and test set).""" - trf = Compose([ToTensor(), Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) - trainset = CIFAR10("./data", train=True, download=True, transform=trf) - testset = CIFAR10("./data", train=False, download=True, transform=trf) - return DataLoader(trainset, batch_size=32, shuffle=True), DataLoader(testset) +def load_data(node_id): + """Load partition CIFAR10 data.""" + fds = FederatedDataset(dataset="cifar10", partitioners={"train": 3}) + partition = fds.load_partition(node_id) + # Divide data on each node: 80% train, 20% test + partition_train_test = partition.train_test_split(test_size=0.2) + pytorch_transforms = Compose( + [ToTensor(), Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))] + ) + + def apply_transforms(batch): + """Apply transforms to the partition from FederatedDataset.""" + batch["img"] = [pytorch_transforms(img) for img in batch["img"]] + return batch + + partition_train_test = partition_train_test.with_transform(apply_transforms) + trainloader = DataLoader(partition_train_test["train"], batch_size=32, shuffle=True) + testloader = DataLoader(partition_train_test["test"], batch_size=32) + return trainloader, testloader # ############################################################################# # 2. Federation of the pipeline with Flower # ############################################################################# +# Get node id +parser = argparse.ArgumentParser(description="Flower") +parser.add_argument( + "--node-id", + choices=[0, 1, 2], + type=int, + help="Partition of the dataset divided into 3 iid partitions created artificially.") +node_id = parser.parse_args().node_id + # Load model and data (simple CNN, CIFAR-10) net = Net().to(DEVICE) -trainloader, testloader = load_data() +trainloader, testloader = load_data(node_id=node_id) # Define Flower client diff --git a/examples/quickstart-pytorch/pyproject.toml b/examples/quickstart-pytorch/pyproject.toml index affdfee26d47..ec6a3af8c5b4 100644 --- a/examples/quickstart-pytorch/pyproject.toml +++ b/examples/quickstart-pytorch/pyproject.toml @@ -11,6 +11,7 @@ authors = ["The Flower Authors "] [tool.poetry.dependencies] python = ">=3.8,<3.11" flwr = ">=1.0,<2.0" -torch = "1.13.1" -torchvision = "0.14.1" +flwr-datasets = { extras = ["vision"], version = ">=0.0.2,<1.0.0" } +torch = "2.1.1" +torchvision = "0.16.1" tqdm = "4.65.0" diff --git a/examples/quickstart-pytorch/requirements.txt b/examples/quickstart-pytorch/requirements.txt index 797ca6db6244..4e321e2cd0c2 100644 --- a/examples/quickstart-pytorch/requirements.txt +++ b/examples/quickstart-pytorch/requirements.txt @@ -1,4 +1,5 @@ flwr>=1.0, <2.0 -torch==1.13.1 -torchvision==0.14.1 +flwr-datasets[vision]>=0.0.2, <1.0.0 +torch==2.1.1 +torchvision==0.16.1 tqdm==4.65.0 diff --git a/examples/quickstart-pytorch/run.sh b/examples/quickstart-pytorch/run.sh index d2bf34f834b1..cdace99bb8df 100755 --- a/examples/quickstart-pytorch/run.sh +++ b/examples/quickstart-pytorch/run.sh @@ -2,16 +2,13 @@ set -e cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/ -# Download the CIFAR-10 dataset -python -c "from torchvision.datasets import CIFAR10; CIFAR10('./data', download=True)" - echo "Starting server" python server.py & sleep 3 # Sleep for 3s to give the server enough time to start -for i in `seq 0 1`; do +for i in $(seq 0 1); do echo "Starting client $i" - python client.py & + python client.py --node-id "$i" & done # Enable CTRL+C to stop all background processes From bd8c0e01d63578df9c079b0e5235f73b3fb6d97f Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 23 Nov 2023 19:03:50 +0100 Subject: [PATCH 03/33] Add files for chinese translation (#2631) --- .../zh_Hans/LC_MESSAGES/framework-docs.po | 13608 ++++++++++++++++ doc/locales/zh_Hans/LC_MESSAGES/sphinx.po | 37 + 2 files changed, 13645 insertions(+) create mode 100644 doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po create mode 100644 doc/locales/zh_Hans/LC_MESSAGES/sphinx.po diff --git a/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po b/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po new file mode 100644 index 000000000000..f077264b4aab --- /dev/null +++ b/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po @@ -0,0 +1,13608 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022 Flower Labs GmbH +# This file is distributed under the same license as the Flower package. +# FIRST AUTHOR , 2023. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Flower main\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-23 18:31+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_Hans\n" +"Language-Team: zh_Hans \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.13.1\n" + +#: ../../source/contributor-explanation-architecture.rst:2 +msgid "Flower Architecture" +msgstr "" + +#: ../../source/contributor-explanation-architecture.rst:5 +msgid "Edge Client Engine" +msgstr "" + +#: ../../source/contributor-explanation-architecture.rst:7 +msgid "" +"`Flower `_ core framework architecture with Edge " +"Client Engine" +msgstr "" + +#: ../../source/contributor-explanation-architecture.rst:13 +msgid "Virtual Client Engine" +msgstr "" + +#: ../../source/contributor-explanation-architecture.rst:15 +msgid "" +"`Flower `_ core framework architecture with Virtual " +"Client Engine" +msgstr "" + +#: ../../source/contributor-explanation-architecture.rst:21 +msgid "Virtual Client Engine and Edge Client Engine in the same workload" +msgstr "" + +#: ../../source/contributor-explanation-architecture.rst:23 +msgid "" +"`Flower `_ core framework architecture with both " +"Virtual Client Engine and Edge Client Engine" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:2 +msgid "Creating New Messages" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:4 +msgid "" +"This is a simple guide for creating a new type of message between the " +"server and clients in Flower." +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:6 +msgid "" +"Let's suppose we have the following example functions in " +":code:`server.py` and :code:`numpy_client.py`..." +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:8 +msgid "Server's side:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:17 +msgid "Client's side:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:26 +msgid "" +"Let's now see what we need to implement in order to get this simple " +"function between the server and client to work!" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:30 +msgid "Message Types for Protocol Buffers" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:32 +msgid "" +"The first thing we need to do is to define a message type for the RPC " +"system in :code:`transport.proto`. Note that we have to do it for both " +"the request and response messages. For more details on the syntax of " +"proto3, please see the `official documentation " +"`_." +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:35 +msgid "Within the :code:`ServerMessage` block:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:52 +msgid "Within the ClientMessage block:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:70 +msgid "" +"Make sure to also add a field of the newly created message type in " +":code:`oneof msg`." +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:72 +msgid "Once that is done, we will compile the file with:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:78 +msgid "If it compiles succesfully, you should see the following message:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:87 +msgid "Serialization and Deserialization Functions" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:89 +msgid "" +"Our next step is to add functions to serialize and deserialize Python " +"datatypes to or from our defined RPC message types. You should add these " +"functions in :code:`serde.py`." +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:91 +msgid "The four functions:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:112 +msgid "Sending the Message from the Server" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:114 +msgid "" +"Now write the request function in your Client Proxy class (e.g., " +":code:`grpc_client_proxy.py`) using the serde functions you just created:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:128 +msgid "Receiving the Message by the Client" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:130 +msgid "" +"Last step! Modify the code in :code:`message_handler.py` to check the " +"field of your message and call the :code:`example_response` function. " +"Remember to use the serde functions!" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:132 +msgid "Within the handle function:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:139 +msgid "And add a new function:" +msgstr "" + +#: ../../source/contributor-how-create-new-messages.rst:149 +msgid "Hopefully, when you run your program you will get the intended result!" +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:2 +msgid "Contribute translations" +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:4 +msgid "" +"Since `Flower 1.5 `_ we have introduced translations to " +"our doc pages, but, as you might have noticed, the translations are often" +" imperfect. If you speak languages other than English, you might be able " +"to help us in our effort to make Federated Learning accessible to as many" +" people as possible by contributing to those translations! This might " +"also be a great opportunity for those wanting to become open source " +"contributors with little prerequistes." +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:13 +msgid "" +"Our translation project is publicly available over on `Weblate " +"`_, this " +"where most of the work will happen." +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:18 +msgid "Contribute to existing languages" +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:23 +msgid "" +"The first thing you will need to do in order to contribute is to create a" +" free Weblate account on this `page " +"`_. More information about" +" profile settings can be found `here " +"`_." +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:29 +msgid "" +"Once you are signed in to Weblate, you can navigate to the `Flower " +"Framework project `_. Here, you should see the different existing languages" +" that can be found on the website." +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:34 +msgid "" +"Once you have selected the language you want to contribute to, you should" +" see a similar interface to this:" +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:39 +msgid "" +"The most straight forward option here is to click on the ``Translate`` " +"button on the top right (in the ``Translation status`` section). This " +"will automatically bring you to the translation interface for " +"untranslated strings." +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:43 +msgid "This is what the interface looks like:" +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:47 +msgid "" +"You input your translation in the textbox at the top and then, once you " +"are happy with it, you either press ``Save and continue`` (to save the " +"translation and go to the next untranslated string), ``Save and stay`` " +"(to save the translation and stay on the same page), ``Suggest`` (to add " +"your translation to suggestions for other users to view), or ``Skip`` (to" +" go to the next untranslated string without saving anything)." +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:54 +msgid "" +"In order to help with the translations, you can see on the bottom the " +"``Nearby strings``, the ``Comments`` (from other contributors), the " +"``Automatic suggestions`` (from machine translation engines), the " +"translations in ``Other languages``, and the ``History`` of translations " +"for this string." +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:59 +msgid "" +"On the right, under the ``String information`` section, you can also " +"click the link under ``Source string location`` in order to view the " +"source of the doc file containing the string." +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:63 +msgid "" +"For more information about translating using Weblate, you can check out " +"this `in-depth guide " +"`_." +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:67 +msgid "Add new languages" +msgstr "" + +#: ../../source/contributor-how-to-contribute-translations.rst:69 +msgid "" +"If you want to add a new language, you will first have to contact us, " +"either on `Slack `_, or by opening an " +"issue on our `GitHub repo `_." +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:2 +msgid "Develop in VSCode Dev Containers" +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:4 +msgid "" +"When working on the Flower framework we want to ensure that all " +"contributors use the same developer environment to format code or run " +"tests. For this purpose we are using the VSCode Remote Containers " +"extension. What is it? Read the following quote:" +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:7 +msgid "" +"The Visual Studio Code Remote - Containers extension lets you use a " +"Docker container as a fully-featured development environment. It allows " +"you to open any folder inside (or mounted into) a container and take " +"advantage of Visual Studio Code's full feature set. A " +":code:`devcontainer.json` file in your project tells VS Code how to " +"access (or create) a development container with a well-defined tool and " +"runtime stack. This container can be used to run an application or to " +"separate tools, libraries, or runtimes needed for working with a " +"codebase." +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:9 +msgid "" +"Workspace files are mounted from the local file system or copied or " +"cloned into the container. Extensions are installed and run inside the " +"container, where they have full access to the tools, platform, and file " +"system. This means that you can seamlessly switch your entire development" +" environment just by connecting to a different container." +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:11 +msgid "" +"Source: `Official VSCode documentation " +"`_" +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:15 +msgid "Getting started" +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:17 +msgid "" +"Configuring and setting up the :code:`Dockerfile` as well the " +"configuration for the devcontainer can be a bit more involved. The good " +"thing is you want have to do it. Usually it should be enough to install " +"Docker on your system and ensure its available on your command line. " +"Additionally, install the `VSCode Containers Extension `_." +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:19 +msgid "" +"Now you should be good to go. When starting VSCode, it will ask you to " +"run in the container environment and - if you confirm - automatically " +"build the container and use it. To manually instruct VSCode to use the " +"devcontainer, you can, after installing the extension, click the green " +"area in the bottom left corner of your VSCode window and select the " +"option *(Re)Open Folder in Container*." +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:21 +msgid "" +"In some cases your setup might be more involved. For those cases consult " +"the following sources:" +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:23 +msgid "" +"`Developing inside a Container " +"`_" +msgstr "" + +#: ../../source/contributor-how-to-develop-in-vscode-dev-containers.rst:24 +msgid "" +"`Remote development in Containers " +"`_" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:2 +msgid "Install development versions" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:5 +msgid "Install development versions of Flower" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:8 +msgid "Using Poetry (recommended)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:10 +msgid "" +"Install a ``flwr`` pre-release from PyPI: update the ``flwr`` dependency " +"in ``pyproject.toml`` and then reinstall (don't forget to delete " +"``poetry.lock`` (``rm poetry.lock``) before running ``poetry install``)." +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:12 +msgid "" +"``flwr = { version = \"1.0.0a0\", allow-prereleases = true }`` (without " +"extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:13 +msgid "" +"``flwr = { version = \"1.0.0a0\", allow-prereleases = true, extras = " +"[\"simulation\"] }`` (with extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:15 +msgid "" +"Install ``flwr`` from a local copy of the Flower source code via " +"``pyproject.toml``:" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:17 +msgid "``flwr = { path = \"../../\", develop = true }`` (without extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:18 +msgid "" +"``flwr = { path = \"../../\", develop = true, extras = [\"simulation\"] " +"}`` (with extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:20 +msgid "Install ``flwr`` from a local wheel file via ``pyproject.toml``:" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:22 +msgid "" +"``flwr = { path = \"../../dist/flwr-1.0.0-py3-none-any.whl\" }`` (without" +" extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:23 +msgid "" +"``flwr = { path = \"../../dist/flwr-1.0.0-py3-none-any.whl\", extras = " +"[\"simulation\"] }`` (with extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:25 +msgid "" +"Please refer to the Poetry documentation for further details: `Poetry " +"Dependency Specification `_" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:28 +msgid "Using pip (recommended on Colab)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:30 +msgid "Install a ``flwr`` pre-release from PyPI:" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:32 +msgid "``pip install -U --pre flwr`` (without extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:33 +msgid "``pip install -U --pre flwr[simulation]`` (with extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:35 +msgid "" +"Python packages can be installed from git repositories. Use one of the " +"following commands to install the Flower directly from GitHub." +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:37 +msgid "Install ``flwr`` from the default GitHub branch (``main``):" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:39 +msgid "" +"``pip install flwr@git+https://github.com/adap/flower.git`` (without " +"extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:40 +msgid "" +"``pip install flwr[simulation]@git+https://github.com/adap/flower.git`` " +"(with extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:42 +msgid "Install ``flwr`` from a specific GitHub branch (``branch-name``):" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:44 +msgid "" +"``pip install flwr@git+https://github.com/adap/flower.git@branch-name`` " +"(without extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:45 +msgid "" +"``pip install flwr[simulation]@git+https://github.com/adap/flower.git" +"@branch-name`` (with extras)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:49 +msgid "Open Jupyter Notebooks on Google Colab" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:51 +msgid "" +"Open the notebook ``doc/source/tutorial-get-started-with-flower-" +"pytorch.ipynb``:" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:53 +msgid "" +"https://colab.research.google.com/github/adap/flower/blob/main/doc/source" +"/tutorial-get-started-with-flower-pytorch.ipynb" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:55 +msgid "" +"Open a development version of the same notebook from branch `branch-name`" +" by changing ``main`` to ``branch-name`` (right after ``blob``):" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:57 +msgid "" +"https://colab.research.google.com/github/adap/flower/blob/branch-" +"name/doc/source/tutorial-get-started-with-flower-pytorch.ipynb" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:59 +msgid "Install a `whl` on Google Colab:" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:61 +msgid "" +"In the vertical icon grid on the left hand side, select ``Files`` > " +"``Upload to session storage``" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:62 +msgid "Upload the whl (e.g., ``flwr-1.6.0-py3-none-any.whl``)" +msgstr "" + +#: ../../source/contributor-how-to-install-development-versions.rst:63 +msgid "" +"Change ``!pip install -q 'flwr[simulation]' torch torchvision " +"matplotlib`` to ``!pip install -q 'flwr-1.6.0-py3-none-" +"any.whl[simulation]' torch torchvision matplotlib``" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:2 +msgid "Release Flower" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:4 +msgid "" +"This document describes the current release process. It may or may not " +"change in the future." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:7 +msgid "Before the release" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:9 +msgid "" +"Update the changelog (``changelog.md``) with all relevant changes that " +"happened after the last release. If the last release was tagged " +"``v1.2.0``, you can use the following URL to see all commits that got " +"merged into ``main`` since then:" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:11 +msgid "" +"`GitHub: Compare v1.2.0...main " +"`_" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:13 +msgid "" +"Thank the authors who contributed since the last release. This can be " +"done by running the ``./dev/add-shortlog.sh`` convenience script (it can " +"be ran multiple times and will update the names in the list if new " +"contributors were added in the meantime)." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:16 +msgid "During the release" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:18 +msgid "" +"The version number of a release is stated in ``pyproject.toml``. To " +"release a new version of Flower, the following things need to happen (in " +"that order):" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:20 +msgid "" +"Update the ``changelog.md`` section header ``Unreleased`` to contain the " +"version number and date for the release you are building. Create a pull " +"request with the change." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:21 +msgid "" +"Tag the release commit with the version number as soon as the PR is " +"merged: ``git tag v0.12.3``, then ``git push --tags``. This will create a" +" draft release on GitHub containing the correct artifacts and the " +"relevant part of the changelog." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:22 +msgid "Check the draft release on GitHub, and if everything is good, publish it." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:25 +msgid "After the release" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:27 +msgid "Create a pull request which contains the following changes:" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:29 +msgid "Increase the minor version in ``pyproject.toml`` by one." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:30 +msgid "Update all files which contain the current version number if necessary." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:31 +msgid "Add a new ``Unreleased`` section in ``changelog.md``." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:33 +msgid "" +"Merge the pull request on the same day (i.e., before a new nighly release" +" gets published to PyPI)." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:36 +msgid "Publishing a pre-release" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:39 +msgid "Pre-release naming" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:41 +msgid "" +"PyPI supports pre-releases (alpha, beta, release candiate). Pre-releases " +"MUST use one of the following naming patterns:" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:43 +msgid "Alpha: ``MAJOR.MINOR.PATCHaN``" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:44 +msgid "Beta: ``MAJOR.MINOR.PATCHbN``" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:45 +msgid "Release candiate (RC): ``MAJOR.MINOR.PATCHrcN``" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:47 +msgid "Examples include:" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:49 +msgid "``1.0.0a0``" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:50 +msgid "``1.0.0b0``" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:51 +msgid "``1.0.0rc0``" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:52 +msgid "``1.0.0rc1``" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:54 +msgid "" +"This is in line with PEP-440 and the recommendations from the Python " +"Packaging Authority (PyPA):" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:57 +msgid "`PEP-440 `_" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:58 +msgid "" +"`PyPA Choosing a versioning scheme " +"`_" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:60 +msgid "" +"Note that the approach defined by PyPA is not compatible with SemVer " +"2.0.0 spec, for details consult the `Semantic Versioning Specification " +"`_ (specifically item " +"11 on precedence)." +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:63 +msgid "Pre-release classification" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:65 +msgid "Should the next pre-release be called alpha, beta, or release candidate?" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:67 +msgid "" +"RC: feature complete, no known issues (apart from issues that are " +"classified as \"won't fix\" for the next stable release) - if no issues " +"surface this will become the next stable release" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:68 +msgid "Beta: feature complete, allowed to have known issues" +msgstr "" + +#: ../../source/contributor-how-to-release-flower.rst:69 +msgid "Alpha: not feature complete, allowed to have known issues" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:2 +msgid "Set up a virtual env" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:4 +msgid "" +"It is recommended to run your Python setup within a virtual environment. " +"This guide shows three different examples how to create a virtual " +"environment with pyenv virtualenv, poetry, or Anaconda. You can follow " +"the instructions or choose your preferred setup." +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:9 +msgid "Python Version" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:11 +#: ../../source/how-to-install-flower.rst:8 +msgid "" +"Flower requires at least `Python 3.8 `_, " +"but `Python 3.10 `_ or above is " +"recommended." +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:14 +msgid "Virutualenv with Pyenv/Virtualenv" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:16 +msgid "" +"One of the recommended virtual environment is `pyenv " +"`_/`virtualenv `_. Please see `Flower examples " +"`_ for details." +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:18 +msgid "" +"Once Pyenv is set up, you can use it to install `Python Version 3.10 " +"`_ or above:" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:24 +msgid "Create the virtualenv with:" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:31 +msgid "Activate the virtualenv by running the following command:" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:39 +msgid "Virtualenv with Poetry" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:41 +msgid "" +"The Flower examples are based on `Poetry `_ to manage dependencies. After installing Poetry you " +"simply create a virtual environment with:" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:47 +msgid "" +"If you open a new terminal you can activate the previously created " +"virtual environment with the following command:" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:55 +msgid "Virtualenv with Anaconda" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:57 +msgid "" +"If you prefer to use Anaconda for your virtual environment then install " +"and setup the `conda `_ package. After setting it up you can " +"create a virtual environment with:" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:63 +msgid "and activate the virtual environment with:" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:71 +msgid "And then?" +msgstr "" + +#: ../../source/contributor-how-to-set-up-a-virtual-env.rst:73 +msgid "" +"As soon as you created your virtual environment you clone one of the " +"`Flower examples `_." +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:2 +msgid "Write documentation" +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:6 +msgid "Project layout" +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:8 +msgid "" +"The Flower documentation lives in the ``doc`` directory. The Sphinx-based" +" documentation system supports both reStructuredText (``.rst`` files) and" +" Markdown (``.md`` files)." +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:10 +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:119 +msgid "" +"Note that, in order to build the documentation locally (with ``poetry run" +" make html``, like described below), `Pandoc " +"_` needs to be installed on the " +"system." +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:14 +msgid "Edit an existing page" +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:16 +msgid "Edit an existing ``.rst`` (or ``.md``) file under ``doc/source/``" +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:17 +#: ../../source/contributor-how-to-write-documentation.rst:27 +msgid "Compile the docs: ``cd doc``, then ``poetry run make html``" +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:18 +#: ../../source/contributor-how-to-write-documentation.rst:28 +msgid "Open ``doc/build/html/index.html`` in the browser to check the result" +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:22 +msgid "Create a new page" +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:24 +msgid "Add new ``.rst`` file under ``doc/source/``" +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:25 +msgid "Add content to the new ``.rst`` file" +msgstr "" + +#: ../../source/contributor-how-to-write-documentation.rst:26 +msgid "Link to the new rst from ``index.rst``" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:2 +msgid "Good first contributions" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:4 +msgid "" +"We welcome contributions to Flower! However, it is not always easy to " +"know where to start. We therefore put together a few recommendations on " +"where to start to increase your chances of getting your PR accepted into " +"the Flower codebase." +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:11 +msgid "Where to start" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:13 +msgid "" +"Until the Flower core library matures it will be easier to get PR's " +"accepted if they only touch non-core areas of the codebase. Good " +"candidates to get started are:" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:17 +msgid "Documentation: What's missing? What could be expressed more clearly?" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:18 +msgid "Baselines: See below." +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:19 +msgid "Examples: See below." +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:23 +msgid "Request for Flower Baselines" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:25 +msgid "" +"If you are not familiar with Flower Baselines, you should probably check-" +"out our `contributing guide for baselines `_." +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:27 +msgid "" +"You should then check out the open `issues " +"`_" +" for baseline requests. If you find a baseline that you'd like to work on" +" and that has no assignes, feel free to assign it to yourself and start " +"working on it!" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:31 +msgid "" +"Otherwise, if you don't find a baseline you'd like to work on, be sure to" +" open a new issue with the baseline request template!" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:34 +msgid "Request for examples" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:36 +msgid "" +"We wish we had more time to write usage examples because we believe they " +"help users to get started with building what they want to build. Here are" +" a few ideas where we'd be happy to accept a PR:" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:40 +msgid "Llama 2 fine-tuning, with Hugging Face Transformers and PyTorch" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:41 +msgid "XGBoost" +msgstr "" + +#: ../../source/contributor-ref-good-first-contributions.rst:42 +msgid "Android ONNX on-device training" +msgstr "" + +#: ../../source/contributor-ref-secure-aggregation-protocols.rst:2 +msgid "Secure Aggregation Protocols" +msgstr "" + +#: ../../source/contributor-ref-secure-aggregation-protocols.rst:4 +msgid "" +"Include SecAgg, SecAgg+, and LightSecAgg protocol. The LightSecAgg " +"protocol has not been implemented yet, so its diagram and abstraction may" +" not be accurate in practice. The SecAgg protocol can be considered as a " +"special case of the SecAgg+ protocol." +msgstr "" + +#: ../../source/contributor-ref-secure-aggregation-protocols.rst:8 +msgid "The :code:`SecAgg+` abstraction" +msgstr "" + +#: ../../source/contributor-ref-secure-aggregation-protocols.rst:10 +#: ../../source/contributor-ref-secure-aggregation-protocols.rst:161 +msgid "" +"In this implementation, each client will be assigned with a unique index " +"(int) for secure aggregation, and thus many python dictionaries used have" +" keys of int type rather than ClientProxy type." +msgstr "" + +#: ../../source/contributor-ref-secure-aggregation-protocols.rst:65 +#: ../../source/contributor-ref-secure-aggregation-protocols.rst:198 +msgid "" +"The Flower server will execute and process received results in the " +"following order:" +msgstr "" + +#: ../../source/contributor-ref-secure-aggregation-protocols.rst:159 +msgid "The :code:`LightSecAgg` abstraction" +msgstr "" + +#: ../../source/contributor-ref-secure-aggregation-protocols.rst:271 +msgid "Types" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:2 +msgid "Contribute on GitHub" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:4 +msgid "" +"This guide is for people who want to get involved with Flower, but who " +"are not used to contributing to GitHub projects." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:6 +msgid "" +"If you're familiar with how contributing on GitHub works, you can " +"directly checkout our `getting started guide for contributors " +"`_ and " +"examples of `good first contributions `_." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:12 +msgid "Setting up the repository" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:23 +msgid "**Create a GitHub account and setup Git**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:15 +msgid "" +"Git is a distributed version control tool. This allows for an entire " +"codebase's history to be stored and every developer's machine. It is a " +"software that will need to be installed on your local machine, you can " +"follow this `guide `_ to set it up." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:18 +msgid "" +"GitHub, itself, is a code hosting platform for version control and " +"collaboration. It allows for everyone to collaborate and work from " +"anywhere on remote repositories." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:20 +msgid "" +"If you haven't already, you will need to create an account on `GitHub " +"`_." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:22 +msgid "" +"The idea behind the generic Git and GitHub workflow boils down to this: " +"you download code from a remote repository on GitHub, make changes " +"locally and keep track of them using Git and then you upload your new " +"history back to GitHub." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:34 +msgid "**Forking the Flower repository**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:26 +msgid "" +"A fork is a personal copy of a GitHub repository. To create one for " +"Flower, you must navigate to https://github.com/adap/flower (while " +"connected to your GitHub account) and click the ``Fork`` button situated " +"on the top right of the page." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:31 +msgid "" +"You can change the name if you want, but this is not necessary as this " +"version of Flower will be yours and will sit inside your own account " +"(i.e., in your own list of repositories). Once created, you should see on" +" the top left corner that you are looking at your own version of Flower." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:49 +msgid "**Cloning your forked repository**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:37 +msgid "" +"The next step is to download the forked repository on your machine to be " +"able to make changes to it. On your forked repository page, you should " +"first click on the ``Code`` button on the right, this will give you the " +"ability to copy the HTTPS link of the repository." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:43 +msgid "" +"Once you copied the \\, you can open a terminal on your machine, " +"navigate to the place you want to download the repository to and type:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:49 +msgid "" +"This will create a `flower/` (or the name of your fork if you renamed it)" +" folder in the current working directory." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:68 +msgid "**Add origin**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:52 +msgid "You can then go into the repository folder:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:58 +msgid "" +"And here we will need to add an origin to our repository. The origin is " +"the \\ of the remote fork repository. To obtain it, we can do as " +"previously mentioned by going to our fork repository on our GitHub " +"account and copying the link." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:63 +msgid "" +"Once the \\ is copied, we can type the following command in our " +"terminal:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:92 +msgid "**Add upstream**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:71 +msgid "" +"Now we will add an upstream address to our repository. Still in the same " +"directroy, we must run the following command:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:78 +msgid "The following diagram visually explains what we did in the previous steps:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:82 +msgid "" +"The upstream is the GitHub remote address of the parent repository (in " +"this case Flower), i.e. the one we eventually want to contribute to and " +"therefore need an up-to-date history of. The origin is just the GitHub " +"remote address of the forked repository we created, i.e. the copy (fork) " +"in our own account." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:86 +msgid "" +"To make sure our local version of the fork is up-to-date with the latest " +"changes from the Flower repository, we can execute the following command:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:95 +msgid "Setting up the coding environment" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:97 +msgid "" +"This can be achieved by following this `getting started guide for " +"contributors`_ (note that you won't need to clone the repository). Once " +"you are able to write code and test it, you can finally start making " +"changes!" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:102 +msgid "Making changes" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:104 +msgid "" +"Before making any changes make sure you are up-to-date with your " +"repository:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:110 +msgid "And with Flower's repository:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:124 +msgid "**Create a new branch**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:117 +msgid "" +"To make the history cleaner and easier to work with, it is good practice " +"to create a new branch for each feature/project that needs to be " +"implemented." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:120 +msgid "" +"To do so, just run the following command inside the repository's " +"directory:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:127 +msgid "**Make changes**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:127 +msgid "Write great code and create wonderful changes using your favorite editor!" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:140 +msgid "**Test and format your code**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:130 +msgid "" +"Don't forget to test and format your code! Otherwise your code won't be " +"able to be merged into the Flower repository. This is done so the " +"codebase stays consistent and easy to understand." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:133 +msgid "To do so, we have written a few scripts that you can execute:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:152 +msgid "**Stage changes**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:143 +msgid "" +"Before creating a commit that will update your history, you must specify " +"to Git which files it needs to take into account." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:145 +msgid "This can be done with:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:151 +msgid "" +"To check which files have been modified compared to the last version " +"(last commit) and to see which files are staged for commit, you can use " +"the :code:`git status` command." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:162 +msgid "**Commit changes**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:155 +msgid "" +"Once you have added all the files you wanted to commit using :code:`git " +"add`, you can finally create your commit using this command:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:161 +msgid "" +"The \\ is there to explain to others what the commit " +"does. It should be written in an imperative style and be concise. An " +"example would be :code:`git commit -m \"Add images to README\"`." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:173 +msgid "**Push the changes to the fork**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:165 +msgid "" +"Once we have committed our changes, we have effectively updated our local" +" history, but GitHub has no way of knowing this unless we push our " +"changes to our origin's remote address:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:172 +msgid "" +"Once this is done, you will see on the GitHub that your forked repo was " +"updated with the changes you have made." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:176 +msgid "Creating and merging a pull request (PR)" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:203 +msgid "**Create the PR**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:179 +msgid "" +"Once you have pushed changes, on the GitHub webpage of your repository " +"you should see the following message:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:183 +msgid "Otherwise you can always find this option in the `Branches` page." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:185 +msgid "" +"Once you click the `Compare & pull request` button, you should see " +"something similar to this:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:189 +msgid "At the top you have an explanation of which branch will be merged where:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:193 +msgid "" +"In this example you can see that the request is to merge the branch " +"``doc-fixes`` from my forked repository to branch ``main`` from the " +"Flower repository." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:195 +msgid "" +"The input box in the middle is there for you to describe what your PR " +"does and to link it to existing issues. We have placed comments (that " +"won't be rendered once the PR is opened) to guide you through the " +"process." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:198 +msgid "" +"At the bottom you will find the button to open the PR. This will notify " +"reviewers that a new PR has been opened and that they should look over it" +" to merge or to request changes." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:201 +msgid "" +"If your PR is not yet ready for review, and you don't want to notify " +"anyone, you have the option to create a draft pull request:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:206 +msgid "**Making new changes**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:206 +msgid "" +"Once the PR has been opened (as draft or not), you can still push new " +"commits to it the same way we did before, by making changes to the branch" +" associated with the PR." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:228 +msgid "**Review the PR**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:209 +msgid "" +"Once the PR has been opened or once the draft PR has been marked as " +"ready, a review from code owners will be automatically requested:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:213 +msgid "" +"Code owners will then look into the code, ask questions, request changes " +"or validate the PR." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:215 +msgid "Merging will be blocked if there are ongoing requested changes." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:219 +msgid "" +"To resolve them, just push the necessary changes to the branch associated" +" with the PR:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:223 +msgid "And resolve the conversation:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:227 +msgid "" +"Once all the conversations have been resolved, you can re-request a " +"review." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:248 +msgid "**Once the PR is merged**" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:231 +msgid "" +"If all the automatic tests have passed and reviewers have no more changes" +" to request, they can approve the PR and merge it." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:235 +msgid "" +"Once it is merged, you can delete the branch on GitHub (a button should " +"appear to do so) and also delete it locally by doing:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:242 +msgid "Then you should update your forked repository by doing:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:251 +msgid "Example of first contribution" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:254 +msgid "Problem" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:256 +msgid "" +"For our documentation, we’ve started to use the `Diàtaxis framework " +"`_." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:258 +msgid "" +"Our “How to” guides should have titles that continue the sencence “How to" +" …”, for example, “How to upgrade to Flower 1.0”." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:260 +msgid "" +"Most of our guides do not follow this new format yet, and changing their " +"title is (unfortunately) more involved than one might think." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:262 +msgid "" +"This issue is about changing the title of a doc from present continious " +"to present simple." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:264 +msgid "" +"Let's take the example of “Saving Progress” which we changed to “Save " +"Progress”. Does this pass our check?" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:266 +msgid "Before: ”How to saving progress” ❌" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:268 +msgid "After: ”How to save progress” ✅" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:271 +msgid "Solution" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:273 +msgid "" +"This is a tiny change, but it’ll allow us to test your end-to-end setup. " +"After cloning and setting up the Flower repo, here’s what you should do:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:275 +msgid "Find the source file in `doc/source`" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:276 +msgid "" +"Make the change in the `.rst` file (beware, the dashes under the title " +"should be the same length as the title itself)" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:277 +msgid "" +"Build the docs and check the result: ``_" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:280 +msgid "Rename file" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:282 +msgid "" +"You might have noticed that the file name still reflects the old wording." +" If we just change the file, then we break all existing links to it - it " +"is **very important** to avoid that, breaking links can harm our search " +"engine ranking." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:285 +msgid "Here’s how to change the file name:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:287 +msgid "Change the file name to `save-progress.rst`" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:288 +msgid "Add a redirect rule to `doc/source/conf.py`" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:290 +msgid "" +"This will cause a redirect from `saving-progress.html` to `save-" +"progress.html`, old links will continue to work." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:293 +msgid "Apply changes in the index file" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:295 +msgid "" +"For the lateral navigation bar to work properly, it is very important to " +"update the `index.rst` file as well. This is where we define the whole " +"arborescence of the navbar." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:298 +msgid "Find and modify the file name in `index.rst`" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:301 +msgid "Open PR" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:303 +msgid "" +"Commit the changes (commit messages are always imperative: “Do " +"something”, in this case “Change …”)" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:304 +msgid "Push the changes to your fork" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:305 +msgid "Open a PR (as shown above)" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:306 +msgid "Wait for it to be approved!" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:307 +msgid "Congrats! 🥳 You're now officially a Flower contributor!" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:311 +msgid "How to write a good PR title" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:313 +msgid "" +"A well-crafted PR title helps team members quickly understand the purpose" +" and scope of the changes being proposed. Here's a guide to help you " +"write a good GitHub PR title:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:315 +msgid "" +"1. Be Clear and Concise: Provide a clear summary of the changes in a " +"concise manner. 1. Use Actionable Verbs: Start with verbs like \"Add,\" " +"\"Update,\" or \"Fix\" to indicate the purpose. 1. Include Relevant " +"Information: Mention the affected feature or module for context. 1. Keep " +"it Short: Avoid lengthy titles for easy readability. 1. Use Proper " +"Capitalization and Punctuation: Follow grammar rules for clarity." +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:321 +msgid "" +"Let's start with a few examples for titles that should be avoided because" +" they do not provide meaningful information:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:323 +msgid "Implement Algorithm" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:324 +msgid "Database" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:325 +msgid "Add my_new_file.py to codebase" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:326 +msgid "Improve code in module" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:327 +msgid "Change SomeModule" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:329 +msgid "" +"Here are a few positive examples which provide helpful information " +"without repeating how they do it, as that is already visible in the " +"\"Files changed\" section of the PR:" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:331 +msgid "Update docs banner to mention Flower Summit 2023" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:332 +msgid "Remove unnecessary XGBoost dependency" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:333 +msgid "Remove redundant attributes in strategies subclassing FedAvg" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:334 +msgid "Add CI job to deploy the staging system when the `main` branch changes" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:335 +msgid "" +"Add new amazing library which will be used to improve the simulation " +"engine" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:339 +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:548 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:946 +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:747 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:713 +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:367 +msgid "Next steps" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:341 +msgid "" +"Once you have made your first PR, and want to contribute more, be sure to" +" check out the following :" +msgstr "" + +#: ../../source/contributor-tutorial-contribute-on-github.rst:343 +msgid "" +"`Good first contributions `_, where you should particularly look " +"into the :code:`baselines` contributions." +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:2 +msgid "Get started as a contributor" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:5 +msgid "Prerequisites" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:7 +msgid "`Python 3.7 `_ or above" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:8 +msgid "`Poetry 1.3 `_ or above" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:9 +msgid "(Optional) `pyenv `_" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:10 +msgid "(Optional) `pyenv-virtualenv `_" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:12 +msgid "" +"Flower uses :code:`pyproject.toml` to manage dependencies and configure " +"development tools (the ones which support it). Poetry is a build tool " +"which supports `PEP 517 `_." +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:18 +msgid "Developer Machine Setup" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:20 +msgid "" +"First, clone the `Flower repository `_ " +"from GitHub::" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:26 +msgid "" +"Second, create a virtual environment (and activate it). If you chose to " +"use :code:`pyenv` (with the :code:`pyenv-virtualenv` plugin) and already " +"have it installed , you can use the following convenience script (by " +"default it will use :code:`Python 3.8.17`, but you can change it by " +"providing a specific :code:``)::" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:33 +msgid "" +"If you don't have :code:`pyenv` installed, you can use the following " +"script that will install pyenv, set it up and create the virtual " +"environment (with :code:`Python 3.8.17` by default)::" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:39 +msgid "" +"Third, install the Flower package in development mode (think :code:`pip " +"install -e`) along with all necessary dependencies::" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:46 +msgid "Convenience Scripts" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:48 +msgid "" +"The Flower repository contains a number of convenience scripts to make " +"recurring development tasks easier and less error-prone. See the " +":code:`/dev` subdirectory for a full list. The following scripts are " +"amonst the most important ones:" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:54 +msgid "Create/Delete Virtual Environment" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:62 +msgid "Compile ProtoBuf Definitions" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:69 +msgid "Auto-Format Code" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:76 +msgid "Run Linters and Tests" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:83 +msgid "Run Github Actions (CI) locally" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:85 +msgid "" +"Developers could run the full set of Github Actions workflows under their" +" local environment by using `Act _`. " +"Please refer to the installation instructions under the linked repository" +" and run the next command under Flower main cloned repository folder::" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:92 +msgid "" +"The Flower default workflow would run by setting up the required Docker " +"machines underneath." +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:97 +msgid "Build Release" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:99 +msgid "" +"Flower uses Poetry to build releases. The necessary command is wrapped in" +" a simple script::" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:104 +msgid "" +"The resulting :code:`.whl` and :code:`.tar.gz` releases will be stored in" +" the :code:`/dist` subdirectory." +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:109 +msgid "Build Documentation" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:111 +msgid "" +"Flower's documentation uses `Sphinx `_. " +"There's no convenience script to re-build the documentation yet, but it's" +" pretty easy::" +msgstr "" + +#: ../../source/contributor-tutorial-get-started-as-a-contributor.rst:117 +msgid "This will generate HTML documentation in ``doc/build/html``." +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:2 +msgid "Example: FedBN in PyTorch - From Centralized To Federated" +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:4 +msgid "" +"This tutorial will show you how to use Flower to build a federated " +"version of an existing machine learning workload with `FedBN " +"`_, a federated training strategy " +"designed for non-iid data. We are using PyTorch to train a Convolutional " +"Neural Network(with Batch Normalization layers) on the CIFAR-10 dataset. " +"When applying FedBN, only few changes needed compared to `Example: " +"PyTorch - From Centralized To Federated `_." +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:9 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:10 +msgid "Centralized Training" +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:10 +msgid "" +"All files are revised based on `Example: PyTorch - From Centralized To " +"Federated `_. The only thing to do is modifying the file called " +":code:`cifar.py`, revised part is shown below:" +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:13 +msgid "" +"The model architecture defined in class Net() is added with Batch " +"Normalization layers accordingly." +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:41 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:157 +msgid "You can now run your machine learning workload:" +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:47 +msgid "" +"So far this should all look fairly familiar if you've used PyTorch " +"before. Let's take the next step and use what we've built to create a " +"federated learning system within FedBN, the sytstem consists of one " +"server and two clients." +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:51 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:167 +msgid "Federated Training" +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:53 +msgid "" +"If you have read `Example: PyTorch - From Centralized To Federated " +"`_, the following parts are easy to follow, onyl " +":code:`get_parameters` and :code:`set_parameters` function in " +":code:`client.py` needed to revise. If not, please read the `Example: " +"PyTorch - From Centralized To Federated `_. first." +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:56 +msgid "" +"Our example consists of one *server* and two *clients*. In FedBN, " +":code:`server.py` keeps unchanged, we can start the server directly." +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:62 +msgid "" +"Finally, we will revise our *client* logic by changing " +":code:`get_parameters` and :code:`set_parameters` in :code:`client.py`, " +"we will exclude batch normalization parameters from model parameter list " +"when sending to or receiving from the server." +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:85 +msgid "Now, you can now open two additional terminal windows and run" +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:91 +msgid "" +"in each window (make sure that the server is still running before you do " +"so) and see your (previously centralized) PyTorch project run federated " +"learning with FedBN strategy across two clients. Congratulations!" +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:94 +#: ../../source/example-jax-from-centralized-to-federated.rst:277 +#: ../../source/example-mxnet-walk-through.rst:356 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:310 +#: ../../source/tutorial-quickstart-jax.rst:283 +msgid "Next Steps" +msgstr "" + +#: ../../source/example-fedbn-pytorch-from-centralized-to-federated.rst:96 +msgid "" +"The full source code for this example can be found `here " +"`_. Our example is of course somewhat over-" +"simplified because both clients load the exact same dataset, which isn't " +"realistic. You're now prepared to explore this topic further. How about " +"using different subsets of CIFAR-10 on each client? How about adding more" +" clients?" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:2 +msgid "Example: JAX - Run JAX Federated" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:4 +#: ../../source/tutorial-quickstart-jax.rst:10 +msgid "" +"This tutorial will show you how to use Flower to build a federated " +"version of an existing JAX workload. We are using JAX to train a linear " +"regression model on a scikit-learn dataset. We will structure the example" +" similar to our `PyTorch - From Centralized To Federated " +"`_ walkthrough. First, we build a centralized " +"training approach based on the `Linear Regression with JAX " +"`_" +" tutorial`. Then, we build upon the centralized training code to run the " +"training in a federated fashion." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:10 +#: ../../source/tutorial-quickstart-jax.rst:16 +msgid "" +"Before we start building our JAX example, we need install the packages " +":code:`jax`, :code:`jaxlib`, :code:`scikit-learn`, and :code:`flwr`:" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:18 +#: ../../source/tutorial-quickstart-jax.rst:24 +msgid "Linear Regression with JAX" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:20 +#: ../../source/tutorial-quickstart-jax.rst:26 +msgid "" +"We begin with a brief description of the centralized training code based " +"on a :code:`Linear Regression` model. If you want a more in-depth " +"explanation of what's going on then have a look at the official `JAX " +"documentation `_." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:23 +#: ../../source/tutorial-quickstart-jax.rst:29 +msgid "" +"Let's create a new file called :code:`jax_training.py` with all the " +"components required for a traditional (centralized) linear regression " +"training. First, the JAX packages :code:`jax` and :code:`jaxlib` need to " +"be imported. In addition, we need to import :code:`sklearn` since we use " +":code:`make_regression` for the dataset and :code:`train_test_split` to " +"split the dataset into a training and test set. You can see that we do " +"not yet import the :code:`flwr` package for federated learning. This will" +" be done later." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:37 +#: ../../source/tutorial-quickstart-jax.rst:43 +msgid "" +"The :code:`load_data()` function loads the mentioned training and test " +"sets." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:47 +#: ../../source/tutorial-quickstart-jax.rst:53 +msgid "" +"The model architecture (a very simple :code:`Linear Regression` model) is" +" defined in :code:`load_model()`." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:59 +#: ../../source/tutorial-quickstart-jax.rst:65 +msgid "" +"We now need to define the training (function :code:`train()`), which " +"loops over the training set and measures the loss (function " +":code:`loss_fn()`) for each batch of training examples. The loss function" +" is separate since JAX takes derivatives with a :code:`grad()` function " +"(defined in the :code:`main()` function and called in :code:`train()`)." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:77 +#: ../../source/tutorial-quickstart-jax.rst:83 +msgid "" +"The evaluation of the model is defined in the function " +":code:`evaluation()`. The function takes all test examples and measures " +"the loss of the linear regression model." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:88 +#: ../../source/tutorial-quickstart-jax.rst:94 +msgid "" +"Having defined the data loading, model architecture, training, and " +"evaluation we can put everything together and train our model using JAX. " +"As already mentioned, the :code:`jax.grad()` function is defined in " +":code:`main()` and passed to :code:`train()`." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:105 +#: ../../source/tutorial-quickstart-jax.rst:111 +msgid "You can now run your (centralized) JAX linear regression workload:" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:111 +#: ../../source/tutorial-quickstart-jax.rst:117 +msgid "" +"So far this should all look fairly familiar if you've used JAX before. " +"Let's take the next step and use what we've built to create a simple " +"federated learning system consisting of one server and two clients." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:115 +#: ../../source/tutorial-quickstart-jax.rst:121 +msgid "JAX meets Flower" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:117 +#: ../../source/tutorial-quickstart-jax.rst:123 +msgid "" +"The concept of federating an existing workload is always the same and " +"easy to understand. We have to start a *server* and then use the code in " +":code:`jax_training.py` for the *clients* that are connected to the " +"*server*. The *server* sends model parameters to the clients. The " +"*clients* run the training and update the parameters. The updated " +"parameters are sent back to the *server*, which averages all received " +"parameter updates. This describes one round of the federated learning " +"process, and we repeat this for multiple rounds." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:123 +#: ../../source/example-mxnet-walk-through.rst:204 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:181 +#: ../../source/tutorial-quickstart-jax.rst:129 +msgid "" +"Our example consists of one *server* and two *clients*. Let's set up " +":code:`server.py` first. The *server* needs to import the Flower package " +":code:`flwr`. Next, we use the :code:`start_server` function to start a " +"server and tell it to perform three rounds of federated learning." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:133 +#: ../../source/example-mxnet-walk-through.rst:214 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:191 +#: ../../source/tutorial-quickstart-jax.rst:139 +msgid "We can already start the *server*:" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:139 +#: ../../source/tutorial-quickstart-jax.rst:145 +msgid "" +"Finally, we will define our *client* logic in :code:`client.py` and build" +" upon the previously defined JAX training in :code:`jax_training.py`. Our" +" *client* needs to import :code:`flwr`, but also :code:`jax` and " +":code:`jaxlib` to update the parameters on our JAX model:" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:154 +#: ../../source/tutorial-quickstart-jax.rst:160 +msgid "" +"Implementing a Flower *client* basically means implementing a subclass of" +" either :code:`flwr.client.Client` or :code:`flwr.client.NumPyClient`. " +"Our implementation will be based on :code:`flwr.client.NumPyClient` and " +"we'll call it :code:`FlowerClient`. :code:`NumPyClient` is slightly " +"easier to implement than :code:`Client` if you use a framework with good " +"NumPy interoperability (like JAX) because it avoids some of the " +"boilerplate that would otherwise be necessary. :code:`FlowerClient` needs" +" to implement four methods, two methods for getting/setting model " +"parameters, one method for training the model, and one method for testing" +" the model:" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:161 +#: ../../source/example-mxnet-walk-through.rst:242 +#: ../../source/tutorial-quickstart-jax.rst:167 +msgid ":code:`set_parameters (optional)`" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:160 +#: ../../source/example-mxnet-walk-through.rst:241 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:219 +#: ../../source/tutorial-quickstart-jax.rst:166 +msgid "" +"set the model parameters on the local model that are received from the " +"server" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:161 +#: ../../source/tutorial-quickstart-jax.rst:167 +msgid "transform parameters to NumPy :code:`ndarray`'s" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:162 +#: ../../source/example-mxnet-walk-through.rst:243 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:220 +#: ../../source/tutorial-quickstart-jax.rst:168 +msgid "" +"loop over the list of model parameters received as NumPy " +":code:`ndarray`'s (think list of neural network layers)" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:163 +#: ../../source/example-mxnet-walk-through.rst:244 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:221 +#: ../../source/tutorial-quickstart-jax.rst:169 +#: ../../source/tutorial-quickstart-mxnet.rst:169 +#: ../../source/tutorial-quickstart-pytorch.rst:155 +#: ../../source/tutorial-quickstart-scikitlearn.rst:108 +msgid ":code:`get_parameters`" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:164 +#: ../../source/example-mxnet-walk-through.rst:245 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:222 +#: ../../source/tutorial-quickstart-jax.rst:170 +msgid "" +"get the model parameters and return them as a list of NumPy " +":code:`ndarray`'s (which is what :code:`flwr.client.NumPyClient` expects)" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:167 +#: ../../source/example-mxnet-walk-through.rst:248 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:225 +#: ../../source/tutorial-quickstart-jax.rst:173 +#: ../../source/tutorial-quickstart-mxnet.rst:175 +#: ../../source/tutorial-quickstart-pytorch.rst:161 +#: ../../source/tutorial-quickstart-scikitlearn.rst:115 +msgid ":code:`fit`" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:166 +#: ../../source/example-jax-from-centralized-to-federated.rst:170 +#: ../../source/example-mxnet-walk-through.rst:247 +#: ../../source/example-mxnet-walk-through.rst:251 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:224 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:228 +#: ../../source/tutorial-quickstart-jax.rst:172 +#: ../../source/tutorial-quickstart-jax.rst:176 +msgid "" +"update the parameters of the local model with the parameters received " +"from the server" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:167 +#: ../../source/example-mxnet-walk-through.rst:248 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:225 +#: ../../source/tutorial-quickstart-jax.rst:173 +msgid "train the model on the local training set" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:168 +#: ../../source/tutorial-quickstart-jax.rst:174 +msgid "get the updated local model parameters and return them to the server" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:172 +#: ../../source/example-mxnet-walk-through.rst:253 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:230 +#: ../../source/tutorial-quickstart-jax.rst:178 +#: ../../source/tutorial-quickstart-mxnet.rst:178 +#: ../../source/tutorial-quickstart-pytorch.rst:164 +#: ../../source/tutorial-quickstart-scikitlearn.rst:118 +msgid ":code:`evaluate`" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:171 +#: ../../source/example-mxnet-walk-through.rst:252 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:229 +#: ../../source/tutorial-quickstart-jax.rst:177 +msgid "evaluate the updated model on the local test set" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:172 +#: ../../source/tutorial-quickstart-jax.rst:178 +msgid "return the local loss to the server" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:174 +#: ../../source/tutorial-quickstart-jax.rst:180 +msgid "" +"The challenging part is to transform the JAX model parameters from " +":code:`DeviceArray` to :code:`NumPy ndarray` to make them compatible with" +" `NumPyClient`." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:176 +#: ../../source/tutorial-quickstart-jax.rst:182 +msgid "" +"The two :code:`NumPyClient` methods :code:`fit` and :code:`evaluate` make" +" use of the functions :code:`train()` and :code:`evaluate()` previously " +"defined in :code:`jax_training.py`. So what we really do here is we tell " +"Flower through our :code:`NumPyClient` subclass which of our already " +"defined functions to call for training and evaluation. We included type " +"annotations to give you a better understanding of the data types that get" +" passed around." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:245 +#: ../../source/tutorial-quickstart-jax.rst:251 +msgid "Having defined the federation process, we can run it." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:268 +#: ../../source/example-mxnet-walk-through.rst:347 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:301 +#: ../../source/tutorial-quickstart-jax.rst:274 +msgid "And that's it. You can now open two additional terminal windows and run" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:274 +#: ../../source/tutorial-quickstart-jax.rst:280 +msgid "" +"in each window (make sure that the server is still running before you do " +"so) and see your JAX project run federated learning across two clients. " +"Congratulations!" +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:279 +#: ../../source/tutorial-quickstart-jax.rst:285 +msgid "" +"The source code of this example was improved over time and can be found " +"here: `Quickstart JAX `_. Our example is somewhat over-simplified because both " +"clients load the same dataset." +msgstr "" + +#: ../../source/example-jax-from-centralized-to-federated.rst:282 +#: ../../source/tutorial-quickstart-jax.rst:288 +msgid "" +"You're now prepared to explore this topic further. How about using a more" +" sophisticated model or using a different dataset? How about adding more " +"clients?" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:2 +msgid "Example: MXNet - Run MXNet Federated" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:4 +msgid "" +"This tutorial will show you how to use Flower to build a federated " +"version of an existing MXNet workload. We are using MXNet to train a " +"Sequential model on the MNIST dataset. We will structure the example " +"similar to our `PyTorch - From Centralized To Federated " +"`_ walkthrough. MXNet and PyTorch are very " +"similar and a very good comparison between MXNet and PyTorch is given " +"`here `_. First, we build a centralized " +"training approach based on the `Handwritten Digit Recognition " +"`_" +" tutorial. Then, we build upon the centralized training code to run the " +"training in a federated fashion." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:10 +msgid "" +"Before we start setting up our MXNet example, we install the " +":code:`mxnet` and :code:`flwr` packages:" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:19 +msgid "MNIST Training with MXNet" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:21 +msgid "" +"We begin with a brief description of the centralized training code based " +"on a :code:`Sequential` model. If you want a more in-depth explanation of" +" what's going on then have a look at the official `MXNet tutorial " +"`_." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:24 +msgid "" +"Let's create a new file called:code:`mxnet_mnist.py` with all the " +"components required for a traditional (centralized) MNIST training. " +"First, the MXNet package :code:`mxnet` needs to be imported. You can see " +"that we do not yet import the :code:`flwr` package for federated " +"learning. This will be done later." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:42 +msgid "The :code:`load_data()` function loads the MNIST training and test sets." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:57 +msgid "" +"As already mentioned, we will use the MNIST dataset for this machine " +"learning workload. The model architecture (a very simple " +":code:`Sequential` model) is defined in :code:`model()`." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:70 +msgid "" +"We now need to define the training (function :code:`train()`) which loops" +" over the training set and measures the loss for each batch of training " +"examples." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:123 +msgid "" +"The evaluation of the model is defined in function :code:`test()`. The " +"function loops over all test samples and measures the loss and accuracy " +"of the model based on the test dataset." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:158 +msgid "" +"Having defined the data loading, model architecture, training, and " +"evaluation we can put everything together and train our model on MNIST. " +"Note that the GPU/CPU device for the training and testing is defined " +"within the :code:`ctx` (context)." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:184 +msgid "You can now run your (centralized) MXNet machine learning workload:" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:190 +msgid "" +"So far this should all look fairly familiar if you've used MXNet (or even" +" PyTorch) before. Let's take the next step and use what we've built to " +"create a simple federated learning system consisting of one server and " +"two clients." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:194 +msgid "MXNet meets Flower" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:196 +msgid "" +"So far, it was not easily possible to use MXNet workloads for federated " +"learning because federated learning is not supported in MXNet. Since " +"Flower is fully agnostic towards the underlying machine learning " +"framework, it can be used to federated arbitrary machine learning " +"workloads. This section will show you how Flower can be used to federate " +"our centralized MXNet workload." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:198 +msgid "" +"The concept to federate an existing workload is always the same and easy " +"to understand. We have to start a *server* and then use the code in " +":code:`mxnet_mnist.py` for the *clients* that are connected to the " +"*server*. The *server* sends model parameters to the clients. The " +"*clients* run the training and update the parameters. The updated " +"parameters are sent back to the *server* which averages all received " +"parameter updates. This describes one round of the federated learning " +"process and we repeat this for multiple rounds." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:220 +msgid "" +"Finally, we will define our *client* logic in :code:`client.py` and build" +" upon the previously defined MXNet training in :code:`mxnet_mnist.py`. " +"Our *client* needs to import :code:`flwr`, but also :code:`mxnet` to " +"update the parameters on our MXNet model:" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:235 +msgid "" +"Implementing a Flower *client* basically means implementing a subclass of" +" either :code:`flwr.client.Client` or :code:`flwr.client.NumPyClient`. " +"Our implementation will be based on :code:`flwr.client.NumPyClient` and " +"we'll call it :code:`MNISTClient`. :code:`NumPyClient` is slighly easier " +"to implement than :code:`Client` if you use a framework with good NumPy " +"interoperability (like PyTorch or MXNet) because it avoids some of the " +"boilerplate that would otherwise be necessary. :code:`MNISTClient` needs " +"to implement four methods, two methods for getting/setting model " +"parameters, one method for training the model, and one method for testing" +" the model:" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:242 +msgid "transform MXNet :code:`NDArray`'s to NumPy :code:`ndarray`'s" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:249 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:226 +msgid "get the updated local model weights and return them to the server" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:253 +#: ../../source/example-pytorch-from-centralized-to-federated.rst:230 +msgid "return the local loss and accuracy to the server" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:255 +msgid "" +"The challenging part is to transform the MXNet parameters from " +":code:`NDArray` to :code:`NumPy Arrays` to make it readable for Flower." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:257 +msgid "" +"The two :code:`NumPyClient` methods :code:`fit` and :code:`evaluate` make" +" use of the functions :code:`train()` and :code:`test()` previously " +"defined in :code:`mxnet_mnist.py`. So what we really do here is we tell " +"Flower through our :code:`NumPyClient` subclass which of our already " +"defined functions to call for training and evaluation. We included type " +"annotations to give you a better understanding of the data types that get" +" passed around." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:319 +msgid "" +"Having defined data loading, model architecture, training, and evaluation" +" we can put everything together and train our :code:`Sequential` model on" +" MNIST." +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:353 +msgid "" +"in each window (make sure that the server is still running before you do " +"so) and see your MXNet project run federated learning across two clients." +" Congratulations!" +msgstr "" + +#: ../../source/example-mxnet-walk-through.rst:358 +msgid "" +"The full source code for this example: `MXNet: From Centralized To " +"Federated (Code) `_. Our example is of course " +"somewhat over-simplified because both clients load the exact same " +"dataset, which isn't realistic. You're now prepared to explore this topic" +" further. How about using a CNN or using a different dataset? How about " +"adding more clients?" +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:2 +msgid "Example: PyTorch - From Centralized To Federated" +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:4 +msgid "" +"This tutorial will show you how to use Flower to build a federated " +"version of an existing machine learning workload. We are using PyTorch to" +" train a Convolutional Neural Network on the CIFAR-10 dataset. First, we " +"introduce this machine learning task with a centralized training approach" +" based on the `Deep Learning with PyTorch " +"`_ " +"tutorial. Then, we build upon the centralized training code to run the " +"training in a federated fashion." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:12 +msgid "" +"We begin with a brief description of the centralized CNN training code. " +"If you want a more in-depth explanation of what's going on then have a " +"look at the official `PyTorch tutorial " +"`_." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:15 +msgid "" +"Let's create a new file called :code:`cifar.py` with all the components " +"required for a traditional (centralized) training on CIFAR-10. First, all" +" required packages (such as :code:`torch` and :code:`torchvision`) need " +"to be imported. You can see that we do not import any package for " +"federated learning. You can keep all these imports as they are even when " +"we add the federated learning components at a later point." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:32 +msgid "" +"As already mentioned we will use the CIFAR-10 dataset for this machine " +"learning workload. The model architecture (a very simple Convolutional " +"Neural Network) is defined in :code:`class Net()`." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:56 +msgid "" +"The :code:`load_data()` function loads the CIFAR-10 training and test " +"sets. The :code:`transform` normalized the data after loading." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:74 +msgid "" +"We now need to define the training (function :code:`train()`) which loops" +" over the training set, measures the loss, backpropagates it, and then " +"takes one optimizer step for each batch of training examples." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:76 +msgid "" +"The evaluation of the model is defined in the function :code:`test()`. " +"The function loops over all test samples and measures the loss of the " +"model based on the test dataset." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:136 +msgid "" +"Having defined the data loading, model architecture, training, and " +"evaluation we can put everything together and train our CNN on CIFAR-10." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:163 +msgid "" +"So far, this should all look fairly familiar if you've used PyTorch " +"before. Let's take the next step and use what we've built to create a " +"simple federated learning system consisting of one server and two " +"clients." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:169 +msgid "" +"The simple machine learning project discussed in the previous section " +"trains the model on a single dataset (CIFAR-10), we call this centralized" +" learning. This concept of centralized learning, as shown in the previous" +" section, is probably known to most of you, and many of you have used it " +"previously. Normally, if you'd want to run machine learning workloads in " +"a federated fashion, then you'd have to change most of your code and set " +"everything up from scratch. This can be a considerable effort." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:173 +msgid "" +"However, with Flower you can evolve your pre-existing code into a " +"federated learning setup without the need for a major rewrite." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:175 +msgid "" +"The concept is easy to understand. We have to start a *server* and then " +"use the code in :code:`cifar.py` for the *clients* that are connected to " +"the *server*. The *server* sends model parameters to the clients. The " +"*clients* run the training and update the paramters. The updated " +"parameters are sent back to the *server* which averages all received " +"parameter updates. This describes one round of the federated learning " +"process and we repeat this for multiple rounds." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:197 +msgid "" +"Finally, we will define our *client* logic in :code:`client.py` and build" +" upon the previously defined centralized training in :code:`cifar.py`. " +"Our *client* needs to import :code:`flwr`, but also :code:`torch` to " +"update the paramters on our PyTorch model:" +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:213 +msgid "" +"Implementing a Flower *client* basically means implementing a subclass of" +" either :code:`flwr.client.Client` or :code:`flwr.client.NumPyClient`. " +"Our implementation will be based on :code:`flwr.client.NumPyClient` and " +"we'll call it :code:`CifarClient`. :code:`NumPyClient` is slighly easier " +"to implement than :code:`Client` if you use a framework with good NumPy " +"interoperability (like PyTorch or TensorFlow/Keras) because it avoids " +"some of the boilerplate that would otherwise be necessary. " +":code:`CifarClient` needs to implement four methods, two methods for " +"getting/setting model parameters, one method for training the model, and " +"one method for testing the model:" +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:219 +msgid ":code:`set_parameters`" +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:232 +msgid "" +"The two :code:`NumPyClient` methods :code:`fit` and :code:`evaluate` make" +" use of the functions :code:`train()` and :code:`test()` previously " +"defined in :code:`cifar.py`. So what we really do here is we tell Flower " +"through our :code:`NumPyClient` subclass which of our already defined " +"functions to call for training and evaluation. We included type " +"annotations to give you a better understanding of the data types that get" +" passed around." +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:280 +msgid "" +"All that's left to do it to define a function that loads both model and " +"data, creates a :code:`CifarClient`, and starts this client. You load " +"your data and model by using :code:`cifar.py`. Start :code:`CifarClient` " +"with the function :code:`fl.client.start_numpy_client()` by pointing it " +"at the same IP adress we used in :code:`server.py`:" +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:307 +msgid "" +"in each window (make sure that the server is running before you do so) " +"and see your (previously centralized) PyTorch project run federated " +"learning across two clients. Congratulations!" +msgstr "" + +#: ../../source/example-pytorch-from-centralized-to-federated.rst:312 +msgid "" +"The full source code for this example: `PyTorch: From Centralized To " +"Federated (Code) `_. Our example is, of course, " +"somewhat over-simplified because both clients load the exact same " +"dataset, which isn't realistic. You're now prepared to explore this topic" +" further. How about using different subsets of CIFAR-10 on each client? " +"How about adding more clients?" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:2 +msgid "Example: Walk-Through PyTorch & MNIST" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:4 +msgid "" +"In this tutorial we will learn, how to train a Convolutional Neural " +"Network on MNIST using Flower and PyTorch." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:6 +#: ../../source/tutorial-quickstart-mxnet.rst:14 +#: ../../source/tutorial-quickstart-pytorch.rst:17 +#: ../../source/tutorial-quickstart-scikitlearn.rst:14 +msgid "" +"Our example consists of one *server* and two *clients* all having the " +"same model." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:8 +#: ../../source/tutorial-quickstart-pytorch.rst:19 +msgid "" +"*Clients* are responsible for generating individual weight-updates for " +"the model based on their local datasets. These updates are then sent to " +"the *server* which will aggregate them to produce a better model. " +"Finally, the *server* sends this improved version of the model back to " +"each *client*. A complete cycle of weight updates is called a *round*." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:12 +#: ../../source/tutorial-quickstart-pytorch.rst:23 +msgid "" +"Now that we have a rough idea of what is going on, let's get started. We " +"first need to install Flower. You can do this by running :" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:18 +msgid "" +"Since we want to use PyTorch to solve a computer vision task, let's go " +"ahead an install PyTorch and the **torchvision** library:" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:26 +msgid "Ready... Set... Train!" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:28 +msgid "" +"Now that we have all our dependencies installed, let's run a simple " +"distributed training with two clients and one server. Our training " +"procedure and network architecture are based on PyTorch's `Basic MNIST " +"Example `_. This " +"will allow you see how easy it is to wrap your code with Flower and begin" +" training in a federated way. We provide you with two helper scripts, " +"namely *run-server.sh*, and *run-clients.sh*. Don't be afraid to look " +"inside, they are simple enough =)." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:31 +msgid "" +"Go ahead and launch on a terminal the *run-server.sh* script first as " +"follows:" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:38 +msgid "Now that the server is up and running, go ahead and launch the clients." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:45 +msgid "" +"Et voilà! You should be seeing the training procedure and, after a few " +"iterations, the test accuracy for each client." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:66 +msgid "Now, let's see what is really happening inside." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:69 +#: ../../source/tutorial-quickstart-ios.rst:129 +#: ../../source/tutorial-quickstart-mxnet.rst:224 +#: ../../source/tutorial-quickstart-pytorch.rst:203 +#: ../../source/tutorial-quickstart-scikitlearn.rst:157 +#: ../../source/tutorial-quickstart-tensorflow.rst:98 +#: ../../source/tutorial-quickstart-xgboost.rst:306 +msgid "Flower Server" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:71 +msgid "" +"Inside the server helper script *run-server.sh* you will find the " +"following code that basically runs the :code:`server.py`" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:78 +msgid "" +"We can go a bit deeper and see that :code:`server.py` simply launches a " +"server that will coordinate three rounds of training. Flower Servers are " +"very customizable, but for simple workloads, we can start a server using " +"the :ref:`start_server ` function and " +"leave all the configuration possibilities at their default values, as " +"seen below." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:89 +#: ../../source/tutorial-quickstart-ios.rst:34 +#: ../../source/tutorial-quickstart-mxnet.rst:34 +#: ../../source/tutorial-quickstart-pytorch.rst:37 +#: ../../source/tutorial-quickstart-scikitlearn.rst:40 +#: ../../source/tutorial-quickstart-tensorflow.rst:29 +#: ../../source/tutorial-quickstart-xgboost.rst:52 +msgid "Flower Client" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:91 +msgid "" +"Next, let's take a look at the *run-clients.sh* file. You will see that " +"it contains the main loop that starts a set of *clients*." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:100 +msgid "" +"**cid**: is the client ID. It is an integer that uniquely identifies " +"client identifier." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:101 +msgid "**sever_address**: String that identifies IP and port of the server." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:102 +msgid "" +"**nb_clients**: This defines the number of clients being created. This " +"piece of information is not required by the client, but it helps us " +"partition the original MNIST dataset to make sure that every client is " +"working on unique subsets of both *training* and *test* sets." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:104 +msgid "" +"Again, we can go deeper and look inside :code:`flwr_example/quickstart-" +"pytorch/client.py`. After going through the argument parsing code at the " +"beginning of our :code:`main` function, you will find a call to " +":code:`mnist.load_data`. This function is responsible for partitioning " +"the original MNIST datasets (*training* and *test*) and returning a " +":code:`torch.utils.data.DataLoader` s for each of them. We then " +"instantiate a :code:`PytorchMNISTClient` object with our client ID, our " +"DataLoaders, the number of epochs in each round, and which device we want" +" to use for training (CPU or GPU)." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:119 +msgid "" +"The :code:`PytorchMNISTClient` object when finally passed to " +":code:`fl.client.start_client` along with the server's address as the " +"training process begins." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:123 +msgid "A Closer Look" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:125 +msgid "" +"Now, let's look closely into the :code:`PytorchMNISTClient` inside " +":code:`flwr_example.quickstart-pytorch.mnist` and see what it is doing:" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:226 +msgid "" +"The first thing to notice is that :code:`PytorchMNISTClient` instantiates" +" a CNN model inside its constructor" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:244 +msgid "" +"The code for the CNN is available under :code:`quickstart-pytorch.mnist` " +"and it is reproduced below. It is the same network found in `Basic MNIST " +"Example `_." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:290 +msgid "" +"The second thing to notice is that :code:`PytorchMNISTClient` class " +"inherits from the :code:`fl.client.Client`, and hence it must implement " +"the following methods:" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:315 +msgid "" +"When comparing the abstract class to its derived class " +":code:`PytorchMNISTClient` you will notice that :code:`fit` calls a " +":code:`train` function and that :code:`evaluate` calls a :code:`test`: " +"function." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:317 +msgid "" +"These functions can both be found inside the same :code:`quickstart-" +"pytorch.mnist` module:" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:437 +msgid "" +"Observe that these functions encapsulate regular training and test loops " +"and provide :code:`fit` and :code:`evaluate` with final statistics for " +"each round. You could substitute them with your custom train and test " +"loops and change the network architecture, and the entire example would " +"still work flawlessly. As a matter of fact, why not try and modify the " +"code to an example of your liking?" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:444 +msgid "Give It a Try" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:445 +msgid "" +"Looking through the quickstart code description above will have given a " +"good understanding of how *clients* and *servers* work in Flower, how to " +"run a simple experiment, and the internals of a client wrapper. Here are " +"a few things you could try on your own and get more experience with " +"Flower:" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:448 +msgid "" +"Try and change :code:`PytorchMNISTClient` so it can accept different " +"architectures." +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:449 +msgid "Modify the :code:`train` function so that it accepts different optimizers" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:450 +msgid "" +"Modify the :code:`test` function so that it proves not only the top-1 " +"(regular accuracy) but also the top-5 accuracy?" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:451 +msgid "" +"Go larger! Try to adapt the code to larger images and datasets. Why not " +"try training on ImageNet with a ResNet-50?" +msgstr "" + +#: ../../source/example-walkthrough-pytorch-mnist.rst:453 +msgid "You are ready now. Enjoy learning in a federated way!" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:2 +msgid "Differential privacy" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:4 +msgid "" +"Flower provides differential privacy (DP) wrapper classes for the easy " +"integration of the central DP guarantees provided by DP-FedAvg into " +"training pipelines defined in any of the various ML frameworks that " +"Flower is compatible with." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:7 +msgid "" +"Please note that these components are still experimental, the correct " +"configuration of DP for a specific task is still an unsolved problem." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:10 +msgid "" +"The name DP-FedAvg is misleading since it can be applied on top of any FL" +" algorithm that conforms to the general structure prescribed by the " +"FedOpt family of algorithms." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:13 +msgid "DP-FedAvg" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:15 +msgid "" +"DP-FedAvg, originally proposed by McMahan et al. [mcmahan]_ and extended " +"by Andrew et al. [andrew]_, is essentially FedAvg with the following " +"modifications." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:17 +msgid "" +"**Clipping** : The influence of each client's update is bounded by " +"clipping it. This is achieved by enforcing a cap on the L2 norm of the " +"update, scaling it down if needed." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:18 +msgid "" +"**Noising** : Gaussian noise, calibrated to the clipping threshold, is " +"added to the average computed at the server." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:20 +msgid "" +"The distribution of the update norm has been shown to vary from task-to-" +"task and to evolve as training progresses. Therefore, we use an adaptive " +"approach [andrew]_ that continuously adjusts the clipping threshold to " +"track a prespecified quantile of the update norm distribution." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:23 +msgid "Simplifying Assumptions" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:25 +msgid "" +"We make (and attempt to enforce) a number of assumptions that must be " +"satisfied to ensure that the training process actually realises the " +":math:`(\\epsilon, \\delta)` guarantees the user has in mind when " +"configuring the setup." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:27 +msgid "" +"**Fixed-size subsampling** :Fixed-size subsamples of the clients must be " +"taken at each round, as opposed to variable-sized Poisson subsamples." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:28 +msgid "" +"**Unweighted averaging** : The contributions from all the clients must " +"weighted equally in the aggregate to eliminate the requirement for the " +"server to know in advance the sum of the weights of all clients available" +" for selection." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:29 +msgid "" +"**No client failures** : The set of available clients must stay constant " +"across all rounds of training. In other words, clients cannot drop out or" +" fail." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:31 +msgid "" +"The first two are useful for eliminating a multitude of complications " +"associated with calibrating the noise to the clipping threshold while the" +" third one is required to comply with the assumptions of the privacy " +"analysis." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:34 +msgid "" +"These restrictions are in line with constraints imposed by Andrew et al. " +"[andrew]_." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:37 +msgid "Customizable Responsibility for Noise injection" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:38 +msgid "" +"In contrast to other implementations where the addition of noise is " +"performed at the server, you can configure the site of noise injection to" +" better match your threat model. We provide users with the flexibility to" +" set up the training such that each client independently adds a small " +"amount of noise to the clipped update, with the result that simply " +"aggregating the noisy updates is equivalent to the explicit addition of " +"noise to the non-noisy aggregate at the server." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:41 +msgid "" +"To be precise, if we let :math:`m` be the number of clients sampled each " +"round and :math:`\\sigma_\\Delta` be the scale of the total Gaussian " +"noise that needs to be added to the sum of the model updates, we can use " +"simple maths to show that this is equivalent to each client adding noise " +"with scale :math:`\\sigma_\\Delta/\\sqrt{m}`." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:44 +msgid "Wrapper-based approach" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:46 +msgid "" +"Introducing DP to an existing workload can be thought of as adding an " +"extra layer of security around it. This inspired us to provide the " +"additional server and client-side logic needed to make the training " +"process differentially private as wrappers for instances of the " +":code:`Strategy` and :code:`NumPyClient` abstract classes respectively. " +"This wrapper-based approach has the advantage of being easily composable " +"with other wrappers that someone might contribute to the Flower library " +"in the future, e.g., for secure aggregation. Using Inheritance instead " +"can be tedious because that would require the creation of new sub- " +"classes every time a new class implementing :code:`Strategy` or " +":code:`NumPyClient` is defined." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:49 +msgid "Server-side logic" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:51 +msgid "" +"The first version of our solution was to define a decorator whose " +"constructor accepted, among other things, a boolean valued variable " +"indicating whether adaptive clipping was to be enabled or not. We quickly" +" realized that this would clutter its :code:`__init__()` function with " +"variables corresponding to hyperparameters of adaptive clipping that " +"would remain unused when it was disabled. A cleaner implementation could " +"be achieved by splitting the functionality into two decorators, " +":code:`DPFedAvgFixed` and :code:`DPFedAvgAdaptive`, with the latter sub- " +"classing the former. The constructors for both classes accept a boolean " +"parameter :code:`server_side_noising`, which, as the name suggests, " +"determines where noising is to be performed." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:54 +msgid "DPFedAvgFixed" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:56 +msgid "" +"The server-side capabilities required for the original version of DP-" +"FedAvg, i.e., the one which performed fixed clipping, can be completely " +"captured with the help of wrapper logic for just the following two " +"methods of the :code:`Strategy` abstract class." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:58 +msgid "" +":code:`configure_fit()` : The config dictionary being sent by the wrapped" +" :code:`Strategy` to each client needs to be augmented with an additional" +" value equal to the clipping threshold (keyed under " +":code:`dpfedavg_clip_norm`) and, if :code:`server_side_noising=true`, " +"another one equal to the scale of the Gaussian noise that needs to be " +"added at the client (keyed under :code:`dpfedavg_noise_stddev`). This " +"entails *post*-processing of the results returned by the wrappee's " +"implementation of :code:`configure_fit()`." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:59 +msgid "" +":code:`aggregate_fit()`: We check whether any of the sampled clients " +"dropped out or failed to upload an update before the round timed out. In " +"that case, we need to abort the current round, discarding any successful " +"updates that were received, and move on to the next one. On the other " +"hand, if all clients responded successfully, we must force the averaging " +"of the updates to happen in an unweighted manner by intercepting the " +":code:`parameters` field of :code:`FitRes` for each received update and " +"setting it to 1. Furthermore, if :code:`server_side_noising=true`, each " +"update is perturbed with an amount of noise equal to what it would have " +"been subjected to had client-side noising being enabled. This entails " +"*pre*-processing of the arguments to this method before passing them on " +"to the wrappee's implementation of :code:`aggregate_fit()`." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:62 +msgid "" +"We can't directly change the aggregation function of the wrapped strategy" +" to force it to add noise to the aggregate, hence we simulate client-side" +" noising to implement server-side noising." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:64 +msgid "" +"These changes have been put together into a class called " +":code:`DPFedAvgFixed`, whose constructor accepts the strategy being " +"decorated, the clipping threshold and the number of clients sampled every" +" round as compulsory arguments. The user is expected to specify the " +"clipping threshold since the order of magnitude of the update norms is " +"highly dependent on the model being trained and providing a default value" +" would be misleading. The number of clients sampled at every round is " +"required to calculate the amount of noise that must be added to each " +"individual update, either by the server or the clients." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:67 +msgid "DPFedAvgAdaptive" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:69 +msgid "" +"The additional functionality required to facilitate adaptive clipping has" +" been provided in :code:`DPFedAvgAdaptive`, a subclass of " +":code:`DPFedAvgFixed`. It overrides the above-mentioned methods to do the" +" following." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:71 +msgid "" +":code:`configure_fit()` : It intercepts the config dict returned by " +":code:`super.configure_fit()` to add the key-value pair " +":code:`dpfedavg_adaptive_clip_enabled:True` to it, which the client " +"interprets as an instruction to include an indicator bit (1 if update " +"norm <= clipping threshold, 0 otherwise) in the results returned by it." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:73 +msgid "" +":code:`aggregate_fit()` : It follows a call to " +":code:`super.aggregate_fit()` with one to :code:`__update_clip_norm__()`," +" a procedure which adjusts the clipping threshold on the basis of the " +"indicator bits received from the sampled clients." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:77 +msgid "Client-side logic" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:79 +msgid "" +"The client-side capabilities required can be completely captured through " +"wrapper logic for just the :code:`fit()` method of the " +":code:`NumPyClient` abstract class. To be precise, we need to *post-" +"process* the update computed by the wrapped client to clip it, if " +"necessary, to the threshold value supplied by the server as part of the " +"config dictionary. In addition to this, it may need to perform some extra" +" work if either (or both) of the following keys are also present in the " +"dict." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:81 +msgid "" +":code:`dpfedavg_noise_stddev` : Generate and add the specified amount of " +"noise to the clipped update." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:82 +msgid "" +":code:`dpfedavg_adaptive_clip_enabled` : Augment the metrics dict in the " +":code:`FitRes` object being returned to the server with an indicator bit," +" calculated as described earlier." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:86 +msgid "Performing the :math:`(\\epsilon, \\delta)` analysis" +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:88 +msgid "" +"Assume you have trained for :math:`n` rounds with sampling fraction " +":math:`q` and noise multiplier :math:`z`. In order to calculate the " +":math:`\\epsilon` value this would result in for a particular " +":math:`\\delta`, the following script may be used." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:98 +msgid "" +"McMahan, H. Brendan, et al. \"Learning differentially private recurrent " +"language models.\" arXiv preprint arXiv:1710.06963 (2017)." +msgstr "" + +#: ../../source/explanation-differential-privacy.rst:100 +msgid "" +"Andrew, Galen, et al. \"Differentially private learning with adaptive " +"clipping.\" Advances in Neural Information Processing Systems 34 (2021): " +"17455-17466." +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:2 +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:292 +msgid "Federated evaluation" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:4 +msgid "" +"There are two main approaches to evaluating models in federated learning " +"systems: centralized (or server-side) evaluation and federated (or " +"client-side) evaluation." +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:8 +msgid "Centralized Evaluation" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:11 +msgid "Built-In Strategies" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:13 +msgid "" +"All built-in strategies support centralized evaluation by providing an " +"evaluation function during initialization. An evaluation function is any " +"function that can take the current global model parameters as input and " +"return evaluation results:" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:58 +msgid "Custom Strategies" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:60 +msgid "" +"The :code:`Strategy` abstraction provides a method called " +":code:`evaluate` that can directly be used to evaluate the current global" +" model parameters. The current server implementation calls " +":code:`evaluate` after parameter aggregation and before federated " +"evaluation (see next paragraph)." +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:65 +msgid "Federated Evaluation" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:68 +msgid "Implementing Federated Evaluation" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:70 +msgid "" +"Client-side evaluation happens in the :code:`Client.evaluate` method and " +"can be configured from the server side." +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:101 +msgid "Configuring Federated Evaluation" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:103 +msgid "" +"Federated evaluation can be configured from the server side. Built-in " +"strategies support the following arguments:" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:105 +msgid "" +":code:`fraction_evaluate`: a :code:`float` defining the fraction of " +"clients that will be selected for evaluation. If " +":code:`fraction_evaluate` is set to :code:`0.1` and :code:`100` clients " +"are connected to the server, then :code:`10` will be randomly selected " +"for evaluation. If :code:`fraction_evaluate` is set to :code:`0.0`, " +"federated evaluation will be disabled." +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:106 +msgid "" +":code:`min_evaluate_clients`: an :code:`int`: the minimum number of " +"clients to be selected for evaluation. If :code:`fraction_evaluate` is " +"set to :code:`0.1`, :code:`min_evaluate_clients` is set to 20, and " +":code:`100` clients are connected to the server, then :code:`20` clients " +"will be selected for evaluation." +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:107 +msgid "" +":code:`min_available_clients`: an :code:`int` that defines the minimum " +"number of clients which need to be connected to the server before a round" +" of federated evaluation can start. If fewer than " +":code:`min_available_clients` are connected to the server, the server " +"will wait until more clients are connected before it continues to sample " +"clients for evaluation." +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:108 +msgid "" +":code:`on_evaluate_config_fn`: a function that returns a configuration " +"dictionary which will be sent to the selected clients. The function will " +"be called during each round and provides a convenient way to customize " +"client-side evaluation from the server side, for example, to configure " +"the number of validation steps performed." +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:135 +msgid "Evaluating Local Model Updates During Training" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:137 +msgid "" +"Model parameters can also be evaluated during training. " +":code:`Client.fit` can return arbitrary evaluation results as a " +"dictionary:" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:177 +msgid "Full Code Example" +msgstr "" + +#: ../../source/explanation-federated-evaluation.rst:179 +msgid "" +"For a full code example that uses both centralized and federated " +"evaluation, see the *Advanced TensorFlow Example* (the same approach can " +"be applied to workloads implemented in any other framework): " +"https://github.com/adap/flower/tree/main/examples/advanced-tensorflow" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:10 +msgid "FED Template" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:12 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:12 +msgid "Table of Contents" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:14 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:14 +msgid "[Table of Contents](#table-of-contents)" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:15 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:15 +msgid "[Summary](#summary)" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:16 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:16 +msgid "[Motivation](#motivation)" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:17 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:17 +msgid "[Goals](#goals)" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:18 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:18 +msgid "[Non-Goals](#non-goals)" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:19 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:19 +msgid "[Proposal](#proposal)" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:20 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:23 +msgid "[Drawbacks](#drawbacks)" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:21 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:24 +msgid "[Alternatives Considered](#alternatives-considered)" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:22 +msgid "[Appendix](#appendix)" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:24 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:28 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:76 +msgid "Summary" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:26 +msgid "\\[TODO - sentence 1: summary of the problem\\]" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:28 +msgid "\\[TODO - sentence 2: summary of the solution\\]" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:30 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:47 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:77 +msgid "Motivation" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:32 +#: ../../source/fed/0000-20200102-fed-template.md:36 +#: ../../source/fed/0000-20200102-fed-template.md:40 +#: ../../source/fed/0000-20200102-fed-template.md:44 +#: ../../source/fed/0000-20200102-fed-template.md:48 +#: ../../source/fed/0000-20200102-fed-template.md:54 +#: ../../source/fed/0000-20200102-fed-template.md:58 +msgid "\\[TODO\\]" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:34 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:53 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:78 +msgid "Goals" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:38 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:59 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:79 +msgid "Non-Goals" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:42 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:65 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:80 +msgid "Proposal" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:46 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:85 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:129 +msgid "Drawbacks" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:50 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:86 +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:135 +msgid "Alternatives Considered" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:52 +msgid "\\[Alternative 1\\]" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:56 +msgid "\\[Alternative 2\\]" +msgstr "" + +#: ../../source/fed/0000-20200102-fed-template.md:60 +msgid "Appendix" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:10 +msgid "Flower Enhancement Doc" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:20 +msgid "[Enhancement Doc Template](#enhancement-doc-template)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:21 +msgid "[Metadata](#metadata)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:22 +msgid "[Workflow](#workflow)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:25 +msgid "[GitHub Issues](#github-issues)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:26 +msgid "[Google Docs](#google-docs)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:30 +msgid "A Flower Enhancement is a standardized development process to" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:32 +msgid "provide a common structure for proposing larger changes" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:33 +msgid "ensure that the motivation for a change is clear" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:34 +msgid "persist project information in a version control system" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:35 +msgid "document the motivation for impactful user-facing changes" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:36 +msgid "reserve GitHub issues for tracking work in flight" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:37 +msgid "" +"ensure community participants can successfully drive changes to " +"completion across one or more releases while stakeholders are adequately " +"represented throughout the process" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:39 +msgid "Hence, an Enhancement Doc combines aspects of" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:41 +msgid "a feature, and effort-tracking document" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:42 +msgid "a product requirements document" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:43 +msgid "a design document" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:45 +msgid "" +"into one file, which is created incrementally in collaboration with the " +"community." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:49 +msgid "" +"For far-fetching changes or features proposed to Flower, an abstraction " +"beyond a single GitHub issue or pull request is required to understand " +"and communicate upcoming changes to the project." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:51 +msgid "" +"The purpose of this process is to reduce the amount of \"tribal " +"knowledge\" in our community. By moving decisions from Slack threads, " +"video calls, and hallway conversations into a well-tracked artifact, this" +" process aims to enhance communication and discoverability." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:55 +msgid "" +"Roughly any larger, user-facing enhancement should follow the Enhancement" +" process. If an enhancement would be described in either written or " +"verbal communication to anyone besides the author or developer, then " +"consider creating an Enhancement Doc." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:57 +msgid "" +"Similarly, any technical effort (refactoring, major architectural change)" +" that will impact a large section of the development community should " +"also be communicated widely. The Enhancement process is suited for this " +"even if it will have zero impact on the typical user or operator." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:61 +msgid "" +"For small changes and additions, going through the Enhancement process " +"would be time-consuming and unnecessary. This includes, for example, " +"adding new Federated Learning algorithms, as these only add features " +"without changing how Flower works or is used." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:63 +msgid "" +"Enhancements are different from feature requests, as they are already " +"providing a laid-out path for implementation and are championed by " +"members of the community." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:67 +msgid "" +"An Enhancement is captured in a Markdown file that follows a defined " +"template and a workflow to review and store enhancement docs for " +"reference — the Enhancement Doc." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:69 +msgid "Enhancement Doc Template" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:71 +msgid "" +"Each enhancement doc is provided as a Markdown file having the following " +"structure" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:73 +msgid "Metadata (as [described below](#metadata) in form of a YAML preamble)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:74 +msgid "Title (same as in metadata)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:75 +msgid "Table of Contents (if needed)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:81 +msgid "Notes/Constraints/Caveats (optional)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:82 +msgid "Design Details (optional)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:83 +msgid "Graduation Criteria" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:84 +msgid "Upgrade/Downgrade Strategy (if applicable)" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:88 +msgid "As a reference, this document follows the above structure." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:90 +msgid "Metadata" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:92 +msgid "" +"**fed-number** (Required) The `fed-number` of the last Flower Enhancement" +" Doc + 1. With this number, it becomes easy to reference other proposals." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:94 +msgid "**title** (Required) The title of the proposal in plain language." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:96 +msgid "" +"**status** (Required) The current status of the proposal. See " +"[workflow](#workflow) for the possible states." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:98 +msgid "" +"**authors** (Required) A list of authors of the proposal. This is simply " +"the GitHub ID." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:100 +msgid "" +"**creation-date** (Required) The date that the proposal was first " +"submitted in a PR." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:102 +msgid "" +"**last-updated** (Optional) The date that the proposal was last changed " +"significantly." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:104 +msgid "" +"**see-also** (Optional) A list of other proposals that are relevant to " +"this one." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:106 +msgid "**replaces** (Optional) A list of proposals that this one replaces." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:108 +msgid "**superseded-by** (Optional) A list of proposals that this one supersedes." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:111 +msgid "Workflow" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:113 +msgid "" +"The idea forming the enhancement should already have been discussed or " +"pitched in the community. As such, it needs a champion, usually the " +"author, who shepherds the enhancement. This person also has to find " +"committers to Flower willing to review the proposal." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:115 +msgid "" +"New enhancements are checked in with a file name in the form of `NNNN-" +"YYYYMMDD-enhancement-title.md`, with `NNNN` being the Flower Enhancement " +"Doc number, to `enhancements`. All enhancements start in `provisional` " +"state as part of a pull request. Discussions are done as part of the pull" +" request review." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:117 +msgid "" +"Once an enhancement has been reviewed and approved, its status is changed" +" to `implementable`. The actual implementation is then done in separate " +"pull requests. These pull requests should mention the respective " +"enhancement as part of their description. After the implementation is " +"done, the proposal status is changed to `implemented`." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:119 +msgid "" +"Under certain conditions, other states are possible. An Enhancement has " +"the following states:" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:121 +msgid "" +"`provisional`: The enhancement has been proposed and is actively being " +"defined. This is the starting state while the proposal is being fleshed " +"out and actively defined and discussed." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:122 +msgid "`implementable`: The enhancement has been reviewed and approved." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:123 +msgid "" +"`implemented`: The enhancement has been implemented and is no longer " +"actively changed." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:124 +msgid "`deferred`: The enhancement is proposed but not actively being worked on." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:125 +msgid "" +"`rejected`: The authors and reviewers have decided that this enhancement " +"is not moving forward." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:126 +msgid "`withdrawn`: The authors have withdrawn the enhancement." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:127 +msgid "`replaced`: The enhancement has been replaced by a new enhancement." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:131 +msgid "" +"Adding an additional process to the ones already provided by GitHub " +"(Issues and Pull Requests) adds more complexity and can be a barrier for " +"potential first-time contributors." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:133 +msgid "" +"Expanding the proposal template beyond the single-sentence description " +"currently required in the features issue template may be a heavy burden " +"for non-native English speakers." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:137 +msgid "GitHub Issues" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:139 +msgid "" +"Using GitHub Issues for these kinds of enhancements is doable. One could " +"use, for example, tags, to differentiate and filter them from other " +"issues. The main issue is in discussing and reviewing an enhancement: " +"GitHub issues only have a single thread for comments. Enhancements " +"usually have multiple threads of discussion at the same time for various " +"parts of the doc. Managing these multiple discussions can be confusing " +"when using GitHub Issues." +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:141 +msgid "Google Docs" +msgstr "" + +#: ../../source/fed/0001-20220311-flower-enhancement-doc.md:143 +msgid "" +"Google Docs allow for multiple threads of discussions. But as Google Docs" +" are hosted outside the project, their discoverability by the community " +"needs to be taken care of. A list of links to all proposals has to be " +"managed and made available for the community. Compared to shipping " +"proposals as part of Flower's repository, the potential for missing links" +" is much higher." +msgstr "" + +#: ../../source/fed/index.md:1 +msgid "FED - Flower Enhancement Doc" +msgstr "" + +#: ../../source/how-to-aggregate-evaluation-results.rst:2 +msgid "Aggregate evaluation results" +msgstr "" + +#: ../../source/how-to-aggregate-evaluation-results.rst:4 +msgid "" +"The Flower server does not prescribe a way to aggregate evaluation " +"results, but it enables the user to fully customize result aggregation." +msgstr "" + +#: ../../source/how-to-aggregate-evaluation-results.rst:8 +msgid "Aggregate Custom Evaluation Results" +msgstr "" + +#: ../../source/how-to-aggregate-evaluation-results.rst:10 +msgid "" +"The same :code:`Strategy`-customization approach can be used to aggregate" +" custom evaluation results coming from individual clients. Clients can " +"return custom metrics to the server by returning a dictionary:" +msgstr "" + +#: ../../source/how-to-aggregate-evaluation-results.rst:36 +msgid "" +"The server can then use a customized strategy to aggregate the metrics " +"provided in these dictionaries:" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:2 +msgid "Configure clients" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:4 +msgid "" +"Along with model parameters, Flower can send configuration values to " +"clients. Configuration values can be used for various purposes. They are," +" for example, a popular way to control client-side hyperparameters from " +"the server." +msgstr "" + +#: ../../source/how-to-configure-clients.rst:7 +msgid "Configuration values" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:9 +msgid "" +"Configuration values are represented as a dictionary with ``str`` keys " +"and values of type ``bool``, ``bytes``, ``double`` (64-bit precision " +"float), ``int``, or ``str`` (or equivalent types in different languages)." +" Here is an example of a configuration dictionary in Python:" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:20 +msgid "" +"Flower serializes these configuration dictionaries (or *config dict* for " +"short) to their ProtoBuf representation, transports them to the client " +"using gRPC, and then deserializes them back to Python dictionaries." +msgstr "" + +#: ../../source/how-to-configure-clients.rst:24 +msgid "" +"Currently, there is no support for directly sending collection types " +"(e.g., ``Set``, ``List``, ``Map``) as values in configuration " +"dictionaries. There are several workarounds to send collections as values" +" by converting them to one of the supported value types (and converting " +"them back on the client-side)." +msgstr "" + +#: ../../source/how-to-configure-clients.rst:26 +msgid "" +"One can, for example, convert a list of floating-point numbers to a JSON " +"string, then send the JSON string using the configuration dictionary, and" +" then convert the JSON string back to a list of floating-point numbers on" +" the client." +msgstr "" + +#: ../../source/how-to-configure-clients.rst:30 +msgid "Configuration through built-in strategies" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:32 +msgid "" +"The easiest way to send configuration values to clients is to use a " +"built-in strategy like :code:`FedAvg`. Built-in strategies support so-" +"called configuration functions. A configuration function is a function " +"that the built-in strategy calls to get the configuration dictionary for " +"the current round. It then forwards the configuration dictionary to all " +"the clients selected during that round." +msgstr "" + +#: ../../source/how-to-configure-clients.rst:34 +msgid "" +"Let's start with a simple example. Imagine we want to send (a) the batch " +"size that the client should use, (b) the current global round of " +"federated learning, and (c) the number of epochs to train on the client-" +"side. Our configuration function could look like this:" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:47 +msgid "" +"To make the built-in strategies use this function, we can pass it to " +"``FedAvg`` during initialization using the parameter " +":code:`on_fit_config_fn`:" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:56 +msgid "One the client side, we receive the configuration dictionary in ``fit``:" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:67 +msgid "" +"There is also an `on_evaluate_config_fn` to configure evaluation, which " +"works the same way. They are separate functions because one might want to" +" send different configuration values to `evaluate` (for example, to use a" +" different batch size)." +msgstr "" + +#: ../../source/how-to-configure-clients.rst:69 +msgid "" +"The built-in strategies call this function every round (that is, every " +"time `Strategy.configure_fit` or `Strategy.configure_evaluate` runs). " +"Calling `on_evaluate_config_fn` every round allows us to vary/change the " +"config dict over consecutive rounds. If we wanted to implement a " +"hyperparameter schedule, for example, to increase the number of local " +"epochs during later rounds, we could do the following:" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:82 +msgid "The :code:`FedAvg` strategy will call this function *every round*." +msgstr "" + +#: ../../source/how-to-configure-clients.rst:85 +msgid "Configuring individual clients" +msgstr "" + +#: ../../source/how-to-configure-clients.rst:87 +msgid "" +"In some cases, it is necessary to send different configuration values to " +"different clients." +msgstr "" + +#: ../../source/how-to-configure-clients.rst:89 +msgid "" +"This can be achieved by customizing an existing strategy or by " +"`implementing a custom strategy from scratch " +"`_. " +"Here's a nonsensical example that customizes :code:`FedAvg` by adding a " +"custom ``\"hello\": \"world\"`` configuration key/value pair to the " +"config dict of a *single client* (only the first client in the list, the " +"other clients in this round to not receive this \"special\" config " +"value):" +msgstr "" + +#: ../../source/how-to-configure-logging.rst:2 +msgid "Configure logging" +msgstr "" + +#: ../../source/how-to-configure-logging.rst:4 +msgid "" +"The Flower logger keeps track of all core events that take place in " +"federated learning workloads. It presents information by default " +"following a standard message format:" +msgstr "" + +#: ../../source/how-to-configure-logging.rst:13 +msgid "" +"containing relevant information including: log message level (e.g. " +":code:`INFO`, :code:`DEBUG`), a timestamp, the line where the logging " +"took place from, as well as the log message itself. In this way, the " +"logger would typically display information on your terminal as follows:" +msgstr "" + +#: ../../source/how-to-configure-logging.rst:34 +msgid "Saving log to file" +msgstr "" + +#: ../../source/how-to-configure-logging.rst:36 +msgid "" +"By default, the Flower log is outputted to the terminal where you launch " +"your Federated Learning workload from. This applies for both gRPC-based " +"federation (i.e. when you do :code:`fl.server.start_server`) and when " +"using the :code:`VirtualClientEngine` (i.e. when you do " +":code:`fl.simulation.start_simulation`). In some situations you might " +"want to save this log to disk. You can do so by calling the " +"`fl.common.logger.configure() " +"`_" +" function. For example:" +msgstr "" + +#: ../../source/how-to-configure-logging.rst:53 +msgid "" +"With the above, Flower will record the log you see on your terminal to " +":code:`log.txt`. This file will be created in the same directory as were " +"you are running the code from. If we inspect we see the log above is also" +" recorded but prefixing with :code:`identifier` each line:" +msgstr "" + +#: ../../source/how-to-configure-logging.rst:74 +msgid "Log your own messages" +msgstr "" + +#: ../../source/how-to-configure-logging.rst:76 +msgid "" +"You might expand the information shown by default with the Flower logger " +"by adding more messages relevant to your application. You can achieve " +"this easily as follows." +msgstr "" + +#: ../../source/how-to-configure-logging.rst:102 +msgid "" +"In this way your logger will show, in addition to the default messages, " +"the ones introduced by the clients as specified above." +msgstr "" + +#: ../../source/how-to-configure-logging.rst:128 +msgid "Log to a remote service" +msgstr "" + +#: ../../source/how-to-configure-logging.rst:130 +msgid "" +"The :code:`fl.common.logger.configure` function, also allows specifying a" +" host to which logs can be pushed (via :code:`POST`) through a native " +"Python :code:`logging.handler.HTTPHandler`. This is a particularly useful" +" feature in :code:`gRPC`-based Federated Learning workloads where " +"otherwise gathering logs from all entities (i.e. the server and the " +"clients) might be cumbersome. Note that in Flower simulation, the server " +"automatically displays all logs. You can still specify a " +":code:`HTTPHandler` should you whish to backup or analyze the logs " +"somewhere else." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:2 +msgid "Enable SSL connections" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:4 +msgid "" +"This guide describes how to a SSL-enabled secure Flower server can be " +"started and how a Flower client can establish a secure connections to it." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:7 +msgid "" +"A complete code example demonstrating a secure connection can be found " +"`here `_." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:10 +msgid "" +"The code example comes with a README.md file which will explain how to " +"start it. Although it is already SSL-enabled, it might be less " +"descriptive on how. Stick to this guide for a deeper introduction to the " +"topic." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:16 +msgid "Certificates" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:18 +msgid "" +"Using SSL-enabled connections requires certificates to be passed to the " +"server and client. For the purpose of this guide we are going to generate" +" self-signed certificates. As this can become quite complex we are going " +"to ask you to run the script in :code:`examples/advanced-" +"tensorflow/certificates/generate.sh`" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:23 +msgid "with the following command sequence:" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:30 +msgid "" +"This will generate the certificates in :code:`examples/advanced-" +"tensorflow/.cache/certificates`." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:32 +msgid "" +"The approach how the SSL certificates are generated in this example can " +"serve as an inspiration and starting point but should not be taken as " +"complete for production environments. Please refer to other sources " +"regarding the issue of correctly generating certificates for production " +"environments." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:36 +msgid "" +"In case you are a researcher you might be just fine using the self-signed" +" certificates generated using the scripts which are part of this guide." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:41 +msgid "Server" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:43 +msgid "" +"We are now going to show how to write a sever which uses the previously " +"generated scripts." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:61 +msgid "" +"When providing certificates, the server expects a tuple of three " +"certificates. :code:`Path` can be used to easily read the contents of " +"those files into byte strings, which is the data type " +":code:`start_server` expects." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:65 +#: ../../source/how-to-upgrade-to-flower-1.0.rst:37 +#: ../../source/ref-api-flwr.rst:15 +msgid "Client" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:67 +msgid "" +"We are now going to show how to write a client which uses the previously " +"generated scripts:" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:84 +msgid "" +"When setting :code:`root_certificates`, the client expects the PEM-" +"encoded root certificates as a byte string. We are again using " +":code:`Path` to simplify reading those as byte strings." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:89 +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:287 +msgid "Conclusion" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:91 +msgid "" +"You should now have learned how to generate self-signed certificates " +"using the given script, start a SSL-enabled server, and have a client " +"establish a secure connection to it." +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:96 +msgid "Additional resources" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:98 +msgid "" +"These additional sources might be relevant if you would like to dive " +"deeper into the topic of certificates:" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:100 +msgid "`Let's Encrypt `_" +msgstr "" + +#: ../../source/how-to-enable-ssl-connections.rst:101 +msgid "`certbot `_" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:2 +msgid "Implement strategies" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:4 +msgid "" +"The strategy abstraction enables implementation of fully custom " +"strategies. A strategy is basically the federated learning algorithm that" +" runs on the server. Strategies decide how to sample clients, how to " +"configure clients for training, how to aggregate updates, and how to " +"evaluate models. Flower provides a few built-in strategies which are " +"based on the same API described below." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:11 +msgid "The :code:`Strategy` abstraction" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:13 +msgid "" +"All strategy implementation are derived from the abstract base class " +":code:`flwr.server.strategy.Strategy`, both built-in implementations and " +"third party implementations. This means that custom strategy " +"implementations have the exact same capabilities at their disposal as " +"built-in ones." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:18 +msgid "" +"The strategy abstraction defines a few abstract methods that need to be " +"implemented:" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:75 +msgid "" +"Creating a new strategy means implementing a new :code:`class` (derived " +"from the abstract base class :code:`Strategy`) that implements for the " +"previously shown abstract methods:" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:100 +msgid "The Flower server calls these methods in the following order:" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:177 +msgid "The following sections describe each of those methods in more detail." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:180 +msgid "The :code:`initialize_parameters` method" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:182 +msgid "" +":code:`initialize_parameters` is called only once, at the very beginning " +"of an execution. It is responsible for providing the initial global model" +" parameters in a serialized form (i.e., as a :code:`Parameters` object)." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:184 +msgid "" +"Built-in strategies return user-provided initial parameters. The " +"following example shows how initial parameters can be passed to " +":code:`FedAvg`:" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:209 +msgid "" +"The Flower server will call :code:`initialize_parameters`, which either " +"returns the parameters that were passed to :code:`initial_parameters`, or" +" :code:`None`. If no parameters are returned from " +":code:`initialize_parameters` (i.e., :code:`None`), the server will " +"randomly select one client and ask it to provide its parameters. This is " +"a convenience feature and not recommended in practice, but it can be " +"useful for prototyping. In practice, it is recommended to always use " +"server-side parameter initialization." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:213 +msgid "" +"Server-side parameter initialization is a powerful mechanism. It can be " +"used, for example, to resume training from a previously saved checkpoint." +" It is also the fundamental capability needed to implement hybrid " +"approaches, for example, to fine-tune a pre-trained model using federated" +" learning." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:216 +msgid "The :code:`configure_fit` method" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:218 +msgid "" +":code:`configure_fit` is responsible for configuring the upcoming round " +"of training. What does *configure* mean in this context? Configuring a " +"round means selecting clients and deciding what instructions to send to " +"these clients. The signature of :code:`configure_fit` makes this clear:" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:231 +msgid "" +"The return value is a list of tuples, each representing the instructions " +"that will be sent to a particular client. Strategy implementations " +"usually perform the following steps in :code:`configure_fit`:" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:233 +#: ../../source/how-to-implement-strategies.rst:280 +msgid "" +"Use the :code:`client_manager` to randomly sample all (or a subset of) " +"available clients (each represented as a :code:`ClientProxy` object)" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:234 +msgid "" +"Pair each :code:`ClientProxy` with the same :code:`FitIns` holding the " +"current global model :code:`parameters` and :code:`config` dict" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:236 +msgid "" +"More sophisticated implementations can use :code:`configure_fit` to " +"implement custom client selection logic. A client will only participate " +"in a round if the corresponding :code:`ClientProxy` is included in the " +"the list returned from :code:`configure_fit`." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:240 +msgid "" +"The structure of this return value provides a lot of flexibility to the " +"user. Since instructions are defined on a per-client basis, different " +"instructions can be sent to each client. This enables custom strategies " +"to train, for example, different models on different clients, or use " +"different hyperparameters on different clients (via the :code:`config` " +"dict)." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:243 +msgid "The :code:`aggregate_fit` method" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:245 +msgid "" +":code:`aggregate_fit` is responsible for aggregating the results returned" +" by the clients that were selected and asked to train in " +":code:`configure_fit`." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:258 +msgid "" +"Of course, failures can happen, so there is no guarantee that the server " +"will get results from all the clients it sent instructions to (via " +":code:`configure_fit`). :code:`aggregate_fit` therefore receives a list " +"of :code:`results`, but also a list of :code:`failures`." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:260 +msgid "" +":code:`aggregate_fit` returns an optional :code:`Parameters` object and a" +" dictionary of aggregated metrics. The :code:`Parameters` return value is" +" optional because :code:`aggregate_fit` might decide that the results " +"provided are not sufficient for aggregation (e.g., too many failures)." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:263 +msgid "The :code:`configure_evaluate` method" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:265 +msgid "" +":code:`configure_evaluate` is responsible for configuring the upcoming " +"round of evaluation. What does *configure* mean in this context? " +"Configuring a round means selecting clients and deciding what " +"instructions to send to these clients. The signature of " +":code:`configure_evaluate` makes this clear:" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:278 +msgid "" +"The return value is a list of tuples, each representing the instructions " +"that will be sent to a particular client. Strategy implementations " +"usually perform the following steps in :code:`configure_evaluate`:" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:281 +msgid "" +"Pair each :code:`ClientProxy` with the same :code:`EvaluateIns` holding " +"the current global model :code:`parameters` and :code:`config` dict" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:283 +msgid "" +"More sophisticated implementations can use :code:`configure_evaluate` to " +"implement custom client selection logic. A client will only participate " +"in a round if the corresponding :code:`ClientProxy` is included in the " +"the list returned from :code:`configure_evaluate`." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:287 +msgid "" +"The structure of this return value provides a lot of flexibility to the " +"user. Since instructions are defined on a per-client basis, different " +"instructions can be sent to each client. This enables custom strategies " +"to evaluate, for example, different models on different clients, or use " +"different hyperparameters on different clients (via the :code:`config` " +"dict)." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:291 +msgid "The :code:`aggregate_evaluate` method" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:293 +msgid "" +":code:`aggregate_evaluate` is responsible for aggregating the results " +"returned by the clients that were selected and asked to evaluate in " +":code:`configure_evaluate`." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:306 +msgid "" +"Of course, failures can happen, so there is no guarantee that the server " +"will get results from all the clients it sent instructions to (via " +":code:`configure_evaluate`). :code:`aggregate_evaluate` therefore " +"receives a list of :code:`results`, but also a list of :code:`failures`." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:308 +msgid "" +":code:`aggregate_evaluate` returns an optional :code:`float` (loss) and a" +" dictionary of aggregated metrics. The :code:`float` return value is " +"optional because :code:`aggregate_evaluate` might decide that the results" +" provided are not sufficient for aggregation (e.g., too many failures)." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:311 +msgid "The :code:`evaluate` method" +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:313 +msgid "" +":code:`evaluate` is responsible for evaluating model parameters on the " +"server-side. Having :code:`evaluate` in addition to " +":code:`configure_evaluate`/:code:`aggregate_evaluate` enables strategies " +"to perform both servers-side and client-side (federated) evaluation." +msgstr "" + +#: ../../source/how-to-implement-strategies.rst:323 +msgid "" +"The return value is again optional because the strategy might not need to" +" implement server-side evaluation or because the user-defined " +":code:`evaluate` method might not complete successfully (e.g., it might " +"fail to load the server-side evaluation data)." +msgstr "" + +#: ../../source/how-to-install-flower.rst:2 +msgid "Install Flower" +msgstr "" + +#: ../../source/how-to-install-flower.rst:6 +msgid "Python version" +msgstr "" + +#: ../../source/how-to-install-flower.rst:12 +msgid "Install stable release" +msgstr "" + +#: ../../source/how-to-install-flower.rst:14 +msgid "" +"Stable releases are available on `PyPI " +"`_::" +msgstr "" + +#: ../../source/how-to-install-flower.rst:18 +msgid "" +"For simulations that use the Virtual Client Engine, ``flwr`` should be " +"installed with the ``simulation`` extra::" +msgstr "" + +#: ../../source/how-to-install-flower.rst:24 +msgid "Verify installation" +msgstr "" + +#: ../../source/how-to-install-flower.rst:26 +msgid "" +"The following command can be used to verfiy if Flower was successfully " +"installed. If everything worked, it should print the version of Flower to" +" the command line::" +msgstr "" + +#: ../../source/how-to-install-flower.rst:33 +msgid "Advanced installation options" +msgstr "" + +#: ../../source/how-to-install-flower.rst:36 +msgid "Install pre-release" +msgstr "" + +#: ../../source/how-to-install-flower.rst:38 +msgid "" +"New (possibly unstable) versions of Flower are sometimes available as " +"pre-release versions (alpha, beta, release candidate) before the stable " +"release happens::" +msgstr "" + +#: ../../source/how-to-install-flower.rst:42 +msgid "" +"For simulations that use the Virtual Client Engine, ``flwr`` pre-releases" +" should be installed with the ``simulation`` extra::" +msgstr "" + +#: ../../source/how-to-install-flower.rst:47 +msgid "Install nightly release" +msgstr "" + +#: ../../source/how-to-install-flower.rst:49 +msgid "" +"The latest (potentially unstable) changes in Flower are available as " +"nightly releases::" +msgstr "" + +#: ../../source/how-to-install-flower.rst:53 +msgid "" +"For simulations that use the Virtual Client Engine, ``flwr-nightly`` " +"should be installed with the ``simulation`` extra::" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:2 +msgid "Monitor simulation" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:4 +msgid "" +"Flower allows you to monitor system resources while running your " +"simulation. Moreover, the Flower simulation engine is powerful and " +"enables you to decide how to allocate resources per client manner and " +"constrain the total usage. Insights from resource consumption can help " +"you make smarter decisions and speed up the execution time." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:6 +msgid "" +"The specific instructions assume you are using macOS and have the " +"`Homebrew `_ package manager installed." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:10 +msgid "Downloads" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:16 +msgid "" +"`Prometheus `_ is used for data collection, while" +" `Grafana `_ will enable you to visualize the " +"collected data. They are both well integrated with `Ray " +"`_ which Flower uses under the hood." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:18 +msgid "" +"Overwrite the configuration files (depending on your device, it might be " +"installed on a different path)." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:20 +msgid "If you are on an M1 Mac, it should be:" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:27 +msgid "On the previous generation Intel Mac devices, it should be:" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:34 +msgid "" +"Open the respective configuration files and change them. Depending on " +"your device, use one of the two following commands:" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:44 +msgid "" +"and then delete all the text in the file and paste a new Prometheus " +"config you see below. You may adjust the time intervals to your " +"requirements:" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:59 +msgid "" +"Now after you have edited the Prometheus configuration, do the same with " +"the Grafana configuration files. Open those using one of the following " +"commands as before:" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:69 +msgid "" +"Your terminal editor should open and allow you to apply the following " +"configuration as before." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:84 +msgid "" +"Congratulations, you just downloaded all the necessary software needed " +"for metrics tracking. Now, let’s start it." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:88 +msgid "Tracking metrics" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:90 +msgid "" +"Before running your Flower simulation, you have to start the monitoring " +"tools you have just installed and configured." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:97 +msgid "" +"Please include the following argument in your Python code when starting a" +" simulation." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:108 +msgid "Now, you are ready to start your workload." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:110 +msgid "" +"Shortly after the simulation starts, you should see the following logs in" +" your terminal:" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:117 +msgid "You can look at everything at ``_ ." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:119 +msgid "" +"It's a Ray Dashboard. You can navigate to Metrics (on the left panel, the" +" lowest option)." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:121 +msgid "" +"Or alternatively, you can just see them in Grafana by clicking on the " +"right-up corner, “View in Grafana”. Please note that the Ray dashboard is" +" only accessible during the simulation. After the simulation ends, you " +"can only use Grafana to explore the metrics. You can start Grafana by " +"going to ``http://localhost:3000/``." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:123 +msgid "" +"After you finish the visualization, stop Prometheus and Grafana. This is " +"important as they will otherwise block, for example port :code:`3000` on " +"your machine as long as they are running." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:132 +msgid "Resource allocation" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:134 +msgid "" +"You must understand how the Ray library works to efficiently allocate " +"system resources to simulation clients on your own." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:136 +msgid "" +"Initially, the simulation (which Ray handles under the hood) starts by " +"default with all the available resources on the system, which it shares " +"among the clients. It doesn't mean it divides it equally among all of " +"them, nor that the model training happens at all of them simultaneously. " +"You will learn more about that in the later part of this blog. You can " +"check the system resources by running the following:" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:143 +msgid "In Google Colab, the result you see might be similar to this:" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:155 +msgid "" +"However, you can overwrite the defaults. When starting a simulation, do " +"the following (you don't need to overwrite all of them):" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:175 +msgid "Let’s also specify the resource for a single client." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:205 +msgid "" +"Now comes the crucial part. Ray will start a new client only when it has " +"all the required resources (such that they run in parallel) when the " +"resources allow." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:207 +msgid "" +"In the example above, only one client will be run, so your clients won't " +"run concurrently. Setting :code:`client_num_gpus = 0.5` would allow " +"running two clients and therefore enable them to run concurrently. Be " +"careful not to require more resources than available. If you specified " +":code:`client_num_gpus = 2`, the simulation wouldn't start (even if you " +"had 2 GPUs but decided to set 1 in :code:`ray_init_args`)." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:212 ../../source/ref-faq.rst:2 +msgid "FAQ" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:214 +msgid "Q: I don't see any metrics logged." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:216 +msgid "" +"A: The timeframe might not be properly set. The setting is in the top " +"right corner (\"Last 30 minutes\" by default). Please change the " +"timeframe to reflect the period when the simulation was running." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:218 +msgid "" +"Q: I see “Grafana server not detected. Please make sure the Grafana " +"server is running and refresh this page” after going to the Metrics tab " +"in Ray Dashboard." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:220 +msgid "" +"A: You probably don't have Grafana running. Please check the running " +"services" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:226 +msgid "" +"Q: I see \"This site can't be reached\" when going to " +"``_." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:228 +msgid "" +"A: Either the simulation has already finished, or you still need to start" +" Prometheus." +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:232 +msgid "Resources" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:234 +msgid "" +"Ray Dashboard: ``_" +msgstr "" + +#: ../../source/how-to-monitor-simulation.rst:236 +msgid "" +"Ray Metrics: ``_" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:2 +msgid "Run simulations" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:8 +msgid "" +"Simulating Federated Learning workloads is useful for a multitude of use-" +"cases: you might want to run your workload on a large cohort of clients " +"but without having to source, configure and mange a large number of " +"physical devices; you might want to run your FL workloads as fast as " +"possible on the compute systems you have access to without having to go " +"through a complex setup process; you might want to validate your " +"algorithm on different scenarios at varying levels of data and system " +"heterogeneity, client availability, privacy budgets, etc. These are among" +" some of the use-cases where simulating FL workloads makes sense. Flower " +"can accommodate these scenarios by means of its `VirtualClientEngine " +"`_ or " +"VCE." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:10 +msgid "" +"The :code:`VirtualClientEngine` schedules, launches and manages `virtual`" +" clients. These clients are identical to `non-virtual` clients (i.e. the " +"ones you launch via the command `flwr.client.start_numpy_client `_) in the sense that they can be configure " +"by creating a class inheriting, for example, from " +"`flwr.client.NumPyClient `_ " +"and therefore behave in an identical way. In addition to that, clients " +"managed by the :code:`VirtualClientEngine` are:" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:12 +msgid "" +"resource-aware: this means that each client gets assigned a portion of " +"the compute and memory on your system. You as a user can control this at " +"the beginning of the simulation and allows you to control the degree of " +"parallelism of your Flower FL simulation. The fewer the resources per " +"client, the more clients can run concurrently on the same hardware." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:13 +msgid "" +"self-managed: this means that you as a user do not need to launch clients" +" manually, instead this gets delegated to :code:`VirtualClientEngine`'s " +"internals." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:14 +msgid "" +"ephemeral: this means that a client is only materialized when it is " +"required in the FL process (e.g. to do `fit() `_). The object is destroyed afterwards," +" releasing the resources it was assigned and allowing in this way other " +"clients to participate." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:16 +msgid "" +"The :code:`VirtualClientEngine` implements `virtual` clients using `Ray " +"`_, an open-source framework for scalable Python " +"workloads. In particular, Flower's :code:`VirtualClientEngine` makes use " +"of `Actors `_ to " +"spawn `virtual` clients and run their workload." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:20 +msgid "Launch your Flower simulation" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:22 +msgid "" +"Running Flower simulations still require you to define your client class," +" a strategy, and utility functions to download and load (and potentially " +"partition) your dataset. With that out of the way, launching your " +"simulation is done with `start_simulation `_ and a minimal example looks" +" as follows:" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:44 +msgid "VirtualClientEngine resources" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:45 +msgid "" +"By default the VCE has access to all system resources (i.e. all CPUs, all" +" GPUs, etc) since that is also the default behavior when starting Ray. " +"However, in some settings you might want to limit how many of your system" +" resources are used for simulation. You can do this via the " +":code:`ray_init_args` input argument to :code:`start_simulation` which " +"the VCE internally passes to Ray's :code:`ray.init` command. For a " +"complete list of settings you can configure check the `ray.init " +"`_" +" documentation. Do not set :code:`ray_init_args` if you want the VCE to " +"use all your system's CPUs and GPUs." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:62 +msgid "Assigning client resources" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:63 +msgid "" +"By default the :code:`VirtualClientEngine` assigns a single CPU core (and" +" nothing else) to each virtual client. This means that if your system has" +" 10 cores, that many virtual clients can be concurrently running." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:65 +msgid "" +"More often than not, you would probably like to adjust the resources your" +" clients get assigned based on the complexity (i.e. compute and memory " +"footprint) of your FL workload. You can do so when starting your " +"simulation by setting the argument `client_resources` to " +"`start_simulation `_." +" Two keys are internally used by Ray to schedule and spawn workloads (in " +"our case Flower clients):" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:67 +msgid ":code:`num_cpus` indicates the number of CPU cores a client would get." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:68 +msgid "" +":code:`num_gpus` indicates the **ratio** of GPU memory a client gets " +"assigned." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:70 +msgid "Let's see a few examples:" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:89 +msgid "" +"While the :code:`client_resources` can be used to control the degree of " +"concurrency in your FL simulation, this does not stop you from running " +"dozens, hundreds or even thousands of clients in the same round and " +"having orders of magnitude more `dormant` (i.e. not participating in a " +"round) clients. Let's say you want to have 100 clients per round but your" +" system can only accommodate 8 clients concurrently. The " +":code:`VirtualClientEngine` will schedule 100 jobs to run (each " +"simulating a client sampled by the strategy) and then will execute them " +"in a resource-aware manner in batches of 8." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:91 +msgid "" +"To understand all the intricate details on how resources are used to " +"schedule FL clients and how to define custom resources, please take a " +"look at the `Ray documentation `_." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:94 +msgid "Simulation examples" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:96 +msgid "" +"A few ready-to-run complete examples for Flower simulation in " +"Tensorflow/Keras and PyTorch are provided in the `Flower repository " +"`_. You can run them on Google Colab too:" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:98 +msgid "" +"`Tensorflow/Keras Simulation " +"`_: 100 clients collaboratively train a MLP model on MNIST." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:99 +msgid "" +"`PyTorch Simulation `_: 100 clients collaboratively train a CNN model on " +"MNIST." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:104 +msgid "Multi-node Flower simulations" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:106 +msgid "" +"Flower's :code:`VirtualClientEngine` allows you to run FL simulations " +"across multiple compute nodes. Before starting your multi-node simulation" +" ensure that you:" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:108 +msgid "Have the same Python environment in all nodes." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:109 +msgid "Have a copy of your code (e.g. your entire repo) in all nodes." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:110 +msgid "" +"Have a copy of your dataset in all nodes (more about this in " +":ref:`simulation considerations `)" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:111 +msgid "" +"Pass :code:`ray_init_args={\"address\"=\"auto\"}` to `start_simulation " +"`_ so the " +":code:`VirtualClientEngine` attaches to a running Ray instance." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:112 +msgid "" +"Start Ray on you head node: on the terminal type :code:`ray start " +"--head`. This command will print a few lines, one of which indicates how " +"to attach other nodes to the head node." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:113 +msgid "" +"Attach other nodes to the head node: copy the command shown after " +"starting the head and execute it on terminal of a new node: for example " +":code:`ray start --address='192.168.1.132:6379'`" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:115 +msgid "" +"With all the above done, you can run your code from the head node as you " +"would if the simulation was running on a single node." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:117 +msgid "" +"Once your simulation is finished, if you'd like to dismantle your cluster" +" you simply need to run the command :code:`ray stop` in each node's " +"terminal (including the head node)." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:120 +msgid "Multi-node simulation good-to-know" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:122 +msgid "" +"Here we list a few interesting functionality when running multi-node FL " +"simulations:" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:124 +msgid "" +"User :code:`ray status` to check all nodes connected to your head node as" +" well as the total resources available to the " +":code:`VirtualClientEngine`." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:126 +msgid "" +"When attaching a new node to the head, all its resources (i.e. all CPUs, " +"all GPUs) will be visible by the head node. This means that the " +":code:`VirtualClientEngine` can schedule as many `virtual` clients as " +"that node can possible run. In some settings you might want to exclude " +"certain resources from the simulation. You can do this by appending " +"`--num-cpus=` and/or `--num-" +"gpus=` in any :code:`ray start` command (including " +"when starting the head)" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:132 +msgid "Considerations for simulations" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:135 +msgid "" +"We are actively working on these fronts so to make it trivial to run any " +"FL workload with Flower simulation." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:138 +msgid "" +"The current VCE allows you to run Federated Learning workloads in " +"simulation mode whether you are prototyping simple scenarios on your " +"personal laptop or you want to train a complex FL pipeline across " +"multiple high-performance GPU nodes. While we add more capabilities to " +"the VCE, the points below highlight some of the considerations to keep in" +" mind when designing your FL pipeline with Flower. We also highlight a " +"couple of current limitations in our implementation." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:141 +msgid "GPU resources" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:143 +msgid "" +"The VCE assigns a share of GPU memory to a client that specifies the key " +":code:`num_gpus` in :code:`client_resources`. This being said, Ray (used " +"internally by the VCE) is by default:" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:146 +msgid "" +"not aware of the total VRAM available on the GPUs. This means that if you" +" set :code:`num_gpus=0.5` and you have two GPUs in your system with " +"different (e.g. 32GB and 8GB) VRAM amounts, they both would run 2 clients" +" concurrently." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:147 +msgid "" +"not aware of other unrelated (i.e. not created by the VCE) workloads are " +"running on the GPU. Two takeaways from this are:" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:149 +msgid "" +"Your Flower server might need a GPU to evaluate the `global model` after " +"aggregation (by instance when making use of the `evaluate method `_)" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:150 +msgid "" +"If you want to run several independent Flower simulations on the same " +"machine you need to mask-out your GPUs with " +":code:`CUDA_VISIBLE_DEVICES=\"\"` when launching your " +"experiment." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:153 +msgid "" +"In addition, the GPU resource limits passed to :code:`client_resources` " +"are not `enforced` (i.e. they can be exceeded) which can result in the " +"situation of client using more VRAM than the ratio specified when " +"starting the simulation." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:156 +msgid "TensorFlow with GPUs" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:158 +msgid "" +"When `using a GPU with TensorFlow " +"`_ nearly your entire GPU memory of" +" all your GPUs visible to the process will be mapped. This is done by " +"TensorFlow for optimization purposes. However, in settings such as FL " +"simulations where we want to split the GPU into multiple `virtual` " +"clients, this is not a desirable mechanism. Luckily we can disable this " +"default behavior by `enabling memory growth " +"`_." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:160 +msgid "" +"This would need to be done in the main process (which is where the server" +" would run) and in each Actor created by the VCE. By means of " +":code:`actor_kwargs` we can pass the reserved key `\"on_actor_init_fn\"` " +"in order to specify a function to be executed upon actor initialization. " +"In this case, to enable GPU growth for TF workloads. It would look as " +"follows:" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:179 +msgid "" +"This is precisely the mechanism used in `Tensorflow/Keras Simulation " +"`_ example." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:183 +msgid "Multi-node setups" +msgstr "" + +#: ../../source/how-to-run-simulations.rst:185 +msgid "" +"The VCE does not currently offer a way to control on which node a " +"particular `virtual` client is executed. In other words, if more than a " +"single node have the resources needed by a client to run, then any of " +"those nodes could get the client workload scheduled onto. Later in the FL" +" process (i.e. in a different round) the same client could be executed by" +" a different node. Depending on how your clients access their datasets, " +"this might require either having a copy of all dataset partitions on all " +"nodes or a dataset serving mechanism (e.g. using nfs, a database) to " +"circumvent data duplication." +msgstr "" + +#: ../../source/how-to-run-simulations.rst:187 +msgid "" +"By definition virtual clients are `stateless` due to their ephemeral " +"nature. A client state can be implemented as part of the Flower client " +"class but users need to ensure this saved to persistent storage (e.g. a " +"database, disk) and that can be retrieve later by the same client " +"regardless on which node it is running from. This is related to the point" +" above also since, in some way, the client's dataset could be seen as a " +"type of `state`." +msgstr "" + +#: ../../source/how-to-save-and-load-model-checkpoints.rst:2 +msgid "Save and load model checkpoints" +msgstr "" + +#: ../../source/how-to-save-and-load-model-checkpoints.rst:4 +msgid "" +"Flower does not automatically save model updates on the server-side. This" +" how-to guide describes the steps to save (and load) model checkpoints in" +" Flower." +msgstr "" + +#: ../../source/how-to-save-and-load-model-checkpoints.rst:8 +msgid "Model checkpointing" +msgstr "" + +#: ../../source/how-to-save-and-load-model-checkpoints.rst:10 +msgid "" +"Model updates can be persisted on the server-side by customizing " +":code:`Strategy` methods. Implementing custom strategies is always an " +"option, but for many cases it may be more convenient to simply customize " +"an existing strategy. The following code example defines a new " +":code:`SaveModelStrategy` which customized the existing built-in " +":code:`FedAvg` strategy. In particular, it customizes " +":code:`aggregate_fit` by calling :code:`aggregate_fit` in the base class " +"(:code:`FedAvg`). It then continues to save returned (aggregated) weights" +" before it returns those aggregated weights to the caller (i.e., the " +"server):" +msgstr "" + +#: ../../source/how-to-save-and-load-model-checkpoints.rst:47 +msgid "Save and load PyTorch checkpoints" +msgstr "" + +#: ../../source/how-to-save-and-load-model-checkpoints.rst:49 +msgid "" +"Similar to the previous example but with a few extra steps, we'll show " +"how to store a PyTorch checkpoint we'll use the ``torch.save`` function. " +"Firstly, ``aggregate_fit`` returns a ``Parameters`` object that has to be" +" transformed into a list of NumPy ``ndarray``'s, then those are " +"transformed into the PyTorch ``state_dict`` following the ``OrderedDict``" +" class structure." +msgstr "" + +#: ../../source/how-to-save-and-load-model-checkpoints.rst:85 +msgid "" +"To load your progress, you simply append the following lines to your " +"code. Note that this will iterate over all saved checkpoints and load the" +" latest one:" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:2 +msgid "Upgrade to Flower 1.0" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:4 +msgid "" +"Flower 1.0 is here. Along with new features, Flower 1.0 provides a stable" +" foundation for future growth. Compared to Flower 0.19 (and other 0.x " +"series releases), there are a few breaking changes that make it necessary" +" to change the code of existing 0.x-series projects." +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:8 +msgid "Install update" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:10 +msgid "" +"Here's how to update an existing installation to Flower 1.0 using either " +"pip or Poetry:" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:12 +msgid "pip: add ``-U`` when installing." +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:14 +msgid "" +"``python -m pip install -U flwr`` (when using ``start_server`` and " +"``start_client``)" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:15 +msgid "" +"``python -m pip install -U flwr[simulation]`` (when using " +"``start_simulation``)" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:17 +msgid "" +"Poetry: update the ``flwr`` dependency in ``pyproject.toml`` and then " +"reinstall (don't forget to delete ``poetry.lock`` via ``rm poetry.lock`` " +"before running ``poetry install``)." +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:19 +msgid "``flwr = \"^1.0.0\"`` (when using ``start_server`` and ``start_client``)" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:20 +msgid "" +"``flwr = { version = \"^1.0.0\", extras = [\"simulation\"] }`` (when " +"using ``start_simulation``)" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:24 +msgid "Required changes" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:26 +msgid "The following breaking changes require manual updates." +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:29 +msgid "General" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:31 +msgid "" +"Pass all arguments as keyword arguments (not as positional arguments). " +"Here's an example:" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:33 +msgid "" +"Flower 0.19 (positional arguments): ``start_client(\"127.0.0.1:8080\", " +"FlowerClient())``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:34 +msgid "" +"Flower 1.0 (keyword arguments): " +"``start_client(server_address=\"127.0.0.1:8080\", " +"client=FlowerClient())``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:39 +msgid "" +"Subclasses of ``NumPyClient``: change ``def get_parameters(self):``` to " +"``def get_parameters(self, config):``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:40 +msgid "" +"Subclasses of ``Client``: change ``def get_parameters(self):``` to ``def " +"get_parameters(self, ins: GetParametersIns):``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:43 +msgid "Strategies / ``start_server`` / ``start_simulation``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:45 +msgid "" +"Pass ``ServerConfig`` (instead of a dictionary) to ``start_server`` and " +"``start_simulation``. Here's an example:" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:47 +msgid "" +"Flower 0.19: ``start_server(..., config={\"num_rounds\": 3, " +"\"round_timeout\": 600.0}, ...)``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:48 +msgid "" +"Flower 1.0: ``start_server(..., " +"config=flwr.server.ServerConfig(num_rounds=3, round_timeout=600.0), " +"...)``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:50 +msgid "" +"Replace ``num_rounds=1`` in ``start_simulation`` with the new " +"``config=ServerConfig(...)`` (see previous item)" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:51 +msgid "" +"Remove ``force_final_distributed_eval`` parameter from calls to " +"``start_server``. Distributed evaluation on all clients can be enabled by" +" configuring the strategy to sample all clients for evaluation after the " +"last round of training." +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:52 +msgid "Rename parameter/ndarray conversion functions:" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:54 +msgid "``parameters_to_weights`` --> ``parameters_to_ndarrays``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:55 +msgid "``weights_to_parameters`` --> ``ndarrays_to_parameters``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:57 +msgid "" +"Strategy initialization: if the strategy relies on the default values for" +" ``fraction_fit`` and ``fraction_evaluate``, set ``fraction_fit`` and " +"``fraction_evaluate`` manually to ``0.1``. Projects that do not manually " +"create a strategy (by calling ``start_server`` or ``start_simulation`` " +"without passing a strategy instance) should now manually initialize " +"FedAvg with ``fraction_fit`` and ``fraction_evaluate`` set to ``0.1``." +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:58 +msgid "Rename built-in strategy parameters (e.g., ``FedAvg``):" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:60 +msgid "``fraction_eval`` --> ``fraction_evaluate``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:61 +msgid "``min_eval_clients`` --> ``min_evaluate_clients``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:62 +msgid "``eval_fn`` --> ``evaluate_fn``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:64 +msgid "" +"Rename ``rnd`` to ``server_round``. This impacts multiple methods and " +"functions, for example, ``configure_fit``, ``aggregate_fit``, " +"``configure_evaluate``, ``aggregate_evaluate``, and ``evaluate_fn``." +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:65 +msgid "Add ``server_round`` and ``config`` to ``evaluate_fn``:" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:67 +msgid "" +"Flower 0.19: ``def evaluate(parameters: NDArrays) -> " +"Optional[Tuple[float, Dict[str, Scalar]]]:``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:68 +msgid "" +"Flower 1.0: ``def evaluate(server_round: int, parameters: NDArrays, " +"config: Dict[str, Scalar]) -> Optional[Tuple[float, Dict[str, " +"Scalar]]]:``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:71 +msgid "Custom strategies" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:73 +msgid "" +"The type of parameter ``failures`` has changed from " +"``List[BaseException]`` to ``List[Union[Tuple[ClientProxy, FitRes], " +"BaseException]]`` (in ``aggregate_fit``) and " +"``List[Union[Tuple[ClientProxy, EvaluateRes], BaseException]]`` (in " +"``aggregate_evaluate``)" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:74 +msgid "" +"The ``Strategy`` method ``evaluate`` now receives the current round of " +"federated learning/evaluation as the first parameter:" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:76 +msgid "" +"Flower 0.19: ``def evaluate(self, parameters: Parameters) -> " +"Optional[Tuple[float, Dict[str, Scalar]]]:``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:77 +msgid "" +"Flower 1.0: ``def evaluate(self, server_round: int, parameters: " +"Parameters) -> Optional[Tuple[float, Dict[str, Scalar]]]:``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:80 +msgid "Optional improvements" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:82 +msgid "" +"Along with the necessary changes above, there are a number of potential " +"improvements that just became possible:" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:84 +msgid "" +"Remove \"placeholder\" methods from subclasses of ``Client`` or " +"``NumPyClient``. If you, for example, use server-side evaluation, then " +"empy placeholder implementations of ``evaluate`` are no longer necessary." +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:85 +msgid "" +"Configure the round timeout via ``start_simulation``: " +"``start_simulation(..., config=flwr.server.ServerConfig(num_rounds=3, " +"round_timeout=600.0), ...)``" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:89 +msgid "Further help" +msgstr "" + +#: ../../source/how-to-upgrade-to-flower-1.0.rst:91 +msgid "" +"Most official `Flower code examples " +"`_ are already updated" +" to Flower 1.0, they can serve as a reference for using the Flower 1.0 " +"API. If there are further questionsm, `join the Flower Slack " +"`_ and use the channgel ``#questions``." +msgstr "" + +#: ../../source/how-to-use-strategies.rst:2 +msgid "Use strategies" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:4 +msgid "" +"Flower allows full customization of the learning process through the " +":code:`Strategy` abstraction. A number of built-in strategies are " +"provided in the core framework." +msgstr "" + +#: ../../source/how-to-use-strategies.rst:6 +msgid "" +"There are three ways to customize the way Flower orchestrates the " +"learning process on the server side:" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:8 +msgid "Use an existing strategy, for example, :code:`FedAvg`" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:9 +#: ../../source/how-to-use-strategies.rst:40 +msgid "Customize an existing strategy with callback functions" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:10 +#: ../../source/how-to-use-strategies.rst:87 +msgid "Implement a novel strategy" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:14 +msgid "Use an existing strategy" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:16 +msgid "" +"Flower comes with a number of popular federated learning strategies " +"built-in. A built-in strategy can be instantiated as follows:" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:25 +msgid "" +"This creates a strategy with all parameters left at their default values " +"and passes it to the :code:`start_server` function. It is usually " +"recommended to adjust a few parameters during instantiation:" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:42 +msgid "" +"Existing strategies provide several ways to customize their behaviour. " +"Callback functions allow strategies to call user-provided code during " +"execution." +msgstr "" + +#: ../../source/how-to-use-strategies.rst:45 +msgid "Configuring client fit and client evaluate" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:47 +msgid "" +"The server can pass new configuration values to the client each round by " +"providing a function to :code:`on_fit_config_fn`. The provided function " +"will be called by the strategy and must return a dictionary of " +"configuration key values pairs that will be sent to the client. It must " +"return a dictionary of arbitraty configuration values :code:`client.fit`" +" and :code:`client.evaluate` functions during each round of federated " +"learning." +msgstr "" + +#: ../../source/how-to-use-strategies.rst:75 +msgid "" +"The :code:`on_fit_config_fn` can be used to pass arbitrary configuration " +"values from server to client, and poetentially change these values each " +"round, for example, to adjust the learning rate. The client will receive " +"the dictionary returned by the :code:`on_fit_config_fn` in its own " +":code:`client.fit()` function." +msgstr "" + +#: ../../source/how-to-use-strategies.rst:78 +msgid "" +"Similar to :code:`on_fit_config_fn`, there is also " +":code:`on_evaluate_config_fn` to customize the configuration sent to " +":code:`client.evaluate()`" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:81 +msgid "Configuring server-side evaluation" +msgstr "" + +#: ../../source/how-to-use-strategies.rst:83 +msgid "" +"Server-side evaluation can be enabled by passing an evaluation function " +"to :code:`evaluate_fn`." +msgstr "" + +#: ../../source/how-to-use-strategies.rst:89 +msgid "" +"Writing a fully custom strategy is a bit more involved, but it provides " +"the most flexibility. Read the `Implementing Strategies `_ guide to learn more." +msgstr "" + +#: ../../source/index.rst:34 +msgid "Tutorial" +msgstr "" + +#: ../../source/index.rst:44 +msgid "Quickstart tutorials" +msgstr "" + +#: ../../source/index.rst:75 ../../source/index.rst:79 +msgid "How-to guides" +msgstr "" + +#: ../../source/index.rst:95 +msgid "Legacy example guides" +msgstr "" + +#: ../../source/index.rst:106 ../../source/index.rst:110 +msgid "Explanations" +msgstr "" + +#: ../../source/index.rst:122 +msgid "API reference" +msgstr "" + +#: ../../source/index.rst:129 +msgid "Reference docs" +msgstr "" + +#: ../../source/index.rst:145 +msgid "Contributor tutorials" +msgstr "" + +#: ../../source/index.rst:152 +msgid "Contributor how-to guides" +msgstr "" + +#: ../../source/index.rst:164 +msgid "Contributor explanations" +msgstr "" + +#: ../../source/index.rst:170 +msgid "Contributor references" +msgstr "" + +#: ../../source/index.rst:-1 +msgid "" +"Check out the documentation of the main Flower Framework enabling easy " +"Python development for Federated Learning." +msgstr "" + +#: ../../source/index.rst:2 +msgid "Flower Framework Documentation" +msgstr "" + +#: ../../source/index.rst:7 +msgid "" +"Welcome to Flower's documentation. `Flower `_ is a " +"friendly federated learning framework." +msgstr "" + +#: ../../source/index.rst:11 +msgid "Join the Flower Community" +msgstr "" + +#: ../../source/index.rst:13 +msgid "" +"The Flower Community is growing quickly - we're a friendly group of " +"researchers, engineers, students, professionals, academics, and other " +"enthusiasts." +msgstr "" + +#: ../../source/index.rst:15 +msgid "Join us on Slack" +msgstr "" + +#: ../../source/index.rst:23 +msgid "Flower Framework" +msgstr "" + +#: ../../source/index.rst:25 +msgid "" +"The user guide is targeted at researchers and developers who want to use " +"Flower to bring existing machine learning workloads into a federated " +"setting. One of Flower's design goals was to make this simple. Read on to" +" learn more." +msgstr "" + +#: ../../source/index.rst:30 +msgid "Tutorials" +msgstr "" + +#: ../../source/index.rst:32 +msgid "" +"A learning-oriented series of federated learning tutorials, the best " +"place to start." +msgstr "" + +#: ../../source/index.rst:62 +msgid "" +"QUICKSTART TUTORIALS: :doc:`PyTorch ` | " +":doc:`TensorFlow ` | :doc:`🤗 Transformers" +" ` | :doc:`JAX ` | :doc:`Pandas ` | :doc:`fastai " +"` | :doc:`PyTorch Lightning ` | :doc:`MXNet `" +" | :doc:`scikit-learn ` | :doc:`XGBoost " +"` | :doc:`Android ` | :doc:`iOS `" +msgstr "" + +#: ../../source/index.rst:64 +msgid "We also made video tutorials for PyTorch:" +msgstr "" + +#: ../../source/index.rst:69 +msgid "And TensorFlow:" +msgstr "" + +#: ../../source/index.rst:77 +msgid "" +"Problem-oriented how-to guides show step-by-step how to achieve a " +"specific goal." +msgstr "" + +#: ../../source/index.rst:108 +msgid "" +"Understanding-oriented concept guides explain and discuss key topics and " +"underlying ideas behind Flower and collaborative AI." +msgstr "" + +#: ../../source/index.rst:118 +msgid "References" +msgstr "" + +#: ../../source/index.rst:120 +msgid "Information-oriented API reference and other reference material." +msgstr "" + +#: ../../source/index.rst:140 +msgid "Contributor docs" +msgstr "" + +#: ../../source/index.rst:142 +msgid "" +"The Flower community welcomes contributions. The following docs are " +"intended to help along the way." +msgstr "" + +#: ../../source/ref-api-cli.rst:2 +msgid "Flower CLI reference" +msgstr "" + +#: ../../source/ref-api-cli.rst:7 +msgid "flower-server" +msgstr "" + +#: ../../source/ref-api-cli.rst:17 +msgid "flower-driver-api" +msgstr "" + +#: ../../source/ref-api-cli.rst:27 +msgid "flower-fleet-api" +msgstr "" + +#: ../../source/ref-api-flwr.rst:2 +msgid "flwr (Python API reference)" +msgstr "" + +#: ../../source/ref-api-flwr.rst:8 +msgid "client" +msgstr "" + +#: flwr.client:1 of +msgid "Flower client." +msgstr "" + +#: flwr.client.client.Client:1 of +msgid "Abstract base class for Flower clients." +msgstr "" + +#: flwr.client.client.Client.evaluate:1 +#: flwr.client.numpy_client.NumPyClient.evaluate:1 of +msgid "Evaluate the provided parameters using the locally held dataset." +msgstr "" + +#: flwr.client.app.start_client flwr.client.app.start_numpy_client +#: flwr.client.client.Client.evaluate flwr.client.client.Client.fit +#: flwr.client.client.Client.get_parameters +#: flwr.client.client.Client.get_properties +#: flwr.client.numpy_client.NumPyClient.evaluate +#: flwr.client.numpy_client.NumPyClient.fit +#: flwr.client.numpy_client.NumPyClient.get_parameters +#: flwr.client.numpy_client.NumPyClient.get_properties +#: flwr.server.app.start_server flwr.server.strategy.bulyan.Bulyan.__init__ +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_evaluate +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_fit +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__ +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__ +#: flwr.server.strategy.fedadam.FedAdam.__init__ +#: flwr.server.strategy.fedavg.FedAvg.__init__ +#: flwr.server.strategy.fedavgm.FedAvgM.__init__ +#: flwr.server.strategy.fedopt.FedOpt.__init__ +#: flwr.server.strategy.fedprox.FedProx.__init__ +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__ +#: flwr.server.strategy.fedyogi.FedYogi.__init__ +#: flwr.server.strategy.krum.Krum.__init__ +#: flwr.server.strategy.qfedavg.QFedAvg.__init__ +#: flwr.server.strategy.strategy.Strategy.aggregate_evaluate +#: flwr.server.strategy.strategy.Strategy.aggregate_fit +#: flwr.server.strategy.strategy.Strategy.configure_evaluate +#: flwr.server.strategy.strategy.Strategy.configure_fit +#: flwr.server.strategy.strategy.Strategy.evaluate +#: flwr.server.strategy.strategy.Strategy.initialize_parameters +#: flwr.simulation.app.start_simulation of +msgid "Parameters" +msgstr "" + +#: flwr.client.client.Client.evaluate:3 of +msgid "" +"The evaluation instructions containing (global) model parameters received" +" from the server and a dictionary of configuration values used to " +"customize the local evaluation process." +msgstr "" + +#: flwr.client.client.Client.evaluate flwr.client.client.Client.fit +#: flwr.client.client.Client.get_parameters +#: flwr.client.client.Client.get_properties +#: flwr.client.numpy_client.NumPyClient.evaluate +#: flwr.client.numpy_client.NumPyClient.fit +#: flwr.client.numpy_client.NumPyClient.get_parameters +#: flwr.client.numpy_client.NumPyClient.get_properties +#: flwr.server.app.start_server +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_evaluate +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_fit +#: flwr.server.strategy.strategy.Strategy.aggregate_evaluate +#: flwr.server.strategy.strategy.Strategy.aggregate_fit +#: flwr.server.strategy.strategy.Strategy.configure_evaluate +#: flwr.server.strategy.strategy.Strategy.configure_fit +#: flwr.server.strategy.strategy.Strategy.evaluate +#: flwr.server.strategy.strategy.Strategy.initialize_parameters +#: flwr.simulation.app.start_simulation of +msgid "Returns" +msgstr "" + +#: flwr.client.client.Client.evaluate:8 of +msgid "" +"The evaluation result containing the loss on the local dataset and other " +"details such as the number of local data examples used for evaluation." +msgstr "" + +#: flwr.client.client.Client.evaluate flwr.client.client.Client.fit +#: flwr.client.client.Client.get_parameters +#: flwr.client.client.Client.get_properties +#: flwr.client.numpy_client.NumPyClient.get_parameters +#: flwr.client.numpy_client.NumPyClient.get_properties +#: flwr.server.app.start_server +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_evaluate +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_fit +#: flwr.server.strategy.strategy.Strategy.aggregate_evaluate +#: flwr.server.strategy.strategy.Strategy.aggregate_fit +#: flwr.server.strategy.strategy.Strategy.configure_evaluate +#: flwr.server.strategy.strategy.Strategy.configure_fit +#: flwr.server.strategy.strategy.Strategy.evaluate +#: flwr.server.strategy.strategy.Strategy.initialize_parameters +#: flwr.simulation.app.start_simulation of +msgid "Return type" +msgstr "" + +#: flwr.client.client.Client.fit:1 of +msgid "Refine the provided parameters using the locally held dataset." +msgstr "" + +#: flwr.client.client.Client.fit:3 of +msgid "" +"The training instructions containing (global) model parameters received " +"from the server and a dictionary of configuration values used to " +"customize the local training process." +msgstr "" + +#: flwr.client.client.Client.fit:8 of +msgid "" +"The training result containing updated parameters and other details such " +"as the number of local training examples used for training." +msgstr "" + +#: flwr.client.client.Client.get_parameters:1 +#: flwr.client.numpy_client.NumPyClient.get_parameters:1 of +msgid "Return the current local model parameters." +msgstr "" + +#: flwr.client.client.Client.get_parameters:3 of +msgid "" +"The get parameters instructions received from the server containing a " +"dictionary of configuration values." +msgstr "" + +#: flwr.client.client.Client.get_parameters:7 of +msgid "The current local model parameters." +msgstr "" + +#: flwr.client.client.Client.get_properties:1 of +msgid "Return set of client's properties." +msgstr "" + +#: flwr.client.client.Client.get_properties:3 of +msgid "" +"The get properties instructions received from the server containing a " +"dictionary of configuration values." +msgstr "" + +#: flwr.client.client.Client.get_properties:7 of +msgid "The current client properties." +msgstr "" + +#: flwr.client.client.Client.to_client:1 of +msgid "Return client (itself)." +msgstr "" + +#: ../../source/ref-api-flwr.rst:24 +msgid "start_client" +msgstr "" + +#: flwr.client.app.start_client:1 of +msgid "Start a Flower client node which connects to a Flower server." +msgstr "" + +#: flwr.client.app.start_client:3 flwr.client.app.start_numpy_client:3 of +msgid "" +"The IPv4 or IPv6 address of the server. If the Flower server runs on the " +"same machine on port 8080, then `server_address` would be " +"`\"[::]:8080\"`." +msgstr "" + +#: flwr.client.app.start_client:7 of +msgid "..." +msgstr "" + +#: flwr.client.app.start_client:9 of +msgid "A callable that instantiates a Client. (default: None)" +msgstr "" + +#: flwr.client.app.start_client:11 of +msgid "" +"An implementation of the abstract base class `flwr.client.Client` " +"(default: None)" +msgstr "" + +#: flwr.client.app.start_client:14 flwr.client.app.start_numpy_client:9 of +msgid "" +"The maximum length of gRPC messages that can be exchanged with the Flower" +" server. The default should be sufficient for most models. Users who " +"train very large models might need to increase this value. Note that the " +"Flower server needs to be started with the same value (see " +"`flwr.server.start_server`), otherwise it will not know about the " +"increased limit and block larger messages." +msgstr "" + +#: flwr.client.app.start_client:21 flwr.client.app.start_numpy_client:16 of +msgid "" +"The PEM-encoded root certificates as a byte string or a path string. If " +"provided, a secure connection using the certificates will be established " +"to an SSL-enabled Flower server." +msgstr "" + +#: flwr.client.app.start_client:25 flwr.client.app.start_numpy_client:20 of +msgid "" +"Configure the transport layer. Allowed values: - 'grpc-bidi': gRPC, " +"bidirectional streaming - 'grpc-rere': gRPC, request-response " +"(experimental) - 'rest': HTTP (experimental)" +msgstr "" + +#: flwr.client.app.start_client:32 flwr.client.app.start_numpy_client:27 +#: flwr.server.app.start_server:41 of +msgid "Examples" +msgstr "" + +#: flwr.client.app.start_client:33 of +msgid "Starting a gRPC client with an insecure server connection:" +msgstr "" + +#: flwr.client.app.start_client:43 flwr.client.app.start_numpy_client:35 of +msgid "Starting an SSL-enabled gRPC client:" +msgstr "" + +#: ../../source/ref-api-flwr.rst:32 +msgid "NumPyClient" +msgstr "" + +#: flwr.client.numpy_client.NumPyClient:1 of +msgid "Abstract base class for Flower clients using NumPy." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.evaluate:3 +#: flwr.client.numpy_client.NumPyClient.fit:3 +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_evaluate:5 +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_fit:8 +#: flwr.server.strategy.strategy.Strategy.configure_evaluate:5 +#: flwr.server.strategy.strategy.Strategy.configure_fit:5 +#: flwr.server.strategy.strategy.Strategy.evaluate:8 of +msgid "The current (global) model parameters." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.evaluate:5 of +msgid "" +"Configuration parameters which allow the server to influence evaluation " +"on the client. It can be used to communicate arbitrary values from the " +"server to the client, for example, to influence the number of examples " +"used for evaluation." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.evaluate:11 of +msgid "" +"* **loss** (*float*) -- The evaluation loss of the model on the local " +"dataset. * **num_examples** (*int*) -- The number of examples used for " +"evaluation. * **metrics** (*Dict[str, Scalar]*) -- A dictionary mapping " +"arbitrary string keys to values of type bool, bytes, float, int, or " +"str. It can be used to communicate arbitrary values back to the server." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.evaluate:11 of +msgid "" +"**loss** (*float*) -- The evaluation loss of the model on the local " +"dataset." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.evaluate:12 of +msgid "**num_examples** (*int*) -- The number of examples used for evaluation." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.evaluate:13 +#: flwr.client.numpy_client.NumPyClient.fit:13 of +msgid "" +"**metrics** (*Dict[str, Scalar]*) -- A dictionary mapping arbitrary " +"string keys to values of type bool, bytes, float, int, or str. It can be " +"used to communicate arbitrary values back to the server." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.evaluate:19 of +msgid "" +"The previous return type format (int, float, float) and the extended " +"format (int, float, float, Dict[str, Scalar]) have been deprecated and " +"removed since Flower 0.19." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.fit:1 of +msgid "Train the provided parameters using the locally held dataset." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.fit:5 of +msgid "" +"Configuration parameters which allow the server to influence training on " +"the client. It can be used to communicate arbitrary values from the " +"server to the client, for example, to set the number of (local) training " +"epochs." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.fit:11 of +msgid "" +"* **parameters** (*NDArrays*) -- The locally updated model parameters. * " +"**num_examples** (*int*) -- The number of examples used for training. * " +"**metrics** (*Dict[str, Scalar]*) -- A dictionary mapping arbitrary " +"string keys to values of type bool, bytes, float, int, or str. It can " +"be used to communicate arbitrary values back to the server." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.fit:11 of +msgid "**parameters** (*NDArrays*) -- The locally updated model parameters." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.fit:12 of +msgid "**num_examples** (*int*) -- The number of examples used for training." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.get_parameters:3 of +msgid "" +"Configuration parameters requested by the server. This can be used to " +"tell the client which parameters are needed along with some Scalar " +"attributes." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.get_parameters:8 of +msgid "**parameters** -- The local model parameters as a list of NumPy ndarrays." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.get_properties:1 of +msgid "Return a client's set of properties." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.get_properties:3 of +msgid "" +"Configuration parameters requested by the server. This can be used to " +"tell the client which properties are needed along with some Scalar " +"attributes." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.get_properties:8 of +msgid "" +"**properties** -- A dictionary mapping arbitrary string keys to values of" +" type bool, bytes, float, int, or str. It can be used to communicate " +"arbitrary property values back to the server." +msgstr "" + +#: flwr.client.numpy_client.NumPyClient.to_client:1 of +msgid "Convert to object to Client type and return it." +msgstr "" + +#: ../../source/ref-api-flwr.rst:41 +msgid "start_numpy_client" +msgstr "" + +#: flwr.client.app.start_numpy_client:1 of +msgid "Start a Flower NumPyClient which connects to a gRPC server." +msgstr "" + +#: flwr.client.app.start_numpy_client:7 of +msgid "An implementation of the abstract base class `flwr.client.NumPyClient`." +msgstr "" + +#: flwr.client.app.start_numpy_client:28 of +msgid "Starting a client with an insecure server connection:" +msgstr "" + +#: ../../source/ref-api-flwr.rst:49 +msgid "start_simulation" +msgstr "" + +#: flwr.simulation.app.start_simulation:1 of +msgid "Start a Ray-based Flower simulation server." +msgstr "" + +#: flwr.simulation.app.start_simulation:3 of +msgid "" +"A function creating client instances. The function must take a single " +"`str` argument called `cid`. It should return a single client instance of" +" type Client. Note that the created client instances are ephemeral and " +"will often be destroyed after a single method invocation. Since client " +"instances are not long-lived, they should not attempt to carry state over" +" method invocations. Any state required by the instance (model, dataset, " +"hyperparameters, ...) should be (re-)created in either the call to " +"`client_fn` or the call to any of the client methods (e.g., load " +"evaluation data in the `evaluate` method itself)." +msgstr "" + +#: flwr.simulation.app.start_simulation:13 of +msgid "" +"The total number of clients in this simulation. This must be set if " +"`clients_ids` is not set and vice-versa." +msgstr "" + +#: flwr.simulation.app.start_simulation:16 of +msgid "" +"List `client_id`s for each client. This is only required if `num_clients`" +" is not set. Setting both `num_clients` and `clients_ids` with " +"`len(clients_ids)` not equal to `num_clients` generates an error." +msgstr "" + +#: flwr.simulation.app.start_simulation:20 of +msgid "" +"\"num_gpus\": 0.0}` CPU and GPU resources for a single client. Supported " +"keys are `num_cpus` and `num_gpus`. To understand the GPU utilization " +"caused by `num_gpus`, as well as using custom resources, please consult " +"the Ray documentation." +msgstr "" + +#: flwr.simulation.app.start_simulation:25 of +msgid "" +"An implementation of the abstract base class `flwr.server.Server`. If no " +"instance is provided, then `start_server` will create one." +msgstr "" + +#: flwr.server.app.start_server:9 flwr.simulation.app.start_simulation:28 of +msgid "" +"Currently supported values are `num_rounds` (int, default: 1) and " +"`round_timeout` in seconds (float, default: None)." +msgstr "" + +#: flwr.simulation.app.start_simulation:31 of +msgid "" +"An implementation of the abstract base class `flwr.server.Strategy`. If " +"no strategy is provided, then `start_server` will use " +"`flwr.server.strategy.FedAvg`." +msgstr "" + +#: flwr.simulation.app.start_simulation:35 of +msgid "" +"An implementation of the abstract base class `flwr.server.ClientManager`." +" If no implementation is provided, then `start_simulation` will use " +"`flwr.server.client_manager.SimpleClientManager`." +msgstr "" + +#: flwr.simulation.app.start_simulation:39 of +msgid "" +"Optional dictionary containing arguments for the call to `ray.init`. If " +"ray_init_args is None (the default), Ray will be initialized with the " +"following default args: { \"ignore_reinit_error\": True, " +"\"include_dashboard\": False } An empty dictionary can be used " +"(ray_init_args={}) to prevent any arguments from being passed to " +"ray.init." +msgstr "" + +#: flwr.simulation.app.start_simulation:39 of +msgid "" +"Optional dictionary containing arguments for the call to `ray.init`. If " +"ray_init_args is None (the default), Ray will be initialized with the " +"following default args:" +msgstr "" + +#: flwr.simulation.app.start_simulation:43 of +msgid "{ \"ignore_reinit_error\": True, \"include_dashboard\": False }" +msgstr "" + +#: flwr.simulation.app.start_simulation:45 of +msgid "" +"An empty dictionary can be used (ray_init_args={}) to prevent any " +"arguments from being passed to ray.init." +msgstr "" + +#: flwr.simulation.app.start_simulation:48 of +msgid "" +"Set to True to prevent `ray.shutdown()` in case " +"`ray.is_initialized()=True`." +msgstr "" + +#: flwr.simulation.app.start_simulation:50 of +msgid "" +"Optionally specify the type of actor to use. The actor object, which " +"persists throughout the simulation, will be the process in charge of " +"running the clients' jobs (i.e. their `fit()` method)." +msgstr "" + +#: flwr.simulation.app.start_simulation:54 of +msgid "" +"If you want to create your own Actor classes, you might need to pass some" +" input argument. You can use this dictionary for such purpose." +msgstr "" + +#: flwr.simulation.app.start_simulation:57 of +msgid "" +"(default: \"DEFAULT\") Optional string (\"DEFAULT\" or \"SPREAD\") for " +"the VCE to choose in which node the actor is placed. If you are an " +"advanced user needed more control you can use lower-level scheduling " +"strategies to pin actors to specific compute nodes (e.g. via " +"NodeAffinitySchedulingStrategy). Please note this is an advanced feature." +" For all details, please refer to the Ray documentation: " +"https://docs.ray.io/en/latest/ray-core/scheduling/index.html" +msgstr "" + +#: flwr.simulation.app.start_simulation:66 of +msgid "**hist** -- Object containing metrics from training." +msgstr "" + +#: ../../source/ref-api-flwr.rst:57 +msgid "server" +msgstr "" + +#: flwr.server:1 of +msgid "Flower server." +msgstr "" + +#: ../../source/ref-api-flwr.rst:65 +msgid "server.start_server" +msgstr "" + +#: flwr.server.app.start_server:1 of +msgid "Start a Flower server using the gRPC transport layer." +msgstr "" + +#: flwr.server.app.start_server:3 of +msgid "The IPv4 or IPv6 address of the server. Defaults to `\"[::]:8080\"`." +msgstr "" + +#: flwr.server.app.start_server:5 of +msgid "" +"A server implementation, either `flwr.server.Server` or a subclass " +"thereof. If no instance is provided, then `start_server` will create one." +msgstr "" + +#: flwr.server.app.start_server:12 of +msgid "" +"An implementation of the abstract base class " +"`flwr.server.strategy.Strategy`. If no strategy is provided, then " +"`start_server` will use `flwr.server.strategy.FedAvg`." +msgstr "" + +#: flwr.server.app.start_server:16 of +msgid "" +"An implementation of the abstract base class `flwr.server.ClientManager`." +" If no implementation is provided, then `start_server` will use " +"`flwr.server.client_manager.SimpleClientManager`." +msgstr "" + +#: flwr.server.app.start_server:21 of +msgid "" +"The maximum length of gRPC messages that can be exchanged with the Flower" +" clients. The default should be sufficient for most models. Users who " +"train very large models might need to increase this value. Note that the " +"Flower clients need to be started with the same value (see " +"`flwr.client.start_client`), otherwise clients will not know about the " +"increased limit and block larger messages." +msgstr "" + +#: flwr.server.app.start_server:28 of +msgid "" +"Tuple containing root certificate, server certificate, and private key to" +" start a secure SSL-enabled server. The tuple is expected to have three " +"bytes elements in the following order: * CA certificate. * " +"server certificate. * server private key." +msgstr "" + +#: flwr.server.app.start_server:28 of +msgid "" +"Tuple containing root certificate, server certificate, and private key to" +" start a secure SSL-enabled server. The tuple is expected to have three " +"bytes elements in the following order:" +msgstr "" + +#: flwr.server.app.start_server:32 of +msgid "CA certificate." +msgstr "" + +#: flwr.server.app.start_server:33 of +msgid "server certificate." +msgstr "" + +#: flwr.server.app.start_server:34 of +msgid "server private key." +msgstr "" + +#: flwr.server.app.start_server:37 of +msgid "**hist** -- Object containing training and evaluation metrics." +msgstr "" + +#: flwr.server.app.start_server:42 of +msgid "Starting an insecure server:" +msgstr "" + +#: flwr.server.app.start_server:46 of +msgid "Starting an SSL-enabled server:" +msgstr "" + +#: ../../source/ref-api-flwr.rst:73 +msgid "server.strategy" +msgstr "" + +#: flwr.server.strategy:1 of +msgid "Contains the strategy abstraction and different implementations." +msgstr "" + +#: ../../source/ref-api-flwr.rst:81 +msgid "server.strategy.Strategy" +msgstr "" + +#: flwr.server.strategy.strategy.Strategy:1 of +msgid "Abstract base class for server strategy implementations." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.aggregate_evaluate:1 of +msgid "Aggregate evaluation results." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_evaluate:3 +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_fit:6 +#: flwr.server.strategy.strategy.Strategy.aggregate_evaluate:3 +#: flwr.server.strategy.strategy.Strategy.aggregate_fit:3 +#: flwr.server.strategy.strategy.Strategy.configure_evaluate:3 +#: flwr.server.strategy.strategy.Strategy.configure_fit:3 +#: flwr.server.strategy.strategy.Strategy.evaluate:6 of +msgid "The current round of federated learning." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.aggregate_evaluate:5 of +msgid "" +"Successful updates from the previously selected and configured clients. " +"Each pair of `(ClientProxy, FitRes` constitutes a successful update from " +"one of the previously selected clients. Not that not all previously " +"selected clients are necessarily included in this list: a client might " +"drop out and not submit a result. For each client that did not submit an " +"update, there should be an `Exception` in `failures`." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.aggregate_evaluate:13 +#: flwr.server.strategy.strategy.Strategy.aggregate_fit:13 of +msgid "Exceptions that occurred while the server was waiting for client updates." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.aggregate_evaluate:16 of +msgid "" +"**aggregation_result** -- The aggregated evaluation result. Aggregation " +"typically uses some variant of a weighted average." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.aggregate_fit:1 of +msgid "Aggregate training results." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.aggregate_fit:5 of +msgid "" +"Successful updates from the previously selected and configured clients. " +"Each pair of `(ClientProxy, FitRes)` constitutes a successful update from" +" one of the previously selected clients. Not that not all previously " +"selected clients are necessarily included in this list: a client might " +"drop out and not submit a result. For each client that did not submit an " +"update, there should be an `Exception` in `failures`." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.aggregate_fit:17 of +msgid "" +"**parameters** -- If parameters are returned, then the server will treat " +"these as the new global model parameters (i.e., it will replace the " +"previous parameters with the ones returned from this method). If `None` " +"is returned (e.g., because there were only failures and no viable " +"results) then the server will no update the previous model parameters, " +"the updates received in this round are discarded, and the global model " +"parameters remain the same." +msgstr "" + +#: flwr.server.strategy.fedavg.FedAvg.configure_evaluate:1 +#: flwr.server.strategy.qfedavg.QFedAvg.configure_evaluate:1 +#: flwr.server.strategy.strategy.Strategy.configure_evaluate:1 of +msgid "Configure the next round of evaluation." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_evaluate:7 +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_fit:10 +#: flwr.server.strategy.strategy.Strategy.configure_evaluate:7 +#: flwr.server.strategy.strategy.Strategy.configure_fit:7 +#: flwr.server.strategy.strategy.Strategy.initialize_parameters:3 of +msgid "The client manager which holds all currently connected clients." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_evaluate:10 +#: flwr.server.strategy.strategy.Strategy.configure_evaluate:10 of +msgid "" +"**evaluate_configuration** -- A list of tuples. Each tuple in the list " +"identifies a `ClientProxy` and the `EvaluateIns` for this particular " +"`ClientProxy`. If a particular `ClientProxy` is not included in this " +"list, it means that this `ClientProxy` will not participate in the next " +"round of federated evaluation." +msgstr "" + +#: flwr.server.strategy.dpfedavg_adaptive.DPFedAvgAdaptive.configure_fit:1 +#: flwr.server.strategy.fedavg.FedAvg.configure_fit:1 +#: flwr.server.strategy.fedprox.FedProx.configure_fit:1 +#: flwr.server.strategy.qfedavg.QFedAvg.configure_fit:1 +#: flwr.server.strategy.strategy.Strategy.configure_fit:1 of +msgid "Configure the next round of training." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_fit:13 +#: flwr.server.strategy.strategy.Strategy.configure_fit:10 of +msgid "" +"**fit_configuration** -- A list of tuples. Each tuple in the list " +"identifies a `ClientProxy` and the `FitIns` for this particular " +"`ClientProxy`. If a particular `ClientProxy` is not included in this " +"list, it means that this `ClientProxy` will not participate in the next " +"round of federated learning." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.evaluate:1 of +msgid "Evaluate the current model parameters." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.evaluate:3 of +msgid "" +"This function can be used to perform centralized (i.e., server-side) " +"evaluation of model parameters." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.evaluate:11 of +msgid "" +"**evaluation_result** -- The evaluation result, usually a Tuple " +"containing loss and a dictionary containing task-specific metrics (e.g., " +"accuracy)." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.initialize_parameters:1 of +msgid "Initialize the (global) model parameters." +msgstr "" + +#: flwr.server.strategy.strategy.Strategy.initialize_parameters:6 of +msgid "" +"**parameters** -- If parameters are returned, then the server will treat " +"these as the initial global model parameters." +msgstr "" + +#: ../../source/ref-api-flwr.rst:90 +msgid "server.strategy.FedAvg" +msgstr "" + +#: flwr.server.strategy.fedavg.FedAvg:1 of +msgid "Configurable FedAvg strategy implementation." +msgstr "" + +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:1 +#: flwr.server.strategy.fedavg.FedAvg.__init__:1 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:1 of +msgid "Federated Averaging strategy." +msgstr "" + +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:3 +#: flwr.server.strategy.fedavg.FedAvg.__init__:3 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:3 of +msgid "Implementation based on https://arxiv.org/abs/1602.05629" +msgstr "" + +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:5 +#: flwr.server.strategy.fedavg.FedAvg.__init__:5 +#: flwr.server.strategy.fedprox.FedProx.__init__:37 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:5 of +msgid "" +"Fraction of clients used during training. In case `min_fit_clients` is " +"larger than `fraction_fit * available_clients`, `min_fit_clients` will " +"still be sampled. Defaults to 1.0." +msgstr "" + +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:9 +#: flwr.server.strategy.fedavg.FedAvg.__init__:9 +#: flwr.server.strategy.fedprox.FedProx.__init__:41 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:9 of +msgid "" +"Fraction of clients used during validation. In case " +"`min_evaluate_clients` is larger than `fraction_evaluate * " +"available_clients`, `min_evaluate_clients` will still be sampled. " +"Defaults to 1.0." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:9 +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:13 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:9 +#: flwr.server.strategy.fedadam.FedAdam.__init__:9 +#: flwr.server.strategy.fedavg.FedAvg.__init__:13 +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:9 +#: flwr.server.strategy.fedopt.FedOpt.__init__:9 +#: flwr.server.strategy.fedprox.FedProx.__init__:45 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:7 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:9 +#: flwr.server.strategy.krum.Krum.__init__:7 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:13 of +msgid "Minimum number of clients used during training. Defaults to 2." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:11 +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:15 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:11 +#: flwr.server.strategy.fedadam.FedAdam.__init__:11 +#: flwr.server.strategy.fedavg.FedAvg.__init__:15 +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:11 +#: flwr.server.strategy.fedopt.FedOpt.__init__:11 +#: flwr.server.strategy.fedprox.FedProx.__init__:47 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:9 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:11 +#: flwr.server.strategy.krum.Krum.__init__:9 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:15 of +msgid "Minimum number of clients used during validation. Defaults to 2." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:13 +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:17 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:13 +#: flwr.server.strategy.fedadam.FedAdam.__init__:13 +#: flwr.server.strategy.fedavg.FedAvg.__init__:17 +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:13 +#: flwr.server.strategy.fedopt.FedOpt.__init__:13 +#: flwr.server.strategy.fedprox.FedProx.__init__:49 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:11 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:13 +#: flwr.server.strategy.krum.Krum.__init__:11 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:17 of +msgid "Minimum number of total clients in the system. Defaults to 2." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:17 +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:19 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:15 +#: flwr.server.strategy.fedadam.FedAdam.__init__:15 +#: flwr.server.strategy.fedavg.FedAvg.__init__:19 +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:15 +#: flwr.server.strategy.fedopt.FedOpt.__init__:15 +#: flwr.server.strategy.fedprox.FedProx.__init__:51 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:13 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:15 +#: flwr.server.strategy.krum.Krum.__init__:18 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:19 of +msgid "Optional function used for validation. Defaults to None." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:19 +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:21 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:17 +#: flwr.server.strategy.fedadam.FedAdam.__init__:17 +#: flwr.server.strategy.fedavg.FedAvg.__init__:21 +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:17 +#: flwr.server.strategy.fedopt.FedOpt.__init__:17 +#: flwr.server.strategy.fedprox.FedProx.__init__:53 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:15 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:17 +#: flwr.server.strategy.krum.Krum.__init__:20 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:21 of +msgid "Function used to configure training. Defaults to None." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:21 +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:23 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:19 +#: flwr.server.strategy.fedadam.FedAdam.__init__:19 +#: flwr.server.strategy.fedavg.FedAvg.__init__:23 +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:19 +#: flwr.server.strategy.fedopt.FedOpt.__init__:19 +#: flwr.server.strategy.fedprox.FedProx.__init__:55 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:17 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:19 +#: flwr.server.strategy.krum.Krum.__init__:22 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:23 of +msgid "Function used to configure validation. Defaults to None." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:23 +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:25 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:25 +#: flwr.server.strategy.fedadam.FedAdam.__init__:21 +#: flwr.server.strategy.fedavg.FedAvg.__init__:25 +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:21 +#: flwr.server.strategy.fedopt.FedOpt.__init__:21 +#: flwr.server.strategy.fedprox.FedProx.__init__:57 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:19 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:21 +#: flwr.server.strategy.krum.Krum.__init__:24 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:25 of +msgid "Whether or not accept rounds containing failures. Defaults to True." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:25 +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:27 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:27 +#: flwr.server.strategy.fedadam.FedAdam.__init__:23 +#: flwr.server.strategy.fedavg.FedAvg.__init__:27 +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:23 +#: flwr.server.strategy.fedopt.FedOpt.__init__:23 +#: flwr.server.strategy.fedprox.FedProx.__init__:59 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:21 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:23 +#: flwr.server.strategy.krum.Krum.__init__:26 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:27 of +msgid "Initial global model parameters." +msgstr "" + +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:29 +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.__init__:31 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:21 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:23 +#: flwr.server.strategy.fedadam.FedAdam.__init__:25 +#: flwr.server.strategy.fedadam.FedAdam.__init__:27 +#: flwr.server.strategy.fedavg.FedAvg.__init__:29 +#: flwr.server.strategy.fedavg.FedAvg.__init__:31 +#: flwr.server.strategy.fedopt.FedOpt.__init__:25 +#: flwr.server.strategy.fedopt.FedOpt.__init__:27 +#: flwr.server.strategy.fedprox.FedProx.__init__:61 +#: flwr.server.strategy.fedprox.FedProx.__init__:63 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:25 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:27 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:29 +#: flwr.server.strategy.qfedavg.QFedAvg.__init__:31 of +msgid "Metrics aggregation function, optional." +msgstr "" + +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.aggregate_evaluate:1 +#: flwr.server.strategy.fedavg.FedAvg.aggregate_evaluate:1 +#: flwr.server.strategy.qfedavg.QFedAvg.aggregate_evaluate:1 of +msgid "Aggregate evaluation losses using weighted average." +msgstr "" + +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg.aggregate_fit:1 +#: flwr.server.strategy.fedadagrad.FedAdagrad.aggregate_fit:1 +#: flwr.server.strategy.fedadam.FedAdam.aggregate_fit:1 +#: flwr.server.strategy.fedavg.FedAvg.aggregate_fit:1 +#: flwr.server.strategy.fedavgm.FedAvgM.aggregate_fit:1 +#: flwr.server.strategy.fedxgb_nn_avg.FedXgbNnAvg.aggregate_fit:1 +#: flwr.server.strategy.fedyogi.FedYogi.aggregate_fit:1 +#: flwr.server.strategy.qfedavg.QFedAvg.aggregate_fit:1 of +msgid "Aggregate fit results using weighted average." +msgstr "" + +#: flwr.server.strategy.fedavg.FedAvg.evaluate:1 +#: flwr.server.strategy.fedxgb_nn_avg.FedXgbNnAvg.evaluate:1 of +msgid "Evaluate model parameters using an evaluation function." +msgstr "" + +#: flwr.server.strategy.fedavg.FedAvg.initialize_parameters:1 +#: flwr.server.strategy.fedavgm.FedAvgM.initialize_parameters:1 of +msgid "Initialize global model parameters." +msgstr "" + +#: flwr.server.strategy.fedavg.FedAvg.num_evaluation_clients:1 +#: flwr.server.strategy.qfedavg.QFedAvg.num_evaluation_clients:1 of +msgid "Use a fraction of available clients for evaluation." +msgstr "" + +#: flwr.server.strategy.fedavg.FedAvg.num_fit_clients:1 +#: flwr.server.strategy.qfedavg.QFedAvg.num_fit_clients:1 of +msgid "Return the sample size and the required number of available clients." +msgstr "" + +#: ../../source/ref-api-flwr.rst:101 +msgid "server.strategy.FedAvgM" +msgstr "" + +#: flwr.server.strategy.fedavgm.FedAvgM:1 +#: flwr.server.strategy.fedmedian.FedMedian:1 of +msgid "Configurable FedAvg with Momentum strategy implementation." +msgstr "" + +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:1 of +msgid "Federated Averaging with Momentum strategy." +msgstr "" + +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:3 of +msgid "Implementation based on https://arxiv.org/pdf/1909.06335.pdf" +msgstr "" + +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:5 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:3 +#: flwr.server.strategy.krum.Krum.__init__:3 of +msgid "Fraction of clients used during training. Defaults to 0.1." +msgstr "" + +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:7 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:5 +#: flwr.server.strategy.krum.Krum.__init__:5 of +msgid "Fraction of clients used during validation. Defaults to 0.1." +msgstr "" + +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:25 of +msgid "" +"Server-side learning rate used in server-side optimization. Defaults to " +"1.0." +msgstr "" + +#: flwr.server.strategy.fedavgm.FedAvgM.__init__:28 of +msgid "Server-side momentum factor used for FedAvgM. Defaults to 0.0." +msgstr "" + +#: ../../source/ref-api-flwr.rst:112 +msgid "server.strategy.FedMedian" +msgstr "" + +#: flwr.server.strategy.fedmedian.FedMedian.aggregate_fit:1 of +msgid "Aggregate fit results using median." +msgstr "" + +#: ../../source/ref-api-flwr.rst:122 +msgid "server.strategy.QFedAvg" +msgstr "" + +#: flwr.server.strategy.qfedavg.QFedAvg:1 of +msgid "Configurable QFedAvg strategy implementation." +msgstr "" + +#: ../../source/ref-api-flwr.rst:133 +msgid "server.strategy.FaultTolerantFedAvg" +msgstr "" + +#: flwr.server.strategy.fault_tolerant_fedavg.FaultTolerantFedAvg:1 of +msgid "Configurable fault-tolerant FedAvg strategy implementation." +msgstr "" + +#: ../../source/ref-api-flwr.rst:144 +msgid "server.strategy.FedOpt" +msgstr "" + +#: flwr.server.strategy.fedopt.FedOpt:1 of +msgid "Configurable FedAdagrad strategy implementation." +msgstr "" + +#: flwr.server.strategy.fedopt.FedOpt.__init__:1 of +msgid "Federated Optim strategy interface." +msgstr "" + +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:3 +#: flwr.server.strategy.fedadam.FedAdam.__init__:3 +#: flwr.server.strategy.fedopt.FedOpt.__init__:3 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:3 of +msgid "Implementation based on https://arxiv.org/abs/2003.00295v5" +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:5 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:5 +#: flwr.server.strategy.fedadam.FedAdam.__init__:5 +#: flwr.server.strategy.fedopt.FedOpt.__init__:5 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:5 of +msgid "Fraction of clients used during training. Defaults to 1.0." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:7 +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:7 +#: flwr.server.strategy.fedadam.FedAdam.__init__:7 +#: flwr.server.strategy.fedopt.FedOpt.__init__:7 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:7 of +msgid "Fraction of clients used during validation. Defaults to 1.0." +msgstr "" + +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:29 +#: flwr.server.strategy.fedadam.FedAdam.__init__:29 +#: flwr.server.strategy.fedopt.FedOpt.__init__:29 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:29 of +msgid "Server-side learning rate. Defaults to 1e-1." +msgstr "" + +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:31 +#: flwr.server.strategy.fedadam.FedAdam.__init__:31 +#: flwr.server.strategy.fedopt.FedOpt.__init__:31 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:31 of +msgid "Client-side learning rate. Defaults to 1e-1." +msgstr "" + +#: flwr.server.strategy.fedopt.FedOpt.__init__:33 of +msgid "Momentum parameter. Defaults to 0.0." +msgstr "" + +#: flwr.server.strategy.fedopt.FedOpt.__init__:35 of +msgid "Second moment parameter. Defaults to 0.0." +msgstr "" + +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:33 +#: flwr.server.strategy.fedadam.FedAdam.__init__:37 +#: flwr.server.strategy.fedopt.FedOpt.__init__:37 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:37 of +msgid "Controls the algorithm's degree of adaptability. Defaults to 1e-9." +msgstr "" + +#: ../../source/ref-api-flwr.rst:155 +msgid "server.strategy.FedProx" +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx:1 of +msgid "Configurable FedProx strategy implementation." +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.__init__:1 of +msgid "Federated Optimization strategy." +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.__init__:3 of +msgid "Implementation based on https://arxiv.org/abs/1812.06127" +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.__init__:5 of +msgid "" +"The strategy in itself will not be different than FedAvg, the client " +"needs to be adjusted. A proximal term needs to be added to the loss " +"function during the training:" +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.__init__:9 of +msgid "" +"\\\\frac{\\\\mu}{2} || w - w^t ||^2\n" +"\n" +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.__init__:12 of +msgid "" +"Where $w^t$ are the global parameters and $w$ are the local weights the " +"function will be optimized with." +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.__init__:15 of +msgid "In PyTorch, for example, the loss would go from:" +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.__init__:21 of +msgid "To:" +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.__init__:30 of +msgid "" +"With `global_params` being a copy of the parameters before the training " +"takes place." +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.__init__:65 of +msgid "" +"The weight of the proximal term used in the optimization. 0.0 makes this " +"strategy equivalent to FedAvg, and the higher the coefficient, the more " +"regularization will be used (that is, the client parameters will need to " +"be closer to the server parameters during training)." +msgstr "" + +#: flwr.server.strategy.fedprox.FedProx.configure_fit:3 of +msgid "Sends the proximal factor mu to the clients" +msgstr "" + +#: ../../source/ref-api-flwr.rst:166 +msgid "server.strategy.FedAdagrad" +msgstr "" + +#: flwr.server.strategy.fedadagrad.FedAdagrad:1 of +msgid "FedAdagrad strategy - Adaptive Federated Optimization using Adagrad." +msgstr "" + +#: flwr.server.strategy.fedadagrad.FedAdagrad:3 +#: flwr.server.strategy.fedadam.FedAdam:3 +#: flwr.server.strategy.fedyogi.FedYogi:5 of +msgid "Paper: https://arxiv.org/abs/2003.00295" +msgstr "" + +#: flwr.server.strategy.fedadagrad.FedAdagrad.__init__:1 +#: flwr.server.strategy.fedadam.FedAdam.__init__:1 of +msgid "Federated learning strategy using Adagrad on server-side." +msgstr "" + +#: ../../source/ref-api-flwr.rst:177 +msgid "server.strategy.FedAdam" +msgstr "" + +#: flwr.server.strategy.fedadam.FedAdam:1 of +msgid "FedAdam - Adaptive Federated Optimization using Adam." +msgstr "" + +#: flwr.server.strategy.fedadam.FedAdam.__init__:33 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:33 of +msgid "Momentum parameter. Defaults to 0.9." +msgstr "" + +#: flwr.server.strategy.fedadam.FedAdam.__init__:35 +#: flwr.server.strategy.fedyogi.FedYogi.__init__:35 of +msgid "Second moment parameter. Defaults to 0.99." +msgstr "" + +#: ../../source/ref-api-flwr.rst:188 +msgid "server.strategy.FedYogi" +msgstr "" + +#: flwr.server.strategy.fedyogi.FedYogi:1 of +msgid "FedYogi [Reddi et al., 2020] strategy." +msgstr "" + +#: flwr.server.strategy.fedyogi.FedYogi:3 of +msgid "Adaptive Federated Optimization using Yogi." +msgstr "" + +#: flwr.server.strategy.fedyogi.FedYogi.__init__:1 of +msgid "Federated learning strategy using Yogi on server-side." +msgstr "" + +#: ../../source/ref-api-flwr.rst:199 +msgid "server.strategy.FedTrimmedAvg" +msgstr "" + +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg:1 +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:1 of +msgid "Federated Averaging with Trimmed Mean [Dong Yin, et al., 2021]." +msgstr "" + +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg:3 of +msgid "Paper: https://arxiv.org/abs/1803.01498" +msgstr "" + +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.__init__:23 of +msgid "Fraction to cut off of both tails of the distribution. Defaults to 0.2." +msgstr "" + +#: flwr.server.strategy.fedtrimmedavg.FedTrimmedAvg.aggregate_fit:1 of +msgid "Aggregate fit results using trimmed average." +msgstr "" + +#: ../../source/ref-api-flwr.rst:210 +msgid "server.strategy.Krum" +msgstr "" + +#: flwr.server.strategy.krum.Krum:1 of +msgid "Configurable Krum strategy implementation." +msgstr "" + +#: flwr.server.strategy.krum.Krum.__init__:1 of +msgid "Krum strategy." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:15 +#: flwr.server.strategy.krum.Krum.__init__:13 of +msgid "Number of malicious clients in the system. Defaults to 0." +msgstr "" + +#: flwr.server.strategy.krum.Krum.__init__:15 of +msgid "" +"Number of clients to keep before averaging (MultiKrum). Defaults to 0, in" +" that case classical Krum is applied." +msgstr "" + +#: flwr.server.strategy.krum.Krum.aggregate_fit:1 of +msgid "Aggregate fit results using Krum." +msgstr "" + +#: ../../source/ref-api-flwr.rst:220 +msgid "server.strategy.Bulyan" +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan:1 of +msgid "Bulyan strategy implementation." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:1 of +msgid "Bulyan strategy." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:3 of +msgid "Implementation based on https://arxiv.org/abs/1802.07927." +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:27 of +msgid "" +"Byzantine resilient aggregation rule that is used as the first step of " +"the Bulyan (e.g., Krum)" +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.__init__:29 of +msgid "arguments to the first_aggregation rule" +msgstr "" + +#: flwr.server.strategy.bulyan.Bulyan.aggregate_fit:1 of +msgid "Aggregate fit results using Bulyan." +msgstr "" + +#: ../../source/ref-api-flwr.rst:231 +msgid "server.strategy.FedXgbNnAvg" +msgstr "" + +#: flwr.server.strategy.fedxgb_nn_avg.FedXgbNnAvg:1 of +msgid "Configurable FedXgbNnAvg strategy implementation." +msgstr "" + +#: flwr.server.strategy.fedxgb_nn_avg.FedXgbNnAvg.__init__:1 of +msgid "Federated XGBoost [Ma et al., 2023] strategy." +msgstr "" + +#: flwr.server.strategy.fedxgb_nn_avg.FedXgbNnAvg.__init__:3 of +msgid "Implementation based on https://arxiv.org/abs/2304.07537." +msgstr "" + +#: ../../source/ref-api-flwr.rst:242 +msgid "server.strategy.DPFedAvgAdaptive" +msgstr "" + +#: flwr.server.strategy.dpfedavg_adaptive.DPFedAvgAdaptive:1 of +msgid "Wrapper for configuring a Strategy for DP with Adaptive Clipping." +msgstr "" + +#: flwr.server.strategy.dpfedavg_adaptive.DPFedAvgAdaptive.aggregate_fit:1 of +msgid "Aggregate training results as in DPFedAvgFixed and update clip norms." +msgstr "" + +#: ../../source/ref-api-flwr.rst:253 +msgid "server.strategy.DPFedAvgFixed" +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed:1 of +msgid "Wrapper for configuring a Strategy for DP with Fixed Clipping." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.aggregate_evaluate:1 of +msgid "Aggregate evaluation losses using the given strategy." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.aggregate_fit:1 of +msgid "Aggregate training results using unweighted aggregation." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_evaluate:1 of +msgid "Configure the next round of evaluation using the specified strategy." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_fit:1 of +msgid "" +"Configure the next round of training incorporating Differential Privacy " +"(DP)." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.configure_fit:3 of +msgid "" +"Configuration of the next training round includes information related to " +"DP, such as clip norm and noise stddev." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.evaluate:1 of +msgid "Evaluate model parameters using an evaluation function from the strategy." +msgstr "" + +#: flwr.server.strategy.dpfedavg_fixed.DPFedAvgFixed.initialize_parameters:1 of +msgid "Initialize global model parameters using given strategy." +msgstr "" + +#: ../../source/ref-api-flwr.rst:261 +msgid "common" +msgstr "" + +#: flwr.common:1 of +msgid "Common components shared between server and client." +msgstr "" + +#: flwr.common.typing.ClientMessage:1 of +msgid "ClientMessage is a container used to hold one result message." +msgstr "" + +#: flwr.common.typing.Code:1 of +msgid "Client status codes." +msgstr "" + +#: flwr.common.typing.DisconnectRes:1 of +msgid "DisconnectRes message from client to server." +msgstr "" + +#: flwr.common.typing.EvaluateIns:1 of +msgid "Evaluate instructions for a client." +msgstr "" + +#: flwr.common.typing.EvaluateRes:1 of +msgid "Evaluate response from a client." +msgstr "" + +#: flwr.common.telemetry.EventType:1 of +msgid "Types of telemetry events." +msgstr "" + +#: flwr.common.typing.FitIns:1 of +msgid "Fit instructions for a client." +msgstr "" + +#: flwr.common.typing.FitRes:1 of +msgid "Fit response from a client." +msgstr "" + +#: flwr.common.typing.GetParametersIns:1 of +msgid "Parameters request for a client." +msgstr "" + +#: flwr.common.typing.GetParametersRes:1 of +msgid "Response when asked to return parameters." +msgstr "" + +#: flwr.common.typing.GetPropertiesIns:1 of +msgid "Properties request for a client." +msgstr "" + +#: flwr.common.typing.GetPropertiesRes:1 of +msgid "Properties response from a client." +msgstr "" + +#: flwr.common.typing.Parameters:1 of +msgid "Model parameters." +msgstr "" + +#: flwr.common.typing.ReconnectIns:1 of +msgid "ReconnectIns message from server to client." +msgstr "" + +#: flwr.common.typing.ServerMessage:1 of +msgid "ServerMessage is a container used to hold one instruction message." +msgstr "" + +#: flwr.common.typing.Status:1 of +msgid "Client status." +msgstr "" + +#: flwr.common.parameter.bytes_to_ndarray:1 of +msgid "Deserialize NumPy ndarray from bytes." +msgstr "" + +#: flwr.common.logger.configure:1 of +msgid "Configure logging to file and/or remote log server." +msgstr "" + +#: logging.Logger.log:1 of +msgid "Log 'msg % args' with the integer severity 'level'." +msgstr "" + +#: logging.Logger.log:3 of +msgid "" +"To pass exception information, use the keyword argument exc_info with a " +"true value, e.g." +msgstr "" + +#: logging.Logger.log:6 of +#, python-format +msgid "logger.log(level, \"We have a %s\", \"mysterious problem\", exc_info=1)" +msgstr "" + +#: flwr.common.parameter.ndarray_to_bytes:1 of +msgid "Serialize NumPy ndarray to bytes." +msgstr "" + +#: flwr.common.parameter.ndarrays_to_parameters:1 of +msgid "Convert NumPy ndarrays to parameters object." +msgstr "" + +#: flwr.common.date.now:1 of +msgid "Construct a datetime from time.time() with time zone set to UTC." +msgstr "" + +#: flwr.common.parameter.parameters_to_ndarrays:1 of +msgid "Convert parameters object to NumPy ndarrays." +msgstr "" + +#: ../../source/ref-changelog.md:1 +msgid "Changelog" +msgstr "" + +#: ../../source/ref-changelog.md:3 +msgid "Unreleased" +msgstr "" + +#: ../../source/ref-changelog.md:5 ../../source/ref-changelog.md:83 +#: ../../source/ref-changelog.md:167 ../../source/ref-changelog.md:231 +#: ../../source/ref-changelog.md:289 ../../source/ref-changelog.md:358 +#: ../../source/ref-changelog.md:487 ../../source/ref-changelog.md:529 +#: ../../source/ref-changelog.md:596 ../../source/ref-changelog.md:662 +#: ../../source/ref-changelog.md:707 ../../source/ref-changelog.md:746 +#: ../../source/ref-changelog.md:779 ../../source/ref-changelog.md:829 +msgid "What's new?" +msgstr "" + +#: ../../source/ref-changelog.md:7 +msgid "" +"**Add experimental support for Python 3.12** " +"([#2565](https://github.com/adap/flower/pull/2565))" +msgstr "" + +#: ../../source/ref-changelog.md:9 +msgid "" +"**Support custom** `ClientManager` **in** `start_driver()` " +"([#2292](https://github.com/adap/flower/pull/2292))" +msgstr "" + +#: ../../source/ref-changelog.md:11 +msgid "" +"**Update REST API to support create and delete nodes** " +"([#2283](https://github.com/adap/flower/pull/2283))" +msgstr "" + +#: ../../source/ref-changelog.md:13 +msgid "" +"**Update the C++ SDK** " +"([#2537](https://github/com/adap/flower/pull/2537), " +"[#2528](https://github/com/adap/flower/pull/2528), " +"[#2523](https://github.com/adap/flower/pull/2523), " +"[#2522](https://github.com/adap/flower/pull/2522))" +msgstr "" + +#: ../../source/ref-changelog.md:15 +msgid "Add gRPC request-response capability to the C++ SDK." +msgstr "" + +#: ../../source/ref-changelog.md:17 +msgid "" +"**Fix the incorrect return types of Strategy** " +"([#2432](https://github.com/adap/flower/pull/2432/files))" +msgstr "" + +#: ../../source/ref-changelog.md:19 +msgid "" +"The types of the return values in the docstrings in two methods " +"(`aggregate_fit` and `aggregate_evaluate`) now match the hint types in " +"the code." +msgstr "" + +#: ../../source/ref-changelog.md:21 +msgid "" +"**Unify client API** ([#2303](https://github.com/adap/flower/pull/2303), " +"[#2390](https://github.com/adap/flower/pull/2390), " +"[#2493](https://github.com/adap/flower/pull/2493))" +msgstr "" + +#: ../../source/ref-changelog.md:23 +msgid "" +"Using the `client_fn`, Flower clients can interchangeably run as " +"standalone processes (i.e. via `start_client`) or in simulation (i.e. via" +" `start_simulation`) without requiring changes to how the client class is" +" defined and instantiated. Calling `start_numpy_client` is now " +"deprecated." +msgstr "" + +#: ../../source/ref-changelog.md:25 +msgid "**Update Flower Baselines**" +msgstr "" + +#: ../../source/ref-changelog.md:27 +msgid "" +"FedProx ([#2210](https://github.com/adap/flower/pull/2210), " +"[#2286](https://github.com/adap/flower/pull/2286), " +"[#2509](https://github.com/adap/flower/pull/2509))" +msgstr "" + +#: ../../source/ref-changelog.md:29 +msgid "" +"Baselines Docs ([#2290](https://github.com/adap/flower/pull/2290), " +"[#2400](https://github.com/adap/flower/pull/2400))" +msgstr "" + +#: ../../source/ref-changelog.md:31 +msgid "" +"FedMLB ([#2340](https://github.com/adap/flower/pull/2340), " +"[#2507](https://github.com/adap/flower/pull/2507))" +msgstr "" + +#: ../../source/ref-changelog.md:33 +msgid "" +"TAMUNA ([#2254](https://github.com/adap/flower/pull/2254), " +"[#2508](https://github.com/adap/flower/pull/2508))" +msgstr "" + +#: ../../source/ref-changelog.md:35 +msgid "FedMeta [#2438](https://github.com/adap/flower/pull/2438)" +msgstr "" + +#: ../../source/ref-changelog.md:37 +msgid "FjORD [#2431](https://github.com/adap/flower/pull/2431)" +msgstr "" + +#: ../../source/ref-changelog.md:39 +msgid "MOON [#2421](https://github.com/adap/flower/pull/2421)" +msgstr "" + +#: ../../source/ref-changelog.md:41 +msgid "DepthFL [#2295](https://github.com/adap/flower/pull/2295)" +msgstr "" + +#: ../../source/ref-changelog.md:43 +msgid "FedPer [#2266](https://github.com/adap/flower/pull/2266)" +msgstr "" + +#: ../../source/ref-changelog.md:45 +msgid "FedWav2vec [#2551](https://github.com/adap/flower/pull/2551)" +msgstr "" + +#: ../../source/ref-changelog.md:47 +msgid "niid-Bench [#2428](https://github.com/adap/flower/pull/2428)" +msgstr "" + +#: ../../source/ref-changelog.md:49 +msgid "" +"FedBN ([#2608](https://github.com/adap/flower/pull/2608), " +"[#2615](https://github.com/adap/flower/pull/2615))" +msgstr "" + +#: ../../source/ref-changelog.md:51 +msgid "" +"**Update Flower Examples** " +"([#2384](https://github.com/adap/flower/pull/2384),[#2425](https://github.com/adap/flower/pull/2425)," +" [#2526](https://github.com/adap/flower/pull/2526))" +msgstr "" + +#: ../../source/ref-changelog.md:53 +msgid "" +"**General updates to baselines** " +"([#2301](https://github.com/adap/flower/pull/2301), " +"[#2305](https://github.com/adap/flower/pull/2305), " +"[#2307](https://github.com/adap/flower/pull/2307), " +"[#2327](https://github.com/adap/flower/pull/2327), " +"[#2435](https://github.com/adap/flower/pull/2435))" +msgstr "" + +#: ../../source/ref-changelog.md:55 +msgid "" +"**General updates to the simulation engine** " +"([#2331](https://github.com/adap/flower/pull/2331), " +"[#2447](https://github.com/adap/flower/pull/2447), " +"[#2448](https://github.com/adap/flower/pull/2448))" +msgstr "" + +#: ../../source/ref-changelog.md:57 +msgid "" +"**General improvements** " +"([#2309](https://github.com/adap/flower/pull/2309), " +"[#2310](https://github.com/adap/flower/pull/2310), " +"[2313](https://github.com/adap/flower/pull/2313), " +"[#2316](https://github.com/adap/flower/pull/2316), " +"[2317](https://github.com/adap/flower/pull/2317),[#2349](https://github.com/adap/flower/pull/2349)," +" [#2360](https://github.com/adap/flower/pull/2360), " +"[#2402](https://github.com/adap/flower/pull/2402), " +"[#2446](https://github.com/adap/flower/pull/2446) " +"[#2561](https://github.com/adap/flower/pull/2561))" +msgstr "" + +#: ../../source/ref-changelog.md:59 ../../source/ref-changelog.md:153 +#: ../../source/ref-changelog.md:217 ../../source/ref-changelog.md:271 +#: ../../source/ref-changelog.md:338 +msgid "Flower received many improvements under the hood, too many to list here." +msgstr "" + +#: ../../source/ref-changelog.md:61 +msgid "" +"**Add new** `Bulyan` **strategy** " +"([#1817](https://github.com/adap/flower/pull/1817), " +"[#1891](https://github.com/adap/flower/pull/1891))" +msgstr "" + +#: ../../source/ref-changelog.md:63 +msgid "" +"The new `Bulyan` strategy implements Bulyan by [El Mhamdi et al., " +"2018](https://arxiv.org/abs/1802.07927)" +msgstr "" + +#: ../../source/ref-changelog.md:65 ../../source/ref-changelog.md:155 +#: ../../source/ref-changelog.md:219 ../../source/ref-changelog.md:277 +#: ../../source/ref-changelog.md:346 ../../source/ref-changelog.md:408 +#: ../../source/ref-changelog.md:427 ../../source/ref-changelog.md:583 +#: ../../source/ref-changelog.md:654 ../../source/ref-changelog.md:691 +#: ../../source/ref-changelog.md:734 +msgid "Incompatible changes" +msgstr "" + +#: ../../source/ref-changelog.md:67 +msgid "" +"**Remove support for Python 3.7** " +"([#2280](https://github.com/adap/flower/pull/2280), " +"[#2299](https://github.com/adap/flower/pull/2299), " +"[#2304](https://github.com/adap/flower/pull/2304), " +"[#2306](https://github.com/adap/flower/pull/2306), " +"[#2355](https://github.com/adap/flower/pull/2355), " +"[#2356](https://github.com/adap/flower/pull/2356))" +msgstr "" + +#: ../../source/ref-changelog.md:69 +msgid "" +"Python 3.7 support was deprecated in Flower 1.5, and this release removes" +" support. Flower now requires Python 3.8." +msgstr "" + +#: ../../source/ref-changelog.md:71 +msgid "" +"**Remove experimental argument** `rest` **from** `start_client` " +"([#2324](https://github.com/adap/flower/pull/2324))" +msgstr "" + +#: ../../source/ref-changelog.md:73 +msgid "" +"The (still experimental) argument `rest` was removed from `start_client` " +"and `start_numpy_client`. Use `transport=\"rest\"` to opt into the " +"experimental REST API instead." +msgstr "" + +#: ../../source/ref-changelog.md:75 +msgid "v1.5.0 (2023-08-31)" +msgstr "" + +#: ../../source/ref-changelog.md:77 ../../source/ref-changelog.md:161 +#: ../../source/ref-changelog.md:225 ../../source/ref-changelog.md:283 +#: ../../source/ref-changelog.md:352 ../../source/ref-changelog.md:421 +msgid "Thanks to our contributors" +msgstr "" + +#: ../../source/ref-changelog.md:79 ../../source/ref-changelog.md:163 +#: ../../source/ref-changelog.md:227 ../../source/ref-changelog.md:285 +msgid "" +"We would like to give our special thanks to all the contributors who made" +" the new version of Flower possible (in `git shortlog` order):" +msgstr "" + +#: ../../source/ref-changelog.md:81 +msgid "" +"`Adam Narozniak`, `Anass Anhari`, `Charles Beauville`, `Dana-Farber`, " +"`Daniel J. Beutel`, `Daniel Nata Nugraha`, `Edoardo Gabrielli`, `Gustavo " +"Bertoli`, `Heng Pan`, `Javier`, `Mahdi`, `Steven Hé (Sīchàng)`, `Taner " +"Topal`, `achiverram28`, `danielnugraha`, `eunchung`, `ruthgal` " +msgstr "" + +#: ../../source/ref-changelog.md:85 +msgid "" +"**Introduce new simulation engine** " +"([#1969](https://github.com/adap/flower/pull/1969), " +"[#2221](https://github.com/adap/flower/pull/2221), " +"[#2248](https://github.com/adap/flower/pull/2248))" +msgstr "" + +#: ../../source/ref-changelog.md:87 +msgid "" +"The new simulation engine has been rewritten from the ground up, yet it " +"remains fully backwards compatible. It offers much improved stability and" +" memory handling, especially when working with GPUs. Simulations " +"transparently adapt to different settings to scale simulation in CPU-" +"only, CPU+GPU, multi-GPU, or multi-node multi-GPU environments." +msgstr "" + +#: ../../source/ref-changelog.md:89 +msgid "" +"Comprehensive documentation includes a new [how-to run " +"simulations](https://flower.dev/docs/framework/how-to-run-" +"simulations.html) guide, new [simulation-" +"pytorch](https://flower.dev/docs/examples/simulation-pytorch.html) and " +"[simulation-tensorflow](https://flower.dev/docs/examples/simulation-" +"tensorflow.html) notebooks, and a new [YouTube tutorial " +"series](https://www.youtube.com/watch?v=cRebUIGB5RU&list=PLNG4feLHqCWlnj8a_E1A_n5zr2-8pafTB)." +msgstr "" + +#: ../../source/ref-changelog.md:91 +msgid "" +"**Restructure Flower Docs** " +"([#1824](https://github.com/adap/flower/pull/1824), " +"[#1865](https://github.com/adap/flower/pull/1865), " +"[#1884](https://github.com/adap/flower/pull/1884), " +"[#1887](https://github.com/adap/flower/pull/1887), " +"[#1919](https://github.com/adap/flower/pull/1919), " +"[#1922](https://github.com/adap/flower/pull/1922), " +"[#1920](https://github.com/adap/flower/pull/1920), " +"[#1923](https://github.com/adap/flower/pull/1923), " +"[#1924](https://github.com/adap/flower/pull/1924), " +"[#1962](https://github.com/adap/flower/pull/1962), " +"[#2006](https://github.com/adap/flower/pull/2006), " +"[#2133](https://github.com/adap/flower/pull/2133), " +"[#2203](https://github.com/adap/flower/pull/2203), " +"[#2215](https://github.com/adap/flower/pull/2215), " +"[#2122](https://github.com/adap/flower/pull/2122), " +"[#2223](https://github.com/adap/flower/pull/2223), " +"[#2219](https://github.com/adap/flower/pull/2219), " +"[#2232](https://github.com/adap/flower/pull/2232), " +"[#2233](https://github.com/adap/flower/pull/2233), " +"[#2234](https://github.com/adap/flower/pull/2234), " +"[#2235](https://github.com/adap/flower/pull/2235), " +"[#2237](https://github.com/adap/flower/pull/2237), " +"[#2238](https://github.com/adap/flower/pull/2238), " +"[#2242](https://github.com/adap/flower/pull/2242), " +"[#2231](https://github.com/adap/flower/pull/2231), " +"[#2243](https://github.com/adap/flower/pull/2243), " +"[#2227](https://github.com/adap/flower/pull/2227))" +msgstr "" + +#: ../../source/ref-changelog.md:93 +msgid "" +"Much effort went into a completely restructured Flower docs experience. " +"The documentation on [flower.dev/docs](flower.dev/docs) is now divided " +"into Flower Framework, Flower Baselines, Flower Android SDK, Flower iOS " +"SDK, and code example projects." +msgstr "" + +#: ../../source/ref-changelog.md:95 +msgid "" +"**Introduce Flower Swift SDK** " +"([#1858](https://github.com/adap/flower/pull/1858), " +"[#1897](https://github.com/adap/flower/pull/1897))" +msgstr "" + +#: ../../source/ref-changelog.md:97 +msgid "" +"This is the first preview release of the Flower Swift SDK. Flower support" +" on iOS is improving, and alongside the Swift SDK and code example, there" +" is now also an iOS quickstart tutorial." +msgstr "" + +#: ../../source/ref-changelog.md:99 +msgid "" +"**Introduce Flower Android SDK** " +"([#2131](https://github.com/adap/flower/pull/2131))" +msgstr "" + +#: ../../source/ref-changelog.md:101 +msgid "" +"This is the first preview release of the Flower Kotlin SDK. Flower " +"support on Android is improving, and alongside the Kotlin SDK and code " +"example, there is now also an Android quickstart tutorial." +msgstr "" + +#: ../../source/ref-changelog.md:103 +msgid "" +"**Introduce new end-to-end testing infrastructure** " +"([#1842](https://github.com/adap/flower/pull/1842), " +"[#2071](https://github.com/adap/flower/pull/2071), " +"[#2072](https://github.com/adap/flower/pull/2072), " +"[#2068](https://github.com/adap/flower/pull/2068), " +"[#2067](https://github.com/adap/flower/pull/2067), " +"[#2069](https://github.com/adap/flower/pull/2069), " +"[#2073](https://github.com/adap/flower/pull/2073), " +"[#2070](https://github.com/adap/flower/pull/2070), " +"[#2074](https://github.com/adap/flower/pull/2074), " +"[#2082](https://github.com/adap/flower/pull/2082), " +"[#2084](https://github.com/adap/flower/pull/2084), " +"[#2093](https://github.com/adap/flower/pull/2093), " +"[#2109](https://github.com/adap/flower/pull/2109), " +"[#2095](https://github.com/adap/flower/pull/2095), " +"[#2140](https://github.com/adap/flower/pull/2140), " +"[#2137](https://github.com/adap/flower/pull/2137), " +"[#2165](https://github.com/adap/flower/pull/2165))" +msgstr "" + +#: ../../source/ref-changelog.md:105 +msgid "" +"A new testing infrastructure ensures that new changes stay compatible " +"with existing framework integrations or strategies." +msgstr "" + +#: ../../source/ref-changelog.md:107 +msgid "**Deprecate Python 3.7**" +msgstr "" + +#: ../../source/ref-changelog.md:109 +msgid "" +"Since Python 3.7 reached its end of life (EOL) on 2023-06-27, support for" +" Python 3.7 is now deprecated and will be removed in an upcoming release." +msgstr "" + +#: ../../source/ref-changelog.md:111 +msgid "" +"**Add new** `FedTrimmedAvg` **strategy** " +"([#1769](https://github.com/adap/flower/pull/1769), " +"[#1853](https://github.com/adap/flower/pull/1853))" +msgstr "" + +#: ../../source/ref-changelog.md:113 +msgid "" +"The new `FedTrimmedAvg` strategy implements Trimmed Mean by [Dong Yin, " +"2018](https://arxiv.org/abs/1803.01498)." +msgstr "" + +#: ../../source/ref-changelog.md:115 +msgid "" +"**Introduce start_driver** " +"([#1697](https://github.com/adap/flower/pull/1697))" +msgstr "" + +#: ../../source/ref-changelog.md:117 +msgid "" +"In addition to `start_server` and using the raw Driver API, there is a " +"new `start_driver` function that allows for running `start_server` " +"scripts as a Flower driver with only a single-line code change. Check out" +" the `mt-pytorch` code example to see a working example using " +"`start_driver`." +msgstr "" + +#: ../../source/ref-changelog.md:119 +msgid "" +"**Add parameter aggregation to** `mt-pytorch` **code example** " +"([#1785](https://github.com/adap/flower/pull/1785))" +msgstr "" + +#: ../../source/ref-changelog.md:121 +msgid "" +"The `mt-pytorch` example shows how to aggregate parameters when writing a" +" driver script. The included `driver.py` and `server.py` have been " +"aligned to demonstrate both the low-level way and the high-level way of " +"building server-side logic." +msgstr "" + +#: ../../source/ref-changelog.md:123 +msgid "" +"**Migrate experimental REST API to Starlette** " +"([2171](https://github.com/adap/flower/pull/2171))" +msgstr "" + +#: ../../source/ref-changelog.md:125 +msgid "" +"The (experimental) REST API used to be implemented in " +"[FastAPI](https://fastapi.tiangolo.com/), but it has now been migrated to" +" use [Starlette](https://www.starlette.io/) directly." +msgstr "" + +#: ../../source/ref-changelog.md:127 +msgid "" +"Please note: The REST request-response API is still experimental and will" +" likely change significantly over time." +msgstr "" + +#: ../../source/ref-changelog.md:129 +msgid "" +"**Introduce experimental gRPC request-response API** " +"([#1867](https://github.com/adap/flower/pull/1867), " +"[#1901](https://github.com/adap/flower/pull/1901))" +msgstr "" + +#: ../../source/ref-changelog.md:131 +msgid "" +"In addition to the existing gRPC API (based on bidirectional streaming) " +"and the experimental REST API, there is now a new gRPC API that uses a " +"request-response model to communicate with client nodes." +msgstr "" + +#: ../../source/ref-changelog.md:133 +msgid "" +"Please note: The gRPC request-response API is still experimental and will" +" likely change significantly over time." +msgstr "" + +#: ../../source/ref-changelog.md:135 +msgid "" +"**Replace the experimental** `start_client(rest=True)` **with the new** " +"`start_client(transport=\"rest\")` " +"([#1880](https://github.com/adap/flower/pull/1880))" +msgstr "" + +#: ../../source/ref-changelog.md:137 +msgid "" +"The (experimental) `start_client` argument `rest` was deprecated in " +"favour of a new argument `transport`. `start_client(transport=\"rest\")` " +"will yield the same behaviour as `start_client(rest=True)` did before. " +"All code should migrate to the new argument `transport`. The deprecated " +"argument `rest` will be removed in a future release." +msgstr "" + +#: ../../source/ref-changelog.md:139 +msgid "" +"**Add a new gRPC option** " +"([#2197](https://github.com/adap/flower/pull/2197))" +msgstr "" + +#: ../../source/ref-changelog.md:141 +msgid "" +"We now start a gRPC server with the `grpc.keepalive_permit_without_calls`" +" option set to 0 by default. This prevents the clients from sending " +"keepalive pings when there is no outstanding stream." +msgstr "" + +#: ../../source/ref-changelog.md:143 +msgid "" +"**Improve example notebooks** " +"([#2005](https://github.com/adap/flower/pull/2005))" +msgstr "" + +#: ../../source/ref-changelog.md:145 +msgid "There's a new 30min Federated Learning PyTorch tutorial!" +msgstr "" + +#: ../../source/ref-changelog.md:147 +msgid "" +"**Example updates** ([#1772](https://github.com/adap/flower/pull/1772), " +"[#1873](https://github.com/adap/flower/pull/1873), " +"[#1981](https://github.com/adap/flower/pull/1981), " +"[#1988](https://github.com/adap/flower/pull/1988), " +"[#1984](https://github.com/adap/flower/pull/1984), " +"[#1982](https://github.com/adap/flower/pull/1982), " +"[#2112](https://github.com/adap/flower/pull/2112), " +"[#2144](https://github.com/adap/flower/pull/2144), " +"[#2174](https://github.com/adap/flower/pull/2174), " +"[#2225](https://github.com/adap/flower/pull/2225), " +"[#2183](https://github.com/adap/flower/pull/2183))" +msgstr "" + +#: ../../source/ref-changelog.md:149 +msgid "" +"Many examples have received significant updates, including simplified " +"advanced-tensorflow and advanced-pytorch examples, improved macOS " +"compatibility of TensorFlow examples, and code examples for simulation. A" +" major upgrade is that all code examples now have a `requirements.txt` " +"(in addition to `pyproject.toml`)." +msgstr "" + +#: ../../source/ref-changelog.md:151 +msgid "" +"**General improvements** " +"([#1872](https://github.com/adap/flower/pull/1872), " +"[#1866](https://github.com/adap/flower/pull/1866), " +"[#1884](https://github.com/adap/flower/pull/1884), " +"[#1837](https://github.com/adap/flower/pull/1837), " +"[#1477](https://github.com/adap/flower/pull/1477), " +"[#2171](https://github.com/adap/flower/pull/2171))" +msgstr "" + +#: ../../source/ref-changelog.md:157 ../../source/ref-changelog.md:221 +#: ../../source/ref-changelog.md:279 ../../source/ref-changelog.md:348 +#: ../../source/ref-changelog.md:410 +msgid "None" +msgstr "" + +#: ../../source/ref-changelog.md:159 +msgid "v1.4.0 (2023-04-21)" +msgstr "" + +#: ../../source/ref-changelog.md:165 +msgid "" +"`Adam Narozniak`, `Alexander Viala Bellander`, `Charles Beauville`, " +"`Chenyang Ma (Danny)`, `Daniel J. Beutel`, `Edoardo`, `Gautam Jajoo`, " +"`Iacob-Alexandru-Andrei`, `JDRanpariya`, `Jean Charle Yaacoub`, `Kunal " +"Sarkhel`, `L. Jiang`, `Lennart Behme`, `Max Kapsecker`, `Michał`, `Nic " +"Lane`, `Nikolaos Episkopos`, `Ragy`, `Saurav Maheshkar`, `Semo Yang`, " +"`Steve Laskaridis`, `Steven Hé (Sīchàng)`, `Taner Topal`" +msgstr "" + +#: ../../source/ref-changelog.md:169 +msgid "" +"**Introduce support for XGBoost (**`FedXgbNnAvg` **strategy and " +"example)** ([#1694](https://github.com/adap/flower/pull/1694), " +"[#1709](https://github.com/adap/flower/pull/1709), " +"[#1715](https://github.com/adap/flower/pull/1715), " +"[#1717](https://github.com/adap/flower/pull/1717), " +"[#1763](https://github.com/adap/flower/pull/1763), " +"[#1795](https://github.com/adap/flower/pull/1795))" +msgstr "" + +#: ../../source/ref-changelog.md:171 +msgid "" +"XGBoost is a tree-based ensemble machine learning algorithm that uses " +"gradient boosting to improve model accuracy. We added a new `FedXgbNnAvg`" +" " +"[strategy](https://github.com/adap/flower/tree/main/src/py/flwr/server/strategy/fedxgb_nn_avg.py)," +" and a [code " +"example](https://github.com/adap/flower/tree/main/examples/quickstart_xgboost_horizontal)" +" that demonstrates the usage of this new strategy in an XGBoost project." +msgstr "" + +#: ../../source/ref-changelog.md:173 +msgid "" +"**Introduce iOS SDK (preview)** " +"([#1621](https://github.com/adap/flower/pull/1621), " +"[#1764](https://github.com/adap/flower/pull/1764))" +msgstr "" + +#: ../../source/ref-changelog.md:175 +msgid "" +"This is a major update for anyone wanting to implement Federated Learning" +" on iOS mobile devices. We now have a swift iOS SDK present under " +"[src/swift/flwr](https://github.com/adap/flower/tree/main/src/swift/flwr)" +" that will facilitate greatly the app creating process. To showcase its " +"use, the [iOS " +"example](https://github.com/adap/flower/tree/main/examples/ios) has also " +"been updated!" +msgstr "" + +#: ../../source/ref-changelog.md:177 +msgid "" +"**Introduce new \"What is Federated Learning?\" tutorial** " +"([#1657](https://github.com/adap/flower/pull/1657), " +"[#1721](https://github.com/adap/flower/pull/1721))" +msgstr "" + +#: ../../source/ref-changelog.md:179 +msgid "" +"A new [entry-level tutorial](https://flower.dev/docs/framework/tutorial-" +"what-is-federated-learning.html) in our documentation explains the basics" +" of Fedetated Learning. It enables anyone who's unfamiliar with Federated" +" Learning to start their journey with Flower. Forward it to anyone who's " +"interested in Federated Learning!" +msgstr "" + +#: ../../source/ref-changelog.md:181 +msgid "" +"**Introduce new Flower Baseline: FedProx MNIST** " +"([#1513](https://github.com/adap/flower/pull/1513), " +"[#1680](https://github.com/adap/flower/pull/1680), " +"[#1681](https://github.com/adap/flower/pull/1681), " +"[#1679](https://github.com/adap/flower/pull/1679))" +msgstr "" + +#: ../../source/ref-changelog.md:183 +msgid "" +"This new baseline replicates the MNIST+CNN task from the paper [Federated" +" Optimization in Heterogeneous Networks (Li et al., " +"2018)](https://arxiv.org/abs/1812.06127). It uses the `FedProx` strategy," +" which aims at making convergence more robust in heterogenous settings." +msgstr "" + +#: ../../source/ref-changelog.md:185 +msgid "" +"**Introduce new Flower Baseline: FedAvg FEMNIST** " +"([#1655](https://github.com/adap/flower/pull/1655))" +msgstr "" + +#: ../../source/ref-changelog.md:187 +msgid "" +"This new baseline replicates an experiment evaluating the performance of " +"the FedAvg algorithm on the FEMNIST dataset from the paper [LEAF: A " +"Benchmark for Federated Settings (Caldas et al., " +"2018)](https://arxiv.org/abs/1812.01097)." +msgstr "" + +#: ../../source/ref-changelog.md:189 +msgid "" +"**Introduce (experimental) REST API** " +"([#1594](https://github.com/adap/flower/pull/1594), " +"[#1690](https://github.com/adap/flower/pull/1690), " +"[#1695](https://github.com/adap/flower/pull/1695), " +"[#1712](https://github.com/adap/flower/pull/1712), " +"[#1802](https://github.com/adap/flower/pull/1802), " +"[#1770](https://github.com/adap/flower/pull/1770), " +"[#1733](https://github.com/adap/flower/pull/1733))" +msgstr "" + +#: ../../source/ref-changelog.md:191 +msgid "" +"A new REST API has been introduced as an alternative to the gRPC-based " +"communication stack. In this initial version, the REST API only supports " +"anonymous clients." +msgstr "" + +#: ../../source/ref-changelog.md:193 +msgid "" +"Please note: The REST API is still experimental and will likely change " +"significantly over time." +msgstr "" + +#: ../../source/ref-changelog.md:195 +msgid "" +"**Improve the (experimental) Driver API** " +"([#1663](https://github.com/adap/flower/pull/1663), " +"[#1666](https://github.com/adap/flower/pull/1666), " +"[#1667](https://github.com/adap/flower/pull/1667), " +"[#1664](https://github.com/adap/flower/pull/1664), " +"[#1675](https://github.com/adap/flower/pull/1675), " +"[#1676](https://github.com/adap/flower/pull/1676), " +"[#1693](https://github.com/adap/flower/pull/1693), " +"[#1662](https://github.com/adap/flower/pull/1662), " +"[#1794](https://github.com/adap/flower/pull/1794))" +msgstr "" + +#: ../../source/ref-changelog.md:197 +msgid "" +"The Driver API is still an experimental feature, but this release " +"introduces some major upgrades. One of the main improvements is the " +"introduction of an SQLite database to store server state on disk (instead" +" of in-memory). Another improvement is that tasks (instructions or " +"results) that have been delivered will now be deleted. This greatly " +"improves the memory efficiency of a long-running Flower server." +msgstr "" + +#: ../../source/ref-changelog.md:199 +msgid "" +"**Fix spilling issues related to Ray during simulations** " +"([#1698](https://github.com/adap/flower/pull/1698))" +msgstr "" + +#: ../../source/ref-changelog.md:201 +msgid "" +"While running long simulations, `ray` was sometimes spilling huge amounts" +" of data that would make the training unable to continue. This is now " +"fixed! 🎉" +msgstr "" + +#: ../../source/ref-changelog.md:203 +msgid "" +"**Add new example using** `TabNet` **and Flower** " +"([#1725](https://github.com/adap/flower/pull/1725))" +msgstr "" + +#: ../../source/ref-changelog.md:205 +msgid "" +"TabNet is a powerful and flexible framework for training machine learning" +" models on tabular data. We now have a federated example using Flower: " +"[https://github.com/adap/flower/tree/main/examples/tabnet](https://github.com/adap/flower/tree/main/examples/quickstart_tabnet)." +msgstr "" + +#: ../../source/ref-changelog.md:207 +msgid "" +"**Add new how-to guide for monitoring simulations** " +"([#1649](https://github.com/adap/flower/pull/1649))" +msgstr "" + +#: ../../source/ref-changelog.md:209 +msgid "" +"We now have a documentation guide to help users monitor their performance" +" during simulations." +msgstr "" + +#: ../../source/ref-changelog.md:211 +msgid "" +"**Add training metrics to** `History` **object during simulations** " +"([#1696](https://github.com/adap/flower/pull/1696))" +msgstr "" + +#: ../../source/ref-changelog.md:213 +msgid "" +"The `fit_metrics_aggregation_fn` can be used to aggregate training " +"metrics, but previous releases did not save the results in the `History` " +"object. This is now the case!" +msgstr "" + +#: ../../source/ref-changelog.md:215 +msgid "" +"**General improvements** " +"([#1659](https://github.com/adap/flower/pull/1659), " +"[#1646](https://github.com/adap/flower/pull/1646), " +"[#1647](https://github.com/adap/flower/pull/1647), " +"[#1471](https://github.com/adap/flower/pull/1471), " +"[#1648](https://github.com/adap/flower/pull/1648), " +"[#1651](https://github.com/adap/flower/pull/1651), " +"[#1652](https://github.com/adap/flower/pull/1652), " +"[#1653](https://github.com/adap/flower/pull/1653), " +"[#1659](https://github.com/adap/flower/pull/1659), " +"[#1665](https://github.com/adap/flower/pull/1665), " +"[#1670](https://github.com/adap/flower/pull/1670), " +"[#1672](https://github.com/adap/flower/pull/1672), " +"[#1677](https://github.com/adap/flower/pull/1677), " +"[#1684](https://github.com/adap/flower/pull/1684), " +"[#1683](https://github.com/adap/flower/pull/1683), " +"[#1686](https://github.com/adap/flower/pull/1686), " +"[#1682](https://github.com/adap/flower/pull/1682), " +"[#1685](https://github.com/adap/flower/pull/1685), " +"[#1692](https://github.com/adap/flower/pull/1692), " +"[#1705](https://github.com/adap/flower/pull/1705), " +"[#1708](https://github.com/adap/flower/pull/1708), " +"[#1711](https://github.com/adap/flower/pull/1711), " +"[#1713](https://github.com/adap/flower/pull/1713), " +"[#1714](https://github.com/adap/flower/pull/1714), " +"[#1718](https://github.com/adap/flower/pull/1718), " +"[#1716](https://github.com/adap/flower/pull/1716), " +"[#1723](https://github.com/adap/flower/pull/1723), " +"[#1735](https://github.com/adap/flower/pull/1735), " +"[#1678](https://github.com/adap/flower/pull/1678), " +"[#1750](https://github.com/adap/flower/pull/1750), " +"[#1753](https://github.com/adap/flower/pull/1753), " +"[#1736](https://github.com/adap/flower/pull/1736), " +"[#1766](https://github.com/adap/flower/pull/1766), " +"[#1760](https://github.com/adap/flower/pull/1760), " +"[#1775](https://github.com/adap/flower/pull/1775), " +"[#1776](https://github.com/adap/flower/pull/1776), " +"[#1777](https://github.com/adap/flower/pull/1777), " +"[#1779](https://github.com/adap/flower/pull/1779), " +"[#1784](https://github.com/adap/flower/pull/1784), " +"[#1773](https://github.com/adap/flower/pull/1773), " +"[#1755](https://github.com/adap/flower/pull/1755), " +"[#1789](https://github.com/adap/flower/pull/1789), " +"[#1788](https://github.com/adap/flower/pull/1788), " +"[#1798](https://github.com/adap/flower/pull/1798), " +"[#1799](https://github.com/adap/flower/pull/1799), " +"[#1739](https://github.com/adap/flower/pull/1739), " +"[#1800](https://github.com/adap/flower/pull/1800), " +"[#1804](https://github.com/adap/flower/pull/1804), " +"[#1805](https://github.com/adap/flower/pull/1805))" +msgstr "" + +#: ../../source/ref-changelog.md:223 +msgid "v1.3.0 (2023-02-06)" +msgstr "" + +#: ../../source/ref-changelog.md:229 +msgid "" +"`Adam Narozniak`, `Alexander Viala Bellander`, `Charles Beauville`, " +"`Daniel J. Beutel`, `JDRanpariya`, `Lennart Behme`, `Taner Topal`" +msgstr "" + +#: ../../source/ref-changelog.md:233 +msgid "" +"**Add support for** `workload_id` **and** `group_id` **in Driver API** " +"([#1595](https://github.com/adap/flower/pull/1595))" +msgstr "" + +#: ../../source/ref-changelog.md:235 +msgid "" +"The (experimental) Driver API now supports a `workload_id` that can be " +"used to identify which workload a task belongs to. It also supports a new" +" `group_id` that can be used, for example, to indicate the current " +"training round. Both the `workload_id` and `group_id` enable client nodes" +" to decide whether they want to handle a task or not." +msgstr "" + +#: ../../source/ref-changelog.md:237 +msgid "" +"**Make Driver API and Fleet API address configurable** " +"([#1637](https://github.com/adap/flower/pull/1637))" +msgstr "" + +#: ../../source/ref-changelog.md:239 +msgid "" +"The (experimental) long-running Flower server (Driver API and Fleet API) " +"can now configure the server address of both Driver API (via `--driver-" +"api-address`) and Fleet API (via `--fleet-api-address`) when starting:" +msgstr "" + +#: ../../source/ref-changelog.md:241 +msgid "" +"`flower-server --driver-api-address \"0.0.0.0:8081\" --fleet-api-address " +"\"0.0.0.0:8086\"`" +msgstr "" + +#: ../../source/ref-changelog.md:243 +msgid "Both IPv4 and IPv6 addresses are supported." +msgstr "" + +#: ../../source/ref-changelog.md:245 +msgid "" +"**Add new example of Federated Learning using fastai and Flower** " +"([#1598](https://github.com/adap/flower/pull/1598))" +msgstr "" + +#: ../../source/ref-changelog.md:247 +msgid "" +"A new code example (`quickstart_fastai`) demonstrates federated learning " +"with [fastai](https://www.fast.ai/) and Flower. You can find it here: " +"[quickstart_fastai](https://github.com/adap/flower/tree/main/examples/quickstart_fastai)." +msgstr "" + +#: ../../source/ref-changelog.md:249 +msgid "" +"**Make Android example compatible with** `flwr >= 1.0.0` **and the latest" +" versions of Android** " +"([#1603](https://github.com/adap/flower/pull/1603))" +msgstr "" + +#: ../../source/ref-changelog.md:251 +msgid "" +"The Android code example has received a substantial update: the project " +"is compatible with Flower 1.0 (and later), the UI received a full " +"refresh, and the project is updated to be compatible with newer Android " +"tooling." +msgstr "" + +#: ../../source/ref-changelog.md:253 +msgid "" +"**Add new `FedProx` strategy** " +"([#1619](https://github.com/adap/flower/pull/1619))" +msgstr "" + +#: ../../source/ref-changelog.md:255 +msgid "" +"This " +"[strategy](https://github.com/adap/flower/blob/main/src/py/flwr/server/strategy/fedprox.py)" +" is almost identical to " +"[`FedAvg`](https://github.com/adap/flower/blob/main/src/py/flwr/server/strategy/fedavg.py)," +" but helps users replicate what is described in this " +"[paper](https://arxiv.org/abs/1812.06127). It essentially adds a " +"parameter called `proximal_mu` to regularize the local models with " +"respect to the global models." +msgstr "" + +#: ../../source/ref-changelog.md:257 +msgid "" +"**Add new metrics to telemetry events** " +"([#1640](https://github.com/adap/flower/pull/1640))" +msgstr "" + +#: ../../source/ref-changelog.md:259 +msgid "" +"An updated event structure allows, for example, the clustering of events " +"within the same workload." +msgstr "" + +#: ../../source/ref-changelog.md:261 +msgid "" +"**Add new custom strategy tutorial section** " +"[#1623](https://github.com/adap/flower/pull/1623)" +msgstr "" + +#: ../../source/ref-changelog.md:263 +msgid "" +"The Flower tutorial now has a new section that covers implementing a " +"custom strategy from scratch: [Open in " +"Colab](https://colab.research.google.com/github/adap/flower/blob/main/doc/source" +"/tutorial-build-a-strategy-from-scratch-pytorch.ipynb)" +msgstr "" + +#: ../../source/ref-changelog.md:265 +msgid "" +"**Add new custom serialization tutorial section** " +"([#1622](https://github.com/adap/flower/pull/1622))" +msgstr "" + +#: ../../source/ref-changelog.md:267 +msgid "" +"The Flower tutorial now has a new section that covers custom " +"serialization: [Open in " +"Colab](https://colab.research.google.com/github/adap/flower/blob/main/doc/source" +"/tutorial-customize-the-client-pytorch.ipynb)" +msgstr "" + +#: ../../source/ref-changelog.md:269 +msgid "" +"**General improvements** " +"([#1638](https://github.com/adap/flower/pull/1638), " +"[#1634](https://github.com/adap/flower/pull/1634), " +"[#1636](https://github.com/adap/flower/pull/1636), " +"[#1635](https://github.com/adap/flower/pull/1635), " +"[#1633](https://github.com/adap/flower/pull/1633), " +"[#1632](https://github.com/adap/flower/pull/1632), " +"[#1631](https://github.com/adap/flower/pull/1631), " +"[#1630](https://github.com/adap/flower/pull/1630), " +"[#1627](https://github.com/adap/flower/pull/1627), " +"[#1593](https://github.com/adap/flower/pull/1593), " +"[#1616](https://github.com/adap/flower/pull/1616), " +"[#1615](https://github.com/adap/flower/pull/1615), " +"[#1607](https://github.com/adap/flower/pull/1607), " +"[#1609](https://github.com/adap/flower/pull/1609), " +"[#1608](https://github.com/adap/flower/pull/1608), " +"[#1603](https://github.com/adap/flower/pull/1603), " +"[#1590](https://github.com/adap/flower/pull/1590), " +"[#1580](https://github.com/adap/flower/pull/1580), " +"[#1599](https://github.com/adap/flower/pull/1599), " +"[#1600](https://github.com/adap/flower/pull/1600), " +"[#1601](https://github.com/adap/flower/pull/1601), " +"[#1597](https://github.com/adap/flower/pull/1597), " +"[#1595](https://github.com/adap/flower/pull/1595), " +"[#1591](https://github.com/adap/flower/pull/1591), " +"[#1588](https://github.com/adap/flower/pull/1588), " +"[#1589](https://github.com/adap/flower/pull/1589), " +"[#1587](https://github.com/adap/flower/pull/1587), " +"[#1573](https://github.com/adap/flower/pull/1573), " +"[#1581](https://github.com/adap/flower/pull/1581), " +"[#1578](https://github.com/adap/flower/pull/1578), " +"[#1574](https://github.com/adap/flower/pull/1574), " +"[#1572](https://github.com/adap/flower/pull/1572), " +"[#1586](https://github.com/adap/flower/pull/1586))" +msgstr "" + +#: ../../source/ref-changelog.md:273 +msgid "" +"**Updated documentation** " +"([#1629](https://github.com/adap/flower/pull/1629), " +"[#1628](https://github.com/adap/flower/pull/1628), " +"[#1620](https://github.com/adap/flower/pull/1620), " +"[#1618](https://github.com/adap/flower/pull/1618), " +"[#1617](https://github.com/adap/flower/pull/1617), " +"[#1613](https://github.com/adap/flower/pull/1613), " +"[#1614](https://github.com/adap/flower/pull/1614))" +msgstr "" + +#: ../../source/ref-changelog.md:275 ../../source/ref-changelog.md:342 +msgid "" +"As usual, the documentation has improved quite a bit. It is another step " +"in our effort to make the Flower documentation the best documentation of " +"any project. Stay tuned and as always, feel free to provide feedback!" +msgstr "" + +#: ../../source/ref-changelog.md:281 +msgid "v1.2.0 (2023-01-13)" +msgstr "" + +#: ../../source/ref-changelog.md:287 +msgid "" +"`Adam Narozniak`, `Charles Beauville`, `Daniel J. Beutel`, `Edoardo`, `L." +" Jiang`, `Ragy`, `Taner Topal`, `dannymcy`" +msgstr "" + +#: ../../source/ref-changelog.md:291 +msgid "" +"**Introduce new Flower Baseline: FedAvg MNIST** " +"([#1497](https://github.com/adap/flower/pull/1497), " +"[#1552](https://github.com/adap/flower/pull/1552))" +msgstr "" + +#: ../../source/ref-changelog.md:293 +msgid "" +"Over the coming weeks, we will be releasing a number of new reference " +"implementations useful especially to FL newcomers. They will typically " +"revisit well known papers from the literature, and be suitable for " +"integration in your own application or for experimentation, in order to " +"deepen your knowledge of FL in general. Today's release is the first in " +"this series. [Read more.](https://flower.dev/blog/2023-01-12-fl-starter-" +"pack-fedavg-mnist-cnn/)" +msgstr "" + +#: ../../source/ref-changelog.md:295 +msgid "" +"**Improve GPU support in simulations** " +"([#1555](https://github.com/adap/flower/pull/1555))" +msgstr "" + +#: ../../source/ref-changelog.md:297 +msgid "" +"The Ray-based Virtual Client Engine (`start_simulation`) has been updated" +" to improve GPU support. The update includes some of the hard-earned " +"lessons from scaling simulations in GPU cluster environments. New " +"defaults make running GPU-based simulations substantially more robust." +msgstr "" + +#: ../../source/ref-changelog.md:299 +msgid "" +"**Improve GPU support in Jupyter Notebook tutorials** " +"([#1527](https://github.com/adap/flower/pull/1527), " +"[#1558](https://github.com/adap/flower/pull/1558))" +msgstr "" + +#: ../../source/ref-changelog.md:301 +msgid "" +"Some users reported that Jupyter Notebooks have not always been easy to " +"use on GPU instances. We listened and made improvements to all of our " +"Jupyter notebooks! Check out the updated notebooks here:" +msgstr "" + +#: ../../source/ref-changelog.md:303 +msgid "" +"[An Introduction to Federated Learning](https://flower.dev/docs/framework" +"/tutorial-get-started-with-flower-pytorch.html)" +msgstr "" + +#: ../../source/ref-changelog.md:304 +msgid "" +"[Strategies in Federated Learning](https://flower.dev/docs/framework" +"/tutorial-use-a-federated-learning-strategy-pytorch.html)" +msgstr "" + +#: ../../source/ref-changelog.md:305 +msgid "" +"[Building a Strategy](https://flower.dev/docs/framework/tutorial-build-a" +"-strategy-from-scratch-pytorch.html)" +msgstr "" + +#: ../../source/ref-changelog.md:306 +msgid "" +"[Client and NumPyClient](https://flower.dev/docs/framework/tutorial-" +"customize-the-client-pytorch.html)" +msgstr "" + +#: ../../source/ref-changelog.md:308 +msgid "" +"**Introduce optional telemetry** " +"([#1533](https://github.com/adap/flower/pull/1533), " +"[#1544](https://github.com/adap/flower/pull/1544), " +"[#1584](https://github.com/adap/flower/pull/1584))" +msgstr "" + +#: ../../source/ref-changelog.md:310 +msgid "" +"After a [request for " +"feedback](https://github.com/adap/flower/issues/1534) from the community," +" the Flower open-source project introduces optional collection of " +"*anonymous* usage metrics to make well-informed decisions to improve " +"Flower. Doing this enables the Flower team to understand how Flower is " +"used and what challenges users might face." +msgstr "" + +#: ../../source/ref-changelog.md:312 +msgid "" +"**Flower is a friendly framework for collaborative AI and data science.**" +" Staying true to this statement, Flower makes it easy to disable " +"telemetry for users who do not want to share anonymous usage metrics. " +"[Read more.](https://flower.dev/docs/telemetry.html)." +msgstr "" + +#: ../../source/ref-changelog.md:314 +msgid "" +"**Introduce (experimental) Driver API** " +"([#1520](https://github.com/adap/flower/pull/1520), " +"[#1525](https://github.com/adap/flower/pull/1525), " +"[#1545](https://github.com/adap/flower/pull/1545), " +"[#1546](https://github.com/adap/flower/pull/1546), " +"[#1550](https://github.com/adap/flower/pull/1550), " +"[#1551](https://github.com/adap/flower/pull/1551), " +"[#1567](https://github.com/adap/flower/pull/1567))" +msgstr "" + +#: ../../source/ref-changelog.md:316 +msgid "" +"Flower now has a new (experimental) Driver API which will enable fully " +"programmable, async, and multi-tenant Federated Learning and Federated " +"Analytics applications. Phew, that's a lot! Going forward, the Driver API" +" will be the abstraction that many upcoming features will be built on - " +"and you can start building those things now, too." +msgstr "" + +#: ../../source/ref-changelog.md:318 +msgid "" +"The Driver API also enables a new execution mode in which the server runs" +" indefinitely. Multiple individual workloads can run concurrently and " +"start and stop their execution independent of the server. This is " +"especially useful for users who want to deploy Flower in production." +msgstr "" + +#: ../../source/ref-changelog.md:320 +msgid "" +"To learn more, check out the `mt-pytorch` code example. We look forward " +"to you feedback!" +msgstr "" + +#: ../../source/ref-changelog.md:322 +msgid "" +"Please note: *The Driver API is still experimental and will likely change" +" significantly over time.*" +msgstr "" + +#: ../../source/ref-changelog.md:324 +msgid "" +"**Add new Federated Analytics with Pandas example** " +"([#1469](https://github.com/adap/flower/pull/1469), " +"[#1535](https://github.com/adap/flower/pull/1535))" +msgstr "" + +#: ../../source/ref-changelog.md:326 +msgid "" +"A new code example (`quickstart_pandas`) demonstrates federated analytics" +" with Pandas and Flower. You can find it here: " +"[quickstart_pandas](https://github.com/adap/flower/tree/main/examples/quickstart_pandas)." +msgstr "" + +#: ../../source/ref-changelog.md:328 +msgid "" +"**Add new strategies: Krum and MultiKrum** " +"([#1481](https://github.com/adap/flower/pull/1481))" +msgstr "" + +#: ../../source/ref-changelog.md:330 +msgid "" +"Edoardo, a computer science student at the Sapienza University of Rome, " +"contributed a new `Krum` strategy that enables users to easily use Krum " +"and MultiKrum in their workloads." +msgstr "" + +#: ../../source/ref-changelog.md:332 +msgid "" +"**Update C++ example to be compatible with Flower v1.2.0** " +"([#1495](https://github.com/adap/flower/pull/1495))" +msgstr "" + +#: ../../source/ref-changelog.md:334 +msgid "" +"The C++ code example has received a substantial update to make it " +"compatible with the latest version of Flower." +msgstr "" + +#: ../../source/ref-changelog.md:336 +msgid "" +"**General improvements** " +"([#1491](https://github.com/adap/flower/pull/1491), " +"[#1504](https://github.com/adap/flower/pull/1504), " +"[#1506](https://github.com/adap/flower/pull/1506), " +"[#1514](https://github.com/adap/flower/pull/1514), " +"[#1522](https://github.com/adap/flower/pull/1522), " +"[#1523](https://github.com/adap/flower/pull/1523), " +"[#1526](https://github.com/adap/flower/pull/1526), " +"[#1528](https://github.com/adap/flower/pull/1528), " +"[#1547](https://github.com/adap/flower/pull/1547), " +"[#1549](https://github.com/adap/flower/pull/1549), " +"[#1560](https://github.com/adap/flower/pull/1560), " +"[#1564](https://github.com/adap/flower/pull/1564), " +"[#1566](https://github.com/adap/flower/pull/1566))" +msgstr "" + +#: ../../source/ref-changelog.md:340 +msgid "" +"**Updated documentation** " +"([#1494](https://github.com/adap/flower/pull/1494), " +"[#1496](https://github.com/adap/flower/pull/1496), " +"[#1500](https://github.com/adap/flower/pull/1500), " +"[#1503](https://github.com/adap/flower/pull/1503), " +"[#1505](https://github.com/adap/flower/pull/1505), " +"[#1524](https://github.com/adap/flower/pull/1524), " +"[#1518](https://github.com/adap/flower/pull/1518), " +"[#1519](https://github.com/adap/flower/pull/1519), " +"[#1515](https://github.com/adap/flower/pull/1515))" +msgstr "" + +#: ../../source/ref-changelog.md:344 +msgid "" +"One highlight is the new [first time contributor " +"guide](https://flower.dev/docs/first-time-contributors.html): if you've " +"never contributed on GitHub before, this is the perfect place to start!" +msgstr "" + +#: ../../source/ref-changelog.md:350 +msgid "v1.1.0 (2022-10-31)" +msgstr "" + +#: ../../source/ref-changelog.md:354 +msgid "" +"We would like to give our **special thanks** to all the contributors who " +"made the new version of Flower possible (in `git shortlog` order):" +msgstr "" + +#: ../../source/ref-changelog.md:356 +msgid "" +"`Akis Linardos`, `Christopher S`, `Daniel J. Beutel`, `George`, `Jan " +"Schlicht`, `Mohammad Fares`, `Pedro Porto Buarque de Gusmão`, `Philipp " +"Wiesner`, `Rob Luke`, `Taner Topal`, `VasundharaAgarwal`, " +"`danielnugraha`, `edogab33`" +msgstr "" + +#: ../../source/ref-changelog.md:360 +msgid "" +"**Introduce Differential Privacy wrappers (preview)** " +"([#1357](https://github.com/adap/flower/pull/1357), " +"[#1460](https://github.com/adap/flower/pull/1460))" +msgstr "" + +#: ../../source/ref-changelog.md:362 +msgid "" +"The first (experimental) preview of pluggable Differential Privacy " +"wrappers enables easy configuration and usage of differential privacy " +"(DP). The pluggable DP wrappers enable framework-agnostic **and** " +"strategy-agnostic usage of both client-side DP and server-side DP. Head " +"over to the Flower docs, a new explainer goes into more detail." +msgstr "" + +#: ../../source/ref-changelog.md:364 +msgid "" +"**New iOS CoreML code example** " +"([#1289](https://github.com/adap/flower/pull/1289))" +msgstr "" + +#: ../../source/ref-changelog.md:366 +msgid "" +"Flower goes iOS! A massive new code example shows how Flower clients can " +"be built for iOS. The code example contains both Flower iOS SDK " +"components that can be used for many tasks, and one task example running " +"on CoreML." +msgstr "" + +#: ../../source/ref-changelog.md:368 +msgid "" +"**New FedMedian strategy** " +"([#1461](https://github.com/adap/flower/pull/1461))" +msgstr "" + +#: ../../source/ref-changelog.md:370 +msgid "" +"The new `FedMedian` strategy implements Federated Median (FedMedian) by " +"[Yin et al., 2018](https://arxiv.org/pdf/1803.01498v1.pdf)." +msgstr "" + +#: ../../source/ref-changelog.md:372 +msgid "" +"**Log** `Client` **exceptions in Virtual Client Engine** " +"([#1493](https://github.com/adap/flower/pull/1493))" +msgstr "" + +#: ../../source/ref-changelog.md:374 +msgid "" +"All `Client` exceptions happening in the VCE are now logged by default " +"and not just exposed to the configured `Strategy` (via the `failures` " +"argument)." +msgstr "" + +#: ../../source/ref-changelog.md:376 +msgid "" +"**Improve Virtual Client Engine internals** " +"([#1401](https://github.com/adap/flower/pull/1401), " +"[#1453](https://github.com/adap/flower/pull/1453))" +msgstr "" + +#: ../../source/ref-changelog.md:378 +msgid "" +"Some internals of the Virtual Client Engine have been revamped. The VCE " +"now uses Ray 2.0 under the hood, the value type of the `client_resources`" +" dictionary changed to `float` to allow fractions of resources to be " +"allocated." +msgstr "" + +#: ../../source/ref-changelog.md:380 +msgid "" +"**Support optional** `Client`**/**`NumPyClient` **methods in Virtual " +"Client Engine**" +msgstr "" + +#: ../../source/ref-changelog.md:382 +msgid "" +"The Virtual Client Engine now has full support for optional `Client` (and" +" `NumPyClient`) methods." +msgstr "" + +#: ../../source/ref-changelog.md:384 +msgid "" +"**Provide type information to packages using** `flwr` " +"([#1377](https://github.com/adap/flower/pull/1377))" +msgstr "" + +#: ../../source/ref-changelog.md:386 +msgid "" +"The package `flwr` is now bundled with a `py.typed` file indicating that " +"the package is typed. This enables typing support for projects or " +"packages that use `flwr` by enabling them to improve their code using " +"static type checkers like `mypy`." +msgstr "" + +#: ../../source/ref-changelog.md:388 +msgid "" +"**Updated code example** " +"([#1344](https://github.com/adap/flower/pull/1344), " +"[#1347](https://github.com/adap/flower/pull/1347))" +msgstr "" + +#: ../../source/ref-changelog.md:390 +msgid "" +"The code examples covering scikit-learn and PyTorch Lightning have been " +"updated to work with the latest version of Flower." +msgstr "" + +#: ../../source/ref-changelog.md:392 +msgid "" +"**Updated documentation** " +"([#1355](https://github.com/adap/flower/pull/1355), " +"[#1558](https://github.com/adap/flower/pull/1558), " +"[#1379](https://github.com/adap/flower/pull/1379), " +"[#1380](https://github.com/adap/flower/pull/1380), " +"[#1381](https://github.com/adap/flower/pull/1381), " +"[#1332](https://github.com/adap/flower/pull/1332), " +"[#1391](https://github.com/adap/flower/pull/1391), " +"[#1403](https://github.com/adap/flower/pull/1403), " +"[#1364](https://github.com/adap/flower/pull/1364), " +"[#1409](https://github.com/adap/flower/pull/1409), " +"[#1419](https://github.com/adap/flower/pull/1419), " +"[#1444](https://github.com/adap/flower/pull/1444), " +"[#1448](https://github.com/adap/flower/pull/1448), " +"[#1417](https://github.com/adap/flower/pull/1417), " +"[#1449](https://github.com/adap/flower/pull/1449), " +"[#1465](https://github.com/adap/flower/pull/1465), " +"[#1467](https://github.com/adap/flower/pull/1467))" +msgstr "" + +#: ../../source/ref-changelog.md:394 +msgid "" +"There have been so many documentation updates that it doesn't even make " +"sense to list them individually." +msgstr "" + +#: ../../source/ref-changelog.md:396 +msgid "" +"**Restructured documentation** " +"([#1387](https://github.com/adap/flower/pull/1387))" +msgstr "" + +#: ../../source/ref-changelog.md:398 +msgid "" +"The documentation has been restructured to make it easier to navigate. " +"This is just the first step in a larger effort to make the Flower " +"documentation the best documentation of any project ever. Stay tuned!" +msgstr "" + +#: ../../source/ref-changelog.md:400 +msgid "" +"**Open in Colab button** " +"([#1389](https://github.com/adap/flower/pull/1389))" +msgstr "" + +#: ../../source/ref-changelog.md:402 +msgid "" +"The four parts of the Flower Federated Learning Tutorial now come with a " +"new `Open in Colab` button. No need to install anything on your local " +"machine, you can now use and learn about Flower in your browser, it's " +"only a single click away." +msgstr "" + +#: ../../source/ref-changelog.md:404 +msgid "" +"**Improved tutorial** ([#1468](https://github.com/adap/flower/pull/1468)," +" [#1470](https://github.com/adap/flower/pull/1470), " +"[#1472](https://github.com/adap/flower/pull/1472), " +"[#1473](https://github.com/adap/flower/pull/1473), " +"[#1474](https://github.com/adap/flower/pull/1474), " +"[#1475](https://github.com/adap/flower/pull/1475))" +msgstr "" + +#: ../../source/ref-changelog.md:406 +msgid "" +"The Flower Federated Learning Tutorial has two brand-new parts covering " +"custom strategies (still WIP) and the distinction between `Client` and " +"`NumPyClient`. The existing parts one and two have also been improved " +"(many small changes and fixes)." +msgstr "" + +#: ../../source/ref-changelog.md:412 +msgid "v1.0.0 (2022-07-28)" +msgstr "" + +#: ../../source/ref-changelog.md:414 +msgid "Highlights" +msgstr "" + +#: ../../source/ref-changelog.md:416 +msgid "Stable **Virtual Client Engine** (accessible via `start_simulation`)" +msgstr "" + +#: ../../source/ref-changelog.md:417 +msgid "All `Client`/`NumPyClient` methods are now optional" +msgstr "" + +#: ../../source/ref-changelog.md:418 +msgid "Configurable `get_parameters`" +msgstr "" + +#: ../../source/ref-changelog.md:419 +msgid "" +"Tons of small API cleanups resulting in a more coherent developer " +"experience" +msgstr "" + +#: ../../source/ref-changelog.md:423 +msgid "" +"We would like to give our **special thanks** to all the contributors who " +"made Flower 1.0 possible (in reverse [GitHub " +"Contributors](https://github.com/adap/flower/graphs/contributors) order):" +msgstr "" + +#: ../../source/ref-changelog.md:425 +msgid "" +"[@rtaiello](https://github.com/rtaiello), " +"[@g-pichler](https://github.com/g-pichler), [@rob-" +"luke](https://github.com/rob-luke), [@andreea-zaharia](https://github.com" +"/andreea-zaharia), [@kinshukdua](https://github.com/kinshukdua), " +"[@nfnt](https://github.com/nfnt), " +"[@tatiana-s](https://github.com/tatiana-s), " +"[@TParcollet](https://github.com/TParcollet), " +"[@vballoli](https://github.com/vballoli), " +"[@negedng](https://github.com/negedng), " +"[@RISHIKESHAVAN](https://github.com/RISHIKESHAVAN), " +"[@hei411](https://github.com/hei411), " +"[@SebastianSpeitel](https://github.com/SebastianSpeitel), " +"[@AmitChaulwar](https://github.com/AmitChaulwar), " +"[@Rubiel1](https://github.com/Rubiel1), [@FANTOME-PAN](https://github.com" +"/FANTOME-PAN), [@Rono-BC](https://github.com/Rono-BC), " +"[@lbhm](https://github.com/lbhm), " +"[@sishtiaq](https://github.com/sishtiaq), " +"[@remde](https://github.com/remde), [@Jueun-Park](https://github.com" +"/Jueun-Park), [@architjen](https://github.com/architjen), " +"[@PratikGarai](https://github.com/PratikGarai), " +"[@mrinaald](https://github.com/mrinaald), " +"[@zliel](https://github.com/zliel), " +"[@MeiruiJiang](https://github.com/MeiruiJiang), " +"[@sandracl72](https://github.com/sandracl72), " +"[@gubertoli](https://github.com/gubertoli), " +"[@Vingt100](https://github.com/Vingt100), " +"[@MakGulati](https://github.com/MakGulati), " +"[@cozek](https://github.com/cozek), " +"[@jafermarq](https://github.com/jafermarq), " +"[@sisco0](https://github.com/sisco0), " +"[@akhilmathurs](https://github.com/akhilmathurs), " +"[@CanTuerk](https://github.com/CanTuerk), " +"[@mariaboerner1987](https://github.com/mariaboerner1987), " +"[@pedropgusmao](https://github.com/pedropgusmao), " +"[@tanertopal](https://github.com/tanertopal), " +"[@danieljanes](https://github.com/danieljanes)." +msgstr "" + +#: ../../source/ref-changelog.md:429 +msgid "" +"**All arguments must be passed as keyword arguments** " +"([#1338](https://github.com/adap/flower/pull/1338))" +msgstr "" + +#: ../../source/ref-changelog.md:431 +msgid "" +"Pass all arguments as keyword arguments, positional arguments are not " +"longer supported. Code that uses positional arguments (e.g., " +"`start_client(\"127.0.0.1:8080\", FlowerClient())`) must add the keyword " +"for each positional argument (e.g., " +"`start_client(server_address=\"127.0.0.1:8080\", " +"client=FlowerClient())`)." +msgstr "" + +#: ../../source/ref-changelog.md:433 +msgid "" +"**Introduce configuration object** `ServerConfig` **in** `start_server` " +"**and** `start_simulation` " +"([#1317](https://github.com/adap/flower/pull/1317))" +msgstr "" + +#: ../../source/ref-changelog.md:435 +msgid "" +"Instead of a config dictionary `{\"num_rounds\": 3, \"round_timeout\": " +"600.0}`, `start_server` and `start_simulation` now expect a configuration" +" object of type `flwr.server.ServerConfig`. `ServerConfig` takes the same" +" arguments that as the previous config dict, but it makes writing type-" +"safe code easier and the default parameters values more transparent." +msgstr "" + +#: ../../source/ref-changelog.md:437 +msgid "" +"**Rename built-in strategy parameters for clarity** " +"([#1334](https://github.com/adap/flower/pull/1334))" +msgstr "" + +#: ../../source/ref-changelog.md:439 +msgid "" +"The following built-in strategy parameters were renamed to improve " +"readability and consistency with other API's:" +msgstr "" + +#: ../../source/ref-changelog.md:441 +msgid "`fraction_eval` --> `fraction_evaluate`" +msgstr "" + +#: ../../source/ref-changelog.md:442 +msgid "`min_eval_clients` --> `min_evaluate_clients`" +msgstr "" + +#: ../../source/ref-changelog.md:443 +msgid "`eval_fn` --> `evaluate_fn`" +msgstr "" + +#: ../../source/ref-changelog.md:445 +msgid "" +"**Update default arguments of built-in strategies** " +"([#1278](https://github.com/adap/flower/pull/1278))" +msgstr "" + +#: ../../source/ref-changelog.md:447 +msgid "" +"All built-in strategies now use `fraction_fit=1.0` and " +"`fraction_evaluate=1.0`, which means they select *all* currently " +"available clients for training and evaluation. Projects that relied on " +"the previous default values can get the previous behaviour by " +"initializing the strategy in the following way:" +msgstr "" + +#: ../../source/ref-changelog.md:449 +msgid "`strategy = FedAvg(fraction_fit=0.1, fraction_evaluate=0.1)`" +msgstr "" + +#: ../../source/ref-changelog.md:451 +msgid "" +"**Add** `server_round` **to** `Strategy.evaluate` " +"([#1334](https://github.com/adap/flower/pull/1334))" +msgstr "" + +#: ../../source/ref-changelog.md:453 +msgid "" +"The `Strategy` method `evaluate` now receives the current round of " +"federated learning/evaluation as the first parameter." +msgstr "" + +#: ../../source/ref-changelog.md:455 +msgid "" +"**Add** `server_round` **and** `config` **parameters to** `evaluate_fn` " +"([#1334](https://github.com/adap/flower/pull/1334))" +msgstr "" + +#: ../../source/ref-changelog.md:457 +msgid "" +"The `evaluate_fn` passed to built-in strategies like `FedAvg` now takes " +"three parameters: (1) The current round of federated learning/evaluation " +"(`server_round`), (2) the model parameters to evaluate (`parameters`), " +"and (3) a config dictionary (`config`)." +msgstr "" + +#: ../../source/ref-changelog.md:459 +msgid "" +"**Rename** `rnd` **to** `server_round` " +"([#1321](https://github.com/adap/flower/pull/1321))" +msgstr "" + +#: ../../source/ref-changelog.md:461 +msgid "" +"Several Flower methods and functions (`evaluate_fn`, `configure_fit`, " +"`aggregate_fit`, `configure_evaluate`, `aggregate_evaluate`) receive the " +"current round of federated learning/evaluation as their first parameter. " +"To improve reaability and avoid confusion with *random*, this parameter " +"has been renamed from `rnd` to `server_round`." +msgstr "" + +#: ../../source/ref-changelog.md:463 +msgid "" +"**Move** `flwr.dataset` **to** `flwr_baselines` " +"([#1273](https://github.com/adap/flower/pull/1273))" +msgstr "" + +#: ../../source/ref-changelog.md:465 +msgid "The experimental package `flwr.dataset` was migrated to Flower Baselines." +msgstr "" + +#: ../../source/ref-changelog.md:467 +msgid "" +"**Remove experimental strategies** " +"([#1280](https://github.com/adap/flower/pull/1280))" +msgstr "" + +#: ../../source/ref-changelog.md:469 +msgid "" +"Remove unmaintained experimental strategies (`FastAndSlow`, `FedFSv0`, " +"`FedFSv1`)." +msgstr "" + +#: ../../source/ref-changelog.md:471 +msgid "" +"**Rename** `Weights` **to** `NDArrays` " +"([#1258](https://github.com/adap/flower/pull/1258), " +"[#1259](https://github.com/adap/flower/pull/1259))" +msgstr "" + +#: ../../source/ref-changelog.md:473 +msgid "" +"`flwr.common.Weights` was renamed to `flwr.common.NDArrays` to better " +"capture what this type is all about." +msgstr "" + +#: ../../source/ref-changelog.md:475 +msgid "" +"**Remove antiquated** `force_final_distributed_eval` **from** " +"`start_server` ([#1258](https://github.com/adap/flower/pull/1258), " +"[#1259](https://github.com/adap/flower/pull/1259))" +msgstr "" + +#: ../../source/ref-changelog.md:477 +msgid "" +"The `start_server` parameter `force_final_distributed_eval` has long been" +" a historic artefact, in this release it is finally gone for good." +msgstr "" + +#: ../../source/ref-changelog.md:479 +msgid "" +"**Make** `get_parameters` **configurable** " +"([#1242](https://github.com/adap/flower/pull/1242))" +msgstr "" + +#: ../../source/ref-changelog.md:481 +msgid "" +"The `get_parameters` method now accepts a configuration dictionary, just " +"like `get_properties`, `fit`, and `evaluate`." +msgstr "" + +#: ../../source/ref-changelog.md:483 +msgid "" +"**Replace** `num_rounds` **in** `start_simulation` **with new** `config` " +"**parameter** ([#1281](https://github.com/adap/flower/pull/1281))" +msgstr "" + +#: ../../source/ref-changelog.md:485 +msgid "" +"The `start_simulation` function now accepts a configuration dictionary " +"`config` instead of the `num_rounds` integer. This improves the " +"consistency between `start_simulation` and `start_server` and makes " +"transitioning between the two easier." +msgstr "" + +#: ../../source/ref-changelog.md:489 +msgid "" +"**Support Python 3.10** " +"([#1320](https://github.com/adap/flower/pull/1320))" +msgstr "" + +#: ../../source/ref-changelog.md:491 +msgid "" +"The previous Flower release introduced experimental support for Python " +"3.10, this release declares Python 3.10 support as stable." +msgstr "" + +#: ../../source/ref-changelog.md:493 +msgid "" +"**Make all** `Client` **and** `NumPyClient` **methods optional** " +"([#1260](https://github.com/adap/flower/pull/1260), " +"[#1277](https://github.com/adap/flower/pull/1277))" +msgstr "" + +#: ../../source/ref-changelog.md:495 +msgid "" +"The `Client`/`NumPyClient` methods `get_properties`, `get_parameters`, " +"`fit`, and `evaluate` are all optional. This enables writing clients that" +" implement, for example, only `fit`, but no other method. No need to " +"implement `evaluate` when using centralized evaluation!" +msgstr "" + +#: ../../source/ref-changelog.md:497 +msgid "" +"**Enable passing a** `Server` **instance to** `start_simulation` " +"([#1281](https://github.com/adap/flower/pull/1281))" +msgstr "" + +#: ../../source/ref-changelog.md:499 +msgid "" +"Similar to `start_server`, `start_simulation` now accepts a full `Server`" +" instance. This enables users to heavily customize the execution of " +"eperiments and opens the door to running, for example, async FL using the" +" Virtual Client Engine." +msgstr "" + +#: ../../source/ref-changelog.md:501 +msgid "" +"**Update code examples** " +"([#1291](https://github.com/adap/flower/pull/1291), " +"[#1286](https://github.com/adap/flower/pull/1286), " +"[#1282](https://github.com/adap/flower/pull/1282))" +msgstr "" + +#: ../../source/ref-changelog.md:503 +msgid "" +"Many code examples received small or even large maintenance updates, " +"among them are" +msgstr "" + +#: ../../source/ref-changelog.md:505 +msgid "`scikit-learn`" +msgstr "" + +#: ../../source/ref-changelog.md:506 +msgid "`simulation_pytorch`" +msgstr "" + +#: ../../source/ref-changelog.md:507 +msgid "`quickstart_pytorch`" +msgstr "" + +#: ../../source/ref-changelog.md:508 +msgid "`quickstart_simulation`" +msgstr "" + +#: ../../source/ref-changelog.md:509 +msgid "`quickstart_tensorflow`" +msgstr "" + +#: ../../source/ref-changelog.md:510 +msgid "`advanced_tensorflow`" +msgstr "" + +#: ../../source/ref-changelog.md:512 +msgid "" +"**Remove the obsolete simulation example** " +"([#1328](https://github.com/adap/flower/pull/1328))" +msgstr "" + +#: ../../source/ref-changelog.md:514 +msgid "" +"Removes the obsolete `simulation` example and renames " +"`quickstart_simulation` to `simulation_tensorflow` so it fits withs the " +"naming of `simulation_pytorch`" +msgstr "" + +#: ../../source/ref-changelog.md:516 +msgid "" +"**Update documentation** " +"([#1223](https://github.com/adap/flower/pull/1223), " +"[#1209](https://github.com/adap/flower/pull/1209), " +"[#1251](https://github.com/adap/flower/pull/1251), " +"[#1257](https://github.com/adap/flower/pull/1257), " +"[#1267](https://github.com/adap/flower/pull/1267), " +"[#1268](https://github.com/adap/flower/pull/1268), " +"[#1300](https://github.com/adap/flower/pull/1300), " +"[#1304](https://github.com/adap/flower/pull/1304), " +"[#1305](https://github.com/adap/flower/pull/1305), " +"[#1307](https://github.com/adap/flower/pull/1307))" +msgstr "" + +#: ../../source/ref-changelog.md:518 +msgid "" +"One substantial documentation update fixes multiple smaller rendering " +"issues, makes titles more succinct to improve navigation, removes a " +"deprecated library, updates documentation dependencies, includes the " +"`flwr.common` module in the API reference, includes support for markdown-" +"based documentation, migrates the changelog from `.rst` to `.md`, and " +"fixes a number of smaller details!" +msgstr "" + +#: ../../source/ref-changelog.md:520 ../../source/ref-changelog.md:575 +#: ../../source/ref-changelog.md:644 ../../source/ref-changelog.md:683 +msgid "**Minor updates**" +msgstr "" + +#: ../../source/ref-changelog.md:522 +msgid "" +"Add round number to fit and evaluate log messages " +"([#1266](https://github.com/adap/flower/pull/1266))" +msgstr "" + +#: ../../source/ref-changelog.md:523 +msgid "" +"Add secure gRPC connection to the `advanced_tensorflow` code example " +"([#847](https://github.com/adap/flower/pull/847))" +msgstr "" + +#: ../../source/ref-changelog.md:524 +msgid "" +"Update developer tooling " +"([#1231](https://github.com/adap/flower/pull/1231), " +"[#1276](https://github.com/adap/flower/pull/1276), " +"[#1301](https://github.com/adap/flower/pull/1301), " +"[#1310](https://github.com/adap/flower/pull/1310))" +msgstr "" + +#: ../../source/ref-changelog.md:525 +msgid "" +"Rename ProtoBuf messages to improve consistency " +"([#1214](https://github.com/adap/flower/pull/1214), " +"[#1258](https://github.com/adap/flower/pull/1258), " +"[#1259](https://github.com/adap/flower/pull/1259))" +msgstr "" + +#: ../../source/ref-changelog.md:527 +msgid "v0.19.0 (2022-05-18)" +msgstr "" + +#: ../../source/ref-changelog.md:531 +msgid "" +"**Flower Baselines (preview): FedOpt, FedBN, FedAvgM** " +"([#919](https://github.com/adap/flower/pull/919), " +"[#1127](https://github.com/adap/flower/pull/1127), " +"[#914](https://github.com/adap/flower/pull/914))" +msgstr "" + +#: ../../source/ref-changelog.md:533 +msgid "" +"The first preview release of Flower Baselines has arrived! We're " +"kickstarting Flower Baselines with implementations of FedOpt (FedYogi, " +"FedAdam, FedAdagrad), FedBN, and FedAvgM. Check the documentation on how " +"to use [Flower Baselines](https://flower.dev/docs/using-baselines.html). " +"With this first preview release we're also inviting the community to " +"[contribute their own baselines](https://flower.dev/docs/contributing-" +"baselines.html)." +msgstr "" + +#: ../../source/ref-changelog.md:535 +msgid "" +"**C++ client SDK (preview) and code example** " +"([#1111](https://github.com/adap/flower/pull/1111))" +msgstr "" + +#: ../../source/ref-changelog.md:537 +msgid "" +"Preview support for Flower clients written in C++. The C++ preview " +"includes a Flower client SDK and a quickstart code example that " +"demonstrates a simple C++ client using the SDK." +msgstr "" + +#: ../../source/ref-changelog.md:539 +msgid "" +"**Add experimental support for Python 3.10 and Python 3.11** " +"([#1135](https://github.com/adap/flower/pull/1135))" +msgstr "" + +#: ../../source/ref-changelog.md:541 +msgid "" +"Python 3.10 is the latest stable release of Python and Python 3.11 is due" +" to be released in October. This Flower release adds experimental support" +" for both Python versions." +msgstr "" + +#: ../../source/ref-changelog.md:543 +msgid "" +"**Aggregate custom metrics through user-provided functions** " +"([#1144](https://github.com/adap/flower/pull/1144))" +msgstr "" + +#: ../../source/ref-changelog.md:545 +msgid "" +"Custom metrics (e.g., `accuracy`) can now be aggregated without having to" +" customize the strategy. Built-in strategies support two new arguments, " +"`fit_metrics_aggregation_fn` and `evaluate_metrics_aggregation_fn`, that " +"allow passing custom metric aggregation functions." +msgstr "" + +#: ../../source/ref-changelog.md:547 +msgid "" +"**User-configurable round timeout** " +"([#1162](https://github.com/adap/flower/pull/1162))" +msgstr "" + +#: ../../source/ref-changelog.md:549 +msgid "" +"A new configuration value allows the round timeout to be set for " +"`start_server` and `start_simulation`. If the `config` dictionary " +"contains a `round_timeout` key (with a `float` value in seconds), the " +"server will wait *at least* `round_timeout` seconds before it closes the " +"connection." +msgstr "" + +#: ../../source/ref-changelog.md:551 +msgid "" +"**Enable both federated evaluation and centralized evaluation to be used " +"at the same time in all built-in strategies** " +"([#1091](https://github.com/adap/flower/pull/1091))" +msgstr "" + +#: ../../source/ref-changelog.md:553 +msgid "" +"Built-in strategies can now perform both federated evaluation (i.e., " +"client-side) and centralized evaluation (i.e., server-side) in the same " +"round. Federated evaluation can be disabled by setting `fraction_eval` to" +" `0.0`." +msgstr "" + +#: ../../source/ref-changelog.md:555 +msgid "" +"**Two new Jupyter Notebook tutorials** " +"([#1141](https://github.com/adap/flower/pull/1141))" +msgstr "" + +#: ../../source/ref-changelog.md:557 +msgid "" +"Two Jupyter Notebook tutorials (compatible with Google Colab) explain " +"basic and intermediate Flower features:" +msgstr "" + +#: ../../source/ref-changelog.md:559 +msgid "" +"*An Introduction to Federated Learning*: [Open in " +"Colab](https://colab.research.google.com/github/adap/flower/blob/main/tutorials/Flower-1" +"-Intro-to-FL-PyTorch.ipynb)" +msgstr "" + +#: ../../source/ref-changelog.md:561 +msgid "" +"*Using Strategies in Federated Learning*: [Open in " +"Colab](https://colab.research.google.com/github/adap/flower/blob/main/tutorials/Flower-2" +"-Strategies-in-FL-PyTorch.ipynb)" +msgstr "" + +#: ../../source/ref-changelog.md:563 +msgid "" +"**New FedAvgM strategy (Federated Averaging with Server Momentum)** " +"([#1076](https://github.com/adap/flower/pull/1076))" +msgstr "" + +#: ../../source/ref-changelog.md:565 +msgid "" +"The new `FedAvgM` strategy implements Federated Averaging with Server " +"Momentum \\[Hsu et al., 2019\\]." +msgstr "" + +#: ../../source/ref-changelog.md:567 +msgid "" +"**New advanced PyTorch code example** " +"([#1007](https://github.com/adap/flower/pull/1007))" +msgstr "" + +#: ../../source/ref-changelog.md:569 +msgid "" +"A new code example (`advanced_pytorch`) demonstrates advanced Flower " +"concepts with PyTorch." +msgstr "" + +#: ../../source/ref-changelog.md:571 +msgid "" +"**New JAX code example** " +"([#906](https://github.com/adap/flower/pull/906), " +"[#1143](https://github.com/adap/flower/pull/1143))" +msgstr "" + +#: ../../source/ref-changelog.md:573 +msgid "" +"A new code example (`jax_from_centralized_to_federated`) shows federated " +"learning with JAX and Flower." +msgstr "" + +#: ../../source/ref-changelog.md:577 +msgid "" +"New option to keep Ray running if Ray was already initialized in " +"`start_simulation` ([#1177](https://github.com/adap/flower/pull/1177))" +msgstr "" + +#: ../../source/ref-changelog.md:578 +msgid "" +"Add support for custom `ClientManager` as a `start_simulation` parameter " +"([#1171](https://github.com/adap/flower/pull/1171))" +msgstr "" + +#: ../../source/ref-changelog.md:579 +msgid "" +"New documentation for [implementing " +"strategies](https://flower.dev/docs/framework/how-to-implement-" +"strategies.html) ([#1097](https://github.com/adap/flower/pull/1097), " +"[#1175](https://github.com/adap/flower/pull/1175))" +msgstr "" + +#: ../../source/ref-changelog.md:580 +msgid "" +"New mobile-friendly documentation theme " +"([#1174](https://github.com/adap/flower/pull/1174))" +msgstr "" + +#: ../../source/ref-changelog.md:581 +msgid "" +"Limit version range for (optional) `ray` dependency to include only " +"compatible releases (`>=1.9.2,<1.12.0`) " +"([#1205](https://github.com/adap/flower/pull/1205))" +msgstr "" + +#: ../../source/ref-changelog.md:585 +msgid "" +"**Remove deprecated support for Python 3.6** " +"([#871](https://github.com/adap/flower/pull/871))" +msgstr "" + +#: ../../source/ref-changelog.md:586 +msgid "" +"**Remove deprecated KerasClient** " +"([#857](https://github.com/adap/flower/pull/857))" +msgstr "" + +#: ../../source/ref-changelog.md:587 +msgid "" +"**Remove deprecated no-op extra installs** " +"([#973](https://github.com/adap/flower/pull/973))" +msgstr "" + +#: ../../source/ref-changelog.md:588 +msgid "" +"**Remove deprecated proto fields from** `FitRes` **and** `EvaluateRes` " +"([#869](https://github.com/adap/flower/pull/869))" +msgstr "" + +#: ../../source/ref-changelog.md:589 +msgid "" +"**Remove deprecated QffedAvg strategy (replaced by QFedAvg)** " +"([#1107](https://github.com/adap/flower/pull/1107))" +msgstr "" + +#: ../../source/ref-changelog.md:590 +msgid "" +"**Remove deprecated DefaultStrategy strategy** " +"([#1142](https://github.com/adap/flower/pull/1142))" +msgstr "" + +#: ../../source/ref-changelog.md:591 +msgid "" +"**Remove deprecated support for eval_fn accuracy return value** " +"([#1142](https://github.com/adap/flower/pull/1142))" +msgstr "" + +#: ../../source/ref-changelog.md:592 +msgid "" +"**Remove deprecated support for passing initial parameters as NumPy " +"ndarrays** ([#1142](https://github.com/adap/flower/pull/1142))" +msgstr "" + +#: ../../source/ref-changelog.md:594 +msgid "v0.18.0 (2022-02-28)" +msgstr "" + +#: ../../source/ref-changelog.md:598 +msgid "" +"**Improved Virtual Client Engine compatibility with Jupyter Notebook / " +"Google Colab** ([#866](https://github.com/adap/flower/pull/866), " +"[#872](https://github.com/adap/flower/pull/872), " +"[#833](https://github.com/adap/flower/pull/833), " +"[#1036](https://github.com/adap/flower/pull/1036))" +msgstr "" + +#: ../../source/ref-changelog.md:600 +msgid "" +"Simulations (using the Virtual Client Engine through `start_simulation`) " +"now work more smoothly on Jupyter Notebooks (incl. Google Colab) after " +"installing Flower with the `simulation` extra (`pip install " +"flwr[simulation]`)." +msgstr "" + +#: ../../source/ref-changelog.md:602 +msgid "" +"**New Jupyter Notebook code example** " +"([#833](https://github.com/adap/flower/pull/833))" +msgstr "" + +#: ../../source/ref-changelog.md:604 +msgid "" +"A new code example (`quickstart_simulation`) demonstrates Flower " +"simulations using the Virtual Client Engine through Jupyter Notebook " +"(incl. Google Colab)." +msgstr "" + +#: ../../source/ref-changelog.md:606 +msgid "" +"**Client properties (feature preview)** " +"([#795](https://github.com/adap/flower/pull/795))" +msgstr "" + +#: ../../source/ref-changelog.md:608 +msgid "" +"Clients can implement a new method `get_properties` to enable server-side" +" strategies to query client properties." +msgstr "" + +#: ../../source/ref-changelog.md:610 +msgid "" +"**Experimental Android support with TFLite** " +"([#865](https://github.com/adap/flower/pull/865))" +msgstr "" + +#: ../../source/ref-changelog.md:612 +msgid "" +"Android support has finally arrived in `main`! Flower is both client-" +"agnostic and framework-agnostic by design. One can integrate arbitrary " +"client platforms and with this release, using Flower on Android has " +"become a lot easier." +msgstr "" + +#: ../../source/ref-changelog.md:614 +msgid "" +"The example uses TFLite on the client side, along with a new " +"`FedAvgAndroid` strategy. The Android client and `FedAvgAndroid` are " +"still experimental, but they are a first step towards a fully-fledged " +"Android SDK and a unified `FedAvg` implementation that integrated the new" +" functionality from `FedAvgAndroid`." +msgstr "" + +#: ../../source/ref-changelog.md:616 +msgid "" +"**Make gRPC keepalive time user-configurable and decrease default " +"keepalive time** ([#1069](https://github.com/adap/flower/pull/1069))" +msgstr "" + +#: ../../source/ref-changelog.md:618 +msgid "" +"The default gRPC keepalive time has been reduced to increase the " +"compatibility of Flower with more cloud environments (for example, " +"Microsoft Azure). Users can configure the keepalive time to customize the" +" gRPC stack based on specific requirements." +msgstr "" + +#: ../../source/ref-changelog.md:620 +msgid "" +"**New differential privacy example using Opacus and PyTorch** " +"([#805](https://github.com/adap/flower/pull/805))" +msgstr "" + +#: ../../source/ref-changelog.md:622 +msgid "" +"A new code example (`opacus`) demonstrates differentially-private " +"federated learning with Opacus, PyTorch, and Flower." +msgstr "" + +#: ../../source/ref-changelog.md:624 +msgid "" +"**New Hugging Face Transformers code example** " +"([#863](https://github.com/adap/flower/pull/863))" +msgstr "" + +#: ../../source/ref-changelog.md:626 +msgid "" +"A new code example (`quickstart_huggingface`) demonstrates usage of " +"Hugging Face Transformers with Flower." +msgstr "" + +#: ../../source/ref-changelog.md:628 +msgid "" +"**New MLCube code example** " +"([#779](https://github.com/adap/flower/pull/779), " +"[#1034](https://github.com/adap/flower/pull/1034), " +"[#1065](https://github.com/adap/flower/pull/1065), " +"[#1090](https://github.com/adap/flower/pull/1090))" +msgstr "" + +#: ../../source/ref-changelog.md:630 +msgid "" +"A new code example (`quickstart_mlcube`) demonstrates usage of MLCube " +"with Flower." +msgstr "" + +#: ../../source/ref-changelog.md:632 +msgid "" +"**SSL-enabled server and client** " +"([#842](https://github.com/adap/flower/pull/842), " +"[#844](https://github.com/adap/flower/pull/844), " +"[#845](https://github.com/adap/flower/pull/845), " +"[#847](https://github.com/adap/flower/pull/847), " +"[#993](https://github.com/adap/flower/pull/993), " +"[#994](https://github.com/adap/flower/pull/994))" +msgstr "" + +#: ../../source/ref-changelog.md:634 +msgid "" +"SSL enables secure encrypted connections between clients and servers. " +"This release open-sources the Flower secure gRPC implementation to make " +"encrypted communication channels accessible to all Flower users." +msgstr "" + +#: ../../source/ref-changelog.md:636 +msgid "" +"**Updated** `FedAdam` **and** `FedYogi` **strategies** " +"([#885](https://github.com/adap/flower/pull/885), " +"[#895](https://github.com/adap/flower/pull/895))" +msgstr "" + +#: ../../source/ref-changelog.md:638 +msgid "" +"`FedAdam` and `FedAdam` match the latest version of the Adaptive " +"Federated Optimization paper." +msgstr "" + +#: ../../source/ref-changelog.md:640 +msgid "" +"**Initialize** `start_simulation` **with a list of client IDs** " +"([#860](https://github.com/adap/flower/pull/860))" +msgstr "" + +#: ../../source/ref-changelog.md:642 +msgid "" +"`start_simulation` can now be called with a list of client IDs " +"(`clients_ids`, type: `List[str]`). Those IDs will be passed to the " +"`client_fn` whenever a client needs to be initialized, which can make it " +"easier to load data partitions that are not accessible through `int` " +"identifiers." +msgstr "" + +#: ../../source/ref-changelog.md:646 +msgid "" +"Update `num_examples` calculation in PyTorch code examples in " +"([#909](https://github.com/adap/flower/pull/909))" +msgstr "" + +#: ../../source/ref-changelog.md:647 +msgid "" +"Expose Flower version through `flwr.__version__` " +"([#952](https://github.com/adap/flower/pull/952))" +msgstr "" + +#: ../../source/ref-changelog.md:648 +msgid "" +"`start_server` in `app.py` now returns a `History` object containing " +"metrics from training ([#974](https://github.com/adap/flower/pull/974))" +msgstr "" + +#: ../../source/ref-changelog.md:649 +msgid "" +"Make `max_workers` (used by `ThreadPoolExecutor`) configurable " +"([#978](https://github.com/adap/flower/pull/978))" +msgstr "" + +#: ../../source/ref-changelog.md:650 +msgid "" +"Increase sleep time after server start to three seconds in all code " +"examples ([#1086](https://github.com/adap/flower/pull/1086))" +msgstr "" + +#: ../../source/ref-changelog.md:651 +msgid "" +"Added a new FAQ section to the documentation " +"([#948](https://github.com/adap/flower/pull/948))" +msgstr "" + +#: ../../source/ref-changelog.md:652 +msgid "" +"And many more under-the-hood changes, library updates, documentation " +"changes, and tooling improvements!" +msgstr "" + +#: ../../source/ref-changelog.md:656 +msgid "" +"**Removed** `flwr_example` **and** `flwr_experimental` **from release " +"build** ([#869](https://github.com/adap/flower/pull/869))" +msgstr "" + +#: ../../source/ref-changelog.md:658 +msgid "" +"The packages `flwr_example` and `flwr_experimental` have been deprecated " +"since Flower 0.12.0 and they are not longer included in Flower release " +"builds. The associated extras (`baseline`, `examples-pytorch`, `examples-" +"tensorflow`, `http-logger`, `ops`) are now no-op and will be removed in " +"an upcoming release." +msgstr "" + +#: ../../source/ref-changelog.md:660 +msgid "v0.17.0 (2021-09-24)" +msgstr "" + +#: ../../source/ref-changelog.md:664 +msgid "" +"**Experimental virtual client engine** " +"([#781](https://github.com/adap/flower/pull/781) " +"[#790](https://github.com/adap/flower/pull/790) " +"[#791](https://github.com/adap/flower/pull/791))" +msgstr "" + +#: ../../source/ref-changelog.md:666 +msgid "" +"One of Flower's goals is to enable research at scale. This release " +"enables a first (experimental) peek at a major new feature, codenamed the" +" virtual client engine. Virtual clients enable simulations that scale to " +"a (very) large number of clients on a single machine or compute cluster. " +"The easiest way to test the new functionality is to look at the two new " +"code examples called `quickstart_simulation` and `simulation_pytorch`." +msgstr "" + +#: ../../source/ref-changelog.md:668 +msgid "" +"The feature is still experimental, so there's no stability guarantee for " +"the API. It's also not quite ready for prime time and comes with a few " +"known caveats. However, those who are curious are encouraged to try it " +"out and share their thoughts." +msgstr "" + +#: ../../source/ref-changelog.md:670 +msgid "" +"**New built-in strategies** " +"([#828](https://github.com/adap/flower/pull/828) " +"[#822](https://github.com/adap/flower/pull/822))" +msgstr "" + +#: ../../source/ref-changelog.md:672 +msgid "" +"FedYogi - Federated learning strategy using Yogi on server-side. " +"Implementation based on https://arxiv.org/abs/2003.00295" +msgstr "" + +#: ../../source/ref-changelog.md:673 +msgid "" +"FedAdam - Federated learning strategy using Adam on server-side. " +"Implementation based on https://arxiv.org/abs/2003.00295" +msgstr "" + +#: ../../source/ref-changelog.md:675 +msgid "" +"**New PyTorch Lightning code example** " +"([#617](https://github.com/adap/flower/pull/617))" +msgstr "" + +#: ../../source/ref-changelog.md:677 +msgid "" +"**New Variational Auto-Encoder code example** " +"([#752](https://github.com/adap/flower/pull/752))" +msgstr "" + +#: ../../source/ref-changelog.md:679 +msgid "" +"**New scikit-learn code example** " +"([#748](https://github.com/adap/flower/pull/748))" +msgstr "" + +#: ../../source/ref-changelog.md:681 +msgid "" +"**New experimental TensorBoard strategy** " +"([#789](https://github.com/adap/flower/pull/789))" +msgstr "" + +#: ../../source/ref-changelog.md:685 +msgid "" +"Improved advanced TensorFlow code example " +"([#769](https://github.com/adap/flower/pull/769))" +msgstr "" + +#: ../../source/ref-changelog.md:686 +msgid "" +"Warning when `min_available_clients` is misconfigured " +"([#830](https://github.com/adap/flower/pull/830))" +msgstr "" + +#: ../../source/ref-changelog.md:687 +msgid "" +"Improved gRPC server docs " +"([#841](https://github.com/adap/flower/pull/841))" +msgstr "" + +#: ../../source/ref-changelog.md:688 +msgid "" +"Improved error message in `NumPyClient` " +"([#851](https://github.com/adap/flower/pull/851))" +msgstr "" + +#: ../../source/ref-changelog.md:689 +msgid "" +"Improved PyTorch quickstart code example " +"([#852](https://github.com/adap/flower/pull/852))" +msgstr "" + +#: ../../source/ref-changelog.md:693 +msgid "" +"**Disabled final distributed evaluation** " +"([#800](https://github.com/adap/flower/pull/800))" +msgstr "" + +#: ../../source/ref-changelog.md:695 +msgid "" +"Prior behaviour was to perform a final round of distributed evaluation on" +" all connected clients, which is often not required (e.g., when using " +"server-side evaluation). The prior behaviour can be enabled by passing " +"`force_final_distributed_eval=True` to `start_server`." +msgstr "" + +#: ../../source/ref-changelog.md:697 +msgid "" +"**Renamed q-FedAvg strategy** " +"([#802](https://github.com/adap/flower/pull/802))" +msgstr "" + +#: ../../source/ref-changelog.md:699 +msgid "" +"The strategy named `QffedAvg` was renamed to `QFedAvg` to better reflect " +"the notation given in the original paper (q-FFL is the optimization " +"objective, q-FedAvg is the proposed solver). Note the the original (now " +"deprecated) `QffedAvg` class is still available for compatibility reasons" +" (it will be removed in a future release)." +msgstr "" + +#: ../../source/ref-changelog.md:701 +msgid "" +"**Deprecated and renamed code example** `simulation_pytorch` **to** " +"`simulation_pytorch_legacy` " +"([#791](https://github.com/adap/flower/pull/791))" +msgstr "" + +#: ../../source/ref-changelog.md:703 +msgid "" +"This example has been replaced by a new example. The new example is based" +" on the experimental virtual client engine, which will become the new " +"default way of doing most types of large-scale simulations in Flower. The" +" existing example was kept for reference purposes, but it might be " +"removed in the future." +msgstr "" + +#: ../../source/ref-changelog.md:705 +msgid "v0.16.0 (2021-05-11)" +msgstr "" + +#: ../../source/ref-changelog.md:709 +msgid "" +"**New built-in strategies** " +"([#549](https://github.com/adap/flower/pull/549))" +msgstr "" + +#: ../../source/ref-changelog.md:711 +msgid "(abstract) FedOpt" +msgstr "" + +#: ../../source/ref-changelog.md:712 +msgid "FedAdagrad" +msgstr "" + +#: ../../source/ref-changelog.md:714 +msgid "" +"**Custom metrics for server and strategies** " +"([#717](https://github.com/adap/flower/pull/717))" +msgstr "" + +#: ../../source/ref-changelog.md:716 +msgid "" +"The Flower server is now fully task-agnostic, all remaining instances of " +"task-specific metrics (such as `accuracy`) have been replaced by custom " +"metrics dictionaries. Flower 0.15 introduced the capability to pass a " +"dictionary containing custom metrics from client to server. As of this " +"release, custom metrics replace task-specific metrics on the server." +msgstr "" + +#: ../../source/ref-changelog.md:718 +msgid "" +"Custom metric dictionaries are now used in two user-facing APIs: they are" +" returned from Strategy methods `aggregate_fit`/`aggregate_evaluate` and " +"they enable evaluation functions passed to build-in strategies (via " +"`eval_fn`) to return more than two evaluation metrics. Strategies can " +"even return *aggregated* metrics dictionaries for the server to keep " +"track of." +msgstr "" + +#: ../../source/ref-changelog.md:720 +msgid "" +"Stratey implementations should migrate their `aggregate_fit` and " +"`aggregate_evaluate` methods to the new return type (e.g., by simply " +"returning an empty `{}`), server-side evaluation functions should migrate" +" from `return loss, accuracy` to `return loss, {\"accuracy\": accuracy}`." +msgstr "" + +#: ../../source/ref-changelog.md:722 +msgid "" +"Flower 0.15-style return types are deprecated (but still supported), " +"compatibility will be removed in a future release." +msgstr "" + +#: ../../source/ref-changelog.md:724 +msgid "" +"**Migration warnings for deprecated functionality** " +"([#690](https://github.com/adap/flower/pull/690))" +msgstr "" + +#: ../../source/ref-changelog.md:726 +msgid "" +"Earlier versions of Flower were often migrated to new APIs, while " +"maintaining compatibility with legacy APIs. This release introduces " +"detailed warning messages if usage of deprecated APIs is detected. The " +"new warning messages often provide details on how to migrate to more " +"recent APIs, thus easing the transition from one release to another." +msgstr "" + +#: ../../source/ref-changelog.md:728 +msgid "" +"Improved docs and docstrings " +"([#691](https://github.com/adap/flower/pull/691) " +"[#692](https://github.com/adap/flower/pull/692) " +"[#713](https://github.com/adap/flower/pull/713))" +msgstr "" + +#: ../../source/ref-changelog.md:730 +msgid "MXNet example and documentation" +msgstr "" + +#: ../../source/ref-changelog.md:732 +msgid "" +"FedBN implementation in example PyTorch: From Centralized To Federated " +"([#696](https://github.com/adap/flower/pull/696) " +"[#702](https://github.com/adap/flower/pull/702) " +"[#705](https://github.com/adap/flower/pull/705))" +msgstr "" + +#: ../../source/ref-changelog.md:736 +msgid "" +"**Serialization-agnostic server** " +"([#721](https://github.com/adap/flower/pull/721))" +msgstr "" + +#: ../../source/ref-changelog.md:738 +msgid "" +"The Flower server is now fully serialization-agnostic. Prior usage of " +"class `Weights` (which represents parameters as deserialized NumPy " +"ndarrays) was replaced by class `Parameters` (e.g., in `Strategy`). " +"`Parameters` objects are fully serialization-agnostic and represents " +"parameters as byte arrays, the `tensor_type` attributes indicates how " +"these byte arrays should be interpreted (e.g., for " +"serialization/deserialization)." +msgstr "" + +#: ../../source/ref-changelog.md:740 +msgid "" +"Built-in strategies implement this approach by handling serialization and" +" deserialization to/from `Weights` internally. Custom/3rd-party Strategy " +"implementations should update to the slighly changed Strategy method " +"definitions. Strategy authors can consult PR " +"[#721](https://github.com/adap/flower/pull/721) to see how strategies can" +" easily migrate to the new format." +msgstr "" + +#: ../../source/ref-changelog.md:742 +msgid "" +"Deprecated `flwr.server.Server.evaluate`, use " +"`flwr.server.Server.evaluate_round` instead " +"([#717](https://github.com/adap/flower/pull/717))" +msgstr "" + +#: ../../source/ref-changelog.md:744 +msgid "v0.15.0 (2021-03-12)" +msgstr "" + +#: ../../source/ref-changelog.md:748 +msgid "" +"**Server-side parameter initialization** " +"([#658](https://github.com/adap/flower/pull/658))" +msgstr "" + +#: ../../source/ref-changelog.md:750 +msgid "" +"Model parameters can now be initialized on the server-side. Server-side " +"parameter initialization works via a new `Strategy` method called " +"`initialize_parameters`." +msgstr "" + +#: ../../source/ref-changelog.md:752 +msgid "" +"Built-in strategies support a new constructor argument called " +"`initial_parameters` to set the initial parameters. Built-in strategies " +"will provide these initial parameters to the server on startup and then " +"delete them to free the memory afterwards." +msgstr "" + +#: ../../source/ref-changelog.md:771 +msgid "" +"If no initial parameters are provided to the strategy, the server will " +"continue to use the current behaviour (namely, it will ask one of the " +"connected clients for its parameters and use these as the initial global " +"parameters)." +msgstr "" + +#: ../../source/ref-changelog.md:773 +msgid "Deprecations" +msgstr "" + +#: ../../source/ref-changelog.md:775 +msgid "" +"Deprecate `flwr.server.strategy.DefaultStrategy` (migrate to " +"`flwr.server.strategy.FedAvg`, which is equivalent)" +msgstr "" + +#: ../../source/ref-changelog.md:777 +msgid "v0.14.0 (2021-02-18)" +msgstr "" + +#: ../../source/ref-changelog.md:781 +msgid "" +"**Generalized** `Client.fit` **and** `Client.evaluate` **return values** " +"([#610](https://github.com/adap/flower/pull/610) " +"[#572](https://github.com/adap/flower/pull/572) " +"[#633](https://github.com/adap/flower/pull/633))" +msgstr "" + +#: ../../source/ref-changelog.md:783 +msgid "" +"Clients can now return an additional dictionary mapping `str` keys to " +"values of the following types: `bool`, `bytes`, `float`, `int`, `str`. " +"This means one can return almost arbitrary values from `fit`/`evaluate` " +"and make use of them on the server side!" +msgstr "" + +#: ../../source/ref-changelog.md:785 +msgid "" +"This improvement also allowed for more consistent return types between " +"`fit` and `evaluate`: `evaluate` should now return a tuple `(float, int, " +"dict)` representing the loss, number of examples, and a dictionary " +"holding arbitrary problem-specific values like accuracy." +msgstr "" + +#: ../../source/ref-changelog.md:787 +msgid "" +"In case you wondered: this feature is compatible with existing projects, " +"the additional dictionary return value is optional. New code should " +"however migrate to the new return types to be compatible with upcoming " +"Flower releases (`fit`: `List[np.ndarray], int, Dict[str, Scalar]`, " +"`evaluate`: `float, int, Dict[str, Scalar]`). See the example below for " +"details." +msgstr "" + +#: ../../source/ref-changelog.md:789 +msgid "" +"*Code example:* note the additional dictionary return values in both " +"`FlwrClient.fit` and `FlwrClient.evaluate`:" +msgstr "" + +#: ../../source/ref-changelog.md:804 +msgid "" +"**Generalized** `config` **argument in** `Client.fit` **and** " +"`Client.evaluate` ([#595](https://github.com/adap/flower/pull/595))" +msgstr "" + +#: ../../source/ref-changelog.md:806 +msgid "" +"The `config` argument used to be of type `Dict[str, str]`, which means " +"that dictionary values were expected to be strings. The new release " +"generalizes this to enable values of the following types: `bool`, " +"`bytes`, `float`, `int`, `str`." +msgstr "" + +#: ../../source/ref-changelog.md:808 +msgid "" +"This means one can now pass almost arbitrary values to `fit`/`evaluate` " +"using the `config` dictionary. Yay, no more `str(epochs)` on the server-" +"side and `int(config[\"epochs\"])` on the client side!" +msgstr "" + +#: ../../source/ref-changelog.md:810 +msgid "" +"*Code example:* note that the `config` dictionary now contains non-`str` " +"values in both `Client.fit` and `Client.evaluate`:" +msgstr "" + +#: ../../source/ref-changelog.md:827 +msgid "v0.13.0 (2021-01-08)" +msgstr "" + +#: ../../source/ref-changelog.md:831 +msgid "" +"New example: PyTorch From Centralized To Federated " +"([#549](https://github.com/adap/flower/pull/549))" +msgstr "" + +#: ../../source/ref-changelog.md:832 +msgid "Improved documentation" +msgstr "" + +#: ../../source/ref-changelog.md:833 +msgid "New documentation theme ([#551](https://github.com/adap/flower/pull/551))" +msgstr "" + +#: ../../source/ref-changelog.md:834 +msgid "New API reference ([#554](https://github.com/adap/flower/pull/554))" +msgstr "" + +#: ../../source/ref-changelog.md:835 +msgid "" +"Updated examples documentation " +"([#549](https://github.com/adap/flower/pull/549))" +msgstr "" + +#: ../../source/ref-changelog.md:836 +msgid "" +"Removed obsolete documentation " +"([#548](https://github.com/adap/flower/pull/548))" +msgstr "" + +#: ../../source/ref-changelog.md:838 +msgid "Bugfix:" +msgstr "" + +#: ../../source/ref-changelog.md:840 +msgid "" +"`Server.fit` does not disconnect clients when finished, disconnecting the" +" clients is now handled in `flwr.server.start_server` " +"([#553](https://github.com/adap/flower/pull/553) " +"[#540](https://github.com/adap/flower/issues/540))." +msgstr "" + +#: ../../source/ref-changelog.md:842 +msgid "v0.12.0 (2020-12-07)" +msgstr "" + +#: ../../source/ref-changelog.md:844 ../../source/ref-changelog.md:860 +msgid "Important changes:" +msgstr "" + +#: ../../source/ref-changelog.md:846 +msgid "" +"Added an example for embedded devices " +"([#507](https://github.com/adap/flower/pull/507))" +msgstr "" + +#: ../../source/ref-changelog.md:847 +msgid "" +"Added a new NumPyClient (in addition to the existing KerasClient) " +"([#504](https://github.com/adap/flower/pull/504) " +"[#508](https://github.com/adap/flower/pull/508))" +msgstr "" + +#: ../../source/ref-changelog.md:848 +msgid "" +"Deprecated `flwr_example` package and started to migrate examples into " +"the top-level `examples` directory " +"([#494](https://github.com/adap/flower/pull/494) " +"[#512](https://github.com/adap/flower/pull/512))" +msgstr "" + +#: ../../source/ref-changelog.md:850 +msgid "v0.11.0 (2020-11-30)" +msgstr "" + +#: ../../source/ref-changelog.md:852 +msgid "Incompatible changes:" +msgstr "" + +#: ../../source/ref-changelog.md:854 +msgid "" +"Renamed strategy methods " +"([#486](https://github.com/adap/flower/pull/486)) to unify the naming of " +"Flower's public APIs. Other public methods/functions (e.g., every method " +"in `Client`, but also `Strategy.evaluate`) do not use the `on_` prefix, " +"which is why we're removing it from the four methods in Strategy. To " +"migrate rename the following `Strategy` methods accordingly:" +msgstr "" + +#: ../../source/ref-changelog.md:855 +msgid "`on_configure_evaluate` => `configure_evaluate`" +msgstr "" + +#: ../../source/ref-changelog.md:856 +msgid "`on_aggregate_evaluate` => `aggregate_evaluate`" +msgstr "" + +#: ../../source/ref-changelog.md:857 +msgid "`on_configure_fit` => `configure_fit`" +msgstr "" + +#: ../../source/ref-changelog.md:858 +msgid "`on_aggregate_fit` => `aggregate_fit`" +msgstr "" + +#: ../../source/ref-changelog.md:862 +msgid "" +"Deprecated `DefaultStrategy` " +"([#479](https://github.com/adap/flower/pull/479)). To migrate use " +"`FedAvg` instead." +msgstr "" + +#: ../../source/ref-changelog.md:863 +msgid "" +"Simplified examples and baselines " +"([#484](https://github.com/adap/flower/pull/484))." +msgstr "" + +#: ../../source/ref-changelog.md:864 +msgid "" +"Removed presently unused `on_conclude_round` from strategy interface " +"([#483](https://github.com/adap/flower/pull/483))." +msgstr "" + +#: ../../source/ref-changelog.md:865 +msgid "" +"Set minimal Python version to 3.6.1 instead of 3.6.9 " +"([#471](https://github.com/adap/flower/pull/471))." +msgstr "" + +#: ../../source/ref-changelog.md:866 +msgid "" +"Improved `Strategy` docstrings " +"([#470](https://github.com/adap/flower/pull/470))." +msgstr "" + +#: ../../source/ref-example-projects.rst:2 +msgid "Example projects" +msgstr "" + +#: ../../source/ref-example-projects.rst:4 +msgid "" +"Flower comes with a number of usage examples. The examples demonstrate " +"how Flower can be used to federate different kinds of existing machine " +"learning pipelines, usually leveraging popular machine learning " +"frameworks such as `PyTorch `_ or `TensorFlow " +"`_." +msgstr "" + +#: ../../source/ref-example-projects.rst:11 +msgid "" +"Flower usage examples used to be bundled with Flower in a package called " +"``flwr_example``. We are migrating those examples to standalone projects " +"to make them easier to use. All new examples are based in the directory " +"`examples `_." +msgstr "" + +#: ../../source/ref-example-projects.rst:16 +msgid "The following examples are available as standalone projects." +msgstr "" + +#: ../../source/ref-example-projects.rst:20 +msgid "Quickstart TensorFlow/Keras" +msgstr "" + +#: ../../source/ref-example-projects.rst:22 +msgid "" +"The TensorFlow/Keras quickstart example shows CIFAR-10 image " +"classification with MobileNetV2:" +msgstr "" + +#: ../../source/ref-example-projects.rst:25 +msgid "" +"`Quickstart TensorFlow (Code) " +"`_" +msgstr "" + +#: ../../source/ref-example-projects.rst:26 +msgid "" +"`Quickstart TensorFlow (Tutorial) `_" +msgstr "" + +#: ../../source/ref-example-projects.rst:27 +msgid "" +"`Quickstart TensorFlow (Blog Post) `_" +msgstr "" + +#: ../../source/ref-example-projects.rst:31 +#: ../../source/tutorial-quickstart-pytorch.rst:5 +msgid "Quickstart PyTorch" +msgstr "" + +#: ../../source/ref-example-projects.rst:33 +msgid "" +"The PyTorch quickstart example shows CIFAR-10 image classification with a" +" simple Convolutional Neural Network:" +msgstr "" + +#: ../../source/ref-example-projects.rst:36 +msgid "" +"`Quickstart PyTorch (Code) " +"`_" +msgstr "" + +#: ../../source/ref-example-projects.rst:37 +msgid "" +"`Quickstart PyTorch (Tutorial) `_" +msgstr "" + +#: ../../source/ref-example-projects.rst:41 +msgid "PyTorch: From Centralized To Federated" +msgstr "" + +#: ../../source/ref-example-projects.rst:43 +msgid "" +"This example shows how a regular PyTorch project can be federated using " +"Flower:" +msgstr "" + +#: ../../source/ref-example-projects.rst:45 +msgid "" +"`PyTorch: From Centralized To Federated (Code) " +"`_" +msgstr "" + +#: ../../source/ref-example-projects.rst:46 +msgid "" +"`PyTorch: From Centralized To Federated (Tutorial) " +"`_" +msgstr "" + +#: ../../source/ref-example-projects.rst:50 +msgid "Federated Learning on Raspberry Pi and Nvidia Jetson" +msgstr "" + +#: ../../source/ref-example-projects.rst:52 +msgid "" +"This example shows how Flower can be used to build a federated learning " +"system that run across Raspberry Pi and Nvidia Jetson:" +msgstr "" + +#: ../../source/ref-example-projects.rst:54 +msgid "" +"`Federated Learning on Raspberry Pi and Nvidia Jetson (Code) " +"`_" +msgstr "" + +#: ../../source/ref-example-projects.rst:55 +msgid "" +"`Federated Learning on Raspberry Pi and Nvidia Jetson (Blog Post) " +"`_" +msgstr "" + +#: ../../source/ref-example-projects.rst:60 +msgid "Legacy Examples (`flwr_example`)" +msgstr "" + +#: ../../source/ref-example-projects.rst:63 +msgid "" +"The useage examples in `flwr_example` are deprecated and will be removed " +"in the future. New examples are provided as standalone projects in " +"`examples `_." +msgstr "" + +#: ../../source/ref-example-projects.rst:69 +msgid "Extra Dependencies" +msgstr "" + +#: ../../source/ref-example-projects.rst:71 +msgid "" +"The core Flower framework keeps a minimal set of dependencies. The " +"examples demonstrate Flower in the context of different machine learning " +"frameworks, so additional dependencies need to be installed before an " +"example can be run." +msgstr "" + +#: ../../source/ref-example-projects.rst:75 +msgid "For PyTorch examples::" +msgstr "" + +#: ../../source/ref-example-projects.rst:79 +msgid "For TensorFlow examples::" +msgstr "" + +#: ../../source/ref-example-projects.rst:83 +msgid "For both PyTorch and TensorFlow examples::" +msgstr "" + +#: ../../source/ref-example-projects.rst:87 +msgid "" +"Please consult :code:`pyproject.toml` for a full list of possible extras " +"(section :code:`[tool.poetry.extras]`)." +msgstr "" + +#: ../../source/ref-example-projects.rst:92 +msgid "PyTorch Examples" +msgstr "" + +#: ../../source/ref-example-projects.rst:94 +msgid "" +"Our PyTorch examples are based on PyTorch 1.7. They should work with " +"other releases as well. So far, we provide the following examples." +msgstr "" + +#: ../../source/ref-example-projects.rst:98 +msgid "CIFAR-10 Image Classification" +msgstr "" + +#: ../../source/ref-example-projects.rst:100 +msgid "" +"`CIFAR-10 and CIFAR-100 `_ " +"are popular RGB image datasets. The Flower CIFAR-10 example uses PyTorch " +"to train a simple CNN classifier in a federated learning setup with two " +"clients." +msgstr "" + +#: ../../source/ref-example-projects.rst:104 +#: ../../source/ref-example-projects.rst:121 +#: ../../source/ref-example-projects.rst:146 +msgid "First, start a Flower server:" +msgstr "" + +#: ../../source/ref-example-projects.rst:106 +msgid "$ ./src/py/flwr_example/pytorch_cifar/run-server.sh" +msgstr "" + +#: ../../source/ref-example-projects.rst:108 +#: ../../source/ref-example-projects.rst:125 +#: ../../source/ref-example-projects.rst:150 +msgid "Then, start the two clients in a new terminal window:" +msgstr "" + +#: ../../source/ref-example-projects.rst:110 +msgid "$ ./src/py/flwr_example/pytorch_cifar/run-clients.sh" +msgstr "" + +#: ../../source/ref-example-projects.rst:112 +msgid "For more details, see :code:`src/py/flwr_example/pytorch_cifar`." +msgstr "" + +#: ../../source/ref-example-projects.rst:115 +msgid "ImageNet-2012 Image Classification" +msgstr "" + +#: ../../source/ref-example-projects.rst:117 +msgid "" +"`ImageNet-2012 `_ is one of the major computer" +" vision datasets. The Flower ImageNet example uses PyTorch to train a " +"ResNet-18 classifier in a federated learning setup with ten clients." +msgstr "" + +#: ../../source/ref-example-projects.rst:123 +msgid "$ ./src/py/flwr_example/pytorch_imagenet/run-server.sh" +msgstr "" + +#: ../../source/ref-example-projects.rst:127 +msgid "$ ./src/py/flwr_example/pytorch_imagenet/run-clients.sh" +msgstr "" + +#: ../../source/ref-example-projects.rst:129 +msgid "For more details, see :code:`src/py/flwr_example/pytorch_imagenet`." +msgstr "" + +#: ../../source/ref-example-projects.rst:133 +msgid "TensorFlow Examples" +msgstr "" + +#: ../../source/ref-example-projects.rst:135 +msgid "" +"Our TensorFlow examples are based on TensorFlow 2.0 or newer. So far, we " +"provide the following examples." +msgstr "" + +#: ../../source/ref-example-projects.rst:139 +msgid "Fashion-MNIST Image Classification" +msgstr "" + +#: ../../source/ref-example-projects.rst:141 +msgid "" +"`Fashion-MNIST `_ is " +"often used as the \"Hello, world!\" of machine learning. We follow this " +"tradition and provide an example which samples random local datasets from" +" Fashion-MNIST and trains a simple image classification model over those " +"partitions." +msgstr "" + +#: ../../source/ref-example-projects.rst:148 +msgid "$ ./src/py/flwr_example/tensorflow_fashion_mnist/run-server.sh" +msgstr "" + +#: ../../source/ref-example-projects.rst:152 +msgid "$ ./src/py/flwr_example/tensorflow_fashion_mnist/run-clients.sh" +msgstr "" + +#: ../../source/ref-example-projects.rst:154 +msgid "" +"For more details, see " +":code:`src/py/flwr_example/tensorflow_fashion_mnist`." +msgstr "" + +#: ../../source/ref-faq.rst:4 +msgid "" +"This page collects answers to commonly asked questions about Federated " +"Learning with Flower." +msgstr "" + +#: ../../source/ref-faq.rst +msgid ":fa:`eye,mr-1` Can Flower run on Juptyter Notebooks / Google Colab?" +msgstr "" + +#: ../../source/ref-faq.rst:8 +msgid "" +"Yes, it can! Flower even comes with a few under-the-hood optimizations to" +" make it work even better on Colab. Here's a quickstart example:" +msgstr "" + +#: ../../source/ref-faq.rst:10 +msgid "" +"`Flower simulation PyTorch " +"`_" +msgstr "" + +#: ../../source/ref-faq.rst:11 +msgid "" +"`Flower simulation TensorFlow/Keras " +"`_" +msgstr "" + +#: ../../source/ref-faq.rst +msgid ":fa:`eye,mr-1` How can I run Federated Learning on a Raspberry Pi?" +msgstr "" + +#: ../../source/ref-faq.rst:15 +msgid "" +"Find the `blog post about federated learning on embedded device here " +"`_" +" and the corresponding `GitHub code example " +"`_." +msgstr "" + +#: ../../source/ref-faq.rst +msgid ":fa:`eye,mr-1` Does Flower support federated learning on Android devices?" +msgstr "" + +#: ../../source/ref-faq.rst:19 +msgid "" +"Yes, it does. Please take a look at our `blog post " +"`_ or check out the code examples:" +msgstr "" + +#: ../../source/ref-faq.rst:21 +msgid "" +"`Android Kotlin example `_" +msgstr "" + +#: ../../source/ref-faq.rst:22 +msgid "`Android Java example `_" +msgstr "" + +#: ../../source/ref-faq.rst +msgid ":fa:`eye,mr-1` Can I combine federated learning with blockchain?" +msgstr "" + +#: ../../source/ref-faq.rst:26 +msgid "" +"Yes, of course. A list of available examples using Flower within a " +"blockchain environment is available here:" +msgstr "" + +#: ../../source/ref-faq.rst:28 +msgid "" +"`Flower meets Nevermined GitHub Repository `_." +msgstr "" + +#: ../../source/ref-faq.rst:29 +msgid "" +"`Flower meets Nevermined YouTube video " +"`_." +msgstr "" + +#: ../../source/ref-faq.rst:30 +msgid "" +"`Flower meets KOSMoS `_." +msgstr "" + +#: ../../source/ref-faq.rst:31 +msgid "" +"`Flower meets Talan blog post `_ ." +msgstr "" + +#: ../../source/ref-faq.rst:32 +msgid "" +"`Flower meets Talan GitHub Repository " +"`_ ." +msgstr "" + +#: ../../source/ref-telemetry.md:1 +msgid "Telemetry" +msgstr "" + +#: ../../source/ref-telemetry.md:3 +msgid "" +"The Flower open-source project collects **anonymous** usage metrics to " +"make well-informed decisions to improve Flower. Doing this enables the " +"Flower team to understand how Flower is used and what challenges users " +"might face." +msgstr "" + +#: ../../source/ref-telemetry.md:5 +msgid "" +"**Flower is a friendly framework for collaborative AI and data science.**" +" Staying true to this statement, Flower makes it easy to disable " +"telemetry for users that do not want to share anonymous usage metrics." +msgstr "" + +#: ../../source/ref-telemetry.md:7 +msgid "Principles" +msgstr "" + +#: ../../source/ref-telemetry.md:9 +msgid "We follow strong principles guarding anonymous usage metrics collection:" +msgstr "" + +#: ../../source/ref-telemetry.md:11 +msgid "" +"**Optional:** You will always be able to disable telemetry; read on to " +"learn “[How to opt-out](#how-to-opt-out)”." +msgstr "" + +#: ../../source/ref-telemetry.md:12 +msgid "" +"**Anonymous:** The reported usage metrics are anonymous and do not " +"contain any personally identifiable information (PII). See “[Collected " +"metrics](#collected-metrics)” to understand what metrics are being " +"reported." +msgstr "" + +#: ../../source/ref-telemetry.md:13 +msgid "" +"**Transparent:** You can easily inspect what anonymous metrics are being " +"reported; see the section “[How to inspect what is being reported](#how-" +"to-inspect-what-is-being-reported)”" +msgstr "" + +#: ../../source/ref-telemetry.md:14 +msgid "" +"**Open for feedback:** You can always reach out to us if you have " +"feedback; see the section “[How to contact us](#how-to-contact-us)” for " +"details." +msgstr "" + +#: ../../source/ref-telemetry.md:16 +msgid "How to opt-out" +msgstr "" + +#: ../../source/ref-telemetry.md:18 +msgid "" +"When Flower starts, it will check for an environment variable called " +"`FLWR_TELEMETRY_ENABLED`. Telemetry can easily be disabled by setting " +"`FLWR_TELEMETRY_ENABLED=0`. Assuming you are starting a Flower server or " +"client, simply do so by prepending your command as in:" +msgstr "" + +#: ../../source/ref-telemetry.md:24 +msgid "" +"Alternatively, you can export `FLWR_TELEMETRY_ENABLED=0` in, for example," +" `.bashrc` (or whatever configuration file applies to your environment) " +"to disable Flower telemetry permanently." +msgstr "" + +#: ../../source/ref-telemetry.md:26 +msgid "Collected metrics" +msgstr "" + +#: ../../source/ref-telemetry.md:28 +msgid "Flower telemetry collects the following metrics:" +msgstr "" + +#: ../../source/ref-telemetry.md:30 +msgid "" +"**Flower version.** Understand which versions of Flower are currently " +"being used. This helps us to decide whether we should invest effort into " +"releasing a patch version for an older version of Flower or instead use " +"the bandwidth to build new features." +msgstr "" + +#: ../../source/ref-telemetry.md:32 +msgid "" +"**Operating system.** Enables us to answer questions such as: *Should we " +"create more guides for Linux, macOS, or Windows?*" +msgstr "" + +#: ../../source/ref-telemetry.md:34 +msgid "" +"**Python version.** Knowing the Python version helps us, for example, to " +"decide whether we should invest effort into supporting old versions of " +"Python or stop supporting them and start taking advantage of new Python " +"features." +msgstr "" + +#: ../../source/ref-telemetry.md:36 +msgid "" +"**Hardware properties.** Understanding the hardware environment that " +"Flower is being used in helps to decide whether we should, for example, " +"put more effort into supporting low-resource environments." +msgstr "" + +#: ../../source/ref-telemetry.md:38 +msgid "" +"**Execution mode.** Knowing what execution mode Flower starts in enables " +"us to understand how heavily certain features are being used and better " +"prioritize based on that." +msgstr "" + +#: ../../source/ref-telemetry.md:40 +msgid "" +"**Cluster.** Flower telemetry assigns a random in-memory cluster ID each " +"time a Flower workload starts. This allows us to understand which device " +"types not only start Flower workloads but also successfully complete " +"them." +msgstr "" + +#: ../../source/ref-telemetry.md:42 +msgid "" +"**Source.** Flower telemetry tries to store a random source ID in " +"`~/.flwr/source` the first time a telemetry event is generated. The " +"source ID is important to identify whether an issue is recurring or " +"whether an issue is triggered by multiple clusters running concurrently " +"(which often happens in simulation). For example, if a device runs " +"multiple workloads at the same time, and this results in an issue, then, " +"in order to reproduce the issue, multiple workloads must be started at " +"the same time." +msgstr "" + +#: ../../source/ref-telemetry.md:44 +msgid "" +"You may delete the source ID at any time. If you wish for all events " +"logged under a specific source ID to be deleted, you can send a deletion " +"request mentioning the source ID to `telemetry@flower.dev`. All events " +"related to that source ID will then be permanently deleted." +msgstr "" + +#: ../../source/ref-telemetry.md:46 +msgid "" +"We will not collect any personally identifiable information. If you think" +" any of the metrics collected could be misused in any way, please [get in" +" touch with us](#how-to-contact-us). We will update this page to reflect " +"any changes to the metrics collected and publish changes in the " +"changelog." +msgstr "" + +#: ../../source/ref-telemetry.md:48 +msgid "" +"If you think other metrics would be helpful for us to better guide our " +"decisions, please let us know! We will carefully review them; if we are " +"confident that they do not compromise user privacy, we may add them." +msgstr "" + +#: ../../source/ref-telemetry.md:50 +msgid "How to inspect what is being reported" +msgstr "" + +#: ../../source/ref-telemetry.md:52 +msgid "" +"We wanted to make it very easy for you to inspect what anonymous usage " +"metrics are reported. You can view all the reported telemetry information" +" by setting the environment variable `FLWR_TELEMETRY_LOGGING=1`. Logging " +"is disabled by default. You may use logging independently from " +"`FLWR_TELEMETRY_ENABLED` so that you can inspect the telemetry feature " +"without sending any metrics." +msgstr "" + +#: ../../source/ref-telemetry.md:58 +msgid "" +"The inspect Flower telemetry without sending any anonymous usage metrics," +" use both environment variables:" +msgstr "" + +#: ../../source/ref-telemetry.md:64 +msgid "How to contact us" +msgstr "" + +#: ../../source/ref-telemetry.md:66 +msgid "" +"We want to hear from you. If you have any feedback or ideas on how to " +"improve the way we handle anonymous usage metrics, reach out to us via " +"[Slack](https://flower.dev/join-slack/) (channel `#telemetry`) or email " +"(`telemetry@flower.dev`)." +msgstr "" + +#: ../../source/tutorial-quickstart-android.rst:-1 +msgid "" +"Read this Federated Learning quickstart tutorial for creating an Android " +"app using Flower." +msgstr "" + +#: ../../source/tutorial-quickstart-android.rst:5 +msgid "Quickstart Android" +msgstr "" + +#: ../../source/tutorial-quickstart-android.rst:10 +msgid "" +"Let's build a federated learning system using TFLite and Flower on " +"Android!" +msgstr "" + +#: ../../source/tutorial-quickstart-android.rst:12 +msgid "" +"Please refer to the `full code example " +"`_ to learn " +"more." +msgstr "" + +#: ../../source/tutorial-quickstart-fastai.rst:-1 +msgid "" +"Check out this Federated Learning quickstart tutorial for using Flower " +"with FastAI to train a vision model on CIFAR-10." +msgstr "" + +#: ../../source/tutorial-quickstart-fastai.rst:5 +msgid "Quickstart fastai" +msgstr "" + +#: ../../source/tutorial-quickstart-fastai.rst:10 +msgid "Let's build a federated learning system using fastai and Flower!" +msgstr "" + +#: ../../source/tutorial-quickstart-fastai.rst:12 +msgid "" +"Please refer to the `full code example " +"`_ " +"to learn more." +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:-1 +msgid "" +"Check out this Federating Learning quickstart tutorial for using Flower " +"with HuggingFace Transformers in order to fine-tune an LLM." +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:5 +msgid "Quickstart 🤗 Transformers" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:10 +msgid "" +"Let's build a federated learning system using Hugging Face Transformers " +"and Flower!" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:12 +msgid "" +"We will leverage Hugging Face to federate the training of language models" +" over multiple clients using Flower. More specifically, we will fine-tune" +" a pre-trained Transformer model (distilBERT) for sequence classification" +" over a dataset of IMDB ratings. The end goal is to detect if a movie " +"rating is positive or negative." +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:18 +msgid "Dependencies" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:20 +msgid "" +"To follow along this tutorial you will need to install the following " +"packages: :code:`datasets`, :code:`evaluate`, :code:`flwr`, " +":code:`torch`, and :code:`transformers`. This can be done using " +":code:`pip`:" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:30 +msgid "Standard Hugging Face workflow" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:33 +msgid "Handling the data" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:35 +msgid "" +"To fetch the IMDB dataset, we will use Hugging Face's :code:`datasets` " +"library. We then need to tokenize the data and create :code:`PyTorch` " +"dataloaders, this is all done in the :code:`load_data` function:" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:81 +msgid "Training and testing the model" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:83 +msgid "" +"Once we have a way of creating our trainloader and testloader, we can " +"take care of the training and testing. This is very similar to any " +":code:`PyTorch` training or testing loop:" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:121 +msgid "Creating the model itself" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:123 +msgid "" +"To create the model itself, we will just load the pre-trained distillBERT" +" model using Hugging Face’s :code:`AutoModelForSequenceClassification` :" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:136 +msgid "Federating the example" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:139 +msgid "Creating the IMDBClient" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:141 +msgid "" +"To federate our example to multiple clients, we first need to write our " +"Flower client class (inheriting from :code:`flwr.client.NumPyClient`). " +"This is very easy, as our model is a standard :code:`PyTorch` model:" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:169 +msgid "" +"The :code:`get_parameters` function lets the server get the client's " +"parameters. Inversely, the :code:`set_parameters` function allows the " +"server to send its parameters to the client. Finally, the :code:`fit` " +"function trains the model locally for the client, and the " +":code:`evaluate` function tests the model locally and returns the " +"relevant metrics." +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:175 +msgid "Starting the server" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:177 +msgid "" +"Now that we have a way to instantiate clients, we need to create our " +"server in order to aggregate the results. Using Flower, this can be done " +"very easily by first choosing a strategy (here, we are using " +":code:`FedAvg`, which will define the global weights as the average of " +"all the clients' weights at each round) and then using the " +":code:`flwr.server.start_server` function:" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:205 +msgid "" +"The :code:`weighted_average` function is there to provide a way to " +"aggregate the metrics distributed amongst the clients (basically this " +"allows us to display a nice average accuracy and loss for every round)." +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:209 +msgid "Putting everything together" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:211 +msgid "We can now start client instances using:" +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:221 +msgid "" +"And they will be able to connect to the server and start the federated " +"training." +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:223 +msgid "" +"If you want to check out everything put together, you should check out " +"the full code example: [https://github.com/adap/flower/tree/main/examples" +"/quickstart-" +"huggingface](https://github.com/adap/flower/tree/main/examples" +"/quickstart-huggingface)." +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:227 +msgid "" +"Of course, this is a very basic example, and a lot can be added or " +"modified, it was just to showcase how simply we could federate a Hugging " +"Face workflow using Flower." +msgstr "" + +#: ../../source/tutorial-quickstart-huggingface.rst:230 +msgid "" +"Note that in this example we used :code:`PyTorch`, but we could have very" +" well used :code:`TensorFlow`." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:-1 +msgid "" +"Read this Federated Learning quickstart tutorial for creating an iOS app " +"using Flower to train a neural network on MNIST." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:5 +msgid "Quickstart iOS" +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:10 +msgid "" +"In this tutorial we will learn how to train a Neural Network on MNIST " +"using Flower and CoreML on iOS devices." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:12 +msgid "" +"First of all, for running the Flower Python server, it is recommended to " +"create a virtual environment and run everything within a `virtualenv " +"`_. For the Flower " +"client implementation in iOS, it is recommended to use Xcode as our IDE." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:15 +msgid "" +"Our example consists of one Python *server* and two iPhone *clients* that" +" all have the same model." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:17 +msgid "" +"*Clients* are responsible for generating individual weight updates for " +"the model based on their local datasets. These updates are then sent to " +"the *server* which will aggregate them to produce a better model. " +"Finally, the *server* sends this improved version of the model back to " +"each *client*. A complete cycle of weight updates is called a *round*." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:21 +msgid "" +"Now that we have a rough idea of what is going on, let's get started to " +"setup our Flower server environment. We first need to install Flower. You" +" can do this by using pip:" +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:27 +msgid "Or Poetry:" +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:36 +msgid "" +"Now that we have all our dependencies installed, let's run a simple " +"distributed training using CoreML as our local training pipeline and " +"MNIST as our dataset. For simplicity reasons we will use the complete " +"Flower client with CoreML, that has been implemented and stored inside " +"the Swift SDK. The client implementation can be seen below:" +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:72 +msgid "" +"Let's create a new application project in Xcode and add :code:`flwr` as a" +" dependency in your project. For our application, we will store the logic" +" of our app in :code:`FLiOSModel.swift` and the UI elements in " +":code:`ContentView.swift`. We will focus more on :code:`FLiOSModel.swift`" +" in this quickstart. Please refer to the `full code example " +"`_ to learn more " +"about the app." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:75 +msgid "Import Flower and CoreML related packages in :code:`FLiOSModel.swift`:" +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:83 +msgid "" +"Then add the mlmodel to the project simply by drag-and-drop, the mlmodel " +"will be bundled inside the application during deployment to your iOS " +"device. We need to pass the url to access mlmodel and run CoreML machine " +"learning processes, it can be retrieved by calling the function " +":code:`Bundle.main.url`. For the MNIST dataset, we need to preprocess it " +"into :code:`MLBatchProvider` object. The preprocessing is done inside " +":code:`DataLoader.swift`." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:99 +msgid "" +"Since CoreML does not allow the model parameters to be seen before " +"training, and accessing the model parameters during or after the training" +" can only be done by specifying the layer name, we need to know this " +"informations beforehand, through looking at the model specification, " +"which are written as proto files. The implementation can be seen in " +":code:`MLModelInspect`." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:102 +msgid "" +"After we have all of the necessary informations, let's create our Flower " +"client." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:117 +msgid "" +"Then start the Flower gRPC client and start communicating to the server " +"by passing our Flower client to the function :code:`startFlwrGRPC`." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:124 +msgid "" +"That's it for the client. We only have to implement :code:`Client` or " +"call the provided :code:`MLFlwrClient` and call :code:`startFlwrGRPC()`. " +"The attribute :code:`hostname` and :code:`port` tells the client which " +"server to connect to. This can be done by entering the hostname and port " +"in the application before clicking the start button to start the " +"federated learning process." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:131 +#: ../../source/tutorial-quickstart-mxnet.rst:226 +#: ../../source/tutorial-quickstart-pytorch.rst:205 +#: ../../source/tutorial-quickstart-tensorflow.rst:100 +msgid "" +"For simple workloads we can start a Flower server and leave all the " +"configuration possibilities at their default values. In a file named " +":code:`server.py`, import Flower and start the server:" +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:142 +#: ../../source/tutorial-quickstart-mxnet.rst:237 +#: ../../source/tutorial-quickstart-pytorch.rst:216 +#: ../../source/tutorial-quickstart-scikitlearn.rst:215 +#: ../../source/tutorial-quickstart-tensorflow.rst:112 +msgid "Train the model, federated!" +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:144 +#: ../../source/tutorial-quickstart-pytorch.rst:218 +#: ../../source/tutorial-quickstart-tensorflow.rst:114 +#: ../../source/tutorial-quickstart-xgboost.rst:522 +msgid "" +"With both client and server ready, we can now run everything and see " +"federated learning in action. FL systems usually have a server and " +"multiple clients. We therefore have to start the server first:" +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:152 +msgid "" +"Once the server is running we can start the clients in different " +"terminals. Build and run the client through your Xcode, one through Xcode" +" Simulator and the other by deploying it to your iPhone. To see more " +"about how to deploy your app to iPhone or Simulator visit `here " +"`_." +msgstr "" + +#: ../../source/tutorial-quickstart-ios.rst:156 +msgid "" +"Congratulations! You've successfully built and run your first federated " +"learning system in your ios device. The full `source code " +"`_ for this " +"example can be found in :code:`examples/ios`." +msgstr "" + +#: ../../source/tutorial-quickstart-jax.rst:-1 +msgid "" +"Check out this Federated Learning quickstart tutorial for using Flower " +"with Jax to train a linear regression model on a scikit-learn dataset." +msgstr "" + +#: ../../source/tutorial-quickstart-jax.rst:5 +msgid "Quickstart JAX" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:-1 +msgid "" +"Check out this Federated Learning quickstart tutorial for using Flower " +"with MXNet to train a Sequential model on MNIST." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:5 +msgid "Quickstart MXNet" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:10 +msgid "" +"In this tutorial, we will learn how to train a :code:`Sequential` model " +"on MNIST using Flower and MXNet." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:12 +#: ../../source/tutorial-quickstart-scikitlearn.rst:12 +msgid "" +"It is recommended to create a virtual environment and run everything " +"within this `virtualenv `_." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:16 +#: ../../source/tutorial-quickstart-scikitlearn.rst:16 +msgid "" +"*Clients* are responsible for generating individual model parameter " +"updates for the model based on their local datasets. These updates are " +"then sent to the *server* which will aggregate them to produce an updated" +" global model. Finally, the *server* sends this improved version of the " +"model back to each *client*. A complete cycle of parameters updates is " +"called a *round*." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:20 +#: ../../source/tutorial-quickstart-scikitlearn.rst:20 +msgid "" +"Now that we have a rough idea of what is going on, let's get started. We " +"first need to install Flower. You can do this by running:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:26 +msgid "Since we want to use MXNet, let's go ahead and install it:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:36 +msgid "" +"Now that we have all our dependencies installed, let's run a simple " +"distributed training with two clients and one server. Our training " +"procedure and network architecture are based on MXNet´s `Hand-written " +"Digit Recognition tutorial " +"`_." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:38 +msgid "" +"In a file called :code:`client.py`, import Flower and MXNet related " +"packages:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:53 +msgid "In addition, define the device allocation in MXNet with:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:59 +msgid "" +"We use MXNet to load MNIST, a popular image classification dataset of " +"handwritten digits for machine learning. The MXNet utility " +":code:`mx.test_utils.get_mnist()` downloads the training and test data." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:73 +msgid "" +"Define the training and loss with MXNet. We train the model by looping " +"over the dataset, measure the corresponding loss, and optimize it." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:111 +msgid "" +"Next, we define the validation of our machine learning model. We loop " +"over the test set and measure both loss and accuracy on the test set." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:135 +msgid "" +"After defining the training and testing of a MXNet machine learning " +"model, we use these functions to implement a Flower client." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:137 +msgid "Our Flower clients will use a simple :code:`Sequential` model:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:156 +msgid "" +"After loading the dataset with :code:`load_data()` we perform one forward" +" propagation to initialize the model and model parameters with " +":code:`model(init)`. Next, we implement a Flower client." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:158 +#: ../../source/tutorial-quickstart-pytorch.rst:144 +#: ../../source/tutorial-quickstart-tensorflow.rst:54 +msgid "" +"The Flower server interacts with clients through an interface called " +":code:`Client`. When the server selects a particular client for training," +" it sends training instructions over the network. The client receives " +"those instructions and calls one of the :code:`Client` methods to run " +"your code (i.e., to train the neural network we defined earlier)." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:164 +msgid "" +"Flower provides a convenience class called :code:`NumPyClient` which " +"makes it easier to implement the :code:`Client` interface when your " +"workload uses MXNet. Implementing :code:`NumPyClient` usually means " +"defining the following methods (:code:`set_parameters` is optional " +"though):" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:170 +#: ../../source/tutorial-quickstart-pytorch.rst:156 +#: ../../source/tutorial-quickstart-scikitlearn.rst:109 +msgid "return the model weight as a list of NumPy ndarrays" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:171 +#: ../../source/tutorial-quickstart-pytorch.rst:157 +#: ../../source/tutorial-quickstart-scikitlearn.rst:111 +msgid ":code:`set_parameters` (optional)" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:172 +#: ../../source/tutorial-quickstart-pytorch.rst:158 +#: ../../source/tutorial-quickstart-scikitlearn.rst:111 +msgid "" +"update the local model weights with the parameters received from the " +"server" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:174 +#: ../../source/tutorial-quickstart-pytorch.rst:160 +#: ../../source/tutorial-quickstart-scikitlearn.rst:114 +msgid "set the local model weights" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:175 +#: ../../source/tutorial-quickstart-pytorch.rst:161 +#: ../../source/tutorial-quickstart-scikitlearn.rst:115 +msgid "train the local model" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:176 +#: ../../source/tutorial-quickstart-pytorch.rst:162 +#: ../../source/tutorial-quickstart-scikitlearn.rst:116 +msgid "receive the updated local model weights" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:178 +#: ../../source/tutorial-quickstart-pytorch.rst:164 +#: ../../source/tutorial-quickstart-scikitlearn.rst:118 +msgid "test the local model" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:180 +msgid "They can be implemented in the following way:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:210 +msgid "" +"We can now create an instance of our class :code:`MNISTClient` and add " +"one line to actually run this client:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:217 +#: ../../source/tutorial-quickstart-scikitlearn.rst:150 +msgid "" +"That's it for the client. We only have to implement :code:`Client` or " +":code:`NumPyClient` and call :code:`fl.client.start_client()` or " +":code:`fl.client.start_numpy_client()`. The string " +":code:`\"0.0.0.0:8080\"` tells the client which server to connect to. In " +"our case we can run the server and the client on the same machine, " +"therefore we use :code:`\"0.0.0.0:8080\"`. If we run a truly federated " +"workload with the server and clients running on different machines, all " +"that needs to change is the :code:`server_address` we pass to the client." +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:239 +msgid "" +"With both client and server ready, we can now run everything and see " +"federated learning in action. Federated learning systems usually have a " +"server and multiple clients. We therefore have to start the server first:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:247 +#: ../../source/tutorial-quickstart-pytorch.rst:226 +#: ../../source/tutorial-quickstart-scikitlearn.rst:224 +#: ../../source/tutorial-quickstart-tensorflow.rst:122 +#: ../../source/tutorial-quickstart-xgboost.rst:530 +msgid "" +"Once the server is running we can start the clients in different " +"terminals. Open a new terminal and start the first client:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:254 +#: ../../source/tutorial-quickstart-pytorch.rst:233 +#: ../../source/tutorial-quickstart-scikitlearn.rst:231 +#: ../../source/tutorial-quickstart-tensorflow.rst:129 +#: ../../source/tutorial-quickstart-xgboost.rst:537 +msgid "Open another terminal and start the second client:" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:260 +#: ../../source/tutorial-quickstart-pytorch.rst:239 +#: ../../source/tutorial-quickstart-scikitlearn.rst:237 +#: ../../source/tutorial-quickstart-xgboost.rst:543 +msgid "" +"Each client will have its own dataset. You should now see how the " +"training does in the very first terminal (the one that started the " +"server):" +msgstr "" + +#: ../../source/tutorial-quickstart-mxnet.rst:292 +msgid "" +"Congratulations! You've successfully built and run your first federated " +"learning system. The full `source code " +"`_ for this example can be found in :code:`examples" +"/quickstart-mxnet`." +msgstr "" + +#: ../../source/tutorial-quickstart-pandas.rst:-1 +msgid "" +"Check out this Federated Learning quickstart tutorial for using Flower " +"with Pandas to perform Federated Analytics." +msgstr "" + +#: ../../source/tutorial-quickstart-pandas.rst:5 +msgid "Quickstart Pandas" +msgstr "" + +#: ../../source/tutorial-quickstart-pandas.rst:10 +msgid "Let's build a federated analytics system using Pandas and Flower!" +msgstr "" + +#: ../../source/tutorial-quickstart-pandas.rst:12 +msgid "" +"Please refer to the `full code example " +"`_ " +"to learn more." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:-1 +msgid "" +"Check out this Federated Learning quickstart tutorial for using Flower " +"with PyTorch to train a CNN model on MNIST." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:13 +msgid "" +"In this tutorial we will learn how to train a Convolutional Neural " +"Network on CIFAR10 using Flower and PyTorch." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:15 +#: ../../source/tutorial-quickstart-xgboost.rst:36 +msgid "" +"First of all, it is recommended to create a virtual environment and run " +"everything within a `virtualenv `_." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:29 +msgid "" +"Since we want to use PyTorch to solve a computer vision task, let's go " +"ahead and install PyTorch and the **torchvision** library:" +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:39 +msgid "" +"Now that we have all our dependencies installed, let's run a simple " +"distributed training with two clients and one server. Our training " +"procedure and network architecture are based on PyTorch's `Deep Learning " +"with PyTorch " +"`_." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:41 +msgid "" +"In a file called :code:`client.py`, import Flower and PyTorch related " +"packages:" +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:56 +msgid "In addition, we define the device allocation in PyTorch with:" +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:62 +msgid "" +"We use PyTorch to load CIFAR10, a popular colored image classification " +"dataset for machine learning. The PyTorch :code:`DataLoader()` downloads " +"the training and test data that are then normalized." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:78 +msgid "" +"Define the loss and optimizer with PyTorch. The training of the dataset " +"is done by looping over the dataset, measure the corresponding loss and " +"optimize it." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:94 +msgid "" +"Define then the validation of the machine learning network. We loop over" +" the test set and measure the loss and accuracy of the test set." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:113 +msgid "" +"After defining the training and testing of a PyTorch machine learning " +"model, we use the functions for the Flower clients." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:115 +msgid "" +"The Flower clients will use a simple CNN adapted from 'PyTorch: A 60 " +"Minute Blitz':" +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:142 +msgid "" +"After loading the data set with :code:`load_data()` we define the Flower " +"interface." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:150 +msgid "" +"Flower provides a convenience class called :code:`NumPyClient` which " +"makes it easier to implement the :code:`Client` interface when your " +"workload uses PyTorch. Implementing :code:`NumPyClient` usually means " +"defining the following methods (:code:`set_parameters` is optional " +"though):" +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:166 +msgid "which can be implemented in the following way:" +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:189 +#: ../../source/tutorial-quickstart-tensorflow.rst:82 +msgid "" +"We can now create an instance of our class :code:`CifarClient` and add " +"one line to actually run this client:" +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:196 +#: ../../source/tutorial-quickstart-tensorflow.rst:90 +msgid "" +"That's it for the client. We only have to implement :code:`Client` or " +":code:`NumPyClient` and call :code:`fl.client.start_client()` or " +":code:`fl.client.start_numpy_client()`. The string :code:`\"[::]:8080\"` " +"tells the client which server to connect to. In our case we can run the " +"server and the client on the same machine, therefore we use " +":code:`\"[::]:8080\"`. If we run a truly federated workload with the " +"server and clients running on different machines, all that needs to " +"change is the :code:`server_address` we point the client at." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch.rst:271 +msgid "" +"Congratulations! You've successfully built and run your first federated " +"learning system. The full `source code " +"`_ for this example can be found in :code:`examples" +"/quickstart-pytorch`." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch-lightning.rst:-1 +msgid "" +"Check out this Federated Learning quickstart tutorial for using Flower " +"with PyTorch Lightning to train an Auto Encoder model on MNIST." +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch-lightning.rst:5 +msgid "Quickstart PyTorch Lightning" +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch-lightning.rst:10 +msgid "" +"Let's build a horizontal federated learning system using PyTorch " +"Lightning and Flower!" +msgstr "" + +#: ../../source/tutorial-quickstart-pytorch-lightning.rst:12 +msgid "" +"Please refer to the `full code example " +"`_ to learn more." +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:-1 +msgid "" +"Check out this Federated Learning quickstart tutorial for using Flower " +"with scikit-learn to train a linear regression model." +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:5 +msgid "Quickstart scikit-learn" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:10 +msgid "" +"In this tutorial, we will learn how to train a :code:`Logistic " +"Regression` model on MNIST using Flower and scikit-learn." +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:26 +msgid "Since we want to use scikt-learn, let's go ahead and install it:" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:32 +msgid "Or simply install all dependencies using Poetry:" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:42 +msgid "" +"Now that we have all our dependencies installed, let's run a simple " +"distributed training with two clients and one server. However, before " +"setting up the client and server, we will define all functionalities that" +" we need for our federated learning setup within :code:`utils.py`. The " +":code:`utils.py` contains different functions defining all the machine " +"learning basics:" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:45 +msgid ":code:`get_model_parameters()`" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:46 +msgid "Returns the paramters of a :code:`sklearn` LogisticRegression model" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:47 +msgid ":code:`set_model_params()`" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:48 +msgid "Sets the parameters of a :code:`sklean` LogisticRegression model" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:49 +msgid ":code:`set_initial_params()`" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:50 +msgid "Initializes the model parameters that the Flower server will ask for" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:51 +msgid ":code:`load_mnist()`" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:52 +msgid "Loads the MNIST dataset using OpenML" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:53 +msgid ":code:`shuffle()`" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:54 +msgid "Shuffles data and its label" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:56 +msgid ":code:`partition()`" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:56 +msgid "Splits datasets into a number of partitions" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:58 +msgid "" +"Please check out :code:`utils.py` `here " +"`_ for more details. The pre-defined functions are used in" +" the :code:`client.py` and imported. The :code:`client.py` also requires " +"to import several packages such as Flower and scikit-learn:" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:73 +msgid "" +"We load the MNIST dataset from `OpenML `_, " +"a popular image classification dataset of handwritten digits for machine " +"learning. The utility :code:`utils.load_mnist()` downloads the training " +"and test data. The training set is split afterwards into 10 partitions " +"with :code:`utils.partition()`." +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:85 +msgid "" +"Next, the logistic regression model is defined and initialized with " +":code:`utils.set_initial_params()`." +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:97 +msgid "" +"The Flower server interacts with clients through an interface called " +":code:`Client`. When the server selects a particular client for training," +" it sends training instructions over the network. The client receives " +"those instructions and calls one of the :code:`Client` methods to run " +"your code (i.e., to fit the logistic regression we defined earlier)." +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:103 +msgid "" +"Flower provides a convenience class called :code:`NumPyClient` which " +"makes it easier to implement the :code:`Client` interface when your " +"workload uses scikit-learn. Implementing :code:`NumPyClient` usually " +"means defining the following methods (:code:`set_parameters` is optional " +"though):" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:112 +msgid "is directly imported with :code:`utils.set_model_params()`" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:120 +msgid "The methods can be implemented in the following way:" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:143 +msgid "" +"We can now create an instance of our class :code:`MnistClient` and add " +"one line to actually run this client:" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:159 +msgid "" +"The following Flower server is a little bit more advanced and returns an " +"evaluation function for the server-side evaluation. First, we import " +"again all required libraries such as Flower and scikit-learn." +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:162 +msgid ":code:`server.py`, import Flower and start the server:" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:173 +msgid "" +"The number of federated learning rounds is set in :code:`fit_round()` and" +" the evaluation is defined in :code:`get_evaluate_fn()`. The evaluation " +"function is called after each federated learning round and gives you " +"information about loss and accuracy." +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:198 +msgid "" +"The :code:`main` contains the server-side parameter initialization " +":code:`utils.set_initial_params()` as well as the aggregation strategy " +":code:`fl.server.strategy:FedAvg()`. The strategy is the default one, " +"federated averaging (or FedAvg), with two clients and evaluation after " +"each federated learning round. The server can be started with the command" +" :code:`fl.server.start_server(server_address=\"0.0.0.0:8080\", " +"strategy=strategy, config=fl.server.ServerConfig(num_rounds=3))`." +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:217 +msgid "" +"With both client and server ready, we can now run everything and see " +"federated learning in action. Federated learning systems usually have a " +"server and multiple clients. We, therefore, have to start the server " +"first:" +msgstr "" + +#: ../../source/tutorial-quickstart-scikitlearn.rst:271 +msgid "" +"Congratulations! You've successfully built and run your first federated " +"learning system. The full `source code " +"`_ for this example can be found in :code:`examples/sklearn-logreg-" +"mnist`." +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:-1 +msgid "" +"Check out this Federated Learning quickstart tutorial for using Flower " +"with TensorFlow to train a MobilNetV2 model on CIFAR-10." +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:5 +msgid "Quickstart TensorFlow" +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:13 +msgid "Let's build a federated learning system in less than 20 lines of code!" +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:15 +msgid "Before Flower can be imported we have to install it:" +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:21 +msgid "" +"Since we want to use the Keras API of TensorFlow (TF), we have to install" +" TF as well:" +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:31 +msgid "Next, in a file called :code:`client.py`, import Flower and TensorFlow:" +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:38 +msgid "" +"We use the Keras utilities of TF to load CIFAR10, a popular colored image" +" classification dataset for machine learning. The call to " +":code:`tf.keras.datasets.cifar10.load_data()` downloads CIFAR10, caches " +"it locally, and then returns the entire training and test set as NumPy " +"ndarrays." +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:47 +msgid "" +"Next, we need a model. For the purpose of this tutorial, we use " +"MobilNetV2 with 10 output classes:" +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:60 +msgid "" +"Flower provides a convenience class called :code:`NumPyClient` which " +"makes it easier to implement the :code:`Client` interface when your " +"workload uses Keras. The :code:`NumPyClient` interface defines three " +"methods which can be implemented in the following way:" +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:135 +msgid "Each client will have its own dataset." +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:137 +msgid "" +"You should now see how the training does in the very first terminal (the " +"one that started the server):" +msgstr "" + +#: ../../source/tutorial-quickstart-tensorflow.rst:169 +msgid "" +"Congratulations! You've successfully built and run your first federated " +"learning system. The full `source code " +"`_ for this can be found in :code:`examples" +"/quickstart-tensorflow/client.py`." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:-1 +msgid "" +"Check out this Federated Learning quickstart tutorial for using Flower " +"with XGBoost to train classification models on trees." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:5 +msgid "Quickstart XGBoost" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:11 +msgid "Federated XGBoost" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:13 +msgid "" +"EXtreme Gradient Boosting (**XGBoost**) is a robust and efficient " +"implementation of gradient-boosted decision tree (**GBDT**), that " +"maximises the computational boundaries for boosted tree methods. It's " +"primarily designed to enhance both the performance and computational " +"speed of machine learning models. In XGBoost, trees are constructed " +"concurrently, unlike the sequential approach taken by GBDT." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:17 +msgid "" +"Often, for tabular data on medium-sized datasets with fewer than 10k " +"training examples, XGBoost surpasses the results of deep learning " +"techniques." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:20 +msgid "Why federated XGBoost?" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:22 +msgid "" +"Indeed, as the demand for data privacy and decentralized learning grows, " +"there's an increasing requirement to implement federated XGBoost systems " +"for specialised applications, like survival analysis and financial fraud " +"detection." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:24 +msgid "" +"Federated learning ensures that raw data remains on the local device, " +"making it an attractive approach for sensitive domains where data " +"security and privacy are paramount. Given the robustness and efficiency " +"of XGBoost, combining it with federated learning offers a promising " +"solution for these specific challenges." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:27 +msgid "" +"In this tutorial we will learn how to train a federated XGBoost model on " +"HIGGS dataset using Flower and :code:`xgboost` package. We use a simple " +"example (`full code xgboost-quickstart " +"`_)" +" with two *clients* and one *server* to demonstrate how federated XGBoost" +" works, and then we dive into a more complex example (`full code xgboost-" +"comprehensive `_) to run various experiments." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:34 +msgid "Environment Setup" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:38 +msgid "" +"We first need to install Flower and Flower Datasets. You can do this by " +"running :" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:44 +msgid "" +"Since we want to use :code:`xgboost` package to build up XGBoost trees, " +"let's go ahead and install :code:`xgboost`:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:54 +msgid "" +"*Clients* are responsible for generating individual weight-updates for " +"the model based on their local datasets. Now that we have all our " +"dependencies installed, let's run a simple distributed training with two " +"clients and one server." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:57 +msgid "" +"In a file called :code:`client.py`, import xgboost, Flower, Flower " +"Datasets and other related functions:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:84 +msgid "Dataset partition and hyper-parameter selection" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:86 +msgid "" +"Prior to local training, we require loading the HIGGS dataset from Flower" +" Datasets and conduct data partitioning for FL:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:99 +msgid "" +"In this example, we split the dataset into two partitions with uniform " +"distribution (:code:`IidPartitioner(num_partitions=2)`). Then, we load " +"the partition for the given client based on :code:`node_id`:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:118 +msgid "" +"After that, we do train/test splitting on the given partition (client's " +"local data), and transform data format for :code:`xgboost` package." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:131 +msgid "" +"The functions of :code:`train_test_split` and " +":code:`transform_dataset_to_dmatrix` are defined as below:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:155 +msgid "Finally, we define the hyper-parameters used for XGBoost training." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:171 +msgid "" +"The :code:`num_local_round` represents the number of iterations for local" +" tree boost. We use CPU for the training in default. One can shift it to " +"GPU by setting :code:`tree_method` to :code:`gpu_hist`. We use AUC as " +"evaluation metric." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:178 +msgid "Flower client definition for XGBoost" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:180 +msgid "" +"After loading the dataset we define the Flower client. We follow the " +"general rule to define :code:`XgbClient` class inherited from " +":code:`fl.client.Client`." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:190 +msgid "" +"The :code:`self.bst` is used to keep the Booster objects that remain " +"consistent across rounds, allowing them to store predictions from trees " +"integrated in earlier rounds and maintain other essential data structures" +" for training." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:193 +msgid "" +"Then, we override :code:`get_parameters`, :code:`fit` and " +":code:`evaluate` methods insides :code:`XgbClient` class as follows." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:207 +msgid "" +"Unlike neural network training, XGBoost trees are not started from a " +"specified random weights. In this case, we do not use " +":code:`get_parameters` and :code:`set_parameters` to initialise model " +"parameters for XGBoost. As a result, let's return an empty tensor in " +":code:`get_parameters` when it is called by the server at the first " +"round." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:248 +msgid "" +"In :code:`fit`, at the first round, we call :code:`xgb.train()` to build " +"up the first set of trees. the returned Booster object and config are " +"stored in :code:`self.bst` and :code:`self.config`, respectively. From " +"the second round, we load the global model sent from server to " +":code:`self.bst`, and then update model weights on local training data " +"with function :code:`local_boost` as follows:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:266 +msgid "" +"Given :code:`num_local_round`, we update trees by calling " +":code:`self.bst.update` method. After training, the last " +":code:`N=num_local_round` trees will be extracted to send to the server." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:288 +msgid "" +"In :code:`evaluate`, we call :code:`self.bst.eval_set` function to " +"conduct evaluation on valid set. The AUC value will be returned." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:291 +msgid "" +"Now, we can create an instance of our class :code:`XgbClient` and add one" +" line to actually run this client:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:297 +msgid "" +"That's it for the client. We only have to implement :code:`Client`and " +"call :code:`fl.client.start_client()`. The string :code:`\"[::]:8080\"` " +"tells the client which server to connect to. In our case we can run the " +"server and the client on the same machine, therefore we use " +":code:`\"[::]:8080\"`. If we run a truly federated workload with the " +"server and clients running on different machines, all that needs to " +"change is the :code:`server_address` we point the client at." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:308 +msgid "" +"These updates are then sent to the *server* which will aggregate them to " +"produce a better model. Finally, the *server* sends this improved version" +" of the model back to each *client* to finish a complete FL round." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:311 +msgid "" +"In a file named :code:`server.py`, import Flower and FedXgbBagging from " +":code:`flwr.server.strategy`." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:313 +msgid "We first define a strategy for XGBoost bagging aggregation." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:336 +msgid "" +"We use two clients for this example. An " +":code:`evaluate_metrics_aggregation` function is defined to collect and " +"wighted average the AUC values from clients." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:339 +msgid "Then, we start the server:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:351 +msgid "Tree-based bagging aggregation" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:353 +msgid "" +"You must be curious about how bagging aggregation works. Let's look into " +"the details." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:355 +msgid "" +"In file :code:`flwr.server.strategy.fedxgb_bagging.py`, we define " +":code:`FedXgbBagging` inherited from :code:`flwr.server.strategy.FedAvg`." +" Then, we override the :code:`aggregate_fit`, :code:`aggregate_evaluate` " +"and :code:`evaluate` methods as follows:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:451 +msgid "" +"In :code:`aggregate_fit`, we sequentially aggregate the clients' XGBoost " +"trees by calling :code:`aggregate()` function:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:510 +msgid "" +"In this function, we first fetch the number of trees and the number of " +"parallel trees for the current and previous model by calling " +":code:`_get_tree_nums`. Then, the fetched information will be aggregated." +" After that, the trees (containing model weights) are aggregated to " +"generate a new tree model." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:515 +msgid "" +"After traversal of all clients' models, a new global model is generated, " +"followed by the serialisation, and sending back to each client." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:520 +msgid "Launch Federated XGBoost!" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:582 +msgid "" +"Congratulations! You've successfully built and run your first federated " +"XGBoost system. The AUC values can be checked in " +":code:`metrics_distributed`. One can see that the average AUC increases " +"over FL rounds." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:587 +msgid "" +"The full `source code `_ for this example can be found in :code:`examples" +"/xgboost-quickstart`." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:591 +msgid "Comprehensive Federated XGBoost" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:593 +msgid "" +"Now that you have known how federated XGBoost work with Flower, it's time" +" to run some more comprehensive experiments by customising the " +"experimental settings. In the xgboost-comprehensive example (`full code " +"`_), we provide more options to define various experimental" +" setups, including data partitioning and centralised/distributed " +"evaluation. Let's take a look!" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:599 +msgid "Customised data partitioning" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:601 +msgid "" +"In :code:`dataset.py`, we have a function :code:`instantiate_partitioner`" +" to instantiate the data partitioner based on the given " +":code:`num_partitions` and :code:`partitioner_type`. Currently, we " +"provide four supported partitioner type to simulate the uniformity/non-" +"uniformity in data quantity (uniform, linear, square, exponential)." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:632 +msgid "Customised centralised/distributed evaluation" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:634 +msgid "" +"To facilitate centralised evaluation, we define a function in " +":code:`server.py`:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:666 +msgid "" +"This function returns a evaluation function which instantiates a " +":code:`Booster` object and loads the global model weights to it. The " +"evaluation is conducted by calling :code:`eval_set()` method, and the " +"tested AUC value is reported." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:669 +msgid "" +"As for distributed evaluation on the clients, it's same as the quick-" +"start example by overriding the :code:`evaluate()` method insides the " +":code:`XgbClient` class in :code:`client.py`." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:673 +msgid "Arguments parser" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:675 +msgid "" +"In :code:`utils.py`, we define the arguments parsers for clients and " +"server, allowing users to specify different experimental settings. Let's " +"first see the sever side:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:714 +msgid "" +"This allows user to specify the number of total clients / FL rounds / " +"participating clients / clients for evaluation, and evaluation fashion. " +"Note that with :code:`--centralised-eval`, the sever will do centralised " +"evaluation and all functionalities for client evaluation will be " +"disabled." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:718 +msgid "Then, the argument parser on client side:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:760 +msgid "" +"This defines various options for client data partitioning. Besides, " +"clients also have a option to conduct evaluation on centralised test set " +"by setting :code:`--centralised-eval`." +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:764 +msgid "Example commands" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:766 +msgid "" +"To run a centralised evaluated experiment on 5 clients with exponential " +"distribution for 50 rounds, we first start the server as below:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:773 +msgid "Then, on each client terminal, we start the clients:" +msgstr "" + +#: ../../source/tutorial-quickstart-xgboost.rst:779 +msgid "" +"The full `source code `_ for this comprehensive example can be found in" +" :code:`examples/xgboost-comprehensive`." +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:9 +msgid "Build a strategy from scratch" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:11 +msgid "" +"Welcome to the third part of the Flower federated learning tutorial. In " +"previous parts of this tutorial, we introduced federated learning with " +"PyTorch and Flower (`part 1 `__) and we learned how strategies " +"can be used to customize the execution on both the server and the clients" +" (`part 2 `__)." +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:13 +msgid "" +"In this notebook, we'll continue to customize the federated learning " +"system we built previously by creating a custom version of FedAvg (again," +" using `Flower `__ and `PyTorch " +"`__)." +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:15 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:16 +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:15 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:15 +msgid "" +"`Star Flower on GitHub `__ ⭐️ and join " +"the Flower community on Slack to connect, ask questions, and get help: " +"`Join Slack `__ 🌼 We'd love to hear from " +"you in the ``#introductions`` channel! And if anything is unclear, head " +"over to the ``#questions`` channel." +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:17 +msgid "Let's build a new ``Strategy`` from scratch!" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:29 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:29 +msgid "Preparation" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:31 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:32 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:31 +msgid "" +"Before we begin with the actual code, let's make sure that we have " +"everything we need." +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:43 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:44 +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:43 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:43 +msgid "Installing dependencies" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:45 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:46 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:45 +msgid "First, we install the necessary packages:" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:65 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:66 +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:65 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:65 +msgid "" +"Now that we have all dependencies installed, we can import everything we " +"need for this tutorial:" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:101 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:102 +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:104 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:101 +msgid "" +"It is possible to switch to a runtime that has GPU acceleration enabled " +"(on Google Colab: ``Runtime > Change runtime type > Hardware acclerator: " +"GPU > Save``). Note, however, that Google Colab is not always able to " +"offer GPU acceleration. If you see an error related to GPU availability " +"in one of the following sections, consider switching back to CPU-based " +"execution by setting ``DEVICE = torch.device(\"cpu\")``. If the runtime " +"has GPU acceleration enabled, you should see the output ``Training on " +"cuda``, otherwise it'll say ``Training on cpu``." +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:114 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:115 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:114 +msgid "Data loading" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:116 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:116 +msgid "" +"Let's now load the CIFAR-10 training and test set, partition them into " +"ten smaller datasets (each split into training and validation set), and " +"wrap everything in their own ``DataLoader``. We introduce a new parameter" +" ``num_clients`` which allows us to call ``load_datasets`` with different" +" numbers of clients." +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:167 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:168 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:167 +msgid "Model training/evaluation" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:169 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:170 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:169 +msgid "" +"Let's continue with the usual model definition (including " +"``set_parameters`` and ``get_parameters``), training and test functions:" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:258 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:258 +msgid "Flower client" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:260 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:260 +msgid "" +"To implement the Flower client, we (again) create a subclass of " +"``flwr.client.NumPyClient`` and implement the three methods " +"``get_parameters``, ``fit``, and ``evaluate``. Here, we also pass the " +"``cid`` to the client and use it log additional details:" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:308 +msgid "Let's test what we have so far before we continue:" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:339 +msgid "Build a Strategy from scratch" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:341 +msgid "" +"Let’s overwrite the ``configure_fit`` method such that it passes a higher" +" learning rate (potentially also other hyperparameters) to the optimizer " +"of a fraction of the clients. We will keep the sampling of the clients as" +" it is in ``FedAvg`` and then change the configuration dictionary (one of" +" the ``FitIns`` attributes)." +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:507 +msgid "" +"The only thing left is to use the newly created custom Strategy " +"``FedCustom`` when starting the experiment:" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:534 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:932 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:697 +msgid "Recap" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:536 +msgid "" +"In this notebook, we’ve seen how to implement a custom strategy. A custom" +" strategy enables granular control over client node configuration, result" +" aggregation, and more. To define a custom strategy, you only have to " +"overwrite the abstract methods of the (abstract) base class ``Strategy``." +" To make custom strategies even more powerful, you can pass custom " +"functions to the constructor of your new class (``__init__``) and then " +"call these functions whenever needed." +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:550 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:948 +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:749 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:715 +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:369 +msgid "" +"Before you continue, make sure to join the Flower community on Slack: " +"`Join Slack `__" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:552 +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:950 +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:751 +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:717 +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:371 +msgid "" +"There's a dedicated ``#questions`` channel if you need help, but we'd " +"also love to hear who you are in ``#introductions``!" +msgstr "" + +#: ../../source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb:554 +msgid "" +"The `Flower Federated Learning Tutorial - Part 4 " +"`__ introduces ``Client``, the flexible API underlying " +"``NumPyClient``." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:9 +msgid "Customize the client" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:11 +msgid "" +"Welcome to the fourth part of the Flower federated learning tutorial. In " +"the previous parts of this tutorial, we introduced federated learning " +"with PyTorch and Flower (`part 1 `__), we learned how " +"strategies can be used to customize the execution on both the server and " +"the clients (`part 2 `__), and we built our own " +"custom strategy from scratch (`part 3 `__)." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:14 +msgid "" +"In this notebook, we revisit ``NumPyClient`` and introduce a new " +"baseclass for building clients, simply named ``Client``. In previous " +"parts of this tutorial, we've based our client on ``NumPyClient``, a " +"convenience class which makes it easy to work with machine learning " +"libraries that have good NumPy interoperability. With ``Client``, we gain" +" a lot of flexibility that we didn't have before, but we'll also have to " +"do a few things the we didn't have to do before." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:18 +msgid "" +"Let's go deeper and see what it takes to move from ``NumPyClient`` to " +"``Client``!" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:30 +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:29 +msgid "Step 0: Preparation" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:117 +msgid "" +"Let's now load the CIFAR-10 training and test set, partition them into " +"ten smaller datasets (each split into training and validation set), and " +"wrap everything in their own ``DataLoader``." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:259 +msgid "Step 1: Revisiting NumPyClient" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:261 +msgid "" +"So far, we've implemented our client by subclassing " +"``flwr.client.NumPyClient``. The three methods we implemented are " +"``get_parameters``, ``fit``, and ``evaluate``. Finally, we wrap the " +"creation of instances of this class in a function called ``client_fn``:" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:309 +msgid "" +"We've seen this before, there's nothing new so far. The only *tiny* " +"difference compared to the previous notebook is naming, we've changed " +"``FlowerClient`` to ``FlowerNumPyClient`` and ``client_fn`` to " +"``numpyclient_fn``. Let's run it to see the output we get:" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:339 +msgid "" +"This works as expected, two clients are training for three rounds of " +"federated learning." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:341 +msgid "" +"Let's dive a little bit deeper and discuss how Flower executes this " +"simulation. Whenever a client is selected to do some work, " +"``start_simulation`` calls the function ``numpyclient_fn`` to create an " +"instance of our ``FlowerNumPyClient`` (along with loading the model and " +"the data)." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:343 +msgid "" +"But here's the perhaps surprising part: Flower doesn't actually use the " +"``FlowerNumPyClient`` object directly. Instead, it wraps the object to " +"makes it look like a subclass of ``flwr.client.Client``, not " +"``flwr.client.NumPyClient``. In fact, the Flower core framework doesn't " +"know how to handle ``NumPyClient``'s, it only knows how to handle " +"``Client``'s. ``NumPyClient`` is just a convenience abstraction built on " +"top of ``Client``." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:345 +msgid "" +"Instead of building on top of ``NumPyClient``, we can directly build on " +"top of ``Client``." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:357 +msgid "Step 2: Moving from ``NumPyClient`` to ``Client``" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:359 +msgid "" +"Let's try to do the same thing using ``Client`` instead of " +"``NumPyClient``." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:465 +msgid "" +"Before we discuss the code in more detail, let's try to run it! Gotta " +"make sure our new ``Client``-based client works, right?" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:490 +msgid "" +"That's it, we're now using ``Client``. It probably looks similar to what " +"we've done with ``NumPyClient``. So what's the difference?" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:492 +msgid "" +"First of all, it's more code. But why? The difference comes from the fact" +" that ``Client`` expects us to take care of parameter serialization and " +"deserialization. For Flower to be able to send parameters over the " +"network, it eventually needs to turn these parameters into ``bytes``. " +"Turning parameters (e.g., NumPy ``ndarray``'s) into raw bytes is called " +"serialization. Turning raw bytes into something more useful (like NumPy " +"``ndarray``'s) is called deserialization. Flower needs to do both: it " +"needs to serialize parameters on the server-side and send them to the " +"client, the client needs to deserialize them to use them for local " +"training, and then serialize the updated parameters again to send them " +"back to the server, which (finally!) deserializes them again in order to " +"aggregate them with the updates received from other clients." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:495 +msgid "" +"The only *real* difference between Client and NumPyClient is that " +"NumPyClient takes care of serialization and deserialization for you. It " +"can do so because it expects you to return parameters as NumPy ndarray's," +" and it knows how to handle these. This makes working with machine " +"learning libraries that have good NumPy support (most of them) a breeze." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:497 +msgid "" +"In terms of API, there's one major difference: all methods in Client take" +" exactly one argument (e.g., ``FitIns`` in ``Client.fit``) and return " +"exactly one value (e.g., ``FitRes`` in ``Client.fit``). The methods in " +"``NumPyClient`` on the other hand have multiple arguments (e.g., " +"``parameters`` and ``config`` in ``NumPyClient.fit``) and multiple return" +" values (e.g., ``parameters``, ``num_example``, and ``metrics`` in " +"``NumPyClient.fit``) if there are multiple things to handle. These " +"``*Ins`` and ``*Res`` objects in ``Client`` wrap all the individual " +"values you're used to from ``NumPyClient``." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:510 +msgid "Step 3: Custom serialization" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:512 +msgid "" +"Here we will explore how to implement custom serialization with a simple " +"example." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:514 +msgid "" +"But first what is serialization? Serialization is just the process of " +"converting an object into raw bytes, and equally as important, " +"deserialization is the process of converting raw bytes back into an " +"object. This is very useful for network communication. Indeed, without " +"serialization, you could not just a Python object through the internet." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:516 +msgid "" +"Federated Learning relies heavily on internet communication for training " +"by sending Python objects back and forth between the clients and the " +"server. This means that serialization is an essential part of Federated " +"Learning." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:518 +msgid "" +"In the following section, we will write a basic example where instead of " +"sending a serialized version of our ``ndarray``\\ s containing our " +"parameters, we will first convert the ``ndarray`` into sparse matrices, " +"before sending them. This technique can be used to save bandwidth, as in " +"certain cases where the weights of a model are sparse (containing many 0 " +"entries), converting them to a sparse matrix can greatly improve their " +"bytesize." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:521 +msgid "Our custom serialization/deserialization functions" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:523 +msgid "" +"This is where the real serialization/deserialization will happen, " +"especially in ``ndarray_to_sparse_bytes`` for serialization and " +"``sparse_bytes_to_ndarray`` for deserialization." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:525 +msgid "" +"Note that we imported the ``scipy.sparse`` library in order to convert " +"our arrays." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:613 +msgid "Client-side" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:615 +msgid "" +"To be able to able to serialize our ``ndarray``\\ s into sparse " +"parameters, we will just have to call our custom functions in our " +"``flwr.client.Client``." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:617 +msgid "" +"Indeed, in ``get_parameters`` we need to serialize the parameters we got " +"from our network using our custom ``ndarrays_to_sparse_parameters`` " +"defined above." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:619 +msgid "" +"In ``fit``, we first need to deserialize the parameters coming from the " +"server using our custom ``sparse_parameters_to_ndarrays`` and then we " +"need to serialize our local results with " +"``ndarrays_to_sparse_parameters``." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:621 +msgid "" +"In ``evaluate``, we will only need to deserialize the global parameters " +"with our custom function." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:725 +msgid "Server-side" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:727 +msgid "" +"For this example, we will just use ``FedAvg`` as a strategy. To change " +"the serialization and deserialization here, we only need to reimplement " +"the ``evaluate`` and ``aggregate_fit`` functions of ``FedAvg``. The other" +" functions of the strategy will be inherited from the super class " +"``FedAvg``." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:729 +msgid "As you can see only one line as change in ``evaluate``:" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:735 +msgid "" +"And for ``aggregate_fit``, we will first deserialize every result we " +"received:" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:744 +msgid "And then serialize the aggregated result:" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:903 +msgid "We can now run our custom serialization example!" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:934 +msgid "" +"In this part of the tutorial, we've seen how we can build clients by " +"subclassing either ``NumPyClient`` or ``Client``. ``NumPyClient`` is a " +"convenience abstraction that makes it easier to work with machine " +"learning libraries that have good NumPy interoperability. ``Client`` is a" +" more flexible abstraction that allows us to do things that are not " +"possible in ``NumPyClient``. In order to do so, it requires us to handle " +"parameter serialization and deserialization ourselves." +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:952 +msgid "" +"This is the final part of the Flower tutorial (for now!), " +"congratulations! You're now well equipped to understand the rest of the " +"documentation. There are many topics we didn't cover in the tutorial, we " +"recommend the following resources:" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:954 +msgid "`Read Flower Docs `__" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:955 +msgid "" +"`Check out Flower Code Examples " +"`__" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:956 +msgid "" +"`Use Flower Baselines for your research " +"`__" +msgstr "" + +#: ../../source/tutorial-series-customize-the-client-pytorch.ipynb:957 +msgid "" +"`Watch Flower Summit 2023 videos `__" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:9 +msgid "Get started with Flower" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:11 +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:11 +msgid "Welcome to the Flower federated learning tutorial!" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:13 +msgid "" +"In this notebook, we'll build a federated learning system using Flower " +"and PyTorch. In part 1, we use PyTorch for the model training pipeline " +"and data loading. In part 2, we continue to federate the PyTorch-based " +"pipeline using Flower." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:17 +msgid "Let's get stated!" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:31 +msgid "" +"Before we begin with any actual code, let's make sure that we have " +"everything we need." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:45 +msgid "" +"Next, we install the necessary packages for PyTorch (``torch`` and " +"``torchvision``) and Flower (``flwr``):" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:117 +msgid "Loading the data" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:119 +msgid "" +"Federated learning can be applied to many different types of tasks across" +" different domains. In this tutorial, we introduce federated learning by " +"training a simple convolutional neural network (CNN) on the popular " +"CIFAR-10 dataset. CIFAR-10 can be used to train image classifiers that " +"distinguish between images from ten different classes:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:150 +msgid "" +"We simulate having multiple datasets from multiple organizations (also " +"called the \"cross-silo\" setting in federated learning) by splitting the" +" original CIFAR-10 dataset into multiple partitions. Each partition will " +"represent the data from a single organization. We're doing this purely " +"for experimentation purposes, in the real world there's no need for data " +"splitting because each organization already has their own data (so the " +"data is naturally partitioned)." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:152 +msgid "" +"Each organization will act as a client in the federated learning system. " +"So having ten organizations participate in a federation means having ten " +"clients connected to the federated learning server:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:172 +msgid "" +"Let's now load the CIFAR-10 training and test set, partition them into " +"ten smaller datasets (each split into training and validation set), and " +"wrap the resulting partitions by creating a PyTorch ``DataLoader`` for " +"each of them:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:222 +msgid "" +"We now have a list of ten training sets and ten validation sets " +"(``trainloaders`` and ``valloaders``) representing the data of ten " +"different organizations. Each ``trainloader``/``valloader`` pair contains" +" 4500 training examples and 500 validation examples. There's also a " +"single ``testloader`` (we did not split the test set). Again, this is " +"only necessary for building research or educational systems, actual " +"federated learning systems have their data naturally distributed across " +"multiple partitions." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:225 +msgid "" +"Let's take a look at the first batch of images and labels in the first " +"training set (i.e., ``trainloaders[0]``) before we move on:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:264 +msgid "" +"The output above shows a random batch of images from the first " +"``trainloader`` in our list of ten ``trainloaders``. It also prints the " +"labels associated with each image (i.e., one of the ten possible labels " +"we've seen above). If you run the cell again, you should see another " +"batch of images." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:276 +msgid "Step 1: Centralized Training with PyTorch" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:287 +msgid "" +"Next, we're going to use PyTorch to define a simple convolutional neural " +"network. This introduction assumes basic familiarity with PyTorch, so it " +"doesn't cover the PyTorch-related aspects in full detail. If you want to " +"dive deeper into PyTorch, we recommend `DEEP LEARNING WITH PYTORCH: A 60 " +"MINUTE BLITZ " +"`__." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:299 +msgid "Defining the model" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:301 +msgid "" +"We use the simple CNN described in the `PyTorch tutorial " +"`__:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:338 +msgid "Let's continue with the usual training and test functions:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:398 +msgid "Training the model" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:400 +msgid "" +"We now have all the basic building blocks we need: a dataset, a model, a " +"training function, and a test function. Let's put them together to train " +"the model on the dataset of one of our organizations " +"(``trainloaders[0]``). This simulates the reality of most machine " +"learning projects today: each organization has their own data and trains " +"models only on this internal data:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:430 +msgid "" +"Training the simple CNN on our CIFAR-10 split for 5 epochs should result " +"in a test set accuracy of about 41%, which is not good, but at the same " +"time, it doesn't really matter for the purposes of this tutorial. The " +"intent was just to show a simplistic centralized training pipeline that " +"sets the stage for what comes next - federated learning!" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:442 +msgid "Step 2: Federated Learning with Flower" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:444 +msgid "" +"Step 1 demonstrated a simple centralized training pipeline. All data was " +"in one place (i.e., a single ``trainloader`` and a single ``valloader``)." +" Next, we'll simulate a situation where we have multiple datasets in " +"multiple organizations and where we train a model over these " +"organizations using federated learning." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:456 +msgid "Updating model parameters" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:458 +msgid "" +"In federated learning, the server sends the global model parameters to " +"the client, and the client updates the local model with the parameters " +"received from the server. It then trains the model on the local data " +"(which changes the model parameters locally) and sends the " +"updated/changed model parameters back to the server (or, alternatively, " +"it sends just the gradients back to the server, not the full model " +"parameters)." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:460 +msgid "" +"We need two helper functions to update the local model with parameters " +"received from the server and to get the updated model parameters from the" +" local model: ``set_parameters`` and ``get_parameters``. The following " +"two functions do just that for the PyTorch model above." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:462 +msgid "" +"The details of how this works are not really important here (feel free to" +" consult the PyTorch documentation if you want to learn more). In " +"essence, we use ``state_dict`` to access PyTorch model parameter tensors." +" The parameter tensors are then converted to/from a list of NumPy " +"ndarray's (which Flower knows how to serialize/deserialize):" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:490 +msgid "Implementing a Flower client" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:492 +msgid "" +"With that out of the way, let's move on to the interesting part. " +"Federated learning systems consist of a server and multiple clients. In " +"Flower, we create clients by implementing subclasses of " +"``flwr.client.Client`` or ``flwr.client.NumPyClient``. We use " +"``NumPyClient`` in this tutorial because it is easier to implement and " +"requires us to write less boilerplate." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:494 +msgid "" +"To implement the Flower client, we create a subclass of " +"``flwr.client.NumPyClient`` and implement the three methods " +"``get_parameters``, ``fit``, and ``evaluate``:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:496 +msgid "``get_parameters``: Return the current local model parameters" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:497 +msgid "" +"``fit``: Receive model parameters from the server, train the model " +"parameters on the local data, and return the (updated) model parameters " +"to the server" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:498 +msgid "" +"``evaluate``: Receive model parameters from the server, evaluate the " +"model parameters on the local data, and return the evaluation result to " +"the server" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:500 +msgid "" +"We mentioned that our clients will use the previously defined PyTorch " +"components for model training and evaluation. Let's see a simple Flower " +"client implementation that brings everything together:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:537 +msgid "" +"Our class ``FlowerClient`` defines how local training/evaluation will be " +"performed and allows Flower to call the local training/evaluation through" +" ``fit`` and ``evaluate``. Each instance of ``FlowerClient`` represents a" +" *single client* in our federated learning system. Federated learning " +"systems have multiple clients (otherwise, there's not much to federate), " +"so each client will be represented by its own instance of " +"``FlowerClient``. If we have, for example, three clients in our workload," +" then we'd have three instances of ``FlowerClient``. Flower calls " +"``FlowerClient.fit`` on the respective instance when the server selects a" +" particular client for training (and ``FlowerClient.evaluate`` for " +"evaluation)." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:541 +msgid "Using the Virtual Client Engine" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:543 +msgid "" +"In this notebook, we want to simulate a federated learning system with 10" +" clients on a single machine. This means that the server and all 10 " +"clients will live on a single machine and share resources such as CPU, " +"GPU, and memory. Having 10 clients would mean having 10 instances of " +"``FlowerClient`` in memory. Doing this on a single machine can quickly " +"exhaust the available memory resources, even if only a subset of these " +"clients participates in a single round of federated learning." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:545 +msgid "" +"In addition to the regular capabilities where server and clients run on " +"multiple machines, Flower, therefore, provides special simulation " +"capabilities that create ``FlowerClient`` instances only when they are " +"actually necessary for training or evaluation. To enable the Flower " +"framework to create clients when necessary, we need to implement a " +"function called ``client_fn`` that creates a ``FlowerClient`` instance on" +" demand. Flower calls ``client_fn`` whenever it needs an instance of one " +"particular client to call ``fit`` or ``evaluate`` (those instances are " +"usually discarded after use, so they should not keep any local state). " +"Clients are identified by a client ID, or short ``cid``. The ``cid`` can " +"be used, for example, to load different local data partitions for " +"different clients, as can be seen below:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:580 +msgid "Starting the training" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:582 +msgid "" +"We now have the class ``FlowerClient`` which defines client-side " +"training/evaluation and ``client_fn`` which allows Flower to create " +"``FlowerClient`` instances whenever it needs to call ``fit`` or " +"``evaluate`` on one particular client. The last step is to start the " +"actual simulation using ``flwr.simulation.start_simulation``." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:584 +msgid "" +"The function ``start_simulation`` accepts a number of arguments, amongst " +"them the ``client_fn`` used to create ``FlowerClient`` instances, the " +"number of clients to simulate (``num_clients``), the number of federated " +"learning rounds (``num_rounds``), and the strategy. The strategy " +"encapsulates the federated learning approach/algorithm, for example, " +"*Federated Averaging* (FedAvg)." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:586 +msgid "" +"Flower has a number of built-in strategies, but we can also use our own " +"strategy implementations to customize nearly all aspects of the federated" +" learning approach. For this example, we use the built-in ``FedAvg`` " +"implementation and customize it using a few basic parameters. The last " +"step is the actual call to ``start_simulation`` which - you guessed it - " +"starts the simulation:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:628 +msgid "Behind the scenes" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:630 +msgid "So how does this work? How does Flower execute this simulation?" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:632 +#, python-format +msgid "" +"When we call ``start_simulation``, we tell Flower that there are 10 " +"clients (``num_clients=10``). Flower then goes ahead an asks the " +"``FedAvg`` strategy to select clients. ``FedAvg`` knows that it should " +"select 100% of the available clients (``fraction_fit=1.0``), so it goes " +"ahead and selects 10 random clients (i.e., 100% of 10)." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:634 +msgid "" +"Flower then asks the selected 10 clients to train the model. When the " +"server receives the model parameter updates from the clients, it hands " +"those updates over to the strategy (*FedAvg*) for aggregation. The " +"strategy aggregates those updates and returns the new global model, which" +" then gets used in the next round of federated learning." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:646 +msgid "Where's the accuracy?" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:648 +msgid "" +"You may have noticed that all metrics except for ``losses_distributed`` " +"are empty. Where did the ``{\"accuracy\": float(accuracy)}`` go?" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:650 +msgid "" +"Flower can automatically aggregate losses returned by individual clients," +" but it cannot do the same for metrics in the generic metrics dictionary " +"(the one with the ``accuracy`` key). Metrics dictionaries can contain " +"very different kinds of metrics and even key/value pairs that are not " +"metrics at all, so the framework does not (and can not) know how to " +"handle these automatically." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:652 +msgid "" +"As users, we need to tell the framework how to handle/aggregate these " +"custom metrics, and we do so by passing metric aggregation functions to " +"the strategy. The strategy will then call these functions whenever it " +"receives fit or evaluate metrics from clients. The two possible functions" +" are ``fit_metrics_aggregation_fn`` and " +"``evaluate_metrics_aggregation_fn``." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:654 +msgid "" +"Let's create a simple weighted averaging function to aggregate the " +"``accuracy`` metric we return from ``evaluate``:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:680 +msgid "" +"The only thing left to do is to tell the strategy to call this function " +"whenever it receives evaluation metric dictionaries from the clients:" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:717 +msgid "" +"We now have a full system that performs federated training and federated " +"evaluation. It uses the ``weighted_average`` function to aggregate custom" +" evaluation metrics and calculates a single ``accuracy`` metric across " +"all clients on the server side." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:719 +msgid "" +"The other two categories of metrics (``losses_centralized`` and " +"``metrics_centralized``) are still empty because they only apply when " +"centralized evaluation is being used. Part two of the Flower tutorial " +"will cover centralized evaluation." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:731 +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:351 +msgid "Final remarks" +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:733 +msgid "" +"Congratulations, you just trained a convolutional neural network, " +"federated over 10 clients! With that, you understand the basics of " +"federated learning with Flower. The same approach you've seen can be used" +" with other machine learning frameworks (not just PyTorch) and tasks (not" +" just CIFAR-10 images classification), for example NLP with Hugging Face " +"Transformers or speech with SpeechBrain." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:735 +msgid "" +"In the next notebook, we're going to cover some more advanced concepts. " +"Want to customize your strategy? Initialize parameters on the server " +"side? Or evaluate the aggregated model on the server side? We'll cover " +"all this and more in the next tutorial." +msgstr "" + +#: ../../source/tutorial-series-get-started-with-flower-pytorch.ipynb:753 +msgid "" +"The `Flower Federated Learning Tutorial - Part 2 " +"`__ goes into more depth about strategies and all " +"the advanced things you can build with them." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:9 +msgid "Use a federated learning strategy" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:11 +msgid "" +"Welcome to the next part of the federated learning tutorial. In previous " +"parts of this tutorial, we introduced federated learning with PyTorch and" +" Flower (`part 1 `__)." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:13 +msgid "" +"In this notebook, we'll begin to customize the federated learning system " +"we built in the introductory notebook (again, using `Flower " +"`__ and `PyTorch `__)." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:17 +msgid "Let's move beyond FedAvg with Flower strategies!" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:309 +msgid "Strategy customization" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:311 +msgid "" +"So far, everything should look familiar if you've worked through the " +"introductory notebook. With that, we're ready to introduce a number of " +"new features." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:323 +msgid "Server-side parameter **initialization**" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:325 +msgid "" +"Flower, by default, initializes the global model by asking one random " +"client for the initial parameters. In many cases, we want more control " +"over parameter initialization though. Flower therefore allows you to " +"directly pass the initial parameters to the Strategy:" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:370 +msgid "" +"Passing ``initial_parameters`` to the ``FedAvg`` strategy prevents Flower" +" from asking one of the clients for the initial parameters. If we look " +"closely, we can see that the logs do not show any calls to the " +"``FlowerClient.get_parameters`` method." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:382 +msgid "Starting with a customized strategy" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:384 +msgid "" +"We've seen the function ``start_simulation`` before. It accepts a number " +"of arguments, amongst them the ``client_fn`` used to create " +"``FlowerClient`` instances, the number of clients to simulate " +"``num_clients``, the number of rounds ``num_rounds``, and the strategy." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:386 +msgid "" +"The strategy encapsulates the federated learning approach/algorithm, for " +"example, ``FedAvg`` or ``FedAdagrad``. Let's try to use a different " +"strategy this time:" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:424 +msgid "Server-side parameter **evaluation**" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:426 +msgid "" +"Flower can evaluate the aggregated model on the server-side or on the " +"client-side. Client-side and server-side evaluation are similar in some " +"ways, but different in others." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:428 +msgid "" +"**Centralized Evaluation** (or *server-side evaluation*) is conceptually " +"simple: it works the same way that evaluation in centralized machine " +"learning does. If there is a server-side dataset that can be used for " +"evaluation purposes, then that's great. We can evaluate the newly " +"aggregated model after each round of training without having to send the " +"model to clients. We're also fortunate in the sense that our entire " +"evaluation dataset is available at all times." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:430 +msgid "" +"**Federated Evaluation** (or *client-side evaluation*) is more complex, " +"but also more powerful: it doesn't require a centralized dataset and " +"allows us to evaluate models over a larger set of data, which often " +"yields more realistic evaluation results. In fact, many scenarios require" +" us to use **Federated Evaluation** if we want to get representative " +"evaluation results at all. But this power comes at a cost: once we start " +"to evaluate on the client side, we should be aware that our evaluation " +"dataset can change over consecutive rounds of learning if those clients " +"are not always available. Moreover, the dataset held by each client can " +"also change over consecutive rounds. This can lead to evaluation results " +"that are not stable, so even if we would not change the model, we'd see " +"our evaluation results fluctuate over consecutive rounds." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:433 +msgid "" +"We've seen how federated evaluation works on the client side (i.e., by " +"implementing the ``evaluate`` method in ``FlowerClient``). Now let's see " +"how we can evaluate aggregated model parameters on the server-side:" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:490 +msgid "Sending/receiving arbitrary values to/from clients" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:492 +msgid "" +"In some situations, we want to configure client-side execution (training," +" evaluation) from the server-side. One example for that is the server " +"asking the clients to train for a certain number of local epochs. Flower " +"provides a way to send configuration values from the server to the " +"clients using a dictionary. Let's look at an example where the clients " +"receive values from the server through the ``config`` parameter in " +"``fit`` (``config`` is also available in ``evaluate``). The ``fit`` " +"method receives the configuration dictionary through the ``config`` " +"parameter and can then read values from this dictionary. In this example," +" it reads ``server_round`` and ``local_epochs`` and uses those values to " +"improve the logging and configure the number of local training epochs:" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:546 +msgid "" +"So how can we send this config dictionary from server to clients? The " +"built-in Flower Strategies provide way to do this, and it works similarly" +" to the way server-side evaluation works. We provide a function to the " +"strategy, and the strategy calls this function for every round of " +"federated learning:" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:576 +msgid "" +"Next, we'll just pass this function to the FedAvg strategy before " +"starting the simulation:" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:613 +msgid "" +"As we can see, the client logs now include the current round of federated" +" learning (which they read from the ``config`` dictionary). We can also " +"configure local training to run for one epoch during the first and second" +" round of federated learning, and then for two epochs during the third " +"round." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:615 +msgid "" +"Clients can also return arbitrary values to the server. To do so, they " +"return a dictionary from ``fit`` and/or ``evaluate``. We have seen and " +"used this concept throughout this notebook without mentioning it " +"explicitly: our ``FlowerClient`` returns a dictionary containing a custom" +" key/value pair as the third return value in ``evaluate``." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:627 +msgid "Scaling federated learning" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:629 +msgid "" +"As a last step in this notebook, let's see how we can use Flower to " +"experiment with a large number of clients." +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:651 +#, python-format +msgid "" +"We now have 1000 partitions, each holding 45 training and 5 validation " +"examples. Given that the number of training examples on each client is " +"quite small, we should probably train the model a bit longer, so we " +"configure the clients to perform 3 local training epochs. We should also " +"adjust the fraction of clients selected for training during each round " +"(we don't want all 1000 clients participating in every round), so we " +"adjust ``fraction_fit`` to ``0.05``, which means that only 5% of " +"available clients (so 50 clients) will be selected for training each " +"round:" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:699 +msgid "" +"In this notebook, we've seen how we can gradually enhance our system by " +"customizing the strategy, initializing parameters on the server side, " +"choosing a different strategy, and evaluating models on the server-side. " +"That's quite a bit of flexibility with so little code, right?" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:701 +msgid "" +"In the later sections, we've seen how we can communicate arbitrary values" +" between server and clients to fully customize client-side execution. " +"With that capability, we built a large-scale Federated Learning " +"simulation using the Flower Virtual Client Engine and ran an experiment " +"involving 1000 clients in the same workload - all in a Jupyter Notebook!" +msgstr "" + +#: ../../source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb:719 +msgid "" +"The `Flower Federated Learning Tutorial - Part 3 " +"`__ shows how to build a fully custom ``Strategy`` " +"from scratch." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:9 +msgid "What is Federated Learning?" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:13 +msgid "" +"In this tutorial, you will learn what federated learning is, build your " +"first system in Flower, and gradually extend it. If you work through all " +"parts of the tutorial, you will be able to build advanced federated " +"learning systems that approach the current state of the art in the field." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:15 +msgid "" +"🧑‍🏫 This tutorial starts at zero and expects no familiarity with " +"federated learning. Only a basic understanding of data science and Python" +" programming is assumed." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:17 +msgid "" +"`Star Flower on GitHub `__ ⭐️ and join " +"the open-source Flower community on Slack to connect, ask questions, and " +"get help: `Join Slack `__ 🌼 We'd love to " +"hear from you in the ``#introductions`` channel! And if anything is " +"unclear, head over to the ``#questions`` channel." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:19 +msgid "Let's get started!" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:31 +msgid "Classic machine learning" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:33 +msgid "" +"Before we begin to discuss federated learning, let us quickly recap how " +"most machine learning works today." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:35 +msgid "" +"In machine learning, we have a model, and we have data. The model could " +"be a neural network (as depicted here), or something else, like classical" +" linear regression." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:41 +msgid "|e1dd4b4129b040bea23a894266227080|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:109 +msgid "Model and data" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:47 +msgid "" +"We train the model using the data to perform a useful task. A task could " +"be to detect objects in images, transcribe an audio recording, or play a " +"game like Go." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:53 +msgid "|c0d4cc6a442948dca8da40d2440068d9|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:111 +msgid "Train model using data" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:59 +msgid "" +"Now, in practice, the training data we work with doesn't originate on the" +" machine we train the model on. It gets created somewhere else." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:61 +msgid "" +"It originates on a smartphone by the user interacting with an app, a car " +"collecting sensor data, a laptop receiving input via the keyboard, or a " +"smart speaker listening to someone trying to sing a song." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:67 +msgid "|174e1e4fa1f149a19bfbc8bc1126f46a|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:113 +msgid "Data on a phone" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:73 +msgid "" +"What's also important to mention, this \"somewhere else\" is usually not " +"just one place, it's many places. It could be several devices all running" +" the same app. But it could also be several organizations, all generating" +" data for the same task." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:79 +msgid "|4e021a3dc08249d2a89daa3ab03c2714|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:115 +msgid "Data is on many devices" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:85 +msgid "" +"So to use machine learning, or any kind of data analysis, the approach " +"that has been used in the past was to collect all data on a central " +"server. This server can be somewhere in a data center, or somewhere in " +"the cloud." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:91 +msgid "|e74a1d5ce7eb49688651f2167a59065b|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:117 +msgid "Central data collection" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:97 +msgid "" +"Once all the data is collected in one place, we can finally use machine " +"learning algorithms to train our model on the data. This is the machine " +"learning approach that we've basically always relied on." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:103 +msgid "|eb29ec4c7aef4e93976795ed72df647e|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:119 +msgid "Central model training" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:130 +msgid "Challenges of classical machine learning" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:132 +msgid "" +"The classic machine learning approach we've just seen can be used in some" +" cases. Great examples include categorizing holiday photos, or analyzing " +"web traffic. Cases, where all the data is naturally available on a " +"centralized server." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:138 +msgid "|c2f699d8ac484f5081721a6f1511f70d|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:173 +msgid "Centralized possible" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:144 +msgid "" +"But the approach can not be used in many other cases. Cases, where the " +"data is not available on a centralized server, or cases where the data " +"available on one server is not enough to train a good model." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:150 +msgid "|cf42accdacbf4e5eb4fa0503108ba7a7|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:175 +msgid "Centralized impossible" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:156 +msgid "" +"There are many reasons why the classic centralized machine learning " +"approach does not work for a large number of highly important real-world " +"use cases. Those reasons include:" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:158 +msgid "" +"**Regulations**: GDPR (Europe), CCPA (California), PIPEDA (Canada), LGPD " +"(Brazil), PDPL (Argentina), KVKK (Turkey), POPI (South Africa), FSS " +"(Russia), CDPR (China), PDPB (India), PIPA (Korea), APPI (Japan), PDP " +"(Indonesia), PDPA (Singapore), APP (Australia), and other regulations " +"protect sensitive data from being moved. In fact, those regulations " +"sometimes even prevent single organizations from combining their own " +"users' data for artificial intelligence training because those users live" +" in different parts of the world, and their data is governed by different" +" data protection regulations." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:160 +msgid "" +"**User preference**: In addition to regulation, there are use cases where" +" users just expect that no data leaves their device, ever. If you type " +"your passwords and credit card info into the digital keyboard of your " +"phone, you don't expect those passwords to end up on the server of the " +"company that developed that keyboard, do you? In fact, that use case was " +"the reason federated learning was invented in the first place." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:161 +msgid "" +"**Data volume**: Some sensors, like cameras, produce such a high data " +"volume that it is neither feasible nor economic to collect all the data " +"(due to, for example, bandwidth or communication efficiency). Think about" +" a national rail service with hundreds of train stations across the " +"country. If each of these train stations is outfitted with a number of " +"security cameras, the volume of raw on-device data they produce requires " +"incredibly powerful and exceedingly expensive infrastructure to process " +"and store. And most of the data isn't even useful." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:164 +msgid "Examples where centralized machine learning does not work include:" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:166 +msgid "" +"Sensitive healthcare records from multiple hospitals to train cancer " +"detection models" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:167 +msgid "" +"Financial information from different organizations to detect financial " +"fraud" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:168 +msgid "Location data from your electric car to make better range prediction" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:169 +msgid "End-to-end encrypted messages to train better auto-complete models" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:171 +msgid "" +"The popularity of privacy-enhancing systems like the `Brave " +"`__ browser or the `Signal `__ " +"messenger shows that users care about privacy. In fact, they choose the " +"privacy-enhancing version over other alternatives, if such an alernative " +"exists. But what can we do to apply machine learning and data science to " +"these cases to utilize private data? After all, these are all areas that " +"would benefit significantly from recent advances in AI." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:186 +msgid "Federated learning" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:188 +msgid "" +"Federated learning simply reverses this approach. It enables machine " +"learning on distributed data by moving the training to the data, instead " +"of moving the data to the training. Here's the single-sentence " +"explanation:" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:190 +msgid "Central machine learning: move the data to the computation" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:191 +msgid "Federated (machine) learning: move the computation to the data" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:193 +msgid "" +"By doing so, it enables us to use machine learning (and other data " +"science approaches) in areas where it wasn't possible before. We can now " +"train excellent medical AI models by enabling different hospitals to work" +" together. We can solve financial fraud by training AI models on the data" +" of different financial institutions. We can build novel privacy-" +"enhancing applications (such as secure messaging) that have better built-" +"in AI than their non-privacy-enhancing alternatives. And those are just a" +" few of the examples that come to mind. As we deploy federated learning, " +"we discover more and more areas that can suddenly be reinvented because " +"they now have access to vast amounts of previously inaccessible data." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:196 +msgid "" +"So how does federated learning work, exactly? Let's start with an " +"intuitive explanation." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:199 +msgid "Federated learning in five steps" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:202 +msgid "Step 0: Initialize global model" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:204 +msgid "" +"We start by initializing the model on the server. This is exactly the " +"same in classic centralized learning: we initialize the model parameters," +" either randomly or from a previously saved checkpoint." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:210 +msgid "|5ec8356bc2564fa09178b1ceed5beccc|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:307 +msgid "Initialize global model" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:217 +msgid "" +"Step 1: Send model to a number of connected organizations/devices (client" +" nodes)" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:219 +msgid "" +"Next, we send the parameters of the global model to the connected client " +"nodes (think: edge devices like smartphones or servers belonging to " +"organizations). This is to ensure that each participating node starts " +"their local training using the same model parameters. We often use only a" +" few of the connected nodes instead of all nodes. The reason for this is " +"that selecting more and more client nodes has diminishing returns." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:225 +msgid "|7c9329e97bd0430bad335ab605a897a7|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:309 +msgid "Send global model" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:232 +msgid "" +"Step 2: Train model locally on the data of each organization/device " +"(client node)" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:234 +msgid "" +"Now that all (selected) client nodes have the latest version of the " +"global model parameters, they start the local training. They use their " +"own local dataset to train their own local model. They don't train the " +"model until full convergence, but they only train for a little while. " +"This could be as little as one epoch on the local data, or even just a " +"few steps (mini-batches)." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:240 +msgid "|88002bbce1094ba1a83c9151df18f707|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:311 +msgid "Train on local data" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:247 +msgid "Step 3: Return model updates back to the server" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:249 +msgid "" +"After local training, each client node has a slightly different version " +"of the model parameters they originally received. The parameters are all " +"different because each client node has different examples in its local " +"dataset. The client nodes then send those model updates back to the " +"server. The model updates they send can either be the full model " +"parameters or just the gradients that were accumulated during local " +"training." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:255 +msgid "|391766aee87c482c834c93f7c22225e2|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:313 +msgid "Send model updates" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:262 +msgid "Step 4: Aggregate model updates into a new global model" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:264 +msgid "" +"The server receives model updates from the selected client nodes. If it " +"selected 100 client nodes, it now has 100 slightly different versions of " +"the original global model, each trained on the local data of one client. " +"But didn't we want to have one model that contains the learnings from the" +" data of all 100 client nodes?" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:266 +msgid "" +"In order to get one single model, we have to combine all the model " +"updates we received from the client nodes. This process is called " +"*aggregation*, and there are many different ways to do it. The most basic" +" way to do it is called *Federated Averaging* (`McMahan et al., 2016 " +"`__), often abbreviated as *FedAvg*. " +"*FedAvg* takes the 100 model updates and, as the name suggests, averages " +"them. To be more precise, it takes the *weighted average* of the model " +"updates, weighted by the number of examples each client used for " +"training. The weighting is important to make sure that each data example " +"has the same \"influence\" on the resulting global model. If one client " +"has 10 examples, and another client has 100 examples, then - without " +"weighting - each of the 10 examples would influence the global model ten " +"times as much as each of the 100 examples." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:273 +msgid "|93b9a15bd27f4e91b40f642c253dfaac|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:315 +msgid "Aggregate model updates" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:280 +msgid "Step 5: Repeat steps 1 to 4 until the model converges" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:282 +msgid "" +"Steps 1 to 4 are what we call a single round of federated learning. The " +"global model parameters get sent to the participating client nodes (step " +"1), the client nodes train on their local data (step 2), they send their " +"updated models to the server (step 3), and the server then aggregates the" +" model updates to get a new version of the global model (step 4)." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:284 +msgid "" +"During a single round, each client node that participates in that " +"iteration only trains for a little while. This means that after the " +"aggregation step (step 4), we have a model that has been trained on all " +"the data of all participating client nodes, but only for a little while. " +"We then have to repeat this training process over and over again to " +"eventually arrive at a fully trained model that performs well across the " +"data of all client nodes." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:289 +msgid "" +"Congratulations, you now understand the basics of federated learning. " +"There's a lot more to discuss, of course, but that was federated learning" +" in a nutshell. In later parts of this tutorial, we will go into more " +"detail. Interesting questions include: How can we select the best client " +"nodes that should participate in the next round? What's the best way to " +"aggregate model updates? How can we handle failing client nodes " +"(stragglers)?" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:294 +msgid "" +"Just like we can train a model on the decentralized data of different " +"client nodes, we can also evaluate the model on that data to receive " +"valuable metrics. This is called federated evaluation, sometimes " +"abbreviated as FE. In fact, federated evaluation is an integral part of " +"most federated learning systems." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:297 +msgid "Federated analytics" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:299 +msgid "" +"In many cases, machine learning isn't necessary to derive value from " +"data. Data analysis can yield valuable insights, but again, there's often" +" not enough data to get a clear answer. What's the average age at which " +"people develop a certain type of health condition? Federated analytics " +"enables such queries over multiple client nodes. It is usually used in " +"conjunction with other privacy-enhancing technologies like secure " +"aggregation to prevent the server from seeing the results submitted by " +"individual client nodes." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:303 +msgid "Differential Privacy" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:305 +msgid "" +"Differential privacy (DP) is often mentioned in the context of Federated " +"Learning. It is a privacy-preserving method used when analyzing and " +"sharing statistical data, ensuring the privacy of individual " +"participants. DP achieves this by adding statistical noise to the model " +"updates, ensuring any individual participants’ information cannot be " +"distinguished or re-identified. This technique can be considered an " +"optimization that provides a quantifiable privacy protection measure." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:326 +msgid "Flower" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:328 +msgid "" +"Federated learning, federated evaluation, and federated analytics require" +" infrastructure to move machine learning models back and forth, train and" +" evaluate them on local data, and then aggregate the updated models. " +"Flower provides the infrastructure to do exactly that in an easy, " +"scalable, and secure way. In short, Flower presents a unified approach to" +" federated learning, analytics, and evaluation. It allows the user to " +"federate any workload, any ML framework, and any programming language." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:334 +msgid "|a23d9638f96342ef9d25209951e2d564|" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:340 +msgid "" +"Flower federated learning server and client nodes (car, scooter, personal" +" computer, roomba, and phone)" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:353 +msgid "" +"Congratulations, you just learned the basics of federated learning and " +"how it relates to the classic (centralized) machine learning!" +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:355 +msgid "" +"In the next part of this tutorial, we are going to build a first " +"federated learning system with Flower." +msgstr "" + +#: ../../source/tutorial-series-what-is-federated-learning.ipynb:373 +msgid "" +"The `Flower Federated Learning Tutorial - Part 1 " +"`__ shows how to build a simple federated learning system " +"with PyTorch and Flower." +msgstr "" + diff --git a/doc/locales/zh_Hans/LC_MESSAGES/sphinx.po b/doc/locales/zh_Hans/LC_MESSAGES/sphinx.po new file mode 100644 index 000000000000..98f300b872e3 --- /dev/null +++ b/doc/locales/zh_Hans/LC_MESSAGES/sphinx.po @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022 Flower Labs GmbH +# This file is distributed under the same license as the Flower package. +# FIRST AUTHOR , 2023. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Flower main\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-23 18:31+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_Hans\n" +"Language-Team: zh_Hans \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.13.1\n" + +#: ../../source/_templates/base.html:18 +msgid "About these documents" +msgstr "" + +#: ../../source/_templates/base.html:21 +msgid "Index" +msgstr "" + +#: ../../source/_templates/base.html:24 +msgid "Search" +msgstr "" + +#: ../../source/_templates/base.html:27 +msgid "Copyright" +msgstr "" + From 01fdba45ded2a7f76a1d7a75496100ecd1217609 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 23 Nov 2023 21:45:55 +0100 Subject: [PATCH 04/33] Fix images in example docs (#2630) --- dev/update-examples.sh | 9 +++++++-- examples/doc/source/_static/.gitignore | 5 +++++ examples/doc/source/_static/diagram.png | Bin 358110 -> 0 bytes 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 examples/doc/source/_static/.gitignore delete mode 100644 examples/doc/source/_static/diagram.png diff --git a/dev/update-examples.sh b/dev/update-examples.sh index 83dff474c855..c802e21503b7 100755 --- a/dev/update-examples.sh +++ b/dev/update-examples.sh @@ -22,9 +22,14 @@ cd examples/ for d in $(printf '%s\n' */ | sort -V); do example=${d%/} # For each example, copy the README into the source of the Example docs - [[ $example = doc ]] || cp $example/README.md $ROOT/examples/doc/source/$example.md 2>&1 >/dev/null + [[ $example != doc ]] && cp $example/README.md $ROOT/examples/doc/source/$example.md 2>&1 >/dev/null + # For each example, copy all images of the _static folder into the examples + # docs static folder + [[ $example != doc ]] && [ -d "$example/_static" ] && { + cp $example/_static/**.{jpg,png,jpeg} $ROOT/examples/doc/source/_static/ 2>/dev/null || true + } # For each example, insert the name of the example into the index file - [[ $example = doc ]] || (echo $INSERT_LINE; echo a; echo $example; echo .; echo wq) | ed $INDEX 2>&1 >/dev/null + [[ $example != doc ]] && (echo $INSERT_LINE; echo a; echo $example; echo .; echo wq) | ed $INDEX 2>&1 >/dev/null done echo "\`\`\`" >> $INDEX diff --git a/examples/doc/source/_static/.gitignore b/examples/doc/source/_static/.gitignore new file mode 100644 index 000000000000..c2412a5912cc --- /dev/null +++ b/examples/doc/source/_static/.gitignore @@ -0,0 +1,5 @@ +* +!custom.css +!favicon.ico +!flower-logo.png +!tmux_jtop_view.gif diff --git a/examples/doc/source/_static/diagram.png b/examples/doc/source/_static/diagram.png deleted file mode 100644 index 66d8855c859f33581bbb428823ef0e3c3fe3e340..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358110 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ⅇt~dx@L3|IqXOD-i)PAU3 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℘jDfmYT1T6ks6_flbN>{S(Qw(nE|=AXA9 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 F{{S=%tF-_C From 7259a0e7c4d7c553e84c5cf2af4d607b4de67a4b Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Fri, 24 Nov 2023 20:47:59 +0000 Subject: [PATCH 05/33] Add youtube link (#2634) Co-authored-by: yan-gao-GY --- doc/source/tutorial-quickstart-xgboost.rst | 35 ++++++++++++---------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/doc/source/tutorial-quickstart-xgboost.rst b/doc/source/tutorial-quickstart-xgboost.rst index 111920d5602b..7eb58da7f2f6 100644 --- a/doc/source/tutorial-quickstart-xgboost.rst +++ b/doc/source/tutorial-quickstart-xgboost.rst @@ -2,13 +2,16 @@ Quickstart XGBoost -================== +===================== .. meta:: :description: Check out this Federated Learning quickstart tutorial for using Flower with XGBoost to train classification models on trees. +.. youtube:: AY1vpXUpesc + :width: 100% + Federated XGBoost -------------- +------------------- EXtreme Gradient Boosting (**XGBoost**) is a robust and efficient implementation of gradient-boosted decision tree (**GBDT**), that maximises the computational boundaries for boosted tree methods. It's primarily designed to enhance both the performance and computational speed of machine learning models. @@ -17,7 +20,7 @@ In XGBoost, trees are constructed concurrently, unlike the sequential approach t Often, for tabular data on medium-sized datasets with fewer than 10k training examples, XGBoost surpasses the results of deep learning techniques. Why federated XGBoost? -~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~ Indeed, as the demand for data privacy and decentralized learning grows, there's an increasing requirement to implement federated XGBoost systems for specialised applications, like survival analysis and financial fraud detection. @@ -31,7 +34,7 @@ and then we dive into a more complex example (`full code xgboost-comprehensive < Environment Setup -------------- +-------------------- First of all, it is recommended to create a virtual environment and run everything within a `virtualenv `_. @@ -49,7 +52,7 @@ Since we want to use :code:`xgboost` package to build up XGBoost trees, let's go Flower Client -------------- +----------------- *Clients* are responsible for generating individual weight-updates for the model based on their local datasets. Now that we have all our dependencies installed, let's run a simple distributed training with two clients and one server. @@ -81,7 +84,7 @@ In a file called :code:`client.py`, import xgboost, Flower, Flower Datasets and from flwr_datasets.partitioner import IidPartitioner Dataset partition and hyper-parameter selection -~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Prior to local training, we require loading the HIGGS dataset from Flower Datasets and conduct data partitioning for FL: @@ -175,7 +178,7 @@ We use AUC as evaluation metric. Flower client definition for XGBoost -~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After loading the dataset we define the Flower client. We follow the general rule to define :code:`XgbClient` class inherited from :code:`fl.client.Client`. @@ -303,7 +306,7 @@ clients running on different machines, all that needs to change is the Flower Server -------------- +------------------ These updates are then sent to the *server* which will aggregate them to produce a better model. Finally, the *server* sends this improved version of the model back to each *client* to finish a complete FL round. @@ -348,7 +351,7 @@ Then, we start the server: ) Tree-based bagging aggregation -~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You must be curious about how bagging aggregation works. Let's look into the details. @@ -517,7 +520,7 @@ followed by the serialisation, and sending back to each client. Launch Federated XGBoost! ---------------------------- +------------------------------- With both client and server ready, we can now run everything and see federated learning in action. FL systems usually have a server and multiple clients. We @@ -588,7 +591,7 @@ The full `source code `_), @@ -596,7 +599,7 @@ we provide more options to define various experimental setups, including data pa Let's take a look! Customised data partitioning -~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In :code:`dataset.py`, we have a function :code:`instantiate_partitioner` to instantiate the data partitioner based on the given :code:`num_partitions` and :code:`partitioner_type`. @@ -629,7 +632,7 @@ Currently, we provide four supported partitioner type to simulate the uniformity Customised centralised/distributed evaluation -~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To facilitate centralised evaluation, we define a function in :code:`server.py`: @@ -670,7 +673,7 @@ As for distributed evaluation on the clients, it's same as the quick-start examp overriding the :code:`evaluate()` method insides the :code:`XgbClient` class in :code:`client.py`. Arguments parser -~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~ In :code:`utils.py`, we define the arguments parsers for clients and server, allowing users to specify different experimental settings. Let's first see the sever side: @@ -761,7 +764,7 @@ This defines various options for client data partitioning. Besides, clients also have a option to conduct evaluation on centralised test set by setting :code:`--centralised-eval`. Example commands -~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~ To run a centralised evaluated experiment on 5 clients with exponential distribution for 50 rounds, we first start the server as below: @@ -776,4 +779,4 @@ Then, on each client terminal, we start the clients: $ python3 clients.py --num-partitions=5 --partitioner-type=exponential --node-id=NODE_ID -The full `source code `_ for this comprehensive example can be found in :code:`examples/xgboost-comprehensive`. +The full `code `_ for this comprehensive example can be found in :code:`examples/xgboost-comprehensive`. From 8c21626c79fe8c2f134e95b27a4ded778a398b89 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Mon, 27 Nov 2023 13:02:29 +0100 Subject: [PATCH 06/33] Translated using Weblate (Chinese (Simplified)) (#2637) Co-authored-by: Yan Gao --- .../zh_Hans/LC_MESSAGES/framework-docs.po | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po b/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po index f077264b4aab..87af28422d56 100644 --- a/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po +++ b/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po @@ -3,59 +3,60 @@ # This file is distributed under the same license as the Flower package. # FIRST AUTHOR , 2023. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Flower main\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-11-23 18:31+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2023-11-25 19:00+0000\n" +"Last-Translator: Yan Gao \n" +"Language-Team: Chinese (Simplified) \n" "Language: zh_Hans\n" -"Language-Team: zh_Hans \n" -"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.2.1-rc\n" "Generated-By: Babel 2.13.1\n" #: ../../source/contributor-explanation-architecture.rst:2 msgid "Flower Architecture" -msgstr "" +msgstr "Flower的架构" #: ../../source/contributor-explanation-architecture.rst:5 msgid "Edge Client Engine" -msgstr "" +msgstr "边缘客户端引擎" #: ../../source/contributor-explanation-architecture.rst:7 msgid "" "`Flower `_ core framework architecture with Edge " "Client Engine" -msgstr "" +msgstr "具有边缘客户端引擎的`Flower `核心架构" #: ../../source/contributor-explanation-architecture.rst:13 msgid "Virtual Client Engine" -msgstr "" +msgstr "虚拟客户端引擎" #: ../../source/contributor-explanation-architecture.rst:15 msgid "" "`Flower `_ core framework architecture with Virtual " "Client Engine" -msgstr "" +msgstr "具有虚拟客户端引擎的`Flower `核心架构" #: ../../source/contributor-explanation-architecture.rst:21 msgid "Virtual Client Engine and Edge Client Engine in the same workload" -msgstr "" +msgstr "可同步进行的虚拟客户端引擎和边缘客户端引擎" #: ../../source/contributor-explanation-architecture.rst:23 msgid "" "`Flower `_ core framework architecture with both " "Virtual Client Engine and Edge Client Engine" -msgstr "" +msgstr "具有虚拟客户端引擎和边缘客户端引擎的`Flower `核心架构" #: ../../source/contributor-how-create-new-messages.rst:2 msgid "Creating New Messages" -msgstr "" +msgstr "创建新信息" #: ../../source/contributor-how-create-new-messages.rst:4 msgid "" @@ -13605,4 +13606,3 @@ msgid "" "pytorch.html>`__ shows how to build a simple federated learning system " "with PyTorch and Flower." msgstr "" - From 37aad44fe47810afef1201791a2b1477eea76cc5 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Mon, 27 Nov 2023 15:23:27 +0100 Subject: [PATCH 07/33] Add Vertical FL example (#2598) --- doc/source/ref-changelog.md | 4 + examples/vertical-fl/.gitignore | 2 + examples/vertical-fl/README.md | 510 ++++++++++ examples/vertical-fl/_static/data/train.csv | 892 ++++++++++++++++++ examples/vertical-fl/_static/hfl.jpg | Bin 0 -> 778069 bytes examples/vertical-fl/_static/vfl-accuracy.png | Bin 0 -> 33948 bytes examples/vertical-fl/_static/vfl.jpg | Bin 0 -> 667967 bytes examples/vertical-fl/client.py | 27 + examples/vertical-fl/plot.py | 8 + examples/vertical-fl/pyproject.toml | 18 + examples/vertical-fl/requirements.txt | 6 + examples/vertical-fl/simulation.py | 22 + examples/vertical-fl/strategy.py | 106 +++ examples/vertical-fl/task.py | 90 ++ 14 files changed, 1685 insertions(+) create mode 100644 examples/vertical-fl/.gitignore create mode 100644 examples/vertical-fl/README.md create mode 100644 examples/vertical-fl/_static/data/train.csv create mode 100644 examples/vertical-fl/_static/hfl.jpg create mode 100644 examples/vertical-fl/_static/vfl-accuracy.png create mode 100644 examples/vertical-fl/_static/vfl.jpg create mode 100644 examples/vertical-fl/client.py create mode 100644 examples/vertical-fl/plot.py create mode 100644 examples/vertical-fl/pyproject.toml create mode 100644 examples/vertical-fl/requirements.txt create mode 100644 examples/vertical-fl/simulation.py create mode 100644 examples/vertical-fl/strategy.py create mode 100644 examples/vertical-fl/task.py diff --git a/doc/source/ref-changelog.md b/doc/source/ref-changelog.md index dd8a6e225401..202d70b24ceb 100644 --- a/doc/source/ref-changelog.md +++ b/doc/source/ref-changelog.md @@ -6,6 +6,10 @@ - **Add experimental support for Python 3.12** ([#2565](https://github.com/adap/flower/pull/2565)) +- **Add Vertical FL example** ([#2598](https://github.com/adap/flower/pull/2598)) + + We had many questions about Vertical Federated Learning using Flower, so we decided to add an simple example for it on the [Titanic dataset](https://www.kaggle.com/competitions/titanic/data) alongside a tutorial (in the README). + - **Support custom** `ClientManager` **in** `start_driver()` ([#2292](https://github.com/adap/flower/pull/2292)) - **Update REST API to support create and delete nodes** ([#2283](https://github.com/adap/flower/pull/2283)) diff --git a/examples/vertical-fl/.gitignore b/examples/vertical-fl/.gitignore new file mode 100644 index 000000000000..64af4779185a --- /dev/null +++ b/examples/vertical-fl/.gitignore @@ -0,0 +1,2 @@ +_static/results +!_static/data/train.csv diff --git a/examples/vertical-fl/README.md b/examples/vertical-fl/README.md new file mode 100644 index 000000000000..d5ab0ab9c30d --- /dev/null +++ b/examples/vertical-fl/README.md @@ -0,0 +1,510 @@ +# Vertical Federated Learning example + +This example will showcase how you can perform Vertical Federated Learning using +Flower. We'll be using the [Titanic dataset](https://www.kaggle.com/competitions/titanic/data) +to train simple regression models for binary classification. We will go into +more details below, but the main idea of Vertical Federated Learning is that +each client is holding different feature sets of the same dataset and that the +server is holding the labels of this dataset. + +## Project Setup + +Start by cloning the example project. We prepared a single-line command that you +can copy into your shell which will checkout the example for you: + +```shell +git clone --depth=1 https://github.com/adap/flower.git _tmp && mv _tmp/examples/vertical-fl . && rm -rf _tmp && cd vertical-fl +``` + +This will create a new directory called `vertical-fl` containing the +following files: + +```shell +-- pyproject.toml +-- requirements.txt +-- _static/data/train.csv +-- client.py +-- plot.py +-- simulation.py +-- strategy.py +-- task.py +-- README.md +``` + +### Installing Dependencies + +Project dependencies (such as `torch` and `flwr`) are defined in +`pyproject.toml` and `requirements.txt`. We recommend +[Poetry](https://python-poetry.org/docs/) to install those dependencies and +manage your virtual environment ([Poetry +installation](https://python-poetry.org/docs/#installation)) or +[pip](https://pip.pypa.io/en/latest/development/), but feel free to use a +different way of installing dependencies and managing virtual environments if +you have other preferences. + +#### Poetry + +```shell +poetry install +poetry shell +``` + +Poetry will install all your dependencies in a newly created virtual +environment. To verify that everything works correctly you can run the following +command: + +```shell +poetry run python3 -c "import flwr" +``` + +If you don't see any errors you're good to go! + +#### pip + +Write the command below in your terminal to install the dependencies according +to the configuration file requirements.txt. + +```shell +pip install -r requirements.txt +``` + +## Usage + +Once everything is installed, you can just run: + +```shell +poetry run python3 simulation.py +``` + +for `poetry`, otherwise just run: + +```shell +python3 simulation.py +``` + +This will start the Vertical FL training for 1000 rounds with 3 clients. +Eventhough the number of rounds is quite high, this should only take a few +seconds to run as the model is very small. + +## Explanations + +### Vertical FL vs Horizontal FL + +| | Horizontal Federated Learning (HFL or just FL) | Vertical Federated Learning (VFL) | +| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Data Distribution | Clients have different data instances but share the same feature space. Think of different hospitals having different patients' data (samples) but recording the same types of information (features). | Each client holds different features for the same instances. Imagine different institutions holding various tests or measurements for the same group of patients. | +| Model Training | Each client trains a model on their local data, which contains all the feature columns for its samples. | Clients train models on their respective features without having access to the complete feature set. Each model only sees a vertical slice of the data (hence the name 'Vertical'). | +| Aggregation | The server aggregates these local models by averaging the parameters or gradients to update a global model. | The server aggregates the updates such as gradients or parameters, which are then used to update the global model. However, since each client sees only a part of the features, the server typically has a more complex role, sometimes needing to coordinate more sophisticated aggregation strategies that may involve secure multi-party computation techniques. | +| Privacy Consideration | The raw data stays on the client's side, only model updates are shared, which helps in maintaining privacy. | VFL is designed to ensure that no participant can access the complete feature set of any sample, thereby preserving the privacy of data. | + +| HFL | VFL | +| :-----------------------------: | :-----------------------------: | +| ![HFL diagram](_static/hfl.jpg) | ![VFL diagram](_static/vfl.jpg) | + +Those diagrams illustrate HFL vs VFL using a simplified version of what we will be building in this example. Note that on the VFL side, the server holds the labels (the `Survived` column) and will be the only one capable of performing evaluation. + +### Data + +#### About + +The Titanic Survival dataset is a popular dataset used to predict passenger survival on +the Titanic based on various features. + +You can see an exhaustive list of the features over on [Kaggle](https://www.kaggle.com/competitions/titanic/data). + +The data is stored as a CSV file in `_static/data/train.csv`, it contains 892 +samples with labels. + +#### Preprocessing + +In `task.py`, you'll find the preprocessing functions we'll apply to our data: + +- Passengers are grouped by age: 'Child' for 10 years and under, + 'Adult' for ages between 11 and 40, and 'Elderly' for those over 40. If the age + isn't listed, we'll label it as 'Unknown'. + + ```python3 + def _bin_age(age_series): + bins = [-np.inf, 10, 40, np.inf] + labels = ["Child", "Adult", "Elderly"] + return ( + pd.cut(age_series, bins=bins, labels=labels, right=True) + .astype(str) + .replace("nan", "Unknown") + ) + ``` + +- We pull out titles from passengers' names to help our model + understand social status and family roles, simplifying rare titles into a single + 'Rare' category and converting any French titles to their English equivalents. + + ```python3 + def _extract_title(name_series): + titles = name_series.str.extract(" ([A-Za-z]+)\.", expand=False) + rare_titles = { + "Lady", + "Countess", + "Capt", + "Col", + "Don", + "Dr", + "Major", + "Rev", + "Sir", + "Jonkheer", + "Dona", + } + titles = titles.replace(list(rare_titles), "Rare") + titles = titles.replace({"Mlle": "Miss", "Ms": "Miss", "Mme": "Mrs"}) + return titles + ``` + +- The first letter of each cabin number is used to identify the + cabin area, with any missing entries marked as 'Unknown'. This could provide + insight into the passenger's location on the ship. + +- We remove features like 'PassengerId', 'Name', and + 'Ticket' that won't be necessary for our model's predictions. + +- Lastly, we convert categorical data points such as 'Sex', + 'Pclass', 'Embarked', 'Title', 'Cabin', and the binned 'Age' into One-Hot + encodings. + + ```python3 + def _create_features(df): + # Convert 'Age' to numeric, coercing errors to NaN + df["Age"] = pd.to_numeric(df["Age"], errors="coerce") + df["Age"] = _bin_age(df["Age"]) + df["Cabin"] = df["Cabin"].str[0].fillna("Unknown") + df["Title"] = _extract_title(df["Name"]) + df.drop(columns=["PassengerId", "Name", "Ticket"], inplace=True) + all_keywords = set(df.columns) + df = pd.get_dummies( + df, columns=["Sex", "Pclass", "Embarked", "Title", "Cabin", "Age"] + ) + return df, all_keywords + ``` + +#### Partitioning + +In `task.py`, we also partition our data for our 3 clients to mirror real-life +collaborations where different organizations hold different feature sets: + +```python3 +def _partition_data(df, all_keywords): + partitions = [] + keywords_sets = [{"Parch", "Cabin", "Pclass"}, {"Sex", "Title"}] + keywords_sets.append(all_keywords - keywords_sets[0] - keywords_sets[1]) + + for keywords in keywords_sets: + partitions.append( + df[ + list( + { + col + for col in df.columns + for kw in keywords + if kw in col or "Survived" in col + } + ) + ] + ) + + return partitions +``` + +Client 1: This client looks at family connections and accommodations, working +with features like the number of parents and children each passenger had on +board ('Parch'), the cabin number ('Cabin'), and the ticket class ('Pclass'). + +Client 2: Here, the focus is on personal attributes. This client examines the +passengers' gender ('Sex') and societal roles as indicated by their titles +('Title'). + +Client 3: The final client handles the rest of the data that the first two don't +see. This includes the remaining features that give a broader view of the +passengers' information. + +Each client is going to train their models on their own unique data without any +idea of the passengers' survival outcomes, which we're trying to predict. + +Once all clients have done their part, we combine their insights to form a +comprehensive understanding, just as if different organizations were pooling +their knowledge while keeping their data private. This is the essence of +Vertical Federated Learning: separate but together, each contributing to a +collective intelligence without sharing sensitive information. + +Note that our final data processing function looks like that: + +```python3 +def get_partitions_and_label(): + df = pd.read_csv("_static/data/train.csv") + processed_df = df.dropna(subset=["Embarked", "Fare"]).copy() + processed_df, all_keywords = _create_features(processed_df) + raw_partitions = _partition_data(processed_df, all_keywords) + + partitions = [] + for partition in raw_partitions: + partitions.append(partition.drop("Survived", axis=1)) + return partitions, processed_df["Survived"].values +``` + +This returns the 3 partitions for our clients and the labels for our server. + +### Models + +#### Clients + +Each client's model is a neural network designed to operate on a distinct subset +of features held by a client. In this example we will use simple linear +regression models. + +```python3 +class ClientModel(nn.Module): + def __init__(self, input_size): + super(ClientModel, self).__init__() + self.fc = nn.Linear(input_size, 4) + + def forward(self, x): + return self.fc(x) +``` + +The `input_size` corresponds to the number of features each client has, and this +model maps those features to a 4-dimensional latent space. The outputs are +essentially feature embeddings that capture the patterns within each client's +data slice. These embeddings are then ready to be sent to the server for further +processing. + +#### Server + +The server's model acts as the central aggregator in the VFL system. It's also a +neural network but with a slightly different architecture tailored to its role +in aggregating the client models' outputs. + +```python3 +class ServerModel(nn.Module): + def __init__(self): + super(ServerModel, self).__init__() + self.fc = nn.Linear(12, 1) + self.sigmoid = nn.Sigmoid() + + def forward(self, x): + x = self.fc(x) + return self.sigmoid(x) +``` + +It comprises a single linear layer that accepts the concatenated outputs from +all client models as its input. The number of inputs to this layer equals the +total number of outputs from the client models ( $3 \times 4 = 12$ ). After processing +these inputs, the linear layer's output is passed through a sigmoid activation +function (`nn.Sigmoid()`), which maps the result to a `(0, 1)` range, providing +a probability score indicative of the likelihood of survival. + +### Strategy + +The strategy we will write to perform the aggregation will inherit from `FedAvg` +and set the following additional attributes: + +```python3 +self.model = ServerModel(12) +self.initial_parameters = ndarrays_to_parameters( + [val.cpu().numpy() for _, val in self.model.state_dict().items()] +) +self.optimizer = optim.SGD(self.model.parameters(), lr=0.01) +self.criterion = nn.BCELoss() +self.label = torch.tensor(labels).float().unsqueeze(1) +``` + +With `labels` given as an argument to the strategy. + +We then redefine the `aggregate_fit` method: + +```python3 +def aggregate_fit( + self, + rnd, + results, + failures, +): + # Do not aggregate if there are failures and failures are not accepted + if not self.accept_failures and failures: + return None, {} + + # Convert results + embedding_results = [ + torch.from_numpy(parameters_to_ndarrays(fit_res.parameters)[0]) + for _, fit_res in results + ] + embeddings_aggregated = torch.cat(embedding_results, dim=1) + embedding_server = embeddings_aggregated.detach().requires_grad_() + output = self.model(embedding_server) + loss = self.criterion(output, self.label) + loss.backward() + + self.optimizer.step() + self.optimizer.zero_grad() + + grads = embedding_server.grad.split([4, 4, 4], dim=1) + np_grads = [grad.numpy() for grad in grads] + parameters_aggregated = ndarrays_to_parameters(np_grads) + + with torch.no_grad(): + correct = 0 + output = self.model(embedding_server) + predicted = (output > 0.5).float() + + correct += (predicted == self.label).sum().item() + + accuracy = correct / len(self.label) * 100 + + metrics_aggregated = {"accuracy": accuracy} + + return parameters_aggregated, metrics_aggregated +``` + +This is where all the magic happens. We first convert the `np.array`s that we +received from our clients to `tensor`s, before concatenating the 3 embeddings +together. This means that we go from 3 tensors of size `(892, 4)` to 1 tensor of +size `(892, 12)`. The combined embeddings are fed through the server model to +get the prediction output. The loss between the predicted output and the actual +labels is calculated. Backward propagation is then performed to calculate the +gradients, which are used to update the server model's parameters. + +The optimizer updates the server model's parameters based on the calculated +gradients, and the gradients are reset to zero to prepare for the next round of +aggregation. + +The gradients from the server model's embedding layer are then split according +to the size of the output from each client model (assuming equal size for +simplicity here), ready to be sent back to the respective client models. + +Finally, with no gradient calculation needed, the model's predictions are +compared to the true labels to calculate the accuracy of the model after the +update. + +Note that this `aggregate_fit` function returns gradients instead of trained +weights. This is because, in this setting, sharing gradients allows each +participant to benefit from the collective feedback gathered from the entire +pool of data without the need to align their different feature spaces (trained +weights are directly tied to specific features of the dataset but not gradients, +which are just a measure of the sensitivity of the loss function to changes in +the model's parameters). This shared feedback, encapsulated in the gradients, +guides each participant's model to adjust and improve, achieving optimization +not just based on its own data but also leveraging insights from the entire +network's data. + +We do not need to return parameters here because updates are completed locally +in VFL. But the server should still send the gradients back to all clients to +let them continue the back prop and update their local model. In Flower, the +parameters returned by `aggregate_fit` will be stored and sent to +`Client.evaluate` via `configure_fit`. So we take advantage of this and return +our gradients in `aggregate_fit` so that they'll be sent to `Client.evaluate` as +`parameters`. That's also why we can obtain gradients from the `parameters` +argument in `Client.evaluate` (see next section). + +The last thing we have to do is to redefine the `aggregate_evaluate` function to +disable distributed evaluation (as the clients do not hold any labels to test +their local models). + +```python3 +def aggregate_evaluate( + self, + rnd, + results, + failures, +): + return None, {} +``` + +### Client class and function + +Our `FlowerClient` class is going to be quite straight forward. + +```python3 +class FlowerClient(fl.client.NumPyClient): + def __init__(self, cid, data): + self.cid = cid + self.train = torch.tensor(StandardScaler().fit_transform(data)).float() + self.model = ClientModel(input_size=self.train.shape[1]) + self.optimizer = torch.optim.SGD(self.model.parameters(), lr=0.01) + self.embedding = self.model(self.train) + + def get_parameters(self, config): + pass + + def fit(self, parameters, config): + self.embedding = self.model(self.train) + return [self.embedding.detach().numpy()], 1, {} + + def evaluate(self, parameters, config): + self.model.zero_grad() + self.embedding.backward(torch.from_numpy(parameters[int(self.cid)])) + self.optimizer.step() + return None +``` + +After defining our model and data attributes (respectively `self.model` and +`self.train`), we define our `fit` function as such: the `self.model(self.train)` +performs a forward pass using the client's local training data (`self.train`). +This generates the embeddings (feature representations) for the data. To conform +with the return type of the `fit` function, we need to return a list of +`np.array`s (hence the conversion), the number of samples, which won't be used +on the server side, so we just return 1, and then an empty dict. + +For the `evaluate` function, we perform our model's backward pass using the +gradients sent by the server and then update our local model's parameters based +on those new gradients. Note that the `loss` and `num_examples` we return in our +evaluate function are bogus, as they won't be used on the server side. + +The `client_fn` we will use in our `start_simulation` function to generate our 3 +clients will be very basic: + +```pyhton3 +partitions, label = get_partitions_and_label() + +def client_fn(cid): + return FlowerClient(cid, partitions[int(cid)]).to_client() +``` + +We pass a `client_id` and its corresponding partition to each client. + +### Evaluation + +Please note that we do not perform distributed evaluation. This is because only +the server holds some labels to compare the results to. This is why the only +evaluation we perform is on the server side. + +In this example, we use the `FlowerClient` `evaluate` function for +backpropagation instead of using it for evaluation. We do this because we know +that the `evaluate` function of the clients will be called after the fit +function. This allows us to aggregate our models in `aggregate_fit` and then +send them back to the clients using this `evaluate` function and perform the +backpropagation. This is not done for evaluation, hence why we return `None` in +the `aggregate_evaluate` function of the strategy. + +### Starting the simulation + +Putting everything together, to start our simulation we use the following +function: + +```python3 +hist = fl.simulation.start_simulation( + client_fn=client_fn, + num_clients=3, + config=fl.server.ServerConfig(num_rounds=1000), + strategy=Strategy(label), +) +``` + +As mentioned before, we train for 1000 rounds but it should still last only +a few seconds. + +Note that we store the results of the simulation into `hist`, this will allow us +to use the `plot.py` file to plot the accuracy as a function of the number of +rounds. + +## Results + +Here we can observe the results after 1000 rounds: + +![Accuracy plot](_static/vfl-accuracy.png) diff --git a/examples/vertical-fl/_static/data/train.csv b/examples/vertical-fl/_static/data/train.csv new file mode 100644 index 000000000000..63b68ab0ba98 --- /dev/null +++ b/examples/vertical-fl/_static/data/train.csv @@ -0,0 +1,892 @@ +PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked +1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S +2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C +3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S +4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S +5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S +6,0,3,"Moran, Mr. James",male,,0,0,330877,8.4583,,Q +7,0,1,"McCarthy, Mr. Timothy J",male,54,0,0,17463,51.8625,E46,S +8,0,3,"Palsson, Master. Gosta Leonard",male,2,3,1,349909,21.075,,S +9,1,3,"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)",female,27,0,2,347742,11.1333,,S +10,1,2,"Nasser, Mrs. Nicholas (Adele Achem)",female,14,1,0,237736,30.0708,,C +11,1,3,"Sandstrom, Miss. Marguerite Rut",female,4,1,1,PP 9549,16.7,G6,S +12,1,1,"Bonnell, Miss. Elizabeth",female,58,0,0,113783,26.55,C103,S +13,0,3,"Saundercock, Mr. William Henry",male,20,0,0,A/5. 2151,8.05,,S +14,0,3,"Andersson, Mr. Anders Johan",male,39,1,5,347082,31.275,,S +15,0,3,"Vestrom, Miss. Hulda Amanda Adolfina",female,14,0,0,350406,7.8542,,S +16,1,2,"Hewlett, Mrs. (Mary D Kingcome) ",female,55,0,0,248706,16,,S +17,0,3,"Rice, Master. Eugene",male,2,4,1,382652,29.125,,Q +18,1,2,"Williams, Mr. Charles Eugene",male,,0,0,244373,13,,S +19,0,3,"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)",female,31,1,0,345763,18,,S +20,1,3,"Masselmani, Mrs. Fatima",female,,0,0,2649,7.225,,C +21,0,2,"Fynney, Mr. Joseph J",male,35,0,0,239865,26,,S +22,1,2,"Beesley, Mr. Lawrence",male,34,0,0,248698,13,D56,S +23,1,3,"McGowan, Miss. Anna ""Annie""",female,15,0,0,330923,8.0292,,Q +24,1,1,"Sloper, Mr. William Thompson",male,28,0,0,113788,35.5,A6,S +25,0,3,"Palsson, Miss. Torborg Danira",female,8,3,1,349909,21.075,,S +26,1,3,"Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)",female,38,1,5,347077,31.3875,,S +27,0,3,"Emir, Mr. Farred Chehab",male,,0,0,2631,7.225,,C +28,0,1,"Fortune, Mr. Charles Alexander",male,19,3,2,19950,263,C23 C25 C27,S +29,1,3,"O'Dwyer, Miss. Ellen ""Nellie""",female,,0,0,330959,7.8792,,Q +30,0,3,"Todoroff, Mr. Lalio",male,,0,0,349216,7.8958,,S +31,0,1,"Uruchurtu, Don. Manuel E",male,40,0,0,PC 17601,27.7208,,C +32,1,1,"Spencer, Mrs. William Augustus (Marie Eugenie)",female,,1,0,PC 17569,146.5208,B78,C +33,1,3,"Glynn, Miss. Mary Agatha",female,,0,0,335677,7.75,,Q +34,0,2,"Wheadon, Mr. Edward H",male,66,0,0,C.A. 24579,10.5,,S +35,0,1,"Meyer, Mr. Edgar Joseph",male,28,1,0,PC 17604,82.1708,,C +36,0,1,"Holverson, Mr. Alexander Oskar",male,42,1,0,113789,52,,S +37,1,3,"Mamee, Mr. Hanna",male,,0,0,2677,7.2292,,C +38,0,3,"Cann, Mr. Ernest Charles",male,21,0,0,A./5. 2152,8.05,,S +39,0,3,"Vander Planke, Miss. Augusta Maria",female,18,2,0,345764,18,,S +40,1,3,"Nicola-Yarred, Miss. Jamila",female,14,1,0,2651,11.2417,,C +41,0,3,"Ahlin, Mrs. Johan (Johanna Persdotter Larsson)",female,40,1,0,7546,9.475,,S +42,0,2,"Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)",female,27,1,0,11668,21,,S +43,0,3,"Kraeff, Mr. Theodor",male,,0,0,349253,7.8958,,C +44,1,2,"Laroche, Miss. Simonne Marie Anne Andree",female,3,1,2,SC/Paris 2123,41.5792,,C +45,1,3,"Devaney, Miss. Margaret Delia",female,19,0,0,330958,7.8792,,Q +46,0,3,"Rogers, Mr. William John",male,,0,0,S.C./A.4. 23567,8.05,,S +47,0,3,"Lennon, Mr. Denis",male,,1,0,370371,15.5,,Q +48,1,3,"O'Driscoll, Miss. Bridget",female,,0,0,14311,7.75,,Q +49,0,3,"Samaan, Mr. Youssef",male,,2,0,2662,21.6792,,C +50,0,3,"Arnold-Franchi, Mrs. Josef (Josefine Franchi)",female,18,1,0,349237,17.8,,S +51,0,3,"Panula, Master. Juha Niilo",male,7,4,1,3101295,39.6875,,S +52,0,3,"Nosworthy, Mr. Richard Cater",male,21,0,0,A/4. 39886,7.8,,S +53,1,1,"Harper, Mrs. Henry Sleeper (Myna Haxtun)",female,49,1,0,PC 17572,76.7292,D33,C +54,1,2,"Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)",female,29,1,0,2926,26,,S +55,0,1,"Ostby, Mr. Engelhart Cornelius",male,65,0,1,113509,61.9792,B30,C +56,1,1,"Woolner, Mr. Hugh",male,,0,0,19947,35.5,C52,S +57,1,2,"Rugg, Miss. Emily",female,21,0,0,C.A. 31026,10.5,,S +58,0,3,"Novel, Mr. Mansouer",male,28.5,0,0,2697,7.2292,,C +59,1,2,"West, Miss. Constance Mirium",female,5,1,2,C.A. 34651,27.75,,S +60,0,3,"Goodwin, Master. William Frederick",male,11,5,2,CA 2144,46.9,,S +61,0,3,"Sirayanian, Mr. Orsen",male,22,0,0,2669,7.2292,,C +62,1,1,"Icard, Miss. Amelie",female,38,0,0,113572,80,B28, +63,0,1,"Harris, Mr. Henry Birkhardt",male,45,1,0,36973,83.475,C83,S +64,0,3,"Skoog, Master. Harald",male,4,3,2,347088,27.9,,S +65,0,1,"Stewart, Mr. Albert A",male,,0,0,PC 17605,27.7208,,C +66,1,3,"Moubarek, Master. Gerios",male,,1,1,2661,15.2458,,C +67,1,2,"Nye, Mrs. (Elizabeth Ramell)",female,29,0,0,C.A. 29395,10.5,F33,S +68,0,3,"Crease, Mr. Ernest James",male,19,0,0,S.P. 3464,8.1583,,S +69,1,3,"Andersson, Miss. Erna Alexandra",female,17,4,2,3101281,7.925,,S +70,0,3,"Kink, Mr. Vincenz",male,26,2,0,315151,8.6625,,S +71,0,2,"Jenkin, Mr. Stephen Curnow",male,32,0,0,C.A. 33111,10.5,,S +72,0,3,"Goodwin, Miss. Lillian Amy",female,16,5,2,CA 2144,46.9,,S +73,0,2,"Hood, Mr. Ambrose Jr",male,21,0,0,S.O.C. 14879,73.5,,S +74,0,3,"Chronopoulos, Mr. Apostolos",male,26,1,0,2680,14.4542,,C +75,1,3,"Bing, Mr. Lee",male,32,0,0,1601,56.4958,,S +76,0,3,"Moen, Mr. Sigurd Hansen",male,25,0,0,348123,7.65,F G73,S +77,0,3,"Staneff, Mr. Ivan",male,,0,0,349208,7.8958,,S +78,0,3,"Moutal, Mr. Rahamin Haim",male,,0,0,374746,8.05,,S +79,1,2,"Caldwell, Master. Alden Gates",male,0.83,0,2,248738,29,,S +80,1,3,"Dowdell, Miss. Elizabeth",female,30,0,0,364516,12.475,,S +81,0,3,"Waelens, Mr. Achille",male,22,0,0,345767,9,,S +82,1,3,"Sheerlinck, Mr. Jan Baptist",male,29,0,0,345779,9.5,,S +83,1,3,"McDermott, Miss. Brigdet Delia",female,,0,0,330932,7.7875,,Q +84,0,1,"Carrau, Mr. Francisco M",male,28,0,0,113059,47.1,,S +85,1,2,"Ilett, Miss. Bertha",female,17,0,0,SO/C 14885,10.5,,S +86,1,3,"Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)",female,33,3,0,3101278,15.85,,S +87,0,3,"Ford, Mr. William Neal",male,16,1,3,W./C. 6608,34.375,,S +88,0,3,"Slocovski, Mr. Selman Francis",male,,0,0,SOTON/OQ 392086,8.05,,S +89,1,1,"Fortune, Miss. Mabel Helen",female,23,3,2,19950,263,C23 C25 C27,S +90,0,3,"Celotti, Mr. Francesco",male,24,0,0,343275,8.05,,S +91,0,3,"Christmann, Mr. Emil",male,29,0,0,343276,8.05,,S +92,0,3,"Andreasson, Mr. Paul Edvin",male,20,0,0,347466,7.8542,,S +93,0,1,"Chaffee, Mr. Herbert Fuller",male,46,1,0,W.E.P. 5734,61.175,E31,S +94,0,3,"Dean, Mr. Bertram Frank",male,26,1,2,C.A. 2315,20.575,,S +95,0,3,"Coxon, Mr. Daniel",male,59,0,0,364500,7.25,,S +96,0,3,"Shorney, Mr. Charles Joseph",male,,0,0,374910,8.05,,S +97,0,1,"Goldschmidt, Mr. George B",male,71,0,0,PC 17754,34.6542,A5,C +98,1,1,"Greenfield, Mr. William Bertram",male,23,0,1,PC 17759,63.3583,D10 D12,C +99,1,2,"Doling, Mrs. John T (Ada Julia Bone)",female,34,0,1,231919,23,,S +100,0,2,"Kantor, Mr. Sinai",male,34,1,0,244367,26,,S +101,0,3,"Petranec, Miss. Matilda",female,28,0,0,349245,7.8958,,S +102,0,3,"Petroff, Mr. Pastcho (""Pentcho"")",male,,0,0,349215,7.8958,,S +103,0,1,"White, Mr. Richard Frasar",male,21,0,1,35281,77.2875,D26,S +104,0,3,"Johansson, Mr. Gustaf Joel",male,33,0,0,7540,8.6542,,S +105,0,3,"Gustafsson, Mr. Anders Vilhelm",male,37,2,0,3101276,7.925,,S +106,0,3,"Mionoff, Mr. Stoytcho",male,28,0,0,349207,7.8958,,S +107,1,3,"Salkjelsvik, Miss. Anna Kristine",female,21,0,0,343120,7.65,,S +108,1,3,"Moss, Mr. Albert Johan",male,,0,0,312991,7.775,,S +109,0,3,"Rekic, Mr. Tido",male,38,0,0,349249,7.8958,,S +110,1,3,"Moran, Miss. Bertha",female,,1,0,371110,24.15,,Q +111,0,1,"Porter, Mr. Walter Chamberlain",male,47,0,0,110465,52,C110,S +112,0,3,"Zabour, Miss. Hileni",female,14.5,1,0,2665,14.4542,,C +113,0,3,"Barton, Mr. David John",male,22,0,0,324669,8.05,,S +114,0,3,"Jussila, Miss. Katriina",female,20,1,0,4136,9.825,,S +115,0,3,"Attalah, Miss. Malake",female,17,0,0,2627,14.4583,,C +116,0,3,"Pekoniemi, Mr. Edvard",male,21,0,0,STON/O 2. 3101294,7.925,,S +117,0,3,"Connors, Mr. Patrick",male,70.5,0,0,370369,7.75,,Q +118,0,2,"Turpin, Mr. William John Robert",male,29,1,0,11668,21,,S +119,0,1,"Baxter, Mr. Quigg Edmond",male,24,0,1,PC 17558,247.5208,B58 B60,C +120,0,3,"Andersson, Miss. Ellis Anna Maria",female,2,4,2,347082,31.275,,S +121,0,2,"Hickman, Mr. Stanley George",male,21,2,0,S.O.C. 14879,73.5,,S +122,0,3,"Moore, Mr. Leonard Charles",male,,0,0,A4. 54510,8.05,,S +123,0,2,"Nasser, Mr. Nicholas",male,32.5,1,0,237736,30.0708,,C +124,1,2,"Webber, Miss. Susan",female,32.5,0,0,27267,13,E101,S +125,0,1,"White, Mr. Percival Wayland",male,54,0,1,35281,77.2875,D26,S +126,1,3,"Nicola-Yarred, Master. Elias",male,12,1,0,2651,11.2417,,C +127,0,3,"McMahon, Mr. Martin",male,,0,0,370372,7.75,,Q +128,1,3,"Madsen, Mr. Fridtjof Arne",male,24,0,0,C 17369,7.1417,,S +129,1,3,"Peter, Miss. Anna",female,,1,1,2668,22.3583,F E69,C +130,0,3,"Ekstrom, Mr. Johan",male,45,0,0,347061,6.975,,S +131,0,3,"Drazenoic, Mr. Jozef",male,33,0,0,349241,7.8958,,C +132,0,3,"Coelho, Mr. Domingos Fernandeo",male,20,0,0,SOTON/O.Q. 3101307,7.05,,S +133,0,3,"Robins, Mrs. Alexander A (Grace Charity Laury)",female,47,1,0,A/5. 3337,14.5,,S +134,1,2,"Weisz, Mrs. Leopold (Mathilde Francoise Pede)",female,29,1,0,228414,26,,S +135,0,2,"Sobey, Mr. Samuel James Hayden",male,25,0,0,C.A. 29178,13,,S +136,0,2,"Richard, Mr. Emile",male,23,0,0,SC/PARIS 2133,15.0458,,C +137,1,1,"Newsom, Miss. Helen Monypeny",female,19,0,2,11752,26.2833,D47,S +138,0,1,"Futrelle, Mr. Jacques Heath",male,37,1,0,113803,53.1,C123,S +139,0,3,"Osen, Mr. Olaf Elon",male,16,0,0,7534,9.2167,,S +140,0,1,"Giglio, Mr. Victor",male,24,0,0,PC 17593,79.2,B86,C +141,0,3,"Boulos, Mrs. Joseph (Sultana)",female,,0,2,2678,15.2458,,C +142,1,3,"Nysten, Miss. Anna Sofia",female,22,0,0,347081,7.75,,S +143,1,3,"Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)",female,24,1,0,STON/O2. 3101279,15.85,,S +144,0,3,"Burke, Mr. Jeremiah",male,19,0,0,365222,6.75,,Q +145,0,2,"Andrew, Mr. Edgardo Samuel",male,18,0,0,231945,11.5,,S +146,0,2,"Nicholls, Mr. Joseph Charles",male,19,1,1,C.A. 33112,36.75,,S +147,1,3,"Andersson, Mr. August Edvard (""Wennerstrom"")",male,27,0,0,350043,7.7958,,S +148,0,3,"Ford, Miss. Robina Maggie ""Ruby""",female,9,2,2,W./C. 6608,34.375,,S +149,0,2,"Navratil, Mr. Michel (""Louis M Hoffman"")",male,36.5,0,2,230080,26,F2,S +150,0,2,"Byles, Rev. Thomas Roussel Davids",male,42,0,0,244310,13,,S +151,0,2,"Bateman, Rev. Robert James",male,51,0,0,S.O.P. 1166,12.525,,S +152,1,1,"Pears, Mrs. Thomas (Edith Wearne)",female,22,1,0,113776,66.6,C2,S +153,0,3,"Meo, Mr. Alfonzo",male,55.5,0,0,A.5. 11206,8.05,,S +154,0,3,"van Billiard, Mr. Austin Blyler",male,40.5,0,2,A/5. 851,14.5,,S +155,0,3,"Olsen, Mr. Ole Martin",male,,0,0,Fa 265302,7.3125,,S +156,0,1,"Williams, Mr. Charles Duane",male,51,0,1,PC 17597,61.3792,,C +157,1,3,"Gilnagh, Miss. Katherine ""Katie""",female,16,0,0,35851,7.7333,,Q +158,0,3,"Corn, Mr. Harry",male,30,0,0,SOTON/OQ 392090,8.05,,S +159,0,3,"Smiljanic, Mr. Mile",male,,0,0,315037,8.6625,,S +160,0,3,"Sage, Master. Thomas Henry",male,,8,2,CA. 2343,69.55,,S +161,0,3,"Cribb, Mr. John Hatfield",male,44,0,1,371362,16.1,,S +162,1,2,"Watt, Mrs. James (Elizabeth ""Bessie"" Inglis Milne)",female,40,0,0,C.A. 33595,15.75,,S +163,0,3,"Bengtsson, Mr. John Viktor",male,26,0,0,347068,7.775,,S +164,0,3,"Calic, Mr. Jovo",male,17,0,0,315093,8.6625,,S +165,0,3,"Panula, Master. Eino Viljami",male,1,4,1,3101295,39.6875,,S +166,1,3,"Goldsmith, Master. Frank John William ""Frankie""",male,9,0,2,363291,20.525,,S +167,1,1,"Chibnall, Mrs. (Edith Martha Bowerman)",female,,0,1,113505,55,E33,S +168,0,3,"Skoog, Mrs. William (Anna Bernhardina Karlsson)",female,45,1,4,347088,27.9,,S +169,0,1,"Baumann, Mr. John D",male,,0,0,PC 17318,25.925,,S +170,0,3,"Ling, Mr. Lee",male,28,0,0,1601,56.4958,,S +171,0,1,"Van der hoef, Mr. Wyckoff",male,61,0,0,111240,33.5,B19,S +172,0,3,"Rice, Master. Arthur",male,4,4,1,382652,29.125,,Q +173,1,3,"Johnson, Miss. Eleanor Ileen",female,1,1,1,347742,11.1333,,S +174,0,3,"Sivola, Mr. Antti Wilhelm",male,21,0,0,STON/O 2. 3101280,7.925,,S +175,0,1,"Smith, Mr. James Clinch",male,56,0,0,17764,30.6958,A7,C +176,0,3,"Klasen, Mr. Klas Albin",male,18,1,1,350404,7.8542,,S +177,0,3,"Lefebre, Master. Henry Forbes",male,,3,1,4133,25.4667,,S +178,0,1,"Isham, Miss. Ann Elizabeth",female,50,0,0,PC 17595,28.7125,C49,C +179,0,2,"Hale, Mr. Reginald",male,30,0,0,250653,13,,S +180,0,3,"Leonard, Mr. Lionel",male,36,0,0,LINE,0,,S +181,0,3,"Sage, Miss. Constance Gladys",female,,8,2,CA. 2343,69.55,,S +182,0,2,"Pernot, Mr. Rene",male,,0,0,SC/PARIS 2131,15.05,,C +183,0,3,"Asplund, Master. Clarence Gustaf Hugo",male,9,4,2,347077,31.3875,,S +184,1,2,"Becker, Master. Richard F",male,1,2,1,230136,39,F4,S +185,1,3,"Kink-Heilmann, Miss. Luise Gretchen",female,4,0,2,315153,22.025,,S +186,0,1,"Rood, Mr. Hugh Roscoe",male,,0,0,113767,50,A32,S +187,1,3,"O'Brien, Mrs. Thomas (Johanna ""Hannah"" Godfrey)",female,,1,0,370365,15.5,,Q +188,1,1,"Romaine, Mr. Charles Hallace (""Mr C Rolmane"")",male,45,0,0,111428,26.55,,S +189,0,3,"Bourke, Mr. John",male,40,1,1,364849,15.5,,Q +190,0,3,"Turcin, Mr. Stjepan",male,36,0,0,349247,7.8958,,S +191,1,2,"Pinsky, Mrs. (Rosa)",female,32,0,0,234604,13,,S +192,0,2,"Carbines, Mr. William",male,19,0,0,28424,13,,S +193,1,3,"Andersen-Jensen, Miss. Carla Christine Nielsine",female,19,1,0,350046,7.8542,,S +194,1,2,"Navratil, Master. Michel M",male,3,1,1,230080,26,F2,S +195,1,1,"Brown, Mrs. James Joseph (Margaret Tobin)",female,44,0,0,PC 17610,27.7208,B4,C +196,1,1,"Lurette, Miss. Elise",female,58,0,0,PC 17569,146.5208,B80,C +197,0,3,"Mernagh, Mr. Robert",male,,0,0,368703,7.75,,Q +198,0,3,"Olsen, Mr. Karl Siegwart Andreas",male,42,0,1,4579,8.4042,,S +199,1,3,"Madigan, Miss. Margaret ""Maggie""",female,,0,0,370370,7.75,,Q +200,0,2,"Yrois, Miss. Henriette (""Mrs Harbeck"")",female,24,0,0,248747,13,,S +201,0,3,"Vande Walle, Mr. Nestor Cyriel",male,28,0,0,345770,9.5,,S +202,0,3,"Sage, Mr. Frederick",male,,8,2,CA. 2343,69.55,,S +203,0,3,"Johanson, Mr. Jakob Alfred",male,34,0,0,3101264,6.4958,,S +204,0,3,"Youseff, Mr. Gerious",male,45.5,0,0,2628,7.225,,C +205,1,3,"Cohen, Mr. Gurshon ""Gus""",male,18,0,0,A/5 3540,8.05,,S +206,0,3,"Strom, Miss. Telma Matilda",female,2,0,1,347054,10.4625,G6,S +207,0,3,"Backstrom, Mr. Karl Alfred",male,32,1,0,3101278,15.85,,S +208,1,3,"Albimona, Mr. Nassef Cassem",male,26,0,0,2699,18.7875,,C +209,1,3,"Carr, Miss. Helen ""Ellen""",female,16,0,0,367231,7.75,,Q +210,1,1,"Blank, Mr. Henry",male,40,0,0,112277,31,A31,C +211,0,3,"Ali, Mr. Ahmed",male,24,0,0,SOTON/O.Q. 3101311,7.05,,S +212,1,2,"Cameron, Miss. Clear Annie",female,35,0,0,F.C.C. 13528,21,,S +213,0,3,"Perkin, Mr. John Henry",male,22,0,0,A/5 21174,7.25,,S +214,0,2,"Givard, Mr. Hans Kristensen",male,30,0,0,250646,13,,S +215,0,3,"Kiernan, Mr. Philip",male,,1,0,367229,7.75,,Q +216,1,1,"Newell, Miss. Madeleine",female,31,1,0,35273,113.275,D36,C +217,1,3,"Honkanen, Miss. Eliina",female,27,0,0,STON/O2. 3101283,7.925,,S +218,0,2,"Jacobsohn, Mr. Sidney Samuel",male,42,1,0,243847,27,,S +219,1,1,"Bazzani, Miss. Albina",female,32,0,0,11813,76.2917,D15,C +220,0,2,"Harris, Mr. Walter",male,30,0,0,W/C 14208,10.5,,S +221,1,3,"Sunderland, Mr. Victor Francis",male,16,0,0,SOTON/OQ 392089,8.05,,S +222,0,2,"Bracken, Mr. James H",male,27,0,0,220367,13,,S +223,0,3,"Green, Mr. George Henry",male,51,0,0,21440,8.05,,S +224,0,3,"Nenkoff, Mr. Christo",male,,0,0,349234,7.8958,,S +225,1,1,"Hoyt, Mr. Frederick Maxfield",male,38,1,0,19943,90,C93,S +226,0,3,"Berglund, Mr. Karl Ivar Sven",male,22,0,0,PP 4348,9.35,,S +227,1,2,"Mellors, Mr. William John",male,19,0,0,SW/PP 751,10.5,,S +228,0,3,"Lovell, Mr. John Hall (""Henry"")",male,20.5,0,0,A/5 21173,7.25,,S +229,0,2,"Fahlstrom, Mr. Arne Jonas",male,18,0,0,236171,13,,S +230,0,3,"Lefebre, Miss. Mathilde",female,,3,1,4133,25.4667,,S +231,1,1,"Harris, Mrs. Henry Birkhardt (Irene Wallach)",female,35,1,0,36973,83.475,C83,S +232,0,3,"Larsson, Mr. Bengt Edvin",male,29,0,0,347067,7.775,,S +233,0,2,"Sjostedt, Mr. Ernst Adolf",male,59,0,0,237442,13.5,,S +234,1,3,"Asplund, Miss. Lillian Gertrud",female,5,4,2,347077,31.3875,,S +235,0,2,"Leyson, Mr. Robert William Norman",male,24,0,0,C.A. 29566,10.5,,S +236,0,3,"Harknett, Miss. Alice Phoebe",female,,0,0,W./C. 6609,7.55,,S +237,0,2,"Hold, Mr. Stephen",male,44,1,0,26707,26,,S +238,1,2,"Collyer, Miss. Marjorie ""Lottie""",female,8,0,2,C.A. 31921,26.25,,S +239,0,2,"Pengelly, Mr. Frederick William",male,19,0,0,28665,10.5,,S +240,0,2,"Hunt, Mr. George Henry",male,33,0,0,SCO/W 1585,12.275,,S +241,0,3,"Zabour, Miss. Thamine",female,,1,0,2665,14.4542,,C +242,1,3,"Murphy, Miss. Katherine ""Kate""",female,,1,0,367230,15.5,,Q +243,0,2,"Coleridge, Mr. Reginald Charles",male,29,0,0,W./C. 14263,10.5,,S +244,0,3,"Maenpaa, Mr. Matti Alexanteri",male,22,0,0,STON/O 2. 3101275,7.125,,S +245,0,3,"Attalah, Mr. Sleiman",male,30,0,0,2694,7.225,,C +246,0,1,"Minahan, Dr. William Edward",male,44,2,0,19928,90,C78,Q +247,0,3,"Lindahl, Miss. Agda Thorilda Viktoria",female,25,0,0,347071,7.775,,S +248,1,2,"Hamalainen, Mrs. William (Anna)",female,24,0,2,250649,14.5,,S +249,1,1,"Beckwith, Mr. Richard Leonard",male,37,1,1,11751,52.5542,D35,S +250,0,2,"Carter, Rev. Ernest Courtenay",male,54,1,0,244252,26,,S +251,0,3,"Reed, Mr. James George",male,,0,0,362316,7.25,,S +252,0,3,"Strom, Mrs. Wilhelm (Elna Matilda Persson)",female,29,1,1,347054,10.4625,G6,S +253,0,1,"Stead, Mr. William Thomas",male,62,0,0,113514,26.55,C87,S +254,0,3,"Lobb, Mr. William Arthur",male,30,1,0,A/5. 3336,16.1,,S +255,0,3,"Rosblom, Mrs. Viktor (Helena Wilhelmina)",female,41,0,2,370129,20.2125,,S +256,1,3,"Touma, Mrs. Darwis (Hanne Youssef Razi)",female,29,0,2,2650,15.2458,,C +257,1,1,"Thorne, Mrs. Gertrude Maybelle",female,,0,0,PC 17585,79.2,,C +258,1,1,"Cherry, Miss. Gladys",female,30,0,0,110152,86.5,B77,S +259,1,1,"Ward, Miss. Anna",female,35,0,0,PC 17755,512.3292,,C +260,1,2,"Parrish, Mrs. (Lutie Davis)",female,50,0,1,230433,26,,S +261,0,3,"Smith, Mr. Thomas",male,,0,0,384461,7.75,,Q +262,1,3,"Asplund, Master. Edvin Rojj Felix",male,3,4,2,347077,31.3875,,S +263,0,1,"Taussig, Mr. Emil",male,52,1,1,110413,79.65,E67,S +264,0,1,"Harrison, Mr. William",male,40,0,0,112059,0,B94,S +265,0,3,"Henry, Miss. Delia",female,,0,0,382649,7.75,,Q +266,0,2,"Reeves, Mr. David",male,36,0,0,C.A. 17248,10.5,,S +267,0,3,"Panula, Mr. Ernesti Arvid",male,16,4,1,3101295,39.6875,,S +268,1,3,"Persson, Mr. Ernst Ulrik",male,25,1,0,347083,7.775,,S +269,1,1,"Graham, Mrs. William Thompson (Edith Junkins)",female,58,0,1,PC 17582,153.4625,C125,S +270,1,1,"Bissette, Miss. Amelia",female,35,0,0,PC 17760,135.6333,C99,S +271,0,1,"Cairns, Mr. Alexander",male,,0,0,113798,31,,S +272,1,3,"Tornquist, Mr. William Henry",male,25,0,0,LINE,0,,S +273,1,2,"Mellinger, Mrs. (Elizabeth Anne Maidment)",female,41,0,1,250644,19.5,,S +274,0,1,"Natsch, Mr. Charles H",male,37,0,1,PC 17596,29.7,C118,C +275,1,3,"Healy, Miss. Hanora ""Nora""",female,,0,0,370375,7.75,,Q +276,1,1,"Andrews, Miss. Kornelia Theodosia",female,63,1,0,13502,77.9583,D7,S +277,0,3,"Lindblom, Miss. Augusta Charlotta",female,45,0,0,347073,7.75,,S +278,0,2,"Parkes, Mr. Francis ""Frank""",male,,0,0,239853,0,,S +279,0,3,"Rice, Master. Eric",male,7,4,1,382652,29.125,,Q +280,1,3,"Abbott, Mrs. Stanton (Rosa Hunt)",female,35,1,1,C.A. 2673,20.25,,S +281,0,3,"Duane, Mr. Frank",male,65,0,0,336439,7.75,,Q +282,0,3,"Olsson, Mr. Nils Johan Goransson",male,28,0,0,347464,7.8542,,S +283,0,3,"de Pelsmaeker, Mr. Alfons",male,16,0,0,345778,9.5,,S +284,1,3,"Dorking, Mr. Edward Arthur",male,19,0,0,A/5. 10482,8.05,,S +285,0,1,"Smith, Mr. Richard William",male,,0,0,113056,26,A19,S +286,0,3,"Stankovic, Mr. Ivan",male,33,0,0,349239,8.6625,,C +287,1,3,"de Mulder, Mr. Theodore",male,30,0,0,345774,9.5,,S +288,0,3,"Naidenoff, Mr. Penko",male,22,0,0,349206,7.8958,,S +289,1,2,"Hosono, Mr. Masabumi",male,42,0,0,237798,13,,S +290,1,3,"Connolly, Miss. Kate",female,22,0,0,370373,7.75,,Q +291,1,1,"Barber, Miss. Ellen ""Nellie""",female,26,0,0,19877,78.85,,S +292,1,1,"Bishop, Mrs. Dickinson H (Helen Walton)",female,19,1,0,11967,91.0792,B49,C +293,0,2,"Levy, Mr. Rene Jacques",male,36,0,0,SC/Paris 2163,12.875,D,C +294,0,3,"Haas, Miss. Aloisia",female,24,0,0,349236,8.85,,S +295,0,3,"Mineff, Mr. Ivan",male,24,0,0,349233,7.8958,,S +296,0,1,"Lewy, Mr. Ervin G",male,,0,0,PC 17612,27.7208,,C +297,0,3,"Hanna, Mr. Mansour",male,23.5,0,0,2693,7.2292,,C +298,0,1,"Allison, Miss. Helen Loraine",female,2,1,2,113781,151.55,C22 C26,S +299,1,1,"Saalfeld, Mr. Adolphe",male,,0,0,19988,30.5,C106,S +300,1,1,"Baxter, Mrs. James (Helene DeLaudeniere Chaput)",female,50,0,1,PC 17558,247.5208,B58 B60,C +301,1,3,"Kelly, Miss. Anna Katherine ""Annie Kate""",female,,0,0,9234,7.75,,Q +302,1,3,"McCoy, Mr. Bernard",male,,2,0,367226,23.25,,Q +303,0,3,"Johnson, Mr. William Cahoone Jr",male,19,0,0,LINE,0,,S +304,1,2,"Keane, Miss. Nora A",female,,0,0,226593,12.35,E101,Q +305,0,3,"Williams, Mr. Howard Hugh ""Harry""",male,,0,0,A/5 2466,8.05,,S +306,1,1,"Allison, Master. Hudson Trevor",male,0.92,1,2,113781,151.55,C22 C26,S +307,1,1,"Fleming, Miss. Margaret",female,,0,0,17421,110.8833,,C +308,1,1,"Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)",female,17,1,0,PC 17758,108.9,C65,C +309,0,2,"Abelson, Mr. Samuel",male,30,1,0,P/PP 3381,24,,C +310,1,1,"Francatelli, Miss. Laura Mabel",female,30,0,0,PC 17485,56.9292,E36,C +311,1,1,"Hays, Miss. Margaret Bechstein",female,24,0,0,11767,83.1583,C54,C +312,1,1,"Ryerson, Miss. Emily Borie",female,18,2,2,PC 17608,262.375,B57 B59 B63 B66,C +313,0,2,"Lahtinen, Mrs. William (Anna Sylfven)",female,26,1,1,250651,26,,S +314,0,3,"Hendekovic, Mr. Ignjac",male,28,0,0,349243,7.8958,,S +315,0,2,"Hart, Mr. Benjamin",male,43,1,1,F.C.C. 13529,26.25,,S +316,1,3,"Nilsson, Miss. Helmina Josefina",female,26,0,0,347470,7.8542,,S +317,1,2,"Kantor, Mrs. Sinai (Miriam Sternin)",female,24,1,0,244367,26,,S +318,0,2,"Moraweck, Dr. Ernest",male,54,0,0,29011,14,,S +319,1,1,"Wick, Miss. Mary Natalie",female,31,0,2,36928,164.8667,C7,S +320,1,1,"Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)",female,40,1,1,16966,134.5,E34,C +321,0,3,"Dennis, Mr. Samuel",male,22,0,0,A/5 21172,7.25,,S +322,0,3,"Danoff, Mr. Yoto",male,27,0,0,349219,7.8958,,S +323,1,2,"Slayter, Miss. Hilda Mary",female,30,0,0,234818,12.35,,Q +324,1,2,"Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)",female,22,1,1,248738,29,,S +325,0,3,"Sage, Mr. George John Jr",male,,8,2,CA. 2343,69.55,,S +326,1,1,"Young, Miss. Marie Grice",female,36,0,0,PC 17760,135.6333,C32,C +327,0,3,"Nysveen, Mr. Johan Hansen",male,61,0,0,345364,6.2375,,S +328,1,2,"Ball, Mrs. (Ada E Hall)",female,36,0,0,28551,13,D,S +329,1,3,"Goldsmith, Mrs. Frank John (Emily Alice Brown)",female,31,1,1,363291,20.525,,S +330,1,1,"Hippach, Miss. Jean Gertrude",female,16,0,1,111361,57.9792,B18,C +331,1,3,"McCoy, Miss. Agnes",female,,2,0,367226,23.25,,Q +332,0,1,"Partner, Mr. Austen",male,45.5,0,0,113043,28.5,C124,S +333,0,1,"Graham, Mr. George Edward",male,38,0,1,PC 17582,153.4625,C91,S +334,0,3,"Vander Planke, Mr. Leo Edmondus",male,16,2,0,345764,18,,S +335,1,1,"Frauenthal, Mrs. Henry William (Clara Heinsheimer)",female,,1,0,PC 17611,133.65,,S +336,0,3,"Denkoff, Mr. Mitto",male,,0,0,349225,7.8958,,S +337,0,1,"Pears, Mr. Thomas Clinton",male,29,1,0,113776,66.6,C2,S +338,1,1,"Burns, Miss. Elizabeth Margaret",female,41,0,0,16966,134.5,E40,C +339,1,3,"Dahl, Mr. Karl Edwart",male,45,0,0,7598,8.05,,S +340,0,1,"Blackwell, Mr. Stephen Weart",male,45,0,0,113784,35.5,T,S +341,1,2,"Navratil, Master. Edmond Roger",male,2,1,1,230080,26,F2,S +342,1,1,"Fortune, Miss. Alice Elizabeth",female,24,3,2,19950,263,C23 C25 C27,S +343,0,2,"Collander, Mr. Erik Gustaf",male,28,0,0,248740,13,,S +344,0,2,"Sedgwick, Mr. Charles Frederick Waddington",male,25,0,0,244361,13,,S +345,0,2,"Fox, Mr. Stanley Hubert",male,36,0,0,229236,13,,S +346,1,2,"Brown, Miss. Amelia ""Mildred""",female,24,0,0,248733,13,F33,S +347,1,2,"Smith, Miss. Marion Elsie",female,40,0,0,31418,13,,S +348,1,3,"Davison, Mrs. Thomas Henry (Mary E Finck)",female,,1,0,386525,16.1,,S +349,1,3,"Coutts, Master. William Loch ""William""",male,3,1,1,C.A. 37671,15.9,,S +350,0,3,"Dimic, Mr. Jovan",male,42,0,0,315088,8.6625,,S +351,0,3,"Odahl, Mr. Nils Martin",male,23,0,0,7267,9.225,,S +352,0,1,"Williams-Lambert, Mr. Fletcher Fellows",male,,0,0,113510,35,C128,S +353,0,3,"Elias, Mr. Tannous",male,15,1,1,2695,7.2292,,C +354,0,3,"Arnold-Franchi, Mr. Josef",male,25,1,0,349237,17.8,,S +355,0,3,"Yousif, Mr. Wazli",male,,0,0,2647,7.225,,C +356,0,3,"Vanden Steen, Mr. Leo Peter",male,28,0,0,345783,9.5,,S +357,1,1,"Bowerman, Miss. Elsie Edith",female,22,0,1,113505,55,E33,S +358,0,2,"Funk, Miss. Annie Clemmer",female,38,0,0,237671,13,,S +359,1,3,"McGovern, Miss. Mary",female,,0,0,330931,7.8792,,Q +360,1,3,"Mockler, Miss. Helen Mary ""Ellie""",female,,0,0,330980,7.8792,,Q +361,0,3,"Skoog, Mr. Wilhelm",male,40,1,4,347088,27.9,,S +362,0,2,"del Carlo, Mr. Sebastiano",male,29,1,0,SC/PARIS 2167,27.7208,,C +363,0,3,"Barbara, Mrs. (Catherine David)",female,45,0,1,2691,14.4542,,C +364,0,3,"Asim, Mr. Adola",male,35,0,0,SOTON/O.Q. 3101310,7.05,,S +365,0,3,"O'Brien, Mr. Thomas",male,,1,0,370365,15.5,,Q +366,0,3,"Adahl, Mr. Mauritz Nils Martin",male,30,0,0,C 7076,7.25,,S +367,1,1,"Warren, Mrs. Frank Manley (Anna Sophia Atkinson)",female,60,1,0,110813,75.25,D37,C +368,1,3,"Moussa, Mrs. (Mantoura Boulos)",female,,0,0,2626,7.2292,,C +369,1,3,"Jermyn, Miss. Annie",female,,0,0,14313,7.75,,Q +370,1,1,"Aubart, Mme. Leontine Pauline",female,24,0,0,PC 17477,69.3,B35,C +371,1,1,"Harder, Mr. George Achilles",male,25,1,0,11765,55.4417,E50,C +372,0,3,"Wiklund, Mr. Jakob Alfred",male,18,1,0,3101267,6.4958,,S +373,0,3,"Beavan, Mr. William Thomas",male,19,0,0,323951,8.05,,S +374,0,1,"Ringhini, Mr. Sante",male,22,0,0,PC 17760,135.6333,,C +375,0,3,"Palsson, Miss. Stina Viola",female,3,3,1,349909,21.075,,S +376,1,1,"Meyer, Mrs. Edgar Joseph (Leila Saks)",female,,1,0,PC 17604,82.1708,,C +377,1,3,"Landergren, Miss. Aurora Adelia",female,22,0,0,C 7077,7.25,,S +378,0,1,"Widener, Mr. Harry Elkins",male,27,0,2,113503,211.5,C82,C +379,0,3,"Betros, Mr. Tannous",male,20,0,0,2648,4.0125,,C +380,0,3,"Gustafsson, Mr. Karl Gideon",male,19,0,0,347069,7.775,,S +381,1,1,"Bidois, Miss. Rosalie",female,42,0,0,PC 17757,227.525,,C +382,1,3,"Nakid, Miss. Maria (""Mary"")",female,1,0,2,2653,15.7417,,C +383,0,3,"Tikkanen, Mr. Juho",male,32,0,0,STON/O 2. 3101293,7.925,,S +384,1,1,"Holverson, Mrs. Alexander Oskar (Mary Aline Towner)",female,35,1,0,113789,52,,S +385,0,3,"Plotcharsky, Mr. Vasil",male,,0,0,349227,7.8958,,S +386,0,2,"Davies, Mr. Charles Henry",male,18,0,0,S.O.C. 14879,73.5,,S +387,0,3,"Goodwin, Master. Sidney Leonard",male,1,5,2,CA 2144,46.9,,S +388,1,2,"Buss, Miss. Kate",female,36,0,0,27849,13,,S +389,0,3,"Sadlier, Mr. Matthew",male,,0,0,367655,7.7292,,Q +390,1,2,"Lehmann, Miss. Bertha",female,17,0,0,SC 1748,12,,C +391,1,1,"Carter, Mr. William Ernest",male,36,1,2,113760,120,B96 B98,S +392,1,3,"Jansson, Mr. Carl Olof",male,21,0,0,350034,7.7958,,S +393,0,3,"Gustafsson, Mr. Johan Birger",male,28,2,0,3101277,7.925,,S +394,1,1,"Newell, Miss. Marjorie",female,23,1,0,35273,113.275,D36,C +395,1,3,"Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)",female,24,0,2,PP 9549,16.7,G6,S +396,0,3,"Johansson, Mr. Erik",male,22,0,0,350052,7.7958,,S +397,0,3,"Olsson, Miss. Elina",female,31,0,0,350407,7.8542,,S +398,0,2,"McKane, Mr. Peter David",male,46,0,0,28403,26,,S +399,0,2,"Pain, Dr. Alfred",male,23,0,0,244278,10.5,,S +400,1,2,"Trout, Mrs. William H (Jessie L)",female,28,0,0,240929,12.65,,S +401,1,3,"Niskanen, Mr. Juha",male,39,0,0,STON/O 2. 3101289,7.925,,S +402,0,3,"Adams, Mr. John",male,26,0,0,341826,8.05,,S +403,0,3,"Jussila, Miss. Mari Aina",female,21,1,0,4137,9.825,,S +404,0,3,"Hakkarainen, Mr. Pekka Pietari",male,28,1,0,STON/O2. 3101279,15.85,,S +405,0,3,"Oreskovic, Miss. Marija",female,20,0,0,315096,8.6625,,S +406,0,2,"Gale, Mr. Shadrach",male,34,1,0,28664,21,,S +407,0,3,"Widegren, Mr. Carl/Charles Peter",male,51,0,0,347064,7.75,,S +408,1,2,"Richards, Master. William Rowe",male,3,1,1,29106,18.75,,S +409,0,3,"Birkeland, Mr. Hans Martin Monsen",male,21,0,0,312992,7.775,,S +410,0,3,"Lefebre, Miss. Ida",female,,3,1,4133,25.4667,,S +411,0,3,"Sdycoff, Mr. Todor",male,,0,0,349222,7.8958,,S +412,0,3,"Hart, Mr. Henry",male,,0,0,394140,6.8583,,Q +413,1,1,"Minahan, Miss. Daisy E",female,33,1,0,19928,90,C78,Q +414,0,2,"Cunningham, Mr. Alfred Fleming",male,,0,0,239853,0,,S +415,1,3,"Sundman, Mr. Johan Julian",male,44,0,0,STON/O 2. 3101269,7.925,,S +416,0,3,"Meek, Mrs. Thomas (Annie Louise Rowley)",female,,0,0,343095,8.05,,S +417,1,2,"Drew, Mrs. James Vivian (Lulu Thorne Christian)",female,34,1,1,28220,32.5,,S +418,1,2,"Silven, Miss. Lyyli Karoliina",female,18,0,2,250652,13,,S +419,0,2,"Matthews, Mr. William John",male,30,0,0,28228,13,,S +420,0,3,"Van Impe, Miss. Catharina",female,10,0,2,345773,24.15,,S +421,0,3,"Gheorgheff, Mr. Stanio",male,,0,0,349254,7.8958,,C +422,0,3,"Charters, Mr. David",male,21,0,0,A/5. 13032,7.7333,,Q +423,0,3,"Zimmerman, Mr. Leo",male,29,0,0,315082,7.875,,S +424,0,3,"Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)",female,28,1,1,347080,14.4,,S +425,0,3,"Rosblom, Mr. Viktor Richard",male,18,1,1,370129,20.2125,,S +426,0,3,"Wiseman, Mr. Phillippe",male,,0,0,A/4. 34244,7.25,,S +427,1,2,"Clarke, Mrs. Charles V (Ada Maria Winfield)",female,28,1,0,2003,26,,S +428,1,2,"Phillips, Miss. Kate Florence (""Mrs Kate Louise Phillips Marshall"")",female,19,0,0,250655,26,,S +429,0,3,"Flynn, Mr. James",male,,0,0,364851,7.75,,Q +430,1,3,"Pickard, Mr. Berk (Berk Trembisky)",male,32,0,0,SOTON/O.Q. 392078,8.05,E10,S +431,1,1,"Bjornstrom-Steffansson, Mr. Mauritz Hakan",male,28,0,0,110564,26.55,C52,S +432,1,3,"Thorneycroft, Mrs. Percival (Florence Kate White)",female,,1,0,376564,16.1,,S +433,1,2,"Louch, Mrs. Charles Alexander (Alice Adelaide Slow)",female,42,1,0,SC/AH 3085,26,,S +434,0,3,"Kallio, Mr. Nikolai Erland",male,17,0,0,STON/O 2. 3101274,7.125,,S +435,0,1,"Silvey, Mr. William Baird",male,50,1,0,13507,55.9,E44,S +436,1,1,"Carter, Miss. Lucile Polk",female,14,1,2,113760,120,B96 B98,S +437,0,3,"Ford, Miss. Doolina Margaret ""Daisy""",female,21,2,2,W./C. 6608,34.375,,S +438,1,2,"Richards, Mrs. Sidney (Emily Hocking)",female,24,2,3,29106,18.75,,S +439,0,1,"Fortune, Mr. Mark",male,64,1,4,19950,263,C23 C25 C27,S +440,0,2,"Kvillner, Mr. Johan Henrik Johannesson",male,31,0,0,C.A. 18723,10.5,,S +441,1,2,"Hart, Mrs. Benjamin (Esther Ada Bloomfield)",female,45,1,1,F.C.C. 13529,26.25,,S +442,0,3,"Hampe, Mr. Leon",male,20,0,0,345769,9.5,,S +443,0,3,"Petterson, Mr. Johan Emil",male,25,1,0,347076,7.775,,S +444,1,2,"Reynaldo, Ms. Encarnacion",female,28,0,0,230434,13,,S +445,1,3,"Johannesen-Bratthammer, Mr. Bernt",male,,0,0,65306,8.1125,,S +446,1,1,"Dodge, Master. Washington",male,4,0,2,33638,81.8583,A34,S +447,1,2,"Mellinger, Miss. Madeleine Violet",female,13,0,1,250644,19.5,,S +448,1,1,"Seward, Mr. Frederic Kimber",male,34,0,0,113794,26.55,,S +449,1,3,"Baclini, Miss. Marie Catherine",female,5,2,1,2666,19.2583,,C +450,1,1,"Peuchen, Major. Arthur Godfrey",male,52,0,0,113786,30.5,C104,S +451,0,2,"West, Mr. Edwy Arthur",male,36,1,2,C.A. 34651,27.75,,S +452,0,3,"Hagland, Mr. Ingvald Olai Olsen",male,,1,0,65303,19.9667,,S +453,0,1,"Foreman, Mr. Benjamin Laventall",male,30,0,0,113051,27.75,C111,C +454,1,1,"Goldenberg, Mr. Samuel L",male,49,1,0,17453,89.1042,C92,C +455,0,3,"Peduzzi, Mr. Joseph",male,,0,0,A/5 2817,8.05,,S +456,1,3,"Jalsevac, Mr. Ivan",male,29,0,0,349240,7.8958,,C +457,0,1,"Millet, Mr. Francis Davis",male,65,0,0,13509,26.55,E38,S +458,1,1,"Kenyon, Mrs. Frederick R (Marion)",female,,1,0,17464,51.8625,D21,S +459,1,2,"Toomey, Miss. Ellen",female,50,0,0,F.C.C. 13531,10.5,,S +460,0,3,"O'Connor, Mr. Maurice",male,,0,0,371060,7.75,,Q +461,1,1,"Anderson, Mr. Harry",male,48,0,0,19952,26.55,E12,S +462,0,3,"Morley, Mr. William",male,34,0,0,364506,8.05,,S +463,0,1,"Gee, Mr. Arthur H",male,47,0,0,111320,38.5,E63,S +464,0,2,"Milling, Mr. Jacob Christian",male,48,0,0,234360,13,,S +465,0,3,"Maisner, Mr. Simon",male,,0,0,A/S 2816,8.05,,S +466,0,3,"Goncalves, Mr. Manuel Estanslas",male,38,0,0,SOTON/O.Q. 3101306,7.05,,S +467,0,2,"Campbell, Mr. William",male,,0,0,239853,0,,S +468,0,1,"Smart, Mr. John Montgomery",male,56,0,0,113792,26.55,,S +469,0,3,"Scanlan, Mr. James",male,,0,0,36209,7.725,,Q +470,1,3,"Baclini, Miss. Helene Barbara",female,0.75,2,1,2666,19.2583,,C +471,0,3,"Keefe, Mr. Arthur",male,,0,0,323592,7.25,,S +472,0,3,"Cacic, Mr. Luka",male,38,0,0,315089,8.6625,,S +473,1,2,"West, Mrs. Edwy Arthur (Ada Mary Worth)",female,33,1,2,C.A. 34651,27.75,,S +474,1,2,"Jerwan, Mrs. Amin S (Marie Marthe Thuillard)",female,23,0,0,SC/AH Basle 541,13.7917,D,C +475,0,3,"Strandberg, Miss. Ida Sofia",female,22,0,0,7553,9.8375,,S +476,0,1,"Clifford, Mr. George Quincy",male,,0,0,110465,52,A14,S +477,0,2,"Renouf, Mr. Peter Henry",male,34,1,0,31027,21,,S +478,0,3,"Braund, Mr. Lewis Richard",male,29,1,0,3460,7.0458,,S +479,0,3,"Karlsson, Mr. Nils August",male,22,0,0,350060,7.5208,,S +480,1,3,"Hirvonen, Miss. Hildur E",female,2,0,1,3101298,12.2875,,S +481,0,3,"Goodwin, Master. Harold Victor",male,9,5,2,CA 2144,46.9,,S +482,0,2,"Frost, Mr. Anthony Wood ""Archie""",male,,0,0,239854,0,,S +483,0,3,"Rouse, Mr. Richard Henry",male,50,0,0,A/5 3594,8.05,,S +484,1,3,"Turkula, Mrs. (Hedwig)",female,63,0,0,4134,9.5875,,S +485,1,1,"Bishop, Mr. Dickinson H",male,25,1,0,11967,91.0792,B49,C +486,0,3,"Lefebre, Miss. Jeannie",female,,3,1,4133,25.4667,,S +487,1,1,"Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)",female,35,1,0,19943,90,C93,S +488,0,1,"Kent, Mr. Edward Austin",male,58,0,0,11771,29.7,B37,C +489,0,3,"Somerton, Mr. Francis William",male,30,0,0,A.5. 18509,8.05,,S +490,1,3,"Coutts, Master. Eden Leslie ""Neville""",male,9,1,1,C.A. 37671,15.9,,S +491,0,3,"Hagland, Mr. Konrad Mathias Reiersen",male,,1,0,65304,19.9667,,S +492,0,3,"Windelov, Mr. Einar",male,21,0,0,SOTON/OQ 3101317,7.25,,S +493,0,1,"Molson, Mr. Harry Markland",male,55,0,0,113787,30.5,C30,S +494,0,1,"Artagaveytia, Mr. Ramon",male,71,0,0,PC 17609,49.5042,,C +495,0,3,"Stanley, Mr. Edward Roland",male,21,0,0,A/4 45380,8.05,,S +496,0,3,"Yousseff, Mr. Gerious",male,,0,0,2627,14.4583,,C +497,1,1,"Eustis, Miss. Elizabeth Mussey",female,54,1,0,36947,78.2667,D20,C +498,0,3,"Shellard, Mr. Frederick William",male,,0,0,C.A. 6212,15.1,,S +499,0,1,"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)",female,25,1,2,113781,151.55,C22 C26,S +500,0,3,"Svensson, Mr. Olof",male,24,0,0,350035,7.7958,,S +501,0,3,"Calic, Mr. Petar",male,17,0,0,315086,8.6625,,S +502,0,3,"Canavan, Miss. Mary",female,21,0,0,364846,7.75,,Q +503,0,3,"O'Sullivan, Miss. Bridget Mary",female,,0,0,330909,7.6292,,Q +504,0,3,"Laitinen, Miss. Kristina Sofia",female,37,0,0,4135,9.5875,,S +505,1,1,"Maioni, Miss. Roberta",female,16,0,0,110152,86.5,B79,S +506,0,1,"Penasco y Castellana, Mr. Victor de Satode",male,18,1,0,PC 17758,108.9,C65,C +507,1,2,"Quick, Mrs. Frederick Charles (Jane Richards)",female,33,0,2,26360,26,,S +508,1,1,"Bradley, Mr. George (""George Arthur Brayton"")",male,,0,0,111427,26.55,,S +509,0,3,"Olsen, Mr. Henry Margido",male,28,0,0,C 4001,22.525,,S +510,1,3,"Lang, Mr. Fang",male,26,0,0,1601,56.4958,,S +511,1,3,"Daly, Mr. Eugene Patrick",male,29,0,0,382651,7.75,,Q +512,0,3,"Webber, Mr. James",male,,0,0,SOTON/OQ 3101316,8.05,,S +513,1,1,"McGough, Mr. James Robert",male,36,0,0,PC 17473,26.2875,E25,S +514,1,1,"Rothschild, Mrs. Martin (Elizabeth L. Barrett)",female,54,1,0,PC 17603,59.4,,C +515,0,3,"Coleff, Mr. Satio",male,24,0,0,349209,7.4958,,S +516,0,1,"Walker, Mr. William Anderson",male,47,0,0,36967,34.0208,D46,S +517,1,2,"Lemore, Mrs. (Amelia Milley)",female,34,0,0,C.A. 34260,10.5,F33,S +518,0,3,"Ryan, Mr. Patrick",male,,0,0,371110,24.15,,Q +519,1,2,"Angle, Mrs. William A (Florence ""Mary"" Agnes Hughes)",female,36,1,0,226875,26,,S +520,0,3,"Pavlovic, Mr. Stefo",male,32,0,0,349242,7.8958,,S +521,1,1,"Perreault, Miss. Anne",female,30,0,0,12749,93.5,B73,S +522,0,3,"Vovk, Mr. Janko",male,22,0,0,349252,7.8958,,S +523,0,3,"Lahoud, Mr. Sarkis",male,,0,0,2624,7.225,,C +524,1,1,"Hippach, Mrs. Louis Albert (Ida Sophia Fischer)",female,44,0,1,111361,57.9792,B18,C +525,0,3,"Kassem, Mr. Fared",male,,0,0,2700,7.2292,,C +526,0,3,"Farrell, Mr. James",male,40.5,0,0,367232,7.75,,Q +527,1,2,"Ridsdale, Miss. Lucy",female,50,0,0,W./C. 14258,10.5,,S +528,0,1,"Farthing, Mr. John",male,,0,0,PC 17483,221.7792,C95,S +529,0,3,"Salonen, Mr. Johan Werner",male,39,0,0,3101296,7.925,,S +530,0,2,"Hocking, Mr. Richard George",male,23,2,1,29104,11.5,,S +531,1,2,"Quick, Miss. Phyllis May",female,2,1,1,26360,26,,S +532,0,3,"Toufik, Mr. Nakli",male,,0,0,2641,7.2292,,C +533,0,3,"Elias, Mr. Joseph Jr",male,17,1,1,2690,7.2292,,C +534,1,3,"Peter, Mrs. Catherine (Catherine Rizk)",female,,0,2,2668,22.3583,,C +535,0,3,"Cacic, Miss. Marija",female,30,0,0,315084,8.6625,,S +536,1,2,"Hart, Miss. Eva Miriam",female,7,0,2,F.C.C. 13529,26.25,,S +537,0,1,"Butt, Major. Archibald Willingham",male,45,0,0,113050,26.55,B38,S +538,1,1,"LeRoy, Miss. Bertha",female,30,0,0,PC 17761,106.425,,C +539,0,3,"Risien, Mr. Samuel Beard",male,,0,0,364498,14.5,,S +540,1,1,"Frolicher, Miss. Hedwig Margaritha",female,22,0,2,13568,49.5,B39,C +541,1,1,"Crosby, Miss. Harriet R",female,36,0,2,WE/P 5735,71,B22,S +542,0,3,"Andersson, Miss. Ingeborg Constanzia",female,9,4,2,347082,31.275,,S +543,0,3,"Andersson, Miss. Sigrid Elisabeth",female,11,4,2,347082,31.275,,S +544,1,2,"Beane, Mr. Edward",male,32,1,0,2908,26,,S +545,0,1,"Douglas, Mr. Walter Donald",male,50,1,0,PC 17761,106.425,C86,C +546,0,1,"Nicholson, Mr. Arthur Ernest",male,64,0,0,693,26,,S +547,1,2,"Beane, Mrs. Edward (Ethel Clarke)",female,19,1,0,2908,26,,S +548,1,2,"Padro y Manent, Mr. Julian",male,,0,0,SC/PARIS 2146,13.8625,,C +549,0,3,"Goldsmith, Mr. Frank John",male,33,1,1,363291,20.525,,S +550,1,2,"Davies, Master. John Morgan Jr",male,8,1,1,C.A. 33112,36.75,,S +551,1,1,"Thayer, Mr. John Borland Jr",male,17,0,2,17421,110.8833,C70,C +552,0,2,"Sharp, Mr. Percival James R",male,27,0,0,244358,26,,S +553,0,3,"O'Brien, Mr. Timothy",male,,0,0,330979,7.8292,,Q +554,1,3,"Leeni, Mr. Fahim (""Philip Zenni"")",male,22,0,0,2620,7.225,,C +555,1,3,"Ohman, Miss. Velin",female,22,0,0,347085,7.775,,S +556,0,1,"Wright, Mr. George",male,62,0,0,113807,26.55,,S +557,1,1,"Duff Gordon, Lady. (Lucille Christiana Sutherland) (""Mrs Morgan"")",female,48,1,0,11755,39.6,A16,C +558,0,1,"Robbins, Mr. Victor",male,,0,0,PC 17757,227.525,,C +559,1,1,"Taussig, Mrs. Emil (Tillie Mandelbaum)",female,39,1,1,110413,79.65,E67,S +560,1,3,"de Messemaeker, Mrs. Guillaume Joseph (Emma)",female,36,1,0,345572,17.4,,S +561,0,3,"Morrow, Mr. Thomas Rowan",male,,0,0,372622,7.75,,Q +562,0,3,"Sivic, Mr. Husein",male,40,0,0,349251,7.8958,,S +563,0,2,"Norman, Mr. Robert Douglas",male,28,0,0,218629,13.5,,S +564,0,3,"Simmons, Mr. John",male,,0,0,SOTON/OQ 392082,8.05,,S +565,0,3,"Meanwell, Miss. (Marion Ogden)",female,,0,0,SOTON/O.Q. 392087,8.05,,S +566,0,3,"Davies, Mr. Alfred J",male,24,2,0,A/4 48871,24.15,,S +567,0,3,"Stoytcheff, Mr. Ilia",male,19,0,0,349205,7.8958,,S +568,0,3,"Palsson, Mrs. Nils (Alma Cornelia Berglund)",female,29,0,4,349909,21.075,,S +569,0,3,"Doharr, Mr. Tannous",male,,0,0,2686,7.2292,,C +570,1,3,"Jonsson, Mr. Carl",male,32,0,0,350417,7.8542,,S +571,1,2,"Harris, Mr. George",male,62,0,0,S.W./PP 752,10.5,,S +572,1,1,"Appleton, Mrs. Edward Dale (Charlotte Lamson)",female,53,2,0,11769,51.4792,C101,S +573,1,1,"Flynn, Mr. John Irwin (""Irving"")",male,36,0,0,PC 17474,26.3875,E25,S +574,1,3,"Kelly, Miss. Mary",female,,0,0,14312,7.75,,Q +575,0,3,"Rush, Mr. Alfred George John",male,16,0,0,A/4. 20589,8.05,,S +576,0,3,"Patchett, Mr. George",male,19,0,0,358585,14.5,,S +577,1,2,"Garside, Miss. Ethel",female,34,0,0,243880,13,,S +578,1,1,"Silvey, Mrs. William Baird (Alice Munger)",female,39,1,0,13507,55.9,E44,S +579,0,3,"Caram, Mrs. Joseph (Maria Elias)",female,,1,0,2689,14.4583,,C +580,1,3,"Jussila, Mr. Eiriik",male,32,0,0,STON/O 2. 3101286,7.925,,S +581,1,2,"Christy, Miss. Julie Rachel",female,25,1,1,237789,30,,S +582,1,1,"Thayer, Mrs. John Borland (Marian Longstreth Morris)",female,39,1,1,17421,110.8833,C68,C +583,0,2,"Downton, Mr. William James",male,54,0,0,28403,26,,S +584,0,1,"Ross, Mr. John Hugo",male,36,0,0,13049,40.125,A10,C +585,0,3,"Paulner, Mr. Uscher",male,,0,0,3411,8.7125,,C +586,1,1,"Taussig, Miss. Ruth",female,18,0,2,110413,79.65,E68,S +587,0,2,"Jarvis, Mr. John Denzil",male,47,0,0,237565,15,,S +588,1,1,"Frolicher-Stehli, Mr. Maxmillian",male,60,1,1,13567,79.2,B41,C +589,0,3,"Gilinski, Mr. Eliezer",male,22,0,0,14973,8.05,,S +590,0,3,"Murdlin, Mr. Joseph",male,,0,0,A./5. 3235,8.05,,S +591,0,3,"Rintamaki, Mr. Matti",male,35,0,0,STON/O 2. 3101273,7.125,,S +592,1,1,"Stephenson, Mrs. Walter Bertram (Martha Eustis)",female,52,1,0,36947,78.2667,D20,C +593,0,3,"Elsbury, Mr. William James",male,47,0,0,A/5 3902,7.25,,S +594,0,3,"Bourke, Miss. Mary",female,,0,2,364848,7.75,,Q +595,0,2,"Chapman, Mr. John Henry",male,37,1,0,SC/AH 29037,26,,S +596,0,3,"Van Impe, Mr. Jean Baptiste",male,36,1,1,345773,24.15,,S +597,1,2,"Leitch, Miss. Jessie Wills",female,,0,0,248727,33,,S +598,0,3,"Johnson, Mr. Alfred",male,49,0,0,LINE,0,,S +599,0,3,"Boulos, Mr. Hanna",male,,0,0,2664,7.225,,C +600,1,1,"Duff Gordon, Sir. Cosmo Edmund (""Mr Morgan"")",male,49,1,0,PC 17485,56.9292,A20,C +601,1,2,"Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)",female,24,2,1,243847,27,,S +602,0,3,"Slabenoff, Mr. Petco",male,,0,0,349214,7.8958,,S +603,0,1,"Harrington, Mr. Charles H",male,,0,0,113796,42.4,,S +604,0,3,"Torber, Mr. Ernst William",male,44,0,0,364511,8.05,,S +605,1,1,"Homer, Mr. Harry (""Mr E Haven"")",male,35,0,0,111426,26.55,,C +606,0,3,"Lindell, Mr. Edvard Bengtsson",male,36,1,0,349910,15.55,,S +607,0,3,"Karaic, Mr. Milan",male,30,0,0,349246,7.8958,,S +608,1,1,"Daniel, Mr. Robert Williams",male,27,0,0,113804,30.5,,S +609,1,2,"Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)",female,22,1,2,SC/Paris 2123,41.5792,,C +610,1,1,"Shutes, Miss. Elizabeth W",female,40,0,0,PC 17582,153.4625,C125,S +611,0,3,"Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)",female,39,1,5,347082,31.275,,S +612,0,3,"Jardin, Mr. Jose Neto",male,,0,0,SOTON/O.Q. 3101305,7.05,,S +613,1,3,"Murphy, Miss. Margaret Jane",female,,1,0,367230,15.5,,Q +614,0,3,"Horgan, Mr. John",male,,0,0,370377,7.75,,Q +615,0,3,"Brocklebank, Mr. William Alfred",male,35,0,0,364512,8.05,,S +616,1,2,"Herman, Miss. Alice",female,24,1,2,220845,65,,S +617,0,3,"Danbom, Mr. Ernst Gilbert",male,34,1,1,347080,14.4,,S +618,0,3,"Lobb, Mrs. William Arthur (Cordelia K Stanlick)",female,26,1,0,A/5. 3336,16.1,,S +619,1,2,"Becker, Miss. Marion Louise",female,4,2,1,230136,39,F4,S +620,0,2,"Gavey, Mr. Lawrence",male,26,0,0,31028,10.5,,S +621,0,3,"Yasbeck, Mr. Antoni",male,27,1,0,2659,14.4542,,C +622,1,1,"Kimball, Mr. Edwin Nelson Jr",male,42,1,0,11753,52.5542,D19,S +623,1,3,"Nakid, Mr. Sahid",male,20,1,1,2653,15.7417,,C +624,0,3,"Hansen, Mr. Henry Damsgaard",male,21,0,0,350029,7.8542,,S +625,0,3,"Bowen, Mr. David John ""Dai""",male,21,0,0,54636,16.1,,S +626,0,1,"Sutton, Mr. Frederick",male,61,0,0,36963,32.3208,D50,S +627,0,2,"Kirkland, Rev. Charles Leonard",male,57,0,0,219533,12.35,,Q +628,1,1,"Longley, Miss. Gretchen Fiske",female,21,0,0,13502,77.9583,D9,S +629,0,3,"Bostandyeff, Mr. Guentcho",male,26,0,0,349224,7.8958,,S +630,0,3,"O'Connell, Mr. Patrick D",male,,0,0,334912,7.7333,,Q +631,1,1,"Barkworth, Mr. Algernon Henry Wilson",male,80,0,0,27042,30,A23,S +632,0,3,"Lundahl, Mr. Johan Svensson",male,51,0,0,347743,7.0542,,S +633,1,1,"Stahelin-Maeglin, Dr. Max",male,32,0,0,13214,30.5,B50,C +634,0,1,"Parr, Mr. William Henry Marsh",male,,0,0,112052,0,,S +635,0,3,"Skoog, Miss. Mabel",female,9,3,2,347088,27.9,,S +636,1,2,"Davis, Miss. Mary",female,28,0,0,237668,13,,S +637,0,3,"Leinonen, Mr. Antti Gustaf",male,32,0,0,STON/O 2. 3101292,7.925,,S +638,0,2,"Collyer, Mr. Harvey",male,31,1,1,C.A. 31921,26.25,,S +639,0,3,"Panula, Mrs. Juha (Maria Emilia Ojala)",female,41,0,5,3101295,39.6875,,S +640,0,3,"Thorneycroft, Mr. Percival",male,,1,0,376564,16.1,,S +641,0,3,"Jensen, Mr. Hans Peder",male,20,0,0,350050,7.8542,,S +642,1,1,"Sagesser, Mlle. Emma",female,24,0,0,PC 17477,69.3,B35,C +643,0,3,"Skoog, Miss. Margit Elizabeth",female,2,3,2,347088,27.9,,S +644,1,3,"Foo, Mr. Choong",male,,0,0,1601,56.4958,,S +645,1,3,"Baclini, Miss. Eugenie",female,0.75,2,1,2666,19.2583,,C +646,1,1,"Harper, Mr. Henry Sleeper",male,48,1,0,PC 17572,76.7292,D33,C +647,0,3,"Cor, Mr. Liudevit",male,19,0,0,349231,7.8958,,S +648,1,1,"Simonius-Blumer, Col. Oberst Alfons",male,56,0,0,13213,35.5,A26,C +649,0,3,"Willey, Mr. Edward",male,,0,0,S.O./P.P. 751,7.55,,S +650,1,3,"Stanley, Miss. Amy Zillah Elsie",female,23,0,0,CA. 2314,7.55,,S +651,0,3,"Mitkoff, Mr. Mito",male,,0,0,349221,7.8958,,S +652,1,2,"Doling, Miss. Elsie",female,18,0,1,231919,23,,S +653,0,3,"Kalvik, Mr. Johannes Halvorsen",male,21,0,0,8475,8.4333,,S +654,1,3,"O'Leary, Miss. Hanora ""Norah""",female,,0,0,330919,7.8292,,Q +655,0,3,"Hegarty, Miss. Hanora ""Nora""",female,18,0,0,365226,6.75,,Q +656,0,2,"Hickman, Mr. Leonard Mark",male,24,2,0,S.O.C. 14879,73.5,,S +657,0,3,"Radeff, Mr. Alexander",male,,0,0,349223,7.8958,,S +658,0,3,"Bourke, Mrs. John (Catherine)",female,32,1,1,364849,15.5,,Q +659,0,2,"Eitemiller, Mr. George Floyd",male,23,0,0,29751,13,,S +660,0,1,"Newell, Mr. Arthur Webster",male,58,0,2,35273,113.275,D48,C +661,1,1,"Frauenthal, Dr. Henry William",male,50,2,0,PC 17611,133.65,,S +662,0,3,"Badt, Mr. Mohamed",male,40,0,0,2623,7.225,,C +663,0,1,"Colley, Mr. Edward Pomeroy",male,47,0,0,5727,25.5875,E58,S +664,0,3,"Coleff, Mr. Peju",male,36,0,0,349210,7.4958,,S +665,1,3,"Lindqvist, Mr. Eino William",male,20,1,0,STON/O 2. 3101285,7.925,,S +666,0,2,"Hickman, Mr. Lewis",male,32,2,0,S.O.C. 14879,73.5,,S +667,0,2,"Butler, Mr. Reginald Fenton",male,25,0,0,234686,13,,S +668,0,3,"Rommetvedt, Mr. Knud Paust",male,,0,0,312993,7.775,,S +669,0,3,"Cook, Mr. Jacob",male,43,0,0,A/5 3536,8.05,,S +670,1,1,"Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)",female,,1,0,19996,52,C126,S +671,1,2,"Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)",female,40,1,1,29750,39,,S +672,0,1,"Davidson, Mr. Thornton",male,31,1,0,F.C. 12750,52,B71,S +673,0,2,"Mitchell, Mr. Henry Michael",male,70,0,0,C.A. 24580,10.5,,S +674,1,2,"Wilhelms, Mr. Charles",male,31,0,0,244270,13,,S +675,0,2,"Watson, Mr. Ennis Hastings",male,,0,0,239856,0,,S +676,0,3,"Edvardsson, Mr. Gustaf Hjalmar",male,18,0,0,349912,7.775,,S +677,0,3,"Sawyer, Mr. Frederick Charles",male,24.5,0,0,342826,8.05,,S +678,1,3,"Turja, Miss. Anna Sofia",female,18,0,0,4138,9.8417,,S +679,0,3,"Goodwin, Mrs. Frederick (Augusta Tyler)",female,43,1,6,CA 2144,46.9,,S +680,1,1,"Cardeza, Mr. Thomas Drake Martinez",male,36,0,1,PC 17755,512.3292,B51 B53 B55,C +681,0,3,"Peters, Miss. Katie",female,,0,0,330935,8.1375,,Q +682,1,1,"Hassab, Mr. Hammad",male,27,0,0,PC 17572,76.7292,D49,C +683,0,3,"Olsvigen, Mr. Thor Anderson",male,20,0,0,6563,9.225,,S +684,0,3,"Goodwin, Mr. Charles Edward",male,14,5,2,CA 2144,46.9,,S +685,0,2,"Brown, Mr. Thomas William Solomon",male,60,1,1,29750,39,,S +686,0,2,"Laroche, Mr. Joseph Philippe Lemercier",male,25,1,2,SC/Paris 2123,41.5792,,C +687,0,3,"Panula, Mr. Jaako Arnold",male,14,4,1,3101295,39.6875,,S +688,0,3,"Dakic, Mr. Branko",male,19,0,0,349228,10.1708,,S +689,0,3,"Fischer, Mr. Eberhard Thelander",male,18,0,0,350036,7.7958,,S +690,1,1,"Madill, Miss. Georgette Alexandra",female,15,0,1,24160,211.3375,B5,S +691,1,1,"Dick, Mr. Albert Adrian",male,31,1,0,17474,57,B20,S +692,1,3,"Karun, Miss. Manca",female,4,0,1,349256,13.4167,,C +693,1,3,"Lam, Mr. Ali",male,,0,0,1601,56.4958,,S +694,0,3,"Saad, Mr. Khalil",male,25,0,0,2672,7.225,,C +695,0,1,"Weir, Col. John",male,60,0,0,113800,26.55,,S +696,0,2,"Chapman, Mr. Charles Henry",male,52,0,0,248731,13.5,,S +697,0,3,"Kelly, Mr. James",male,44,0,0,363592,8.05,,S +698,1,3,"Mullens, Miss. Katherine ""Katie""",female,,0,0,35852,7.7333,,Q +699,0,1,"Thayer, Mr. John Borland",male,49,1,1,17421,110.8833,C68,C +700,0,3,"Humblen, Mr. Adolf Mathias Nicolai Olsen",male,42,0,0,348121,7.65,F G63,S +701,1,1,"Astor, Mrs. John Jacob (Madeleine Talmadge Force)",female,18,1,0,PC 17757,227.525,C62 C64,C +702,1,1,"Silverthorne, Mr. Spencer Victor",male,35,0,0,PC 17475,26.2875,E24,S +703,0,3,"Barbara, Miss. Saiide",female,18,0,1,2691,14.4542,,C +704,0,3,"Gallagher, Mr. Martin",male,25,0,0,36864,7.7417,,Q +705,0,3,"Hansen, Mr. Henrik Juul",male,26,1,0,350025,7.8542,,S +706,0,2,"Morley, Mr. Henry Samuel (""Mr Henry Marshall"")",male,39,0,0,250655,26,,S +707,1,2,"Kelly, Mrs. Florence ""Fannie""",female,45,0,0,223596,13.5,,S +708,1,1,"Calderhead, Mr. Edward Pennington",male,42,0,0,PC 17476,26.2875,E24,S +709,1,1,"Cleaver, Miss. Alice",female,22,0,0,113781,151.55,,S +710,1,3,"Moubarek, Master. Halim Gonios (""William George"")",male,,1,1,2661,15.2458,,C +711,1,1,"Mayne, Mlle. Berthe Antonine (""Mrs de Villiers"")",female,24,0,0,PC 17482,49.5042,C90,C +712,0,1,"Klaber, Mr. Herman",male,,0,0,113028,26.55,C124,S +713,1,1,"Taylor, Mr. Elmer Zebley",male,48,1,0,19996,52,C126,S +714,0,3,"Larsson, Mr. August Viktor",male,29,0,0,7545,9.4833,,S +715,0,2,"Greenberg, Mr. Samuel",male,52,0,0,250647,13,,S +716,0,3,"Soholt, Mr. Peter Andreas Lauritz Andersen",male,19,0,0,348124,7.65,F G73,S +717,1,1,"Endres, Miss. Caroline Louise",female,38,0,0,PC 17757,227.525,C45,C +718,1,2,"Troutt, Miss. Edwina Celia ""Winnie""",female,27,0,0,34218,10.5,E101,S +719,0,3,"McEvoy, Mr. Michael",male,,0,0,36568,15.5,,Q +720,0,3,"Johnson, Mr. Malkolm Joackim",male,33,0,0,347062,7.775,,S +721,1,2,"Harper, Miss. Annie Jessie ""Nina""",female,6,0,1,248727,33,,S +722,0,3,"Jensen, Mr. Svend Lauritz",male,17,1,0,350048,7.0542,,S +723,0,2,"Gillespie, Mr. William Henry",male,34,0,0,12233,13,,S +724,0,2,"Hodges, Mr. Henry Price",male,50,0,0,250643,13,,S +725,1,1,"Chambers, Mr. Norman Campbell",male,27,1,0,113806,53.1,E8,S +726,0,3,"Oreskovic, Mr. Luka",male,20,0,0,315094,8.6625,,S +727,1,2,"Renouf, Mrs. Peter Henry (Lillian Jefferys)",female,30,3,0,31027,21,,S +728,1,3,"Mannion, Miss. Margareth",female,,0,0,36866,7.7375,,Q +729,0,2,"Bryhl, Mr. Kurt Arnold Gottfrid",male,25,1,0,236853,26,,S +730,0,3,"Ilmakangas, Miss. Pieta Sofia",female,25,1,0,STON/O2. 3101271,7.925,,S +731,1,1,"Allen, Miss. Elisabeth Walton",female,29,0,0,24160,211.3375,B5,S +732,0,3,"Hassan, Mr. Houssein G N",male,11,0,0,2699,18.7875,,C +733,0,2,"Knight, Mr. Robert J",male,,0,0,239855,0,,S +734,0,2,"Berriman, Mr. William John",male,23,0,0,28425,13,,S +735,0,2,"Troupiansky, Mr. Moses Aaron",male,23,0,0,233639,13,,S +736,0,3,"Williams, Mr. Leslie",male,28.5,0,0,54636,16.1,,S +737,0,3,"Ford, Mrs. Edward (Margaret Ann Watson)",female,48,1,3,W./C. 6608,34.375,,S +738,1,1,"Lesurer, Mr. Gustave J",male,35,0,0,PC 17755,512.3292,B101,C +739,0,3,"Ivanoff, Mr. Kanio",male,,0,0,349201,7.8958,,S +740,0,3,"Nankoff, Mr. Minko",male,,0,0,349218,7.8958,,S +741,1,1,"Hawksford, Mr. Walter James",male,,0,0,16988,30,D45,S +742,0,1,"Cavendish, Mr. Tyrell William",male,36,1,0,19877,78.85,C46,S +743,1,1,"Ryerson, Miss. Susan Parker ""Suzette""",female,21,2,2,PC 17608,262.375,B57 B59 B63 B66,C +744,0,3,"McNamee, Mr. Neal",male,24,1,0,376566,16.1,,S +745,1,3,"Stranden, Mr. Juho",male,31,0,0,STON/O 2. 3101288,7.925,,S +746,0,1,"Crosby, Capt. Edward Gifford",male,70,1,1,WE/P 5735,71,B22,S +747,0,3,"Abbott, Mr. Rossmore Edward",male,16,1,1,C.A. 2673,20.25,,S +748,1,2,"Sinkkonen, Miss. Anna",female,30,0,0,250648,13,,S +749,0,1,"Marvin, Mr. Daniel Warner",male,19,1,0,113773,53.1,D30,S +750,0,3,"Connaghton, Mr. Michael",male,31,0,0,335097,7.75,,Q +751,1,2,"Wells, Miss. Joan",female,4,1,1,29103,23,,S +752,1,3,"Moor, Master. Meier",male,6,0,1,392096,12.475,E121,S +753,0,3,"Vande Velde, Mr. Johannes Joseph",male,33,0,0,345780,9.5,,S +754,0,3,"Jonkoff, Mr. Lalio",male,23,0,0,349204,7.8958,,S +755,1,2,"Herman, Mrs. Samuel (Jane Laver)",female,48,1,2,220845,65,,S +756,1,2,"Hamalainen, Master. Viljo",male,0.67,1,1,250649,14.5,,S +757,0,3,"Carlsson, Mr. August Sigfrid",male,28,0,0,350042,7.7958,,S +758,0,2,"Bailey, Mr. Percy Andrew",male,18,0,0,29108,11.5,,S +759,0,3,"Theobald, Mr. Thomas Leonard",male,34,0,0,363294,8.05,,S +760,1,1,"Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)",female,33,0,0,110152,86.5,B77,S +761,0,3,"Garfirth, Mr. John",male,,0,0,358585,14.5,,S +762,0,3,"Nirva, Mr. Iisakki Antino Aijo",male,41,0,0,SOTON/O2 3101272,7.125,,S +763,1,3,"Barah, Mr. Hanna Assi",male,20,0,0,2663,7.2292,,C +764,1,1,"Carter, Mrs. William Ernest (Lucile Polk)",female,36,1,2,113760,120,B96 B98,S +765,0,3,"Eklund, Mr. Hans Linus",male,16,0,0,347074,7.775,,S +766,1,1,"Hogeboom, Mrs. John C (Anna Andrews)",female,51,1,0,13502,77.9583,D11,S +767,0,1,"Brewe, Dr. Arthur Jackson",male,,0,0,112379,39.6,,C +768,0,3,"Mangan, Miss. Mary",female,30.5,0,0,364850,7.75,,Q +769,0,3,"Moran, Mr. Daniel J",male,,1,0,371110,24.15,,Q +770,0,3,"Gronnestad, Mr. Daniel Danielsen",male,32,0,0,8471,8.3625,,S +771,0,3,"Lievens, Mr. Rene Aime",male,24,0,0,345781,9.5,,S +772,0,3,"Jensen, Mr. Niels Peder",male,48,0,0,350047,7.8542,,S +773,0,2,"Mack, Mrs. (Mary)",female,57,0,0,S.O./P.P. 3,10.5,E77,S +774,0,3,"Elias, Mr. Dibo",male,,0,0,2674,7.225,,C +775,1,2,"Hocking, Mrs. Elizabeth (Eliza Needs)",female,54,1,3,29105,23,,S +776,0,3,"Myhrman, Mr. Pehr Fabian Oliver Malkolm",male,18,0,0,347078,7.75,,S +777,0,3,"Tobin, Mr. Roger",male,,0,0,383121,7.75,F38,Q +778,1,3,"Emanuel, Miss. Virginia Ethel",female,5,0,0,364516,12.475,,S +779,0,3,"Kilgannon, Mr. Thomas J",male,,0,0,36865,7.7375,,Q +780,1,1,"Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)",female,43,0,1,24160,211.3375,B3,S +781,1,3,"Ayoub, Miss. Banoura",female,13,0,0,2687,7.2292,,C +782,1,1,"Dick, Mrs. Albert Adrian (Vera Gillespie)",female,17,1,0,17474,57,B20,S +783,0,1,"Long, Mr. Milton Clyde",male,29,0,0,113501,30,D6,S +784,0,3,"Johnston, Mr. Andrew G",male,,1,2,W./C. 6607,23.45,,S +785,0,3,"Ali, Mr. William",male,25,0,0,SOTON/O.Q. 3101312,7.05,,S +786,0,3,"Harmer, Mr. Abraham (David Lishin)",male,25,0,0,374887,7.25,,S +787,1,3,"Sjoblom, Miss. Anna Sofia",female,18,0,0,3101265,7.4958,,S +788,0,3,"Rice, Master. George Hugh",male,8,4,1,382652,29.125,,Q +789,1,3,"Dean, Master. Bertram Vere",male,1,1,2,C.A. 2315,20.575,,S +790,0,1,"Guggenheim, Mr. Benjamin",male,46,0,0,PC 17593,79.2,B82 B84,C +791,0,3,"Keane, Mr. Andrew ""Andy""",male,,0,0,12460,7.75,,Q +792,0,2,"Gaskell, Mr. Alfred",male,16,0,0,239865,26,,S +793,0,3,"Sage, Miss. Stella Anna",female,,8,2,CA. 2343,69.55,,S +794,0,1,"Hoyt, Mr. William Fisher",male,,0,0,PC 17600,30.6958,,C +795,0,3,"Dantcheff, Mr. Ristiu",male,25,0,0,349203,7.8958,,S +796,0,2,"Otter, Mr. Richard",male,39,0,0,28213,13,,S +797,1,1,"Leader, Dr. Alice (Farnham)",female,49,0,0,17465,25.9292,D17,S +798,1,3,"Osman, Mrs. Mara",female,31,0,0,349244,8.6833,,S +799,0,3,"Ibrahim Shawah, Mr. Yousseff",male,30,0,0,2685,7.2292,,C +800,0,3,"Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)",female,30,1,1,345773,24.15,,S +801,0,2,"Ponesell, Mr. Martin",male,34,0,0,250647,13,,S +802,1,2,"Collyer, Mrs. Harvey (Charlotte Annie Tate)",female,31,1,1,C.A. 31921,26.25,,S +803,1,1,"Carter, Master. William Thornton II",male,11,1,2,113760,120,B96 B98,S +804,1,3,"Thomas, Master. Assad Alexander",male,0.42,0,1,2625,8.5167,,C +805,1,3,"Hedman, Mr. Oskar Arvid",male,27,0,0,347089,6.975,,S +806,0,3,"Johansson, Mr. Karl Johan",male,31,0,0,347063,7.775,,S +807,0,1,"Andrews, Mr. Thomas Jr",male,39,0,0,112050,0,A36,S +808,0,3,"Pettersson, Miss. Ellen Natalia",female,18,0,0,347087,7.775,,S +809,0,2,"Meyer, Mr. August",male,39,0,0,248723,13,,S +810,1,1,"Chambers, Mrs. Norman Campbell (Bertha Griggs)",female,33,1,0,113806,53.1,E8,S +811,0,3,"Alexander, Mr. William",male,26,0,0,3474,7.8875,,S +812,0,3,"Lester, Mr. James",male,39,0,0,A/4 48871,24.15,,S +813,0,2,"Slemen, Mr. Richard James",male,35,0,0,28206,10.5,,S +814,0,3,"Andersson, Miss. Ebba Iris Alfrida",female,6,4,2,347082,31.275,,S +815,0,3,"Tomlin, Mr. Ernest Portage",male,30.5,0,0,364499,8.05,,S +816,0,1,"Fry, Mr. Richard",male,,0,0,112058,0,B102,S +817,0,3,"Heininen, Miss. Wendla Maria",female,23,0,0,STON/O2. 3101290,7.925,,S +818,0,2,"Mallet, Mr. Albert",male,31,1,1,S.C./PARIS 2079,37.0042,,C +819,0,3,"Holm, Mr. John Fredrik Alexander",male,43,0,0,C 7075,6.45,,S +820,0,3,"Skoog, Master. Karl Thorsten",male,10,3,2,347088,27.9,,S +821,1,1,"Hays, Mrs. Charles Melville (Clara Jennings Gregg)",female,52,1,1,12749,93.5,B69,S +822,1,3,"Lulic, Mr. Nikola",male,27,0,0,315098,8.6625,,S +823,0,1,"Reuchlin, Jonkheer. John George",male,38,0,0,19972,0,,S +824,1,3,"Moor, Mrs. (Beila)",female,27,0,1,392096,12.475,E121,S +825,0,3,"Panula, Master. Urho Abraham",male,2,4,1,3101295,39.6875,,S +826,0,3,"Flynn, Mr. John",male,,0,0,368323,6.95,,Q +827,0,3,"Lam, Mr. Len",male,,0,0,1601,56.4958,,S +828,1,2,"Mallet, Master. Andre",male,1,0,2,S.C./PARIS 2079,37.0042,,C +829,1,3,"McCormack, Mr. Thomas Joseph",male,,0,0,367228,7.75,,Q +830,1,1,"Stone, Mrs. George Nelson (Martha Evelyn)",female,62,0,0,113572,80,B28, +831,1,3,"Yasbeck, Mrs. Antoni (Selini Alexander)",female,15,1,0,2659,14.4542,,C +832,1,2,"Richards, Master. George Sibley",male,0.83,1,1,29106,18.75,,S +833,0,3,"Saad, Mr. Amin",male,,0,0,2671,7.2292,,C +834,0,3,"Augustsson, Mr. Albert",male,23,0,0,347468,7.8542,,S +835,0,3,"Allum, Mr. Owen George",male,18,0,0,2223,8.3,,S +836,1,1,"Compton, Miss. Sara Rebecca",female,39,1,1,PC 17756,83.1583,E49,C +837,0,3,"Pasic, Mr. Jakob",male,21,0,0,315097,8.6625,,S +838,0,3,"Sirota, Mr. Maurice",male,,0,0,392092,8.05,,S +839,1,3,"Chip, Mr. Chang",male,32,0,0,1601,56.4958,,S +840,1,1,"Marechal, Mr. Pierre",male,,0,0,11774,29.7,C47,C +841,0,3,"Alhomaki, Mr. Ilmari Rudolf",male,20,0,0,SOTON/O2 3101287,7.925,,S +842,0,2,"Mudd, Mr. Thomas Charles",male,16,0,0,S.O./P.P. 3,10.5,,S +843,1,1,"Serepeca, Miss. Augusta",female,30,0,0,113798,31,,C +844,0,3,"Lemberopolous, Mr. Peter L",male,34.5,0,0,2683,6.4375,,C +845,0,3,"Culumovic, Mr. Jeso",male,17,0,0,315090,8.6625,,S +846,0,3,"Abbing, Mr. Anthony",male,42,0,0,C.A. 5547,7.55,,S +847,0,3,"Sage, Mr. Douglas Bullen",male,,8,2,CA. 2343,69.55,,S +848,0,3,"Markoff, Mr. Marin",male,35,0,0,349213,7.8958,,C +849,0,2,"Harper, Rev. John",male,28,0,1,248727,33,,S +850,1,1,"Goldenberg, Mrs. Samuel L (Edwiga Grabowska)",female,,1,0,17453,89.1042,C92,C +851,0,3,"Andersson, Master. Sigvard Harald Elias",male,4,4,2,347082,31.275,,S +852,0,3,"Svensson, Mr. Johan",male,74,0,0,347060,7.775,,S +853,0,3,"Boulos, Miss. Nourelain",female,9,1,1,2678,15.2458,,C +854,1,1,"Lines, Miss. Mary Conover",female,16,0,1,PC 17592,39.4,D28,S +855,0,2,"Carter, Mrs. Ernest Courtenay (Lilian Hughes)",female,44,1,0,244252,26,,S +856,1,3,"Aks, Mrs. Sam (Leah Rosen)",female,18,0,1,392091,9.35,,S +857,1,1,"Wick, Mrs. George Dennick (Mary Hitchcock)",female,45,1,1,36928,164.8667,,S +858,1,1,"Daly, Mr. Peter Denis ",male,51,0,0,113055,26.55,E17,S +859,1,3,"Baclini, Mrs. Solomon (Latifa Qurban)",female,24,0,3,2666,19.2583,,C +860,0,3,"Razi, Mr. Raihed",male,,0,0,2629,7.2292,,C +861,0,3,"Hansen, Mr. Claus Peter",male,41,2,0,350026,14.1083,,S +862,0,2,"Giles, Mr. Frederick Edward",male,21,1,0,28134,11.5,,S +863,1,1,"Swift, Mrs. Frederick Joel (Margaret Welles Barron)",female,48,0,0,17466,25.9292,D17,S +864,0,3,"Sage, Miss. Dorothy Edith ""Dolly""",female,,8,2,CA. 2343,69.55,,S +865,0,2,"Gill, Mr. John William",male,24,0,0,233866,13,,S +866,1,2,"Bystrom, Mrs. (Karolina)",female,42,0,0,236852,13,,S +867,1,2,"Duran y More, Miss. Asuncion",female,27,1,0,SC/PARIS 2149,13.8583,,C +868,0,1,"Roebling, Mr. Washington Augustus II",male,31,0,0,PC 17590,50.4958,A24,S +869,0,3,"van Melkebeke, Mr. Philemon",male,,0,0,345777,9.5,,S +870,1,3,"Johnson, Master. Harold Theodor",male,4,1,1,347742,11.1333,,S +871,0,3,"Balkic, Mr. Cerin",male,26,0,0,349248,7.8958,,S +872,1,1,"Beckwith, Mrs. Richard Leonard (Sallie Monypeny)",female,47,1,1,11751,52.5542,D35,S +873,0,1,"Carlsson, Mr. Frans Olof",male,33,0,0,695,5,B51 B53 B55,S +874,0,3,"Vander Cruyssen, Mr. Victor",male,47,0,0,345765,9,,S +875,1,2,"Abelson, Mrs. Samuel (Hannah Wizosky)",female,28,1,0,P/PP 3381,24,,C +876,1,3,"Najib, Miss. Adele Kiamie ""Jane""",female,15,0,0,2667,7.225,,C +877,0,3,"Gustafsson, Mr. Alfred Ossian",male,20,0,0,7534,9.8458,,S +878,0,3,"Petroff, Mr. Nedelio",male,19,0,0,349212,7.8958,,S +879,0,3,"Laleff, Mr. Kristo",male,,0,0,349217,7.8958,,S +880,1,1,"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)",female,56,0,1,11767,83.1583,C50,C +881,1,2,"Shelley, Mrs. William (Imanita Parrish Hall)",female,25,0,1,230433,26,,S +882,0,3,"Markun, Mr. Johann",male,33,0,0,349257,7.8958,,S +883,0,3,"Dahlberg, Miss. Gerda Ulrika",female,22,0,0,7552,10.5167,,S +884,0,2,"Banfield, Mr. Frederick James",male,28,0,0,C.A./SOTON 34068,10.5,,S +885,0,3,"Sutehall, Mr. Henry Jr",male,25,0,0,SOTON/OQ 392076,7.05,,S +886,0,3,"Rice, Mrs. William (Margaret Norton)",female,39,0,5,382652,29.125,,Q +887,0,2,"Montvila, Rev. Juozas",male,27,0,0,211536,13,,S +888,1,1,"Graham, Miss. Margaret Edith",female,19,0,0,112053,30,B42,S +889,0,3,"Johnston, Miss. Catherine Helen ""Carrie""",female,,1,2,W./C. 6607,23.45,,S +890,1,1,"Behr, Mr. Karl Howell",male,26,0,0,111369,30,C148,C +891,0,3,"Dooley, Mr. Patrick",male,32,0,0,370376,7.75,,Q diff --git a/examples/vertical-fl/_static/hfl.jpg b/examples/vertical-fl/_static/hfl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7fd4c47de2b3265229c4efdbb577ee8c109baf23 GIT binary patch literal 778069 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

jXyq)KZzKg$ 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

($E#b~*!#W! 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 z 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
    t$Oly3dl1TmzQ6l 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 wUEwUn^U}byNr2rhL$odgwd

    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�rj4kPLkHfwJ&G5=Q1SYNAj28b9w(ezHHxd zl!n6>%&?|w^7t^8JZLhbc_i5c$H>|EPI?Ed<4bn)8e>cUe-VED)uZ4hxt%SbC*fuj z5LNo=JC1m1__43VtpTZ`Vd25&KJ!??VX`g|QQ!uy-boti@iLVTtYwIEW8wBvaLt;! zr{g*OA_*Eh^z}2`sy61H>NJn`^Rk)rp_GjnH&WQ2)A7`9gKHThI8teRR3!Oai{!&v zzHm*Np=)ohGxkVATfQ9|TxV2%$GNMK3dc?&N(bKlj`KA*&BF9g>H3%VGPl~oZXSHc z!LDupSNsajKhUQCKa6;&tN+>XL9x>HrlA7M5A=&qVt-#`%M2}-0_YF=%aa+M1c$i3 zkz!cUs39J68 zr&0)sHS?}QgZP#$R)3GO%V?J5UCCY@zZR`|dP(d2^!XJe5 zAK@>Q)t^VOo4=rA|2)W7I&FQy{#Mew`f|CIa(gcF(9^xu#%Td8%i6v``L507J5Jw` z0o|L(zbh06hmOMp`5@Xqp-QrO!rYS^y_7_3Qvo%FVJU4<;+WUI#f0W`um?n z{geH@fseL+RR)^d^_3EroOc2S&#Mz)Vi88U_@jGBMVVFC2{!moNJ zZ~N)q!YL(3I{bi2a9FZ`89U|Q8MiK#x3EJOcxN)xE|PDt;jbxwQMFsCT_~Rj9CgI` zInnmlfB*RF?_}}*jPO5_YoNVbG?XQyTv<;pPu9jSFMuuj)JJ(EPN%M2S7eIT>Q<>w z|1{Rm{Xb=j|7%PZENX*}DFEh)VZdKrdT* zvSYr^P}ivaL9hae82ltyk=bR;Jozt2usRkMrR8P=jShCYT?kMsD(tVwzis7DISUN@ zu<6svaO8U#s$9?DjncZ<(K{p8%^iKmA)^p8rW<^71?dqZf35_U1)aiV^wwhcYXzibO!es(V{=W0V@FZ;aj zm$l+R5w+&^8y=j$i77_nUPbZYVpKyE*}1!!&Tn(vg7(oUxhr=N;CyT0A13*aXZ~+7 zANsr711gsiHAJu4CaA+}G>o30k+1z9_=OD@uzW<7fP+N@tYdWn7L-M{`&c?Dz9`)t38xf zfYV;;)Y1Y#DDP34)$@%XudQ6?W+)mN40r(0$hbOy2)D>ieI`^HztA z0X}gOn}YnN+`~kCc-U+In;7YDf-=@Ro_9ViJ+Z!V&spwJWkknz?mNyb ztfTBeU*PI*UK!k3-k9BcTb_X#&+TTi9Ppg?g47+<_&|*&L7`uCs@soS&NEM0D=v%P zaR~cOT-QnRUX}$WdL*}cChxisUP;5 zYQBnfi})R7jFOh`ox5ZR9mw6pu4e1y1gdgR_}UFD?Pl()G8;%(l6vfYP{nsheEBaW ziSjP(^$)^LDz)=2Kf~dyZjtLB1FpU6ByRrx%WNDA5B-^luJHQYLGnax(eT_TfMc%| zWU^og-TRIM^hrHo+44N{y?%r7ObR^6PWX;9d4JzYl^TNrR<9tp*9M1|x^NM99S%Ci zEwlq3mxS8R zXD=**b>UZoVF6^#O7)@~%Vg2mibk3*59D=A zq0Of-V4!AfP(u-z5)o7&Zgkyk<|;`DE>qw~GD&hObDs$9Fi^GQ48VZ%c$!l&L>!=|_!tc2~A+*{m zLUApvQ->M$(MhA$yKPx%spb}nC#jmGbr>%yC8OlrjbjjBf*OzbD1TFnvu(ZLqrw)> z(0qG~KV7!}s>}LIxS*p=RV9^!cf75?rl^}e$vgzw>wYB`55fnTngZ=`O9-LWN@t@J zvZ4=oCOCa}>R4aX$+)P<0vlz+V&RnWRn`5m@Db5FCY2dC>_TB0joao)0(R6H3O$!O z73Gojmm0^$WO2LK(NH0i%9Er!su^$z)O6AjaMB^n3qbGbz^m}IS0P2f?QGJSWjgUt z-<94Cq2hCu`N&(Pdga(fFF}6FJpSEEoNL{%tOYzXLNI7tLqmZr&#oY@sxeC05VbZK zDib351ZlC%c|R#JqRfSjK=*jLWpzi57&7|Do);LlvkLjeN6AjdDU|{hUaWPiYk+OmYglK^3URPt-1(- z;@@%F*rr}nR#%gVD3G%0zh*5vs{8n^H!{t1Iy7|p9#IvrAL71tgAiD=fdLecYy)m# zlv~YaZCf-3r-pk4-{LDLJUBJ7Qmd9z#IA%lG`u&+x4TjGH0r`|MyI}8F>h<3)83_X z;+ye0TWdx$#i@b|+~|GFQJE)0be}kVZ^|(D<5aKBtFBZX>!-Nh#_q8kw3g>oWA8xX ze7k~glZ?!IZ(HXn#B2xRpXtYjFtF0SkFo9G8GzG5QL8|IrG!Yd%(Ptap*UrHPpPj? zQG~F_J9(GeF+U%u|3S{U{E3`-D}J>91ylWT(exzfXgFE<1h93q6}&bq;4NzGbRxdx zk8w)I=zx~J)m8&&t|KU=cFNv}jDNO0iGzY2rLeHZ7@bp&-dM+@^#DC^->O2_xOIg5}7pj!p%rn5C#6 zs#r@TqI^pVi{(@($T}STG6YXJkf%P0^eEfzEFmzhD|Dhu#L`K{_nl{#%cF1l zO(Y+8)qR7**+-;X)PM#%$-fd+Ou*U3qRWBJeRh*7SgqxqiQ>9|CHNjndR7_I4rkkO57-$1ZgLdFaWw02?u$8*6vOF@cpxgSs9*r9 z^jSdf*R1GgL(nw2_g|YauGYoHo+|*>$<-tx+bZE99jmX`0)~Xu`Cx$dS^RD7WlBi# zZtqj)cCNQm-FoUpve5!WDM!x-Vg`zVv@Nq?qj~ZUoK=jxJ1p}4!L_w4j}+3h!13`` zvh)h`;w9a7zI5vyH}XRzi+AxsT61somnm=^QNsm{cF2N3mzLj-n#w3h!MLvG-b=*1 zi5iYGvE#u4Lzc$VVwo$VlM>T-R}zZwM*X!?SHbbp>ZSJ8jj#EUkoIV}Dk?WG4#;KA zX-{}?iWtdsDAy@X3ppJ?`+UbSsu3G}VKh`D=7eu+7FpWLO&Y5w$HHjz==j;h+-RVX zLN$x!5%V0A>xAbtW7a9Rkdy4`Y?v`IDKXg{d(j9A#Vv^MT}2uHI_YmHKuun1n!-6S zrwNu{GY-aQd8pyr=cT1JwbJqCG$JCU=)uES8bx=Lb?bnJS$|X-_M4tI@ENbMfmA=Y zGGP>Xq`_Qfk0Ek4+tqQP*Il);+u-AK^_d=n9_Re_I16vXY6Cnz7&_7rX+py=QL+@t zd)o~HSI}fjD>o$XWqL3pbi{Rs;xv%57Fs-j8mlS=QDn3bZNE)-xul5@UZPA}g(l7G zn=1j$ACG8mG~x*yk)jMjV>FMv&abt5@+*>kh6pp4DDWqlWZ52i?GmxwR}(?VTRv%- zRH_ih72U9546!NBxO&@Rh~Qa6j@i~*4JGeZ#@j5%3vKGpGE7bK3XnA^PHYEUvxmbl zyiHD?MtkH9q0q{*8S}41wPYk~XkVYr!$=idS)K;yl$mb+ikUhM3<=y4fwj~%{5IO9 zj#a)*B~Z@PAUh!D;|K=xyOx^80iL2vGtXV1b7A3Q;tG6`bh#h+fYTXFqVXw*npUik zLd_ADwJ5`gO;SdhW$_{AIaX>ok2oEv)$-Y)(}ZwLgH8$z$kQpNSgQlkQ99V6c7c=G zl_V0NRg!{ zl%J6CT<+x8Ht+Fl)_IF-`}uFsG&mttjrX4HHN0qzQ-HHYa}+Ad(s;v;GmJ7KBImwz z?YAsfxF}KX&c^v@RT?JhRO^Kl(kZ)&2`uQN@|1o0eT3eIA2i7h3yhl|Zd+?@x9A?z zvwB15lVn?;R>5m{xmVp1sFTH}?-vn%{_z6;%i=z*mpFIu==u(>Btn*1kzBUi8P?R$ zWGDaFg{ki1{Cvpo{VOWfb+uVr_8mdUCk^#f?(ZBPD5NFE(~wV!58CNtp$Tz#5i7QA z84djRH3@6mLo~8uYNiEG&W{l;IXzQ?K0wbew#kMmm+HBF+UVvjH0 z;D!0ryRx#tQmcugBb!toB46U0NuK7Z4h4(y!ef<8F{)6QH1bs8G3xTOh2yr<>n@Mp zE)L}J+|Y4OV}`?iNU-cJrPMK2{ngJ^?3#OlT_bY9TVf#pVuKbX-eE> z2cmqqeY`6HOQ(2tZ2Tpp(&fWbU6k!ngCEE!ac~}s)}1+071`I_QPu7l5BIHc7~RMa zD#?*enGv?!6-`{lw={xkt%*g%@ux)Rh#Xm5c5jsx;G@9h@4|`jz>Glr7ypaBw~mV| z+xC4)(oq6wAVBa04IZR$Y22ycRzPql0gA#k3BfH;SfL%<-3krCJy_uoJV4>DdDY#g z_rAS9d*657`Mi7I=f1P+kG0kZYRp<|t~uA5bIdWmzX0?ET26L%Y2}54ZfALBd8dMv z`uzBny!p@Fzy4O`zklwEEU&2LVm4ZaQ-5PT{zN!ERckAtRE~J85J?#&_064&_Vo+t z8S40+io#fEn9}%1sFk??x1<=Uo}!FEE$uI>Gip{{D_!s^8HEoUPghibg~D89OQW~G z%7?V>q+AJ{gecMIt{2EqQDTmOIy2MqH+&skgsMAz#``Jzf^quHw?gc%98A8EXSbbi)l3 z87#p=9R|ltr`p8%{)zoOP$k;CEZN{y9D$~N#0U0z(NJxQ|?|D!v+btRp<;_z3yk=IM?O^8mf4p~mp%0kKvv70u!`{vce+Nt zdLaAy-)SWO=`@o2@fJ>LA*^|t8iW?*>Gq7Z&sbp{F*ULAj3un~QLNH5{4Zy=6bx8$ zi^Z>HX)+a$gleCQa`RG~zU({EebVE@(?ck~TsOGU2dy3pzvG92(zM#FdHcOl>d9Oq zi$;X|-VIR*E$AqxUewKwXQyz;UJtM`zMC}xh^|iq+m7qcPNDpTW)gntE!nIu;f=@i z$*vWyC}pCy6+|DGcFd7em8-WlzK~~o`&)0jAKJI#`~wf8*^=mZYs2P{xuqlXoDuK( z_nwGH(j)onCo2z5bpZ^JZI=KTSvbpjmgZOF%Bl8=jgK!S z3Xov(KICU@a1_syaH!IZny9riD=#0I8QRF@bf6cOI>od}@4U~UhSV)t2Jt~R5Ov+> z?Zw44dz>@zj)I;tm=iQ%(a5APX3Ps;WBJJ&_Z(mj<3jJm{w9~pRt?hd%K>F_Z|4$! zzpzROJ>}0?{8N?7s!=*mHKnJ&>kL3kb;V0Tg9@tyUBe8>(+%nON)!zFR(;_x1%M$+ z!=R(5%Rk{1i;ex~z5rbG#huvX`|PWcQb~>~k-Q7moF6nh(Xf`qq?FF8cmil(*mKOY z*)gK>m|d#r`ztbsVC|ZXMS}+Vu1{?{VXt!{VvAugpgprQ&`r866B5dZ``f7!d`hw1U;`(jR!1%lhG9o@Ao@_r5o+h$lgn|1c|Ljyx~~)NVc+fs7#>kWF8CPPy3^p;I{vN7Bl#Nwq`s$ zZyM%ASIIVG?(_xcMK=Q_jL*0^F2ucg_A`^&Cmv{w04`jUkis zj;9)Rr0V4>-}y&Ypc%(5dqX_nSbCtl6)raAVKuxwIu#Y+A;a&(Bj);<4vQnyY~~twa=q2 zf#Xk-t`hphke8;tB3Dm(FJzBRLmD=74N5UKzEJe50TjHg{H#aB=dx+3r=Tag&Uz>k z)W9P!TqKUTmbRF0y!rJS(U=4*7&4;MmiXjd+P8X6m%pH6dLh%(II$wZ5_`%0a=%`Z z?fX+Sz+9&*z))O$KOf>?-zT+>eD6T^uQ?C^@j;Lt%^a@8Ae6njlUB?2f;2Sldh4j3XF|GXtx!~lzmFUp53;=Ux-%99~L)~vqMLA zuYo~fn=#Vq+G8#{_#jl$wmEkdk1s>-<4XVfUGUyIuf2Nvf?)_2LA?lo1*I&ccQ?VR zi&reBX~~1F?UfS3<}-99WAX`K@D%Qi^~m&X3F44DM#hXT;Rkih{TnT-=oFSq>%HX7 z*n_D#^&Zx_FY%Im$1oFx>XlO48awCP?yCb5y^YKx-zo-zeAI>pLePin55FXoyD`Iy z%kZI>Jc+rg7+cQ)Ia+$1S?C0&EoyGI=ZT8MSw_`-NW4I?sQ!F*@VXUnADR-^S`9*f2Ye@-&zjkbGu7bzG z1R)kQ7n^6N@T@+t8dVf&s3p}Pe}1S?&q0q7C#Tpe3={Roj5Tm!Vw6(>Y%o0vH^A)@ z8&OedMlnBQvqD4@300IXt&-G!K+%!zx-=V5h1Q9|G?a|W9gr2(43n1I5F}(fnVt#E zRZubD_GT2^!J%hNTr>j~wR>A*pb(v}Bz<97Xr$R=7{?1Sj(g=RoV0e4fVi0wRIS?V z0#g;Lx~sL_Rd9}LT(S<)wERoN#chA&%Gn7?lrawfJZAz3v(Q1ohMD+8)Is*}CwKWeSqpQ6-yRt&qwCZXc zKKHHB>T6gx^FENQ=U2s?J~u)$+}kUr?ITL<@%P|pDgQY90tX_0h8$3q;^9oUSuM(J z`a{9=GsY~75oOdKrU1^9{}te|(-q&Mti(g3#ctzi704yc2GetaOm1pT(L0cV&jrhb z<)$_At8;qtmPen8RWuJF=BgTLkrvSY_vyl2h3w92B!SE4V8Zy&KxV;EQ~iO;R5I@% z5)Wfa{09K#*pPy_oY45eczw(#V`2t_(CYj+cksF(xP&b@LRBdC-EH;rErv+hFb-7Q z6x=t|Stv=?$nEys_kyUzeOPJk7i#1`R`Vv_IQ?>`oYswOaY z@J@#_)f7~y+M58ZXuA1OVZ>Ta7R5nHMz;HUtPHFLtl9bR#kUzB&GvWblt4}xkOE^M z_pgZ-YoYFo@oErjx!$@rd28F+pa!7`RH%p8e=pLF?rv)(L2`cOfZsc8p_+Ky>JhOm z_{53^2Upb(0UD_RD{|joeQy#7GDH|ey&!((NmUWeD;n$**x&T!M1jLef*(}`aw?T9 zla4F#wuhJ&Adpd65M;P6mBk0IWcj`OmfaZiPQjGOsktG1!4lHQtXtd7&Iyq9yqsMp zn-U5`F%^>WGU=Jn4+z4PS&6YWiU*~vuF7$QpR_+>WB}f_Yid-<#gGJE#}mMSE5VKv zc4{~4n*nQ9Wc0Z))$kN)abM3eIEQ_v>r}1ok(tKtuNc+=@A%~7`qB%v&$lyhBIQj3 zi60M}&OfJ8q>}JD=M2nT(qF#$3KVKKAE+=^DTE{Y-C*7%CTO0OJle9*ujRY-;=sMPM#}1iNzx&(p5aAxF1tG3OgYP z(bv(P(N)i`F7dZfv$>~c9H$m8&y1PWRg0`cvgiI1Go6%hYqCUWw5TpXVA&q$8_epD zlp-g{?^I`_&%tj8>wUzLheU=N)T-iXN(EreiSL`ALXWKtm??}E*DT!$e77*6(UET| zcG+@TJBwFMSg7p~DFH7u3XM_{gTdy@5(AoP@(R}d=L|{-pxI(KGH6(}V{2cf;Qbt} zHH)m`i1HS_Rr?ODxIoLvKrKuy6+@I*Z|<^*9J+>Zdwj-U&e{m^w0y?l>l~KGFL{e2 znfO!prhZR3*0rqoRiEVoccad=oy%pDcUkpz7Q!$rBmlx!^QZlRoElSVOF))8s57D1wWnvfG%h6;{Z22 zFvzxeVR^e+tUD9vivrayy*-5FeX!Fml&;2=GgL$`K&<$doO&|E~>Gd?LK$}Gz34h>G z_F#`Nb2C@yu#6hObsD<1%feu+v#qvM+#*SCf?@#SK;wN|nnK6i2>&mdGSaVRJj&wql(~H<;1;!1ymMAfHH;Aj8d}|uCWS?Ce zza+WaCMpTQP}K8LXPUF835gj-bf8h00|z4K6O@JS)P)@M-G7H9w;m`-zFPlfN8 zJT-T24C?X#G}M~#g<2(b0~dkJ&AA!OByq^Z+ehNv<)S zHh+I3|FFYz zoVx#6X<=?;zr5Hp6H~@{4;ZB{TbmMrWNeK`0aYsKsuxqsmxQS%G8*aV!_sLPX)yK_ zIrFq*^CH@KOCGH1n2-Z4e2|o@Ub(K|IfZGBtP)qbPKzYCQH1?Ar&JR&K<PaWoyyGh4i$ZMMIG5jryZKQWauO))(^M;$$kzMWvZSx^wK@KjL#67 zL78MfSj%2AR^#^C!MwDMUr@NvI@#yZ#*Xrga&Xga-3ODKXPI6Io{>zai*L3c@ZtZ%%NbqiFO}8)sIBB*k;M|}5r$O%b? zg;Gj-n@adEC8%TC#QBJAl&C|o8cu7I9VTK_mD}DlwV}A@{UevI?qp!`s9&bYZ^46) zr5XhT(aX(f^wg!qs*C=y;j(lP;Zqxq1F>9&O2?(Ii)TKMwFD2uYI@;0V$XQGXI(my zFtCc5AwlA2mTB@GBygwGq?A)(kM8sq^QXAwU*TQ1Z7hpr=qzwd6v#Y%iJuG#%0fJx zHbM|&;xhWwQkGNJ!oH4SAl+L$&`_{qG`HF8$`jJ210(L+Ph-GTtage%S*l}wROXSP zsZ$vNpb|gb8xF0pOjrJQKRGx@=A+P-(Y)17G9;-pI@38X+Up4Vj8$B!IryV&Rf`CN zthbGm(adJLVmf0UYSMh-$sWuXBXSV~sc3^qChig{aodlrBtQQgXlPZHoe_GmX%NGo z=CA*K8e@%VY9z~{Dd{1oswS#eGd9tV?#1!~TpR4t>U6r*va6XLQUzPs;R3Z$&H zEdx$sw+f%tsr#r!FTbh?XBW;Zs)hr5~xNzoTaVvr)4l-T}+=qf=87 zOy$m{EH!krC-P&kgVzwXvQa;#dQ+TI^sQ zG^{mTnQ3xePBJpb>Q8*VWG@Ta4^oZ~o2pZjQawbREPm1a)E@QfV`<;lpiq!Y(R-m4 zD<-Z_qs%&eQOeL*a|Z;Ew}K|b%*zG~Cs@`|(}3DmT+ zXRZn6mo$|x;0+=1o&3n z6D>OYwNgR`)lq!y`MkeZfL8I1y!thC_dxX)Zh-ns@8j9Mp6MhT(TOCaz49={j)4JX zPBLU-IU6}`PLx{tesv`&DP4Smm2BjtVO0>Nk=8TcrmdfV;Vm!2zlNxvWuRiz$m#{) zmDEI@#u9$s0ep0f4wg>f`5iynpYDu$Gp=>Mn>d>8(m_DfmxWSUdt%~A+8!XW#V{z1 zuVkxrjiLsQ89U3r@(_qMokJv%9tosD+39!70i%iO4 z77*H`#N=MJ9Pi&;En7}EBi}41GK;HK9o7$^(xuGJoj8^Ou9WgEfY)H+ZpEc zGvaa}X+cz3InDM36wR5^sRG05aTbW#vaUiKVV;4Y%CeLQ+HhH~!-m{I(=y9jD<|$n z%?iM4EB5msJlc3aUdWZ9WXvy5zW!c=x6GjfcJFsM@Y%*M`KXHf_Qa+$)M!;A4QsMx z%HKWzT0w85q7rQlz{L?oFvZo7kVkt^Mn&OJq|K&qcvXAHRHssAKh}`RCo&k_*uc?qaSUz5osk0!S%^3t9Y10?;34tz=+D2`&K+%< zvKDp;{1dlM-#u6NDdRo~cY&^=(d%m)N~4C%!FU|<&kjeYx@Wj9(B?g;{q}b&yjyo5 z%|?w1*r|6uhr^Gu%Ma*a7YjP4jX6qn3v@fV!$*GJ?LN#w&jxq@!{86If4Y^m_w>$f ze0%*)OfVD)?^3^4^HL>X|7Cvc$n#($bsPCc2EI(ajr*)x;;RXHx%tB4O%)) zw>W^QfdW|rQECu17KOa;h)aVV(u0kd{se8U-st8=$ocPpUa&vUJo?UGtV4h61Nv*Jq z#=bEEkgJ}&x+v6PE#USrUw9<4EGrc*rg4>{;J@tbK6vVqJ{>~rv6jqbY>|Q$F-Ra; z!Ld{$#Sq}>h+XD;rnt4!TYrtqAv-yx8m~GhXum!%h}K{U7o-XtaL->}xAZ87r8+e} zX;oWKTfRsUIc6oUZ;W({Bli*?ZfKN=B9$*lD|n2q?d7u+hC)s(#2f{5TM@-lc8!XEYO4#Hi><(C)b)6nIpUp|oXLM;4=H%!0 zgpRQb=`SYG7wjYUPaZhQq}f^zti8N>0_1&TAvP4%*aZ>mtDq4awBZRC&1F*R(d*2KAge?kmGZRAeBm1UTu)Kog?%fkKpP+@w*8%XF6U^4&>}0Zo_3X&F zc}MgDeE|Uhh)q@c!yqkpL~DMjRbKh)l_14=7Y7xurmAYff?RJ7+sTnSNs;K(WUr2wx*Wl6CCSKcT)THZP z%K$!(Z<>fV$=h||Qp*do`8LDO5g?AL+pci|MFhyFgl3>SpTR>zx)VV8962)m^}e5T z^9q)-q3C>!5~C{7_p1{5BgJ|AvH=_pJEkDlN4hH>W@J>$R?92wCB}RjS|XTrDOFgS zXSG7THZGXBLgk4TjQ#lxVW527!Ds*#wgQq(6=OEWn&@xSSP>JC27XCnAs)F9(b*q0 z*z97kou4o(cbWZxXX^viiEy&eo)BF3+hP|*grFL?n-JY5ygTFjmkw*%PxUb)_A_@% zrzt03m?fAf6+v{O+2{@=-9JXBHJXi4)Nt#;ZVtnZ`k^M3)bp!0-S&{G<5v#B`UORc z?4bVHBAQx@dgb@ZZXA(m6aY=(S2%X3D|L#|xL}S))dW!`xVXo-hgQ{oUHDf0ev$eF z{={7^|5l9Qkk)I!)wuA~wFIrsbt(s3zkPu$`c8!k#^u#5SMp zDu@c2U!~4D7#f|fYJ`@ac2RPt_#KF0y2t3-|9JTPefywK@8FAtsU;S;bF4oDqxJ^Z zi`Pl)jH;HBr_IhcX!*>O)O;GwEd2HFCjav2*5UK%bPnCIOHS;Q=Dv5PmA)KV+f~=P z-zQcC7ClF;uh)t6$a`Wx|D^!I;p;m9dnV!cFJRL0PUX(NVeu>@2r{OOZ zonRPrYkjMW_MP$l-m4i-X!pnI)h3E{YB+vMU`8qfROhK3yuI*t9%+49?cYYH9IJEm4ay%ym5-ts zC)C&m7=F8jA(79%rLVChBAMU*c6E;src624_Jub{$KNNvtj$OAPr8eJPj01f?NnvV zj;*?HB2tQ|)S>1m=92T609n#C)f zw!3oEk#frrWLl_nJac~sq{gh8RA{ zYKPh=ajJmtxo!Eg#e~tjvZYDG=$Ag^?YzwD2yg3=%CPX(pkGraq*EF}8$=-zNYy)? z?&TDQfa_=i=|x*2X$Q4<`MPu}d-_SD?QOJ*fcVS4YF+C*GvN4aBU9mz>q7EYoAZ5a zQE&R}QWS!U6P7Z{Sv_VLe26KO#Znz(GS7-)Hz+L_gReaG0X+#%ayFt}Obn;uW+*#s znjz&~8$exP*SMv3?zmXovEl1J18_ugQIot!@Cq(*m1*z=G`XVNdv8kbsdPu|RM!Fd zzz;kwCU@+SbLlcmpBkrtDL=wEQe0hZ*HVPTCK8H6aWT_i=#t)un9v{Gd7V1Q)JdzW zvqi&d<>TO`P;^2V;a|J9MW>BOt8U1_cz7j0LUrp;q^=wEzPmlo)S$EF^SCOzLm36K zDtvDR*|c*(n!QI?SPlfKq4gZpv>q!e0XZP?50Bv%J-XIyRdpGc&`#Y+kVWmJj<;HX zTTLmKz0g42-T)ewU^%%h9w}9|X6{Y~59kg8r+7>!I+Ky4_dhav7lsQe;wgT7lr-4W;Sm??6hz0 z1UvnB41ji}cs35j#Xv;3vOWLx8+wN)5-s!QXl**TEa0QnaeSVqs@H=k&om+4trhwB zUFDd3J6)^stfV!|)>(b_q>>KNSnYNAerPaYgVIJHBWT^x=$#;VHJLaMB(9AgZfajT zh(c=5cxk^m_Z3ak17ESokArQe(sTk1D-l5|({6=>4xk>^H#6-4!a6QkZ7Gxh10;5) zeA=EzPPvX=fs<3DjX$_pPxyQfyuYGa+?E|yuJvWK_lnrAI=UKRCBNFC6-G2sotDLUL5+92DSps3a<62ORVL$9fvd?A#|#T%-cZ)Wj!1H?F!RY(i&FX4 z{YT-3BhKJF)dnUED3u^1Wp|*}8Hi+SB1vhqncSETk7ESw zP1IoojrW!!r9S)WZQ3<-Z=7SsxBQ@&nJQ#U=W~E2Q>hhwMy>W^cAKU5% z^o2;gTl;roomF?M6&ThWJ9mQ*XKd;s)3J+pEM?(XL2*4#lZ}%Wvz-j$+a2;rhU8U?sJ!) zsLBmG+okBe81vEtOnWgzh;q}&YiRj9={@+IyLwh54rH2U^&qR7agYq19-(D*{lLe? zXjCO9)zguNyytC`=z)gYx(q`1c?HJgv3#+fA^xfZ0W*t2R zd0kUmwOf7kG-Y5w1D$RY2e^aH8!_ahSf@CdR}|}%QH1`0E>Gt1j${mk$_Eh&3FjiC zkTd>e%?%M_2`(#xXHQLwl9On3N7FLe?uR<*=)Ww;@Zqx^@s5D-nV+(W@};25U3D|w zq$t%^hc^&0=LKw|zyNo&ao~fHzz1V(_m)adTv?lmg~j`=JBr)(nx9t! zIs3e|sEWU^XGo1wwh1qParFh{Tcg$P5h}%L@ZU@q1xX5*RoD-Y*8A2D5}B*p*YkCo z^I5w*W4Bw%F?1VYk5@NJx+?KgBEQFdS44kth|wwsbqGm*9U;FDFhG%1_S(-6mD#}b z^3bUYs4r!+vrVlvzAY~WiR@oB8b$B`V5`ZM1=(MUk@&*?H5|BzeWUx!y_;Zq%x(+` zV@>^)_Ag0>3OvM*^b}aMH~3hpyAz`+Xq3ful|MwMGFsDKk`Tx)IS2#B?!gIorb$>Z z2PBbFU7s9GB$sCV-YjXeS}RF~r$%B7G;d%`0o1x58*D?JXP~iYd`5RJdBXx$Qd7W_ zC+X3f?M^3Upyt-a=lSMVk%eU3y6uQ$?3%qq52H|i$3+^CxrZ|g!aD&1^+`{jf)+Q_ zR0^=uub_5d5Hf0VrUC+$2j)?9VfP-pvKLYaK6~G*9f+wGsxC0e$p@!&^hPU?IF(1N zRFmuERd{I>fyk~*@UUT6z64dl&gR7A zX4n){CBv>#?ix;gkBB_!?giFJAbp|oulQ=A^ZADFQQy+9e#YtW{cne?sNn14zXLq< zYf=eeVgw5y3SAaYB#l-uArCejPxx&H~bhz6?=rj3Eo9Rq*hIhkH5dfz|&6Tb4l z4Pf&(Bn~da*6wcaMz9PHW#dL1vzNwo$a_TYQTv@vgVY`Qv)9$1m>Tape?#uP{b%Tu ze@dsJ{XecgZvC@c0RT>43-Filn-P?4a9TC)SLfAJ1D#ZEPi5K6SCJ2B%J=RV$*Daz z65G9^%-r1)8kw7uaGr3xR8lzOnh?6~ov)h9sPr8klFDMos z=DZqJNVPh>xcdW-Ac)PAZ>4${^BqTtSKvP?-LL66KfHOEdGXWPzPm(V*iNvLhCf02 zKmG^-_Qc7%v{ItmgJrhg-MP<6FVzZIGM*04=DqGZ>)lQ7+0zI9EuHP})_;|B{{8QN z^~L=8)u)>+gM-)by31nz-@Ma*eD1}0ss6x|3%`$bHT8DOOieELRo|&C=Da+}>(IMg zjvybDJg0?Nf{D!kwD@!XlU3ol8Bb}2E6b^85v(Rs0$@x#OXp^nqZc-0?_iwYy!&wG z_4ncNKm59XTK$Xt`9~Nqo*nEHe{z4p>T~H-3z??tv~Qs^H`8PJE`Js?p&EMJ(b||cc zU697N)$l*N0QP5%{~H@~eftMqU|XCx#ew1Jmb2dmLz1W7*^K2Cj*aru@bztP_eMGy zxl>ujyw<>>w|`dKf9&t!urU-q^OAjg*$vN-Wd|l1uo~*E-J&klhJm$MpPMMu-2T4+ zOu3yi4&_w%4Bgq+z$M6v#n_A*NUXm*%e%FLlt}716?@Y0%M(V_5eA6<=F5iX@#mLc z-|1oY0U&qW=|bPqD)DU;r6WFHY2zIzrK?$9rrlrq^?r=%1%zdGPm&bxKVK-08pBbo zfXL~UvDDgDsY?vZ05Ff3YnL1=NGiw5XL1M2ms-rGt$ZZ?FP+kpyD0{CZ_f*QWj>gY zdp>QaXShN)?;NT+@#2*1-iqJ+A95N0v}W(9if0EKc>!VAQ!Xr?h%W_gpS;D1R4v;2EA$Grvq z-)ph|rEYLLZPviXhEu}nqw-6@+}7R;w|ur}YbBr?@|1}2YbMvyt|a;BK7QS!p#MrI z`Y)Z*|B~*0rxikG2;tB!WF=&J#Z37TDot;wEE;IbhwE|-+zP*Tf5xGG{#QI)sKs1c zU%*a64_*+~=VDB%Qg`a&zh<9)AF#BVkB^C=rl zSbRbYZ#Jg!)lC6@Fkt`97TqdM_O9{jWr{3Ldu_nue<Q9CrVgFgfK_z?wOPY7H$Ftv?N`L-sp~VCSY{?bv__Qk`PWA)OhC{M7Hphj` zF8b~7CwQCOPF->JDtKO$O`^1*BW{w3=NzM8=IUnWILP=&MOIX#3~1 z&}Xhxqw9wu8B8I+{`RB)(?I}%=NdZQPTnqY?e$S$_A+zkXE-R{UOaMzI;Qt9rHy53 z4`P##?9Yc63vE7YE6<1VmNJ=lB5K%SD-v5g<72%niG6@@^8sAE#!-i+Ky}`HC-<@& z#Ef}e7u{D75#2fdeO$+Q>f1hx1D0IxsfS=$jW43!{jy~bYH@2t{;eMoGQRTdoO(AP z$0cz6_y7xke2ACs)Tc{SxS;wlLiwF|Dck!c1C>FlD9*$iw*1V9k7HU*ra+BIiW=d9 zd4W>VjpRU`V4No-)+|`ewy4Pp2%X3KCP(zj_>_xudg2L|F+^7BZ@kmoaSQe3*{Ks_rbm!c9XLAW=y5V<3?nfL42CD%WSnj+HbNml0d%BOt?rtz;mQWPdyffI$lKo<)V~wq{tizK ze8$4adp*&kT5GZ~&Ee_$VR*By!_9iO0X)23D##r;+%fK%@@bN{J>mP;7AmI7*x5R) z_=|!%Yz9#K!+-?pqgIVlO1{`EGml7Q@%4oCf@K_ZFvf-_LM~JSe{Qor{#2Y8DfT;8 z8dvYP{<<_?Eo?PZ1(%5f8I1`C&?pq&J1FUkPFWuU*cKXlS&&Wp)3n=X;qEeHSa2yr zH^joAi8bcs_9U~i<#UvPNqY7t!vb)A;;NEa8@s2sy<4TfD=~o7FyvdrfSNX{l3Q!! zL?qM7{FgL9W&~oxW8HSH_VKF}r;4^)ZGaqOt0b&}26j~Vx;(VM3xsYf4^iuX=~T$J z#TyzA9jhU`;7If2p|YaN-}KMpHP|lnn$TYtWcQJ&gqdt{-!D_FDHJy!<*5S{g9fp= z(y2vW)_nnDX@AXkd(L8;{;EQPc;o60bh%EI^SxffgbAd`pTb3e1;Y2N$HG#pq)9mr zvBB3DJ3wq$y07sfidMtDJdJB51gBM7jZ`8@FVrm`l*8scvpyDejfvC2S0k~MUsDh+ zZcBfE)WA5<%2x!mF>^0z|GcwkS!WHAGeBC9ANOfy7;1uK!B7eq@rW{XtSx^F*8T|- zuM8V|(ay@md?F&)ELh7vS;t257-0!9nXrb8K7CHdf!_0^LQ=n87I+e+y^2!bnRzB4 zT!}4GM(hDPAEp=#Wq*>WpXxtnhQN4h4%CdCymi%S>E3LW$0tz0Nye%~F2Dr|!iJNS z>w@F#?l*Cb)LvOkV76*4tuL6&REDGp&-hX=@R4|?*}+=u0-y6RMuGmeNFQS)vJhiS)<%Jdg>rM(X^R#y&8i>5o-0BbEvPET|M* zJr}Dj0T^&HpI|_if&3T0|1~{L#9<+D6c@8}Lpl^Nu{3{CcYJ-^i;EgN70gf9Osn-1 zY#D!&;9-N~iJnVdJ4W3*THH;w5#>^C9)!-`aJ<5Pv|ga5kyjt|p6{gaqqzU-MiFuC z-TXzUD^APt@RePt`}xgr)mVgmkR_PL@p8jDU(eOUs*=ZSt+wPWIHP!vsqqlnAfduB zQN3IOKRRMn+>95|WfnF_XCasiZ(Lb#m|SKu0+=+Fq07;)I?fSLpiNri3ZH#fzo-K5 z)v{3bSIW|e`r6y=#ac2lNe4jY0p8?+#AWN*5DImkkd4zTF|Vgugj5_E7*8nK`f8-S zl?kKun=YD^PWj3{#!@Hq;)r6f;27Gpv#IxutXCoRI-{y3Og&^rr)wNgyre!IXTss+ zWn(j=0Eg#B*O9TlJHS_w>f{ZHsqPqv*eRW&+~Pl|vN$gxrQfeI&~`_>kR*fogo;^% zwAf_|w>%P?!TFhyLSVZUgXhUl7oiAHitSF&l*11^Kf5)r1xC$kDt>paL6xK(PsDXC zPQVBkIxX`V3q=7@w8@Jw?*qO<03SlqEr!GIX7bKw22Cf`HLVEqidy_v|Ij`Q`Cm1~Tr? zCwYtNU*hKWMgR)6%CZ`EC#(+Tue+Ac1NlYf?7+5ScwE1)N(HfPVnLvYTMcuI0lQYv zSZ00v(cXHgs{c==C>n<37(pkIq9(u&x~EflpG)=kx9ZciW)-!IIlXJd3b$;v$PtT~W(?&7$3sH6}=yT=?=h+*052w1j`OPnPX_MK)^&(>kX-T3%NQd1+E!2olqvP#L2xBa(??cA=4<0YU78Y6h!~G7d z`fHMeTMVfQQ!jW6?iU&)v!}O*M%s%HTB<7fGAVuh{fcm#M+9VQk(S@9+$g(QdCBta zx66|gY>VF*32Mb?C=2PiU&nk?bo|x$OJZC#7emvNE*It?Bk8_6Z-hxdAHWF3Gc#hs zv`tGi;KcPPQn!S*mvr&yomtxYIDd`i3(15^V9qM3?+X>l9woHE^a&JN`~1nmJ}gUV+7OmK$~LegOW62-cMxr@p&- z3{MxW!K(tFH~O6L^b8 zis%+|DT21|!U$?ZzktphE5 zl^Ci@Z383ehPV&w+SsnxMa--eV8}8gi60YPed&H<>-O^$PN)4+DE- z`Se~fO1y8vIh(TA+jq-#{N_ZZ?E2P9xAV`_=Pa%=tD3eNTM)tNOBAKg|6baE;^@{b zQB9oS#zI_+c@J(L&(^8))h}(l{X#tb*4m5F^^~=bO%8r-;fr0Nl1D)t7X$bg@W{d$ z6B}~p-S=?msl%5Iwcf;zVNhJk=C%yh_34S zL{FD&xf)S_h0o_Atrv=O`6b5Qt3)i8$T;Wi}U-bG4YgK@{?D+$wSwJy#VF^;*K@R;3KU-$`_ zjXZ+4#SB2!bB-zU^#z}?mKN~5q&|R>p)rV^C9>}zHBVR|hV1Z=L#>@lW=WLe0ySm8 zsYR?D#LQuAA#6~m|Lsbs-b+N5MW>B;Q~`fH8sO+;>Be$*GdVdbyK1hpep0^#^Mz+1 z6@M$_ntYh|QEGvoQ|9#?F-h^aCno4ThgBkjzn? zG&RMVRwPUGXjx33RBxN$H$~N$Ecak>wf8@r@juw^kx()dvu#E794P7;nCQjmXHtw$ z=Mn_24z|q*&vuR#^h@Grgip^U^K>vKFe^xP`BShXnPfj?vqu0`FM?LVnTBH>LnbOz zqfR$xA6ZakmAo0~!AVRmRYF$ai^ZCN$vV(>Wp|nsTM?R}r%)AqDA`qhuBLB((LmG& zvC`i1QHq!(k#&{RP!d0=Oo?M{z!%n}m8u`1{CEWJ$?#MFs)xpoon`8{&#$hE&ow(C zkYK5*U`rSMWFTL2CO5zu8%7)S zq@GhcNkFr@x>~#rH7q{&s8qAFA$@4w)sn?4S0_8b6|Q)LAjzI9RY`%`;J4el+|Y!4 zbFbnp>3kIq4kPMfztU-1;TM_%8G?g-*#p7ONu>caG|GIMjS`1PA@|WEiW@Y&o`nfD zE!W5hbDq3TsC>@D%gej{60}343Edk%@QSkiUVXbWGPI`V7p8Eac1*j6Mjl|xlN+$a`W+!?bBhCk3GuA;0D&9*XY zKG_GaoDni|K6a~L>`G1X86js%E7;aaFcskEGTL{lu^3LZ=RZra>k-Rg-;{0?M2T`D zxr905<~Ce8K9CPs`4O48V9eR9vyo5ISk}_wMX&aQVy`fbaAL?HND*)_4RyiFIIgdb4s_N{cziv_)jOSh}zYXe8*4e>=MlPZkei#djhU zr{JK1_PV(8QAhUc4s6DyDkC|NE%yazRY(m{3twv?$*t=Rjf%SJ<(c&MoX#osz3Y|^ z;_hNM(S(PDUn6<k(+y1t0Idj7A?6g1R{HV#ULJ3~}(>FlQwaS>kdR!`gF z%SV>)zWuQX^Vfy_TX|eY5U42JHGJPj2TSS7U6%T;gVu2AoJng#DmJvw75<=P{6QG|AxerI(XMpUkDcg zdr}iRigJ5YoGstyF;n7%wTMh2&;M-3x2! z-k`f2I^4!%`-Q;7HIs?GOGr8(n@zbvx$Z*%ldQ6GOk>(vY#d|XNZRsI!T>3|V4TsB zSWEE7;uX!S6Uj~sF)xRu>qLW`_2En5(@${BF5Q4ILEB;Yod2eo9H92ZkF5Mi#QxZ% zt=}Gug?C3BBg-lSKB*{Gs8$mVi;P(cqgp{)TO)h(h&=A+|-xK zyIjriy52lM@(tdO_Ql6TckGifc#cz~~5d^SWMvK+kO_pGxp!}o!vVoM@ z5%;0zxJwo;=Ia0=OQHM=FJOowC(@M7oJzw-lH<9rqt!XwuDBY^~WHdYLlioQTo5QEAI61pn!b5Zl-+7QS#-zzRxJz^K)T$p08VnqzL(<$oN!*6fg?E(DNXD z+9W_kmd!m&K}jrswbHCI9}H(%cU9VC3@Q8X28PWrd2^7fwQa91+L^k{ZDlT|J#w(& z#F3-T-kag%9tkbj=zB*)oYDzd&UN&M`xUydEaXT>BTZMi(ytyJey8_ z5c{UhyKEN#;?>8RTC?c^Lhn8~Y&=z!J^rZ&Acz~`s^b@KhF1GQ7ezQG>Kt#9N2zjsP= zSJqV*=Z?#$e2nsHtXn>sZ#`yTRt`reXohdnL_)m`>YDuBlr&gbHQb_K2KN=SNjHQy z^yT9#Q34y5qN6Du32RIK`rA0=uf7b3gK>Mwq)&EZT*c&F+TO#+3xC;>@04MD!J9lq z5SY%Io+wbX^PA9umY^;Lfi|U`E9Vb9s30NgXOLG~wb zSxD_|rO>D%lxY{fL9~cLrM25q*Qx6AAn4AWNpJP}db;qGwa%z< zC7HY90#C1MnVIWFh!;{VS#n1#8Tx)wiyYRirpZS|m|vt=T}8Z5;E430m$a?{=&{(m zJMVlwON9@}TDQTk9#B`YG4;3cT!<&92n0~9{9o*SWmsF=x-M(gX@TO!ix)5Muv&^+ zkq{tAafcGzR}FUy0Rk;9AxKDYC>osN4lM)^?%JEZ_CEWZb?&iy?{m&`pL=e8Fb891 z=$sjIj_>>4_sv1FAlscp3HKemUC5-e!Gyam<4n_JuZy?jmW8!FpXJ8bJFyuQ_|8)i zZ`cmS&9F4>sFiq&&QXh=6*}=VIZtZ(@I4dnX!?-l9IJWAsoHJek+tMsW4hlG2eQR; zuT^TW3efZR0@qRoY zKR{S=(3Ss{V-v!XLsHMyH9Se}V~WY?0GmTpLQ$7AH>+vrI35Pl)Y!PR)vz`(l7cDY zQBE|ot=|=!&e*bXpf3#^ao@F7@28)ruZkVzF^cPsm4;%)~ZKfGH9ru@pnax`*OAw?=E+ldLAu9|^dc3b);eA3~x+5%Nov>I*GUeZ| z>iC(LI@Oz>tt1pP$m;uz*CO;oh=i8ACU|BRM)lcJ9uVR8kcq}VHp*|HDH1%f^lDhg za!->$pPr+g&i=JGwaPN*Uee+{UMDs{yTY0zz?4##gU}YxY}F=07pKXfX$MI8rWUjj zqna=NIe#_7q=2o}sa;-_2pX;29Li>8vOp)Hxnr8Lqk%XEX;;*XBMin>5FWtyHxC;e zpfTQjxL{U#Z$GC_$A0PL%bY&skBg zVNZBCHf$vaL<$jHBo(Ap_E3#7=Rh4*vBJ>wl1yglijIk#>(jR%6LUpAl+j#CZ90F zx=O2;r7$9~L>%u`fLG&zjLHDH90g5&VPU$Ot!|ad4}ew5IkKeYJ)(b7T)^t~^a+VO zMx+vLr?tMwV(Z9ZQik~$5lR znKU9%uVaB$w^`3uqHEv_w9~F%- zTjE$XzGyLPZJo)8v(g$-gAtb)yHGn(b|=_22~G#|6s|tt+T;eQBu888;sNlV%CwS@ zw!Nj}&Uof3+em7CJ_Q(?Lu5gJ>_&l!M7=2~YLm|QoQOg6NJL^zy`*Hzx2*9MB!RJ) zPT1x-G={#t{WVLR=!fq3!vq>+R1k2ve+&IzfP8;Mi{8*-H^FXA@>J2`KvWgbSt=l5x zuzobQTjZZ>5^Y6J-Q>sXrr#1FiG5ID&D-g#wjJXL&TL}4KA}AtJe#e3?)uO>Y}+)> zf@(7PDt}y>L~45c3_iK?+M+t`qz+Zkanwb}*RGd3?kT~US=y^z1rBU@z%es1k_%sh z>X2{2&vG@A#}KbvWn2MfZ6g=%)2oL$Ab_SJPhHi0!?%>`x)AzyIYOk&#Cr0q-d`QoFJEdM`h_Km8{GRU9_{ z*3n;15)e4X@qDl0;gwW{fj>~KhSHGT;3=^^jK|h8-$Yd;<)g5L$xC}UqI0@P3P(&{ zl?Kbih|K-bvT-JaS`Tr3&lnV>mOMNv6$7qus_KDA*SmiA$;f!GH?J-->y}j$2;wtIK@3a7X3&cF-u$cW3et#X&Oif zp-f+&7#_dBl+Rx>Oyb)uf&J8{&CWXgkzz37Y`^aOOqN&Ziy%2SEzSnY=1Q;9-?FL; zd|>(Jk0BL;uA*TV(~H=&zmQ2jFK6B(Nz>dNSAoZ;C&T?h!PN2v@GJROHc^lqD8d)eM~1 z7YmGoJ4IS74dT}JV0!n62%I@>LNw7Q!AjImU_ zJL-t(ne^u1Rr?^Ke5K%8{o2-k34b3K*Upnz;$OxNT#)D*IWwb)rCDecrPrxZ!OISL zJfJi}S&^YgVnW!|P%X|BM0s~k31&=&VpdUO-*hziV)ZJ9C6c1Ii}NL{SzOX@=X!GN zF`G&$)a;y^TGDUpEI#GsFMoK6@Ltc)+n>&j_RNvZ!lxgQUA;R-hplK?+w8vrmKZ&2 z{s1fqO-iEwp9d_Fx+T%O0-15O^D;=5j)!q`kjc3)J+s2ttAnam$EuQ_1iD;CrV58N zeP&82ej%Q1Z@#1l#_W<$DHj&0c@`_Wy6n>;;~oiH)ZpA7bB38zAe`$VsOv__j=abB zzyERj{W$>ZHfTU%4&IU~rJmFbPcnl^BD`a7!=LWspHc>|n&RsfIVQ)MvSzrG+qqMG zDzRjNxn2BgMjJ={LitAOqGB3egI1N8C;_XJ#GNqFS01Z}Vs*9N{bhCqD6hfEE}u^Y zl&aFsKWfVsD5LGPE0z!&m4UJ9y4#zUa2UrGC!<3UF&|2%jZ?!_I!08=lIeY7cY+*+ z|7KQQN>lRnMId&AgH+TV9+P62-c@kF>64(Aa@UIa!6gV>bjT783(7x)Dfx01|0JN_ zPD#Uho^EtM)r&39frB3O4(`$dvD-+X<@ZZ zSa&1M{FnF3=k>>EH=W7~8?#Qyd$G33T)rjcpVO(bYBKicgdGNJcW7T18X2cM4--nR zgvpgC+E&(?hRK!=$~Hg4_QAq&QIX#Lpq^N9p7;|J*DRw1%R87I^{pL+;&MGqu%FQz zlo24Lm;#RYavr@>&Z^efQg8A6^?;nxX#|c%Z;V|^Kc`0QEXD{EN>ed=A`yr0ry)?x zRDI@Vf&NFjd!11TuP1~v$cUp!%EM%v{(<3(_DI%o}8*`e7m6iw*FqZzcX&uXeF~}g*RwE zW|OyohO#a7;Hwfrz|GmR;$hs4a{4swN5kL$SWy1)&o4BNH-;KcI9SB>LMfd~Zd?pd zx#r&dj6=%O;cUjFqgz9p_n4H3m*+ng`PWl&)^vI+ku%vgP47;p-}0Qebtc2m*(LL| zSD|wP#?Fh4OWaH6LTP`h;O0lBkZwjMhlHk+m07@grs&d(EBi_OSn%@rHeSGa$`$!H+pQ9c&&Z;Ll zSr26}>4loq24$)SY46AEXV_|_c?(;`vgMIs|ET{LEhlXCV%d1eh${i*k zeU-AU2rg88K&8Id57qHS`xNe%8_Q@yB+sX=~qsM@~wt@KRP4-r$vd zk-C#>P5xiGpEoD4PUzSa7SBW?<(*{pB%Y0%Nb!rTiD#*)B$Xa}N#;ic5oIt;1y4#! zo2ZX+?6i*1EHZP|o;SLKKnS)2Y5)LRB^XX!yTe}n*(y1JF})rsgr`5}1N!$r3PmW0 z7|!OEY#ElfCg_eVH;;Z?BGi&xE;J5ji~!t@O#8kjOzFlx;BC^=wIjC8!9-r5V&j&q zNy~5Y*82%g9~@HJ2=a9!_MSel(+5X+92n853rwV$^|$IojyOutZrwW+^P^*UMc%c= zx{B6yaAqAqp#9rSrVWOSIjo;-pQF;Tzdb70nSl_zY&!3gjnS82+)JwimaV{#)Sr0N$Fs0-7Ajn zthIP6lp&scDaU{ZMeaDYg1KXBt!O4Aq1iXLhlY|^?7MpRjTO)-BNGWCf z2wcnORk_FB_FLnuSyFnB+{(l+^f7C!&v*A=C(rq1?|mN66F8^z^fNE9-bMUoE!`;? z8NJb@&T;vuRZw1!+jo2A95-V?Rd`iXz!`3EdonS%ZOfzoa4Qj32i{~=^4{}+Fje_S z@)`Hn9Xe%aqbkeV7t*R~BBmF3#FHm4*5bv|51(VTu$?E{{Hl88f~Ck-ZMx34IEyRY znOttDn4E*AEZk_92c)RY*^1mV@=IaXsv~ur!sa_CZ?JMrty)0!=uOtFkWqKcdVV|& zF!(Z%!MY0O$6JXzThXLi`eZzZCYLPM5r8{3uIEiZ7MGkuZldmqAWQyR7p)w zDpW(%cwN}l%H2bsq?YKo-%48NT_?0XgHwwwSweJ=UJAUCj&_B+w#NpDJ2=lbK^%CK zv|iQq*jNYHh>e1K?K4!3M(ve28dH13?#Eu=4(kzYe5VT_?M!S|2hdky(kT}OQE=tl zGfAV)uYJAkc05%<)+E-keJqaF;5x&ywT8G)aa7X2QN&SUfpOz!Tj@zJ51$@SGA#*; z)ev=7@iA*xip5r7c+Hacmn9g-vtci-w|Iu1P3M7^A{P{$ZE0*K?Kq?@SxdR{z0v+M zheujY2PnL-2^1KY(_4nA@Ky86)kx5{iOL+e{>(m}$~l8#7&$&UEEYrOY|xk;As{r?7pG zI|I1q4`b|rh}A9A#!f5rE&F2n_0unN&>K<%5I#Dcl`!^^2a;k@26L6)Y9%%f6qaU9GF%hgOSUlrom8i>1@1--;O>d+lqbEpDw+3qCoAsR8KwH@ z%Q-FYYWq840N%U_kyQuvz0e;)LjsgFs?}m_CvB1*?QAsM^+E5c`Hu`CJbPY8t}ONU zg9~*t`F|2!*#IL8#3=Xl~MW4c7?=RFCPy}%4F40YRi>*)9nECwf zrKufR#2p2|VWe1qB;>U*$srEK7eO9;{pl)LwOn9I%%bA?W#$xhGId)cXT8*_M zhBB2-HQivjDn*o}I7xa>2_=Lo?y=H~Ag@*qrE2SNatGIWNCIO_8Xfb(AFKQ~HWT*x zwhM;Vj$^zh3LmHr8^^WehfSElLgHwAxQJ+Ie3*vli$*xJ?pz$Nj$WR4G#WD=<_^1^ zfZMNV)a(Q#6mK>bJ=Cu5Bcr2beo$W)1`Y7+J-wI7@{_=Gw=O^UHo@UX^Bvf!Ncq>_ z8Q(@-k2bHSoISoZNE%Y_GdI%mD}i5|z^T?{I`I2%B!92#m$myX^U^yG=I;ppy*g#Q z$(OlrV-quX^;Nm}&kj@?#(KM>`)7`*eJ>&+e~jMyQhGmc)Mjk=OEvYHgSjC4Pl68R zufbXW30?UQ4-Ze&BPFy|kk9SWq%+5|8^_GPp?amKr#L5O$=AWag>VrvCTqrPjWotY6xdAh#0VGb7B{Edx$lxywBKq7St#%$EaKj>Z z>*(*T{-<20|M2AelWXq?LI0{J;9hu7!4|3Grs1HZX0zH?TfvuZPTAERec9i{aJ_6J z&gb_XB!|=w`h%;wa4`LET-A4G*2LR`i1mN}>z?KRMXu_`4`<$v&XQhO1xDiGxbi2I zaHZcWNIQFS>JNnp9Hd{5k~=XxB3+dha?A>{TF@`gweFeQG{#| z8y%-pA1yNg(T#)r8;iG>J|S0id|c1ieo#%n`deGKkaGN2@Hwx`JC5>=j{?DkD$Ty) zyOSAuyBmZ1_5p)&iY?Q9BzrboFvWE1H-G9N$-f!r{r9i_*<12Qwv2%}YvD~*%2oUC zBR?cTGCNtr{geQ@?4kYAi|&u^%g*>K%G zNsQaGL3lWe_phk@t<+<&hLwhn;DI#iMcKzCASULM#j<1bfL`m2nEjj0ASUJ0e&rE+ z_voFoe`w}kJ>FJYE9?#ECYhpW+1R@S%VUafz#IuTlWSNM#7Xt-9zDFFBi28%>v38v z8^)6@#5!!4FS{fiu3eEUA3fM#+6yA0o`0N}dzVh`pEp7G4TlS(0y5=ihSK^DR~+an zM`j_iO8R}4e6F-^u(42AwL^IE@eFcDq`j5dX`6Y3{97Q=m!h4%ge|qTZmK`vZBWM>TeW)od*|Hg-1i6Sg1# zVAvHUhm8|^W551iNXtFHC-016O_VM!%up!fQL4>-+1JF8GqktNe{kMm{clk5qh|I5?%Uz@8pTZ)iYjmea_e(=tuy0Bf_oeS*pz>#I=tU$A7@h8EzxLU*$ zs|rdI5rd#xbla*w3AzLS-CO&=b_o9~t@-jfZe_qL-5)RKyL?TnewLw1Yml}>tFL_c zC^~EmpxF7#|L)KE-|fXc5{3$mYK(mi3$0Cc^=xo8jO&FDJ6jnIJUOUCdHqBwm-;wr zA04-Gvw3**p_cWWW4#pR`jcP>^k%}hj4t?}tg=srWUfwc9XGTLK1OX1iG|hrv^_%? zrYp~tw<)aiOq*Yr1!`SV0}2K=Ls; zO5mvJ9CX5)eX0w$F}-)bZK9n!y~k+DAm=ye@NnYvN@9@SH}@xj3U~D5}AymGeHj_vzo7Vu0@Ztk^D>Px0tnf45prky1QtZ3%9i$qv!-iBeeb z^yj-7Gz|H`rLoC7%KAqc+OMm4l(@!e(%h5f3F%s~RamF@hq=UFZ^Z>@pYvX3fej;a z()X(0Ul_7K>&45}z?nT_}W%Z#66=v``)4S#A z<%I%PKa=nq@faF2p+K%jUlvw;eCQvP9K$`t;eu8}RzeLe5mZuvv4bgOs#6~OZZjMb zDICB5Wg!3dTZO0&1mqIz1P%k+o6vdUWN%?&`Etp>OdDyXRma6_!%($IW9ll_E(c^C zV1&NC0v8;!UX-ar!zF}cKlP1tYXvi?#zaP@(}uN8Z*m{<=xjjYmi#nThjTkVR=94- z5q)ho%>;```q~n3=E|DYpwi7H3B4o;^e*%FZ&Ihs^8pIM`yok2FRPD5wii9fg=UNc ze9mJv5l_-CDWB)4^j2IY$^!E2n6(wkCwma;`=;wAp;;Hjl%C|>@o3s~&!Mm1D{QR3UfOU^4YQrNqj?yhxuTnt;`rF zz6$Iy0YTItzsrG;i;dy~bDi^Rf%KhH*OucDwgVbQ*Mm55KeqB-;POitdz{tMap9b< zW1e+Ax(D(lz(X{^9 z>8*{Ws&fYU>OrB=$?TqNa$UY4^%wLseRpiOQW;Jt519 zl0?9u$D7VrgF2IrPBH#*Su$x^-uOO*-eF%gKYF^FcB@bWOX+p>45@?5Z4pYGy=~&; zYrVnQ8GGQ*=sXsi=aV>Me6%*K_v5fpzCUOoh`YEFznOir?7cBRMe-EPNO6#UQvSwv zc<-L~VB{jjkxpgeTzwbOjQiyUZjrHE=#z5whI3vkmnJYTSM&Y3CI@t9pZ%)%{k^X# z$#BEz4A$vb=h$|NR)2`M-=(xUOR9m!g~ME|iLl_6QO2}Zv3&4g*T)E{Kj!8ChnW1G z6W2++nsHRRX;4Bn=WPsL>RZEQx;r4;53N%S20fA&H6Z=u7`VpTP!<*c)nz1xV8A_J zDlAtHW2!F1u>Q(Qxac*T{Y=jy9lN2`_uN^iAP^-HL5l*{r*m|#k0@^&ARfLK)hLD6 z8W=B2bRAY7EN0OCB0`p#ZW!CMsF?D-rpKQ?yf`lYTPimOX2F(sR-_yqyJqMRbkm;q zLlp#%!7Wr^GIE@r>u>Y3De1ypmE9uDArbUfpp%Gt_6MK;dNuzHe^O(}k%28Vx~naK)d>5n#n~_gYqt3cSApKZN`Yyu_#^$J*Ldgv|Z=SQO$nAeu0C* zug38th*wl3#U+8Xs;*y2zSyI(7h137J!D+~7~mBitxKyHL-ihQpq_UI*k@>VTltCJ zwTOAWDlrb1jyC7Yf%mv?b!&OOKz*+Ny)z$>2Q*L|C%xFXk(5i!h8})ZNjN9{O%+QjtlCcY} z&||XKvwGzvdbz#OUZgzLHs6)aRRB|a_X1EAkUH(QGf6KrWKFb>Dq{)+GyWhZ-5w#s% z4!MxNjcI&%>zz@eN{>3XB{6IAaWGJxJlnfd-D6o!-D2Xk^(IB)j#Nwv1=)a*zPN~H z#Ew}Pjj!gh>L44>A`ferZk@GfwAO;ep6RCQmoBZ}tYly#X=Y1Zma6&33dFBuAmml< zgpIAj{*v1Iwh~Ie4YL!*xfz9!d3q(qR2PCAin$z!nim6M8pH*#Z}{-Gj>Z)?Nj>z( zeloQEh|=NNXx@%LEqc|QA6>oR;BNkULnd(~?6uRNsXff7J1{k}?G@FbW(=BV_du=b zH>f)!+q};B_b126@KEOTSyxvh{r+U;vmRCb^$p7ffNp<>=ZGTfva%&{M7r+)$7~hP@{yaozQ(g`(}0L){^E*0#1wJ!N?-B5ry? zSdK$fE)n%**Fn% z(FGf)eE|z8+W=Y01NM*N`;7HmU(TOB;`;!4zfI&v*w(dl+u7&sn-l*nQI1V#rr$G^ z_X9j6Nx4^&*1Ipf1ncRVZwAp+x)oK<%c2-t_Zl*y)fu`Edi&^e@S<*+ zsMO*Zq4q&>=1&OL`!?J!@=`hNZI$}y`3qxhdrwdRT>lPPuCIK{EZgQXP?;@)C)aSM zwAK3o(se`xYZ5-UFY#g;8MOqxnjvcHFKTog_qiOo;i2K{VwE@2E-;?Jj1?Y+*+SHp+j=4)?|qD=5?8J^h6!^<%6cK zvhQ7P3{^;YY!Padi}IH#WTu5iRgFOkbsA@EmHkFRUQ9F;oSSQ_ENI$+^`7g_yqen6 zuIgl$aZQy9s~awmG^5$jQlLh+%m{yT|J z(S{H1)2}7Te#s~Wv~+7JJ2ctk`yS_FJ4%M7g@WtC@UnT2k}Qq+gBAgS>u52Ok&Zpx z9EY$u$CPBwGE#%w5jORTMNXJGd3Vjk=yAt8MJ$PGKyPLDf@Rohom+BN#KT?l@bGQUI$4Iz z#H?JiiGmyn@bRO*I5#&ehvf%-gsBsDU>w1g`nTB0JCfyzqro+Rp9HG41j;w62b3|t z#Qk6gh8j7~C!o-G@)?>4$vb3V9em%uy|J0;!M z5GQHz*LSE}t;M=<^eH{X`bSAqS=&fVyeO~q(*nv1QAntO%M7%>T;AsD#`fy}c$LWg z$|{>uw{Cmgl(t6PLC18rD$9udWnD45lqg~ibzZT(r?;@ADw8eOT9N-k$tK;>H?oXk zlSeNJ>qS9Wp?7y!E{)wuG@D14XjQ7GIafP6_9sECb|BL5^gIJF<(Wh#oizc@jM+}f z;Hfuu95)5c0mk)md;GWIaF!QvWk|OrFJtk6nS$zmzH0QS>DEG^rQhP_ZExatI!rYLC!W=T})yOwk33c&O7IlQh~+l*c(h z$L8#~Lp}^dh0>S1R8%9iR0lfG%?mvfACexUrs`Q;b{@iKoNIKrQN}m3_ah9C9$F$_ z-QAxoJ@AX`_FB!{<)8(*iN#g{3-nlvZ8IoUSpsMvg&9l*0~LE4DM$?MkA!{?q<6(t zUS^laBW;oQ+gS{F4m%qsG9b|wz2gr0;-T)h(0LP}&3K)4;V^Z35 zeQZw@a=r&wOqhtGDL4Bl^@0UGQ*;|&>(F~_qFwhoxSizEQXs2pd&H%#VX_0?SA&D z$t5E+Yw}Rh&LN!FgRP(eVl=iDT{uWu%28h%v@5doutP0iY$j>H!`ci+AFW|B?kHW5 zea)z|?Ze)^BA@AI@kTNkx>s?v__%i!Kt}06PS@j5ZavBF%9qC-K$&E!FH$@)r%LxR z>sTxglFvDRJlvFFPKy-Rd`=W#j$d)BLk!Mu9>&$YJw9=W7(vF#n^IlR2F7Ng>LtY= z)vy%EwypNRFp%e#j;W&|p{2N>SDR%gO~~%BnuqWJrfbpe*B>^UiZiHLY~&T~4AtDh zgOq7Y#cc!CO`AAFJKkP|1c85eYbMq>dw_s;!PFsu5Nh%?Fp@fn{QJOYIXqOgIle}#Wm}+Ae zS{k!=hgL$ylKi+x?Fv(&JJx0G{Qdrnynd!R6ne_S#_RLFYaSOSN_w)N-f?mqQ^1!W zE7{s6r?SBl)2cjlmy@eWU(+x0>`Fwc=b2IGqr6T%FJ8%l_9h%5oPf~5b82b9KB%x~ zrG{E(=nF+14mKW8ePmtIvXS~bvaVhVE@4YOp}A7O*ULRY+)1=-Kx44lH#K#l+LU^G zweX=;!bVM?cU%cpOSJvhj3_%pgSY)PdvFY8|C4erv|URSR+Jjo=7r^Q7Uk=O#&O_D zHmDrb1~_tFKm&g>kdqg2L;(xZm}pleC5RQZT8(SZ$sLaC-Hz;(+lTSQXQb3A{#05M z7_3c2O$+Ps?fzRNeHdhuUL^5R|r=91Az0E)?_|98DgYM8-G9+w6)2V z?r^N71Q+a2zxELp!(6nX;)l8iUh%y4a7vsH* z;+l>!QtXe4_HST!J@+8g8+pMccc|LDrzSPX?WGP3ZXM+?e-Em;C*hfXBklyo!sqkJ!1C&9D^V`jz1Qtl{ zvoP~tAN`ud@0OqtMc&8DcmN%_f+h>E2wQs=V$#->K~X#WsAAjeMbk@p{V>RW%^YOe%-SHkpOmANze%1)O36%EP(T#0~2aw@H3*h)$< zTS6ffe}9bGNPLpeNUgx_I)`?`U{=sdTA=Go++|Pz>TJpA#whIvjTRE##<$ITl4%0s ztE~uNKz5mxe>}}(ZeT!abSfL`_f>s6TILAyVz(SeF*MCW6IYZ-ET<6o`-~X~p{`Zh+n24m$n_BLNi^{fQk2kBDkQI9i zYMW_?18?Vt_B68ZzEeo*?rQv;Xwdhidw&S|8Nku5#X@8CVVM&|_~ADkjAbT6{3M3k(w zGh}!(uMFW)sdcolB-6lw9}q^1rG~9kuR1D+&o!N9bZ%Ml%@weQEKA*__#eKLVG;g0 z1wOpo>b=&8s(M1F#g8gpP%WjnAJSZEQlA)XUe?nBoNV9qL0BpgQ>AU~wz8SNJ>2QO zLVd4e4Q<-#*H_%w#hfuDZy+*?Q_#WLrCp{I@4gSKxSs?vW4`=4sTF|D5`~(YCs#Bc zaN1I_ctC%zS9@|OS)zhUS~BYtI|mr0gQ3*e?_71S8*p==NGtU3yDbpHH{e+A7M)=E z3;n+ZM!N-UDre%>G(T5#FTAc?%E`A0)Nhf7e3wWlKZDKB%8_ekODsF1YfO!49rCy^ zrtYc=F6fWxsi-pLxsU8@wzhV2uU@8W)24SG^qT2;!-jDT%5wZVCAEHe9@`->=g7h- zSmeCRHp)#`bL+}-M!47Z0APBDK0-_zqdOD9da1drUg}g*uv#XXzP|EZ)8NRUCOaYX z)Uy&WJ%pn;spBkD?yAczbV@KC?DVJD_86#+w0QkjGZ4{h@3t%WnZWcS&1LKKvW*Y# z`S)2yr1t4?ri1HFoD`_xIxqK%#wl}_=ulGkuVn~s6CuuB_nDBkcTR_1ai?OsgKD;d zfC~puj^)6R`fTOl>qF9`bb2f4=D!vA*AKst)@>YQ9o#y(BXAM;i=D$gEdT!Xqur0A zPaJXwt1kbKRBKKGB;|n9+14^iJGL@XHg!CMRfUs|L$xE&;N>eDpCRlSFK6xa(*7U4 zW5!EGNL;oL0<5RB;8<7LPdMJ8C#CiM70!%{f^|8)tRu4xv{e^3RoRR^Pt~hRKu3bc zUZV;FBDM0A$X(&I!Yo7zA|2XC@2aoNZ=zR`$z}%S6VX2=oX{Ba$Uu=Zw6p|H-W)A= zp}xxvF5R_jFZMI5>haFzI1Wzi6VYIZgIN1=%#WW-!E^1%Z7gVF<`XTAb@Vvs3lLUk zy!v9vd`s;0y`NsvMmXh`*qD)tNz5Gu>pNBsV7FcA5fHivRSO%QjR_baigl*b*2bVj zI?i&rbKE25JD!Z?uk-)sm>^N7#+)wLOmW+~o|T{wMYH%pDsOEf)b*8vPM&|9!`X%T$sq1{`8X%7;k;>_x%Ji)!f4?cL)h zc3_^*alQxHJ?VP(ncX1*psbl`QNi;?#FaL6?UnsDS?W^qa^xl`%6KeSzu8CK7NE+C zls&8j1W4*frBqIQ?W(zp=4A2tHfvu%`Rkudd%&immZN|VE!QK1PlJxkBU3VZ%Pttr zJ5&q~xPpV2mIcFDT)h`>ow|C#)-`=XkZ+saYD@g#EM+8p@X5@DU=c@Wpm>#YZn0<@ z2T0*ZgMW+7sPHc)DfPWfE`+CA2|xvUFETc_ob~#*hqJSm`##DMscJ?h>$ygBfWb}c zHR#bO(BN$p8NlO}O~=U&^a zmsS*h0#2O2WHpq>So(IQV4JnI=Fm^#`<=RV1lJ!sKPV>RjZ}Yt^qZi{g3tt^vtIVt zGvB@A!CQaTAS}mrB9>s|DAf!pm}m+fMl)-2e*JSK+5N44k`#etbL>__$aH}Q2bUaA z{`s;T*<(jJ&g@#BR$amMm|LZFJkzj_APaP(|?QPP*>LK zA^&XW!jK|XXdT;#Tvp=Cul-Stlv6+0N(%hcZoi-LEPYlJXVO6OP8H_trvtMxvZ~QP zlVb*myJ8C=g-qV`Mnf%+u&w$VqC?F2bb1shlB@y_Jzb2}slbD6<+pk{rX_XckNjj0 zDE6u(%r-Weq-is$>hv6sWK^IKa*H|62_r`65+@zX`^{wHN}55&*J7}}?A;G#EspQ$ zPL7q7ko(kR0VAwj!Euk5j*nPNKj-nVIgbO#Fx>%@#1m}eJXBJ?hC3kRw8U`rB!d4| zNU~dIcs;UvmvWMJ)rT%$piY@gj@ypv;SyN^K{^$ORIc_ykF;((hKoSPr&8@`>gmGc zotDt4a~6=x+yQ`4+D5gSo@+;57Sc=a4OHjULH=ubu25+wM42uN2i z-`mGfxy8tS@yn+0M4Lmf^uCqLx1_W190b^NRCB5u>DrJwVOZ+V#?W&D2k4%Rzja`qQTlB4nKA>pGg zew!j;9QO&8eC6|j4+=m>wCi4v@Un_y+e>@1hF4Ppoe(lWKq5JZLeW1 zd`Ni($AQI@7pNbUj?5GfKIJJa^mJg05CKcVmwJx?OJ*c@=3(JRCgP*@Zt==JM5Qgq zUB94DGn=(`;14CN?3b#c{R3_>Teyiuh6(>=MtC16D-%TRWG=2K`%%$R$eH+Bk5SUL z0LxV0Q}7|6Q=9e6Co8LrlwN2`PgLfLs|k=E&xXC4C9yIoXFp=3v+IQ9ka*KTT6-ix z>c*R48uoUpTETqTV5DIGR1th?{B6^y3YINZPTcupt_<*Swj0n4UgJuv0EE{W5GVibxfp3nim{iNodZmva0k9wU5pkDTg5dUB%Gu*F_{{jg46ie{BNu$sD@^t9R~!>Nj1YS`!9nu-JjUSld^&K8EZme983M_{)`}8Qkm2jTOCX>&gb{R3V z6FcXeeLT>(9-YJH-j639K_N7=3N!uuw;Xt{b`F(0CcV8S8MdQKhlroKpFZ*l9o&+& zirQGKLVz}557N3vMPGYq%wg2GjT;j)n3XJ2HXd zCL+?`U5q?8aITcy9;`cPO0xmmVjLMaKgWnStBlBuh(>DVH#6qLUvp-}adROa&N~}5>RFV|vb#*@v_`Xhx@M~-1~Ii?*CnPsK5W4^Wo=cXzS?n*?rjR;mN-Z}Xr|EO-LBaTh{L29 znUw%4HH#GG!=z>zRhx7=u}>EMm@*?_Nipg7*D(VlEBy3${&$%w32a%(geW~+=}lB8 zssSkA_UrZJMWLQW=Js5s-`BS|E`Pc=?qN@68lqH0<3^_(aXv0J)${osu7+)wmdDE;7 zOGi8p!Yss%uH}+#PLBC4=m)>+zM)z5F>e`19zB~^8ua_v)4upGs2M85N5^6gJO5epUPtEc6;z z27=dK4!S-t+0eK}IZo^<&2U-b?d4jRTij;v5v`S^X-&sU=fstRu@IzM^|A%UC?wof zFQda1=xzIk&Wt3hEApZ!02?wUn^Pa9kpfzfQ;fj7BqKxqVAc(m?I;)T=UFlVQt(E#m}>TQFM1ujGDRO_~Z+o zQkUDKnVZ%F{2breGFbAlt+EcAXmD5Yo-H4KGbze_D9`(LC>TlC9K94_uU5Y5A!@uP z?!vK0-^0L<1*g%4cfO_*foO7Al0q&e2;Rp;vAzE>@p25=9LapPE zQycGR_oGPE3a2(Lei$YXz>F@Io@mSaiZKMB-)S~l6!x5XJFI@GsNzA(-uc`N74 zI`BmHkL{6LQc;RlMBmCVtVccPRKF9w4<+yz$Gx=)f|OjiHn(0s-@X3>(9FGK)^Q1& z5zXegyZGy$6QMs3cZEmgWj|cI+%TN@0zHQdb{W6N@ZHGkobr56x_EeE^dlpmqP_bj zSm?ELr%WKb15>sZ>YaFyFn(Hna6Q5j8U>ODj|#GnWU+0^1@>sZUl;j2@2!1K$*_348HsUe6QW)&kMkszV({-S zDb!1#TmERGqmke&#ACWEM(_wUvU&f2>uZ)NN+oM}eFxHp;ugU3wLSPK_tL$QBRvno z=e17&_F!rOO$7a=ouI~yFtt0A82z;NdvgEENJfj)VHGqN*9=7QHHFnZ~?F# zwEDl8Lbt6I+7eDi1$93@M9eNc(_b|b2sXHJbcs&-;~M^bUxm{SiMj%RaWnN>-jIPS zl(HaK|4gY8bdL`fc4JUFG$`ZnTcsd?l1CCwPg5>8#ZV<+VWch4F{syz)Wo$nGiY zu<%eWR!w(V*gG3!I6<&`tx(P77?X8BYBnw&yRpf?hoQT4d{yv)^^h8(L`yN7)CMn8A*}EP|d2kdw zOk`@`8913i%LnwDp%#5A=Z?m#c_X((hjjzDZr+3oadZ93r*2+M{u{@~iVJm}%UE&T_*X@5@xeh7 zEPGgrDzp^-irfs!SHhN-Oh(3ueg9S>Qsh_;YhjO2CN=Vm^})S9ZU)p{P08 z;4w>o9TMj3i3q#M|$_|6}^hz!SDzB^3zyR0&O z4dYN7N)ZUIqi1UeG4S7HaO@!ZwSjW52j>w`))qRX^(eUdC7*WGgq76jXu;_KCIj9Ya{kvO&6Jier>t!SnpM2cZE~xjUISlK5P1(MZk5T zeViRsS$Wb)JSUtWllS3|TTgULpRu-sM~?W!wyHVx2)F`oI2}i|GH4T*CX?ZD+Z?2^ykWfe53qH8HyGPSqA01Vh7o64d!~M%g+aI3spi`Rd{@s zN43UF7rShCm_JzX?4Js|+F40$*|jCo-5%(p{qbSA9+{s$VK^#Usv#3FXl)0xD1Cz+ zk@z%iexu>SxK8We`{b|-n`&gBHLRcFCIu@LZ6DFs2+mP;8~;dAUzgcYx@si7=uW}= zZ#X6Lv`o;=vCKV{+sF25S$v*;x}XsZd+Z4r&JnwjpBK!Qek zA6+A(tc{uvnfkBx0|u;?Xm6HOf!RexPQ#+(X*=OT_GyuYlI$ozL1R*w5YsrAT>L}g zL1U$)o&$YI|07#a9lPPVt=?^mPgxp%ER=Jh$>Z{;`RlVp`oBJ{2X6*Ln{B_2i5W`y zQ_#(Utmh($U%Lo!CFI*!Q8493uQ2Kxx+ioC7WXGPkehToI0$T3bWlzGvc2TfKL=%$7QD+<*|UIAZaG`kJDMH^$*%IHo~ogHvPi*( zTi5V*QQ@@Ki~60&<){bKhv|9T>LNIi(IDC*p0;G{qrM*7*RAs^oBJWkm{Xl@_z5r7 z^KBbnX>OiT;cr<&nCA2aK(U?f>uG=em;`-%&jNp+@eE4HK#QJCM>duF@$FxT{sF=I z^W2c2OsH%ZDvpNt?Yg;{XfOZ146M9FGi;rkBmre0JNcL&nKYCcBI<>IbXK2ty)mcMwJpM|-hemg}iO;Tuk?J>cQas{_&s&RTxmywyI>MaZYVw0Q)jpDD zJp^}r1Osn?O1uVy{5A3bQ^@hOMxiSUJH&$sl)|Q#A65p#UsXdrcu(nrU6=gjMrT@{ zIgfPCiwg7`#0aB=5E5rssqfV&ejy?P8#Rm`8Gi`rwLk3*ki@sptn6+Fj4yU@#~FmS zON<3A|4x*=hEXn{e*TyK>~BY9(+(H~-6f|@sBdM@oa6Gc!Pw5nQ=e>mzt)qr<5~Fb z_gpk-JR|ULIsWal$60qL&uuVecvq|76Z41H@O^tuXxUbyatCuG@f2MA26lmM*C_pm z0)Fav_V(!9zENdHaIu3RVJ4oqB;}eHn%*n;J5f06NTf=~tnv@y8mVb&aOa<+HxW^| zbXfgFv~&w^{S2*3jRF6s7Pj04U!*X}qW;S12q&WHDkh}452BaSFJv0^rOrh!LNVW- zKrtasRbW6&Pj5F&=Po*|Qs`69@{K@_(tX8K-z-zJm0gKDaqE0$H%Lbj+e{zlHLc&Q z0G#>;wVQf0yGlJ!+tM%8TG|bpocH(VcYv8{V>)hhpc8*0FKwRpgzfh#C?B@DIdMBw z=$otz#V@V1_+-zM$tK!GQ<8m1P=%)hdnbIMMy?v8pU9s6`301T9+2aodF7jYS`T(&NUhG@-XWx6Hk))&^<)iC=6>W~$z1>C8m|nlmOW z8t2K0m)3KJUdjNe-7_9`&+7!5i8m<=^POq6ccPxN$V5I(*(UbZXl`II;o;`6z0n@8 z3Z)Z`1G#Lo>WSA!e@pw^L)dXbq~=w7*6x4|K3w~hJvjT)B+S+FSmc7ZH+{s(+tzWF*eCV4xA4D)0sjRFB(g*tlTyjW*n3>8%n}+Qxtjd8ktp z=Ng$?V)}6|m||n`m!%r!-5pDkTzHo@W|!ursdBAsBlQ}uSY$85%uZKSa!;J`SOub! zq;-jl26XQM5D}0vstdFei5L{z+C=4cws>T>DwQ7=X+xiq@P^s+DR)@vs}i^dbl)v~ zV|SxQzxH3dpr{S24XdV} z<|bR3zV6~&Lwv_AZ;en3t6G@Z=&p12YnKA(6TGjy4%$$Hz>hbJ z+qxEDV_ltC4Rz<%>z*nXsuYh)vp>|t&@GRP`WI$M+b3cq|xR*xRH_k?B7AggT(WoUXI(umU&E-*(L zAIr*SxO6t=cHtu5pmNFo^S;H@1V=89r3G3id)|1(1k{0?qmO{UvGbiK2WGjtdX{V+ zP6?_%K$Wx~jz1dkW?!Gzk0dWkbGg3>)Q_43PzdYYHjf*L{<1oHq6z{0jL5k2&ArsY z{sg;vc~?2Q`wI=R1sG`D^Q7>j#Bu636WDLXhME~%#xTw5+3XQ!CxmeOLCdkC(+Go`Ej;s^QAf>_S1C*zsXt=Y{_bl3Ufjo<8lVRol zPNQ{tr{9T$K@BhY5Zu+xPGv6*?@rQh>-&oohOk^ADtf3J#ESjx5+EQ-4W#89prpZ-TK{4vX>C}wyb)mC$akX{7-4B>f;b%0YxC!^%cQ_7} zD%2S*HQ((WG9xBu6aLP4M;+UyZ|W|>TB2_jM`B#=Y3n#H*esi=`jrpipKnCqyy>xqDd)jg^ zcHmH^eJU8EZIxMtnPtcoJp@14fE3)d^YGMHmntgtajtl0{fa!0+wU%m zJRZ$1k+~?)uLW(#no3ckv)lSjbaW_Qzgf7h+RnrXqCcoO@^rr8--$(Zn;p1=y??5Tz7J-JFLfJ4X72YRC`4HKH&_qhY zvKGuH*V8LjJrmGNkw31|D>SaDPfT54M%nC`jAzMZ(oQ|{?*0xGHW?HH)Ah4L&M2(m z_37@~KR(CQ3692ZEl~P>n;GssNj&78oVg3l-nx!V9b<%9mbwV3U%NXSW<0spHeJOc zVN^+d`uC|HDK~OG{nE8@O_7xn5kJ{FVCMh8okQ(Jg$?TavmFH3-N?PBT|Z75U+v{; z_`L|2H(*t=|2F}v+pll7(PXI8YpW5?U_zFpD5lnaYDRgV(P4mDJ7LAd`D{ocl5X32 znqo4X9lW)t77grCG^e3lR#+^m#WPzlP06AeD}xxw#A zjP!*FBaK%M?MDt%wFlEMAch(qYpqk%VQ~L$e7nPRa|yfQ(CVtV!|d}dW}FyRJR^l( z%1(#te)2*hswJ!;>kjlX8@9+{1M8telXB)kHJfThuSL%ID>g=YKGgFrK{ZNsivaA= z?rgnKz7#s}{Vl+d)CAIyM>J}F-Uae>IuO(-_~->V*}gub1GOh< zC0s0O1hREjMUs zJHX1`@F^uE>^vg4Go4QH@I!}1>uhMq$UhR1m)DI$<+QP!KX`eUSszPvo*x8%l;5|y zHB$Q{DBn%{%9!Y|N)Q`Zs#D9B|ZN;~eEiEI6 ztAhVn2*rQQElI9Ev9Hk=6|C6pwi)&rS1bfB+)Len-Z}r|{-d}Zto-b!3;(HSqp7slgP1WKPwj3CdS+6d0jMJZ3*sdwKSF;{U~a_`mREIOU@+oc$TVA3u+^ zO`46;o17&Vqm)xVU|hTOhKl1ZC-YT8LyMhDS8HU59j2TTJF1q|eZ9^nfQviq&%U;p zuM@cz4E(ttdNX5x4)q=Mjk<=v6lf1%*2l;x>~xrIwV$T-i_TN>hy_CdH9!we*-7?x2NX@F!%q#1O9i7hU*xkqr><~r*BX41i`y=yH)bY*eWPD_r!!kqrJqzkEe$ zU(WB=;{Ucr{4f}rrmy0b<{>>2TshcGiK9`6dCY5<2##Ve^nt7Us@D&9g@m4S|K}_I zAEcak47Tk{Zuriby(M<-dL=MO@15>l#L}eO!Q=nHNZYe~*T@%e`XVJ5VB{;^Xe+9F z`Ng+}qN=KGYanst`k;m6&y50stNj0)u2r(PsT|` z$3vw*|2v8?f9<=8MZRJGj}J5dK^OItw#xu#&T37&ipSUK=N%2Drzy!SpK%NMoO>+0 z-m*RR^P$4a2J?3m{_pHn|AVXh`%&DFkGGH?)%`${QR|n?_s0s^@3!=P@3%~quK@TD z&r0nS|5^Un-)%sd|D|KgF%zm6{d0Z-ze)BOvQ!JohOt7=!#zP9H%k0fG( zg$hBgOyyI4dHngGv;6h_zwNI7j5z;vRRMUdsjkD$#VX3Bte93DH8fcy9|i2*e0ld? z<*GQX0BY}zNKovUk>qHaKdm*|%$2Bifa+zAJ6b_mp5nQAiMo0mR?RV6oE&^q+{U;M z%Py&!lFHq2&}OaO`}zv-&BzXry?#`u5!e&(MD@d;-~T_lo!k`~^_9!RX-_N7(%YJD zM~n0JCF{`3jqJzCUK+CSVM^r9N0cD6dM40byn2jdS{m01d0aeT@1)N@!`Z!A(N!1c zJImZ|yxb{sh@-B%4p6+Jb zeUl$Erzw`s*Nshk9J&7IAy>zxYtZaeqUr8A_+vHU;y6 z)T0-5SD$_v(jO}86P!~u(udVim)!7bpb$&%=&^WJ9r9UsurS~vm}spjq3;A?z93>D zJZPS%=xM-!;}$M^T@@}gFkokTv2}*x)XtYu(0TqbjI5-C+pb?5$=4Gz_Xyj_V4Cut z8O^1}mYnIne?tPjq4LUz(B2_6Qok`HIW?f=koA55e;Bw${KA(K^O=paA{q@#-;?Ot zfT)y^HlPcX_A6g{n&WPMAn*}=Io9Op63C7M6v%~*ptLF-{p~dWzeLVisN>h z>-wGmH_K>!5QJ2^M)dqy&ega-Rk5qYxp)rbD)e5>$Ah&Xt$Zp*3p`~#2&cR$w7=@q zLV8N}=%ANrx~;0WQvda6;p$`BgV>lMU%D0LxIPqdR+W*Sjt+F_=Y_R}9=+m8V=8p| z`K?4_O?MnSU&A;xx&p`r$UNF|iYUst@I@mx(i5(7mY1||W$=J(5N*1&Gp|`-I2Y?^ z^F=#jq?}Ho>FU!+xU9jlcZR`4OLPNWofkKkh&f#El zXy1D<_hw@Z_pf`ae_7Ja=kp|}HjKw97Ue@Or-=tflAc=jNWz&U9rqyaKO_UB5OTBHckb;(y8a z@UD8=vavmTgnFi(h;gZ;Zf~0DiX?l(LvFR1Yao+sII=h*Gh$RX1*j#Fc8XX^L_+eK zjB$a}IdG#^f6wg6?h)lil`;XMNgXyW1vS#;TmvC^mw@je!cLnN?@}r-UO!MM-EWdLIm>j0>u7 z>W-^?JEo>LbzA>6M8(j{nf+VUnN0v9%gSJ71$zm9n z?CRtkvcMj<$xPOOd#v1)w&w{PRhB+rqV_Yz@(w#Sq9R^@5~IF_+QcP8a+b+vBrZLl zRRd2bQpQ*H`|9E%fT=$jdg><6q}p6D>=p7)*Qs9F**?L+%#?F_n5_`OW6>OZ(8FDok}zG6Lqb|1l{m+&s*8&K#a8K-3gYm5%HyiD-}sa zagqTzPp89jq~%>CKnv@El+6I;rF?-Ca*0MEjo4T*AB-gd7XH>9qUW9kb{_MB$DGN`NwJPbT=KHd0D%CnWb2AGD!!y z$g)!~up{p>e9^o>bc*1FV!iT0B!jRQ=BRF&S#7#0W@ZJ~-LhhNLP0JfSc)pL%3)^eR+D*TY z9Df(LqxKNH#gUMw_SD-`THvQl*(R(+QN0&i+T>o0_|QOwa8Ks<+$@?$SZ?dlE6|9D zVITx80?WgnHgqQ}I75NII`~pPU?=B-3K4V>&-3+X%~K9i=Ew<*V75kc6ZYccs_6xr zTw!vql6c0fx~AdYCi4d~d8lrBT$8~tq-FDWB7Az65ZAw_Zg-o1t%J?u%e`=`%(cSa z%6igQdu@^0kQE4h6} z&KY^q8@`K6<0KA_QgPfVXrU@T8|C@&fhOY|LVyc_Io!%8fG`vz;+*Jw5_V`a2bRi8 zb>=$;4VF!2FSJh$@HhtNcpB*29PliU3qH@0AZX~hw!@1bA2Up-XJS#OkX z%UDY2ib$(57-qLaa4e|Tx{fz;31Y9qb~Sy&3OxJA5Zobx@w7ses#)?sjW z(g+S$>e5#qF@r_b$>OMVe!nt|-9^0aOzglD`>!AW^2?N|L!ESiWp5XH!3eHLk z1Bk{Zba&qAtj7zNzgPatsPx~w*ni^1iVDvP<}RIcj4!KDpD26e`WASuoxrwN78G}1 z@3K=*zuDxbJ9k5`qAv}}(xwEGR!@(|cId4?rK|)@3iY4%Z31;iY~hSb8amsYAZ5iY z_it_f#$L10^%%WvhUxYf41_vqnvU>@9?y*0)n&Ryj}tZfEale8GiCZxM}gTs$3fkm zfiqkZV)ZgX zah{$Rxg}CXdL3M7ytn_efx(R233g>FZG2WR?2RELyZzz(I{!=^>(iP~zikjR)D1cv zNZ%h_-hYv8-aS*lQhGtf$g!>RteZbC;Q$ses|kUrXiZsv>Xmz@q3ooCNT#hcIz+8> zT=>&JB3wr;0S)M}ax=I95}#@a)=ppXIM&XTfUq zc^g@j+Oz%e+yugr#ua#m-4|@(pXOYtPD-@}Y25N)m@`8t`-ow(>9B4(OHKY%B7a z79BX=6qJ{aZMPv1r%lO75d4=g`^cVetB{Hh4gAtVr5>e6R9a@f21-yVVS_Do6oGYm zFlogH0N}KE{iMW~_Ov@Ci-*rN(*Q3lxw{9IK?U!xw!m3d2--Qw!JH4L{@35puWzap5-D9jMHeRx*Hw)-^hE|(8Gf?f|l;B0T^5v>Ud zIM>-3$~q9|=h|`~J_&W`X-DhS;Chf2J`SM0Zy5x79`f6pT8Jyc-ZXt;^TaPyPwu|N zOVwyO`z3Sk?0~DqNMv+HtD5oB#1DH8@9uAm&&C{2;3AWz08(8tICCo1?*Jw)qx$LT zZ{icXlJ?PVF)GUI&R?6%68$31mIG`~L}$EJW5Ar@VlppRGX#<1{Ne@$-tY^5qe*l7 z%L%q}?i_>EJ}0j<05{IbaD1$o-*a_( z)eFUqNS*ANwrORm2w?xZPdVVAr!7}k-gg`n!NMYqI=%r#03PKX940q5$7Ik?(RoyI zKnH*eR|E$YD~Jxi2tc#`OJGC2E*mdGv|aelq5vvslbxJ;LUiX@EGM!O$S!Sf1Q0&< z`V0+hpP=8$?aDpyDKvpRoyudDcBf6TY6_p!TGTywu?K;`L@gG085>E#oCWtX9t zE%wx=(lL12imqT_8zR&V8%bH%mi8g}=SLp)^y!}qRIJNaKC-We;N+ar)XG#~S%}Jb zDQc_C6>VFm8kt{az5&(bMFz4KT2HwN!;9+_<~Lx}|5_woC3;(jeFVr;A!sFNsLu(s zDaWQcm7S`z*&2b_7APKRG&G5pMq#LfrizQ=r9fSS+uOys$xl#GPg}t|{QY8Yw#L6# zbu(&sy}`uCq#A$%7ZykjSyr7KW};#TRyoEqSeJq|cFTPPCsrZ!y|L+n9;bvF*%%{mC!d$WO#z+|!>=cY+?odl946tqb3To1o)4bzk zZ-K^$uWDKf;2D1*l`=w)rh^3UzNDz(ua2LI-^@I8&_5K9@$()ztX?sw;e8qJX(`S< z8{p{x0qTXXiZ!2P3&Us)dJrSt7Q)Jzw8&sZFnQ7RTvz_xe!=;;3>G;|T8Fz-Ld8xv zcs%*Q&G@8g*Tp5ADba&qQStJ__oIq3NHM^-(+q8jbmC{Ys&)akwF07z`eY&AY2YBO z>H+6L#!I9Jv>v(W)U;fU>J*g7q@0sX1<{@w_2~nX*OPKHQj%I{?6YQCGtV>(Hu$fe5i_kOxOc-=n4!D@ibb_4y03+LGCFa`u#)W)5d#M+o~*7WL@O*NT8Fy}e-uI@0rp z%nJvpik~-46JE*Yze3@fSa{63`Cl-bS(t&uY4oU!G^1@YOPp!=T}iQk>|)4qn?@aR*cGg@-NNt*Q%rtt#j|wpcUxudVq8Gm4uh#I{BUr>4$1 zCt_7u@jFP(I%vhpiUfwe1s$PTRkn6?yhDGo_bp|Q)t?E#ee2GWRydPdS+_lR@JvO* zM0F7%Ek%V1&D788wCYjUM`+^>Fg}u59`Ys$Jh1n2)t^apYGfL-H9NcsBzFya4uj*D z&1xK+f#7trB|L_r0!?jHySu+!sR<7FtfYQuXx4e?Arl*ty3in8h>J8B()yVL>#MEx(73>n)%J_|awK;T+YRE2P>#b zrIR=ABygdM@QnRlTU`WiY>c5K)K(>aNUE1rfY(RZQIQ*;_$gINv9w4@0Y&pIqfDo% z95>yywlwwK&S`acOqw(j2mNq18_`0E>%(<2RspfTSYR0W_lca7`5f%1J0VPC$6Ogm zz5GQ2$fVq61RMYAJ%efOUpIJTur6sZKb=)E>+my=V?(t7@yEQSqC#m|S$1kvctbxu zT-ZFpmZ2h77~}!{*royqP?T~?&oalw59@oTrZl-Jbvhjbg|_Q=9*${f^<^a3woKbu z&3J!-NyBy-&5AJ8p=BGq-X~aun8Q+&OG|1}W4tsZVMWkV&rqv3Unp0X{uPY^?QL;@I;XzsuN(GuF6qMq z@gYiE*#yDa{0=f&_V`_h&I|&cC8ZXbothj_^n8UB+@sdAZaJ4pO{`gaAf@n@8SB2k zo%N>Zw<3I&pNF$8%Q|g<*@F`e!E{3`C`4yItYXdiQH7y3Wx_x#e)GEh@SP^zz=qC( z@nm;s=wck^8J2fop@G06Lr(DINQE5wjC>&#DI4h-6i zD<0P=1a^8uq@5y^CLAseZlo@&M$|+Lu&5 z_bG@es>&-~!yxKpT`O+{9$+5o9NEFr-CAs$L2}NRIu{}bknYM7)2o(KoDFt?U(f5)R9!fAZU_SK=e= z5W#HoXe}gIH;7IAWqLYae6o;zg2egI*JZppmb=Ct;9dIGVv~_hc6SR4B)AU}tX{W^ zSZDIH&Vu_ZtA*dZ>TFOJFL+rgyO;1y=V=8_X&@^rhOn9XO8w2Ycdh5s=7wT%pQt$U z%n%zgzEb<2x`J}vOm*#lC zK9k-bDkp9>_&p)2!EB_zu)TfIEb}FhQZf; z4xFpiB1d@gZv=0o?C(T$#yI3wPIB)ax83H&l}r8OS~xSGN3g}FChd(LEq~YKGiCnq4;{Iu{Z!n zS)iQ@7o23CWXAKLRCZuhH$#s}G;M1gVVhoU^Q}HMJVJ)h3(vkXTb{lz>Mg*AEqOiq z?EFpwRMr3xCK~=_Wy{uUV9>KNE@V&FUcwn3O?HU&kytG`N`1Y|Z%bTp04o-HFIVzn z%b_ZH5~nr&%UT;Si{kA&+gzI5uv)5@-5Nc^x4ebW{Sg+4LI(yC)7GuYD%`*RF$268 zGq~dQJJFPGN2c3Pn+}H@9o_u=X0~=BKegM-Ym1#)y1TmB4?#~LHmbE5@ettR z`<7~#6NMyO^whQe?XWNoKtZr(AwUMoS1g68Gz=l{Hc?I(WY?qMq@EV^w7;-Xt`Tu9 ztr*O$ZNj%a3b5~;5i^Qe^=tP`)VH58R8q>YY5YEBt&*~A_*uZwg;}CVjlMfIrtDyxc(Z5@d*brln`e7B>sl|+7Y%+O}6 zyM~~v##wLOIZBc--OXIee)qpgr~hnAw=3q?`pX}U;gO;b%n=6lDSIsG4t|SwZVT?w z4D&&L3m?~&gw6F$NxlZJeHy}lf+s9z+3`a7d$|e4U2${cfU*%?R+*>-Nu~b@|D_!4@2DUuCI~N^EOyc*tW4F*ekp1n91e<`Km43OrEu@#RXD zW;(TOHQ3~&c;H7;$@$%Ap##0j-r~$Wr^@H$;h#S>Z`!RCdS+Bwz%0K!8ntz++IF9P zxSiGR(fC%~=;2gvm-n6kD)vqUr{;b>fNzmnjloj44^~6brl_*O#a&*x>PpS7R9-$+ zxc}9#xAV_H^S?l26rT%+SxeKP?}hvIeC(_<-=j;VDi+pcN_4QF0+iY%)ui~iF7(fk^BNR z)+BEwg;`{B^=k#Q|;WYgVE=Vv8$YiP!7rC%;m+k6n|T za1vmT!zNi!U8A4j5-G8=RiSGX!Mx<@Js5j4fe?mf(T6K5d94M2*HjJc#3T zvG#xTB|_LnTWrbji}@!>Zy&&(t`X3mEp4I{@CwJx36(|YSGzbC8`#d_1pD9Z2ig$| zv?Cb3^R=d0?xE?bEKohe$a&q!fX1VZkx2uzDLvhOwv56bPko^0I!_z74_tqD#ww8p}*QavRb?$-p zn=p(C)`rrg>c%jap~l_H9=z-@nR3| z?*>Nv#B=LDQo&0_Jef1|H5x;mPSyz{W1~~vC_f0|CB2!}@Q9u3?C{)OJ?@Ely^jaO zCG~D`^#U#fBz`k|?csO{TZ!+{i$Jk5V_5utOEGoZN){J{ws1JCU^X zanJH@!`SyD{a?rgl5+ZRt-t}nhhIiD>)cz3dCJkbtiG>4?jC5WN1OeU)cLY5Zsd~A z#yrPk!BZ`T;N9^+@DW)Hj;(`N3}jUdE2%N2s!m4q4MiOj(1;#&^*4P~6&!q!W?l)d z89j4`-xjlp;g`2!u-c?Mne*^z;+4D_yz36{(Z0*^N$1i(Tv=N z@HG!zqdJVM_Qekmz3NJ#6$VAjIHzGDylbkz)hyLwr9b!Fy>Ee9vfkZ!uuGjy&vjiq zSXvIj;87ndPi>A3k<0oVpxV#Hs#7(t2vpnM(n%)sMU=1s*MhIFyOeHxtqQ0-FaB$B zmB*D9B&#LlXSJKpby~M+G|T)sf3+$9;A@x7g(nrL@PV=e?Mb`3JOU-C_S$Ol`keN+ zOzPHKVc)bAc*0k636hN2EkHi|Tq<7v8?J9|wv3xmV|=w1f?vjb306Mf)X$j_#?Uwa ztY^|!aZxX`Nr4!J~fO9w&O#!iIJlUkzW3niO|&G4I zxzh2b>(;r6-}ueHPyjz4PDCYn>^ViV`(_SBXMItCPY@&}uZ2IhHsQ;~mFtH^8XtQ& z?W*lT>tYwTue4%KOMxfC;Z5l{^@33A9gY4>o~lnTVJ59auLQNz6mvQ`!2BPs2mdw#)|upy0M&(wGzG!6rXx@R9Wq_!OLo zA5M1gT$$QH()M1r^|UrR@i#AkWTO`FOQxbZOoRLZlqUQ-dZtX3?e-LGbhd)bQ_1XW z;|&!S%Qx;rGAhaME=tCX4veV7iu}Lfg!BFN`orpdTf`JazIadWY+q zbG&F0%saV4vK z4Z&*uV8Yh0r?;!;($^znx06cGx^%xU|ErIN|q!?T?ofduVi~6?sl(n=uVYBt~-Sm86>(`B8J`<><dL&78sAe(2su4m$-&(cC`5~y& zfrrE_EKxh!gi^pc5r^IlXkh`l@L5o6v>KmCaEAQ z(8)j;CZ%+|o*oUkWY3aJjMO7NOROZ{8P1HG&EXjQVQv|+K6zS${QU}`>1gkU?;7o# zm~=K574Ek4+(g}kfVBavbPAS?HU(^}i0~SuTU%))R0_WAjg3o{xfe;+7CS2-i>*tR z)0P#^^Z*q^r1C4ON=0hOKIA!gAnVd&zfF9nA^gSoY+0)#fU7&ZWV>}_RLiG8j=pa) zdNnNPmKH9Tm+}lVX)I6K0@#Hbbo6dhVFi{-L5#|Ub8q1iR`U*m21S$1XLifu(^394L(#Y<* zZTfDw%_?Z&apihO=rc+AaA*OC2 zeXzxa10_goiBHfl_;7%nyAd%~x$(%^kQ~jKGd>>k)+O1VuHp~=oOMmWVPamIpV~sa zK{_mDR>0M)2pagbvWsN3mc)tdglyLS1zrRLOX}b@)2P|ecLi?iCs(EIcau7Ba)!O* z39Rz5dLF3b#D(kY&pChTD(}Lt;)6<05cKqn3vypJtQ<3oIc{Tb@$zZxJzjA54GMP6 znW^_AkwS`K9)Hc8H-0Q%$81NPe!vS}GvM|#)LaljC6(##X=i71XU9ZyhBu!%cr?}E zGq{h{Kd&zNNLWXbojlC6j*zhPsaBnPSDzo_)$EU*AT^p11ajPhxvNJqXsuu%F>~LV z9@CuU_07=k-X3(!heo<*q{7v?j=kT?8fTGaWGwrEfWMkak~OBd+d(Lz!cG`D$;O4M ztE=xyGR#KYY{lo)2@2IrNK&=;f2;DMJUWzYqNb5Fkb=n$X33>f(QGPY;!0D-njsCT zA|>!!AapZ|N%?@9LDl^kCi=H?nPDHYB&*FRWe@iH$Zem72Fy~m*$9hrc_6-OenVw` zQ)a@1;G4dpn)Rg{O@ldgI9Z=ZFz8H4O8D1zU_*vF)aKik4;HY&U$kv+^ieP_U<>a# zo)o_+y}q_Evc=nrmHG7o`HG zN-i5mdkRcQ3%4cn81P<1wqyuNZXeBSo>1K8h;-Zm+A`(@6(Ve!iAB?|Li^}zs-4(; zzJ7G6u9QxXiX_AIWBcM(94oDo(o#7Y?=EV;4lE`dTT*gO=U2U!wc$9(lEgoNSK9;N zHEw|VXC4|&el7ys`WY}tfMOP95-@n(uxQUL#@k6Z?wZ4i9Oaz6Ino`17a36q1f0ai zEU##mO>K6JA8&EmoN3^bHbkVy zlzbILh6dPws+9YvBrqxeyUet5cOgdyGrsS|kbz^>CR=0(;OC){xA7Y|$=yvs8oVzg z0d8R2)8977t+*S%yP-FE^yP&9q(1SnKRtdmal&TaVaZ~y(__2zo8`RW(xeBW>M-tL zi^{Gwl6Sy^7~v>5_Le6?4C;K1(GAAE1f*YY^sW^iNTFp9=?6yVPu1Q7uev=I0$z7)AW1k{$ z+fQ?cpPm1#i^)}EstR%T9WVA0sIbFR4^{O(EmDi{60kuJTh`a(KU}0w&iLEHXv(;1 zlpv|61nLYB-@`TSwYwXg-v`?uy~F!`B5P9g_gZ^OtzFbhYdR~yLT$NbQG<~T8=FEw z@8r|E)v~}iw4s_A7$8=1*^v8A_w_nkYA2Hs!iXuP%V4wc$wn$w?v7J0W#UlR(mIEI zCkkq%r}pcAySrTer`=s{(Lv*-t9+};9IAbGsnqkn8SW}23q_oVV+TO5{ECfcKBhDF ztQeT~1~t!QP)*s@7Kw^%k&JfC>kbmnv1uExxXL~zSME1UQC!9l9 zNiUxd*JT*4(FfQ2fQILUUV0%TS(B~nFv@125t$29?{N(nokmycfOgu^DO)Lf19yo{ z&nDR)GBZe!%Ywc}*InIL^vN4IPk4814nf)^9Z>yGwx<8CE+Nq^s?BQwWP=>bE^%cY z&gKkp&Y=lwGDN`VMykRDTe6bvJk@-Z9Qa>RoE(-&X;QQkE4D|xc~7ouv6`(Gxt@;C z4Ko{AL1Q_|NF|Emn`~VSmk^6WzkR=H@Ha26so#lMIYThM=NvbX03s6YmIfGR#jv*j zXknosITe!APX%2`6LdXb01r}cRwGdN{|9?-9oN>jtqrs5Ero8NK#LYHUNksuu|kkS za4m$OL4rFqoFKuy6n6q7IFus6-L<#{cPRABmb1@3=XcI|?|Z-d+P!!Ek-2`!8f&gO z=a^%S%sIyM5K#AWTHkYWiLwFx)S9066xd;@Sf|WeNvZ$J9FZ#9b8k7a4)~rMoECIX zJAvOeOu8H6Sk*A_fZ@kR&@b-eg#J)#m5CmIK zpEj))G%_1<#G2^=)$78aRi;5K7O*T`I&6xS(I2an0R5emHoR)>XQ}H({;n=W63zC~ z$9DtAM+J(^nHuu6wi58%>Hh~I$nGpJ{LJq`Y@&tGq@zTpFVe0#xnwn^+|mP@s0&9L zy-bQCZKHw_3RdLdO9d++Ecu=+EJ(1?XXCe6&n}i_yg#mV*f!a~7gH8U9>a1Wm3%7% z+v>h>8AVj;!$_Vf0tEduXjrQ@LMKAVL=_a|v(lkgnvNY-ni;Cpyux~Yj@ql95L?F2 z{c8D(1zqFT$-_GW_RRjJBNSsmNqjhdQ$z5iO)k$4vjx_bG-cT$PTC~-k47GdH4sOE!suOquFQ)MK z%fB_6dztUtHiySdm#=<+dh|%njl!~OYsA)Vca9O^yO3f>D4=`!xBp6bcs~o)F4wmB z^u&|TiT|9hM@x4+S9E0L*=d>t-@DrIrjIkzR>{Bkydk@q)9Km%VEkd@ z`tHq?OxlQA%pqR`iK20KxJcK|A^sI5q57eDhxJ_1zz@94Fw1qLMVqLD)$b&7hj;fD zcD)J6XMRRx+@h5D`${M$uuEq~X5JC|D%J73>#<8EBAsal1rm!2kc;rWm^sO)Z>6b= z<{>S=35uz1ev|Tn=0+H|Mw#w2YPW|!jx|cXfPUuV?s2Xl&Jv5?5}Z^oR|_J@x`}-i z7+<1D^Ltv&->!GwJ{XKrWzQ0qXOL&FstJs?6kv=wAU2!y>{>aD>&5eZj;k(v>U&t^ z54^e`coO~BGV!j|qSIMl5=Un-;^u@jt}tkcjwJsS7_xvT`RVrReC1%Yo5h-(+{?SH z>ni@HHcmOU)#A+2iJlE~IsLc|9oqK{rBlJq=*Ln88=Ei!Ixdc3Zv`ffsM+Ep50$!0 zmc8e+Rezgp^$A! zod2q(ea+QLHgIIl0DuegB3TDEc$HD`` z(^jorNj2Z=Oh1gp-x4l-rf6zuAVlP90gQ;TG`_ui)mx8T9l5PZ80s3306w z(YWPmhgW!vnQ&QodVw^x(7?dq&kCxuW=0Rs)et*p9ZzoW4sr4-06EcvO0pTiS3paF z$3zsh2$|X91$oyWc-Xg+B?OHmt!r{20|N_AIW4;v=QSc1wdW%B;xm^sR}r`Op%u1F zi)F{d|f5u>dWm#UUWkfOiSbjYr*@o&X3hF z?T9J|cpNx6KHnWhbC!>hEbIsjyXI(Y&Qbv72|3PqIorPxrjBgjjCHz z_U?~G{ONB0hSRqxdA?aYopVUjA9yt}V74{MKC1<9n!dLOKd&G3I=(WjY@BbiUu>m4 zmx}c^^ScznXl#}6h19q<38h2Nq79}R?h47EaoK^t9oVE$7ozw@BN__(xlQGeVS`H| zrkXTJ338bTF=;F>`Qm%C#C#{5-u;_ViJ^^Tqq%5n`i_V=*$+H(4#}qIY}jAH9>`#k z0e?W`{4a*<`4cpWmb+47sB}{M*JBM-d_GgScCtqh)J9r3&I9GcZF|d$=OGZ+_NG!v%FOM<>7zexksD_ z1T%|)mg>}F@y4tKWK4&zWFxK&#D=zqsIlG2Rm z$PQ^xNv|MZy^A?VoMk=oy1o7%hS>7&!A$zcS|p${c_}Cs#{X^2Vs?Xb6<+xL)u0Z8 z{2M*M0_%#JtoMdWMq}fkAjn}X^=A2|fZT7sqSt!yufC!|vEy4n|NmpYVm}t^peA(5 z-LY74M$_Ek(bK^eX88keAb!Wy)e(PVN8$%w%Je@&9tt-Fm)l(f8k zK-0JGWjA%xhY`>1*cZ6yGtR#EHA7`66Mn^GGXEy74)v;bYMj-j#f|^*h zw7g2RuG7=FrPS{3p5Fa!uI;p7@2i%30smp@@xO5j|Fy@iH(6{2jcP|lfaz{uGv8dt;f{8__)7Qgz#)_DC-7>mEw^pD48ei40Fxu8NT@}7G| z#r*l8Gde&_J?95rzgd~Qt8jm6!{K3CTb%3b#zG@_g|Es#@a9@A{&RVAeIbqP0BWBm z-SD03v{ZS6+^GZ?M=Qe@=Z0M_!GB@O)jVA#B>3z~Ko)G6xx_p-0hpZcDQ+bU8QpWa-d~#SV7^Db z1)b28Cs^yS-OJX~4T`Bq;{xaP=GiG8Cxc)7J0M$NAqP8TpAWi*Uh;&+~SU^%tiu z9&b<;IqbAk#|RJFT*!SaSjs+%sX7mzR2g7Y{&O51ZOU?m?mfMbiI)9zHH~q-Zbc_1 z%m^8pp`4M)e{@0Kj#9B86E4r7Tz1!2e;ZQ=N$k%2oZ*`@!-VJu! zz`r|WKb`KPngn+w4gUTPWF=N8!`8gLitbpRl7yOJ>=ueg%tOUyVQLd( zJ=60MX-7*upzhB?*%$b^UhSwAmoCCk6RwdS1Uc?!WGgE(RWYt<6<>ot{98pQ06@BP4Iu6_P2 zl~uWO1bGNxEq+$WMIZp*p8D#{FIunIMIKn9Xv)B!7W37-P5MHpbXK81EGT%F7`K+_ z+i68UB9K`9*?K1IzSg(P)Ew4h4|G$QTc&2^XW3oP({wRC7$G`9k57&2rT&YA$If(? zOpF(ywe6vy4Xmy~yiiRxQJ{$QHOvCyFf0pyY@+UC5A`BNruZ^@(M$FN#qG@%fQ+kM%%_k49&sf;^|S zUeT@9!Zet?HwuT(t!}mCV@rH-J6i)SuSZyf^^5}C zeKs-25+B9<X83nPw85AiNRY;&b^=Zc^(A z3WdUxg>`PSIjlcKIB4=fbiZ)GzuQusq8#>bS@g=q2+NLSo~kCt#=<{J@?>ky3oQ^s zi@Va;Huk!b(tCy%M`-ve1@$|U?mHapvVZc#;gI<`M}gg@q6?P*hZS6=m66C~SZ$Iv zsjbnHBUmx%0Zpc@lYj5%)_BY)A&Tfd?1bX|{@_G6ga+dR$BS1Bv`C+Y`KNx6G(EkLY3{LTO)NeN-944Kl7_=UL6C2di~J zh6B#%{5c7eF^Pi7g9g!OpU?tI7_hcY=}Z(mNV(a?ky9uPl^eN`A9)x;At5Wyq}bD5wd>&}kLeX}dOi8k0aa{U zv^0YJ8**|HSo59kay?T5FhO9cuGRG2Fhv^TO)47ti##F-y>cZ3k z;G*igxwc;rC827U;reDeg9Q}p%)u#x%$)KxfdyE{hNNpG1>o)_QwN1mgZwr#JKr=c z2_?|B2i&gYDu)sv)WYZfTGDYSjSQZSN8n=2UYfCj6M`6RyGM9SaeJSH6rLuMiguAkr*c99sv4qwc z(QnDG(O#WgTXQ#(>8GB){k<|5^VYeTq_D;}MRF(a!o$?p$@^|yo*!6wUkcB1K5!pc ztGp04zPg{qms_qF`m2mJt@%Dnd|X|7uUk`Fr!9ZE(K|~hiS@*s9hpm9Y`3P7x4ZO_ z7kMcq$;+S|tHnH42R8BGvDy9bET-3C_hbj}GD~I;I-|%Rcwh>R`6jvXpF|%_ybbqGB)dnzE-|=vB8j0+>ZwFPD*Glh8 zy0OeP+f<1J;-(tz_}3XwWU9cV)D2rZK;Lu#NTT}K(aIXv+^*rSb{*|Y<< zb(3`>7{w?!skvF8rU$`?S-fmOhDUC};oT?21kz&SJz)Kl+FK~Wc*M{2eZoUz5yYxHBBfKvf-a3rJfMhuU-pac;0TOIATne�+TR=?IB#RiQVTiV-L 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 literal 0 HcmV?d00001 diff --git a/examples/vertical-fl/client.py b/examples/vertical-fl/client.py new file mode 100644 index 000000000000..9f489e70f086 --- /dev/null +++ b/examples/vertical-fl/client.py @@ -0,0 +1,27 @@ +import flwr as fl +import torch +from sklearn.preprocessing import StandardScaler + +from task import ClientModel + + +class FlowerClient(fl.client.NumPyClient): + def __init__(self, cid, data): + self.cid = cid + self.train = torch.tensor(StandardScaler().fit_transform(data)).float() + self.model = ClientModel(input_size=self.train.shape[1]) + self.optimizer = torch.optim.SGD(self.model.parameters(), lr=0.01) + self.embedding = self.model(self.train) + + def get_parameters(self, config): + pass + + def fit(self, parameters, config): + self.embedding = self.model(self.train) + return [self.embedding.detach().numpy()], 1, {} + + def evaluate(self, parameters, config): + self.model.zero_grad() + self.embedding.backward(torch.from_numpy(parameters[int(self.cid)])) + self.optimizer.step() + return 0.0, 1, {} diff --git a/examples/vertical-fl/plot.py b/examples/vertical-fl/plot.py new file mode 100644 index 000000000000..801f202328c7 --- /dev/null +++ b/examples/vertical-fl/plot.py @@ -0,0 +1,8 @@ +import numpy as np +import matplotlib.pyplot as plt + +if __name__ == "__main__": + hist = np.load("_static/results/hist.npy", allow_pickle=True).item() + rounds, values = zip(*hist.metrics_distributed_fit["accuracy"]) + plt.plot(np.asarray(rounds), np.asarray(values)) + plt.savefig("_static/results/accuracy.png") diff --git a/examples/vertical-fl/pyproject.toml b/examples/vertical-fl/pyproject.toml new file mode 100644 index 000000000000..3c3307f24f08 --- /dev/null +++ b/examples/vertical-fl/pyproject.toml @@ -0,0 +1,18 @@ +[build-system] +requires = ["poetry-core>=1.4.0"] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +name = "quickstart-pytorch" +version = "0.1.0" +description = "PyTorch Federated Learning Quickstart with Flower" +authors = ["The Flower Authors "] + +[tool.poetry.dependencies] +python = ">=3.8,<3.11" +flwr = ">=1.0,<2.0" +torch = "2.1.0" +matplotlib = "3.7.3" +scikit-learn = "1.3.2" +numpy = "1.24.4" +pandas = "2.0.3" diff --git a/examples/vertical-fl/requirements.txt b/examples/vertical-fl/requirements.txt new file mode 100644 index 000000000000..f5c4f6f7b453 --- /dev/null +++ b/examples/vertical-fl/requirements.txt @@ -0,0 +1,6 @@ +flwr>=1.0, <2.0 +torch==2.1.0 +matplotlib==3.7.3 +scikit-learn==1.3.2 +numpy==1.24.4 +pandas==2.0.3 diff --git a/examples/vertical-fl/simulation.py b/examples/vertical-fl/simulation.py new file mode 100644 index 000000000000..a6b1184dd76c --- /dev/null +++ b/examples/vertical-fl/simulation.py @@ -0,0 +1,22 @@ +import flwr as fl +import numpy as np +from strategy import Strategy +from client import FlowerClient +from task import get_partitions_and_label + +partitions, label = get_partitions_and_label() + + +def client_fn(cid): + return FlowerClient(cid, partitions[int(cid)]).to_client() + + +# Start Flower server +hist = fl.simulation.start_simulation( + client_fn=client_fn, + num_clients=3, + config=fl.server.ServerConfig(num_rounds=1000), + strategy=Strategy(label), +) + +np.save("_static/results/hist.npy", hist) diff --git a/examples/vertical-fl/strategy.py b/examples/vertical-fl/strategy.py new file mode 100644 index 000000000000..0744fa83662a --- /dev/null +++ b/examples/vertical-fl/strategy.py @@ -0,0 +1,106 @@ +import flwr as fl +import torch +import torch.nn as nn +import torch.optim as optim +from flwr.common import ndarrays_to_parameters, parameters_to_ndarrays + + +class ServerModel(nn.Module): + def __init__(self, input_size): + super(ServerModel, self).__init__() + self.fc = nn.Linear(input_size, 1) + self.sigmoid = nn.Sigmoid() + + def forward(self, x): + x = self.fc(x) + return self.sigmoid(x) + + +class Strategy(fl.server.strategy.FedAvg): + def __init__( + self, + labels, + *, + fraction_fit=1, + fraction_evaluate=1, + min_fit_clients=2, + min_evaluate_clients=2, + min_available_clients=2, + evaluate_fn=None, + on_fit_config_fn=None, + on_evaluate_config_fn=None, + accept_failures=True, + initial_parameters=None, + fit_metrics_aggregation_fn=None, + evaluate_metrics_aggregation_fn=None, + ) -> None: + super().__init__( + fraction_fit=fraction_fit, + fraction_evaluate=fraction_evaluate, + min_fit_clients=min_fit_clients, + min_evaluate_clients=min_evaluate_clients, + min_available_clients=min_available_clients, + evaluate_fn=evaluate_fn, + on_fit_config_fn=on_fit_config_fn, + on_evaluate_config_fn=on_evaluate_config_fn, + accept_failures=accept_failures, + initial_parameters=initial_parameters, + fit_metrics_aggregation_fn=fit_metrics_aggregation_fn, + evaluate_metrics_aggregation_fn=evaluate_metrics_aggregation_fn, + ) + self.model = ServerModel(12) + self.initial_parameters = ndarrays_to_parameters( + [val.cpu().numpy() for _, val in self.model.state_dict().items()] + ) + self.optimizer = optim.SGD(self.model.parameters(), lr=0.01) + self.criterion = nn.BCELoss() + self.label = torch.tensor(labels).float().unsqueeze(1) + + def aggregate_fit( + self, + rnd, + results, + failures, + ): + # Do not aggregate if there are failures and failures are not accepted + if not self.accept_failures and failures: + return None, {} + + # Convert results + embedding_results = [ + torch.from_numpy(parameters_to_ndarrays(fit_res.parameters)[0]) + for _, fit_res in results + ] + embeddings_aggregated = torch.cat(embedding_results, dim=1) + embedding_server = embeddings_aggregated.detach().requires_grad_() + output = self.model(embedding_server) + loss = self.criterion(output, self.label) + loss.backward() + + self.optimizer.step() + self.optimizer.zero_grad() + + grads = embedding_server.grad.split([4, 4, 4], dim=1) + np_grads = [grad.numpy() for grad in grads] + parameters_aggregated = ndarrays_to_parameters(np_grads) + + with torch.no_grad(): + correct = 0 + output = self.model(embedding_server) + predicted = (output > 0.5).float() + + correct += (predicted == self.label).sum().item() + + accuracy = correct / len(self.label) * 100 + + metrics_aggregated = {"accuracy": accuracy} + + return parameters_aggregated, metrics_aggregated + + def aggregate_evaluate( + self, + rnd, + results, + failures, + ): + return None, {} diff --git a/examples/vertical-fl/task.py b/examples/vertical-fl/task.py new file mode 100644 index 000000000000..a3cd415229c5 --- /dev/null +++ b/examples/vertical-fl/task.py @@ -0,0 +1,90 @@ +import torch.nn as nn +import numpy as np +import pandas as pd + + +def _bin_age(age_series): + bins = [-np.inf, 10, 40, np.inf] + labels = ["Child", "Adult", "Elderly"] + return ( + pd.cut(age_series, bins=bins, labels=labels, right=True) + .astype(str) + .replace("nan", "Unknown") + ) + + +def _extract_title(name_series): + titles = name_series.str.extract(" ([A-Za-z]+)\.", expand=False) + rare_titles = { + "Lady", + "Countess", + "Capt", + "Col", + "Don", + "Dr", + "Major", + "Rev", + "Sir", + "Jonkheer", + "Dona", + } + titles = titles.replace(list(rare_titles), "Rare") + titles = titles.replace({"Mlle": "Miss", "Ms": "Miss", "Mme": "Mrs"}) + return titles + + +def _create_features(df): + # Convert 'Age' to numeric, coercing errors to NaN + df["Age"] = pd.to_numeric(df["Age"], errors="coerce") + df["Age"] = _bin_age(df["Age"]) + df["Cabin"] = df["Cabin"].str[0].fillna("Unknown") + df["Title"] = _extract_title(df["Name"]) + df.drop(columns=["PassengerId", "Name", "Ticket"], inplace=True) + all_keywords = set(df.columns) + df = pd.get_dummies( + df, columns=["Sex", "Pclass", "Embarked", "Title", "Cabin", "Age"] + ) + return df, all_keywords + + +def get_partitions_and_label(): + df = pd.read_csv("_static/data/train.csv") + processed_df = df.dropna(subset=["Embarked", "Fare"]).copy() + processed_df, all_keywords = _create_features(processed_df) + raw_partitions = _partition_data(processed_df, all_keywords) + + partitions = [] + for partition in raw_partitions: + partitions.append(partition.drop("Survived", axis=1)) + return partitions, processed_df["Survived"].values + + +def _partition_data(df, all_keywords): + partitions = [] + keywords_sets = [{"Parch", "Cabin", "Pclass"}, {"Sex", "Title"}] + keywords_sets.append(all_keywords - keywords_sets[0] - keywords_sets[1]) + + for keywords in keywords_sets: + partitions.append( + df[ + list( + { + col + for col in df.columns + for kw in keywords + if kw in col or "Survived" in col + } + ) + ] + ) + + return partitions + + +class ClientModel(nn.Module): + def __init__(self, input_size): + super(ClientModel, self).__init__() + self.fc = nn.Linear(input_size, 4) + + def forward(self, x): + return self.fc(x) From c54feb63f393a4559e82a14c9f159cdf87894b93 Mon Sep 17 00:00:00 2001 From: Heng Pan <134433891+panh99@users.noreply.github.com> Date: Mon, 27 Nov 2023 15:26:43 +0000 Subject: [PATCH 08/33] Format file in quickstart-pytorch example (#2639) --- examples/quickstart-pytorch/client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/quickstart-pytorch/client.py b/examples/quickstart-pytorch/client.py index 8ce19a45403d..f8c908ac631d 100644 --- a/examples/quickstart-pytorch/client.py +++ b/examples/quickstart-pytorch/client.py @@ -100,7 +100,8 @@ def apply_transforms(batch): "--node-id", choices=[0, 1, 2], type=int, - help="Partition of the dataset divided into 3 iid partitions created artificially.") + help="Partition of the dataset divided into 3 iid partitions created artificially.", +) node_id = parser.parse_args().node_id # Load model and data (simple CNN, CIFAR-10) From 1d105e6471e34670605e71bdf2756e1215392924 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Tue, 28 Nov 2023 18:12:50 +0100 Subject: [PATCH 09/33] Update changelog for 1.6 (#2640) --- dev/add-shortlog.sh | 6 +++--- doc/source/ref-changelog.md | 40 ++++++++++++++++++++++++++----------- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/dev/add-shortlog.sh b/dev/add-shortlog.sh index 2cd10f856aec..51f2e29b111c 100755 --- a/dev/add-shortlog.sh +++ b/dev/add-shortlog.sh @@ -3,10 +3,10 @@ set -e cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ tags=$(git tag --sort=-v:refname) -new_version=$(echo "$tags" | sed -n '1p') -old_version=$(echo "$tags" | sed -n '2p') +new_version=$1 +old_version=$(echo "$tags" | sed -n '1p') -shortlog=$(git shortlog "$old_version".."$new_version" -s | grep -vEi '(\(|\[)bot(\)|\])' | awk '{name = substr($0, index($0, $2)); printf "%s`%s`", sep, name; sep=", "} END {print ""}') +shortlog=$(git shortlog "$old_version"..main -s | grep -vEi '(\(|\[)bot(\)|\])' | awk '{name = substr($0, index($0, $2)); printf "%s`%s`", sep, name; sep=", "} END {print ""}') token="" thanks="\n### Thanks to our contributors\n\nWe would like to give our special thanks to all the contributors who made the new version of Flower possible (in \`git shortlog\` order):\n\n$shortlog $token" diff --git a/doc/source/ref-changelog.md b/doc/source/ref-changelog.md index 202d70b24ceb..e79daf39c778 100644 --- a/doc/source/ref-changelog.md +++ b/doc/source/ref-changelog.md @@ -2,10 +2,22 @@ ## Unreleased +## v1.6.0 (2023-11-28) + +### Thanks to our contributors + +We would like to give our special thanks to all the contributors who made the new version of Flower possible (in `git shortlog` order): + +`Aashish Kolluri`, `Adam Narozniak`, `Alessio Mora`, `Barathwaja S`, `Charles Beauville`, `Daniel J. Beutel`, `Daniel Nata Nugraha`, `Gabriel Mota`, `Heng Pan`, `Ivan Agarský`, `JS.KIM`, `Javier`, `Marius Schlegel`, `Navin Chandra`, `Nic Lane`, `Peterpan828`, `Qinbin Li`, `Shaz-hash`, `Steve Laskaridis`, `Taner Topal`, `William Lindskog`, `Yan Gao`, `cnxdeveloper`, `k3nfalt` + ### What's new? - **Add experimental support for Python 3.12** ([#2565](https://github.com/adap/flower/pull/2565)) +- **Add new XGBoost examples** ([#2612](https://github.com/adap/flower/pull/2612), [#2554](https://github.com/adap/flower/pull/2554), [#2617](https://github.com/adap/flower/pull/2617), [#2618](https://github.com/adap/flower/pull/2618), [#2619](https://github.com/adap/flower/pull/2619), [#2567](https://github.com/adap/flower/pull/2567)) + + We have added a new `xgboost-quickstart` example alongside a new `xgboost-comprehensive` example that goes more in-depth. + - **Add Vertical FL example** ([#2598](https://github.com/adap/flower/pull/2598)) We had many questions about Vertical Federated Learning using Flower, so we decided to add an simple example for it on the [Titanic dataset](https://www.kaggle.com/competitions/titanic/data) alongside a tutorial (in the README). @@ -14,17 +26,23 @@ - **Update REST API to support create and delete nodes** ([#2283](https://github.com/adap/flower/pull/2283)) +- **Update the Android SDK** ([#2187](https://github/com/adap/flower/pull/2187)) + + Add gRPC request-response capability to the Android SDK. + - **Update the C++ SDK** ([#2537](https://github/com/adap/flower/pull/2537), [#2528](https://github/com/adap/flower/pull/2528), [#2523](https://github.com/adap/flower/pull/2523), [#2522](https://github.com/adap/flower/pull/2522)) Add gRPC request-response capability to the C++ SDK. -- **Fix the incorrect return types of Strategy** ([#2432](https://github.com/adap/flower/pull/2432/files)) +- **Unify client API** ([#2303](https://github.com/adap/flower/pull/2303), [#2390](https://github.com/adap/flower/pull/2390), [#2493](https://github.com/adap/flower/pull/2493)) - The types of the return values in the docstrings in two methods (`aggregate_fit` and `aggregate_evaluate`) now match the hint types in the code. + Using the `client_fn`, Flower clients can interchangeably run as standalone processes (i.e. via `start_client`) or in simulation (i.e. via `start_simulation`) without requiring changes to how the client class is defined and instantiated. The `to_client()` function is introduced to convert a `NumPyClient` to a `Client`. -- **Unify client API** ([#2303](https://github.com/adap/flower/pull/2303), [#2390](https://github.com/adap/flower/pull/2390), [#2493](https://github.com/adap/flower/pull/2493)) +- **Add new** `Bulyan` **strategy** ([#1817](https://github.com/adap/flower/pull/1817), [#1891](https://github.com/adap/flower/pull/1891)) + + The new `Bulyan` strategy implements Bulyan by [El Mhamdi et al., 2018](https://arxiv.org/abs/1802.07927) - Using the `client_fn`, Flower clients can interchangeably run as standalone processes (i.e. via `start_client`) or in simulation (i.e. via `start_simulation`) without requiring changes to how the client class is defined and instantiated. Calling `start_numpy_client` is now deprecated. +- **Add new** `XGB Bagging` **strategy** ([#2611](https://github.com/adap/flower/pull/2611)) - **Update Flower Baselines** @@ -52,19 +70,17 @@ - FedBN ([#2608](https://github.com/adap/flower/pull/2608), [#2615](https://github.com/adap/flower/pull/2615)) -- **Update Flower Examples** ([#2384](https://github.com/adap/flower/pull/2384),[#2425](https://github.com/adap/flower/pull/2425), [#2526](https://github.com/adap/flower/pull/2526)) +- **General updates to Flower Examples** ([#2384](https://github.com/adap/flower/pull/2384),[#2425](https://github.com/adap/flower/pull/2425), [#2526](https://github.com/adap/flower/pull/2526), [#2302](https://github.com/adap/flower/pull/2302), [#2545](https://github.com/adap/flower/pull/2545)) -- **General updates to baselines** ([#2301](https://github.com/adap/flower/pull/2301), [#2305](https://github.com/adap/flower/pull/2305), [#2307](https://github.com/adap/flower/pull/2307), [#2327](https://github.com/adap/flower/pull/2327), [#2435](https://github.com/adap/flower/pull/2435)) +- **General updates to Flower Baselines** ([#2301](https://github.com/adap/flower/pull/2301), [#2305](https://github.com/adap/flower/pull/2305), [#2307](https://github.com/adap/flower/pull/2307), [#2327](https://github.com/adap/flower/pull/2327), [#2435](https://github.com/adap/flower/pull/2435), [#2462](https://github.com/adap/flower/pull/2462), [#2463](https://github.com/adap/flower/pull/2463), [#2461](https://github.com/adap/flower/pull/2461), [#2469](https://github.com/adap/flower/pull/2469), [#2466](https://github.com/adap/flower/pull/2466), [#2471](https://github.com/adap/flower/pull/2471), [#2472](https://github.com/adap/flower/pull/2472), [#2470](https://github.com/adap/flower/pull/2470)) -- **General updates to the simulation engine** ([#2331](https://github.com/adap/flower/pull/2331), [#2447](https://github.com/adap/flower/pull/2447), [#2448](https://github.com/adap/flower/pull/2448)) +- **General updates to the simulation engine** ([#2331](https://github.com/adap/flower/pull/2331), [#2447](https://github.com/adap/flower/pull/2447), [#2448](https://github.com/adap/flower/pull/2448), [#2294](https://github.com/adap/flower/pull/2294)) -- **General improvements** ([#2309](https://github.com/adap/flower/pull/2309), [#2310](https://github.com/adap/flower/pull/2310), [2313](https://github.com/adap/flower/pull/2313), [#2316](https://github.com/adap/flower/pull/2316), [2317](https://github.com/adap/flower/pull/2317),[#2349](https://github.com/adap/flower/pull/2349), [#2360](https://github.com/adap/flower/pull/2360), [#2402](https://github.com/adap/flower/pull/2402), [#2446](https://github.com/adap/flower/pull/2446) [#2561](https://github.com/adap/flower/pull/2561)) +- **General updates to Flower SDKs** ([#2288](https://github.com/adap/flower/pull/2288), [#2429](https://github.com/adap/flower/pull/2429), [#2555](https://github.com/adap/flower/pull/2555), [#2543](https://github.com/adap/flower/pull/2543), [#2544](https://github.com/adap/flower/pull/2544), [#2597](https://github.com/adap/flower/pull/2597), [#2623](https://github.com/adap/flower/pull/2623)) - Flower received many improvements under the hood, too many to list here. - -- **Add new** `Bulyan` **strategy** ([#1817](https://github.com/adap/flower/pull/1817), [#1891](https://github.com/adap/flower/pull/1891)) +- **General improvements** ([#2309](https://github.com/adap/flower/pull/2309), [#2310](https://github.com/adap/flower/pull/2310), [2313](https://github.com/adap/flower/pull/2313), [#2316](https://github.com/adap/flower/pull/2316), [2317](https://github.com/adap/flower/pull/2317), [#2349](https://github.com/adap/flower/pull/2349), [#2360](https://github.com/adap/flower/pull/2360), [#2402](https://github.com/adap/flower/pull/2402), [#2446](https://github.com/adap/flower/pull/2446), [#2561](https://github.com/adap/flower/pull/2561), [#2273](https://github.com/adap/flower/pull/2273), [#2267](https://github.com/adap/flower/pull/2267), [#2274](https://github.com/adap/flower/pull/2274), [#2275](https://github.com/adap/flower/pull/2275), [#2432](https://github.com/adap/flower/pull/2432), [#2251](https://github.com/adap/flower/pull/2251), [#2321](https://github.com/adap/flower/pull/2321), [#1936](https://github.com/adap/flower/pull/1936), [#2408](https://github.com/adap/flower/pull/2408), [#2413](https://github.com/adap/flower/pull/2413), [#2401](https://github.com/adap/flower/pull/2401), [#2531](https://github.com/adap/flower/pull/2531), [#2534](https://github.com/adap/flower/pull/2534), [#2535](https://github.com/adap/flower/pull/2535), [#2521](https://github.com/adap/flower/pull/2521), [#2553](https://github.com/adap/flower/pull/2553), [#2596](https://github.com/adap/flower/pull/2596)) - The new `Bulyan` strategy implements Bulyan by [El Mhamdi et al., 2018](https://arxiv.org/abs/1802.07927) + Flower received many improvements under the hood, too many to list here. ### Incompatible changes From 65c8cc60c53893a923c79d3d840929ce2203f47d Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Tue, 28 Nov 2023 18:21:57 +0100 Subject: [PATCH 10/33] Remove unreleased section in changelog (#2647) --- doc/source/ref-changelog.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/source/ref-changelog.md b/doc/source/ref-changelog.md index e79daf39c778..9aa169dd97bd 100644 --- a/doc/source/ref-changelog.md +++ b/doc/source/ref-changelog.md @@ -1,7 +1,5 @@ # Changelog -## Unreleased - ## v1.6.0 (2023-11-28) ### Thanks to our contributors From 63462fad48b4525e91616f4c1b564d60e271b1f4 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Tue, 28 Nov 2023 18:27:46 +0100 Subject: [PATCH 11/33] Fix release doc (#2648) --- doc/source/contributor-how-to-release-flower.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/contributor-how-to-release-flower.rst b/doc/source/contributor-how-to-release-flower.rst index cb33cf0b3c3f..2eef165c0ed0 100644 --- a/doc/source/contributor-how-to-release-flower.rst +++ b/doc/source/contributor-how-to-release-flower.rst @@ -10,7 +10,7 @@ Update the changelog (``changelog.md``) with all relevant changes that happened `GitHub: Compare v1.2.0...main `_ -Thank the authors who contributed since the last release. This can be done by running the ``./dev/add-shortlog.sh`` convenience script (it can be ran multiple times and will update the names in the list if new contributors were added in the meantime). +Thank the authors who contributed since the last release. This can be done by running the ``./dev/add-shortlog.sh `` convenience script (it can be ran multiple times and will update the names in the list if new contributors were added in the meantime). During the release ------------------ From 875b6c740cc6add24cb6bdb05c3017b429ad094e Mon Sep 17 00:00:00 2001 From: Heng Pan <134433891+panh99@users.noreply.github.com> Date: Tue, 28 Nov 2023 17:44:46 +0000 Subject: [PATCH 12/33] Make `flower-client` HTTPS by default (#2636) Co-authored-by: Taner Topal Co-authored-by: Daniel J. Beutel --- e2e/bare-https/client.py | 6 +- e2e/bare/client.py | 5 +- e2e/fastai/client.py | 7 +- e2e/jax/client.py | 6 +- e2e/mxnet/client.py | 6 +- e2e/opacus/client.py | 6 +- e2e/pandas/client.py | 6 +- e2e/pytorch-lightning/client.py | 6 +- e2e/pytorch/client.py | 6 +- e2e/scikit-learn/client.py | 6 +- e2e/strategies/client.py | 9 +++ e2e/tabnet/client.py | 6 +- e2e/tensorflow/client.py | 6 +- e2e/test_driver.sh | 14 ++-- src/py/flwr/client/app.py | 78 +++++++++++++++++-- src/py/flwr/client/grpc_client/connection.py | 2 + .../client/grpc_client/connection_test.py | 2 +- .../client/grpc_rere_client/connection.py | 6 +- src/py/flwr/client/rest_client/connection.py | 1 + src/py/flwr/common/grpc.py | 17 +++- src/py/flwr/driver/grpc_driver.py | 1 + 21 files changed, 169 insertions(+), 33 deletions(-) diff --git a/e2e/bare-https/client.py b/e2e/bare-https/client.py index da04a320b1d2..20a5b4875ddf 100644 --- a/e2e/bare-https/client.py +++ b/e2e/bare-https/client.py @@ -23,8 +23,11 @@ def evaluate(self, parameters, config): return loss, 1, {"accuracy": accuracy} def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": # Start Flower client @@ -32,4 +35,5 @@ def client_fn(cid): server_address="127.0.0.1:8080", client=FlowerClient(), root_certificates=Path("certificates/ca.crt").read_bytes(), + insecure=False, ) diff --git a/e2e/bare/client.py b/e2e/bare/client.py index 5010d1810387..05b997ff4133 100644 --- a/e2e/bare/client.py +++ b/e2e/bare/client.py @@ -24,8 +24,11 @@ def evaluate(self, parameters, config): return loss, 1, {"accuracy": accuracy} def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": # Start Flower client diff --git a/e2e/fastai/client.py b/e2e/fastai/client.py index 0f83cc330c45..4425fed25277 100644 --- a/e2e/fastai/client.py +++ b/e2e/fastai/client.py @@ -50,7 +50,12 @@ def evaluate(self, parameters, config): def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() + + +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": diff --git a/e2e/jax/client.py b/e2e/jax/client.py index 466a829575f6..495d6a671981 100644 --- a/e2e/jax/client.py +++ b/e2e/jax/client.py @@ -51,7 +51,11 @@ def evaluate( return float(loss), num_examples, {"loss": float(loss)} def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() + +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": # Start Flower client diff --git a/e2e/mxnet/client.py b/e2e/mxnet/client.py index 1907d47f7c53..2f0b714e708c 100644 --- a/e2e/mxnet/client.py +++ b/e2e/mxnet/client.py @@ -130,7 +130,11 @@ def evaluate(self, parameters, config): def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() + +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": # Start Flower client diff --git a/e2e/opacus/client.py b/e2e/opacus/client.py index 552060916154..2e5c363381fa 100644 --- a/e2e/opacus/client.py +++ b/e2e/opacus/client.py @@ -135,7 +135,11 @@ def evaluate(self, parameters, config): def client_fn(cid): model = Net() - return FlowerClient(model) + return FlowerClient(model).to_client() + +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": fl.client.start_numpy_client( diff --git a/e2e/pandas/client.py b/e2e/pandas/client.py index f7ff6fc2bccb..5b8670091cb3 100644 --- a/e2e/pandas/client.py +++ b/e2e/pandas/client.py @@ -34,7 +34,11 @@ def fit( ) def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() + +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": # Start Flower client diff --git a/e2e/pytorch-lightning/client.py b/e2e/pytorch-lightning/client.py index e05caf0b93f4..71b178eca8c3 100644 --- a/e2e/pytorch-lightning/client.py +++ b/e2e/pytorch-lightning/client.py @@ -53,7 +53,11 @@ def client_fn(cid): train_loader, val_loader, test_loader = mnist.load_data() # Flower client - return FlowerClient(model, train_loader, val_loader, test_loader) + return FlowerClient(model, train_loader, val_loader, test_loader).to_client() + +flower = fl.flower.Flower( + client_fn=client_fn, +) def main() -> None: # Model and data diff --git a/e2e/pytorch/client.py b/e2e/pytorch/client.py index ae6c40c329ac..f4e7e0300a06 100644 --- a/e2e/pytorch/client.py +++ b/e2e/pytorch/client.py @@ -107,7 +107,11 @@ def set_parameters(model, parameters): return def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() + +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": diff --git a/e2e/scikit-learn/client.py b/e2e/scikit-learn/client.py index 1f2f0291c1ec..fdca96c1697a 100644 --- a/e2e/scikit-learn/client.py +++ b/e2e/scikit-learn/client.py @@ -44,7 +44,11 @@ def evaluate(self, parameters, config): # type: ignore return loss, len(X_test), {"accuracy": accuracy} def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() + +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": # Start Flower client diff --git a/e2e/strategies/client.py b/e2e/strategies/client.py index de321658c40f..eb4598cb5439 100644 --- a/e2e/strategies/client.py +++ b/e2e/strategies/client.py @@ -43,6 +43,15 @@ def evaluate(self, parameters, config): return loss, len(x_test), {"accuracy": accuracy} +def client_fn(cid): + return FlowerClient().to_client() + + +flower = fl.flower.Flower( + client_fn=client_fn, +) + + if __name__ == "__main__": # Start Flower client fl.client.start_numpy_client(server_address="127.0.0.1:8080", client=FlowerClient()) diff --git a/e2e/tabnet/client.py b/e2e/tabnet/client.py index 58982543b8bb..3c10df0c79f1 100644 --- a/e2e/tabnet/client.py +++ b/e2e/tabnet/client.py @@ -79,7 +79,11 @@ def evaluate(self, parameters, config): def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() + +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": # Start Flower client diff --git a/e2e/tensorflow/client.py b/e2e/tensorflow/client.py index fe5b2a3351fc..4ad2d5ebda57 100644 --- a/e2e/tensorflow/client.py +++ b/e2e/tensorflow/client.py @@ -32,7 +32,11 @@ def evaluate(self, parameters, config): return loss, len(x_test), {"accuracy": accuracy} def client_fn(cid): - return FlowerClient() + return FlowerClient().to_client() + +flower = fl.flower.Flower( + client_fn=client_fn, +) if __name__ == "__main__": # Start Flower client diff --git a/e2e/test_driver.sh b/e2e/test_driver.sh index e5baac20fa1f..ca54dbf4852f 100755 --- a/e2e/test_driver.sh +++ b/e2e/test_driver.sh @@ -4,20 +4,22 @@ set -e case "$1" in bare-https) ./generate.sh - cert_arg="--certificates certificates/ca.crt certificates/server.pem certificates/server.key" + server_arg="--certificates certificates/ca.crt certificates/server.pem certificates/server.key" + client_arg="--root-certificates certificates/ca.crt" ;; *) - cert_arg="--insecure" + server_arg="--insecure" + client_arg="--insecure" ;; esac -timeout 2m flower-server $cert_arg --grpc-bidi --grpc-bidi-fleet-api-address 0.0.0.0:8080 & +timeout 2m flower-server $server_arg & sleep 3 -python client.py & +timeout 2m flower-client $client_arg --callable client:flower --server 127.0.0.1:9092 & sleep 3 -python client.py & +timeout 2m flower-client $client_arg --callable client:flower --server 127.0.0.1:9092 & sleep 3 timeout 2m python driver.py & @@ -27,7 +29,7 @@ wait $pid res=$? if [[ "$res" = "0" ]]; - then echo "Training worked correctly" && pkill python; + then echo "Training worked correctly" && pkill flower-client && pkill flower-server; else echo "Training had an issue" && exit 1; fi diff --git a/src/py/flwr/client/app.py b/src/py/flwr/client/app.py index b39dbbfc33c0..81bbee148c95 100644 --- a/src/py/flwr/client/app.py +++ b/src/py/flwr/client/app.py @@ -18,7 +18,8 @@ import argparse import sys import time -from logging import INFO +from logging import INFO, WARN +from pathlib import Path from typing import Callable, ContextManager, Optional, Tuple, Union from flwr.client.client import Client @@ -50,6 +51,26 @@ def run_client() -> None: args = _parse_args_client().parse_args() + # Obtain certificates + if args.insecure: + if args.root_certificates is not None: + sys.exit( + "Conflicting options: The '--insecure' flag disables HTTPS, " + "but '--root-certificates' was also specified. Please remove " + "the '--root-certificates' option when running in insecure mode, " + "or omit '--insecure' to use HTTPS." + ) + log(WARN, "Option `--insecure` was set. Starting insecure HTTP client.") + root_certificates = None + else: + # Load the certificates if provided, or load the system certificates + cert_path = args.root_certificates + if cert_path is None: + root_certificates = None + else: + root_certificates = Path(cert_path).read_bytes() + + print(args.root_certificates) print(args.server) print(args.callable_dir) print(args.callable) @@ -66,6 +87,8 @@ def _load() -> Flower: server_address=args.server, load_callable_fn=_load, transport="grpc-rere", # Only + root_certificates=root_certificates, + insecure=args.insecure, ) @@ -75,6 +98,19 @@ def _parse_args_client() -> argparse.ArgumentParser: description="Start a long-running Flower client", ) + parser.add_argument( + "--insecure", + action="store_true", + help="Run the client without HTTPS. By default, the client runs with " + "HTTPS enabled. Use this flag only if you understand the risks.", + ) + parser.add_argument( + "--root-certificates", + metavar="ROOT_CERT", + type=str, + help="Specifies the path to the PEM-encoded root certificate file for " + "establishing secure HTTPS connections.", + ) parser.add_argument( "--server", default="0.0.0.0:9092", @@ -118,6 +154,7 @@ def start_client( client: Optional[Client] = None, grpc_max_message_length: int = GRPC_MAX_MESSAGE_LENGTH, root_certificates: Optional[Union[bytes, str]] = None, + insecure: Optional[bool] = None, transport: Optional[str] = None, ) -> None: """Start a Flower client node which connects to a Flower server. @@ -146,6 +183,9 @@ class `flwr.client.Client` (default: None) The PEM-encoded root certificates as a byte string or a path string. If provided, a secure connection using the certificates will be established to an SSL-enabled Flower server. + insecure : bool (default: True) + Starts an insecure gRPC connection when True. Enables HTTPS connection + when False, using system certificates if `root_certificates` is None. transport : Optional[str] (default: None) Configure the transport layer. Allowed values: - 'grpc-bidi': gRPC, bidirectional streaming @@ -156,19 +196,25 @@ class `flwr.client.Client` (default: None) -------- Starting a gRPC client with an insecure server connection: + >>> start_client( + >>> server_address=localhost:8080, + >>> client_fn=client_fn, + >>> ) + + Starting an SSL-enabled gRPC client using system certificates: + >>> def client_fn(cid: str): >>> return FlowerClient() >>> >>> start_client( >>> server_address=localhost:8080, >>> client_fn=client_fn, + >>> insecure=False, >>> ) - Starting an SSL-enabled gRPC client: + Starting an SSL-enabled gRPC client using provided certificates: >>> from pathlib import Path - >>> def client_fn(cid: str): - >>> return FlowerClient() >>> >>> start_client( >>> server_address=localhost:8080, @@ -178,6 +224,9 @@ class `flwr.client.Client` (default: None) """ event(EventType.START_CLIENT_ENTER) + if insecure is None: + insecure = root_certificates is None + if load_callable_fn is None: _check_actionable_client(client, client_fn) @@ -211,6 +260,7 @@ def _load_app() -> Flower: sleep_duration: int = 0 with connection( address, + insecure, grpc_max_message_length, root_certificates, ) as conn: @@ -270,6 +320,7 @@ def start_numpy_client( client: NumPyClient, grpc_max_message_length: int = GRPC_MAX_MESSAGE_LENGTH, root_certificates: Optional[bytes] = None, + insecure: Optional[bool] = None, transport: Optional[str] = None, ) -> None: """Start a Flower NumPyClient which connects to a gRPC server. @@ -293,6 +344,9 @@ def start_numpy_client( The PEM-encoded root certificates as a byte string or a path string. If provided, a secure connection using the certificates will be established to an SSL-enabled Flower server. + insecure : Optional[bool] (default: None) + Starts an insecure gRPC connection when True. Enables HTTPS connection + when False, using system certificates if `root_certificates` is None. transport : Optional[str] (default: None) Configure the transport layer. Allowed values: - 'grpc-bidi': gRPC, bidirectional streaming @@ -301,16 +355,25 @@ def start_numpy_client( Examples -------- - Starting a client with an insecure server connection: + Starting a gRPC client with an insecure server connection: + + >>> start_numpy_client( + >>> server_address=localhost:8080, + >>> client=FlowerClient(), + >>> ) + + Starting an SSL-enabled gRPC client using system certificates: >>> start_numpy_client( >>> server_address=localhost:8080, >>> client=FlowerClient(), + >>> insecure=False, >>> ) - Starting an SSL-enabled gRPC client: + Starting an SSL-enabled gRPC client using provided certificates: >>> from pathlib import Path + >>> >>> start_numpy_client( >>> server_address=localhost:8080, >>> client=FlowerClient(), @@ -340,6 +403,7 @@ def start_numpy_client( client=wrp_client, grpc_max_message_length=grpc_max_message_length, root_certificates=root_certificates, + insecure=insecure, transport=transport, ) @@ -348,7 +412,7 @@ def _init_connection( transport: Optional[str], server_address: str ) -> Tuple[ Callable[ - [str, int, Union[bytes, str, None]], + [str, bool, int, Union[bytes, str, None]], ContextManager[ Tuple[ Callable[[], Optional[TaskIns]], diff --git a/src/py/flwr/client/grpc_client/connection.py b/src/py/flwr/client/grpc_client/connection.py index cbef4ef99051..335d28e72828 100644 --- a/src/py/flwr/client/grpc_client/connection.py +++ b/src/py/flwr/client/grpc_client/connection.py @@ -45,6 +45,7 @@ def on_channel_state_change(channel_connectivity: str) -> None: @contextmanager def grpc_connection( server_address: str, + insecure: bool, max_message_length: int = GRPC_MAX_MESSAGE_LENGTH, root_certificates: Optional[Union[bytes, str]] = None, ) -> Iterator[ @@ -100,6 +101,7 @@ def grpc_connection( channel = create_channel( server_address=server_address, + insecure=insecure, root_certificates=root_certificates, max_message_length=max_message_length, ) diff --git a/src/py/flwr/client/grpc_client/connection_test.py b/src/py/flwr/client/grpc_client/connection_test.py index 0485fa41db35..e5944230e5af 100644 --- a/src/py/flwr/client/grpc_client/connection_test.py +++ b/src/py/flwr/client/grpc_client/connection_test.py @@ -93,7 +93,7 @@ def test_integration_connection() -> None: def run_client() -> int: messages_received: int = 0 - with grpc_connection(server_address=f"[::]:{port}") as conn: + with grpc_connection(server_address=f"[::]:{port}", insecure=True) as conn: receive, send, _, _ = conn # Setup processing loop diff --git a/src/py/flwr/client/grpc_rere_client/connection.py b/src/py/flwr/client/grpc_rere_client/connection.py index 424e413dc484..30d407a52c53 100644 --- a/src/py/flwr/client/grpc_rere_client/connection.py +++ b/src/py/flwr/client/grpc_rere_client/connection.py @@ -51,10 +51,9 @@ def on_channel_state_change(channel_connectivity: str) -> None: @contextmanager def grpc_request_response( server_address: str, + insecure: bool, max_message_length: int = GRPC_MAX_MESSAGE_LENGTH, # pylint: disable=W0613 - root_certificates: Optional[ - Union[bytes, str] - ] = None, # pylint: disable=unused-argument + root_certificates: Optional[Union[bytes, str]] = None, ) -> Iterator[ Tuple[ Callable[[], Optional[TaskIns]], @@ -95,6 +94,7 @@ def grpc_request_response( channel = create_channel( server_address=server_address, + insecure=insecure, root_certificates=root_certificates, max_message_length=max_message_length, ) diff --git a/src/py/flwr/client/rest_client/connection.py b/src/py/flwr/client/rest_client/connection.py index 092e543bf55b..d22b246dbd61 100644 --- a/src/py/flwr/client/rest_client/connection.py +++ b/src/py/flwr/client/rest_client/connection.py @@ -61,6 +61,7 @@ # pylint: disable-next=too-many-statements def http_request_response( server_address: str, + insecure: bool, # pylint: disable=unused-argument max_message_length: int = GRPC_MAX_MESSAGE_LENGTH, # pylint: disable=W0613 root_certificates: Optional[ Union[bytes, str] diff --git a/src/py/flwr/common/grpc.py b/src/py/flwr/common/grpc.py index 2857048f62a0..9d0543ea8c75 100644 --- a/src/py/flwr/common/grpc.py +++ b/src/py/flwr/common/grpc.py @@ -27,10 +27,19 @@ def create_channel( server_address: str, + insecure: bool, root_certificates: Optional[bytes] = None, max_message_length: int = GRPC_MAX_MESSAGE_LENGTH, ) -> grpc.Channel: """Create a gRPC channel, either secure or insecure.""" + # Check for conflicting parameters + if insecure and root_certificates is not None: + raise ValueError( + "Invalid configuration: 'root_certificates' should not be provided " + "when 'insecure' is set to True. For an insecure connection, omit " + "'root_certificates', or set 'insecure' to False for a secure connection." + ) + # Possible options: # https://github.com/grpc/grpc/blob/v1.43.x/include/grpc/impl/codegen/grpc_types.h channel_options = [ @@ -38,14 +47,14 @@ def create_channel( ("grpc.max_receive_message_length", max_message_length), ] - if root_certificates is not None: + if insecure: + channel = grpc.insecure_channel(server_address, options=channel_options) + log(INFO, "Opened insecure gRPC connection (no certificates were passed)") + else: ssl_channel_credentials = grpc.ssl_channel_credentials(root_certificates) channel = grpc.secure_channel( server_address, ssl_channel_credentials, options=channel_options ) log(INFO, "Opened secure gRPC connection using certificates") - else: - channel = grpc.insecure_channel(server_address, options=channel_options) - log(INFO, "Opened insecure gRPC connection (no certificates were passed)") return channel diff --git a/src/py/flwr/driver/grpc_driver.py b/src/py/flwr/driver/grpc_driver.py index a25de6f9f666..7dd0a0f501c5 100644 --- a/src/py/flwr/driver/grpc_driver.py +++ b/src/py/flwr/driver/grpc_driver.py @@ -66,6 +66,7 @@ def connect(self) -> None: return self.channel = create_channel( server_address=self.driver_service_address, + insecure=(self.certificates is None), root_certificates=self.certificates, ) self.stub = DriverStub(self.channel) From 1f33ba84da35b08b8b9ce53a4179b51ed0a377a4 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Tue, 28 Nov 2023 19:20:43 +0100 Subject: [PATCH 13/33] Add HTTPS changes to changelog (#2649) Co-authored-by: Daniel J. Beutel --- doc/source/ref-changelog.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/source/ref-changelog.md b/doc/source/ref-changelog.md index 9aa169dd97bd..b1282d898586 100644 --- a/doc/source/ref-changelog.md +++ b/doc/source/ref-changelog.md @@ -24,14 +24,20 @@ We would like to give our special thanks to all the contributors who made the ne - **Update REST API to support create and delete nodes** ([#2283](https://github.com/adap/flower/pull/2283)) -- **Update the Android SDK** ([#2187](https://github/com/adap/flower/pull/2187)) +- **Update the Android SDK** ([#2187](https://github.com/adap/flower/pull/2187)) Add gRPC request-response capability to the Android SDK. -- **Update the C++ SDK** ([#2537](https://github/com/adap/flower/pull/2537), [#2528](https://github/com/adap/flower/pull/2528), [#2523](https://github.com/adap/flower/pull/2523), [#2522](https://github.com/adap/flower/pull/2522)) +- **Update the C++ SDK** ([#2537](https://github.com/adap/flower/pull/2537), [#2528](https://github.com/adap/flower/pull/2528), [#2523](https://github.com/adap/flower/pull/2523), [#2522](https://github.com/adap/flower/pull/2522)) Add gRPC request-response capability to the C++ SDK. +- **Make HTTPS the new default** ([#2591](https://github.com/adap/flower/pull/2591), [#2636](https://github.com/adap/flower/pull/2636)) + + Flower is moving to HTTPS by default. The new `flower-server` requires passing `--certificates`, but users can enable `--insecure` to use HTTP for prototyping. The same applies to `flower-client`, which can either use user-provided credentials or gRPC-bundled certificates to connect to an HTTPS-enabled server or requires opt-out via passing `--insecure` to enable insecure HTTP connections. + + For backward compatibility, `start_client()` and `start_numpy_client()` will still start in insecure mode by default. In a future release, insecure connections will require user opt-in by passing `insecure=True`. + - **Unify client API** ([#2303](https://github.com/adap/flower/pull/2303), [#2390](https://github.com/adap/flower/pull/2390), [#2493](https://github.com/adap/flower/pull/2493)) Using the `client_fn`, Flower clients can interchangeably run as standalone processes (i.e. via `start_client`) or in simulation (i.e. via `start_simulation`) without requiring changes to how the client class is defined and instantiated. The `to_client()` function is introduced to convert a `NumPyClient` to a `Client`. From bcf2dfc2dd890362ada6781d914c946eaa58df76 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Tue, 28 Nov 2023 19:35:05 +0100 Subject: [PATCH 14/33] Use version instead of commit hash for action (#2650) --- .github/workflows/framework-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/framework-release.yml b/.github/workflows/framework-release.yml index 2d2b7d8a4c4f..1c55894a127b 100644 --- a/.github/workflows/framework-release.yml +++ b/.github/workflows/framework-release.yml @@ -53,7 +53,7 @@ jobs: cat body.md - name: Release - uses: softprops/action-gh-release@de2c0eb + uses: softprops/action-gh-release@v1 with: body_path: ./body.md draft: true From 231a81f950cfe8f0c45d16ad1b278fa779888909 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Tue, 28 Nov 2023 20:06:44 +0100 Subject: [PATCH 15/33] Update version to 1.7.0 (#2651) --- baselines/doc/source/conf.py | 2 +- doc/source/conf.py | 2 +- .../contributor-how-to-install-development-versions.rst | 4 ++-- examples/doc/source/conf.py | 2 +- pyproject.toml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/baselines/doc/source/conf.py b/baselines/doc/source/conf.py index dd43080f299e..e1055aaed216 100644 --- a/baselines/doc/source/conf.py +++ b/baselines/doc/source/conf.py @@ -36,7 +36,7 @@ author = "The Flower Authors" # The full version, including alpha/beta/rc tags -release = "1.6.0" +release = "1.7.0" # -- General configuration --------------------------------------------------- diff --git a/doc/source/conf.py b/doc/source/conf.py index 87860e2c6e7b..8077d26aa6ae 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -85,7 +85,7 @@ author = "The Flower Authors" # The full version, including alpha/beta/rc tags -release = "1.6.0" +release = "1.7.0" # -- General configuration --------------------------------------------------- diff --git a/doc/source/contributor-how-to-install-development-versions.rst b/doc/source/contributor-how-to-install-development-versions.rst index e8028a35d706..243f4ef97e8e 100644 --- a/doc/source/contributor-how-to-install-development-versions.rst +++ b/doc/source/contributor-how-to-install-development-versions.rst @@ -59,5 +59,5 @@ Open a development version of the same notebook from branch `branch-name` by cha Install a `whl` on Google Colab: 1. In the vertical icon grid on the left hand side, select ``Files`` > ``Upload to session storage`` -2. Upload the whl (e.g., ``flwr-1.6.0-py3-none-any.whl``) -3. Change ``!pip install -q 'flwr[simulation]' torch torchvision matplotlib`` to ``!pip install -q 'flwr-1.6.0-py3-none-any.whl[simulation]' torch torchvision matplotlib`` +2. Upload the whl (e.g., ``flwr-1.7.0-py3-none-any.whl``) +3. Change ``!pip install -q 'flwr[simulation]' torch torchvision matplotlib`` to ``!pip install -q 'flwr-1.7.0-py3-none-any.whl[simulation]' torch torchvision matplotlib`` diff --git a/examples/doc/source/conf.py b/examples/doc/source/conf.py index dcb1788ea336..01cbb48c1587 100644 --- a/examples/doc/source/conf.py +++ b/examples/doc/source/conf.py @@ -27,7 +27,7 @@ author = "The Flower Authors" # The full version, including alpha/beta/rc tags -release = "1.6.0" +release = "1.7.0" # -- General configuration --------------------------------------------------- diff --git a/pyproject.toml b/pyproject.toml index ff71298c1c2d..2349d554a409 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "flwr" -version = "1.6.0" +version = "1.7.0" description = "Flower: A Friendly Federated Learning Framework" license = "Apache-2.0" authors = ["The Flower Authors "] From b3c530a8ae694e2633e4bc243347a83c73ff3253 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Tue, 28 Nov 2023 20:18:34 +0100 Subject: [PATCH 16/33] Add unreleased to changelog (#2652) --- doc/source/ref-changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/source/ref-changelog.md b/doc/source/ref-changelog.md index b1282d898586..0cf7aca63941 100644 --- a/doc/source/ref-changelog.md +++ b/doc/source/ref-changelog.md @@ -1,5 +1,7 @@ # Changelog +## Unreleased + ## v1.6.0 (2023-11-28) ### Thanks to our contributors From 02bb3ba734b85c5fcb7bca6d9a7381562f3fd8ce Mon Sep 17 00:00:00 2001 From: Javier Date: Wed, 29 Nov 2023 11:54:09 +0000 Subject: [PATCH 17/33] Fix vertical-fl example (#2655) Co-authored-by: Charles Beauville --- examples/vertical-fl/pyproject.toml | 6 +++--- examples/vertical-fl/requirements.txt | 2 +- examples/vertical-fl/simulation.py | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/examples/vertical-fl/pyproject.toml b/examples/vertical-fl/pyproject.toml index 3c3307f24f08..14771c70062f 100644 --- a/examples/vertical-fl/pyproject.toml +++ b/examples/vertical-fl/pyproject.toml @@ -3,14 +3,14 @@ requires = ["poetry-core>=1.4.0"] build-backend = "poetry.core.masonry.api" [tool.poetry] -name = "quickstart-pytorch" +name = "vertical-fl" version = "0.1.0" -description = "PyTorch Federated Learning Quickstart with Flower" +description = "PyTorch Vertical FL with Flower" authors = ["The Flower Authors "] [tool.poetry.dependencies] python = ">=3.8,<3.11" -flwr = ">=1.0,<2.0" +flwr = { extras = ["simulation"], version = ">=1.0,<2.0" } torch = "2.1.0" matplotlib = "3.7.3" scikit-learn = "1.3.2" diff --git a/examples/vertical-fl/requirements.txt b/examples/vertical-fl/requirements.txt index f5c4f6f7b453..aee341e4c554 100644 --- a/examples/vertical-fl/requirements.txt +++ b/examples/vertical-fl/requirements.txt @@ -1,4 +1,4 @@ -flwr>=1.0, <2.0 +flwr[simulation]>=1.0, <2.0 torch==2.1.0 matplotlib==3.7.3 scikit-learn==1.3.2 diff --git a/examples/vertical-fl/simulation.py b/examples/vertical-fl/simulation.py index a6b1184dd76c..095ec6e0c7ea 100644 --- a/examples/vertical-fl/simulation.py +++ b/examples/vertical-fl/simulation.py @@ -2,6 +2,7 @@ import numpy as np from strategy import Strategy from client import FlowerClient +from pathlib import Path from task import get_partitions_and_label partitions, label = get_partitions_and_label() @@ -19,4 +20,6 @@ def client_fn(cid): strategy=Strategy(label), ) -np.save("_static/results/hist.npy", hist) +results_dir = Path("_static/results") +results_dir.mkdir(exist_ok=True) +np.save(str(results_dir/"hist.npy"), hist) From ded72a237d18aedc411abd37a8925d1add531d8f Mon Sep 17 00:00:00 2001 From: Javier Date: Wed, 29 Nov 2023 12:06:53 +0000 Subject: [PATCH 18/33] Inject `WorkloadState` into instantiated client (#2632) Co-authored-by: Daniel J. Beutel --- doc/source/ref-changelog.md | 2 ++ src/py/flwr/client/client.py | 11 +++++++ src/py/flwr/client/flower.py | 5 +-- .../client/message_handler/message_handler.py | 32 +++++++++++++------ .../message_handler/message_handler_test.py | 13 ++++++-- src/py/flwr/client/numpy_client.py | 23 +++++++++++++ 6 files changed, 72 insertions(+), 14 deletions(-) diff --git a/doc/source/ref-changelog.md b/doc/source/ref-changelog.md index 0cf7aca63941..f73d3babda18 100644 --- a/doc/source/ref-changelog.md +++ b/doc/source/ref-changelog.md @@ -50,6 +50,8 @@ We would like to give our special thanks to all the contributors who made the ne - **Add new** `XGB Bagging` **strategy** ([#2611](https://github.com/adap/flower/pull/2611)) +- **Introduce `WorkloadState`** ([#2564](https://github.com/adap/flower/pull/2564), [#2632](https://github.com/adap/flower/pull/2632)) + - **Update Flower Baselines** - FedProx ([#2210](https://github.com/adap/flower/pull/2210), [#2286](https://github.com/adap/flower/pull/2286), [#2509](https://github.com/adap/flower/pull/2509)) diff --git a/src/py/flwr/client/client.py b/src/py/flwr/client/client.py index 03769c6b8bcf..280e0a8ca989 100644 --- a/src/py/flwr/client/client.py +++ b/src/py/flwr/client/client.py @@ -19,6 +19,7 @@ from abc import ABC +from flwr.client.workload_state import WorkloadState from flwr.common import ( Code, EvaluateIns, @@ -37,6 +38,8 @@ class Client(ABC): """Abstract base class for Flower clients.""" + state: WorkloadState + def get_properties(self, ins: GetPropertiesIns) -> GetPropertiesRes: """Return set of client's properties. @@ -138,6 +141,14 @@ def evaluate(self, ins: EvaluateIns) -> EvaluateRes: metrics={}, ) + def get_state(self) -> WorkloadState: + """Get the workload state from this client.""" + return self.state + + def set_state(self, state: WorkloadState) -> None: + """Apply a workload state to this client.""" + self.state = state + def to_client(self) -> Client: """Return client (itself).""" return self diff --git a/src/py/flwr/client/flower.py b/src/py/flwr/client/flower.py index 9eeb41887e24..f0d4ce122524 100644 --- a/src/py/flwr/client/flower.py +++ b/src/py/flwr/client/flower.py @@ -79,13 +79,14 @@ def __init__( def __call__(self, fwd: Fwd) -> Bwd: """.""" # Execute the task - task_res = handle( + task_res, state_updated = handle( client_fn=self.client_fn, + state=fwd.state, task_ins=fwd.task_ins, ) return Bwd( task_res=task_res, - state=WorkloadState(state={}), + state=state_updated, ) diff --git a/src/py/flwr/client/message_handler/message_handler.py b/src/py/flwr/client/message_handler/message_handler.py index 971f2fe56e31..0f3070cfb01a 100644 --- a/src/py/flwr/client/message_handler/message_handler.py +++ b/src/py/flwr/client/message_handler/message_handler.py @@ -30,6 +30,7 @@ ) from flwr.client.secure_aggregation import SecureAggregationHandler from flwr.client.typing import ClientFn +from flwr.client.workload_state import WorkloadState from flwr.common import serde from flwr.proto.task_pb2 import SecureAggregation, Task, TaskIns, TaskRes from flwr.proto.transport_pb2 import ClientMessage, Reason, ServerMessage @@ -77,13 +78,17 @@ def handle_control_message(task_ins: TaskIns) -> Tuple[Optional[TaskRes], int]: return None, 0 -def handle(client_fn: ClientFn, task_ins: TaskIns) -> TaskRes: +def handle( + client_fn: ClientFn, state: WorkloadState, task_ins: TaskIns +) -> Tuple[TaskRes, WorkloadState]: """Handle incoming TaskIns from the server. Parameters ---------- client_fn : ClientFn A callable that instantiates a Client. + state : WorkloadState + A dataclass storing the state for the workload being executed by the client. task_ins: TaskIns The task instruction coming from the server, to be processed by the client. @@ -96,6 +101,7 @@ def handle(client_fn: ClientFn, task_ins: TaskIns) -> TaskRes: if server_msg is None: # Instantiate the client client = client_fn("-1") + client.set_state(state) # Secure Aggregation if task_ins.task.HasField("sa") and isinstance( client, SecureAggregationHandler @@ -112,22 +118,24 @@ def handle(client_fn: ClientFn, task_ins: TaskIns) -> TaskRes: sa=SecureAggregation(named_values=serde.named_values_to_proto(res)), ), ) - return task_res + return task_res, client.get_state() raise NotImplementedError() - client_msg = handle_legacy_message(client_fn, server_msg) + client_msg, updated_state = handle_legacy_message(client_fn, state, server_msg) task_res = wrap_client_message_in_task_res(client_msg) - return task_res + return task_res, updated_state def handle_legacy_message( - client_fn: ClientFn, server_msg: ServerMessage -) -> ClientMessage: + client_fn: ClientFn, state: WorkloadState, server_msg: ServerMessage +) -> Tuple[ClientMessage, WorkloadState]: """Handle incoming messages from the server. Parameters ---------- client_fn : ClientFn A callable that instantiates a Client. + state : WorkloadState + A dataclass storing the state for the workload being executed by the client. server_msg: ServerMessage The message coming from the server, to be processed by the client. @@ -144,15 +152,19 @@ def handle_legacy_message( # Instantiate the client client = client_fn("-1") + client.set_state(state) # Execute task + message = None if field == "get_properties_ins": - return _get_properties(client, server_msg.get_properties_ins) + message = _get_properties(client, server_msg.get_properties_ins) if field == "get_parameters_ins": - return _get_parameters(client, server_msg.get_parameters_ins) + message = _get_parameters(client, server_msg.get_parameters_ins) if field == "fit_ins": - return _fit(client, server_msg.fit_ins) + message = _fit(client, server_msg.fit_ins) if field == "evaluate_ins": - return _evaluate(client, server_msg.evaluate_ins) + message = _evaluate(client, server_msg.evaluate_ins) + if message: + return message, client.get_state() raise UnknownServerMessage() diff --git a/src/py/flwr/client/message_handler/message_handler_test.py b/src/py/flwr/client/message_handler/message_handler_test.py index 0183f161f873..d7f410d81fc0 100644 --- a/src/py/flwr/client/message_handler/message_handler_test.py +++ b/src/py/flwr/client/message_handler/message_handler_test.py @@ -19,6 +19,7 @@ from flwr.client import Client from flwr.client.typing import ClientFn +from flwr.client.workload_state import WorkloadState from flwr.common import ( EvaluateIns, EvaluateRes, @@ -133,7 +134,11 @@ def test_client_without_get_properties() -> None: disconnect_task_res, actual_sleep_duration = handle_control_message( task_ins=task_ins ) - task_res = handle(client_fn=_get_client_fn(client), task_ins=task_ins) + task_res, _ = handle( + client_fn=_get_client_fn(client), + state=WorkloadState(state={}), + task_ins=task_ins, + ) if not task_res.HasField("task"): raise ValueError("Task value not found") @@ -197,7 +202,11 @@ def test_client_with_get_properties() -> None: disconnect_task_res, actual_sleep_duration = handle_control_message( task_ins=task_ins ) - task_res = handle(client_fn=_get_client_fn(client), task_ins=task_ins) + task_res, _ = handle( + client_fn=_get_client_fn(client), + state=WorkloadState(state={}), + task_ins=task_ins, + ) if not task_res.HasField("task"): raise ValueError("Task value not found") diff --git a/src/py/flwr/client/numpy_client.py b/src/py/flwr/client/numpy_client.py index 883be2f3d554..8b0893ea30aa 100644 --- a/src/py/flwr/client/numpy_client.py +++ b/src/py/flwr/client/numpy_client.py @@ -19,6 +19,7 @@ from typing import Callable, Dict, Tuple from flwr.client.client import Client +from flwr.client.workload_state import WorkloadState from flwr.common import ( Config, NDArrays, @@ -69,6 +70,8 @@ class NumPyClient(ABC): """Abstract base class for Flower clients using NumPy.""" + state: WorkloadState + def get_properties(self, config: Config) -> Dict[str, Scalar]: """Return a client's set of properties. @@ -171,6 +174,14 @@ def evaluate( _ = (self, parameters, config) return 0.0, 0, {} + def get_state(self) -> WorkloadState: + """Get the workload state from this client.""" + return self.state + + def set_state(self, state: WorkloadState) -> None: + """Apply a workload state to this client.""" + self.state = state + def to_client(self) -> Client: """Convert to object to Client type and return it.""" return _wrap_numpy_client(client=self) @@ -267,9 +278,21 @@ def _evaluate(self: Client, ins: EvaluateIns) -> EvaluateRes: ) +def _get_state(self: Client) -> WorkloadState: + """Return state of underlying NumPyClient.""" + return self.numpy_client.get_state() # type: ignore + + +def _set_state(self: Client, state: WorkloadState) -> None: + """Apply state to underlying NumPyClient.""" + self.numpy_client.set_state(state) # type: ignore + + def _wrap_numpy_client(client: NumPyClient) -> Client: member_dict: Dict[str, Callable] = { # type: ignore "__init__": _constructor, + "get_state": _get_state, + "set_state": _set_state, } # Add wrapper type methods (if overridden) From 14c9b2a0924308795a606c29df3fbad9f8c846a1 Mon Sep 17 00:00:00 2001 From: Javier Date: Wed, 29 Nov 2023 14:49:54 +0000 Subject: [PATCH 19/33] Fix quickstart-pytorch (#2659) --- examples/quickstart-pytorch/client.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/quickstart-pytorch/client.py b/examples/quickstart-pytorch/client.py index f8c908ac631d..ad57645002f8 100644 --- a/examples/quickstart-pytorch/client.py +++ b/examples/quickstart-pytorch/client.py @@ -60,9 +60,9 @@ def test(net, testloader): correct, loss = 0, 0.0 with torch.no_grad(): for batch in tqdm(testloader, "Testing"): - images = batch["img"] - labels = batch["label"] - outputs = net(images.to(DEVICE)) + images = batch["img"].to(DEVICE) + labels = batch["label"].to(DEVICE) + outputs = net(images) loss += criterion(outputs, labels).item() correct += (torch.max(outputs.data, 1)[1] == labels).sum().item() accuracy = correct / len(testloader.dataset) From de632b2da7f9dd97cd52320668d95f6c10a91894 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Wed, 29 Nov 2023 15:58:28 +0100 Subject: [PATCH 20/33] Fix get-latest-changelog script (#2656) --- dev/get-latest-changelog.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/get-latest-changelog.sh b/dev/get-latest-changelog.sh index 8c03b257e309..1d4a6b6bf58f 100755 --- a/dev/get-latest-changelog.sh +++ b/dev/get-latest-changelog.sh @@ -9,9 +9,9 @@ tags=$(git tag --sort=-v:refname) new_version=$(echo "$tags" | sed -n '1p') old_version=$(echo "$tags" | sed -n '2p') -awk -v start="$new_version" -v end="$old_version" ' +awk '{sub(//, ""); print}' doc/source/ref-changelog.md | awk -v start="$new_version" -v end="$old_version" ' $0 ~ start {flag=1; next} $0 ~ end {flag=0} flag && !printed && /^$/ {next} # skip the first blank line flag && !printed {printed=1} - flag' doc/source/ref-changelog.md + flag' From d8f4be4f3749fadb5e7098e251279b21509c4574 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Wed, 29 Nov 2023 16:29:14 +0100 Subject: [PATCH 21/33] Use specific Ubuntu version for workflows (#2661) --- .github/workflows/android-release.yml | 2 +- .github/workflows/cpp.yml | 2 +- .github/workflows/framework-release.yml | 2 +- .github/workflows/update-pr.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/android-release.yml b/.github/workflows/android-release.yml index ba11e1ee85e7..b08d2bb66863 100644 --- a/.github/workflows/android-release.yml +++ b/.github/workflows/android-release.yml @@ -16,7 +16,7 @@ jobs: working-directory: src/kotlin name: Release build and publish if: github.repository == 'adap/flower' - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Check out code uses: actions/checkout@v4 diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml index 7b8656497bf5..a1d918aa5b29 100644 --- a/.github/workflows/cpp.yml +++ b/.github/workflows/cpp.yml @@ -11,7 +11,7 @@ on: jobs: build_and_test: name: Build and test - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/framework-release.yml b/.github/workflows/framework-release.yml index 1c55894a127b..eab15a51d217 100644 --- a/.github/workflows/framework-release.yml +++ b/.github/workflows/framework-release.yml @@ -9,7 +9,7 @@ jobs: publish: if: ${{ github.repository == 'adap/flower' }} name: Publish draft - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/update-pr.yml b/.github/workflows/update-pr.yml index 5ffcf0c13694..78ef5bc86772 100644 --- a/.github/workflows/update-pr.yml +++ b/.github/workflows/update-pr.yml @@ -6,7 +6,7 @@ on: - 'main' jobs: autoupdate: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Automatically update mergeable PRs uses: adRise/update-pr-branch@v0.7.0 From a1b15f079ab3f9d65ca6c21dd27a0bb6960bf981 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Wed, 29 Nov 2023 16:36:24 +0100 Subject: [PATCH 22/33] Improve script to prepare changelog for release (#2657) --- dev/{add-shortlog.sh => prepare-release-changelog.sh} | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) rename dev/{add-shortlog.sh => prepare-release-changelog.sh} (76%) diff --git a/dev/add-shortlog.sh b/dev/prepare-release-changelog.sh similarity index 76% rename from dev/add-shortlog.sh rename to dev/prepare-release-changelog.sh index 51f2e29b111c..3f2a2ae325e9 100755 --- a/dev/add-shortlog.sh +++ b/dev/prepare-release-changelog.sh @@ -2,6 +2,9 @@ set -e cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +# Get the current date in the format YYYY-MM-DD +current_date=$(date +"%Y-%m-%d") + tags=$(git tag --sort=-v:refname) new_version=$1 old_version=$(echo "$tags" | sed -n '1p') @@ -14,8 +17,8 @@ thanks="\n### Thanks to our contributors\n\nWe would like to give our special th # Check if the token exists in the markdown file if ! grep -q "$token" doc/source/ref-changelog.md; then # If the token does not exist in the markdown file, append the new content after the version - awk -v version="$new_version" -v text="$thanks" \ - '{print} $0 ~ "## " version {print text}' doc/source/ref-changelog.md > temp.md && mv temp.md doc/source/ref-changelog.md + awk -v version="$new_version" -v date="$current_date" -v text="$thanks" \ + '{ if ($0 ~ "## Unreleased") print "## " version " (" date ")\n" text; else print $0 }' doc/source/ref-changelog.md > temp.md && mv temp.md doc/source/ref-changelog.md else # If the token exists, replace the line containing the token with the new shortlog awk -v token="$token" -v newlog="$shortlog $token" '{ if ($0 ~ token) print newlog; else print $0 }' doc/source/ref-changelog.md > temp.md && mv temp.md doc/source/ref-changelog.md From eaa7ff94b0c8ce6d923009343ff5bbee183c3d3f Mon Sep 17 00:00:00 2001 From: Javier Date: Wed, 29 Nov 2023 22:27:43 +0000 Subject: [PATCH 23/33] Add `WorkloadState` to virtual clients (#2643) --- doc/source/ref-changelog.md | 2 + .../simulation/ray_transport/ray_actor.py | 38 +++++++++++++------ .../ray_transport/ray_client_proxy.py | 7 ++-- .../ray_transport/ray_client_proxy_test.py | 13 ++++--- 4 files changed, 39 insertions(+), 21 deletions(-) diff --git a/doc/source/ref-changelog.md b/doc/source/ref-changelog.md index f73d3babda18..8fbfb4843756 100644 --- a/doc/source/ref-changelog.md +++ b/doc/source/ref-changelog.md @@ -52,6 +52,8 @@ We would like to give our special thanks to all the contributors who made the ne - **Introduce `WorkloadState`** ([#2564](https://github.com/adap/flower/pull/2564), [#2632](https://github.com/adap/flower/pull/2632)) +- **Introduce `WorkloadState`** ([#2564](https://github.com/adap/flower/pull/2564), [#2632](https://github.com/adap/flower/pull/2632)) + - **Update Flower Baselines** - FedProx ([#2210](https://github.com/adap/flower/pull/2210), [#2286](https://github.com/adap/flower/pull/2286), [#2509](https://github.com/adap/flower/pull/2509)) diff --git a/src/py/flwr/simulation/ray_transport/ray_actor.py b/src/py/flwr/simulation/ray_transport/ray_actor.py index e6ddfd001ff6..57ea0ed7b187 100644 --- a/src/py/flwr/simulation/ray_transport/ray_actor.py +++ b/src/py/flwr/simulation/ray_transport/ray_actor.py @@ -27,6 +27,7 @@ from flwr import common from flwr.client import Client, ClientFn +from flwr.client.workload_state import WorkloadState from flwr.common.logger import log from flwr.simulation.ray_transport.utils import check_clientfn_returns_client @@ -60,7 +61,8 @@ def run( client_fn: ClientFn, job_fn: JobFn, cid: str, - ) -> Tuple[str, ClientRes]: + state: WorkloadState, + ) -> Tuple[str, ClientRes, WorkloadState]: """Run a client workload.""" # Execute tasks and return result # return also cid which is needed to ensure results @@ -68,8 +70,13 @@ def run( try: # Instantiate client (check 'Client' type is returned) client = check_clientfn_returns_client(client_fn(cid)) + # Inject state + client.set_state(state) # Run client job job_results = job_fn(client) + # Retrieve state (potentially updated) + updated_state = client.get_state() + print(f"Actor finishing ({cid}) !!!: {updated_state = }") except Exception as ex: client_trace = traceback.format_exc() message = ( @@ -83,7 +90,7 @@ def run( ) raise ClientException(str(message)) from ex - return cid, job_results + return cid, job_results, updated_state @ray.remote @@ -231,16 +238,18 @@ def add_actors_to_pool(self, num_actors: int) -> None: self._idle_actors.extend(new_actors) self.num_actors += num_actors - def submit(self, fn: Any, value: Tuple[ClientFn, JobFn, str]) -> None: + def submit( + self, fn: Any, value: Tuple[ClientFn, JobFn, str, WorkloadState] + ) -> None: """Take idle actor and assign it a client workload. Submit a job to an actor by first removing it from the list of idle actors, then check if this actor was flagged to be removed from the pool """ - client_fn, job_fn, cid = value + client_fn, job_fn, cid, state = value actor = self._idle_actors.pop() if self._check_and_remove_actor_from_pool(actor): - future = fn(actor, client_fn, job_fn, cid) + future = fn(actor, client_fn, job_fn, cid, state) future_key = tuple(future) if isinstance(future, List) else future self._future_to_actor[future_key] = (self._next_task_index, actor, cid) self._next_task_index += 1 @@ -249,10 +258,10 @@ def submit(self, fn: Any, value: Tuple[ClientFn, JobFn, str]) -> None: self._cid_to_future[cid]["future"] = future_key def submit_client_job( - self, actor_fn: Any, job: Tuple[ClientFn, JobFn, str] + self, actor_fn: Any, job: Tuple[ClientFn, JobFn, str, WorkloadState] ) -> None: """Submit a job while tracking client ids.""" - _, _, cid = job + _, _, cid, _ = job # We need to put this behind a lock since .submit() involves # removing and adding elements from a dictionary. Which creates @@ -289,15 +298,17 @@ def _is_future_ready(self, cid: str) -> bool: return self._cid_to_future[cid]["ready"] # type: ignore - def _fetch_future_result(self, cid: str) -> ClientRes: - """Fetch result for VirtualClient from Object Store. + def _fetch_future_result(self, cid: str) -> Tuple[ClientRes, WorkloadState]: + """Fetch result and updated state for a VirtualClient from Object Store. The job submitted by the ClientProxy interfacing with client with cid=cid is ready. Here we fetch it from the object store and return. """ try: future: ObjectRef[Any] = self._cid_to_future[cid]["future"] # type: ignore - res_cid, res = ray.get(future) # type: (str, ClientRes) + res_cid, res, updated_state = ray.get( + future + ) # type: (str, ClientRes, WorkloadState) except ray.exceptions.RayActorError as ex: log(ERROR, ex) if hasattr(ex, "actor_id"): @@ -314,7 +325,7 @@ def _fetch_future_result(self, cid: str) -> ClientRes: # Reset mapping self._reset_cid_to_future_dict(cid) - return res + return res, updated_state def _flag_actor_for_removal(self, actor_id_hex: str) -> None: """Flag actor that should be removed from pool.""" @@ -399,7 +410,9 @@ def process_unordered_future(self, timeout: Optional[float] = None) -> None: # Manually terminate the actor actor.terminate.remote() - def get_client_result(self, cid: str, timeout: Optional[float]) -> ClientRes: + def get_client_result( + self, cid: str, timeout: Optional[float] + ) -> Tuple[ClientRes, WorkloadState]: """Get result from VirtualClient with specific cid.""" # Loop until all jobs submitted to the pool are completed. Break early # if the result for the ClientProxy calling this method is ready @@ -411,4 +424,5 @@ def get_client_result(self, cid: str, timeout: Optional[float]) -> ClientRes: break # Fetch result belonging to the VirtualClient calling this method + # Return both result from tasks and (potentially) updated workload state return self._fetch_future_result(cid) diff --git a/src/py/flwr/simulation/ray_transport/ray_client_proxy.py b/src/py/flwr/simulation/ray_transport/ray_client_proxy.py index c4fc311b48f4..9596acaf1d91 100644 --- a/src/py/flwr/simulation/ray_transport/ray_client_proxy.py +++ b/src/py/flwr/simulation/ray_transport/ray_client_proxy.py @@ -29,6 +29,7 @@ maybe_call_get_parameters, maybe_call_get_properties, ) +from flwr.client.workload_state import WorkloadState from flwr.common.logger import log from flwr.server.client_proxy import ClientProxy from flwr.simulation.ray_transport.ray_actor import ( @@ -132,10 +133,10 @@ def __init__( def _submit_job(self, job_fn: JobFn, timeout: Optional[float]) -> ClientRes: try: self.actor_pool.submit_client_job( - lambda a, c_fn, j_fn, cid: a.run.remote(c_fn, j_fn, cid), - (self.client_fn, job_fn, self.cid), + lambda a, c_fn, j_fn, cid, state: a.run.remote(c_fn, j_fn, cid, state), + (self.client_fn, job_fn, self.cid, WorkloadState(state={})), ) - res = self.actor_pool.get_client_result(self.cid, timeout) + res, _ = self.actor_pool.get_client_result(self.cid, timeout) except Exception as ex: if self.actor_pool.num_actors == 0: diff --git a/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py b/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py index 35a082678058..44cb4ec70471 100644 --- a/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py +++ b/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py @@ -22,6 +22,7 @@ import ray from flwr.client import Client, NumPyClient +from flwr.client.workload_state import WorkloadState from flwr.common import Code, GetPropertiesRes, Status from flwr.simulation.ray_transport.ray_actor import ( ClientRes, @@ -120,14 +121,14 @@ def test_cid_consistency_all_submit_first() -> None: for prox in proxies: job = job_fn(prox.cid) prox.actor_pool.submit_client_job( - lambda a, c_fn, j_fn, cid: a.run.remote(c_fn, j_fn, cid), - (prox.client_fn, job, prox.cid), + lambda a, c_fn, j_fn, cid, state: a.run.remote(c_fn, j_fn, cid, state), + (prox.client_fn, job, prox.cid, WorkloadState(state={})), ) # fetch results one at a time shuffle(proxies) for prox in proxies: - res = prox.actor_pool.get_client_result(prox.cid, timeout=None) + res, _ = prox.actor_pool.get_client_result(prox.cid, timeout=None) res = cast(GetPropertiesRes, res) assert int(prox.cid) * pi == res.properties["result"] @@ -145,14 +146,14 @@ def test_cid_consistency_without_proxies() -> None: for cid in cids: job = job_fn(cid) pool.submit_client_job( - lambda a, c_fn, j_fn, cid_: a.run.remote(c_fn, j_fn, cid_), - (get_dummy_client, job, cid), + lambda a, c_fn, j_fn, cid_, state: a.run.remote(c_fn, j_fn, cid_, state), + (get_dummy_client, job, cid, WorkloadState(state={})), ) # fetch results one at a time shuffle(cids) for cid in cids: - res = pool.get_client_result(cid, timeout=None) + res, _ = pool.get_client_result(cid, timeout=None) res = cast(GetPropertiesRes, res) assert int(cid) * pi == res.properties["result"] From 094e92519f1025a8bd1bdc5885a06dce83616349 Mon Sep 17 00:00:00 2001 From: Heng Pan <134433891+panh99@users.noreply.github.com> Date: Thu, 30 Nov 2023 14:52:37 +0000 Subject: [PATCH 24/33] Move definitions of `Fwd` and `Bwd` to `client/typing.py` (#2669) --- examples/vertical-fl/simulation.py | 2 +- src/py/flwr/client/app.py | 4 ++-- src/py/flwr/client/flower.py | 26 ++------------------------ src/py/flwr/client/typing.py | 22 ++++++++++++++++++++++ src/py/flwr/flower/__init__.py | 4 ++-- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/examples/vertical-fl/simulation.py b/examples/vertical-fl/simulation.py index 095ec6e0c7ea..f4befc3a073e 100644 --- a/examples/vertical-fl/simulation.py +++ b/examples/vertical-fl/simulation.py @@ -22,4 +22,4 @@ def client_fn(cid): results_dir = Path("_static/results") results_dir.mkdir(exist_ok=True) -np.save(str(results_dir/"hist.npy"), hist) +np.save(str(results_dir / "hist.npy"), hist) diff --git a/src/py/flwr/client/app.py b/src/py/flwr/client/app.py index 81bbee148c95..7ce7d51d3d4b 100644 --- a/src/py/flwr/client/app.py +++ b/src/py/flwr/client/app.py @@ -23,8 +23,8 @@ from typing import Callable, ContextManager, Optional, Tuple, Union from flwr.client.client import Client -from flwr.client.flower import Bwd, Flower, Fwd -from flwr.client.typing import ClientFn +from flwr.client.flower import Flower +from flwr.client.typing import Bwd, ClientFn, Fwd from flwr.common import GRPC_MAX_MESSAGE_LENGTH, EventType, event from flwr.common.address import parse_address from flwr.common.constant import ( diff --git a/src/py/flwr/client/flower.py b/src/py/flwr/client/flower.py index f0d4ce122524..5b083ee11b9f 100644 --- a/src/py/flwr/client/flower.py +++ b/src/py/flwr/client/flower.py @@ -16,32 +16,10 @@ import importlib -from dataclasses import dataclass -from typing import Callable, cast +from typing import cast from flwr.client.message_handler.message_handler import handle -from flwr.client.typing import ClientFn -from flwr.client.workload_state import WorkloadState -from flwr.proto.task_pb2 import TaskIns, TaskRes - - -@dataclass -class Fwd: - """.""" - - task_ins: TaskIns - state: WorkloadState - - -@dataclass -class Bwd: - """.""" - - task_res: TaskRes - state: WorkloadState - - -FlowerCallable = Callable[[Fwd], Bwd] +from flwr.client.typing import Bwd, ClientFn, Fwd class Flower: diff --git a/src/py/flwr/client/typing.py b/src/py/flwr/client/typing.py index 7ee6f069768c..2c1f7506592c 100644 --- a/src/py/flwr/client/typing.py +++ b/src/py/flwr/client/typing.py @@ -14,8 +14,30 @@ # ============================================================================== """Custom types for Flower clients.""" +from dataclasses import dataclass from typing import Callable +from flwr.client.workload_state import WorkloadState +from flwr.proto.task_pb2 import TaskIns, TaskRes + from .client import Client as Client + +@dataclass +class Fwd: + """.""" + + task_ins: TaskIns + state: WorkloadState + + +@dataclass +class Bwd: + """.""" + + task_res: TaskRes + state: WorkloadState + + +FlowerCallable = Callable[[Fwd], Bwd] ClientFn = Callable[[str], Client] diff --git a/src/py/flwr/flower/__init__.py b/src/py/flwr/flower/__init__.py index 090c78062d02..892a7ce5afdc 100644 --- a/src/py/flwr/flower/__init__.py +++ b/src/py/flwr/flower/__init__.py @@ -15,9 +15,9 @@ """Flower callable package.""" -from flwr.client.flower import Bwd as Bwd from flwr.client.flower import Flower as Flower -from flwr.client.flower import Fwd as Fwd +from flwr.client.typing import Bwd as Bwd +from flwr.client.typing import Fwd as Fwd __all__ = [ "Flower", From dc7e2b03928eb4f36acaec1f83aa50a576855a9f Mon Sep 17 00:00:00 2001 From: mohammadnaseri Date: Fri, 1 Dec 2023 12:15:23 +0000 Subject: [PATCH 25/33] Improve DP doc page (#2674) --- doc/source/explanation-differential-privacy.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/source/explanation-differential-privacy.rst b/doc/source/explanation-differential-privacy.rst index 6f0fc5f9b082..fcebd81983cc 100644 --- a/doc/source/explanation-differential-privacy.rst +++ b/doc/source/explanation-differential-privacy.rst @@ -4,7 +4,7 @@ Differential privacy Flower provides differential privacy (DP) wrapper classes for the easy integration of the central DP guarantees provided by DP-FedAvg into training pipelines defined in any of the various ML frameworks that Flower is compatible with. .. warning:: - Please note that these components are still experimental, the correct configuration of DP for a specific task is still an unsolved problem. + Please note that these components are still experimental; the correct configuration of DP for a specific task is still an unsolved problem. .. note:: The name DP-FedAvg is misleading since it can be applied on top of any FL algorithm that conforms to the general structure prescribed by the FedOpt family of algorithms. @@ -17,18 +17,18 @@ DP-FedAvg, originally proposed by McMahan et al. [mcmahan]_ and extended by Andr * **Clipping** : The influence of each client's update is bounded by clipping it. This is achieved by enforcing a cap on the L2 norm of the update, scaling it down if needed. * **Noising** : Gaussian noise, calibrated to the clipping threshold, is added to the average computed at the server. -The distribution of the update norm has been shown to vary from task-to-task and to evolve as training progresses. Therefore, we use an adaptive approach [andrew]_ that continuously adjusts the clipping threshold to track a prespecified quantile of the update norm distribution. +The distribution of the update norm has been shown to vary from task-to-task and to evolve as training progresses. This variability is crucial in understanding its impact on differential privacy guarantees, emphasizing the need for an adaptive approach [andrew]_ that continuously adjusts the clipping threshold to track a prespecified quantile of the update norm distribution. Simplifying Assumptions *********************** -We make (and attempt to enforce) a number of assumptions that must be satisfied to ensure that the training process actually realises the :math:`(\epsilon, \delta)` guarantees the user has in mind when configuring the setup. +We make (and attempt to enforce) a number of assumptions that must be satisfied to ensure that the training process actually realizes the :math:`(\epsilon, \delta)` guarantees the user has in mind when configuring the setup. * **Fixed-size subsampling** :Fixed-size subsamples of the clients must be taken at each round, as opposed to variable-sized Poisson subsamples. * **Unweighted averaging** : The contributions from all the clients must weighted equally in the aggregate to eliminate the requirement for the server to know in advance the sum of the weights of all clients available for selection. * **No client failures** : The set of available clients must stay constant across all rounds of training. In other words, clients cannot drop out or fail. -The first two are useful for eliminating a multitude of complications associated with calibrating the noise to the clipping threshold while the third one is required to comply with the assumptions of the privacy analysis. +The first two are useful for eliminating a multitude of complications associated with calibrating the noise to the clipping threshold, while the third one is required to comply with the assumptions of the privacy analysis. .. note:: These restrictions are in line with constraints imposed by Andrew et al. [andrew]_. @@ -48,7 +48,7 @@ Introducing DP to an existing workload can be thought of as adding an extra laye Server-side logic ***************** -The first version of our solution was to define a decorator whose constructor accepted, among other things, a boolean valued variable indicating whether adaptive clipping was to be enabled or not. We quickly realized that this would clutter its :code:`__init__()` function with variables corresponding to hyperparameters of adaptive clipping that would remain unused when it was disabled. A cleaner implementation could be achieved by splitting the functionality into two decorators, :code:`DPFedAvgFixed` and :code:`DPFedAvgAdaptive`, with the latter sub- classing the former. The constructors for both classes accept a boolean parameter :code:`server_side_noising`, which, as the name suggests, determines where noising is to be performed. +The first version of our solution was to define a decorator whose constructor accepted, among other things, a boolean-valued variable indicating whether adaptive clipping was to be enabled or not. We quickly realized that this would clutter its :code:`__init__()` function with variables corresponding to hyperparameters of adaptive clipping that would remain unused when it was disabled. A cleaner implementation could be achieved by splitting the functionality into two decorators, :code:`DPFedAvgFixed` and :code:`DPFedAvgAdaptive`, with the latter sub- classing the former. The constructors for both classes accept a boolean parameter :code:`server_side_noising`, which, as the name suggests, determines where noising is to be performed. DPFedAvgFixed ::::::::::::: @@ -56,7 +56,7 @@ DPFedAvgFixed The server-side capabilities required for the original version of DP-FedAvg, i.e., the one which performed fixed clipping, can be completely captured with the help of wrapper logic for just the following two methods of the :code:`Strategy` abstract class. #. :code:`configure_fit()` : The config dictionary being sent by the wrapped :code:`Strategy` to each client needs to be augmented with an additional value equal to the clipping threshold (keyed under :code:`dpfedavg_clip_norm`) and, if :code:`server_side_noising=true`, another one equal to the scale of the Gaussian noise that needs to be added at the client (keyed under :code:`dpfedavg_noise_stddev`). This entails *post*-processing of the results returned by the wrappee's implementation of :code:`configure_fit()`. -#. :code:`aggregate_fit()`: We check whether any of the sampled clients dropped out or failed to upload an update before the round timed out. In that case, we need to abort the current round, discarding any successful updates that were received, and move on to the next one. On the other hand, if all clients responded successfully, we must force the averaging of the updates to happen in an unweighted manner by intercepting the :code:`parameters` field of :code:`FitRes` for each received update and setting it to 1. Furthermore, if :code:`server_side_noising=true`, each update is perturbed with an amount of noise equal to what it would have been subjected to had client-side noising being enabled. This entails *pre*-processing of the arguments to this method before passing them on to the wrappee's implementation of :code:`aggregate_fit()`. +#. :code:`aggregate_fit()`: We check whether any of the sampled clients dropped out or failed to upload an update before the round timed out. In that case, we need to abort the current round, discarding any successful updates that were received, and move on to the next one. On the other hand, if all clients responded successfully, we must force the averaging of the updates to happen in an unweighted manner by intercepting the :code:`parameters` field of :code:`FitRes` for each received update and setting it to 1. Furthermore, if :code:`server_side_noising=true`, each update is perturbed with an amount of noise equal to what it would have been subjected to had client-side noising being enabled. This entails *pre*-processing of the arguments to this method before passing them on to the wrappee's implementation of :code:`aggregate_fit()`. .. note:: We can't directly change the aggregation function of the wrapped strategy to force it to add noise to the aggregate, hence we simulate client-side noising to implement server-side noising. @@ -95,6 +95,6 @@ Assume you have trained for :math:`n` rounds with sampling fraction :math:`q` an rdp = tfp.compute_rdp_sample_without_replacement(q, z, n, orders) eps, _, _ = tfp.rdp_accountant.get_privacy_spent(rdp, target_delta=delta) -.. [mcmahan] McMahan, H. Brendan, et al. "Learning differentially private recurrent language models." arXiv preprint arXiv:1710.06963 (2017). +.. [mcmahan] McMahan et al. "Learning Differentially Private Recurrent Language Models." International Conference on Learning Representations (ICLR), 2017. -.. [andrew] Andrew, Galen, et al. "Differentially private learning with adaptive clipping." Advances in Neural Information Processing Systems 34 (2021): 17455-17466. +.. [andrew] Andrew, Galen, et al. "Differentially Private Learning with Adaptive Clipping." Advances in Neural Information Processing Systems (NeurIPS), 2021. From c4b68b0c1bb37fcdb02fbb3d1f0adab6bd684dd9 Mon Sep 17 00:00:00 2001 From: Robert Steiner Date: Fri, 1 Dec 2023 16:37:40 +0100 Subject: [PATCH 26/33] Fix devcontainer (#2675) --- .devcontainer/Dockerfile | 4 ++-- .devcontainer/devcontainer.json | 16 ++++++++++------ ...r-how-to-develop-in-vscode-dev-containers.rst | 4 ++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 016c12af2426..61c8d14039db 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -24,8 +24,8 @@ RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhisto && echo $SNIPPET >> "/home/$USERNAME/.bashrc" # Install system dependencies -RUN apt update -RUN apt install -y curl wget gnupg python3 python-is-python3 python3-pip git \ +RUN apt-get update +RUN apt-get install -y curl wget gnupg python3 python-is-python3 python3-pip git \ build-essential tmux vim RUN python -m pip install \ diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a4a2d37c2cb1..8ba9269ed8a4 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,11 +1,15 @@ { "dockerFile": "Dockerfile", - "postCreateCommand": "poetry install --extras \"simulation\"", - "extensions": ["ms-python.python"], - "settings": { - "files.watcherExclude": {}, - "search.exclude": {}, - "terminal.integrated.defaultProfile.linux": "bash" + "postCreateCommand": "sudo poetry install --extras \"simulation\"", + "customizations": { + "vscode": { + "settings": { + "files.watcherExclude": { }, + "search.exclude": { }, + "terminal.integrated.defaultProfile.linux": "bash" + }, + "extensions": [ "ms-python.python" ] + } }, "remoteUser": "flwr-vscode", "containerEnv": { diff --git a/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst b/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst index 3782196b4c7b..d9a4cf6b7c82 100644 --- a/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst +++ b/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst @@ -1,4 +1,4 @@ -Develop in VSCode Dev Containers +Develop in VSCode Dev Containers ================================ When working on the Flower framework we want to ensure that all contributors use the same developer environment to format code or run tests. For this purpose we are using the VSCode Remote Containers extension. What is it? Read the following quote: @@ -14,7 +14,7 @@ Source: `Official VSCode documentation `_. +Configuring and setting up the :code:`Dockerfile` as well the configuration for the devcontainer can be a bit more involved. The good thing is you don't have to do it. Usually it should be enough to install [Docker](https://docs.docker.com/engine/install/) on your system and ensure its available on your command line. Additionally, install the `VSCode Containers Extension `_. Now you should be good to go. When starting VSCode, it will ask you to run in the container environment and - if you confirm - automatically build the container and use it. To manually instruct VSCode to use the devcontainer, you can, after installing the extension, click the green area in the bottom left corner of your VSCode window and select the option *(Re)Open Folder in Container*. From 9d182cebbb2ca6acacd3cac7a16e9657de7506b1 Mon Sep 17 00:00:00 2001 From: Robert Steiner Date: Mon, 4 Dec 2023 14:00:18 +0100 Subject: [PATCH 27/33] Small improvements to the current Docker image (#2680) --- src/docker/server/Dockerfile | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/docker/server/Dockerfile b/src/docker/server/Dockerfile index d294013faefa..37f1ea91f33c 100644 --- a/src/docker/server/Dockerfile +++ b/src/docker/server/Dockerfile @@ -1,8 +1,20 @@ # Copyright 2023 Flower Labs GmbH. All Rights Reserved. -FROM ubuntu:22.04 as base +ARG UBUNTU_VERSION=22.04 +FROM ubuntu:$UBUNTU_VERSION as base ENV DEBIAN_FRONTEND noninteractive +# Send stdout and stderr stream directly to the terminal. Ensures that no +# output is retained in a buffer if the application crashes. +ENV PYTHONUNBUFFERED 1 +# Typically, bytecode is created on the first invocation to speed up following invocation. +# However, in Docker we only make a single invocation (when we start the container). +# Therefore, we can disable bytecode writing. +ENV PYTHONDONTWRITEBYTECODE 1 +# Ensure that python encoding is always UTF-8. +ENV PYTHONIOENCODING UTF-8 +ENV LANG C.UTF-8 +ENV LC_ALL C.UTF-8 # Install system dependencies RUN apt-get update \ @@ -17,6 +29,8 @@ RUN apt-get update \ ARG PYTHON_VERSION ENV PYENV_ROOT /root/.pyenv ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH +# https://github.com/hadolint/hadolint/wiki/DL4006 +SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash RUN pyenv install ${PYTHON_VERSION} \ && pyenv global ${PYTHON_VERSION} \ @@ -24,25 +38,19 @@ RUN pyenv install ${PYTHON_VERSION} \ # Install specific version of pip ARG PIP_VERSION -RUN python -m pip install pip==$PIP_VERSION +RUN python -m pip install --no-cache-dir pip==$PIP_VERSION # Install specific version of setuptools ARG SETUPTOOLS_VERSION -RUN python -m pip install setuptools==$SETUPTOOLS_VERSION - -# Install poetry as all examples use it and therefore it should be available for custom images -ARG POETRY_VERSION -RUN curl -sSL https://install.python-poetry.org | python3 - --version ${POETRY_VERSION} -ENV PATH /root/.local/bin:$PATH -RUN poetry config virtualenvs.create false +RUN python -m pip install --no-cache-dir setuptools==$SETUPTOOLS_VERSION # Server image FROM base as server WORKDIR /app ARG FLWR_VERSION -RUN python -m pip install -U flwr[rest]==${FLWR_VERSION} -ENTRYPOINT ["python", "-c", "from flwr.server import run_server\nrun_server()"] +RUN python -m pip install -U --no-cache-dir flwr[rest]==${FLWR_VERSION} +ENTRYPOINT ["python", "-c", "from flwr.server import run_server; run_server()"] # Test if Flower can be successfully installed and imported FROM server as test From f10e3858a27aa1dcf4fcf2bef95db3be830eaafd Mon Sep 17 00:00:00 2001 From: Robert Steiner Date: Mon, 4 Dec 2023 14:38:28 +0100 Subject: [PATCH 28/33] Fix RST links (#2676) --- datasets/doc/source/how-to-use-with-tensorflow.rst | 2 +- ...butor-how-to-develop-in-vscode-dev-containers.rst | 2 +- .../contributor-how-to-write-documentation.rst | 2 +- ...ributor-tutorial-get-started-as-a-contributor.rst | 12 ++++++------ 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/datasets/doc/source/how-to-use-with-tensorflow.rst b/datasets/doc/source/how-to-use-with-tensorflow.rst index a63145d9dffa..3dc8474b726a 100644 --- a/datasets/doc/source/how-to-use-with-tensorflow.rst +++ b/datasets/doc/source/how-to-use-with-tensorflow.rst @@ -25,7 +25,7 @@ In case of CIFAR10, you should see the following output. 'label': ClassLabel(names=['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'], id=None)} -We will use the keys in the partition features in order to construct a `tf.data.Dataset _`. Let's move to the transformations. +We will use the keys in the partition features in order to construct a `tf.data.Dataset `_. Let's move to the transformations. NumPy ----- diff --git a/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst b/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst index d9a4cf6b7c82..19d46c5753c6 100644 --- a/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst +++ b/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst @@ -14,7 +14,7 @@ Source: `Official VSCode documentation `_. +Configuring and setting up the :code:`Dockerfile` as well the configuration for the devcontainer can be a bit more involved. The good thing is you don't have to do it. Usually it should be enough to install `Docker `_ on your system and ensure its available on your command line. Additionally, install the `VSCode Containers Extension `_. Now you should be good to go. When starting VSCode, it will ask you to run in the container environment and - if you confirm - automatically build the container and use it. To manually instruct VSCode to use the devcontainer, you can, after installing the extension, click the green area in the bottom left corner of your VSCode window and select the option *(Re)Open Folder in Container*. diff --git a/doc/source/contributor-how-to-write-documentation.rst b/doc/source/contributor-how-to-write-documentation.rst index 232c37f06e1b..fcd8c5bb18c6 100644 --- a/doc/source/contributor-how-to-write-documentation.rst +++ b/doc/source/contributor-how-to-write-documentation.rst @@ -7,7 +7,7 @@ Project layout The Flower documentation lives in the ``doc`` directory. The Sphinx-based documentation system supports both reStructuredText (``.rst`` files) and Markdown (``.md`` files). -Note that, in order to build the documentation locally (with ``poetry run make html``, like described below), `Pandoc _` needs to be installed on the system. +Note that, in order to build the documentation locally (with ``poetry run make html``, like described below), `Pandoc `_ needs to be installed on the system. Edit an existing page diff --git a/doc/source/contributor-tutorial-get-started-as-a-contributor.rst b/doc/source/contributor-tutorial-get-started-as-a-contributor.rst index 3fdb52b5ddb1..e035d1b9867d 100644 --- a/doc/source/contributor-tutorial-get-started-as-a-contributor.rst +++ b/doc/source/contributor-tutorial-get-started-as-a-contributor.rst @@ -30,8 +30,8 @@ but you can change it by providing a specific :code:``):: $ ./dev/venv-create.sh -If you don't have :code:`pyenv` installed, -you can use the following script that will install pyenv, +If you don't have :code:`pyenv` installed, +you can use the following script that will install pyenv, set it up and create the virtual environment (with :code:`Python 3.8.17` by default):: $ ./dev/setup-defaults.sh @@ -83,7 +83,7 @@ Run Github Actions (CI) locally ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Developers could run the full set of Github Actions workflows under their local -environment by using `Act _`. Please refer to +environment by using `Act `_. Please refer to the installation instructions under the linked repository and run the next command under Flower main cloned repository folder:: @@ -116,6 +116,6 @@ convenience script to re-build the documentation yet, but it's pretty easy:: This will generate HTML documentation in ``doc/build/html``. -Note that, in order to build the documentation locally -(with ``poetry run make html``, like described below), -`Pandoc _` needs to be installed on the system. +Note that, in order to build the documentation locally +(with ``poetry run make html``, like described below), +`Pandoc `_ needs to be installed on the system. From c3347a4c26b5b7c92cd29a14e137fc1e21dad002 Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Tue, 5 Dec 2023 09:03:00 +0000 Subject: [PATCH 29/33] Update flwr version from nightly to 1.6.0 (#2681) Co-authored-by: yan-gao-GY --- examples/xgboost-quickstart/pyproject.toml | 2 +- examples/xgboost-quickstart/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/xgboost-quickstart/pyproject.toml b/examples/xgboost-quickstart/pyproject.toml index d82535311e58..7b3cbd9659a2 100644 --- a/examples/xgboost-quickstart/pyproject.toml +++ b/examples/xgboost-quickstart/pyproject.toml @@ -10,6 +10,6 @@ authors = ["The Flower Authors "] [tool.poetry.dependencies] python = ">=3.8,<3.11" -flwr-nightly = ">=1.0,<2.0" +flwr = ">=1.6.0,<2.0" flwr-datasets = ">=0.0.1,<1.0.0" xgboost = ">=2.0.0,<3.0.0" diff --git a/examples/xgboost-quickstart/requirements.txt b/examples/xgboost-quickstart/requirements.txt index aefd74097582..4ccd5587bfc3 100644 --- a/examples/xgboost-quickstart/requirements.txt +++ b/examples/xgboost-quickstart/requirements.txt @@ -1,3 +1,3 @@ -flwr-nightly>=1.0, <2.0 +flwr>=1.6.0, <2.0 flwr-datasets>=0.0.1, <1.0.0 xgboost>=2.0.0, <3.0.0 From 5be6671bd1b7baca51d6f192857f70924ae6155b Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Wed, 6 Dec 2023 08:32:46 +0000 Subject: [PATCH 30/33] New XGBoost strategy: cyclic training (#2666) Co-authored-by: yan-gao-GY --- examples/xgboost-comprehensive/README.md | 23 ++- examples/xgboost-comprehensive/client.py | 15 +- .../{run.sh => run_bagging.sh} | 0 examples/xgboost-comprehensive/run_cyclic.sh | 17 +++ examples/xgboost-comprehensive/server.py | 84 +++++++++-- examples/xgboost-comprehensive/utils.py | 14 ++ src/py/flwr/server/strategy/__init__.py | 2 + src/py/flwr/server/strategy/fedxgb_cyclic.py | 142 ++++++++++++++++++ 8 files changed, 273 insertions(+), 24 deletions(-) rename examples/xgboost-comprehensive/{run.sh => run_bagging.sh} (100%) create mode 100755 examples/xgboost-comprehensive/run_cyclic.sh create mode 100644 src/py/flwr/server/strategy/fedxgb_cyclic.py diff --git a/examples/xgboost-comprehensive/README.md b/examples/xgboost-comprehensive/README.md index da002a10d301..11c4c3f9a08b 100644 --- a/examples/xgboost-comprehensive/README.md +++ b/examples/xgboost-comprehensive/README.md @@ -9,6 +9,7 @@ It differs from the [xgboost-quickstart](https://github.com/adap/flower/tree/mai - Customised number of partitions. - Customised partitioner type (uniform, linear, square, exponential). - Centralised/distributed evaluation. +- Bagging/cyclic training methods. ## Project Setup @@ -26,7 +27,8 @@ This will create a new directory called `xgboost-comprehensive` containing the f -- client.py <- Defines the client-side logic -- dataset.py <- Defines the functions of data loading and partitioning -- utils.py <- Defines the arguments parser for clients and server --- run.sh <- Commands to run experiments +-- run_bagging.sh <- Commands to run bagging experiments +-- run_cyclic.sh <- Commands to run cyclic experiments -- pyproject.toml <- Example dependencies (if you use Poetry) -- requirements.txt <- Example dependencies ``` @@ -60,24 +62,31 @@ pip install -r requirements.txt ## Run Federated Learning with XGBoost and Flower -The included `run.sh` will start the Flower server (using `server.py`) with centralised evaluation, +We have two scripts to run bagging and cyclic (client-by-client) experiments. +The included `run_bagging.sh` or `run_cyclic.sh` will start the Flower server (using `server.py`), sleep for 15 seconds to ensure that the server is up, and then start 5 Flower clients (using `client.py`) with a small subset of the data from exponential partition distribution. You can simply start everything in a terminal as follows: ```shell -poetry run ./run.sh +poetry run ./run_bagging.sh ``` -The `run.sh` script starts processes in the background so that you don't have to open eleven terminal windows. +Or + +```shell +poetry run ./run_cyclic.sh +``` + +The script starts processes in the background so that you don't have to open eleven terminal windows. If you experiment with the code example and something goes wrong, simply using `CTRL + C` on Linux (or `CMD + C` on macOS) wouldn't normally kill all these processes, which is why the script ends with `trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT` and `wait`. This simply allows you to stop the experiment using `CTRL + C` (or `CMD + C`). If you change the script and anything goes wrong you can still use `killall python` (or `killall python3`) to kill all background processes (or a more specific command if you have other Python processes running that you don't want to kill). -You can also manually run `poetry run python3 server.py --pool-size=N --num-clients-per-round=N` -and `poetry run python3 client.py --node-id=NODE_ID --num-partitions=N` for as many clients as you want, +You can also manually run `poetry run python3 server.py --train-method=bagging/cyclic --pool-size=N --num-clients-per-round=N` +and `poetry run python3 client.py --train-method=bagging/cyclic --node-id=NODE_ID --num-partitions=N` for as many clients as you want, but you have to make sure that each command is run in a different terminal window (or a different computer on the network). In addition, we provide more options to customise the experimental settings, including data partitioning and centralised/distributed evaluation (see `utils.py`). @@ -86,6 +95,8 @@ and [tutorial](https://flower.dev/docs/framework/tutorial-quickstart-xgboost.htm ### Expected Experimental Results +#### Bagging aggregation experiment + ![](_static/xgboost_flower_auc.png) The figure above shows the centralised tested AUC performance over FL rounds on 4 experimental settings. diff --git a/examples/xgboost-comprehensive/client.py b/examples/xgboost-comprehensive/client.py index a37edac32648..ff7a4adf7977 100644 --- a/examples/xgboost-comprehensive/client.py +++ b/examples/xgboost-comprehensive/client.py @@ -101,11 +101,16 @@ def _local_boost(self): for i in range(num_local_round): self.bst.update(train_dmatrix, self.bst.num_boosted_rounds()) - # Extract the last N=num_local_round trees for sever aggregation - bst = self.bst[ - self.bst.num_boosted_rounds() - - num_local_round : self.bst.num_boosted_rounds() - ] + # Bagging: extract the last N=num_local_round trees for sever aggregation + # Cyclic: return the entire model + bst = ( + self.bst[ + self.bst.num_boosted_rounds() + - num_local_round : self.bst.num_boosted_rounds() + ] + if args.train_method == "bagging" + else self.bst + ) return bst diff --git a/examples/xgboost-comprehensive/run.sh b/examples/xgboost-comprehensive/run_bagging.sh similarity index 100% rename from examples/xgboost-comprehensive/run.sh rename to examples/xgboost-comprehensive/run_bagging.sh diff --git a/examples/xgboost-comprehensive/run_cyclic.sh b/examples/xgboost-comprehensive/run_cyclic.sh new file mode 100755 index 000000000000..47e09fd8faef --- /dev/null +++ b/examples/xgboost-comprehensive/run_cyclic.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -e +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/ + +echo "Starting server" +python3 server.py --train-method=cyclic --pool-size=5 --num-rounds=100 & +sleep 15 # Sleep for 15s to give the server enough time to start + +for i in `seq 0 4`; do + echo "Starting client $i" + python3 client.py --node-id=$i --train-method=cyclic --num-partitions=5 --partitioner-type=exponential --centralised-eval & +done + +# Enable CTRL+C to stop all background processes +trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM +# Wait for all background processes to complete +wait diff --git a/examples/xgboost-comprehensive/server.py b/examples/xgboost-comprehensive/server.py index 3da7e8d9865c..1cf4ba79fa50 100644 --- a/examples/xgboost-comprehensive/server.py +++ b/examples/xgboost-comprehensive/server.py @@ -1,4 +1,5 @@ -from typing import Dict +import warnings +from typing import Dict, List, Optional from logging import INFO import xgboost as xgb @@ -7,13 +8,21 @@ from flwr.common import Parameters, Scalar from flwr_datasets import FederatedDataset from flwr.server.strategy import FedXgbBagging +from flwr.server.strategy import FedXgbCyclic +from flwr.server.client_proxy import ClientProxy +from flwr.server.criterion import Criterion +from flwr.server.client_manager import SimpleClientManager from utils import server_args_parser, BST_PARAMS from dataset import resplit, transform_dataset_to_dmatrix +warnings.filterwarnings("ignore", category=UserWarning) + + # Parse arguments for experimental settings args = server_args_parser() +train_method = args.train_method pool_size = args.pool_size num_rounds = args.num_rounds num_clients_per_round = args.num_clients_per_round @@ -80,23 +89,72 @@ def evaluate_fn( return evaluate_fn +class CyclicClientManager(SimpleClientManager): + """Provides a cyclic client selection rule.""" + + def sample( + self, + num_clients: int, + min_num_clients: Optional[int] = None, + criterion: Optional[Criterion] = None, + ) -> List[ClientProxy]: + """Sample a number of Flower ClientProxy instances.""" + + # Block until at least num_clients are connected. + if min_num_clients is None: + min_num_clients = num_clients + self.wait_for(min_num_clients) + + # Sample clients which meet the criterion + available_cids = list(self.clients) + if criterion is not None: + available_cids = [ + cid for cid in available_cids if criterion.select(self.clients[cid]) + ] + + if num_clients > len(available_cids): + log( + INFO, + "Sampling failed: number of available clients" + " (%s) is less than number of requested clients (%s).", + len(available_cids), + num_clients, + ) + return [] + + # Return all available clients + return [self.clients[cid] for cid in available_cids] + + # Define strategy -strategy = FedXgbBagging( - evaluate_function=get_evaluate_fn(test_dmatrix) if centralised_eval else None, - fraction_fit=(float(num_clients_per_round) / pool_size), - min_fit_clients=num_clients_per_round, - min_available_clients=pool_size, - min_evaluate_clients=num_evaluate_clients if not centralised_eval else 0, - fraction_evaluate=1.0 if not centralised_eval else 0.0, - on_evaluate_config_fn=eval_config, - evaluate_metrics_aggregation_fn=evaluate_metrics_aggregation - if not centralised_eval - else None, -) +if train_method == "bagging": + # Bagging training + strategy = FedXgbBagging( + evaluate_function=get_evaluate_fn(test_dmatrix) if centralised_eval else None, + fraction_fit=(float(num_clients_per_round) / pool_size), + min_fit_clients=num_clients_per_round, + min_available_clients=pool_size, + min_evaluate_clients=num_evaluate_clients if not centralised_eval else 0, + fraction_evaluate=1.0 if not centralised_eval else 0.0, + on_evaluate_config_fn=eval_config, + evaluate_metrics_aggregation_fn=evaluate_metrics_aggregation + if not centralised_eval + else None, + ) +else: + # Cyclic training + strategy = FedXgbCyclic( + fraction_fit=1.0, + min_available_clients=pool_size, + fraction_evaluate=1.0, + evaluate_metrics_aggregation_fn=evaluate_metrics_aggregation, + on_evaluate_config_fn=eval_config, + ) # Start Flower server fl.server.start_server( server_address="0.0.0.0:8080", config=fl.server.ServerConfig(num_rounds=num_rounds), strategy=strategy, + client_manager=CyclicClientManager() if train_method == "cyclic" else None, ) diff --git a/examples/xgboost-comprehensive/utils.py b/examples/xgboost-comprehensive/utils.py index 000def370752..8acdbbb88a7e 100644 --- a/examples/xgboost-comprehensive/utils.py +++ b/examples/xgboost-comprehensive/utils.py @@ -17,6 +17,13 @@ def client_args_parser(): """Parse arguments to define experimental settings on client side.""" parser = argparse.ArgumentParser() + parser.add_argument( + "--train-method", + default="bagging", + type=str, + choices=["bagging", "cyclic"], + help="Training methods selected from bagging aggregation or cyclic training.", + ) parser.add_argument( "--num-partitions", default=10, type=int, help="Number of partitions." ) @@ -56,6 +63,13 @@ def server_args_parser(): """Parse arguments to define experimental settings on server side.""" parser = argparse.ArgumentParser() + parser.add_argument( + "--train-method", + default="bagging", + type=str, + choices=["bagging", "cyclic"], + help="Training methods selected from bagging aggregation or cyclic training.", + ) parser.add_argument( "--pool-size", default=2, type=int, help="Number of total clients." ) diff --git a/src/py/flwr/server/strategy/__init__.py b/src/py/flwr/server/strategy/__init__.py index 0772aa1ff13a..1750a7522379 100644 --- a/src/py/flwr/server/strategy/__init__.py +++ b/src/py/flwr/server/strategy/__init__.py @@ -29,6 +29,7 @@ from .fedprox import FedProx as FedProx from .fedtrimmedavg import FedTrimmedAvg as FedTrimmedAvg from .fedxgb_bagging import FedXgbBagging as FedXgbBagging +from .fedxgb_cyclic import FedXgbCyclic as FedXgbCyclic from .fedxgb_nn_avg import FedXgbNnAvg as FedXgbNnAvg from .fedyogi import FedYogi as FedYogi from .krum import Krum as Krum @@ -42,6 +43,7 @@ "FedAvg", "FedXgbNnAvg", "FedXgbBagging", + "FedXgbCyclic", "FedAvgAndroid", "FedAvgM", "FedOpt", diff --git a/src/py/flwr/server/strategy/fedxgb_cyclic.py b/src/py/flwr/server/strategy/fedxgb_cyclic.py new file mode 100644 index 000000000000..e2707b02d19d --- /dev/null +++ b/src/py/flwr/server/strategy/fedxgb_cyclic.py @@ -0,0 +1,142 @@ +# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Federated XGBoost cyclic aggregation strategy.""" + + +from logging import WARNING +from typing import Any, Dict, List, Optional, Tuple, Union, cast + +from flwr.common import EvaluateIns, EvaluateRes, FitIns, FitRes, Parameters, Scalar +from flwr.common.logger import log +from flwr.server.client_manager import ClientManager +from flwr.server.client_proxy import ClientProxy + +from .fedavg import FedAvg + + +class FedXgbCyclic(FedAvg): + """Configurable FedXgbCyclic strategy implementation.""" + + # pylint: disable=too-many-arguments,too-many-instance-attributes, line-too-long + def __init__( + self, + **kwargs: Any, + ): + self.global_model: Optional[bytes] = None + super().__init__(**kwargs) + + def aggregate_fit( + self, + server_round: int, + results: List[Tuple[ClientProxy, FitRes]], + failures: List[Union[Tuple[ClientProxy, FitRes], BaseException]], + ) -> Tuple[Optional[Parameters], Dict[str, Scalar]]: + """Aggregate fit results using bagging.""" + if not results: + return None, {} + # Do not aggregate if there are failures and failures are not accepted + if not self.accept_failures and failures: + return None, {} + + # Fetch the client model from last round as global model + for _, fit_res in results: + update = fit_res.parameters.tensors + for bst in update: + self.global_model = bst + + return ( + Parameters(tensor_type="", tensors=[cast(bytes, self.global_model)]), + {}, + ) + + def aggregate_evaluate( + self, + server_round: int, + results: List[Tuple[ClientProxy, EvaluateRes]], + failures: List[Union[Tuple[ClientProxy, EvaluateRes], BaseException]], + ) -> Tuple[Optional[float], Dict[str, Scalar]]: + """Aggregate evaluation metrics using average.""" + if not results: + return None, {} + # Do not aggregate if there are failures and failures are not accepted + if not self.accept_failures and failures: + return None, {} + + # Aggregate custom metrics if aggregation fn was provided + metrics_aggregated = {} + if self.evaluate_metrics_aggregation_fn: + eval_metrics = [(res.num_examples, res.metrics) for _, res in results] + metrics_aggregated = self.evaluate_metrics_aggregation_fn(eval_metrics) + elif server_round == 1: # Only log this warning once + log(WARNING, "No evaluate_metrics_aggregation_fn provided") + + return 0, metrics_aggregated + + def configure_fit( + self, server_round: int, parameters: Parameters, client_manager: ClientManager + ) -> List[Tuple[ClientProxy, FitIns]]: + """Configure the next round of training.""" + config = {} + if self.on_fit_config_fn is not None: + # Custom fit config function provided + config = self.on_fit_config_fn(server_round) + fit_ins = FitIns(parameters, config) + + # Sample clients + sample_size, min_num_clients = self.num_fit_clients( + client_manager.num_available() + ) + clients = client_manager.sample( + num_clients=sample_size, + min_num_clients=min_num_clients, + ) + + # Sample the clients sequentially given server_round + sampled_idx = (server_round - 1) % len(clients) + sampled_clients = [clients[sampled_idx]] + + # Return client/config pairs + return [(client, fit_ins) for client in sampled_clients] + + def configure_evaluate( + self, server_round: int, parameters: Parameters, client_manager: ClientManager + ) -> List[Tuple[ClientProxy, EvaluateIns]]: + """Configure the next round of evaluation.""" + # Do not configure federated evaluation if fraction eval is 0. + if self.fraction_evaluate == 0.0: + return [] + + # Parameters and config + config = {} + if self.on_evaluate_config_fn is not None: + # Custom evaluation config function provided + config = self.on_evaluate_config_fn(server_round) + evaluate_ins = EvaluateIns(parameters, config) + + # Sample clients + sample_size, min_num_clients = self.num_evaluation_clients( + client_manager.num_available() + ) + clients = client_manager.sample( + num_clients=sample_size, + min_num_clients=min_num_clients, + ) + + # Sample the clients sequentially given server_round + sampled_idx = (server_round - 1) % len(clients) + sampled_clients = [clients[sampled_idx]] + + # Return client/config pairs + return [(client, evaluate_ins) for client in sampled_clients] From 30bc20c898e00ef4ea3de36d4e7b6152d332a73b Mon Sep 17 00:00:00 2001 From: Robert Steiner Date: Wed, 6 Dec 2023 10:32:54 +0100 Subject: [PATCH 31/33] Add CI workflow for building and releasing server docker images (#2682) --- .github/actions/bootstrap/action.yml | 22 ++- .github/workflows/_docker-server.yml | 193 +++++++++++++++++++++++++++ .github/workflows/docker-server.yml | 52 ++++++++ 3 files changed, 266 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/_docker-server.yml create mode 100644 .github/workflows/docker-server.yml diff --git a/.github/actions/bootstrap/action.yml b/.github/actions/bootstrap/action.yml index 584ae2634d9e..bab5113bc567 100644 --- a/.github/actions/bootstrap/action.yml +++ b/.github/actions/bootstrap/action.yml @@ -4,7 +4,7 @@ inputs: python-version: description: "Version range or exact version of Python or PyPy to use, using SemVer's version range syntax." default: 3.8 - pip-version: + pip-version: description: "Version of pip to be installed using pip" default: 23.3.1 setuptools-version: @@ -13,6 +13,19 @@ inputs: poetry-version: description: "Version of poetry to be installed using pip" default: 1.5.1 +outputs: + python-version: + description: "Version range or exact version of Python or PyPy" + value: ${{ steps.versions.outputs.python-version }} + pip-version: + description: "Installed version of pip" + value: ${{ steps.versions.outputs.pip-version }} + setuptools-version: + description: "Installed version of setuptools" + value: ${{ steps.versions.outputs.setuptools-version }} + poetry-version: + description: "Installed version of poetry" + value: ${{ steps.versions.outputs.poetry-version }} runs: using: "composite" steps: @@ -27,3 +40,10 @@ runs: python -m pip install -U poetry==${{ inputs.poetry-version }} python -m poetry config virtualenvs.create false shell: bash + - id: versions + shell: bash + run: | + echo "python-version=$(echo ${{ inputs.python-version }})" >> $GITHUB_OUTPUT + echo "pip-version=$(echo ${{ inputs.pip-version }})" >> $GITHUB_OUTPUT + echo "setuptools-version=$(echo ${{ inputs.setuptools-version }})" >> $GITHUB_OUTPUT + echo "poetry-version=$(echo ${{ inputs.poetry-version }})" >> $GITHUB_OUTPUT diff --git a/.github/workflows/_docker-server.yml b/.github/workflows/_docker-server.yml new file mode 100644 index 000000000000..2e8372e1ede5 --- /dev/null +++ b/.github/workflows/_docker-server.yml @@ -0,0 +1,193 @@ +name: Reusable docker server image build workflow + +on: + workflow_call: + inputs: + flwr-version: + description: "Version of Flower." + required: true + type: string + python-version: + description: "Version of Python e.g. (3.11.7 or 3.11). Defaults to 3.11." + required: false + type: string + pip-version: + description: "Version of pip. Defaults to the version defined in actions/bootstrap." + required: false + type: string + setuptools-version: + description: "Version of setuptools. Defaults to the version defined in actions/bootstrap." + required: false + type: string + ubuntu-version: + description: "Version of Ubuntu. Defaults to 22.04." + required: false + type: string + secrets: + dockerhub-user: + required: true + dockerhub-token: + required: true + outputs: + metadata: + description: "Metadata of the docker image." + value: ${{ jobs.build-manifest.outputs.metadata }} + +env: + REGISTRY_IMAGE: flwr/server + DEFAULT_PYTHON: 3.11 + DEFAULT_UBUNTU: 22.04 + +permissions: + contents: read + +# based on https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners +jobs: + parameters: + name: Collect build parameters + runs-on: ubuntu-22.04 + timeout-minutes: 10 + outputs: + pip-version: ${{ steps.versions.outputs.pip-version }} + setuptools-version: ${{ steps.versions.outputs.setuptools-version }} + python-version: ${{ steps.versions.outputs.python-version }} + ubuntu-version: ${{ steps.versions.outputs.ubuntu-version }} + + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - uses: ./.github/actions/bootstrap + if: ${{ !(inputs.pip-version != '' && inputs.setuptools-version != '') }} + id: bootstrap + + - id: versions + run: | + if [[ "${{ inputs.pip-version }}" = "" ]]; then + echo "pip-version=${{ steps.bootstrap.outputs.pip-version }}" >> "$GITHUB_OUTPUT" + else + echo "pip-version=${{ inputs.pip-version }}" >> "$GITHUB_OUTPUT" + fi + + if [[ "${{ inputs.setuptools-version }}" = "" ]]; then + echo "setuptools-version=${{ steps.bootstrap.outputs.setuptools-version }}" >> "$GITHUB_OUTPUT" + else + echo "setuptools-version=${{ inputs.setuptools-version }}" >> "$GITHUB_OUTPUT" + fi + + if [[ "${{ inputs.python-version }}" = "" ]]; then + echo "python-version=${{ env.DEFAULT_PYTHON }}" >> "$GITHUB_OUTPUT" + else + echo "python-version=${{ inputs.python-version }}" >> "$GITHUB_OUTPUT" + fi + + if [[ "${{ inputs.ubuntu-version }}" = "" ]]; then + echo "ubuntu-version=${{ env.DEFAULT_UBUNTU }}" >> "$GITHUB_OUTPUT" + else + echo "ubuntu-version=${{ inputs.ubuntu-version }}" >> "$GITHUB_OUTPUT" + fi + + build: + name: Build server image + runs-on: ubuntu-22.04 + timeout-minutes: 60 + needs: parameters + strategy: + fail-fast: true + matrix: + platform: [ + # build-push action and qemu use different platform names + # therefore we create a map + { qemu: "", docker: "linux/amd64" }, + { qemu: "arm64", docker: "linux/arm64" }, + ] + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: Set up QEMU + if: matrix.platform.qemu != '' + uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0 + with: + platforms: ${{ matrix.platform.qemu }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@31cebacef4805868f9ce9a0cb03ee36c32df2ac4 # v5.3.0 + with: + images: ${{ env.REGISTRY_IMAGE }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 + + - name: Login to Docker Hub + uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 + with: + username: ${{ secrets.dockerhub-user }} + password: ${{ secrets.dockerhub-token }} + + - name: Build and push + id: build + uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 + with: + platforms: ${{ matrix.platform.docker }} + context: src/docker/server + build-args: | + PYTHON_VERSION=${{ needs.parameters.outputs.python-version }} + PIP_VERSION=${{ needs.parameters.outputs.pip-version }} + SETUPTOOLS_VERSION=${{ needs.parameters.outputs.setuptools-version }} + FLWR_VERSION=${{ inputs.flwr-version }} + UBUNTU_VERSION=${{ needs.parameters.outputs.ubuntu-version }} + outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + + - name: Export digest + run: | + mkdir -p /tmp/digests + digest="${{ steps.build.outputs.digest }}" + touch "/tmp/digests/${digest#sha256:}" + + - name: Upload digest + uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 + with: + name: digests + path: /tmp/digests/* + if-no-files-found: error + retention-days: 1 + + build-manifest: + name: Build and push docker manifest for all platforms + runs-on: ubuntu-22.04 + timeout-minutes: 10 + needs: [parameters, build] + outputs: + metadata: ${{ steps.meta.outputs.json }} + steps: + - name: Download digests + uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 + with: + name: digests + path: /tmp/digests + + - name: Docker meta + id: meta + uses: docker/metadata-action@31cebacef4805868f9ce9a0cb03ee36c32df2ac4 # v5.3.0 + with: + images: ${{ env.REGISTRY_IMAGE }} + tags: | + ${{ inputs.flwr-version }}-py${{ needs.parameters.outputs.python-version }}-ubuntu${{ needs.parameters.outputs.ubuntu-version }} + ${{ inputs.flwr-version }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 + + - name: Login to Docker Hub + uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 + with: + username: ${{ secrets.dockerhub-user }} + password: ${{ secrets.dockerhub-token }} + + - name: Create manifest list and push + working-directory: /tmp/digests + run: | + docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ + $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) + - name: Inspect image + run: docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} diff --git a/.github/workflows/docker-server.yml b/.github/workflows/docker-server.yml new file mode 100644 index 000000000000..6f57c6a0691b --- /dev/null +++ b/.github/workflows/docker-server.yml @@ -0,0 +1,52 @@ +name: Build docker server image + +on: + workflow_dispatch: + inputs: + flwr-version: + description: "Version of Flower e.g. (1.6.0)." + required: true + type: string + python-version: + description: "Version of Python e.g. (3.11.7 or 3.11). Defaults to the version defined in _docker-server.yaml." + required: false + type: string + pip-version: + description: "Version of pip. Defaults to the version defined in _docker-server.yaml." + required: false + type: string + setuptools-version: + description: "Version of setuptools. Defaults to the version defined in _docker-server.yaml." + required: false + type: string + ubuntu-version: + description: "Version of Ubuntu. Defaults to the version defined in _docker-server.yaml." + required: false + type: string + +permissions: + contents: read + +jobs: + build-server-images: + uses: ./.github/workflows/_docker-server.yml + with: + flwr-version: ${{ github.event.inputs.flwr-version }} + python-version: ${{ github.event.inputs.python-version }} + pip-version: ${{ github.event.inputs.pip-version }} + setuptools-version: ${{ github.event.inputs.setuptools-version }} + ubuntu-version: ${{ github.event.inputs.ubuntu-version }} + secrets: + dockerhub-user: ${{ secrets.DOCKERHUB_USERNAME }} + dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }} + + summary: + runs-on: ubuntu-22.04 + needs: build-server-images + steps: + - run: | + echo "### Images" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + for IMAGE in $(echo ${{ toJson(needs.build-server-images.outputs.metadata) }} | jq -r '.tags[]' ); do + echo "- $IMAGE" >> $GITHUB_STEP_SUMMARY + done From b7e7bde2c0a8e01a5c31ef71238e880a2850a0ca Mon Sep 17 00:00:00 2001 From: "Daniel J. Beutel" Date: Wed, 6 Dec 2023 12:36:06 +0100 Subject: [PATCH 32/33] Refactor flower-client internals (#2689) --------- Co-authored-by: Taner Topal --- src/py/flwr/client/app.py | 88 +++++++++++++++++++++++++++------ src/py/flwr/client/flower.py | 2 +- src/py/flwr/common/telemetry.py | 4 ++ 3 files changed, 79 insertions(+), 15 deletions(-) diff --git a/src/py/flwr/client/app.py b/src/py/flwr/client/app.py index 7ce7d51d3d4b..9efb0748d9d5 100644 --- a/src/py/flwr/client/app.py +++ b/src/py/flwr/client/app.py @@ -37,7 +37,7 @@ from flwr.common.logger import log, warn_experimental_feature from flwr.proto.task_pb2 import TaskIns, TaskRes -from .flower import load_callable +from .flower import load_flower_callable from .grpc_client.connection import grpc_connection from .grpc_rere_client.connection import grpc_request_response from .message_handler.message_handler import handle_control_message @@ -47,6 +47,8 @@ def run_client() -> None: """Run Flower client.""" + event(EventType.RUN_CLIENT_ENTER) + log(INFO, "Long-running Flower client starting") args = _parse_args_client().parse_args() @@ -80,16 +82,17 @@ def run_client() -> None: sys.path.insert(0, callable_dir) def _load() -> Flower: - flower: Flower = load_callable(args.callable) + flower: Flower = load_flower_callable(args.callable) return flower - return start_client( + _start_client_internal( server_address=args.server, - load_callable_fn=_load, + load_flower_callable_fn=_load, transport="grpc-rere", # Only root_certificates=root_certificates, insecure=args.insecure, ) + event(EventType.RUN_CLIENT_LEAVE) def _parse_args_client() -> argparse.ArgumentParser: @@ -149,7 +152,6 @@ def _check_actionable_client( def start_client( *, server_address: str, - load_callable_fn: Optional[Callable[[], Flower]] = None, client_fn: Optional[ClientFn] = None, client: Optional[Client] = None, grpc_max_message_length: int = GRPC_MAX_MESSAGE_LENGTH, @@ -165,8 +167,6 @@ def start_client( The IPv4 or IPv6 address of the server. If the Flower server runs on the same machine on port 8080, then `server_address` would be `"[::]:8080"`. - load_callable_fn : Optional[Callable[[], Flower]] (default: None) - ... client_fn : Optional[ClientFn] A callable that instantiates a Client. (default: None) client : Optional[flwr.client.Client] @@ -223,11 +223,73 @@ class `flwr.client.Client` (default: None) >>> ) """ event(EventType.START_CLIENT_ENTER) + _start_client_internal( + server_address=server_address, + load_flower_callable_fn=None, + client_fn=client_fn, + client=client, + grpc_max_message_length=grpc_max_message_length, + root_certificates=root_certificates, + insecure=insecure, + transport=transport, + ) + event(EventType.START_CLIENT_LEAVE) + +# pylint: disable=import-outside-toplevel +# pylint: disable=too-many-branches +# pylint: disable=too-many-locals +# pylint: disable=too-many-statements +def _start_client_internal( + *, + server_address: str, + load_flower_callable_fn: Optional[Callable[[], Flower]] = None, + client_fn: Optional[ClientFn] = None, + client: Optional[Client] = None, + grpc_max_message_length: int = GRPC_MAX_MESSAGE_LENGTH, + root_certificates: Optional[Union[bytes, str]] = None, + insecure: Optional[bool] = None, + transport: Optional[str] = None, +) -> None: + """Start a Flower client node which connects to a Flower server. + + Parameters + ---------- + server_address : str + The IPv4 or IPv6 address of the server. If the Flower + server runs on the same machine on port 8080, then `server_address` + would be `"[::]:8080"`. + load_flower_callable_fn : Optional[Callable[[], Flower]] (default: None) + A function that can be used to load a `Flower` callable instance. + client_fn : Optional[ClientFn] + A callable that instantiates a Client. (default: None) + client : Optional[flwr.client.Client] + An implementation of the abstract base + class `flwr.client.Client` (default: None) + grpc_max_message_length : int (default: 536_870_912, this equals 512MB) + The maximum length of gRPC messages that can be exchanged with the + Flower server. The default should be sufficient for most models. + Users who train very large models might need to increase this + value. Note that the Flower server needs to be started with the + same value (see `flwr.server.start_server`), otherwise it will not + know about the increased limit and block larger messages. + root_certificates : Optional[Union[bytes, str]] (default: None) + The PEM-encoded root certificates as a byte string or a path string. + If provided, a secure connection using the certificates will be + established to an SSL-enabled Flower server. + insecure : bool (default: True) + Starts an insecure gRPC connection when True. Enables HTTPS connection + when False, using system certificates if `root_certificates` is None. + transport : Optional[str] (default: None) + Configure the transport layer. Allowed values: + - 'grpc-bidi': gRPC, bidirectional streaming + - 'grpc-rere': gRPC, request-response (experimental) + - 'rest': HTTP (experimental) + """ if insecure is None: insecure = root_certificates is None - if load_callable_fn is None: + if load_flower_callable_fn is None: _check_actionable_client(client, client_fn) if client_fn is None: @@ -246,11 +308,11 @@ def single_client_factory( def _load_app() -> Flower: return Flower(client_fn=client_fn) - load_callable_fn = _load_app + load_flower_callable_fn = _load_app else: - warn_experimental_feature("`load_callable_fn`") + warn_experimental_feature("`load_flower_callable_fn`") - # At this point, only `load_callable_fn` should be used + # At this point, only `load_flower_callable_fn` should be used # Both `client` and `client_fn` must not be used directly # Initialize connection context manager @@ -284,7 +346,7 @@ def _load_app() -> Flower: break # Load app - app: Flower = load_callable_fn() + app: Flower = load_flower_callable_fn() # Handle task message fwd_msg: Fwd = Fwd( @@ -311,8 +373,6 @@ def _load_app() -> Flower: ) time.sleep(sleep_duration) - event(EventType.START_CLIENT_LEAVE) - def start_numpy_client( *, diff --git a/src/py/flwr/client/flower.py b/src/py/flwr/client/flower.py index 5b083ee11b9f..10c78ec45b44 100644 --- a/src/py/flwr/client/flower.py +++ b/src/py/flwr/client/flower.py @@ -72,7 +72,7 @@ class LoadCallableError(Exception): """.""" -def load_callable(module_attribute_str: str) -> Flower: +def load_flower_callable(module_attribute_str: str) -> Flower: """Load the `Flower` object specified in a module attribute string. The module/attribute string should have the form :. Valid diff --git a/src/py/flwr/common/telemetry.py b/src/py/flwr/common/telemetry.py index d56726d83378..fed8b5a978bc 100644 --- a/src/py/flwr/common/telemetry.py +++ b/src/py/flwr/common/telemetry.py @@ -152,6 +152,10 @@ def _generate_next_value_(name: str, start: int, count: int, last_values: List[A START_DRIVER_ENTER = auto() START_DRIVER_LEAVE = auto() + # SuperNode: flower-client + RUN_CLIENT_ENTER = auto() + RUN_CLIENT_LEAVE = auto() + # Use the ThreadPoolExecutor with max_workers=1 to have a queue # and also ensure that telemetry calls are not blocking. From 8e9cb560e1876778d946b45df2170e9538d1d10b Mon Sep 17 00:00:00 2001 From: "Daniel J. Beutel" Date: Wed, 6 Dec 2023 12:44:37 +0100 Subject: [PATCH 33/33] Update architecture diagram (#2690) --- .../_static/flower-architecture.drawio.png | Bin 289564 -> 295848 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/source/_static/flower-architecture.drawio.png b/doc/source/_static/flower-architecture.drawio.png index 258c6a2727ea0e2d30b732407834bf87d2a186b8..3f82332a0a32658c4a0e154a37dd0afce2d7a293 100755 GIT binary patch delta 87353 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 Q!2~`w7WU>9rrvS?18Evem;e9( delta 99246 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

Q?xSl_`dglq`1Qa4>$Cgcea0EeLU7i)hgM@uj zn!&6EXc>tQG3Z#*+F2y1T0eOP4QaGrOhM#-x#`E+(_?$KlER_w11%NDZ17S;Q5w&Z z^~XhDXk#YInm{}UBmAw zY^5dpm?S{$^hPfxTwf8bXeE;*92^{E+`L`=?v~WHns!~4B)#pd?jv<{!ZQhVqAC{4 zbL;{Z4(s9^II5Dod26eemD#$RJEDHqfOuf~o`(!N^fe!OWJyDsnte0D3*5u}uP4GA z!u>NpS}Sv zEDvYNm`Dz^xX!=EbvE17ZUmTP9e{T`8m7Wxw6|7$60y|`F=PX^s@G%)SiZbVh|$W^;OKU%U&uB6J+brg{f1G0 zq)`05QDgh@O9t4=lhF@c>p4-|g%_+qoWD#%KV7-<{|U$OpQ&++sVqB+|K1_?mxJ#g z-3K(YNbY=G&x2BsTaPl$pLJ98!LT4^tX_33OqQn#y8d7p1x0 zNCs`w3v&TV7{vg8>qJitEBKcR>I73insZ}`&{?|eNp$vJZk!W$YcdCp8`1Wirc&1A zw>O=-g+{C4MhXMXDyM{RzJCE1rD`w2R*5!uM{vsI&llN#%ORCQs<=cf&`#N^+4;VZ zWmjTSQ^H%62Yw|y-3A0MzhGPcL2y>V-=ERH`S53FC?N}DqeW#Q(QK+c6nrtr&CWq@ zC_sVaxK^8@%sr4C&hD&J>-f-Lw{l|!2Q`!=))CaAJv!H;t0U^0d5kC5S7?1G0eg+rKbR)X6NeV z_up@&C3X`iy%U5fwUi?^`i&P4-uG@u);ikn7YldoZZ0|uyWjhnp^<1@f!iuF;Ze_p zt>wA)wwyAuYp}xNOz>@%uXVt*#5{?hn z8$*C4v3FIzIy6Tf{N0fU3{vMFFRsKH)zDz13_lQkBC|3cvS4`A}ss=@G?6CKugi z+?>uHETFOLs`#(UY5!IRdpfLsl^5oKc?mV%%Ujbf#cp5H(P=qDPc8$hnQRobETp(_ z8_M0TZLXM>rN0_l2|u{!@|Y4T$54juJ?RA8RI{1M0L|j{mu|P%`cK=VMAhn^td7{F zTFlBy9#7epU)Zt+$*fclhc=z%8kn+yr7zqFvF_G0{2>8d(J9aomg=2t2#r`u4s5N` zkdHSlbio1S$LukiW5%lU^YVS{q{_}k3$+8{zyNWYZ#}o}siMoVgF>fsg5%5)<)cP{ z*<7&3N2qN6TouyKx3VV;fEP`aw*Bg6`09oRvjC%hMG(~YY1%6`NSU^G)ePqb3ZUIUeXzJFx;oQ_Vs6+zDwAF}DVTv_Nr#aE3K3ys39bG39_Eh-=>k z;O;6#7e6hh1_}y>alhUXXaAEi|Npa3!*1;~umA5$YCR^IX%XyOoG)#SEI#%an>(!H zL6GbWdDsiC^b(x@{7;#7VtbrqmZcOHO;9!h{>VtMI(230w8sN&0K#~w^FN+gFlCoD7? zCp;i8NgrqT*V2dpQPfxovl=9|P7b`rgo){z+>Y*4;?ga*;ev48IsQoZx^%eTLbS4b zW=_@Dslxp7azKdAHI%a$RurFcP=cN7S%EhKmlqHhUNIa;cTg0v+#eju2ljC`Qw=g8 znBHc#`#HE|vCD2CYhtM6ZEz9GID_9fmnQriMmN$#dD6GUZnkt#d6;TFu$5_l?sp3{ z90unpM@`#B%MJ;Iu`^#wohHBOf`vF}wxqmbAw}2pr?$aL!SoE-(V4!Ez?L<&R>DvS zvH++cc+8rti5Za9JiF=?RwaIhZ(~jU79$)>5gmCPK|7D8AtmKh&Vj~I6||I!=&?Y6 zGy0(ELJ#m`vR&WY-uMY#GdN(p~yJS>i;ZU!|L(z*W6&|p5G`*O#6|yqV+}!u~6&Ja;@BgHgZ?J0H zD6J{bF^=bnj{Cx0@x9B&Z#!(a#chbsdwYvf2#RPG=a}yIdri+e9s}6MhXr+Vk z{CJI=@xgi0#56L9a3g2Rs*CFFuxAl0DO58ll*SOmMIB&FNX%IMEg3=DX1de%U<#+r zqlUm=Sz8fpg;w}U-h{jwqv?W+xdJXWJN7y+A?03MY_)SkX;BPd7%A#Z=xadX8%IZ+ zFj~SnXJ0*fUa448`!SW3Eccp?CO`-|CxsIu<~>44yq4K^7IOcZ9p8tJx8?P_pTsht z_W{z6d=$*H3bB@Uy77B(ITeQ%k^OhQxu)FSuLj0wLIsuEO<{-y61A7q1~A)9IulV5 zB4%PBc{gZ0B9R@cS)1EplG@rq*oL?pxwlO+<#57YYjTEFE&K{(6CAbweEmeVdcXO# zh1QgQdb4N6-&YRpH`(o#;$9YW2t& z*G>C88@k>}wRo{`T9}Y^uj@@p_UdEtt%tqInY3qDi#<}PxwOQ z-U^2fLA*m+5Zv{bX>glG07*{|T-T3RSjS&@W@D_64C-WIpv@vKNyQSwp0B>3^eyf< zxTK_b#T41t@w`jp!&c5N>)US|Q0@&siC->OPK@VjIJzaGZr7q)h29+3l&bS)I3M;Q zaAR@Xb_shHmX_c3Z`!vsFj%m?hM_}oYSt^oDF>AOi)b83OiDtdAHjco>t>i{rq5sV zXI9ul0gvrmMA^!3>Vccq>DD!AmZ!A1wTQE@a88mWWhq!$mTabQxtep^UDeXofpy6s z>t4@5mq+dB7B^6=pZXf*(U*1hJ7voq`H!HS*%W{Qx+$*nJ;c4($^E>6Ra>s!Zt-7A zf|!OsXbj*+olyMOuP%JRr^`a;qo+7`H0OMoHXi@__Z1vfTWxk+w_86VG;iL`g4M2B zOEc^Z;n?}}nd8!-R6b>~wYJQCW;Je>{^Ghy{*ZRe#^`BZvlt0}>I@$$?EUfKqIvE_ z#v##T#wTE-?Bhh)0^K88_|ljqyB)!DF@C!d;(Iy(cd`gWIICmK9%$ z2fgd|PdpuV)fZfyG3W9@t8qnUWGJBI+_DOnlPgq0l!pg^^EOH`G`7u><^}AF=h3h@KZ9ivwByKZp<0q zj){I$%pmDROuL?LPnb_z{)t{B9mE8GP0)_>$|xl}f-gI-qed*Pf{brE{vUI0;Wy+3 zuzr>1_Ilh+o>pj=J+sLCHX1cE+8YJ}r(vF8&UzJ58>kqzBb?zjP>`wK+@diwvE|S| z(2rC{i;yGR_~Fy6YhH;uogjDLHau8vHk%Xf_}ZD|f9=gMr$CPVn8v>GvepeHQjf>H zTfgTB%5W7T5+x`c2Jy)ev?PjpIY{Na@1qx6+ZUp&Lqi8_HbaOAsC`@TrG?46_Zhj; zi^XCFj|a52k9Dul+>>cCTrVX~w)l9|S5_8d>nw~Xo#o^o#As=p*q?gLU;nv<951K~ z89UeRi2@2TFn*!o)r-wDTrQQG5a~C|qN`($U2jw4zwG8jwu5U8maVx|M@C{q4SYZ- zAG&Pj-H*!lpf0rpAyGFnCih%(Q88EA7(=kfW(gJ?+yMQsYR@qf7^*PP5>FQ##MP)( zhncAwSWE)>w?IPLPN}k3ndQ%+05-LqTk}d#+u1IJ#$X?!@W`SEi5M ztl_Fw^?{Lxo3r(mzMKf$OXG^1+lI0+EZNVOVyMp*&Rmr$%W#r*kwbZ*lIT9dsV~v9`O+)}uN2T8UEmD5!&Si}pEil|>K)Vgx&IZL#9diT;(5 zlWz10J~O`;Uw?wv4p`rbmWe=o+6^Vj$SKQ&VS>Fm*mBtGd+;su@=nV@qF)ZD9w{%+ z#Fp06|J8W&;1CWLc`x-^M!#1rBG1CmQYoP~Aw7F;Dyr+k-#ORXrZ%5KZmDGDnGJ?s z2CmJW2RBPRwYu|b-RBU|f-v7Sk3gs3nk;Sm{YcCFHAMF<=FS#)UZVhbFl6Ubq zx|M#~s((ij2bRTbCft&RJ&6r5@onIwtleR>UP{p;g_#h6Bf|I>3{H{c-L2vfsB zz?FR?NBi>X0o9GOHZ|jCI6B8*;Lo+?HW!8jCB!z#d4;=RFHUde4$5$|@t~lW0~5zx z;`{osUZ zed9+-X~PY%C@5{3OV&nns*vK}5X+Xn>NFHCMDZ&@5E}qx=?%zGjrB|50Fk9Q1QLMU zh9p1L1Qw1mKP?u09d}>5LmDla{vdtr5H!eql1l2E1RRzyXm~}XZyo>I=Wd{?5CnrR zj`#AnQ=-1bX#%9b?sQR)r$*#s`a+R!8z}`f08gD2U;<|!;+X9oyOcV!-3EEeTlT6z28+y^pKAsCnXg-4|;<=2IQMZJe@yyMlbZN zhkl$t_^sSm0;ZYh$uKAKZP{$<{-fjg08_0wWhTQfl+ycke{;uoVu77w@2u2BLPEj9 zh?*`GqL2aHG<=jsEilk?LqdgM_G5+t@a`_Rnck#>aQo;KeI&wDBX4f<`yxpbH)Pbk z&%ykwSe1^MuAaMzy}z;m(e?Hk@U+J@D8XDe9%milwFWh>2f}Mbe!eEVW*#l)pr1h z$dn7o9%-^UwcdS8F(Gg}Y=*4Av>xZ-k#LEoG5ROF7^bc!!yt4~&2QOB$tvtIF*@BA+L%c{8qK}O2U zD4&J>B^Qc5r-x7-_LLVijehMQX77oRkpac;V-zeb76c5^>4FOKu=g!?_^=2`p0GL0 z0@NdoV57^lXABUo@odnyeK9nfrY5~e@;#h>GF>zNp^oz@V1{x-&;w<2Gjgpe|3G$qGdm;4a?Y&}{r4!oIqPTJVd`a#R>zL#5o*mD_`s{DrO}GZ$N>6kFf`t^ z|7QGN22cLtE0sP=V@cPM-Z#w?8{z&tBEC~}*b=kIYshhFxHQyu#Zl4I;%UNyzT$jS z&rx-L4B9YRx5jeya4M3c5f<_KTX-)+e_il`17*^b?VT31UaaDT$b#Z-a5?`2i! z=W2f-{TwCZjlotThO1F@cGgx#4I3g{jqnnYPImf@`r5X(LPhKjyXj{NBCuIv&%P`` zx@mBHR7e4zo{F?u%ZaH=Ql7h1u~vG6Qc{N2Bk&lBfP_dMVy(^&$_W& zx?u$*faTJWz>|Qn<7hSiiWXPn7A^F!&Mch4?&^K&=H+o}q4%B-OD2u-@BKV~?a=L-;>-C!P?Z*en}a6FgG+6h&{-Xo zpM^XzH^v^+xE2uzdShTIlL5Ji*uS=4T2ZSan0%jn=pOWElH2Rt@yr1TX_V^XLjS%J z)k&r1{S2-GtQK}`elT^8|N2)G(wwWks9S2P<|SA){_7z{YdUIel5DCR2#PT?iUDp$ zcGe7Pe(Ahd!?NT%U?b4kIGy)6s%mY>QVJVuI?&SvTkK>7$i8v&6-rR8a#i{Fl(9#} zjAwDmJdAM|-ceS?Ai>sybkgR8)>OsOU~o*bH|gL1v3dUcz`p|KJ*;eJ+$-(2>-T$* zZ%pB_p#{+i!uKkNkF&D(4z; zKQ@9b#a*3LQnjL}%O|rIOGWMC<-As^&oS9 z)~P2GtPeJ8E@ptk;RTnR%~NOfdHjki-y+ysUjF0b75vX_{V0gZ9>8tfQEC^L^$lCQ zJL=8AZ=mZ0fpH^l>3QR&jcUv-!=IV0mCDqZd{BP9*~w~uaD~?LoSf&p;wF`OewZmu zUp}ApxSAslWJ!KIg2r-3ff@2mxlrqotAOE=wrDGj#5aSAh#fh(CkW4~vF00qjf0~LYXnSEICBq00e zat0fxTbgzz8Xg!C)v-#{fW+-t82*VvksQbO0UzfhDxd|AP3jM8tMIGak_Y(T07V$A zo~PHW28UQabzc?=1wzjC2D4h7xXIo9`SE*PyAGGHWM+Am&55M2NJpr(YO9uk{$j<` zhvTS~`S++0^R(z!#t7VmRw1g6Ww8WXwlD6$eLVei?joa181*P`B_wmf>huc#Vnzlt z&HxB9#$*%=3JM;Z^!N2Uz7{rBQ=@#k`G;&j;b}%AGbF-kt8r6WNRdN2ex=9pwX5cg zsYFwYCk5B}fK-DO8QYMMxGN>)!}VLgeLQK$mB?I~TQ^EuE1QzkXG%QAuaZ1Rd91wD zKznppGMJ-KBxrN7J!;y-uprs2VZ_0%TQ^3AnYj$Zw)8P|1;f$gOP@7mQVI7x1; zEW^`tshctT7Z$qT5`;rhJxD6K_EA^Rz>BDJ&t>M#5Ibryf930A=EFm}M;=jXO!hs^4`(XosC(0+RZ(q*W|s=ODq>>D{R6sK3yVw*C4;*&~r zl02!1+M70+Et_!dWVJ}+hUm?T@ zgHd7~Wf0{t5L3yTvl+VsMrpGzR#m=l@#Xovn?ESWFSzS>RshU(?9qMc*<@8+2V~89 zG>I;?zyiHnVF{Ajab#AT_#$T+h!$nK?#(=9jjhoW@bqo5b=1m&6nhh&kVR3546h2m zoYC?Cs7e?!G!>MGDO2b0+QLNXdsiO@eQ(IeM|eE#JF`!@U0}TuwXzG@H*R`^(#uE_ zxh^PNl9a~Gnf>NX%X2}NQ~Oq22N!c%S{j!)iHkokxz**z2>-wSvinP3QzCq_V}jt2 z8A&~gx^BIH##PyzZ|iB=^a4^h0+fx#pz7{=G!ppIEqdzV3?sst=t1yWg_YkXO4(p1 zd51LDp2R9R#i>Lb&)}5*tL%Z5Tk35F6kI_-yuiG6D~GwcJ*riQONHYlPK;WAp(ix; z%o<*Bt+cG%H)7CEXmZ(V8xD^&pN@4RVxN9P?)W8#>_i?w&X(9UorXlxbR8UCE)6eG zyIo`iF9cEOVS#o6dj(~X%eEHF{2L4MI(~z*WuI4ML>{Cqt!eldmxJq zYEt$0mCzTUwq9-H-&h+>h8y&bEKkD9x_YXhMk_G1&WArL2Fw=D?w4xEhOs01_K0eQ z+R-0xyC%;luJqO5V1mbO2k&G^!@=bhg%K!AuQBLTvJBtYaG4Tzjfwn%QB+kGDT_8DiKhrZqWWskA-u=iMNkF9Ub zHNW3{^tA!lNk9G5tqnnpn|~v{5Dx$mZ`=55G1YQeBZlC|ag93BnJH{g6T-qG6UgjM z{9ka3KJIV}l<0yWfUt zzQ~BbQRvBk8`pc9s3TuO(Rb8{T+De}NNYb}h;OhG8U|@7^0kd^+~?hN5VfW|I}O&d ze`%(-FR;_l&+IOd`4bPnwJb5GEqESlD@+w;Z{07*$oq9=?C@>m!c&`F+ts=U#g}T~ zb4vXEK~7nn{GKg7*Etl%G(Yh}#Jkun3I6jM$J3nYGeTb~^2`dSGQXkRlq(#fwosAa zl?uw+fX}(uMJh+gg3rzzg%jT2>O_jH?6z`#Cmx{EoxJThc2eOhe?*;52Uu17acW&6 z+s@-RFmos-=@fZl9^qV*;aoqVm4pwkntbF2!Av$!e6CH6gPjf;a2 z_m4GzV&Zj*#%94!cMe-Wg_R_(Np;0}av%4#8=w)dMhcfJoZDG3S+*RmGXX>o!M_+> z;bMo$?H#X0oKpInsb&({(ovxsj<`AzqgC}u@nFRo?9j>mzU#5xF5W1$Chnh5WKWh+ zR~ZPzS<{nFD^8kx{Fu$W(7a>v0ol{~F!jc&5_Z{x->rM>eNta`{HMpnj0gs(I7jMs z%E9s(4?JM{Stv#852dNK(Lh;+e=cfxnI^@CeegO|JcNBJeH3nl`?pys)g_%?m%jMC z6;oO4n$7RxbiE8zfkp-~T|iTIAT^KS$fzx7FexAEUPk65AghHb!Rzw$$%!QF*A%9i zX2?dQP0``W2ELOwW;QU8m%E3P-C;2@%Yxi9ET7)3QQ8{P}x(%=pDU0OPn6&%0Q+s0P*5KahQ?kDW?yfiLE`2ERyghkwlT*k@pWCxp z2~EvNPXuA#Z5Hj%pu~({6@%eXu+4au4E*y7mHDJ%VOUJs~D8#6G|9*mAdZ_cJrxbhxu)c!kj^x)!tVfTG z>=Cqsb)2|YN~?psJ>2?4Xlx0BNu&y!#x7A?E0ir8`lBvQ41{`@$0(@$y9;J!W^Ilz zEsWOww=1__PTy|dW$~yYyxr_R$j*G{2gJ5yFiSY7r!_z$B1KQ@?V)^nq5p7QcMc+? zbQec}l;!FnU?njvbo*^HM2DQX0WE*(bF*Ra6OzAx5YCPWZ1?TOdw`j+%Q@DD6deuA zig0LMG@s_Sm``soN-LM_X9y8X!y3R7I6?+he9iO2N`=1Bi6@f*%^UD;jOM*`_J|hw z1CVg(AP`}0dAGc-PmgTt_&6?^`oiACw>J1TGOV?)q)I}Bq-X*lF#*>Fu=knWWp%0V zZGPV}o7Xo}048)R8-Z+CS=IRbjYYi;SI_PzXMzvS!4Ob_MX-UZNA*XlvFV&Ra>lAM zfLS8zXG1e{Xs|{5!5nJ(yIQ8&S$7|^3 z@tVYc7a8-@g(6@qOG=-1;NIzsIYDRhsr|VW3XI52+s~5I0N`q4FB(|lK>DdC9hw`t?>^2*XhOoabro|#n+u8ZIx>t(!xtt^@08R70nfq z9YE{e1IaAYO(8==G25GWPh7LYi#TV??;e(YGA1l|Qsh5}6y07pH-^61ZAb(O6p+lj zeijn&IXp+587T>UKC2q^6~jh~ar<6Ro}R;#?e5IM@cNn3^1a#Obr;X&B6RVJL7%>m z;TIxnpxo2R^7659B}KBx;fi16$CKMf7|rOryf{svn)kltCj25Qda*vL{TK~De4wmd zsJh;kTaKY?LDzBwASi_pLj{!q1WReWFV8mMAN7VOb}Rl~!J7Y=TG(()Ki7^=co8TYGcjk` z_;m(~9QMGJf7&-a6V>k0PUu;yk4f=9R*U5#w2c~nvKM&nS`dLNQ%fiHrc`gvo$e1E zy+K&l!8*mUB}s3_x8{F?Rb6dhw_LDQS`;^;K2=Cg^TP%CD(q9(U4L46jI< z^jgaOy*{+v`TpM{el{k4j_~=O-Nxo>lpNu8gj%=LsKZzrZJJT;CiWiq-0T4)^W1&3)71otIUe!87NrX3QNSep}APhyTe9|3#Sgt@-x)Vjiw| z^0&K$%K7UrKI*E!u5kHp{??Eq^Hl?}&w17r+KFt~eIod{iqdalb>6m@O z4peVq+2$szd5ZyF7M2=FJ?UUZB?j|IJsH`N3I21(*rY-D)qBY$w}+3;B+#6^YPU-S zS3!>&AC*obK177g&T49Gn#G7U@il3B3f0Nb6yV-7SgZKVCOKEN8#BxVcizzV7(0zW zb=>LRjfC1-BFN4VQrGXPsuU*Z@jZa001ncRBufyDn2E*Xe=6GPW!%Z)y}a%Kgw4mR|eHUHnuqJbx~71**oH?<5tgY zft2)TGj_F|F)#@-51j~knzu8&9-372!7p~uZ)ZTvsjOpyypTYM3DleF#t5bI!J3lA zwmaCC)RJyLoMYckJ|2uK3wk)qjvc;QSF!3NQ4QsN>Gi{tsRT|%Ct+NTU?_uChMnU1D#gL4Lg%%nSHb^OifDas*3z*e%h?S?+P@1$ ztgSk=P^Jo3=wkiw$A&JW*~yiv9xj^Ca7VAMeFcEdT=1G8aqn-(d5_lZZRo~xPl9%r zz`HgrzV*iy;_yT%#EIK65ACEqD(Pn4$AA_2Z|U1GIlB{%)R4fW3a(Q_;Tb6-CY5zx z7K90RGDSkPAx7lErh>lZ@Spv^u0Z}SV9Xu%VEexM+1h^vF)e$yyi?jOwe7bF$zq3G zTpyOH@HdW9QLY1ZtmG))7lN+$X@7`jS9-a()KqIIq(=Xy0JHJ&3PD&DRwddsW4_Ai zN8aVB5;xD&RCT~h-rONQhTxl+f5J70EML{=d4d~zs`GKE>bJN&j>ov=PwS7hXNM@0=!JdnLY2gxg!W^ zxF%g?e6DCnQX>5ku_TDsM!ddn|4f0~1&PZzUw^`K{i> zC_$4-zIqyc%tVevy4?NUKnpC-CO!c+&#eK8f&>XSbic;N)TWG(R6|v)&&#)z7~8f} z4~(iSZ1#9)5d5h0KTp1!mC15*SL9WZ%3^Dg2XF>*fLYxNX0k+jSmP!HF^T>b!{6vN z)xe$XnTuWJ(}_9Kx~`vxwChq|@pMs2C{h(HcnGxsha~8)tSfXG>ge`Q%C5j#1Nh5_ zFtCK%&czN3iOd}WF<-cuY}ETNhg0{eu&9V?Ml{MnaNP093=(1vb36}S;M77*w{chpnzE?^|PIjAx z$N=?pDh)<*D^=O|KLLqEM6IO1s^#TI4))g-$xzK)QJbm`V(wD=cJ5ZI;J)6NjTCs% z+1UzO`tb-gG@65J7#D+Ry61x$xMf+?pSCk2wP z()Rt5QN9NgUO}HPa8P{CA)35s^I%Z?-Fcho6v|8Z*Oee6VUq{z-W@dfdUCZ*QQy#? zF3fj1MbR!2D9H!KJSy7pT?oESsyI=vK&887f}A{>gf@KHTlOMf#zR9Wic?7_5=tD)N$2&D9jz9lhI!xEpn^(J1E zVUckRozsbIV_c3uaEA6|C?DKj)I`twB z+9dt!id-n698#Vnl96P1qn@2D*0~@HKznTk@neIjtl@P<*ntN zeawyG?FWHT-Al%@02P_p!vt4K9dqed;q1d74BFl!E03Xx5Hm=x)n!tXq(hTc}Ro6o)me)jSmRD89XmU2yAbf9>P%zSdv~*lFZZG?OcFB!d=TNGA<3sE#{~QK_{d%9qey{0_*&2KXmZe^IDYOewQR3Y`*A4r)<5kEl4+3EsW3bfC&Ft z>woyx0}O_X3q_db!`GqOVdVMo(whFKB+3yOMHSE)K{W3BwK#7YqO5LgJMBDQ;PC7u zl-qBPdTt`M)m^p-YaVjSg)S?bUTGgS25(qrgCbj;5X&FZ!&^)G0t`2cpcKdpf_x4y z*41Y%rvWzK7yap=eVppipjhspqVjFc<6GawAEOa5GEXz|Qe7PohOv=Xx5v<7fK92} zJUI4<@G+Bq37?~!u`?f&l9)Hs#@trhe5=u-(&O}xDLsF3tDFm|hO676)SnNO%udV6S{UVOK;&&N9APsDeUIB-4 zX7^99v)iW7LR;Rf{+>P}L+|~u3i7YHU5)_e#svG)K*U6mTbeRb7DucP=&)p}Bp!&e z9H2zS*J~`0RR&EvDK48iv;;~MdDpXV3yoqCt#I@4Vpvb%+q^h*3u4OSNUzflX<-V#oT&T)qK)UUdh)aShnE?9#u==`1P;PYCG6ib*U@h zHdV>qJ_$)Tb^L%f^So=D@|5;gWwsk40Fd(sv}M^zISLNw0KZv6Oflc&TpT*>cMyr@ zddJL`U30S7zg=Ns3_dC!+|f(mvr;-vgoWAG$B&Ti?b9KxT|G_A$U32#60Ce)5s z8WwNR8KkWCFnj~~;+i-5Um~>T*o4);o#o@rvZU|5RHYKD;?Gx3f;^;ElY0idwyRAQ z6S~&{0U4KJop5B%0rVg0ES$O9#y&0Ei&5yBRI^6dZ*sN=IvDxc;^SA#XUA1x6Hffe zNq>kWEj!fwop7j(IuKRAY4*4}qjd1WQevsLbAF?5{A}0c1I->2C3*($+JRor-IZPF z8~RG_yy$^yrNR!!)-iOu=;c20X}0XK#jH~YM38KV2^4AF^It(*4oV*-vLn@=R74}Y zBW4zYWxd6xT9X+1sC*ePtJeEEhNnO=D zvLYL|U&J-&ulq&j=yO85F(pd2!cHl_u6zlTJ(IOF9Grt6Tfqi4rTE9jFD=TMQ2$?7 zKD4cnDvZ7T#lulaNHh6L708I6N`?_y)IlXGhLxKgd?y^D59`f zmu@hRZ(QI+$x(dQANEz+EpZ76r*(&keVAy1{L2%6WvC}r<$IT`MJyXyo`Km{5E&e+ zoMnti`q{2~6tB;f&nzPzB+s2xn0U4tjtZ*g87w1Nr!ct25<4l+nRJdD`8BktUah*?*#A&pvZNOY7aI4^UlA2pZqD=kc`PuOv~Xs4BK%9m0AXjy-N z{j8Ap$qeCT=EgBJ_c|oEJuK|by8y0oS@ANSU<}@$B*8@jy6WNOTx$dv=7%xQg^R;$ zwO{FjRs-)0?VLbE?6(7XA9V=dUa;q@;UnJu*2y^Xi(WQTRKURxDy-B!=Bs{P>Dnx0 zZC+qd;5Uh8uaaVI*)VGE_)E(LQJ+_8I7Pg@W^Z)yWX2t$q3F(FR_bD>_4X>RQ6+hocFor=HjJSPV&cYynZxCSPKmH`-^2J@FW|EjHerw12`3SL0S_t8-d zsKVoVJL2&lmXVQ<)tgSQZsOX}EeA{qvxuFk<9Rl49+%QiX0?9gQ`hztQ@SzR8jH6V z_Bd&ns^m0O!cU)lJ7@4gpuark3~HJKvAha)yA!{>iR)T9p{=qxK3H;)(@1dqf3~rO z3SSQ5jtcP2WxC9OH8)t)p5{izs^Ky=>Y_EL@Wpq?(xmv$w8)E(dW!e9oPJ$dRBifo z#TfSMibwr>VI9XajW_3d_#?|d+V2gh`KqJ%YV3~)V;4&v$%pVUM?ho5c#;sREho-n!TliDXP-4`t z$0VjKwB`R}$0w|l2-{XEDVfi&NsjohANYUguQztL*_L*iYR()yXHKK)90nwIpE^7Y z@T;+ULOrUo>D<~`cF=`R(6UlYr{BGNQXd8&2)~RW9u}j9bLy&DGH7+-?Ng)ds|ALh zgn6}6Vvczy$<^67A%J!_#o$Dpk2uqA%v<4W?2Y#v*b1Y$H_@Ed_w7qg>giL3LoF!= z&S+PkR}eDX3cyZ&o*h&{(Se~qpF9j%<+Zh$9Z&oo>e@>1lqG+&DeK80qQ%-zMc8VD z>_!cWG8P4)*`>iRfj+>jW`RPGDC!x%XZ5y{TOCfe&HGy*v!Scbkhny&9xjMa204nG z3)kz_nH$RpVuT9U!j-3L^yZE&YZE0)Uc|jjipmv%E%RHj4iEc}`P0-*R_P6=p0k4VmM z_sUqJWWDcAAHt*HY%3+NG2}ud7v65v;i!3O(CzrNhW#qbLJ}ubZk6;2>1G7ZF(~Gx6Q#xtm1we{>!~X zIwHpQpx;W2dUry9)NqM&|8BHE|9ZF5HSR=K!J_9Gm17A zTrqwF`wCslCbBNdXJoxk5ZV~h!9U4l2qbXAQc@_T*cd_2Y*M~upUkm#ZSmh7eps%X ztz^W4>B3i6?cNh+EP(3fc0I_iV1EVf4Yp0AF}XMH^&|GgB~P5m_MYjEUIR3JKB#5) z-l|vpdTuH1+&iZx$&MpjIFZQ|evvuG09LV1*w0hbz{AF+A3-VC zLFwzy?sMya^(`ALXdfd+q5c$Wg_K>})Xm79sH6L3MDBIZLcNYT52d)-our=6$KF{| zm-Bp`+-Bjn6VkRlUd@+occX=9(Wi-YVSrS1Nq%7>S}m5u91HW*0NQswvhGe!)>^S- z_(IWWbO!wdcG2vF|IXectttCMgeaBjvbAq>-O%z}f!(|}huNAw<2%H&Bn?O@KbCV0 zI03MIuFAY?H)`<-K4n?$RpoQs@+ADjx`LSdoY+fxXvEL=M?=s|DP)e>g=RKDY>x z9KT=F9Wk2%TPW$HuGOWsbwbwz>yqVAWvw7Uuh4~rhW+XQRz*g6HC2zh9_L<+(# zq%x8szgD0{O9W{wdgmnO zjhZYhH_vZ}*O9;NVpE~&2G&ycLY2t%Fo6vA8uCLMh!%r)EYI~q!tJ*}_L-Gz`~%h< z>%NqQV5Q{6qD5Mo_gVB`#T^qip-Y3GVT_10{MT`@uy`zDg;>Lk8|`He7SEmonRZ(p zm-!Hmj-(kTs>I396JxqZmOQ7zYkjpJ{Mx$6>Aols=qR|s3PO2Xe32W=Wq#k_fWbuL z3-IDRi!4V?S4Y*F!gKatT`fi`b7jD1YFqvq9kXnhwHp8WZ}S2G9p$o4p#R07{M)0) z3<%~uj+f~T(|+ItG29T~vQfHRVi^4kh3}dja%w>*P zChj~A$z$lJ$&f9MKShngw4VWm&|Ld|ARq!_1H7%kP5Gjoe$sB&&<>%?HTyDJbu@gW zRv!c_Us?yZp9`^l{+-9IZZ9t*qJ*!2`)Mlkvz^ux8s9tpDdWJu&`i1Zr*B-OkB`&-W`S#TtI*Z)8~zx-MhGk9h<>@-cn z5~!wT5E^;<<7{SNse&Vv*Dmjv`59f-U`ZMh$xX5vK2SlSU%d3dE0`cw=hBCa?Y}i& zqQTE7Z+s7GP zuHIP3Ez>P_T7ZQG#*&wt9S}&FgI$+q!ef9LPmh@}KKorpR(EPZ#=0?tSG0R%Nv+;; zRc-z;Fly~Yjd*EJ5yRh;Z}b!H^cP&~HB3AWvrpqMcsd-@kGYSt;d%^^a#=ZeT%ggC zjI3}@(bwC_PfNgs*tA0*sl~yZN@2Ym<6kBfL_7UTW17S;eNm`HKu5m+t==9w6L-}j z{AZeuomHZT%eXI2h%x-rW-E|(83I15asHk|5<9Z%6X|Re_$cg9V%=OIdiCDtTVGq- zJ<|L0iz}J|A26E-;f^ja(m6?geb|5I1URp5-NlJg%H8rL; zl2X12O&SH1l#VND+UEZAgKlH9{4@zHhqjI6l=p35>Xo59xex9U+dnyyg}H?9gI071 zSk;#MtWtlHpDT3aY8sIz=atHjsSI0_SL!@MCM%$JKl=}jY0<`xz7KnvaC~=(e?**R z^$fiG+PbR5fA_CT-ylI~?^HYh(~J^s+$oJLZ7kxfdwwDlYHM{}ZUH{?_s^Eal=VQb znkVS7q#Hu7+<<)%)Zr*4NZ6|ELGasZ{zo3SY{sGA^)%~E#Lk#bJjMKUATs;L&fW21 z(`GzvEsdF8iVS8ETd@o^^axyh#)UTw+G16%J7l21f`7H1vOW$UAI{qiEC10qZJK;-L8KPlO|}ne9e8knITa*uDpaB=LIxFOC_NffSjrIhd~UF%vh|y{7%+R$anD^^Js15&2lzd=<8`}4$g73#|#piuTqfZe+cqEH~Q z)W)g*uK{7dFjf znhG;WTsO^i?+`Pp>UA6@ix+XQ;|ebXmXLW|+c~gNFs$yK0=AY@D&BI|1EW{zhAyL$ zeDmic_iuDP3#`C!THK2iA1>)6wWfbNOQf2fS4Wu(1lckHj}xPs5B9mUQ{J8#oP4sr zW%d^->;~E)e>dmXmF)E_&C6GdRj`G9)mY1#DnLNftgp)K-jTh@Wq>F5Y0_cZ)ruDZ z?JgNl({DGv#{4OyXR$%3L0m~#+fnq@*u0h=Pd!2$k~8p3>x*LcXnMUUm!;OvBLzDm zM!k6+iXBGjv?J`H=GcpeXi zuIigTmg%0gF{;hjE7!II*b!*{>svunf#Fa(GpUr+H9E8`>&Nv!t+_~%R}45-}AUbJg;Fxv};kBTT}k z`i*vi>;c{!bn}=cDt=`;iMt8yB}E8t@{!})RBwK~yz}~VDQ?l zofVy$)_eO(Unh0?D-Lg=v#*!9h>9{;azb&=HH=a@>5IPy1Csu!(YMH%a(7IBGk<42 zr+ZwkB`7+_P)#fth<#sw|5KAkS!~%U(<(A4Q_+%|ZxQPEUclzFwRr-_rg(US5P&uI zmSVRZHAn!gIkFf%r3zTJPWTJ+Kq3#3qc6R@M@BGwJS3Wf^gf{{jTt>$g?)JmGP740 z>Rqd`jm$J&6j(Wch*C1KO!KLfsJMRJVLYl1T-XF{N%7WhXx?5`uq`(^YuP2WX4KLP z!=$|SI>KTud&xKK7RAPiL!%PW+L($8e92#8H>99#`PD!2VhvF6g zDqG57o$F?VgLaYFolyA)qywX=nYGl*&DyJiZm=N66vhG(QN5=?d1sU?Cn$I zZUIeHaasU*zG~l83uYNm_efXH*VWNqKbwS&B zJ5EcJ5WXZI)_{VsC6^!jzpjh}WCac_(!2l`ro$srl!q(63R{a!m%Gk%YHnLkcHijC z(3}dR1GqM=v)_%b`AM`Ilndv|W55Gv7+^Z;*wk%BiqNwEhxZUAjf!jiVA7I(4`Q!M z8K3ln8p$3wHn!FUE6qxaJ7kh83 zB2=RyzVhb-y{LSoO1&8$v3Att8@0B02GVW&DR zl|!Ps#jKd5&&K48s)v+0!A`^!*r9V*|8I#Z|EZF4Tl#NTv${*Z(Dyx+Iq>@lvCal> z>}S{-Y{Q)0lkB4IFS5?oE%0r|daM{%Q&496pre)1pf{lEa{Qw4hZ#u)C9;G98^X|7 zpX3`?b@1)?T-xMbM@o#)EWy9^^~1Sx{Z>Q1h;JOCe(L+PFJG6as#HiJxCF_y0BmOq zD^n_TJ#vlxftbOfA1D|Z7liy1NA{L=XO$`PJKpEstfG>|7qQxa0+EaG8tehc81fp1&%SujycvPC^x+V$QirZYJH&?d~p- zU8mZ|_3vst-(wmBcz7Kd(1q#WXzt{NUmk z;gorgaVT1-{+7&^X=hgjdvQGEH|yfLF&B@cm0Z->ZAW6)uP)9v4pgDphGoNo#oZUi zkcK??2ZyBYq>tSxQT1v}`cY87wsGoiT)lSO_IQucu^r0T;p7XHnMll?T87gm#9CGB zc{rKbl*d=N#ua*5kz51=kn?~4_hyLopDE5gH|xmc?$&a%G>*$|<|YwKQq?wvMhoUaYQfGa`MbDBq~YLwOG(=_{5%&mdeKR^HXZg}O& z?+;wn97_2Dr#3o<5gvosM}nlm-*{ryi1#SDt_SOyGWGMHm_g1O%vwMCz8 zG5_Q8-K>h>;`xZT@kDz8k6`vz(KkMdm$tPe0b{zYJ9C-!WJK9->VWm&2S%{ycCVwv zIs^6BfEuf#C*VWPV84Gk4s(_F9@hF*en?qD8hXY}AaI7hg`VdF$|-?nCYYwGouT;% z690GNG()@4XWYeWN}mRQ6-ZC3i|t ziOCiDSWLgkB=M<{wbCfOgZ)FPzADyzgH?4ccXW8y(ukJm6Ox|e!(q%-vYIWcC6R~i z`&V&43T!APY8cP-lsFUev82)uErNRmE!Dc7Vn~4h(Kh{($4wq?kSyV_?n?~0fxGOx~>r$ZB#yiTbdFaHit+nPuZ6;@~M?*w{x|5!R^k^ zA!)MCc?oNTOW7K@z*QQNr(SSJQ!Up~u*GmlVg{rdF{ z-s%d3Nly4r>kCaovNA|*4hv0s{DLsIS^i`yC$wV{es!dQ*VfMa>b|j|%{~ahC=?RQ z6DZA1f$OrevzI%_xR^{#)ao~LNHpxMGSMbt5BqGI7qYs%JEGX~SE4#Y{-PoZoN5(y zi__~;6q?p9&1`D-OA%H(-rHG;Ay0$xGsuv9uDEA>4sA1;=IFnMR}T}bS%Z^RdM1EJ zf=uVw$HMd(w|#EC;f5N4A7>qVI40WUFE4cf;ck1=gdRy=A zp&E+VnfHF9adCB@%{3-!vrj|v4oZMhPuf?i^G%VP9PVKVw_$j`u!)SG^gVS8EPYkT zwj7PJaADXx=tmxr2EkYDWIe9r%K_*w-IT2^~c%4XFHF(t+J75 zsMtpTw4Z7FcsO1#dvVZY#KXOrp;)m^sxfLw^-<%$Hp!KRN7(`(JN=U!nB72gDbqTB zH;QBT_j8n?NIpbxN$kuj^Eaid8->9)`nX}kj(~W~XlZb>EFJX2#GxPDlKM|n)*Ww- z+rcJn{b1u>DjZ=eXU`GH^30jRQX0p7)g`G~7~=0Muwj`Ezb9J%(3dDgI7C^24mk<} zB{?nZY;`6@7v?SHq%xe2#5Q)ODuz;g-DbAxHIL8;9H2pYx|_b(ph2fTbmg7Xm>!cu zvTwcaTu67;dr|MC1Gg8#Zmi(6%-eMQL65=EG5BE%+eaYcV;+Wk%f0cDJjQTyf&Uu|Q@mF~n-v`i!3V#MI0!<|CTwqdg{ zUqlW=_*y3*9co)4`DUUFqLJZ=OD|w&mdS4x>Yplb+=7B#G z>Fq~yN@KQOS(3U^5jpI4ypMN$8P`me6!XY#;R%PyEa~)DbAf*8zQI|dVrFVmLrys3hP<_;flW zzC--GuLtVL=eIlo9d6Hf^TI%}q?F|ty}Dz`Z}f5UD)q6{;^^9$ub1%Tt4p!ABza}T z-LZKNw!N_dGh_2IlefdjhUPGSLmQn;D_CT3irKh(tXm6zf!^u_ z@J+R(>47`LQimc8;2vD$HafzdhTw!+A7b5_mE0|yca$6@uR>o@Kt5^}_ZMl_Ro%RA z1o2^ROj)TK80PRg=U|^~X8)qZs#7?bHg&`|SGg0s%<5Vg5UQfwD=V@7qg0?p^{e5N z#V5JU$#9MxfH7DRnqK*41t`=Cftv&rlkrFC>2!hsC`F|TKfdyjZ5AJbOm&&R#38Lj zESqDEHbBS^5f&$t}0kdS`R{sKk{F6v@#T?7KXl3X_}{p_E(8R|8!tDc(aeeDE8coBzlszfO1iFa0-KN9O46*b?kv~De9&u zJ)^&pj$@yNmL`HTZE*)-(3>PCVn z(}?l1bgn}QIuk$FlLhAWw}c_FBUOT49z_l?BY&1$O9kNpI5BbcANf|~0>?eUchegE zg(zE{>#zlD_rjD>R4~ipnUsSx5&y6(V@Ib?U(k!$U%c@1r%*@h1xcfc-fP2D)Vv(!4RhTEz=%Xu1+Vv{wxSah(7zO@~m z@+_p#F!f?PfiY9n8fgV7hn>dLib(S5z;LM0Y0`;Snbp+u+461Mgm76kJ4zZo+x}_d zOnL`ysv$Ad-^<4fp5hXM^OlReTI~b-ZDq!8V`TuOEM1=p`tjQPrVx5XGX{y+(Du;h zF0roLF3YFZu@>D5tQLL|=`haZCk`L0u-aA`(tS3Y?ryi@FH4Y4jWQE~GKKoyj3AVq zoTUr`J^}eayQiR`HBIj}->}eeMvJ;oLHa<1$UZYu?zY2NDZwA1W*uy@8J#Oit3`=t zC$)Qq?M#n7nWZfBEaOrYRDtqZ0686lEmrgS- zYx#&mCU*T*mBUHXrxfZglk}Cd4dDp{bT9S$gN#fW@%Pj!})LRmk&Es|}xW z^_pop2jW9qPLHS$$2;fTMqshq&8`<`UbCQmhalP?wC}-nTfeS6y?*`cN@2lXM^Kl;Yi6jL-Hg@Xv!IS4a{(Ra7GNc&+;b&TQg$ko zxC)^I1zn@p*O%l6p;g0Rx}N;c4wapOu}zB&Y>Ay%2YR}=G0!f>?1lSLvS45G^w0;~ zIwWHH#xC2i7ZJWz!QvA%5E@9N=|cI(*yDwKrL8x%uH=zYd9U1UW)qd6Ejvd&x?mC1d z+Xa5s4>N4+?7=#^6!&A*@o%Yb-?EDIEN8}Pu5pO$vXATr1m2nDP#7u?4^Sz|UfBy+ zw>UBb_Z7sf$W#lFYG;`^+y-SDDGi!+HfvtItL73FJ*7!V*I%* zP!#5IYgLu}vUZA;6(d>~q2S=c8B%~R@LWC4#Ok+3S@{*AmAS^+aw;RIqmT3_1w90G zIc1ucw=<4yJbOJ5b3FIuMyv!q|&P{b9z0E7`8=6>^9`6FA<+jH# zbuwj&?;r})Uei5B-{tjvF{3GJ@@HQpcr$(s4Ii}62u<-7 zUv4SdftLk~MLnc@J4crOOgotw-Ocvz%Q;^uliCS^GIk+T8XaXWBRW*itv!{bLvt%+ zwgsn^168-mQ{NJbuE1Jql2;^jczmhV1L&3_bAVxgb{rwa?*`8 z0wyo+zW}Gns>RUmwTCuLI^ytoOJI5Y`%Cx6YCVHlBY%Ur9(&>~6)~~A8m$b8H1-mz zjklcX(gPMJioh+^ zA2g`$^2R9h$U&2~r$-z%4;x_?&nLw^;u0@Ocp21WC{dz8K&_net;?{ixqE2Iq`q2C zYuc}lxnr!~o6NM`<6z?e-tm0wPN_jRMh)no^Neot9JW+m4=_wb_8UVM8}^fVg6sW* zZ9=VV?u2zo5sb@k8r@(`kP;?%<97babcS0?fnW9NH9SkG;{FNnvv}?m8Bg==1ckb3vr+F75 z6%2!I;W#ZQFQ0;Z6!%A>oLjH8dssMatP5-g zdNb09?uQ1@{M_p*Wgxt7difBkeH%G5?_x;EIE0W+w!6 zs#9X8bb|uojwT^{DZZM@Ezw6~R~L5zQ%=%O|Ipmn4;rW>&lf~f8q5EOtch`|^TYKl zjDJpS)2*+v$88Bey3UrQ8Rhu*{_80HFP4Tt;lLura5^ImH`}+6sz+r=o!n04+mS?l zD&8v-lf;IQVXv2xRqG1Q=@9EKscL}qyMmh%#Ra84nO#)uPD9eE)KWx@f^$`c$Ee3~ z^!UZ?Aib8CJe#=qX_IzWQTxS-#F{KKerE^YTV?Mm(2p^Kurva2Kan-Z+mnxM*1Mr} zT)yz~q&N6rgWWt>42~uWL|K!gG@#4x*8^Na_9nFSG1e3P7KI7GRVAPmiP~`=bWk2K z^jgy$9U8}XWCQtP10l=x3oM1N_!k8f(fUN6CfbWnk)nGY*d~FGw8kSLF5E9z1Ir5} z27!5+s6%UzlsxR>jk!VEvd&akNm%CUodn_a@Hs!@L5c!(dmzTkLW4ufB~}JmKeFc9 z=K1sL=rz0Y|AV>rifU?o!+l-Lr7lHu2}&>0rArCDEUAVny@N_kLO@99?Y~rz8YJ|- zC<%~|ASIO0RBGrgfdB#N9i%tWo&OnQpMB2NJ~!u#^W7w43>DFK0`%$u2k^QbPe5T_aT$uf;U$Z=P(nHHtK3-Hw>eQP&~W}g-!zAJll=Dec~ z?zcYAnYVhRU_dht+&(i`OMl>q7&ZZBKd7BXrM^L6*oAjE#kuGaZioR=8Yg~Hyd1(8 zJD6v&Y?%7s&p34+|JAk~we0ZN*7r#JlZf`d1c3U9*Q8iR>EM48PKx(PdkBBC>fqOb z>E{}m8?2Y90m3e04K%ceL#w!=^Hy;|rllL+02x7Q*_Y^FnFSUSHi756cP`aE8S=VY zuNsn?X^X3S;bwgpsfW7#G?1AmbL)TJx5s%L%*OR5l`Fm{&)z6)*#K2UZ*;j%(W%4a z-qwa)42oL^O4fHIs@m+&>@}IGyTf=8AK^Oi{(zetzr17b2-@4 zjI{=Y{TOkoQK%_rZaDlixx&ine#Vni>yuZ3Q6F1gHFb!j45GqpuB1R#xGA>$+=6?# z*53x!#u^pM{p+>3&Ka`}1dDt^uHH-PiR=0mr^8E0oa5y`1=^pSt$X<1%LmSW&qP|L z3#O$C3F#OZjJbj6jKP$Y%o;sCVKMOFpvmvqUd{{h4W_}Ne;pf--N)q;Gw*R7DPNXZ zPVyu5w|VV2h~XsrKMdm8M4ZTSZ%c4tN~}Nky#3vVJz4WQH&t_9s6lcUBa@bS#X-3z zKBCix*89@}a$C7}!>FG?Y2|-=V_St9J=bGr2m!n|bixk)*rE=bI_0}Swj0Y+I;8LV zj2v${4W8ho4UFP*`I8m^%u^X@DM2{FK_*x1)J6*Xkcn(~Z&QF^oHJES{z41>=&2>a z>5uZ&9~JY8dC?+zXOkigT91I{C0`LoP00if`M`;-y_Om%Iu{5t&mj2o^FMMv>7LZk z7qF)v1j0=ok(7;oOZ6cL_3$r_%-A!5^^+w2s@;pACwcyvR`7Oh%^+WH)tQ=>7>K#Z zZc0l*J2kh%BBMf$5UE)4D@=p{likh_gldH<7b#~&x_o3NnPUB*Z0d+p@NrrJU1q51 z`Lm$nB#cM3a{w8x{$bZlR%EcI(Q;UTquhqf|<`w41NmCM|qhgy}M-l zb?pp+|8;HLMspg6zCFtNbNF96|E}!H>Y0r8(LJxmYqqMYo-ac^ulFfL4)=+DpJism zhRzH0?#w9^KZ~6-_$y}QeFZgj4q0!T@aVm&uw%BQUgCHSHeViR=FSu4yrz+M)Lty|sx*nCuCTq2}22gKD|6qlS~Q=_0fxR6lCTnB-l#QWs= z-XvR5qlGc01AIDTp|!lCKJMAp_RF>J40GIMD!A;oVNLhd(k8oJnE*^Cl5fT|xT&hZ zNu%8qMe~E>o>tnuRz@Y>qN?jO=_w*6zL{mxO#O7G)g)$g%&Y`3tZj5YofJ=FQnWIv zg77+?_@oL5xT~wFXM8tH+!u{~L#|v8uIK^H@GpxFcpOW<{OHIIuIl zHr@Rrb`UKgu~a`UTj+Hq+OM^}))89mxWhHxNh3NbxQ0x}JZYpW;w6)RHMDs_?w zo6hklN0q@I9Km6vytE0V@?JDz`5(-*eFUEC9_oKLQMt~(D@LuqsC{Wo`I_SSN}8z| zEcj=llx35@2}7TUn(g3&igSZE3C&u!4b3mi-@(rTizNv;8!Pi^1N+eFAPxN{ zwr;rqquEobG{^(xA^#Gy7O8IoWB7Y-woh56>^N%Fw8eYC9t+5^Y@4jBE*)hS38zu6 z=R3XmkLqVX`V|zEmSk6sMVGfetPB}E(Flwn+Sn!fd)QvT710rtC=G$4&voIIWmTR`1(*WQdJ&6> ztMtTJ&AmJdCa?R0v1-?XSsFdP#6jKl43ekh3@fQ^l;C^4zBd^^8?Xd zF0n8Fum97Y+6|3|gv*Ifh0wO|y59M+KaUXn*8b~{;tAy9IhOl)DgYkQ2M8xy@DvZ^9E~nf4g4(U`ao07<@qsq6k}#ri z^rwR#NX)}xw*w%@o~^BQGve<61_)YZ+d~q6ekbHe5{yVTe7g3x_1$XQ^4*!&)2`bD zz@M~fG39bEP{m3p*p`X7NE!<&yXOm4GY&MM$k@|-CUawEe2xj@=C9OL(o=*(x#fg& zYzVA{jh|P=AA~vi_G5Ml(vj>DFQQm%TK)#N@hIhdi&Xb;AiyL%|EzSqo=~vGRq$}O zU{y#E;_*GHcqN-ksTMl55x@^ILuEVgcmrVivAy4~YtJ+WK~J6ed)Tf+@C7q58(^_z z`>vA4zfYbqqv3`&zH^s($q+Mkbb&jJ%rTXZYcj0f`S4eN@V~Y5Pcgb?Z_-l~{eTs7 zh_LBFhqOzy7h=tiifVNhr34>ZPW|8R-v7FjGCWfQv>q&-6ab$l)I&YWa%~JhVtX$e zc%G%epldc0F%!-cxqd)-oG43fD|lRI>UCf?+QgZxs(x@FQZH!!6{%{`guCLGJgq-7 zX_xEvi(IsJ;!A54GbCy6mkabh!=*Qlou{5afGB8PjXd8S5iSE{9bY8!DtW$o`)BO( zcgl3z8DSeduewl*j@~Q7b_P6EXDUiD%GO}8yg$T|(`!|0{DLYf%FFd}!uXa0l-Fw` z#sbBXBzS zkNq8T?G&8g-KM#+-$ohObcCa-J4=c6@oeX z2Q#i!(JWO7t>_J>bDIohGMMPt)jjx0}B zDq9ykln=C9rY1GeZKQ&xR{?TzIp}G;t&>S|1apzCIWm%tqFtTX1cNKKm2%wj$#*Ev zthaM^AYE=22Y~5wTxxznerPRhMueXFBi84BrtruKdb3FyN7kv%>p-Hk-5Dz;i=REq zE+S_$QQkM|=x(6IP5(_h^Yy`EBjef7-q0X{*_=Geac{n$T-&$7)a}l5x@O?lC@#10O`P^iA zgVG!k^eV!l`TgRhSlL7w%tDzfr3}-eu>hTN4-shT>v-JxCQ$9lh~Gk)@es7u+q+bU zk}u(xRx~gVC;z(El_2C~ez?h31U?2R03(L9O8AqMtJ~a9%N=&Gk81p+RVYCT!|A(_YBn<eKj2d7njA zgmPZo3S=CidNrK!c04@8a($(!lrcGhiYl56HGgmQIwourEH-_U#z(!J7(LE%@E(=J z6N#qDek@ONjE^lhRl_plfDC!P({p%Y)ck@mP^5&tTZd6)0UHKXF-W+V8kePXi1zyc~o(P;Zs5E7N8Gx7MlCpj;Si2g|RoAlfPB~)QD_H z;PvzrBa*8Jb=s%?2N3*r#Wxj>!uWu&1$3A=PoAx~o1 zN>wV9oy3WVYO&aZ1^Sth=JOFl%W z?dVH8wz!}6XMY(t_zA}%!){FI{C6Swmvx+91H-?bzZc{(_L@1*9b1!T!G}DL{&Ora z9;&A=Gt;$#eoZ$T*Y^2mchb}>?1SbOA+@L2vVIVaM2HYoE<$q} zh#cIJJ(pJ42%Qs0X|vXi4YHk(tMUOh7&FCM`C3(Bx1uL3HxJzHS6F7gYE;Nag`uA3 zN*;42lQJ%mf@-xV)?34(27b;_ZUX~huAa4a-;e7vhF{i=+io98j@}UBR)bHBRJTyH zO&Qo98XdEB*R5xl<)Cd$%~UbMDFNbhm{V-CyZ@%ui9wrsx?6DG#FVRz^~0JtAVBJ2 zbp1?cst~h($>Hv*+(65E0K>B%Y2~k)fmEJ>z%Q<;_n?};(>vV7daV!Aj|MUfg47?e z*c;?aRutzN;B(^bipo9h1T6C*Ei`WeBZlB8RFvInTY%FKP4<-8m~G{n47|-U8aCRR zI9B0<>4Pg8fbWLchM5mC_yGI7Wd4LpFTI-;jm8`(?*A#=2HPJ2Yw#w6LCxO_+kM-C|+c z0IJYC4!cGvs;`z_(7to53C>Tk{!5G0WDjJJJ7Ll}bh$0aTC7j<0G$^;c3f^UuQpez z{jUa#*e;%XuH!M@OFs*k)z&+UE`Co+j@11&3VGTqt|@nDnHz?Gw?cw;>kD(rNws;s zK^9+4_KU}0^YyRW_px1i`pxh9huLt|lzD_Sc?7|_e8N;i+I00KKnh-y6D2Jx>~@u;wWKL z&1;0J6Pz*?-{DU8E!D-aKMPa)I1UmlZC~em1F`Ska5cmE+UL>1rK>GsIcZlt%#r7SB&i^FQatnm(@ro2sL;oJ*DfV%%A4I^c^70a5g>tKj&9n@U zP0YB=8;KT->v5RgeXH?y+j!J3Nn8kz&1KxKx^G&rK^-4MvG0IEi1Uda z+OEKz+R|l2suHm)ADEbMCwhO5*TYB1h*LK_WJBQRV{gsr8CoduG2U`$@{xwO?@NlU zcdqznc{Zm+S37_MA5h9F)M2=?$(Tr)!0hLz)hZ`WEXO5!7#W+LZ`Qx-*CTpqi zyRe$1f)ak847n*|lTB_t%s`+!df+cRYRn>dK(tfyNXe&mDx+$$xxK=1+S9zLDp6N%gYL> zX8U{*h`~5uo^eW8Qrn`fIMBdfw^c?Q`Qo6o!YS}C^I~A*2SyW=Mk>Tc%gzN!V~=vZ z?C8BFxxCTulR6$vBjP-4n6VsrITyBYR_eYMBG$*_J zZ@wjAXK_}4&FnwY-VLmHRMD)NY-Wm0z`97JG*m$j!yLL@8|77O0O$@i=+KVGar%v1 zT|V?H4ngU!jv(@!rXE}H-KtKQ!qg(`YMCf6iC;c3I-V|?|!2B2V*~dTE zI)1*WEOchqSt{dQsY^Fn>aR)Y`yIWED z#+wgdZv_|64lkwXvA&Hh>-$7Uf0dGnzh8?=B(z1PG>aJ|43mWo^CYcPY_tEH$oO`%S002UNp0$LRZ89Ee|IgZ!Y_ zC?JG9$zvFv=k7>SyRg)$0+*JzJ}?RO60=V#5QIfq?l}!LPh+4 zR@I;2#MbW4uI|bPI`p=E!EtK4)w(a;jbAiPkRd8nwe_2pH|fMr15Mf%UwF<91^`X7 z)%83_#*~jTtsG@y{PZULGPu7eX-o<&J$ManEH8huw2}eJi_OW*=@#LzLxt8Wy>eYi z-${zcRalq-J&VfmxNJT&>UEobm3`d#r8S|&Q<+M4L_Z0P`YR;RPu57q&VRqsN!+jT z`{TC8@wHFjSp2uMOQ+N zIcdXXA!!TSuCY%C1|sTPXK2`pi9J}M$|a747* zN`Xkf@_cheX%1tX&eKT$03S=ja2Q{ru|E`5?Q0H8Aid0%aH^C>}rnAz>&%T&y& zYThASV6u@g6n8F+KIS-SoRDJDtL{CK=Fhx_xpw_~3XfWSCXdBk(yOl$=JhlnGPXZ6tJfc9f3gu~HW*~z;`SnsA;&*M0tYk5%#@8W&X82s!TXLG1Z3^< zYPe;7s~lu-OI~?EOGyaZNxLA7w@%aq+BPXteHEoG;w=q6tfWpM6^TD#YO6nc{yl8x zsFi>F_9}x9owHWjbS!B`p6Evd*GP=WjFLmxxc~y2uc?f~Cr>PD&K*YV{njrQbl~~> z=B<#cJIY1jLip#!ZgR8Cqw)5VK@ z$=jNs?FyYbAr{EH)8s_6AzXYBF>lCUIHIJ9RLE&_@!jwrMUSoY3OrzCr!~qp>1wZ& zVd{O^_gPVI>BrEz^wzPlI7V|(cS`JwDZiU>EFROj=9ISjDIqvqa>)j^^RjE&;|fG-LLt_hJzal1-30(P5#>-FdG93hm1bQ; z8Sr(E;iG>B0|qOWj_-|~jBhTCbYuO)sUW&+Et^%?Boa5Qg~Q|a&`qvEAdP8Q+niHk z1G>%4nJl=pC8zagQ;J}dV8Q@WFnMJ4{^v6}&w6mU@;^^;&9|mNO=*GCN>BcU5UXY@ zsLWia{%!gK1;_qPyRbYAk>=py7E1ThS)qD`WNW>?-VU>N5i4jNP$ad6&IdoA6g(D zY+4*Q|PDhF=aOyVTw0UUGP# zd>3cjR(uqDIaFpD>GS^59LJTOf-V=P@VBZ-19d17G|A2kF?~O4*n6$ zOv{?M=ns~eSc`@7tKNeQ^A?XAKN<7#y8|Cz6WBChG?a&zS_Vw#SGPJ(>dP_r7UVeM ze@4RMEuQ0j?3D3axr6c+zR;}TBq+i&O|7YRwZ(hVM!s14L@sR_p~gmY{J|pt6`J)@^rf6Utt5E5$?oC?glbLjhU{IF!M&hb&_d=~b?q zp4Kuhcj=NA=vfKV%%|vL!)W_m#Hu!f6Y3CH_7CTjNz>jKks0T|0V$qWol$Q4ns%_e zGY=*}%&N72>*2TP_8uPf{qmxHw<{&8ug#}bSaQ^kTTPj~bE=Tu|HYU& zuP;!sx(L72)Y?Lv-(2~eHI+#B+0!*u+4LajDEan2g@5c3`hY=wK<{heV2Z<~%;%M! zBv)ByU}A2pP7e0=z2~V95XGB;1+JR_-2l-|S+5Ci=`kU`o28A(8Y*HMJ=R?+d=iu5 zc=qbi?RGHEb>1+DKBvsds0nXOnJWiP^=>YtOq(4i#x<}7SGlF?bfGe9J|V{T8hwHn zFy#@`qq%gvHmu-8vGzKx`*oRpSKw+ZMtOS7f-vW)t4{Prsy?l%PRO8_@NV56&y*i@ zad10$1ql09+P=vX;Frfq$<|w!A~UoPmJn|go=_FkJ99O9G6D#Tjv|&9D$^hiGHC-f zkfC@0ygS-Tcf-lW0o1DddX$s(RlT41Je27C^(e?_cNK+Uq;Y=dFb?}ilk?iEVIgNB5L-J{((tIqDj4!aM)_&@w zqmQUIArpavpz>uNBM-ulp%Nv32RG+Lqj*AGzGExm;0qzB{pi57uI9x!ho*U@qq$6U@ih}o+MxgJltFkbtJyMi$;_aq~VBgI%2&Xo4UL*`XXUlsS$e^o`gqw1d8O;Zlj)h zI~2FrN4&H6=yCM#Kw=9CS}OaZCi%L z8l)l-Gmf1EBac^w{2sg4M`zxghk2CN8$PRZUlV#VqUZAC97?oULkG5{Uty z85o-UsP!-x@n1SEj9*fgp+lwWv}+G55`F|aKwEs+VXFs=5;Ga88U^^8E%^&|5U*P) z3bViN)MQ8@F@3*;sxh2*xFa=n`}l8P5hPN z73ZCX>zi&Q(4qe`Ub#(|;_8m}g-v4jy_RE)!w_epkS&Ml(ZUUwOeM+0JK2c<9?ImJQw&FQ3 z?vP@lV-DH)AYD}QA=BF3rvqmWcEWW_`BaN$+dj@mQ4plqX(+0u*So~Lp|c(h7tSn3TQo% z4O+j+qVVKpS=`5tyT+?EPm1-b6MgALdHLMLMz$al#4S;y0(5gSSn27VdN0Ik&i72&_(gW1sYs}FzSok?(PX+QRa@G0Ws&JYRk0i1Pn zKB2<7M^>~fx)P5fPmVhB&0@V)b~i8r{)aBPk9xOog?~AF%heZ;zCk9P@2BAR%Px|W zsMQ-pu*52hSfr)sgM7 zr}NVfU0?p}*8C}eZ9gIppI||6;q+c|?Yd?s=+`x?7e+6xuIEVof32N?)T!2~`ktih zTsZmRMg3z{{O_6Zl)V7o$=Vy}t@Vy~-NfShYB19T<)!d3&-bE@FLD*LFt1-1cUd60 zauvMSOP-G_(%&MQ!-pMvW!h2NfsE^~zYwN!nQhE1UG3xbjYC=nmfZo2a?Alp1i}vP zBmZ=RthPHUA8FO?*vLX!C1#NH*UC8#gq$(5{M z;%kG@-0ZYg?k<9_&uEUZm=hHIEQD4kqDC7CH*d_z|KC{G-^RT@?KBC?2+=^wx{+< z&vyzrljV#bk1yG{_kA`f@uMy_!gp{SPTRo1##^&X^pcd@t#QCITcSYVXnf$aZ;GGE zZS#(eAJCljKjYC(oa4c}VHu|w^f)%W-MKZiuGS<;919OqS4tRCs{MBPV*h&e=DxjS zzlOw*UC7f$1@csM zj(wV59I^?e2(v$i{5OIh8306ip0vA)If(lOZ$xP0Ebr$$W8sQ>pB9AwF_kR-k1p zuDjsXGBZwPdVJN7pir949+H?Cvo~frZeu=986BF&81zyl%&W}?kfI#Pu2ak3U_4!P zK>asM$D!N|QNE1l9!ak=M8tU}--tVsNrRS~V#=}>FB(674QhLa9I@L}H9}#=N*y`9 z-@}!Sja>h3onFvfTi^R>%(*%!L>FITz+{{y0wgrcwFTOU! zFl{IvU4^b+)U$i+ZUnF}WMqya5!#r0q2D9g6(fJD@J5Ov38+K7Qr`R^yx@9s+w8wqW* z+6#@Wqc7=G#DWcjW*mkn=0u6k%xM@#6OQ@@DwbzU^^7~cL#Zjy>kqbL7T!xuWH}f7 zlSvI?{4z3KXe@ohNGek_10h`7ZEke7GeI+20+VKbsG9;RN4O{7`f0*yYaAqlRAoKy zr7pUbfw8VSMgK|l{~vqBdE!G2>uxjS-OaA zCH5ut%F~eO*vI8$>RoEwM}GFmdPVD!EbwiJkS_M)TXI0Uiz2t6e!IIuRP2ei?^l)_ zBQw*#FSi}qb~kXQ6`3(;Pu)C{zPQVhIFDlx$S1=OzC2sep&(7HZkKEgT3$B4=bKt! za{eq+zmKTKRn_AAEx&7E_?q0_=H*ZXRh7g=yewJY{rS$Db(HQ)Eh%#T(+y37 zP|qmDd70k^nhxw#R88*)T_c+9Htnj`o2^v&IkEXr@Mkx-zD0djldtxTIBjbnFq9uo zwl;8wR&1O)drya4D9z@a1(y5%HePBQI^|dPL*&!1Yp5w+bV;Z5ZQmNXlQouK*DkK; zXp}?t#yN)i8|w}(i^@^|QCtI(SL>$xIdD@xRQ0TG)j}?1=o{M6aS-)JWh~DF@GSLq zhP&l9lfFnM?O)_%$>>O-MJShdvtCCt+n4$XoS}_b9fw91{L3+UyNQh72*77#2H+8B zTt-OYW1>~Dh`#5Tl0>^I>?6_8_7o(+yR z9+lq2uxnORPhOW3zu<3F1&`WKuNaV8Eai=-pv$`yy%Bj&eqTxxR%K!fyNPCH4bgR5rQ8Z z`7uf~FNOL#9cpb3)cNMm=;eea_2=Kid$dVQA@16to|=ek)CU6SrYjHASNq}qL5%j> zUYR2geO)QlTR-@VDvJ$J+4ib`jFQq%AwcEzqkytf6|O+n(XtQq!|$Xy?VDb6Bo&Sx z^`P(KyCzNztY}cHQS;q8i57BO1fU9S?QSZ(!Y}J1;7S?j_hL(SQ@qO;So-zo=x$qo zqtCsVi3?D$*eiIGQJo*4Ko;rQtJ^A3Xg z?h-YuM!&5@EJgjXE9DXVTVa&V9Bh{~_k3lN#;YH6#QCxSM_P!+x}yWXZ7j^^QP7&}T)L>py>6KqZ9jwH~*YJLwm+ z?lf+ZO-+f19^=EK-OH051nuB^`TQM}jwHG%cDKyz*+M@ghOQcH>y>o-`+I`*YOhhP zSlLUYvRd2D9~rGYi1!z{BTMen3fxoOjI}#pdt%bRqemU+`}ivNAzY9l4qn%cg9iY- z3&mK+1!N11hXmc!^!1B~Qf_i7X^@+Q85`zaTwAw4^N zP=i09_L<`MzCZnbE%Dw+dxA>ywujXfI5D{4#OB9{x5Ibw`K_Ipxg(h<&!zkAWOBoq@ePSZ-c`Nw&B(zA#aRzqW3N$>{nNq=3v zbRsnCI=GRQZO#==$>sj442CN@Q15KU18qAO!WLX99y0X7QS4k}w_gOh_&mnfI!C_* zjC~oZpRp!wop0Qf(SrcT!S}IX5<$VM)9KR&J1RA1|&|IX&FV7EhO2gBcWY;}tx2XMko) zf0WB#ci}j2u&m`UrT$c#_?A_5fK-IeoAw!3>X+_rSk;?m7e-2MMDx_%7Fgr))0Rk0 zSndEQ04nm^Fm}zJVzqp~*dgUr1t}f27W_)*ReH;6BM=wu7KKie&lAN;4~cLt(fgH+0s{j#({b z)`dNrTl~T9uwj6Da%8CeEUk1jl14YSJ|+~be+~ZQ+uq|(U+YaA7?{Fdt(|S{fAetn zt@g;f%WJ=In#!mFGzgWCpSew`o|vdH9=Q41BsOLZwL8E5_jyc)>P?#JPo~w=or=OWHkuIvPkqK&VbG4Ma=~rRE58pu z&<}Uc7qN-Qcths<1D+mWiJ_gwr04dppI1dMIqysjo>nOhgm71X2<1N!O7gRky3xG- zo1~KcshroVDtbg;8_RBd$~ewST$DLf3-1qbb353B8i&=mI-j^cI=jwB-9b86_z}sD zBTqdVDWM)m} zpau{#Osagflr@v-=@;=)uMlb1>v~f+K$ig_waCw2c$1%3=aw1YGGAnttM{W%T*|dM zTuyZo%=GY(g~swN=T(P|sf)N%?jbhEUIEuFmJnf*sGCiPe0+})*_CT~5&~G_vYAKM zP5D0Zx1QyekkrlJO!R0q4OQN?Owf|E-kdGyUMqq*vnMZx)t)B*WL6c0-R)Oe^ptOz zw|^HGwnGj12pU{!+)0HN1!^#2pGw3e3pTVQ=qr4kE0OQYZI;iq;QR7+B`tPO6t*gw z??647u9vPu#BN#PNB<)#`qV?{lQt-Z6IDFPvKIPpWh3PoKhjOmKU8ZkFge)e8YdiK7!$UE*>u8WcvUQf@l-u8z$5g0S|$mJl;t39 zs$ta2J@)ZN%s0Ipp09l<7pMjgbPdA&F6g5zDbpA9>_Ia3OJ!&mD(wST=KO1a<{KNn zEoCm5u|pBNPT^#nI@^r+2T#>k*bEXB%ER3~D!ZV4S3*yhtFJlVUEZvkgR)U!Oiihd zrRZBQaFV`EIf!%)w=XD-)fahG)i%A%-h<_>$tZpAJ9c(lTol9B`gfix#YnL8|6GmR@+kl-HKAIbM^aC+KRU+Z<2k^LlSP?uYtY}Dj9BY2FI1(k#k7(x|x z9^UtO@Ah#V#w&%|GGrXvNmiiij{tqe5}Lj#p0iYm#JGv0K8n_)OfrNuC{wGI6##So z>95E?wy2%-Q})t6c&krIeZeNE>O%pypLjUFTJhsS)6^p;iqKm-F}e>6vrJ2|OVC8sFoh!CXAVhxzJlJgFU-<0N*saq6x*U8wxf?q*S z*?D?o)~92PdFsWTO5m?I$U{bHu{?L{Oud6ZtC>Ez4*SaKt}2}7bJVdfq!awo)LFiU zRkoc`m`HuhN*k}CU(hG$)=a~DU}#rE5xH7H?YXaPNk|QK2eWi9y6wZZ^=9+#a0Q;N zhe?}jxU7DCSoHtlY^BG}R5)twiaGhSF1Z*y7s|GqLRV2`AAN7~2J%|@Z2-Y0i_rwmvq8c7PO;kJm^ zVp!n-a+tr*%zgr73h&hPY1a5W73C4kdwcux&KQb^=S$r~%BEhxOp-i^(}n-|(5QUF zBV`sO9JU;aom*4Y!7JX$MSZPVvfUX&6ZLyfL#qNSb7#v0EO1}}gXaU!ul;uQAjc>z zRaREkjKh>}rWK&CRp+SVd-q-4Az3G-DZM$4lWz!gj+FJWJ)IobyFH$k*$T)sAqD*8 zOvPCA5-k6y6?T=vW$U|I2wgPE#!X-=8uB8U5io%h=S|a+F-`VXb_dC#sVd!jQ%`SX za4)$NXhADPVLv-l?LhR~J$+LaW3U&x4DT+dvOEjNG_5ZMeKMw=&WgA(yc!kA zpVVL_vSM3ph>DssoY@W-X&!s`sTuQHzOM$e$ShO08W)3Bc~Kvys%Gt$*;_7?FswL)O~RA>1+_D=RzW5=hFKL3WVx zSV*l2F2}^KVAQZ3g2Ze2+b@Q?tBqNTyc#B{V;#!)5$FCej;SkzjK9so6v0K{own`R z_>Qxq_40G+3qg`lqjS&h``+~m{slySlGU+XP+MRb7q1|G0giEe|6k2AkY7qicU3TR zKsrmSqVw0azpve7r`0ngC4H#^=@qiu3DWp&q#D0ZJD?Gc=jAPYepcJ;59p@}jKnGR zQQc^Fo@z-O9o5nd6i&g^sM9cim2}k`{n-AR%L46qB5(DiU`wZj-zmQq!7))Iuv}yG z=g7s~{+w{W;oP;Wdl4}^=`)q8kGf~<%Tf9+C;tRT5ZN6kVA9%kEaRY@Zn9st1S zmv5IEfOUg7gjeuk-pwSlh@x7;JbCAnAi~!Jl(%Ew43&||4g|E z1ll4Ll-qt(R zZyH!4t~{Dl87H52@2?i&-_|T>H%o)`E%dFY&RfFXjeoF!pU!pcG1U-vUZu>F*AgOR zRN}-RrD&SMPt>zdWx_UmDVCI`dm3B1Y19d8txqZJR!0N6(UL2Y^(c&X1__9Z&=&#< zR)}v1N5RH`-xbJz5af4_kJewu4H;#{CQyf6q@B)%zgV`W^cSomV5xcSI(;JmiqP%h zKm98!R|%7AVOAqGA`5?BE;by+~qb=ZOE+Ec-HQ+%-`rWmlOQeX!lY*ZwF+F{udO1|ZU5zVWfFzSBB znM4 zL*ul2bOLJHKVXg&P(TW5pjFJ`GGeSX-{F1ms_LHAR)}4z&Xujk^h`Tl9ZnW2*?N*R zM~;Y#yHw7rW+}0}UF&EL)m4YpR9R_S7}tkIg@U9J8n-V#+Cg4A++5BEu)jJfkT>a9 z*DAY+PYrWV?Pjsf|Gca((3}}n)D&=Rm2PyV?#T9r?U22JF(%6(u@#d^qYuc=$!j)p z8bz5s4__!6nUz9!9a2EBf|bEtSla17z5j!__l#<4?b=3pw%dlHqSD)@3n3^aRKcwR zp#_A{At0S31f+M|Tc!6BAfYKG5FkNHLPw>AjzAzlDAGGf7ZCT!^Stl-jqjZA?-}RZ zV`QxLYmH>im3z*6&TC%Rf8xVf3;ksSmk9U1Wj5$2+NW@2$=IcJW5y`-?Ml1RlOLbf zI(Mr9WrcAS3HgA`wRQ0k#Rt_w-l=PlHvH{fT0Jju4o(kW*M|H_4m$dc1Z|okI zucJIuzaQO@86@Gl-+s*XRj)e4rR$8-9~`j;zneGjOER`4dX5$!z&!8o(M%h`s=6&- zJt_)fddC}T50h*3e4S=wC;>5^fy6y?VG{V}P)XFsr#_E6_4;t%q>2l;YC!o-{t8s0T2l%@&V}y$*`pcd$Ezh zZDY%oFjYUFIw_2Z?NOyKWZSCa*m;xdqbc!;j>AHNL0|d1gN+rmPcrU~@#CfN*HQQK zmk-WtlKQRK^dtxL428azXN}pOOADkAiXe&-J&nrDFEidl#x|M#gv*oJ3`9$D0+`bH*4BL#}FtZ3NXD>8#OXli=CvuXm~vn@$*$^I18F_FOm+3+KBf z7Yly%b!K|fKSLx<7DOq1uom5(_gV+thb>X|eqzAPwsv@C+Z+}NMALUeo=y>IL=!wn z>+**}lC{ktSV1zougtlkH0~`_EHW`hf<&@jRAk5yZTjaG&=Y30f#hr{gAw|>B&@-D z`WbhJozYOHUD(|am1|ElaJ3Bd@5gD`<-2bFeqoj>&UWdPG$RnPG9r7cD;R~m5bw+G zNvHUy9qY((oD+2q9Jlc9d6Tu$5&D{Oe7dO)z*Opp?E^85Me_Bsm+u>&5}JXLx|S#X zF$0zlUV5(&<6DZW^*YGYFg>lrU*&aV$P!w~fRg(9QA3*7>mQ$f+V!=((d@w41YZmO^>5?z za~+|{6}-p?GOmw8Pe~GybGrH$)!Dmu!Btj~=(={(szc~aRn&=1+ti850~5C2j+ zH<6jz%3!t%R#9=YPB)>}R>?942hztoZ%R42dm3?%YOLlVFe~`d6qmdY8z(J6wkO15 zpB7Wo0ZKYd``f?HAD!>nx#$O&bwuxw&u_~YK96tii}5PSwhH2AM;D7}*?P-Io8Jgy zn|jm8fUqYv(!C>fgJXlTXr1zMG7eZS&c>8IZ3=*&;*tmk*q9~i2&O83@TN#fGX`lp zeQe_JM8vVxj+_p0lq+QX>(Q*;5Kc2bSO=Q=MkJ+0lm$$7{ylX`d();vyx-O{W&i3z zlt;FDk|RB6%70LTmst0*`RS{IB6DS%ldrOb^B&t(<-W$&i0>7RIgPf<9wp28fV_4u z>sdb1^xP7fI^6OPQ`py;;4rP;vC)mY4`d3n7;eA1vI$Y2!iM2y;m$p%#&`8oaVrux zghe?nM3g0k3JS9l;a}KT*#-<`TnuRz@yjROWt#2<>Zsllzo|NF^PS|ZGCilteeBI= zsdTW=hIWABL(?3?;f0?OE>zuF7OS+eMb76)lim*=*p{Hn#r-;fOu-D`IY!n#P}0Jg zPl0a|*dbM{1mk!5DJp5?=e=y-)OP0k22>i_@9%-MOGC>q(|j76XIIC?MjH5u{woQl zTcI7wUOMSI4U@ONp5Xj`wIbheZGeD5D7)$+sDV^K21 z{R`jC`%O=0OQ*r4%?M|d{-6g&5lt+^jd|b#&NEc>44_;u*k1SM>3{KJL}^)nNbr|UIkx!o_lRb02YC;!^g>!o7j2WtCw zg(em9T-QjmRhQv99MUB-Puwe?tS)X1yAx-ghEMWO5~%pg{(r<)xBCPOTQ?HeS1pm~ zNyQ|EMYS%DmYuQs(NV1&GcjwvkDE11B`ubs{-xi{Oxib))Sk4KfvN_Ar>Sj=vGbAX zo2^IK0xzw)KguA%>4=pu)>$KpPEdb$8e5mKMrd=-X|8Zr$m2NCo0j_&eCyG)Kw8mG zEN&e$6Xg{jE1v%6rJu5l6M~Sek+eIW|h!+sDc`uTE#h`SxpqXrij!8U%lcM zVj_!1q)D}=mI`R`Vdd$-l?6KqbkgPx5pa+jCe1>VlCWT$FuQ>C##vx0^K)|EUV-Y$ zt*)RCOj24uIm|ixUzGY<&NtFKRm|xAj-C}AJ2Bf}nIm6s<6-*rwsvE_;j4P6nO02d zW)ZT1wY#2uoVaiG(a+?S^eS*f%NXIQ%z50hA7UCSUKIvT34LOY%V(s4$$l5ONsmX4OWf~f zd4YzV+p2OSgK_{io>o^}!Nvjbzio74=2v~kO+7SW4HpBHIt@*)jrrZ?SD@owiDQbT z+1gm37_#LcFg&G+En!eJz_bkYvNta9-#fzpi=ZIy#f>OX3Hym@y}=g(IpB}^dz=Vv z)ZSwU-qK2Y9%j9v=LXi*oElM~VZT{>PsW+LI8EzzHg5+nYNml?3CqxOC1|CZ^*PUv zLPsiyV@nmPl`&I2W4g)WY&~&UNv`6)SVejlDmEuKBw~q~2_R!(Nn^``5(~G*sA@ae zVL$X^$Tt>q3nQ<-8sDzL4y8XQWxcbMwyp&cpAvWBYmcVy{&LR(ZlY?QNTRQP_H?q4 zH@5a;+Y=poY#_8zQM#;QYbFyoyI!Nlsh}TbYFRz4aaOvcdby3(XX+wHs?M;&*gb`K zmtYIXt(f>+kBmSG&WqVMlCC=jns_WX*=a+Hbe3@Of-?M?&F*-s>-8_er~%)Z^pj7= zSpiXo6N~3Y?_OX0S^f{xsrzPTWG^Zz@zwhKz3uvo+T2RbVn1i~p_Gu|acJPL_VO>K z?^lS^OZ^soTAJ<^DRH7Yc`@E;GK)6vdIEFB&96@)Y#QVq`%L-y^E7M&+yZ!cyB*s& zZY)nBq44$bj4O1f%F?hK_Qk%h8nO3rzL3P+uN`ZaI8aRN!1dy=3ag>`1bjP=BkB7S z=Z})d9cp8VHcJmT6RIv5%v9QfzxY1}xHvnFbD_D#P5Hr&G5A-Hft@P*oGIV>^i7op zv~#(iQ0~2bXtR6k9j{T9zIbi+GR5PNyip;jmWX3^nUUJJeUIuHJEpW%6vsxk3=gyv zRA`h=Tg5vTCHZ=6#D_|Kr?(|}EOGYKuV&qnHL0yY+FldRn7=HzO5B}haB}4^X?cPT8EmQb1dr|wUczg`3>EK1m^;Y z?@877oo)PMk2`OjCRQ2e`y;cCQXxG}<+dkID{r<9#&R@Wf^PG2G?fjR=#NbDDX0lJ z?ui@Km(nM^<#N3giYKxL!bh8Jc#OL?_d5!LI#58_rRY`Bs}Hb2as_5TW-V7I_&A!L zujzMY%U99Kte#aP3u~U~qb7}$kz&<@FL&pobSHS7o{>cS9xo*Ox*yJ*VFqIX~8|Dtj1UHd;Ti3xsX{3DE#rK`6mKB1xn2ir z*eaXkpw2odf7Pd$vZQMG#P?<^qyUrt=A7OilBQggg>clcFkEBpkF244$kxsW$@sNW z;E@{}@vKnu7n|uO_qT|?V>(eQDE&U;R4LMRc>?CNd(y7lYCzFxr)E*u^!qy2@#iZ` z_ZyHZIX|ZWrGs+;_dlo2-Ds(gU|!6{Sq-3Y=fG%?W(v(YR^#>!6y$N;QlRWT328Mg zbFIp~+HZa1@}33f_uZlFC^3rHgeI^t^V(BK+?!%@)8h;aK5tamzyV<0`NMnPG*7tO zFhY?-cw%C4hOYs@)tI9*>i#$>3UZo+5GNF(LS_IYiKDnfbAkgc-d$Cn`;7hmk%I2g zI}Jy2X^%jK34Ak??ar*Oh@_s#WFyuMj|X|X`1TzXTXWG*uoM1pWQ;YK%YL-FXjfaXur*Yp~Ow)>CBdw!$- z&{;-}GK6P-^jPT^)n4EqrWca`F#WPtS)Q-XwqMLqaeEx%@dPD~9EQUz4QrNcXG!U^ zPd;vZM?6q2uTz#|mmN;AW=vW37`qnO6!izv1Z8c-b;jEKtum$chj@>3VUar_x>J0V ztFoNmBic^=vDB$xzv92ilYk9@XA^K3uQV<~BKMwSiLZvD3f~LqC5c{a@2gpw()S+xD*Z5HRlVv;X<1a{?|m>! zLkA7qpB^jEaZXqV2C*4ek)=k3eiPC)=`yKbkKe0@NY~8$RyFCI2dlim?W3L`TbO8S z*llL|TY{3U6zo;i%sfdY{}Oe?L}3|t`S}AFi*?1FV)-89wQumHk{RrZnp2v$#|EusQu%!ol;p~4nfIJ>d1s?$?4CRs z3`qh{{M4a(NGcrj#;@8y@cv?QcD1`4SEyBuKdT<(dGYA!HwY>BJna?B(_cfkDl&Go ztC~As&+f^%3`qHJzq8)*t#9O6mLHQQ+s9PY5JXl%fj2H}faLf1 z%9htg9m-KxA1ox}-8VckU6L0+HSmDYGFMDAFg1X;vI#iuBFC&1+kWicG&i;*()vQ# zjue!wYC(tej@;*_1fahtE5)yHP~+xatwH zpf8B5y;de6`5~0;PWP;t-c5qz#7>jA5aX=pt<(_JHp@t*{QJufA$qEUOl$1mY zmzb2Ma@0JZFGbr>WAiu=gY4`6#U5zeTVSz`+nR&_H}uK>81ny<>ox1`;H}k}=GOwZ zolCqE%;V2SgSYa)o0y=C(VUSXHB{&e-#opSC${%yPI=(-YX303^$mQ^M++NY^{dLg zO@G;LEn#E*EjF^Tri9+^H7oN)I(PGvB4jiGk7E$bx+HKPIbB%!;s_3F2@|an3_#Ie zbC(!J1m^jjED!pbRTgQtWwBw$dN!lPEO+Z7_z+GVP&ty$9o{;eA61%{d%OL-{g_hQ z=}{x~d(D1BP1~xq#o}E<$;ne9%5I^juGX|VPsDU7IXk4~-H?7H?3rp;YE;f<0%7rn z%i}5bKRU_L;vJ;%jz@!^!SXd5vYHQtzPZ*z~V&BB_${>MR5(KL(uClHhN1uU0}?RgHxqgi5hv@yqps(Nm8D)Bf4HfD#Porrh{r0=rT{jmgr39hJZUc-7S@_M`DPy}oQf<4Bv}o>i zlPEGBh)c;hH^p6pz$Zy~!I8Hq>{--}G9R?L+u~RSp09`TzP$ z3BSN`cOD#t`qW|Ik#vo6q{ZQ!CS4_q`RnN7OMvM_7x0!-+FFu5Ds8ZY5MRuiqD@8) zKS5N?xmpM<*M|B;z5*2os7&ja^@fd#s|m(M98g99=?aURi3 z-&d(H(n)>ca59#tv5`214SzbW6WD|f1bC*@&W_mx-whV`w-3OUyP{=h{s4OcDgsR2 zW2|xprt%Q6%13*-*<4K>gHIC6l?FE@!%DYSSx3l#pQw`HlAEA(dK2rUSFKt+2J`9_ zpcYWyY+`$5e`w0r<_d~m;yX6HFURcI`IeCpR5Qdd{)LO5MVAf_g4SrpbX<D)r=3Cb5Qr&~p`EG01X`@eC$}EuE7O|1Lz7a?Anc5Fd%nOzhv3Yq9 zT;uEno=>MB5k%tE4M;F7!^zbs7^~=4pm4AGxfhIo(lqaGiv_&d#|eb|_KS6C^(_fE z_`&Dw*L~xko(peZ{XEt&lrxa}2^s!QKd*@YqU3ehBLCWbHGSe}yp0K%4&Bg3J&7)&IoMc2Dl}_R4s^ zQS%?h3#Y%HkgBma&bK&3KF{SVXbGTxi%pf4^juU;#nW!LhT&gr{m~y^c{Qwrqj-j0 zY1Q4_#t8hELKD~{vgBGTd<{n)h1>)sn+bEGy;|W#z8_m^&!Ev1O<}Q^pZ)-7oxitb-Mw%5vMFg-mk!{~J%*m4M`^qVY{n+9zhsoj*_MY8vMjbr`1 z{0vUQWv5X$Yy!}^_Iv3E%tk)&(Ig=~m!f^S=bK=XRcZ)nxb~#(L*4B{TY`?Xf`1c( zZ9ZsBQn<;9n&1yh2m9Sw-%bI;@#xz zezb+l(_!r*Q)FW?zM1IMYt1Viu{|SLyPvf9zzcYzxy25dK1Tci_wWynMywZkO8MQ< z?fHOi85MOjZLK1qeZP*6nix^LQlVp7KbAC?eE4ZH+s8&Wqbr?q@V$Rc0vnqC4Ah~_ z1(CLL6h-FGrg|M{tjmt0(n1#B&Rt5H;v>ptwJMrFL4q>9GmNS@#ETz-ogbWJNU6R# z6MaPN^haA!y)6*tijQ(e|T)ltgc< z__m^A{D^U6V()L?03&ucZ(7!F$6N0WwgU(xi?Zqmq9{;^-!;frP)k(8c0VCV98Vma3=SyQJ@8u1Q@B|7j9)`)A&q`$-hUzGG=!AM z&MVH2ORLe{4DVRyVQ%-Yx8Vb1#U^hI#CtPfaT!>Vo|v{3MUxhf#E!p?+h4601zK+z zQ>QAUR5x=VbgLgYelEY0H-%2_yEnTO+)^VOBu%19a^M-+HaV-_ zpG3Rp&)5W)wwm9l*oNr{Dds-dTO>0?*+pdEg_wxM6`d&-`7{bvJyY&oN=&52WH;cO z1^v^vt?`5Yu$r8m`hI^Us{U1!84j_I@C&tHKTXcwD=k6%uNdzZzEB+QObpW-DyF*t zvz)bHzo#}-T7D!VR=ZXg2MkcG(`|x2K*Be9F(4xt zzRJ0{EOz%rrKLXUIJj3qEYl1+a3d_Bs{bD*nafGCTLHO==ScW5uk}Ou1qc8>p6=#F zD!M2esV$9feOeSgzg7;HHZcj{W{xy_F)ifub>JTM$8w|@Xs@@^lg;87U`rAIt)MW0 zB~`KGR4}ESH>EsfAOK*K!<@L2V%V+6V0HhO)MK?5y2P<82x7_zQUl-oo$OSEZ4QD< zyZ^Q>yJEAT8@K;>b@fzupXFF%ulSbwS`Qu6HY$gB00hYRd2G9qhv~?B&_H5u zE0&<9weD&ax#m6|spo&aiXvxP4dL0~Q12K~H+$V4a@`5_`zVT>W>j1x`nyZGkBCUB zR%moXzR+pD2+~TZzoGT7&&QM$_aN| zzU=bQuYf|wPcnmVFc(@4Jv(*3Mqqb;ELCi$o!p7&bXNVY;2<>~5eV95^UZ)A9P)e* znVP(LH>ux4l(mqcVf#fJJRnd!SH+T0D#P)tdBRL0dsHod;YO~=*OlyY`^sq#Uj_~C z_Z_Hu8IE0Tx)O)MciLB|y1Y-#=1{;}HKBX4;-p{ZE1d;EuubG6@8f|B$8n?)DQEht`*MjULJTVY&zUcUG}k= z>ro>4mYX-8cE>E3;Y<^YyH(#km@PwFx*Vv9kGpH;^%=)UpZcb`w=Tx6Ziz;O)?ut; zjvsoV>aHI;x$me}#28+Y#5Gw7qo-M%A&}okMo7VpW#T2VDG7$Vt}a1}AboS>eedy? z*{SVae!?FxJ#?8=lE98IdS}N-yI!E8-QY75(=qLH8eE;lN$h+wLr(b5=wX4}$-6Te z{yYa9eJTrj6Q}mh9a(Q^@4j!Jv)M^1=4ReBGMz?>9yIEz1W<<_TK7jPRw_5Y!&=q zcX${J5xEw>$Q9yQn$(1WvW}1SrTDdZINi8V=;Fi z=v`>DFcOy+@drbHUi-t~{uy4v*d``Y%Bf6E%lOUEi4~IOE#d{46l}f|YP)%SH>)Znz zg7ke1GPs$wTAsD*K>@8#*VkMP$KtwJ;zTEWdxJ}sxQjw#;3)@5q zG#Dr5U7sRAq`|82WAUe=>Rc7Xlrn0)sdVCcicCB;|AOXg=s2C#EGaqfV6hc&t%pi& z^MadKN3{0Z8Q<==NstW4JXHy|rUUxR*rj}Z3AX-`Kbsw^i(x+6EfLRF*@pi5x23Nr z&}Ga4S8I%~4H)sieK3-*jAaGlrqykdFrszog~yM3{$ZLZ4_g3*{T`c(AkCqF6jdnj|$% z1=VSEan0}^F&Xl=ows3?K;HqB*@MW)A@IG1Q4<<%6tv~a)tJx5Be`+j>)IsloYr*J z<-YOwB2s!~Y*=@-|7hFtzUON2t`FCoTG5(Y)*x?lq^q!43ja-y(B@t*n#f}(-BY}t zI%Di_3I7ih{Zz4ikJuP>B&+o+vmdpL*mHC>e>X9oa_2uLX8KL3E`paXNhr~1yN@3g zTuxa~>>E7TRRp~n(cDV4vBC&Faf%s2?ib3f`F8qGUm6yyYPJte5v;MFwsgT)q`-=+ zjAfUv>?$&tt0RW84LQu>YdnI;ks^f|ixHJ3Cfj3bruX|DLl}L%9<`eKBFWoR>jj?~ z&b0=8Xwa1y4LcJv5qbo}ZZ${;&}!1FPfr zg>E<9wG`2fGi|?bBZNyKQhPoW1}d#BaZz$3>~a|I;L7*j zZHW>ce71Q(Y7)*xX-gk~#hwdMbe;F)Nq0q)KRCeEm+}8e2qMdxh)p_u(DLSbbGLUFoAm z6RUq&h>Lx5wMBWrSsy(n!P8J_rPElUdTyV77wG(Jg<#gnYxH?+1CV#3P4Em%sZsB$ z-AXeoSs*H~vC*#ewYwUoC%W#(_!hA4FWE#7N+vBGtPU-=2wbnIF!_L}JV`VU#k@}6 zjU^4bH^^%J>@wmIVuVjdQu1eSp|rnDvW9#7OgOfaoT?F?R>C^!*7Ej%=UwU(MfGP1 zP(C2=ITYRhdMz4lv{$z8GQwX^ED5Jrfj`58JEb0QL<~f& zK9S-0_3_Yr>(522n{vYt@Ak~=+05IQZcdjEHS;X@asX?ytF*zU z(o7gRm`n0wx}OxHshDKc{cAbN>0{IWa$LOD#KoW3_e@Ne`=U&`KlRBpy5WuIYMLve z^OBse`#WlEmaHtL3ljGba?%rWT~1^2|H98rENSZh$lB z_pnFr4U^aRS2QBXSuw&-&_A5g8O`l;ff!W)$Q(4V(nWi?bFp${N_?^0hpk&tn078^ z0Oy!4^*lL_pCgD|EIR;c=PHXQF$`{^5*0hC(Ua|;+j6&md(Gct*AcS2%`EfrwIid; z#X2^3hFCo}t^J}R^bgbIp}>MX16*Ay_8|Q40geYJzUd7h5Lq?Fgl4;VLK=ndtV;`m ztMPTE)rnhr%yh|96c9hQ+ZnVn1MiTyB{(Jsm&YUvEw{bHGM~|5etf-jOJM7w2RaQ( zeRiTLFQ>5->J1iVt4!2VBZTl%gt1GSngh4QLo8Iqck7?F=6>?Mf5X~?XM5W^P33o2 zQApG9iI21R7l3VnSUCk7u^$;Eb=S0(tAt#e2Ba3j#!Vj)f23kLYurFyrEgt$EX2hZczYWY+@g`^_E z`v>y>{u}%sOPRFz57S5U%R}F$+-I2!Khx-!tG!_vnA#dB_ldN831LozP+>;0=ej%8 zyl#Jj)<2_8-RM};tL9B((@PV1&7~@io4GaT#QhIb6hh(=dAcZ#b)L4=UFoG+whX31 zPH$?D(?%8Fnxx2(`aSAi+jv(i^q#m1T$lXD*zvC#OhSU&<&ztNx_VOPcLpnw>b+L) zw#Q&X2G6FFjDCBpdv=^CBZ$#0gS|;M7Hvip3X@s}m!2D`h$(brzna?lqpP-d-Ow?C z>#4iP(!{b~Ys!%OJ;TqmMnsglZsty7KC}Lm3vu-ZclLx5-?jhw^^As&iSfR>xJ=jk z20jdf;3#?IX|PqUhp_Q>nV31n+js)rS;zNK+kM;(g%Bw^dr`BL#%Sn7mha&h4V||H z=rxYQ?69Nq(N`&8FQ?Ko!p{RHJQB!UJ zN=V~S6YX(fn-kgV7~!c7pRBQ9Qd}|H0HP9*-HT;3bZ%L;77T2A+hmNg5~f?m$#}uQkrdA)f_{oPpr}0=0l!S3laH zg~C8QcME<|`hVC#c(;&vxP*%fS+>d%b|5=&bC}FA+L1t$o4f7re&Td@5x^3*(%5i} z({6lVS^+LfbgbDUyD~~Jv`G8lfP1#L=*ve_6?!*86V= zDWBACh@e6fMh+pbx+$#;wq&uG-9#ivfa%MurUIpiYj zBYigV;nq+4lZ_`|bEx_O3sSew>ePR(eYFu?@u$x|IZ9M*U0ps)f_=g;fBkgl^Z)+n zBD)tamVL=tvqm~bsg8B8@(GQU-A(&xV>(UuDM{=y!TGJUjQTwSUdOA%+KL_Ri-cGsL%r>+);@iMT|A|*% z88*}0*4#b+Uo`D?v%VIm0M(E_dHA*?@zT1PfNbc3;~I!r}eA}D?0 z9x!$BCiQ_KY-%iW`%5#0g^7Io*lYri@p?+qq8v~Hx99NL0?N{hHY-;ZE~aWsOU?YN-Z=DPY(i}1vU;Rq*c-y_xf2Bz<(Ks&A69m1lM|EbNNsFmo}@1r0Wc9 zjLksgY8p0x`2&r+oVkm%b2U!$fjnoPupx6|V%1x#T;GX^e-#P0@g*-Nw(iFmYKN_g zsMpzAjR&uWf12IXoT@&L-WlU)>ijabg2$r|Abb&!>m-V>+F*U2XCk@ZHU~DWy#CNOKUUwG5hMohSvB1>_y3SuutqgykQNPm_ zSX06ooMGV-n;&Q`QQK!gq1>oL=&A%qe5JHBNR`nLjOak(o%SC1`y*MPUdOlA>LfQb zA%yLmq<4Uvrm4y6$W6Ablz>2r1jVnu4Oy&v9VO15|KhdXD&GDj=zHJh#IZ%wG@-l4 zaSPTEp(mRQ?N$633m%qm#evz&xqT8pJi_gApAa|&~- z3^}-uP!+Depd*G;2TFW>1Ylq&fcwZn)!T6dh&U-^-3=ykg?v`hV>S2f-Gl4)(quR* zXUZG~DuxW;H-|xk`uo(SA%pa>R3WiLhb*$%TZbRBY|$ni?>irzF^5`n6;wX0`z@3I zJuv~Q2fa>`(3(~ns}ic7((muNnc{cref>1j9L|1Qd->hva_P$&ady^a;<< zTXubDjb3Qz7Z%`S`P#iA`NJ(O8OAFp(;!3Gu^KOYLE8~i0?s?eTUni{iyYzvYb|hk z-9@!E5VV4&MnC%Qvet)zs*r1n^2xJaEcg|NA?K2eUiJ<4qCZBl-}uT=x1Eom<1Zgu znnu|{OZ;Qi?vCoO9Kb-L&&7%`TZ}o5z8hoF%LsrKaSYySA9qV6CdHPam&`rrKrBLI z_DQK#{pbW!1NOq<`=cnM3D3#6Qt#-X2yqs_2F-2v=#foBXBXx1_M&%(uGr+Mu^4A% z-q<)co~`Q8m8Z#0+H22}BkJ|GrF4b^hA+iz?^~5sEoE$|L^cRCOSrAM1S>a&)<7;v zT7D+(OJMr&Q|Qu_MTLuum)5@9WwBjTF@+{R0dO%)OeRnFa!5e{G=~y`S#9Rk{r=&7 zV9R()?a7_93!Y0h&$=aLv+74J73?F)o!h*6*FbVS)t{@m8{S1aSPedvndiS%5HjjM zaLrgHiD_Ga+nsXf$^DmcBa@z^Peo;^DtW1dzMF%NOO6;zLn9782S?J{I5w~h(_{t> zX+Mq!Kck~olEQ{T>ymOdDP9va5QoXbm}wKA`iAwLAX&nzgZ4zsyq=lyI_z@f>E(*5 z^*ROlAHz<{X2!3Im)KK@MBBYVc#xyLaBEGb;B2Ndf#oEZrI;o4g^^dQN~blr!_=aZ zYevN@8i2VcS~`13Wz=UOu_Dv!_9YSWS{)Eb0`InR6ST(Mw8j#Z6&|SyE65D`+E!^+ zV^cX&X&St@95UBN^r?r@9xa5PP+F&f%geS=xX$gxZ|yn_LmD^XE5eY zq`vOWMFkISLJkp`hM;R3DgtI?cll*kaJk0gl@XQmw!bdo^Ah`&gW3WEK72x&mu}V9 zuvDc7B9_f1H6ecQ^)Wi|R99lwjtR>DqySkfTb+QRbh_y~D({s=FQsi}Pad?E(xxDwVyv9e-j> z*8MtZCs#%=O5xc7YL0Bi99n|SOJ+~B?ecQ@V7wO3KjdGAeQf1w`VvUb_yZT}PxqDV z$rx?rT+$;AfRtE>Es?m7PFv1g z`|9ZdF}h~Xt7~5HQ=tTB6;r6rZPT94-L&kV$0ZZ_4ZXD0&qcPo5M4q7n5iL9;4fd^me1S-KnEvqkGO75{{Ir(Vsk z-O-7TzQ?U|*2r>fObU5_oE$k-hC!fNl}M1L{-kJZ zhJ?BIBLlX#S1stz8%4%^q&K0G-sS5}Y34ypUyaW(gp4jv(_Q-Dci$kJf{?Ly*? zDPLN&+cbChrsZ_&qSq3nqqy5Vh8V-=hLYy6Lb|6XI`fA(6&EGIB$6}E$3HDwA&)Y@ zS`Op?Zj^ikY0W5@hd9thGcYZxRe(cvux3Zt$T(%)57PKy$|=Ng#);e~X*@>EgqoPH z|5E-;yD9oAWjkSvT{kMQyeSE zX6!@XO@j%jDeprML+=LJx!YhbEY&l)pw75qATu_aq7JKVmD*COu7)RIc|W=>m=!xY zRlm!;?(MYy1nsp#7ZH#Slc5%!-H;CFwpeG2_k&Kh3&CAO#_Zg8JVQ2ew=E?l$?}^) z`dbf+{`+v&(Gg1j$Y-9iXL;=#7TAbQCQYODqo{-RY<{>F}{ztbP(Y+9X>z zd!RLdho~E_7@8ZNeL@-4Z`-!$tP?iU{IW6W!lRoyGDi4n$08Y4fo90sP&R+8g;o< z0$@uVWg(I^-23qh6itiMV*Fk#9w8B2&R}3JI8NwLa0@`9Rawz@>T>1XS6X6dx?SIu zm4_Ta6^k;2(9rs+DJ!}cGYW-=5N?T#)B?pvihzIEF0g z5estSSh>=1;&_AcSxIzEv05p&S!p0rM=kPbGJ{Ag!N*)&xM9GS`s=a-Ce@Glv6~DV z1s%yuyHu5YH9PSjSN^LasXx8d!&@jAUUz;^LcJKT1M*eS^Wy$8tT}91qaIPgVi~;` z(W|lrwY+f#v5(a9JSP~+V8G?3YBxj|O=;RQgPc>xHU4;C`H|&%!)q`ZRH!f2sKPg; zp=lvNJmJ}3QvywQFWOqbGbab^- z(~F{0(;33ELP7_uthaODYud~1x%A|tmC=v%04mv%k0p#JQzHOiYLGE* zq&6v?J0%Zpm)2|9Sa?(TJmWsts3U{>v8iJjiMnU~0$cFfOajv%5;C^X(Bi`eB?>*1 zZS$78wW28o{#SP@kMW??8__bhcwa#AJ-`xHy9jLLo8N8B5_apu4V{$mRt3Sj1kB;H zm%+RNHBy>E;~J+ZC;E;|%H1O#O3O{p{=HKDX&VL4DC59-K(!HVvM>?iwk98YD& zoL`BBvjZ{eAEp3+YTz8LYIcJGt@g)}NBBA{hD;tnrHUzk+uhZete$z!>Y(XNS?UgI zXYfZj7h!WP^FL~6IShxkPQL2QTaNbPo5Hp`)U=&$Yy!k$vHzB!#vefBiB3jZ9gE7l zCR(Wy>#OB?DhM~2k&$Xjg(GY4NqGYSY2D?W>ezmq9|D7Za(p#q)8~EvQH(yQXQBLE znmA_}+--HXM=>4UZG7`1inhFvAvY;JZ?-B723Ey~Jmj26jx|nFG|}7gi7wboKI4qhqEuAgLA@PV zPtxZQbF6fx`f7IkqYKYO#^~;_m4AE0%fvS`KpX76yI-L)RZw-V{4{~Uk_avqnD9~< z1nIb*puSD4mQ-_^@?a{fp_$sDO!`0>Rf8EOj((mxybUe93BQ(MU5@)-`%e_%J+T+o z{Iz^aOgz93zPX8T&#U6yFI#wS5`$#3zo+{KX-cccD17T;6!Cgzzqj(A2tSJ%`C{L=@2Hp~%0^_^Opiga#8A53o zpfkB6Wv@Ufmh_PSi@5iUY9rgWh28CTCKzmTY7=NMngp@ZqMc4i7tsc_vLM?^~X#Vr|OGgWZs>y>tX!ex1X)7E&?Ru9n9BRX6zz5^r z0vku=>!E|=C(wpm&)Iz(>YhU8ksOV8C)8^}9x>)ZfC58)pdASo{Js`5LH%64ISJuc(-ov^x_Ixt_`gbXnVsyur8=d0S4t zx4~LZ%no(K$~N~HM-0add%ISPUcKclBRt6HsLmK2YM?~Jz)9>QBhVsHkx=-m(CUn? zss5%ogj^EDg!3~0SP*7=JHJ2t6^X{pgEN-B)Hk>zF~P%`k6(nJTJ2+Rwm=+8#KdbK zZR7Ry*&Wb`mI``;k?iYM=JLR^V}hdNJ$ue~&$_m}d(3pKFUnjpVg`uNHMNwDOAX%gPD?9IAn9_+4nA9%DG4 zQ1GW1^^B|c+$oSpx8;w-nJzLM$L4tNd4_3v~Fner+^3@jxgWC9@qoGpw5^7P$ z2u1aqffFv3!@|e;{HXnz`FPV&Z9;NIz;vs3QMCCR2#a(KX>)421h@FJQXrZR3JZ2 zf9TQL=khw5UpQ&YD_ODkA3QbMf9gUHrlp;AlCQ2hvdSu?Rl2LL1(cakh(AvL_= z-do1cFGzpW(eR`m!tzFjhNeYF&CbS;p@E%K57Cnt@4Z9pdYskwG56}IA-1DXOs7xM z@Ss51Mv*+NcDaXXi*n;Fc4ltPLsFGO^uZS0JWWq5aTHA^fB_GkbCd-P~)+fldok%W!fGxg5 z0T5F>Deh>Pf4pporebjtTfg1mr2Pm%sHO%U7n(hEKOZfq1JpqB<_q!w1T})g1-Xy( zdN10p4E42nLgo3A)nXnGf{Tixp#U`6)O6AeS28c(_XEm4$d2uj>z;p8<2IB~-f>U4 zha1a>8O(6vLWkhEf!+a+jorre;A$GZ9TrCE&drkP&Wq{!#H#$#zJ8MO%1X;QFh3z@ z9x~==^W-D7iI<&XE3M`bxX76^ei*dEXSY(An^y=m86BxM7J@x0&~b8=?oTdoz?=Rl zBx>Nw*Z91Q*x9D@+EluUUs*CZUbgVKfG%oTBF48#iX4?(q8w3gpno|+B-Ey;kviZG zT`ol22+9O&uaTrQH&QA7R9c2~?&>W5dvR4Hm00HH{D@ajU-gVvqf5*TCdKMN;8)p$ zs8+EBcgoO3%S$P#lzLN@aGVrYZM(4^J1uZ&l(8CIX)sg0U)8I0=OT#jE!}o=)#LVW zmr-voG|k_xVzM{QhJRa$q;Sd)ybT+^D*BR|b9PG_eC>ZK7X2hhFNh7V^4IubJ=2F? zO~G+izgLS%I8zH>xz_WB7UL!JBcMh>hxJzAfCcBs=G!O)dsgpx26O90M zjxe*_ID{-T(6vbJajRVH*ApnwznXy*t?y9>6{1mj=3zN1r04(JGLS<>^Rxf+xRgbT zHffL4CJ3HK5jl~P$L92C@7ffb3soWl_^NgLdUtP*c&N|Vn^_jiaaO=h2D(}yc|9FV zC{!1RrnYol_6@elmiEn^gBSw9m zGaoL#@do6c{1sa2@3<->Kt{3IO~C{pS&6sM`ki*x*6=FY-z+FObX6fjlYWPM%4YL*-aX!v z@%}SNn^4$bflVm)a=i19ew2%4gnRSH{=bTK-CHKkQRn#GVszeAwKU!}2zwl_JnS{a zg|rC-H0y)L!LbD?<~*y*8(ydEKd*K5li0a1st1c0F{)FkHK#RN zaP)|KTG{5&x-3iYS^5TuxMlV%ZhEX&W->AMHn{&Gw&>NPl`ZX{{CNH#BBU(;an{m@ zM>fwo2KaF4N7LwCnqjd-X5?=(V#ZUhV+xiBD)v)mNdLNskUkU>@hMPJCfgT)N`(75~2XwjA#>q8jNm&R{E{|J65{jfR2EY)b$PB}W~^EY#L zJtu}JSKx4@wQsI5D3{}Ak2~&a_M>bDH~ZzQfTVadoWUQ-=E>*C-P zqnYT#k(GN!(Y`o^zZQ}e6RzpC?UG)8<-Ee^EEjOZ-1gpO-&JXqF0m4RPipCf>uh22 zcM}Z_XZS+4q*zsaW7M$2gvW&I*DYhPuVvM}tXuKu&eL2}67LsukbG>>mqL5uTE3mE zE+Yz|ZYPYGj02Bp){Pf4$MCoLRJXZn6#Uv)tJ6237LGCt(yaP+XZDjJN;BA-7$ZB@ z|BWHQ-thFzGFqH(I{S(#`(n1*=rRc#RV!NGmO3zdw}J+*iMNaC zthdSM?`<{=kPJuP9`yv;Kh}awsmxZU`Ua*I_mX_vlmJW>0oP$%)PXsgZgK~%N>!j`_DVPnsm6zj=727yBF zhC6Le`+bss)I9w2p9ape88lk}l#Y_07-;&34dqG-ARE-|C&RW_Snzu$PMsGE_LV$5 z&(gT=M)()md3(wlb8I6TD}#{h;FYP83{=5VV8q;Y&v8?)0Oj8jMXR+X=$@o-fX~v( zF(4DDfp(yVwg*z&z6X;p0~MHK7xu|%n(fIqMXkf)DvgMPKv96TbkveI)yTH}KxZFb zD{IsZw7{>R1M0LdD2k3(m$X09i4Nk-EXrMq(O+!O2k%Uwix+D4cB_l**&?huG390N z#>_LKZ`^T37k2ST9azEH>)syLZnaaN3xu%9DZCT5I!a;`&d+yTWYUM5t#y%-!Q#bm zB>;|gZgtGu_{B2R7h5gDUF~4Ojn^a$;gCTovTgzSkPwWN7hMyQd1$FcTBhksMo-N& zW8^(=R_Zj#1er6KYrY!1nWHvFAvKmhS}C~)UfArda15n{0~zX})uR>?j-!~ImeI~5 zZFp4+&p56c)gM=bhU)ZyT?0%EBT#Jm*)q@#w$yjEbX2s~k z((7tLZCj~Cxk(psgKnQCmx?Nsk~b^ZHB*>RE8d|?%^2)*X7Tcp^R;$*#6h_Am_dHA ziHv3~A-ObSbX{TDZz}XyY3ra1g;4`axQn~Ez~DJ~k5HdOC*XG|rP$h!sB?bPdVc>y z9Q_Mz-Z(lYZf+JyZijdex(~krE#?q@*rBN zUpkcQvmQmaOHhQIon{=3P9%zZE_UeyKg#a^@$J(xdGBJDsZFG#DMqS`uG$LRDXOWk-f?7Tb(`8UODz)OxZGzL z>~1`t^`gu*+%P;GWA20K-#c}?bJOi}ji~W1q8l796Ez&cq?mpCT^2+@eu%S5HiWc1 z?VqrL@^-Kj4o+Tk2~iETk`%TD;CtW^egJYnrAdp~iK)Wa@RlSh-#TDnXs&Se zu2tqA-S-@nysM;lhrV&i$XO62np!~7Za!mdZjp1N{+S-;#4iM0X+<%sj2N|!F5ax& z7Vd)=YBulg4L%bd+%F^;3kq^0BfTO?eqhYS;q9UBQ!eymrqKdJ%V(Vj7QN%}FG?THUsrU$l>2vpC5flW5afV*_rb3A&ni znE$a=;RqmGPw)pnZo)8N))2!yp~@N;S(guq5{4r>a^={K3+B_uBMx21lOBSSDwa3_zyi! z>$sQUd_*$KE4SC(;nHu6FqiA+Q~a;S$k2#r$G+TPWSzm%$XvdcS@HF>^)}0 zTSysX3I~YppBffhS*;|j{JHWzS!PrB^_YmY`n|(8^$c&{&KWdGrw2~uO*}}F8X|u( z-Xi;Blk`yiq3+YHu;fvAMD&(E({8p@0&a@Wyr*EK-@wyVC30^!Z`_;(dqu1sY8n(Zmo_6-cElet{ zou|brLc;j7+H{t7N9$#x)k+<7OoN>sa0naj0UnR9Nr_=|YOEB`xigvBB)=3?S{;=e zhLuP=C;Z-QG&IdgJS>^P4K%Ihgn#X&Ti$tYh6-*VPspsoX3>pDf_sTSoWo>r_5hR znspK~(W=I;i^x^ujwFjT6*g)Pj$DTyU1Z_aS8xKNrq8URmbotTTY;`s`&6X}gG*8+ zzL$)Ktc^783w%?ah&UIKy+u31cm#cQ9%`=sg7kX=`#|z?r}K?2k#eT-P!bN> zMJ$wtlQ`4Xzy4}tz(GRaLgCfF-pvT+-twv z+L<~&52Y+ogmt|#u-5wXwaaBRfBe%u?AVXZH9IFg$!YLswT3=g&V6|;<&xqqvw2bT zJ(9d<6!ht$E&!1MM9o6sI(7b@F>gvKVrNqIrG6D!@A4sY%~5R^3Ho@(^nyCc*z8$g zr$??#YBslGv6hbfzRc|OA0GE)0%Nmv-4OEG8FioRUD9&}+^lJnq;x9?x!@fa2HG(I z4+jGf9}pm`U4n}nnLs6o2|I>Jc87l*%f0V<;zcv30T3gOW2Q%jVtr9M#G{g=82b|a zWu->dyOk}RxlqkFbwPsEh`I*4^&V~riHCRJVL{HBTgx&egpVvf4 z?AKqEgmspD-<7LMf*F}@;O7{E8PWokFTx`=P2VqQZtMq4+b*zL$Ks=LqLniZ^l$+d za5-*XKq6tX$RX{s+9JUY72Q)atcv;Mo*yBH^QeM)qSFVgijRasHeHYrp$`}B^ zu$s?xbe>O;m+Sj^O*rVzna!~QOM!QHBg~4JGM@T382I=0>r9tN(Ig7zgNGLm_cz2o zs^skq|2^JWcjIvniQ6b_$llp7Ao^)-zNs!X*ebDvpfKh`up#Bd28)@?ejaI6=*rOq znyE7e!*NnZqsGmZ4=MA$!FmG*l9)bp)zr%*P4Tts6K!290}izZ{01=^$nnN~a6}A1 zV>q-#_Z449_d9Dy1Spz_fx9rjBswi~M?YG=|BY_{z>1f**;CfEqi5ITk zG|cWJxVvhE_{&1G{Y>eUZ}d6Mu+Y{+Gfh79cn z$hXe$Wd0WJ!-K z)Q}QzFXAlqmO1eLaq&yJcZ;G)VQGV%9*@`ou0>aGEh1tak~(Hwen?-(YH^%!I4tj2 z2%!LgSi?-(4~ z+Vgs!_fY|d2ORb65eyVI;*sPvtFPMAU}y`iodc_TmQ74Km4jhLYmZksj~WlEDowP` zpiYg^5Sx`(Uff>fc0hM8c|`xWCe82N|L6@ynxQnIo0a30KXejqdb2Z$r`>gtor)A= zuNh&a?MPtN71o*WgfBdL4SJaLNQ;lRvop%)&4ln4V@cGe=PIlOG2w-O6?t$lD!r$| z8WAvyGu5UVAh4zL8msewP8J}PETzIDdG-;LPWRyZBXg6YK;!E|&TC@QdhxP2&MxM& zLdq{<2%H@_3N0F?kgisURruSqSNg)a%w98JZ$)3o$Tg199xOKkSew%QM~bNL>CF@S#LfzT#=Jv zCGCE5_OJvsv0}%nX18xpEgc(W(=Ln2FYu@HQzh5DfptenJ55~ z6mgQ;Afncl~k1Jo@DS&K0Dyxe72n9*c^`Y=@}5v95kA z#Ri@97G32%gZ5>=MGac7S>>^~q&L))4_#xfG=pY*s;7KWy}r%izJ|li*GHrQnJUv0 z_{)e~pyF__Yf#p#DX_ro^i5;n{!nk#LS5Z^Xg$;S30o_scc8N~uIm%)9@CP;9i<`L z@L`{she--m+m5dXk)j5p7@5`n2JxNc4?F3|CvUh830cNIp)YSF_#=8`G7TLPy7n+n zI=x`Dta`b5C1Jp5^wB=ocEQr`YlgW71_ScU1Nap zv8L)n39OOcQMI04SJ()6OjhhG6}b2Rr%C=Z0Ol{JD(4cUK)n=1Osj83$nlH^RYi+P zj=sWvUyXe-S%)5KlxVNbd-&KC!o@Se4!7hy)Ib{6C3SDXK-0B->mXxO4P?f$GfdZ0 z1s9~7SUc}mR0Nv1kDM7*rYWMQpBoeF*7YRZw~J@-Cv=#6pp${F9hi1|ZOU5Y z7koS-hbd{D^+E*MP24EUlv z_~*6X`jn(Pi^nJ`o7R&jEnUI!>A&xA-QHG=rP|dSYhY{G%2-)nUE3NR?vJnasKI4Axx%H32EE zF$S1&@ID;YYsUn1E|?Yz#;-l#-TF<9!d#HLvzCO&sRZVD6rdI{qr@MsQ)FUrBD zdH6Zm0u8M>j9f(Fj_oBS?^)RE7W6VDMgS}y_6-0f+SFWgZamSZC{I@|JixZp-zcX57XvbaC%@>52W+ zw!J{z+5<*qXdVok>6LJ(tq zyn^e6=!|v~Vw?Ukf1oW7^G5xcd;vRW;Y7qV|3Lv82+2Hnp}ifV9cJa8|K5J6eABo_ z>VlT7q9GGs{o&T$9e`Y@I-^LBIYy|+0*sR>$cVLK$(Msy3>mL!{?XL;YXPD=jg|(+(js0&R0&`;dL^Q01Pbi|K)F4+IWV*Wz%LR9(YT_V=~AYYO27d) ztrlJE#Sxb_A7zu<2Gyba#fQf7;RgZ$%?o4;nMK4~b6@lV!WNP6?@G#6eAm-TgxItd zT9DOKAOfpm2}p~k#%ebbJ*e_s@Mi-<@kxcT zM9wJcOqXM-jbFb7wD{8#K9xS06x9o{rmhH0&fkcS$=@pHyXlg5J>Q)a&u_oUQw zs{!6SFr9C9u#Fjk#Z7%i2nA@97--sJG}dJhfYngma(x}Kg!BBNZj5`juv_`#zX!x$ zPL*2dA53*R6bzn!N>`#sN#rWMH362d&V5B;Sr2G1I+ z-CKZON6J~7eEsBtpVuN(08vg7g`-;_4}y6TIace$^S|4_M!VA)6%`fMrQS&aW*zov zmp)%_HBHJ}4m91-o^}kGRf9Avz3DnU4n94-a_i)heOx(OTdi`~EJq+YpgpewKh^wy z!2UlP4Y2)q*DyY>CGwH_hTzGj0!2Ok%jB~?E^BtTS?|}2Tj>`I9-2a)@|G7ruPGZJ zI)p;Lq{sB=$=G~ng;RfNK7OI5x(*`p1EJi0k4(*#wc~xgo*K3;{L2+{wM66BfHXNY zk8DUZe8Sp4uMH*9#l^U)nJqMUU(951`oex_nuGlfnQga7Q9U|8ugyRD%`P1hjY)^V z%xhu#Ld%Lulk-HCj6eUS)oZ)*mf*GXv6reoEh-`NaTcJ{xP7U0W5?jrY{Kcaat%yY zXk&`X2(aj!(w~EpZKihahR{3PX}B7rR7^cE-Z$$ z68IJA>21EL^ti^o9nj}JrNu&Qzb@tG9_HMOC@PY@U2|>vh%N+Wi6#LoqKia(h`M(;b>~Ly+ zc@~eYeUhtXn>`#TC05wbn(b1>a{gQP)#J03dC#@KjTlGscv)5?V}4))Sn&>y8W?)8 z@u-Tgis|yUHr@R*N+2`Z4uBNZLVUjJc<|5G|L2wp|9v+Pm11J}4P$2@UX!0k*xw$!=B`D_>B{KaKt=8?t_-DB;#uUzA8S9qLdr*phLo!^-FuI!NVWxdBesN5)O6v z38OPViG+%~XU@+2!Qx5r?WA;ethau!QF*DFdHE&*qcG}@==Z`;p%Gm|aIY3adS!+| z%#XMV3C?IUc?&G1Dy9~b!h>iK48_^f`0M9%IxN(TVoepi*PI`^Rt6}b)QrNp;lao3 z@S2BlW@#Lo_MUufp)pCN2&&#h&|x{v2kZ0=T1K!(3~iIGn7Lwf9SlbDM1MhKmH~~m z&5p|x@!j(D_VF?N$YgUV)xWd4&1%!8CCOQj+K;+}faHjnEJT*C3BY+iEtc517+zu; zpX<0XEL917ys0(Kc|+6XHu-(Ypa0!&|Fe77A8s_R=2evsan4VIDvbkl%xv@nmt2%| zf1`+Phd0>HzokDlc4KPKy6cO3^I+01vm+{XJ5X`ytkhReBD|dcY)APMrgWl5W3vG* zBvj2YX0u%9O4qE>NH_zmj^&WOhBnI2mxRBMzj6+ypVOgIY{qRVo>d?cd?ycF)00n< z|4xM98AF;yyNo8|m%V4@iF6g^h~6=a3T4T>OqA>+=$C`W?uU#WW zkqC`O$7l*%k24FYScf$ZeDkgVqqiBmORSQBB7-K+_&?Rjt{|9HWLM&1AqTbIjWKpR zI76{Ps+xaT=jN?Bn`!bV?WN=q-(+cGoKohF6>E3}teA(51gCQ9Q|fek)E+qBun$`` z^m(-S`z6EUSc^J|-5baE4&>mhr=g{${(;A;Lm}-Ip(vQw6_%aGl1;}g`~WqW=H(4Qt9{L2krFW9oHRX$F_n(-~|USHbiih zXi(l0TTYbQS=fO^i;XwuzqwUi4HPp?q28?b-uIn8UvsYJnDB`7nXFo$M2=xpJvXeI zEk*EdzlI1@4w3!ZDeP5#IHf1B!G;6aWGdnB6qe$HrH$I2tYcbzYTtkBzyBfS_ZpAr ztJ@hSZ_`65l8=t^fAq^(T@4)tTq(Z3Z2Gk=yrIvI>uXW-i~Z#!lGWEY)0_9l&)HP% z*aBTMM_!bZsn&h1@vReu$-P4$VClEj9_mjXzcl1-n)#WFsR_nghTlLr>KTnas@csu z_ZwuuD@m2#V~Ay*-06|f5I_VJZa%5){kSVKSbiA4UC<$go*iTdCU{2g^%47FI$c=}gq zaE9@xtqJi~6IZ--R)sF(I<+cWZLP6!>d7?009LhtKx~X3)z(%gp_`Ml3hIM5Rp?z$ zx=G*{S`BjsPlyKF_11nV5aVqnm$cNGq{YaEbDJIsaEg=@I;g5v)U@w=?5p8lbUX$9 z2RXzI2Fu@O0PpW4ZY3%i}wW@1v; zA2RNe%JyaWmHWJ6C?|Y^m8h=O-9<;2WSSz>zCKNj4&wFUB_p+S7I z)|Igi^ES6QdnA5nCDL(16Ca~{z#xvYYs6InqCy3L0FeQc))?({{VqpMoJ|K_cK4Bq zYi(+eBVe2{LPXcDQCIl2O=}X#RqA=Er$l`DZgW(JGQqCkR~&en37Mjo#)D6Hwm9OR z^Z@CUI7P?>-8$vR2QyWy~Uy>FJhkq(s}6|HFBO zVa2Frz#BBQG1I|ONh%Dc=Tqoh)*T{tpZL8;_4`bo*%4OjCgZ>LtR^W`L~z$M5F_h+ds)t{z0iC?7lxgZ> zHBRob;*0pp4S0Bv?q$p8#afOdUC$5S3u9fAXC*)SgVB+ti67Z-T0||Bgikc9Tc_u2 z9l}V-x4s^X-Ho)CmLxDXEB<_xC9hH;)oKZn?Ts+gq?f~o@w^)I);bg0txkj~f!R`9DfAw)=YP`wmoQ@;N zR!S~rBTtI9^?Qj0=b(&i$xMS^Z%~~M89Z=~8VnfXHN!nR>FwX?fGF*YKN>wIew9fJ zm1+EIO@hc?R!uWHC7katomR(Sw9cT+!yB{&;h7N&;ompYKOynVP7Y~EY?!z{h;iTS zxMySOP-9l|o%J>Inl_X4Rnc+x5{|iOvtQ86T2I{!i4z7dn0Ov6uEi><`Ige+ScgB9 zaHN2KP>Qr$H)Lprdv@yupq_ZZ>|}R)d4^34@m^Pg0S$R6MMzPQ3jHZF_IcRj0FV5B zd&}uhwNHNN3)7(2!Q8V=oVPvuQo7r3Yf9*sQV=iLenh zL+kPNPiiVNtL2GRN7ztIzS%VtdNTFc$gE-!z{79<0DHxeAG_<-Qc7bEJHj>l z@)I0i)>#JJ5zP#p=-mwD&G+#MrA6xu9xT)@YY^GwRvBTwN`{#mfjlAy zpEPaSciOOnuO@CX;v_o^eK8IkLz$nqsM8Lg=qf8iR`(p|jnbpaMm^~EnzUwk{4}(d zmlPS=s)Z0m8-gBaQ0J%%UJvs;xFNP@wD`{A0LXm zhb&prcm&YIh?Nc}(>c#g*b|NNG>crn_jMg;s($F^EdRXrLSJbX{UVG+M^`w~8S*)U z>%)!>X@^jH>s631J#OSxpwOpbtH;iTf-^79OSWWtPn_*yWc60&!einLZHi;~g)1P2 zm2Vy+`2W#KobsM?=B-JuUI{5ZzK?7c^ImnsF|uoUfQ*M6bmI5o!*gPa0y|8it%7Bv z16=)OZ~?$LL=KxMc~YydS(-XG$RXAl^WHKqUMJ+vGQpXrwTw9I3y&6F!oA$g8Q*p2 z%VIK7K}`65DJ^tR!$n`EF%iG0AVdPEANi(2f$1NSZl3Y6hwafJ3snQ9{Z(-tH}E2wM~jF*Ivxe zYui+^kzaZeoVhM(PqC=K4m{r;iT}K|+Whm{L;B3|f-4a$>)X=`N(J8^aKphydag|* zMe6Io?`rh9-|_S9^SfVXE(LyGYXINT=iv0)`NxG@Dqg>ZCNW1hvG{R!^I7*tcAG?` zK+0dnGJ&4sUycXbYfc!*-v{ZOA#9}u)xc3hd56SNUzi>F=$B@fb^1}$0g?pc;nZSI zu!N~ppxN-4daX)s7V6EG1kJfXr*2xl4Nt+2c>ls>|0@T3?0V~!K-r6*SP826=gl% zsK>6>tqpTVvnX00v%&8k#xjzI1EHWdiCYs{NA|t_!LAC2Ta~~pt4Qh9;qFaPjr5X7 z+0xyAXWL(xIda}I`uL6aV$MdHcilEhPrr;;|1fVJo1ku7vAgPT=X!&@yhBjyc*Fhm z=QWJic30{GMhfkr#eDtN8{5LeiPO&|_jalN^*q$>^K2J%aulu%S?bxVUeCX> zT&gegH})@l2hW3VL_P?}Xnp#Z>6@Ho!RdVA`SA9)yW+ZUU0n=U#z^c}-$~}Pezqe6 znb*r`#pc`^jjl4<%GZjTR4xSG@}|wqM$x&SvtL1c>8UGQK5ioxl0uffcVWM*&7h zZiO#%r`#!2C!mPJ6D?RcB!|q4_jZ9pDyOVO;?-+K+?qG9L#r&Xgdc$|ZfGc&H`3R; z7h+S`f!9!f=%FiCAQIMQE>s|;Yf*>eC$ww?O%r_SEM9k%e@bcXZR`d+;V@L6FI$5~ z=F4_W)|Y@Cw~>w!BXlM>^=Cdwy-6d1x}YqjU-iQ;*tepz%7a{QPi1#NcZAkI@#@l? zgg9P;DP@1dfT8&M_kjSM((MsDTb9bm3Kx{F(Qv5&hw-rTw*a3Nt!geK>y3=8z|H#QN0Ev&s1%ebZ8s)CCVcf-HgluE?vb-GDv-^~N0a_%b%$ivM zSWz66atBn&NY!;j1K}~_4hNtKn?{Tu`(6Kjy{gt-&_?pMXzRYivzLjraudERt}oh< zD+X5v0*{)GP0V?fA84OlJF5S*0c>S^+-xp6X8E>6H@al6wm1frf3P!bG6Vz1Rn{hs z^cUEb#`@2*%tu3bw>WBMp=Zl4<^msE8#4T+IGtZI>+OM@5iwfG5F!}q#QM>E7{Gi> zkALc&&0_s-eb}33d%ACOi*u`>1Cz7p?sL$S-tbhsbG{8K-Bav2)ZuR?hG4IauI1~D z&z1dgJ7rQc@U5?|t&bfc>A;>}u-KJq;v;*FPLW?z+F@}7D+1~hl+g+0aX{tp1?!na z^F^3WWlXu*D^ykA$ISubOYjW!KS=4`;nCVgOv<~R2YN{xUPWm+SiieCP(<&Z`kO2k z;>J^_KTEb_mf3;s6W_ch#a%X3j=4vDhxE@O4&Fq$j|VklrjI)+MItOs7ao9%G3eb^ zi{29laA%>c(TMyGM@qpIs>ksu%JzzA z^Ckp#9&dTIW8&+y9JT7r9nc@J1EaPgsSYlHgY6InY;C?>`yz3QUfEmOw8V8~#MLFp z-y65#^<{m8g1|<=-v!a{! z->sQ=`LBcf|C9ayy9CMq_7;Y>0CK{k8Gg`i4$W#e{7uF24HVXGFgETgjYXqS_j za;>!%^Ia{8b?9SF`=Z5-wx_hZM=I#mQ~x9ttl1=o*QosgvOi3iA9(gBc$<)jd*b12wljx=gN0`ek#q z;E#XX_y56zzeM=jL=IWyt={ukowCFSBZS2Tl)V5;e3>WjJ5nB!6tXkN30kOlSxtMgOB7ar?>mvKV-RXyw6Gnj4@ zQwfd_uunG3ueAv3IE9z93vd;-c|>HhSm@%)6}nmFT-4vskoz@p@LL1LvJs>i) zCY01&iA!g#Ym$9)?vc6^9zUh(a@ZM=JUCLS?Z$WKAW_XXa`CL~!uWmqI3tmT* z4d>vaC!JWfRZ+ow42t;FK^2r&A;}L5ge7g*IUeH})fuSaeMJhwKD@ZY1n3}@M3bd$ zJ~pU|Li9bR%essO{-7*e=sXKvIGmtNJbReCB_>n8D#p_8-WY{<{FQ+{{}y2$xlm(x z{ymzfetmU)i)pw&2VBBz%k>iM(cEwYVx|9N)n>7&&fF7O;|8Dbp7d)!K)^eECmkk_ zfeOd+(oQ)fomxwAGkBZWQ6NVDWVCi05%6UUso%(kVU8UvK~${`qw8vo6%!rWs{Wl@ z{`y4m`IX4pc6pllVUfh#49Rx?S-IQS(zm5}wxEHw%j_tXOU<(fi13&T^}l{zGh3d? zWWD#Hp>HCnJ-Aby>^2+8Cws5zePG3 zdKo$~jGLL7;VMBMkwT;=*#Rlz0r#AVSyuWvT1N4ntI(p?Q0Mj6MZCxoWL&(ew41k4 zn~1(w>v`Z9>WJa&K!Rg6`BMM{zw2>?xgy1g z5(%@y+2&6nwERnsF#}|XUQZYEM>g)HB7iF`c40=N1e^jxPCX4XRJBG@$xDJ#RhQ;K zCI!@YctCX(N}4gdO%e_w7R@Zy9wsJ2$A3&DwO7=ZVfJ8CcTEU9cIHUtSTE`2e5uiV z$?Ay>JWMywr)W^u#k(`?_?ZE_(1G6GSZz7LA-!U>D?PRc>OR;KbC_)mt3SAzFq!O4 z$7?=lv1x7m&PD#9j87$v{>w;jPobl{H8tt6Zj4O#=Z__Vp!ocN4iR}uM2a>Pn|%kO zi)TU=d)Z2fRtt4A>K&nyn>37pY&J*L5o5|&FRQP^i{CpO>Qw~Ak^`+0Kcn<4S7+0D zq5Fu@xX66$rqw=+Ro598U4ZDEPAq@0;lj^r30a~a=fv-ya78v~&&4c%yD*&ldF_M0 ztl#AE)4MAx2O9Ft(Bo~r>XF7LQ-1Int7AB21~uW+Z?j$+TWZ!A3*SG>F zrB?>?>!h7~G_rv59^QKnU+pr@TQq4DghFuG&jYLmK+;TWtZfj50!sf*sle195odYo z@8ME(IiZVDGI=HXG85gP`#3>o9n)nNPTr33b!JsvAca|G;-T?iZU4s<;UovIM?vWn zMwKKf9ilSfhgWK}SHho^uJ^UlU5p=d%Exy}+8@5lVg?@-0I(M02*mX0jJ*E_+_Jcu z2Eao#0ouMvI{8pw^+sR3tXzS;hci%>!@BpAV8vs4NYQhJq=98W;(PPlT*i7vo>pd? zS&lJkTj3{{ebSyXs0b9)k`h$Z=+ZxWs#~|T9Dmq~=)TLANQ0^|Y_rzeG6S;l+68Im z=6pI7xDotl1=cKh&`(8{1ugOswYohx9KuKJcPD%*9NKy8J=P*zEQ+250%guXQbw`J z!VzTGuFU9Bdeo|Hs8GjP(BZE?uPqkA)*K3a^$A#SniLPOMstatwOuRJlxqvK@37c5 zynN_IUuLkoTI>;Lc*%oWO?#Ig>))@S(|teQzmM)uJaxm%fd;H-rHo4y1%!HhG#I?% zEZKx~qh-C^C^+|2hfbHZsGij(om|y{cS-O$7cJZkYGF1t6a}c#9gP_YTf!p{i{=kS zMtf>Cx>!4{r_`eS7#duKz2`^A&8a8X=&`e}@`};=mJaU(8iS67rGow!aqk(`Afig#Ig>1?{}ZG-w)?Geay^K3Quu# zw=zF^di6G2-+nHUgCEHu9p!E?EHyeCwClKff_%{2sW06GX)5ZovUZ4)b>!29ieOwCBjyyUH#~co7v~*e! zvb{>{k_%L%?8zeN5tI?&yDl%09UoFxNv67&+`fmZU#J&G%5DUjE%%viY=&=~Z05SK zkL0>g{A_cwGg&HP*lb%19Z~71yEBxCLZRz~Jg>at(NQcdjjGveCxY7n6;L}CJebk^ z?loZb()W8X5xN_${5ara{RhprvG<#?ewBdpP4DSlZxlV1mHMwY#tV0N^d?`ks2g;R zWHkDQb*@2T0slzL$vdiX{c{11z#>fXl^QPwxiUGnV=kMp^~_^pMeO#A!Y~ixD)LHI zpEtq~ZD*$0R-bfvoXWmTshyC$1Ixi1oARhBcP|C4tgyB`l+36wGHg*!aLL{9zpASK zpKr=pM~#|=FZKaGGz!*g++XT#Wqp_XLR!sDPpx>J!pVLY%~9S4-gE42wAkImUz_z) z+=6Vc%-JDtKn7HXzP*G(_}jJ7t%pvK3tH*vCDDXK0zY7vD5T*IU5pj_`lPfx6_aA> z)Hyy58dz+IYu8oekc#e=J4Oxli%{H=6%PYPnDYox#=gb z7)O>040o#1x6QpZ@;x<%mY)Zr-Pak6w=I|w+;VZA(CZm@NUE{#92rSa8(@42PU{CpLRiiiOboL=RtrQfmCzTD_qZ>+L7nfAWfRAb5W z&&7VPoye)zw)EJ0sJk&dc8h{9Nc zSqa~&3ZzyR$u7~8wi9u-VoT9H9T)FxJ}%6ok-}1xj|D|iA9j_@?wwZ9c86AdjqeJ6 zRgapG;kBH1)l|znL_4i2Hxy0AlK_4rI}FuL47Sw+8y<*kbG$YIT&FDD&^I1AI95AW zSOnVaH@4hV8}H183Op6np?3|W8^Z{C&;i-zkKXow`S@Uwlxb-VXE4J}Fc2-H> zGS>kf0jhMX`Yv-3*4{Q?9Z{7Y0R92*ocbk8#PFS$HdYh=Il{k!KXwZ&#_J=QQHmV` z#RaFfWf*vr5hVF%ikYhFeS?P-@G7eU3hED9dYwbwVUqy%1|vJ-YWVwH$Dg`2Iwl)- z?yEkx9q~QoEjg{ozr}Y4XMf+AwO`GqVakkB5``|UZT`jn5^{eU<;8NiN9N&(_rtUXhHUUb6Px z3c2W>fUAj6eW{Gxh|or~eqrLZIt8y&L_Md$YB;GOd>kzCirmVW@{scPQ5GeB;TyHP zEr#Y84-!`52acjnIql%2s2o)}O%054R!hB+d{}ps`pchEcS5V@|2}hmMr}}#oE0Wy zh;_tQ-404k^i~@Xkw5W>Y#*wH@~xu`Kvc=v+v7$UQ?qnGSqO5%s{;x#X}x)^-pApA zKU%V=9DOx=CmOq1l5Y;OsT?ND62~+JZLTL+$(x0$@(nMFX!|$+F%ot7dj%2L;IOKC z!=i#cJ`hD@IaP$XAjUWJ75?k9`d_wnPFdr=eJ4ZKvku}j&#Gy9q4|eqXwv6Cy{B{i z!}s=N_O}S%jhladEE2xJQU3ePzUXN!qlEU10kPmKy!#{n!A}Y66Y>j>m^G2XfPd8+ zcNiVmP93fZR6#b-4}VhHS0Sp#7j91orfa_(>}^ctjeG_3Wlrd(`F>V(dG6?WB5}J- zhY6nxyrZVFka~F4@i`wrg!jJF^7K(_SxC#*HNeG<95@-nfm_m!+kF z)c7x#;+7IqRfNh4lRwrwk)WP%P~7p7ha5#@r1J^%)4xBCUlud2Ngk(Aw!}Mfe+>>P z=zpmgy{w8I8`jDr=XRcUf4Y^an#|nw8*<)Ri8$~|(O^o`wsDc$lCijVVo<3I zYvzOI|BpqvKV1Sj@$2``Bsu0SwlPagH>;N`Q}dX?nS_Do0_T?U6T5f26Be@HHOwh& zd>5|M)QxP#AFlByn4tSs62 zp^q0-FD~>LJ^B6zoY-5E!9CC;y$?Vk&llFpBreh1-^>HW)M5-nysqXoxCFryj_lkv z@L%K~V>i;fm391IDLHZR&DHEotdp{tt<-WfytG=tA%R)x`0Ct48;) z`urc)Rx<)Rk|u9Wmd5)T+d2|2yt?#_3$dg1rgR-ems@8fc@cs%O?GBASbmyMGT$%| z#SZSp5tre1kh_+sAt1{f8giJR{bF*pKWF8>gS@D!=!Xn3WP4WEU)xvBmIh3>whrp@ z-#r$Y{v+T5p(iZoh9)C5-%n8B@^{$@g|XvFY9?O$w&(YF%Wwok(R(p|@B2CBSlKZD zD@B8M^{s31F*Df*#?JGIx|qxFdr-Q!7 zGO1@5r;V$-JLG+pE@Ldu=Ik^mB47b~^=7CG4S@Ygq{yo5M_5`~@yIDqQu5y&Wo9O< ztgNiBuV2Ry*WxIoMoeH;;~g@&(e^UO7;c2i+lJ?A|K)#KK*VqoYU`GS$?ekyEucab zs$YMvUsL-rfKDu5nMTI@aRQtoBjvm@z`z{zvw+$Mc_JUiwPJ)147ODiGlyJ-*e_=L z+T?|)#K|tHvN1AMh#FiIJi@qUGy|UPVD$OuyKvqG)VZ$Ex4!W-Tr)Re-7lCt61(6@ zGpfET%>FCYT)~9WiMLe3=r#}ImDGgax-O=^3?pt{uEPM5Iq5By6^$PFYkB zU{G(}PLH+i1Zq9D3qRbQC`J2on`r=h)z|5*ryDLZ>j4=kR^4n^+-LQN?d^xDg8zx zfUmHR9W0hMqCqWmpucW{9kvshw@{ZZ1C8A}+j{%qhwe`WrZ1e96$hfs_WROGb>v&B z!^B<;;a|xNuJ#U;)XQ=BW0)7?_jW`-)W%Jwh?mO1hek2WAT(Udeq?Hf3K1+lAN+P)1epL%y-b& za`hXz5K&+8`cvrO7W@|LpRPa<@r@#z3`4K#^*^F^;l?I)YbCbL+} z(A~T2AsLZIBbvpBhYCnxoJ3RHNj9DdS<8~nEuCBbG1L(rJ)Bls5L3|O%eyY!u66rb zwID0LX^qwwZy4O`4Zp60Jmpz#Ijw5M-SwS!3?ow zPPEmQ4jGSii&XQuOLB+XBZ;cJK9#;en|5aR!VS^vgayz|hbn@d%-QTQ;lO7fc6z$ptM(X@5hi|djZE(hkpfCwQ!J7$$#ommo%m6CmVV_w+iaAK3N|705snbK|5Be|%t*m`XYDCq2 zXJQ+n@>Ct%3%y}(qtU$!Ut3JAksE#)`Q^{I@n#BcR@Ct~(lZE)^mfIq-fS@vnS~O4 zIX(?*ke(!{{&l^`tJEoY^zSofy5f(`{0{Vj)dsgad~ilBLoRZQZR6f1pP05rCsuEP z9_}*+U^JMau8S>k{j%z)YviZbDj2&LCnR&Sf`IK1F^=Kz!N<2-_yPWE+FSeAfEByX zzG}+T8dX#YVD`Co15#xn7&Qf13mxZl?(uw;$My+GPf1bJUiat*x}kJ?S?6yxr0F$7SBIW$9OJp^eRFfikJ;S3YefASZrLOd@3S^pHQto*b(b zH+hLSwOM#K%b#EW0Dte*axSJwhXZ&!8#RR=-rN4*JKk~qL3Lz081#+WUtZxjvZI8S zp6!x+(>@L*s5fkQXBZu07rD{hT~0lC;3V?CP@UcUreW1_JRjSyo2ck)NM%)Hf+S{F zSsL4kiR>c$kun*NEuX=@z^1QjEpI&)54~F8^GJWE9O{HLo~bEemO%hbiY04 zHF*|I>WRVsJq;dTcl4p}3DnW}98wdv zE-&Pd5L2M?;O~UYzFyZ|Lo5O;UjkKiDnR>DhtW zwpAkou~P8m*w4MA3RK(-sULc?9vs{5he~y>n8SLmxqBW0>?X>uK_m$(n366|UJ;nR>lQ__ghzgjW-+PJVs%%+#F5f2mNfwl-84`KdbbQ5oBRpKIQaD{RSHfwfsC*%^V8KlL&_VEhol@bx zt5JfpH-VhCmQoE7A!_jB*`+Sk#vR7hMkO1TJ}ujSEEYv?UgFAAsZ*+G$K)5EH*YwNXR>3dYy=?eWN}|m1dyhxN;{Ki?S0qjD~`{1z%wHV{)R=+mjHc zT^hekCk0*9~Vtyl4I6p zo}h;no%b>I;LK46hN{WwKID6Ddis8fn@UqtBq3l%J9w|l#+k8Ox#yJilw3?ieR!U( z?fH7({d3LB122|w?H?*{ujD?}uA22iHhrv7JZrXfEH~pbNx1*pWSeIla0Xd-KYIUB zZ@!|C!7AgkVTtC1JO;p@{UWi4S%f^{3%2tBiO9pg-E&FHsHutDWN7@U;i} zETxj`tJcW6%qyOxHs0>{bex-9Fk67o^T|u*anhrYeXkG(Tg9cZ*`=4v?&5&rV= zr|Q=qFvJQsYoUR}V?WO95ydk#gW~SYl;0AF)&?JMH6l^=tLmxQQ%~-n(U=}Mt{u=I zwN|@WUv6JmLp0p%2>j|qM-7W_0A~98sHx)fz)`xb_3cLSOK&Xr{G=>!l&s)jthzz; zUwgCd_jWq{fx>N=A!Oko$bN)g9WZQFvj-+YpG>fTrD(AD70cRA-9v zj&y4P;)}NcBNbC`zvegsWRGi(T-n?I_m!-%_dD@tl-|UWQlMw6>*)~eLhGlCR`F<{xXy=Sa=jG(8X%pb7-C;JtXdR=PFXL_%0=+pMsU$d<=1^;<*}oYY2#C(em6AXt;4F3z5;b+u`c9tvN$(8t=*z@<9Y3Hjx`%)dNSH?^B zxdqo3SotfPay#HCmlR{HkoGTowcp#Khj&Wjpy?`cxm^h7nTsB07-m3eEZuLB5|Hv>kGT`fiDe^$BH{1M>bp!#In_ z3s>Ax3hn+>UoAKqlHo@Uk^ZX~{LmE_B=9*|R6s=qw=t2i_Ih}Sao&Q+?!TiH0>|S~ zs*|HTubN}}%I#dru)?)|sB!Y#SrSsJ?QN5kz0t~YVj6R@#7=%XA!1+O{teul*}bjs zRMCdv5*aO7nlJnWYdcB4RfKsyV8QTd8(oJ%oxvl061YY5XDk@fZhB+ECr+pO%BTIG z@}b_8R&1mT%q8T$g-cd;v3}Jk$1`o(sXgg2^pb&mC{J&aoVhinJQ}uoZ|m7bGgF~9 zdT#PWB@UGYZE&ohzQ>@g?T}+;Z#DO4Zh!uLc3mP*)4d#hi`zO@h496$vnxbK(~-V! zC09}O4%IdezKKc(YHS1%D!UE_R-1&9JQ({cV@M=}-<|yvBJIn2^U6YzySE1R0s;duACLNj+awH`Z=rI$Wk=Z`di= zIDHAy`Bh2p(mPj^K)R;wZ94ooQ1XjXG&P1c!+Es@aCQb%@`Bf;D_Ed+texcc#OXgh zA=QrsHUSn@B~~8CJ>ED->%s&lDKX;gxRw{U0+|Ie>wJ=UQlsno{zy-sxUGdb;>n7!ofo_xV@v=g(J+rTQgtHX7V zT)Z-LdQ%5XV+7YTZ$079hE6i?ylarDh&1B*aHzsKqTtOs*RtdnqDx$N+5w*(>Sdbo zM4yAZPd_rqNeRFWfjjLHY>9fGd`A&CJ zKV1|3nL~B`zt24AD;%9vacvOCE~nK`sHI;uM`rv$C*>!J~5D$mnY{WQ>4yhgPBJ^haU#zn1CNlI+e zb3m4f3 zzNa8DXqSREC;4mM%&9hUIb-!-&BkGZG=~R|j@i<&6+~ay?U9qPe3nHgdir9GHcBI! zCT-U|7FHYPjR%cz0&6xs)(vr2zZn1HUCHCQ;O8uW7p`fi|cA|;8bz8f>V<+ZO zE};$FT_OVACUaKZW?3tx=tZ;IKEAwmRO1od$S=vRe#YFVBilIpoCmk|14SLHnrY(d zNcRC@$f#XUrUD6_98=1JX;RAD3O-nieRtSbt*g>ZYy8K|yvv=Luda&Q8E*{h2&vBY z4(^(OW*MavL>7Y)|FlQCvLG(<15jCbKV?zcgD|XogGxToLWFo}h<`cvbV_!2%AMTxCo)g$Qe0b5M5!pB%KII7$0+^`sf|dDVYrvow&wU4*wm)Yf<> z_}h$M)~`yD)=cUOqr`B0HZ!I#1t#AGj*0qWA1HdJe>oqlbfEJ@!`FT4t^r6Vq`PcF zvIeW$ww;(#B-Wev_B6Ivqyk$z39vv|;S?$cTY=-*l5lY*y|0^R)4VIk92dhP?b7?8@M5B#_lgUySJ&X0O@oKF7@m}3BZw8q4@mozLcf4g3y$58d z>W%^HbE!Mmm|yy1g{^-h$zLu`!;>iE!{>_! zC7ciVOZ83JJIv);5@Uf_mMyVHE$0&DWola|-Y3pG9AlPC3Y}zyRRG)2o2xJ%qYn(1 zuvkwbg73L4c|y2`3CqyMEK%9-C;S%RpO>MYgkF%v^p0WCR^Ir`94VkTRbZx3zH3Cs z@Li&*SG1$&TBkQ0!J%$;1_a%hFVB$ZrUvQ4heZ<>RksSXmT}YuW!7&aKBexc=Uczv zcbN^%zf67!WcI>DZA2r|@FiZOQ>uP*iYj_)DT21n;C7Rw5>lCmSqJ^bX%|?mI&AgQ3c_bUHdMp0yhsT)Ra}TF&BpL(Z%iC#CLuUD_vbO?5%1o|W zkh$}Ns2x!7y*^;#q>)|s3gGh^T#(wCgXD%`soD)(Gv3YfQ;G|Pzz@3JMA^J{*hf6> zYWGNAcRkM4D)8pFy9{-Y)hTPqVV7S6zTS=Hs!(RvrXe&xd#nG`*v>jsWz1>%;#E6w zlI>L52cW8={6yLofXt;TksWk{dDF3gi`%{THljoK>Xeyx&z-xk$7~_uaDkhg(`6-y=h?P%NNjsPu?c=FMTVyhGN0hFsWCPXup-~So)vLj!UWnP6*}d%?M{WlQyr`_C{DrHMp|M{CT3=p`;xd93o6aTmX%Es~Ftcdz zERds)q1kaYkfo_q%8t>&y3*&za<35%-U$AbOgD? zJf5@OaSJ9$u|RuoF$J6{Nur=xdbNy`_ZDe$05 zZlb~@(P_;q})udT`1 z(o<-o)-Pg6;s2NL`hV0u|0k{g?}%4d&TinJ{T1WzEZ5=c&(5RQ$)-z{ht08TA>)Im zE{pN%|8!Yg-3V;?E5`5dGr11_KRXWsKwsr`{fqB+g?z)le|BQ_^6xXDEqvc4@#`@lK<7?AsU*~2E^va;9EPHxxMa1rl7ep{Ci%TlPrryVxFPrbNf(4p=br*^b zvSL718eO)TL?0Ec?Bc!Q)=Ch<_v;b@;YhLBF_Oq55~xATonv=@ou@jsdh^xN1w%&x zAi{&(^F+hNO1B5)N!J&QvmgJ`J{5FsnnX6n`G|B$Pe_osR_H2{c})oY!cFgQ5p5YF zqA#~XdXW7yDB{x5ba~nB(%>s2L$ z-`D!4>aAZrcAn8>06S9MTJmg8CN`(5b+pd14%7FI@!!)=Ei09m_CcjDLw?LXTj&xU zdmOxKv=A({5CMoD_7(fRik~M6t_7;w-KYQQ4C=iVH* zzP^yem4DU=Hvc*#$?^!fXl!@tTZu(XAGz*|Waq83T8tVQYfp0ylx&SB_+FfHgQ|OC zdS#&Q6Ar&**`913uU_j5+>CIPA@Ae&Ca~l2VZWy0ybCtQiNWtml-FJ< z`nNzaD)S4Y7ZOxG{iJ?sLp^%g#!?M)rK@nvSopx4FRz0l2_4^-t9N4?2PSvsPJLYW zt9J$hUQ!(?NW;Qq^I@JLB3V#&HQsf!-UuG;tzraE+`<6>0Of65D8C5ZN-K2d(|^1j z(v&^uv15x}7zl!PRG5+lrN1q58tdA*g)$er$_p_^?!sA<&uDJI>65pTz< z3~A(!Sj0$XToFE*p9FB}HVY3rI+3@R0;1)p&1UvIN=UN~;nP7Hk(IREoDiCVfh zaDKP(=5lU?L!(T+tcrGXGY$VWQm3BXKNz*gd+x7q-~MvARP*U4Q31C}!cJ;G{W=|D z*%9Gy;yzO=I_cUI%r3&D8i8kW8VH{c!=@c}L&**Pk&wKvWyDCKgU!MErnSCsL5fu_ z7(z)_VV!q@{L3->e}}^RFT4EDi?9}_6>9^z-E^+@xi-XH&1 zt67Vfa+px|7A=0~K>j`8JlCIIfZuE#Kb$AW)+oAAqwMT0jEpT!+O?Bq8MX0BsjeJQ zQUK}-!$qo*Z7p@OuT3gL`_2B80HFLTPs0_`K_N(`44-6g4t~GuL;Cu_apZzbv_iIg zOjFIMsc6h>U2BCe)ERokJI~T!DK^DLtqaBTjW5&Q&C?dTJoIQ?u_n0W>&K>#KN#E> zV}KdeiWOkrm5CJ%5}G&;mne_G1gVCPh${=1OuP zxi$|jFKQKV29Lp`_5pj05R*gAX-AZ8VXd)Ss-8o!pO*Gqc&R@JhIIW>o)>np?-3BGy6<=8)&2osc%4jP>4mLbL8CFn znCpYXdJs_6$XdB)%{4}DFkp^Nilq$Ty#d?v4!K`n-(3%zh@86OJY6=q={Z!A7wp_h z%>rQejyFZhJ2~3c;3rD0+-RPPPlaL+l3HKnArB%%>Y&xKS+g9socec0Q;1PLAJf*39CjnVynEb-ND?qDN!EW~r2HmHN4g z27|wjbnZ%4EnLD;1rDb%@Q8sjJn;SNS)9-4+h!T>iJM0T99AXTb)qgMJ-YVtY&i`H zFOwu?2aol^g|9U{F01GP-<5ZHy|P!pM*Rgd3)Z!IVMaDb61S1!YriJ$^eWDC}fBNL5ahSV9b$*?_1r)T3C+ zAhf?=sqq&77sHpzYH59J8&P|_2i7gE%GWxw_zUOk@B-)NjjMtOY0B=^t6P^~xSn$J zy=;2hT!~@tZ)E*qxL<4-S8aczXXQ=?{1FOm$5Re?+PRFJ%)Yucz-zE-H!p`ne6bs@ zjCjj@nM!^o&_>npR!0>pG!nmqObCkNY#Gq?ntuWY< zOF!<^zXFg9V;O_&{K+I*LGA&j##Y72E3v!FBSjssMMy$rC~uvrHRUu#@J6ggsE1da z=0b{K5#nPn`&3QZCo-lkWek|+h1EXq3(@2a#$BZZl2NxqSIR!zf;rp*`6rDoq+~|g zW~L@S?BghaZ%m{x?kuU*GYiX=1hXm#>=9bQ`kXNvG}_>udzn!?J}SKI2~ZhT?keb| zq`Wxw{j+jhc@f)99Zc>_6IQt|V3EB>hq<5AzOXm0$bDLW!y;;6b_^4NLLSErEJ9Pxu2vy{Ct{Z)e! z35F@l_1+IDFQn=>({%)aaHVCOkQiu(uzz%_3hhT8TF%H)NO6L~Qz~X_P6r&Del78M z0fn1Yf4)l;6S)&O5r0k60g@yj>9kGC+%Gcrl8lxpD3-eO&?F_T_;swT$rmL*QhB;r zT&$?t7tI0O>@sflh*qk*gDsU~^^dG-t7|&iC8j_Hg@r|sCgZLDhF!NQn?1#@GpL*3 zApiH#V++!yrw7SECUriFCJ97OF#VjpXY%|&aZa1yZ0?^Nt?|n6<(GElfpM<^ZPTPn zNkV@X<(pf}UgDS|GPS)yxtAMw-W|8Vx#-g}qUV15STA&uB3|Fe&%D4GV&(>yL=nMx z+Bp+m*};pt#MDOtQFGVyld76#2czuxTt#*DZ_x_g)FBemG*(42J*_vBUZl%!lFZ-k@E?livY|q?as$A5 zo`eI1VM`v%yM`~zH)N-ipcC#D&~c8o-Kpzx5X>P<5LZ|tc#DtQrHeeJW*x@T-9siz z#sKifF^Fayph+{dl*3!0EkF}~#mA)i_LuSFnmf6*>>5GsK-DJQ`2MDj&l-Dl@7vx9 zU8Gmbm{(EO0R>^gq8-Hrg<$}Nlk+6%on9@a{hdx`LC`qWNVMaM$2S7$F{+7eY-wlq z)lcN)0x%3BX~R?-YatmKt*!+REC$+viabXZAklvNX^vd-+iL7^pTel2HhG8yL`$Ae zf9$@}LL2&E<74h<_T{%?`8VGFRrh+JxFDVNm8^ABo#7v}VXY>EgYyfI0SP?Qk6>KkT71wv!wwoO;>II?!wK0r{hQfwg zv~a$%+Q9`MXIBiw-P-@W6v?tt5R*4MN8x>NBfO<4*$Me4tWcdn@rQbhGgY=v4UCK=@!pMPa^SmUpn|NwDJa5Z*!%X2lrNoj z@@ongK2l9xtK;3+%$AxB%d}6F(Yy>GIAqiT1axTn$a=H$k&)eS^Xt4PvYhC2lU@&0 zo+?5&tc*y-Tw%{6q@tJGZV>fk&{BwdZRy~_fsfx0x7Hk5c>&HM*lJVXu+b)7CC+)<+@=M|+n|v1`HqSj-de4h zoYhym_8GZ3Qq5D6U{V>zGYF+6)=^x4DlF;6*>n}pHFuU@?%vv)pYP(W`x5Kp+io^v zLpAjf+Zf*$uQ7VcW-i|A@xALVi%9)^zV5)UO+=SZ+rrbP7>TA{?$Y)dNBZL$mT@_> zZ9=~`7Zio&1V*#_M_8cRNfO4~Znn@*?b(^X&)gc_`)MJkH!fBv`r{Oy@b?)Jr?cO| z{(qnOz0#Wt_4k=p%cDJ`XWJt_e?a?+Jo=yEuK(2eQS`Vw`j=zp*541Zi+XzR>R&hp z^>B26@VpOtOisqJ>)lP7ROtl#yja)vrNsvL>b`R}J+LBGIx6Y7&%!J#$+&r3QxVXE z@x%O9A`)x!z|KB~Xl7Yvo55F>ol>l{KZvop&%frk7WQsD$j5FTPEwTL2obgLGGC|G z5Uzh?=E)Tg+xIzDgwt5#6LkZzB5yc0A|aMV+rRDx!c2on=?-m`=DB>H<%Fcc$u&=l z7`w0vkdMScLt!b{kCWrhnF=e-hFGg?TwAoNS+L{B?F$v;U4&KUGBD-_tkc=oS)D#&5h~Q6Cr3z? z&RrUiAg-To);=n( z$m$H-sQoG!*00x1>CX$jbQE+7rh>Nk-VnC5E8CQ$5i=knORnwB+lW8Q;Vxt1CH1hZ ztnDA=pT8MeJ{~+9v%XPeT7ckAm0B9JHnr2S;?P?=aCU{yS8mfgbR)R!#}=CCE@-IJ zK``i%<_m;2!QNnH-CbRpbjrW>eUD7;p*&ju(2L&5AyKy!!y37qu(4IEVcYwX1yS?Z=3#6gJ<-^%Q zxa@z*Pv)f9+W~MhV|qgd>M}2!syqS$-)BGim_GTKm*`QbX_0f9e^b8c_LxY1!I8+ZyYY(*(f@3$#^bz;ojID#8SO z92M>G+_6>e=HX_P1*2?b?&}$O53?R)pWKgvnQfmg2&jx7rM8IDb8a;UEc$RWonB67 z>_qj(V52H##ybYMB#;(Ef3*|I_mH&vse zuc*>{W2G2C3V+oLwj^oZjE4t5f?4Up(J*KVQTT_+->x-gXd3H z)!>Y6Nftgt$jH&IiE6Owt}UO35KX8u>X$Ee?efG}a^>tiO)uOFv9qnPZBUX^xN8;o zee0UzE!T>==0@NCMT0#{p3MjniI`!nr$MfYQCffbpgtwsqGG?otx*5cN=Csav_Sf3 zmlo;A2XMGZJr8X>>+droz^K~NVl|YN!aigrajVn~UPBi~Q{+7ejoy|4&sjyEVM_Az zF^m%kOldo2PagCI8~>;co;SNbkRKRjNAuDild=TA&G$QRooBu6G=EZ(;i$@5eo|+3 z!{?tH=8({|k*~S*(v>iY%A6h`UiH#`jgjT-zPv?})MNs!QiU(?KnWbMt@mJONM61w z=#x|6xyT50`QCfYVQaUi*JQ8O-^OkK zrI7&P*-;grjj~i->jiauBAcR%i&JHxe*CQ99lrJVne^mmR!+4`MyzAgV7X_1pRuo8 zxHM3Lz4219JhG?dNBylr7$=_H=;MaXTF7x&c9HJ;7>Yezwk2+lv%fNB-q`i)AL~*f zA;T_FfZCBSN1$We4s*m%n7(0puh}*tumemdPGUsW01t@p`H_R2 zz0p#gzH0d?F;C3qffNFPTS2|{p3WRGQl`X>D{9OZ!R$ksl@}U#2S=6n9RPB-lkxo* zsxdA(?2$@@l0%V(TkrIaN?i%(e`9wg75u;2U77!j-4zeL>a^Mkdq3NC@*U0Jx<(ow zNGS&JlH+d`{BtSGIveq4vOv8e!jZpAR+2e&KQ8Qs$rrbj^yR1ZLpHW_2x;N)QD>od z>3zQqm?!*ZRzuY1K8Znq=48%MU}8cF7$)Q_P1q(C6(zdSR_J#YEv9#EZnl5>{gu{Y zWSQ_3ZroF)4)_Uvcj{!|29sdId6vAw&QybF3&h5B>u62znnZVA9I8rJnXUURrHC?Vy44ZcAAEmf(~krd$2iQd*Sto zQePfGGf`4Shtj&Vg$Gfu#^8+)ZVrRGObxL#OG()TE3=^#&C8~mmr^#nm1<|wYIAI; z-XuS(!JUkrS-tiQ9ZNOBjT1^P>YH=ex~iO5hhc`(o3-i8_C2F^31L#%Xe}#X8^9wP zJz$B1L;u7RMSG0Z^)tr+xKcfb+Pj+F%Z`CLM$b^v>aQjOz>V?Z9!;7K%JjFpkZ%`a zf3K1^XI*~ZOs;&^TPyhNCTz%jzw<<7U)Y*@zK$v@?8wpEsok(_08SuM+)`(#peB_> zfR=9iZ}9aJLSteu2+nQO)1BS009()6cB4)8DgO4~*n97&CbxIrcdex^3xW$3kg8Ip zO9@rrr!?tO1B4NJcZ&p*UnF6ZF&#r}XE^esQ&OR|S)8ZB&-?XY* z_El^7T9jo4gNIf`?G@n)neegAYssN&S}FcG6EbkOGG-_27m`nHD!DbZrJ-7+MAz2R zu=dWTUoiAw@~nK$Zu6}PYu$|}L=%=#<^wz3U2R1Rb;>Sx&$!+;DO9G&^~&y$(lu2D zyVgAE2PJ3qA4`FzZWeX3A@<2#UK|fbd!=6%XGPb$3?JD&k4pA1!}rRKY1|k6qzZE8 z5`8$$J#GyYl#%z|AxPTeZ{=B?Qhdl&v_X%V=Jb$bTz`N)bvTx9K=XG{L`gZuunkWP ze6k^g8Z8;HnZRN#D^1VTZCh4owJjDtKMDjaeZMamd$nROxn7WaEAZ!BQJ}kubs)B{ zw|3j_%eD2PTh75E1IhEs>4RaFO^0l*A%}SF>M0e0b?}ssPRH3v@2FW@xlEl790yM$ zso0M9bsJimNi(Yxq=j~svVYuwh(X}BLH)!#Fdv47D`Yo0pHoa5y?$2}qtN_l7v z%^?T7uZ7~KN)GzscSFxox7v?20Gz21z8ocvE-*>G-;Ms`{uSd4qD)$vlHz^ZH|U?$lx-gf zy4m(NLppExy6c}f+#88OOG`^YdAXWf?49WiF^q!%UH=vz3khzZz||M;c}F{3veus) zkI%`NI6CE%=w%&!^@MtvnzMFAJ?RQa{b1I~Bd|Cam$)DHW_6M}*jCf~Vy0B+&B;|C zc6?*@k5*GdFY-H&8vstc(t=7%kG18p%sXQMpMxXi<-M;j(@(TXUJbcCB&bOURa3jo zP1?)gPUY)NRcW&*cFoPZ@cO4c4zf0!1{-L#;s`y4G%ZzYeO4w2M};vs-M&$8HjYmR zOoSQ7I=LZ=O7XEiMK>|E<;R{Dh}8HsV)=I6#IkugIPLYeLizK5Hk1B)>VEdzzP?xl za##79w~Ua4hqV0^R5U>p{Kl1uES5rFjrBHhBL=0aXUgLzf}YrT4fIL^onb&fJK1-i z`A~sxn}9ou~3C{XEq@f4)>*EX-TE zsL|89;l!0n-M8Rj8t-YCSN(NZ-MlgpP8MlHiJAzE?@XWyKne+=A0p?P8um+^rA2D^PV}3dV-j#Pu{XWxjs2$l4{@D;*d>$I}-GMgmp;*0TOAF00&q+4Ea}2uRl^@NlzFbc%p;wq{O~~Sk-tV4F#=YfG{|>8{AbPlM|D?3 zcEsq-ACk?bnnD&JLJWS5yEo2gv}j<1N@*&u65oNHU8R;34eAYkgXvY=diZo)M0W!{ zodrQZCFtz_A(}MG5tD2EyNXEdk5X9ZN}{Y1OnB#FLnxM&6<7=(4vgvPv7F$qD9`R| zemf=lwS5^TC;-(!h zn<;h=`6-MX<>yu>a9`B2CWv&#@W!V)m~){dWxA8c9NY@6w#*ES{3PYPy?w?v*zdj< zT1w2pmA${?EQ%=@LNH#@4)RaIz(B8Ys;wp-ttkVALL0^bsYQ+xGs25RwOf_4Q867Z z>64S6newr~$I_xRs~#(M+Um;dnTZUM$u$v7RUr3D ztPD^y3QmDIu_sa_sB4OMQrA3{g;SY%LTEAtEz z{HjnsMVL8(AZ63sr8Bi;Y>#ZRt{KkyuA;>0pmMOJdk*d4pxIJJrhKHruA=VK?!bIx zfYtUJ)DPbz&gZ#?K6qGLzL8zNpWlkHQ8r=52bo4jBDd3%M15028zKo?;gdB@B1>z( z!!mQc9{mhj!h+0J(}#v!3I;37u~{zhTkxJ#**}*X0Z2!q1m5Ax?nC9%vbl7SxF_}K zx6GA_#-TXv_yK8;h7iM1+Vk(hZYhCYyKmGp)1;OeZM=SxoAcL9Pj>6Z>?{XO%#Rt@ zTYS9y_OCVw=Fe1=pM)s`L1Mu~3aVgxA}0v2lX)OA)A<=%GtetECp|SdOslOS(4yrZ zIwdA0P>(-c{jP2IY|0bCt$l4-Lh(^w9DjoNw6l?}hh~pBX}pWe2#!zRdXC{Y88*oM z<8~O{E$Q^}Nmn2{;e+Qc1(xn-Ys)zXy88l(EH1=XAntok(`R9&!8z3`+WDCB$k~Fl zak8_F6TwCkM780vIje~H{9Roj09_(^v|F!#%js0f*uv_2UKX3HsA+%900LCPc>i2k zU3P!4NkUFz^rqcmmXPMAoLS4!BerW!IHnF-S=h;?I(45#vK(4*|0YuZWT)aeCbS2I z5zy{#ZM7@fwO#L)uP!)8jD_iT2xL1R3pa{uv|3g$)g?EM5i`@)C-Xk@TrJ9hKW79= zO!cQeBZ!B8Cp*Nx>+zx4bp(Es^zrflUTr~}Z~^a7wkM9_%Obp>n{QKR{_zre=qUPm zC_xLg1M)t}Lx)&QZ}O`MLU{FG;S&9XCK9k2!CDiQX?6MdT0fMRCs)Yvw5l;0@EvH~ z0^QdT)qd}bn1WZkz!!*^!WB0-O$%54vzDuUN zuVqu{hDlJKilNC`K_bXfA65aGeL5ZMUDF1vDxWecxLaaNWV5gJgPhjW_)y=3VIAC^ z-)!N6LY$2g;tAy*{qSJHVF)MDRuOEox;|q$wL$?AlX}F3b2bzZ-S2H{I2)6#3xDBSBvo_($x8CZ_@~_UQvI zxaY*6?LlL|Avls12ZwR?Dmmb1`~#fJ8lX3k8Ce4_FKMzIY1Ixku`n01mZZO9a?-y{m=zf0lh?hd_D?>Itc)snv@KS^(8tllnZm-N3PK64oPgN2eOH^2 zacJCI?(#LC#RIfIl_5a*yMryKIL4r-;2#ChIZ`6S+QCrQ+LU<9@M2mQ8wkWk8*5Dt z76B`ipGwcnK48cz=iXo2nD_iGP_rF)dj@b|8B9I>g=SfASKlpaG!x-w5Yq~i8$26R zRK=9qPz8GZpxcw)pE^6jtDZYHkrm!8>sJbgBy@E*|Ju#0;`HnKWeRVFh zz*9ED8ZhpgDk&v--xlYA^C;W&ot|6{76)rMM|Roka4$rHEK&Q{uR3L2r<39c5v`6J z&PCSF(xM2E)VlMuWIck@er0qO2-Xqg)dMOBNYqRF(xEX_Jy$+Y*fu_V7M94|MZrlr zB0w9dwx$wUVn}ZbDnrbfEq%hzzAW#`j~gUBHsV7F&{3+U-nlvu2eOtbNwTZz<3l@d z@rz>k@VTKIwnIyzkDMj$vPVYQ4X)|dO*i?!^kc|dJEd4hv0I`Ug&oC?yRj1OWKHu}vP#o{erRNU3jC4ym2A}Y^tx$vm1it*Vx zxqhH8PxVzQt?`$};HRpqt>&q`IG^#|A-MT5f=LiO%=j)xr>dIVYJB*{J*3u>AU{KS zNeyX6@?+4ib0q_$ zU)7F0JyR^7imF2RNYebO!gc#u!l&_13WV`D&K{F0#6ebcl=9H}&B-60;iOLyEjvk^ zOk3h@yJ=GE1hUKZm|E0Fy^uJ)TZ7`1D}PD6;#VHQBqkDDq()5WWMYnYk14ug@jZx}**twn=KLH_;a_ zN4m{ut>hZ7x80Wux{it*xTJz6yF79bGLcq(nNS7%M@>3Nk+eu1j3Gb`h3z}7<-;Ri zif=l^TsrlPy7leXskWg#ta0I#%Sb5X5lu`N)(@7jiEGjNnRBGTyC< zercnIU*tz|s3^;Ie+-%bwHas$0X&oHSM5__hmEe~%)&fIacDL|P1)I&RprWHy}PEl z=Fcj6hq5jG{lCvgLXfpTa<(r#Z#HN@OA&ze4I>pm;4rCcCeVx@a*e%;T6qsCKuXCz zwdX#tH5u<{b|YAbI<&)U)76wN zp1$Tv!ns(&fsXEMp@9~Pb@U*>3yMi3G3&qU=m!>|W9!&Y3A{y-R`s@UlW}XI2?Sih z@nkcAx144!jWHbN(O65!=W5nvbff3$b-};VHhoVl+|S;7X}Yd^2k4Six-*!nooGHXuAsa!#8Ovf zBM`H4eE_aEVm(3F0BVV5U|W==`Fcf`0+|do>Qv$j^w^_^P?EX=7lk6O=(_;PJ@LA5 z55aY(yZ`P*)6BGWgwh0U`=<4$54SZ_64EDCzVXKl?8QOta_qmnP|xY8zZU9Z&FKrI zmNArxR@R?)snymdDVHW=6Ox{+NKV`YmVXPJ62ClU>_(B1C-#SqS9A4RkN*n74E81I z7R=3rOH`(GTYdrTpbOHyJA>UuR_soquXTmBSdU8*!p)1=$EA zg1j>!0z*R4e$>(39;6u&K$u>d>-T_Yz5X5Ot;usaFMfEiW*~(tCZjzeZI5Tgv|G%D z-mSlEH%Y>SQ2N$oPh_$Il9De=iiRn98P{bsKXTZl?3syH48 z7ltGou<}nmG6#lbq1%nNmlHW|HWe;ZBvugAn|O=ka=HC;P`iSFSrS<#g{jW|J#%tm zJxg!~gQ3%JgH$cAE)wHjWSXF6;`<%#o1j@xrpPp|dp+WA#J!65aalJiZuUkE4th$m zxnxvDJ*l&^vM^+uf7(^%eTa!ORn%rNIZf_zef|!NIe<=n``Mbb@S%Qw!Wmd`L@~|5 z3rdSeh$be7Zud5=quiVIg_atc8!mWG3^1ls>fd{PW@t0kE;}HC(NLt6a4=4 z5UfZK!Rk8qR}+|RgXX^maonmkU3$c1a0dC`J2gvERo}_=OCowFa_UG8wnTC7injPb zcUp75hK^02>E%dy;U*5BO{bljgxDNC2B~z1cbtV?de$~x?{xXrpN*X-{&M+dGBGr{ zm^NLu`>_vv7hVae5nI>02hQ9FLS26^e-R@FZ$DJDb=O=Gx92azKqru-Sv{6Kv z{C!R2<4aq+(B=tM+t;3eRv`+?`0gq(D+(UQ|S6%D=I* z?pwhm^rV`usz{IrJ!n<>VO&Ym&87=Cbj-hrY!NkoO0QMBzQ|F>X0EPzm%3ShqFLNh z@2~Qq7hkv4csus#pcz`z@`W*g=gC#)g)gFT?*60ui)uC9dgg=RO#x&n+13o^?4WAB zYeT&KOck)zI52S@v=F91sUK^F5wQpYNV_xDVAjgIvoB-Muh?_=@1J73Pg`~yerU?p zH?hc%zX)iXCx77)5$IZbjyB~ne97U>8Rds+=yOAO~YoclP|JAx5CzSAmw?xVnLu30+WC9T5){~W~7$6*S*jLbH@!QOcz}kXP?F+awz%(Vvq5QR- zLz`s{#6RWH&=y1psa)d>k1_0a%=D3iVL7J*C$H8?CX(0##Y=Yr$M$1hMb#Ti;wSLyrcl&xG zk@op3%#aX9OvyR|E?3bE&WtTp_r05Q0Dx@b25l`&(R{hlR9UpLXVMl(2(0B znVO8=Xpo*0Xt8o<1B4l?^7To@gEw$9m7$YfGnwLs`4{6u*kC`vq^LVhpTlPx^A^dJ6JwU;tb30I(w1$c0WZ z+z90%4yZ?>R^kGww+hg8r+%rm#(m+gO0)#*VnkTUyE`>ecw&pw?`rhJlv?#N}2u7ZU#Js?$BfN33R%*Cp~%TAeYkcjle*zC@qSHNCT@j3X#QU{yUs zHZmf+Dri1bGe)ZBF9A&3jyVfw_6BHUqvA~#_uyL-l}Y6>!R#un2D5@WIGeC*p7Vzd z*w-!J;^W{$=L>TOm97cMdt2s<1C^~*=oRq^C zG{WqO&@6xyUgm)IW*7N@%o?khUTR+jGLcXdmBX?~%{iky^Pxv0HXrGRHmRFs-b)v2 z0K@KGB7T$C781Cb@egO8u%HmXob?k$RJ{S;itaF~xl$6owgFyoPS15OGepuI$~Dc; zjz50xY$tv2rVsa%ltZz6v4rwYn8og!!Sjx9`*kQ@S+3W^xJ@z-@m zj$Cv30wQ@mFdQpr^S=>`*Pm?<+Qe^{XVIvsIA zuJc7+((mR2b(J1$J$nZ&#$;!=#AnbqmQi2=2}o9q>AKc|U7 zb)2O8Gy`|oypJ2~D40GCK8#lxMokp`z;Sxgg^;=Jk;89^1d?4=Hw?%xiz&NRA#?NN z%|IJX&tpXu7s}v6rAD6?tF1>>-7>!EZnMgZ9LBsh%S||>^9?bgas!^t%EIKKkVNQJ z>Y2`+x=iW382=0&!LFb_*qSYu!3y4SN8?l`^&GA+M4y#|IL$4!F|7{0njN|IW8^Z% zKUKAQ@9-}TSJBXwN5?a?#irlqZmYU-M`4@1syX-(Z;-Y1f#oxl-KCq88qt>s`VLw^ zx%<5e)*6>Yo9ssOBNU4bEPGz7$L6bee%!KXZ{=kQU6^F(i=Cu^)uaRLpc3%%!Z+8p zV7pKKa7lP_Iq=9)UH2Y$>WF`vH&NJgtFC|$sxb%yiv!7eeUMw!A zIu*qjG969vm|j!0Ry)ut+mTPw_P@My+oypCc^%^7V;9L1EPGY49#FZppJ!y4;^nY9 z6iua)<)>KhfckQZ2{zBZa|@^ig7U8YT(ew?al3gwmqzGZ_k5-6-A>5H-mrpUXbFL^ z_IzH*p3=l9vx*%h8Peh3Xl7}%4!&EpSC+GHW3yZ3aaW{ZtS4P)+9VW-+<-M+eGz3# zqFIPAFYyawA{y1V2M>p+dMOFY#7Yk@&zI`9{MFXEA+XNBf8wxL<%;l-8Rz}_fv^6a zUjkh9omI@#;uHWpq%UOT7=ssGIw*NB!3z+(>7o7I@HYCrLuvnyv>n6Wpa?;S1G>Pt zm^0C-7rzpm#@A=WpK+A7F;QjYz&f!!6l>R|WI2q)4Y*e-Jx;2GqfJn-!~(v`h~S0H zT;CO+knW(yYWE7B#FhK6T%K#y32=;~OK58OHH$u0*4jr-;_&VBuT{?&y-@+(2^<0g zr~EDDC}(4(_`~$A0!i-yKS9Rh>WBjsk#)iK-wFFZ$?`m~j3td#;_<;Jfl9b(B`bb9 z*AJ)9D>dIzXrKYudk+n(t*wi8NI!_5)gml>i;BCr!)<%bH*9%=z=UEw@UYo4>glx& z5g!pASq)j#5RzgO;J)f547|^)84bNJ0!Eb^C?xZcIDf*0Cek8=+ z0VzK;D>;_tAc=_yDgk`RgVNLM2hK$fwL8&5*qcjzXTDabr;A06rlVvHXX%x}O7=)|($qJ&J7^44wD;#@NIwFwoZ`%!iSN+neCTLRn{| zsS3}P;asQVjD*o5O_)7S0N0VQL0mP)o-!vavE z_0|27(n4@whiJ*mE~;0Mz-#2E9FN517^fLKi8c&*;*gX57N3d#{ne#i_#tPAdWf5Y zjH--Z^1aESNm=C$vqv;(0UIJaSZfgCS%KyQ_nFa#(HIHaal4Oel^np@fyh=({eWqq zUTFxvk{-5nUCdUvhiX_gR{scF@c{GHEz2MylbP|ZwaO4@t`7;y&3~k69G+(D&)ZRY z;VVac9TwtbhmZ&7t&p^=Ib>G7%tal%&V;l;f+dE2vVG8;227v}{NZ9as5Uo%GpS&{ zz|||kHflP09#2XzvAEuhEFW&twN{$vtCLwOY?>+0>^TL;Os{{QO+}Sq13jyvWd*R9@(>r+*#RKz^rZl{_|B2Bkk%dDrGM=xzv0uMKY)v8Jw~gQw%i}9Gm2y zx3V|OmK`+bv7(glKq=2vGkw?_3{WeV4?e-LDdJnUUDTowMKY(4>%=yOG^WKReE2Ya z?{AxLN{i#sc0|HfL)UeOjm7;^C??`pAqbZ5KMK13r)B?r`~toxYAGM4{XD*L=86~BAg&d69WZ#KN>eq zgqP!Umczt5Liv+e8l_2cYMQ^!!0619x>>;B9(mCEI@?8natO*p(8LfVJWyxXxooJH zJThfF25_XeesX2Cj@ogEY6Ng`e54*!20VA%N*D>%vQxJR-&xUCPxKrsF-S^Y3FBng zl<`Id{YLE7r5@fWF%`QC>$Y&GlBL97vXh~z+|Uc$p#4zACME%Bl1Jgk-i5M+;BQ_n zhe+~uQ_4|^dO4znnSICvhk{XQ&mi)k_h*!Z+3)}95d61QT$DX&4Ndl+`^h4%e!Quz zqPI0PD%3>ec%Z1?pM&#xG^y=@l!aJ*qU*1FkLnusS=6`oi0^`^E%JJB>*P?}PRc@6 zg`DiZzO%F8nBYRw9`C&*yYqQ0ZlihJW~~&VWPs!gj;?Y{H?Ivb*eSZb{q|$P>x!s0 za^MY9RoD+MQ;I6?VCGbI&(^He?rU^w#Ic`u9v{$d{UjogCpXaN(@DYNWe?h70~sCZ z@O6gn_5xN>8{eI{{he{O`oL3~$&@rr+dOD8*P0tdln_d?F-xNMN_3_`v=;zmGS!JZQv6m%g zg3idn;tvv$+?2xGSpKWxLm*wTFDV@S(t*42+bxUdR#6YUOmy_66zOuwkvdUbf*kw? zwF?!pF85m*A@2i=3UC-gIjrvo1Yc5$^MY`70655>s+5)?xPpm$k8_LUxfe*e;J(J zNZF{we^>ovA-$iTuym#B%rMkS7us8>>65rxOo%nW!D^Ei!nN(p_y%TAOT+Zk-CyzIbjCUc#aZ{QVPU4;=3^ zTK#gJLDo74tVicLfP1Hcf#xSE=Io*WbUvrJj0iYQz^;rhs$oMhmdts;L)R*)}#owgt<#0={RlHL01vGA+CI$%XG_fQiceFpqHiz#Z z8_HIVHUh?`q%3d6e3ctKQgRV4ZFM&hK#gr>J_2xhxA5VGPPA@Og29%vV}_fYKjKYH zXr*@sntS}K9<>=Yd_hh~Pp$P=&dC25UD3Wkfaw=ZfcFFoA{yluf$BS9%~e`&z4u;J z!a-`C*RuRj;eYikMirIcIZmzm~`Of*tyhvkPg7C&VY>FYg8B9|2VAu}z z;dgyOVw7S9$AM-{-;vn$4h#5L`jLi4{%ftO=_w6-vQM3hJp6W?W8xKVM{gVVC>)C`cRk)!D*B02!19JNM?z<%8DG70D z_Watx$%XbakS}*Lsy{ILF3#A`zhQa>4$Yw$Nu=R0XdExvFLTfTM`P{LfZe#R$|7}* z-iR@)v#)Lh_$`QW63kFaVY0RoSU5HU7Q1hGc*mwOIku>J;{wMItu-YS3q(DRNHhlo z6Zu!ZiI*JDn~#}SDx=JCwc8#|f(2hDK3M!3>020yAM!T$FVxl4R(nwSImNWMec4&B zkHq2TpPS{je7s}iPB2TdymgI)LgGEM9vQm+mTzKCVFo;n2+5I#rNKFK==lj|Ewr6O zLEWgtn3G6=*V_oDq*t(@l1T9Jpw^Rm75`)T-eC`c6FsUSzssq@SpO8i`p41dCL(3d zN)S0f$}HH+bQBfsppXh)m{|${^wBGF*D6xU#Dq2xr=gC2TL$i%_%F^@^XY~{k?BQs zk8UIgI^=oEy8^c!#eJ+OTA(fe@uaG_vb*|A#0H#QuhL!GSOc=gUkfJ==iF$|3rUKq zai0IP`tI{b@-d{>kf!ZMo`rKy9D2))0JQ7H7N@wO`c2J62eg3g)WQ>~aw>Ix%4CF{EzJ9VbyDgq(3d7cyl@E;npdk&fa@jnYU{5|+Gqe(M>` zL6>=j3DwCmSDy|$d)2BsG*Dq&QB}ujd_r2ud(Y~7?uo*%r>SQkaW7a!U_3i@c6f2I6S45m;y?OLpQiea!*H_jNfhuMzL+#VWf z`NxZdyue!>)POip|H!WQ&H5_&22^{jtyfOdi%qd7SZ>)u+~c}DWMgs*4#f{ukiT2^ zxEfoDZO$2WXmG~vl-_`L`;pj|f7{_~kZE*coz#$`9ut!W@@-QjJ5~+ z<&~P;Eh;5B$JKJPS9fOnw;^{sc5}cF%8&IbUx{!L3_dt&+c%1h7nG$Wx~Q@RXDt-R zh5Y{SEa3Aw(S5U$dS&#-Ps-Gel=4tHGgCM#?`9P0>MW1ApE;ywWUJ(mZm4K_`)TrQ z(#3E496m7*J5rRVttYY4ooa^HJhoNiYw5h94?DPXP93ok+M+Onr_E@RX?NGNo@G1Z zhOu2!{Ag3Z^qo_1cdh=V=?!->s4`2mVWvE%P$LGCSCq_RKngHwU1m*<_%U4-j({P^ z)0i@5D~Td?D;y2%IH4>`i3LARaDK0s3euSCC8;a+*9&z88<&cTkRfA1FwvL(c)jg7 zG*Q-M)^UbwgtI{-&IS7IDS4X;E&=w#B1{An)MtD|_#GbGQv>t5U|NwiwJlGx=|pnK zglZmTQUoUGB8cluMk7GqSLsAd|J_=k5u-IoCH^9-*fX z95Gv$zA|r?S4?}4$-mRU;%WTCF~b_u_ko?C_l-hg0sZcucXqP)v>9A?at)NL;SZ|z!} zSSnYb@!mOGqSa1yW)_ItHP86DTOOa^NZH@Vl_Evn|k6YAXSEg^>XdDck(@!z#dN{r5$I9-5NO&e_;9ovj16iP0`(Tx+8Xhi~jOFaw zDbbLoB17o5LCQrMO!rEE189OkD%`AfXW(O13O8H}U!0_;g!`{``>cdSI z5IpT)!YvE7E89Y4G(NYQvUSdD}cm{hy>1)+e{59k29S2gry_szJ+Gy4(Cn!(ML#1AQ&A z{t}Py=&sOfWtG#vj*((Sbta%H*)Rq2;F`@$`C>%`b!BTYmRa)k1u;_=yss07qln9M zcDZ+u#G56z%HP{8ga7^sZpOdpPgvQ*50Z~ZHHl)+5RrcWG@a$*z0fmoRB2O_HvMd< zh>pDg_Iwwf*|F!nbiTyi6P(l&5(tl8s?H3QD&?)p6xOm1{DeGVY?$6RF-CdFqFPnHdT5VRT zC=p0fwvDJ$cR}`|?3yneYmbk&+=V9l_(RNImwz#uF<#}Vsr``>yR4?Q+^6pN!5rAt zlw_T5*Oe-a@4wbB&Uv35D;+`6HF9X`|0DBBQL(uow^^TpBZ7A474*gGzvJQ+p|IM}rIgy(RnKJW~IER{z5N&81oW zG~jM`$CTepk?oRp!(6jO>iMdRSHqfe{V>S&wxC4Xq!#0k(`bX~aEn);XN7+2hR?&v zvrr%1lgWqlJ|Op*Z~>um<79s(Ect~=X~f>(c*yLgUmdN@p~#@sLB}pnvcjGs5-Oh< z`r)(cM_T**lO_a?pY#_RCyUq%-$kHLOYpQ(gpNxqA6&`2)uc28p`{iwq-Og0+q3;2 zwL1!+%Ko2az7wGPWIA1~Grf-#4Z#A>>R>xu(9#61m!jfxdu~eO_p_d%4vGubG?pOY z?Ncc#G4Tqp!mArq4A=%)u_U$5d-t}@#4vrbI41$SfWT&;7S*|eoTl^M*ADQ6OzjTt zuij|2v8Fj~e>)6`l3t1AnCCjSH67U~j5YLQG2+e(y)9Tmsxz5PoW}b0=l|L$u!*=W zaDnc!_0%+{tz7%7HPGnj&%Ds<4ScTEwO-c_CC}*WhA%Hh_hoMY3%zv-q}qCjI3pCE zqymq(Hfz3ZrOiIdml6fgbxIqf>(M?t_(|okn{dtmHIyMuTs@65^6`*|gnPvK^+&bP z%)6zJ((L59?X$>eKqQ2w=QJKCcF#wY`UPg0GqvP!8=y}tOKTd#ocX-9*R?!WP`Oq9 zn1A2JhXRk&Fv*eB(lZu$9PL_*xP|7)H8f9h8khNYasq4=+Iq<$lL#f<1+op%|fEA&_Ql5(;O z96%-kuW5jEl{+AYJdg}|ITYqrHL;ZOqW=*RC0>aNJKVmrG0g9MN;{f(CuWhOZEbsW z9Qe-PI8)qsZ2HPO*Dn=73#C<~C)OL%#Yo+9Pm|rzKtSn@g=Qy)334pd>X~IbW);J&Ktp3PJVD8YcE7r-8xOxQo;11?Tqb?vqjC zA64|-KK86{%8yHL?Qtm_g5}^32ANMb{G0p=J(XYRh*vC>ddy59=3Xu|M0&|-bio+} zIMiLNBpwi~?1aDcCm^R6D`6?}wR1 z(ym$pqDc4@gj7{SAc?!%P*}ZJ&M&L~ze07g!`F zd87v{Y)5o2%bBjvp@2&GOL*c^EB?>gnEyGX7jFBvEHa%SGFgB^q_f-@wzKOdpkC3n zI*h7*$=2kr-zL<&{%U^+^ z=qKsgw%c&q%D?hWA;znZFGpbTR=sI_S13s&d%NQ&w@n#fQWZB_a$1L>bMsb+6t!=* z5AzaR;?m1IjO3io-j$1dKvq|9z5cC3dS(tJWa*6h_$9da!_NoTK@VE@P>-S(#N?^m zW6g8#xv0D6SKFKy&naI^ON%4eDPn;PJ)Kz9w^E)Um5` zwZTDB5Gw|uQOu}TSsw@`)-&ZU?CXq0l$YmY0$Lf7Z9E%u-r+I#xZ5Zro0@y6uR#9vm^wicvp})9Vp+reGzS2^e>b=Hp zCQlNaCi*L@jID_83k?fi{e1LvVcmD{yfVCQh(Tf^N|7me91T->t8>NO?pf>iuyO6D znbm_wht{ooh;M8@%}?8)C#_#bRzQ#nn|bAcpkfv_`$Q8-HbpKL$1{XWxwa9OWs}&+ zN2>mUK-rC(3Sa5RGG*U#vu^8Q9aoeF268jv2gCK4?GxYISlNiCq`XbxR{}Sdk%cvNT$6pIeg8~Po}^KlZJl*ibu6Uiw8Oib zBn}eWION-2-uTq8Fb3wJ&8>f_TUtv-ym@seT&?Zvvd*ug|0@1hpZse={Of7>*HZAW z(NTN6CK7P>p@S3KSW8cjP*mTMVNCjsJEtqBO4Z< z-%#+`&3?p@-Qby7?)V4UCuci=a*5Tm?7uu|L9ZO}?!kTqhz%rQ+Jzx^_LtexMH9b{ z7avrtMd~Am0#uB%8ejM2RwlHm@>A-x@RAJ|Ld=W)gLlCHrAYW2F$w8h`Z0?m+On*Yh$nd;-|Q%PYt4kF-fN1pVVG)T&_y<`g+xx&5;>c zUaKG$n(1;KS-Sps(*G9oud(WERbD4K6{Z)d+d9}|C*4~28Sys;Q}RwXODm=h5aUsq z=|t~jY(1rk8W0B&bz!U<=nmj`nLo>HVBLT~ufiZLbu0cEvCB^1+F(V@fSsV|JGRo* zTh|;nL$dkaHpu2ET9ED)zhQF4Q6O-l@@ZZP&)fT>Q8hCXHS8t!`~K`rPX2cNnJCQa z>C7q)Qy?W?O&()uD~SmT_+2wJyh$V^4AbkRda8mQdmrCM+W#*d@_*`*0~YlRbvR40 zKhrK_qx^lNFzrFvV(g%$Ihk)DRd%ckGHo(3s-*mX@tGO^CrPSGwFams6 z;)%xbg(BXIeWiX>Lsg^u3?4eH_D^e@r{ITu|)O0Qp^XRv-Nt zOqwE*lVnMV5bg@N_WlfhqX2cqg8?l{Jr_=>^Z@jnwoU;6T77FQDMOd-_26b!sGaW< z!-UpXco0&)5xZq=tDHV8msAx3Whf6tri}96p@M^!Sq#XJ^disPkb~LJ|2AenC#t&K zfYctN%>EedtxocTF9uvp{lD0I@2IBMu3r?lT~If@qf(_y@AxXx1*De*kg9|LQbI4= zt$?&3UAnYD5)yhsC_$xn=_EAi1PC31AbR8Wz2n?_&L7|S-tm3!Ipf~VAB#b<)|#w2 z=ku&*mgn~aZ>Eb9cl{rjd+>eYj;5#356H46=cQ-#gY?XY^GaB?{j@g6PwUR&7sYeu z5ePlbSzeO=qJZxTG%b60;{iZ${aAS2_3=C`seI`Cp-#E>b4MJx@7|?5g`eIv3`Nv; zijDfI;4z=#{m?URR30wl?S!1K^tN#F!s-WPiY3d7!J@r>ndNGqIIdvtr96Yptbjx1uTCKiE^8@E3eP#GDlI!*+1vz1E>UWIvB6^RQo47q%#V6%)Z0*#Hp)XVNIX?RKtAxA3Kc% zDnJ%MVWCH|jQc+RtO0r4H}^P*IqK}H)BWe5<~1JHkoyO5uHURR56_oU=CI}w?AfG5 z-paWGv1jD#md)osZ9n^-1fGk#i+}I;{q$(PVo@ecYRQ80Kp_6C06}>lXuJ7?W>`FX z*M)WTM*dv*jQKZLFPLg-8qwN+?#CI8m5gtv4mWNh@ zM2?E!%aOB#XS{?K7UQsg{H=w*weYtu{5>N6o)`X}9shnu{Qai2(t4U^B^q%@xuXKcUm&6mGZ!9uBOrGN4W$85lvn#LyI+2Pz4Bg)<` zam$Bbx_8oEKpP)rkj^h`RPfvb3u-%vA*Lxx%jXwd_Ovp3%BhEU5_9pYpGIYfavM~| zV>Arp9-0~0gON_NJq7q4{ zrYrO2j?$butmNmsF;n6gWp^inZ&VgXWLXq`)q+x$nwFMSF3Rn!GoftJVxtqsA&2r^ zzF;Ev^p}prxJ#tXu0N}K_90D>ZcS0bUYcprtC0n$3i{9A*{V%1R<3+?GP+nD$#ih-CJHECqQTSgcmvZda!q zweM%sN2v_{_RH}dczeA~7VMJQ$SCl6CchU*Em`W&n0f|xmKv4h3pfTUO7bz2wS3jI zs?dGpu^g_S>0*6><%Pad!o#L65AuSXc+)F37r22|zEm6ULz}PzhHm~s{azz=ed+ts z;hp0n{weWC{V}L_ozE5e0N~PA=9KEJW&eu58qqP&2{OEhJgc9L=vw?JkXm`#rnXy1 zlE0*9eZWn^P8z;&#G$BeRM$Hanw*!#W>;J(+(m4aG`zMByB9f6lMYmxrWSPF$;}28VFj%fg$-@K$rYS_Fhb-kM3~cwr^Q?Xfso)d&##w)NhWi_o zg5U6JARD|RM=)#_m4;s~d+x3r){ONyWqy05kf)7_qGTpi%kV|9! z)LngejO2y7!vpop*zv_Cm(oPL)7dH523}YM;x^kiRHS8-kF@X@$q%%jAG|uRp!M|I z{f%r@*aqDPTEShpbPwgiUZIp_3x~HW<2ClGV8hriocN0geCvc zZl7&bnG}q%T~V1NJ9^Y-?TNyS;&c0)H~++E+34oeE<0CYTsuW`8S|OS-G`|Ce7>N8 zI-p?9G#LwWt=7v1?uvNeyf%!fTlLe4$S zFjqNCle2u*5T3+TsFQ84*2(F4k>4Dq9b(NDqcvYt;=b}qMu4RmtWm(~dV0P+gUjjF zc1Ca7z@lds@d$``E?5d?G#fUj;^c`}L#e11MKNW|X?>qp>-v1t(5?aTn9?`i&DD7$ z{)I)Qu+rSL>o$QaPKVV>j_&5pWtk1KeVZeCDkciiFO8>ulYhVQ&#CZ#gAcT;NCvx! zi}^*@Q&`GJXHC*FQu1)wHyJ*vMl5)-9?!Mm&8FISOaIJ8*}tZ6uX-;Es?0*a;*m2c zbdF$MeA7*b^^K#wp++wey;xKyWCFL9{n~4&!Z$o27_#P{bI>Rj{xx<7!)9ZDp+5Q5 zjcsxW^m{q1cm}J+30uYsB>GKLbPm_XiU4vhDBO&qA>=i<+_gq-f*mTFKcAtk&_?iQ zd^@@v*k5HasSmFd={*rnY|D9U^C6dgi?keIa;Kr^t0J-MJ&+urA_qR|ZO4ZgbYvTn zj7;g?8t`EF2xwuOZng?4i}X4O z;Y2WUFyVyXY4S|MR?_KRlen3Ft%k(yzs&Lz;sT2)ph8^KahD{>6&q0@E;1+p5G9Gh3Y?o%@=4d_N&B9)x{5qe5KZ9gt&oJk6gE^1aIo;91EC z?(sACD1(8*+}(a25?vw{&M<2+WO8%zP?HLA@p%a7|1x?FEo*FP+>bwOl?A6OkP6@- z5a~z0top=6PqzC1Lhhzl2X7TqsAKOru*%F(K{pAtoP@-OVZ&QRrS zy1RQi0L^Q;tSg$Y7Ys?+^jX}5Kvk7gITrOXk|g_=Wb%l9noDbl=ZxwM7JriE(dj?! zI1?bQOu2iw{&~8Q)oWZ|Jo`hw?&bj|cejONOE#k8IPg;Apa{y?C3uY>)sz|~d{&!V zM_$?f@o#kD9iyt3ru5z8DUKE&oZjbWD(g$}RvOk%i3e0Wi{AyO?!S59YwT+pqZ`!s zhNR2yEj6sq=jap!T;;RLH8k&58-9KGyGa`fAwX^39m$?8>wtk0JWEyhA5WLX%m{BY z>wWn*KFt3u>f9A>Jg1WzY4&Cv-k|Kr?!#CR|CYdu6Jgw?`o3x|o;?>XlzsiCfN2k= z16HH3zGF8>sKVp5g&1g( zv0XV-P_){~xF-B=mf$ai@F@8#Shl4(IEbj;{k^C~!jI%t$HJxKZDTs@qL;jv{AM@X z1cocmYJyTq7x|qs_8;JDB9e*0Dn6r83j1qX(jaZ?Vs7%7p~e zm$=-e+N;?&JAv5uLrZcj!^AgJsCzg=?TU8`L);Qw&{x*Q$$DW|SNq-g+A66_L5~E{ zmAa?og2`Q%fjm|-^{grX_Z3tkN1m=3nfa2kbgfSWfdpt$zZTz;6EmT?3=4?jZew`^ zF!iq-w;?V0Nb#4!@-8WDx#z^YFFA2kSXA{S49dBi2XWwRTb0HBcev+YRyo&u3t{_% z<|mNb9`pyzHl0G;``#3{TW2@FqG2x&d?Jn{f6$Oxe$X&6%#)AC8atyE_t(&b5Fy7{<&$ z6Qo!UXO;^>rOai5Ek-6Zaq5M6Fs3m%8ICi*?E$%91&uMDsV%lP^Lh)4Mg&%yX)IL* z7S)&Nr{B=ZFEN^gS3o~b>d917Bs_!5fC$7C?Sf2H`=~S z-<`c?ekc`!ui&^p3xVu!4UG&9huMZyhDSBge%}9r{9sNb`|UV11q>Pp6=iGdQ&tx1 zz4We$b5J%L(WHj;5uOBg6Ybx)^xoGV>f5(xDE``6Kb5&<0MXs?&&v^}xF*GxGq>G}F7!?^=;u zvn=`8IoUFC13rh+hsS}8k%m^s`-=lVXktz&l{o?%*RFFuaF_tt;P(WgAP)4cThic6 zXz0|NG*;WN;BP~{sWBIP5`+^FoDYcCwM5EnIG7=7QMuDvKFS5%-D2>`{rZ!f<;8u~ z*(nQZ03Tzsp;@q9@bSQCxBl4bq_ZkeM1-++z4h9@()R9jvfA|KDw$1bRg+3X{yS^S z%nzFBF^(x`K=)Y-+3MAs<&k_#@(-FxVnrpy{^kL%zJ0`WGoKOxGo1XWw6#9As56k= zz~pdw13=faRbisUn(^+te8zn&<~lZa?D>wC0%~_`gd0CET7PTQMZk2TV&iFU&^LO$ zh6AO2yvnzkzYKYvn+&Fm_nyNK+(34Q^X*z6SG0Zu%-hK{pi3pU=FTTg9|T4OonAX> z%uCcpqSW-U++~4}!HrBFqQ&7?Ew67&uB)sDZB6YhYCl-c-8RQ<0Z4*-mp6urVk!XA zVD_kQtd9DgJaf&Gq$u*@R64oHyEHw5PrIGE{wd0vQCjWj6~M}dPpkFEOfFwe{HpMU zovA7G{qaO6_ij51Ub$0ob=TQ$yKM7B1y2SxLeX`QWYd@fIr6;nol5a3j$`JXTf>dD zN6qAx28RmoqW8!dipQ#Ek=+?}Pf<59KrN(jW4IUgc}MSy%9wZ&%vOGmsT@9|z`dQ0 zgT-kj5W#!X5YTuISve4ge#S}n^!>lXzyFePu5=po!V;;tHI}NJ=s5?b^Wx|@x@gh) zN(E@Mm`Z`pnl5JA$*_oJTFVQ2b3^oAW=x`OVXZUH6(O+Q5cjWlk~w0>VM z<{heV`mqdRqOm=d)t;kU{vx_FSH+3An8BK02XuM|lMxYfvl)ftO3)`Y7l`Y&411P{qrFVfGUOtV2Rii3GKuA$% z>vTPW4T4~t#mOKqj|8r6U0Lv({H157{>I%>Y8y=ViufIzR@b$jjhIVLv%bNy!;;<#Z=Co?5MqQFIS;xk(&_f!T}z=cB>7Z4Aceh z(23mo5Q^wCy19G0!t`k}*DaJ`zJX4&39_Yf0?n%Mo{{y;PCt${81$Q7oG3DErW?zP zTK1b)l%PjRW%UUG9VXG|qD)c;866c3?;FQ1GOJ5hX1F^-Qe|IE#$9fy%U9N)8PVBx zehgVYR9qi@ArYXTyN(ITU6@xRE*h8mmBF)gS5h=MI^5GO)wS20I6794B?(%k=ZzV{ z&|~1L&mTe6Q*LCI9@~&KIew{+7i?xp_JwTkx(I0P=I!CpQHs(=hYw<=klp*2&aTUnmwC^gS0&=5t~c)KrN1h-3`)ng>xeM4sLJ&dCz zu2;NE-`9->r`jlhde+~$2|LWVI7@BSG2eu;QFNW1ACDhQh)%ZkZ-c~QML4E%&HOCZ zb=@}v#|qh;LaST!ffP3?x;Q#rZV;ILVH~l?yKMNrclUAGa=KKi6HfAv0G?Y5w1}z1 z^GddqS4L2PCBLc5=U~(LWn|s6j(97B{W~VTu z`t1agEETG+z8ANZ1=;d>KB!Th=2LA~J{4=bd1#Tli}an7-G5M_l^d*JA$5xye!7j7 znnHYF0e5@jp8rp-^xyX9xqoy^>v5?^EeiK|-hSeg`a3_-7D&|f6o5edwE9U5B|3rK z;+RzG7);Z0PE9Hs)=MxoHPSSavjz5-mXw01Yt^N3Ihp>RV$sM?v16K+-Z*pVs6Qj2 z>24)HQb|=Y**U9{rjqv2FBQ#}8=>J!dw8*GOdTEzTDg?_(x(j=!V}v@~95s=#0 zLL(Q8XCNZUuy5AZ!$r@hH3skavb@$F6AMWM?Lq(^=^c0#F)yu74&DuThJ``MP?IWN z^OkYoz~WN;ejK>b1xJ=&nY#G0x;3&O4fW@xx~aNQVzu*#l%l2FUY)`X>$+`sm@j}? zn|HHx!T(a@c);X<(6VblYLM=Il{RAciv|`svb)D3s1@m=-@SLmPQE2&UWs>=$y~L~ zG^#HGoOhzBmz%r*19(7~YP0v|%^S*hwkjW`_U)qDp?=jhz{CNAU>Pmvaf(rr{pYb- z9k5k6X3m|IwzAxaugyTlHlux-mi5^OIRK+e~b!SL3y)EUl>rZrLIo?SV++EhHPk* zhqX`1)?1-iPWxpglI2Gpw9NPOoVZa0JqNX=2HfYZA+9LjWV!j#wQ65=vgA{2`JJfp zdc>UJ*Y_URg$#x3_=i7RYzGb_Ebww6E+u{^hq%~-$m!Th5vA-9!XWXU??7Di_uG;Y zjX!8`2sum_Hsv&eSaq4cw^Y4i>IY3#o&D2w{H?V|>3Hf1!CEdg9wq!SM$z8P+Rz>8 ztdfo1aSVIfj9syhq@>h04~dB9o19)Mh@mg>UVud;OeO4-<%|1eJ$j`T_TwLw_m6qg zAZxy>p#fhTetJHe(;F^}A2bT1)}E4a6UPHbpVvY!(RWAEw(N*yrGGM_7{sSryTiD& zCrI^qVRL%H>27=z(Ae_pvHoe5kAwcKG_NSN$~qiwCL1)4n0hu6_dSu>N{E%xQpf6R zLC(9~)<~@=P)OF;0LCR4n-{h>QrP!g0 z9xuW=N7Q|@5$HaZr8@kcL>5@_CBKWCKTNk>x=fOq^w8N}cU31Ub-fZ+yJjsGljmwH zqL((2dqG8{bLtks@OCRev+|g`dBTwcu{J+vW*$u9#}J=7H<&_^e5rk27E~!4$%`3}mz!Ct~=x;hd!j$toryg8kQf zlym;uW{dyj#!@R?Qyf^sp|) zotp^#D?a}jr@Bz%^Ph2QLTp)uyE*Ep12t{tv*)2*y>lI&@DURX_18elhy^GXMF+8P z(O#7uMpeZLODz(y_Rnli7RB2dqQGq4I{d1{w0!}?iv}W6@>HoJcu_kks#GE0vdB6* zSc9?IXEXKO?O$1mSnY=-M`~6AWg)tl^afGxYkKEp;vawM;4&1bld_;!Q5nbMcXens zTA2>RnRWxHBo5D%a_I;XdGu!B-r^e@mK43=8r`JguU8-kOssm>Hf)EZIMb?^=~546 z$LOn{i`>qHLZ7=vX*DQ0qzfq}w;kcAR8fhV?rGQF8p+9i9vz`Vf*}I<7L#JjLwGtt z)Epv0DbXp384W5dN|6;Oim_hpaA{QGXsrSVhYXF;lSbbiYCgs~DsC7_h$f59W9m9h zs}{>YgJiSbJ;bpW2wJ6c64LuCZ9}m@?wVd6M%*AR6{pCf_VbgU&+QD2+&39%=PU3_ z(xPY~$}KxOkq{|FhJF-p8*3n^fq#pIt?;6c8Xt85;7Xk-vl6xRC{)a#kR+~{EV-Us zpVa`mrJ7$V`d@tIzyE_vFTFd7lEufrso8}jvJf+c(1YoC!(hU&qow)+!#uSxgh06Mmf!=v{(qgO*S!nwwwsOGY5d~#^xDtj)Zt-qmPlW5oBnMRzeUd z9HpdS5jG$3rcWqNoc-1AIkdZU7EtECSa#bOu9hQqI!_@P7p3ufGH{ric_vjWnC#t+ zmYFdKL8$bh!ln>_yKTGp-*HdHjQl=jWPT~DCkAj29SkPzG=`eCn)K6(J!vLLyUG!Z z9_K;bAqoP(mUD|L7N2)YO4+R4)`d|S33I+scv7|hc5o)#zCoVdH9;ns71!Vr4z@rn z;p*gR99N$HG786TyI03e)gLsa%-`fXFTtn@lzDg1t+T5?Xy%#UZ=NMY)aEE{SVWKy zwVHNVH^~tvFT4(27EQz3SAWnvyY+)cE8_cYmHUPFQ!YguB(A*YmksW6zw+O2@Lv+n z-3&u12JOB*JJ!73LH{`P~$3KoNGpd!u*`sd8ZdMvnpYUg+EfiG zMN2KOcYBq!?x{D@8KWVoOq;<2HSW6&8Fg8?rnE9zThGV0Ztkw~QPVAlo`ZISR>9KT zo(t2EDzF0gYm=nJ#XW}6dgUHE4DMF3txigoVr$&vn5%NU3|xvs@uOa<%eFb2%juUi zgPXOI?VKMkCQLgQgT6t_%vM!S@lMLCV!2UZX)$hQb3PN~Wh{>17v| zs;&mRqg@A2Z!O$L$Z~za)tb({$Itf`TUbo#y5j^goVpV46yN806z~?7=cpmUKfFQf z0n$q@l!c2(OD`!Zp+f9AC!tO$0-&X`GWe(1+{D$C^qiz>3uR%ei?^0RQV$O~GjS3Qw<=#{K=p5IcQ<|0<7i52s#wE=(JfpX}aQ*Id=SCq0Te{#Q z*yVP`r54q*YA5(rguTGHF8_Imbk>Xt`q(pVjOBz1DEB;T6@R&zXzB|BSw36_R(sKb za6vq|95*rKKgK2zGchm3@p`=iehJ{w->ZguwPh2BCrqp4)D8wil2DFvw&&9r6Bw{Q zSv)uHoz4CEoJ*2x;XJ<+@8F$I84q4TJ@slGHJglui=d?nPb#45*Xg^?^c$LEdWGsn&y?pdjly+Kv=Ucp0lUo~ zMJt|Q@yS=18NFe79)@}`g^z~60ti~56fLsg2;F}Y>+io}nB2ZR#`S~d<&E+mG|J_C zXGz=iyeZxG8)1x}x2uZ2&s078XLQUrx)|~D#>mgJ=FXDVz99E3g6DL?lDCh@uc;Z) zw9DUj!-bBuRd;{=Q`dO3gBV#mx2tu@UH&)j8@Po?)xUA;_H2Xy`R%KCyT>Zv;gayX z4St5{hXz`YN($7IoZdAue16&_6ziQZ%#IL$XE+1!fxDO157(2w|&_0!sxWb}nI$m2%PSj?(HwkTb zvDK!6I+=PoOYfG0kRq>?ugk`D+BLm0X6l*gY>z%0??^v$4014_vT)!KTj{m#z1 zYQdAyn&bUPUw<+ZT%O!cpUQ2Rk?Y>ZnLg1lT)P7=E)HQk0pvQzNq1W_CLtNE3o3l` zCirZ=ZL@=Ge*Y5ZqDCYGw2cjnRfLJDdygp_p*}qmBDzMjer}Njbcuh7*X3(S{|g=u z#y|X581i4a$GQFr1pQDp)-V4GzJ`jX?vW_i9HCltSTlih4fMP0yCJ@i$o*BEnrg6P zUO*aM+CHT&(%X|&(0I~7Lfe{t+p+s~*k@IGM-k3z<9}>USapAgS$eK0}yj+;{sTl@#mo|vd z5J1=_j6W%@@T)_WW1OvdA_D;~#hi@QB5T_kT(=dQN-fV)8_z39)(~731E*z8HV8QJ zWU3{YC286Mzz8U2#!~#EvvREgU1F>S$o(Bz(kbg;v{NZArQT-QP!mWxV2cut&8cbM z4GrMf`M%itO+z1GG@o~UE>Nmh`4|;w5Ef?3y>}7>LFN|Ge&M2hNum5v&g}N_ zOxB7rp+~OuKijY0%7z}#zHM#vRHq1mo)(l>$VU*Z1pDv%BX0vnN=!ePh`Z zInqQCBxES-K*l0hxfW~5>*7OKkNH>p@L#;<9DOeQn~|3UmzraIG)3%U8Ns1tG0C8=eI(G+)pnpR4#TM-N#^RIi z3g20xYL>81uU~|MVbIQMvI}yCLFG}0;?);kFGV}`EXX6=b0^JWr!dMaXGZ$dY--xq z&NbJjp0G4sY!v;ikfQMUL|>+RHE>X%w~htdy~ineDf)5;YsRsMII4Cr(w@6)*MP9M zq%?DH;}KoaJ+1X*9V<$szD6AkKowv|(c zt98?x{LGzlOlxfabn0{e6P+v2Hg1=;4a)tLRq8XRkPYD{v|3)*R2kbb)4v6Mbf$b* zqfeX=gw%+N*Zl4jB3`&_&>}vTz3P_;Oj@5_TTROe%blvUoFp6%zo=NKA_JbQ^ z-bWKhrV(w8nk|96cwKxGcj&}6K8NX! z0tcEhex534Quze6xdQW5&@CCTG&7g7MYst>$jd9}sTi@oloL(!f9|O}`sH7A!~gtc z=Mv?$O2-;wp@K44IoP>6se1Xo*$15%bx!Ci(~E81)_i-86>&o&fS_uK#m465yGN<= z8Bh9OkxQJTbM!J1FA7Pfw_6okSiT^>dcIR(0=~!{C}cIo!zKWx51yO^;FbPDjTPpm zEr}IsP*Ad}fGQwFs?b{4(GzOS-P-|Ssr?mmpDk^M0Osp|#oUU_d!8<4i_BHOVs3ZZ zWXvcv=60wP``qhhG-htc3>rCKKxofhdL_|#p|tww6UBzjC!u4mP^m32)R{yt{k%*@OH zgn+U+M9DYkx~6N(B|YlEZHFYqYx)$jU%Huh4Gf4xfLvYV)YLj+_Vg&!q8+;_W8TjV z)bUQnz*QwFH?Ggr!!k?|0B@jV}k-8 zrqLi;euf0CbPIHzj=G)mSt2UaL+Bzon_)%@I#}^ek6;`ndfUaIXT)B^@FaQ$JS@$k zZ+^kJ!38SJlO)%3=xh|Mpw9)b%7(OAh3~#b9UNsJat{||u-UDV)*Uj}+F<3NW^2aT zB}XMPs8Os=i4l=i{62&Z^nXGR9<`*cST;VHfPWUm(_?EZ`3G0op}2NwoU`Jkvs$3OzNM{mYvV*fY~$)JcL5$K%6!YDX0V#$8z+LM>JrT82;&k{5yGcr|cX6+MWA84H!Esq>(1RP*lEIc2oxPhF+mD7D2U3s`O&eQZ1KyC< zSHje&744YEv_o|7s1 z?uMt$T(8j&8isEbyMt-pb$`&D5G)rK5|*gl3qspXD&KXe$g_5fO;^86lti3SyHE53 zBB)KGA(+MQC)~;bJR25h7|=6i>PBaZ`_<@(Z-u05RspNujl#AXw?iV1`sEWiry3_J z;2Afj*2}pL)6wH6lPJ|d8_I93I}zN0^y9fL$$^KEbA;o@PfLN9Uk5hLY^hLA(Uc;5 zKq<;P685UZA8A|TKS%3P8g)I`&wbj-IrzYptX#W30{2@@ckl5J=cqa6ZhaSVb36Cz zu(F7a+LYF6!}fFb8yiJ{1NWf{Dy%}kDWG~3M+1yo`#FW2gC1cnZe;&4_jJ{L!H6f2 zTDcPmyh;d^jPpd2yP7V*w6{;boo_tLCno4j>Fx9=l({oq=a5_>3X!O^uo9$XPTb*O+&Um>t9ah z6BsFlO!WDe*Y5iEi}&9u8+^RruZUaXF$oOUl)NoGE3$jv#|H^=|Hk^U>6vH~NqGRj zPc3v(6C(v`7fKw%u7_MUjLxC;|7druiOp}AtTqz5&6BYTYYcK)v zM2%>zWXY+o)~bT*_YU;~NM3pY&7#6swW-i&g>EGi72eTe6c1%TNd*hEyl!SkE8E@w z{QKu$y~2&ckplt^T!6UTn4YRtInUowZSc|@ef#4Cv(<9@qGbl#ie-vsnxKS1+DNCS z$x}y`yEa1tUW|j4sg=dTog7OYVsXj5&yuFIuTOf4O??-u|FX&HjRkn7_xepJ;8*1y z-xK?NbZA&99wN>SrUq63#w2bA84VXpoiTSC%EeHsaFsfjqv=sImGhh(Rn0Hm(LxU< z53QEf7O|c)=03VO9*fa0Wl3v)jTQ(lk#$P9tp(g}!KY;yin9Iz4YnGM@EFwM)|?B|em z>p!Uj87Q|8abn_4t8bpeUqT(7EVrrMo53EKORvplclu6ao6Y5O0m~RG#O(0wSGu&)wO2!n@XHMzuq`7*@mA}{)~ zxU7}s%`>QzKI}8bD_SaYJufePHE=GwNZ4BRwkM?mQQ{iaFE*@T_M&QVOmsgOXDYaq zFe5dg{p^8BUVn<}RvMd@>Y@=f%!*6Lb=1{UCk;YjQptMi$j! zP~drJ<^5=(S3p+(Pu#LQYRwI99_85W+|JT$3}x=gU*Q`7y-W??c$$@`@*T-16qlxB zMv~e>I+Y9V`$jY3PQF(2YLVR%Wo@G11mc1ea_P5KA*w0L{j;m$ztC;}kGs{K^Vn8X zvReDcBWwqRr*@Lll>b#5`c{a-tqC?yjT}3TqBtalI}{mXuGkNT)30Y&)}S1GSP0V5 zwIsRTA?UcG;gAGXcu9a^Pj)Uu?xM>2El9Oa zm$jT(RR<}T%cQxg5IL6AbKv>dr*85V{3tK?%c--Iimwg$x@EHAg5|yD$i&T1g*zX& z1&w>gPJHm87z~JEkF2Qq%Ax+XW&QrXs=)Y3@3G0y7=CPyN_}nlpywYfyvGI0Cl-r z^Oc7J!^D^7Y>%64#KPE+JjSXSv{_%7Ha_=|iHVu{NwuriafzQqvS4w7b5*kyT1zc1 zC3!d6W5;&);-4cXtJ+3><*?GEK8rfC^S-nKE_S84?7)3O4+$K#vuI3$Jd2j#^9^gv zCN5fw+lgMH`d|83xBC9D>A0n0}5N}oN`0Xm)X2=C)buc&6)d@Cwy*D?q=@SA)a|S77@pB65c>(lxr(SOf=WR+Sjb5g#V&&4@H{K@CQE;&SQ!O+I}N zyuuzXQ?UzvCEvH@;8c$mHJ9G|zV#90Dd1rnA{uU%5mF2H%#?@fc+`qdSQOV1Sr&#< zmbtvr$gzT;WX*0k!Cbg`liI4gHB4<1Uyv1P)WO_ni&GIAQoZSYu1>B|LRZrwaIe78 zTUx77bu+-_^FRC%UI|W|<%*9Ut8aA69;o(8GGuF##;po0I?W+bd7en6p4rn#97}P7 zu84anwp-RV&%h3=VvL!V-c>Vgt5XLE%GXixIe0%v6gmY(3DxcvQEB$P1U`!X7Q>no ziLmD7%>=yO@XiO9$a-o&wDr)(jt?ov3>EhEyjginT#+a?>;1Z!;wCa>MquU(l}PZz z@l4lu48C#x<*zhD-_I)+^afUrt6Wy>^WOC3s%%qGw?^I3=xBQO#Rv3U>YMtkD#=bZ z=VYMWYsqIAA1Q!;L*9EJ3fIHgmN{VunT&CE$yyV;)vKa8xrUVe^iv36gEv{bj^3KL z=G7=j@@uui9{~M7s7C&aUe$MN_I_e?^$1Q2*%9W}>~BP+S8eKb8*qD;N2OO)HWH`| zskplJE#WVE)sGFTcc2^i4c~^J^s1E(s8lqSURA@^dW1}+S7rN>VR-l#z3S+Q%U=b* z;OcOcvZ)1?UUk!+i5&5hUNsUQ`GWG3URC_D4Q2K(dR2W>q~Q^jUR8G8H8(iJkV>!m zf|TB3e8Uv7y@!iN89uL~z9j6{KjsVb8BR($re9ryTcj54SRF$p_qrxYOf-rZRj|jEk zr$VJyl_1s3Q0Y}~1(%f~a0JTA+KFY)F*jax9g$fuqDcoG;p%fgeAJf*ebkQ=#r_X^ z)qjo?w{2Ec;OI`aC0cOOeY41Ekbv{4%(|v(`1q0sR|C*L_w^^vocyg4{3)uMNKeX+ z)Ah@@%$oPYHZ+g$xq^jhAvoLaq-)i6wQd|p7VXDm@kg6kU%iN;Ro+&Hw#zxcd3zW@ z+l(cMgdF2+UgYak@y-=|uR(!$WmL9x)+{7S7nqEFTT+SufOonY_!>=d8(mqrHcQ~r zGxj4=)+~agpb?GdJv3r$_^#eD8n9kptmHXH{E*9SPB~ugz2Y`Os=k(1U-U{bGbn?> z%{0Dgq$^luP`0+5T$k!Qq>nR`(I1mB95cmecI6tFGXvekBu3}FjYFYvk?FE`wT545X*_}#p;*vq>YhF_p3Jg-L zxa9BC`C#~{Cq*R!v;vVm&8@hB0yY5~;8$;1x0uJ#nj{*XKiNE+9W<3NJA?fa{nO=SEa?l(iJF!E{MH2Zm@gr3uES9T zA3c$p&NN!am}EKnRi{RYKhM{hhPt!OIDF!DpxEh_7OYqYrV=F$tJ|+(l#%7K`w;5^ z3(B;3SDnDHuBojWUbk>_4|IqlCSc|>V%GBn;ClqAI`rqUAeM6wM$SGdwbBG06?Z_8 z#8oRMou(ymlWuyZo@pUK{Hcp@k&iON2FMnVi5WFaU~x6mmUf+xg7CuZ2c5HZEr_r# zIOn{ddr8;Pa)*4V#y@v;TuR(wZ@&R(kE)tf>TpVQdbb>P2e;Snc8y1F@&5S~(+7$3 zN4u+fyTz;H{-P0l>1hYT;s@GZ$yaUl%zMZh-1xx4gr0+B`IdwXCE(I}KuZpG3NdHR zl&n@3+s&NAQ)C>`pVagl5%|+Qw~a8TKWOUWe$Zr71N~r!ifsSoPkGG&)K;l1%b}Ol z#_sJOG$lW1zFFxfUd#W|+#0ZVwX}t>qO1~k;-S6SXewpQ0&fcVwc2zc6{-8m+|DZVvxtenDFsP>P2Tf$_sjWAT?{iJzKd85t zrNre)fC3GW6O3TFBjc*o&1syK!9^Y+!SnJ^TL~4zPY%}yj3_2^VdDgkD+m4U#SKQt z{ukJ(89P!^jXYCi!!&xSE7IDAD4Sp&#|QIIFZ4GE#gdsP>&t~C_6E)=Vql$)cQZV| z19$tA%s=U|EbiO8z&@u>Y8aIFdnvc_qjdpYCL?3wm_TP+`Wg82;gSJxK@{yH6MyR0 z?`7_nUC=s5A6yzU6LHH4q;d!};lhH*PYt1n({Db@uVpt52p9FHjX&l*Zt9JZg?HGw zEva#@X4zQy6MK}_N~RI)CF_}`AovvTk|7KcifLHnDEZq z3NHb^N8p&a;T3slM+^KE{AZP<$ZQXk$ptMkDOzOtI*{C51!W&EDU9T1Y*Nj!e5In~ z^qv&rqMO@N=c}9*HZT!wfwq&dHG7>{K8I+Jglm_+Jo69Veg@AFx={pv#PDC%^T{&c zkg=%zgNCI`20XCBq7u7MXDTVVwaEfouo#=D#xCmyH0q_3Ql2kGO+B1}fbDO%}Ss`GHxvX(rjTU6UjpvKYt}&G!&l8~1cmr=~iL@dM>|PHHM=Db@U0q6mu+ zBR`05pwr*>!etQbcwDNX_4T9Ht)>(sjlSw#;aa;~msn;n#L~)bWxXZ`wOtQL0_hhg z!x}oh8S_E`j2DwfDDy)lY+Wz zN|Jen)9MYe>_{Z{%HU|z6b?NCe^>7leliN2FcrHds< z7zN-`%QvFHl1x&skoz>}1qp#^^-Y?vZ1^;$@G`r&KOdH}5QAnCZDI&=dvmpxjtiAJ zjlGH&7Kqv0ZwhVeY7~p)H7&2+1tj)|rDs0`I9!*nk!#wZOU4O!-O)EP!w}|^{IvZ` zeJ7ISeBYpPT>~=Y5xHjbVbAEBp_=P?LXdA^31!=3-a0-r$hw!x%E;~A-t^x`Dn^`{ zMZL8zc}wq8du>YDgG%2X1mwB7Sx>p&T`kP;DRa$0xaJ~C!Es5-SqPE(VJllWexdM) zX`oPw|CjT~Da$*wJ09aITb^ov-*4#j6S z>9I_HhC6%Sc66J|&{rkoG(rFGV}0vx6csye8(bg`V#1(a6OLqIDdEYxd`LKL&VvDS zloP6c*M0v>+JEu!92y94>kYph_+m;qf~O|VC@jlK{i?2VaGvLH9!RnGc9xn|{>s!c z)tt#-c&weO3W zz;8ebFfj|%79~xX$k$>xc0yZzYdJhxMX0bb5~EKYRrfxuTs2$KEVt9+6ojW z{;|_sGisjz1kLTVperi896|kRrM`$zPJVO;2?a)2)%0!ab;rmE;pAo7+`_O;!eYnz zLJTrV?>xUMn-ZsqRvt0-GR6%{Nzf38QbRps%F1D&S?#AfW-{ba9a5Ke%ufmmQqiN5 zX-4Ef?f)k2rB;MEhK0P!#o^%fZ#rdERWo2vQG6KI#_`#$JmVxHsalAyHMWBuwkO8lx+Zy z-^x%zcWs)4Z=#NafjFk@+rR<;qHg*U*2IQeiUCT!^op~+>- z_9@jIHDxXJ)ydvw=1;^+wB=`Br{@;QJ0CxCGlb{eLvb%~lqE-|LY_zsIu#m-`{&j5 z8JfM`m!0{`qnE7}LI5dGP(nZe%6;D1<9&dUv-ie0XfRRMzWe8Okfv`%b!U zyOijLt96Ebq^YGuRd#v7TD4PCPceqv$3rq<3rn9&l-GW7vRF_uMK*h4gcm{V&!&2e zE_ngBio%Wh9@mfQ-&iy+mmB0fhfd4 zxYTH%l5Sl|XjI@-bsSjGXB+dYS$Bbp*Ov0_3zXulQ~Di+N8TdlJEy$@``am))Fntv|xR}M{hp3GdUs>b@j@?1%l)mpxbkNjaOarxII3?Eyz zs_*nr6w*6WEuAV=bN0MGgle$#NQNvX-U`&!-;JzAQ%c*t8}Wa7Wd!2UcsCM>=apv+ z5HfUgKHotVSZS*(DaHFX35Py8T zd60)dl)|#NA#;+E)H46kP?1j*SDokJ7}Ao@r#D&+$%*%)?n0)&Ohj*how;b6_7kdm zRm~S98a9xEQ*N-8QSnYLZ>>jB-4}{vWO#XXy1=TvrL(M*bU>%_9A$}r`!?~UkqMbb zg<6Q`yjAwPH?g-C*ZUlKyVE6=6RNlg_x=1j>5hoZ{{B8K>*oV-*2wL|-@PRG**qA9(X zMoon`=BhXctzaa(0Ym0iW*53jU8lVEhL1AVFe5-|4FsaJB(DY^srbb^XXtgv7)S)C zjP=U-+YbWsI>~SZR)OtZao8>{aJwroC?T^e_gRJPK++)mUevu!54Z`RDN^j6MLCr{ zV9&ipUZ7wiA(|6V{TbVI<0diM6yR)Q;|_3Vk+|H=$9$4I;r8Xrk=g*F0DM?(6SGCD zm+Z^VnbZIn9h(Zdzm~cG>g)$ijraFEz5~|-EQUI<@$0G&5~9l}n$pOm`{Hc_PEz2z z)#)H-_5X{#_YP`u?fQS+d)oyO6p=1ny7U@+lqOvWodl!=2oQQNx^+u$5+FcmN=ax5 z5^AU_olt~8fF$%Ly?4};{XFmd=A3!Y% zZ!a+}cE2i4zMKJkM1lQW$|P0s@yZP4Wc9v3GPasSdDLJql_hQf@@azR8g%UtIPTs+ zC8b%OmFHB8`C;VvCB7k*woM7q7QkgYu)&9KjgoP>ztt>CrTIMmc{o>RE^IH+8x~^D zRELsE)sPe6j`JKX<&vt9Ct%h0g#-#*nqiOc?89^d>CMcpfLOcLTigS975tW!TEIGA z+Sm9ZavE;<9~`C;eb$aUCBUx%ETeW7<45#T;~|413qQMM$w3!(pqvk*i>SIM|? znX1-te%N(ZaQKUi+98`z}xptE<2IOcoSHV6(h83`+Q@!st;Wd3^8Ha4v+4j~C^c(|D}VN(le0N@$Fw|~TF3+d_EX-NE5ih7HC zYyBN+9_JQdFr4d98@jv)`E_Ybh=EymXGl)Y$u!l}E7OgU%stMRiV503|JKIqkr*jc zYavA3c0Sc{mmD3;dDARhj^B8p)fx)scafNX3YphXad1#ZsnfmMvp?tl`4~+!FpfjWZJvcy^Mi z%DjoZ;SWEyn$Sjhvy|zRn^kmIm-Q9sinTnbMIk-qCMqXK@&k&KIZoo&XXB8=a;C#_ zM3Rbza%#%m^wqtcW8q0AJ^t}WtMe%~%%TCk8KCk3w~PEV_eA+VGDnaHrpmdSdGEx0 zuE}b}9JziAJw7R?B~V?*na=twkSP4AX9nk>&xS^ZidG2U43!4Td>(!n6x%tX5KR62T^)j}B?}g)cL%L;a%wBvEFuy>T z&ewwQElFFs<8D8F35n7RT$2AS?lap`XI)PH{IzKMYV_{9V$Ja+N@g}K6^jwAsG&pr6y&%HwzrBy7Z=eA@{r-ZGA$q1hsHpv!qlA! z(&feXuKUtght$-ZYMK-_EDJlW+0l_;1(6)2jQ)bt-S9+``ikRK2M;PTQ>DXF z9aXh5C}CgWL+@}td`hfQ+o{C>%s_F}MEbrQJ67kxNU{Ed>DmqnzWzNoS7xT&6X z&HEM$^#{v^H3elp8K*~dGwp)=WaY{@mj)$DHZnUV!B3{$c?GHNshwi_(_(5&uuHS+ zZZ;NWvzq>r$`+P&J!A#^8ikh#A~-u5f6&4dqf0)lCIXa)TZQ=elWC6wzU=()nIQbY zSgD9W6y}jji7ujN%DAn(b4fca{sOC0SyRVh@AXqjv3^*QficS&JN6)b6Lj9R{JuGE z{B9Xcyr7zS+-JoQ_JEqLW3r-n5Or^a;+EXM{mf7{%Tq5v06SwQ&hAo@&Y}x}D@|EE zsUuDtM&Mq!kxZ$g!tK>V*u8DvbDbN9Sab)m!e<~6&!VL~wgdR(1> z+NTN2=|x=V7CFi6RE4KpIsQCeScqBE?02%MA8bMgN|tdpdZ(4PmbGwmc$%jy_K}sg z*&iH7%KRha&~?!0RyzCGN@&g#h;FviCxBb7v5^e9yYK{rY`VGaQq=<+;^xra6t}hZ z)7m+UBOP}$u{z}dnOf^0Spg?zv;;Y8V;@(%ph|z4o+tIoRyt4gBrIm%DTo29%m!{9 z)4Y5>UsefN)tWNYIviY6SiI;UB$|HOl0BFd&@@?ftF+Fw2ye^j-10W-lE3m|IjmCg zkYZIghmDyk@DYFSUPHt~vgxy{eX6^}w)m?OE%ek-)^Lih?-Ob3u=Fg|0e?IN61XH@ zrns8>r8I}BR>gxnI$ApM(;WWIyeqpXh^1F0G3%5PmS;9A zO1H=e2>SjhvnrY86U|$uyV9)aFih3XlUg76>lCu+mDG&*$uzisl9 zAu6bqxBN$bi~I%49C*eiH+b{-=7f**$iY_hYw_DHgl^|#t@T2?_q|-9_40nz1PQw8 zz+l72lhe1mrzCc4TvqFKgJ9b~9Ln3LPKa&Ec!d}b#XWBh`p zv()9a-HK;#^B;7VhYNycSd3qocb1j@HHVPqN)el^jOA=SJO+mhCZRd32Xs|B1;hdL z0^-b~3T)PjllMGEu|y7-mJ}WjT5%#3IG2^R_?DHXQedNjVF9f~&*(79rnjcS<zKeRv^ideOV;E_`hT$`jT0-RLa9Lm^4maz zMlZKax4GRloew1rxPt3NyLeg)aP*pE&NygeJR8A<2TpA=vyUw3RQjfB_^wVlh8xZ6 zc31g1Qm18T4ZsRQyrR$v`L>RLT79IdbYaJs??!IjE6HfG^Gtl+5tfHdkMWV)W;XBkZX5SH>v4E)O|ua$wi2#YuP@a_Qw9oj8w+9=+jHZ! zEv&kAhi0S8PmjtQDXiCi-&S4lzzs16$737Udh5tgeC;itZVuxV9^BJM{rx>LaA|f1 z>DA-NA4`bc!TKMkH&lA$Td|!YOJJvSzN_79Jkkq$n-acckshf@$kl};6%o(@5C3!B zgo}%duN^%?DP)_wIZJDN7Se001rBcEiS7|*`Z1ofDlZ)su@+>jPIDO>`T8j5y;v)? zN5%^rk68JeCDeRU7MY|nCF;^TY`$%*Q(UQ!?LYoH`Z!9OypKSV$erb9WhFKM_xlB5Z%2x9y0jKO5r=Yt(?e&1;j_Okz22a{jsfle1s<#M z*<4UgzT;@W1{l^aTQnm0$Yl20+!QNDW--(*(K)2)Nz|L~-Nf3330ku-FGTwky*cm! zK|fl94Tt&l@|nZLhcKs2e`!dNY{*38IWYeieh}2A};}?O^K6%P(yt7=z^PYtL z6+vGoK$>|lG+SKM-F=NMIk44{F%%ivVtPp4QjjaYuU57qM&MXC(79D3m=rc9JvTOb znlTP^m6eE}NB;w+LA3=AOEB!}617qyc{%gIHTYPEXx_p5X zd5+3hr*tdaxp5lN=y^b=>W_C8S-#S$5`6w5&<_;`XKd2 zkxsk|T8-{RF~V=`GlDpI?_4idjj=uo@;cjt9+0Von8h2~C`}$u+J5LYWD{PNaLP*` z(3eipT_^Ad!ITiZ()WvMbhHV%suFMG=Jc2}nf3fzFtb`c({@48)A_J{-N~|&G65@r zNHTK8x16*0yoJV=$(DKPY5OgKL46%G#M^b4eETFVF|`fUh2g>`raJ|-{$8Q}8$Ol3 zUD!BVL72-|WHjj~AhFs|-i7tnGeurhje(i0f&XFB@a>{Sjiu1=WD!Qg$=2F;aA0&;c+Q2C8rb_e?24$9`Sv zJ7lb~5gTVMHZ7k{`_%M|k27_;q>VCBkie2E>_7AM2R439kiXEF`=fn`qCOwjA7oena=a3ZegA z)&2|P-(kbQ!-ju{4gU@s{#V%WZ)wy2ENvR2HWp;#_;41yk^@6n%~vu8jDxM@DFzDi zA3YTp;-vZIp9`>NWic{osoO7u)ppvNannkqUzgf=ghH;4k4+SV$}94nUQYbb5Cpvf z7Z2KKT3uBU`#|;ShUn$JzoS&bcX_<9-PesqcFQ-MrZ5a%f)i*Fo!FZLGrqENb zdC<8q_nqr0mUX#1lXm*2jYWkzZ>l;*{=uIS**z$&`c_Nk3TY%WK9n;zEb)_$>o+Ue zM}4koL;i!B0kM0UkPm(-V~zez_#t(mMaxBo%6Ju}$dSL%TnY*G8_mO7mE(SfE*?FB z8JOW4Iy(8b6A9g~)Z6<#1~t|JAt?W(2%UFQ(T*_P6t-L|r?0h;^Hrl%@M)F!?Pd=} z@)RPnW!C%Es4|kmJ3_RkSXOzf={%?$-D)zrcCBhF!0eU_#$nXR+uAfWvxk~EGL6Dg zXp}yUp&ah*AKA&fxAMH*8|#t)%`V3CbRGchM&Wc&?5U@qA8Wk5W?D6n=cxH(f=Mid zv^M?JjIixQcsAecy(RlzElD&{R#dN)%pdDFUkSkwt=s*bwxN9dBOymwpaz6}7XDP)zRJ)y!UQ1Z;~Q~m2l$$~0} zV!`~4Sy~jYW3jHXk6S7y$qxn28&QP-Wu34cGPeNgA^l>FUu1fDlpdO{~Q+lmb0+Ofn z#RV|1`1x+4eI3}BJ4;FYE?@!rXLPok-Y2)R5|P>Ep; z_0Z@FRCcmOtFZ6->G#%xv(~mx(4?lpzzpsqB^0r3{%j@EfZ-3Z+AcXQ{Mc!PJj18G zn|&@XGNdo6`2st$QkowkM#3UfH^rA{)WtL*@0!#WWM5dDD6)I$o}uNiVbgI(auygj z-`9X36FO-FUn{`?>k(ir*|JN*C@`-)W9+BzIu4OKWup?EB;t)_sWZR8&bydxA@#Bv z3!M#ftyBOVzQ_lIx?y+wUCjF7Id2iNFueUm(zl;@j$HS){OQQkyG|a$xn+2@{4j++ zJ*!tJ|3&&a1MrZ;Te%|UMzT{tHz=k$3k;8cNp*})i<#+lk_hE0))z_q{EW!jA z6}5BGQC8u0P1Vl+)De7Xl!-7n#3^YLE#0B@Y!ngu=#&PV`eqCgc6eS;>X}j7e0`Fg zu(fke+-!x~$eA%~l=FXT0)n>89Pv+rTAzdyojvFYWX3n&BiyqVEvKvIW|&fNLF<`g zg=53GilpPuW-%`nr0p9ZA~McPe1n?SDKp(wb# zX_OI-H|&913F5Vl?!`@%+F5V&pT_m{O#4aZ*;M>zFs zbS6WsCaXmRDXQ`-W0Q3!HDwk$nt1i|8};fM^lAmH*vLnh}P-&bde#@RN6vTo_PZCb{PB8-1G);ye(28I5F0(hck!z0Pok?#58yb zcIDLUfF6~JWN9~xln{X_B_-X}<*A`@)Qr@nq4+_i;)1fM8zS{f03+tIrGbqg|E(sA zeFO-a@nARNzu*M_zyB-U)0VpXHf6QW!2FkIG^(%HV&-}PykMPbKPndz#z+Zf#5Df~ zCJc%%i{#}#eBTjb)ZoJuwb1C&V^JKXw8j?)h36@_bO-TSNHAoO9+~Q%*oUWltyXGr z53z`jUX;~(;y!aN1{;t-HthTC8^{V|vAk`C@k;txXXmXO*lO)=m3nU=!s+>X1gDOP z>6*2GuV}&CdQwP71yZecGZY%ME#4dYk2t`O^kx=W5kXNzZuJsheN7_L?2t9Dy4sOVU8Ri%FqRFJ1M+NvCW`2TD|2M)HfG zc1VhMX#fqKQ&wZK7N_Cqv+iz|M5wh}QR`!Ts4F5H0O-olPc-X2GwV6}b?M2VQ_PNK z9(`caNd3Tx@0{|&)w1#0yt}d6=Nw8KZf}p~mjMXC`)>={%AH1dVc9^J0r1FxzCJul z{Hv^nQeAw8K6G`G8TLgWoX{0*j^+bKmTg1SJWj}-vMOEBTmf<3t_k8>u(EYovzf-x zleF2vH(%^d+QXi|8dz_;Q1~mCaLzTbu53mE%I#PJem6|3oIfsm8{9QwxV>Kfw}DigKeP+U4!s-P7FHmTl90QtU0_ zQK2K6vX+~r-Amoh1&*S6;*F<*--|wG0GVOAqOv<;0f@6$h5Ht@CF7NRwo_Ja$1{Rp zpT4Dg1Oagn{S>F}(m-h+CJ>ajLRhT?Ba2u6NmL!aVPcD?Rx zduH;5r{7+5P)IDN)$vS`$h;aGc&XXN-$yA|B#1(Rxb2w0x& zt%Kf!k=kP0Nl{~NntliC-*nUm@p(FE8hNJ5S@`Qu8hNHl zyq&>o>u>T54wV{69r-7D=J_!Vc1t7Ad?)=-atAFYntjx1b~8M5lS`h6?Tr5g_? zb_c=PPV%SbM(*>QbGS11W|xRC@l)V=T*>1?nd!#XHB~_?Z9Uk-c(n3EadV3NxD=#r z$n))(CwiJa9Uv?9g)Ve6&G(6hv0Q>Pp6j?t5QWBrwq$b3r*dxxxfgFcS}L!G;!SNO z(!r0X+}u#`kfq@OY$9?wYbfQ6&+);4At-CBQ+^crTJgaEh(+_FPnjCRlT2( zN^-j}iDrXYxOgtSGt5?^M+8$8to~_UZCSm`yqh06ywchpZ)##aiw`J={#Lsqwj$DO{{UvaCa`iN^LPya)SsUR4p*-IL? z>ewkUl0ER;yO%LMExq7bSXo;9(JB4DW^~^7GYFqzWfHSrg#V&g5Tf?H6Ki1LUosxr zN6V+t8t^0OvMnHo){eG$4dh$pfrc!p_&krW261rv3a>ywGhM!LRYF;ayGNl;fK)n9 z)M9o&cko-?RicB)kr8_tYU+dLf`U4G=b>z^A~0>q*tsZNTK@X65^lZ;I37JVVDUyb z{}vv?&D_ihQ@aoQ{>Yy+^+igoT61ILcSPP*01I<#Di~q_&U)Il_6?C)lHr!cpcVz3 z%K3hGQX8m6Nb_vBXUc zB76rG3M|I{MN1$Iyw5-Z6BXbxlO@Z;vRaF+nh~EGcQ>VYayc#kUUsqW@y1m+s{!PC zEWEH@Q=amJX!hjfqL)9MUg~RJN8jF$^!AyX3f71WmSm=KCaQ&H@4}0t%PJGt+(i#h z6_TfFL&Y&;=qS|ZmZ!R&bzw_yiVNQV>-B{wEWY-3YUFTX^>BuQaX>wW0}Hoy(~QK- z7mi7f=d18p*5r+yu!NA-iK@@$L*Bu-^EPi`ic5o>RgwmJTm=wMx$4R^1vSck*7Hmj zlp#`X+FxFbf@nr)_08)f3IN?+t}e=s$-)&Po^?2-D3QTm+Dlso(JB*%#@6a@J=0nX zZbso>rmP)3PaII3a&NJ{{Oi)1FECIxpCh>YKD#`@cJ+r@l`lY%BOpx3=xBk0`QJRdVG)3f?L1Rz`2kDtXK2SvTYj zW#TmZGP7stzKu!@b`(9&qe(7NJ8LJCc)@q9xR_5#I`7_w zo&?6qK-+C+zcs&_8yyid{>u_y76jIGh>i9Yf1M_y#LNWA*O9O7PL~)_@$50qi0VUW z%L*#ri_EpLF|vTBkb^YF?`B}aLS7R#+!d*ZCId!3jsc=9>O@@U;?FRc;LD9~BvyLC z%+?td)?!JIT_9p&3xop>D918>$8y7u?&|mUYKM*i1AzR7F@1=6D=*%y_tb=5r&fP#ovul)hym^Kg8!*rBsfHOd1^=@t{e0A(|i+fvMP-(G2;~X-` zW$XL2;)VoAgJw^`}QiD-wiD!xqqrV znf>48k$13D>>-Wi<`AVLhKlW@pE^nPRw5EDU7YF`8C9J1Z`dfGnW@e5(+;JpBRA-@ z)6SzAA9<>v!Xra19rFqlQCY$Zf#E^Ea=x>t5e|_Wl~F9c9HKJWr26#W;8*Gzjz=v! z!Eq~=14SDZ*M#iTr2_t3LXu9l*CEH3(e6vA+AJykags(-{qShIfMIcg1#hDSSHnt< zZg1hb?Kmpq)gCpYjHB7l)XUJkoJHoQw;sA^i?gaLZ@XJ=;3#3PDW+MSbbhIG6H4hu z+vVn}cuV^AZNM^alnme2q4qz^HtyU>_^R>TOWC-n6tAF+AU=f^hp(DhX>EG>s+faR z>BhE%T;fYZUVMCdbz3e#-N8E48ui`Xm!Ni=1$qQ(rTjTM004f~zHxYjl&oQoa(0*L zH#z!VmHVwiVq3IJ9wn#N2TAmps0$EL;CN4vrbp=1fpi^kMCl7Ar=TpBn;8~V4syBX ztCAwE6|TBk%Z(TdGeLm*>TrR(eRmQiM!ax zZkRBuImJ9$BCb8Jt3=XM!g11ZlK!@=Uxn#8JXPB{d~8Z=w4+xTPUX{3&vwQ8cje`# zm{XZ7`kP$?Xf;xb*4QK9@=zjbLA}{IYs6$k43?-UKrAjR?=&@XJT;{I&cXcaQi4KF z^u{y|8{QtQL~X0un6Amsy~1#mOB{DOO+K!3zu-EEJ{@=W`W%6J;715}5*)PJ72bMk z&d?^auh`V2S?f9KE;82^xA`PaXCjCy139Y0Yqeq_s}`*HnS&c$F#JHxBy!FxP@tQj zbPbMD3HOZCWet!rpB$++`n}uAt0dJ25@wwkx+k|ehNz6#gN$=vjrDORW1pvnN3kGs zPT4r5cPqU0qfrW(QXuUnjV4Y+ktS^Vrj^<4blMz}Qw<-Kq21n4XFo?XkBT0dbU_ zmBQ!mQCYA~o}1R8dTaJ)C>7H^ZFL?a6VFCP{FDhrW)#YGiUSUL~`z%D0{JeIdl_Goug}<=lZ#=pKl;)ZMF%oWjy3o z)xuaeLcCJ8=!om?ue1qlO2TD~7e6M?nl{DyGrqi({0Gg8d~hq+N2RdATh(zqTX9c; zAjugbM{7p1diBg)%_tb%{baiMGL4?s9Afl3mw2HW*W|V9dEZbl!RnUfscL%C`-f*nu?sHrYg zM|Iu4zaBxJl0T`RdKibgA={E&BqN3E_`%@LHQ*5jF5YmbLM5d_4G8=26{)liP=DAv1CHplHBGkn}EC) ze_C7kTS{^9cU#Jfe|$WT*Uo1KL!W*)-_j_QEfucW7H=)L3n301Qej_ft05jL%Nk231$xUJ{cVw|XY6?V{b-QrxryxMh7 z1%gH7rg0f+TN|(E)CI>TBg`|$(OCJnYg4I_i(4+)TwAv+yia>#!Crp|^?5jo)=KML8G{GDb?rtNh#THpQZltF<)%w~3mEihz>Xfy z9r~HgnxMaKS!s8AU9&NY%nrTDDOc~UuO~JfrgEtm{U%wn)2nFQ3TWZ{!l$uD03{+o zMyU^dOgnZ_zI`HzDQ2 zS5J+6wCYu*_9A&zJQXSKacivVJ?}F(14UWf((vX0H;maiMm7h=Mow}#Dx+nm*V>dR z53O%Hd$Oi$3e|sv!j#E%_qBsHaXr?lH^7WtEJE}MgcuZ~ zKFxDJfOHuru2?2)<=;2&f0auF*_abqyO{_Ejdg~=s^aldc}$UNOj^r}A5qfU{=q zJ!L0RVf3j9^C`Y4!IM8^{*+&rRLEt%d2A+u$*QP`3E&4_v5n9o}mn*&a zX>EWU23hm{bqVlnPNU}TU=u0PdV*-aiq`YneDTBWb@!9hUzd>KuQyeLS^5`VU;i*+kd43hk|g1lJ8o=QU{8&=TcR7()W~ufF~ImN>D44r zaQ7f{xYCq?8%dEoF6JcS7}+T>cUZ1tY29|(Ztt9JPyt|C4WwF5>2`iQ*r*D5l1I_W zRFRd7QrAIA)(>_;^(d;QOLZz4Vrlz^1sb8E(Tgqbh|<2s)3v5kroDFyq>CF6Ha$&6 zq91SQI!>b#$Ha;wUzdMV@bkjv93Jk^S5{cmb}WBh%L+$Sk;hY0sH2CC+fE6{MEmy2 zE7^9QFI7Evww587z2>!X86rrX?;fsiE%!scjX{0%bTDQf#A-~jPcKcoi(|_?NN2ys zd@^DY>OWSm92x=(Xv!I`!oWGLEo9fTFZTTpjeD$ZnB^{4YlHO~HCEi58Uwr~t+!Wl z*PuYp2It(#^G1avm0Qsgj4-j64p)}q>WRS|8)0-`{pj4B*ux!obntnU^_oDCMOtqv zc#pp`dHB8tq&M~U42V)I$2Vo=qg9auCfK3@SX#LS3|=o5XhofJa4p6Y2%NKZmdblLErkRL?^E9=avwjp2$2lS@4wusU|`VgtAKnvrS z)9tiP`~Ei)9Qy#xdauKu+Hj|^a=wWj)OtK9j-1%27tRiHlq%3mPjyJ!uJ_0~iA0j# zY1!}-c1JTvwG9*U+&{g$(n)Y~y-x-~!iW>m`5P_~q$m+utYPotJ zoR!c%ku<>7U2BGQt2OSyi?E4)nfA+GJeS{V6X?fPyuGC;kkj?i)=B(WhDc`RYArmF?uQ^R7uks~SOr#f-$ZQT?-sG++a%&G=-WHsF* zO=`i{97WXWdlfR(b}y$BQ5|L*c?xC*P5+4R@{Cf5UxT`NqlNnl2A-cdc`$DIK{^A` zl?>&`%HPw~SbY1`M1z&d;bN3;FIF*4Zyl_h<0mJsh^x|tN{B`XHufQ#r2k4B`zS7D zEHNg{6+wq?Qu-!@OF|`Pa4dk?H;+X^k6PS>7yXzBJ%~I(Q>EsB^gZp@jum7WP|Pz5!_$7+lBuw-QZJ~awas~wigJLJ3ij7quz5PP6yP=3#|$e3PUznZ4MqJd$#hCx+p z1vSx^r-UOknCX4L@QrPxup@mM$3vTGNjxAS+Q-tL+jar^p2$n8#b&6%=sZy0Ug!T|DxV>Lq{ z+T4>!kpyO(uCd${_>dPcUE@aTLe?87+vK}NuLFN7UF2U77ibCMh0m=n>?hh=KD|%s zIggX4i94H2&cvveFCT+{w3ilH7GACLGu>*8>%4n=(V7A&vO~m#XE4*no~UB z>$*U$LsidGh?wXP+c!$sIVWiujTsN)cN%rS%^564 zKKJ`=At*XXM%*iX#T=i9oM(MdjIc1>ywXU9HLLA+dNIxRB~j=w`X6%Nk9HT8Oej`% z!JCLE44z0NxMQfxiHRQX*GBMY(9B9Ux-9A0$V6$008)7kJR+n56d;zr2_1i}x((FL z4rrI%8k!nz_L%@FdB;N?|F|P5X4abhdBt(U`EI5o@F8V^@uorl(G0i{H{XoXM{cJG zioJ@#@k!`s2A(ZXm6md?5#r>W=C`a5l{SO^z$@nq^~B4k!>UK+gk2Bi)i{ZU&&Lc6 z?N;{EtL3HU&;Ge&{kOhcQPVVY!W*Lq*f%0hd;;njyzC5pF$KnANwOI>a-W=VE8nw1 zE@qQV^-~D&eAxo5TWr>gKUSC1Z;LInF!{Ug^EPT^6zW3oj8nR%dOFI44ybqI$X^mp z;fZ`}BIuhEy5Xjp`sp(2BWm3Lp#5^yfsVNTSSDm5XDRSTS|6MuUZ7FbrJKSk&7~Wf z&(Gt|AHaIRl$;^qe62rKb#D&v@L#1fvbU1d25G_d>e?PP#Bj9h2ei3%&yO^?&4k(+ z846F`#ZR3Y|3y793Rr~L{S|bDy|681`gjU<3@)wategj@`EP$dq^EZ=s;}E@b0|qQ zJeXn6TWK%@LdRO|Ds7t&s>PKguph|S&Yik(Qs*q9wKe+l(HS);p=Nh|CXC`g71SwU zh*6nD%DNJOhi(Ine%rS$l;%_gzxQ)T|L}83o3hXR&1qT?H-I*^a@q?o>zC#rw|AvJ zDiw7A47;Zc!1C7a0%)y9x3)QTr)`B2cOwW~^I<5_<}X(OU7HPC2`Hz8$foH$HfL8I zNY>`S`>Me)-sMBT>|#7Gg>bzMlLxS|@t*cj+hy>*_GZj`v+6mB|T`eXQ8C!Kp* zDgZ;gEA1f1A~!(z^aqQ~f4WWfbz|?lgFAYLm#RsWmVT7Y`|;qukp;sb!y*DkLO?`k zZ#kVm&DNLakQtcbt0uy`_i>e*0X@4f)(iQ*#|Ay(hIZN6FORHCO3xeI#_j9z30a%m zD=^VdNJw*X`VFXdg$~#6Y?aK3%CwKlhD5Q##H9)1Mem8?vTu2zMIVLvi(+D8`8EE* zC_Vd>SA}UJR2IdW%6c?P++CE9&I+l`5U5)>@fifMOeZ3qq3kyjCTzL zZs-W`YiQ{3@?MI~_?`Rz0lfN8R{cMIjBZ~p16Eh6}Qsn-Z;Y$2!7U-H|*zHan=zgw}&vLPv8UcKRBX==OF1*h^d1p;>vOxZ| zbKA!HrC*ocTDRH%IpoMA^WyJg|6!|$Ir*}Ze=y$`)i66con&+&4paYi>En|N-WtyQ zs>-9(Xn@<$kJggzW`+ys9{191%8nNkr@@ij>j_&?8pxpb*QIm7yWTS%)kzwsw*8Z52|Sl8O<&X)G+LrKKw^ zeW^76_b4l88L{ppqWY7kl!WruU zV57;?C7ioKPxjc=`RChTrXZwIB1Sn4Q*UE!a0}KU zmVlTn8r7l=T?R9yrx!SaRF<=9AksdH4Tg9Csi`4|)xp*EYeufeqTug};Ba1E{uIVb z8iY3t)PGvmRq-}PtpOp=ds14e8(o*T~17iIdH4$>-4*8A~yiS zbBxXD%axt@eGRy+E-BE3@hv5yfzJyAvU|s*dDC?6y06g6SUwlU)%0w;^QAnZ%KBr% zzd1VY^Q{|Fx4tEzxX!pIl|Ri#jsu5B zavb54d~5p$cM+qzw-xGuWY1Ak|AWze+{bbwj{aA5+F}N773p^sw6b!MP;ED@ogERC zms+Eo9{*vrYe>`Q)z({rTFK&hbyHgqX=+qcmw5)8Ut@qE80sTzVw53U%3rXb!cbC{ zLo3!ZW=UsweiHHIT9&h(r1pEF(Wi4m>2n783@aL<)-@mlX~n8M^1he}PMZ&fd=GDC z?L7KFe>&e_oItb>7eDUL9I8X*C-c;(5(X;p;`P=(f*E(5od2E+Y6WEy(9b0_KV%ko z@azux4#id76(&quMBsPcJ!~|2Cm_%(%%8!_yU!TLWxsRw`X%i|FLI&v6rYT27zqqB zP$rh@QUYp=zSU8m_4LA!1{#0Q-4BPrG;V@eH7mlg8;W{hkD9cPveDDW5up6C1cQe$ zNa!P79bsNxULD3em-QR&{P_GI2K=A=Svmw8Wi z72+?v=Iuma^C!eFhNQ}`VKjM>-BiwP?eH11t==dpdHxyOYo87S&O=eB@@%@-Qi zsmBIi6~2$-+q7Dg4^#|8!H6f}oxwJA;*xJcI!~j6j#|23n*&WeDS3%R-x;RvM$fRK z&;z$&3=&78ZsiCmf0Z|vu|lpVbTbd_5DK&BJ(_OxxcN3aPn3HIj7~5^e%$MxHxv|q zX_#>Azt>cHX9^OY19N&I5!jTAtP6w8&j3&h255hDY1DJUWE;kf@p~Aj1dFPTumCwZ zsh-7IUy-3YFf6F?fdoP?9WXy>R_&J9n~Nil-lv$ta!~pC=xDXL4>#9R@0mx-Xh#^xFEn{dc{U+(!_qF~cl_HWlY zTiG3j9tTq0I;vF%cGzt#dIkW;=Z0# zPoLfb<{W!Sg;X23`D;Hf!DtI=9YrL2aKGC{P43E7K9~y&6t5-Dg_5IypzqM~)yWqG z%)fNE;eRg>G~I1Rt^~L_A1*9q@bizVnq!u06h1*pw&Y8gKAeFGA9+vgFUMu8+dd(; zlO!sM2uA2U#ffB6q+RCub+Gq9Tm4-hSJnHq7lx{Hr7vP885v7Pdm`TFaKGEJo!l9y zyk;L3$W%LOA1V?}w0Q(A5uSN*j@kOB+IW(J{`YyB+PJZ8MUtQ>&e6E~)g$D8aHF}D zeCI7X((Uawfvd%={O?50&TfIP z1dObL>FXw8QMz$RWGpM)y`5*>da^_V(QJ+vop;Ul`VQS6bd^sp7l@!0A0kn%(9(|q znr7-LDP0{FE!&~1jt{z)S6a4AwQ3nbSkU`=*Xjx(LBt}5yHqERb)y?p|6zDh?*0fl zhJtyFH`K1ooFC?t=t=s^stB$dabslw%GdFUL=1!_iZ0i_-26DP3mME~F;zoS0zdpM z`Nq{VB{NrC^0&&m08L`xZ(xbHDgF{v-c_Y7_nZXx zMMt(u^QykYAvt%m5H>uxU0H1Qe}6aqw|&ClYEW0nYk%Fj)ryL-2A=uYLH>C){@%M& z^J~5;!Zo{RwA%XDbm<&T?*^2(^3_)0W__)P`C(oyLuYjuwrVexDn!UdB>nE~?Uvf$ zpSf00Tf=klC&C$>zyIIE8Q<=;jMwM7Z5M@Y=k4_K-=!DH+P^NT|8y_?5W$iEg9h|I z^P)+qUPcEB|GE?}8kPUkqwU8Fc2j>Zjp%dNuGc>}Y1r=3u%;=bYMFKdBXd|pxD9$c)2-~3)WZ}G&2C0{4$JtkA0D~s`nIH++S-ipc? zxM|G7CtC^#s0AY@>RSHvq9}LNn)%D?YqkW1xZ2T~=})KE91j0q)V+65Q|sUMyZ5$j z3pNC#x}{2&5<0k*CS7WT1W+K9Kxm;iw;~{2x}gN=Bq5hB@0oeuf6mEYYm!XvweGoR<^EpldtDz-lkzfD6u`)^v(;90FVQaX`++Y0 zELw)mldbvt%*Id$0CID+pjLo>ce9Foyi4Q0qIz}RPBgvsW zaXt%3G3Dte2y1cD&Xa^V#djIuhIU(+&g7#!+px1bzkO!5zuo$Sg33Sk)sDrs*#a7E z)$V)o?v3cJEDa6+I%(MC9)1_E(|jhiM)D-pbrtCtkA-(mJ!^LC!23;SXXclv;+LBd za&j}=NzI`ZBQBY9{VL2qIV&8Ca;}H+yMO*CtL1)3Oc*pF%iH<%W|o+8qdR!Sa%SmM z*@v3v(<0@hC|yTuiAu-_!P>#NjVzi)Z~t^wzCE4wB1&P`)ONqN2B}h}TZ)8O)lU$j z%+-$N2C;S)0{B9Xfm5dlcqanw)buCO-?tZ?XZ|?u;{R;?|H&!+zrNLeV=M8+`ASCH zh_yAwTeE{TSFb%xFIA+mgR&4{?lym5o?&y&DW)8FHQQHRBYaR0lM%kAaX1s2e*m)q zI8O&UO6;9nIE*0<9m-uc$wZJAZ$n!O>(g;~J9X;`5J zJ~)ztQb|WDeh2>Ee#r5Fwpo)O%!-ygoiB72@n%`Ebg?;*@UP$8E!M_bLKC@Eh}*Ch z^uR4=#)emoeq}qPs!HOC(vEa=UJ51HIvHr6=aOJ7_~zE5^T!H}=d(#iq_xd#fS<_Y zI^g~=)ty+OO82zb9xSqI=C1Qd(`lBZmRaTQ6RfNkrnT080)n=+V;-OXr4L&k=@GN( z@3LDZdVS(lSSGnL!NmLS-}|jy3W%$Q|43>7+m7Iz-NxfKo-1u)$cyf*b^s>Vnu_y3+N_nN`GgO;`Z znzNz;E??Tf!i|7$vK^58WPu=LA%l%K(W$06%a{&{RlOxxY9DylakHo`#P->}DYACp z@IX%xBabgTIKyVld78~|@5i7}SuN2zf@Y|!i|7DH- z9~|EJd*GOQYcm$C4#>zRTvRhvZqL*&6FY6p&9Wl`Si0Q;V{^5oH1+%d}m6 zB5=BP3wFdzIJ2S_S;3YAWCx#oENFR1Kf+f&7{N%2lV>1hi?YX`f&b&Q))OC+;toU^s~uzZyH5!^s;+gUD0v?;G|YFfdHObu$PlzBH9wq$Bh9q%VL zKbXi^Rqi~01HlUY9U9{H{eMjJe>wX9*Gl|D{0tm0FgTK{w&qc04nYVDr5Vj#xmg_k z(=KfCWQr@h-XMH_F$Y1wVS2(;v*c1?(>i*?6LxJ*0dEoWN z$GcJw2r1d*f;O|*EFmSMhNA!|@V%0*(55jFR1mPpf>uUNd`10~eL|uvZM%#gh5k9s zRzvX1{Bg|8;y3)^7;eb)Rh?{BPG3GwpsD^%$iKxsXQXBKupx+`qwJ2b)cmmM46^pf z(Rl>FN6~@G-O`|C@2fCCp4?`R<4?_sI)f+v)D|ycQ{x`3$x>goK@{2cP(5wZG!$K^ za7dr4L<`o<8u*Oo#x^F`3phJ+8)>a~SiK6?wjzCX z6Y4g55Iwx@in#FyvEpfo+A#hH>jviY$Kha<|CDzr6H{VUE&E&*kC|?n(O=l|E3Si! zi46vXLX4@CT*xtb>TX!H+4|JnbvGD^Wu}6_ZUD@8rm1dlo^FKl72E+O=a};wHC;R7 z$oRdkR(;=~3#&>@EV&{k_yH3vo|;wMT@X_AE^j|=q_e8Sny>jf#qL&~k_wf&rchE- zYMrAdM|>b8zVB{~_Ws%1Mm6#G14fneKzH5-w))(i%h#ZiV(d4;xEr}Gh1ya0ZepIW z=66h$p~K0PGq|(5rw4slqJ-yj(+fFi@#tOC`$_^z;%9hy;-B@z#TFThH&hsJn4548 z1YWisG{+H!g~Hv@h!*;dJKarc%ay)k{#dUQQnTmTCXSb21FpVF2~Ik%1JaRtITB2tIKb_;rqb|lGTC=8~Ngp3T3A)Q_ExO>NNq&EMPb205|qH zE3ZQ*d-_wydYpR&dXil)_f;@}4MKf)N9rU;*~`eS3pL?EUey{&*}PY*1zXWth|Rcd zJ_ZsK=hR7Ov%nb+VadtRRb#I!uyF>wfp!PAn4L}H0$NIf+5X%RTcj+Zp^WWA4ZG#& z+O9+LoK0H%G^>B$&8fR>x9TU-Cxjfgg}PHjSS%2%cK>Xer#Lq2^moOH+2_5Qq4JUtK_Xl}L>Ufr`Osc$vZVIaJ;nnK^gEgejP+BOV; zAFx+Cj;@6aAH^nIPhx4Vtx@;0M6ko&dH72?Uq~4~_WLvNYIz5;A%aCd;QJ{Z>?CU} zB@5nmOEA#X+0a*M^!M8+$Q`5+QAPk5k1;yw$4UMJPMdT0 zG)!7B_a=u<)$mUnpUO%xrRc$+=84na6F*QAB0|Gu+O5b~by{8SIzOR~?KlR93M4Q6a*HR=?qz!b`d+kwEY0w+|Qr6h_Wjj z{Pp<4KuJr0Il)>KC>dVk{c}bXo4utx34Sxalw-`SgVvC2@@h9~#_m(OmVt}=;~H(< z;-Y!az`eVDiBs&(I@|9+dYkMfb%dPo8`W%?ch^tSv@ewiyv6TVqTx2n%`26TmLa2M zB70;0{B43`La8p6SRqy0k_3l^BR2*y+$uE(`sqDq6G;HWz}k({$R3LE#$CBv=sSqEiU-%&q~<^ry#J-ip9uN>!*@_@)&J^ zO6kf#wM{cTSeDt4ofZ>U66BJdT_dK4R_p`(xp8YPg*@7L@@oYe9(W_zvAJ}Ngitfx z`IFin@qm+@MF5f4!r_AL7L0)2`yt~DqoS@43qo2$a#SiW-=_vik8mNF&Q6T+Mj4zu zsj{hHz58)EWzFAD94LkDRS#+SiTyEH^<0`mwN`ERy7uZX5N>zXx@CJ30n;h{iWeTw zy9TdbG)x~$+*=<2N2l?DQuMzy^XGz>F&{TfN)30vBny)j$ zfSVE4#D^dK6xpq5*qOu)>QaZ{1NqpJv_0s zWCQmJLcF3=aT7xMP+y;{?`BwP_9!#v0}p3?qv$&(=_Un=r(zIA#lqB zxkLTy2C5*EEMwUs1WmuzjLSXE@8QS+zk*B+){1y~*`O+4HG19Xlm$DAE2LxPpjUQt}#9SYqSaMS>dST^MG`m+Yj9-x2&t($x}=gc4s@u zRJOizT3UISHi0FiXB9v~99Z~KB;iz`vh65(d!c=# zLu+B}O=!b+ZIG%P!v*cD6Z@r|Q6}sa5T-(;+wT&t&MQyDJ2`HHpUq7@Nv!CNdY)b6 zH1mq|uip&Ua%+Tf-5ZaXlEhk0cd4yG2FuTkkpOwGt4|3+l!o2r`=(iJ*He!R3B#u3 zOV#zgFFKod)k#BWRDW+`*={)UZagFvUx-%5(4T*7?svRT;#n%Q&A(jPbEtIHWVXl< z#;bTm0z24{)E5+0(2!-McquIhXjQt#iF3a9e!O0Q-&u3lSGzZO93x^IhJf83qIJ1> zwycecF+Pb|3B@JWnRsGD08X1-R{+E}>V`N)y5$GPH;bOzvV6L4175;&{g6*zNTpLA47 z^eR1aYCq0l*{ZxS9!+X%_4AzS!4+l&(CRlsOJ@ZDEA$6Nc33WYnWXXHgO=BZlCh&% zU!}M|w}ZOu=3C2G(MP-^I?Vd+LoriTA5agGUt^YcE1p1O)_1d9Bb*iA{5yH$e%yzM z8ty0vyq`a~kCQQ<7rz>S7qQmVW%*DQdS<;>+)S5GI@Id2vo}w|>i)6pN1VpE5T~VB z={Nvapne>p80jW2Q{ha6z!#VyvlX6D(n|`|8*oQta>J^ZnLdt@#3P41O2&xhW|};= zwXvHSrw?Nj60;XVr+-NrnZS`vE@IgKp^}$Ofv7LWT4BNNAS2-IDP^mGT1OzTb8E&^ zj_-~vs2qkQ-jbbE$yk+KD9}j#kTew5`m(AShdzn*lK&Jy)-DRDz@eg3GkHg?H2Ky{ zUmVXS`(^5A^?MolHYXTP9~O2O7GQ}~U2V_e%$6FM&BJKLUh)0Bmqkk&g-8y;2X@oKTO^ZO5jYiL$q~qx{qlV3?ghu3QnccE*!oI2~P+W-7 z-%v6=Xz4b?MNr=}k>}cX8!Pg6ymJbuwaT;cR|JZ=_$D;q|M~6rTX|)nfgfzW@W+B( zLBTx|Xy5Qygolc3XPSmnn7wp^c2aR=r=zpCgUb8yq0Wp@WzV$M>#$femavcRoR?CO zNg<)R89qf57haM`SQ8$g+d&X3O(M{Z;edQwH)z$Ot1i0+ZZcA7Hoi-Qe;K=CCFE)fDKSW z=BMGTG=&o}5m;pga4J;YJPmt53e=$$&+u%{Yjh%^ij!w{1!>17bJ89@Uf-4?OhrZ* z=R(^CJULeOpeLs6({UJw;V%gXb}vXAp-V~42YN8s`-=}tOEeL*ntean;T7PJ`PAC$ z{&@9!-4k4h1)Re!;feX4+d&V-U(RZnocV&A!kI#%;aB00*o_AdS#b(*UF zd4Pe7+v|Ud$g^}jrCPJHXv{$?{701a0C$OAC<#$_gJ|*_KQV#4s|jWk_J0tu2KPcI z=--H^p|D^$skK$(u4?&`7M$eyi{3nHIM_t}dDyI}=?g?d}R+ zfd*e))f~n_c+wxumq3hiUhy$enop`{X)0E>(>%ufRQQcfKd$(X%BbuCxUv8=(gEpZDltv$$55$|P!PFmx{@1R-)0dDG5hnkl80XX>gLM1GE`a94_7uLPbPB=EKwk4%w3i9tXA zTBQBm+;O>ju>O7X+kadX(+X%y_v;vKji3x*@ICjdo-dm`962PPL$$IRzxiHVx^^pE zSZ-MSa~T@H->G6WuO|KdP~?Jb|E$hJUhNxErJ#ES2J-s{XFd9f2R9NZ9d;Zd(#qlJ zbNy|&fqnQQ4Y(9uJfajd)L6OWDRz*ith^G}r4>Gj4LU7-u2f;vlG9jVeB__^)f12~nTG;1;0 z>khK$>7wXjL}ZN>RjF&?iOQUDg!g>%3g=g?@p4ishb^r%Wo=evTe}O9L3RLC)oSLD zO)a`@!*vBaDPCTkd79 zJ4RNfuUbVDw+gdu(v5~Qz+CuPIefYo%7KfF^PF@!z# zUJQ!qll*0Mc8RLE)hE5wAM$PH+g+Ko!xSF_jKGd|yQE~xL+oR5>qa|_NQH~z(hX}z zl^REYvJo1cPMI9?&v3S%_DdD0i{>6Fk9pxME>@we!t&P`)(B zZtmaFDOXsG_Jm8|t28Iz;PwZ}pR3Ahy&;IMTD^0Xhm%2!? z$%#W2TWP75vCv4>g5JlHZ-M%~hl&<{pVo7u<~mDM?P!Hb6gUWn6@88HrkTrr%DAyl z^~GnG_Du#A+dew}v=GWhqx!DSo(JI;{5fAEvlUG)^^ZJnr&NTd^xLXowFcvVmKHA> zbS2n{*W~ur+TWc6y>JS?jPHhX8{S#$?Sw7#k)aZg(IRV{8R8tdpk{C!7?IBg~+Dutq$W(le>Tb$~i6K{Wf*_PI zvs$T~SaoLPQ}D#wv!x@d^QE{m$Mu2l{ZXX~tVE-FTh9-alVV<{T!o9uEC6G8`ON{<6A71; z>APSB_A=F$SXN{@f~9a3JdXABcx+>BdNUKKWwYLF`mQy0gJmeR+0&*Q=1g_A=9To9tn=`E=1_`@vw5Y&SYLQt zTB5Xol6??7Cj2P1w5TAHt4nM-y3iu^np27A^EiqxQ=_Q7#Z(tIvqfJgYt>(Wv3|^h zCHt;RyNt#9*#9DJ{x1*ztlaRKQhj3Vy@##IGs<-Olxd{+fk!3fXeW5jeHm;) z{-$6Q->{zn#7gzN75;{+8znzzj`F~9$#GQlXuc=}Cs!~WDb-%LXS#!KL!?2T!;H?d|y#Li45n|L5Q7$dz*Y7OF^lk?vAV>(RDD;97kD0+5|et!`MvAijefq+43VD}69%uPAV z`_#^S-M_D)U=1+6Rnv zhPUFN38|$SzQ6$Z0=V^EaYrw;X%W7H=$GE{-C z&`|IQki5%jQ0w(UvIM`P7*RvBmb44c@!qO)S*u?Ud9UrM0W*wM*cM;6v$#CmcQho; zSGT#Okj_({%8y;Z>D#68M=_GF1rD2-aJ8{Hh3re425I>HSOWqpCNp~w&K}zX3t{P% zLs%75+n)3-OLgjy9s6e=Oy{NPU+o5QVP{qh-ZwzV{(>MdwjY%`l zGY)WQ=QF>@y8PRF$mU+#(fZaU#zEs2sUd)F?P<*xY|m$%nKe?sf4`m&pc&bX{VE5- z^z;NJIE_wRZcBqwVn>7q;>GlDL$iisWA$UNLArz{Q5eyp#6VSZ=6zrQsC}0pWUK zX-1UOAqcBuN|c*;367|Nd2gMvOel24&DNsc+d`lYlVzTb!eH9QPePGggAb-eVxh*; zK}J-Xs)xZ1jWK6)r;Ow;S^QeL05d0}kPAd(?W6;4MZQO<2>(b|f2PsgYC<$CRuu9^ z^7fF*j5o68UP_giwEuKH-N>NhuuD9>UKFIuCXtg87s1?DvN>;Ue~s*<<;kDa|#1pO0jv1~U9>sf;8G zcl{&A26Y4<4FY@DcuaQHB9qqqRgFtdZH?5X+2om^2^F+zj9s7Jqj#ts``C7M@2P`9g${$2UV37w@rU?8uhtca0S1N;rkF zK>Yze4Rq~uCUJB9Y(_O=bLzu1Ur+*h4l;E;nx}@vbY1!~l&hxV*m}()@v3b-V%$NPR--iw$|laW`o0rCL81Tc72_5dBAa_ld-gV3#u{Q zsRUeqNN(E;E5*AvExY;r>o>=2nCiJSF395hwrnrh(ZW5?K5OLF*{#1SO8u|GrF&%+ zJ**Mj->$+$8mu*jr(yfD?N%=hYL|@ev8N|po*HgJ^}8dF3Y!xx*KBh02W=_wH`2hF zdU;lL=^M<_IX;bEhF&~)lS^7JDL%3qn4OQy6_47;XcccjP(w>ompscS(#oui2Yq-- zqvcYO?R%V5xFEVeYcioUJ46#Fy1dTc)SHqr>%(1OZgdH9vHtro_8x_iQ>4-XJ?LNP zWyYl$^ND55BB9W3lyLdXV~RlC6P&IH(|CSVfI6VbEG8Z1*fE@TblU}hcaFncgze~F zBG`kzv^(agDT&u>jwpp>K7o%JtXhLW3%?MDANAGy8TH(qysG%TK@r!rh6$G*O?_P~ z^*a_!B1jxC=64B^8ejiv0&n*1y_e)DJMe7mEpa|;gF@=LaxRbOIQWSUbY;kz+bIs# zD*JL72779YUppk_xqr2`jP!LWkJLMba-K+dp?0@JNU8H6 zQz2fp+a1EB*xUr&*4+$4R@E5wE`y{eh`DCeNfdrJ_F_d5aKZXe;XDgZdY!qz%T=YE zWyU``sxDe0i_m|)kB2T}$n9!W}Uc&_wf z@=O^RKe0m+obl$79n9x#mX}6f9H7*@w$sc@Q$fzu@H&O|r zRp<)T9pH?+x?9M)KO${*d`Q)aob3^7b8rBrv%qS2u+wi^4N(DHdb#MN%gAn>475{% z1qpXD>@g^Jh9DK_J7ku6G>PO9=s2J>T^Bb<6NOuij5zdm=^wS?Ux+Rw>!I0 zpsuL2rWWVLkMNhWP}~I?jSn>mU8ZH3&G+oT)&W~c8O+7a=;;cwcaBMFavgOauIZr5 z6r~jM$%jGul9~FGapg;u{`}9500|B&@a(*RFs@ed@gG7@q7!B6{AfHi1dTaWnK}08 zIa_%eyD`kxCWonteKKQppd`d1Zjs3xlFJSidH%bQI!#?TZwcwF@+AiS3iUEmOkqf! zRKG$^Yvkb>UHo|<+i3Px;;Qhf1tYUjQiW(f!B~Rb{!i@shXKm@{lKg{=hb$#_jNOM zqmhHV$^ZIIx%x(6N6E+2>7d-!J=`f1V>K;M|0}Y2lZmlv=7k;XFO5FN95;n5vx)VowWKYvvlpNRZE_O`*R!ek@!;<`l_ z)4GJ5v0R*}O?RNmLGcB2Lug6>AA^{L0E7tW#dsC z%Gn!RS+n6&>FK(sA6ZtHg&4#;NXLv?2Y!4|-1WL%pcVD$%ypUnM)AI=Q;l#i!Ve_| zwDY^Yj(Onm2BH+n0%LFc5pZPt0g5S#2{*M|D^8tqdz-qM4gfqZg_|4q-wbs!8Z@h} z2<2Hj9Nz&Xv(1HYC%z-R8ESiaPby+j-kP~~%ZT#*JSKL62?52PNQLJc&&zY<6(2GF z-S6~g*oNv<)3dd3!dGF{wgFR!dD^;R@9UvVdBmQ;+)4O134fsoIc~YgI~3v0Bzeq4 zuV3CV$V305`$FW)Zi)1L_y}zQlgQW2)j_2~gXS7dFkg_fj*TYf_x4#zL+W>xSF>yu z=iI0a?~GpL<%V{LR2{FUlbl2s&%-%oC>@f*V=;QG7>G?gseveoXHY8Mv@f za%CD#AepvFU4;{%G^e`G^dY^n+iL$^##Fmm&}up=aeMd9P+K+Z$?J=2!4$%7mD z-`?B_b&QYTklT&b$OrC7zk9hbS#vsZ`T@Uh31ZK@=z`vj`rbGr@4tmMaQoOL$^sDM z8Cc9>)+brdTH=s1pqn1nE2TQ!ltCdlM+WgUKgR@TRfNjMXByT-7x)pa?U=&bma0sf0bWy|=*LxU%f*7KjXGG(VWg%RZ_5LT@N98KkV zqSuY^C6PS{gMu~Uj9Yt*HzQba%^8J4~||bdycG zB77v&e4tups1%3h_aD$Xqo1}G5dX^ZsH zzQiCzT(VfnDtmH<78^O~)33*@>{`0Ty8hQwxWC=k)))D1JAJDBh*OVWQ9(l@C8(Le z5tD^MR+@HQD;)*dOqN<{6slV*r}_}5D?#gS-F=o#f9(_yw)Oj~5k6z}2j{arj}SeK zZ65A#J6NL_Lwp=H&+36Y^C8QSt#-mxLPv(Ehsqpqw8-dfoo8RdT2u`ZXx;@)f(DHV zg&q$#O2Jbsl~f<)7mbeTi>=Ok41*u=3>aA}zKvyOD(ti(?Qpt3+7g=5gy;=5m1+VOy{N-A>U^HHPliMwUT30?yz54t$i^BTk0T#~%Tly{v#`Y!6 znp_e|u`1#j_~ss9*P=JDrC$da48J!_DfCQ7FSSyKX}^wc=G(s?r5pY4LqDAVTj+pM1NF}BDt|BK%8ypVFW1G#*;+q{lX~a|+hK8g zYtuh@V6E<``rxrcFDEsP6V(H=v?whd?bL3Q=z7Nav;h6GxJd44HV(j6jqle~`TlIF z`-t$YaK%{e*oJlz)S5nbQ9e0*poaHE+%iFXG``DDT#2V;a3QC;V|r^c1pkJG#_g7u z!Jg&5e)>mD>Q-}(Fdn=PzuYFuc5Mbw8{zJnC?a2PYt)|f%cwX*_|5{B}|sdt-X#wf%4uP`$ME4DbH*j;Sxt$ z5_EMDDja6N2oMpoQ*+p{O<%IjKF+#387a^Wz-xY*e3dL^C+8)0DNmjmFj&xA&RH8* zETyG@TdSD&=M>B{w7@>s%jYlgB-E%<(g8R05L{0rjTYyYsJ+c(V@qms>gZ%SPc=!~ zSbJgK&Em*#s!ghBE(765)7$#>uir8u99cnvYtMfw&Zm@6-4kFrJ+6CDQTx{z#cO+F zAEr!Spu9ALmlm2%S@|6j&5((<=FdngC{Yl%%`es32D=TZ*+3CC-f?RGM)2KcK|nAb zU0MKMR#Yc9-SBk#f<%|ONZC#0y2h|5AZB<0fm08h1EM`7WvcReVCXeJowEMF)&ys( z9x{_P;CX)s_{@+U)snVTXRGR!>HE)f_lvt>9QsQg?(o;|hI>Bv)ms5;?ZT0Kgp(g5 zDSxCmHSqUJk}12(3myT98YJJ!y>EtHw?f7sj0CoyCa#|G^flj6O?L&1Z1<`=3RdLk z%gP4uGaLE63+VDN3Lx4gr1$Y`fGDGt0pPt+HL46$1KchCXf7n~t7TP`VGgtm3RZWL z_8T&|5h7G>6XWt_(bFL7b*Kh0@4fHy|D}}p|M>8CwqH0^7njumK7YJ9s-`dPF1d8) zLX4TlxwHl>Y%LC8m?!K$kJ`F5^3)V4Cnn&LQo|w5 zox%Z9iZB}t&VDIc6n0m_i_VqHYbSnu&5?&~C$?&JYVc5zFDLZE)X|*`*g{0z76WjT zLjfeX?%_xdndP^iRriC^F#J}+fq#lWYvELhgqp3WU^&gaT&IfcToC$Ra zZGP`{Z309x@D78k#t3`Mw3J$JFaA6NZe0k|@#Oss8jMNY5iXRzO;ZCE@znRB3)+2a zB`feoMfa5BpaKBSn0!y85MF;t0t-rJ{V$a1yxRJE{*2)`B+Ht$0dfy(ID}h-5+wEV zxoa5<8@7hE%UGpD?glC%pT+FC-`8WmWW6GHc=E?Kw_d#X{wkCV~t8wxJScQo|6K?Zg_OQJ*ByvI(9*vW) zcVQX*X)rKXWaMS&aHtI!wS-+49C)mj9aqEn`e#;He=ec4Zl1D^ciJy>>pr?>#;>r? z@2l1GL39n9!In^@e+>;3b{$>ls`o2XjKr_|E7Lsxr0n(^*|LbEGjZ462W0p%;FbXY zpwI`>@HXrDGp8L%y^gJ`q{bLn?CY4x^&XGZ>f^f$&(osOhOw1@2a0xAPZv4Qcd$th zRKaf6?Qk)sgk*PwBq|pRxkNyltfS9T6)tISHjXx;P(dx@i@up9;;wTgX>h;p&7(1R z$cE(XVF{+)Dst{DO5H8Az4KDn<>`qDK9X2pyuw!nl`Og6yH~?hE~>t#I1GZHT+UW? z4fn*!a*A+pN(ISx3KbLulkcB{wA=T`zj+79puLHkQGo>C$Ak{_D5ScBl^1+wGick$vOM?GBz0O{MvX z8^;_k79hhykEhH=V{eK=ou8=`f2J9_GCioD@%oJC*md;Fpvtf&DL9D~#34ac;|a+kLbr1z@lhc0{3r+m2E2Jax$3>#m2w`D#>t4ICl z*R-bwp%?OSlr=f+{O+C+IRHR;b5*gJ@Nn@(D$+5TEfY!+Ug@L#fw>z}PuAf^Wp6qT2CrrFUAA^lfF{B* zyQdxxUN5kv4-`m2PMmc%;^hQ_o=O%UT^E@I^|wU7jO)D`5Jvv*ptC9e-+|5oG#aDT zs;5WX>4wNh$M2zYPi`eF^iE+H4qAw*4r2bQkOXxPf8n9|cHg^&t_TJrDcKOrj@L-V z7X`JI1&k0EHh7sd>67Pf&ksl>HcXb)BC;7AVa04C7vzY~n?QO;74Dy7$AbMTW`bab z_#*RHQ>-4wQOe`HrTXrjCx#>}xn;$l^vhS78f+4*Kyf?0<*raaq~ zpkfnHk?i<$$yDtmXoc+6BT<-^gr8S0&j_j1FkPuHFru>Q$o{Iuy` z8R^iU@fw{o!-r#rvb4w|t1Ge$Et|=%68TbdQA3T)?^_`a*G)holH#JYgE#|LkY2t` zmnYVEpjjDxiZ~OxRFa3KbNa*4>Xx2Sc4NljCX3hmagSv;mM78(idc)WDqBLdBd3&1 zT7SE9>xK553v4N7z8=*l31m=;Ku<+Y#iuE!HRdLQCFx+HsL57{plc9XRuUShAIvkR z2n2Vzd}*m!LXvn=>krsbWhUGi9~J_T_2lsrj)_M@CXVR;VMZavi;VD`L%1&fp za&c>xLB0-dbA`VCt<5x7er#UdfgDv?KNsqXsW{v+@M=ekXTJdH(tbsfRwW z{LWFxw_+pH8m}tbH>Lgq)~rCMfONl6EC2olbE%S^=yUzmMlQwopQln8;9$FiN4;@T zZ65s(}bXTgy(qiYxiN@en?HV%3)RKp~S^V5?sXD>-Cfpo17ztbq z<+)h4JyfcYloOe0wM^4>R(tlHW>A{*j@*yInENM;$z6NqVUv;~_wYoSf3a!ZG7Z;a zi2vZa=~zdw_g`c4H)IpP+o3ZlLa=J)stI(A%%-&>OM%drLT?4>VtHm`kTRfHs5-d6 z@HY9M-+puKPr(B`^NM2AVDzlY13N{PiEJh1o85iYG`=Lr!YBB;fVnoFyk4Z60$sS) zC^E!(Q*^P`?kx6cLDs$e^0=ly5vY%^b05b0V8ifDyiuDz|PVVcj+jWw{870nX0(!f**H#`$rL&DTmfTPj zhxBlYGThJtPTwt_%JK4i@4u1g=i4S>3>S*sfb(^U^TmycvHgXFx)q>G5tIXqP2Da5 zwwKKGMM_uoh6VE*{NiA$wyv-%sP3f{YeH{803gO;eE+BjEii(TVZz*d_USBFH zi_?9!%AdHIX!)`-G1-dYXepI-L;Hi&wnFwsLGg5FFNz8!VB?)Y}!#zPqRM2^!w;(4oV9Qe=6FX{sr+xSkxbozNkz9~C zJU0?(NW5z38}>tE@Z} zK7!6uy1c#JjdAvC6OY+-zu_igL9d}(P~>+Pf1q~o(&xSbboDQ2MQn7w55P)gHMclB z7EGXI-m5QZb802A-5Ge_De6)A7Cc%Kr@p>93;v~!Z({aH&*Wd_rNH@>>537X(`&*m z)6nx!yMmksnK>`jIn}qAU-_TNu)O$$k@YaE`G;k0Y$EPH@!!$@o(6mpf(2}uH=kBv zK^;6fPNlMYDa`PRDMhZjp}-m-?YsGx-CX3$<;ib$U%trYkiT!jZ`k<1 zrek|BO>uzt1PMC@nfT0N0KWl!R{0P3r7JCIoU3f#&8eUeM_%C_B*#i9>s#E?c9E~~ zL~DAk+O-!Y*&!jn7KL<9qjjJTmDkghp5W{mVoRfzAaQhP|9Qd3!vN(~`5{_;g2>G}7K*~+G*H*`ZvQQSLKg)?-S9+J$) zO@Y%#>w)!*#?eFEtl4Q7U9nzmjg^-R$|w{8FL=R5&%7Y`vAf4J?7VsV4KsIw-mp!{ zeYhc0(TR_7bPu1C8>&0DZf~#r@`D z#S~{2Z>YWfCQo5(F0S(TuT9cilySdaSFAPl^Dnd6UA$mmD$WAYhq8;VSa^7GgZIP*PXrvYFf~JWNBt4_sJq- zA>xKoFIi6GjzZ?hOq^E2eDsuhWYRj(e~16?H-fvDIR z_E*|Wy)K=G{gKf_>)yP#Z5GT1mFZg-CP3B}ayR!en&6`$BT0SXRehZMFI&mM8SmAD zV(uNdUG!p5wwoO588wwYqKZP`+hLhi4OOFY8%p>=}YfvWfzJ z1QZ5;_-07X<=R=Bt0uis_nl;KgBX4>*EZtZy^OH*=pfAF-5y7FAui{Stqv27UTZ(r z+^h*38mJ##Xc8*y=pMIQI5zTk-FI72)My_1*WLE@eP+*v@&RUiGwrRC-aUU-h2V0R z3?W+;gg`JjZ_F=$k+IG78g=a0>lymIp@f=pTsX&`IdgmT6I%tn(lTvSu6pmXM0K9E zOm=Q5)lwe{^Kb&o_W3&^pWaY z)lP<2RdX~h@Y-Z-ferML(1<*_P5d+w>fP7^&ih$;nRWcM4bC*MM^1Z&%S}GbfO(u< z#${#MyElK$`@Z;z{R^f9a>k8TF$^$%w&Q4)SLtc03suIBS*2I?HF%054E3W!phS?7 zxid`7Oe#Ih&{sWf6H4@B{-hevS0$lp(1^S2-O_5Y1Jp{rdkKfMDs<^MH#hSwneUWl zn=pnqz0FZVKU>g*ZjuHRO;hzK9r~2_ zh+Q$OwNQa(Jyq0dl(}rJ8agMMN|O}|GY+|Gy(?wQ6YJToW$r5?Jq-p6WQ8A5 zMOUa)d2w7^YDRT^ilhl`zoz;5=YR2h7I4WG3Ne*Cpx=KnR3O2_h+VD_tsS@ z?(61xGg`5O`i9X%emD;+g2H`CiSif&OGqeSd17|$4U$FqwkW&7JBb=5Q%fpBr^|I@ ztxSwL!-9R@N7w+n@~`&ohtVs|(*#K;g<5E>L{cUxb5cR^p^Q0DTkdoRs0SXn}=IbZ3{6KU=U6pgjRzADW0pk?y>(wY1J#ol`cwY9BV zqU_@wz&18u@+O;Xau8wLWJEC8AOt2Ggvi0%Q95XyaG2dZEFpt9RTkon1BK^G#dCq-f^L77wWrE;azD zs>$`H>|6K^Gi8xd-(sDQ4ojd}q)0L-Y| zgoxaSas7hXp+!cKCE03kTeHjOnYlaP%+IfnFjSA7zmG1r=5|-Jk-lTe@}51xD0Y_b zYE_jSjH5e28N$ctD3GJ-Pc12!hI+_mY$tHIKP-0C=xwi6vTB)8c1Gy$C#F`FDO>9s zco%6<1JgawrsduQ&Mjx63~xow-r1S=I`Vy+o6$sJ)Vf8SQH-KfkW5T*olL*0D@bvy zQD1N(Kncpb?(WHUXTumvcTYPWceK#?@j|MQAlM3Q0b#5f%rt`Fx!bwv%+Hd1}fC|#AerF6TAte#@RGdeD}+$Imcixi90v5(1Jwl>m>pt zL)w6?>snC`pHh}V)L?v)c!D?%qw_LeW)R8nKvSHD8~@bvc4-&HB#{@~KhZ3I>?sA9 z6ul+V69u1oz&T}P;TdGSu$bM&5ptwX@w>GI{iMo@2>S87z~J-#s`3pRi$Of-c!g=O zc4^g8B0-q)6Ot%wQCjxeq2ALj>IoWP!g9J^O=NDZV_+eee?>y32HfvrTwvKAF@9;4@x zcE)&MNZK-agv~ykD=r`GUkDK*@|qcQ6Ik>_P^DE8dN%|-T>P2eukedGXL;rNasx7N zmBA32hr?SsCtmJOAE!ep+1MF2aeQ>ofwHx1HrCKU(z$X z#H8O`z0Xk?%=*=KFkxVLeL^)KW@Gd2*+)&Y=l#)%d)L{xpJ0*3(1r?)y}Onb0wvCv zQqkL7KdI#JzfJOID0L}>}N2b7LppBtFUKZgY@$3eC&LBwf}YMIs@@`hVs zA)fHG7j2H@T$R8x65*`+ zm2N+2%>Q6aa^Fwy0quko7A)a2JgE~c@UhA9PTZ#t%+-)W1y3z6`Zk)KTKq7sr&It- zo8`io4+58|94r%^@Wh}yJt37&I{eP-B^iy}B7|K0pt}jyX+7u(BvW^Lf~wRp(XMqG z=GMh)z-F3vSkjW1R{N3ZX69cu^T;Uu?wuqTNcBcQ!EK)sVbdQkXJA^)-HUTpcbk1r ziOCrfTn?qVc11Id`7BFLmW0EQ!At7W?`9X&4NjNpJNg^1^XNv-)$6w_FV=M^>iS9B zt{2@JGzaq<)yj6ur(iP%1;u4q-ZoT2O@Y^l_!y&=T(X1Dq2W|nadRyEmH0$;y2YXW z8*;pnF)5!f!=N8pSfAB6{B0&TMg~M?77|tU(+!kEd+n6@e130QFV36$ zpCPwz5ho93;tq|Bru^(39$Jc4x{M6f<@WgwA?v}6-hojYxTaYrMFo~EzlbF%qrb*T z49-K9)lHE#YfGq`(i+y&ZlEtYU*-0zf^5nrQ zE3K2Mii_d_{wC(;y@ATFjqj6)lrdaTcEtJ2=tO+Cm*lULHBeHh z>iMxfK8@%C6Q{h4(Ww-#iyLv9AeB}`rj0{UF{;i=CS*V!rH-F$UUw`ET^)BoN)Ava z_102Ot1Qak%cJAJ#isxHk1++Li|+Gdh5gG+vmGJ}Q^pXUVw;RE4m;rcN%g_>ef5#l z<*>&J+WaR~J%MTei*+?cgm~@iX9C4j@SGv%M`qX$#-CIte{NhxUFuN&8dgUB`EiKM zQT{s>)w6Ag?hF*>9y+Ly1X>{XdY6a2+L&yzqklcgCl0YF1M?|nhE#hBES8kSFWRnh z`Df;QD41DglzN+}gxJ96U|WyGDy#@}nBC@h!><88am95lyl!x*LDTxWx!BmvxHf;% zX&X9JhEvLquWoq@6Z0bf^~6iM(Yv+f__4qTunE0DIdvQAK|{lHH2)eao;j{9U@L8f zu_3SuoKXm?nK%`x87Zp1IBzzru9WPaO01k^^DQLR`YGplSH1TTVU^7s%gPMapLve% z7L-NKKjh4*b(~Mz4wpa}8cZ(AuFWh|6$AqlOM7rB#KNZK{1hn};z${8ZluRn z*97VJqN?<1CK&d>4%6_#?onBJ)u_uDh;7^1K7+BCUl2Fpj}eGL<7uptYtegY6aiK< zBOU38Bt}}kn9EvPtrj?wu684;PAY1kh(XaZyJ+}{3QraXELy+O*m?PNP;V*fx;K zZ{#~{Oi$fJ8$M-`Okh^{oR2Fsn%@|Cz2i3Se!doFQ19&FQ#&5#YKXC53MhTw^^N?Y zhveM7-3hE(MA@?AxF8PoFQj{li^op(#QHS0kVXoJa`Kzj7Y?ZLG9asi?X(3JJ0o48 zA?V|Y=@mLd2Iedeo_-TugXoPyIl|gn3NZv+;GnM4-34(cJH+Dxa1t+_Nbpj8dwx+p zcdr`PS~^X0WR8kU7@i=S%jUziX<;JWW!%&Ap}5#JZZOg`UP3lz@%v!KQES#KP%~g{ z?&YgsNKq`J<;Lz1z^Z;+daUTe`&9X~sOxg1E4(>)KxQXlYThf%4Y1ALT!^3Kzq}g2 zxA(U4b8Qxj$I4Mb2*rj%tmky;hX2M7PTt z%@F+357wt_VLoRAi>I-4IN=%O(%*Iswb-&xsUaiYvOIIM4C<*1^~ z)OWK>kC%tgsw-BN-TYfm##SPfUKD6RyO^P#V3j8Uw6qHq9kveImSt?Urlmi|kb2TE zsD@aOiOWx_L+dP?FEx+)rbHxzl6MbDCf%27r8yU&_Hd=^X>ao;tQ%%}d(twjWEnO~)1atk7s-b3dX7T0!OUWJ^%TzLs%M*-B`H#? zb#-WBwKt;}H#rt>rX?)J**dmsu$~SX%u1|CcbsZ}BfI%*b`lbb`bqU@4D{K+=7om> ziA^FTOjo*>z3Z@9HyqMaSQ*fUj2;hfHJyACpi^j&${{SnQycAyf-l(@zJt+f$C$ID zk;vGj6mkx8%X7gM2kNmrmz0&hsnli#f@e8`Wm&6Jv-u7D1ycMts#GtgLl8MzB3!IkDj8$q9C+-x@4N z!UYwxs)cUm4Z8$V8zpM=I8MukjQASP_#Sq}J0}fC5*fWsf5ndcbr~m=I)Z-n3<|>r^SBAR*^=NRVHQuA^sKhX_yVTf(JKx{<&^_|TkdQATi79 zGm+M^VWYb6xC&+$X=DMt%@xaiM8w!)fcAQ%@rFvFBnMoTXTY&jN0o`2p9noZ{-b(i z?b|w{nm;9TI!qaW8!1vYgl1vt7!yeudX>AVy_;sh^l&^N8|A5^8=;v=VS#{as zKXd{!+Ao@*XGI?RbfI5&HO9^%Ck&gF;odtH+ei8;$Ds*gALp9tH`OcLzF+*faDe~F zK8O_o6F%qdZHALZ@^@K$r2w<{Nr7DfBhQ{-O>=^-G^Dz0X?DqOb#}UDt2|vc?Mo)5 zURx9Ar0DarI_<3&)ZH%OCIGp;hUMO1$U2xU9Jao!$N(?;Xu}N|p~Un-PeQUH;4Djz z4HZCt<91+mlxq^>LTqfAj@2M&i-xx`A*WFM>J<;Gy+RpZ6$w*FxALW@2 zX{8|#rX;^r*rw?O7{rwk2Q|A$oBfHrMY&#Xm1Hv+87r&K@*g3JY6Dp;QX&qmwH8%_ z#<3JfnkghMte3ntSn6_*8msS!;3{zu(|dB5wJ{@*H$E#>RpokYv8hn$uy|UNQPSN0 zMzqRs(O6MHo;;brq_Q)XYFv3siQrgdaE%xG>GKVE-#$XqPn*rMo3;X| zD=4(b<>1oj2Qfj1qAeM*6P{synW+?YLg)MjWBEmbkDL0I_9Dd!wUTeY=jG$_OV)~W zwG-*jbMA)vL=w_I^Rk7_aaj-=Wdvm|-7q~Q-?4P8IHm4O(Y?(IGvX0GvdgH{34q(j zi^F_pQp&3>)4?y2j6G#>$kO(HS(cKoB~xzqG7CCTzCGciAGbVsE2Pc2h(N5w9KJbQ z#rLG_ClzJb=rlX7nEE3jR5+P^yxtw0Q!qSd{-X?fm~$o~-B=@faa%U=QWvUR-gY0# zPV%u1ehwb&p$nN$skj#QWildc(f#UWXN>H$at$Q(>?hSgkziP|v(nLEUqs4||Fu{p zWdN|ufi_+$JmS{%XB^-=(!3hokKcUETXr_6o5!+ui+MGa7NUBJo1P?GtUk-r*)mhL zQX9IoQ$IvqX}fWaD2Ga3n2nU2l)1-WQ!~b*l7F|MN34nbAZuj4XCh$)2Z?nd*~!kE zJJ*}yd;BEp7Fc`$yh{qTMBWY~mvV~iP_TR=OP6mzU{0_1;JfLE{7+bU6gxAN*tn72 zkc`uxR5|{EC+dk`X6B~WFmsI`Vl8@tZ=(a~tnUxnU_3JoMU2~LsT?D6{rq@1RS(+& z4TmepOd>vaPYStoa+(QCZyYQO0(yA4irg(9#tOs^< zbRG#2Srp{fM7VwE1pyGV_5QaqG7$6Gk(VR=6SAs6`>`dT{t+NloV)b-ZkmXA>wUNW zisao6o^H@xKr4|?n=DXVx~T12>0M2%~?+ii%L;$8y_1@Bl#4Y zO_y>?HgYRGWj@>gtpur-aK}%oktJO0#M=q0_jJoE!xpWocjztRbK>hF4S zMWc6ahRq!fl>jw^oUYLkB?DOBIlG|bJQ+pHM})g22?Y}k2sYXNr-oc=i8Ea;)4D>H z&BFz?phLSrDQkW(@nqV)-1SrQg9)kC<=Wm>^zbFMMWZ3XzyyNOVg~7~ zF1ajaq!m}_)q1<%!&!n62V;qTl@CnM{OAWtzDM+zhmE<=^qU}qC7y7rfNN3gY|{k6 zj_Z&nK5O@pKna4bzUM?@vaUxB6?lSG;(7(=wS>F%IJlOHZl9-bTdhbE6 z!A0sV6k5ICY~@xV!##G_%OwrFKiTd+VW_QgQV7~xi-1mC4aI4a|sAn zMrRbjyb0*d2HW{_yQkAfEgocRST_tDy@_os&r5znk~Y2Odqo%`?wkF=&d(@2-XKlI zdo;O)tR1M~rM~cVCI}_h>Bd%W=D21Dl@0}>CD$mD97@~9<>Y>G8E(jNSC+FMnqr_g zwef1|PNW{6RFM<=!{d)-UbhE$8$NUwZJIZr0CPG^$;p1FH1hrp8?V0^m+<%4+w?Er zI}sE#t`XQxW4)O<8Aa=W&O`1$CwR%nz$9I)Aem7cSu^Xy>3g2OUXQp?r7=XqMHfs( zq3@czT=9~w?%~1uR)f!8T9S!lRdTD^j>jDWWFcRsT0~bP$(*;-<+k=# z9e5)qugps&wNMxmjN(b#C5(%Grp38nEQAq zO*>noEdo;jl5M4Ie{R9cyRkBDuo>ZL|7>Gx>XSpAYfmI%`zFTRpitXIHJB+nHG{G} zUx#94g-uKk_yAh3bsODs=d4p6@#GzjLEsb3q%@TGB?o?dRQ}F~{v0>SzO%Ke*3M4y z_OH5pM_WESu^YJcgGW-nwJRcyId)5k&o9N!4CAyY*9Moou9dj}xFY)1dK5~sWEJ+~ zVt!PPh{$&NYxh8YPP`831=xje1n{RtZbgwMprh27QUR$Jg*fjA=cwdCMLoSnGYZ}~ z*9i=FnZK+zt#I>)l_mB}v$$efSF5Tj*uTW zz=@TWAUA(1dP%>nclO5gF+0=R{8HuH3m-iq`iQ!=Ft&6`P+nY`rEOI|e*xyhnw^vKRv*~kXP56bx`CvOmlF`_D z!cz^Q&z;m_JpeZEb1%D*xtoTOi%`0~0)-C=&pFi=tQqEH+JX->f)icApQcZ zIsdDCRd^mkgY1aPTU-iU>D>Mpb2_2oTZ}9;l`Vao4gh9mnpS_x>P=XHZ3xuA(VL4+ zP~b8$-@Q}h*#po7o)x z6M`j%xDl!62BV4weW_-2Y{)m*Gc4Z{A3%sOROegRpmBTj%P4-MH&O#yG`bL+rKe*p z>UX3u@x_h4W=?z1$+h=yPim0a?~NA?_R{P1*nOsr>$5^U7m)S`xrd#Wg#5$|*OokO z8l2(mkT(*`5#3bjgYFd>qf{wn7h0)H#g>`vlhY|pl}OXJBhp`-HgMy8 z;KY0tra#C5{AWqju62i1cO`1kuU5jYBZCLwn&=LF*UCP$5If*FxD_GV0<0tF(oww9)|@qKwm-Hc*N+#zl&tSeiTjlC%1DG zw6YwC+|%L-xX1eUI{T73nuqEU7FzI3&-UM&mWA|PTAXAIr7Sn9{rLc;Ru6nyi5{g= z&H69j!4lgU>|172+@0Ii-}m}jjU(Iv2qSZH-{9Q=P_wTdmJ=EtfkXECjS#tE&Pg`I z`-?SiK>W+(Cq2LCw?A4P8#bxS%PB?&S@tWINjcV>8p>== zonq2xqkN7T)Vn42Q|UqSX0DxJ1PO*Jxt8_^QDG^!7RzRc%OwEruj$^jPrT)wUX}FV zdh~7I$&er4gbvPp=^7t?E_p&0 z+$y&c^$$3Gu?Of*Yf%n?>$|CZ@;rk8Ct&R=dO$xO9flRWo1nWqiGf3>%lvo5Jgtj3 zkMOO7SeA})#QSS=3Py2mANvhlTm9B2Q-J)Wu7Q&${Do!dA2DVf%qSmExhko>_AW&O zwj&uCZn8-Wq+?*x8RgAYg43r~&^|QnOvqO6>NbEN zj#QYPiMcW3H|GK?`NKt~v|T;!fZ81vX#MZt9*YA1I?p~h6fXaw1;WLtMILLH7pZfv z?=$!OI0_EQIC9$}e?D{p!o z(ju>d__v5IB>5PZ=n1{iBDm9M&;r5~YpDGOl&>Sw?<-g<_(s+Q^oh%brtVkB-p`C> zG)*$i{KyXAt?wctR$g9yov44)DKu24XFpbJiqi{{J$IZp!5bN|c6WSJ-8(~T-cGtgK%6rP80kS7KP2r%Ark+ymylToW z{T*Vnx1EFv^6R@jN1D6r)ZZ0q=^1g+xIYd1YHm@OYZmuqRdsplk0fE}BO;Q%EOFG> zIp1*Ka#6#6>)14TFe$d|V=k+du_-Q<%Ou5Duo4*1uOZ;#URh-3+g6m^jx3Yh$h9-J zk!@t+>~iqD*~xEaZdXhwuTz{E#!E}QFf{YUY}=dAf#597{1DKR7{z+G0+j}(<`w7G zr~Bc;ofN_?iA?d=b%i|0(h~{9D(V-!hyco~Fw^Gv6_50NJ65!&IDjN&O$T>|Y*fc` z-gEL>dM{k1 z9bTth*++e>*X=K8ih%)ochN2_VOkOuuTV;xn@9DtRdV4oPE#pmB7aS1g zhmwcN{W<%8Sr3n86_cJ*{;3e4Lz&NEHgbTm(|({!NKCVlS4Y6|w3jtnL*Gpc5u-68 z&Kh)2DPr^|RZ^+-bA?q6QcWo|z9c2(mcfe&#vB?ni=!tU{%a0+GhF^leW3qH>!&X# zM12O~;Cl;se$DQmplJP*mA$Zi{e&My33mcdGu`LdvF(eOQ~oo`LBOOsql=q+`b$@= z!yxjqbAy|j=Uta}Df>M%+Y@K1sdG6qp?nt>d6&I0LYM&Vti4OG^#QvO`-^rVzc7g7 zG5bB%zet7n8KJ|r8Bpp2$H79Nu4`GJt(94{9%#1yXf$Pj9=sczs~JBTFHM@qMZDPK=IH{*wD%-qO%+|xCg*6$Oehm6-u9@J zK=DubEZ_F_HGg`8HX)ru^+mZ{N?qbd98na52#UaJiA0f z5y}bVz>M3(6rk09q}0QzJ0H+>FZR;4^F^LpxB(%w6S_P-c;GcA?vzIuWssB<1D_yK zNhbJ%*+367T9qJB)$yVoPqJK`ug&_fWf{ieZe!Be>VMZVV2%kn7zGBz8<0#~vw+eF zAJ>>(>zBPXPq24g1Dv;K60bvHBV}3~;NGEETGqzg_<)=`JXkwrEWMOAK6gFd9@kKO zFw!wdz$^31O*mG-s?ox&vZko(D1Apuc>q+Yh5ew@cSYQ3u0DfwFa%^$VB?yOM$Dzaky?lh zS8YiKo6v+%wS8<5y z9<^5oOkt3NR*r8Ry{5^fzW9f(LQUD5* z?V}%R5Yn>q(M2|qly*@|@0`+Wq*tY#S(4km@uTPzR<)5`I5B$G2+2AChnp1?LGLhH zN{>RNG=*BPV^@T!(cOC~1e%iZNbT1u+)=>H{+kA?Vb5!4WX4V zeE~Av%(z=?jobS4qYZjRjkpy$qj-f#kh!8vn`jxHnqA+}wAPp5**5Uw1UH2y?#Re4k~;}v_P0N_JI)( zzv{dAy`<5v!Z%%0haE;WMJj@$EUMQTgpw5Y<`jPqQ7EDnD9m%o*DxMSxAa>oK@1pq zPFa{P+zcKWi!iR?9)&9e?-bm;72Sz zt#)o#AR$KZlEuShXo*5^9}2Iw!g2GC}8IL%SV zY0^l)>m!NHVR_6FF^QHI0wuDJ7OK`Hl{cxU-a$VR zU)Jazrg&$2l4)))0Ti@oNp=Mcm^ z{0Ntle>F$77qk8_UKKarw$KP-gNSmK)Zfov8;H7tuG_Ee19??Xy~0hd%S0?0=t}zD z$LA3>m=Aytv%AW;?Z!6+a8?8j&&2Mm$!}}UICE*K_h_>+s9N3J@c|782;GXli=+GDEA zM%I6U=ScEKNNe}If@!M~bh0~3HS;RabtW1hw=%>#466lighq#;lvJNzYE^%ri(O_1 zeoEM@h_k}y?5@hA4n6bvlNJE%O&G<)gRFt{Dmq?)?a-kmy5PCXAv4aeD*R+|gXC;AqeF*u!N$M8UnT;uX zhXGTj+iyx6-9tdxr^Uz+rUUX2u6eaTkg-fJ%K}uED2}~u38F+Lp+&gCX95%(6@OFO zih(KX!s+>jYd+67&C5xdzj@P{j^W01qzI~>`2d;5Osny+cZPRy_pN+|Imyq=uPL$) zFiH?jJM(2F7C4nts|KD=m;;3lrBCg8)c`4AvPissp!@7QwVnK|??XMFT~CTcvF@$$ z0$`b>$BRCPnO*_f=3F^i{9v#`N2OG+NUqmE6GdN~Q_T%H!VF`jUF1L&XsZaLfSc8X zsk;3|xKXi&1x`!dK0ANyNaNr1E|jFC^e(olX%UmDObRGcKnZmoP`D*x)&}g_@&T8` z-4tGgG`524U=tIHOEV)oR4K{z>!M#}Uptx}0&edfTB;tKZ0lO5( zMR)|X_Lft)ldZfs4(W^%y(oRlUhW$EJ<9zwt1Y&8)f0rX>!!CH#HS(}J55uWym7v~ zU}sN$L;Y0A67IbH#CwzqV-t4`7*g(Oo`fj$x5xBF(;{K4B}TWBd*GA8d8!4S+KG(f zY}$c2+#C>YU&aI4gj5m78~^Aye-EL$$F*al9Vit2bRHi{JG#L)8{a#q>S>>h?yhKf zFH08J*6hEoZvRouGL`4M(XwV)w&jz+FK2&$w*UCY)sUmOofXWRw9!D~J;H9u64FFn>k-uMPu|1LHl&Jk`E)N(5?+*il;PLVW(@4_*lmmZ{8biO(c;3bf4STv@ZLoB^DNxV1>#MII||=Hv5Hh3Yl- zeO7X40(dQ&hq!8V?EXx>enQ*iQ|LA=HvN;TYw`bXC013|F!0f#C2(}3bix?(N>dBhyk`f+G=ZL6ejZjPWhO7W} zbFU`HDW*(4>I*px+1yoJY(vOn=a6r?;P1F(bq_z0j(ZPnu+X}C<=0?L%P&VW0B z42C57XmW4byv1Mh5YL7lhz~IDirxtFN{sWT!)IH7OXv(-2k7c(z!<5e{$*!3e`!w% zz-qeHdmpq7BKq!-n4F^Hues4I}ng5?o@$> zse3qes)mW$Wrkxg2=jI5UKb+9U!ZXe%#wXD`s}+v zF772`G?d_mI9x!i6$AnPXV*eWE_>COsZ^8% zfydz$HAXi6U)fdA9xX;)FCrPBTeEM-tcn1IP`9+=CPHrc@@fU#(U&Z4=1%wiH5!$> z7ZcS~{P&dn6^G>%TA{JV=*0Y9Cv<&Kx=uYu#coPrXXaLxR;q=iwsF!@zkn8{Pf}SI zDB@hC^hrx9l%XT#eu<8?Q#vpcCK?H`90kzDav*TD_X8y4hi^LTzxBG~h~=a_wRBJyq={`VNH2=Gf$ zU!s{p!;8bW|A5h7neiVg|6(=&Vl|Y8a)r$mreEey$D-rp2GP0VV&?%(Z+f5L8Z5&) z@MLaAEmEmPs?Q=byH4lL5t=wL@ih7gR3ta!#-uj>o@|PQ@toQ)>RE(msPI>lz3HcZ zPa5U`S*jvMA-WZHsCT&s+reH+4E;bMLwN?^BYht?uPSR6cViPfOPG7fAw^awHEvzl z`5&@E=lJoX`Zmvh$O?G~E>887bPC%2T~-J;#=rwDp~wogxtQl7hI2|wn*^}M?c<;6 z7c5RH(z+g5dO8eb(~n?KYak=*7d?JTT8wviOA+SGcN`FAb<)_!32==(&Sr|Or_$q- zf27AtfHq4RwL{gbKVo@(PRB*Sw;w%m1qfK;ykKkd%Ry2+?mwM$aBD7Z(>J2_`I0+wMYr;Qd1J5YA|r_slWZ zmPo-gtj@6l`WFu{b-V1o5WDG?n^=-hOfE1-J3-4Gk5XgGm+Bz=6h5xdf~B;1e@}LeTbYU}Fs?iRvJ1$0qDG z&+omt*H#RNMQZ3i8Vya&B`Ny4x=6fN66ZP%Vp$YUNyZEsxg!*6jIbs%nAOE&)Q=Mi zv6rI|`yv*v7_VQ%e!g%dKrEg@?7R4q3*mAH@DvKMx7fGD{BtsdLL&A#xlI?F#Ttf& zM4mIbs1}Hm>{})k!M*NET0HU}e9H=w9kte#a_s+~^8x+5+*(mktY>}?vD{Axk>{yX8IP&HPnV&4As-UJysvuq^X z4QX<4_ACMv89I!m(xz~qdTYbAMdj}Qsu0Ug_aNZKK|UP^Hfw-+_v&J(~R26FQL1$ijwc*Swo)A zX2j1m3zB_TXAHL*QA>#81IXwm!xXf7a_q{QyPiOai#(*!Eofq2S?_qtmpp9~DRk`U z+-t^F>-?RN-r1J+oKwYP+;;QkPpU~tlBB!awp9zt65w9?$$QMA5k$77Y_^0< z-MRPm!uPv|h2N#t0)e6lGQWK%@jKgt`F;O}?b)rynfTM0>{>^9Buxql?bkmUO!1C= zEVVXN=?P0D4`tM>kCf>Zj%1rx@=u(&41V{gvAIxg@n6wgEqQ$mWzHry|78!TfVmG< zsy8#u7D-Wz1PvE|^Ai2*S1_&vNaG9@ZdXFyXH`Zk1k8WFDEZFk@V!MCS6R=wLz~Y2 znY=@@ePr)*JRO>G}1BvKXZ`40>B^G60Z=!VV1y!o=P0N4@xO!b?~Fi6gKMA49gRx0YVKsIo~~K@)--L=Fv07@eD~Ggqw*^<|LNtoqA3^8k}}x`gk*rX z+qaFoNlbX@Yo-nFZ&;exr82;*EbY>*bm@)Lu+nDwtaMs$qh97hR8yMtm0As3KNhh- zk{)A3G^4XMyj*2$8miq-FbnTLK|80RIFRs&<;-~|;pvx8Dn=Tb%VMK7z8Ili9#=h8 zAI*O16flBNyE*SO{+}M-|8@n>XCcJbotxjUo&+fZ zV%M88h)zU%jIw2qLf!W{`Ws}({JVlZkZj?O+kUU0{;ll`zRIuTTaDR~fa$o^(D6$q z5@vq(stI8vkrRA92%2+-BZcLN>haMP@%6|f>Y6hfG+xAb{Dqa{S>VPf$2^i zIa&RV4A)7GkK^7{4EB2qFBu1>&=oQ1=^?Puadz zU8k+lSJcIgG|TXfw#f8t&cq-K&!!)FRCxstLcCy2>UkoNjMVBQIhaVs^NALgPKMIJ zKv32~s9Rj2efitQnU>NNB(r3-=Cna;m$GqX|N4?n23*Fc3(T7NkJvtDj}DB5Z1N$E zhX~_SB;cO^S4b&`R@EoC>r#!l^^=`BOg-CbeD8p0A>VL>arJ>=zOe0TSKINF!MC{@ z2pbcIFwabp;6G-PXL2rGM@?0ZVGE|#)+V@z-8?!^t#f1Zq!qXDaVC206T-f9jjtbv z)-8bOs96BpmLr` zD@duU?rG~AQP&gXTAZg^<1LHzr_E4+fSd2==%el8kTE(>q@?W4|^N>dHN zA*@&r@l|LMDbWA@W@6lCzw;+4D=k2@W$O{Wa@EdM0(KWt4ER zQS2~w%rzH0ior8Gx_Y%AtCuFIYds`j6-(DXKhk~pkN0>-L%umRZcZ*9c&%YuzpKhM zV(X6hFgcMm)yP1+72x%;4UO(z4+Pj_RH6(DHHK^0dFZKYrhwM(j-WLPb}ljeTW|Eb z{IEvixol_tqc2_@#-GtZ}d!)YSnQt-}0TkPW_5j|ihYyDUMcKSQIz${k9VGJ@` zL(GC$o7C4mvn+@_${(r(3!uFX0xY)F2-z$Ru>PYhcL>bB_D%WYr=I3Sn4HG-8Od60 zn7hVrbyHp;Q^^8i)lR?nMc0&-+&t)x8b))hs;%Nkdb55>Az#NkJM8Kvh3n)qlGvfB z%7|PSj>@{>s)P`e9*oTMRWi4k6c^;MHYNdLvHZEguL#qp_;%-zl{8{*ZeUc@Ze$^NU>luPMJUz)5Ly;p8Mp7?AAJQ_Wsp~O3z;v+Rn<9BY zuiKo5PTu9Le8mGmI!0@NO$Zk%9qVk4s|$%d&Dp-4Y6eE8kAex0IG3StVa| zZ;JJGem2&@uP*9L!W;h$2K@j0)~?<m!C33N3(!T@Koaheqj3`+eSN2!l`#76#J${C~35_@5O| z3pv80ri@#Cp2Z>>j-e{C_L3j15JjM<(MFf(l-;T1IwntO7jT$a3dw8{&99U!bjrO0 zMa`97I9Ee+zmtuto_Tj50JU}LhqsT6FnKNS@(>JtClf;GaEvw~u`fm=|3OcuqL<6e z)6Ld9>c4*ims+gxZ~7(^Xr-cvihb`KHIJ%TmZhxFwrgtM7G*uld#LiAr8b0nadi-7 zm9VD6=~-6HK)y3hZfws1WtP?hg^}%YO7T& zncMJ;EZ&qx%J&4uxOA`6xp0NYed~7NG_AEQPA65T<3NSXg$$92Ww`f4-noDN&kFv3 z|9!4Ja%-BOw1fzyO69@8BEuQ&9kf!_;?|Y^opRSqfS312<>F*p3|15h4sh{6ZC$X| zy4Hces@rg7q6U+leSR2x~hChTr^I}mIG z#+c|fIb)K@xQ)pffdC044}bHX^vm2qCfrh-4cOQD8tIGA8Go3>f=U zzu(MV6W+V-y0dQInOWodBk8DWSJkew_u0G7bN0h9@pfB0M6f|Y(vI%DO=M~Y!ewF; z|9&6V-TKoW9YnBsCtf*pj!%MkXQ*-J9W!zJ?0SpM{2Af2xVRvgp1|izQGXaI_fpTG zXte%u!TDsNkNM+@B2Jmy_XM zfiF_N`7M3fvv~G+{vEaKP;mNgh;;KFv)$&!THWVXn(ecxjZW`+^S0=;^kRRdQ&;%5 zt&&WzoDJL8NbQ4>hMMdgu#Zz_%}3wJ{@no8wZIpX4-E*Wjo#rK%x32~I}Khf<~f|f zCwEWJYS-r1$Xj6V+eE?LI6JmB$=3oFNc-EjzYtX*b5hG+2r)14Vj%r{bX9K-qn$}1 z+FK_TgpGcGxcvO6yUC1@klU)8kSiKoKQu_B#>#~OZx`Gpk))m#C4L-}EC{rb3ewM+ z^vbW9#2#n*E6vP8UkJPMkWaRKJ`y{aWSa*NhmuII;^u(>a6?Z+>6Ds@@;~&4-){oG z1pJvDyL8KNDE`xY%Bp~{hs3pAp{g>TaDPg-+cLpfJ-+o(`%z%1@VahFs=fTe<+;#; zIYbc+5#N&iG~rI4FO~i$x7y-DaSHl#kpy!@~9_g z$F*c8oy`D|g5pUx++d#%XEaxd&E#6%Lp8Xd8x$BIh97X>c(A38gLA1|{Frpdt(v_M z)uGO&$}kyAudW?zQOo?Z&X)`-*TKIv<~SzF3hCBvQk*QWI^Gd3ldZwre7?a4hinu^ zg_@6Sl&0Mknib!$F*TKjKQ_25BfG}#@2<%+b>v_6IJzRJ6t5KVtucJ`F{2t~+ovPN zAS6ka@H8F(TSU~DW2j8I$tH|PoUbka_;>fR|J4J2mT0uBADIZb?z0l;{oM48m%W zKy|1!rBNV=dj5djm5i|u-!p8CLwQ4rgQKQ0UI*kF|;lHqPHMi%&|H8(l%|+Fn{DqAJo9Z-rx%~qh z$BQUhAw1M7g&qZoFqxvQtoE6MNGi-u4gI2^z)$Ab{0o-1|?l?$x zM!Kar?JN4C!|bj}#*U30oQp{`zYzaMV>tWP9gJrt^lkN|OWh;)I@2Bco*dNO&ygwt zJqq{o1gQ`M>jcDfGPPV{c_3>)XuCg32{&|7RmSPxY+WkBqFesf3ny!;qrAULplFg{ z`YT-*3{`Q?#p3$*l1=pP0G&=F&Kaswe~QBwed;_?6%pZW0xO>;<(rzx%*lzb_e}y( zkstO=Y6ltEa)O2mswWJrQ)(VV*GToA7#a_WU(6Ti^tjE;l;k}R>4K#YNaw6^BgVDh zD&z{;OoXE+$Yj90d4mJEWGQ{kdarPq-JrQKQ{jjS0|Fb}2yto5%p}A)7g)6Ne)cK` z3=N(SMfnbkzDX0VUMIf6lm$%#6B^g`+;AA+Kq<&-)Q#tWZK1x}ZN{-E8*zEneKqsr z#jT)Vbq9yagq;>M42CJg zK`(5J#VeG2GsUmylaH%$vNegDPMw5ZgiS)3p9g=uK?p>zf+>hM*2S^PmJ(Y{gK^`! zwJD!aAMg8TQ_5j&3ls<}PdO5--hMrenhj{J%5th{k_G8JMzq_APdS!{3=Y)<+qjB2 zPTT#eqTih*GbD@pEey^4dW+6N1z+~lYuCym@mjlW$zEB`8#~y_d`^)%E4MkX6vTpy zs=9?cBB)_kcyXj7OM3NdjsB@eR$eDp)-!?Ru*>t;&4K56#d{~OvRdz&X>6ax4?PSV zqzp9LS!nSd`6oQ8du*<_8njE?bqlDSW??yehwv{C?ymK3Ey~32w3GdLTo5_7TB5O^pOuK)4Pz7yzDmNsM5O6dGLG(kv#~9oWck zhwJLflMmhruomPywdcXfi@b3t*A%TObuAz>w_1{`6ODw17q%#CM}^=yeAR>fDk-{3 zW^#QFRIcQSm&4)YXwr(P2t<{h9ObcfLY-va^LWGS{2>o|BcGHp2M{UF5NzKRdcJ!^ zR@{iaH~}BXU);#2ou@%Q3Amep5ZmG;tOar@HwZpvex?Dw&vN+7dioR_NynY|a~8Mh zk=MSe){3bJk5k7zUiodIPa}i(q6ok37NjO>ab~iOo0JhI2G=ioflHh=(mAhBT~~Tz zwpoU|ORr~b=BGi^KHnd_{+55; z1^oyA^We_ze4v)k=b+9CfbXJrnyunK^!p`1_19NrAvt?S@!`$7*JrLy2OU=&hpkTS zRzw75-|%;+n*u#;6VV$cY|Y~)P9)e+28c9d*kg_iw`tb?Uga;+-Q!Q?+g#r&T{>+1 z;JHw!0+_CAJqj*G4*N{i*@-*?AlYj}E);RTaJPW0x){g9XDt#)=b-k5T4MDXO~^a0 z>RmUVCI^jh$eq!mz~^I~&gzeYTdV_>iYMHb&(5qpY5907Zl{_ZkyCKB71L-ak7HG< zZk?H*EEkp65}KK59h;OV4DX7GH1ez;oDmy6#}PdDya|t(^%>m|a@x)gPSIyvqbjJe z<3_zPN}X~R*?Lg?zF^L!OTQ*m23(OV+snu>G!pqR*Rkd-6F{&43?WK=`_4q25QaD*THGWDQFz-)9xrNUpvKM|AcpW}Jc zRtlG>+0CD^NhSQC7LBHx%fyQ{esHOMOfWO}cvA6;Py2{^$WSBJK~})YdI@@$qC#?? zpXO}myfSZZ&D`mIulEW1BYhm{dM{?Q6`t6Bo?Q_%RX<)Dlw83n!Z&`CavMSy|c$``f-BuOZvDfT(k>^2N zdCnV|TP@bpYm9U^!=d~Q(%FPEP^+K-D0_{0a}yg5N75&yF8SXz_+>L+FbnPvce%Y{ zC|~3J?-@2{A-R+b{`otqZA0ny1T6?{?>0!f9d z$n>VjK6nVRtSWC7JVJ0GQ(yaZ?9hyMdbNJqq3O=kL6L@7VbKF2u3N_4JWO)L!)_bQ zOXX@m;V;LU-9)&Tv;beX;~^lv2(y8b;Y4;k|C3C2ACd6aDgNZOtg$cP?E*TgFfSWf`jN4;HOXCb#@0!xsR7Fg% z8x(OG1+sx{a#oDELfm)*O_;ETu<2y0m{Lnc>CjKxR%>)j^g~X#*K!`K%sj1pY63b% zWgB+DTd@0Z`5w+gAfD6bP4y~7Txq14UgdU>UEZBxut9TXy-P zcu*ZVnWkgi^~fZYi)@mddhNbJk|&chMf56&uCa7V6bCJ0%U1MDHiXiVNE5uDK`yL7 zP40#!F$B2svRnT@R%ZSO`>1~^E_QoVoCg1nvq@nN6>DO*@fF6~DQB)wwM-g2ZeTWG zPf5KC=p;I}M~kp_h~M)YH{Cz$$fb>oG)UtWGRk%JtaEQajGjo9mjb-Yz3OFY^n_iv z#X;1`yM79rF2ZS06^DOpAgg9(VCR8xnCT(($Pe9)k2iy5ioC-*s3Wab6ym#QsOSIL zT46aj)@yd-YXWcAiMdwQoB`!d12c}@KkW;kp6H;SF2dg-H0w1ky+riGKDA77YH6+zvnoCK8j4SKSC^=1J z1SZLf>FOFMnbTbh<2U6EC8x3{naK2Yr0}<6#*OFXb zB=P(7Uf(H54jKO~a~B*f#a)hr4*?hI$OZN3G!N}w@%{1*Uv?8I<%&;B;`Dax3pR!77D);>LRmbVPa{Qdr`H$j<>w}V zLVSx;)3dSJ{*_ho)vdY;G1J3_iz{B>RyY0B%ivA$E}zaz#T&HgeGvfm?T+*t*6y@d z7rK#rsfE6afPE^P8IA6n0>&gqM@@jKXX**9IWeHYA2&+!Y?yq|aTe^3dUlUqLwR?i zv>?*e8A(bK%1gwC_(_rwTx0}Cyt^=b`{oO_EJy^p^of&!iUu({N%J^=oaY{h$+oj< zJb&!C6h|^IRbb(JOvO6&!$RIU&sZ!rq=DW%a`~m^Em@>5a%P4HIN2o`X_Z2DJK#{` zzp=O#bkF@_qC3wRmQf$s^C1S<)ZTezQ{1(-=~I3ts# zgwa$e59h9Wzcs?(S%s#eEjz9ql%4+HC!iKQ8y)R+*6oahfy18q>MuuPrCAn zjbH`U%y4`H8{$G8^5MTeJuedKu+T2Uvx^#{ii(`NckeE0t7cQ z0WmQ$at_D09M~Cn;7t{)2~}NP3-&$@;nG&*IasPmnY&0<2^nPINB#<&&y*0ub=-Tg ztZ;uVUf^Z`Y}F!Ru69CuEV+yD)Vk!;LWyHatS&mXTH)Zn(IC@o98(6Z=xN+OV z;Op2#>qsGJ$;I4~2~agKMBzz>B;NhTPo|$#4Ed+d=5KGj{CoYv=IT&LSWbmlXUdko z_h@FXoq&qR_MWgez355zL-y?1)VnGJuTE?=L0{y2ObAM+oI9bTv+#*b$%$`#<64Ga zZyJ9Z^*^W50vroR%j_8JHEbgyK!9w>(%I3*fS%NF()v1m>82g6XQ+qmb?C-w$W3o- zXHc&ZSMy18odG2TXtqAwoRO~?hkIyVHd(B?+uD}H^wBHs!mPRv=Aoh! zaBAT%fu6Fq`=l~uH>sE;JkRu<29DA3?Of?$&NSneJu-G_K4_L@s%l$+VBgqx%XG?X zGJdtkS-T6;yf#}6rX{8Mc}!r|Q;nA-VgHy&sy@hK=NNmtxM?T&A|rK}7E7z8 z#z)apyKS%@;+x&ttGn) zxwtD-frfOK8-3AHz|}Baimcu3z9d#h+O2;4WqzXGcRUiSY}VRWz&~Jd#7@_ zrH@&Q0Y>(?Eodgg_$ci=pM`fHGH&?4UQf8+U0)8mUZbvO`C2s!{H*YZPlCyiui?#< zY;obX)=Vdy*6u|n^+L#J41i+KddRjZuqDlfJXTTLXZ8aBi*-(C6}+lC|6cu+=P=Yc zYOxW=JJ`*?{d7tr5|557{VgXui8oHu+@u*6B4MkcF<+iFS$=&yX*t`m%*-)mm9(N$ zkEV;uA9a>Z{1iy$ty#=lPHTdKW=hCZ(gm5sL{vJb7n1}V0R`WAdd5oN_o1lYU^8#v zuHO2&mnqoAW90qfd`-CVhF^=7kZno4JEpKOwfmR#MSmu;d)Oc#(C2*}-7v^A2G`qM z>Sstq#Ettxq#+vs%_6*0@>p-Nhi4oV=wLWALon(O$#PCYrZYxUOy49)x#gMM^JU=F zHjAdw$xRV#W+vcKF!{+MDx~&9Wyn}2lR-;4v(*BA(g6W6^+CJ4URM@@XzjxffNIr2y-_|DNY_~D&I0C<4I@X=H za|+2AJxKU|DGB#D*0^@(+v)FRPqM#X%G%g&{C-J{Z^x+3?)#-O8&-Dv^=WSkXnP!5 zZAGm#;N4u}hC6{X%ijF2kH!#6}1kIZGZAPlJ@6 zjHz-+M?RgkpusX)mjflS=z24p)aZr6w%OkD@eojU+mQ}d@0f95AfB;c4W*{7E>m6- z)U=gUOD5S-(^i}}HErbuJDL5Jw#GR~z1?oR^|$+}|9XPojPU2*FX3XpU&^FTn*~3u z$P8HenA05i{Za$UVvt(1VQlC7r9vvC&QdRd=H2J!w!r=C#jWGZib}E9PE*?M&5`YD z)IGkD!pBE{qJr~qVQoL<5Y?RjymScyb{2S)`Dx4nEQT-#-7yFR-t|8fqdB%rWu8CG z*LNGzo%Fq;tCrl?+WXp}j5gvpIbyqB>Fz{EP^B$vp5?pu%MJ2$Vl(aDYVxpDzy+>7~tvWCk(edTtskXSyWBkaAQz11uciDEc=KFuk;Il z%<|i#Yq=k2$b^J}f6s9hj}*H#h!(HS+b+P7T=`_Y@Cm;FW~=D)`~|ldDZ$m#!eD17 z!<{FsAKJt4&Rbiig)$m8Owu~JW>fCDqsNlFEw1*{Q|xhN?1q(QCZndEEp;l)WQhfS z!_U(^0})R_3zAz4#0xQ4;%aB>lWG#R3|^hQcYo>D4O!=B;CpvK+4e?__JffJ%AUgY z#e5<|Px^*urTZwH?x)TqTJw>G@|aBi8Nw|CBL;fwS2dCuH?6o)O_p5mi zdBZl|9r49wT)w~j6WCBMse9F}Im(L^ir{})Sy!p-aNE@QHyK>8mq@y7+3EcP#w@sw z&Rv2(yXVU*n?|`%4hK31i-ry^(TbR)BmuclYvD6J2Xo+1RnN3hK-SFBFo$G*L81wg zRPP?CnIx0d9dO1!yBf(8^-O5sl`kT%ehf#2R&y#A-3 zN`gJcwi5@_k~NLspuWPPZn@0Lnm#Mi;68*@8#r0uN;03ga<98@cTiRx2e)U`l(cMv zadApg!f$=#iIlW^7Iyv{-#8Af4|%Ksay}&!HwMtlW#ie7T_;sBCuB=^u5Y}+)`*=y z5hLt6=1UgsM^3VOCk8}!Y|pqC`Ey65mVHa}n|VQSvUP)OYMHxl*62QOSC&+J7EMMs zo7-sD!JXJyW4xEb(;_@Fa}QgA7Fdu4E84nc$oXJ@Q?aU-a_n~V#3kL28u`2Y_L>1xcenY*dz{6|1_p%`hdQPZy!EFTvAT$p! z#8{Xac@hwrHb2;F5AgjoUFG#^qR9YPA{jB06OS5J;dG?LlwKF&DM%`cFYI>^67z?t z79N@(J=n2IaCP2NI!^k@>#=@mR@z{A*^0UESXGt10_G!@b4St2 zO+`B{N~wsDR-6Ot?SH-fdedQ0I4o?gDh3^Fr;PGg)Y zMRy_Cl(^tFn&zFHXZXjLp3oZhZ%JEwNw=T3Cn_Alz5M|4_E5N@VAhu6edlZ=M74j+ zw0Cz2Q97_5J~w)&{8hhEat&9&`>f7_ibr3@np{4G!jCq@-TZ>z6!Pn*WTf*6E5ieA z7Lrs1S9Mmk@tfw;SEPu>8nB7Ne(_~XkIJqY6)~PKCP&`xt7T=*Zb^i+jLBJeT7~U# zAx=2X#`s(#ce}XFY9?8!niO0eCvASbC)3adO_XQYe&lkE9lJ0<{)z$U+xrJ>M?4`F2m(=g{2k;0-h1*aKh zp_t0$p)y1NluEJ!fw4L!H!g!aIcr)UVV$I2ipotlG#nn)?UWRJJ94LUCIcSI?XkU| z33EjGQSR4P)w-wU)&=LJDuz&O%&eBDo@wgnWMDf9Y-%$;(U#jc+LUZp-*)1&+6=G)1kQOBUKK0orMw07;zG z-jgP2^{R)@Nq)W=G7{cgtaD*Tk=W_s`*~BFb(pk!4ZvxvtcV^&cXMKK(QLhH zt?O7tzQUoNV~9JT2-Eik(f8R3G>`>~kYAc-4N=?95@1`dey;qANlRfhx{N?Kl57OjBv94pZ$TL^^WEvhUhTai9EAf;TcQ_tI^apulI{+}P&h1*h1iJ8P% z_SAjtBj~y?uZxJc`NP>N4zU4V~WV6Q|os6t+ z%Yo9<371X;``h+aW0ny!ZvD!g>H2X0SrB*_;+9G(DuUK0O5+2)rO!^z&DR`E==uS7 zKm748J>zfwLa(}D8pT=Meq8qFdmIZ>=H&>Er2Ho!r{MsudT*Y9?fLjt&Ym^Cr+&$C zD_<6tK>TgLVY6ziDPV!BQN=v5(8C2IzJv|4u9@BBLKL{ zJkHnh9@m@ep%Oo%IWn!n8L1Ql)c81G%s;R%*Iz0d`Orz>N;Fo=+tKK-UG2QHfNRlj z8L25y0$8Z+6Tn$RyxT41oYJ-uCk3}Y4XRFhz@>&s%5d4_mWK1uX^(_}B*nLA3P@=- z52d^e^RHIc>pxHYox=nGZ7&7^_e)JVOfryV9!vXkrC(zaRuQm+h412juz zDAX}YJbfiR!6uT;?1W#^Vg5Ml6TLg|OP|LZ5*^lD=XO;yM`!!7g5|LabGbXl8m0S& zBr7^dHtkyFe@->M7%YNogv2poc-v20H-@^sGTUQq%Obf*ZuZhU>u0g)r_>*ap*#8J z{ib}P@%McCMwirbfV#>rrA^&|mZ3JG!xdj(gRoCXpRwtW`L0T;#i$x*crwonQDoNS zX$j&>qV6}AmghTWo_vs0JEoD85s7Iz*3vo=r$*D4cRp~&oE<-Yo$GAiw>WBEg(kuv zUCG=&y^KD>F1&8V5T14gRr2_x)eWIY$QY?v<7w5;)h+C_)*Foi9Hx?d|J>W};{mgG zNUjRWqj9#-7q1oLyq0bwcFjbq8vDl0;-!J>XnCri3|83Gi_cTc)xvH|&e`%I^sU;` ziz+Nm{7&o(=guO7lEUngR@Yx^Cr$(pM&!*GB6310yD7bRZt04C{JClV%t%TaT#cr90ut2_AW@KOc0dFJk z@Upwqb*LU4?-`rUyE!*sKa!bVA5`vv{=KC&t zEfFE~+r|_+3kfbaeiS4}iWnH;4Tm86)#C*RAx4HB0ZT^ro@N~6Y=e1ir77Z2Hlno9 zjWx;N{%w{0$M5mKX}si3Yn4Dp9+ns9j=)YXFS6`gD%1n7#|Z)kS5MF5_XY@EiE8+wVH*cMSIRMD%qzE}w7g ze4S~-`VYp%PH#3%1+c+aZbcZ?PKXCiBKh(L9`p4qSzp|0qh;O+t|-ZRO(qTaEfOWm z5mTf2sbYb#9hjRCsDvEh3pSt;!F*sOJs9T@3bM6O05Qbr&+<&gIe>bQwzl=nM~~(9 zJ;WY-qxX3$o60bo$iN=!L=g`y%wrfG@{kk@!{JGfugn7%Zcd3i#MiFq$Gnbbd|d}~ zxww8iv4g(Tl_FQiFp(k z+hc;AtVw>Y=<=L|=ZVGEon(TALMdu3Kkz5IQw#R&Tto|WG$8A-FH=CqO`(;%xdu(W z*ACbH(<$Vv@Si}T*0vD>pLmIncrb+=1OlkqoRsEKbF+QSb=Rhx*WEE82PK?QeSQRS z&Iq+J3Mj81iJh6izk8N_U=t7xbMINn23e6=q4J*fPSA3kfjw4{p8 z-pW5q{ISyy75wN0KMdiAFZkgOe~bt}2E`w7!H>}BM|AlAVt{NDR6)&Qtkj@)QbVXY zjP~oD+-3V^u%=$R0}Y~V)ZP4HPIiQKzEyLBuvB+{PU?~0nnCGGH8#!uS~k5iEv_3a zW%0p)S!O)+EU~gLyWhwwr?yKp(`^Ed3K(#o;3M_2t>n3PL+=j|iZTA5D&VE6T=f|_ zx0;PfU!gQj597-C>9f_N7TRs+M^k&ByO~EE%3$c~>~g)Ny*|hn%AX%@L@pS}4Rhr| zB9l}+C$6e#@Fp7gj+02A$g<4AHkKD2;Ucw!5HapQasr>($qG2kkv!k=!06s604lqx;m z-20k-FN@05As8?CDc^H>U=9d*cBA(E2IIZ>b8)TEq8v|G!^CMUixM-jd@v|CY0@t@ zEIKzMrnAbFY-{G{xU3-UFt*$r4+E7pF1a*WRng<)4;(9E)}Zy0_vm(;xjO5}W{WTo zGgn9VUUO+Djw6QL{L9a))O`CV=+bGtSjApuNSka+8BsF$nwMc+Q+?W$_Je$$BwB38 zJ2_5B(WIx$3)2eaeO4!0xa%WoiJ5{r-~hzNxJOqvVELrkPqU7)S-NL6x|h|!?OggA z;#CKMC(T*}G*Yy@>x^rxYjhVK?#_ZN%BfQsveK}rMF*>LGmRI9+>Q2IGZ_!r=ZaaP zuQa6F#zT1IU!hG`?yG3)_aSZp-;BUQb#x~Jx`E~kUVgy@#i2a$7wwI183Rd~v_l2H zI8ftqt~9KAz4NAQc3K%~gtVgBA=As{4;oPgy8=QzJs!wfPk+B;N%9U3*abR|Rw*tM z0#$k_zMt(AbKmUg5wCno+1#M-t=~*Kh=F%~Svne3&@_Z?ETcj+j6X|uU7-0=3OUY9 zdf)N+lNQ_pLkDdFi9lfUS4Fv*&pGXqE&S)Bj!_yqNI-AwqW|D*Mc|bN>!q0rbmTjW zXWEIwbw-d5FKgt|5M-u-!z@%vu3~x=b~!d8-|L2!PTtCyGP$IS*iHR zmz+6z+clQ09MlInOAj}GdnhrAWOqF@y#FQm`z0*be=9`!Uu0+^Yl8)DeN_n`O|Xs^ zR?T3iY;P!h-R5GAJKX+$DWUf$Uvol*>2(-a>xNdj7V|xQs#PWI%05Oc<0jD zV7@0;bo;}bc1QUXo|uFp&7*Tdf4EXqq=Sl5>%#tp>mWWseg0ll#o6FSVu#i+Pw>UG z%fsxpHp!gq*}c=STGvUfJl~sblnd9RuKE16#OAQ=ns@zkb8iO>cfNdWwUY77AC!-p z+xS)+yy$Ck*frA{2p(AR+3j;F4*VKshh_Vrgda-y(Gz}{!w;YE!!iCC9exavKjMV{ zTY{y+4+*~1IJzQ*ynfMLzX9xx_N_nVyO`0^^n$~d{ZD=S{y0V3PNE|i&z?!V6W3`4 zAEyRRvz=>7C84+G23t-(B3vCqqIceg#byBG-4rRlA`1C%19Cy^jzHXPy|9kt_R{TuVP9atBgIbOpO2O zhim+XL~*rmtrU<*!SH_n8xD!s`QMKOptt&}JfFvro#kzgoQ+~<+tklud!BjrzEo5^ z{gZU#&x@;X=B+(P({$kJV2IKE8@X=c7kT9c^}sf;h7z?nIXgPRewiXi*-A#0G>Mt{ zDe-BjPfdbGr$g$7Y&@9ZGo;GJ6!x|8e-n=gw=-!6uw*3=H+hPVU7M6M%Sp@9c7xeQ*J6 zvI{j<*7$x&FH__&PA)<#_uh7R$&YLKp_d>1<%b>p@Gn37?vL^4$JqEIX7~|H{l5}p zI*PI+Y%AkX zrvij>TDF5BwW@26{oBl3%v1S1lrCbsbJKmCNw2U7-{$>J-1}G1Wua0?I;6;XX>`$` z;u=@Ui*K?Kww%NOhM)WM9uLk-_--hU{EowThSCd%K`K7ss(e0(X)f#xi?btTDEz{F z^?ACvE$=XFC>FeTRfA_5s`RLe{V*jp4*G6LuPn1bS}7ftU+<&J-20kn0dQ8?D7ESW ze}r>Z1aQ&gAM_#Yq1L5;&G?njk1w18RAe!1je=gNqw9JEwU&$Qiz|l{1Ot( z>y6-|h;6FgdGg=mX#dNv;&HIWFvSuw*&hoAnbLq#v*Xt2)nD4!{TjumpDhJh*X8MO zRuZpYh&AE6=0VQq=HbYVw93dWE=CR;8B^!)h?ty{<_T(=*d$z9`ucU2Q{a8Iydd<` zoT5DQ4@QO~h{fQ1OQIwp=cHkZUNcV^lm477OW^8s@pRt!0Ourp^WLu+Za1Ss;B~B6REj1aV=+YEH0efF6fk9k(#LN+#MkV=ZG={07~5)e2Hf3dxdsM2 zAhc7=&6N0NHf;e1#kRP(`R#shdUXZ_u@$J3xwq$Q@ITe#tkf_=1NGpr@yV1u21(zEuJ zOwTRqipDpQnQF$b?(=mEsWGbS=&)3(TferNDlLg=qKUD}`u{(Fl`8qC&*$%G^u%rwmAK&B8t;LY1$j%Rnq zJc4TFR&}R$ujojwZJB8dGys@ZDLNM7I=_Qt>@znO0xioeabsWCw`rq`J+3>DrCksmH6}8&Y`n6_fs{%$B=Zp)1DQ z(6`?J^CwQt%K>GRY<- z9(7$un&hqU0S8 z`MCPS44|W8o*qM{8x9KvCjnE~Qp(kZS~S%=b$AjJiSd4=yWHHqsi5H3(Y^aA&S`?& zY0s8C9;i`NcBllGahmI}tR)*kq&f*SbuA++dvBZ=VA|o;9?0C`*dJR|6`QL5p{i?f zfwp@EN1^Q%S$>w-^Nvp!@!rZO`oaA!{-Iah0S*Ih+k<m2}$81Z#&+25Or?b z(%weV>L_EU?TdL4ro;_BPAfWLg%$#9_(V^9x#Bd?$e)06R#tZ+7bgChFu{@`V*clR zXfDOtF)4|}gFQYjx0?JQ(>z-4?_rxKC$P5Ch|HDlW2k1g$+;`C$4l2}lZCYDo(gt{ zZ~4QVgW&^VMJ|2bKdX#K3+moVxi92-om(B-v-K(M*_B#l(?Kwjb?><^4LUK zJLRs16X!uceYv>TXJ#*WSe`55Amh**j zr?0<+{zB-RiJe;mc9EZ*iZ;o9+XnNdW)jf+Oj-&SAycD@2m)>OPSN^ir}*SnP7^b{bZG;-2@CBmpmFzsR*?rv;WcsL{2Zml z6qA<9>29kvlO{3e+Rx}HoFBi{M2>EIuVJly(bcMpQX4$@b+${BXwI+e#Zwz=ITQsq z-etwoJNwm^Q^@Ij{ga?%!_;84V>t4PhmxR)D73IM`{xkLgWvRD@864+;=n_KWlDzF zObWmBOU>Vj_>&~8+pV6@vn=qSs2A0C7`o6z4fnl76Vuev498#_x+}@$)+;Cp!Z>)%gj3tDe#lV426JOG}?N z=xEo{&uqMgPqiRVMl-K^AzmKGX#9#T#ZmnUsIZ^}TUwN#R~%|%;}{nsm=Dc4bxiFd zO2&D)pEUO%p(f1ME8O=#Xt^7?@jG>@j-*FF#hZhy0iWvzv_`*Vx`i=i#C>V6ryXbY zcM=jw_mn6%8SQ)~C|r7~6Q7nSxxunzo%`JMvDMUK;6dUU=}|<=pay5{+Z0Rf$H#)|XlEOnq1bYz zt6j}p$p^~Sr~Dzq2Tc2&se=>t5o~9X1xd$>$kXZlu*60gG96Nul#&$C>>jc-udXAW zlE}wPEl^>@t0VD7-Sz{FB?W3iFnv@1(|?}*T;?`mGgB{k_qMAygEgd$=b^$4;Zcl# z#c!e;O}e6Fv9m>P(Q5JXHNHX4gT=4}oo5-~uP?=QPSL0KHRe|K860N;1%Ahh@u%6; zJM>2X=@?zkk)Mp)uvq5Rs-CP(mi+AC-rf#VVrMsGm&PnRY{nUoTP1@+PKDHe@rcuv zGSH3kyp?!+Gru~O85<(~)IdQJbuvGn{2qfX_X5hDb`5#O8b+LJ&O9j87#h^#yg}aG zys_qKcSr0CQGtq?a;Rt6C3VgWHJd&oH}h!~NT6eEk3~E%+tAO}W~5j*Qz(rX(kbpL zD*Z}m$TE8>jfa9hT05CxtOBs$bzd_z_ajihs|#W@;0fZ>U^Xydc2Zh%UtJ6VcJNqt zcJLaStIAc4D z17IQ34M5poB#fg1ZGU{YwT-k{ttKYTAu|Xh4Zwn3+={N~;Dq%AKrWyRh7df)E4mcB z0e6fSXCwNU(}IrfxjUhz$fQ+0B@%j1ZKfVLUktvjhZIiEjpEg7(pKFe~vSUbPi8`XMx zlVP~d;tIpjvW9}GUpZ&B1-!>5OzV|?;&a28*r}f%w}&*o9?b2+7sk90Pw8kIKR^*q zpOFT&Ue326G~qKzD*Z26eoxKd@pA`NO{PLjOIB36deSSrjkgz%>T>1S^rDZQCuKb* zaba}Xt~D0!u#%bS31t5!58Im1+w4N=P#`q2E>ryyL&QWY!D-_L>rC6)lCaqEa-%n` zDN@-$$AK~CBi8SPjeBMG!B=O@#yul(O``Tnw(#1@2*kR%Wh7!+gZ7YYTc9n^5^-O1 zBXbO9m8jH^Y7nscwxjy#bWY2N4*v=ymS0zS&=2O8c*m+(z^TGrDtl{7Ag~11U9eX) zW!6_@>R9u%!(!x!MLbHWTA>`DT0x-v36aG=r1lDC}{{fL>~D!SLHW@nVQF*4;6L)tsUWi63({M zC|NXVrkp3@_%gJeGU1=DT6euh9%yDq08IGe?tLAlQhyo2JqTwfg&L8025xMMuCj3K z$U@mkPXaX50ySC3A;Dpo-{GH_Z|(xf!HAbGEl4Si40URjAMqHT=eG3F4@$WD^!ML` zi2=Q9M<(A|SwEW()*DMHVuHSwUw_8p-^-9)S@x9IIy%m?RWWs>cTg;GX4d~>Utab^ zsc6NNLXbJLflo!*Xv1J#Lo|KHs%uB}yjYIZhz0)|bIY++cafq8xDos>81p2z4*MOtg(oNMksM<`O3y!q0_M4WErFOl+IN8 zm{PFz(ojjm%Nc)6es*wxdlefO!DOhU|*A0qkNi2`Dh*)!G#X#Q`$A2XG1Id!M9%}e!tXj+3P{>Dp@a< z%X~j@AaNSHclI;>_xKUxZF*(1@0X;$?Swc!N@DT(pB~TO*>IV2c_dn=#&t*==`Oe* z*P=^ZEa`t5lJg47AAVpg*+`P&2B5JkJ`cZQzS#v^iTm*QljWi;n8SNo8)vdH$Mk#m zl>&Sq>^6($wAm@UYe|jejGNJ%Un#q+gG`8ucOePszFeYmTWALoFo2TUR7R%Jf zGOaR;zNZ)GzagZG-#7Y(@#2U1RPx=-(6Dao5OK=#sJMX#;i7vONwDxM!&S`VWL5xq z&-4G8Ca&_Sq5PQ&7~cysO*t#3y>jZ ze0W=?CvQgUpI!3b*CuJc_lmq_@fI*AFn4Rgz*E-<_-0e&T9UErL1LlSw2*Sw1t#XW zgREN*8G(Rl>T1$k+>-=3u%*vUYl^4cc)u0(e1o!!#CX`yP>K~V21CvgkLQ@nq6Cth7pfBa#9z(&Y!*c=0hbFuw!@c9% zZruA1UA|vxEQk1IY}iDtQNPBsMV(6^7{bkmH5J9z3*fWAd}{1^T2z+Ue3U7vizfAuf39 z`Wj_Gck_|a#nhYO)^UfK=(El{wy$*2?14nG*gh+| zWHB(5qeikdS-L;+3Nf?)5=TOCA>_0gU`O+XKn@c_e>etx^@nF9lDZ_SV%B0z!#brL zSpQHD>po%)ekdlMnYc0Xcr3gs-1~*H1P+6NTsW7vjQ?D29amIbnwq6@WSwQV)bwpZ zjIUI2-$>lu&5LzkYPp!p*JWUQ*=eNr`z3!D{Aj)_dVjsBB4mZD-h|uRvU*+aB(=(i z_m6*~(7&(gwthxIqt+AMC6d_vkE)s>DU+nK1_Vdk*|YE++R*Njb>X{+rgg_rl4?uYVUkLi&{bleoPhD#miH6rt9@EJjFr{XwsXQQI%}S^H4HfCw%jL z>9f1dAmumbf_J{~emv(RG_;PoZfw7i^;>e%zg^uL)lv}q$Hpsl<-mV-iwZZ7v}d`t z*&ik~RqQrYwN78Pb*@UE`xMr<&~J-umAxzSRW*D<`(ikpokL_(>0wxqM@M+t`uV~@ z@PHUOu=_kN<+qgI|C!{!t&I-apbAi^7z=Fq+LiriiD3Buard41D0@4bV1o_V zM4Oy3Im5PzBAT4RWDp<>BFF7OMqorT0)z=7BbkhdHaQ7Q5F%re0EwKlKhAr99-nvL z`_;X5>;0x`sx(ilW_o7zT5D$Y)7>ZKsw)klr(prltO{0_W;?R?jAKG+CB?GyXa~m0 zFQmgJVS$uC0Qfw*UnG&=&jGl@ugLb7UHTep;#f6aN3y0buayJoZh+^YLTw6#oB zA$JMGM0s&PY>J!zYTOq-pgO?l`s0qaG@N9MmL)cEV-LPfE zFA~>zh1;=*5u85~@Cme`x9)7-QC4&y-yxy+t649hyEP(vxs?Axz*!rCm%&|jSI*nf z4ls==bgum(vGu(1`M5)RsJ#EuPP*XmwhVB4w+so{VJ>O6t7r5E>EF73Le z?RaR%C~ElTZvOAoSXRKY1_#xXs;IBbOSco`h_ZFM^PF44uixwb?$rN;-C(y31cRIsDcWygGnhr+ zC&?Gr!yhCqdp;Uz2?rRyXwAEI6e;+uvnQN1>Ew5lwqyzh4uP}$e* zBiGJR`P0H9`pvwF-|bnCgUzd>hoRfe7V%g)T>9WckD^cC z9ZpiNL_N3x>e?Y0dS04e*C*2_k<|>eDeA|~SY5IO;U9K> zwlVvhMmqEMtOw0;nNy6wVt>w4s%GDL@c3)z#Mi(7=}vzux3lcst-yq~Hy`7b2oLy2 z{5pXO{G-SH=e>U(N+>XGv0bN`Z_?jEe=oay(&G5lV`21aVDv})dmXVSxC{9QQ`$|p z|As?I?npP+v@$YsUcBs4xcf;A1+tzxQuvOzw8^=oWpdt0_^E&O!$qa(YF}umjPe+F zC(C3AqqV(FJmVL}WCcXETYr!^$h2a8BJ$U7wfqNAKsJb~uX2(%JZ4GiwvG^^oTm`M zmACjFQC^K;TPqT)BchXmS)~m!j5!WT|6#ImXdDxp1RJd90XAopl=4$R1|5OESvSe`SF))vG!17+n#!n7UI@ejer4Rd|HRaI1^(9 zvL$+c`#d+KO=v`tH%zV5_w#GDRNhSzu+&MV;k<)1PM!8FbX=Ef@i(28=gbS)PbBjd z5`Op(cl3Mlt*o!VNSX!`h_@~eE0TT=iHYm97OvH|9mV2VsjkSjM_d{%W2_k&Cof)h zU)Oz3m7|{UIBMSCac(uS4Y_;eyzBS#b?6Uo1M%1MBqYnESgwnp6PGLX%K0|@M}n1I zbJ$D}|B+De_f5qMtAr!Yhf)c_ie+art>Yr4VaYD%Lo<ansy?(T{Z=`oFv^}79&t;E>1#oD#$IqyITB{6yDGT=tHO8>r}N}9EDPJbNx|% zq$v%uFuDzpQ`7b z+V9w0)X!E-Wh^w~z@PI$9co`?41o3zva-9=1hBiA9&elu)UR526}yo(wTvF>M_2ztr;UZjJU>E~UB<@P1Qc(RKEV zq<$}GBP-y;WY|fw(}tGx`)aN^BeCApuL z=YdhV|BK{7_7POUd%mmt{yD|aJe*$0dZnS|WPh%z--mH8bcy{g`~QwHulcRPKE{6*58XCHv6HWF}o%kZAp9)P5@5`P%TJQ*K)Cjzy$PsWM^T*%o{7AKSFJc?jM&eyfWaSQPg zm=fDQqnYL0_ut8l8DqU+CXQ*w^k(gk#l*<4*~h~wD=T<(Ni#a8fy-Ca5L~Y(f z3?SLVy#Owi6RUGO0wX#$Hl)JB5@wvLQkT((W3dXB@psXtJe)r270+W?=)&@|TlPwb*3EG*L3j?4 zS)EORF;eiA-s0OEtIZa$Cs*QTM<-5#CM!Tp#{E}S4w zr#ap=()g(=PWqmY2%U5qhg1cXNL-qin<^*;2PC-BLwNK8`!drNt*&@ilFAB-tz1{a z#Glrq5>J&bz2q1+jn*>OtZNs}E!&;XCGyP7Lnw+tskM%4KO-~G`o#AtpP+%<^~3En z#kn&JkPSCBNR8~T-}jq;KyT1(=|JLLj~KUGg*jgbfRb8xbx%RrE!J~tw8iL?V^7YD zl*R1uL2{?H&V8{DVHDX%j_{A(Q~^a@tqVJ$BR)SxZyq?4NMSe2PuA8I7AanyD7`BW z^18xRT#*YB$serM@2h?c`!oCKgSy!2ae92nn}n8nSwdGR&?79&de|k^jX0n}ck#3} ze{uK8ci2Cu`#bT?_d6bK^z_l36~3%`Q@GcTXqo~Y9yr7P*Su(w^|WE5>qPLzo{?o3)v zvd|2oks=!UQdCtCpyPRTw7&Ecc!CldMvhqq!Z0yU@?>%o9k_Na|Fx{ElWD|F0 zjhN~4UVQzdt*ex-7>fe9bgKF0oD=7#KB% zm&|hN$t6Ix;#JDLx=L_j0oS?4E#eQ&TBQ~!wV(aYGXHz*4<|Q;Z4uV9?_nWs_9r43 zt)%VsGl3V)xu;Pbtsi6#V4zmpv~E@3u!o+%NZQyFlzr(hQNb5j(Vc7_oafb#$i#GPW*wO0 zg0ei3A&)F6X(%FPNj3nMqyi`Ko#RnccVuX!kwHz-x_zQ~w*w?a0fQnSQ8>8AEbYx7L5Z(#lV(6Epeur5NBQvgz)E|KCV$N zofLN03a8v>;c53vs~ib=*Bzum2r7I#76RFdy35~dPCZ0EZm>QS(Ct;Go_VeXHfPBn z%gQ>;`+7|OuJXY6rd%;yz|-v{BI(bWV z+=d8iKI&UzI>hqvxz68-FJ(%!DBs4Gmt<6z0a(K5FZ6dtze;M(N~wIFh(k=@Hx#pZ z`ANlQoTrLUy|cSXIb}4d#Q2!u(-^55 zCOh}&;8uk@Y9XY4^+^=EucLCTh@)=TS0`oY6Gg*x$VDAkHHlcbkyVtgu{ zBIMqWw6VW4wtv9x%Pa0u3=zTCnJDUJWb<_ALRVOg0*pWha0PwK-R(v5Q=X1i(yS-^ z#zHNvTe9$TPOCRZ)>ne2=Z~~ol^%8dZV}Xf(d7YS(w{pAlIyzA3Y z#ycB>vMX!T`?~L2+gC616J{lLE81GxtBzMA28>TZs217dvb|Z=;OzR|SND|uLG|B= zXSDyULHJ@9s|@XMy87Y~$Z=mgkEb2{T}*ZlN;5+Kl+9=7NKx|LVl)>(IBJ!nZ+{>V z*Q`z4^B(F%9JxpH7PHN`0$Cl{KpxZ>AB(u~E#=Kg(&Zq-CPy^ga=&)|)>Xs|yGGm* z=KZG64nnyh#)Ws)wq{V-{ia}Xbb^PN$ywAw^jedlE0(cTHqHM$R1!TPnws#fTA-;u zO*y3Faa=~fMhTh};`GSO7GhB0n(+0UBaMY+Yy67-f%H^=(>o2DTVuuPv2-gx3jgMx zNPA={q&1gSV^FX4d~Uc|ObA3`;`))n%HAQHu0~^W0o}oGQ^3r*X zL;~o@a9R5C+UXj?cHKC(o~D|$_un5+%S=f(w9PKLHFY!gr6lfB!IV=rQn@PewNi_w zEUsQ^i%`joP8*`CB3!0u3N%2)r?QN;*x1u>D>L=qDh+>bmj`uhgjebhd>TMu9HHE7 zVWd4z=ITk!s=%B4eor#Fp7{Dfhq3gt>kTV>ye?{p0Ib3~ziY{k7%Xn6vGy1Zk`?PrE~7>AtZ8Hph5C=~db_zfT-Lv2m`N8>dfk z5S6Y0n)%}c|3YHByvn2*v+3nb@lD8%c9s`Azp>DNg1Q=$mh51ckwM!7(PK>J`P(sL zq2`6#X~)o81W>5l4B)!#M@Gtp7rSi4 z)0gb`^x`nxR2ETjL(5bjVZZ<$g3J0dP;m*o=W|xo+_I~FY;nLKQQO@vKgeW`R;^s= zaK`&ahsw9u@7s6L>_^W!><7P9@C57JbHRTq$n53Mf7w-1wxZ(0p|6!bigVzu$v%E% z)084u9HKa(ez{&{3GW0rL(1dZ0p#o=-i2hDYUaF2C`*v(3dWy^(!+16+PJem^0(L^ z>;`@TdNjI`MWisyj0O)Jy?iti`|ZGPzEO@AJ}xD_l+f7N7?-*@`n<=T({gThFvZEk z!-;#nmc~fL%6t!xNj<}Ou}kiaA<9)89dnAnLt+-A24e&3B^=;?QIk^$Tf*qR>)j$i z*VNSTZAlRlSrp>nU^jbR=yp|ZPi_md9fS+-TUp|%FNo@-@;_&kjOr;ccbJh_PSxXc zUibkRJlu|uucKC3mf?C`>E=t7Nf3U=wz;V7@DWC5Ga)j=23tX;e&4XBGH3w~i0HHQ z>O2O)GsO1f1eKs{hs@J8QWW~ zTi)4XGD5DVK7z%8*~7*W#T!AI?t@UqJ_cP?YJ+qRK#R#KHy#`aOG#8@J=ljIOU*a| zt}FoM z@{Lbz0wzI21LgU(OQ76>+QEM2?vbUzywXm$#fbw`cLe(^!gs{dqqJE+-skejNy{@a z^X>%YlX#iZ&T87m-*!O-vTJG0HlNviEL(4ODmr}$k5>k5ioU>Nd0374Cl6CR z!ndqs(sf9g3ttIkI(z1HItFy9K9m|)lGOcOK<5jd& z#lLV0*;EV=x6&7fbnmW4v{c4&A=q!9elv`F%m@3tmLNl=B2zhP&>(aq;W*XOh5dtIZuu~Hh!sbi>G`ff0y0WQ&w=B@UCY`(^$-za{un#V}#2j$jS?Lh9y z>%XDD^+fq29%d@J#higP9n=R~xie(C#3e8lb6sw;)s_~^O^wt+C}wt+x7?M+2wQCB z*t8OC|A9rzLSC!wF|+ZsZwjQ=lmFF0#$&VbmB&E*x_d~ivmKUBP;6w_aHwHzA;=|X z9P6fKa-(g***;X2s+FuOvOc<@rz<#!$E|0nMu`QZk3;MpRBwd?z@o~bM=LX{S> z`LZE$Gep?a*kboQv3$tt7K?G$OD|)Q^qwS)QttX-6sZMHE6w`&c4>aCG`v*ZXCT56 zR61A5*nCIRI@@gwKIO--}NHLJk8t>QD;`j+!(0mG095HvnCyGa`*vl)YkOMupTZBF9mYF zjSwz?To)&72&Ah4xuQM7?W<8%?F?mE@nL_udTS2pPepRE1`o-R+^E(5#?PEcq#)lq zV$!;Iwt8I9nVq`ing6^i%kNH3DXNQ`Z^ot*?2MRx)ywqe?9sfU7vD#2E!p8TSP1n5 zJpQm++Fbc@w8-0LdTzYe+gyXbV+^YZVGUxV`gTVx!LAZ)aLAi;=l-}!t&3p*GTJ7T zw>(6X+)`~-Pm!K`F(@%W0$?gL`MoRJ7~8C1D^OjbC_sXYby5cER%3cr!Z8^_u*0JMAzc^1vb> zuT9~d&iP9O-TwJNxBOStc?%{VI|VU`)>hP7b-%a|o|Qb5Y<|SkKkg0YAN2i=_OJtnci*b;GA4z6V2jZ42!jbb^ivHAmONQu+@o(izY>9PBlXU`?Z%b1k z3mESef`g1#`{9!+hq^WXM1EyM-sk1vkOfnE&7*!+v#2HkA9-R<6VK{0L=#J)d^-zn z`S;C^BXPoX24*sSGmWKTPUyW2ba#A}n^#fKE3VRl`Of<`2teZ!%NSCXkmz%4MM+y0 z+v42qvtcwUdpt#KsPRLz+)6NZbjeI-@trckp=Xh98#y&{_a#AVRZq=wl z)x%PKJ-mxukXw#DGE7FLXusdwVA5*DEtMU<&{@&b@7^sG{QSdLQRen1SpiPcE=qpT zgv5fH7@QiK@?davl~sp7Y^}NJrD;N0?PrU4D8}89SeQ8pbcAYA9OkH5W#0QPh_0U4 z^6m90eAiUHQ-D0(@><&D&Iy(!ZK8k<$tkUsaDy=pd(%(7ecm@`8mq*~ohvoxPaw$W00 zm6g*WdEnD3Vf8?l6#Zy~NnejsA-=K4B7Usg;zVvbuvK6rLq>KieI+O*Ahf9uBqXyI z`)cGvx~|X!LVzVzd4ampL{X2W3GN&!S^#%Zf7OHSrAC2VFmm|s6G%+_TO@PWlh7QV zvWZkET@TZo~U zcOqkc5(C05-P{`!avv*~F0ATC8(7X-n7)8|%BeYi_g^BFPf7HjmABPJ0Ma9E!9@F{ z^61ztwC&LwTTQYAhm=kn)tGHfqL+P! z+c|!bU^9bu&IK(u&w^jgi&eKzch`j$L-V{!CP6RyX-p}E=***%w_aRq5tK~Hxe#N0 z=3M%iULap#6LyN}Mn?u?=dk4lSm#!OG-L|r=_D;rE0w%2MQM^$aUJm|Cu-1L+!Jq? z9}Vx=NO1KR$-QxF%oO$T+xgP^F@1A^Taq_O4QHrdWmKoH)?n4$(Xh^8R57Gl%WX|I zy*jpJ3h3G3mvo(f{K>O;#9rY6`3$vhQTkt_F?!PxgRU{1sipNDHSBjKO6;1Z)dY6e zwfD^$_es6qwDn2mbeUKgk9Ulz8cfe&L}V(fM;qjN1CgVzkI*yY6_StgJUw0-DiWQF zzMWKZIU~R+$v6%`3C&@-dWmm;LtW9V!2sC259LQ%$w>+?45Mk^o62mBaYx;8FxJO_ zfMTI7rBy{;pqZEj>3%5=Yv8^_r&wrHy?X=_JcLOAEibTYYoWy*9PW0V&O*s zf?4@|jhC=#F1By&jjc3Wiu9y?ssSie8J?oibz@EROYMxymdP)Yhr-9?B8lg1@eQa0-VX2WBywGy7N#?ZdL8%F zWl)mEm1u>u6iFAb9l=;z)2}}p6^_s-RBACUF@q3&$sWM#Xk{st{y3+%&0Ev zRB0Dq>dY%#M58PHSd_ZNtpM87wuH8|9+PXnWQ5w8Fc&%HN_E9+DBkZO#G?GkD>aM` z6~vO;93`8rTzO!p%x}9&hu~LrZtC2&9NX66^wu{#r7@_vH|8faOKgBwq*V;$e&9nY z7s$BKj8L6Yjkm>RIkfBOittGH3Md6fU95R>8?zqWHRVEvMWQ4zal9eg-SLjCcDGw-iI22t)F-Ky6sW)Hm{w6T%9PNy9;C+xU{ znK*|jcf({^PagjwsixCKDKrg$i8n(IzpomJ?CS@epIyajRykSOzQFy&TyoMzb&>t} zcP;-3>5`h8?%au-EK<1N<26|jK@=hj$otxqN<{3yPb1LDx2ZP{8+%pY2+>F_p65xX zUz@vjI!m-f#q0e?u-XmJZ8-(B{p9BI0-IJmBs)=`D<|!OTxbouHYIKvyyYOu%rwDZ znO$e7h0y`k^&Xf22F|y~7kU3(k;Ia>WQ6&jx?STc*qAw>BVV;>%z!*0IK_`WMd|Gf zNYJ;1U|=Znv|5Zkesgngf@$(=d$Ieu2(qae>s!DkPUy>`R5oQovhz|Kipui?s706& z4v_L_7`$sMtFcN}*RQNj`~&sqclUDKrD0r9b~2rL?o&9r&d)Bz>qmoCCy>?bpf`9% z`$+v~qd7<2Q1!Szz2W?9Phi_TRo3fL2D*^^$j8gkDWN3iUPAglEA>m)%!Qs=jdfd5 z`+!L2#qv+DEeQqnro2?6y04Mo1tZ|QAwS-9gzgW*ict;IAT~~V$T^G5$W6nuqFun$UCQ35JioU`;*3DB88x$3`HX<8IbR?;QAm;;^sSK^tO_!-8k(tZA`2;mqRHNf z8Py&?T0)Gnt2%-dX&zAva>J9hlRL(05nelfY7HrI=0}VcRbrsDqP#-j4nl_M7~LGv zpcGwZMdVzW&?l)pV6~hz!giQc!tT?c?&~V^RmnA=i%zFWS-=^%wG8#cctSsaI2`iR zPW`X$BG+6!eS@w~ajvup>~&t6xaXc+2E`-GGCS*4Ou>^D>s$F#aky7hYOh#2Wmjo! zFBmJ_SQ`yo!dYFXRaLs{f^j-&`tsBZBUOXT!=%E$Nc|BRbb2Z`@2ExnR90##ZN!eP%N^2 z$ZOWUdz7SHI%~37&nJ@vIzEZJz4bdk;-fuanN03hLhdMMoH`LMXluHA>-*_8!Q1%N zRxMY_b8uz@tDWg1=Hk9MTd^TKdc@R1@Q#D3U%mBaO>9)L09D!OYwcy#?rgnyODWbT zklsX@m~l>VV`Sd>cX1?Vw%;!Ae4=sUE21)z+rM{wSqvo_BA7EF7%=b7qaXvJ8-eF) zG?U^#F8GyQr%-oE^`F*#DUoQm$EI!R3z zmalF~D^Fna2AgjMG1({X9qB-WSC{~H(Xf24n!B|0<+lpRcdcJf`TCR-=eDqM+9Fv* ziI$NOlST#^)lEsqDO!Jy$-lQ0+G%h}REnud=f|M0nVVdY+pThz_FlRY5I~vBXWvZ( z$Eg?v*|^c3jeyJ%DT3^nhHY07-SBvku-e>=8osu-*ws~)Fh$>IYtik={?m6RO;sT; z3}xf;BOHeH{l6HRW-Cq!tHDvQ4`wy-P}5xF^_ZI0d-hplJ^Xn3eOuTpyL_gtp|@oJCoT3Qj`&$_ zG0E!V4mEb9%9)2iIF^{vs(++i`?eq0uUch3t2}GIOf~e9T)dgPb6zvm#e20hp$Y4y zWXa&ppSAVqgm1yRa`d(1Q#-V%N*QAr&~a>@p8PGZ+s2zVGmBV&S^LfW*GpF~^kk_D zp7x}On-4r+EkhItDl;>cBvy2F24!Ph{k3jQbxqZ_4*NhheCb?eQz*;&8M7&->Dh+6 zc}F>ic+=R6ie~m_OF3s23d1X<;t=7E*xn(a;1j8A2Kv*oUnGB`E4piH>yR1IgffoP zd(y=FPIw7{RnF#*!|C69LF`>Ibz1jzyCbdtq_wtivTug{m}dL(E|wvCoUtp+xp}B& zvpE!$HyIy65fL~TiOEvb((sPg%CR;~F|ONR!>7}2ZYw^jt~rO0G93wnOdX*C>F7$w zibSkdwn`w-c`r(P5&htE5{*~vH_mK%s8?n8k;D(+K9yz6dwiQ7TYD@e`phm6t( zSZv*{n|`w2i+NWa$_xX9-EOy9c3((&@QY-Hs77EB)>d|Q7FbB3Jkxy6=BS~^=wA0a z&5+ZlAYbzf(7?cVYuUqpexJ(E45)pVzJ+sh7W1#;&@JwCt_p&tZF5P<{hpN9PX$$E zjm`qcl>idfJ}R!zv#6x8r5N*=QwOe>P*ZkaG_}Pd8ML3brmtj`HiY_ei{JhB`O}7) zZj>vNW(g4{bI(Wo6C3A1TF&5mBB;wdYRpnimzn*pVX}cAooNyBaRp9yj6)~hQP|`< zwsGR%I;X{HeyRK5l2dsh+6?r_Y)ce`V^pGQd72mI0PVQ0U9ttkLvMup7I->EeNXr^ zw^P3cVxE~qnK7-BvmCtbxR8bnP@gwv!|z_ zvPxJ6&mj|MHUoC!KP`~0Z1^YG+pKb52vJikIMyFpxV4K=OJ zTGy`1^emR*yCHpspvE(G7wfT~#eo=o(#9f==n#DahyHYVgXsMgwG45)K|s2&`5+*L zN3mamDUszm`fkogn_FFP%n?C{F1A#xvyJ}L&G4dYf(1esXGb^YYL;mL6q76(FBB^m zg9YG=VP-MuS-ScnDceEVp`f`HOy4mQxGLp82u_ob+M|4?6A%URRJ2C7x|AQ7c5cR=K1kNY)3sRYQmrOU!3b{8pc3o zO6XgjY1af`4%1GL5YkmZ?e0~fgw2@b#c}Pj^mot>2{xN!o}+tO+VY|N{{4v=9?WdC z`3qHJ$;_N1;wt&oUZ4SDI<9W&a1OT@?~(5owazu$D1mgcnzut<1$4Q(cg?xirF&9T z6CN&U*H#zT(dz-!JZtg?Qp2B(*xNg*sM8#}CQcbA*Opquk2HOG%ln`E=5HncYihUGZRS&+2He2?kKqbYFS|xDKtMgc)eK%-C|}3-y0mFE5fL{>A%i~&k)wrFCBAQFUud8#1kEi zy*yzDK^EN(WV9x>(nm7gfLl6K14K)>s`F~({8ZCo!>pG>EMg3x4^OO}6vr7C4v!<~ zD*DG+8?3Fy%F?M|%&hOl*WPo~C6+-XCF#ExPh}N;Fv?6s%f*tJy*OuV$}#0B*fUFK zMCKY=38VK=^x^*AbsA!xl~`Egb4r+ITwL!pCC5HEF0MI2p+{KAM%ln(G`UBs2-oD~ zc>`%9WOze}F9yzQKLgz8dgQkr|1nLS-mw>3Cr6ee#}?5f*zig(Ip>~Eu1wv1?^o_R z_w-d2HKL^5J;H_UCGJie=14~+Nnwgr3Rz7X*Idn$OvZ$H`1AvE?CczjwyC_tjfkV0 z=&P!`-1*gJ6E~JiSa)f2nM< z=3CDhK3S&e4vSPz!yh(UJcmV$TI$F?tW*bDV9SFfxB8G~sjh}vrfVZOnRk>8x_rju z1-4`2+S6vP3xY44#&b$Ah>@R~DH^Znc#&qq7^kj*>D$aDJzro9 zC4Fmi(i`t<@H*w;HDb`KH5Z;EdhgWaLvFP-YxU7YQ&0ZE-V!c0cdeT@h2%J&7H@ zu_aQ(8AeH*8qwVHE9yM15GoK&D^vZ5t*~`AI&}270Wuia?HR2tE%e~91W#`D9J`2M zD3k%oMnd2OGsU_xsPe4V$2}{zRHYC4Aj*J=5Vrio+DeTm1!WiYrgqZuoU+<64S=Qg znOW57K#-ST@Z4nSm={ph=kXAiz++=|XCnWhW?4ZJ>`0*CY><$bgj60`Ce+;j`d;(5 zgWZ1y{~VkMn{!k>e1CN|(YxaW%ix?JJ+QC|Qr@SG4!iBQE;<|9DHtEWarJEJ7s*Er zrkD+hbF0%6QR^}x`Hx|u{*60a3eM6z^jsc)lX%@CB!|jfh+gxjOg$FBuY3fB=32Mp zQqP~XygACb5>!2Z6vfcp@_al5WKDdEZS51iT-{O}r&Hi*pG$f7|2XXUk1J`Srs&dk z!!%!YxFm6~oWFWh?Rrrnp0DTAdjR-)-I;}fT9+QS`|#wrQd}Cqkf=%r1ZQr*#_Nz? zDC%;dxTeMa=btu>n*YwAuFZ42j`8MoVnzuIv-|O`6DoqE270+z1*Q1e_N38@K1xtz zj3aPscEDpq=&2{Q<)A6oPSZUDJTh%u1E#M`^sx`~%4CQK$~9CL55IZwMw7R6Qpf(3 zC7PquoDDh^q# zrWNZ3<-Z-^NE^)&0*{IO&mSV696DJQC3n7X1>zwRB6YiDeby7qEI{1QCPI)-z6N)Mbu zJ?%Oa9*xIMZj&RRj+^bCI!3xp%VwF{>7DG#b7PB-b@PnArOfi?=+VdMF}?x_%C@{Z z)Kb+_OV@8pJZnPwRc;BPGlV8W`+Oyo&g3$GHfTz(PbXvfU02Jqn#&Fk1z|`P$63Im zf|<{&GKx>rk?&omItB1CdCwz?XkVLTJ+&Bs5)3q494#7qwx9KS&a#}^bMyQn$>i## zX9uO57T@(bBJk!@6d()Tm9#hZ@*4S!c0V_d8Zy`okqqp}1B=a1;R3_pT_r@Ky;xj6 z+8fu)mTn@PoR(gtW6XxQ>n`t8!jZn-lyKI;J$|@8ccf_^Wc_t&_0_8N#^%)u@e)My zi=-j!7~FA_lR*q#-E=WGps|L4)+ zcar~OKH8Y*&4GQA4<=`HV$H3od7g? zxKPPzW4U7N_0KXp!$CiwjgyE4&Yu5uO(y%&$wILfV8UXqQZKU!~_0h|(xoYI2qHW&q47M zwdu5`Y%RdAeFC#m$HFtZUf{-%IS0xlK?w~@j(h~S_qe?Z>yRJ@oKWdXi+qMk~MS7f?H&5E1*C2GAv@3Tv+Q>i5r=<(3UocXDbao^bl@y(LG*CFUk zfq>_rmU}FItfO)B=b9g%KmO}?7W^Nv|IzVg%!KjO5k$GmtA|N?<9Td|djPOma*Y>T zA|+Tv;SE^H(2{?NHzB5I>|ax0#LdQ;5rMMo&Vxg4Cu0oX=d55vaV94-9+?!{wZH+W zFjGS#iU`XK;H_D+;aMhk)sGpfH~sjGO-IZ)ISLd9%Zd)4GMf^co2*LBa6r%<^SJ!- zVkqvz+F5`Vws)T}s;EO~@z|D074o08n<@XXts;h)FwA=j8ma@^I`Z#%Nf%bDbvY+H zYHT?dH30Gvq-=XW9f9g@a1K*&QKw9VK%hRrwLLl7rn)g^lj5pM!bf!Gim6SIntA{{ z7p?&!wIk#<+6H!Z_(kkyG}N6{Gh*ZvL}I6T{RdT=%j^c0Eu#Ll#U@e)-Lwi53Le>y z;~M;zIlPd6dG&DW{3J3p%*@{LK>iIXJ7P4{;e|%z`K#*!FMk_`LZAM$x$R3ra_1}` z;i5+a)iY2@VGoAz0Mc01qfYl(S@%ETW0rkgI*qcaDSM$ixu5CIwd4#PuZ)X8v48Y3 ziTL^eL<_$Td_2ACbkbJJf2o_M`>0}CJ|4kMo>a2^2sXSpZZN9q)@cwTT~`;=>*G@P z0UHD2&7PB+0l8))8Z@a|Z?~itm?IySt&{i8IJFlVGOB{vWci)K9{D#FVO)z_3uGE7 zX@=u8fck<~E6CEum;=P|XT&Kqx-t;DF`my^u6j;idO!|vZ849?=Y+K1ZBTa+`0Q9L zI9|I8AAf5wdgujXvZ9!TEUY@K?53qOKF#;ho$}P8n-CcMX_wuup*uGC6fHR$*%;di zstKbO$?+0qz1{@u9X6f@T&(Pq4!lT`{*OKBw*pcbn_naW>CEG#=R`Zs?{J`7c9_nv zXZR-VfC~G?)A{^SpYz8p(lS*i9}=!8`2u;r&Tj^-{u~bd+HppCF}%3_?aSqtwIa8i z7Lq@DXiIcYj(0{cQXE>tG55xry01&5)*qQ~*q(lviacp%-q3yqW;%&9Jw%68Mn5odz9@YVXmslv^tT%RN07!yISZ?&#?u2)2uqX>;nOvw4dX5APiN?Un50P) z)u5$PDF!vf{m4J{^o zbUVWAwOKpLtJ^#)8^hMd&OT8O(eDS=z~L$%s*!XbUG9Aj~sqsFS~uEY>07gscD1TDd-98E*!oBJxh zL#^!Drvd+g>xAAfgYLN(j3~W7l6y}zF{bomd|go>;)%%AL=W@eMY=t-stA%5|709+GQ=$gtI zatc{eY9@LO!Qw$c`!z7jP~1R|-qSRiSNFQ?RXr&x36Db^o_8>_3LZYa=LTkg!8X6BR_Kxi15HJ&p)_rUo2 zNQc^}B*jlEGuGAYx=x#m(gt5ha(UdVPXkeqdTigmsZe2!T;4pFSaVK&X4cx_6Z(=S(c1f0-2iy*Qp3i z5eZGdNQ6Fz*GK)=-%L&8Te_+u=y{`JfL(&>r5>)hpJ|5iIU!3RrOfwYlUa@q5sM8QcrL)QzyvVwXQ2t97N8nk(e@- z@T7_!PT9qPuh}>4Pdgk`hmztC4ykk+ImsGs1032Vc&DWOVN)`0@&M!4n}b;p51II_ zpp2cUh#5!yxEx(fX)&QHpU=RAv{-?NYjaN(|kg>6=OWW-~=X z!etOl)jpo*D_-60SccHF$M8B=PLFGGoT1s}G)0w^@p{2e7ez}h>KbXDxaPFKMvM^V z?pQcE-JnIzeQL}g$b~KDR(C@?qlD}-#JSVm#r-^?)0$T@(_{1C0<&f#k*h~j1%dfF z1=r#J1z*a-bxj|mRl{$6RCVA8o$Y+&fay+lz_{ubyBcRX0{7!MDr=Doy6lENii8rj zm7v+;pm|;TF<1ZcWmnC;nD_CMT8xahc)5ymm#>`)9wDGKauA@{1dmyTIOWm=hwt+W)&7?ZVA7GlVvd-bY=%v=Ro2dZw9I?Hrwav z$8@AdQ^HgZhrJcFK_8>6Vw!hNtnmH#YzE{lUc{(>O|0;5m^roB`j_{jSxGf$l-b|P z0UjvUlN4?{7$h#3_lrbw(^Q0&^<$f6Oic>w#M_}#C^VnnMK?!COh+Fx2xpo`Ssj11 zlW9JudaGA+L@LwT6c}cf-nun;*>5PlY1V)*9TiXOl8Mn>+#Tyw60KfpNk*fX!{lvG z59wAkOnoFB^K=i=*w}`KUnxbsiKkia+Bur_O238d2UT^ft#J<{{p3~O_8j{T1=Slv zx<)%y4vWHr0Rn&jt4(i9O=Zs=hV8~OUo|D(uj`qfui7t;UJ~4B@Mv3aHHlDpr1|x~ z+Wr>_gL_?uxsG_Gna_QfE{m7^bq_1o^=QIr*}sfjJ1)>q|F4|r&v!T6AYiL8Fhe?z zOn6CFN#UC=;T>1Hr-Ek0$+Z%n|Ha*VhNZb}ZKGKwy{fTmjJ<0Vdr4O8-Pjvy>;j@u z#Duy=&~osO#{)-(LIue(ZhD{`(#-;F-+pxh4-h zW6m+>nD@Bvw&0-(Vw1@{Rg6!{eLVc6bjpksttTt(@_V5f`929fNaQit?6XLvJE6hz z&>I@z>Q+#U!GyGRieK2$i9TEf<8;utGD7hSqqrHQ-iu&#AIk6KZHjk~>UtI3tSB@yjh4P?h!)jd(skA^h9R*8x)V}lN7%p-BXIqo4a48}u%zYR%8sng*PPt5 z$+ElZ1Sg%{20W$6EHbvx;J<(LfA;qOi_p}?%#4j2ZkLg%lg9EUC}8R8)BLYnWkA5H z=ChexcTWT7d}@`ZR=I3ivYDXy3>`QS4sEoi;|O$)`jx*JOKMgnH0sbliU||uIgis_ zHl!><=u=Y+Cj*cSe^$VLSkNE2X8U5;Bd$GU4(ptqyea${C#38>q&OO=%-{zkM_)%c@KV3!zVp)qC}9KMiA{xs4_?c zFU@=JTh3)$_$senkC!ja_b>51j#BltKIs?KwIv0MrER}a4w=9oWQDE;m0@CccKV9U zvmP$aZ_PU98o+Khm>Z#dHLL7X;Q7hHURF(E!F_8# zpPa}AsDKrH2M@YN>Y7c;YXBOSsRe0Kg5LJ}dgh^`Vg_$9cT-t2hTJ3Fe(;H2Mz1YB zf2mAgLH&mh8N$Nx=+Y;bsh@j%@XKkds&h3wX{$dM&lX;UWxh`gW_;e|Bzg>-p+?3# z18fz))46;-K`XkCg)#AvbDqna!cM>aVXE`zZ`n??X(TfF{Qd&ZYdwyUI_XUW&&<&I z$8YCv6Xim5zl+lSv|PT^^U#cC>Xo1CulmcpmI{xK4$fH6p8bujF6Cb`PfVm4;@Lm^ zhZla~g4ym3)LZ7V$YuVTC{sJGW=<){!mwu*zg+c@+FBAXF!kFw$l~oI?JM$E$qFaq z*_t2`QD-X)VflF9a-Xey`>E1wEPg#D>RJ6aT1i1!J-HHzc?g>#BCHR9i)->61gDxC z42#iS<8ewSYfQ&1ch(Ya`-mUE4z^C}a+JC!u2T~xDJnpSm0}NVDy^7${J}F@tmW8F z(Qv=7$tkn%L(%j2)+XN{=%xVpVBG|Q)$EnzJfkaR;`@fw$I;2pb?jsFLq#@WUz>E{ zmE|?Cdl;kim*8Gq=iCu`c*zCvAf*(Tw>VtUDS6NCKy7|+TFNIEECq(S^8~Uj3a@a9NUo674xG}r0@T?p z2J8|Cg5?RDc34$OSiNJ?B{lb_|M9-G~ zV(2VdxHAF3=dU+5{&D&Zuk1A+2NigxZk*#So8M5l-IL4x&4*0IriP9I919k<0_moj zO*$!}`cUWrN3@|w>yfy)vr(TswW~1=l}nlpgNJZs>B8XvlOm52R+D7b=2=z8gF(t8 z$D33h{<5N=viM!OK22rNV8Db9M<;{>6s!+8`4~ zPHQ`zE?9IPzo|nXt7(mfnqV6{?qpr?EfarX3p2MQu?YZg4&KWi@zc+4dtThJLj-Pi z5qY0Nf8KGiQMh4aI&5fRW9S>$yCiH8VNt}MQ##hR0QN2KYmX=-6?a1N9R|l*>dMlP z^?Og7$2XLm1=XSGeU;Srg1Nx7CHae zETnG^y~qs}{E87HaYS2L7-2BqHSlOHg!&_aQzhs{nD>_#g&gVBgdZYB$g;~aqyoQ_SBh8UFS=Vov z=JNF2lRCY2n|3QMx|?(60@sT$EKlO|n~%Dz9gczDvJHEK=?twN&F#_|>c!9B4xYEp zU6$E?1Ap(3e$o#2+f8^B`t#jEbYl0%BkWV))%*X+<^K0M{_QlVFR7LWsxI+WnnR64 za|Qc+CBd=+1#gIG^e!J4S8-fiqeyW$3_~Su2goNF8!Y>q;Wx7iWzads4X90%=5k|l zG-a~;Q!16JYVWnQrmRLBRded%{UrOgAGsqcYb0L+8_^aI*4{j6KmF^%fKsbhD_rsF zLSD<=l4q%nw@aS0r1AKj%^gWDE(_JJX-?|@sg>}cTvi|Hp-e}TSd=|Uj=j>8bOcXb z{9fN_@OIFK-;5(HX%a3HBeIG?P6`BVO8aav|M**eK?W5aH94QU(wR5Q1vK!x3P&5KYp!$&5vk1YBtI%|((7S~ zf1LYkQfQ*Z!aK^ZOTPg!WC1=@o%H;&AK?meuLFR=YF$ep*(E0rxNvWvN3^nCq0YL- z#rBcMK`+RZ{mtS;Jf*uMsMmT2vu!td#2V-J*M-Y{&rH>r_4;;#{<^R)oS0*5*~MBD zzh;=4FKYS`>8QJ;ac5AV&rG(s&`An@=TK$;N3U1Fr`djvVAVTz<5bn2cSX;(x09O6 zRg1~4^8N5VEa_rYb9&5I*A3W+ndh@&5^l{3izVzdAMT*OL!a z2VseX*^Jtzep%aWwNtTIjLoEkohK2gX`9 z+G?iJIyIpLYju23I$Q}WU?pF7-?qc%O23})Y6nzfb3W#6Grv!&Rm;x(_S<}7jE9Jvps?cwv+6tF&OFU7`V zI^&0ylPRY8xVDAeJ;_$gRs9wJn{ZwVkP&muonpOd4zB>Dk2m0j1=a3$Wjoa9FB>l& zZmk>k+@Z1^3iI{^TM6@aW7C1Bg$FH};GfYiHM+&J0U|d7PXyA=9wPM|-ttLh>`}U8 zy^Zo;WKk94-XGodEKPI&hSt3v$~GnTe8TNjmYpXndHFE!V#Lw_WO!J$M!wD*d|sjU?C8;ydXs-pjZ33u z1ZBwZCUo9l)p1o{?T4zw?oQgHgrbCXHVf9TRa^jtafZDcx46ioWo6r{m2m~*EPc2V_ zw4p_wHrj)s0Pg_rk|I?0sm-(R2JNb^2pg;`Gq#`q{#j})^CvG z>4##|yGsPhRk--~upn7;)BaRJr*~x?&5H7a%Jzo`_Wo|uoR~xUF6&_-i#2B!!~8>F#*2a`?`tWxu_(1!r5|&JLKM@+Fn&;!anF!X8$V_sry1|Eq!zwV9`MMN{^q zjhn+`wWpZC4>i>GE5EeQ1ez`&LOKgVS3O?E6ZNkX?`4T#PkHbD`RnY5wt(kQ#W;iiT=L!v)0&uJ)cy7%37kgr+gy1_l8m@4kxJ7<{fV~v%>fEIvv`U zpEa2^{=V*k*+FEJ4>0c3Eo}`cEU1}WB^XR=lC>4ra^|eYZ@L;X%KL>x z*7hTpwn=uYd&iy+s#L#f})=Y4+G+u-P}IZ8LWJCu;;4 zLGE{?tdTgyNf3^l9ru^8+>0*E%{9TEsR7cD1mOs?{zbPYI|{yG42K6V4rMOofFn$L z)G|pGnEFOP+nOv#RXD{r={dX3%%W>i=+R$M3_y8{(vx$z|%1uAVzm(vXyyu0kK5O?aE=i-jUOBx3 z9B&JMLpSxU!b}Vap`)5W=UH2yYdGoH?=BjvNP}iR2i_@O}+@Um&vRRE2*4v^KF9t7UyjLE{{O#T}+fD5G zO|%(R{?)<;(ak^J(fSY2$U@zu91-?3w_2$=DzJdk=P0&%nE&y8O!;B_)o_OzWaS91 zGHIF$DvWuHb$E}g$Z`ZaIws#BIjqli)Uq$-VyKt#Qv2dNT!-Ieo7tq726Vk7dQG9CsTk>?r_ zG6C-ahktPdm1La7$LAYO@?UL$N1UF5HCWDXzrz?FUWJ2}=Q{4{6eL#+xsOG*N2lcn zR)rZk+ze!J@P~3ti44kB<~G`QN3Nothh_JS#FWE^2I1~7jRX+qv-53{-6b$5&zO}5ZON}g7Pn0e)cARt%#KV2eR=pm zkR=0id(A}E-eiOM*9B7qlFM4kCt4UG;Zd391X**y*LWS1mF30HS!9{%DVqS!1hrO| z#%!xmYi*ue7jKm;FR7XzAcLiu?;U}A6mN+1eg18Pk&C!%7xSw`Y?XjSW+Ds!ZM~GA z(ZHc`3E5Q9HZPDwMIwL9CuV400AD!mw}1>3y_e0 zDfG$qQ!6d;>qbm6_&>e3ulbz1Zr#=N=}a*cmA#MUzLYBP;~-$60)hJ)QW*U{!g@9{ zidn&K3pGe??QMYi#g?Sk3OtOiRai$MZO6v~{U8w(kVkxA+&}N;zc2i+lH0h3)s}BN zJp`}d$_QnPJVs$_8M0+w&E<;djCVALL>_=?jeeX7!j^2K%#l6FLYjT-Q;4cvqJSnEE{^gX^pBluJmb_o0sG-R^#Lm7US(E*Xd!-?DuYl-BHrstsqmrx%9eN8b(Mj z+YduJF>I7J><6ya=3OR48+EAG=<;Q>m3oh>H(M)Ax_8hg6kqzkrR=90h{dL!syTLZ z#C)=04k5vxsn*CmMS0%8aKVmv4`%VlE(EQ4q_}+|;|)%l1!UPL(AdaLA1D2pnJaaMDhTz!f+Y*hjwHv)#a=(hk_nZN&JmXN zkR0s{N!hBd$jesLbhlZGbO{3yt5py(^#uzz3M2|+o)A!S2fW@(-gl4Ky{sY(s{z%f zdvxf5apj~m!Dkc&-PX-1{H8$!5T_XxqqYth#`tzH_*qag@0S>7_Tp#!GPlI93IOhj z>v^ON@7e`7OnxUFdKaMhpmO> zwWX>U-kH^j1QMlcTfHmn0<_S#mGTUYKDKB<;1rP|eFMGT0UAu zuvEjzV33fLym&cEKNXI!3LMAb?!!2!y&b9+N~GjUIEyIFsULDbdR)Kyx}a5Cjpf)E zX6lPQ#SVuaCNZva9K0zYs82M`0F`g>W~dsC)i+}o72{uUcaIEs=qcs(EHAGxytruT zpWW!!uFhvFJ!nDbFUvcp36%iP-LjwQMaf!mbIcz zbEc{+ou7|(5Hi51X6R32etfX?9@u4$P=1s!SAgHF@vod)8*UTvSyIfX!harp@XpLK z&r`wCd}y-tooAk*hX;2xtUUbOQ~+gkmJiaftS}ZrF%Mhziv_4FH;;dG$o~ZN8GtGX z7iq`#B#Y-l(pZBUsu%#V{o8chM4x1D*I+?MMvHmg!`9+~4_Tf@!FTqgYQ2^md}}>Z z3(i68vHI=W)}PGT>1w2E#yM9x<;;Z&o8m^~9mc?QFHFB#EB|>381vx>pK6m>T1^JKYyhV)5@oa?(h$`q3S$Cv!XjYt7qBe)uR*_0Ac5|eyn`V6lD`Z#M z8%(89pw~JK{Rd2r(zgHTsv<9~PGmnBSxWe9TK{3$RNA4+F9-Vr+@(v}+H@b5|#6BSNFhQ0Uz37S!m{UhxWumY5!WO3J zU4Ym>@72F8nCh;3xNU@PZ6!;|u-+bTYWOEE0o!)v?4zTU{zVgV^ ze_2{*8WYca&huzfAaeCn0+RWV`~4?11=mkK@Q9t|Ca<(L)rGTmgF6QI|3$<9SJf{L z9Wvv+r1MPHc8K7lyW-)4)m8A*THo%9ijNTtd0NOsMMajqSSe5Ul%F1=q6R4#<^yt2 zH%Dp0*WBtrIhkgCETYnl&lQXqA?g$j3fbd>#V5O?`#|{-UzY<@Q}(~NPMV@XT=e|3 zsh%uSNML?w_flQ_6sq23<6s#0&{fh$a*iI`^0~G~nO;y-h759z&<@pSJ?I8<9^M@v`mNO5=Yb<+!nb+Qu>3NP2boFD-<(qL(bzI7CNsCIgq62?9vTmwdI`C;sU17m z3w!TZUSw@qp|ae|mDSP! zXmj(&tkpawCLxTmHCxXB#x6l-I!1Ocp)IY>5sqe5$amv}`YJpBR-ceG!w9`?Wz{d{M<{L8!VEZ%D$X-^<(Bly+$%hi9cI+P}Np%ZQ4e0ef z`i4NBIik+8J0(@vBQGC@CiO2Ay$D-emJXw1j+Z$ynVGUCslk3B2&u*3|E{`An{@O* z8N2><0cu}|>I1o--Y{nkY3DV_-$NPjqPa^KoZ`}UI4qrBW$)?>DLB>&g3HsVRogTH1B22=oe{zxUD!{5sspt#E_%8+>=P7FA8+0Sct z_)Dp}Y*h!gi)*C44aT!N^_j%z6OZ2HHjO-*w>h_hE3>N`q z6%n5aFdnWUc|kfuCb7X8@$mRrRj_kTr-_?iLZD4&dti=i8G()xq)Z&wuzs{*iDG1@ zyO9OkL-8P4nnDh!Naab0&b^iAv?;*b!gVi)aI1;HoaKi{DBv-?%x{D~pN2Udo0V(# z;qZMXTdffc4xFDW1CgpN5Nw^$auZ(eXZ3@cMox@gUv~mYnVU(-MyG_n_e%jA8ULHJrkm040KdA(mcS2kD-+{_W| z7nZ0J%-_&<)|%ap!83reo0d1Z8f}8#{`@5K&Dm?&3wvq2bqD{mfh|?~Vi%uw<4C=j ziHB#tR!Cc)$tDo)~9 z48lxQuO3(|ib8_P0HcA(nWakT_bK&!wcnm;tz$?>N*!wf5}{W>Veg;J5uEIXN<;)g z1XF;%{O}M;oP$SBF_p=sTTb%&R!S6OjK*wJ(xx+LeRu`BM=_@oA|4PeeSMN+vO0Q~ zO#uL_c{;c0fCY^5+4mCP_@(wkO`aF2gu>cBKO>SI7)$;5-2=N(=qCChQg2FNNL$KI zRifUI-!!N-D17Ip>(sTaPA3MhcRX+Bzxnn$hSaEcye8GRUEO%GEcB$d=r(E9)A5y9 z@Yg5N-)atWStTBSJF02qVKsKE4(t{)Q7x!8pzW)^sD}2V>op4VH#!%Gb9agE`SboEsNTu2q~f?uV`y%>pJya@y4zs` zPmBuNXfq7hLJd+m&rfD+_h7&3f0Ts$gMVx1^i{(dp*M2t_nb|MBMG(HPHVSH-#6m; z%G$J+LR~ zN2d}n4(@99Du;>|St%9ejF?hsKBVN`VRx#pS<}x_;tIUT7Vh&fhCL#kWw@6VrLb;N zTcw#$PwOeUB^W`^1J=<=YQ)2ws7**+nXVFo-*q5m!MgnE-Y**{VUjXOMHdH=07*8) zEPYpIF8w;fw}*-3f6@8R4)kvd|NHbge=mKO{NZIn3hd`NqD}E!aY%)N#zDt>NxwzGnst2x?Uq-REpr z!lSRv(SMxUxTJ0y`@5<3Tv>oYN8WA?lQ|Y(7ZmgTMdOlubiS-MGj_iC1rNvA=*h~Q zgD9O`#+j|_dtADse`{^pXb?zc56OG8x~BBq?Bi;Q+p%U;B93G7N9%;ROBZUHN~jLM z)fd8mj4YDow~UQG+^f3bV8LB0-aWpymafTL9z|Z|E9W=28Zj=hc~KVFhsY`>gG=J; zu`|{$BeV&hhphAqn+P7OhsSp>_2PW#=LPRa z9BcOF?AKPrcTD=d8K+@bNI}jRV@R7J2fE37?tCez4waoF53tZOawiI)b$GwtX%-cS z(xHwz=w_B(b(PINm64;XZB8`|6Dv{!3TdL{KZ}D<0;BFsDrRF(l zYSR>Dz^ziIpxV{Qesh?iw^o(E-hBGE(=eR_MT%w^ay`$l*4@w7Go)jO#${g-=M#iu zR(E$@AnO@n3pj`jq9c|-3ZDik6hCseh$Rw^r>m+nIXXK86r%{Fk^?v+Ea!mSv>rwV z!#OZ?dJ#N;bRB+^fKCZovo;&n?Q9p)pH{^Yf`J6`GQ1lL)D-&j@9{xT_(~QR%dAUw zY=xEVEt03}7_Kwz0PUIDmo$dO_xY?jd&>xdQHmM z^_c__Rv$*?ug5LSt45U+nYh39K?)oj&g|X@e|U7i{QWTR;cOQ@*LNIZhk3rLkpB z8Xcp@EXCFScxHt^+`NvC#)hNG)5POMEz?;kx67+EH_NG2>u# zWvNf;Vl7lZN`QA~XErwIJE!kneEJbxcU5-wPY9q6O z2t$JNG4mx0NIiFys6E{~;gngkMik?UEq(|5)7UOv7H-{X?8ei4a`L#_V9oDgqW3bT z0_2i+1Qgsilm(K_m=Ywf^O+}8ItOs`zQhq4nA66W4$amKTT;!+E*%Uh_Y2s!Jh&dw zPw{OsCn1-0y1Rqn_oj4%dM$^RR7tKiQzfqq@6kA(Cuanr9RR;PJxPyoQ2*;fHrdSR zOkln?f~#y)6SU7?M%-Nm)!yhcz0vc0w$ZAsL1#i05qu6-pi3K}r_U-_kHCawb=Boh zk`fOh)91o@+p9V^OrQFxAibUgU%Wpnmp;NnLMx=p+QG0Kz4G5^b~!TK=wz)Vzr^)$ z`%WC}Dt+qwB5d-69c(z70F$LT2nW2`en6BKnD*p1=de2}g{MtyG^GWqPwg}vT2BeA zMl#iwa?86*>25axJvDWf1-2yGq{{Cp?KV58Mq= z^{EwD`^lnakSH)c)}Q9A!LqKus_)l!vB8T|s8&o7x{ zd(&lR_heDtd{=FN)x!@PO<(+peUaP3^no;^H~EJPw4YK_81ToNg1_&G_NOqCU3K)&j!JLNPXSF5-xmVZvONUJ6)8iUzY0va>H+z?or_ zZ_vmJBD5D_MM6uM%&o`iD3`~c0!J6f366T%HV(S#7mdiNW?L`~lFi30oU*FO!o0lU z1Gm=yPt>QxX3W`=`*U0AZG8OuOQ9u|5oeFI+gYofW!TccdqpN2k8GG9uWSv>-FkGa zRk1>7d0w;q{+0Gg3)713p6=UEzrH$rm6ux?eSG2aeWw!L`RNwZU8}TnRykqwJ#M-* z#h72k+ojuJp1J+!6-qC95p&#L)W!3PY=_f))2YY>b(j3zGWAtk)?fAh_CNpb$XGsB zG*= z;IhPCgOkIGUc^CDqKBlc@>|u>qoxg{r0o8u^iAY|Q_qCdB~{QPpf|PbKGVTyj;f6! z?-(&Y$hv-G)FjG+1HPq0!^#yJ^!I_|qw;gd@PbvVU$JSpnv=z(p>lYisYCJf)1Bt& zm@pv~DgTSw<9}TsG-#&f7|T+vjJhFKzvB4H{L9K;P8%k(I_>Av33&)UMPUsIq@fJHnax#CrCJ2_f=8bC3 z5&u1w3@AMsJzsfOIUeR>>{jP0Ttk{RejE@*k?_qnF=mDqxFb!5*acy!vaXL_saC}` z_c<|#%zeJ@2^Mrw@@#1?v7$27!_ihvF`hmC*brV%8ULx`P;HAXg|rdZui;*t4F>Oi z_EpwP14aCp15F_J7BROUXwur)U|+-=^3e>b9i8GS;(Ou6#eOx>TQ}AM7mS z*}QA0Z&*=ag|A%pa};ArTGWhqX)maiGLe=7m5BG;z`gjcfUOi-6!WCBtxK1$-8*!F z=FMz)z1#?)QwC4v<6GFGFIifcb`l`<+H?3d%X26o}GJMU_*(2Hz{GZp@Nm4^5XiDKhCgF+mec}yXO(9c+ zl&+>y!+3qE4}bR=&cV-qzlAPyIhdUqAi)*D-fcV5@A7}eb^oEN=b3nVa%&r-MKP%zGP)pPQC!n2i(m3J-bx0J+GH@mZ? zZ4398TfA!oGBa_7Zf5QnuZ4qXWa_;ROTBn2*ff`fFEPoE8ez@*nbjkQ5EB6v{&kqL z%)WN89BNm1k5Wxb39PB3m>glbvDGE1X7Ua%-LTD&AvC?lVg-EBOm zd8@8reG7-75f)#2+9g*~R$AH)?i#~8IF0dw(Aq>5h+qX0mdTXOx#)3`lPQ5ytkh$g z$z#3-(3P2uf2JDVpyuhWtIsb=W0r57y-h1Al!y&E*O&Fv2!GZsNWzdBr%ef6Y)< zR7yVZb{Ep7gW^V1k6NQ^P42Sg^w+Kr-u#ySHov9rZh7v9I%322jj1}1Jj`WvScJHM zji0VQw*O`G#DaTVg3UH2;@PJ}C-Hix(JbCA!?Q;fXwZ)bPbLcisIMN>l07vONO_$F zikw^sh89`f(==x@PpePn?To7_8{4+Y9;CE6{^s>IImrSy0;f}E+zzkhuk{hG^Z5nR zQE#G+?iF zXXF4K-qRR|r)O&7RcOgw-tg=Ef**Ru=xO;}%nS~woo_!R{JT4}B|riJLa7kUhGZ?}CyF{$AxDF8_@SWg zP=l#Y2h3(ABfLJWk|K~A;#4AfAXPNjRRSv5R$0j^89k_S^*8=7vu)z@5TIzq^7?bJ zhxxJvThNF=*k7-LMjClyFOyE6h-UWHFIj7_Cc| zcSFf7!GVjL2*3RHrR?X`o6S!*6KCG`%XC07BkI`V&SC~UTss2TcxU(tk!B~3wJuFv z$5v=`iSf+KsISuQp=X(1KJ0@&ZAwV(ZYlNIIqp?X@jI)S`y^686IGwpX-}28#iEe@ z-mQ?EzOu4J&Q>dxUiID{iM9roice$vtvjd{rC&AIUhgphB%MiA|@DVbY zVQ?MA9XSPXbg^$fvb=#wG>4B-R%aG%K-y!XAxB=zV5holKMQ_mUwR^F-S4{_a4ENO zXXmbrmLez9CNVCD39~%~^7?~~{JWxFw`adCRz}@lx1dnIH7FI>o|(W{M;Dy?;b&Eh zfkuHmt~jub%JK`(q@TENmZjjb5h0nrNi}Gtv2U5*t(XBrq2s9X9pWq^sY5tC{F!jh zGxchY4!nC)3Pi1b*%os1&y3cuzK}VU>FB{J*|FefvYl6x?_%X%ZRPkH%FgfS&U<9h z_Z5({x1e)9JnBv5fzxKw1EpKenmk$r_7&t8l%vQDG?Q&KSgD+)DeUN~(_5nDu<`^* z1RSXTt!W};s_SXGqD-ZJ?$;Hc`oGQp-yQFU$INlRr!JpY_|=E%y+)5O|Gg% z7Bz48_K93prsn0|5n|F(fi1FGUxS3JDJLw!Ax^1^e zLjHKb0X(jLt2exFE59(>`zI|MxG9FQ8{cfF+9hqKJOjOU?8c4I zPHJBsL8=@j+nF<#6+iMX$n7gEbN8FCh!qPBc4@)iYiyKFI&5-&O>A=D?m5T`2)c&CQw=My@JvKkDn5swPuHOAPlWt)0c zRk9PVbchG{0egK0HHC5lA7~s;#Rvb|f26!gxdEQ?YhU2d1G44VCC{KGg*>9B$6d#q z6x}#zuXyvb`6{RKy7{^~_nw->%>m<2EP=#=(*>*`a0tx*!uhdwU>>dxSmH)!&U4E{ zv9l#2tySrs5)64)KfWbTjazfbuB zfL%pXNi(MaAzIw$8xWcpuog74yq=Ia@SdpG1;SFki0NzsZ(FJdk0C`qj7N8(h3*%* zZRkrZNr!6~ny2cBRE#bM6Ty z9rBwCYEN4ayL(vpKH2&*`lhCFbYqmm$Rmb;*+_k|u~G0Z3yg*j{%M-Od}_jwP?tvL z(%Bq)tqX@BVVT_Mhy14rv5YJ3BR2CTX0U}SKVcFU1x2$f#T_J}l16$870zM{TO5># zf)a0UdYtGuWE}2clI6FHk3hK?Nk{E4cwi>~x6GHI3c~2-t@0@0x>;L~hR%)v_5A^) znDvppxR~e?edX$_E0nDR-#nOyJs`6o*}oQkY)VE>ZJq|Th|_GCQCzXU)C%B_kWC$# zYZf|&iPv_gKJjZE&{N3k>xVv|adNAYr9~>t3Lw8$*6V31O~VS6$+vsE!`P-K=ItkM zV)Rp4#Vq3+2UE)7=^Tki}r%>5*=(Zl>NXB7)#zL1_C~k_<7DVi&<4fpC?S0Hj%(!gJ1CwP0%kgm6anmgB zuM14H+PJRTocQX}mR-m=)A!OF4c9tLmma-#w_{2aPH9MYDDGUxs#Mx9{!p+Gz<0?` znf-_zki9sqLN!~<>=8WH31wLbM_ z!%TfVf%=XY&UMv< z@36TZ?;*2V5@2Q8k&iX7cXJDs5D9(w=&BUY!~J>kgeDRTTY|(zIHj9g5LE%Km97(4 zqqixyCdJlD=(BiQUiNko`Ujk}7`v@=h|2~o9@4(Mt3INo$$hO(+6q)SX&Oq+!h1*p zeaZ^o+Bg!wJn5Whs$#X_1OTIb;r}z1{_?)wk&;wrb4R7rZdA^X?2a~qJAc%vCg>>Y zb67t{wQJD!YU@P6K2K6vYZO(QEnUX7TLWAq7-D69mmapzG}>&NEZY-%{Odv^ULWha zy0&N1K6-fTEe}-nqKis&S&EH8y9yRhM#2RFJXY3Zdb(J^uqMA**odml6O7a7l&s{j z+^lC62Sqk1-eq z{#5f>Y!Hi)o#phPr-4;aLx$N21$9+v8x3+Z#&((oozF%V4W3a?IZCesBf48*_Ow_p zK3PQl$9%cOMZR*IIS_5&xngL|%*3`dzO-)rqw%7{&9 zFp-z^#m_~reN7Yh7d?#Ny7_Lx+7SC@M4_r|ZP!vDo|v3CWzmyUx&I~=K9r-s@H*(d zCRO-7!^Rr&S{I8!nJQpKURwEEYv)4IA^VN^s86AXjwNTTwnE95p)Y4G{Gxbs+wbl; z+PCl7naL$8 zat&TksZkhOUM!#ImDph*Yy4ZZq9AVj5LOU_H#kci~59#gN^Nd&Tquyo)p zOkvAM)ytqNJW*^Yjk{VHDR+usC`@3mlT5Y1i=^KgY@=DW#IJ=}b_?r8q~>V_k>48z zmBx9s)Eb0|2WC!@zLzK5%eocELMK`UNI^y%*xJ_3`e8sM#4uRPb5Q)52@|%)4$P8v z5J$&iq2FTn_Xlel=4>ajB$BN4^4yMb0p@8~o`M>Y z(=|Kv9^jEXIDpu_Y1kdwj3YSu%`0~tD`g>3KLtYyI)jirsFjUfniW;IY(}fTRdTs; zA(MTS3oTNfWG8D;YQ8|g4IWEY&PRj4JG|K$UePwS9`Je2OrG?{mDyZP17|vzeQ%nO zvgO(o>yQ@Pl7`ujNZTIPVOkZpa}&J}Mv)ZfSLJXMe7(z|ELh)ZW9mdvDk^r%2~bxZ z*Iv;-?;B8&m6TgF;q-m`1qdm$_jAMTUhE~4UV8;)lV{nstVKx*u4L3vM}ra^L2=Obwr9~CCty!LSs`EAm?A@h4l#Jbf`}uo zfEOkzW#4WwRL-872G$Qgsa0uc$u|FCV=#ucpg=JfNh2m!_O6x~jz6@&PNMY6iWW9FbI+(+`D=g&e#7@2XtS7wv zHirP`n~GKWoR4uo^}^)DOTOoL-tFLkUqbsn&c)Sz6i`a#)2xZrZ1wi{RQGSC>}RTd z-mw_Vg^G)~M!$^8!n@|n$sn+C3J*>0A<*s1qUoE#93c)q=e5f|5Ig^{HqAdq6cuVi zIX0!c=rTwTIwbmZ`D(TjIJPc}c4kjbwj26`-YqC36SjSq4XWzus#5mHuZy#nOa6d) z_C$CR8M8vcbjn5m;0alO8AAZ!z@C8=CS^Kz|E9q~FgtLO{vxQ=mX+b^tt@S9EFV@@ zR&1r|3&L`K+&l6-YFhug7_gHHw9s;mRg6edGjsO`c-6c0NIF%vmE*Rg;rXx}i*2`~ z{S9?^=wo|qQfA<=D5f^c=OEZezr=n_!^AyGyqT`gvW9lrkhD?h(tpy?oc@p*sl(T_ zQ&o?U|70r9jIPVsIQ*H5@TLqp@l^Gsnv)$M`Du_ab+`o6S0u*UZ9`j5RDh;j7H+V_ zCxKEP%ddV8Z0S(&m3cq%aU!UeS*}*ne2lfFd`J6n-08@b#=a67Ld+6zky?D+xgg(m z#P@BM;Kh7)JAZ8f5R;6R>bQcVJ&wCCF$v-L%-CpZ)fGX6DHw8_DO{r~S16jCyVV5m zfPBk6a06kw_sOp=|BqE&xD_1^V4oR&O&q(6p)w}GUUHxHTEEGF-S01>A){mj&tICU zs!Du(%OE9PVpO@VcNm{5xPH!DWA0P#K_v;kjc(Bx>CHjdN#FCKgoFp+bY+NpY@ABP8YNB~PMpfzwGm|)HY?*6Aah1uTZb>LZ7gA5Mh9OOk1dg>Fl5@mIRN3A9)(?3Ot)$RRs+kMY{)=@{B<)c z%SEezJqKDv!kUaSTkDM0T#l8igm!S74Q73Fw}LXlu}s_!+m$EoxWy`$#U{)kM`uxLkcqh69a(&>`XxkNw}9!xy3J@+kCRRmiDB>!9q zqsa#`wJV&en>|^coiGE47R2_?X<7&~=Hv;L|Hf5W%8Q=3ay*^67ib1bJs;YHU)(@k zrd8N#2ECIEkEsj2_`M5W%TOjI+BdCO{Z`>7#yq_9$3%dcs6bA9aQ^kH7W&{8+bOoe zn(C_k+F)VvSu|?Ew3HaFSEzN$Pna2Q%s7mCdy%^hztcHc|LI|=71tpGsf+mQLIBUD zSKOZemmΠ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%0AlCmk_Up-x`z}_o6Y5?2_EzHakUj1MhyKQE1G9 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⁢w^ntLj;qn5)a2vmx z=|6&L_M`iR*UuX(^V~G!ivzA}K~F2<&}+hRh3C=fC&26Jz0%7cKgCwD-d?`mP0U7xD@5Pn>a{V7Pg#S%_EY)lmbP;O#;BF6T2|ZszQTS8Syh$^ zs`T4W?XQ}ye^$@n(TGNvOidyAr|bbb(b-aga3jf9;@ zq>&()3EVg;T4@>O_Y!>%e*A{LMF#U_f{;*bb%(zOy8g#8)PHI5|BV65k&nF*(H;6% zLqELF^FtyW@0Ch!rdq$A6uD8g&S5QxojTDYMbwHTzq#y)A2(|f>lMuq?@RfZ68AK= zL&@q?^%VPSoD}0$9W<`68v06^GP9~$+O4e&glJyWMa#0ims)R!1g1wECu>hda-a}c zk6^h-t!nQ_(ycQ4?^9g#h=)yTuhnmyuTHvMnCK{hF3er|PU8t&BSbj2;f12luUg1+ zzvUL56^u`1EBTtr>>jNUIO)c3ozzn!sGT4g)0*R^SC;!^XD^xqIdbblNibU!<4JCIa z<)TWOkYcFQIu4o0mecm?hS0=yODX!L4w#JrbO;x)4)x>IHcwp{o(l8msaTfi0}XC) z^Cl&Bh-(^Vi1S7&&L|iXJEFr#T`BlOFB9S_e{fBlS{P4sO1LXc632bTWR0C`@5J9C zl`YoSRt#0?I-TcqpIZwlI==n9+-?!6-af#B0O2RvDTU3zHt>qg zhpYCDSSfrT)Ro&lXp0L@HSLgke9PD(<|(d2zR0;m$t$>F^~2g&?aHsRR%I(V1!}61 zI5joT%E$0B(OiS1U1yVHuuVBk;6e7!oP6R-zC|A4<@X*C^$R``uDKr^_Ti_1(nd{u}`-#9Dxdmls24M$lv< zAyG|ADzlEa{EiO4wu-i9ehaN4w5+r68?PZRqvxt@Ih{2f8;Noj^5bo?^RFcK!p`+# zCV?3&pMc&fVBLHId`Yv&w;&`=qvzAYGuH6Xkq$mg;TP+UF&@vVE-Vth!Hf~rd1HQ7I^B@Gnv?ZH+x*Fg7fETT zwnF-m#sYCzSS~>S(2aV0tdfDsxkhxg-kg5k3|50C4=~_+F&JN#Z_d#Z8puR$|HF>f zoK~@Ff-NB4KfbF-9IndD81B#(+NjBHTgCdxluNB!7Q?==RWW%d@F)mBk4 zcwLf)jXPb%wact)L{uwt4sFY>!$zHr&>f$wq|=n(;nOlLD{ej{!jv*EDB%f6l>rQ{ zJhN);`bl|toMYkv83mdrHX?>q*4HB+20%acR^aWZfM=aW@+&hOr=NZiFh>GaTie#hg|xidx{?BRwkJ0ORpWW4RtfHFbyHQfs`SEOg9o z1vwMXzvN(+|C5nUlB?U6`RI(4Qe^%tjoNk`#e7fDeH$~n0`%$5Vn#Pzc_V6f$Nt$u z(V4*V7rpn5CH0lz4$0{H;cI>SEDc1$)Bmx?+eMBF}N333k z)N>*5-uzH9hGI9tZwC!DH*J9&tHXT%a&7wsV=| zg9O_$%4)uvf#s2!nYgJrEHDE~SB+&@)3aI40M?k6lEYVfo$WPii4G3C(&{+!mFbq2eaZFat#Jon=mvMdIw&6j0Sem}O%k8+i!23zA6|$4`amN<3 zG}eOL+r6@)XnXX@k**hW3T$m(>tjcV-3FO@R=+t;JmWN193z+;g>ua^L---0g4?Y` z?6W8?r$tL*kU|?Dofm&+-nVT3v=yhs+&E2ytEG1H+Z?<0}QK#?9xoA-%2oDf!1mYh$K!^v$y7ZML_yxoK)F#+r-N z+GgDx8{amWZ^_FaiPO(}zSJ;x;YDDRn(0gSUTPv{Vnp-0pmOLMl`6T8U8s&DI8~tj zz)A=Pc|koKFJ#U6a7)2r`vtC%NVYmI&g;6do309O)aF^i8zqFmX6>{lA5|&u5~WUv zhvK8Q$^j2?>>i6$NN=>Rc=(ujBvu}d@X6r*oXHd3=9=Se?Xb4S&HKs3Gw3gXo8|-b z^EAcMq?-u<(TSCL_}f;F!s}(%?H2n6$Gzzwf{h z$jC`xuwp#11skCVca{=4pZetXZY&qa7sC7*3xkjfH?czuV<2uxvE)QDCnI=<;`xYv zZlNscBuog~m36B7oH-)qD=22n+${kwG*r8Od;w^I@~Q35qzIfd!&8FUjvwE3^HV@) zZ-9hleFat5yEev#m*+MTD9qiPdA(%)hEwY`6WKlAeMK1E$g24g*BXBER1;@%aNe7B zC_bB~_L{1h^WgmJ60FffedvNSf5fPIEaVMnjs{Dy9`>lulMDy%tRb4MaCh8>GurFraiJ&Ym zRXW=4A+12#?(-FJ2u9)q-AYSLp?nS<6HN;j1H?XC`qVY<8gX*E&aOvDX_2<)yQUJt zUYM!4<+qf@L#$2$cUAFC582s+p1+v@5Gv2M@xo9u0apHH<_jHF64XcE}B|Ll0H05NKO0q9% z7S?-QeCngU=OJmSM0n$nrjqWllr9J=22zY+vN8u* zQ@Aju$LU z*zNuJ!<^t~SeU77L$6r?W!L6w-E5_p!=_lU?qo0s;u1ZIgNBZHy1nP>DQ@UWY0!6eV9mFLz^kGO4lUB7uG^v*f|z$vSfM;vMR{BPp!d?q z8M~Kz5mH9Cn^b*${_Pe_+GHJ2d&fr{8vS)R+KPZ%Ia@8$?JHL%u8#5f$b>l?iIoee z<3=aX8iUe5&Bn+w8EI%0VkuiLF?_R5{#eIWJ>qDI1|$W( zRj6hUVN1ckE6aw)7p~Xj=CuWP(pq5AEjU~SnkZXq7>;z1ME2mVJ)rfB z)atd!(PN}G&;gqY%j{Y4LYsJ9>{soaRGO>F)vI%-Zq+x>9azn-p9Q|^t*N2mEVD4* z+tW^eYep?U3GSWd0HrAgMMft&M4+1pH-n*3Mk+Q}r^;f&Sd}dm^ za`B~wH&)p+B{Tqw;>^@AY;3*0>~%aCIpq#ZLIR0~s$Rbi&GUV4 z7*?&)^rv&e*lO$2w5QO@6%La-MzIO6ywtwdTaCeGU(K!e287~LQh%>%VT$Fb3;iAY# zaQl~H+GEp<-}3#i5{g2?N_L*`!<&>01n`Ggt!KoU*%VN4Ckeg=-4H=GVol&oHO#NT zl~E0YCdz6{K8)j+ya-%+mNXIubYa1sj`;=5qbFf9qVY4kYtqYd&GUQKITJLbulnIX zf%3R^xZs|CadRuKYh3AvpN3YJDUWC!u zNSnqbR*_1Gl$NOGt!&b<0A)UfX36$z5+!GhdZEy4Yq?>GJ=S?unVr93wPjy}A}q2U zaF#QKNZJ!O<4XLJjmPwpSlOUr@M)!veNqCk_@fKExUW8=f>1>ZUE&~U`DsS^Y@^?! zNOOoICHf4JwUDn7Wbc@iaPPo!uD8}@?7sknC3nI3`dLrcKK#W;^QYs3KJOyQ%L`lB zZTyC}|8V&I55W`OuvRR;b2AFNQ>&|jc74Rj{e;wh>g60l-w<|l(rLty=8dGs3&QEVE*Yc&1MbzBwp%MjrbM;E*T8MWLK= z`bY84gF`LI6^m{>@x(O2n9gMkmR^JMof($W^%VHwMz|*nOUq$*AI@q`Qa<$V(3CR{ zj8}=GJu=bU2yqzwKw7=8q#|Oz$Uwt zn`=+ir&6Ae6r~MPY$s>B$O;(+&E_34d1+={Q8jUg70*Ep6&xrNb_ zoagPH;__%6EL|w)l5lF569-^EV7vCRVzE`L$d({86 z?b~^P_528zOY(}ov4z}E6&DVKeT|S$3rNv1T;6dA98|^ty-SsHPFj9b0Z#LX)Y}<$ ztLGV~<;dk`W}Jheh?q7*$PFCj{&`!(Zo{*a9=qd98Dsg)`zBTc2*TeC80%skx-@oY z9}L$7SnRWicGl;&t6v_@3D~to>ICpu7OppRX2~D zHOqxsAa-SqIQ%@eqA@jOm=nr)w#0X@Ya25+Z>T*E9m$))&n+tfQ|9HSqfo~D)ZnKc zkjs@kSTC7Coj=z%Ni(ooBB+tVY1Xw$2d6F_5$B$I&2>4RmrpbJOl(^$Kp%st;;}jz zV-q#|=8_**GdFvgg!bZQVS0XXg;*fyAHshi^?d)#SwMAABUTLtAe4r+I_|9Rrxt{5 zmKcF`7O{5LEc56cwiy(>m@G+$=LF}K?ypm(gcCW!y5ie9A*&1;j?o{)tAI>y#ev!= z&u#gkP4oiOlk?)xKt9Wf`-JRQ(Vuc@#M zw6rwCiI%QooYqJjGpn;0+-p{Pj+XyLL@b+&VnVps?GUBtkeskXJ!AZaG|=iG(Oiy{ zcvjFk)S8-ZmyD~IGQX>GR|Z37Xfa&_op2;e(=Jc zi3W)4yiB+hv#369jty>gPkHL37zEbsj_4n@y=KuzUm_KZu%4c`=qN5>(f^u9CmFe{ z-WhGXFsNynL^+E?o`0d07rC}7^)%%|I9}tc%adV&sGj;xqh1{v?Fpcz0(R+TFk)tz zsEccmkoAOFOTLVBv_}o^5Ii8v3wP|T5T|{7bf~d?I>Ia!1Ig{o*g?dS4)J21k4zCq z$kOO+O?@?h((XQE$4lqYrXm%rYgH)Z;BJIBN~|Eal0$v#?8=YEs~V z{N7kNR10m$`zN?!&X6k$6XzMcp0XCK<^xob?%~4g8kDy8JliDChU=WD${^wGEoV%8 zfmkp21!*3^v=qFR@_*W;-sl#oY0Uf4_0|lZH3=;0G+=0OlfkN+!fLwhG)etBY;cfq zLIg-0jy27Zr5Sz4555^LEmkMS==gG%z7fpz+y{c;TS< zhzw_Qf$USbe-Oyot*oprBxG+e+KkjlJ+t1%q?paR>rkbBS9DNfrv$%7v z+yZ;yxulPrEi9Zo>#4eOA+S=)=FTs&XJJ!#3#4+XRm0y*)o~|cG6FGKF`2Kw3hKiQ zUMauDyp;U~;IqQMALRUqI^^^FCj~Lje1CP!4y~hvD+iV*9PD0GHg{iRiV4?c?g8@= zyp$zT9rLkkpp?5n_k*F(X|#l&LaQQ_2|sT(?$&+XQZpl+alQNX7%z2JX1v1mxi$F@ zkvo8<=0Bv~GNgoo?Sn*$cQ8@=E>Icc1_xvd2+MkH&SA@nRjt*7rZYRne}@q!2oPuTjop|Uo9wzt3?}xUqjot^dRGr_U1BQkokJTdD9^hUS4QtF zY2nW5%dOz=)BU%HB2+@3{{A1}f7faLu=P+{8Lym=sr|%FH%(dliq%*su&QsZL};P%y)f;$+5`szSv! z%Qedu>-R2z|H`S#9x0S*5YNf@G2cg1l8KO?Pn4rq_Rr{;g(Pran2biJsJ{1pdFOk^ zHO#&KSiG_J?nd{#OmWNi5Nmt>V$T`gAeI66ubjR(%Np8U#ToKla={GFmC$_|^??!J z)A-ZTx0E;wz6MGq99+e54KC$3|344vd^o?US_1uU-!sdvL%g~86VG#L+84KF)SW_T zUkzr`@Dv2yzr8`(Hc2rdx<|0lDye zgEFkQnDwaivnGz-FFdZqQBa@OdMXKHxr8!3ixUP>R5*^ZtZO ztc37lrbp3FcnT(ZpP99W4rfmalfC3_mCoBaXY_DzHakM2yrtGW)i7*@UyQbA-5Ca- z(p+VCFZ;f|c{~0QChh@1iDFmHJ~}|;Uoj1Oqo?2%x<;J+0zh`_=DJVNYOs&o#OBi8 zY>FIVL3iwa0W?QS@0IeAt8|Kr@hf$T(|I;@j8=82rvY9evcch4*;m3rwF%6FzW}4R z|1laEX?uSl^z9u$=x04qRM3(HtCGlefWOitpQs2j+nRPh3Y*AO3ztl zYqoolH_?N?Jq0*wF+2FNw4K=la9M(0oZ2`lt^tH?v~I5X8}pBR{+=O)EV|5eTgn%? zh+H<>I6B%@xv5;PD%xm|*iFzjbgi4Pg+rwoBy}D|9`5k z3oFac!slxoF2Oj@S!&r}Zc#-(v&~0)hW&h7*qqG$Z9*}Tt z1xWpPh5OOs0Ix5u5CI}a)TIU zB94{cZ@VTJ*5KfH$Bjl^2NgBE#9;-i5OAsSaj7Ql=DxSiPbL9M6C-(&u0CgFt$#iJ zTTfH|C*3bhz!yIl0axM@49lM`=}T7>P1r@$*HB(PeX5jsg)5rHbWCq>arxJQ^Pgq+ z_tEtC=3zf}%(bJbj~|MNeSIEE&95?=JNP<+O5$GpU5v@S1a?tKT4B_Grwh?O_e?ZE z=4I%ml;W;ylJN?+CKl8939^3ysHm8@e*vharX=*<4^jLA{B^2;R{m85|HnJ@e`AaB zbM160dF3Kvbj}!2t!W!$S1MJe^m!U%vVH*;0q(c|VqX8fC;l4^^;qOim>IE3s@lfH zs)<|2toLV#iK+(5%8cdQM##|NL`+2bN0%Ft-i+PZBkFqT$t(IvqlaQb;+25I_PPq) z;4tT?TXE<$l1^@hdI9OSTk_gq!_QDlZDELtfS19`5y)_cF(=9h*H!(}vtNr3dMszu}I2?Z$UI zWl(;Iq^&cjxsboLv@NgLy}Lp{@$Z4f2a!l#lRBkkhJAh%|Ix!F#Qc@hlz!kT3JRR^ zMzmLKWma*{0%OORa?jo*^E#p*iLy~4PsV0c{LOxfq~o;m4j`ktXScW<(VbBTQs)QU z>=S|33gbU&iYG}*Kr35{`F>tX$=T1w)87!58|JGRB$)@C^y%<6e{!wh`|vvtw2;A7 zB!5#$t|y`mEjM#6>K+&1<%7I|v}%7hCuVWhZ|7M6pr=gJ=v z)5})cr`FA>5vnUr`Ct79!ZtUz6zxT^^epU;i(^IBsckyoQ(u> zuxJnP@}SQUZrqLagQ_>bYa=}AZ9aGn`vquW0r=l2Fw6{j{sdruK+)W;SDiic(B4H_ zHCAzQb3#Iadsdy{=j?nEG;?@F>d+BBNmmV%XVnD*kab+kb6qIz)R|u;J_-60YZ`0k zvJwpE1SgNfE&D1YhbA0T4(P{ixW7V}+61f;@>b&uflB16=L#lOZjlJnHnwSxje>#T^EmmP=4Q*%CFQ{+5`)v# zm1%MHM<9;61uZCf!Z7PsjIw{)aF@-LmA9x}s4gg}gyf`<=v?BMvQ`tPgg;RYQ2nGR z_Bz^*%@h!sb^&#M(9d&02oHU@n7S-c9(LDcUwbauGnL@Bnh64-_a9-Jf8NlU-U?2Tpxhy3eTIEIO72{>fW3)$P0R{lVUr;#GQ;i$2Tk;DzB@tp%q57_57DnQ| z_vsB%+2TE4?<3r*^ri$GdAzRu8w8>8?)I)-vEAS#M|Ffos8!DqN$n?y`)x7Wa-%nA zN%z54b<(UFMXcnFdn)w6lG;K0ofaV_(NK(Ylvad?k>*GAU zy!~X%gGFBi;fu1Pm~mr0Ix{s1hBO5!4DdbD^l-7rw8LEer2VHP`2>BuJ$^9Jhxe|bh_D~Sz+jD*cpcazh-;4vtjVVl zlis;K|Gxf6E1E)+XqIL-pvMVG+S_+AN|dI3FjQxC2(G;(OpP{+v^|q-R*|s^%YHU! zD&76_%wi?=2~%p9(DP}u+t9&2m|J*;p$XU zINJo~9uqb&Z00i+BA}r1j8*L9NUsaAVk0}zb`O(jOcs+m<&DCvp^tgZ>6 ze8n7Cp$xe3dS1_q7!7C+*iNPDt0Ab$>ERNxwBoy$|Iin<4E=6KYX8zvWqqv#I5%X3 zax#?vAs9a~j|x|P6&H00@MrM|$&AU}?S4KA#j0G8=T{GpZ4vW&RxVPx8(D*S2GwPw zr|LiiL!8FWP@Sc@M=ZzWsXacQT{Id|KbTsbN$D~=rHd+#2kk7y$zU7nMrPS|v6>&r zc8vbc{Fx|8MYwOLXBi5j7LHD$>I@mys^nztEw@{6H~cswZ=nir;N!*8o|yv+Ea~kmNsQV4EYyI4WhGSAS@k@c_MUM29vw~%x zb;GV%&3so$t`i(Pqcdt#l>$I#mm3aEQic+Si7e@X+5^ifa#iDvtHYSz$X~r=AN&2Q zK_+D4y(}tm?zDCz^YQF>@h(&RBB}Ll{#L@tU9rP0efC)l5zx-V(q6yf!1F5F?d$O( zgNIc1@uHYVYjYI4iv7|4s^S%Mw-|aF$>@0KCK&aeTx@q(wAPg~dN zu-mDn`}@|cNfy{_QW)t z5Y#tDO+`;#3kEuwSSu;QUm#LWbIQ{a?Cj@TmIc#sRiBOf+^9tkf0pC@TtR4B<@moe9QCY zNUBGx%Aa^Es!ulkaUSUP*bQm$6iaN9$E;mhF-M9J6A}#%JDzE;OL55s{irC8*cSbupK@HG(33!-}at;)$V!F@A_$zt>MCR>i-dr`qi^W)5lOgNM-}1^~4*BiT zfe-Ejfuk<0j*i9UVq+5oxei~imHm{if*!>B{Lz+wg(E==cpUFpj3rZ?`D}n&#j;p8 z`k@LQk#$c-kD5gD<0kTMIy@ub+jIh1N#j~tamPgEKvHd7v}33Epla)AbtE~*?Nfph zRVHIQs9P0F&^VoD4PfCw$7iZA3JzI)TN_AM>;EdQnzpR~z&LWN?td;gc|9zEB$2$O z?T^F~I-wUG(u^i@k}Fi!eeZGvs_+-Q4aRQFl9l_GQz(O^*^SE?8jV7^4W}3GJKE^< z3|6A6no6ny3CwNBZRaXNDF(O|NLHG6pK>l+VdXvpay{SvFjiggyLPjbxK^UQ^7kb_ep6hs zz;%PmkA-eLG$=+Yc6PHVRlD>-4h5poXR-+0EQ(Hy!iXc~(7#(1utLMASHY`&{FDF9k5HX?hqAd zNRX2xv5WUN6X)s{LE|H4rAVn}$AHh>yh{cynWv;}?#KrOW z4RXMeboZEDa_xCn;){Jb1?4rq`~{fX6u70po@We2eRbc~;2eGj!m|HA$~#B#3@Kho z^QHA9dF&TpPZ6JN=QdmGqR{*8mg=dvcLjO9_m5q9B!`X$<-4Pqzzvr_=H*`w!s_~X z`FAGF2Uq|Rmiw;RJ8iMUD3rfMy8PR1FXp|2C&Vr(TdM(u|CaR3?w*8LpVDtZyo_Bl_{a4u+gLAt<94H19$OX0JFKRTauqQm~Yc9{qD*vp}zo1FtH06 zP!%>w=T((=lHx_haoojMml?|8*xL^87N5VTKUmZB=2JX*dVdZO24ipb-y4c8wV{O@ z-onI&7;feOMV6jU_;%0UFKUIro0|+;hHj=gi!1X4XHm z=4Gv3thcJGcJ10-yQ=oy&lWKoH>{z5KA1T0s%u?T=^u3dPo(Eh2kFXukj4M_JI$7Z z$bO<4LxEB<0<%6>ii*u-$5;6NFGl#ME&j$fH20D$f>iWf>YUF5uMxNC3cJ&Yi`N$1 z$l;+F_1*3MwsE9_-`MpRjs1Ib@TZNsZ7+1IX){nqk0`HF?V^B*xUApm4R6|0{Xoj` zdOKo&@Bw#}%D7i1Ey5yV;Q1@Au!dL*>MbBybmARSVN8)T^4H&_0NeL3Mxc67l2sZo z85=#;wU@Z-&qF)Dk|t3+n)f8^TBS_lAo(gNTra5ozsd)ObBMAsMW=HAjsr|X?~8)6 zV}m(M_tg~n)pOaLc=A$>czWojy>_M1rlk4RB|XH`%lv-}M8R7P%o97EA}PeKN_Ym;mG z5yrFU)IX4Rk^Vh?{uMQRAw$pdPD|oz?e`?^1_>r}O2TC-Vq&)tX-s}jrJ1C#4}?)< zNvyE{>&rWo%nZ<`dSYrd#VAl++{4DIe6Q}qYKPw?eQzJn4c6saGLbtr%cM)Ur6|kP z<uD<#B;YI*o%tID83otNT>oW zwQUp>^tZ43MW00Rl-n3CUWj(&-Wh$lBcgnN9J#J~KW-t}e1FCptZZpTvXsBD9i_!we6*8Dj%R!@Hy^qQ?!w5)=b|gQJ|!xf$r>Q|}g-Vq(1LyzMW< z$Q$j9%D@>T;U*nhiu_IV-$&bqzMZxJ3+*$;o0UD;t(g;2gY;_?rFtvFj)dwWNk}qS zB9^R#s)SWI-&9mN<0U8y31x9!xx8~?Mf8hMlA;$nV^s|I`Rsq&&?A$iS9mZPS+XfX7ed_3^ zy7&cylld;hw)cRB@ws83VGW)oPMw%wHi1X?KbiCALF!MoVdNVjiFWT{p&6hEw0d=D zS7=em%P@dUL$^)sG>IU$xw+f8Dnf5WMR^w4z04O*YAx#q!wN_l#6qcARf>VyqV= zYs@?tt4JUvi($EdvGoFSPEz4J=x;bD=)e)cs`TJl79RwG)k20dyk{!8=3q0!qpT zS$ag=eVFRYn%@|O86p-Z<*4)(+nckD&497o<%+bBe&@71Qa=VU$MN5vLmq0^Pa`t% zc(aI(qP4HqCIt)zL{Zs{Q(qnFl*;$Z7orDf5hEc2c`UAQDjmO%i!&Qf$^F_l-| z+WMCO{hi7T20GypWABf9C-e0j1~B%q>)f6KQvuo!AAdvOp$6Y0yV{&fHU+GiPVU_5 z?@ZW%J= zeBjlZU=u8p1=^C7Z+0(ZKRZhzev1EeY-YK6?K-@i#&r-b5oAIl611_eW>y~ni~^Et zf?pQ{u%;$?NOCDI7&Id-_BGEHT|(c^Bx>N-0p_0ebEbV{(SdH-N(SQU`N^o+v04?^ z)amUr>RxHWHQHBZNJZ5_rI9_Ymm3j@xI=LF3H1iZL+vVxK~u#+XElsS?rtI9j8&b0 zO0=-nUP^l4gF%m1$MxOEBx^Jus6?)OX(YQ9<;YMEu#v?Fm-63AAd~CVh@uP%{{w6d;^a zb;+mMbt+0cR_0(SD&Dec!rgYNlCgNV=Vf!~X46B%nRGzIC{Jhl!DiLD{Oh1+KJaaD zQGLLGlSur6&XM+^2rYP6$#8H&XVqr9^W53Vf18L9@50Y2;u6a})z+Ajh%S^260N=} z$T&+QFcmH!jcWovp_@8zT-zJ{nO*n+riYRfWnt+iQzgO-tGQ3%feJPi&W5*=`9NM8 zxo+tvx&^)2kP9KPJJAh;g-kDMZ(7Thmpc`(4eDtue;gd2V8|gAo0iX(_09>)jG&~c zA3E@v^3>Y95n%#c;%O7%v&#jf*VVGGlFregRi^5!nAdy}j9RFU0F}s6#O(zUg4L!X z<^>H6XX7v19Y;d8zLT_aM3}ke=6Ez4vVJKTI4Mr@@_uUj+UtREsc??L`BTkL{bh+H z(@wOE-&`AGV$Yrt)U_GA+?V>m<&k$v;pq?eU$wbfA;S>xgA?7(4c&Y-Fs-Ru4lqvS zw3Rnm&E;bfO#(GiK`wtyuM&teym6IBAchW@X+#()NF*$Y7f`Vq0$mV`eeme6CiRhh zO3;q4&@C}^ehyPVKh4q3KO5Xn?1E`u@3sL7S!@A@)@)(ApN}wJ*A1D#XS#?Jv$A~Mc*4@KtgNwXbho|{;$WL|GA4nBA>meX^FKPi{AeVU$gju zM6yU`a^lgzTv*ZMIc4;9*uzheq+*O*V`TI!t+970@S|6nY)I>UUNvbSa2rE=RcCp& z$9|@OSyxB=Vb<*%+w$0UaBt9t3PB9MVq7T z^-9>S%75Ccw$BPt#Hf%qI+146{^+R~()W~cd`=FoReRZxV zZBd(~(OFMpw6F{rrL5e&P@EXlFSqx8b0A0^9%)>=|1O&K`Whm{F7T5!#G`6`PcQug zY2EvN`~kvMg5B_$`z5I-iEb(r1YY(5BNqxSb^GoalJbc%I}}H;=Zk)N&2C!EFt1ol1o?T{+H^fe36nkep+k3V zsf`4`R>JU*oxJGdv9t~XL$wuQ!Y&pcQVLf6#GVSX_0{I`{45(sH*nOs3T-8oX*<{Y zPd5IGxTIa((DWs3!CG76uN0e$;0nHn6RwdDg+#5%(c17=nuWgZ9kiL7dE^J_Ik0=} zTkrbnQB$S3uF{8}b37a0e^qX6ew@w8PJ8xAR*$t#w!3OhPv2a~#)w~0#>eG#i$iH_ z5%17cYRG}7*$_!zwLVwiYz@!j1nW$L}yPg2TpV&9LLOam+zmYRsWX^ge`b>Dd9op>0M0ML3Y-sr!T zu_??a)5h&bZ{vWy$gf*B!Gdxr8CCBbm2SG>iCNfC*hid%LE6HGQbVnZmNr8;H z8YJoCz_A?%!hodm&vPz-N9B(#a!W9I*L`Z590%78t3&D-I_y{3;j7SnEgPZjM);Ko zWXiG5F-4c3G5u5WmUfv|<8??}k5JR&K(ve^{Cyd3&ZCra`Bx4*QV*Rp2=&g!4~90JEAMi}?0bexmMvy^N?VQk?a}aF^;Cd5v${PK z29bt-hg_;AMw;Fo;JcitY9pp`^m&z=W)RX{p$PD`akRvx#grMZ)0nqvo@PveF@XOGl}cfqt`r1z(#?^MJXD zE6B>=KD)>?VSrMH(z`(|IKaeEk@3>_poJxDD>;M3+S7H5Wh(6J@EBV; zL?g!jH9@Ebq3S+c&gLQ2Ate_bSIL)lQSawBDttyuH>gyT+RlTs*HhjaCtTf$SaGBY z8a6AnhvHlkhj-~k97Cu%WqH*2ZoCRoW$I2?AH_2$R+f0Dxhkx|IsFff3*gfmg0!pE z_2yros9HKlmRFZGWBabj+yK_q{>t~X7IDVEQ0%Tl8cKoM((xuTgyOT~)SB|qtYplc zNf5CaufoNRP82+%Urga2RFO}ooFULNQ6NOZC(EZyU?HbA^}PuRs?PPLck z!3q;)G=6wvcdh(@qNt9QNmi>E8UEaJPvVyBoD;e=T+&({SxTL>2L>+N=s+x1?*^RB z+7Hr&ytl@q_Em|PJKtt7O433(l7qquA|R)}ZFZE5aN9*k(oBXqvU2^MX|gf8w$56f z2tag4jVHro^#Xk{S8$3N}F zkGV4h1!x#Kx#q2BcAbB3T8<8Ceb}_muGPe7P$c&@*51rfOW)tKcRxw4>bc;n32pIM znre!7x^A`>sL1oI!&OraE(F&ap{A;9ue)L3mM_{tKT#;(-^dH_(oz@$&4mb;5oreN6+Cyu^n|v{ znZ9R@z*FwR@m+#fT0PLuBiuj3X#H;FqbM*zq*339l9S1%qWsV{%T_)@KNU@Mj zg`rO`7w!}b6MfTG@k-b|Y$$oWAhl4km(aRLHMyzg;oye}+etRy=mUh%Bvg$$l_~g| zIG%Imyz$yC7NFMX)>Bi-BZo9|1fy$_;r_wq|H#QX-(=|#oDNE6WqJSN(g!=a4V#q9 z?TFcOPF~N5M=D`U;7Db=fffajk3$us`` z?oUuw|6YQ;lX|0QI6HRt?cF1`MX(6OJ6YN;rQ=Rz{`M&}=!jX(Ie{MyE! zRr|Hz4_f5cclckQS1sH{Yo7DH`zI6K|J^{C$TmQDi?em`HZia{G%23nSYFjfv|-G$`%gzI zQ*rIG7sn0XIOETzMs<##dv4KoHxcSN)iRRjktE{mm{v^{Jd`*$H?u||t9Ih;TJqEc z+xCRpV&kbhbhS1>xj1JNlQas3&`ImMsLT(UkZ1VLGbZPwDw*~R2^_ zp`t+yq6W`LX0hW;&J*g0cmh2NFIy{zD+4%Rot~n9lo+vAcWN4ze``@q+ZX(};Ijca z{c&b_{oA=KN)mrlk_(S0D@^|w*hn43x%Ex2at-g{^iZ@u;ThiuY+Xa_WAd(&+-rS8 zTA-7Y722{lIiFp!I34KWdju+g0O|q6$5j1Jk@#=B@P}Q%$HlT&=T-Q7#FhSx5BE(c z6Jv%U^4=5M0!kTDl+s~*0ZboY6%F@^&Zg<+L#9O;|b9XC=K zMQ9&?`6y$KSuP$F8Q#071wcE$iWjF##E&2O5G7IjRi!EUpx(j>N!BKQ@_H=LOWXgO zH6XaN)2XbjP+f#AqSM=P4F&kk-l~LNOGjtW8wmS;6FkdxP?9elEi%|SsCIQ~Dj#z; z^pN3KR_87Fe0^?;aCATKIOq5BziltX_C?}WMLsy#D8`%cFbpK`Ba3ZvV%>&vS%UeK zp-WDUy7O%2OLERKYf2rVlqo4KHJi2CT~YB`Q~mC*xpWrkWD;kOv`B#W#CC!3mf}r* z7j12;kPNb;dZWmQJoVQ`SVkm-qrDd;OZgiV9AgG*sRsrv0qF`Kjq=FGUfRu`eA#JV zc=4EjEo8j4Psc|)A7PLuB%GR?5wz7hu-5cp?R`u*+hXGC;H}_;4b&&KogfHz8OjNUD*nbM|NJkO zhg??tx2l?b)2{}TD?S+#a%po9i-^ki5eIcU#N^0Ek_t{_G5E48jvsVS3K~9z5p~#B zD-@&D)ieU}VPmXWb2ygHgctnz71msO>BfagCSS{~zE&_UC=nE~gxl|kj$3oB)cDdU zLeSNn#+j%KXDap4mM$D?*M9%p)0DJJrG40?ZO)$4AxS02 z1yHj0f+d$QY%<9qm7b^AQYEb@F}Avz|#4|QBFu~WHh3``aX ztDrxSg0P5p)z#%bHlz6Yqilg4nHfn}$ju7_vWHb;4~OlG&wAnhP;|9#%zd8U?&;3F zNt_S?0fl>>nNAjAnaW%9cQ=V7-f57b%3Dj_Yt_eUx8B*b<#}q0=h_m%gsP`AH0Xmw z=DY-W<_aS-jhEtZBd}#3>HJ{|?>V)rBu8`3+!lv@@(Jgoy)j1SlP0$Y@^4C-3T;u# z67`UERxaT|;s-0sD~URxb_WMj4#lQc%}OTQO*?fy)jT2L!WmHR1{womJ61eq2C~^D z4~;EuBF9swvWFq{FdVyUV|$%(dR`yZTaG*w3`+I2hS2bwi$(l}R(86NK} zrwvYFL{k}1#MtPEHXW4H6AFIPs3~ba4Uf0$q%_KVL5I(a13iQ%T({3f(A_Yec#iqW zKUdi+$>yk@UuJVQKQU}~!K|zbZMJC)L;!tu*`Q~GY@Cz_RdXz_@W(=K-=Anc=yNlARy#&m zeNuE!0zQRC;uhO77Z#YXe!>e>HPJHY?ckiNeACdb9I`anX93cwO67$<0_FJ*aCr#S zcwC!=l%gA2r)^%}gi`p6SDYrrIaJP{v1{|q=1-7%CsNLp4fSSP67u%)cO6nz*>t3m zP@E%NM-DS!;0bcfz26%+N^ZsMYCoP3B_DUBnrXUODEQ7YG)dYX@AvZyvf}=wc4N zZ@9!D^pMluat)9P+Cp~&Tz6j}f)?puq%A<+hVHpGT`~dd>Dl^Q;xp>%mon10@iKDi z;ZtfRH9RMbufBp_s7%giRs|h{7>l5_D2=W7jySYIVd6#!ORtG&zSKl}AfbI)t3;$Y z(P+D+LpsyARs3)sXV}b(bm5DH$qh~X*vu7N@=5EUo{SoFeAV{7>Qwr=F31|sI#k^% z%zqmI}Z2idI${~Tm5Kik_{7)BeWk}Qs8^|m*m(}10coay+Jzg<;tUqfKp z!OB=&orZ*R{9(&gV_88tBx9t$?^X6DUyZINSkERUld^}QfcRKeM^-0gv1ry*S{28W zO090~p%p@(BbVrz`FvuXyTMU~D@h7~vas(WOd>nh@2Zk2j3W=w6J6J4*>~C9UO9rz ztwfKwsINPGysS*&Tq6pxN8hel*;}%%g1Xy234TwpX){jjlXCWX2L6H6NgFBQOmvs|G4FwX zcpy~J;hmMj+6RMoiwOVZQYR;yj*SbH?7?>j%O6uIAaA8815+l&TkR`x(?be~`Gs3S=n~&rEDEU1h_-66*k%H zr<-HT!t|s-nr(TG&W3rPrKXe5)0P$Sv56JOI8iL9$0~Fwc~s_QJ^(%==tJy3{~1;n z2_^Gn0y~@uaY?p_g`7TB+x*tl{>Avzc53yj=3b68Z1M{EI8(Ryr<0(Pbb$7<)&LOy zgqbN`W4UmkB11LF*YV;V$kyCB4>}bnV7bDSd0gJbnlp9qcEJ81+u~gs5T;1wk}vUdR zA+dd^zRZ89|FT};N;>3b1`|{48RQXJ?l||hT8Ti7(V5HJ>!XBx z7LQ`1*BUITmDiQOu+?>SGnc5*D}WdYk;hiuflB|Ha*E_}H`@8x@RUSx?tW&qr;i z(Svt=|IJrVUGf2@saRnA61ono1~9 zkfPE&$os&IuC5pK;&Nf*nrV^9*?mRplhdz{8FkOk~Gq~ zqW8OHlG2C5GW=wO)O3LMnMJi!wA=>y7r)x>nU!iUrlI4aXH=e)+hW z4%p0g;R()UdOf})Z-wFDb-?oFqiZO4^(eimRtE4(9R+1rzuBhOjNSl-F7J-8A*YKU z=MvXuCCN@6GTlmskRWW7*ww*A$HuC$=m!$DkFix)Zy;W8wL);!@g2*D?FFGGD=w*x zR3>ZYDtUx?rOzS_5qjc0{Kl=P-zjMPWxFxCBXV>5Kj(x}6T<;5IuyfyAgyY7KP})B z`;d>W3WPYcspFRn1+fHnT}%zt-r7gRS?XIOfQ9Kf4X~BG1A!bq9waO)0G*|obF|V} zuHK3E&Q$b|STE|!*Du-v6$(GszuCZ@3mA#->fKszj8uSGEd^N%qw{X;(lVD*_BuP$ zfCiFeKg8ONp!QzCH&FvxY3dQiy7!aBV^6p} znkz6=16O*g0p71`9fY?7+UK07?1xI$y#*Nu;A zkp4L%$o=9>M^i~vUQI-De8MrEhE}&u+8bK2im)via2zBd{v}hyelVA8Oct#JHT9V< z)l{Ic`65H-JwZNPvgi1ofS1*83Wwd=%s^2REXZ{j*SHNZnkUqM%nzNPQlTkl&m=T zlMGBO3%U|$u3HyE4&mi=6xN-Q49ISr&?+R5Fm+nq$-(p-_e!|QREJ?A5;YYywj_3C z#6gv)p;E|8oNySlv-Ko7x1!oQ_ru%hjv+ob#FMu_;0|(G?b}Dyfva^jhwFQPbW2Dh7_TDPoRO*(4oGvQb1tpnhZ4_A0zHRM6H) zFvp4~$A+TZ)hTHvALrE+ix!(#Su9mFOPJsJS#5OjzIM+b>88;61hV#rb{E3>_#RY3 ztr44`YAASAF*@xIVeQD6Ev*u>COR?oT%%P2|m^_c_0&%86{1z_I)`Gp2Zb& znnoO2W_)VXZ>Yg{rQ8VTve$&L39kZ=hv8R(JC|a|My=m%A{!aV2`x+3!i4LJzt*0g zlE&k@JX@kiFIk_Wi%dRwN`>#wCHHcPh{?{?KBw=CnL9_~=J83?+ZAHYoj%n{JrC?IW|N`;dFDLs zPE%&|x#}^0p*lZ(oG7DIbgFJ!h~mVm$57BpIFZhr_LQZk6!)4g?&iCdcPS}(>#>Y< zZTSextKCY}v>V=vu|(?0%NG9r5#*M4e{lQ)B@(;G(ycAifMv4S8yqXRDCW8{4yTjS zmSfcVwGM<5P4CBoKv(6Ly9oa?lJd6NZLG=A{)K(OS!P+7@ZATKTddS`432y86Rfd)2Lzx;sNHF} zl-o^QruMdW)1>R2f=gdpumNw;4S6{3Icb}lt{&X z_Vb4aOZ-j+(AN|&wpGq_%W7qN`Fbw71PFJ0Ud?xwm~A^Ei3mo(&b){bbzJN1L%YEm zTgxEhFx+lzg`cff4>?hsdT-kCAq=HYBPiMuttH?-V(h|S5Wxut4)>UjcLASAA+PV} zc(s2Z6&z&V)T{q$)6m4;x2?4Its_-?f#D*%XI?ikdOG1q0`S_>ud;{`(Cku3w@ zTXBP9?GHLK#fjvV^==X7A?0R^k{0%)h*X+>U9l)83)C~8i&$^doO+knRv=$eS6#qpy=f1~`lsSZVw;2h*SK6LXj|#OKij$Di!>=)r@c ztP6XU897(psQI-H6r_ng6YjPF^wd3`TV}PgG#C#*>OR70Dh^&@%cr;N$TV(5C7DQF z!WrR0bJcA=pRMjVw*rmupkq%XQU`!sMoc01^yW`_OmVGKDib%vlzzQHM0${Fdm3EEtJ(^t#RcBYx+HH;%j~K<7Kh>&dQsCFP;V|gI?pHdjeeC?WTY1nBw4MaVsTmIbu@bcu4ei2h*vu zH*SIARS zT%y!(oCOua69At~Z`R&y*#6Sd<4k8BYOKx^e{3&dYHLOi5=)p6oT`;HEf`RgUH8tv z`BCn#l5?hTm(R9ue*eAV0TGNZQYc21PW(LV+>EE`CDUi_IA!Q`DxKwn&z> z4`AC4dW>7H1$Zi1c&|B1Jh|lo9kpaa$bnoCW>GIknX5y2^vl3h6S_h0;_}psMp>2V z!2=(%A{~8e5`0z1r{Df)1$ZIo+d7Up<T#H z*WD@eHU*KwX(1qr&{nwb#^92S_+oOY<4lKIAbXe+-Tc$8{bi%?RTr;=wp;Yiq)nP0 z+PUJuum|9WO~boTPdb>eZLXbsohwLJ;V8{aV1EE~_azUqHDcu&fgYl{%=BX5okHFR z#+jSk*{;H}Sb}S+SOHI$1Yerz--qu!U=&o|Gu~I=&j364^h8pS8j?(HY_ zJ0@A1MGEBYbXS}k7|Q$Y z^`9g(Ep9$!b+)leZ?mm&-JRg)JszkpnYiUTWF|tIBA45>vpZs|!bmxK0HR%4RAnA? z>IEo?S1{XQ6e%zhu^4Meq)dk;DA3mF?KveQGkyNu2K^l+Jv^zKPq)3`bUBoA$YD5B zXbc=KRp6x27Ocr7xa48W!@t*aOs;kW1MM?yH=*V2c@Ck2NUs|Qo4vi_uEHdPpuVIx ze&D$n6>A|ECGe-Np35i6yxqNAY1PW67fXN#OFGrYQnP#q2XiLI{%J;vH9NGG3>A!5 zbCXOgpv|6SRb?P+#^?Z#>SQ~aUfGM9R9j0k{e}5Y=&SQ1v*rbg64e|_^Tc`lA>yOu zRpf5F*UEH7l+TUOdc_A-o-NBf1?$BgAcxdOQZ^GEYU$!mX`k@t*%x^!g$;~4Q*7x$ zGYGIa%D<$Y##R9h7W<9K(@kTFD>UPxSKY& zN_fIAaKaBf2m5Hv0*W71F900jJ8c^Jn>)~^NOirHwVA%sint~9GyJmx4Ma2u1_QuHGe7;isIcH3~`l}oZ|gA7fFxKu@;615=wa4OC@ zCq@w1GDI)-(3jY4b$0d9@`{k)`$hd8Jcfb#R7Jbq*2cc|GD!|ik5Ak47bwkA0B_L5 z?k2x=f_{`Mg(rb#Bh*ugRUt9-3!FJw44CRY!HW9InXq$)@K)IZu1ln@W?tvEO4nS( zmEbsWZXn3Tx?o34r;>NXDepsC0!ejHHfYeOEm0ZOtG9wu8vIgDuR2#QmlGaWHOvwRd*?5nUeKKbjX|%(-HzQ zfi}pkCC$?bDbWjh#Xx$q7U!Ugdc01ySP!SeOqoa0O~+5U#>PtTu3@O zs_30&5cq#z_AmI(jyNMr7d-HPT~%MTIpp&kGl5L=ot>~k*V7$epfvem*TgqJKP*j;6UO}0!>00a`rkb?E|NPKXnp4 z(_SmPpInc%+0fDxUfmIt30<~sk*If4WT~&ElSrT3#4(dWdjRT>M%j5`p6+4ZXFaa`i0c z>4y{5eb3_t?ejTGT_Sca?TQjw_j-F{$hBWNGnI2!@R-TBz7Q1Q`?6k+J`8VK@znmR z$OVzq?}C^-3`)_LGsy&v9IxgMU(7Zj%muHe7kBYboN>&0%LWR|UeWhd1wVBjw*qB^ zZ}Ug`DslX1eHbw1|fcROt37FXNNKaea}M4uMinFbIpXOfZ6 z9SE*@n;H}d)yb^ke7&txT4Ot+L7!f}^{9`%mpxJH+(oJWZhV!}(H5w5!=>~_;Hl8G ziQzF^)I#8x^np7!68YZ6?5(3?<_YSHTPm^HmIfctJi?fecpeb=UC%AMQ}lz<&Ffs! zvzy^QkqW6bJxV7NQ64~BTlv?TAzr5)YD{m8wMj7jU5e;)tLiJ-mRpYY-hTxJx`8dN zxcIAT{@cfYHkSUQ5dTl?l)o1KC*$BhzJg|*c>m!-76Bly_gpn`-f$Q#3jS*$nnN4G z7q5t#`)bAiz~%Wv2==el{@ME-5tjYi^Cy-6b;$DHzV`p(iT__bvGA>&53N?>hC}w_ zq8-58U0>{)>HaV!0za{5U)0!Q?(0X_$=`(RxBu*)??tx?FZ24)x*2XbnD{heHIJCE zb$z}|?n`SS^R{HygnRx#s)@eIyXWQ8oOkxVJzfa;fy6R%*_Uyip<8eidr9_h_`p1m z9ihEQ2bw{DIRhc`!;VS0#y}O&d2^(6^o%-Xu9@D%)MVzw)AWb=?jr1x5$!e<%=Pap zCU2Qc$;ClKobx)VblJV9t0Jx&8krxo6}qv|tDVE@>^?3z&kPLEnZz&T6fMXU=)z2^ zzbpdi@VBT&+3|vldGdtw&o5X?PGqjq^MnKEDD>3>y5{*?r$=Zd`8jD_8c;eGNFL|z zC<9ueHt<8qp0eRth`+6}$Q$?Ne1hQFzm8-_jd0%upn&3|p~F>gWzfrmMNDQYfQoWV ze9=4e91m2Zs8~*|S%reCG$!$La|7dIti{CWA}3eM;O5UrF7XAc0~8;+cwdd04t7^I zLtV&k%E|k_^9I?^6gpkoO05sBiwy9^s|*C4*)#DdMq4N7Rs}oTt77r!1K(3T^!;@@ z|CmO>r|+!@cWJ%T(0e`<7sc5Voap{f;z|iN!&zs>$O9h}P1J8JYYWmS$V=3o=r zIMwcoGId@1e7a6IMPuZtg%71I>5HkMisavl9m{+W8P*$Pl`8RQhpNJJKY|l$`GQwH zM8R8lFBRJ6b)~B#aO|L?XL*c^MW_h_nyf4FlvCWbVYY&MIjP~#ac(mUu(~z(Dgkn!aHsj7!1OY z(h_H6DygF^$V}XIu{Q3rjx!KcR!e<)rYmk2%;8BVjZ5{Di~l0&G&MT=`b!V<2oWY1 zl=ZTXYD$v&*mZPeJAa3d{gw3^`ap{?E7)1wPMOwRUUL1pqh+5nkVJDV)T|IT2AtD1 z=G^3ZDQ1M8F&Ns+_U1Uh@Z7u4U}(%K|9v?YIp_qh1>j$@!%KP0qMlN1k)W@ukdvR0 ziZN4yn@{lhi(geJ@-q%Cj`U>Ws4f2wJifo%{i}%~J>pWmFfiqhDB3L7w`vLBcZxkK zn~>j+z#;{(Ce^0X8^8DH<49M~E#-2J(4Tr^hSly5^fL|9(u5S&PVRA{eir1|$(OPI z%&9nnhRsbFOWFAPY?X}a%O zJsW^A1t-aMq(I{ECheJ$$uhz*#mP{OeqY?9Iaqk8SG zdX=T?Q3D2))+5~`O#d23MX*H5+uC|}168RSyB6E@jscE^nyJFgvJ4F#T`F|=^;Rv2 zgBL9l<4Hxo>kF9lTr;0_iJX|J9*??>2*9;@K1~|zS)$|s!(@;ts9^4+Y_DX{3H4jP zt)=XX`sS63C~ocQ%S6ClYLK5$LMaj$+9n#XI7=E-bVm(P>H zCMBK^ZY6UKn4Uk{L=L5w>mQk~jxIZLkoS2udOp*NSBVy0I~EvZ2ntWn zP;D_nF2rM4YYcawBnXZFRu=b2!)&4+vZ)lhVp{<3+z_YQ7$cY@SPC#Jte+ehfTz!p z>~t@a3tO>>>|74<#k9@wv5NYFZVgfAuX;R%Xm@Z@m$xpT?a=Y7zp+petK-5NG2nwI z_rVP&bWeo%zqN361wKjp<@l3DHTTZuq9B=t)pLVG!gt3osX7bx&=IbX*B$%G`kro+ z9CfE;nzO1jlKO)S2-$y3w^_yHb#!N*XynmbM>5O5^D>KMM#sfs0({iVhT~L6bi%6` zwGdmZJA36#9ax?B9SBPZ`w|RNqU@rrHD>Pb|3I5xxEODYA{V`o-@@BVR$a~;(b`#Y zHxUb5#xmiV)mEZdmIo*5#(XQIs9%`VQ?zDW+Gpu0d_`>%^}MkAAe6M&IHvRUD5S#7 ztAuYhlD2}&g=G0L40EcvE^n=iXBA=pCpnB*&nM~yr&YUIXONv0!D>4X@1eRjY-Srb ziHiF}#R}$?MehzuEnU;kFcr9xRaqaWnH8y&qdmj}d1HD=aVVsBB;t_VU6iaO_hBcO z6A@?CMhrr^SgY#VUEQG(kf6FV5T0)1Fy{!0<28gs8z3;kG*7RE*9VV6P@X09SdnXO}=v?V)Z~nUe#- ze1weWg<4AU&WYQ~7D#88^_H?!w&n00vVUadP-qIKxm&bRv-mr(YwhfnIsiM3-dfwi z{*sYr&77B`l$Rdc6;eMm#~UGE*d!75-0=Y8(9k)!lEw_a${R^sm}E1eh5Itl*_%m! zY%`Ifv*^4JSyD~){ow>_p=4D{GgD#>bcyig!QxZ_8kg-k zeiL0sbF;JBwJUVYpv3+MDFuC|GEGy%4{O$#^y0?Ax>u zX_8o)aZk7P)Vo$d4GL`+&0TGC4IyND+0d@I5)d$vH&azrDrcLhv(FNq@A~P>1YW+N znulg&6~o9Uo?zSS>DYQLRu@KWN*wNGfIY=+`55^reRz4&GL%@+yMp+?WNfSwG^8; zt2Qz-rjv8z)2GiC+h>Jz0}Z(0@leq~mZ?5T;V#MYcDQKsurpl=BAv}aX=H=mg6=*; zdugq|^Ymy{xPKA*#R)U$d6)h2ez&9Yi-jTe40+YOrSEgSz;)WRpW5>Oypy9>Dsz_P z$&ikAeO$4s0ZA%b3&rGi(z=;mdIVG>lmEGhq~5(_)UZ@|_^;}3hltsW*9(51D{s3Du47k#jvx;8Ovg5E1wOaEBq2?*U5Ka+OUpHq>pxmX`mNaqnVb!N4F+$w&h|5;MT+HkNaZ?!Ov$8q z4sTj;&+?;B&m6w-I6V0Bzoz%U92EW)!Nj1Gz0AOE;)bawjCnfi8<0+)i9cQXEHN`@ zD02Ww?XO1o*L}d%C#GS+WU)h8?on@3b-76rKlW(ykkUq%>P>q)If&?mX37vDuvz~5 zx%!uV{trwRvQnl#1?A&`f!#R~PVAz|5znCOs}%R0=Wm)T+a*#^~ZS$^XSA0I?_W3NV>Gr`3r#B(BN@C z8jssd+{oT-=-?bUHY{AN!q|VX!`@({EpICQ!`7FHp7e?zNX^5M`;YI=D`VHkczBiC z^1s%1UWD#Y>!&%@~U~YBRV>=pn=uP*IlPLz?#=H z=W6No{c4)QpxhRICOaJa=)b#{|0?N}=mPWM9bOg;-bp$laY*MIO6JXGHMMsm@tG9K+G@B!3f9I^HhDED#Uo`p7Wb`NZ=@#qlq$AA z^xju}MBU@X_kYa2RQq4`#c-issZ3EVBfaCW7v;G#@)L0kr`9e01p;v_GWv$b+wqi> z8nGV!J2LiL-)LS=R_YbdI2C@lSCP<^SxzHab%Nhj%oR?itm^PxtSEnSadHyDpGxX) zt^B$8|L+;WpZEP&Y{9?Yn=dx%d6naEe52-;HzMN*FlTvsMte#v5|^KRL+9od&GGIwb1(sW=|H_(1T8WGGZ44D#{L4kIYEG6t9@}?pBr|!plIpXoiR(-AP>dvp~}YpAAEK!9O)!f1CJEg z64s<&IlA`F&+!usSARnw%j66*92}TF*NM?f4J6ri8xEbg=w`pQc&+N#F<-SHLAkGO z57C_J938G!k;B7V64sewT&SH5>8sIu=-wbxzhq5RtgbG8BmJ)YqlMx0PGy7(ql4l^ zicsZPt)H&94AXny(N^a=0Le4T+~ajh*uwaIbVV<7eV?^ibYCw-w!A?8_OtN!(D{F_ zp09pC>v9m@cTw|eDAK>G_P5%<_q6-Z;OGV$u89><7-`H(+MCwRS}Hq{a4t5`FDRcX$Kv1v*uXr zGx&bWnYSeS#(7+*hhA7y4c|7@)7%;i)*Ug6w%F+xCAh(F&RCYaX7d!7HaU`VyD;<$ z@!u3c3}=ZMIv_}y-8FI06Wk3+(UZ?Ar<}hdVbuqs zdv+Vj8}SB7+hlhjk1n0#!HSH6msy$nET{awVdZ2bqJ;`OS3&e76SP%Uf(|ajd-*b1 z9)|qsZrO6T(dF20--rqg!^W1Wh!EZ0!&dTI$!7KIvcirL-zH zPQ;kecN$em%tR6Pib+*mz$YT!CP0D>!6u9ZDEZSu9&xC45;WgwU$==-tk=UHiGz^t zWowCmIq9?nVM+aVRhZ5T}!WL_9_z0njX6`lJW~ZTadJ8mxwA&AB zETk$t2>_CTJ5K|p3Iw7*_S|rTD6=n$CMw;$C5(oQoP)1<`yHX|g~aQWG5VLG41iM( zO|Oj$0cCBB*++xsR^);NZF!?a>fw`-^fQV~EIS`f^bof7)6~u%D<;Pz-?d%BN`KY& z(r~yYeAZc|p{D?Z9^PQD`*==xFO>9v?n*+Yz30`u6}m%F0nIL9p39)hkdh!^K)>vW zimP|p<(K=SAhc@yp+i1hzP6&BG7C=jE;E)nDT?eb0S?^AtPv`mHK`5x(TnM{b=peZ z#U;z`edh09=oljXiGT+&JX`k)W%_mVt&NAQu0Hq;tiSss@iP_xd<#cJx+b}Gy21}-1Hnsz3Ukl>G^K_zFA#2t>%aPgv2 z^A&{}2P|K@YZL?qawvx>7?tK6UC|L~(q|bQRWYP1tBW#Q_1PZI1+v-(#FbET1Uy|W zgFAik(^L>g4ZbJqv|PbdI+-$Q)`I;Mx!&}Sw!-O|y3TE@g8*RuPQRUGrexGDo7nT= zRlSxFub1YNX*6D(R^P$4XeInyB|5y@Rc$Ym^fALmFZe~juRD*)5H@HG$L2Ep;MZN$>Ip;pY`%`D_Qvptu>y!3d$#B-D=9^h*Y*X-PMt6g9ImekMmuq4 zbpZyh-s%QwYwW%fu^R~}%#l^!6bzkr6{S24LFOx(8Z(meWR%MMXxH5PrC4-DPw^3> z5)_jz3Q^$>*{AU~fA0MLlLaCEC>H(Hcq(cIo|$MPsp(~P&F|R1gkj|O6x!_8c8IdK z-QDzX8BVB^2%7FvNuhEsDs!R6p5Q5SqC2xUes;0Vr%l?S!w(PSs}#F`Fn^n&!6ae1 z8P8ro>c6{IYGfWP<=C6M1ooQ`>fmLoo8{|fft#TBFs%b=YrC@pjLp1PjnU=ovxGiG z>_}M#|U+Q2-bQ*ZF+Afk) zr%9S&a(GS)*gV=ihs%CPnkYt8^M2%;Xny|H!x(oT{UiTZqz6)*D8w^vBG$Ju?NDgP zd7;eNZa;|FshES8K#D&h&58p9L~v!r?@edNtYUAmR`d>9L~4ujIZudQNOLfi;T7;L zVb%|^{cCWBJ<|lv?6$9JrC1v}4@RtnnTm|mBPs)KgW|Ut(awE)rm(r!^Qs{d$x7u( z%dok?Es5d;>~@!q1_>!iq25)WOi|?HgSF<$#TQqcYM^Ji6k7e0Zr~T*@%qngpK!z0 zDsF81=MU|-5Tresn;}hO9y?TNY<2Ae4WrRxIT{}a^bnH%5BS26kTGZZgn$gpkgZ_C zH)W+@p5+Gy%!Ljr&q9=Bdu;oor{ga<>{20f`8$4bYW`3Fl#=XMm z_3i)2`VsLP2rAltThzSFs%+E#NfbtCK6yoHTqUOIYfz!)i5&|MKIR>?CWlF;wH`2d z6mP_*p74niq}@T^sSy!y#O|+WK%TFb}^zW!9cBSo+-7@{KZ8adzA%g-R0*CYLO<#o!$*T_euA#LIaBJOu4J;n+M=0D+LHJ#kefP_DFdB-dxLTl+;JdOsdpc zVz#e#2}jc3tN8P#|D8s%u*TCFk&F|Z%b0ehc~B?D{Om-0^NTsBnnjF64oik@=e zMzx`oA)1RlQzsF<`E6DQ(g7KnZDdR+VwvM*;t!0tJQmrBgufjf*J)cfoLY#-y|}S- z-gv5E$2oG@zOUL^kXUaT>j+lIvM6vE*QlC(K0MOpa$&3fe!ONd;_cvX-&YeXMS=9w z--J>-2>yaEs+AYA-@v}tG96!!8?I_(Q`X?5E~pjU>8~0hrX;#gE>vP`pwF{R;z+F3 zgB}4P*2A0)#6Uz76oN|4Fn^+f1}0=3T_3$SlvEF|-FOrG^o?vl?usOtnR%h`1SxzR z#nDR2tZ`}K04m`6xLO&>TLb|Pq8h!Njn2(T2lXOc(fsQf^q8MqoRC)jzmUej|b>k??;E(^iywl-xvm}??`p1%Mn zXHJt(C?p^IQejJ3mG+V&WgKZq%&g(YT1V$EcRdw53(}2Glxp^w< z$8bAJM3e^@oGPjF-DuZTGimBd_;+d;)>Oi14JolPa>prJV6tS0mbu|X_Kix7^jAgm zgknHB=t$xWP?o4dU~-v|qwRDh!sK08i6b^+ZYO-g+dzRHSU}$D+9SVE?%Je43yb?^ zhrvZim~~E7vW%&2Ko};yuB?7nKDd)u(OFh!80jC)ydoQ=D!@BJ-33tAE|7A@d79lC z+u>3|tt#Qe!Hc!h(2La5@|*S>!;t!Fhpf+&aak*KE=eSflRRgkvLdkn{1=cART))$ znJUpVOH@bu^EG}FHZD+ttI;Kdyv>LB(iY!X&-@%yJB^4BL|CFWZXeDmnmvmHi@f#o z1L{zmP|YsQzJXn>mtJi~tFKoT%yK2^o8a9@M3-nL#-EcUXfMeyLWx9m^rzk~eEcDC zQudpv>tjSASMb#0%#oj&$g0I@!sXDED9K$*=^cv9l`kG*sON>B$!RTuCqbmfMKrzP zwpXs;s9=7J&oirjWwE3BNIAe0m*wxJc?e4|r-MwR60PaX2|$M5{+ zLV0zUOSm%MZgQj=b%)ErdHr>#f0E^f2Xi{nrEjEqJ^c~bZ|GWrw9b0P(8t5iWPb=f zw)kjX*WG1beXTC^QV^`Y<$+a~eE zuJ*#g75-gAozo?^#1*|a)WT;|93H0GC9~E~wRc}wiYm5)yxsTEWFH!_vLB9fP?6gj z$weJP7w9bvrMnKaoU`xHCrE8o1v3qC4p}S~hpco7{Voi753MXA!;^CULpL@TjC_iS zH@MqjwR9D)j zq1+8&p1^7mShBsNryR^*>uyE5d#_pH?~r53F*oBWiEyFrQNm+?=f))_{FU7zWB*33?9kzaxc` zKI#etf18&-r?k6LA)%5#O9)gw$z;CIIK6SnL^rc-uzlR3=JQc zM#7czbVJKGBYHuaRguR}j(J9S5(@^>6#;3K&+xPJb8Nsu7=y~8qRLw7ZX+|=P5O?q zJKE7_E5_DQTb<+vINfwH*XNE65_sv>eyP+jr3T51!nFZG2T-0kh4mOJn;39bbkd zs}RSlS}XI=<^5O}JLwpevmvkAtQ6H++HBD?7$+{XsYQKOhOMB>_yMQn`T*~-9KLeV zP!vmF(NBJW`{J+W%PjRT;FkU#E&R&+|2I4B`A&jM%I(GvJJkJ2);&^H1JI#xu1_{) zO{T08Ikn*~wHO$ihSR;3-7`TD-56|yaf~)rM}|DNa&DZ3<}%)}7|xsb21RH^S0_@qp+n{$jYnpRwI-qQ@&J`d zm2JbPiwWJ^5}y>QRQJvs+FE%ysvp(lGl}lONY)FKIMg&V1F~Jl>w|+u8?Tbory7eq zlYtIKi7H=zf=Q)Ae?vHdI{#zXC6zL9QBK~#w+4ibm3uh>iI&Gt4#+CC7U>*z2Wn4iH+n}4vYUk`%E=6Mzhg#{s27z6Ie}iu{|8G&(f4;MSWlZ{? zOXr&hLhl?N%;xOUj$skwKFjCU1R3=QJz);{w2TtA8Vfeza1J?pTm^+FQe=CC-V2pH zlzYVh4G6v4(AH`o^d8bvdpd2>yIjzS(7RiF>4#~3t7s~O-uGCT3C_12Omxm_uUrZz zB0w76|8#l}JGs{6N*1FO%b7sSZQF@V?<|_%U%ggzp(x0Q(CmF^b487_v(8_O8vEfo zctt$x@*&}UopPYTp9nlZg~9*s$EzvJW9a$QL_`q*Ym)JYZ_CKXSh^jhJd-(Q zCOyH3p4lp2*?Pw5UtFr@gjkGu+O4YmzKjyRS4rGJw(xtPCs`D$URV^r1qr7$H?kjN z#tqEHeP9@*z^zdn$kC{gH^o1oY&KCZzUedLIiBMx@4x?S40g)CmzL&JF)Vq;XsKSK z%QgUvpQ?mNU%<}NXP}KatK;(1CQ^7)f19ez zXlAuL<%A*pmD}udQSXO#9f};Zy`_bGdzS&MrEcP|{z%@%%6XdlZ2i|!3)Q2h8bmwnR?lkCP+f6 zhuuCWBJ&vyb&n(yx7Q|OwU2nf@X8b;#amguKaYZ-mUf;t_`rN$i z2H*dV#9{G#U*RKG@1L_XS-ltOstEdwW@qu$#3?tVT#T1UZ0*5TEX++fuMdeFAw+JL zhvan@8wT#&HpgP1`zd78ms;Wj-DOp^btT(jAI&B4tl9OWjiVpaZqu%w;!Bo7w6(dO zfbVH>!faM@%as7!3#?_;D(CZ>xB-l0tY|p2J0lnQ`_Yr|MzgiQ#Zo?$`b@@ul!TQ zm)PvbKOJnYZXvG3&3qg(qF&H_nr374$g6ifK_|h#`brZRHY!$wQlD(04nc zjbOZgCYL?JppkfT+*DI8RpJ;QiSgr)UHtBRX;zQ8O5zMw#OcSe1fAyj>m?^Q$6&`eU@(}qKmSzM zTo>y~DmY2gYg{m5wVwBLej@HWU4?ZuDBI}xT2;#=ALaT$LS82}e%>bQ*$0`gu zjL#%yHXjh;*mUry!|y3OR?bDr%5&er5r*a}kjq#UzlPs)|NUPo355Iz)-ow(pS|(0 zs(DjTpPU6Sj=>kHw_?CCTSeymHswnfyi+a~$VkE5M8y&U?BwWO;4|I2p?0vkqu?l_ z&aaHF3Y&Qjndljfojojrc;(QsKIYQM!;MmyqWM`0&hBh#_Y+?hNwtc9_p zB`}zlRndP6{W^2*Ab(`h>?0E%WWj1+0*dZZF^P+;d+g^Rp(39#Cln+mKj)RBC4b1- zwGMF#5fG@VHpzZE;bx+wufE>+ZHTp`?pyPlrE8x?yv|jQwG9YeROkI8=@?@ZMj>xO z`VvD@ZsxD0>cOgS)*Rg9I9}S%XL8`ER-85>gA&X_0@}}{Y}V?iw?py`3k&TME!nGC zx0m^?c@<1**-;AzeK7bgIddqZaWEs&=8m45n4vQUT%8l!KB(&N?FG&0^g_$D;!Ss?s!Lzhb@|rci=w<7P%R>- zl`4MO{R<4n7G@Jg=&DLg|AaF?no3&vFC z1+25@B|=Y6lSLBSE2a)guj;bi*oIjIM23oomN3zJj-##d5PoE6b@0}Y;kfyr3z8ii zY&}@tTh(pPTdMYLqOB&{4$)UTJ>HL2Di{-9t|))bRq(WTKciC-t>2Yp#Ve1wUe_7c z!A|SA*RmAqN84Fdl+|)fECpGf8DgJuW~?4?Og5{FC+l)~fGUQwhQ^?zVlJ!HnFK>wi+SabFnzZN zz6e&z%yrRqU;a}E7m4^~Mf*nHh_A&QG0(|!dQvZl0@XPvcJ)XX>}F89q9{c*0~K}# zG&yOOcKj_@(k|lWYp5{^t^J8K=FMUny+5#w z*K-SF7`$}`3`M2ul{RL{#>w!!(lJthR8Bv&deK0qrsRO6%WZ8gy1%4q55EO>o~k7D zR?2#pr-)QmH-)tx!%3QqC;OJJ8J0=?G;(0F#^p!WuWV81PR?37_wtkLy7^3;sw&50 zpVLeypWuHrEXc2H4ob8WhO1_nS_&z4`k@l!Tdflrn)kWjyTPnb;yb7DFv#0+D1&C+ z_P9;zThOzzCq;HZ^ckegv!6$&0dpsnkRm)uIkT|}KoX_S^2>gca#TGpO)Vby_oM2W zT8MGBltK^ZQg{X&pmIgF1wcKxMYM6qt@b*NCJXV2x=q?ldk;=uMU(>FRrbB6YEmpq zfi9W5g3TXM_SJW!klQ}}&Zxm*c<&PQ&X+RF%onD20|Y%Vt$A)!gvYkto#t8os+BfA zdWks>#2dNfSRR|!HQW^Jie75WeSf7(M4Ij+J)JDx_7+#{+%=uI=jgm$`?_L~DI-yh z<8*xV%A*P1b)3?6E-=&%tyrNv{9UgjrTfkMRJfaUe}zX;-swP?g~A9w@)qAmPR(+= zfW)0(3^cZN1dYFa?0^6;CfP&Ei4IxG2YAyt?^JHbZ%JspQ!!W?Lzx7Q6zVWseKFAU z<+!`3hdjMG;&Yl*i#6fD#~=Jlz^=jFr5mC$sA!H2TxLa%ga!W*%lVT~tt=%|5OmY~LTrM5`ON>q4m&em5ppnUZc z2CdfxY!Fr!AsR*iQcVk@4)Z^l?IB1VofYo@owj{HV+Is~iBZ;DbX4^CIElQS6P243 zYo-g^EA9z zQg^iq$M#iQLBZ#~V|X@9%;%BcYSWn1gZDL@Emb)1WhR#0=Zi`ul>oaWGc^rDzb3*# zON+S;S)0)Xr=1X%eb;_39wGAu7l8UI{940Q@&N5UI<9^_P$3f3Kthg|U8x zrn_c+c`W$ajS;CP89{)G?vmqZV#4@k;3R1S6?RLE4D?{n1f`dn$$1`<2M*BhCV7b! zALa$c&tyUaH5}hB4=9!yzr063AEhN>p+n{@0nI;OV_2u@6vX6==3@uR1sY@JQm&rP zCaAv43t@d#8y>o#{x;%F#viuq@?P7A$B6u>N2W7|GArV!CF1Q5+aob+u2{RZKv2X+ zBfY=Pe!c?`IQfW@ac>CF?bX?^Hy8R!u}wg=J((ebb2`0EeQgkgUtFc*A;uD-C48vy zAv~11;LM8c)-sPehEtic$D*b$@r!SCXr>qEl?Deqps;kEE1-5F=Gu#{hOcZ&%8=XY zRbj>})o97Cv9J#&+{W`6?BoPI_R`!Oa**Ztzhtcy@w4ZvsyF*F-D&XMlp!5-<{#8hObp$519{kRY3Vm zxir9(89|uHL3A&nAYOOH7b?oZExGyO#>-%&B9~RK@$TQ$L2#a(ioi^!vn#CGZJNDXCyQgHN2yu*YW+Vf^NL8_Y!G)dT=(tV=}g1?x9Z);A=75=9;b zKxKvG6(w+_dHUGByjY1_p&Um`*JXbG#E|9_4u;b6W;0*r2TDUav86>VCz&2GsO~P? z&?ke0^>od%+yjXsLUE7$G89y!C5%am>$K%_fe#ERLDf)plV|;o_IhAJ#&k14A<1OH}V6-m#q1HfijMr5{^my?bebtir zBUH;dEF84-k5{J12<-;ze!**XcRKW|b3z{s8s%k@{H9n~uUGTwn`^e=+zxe>7QLdF zne5QHb7UnIXp_6sPPLxBVLShoK9*6xIqP%6(2mW}&LG-{UzykYcAu^w;Cuvz~HKKhs-|EufvVa3d^)NHJ%rW<)4fk zMuS95^P>p&*ELr}S7*r^N_+aTs^(1r%Ts>yxn2iMKE~H5x;9g>%p#>H(8U=>UfQDN zu@`+M0|Cg&xL8LZGX-X8M$LmG%%{^jQUGEe%6S`SSeNxc6DHU%!1J9K*l{c zN8X0{yRsEd6GIG6I*Gl|Q5~i#Fh*5Lyds-ANmh9e2<{5d4ot6;)b6z67-X-o)RO=f z1|06m>$P3SnM%HmvH1;I7#U|3^Gux#ds|V*U|72FHpvJEh9mgdXy*HHL6Yoo=d)H% zI&~e>S(c~%7a}-=m6O#~WfZ9w;rc695)r-eW|D7lstIcy1uL9);2+!VlhwnFu7P;V zbmse7$)ePZ(BtCM6wMeW1=Wz9?4j%L&(JO)+frsh4qg(xp({qdktNcW?Ax!SAuhM;hAC>~`$d>Mr77_Vi;Ghy z8pa7c$IpD5k*&A5Aa?_#VO8ok5es*C-wX|SFq>zLk8hB(&#u+y)iAFOvJXt|s<3SQ zGN>*8BqD;G{rht`g7sq^3sDQhma~xw z(@=?uO0Mdmis=ITQ5E&opj8tv08`QF9=7~*(vCOoRDtFAoy>vauQvmfMTF$=V=KQ9 z%Bf08S9}i7ndr+E1w2~+vu=McyU8x)aX`~*jg3z!VAxUogotmyp_(K^mQ@6@yDRhw zPIwjU@O*s+F&x|)GAiLo$zuVxprB&Gk?>Zainrft@PE5>kEHe74LiNE8-F?NZYxtVI0YpJr9ye zjif}5Or>~h*+*ZApOxNaR;8w2!P1VF%D~dcK=EZ(hT{`O)r_X31P!7GT#gLM^Xm_( z{9bmztEe`8_$;dX&7`k-~vf^<*0bloVsw2HhSMP;`I z)j&!77Nc-2OZ3hlgZVmA<42_5jOEfHEh<5G-P1Wk`Mg|XIE%ts37ejUH9pdQUKW2TX&K3_iJjiqyVjbOV<3Df3eS$q3m%m;7yWO$OCuxT5+ zWlWFOrSe$Qq(o{M)x~L?KX=kJ;=r$x(~n=r+BlCy1Z6KCe<51R@aU`b6({hA!t-D zg*`L*auEK-iYW)}@YktAOupEWbumw(8n|Qtjh~@J5M_oSiIUT-qFk4UpMt4NR7EAF zxIBSU6oGUt61$@E0d6aD5bTH(IeO`VuccI_F{fT%09;Q8cH9qs2jT#2ZAbzgbd=4eF@{%GMYhCfuIRaCnjoPyq;lh0zI`zr5? z8E1acrj&LCFg=eVk4DKR#RO9zVJkM#%>{b{D!vm$LsBCg?$=r~9|`}C%Xuxf{? zbS)_c1B0u97r@F>wf6h91?ei;hQm9mKVVzT7*^DeZD10L?QM)5gx=?e@+)ZV(Tqb#z5c z%7hJg3j0yLi}o|!f`XV&ZT3 zVbk$*zsk-dNGWhOKi6V8`8JYrpxYFG7l2rjRw~docErv1>eL ziuwit7CoUGSCC(Nwc|?YOD&{OD*Cc`?Ie#f7o^({=n2XU2MMBBFo=~2bXh2@aPPT5K!>`%xRHL&;NuTM1^A4`JOLDr~pGNS+FbKq6j4miEZpfPF5gYoc=&_VrfM2HdZn0d# zDl|T~m-M6=#Wr!W2MkrLX03h@0x_P7ntVlt&c5B8y>xr;v6nQ-$y#kMt%9){2mG|c zf#q1hheNh=5L^Fv%OOZbZ$Oxu$h?$w;OL`|ednJ4J=g3f?IUr5rSgF*nI#k}%r@D_ zwpm5=rE@&k1+(4Gc}Juu2bG3}^J+5DvD*9Ik#SPs`hB^adn!K<()!9BW-JH*bo7-4 zU-N%M@rL(t4%ngw7c=#h>5w>BPKrTRryqR|0?uCV1fdys?J}&Z_eR{rVKP`XocI)) zv%l_dsXMkBxEo4}LPaTpX+5<`Nobploku1tp6PsH@Jm!hdWbS(hB=!!B9s>$oO zdSoHqFZ^jFi{3F#lF;li<6HEW?CjjGZS&37v^zODIr*uIqoZSOA?k{9it6||$`cL_ zCGkS+r=?3JebR46pN`3}e17%#y|_Q7+rO6!LuGn1rH0(*^wf>7tyFqo*CTGi!r~b` z?Nia|9IIejfbsnpj?THVz@-sm`ImEZ%p~rL=8E()5@r|?Bo4Iq5kUZv(#fAQshQPc zu{5r!;DF?3SVUH4KISCpd#z#i(ELm#Tjg^`V-$^1r?YV_Y%|1y1n4FVy76- zccj;o9^1OZE))Du7vU&Yq*uJp!SIQ$;Rc7)OPwD=L87lE*g%R&nY46qmZhOKQ80+E zVc=*Bf2VQ=l=oTGP|;p6aEN0K4>dw_wCrTy%e9$tdA2H^8+_cY0W%Z-i)8eNt&^C3ogX=|w2>Rv1Tf>u(%C@kM_XSK?|smavalVu?`4clk*884=a{E(*F}Ti{83 zM7rfq3q<9-Hx-MM-${3%ZQ`?hb^RpUby7x!(pO%^(0R=w2w`o3d%^_f&i!4%CwTxiN&0QrE{#fsRNFhu#=>K=y7=!RU?=2V97YVJ;pn2 z2P_sNBRSO%9CNQFqgV2Ro>g=i4UbAZe6;#w1^*87C4Fq&tWFzDmCy>aG)t#KWGQF|8lwdBkJDY`y zlVgLRYpv(AAB1@8#o>Y`plUSj!4(W~;%4!ZLQyK-6et?#a~zqiYZ!1>KGKm7f%SD+ z)7hFoRy0FIP7-NpHBz`hTpA70|3h+pDFDoZBw*Yd^ib)-5x?tAHaxZWdoeq|8 zzL&4@}Ud2B}G4vSBYz-$$k-QSLw3An+FuN-c;rVMydm~ottFcwzYi^ zr24`pr3<0Ml`jV>?7b2WZXG@Xr)8&Q03Qr2g`2SX2pPxkYL( ztdMw5l@Xm?2#dOx)0l5S2@t*grO)Ui({B@n=xU|koV=w%7BK@fWwD*zN|v8IDxkYa zh}TJL)tyE+Qf_F_gt%y}k@|8-ud;gQ?fEb`M-t1shBzaT5yiEnj*G|}(})IW0j zYQjZ!XSJ03CBvN&gN5w?m33OMX!a*Qb29xC)rMU?$_C5W^m{Oo@cJcjYH`#j)F_G6 zEejD`N#5-`K|UQ?72OAgE6;p>@*m^Zv*nh!&d-GHQB&m}N7o3>Njfjz zP~6+=cmA;Cr@zBzEoG9(XQtKuLBHH++CZb8Vp7dvuo-HRg%~nAp1?yS>cRVkwm?-V zZmm@58tv7>4rO9;^InXMo@UOsFz@IJ;2d*x+Z5*R!9H0>k?yGJcnuFb&1`FZL+r}?$-_Al*1__tJH*3P)j^jJr)~wf*wp4Im;}$$%#Uj%&mwkl1qL3 z0Oe=0l&HEpXsj4M!Ei!t8&}sU_OAh9id|OeucPup)K231DQmH4CT&PSp#EW`5r*<< zR-e5)vRzKVzzlqKoOAk&GJalxyFCRhN;BRP88vd{a*{n0tn4e8pSoe39^VUcRawll zb*n1NNxkGdJ<6YRj(%A4+a5XsFnRfg7k+|I=qpMav$mb z5sCW@%IuWvN-AF`#+8&?&8p~tRVI_&zSjc+?KzsV6-UDrG*9I5@JNLY zeA-e_fjvY^#l8dBUz7WF%|%u2k|)$eYr`WLyxB!%=7MD-XyLJDfONBJrK%ald_~iD zg`#>EYCqgAX8gL=HH&S3vb0HjIEk!~{WWIEGO_WQc3H%V9Lo;C43zmwf-RTIC{0yC z%uK8WN_MomIOthVFOO)49C}e&U@Io|K&R6@JzNu&pirgWColAyN_}uBJ-y#DamwVz zT`A7e8bRpsISpfZZ@E*(;Z^*87#M4@M}_i2YqQn7Hstg>5@_{&n&%j$>^st->kus7 z;p$~F+s7ZP`^`nos=7gToqoaDE1zX(nE@oBhJJ=KifHs&!7vqDm???rADLl8D zLqf67h*O&RI1HNm96Sy;8cm|Nc~@_tl20XH{^q9tz5gP!|7~!A?AN1tYIl|Nqj^F1 z=7uj!igt&4%W{`=or0)|1VbZ1>pZo!Zi@|X2y`b2NJl{HVZYox65K_O1P<-95?!^Ddf2#31mBD=+}$;& zjnPj}#Rjuqu!1F^{ic?k)@f%V0&a@f9MWRuBF4Ks$y{5tUsL8U+_An$sM=g|^*h1T zGbM!mE#ikOux7OP0bF;@fSS6+fX&p!aM3W|tVi09Jn_+7xDA zO3GuCq1-r(kqSd;JnJF)?Vp|L@w_xx|>HAjl!+g4gD<}cu%(T_StiHh58pKTi=lw z>%mCM2iks3FmPMSw%_)~lF3&3cO+X!rcHn6Oh=lnu{&+YJ0xeu_C*W9CAm|fQ@exm zlacR8wY<0|!hFBF3m>ljeii9K_EqXt?S=Z4>35{Lq@XJ@5*qD5S42T#jCS)!64a9O zS7gWCaV-0$ZubW1 zuL22s(Zt22?a)mtI=D>*fDDp`YogU@z8=-wW-O2z+Nz0I)fyW8-3^@G{V{g%uclHG zd?Fj0y47yRY?EWlh^Pg+?nYm2{uSX!moTh#_i^2qVPCG7BVk$U7i{0YBcUUX|6dPo z`utBPSKy!h{PW3keOq$KrlxV@%}9>7=I|7;VBNM@5w*^_0x@xB%>;!X3I4tbr_cT* ziGOYz{%5iP=d8olww;B?^YFW(Z6GFsScRnu-#+zWQ>Lq0OlEg*L+1wOi>yvu2!Y9W zq><{M9HJZeAK?-IOQf0Ju|Y({L>z3=XL4+oqd23{5D4=O3KP_*f{d-kup(FTFwilg73_v<1p3;HbF7E}0muVEdd?n~lXH zAj$N_-EU$u5|(DWB6n%|6SgEt`4zZ)cKqLkQ2$Hp^1lSK50fz0K)=q8qwmO=24NeR zmxkzv8>u`?ELM4&cg}mYy}iBBp9Cnx>WRbPeud7rG7=}LZi${NXTGp_hL~m7<(Tyi zPBg7;XkQRtR0QDRKd-GpJfHT(3(^W=Z1hOZ79{Tbr;>ss zcLd;wg6f0XRGygFecf}CK96ACH*O!kBjKjs26SK;EQ0ivVSt9?Eht&l z2AF2?e;!}D+FZ3Wn~8enke^%VR5f0>blM~nIgNhJp42O^|Iy5VgGAU%4M^bg*#f+0B+n!tQ${>Q4g|IwkJ3#eBqVYS@l7IRr zZ+0q}Q83FP+n+qGZ%?T?%x3CV&mGTdP&bcKcZBL3(F^qI|9pt=9WjosZRU-eZ}ZNB zZ|#n@xAL@i0i4Y@%oySG{HT|pTju3oHp{M~m{#Txtvza_KmVA0=+>rgU)WaIQ!$a4 zxm+;GQt?&G#hdxWW+lnyG#Nz07Mf6olid3|EwHrnCm#ByHK~hpbnqlft1o=*Doyzo z%Nl%PKulieihHzjW!Uj-#Q2<6x2pztS0aGMX~HytRlEst`;OH9bc=XwxH*P&jO1l# z5L2zf9e=y-sn>yiJ-2606j(T6@ea>Vd@tGOrsgj8@S(lBM{msG9sz;?2-6#Vy6;pt z|B7PaJJLZ1kC^=l(^}U_*RN%BG_d;#zUfL-6~Fv)yxO4q{qr5EM$}xOnVAHBv3fXe z;+;e|W`I#06D8+gzpDHliN9U&)cf4J3b#CpA(gsAj$9H;l1W2*XPt$NoQb3C*rjXX zXBmQrY=&<2?(Y6^JNsAFIteNXjASroscu$FD1J`YX*5McdsFL5`+cPQRKX=K8KwId zDdI7{>gs=^&&B_uGxf)kJmwQbdo~Y7Yj&T%_a5Ylkfge~_SQPc8mb``Q<%bfLa3S& z!zAp!ML9Iwa}e(F7n}d{c|HGmE9CqCpY81D8~tA&^lKmVcgO~1iMk52Jg)nQQ0y5M zP!l7S65*z#;v;7QDEm)in2fqQ%CvDK68`2$zau3trChay%%V*9&pGcF`$H&GeZQog zW-es+NLW&&t!wnfl)bHzO0ymF{Huf3J)T35MyUyce|DT6|D6u_@7cUB*aFi;s=q3_ z#-BYWYl_DVu??S|DtfY}?aO@iaF=*XlfG$IMv3(zVFCMyjZLEq@g_tlI6;Jh=8agB zyArpipZxB#^FMxI`n%+Uf{=?MJ(r)eKU>Z^tWE@RD9{F~;gkZSwb|-%uF^HrM`u#` z;YX^mO}~=Mj}Y0sQS;9!mxG~QFZh;A^yt(x?^*@1DQrF+ZcYiFgV4~?Dut{`cVm6mQ8)Qsoa%eKfl~mD$fYn26tl(xL!JJX7 z`}Wy!MvR~kb(_dvpz8m@oAW>6ld#7BVd(si6K!jjyUE#%sTx5xReOzceIv|`{7qVl zn09MG3-9OQIU(| zRJmEcp{i8MECQ*toDA~q7}uyJ)H4;!AM+h4XwtJ|ta#+%VaD&h@Ld(0Aa{4GvAB~wYHnMH zen+w=c8Q1T`n|hm4dZs@xEa?gKDb1TMIb+yxv{V*E`i@(E|p{7Y3A>T@$c|e%P&&z zv3&T1=mq>oUd%pg;2kN-F15~sw{oH%A0+9_EQW?c?q05veikQ~s%F}CBmFjd zS2BDT6vpN(c0ltT$&@W!2ka8NG5O2&j`v`J$$HlL`ROfA9AL1aL%+B+;Yyb2Sup=OtQsp))2A_;%J zLuO(DwHhAhh1qREW*u#Z-d%Chm*u~~coiy$7XmcR0_*S3QG5MA?7ekVn_Jf}+P&)n zEiF>KxI>ZPvRj-W4Hlf@g&-vmTy_Pw5(qTtMgk-dC=wvSS}0DSkPsY-yL&0^p_DR z5bE?(a>@eUO2WJ_hPRjgv0Gns-$2_fvi7QhO}?+=G^hDfz#DkL{==#&Q@^sXc`Ajb zbO}^5X{2|^=B?&*F@t zhjSPzFq_0(nK2Sy)3H=V{@yTW^|cvB_V`MO0Jpzg|D^L9rBtWqXSTNd-^giNxe?$h zoux&Gz4aL`cA`p+Mes`sn9qGC z#^!=}35je(itckRIOpDo-(~Mw%D)*~T%*nlsh+C`k4Z$7(G`E|^LT{y^X+Dmh zocwfJ*VJZi5cS-YTHWAU9hnFk8+bAL2zKQvV%xa1d!5!UTu^YpV8jeoiU4{@a;XzSkfYo&Oy4dLFub-s#urE)YNhVw#{`_1U zm2oE87iD{|R$m#F4$P9ilxFH`=r|faO$-Ib);U!4+j2OsDNYZFu2L=m$KDsErH{JpM{gmbaJ_d@RmQ~UMHkTR!7Oup%BZn#Oxyf>(JQBBIUC)i>g zBk(mvs!94$paw8ajVD7ZMo-)!Lbxlw@8?qjJSUZDCkQbM3BH-A;&?%m^m$bp_--!K z#MpyiRh;yx6Dz{QeBO{>u3s$q4osa>qNdvY&wnC`tLh4x^~R#&vRY#na9mneKW8Po z?C`eYygLszDkfhS^C~uQXeDttm60AtO{kJ^%8D5Q!arzOXIF0c&ju%Lq@PY>ab2ZA ztC)^qP35#MJQUNq;G}9X?USdrmTgemlzZa1v2_|{=O!{7Jx;hOxL8z`DWfrYT9Tqs zWhB?XROOF=-E}SG$bPZi@xbVTHGf1&7Y^xkt8NB)-`UWE6r&M4lJ(Q z+WG>T3tOY&Bav*%jdQoGnuKEvGa@iZC(Rp09h*X}!^mFlEeO5>*-cg|87&|9DdHFC z(3Vmu58;$AZz38)MVvJBlkpddZ~YpJEY}wryQ5G(JDo@2gZzD?WViSqUwyyNxW1McsU_K)Z92k^APjwk?n zEV|*@@yfob%tVp5+?1OV_!F#%^2y-cPpW{*=U-P-XmCBd zB?5$AE>uZQCQ>O~m2l?*@X)1Ja!Sk(d6X?HPFyP)%rvm!;5c~@qx zzhBo-bnY!hSo;y=GDfE*KV~JjPAQfX$I}huwn%Mx<$l?lk_-(@w&)cRd5lQfv8NQ# z!K%C@LlaPeVC>oS)R3TEcFd?R4^D1!e{KDbijmj-0Mmwy39X)7*NtLDSTS=TwR7N~ z=3)KvY_EQ>yV07y1WV5;F<2C-=J=SSZ6d$ND|~mLelcM~)~Vwv$`w;i*J;ApN%Joz~|c~8#Z~H6*@ZY5an`m;WNsG#P@v7e-v^YaBh~O4!@&c^U&6Os@H6P5D5Mo%limq@NT`-0^ zk8t8%^u!pNrlJLTc+_-s;Et~h@8RKar;X&~(@2{{w>m>8qlBQKa~6N`i5&Z1|BIph zd%s+qx2?$&G)&cgu0=-icfnJWVN7H!gLFpMw4oFWa$#W#F_h~8p2DL`FxzH~ zN+H-_e$E^}CQdIJ+%utr0q&vx$xGPN7B1J&=n!W)bqXE<{tLA+i``f?DEdHjH~ z<C?2i+9mEmjCi7^O-9o1MA~a;~D%Us4}1r2Al#ojBe2@qc*;42L&UO<>MMbr zd%c~CDZCOXuhK1QCY7VMq8~q9R1&?}Ne5(20}MX1`8m}D5JO^7QJj1)tFInfz>O`?(MDvDgC|5pcslsk z&_$3;NsA+$cFig^sGGW`%p0OlAj<`}cvWDvca0!fk9J2svG%4ATPMy88w}=?&=A#! zBu`Qgr(|sTzZ{p>=LAGFXvxv`*gUbN<|4a=m!69mpJCSML zn~T$31|V9Upi?195My#UOkedL6P5Y~YM5ON2ydKRQ+F>7u6NKP4ciu=+s!Vz)PFZE z)Z5BF@bNB1Qs#+%U%O6nRKOAmbJN8E~$d8)x*%(wX(7b0r)+U@dr zM22)?7U8sDGqkJ7ptgyTq{XPkax)kso?KvLh`~=%K`eWg6=JjBo_p2^8mrPikguxs z=X%@$uqh8t=dF_F_4GkZQjs#Vw!B`hj#RN%v5f%72fcyqJdeDkeN88FF)-buQ8+dX zFO1S#3e0qS4v$~u_jda855|k~?!s9p zVh<;CaoYBDqvbTmL8Wx5I!N!^^0#GBq?>^EmJ&*9yRxVuwCPlIpV&wT5NJF1it4cc zR~kBV?f`WCq0SWG*>#ZwUlTZrJ%X9J_ujSM&%=EC1^vMwru^BSqsZW?w1r_hd|q3d zMo3sHk4Kav_m`2VfrM)gqE4ltHl^BCv`R1f=}-C6sWv0sEb9q_n&9U=kIYoaX zC$e?J23v@#lBv`e-;(v-6l>Tc3B6jC{Nc1nOEROM%ILK>cp0^?mlQ4(r>BPfBtE@C%?DD6zl}PBo^H*IpoTWzSUNYUCBNn%DNiBR9vFY^sVF>h|WfIeVLfgQxvWa;+4_ zRub$ylGGR^*jZ1n-QgDmX6K6}r;OVXYf=1v+EDvH0> zEVA$l+0Ivbz0;B}tGu$j@b0s-z?rs6eXdr3{r4o@n(5OSwV>JAaJAQ=g9F_+|L!w7 zf`@x6f7ogN!iIEh+Ha0NY-{}${r#*U7k>YbkHwqZzve!4R} zJNrPhoQ>f?^X3%G&kq6j+ErZnjvuYwzh_0WnwB}Eu#)s23x4t+>t(xK?xl7wjrr1d zFQMuZnJ)v;W!(M$Xqxdb!KrqqMBi{FG?u*%=PY0okF?2ou-?nwq+Fg z;2SI{iXVvA6&Xb|KEeC6e21fhVA(b4*+7s3|3~)`k>N&H?x#byQc>I&{jq5h$6M=f zyzQ2f6fH%K^`epn+a0poN%uU+g!IfzoYItM{N#wQve>xO1%I=ghZOBr-Gm?uMLL7k zP){B|snK#DfYVF{Hd0S&an6c4~wT-n;6hAu4`4AJ1_{H~}rdR*&Q8f^HU_|86 z>V_H%2y#2Q0%Q4;Z~eZq=T*4hBeygGJ3~}^WNN#?S)N66kZh)z+??h;nOd6C&yQaX zY@PP+PKm_1)Y5zk+&MU?Covfoc!}uw8XF8Xkfe7EUO0mlroaUYU z`(m5o<1&6WcHM*E;U$ZjbxXioDjRtYjQ_~L3Yr&siIIYdOb*<0y{!YzMpG3Qf4-sB6XxY+pUQNS&9@(x<_=AH&JAAl@s`^_?b7!ETPs~UboyoQk6KSDRXDgX`9am9R_{560 zsKnZBEem5Eo%(kqX;fTE&ebYV#%;Vn8LO^z!_DJfx- zm=tR&*B8t-;v75dV>L`*~ zaN6+`wZD|~A2)6*qP2;3>E2H`1uhfWUR?Bxx!w8uiguJPf7643lx60<^nnb;ynw8C*KpB^q4f?0-p6P=rF)WLLqe>!~&S2V6C?r+9WTy`krFK8qXt?E<1T-g{bA zVr~gP%sIXs-*M)#G(>aJoU1s%`8lzD(x8#Am2FtN*U^rveiwQt2w$B!%eXxdhJq=1F% zO-;-y7@`qta%-Ht6iFlKk==-0(8qk!#h4E?c<51@I-s1UFxq^lADgPb>{k#3&2c{V2xRGFDUozmd}lKDFBP;?A#HF!6r*XZgGL~ zBqbUle2J57QW;uA+P*z0COkV>M_PYi@WVkue9KE;xM#D4e7ghd7Yd1ZcQS_vY?@|p zJ751NArZM}w-HkLg`#Syj$NHGxV8al!b&Pz3&i}sV(HV+j8+043#5m=ux&J}hYWf6 zw~<00vF<*!PtvdbedTX7I~G4RW1LfZmfG9G&n9dISe0&=U2TrO{Kcg_F74ye8!pk| z5(_V5!)2_z%nU9wrT;(Yg%TYNhti-yX_oBDcF7^ghr)nR`Uc8MgxmpRA?0JB4KSt4 zlLM};ra^GQXLM_*lZG0o<_mb$V>Qg4N=SHCS@aOyy+RG{2}92;(!vh9%9^gZyZ5C$ zm|uibH!}%}+_yOjTn@I}MCb0gnqz0d)lu&gsk<{-fmny${uiXOrW(ogiC$^uuD~jf z1vNZ^u~xjp>LvVwZ#&Matnfeco?93Pm7JVx;LX$)n0Sa-uRx zya;Z4=lMN&;oRe>Yj%Bl7$D+~G}cIDn!(fPHPkH#06OIZ@IVHe)Z|Ib8!1;E&W&t0 zZ}p~WC18vEW=)a2dc#~GO9_B1)_ntk)mMA|v|98l1uUxi<1AGED^ErukE!eXeB+`x zB$|ioNnw-I!+S%nTv8N3*Eg3{pH)$8`KW`*+PdEp)9RA$f5^?_rdpG~s9K~Otb=GC zS81KGNt>!tI>DOg?)8CtedsC%rrkd^G|TCFT=-W(7a3){#$nT|EdH@;s*0*Mh{PC_{;5L+xPFZ zdois$sp_e#K0N#d3k?1hoO1u#6ks|7GrG>%toeNMMjb#a>xoaml9;ZSL(LR$*G4nd zjMCQdx9G2MnHlk_W;TMnj*_UYMPN}7U$y@BWL4ll0m8HEk$axbjjiV40;-gj90$fhM9PO-2~UE@f4Im^iiNV&420Vp z^A?)vjph_#BvYJq$XUiJOgQKKcj}d}QXl6kIDqMnjd}dSZf076c47RW&H&eQM7Oo| ztq%y`u&49EY(-T#mtCZ=U6pCK@eFs)gs-W1aF0B}+-krX{}T_xH_-g5ZSX%g953Ah zivBEFZbpt*bUCXG!T$cWcpRPxI;Z(DzBzLUbgRG%H|*v8x63Mp>wld0ZvDQ(Qt*T8 z5I51XmNsk)HTPds4VA>%ehAm5Ts=#l`X#4%pt%mI3m+E2G%r+b_eB11acg<wmJyKFE$OpSq}PuEm_eds_sV zSFa?Fz+W-LQeFgd+>ko{5xA38Ii8m<=hKd;KG z$ggzo{;K@vaOhb}C;zYLa}U4mA1EAnGR^w*#f=6i_0Sx+Vg{T1EgCkcAYGL|-N!d{X`4zh3BrFJ9CxCLHjn#I9D7c;?NEFrXk>yd$$f=4o`dV%`XCRYdk)UJj-*vp7 z{`a6qxv$=4iU)*8`Dr_KWb2~32j)$wriW(^?Z{QOWiq~e)?u9o9W398lgjsc{oVKR z|K{M++=Pv zw@%f8a6jYXc~w^^lSlV$*wPEUuN0lkZK=Qd1%0v_sSK>ceSEwhVyf;)yCHsxF1Y!m zQw$cVBn@0O#@+4)>P5NK(SiVTAB-luElbkQ3w%qLJSOPnwlc`)OS%jj_K))U_$cO16Xqq92Qh|+tE{PFurLY5@o_jLzva6Vfc zLbL6ahqGo;&p!s`Q2J*t4!DW`bVKHKJSg0G$b{0&hxDZAz+z+|B~8az!;;&ngXvBM zvpJnCadxhu{5i06KJ*^qgEw5t=K5v|g0|xGWJ8Va@XWpwYrm=i@>kSkY(gV^F$+(C3n&d95&yS6i z6lLlGv73$yDP-VZyhyc;=z2cht@xc#v*|d)1#RJN1r4EZz zX;w$T58z9Z0oHB%mLI~du2ebB^Dg=g^{=^@)T*ovHau^T-mhC*_G)+BqC^T@y3z`}2)eWvxbM>mfZAd?O($l!3XeQhr%PbaN3-y!RB5m-aES zO~5F{rA2^ZmcUwwUA^Dsk@ljFJ~i9S4xVrJJ%Uh}3{?{V3cuD^b@EFSmo<)8^DCMe zB{x-iPu~tmZ5jko4p1JZf)7bv4uhsnVo##>y!DpVcaWE9;&Dc@@F0tK%9aRXW( zlO}Va5jb-n$@K=t<=lm{>nP7H<0KtdhdB$zes;@7{l zfX)yNje0a;+AUB=R4~nJiro7#=J(2Z2DD!w?X30>slS|5?)7J0;3YKNaQ zyO!^2_{X2vnC#YU_@ zMpjh+LRLWS{1psDb_B%vyqUkuJQ(M?p3V{NHcBs51+@yR0&bz+vkt|kHN6;>$#xRp z)z?ke>(}kDh)eDUayhB%D8vH{k1}d7$Bm+=P_Bcq!6lrr1W9vZ5v`PSO;U!=%4TBK zx!$6NGJI0xlIVT2X4gut7h+W7U9=lt&~EUxIS+bmWpP$8${y&|0*qF!fjzpNIB zz!o>%Q>Jrgcf$nuw{Gvd{x!x*)()0>)M3%dF!MW(vHDs< zPh(yS3GbN2?l6+g1~fF=0zLG=`Np=~ZY+*%#}_%V<|~{~>%@oMCZ{I|c>pVvqz*RT zY9mny5lX+LHM;R`?$vZr$v;=R#m$GNBo?O7>2Zh?OSFQygdtJ93Ti6ta zR$lSdYb`yGPDqdpp6VhWhItXmG3Mq}EFK~F((KO(`e3mV*8_brgEzAdLw(|`O6bn! z-;P7bci<{0!TiYh=~9noFk{0>PyYKuJ3$qIK&_5d4U@@vPa#Jq$lH>4rPE7(rIaTr ztD_va82|=%<)E+EIocQfD1fKQz_#?os@rv&ji4tHa|On)N6Nl?u*^AOo1|3*sr;C& zBTXxw;QBT3-ZLPlUx`EIvd`xbh1MIl~mS;)6jZJ&WB; zF}=Cq$>%UVN7_p6Awhik!UcQ#I+H47Jg`!nsb(qj{@*z~uZdPY8DRr5$UlY~jEsL@ zQC{i~)r(Z3D$zsp=1x2sg`mk?t#Vjae~r;u#6+r$nNxNkkV38&3XPw zlMVJVq73C0YNu64v}qB_}c*J;agqj1s#dXC@Ei7B`BHPwD_n-y4^Q>x=p1%xGqCZl2I=N?@`9&guKK)q5__?J(B#_Mh~lW)0Sep4wYiO1?%djP5PS&IKd(v4aTX~}(s@g|6Z?M8(?ecs zh1J0L2YQNC^-)JM`t!15bNo=U9hVUGMfAuG|;Im+}(mm!s;SQGp&c`Fh5bZ-0Vs;w?rw)<%sXbvqxQ#FKO>Ap>}~C z(w}AxOWC{x;yyStZg~Iz_0;8G{>dMa?B&6zf^K(xN}V%$h?iK1n^+3zNSKEE(R|(VZ%|k<$yAZ#7Dk9#?`F{T6m=c zh?dlf2lgw)g6hw$d$OL#+|J1iyh%%10vUCkazCHZ)@Ie|CYWk!;}-|kaW37{i)}NH z1l?@^tX7v?Ga1{LpRC#Yak>{2iP-QYmrkh~FmQ~s(C^;;d#JzCvxq9k)Hrp}d0d%P zfwQIRZc?Tb9!=aktL@fVae}O_Y9p=kDkbuKjVAMuUC4#Wk-y)GOxbzjUpd8K@ZMF= zL7zfmZLA~g86AHHO+3m?wLf5_oiseHa^7c5hZ)iL=&Sg4(>#*?mXlgPWYk5liLY7^ zhIb_Qa=%&#(pdB?+Ed_J<}2AU++;>`P@;hc!G&XIy;Pq=unh_nAfyAF8M`G?6A;?20{48%(vun1c!|IvTKt;qqsm2N{1Prq64g z92TJqz6ZxVrbWQWI|jB3l8JQ2k8!)yFjTdvX$rNJ#)o$Z-VS5*eS9x=d7*wCV@N@< zb_^}T`V;!0cv!IlS)bbQdOOzRx(wQB zH?Cm0*ztT%V}ayUMAh!YRI4GUCG&KgUj;4hfxn0yjn6hCN}LVN=p_T4O-;--o0GJ_2nyN?=S6H=d_6wg`D#1 z3~i)>Md02jh3SHMkHKM^r2?;n&m&D>15m;m-^v-^h$$gwm8I>d84U8dXA3j`qE}V&Ddd>xU5PjZ`O5DZsH>I3rXvOp?tm>w;7}#6Y@wl4 zOos31rp)!2Dg5qwX~@zvFZ-=>FOLeH(lEm~R~INGZEZ<^izQ=eMSa6{AZkI<;PxbF zL!_;sKH;mM6G}K?xh<%gMNGJN2PsYhraq#@|1pO@q=8H;B8suUo9+E11rt_i4_#PCz zC>n9SSwJF4QSaDGZUHmGm+F6f?cu)LbI!$k?6-<93;Z(Vj z-p%D;`Y{}%yO3aA0cLFcb?s1A*${T9eA}Vy@chOjkK83o<<^vrVlKH+>3bGV$6*rq zsyderQh|ok{S!&a@hEmw%|UyG)6Kpi=K!o4TB-t3DSge)N`qHV|C;`N+w>8!osP<{ zqZF_%c0Ie_hOJ_W>prd@a$J+ezlzt_^`e^y(VRQPL%Db;6WL&!119ocDI#?#-w66rCxXy1hdD=dy|t z>^lSSpRA$k?)<}u!w&^GrsnIu(lqqKk1H9UgV>lsnW`SOsqhDpL#fF$H1|TS%6)Q{ zFJ4n9_6}WCDdsyyzgIi*d*)^74IZZ}sBGKu2u#@M^MBf2!o&l(%8E!)NeKv%ADwdJ z7N4W6%)uBBnPoS;_L3bLBBn}20HS*?;za1tm{ae@QuAoFTzMxc|Maz=Qo`KUkx;&72w&CqwvI#zXw&cr2#~+3sc&3ZKxA7V zA#^r8(52A_`}<1R^B)O%skgN1N(F6ou1Wk8(g zW!0ts9GZV$MA5Ly0uz;eg}v2x^L4SPV5TgXg4WceCIamk!q-&+J3b zaw=}%-9zp0C*fbVWt5SdPkL%=L*Idcy%o6W@BJ&#zPm3?hN{jJhFN(P_&5S8(fT8G z`~^4`%6h4e*+n}P+P)%QRV9EGwg_D zhr|IwYzsbM10j&)-0v#_XgR~(d4|}HVu_8Buk~qUMz&|zDwYn?wLs`@X5b6q)ndW5 zP-^SHh*>5aP!62GwF`4eH}{%7%I&%CDV-3kDS5guuf$%rYw*;~ON>Ff+VrA3^pC^@f)t+$Jjc1ncA&xqohfDN_3BKmA zR0aT@Ic>O*34130$Mp_<+2%t*zh}s<;Q1~3aaY!R^z}<`;!rlf7+R{9Fm><9=aUIP z#s$}+Cxq*6wn?TaB0qQhh|Q=6w!O_p*99O48%DG|S(dgRPX*a3H5)pPPW~b!(|I8%eeqA7$DjqrdSc9b@P< zu5bX+miW23tv>Xf$(hJD_lD?oUwG9~flW(XPgeTW3V=qdVHCY)==y9ygPvRsr zi?|2GY4TKM)EYM+%06C&x_FQFTmh4f8TE~9+g!$_uQ7=^*+hRP?PQA%Xeq)- z)XSmvSkAa)=Z`|DC)cwb5q%M1aXenA3){=gYd3 z&;Q=YLS;Lz>ELLQ8)3bfJLlP*0ROhWZeN&5g;Em4^pM926QDh}8hhR^B7y4?QqnIP z+EH513YRQjIv$cMwQ{5@bkB{wmnQYQ ziI9CU=h!HjH70Wb=)~t0?hSvq!BuA`ZZ+vAEVw+cmN)~Fe&1=?q_n?{?Uo_L@YR#K zrZPGFB4tX*`kfU$FL2MhO6GhlJCFc;(6Zpq$;jg|5_#&=R|tl%{%Y6dGcLY8>v8p1 zf~%28=ABY{rqrP!@(O9bGfbg-VP5QMl!YPv`w}dFxz}AQtch+tgXr~MmE})X2(16r z6e&)Z8or+r3L?L+q*?8sLA38hlFln?zd~YcnU== zA?X1L?$)J9V;5f-J^UqQ5%&p;;}U-|qvqrocMDtX{pvkOtAw_hysfBxMENbJyhd$q zz2MmdOuO-{+oG7v zbuuXKBXU9V3V|mk(G%fypH-qeG`D-1=XPDtjqPa9yT%Y(Pl{h z$q`Dr?)#bYY_(`}QEsgtuZ;X#I#@hrB``ZoPu0Xf9^~kq-}93HT8A0i;7B)Vv z@ARoHOo;IiuT58yPfy^r%D}k}uPv66hliD$-!`Zg0#lAV%omAC$|GX?u1EKpT04e% z>$kqcF_dNbZk%6x^~Wt9gv&U=DO6PR#_^qQh%jqifrK5!jR68=`_uWUJI8I$JtOaL zk+ePScUHJ?)-05-V|i|F5cUq;tgOV1RT~5II|uOQ<~QXbakPoweUP6w_53YI$yv?$ z$;V^GZE2uvT$AYf34BJD)}1*9_#^I)unhMbTTqUYZU)+GV(DIk1#X}^V}{pB1SbWA z407r;arifxYO)IZLFNTie5(?uZ%YlSrv@ZxZ$U`$Nl zRDx^ni1M*17|w26xW8--V!*mdTBK^A&~B2Ty@rmiEt7bASI@@tJ+793TBV^EB)Lg~ z@7XZvmoaCiy_bU6a902Je5uB^JNWq;1Yx*yG6W!&ZQ3PTW={;xZDg&r0#m(nx5z z-4_q5+5l%-7$jeCXLrTp?`d!Ndii>};Wn%g3U?wkMgW_TkDGc>=eV`kbYFJGYzo)Z8z7W0>Bvh^1WPQT+=tMhR=zYGRb1WFlk zN^8hu&+uV;w~i()iT$Hn4_J$LV!v(%>sEfv1mVb`!B4A3%FYU;$mlR8Sa+JC7SdMj z__h!aBkUhSQq-G?M3knmM^YUn1G=&2c1mrnkWb3+Obj~Ake$)oOA0$2&t!-Cd3fK= zc0ZSa6?h4MYRm?F^iy@5TnF!_5-a=?mmFbVlXx?X25q*cV5f%&9oXCnG_x+yjk4o{}{~DXCm+if%F4)G-wg}N!o)yP?g|vwmnaM4 zWQJJmP`R4=(Dnt{ZH`Hu!jtgN2A1KBwJNhy-_X%2HA~wL=hx`HHcp!S!{BK*1}@IS z|Gq*UzLXbuj%sQ*Q|vbldoV*})bQFIH)w3wZ^X&A_5SmEbzG?}iB>`S`exV%h_($x z!JU#HJG95c_QFRR(v|dzXa%Mp6KL!}=;d9jn|{`1DNOj-zqjle0}(!~c_7DXM8K`I z8+#VcL0zUR>W#{SjI37O7Kxuc-TL+h_`H9?ABGqBcM#^pZs>Oor_uX;jH{!sNiGu+ z5ME(T=R|dUJNUTcQBbq@Pkj{9QeWUUfG5m1&(-3QBLIn@?sZ05d`IMI__ex}&3y#MRpJ=C?y*sv|}Mx0lLXxiAK; zKgGL}c&&_cxq_U8UroJI?G=|Nn$z(ZWvU?7n99P@xz=atWN5Oe?~pMGXSestD#-vW zT6emZ_g=8UUWz3IP~@X4>Go|~Hkq-!Zpg!q-oC+AWWN1^g^o!qXn)Dj(4FL8P)dK5~+ z!jfiX+AS}ceBfI#C9q;%00#AcCvSsOvd4zgZ^~oKb4fCy9UewxqdqLA3 z3KyNESbmBBa@|v@*`qO6>{r-Hnk2pbeZ^B|o4x64h7>|>U>z3`*En*DvE5PuC8yaEXb9@vtW1^SLE^O zjDN3e*~CNmuG}aK+XB*YvKqYEC(+PZ1vs7XT4N9&w{P@qh)US-Mb_`ZZ8aSGQmwS7?nM4ZRg=$J^%rZ z%Txw8u<_s)*5f_ZPW+PQkE%xgI*;H=gZ0QB3B?I?B4x&uSErY;Y%$4nKu+;ee~2{! z_eq5h>O3vOEM`0lGw}zSSfXr&B=tLG{w_a4hley?G|A15WIhl381iXfbmm>fl6TK; zf8F`%9k6TIJ6z@1xLB;;A=Am5F90h`U9h(s|891sgTs3>Ii(Xkm31)7h|+6Yd|ja9 zd*r8|W)iFhZ#j(yDLS>aIhc1LUUF^{W`$d4CWm`oy~CtjW|Tx3`7kr_B$4`NHGZ=x z{`VCb%Tf{V^oC%rjqfsdEncHss%xFz&|2sjJi|cwPjx4X?-M*Rmi^83yF`hg7eD4j z-3GgewYDIhn*af?6+F@E!`Epr!E`a*<)Rp8NZle%z6fOKIaI;L)IMB#df4~-$~Yv- z?u5aatm|_1OOyMq*_d-vRrzP*uK^Wv6^>vMRKWsSIY)%|N^8~Cev;F6Q{4;zCLVi= zunNlhnRBP@Ris&u>xt=wW{V8Pk-raRUCS(BWUbKk-qJO3xe3XvKIh??x%X>-S7mOP z;m8VPm(tC>oxY!5>%+Xxx5QadZS<2vK`*?&h3luxcLb7EFI;_VD<0T)!oJgKwr+K$!SYFJrGeVBUSUCB<5y?b+Of4UZ$j0k7J7j)CG z*Koe=0yjA#x>d_WI8F3eMl6_(Rt~zG=Dz)+uhYSm>9d>-AL`H^id(L2QDOQ48G7#D zO~|pBMz)@mYE}Q6JOxEv81mk_7zR=fL2yLbHU}Xu{-L=pcOD!d?6xB9EODIiBfJMx>D{7?ErnS3&I#H&q6Ys=6=JQeQGKTzcH(EPvJJF{>$ur>he-cnUXHB^^aYB!cp zE$Ix3Xz;ff2BB4IiKQ4NMW@UZu{I$z)=`Ndl1`OGQq{i%S&E9S5oxOwNl>A!+SeuQ_0SY6lLuWxTqK~^=f@`lg7TXmbi zh_9rf2faFDvq7l5XynDVd0XmIg~KO9(&QK{J$4)M{fEpwFZ-BdXCK78aP1Jk>0ub^ zOo8MDU66s zj*d~KT%t4i=jj&liB8m?M{iEI&zQ8>nJ0x#THQIaemGFY#(xHTtLtsh_>{RlY==w> z=5~0)cE7yu2QI&WU4QYtkwcu5bx1#LaRtq-M9&fTjnc&lH#^4UQsgs`s4 zO2Pt59gZW{KoZ{t=V<%U+Pt{kpGd1xHF{r_@zJD`;Wp39pUUJe_O@2#4Ze&2jrRaH z$if%r(ARFBr5RBVx#YPyE$+|$jn%QNR_>cxbfn8bmr#v4Q6Hf>F7TJD+KrD{g=Q2t z=raX|#@--eiEKz`q4!Fe3=n<$pG*ILM3&nV4ln;H8lF4j6XHsGo^0E-5DWJ*ADA$7 zY)$`g?mz|{f~QFYvDC>%=Gw9RJ1KSbJGmaNMeuG)u0 zrPbG=8s|h|lj=Kqr^Ib`Y_@UL+a2<_o6?g8u@EmQcN|<^ehZ8T zz5j1`R_}#GU_*8G()?x=_Hi?^{5KlUT7&04qdgPaiS`kSrYKf7M;+(cAQl<~(kv5w zl{rJlCU}F1EyoY?XyCIyFBTFgF^UKfW*DBhq&W!fF!c}B@R-wR$-`{Uc`O1#06mA; zwWfy^PX`mUzjO~uFMVk3Poc_Y&E6Y&GciIAsC9K;nrZ5M_0;oD7D4v$uix;4aYo6gE$Y(KRwE*wv|5awz{N$xSt2mjQk`j{b`cs?G z^)aO{0F7elzvRY<%@$nxpDWV;Eb|~+C%B&U!JM%^LrO+AhGBI8K~dZxI|c%^m<0HV z4MauXWx}v6Zi7s#D@jeYExHJJc)hwg^is0y>F7M#c8oD6h zack;>1dQygx&|DsO?d6uWOZTCaJrfnx!~%(%Df3#K4KcXs|%`X zT5jb7dxmoTK?g3+7x+GBUUR&1PjbRqZy~rQAKyKD%hOSr=IZHVGGGSLC+~x(Urb_u zl2nYeSj=!%={d~nkj5qJMnbhOQU#${UNNe^`jG~GHx^iMDM)Va6GK9OIrMVcltH2Q zJX}lCwXkcz;k|Z6c?CP@J|6&NnbtJ(09Z8Oq#APtG8i5(H-%QEarg$0hMei3Mj`x& zz$miOA*OB|i9RAp0jfVdyCFY!uGs(ey6OSI?o(d|VqWpq+zctlbsyY%imiQoy^!&x z=}nB`TcW$e$KI6~nY;zkIijERGP}8E8jyl{RZ6B@CSCq8PY}7lh(pO@SIV7US z+o%P!Lu6%hf#$DuHQdi-vLFtr9!-!H4KFB$i6*G+WLXjv#ijMWr6qs_=|3Go&-z6^j=g_Cm9 zTF9*#q|S-j9$>dyldZo?BdJvm(X7AEp~qDFDpsj*3Bw+}O{*dXuW2-W#z zMD?v!ukrl;@1s_|UjwJ;{yq(87yVcFG!Oe|MI+5-tTHQ>ti}VNFPf4HCMPwdjTYar z#olMPtjgz}6ws<4X20SyyNyi86Spy{_I4W-n=9{$lqqlEFDMC+JDnee1 zc8$IxrnmQ)sCw_yO3@ItRY4ZJ@E>o4t-;t58#4>P=>gqZYG5eX^D#nso@1AHNG+Xs ze7g%DWD%YYV;7A=DoQ8M>cb;K3z$=hdm50>h&+y&&|dBhj*xMFvU{k1G~noyeESfF zna@9);Qu1}v7N)CI&t$#fx9fDEufEs?xEQ6xu_FJJV$4}tJ#4c!i{*xYW^~nIW8c$ z;hC%G&`SSPZ7JZ}GTWwaXn9xV>CFy|7w#2!LJl6gu>NL9w9xJ_NlksBN#Ik9MA_!-c`hSPQ0sw#`YuR-) z!uD#(Mb$L-fxY%&_EFXH)y??5c88qp4yFrT4i=SY;n4nBInU3}Au>CKo40KYNVlh^ z8%MVvn!^T9KDyl6XdG{NJn0(e(h#qeuM=ZCi$#0`6tumF#wjKkV9uU8 zeE*bYobBXh9bt@H^410oTvxdR?z@=*8 zafM&EP2|8}yLcuY5AMhd`;Q{YUAc@z9WdU=af6^1nQz}sI10vNiDj8H%l8a02(P54 z{mUqcq7q8s`oH2aS742lrBVS1iXdb}+HyEkM56lny2?c{40DTlxFJXBa8dBG{_b-} znk?lE(7Q8dyS}`OL)b-Ljz)`-V@oOE%03rF<4`EGZJK-y+|WRdpw&wh70n!23O=7x zWn^|dXE>wemvhu?u3}EI;_}ZLHN|P4alX(LxbOn@;f^+ib-^11u&fN7J^=;-<4y{9 z%*x0d3k^Dt_{^=$(_np*H|%g%Y}C48pV}^5&J`67JtNf!f536-!P&IC$IYP2oL@eq zeUP#FMobh#rbfTLv(4<7Cvsn=N>+X9N7SL$N%x|(#62vVA#wybfVtK{WYek?6|E1h zC}eUgq%UQju-v~Tr|lB;LQ y4iRyn)3RCr%HI6lM`kPD7J)4STLiWUY!TQZuti{tz!rfm0$T+BzX_cC%KIGz2|wuo literal 0 HcmV?d00001 diff --git a/examples/vertical-fl/_static/vfl-accuracy.png b/examples/vertical-fl/_static/vfl-accuracy.png new file mode 100644 index 0000000000000000000000000000000000000000..c436b6db0825642cff0bcb6e283eb0e6f393f49d GIT binary patch literal 33948 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 z%0D)yjQRm3bIhcs4gh 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ʱC|M5of{ug&i#))4VASq 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