summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md3
-rw-r--r--RELEASES.md33
-rw-r--r--docs/cache_nbrun2
-rw-r--r--docs/source/all.rst5
-rw-r--r--docs/source/auto_examples/auto_examples_jupyter.zipbin99990 -> 119618 bytes
-rw-r--r--docs/source/auto_examples/auto_examples_python.zipbin68178 -> 79365 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_001.pngbin0 -> 21372 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_002.pngbin0 -> 22051 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_005.pngbin0 -> 17080 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_007.pngbin0 -> 19405 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_009.pngbin0 -> 20630 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_010.pngbin0 -> 19232 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_003.pngbin108756 -> 41624 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_005.pngbin108687 -> 108756 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_006.pngbin105696 -> 105765 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_003.pngbin0 -> 14405 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_004.pngbin0 -> 33271 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_006.pngbin0 -> 70940 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_free_support_barycenter_001.pngbin0 -> 31553 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_stochastic_004.pngbin0 -> 10450 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_stochastic_005.pngbin0 -> 10677 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_stochastic_006.pngbin0 -> 9131 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_stochastic_007.pngbin0 -> 9563 bytes
-rw-r--r--docs/source/auto_examples/images/sphx_glr_plot_stochastic_008.pngbin0 -> 9131 bytes
-rw-r--r--docs/source/auto_examples/images/thumb/sphx_glr_plot_OT_1D_smooth_thumb.pngbin0 -> 14983 bytes
-rw-r--r--docs/source/auto_examples/images/thumb/sphx_glr_plot_free_support_barycenter_thumb.pngbin0 -> 19601 bytes
-rw-r--r--docs/source/auto_examples/images/thumb/sphx_glr_plot_stochastic_thumb.pngbin0 -> 17541 bytes
-rw-r--r--docs/source/auto_examples/index.rst76
-rw-r--r--docs/source/auto_examples/plot_OT_1D_smooth.ipynb144
-rw-r--r--docs/source/auto_examples/plot_OT_1D_smooth.py110
-rw-r--r--docs/source/auto_examples/plot_OT_1D_smooth.rst242
-rw-r--r--docs/source/auto_examples/plot_barycenter_1D.ipynb74
-rw-r--r--docs/source/auto_examples/plot_barycenter_1D.py8
-rw-r--r--docs/source/auto_examples/plot_barycenter_1D.rst116
-rw-r--r--docs/source/auto_examples/plot_free_support_barycenter.ipynb108
-rw-r--r--docs/source/auto_examples/plot_free_support_barycenter.py69
-rw-r--r--docs/source/auto_examples/plot_free_support_barycenter.rst140
-rw-r--r--docs/source/auto_examples/plot_stochastic.ipynb331
-rw-r--r--docs/source/auto_examples/plot_stochastic.py207
-rw-r--r--docs/source/auto_examples/plot_stochastic.rst475
-rw-r--r--docs/source/readme.rst19
-rw-r--r--examples/plot_barycenter_1D.py8
-rw-r--r--notebooks/plot_OT_1D_smooth.ipynb302
-rw-r--r--notebooks/plot_barycenter_1D.ipynb190
-rw-r--r--notebooks/plot_free_support_barycenter.ipynb169
-rw-r--r--notebooks/plot_stochastic.ipynb610
-rw-r--r--ot/__init__.py2
47 files changed, 3312 insertions, 131 deletions
diff --git a/README.md b/README.md
index 5f37ad6..e56ae40 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,7 @@
[![Anaconda Cloud](https://anaconda.org/conda-forge/pot/badges/version.svg)](https://anaconda.org/conda-forge/pot)
[![Build Status](https://travis-ci.org/rflamary/POT.svg?branch=master)](https://travis-ci.org/rflamary/POT)
[![Documentation Status](https://readthedocs.org/projects/pot/badge/?version=latest)](http://pot.readthedocs.io/en/latest/?badge=latest)
+[![Downloads](https://pepy.tech/badge/pot)](https://pepy.tech/project/pot)
[![Anaconda downloads](https://anaconda.org/conda-forge/pot/badges/downloads.svg)](https://anaconda.org/conda-forge/pot)
[![License](https://anaconda.org/conda-forge/pot/badges/license.svg)](https://github.com/rflamary/POT/blob/master/LICENSE)
@@ -79,7 +80,7 @@ Note that for easier access the module is name ot instead of pot.
Some sub-modules require additional dependences which are discussed below
-* **ot.dr** (Wasserstein dimensionality rediuction) depends on autograd and pymanopt that can be installed with:
+* **ot.dr** (Wasserstein dimensionality reduction) depends on autograd and pymanopt that can be installed with:
```
pip install pymanopt autograd
```
diff --git a/RELEASES.md b/RELEASES.md
index 58712c8..05c2edb 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1,5 +1,38 @@
# POT Releases
+
+## 0.5.0b
+*Sep 2018*
+
+*This is a beta release and is still a work in progress*
+
+#### TODO
+
+[] Remove deprecated OTDA Classes (PR #48)
+[] Speedup Sinkhorn with einsum + bench (PR #58)
+[] Stochastic ot (PR #62)
+
+#### Features
+
+* Add non regularized Gromov-Wasserstein solver (PR #41)
+* Linear OT mapping between empirical distributions and 90\% test coverage (PR #42)
+* Add log parameter in class EMDTransport and SinkhornLpL1Transport (PR #44)
+* Add Marddown format for Pipy (PR #45)
+* Test for Python 3.5 and 3.6 on Travis (PR #46)
+* Non regularized Wasserstein barycenter with scipy linear solver and/or cvxopt (PR #47)
+* Rename dataset functions to be more sklearn compliant (PR #49)
+* Smooth and sparse Optimal transport implementation with entropic and quadratic regularization (PR #50)
+* Stochastic OT in the dual and semi-dual (PR #52 and PR #62)
+* Free support barycenters (PR #56)
+* Speed-up Sinkhorn function (PR #57 and PR #58)
+
+#### Closed issues
+
+* Issue #35 : remove import plot from ot/__init__.py (See PR #41)
+* Issue #43 : Unusable parameter log for EMDTransport (See PR #44)
+* Issue #55 : UnicodeDecodeError: 'ascii' while installing with pip
+
+
## 0.4 Community edition
*15 Sep 2017*
diff --git a/docs/cache_nbrun b/docs/cache_nbrun
index 318bcf4..0745a21 100644
--- a/docs/cache_nbrun
+++ b/docs/cache_nbrun
@@ -1 +1 @@
-{"plot_otda_mapping_colors_images.ipynb": "4f0587a00a3c082799a75a0ed36e9ce1", "plot_optim_OTreg.ipynb": "481801bb0d133ef350a65179cf8f739a", "plot_otda_color_images.ipynb": "d047d635f4987c81072383241590e21f", "plot_WDA.ipynb": "27f8de4c6d7db46497076523673eedfb", "plot_otda_linear_mapping.ipynb": "a472c767abe82020e0a58125a528785c", "plot_OT_L1_vs_L2.ipynb": "5d565b8aaf03be4309eba731127851dc", "plot_barycenter_1D.ipynb": "6063193f9ac87517acced2625edb9a54", "plot_otda_classes.ipynb": "39087b6e98217851575f2271c22853a4", "plot_otda_d2.ipynb": "e6feae588103f2a8fab942e5f4eff483", "plot_otda_mapping.ipynb": "2f1ebbdc0f855d9e2b7adf9edec24d25", "plot_gromov.ipynb": "24f2aea489714d34779521f46d5e2c47", "plot_compute_emd.ipynb": "f5cd71cad882ec157dc8222721e9820c", "plot_OT_1D.ipynb": "b5348bdc561c07ec168a1622e5af4b93", "plot_gromov_barycenter.ipynb": "953e5047b886ec69ec621ec52f5e21d1", "plot_otda_semi_supervised.ipynb": "f6dfb02ba2bbd939408ffcd22a3b007c", "plot_OT_2D_samples.ipynb": "07dbc14859fa019a966caa79fa0825bd", "plot_barycenter_lp_vs_entropic.ipynb": "51833e8c76aaedeba9599ac7a30eb357"} \ No newline at end of file
+{"plot_otda_mapping_colors_images.ipynb": "4f0587a00a3c082799a75a0ed36e9ce1", "plot_optim_OTreg.ipynb": "481801bb0d133ef350a65179cf8f739a", "plot_otda_color_images.ipynb": "d047d635f4987c81072383241590e21f", "plot_stochastic.ipynb": "e2c520150378ae4635f74509f687fa01", "plot_WDA.ipynb": "27f8de4c6d7db46497076523673eedfb", "plot_otda_linear_mapping.ipynb": "a472c767abe82020e0a58125a528785c", "plot_OT_1D_smooth.ipynb": "3a059103652225a0c78ea53895cf79e5", "plot_OT_L1_vs_L2.ipynb": "5d565b8aaf03be4309eba731127851dc", "plot_barycenter_1D.ipynb": "5f6fb8aebd8e2e91ebc77c923cb112b3", "plot_otda_classes.ipynb": "39087b6e98217851575f2271c22853a4", "plot_otda_d2.ipynb": "e6feae588103f2a8fab942e5f4eff483", "plot_otda_mapping.ipynb": "2f1ebbdc0f855d9e2b7adf9edec24d25", "plot_gromov.ipynb": "24f2aea489714d34779521f46d5e2c47", "plot_compute_emd.ipynb": "f5cd71cad882ec157dc8222721e9820c", "plot_OT_1D.ipynb": "b5348bdc561c07ec168a1622e5af4b93", "plot_gromov_barycenter.ipynb": "953e5047b886ec69ec621ec52f5e21d1", "plot_free_support_barycenter.ipynb": "246dd2feff4b233a4f1a553c5a202fdc", "plot_otda_semi_supervised.ipynb": "f6dfb02ba2bbd939408ffcd22a3b007c", "plot_OT_2D_samples.ipynb": "07dbc14859fa019a966caa79fa0825bd", "plot_barycenter_lp_vs_entropic.ipynb": "51833e8c76aaedeba9599ac7a30eb357"} \ No newline at end of file
diff --git a/docs/source/all.rst b/docs/source/all.rst
index 9459023..94da2ed 100644
--- a/docs/source/all.rst
+++ b/docs/source/all.rst
@@ -19,11 +19,6 @@ ot.bregman
.. automodule:: ot.bregman
:members:
-
-ot.smooth
------
-.. automodule:: ot.smooth
- :members:
ot.smooth
-----
diff --git a/docs/source/auto_examples/auto_examples_jupyter.zip b/docs/source/auto_examples/auto_examples_jupyter.zip
index 8102274..c6a7e90 100644
--- a/docs/source/auto_examples/auto_examples_jupyter.zip
+++ b/docs/source/auto_examples/auto_examples_jupyter.zip
Binary files differ
diff --git a/docs/source/auto_examples/auto_examples_python.zip b/docs/source/auto_examples/auto_examples_python.zip
index d685070..28ff08e 100644
--- a/docs/source/auto_examples/auto_examples_python.zip
+++ b/docs/source/auto_examples/auto_examples_python.zip
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_001.png b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_001.png
new file mode 100644
index 0000000..6e74d89
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_001.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_002.png b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_002.png
new file mode 100644
index 0000000..0407e44
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_002.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_005.png b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_005.png
new file mode 100644
index 0000000..4421bc7
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_005.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_007.png b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_007.png
new file mode 100644
index 0000000..52638e3
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_007.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_009.png b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_009.png
new file mode 100644
index 0000000..c5078cf
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_009.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_010.png b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_010.png
new file mode 100644
index 0000000..58e87b6
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_OT_1D_smooth_010.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_003.png b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_003.png
index 81cee52..d8db85e 100644
--- a/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_003.png
+++ b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_003.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_005.png b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_005.png
index eac9230..81cee52 100644
--- a/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_005.png
+++ b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_005.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_006.png b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_006.png
index 2e29ff9..bfa0873 100644
--- a/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_006.png
+++ b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_1D_006.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_003.png b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_003.png
new file mode 100644
index 0000000..eb04b1a
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_003.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_004.png b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_004.png
new file mode 100644
index 0000000..a9f44ba
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_004.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_006.png b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_006.png
new file mode 100644
index 0000000..e53928e
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_barycenter_lp_vs_entropic_006.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_free_support_barycenter_001.png b/docs/source/auto_examples/images/sphx_glr_plot_free_support_barycenter_001.png
new file mode 100644
index 0000000..d7bc78a
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_free_support_barycenter_001.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_stochastic_004.png b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_004.png
new file mode 100644
index 0000000..8aada91
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_004.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_stochastic_005.png b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_005.png
new file mode 100644
index 0000000..3d1e239
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_005.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_stochastic_006.png b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_006.png
new file mode 100644
index 0000000..335ea95
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_006.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_stochastic_007.png b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_007.png
new file mode 100644
index 0000000..986aa96
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_007.png
Binary files differ
diff --git a/docs/source/auto_examples/images/sphx_glr_plot_stochastic_008.png b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_008.png
new file mode 100644
index 0000000..335ea95
--- /dev/null
+++ b/docs/source/auto_examples/images/sphx_glr_plot_stochastic_008.png
Binary files differ
diff --git a/docs/source/auto_examples/images/thumb/sphx_glr_plot_OT_1D_smooth_thumb.png b/docs/source/auto_examples/images/thumb/sphx_glr_plot_OT_1D_smooth_thumb.png
new file mode 100644
index 0000000..4679eb6
--- /dev/null
+++ b/docs/source/auto_examples/images/thumb/sphx_glr_plot_OT_1D_smooth_thumb.png
Binary files differ
diff --git a/docs/source/auto_examples/images/thumb/sphx_glr_plot_free_support_barycenter_thumb.png b/docs/source/auto_examples/images/thumb/sphx_glr_plot_free_support_barycenter_thumb.png
new file mode 100644
index 0000000..0861d4d
--- /dev/null
+++ b/docs/source/auto_examples/images/thumb/sphx_glr_plot_free_support_barycenter_thumb.png
Binary files differ
diff --git a/docs/source/auto_examples/images/thumb/sphx_glr_plot_stochastic_thumb.png b/docs/source/auto_examples/images/thumb/sphx_glr_plot_stochastic_thumb.png
new file mode 100644
index 0000000..609339d
--- /dev/null
+++ b/docs/source/auto_examples/images/thumb/sphx_glr_plot_stochastic_thumb.png
Binary files differ
diff --git a/docs/source/auto_examples/index.rst b/docs/source/auto_examples/index.rst
index 69fb320..5cbfba6 100644
--- a/docs/source/auto_examples/index.rst
+++ b/docs/source/auto_examples/index.rst
@@ -49,6 +49,46 @@ This is a gallery of all the POT example files.
.. raw:: html
+ <div class="sphx-glr-thumbcontainer" tooltip="Illustration of 2D Wasserstein barycenters if discributions that are weighted sum of diracs.">
+
+.. only:: html
+
+ .. figure:: /auto_examples/images/thumb/sphx_glr_plot_free_support_barycenter_thumb.png
+
+ :ref:`sphx_glr_auto_examples_plot_free_support_barycenter.py`
+
+.. raw:: html
+
+ </div>
+
+
+.. toctree::
+ :hidden:
+
+ /auto_examples/plot_free_support_barycenter
+
+.. raw:: html
+
+ <div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of EMD, Sinkhorn and smooth OT plans and their visuali...">
+
+.. only:: html
+
+ .. figure:: /auto_examples/images/thumb/sphx_glr_plot_OT_1D_smooth_thumb.png
+
+ :ref:`sphx_glr_auto_examples_plot_OT_1D_smooth.py`
+
+.. raw:: html
+
+ </div>
+
+
+.. toctree::
+ :hidden:
+
+ /auto_examples/plot_OT_1D_smooth
+
+.. raw:: html
+
<div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the Gromov-Wassertsein distance computation in POT....">
.. only:: html
@@ -149,13 +189,13 @@ This is a gallery of all the POT example files.
.. raw:: html
- <div class="sphx-glr-thumbcontainer" tooltip="This example presents a way of transferring colors between two image with Optimal Transport as ...">
+ <div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the stochatic optimization algorithms for descrete ...">
.. only:: html
- .. figure:: /auto_examples/images/thumb/sphx_glr_plot_otda_color_images_thumb.png
+ .. figure:: /auto_examples/images/thumb/sphx_glr_plot_stochastic_thumb.png
- :ref:`sphx_glr_auto_examples_plot_otda_color_images.py`
+ :ref:`sphx_glr_auto_examples_plot_stochastic.py`
.. raw:: html
@@ -165,17 +205,17 @@ This is a gallery of all the POT example files.
.. toctree::
:hidden:
- /auto_examples/plot_otda_color_images
+ /auto_examples/plot_stochastic
.. raw:: html
- <div class="sphx-glr-thumbcontainer" tooltip="OT for domain adaptation with image color adaptation [6] with mapping estimation [8].">
+ <div class="sphx-glr-thumbcontainer" tooltip="This example presents a way of transferring colors between two image with Optimal Transport as ...">
.. only:: html
- .. figure:: /auto_examples/images/thumb/sphx_glr_plot_otda_mapping_colors_images_thumb.png
+ .. figure:: /auto_examples/images/thumb/sphx_glr_plot_otda_color_images_thumb.png
- :ref:`sphx_glr_auto_examples_plot_otda_mapping_colors_images.py`
+ :ref:`sphx_glr_auto_examples_plot_otda_color_images.py`
.. raw:: html
@@ -185,7 +225,7 @@ This is a gallery of all the POT example files.
.. toctree::
:hidden:
- /auto_examples/plot_otda_mapping_colors_images
+ /auto_examples/plot_otda_color_images
.. raw:: html
@@ -209,6 +249,26 @@ This is a gallery of all the POT example files.
.. raw:: html
+ <div class="sphx-glr-thumbcontainer" tooltip="OT for domain adaptation with image color adaptation [6] with mapping estimation [8].">
+
+.. only:: html
+
+ .. figure:: /auto_examples/images/thumb/sphx_glr_plot_otda_mapping_colors_images_thumb.png
+
+ :ref:`sphx_glr_auto_examples_plot_otda_mapping_colors_images.py`
+
+.. raw:: html
+
+ </div>
+
+
+.. toctree::
+ :hidden:
+
+ /auto_examples/plot_otda_mapping_colors_images
+
+.. raw:: html
+
<div class="sphx-glr-thumbcontainer" tooltip="This example presents how to use MappingTransport to estimate at the same time both the couplin...">
.. only:: html
diff --git a/docs/source/auto_examples/plot_OT_1D_smooth.ipynb b/docs/source/auto_examples/plot_OT_1D_smooth.ipynb
new file mode 100644
index 0000000..d523f6a
--- /dev/null
+++ b/docs/source/auto_examples/plot_OT_1D_smooth.ipynb
@@ -0,0 +1,144 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# 1D smooth optimal transport\n\n\nThis example illustrates the computation of EMD, Sinkhorn and smooth OT plans\nand their visualization.\n\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "# Author: Remi Flamary <remi.flamary@unice.fr>\n#\n# License: MIT License\n\nimport numpy as np\nimport matplotlib.pylab as pl\nimport ot\nimport ot.plot\nfrom ot.datasets import make_1D_gauss as gauss"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Generate data\n-------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% parameters\n\nn = 100 # nb bins\n\n# bin positions\nx = np.arange(n, dtype=np.float64)\n\n# Gaussian distributions\na = gauss(n, m=20, s=5) # m= mean, s= std\nb = gauss(n, m=60, s=10)\n\n# loss matrix\nM = ot.dist(x.reshape((n, 1)), x.reshape((n, 1)))\nM /= M.max()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot distributions and loss matrix\n----------------------------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% plot the distributions\n\npl.figure(1, figsize=(6.4, 3))\npl.plot(x, a, 'b', label='Source distribution')\npl.plot(x, b, 'r', label='Target distribution')\npl.legend()\n\n#%% plot distributions and loss matrix\n\npl.figure(2, figsize=(5, 5))\not.plot.plot1D_mat(a, b, M, 'Cost matrix M')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Solve EMD\n---------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% EMD\n\nG0 = ot.emd(a, b, M)\n\npl.figure(3, figsize=(5, 5))\not.plot.plot1D_mat(a, b, G0, 'OT matrix G0')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Solve Sinkhorn\n--------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% Sinkhorn\n\nlambd = 2e-3\nGs = ot.sinkhorn(a, b, M, lambd, verbose=True)\n\npl.figure(4, figsize=(5, 5))\not.plot.plot1D_mat(a, b, Gs, 'OT matrix Sinkhorn')\n\npl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Solve Smooth OT\n--------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% Smooth OT with KL regularization\n\nlambd = 2e-3\nGsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='kl')\n\npl.figure(5, figsize=(5, 5))\not.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT KL reg.')\n\npl.show()\n\n\n#%% Smooth OT with KL regularization\n\nlambd = 1e-1\nGsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='l2')\n\npl.figure(6, figsize=(5, 5))\not.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT l2 reg.')\n\npl.show()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+} \ No newline at end of file
diff --git a/docs/source/auto_examples/plot_OT_1D_smooth.py b/docs/source/auto_examples/plot_OT_1D_smooth.py
new file mode 100644
index 0000000..b690751
--- /dev/null
+++ b/docs/source/auto_examples/plot_OT_1D_smooth.py
@@ -0,0 +1,110 @@
+# -*- coding: utf-8 -*-
+"""
+===========================
+1D smooth optimal transport
+===========================
+
+This example illustrates the computation of EMD, Sinkhorn and smooth OT plans
+and their visualization.
+
+"""
+
+# Author: Remi Flamary <remi.flamary@unice.fr>
+#
+# License: MIT License
+
+import numpy as np
+import matplotlib.pylab as pl
+import ot
+import ot.plot
+from ot.datasets import make_1D_gauss as gauss
+
+##############################################################################
+# Generate data
+# -------------
+
+
+#%% parameters
+
+n = 100 # nb bins
+
+# bin positions
+x = np.arange(n, dtype=np.float64)
+
+# Gaussian distributions
+a = gauss(n, m=20, s=5) # m= mean, s= std
+b = gauss(n, m=60, s=10)
+
+# loss matrix
+M = ot.dist(x.reshape((n, 1)), x.reshape((n, 1)))
+M /= M.max()
+
+
+##############################################################################
+# Plot distributions and loss matrix
+# ----------------------------------
+
+#%% plot the distributions
+
+pl.figure(1, figsize=(6.4, 3))
+pl.plot(x, a, 'b', label='Source distribution')
+pl.plot(x, b, 'r', label='Target distribution')
+pl.legend()
+
+#%% plot distributions and loss matrix
+
+pl.figure(2, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, M, 'Cost matrix M')
+
+##############################################################################
+# Solve EMD
+# ---------
+
+
+#%% EMD
+
+G0 = ot.emd(a, b, M)
+
+pl.figure(3, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, G0, 'OT matrix G0')
+
+##############################################################################
+# Solve Sinkhorn
+# --------------
+
+
+#%% Sinkhorn
+
+lambd = 2e-3
+Gs = ot.sinkhorn(a, b, M, lambd, verbose=True)
+
+pl.figure(4, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, Gs, 'OT matrix Sinkhorn')
+
+pl.show()
+
+##############################################################################
+# Solve Smooth OT
+# --------------
+
+
+#%% Smooth OT with KL regularization
+
+lambd = 2e-3
+Gsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='kl')
+
+pl.figure(5, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT KL reg.')
+
+pl.show()
+
+
+#%% Smooth OT with KL regularization
+
+lambd = 1e-1
+Gsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='l2')
+
+pl.figure(6, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT l2 reg.')
+
+pl.show()
diff --git a/docs/source/auto_examples/plot_OT_1D_smooth.rst b/docs/source/auto_examples/plot_OT_1D_smooth.rst
new file mode 100644
index 0000000..5a0ebd3
--- /dev/null
+++ b/docs/source/auto_examples/plot_OT_1D_smooth.rst
@@ -0,0 +1,242 @@
+
+
+.. _sphx_glr_auto_examples_plot_OT_1D_smooth.py:
+
+
+===========================
+1D smooth optimal transport
+===========================
+
+This example illustrates the computation of EMD, Sinkhorn and smooth OT plans
+and their visualization.
+
+
+
+
+.. code-block:: python
+
+
+ # Author: Remi Flamary <remi.flamary@unice.fr>
+ #
+ # License: MIT License
+
+ import numpy as np
+ import matplotlib.pylab as pl
+ import ot
+ import ot.plot
+ from ot.datasets import make_1D_gauss as gauss
+
+
+
+
+
+
+
+Generate data
+-------------
+
+
+
+.. code-block:: python
+
+
+
+ #%% parameters
+
+ n = 100 # nb bins
+
+ # bin positions
+ x = np.arange(n, dtype=np.float64)
+
+ # Gaussian distributions
+ a = gauss(n, m=20, s=5) # m= mean, s= std
+ b = gauss(n, m=60, s=10)
+
+ # loss matrix
+ M = ot.dist(x.reshape((n, 1)), x.reshape((n, 1)))
+ M /= M.max()
+
+
+
+
+
+
+
+
+Plot distributions and loss matrix
+----------------------------------
+
+
+
+.. code-block:: python
+
+
+ #%% plot the distributions
+
+ pl.figure(1, figsize=(6.4, 3))
+ pl.plot(x, a, 'b', label='Source distribution')
+ pl.plot(x, b, 'r', label='Target distribution')
+ pl.legend()
+
+ #%% plot distributions and loss matrix
+
+ pl.figure(2, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, M, 'Cost matrix M')
+
+
+
+
+.. rst-class:: sphx-glr-horizontal
+
+
+ *
+
+ .. image:: /auto_examples/images/sphx_glr_plot_OT_1D_smooth_001.png
+ :scale: 47
+
+ *
+
+ .. image:: /auto_examples/images/sphx_glr_plot_OT_1D_smooth_002.png
+ :scale: 47
+
+
+
+
+Solve EMD
+---------
+
+
+
+.. code-block:: python
+
+
+
+ #%% EMD
+
+ G0 = ot.emd(a, b, M)
+
+ pl.figure(3, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, G0, 'OT matrix G0')
+
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_OT_1D_smooth_005.png
+ :align: center
+
+
+
+
+Solve Sinkhorn
+--------------
+
+
+
+.. code-block:: python
+
+
+
+ #%% Sinkhorn
+
+ lambd = 2e-3
+ Gs = ot.sinkhorn(a, b, M, lambd, verbose=True)
+
+ pl.figure(4, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, Gs, 'OT matrix Sinkhorn')
+
+ pl.show()
+
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_OT_1D_smooth_007.png
+ :align: center
+
+
+.. rst-class:: sphx-glr-script-out
+
+ Out::
+
+ It. |Err
+ -------------------
+ 0|7.958844e-02|
+ 10|5.921715e-03|
+ 20|1.238266e-04|
+ 30|2.469780e-06|
+ 40|4.919966e-08|
+ 50|9.800197e-10|
+
+
+Solve Smooth OT
+--------------
+
+
+
+.. code-block:: python
+
+
+
+ #%% Smooth OT with KL regularization
+
+ lambd = 2e-3
+ Gsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='kl')
+
+ pl.figure(5, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT KL reg.')
+
+ pl.show()
+
+
+ #%% Smooth OT with KL regularization
+
+ lambd = 1e-1
+ Gsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='l2')
+
+ pl.figure(6, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT l2 reg.')
+
+ pl.show()
+
+
+
+.. rst-class:: sphx-glr-horizontal
+
+
+ *
+
+ .. image:: /auto_examples/images/sphx_glr_plot_OT_1D_smooth_009.png
+ :scale: 47
+
+ *
+
+ .. image:: /auto_examples/images/sphx_glr_plot_OT_1D_smooth_010.png
+ :scale: 47
+
+
+
+
+**Total running time of the script:** ( 0 minutes 1.053 seconds)
+
+
+
+.. only :: html
+
+ .. container:: sphx-glr-footer
+
+
+ .. container:: sphx-glr-download
+
+ :download:`Download Python source code: plot_OT_1D_smooth.py <plot_OT_1D_smooth.py>`
+
+
+
+ .. container:: sphx-glr-download
+
+ :download:`Download Jupyter notebook: plot_OT_1D_smooth.ipynb <plot_OT_1D_smooth.ipynb>`
+
+
+.. only:: html
+
+ .. rst-class:: sphx-glr-signature
+
+ `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.readthedocs.io>`_
diff --git a/docs/source/auto_examples/plot_barycenter_1D.ipynb b/docs/source/auto_examples/plot_barycenter_1D.ipynb
index 5866088..fc60e1f 100644
--- a/docs/source/auto_examples/plot_barycenter_1D.ipynb
+++ b/docs/source/auto_examples/plot_barycenter_1D.ipynb
@@ -26,7 +26,79 @@
},
"outputs": [],
"source": [
- "# Author: Remi Flamary <remi.flamary@unice.fr>\n#\n# License: MIT License\n\nimport numpy as np\nimport matplotlib.pylab as pl\nimport ot\n# necessary for 3d plot even if not used\nfrom mpl_toolkits.mplot3d import Axes3D # noqa\nfrom matplotlib.collections import PolyCollection\n\n#\n# Generate data\n# -------------\n\n#%% parameters\n\nn = 100 # nb bins\n\n# bin positions\nx = np.arange(n, dtype=np.float64)\n\n# Gaussian distributions\na1 = ot.datasets.make_1D_gauss(n, m=20, s=5) # m= mean, s= std\na2 = ot.datasets.make_1D_gauss(n, m=60, s=8)\n\n# creating matrix A containing all distributions\nA = np.vstack((a1, a2)).T\nn_distributions = A.shape[1]\n\n# loss matrix + normalization\nM = ot.utils.dist0(n)\nM /= M.max()\n\n#\n# Plot data\n# ---------\n\n#%% plot the distributions\n\npl.figure(1, figsize=(6.4, 3))\nfor i in range(n_distributions):\n pl.plot(x, A[:, i])\npl.title('Distributions')\npl.tight_layout()\n\n#\n# Barycenter computation\n# ----------------------\n\n#%% barycenter computation\n\nalpha = 0.2 # 0<=alpha<=1\nweights = np.array([1 - alpha, alpha])\n\n# l2bary\nbary_l2 = A.dot(weights)\n\n# wasserstein\nreg = 1e-3\nbary_wass = ot.bregman.barycenter(A, M, reg, weights)\n\npl.figure(2)\npl.clf()\npl.subplot(2, 1, 1)\nfor i in range(n_distributions):\n pl.plot(x, A[:, i])\npl.title('Distributions')\n\npl.subplot(2, 1, 2)\npl.plot(x, bary_l2, 'r', label='l2')\npl.plot(x, bary_wass, 'g', label='Wasserstein')\npl.legend()\npl.title('Barycenters')\npl.tight_layout()\n\n#\n# Barycentric interpolation\n# -------------------------\n\n#%% barycenter interpolation\n\nn_alpha = 11\nalpha_list = np.linspace(0, 1, n_alpha)\n\n\nB_l2 = np.zeros((n, n_alpha))\n\nB_wass = np.copy(B_l2)\n\nfor i in range(0, n_alpha):\n alpha = alpha_list[i]\n weights = np.array([1 - alpha, alpha])\n B_l2[:, i] = A.dot(weights)\n B_wass[:, i] = ot.bregman.barycenter(A, M, reg, weights)\n\n#%% plot interpolation\n\npl.figure(3)\n\ncmap = pl.cm.get_cmap('viridis')\nverts = []\nzs = alpha_list\nfor i, z in enumerate(zs):\n ys = B_l2[:, i]\n verts.append(list(zip(x, ys)))\n\nax = pl.gcf().gca(projection='3d')\n\npoly = PolyCollection(verts, facecolors=[cmap(a) for a in alpha_list])\npoly.set_alpha(0.7)\nax.add_collection3d(poly, zs=zs, zdir='y')\nax.set_xlabel('x')\nax.set_xlim3d(0, n)\nax.set_ylabel('$\\\\alpha$')\nax.set_ylim3d(0, 1)\nax.set_zlabel('')\nax.set_zlim3d(0, B_l2.max() * 1.01)\npl.title('Barycenter interpolation with l2')\npl.tight_layout()\n\npl.figure(4)\ncmap = pl.cm.get_cmap('viridis')\nverts = []\nzs = alpha_list\nfor i, z in enumerate(zs):\n ys = B_wass[:, i]\n verts.append(list(zip(x, ys)))\n\nax = pl.gcf().gca(projection='3d')\n\npoly = PolyCollection(verts, facecolors=[cmap(a) for a in alpha_list])\npoly.set_alpha(0.7)\nax.add_collection3d(poly, zs=zs, zdir='y')\nax.set_xlabel('x')\nax.set_xlim3d(0, n)\nax.set_ylabel('$\\\\alpha$')\nax.set_ylim3d(0, 1)\nax.set_zlabel('')\nax.set_zlim3d(0, B_l2.max() * 1.01)\npl.title('Barycenter interpolation with Wasserstein')\npl.tight_layout()\n\npl.show()"
+ "# Author: Remi Flamary <remi.flamary@unice.fr>\n#\n# License: MIT License\n\nimport numpy as np\nimport matplotlib.pylab as pl\nimport ot\n# necessary for 3d plot even if not used\nfrom mpl_toolkits.mplot3d import Axes3D # noqa\nfrom matplotlib.collections import PolyCollection"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Generate data\n-------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% parameters\n\nn = 100 # nb bins\n\n# bin positions\nx = np.arange(n, dtype=np.float64)\n\n# Gaussian distributions\na1 = ot.datasets.make_1D_gauss(n, m=20, s=5) # m= mean, s= std\na2 = ot.datasets.make_1D_gauss(n, m=60, s=8)\n\n# creating matrix A containing all distributions\nA = np.vstack((a1, a2)).T\nn_distributions = A.shape[1]\n\n# loss matrix + normalization\nM = ot.utils.dist0(n)\nM /= M.max()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot data\n---------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% plot the distributions\n\npl.figure(1, figsize=(6.4, 3))\nfor i in range(n_distributions):\n pl.plot(x, A[:, i])\npl.title('Distributions')\npl.tight_layout()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Barycenter computation\n----------------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% barycenter computation\n\nalpha = 0.2 # 0<=alpha<=1\nweights = np.array([1 - alpha, alpha])\n\n# l2bary\nbary_l2 = A.dot(weights)\n\n# wasserstein\nreg = 1e-3\nbary_wass = ot.bregman.barycenter(A, M, reg, weights)\n\npl.figure(2)\npl.clf()\npl.subplot(2, 1, 1)\nfor i in range(n_distributions):\n pl.plot(x, A[:, i])\npl.title('Distributions')\n\npl.subplot(2, 1, 2)\npl.plot(x, bary_l2, 'r', label='l2')\npl.plot(x, bary_wass, 'g', label='Wasserstein')\npl.legend()\npl.title('Barycenters')\npl.tight_layout()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Barycentric interpolation\n-------------------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% barycenter interpolation\n\nn_alpha = 11\nalpha_list = np.linspace(0, 1, n_alpha)\n\n\nB_l2 = np.zeros((n, n_alpha))\n\nB_wass = np.copy(B_l2)\n\nfor i in range(0, n_alpha):\n alpha = alpha_list[i]\n weights = np.array([1 - alpha, alpha])\n B_l2[:, i] = A.dot(weights)\n B_wass[:, i] = ot.bregman.barycenter(A, M, reg, weights)\n\n#%% plot interpolation\n\npl.figure(3)\n\ncmap = pl.cm.get_cmap('viridis')\nverts = []\nzs = alpha_list\nfor i, z in enumerate(zs):\n ys = B_l2[:, i]\n verts.append(list(zip(x, ys)))\n\nax = pl.gcf().gca(projection='3d')\n\npoly = PolyCollection(verts, facecolors=[cmap(a) for a in alpha_list])\npoly.set_alpha(0.7)\nax.add_collection3d(poly, zs=zs, zdir='y')\nax.set_xlabel('x')\nax.set_xlim3d(0, n)\nax.set_ylabel('$\\\\alpha$')\nax.set_ylim3d(0, 1)\nax.set_zlabel('')\nax.set_zlim3d(0, B_l2.max() * 1.01)\npl.title('Barycenter interpolation with l2')\npl.tight_layout()\n\npl.figure(4)\ncmap = pl.cm.get_cmap('viridis')\nverts = []\nzs = alpha_list\nfor i, z in enumerate(zs):\n ys = B_wass[:, i]\n verts.append(list(zip(x, ys)))\n\nax = pl.gcf().gca(projection='3d')\n\npoly = PolyCollection(verts, facecolors=[cmap(a) for a in alpha_list])\npoly.set_alpha(0.7)\nax.add_collection3d(poly, zs=zs, zdir='y')\nax.set_xlabel('x')\nax.set_xlim3d(0, n)\nax.set_ylabel('$\\\\alpha$')\nax.set_ylim3d(0, 1)\nax.set_zlabel('')\nax.set_zlim3d(0, B_l2.max() * 1.01)\npl.title('Barycenter interpolation with Wasserstein')\npl.tight_layout()\n\npl.show()"
]
}
],
diff --git a/docs/source/auto_examples/plot_barycenter_1D.py b/docs/source/auto_examples/plot_barycenter_1D.py
index 5ed9f3f..6864301 100644
--- a/docs/source/auto_examples/plot_barycenter_1D.py
+++ b/docs/source/auto_examples/plot_barycenter_1D.py
@@ -25,7 +25,7 @@ import ot
from mpl_toolkits.mplot3d import Axes3D # noqa
from matplotlib.collections import PolyCollection
-#
+##############################################################################
# Generate data
# -------------
@@ -48,7 +48,7 @@ n_distributions = A.shape[1]
M = ot.utils.dist0(n)
M /= M.max()
-#
+##############################################################################
# Plot data
# ---------
@@ -60,7 +60,7 @@ for i in range(n_distributions):
pl.title('Distributions')
pl.tight_layout()
-#
+##############################################################################
# Barycenter computation
# ----------------------
@@ -90,7 +90,7 @@ pl.legend()
pl.title('Barycenters')
pl.tight_layout()
-#
+##############################################################################
# Barycentric interpolation
# -------------------------
diff --git a/docs/source/auto_examples/plot_barycenter_1D.rst b/docs/source/auto_examples/plot_barycenter_1D.rst
index b314dc1..66ac042 100644
--- a/docs/source/auto_examples/plot_barycenter_1D.rst
+++ b/docs/source/auto_examples/plot_barycenter_1D.rst
@@ -18,52 +18,34 @@ SIAM Journal on Scientific Computing, 37(2), A1111-A1138.
+.. code-block:: python
-.. rst-class:: sphx-glr-horizontal
-
-
- *
- .. image:: /auto_examples/images/sphx_glr_plot_barycenter_1D_001.png
- :scale: 47
+ # Author: Remi Flamary <remi.flamary@unice.fr>
+ #
+ # License: MIT License
- *
+ import numpy as np
+ import matplotlib.pylab as pl
+ import ot
+ # necessary for 3d plot even if not used
+ from mpl_toolkits.mplot3d import Axes3D # noqa
+ from matplotlib.collections import PolyCollection
- .. image:: /auto_examples/images/sphx_glr_plot_barycenter_1D_002.png
- :scale: 47
- *
- .. image:: /auto_examples/images/sphx_glr_plot_barycenter_1D_003.png
- :scale: 47
- *
- .. image:: /auto_examples/images/sphx_glr_plot_barycenter_1D_004.png
- :scale: 47
+Generate data
+-------------
.. code-block:: python
- # Author: Remi Flamary <remi.flamary@unice.fr>
- #
- # License: MIT License
-
- import numpy as np
- import matplotlib.pylab as pl
- import ot
- # necessary for 3d plot even if not used
- from mpl_toolkits.mplot3d import Axes3D # noqa
- from matplotlib.collections import PolyCollection
-
- #
- # Generate data
- # -------------
-
#%% parameters
n = 100 # nb bins
@@ -83,9 +65,19 @@ SIAM Journal on Scientific Computing, 37(2), A1111-A1138.
M = ot.utils.dist0(n)
M /= M.max()
- #
- # Plot data
- # ---------
+
+
+
+
+
+
+Plot data
+---------
+
+
+
+.. code-block:: python
+
#%% plot the distributions
@@ -95,9 +87,22 @@ SIAM Journal on Scientific Computing, 37(2), A1111-A1138.
pl.title('Distributions')
pl.tight_layout()
- #
- # Barycenter computation
- # ----------------------
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_barycenter_1D_001.png
+ :align: center
+
+
+
+
+Barycenter computation
+----------------------
+
+
+
+.. code-block:: python
+
#%% barycenter computation
@@ -125,9 +130,22 @@ SIAM Journal on Scientific Computing, 37(2), A1111-A1138.
pl.title('Barycenters')
pl.tight_layout()
- #
- # Barycentric interpolation
- # -------------------------
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_barycenter_1D_003.png
+ :align: center
+
+
+
+
+Barycentric interpolation
+-------------------------
+
+
+
+.. code-block:: python
+
#%% barycenter interpolation
@@ -194,7 +212,25 @@ SIAM Journal on Scientific Computing, 37(2), A1111-A1138.
pl.show()
-**Total running time of the script:** ( 0 minutes 0.363 seconds)
+
+
+.. rst-class:: sphx-glr-horizontal
+
+
+ *
+
+ .. image:: /auto_examples/images/sphx_glr_plot_barycenter_1D_005.png
+ :scale: 47
+
+ *
+
+ .. image:: /auto_examples/images/sphx_glr_plot_barycenter_1D_006.png
+ :scale: 47
+
+
+
+
+**Total running time of the script:** ( 0 minutes 0.413 seconds)
diff --git a/docs/source/auto_examples/plot_free_support_barycenter.ipynb b/docs/source/auto_examples/plot_free_support_barycenter.ipynb
new file mode 100644
index 0000000..05a81c8
--- /dev/null
+++ b/docs/source/auto_examples/plot_free_support_barycenter.ipynb
@@ -0,0 +1,108 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# 2D free support Wasserstein barycenters of distributions\n\n\nIllustration of 2D Wasserstein barycenters if discributions that are weighted\nsum of diracs.\n\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "# Author: Vivien Seguy <vivien.seguy@iip.ist.i.kyoto-u.ac.jp>\n#\n# License: MIT License\n\nimport numpy as np\nimport matplotlib.pylab as pl\nimport ot"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Generate data\n -------------\n%% parameters and data generation\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "N = 3\nd = 2\nmeasures_locations = []\nmeasures_weights = []\n\nfor i in range(N):\n\n n_i = np.random.randint(low=1, high=20) # nb samples\n\n mu_i = np.random.normal(0., 4., (d,)) # Gaussian mean\n\n A_i = np.random.rand(d, d)\n cov_i = np.dot(A_i, A_i.transpose()) # Gaussian covariance matrix\n\n x_i = ot.datasets.make_2D_samples_gauss(n_i, mu_i, cov_i) # Dirac locations\n b_i = np.random.uniform(0., 1., (n_i,))\n b_i = b_i / np.sum(b_i) # Dirac weights\n\n measures_locations.append(x_i)\n measures_weights.append(b_i)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute free support barycenter\n-------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "k = 10 # number of Diracs of the barycenter\nX_init = np.random.normal(0., 1., (k, d)) # initial Dirac locations\nb = np.ones((k,)) / k # weights of the barycenter (it will not be optimized, only the locations are optimized)\n\nX = ot.lp.free_support_barycenter(measures_locations, measures_weights, X_init, b)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot data\n---------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "pl.figure(1)\nfor (x_i, b_i) in zip(measures_locations, measures_weights):\n color = np.random.randint(low=1, high=10 * N)\n pl.scatter(x_i[:, 0], x_i[:, 1], s=b * 1000, label='input measure')\npl.scatter(X[:, 0], X[:, 1], s=b * 1000, c='black', marker='^', label='2-Wasserstein barycenter')\npl.title('Data measures and their barycenter')\npl.legend(loc=0)\npl.show()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+} \ No newline at end of file
diff --git a/docs/source/auto_examples/plot_free_support_barycenter.py b/docs/source/auto_examples/plot_free_support_barycenter.py
new file mode 100644
index 0000000..b6efc59
--- /dev/null
+++ b/docs/source/auto_examples/plot_free_support_barycenter.py
@@ -0,0 +1,69 @@
+# -*- coding: utf-8 -*-
+"""
+====================================================
+2D free support Wasserstein barycenters of distributions
+====================================================
+
+Illustration of 2D Wasserstein barycenters if discributions that are weighted
+sum of diracs.
+
+"""
+
+# Author: Vivien Seguy <vivien.seguy@iip.ist.i.kyoto-u.ac.jp>
+#
+# License: MIT License
+
+import numpy as np
+import matplotlib.pylab as pl
+import ot
+
+
+##############################################################################
+# Generate data
+# -------------
+#%% parameters and data generation
+N = 3
+d = 2
+measures_locations = []
+measures_weights = []
+
+for i in range(N):
+
+ n_i = np.random.randint(low=1, high=20) # nb samples
+
+ mu_i = np.random.normal(0., 4., (d,)) # Gaussian mean
+
+ A_i = np.random.rand(d, d)
+ cov_i = np.dot(A_i, A_i.transpose()) # Gaussian covariance matrix
+
+ x_i = ot.datasets.make_2D_samples_gauss(n_i, mu_i, cov_i) # Dirac locations
+ b_i = np.random.uniform(0., 1., (n_i,))
+ b_i = b_i / np.sum(b_i) # Dirac weights
+
+ measures_locations.append(x_i)
+ measures_weights.append(b_i)
+
+
+##############################################################################
+# Compute free support barycenter
+# -------------
+
+k = 10 # number of Diracs of the barycenter
+X_init = np.random.normal(0., 1., (k, d)) # initial Dirac locations
+b = np.ones((k,)) / k # weights of the barycenter (it will not be optimized, only the locations are optimized)
+
+X = ot.lp.free_support_barycenter(measures_locations, measures_weights, X_init, b)
+
+
+##############################################################################
+# Plot data
+# ---------
+
+pl.figure(1)
+for (x_i, b_i) in zip(measures_locations, measures_weights):
+ color = np.random.randint(low=1, high=10 * N)
+ pl.scatter(x_i[:, 0], x_i[:, 1], s=b * 1000, label='input measure')
+pl.scatter(X[:, 0], X[:, 1], s=b * 1000, c='black', marker='^', label='2-Wasserstein barycenter')
+pl.title('Data measures and their barycenter')
+pl.legend(loc=0)
+pl.show()
diff --git a/docs/source/auto_examples/plot_free_support_barycenter.rst b/docs/source/auto_examples/plot_free_support_barycenter.rst
new file mode 100644
index 0000000..d1b3b80
--- /dev/null
+++ b/docs/source/auto_examples/plot_free_support_barycenter.rst
@@ -0,0 +1,140 @@
+
+
+.. _sphx_glr_auto_examples_plot_free_support_barycenter.py:
+
+
+====================================================
+2D free support Wasserstein barycenters of distributions
+====================================================
+
+Illustration of 2D Wasserstein barycenters if discributions that are weighted
+sum of diracs.
+
+
+
+
+.. code-block:: python
+
+
+ # Author: Vivien Seguy <vivien.seguy@iip.ist.i.kyoto-u.ac.jp>
+ #
+ # License: MIT License
+
+ import numpy as np
+ import matplotlib.pylab as pl
+ import ot
+
+
+
+
+
+
+
+
+Generate data
+ -------------
+%% parameters and data generation
+
+
+
+.. code-block:: python
+
+ N = 3
+ d = 2
+ measures_locations = []
+ measures_weights = []
+
+ for i in range(N):
+
+ n_i = np.random.randint(low=1, high=20) # nb samples
+
+ mu_i = np.random.normal(0., 4., (d,)) # Gaussian mean
+
+ A_i = np.random.rand(d, d)
+ cov_i = np.dot(A_i, A_i.transpose()) # Gaussian covariance matrix
+
+ x_i = ot.datasets.make_2D_samples_gauss(n_i, mu_i, cov_i) # Dirac locations
+ b_i = np.random.uniform(0., 1., (n_i,))
+ b_i = b_i / np.sum(b_i) # Dirac weights
+
+ measures_locations.append(x_i)
+ measures_weights.append(b_i)
+
+
+
+
+
+
+
+
+Compute free support barycenter
+-------------
+
+
+
+.. code-block:: python
+
+
+ k = 10 # number of Diracs of the barycenter
+ X_init = np.random.normal(0., 1., (k, d)) # initial Dirac locations
+ b = np.ones((k,)) / k # weights of the barycenter (it will not be optimized, only the locations are optimized)
+
+ X = ot.lp.free_support_barycenter(measures_locations, measures_weights, X_init, b)
+
+
+
+
+
+
+
+
+Plot data
+---------
+
+
+
+.. code-block:: python
+
+
+ pl.figure(1)
+ for (x_i, b_i) in zip(measures_locations, measures_weights):
+ color = np.random.randint(low=1, high=10 * N)
+ pl.scatter(x_i[:, 0], x_i[:, 1], s=b * 1000, label='input measure')
+ pl.scatter(X[:, 0], X[:, 1], s=b * 1000, c='black', marker='^', label='2-Wasserstein barycenter')
+ pl.title('Data measures and their barycenter')
+ pl.legend(loc=0)
+ pl.show()
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_free_support_barycenter_001.png
+ :align: center
+
+
+
+
+**Total running time of the script:** ( 0 minutes 0.129 seconds)
+
+
+
+.. only :: html
+
+ .. container:: sphx-glr-footer
+
+
+ .. container:: sphx-glr-download
+
+ :download:`Download Python source code: plot_free_support_barycenter.py <plot_free_support_barycenter.py>`
+
+
+
+ .. container:: sphx-glr-download
+
+ :download:`Download Jupyter notebook: plot_free_support_barycenter.ipynb <plot_free_support_barycenter.ipynb>`
+
+
+.. only:: html
+
+ .. rst-class:: sphx-glr-signature
+
+ `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.readthedocs.io>`_
diff --git a/docs/source/auto_examples/plot_stochastic.ipynb b/docs/source/auto_examples/plot_stochastic.ipynb
new file mode 100644
index 0000000..c6f0013
--- /dev/null
+++ b/docs/source/auto_examples/plot_stochastic.ipynb
@@ -0,0 +1,331 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n# Stochastic examples\n\n\nThis example is designed to show how to use the stochatic optimization\nalgorithms for descrete and semicontinous measures from the POT library.\n\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "# Author: Kilian Fatras <kilian.fatras@gmail.com>\n#\n# License: MIT License\n\nimport matplotlib.pylab as pl\nimport numpy as np\nimport ot\nimport ot.plot"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "COMPUTE TRANSPORTATION MATRIX FOR SEMI-DUAL PROBLEM\n############################################################################\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"------------SEMI-DUAL PROBLEM------------\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "DISCRETE CASE\nSample two discrete measures for the discrete case\n---------------------------------------------\n\nDefine 2 discrete measures a and b, the points where are defined the source\nand the target measures and finally the cost matrix c.\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "n_source = 7\nn_target = 4\nreg = 1\nnumItermax = 1000\n\na = ot.utils.unif(n_source)\nb = ot.utils.unif(n_target)\n\nrng = np.random.RandomState(0)\nX_source = rng.randn(n_source, 2)\nY_target = rng.randn(n_target, 2)\nM = ot.dist(X_source, Y_target)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Call the \"SAG\" method to find the transportation matrix in the discrete case\n---------------------------------------------\n\nDefine the method \"SAG\", call ot.solve_semi_dual_entropic and plot the\nresults.\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "method = \"SAG\"\nsag_pi = ot.stochastic.solve_semi_dual_entropic(a, b, M, reg, method,\n numItermax)\nprint(sag_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "SEMICONTINOUS CASE\nSample one general measure a, one discrete measures b for the semicontinous\ncase\n---------------------------------------------\n\nDefine one general measure a, one discrete measures b, the points where\nare defined the source and the target measures and finally the cost matrix c.\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "n_source = 7\nn_target = 4\nreg = 1\nnumItermax = 1000\nlog = True\n\na = ot.utils.unif(n_source)\nb = ot.utils.unif(n_target)\n\nrng = np.random.RandomState(0)\nX_source = rng.randn(n_source, 2)\nY_target = rng.randn(n_target, 2)\nM = ot.dist(X_source, Y_target)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Call the \"ASGD\" method to find the transportation matrix in the semicontinous\ncase\n---------------------------------------------\n\nDefine the method \"ASGD\", call ot.solve_semi_dual_entropic and plot the\nresults.\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "method = \"ASGD\"\nasgd_pi, log_asgd = ot.stochastic.solve_semi_dual_entropic(a, b, M, reg, method,\n numItermax, log=log)\nprint(log_asgd['alpha'], log_asgd['beta'])\nprint(asgd_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare the results with the Sinkhorn algorithm\n---------------------------------------------\n\nCall the Sinkhorn algorithm from POT\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sinkhorn_pi = ot.sinkhorn(a, b, M, reg)\nprint(sinkhorn_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "PLOT TRANSPORTATION MATRIX\n#############################################################################\n\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot SAG results\n----------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\not.plot.plot1D_mat(a, b, sag_pi, 'semi-dual : OT matrix SAG')\npl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot ASGD results\n-----------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\not.plot.plot1D_mat(a, b, asgd_pi, 'semi-dual : OT matrix ASGD')\npl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot Sinkhorn results\n---------------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\not.plot.plot1D_mat(a, b, sinkhorn_pi, 'OT matrix Sinkhorn')\npl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "COMPUTE TRANSPORTATION MATRIX FOR DUAL PROBLEM\n############################################################################\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "print(\"------------DUAL PROBLEM------------\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "SEMICONTINOUS CASE\nSample one general measure a, one discrete measures b for the semicontinous\ncase\n---------------------------------------------\n\nDefine one general measure a, one discrete measures b, the points where\nare defined the source and the target measures and finally the cost matrix c.\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "n_source = 7\nn_target = 4\nreg = 1\nnumItermax = 100000\nlr = 0.1\nbatch_size = 3\nlog = True\n\na = ot.utils.unif(n_source)\nb = ot.utils.unif(n_target)\n\nrng = np.random.RandomState(0)\nX_source = rng.randn(n_source, 2)\nY_target = rng.randn(n_target, 2)\nM = ot.dist(X_source, Y_target)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Call the \"SGD\" dual method to find the transportation matrix in the\nsemicontinous case\n---------------------------------------------\n\nCall ot.solve_dual_entropic and plot the results.\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sgd_dual_pi, log_sgd = ot.stochastic.solve_dual_entropic(a, b, M, reg,\n batch_size, numItermax,\n lr, log=log)\nprint(log_sgd['alpha'], log_sgd['beta'])\nprint(sgd_dual_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare the results with the Sinkhorn algorithm\n---------------------------------------------\n\nCall the Sinkhorn algorithm from POT\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "sinkhorn_pi = ot.sinkhorn(a, b, M, reg)\nprint(sinkhorn_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot SGD results\n-----------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\not.plot.plot1D_mat(a, b, sgd_dual_pi, 'dual : OT matrix SGD')\npl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot Sinkhorn results\n---------------------\n\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\not.plot.plot1D_mat(a, b, sinkhorn_pi, 'OT matrix Sinkhorn')\npl.show()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+} \ No newline at end of file
diff --git a/docs/source/auto_examples/plot_stochastic.py b/docs/source/auto_examples/plot_stochastic.py
new file mode 100644
index 0000000..b9375d4
--- /dev/null
+++ b/docs/source/auto_examples/plot_stochastic.py
@@ -0,0 +1,207 @@
+"""
+==========================
+Stochastic examples
+==========================
+
+This example is designed to show how to use the stochatic optimization
+algorithms for descrete and semicontinous measures from the POT library.
+
+"""
+
+# Author: Kilian Fatras <kilian.fatras@gmail.com>
+#
+# License: MIT License
+
+import matplotlib.pylab as pl
+import numpy as np
+import ot
+import ot.plot
+
+
+#############################################################################
+# COMPUTE TRANSPORTATION MATRIX FOR SEMI-DUAL PROBLEM
+#############################################################################
+print("------------SEMI-DUAL PROBLEM------------")
+#############################################################################
+# DISCRETE CASE
+# Sample two discrete measures for the discrete case
+# ---------------------------------------------
+#
+# Define 2 discrete measures a and b, the points where are defined the source
+# and the target measures and finally the cost matrix c.
+
+n_source = 7
+n_target = 4
+reg = 1
+numItermax = 1000
+
+a = ot.utils.unif(n_source)
+b = ot.utils.unif(n_target)
+
+rng = np.random.RandomState(0)
+X_source = rng.randn(n_source, 2)
+Y_target = rng.randn(n_target, 2)
+M = ot.dist(X_source, Y_target)
+
+#############################################################################
+#
+# Call the "SAG" method to find the transportation matrix in the discrete case
+# ---------------------------------------------
+#
+# Define the method "SAG", call ot.solve_semi_dual_entropic and plot the
+# results.
+
+method = "SAG"
+sag_pi = ot.stochastic.solve_semi_dual_entropic(a, b, M, reg, method,
+ numItermax)
+print(sag_pi)
+
+#############################################################################
+# SEMICONTINOUS CASE
+# Sample one general measure a, one discrete measures b for the semicontinous
+# case
+# ---------------------------------------------
+#
+# Define one general measure a, one discrete measures b, the points where
+# are defined the source and the target measures and finally the cost matrix c.
+
+n_source = 7
+n_target = 4
+reg = 1
+numItermax = 1000
+log = True
+
+a = ot.utils.unif(n_source)
+b = ot.utils.unif(n_target)
+
+rng = np.random.RandomState(0)
+X_source = rng.randn(n_source, 2)
+Y_target = rng.randn(n_target, 2)
+M = ot.dist(X_source, Y_target)
+
+#############################################################################
+#
+# Call the "ASGD" method to find the transportation matrix in the semicontinous
+# case
+# ---------------------------------------------
+#
+# Define the method "ASGD", call ot.solve_semi_dual_entropic and plot the
+# results.
+
+method = "ASGD"
+asgd_pi, log_asgd = ot.stochastic.solve_semi_dual_entropic(a, b, M, reg, method,
+ numItermax, log=log)
+print(log_asgd['alpha'], log_asgd['beta'])
+print(asgd_pi)
+
+#############################################################################
+#
+# Compare the results with the Sinkhorn algorithm
+# ---------------------------------------------
+#
+# Call the Sinkhorn algorithm from POT
+
+sinkhorn_pi = ot.sinkhorn(a, b, M, reg)
+print(sinkhorn_pi)
+
+
+##############################################################################
+# PLOT TRANSPORTATION MATRIX
+##############################################################################
+
+##############################################################################
+# Plot SAG results
+# ----------------
+
+pl.figure(4, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, sag_pi, 'semi-dual : OT matrix SAG')
+pl.show()
+
+
+##############################################################################
+# Plot ASGD results
+# -----------------
+
+pl.figure(4, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, asgd_pi, 'semi-dual : OT matrix ASGD')
+pl.show()
+
+
+##############################################################################
+# Plot Sinkhorn results
+# ---------------------
+
+pl.figure(4, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, sinkhorn_pi, 'OT matrix Sinkhorn')
+pl.show()
+
+
+#############################################################################
+# COMPUTE TRANSPORTATION MATRIX FOR DUAL PROBLEM
+#############################################################################
+print("------------DUAL PROBLEM------------")
+#############################################################################
+# SEMICONTINOUS CASE
+# Sample one general measure a, one discrete measures b for the semicontinous
+# case
+# ---------------------------------------------
+#
+# Define one general measure a, one discrete measures b, the points where
+# are defined the source and the target measures and finally the cost matrix c.
+
+n_source = 7
+n_target = 4
+reg = 1
+numItermax = 100000
+lr = 0.1
+batch_size = 3
+log = True
+
+a = ot.utils.unif(n_source)
+b = ot.utils.unif(n_target)
+
+rng = np.random.RandomState(0)
+X_source = rng.randn(n_source, 2)
+Y_target = rng.randn(n_target, 2)
+M = ot.dist(X_source, Y_target)
+
+#############################################################################
+#
+# Call the "SGD" dual method to find the transportation matrix in the
+# semicontinous case
+# ---------------------------------------------
+#
+# Call ot.solve_dual_entropic and plot the results.
+
+sgd_dual_pi, log_sgd = ot.stochastic.solve_dual_entropic(a, b, M, reg,
+ batch_size, numItermax,
+ lr, log=log)
+print(log_sgd['alpha'], log_sgd['beta'])
+print(sgd_dual_pi)
+
+#############################################################################
+#
+# Compare the results with the Sinkhorn algorithm
+# ---------------------------------------------
+#
+# Call the Sinkhorn algorithm from POT
+
+sinkhorn_pi = ot.sinkhorn(a, b, M, reg)
+print(sinkhorn_pi)
+
+##############################################################################
+# Plot SGD results
+# -----------------
+
+pl.figure(4, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, sgd_dual_pi, 'dual : OT matrix SGD')
+pl.show()
+
+
+##############################################################################
+# Plot Sinkhorn results
+# ---------------------
+
+pl.figure(4, figsize=(5, 5))
+ot.plot.plot1D_mat(a, b, sinkhorn_pi, 'OT matrix Sinkhorn')
+pl.show()
diff --git a/docs/source/auto_examples/plot_stochastic.rst b/docs/source/auto_examples/plot_stochastic.rst
new file mode 100644
index 0000000..a49bc05
--- /dev/null
+++ b/docs/source/auto_examples/plot_stochastic.rst
@@ -0,0 +1,475 @@
+
+
+.. _sphx_glr_auto_examples_plot_stochastic.py:
+
+
+==========================
+Stochastic examples
+==========================
+
+This example is designed to show how to use the stochatic optimization
+algorithms for descrete and semicontinous measures from the POT library.
+
+
+
+
+.. code-block:: python
+
+
+ # Author: Kilian Fatras <kilian.fatras@gmail.com>
+ #
+ # License: MIT License
+
+ import matplotlib.pylab as pl
+ import numpy as np
+ import ot
+ import ot.plot
+
+
+
+
+
+
+
+
+COMPUTE TRANSPORTATION MATRIX FOR SEMI-DUAL PROBLEM
+############################################################################
+
+
+
+.. code-block:: python
+
+ print("------------SEMI-DUAL PROBLEM------------")
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ Out::
+
+ ------------SEMI-DUAL PROBLEM------------
+
+
+DISCRETE CASE
+Sample two discrete measures for the discrete case
+---------------------------------------------
+
+Define 2 discrete measures a and b, the points where are defined the source
+and the target measures and finally the cost matrix c.
+
+
+
+.. code-block:: python
+
+
+ n_source = 7
+ n_target = 4
+ reg = 1
+ numItermax = 1000
+
+ a = ot.utils.unif(n_source)
+ b = ot.utils.unif(n_target)
+
+ rng = np.random.RandomState(0)
+ X_source = rng.randn(n_source, 2)
+ Y_target = rng.randn(n_target, 2)
+ M = ot.dist(X_source, Y_target)
+
+
+
+
+
+
+
+Call the "SAG" method to find the transportation matrix in the discrete case
+---------------------------------------------
+
+Define the method "SAG", call ot.solve_semi_dual_entropic and plot the
+results.
+
+
+
+.. code-block:: python
+
+
+ method = "SAG"
+ sag_pi = ot.stochastic.solve_semi_dual_entropic(a, b, M, reg, method,
+ numItermax)
+ print(sag_pi)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ Out::
+
+ [[2.55553509e-02 9.96395660e-02 1.76579142e-02 4.31178196e-06]
+ [1.21640234e-01 1.25357448e-02 1.30225078e-03 7.37891338e-03]
+ [3.56123975e-03 7.61451746e-02 6.31505947e-02 1.33831456e-07]
+ [2.61515202e-02 3.34246014e-02 8.28734709e-02 4.07550428e-04]
+ [9.85500870e-03 7.52288517e-04 1.08262628e-02 1.21423583e-01]
+ [2.16904253e-02 9.03825797e-04 1.87178503e-03 1.18391107e-01]
+ [4.15462212e-02 2.65987989e-02 7.23177216e-02 2.39440107e-03]]
+
+
+SEMICONTINOUS CASE
+Sample one general measure a, one discrete measures b for the semicontinous
+case
+---------------------------------------------
+
+Define one general measure a, one discrete measures b, the points where
+are defined the source and the target measures and finally the cost matrix c.
+
+
+
+.. code-block:: python
+
+
+ n_source = 7
+ n_target = 4
+ reg = 1
+ numItermax = 1000
+ log = True
+
+ a = ot.utils.unif(n_source)
+ b = ot.utils.unif(n_target)
+
+ rng = np.random.RandomState(0)
+ X_source = rng.randn(n_source, 2)
+ Y_target = rng.randn(n_target, 2)
+ M = ot.dist(X_source, Y_target)
+
+
+
+
+
+
+
+Call the "ASGD" method to find the transportation matrix in the semicontinous
+case
+---------------------------------------------
+
+Define the method "ASGD", call ot.solve_semi_dual_entropic and plot the
+results.
+
+
+
+.. code-block:: python
+
+
+ method = "ASGD"
+ asgd_pi, log_asgd = ot.stochastic.solve_semi_dual_entropic(a, b, M, reg, method,
+ numItermax, log=log)
+ print(log_asgd['alpha'], log_asgd['beta'])
+ print(asgd_pi)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ Out::
+
+ [3.9018759 7.63059124 3.93260224 2.67274989 1.43888443 3.26904884
+ 2.78748299] [-2.48511647 -2.43621119 -0.93585194 5.8571796 ]
+ [[2.56614773e-02 9.96758169e-02 1.75151781e-02 4.67049862e-06]
+ [1.21201047e-01 1.24433535e-02 1.28173754e-03 7.93100436e-03]
+ [3.58778167e-03 7.64232233e-02 6.28459924e-02 1.45441936e-07]
+ [2.63551754e-02 3.35577920e-02 8.25011211e-02 4.43054320e-04]
+ [9.24518246e-03 7.03074064e-04 1.00325744e-02 1.22876312e-01]
+ [2.03656325e-02 8.45420425e-04 1.73604569e-03 1.19910044e-01]
+ [4.17781688e-02 2.66463708e-02 7.18353075e-02 2.59729583e-03]]
+
+
+Compare the results with the Sinkhorn algorithm
+---------------------------------------------
+
+Call the Sinkhorn algorithm from POT
+
+
+
+.. code-block:: python
+
+
+ sinkhorn_pi = ot.sinkhorn(a, b, M, reg)
+ print(sinkhorn_pi)
+
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ Out::
+
+ [[2.55535622e-02 9.96413843e-02 1.76578860e-02 4.31043335e-06]
+ [1.21640742e-01 1.25369034e-02 1.30234529e-03 7.37715259e-03]
+ [3.56096458e-03 7.61460101e-02 6.31500344e-02 1.33788624e-07]
+ [2.61499607e-02 3.34255577e-02 8.28741973e-02 4.07427179e-04]
+ [9.85698720e-03 7.52505948e-04 1.08291770e-02 1.21418473e-01]
+ [2.16947591e-02 9.04086158e-04 1.87228707e-03 1.18386011e-01]
+ [4.15442692e-02 2.65998963e-02 7.23192701e-02 2.39370724e-03]]
+
+
+PLOT TRANSPORTATION MATRIX
+#############################################################################
+
+
+Plot SAG results
+----------------
+
+
+
+.. code-block:: python
+
+
+ pl.figure(4, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, sag_pi, 'semi-dual : OT matrix SAG')
+ pl.show()
+
+
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_stochastic_004.png
+ :align: center
+
+
+
+
+Plot ASGD results
+-----------------
+
+
+
+.. code-block:: python
+
+
+ pl.figure(4, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, asgd_pi, 'semi-dual : OT matrix ASGD')
+ pl.show()
+
+
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_stochastic_005.png
+ :align: center
+
+
+
+
+Plot Sinkhorn results
+---------------------
+
+
+
+.. code-block:: python
+
+
+ pl.figure(4, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, sinkhorn_pi, 'OT matrix Sinkhorn')
+ pl.show()
+
+
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_stochastic_006.png
+ :align: center
+
+
+
+
+COMPUTE TRANSPORTATION MATRIX FOR DUAL PROBLEM
+############################################################################
+
+
+
+.. code-block:: python
+
+ print("------------DUAL PROBLEM------------")
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ Out::
+
+ ------------DUAL PROBLEM------------
+
+
+SEMICONTINOUS CASE
+Sample one general measure a, one discrete measures b for the semicontinous
+case
+---------------------------------------------
+
+Define one general measure a, one discrete measures b, the points where
+are defined the source and the target measures and finally the cost matrix c.
+
+
+
+.. code-block:: python
+
+
+ n_source = 7
+ n_target = 4
+ reg = 1
+ numItermax = 100000
+ lr = 0.1
+ batch_size = 3
+ log = True
+
+ a = ot.utils.unif(n_source)
+ b = ot.utils.unif(n_target)
+
+ rng = np.random.RandomState(0)
+ X_source = rng.randn(n_source, 2)
+ Y_target = rng.randn(n_target, 2)
+ M = ot.dist(X_source, Y_target)
+
+
+
+
+
+
+
+Call the "SGD" dual method to find the transportation matrix in the
+semicontinous case
+---------------------------------------------
+
+Call ot.solve_dual_entropic and plot the results.
+
+
+
+.. code-block:: python
+
+
+ sgd_dual_pi, log_sgd = ot.stochastic.solve_dual_entropic(a, b, M, reg,
+ batch_size, numItermax,
+ lr, log=log)
+ print(log_sgd['alpha'], log_sgd['beta'])
+ print(sgd_dual_pi)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ Out::
+
+ [ 1.29325617 5.0435082 1.30996326 0.05538236 -1.08113283 0.73711558
+ 0.18086364] [0.08840343 0.17710082 1.68604226 8.37377551]
+ [[2.47763879e-02 1.00144623e-01 1.77492330e-02 4.25988443e-06]
+ [1.19568278e-01 1.27740478e-02 1.32714202e-03 7.39121816e-03]
+ [3.41581121e-03 7.57137404e-02 6.27992039e-02 1.30808430e-07]
+ [2.52245323e-02 3.34219732e-02 8.28754229e-02 4.00582912e-04]
+ [9.75329554e-03 7.71824343e-04 1.11085400e-02 1.22456628e-01]
+ [2.12304276e-02 9.17096580e-04 1.89946234e-03 1.18084973e-01]
+ [4.04179693e-02 2.68253041e-02 7.29410047e-02 2.37369404e-03]]
+
+
+Compare the results with the Sinkhorn algorithm
+---------------------------------------------
+
+Call the Sinkhorn algorithm from POT
+
+
+
+.. code-block:: python
+
+
+ sinkhorn_pi = ot.sinkhorn(a, b, M, reg)
+ print(sinkhorn_pi)
+
+
+
+
+
+.. rst-class:: sphx-glr-script-out
+
+ Out::
+
+ [[2.55535622e-02 9.96413843e-02 1.76578860e-02 4.31043335e-06]
+ [1.21640742e-01 1.25369034e-02 1.30234529e-03 7.37715259e-03]
+ [3.56096458e-03 7.61460101e-02 6.31500344e-02 1.33788624e-07]
+ [2.61499607e-02 3.34255577e-02 8.28741973e-02 4.07427179e-04]
+ [9.85698720e-03 7.52505948e-04 1.08291770e-02 1.21418473e-01]
+ [2.16947591e-02 9.04086158e-04 1.87228707e-03 1.18386011e-01]
+ [4.15442692e-02 2.65998963e-02 7.23192701e-02 2.39370724e-03]]
+
+
+Plot SGD results
+-----------------
+
+
+
+.. code-block:: python
+
+
+ pl.figure(4, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, sgd_dual_pi, 'dual : OT matrix SGD')
+ pl.show()
+
+
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_stochastic_007.png
+ :align: center
+
+
+
+
+Plot Sinkhorn results
+---------------------
+
+
+
+.. code-block:: python
+
+
+ pl.figure(4, figsize=(5, 5))
+ ot.plot.plot1D_mat(a, b, sinkhorn_pi, 'OT matrix Sinkhorn')
+ pl.show()
+
+
+
+.. image:: /auto_examples/images/sphx_glr_plot_stochastic_008.png
+ :align: center
+
+
+
+
+**Total running time of the script:** ( 0 minutes 22.857 seconds)
+
+
+
+.. only :: html
+
+ .. container:: sphx-glr-footer
+
+
+ .. container:: sphx-glr-download
+
+ :download:`Download Python source code: plot_stochastic.py <plot_stochastic.py>`
+
+
+
+ .. container:: sphx-glr-download
+
+ :download:`Download Jupyter notebook: plot_stochastic.ipynb <plot_stochastic.ipynb>`
+
+
+.. only:: html
+
+ .. rst-class:: sphx-glr-signature
+
+ `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.readthedocs.io>`_
diff --git a/docs/source/readme.rst b/docs/source/readme.rst
index 5d37f64..d10b769 100644
--- a/docs/source/readme.rst
+++ b/docs/source/readme.rst
@@ -19,6 +19,7 @@ It provides the following solvers:
squared L2 regularizations [17].
- Non regularized Wasserstein barycenters [16] with LP solver (only
small scale).
+- Non regularized free support Wasserstein barycenters [20].
- Bregman projections for Wasserstein barycenter [3] and unmixing [4].
- Optimal transport for domain adaptation with group lasso
regularization [5]
@@ -29,6 +30,8 @@ It provides the following solvers:
pymanopt).
- Gromov-Wasserstein distances and barycenters ([13] and regularized
[12])
+- Stochastic Optimization for Large-scale Optimal Transport (semi-dual
+ problem [18] and dual problem [19])
Some demonstrations (both in Python and Jupyter Notebook format) are
available in the examples folder.
@@ -219,6 +222,8 @@ The contributors to this library are:
- `Stanislas Chambon <https://slasnista.github.io/>`__
- `Antoine Rolet <https://arolet.github.io/>`__
- Erwan Vautier (Gromov-Wasserstein)
+- `Kilian Fatras <https://kilianfatras.github.io/>`__ (Stochastic
+ optimization)
This toolbox benefit a lot from open source research and we would like
to thank the following persons for providing some code (in various
@@ -334,6 +339,20 @@ Optimal Transport <https://arxiv.org/abs/1710.06276>`__. Proceedings of
the Twenty-First International Conference on Artificial Intelligence and
Statistics (AISTATS).
+[18] Genevay, A., Cuturi, M., Peyré, G. & Bach, F. (2016) `Stochastic
+Optimization for Large-scale Optimal
+Transport <arXiv%20preprint%20arxiv:1605.08527>`__. Advances in Neural
+Information Processing Systems (2016).
+
+[19] Seguy, V., Bhushan Damodaran, B., Flamary, R., Courty, N., Rolet,
+A.& Blondel, M. `Large-scale Optimal Transport and Mapping
+Estimation <https://arxiv.org/pdf/1711.02283.pdf>`__. International
+Conference on Learning Representation (2018)
+
+[20] Cuturi, M. and Doucet, A. (2014) `Fast Computation of Wasserstein
+Barycenters <http://proceedings.mlr.press/v32/cuturi14.html>`__.
+International Conference in Machine Learning
+
.. |PyPI version| image:: https://badge.fury.io/py/POT.svg
:target: https://badge.fury.io/py/POT
.. |Anaconda Cloud| image:: https://anaconda.org/conda-forge/pot/badges/version.svg
diff --git a/examples/plot_barycenter_1D.py b/examples/plot_barycenter_1D.py
index 5ed9f3f..6864301 100644
--- a/examples/plot_barycenter_1D.py
+++ b/examples/plot_barycenter_1D.py
@@ -25,7 +25,7 @@ import ot
from mpl_toolkits.mplot3d import Axes3D # noqa
from matplotlib.collections import PolyCollection
-#
+##############################################################################
# Generate data
# -------------
@@ -48,7 +48,7 @@ n_distributions = A.shape[1]
M = ot.utils.dist0(n)
M /= M.max()
-#
+##############################################################################
# Plot data
# ---------
@@ -60,7 +60,7 @@ for i in range(n_distributions):
pl.title('Distributions')
pl.tight_layout()
-#
+##############################################################################
# Barycenter computation
# ----------------------
@@ -90,7 +90,7 @@ pl.legend()
pl.title('Barycenters')
pl.tight_layout()
-#
+##############################################################################
# Barycentric interpolation
# -------------------------
diff --git a/notebooks/plot_OT_1D_smooth.ipynb b/notebooks/plot_OT_1D_smooth.ipynb
new file mode 100644
index 0000000..69e71da
--- /dev/null
+++ b/notebooks/plot_OT_1D_smooth.ipynb
@@ -0,0 +1,302 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# 1D smooth optimal transport\n",
+ "\n",
+ "\n",
+ "This example illustrates the computation of EMD, Sinkhorn and smooth OT plans\n",
+ "and their visualization.\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "# Author: Remi Flamary <remi.flamary@unice.fr>\n",
+ "#\n",
+ "# License: MIT License\n",
+ "\n",
+ "import numpy as np\n",
+ "import matplotlib.pylab as pl\n",
+ "import ot\n",
+ "import ot.plot\n",
+ "from ot.datasets import make_1D_gauss as gauss"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Generate data\n",
+ "-------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "#%% parameters\n",
+ "\n",
+ "n = 100 # nb bins\n",
+ "\n",
+ "# bin positions\n",
+ "x = np.arange(n, dtype=np.float64)\n",
+ "\n",
+ "# Gaussian distributions\n",
+ "a = gauss(n, m=20, s=5) # m= mean, s= std\n",
+ "b = gauss(n, m=60, s=10)\n",
+ "\n",
+ "# loss matrix\n",
+ "M = ot.dist(x.reshape((n, 1)), x.reshape((n, 1)))\n",
+ "M /= M.max()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot distributions and loss matrix\n",
+ "----------------------------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAADFCAYAAABzYARGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl4U2X2wPHvoWW1yFZEsSCgiGylQEUERHBQdFBRB0cEFVdcBmVUEHQQEZfB0UH9CeIwMo47KCqDK4iAICrSYgsUZEepiiJiEdm6vL8/ToKltCVt09ws5/M8edIkNzcnN2nOfXdxzmGMMcZUVBWvAzDGGBMdLKEYY4wJCksoxhhjgsISijHGmKCwhGKMMSYoLKEYY4wJCksoxhhjgsISijHGmKCwhGKMMSYo4r0OoKjExETXrFkzr8MwxhgDpKen/+ScaxjItmGXUJo1a0ZaWprXYRhjjAFE5OtAt7UqL2OMMUFhCcUYY0xQBJRQRORcEVkrIhtEZHQxj1cXkRm+x5eKSDPf/VVF5HkRWSkia0Tk7uCGb4wxJlwcsQ1FROKAycDZQDawTERmO+dWF9rsOmCnc+4kERkIPAJcBlwKVHfOtReRWsBqEXnVObcl2G/EGFN+ubm5ZGdns2/fPq9DMR6pUaMGSUlJVK1atdz7CKRRvguwwTm3CUBEpgP9gcIJpT8wzvf3TGCSiAjggKNEJB6oCRwAdpU7WhOQOXNg9WoYPhyqWKWmCUB2dja1a9emWbNm6L+uiSXOOXbs2EF2djbNmzcv934C+bk5Htha6Ha2775it3HO5QE5QAM0ufwGfA98AzzmnPu56AuIyFARSRORtO3bt5f5TZjfPfMM/PGPcMcdMGgQ7N/vdUQmEuzbt48GDRpYMolRIkKDBg0qXEKt7PPXLkA+0BhoDtwpIi2KbuScm+qcS3XOpTZsGFB3Z1OEczBmDNx8M5x3Hjz4IMyYoX/n5HgdnYkElkxiWzA+/0CqvL4FmhS6neS7r7htsn3VW3WAHcAg4APnXC7wo4gsAVKBTRUN3Bzqtttg0iS49lr4178gPh6aNtXbPXvCkiWQkOB1lMaYaBZICWUZ0FJEmotINWAgMLvINrOBIb6/BwDznS5W/w1wFoCIHAV0Bb4KRuDmd19/DZMnw9Ch8OyzmkwArrwSXn8dVqyAV17xNkZjjuShhx6ibdu2JCcnk5KSwtKlS70O6TAJvrOy7777jgEDBpS43S+//MLTTz9d6r66desGwMKFCzn//PPLFMesWbNYvfr3ZuyxY8cyb968Mu2jMhwxofjaRIYBc4A1wGvOuSwRGS8iF/o2mwY0EJENwB2Av2vxZCBBRLLQxPScc25FsN9ErHvuOb2++24oWmrt3x/atoVp00IflzGB+uyzz3jnnXdYvnw5K1asYN68eTRp0uTITzyCvLy8IER3uMaNGzNz5swSHy8tofhj+vTTT8v9+kUTyvjx4+nTp0+59xcsAU294px7D3ivyH1jC/29D+0iXPR5u4u73wRPfr4mlD59oLgp0ETguuu0kX7VKmjXLuQhmgjz179CRkZw95mSAk88UfLj33//PYmJiVSvXh2AxMTEg4999NFHjBgxgry8PE499VSmTJlC9erVD07TlJiYSFpaGiNGjGDhwoWMGzeOjRs3smnTJpo2bcpLL73EqFGj+OCDD6hSpQo33HADt956K+np6dxxxx3s3r2bxMRE/vvf/3LccccdEtfmzZsZNGgQu3fvpn///gfv37JlC+effz6rVq0iKyuLa665hgMHDlBQUMAbb7zBvffey8aNG0lJSeHss8+mX79+3HvvvdSrV4+vvvqKdevWkZCQwO7duwHYtWsX/fr1Y8OGDfTu3Zunn36aKlWqHLLNzJkzeeeddxg6dCizZ8/m448/5sEHH+SNN97ggQce4Pzzz2fAgAGlHq8hQ4bw9ttvk5uby+uvv84pp5wSrI8YsJHyEe+jj+CbbzRplOTKK6FqVSulmPB1zjnnsHXrVk4++WRuueUWPv74Y0B7n1199dXMmDGDlStXkpeXx5QpU464v9WrVzNv3jxeffVVpk6dypYtW8jIyGDFihUMHjyY3Nxcbr31VmbOnEl6ejrXXnstf/vb3w7bz/Dhw7n55ptZuXLlYcnG75lnnmH48OFkZGSQlpZGUlISEyZM4MQTTyQjI4NHH30UgOXLl/Pkk0+ybt26w/bxxRdf8NRTT7F69Wo2btzIm2++WeJ769atGxdeeCGPPvooGRkZnHjiiQcfO9LxSkxMZPny5dx888089thjRzyOZRV2k0Oaspk2DerXh4suKnmbxESt+nrxRZgwAXwngcYUq7SSRGVJSEggPT2dxYsXs2DBAi677DImTJhA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\n",
+ "text/plain": [
+ "<Figure size 460.8x216 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#%% plot the distributions\n",
+ "\n",
+ "pl.figure(1, figsize=(6.4, 3))\n",
+ "pl.plot(x, a, 'b', label='Source distribution')\n",
+ "pl.plot(x, b, 'r', label='Target distribution')\n",
+ "pl.legend()\n",
+ "\n",
+ "#%% plot distributions and loss matrix\n",
+ "\n",
+ "pl.figure(2, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, M, 'Cost matrix M')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Solve EMD\n",
+ "---------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#%% EMD\n",
+ "\n",
+ "G0 = ot.emd(a, b, M)\n",
+ "\n",
+ "pl.figure(3, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, G0, 'OT matrix G0')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Solve Sinkhorn\n",
+ "--------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "It. |Err \n",
+ "-------------------\n",
+ " 0|7.958844e-02|\n",
+ " 10|5.921715e-03|\n",
+ " 20|1.238266e-04|\n",
+ " 30|2.469780e-06|\n",
+ " 40|4.919966e-08|\n",
+ " 50|9.800197e-10|\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#%% Sinkhorn\n",
+ "\n",
+ "lambd = 2e-3\n",
+ "Gs = ot.sinkhorn(a, b, M, lambd, verbose=True)\n",
+ "\n",
+ "pl.figure(4, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, Gs, 'OT matrix Sinkhorn')\n",
+ "\n",
+ "pl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Solve Smooth OT\n",
+ "--------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#%% Smooth OT with KL regularization\n",
+ "\n",
+ "lambd = 2e-3\n",
+ "Gsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='kl')\n",
+ "\n",
+ "pl.figure(5, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT KL reg.')\n",
+ "\n",
+ "pl.show()\n",
+ "\n",
+ "\n",
+ "#%% Smooth OT with KL regularization\n",
+ "\n",
+ "lambd = 1e-1\n",
+ "Gsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='l2')\n",
+ "\n",
+ "pl.figure(6, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT l2 reg.')\n",
+ "\n",
+ "pl.show()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/notebooks/plot_barycenter_1D.ipynb b/notebooks/plot_barycenter_1D.ipynb
index 4a0956b..bd73a99 100644
--- a/notebooks/plot_barycenter_1D.ipynb
+++ b/notebooks/plot_barycenter_1D.ipynb
@@ -36,48 +36,7 @@
"metadata": {
"collapsed": false
},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<Figure size 460.8x216 with 1 Axes>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<Figure size 432x288 with 2 Axes>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsvXt8W3d9//86OrpLdnxLYjt27dhJk8a5NReadJR0o9CtQH8FCiv0wqBdRwd7lMu4toOOddtjGw/G+mB8gS8MKCNt1zLIt7ACvQMrSXpJmmsT25Jt2ZJtWZZ1O5LO7fP7Q/mcHEnn6C5bsc/z8UjTSPI5R8fSeZ33+/N6v98MIQQGBgYGBgaNhmmpD8DAwMDAwEALQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSc5mvN9pOGBgYGBhUC1PKi4wIysDAwMCgITEEysDAwMCgITEEysDAwMCgITEEysDAwMCgITEEymBF8Q//8A+46667lvowSuKBBx7AbbfdVvHPDw0N4YUXXqjdAdV4/9deey2++93vlrStF154AT09PTU6MoNLBUOglin9/f1wOBxwu91obW3FO97xDvh8vqU+rLKo9gKtxRe/+MWSL4r12H+9+LM/+zPcf//9WY+dPn0a11577dIcUM7+a3ku0+k07rzzTvT19aGpqQk7d+7EU089VZNtGzQWhkAtY5588knE43EEAgGsXbsWf/VXf1XRdkRRrPGRLQ5LfdxLvf/liiiK6O3txYsvvohIJIIHH3wQ73//+zE2NrbUh2ZQawgh5fwxuETo6+sjTz/9tPLvX/ziF2Tjxo3Kv3/+85+TnTt3kqamJtLT00O+/OUvK895vV4CgHz3u98lvb295JprriE33HADeeihh7L2sW3bNvLf//3fhBBCTp06Ra677jrS2tpK1qxZQ/7+7/+eEEKIJEnkH//xH8nAwABpa2sj73vf+0goFMrazw9+8APS29tL2tvbyYMPPkgIIeSpp54iFouFmM1m4nK5yPbt2wkhhCwsLJCPfOQjpLOzk3R3d5P77ruPiKJICCHk+9//Prn66qvJJz7xCdLW1kbuu+++vPPy5S9/mdx6662Ltn/62Mc+9jHS3NxMNm3aRJ555hnleKampsi73vUu0traSgYHB8l3vvMdzWMlhJCbb76ZrF27ljQ3N5NrrrmGnDp1ihBCyLe//W1iNpuJxWIhLpeLvPOd78z7DKRSKXLvvfeSrq4u0tXVRe69916SSqUIIYQ8//zzZN26deSrX/0qWb16Nens7CT/8R//ofGpIuS5554jW7duVf593XXXkT179ij/fvOb30x++tOfZu1f71weOHCA3H///eTqq68mbrebvO1tbyPBYFBzv/QY9di2bRt54okndJ83aDhK0hxDoJYp6otTIpEgd9xxB7n99tuV559//nly4sQJIkkSef3118maNWuUCwu9cN9+++0kHo8TjuPIY489Rt70pjcpP3/8+HHS1tZG0uk0iUajpLOzk3z1q18lyWSSRKNRcvjwYUIIIV//+tfJVVddRXw+H0mlUuTuu+8mt9xyS9Z+7rrrLsJxHDl+/DixWq3kzJkzhJD8CzQhhNx0003k7rvvJvF4nMzMzJC9e/eSb33rW4SQjECwLEseeughIggC4Tgu77xoCVQ9908f+9rXvkZ4niePPvooaW5uVkT6mmuuIffccw9JJpPk2LFjpKOjgzz77LOa+//e975HotGoIjY7duxQnvvQhz6UJ8jqz8Df/M3fkKuuuorMzMyQ2dlZsn//fnL//fcrnwWWZcnf/M3fEJ7nyS9+8QvicDjI/Px83vnjOI7YbDYSDAYJz/NkzZo1pLu7m0SjUcJxHLHb7WRubi5v/1rn8sCBA2RgYICcO3eOcBxHDhw4QD73uc/l7ZMeo55ATU9PE5vNRs6ePav5vEFDYgjUSqavr4+4XC6yatUqYjabSVdXFzlx4oTu6++9917yiU98ghBy8cI9OjqqPJ9MJklLSws5f/48IYSQT3/60+See+4hhBBy8OBBsnPnTs3tbt68OSti8Pv9xGw2E0EQlP34fD7l+b1795JHHnmEEJJ/UZueniZWqzVLeA4ePEiuvfZaQkhGIHp7ewueFy2Bquf+v//975Ouri4iy3LWPh5++GEyMTFBTCYTiUajynOf//znyYc+9CHN/asJh8MEAFlYWCCEFBeogYEB8otf/EJ57pe//CXp6+sjhGQu/na7nQiCoDy/evVq8vvf/15z329+85vJT37yE/L73/+evO1tbyPve9/7yFNPPUWee+45sm3bNs396wnU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\n",
- "text/plain": [
- "<Figure size 432x288 with 1 Axes>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXl8G/WZ/z8zI1mSLd9HbMeOr9zOBU4gDoTQQqGcP9pCS2mg25aWdtt9Qct2oUAp22Xb7tJXt8uv27J9lYUCDaTQIwv8uEogIRwJkPu2Lcn3IUuydR8z8/39oXwnI2l0S7Ziz/v1CiE6RqORNJ95nu/neR6GEAIVFRUVFZVCg53tHVBRUVFRUVFCFSgVFRUVlYJEFSgVFRUVlYJEFSgVFRUVlYJEFSgVFRUVlYJEFSgVFRUVlYJEFSgVFRUVlYJEFSgVFRUVlYJEFSgVFRUVlYJEk+bj1bYTKioqKirZwqTyIDWCUlFRUVEpSFSBUlFRUVEpSFSBUlFRUVEpSFSBUlFRUVEpSFSBUplRfvKTn+D222+f7d1IiYceeghbt27N+PmdnZ14++23c7dDOX79Sy+9FL/73e9mbofOUd555x0sW7ZstndjXqIKVJ5obW2FwWCA0WhEZWUlrrnmGgwODs72bqVFtidoJe67776UT4r5eP188Xd/93d44IEHIm47duwYLr300tnZoajXz/ZYLlu2DNu3b5f+/e6774JhmJjbSktLwfN8xq8zEzz55JO4+OKLU3785s2bcerUqTzukUo8VIHKIy+++CLcbjdGR0exYMEC/MM//ENG2yn0H3w8Znu/Z/v15xKXXHIJdu/eLf179+7dWL58ecxt3d3d0GjSrV7JLYQQiKI4q/ugkiMIIen8UUmRlpYW8sYbb0j/fvnll8mSJUukf7/00ktk3bp1pLS0lDQ1NZEf/ehH0n1ms5kAIL/73e9Ic3Mz2bx5M7n66qvJo48+GvEaq1evJn/+858JIYQcPXqUXH755aSyspLU1dWRf/3XfyWEECIIAvnpT39K2tvbSVVVFbnpppuIzWaLeJ0nn3ySNDc3k+rqavLwww8TQgh55ZVXiFarJRqNhpSUlJA1a9YQQgiZmpoiX/3qV0l9fT1pbGwk999/P+F5nhBCyBNPPEE2bdpE7rrrLlJVVUXuv//+mOPyox/9iHzpS1+asdent337298mZWVlZNmyZeRvf/ubtD/Dw8PkuuuuI5WVlaSjo4P89re/VdxXQgi58cYbyYIFC0hZWRnZvHkzOXr0KCGEkP/+7/8mGo2GaLVaUlJSQq699tqY74Df7yd33nknaWhoIA0NDeTOO+8kfr+fEELIW2+9RRYuXEh+/vOfk9raWlJfX0/+53/+R+FbRcjOnTvJqlWrpH9ffvnlZP369dK/L774YvKXv/wl4vXjHcstW7aQBx54gGzatIkYjUbyqU99ilitVsXXfeqppyJe96qrriJPPPFEzG3/8i//QgghpLe3l3ziE58gVVVVpLq6mtxyyy3E4XBIj/3Zz35GGhsbidFoJEuXLpU+k71795Kuri5SWlpK6urqyHe/+13pOe+//z7p7u4m5eXlZM2aNeStt96S7tuyZQu57777yKZNm4heryc9PT3kiSeeIG1tbcRoNJLW1lbyzDPPkOPHjxOdTkdYliUlJSWkvLxc+nzuvvtu0tzcTOrq6sgdd9xBvF5vxOdDaWlpIY888ghZvXo1KSsrI5///OeJz+dTPG4qcUlJc1SByhPyk5PH4yG33XYbufXWW6X733rrLXL48GEiCAI5dOgQqaurk04s9MR96623ErfbTbxeL9m+fTu54IILpOcfPHiQVFVVkUAgQJxOJ6mvryc///nPic/nI06nk3zwwQeEEEJ++ctfkgsvvJAMDg4Sv99PvvGNb5Cbb7454nVuv/124vV6ycGDB0lRURE5fvw4IST2BE0IITfccAP5xje+QdxuNxkfHycbNmwgjz32GCEkLBAcx5FHH32UhEIh6QcuR0mg8vn69LZf/OIXJBgMkueee46UlZVJIr1582byrW99i/h8PnLgwAFSU1ND3nzzTcXXf/zxx4nT6ZTEZu3atdJ9X/7yl2MEWf4d+OEPf0guvPBCMj4+TiYmJkh3dzd54IEHpO8Cx3Hkhz/8IQkGg+Tll18mBoOB2O32mOPn9XqJTqcjVquVBINBUldXRxobG4nT6SRer5fo9XoyOTkZ8/pKx3LLli2kvb2dnDp1ini9XrJlyxZyzz33xLwmIYRYLBbCMAyx2WxEEARSW1tLvF4vaWpqkm4rKysju3btIoQQ0tPTQ15//XXi9/vJxMQE2bx5M7nzzjsJIYScPHmSNDU1keHhYel70NvbSwghZOPGjeSpp54ihBDicrnI+++/TwghZGhoiFRVVZGXX36ZCIJAXn/9dVJVVUUmJiak99Lc3EyOHj1KQqEQmZqaIqWlpeTkyZOEEEJGRkakC4onnniCXHTRRRHv76677iLXXXcdsdlsxOl0kmuvvZbce++90ucTLVAbNmwgw8PDxGazkeXLl5Pf/OY3isdNJS6qQM0mLS0t0hWaRqMhDQ0N5PDhw3Eff+edd5K77rqLEHL2xN3X1yfd7/P5SEVFBTl9+jQhhJC7776bfOtb3yKEELJt2zaybt06xe0uX748ImIYGRkhGo2GhEIh6XUGBwel+zds2ECeffZZQkjsSW1sbIwUFRVFCM+2bdvIpZdeSggJ//Cbm5sTHhclgcrn6z/xxBOkoaGBiKIY8RpPPfUUGRgYICzLEqfTKd137733ki9/+cuKry/H4XAQAGRqaooQklyg2tvbycsvvyzd9+qrr5KWlhZCSPgEqNfrSSgUku6vra2VTs7RXHzxxeRPf/oTef/998mnPvUpctNNN5FXXnmF7Ny5k6xevVrx9eMJFI14CCHkv/7rv8iVV16p+Jp0e3/961/J/v37yaZNmwghhHzhC1+QbtPr9VJUGM1f/vIX6Tva09NDamtryRtvvEGCwWDE4zZv3kwefPDBmEjuZz/7Gdm6dWvEbVdccQV58sknpffywx/+ULrP7XaT8vJy8sILL8RcKEULlCiKpLi4WBJJQgh57733SGtrKyFEWaCefvpp6d/f//73yR133KH4vlXikpLmqGtQeeSvf/0rpqam4Pf78atf/QpbtmzB2NgYAGDv3r34xCc+gdraWpSXl+Oxxx7D5ORkxPObm5ul/9fr9fjCF76AZ555BqIo4tlnn8Wtt94KABgcHERHR4fiPvT39+Mzn/kMKioqUFFRgRUrVoDjOIyPj0uPqa+vl/6/uLgYbrc77rZCoRAaGhqk7d1xxx2YmJhQ3OdUyffrL1y4EAxztrNKS0sLRkZGMDIygqqqKpSWlkbcNzw8HLMNQRBw7733oqOjA2VlZWhtbQWAmM8sHiMjI2hpaYnZB0p1dXXE2k2i47Blyxa8/fbb2L17N7Zs2YJLL70Uu3btwq5du7Bly5aU9oeS6rEHzq5D7d69G5s3bwYAXHzxxdJtF1xwAXQ6HQBgfHwcN998MxYuXIiysjJs3bpVOlaLFy/GL3/5Szz00EOoq6vDzTffLB2Lxx9/HKdPn8by5cuxYcMGvPTSSwDCn/3zzz8vfe4VFRXYs2cPRkdHpf2Tf/YlJSXYvn07HnvsMTQ0NOCaa67ByZMnFd+X1WqF1+tFV1eXtO1Pf/rTsFqtOTluKpmjCtQMwHEcPvvZz4LjOOzZswcAcMstt+D666/H4OAgpqen8c1vfjMc0sqQn1QB4Mtf/jL+8Ic/4M0330RxcTG6u7sBhH+YJpNJ8bWbm5vxyiuvYGpqSvrj9/uxcOHCpPsd/frNzc3Q6XSYnJyUtuV0OnHs2LG4z8mGXL3+8PBwxLEdGBhAY2MjGhsbYbfb4XK5Iu5TOjbbtm3Djh078Le//Q3T09OwWCwAIG032ftubGxEf39/zD5kQrRAbdmyJalA5eJzoQL1zjvvSAK1efNm6bZLLrlEeux9990HhmFw5MgROJ1OPPPMMxGfwS233II9e/agv78fDMPgnnvuAQAsWbIEzz77LCYmJnDPPffgxhtvhMfjQXNzM2699daI77HH48G9994b9z1eeeWVeOONNzA6Oorly5fj61//uuLjampqYDAYcOzYMWnb09PTqugUAKpAzQCEEOzYsQMOhwMrVqwAALhcLlRVVUGv12Pfvn3Ytm1b0u10d3eDZVncfffdUvQEANdeey1GR0fxy1/+EoFAAC6XC3v37gUAfPOb38T9998vnRytVit27NiR0n4vWLAAFotFckQ1NDTgiiuuwN133w2n0wlRFNHX14ddu3aldTxSJVevPzExgUcffRShUAjPP/88Tpw4gauvvhrNzc3YtGkTfvCDH8Dv9+Pw4cN4/PHHFe3YLpcLOp0O1dXV8Hq9uO+++2L2Nd5FAgB88YtfxMMPPwyr1YrJyUn8+Mc/ztj2vWnTJpw6dQr79u3DBRdcgM7OTvT392Pv3r0RIhG9f/JjmQmXXHIJDhw4gN27d+Oiiy4CAKxevRpmsxlvvfVWxGu7XC4YjUaUl5djeHgYjzzyiHTfqVOnsHPnTgQCAej1ehgMBrBs+FT0zDPPwGq1gmVZVFRUAABYlsXWrVvx4osv4rXXXoMgCPD7/Xj77bcxNDSkuK/j4+PYsWMHPB4PdDodjEaj9BoLFizA0NAQgsGgtP2vf/3r+O53vytF48PDw3jttdcyPlYquUEVqDxy3XXXwWg0oqysDPfffz9+//vfo7OzEwDw61//Gg8++CBKS0vx4x//GJ///OdT2uZtt92GI0eORJzcSktL8cYbb+DFF19EfX09lixZgrfeegsAcOedd+L666/HFVdcgdLSUmzcuFESr2TcdNNNAMLpp/PPPx8A8NRTTyEYDGLlypWorKzEjTfeGJFmySW5ev0LL7wQPT09qKmpwf33348XXngB1dXVAIBnn30WFosFjY2N+MxnPoN//ud/xuWXXx6zjdtuuw0tLS1YuHAhVq5ciY0bN0bc/7WvfQ3Hjx9HRUUFbrjhhpjnP/DAA1i/fj3WrFmD1atX4/zzz4+pm0qVkpISnH/++ejs7ERRURGA8MVLS0sL6urqFJ+jdCzTZenSpaitrUV9fX2EeFxwwQVwOp3YtGmT9Ngf/ehH2L9/P8rLy3HNNdfgs5/9rHRfIBDAvffei5qaGtTX12NiYgI//elPAQCvvvoqOjs7YTQaceedd+K5556DwWBAc3MzduzYgZ/85Ceora1Fc3MzHnnkkbiCK4oifvGLX6CxsRFVVVXYtWsXfvOb3wAAPvnJT6KzsxP19fWoqakBAPzbv/0bFi9ejI0bN6KsrAyXX365WvtUADDRaaUkqOM2ZpmnnnoKv/3tb6VUoUpinnzySfzud79Tj5eKSmGRUs55divqVNLC6/Xi17/+Nf7+7/9+tnelYCCEIBgMQhRFaDQasCwLlmVzuhamoqIyO6gpvnOE1157DbW1tViwYAFuueWW2d6dWUcURXg8Hvj9fgSDQfj9fng8HrhcLhw7dgxOpxMejwehUAiEEAiCEGNCUVFRKWzUFJ/KOQOtjQiFQhBFEe+//z42bdoEnuchiqIUNe3btw8bNmyIqKdgGCZcV8Gy4DguItqiEZcadamozBhqik9lbkDO9FajQgRAEhSGYaToiOO4mPuitwOEa5qi+/QxDKMoXqpwqajMHqpAqRQsNDUnCIIUIckFQxRFnDx5EpOTk9JtBoMBgUAA4+PjKCkpQXFxsWQvpo9REhwqgoIgSPZjCsdxEX9U4VJRmRlUgVIpOKgw8TwvpefkguDxeGA2m+Hz+VBRUYGOjg6IoghCCPx+Pw4ePAifzwebzQav1wtRFKHX6yXBKikpQUlJiRRxAYgrOHLhovtCYVlWiraocKkGDRWV3KEKlErBQAgBz/MRYkCjHwCYnp6GyWRCKBRCW1sbpqenUV9fL6XrWJZFcXExtFqt1IqIbtfv98Pr9cLj8WB4eBherxeCIECn00WIFn0+JZFwUQehknBFR1yqcKmopI8qUCqzDhUmKjRyYSKEwG63w2w2g2VZtLe3S0WiPT09EduIJwAMw8BgMMBgMEgFuvQ5wWAQHo8HHo8HY2Nj8Hg84HkeWq02QrRKSkqkoli6zXjCBYRnUYVCIQCAw+EAy7KorKxUhUtFJQ1UgVKZNWjqTC5M9GRNCMHExATMZjOKi4uxbNmyiKauuYBhGOh0Ouh0OlRVVUXcR4XL6/XCarXCYrEgFApBo9FERFxUuKLXt+Si4/f7JcGlwqXkLFQSLlW8VOYzqkCpzDjUkScIAoBIYRJFEaOjo+jv70dFRQXWrl0Lg8Ew4/tYVFSEoqIiVFZWRtzO87wUcdntdgwODiIQCIBl2ZiIS6/XRwiW6ixUUUkPVaBUZoToGiYgUpgEQcDQ0BCGhoZQW1uLrq4uaXRDpq+Xj5O4RqNBeXk5ysvLI24XBEFa45qensbIyIgUORFCoNfrodFoJOFSnYUqKslRBUolrySqYQKAUCiEgYEBjI2NobGxERdeeGHEXKRUth8NTZ3N5Mma4ziUlpbGpCFFUYTZbAbP83C73RgfH4fP5wMQtsRHGzTkppBMnYXqOpfKXEEVKJW8ILeKHz16FKtWrYo44fr9flgsFthsNixatAgbN26MsH2nAo1Ook++VKAKAZZlJadgQ0ODdLsoilJ7Jo/Hg8nJSfh8vghLvFy4UrXE0yg1GAyqwqVyzqMKlEpOUaphcrlcMTVMLpcLra2tWLp0aUTUkA4Mw0S0OJLfXigCFQ9qiS8uLkZtba10O7XEU4OGw+GIsMRH13LJo810nIVutxt+vx91dXWqcKkULKpAqeSEZDVMTqcTJpMJwWAQbW1t6OzszPokGC+Vdy4IVDzklng50Zb40dFReL3elC3x8r+BsEvR6/UCUJ2FKoWLKlAqWZGsholGAD09PWhvb49xxWVDPCE6lwUqHpla4qMjLmqJV+rQQVGdhSqFgipQKhmRrIbJarXCbDZDr9dDp9Ohq6sr5/tA16CimYsClYh4lvhQKCQ5C202m2SJ5zgODMOA4zjYbDYUFxfHWOLlf8tJ1VlIRUwVLpVsUAVKJWWSWcVFUcTY2BgsFgsqKiqwevVqFBcX47333svL/iSKoFQArVYb1xI/MDAAj8eDqakpDA8PS5Z4g8EQYdCQW+IB1VmoMrOoAqWSlGRW8VzXMKUKNUlQ4Yy+XUUZjuOkuqzm5mbpdkEQ4PP5pMGP0ZZ4+TpXOpZ41VmokimqQKnEJdm4C1rDNDo6isbGRlxwwQURjVYp+axLGh8fx+joKERRlJxxXq8XdrsdVVVVEakrlbMofR4cx8FoNMJoNEbcLooifD6flC60Wq3wer0ghCjWcqVqiQcinYVAuG8h3Z5Go4lIR6qf4/xDFSiVGJKNuwgEArBYLJicnERzczO6u7sT1jCxLAtRFNOuc4qHKIoYHh6GzWaDRqPBeeedJ4mg1+vFqVOn4HK5YLPZpNRVdP+8+S5c6VwwyNs4xbPEezweOBwOeDweiKKYkiVe/jfFbrdLEZ78+0cfqzoL5xeqQKlIJLOKe71emM1mOJ1OtLS0YMmSJSnVMOVKoARBwODgIIaHh7FgwQLU1NSgtbUVOp0OwWBQ6uZgMBjQ3NyMkpIS6Xnx2hDNV+GiVvJskFvia2pqIrYdCASkYz46OgqPxwNBECIs8fSPPOqm35PofVOdhfMTVaBUQAiBx+ORfuhKNUxmsxl+vx9tbW1YuXJlWj/8bNeEeJ6XUokNDQ1SO6SjR48qbjfaPBGvDdF8Fq58toJiGAZ6vR56vT7CEk/XomjENTExAY/HE2GJd7lccLlc0Ol0SbvEy7ebqrNQXec6t1AFah4jt4ofP34cbW1tKCsrk+6nc5gAZFXDRCOodAkGg+jv78fExASamppi2iFlWwc1n4VrpnsVAuHPJZkl3ul0wul0wmq1SlFx9BpX9DFXnYVzF1Wg5iFK4y44jpMcV/IapiVLlkSIViakK1CBQABmsxl2ux2LFi1Cd3e3YjoqX4W6qQrX6OgofD7fOSlcsyFQiaCWeJ1Oh9bWVqmTBs/z0jGPtsRTNyE95gaDIWXhUp2F5waqQM0TktUwsSyL8fFxHD9+HGVlZVINUy6IV1Abjc/ng9lsxtTUVEp9+ma6k0Qi4fL5fHC73XA6nTHCxfM89Ho9KioqCka4Ck2gKISQiChZo9GgrKws5iIp2hI/NjYGv98PADG1XAaDIWVLPBDrLKT3BQIBVFRUSKKlOgvzjypQc5xUapiGh4cxNjaGqqoqnHfeedDr9Tndh2QRlMfjgclkgsfjQVtbG1asWJHSD18ufNFXzjPZSSKRPdvr9WJgYAA+nw+9vb3w+/2SuaCkpARGoxHFxcUxV//5plAFShCElPYrmSWernOla4mX/02h7lCz2YwVK1ZE3Kc6C/OLKlBzlGRW8VAohMHBQYyMjKChoQELFy6UrvBzTTyBcrlc6OvrQzAYRHt7O6qrq3NiviiUVkcsy8JoNKKsrAwcx0njNqhweTyeiIiLYZiYVGG+hKtQBYrWs2WK3BIvJ9oSb7fb4fV6IyzxcuGKtsRTd6Fc0FRnYf5RBWqOoSRM8h+8vIapqalJqmEymUx5674QLSRTU1PS67W3t8c0P01nu+diLz4qXPEiLnnaKl/CVagClQv7uxLJLPG02e7IyIhkiS8qKpIEK95YF/nf0e9DdRZmjypQc4RUapgsFou0vhNdw8RxnGSayDUsy0IQBNjtdphMJnAch46OjpgecekiF6Logs5CFqh4zKRwFapAATPbS1Fuia+urpZuj7bE2+12uN1u7Nu3T7LER483UZ2FuUcVqHOcROMugHAazWQySTVM8dZ3MrWCp7J/Pp8Pp06dQmlpKZYtWxZjMsgUeQul2VyDyjfpCBc1CiQTrkIWqEIg2hJfVFQEr9eL1tZWSbi8Xi9sNhsGBgYULfElJSXQ6XSqszALVIE6R0k07gII9zQzmUwghEg1TIm+0BzHIRAI5Gz/CCEYHx+HxWKBKIpobm5GS0tLzrYPqOM2shEur9eLQCCgClWKCIIgrUtptVpUVFSgoqIi4jFyS7zD4YixxMujrnQs8XTb0c5CatCQr3HRP3MFVaDOIZJZxQkhmJychNlsRlFRUVo1TLmKoOQjNyorK7F27VqMjY1FTHjNFYVukpgtkgkXHWw4MjKCwcFBAMkjrvmOIAhJT/yJLPHRpph0LPHyvylyg4bf78fJkyexatUq6bEPP/wwHnnkkezedAGgCtQ5ADU+OJ1OqYBRLkyiKErRSmlpKTo7O2NcTMnIdg2KNnAdGBhATU1NxMiNbFsdxYMKER2HTtcB5rtAxUMuXHa7HY2NjSgrK4uwZkeP2aDFsEajUXE+1HyB5/mM6wLj1c8ls8TL17gSWeJpFEyL7QHgb3/7W4bvtLBQBaqAkY+7EAQBhw4dQnd3d0wN0+DgIKqrq7OqYco0gopu4Ko0ciNf61tA2BE4ODgIhmHA87z0Iy0uLpZcWPmI3s515Kk9uTW7rq5Oeoz8BOp2uxXnQ8nruHIhXIV6YZGt/V2JRJZ4+XgTuSVer9fHpAt5npfSjwzDwOfzzcg8tplAFagCJJFVnJ6IBwYGpBqmeHOY0iHdCIrnefT392N0dBQLFy6UGrgqQV18uYIQgtHRUZjNZhQXF2PdunXSonEoFILZbAbP87BarbBYLAiFQkm7aM83Ull7incCTUW44qWsst2n2UIQhJyNi0kGdWcWFxfHtcR7PB4MDw/D6/UiGAxCFEX09PTg448/hlarTcuI9Oqrr+LOO++EIAi4/fbbce+990bcHwgEcNttt+Hjjz9GdXU1tm/fLplFbr/9duzfvx88z+O2227DD37wg5wdB0AVqIIimVVcFEWcPn0aVqsVCxcuxMaNG+OKQrqkGuVEN3BNNguKbjt6gTcTRFHE6Ogo+vv7UVVVhZaWFskmTGtNtFqtNO21sbExYr/pD3t8fBwejwc8z0tRljwayNUxLWSyEYNUhIt2K09HuPIRpeSKmRSoeMSzxFutVjgcDtTU1MDhcGDPnj04duwY1q1bh8rKSqxevRr/+Z//qfh5C4KAb3/723jjjTfQ1NSEDRs24Prrr8fKlSulxzz++OOorKxEb28vnnvuOdxzzz3Yvn07nn/+eQQCARw5cgRerxcrV67EF7/4RbS2tubsPc/9X+I5QDKrOK1h8nq9KCkpweLFi3P+Q04WQfn9flgslqQNXJXINsUniiJGRkYwMDCA6upqaX1rZGQkrvMwOlWk1EWbrl1FX5EKghDRXYAK12yfoHJJPqKVbIUr2pJdSBSCQMWD9nqsrKzEt771LXR1dWH79u347W9/C5vNBpPJFPe47tu3D4sXL0Z7ezsA4Oabb8aOHTsiBGrHjh146KGHAAA33ngjvvOd70jfH3qh5/P5UFRUlHVj6WhUgZpFklnFXS4XzGYzvF4v2tra4HA40NjYmJcfcTwRoQ1cp6en0draimXLlqX9+qk2i41Gbryoq6vD+vXrI9aTsu0kwTAMdDoddDpdzNwieSplcHAwYg2AihZdAyjUq/5EzGQ6LVXhGhsbg8vlwocffphVqjAfFLJAyS3wQHhdllrgq6urI6KtaIaHh9Hc3Cz9u6mpCXv37o37GI1Gg/LycthsNtx4443YsWMHGhoa4PV68R//8R8Zd4WJhypQs4DSuAv5yULeCqitrQ1VVVVgGAZmszmno9PlREdQ8gau7e3tKTdwVSJdF5/c/BHPeEG3m486qETdBWg/N7fbjcnJScl1pWTTLnThmu1oJVq4aEPdzs7OrFKF+aCQBSoUCkWI//T0dEyNVj7Yt28fOI7DyMgIHA4HNm/ejMsvv1yKxnKBKlAzRDo1TFqtVrEVEBWRfPxQaASVbQPXRNtOhtwRWF9fn9B4Qbc7k4W68fq5iaIIv98Pt9sdc0KlLiuDwYDy8vKCqS8qREMCXYNKFnF5vV643e4ZFa5CFqjoCCodgVq4cKFUCwcAQ0NDWLhwoeJjmpqawPM8pqenUV1djW3btuHTn/40tFot6urqcNFFF+G1HJk3AAAgAElEQVSjjz5SBepcItm4C0KIVNhaWlqKlStXxhRYUvLZL4+O2j59+nRW03OVSCZQPM9HdFZPJkyUQmkWKx+eJ4cWxg4ODsLv96Ovr09xwKHRaJzx9ZdCFqh4yIWrtrY24nnyyJbWEwGQRmzQlGymwpWvJra5IBQKxQjUsmXLUnruhg0b0NPTA7PZjIULF+K5557Dtm3bIh5z/fXX4/e//z26u7vxwgsv4JOf/CQYhsGiRYuwc+dO3HrrrfB4PPjggw9w11135fS9qQKVJ5KNu6DrK4ODgynPYcq1QBFCpAauGo0GOp0OXV1dOds+JZ5AUbt8KlZ1JQq9kwQtjC0tLY0Yt5FopLx8fUupCWmuUOrOPdtk6uKTXyDEEy55ISyAiLVE+txCFaBkZBNBaTQa/OpXv8KVV14JQRDw1a9+FZ2dnXjwwQexfv16XH/99fja176GW2+9FYsXL0ZVVRWee+45AMC3v/1tfOUrX0FnZycIIfjKV76CNWvW5PS9qQKVY5KNu6DRAk1jRS/8JyJXAkXTiSaTCQaDAStWrIDRaMR7772X9baViBaoUCiEgYEBjI2NoampCRs3bswofVIoEVS6xOssIO/lFt2EVC5auSo+nisCFY90hUvewUFeCFvowqUUQaWzBnX11Vfj6quvjrjtxz/+sfT/er0ezz//fMzzjEaj4u25RBWoHJGshkleP5RpDRPHcTGD0dLdx/HxcZjNZpSWluZ0rHsi6FpRKBSCxWLBxMQEmpub07KqK3GuClQ84vVy43k+In1Fi481Gk2McKVafHwupvhyRTzhoh0cqHDJTTB+vx8mk6kghUveSQKYOZPETKAKVJZQYfJ6vTh16hTWrFkT8cX1+XywWCxwOBxp1w9Fo9FoMoqg5AWulZWVeRnrngie5+F0OrFv376sj4EcuRDN5XEb1NobbZoJhUKSMSNe8TH9E30xVIjHZ7YLdeUdHKIjrg8//BClpaUxwlUIEVf0+tj09HRO15BnE1WgMiS6hkmj0UhD5ADA7XbDZDJJM2SWL1+e9RVruik+URQxNDSEwcHBmAauMwGd3mu1WsGybM6EiTLfx21otVpUVlYmLD4eHR2VJsTKi4+paaeQnGmzLVDxEEURWq0WtbW1KUdcsylcTqdTjaDmI9QqrlTDRBfsaQ2TIAhoa2vLiU2bkqpA8TyPoaGhhA1c45GL1I/f74fZbIbD4UBraytaWlpw5MiRnP9AC90kMRukWnwcCARw6NChiOJjuWlgNoSiUAUqnsU8XsQ128IVCoXUZrHziVSs4jabDR6PB2azGe3t7Xm5gkm2BiU3HzQ2NqbtiqNmhkyvqmmefmpqCm1tbVLUKD9uuYQKEc/zGB0dhV6vh9FonNcCFY/o4uPx8XGsX78+pvjYZrNFnEzla1z5Loo91wQqHukIl8/ngyiKGQtX9Jyqufa9VwUqAfJxF9SWGy1M1HRgNBqh1+tx3nnn5W1/NBqNYu85uQGjubk5Y1dcpoXAPp8PJpMJTqdTcax8vsZtCIIAl8uFvXv3oqamRmoNFQgEpNeTn2ALKZ1VKCQrPqbCFV18nI/hhqIoFmSj3lwV6SYTLlqATC8SqHDR4200GmEwGCL2JdpiLn+tuUDhfRsKgFRqmGjz0srKSqxbtw4GgwHvvfdeXt1R0Sm+bBq4KpGukHi9XphMJrjdbrS3t2PlypWK7z3XEQ0d9TEyMgKWZbFx48aIlOv09DSGh4dRXV0tNYH1eDxSOouKFv3BF+JV+2yTyKIdPU5eqfiYDjdM57dQiLVZQP67SCQaryG3w0fPhaLmF3q+4jgOfr9/zqT3AFWgIkhmFZfXMC1YsCCmhinbFFkyqEB5vV6YzWY4nc6MG7gm2n4yPB6P1BWhvb0dnZ2dCV8/VycdeWFvU1MTzj//fJw+fRoajQaiKEY4+liWRVVVVcw6jFIvPQARV6mZnFznC/HGyScrPpYf23jFx4Vm2qDMVpujeNGt/Htss9ng9/tx4MAB/OIXv4DD4YDb7ca2bdvQ2dmJZcuWJXTsZjoL6g9/+EPESPnDhw9j//79WLduXU6PgSpQSD7ugqbQxsfHE9YwaTQaaaprPggGg7BarVIqLV7EkinJIii3242+vj74/X50dHTk1ACSiGhhoilMv9+flkkiUTqLnlydTqd0cuU4LqJNjtFoVKfzxiFe8bEgCBERgLz4OLprxlxZg8o38u8xHfW+ePFiPP3009i5cyceffRRDA0N4bXXXsPg4CDefPPNnM+C+tKXvoQvfelLAIAjR47ghhtuyLk4AfNcoJKNu5C70Zqbm7Fp06aEPyAqULkOsZ1OJ0wmE3w+H/R6PTZs2JAXYYgXQdEGsqFQCO3t7VJ39XwTT5gouSrUTRQVyM0D/f39MdN56Qm2ENdOCgGO4xIWH9NODhaLRTrONputoCYfF5pAyZEX6XIch/LycixduhT/9E//lPS52c6Cojz77LO4+eabc/iuzjIvf1XJxl243W6YzWa43e4IN1oyqEDliqmpKfT19QEA2tvbodfrceLEibyJQ3QE5XQ60dfXB0EQJGGaCaJ79MUzfeS7k0S8k6u8QHZsbAxut1uqM5JHW4XUbaDQUCo+Pn36NKqrq8GybEbFx/niXBEoIHIWVDKymQUlz0Bs374dO3bsyOZtxGXeCFSycRdAuALbZDJJkUK6KaxcCFR0A9fFixdLP+JQKJRTAYyGZVkIgoDp6Wn09fWBEIKOjo4ZK/pLVZjk+xtPiPJpt41XIEvrjNxut7SgTb93er0eGo0mp663uYYgCCgqKkJpaWnMsZVfFMQrPs7X5GNBEGY9iotHdMZmptsc7d27F8XFxVi1alVetj/nBYrWMNntdimFE20Vp4LAcVxWNUzZNHMlhMBqtcJsNkc0cM3V9lMhGAyip6cHer1ecR5VvpCP20hFmCiF1Isv0ZBDs9ksnWCjXW/R61vzWbjiufgYhkFRUZGi6UVefDw0NBTh1sxV8XGhR1CZDivMZhYU5bnnnsMXv/jFLN9FfOa0QAmCgFAoBEIIjh49iu7u7pgaJovFguLiYkVBSJdMIih5LVVZWVnCBq6Zjk5Pht1uR19fHwKBABoaGtDR0ZHz11BC7orMpKt5ok4ShQI9uRoMBmncBnDW9eZ2u+FwODA0NIRAICBFWfL1rUK9es816c5cSmXyMXW6RXdySGc+VKELlPz7MVOzoIDwBcUf//hHvPPOO7l7Q1HMaYGi0C8gPaHRGqaKigqsXbsWBoMhJ6+TjkDNdgNXGjn29fWhqKgIy5cvh91uz+sPkS6uRkdM3d3d82rcBpB45IZ8Mq/b7ZbWYKI7lxfqSTNTcuXiS2TPpp0c0ik+LnSBku/bTM2CAoDdu3ejubk5pxN0Y/Yxb1suAFiWjbiaNpvNGBkZQW1tbV4ap9KGsYkQBEEaVFhbW5vWPKhcQNsy9fX1wWAwREzwnZ6ezlsKkWVZhEIhDA8Pp53Ki0e8DubngkDFQ6PRoKKiIuIkI28A63a7IwqPM4kICpV828wTdSv3+Xxwu92KxcdutxtGoxFarbbg6uOUIqiZmAUFAJdeeik++OCDNPc4Pea0QAHhdZWBgQHJDZRuf7p0SBRByaOG+vr6tBq45gL5kEK6qCnPXQNnRSTXCIKAQCCAffv25USYknEuC5QSiRrA+v3+iIhLHhHII65CO7EqMVt1UPJiYjk0DXvixAmpjiu6+Hi21w/n8iwoYI4LFCEEBw4cQGNjI2pra9HQ0JBXa6qSQGXbwFWJdNopUfOFyWSC0WhMusaVy555giBgYGBAaknU1dWVs3RqIuaaQMVDnspSakfkdrsjujrQ4lg6biMYDBZU4XGhFerSNKxWq0V7e7t0QSkvPpavH8qPr7xrRj6JbhY7l2ZBAXNcoGifNkIInE5nXi3aQKRABYNBaRZSNg1co6FOvmQiF22+SGWtLVcuQUEQJPMDFeXDhw/P2BXmfBGoeMQrPKaDNV0uFwRBwLFjxyIKj+UR12wUHhfilF8gdg0qleLjycnJnEw+TgX5MZtLs6CAOS5QcrRabV7SV3Jot/ETJ07A4XCgpaUFixcvzulVYTKBIoRgbGwMZrMZFRUVaZkvaB1UplBhonZVebSYr47mhBBMTEzAZDKBYRjJUhwKhQp6cXs2oCPlS0pKMDY2JnXel69vyWuMZmNOVCEKVKruwkSTj+nxlRcfa7XaGOHK9sJgLs2CAuaBQNGraa1Wm9cIyuv1oq+vD1NTU2hqasrJBF0l4kU5oihibGwMFosFVVVVOP/889N2BXIcl5GIREdMSr0K41nCM4WuqXm9XkxMTKCzsxMApC7bwWAQBw4ckIwE0R3MC/FEOFNERypFRUUoKipSLDym61vUqg1A0Zgxn49nMrRaraLxJZXi40SOzejPcS5mDea8QFE0Gk1eIig62t3n86G1tRUulyui3iXXRAuU3DZfXV2dlTsx3RSfUiov3hVgLiMom82G3t5eFBcXw2AwYNWqVVKHEJ1Oh8rKSkxMTEgD+eTW4vHxccmhJT/JzqdGsKmk0uQ1RtGNdenxjHa8pdq1XCVx8XEwGJSEK3pUjPwYa7XauC3A5grzRqC0Wi08Hk/Otkf71PE8H9FAlfbOyxd0nUsURQwPD2NgYCBndvVURUQuTA0NDSkZP3IhUHa7Hb29vdDpdJIL8b333ot5XLT9XMlanKgRrFy05mK9UTZrPXIhqqurk26XFx7Lu5bTwmN5Kmu+FB5ngtyxmaj42G63w+12w+/348iRI9i7dy8YhpEyRamkCjMdtQGEx2vccccdcDqdYFkWH374YV7qOOe8QNEfYq4auTocDphMJgDhBq4z7ZhhWRajo6M4fvw46urqcmpXTxZBZSJM8v3OVKCmpqbQ29sLjUYTUbclJ/qEmyzdEW+hO97V61xKE+bDjBCv8Jiuvyg1f41urFuIFEraTKn42OVyYXBwEK2trbBYLHj77bcxPj6OjRs3AgCWL1+Op556SnH9LJtRGzzPY+vWrXj66aexdu1a2Gy2vF10zHmBomRjkpD369NqtViyZEnMiS3fCIKAoaEhjIyMoLq6Oi91VPFEhL720NBQ2sIk33a6P/bp6Wn09vaCYRgsXbp0Ro55vLQLLeSkJ9p00oSFcpKjzKRbTqvVorLMgWrjaTB1IQjchRCZmogLgcHBQWke15EjRwqq8LiQjTbUaFFcXIzrrrsOS5cuxfT0NLZv345QKASLxRL32GUzauP111/HmjVrsHbtWgCIiPRyzZwXKPpDzESgUmngGu95uZwiSwt8Gxoa0NLSAoPBkJcrlmiByoUwxdt2IlwuF3p6ekAIiejmng65PAHL04RyUk0T5sO9mA0zJlAkBA3/EjhhN4CwSHPCW+A1V4HRXR6RxhJFER9//DE6OjoUWxFFF8bqdLoZeQ+FLlDRRbr0t0IvpOORzaiN06dPg2EYXHnllbBarbj55ptTmj+VCXNeoCjppPioVdtisSRt4BrvdbIVEPnoCbkBYWBgIG/tiGiKL5fCRElFoNxuN3p7exEKhbB48eKU06c0QpGfeGciakk1TehwOCTXYSGkCTMRqLSfQwg0/PPghH1RdwjQ8C+BMGUQuQukW+m493itiOSFx8PDwxGFsfL1rVwbXc4lgUpnFlS2r7tnzx58+OGHKC4uxmWXXYauri5cdtllOX+tOS9Q8ggqmUDJHXFVVVUZNXDNVqB4nkd/fz/GxsYU2wJxHJe3ei5RFBEMBvHBBx+gvr4+p22hEtnMPR6PNEqeNqVMZ7uFRnSacHBwEBzHoaKiIuM0YS5JR2yCwgSsgR3w8ifAsaWoKvoUyrUXJX0+J+xSEKezaEPbEWQWgLAtABJ3kUhUeBw9lVcpgi0uLs74e3wuCdRMjdpoamrCJZdcIq2FXX311di/f78qUNmQqLtALhu4ZmrGCIVC6O/vx/j4eMLOE6k0pE0XecRECMlLv0KlCIrWjnm9XnR0dKQ9IBI4N0ZuAJmnCeXRQa5OlKkKlE+wYMj7XyAk/H3mRScm/H9CQBhCnf4LcbfBiEPQ8MkmrArQhv6EYNF3gTOfYbprTfEKY+UR7MjISEzhMT2mqRQe08iuEOF5PuICOh2BymbUxpVXXol///d/h9frRVFREXbt2oXvfve7OX1vlHkjUErko4FrugIVDAbR39+PiYkJLFq0CN3d3Ql/NLkcWiiKIoaGhjA4OChFTPv27ctLmxu5QPl8PphMJrhcLnR0dKCmpiZjQYl34VFoxoR4ZOomTLVINiD6YPEdg09wYaF+CWq0C1MSqJDowKj3cUmc5EyH9kLPLUJ50abYJxICDf8n0DWnRDBkAKx4ECJ3Xk778MUzulCbttvtloq8AcQ4NOWNdaPHWRQSShFUqrOgshm1UVlZie9973vYsGEDGIbB1VdfjWuuuSYv73HOC5SS/Zim0cbHx2Na8mQLx3EpCVQwGITZbIbNZktJmOTbz1aglIQp373XWJZFIBDA8ePHMT09jfb2dqxcuTLrSIcKVKFFTNmSzE0YPZ1XKU1oD41hl/0F8CScEu7xHsQK4wVYRFYnPF6EiBj1PQGeuOM+xhrYgWLNUmjZmojbWfEjsKI55fep4V9EkF01I6M2lGZEJRq1Qbub064ahVZ4nG0n82xGbWzduhVbt25Nc4/TZ84LlByGYXDq1CnYbDY0NzenLArpoNFoEgpIIBCA2WyG3W5Ha2srlixZktY+ZCNQsyFMQPg9j42Nwe12Y/ny5VixYkXOfuhUoKKPYSGdSDKFEAJHyAVrcBqLDHUwcLqU04RuYQqm0vdBNCI0Gg4cp4GG43DCvQ+ChkDP1MZ5VcAZ2ge/MBj3fgAQSRAT/j9jYfE3ZDscgoZ/Ma33yBA7WPEARHF5wY3aoNGr3+/HiRMnpMLj6ELu2WisC8z9URvAPBAohmHg9/thNpvh8XhQX1+fF2GixEvx0X1wOBxoa2vDsmXLMjqJZiJQ0cKULJWZq4hEHiVWVlaisrIS9fX1WW9XDk0dRqdhzpUUXzwIIXht8kPsnz4NACjm9Ph07QVYblwU89joNKFIBLxhewaGkA48z4PnBYRCPgiCAEKAj5g3scxzCaqsVbHTY4kfk4GXU9pHD38CfmEIeq4pvB/C+2CIM+33quH3QBSXFtyojbKyMrhcLpSVlUkGAnnjV3rRFd0/jxoz8p0aVAVqDkAIwfHjx9HY2IhQKISampq8/hCie/75fD6YzWZMT0+jra0t6yay6QiUXJgWLFiQ0hpbvBN+OtAiwYmJCbS0tGDJkiWwWq1wuVwZbzMe1CRBa2Zot+5CYNTngp7TpC2WhBC8Yt2Hg84e6Tav4Mefx97BbQuvQJMhfvQDAH2+w3DydjAMC622CJEfeThdNSaeQqOrJSalxZbvA6+zQ8NpwKTwO3EE/4YGw98BhAcn7EzrfVIYMgCWDIBlC6+bhCAIEYapeI1flQqP892BRGnc+1yaBQXMA4FiGAZdXV3hdInDMSMjN3w+H7xeL0wmE9xuN9ra2nKW1krFhJGJMFGoAGYiUHKLfPS6Wj7GbdATw8GDB1FWVga9Xo+RkRG43W54vV4cOXJEMhREL37nE14U8dLwCewcD/dlrBI1+LuFa1J+/knPQIQ4nYXgxYn38LXmq1HEKn+eAdGH4+73E2ydAcuy8OgmYWzSoL1oNYDwidjltmIw8DH4YAg+wSetC3Gc5kyaMJwqlB9Dd+gQgkUT0MMEhkyl/B6j0eEDsOzlGT8/X/A8n3SOWqL+efJGxUqFx1S8Mik8jk5tz7VZUMA8ECg5MzETiud5jI2NwWazob29HZ2dnTk9KSaKoOQNZNMVJkomQkKLikdGRuKu7eVaoGjjWL/fj1WrVqGyshKhUEh63b1796K9vT2m67a8uJP+iV5DCPA8Ttgm0VFZhdIMyg2e6z+EfbazazjDATeeHTuOf2xogJZNLPwhkcebk/vj3u8IufC27RCuqF2veP8J914ExUBK+3nM/T7qqsIpQ47jIOqPQMdw0OFsBEpEEbxA04T+M2lCIomVRsNhgryJdr0ppdeMh449Ao69JKtt5INssgmJGhXT1k7RE3nlZQW0Y3mqzLVZUMA8ESi6kJ6rhrFK0LEbLpcLer0eXV1deblaV9pmLoSJkk4KUT6gsKmpCd3d3XF/zLkSqOnpafT09IDjOKxcuRImk0mxmJplWRQXF8d03abFnXT0Rl9fX0SNzCAfxJ/7LSAMA2NREb64chXW1NbFbD8eJ53WCHGimH3TeGXkNK5vWpHw+e85jsHJJ+66f8DZg4sqO1GiibyyD4g+mH1HUtxTBpPBEUyFrKjQ1kIkIUwFd8c+imWhZWPThIIgQhB48DwPW+A1VPkIWDDgNGEzBqfRgOO4NNLpPEqKegEsT/HxM0Mq06vTJV5jXfl3k7ZYix5sSP+OPq7n+pprPOaFQFHyEUG5XC709fUhGAyio6MDOp1OanCab+TClKvO5qkICU0hDgwMxB1QqLTdbH5EbrcbPT09EEURS5YskYoz5XVQR4cncHLMhsV1YWu2ktlDqbiT1sgM2Cbxx5NH4Q0EIQgCphngP999B3/fuRrtNbVJW+kEBB7bLYfi3r97woRLF7ShTKvcncQvBLFv6mTSYyEQAR9Nn8aW6rURt5t9R8Er1C1FI/8YTL7DOF97GVyhjxPayiNhzkRQHIqKdGDFSXDaCpSypRAEATzPIxgMQuB5iISAZWKFS6n8o6ToGIBrU9yHmUEQhBkzb6RSeExr4gRBQCAQgMlkwuDgIIxGIxiGSfm8k+moDYvFghUrVkj1Vhs3bsRjjz2WmwOgwLwQKHm7I1qcly3yeVAdHR1SvUogEMhbrzwKIQSDg4M5FSZKOinEVISJkkj4QrwA65QHDdWlMT8wr9crpfKWLFkSswhMTRK7Tlvw14+PgwDYax7C8hIO56coiAzDQKfX469Dg+B0OpSeSZMQQiDwAl4ZHsTnCaRWOnRUBP1DOxK8a+2HLRj/+xUUBbw+2osbF61SvP+Qqw8hktoF1P7p0+iuXCmtRYlEQJ/3YErPBQjoYe73ncCqkosxFXonxedGEwTgxpQAlHFl0Gg0Md8JURQh8AJ4gUfI74fA8yAAOJYNC5dGEx7Ix5kB4gKYUsVXmg0KodWRUk2c3+/H8ePHUVZWhlOnTuHVV19Ff38/1q9fj2XLlmHVqlX4/ve/r/j7zGbUBgB0dHTg4MFUv2vZMS8EipKLFN/09DT6+vpACFGcB5VqoW4mUIHweDzw+/0zNnJDFEWMjo7CYrFIgqjRaOCY8qKqMrWvULyWRB8eH8Sf3z4MUQQu7erApzcuk0oD+vr64HK5sHjx4rhtkBiGwZDDiR37T4YjgzMP+XDUgS0TdixtSOx4oxyaGMeQO9IizTAMNFoNxvkQ7MZibFy6NMKxReuOvF4vRELwv/4B+CCcOelyYBlW2h/Ku1YLLqvvQGVRZHpOJCI+mjqV0r4CgE8M4IjLjK7ypQCAIX8PvEKqEdBZeBKCybcHrDiS9nMBgCV2AARu0Q2e8NAwsd8HlmXBFrHQQvZdJYAgChD4cJowGAiAEILx8T/CTzZFdMuYzUnHhSBQSlBre01NDb7xjW/g+uuvx3e+8x289NJL6OnpwfHjx+PudzajNmaaeSFQ2YzcoExNTUnTchONgMhlKyIKbWLb39+Puro6GI1GdHR0pJ16GOybQGlFMSqq448Mke8/IUQSpurqamzYsAFFRUWYnvZhx4sfwmy2Yssly7D54qXguMT7oiR8tmkP/vedY6A3v/1xH0BEtFWxsNvt6OjoSNptgmEYvH4itnMBIcCzHx7F/ddugSbJcSKE4M3+xN0PXjH14cKGhXEdW4fsIwieHgbLE4RCIfh8PhBRPGPVJuBYDjzHgWg0+GByAFc1Rrak6fUOY5pPT2COuEySQJl9R1N/IgHkytnn3YMlGQ1DFQHiOLNJApfgQqUmRZszg7NpwjN7w3EcllQ5YQ8ulNoRyaNWubllJuqMgMIVqHg1UFqtFitXrowQm2iyGbUBAGazGeeddx7Kysrw8MMPY/Pmzbl8axHMC4GiZCJQDocDfX194R9PCoMKc7n29P9+9yZ6D5tQtqgYF/2fCySBcDgcaefGhy2T+MP/fRMCL2D9lmW48qYNio9jWRaCIGBsbAwmkwlVVVXo6uqKcAe98OePMDAQ/rK+9fZJ8LyIyy+L/4Og25ULFCEEz795GMFQWAxFIsLn9eKvOz/GXV+4GN3d3Skdy2GnF6fH7bGRJANMewM4NDiGrpbGhNvom3Kg3zmd8DF2vw8nbJNYWaMcke22WqDRcNBoOMh9VKJI4PV6pXUuXhDwsnM/mmxBlJaWSlHCR1Onk77XaEb8k7CHXNCxBBPBxJ0f5EReBwuYDA2jpciAojQveBjiAnD2YswpOlGJzOpwwprJgMMAykoZlJVFfmbyqHVoaEjqTUiNMKn2JkyXfLdgypREs6DySUNDAwYGBlBdXY2PP/4YN9xwA44dO5a3YaLzSqDSSfHZ7Xb09fVBq9Vi2bJlMY6bfCKKIg68ewivb9uJIq0OxUPFuPqmSinVQaOcVNN77mkf/vibt8CfEYMP3z6FVetbsbAt8mRL6zZGRkZQU1OD888/P8Yh198/KYkTZe8+E7o3dqCkJL7FNVqg+sccMI/YQUi4F5o/EIDBYEB5SSVOj3qwYklqJ5m9Q1aQOI1JCQje6RnA+YsaEp603hqwpPRa7w4PKgrUuN+NHtek4nNYlpFMAXo9XdsCsKACBlIUThkPW3AwdBJgAI1Uc6QBp+HAJjnZHndZUFWU2PUXy9k1KJ44QYgIG8+jIc1UGnMmeqJ4RA8EIoBjMog4CDkT0xGw4jGI3MaIu5P1JlTqo5erNGEhts3KZhZUNqM2aAYBALq6utDR0YHTp09j/XrlsodsmRcCRbLjlYQAACAASURBVL9gydJvdLR7X18fdDpdyhN0420r3S82TeVZzBa8/9QBVJRXSNX8bzy9C1964HMpvY9ojuwzweOOrI15868HcOtdn5JccJOTk1IKs6mpScpPR/POntgC0mCQx553e3DlFcqL/0Csi++jE4Pw+bzw+fzQG/SorKiUjteHxwdx2YYlMBoS13S4fAH0O1zQKAg1c+Z0N2ifhsU2hbYa5St7byiEY5PWhK9DOWq1wuH3ozJKtPfbh1N6vrRvDHDIM4mtbedhwYIFsE2dQMVkOUSRSC64QMAP3num5ojlwGk4SbxYlpME5qjLjEWG1PZfCV4Mi4wtlK5ABQFECiMBgUt0oYJLv1iURlAAwAlHYgRKCXmdkbyUQN6bUD4narbShPkgmzZH2YzasFqtqKqqAsdxMJlM6OnpiXuuyAXzQqAo8QSDnqBNJhMMBgM6OzuzapeTbrsg+RpTbW0tFpQ2wmvfG9FqpveABaZD/Whf25K2QB37yBJz20DvBE4fHkRNUwl6e3tRXFyMNWvWwG63x932+Pg0enrHFe/78CMzNnUvRmmp8mIGPSaiKKJ/YBA7PzgKVqNFZWUFGCYyhRLiRbxz0IyruhPXxBwcHA2f2JQCKObs7e+cHogrUIcmxiGkuPgrguCDkSFc1b5Yuo0Qgv329A0GBx0juGnRaug4DY65LADC0RbLaqDVnv1ZEhL+fvA8L1mLBVEAAwYaDQcnNw2WuFCh08Ycx3iQM2tQBEEIJNzZwCkICIpiymm+cPQUe9xcQmYCdTaCAljxFEACAJNZ0WmyESZut1tqR0QIgcFgiBCumeo4kg3ZzILKZtTG7t278eCDD0Kr1YJlWTz22GNpDRhNl3khUImEyWq1wmQywWg0pjXaPRE0lZhMoKKFia4x7dy2R/Hxu1/4AO1rW9JKVVpHpzE25Ii5PRQK4i9P78RVt56HVatWSYI8NTUVd53u2PH4J+JQSMDH+/tx6Zb482gCgQA++OADTHpZlJSWhV1ucfj45BCuvHAZWDb+iWJ//ygAnE3xRT2U3n5sZAL+EA+9NvbrfmBiLO72lTgwPhYhUCM+J8b96fcYDIoCTjitaC4pwWjAFvdxDANwHAuOi4xuxDMW+GneiglfAGzAL7W+0ZyJtrgz7YliDgzC0T0vRrYmsvM86lOKoggYorxm5xbdEImY8LNV3iKkCArgwYonIXJrEzwjfTJJEwaDQTgcjrS7OuSbbGZBAZmP2vjc5z6Hz33ucxnscWbMC4GSwzAMBEGQIqaysjKsXbs2ab+tdKACEq/tCLVt9/f3o6amRhImiulQv+LzBk4MwT3lSSuCOvZRpDuNdmNmWQYsU4K2RYsjosVE244XPVGOHx+OESh6EUA7NmzcuBHPvHYw6QnM5QnAMmpH+8JqxfsdHh9MVnv8qa6ykzIvijgxasV5ixoiHuMJBXHKFl8clBj1uGH1elF75kImk+iJcnRqDC6SWYqJZRgwGg14MQg3o0F5eTEAcibaEiAIPALeIEQx/FnKWxPR9DMfJTJTvID6FPSJIR6EU3yxiBDhET0o5dJbs41OibPi8ZwLlBKJ0oROpxNTU1MFmSacD53MgXkmUISEc/x79+5FRUUF1q1bl1NhosSLcKKFSWm0vM/tx0if8lU9IcDJvb2oXGxMWaBO7B8AAPB8WJgAJqL/3IkDA7jwk2fb78QrqHW5/RgZSdwMdHzCCavVhdra8MnJZrOht7cXJSUlWLduHQ4cOACW08A0bE9p34/2jcUVqIMDo9L/E0IgknAaTMNpzgYMsgzUkaGJGIE6NDEBMYXJr9Ecto7jspa2cHrPkY1AjcPLZt7ZJEh8ECHCLQABQYSOY8GyHIqKOACy79WZ7z0v8AgGQwgGgwDrB6vzgGFYMAzAMCymhLOdHxLBIPH3wC260xYoeYoPAFjxRPgLP0upNtqz0WAwYOnSpdLthZImVAVqjjEyMgKLxQJRFNHZ2ZnXtvTRUYhcmKqrqxWFiWI5MoBESyIn3j+Nzcs2pCRQbqcP4yP2M8JEzgxXi0xTnNjfHyFQ8SKo3t6JpK8HAMeOD2Pd2nr09PSgqKgoIn0IAOYRO3ghtZ58R/pGcd1m5TqoE6NnjQHBQBBerxcaLjwskoCAiOErcm2RFhpOgxOjVgR5AUWas1e7h62JI8J4HJ4IC9So3wVbIF0H3VmmQj70uZ0o12V2Be4Tzr62LSSgMV4t2plWQ5xGA50uvNZFODcIGx4FIooEIhEg8ATDU1OoOFNorNFowHGaM2lW+hkIQJKZT27RnbZJKDLFBzDECYYMgTDNcZ+Tb5RqoOKlCWnz10RuwlymCVWBmmOEQiF0dXWht7c373UNNIJKR5gofXHSexTLsUFc6F0H1pj4Pbjdbrz1+l643W6UlJTE/WEMmScxbfegvCosIvEiqGTpPQDgBR5vvX0QZaVLsXz5ckVrfs9g6o4zpycAy6gDbY2Ri7AhXkDfhB1+nx8+rw9arRaVlZURLkGXywWWY8OOOH8ATpeA/931LtY018NoNEJXbMDpNNN7FPP0FJyBAI5NZSZwFI/gA+/nMxIoQgC/eFag7EEejfpUT34EIlxgEO7dJp2DOSBUpEWxNvz9DQVD8Al+iKIAhgmvbem0Hmi5sEkjZmnrDEESRJAEoUvH5BAVQQHhNJ/AFpZAKcEwjNSBPFU3obz5ayZpQiWBmmuzoIB5IlAMw6C1tVXqaJ7vkRscx8FqtaK3tzdlYaIMnUqcMhJFgv4jw1h8QYvi/R6PB319ffD7/SCBopSuqk4c6MfGM4W2ShGUKBL09cWPoOgPUSQijCVGNDUtjls31jOoXC8UjyO9oxECRQjBvpM9sE7aUFRUBEOxASzDRjSNBcKfuVarjfgR+wxlqK2thdvtxr7eXkw67CAk/J41Gu5MQ1NN+AImwcU/AXDEOoGj7iwFivfBI/JoL0/frRY4k96jOEICBELApRC1iPCBQACD2IscBy+gTaeDTqeBvOKYkPDaFktGIQqidKwZJvwf+hmEbwRcogs6NvX3FR1BAQAnHIeguTLlbeSabLtIKLkJaassKlzy4YbyouNkacLoQv25OAsKmCcCBZztep3PmVC0NdDAwABKSkrSEiYAEHgBkymsz5j296P1/MjCOq/Xi76+Pni9Xska+tSe11N63ZMHBiSBUoqgJidd8Ptjj5koilJnZXmUduLkKOrqYivLfUEeo5PpOd5O9E/genSCECKtaR2e9KC8ohwsy8Lv8ysW6jIKCtMz4UBF91pUVlbiI58H5RUVZ9Znzsw8CvHw+/wQRREMy5ypO9KcqUHiIk6gh6zjsAix7shU4UURPjEIiICfF6HXpBfV+4XI1KIIYDokoKoo+U+aMPE/g4Aowi8SGLjI48cwLIq0PBgxAODMSfvMYSdEhEhEEJFItzl4B4wao9TBPFm6jxAS85kxZGBWm8fmo82RvFVWKmlCuhYmFy76O5Mf07k4CwqYRwJFycdMqOiedR0dHVIonw62YQeEFNZnRk6PI+APu6h8Pp80h6qjowM1NTVhpyIvYHQgNTPCsGUSfm8Q+uIixQhqaDjyRCyKIrxeL0KhkGKVPu3RF82o3ZfS/sixT3thHhzF5NgQdDod1qxZg91vfwyW9YcfwABSICFrFiuvg6J4gkEMT7nQVFmGE7YzkRzDhO3YGi4iYojowO0LghfOuuE0nAZ7/QMw1rJJexDGwyOcPRaOAI8GTerflej0nrSdlASKQGQ8SODex5TAw8Ap7E/0xFwaMDEsIk7jJJzmE4mIQIAHf8ZIELbAy8ZusFxkpBqzTwSseBoi15XkPeWHmezDl2qakM6I8vl86O3txcjICDQaTVrLFpmO2qAMDAxg5cqVeOihh/CP//iPWb/3RMwbgZI3jKVjl7MlWphozzqr1ZrRa4wPpLY+Iwoihk+PguUYTE9Po729Paap6tiQQ2ptlPx9AAN9E1i6ukkxgho6U0dFr/KCwSCKi4vjdtkYGLQjGORRFHWyHJ/yI3z1ndriOS+EB7i9+/Fx/J/LLkBpaSlcvgCGpyIX6ZPVQck5PWZDiaEIo57EjVmVO3DTTg8CJn1O+B0EOi481C/ixMtxSc1nHsEv/f9UQEBDGnXhQeKPSO9RHCl83gJxI6zo8XdwmhfQEKNPJPWR7mc8FYJWOOvmI4AoCuClThkBCKIYbhKr0YCIIkKhEDQcF1Ggzoon5oVAxUMpTSgIAj766CNUVVVh7969ePHFF9Hf34+uri4sXrwYq1evxve//33FQZ7ZjtoAgO9973u46qqr8vvGzzBvBIqi1WrhdCZ2ISVDLkxKzVQzjdIm+pMLlCiEe9f1HDBh7UWrsGLFCsX0ybA5vfY3llNjWLq6STGCGhwMj5QInOmXl2wxVhBEDAzYsHjxgojbrc4AiKY4qTwJoiClDo0lJYC+QlrT6pmINDYopfIS3X563AZDWYZOKuqG4zQIBAhKNTpUVBjO1h7xPII+n3T86NqWIER2FREJgVc423pqKiCk5XpTip4AwCOISbtB8CmIzLQgxNjNGXgRr/bp/7P3rjGSnfd55+89l7p0Vd/mQg45HIqXGVISSYkSNRK1iRebtRHb8FpZOwbixHFsGLaBBQw4BhZWEHgDJUEQBfAXB04+Jd7Y3oUsbbKwI2CjFROvbVmmREm2LGkoitNzn+6ZnulrXc85720/vOecOnXtqq4eklL7kYYz6K46tzr1Pud/e55x6JuHEuD5PiXf74u4s9EPmSSuG1OrPNryfR/P/ws6wd9iYWHYRfZB451AUKNgjMm7CX/qp36KH//xH+djH/sYX/ziF10K/BvfGJu9mcdqQwjB7//+7/Pkk0/OpbQzC44dQc2T4juImObdx72b47vKbJpWS5KESqVCe7PLmTNnxm9rfcqn3RTX33SzV8UISmvNlSvX+M6bN6lUKjN1CV25er+PoGKp2G1LlpfGz7YYa+i02wOpQ8GV29sYY/E8wdX7A3WfEam8ST+/trVL+cR8t31XS7S1tCLFQ7hrVip5UOoRn7XkunpaJ0gpiaMIz/eQnkFbnTugKmNpScNi6eDF0Nrh+lMRu1LzcHncQm7Qpkl/LnQY2lpa2rBUaMmfOnoqoGUOtg8RQhAEAcLzqNXTRc+6e0ErhdIt7q5/hd2GI7rBtu0H6RWltX5bvajGYZySue/7PPvssxMVJeax2qhUKvyrf/WveOWVV/j1X//1Iz6r0Tg2BDWPJ9S0xJThsJ5Qm9eHO+UcMXVJkl70Yq3l/o0dZKIIx9Qc7h0wVDv0+vU92s2I2mIFay03b97k1q1bGFtjZXVlbEQyDtcGIrhbm3tgRy+N1ho63S5xHBdSh71XdSLJ+v19zj28wrX7/XU1gZioZj4IZQxfX9+EOcZRWspFEp1YoY3FH1HQEYLcfiN7+qyUyxhruBvtYJVTfci64e7stQgWy7mS+TiJJ2ljNOPvrd1E83B59Mlp2xx7rQaxp1WBoDSMkTaahNjGJDahJGZc5AV4wsMrlQiBZ59W6OBi3pTTarXY2dnh5s2bJElCGIZDDsdHEfm8UyOot2sG6hOf+AS/8iu/cmgB7cPg2BBUhlkIylrL3bt3uXbt2lTElOEwEVTUjtjf7j1xWuNSeX1ptZRkBa7j7/Z3NnjyhcdHHvf9O7M/8V7/zh1WHinRbreJ45gPf/jDfOnL12YmJ4A7d/dpt+PcguPW5p47fGtz7rE4HbSoG+XnOG5fa7e3OLVaY313oANtTKQ0bjuJ1tzf63L69OFTFC3l0nPWQjuSLC1MuQAL8PCIGdZp7KQzSXGcoLVz6B2lYj4uvZdhV45PFyrjSGYaitpXOm8aEbYBI2pe06Ct25RmaAAZBc98G83fxPM8FhcXh0YYBtUd2u021tr8YSf7Uy6XZxoefqcSlJTy0F5Q81htfPnLX+Y//sf/yK/+6q+yt7eH53lUKhV+6Zd+6WhObASODUFlN+Y05HFYYspwGIK6f8ul94rElKfVRnyprLVc/9bNkQS1t91CJrNEcJY4Tvj/PvclfuAnPsDCwgIXLlwA4M4hiC7DtWv3ef75xwDn/4QQqUqGM+/rdLuUy+WRiuaDuHxrizOPLE8dAeB2M4S2lHTmGDPQ1tJRvfe3IzU9QQGxlSg7/Nm0lSUsl/o8o0apmLf9Xaxn8vSgcDpF+XYSa+kay4I/eM9olC2m3CYv1E2tUdYSCDHk+zQLWqZ1sInhAR+pZ66D7YAYLeQ8St3BpN+jVqvF/v4+6+vrxHFMEAR9Q7L1en0sCb1TCUprfWgvqHmsNr7whS/kr/nEJz5BvV5/oOQEx4igMgz6EhVRJKbV1dWZiWmafYzD1voO3U6HKIomEhOQ//z6t26P/PX9qdN72dBghyAIMNEK7373u/mzP/uz/BV3Nw/fUHLt+hbPP/+YSxne3UUASRITRRFhyQ0RT6t6ffPuLmubw0O+Y1N8Yy5dWyYksUobF2YvundU0re3djTbg0hbRSN/biw0E81K2X0lR6mYS5PQTXaw1kslilyK0Kavz3T1duKEhYUyxYugbIPpYqceGkpzMtRAZ6b3FdE27QMbQCwHNYhYPPMdjP+BqfebyQzVajUefrhXC5VS0mq1aLfb3Llzh1arhTGGarXaF21VKpV3LEGNiqDeCquNtwPHhqAmfkEGiGmUk+yDgjGGW7du8doXv4q1lpWVlb4220lYv3wHGUvCgZrDNPUnKR0xeZ7H0tISvu/T2O3S2OstRkmi2Nk5vNbcrVuuXrTT6LDbaJNIiQWWl5fxvNm++FIZvnF9hHLDRMWH4QW5nbhjiCJFrTZ76qkl+zvZokSjjcGf8jMrtpcPYj/uEdQoRKYDWeTU9xuLta6WZy3c70TUkyitg7muQ+PvjhTRnYR9rTgVHD6CBtBourbLwpjoxx3PsMzRIFy7+fQENQ6ZLFax4Wec5UYUOQuT5eXlnLiKxPB2YTCCmrUGdVirjSKyLr8Hjbf/ar9NyCKczc1Nrl69+rYQ0/r6Ojdv3uTMmTOcrJ3ibm26wdoMWhtuv3lnKM13f2N8QVspSbvVRgjBYr2OP/CFW7/qmhustdy715g5Eixi816Dzc0t/vgr3yTqdimFIdWFhZnJKTueK+tbLJ4YoT5v3R+t0ideMboGlWiNtK6W0u3IwxGU6ncmtkA70iwtHExQ2hoiM75Vez+enJYdX38SaQTlrmtXwPKyq7FprZAqQpomWJsLEWf6esITY+t1e0pBaT6CAhdFLXjjCWqUzNEgPPPGA1M3H2e58Rd/8Rc8/PDDxHHM5uZmbhlTqVT6UoTVavUtbYGXUg6ZFc7iBfXdhGNJUJ7n5UaBD5KYRqU2MgHZ69ev89BDD/HhD3+YMAz5o/tfHrOViTtg/fLdYYIaUTfSyg29Wiy1+rCqeYbbV++zdM51Ic6T3ssm4L/0pW8SLK6wtNSh1WrCIQkvUopWFA8RlMD5e+3u7eKJ/iFjz/fwhJe2MQvahdpTtzt7HUoaTWyGSaQTSZYWDm4LnBQ9gUvxjdPTU1Yh7XRzSNK6mah64BMEIdbbx5jeV10pmUt/GWXS+5S+upYQHl2TkBhNac61t23anOb0+BdMEUE5dfN1rHhsvoOZAcYYVldX+9J81rr6aVHdodPp9CmXZ38/qBb1eSOo7yYcG4LKvpCbm5t5m+qDjJiyRolMN2tQdWLQpHDn7mxPqhnx3X6zX1xWK812gVhyIVdjJqqaZ7h9bYvn33USYwybm7O3Fg/q89XqD3O9mXXeiUO4Lzl0E0nUkX2kr6Si2WpijHGp0Wxht9DpOgFOKSXdbhdjDdtSorVGeIJuV2K0xRtqJhiPrL18EO14ujpUZ0z9KYOhvw5VxKTZp1HYk5p62iY+aEwIAuF5eH20YF09y1q0MWA1nojZSXweCuO0vtUTg50FHdNBW40vRkfO00RQkKmbv7UENRgZCSGoVqtUq1VOnTqV/7woSbS9vc2NGzdIkoRyuTzUAj9vtDVPDeq7DceGoKy1fPWrX6Ver3Py5EmeeOKJB5rOC4Igf9LJ0ojjOgKjdkSnOZs0Uka462/e6Vu097bbaG0wRtNud1BKpUOvIdOsLHdv7fC8PTVzBNUng1RboFxy53jz1ja3VTc9Zg4dQXUSiVYGGWv8ULho0FgWqgvESYzv+73oSYDv+XkbbIbN7W086yIGpQ337+9QqfRUzINMpmjMDFJbjiaobqzHzkP10K8eMQ7j6lAHtZcPYk9qHquCsTHGTiZGhyxyItU4NwhradgyDwmnq2d1QS0+TQ3mKcIDaoEd0xlrYjitioavL6GDvznFuRwdpm1Ln6RcnrXAb287RRZgqAW+VCpNva/j4gUFx4ighBC89NJLeJ7Ht7/97SMXjB2E7/tsbm6ysbHB8vLyxGht9xCRCilBtfY77N9vsPKQm4PY3Nih1WohZcLCQo3Fxf6h14OgtWHvfgetNffuHUxQWYF5nAzS9RvbRKsuxdZrM58dnUQClt3tBqUFkStNaKWJkzELf2FfUhukNQjPxQ2eD0FYZWm56kRhlSKKI7Ryc0TDFhxibARlcUO7i9Xx0WlsFXqKWaJRdShtFYk9mNz6tqOcXJEa2SI+RUqNBATsmxAhPDyPXMQcSx5t9VtvCPrb33vbm+iyO0WKD95+dfNZUVQuP3my5wydiS23Wi12d3e5detW38BxMVU4qovwuHhBwTEiKHBRjTHmgXpCWWvZ2tpie3sbrfVUtvI7h5g1EvT8j26/eYfa6gLXr1/ntT/7ZjrrUWPmXEyK7bttdnfbIy02iuh2u3S73Yn6fK1OjC5bKvVSejSzM5TUmm6cuLmgJOThswUDwwlSR8UGj7YaPpduRyJOLhCEAUFY+CpYpweoVM+CI9KSSMcuYkjTXcUn3k40maA6ZjqCGVWH6s6Y3gNQFtpa4x9gzz4aFnAPcIn16FqPBVEg16xeVby/0vk25847HG3tm31Oc8otrAORwrQpPtdu/m2M/+FDnNM7B57n5ZFTEVm01W63WV9fz1PzxWirVqsNEdT3qhcUHDOCyvAgPKGstezs7LC2tpZ3A505c+ZAcoLDRVAiXYCtMXz9i99gX2zz+OOPc3r1EW5XDj+3ArB9pzkxeorjmE6nkw7Zrk5MTUSxxLQdQSFmq0FZLFE3YqfZQgj3uamkfwvTqly0k+HoJ4rU6PSScBGw7/csOJKoQ9CVA3WaXuSw34o4UQ/GyhR1TcwIf8AhGKCVaJYLab5Z03sZtpM2p0uzS26Bi1Yz7OuQBe8AghXuP3lNbyDaklbSiJp42l2ETPk98AOMnV6lwtevvyUENU/36mExzcDxxsYGnU6HP//zP+fy5cvcueNS/IOdfeNwWKuN1157jV/8xV8E3LX5xCc+wY/92I8d7QUYgWNJUEftCZURU7lc5vnnn6dWq3HlypWp97E7Y4MEuEUxiiKklNy7Uefv/q9/G9/3+aN7b8y8rUFsbTTZHEFQmRNoGIb9TQkT0E0UtmVYfjglk6m++DYnwVKpRFCp4Em3iMlEo6QmCAudVeMMCws/7oyIoIy1xLGmUjn4a9BScd8MUpFrrDFE0hBFMUan3ke+MzkMgoDESKTVeNMwFC7NlxGUtnrm9F6GXRlxemwj2fjPTtB/rfZUyCPh4Y6hL9oqw0qwkiuYa6VIZIJMEkz6s5y4RvlFkbWbKxAPduka1SDxdmDUwPFrr73G+973PoQQ3Lp1i+3tbX7oh36IdrvNU089xb/7d/+uj+QyzGO18fzzz/PVr36VIAi4c+cO73//+/nRH/3RBz4XdqwIqigYG0XTFI4nY29vj8uXLxOGIe9973v7QvZZSHDv/gwRVNrmGscxYejUGDpbkXMz9WFnirrRQYg6kls3esrqUkra7Ta+76dDttN/ceNEYlWajpyCnxLpSDBTUfY8n/vb/XWUqCOpL6cENS7FV4AyhniMeG/UlQcSlB2QNxpENljthRUWF4M0RZiqcStFM+mg0b3ZI5E2F4wh+P2CTFVXH6wIPhqGfakxlonmhMNQDOru7evwSEaQWqbFCU7kCuZBEFAGkiBAaU2lXEFphVaKTpK4jktII60s4jJ45grGf7BzP+9UFYks4g/DkA9+8IN84AMf4LOf/Sxf/OIXMcZw/fr1sbp881htLCz05tiiKJpJ03AeHCuCyjBvim9/f5+1tTWEELz73e8eEq8EZqpz7d+fglRsf1RRqVQJAmfuprXh7rV7nH78NM39+c0YhRCsX91Gl0Pa7XSod3Fx5i+s0galLWiLljo1vx3NJkop2u0WQgiWFhfx/ezWtHST/uvoCMqlM6aROmpP+By6XcnK6uQ0bFvJscddRCdW1CpBmiJ0MkWlcon7poFv/VQCy6QRRH9zgZdq6nnCo5H0/Ji6U1hWjIK1CmMFbR2wGAw8KE04FcFwpKQRtIzPon+YdGEPbdPGWDMkb5Utup7vUfJLMMIvSimV+0Vtrf9ndro/2NcFV61Wj3TRfKcSlNa67wExiqK8K9jzvJx8RmEeq41Tp07x5S9/mZ/7uZ/jxo0b/O7v/u5boqpxrAiqGEEdJsXXbDa5fPky1lrOnz8/UUE4CIKpXHWttezfb056Qa6XF4YBy8sreL5HN7XRznD7O3fwK7PrBo6CMZaNG/epnV2iXju8vEtUIJa4LfEXBAy49WbmhEYbavUa4cAAcaxcC3ffdjsFwpkQQWXENUkctjuuDlVAe0z33tDrIsXpgVtCW0tkZX6sQnjDKUJrscam7e8Ki+XuboN6WRB73Vxjb/qmF4tJ03QNNYKgxmI4esqwp8O5Ccpg6JgOdb+/OcBZsIw+t2K0lWFpucVJc55WOne0ublJt9vF9/28A25xcZFarXboe/edSlDjvKDeCnzkIx/h0qVLfPvb3+ZnfuZn+OEf/uEHrrxzrAgqw6xdfK1Wi7W1NaSUnD9/fqqWzmlTgOP7+QAAIABJREFUfK3dNkqN/uLLtObjUmtLeIUvTDYHlWFj7S6Lj5wctZmpkc1OdbsRKrKsLM/XGRQlvfOP2wm1hUrOJc6csIOUSZ854SA6yfDnFHcV1th8XmlsDSrFpAhKKYNShjAcvxg11XT1l048THYdHXGQQaAQAjHQXCD9EO03sQaMUblLyXAr9yilew1p40FDhZxlunS2mOCYu6tKnCvNnxZvmuYQQR1weYYg2Gehcp/qwrs4fbqnUKFStZRWq8Xdu3dptVporUcKwR4UbX03EdS0HXzzWG0U8Z73vId6vc63vvUtPvShD81xNgfjWBHUrKaF7XabtbU14jjOlX2nxbQEtb81nN5Tac1HCOd/M6iXB+5cirI+G1fucurZc0OvmwbW9tx6FxZqJIlBddt9JHAYRHE/QdUfcmaI7Y7zm1qoVqnXV5m0Og2m99zxWuJIUVkIx3fxpZGVtpZYT/4coq4aS1DKGKID3p9BG0ssNZWCiWRLHS7l2pSGajVO1RfSY7M9tYd+JXORpwmFENhCk0NTBVPWoRRMMEJsGh9lBYGYr7utZVpDJG6xU6vaZ/D1N1Heu/p+lqWkihHFoBDsnTt3iKII3/f7SGvQduOdTFBFNZhZIqh5rDauXbvGuXPnCIKAGzdu8MYbb/DEE08c5amNxLEiqAwHOd52Oh2uXLlCp9PJiWnW/Pa0rrp7haaGjJgQwn1hJqQnBiOo7Tt7bN6aTWw2H7KNIqoLVVZXnMXH3l4HayxJJ6FcP3zasC+C6iTEcUKcONfc1ZXJ7ekZRhEUuDRfZSE8MMXXSRXUJ+4jkiwujT7PccO549COegRlrD1Qf28c9mLJqpH9AdJYJXOXIjTWYI3BiiR9jWvrb0iflQPazUfVngZfsa8DTgbzjWckNiGxCWVRuN5TDuoW4Zm/BPsjB3ZujBOCVUrlCg9F241s5khrnT8MvFUNAdNAqX6zy1m8oOax2vjTP/1TPvnJTxKGIZ7n8W//7b/tk3p6UDiWBDXuhut2u1y5coVWq8XTTz/NqVOnDn1zTh1B3W/0hFytdXnzA/TyYJigANbfvDPdwVlLN4rodrtUKhVWBmaZEukWs7gZHZqgtLHINHVpjEFL5QhvocxCdYL1QgHGGiI5+hpGnQTo346UEk94Tq4oXfLGyRMV0e2O/5xacrb26k6sOJkOT3V0PJvBYgGJVXSVx0J40IxQSlrpmmVshLUeGWtbC/vSpyac/UY2i2atST9zgZt7OngWaU+FcxMUuDRf2evdV9MP6vYg7H2EvY0Vh8saBEHAyspK3+KeyXVlda1Op8Pu7m5uclgcln27oqtREdRbYbXx0z/90/z0T//0IY54PhwrghpHNlEUcfXqVfb393nqqad47rnn5n5qmoagut0ur3/9DZrNphNynUH9eBRB3bm2yeIjk55qip2A451sZWKwWOJWBByuABsnEmsNSmnXFhuECDvb7dZN1NjlvdgoYa1ld3fXLRrWpWcsFizsa+lSlQPSO0UkscIYOzxgaw8TQfUEbdv68B2Vxio6yTQE1fcubNaQkcVQAlqmQhi687DWoIzOU4RY8P0I0tRdHp+NuFa7R9Ru3jRNTtG7T621Uw9cF+Hrv0B5hyOoURBC5DNHSilOnjzJ2bNnc5PDVquVKzyMspSfRU/vsBiMoL6XdfjgmBFUEdmg6/Xr19nZ2eGpp57iPe95z5HdYJNSfHEcc+XKFfb390EKd4PN+gQ5oGtnlKGx3R5DUCM6AcfMMrmpdA0W4ubhhjO11uzsNXKx3OyayrYkmMGDaVx6D0BJQ9xNiJKus0VYWe1bXKWUtDtd4qSXqsl+6Xn9TQYWNw+1MHBsXS1RM6gcAEhtkcoQBj6tA9TLx0FbR8xt6XOK6btNe+TUj5YK8vqR6yLUhTb+CGF7WVKTXacCEWXpwhifyHpUxWzXZBAd00FaSSjCfF+HUeXyzF+A/dH5GXMEMkk0GG1yeJCeXjHaOsqBX6VU30zS97IXFBwzgsoWyiRJiOOYr371qzz11FM8++yzR/7kM2p7SZJw7do1tre3c0L8+qe/c6gvmCuG9xgqSRRRY1gSJxuyLTrnToKUOt+q7CQYbfCmtEYvWm1Y4Q95TsUdSdUenL7MMKqDz8GilWZ3u8HJh5dp6ZabMTIFIrIQWzNkjthrMrCu2w0Awd5emyCw+AUFg+aM6b0M7VgRComZIm02Cto6UupIf4aIxWLGEBS4ZonVcPD32qlGiF7klO/L9rojbfZvC1txwNlSNFIQdhY0dZMTwYl0V4er8wi7i7DXseLJwx3EBCilJrZQH6Sn12q1uHXrlqspQ5/B4TxeUX8VQX0Pw1rL2toam5ublEol3v/+91Or1R74fpVSXL9+nc3NTd71rndx4cKFdGjT9jVJzAIh+mUZZKKQUYJKJEEpzFtugZmsqpOk/4k9bsVUlycPshatNrKW8Z317aHXqVhj9LSLth1JUFq79JTv+wRemSAIsFiajSZ+4BP4LrUaJ/GAYE+/4rZDTzBOKovSmjhOFQyEYNdEGMyQMOxB6EQKPzgcuVlrcmIzlinrUGBtwqQJ3D0ZDhCURUxqPxf96T7h3sKeLXOWqJcizH6fDhlP6xnVNE1OcCI7+MPyHL7+Cso7eoI6rNTROD29TqdDs9nMvaKklJRKpZm9ouatQX234VgRlBAunfbUU0/x+uuvP3DLDWst165dy6ezP/rRj/bdgN1WRBIfrujs2swLBJW2dHf2WlDxpzYoHEQcq77GuLgZjSUoS9YF2G+1YazNGy36jhlIOhqmcAZIlEYV2uiNMWnrr5efU9SVYGFlZQWtNVEU0ew2c0JpxDEam6s0DNc5erklmViq+XyMQBpFst+BAWFYCu3c4+aQWpHCrx4uvacGUnrT1aEM5gC33Ybqvw9c196MEZ6Apgkwnt9rN8/+slkXYS9fmM9rjfCMapt2bmJ4mCaJDL7+c1TwP4M4WvfaQdfaeTAq2hrnFZV1HS4uLubvKX6Hj5MXFBwzggI4ffo01tpDq0lMA2MMt2/fzuXyP/rRj45MrTW2JihIHATR31+dxBKtFLub2zzy7Lmxg68HIY+g0gU5bo5eaKO0C7BcLrOyutK3+MfjmhsEyGhK99k0erLGoFJ5l0GyjVN1caVVrt93YvUEwhMoYzBb9/FSNW0XuWVRVM8uI1NoMMYJx5bLAWBoyiRdXL1h1YfCHFK6wb45pE4iWTCW2R/ALcb2X59p6lAHkRNApH0i7VHxDcJTMENtq/8IBXs65FSQ7jMLmITAxy++8EDPqH21z4nwxKGbJNIzwzN/ifEvHvL9o6GUeqBiseO8orTWebR1//59rl27hlIqd+Ztt9skSZJLO30ve0HBVAYA31vIUhAPwhPKWsv6+jqvvvoqcRyzsrLCuXPnxtZ9ptLgO2ifxtButWk22wjPw9dQKpU5bHEgTlTfW+NWf6oqSRJ2d3fRWrOyssLCwsLQ4hIl4xc/2ZluYWx2I5SSGGMIU6fbQRhj2d7ao9vt5k+c2WBxW0pHGp5rOw/DgDAMCYIw7dazGKNRSqKURGtFo9FNG1uEU4/I0qiFPwLwhHDCpWFIEIaurV0IZxCoFYmWRB2dpyOnbTTPmiOK6EgfM2kDVo9tjhjEvgoBiSfmu+931BRRuQDhOX09P/Cd51YQ4Kf1TGMNW9F99vb2UErlppda6wPFfwfh6y8f/KIZkaWR32r4vs/i4iKPPvoozzzzDB/84Ae5ePEizz77LMvLyyiluHXrFr/xG7/Byy+/zPr6Op/61Kf4whe+4JquJuBzn/sczz77LOfPn+eTn/zk0O/jOObv/J2/w/nz5/nIRz7C9evXAXjllVd46aWXeOGFF3jppZf4wz/8wwdx6iNx7Agqw1F6QllruXv3Lq+++iqtVouLFy9y4cKFA6O0vXkIKn2K393bc4uACPA8j6hxeC8ol3boP14dK7R0Yp17e3vEcczy8jK1Wm182/7YtKVARXqi147WmkZjn2Y3wvcDN6w8uB9rc6VwYf2RzR+tEf5P4DaVkVYQpKQVhnieTxxrojhir7HPbreNUmooUioewxBp+T6+H2A9sDrIRwGy9KSUEq00Ro++BsoO3yvGQleO+5pa9JQyRuDmoSbWnabErgonk+Y4pHNYnu+uvwo1taUavucRhAFGazrtNnv7e+zv79NutYiiCCXlxHvGM2sIc+/Q5zMK7yQlCSEElUqFU6dOEYYhL7zwAv/wH/5DXnnllTyy+sxnPsPHPvYxrl69OnIbmdXGf/kv/4XXX3+dT33qU7z++ut9rylabfzKr/wKH//4xwE4deoUn/3sZ/nmN7/Jb//2b7+l81DHLsVXjKDi+JAeNyky99wrV66wtLQ0ZOt+0CzU/mFSfKndRiZEe2J1FaOdOjaAiiUqTgjKs+fks/ZyQc9Y0FrLzt1tSktl6ot1Av/gW2ZSBGW0QcWacMDiwmnztZFSUl2oYUU0IgZ055k93YaeN2RgmGEcQY2CwD3tK2Wp1+o0VEzQjnspKmux2chAIZ2X/dsdmiMrZRVYkAnU0hRR1qbt+VmnocmVCtwmBVYYLAYGajUA7cSnVhquF1krc829g2FoqAOisSmh8GjogJWpRWhHw2JpmAYBPuVSqe8BwOYPIZoojtHtNhYXYWQ+W34QOIkkAb7+E5T3E3OeWQ/vJIIah3q9jhCCn//5nz+wiWceq40PfOAD+Wuee+65PNrNVNQfJI4dQWUIw5BW67BeOz2Twkqlwvve976+2YQMBxLUvdl8oIp2GysrK+ztOaPDZNCOotGhPt6pbiziuHisFqVS8VPJ1Hpf1lriMeoP+X7aSU5QmdxSFEcsLCxQq9dpRfFQlieLQgZrUX3K5tn2lUaa2ZW3M+HYhoxyYdZ80fTTYn6RtIquup6ra0mrQYDWrq4lhE2tM0hniwTC84fqWrFJ8n9nvRvZktNOMmWIYgSnMVMZGVpcM4RFW0FTlVn054+itlRpboIC2Nf7aTdf/wIrhMhTqDmsU79XSpFIie5GqX2HwPP/kB31ErX66am64Q7CdwNBZZimw3Req40M/+k//Sc++MEPviXkBMeQoOa13Njf3+fy5cv4vj9kUjiIo4qgMlXz3MQv/eJkKSQZ9+/DEdTsnT1xIrHY/Ole+B6B56EmSAENIkoUE7Ixbj+dhPrJKlFKuJVyhdXUoddaS7uQIsybJIQgHJHuU9IMOezOKk9URLub0Biz8Lt+ijSCKvzcZsdpdZ+Ab9xRBCWL53tuHqswY1R8t8kbFgS5sIftvbAjBVGsCLxek4EVB6lUWHrk1MOurBwJQe3oEtZ25p6R7douCcl0JVNBmkb1+xZIk5pDhvI1btx4Pu+Gq9Vqfd1ws3blvZM0+GC49b3oBfVW4NKlS3z84x/n85///Fu2z2NHUBlmbZJoNpusra1hjOGZZ55haWlpqn1MJKgDalB9quYj6iyZmkQygqBmhrW0W12kVPi+hxAefvpliFvx1KKZ4+tPPXSaEd6uya3jvfQ8TFrP6SQyN6oD+tQoRu6z6LALNGdI7w1irxVhF2bLg7kUoYcxKp9vs9ailEe5arEWZOrIO2hOaAUoU7hmBWLq7UCQEFIJTBq9RVhrCq8ThYjLFv4MY1dWOHcEa5q0Hg0TsOzPH0W1vBYP8dDBLxwDz/PwSiXOlF/nxJkfBxGitfMZazabbG5ucuXKlT7rjYy4yuXyO46IxmEeL6h5rTZu377Nj/3Yj/E7v/M7PP3000dwNtPh2BLUtE0SnU6HtbU1oijiwoULM7V0TiIomSha+6OJZFrx2ExNQibDBDW9CrMlimK6nQ5JognDAIHIa1oARmpUrAgrB3dvdSfUn9zC7QjvkfopgtDPiQncAqu0ptnpYq1TdZiKFAsOu9baif5PB6HZjhALYmb1HWMtypiUONI5NeXj+xlR+KlIa88yQ2mFFhIjioOqmYBrARZacchSqYMlAqELZDQbYhPQNQH1Oc0HwaX5joKg2mK00+6sEHYfX7+KDv57fN81zxQfJIvWG41Gg/X1deI4JgiCvkjrrRjePwzmmYGax2pjb2+PH/mRH+GTn/wkf+2v/bUjPaeDcOwIalpPqCiKuHLlCs1mk/Pnz3Py5MmZn7QmueqOmoEy6VOf1noq8dhMTWIwglKJRMWSsDL5/UmaOgzDgKWlZe5v3R+7KMeteCqCGhlBWafS4EgTfD9AxRov8Ppe0+l22e90Xbv8DDWEYh2qdUDH1yRYC7HUlLUPvhi5/I+6PhaIdZIrhGf3iVakIrS99xbrWsY3KGMRtjfTlkkKQX82s5X4KJuk7SuD12Zy1DSIPVWhHrTHn9CU2JIlnix1pvCamgyDoWEarPjzD5z6+r+i/Y+CGL5Xx1lvSClpNpt98kTtdpvXX3997MDs24F5Iqh5rDZ+8zd/k7W1Nf7ZP/tnufL55z//+b5r+KBw7AgqQ5aKGUSSJFy9epXd3V2eeuop3vve9x46BRAEwVjB2GJ6zxpDu9NBJpJabcEN2U6xz0xNYjCCAhdFjSMopSStVr8+XxRNToslzQhOja+3Qc+wrwdbkCZybfBSuoU8aseUa6kiRGb9Ua3ilyp4yWwpyiTqqZE35ujMlKk2n0ksfnVUD+EwBRjj5p20MK5RYnCbMZRHCHFYQJr0WEX+n94/C6k+iyXRhlhaygGFdF62t/6h7eGj7f/dnqxyttzKd1HY/ZDiwyQoPHb10Vhw7Kgdlr3ludNtwjbw9RfQwf849XvCMOyTJzLG8LWvfY1z587RarX6BmYrlUpOWIuLi1O58x4VBglqFi8oOLzVxq/92q/xa7/2a4c44vlx7Ahq3M0kpeT69evcu3ePJ5988kgEZCel+Hbv7WONyVs2FxYWqNdqM0m+CCHSWZ1hoo0abRYf6r95XV6+hTV2qGgcD0RhbsnrTfgPDuyOQlToJjRao43G93zCMCNKi+85lfe9+w1MKDHWOr+dxUWCIGCztTfl2fdgrROirdRK8xFU2vlnE2AEqRQ/mayrUHge1hdgh5NuApCJoFzt/3wsIG3CxBHevKHC5E3/HVmmEnbTVCH0GiCKNajim0dJO0FTlUkIKHturCAXHba4Y5qBtO7J8pEQVNd26dgONTF/ei1Qn0f7F0EsHur9mczR4uIii4uLPPLII4BLEUZRlMsTbW5u0u128+HaB+0XddxkjuAYEtQglFLcvHmTO3fu8Pjjjw/p5c2DcQRljOHK61fY3dujWqm4utYhFc0H03sZio0SxqQzRkpRH5M6HCSood+3ogPrWt1Ypgu3KrSD9z/de76PsAIda/wgYKFUQqdELZVyKT5S/bai+OgBiLoSUxboGe0xMmhr0WlEbeLxxGHTdCW4z9cKiLUcSQUWSxK7GS8hUnt2BMrqXLF8+F2k7DMcr7VkiRNEBfLotQX2SMv2PVgMRlvuNT7bySqPVLogDI7oNEIYBGZ60sJ5REkrCA9rBV9425baolY6ivpPRKD+Myr8qUO9e1yLuRCCarVKtVrl9OnT+c8zd95msznSLyojr8MqmBf381cEdUxgjEFKyZe+9CUee+wxXn755SN/6vF9v4+grLVsbGxw/fp19u41XGv1HGQohBhqMc8QNTqYdOFPUpv1+mKdcY/C8ajmhkKngNUW2Uko1Ua3gEkp2d1rptJEYYFweyuQtaC1xFoIAp+Fco2gVOi+i2KCVF/PGCdFNKjh5nlerp/Xd75tSVQ95CIJJIW5KSudhbooFFcsqRFiOiScPcRk80uDyEjBGrDaw0u/adomadfebHUjgI4M0QaG3U9EH2kVY7lsrMqm0VYWDW0nJR6pxLh6lgXC3pEIR1hgEELnpOW2mpJ4wdbkbhxwthT3mhwOmXhomRaRiah4420upoWvv4L2P4z1Lsz83llnoEa58xb9onZ2dnIF80z5oahgPu1DmFKqj+S+172g4JgS1O3bt7lx4wZCCF588cWJs0zzIIugrLXcu3ePK1eucPLkSS5evMgbn70xFzkBrv14DEHJKGZ78z71lUVWVw6K0CxxNJCmGfH6qBkNEVTWzmutxeARBH2DPPk/tdYYm9WiXKda3E4ISr1cWitOAEdE/euDTYUaDEbrXtdfTlqCqCOJpxSiHTp7C6pIULgoyq+65Joxbr+e7+OHYb7+amumithkAl4A2kqkVem1LV7frDHiANKy0JYllsrTtNGnFClsLsaai17gTAzbsabs9xo73B8PZ0PiU4ij+iMtDEKY/Lg31QKPBjGa4QeKWX2j7ql7PF56fLoXH4BQ/p8kpV8FMTxEPwlHMaQ7ScE8a8i4f/8+nU4nf20xTThq/6PMCv8qgvoehLWWD3/4w0NaVEeNIAiIoojXXnuNWq3WJ4U0lw5fCoEYapAoKi6URUi1evCXU0o9VMfKEnPFdSVuxnDG/dtaS7vt9OpqtRrGCsxuzODi6qSJ0lpUEPZtMW4n1FYHCWrMmQoQwgev4OJUUMtOpCJuA6FXcMz1JvNyisToIUqwMZhyr84UFIiJ9CwjM13tJYnBq8ZoO661W8BQVDg63deMpyUoW3AI6SfEbFf7tsajQZReR5PqDqZirWLAeTgnraAYE4PQRBgaCFaDDpA43hqh+j6WtAqn3TRNOqbDgjcbqYyCsHuE8jPI8GdmSqE/KBWJooJ5UZ0h825rtVrcuXOHVquFMabPUn5xcREp5V+l+L7XIYTg8ccfzy03jlrRPEOj0eDNN98kjmM++MEP9s1WyETR2ht2v50VQmQ+UGKk4kLU6LB05sSB24nGRR7W9n2x41aExdLtFBo76nUslt1GlyI59UkT9aX8eojbvWufaE2iZpvNyRc6z0Mqha8FourlKUJrFRnNCm/Ax6lwiokZPn8Vafy6GDsknORpuvFwdSFDHBsCo2csM2bFnv43daSHc8HVLm03IoKzKakNEtMgtpIyj5Qzd9zJzsPuVhAMR1suRbihFlgKHwWrQUQIESOI8IiAOCdaY1PfKF2kOScbJdIU4abc5InSE0fSHeeZr+Prx2fq6nurZY4yhZhiy3hmAtpqtdjf32d9fZ39/X2azSZRFHHp0iW2t7enntn63Oc+xy//8i+jtebnf/7n+Uf/6B/1/T6OY/7BP/gHfO1rX+PkyZN8+tOf5oknnmB7e5uf+Imf4Ctf+Qo/+7M/y2/+5m8e6bkfhGNHUEAuqfMgPKHa7TaXL19GKcWFCxe4dOnS0E20tzmDBt8k2Ezg1RHJ4GI6raJEPKVpYtSM2N3aoVKr5h5Q2dNxN5aAwFqDUs6RNgjCiYtM0knyWk/rgDb3ybAuRRd7eIt+mvYr/DZNDzp1ikyBwS2yaqCXLtPCExb8VIi0z7rdgrI6b0kfjnl6tvO9RgOBlh7BCMHXWaGtR0dWqJfTbQkLuMjHWO1IWYCYwqigq33a2qcejDCX7CPynvNwrz5o8rk2ITy2jaQdBtSCEKhjqfWuq7WOtIgRIiUtP4L8M9GptqET2m3QYFNushqsOFsT3z9UE1GGQP1nrDiB8V+c6vXvBB2+TKqpVqvx8MMPA/CNb3yDJ554glu3brGxscGbb77J3//7f59qtcoLL7zAP/7H/zgXgy0iUzJ/5ZVXeOyxx7h48SIf+9jH+oRii0rmv/d7v8fHP/5xPv3pT1OpVPjn//yf861vfYtvfetbb9n5ZziWBJXhKD2hioO9Fy5c6DMhG8RR+EBprWnst7DGuPTTqJpRoz2VokQ0WH+CvpXXFKKzSlBlobrgnnoLc2SdboJSEotrgBBTqAJYC0lXUq6VaEbztIenJBPbkeebLaJAXttyChaGROnCyFFGXO5NJoGg2u/Eq9AkVvWR0DRtDir2j4SgABpJQD1P8wmwHloZhAgJ/Er62TlVC5s2O1hG+yzdT8rUg2nnzkbVB3vkf73d4Vx6SEEQEPgBfuAsSIRYwNqFvu5ARIwxHZRpUQ0tEAGOpHbZpWZqiK7s65rMtnmQ/NUgQvm7SHyM/8KBr30nENQoZDWo5557jn/6T/8pf/qnf8qf/MmfYK3l0qVLfTbzRcyjZF6r1fjrf/2vs7a29sDPbxSOJUFNqyYxDaSUXL16le3tbZ5++umRg72Di+buLCrmA7DG0G63kVIh8HMV7VEw2pC0I8r10Zbt6RZHtphn0ZGUEtK0oRCCuNVvAW+tpdFs0Y3jfBh3FkSthKAa0B5bfzoYMpNlMhaUhfDghUsIR2xAXmwTwsv6sF07eUdjAxcNCs/DYEisShsO+jv8RkZOBejYw9bnCgRyNCM/3VYq7GusM03su/Y+QvgICuoHIq0xpYRlMWwlZR6vdvDnOK6s1tcUUK7VqHgeWju/rjiOUaoN1o0YhGGQWmYEKO3TaftUKg+jRSm9kAohIiwRu0GVs9WH8MVOHmkppUhSkWFr7bD9xtj7TxPK/x3J38P4H5p4Pkdp936UGCTOrCtQCMGHPjT+nI5KyfztwDvvU3gLMY8nlFKKGzducPfuXd71rnfxzDPPjCQK3/eHbvjdw6T40px0sfZz/87BQ61RozORoKQ0fbp7blcWbVwqLAhCJ+aa/i9pxJBqTHa7XWcoh1+YeZoNcSvBLvkzNFv3Y7CTzsZ2lMrNEJQxxNoRc7GdPGMQAQgJfuCDtSRWIQdqVfnnLcRY0spmiqz2sNpDBPNHUcoKGhEsBArf8/DDab/GXh5J9o7U0NI1TpcTjI0wtouZ0qF3ENbCrTjhmYUqQeDci4u/1Fo7x+EkoRm3wFqCMECnIx+BHyC8EEuIpc6egYD/gSXvRYRdJ/DuEpTWKZkNPO6CNWPsNzyCwHfpwSDAz5XkDaH8P9BmHRX8CIjR101r/ZaqhE+L4oPuYeW8vttwrAnqMBGUMYbbt29z69Ytzp49e+Bgb9ZqXiSonTu70+/Q9gwKKwNDvUms8if+cejut1l+dHy6sVh/yqw2jLFpQ4F7Mi5uH6pEAAAgAElEQVRGBHErIoqiXOp/dXWVja0Ghx1+iVox3c7hH9+TQXKNDbbee8ocGqBNW967Jh2unRDSWA1aGqSvsNj8c7bZhrJ/F2zdB0nL/T8lPVmhXEo75tIUnMFMmSTsnYC1sB8FLK8O9lkeBh4bkcejleWcqC0qJStHWNpGWDvs0TUK96XkEV1icTBFJgR+4COlRErJ4mKdUlhK08e9aCtrrMlSeffN/02ldo5q+CzKXEBam3bAKzw28fwN/GCDCuv4dgNsjLEGpRRaKTpxjDaulT7wM9J6hUCvoUt/F+s9OnQO79QU3yhMk+acV8n87cSxJKjDeEJZa7lz5w7Xrl3j4Ycf5iMf+chUaYBRahJTEVQ6M9Fut3ODwsG5KRmrAxeNqDG5W7DbdQSltUYbg+97hKHvZn+MRRQGVq2xRO2IuBOxvJouaNZ5KPUKHLMtmFoZOq0Ywtlnwqy1ffNL4CIo0idN10XXI1htnC6gAuwBc2HZ+3RkYKBRqkhs2b8nkZYjK5CRoFoDT/j4uKf67B3GOkddM460bO+4hBC0VQlt1Iih3dnR1oYdqTlZCtJzCvBFHV8U5wMNxkZo2+2RF9HIJ/mr3Yj31foHUJ3+Yyu1WFnNf+f5PiXfp1Qa9ndSWtHptnh9/9cRe3+bxerZfFaoVqshxOMYew6Vp2ot2C0CsYEf3KFk16mwgbANd6+kpBVFEVp9E2sv0ZQfIhF/g1r9TC4I+04kqMEywSxeUPMomb/dOJYElWGaJonM1n1tbY2VlRUuXrw4k2TJIEEZY9i9OznFN86gsAijjevgOwBxsztkdNaDpdXqkkiJ73m51YbFplbaBm0MVpu8TuN5HiQ9ko8ShTbZk3xxyHTK6XhjsBGIQxBUPEqIV/fqUNm8jzU2n2cSno82LiLC9ghiLNHHAmoHxw7TkFaSuIFoP+i1amfeUL5I54wKw7QGjU3TWCZ16s0eFoyFRhywWj2aLtTb3SQnqNHw8MQCXt/Qq8HYxEVZRDlxtbRmU0rOlEpYa2i3O2itWKwv4k/xUJf5O4X0vmfBqS+wan+ObksMzQotLS1Rq9WcvmR4BmMfRpn3u8/eWjzRxLMb+OU7hKV1SnYdjy2wlrp+HaXeYKf1Xt64+SzduIaUMleaWVxcfEd4Rg2S5lulZA7wxBNP0Gg0SJKE3//93+fzn/98X4PFg8SxJKhpmyR2d3e5fPky1WqVF198kWp1UrPBaAwSVGOriRoz76NTTS8hBIuLk7/MQ8oPY2CtJW52qS73hwFSSlrNFt0oyRsgsjoTkJOR1RoQeIHvKMhaWttNbKpG04o1RutUO2/U3M24xd29Tirtmrdm1PU01o61dbeRq0O5p2add5VJa4iyulOefusdS4+0CoSVCMcGh4hUhkgLgdEh5bLrILS5h1Sq9OANzBml3Xm+F1IK3AUvpgYbEZyoHhxFT4NdqWlIzVI4S+Tg4YkKnqgUFhKLtQmbSnFCnaXduEp9pURYl0z70DIKyu6z6/0Wjz3yizz2mFscMzmhZrPJ7u4uN2/eJEkSKpVKHmktLi7ihytYVpD2PSS5RFOEsHcIvA2C0gZnKus8eur/wYgnuHzjBOHCQzSbTTY2NojjmDAM+9QejsJWfqbzn1OH77BK5gDXr1+f7WCPEMeSoDKME3NtNpu8+eabeJ53oK37rPvYGdHYUPSBck+BB1f54+70tbNov50TVGaGCBCWKgR+3E9M+TGZPOXne8WajgAJK6srrh14Y9s97euiWZ9HJkE0nrTcPI22FmI989KVNTiMgo0Mquran30/QHiCWKs+vb1RGKwZuSO1eNLHVjIx2fnoQEaChZp1M1bFY8ZFei5iMthU2SMjrSzF4+OR+cJrXWJRnKIcaqRJkDZ2f0wyW10rxdVOzPuXqnNGCwJjfFqtLm/4Xf7WU/8b5VIFZRpE+jaxvk2kbxHrdRKzPdOWldnnZus3OFP9eyyVPtAnJzSoON5sNmk2m9y9e5dut0sYhn2kVaksIMR5lHlqoK51D2u/yJnVrxOGiwhvCeM9TixP00odere3t3Nb+aLSwziJoqPAPF5Q3804lgSVfQEHv4iZe24cx1y4cOFIZEQGCWq7UH+y6RNgMqMPFEAyZQQFrg6VKZor7aSJwjBke7s1TEypAoSzyRh9eyTtBKOMU/KWZuBL2Rvm1CNIK1N0AEGSpeiUxSqDGKXjN4K6lDG9usMArLXYrkac8AiCEG0MsZK5UvmsEAi8RBAuuHM09NQQDMYNmM5ABkoKtLZDs0QCwBNY7c4hCFzbuLVOZUEXJIPyBhZPsNGWPHuiSskrk4Wh1oKyCdImSNMjrb6B4xHYk7qvFjUrMvUDKROnMBLEvN59lQ+U/gaBt0Tdey/1sJca0rZLrNdzwor0bRJ9d+L1NDZho/MfaKlv8nDlb+N7/ZmBouJ40VAv08BrNpvcuHGDdrs9pIFXKpVYu9Yhit7Do8F7McIDYxFmh0BcZ2WxzOpyGeE9AtTRxs+tNwbTjkUynFfFHOb3gvpuxbEkqEHEccyVK1doNBqHds8dh8E61/bGLlibt2hXq1VWV2fzgQIONBgsorm1T2Vvj4VajXqpnjcPdAtRmEnrNE4qKTwgG2OJmxHxyOGZcWKvTiHcaNcWbq2bX7Kkpx5pqHv5NgrvLNSKXGqvq4bJ2WYnlRaeTGKIQ31oYirCdC122UUwHlndqBcB2ZS0tDUpgU3uzEu6UB0IynX+YOBsSrIrIIQA3y9oOdB3LTcaHVZtRCV0LdXZn9BLazh+Pb8+Tqy2n7Q0/VHl1XbMauinDxHTImvo6VCtVqjVVsg+wzfbf04tWOKZ2ktD7/JFlYXgPAvB+fxnxkpivZETVqxvE5t1zIA9SSP5Gm15iZOVH2Sl9H14B8wWlEolTp482deZprXO7d+vXr3K3t4epVKJ5eVl7t27l9e1/OAhrD2NMcbp5RrAdrFWU6+FLNZXeeTMSTwvxFhBt9vtSztm80r9EdxsRofH0WoDjjlBSSmJooivfe1rPPXUU7znPe858mJoJhgLbmG5/p0b7O7uDrWMzwRjSaZQ7jZao7XB15rFhTpBOUxr9q4bLIqc9YVOIzw3nT/dIUSNiGZ52hx8WlPxe6WcWCn3dJq2TZu2xJZ7Eju5UGlfrcgSKd07B3oLdo70d7pj0UtH81laAzYBMaZpSiDwhehL21lcnclY40ZiC6QVR4JKzckEFf2lwiA88Po7kQtBb7LWpxuUObHgo5QmSWI6nTYmHWINs1mgICDwQgJCqr6LOqwFg+qlB01CZGJudyWPL0z31G+MzuumK8vLIxX6v77/R4SizJMLzx+4PU+EVIN3UQ3elf/MWkNi7hVShO5vbbvc6/4BO9F/Y6X8fayUPkrgTZ/28n2fUqnE1tYWlUqF7/u+7yMIgqnqWmGYXUObCy1r7fQZyyWfyqkTPHT6FJ7nZvziOM49ozKjwyAI+iK4Wq02tq71VwR1zHDt2jU2NjYIgoCXXnrpgQ3mZRHUvXv3WFtbY2t9Z2TL+CxIYtW/KGctdilyoVYhCEvOI7yz32axnH15Bd1uTJLIfBq/b1h1CnT3u3SWDpe6sNYis/Re2oItEhDpFzBTKB+01YiNRhu3sDsHW+uk6EQvNZiRlhdbZq9sjYfpWrzy9NsTOC0/X3i5lkNOWsZSNgJFTGwUfjBrxNKP9XbC2cU6lUoAuPs4m/fKhlhVp+vsTjy/L9LyvICKH1Ch150XG3hh8SU80WFXbrIr79FSuwMxoU3T0wm1Wj0d1B4NC7y29/8Smy7vrl+c+fyE8Cj7Zyj7Z4APpednUXa3QFo3udH6EmX/ERbDD1APX8AX45uarLW5UekzzzzTJxM0a10rI5gsKspU3N1wsov2A99ndWWFE6urjoSEcI1KKWndunUrrw0P1rVGzVIeBy8oOMYEVS6Xefnll/nGN76BHtWufETodrvcuXMHKSXPP/cC/zV6dW4fqKjbS+8JyPkpm/UQoqdo7mCJ9lssPrSCtZZut83WVgvhefgzElOG9l4Hu1jUQ5t+O4nOoqACtAVpEaVUusnz8rSWsYauVE4xwvYiJpG2aGft5MX2Bl8LSiLEeDZ3y3VRzOGgI4NvxVwRtgDXvm8M8Z7l3EMnKVfKJEYRm4TYSPe3ljPVtbSxrLcS3rXUe8gSwmkiBoFPkbSMcUOsKpsHMtopL4RO5y4InBTRqzs3+JlzP0iQNshIk7Cn7rMrN1nfu8bNnSt4C376FD/dNfnLxp+wr7Z4aen7Cbz56jJCCEJxgtA7wWL4vvznyjSJ9Tr7yZcQBATeIoFYoeI/hkiVIxqNBm+88QYnTpzg4sWLBzY2zFPXcvNaws0VOtXivvVmaXGR5aWlfJQk81fLLOWvXLni5KxSXTwhBEmS/FUN6nsZQgjOnj2bFqNHd/LNi1arxeXLl/NZihdeeIGNK3cPEn6YCt1OQZ4pfWLLbuJ+Ec3eTFJ3r00Udel2I6qVChDgeYfXIUwShRdrqIT0zz/19lxssM6QCbSORKSh1E/eyhgilc4tpbNW/Z2Bqe9R3/hVGpVFlrDuF9Xo0lpRWi9K/57mI7EarAQxx7pqrEWnDxCxDQhLJSfA64dU/N5RWuvsPDLCioxMSWt8k8N6K+HReolwwgOHK2d5+H6Jcrl3IjobjFWKdifGaMO+2OO39xN+6OTFfM5o0ZzkzpVtTtjzfPTZHyEsB+zLLXblPfbUPfe3vD/Gzt7heud1tpM7vLT8AzxcPhpjwiICb5HAezc13p3/zNiY2NzFaMHNG+s0Gh3e/Z7nWFo8PWFLB2NSXavZbE6e1woCip5ZOm36yYioXq9z5swZN+phLW+88QalUonr16/zT/7JP+H27du8+uqr/PEf/zEvvvgi3//9399nQ1/EYa02AP7lv/yX/Pt//+/xfZ9//a//NT/4gz841zWbFceSoIA8FD9qT6goilhbW6PdbnPhwgUWFha4dOkSAPdubh3NPtpZBOWK5cpolybqi8x6FGGMobm9zwmpWFlZxhiI4sML1mrt8u6iIxGV0Rp8IiOOfBTW/bc7ylo+PzENS2E+H5SY1Iah0AAx7M4qilzVG7y1oNsKXbZ9BoZeOhwbFgabTCHCyqKtkYKvHYNXmr2N2AJaKyfqGgQunWdht5VwennY3lwIKPshZT+ENPVmLUiriHVKWCl5mbRLUhvLjUbM+ZXZ7dJ9z8Mvlfq6zYyx3FDb/HlrjSd2TrC7u4uUktXVVR566KF8NuhE6QwnSmd677OGptphV95jV26yJ++xq+4hTS/qb6pd/mj7/+KxygWeX/zvWA4frCCpJ8q0diusra1x9uxZnj3/GKDRtouzJcn0CUUeZR0Wvu8PeTtNO69VKpX6SAvIoy1rLSdPnuTJJ5/klVde4Wd/9mf55V/+ZdrtNl//+tdZX18fSVDzWG28/vrr/N7v/R6XLl1iY2ODH/iBH+DNN998a72y3rI9vUNxVJ5QUkquXbvG1tYWTz/9NM899xxCiDydArB5/f7c+9FKkyQqb4BAuPx2L22YEZNw5KVV2lXn4xsnFtppd+c6BplGQKYrJ8yv9izGSY8oURnhFEmroOPQscRx7MpL6QuyLj5E//bG7LIXtQlApsoXgiEDw1GkxUjS6kVbxW6+aWAZtIv3+rh1qxFxcqk8Vf1JCCiJgJIX5DPNrp1cE6XpwUY3QdYDwmD++9nzBKVSyFflFZrdBh85+17OnTuXL7S3b9+m1WoBUKvVWFpayusxy+EplsNTPMF70+O0tPQee/J+j7TkJrejy9yOLnO28jRPL7yfM+UnjrxJKY5j3nzzTYwxvPjii7mjNQT4A8ufIwc3mO4wehxlVhxmXisjrnK5zO3bt2m325TLZbTWJEnCt7/9bZ544gkef/xxfviHf3jsvuex2viDP/gDfvInf5JyucyTTz7J+fPnee211/joRz861/WYBceeoOb1hDLGcPPmTdbX13n88cd5+eWX+yKZTM0cjiCCspbGXguZSDzfIyyFaOUaJoQTaQMGUn4F8urutagu12i1D++9ZC2oVKDVduWQRtg4SK2JU2LL59Dy34p0cYBAgQqFiwwyYjpsyc4CscVb8AcMDNOnVGuxepTrbpG0IDPsMxZWqSAqgq6WdLUa0gLMkKfzRtjFZ1DKsNuKObk4e9QD7uMOhU/oVVnENQRU9DL/y4WL3I/3uBPvcDfa5k68Q1PN5uBsjKXdbmOM5s264MnViKfCkJWVlb7ahzEmT2ndvXuXy5cv96W0ssV2sbTKYrDKueozQLpAm3behHGl8w2+3foyJ0pneKxygZPhI0zjKTYO1lo2Nja4efMm58+fH5v+KqJnbd+/nVH3+LT3/aR9HVTXunLlCru7u7nrwr/5N/+Gs2fP8lu/9Vu88MILY/2fipjHamN9fZ2XX365773r6+uHPufD4NgSVFHu6DCWG0Xx2DNnzvDyyy+PDH2LN/E8EVSmz9dpJm6ANhPb9Dy0NmitCqku15nnBT5FGujut9HazEVQiSw8nRsLkYLq5BkUqTWRnPxUL9Jmh1IMfkkgvAA8r5d2M7MNxGawXQML/Z9L3soO+Xrk6tdmAmm5v2Xb8NhqL32jrHFkpSSRVnRUQiQTLPTSeROwtR9xon50Wm/r3X3+5O5NPnbuvVyoP5b/vK0iNuMd7sQ73Im2uRvvsCebQ++3FqLYqefXFhYoleoIAf9t62vciXf4nx5+mZLX+7w9z2NpaYmlpaVcIdtaR27NZpOtrS2uXbuGlJJqtdpHWpVyjUcrT/No5el8e7Hpsivvca17ibJXJRRlqn6dur8y9TVqt9u88cYb1Ot1Ll68OJe306R99jXrHBFKpRKrq6vs7e0hpeTixYssLCywtrbGpz71KT7zmc8QhiGXL1/mF37hF/gX/+JfjHTR/V7BsSWoDEEQ5O2d0+Cw4rGtvTbtxuyptUF9vub2TkpOmRSOR+AJNwCbC6J66eCtI60sKujuNmk2uyMVqKeBMRap+gv1piPxxxCUtZZY6V5L+QGw1kBHEa4uFDoQC7NFg7WiKUjLRqOfgAfhGgK9kaRVtIrf31csLnpUqqX/v703D4+qsPe4P2e2TCaTDQiEJBAIWQg7SRBcqliv2tqW9rpi9WKrtmoXUNsqXlu1rVpRX62V1qVatbZqfWvfarmorVq1bhDABVmyEALZ98y+neX9Y3IOZ7KQyR7gfJ4nDySZZM5MZs7v/LbvNzr1ZjaTbEnAabERCAQIKQoJySlIZoGgJPYErsiAMkvhiEyXN8yU5NFbc/hnUyV5yVNYlHakN5RksZNnySIv6Yi9REAK0RLq0gJWnaeFw64mLBYLaalpmHoNXOz1HKQh2MZXpq+K+T290UsA6Uta6gJrd3c3dXV1hEIhEhIStKCVkpKC3W4nMyE35vdF5DBeqVtTgRcEExbBirlXv0iWZQ4ePEhHRwdFRUVjKgUUd5l3iJmWy+Vi//79zJgxg7KyMkwmE5999hkbNmzg3HPP5ZlnniEhIQFRFKmsrBw0MxyJ1UY8PzvWCEM8WY2GLuWkQN0R6erqoqmpKS51XpfLRWVlJQkJCeTn5+NwOAb9GYAPPviAzKRsnv3FX+M+PlmS8fm8SJLUs2diQRJlavY30XsAQhIlTGahx5it15tBLWUpUckcy+xMJMGM6hJr6jN0oP/Z2D94MBTpUS4/guCwYsmJHXeVe5ZPw5IcVzBUesZv1VKkkJOokz0a/GcHC1qmqRZMjtFp7CoKpKbaSEmJ9i4lKSpGK0syVpsVh8OBxdz3uk9SZAKSSFCK9GRcIuEeA0SL2URhTgrmURQfTTRbub74NLIdg5+kRVHUlFTyCvPx2yJa0GoOdtIW7u7znBYmzeL0qUvJtA9eZhoIRYn2HD0eD263G4/Ho/Vh9JmWOl6tR1YkZGR6rCLp6uqmsrKSmZkzmT179rgKuR6NeAOUJEnU1NTgcrkoLi4mKSmJUCjEvffey9tvv80jjzzCsmXLhnz/oihSWFjIm2++SXZ2NitWrOC5555j4cKF2m1++9vfsnv3bh599FFeeOEF/va3v/Hiiy+yZ88evvnNb7J9+3YaGxs566yzqKqqGq0hibii9gmfQcUzxefz+aiqqkKSJIqKikhJSRnSfQiCQH1lY1y3jerzBQiHo8656gKxoij4PEH1N6LIMqIUtSO3WC0Dvwl0vRRZMCF6Q1jTU3qClowoRU/oR9S0dUFLF7siEann5A9q5FIA/GGkcARFXVDs+YjrsaqBqWfvScMvQUp8JxhBELD0GnDoHbQIAPFdS8Rxf+D1Rpg+PRkFBZ83mn07EhORZBm/z9+TyQpRySGLBYvFitlsxmmx4bToxrt71NUDUoQk0UFqipXWYF99xOEQkCI8vP8Dri8+jczE/qXiFUWhpaWFgwcPMnv2bM0VeiowK/FIXyQii7SFu2kOdvb0tTqp9jdQ6atjriOLsrRC8pOyeyxD4kcQBOx2O3a7PSYTUPswbrebtrY2/H4/ZrNZC1jquLbFFH3vVlVVEgwGWbpkqeY4MBblt+EQz/13dXVRUVFBVlYWpaWlCILAzp07ueGGGzj//PN59913j7oIfTRGYrWxcOFCLr74YhYsWIDFYuG3v/3tuPtknbAZlOr3EgwG2bNnD6WlfbXC9Bp9BQUFw3aYLC8vZ/+rtdR8enjgGymxzrm932gALfVduLv9SKIEREeWh/IGDIVEcNix50zv+00FLWgpcmzQUhQIho9SppuZjJwYte7WxsKPhjrJJwyw+JpoxjRjeIMD/SEIkF0whTDRhd+AGCEoigPadQyGAqSkWEi0M6CKgurqqn5I6sWETsVBn2mZTQI3rzqVaQ4H9X4Xdb5u6vwuDvu6aQ54hh20Uqx2vluwkjnO9Jiv+3w+KioqsNvt5OfnD1nQVFIk2sMumoKdNIc6cUd8pFmdzHXMZI4jE6tpdK99RVHUhgfcbjc+n09z583IyCAnJydqrTHACVQfsEY64DBaiKKoraQsWLCAxMREAoEAd999N9u3b+exxx4bN9+lCSCuP8AJH6AkSaK8vDxmWkUURQ4ePEhbWxt5eXnMmDFjRC/oXbt28dr/8x8i/ennKbHOuQ7HESdS/d9GVhSq9zQgiVHjsqGWMBRZwR8II5hNOApnx/d4FBAliWBY1O00qaO3aP83pSdiznBqPyT3lNqi/8YGrai6+SCKDAIIsxxDll86GtNmOkmdGptGibJMQBQJitGgFYgMHrRUGSmbzcK8/GlRZYg4URQZUZSIiJHYoGW2YLFayE5O5X9POx17r4AXlkQaAm7qfGrg6qbR7xlUnVzFIpj55txlrJiao/VpOjs7KSwsHFU1AlmR6Qi76Qi7sZrMJJhsJJisTLElDzm7OhqBQID9+/djtVqZOXMmgUAAt9utLcWqe0Xqx3Czj7Gko6ODqqoqZs2aRVZWFoIg8MEHH3DTTTdx+eWXs379+hENdxwDGAHqaKgBCqI9olNOOQVZlqmrq6Ouro7Zs2eTk5MzKrXs/7zxPv/8zX/6+DyJPVpcZrM5Riiy998kEAjgcfnobg30664bD+GwSKQnC3LMy8ZkH/yKWRRlQhGxn4xInyUpYDVjzk3T9or6G8kVxR7nXZMQLQPKR88JhIwEhKTRe4MmJFrIzksfNDBLclQtPdAraEXHxqUeNYaoqO706U7S0oZuYqlHfW6iHxHmJybxXxkztFKWWs7q/TqMyBKNfreWZdX5umkMuKNyUAOQb0tlsd9CQU7uqL22B0NRFDxiIPq8CWbMPRcnVmFo2T+gvT/708/T30adIFT7WqIYtZjRlwhHwwJjOERLklWEQiGKi4ux2+34fD5+/vOfs2fPHh577DEKCwsn5NjGGaMHdTT0bw51ZLympoYZM2awatWqUb166azrjgk6kiTh83pRFCWmLNE7MIVCYfwBP/aEBATZEn9w6r0IqxBjDy/6g9iOEqBkWSEckbR9p77ol2aFqMV6REaxmHpkbhRtlFudhDObzVitJvSyD30yLX3Q8oowigEqFBAJBUTsjqNfTZtNAk6bDWfPCUyRFTw+L75wGCHRQbhHFzAiS3R0+ElOTsBsHv6JXhAErFZrz1V+Ig2AJ2MqBWlTNI03r9erLXuqQcvpdJLrTCdXV7oTZZkmNdPyd3PY102D301IjODzetkleKhNSeUsYSrTZBHHCPXw4n18KdbYzDUq9CpxZG25R5rqKJl1vPp5JpNJC0RZWVna/akLxp2dnRw6dEhTctBPEI61tXtbWxvV1dXMmTOHzMzohOU777zDLbfcwne+8x0eeuihce/xTHZO2AxK6SmtdXR0sGvXLrKzs5k3b96YqJo/ecefqNlxGKvV2lM7F0lyJmHryaj0fwNBEAhHIvh9PiwWS8+koMDB/U2arP9QCQTCSNIRwTpTsoOErOmo7rGKovSoHhwJFEPFnOHElK5mE9GxbFmSdFOFSkyGpX7EEhu0rLlJhGQ57qGLwUhKSSBzdvyjx2pP0JHoIMEe+7pQM615WVPIyHBy2O2i3e8fleMEuGLxUk7KOjLSK0lSTFagqjjos4Lejq6yLHPwUC37Gg9jy5xGt1mm3t9NvT8qc3XStNmcmpFLjiN1UvRk+jsXiaJITU0NHo+H+fPnj8jduvd9qUoO6nMaDAax2WwxE4T6kvtwCYfDVFRUoCgK8+fPx2az4Xa7+elPf8rhw4d5/PHHNe27EwijxHc0ZFnmww8/xGKx4PV6OeWUU8ak5KEoCndd/iBdLd1IkkRiogO7/chknooqi6TuZCUlJWlZnLvLT0tDV99fHgeRiEQ41Kv3ZTGRVDAbuUfdWuopuQ03AMKRcXO1z6LKK+mFa7W9Ilmd9IsNWtHpwSOv2ymzUknOcBAWJQIRkWA4WnILRsRhB63ZhVOxDqKnJ0ZEvD4vVkt0bPxovTCLycSPzj2FzFtTGqYAACAASURBVNRk/JEIh90u6twuDrvd1LldtA0zaJkEgYuKF3D6rNwBb6M33FN7MIAWqDo6OsjMzGTu3Lkxr21ZUWgNerXSYFiWmJrgoCBlGrlJ6SOy/hhN2traqKquYlbOLLKzs2MCxVgF1N5j736/H4vFEpNpORyOuM4ViqLQ2tpKTU0N8+bNY/r06SiKwhtvvMHPfvYz1q9fz5VXXjlpRuLHGSNADUZ3dzeJiYns2LGDxYsXj3r2pCgKn+/cy+9/9CcsViupuvF0/fOuliBEUcSRdCSzUqmvaSPgj99BV0USZYIDWMMn5mVhTox9vIpCT6CSkeSenaJ4Xx8CkJsW1Qa0mOOUqVF04pjqfR0JWnanjaz5GX1+l4KiBa1AOEJwCEErdWoi02YOMHYtK3h9PY32JCdmS3zlluy0FK4/exWWfsoz/kiEOrdbF7iGFrRW587hG4VFWE3xHUsgEGDfvn0Eg0GSk5MJBALa4IBaHuxv2k1RFFqDPtpDPhLNVuxmCwlmC2k2e4wR43gQCoWoqKgAoKioqM/7cqDX5FgFrUgkEhO0VFsN/SBG7+w1FAqxf/9+zGYzRUVFWK1Wurq6uOWWW+jq6uKRRx4hJyfnKPd63GMEqMEIh8MoisKnn37KvHnzRq18ANEpncrKSg7vaOKTV/dq+mSxgSl6QgmFgtrOU+83WcAfpr5m6BJJoihFx8oH+IvZpqdhy0jv/5s61KCllv76C1pqYDFnJmNOTSTO195A9xgTtNLnJmGymjCbzbq9IstRglaEQFgkEBEJ9RO0BJPA7IIpWKxm/Q8TCAYIBaO7Z7aEofdmzpw/lzXL5g9+Q44ErTqPqydwuWk9iprJTKeT/1m0hNzUgSfuFEWhvr6e+vp67WpdRdXLU0+wHo8nZtpNDVq9+67RAYcQZsGkuQabBAFLP4Mwo4GiKDQ0NFBXVxe3fp7+Z/WMdclS7FF46V1yTUpKQlEUXC4XBQUFzJgxA0VR+L//+z9++ctfctNNN3HZZZeNetZ05ZVXsmXLFqZPn87nn3/e5/uKorBhwwa2bt2Kw+Hg6aefpqSkZFSPYYgYAWow1AC1Z88esrOzR2Xk1uPxaJL0hYWFPP/Lv1Ozu1ZTI7ZYrVjMlqg1dyCAPSFB23lS0f9JGmvbh5Q9RXtrImLk6CPIpkQbjrzhyZYoPaVBUYqW8xR13Nxpw5w1uvIyKdOTmJKTgtij/CFGRERJ1IRwLT2LsP1lbQpRqSW1NBgtD0ZwptmZnh3NZiORCD5vdMQ/0ZE4ohPbZauWUDZneM+pPxKh3hPNtAYKWqUzZ/KVeQXMSIq9kHK5XFRUVJCenk5eXl5cjXZ12k0ftKKqJUkxQav3iLa6BC309C+1MYcRBgSv18v+/ftJTk5m3rx5oz5i3bucPhb4fD727t2rCcG+/vrrmjSRyWTitttu46yzziI9ffALw6Hy7rvv4nQ6WbduXb8BauvWrTz88MNs3bqVbdu2sWHDhj6iseOMMcU3GKPpCRUMBqmqqiIQCFBYWEhqairuTg/1FY2ahH5EFAn4/UQiEW16S+096Y0G1feP1x3A7wtpqg36ZUNda0fLNkRJjmrGxXEZIQfCyKLUIyg7dBRZxmISSEhMIOrmC7KokJxkJ9yzO9VbFmk4eDv8pM1M7tG9s6jmsCgomlxVKBTC54ugQE/QskYDl9WC3RL9UC891EzrjLmzqG1upEUKY0tLRRmFk9YL2z7HmWBj/syhG+E5rFYKp0ylcMqRZfCAGKHe7eaw+0jguvP9/7BgWgan5cwiPzWN2poa/H4/CxYsGFIFQF+iUlF9i9xuN62trZqbq16ZPCUlpd+gNdyym14/b/78+UNWaYmX3ruFo7m4q2avDQ0N2vi7ajKYmJjIFVdcQUZGBh988AGbN2/mmWeeITd34N7icDj99NOpra0d8Psvv/wy69atQxAEVq1aRXd3N01NTZpW4mTlhA5QKiPxhFKnjNrb28nPz2fatKj5miRJ7PuwMubFHw6FEASB9PR0TCZTjPV29P6FqE231YpJMNHe5EI16FMNKhRFQZaihn6yrCBL8uDKDQMgef2Y0vrvx/SLgmbjYTabY4YHonsuAg5JYUZmGihR36hgWCQYipbdgmFxyIMYsqTg7QyQkpEU83UBYeCgFREJhYL4fGJs0LJG7cylcIhPdlXx/Yu+wLRp0xBlmWaXl/pOF4c7XTR0uWns9iDK8S3CqkiKzB/e+5jLVi1h6azMwX9gEBItVgqmTKWgV9Cqc7n57HAtW8vLycuaSWFONhb7yJU39L5F+hHt/pTJ1aClBq7+9ooGq86oEj+ZmZmaMOpYc+QicHSyKL/fz759+zTldLPZTHNzMzfeeCNJSUm89dZb2jlh3bp1o3Kfw6E/242GhgYjQE1m1BfpcDyhZFmmvr6euro6Zs2axapVqxAEQTuBA+z8525kRcHv9WrlE/3V55H9lyiKohARRcRIhMb6TgK+sE6NPCruKggCZouAWa89p+sRyVL0//FkUaLHjzXOACVLUVtqs9mM+ShTbd42D8mZKSCA1WrGajWTnKRFEMKiRDAU6Qlc0SGHwQKsp9VL8rTBx31jghb2nrtUNDtzv68nezUJtElW3v+sltWlVpxOJznpKeSkp7BqXvRNLMoyzd0eDne6qO9yU9fpotnlHTRoRSSJZ97/hPOWFHBWcd6ol5OkYAhPbS2LkpL4+jnnYrVaCYoiTV4PJkEgwWLBZjKTaLWQaBm5gsJAyuRqptXR0RETtPQLxgMtw+qXVZcuXdqnxD3eDOdvpCgKhw8fprm5maKiItLS0pBlmT//+c/85je/4c4772TNmjWTYnz/WOaEDlAq6n5SPKijowcOHCAjI4OVK1diNps1CRyIvuAPfFrLoYqotbPD4cBms8Vh+SBgtVjobvMhhhWsNit6NXJZ7Al+OgsNwRTVy7P0mvJSp/HULEuSlT5BS/IFBi1vRG07JMwmU9SHahCCriBiSMSS0M9tBbBZzdisZrRCjgLhiBSdxgtFR8mPSCtFiYQk/N1BktKHfiJTlz9DoTAms4kpyVMQTAKSKPLe7nqmJpmwEr046T3pljMllZwpOu8nSaKx20t9l4u6Tjd1XS6au7191BsUFP7vs0r2NbVz6UmLmJYcm/0NB1V+q7u7u49gsd1iYW5abF8jLEn4IxFMQnS4AQHMqhDwCBEEgaSkJJKSkvrYabjdbrq6urRl2MTExJieVnd3NwcPHmTu3LmahNhk0caLF6/Xy759+0hPT2fFihWYTCYaGhrYsGEDmZmZvPvuu2PSZxoJk8E6Yzic0AFKn0HFU+Lr6uqisrKSpKQkSkpKSEhIiA4LqK62goAkybS0NPPKH7ZiMplIS4vfaE2MSLQ0dOH36gwFdWrkR3yK1Ek3GVmM7hcJApoauSBELc1N/QUtSY6dyvMFsDj7Sn0rPYFJDZrxD+YpeFvdpM2K04ZBAJvNjM1mJtWpPr6oMaKaYQVDIq4mD45U+5D0+RQl2lOJRCIkOZ1YdRmFpef/22u8XPvfq0iwmrWpLL2duT4jcDqdzJ6ayuypR4JWRJJo6vZS1+mirstFfaebJpcHWVGoaetk06vvcfK8WZy1II/UxKGX4RRFoa2tjQMHDjBr1izy8/Pjej3ZzGZsvYYlVMUO1RxSZTSCgyAIOBwOHA6HppKgLsO63W7a29vZs2cPiqKQkpKCz+ejra1NU3CIh4kOZLIsc+jQIdra2rR+mSzLPPXUUzz++ONs2rSJc889d1IG2zVr1rB582bWrl3Ltm3bSE1NnfTlPTjBA5TKYEMSPp+PyspKZFlm4cKFJCUlaYEJjji0tre3c+DAAUS3gqc+gM1qQ4xIKApYrOY+BnAQfdOFAhE8rgCuTl9ce0dHVBhMsUFLjno+SUo0W4qWBY+4wfYJWoqCw6SQMj2VUChCIBghFIog9WRqUbX0IT2VAHia3KRmpw9b7FUQIMFmIcFmIVUt1Smwcn4uU2Ym09DqoqHNRXOnd4CelkIwFCLgD5CYaCcpKYmBImxbl48/bt3JVWtOIjU1NcbkTr8IW1dXpxlHqplWamoqSUlJ/Qathi4PDV1uDne6ONDWyUdb6lmSM4NV82YxL2NwTUCI9jcqKiqw2WyUlpaOWD+u9yI0HLnY6S39NVpBKyEhgUAggMvlYunSpaSlpcUoONTX18cYF6qZlt1un1Qneo/Hw759+5g2bZrWL6utreWHP/whhYWFvPfeezEDJ+PNpZdeyttvv017ezs5OTn8/Oc/185p1157Leeddx5bt27VfOyeeuqpCTvWoXBCj5mrU2DqiWD58uUx3w+Hw1RXV2t2G1OmTEGW5Zg3tSAIuN1uqqqqSEhIIC8vj+d/8XeaDrRov0eRFUKhCGJYIhKRiIREwqEIkhgd0x6JgsPRUE0KVZ8mFLSApQUti5l5py9BMAnRnaxgELMlAVkWCIUiBIMRwmFpyHYPGUUzcGaM7hs2yZHAD773Rez2aPYTESWaOjw0tLqob4sGrcbWbjxeLxazhaQkR5wLwzAvZyqXnbucxISj9230kkOqeoM6EXdUcdeeoFXX6cITDJHmsDPV6WDutHRslt6ZrkxtbS1tbW0UFhaOe7lotAKUqp83derUPmoWve8vFAppI+9ut5tgMEhCQkLM8zpY0BoLDyhZlqmpqaGrq4vi4mKcTieSJPHEE0/wzDPP8OCDD7J69epJFUyPEYw9qMFQFc3D4TCffvopK1asAKInodraWpqbm5k7d66WCqsDEOoJPhgMUl1dTSgUoqCggJSUFMpf/YTX//DvuO47FIgQDIS1fyNH81waJdSgpfa1UGBq0UwS0pOw2RL6dS9VZCU62BCMlttCwQjhyNFLognJdrKWjv6m/JLFOfz31/suGGoXEx4fKVNn0uUXaWhzUd/qor3bF9ek4/T0JNadV8bU1KG5G/b2KlKDlnpiHUgeJySKtLp9mE0mbBYzVrMJv9vNoYM1ZGZmTipn2N4cLYipDr0j1c/rHbQCgQA2my0maCUmjmx37Wh0d3ezf/9+Zs6MuvQKgkBVVRXr16+npKSEO++8syc7NxgGRoAaDDVAKYrCRx99xKpVq2hoaODQoUNkZWWRm5uLIAg9wwbRRri6t1RbW0tnZyd5eXlMmzYt+uLdWcP/e98/kAdUAT86kijHBKxQIIwoDu93xYMiK4iSSOIUJ1lL5iKKEpKkjrvrjPUsZnq/nmRJjg419JQFg8EIETE2wM5cko09ZfQntC48v4yFC6Jj0LIs09DQQH19fUzjXU8wHKGx3aOVButbXXS4+pcbslnNfPnkIlYujNMzawDUoKVmWj6fT3OF1Wda6n0Eg0EqKyuJSBLz8gtwJCZG+4o9Qw7HyhW6qtg9a1Zf/bzRIBwOa8+pqpWnt4hXLwZGcr+SJFFdXY3X66W4uBiHw4Eoivz2t7/lr3/9K7/5zW849dRTR/FRnZAYAWowVEVzQLNVTk9P1zbZewcmVYqlvr5eMxpTr3Aryg/w/z24FXGQzGKoiBGJYCBMMBAh5A8TDIRHXBJUFEXLBi1mCyaziXmnL8bcM6WnKNHR7EiPR5EkRlXJrT3Lr6qFeW8kSe7JsiKEghFMiTamFE0f9ZNUot3GVd8+DZMpQmVlpVZCGopVgT8YobE9Gqwa2tw0tLro8gS072dlpHDOykIKZ00btePXa7q53W7NyhyiAWru3Ln9ntRVuabeRzGZgtZg+nljid4iXn1eVYFXNXD1Vxnoj87OTiorK8nOziYnJwdBENi7dy8bNmzgC1/4AnfccQf2Udg5MzAC1KAoikJ7ezuVlZV0d3dzyimnkJiYqA1AmExHNMfa2tqoqakhIyOD3NxcTYqlo7GTd178iL3vV4zbMUfCEqFA+EjgCkTiE3XtmeKSJRmzJdaVN6Mghym5/VjBaz8afU4ikSMW5iaTScuyrJb+/arOu3wVCamJNDZ209jUTVOTi0Bw6MK3emRJRhAinPNfc1i2bGGPJcnI8QXCNLQdybIa2twkJlhZuXAWS/Jn4ojD5HEoqCUkp9OJw+HA6/VqJ1d9ptVfRjAe0j3xMBL9vLFkoIsB/ci7vlcoiqKmBFNcXExiYiKRSIQHH3yQrVu38rvf/Y6ysrIJflTHFUaAGgxRFNmxYwd5eXns2bOHk046KeaNHwlGaG1uY//nFcghheSEVMwmM2JYpKvFRVNNCy21QxdyHW0URSEcEqNlQX+0PBgORmL+WLIU3dMymU09Bnuxrw+r3cbcUxcO6WSnyLKWZYkREUmWMfXsS6lyQ9Oz0rhq43maqZ+iKHR1+WlsigasxsZo0BqspxX9YVVcN4QjycGsnGlc/s1VOJ1jd0Xr8YdoaHXR1BENVs7EBLIyUpiSMvygGA6HtUXV+fPn9wmwkUhEO7GqJ1e1jDXU3stYjmaPtX7eaKMGLTVwqarkVqsVj8dDdnY22dnZ2O12Pv30UzZs2MCXv/xlbr311jFz4H3ttdfYsGEDkiRx9dVXs3HjxpjvHz58mCuuuILu7qhdzz333MN55503JscyzhgBKh6CwSAAO3fuxGKxkJaWRmpqKiaTiZqaGiRJoqCgIDq9I0q0Hm6nsbqZxuoWGqubaavvmJTPiiwrhIIR/N6oXbwYkVEk+owZ68laPJfkGSObGJNlKSbTkmWZsi/mcdKZ87WTa28tN1lW6Ojw0tDYTVNP4GpudiNKR3pa4VAYv99Pgiqu2/MwUpMTWbv2JDJnjK5I7UAoioLbF8IfCmOzWLBaTFjMJhITrIMGAn22kZeXx/Tp8Zc/++u9qOZ6R5tyG4tMS5IkDh48SGdn55jq5401kUiEffv2EQqFmDJlCm1tbVx33XXIsozb7ebaa6/lG9/4BgsXLhyTACVJEoWFhfzrX/8iJyeHFStW8Pzzz7NgwQLtNt/97ndZvnw51113HXv37uW88847qubeMYQhFjsYzc3NbNmyhZKSEhYuXEgwGKS+vl4LTHa7nSlTotbb6iLizLwZzMybQek50d8RCoRprmml8cCRoOVqc0/sA6OnJCeFMNsUcuZOx2KxIEkyoWCEoD/cUyKMIOqs4LsOt444QJlM5p7F2yM9iAMfd7JgeZhwuF17bh0OB6mpqVq5JSMj+rFsaVRqSJJk2to81Bxs4dNPq+jqNmGzpfYJsC5PgD889R6rz5jPypPmjsh+PR4EQSDVaSdVl7UpikI4Imkivuq/Zl0J1ePxsH//flJTU1mxYsWQsw2bzca0adM0XTeIDVpNTU3alNtgQUt/3OpjijfTUns0M2fOHDf9vLFAVYPRXyh0dXXhdDr5+te/zurVq/n000956KGHOPXUU/nOd74z6sewfft28vPzycvLA2Dt2rW8/PLLMQFKXWOBqGq9qpF4onBCZ1AtLS08+eST7Ny5k4qKCiRJwu/3c+2113LRRReRkZGhlQNcLpd21aqeWNUTQG98Lj+N1c00VDfT1BO0At7guDymqE5agHA4FJfEkihKR6YG/RFySgvAOnINt95My0zh2z/5ElabRRMgVZ9X1Z+od9+ltraWrq4uCgoKSE9PJxKRaGlxa6XBxqZu2tu92o5W5vRUVp9RRGFh30m+8UbdPZNEiZqa6Mh1b4misUAdzVY/1H0ifdDqz3dssEwrEokOpITDYebPnz/h+nnDJRwOs3//fgRBoKioCJvNRiAQ4K677mLHjh08+uijMQFiLPnrX//Ka6+9xhNPPAHAs88+y7Zt29i8ebN2m6amJs455xy6urrw+Xy88cYblJaWjsvxjTFGiS9e3nnnHTZs2MB5553HsmXL+OSTTygvL6e5uZm8vDxKS0spLS3V5I08Hg8ulwu32x3th+iUnQeyI+huddFY1RO0DrTQdKB1VCf+osuOYfwBv+YxNZyT9Kz5WXz9+q/QXNdJ0+FOGg910Hy4k9AAzrxDoXBxNv995Wn9OtWqpnoul4uWlhZcLhc2m42pU6dqFwT9LcCGQiJNza6eXlY0aFmtZkqW57J4UTaJiWPTOxgMRVFoaWnh4MGD5ObmHlVWZqyDqSo3pF+CtdvtfZZg+0NRFJqbm6mtrR1wjP9YQP841GEORVH48MMPuemmm7j88stZv379uPbR4glQDzzwAIqi8KMf/YgPP/yQq666is8///yYzVx1GAEqXmpra3E4HDEupBA9aVZVVbF9+3a2b9/Ozp07CQQCLFiwgNLSUsrKyli0aBGyLGsBy+12I0lSjBxOcnJynxeUJMm013X0ZFnNNFS30FbXjjKMEfJIJKLt2fR3Eh8qF9z4FYpPLtQ+VxSFzlY3jYc6aTrcQdOhDlrqu4a1o7WwLJc1607p9ySnmj06HA7mzZuH2Wzuo9qgTmKpQau/CTe/P0xzs4vmFjcJCRaSk+1kTHOSnj4+S5U+n4/9+/fjcDjIz8/vc8Gip7/331gHAL1yg/oRCoWw2+0xF1qyLLNv3z7sdjsFBQUDPo6J1sgbjGAwyL59+0hISNAeh9fr5ec//zn79u3jscceo6CgYNyP68MPP+SOO+7g9ddfB+BXv/oVALfccot2m4ULF/Laa69pVhl5eXl89NFHfc5VxyBGgBoLwuEwn332Gdu2bWP79u3s3r0bq9XK8uXLKSkpoaysjHnz5hEMBrWgpfaw9CfW/vYyIqEIzQfbtPJgY3Uz3S2uAY9FkiR8Pj+KIpOUlDRqV3+pGSlc++srsNoG/n2SKNHW7KLpUAdNPYGrrckV145W/sIs1qw7Bbsjmt1EIhEOHDiA1+ulsLDwqGUw/fiwWna1Wq19yq69n1uvN0ggEMFqNWOxmDGbBez2wQcbhoJ+eKCoqChG12+4jNc4uV7Y1eVy0dbWRjAYJCUlhalTp2qv3aH4Pk100NLvLRYUFDB16lQUReGdd97hlltu4ZprruHaa6+dsGxEFEUKCwt58803yc7OZsWKFTz33HMsXLhQu82Xv/xlLrnkEr71rW+xb98+zjrrLBoaGib8uR0FjAA1HiiKgsfjYefOnWzbto3y8nKqqqqYNm2aVhosKytj+vTpMSdWn88Xc2JNTU3ttzfgdwdiBjAaq5vxufxD6jMNh5O/XsZZl39hSD8TCYu01HfRdLiDxp7A1dnm6fe2UzKS+erlq8AWoq6ujjlz5pCZmTmsx6EOC6gXBPq+i/r89l4cVRSFSJ/BBqFfQd94UBXH9Queo4mapfR+v472/aj28VOnTmXOnDkxgxhut1uz0NBnWgMFrd4utmNxvAMRCATYt2+flsVaLBbcbjc//elPqaur47HHHmPOnDnjcixHY+vWrVx//fVIksSVV17Jrbfeym233UZZWRlr1qxh7969fOc739GEiu+9917OOeeciT7s0cAIUBOFWu/evn27FrRUXT81YJWUlGC322P6WcFgUHvzqyfW3oaGTU1N7P1kP+aQlYhbormmlaYDrURCI+8R9eaSjV+noDRvRL8j6A9Hy4KH1fJgJ+5uP2Ikgtfno7h0Fmu+eTpTp4/emHjvEpbL5dJOrPpMq79eYX8c7aQaCASoqKjAbDZTWFg4rgoKo1la0+vnFRcXD6gxp/d9Uj96O+z299yqPwtjnwnW1dXR2NhIUVER6enpKIrCv/71L2677TY2bNjAt7/97eOhh3OsYwSoyYQsy1RXV2ulQX0/Sy0NLlq0CEALWC6XS3PitdlsdHZ2kpaWxrx582KuWmVZpr2+k8YDLTRWRbOs1sPtw9YEVLEnJXD1pstIG8Udo1AoxGef7KG5rgu7KYXOFi8t9V3kFs5g6cnzyC0Ymyb8QCfWpKSkmF5h7zLpQO8PRVE4dOgQLS0tFBYWMmVKnP5XkxBVP2/27NlkZWUN+fnXO+yqVQL1udUPYhytFzca+Hw+9u3bR2pqKnl5eZjNZjo7O7nllltwuVw88sgjx4RJ3wmCEaAmO/p+Vnl5Obt378ZiscT0s0wmE//4xz84+eSTSUpK0haL1Te96knUp58VFmmpbdPKgo3VLXQ2dQ35GFMzUvifOy4ibfrIxqNlWdYssufNm6cJ7ELPlGOHl6bDnfjcQZJTE3GmJjIjJ/2ofbCRoh93Vz9kWY4ZcHE6nX00/jo6OqisrGTGjBnMmTMHk8k06QcF+iMUCrF//35MJtOoZ3/6oKV+iKKoXRCo+2/xDJAM9ryqr62Wlhbmz59PamoqiqKwZcsW7rzzTjZu3Mill15qZE2TCyNAHWvo+1n/+c9/eOGFF2hra2PZsmUsXbqU0tJSVqxYwfTp07WRbFWyRRXHVEtY/Q0KBLxBmmqOZFkN1c34uvtX9daTMi2Zb/70fKZlDy9L6OjooKqqiunTp5ObmxuXqKssy7g6fJhMAharGbPFjNkan+38SFDH3fWqDRB11nU4HHR2diIIQp9doN4n0/EoZw0XRVGor6/XhgemTZs2buU3/QWBx+PRKgR6NfKhDPuoRoJ6z6m2tjZ+8pOfoCgKmzdvZsaMGWP2mAyGjRGgjlUkSeKMM87gkksu4ZprrqGjo0MbdS8vL6epqSmmn7V8+XISExNjhjDUXRd90OrdzFYUBU+HV9vNaqhqpulAM+F+dp4sNgtfuvqLLF29IO6TWCAQoLKyEkEQKCwsHLEKtCRF1eVVZ1j9cMNYovZnmpubSUpKQhTFGOHR1NTUAQVd9YMNkyFYeb1erQymjvKrTEQWKMtyn0xLluU+mVbvoCXLMgcPHqSjo4Pi4mKSk5NRFIWXXnqJ++67j9tuu40LL7xwUjznBv1iBKhjGVEUB7yS7K+f5ff7++xnATGDAqIoahJDas+ldzajKArtDZ00Vbdoo+4ttW1aP2vu4tl88fLTmJk38FWpavjY3t6uORGPFWM9IaZOtU2ZMiXG0kMUxZiTqjqVOVgW2/uYx/LY9YxEP2+sJwd7I8tyn0xLX3o1mUzU19fHmDo2Nzdz44034nQ6+fWvfx0jCTXaZB9KQgAAGEtJREFUDCbwCvDiiy9yxx13IAgCS5cu5bnnnhuz4zlGMQLUiUQ4HGb37t0x+1kWi4Vly5Zp/ayCgoKYXRePx4OiKDGZQH+LvmJEpPVQe4x8U9r0FErPXUresjkxSuWtra3U1NRo49YTXfcfbvYSiUSorq7G7/czf/78uJxTe49kBwKBGJkhdZVgtI4xXvT6ebNmzRrR36S/YDUemZcq4FpTU4PH48Fms7Fr1y7eeecd0tPT+fDDD/nVr3415llTPAKvVVVVXHzxxbz11lukp6fT2tp6PCzWjjZGgDqR6b2ftWPHDs3cT93PUvtZPp9P62epag36TKA/2aSgL0TzwRa6W92kTE0Gi0Kbu5XkVCf5+fljZk8wXOI9iaqj/IcOHRrRbpaKekGgV2yId49Iz3D3w6qqqsZcP288FnW7urqoqKggKyuLWbNmIQgCBw4c4Oabb0YURbKysti3bx+yLPPoo4+OmV5dPOoPN910E4WFhVx99dVjcgzHCYaa+YmMIAikpKRw5plncuaZZwJH9OHU/aynnnqKxsbGPvtZDodD62c1NzdrmYB+qdielMCcRbOJRCLU1NTgdrvJnTWblJRUBEVAkuQxVxYfCvFYYagSRU6nk7KyslEZi7bb7djtdu0KWj/u3tnZSW1tbcy4u/oxUHk3nsCl150bqq3HcBjoGHqrpQ9026MhiiLV1dX4fD6WLl2qGYo+9dRTPP7449x3332cc8452u8NhUIjfDRHp6GhQZMdAsjJyWHbtm0xt6msrATg1FNPRZIk7rjjDr70pS+N6XEdr5xQASqe2vHxjCAIZGZmsmbNGtasWQPE9rP++c9/cvfdd8f0s0pLS1m+fDkQ7Wd1d3dz+PBhwuEwJpOJYDBIVlYWy5Yt6/eELolSz8kq+vkRw8TJgyiK1NTU4HK5YqSWxqJ0pdq2OBwOMjMztftRey6tra1UV1fH9FzUQQGz2RxzPPogoOL3+6moqMBut49akB0OvZ83NUgNJVCp05+zZs2iqKgIQRCora3lhz/8IUVFRbz//vskJyfH/Mx4LkoPhOrO+/bbb1NfX8/pp5/O7t27SUtLm+hDO+Y4YQKUJEl8//vfj6kdr1mzZtyk9Scr6g5MYWEh//M//wPE9rOefvppPvvss5j9LIvFwt/+9jduu+02srKy8Pl8fPzxxyiKgtPp1DItp9PZR7lcEiXCwXDMOLY1DrO/sUDfM5s1axYFBQUTchyCIOB0OnE6nZrfj37cvbGxMWbcXQ1aTqdT6yfJssyhQ4dobm7WFBTUx6jex0QT7zFEIhHNcXjZsmXY7XYkSeL3v/89zz77LA888ACrV6+ekMeUnZ1NXV2d9nl9fX2f5d+cnBxWrlyJ1Wpl7ty5FBYWUlVVxYoVK8b7cI95TpgeVDy1Y4P+UftZb775JnfffTfNzc2aNba+n5WZmamdVF0uV0w/Sy0N9tfPioRF1BRLzVqsCWN75e/3+9m/f7+mcD3Untl4T7ZB9CKrt7q7yWQiISEBt9tNRkYGBQUF/U5m9j7WybpYrKpa6Pt/lZWVbNiwgZKSEu666y4cDseEHV88Aq+vvfYazz//PM888wzt7e0sX76cTz75hKlTp07YcU9CjB6Unnhqxwb9o/azXn75ZTZu3Mj5558PENPPevrpp2lqamLOnDkx/aykpCRNb7C1tVWzbT+akCvQR1tQMAlYRmFJVz8CX1RUNOyyy0B9l7E86ZvNZtLS0rRjFkWRyspK3G43M2bMIBgMsn37dm3cXf2IxxtsojOtcDhMRUUFiqJQWlqKzWZDFEU2b97MSy+9xG9+8xtOPfXUCTk2PRaLhc2bN3PuuedqAq8LFy6MEXg999xz+ec//8mCBQswm83cd999RnAaJidMBhWPOZjByJBlmQMHDmij7jt27MDn88XsZy1ZsgSI3c8Kh8MxFvD9DQkoioIYFo9YvitKtJ/Vj/nhQLS3t1NdXT0q49YTjWpZ3p9+3mDj7gMZFPa3UzbWQVdfZp03b542TLJ3717Wr1/PGWecwe233z7iJW+DSYeRQemJp3ZsMDJMJhMFBQUUFBRw+eWXA7H9rGeeeYbPPvsMs9nM8uXLWb58OWVlZSxdulRTH9cPCej7LcnJyX3KfpIkR8uDEC0RClFZpD4j8cEgFRUVCIKg9TQmkpEsF6uPxWQyaZlGb2w2G9OmTYtZVtWPu9fX18c97t77eIdzzAOhagFaLBZtoCMcDvPggw/y6quv8rvf/Y6ysrJRuS+DY5MTJoOKp3ZsMPYoioLX643xz6qsrGTKlCl9+ln6/SyPx4PJZIrpZ/UnLySJkmaaKMsy9XV1tHW0aYZ1xyqqfl5DQwP5+fkjVkpQDQr1TtDxjLuPhgqGftdM1QIE+PTTT9mwYQPnnXce//u//zvpdukMRhVjUbc3/ZmDGUw8+v0sVW+wsbGR3NzcmH6W0+ns46Zrs9n6yAtBdLGzsrKSjIwMsrOyMZmOlAIFgVHpZ40XR9PPG00GU3fXj7sP9PN6+gtcgUCA/fv3azbyFouFUCjEpk2bePfdd3n00Ue1MrDBcY0RoCYbdXV1rFu3jpaWFgRB4Lvf/S4bNmygs7OTSy65hNraWubMmcOLL76ojQmfqPTuZ+3cuROfz0dxcXFMP0sQhD5uupIkYTKZmDt3LhkZGf0aE4oRSd/OmpT7WXr9vOLiYpxO54SIufbOZGHgcfeB0GeAev+s8vJybrzxRi666CJ+9KMfTdjelsG4YwSoyUZTUxNNTU2UlJTg8XgoLS3l73//O08//TRTpkxh48aN3HPPPXR1dbFp06aJPtxJRyQSidEb/OyzzzCZTCxfvpxly5ZRU1NDe3s7t9xyi2bx7Xa7kSQpxuMpOTm5zwlVURQkUYr5mtnSt581XqhLqnppn8nCQOPu+tKg3qPM7/ezb98+nM6oDJbZbMbv93P33Xezc+dOHn30UYqLiyf4URmMM0aAmux8/etf5wc/+AE/+MEPePvtt5k5cyZNTU2sXr2aioqKiT68SY/az3r++ef51a9+xdSpU5EkidTUVEpLSykpKdH6WYFAICYLEASB5ORkrTTYn+mjJMkoclTFXf2eyWwa02ARDoeprKwkEomMWD9vPHed+lN3t1gsCIJAMBhk7ty5zJw5E0EQ+OCDD7jppptYt24d69evH7OSpUq8CjIvvfQSF154IeXl5cZwxthjBKjJTG1tLaeffjqff/45s2fPpru7G4ieVNLT07XPDY5OIBDgsssu4xe/+AWLFi3SxpbV/azy8nIaGhr67GclJyfH9LNUuwy93mBCQkK/Qxi9Gcqo+0DoBwdGWz9PH6jGK2h5vV727NlDYmIiSUlJlJeXc9ddd2Gz2QgEAtx8882sWbNmzCdp41Efh6jx4Ve+8hXC4TCbN28elQDlcrloaWmhsLBwxL/rOMQYM5+seL1eLrjgAn7961/38eUZDwO+44nExET+9re/aZ8LgsCMGTP42te+xte+9jUgtp/1xhtvcM899+D1emP6WcuWLcNsNmtZVmNjI8FgUBvFVgPXQHqDegSTMKQdK1XVIjExcUz08/Svp/GwxTh06BBtbW0UFxeTkpKCoijU1dXhdDq59NJLKS4uZufOnVx99dWsW7eOSy+9dMyOZ/v27eTn55OXlwfA2rVrefnll/sEqJ/97GfcfPPN3HfffaNyvzt27OC5555j/vz5FBYWTlrljsmOEaDGmUgkwgUXXMBll12mKTLMmDGDpqYmrcRneMeMLv3tZ+n7WX/84x9j+lmqf9bixYuJRCK4XC46OjqoqanRLMrVgJWcnNwng+rTzxIETKa+Fx7qyby1tXVEqhaTBdV+PSMjg7KyMkwmEy6Xi5/97GfU19fzyiuvkJubC0TL2+NBPAoyu3btoq6ujq985SsjDlDt7e184xvfYNq0aezcuZO1a9cCk0ML8VjECFDjiKIoXHXVVRQXF3PjjTdqX1+zZg3PPPMMGzdu5Jlnnhm3N++JjNVqpaSkhJKSEq677rqY/azt27ezadMmKioqSE9P77Ofpdpl9BZxVZ2Kk5KS+g9aktrPgu7ubqqqqsjIyGDFihXHtKqFLMvU1NTQ1dXFggULcDqdKIrC66+/zu23387111/Pt771rUn5GGVZ5sYbb+Tpp58eld934MABzj77bG6//Xa+973vceDAAe1+JuPjn+wYPahx5L333uMLX/gCixcv1l6sd999NytXruTiiy/m8OHD5Obm8uKLL46pTbpBfAzWz1IHMVJSUvB6vVp5UB0Q6M/+Xe9vVFRU1Ef49Fg7iXV3d1NRUaHZrwuCQGdnJxs3bsTtdvPII49MqGLLYCLRLpeLefPm4XQ6AWhubmbKlCm88sorw+pD3X333ezevZvnn3+eQCBASUkJL730klZSNEp9GsaQhEH8SJJEWVkZ2dnZbNmyhYMHD7J27Vo6OjooLS3l2WefNTb7OZIt6PUGe/ezlixZgtlsjtEbDAaDCIJAKBQiMzOTOXPmDGj/3lsKaTKe0CRJorq6WnvsDocDRVHYsmULd955Jxs3buTSSy+d8IA7VAWZ1atXc//99w97SOLjjz/m8ccfZ/369RQXF7NkyRLsdjunnXYad91115i5Gh+DGEMSBvHz0EMPUVxcjNvtBuDmm2/mhhtuYO3atVx77bU8+eSTXHfddRN8lBOPyWQiPz+f/Px8LrvsMqBvP2v37t2a7l9paSnZ2dk8+uij3HjjjeTn5+P3+9m9e7cmLaQXye1tSghHgtZ4Djscjc7OTiorK8nOzqawsBBBEGhra+PHP/4xgiDwxhtvMGPGjAk7Pj3xqI+PJg6Hg8TERP7zn/8AcPbZZ1NSUsIXv/hFIzgNAyODMqC+vp4rrriCW2+9lQceeIB//OMfZGRk0NzcjMVi6VMmMTg6aj9r+/btPPzww7z33nsUFRVhsVi00mBZWRlZWVlaP8vlcuHxeFAURVNpUPtZ/S0V92Y8ApbqFBsIBCguLtbs11966SXuv/9+br/9di644IJJmfGNJ3/5y194/fXX+cc//sH999/PFVdcARjlvV4YGZRBfFx//fXce++9WsO/o6ODtLQ0TSg0JyeHhoaGiTzEYwp1CXjXrl0UFxfz3HPPkZiYSGtrK+Xl5Wzbto1nn32W+vp6cnNzKSsri+lnqdJChw4dijF9VDOtgfydxtJEsb29naqqKnJzc5k/fz6CINDc3MwNN9xASkoK//73v0csYHu8cMkll/C1r32Ne++9V3tOjOA0PIwAdYKzZcsWpk+fTmlpKW+//fZEH85xhVryUpkxYwZf/epX+epXvwrE9rPefPNNNm3ahNfrZf78+VqWtXTpUsxms7ZU3NzcrPk76ZeKbTZbv6VBleGeHCORCBUVFUiSRElJCQkJCciyzJ///Gc2b97MXXfdxVe/+lXj5NsLh8OBw+FAkqR+y7YG8WEEqBOc999/n1deeYWtW7dqnkEbNmygu7sbURSxWCyGd9YwGeykNFA/6/PPP2fbtm38+c9/5ic/+Qkmk0nrZ5WVlbFo0SJNWqi7u5vDhw8TDoc1qwxVb7C3VQYcuZKPx0FXNUXUK1vU19ezfv16cnJyePfdd4/53a2xZqxlnI53jB6Ugcbbb7/N/fffz5YtW7jooou44IILtCGJJUuW8L3vfW+iD/GEo/d+Vnl5ORUVFaSlpWkBS+1n9fZ3Uk0f1UwrHtVxiOoB7t+/H0EQKCoqwmazIcsyTz/9NL///e+59957Oeecc4yswGAkGGPmBkNDH6BqampYu3YtnZ2dLF++nD/96U/9jkUbjD+KotDW1hazn6XvZ5WUlFBaWkpqaiper1cbwtD3s9QPvemjoig0NzdTW1tLfn4+GRkZABw8eJAf/vCHFBcXc88995CcnDyRD9/g+MAIUAbHNt3d3Vx99dV8/vnnCILAH/7wB4qKigzvrH7Q97PKy8vZsWMHHo+nTz/LYrHg8Xi0TMvv95OQkIDD4aC7u5ukpCTmz5+P1WpFkiQef/xx/vSnP/Hggw9yxhlnjHnWNJjy+AMPPMATTzyBxWIhIyODP/zhD5p8ksExhRGgDI5trrjiCr7whS9w9dVXEw6HNQ8hwzsrPvT9rPLycj755BNMJhNLly7VglZBQQFPPvkk+fn5ZGZmEg6Huf3224lEInR0dLBo0SIefvjhcdlrikd5/N///jcrV67E4XDwyCOP8Pbbb/OXv/xlzI/NYNQxApTBsYvL5dJMCPVX7UVFRYZ31jDR97PKy8v597//zUcffURBQQErV65k5cqVLF26lJdffpmtW7dy1lln4XK52LlzJ1arlbfeemtMM6jBZIl68/HHH/ODH/yA999/f8yOyWDMMPagDI5dDh48SEZGBt/+9rf59NNPKS0t5aGHHqKlpYWZM2cCkJmZSUtLywQf6bGDup+1evVqRFHkhRde4OWXX6aoqEjrZ23atIni4mLefPNN7Ha79rOSJI15eS8e5XE9Tz75JF/+8pfH9JgMJhYjQBlMSkRRZNeuXTz88MOsXLmSDRs2cM8998TcZrLq1B0LnHTSSbz33nua/I66n/XLX/6y39tPtnHpP/3pT+zYsYN33nlnog/FYAw5tqSTDU4YcnJyyMnJYeXKlQBceOGF7Nq1S/POAgzvrBGgKlJMJrKzs6mrq9M+H2j/7o033uCuu+7ilVdeMSZLj3OMAGUwKcnMzGTWrFlaf+nNN99kwYIFmncWYHhnHWesWLGCqqoqDh48SDgc5oUXXugj5vrxxx9zzTXX8MorrxgXJycAxpCEwaTlk08+0Sb48vLyeOqpp5Bl2fDOOo7ZunUr119/vaY8fuutt8Yoj//Xf/0Xu3fv1vqQs2fP5pVXXpngozYYBsYUn8HYUF5ezlVXXcX27duRJImTTjqJv/zlLyxatGiiD21cePDBB3niiScQBIHFixfz1FNP0dTUZPhnGRjEjxGgDMaOn/70pwSDQQKBADk5OQOOAh9vNDQ0cNppp7F3714SExO5+OKLOe+889i6dSvnn3++Jg21dOlSwz/LwGBg4gpQRg/KYFjcdttt/Otf/2LHjh3cdNNNE30444ooigQCAURRxO/3M3PmTN566y0uvPBCILpg/Pe//32Cj9LA4NjHCFAGw6KjowOv14vH4yEYDE704Ywb2dnZ/PjHP2b27NnMnDmT1NRUSktLDf8sA4MxwAhQBsPimmuu4Ze//CWXXXYZN99880QfzrjR1dXFyy+/zMGDB2lsbMTn8/Haa69N9GEZGByXGIu6BkPmj3/8I1arlW9+85tIksQpp5zCW2+9xRe/+MWJPrQx54033mDu3Lma0vf555/P+++/b/hnGRiMAUYGZTBk1q1bx0svvQREFQa2bdt2QgQniI41f/TRR/j9fhRF0fazzjzzTP76178CJ85+1muvvUZRURH5+fl9VD4AQqEQl1xyCfn5+axcuZLa2trxP0iDYxojQBkYDIGVK1dy4YUXUlJSwuLFi5Flme9+97ts2rSJBx54gPz8fDo6Orjqqqsm+lDHFEmS+P73v8+rr77K3r17ef7559m7d2/MbZ588knS09Oprq7mhhtuOKFKwQajgzFmbmBgMGTiUR4/99xzueOOOzj55JMRRZHMzEza2toM/UQDMMbMDQxODK688kqmT58esyjd2dnJ2WefTUFBAWeffTZdXV1A1HJj/fr15Ofns2TJEnbt2jWs++xPebz35KL+NhaLhdTUVDo6OoZ1fwYnJkaAMjA4xvnWt77VZ5Lwnnvu4ayzzqKqqoqzzjpL6xG9+uqrVFVVUVVVxeOPP24sExtMaoZa4jMwMJiECIIwB9iiKMqins8rgNWKojQJgjATeFtRlCJBEB7r+f/zvW83xPs7GbhDUZRzez6/BUBRlF/pbvN6z20+FATBAjQDGYpx0jGIEyODMjA4PpmhCzrNgOrZng3U6W5X3/O1oVIOFAiCMFcQBBuwFuit2voKcEXP/y8E3jKCk8FQMPagDAyOcxRFUQRBGNXAoCiKKAjCD4DXATPwB0VR9giC8Atgh6IorwBPAs8KglANdBINYgYGcWMEKAOD45MWQRBm6kp8rT1fbwBm6W6X0/O1IaMoylZga6+v3ab7fxC4aDi/28AAjBKfgcHxir68dgXwsu7r64QoqwDXUPtPBgbjhTEkYWBwjCMIwvPAamAa0ALcDvwdeBGYDRwCLlYUpVOILiFtBr4E+IFvK4qyYyKO28BgMIwAZWBgYGAwKTFKfAYGBgYGkxIjQBkYGBgYTEqMAGVgYGBgMCkxApSBgYGBwaTk/wd1sUcynvMIGwAAAABJRU5ErkJggg==\n",
- "text/plain": [
- "<Figure size 432x288 with 1 Axes>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Author: Remi Flamary <remi.flamary@unice.fr>\n",
"#\n",
@@ -88,12 +47,26 @@
"import ot\n",
"# necessary for 3d plot even if not used\n",
"from mpl_toolkits.mplot3d import Axes3D # noqa\n",
- "from matplotlib.collections import PolyCollection\n",
- "\n",
- "#\n",
- "# Generate data\n",
- "# -------------\n",
- "\n",
+ "from matplotlib.collections import PolyCollection"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Generate data\n",
+ "-------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
"#%% parameters\n",
"\n",
"n = 100 # nb bins\n",
@@ -111,24 +84,74 @@
"\n",
"# loss matrix + normalization\n",
"M = ot.utils.dist0(n)\n",
- "M /= M.max()\n",
- "\n",
- "#\n",
- "# Plot data\n",
- "# ---------\n",
- "\n",
+ "M /= M.max()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot data\n",
+ "---------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 460.8x216 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
"#%% plot the distributions\n",
"\n",
"pl.figure(1, figsize=(6.4, 3))\n",
"for i in range(n_distributions):\n",
" pl.plot(x, A[:, i])\n",
"pl.title('Distributions')\n",
- "pl.tight_layout()\n",
- "\n",
- "#\n",
- "# Barycenter computation\n",
- "# ----------------------\n",
- "\n",
+ "pl.tight_layout()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Barycenter computation\n",
+ "----------------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 432x288 with 2 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
"#%% barycenter computation\n",
"\n",
"alpha = 0.2 # 0<=alpha<=1\n",
@@ -153,12 +176,47 @@
"pl.plot(x, bary_wass, 'g', label='Wasserstein')\n",
"pl.legend()\n",
"pl.title('Barycenters')\n",
- "pl.tight_layout()\n",
- "\n",
- "#\n",
- "# Barycentric interpolation\n",
- "# -------------------------\n",
- "\n",
+ "pl.tight_layout()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Barycentric interpolation\n",
+ "-------------------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsvXt8W3d9//86OrpLdnxLYjt27dhJk8a5NReadJR0o9CtQH8FCiv0wqBdRwd7lMu4toOOddtjGw/G+mB8gS8MKCNt1zLIt7ACvQMrSXpJmmsT25Jt2ZJtWZZ1O5LO7fP7Q/mcHEnn6C5bsc/z8UjTSPI5R8fSeZ33+/N6v98MIQQGBgYGBgaNhmmpD8DAwMDAwEALQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSQ6AMDAwMDBoSc5mvN9pOGBgYGBhUC1PKi4wIysDAwMCgITEEysDAwMCgITEEysDAwMCgITEEysDAwMCgITEEymBF8Q//8A+46667lvowSuKBBx7AbbfdVvHPDw0N4YUXXqjdAdV4/9deey2++93vlrStF154AT09PTU6MoNLBUOglin9/f1wOBxwu91obW3FO97xDvh8vqU+rLKo9gKtxRe/+MWSL4r12H+9+LM/+zPcf//9WY+dPn0a11577dIcUM7+a3ku0+k07rzzTvT19aGpqQk7d+7EU089VZNtGzQWhkAtY5588knE43EEAgGsXbsWf/VXf1XRdkRRrPGRLQ5LfdxLvf/liiiK6O3txYsvvohIJIIHH3wQ73//+zE2NrbUh2ZQawgh5fwxuETo6+sjTz/9tPLvX/ziF2Tjxo3Kv3/+85+TnTt3kqamJtLT00O+/OUvK895vV4CgHz3u98lvb295JprriE33HADeeihh7L2sW3bNvLf//3fhBBCTp06Ra677jrS2tpK1qxZQ/7+7/+eEEKIJEnkH//xH8nAwABpa2sj73vf+0goFMrazw9+8APS29tL2tvbyYMPPkgIIeSpp54iFouFmM1m4nK5yPbt2wkhhCwsLJCPfOQjpLOzk3R3d5P77ruPiKJICCHk+9//Prn66qvJJz7xCdLW1kbuu+++vPPy5S9/mdx6662Ltn/62Mc+9jHS3NxMNm3aRJ555hnleKampsi73vUu0traSgYHB8l3vvMdzWMlhJCbb76ZrF27ljQ3N5NrrrmGnDp1ihBCyLe//W1iNpuJxWIhLpeLvPOd78z7DKRSKXLvvfeSrq4u0tXVRe69916SSqUIIYQ8//zzZN26deSrX/0qWb16Nens7CT/8R//ofGpIuS5554jW7duVf593XXXkT179ij/fvOb30x++tOfZu1f71weOHCA3H///eTqq68mbrebvO1tbyPBYFBzv/QY9di2bRt54okndJ83aDhK0hxDoJYp6otTIpEgd9xxB7n99tuV559//nly4sQJIkkSef3118maNWuUCwu9cN9+++0kHo8TjuPIY489Rt70pjcpP3/8+HHS1tZG0uk0iUajpLOzk3z1q18lyWSSRKNRcvjwYUIIIV//+tfJVVddRXw+H0mlUuTuu+8mt9xyS9Z+7rrrLsJxHDl+/DixWq3kzJkzhJD8CzQhhNx0003k7rvvJvF4nMzMzJC9e/eSb33rW4SQjECwLEseeughIggC4Tgu77xoCVQ9908f+9rXvkZ4niePPvooaW5uVkT6mmuuIffccw9JJpPk2LFjpKOjgzz77LOa+//e975HotGoIjY7duxQnvvQhz6UJ8jqz8Df/M3fkKuuuorMzMyQ2dlZsn//fnL//fcrnwWWZcnf/M3fEJ7nyS9+8QvicDjI/Px83vnjOI7YbDYSDAYJz/NkzZo1pLu7m0SjUcJxHLHb7WRubi5v/1rn8sCBA2RgYICcO3eOcBxHDhw4QD73uc/l7ZMeo55ATU9PE5vNRs6ePav5vEFDYgjUSqavr4+4XC6yatUqYjabSVdXFzlx4oTu6++9917yiU98ghBy8cI9OjqqPJ9MJklLSws5f/48IYSQT3/60+See+4hhBBy8OBBsnPnTs3tbt68OSti8Pv9xGw2E0EQlP34fD7l+b1795JHHnmEEJJ/UZueniZWqzVLeA4ePEiuvfZaQkhGIHp7ewueFy2Bquf+v//975Ouri4iy3LWPh5++GEyMTFBTCYTiUajynOf//znyYc+9CHN/asJh8MEAFlYWCCEFBeogYEB8otf/EJ57pe//CXp6+sjhGQu/na7nQiCoDy/evVq8vvf/15z329+85vJT37yE/L73/+evO1tbyPve9/7yFNPPUWee+45sm3bNs396wnU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\n",
+ "text/plain": [
+ "<Figure size 432x288 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 432x288 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
"#%% barycenter interpolation\n",
"\n",
"n_alpha = 11\n",
diff --git a/notebooks/plot_free_support_barycenter.ipynb b/notebooks/plot_free_support_barycenter.ipynb
new file mode 100644
index 0000000..b8df589
--- /dev/null
+++ b/notebooks/plot_free_support_barycenter.ipynb
@@ -0,0 +1,169 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# 2D free support Wasserstein barycenters of distributions\n",
+ "\n",
+ "\n",
+ "Illustration of 2D Wasserstein barycenters if discributions that are weighted\n",
+ "sum of diracs.\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "# Author: Vivien Seguy <vivien.seguy@iip.ist.i.kyoto-u.ac.jp>\n",
+ "#\n",
+ "# License: MIT License\n",
+ "\n",
+ "import numpy as np\n",
+ "import matplotlib.pylab as pl\n",
+ "import ot"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Generate data\n",
+ " -------------\n",
+ "%% parameters and data generation\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "N = 3\n",
+ "d = 2\n",
+ "measures_locations = []\n",
+ "measures_weights = []\n",
+ "\n",
+ "for i in range(N):\n",
+ "\n",
+ " n_i = np.random.randint(low=1, high=20) # nb samples\n",
+ "\n",
+ " mu_i = np.random.normal(0., 4., (d,)) # Gaussian mean\n",
+ "\n",
+ " A_i = np.random.rand(d, d)\n",
+ " cov_i = np.dot(A_i, A_i.transpose()) # Gaussian covariance matrix\n",
+ "\n",
+ " x_i = ot.datasets.make_2D_samples_gauss(n_i, mu_i, cov_i) # Dirac locations\n",
+ " b_i = np.random.uniform(0., 1., (n_i,))\n",
+ " b_i = b_i / np.sum(b_i) # Dirac weights\n",
+ "\n",
+ " measures_locations.append(x_i)\n",
+ " measures_weights.append(b_i)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compute free support barycenter\n",
+ "-------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "k = 10 # number of Diracs of the barycenter\n",
+ "X_init = np.random.normal(0., 1., (k, d)) # initial Dirac locations\n",
+ "b = np.ones((k,)) / k # weights of the barycenter (it will not be optimized, only the locations are optimized)\n",
+ "\n",
+ "X = ot.lp.free_support_barycenter(measures_locations, measures_weights, X_init, b)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot data\n",
+ "---------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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6FH8XpSNKxT5jnymrZ8WcAaIwzj8nrRT6Cxk08FNvLnxzXLLQp1f7jIu6iXVK74/quMo6ibVDXg6viC0rtOa58/2P71Q1RxxOcbu7a17C20VFRXxxhtvMHny5IiMtWdmZvLjjz9y+umnl1vWrFkzbDYbO3bsYNmyZfTp04esrCyWL19OWloaXbp0ITExEYvFwty5c6lbty779+/njDPO4KKLLmLBggU0a9aMTz75BHDXezlw4ABz587l559/RkQ4fPgwgN9yvQAbN27k22+/JSUlhVtuuaVcmd5//vOfrF+/vrjOy8KFC9myZQsrVqzAGMNFF13EN998Q//+/Uu9vkDlikvKy8tjzZo1fPPNN1xzzTWsX7/ebxlhgNWrV7N27Vrq16/P4sWLmTJlCiNGjODIkSMsW7aM6dOn88orr5CZmcmaNWuw2WwcPHgQu93OLbfcwrx582jUqBGzZs3igQceYNq0aYC7p71ixQrmz5/PI488wqJFi/jb3/7GypUreeGFFwC4//77Ofvss5k2bRqHDx8mIyODc845p1xcofhqx1cI4dUYKXQW8vbGt7mm8zVYLdbixy8+5WK+2vlV0NK3KbaUUrNa6iXX492h73LDohvYk7un3AyZZGsyd/a8k0vaXxJwjF/VHHGZ2Ev21r28vfYXX3wxrHXn5ORw6aWX8swzz1C3bl2fbbyX0Fu2bBl33nknWVlZLFu2jLS0NPr16we4x2Hvv/9+vvnmGywWC1lZWezdu5cuXbpw1113ce+99zJs2DDOOussHA4HycnJXHvttQwbNoxhw9xFzPyVzwW46KKLSElxV6oLpUzvwoULWbhwIT169Ch+nVu2bCmX2AOVKy7JW7q4f//+HD16lMOHD3Ps2DGfZYQBzj333OLkOWDAAG688Uays7OZM2cOl156afE/gwkTJmCzuT+W9evXZ/369axfv55zzz0XcL/P3jLHAJdccgkAPXv2JDMz0+f7tXDhQj766COefPJJwF3ZcseOHeXiCsWevD1+x8grIt+Rz66cXbSu27r4sYwTM2hSqwk7ju3w2+NPtiYzvuv4cr3zprWbMm/4PFbvW83/fv0fBwsO0qx2My455RLan9A+7HhVfIm7xF62t+4ViV673W7n0ksvZeTIkcUJY+fOnVx44YUATJgwgQkTJhSPs69bt4709HRatmzJU089Rd26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\n",
+ "text/plain": [
+ "<Figure size 432x288 with 1 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pl.figure(1)\n",
+ "for (x_i, b_i) in zip(measures_locations, measures_weights):\n",
+ " color = np.random.randint(low=1, high=10 * N)\n",
+ " pl.scatter(x_i[:, 0], x_i[:, 1], s=b * 1000, label='input measure')\n",
+ "pl.scatter(X[:, 0], X[:, 1], s=b * 1000, c='black', marker='^', label='2-Wasserstein barycenter')\n",
+ "pl.title('Data measures and their barycenter')\n",
+ "pl.legend(loc=0)\n",
+ "pl.show()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/notebooks/plot_stochastic.ipynb b/notebooks/plot_stochastic.ipynb
new file mode 100644
index 0000000..e784e11
--- /dev/null
+++ b/notebooks/plot_stochastic.ipynb
@@ -0,0 +1,610 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "# Stochastic examples\n",
+ "\n",
+ "\n",
+ "This example is designed to show how to use the stochatic optimization\n",
+ "algorithms for descrete and semicontinous measures from the POT library.\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "# Author: Kilian Fatras <kilian.fatras@gmail.com>\n",
+ "#\n",
+ "# License: MIT License\n",
+ "\n",
+ "import matplotlib.pylab as pl\n",
+ "import numpy as np\n",
+ "import ot\n",
+ "import ot.plot"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "COMPUTE TRANSPORTATION MATRIX FOR SEMI-DUAL PROBLEM\n",
+ "############################################################################\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "------------SEMI-DUAL PROBLEM------------\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"------------SEMI-DUAL PROBLEM------------\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "DISCRETE CASE\n",
+ "Sample two discrete measures for the discrete case\n",
+ "---------------------------------------------\n",
+ "\n",
+ "Define 2 discrete measures a and b, the points where are defined the source\n",
+ "and the target measures and finally the cost matrix c.\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "n_source = 7\n",
+ "n_target = 4\n",
+ "reg = 1\n",
+ "numItermax = 1000\n",
+ "\n",
+ "a = ot.utils.unif(n_source)\n",
+ "b = ot.utils.unif(n_target)\n",
+ "\n",
+ "rng = np.random.RandomState(0)\n",
+ "X_source = rng.randn(n_source, 2)\n",
+ "Y_target = rng.randn(n_target, 2)\n",
+ "M = ot.dist(X_source, Y_target)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Call the \"SAG\" method to find the transportation matrix in the discrete case\n",
+ "---------------------------------------------\n",
+ "\n",
+ "Define the method \"SAG\", call ot.solve_semi_dual_entropic and plot the\n",
+ "results.\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[2.55553509e-02 9.96395660e-02 1.76579142e-02 4.31178196e-06]\n",
+ " [1.21640234e-01 1.25357448e-02 1.30225078e-03 7.37891338e-03]\n",
+ " [3.56123975e-03 7.61451746e-02 6.31505947e-02 1.33831456e-07]\n",
+ " [2.61515202e-02 3.34246014e-02 8.28734709e-02 4.07550428e-04]\n",
+ " [9.85500870e-03 7.52288517e-04 1.08262628e-02 1.21423583e-01]\n",
+ " [2.16904253e-02 9.03825797e-04 1.87178503e-03 1.18391107e-01]\n",
+ " [4.15462212e-02 2.65987989e-02 7.23177216e-02 2.39440107e-03]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "method = \"SAG\"\n",
+ "sag_pi = ot.stochastic.solve_semi_dual_entropic(a, b, M, reg, method,\n",
+ " numItermax)\n",
+ "print(sag_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "SEMICONTINOUS CASE\n",
+ "Sample one general measure a, one discrete measures b for the semicontinous\n",
+ "case\n",
+ "---------------------------------------------\n",
+ "\n",
+ "Define one general measure a, one discrete measures b, the points where\n",
+ "are defined the source and the target measures and finally the cost matrix c.\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "n_source = 7\n",
+ "n_target = 4\n",
+ "reg = 1\n",
+ "numItermax = 1000\n",
+ "log = True\n",
+ "\n",
+ "a = ot.utils.unif(n_source)\n",
+ "b = ot.utils.unif(n_target)\n",
+ "\n",
+ "rng = np.random.RandomState(0)\n",
+ "X_source = rng.randn(n_source, 2)\n",
+ "Y_target = rng.randn(n_target, 2)\n",
+ "M = ot.dist(X_source, Y_target)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Call the \"ASGD\" method to find the transportation matrix in the semicontinous\n",
+ "case\n",
+ "---------------------------------------------\n",
+ "\n",
+ "Define the method \"ASGD\", call ot.solve_semi_dual_entropic and plot the\n",
+ "results.\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[3.75309361 7.63288278 3.76418767 2.53747778 1.70389504 3.53981297\n",
+ " 2.67663944] [-2.49164966 -2.25281897 -0.77666675 5.52113539]\n",
+ "[[2.19699465e-02 1.03185982e-01 1.76983379e-02 2.87611188e-06]\n",
+ " [1.20688044e-01 1.49823131e-02 1.50635578e-03 5.68043045e-03]\n",
+ " [3.01194583e-03 7.75764779e-02 6.22686313e-02 8.78225379e-08]\n",
+ " [2.28707628e-02 3.52120795e-02 8.44977549e-02 2.76545693e-04]\n",
+ " [1.19721129e-02 1.10087991e-03 1.53333937e-02 1.14450756e-01]\n",
+ " [2.65247890e-02 1.33140544e-03 2.66861405e-03 1.12332334e-01]\n",
+ " [3.71512413e-02 2.86513804e-02 7.53932500e-02 1.66127118e-03]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "method = \"ASGD\"\n",
+ "asgd_pi, log_asgd = ot.stochastic.solve_semi_dual_entropic(a, b, M, reg, method,\n",
+ " numItermax, log=log)\n",
+ "print(log_asgd['alpha'], log_asgd['beta'])\n",
+ "print(asgd_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare the results with the Sinkhorn algorithm\n",
+ "---------------------------------------------\n",
+ "\n",
+ "Call the Sinkhorn algorithm from POT\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[2.55535622e-02 9.96413843e-02 1.76578860e-02 4.31043335e-06]\n",
+ " [1.21640742e-01 1.25369034e-02 1.30234529e-03 7.37715259e-03]\n",
+ " [3.56096458e-03 7.61460101e-02 6.31500344e-02 1.33788624e-07]\n",
+ " [2.61499607e-02 3.34255577e-02 8.28741973e-02 4.07427179e-04]\n",
+ " [9.85698720e-03 7.52505948e-04 1.08291770e-02 1.21418473e-01]\n",
+ " [2.16947591e-02 9.04086158e-04 1.87228707e-03 1.18386011e-01]\n",
+ " [4.15442692e-02 2.65998963e-02 7.23192701e-02 2.39370724e-03]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "sinkhorn_pi = ot.sinkhorn(a, b, M, reg)\n",
+ "print(sinkhorn_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "PLOT TRANSPORTATION MATRIX\n",
+ "#############################################################################\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot SAG results\n",
+ "----------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, sag_pi, 'semi-dual : OT matrix SAG')\n",
+ "pl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot ASGD results\n",
+ "-----------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAAFgCAYAAACFYaNMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAE3lJREFUeJzt3X+wpQdd3/H3h81PSCTgXiFmExYKbom0JuQSsLGggWgSIjojVVCI/Gi3TAmTtFga1HagjtofMzR2ZNRtxEgJpInA6Fhqk5FkMFOE3oU1zQ/WiUzCbiTkBoz5BWGy+faP56xzve7uPbt7zv3unvN+zZzZe+/znPN8z9nsO899znPOSVUhSVp/T+seQJLmlQGWpCYGWJKaGGBJamKAJamJAZakJgZYR7UkP5PkxoNY/y1Jbp3Qtu9J8ppJ3NbRKMkZSR5NsqF7lqOVAdZRraquraof7p7jUCS5JMnnkzyW5OtJrk2yabTs50dxezTJt5LsWfH9Hesw25r/c6mqr1TVSVW15zC2c02SJ5OcuurnpyT5UJL7kzyS5M+TXLlieZJcluS2JI+P1rslyRtWrHPL6LF7JMnDSbYnuTLJ8Yc676QZYKlBktcDHwWuAjYC3ws8Adya5FlV9SujuJ0EvAP47N7vq+p7+yYfJDlmArfxDOAngL8G3rRq8X8BTgJeDDwTeB1w94rl/xW4Ang38J3AacAvAheuup3Lqupk4NTRum8APpUkhzv/RFSVFy9TuQD/BrgPeATYCbx69POnAVcCfwF8HbgeePZo2WaggLcCu4C/YgjQy4DbgIeAX1+xjbcAtx5ghu8E/gB4GPg88Et711+xrWNWrH8L8E9HX/894NOjGR8ErgVOWbHuPcBrDuFxCXAv8J5VP38acDvw71f9/ID38RAft/3eN+C/A08B3wQeBd6z4vbfDnwF+MzKxw94NrAb+NHRbZzEEMxLDzDzpaNZLwduX7XsduDH93O97wH2AItrPCZ/83e54mdnAI8Dl3T/+6gq94A1HUm2AJcBL6thD+RHGIIF8C7gx4FXAd/NEIsPrrqJlwMvAn6KYS/xF4DXMOwp/mSSV405ygeBbzHsAb1tdBn7bgC/OprxxcDpwPvGumLy00lu28/iLQwhuGHlD6vqKeDjwAUHMeNq4z5u+71vVfVmhsj+aA173P9pxe2/arT+j6ya/RsMj+1/S/JdDHuwO6rqwweY9WeBjwHXAX8/yTkrlv0p8MtJ3prkRauudz6wq6qW1ngs/o6q+gqwBPzjg73uNBhgTcse4HjgzCTHVtU9VfUXo2XvAH6hqnZX1RMM//Bfv+rX2l+qqm9V1Y3AY8DHquqBqroP+BPg7LUGGD059BPAv6uqx6rqduB3x70DVXV3Vd1UVU9U1TLwAYYAjXPdj1bVP9zP4o2jP7+6j2VfXbH8UIz1uB3GfXvf6LH85uoFo23eAPwxcDHwz/d3I0nOAH4I+GhVfW10nUtXrPIuhr3yy4A7k9yd5KLRso3A/atub3eSh0bHfJ+3xn34S4Y99nYGWFNRVXczHKN7H/BAkuuSfPdo8fOAT47+wTwE3MUQ7OesuImvrfj6m/v4/qTV21z1xNVvAgsMvx7vWrHavePehyTPGc19X5KHgY9weHHc68HRn6fuY9mpK5YfirEet8O4b7vWWL4NeAlwTVV9/QDrvRm4q6p2jL6/FvjpJMcCVNU3azgOfg7DYaTrgRuSPJvhsMnfeuyqatNo/uMZ9u4P5DTgG2ussy4MsKZmtBf4AwzBLeA/jhbtAi6qqlNWXE4Y7aUdzvb+5omrqnoHsAw8yfDr9V5nrPj6sdGfT1/xs+eu+PpXRnP/g6r6DoYniibx5M1OhuOl/2TlD5M8jWGP/Y8nsI21rHXf9vc2ift9+8TRbxzbgA8D/yLJCw+w/UuBF4zOXrifYQ98I8Oe89/eYNXDo3mfATyf4dj1piSLB7j9/c14OnAOw28D7QywpiLJliTnj075+RbD3tdTo8W/yXB873mjdReS/NikZ6jh9KhPAO9L8vQkZzIcd9y7fJnhScI3JdmQ5G0MT07tdTLDk1B/neQ04F9PaK4Cfg74xdGx4hOSPBe4GvgOhuOn07bWffsa8IKDvM2fZwj024D/DHx4X+cIJ/l+hsf5XOCs0eUlDGeFXDpa598meVmS45KcwPBE3UPAzqraCfwWcF2SC5KcONrOP9rfYKO//1cBv8/wZOynDvK+TYUB1rQcD/wHhl+n7we+C3jvaNmvMZyZcGOSRxiecHn5lOa4jOHX7vuBa4DfWbX8nzHE5+sMT1T9nxXL3g+8lOE0qf/JEPOxZHiByH7P162q/8Hwa/i/HG37TuBE4Lw1fnWflLXu268y/A/ioSQ/t9aNjZ5A+1cMZz3sYfhtpxjOdlntZ4Hfr6r/V1X3770w/HdxyegwQzH8XT3IcMz2AuC1VfXo6DbeyXAq2gcYDifsZjjD5acYnkDc69dH/419jeFJyY8DF46e8GyX0akZkqR15h6wJDUxwJLUxABLUhMDLElNDvsNNXR027hxY23evLl7DGmmbN++/cGqWlhrPQM85zZv3szS0kG/pF7SASQZ6xWXHoKQpCYGWJKaGGBJamKAJamJAZakJgZYkpoYYElqYoAlqYkBlqQmBliSmhhgSWpigCWpiQGWpCYGWJKaGGBJamKAJamJAZakJgZYkpoYYElqYoAlqYkBlqQmBliSmhhgSWpigCWpiQGWpCYGWJKaGGBJamKAJamJAZakJgZYkpoYYElqYoAlqYkBlqQmBliSmhhgSWpigCWpiQGWpCYGWJKaGGBJamKAJamJAZakJgZYkpoc0z2Amu3cCT/4g91TaJ6ddRZcdVX3FC3cA5akJu4Bz7stW+CWW7qnkOaSe8CS1MQAS1ITAyxJTQywJDUxwJLUxABLUhMDLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1McCS1MQAS1ITAyxJTQywJDUxwJLUxABLUhMDLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1McCS1MQAS1ITAyxJTQywJDUxwJLUxABLUhMDLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1McCS1MQAS1ITAyxJTQywJDUxwJLUxABLUhMDLElNUlXdM6hRkkeAnd1zTNhG4MHuIabA+3X02FJVJ6+10jHrMYmOaDurarF7iElKsjRr9wm8X0eTJEvjrOchCElqYoAlqYkB1rbuAaZgFu8TeL+OJmPdJ5+Ek6Qm7gFLUhMDLElNDPCcSnJhkp1J7k5yZfc8k5DkQ0keSHJ79yyTkuT0JDcnuTPJHUku755pEpKckOTzSf5sdL/e3z3TpCTZkOSLSf5wrXUN8BxKsgH4IHARcCbwxiRn9k41EdcAF3YPMWFPAu+uqjOBVwDvnJG/qyeA86vq+4CzgAuTvKJ5pkm5HLhrnBUN8Hw6F7i7qr5cVd8GrgN+rHmmw1ZVnwG+0T3HJFXVV6vqC6OvH2H4h31a71SHrwaPjr49dnQ56s8ISLIJeC1w9TjrG+D5dBqwa8X3u5mBf9SzLslm4Gzgc72TTMboV/UdwAPATVU1C/frKuA9wFPjrGyApaNAkpOAjwNXVNXD3fNMQlXtqaqzgE3AuUle0j3T4UhyCfBAVW0f9zoGeD7dB5y+4vtNo5/pCJTkWIb4XltVn+ieZ9Kq6iHgZo7+4/fnAa9Lcg/DYb3zk3zkQFcwwPPp/wIvSvL8JMcBbwD+oHkm7UOSAL8N3FVVH+ieZ1KSLCQ5ZfT1icAFwJd6pzo8VfXeqtpUVZsZ/k19uqredKDrGOA5VFVPApcB/5vhSZ3rq+qO3qkOX5KPAZ8FtiTZneTt3TNNwHnAmxn2pnaMLhd3DzUBpwI3J7mNYYfgpqpa87StWeNLkSWpiXvAktRkKm/IvnHjxtq8efM0bloTtn379geraqF7jsP16lf+8iH9KvczV39q0qMc0HVvvGBdtwdQX1zfo0s3PXVD1nWDR7GpBHjz5s0sLY31hvBqluTe7hmkeeUhCElqYoAlqYkBlqQmBliSmhhgSWpigCWpiQGWpCYGWJKaGGBJajJWgGfxAxwlqduaAZ7hD3CUpFbj7AHP5Ac4HowrrhgukjRJ47wZz74+wPHlq1dKshXYCnDGGWdMZLgjxY4d3RNImkUTexKuqrZV1WJVLS4sHPXvbihJUzdOgP0AR0magnEC7Ac4StIUrHkMuKqeTLL3Axw3AB+ahQ9wlKRuY30iRlV9Cljfz26RpBnnK+EkqYkBlqQmBliSmhhgSWpigCWpiQGWpCYGWJKaGGBJajLWCzGkI91N119zSNe7+DU/OdlB1vLnO9d3e8CGZz1r3bep8bgHLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1McCS1MQAS1ITAyxJTQywJDVZM8BJPpTkgSS3r8dAkjQvxtkDvga4cMpzSNLcWTPAVfUZ4BvrMIskzRWPAUtSk4kFOMnWJEtJlpaXlyd1s5I0syYW4KraVlWLVbW4sLAwqZuVpJnlIQhJajLOaWgfAz4LbEmyO8nbpz+WJM2+NT+SqKreuB6DSNK88RCEJDUxwJLUxABLUhMDLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1WfOVcNLR4KIXvOKQrveX122Y8CQH9siuc9Z1ewAvetfn1n2bGo97wJLUxABLUhMDLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1McCS1MQAS1KTcT4V+fQkNye5M8kdSS5fj8EkadaN814QTwLvrqovJDkZ2J7kpqq6c8qzSdJMW3MPuKq+WlVfGH39CHAXcNq0B5OkWXdQx4CTbAbOBv7O2ysl2ZpkKcnS8vLyZKaTpBk2doCTnAR8HLiiqh5evbyqtlXVYlUtLiwsTHJGSZpJYwU4ybEM8b22qj4x3ZEkaT6McxZEgN8G7qqqD0x/JEmaD+PsAZ8HvBk4P8mO0eXiKc8lSTNvzdPQqupWIOswiyTNFV8JJ0lNDLAkNTHAktTEAEtSEwMsSU0MsCQ1McCS1MQAS1KTcd4PWDriPfnyFx/S9U684fgJT3Jgz33b7nXdno5s7gFLUhMDLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1McCS1MQAS1ITAyxJTcb5VOQTknw+yZ8luSPJ+9djMEmadeO8F8QTwPlV9WiSY4Fbk/yvqvrTKc8mSTNtnE9FLuDR0bfHji41zaEkaR6MdQw4yYYkO4AHgJuq6nP7WGdrkqUkS8vLy5OeU5JmzlgBrqo9VXUWsAk4N8lL9rHOtqparKrFhYWFSc8pSTPnoM6CqKqHgJuBC6czjiTNj3HOglhIcsro6xOBC4AvTXswSZp145wFcSrwu0k2MAT7+qr6w+mOJUmzb5yzIG4Dzl6HWSRprvhKOElqYoAlqYkBlqQmBliSmhhgSWpigCWpiQGWpCYGWJKajPNKOOmId9yuvzqk6z3zT3ZNeJID27Djheu6PYAP3nvrum9T43EPWJKaGGBJamKAJamJAZakJgZYkpoYYElqYoAlqYkBlqQmBliSmhhgSWoydoCTbEjyxSR+IKckTcDB7AFfDtw1rUEkad6MFeAkm4DXAldPdxxJmh/j7gFfBbwHeGp/KyTZmmQpydLy8vJEhpOkWbZmgJNcAjxQVdsPtF5VbauqxapaXFhYmNiAkjSrxtkDPg94XZJ7gOuA85N8ZKpTSdIcWDPAVfXeqtpUVZuBNwCfrqo3TX0ySZpxngcsSU0O6iOJquoW4JapTCJJc8Y9YElqYoAlqYkBlqQmBliSmhhgSWpigCWpiQGWpCYGWJKaHNQLMaQj1ePfc2hvAHXcPbsmPMmBPXX3Peu6PYDHa8O6b1PjcQ9YkpoYYElqYoAlqYkBlqQmBliSmhhgSWpigCWpiQGWpCYGWJKaGGBJajLWS5FHH0n/CLAHeLKqFqc5lCTNg4N5L4gfqqoHpzaJJM0ZD0FIUpNxA1zAjUm2J9m6rxWSbE2ylGRpeXl5chNK0owaN8A/UFUvBS4C3pnklatXqKptVbVYVYsLC4f21oCSNE/GCnBV3Tf68wHgk8C50xxKkubBmgFO8owkJ+/9Gvhh4PZpDyZJs26csyCeA3wyyd71P1pVfzTVqSRpDqwZ4Kr6MvB96zCLJM0VT0OTpCYGWJKaGGBJamKAJamJAZakJgZYkpoYYElqYoAlqYkBlqQmB/OG7NIR67HnHNp/yk9dfM6EJzmw5bc8vq7bA3j3C/es6/Zu/Pa6bu6o5h6wJDUxwJLUxABLUhMDLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1GSvASU5J8ntJvpTkriTfP+3BJGnWjfv6zV8D/qiqXp/kOODpU5xJkubCmgFO8kzglcBbAKrq24Cv9pakwzTOIYjnA8vA7yT5YpKrkzxjynNJ0swbJ8DHAC8FfqOqzgYeA65cvVKSrUmWkiwtLy9PeMxeZ501XCRpksY5Brwb2F1Vnxt9/3vsI8BVtQ3YBrC4uFgTm/AIcNVV3RNImkVr7gFX1f3AriRbRj96NXDnVKeSpDkw7lkQ7wKuHZ0B8WXgrdMbSZLmw1gBrqodwOKUZ5GkueIr4SSpiQGWpCYGWJKaGGBJamKAJamJAZakJgZYkpoYYElqYoAlqUmqJv++OUmWgXsnfsOahudV1UL3ENI8mkqAJUlr8xCEJDUxwJLUxABLUhMDLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1McCS1MQAS1ITAyxJTQywJDUxwJLUxABLUhMDLElNDLAkNTHAktTEAEtSEwMsSU0MsCQ1McCS1OT/A4Bsx8/mq+t1AAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, asgd_pi, 'semi-dual : OT matrix ASGD')\n",
+ "pl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot Sinkhorn results\n",
+ "---------------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, sinkhorn_pi, 'OT matrix Sinkhorn')\n",
+ "pl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "COMPUTE TRANSPORTATION MATRIX FOR DUAL PROBLEM\n",
+ "############################################################################\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "------------DUAL PROBLEM------------\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"------------DUAL PROBLEM------------\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "SEMICONTINOUS CASE\n",
+ "Sample one general measure a, one discrete measures b for the semicontinous\n",
+ "case\n",
+ "---------------------------------------------\n",
+ "\n",
+ "Define one general measure a, one discrete measures b, the points where\n",
+ "are defined the source and the target measures and finally the cost matrix c.\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "n_source = 7\n",
+ "n_target = 4\n",
+ "reg = 1\n",
+ "numItermax = 100000\n",
+ "lr = 0.1\n",
+ "batch_size = 3\n",
+ "log = True\n",
+ "\n",
+ "a = ot.utils.unif(n_source)\n",
+ "b = ot.utils.unif(n_target)\n",
+ "\n",
+ "rng = np.random.RandomState(0)\n",
+ "X_source = rng.randn(n_source, 2)\n",
+ "Y_target = rng.randn(n_target, 2)\n",
+ "M = ot.dist(X_source, Y_target)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Call the \"SGD\" dual method to find the transportation matrix in the\n",
+ "semicontinous case\n",
+ "---------------------------------------------\n",
+ "\n",
+ "Call ot.solve_dual_entropic and plot the results.\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[ 1.67648902 5.3770004 1.70385554 0.4276547 -0.77206786 1.0474898\n",
+ " 0.54202203] [-0.23723788 -0.20259434 1.30855788 8.06179985]\n",
+ "[[2.62451875e-02 1.00499531e-01 1.78515577e-02 4.57450829e-06]\n",
+ " [1.20510690e-01 1.21972758e-02 1.27002374e-03 7.55197481e-03]\n",
+ " [3.65708350e-03 7.67963231e-02 6.38381061e-02 1.41974930e-07]\n",
+ " [2.64286344e-02 3.31748063e-02 8.24445965e-02 4.25479786e-04]\n",
+ " [9.59295422e-03 7.19190875e-04 1.03739180e-02 1.22100712e-01]\n",
+ " [2.09087627e-02 8.55676046e-04 1.77617241e-03 1.17896019e-01]\n",
+ " [4.18792948e-02 2.63326297e-02 7.17598381e-02 2.49335733e-03]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "sgd_dual_pi, log_sgd = ot.stochastic.solve_dual_entropic(a, b, M, reg,\n",
+ " batch_size, numItermax,\n",
+ " lr, log=log)\n",
+ "print(log_sgd['alpha'], log_sgd['beta'])\n",
+ "print(sgd_dual_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Compare the results with the Sinkhorn algorithm\n",
+ "---------------------------------------------\n",
+ "\n",
+ "Call the Sinkhorn algorithm from POT\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[2.55535622e-02 9.96413843e-02 1.76578860e-02 4.31043335e-06]\n",
+ " [1.21640742e-01 1.25369034e-02 1.30234529e-03 7.37715259e-03]\n",
+ " [3.56096458e-03 7.61460101e-02 6.31500344e-02 1.33788624e-07]\n",
+ " [2.61499607e-02 3.34255577e-02 8.28741973e-02 4.07427179e-04]\n",
+ " [9.85698720e-03 7.52505948e-04 1.08291770e-02 1.21418473e-01]\n",
+ " [2.16947591e-02 9.04086158e-04 1.87228707e-03 1.18386011e-01]\n",
+ " [4.15442692e-02 2.65998963e-02 7.23192701e-02 2.39370724e-03]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "sinkhorn_pi = ot.sinkhorn(a, b, M, reg)\n",
+ "print(sinkhorn_pi)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot SGD results\n",
+ "-----------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, sgd_dual_pi, 'dual : OT matrix SGD')\n",
+ "pl.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot Sinkhorn results\n",
+ "---------------------\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<Figure size 360x360 with 3 Axes>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pl.figure(4, figsize=(5, 5))\n",
+ "ot.plot.plot1D_mat(a, b, sinkhorn_pi, 'OT matrix Sinkhorn')\n",
+ "pl.show()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/ot/__init__.py b/ot/__init__.py
index 1dde390..fa6600d 100644
--- a/ot/__init__.py
+++ b/ot/__init__.py
@@ -29,7 +29,7 @@ from .da import sinkhorn_lpl1_mm
# utils functions
from .utils import dist, unif, tic, toc, toq
-__version__ = "0.4.0"
+__version__ = "0.5.0b"
__all__ = ["emd", "emd2", "sinkhorn", "sinkhorn2", "utils", 'datasets',
'bregman', 'lp', 'tic', 'toc', 'toq', 'gromov',