From bc44b9d15bcea539554acf00766130f20fc7b025 Mon Sep 17 00:00:00 2001 From: Sarath Menon Date: Tue, 28 Nov 2023 16:10:51 +0100 Subject: [PATCH 1/7] update env --- _config.yml | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ _toc.yml | 11 ++++++++++ docs/examples.md | 29 +++++++++++++++++++++++++++ docs/intro.ipynb | 49 +++++++++++++++++++++++++++++++++++++++++++++ environment.yml | 3 ++- 5 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 _config.yml create mode 100644 _toc.yml create mode 100644 docs/examples.md create mode 100644 docs/intro.ipynb diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..d22f0d1 --- /dev/null +++ b/_config.yml @@ -0,0 +1,52 @@ +# Book settings +# Learn more at https://jupyterbook.org/customize/config.html + +title: "pyscal-rdf" +#author: The Jupyter Book Community +logo: docs/source/_static/logo.png + +# Force re-execution of notebooks on each build. +# See https://jupyterbook.org/content/execute.html +execute: + execute_notebooks: "auto" + +only_build_toc_files: true + +# Define the name of the latex output file for PDF builds +latex: + latex_documents: + targetname: book.tex + +# Information about where the book exists on the web +repository: + url: https://github.com/pyscal/pyscal_rdf + path_to_book: book + branch: main + +notebook_interface : "notebook" + +# Add GitHub buttons to your book +# See https://jupyterbook.org/customize/config.html#add-a-link-to-your-repository +html: + use_issues_button: false + use_repository_button: true + +parse: + myst_enable_extensions: + # don't forget to list any other extensions you want enabled, + # including those that are enabled by default! + - html_image + - amsmath + - dollarmath + - linkify + - substitution + - colon_fence + +sphinx: + config: + mathjax_path: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js + html_theme: pydata_sphinx_theme + html_js_files: + - https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js + html_sidebars: + "**": [] diff --git a/_toc.yml b/_toc.yml new file mode 100644 index 0000000..372691e --- /dev/null +++ b/_toc.yml @@ -0,0 +1,11 @@ +# Table of contents +# Learn more at https://jupyterbook.org/customize/toc.html + +format: jb-book +root: docs/intro +chapters: + - file: docs/examples.md + sections: + - file: examples/01_getting_started + - file: examples/02_grain_boundaries + diff --git a/docs/examples.md b/docs/examples.md new file mode 100644 index 0000000..c167174 --- /dev/null +++ b/docs/examples.md @@ -0,0 +1,29 @@ +# Examples + +The gallery of examples below cover different ways in which pyscal-rdf can be used. + +::::{grid} 1 1 2 3 +:class-container: text-center +:gutter: 3 + +:::{grid-item-card} +:link: ../examples/01_getting_started +:link-type: doc +:class-header: bg-light +Getting started with pyscal +^^^ +Learn the very basis, including the concepts of `System` and `Atoms`. +::: + +:::{grid-item-card} +:link: ../examples/02_grain_boundaries +:link-type: doc +:class-header: bg-light +Creating structures +^^^ +Create common atomic structures like bcc, fcc; and custom ones. Save and read from files. +::: + +:::: + + diff --git a/docs/intro.ipynb b/docs/intro.ipynb new file mode 100644 index 0000000..34414de --- /dev/null +++ b/docs/intro.ipynb @@ -0,0 +1,49 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6f84b291-5802-4ebe-95b3-1b1ea097c466", + "metadata": {}, + "source": [ + "# pyscal-rdf" + ] + }, + { + "cell_type": "markdown", + "id": "d28592f2-8d81-4625-857c-0f3fc5c8a0b3", + "metadata": {}, + "source": [ + "`pyscal_rdf` is a python tool for ontology-based creation, manipulation, and quering of structures. `pyscal_rdf` uses the [Computational Material Sample Ontology (CMSO)](https://github.com/Materials-Data-Science-and-Informatics/cmso-ontology)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ca98bd2-e238-4283-b29f-25eb86e72af3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/environment.yml b/environment.yml index 220002a..d9b32f5 100644 --- a/environment.yml +++ b/environment.yml @@ -16,4 +16,5 @@ dependencies: - pandas - owlready2 - sqlalchemy <2.0.0 - - rdflib-sqlalchemy \ No newline at end of file + - rdflib-sqlalchemy + - jupyter-book From 422fd675e8a3086519ac64723d227dfa797f1e90 Mon Sep 17 00:00:00 2001 From: Sarath Menon Date: Tue, 28 Nov 2023 16:36:05 +0100 Subject: [PATCH 2/7] update intro --- docs/examples.md | 8 +- docs/intro.ipynb | 2598 +++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 2601 insertions(+), 5 deletions(-) diff --git a/docs/examples.md b/docs/examples.md index c167174..10e5f24 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -10,18 +10,18 @@ The gallery of examples below cover different ways in which pyscal-rdf can be us :link: ../examples/01_getting_started :link-type: doc :class-header: bg-light -Getting started with pyscal +Getting started with pyscal-rdf ^^^ -Learn the very basis, including the concepts of `System` and `Atoms`. +Learn the very basis, including the concepts of creating structures, and querying them. ::: :::{grid-item-card} :link: ../examples/02_grain_boundaries :link-type: doc :class-header: bg-light -Creating structures +Creating grain boundary structures ^^^ -Create common atomic structures like bcc, fcc; and custom ones. Save and read from files. +Create, visualize, query, and export grain boundary structures. ::: :::: diff --git a/docs/intro.ipynb b/docs/intro.ipynb index 34414de..6337b6d 100644 --- a/docs/intro.ipynb +++ b/docs/intro.ipynb @@ -18,8 +18,2604 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "6ca98bd2-e238-4283-b29f-25eb86e72af3", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [ + "remove-input" + ] + }, + "outputs": [], + "source": [ + "b = 23\n", + "a = b\n", + "c= 2" + ] + }, + { + "cell_type": "markdown", + "id": "7c15578f-ce93-4118-bb2d-c6e700b9dacb", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "It allows for easy creation of both bulk and defect structures, powered by [pyscal3](https://github.com/pyscal/pyscal3), while automatically annotating them. This makes the structural database easy to query and convert to other file formats." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "bba3c873-332f-48fe-acb0-eb8bf38209df", + "metadata": {}, + "outputs": [], + "source": [ + "from pyscal_rdf import StructureGraph" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "f281dbba-6edb-42a9-8b3e-bead1c78cfea", + "metadata": {}, + "outputs": [], + "source": [ + "graph = StructureGraph()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "6f83e8ff-a66a-414b-9dad-2f781ab7a276", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 1, + 1, + 0, + 0 + ], + "y": [ + 0, + 0, + 1, + 1, + 0 + ], + "z": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 1, + 1, + 0, + 0 + ], + "y": [ + 0, + 0, + 1, + 1, + 0 + ], + "z": [ + 1, + 1, + 1, + 1, + 1 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 1, + 1, + 0, + 0 + ], + "y": [ + 0, + 0, + 0, + 0, + 0 + ], + "z": [ + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 1, + 1, + 0, + 0 + ], + "y": [ + 1, + 1, + 1, + 1, + 1 + ], + "z": [ + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 0, + 0, + 0, + 0 + ], + "y": [ + 0, + 1, + 1, + 0, + 0 + ], + "z": [ + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 1, + 1, + 1, + 1, + 1 + ], + "y": [ + 0, + 1, + 1, + 0, + 0 + ], + "z": [ + 0, + 0, + 1, + 1, + 0 + ] + }, + { + "marker": { + "color": "#33a02c", + "line": { + "color": "#455A64", + "width": 0.5 + }, + "opacity": 1, + "size": 10, + "sizemode": "diameter", + "sizeref": 750 + }, + "mode": "markers", + "opacity": 1, + "type": "scatter3d", + "x": [ + 0 + ], + "y": [ + 0 + ], + "z": [ + 0 + ] + }, + { + "marker": { + "color": "#fb9a99", + "line": { + "color": "#455A64", + "width": 0.5 + }, + "opacity": 1, + "size": 10, + "sizemode": "diameter", + "sizeref": 750 + }, + "mode": "markers", + "opacity": 1, + "type": "scatter3d", + "x": [ + 0.5, + 0, + 0.5 + ], + "y": [ + 0, + 0.5, + 0.5 + ], + "z": [ + 0.5, + 0.5, + 0 + ] + } + ], + "layout": { + "height": 360, + "margin": { + "b": 10, + "l": 10, + "r": 10, + "t": 10 + }, + "scene": { + "aspectmode": "data", + "aspectratio": { + "x": 1, + "y": 1, + "z": 1 + }, + "camera": { + "center": { + "x": 0, + "y": 0, + "z": 0 + }, + "eye": { + "x": 1.3164972402127915, + "y": 1.316497240212791, + "z": 1.3164972402127915 + }, + "projection": { + "type": "perspective" + }, + "up": { + "x": 0, + "y": 0, + "z": 1 + } + }, + "xaxis": { + "showbackground": false, + "showticklabels": false, + "title": { + "text": "" + }, + "type": "linear", + "zerolinecolor": "#455A64" + }, + "yaxis": { + "showbackground": false, + "showticklabels": false, + "title": { + "text": "" + }, + "type": "linear", + "zerolinecolor": "#455A64" + }, + "zaxis": { + "showbackground": false, + "showticklabels": false, + "title": { + "text": "" + }, + "type": "linear", + "zerolinecolor": "#455A64" + } + }, + "showlegend": false, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "width": 700 + } + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmYAAAFoCAYAAAD9zjdnAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnQt4VdW170fqgwqE2gJCAJUWSQytICTCFY4BJKCCUBPbKrRAe7FwW6TFhlZEqLEihBYUD4YeKJ5TwxHUW0FBqIVYHi14xQDi6TEkqPXFQ8XT1iAqarnfWLjC2jtr7b0ec64151r/9X1+tmY+xvyNuff67znHHDPn5MmTJwkPCIAACIAACIAACIBA5ARyIMwi9wEMAAEQAAEQAAEQAAGDAIQZJgIIgAAIgAAIgAAIKEIAwkwRR8AMEAABEAABEAABEIAwwxwAARAAARAAARAAAUUIQJgp4giYAQIgAAIgAAIgAAIQZpgDIAACIAACIAACIKAIAQgzRRwBM0AABEAABEAABEAAwgxzAARAAARAAARAAAQUIQBhpogjYAYIgAAIgAAIgAAIQJhhDoAACIAACIAACICAIgQgzBRxBMwAARAAARAAARAAAQgzzAEQAAEQAAEQAAEQUIQAhJkijoAZIAACIAACIAACIABhhjkAAiAAAiAAAiAAAooQgDBTxBEwAwRAAARAAARAAAQgzDAHQAAEQAAEQAAEQEARAhBmijgCZoAACIAACIAACIAAhBnmAAiAAAiAAAiAAAgoQgDCTBFHwAwQAAEQAAEQAAEQgDDDHAABEAABEAABEAABRQhAmCniCJgBAiAAAiAAAiAAAhBmmAMgAAIgAAIgAAIgoAgBCDNFHAEzQAAEQAAEQAAEQADCDHMABEAABEAABEAABBQhAGGmiCNgBgiAAAiAAAiAAAhAmGEOgAAIgAAIgAAIgIAiBCDMFHEEzAABEAABEAABEAABCDPMARAAARAAARAAARBQhACEmSKOgBkgAAIgAAIgAAIgAGGGOQACIAACIAACIAACihCAMFPEETADBEAABEAABEAABCDMMAdAAARAAARAAARAQBECEGaKOAJmgAAIgAAIgAAIgACEGeYACIAACIAACIAACChCAMJMEUfADBAAARAAARAAARCAMMMcAAEQAAEQAAEQAAFFCECYKeIImAECIAACIAACIAACEGaYAyAAAiAAAiAAAiCgCAEIM0UcATNAAARAAARAAARAAMIMcwAEQAAEQAAEQAAEFCEAYaaII2AGCIAACIAACIAACECYYQ6AAAiAAAiAAAiAgCIEIMwUcQTMAAEQAAEQAAEQAAEIM8wBEAABLQm8UN9AvQsLbG3fV99AfRz+puVgYTQIgEBiCECYJcbVGCgIxIvAmt9vpvJrhtsOKtPf4kUBowEBEIgbAQizuHkU4wGBhBBY+dg6Gn/9GNvRZvpbQvBgmCAAApoSgDDT1HEwGwSSTgDCLOkzAOMHgXgSgDCLp18xKhCIPQGrMDt58qQx3pycHOPfWDGLvfsxQBCILQEIs9i6FgMDgXgT2FG3lwYV97Ud5L4XG6hPL/uDAfGmgtGBAAjoTgDCTHcPwn4QSCgBXhUbevll9PTW7bRm/QZql5tL/Yv6UdnokbTlmeea4894Nc1cSUsoKgwbBEBAIwIQZho5C6aCAAgQ1Tc00tonN9Ift/+Z/vnpP6l/cT8DS1NTE3Xtkkdr1m2gz51xBo2/4Zs0oLgf9S86vaoGkYYZBAIgoDoBCDPVPQT7QAAE6Nm6PYYY21W3x6BROrSE/plzJs3+yc3G/79/+QPGv2+ePMn499x7ltAX2rSmtes3NJcvHTI4RaTxHyDUMLlAAARUIwBhpppHYA8IgIBBwCrGcnPbUvnoUYawKizIN/5e89g6mvBZuox0YWb9267de422du3eY6y2lY8ZRRBpmGQgAAKqEoAwU9UzsAsEYk7AbrWqdut2Mv7Zss0QYCzGLivqS9265LWg4VaYWSu+eeiwEZPGfbBIKx062Ojj4vyLjBg188FKWswnH4YHAgoTgDBT2DkwDQTiRiBd8LzX1ERPb/0T1W7dZqxqZRNjVh7W7P7pK2abtu+gESWDMuLjvteu39gs0sy+hw25AiItbhMP4wEBjQhAmGnkLJgKAnEgwKtWz+3ea5yk5O3F0iElxtai08qY05it4suPMLO2awpEtolX0liksV18wjN9JY3r4ZRnHGYixgACahKAMFPTL7AKBGJFwCrGzC1EFj4cM2YVPl4GLVKYpYs0jkuzbqlCpHnxDMqCAAgEIQBhFoQe6oIACDgSOHjosCFueBWqqemYkdai7NqRRgoLEY8sYZYu0vY3vmRstXIaDl5JYzFZNnpUi7g3xKWJ8CraAAEQgDDDHAABEBBGwMwxVrtlOyej+EyMjRImxqyGhiHM0sGcWkk7JdJ4pY8FWnquNK4DkSZsSqEhEEgcAQizxLkcAwYBsQTscowNG1wiRYxZLc8U/G/9m9jRnm7NTMPBudI4Rg1pOGSRRrsgkCwCEGbJ8jdGCwKeCdit/mTLMea5Ex8VrBeVpwf/h32JOa8U1m79E3Kl+fAjqoAACKQSgDDDjAABEHBFwEuOMVcNBiykkjCzDgW50gI6FtVBIOEEIMwSPgEwfBBwImDNMcaijC8Iz5TwNWySqgozKwcvudK4HtJwhD2L0B8IqEcAwkw9n8AiEJBOwCk4XVSOMXMAMoPgoxJmfsfkNlcas+M+INSkfwzQAQgoSQDCTEm3wCgQkEPAFBVWcSEjxxiEWWb/sUjjNBycSsS8fopzpQ0bUtKchsPOV3JmBVoFARBQiQCEmUregC0gEBIBDlbnU4WycoxBmLl3pCnSUnOl9aOy0ddQty5dUhryu1rn3hqUBAEQiJoAhFnUHkD/ICCBgN0LvGWOsSKhCV8lDCNjk1FtZcoeJ3KlySaM9kFAbQIQZmr7B9aBQCACdjnGOPv+xfk9tQ80j6sws642PrfneeNyd+RKC/QxQGUQ0IoAhJlW7oKxcSQgentKhRxj2MoUP1M5FnDt+o0tcqVdnH+RsIvWRc9F8RTQIgjEnwCEWfx9jBEqTiDoy5BjlNIv3VYlrUXQsWVyXVQrZjLH5Haqus2Vxu15sddLWbe2ohwIgIA3AhBm3nihNAiETsDuZal6jjGsmIU3TdzmSvMq0sIbAXoCARCwEoAww3wAAU0IOOUYGzbkipStLE2GE9jMqFbMAhsusQGvudKQ0FaiM9A0CPgkAGHmExyqgUAYBGTmGAvDfpl9QJhlpusmV5p1ZZP/N4SazBmLtkHAHQEIM3ecUAoEQiMQVo6x0AYkqSMIM/dgnXOljWxOaGsVaRBo7tmiJAiIJgBhJpoo2gMBHwT4JOXT27ZT7ZbtRu3+xf20zjHmA4HnKhBmnpE1V7DPldbXuA/V+uBqKP+MURME/BKAMPNLDvVAICCB1BxjJ6l06GBDjBUW5AdsORnVIczE+JlFmptcadwbTm2KYY5WQCATAQgzzA8QkEDA6QVml2OM70fsmtcZ8T0e/bDysfU0/vrRRq37lz9g/PvmyZOMf1v/5rHZxBbnOXvw8BFXudIg0hI7TTDwEAhAmIUAGV0kl4DKOcZ094pVfC1ZtsIYzrQpN8VCmKmwMpWehoNXdPmi9f5FfVucAhZlr6h2dJ/bsD/ZBCDMku1/jF4CAfMkJV9KXbt1uxG3ky3haxQvpCj6FIl7R91eGlTc13bFzPo3kX2G1VYUvsnUJ3KlheV59AMCRBBmmAUgIIAAcowJgOixiU3bd9KIkoG2wmxn3V4aWNwXMVEembopjlxpbiihDAj4JwBh5p8daiacgFOOMd7u0eGJYlVGJJdMwsz6N7NPncari63IlSZyRqMtEDhFAMIMMwEEPBBAjjEPsCQX9SrMJJsjtHldhFn6oK1pOPh0MW/jlw65wvakcfoYdR2zUMejMRCAMMMcAIHTBDKdpESOMfVmighhBjEgz6/2udL6GYcH0h/4QZ4f0LJ+BLBipp/PYLFAAm7SWnB3pUNLkGNMIHcRTYkQZlY7IA5EeMW+DTe50kz+8IM8P6BlPQhAmOnhJ1gZAoFdu/fQmvUbaVfdHsrNbWucpOQcY9265IXQO7rwSkC0MPPaf5zKhymGODZzLX/Odu8hDg0oHzOKhg0uoV4F+cbnDmI5TjMLY/FDAMLMDzXUiQWBljnGelL56GvpsqK+kYixMF+OcXBgGMIsKT6Japx2udIGFPWjYUOukJYrLQ5zH2OINwEIs3j7F6NLI+CUY4zjXrpGvDIW1ctR9iSRNa6Va9bT+HKHzP+Wv4kaX5zvjZTlIy/srSLt4KHDxufx1Kq1vUjjtnHZuhfCKKsLAQgzXTwFO30TSE9rMaCYT4oNtv3C990JKtoSkPnCD1uYwcXyCKTPEy+50tgqmfNM3qjRMgjYE4Aww8zQmoDTFzKLsae3bjcy73Mci3mdjC45xrR2SkjGqyDMIAjkO9tLrjSRIg2+le9b9ABhhjmgEIEgX3pOdZFjTCEHh2BKFMIs07wNMqdDwKV0F17Y2eVK41Vw0Wk4vNikNFwYpx0BrJhp5zIYbCXwbN0eQo4xteeErBecasJMlBdk8RJln0rtmCKtdst2w6yy0aNIhkhTacywJf4EIMzi7+PYjZDF2NonT6e14C/ismtH2mYXj93gBQ8oDBEgqw8dhJmfsfupI3haaNmcm1xp5sDifJBDS+fB6BQCEGaYEFoQ4Fgx/gc5xrRwV4qRsoSGDsLMCkIWB/1mhHyL7XKl8YGfi/Mvsk3DwRbhhKd8v6AHdwQgzNxxQqmQCbTMMZZvHJ2PKsdYWMMP++Uddn8iOUYhzETa79RW2D4Ju78wGFr78JIrjethNS1sD6G/dAIQZpgTyhBwyjEWdzGmjAMkGSLrxR+FMBM9Frv2RPchya3Cmg1zvF5ypZkiDStpwlyNhlwSgDBzCQrFghHI9uX74KpHaN6ixcTpLJBjLBhr1Wpn871fe+MgzKxjl8UpG9+o+jXtiqp/a640vh5q4rgbaFbFdEdcUdmZzX/4e/wIQJjFz6dajmhm5Vyq3bLNiP+ounOO7dF3LQemuNFhvGxk9RE3YRa1UFF8qkoxj+NW5y1cbLRdOrQkozCTYgAaBQEbAhBmmBZKEOBLjWu3bqOJ426kmXfcZVzHMr9ydiR3VioBBEZkJRCFMMtqlOACskStYDO1a47DJu5f/oBxmGjalJvo2d17iO/oLBs9ErcIaOfN+BkMYRY/n2o1IvPFw8lhedXsidU1xFsMD656lNau32DkJZo47lstTlJpNUgYK4VAEoSZFRxEWvBpxILs8Sc30pp1G6h8zCi6efIko9Erry2nmuXVxg9BcA7OGS0EIwBhFowfagskUDx4OP3xyTXNIowFGv+q5S9R/lXLMSB4QMAkkDRhBs8HI8Cr8kuWraD+xf0MQcYijB/+nmFhVrdtc7AOUBsEBBGAMBMEEs0EJzB+8lTjC5MTxlofThzJX6j8sECzu3oleO9oQTcCEGb6X94dxuoUr8ZPrZhJubltqXrRghbhERxnxoePVi6v1u0jAHtjSgDCLKaO1XFYvDrGj7m9kD4GM1C3sKAn3VYxHfFnOjpZoM0QZqkw/YgcP3UEulDqtmF6HBnHj9k9fBqcn0wnMkWOGW2BQDYCEGbZCOHv0gmYLwe+aonFWaZfrkmIP4v6ZSnd4YI6gDALDjKuc42/R3iVnVfYnX7omfR4pZ7DJDhVT1x5BJ8paCFMAhBmYdJGXxkJeIn14F/D8xctpvqGAzRrxnTjSzUuD14O7jwJYZadU7a5lO3v2XtQq4RTHFkmK9NjW9UaEaxJIgEIsyR6XeExf33sBKqqnO36QnLEnwV3pq4v503bd9KIkoEGgPRtcOvfghMKrwWZvpDZdniE7HviH2pTK26lpqZjVL2oyvX3B9ebMHmqcegIDwioQgDCTBVPwA6DAH+5cuZ/p3gQJ0wcvMtbF+YReE5Ui8cdAV1f2FbxZR4O4W0rvkIHwsyd73Uv5TaOzGmcvMLGOcz4xyAeEFCFAISZKp6AHQYBFlj1jQd8fVGa8WcPrnrYSFQ7bcqpHEV4MhPQVZjte7GBehfmG0IsfcXspVdfp4u6X6Cd63X1hR/QQcdqptLhH2PXXTvS12EgDvzvmpdnxJgFtccPA9QBATsCEGaYF0oQsB4A4C9LTjTr9+Ff0bdVzqWDhw7jeicXEHV9IWEr04VzPRQJex747c9PHJkTBmvohF97PCBGURBwRQDCzBUmFAqTQEHR5fTc1k2Bs/1z/BmudwrTc+H25VWY4cUbrn9E9yb6wI+Xw0aix4L2QCATAQgzzA/lCDglmvVrKOLP/JJTu55XYWaOBgLNvV9VYBU0jsxptObBISSWdT8fUDIcAhBm4XBGLx4IWOM+PFTLWFS3651UeCGKYi+rHb/CTJY9urXrdY55LS+Ch8hty3R7+AfbwcOHkVhWhKPQhlACEGZCcaKxIATML37O8M8XmPP1KaKf/Y0H6O6Fi4378W6fcQuudxINOMT2RAqzKERHiKhsu1J5zGHc8mE9Aa4yi6jnCfoPnwCEWfjM0WMWAmHkFkL8mf7TkIXZwKJLqW2b1imnMo+9f5x27n6+OceZl5Em6QUtYqx+23CqJ2vb0m4OcGLZx1fX+DrN6WVOoSwIeCUAYeaVGMqHQuDKa8upZnm11C/NJFzvFIqzIuqEhRmny+jcsUOKMDvyzlF6ob7RlzCLaCix6NaLSEsvy5/FmtWP0m8fepi+++0bs16jFBQYC8Drxk6gum2bgzaF+iAgnACEmXCkaFAEAd5mKBs9KpSrlvilMG/RfVS7ZZuxvek1ua2I8aIN7wTCEmZeBIf3UaCGzDgyJ7rcZ+3WbVLCJeBREAhKAMIsKEHUl0IgisBcXO8kxZVGozLETVjCTB6V+Lecye9myAJTkL06nk4aiWXjP/d0HiGEmc7ei6Ht1kSznNk7iqPszb/gi/rSzVNukrqdGkMX2g4pDsJMxhiS4n+rODfiyJatIP4hNG3KTZGsUHNKHu67f1FfKT8akuRXjFU8AQgz8UzRogACvL142ZAR1LD7GQGteW+CL0P+7aqHiUUab23ylS1xvn9TtuiQ0T6vmPXpVUCdOrRPiTF76+hR2vei+BgzuzGIHJfItrzP+HBq8J2mvBrOn6coP1Mc+M8Xl8f5Mx2OR9GLDAIQZjKook0hBPi6lFkV02lAcT8h7flpRHS2cT82hFFHtiiQ0f4pYZZPnTqkBv+HKcxM34gYn4g23M6VMPtim5ziyMK2g22pb2ikmZVzA1375pYzyoGAHwIQZn6ooU4oBPjLszC/p/HLOuonivizMF9aYfYlypdhCzNRdju1E6YPwurLem/t/MrZxo8sp77DsimK+FXZcwftx4sAhFm8/BmL0Zhf0CqenArzeqewXlQ8aWT3JaP9sIWZ1zHILh/kw+7VNq99hZmPzKtt/INvQFE/I0RBNgevtqE8CDABCDPMA2UJqLrlYOY/e3DVwzRx3I00bcokZRmKNszvi8xvvUz2qy7MTNtljF20X0W2xz9e+J/SoSU0YewNgQ7PyGBnzZEoo32RLNFWMglAmCXT79qMWuUgXes2TdWdc3C9U4ZZJeMFqIsw0+bDFtBQ2fnIRMwh/lHFwgyJZQM6G9WlEoAwk4oXjQclwMfab548KdIDANnGgOudshGS8/ewhZmcUejfqsrblul0+Q5OXs2LIg2P/p7GCMIiAGEWFmn044sA5zLjh8VZVI/bX+pLlj1A5vbmxHHf0vYovtvxRuUPs984CDNdWNv5mgVZzepHqHbL9ub0F9nmhOjxem2PE8vyw6e9vdbNNjb8HQREEYAwE0US7QglYH5pPlu3x8hRpcsvXN4qYXvXrNtgJLBU4USpUMco1FgchJlCOD2Z4nfbUqYYctM2r8DzZ7J0SAmEmSePo3CYBCDMwqSNvjwT0DUmJIr0Gp7hal4hbsLMjbCI2mX8Q+m2yrnUtUsecfqLbl3yojbJU/8qx6x6GggKx5oAhFms3RuPwXGi2arK2VRYkK/dgILGn8l6WctqN0wHxU2YpbOT5SM/7eoUR2blaB2reTcnZ/zHAwIqE4AwU9k7sM0gMLXiVho2pITKR4/SkoiZXmPt+g1UNnoUeYk/8/MS1RKSD6N31j1PPbp3Cy3zvw8ThVQRPQe8tMdzt2b1o/Tbhx6m7377xkhjPYPCXLN+A+3avYeqKucEbQr1QUAqAQgzqXjRuAgCfIqqvvGAsWqm88MvuXmL7qPaLdvo9hm3RHJ5s8780m1/ob6BOnVsbyvM3nrnXepdWBCn4Qobi1th5jeOTJihghviwP+ueXmI+xTMFc2JJwBhJp4pWhRMgONa+Ev1idU1glt235zbl5mbFhF/5oZS9jJWYcaXY/PDBy74rkzdhJnX+eW1fHaap0uYW378X2qWVwuLI5Nps5vxWUMiTFuitsmN3SiTPAIQZsnzuZYjLii6nJ7buknbFBR20HlF4u6F91Lp0ME0q+LHkY9Nt5cUC7PzOrSnzh1TLzE/8s5Rev/4cepx4QXazHW/7P3WswMjO45MpK1eHevmEFGU9nkdD8rHmwCEWbz9G5vR6ZBo1g/sIPFnfvrLVEe3F9Nb7xylNm1aU9vWrY0UJfxwvjteMTv2/gf0lQu6UU5OjmhMUtqLmj3zM+PIJozVNwefk3PMVWpd0u5ImWRoVBsCEGbauCrZhsY9PkSF652iFgdeZ7jbGDMdxiXSRi9txS2OzGkOcZzqwcOHkVjW64cM5SMhAGEWCXZ06paA+ZLhq1T4VGP1ogVuq2pZjn/Z8/Zmu9xcun3GdLo4v6eW4wjDaLfCzLTFi2AJw37ZfWQar/WHAOcjG1DcT7Y5kbbPJ7tLhww2DtwkbR5ECh6d+yIAYeYLGyqFTSBpOYj4Fz4HtJePGWVsz7FQw5NKwKswS6pAs1J78+Ahuv83/0676vYYByVYqCTh4cSyj6+uEXaQIQnMMMboCECYRccePXskcOW15UJPiXnsPvRf2hx/xvdv8kohrndq6S2/wsyr3+NSnsU+3+XKOQEnjrsxVJES5SoV/6i7buwEqtu2OS6uxDhiTgDCLOYOjtPweDuCE7TyPXdJet48dIhuq7ybDh46TFV3zqH+RX2TNHzHsUKYuZsGKXFk3//f1K1rl9B/ZEQpzHj8tVu3xT4Mwt1sQCkdCECY6eClhNtofqlbA3iTiMTr9U58ZdGmDX+g8z5HRCdOGMiOffIJvf+5M+iifn2p7OphRqoJXR8WZm1at6YeF57f4lSmbnnM7HzA/tu3q46a3niD2p55ZrP/ctrmUk779lR+zXDqXeh8TZns9Be6zBvrwaEoBaIuvGBn9AQgzKL3ASxwSYATzfKx/qQfeeftTd6S4u0ou+udXnntDVq6dAUNa9uKhne2F14vHztOT7z9N+o5+Aoqu7rUpQfUKsbC7CTlUJ/C/BRhtq++kXLopLaZ/zkP28KFSwz/9T43lzp9vlUL8CywH3r1EH3ua5fQD8bfkPJ3FmQ1qx+h2i3bjSz3/I+bJ66ihVPtcCgArzTHdYxu/Isy+hCAMNPHV4m3lGOuLhsyghp2PwMWTU2GGFmzLjX+jF/qv/7lYpqT7y656uYjR+nV7j1avNx1ABxHYWb4b/FSuqVbh+ZVsky+eOHv79GzXzqPfjBpglFMRPqLuIkXDvzni8txgEaHTzVsZAIQZpgHWhHga1VmVUyP/fF+t06xXu/0vfHjaNtTT7t+qZt9sDg7+tVLaHz5aLfdKlEubsLMXCmb3b2TK1FmOoFXP59qey498cQ6ys1ta8RSdeuSp4SPojaivqGRZlbOjfQ6t6gZoH/9CECY6eezRFvMX7KF+T1db8+IhqXqagLneZv1i3lU9MUv0MxB/amrx/Qa9+x/hSbMnCE15kw0uzCFmWjb7ebljLkL6ZYvtLLdunSaxwebmqi67nl68pXXjO26H3zv1MqZ6CfI+IPUDToOJJYNShD1oyAAYRYFdfTpmYD55Y4TVvboXqhvpI3LVtA5HzTR4w0v0XUFF9H4S75K7Vqd7Yr1Wx9+RKvObks/nfI9V+X9FBL9go5SmIkcC7f1/vEP6I6fzaYFl17sGm113V5aWvc8/bD4UvrG13rR6rPb0gyJ/mPD/IzbTx3XELIU5B9yA4r6IbGsKKBoJxQCEGahYEYnoggkdWsi28vt1ysfoQFH3qDe57YjcxXluUNHaGrxpXRdgbvbA+5qfI0qfzlX2v2S2cbgdY6cEmZEfQoL0oL/G4hvyOxdWOC1ScfyTraLGBO38Z9rnqSvvtJg+C/b83jDAWOV7LIunQ3/mqujv/jLAfrZvDupbZvWtk2IsDWbbar9Perch6rxgD16EIAw08NPsNJCIInBvNleqjNuvYOqLuqaMk92HTpsrKjww6sq/bPEHS176XW6+oeTqceF7g4ORD0pWZjxwwLMeom59b+HZWM2/2SzY8bP76aq8ztmLMaCe9pTf6SmEydoyVVX0sUd2qeUf+jVg3Tpt8dRn172gjSojU7GyWo3G7Nsf+fDQizMkFg2Gyn8XTUCEGaqeQT2ZCXAx9/5mqK43++XFYSlwM9//FP6+dfsV8Z4haVqxy668ssX0MyBAxy3N/kQQLtrrqFBxXIS2Ip+gYcpzNza7rac1bdcp/KuBTQn70u2Lne7AsonNF+75FLH9Cd+bPMyB2W378UWLstxlxxjlvT0Ol65oXz0BCDMovcBLHBJwPzit66OuKwa+2IVU3+SMT7pvY9O0Mr/+u+M8WePv3mEet5wg+OKS1CIol/cKgozk5HXsd5x+y9oTvfOLRBzHJkZM8hxg5kOdbCwPnPwEBpeMjCoq2JRnxPL8sOnuL36IxYAMAhtCUCYaeu65BqORLMtff+reQvplo7Z45N49eX2LX+mg03H6O6h/5KyvXnP/r/SD++aQ21b28coBZ1xol+O1kSy6VuZZuLZoDb7FVpe691RdS/Nad+m2VynOLJM4+Gt6OtnTJd6slYUzzDa4ZV1Tq7LV7iJnnth2I8+kksAwiy5vtd25Igdaem6hcv+g8aeOOY61QLHny2bCDMGAAAgAElEQVTYsYtyW51NMwf2N+KVbn3xFVp0b5U28yJMYSYbinl4o/0ZOca28/53/8fwy7AvX+i6aw7+/8V9v3JdPoyCpiCKQhglMRY1DJ+iD/kEIMzkM0YPEghwotmqytlUWOB8V6CEbpVtcufu5+kfGzc6XsHkZHjNC/9tHBC4/MLzqfj6b9DEb16n7BjTDYuTMNv+zC6af9c8+vD4+55O0ppMON3Jbz7+HFX+ZKo2/pNpKF9LNWHyVCPjPx4Q0I0AhJluHoO9BoGpFbdS6ZDBRn4iPKcI8MlMvsrH7m7FTIw4/mz8U3+kt/jU35SbIkve69WPcRBmvJK09smNdP+yB+jzrdtQ5aW9qF/H1NOWbriEkSDYjR1eyshcReN8h8/u3mP8eMMDAroRgDDTzWMJt9f8MufTVvWNB/DFa5kP5j2LdkHkmaYNp1lod8UVdPFXLqR5C++l95qO0e0zbjEufVb50V2Y8alB5n1xQT7dXjGdzjjrLOPycq9XMrm5UkumCAo6R2TYxoH/XfPyjB8ZMtoPOmbUB4FMBCDMMD+0JMAHAPjL94nVNVra78doNy+YV157gx68fxlNvqCTq5UzFmWf61dE468f02zSrt17aOYdc6lrlzyaXzlb2XsXX37tDXr/+HHbPGadOranTh06+MEsvQ5vs/FhhV11e+jmKZOo7NqRzUl93zr6Li29t5omd/6iK//xSdoP+vTNes+pm7kjfeAhdoBQhxBhoyvhBCDMhCNFg2ERKCi6nJ7buonaebwXUoR9Ubzo3PZprJz9egVd8ukJKu3cwfZCbF5lefrYhzRwSAmVX1PaAgkfsHhw1aO0dv0GKhs9iiaO+1YknDP56q2jR+nI2+8a6T2WLFthFOWt2H0vNlDn89QTZizIHn9yI61Zt4HKx4wycvHZPYb/HlhJX276O13Xzf5Cc85ZVnvsI8rr0zurKOM+3M4dEZ8Ns40gfQapi8NBIr2ItqIgAGEWBXX0KYQAEs06Yzz2/nHa/KedtO/5/6KT7x6lY8c/aC6c07Yt9elfTCNKBhGvLGV6+CXHqzssJlSLPzt2/Di99c671OPC81My/7/1zlFq06a1tLQffiYvxzyxeOxf3M8QZN2y3MLAfbDAXLNuIx17442ULnm8uRddRMOvuFzp1BhBxFUQcbdr916DNRLL+pmpqKMCAQgzFbwAGzwRML/wrXEknhpAYc8EzJeduSqlQvwZr5ixMLO7kqlTh/bUqWP0W5l8t+vUipmUm9uWqhctcCXI0p0jQuB4drjGFTj+9ODhw0gsq7EPk246hFnSZ4DG4+fgad5q4xceHnEEMgkBPys/4ixLbSmjMIs4xswaR8YrjU6nh72ILi9lZTFXod1sHKwntrOVVWE8sAEE0glAmGFOaEsgU64ifCHLc6sq8WeqCjPe+uWtNBZkTnFkQbbqMLdP0XPiwIllH19d42t1Ut6nBi2DgHsCEGbuWaGkggSuvLacapZX40tYoG/cvvhZGM9ftJjqGw7QrBnTjatvwnz8CjO34/M6Fj+riUFsCVLX69h0Kc9z8rqxE6hu22ZdTIadINCCAIQZJoXWBHjbgtMNlA4dHPo48GI8hTyq+DO/wizIapXdJGMxwPOwqekYVS+q8nQbhYg5JKIN0R+eqGxas34DcYjDUoQ3iHYp2guRAIRZiLDRlVgC/OVfs/rR5kBfsa2r2VpULzw3NDjomrfwzFQQstOYBBVmQQWa2zgyN+xklolizkTRJzM0DwRNGPut5txwMtmibRCQQQDCTAZVtBkaAU40yzE9STkaH9ULz61DzfizB1c9TBPH3UjTptjn6nLbXqZyooSZH1vMFCKlQ0towtgblN5KV33O+OHvVIdT6HBsn3lqOEljF8kRbUVLAMIsWv7oPSABFgKXDRlBDbufCdiSHtV1edHwatJtlXPp4KHDVHXnHCnXO0UhzPzEkekxs+JhJQf+88Xldqu1unx24uEJjCIIAQizIPRQVwkCfP3KrIrpNKC4nxL2yDRCt5cLx5/NvOMuKdc7hSnMdNm2tJt7us0Zv58fzhk3s3Juoq5p88sK9dQmAGGmtn9gXQYC5guHv4wL83saFxbjUZOAGX/G+bx4q0lE/BkLs5dffZMGFl+akvl/0/ad1KdXvpC7MnnFj+Pm+P7QaVO+75iPTE3qybIKiWWT5e84jxbCLM7eTcjYeHupduu2SBLNJmU1QsRU4m3nJcseMJICi7jeiYXZvhcbaUTJQCnCrHnbsqgv3TzlJqXjyET4R1QbUX0m+AfagKJ+hniOygZRDNFOsglAmCXb/7EYPbYw9HLj/sYDdPfCxcRC7fYZt/iOP5MlzDjdwryFi6mwoCfdVjE91oJMhoCR0aabGY6chm4ooYwOBCDMdPASbMxKIFPQb9bKKBAJgaDxZ6KFmVMcWVRCI0yn6D5GFvkszJBYNsxZg75kEYAwk0UW7YZKgI/J8/U3STgAECpYwZ2lC4Ag1zuJEmZsA+fD++1DD9N3v31ji2uUMokW1QWNV/u8lhc8PXw3x6ucHGOWlLQ5vkGhohYEIMy0cBOMdCJgvkg4rxQ/2e4mVImk35eg33pexi6rD6d2WRzNW3Qf1W7ZZmxvOl36bR0DC7Oax9ZTDhHt3r3b+FNRUREde/84lV9TSr0LC7IO2U36Czcs3JRJN8ZPnawDSivgtw+/9bzaJ6o8J5blh09n62a7KAZoJz4EIMzi48tEjyRJiWbDePHI6iNbu26ud2Lh9W//+Qg1nWii+uP76JXOu+ijZ8825n+rASeo+z/6UNczvkwfvpVDd077EXXu2KHFZ4O3LSdMnmr892x3rWaz2dq4rLJ+P9xe7LHrI2h9v3Z7rccr5nwqO+z7Wr3aifIg4IYAhJkbSiijPIEoY0x0eXl5caKsMbltN9NK1q8eWEFr/qeGzss7ly44UUjPnLExRZhd/ulIev3sejr04evU6a+X0I+u+oFxcpMfP/nI3NrshS+XldWuVzvclHdrq9tybvr0UgYxpl5ooazqBCDMVPcQ7HNNgBPNVlXO9nSJtOvGUVAIAS8vbrv4s2WPPkK/O/4b+rTdcWNVzE6YffWTy+nvrY7QwU//ath8zsvdqHrsfbT9T39qjiPjuxTd5lLzYrMXSLLa9WKD17LZbM72d6/9uSlvrn5yxn88IBAHAhBmcfBiwsdgvgymVtxKpUMGu4pPSjiyyIbv58XNL975ixbTlh3P0DmXf0o5l75n2N/27Fw6dqLJ+N/Wrcz0wX384pn08bZcGnP1CCMGsVuXPE/j92Ozpw5QOBABXl19dvce40cZfBUIJSorQgDCTBFHwIzgBPhUVn3jAeMLGk+8CBgB/RWT6M1DLxsDO3vACTqz26fNg7QTZv98L4c+3Px54n/nFreiHw38KY0vHx0vMBgNceB/17w8I8YMwgwTIg4EIMzi4EWMwSDABwD4S/qJ1TWhE8ELQS7ytU/V0sJdC+ijC4/Qib1nGStkZ/X62Aj2z2mVumLGQoz//umbZxh/P6vXJ4ZxBfWl9FDVvXINddl6HOdLVGNCCIPLSYdi2hCAMNPGVTDUDYGCosvpua2bXMcPuWkTZaInUFFVRds7PEwnzzq1SnbyI6ITe8+mE8+fRWdf+jEZOTOIKOfsk8Z/O7PHJ8Z//1y7k83Gt/lLD3rkZytsT2lGP0JY4IdAlId+/NiLOiDghgCEmRtKKKMNgagSzYa9WhB2f1FPgHGzf0SNPbdQXpsudOz4cWo6+XfDJHO78tODZxj//8zCU6topiDj8k0fNxmxaGcf7EgLr7qHBhZdGvVwUvqX5UtZ7TrBC7s/tsNMr4LEskpNaRgTkACEWUCAqK4GAfOlYI03UcMyOVZE8RKUMxJ3rQ69+QbqP/wrdNbbX6QdrdanCDPetvyk/iyjoTO6fkqfH/5hszD73Aet6PpzbjLSZ7x08FWa0f9WGv5Z6gx3PYdXSrRPRbeXjYRTfzLt4LjSg4cPI7FsNufg71oRgDDTyl0wNhsBvppl7foNVL1oQbai+LsmBN46+i6t+f1m+n8f/ZFea/MXY/WLV8p4y/KTl880tixPnvhsL/MkNW9vnt33VPwZn978Kl1G7d/5Cn1j+NWubgSIEo1MIRO3ceEkdpQeRd+yCECYySKLdiMhgJxGkWCX0umRd47SC/UNHDlm/PvRk9X0z3M+Ik5/watkZ3T7tHnb0noqk+PP+P9//OJZxt/P7vuxYV+PNy+nSVdMpGPHP6CrSgZSm9atpdgtqlEItOwkObHs46trPKdAyd4ySoBAdAQgzKJjj54lEbjy2vKs1+xk6zquL8Vs41bl75u27zTuvBxYfKkRrM////Z1M6mp7iNjm9K6Xck226XL+OTNM+iEeVVT0ad0Zatv0qKZM+n948fpD9t3GucFyq4uVWXIibMj6GeMf4RdN3YC1W3bnDh2GHC8CUCYxdu/iRwdb2+UjR6Fe/M09D6vjO17sYFGDB5EnTq0N0bAL+AF9y6hp//0ZzprcFNz+otMCWa7tLqADn30ulH/k5fPoA+3t6IBhf3p7jmzmldXeIt007Yd1KdXQejbm0FFiYaudTTZLwtOLFu7dZsRtuC3jThxxFjiQwDCLD6+xEg+I2ANCA4TStxeDmGOxxRJPbpf0HxqklMh1Kx+tPkapZIrrqCpq39M5/b+J3V/rw91O+PL9LuPlxkpNKwrZl1anU8DPx1Jb376V/rLWc/Q8X+coKs+/Dadd047I/6QRfvEcaevZGIxuKNuL5VfM7xZDMqeN2GylT0Wbl/EeLy2gcSyYXgWfURBAMIsCuroUyoBTjR7//IHCEfog2H2+qL005s1jsy8aJzbcbrEfOVj62jvX1+gD3q8Sc+9t6O5S7utzP6tB9OFx79mlJk48hvGlmimS8w3bd8RWvxZGGz9+MNvHZHjcdsWp8aZNuUm6l/U16/ZqAcCShKAMFPSLTAqCAFeablsyAhq2P1MkGYSX9ftC9IvqPQ4Mm7HPLzB/7tmeXWLbcdOHTsY3S1+egm9c359c8JZO2HGecv+V6th9I0hI+nI2+/SVYNPB/yb+a+4LevLPaz4M9lsZbfv1+ci63HgP19c7vYyepF9oy0QkEkAwkwmXbQdGQG+pmVWxXQaUNwvMhtkd6zry/etd44awfzpcWS8yrmrbo8hlMpGj2zGx2X5sa6ovfLaG1S9+iHafeQ5OnHe3+j4i6dOXrbudRblfHIGdT/+NZo48pvNdUzB1bb1OTSiZFBz27wyd/fCe6l06GCaVfHj5pe8ubU6sLgv9bjwfNmuFN6+rnPDLYj6hkaaWTk3kuvX3NqIciDglwCEmV9yqKckAfOFxF/ahfk9jYuN8ahBwBQ7ZdeUUltLqgoWZL996GH67rdvpAljU2O/0g8CpI+ET26+sL+R/u9ja40/ffP6Mjqv/Zfoou4X2A7azIk2qLhvc8A/r7A+uOpR2/gzFpF8gvMqy2EENWjaW2HO/7gLMySWVXkWwragBCDMghJEfSUJcJD35q3baWmME83q8vL1GkdmdxAg2yRjccfPzZMnZStq/N3p9OdtlXPp4KHDVHXnnJTYpTDjz1wNIEshXeaG37HOvOMuGlBclLKy6rct1AMB1QhAmKnmEdgjhEBUWx1xfyF6dc6pbciTxuoUB9/zw8KHT9TVNxygWTOmp6Q1sdu2dNOnV2FmtmknuDj+jLc3OXaJt8MLC3oaxZ22Q93YF1WZMOZjGH2k8xORqzAqn6BfEMhGAMIsGyH8XVsCCA6OznVOK1L3L19hxJHdPOUmKh89qtlAFmS8bWiNO/NivV9h1iy4tu2kzue1p4GWE368XbZk2QoqHzPKWIkzg8yjzH/mhYm1rEzxJLNtu/Hy1jMLMzOxbNj9+/UB6oGAWwIQZm5JoZx2BPg4Pb9Q43wAQDWnOIkWa/qLaZMnUdcueYbpp2K+aqn8mtJAOcSCCDOT4Qv1jbTvxf1kDfhnEcBtr1m3wTiUYI1ZtBOfqvkjjvbwfbgsmjkdTroog0iLo8eTNyYIs+T5PDEjFvGyTgysgAPlOLKddc9T2zatU05POuUj4/Kbt++k4SUDm7c4g5gg0tenxrLXCPg379PkNB5xiT8LwlmFurwNzg9vM0OIqeAR2CCaAISZaKJoTxkCSDQbjivs4sgyJ3Jtmf4iqKUihRnb4hRPxvFnHHjOK37zK2c351nTMf4sKPOo6vNKOK9clg4picoE9AsCUglAmEnFi8ajJJAeixKlLbL6jnLFYOfu5+nlV19vkY/s8Sc3Glt/ZmyWOfZsW39BxiJamJk226XX4L8tWfYAPbjqYZo47saU652cysvyv127QTiGaaffvhA76pcc6ulCAMJMF0/BTl8EONFsVeVsKizI91XfT6UwX4xh9mUVK3aXfzttW/pJf+GVuyxhZhWVO+qeT4mF8xt/Jttnstu3+ibMvrhf82YIzviPBwTiSgDCLK6exbgMAlMrbqXSIYOR78jnfLC+eJ3iyDg1ydSKmZSb25aqFy1o3t7jLnmbk7f5yq4u9WmBu2qyhZlphVN6DT69yU/63Y1rn6qlk0R0Vcnp66DCFjPuCJ4u5cU+L2W92mFXnsX/s7v3GD+2wu5bhP1oAwTcEIAwc0MJZbQlwKe36hsPGF/keLwTMF9+fuLIgqS/8GppWMKM7TLiyWzSa/BpwXkLFxt5z26rmO4Yf6aLoFDRTg7875qXhxs9vH5AUF4rAhBmWrkLxnolwAcA+Mv8idU1XquiPBEde/99WvvU0y3yi7EQ4lUiXiGyZtsXlf7CK/wwhZlpmxkzl55ew/F6p6Pv0qZtf6ayq4cbp1d1eVQSaFGEJujiJ9gZHwIQZvHxJUbiQKCg6HJ6buum5gShAJWdgBkX1rswn/r0uri5Qrb0F506dkhJl5G9J/clMgmEKISZaTmvJvKdnVcNPr1dmelUKt//yaLObzJd98TEloxaoJmHeTi+zEz2K3aEaA0E1CAAYaaGH2CFRAJINOserlMcGQsNjtdrajpG1YuqUg5TmNucnDU/qpWgKIUZ082UXsNL/Jl7TyWvJKcqYZZ2iWWTRwMjjjMBCLM4exdjMwggLsXdRHC613LJ8geMa5R427Js9Mjmxl5+7Q0jEasKKz9RCzMTitPNB9brnaZNvsk4KJFJ0LnzWLJKMcODhw8jsWyy3J7I0UKYJdLtyRo0B2WvXb/BODGIpyUBu3xkXMq8iojFWNnoUc3B7Kb4kLlt6dVPqggz027eqrRLr8HigreDmefEcd9KuX9zze8306DivsaF736fMLcbw+yLeeCEtd9ZgXq6EYAw081jsNczAeQ+skfm5l5LDuzv9tm9ltxKWOkvvDrZul3ota7M8mueqjWaL7ekC8l0vVO2JLzZbA1bLGWzR+TfObHs46trUuajyPbRFgioQgDCTBVPwA6pBPClfhpvpjiy+YsWU33DAZo1Y3rKlTecv4vvjexTWBBZHFmmCaKqMDNt5oS8vMLYp9fp1TCOmbp74b3GqtntM6bTxfk9m4dol//MzQckrsKMxex1YydQ3bbNbjCgDAhoTQDCTGv3wXi3BHgbhLePkn6/ntd8ZHbpL1R8+au2lWk3L+3Sa3A5a/wZr1CaJw5x/+Zpirz9W7t1mxGOoOL8c/s9hHIg4IYAhJkbSiijPQFr4LD2g/ExABZkdglfo0x/4WMYjlXShZnKL2/TF+XXlBqrkPxkut6JxXHNY+uM2wOCxJ+J5O22LVF+wAEet8RRLg4EIMzi4EWMISsBTjTLL28+ah/WI+qlFMRepzgypyz13JeX9BcqjJFt1mHFzOpHp9Ww/Y0H6O6Fiw2hdvuMW6h/Ud/makHjz4LMo/S6Xv3utXx6f5zyJv26K5HjQVsgoBIBCDOVvAFbpBHgF91lQ0ZQw+5npPWhUsNOJyczJT5VKf2FV5a6CTNzfE7CmePPZt5xF3XtkkfzK2enBLxz/FnT+x/Q9dcMa15x88oraHm/QstvPY4RRWLZoF5DfV0IQJjp4inYGZgAX+cyq2I6DSjuF7gtlRtwiiN7/MmNtGbdBiofM6rFNUpmcPqIkoEqD83RNl2FmTkg5/QajxqpXtLTa+gef+ZFoNU3NNLMyrnGtWpe6mk5kWE0CBARhBmmQWII8Jd7YX7P2F6A7DWOjB1v1hl//Rit54HuwsyEb6bX4Hgya/zZvEX3Ue2Wbcb2pjXJrxF/9rt1xnVQusWfuZ1wHB9a33iAqipnQ5i5hYZyWhOAMNPafTDeCwHryS4v9VQvyy/nfS/up84dO6S8nHmlYWrFTCPLPJ9mS89HZncYQPWxOtnnVZipvPLCq2Frfl9rpNawii3zSiJmkB5vxStuJ08SdT6vA3Xq0F5XN9razT+oBhT1SxGksRogBgMCaQQgzDAlEkPAuiUSh0Fb48iGX3E55eTkGMPKFEdml/4iDiy8CjMdxuyUXsPpJC2Lzcf/8LRxobr1xKcOY81k45XXllPN8mokltXdkbDfNQEIM9eoUDAOBMIOIpa1MmMXR8b+YYHCyVZ5RYVzYpkPJ5XdvH2nkeRU1ziyTPMvjsLMHK9Teo0HV0UTfyZrTtv5lw/tsDBDYtk4fPtiDG4JQJi5JYVysSBw6tj9JOpfpOcBAOc4sg2GIOtfXGQIsvRtS6KTxrYYb3fG8YmzMGN/mcH+vCZalna906nbGhpp1oxbUhIom6ujg4ovFRp/FqYw27xlG9WsftRIcxNmv3H8jGBM+hCAMNPHV7BUAAEWL7zlZ11NEtCs9CbMbcuBxX2px4XnN/fH25Z8q0FT0zG6f1EV9SrIb/6bzukvvAKNuzAzeTil1zDz9HE5u/izfS820IjBg7SLP+PEsnSSjCvC8IBAUghAmCXF0xinQYATq/IprzATzQZB7ycfGfe38rF1sd22tOMpWpipvjpjptcYf/1oavvZ7QHMxel6J/6b3ZZokLkZRl1e4Z447gZjJVB1n4TBA30kgwCEWTL8nNhRpn+Z6xSz4pSBn1++/E/p0BKaMPaGlG1LTrfQpvU5dFXJoET5XLQw0wXezrq9dOTou8Z1Tdb0Ghx/9uCqh2niuBuNrXvz0S3/mV1MKASaLrMTdvolAGHmlxzqaUuAE81yTqRCy7afSoMJko/Mul2lwwtMlI1JFWY8b53Sa/A2922Vc+ngocNUdeeclOudZMWfifwcsf0TJk81Mv6Lmici7UNbICCLAISZLLJoV1kCHJNVOmRwaHmR3L5UTr0sN9OIkkEt4shYeOyq22PED6UnGOWcV5weIW75q7xMoCQLM5OT012ama53ckrJ4cTe7Vz24junspwW5Nnde5BYVgRMtKEVAQgzrdwFY0UQsGYSF9Fe0DYyxZHVrH6EardsN+Js+B/z4fQXO+uep7ZtWscm/UWQlz6E2elZyHdp2uUyExF/FsRHXj8nHPjfNS8vtjd1eOWB8skhAGGWHF9jpJ8R4BNs/KXPd+9F/fBLlGPCBhb1NUSW+TglEeW/81Ynv3gHFl/qKf1FmC/VsLmGLcxUZ+mUXoNjLJkV35nKq69WsW/WYd+VW1JyhO1Lsz/VQw6i4oJ+408Awiz+PsYIbQgUFF1Oz23dRO1ycyPh4xRHxqKR44K6dsmj+ZWzUwL7k5T+wqvwCVuYRTJpfHTqlF5jf+MBunvhYmKhxvdv9i/q29y6CvFn5iEdji+L6jPqAzeqgIAQAhBmQjCiEd0I8DF8zmU2oDjcRLN+48g2bduRqPQX5nxyK9CiFGZubYzyMxJG/JnI8Zn3giKxrEiqaEsXAhBmungKdgolEHb8yrHjx2nt72tbiCteGeDM5r996GH67rdvbJH4ltNfyNpa0kFQuHV6lMLMrY1Rl7NuVdql11i7fgOVjR5FE8d9K2WVylzdLbumNCVnmszxcDzcwcOHaVYFEsvK5Iy21SQAYaamX2CVZAKcaJZfRNWLFkjuiYjjyHoX5lOnDh08xZG99c5RLbO1Swdq0wGEmXvqTtub/CNh3qL7qHbLNmN703r6l0XdS6++Ti+//mYo8Wdhn5x2Tw8lQUA+AQgz+YzRg4IErDmSZJnnFEdm9s391iyvTokjc9rqlGVjXNqFMPPuyUzbm3x1GT/W6514hfXtd/+HOD2L6Ps3063nxLKPr65J+Wx4HyFqgICeBCDM9PQbrBZAQNaXv584MhXSX+i8tQlh5v8D4ZReg08G373wXiodOphmVfw4ZXvTa/4zL9bxD5frxk6gum2bkVjWCziUjQ0BCLPYuBID8UqAt0s4pobv4RPxOOUj47Z5BYLjZjiObMLYljE8ftJfiLA5Lm2oLMx0ELzm7QGcsqXMkiqDtzf5eqdT8WcjjfQa1lOSMu7fZEFYu3WbEWagA7u4fIYwDnUIQJip4wtYEjIBkQHGbvKRTZs8yUiDYT6c/mLT9h1Ufs3wRGftF+F2lYWZiPGF1YZT/Blf6zTT4Xon0fnPwj6YExZb9AMCbglAmLklhXKxI8A5w/iFzkfy/T6Z4sjMewo5H5mZloNXAN4//oGRJFb1rP06rVZYY6L8+hL1ThPgrcqXXn3DuOrL+phpLPi/WePP+P+Lyn/GqWzS24ZvQCBJBCDMkuRtjDWFAG/TXDZkBDXsfsYzGX4J1fxunfHi6nHh+c31OT7G6V5LLsTpLzjT/1Ulgzz3GVUFHQSaTsJMB57mXOMV3WPHPyBreg3+W6brncz4sz69Cqh3YYHnacuxn0gs6xkbKsSIAIRZjJyJobgnYL4cvV77kimOjF9W/E/p0BKaMPaGlBNlditrOr2g3ZONpiS2MuVxz5Rew+l6J7bGT/xZfUOjsWXK16Xh8yHPp2hZbQIQZmr7B9ZJJsAvgcL8nq4uSl752Drq1LG9p3stkf5CsgM/az5dmOn0UtfFVqf0GrxKbG7bV905J+V6J6ektk6zgn/Y1DceoKrK2eFMHPQCAgoSgDBT0Cg2vW0AABUZSURBVCkwKTwC1hNgTr1miiNz2rZUIf2FLIqqCIl9LzbQyjXrqc0//kZ7GhuN4fbLz6e2X/widS4ooOEll3u65F0Wr7i165Reg+PPZt5xl+09r27jz/iH0oCifinJbePGD+MBgWwEIMyyEcLfY03AunWSPtBMcWQ1qx+h2i3bjZU2/sf6OAm5WIMMcXDsl1/96l/pkjOJSjt3oE6fb0XVdXsNC6YWn7qM+4W/v0dPvP136jNsCJVdNYxycnJCtDD+XTml1+CRL1n2AD246mGaOO7GFtc7ZYs/u/La8hZJl+NPEyMEgVQCEGaYEYknkB5snCmOjFfYONC8f3E/417Lbpb0F+a2JdJfyJtSvBL568VL6ZZuHajtmWc2d5QuzMw/PP7mEXrnogL6wfhU8SzPwmS1zClfdtbtpfRAfz5Y4zX+jOuwMENi2WTNIYy2JQEIM8yKxBPg4/kssjilhVMcGafW4DgazkPG6S/SBdmmbTtaXFDuF6wqW4V+7ZdVj0XZwoVLDFHGq2TWx0mYcZnNR47S0a9eQuPLRyOgXJJzzJUw/lHCp47NJ1N6jfT4s2d21RmHZzh9DT4DkhyFZrUgAGGmhZtgpEwC/Mue45VKrviXFpeGZ0t/wUKuTZvWoVzsLJOBDm1XVt1L329zZgtRxrZnEmb893v2v0ITZs7QMuZMF5GSKdC/dut2mrdwMRUW9KTbKqbbrDTX0sHXX6XWn29Fsyqm6zAdYSMISCMAYSYNLRrWgcBb7xylOxf+KzX97SitXL40xWQWbLxtyckueUXN+oQVR6bLS1m2r/nKql/OuoN+/rWetl1lE2ZvffgRrTv3PGxpynZUhkSzqdc7jWoRf1b2ne9Rz/x8qvjB943VZzwgkFQCEGZJ9XzCx23GkQ0s7ksdv3Ruc2wLY8kWR8bbllzPmlg24TilD3/lY+vpq680UO9z2/kSZlzp1uf306Lqe6TbKrMDnYQ6b2/uqNvb4soxp1VoM9bz7Xf/Ri/sb2yR1FYmV7QNAioRgDBTyRuwJRQC1jgyjofhE3ucaJZXxeYvus+woWZ5dcp2S5zTX4QCPWAn/6fidrr/4gsdW8m2YsYVl730Ol31g8l0UfcLAlqD6l4IcHqNk0QthJY1/qx89ChjdZoz/rP4PP7BB/SH7TuNbtJvHfDSN8qCgI4EIMx09Bps9kWAt8P4JTFi8KAWl4ZPrbiVOMD/9hm3tMihFNa2pa9BJaRSxS0zaUGvrwQSZnwI4AsjR9LAoksTQk2dYWZKr8Er1DMr76Ky0aNaJJY1V7bLri417pbFAwJJIABhlgQvY4xZCfD2yoTJU6l8zKjmeDIzj9mEb4xpIeSyNogCQgnc8dPbaU5+sBUzTp3RZcyY2AkznbY37dJrmGk10lephU4gNAYCGhGAMNPIWTBVLgEWZ7xyxmkzzu/+FWHpL0RbrdOLWNTYZ/z8bqo6v2OgFTPeyrx+xnQtT2aK4qhKOzt376WXX32D/n70beITm9WLFqSEDqhiJ+wAgSgIQJhFQR19Kkug+rerqHbzZiro2YNmVfyY2uXmKmtrkgxbuOw/aPTxf1CPtvbbWW5izO5qfJ3u/NVc19h0FMA62czXLzW89DJd9/Wv08RvXufaLygIAnEnAGEWdw9jfK4IbNq+g9q0bk19CguMWBZ+afB1TZzsUlVxxi9hfnS6bsivzZxnbu9Dq+g73bva+jObMON0Gff+4yNaOHuGq/lgLaST2PE8uAgqcNoMTurMK9Ocs4xjPzmO86Lu51PvwoIILEKXIKAWAQgztfwBa0ImYAYXm1fKWIUDYl9CdkaW7mbceodt1n+ulk2Y6ZxgVi0vBLMmPZbT+nlzSq8RrEfUBgH9CECY6eczWCyIAN/xd+z4BzSiZKBjixBnwWGLWnEy78mc071zC6PcXskUdDSixhLUDh3r2x2wsRsHn5zu1KG9kSsQDwgkkQCEWRK9jjF7IsD39/E/S+9ZQBfn22ee99QgCvsm8Mprb9Dv/m0FTb6gk6tLzK33ZPruFBUDE9jfeIB++JNbaeK4G4x/8IAACDgTgDDD7AABFwTM2wCq7pxD/YvwS94FMmlFzMvMv35ua7rk3FxDoKWvmHFM2UOvHqS8QYOMy8tlPDqunkVhMyeSnXnHXTRrxnQqHVIiwxVoEwRiRQDCLFbuxGBkEuBf/d/5/g9tk9DK7NdP21G8gP3YGaQOb3nte/6/qPU7b9OeV181murXvTuxKMvrfQl9p3w0UmMEASygrvmDBqvNAmCiicQQgDBLjKsx0CAETKHjNk4mSF9JrutXUHIsID/pl80nmWXUY0+Pz/Tr26jHgf5BIGwCEGZhE0d/2hLQVZzp+EL0ajOEmVofKxyaUcsfsEYvAhBmevkL1ipCwHpLAOdiwhMtAQizaPlbe5+3aLFx7yyy+avjE1iiFwEIM738BWsVIsCJMqdWzKSuXfJwS4Akv7hdOYMwE+MAt7zteuPPw7xF91FTUxPNr5ytbGJmMaTQCgjIIwBhJo8tWk4IAR1uCdDdFdkEA4RZtB5Oz+YfrTXoHQT0JgBhprf/YL0iBBBTE60jIMzE888mhs0ecSBGPHu0mGwCEGbJ9j9GH5CArlc4uX3pBsQjvLqT3RBmwlG7ajDTFUuuGkAhEACBFgQgzDApQEAgAdwSIBBmhqbSBZouwkxXQWznCmTzD2euo5fkEYAwS57PMWLJBHS7JSAOYkEXYZZt6qnuC9M+ZPPP5kn8HQT8E4Aw888ONUHAkYB5SwBfQ1M+ehRISSagozBTXYQ5uWzN+g10/7IVtPSeX+LuWMnzGs0nkwCEWTL9jlFLJGC+cA8eOkzjJ0+l8jGjtMlIr6tYWLJsheHRaVNukuhZNG0eclm5vJq65HWmnJwcQAEBEBBMAMJMMFA0BwJMQNdbAnT1nu7CTAdBjCuWdP10wG7dCECY6eYx2KsdAdwSIN9lOm5lyqcirgdk8xfHEi2BQDYCEGbZCOHvICCAgI63BKi+imO1L12YqW57pimlku3I5i/gw48mQMAjAQgzj8BQHASCEMAtAUHoOdeN44pZ1AIN2fzlzFW0CgLZCECYZSOEv4OAYAK4JUAwUCKKozATT8l9i8jm754VSoKAaAIQZqKJoj0QyEDAXAWBOPM+TTKtIGUTZlGvPnkfbXQ1IMqiY4+eQYAJQJhhHoBAiASsVzjpeEuAqgInmzAL0cVad2WXzV9Vn2sNGsaDQAYCEGaYHiAQIQHdbgmIEFXGriHMgnsG2fyDM0QLICCCAISZCIpoAwQCEDBvCbh9xi1UNnpkgJbiVdXLSo1XYeal7XhRtR+N+QNh6T0LkM0/CQ7HGJUmAGGmtHtgXFII6BjXo5K48SrMkjKv3IwT8Y5uKKEMCIRHAMIsPNboCQQyEtBRnKniUggzf56AKPPHDbVAQCYBCDOZdNE2CLgkYL3CaWrFrTSguB/Nqpjusnb0xaJePQsqzETYL6INv57003d6Nn8/bfi1F/VAAAScCUCYYXaAgGIEdLwlIGqEQYWZaX8SxAmy+Uc9W9E/CGQmAGGGGQICihJwc0uAikIiCptECTNFp4InszLxRzZ/TyhRGAQiIQBhFgl2dAoC7gggBsg9Jy558+RJ7ipkKRWFuBRieIZGEMMomzDaBwExBCDMxHBEKyAgjQDEWXa0slbMdBdo1tjFCZOnUvmYUcLEa3avoAQIgIAfAhBmfqihDgiERMB8sa5Zv4HuX7aCqhf9kgoLeobUuz7dyBJm+hBwtrS+4QBNrfgZTRx3I00cd0MchoQxgECsCUCYxdq9GJzuBKwrNrVbt9O8hYup6s451L+or+5DE2q/bGGm68qZOWdmzZhOwwZfQTk5OaTrWIROGDQGAgoTgDBT2DkwDQSYgPVFqustAbLFgGxhlu4HHWam3V2ssv2gAxfYCAKqE4AwU91DsA8E0gggiLvllAhDmOk0ERGXqJO3YCsIpBKAMMOMAAENCegszmSs2sgSZk62yhiDqGkIUSaKJNoBgWgIQJhFwx29gkBgAshJdRqhLGEW2EkhN5CezT/k7tEdCICAAAIQZgIgogkQCJuAuWLD4uy2yrmUm5tLsyp+TO1yc8M2RYn+ki7MzHnAzphfOduYByqv6ikxaWAECChKAMJMUcfALBDwQsDNLQFe2tOtbJKFGW9r63i/qm5zDPaCQFgEIMzCIo1+QEAygSTHFiVVmOkcayj544DmQUBbAhBm2roOhoNASwI6i7MgW29BhVmQvqOahxBlUZFHvyAglwCEmVy+aB0EQiewdv1GWrJsBS29ZwFdnJ+MWwKCCrPQnRSwQ85n98Of3Gpk8kc2/4AwUR0EFCMAYaaYQ2AOCAQhYK786H5LgNcVrCQJM2s2/9IhJQjyD/KBQV0QUJAAhJmCToFJIOCXQBxuCfAz9qQIM2Tz9zM7UAcE9CIAYaaXv2AtCHgioHscktuVsyQIM53jBz1NWhQGgYQTgDBL+ATA8ONPQHdx5sZDcRdmEGVuZgHKgEA8CECYxcOPGAUIZCQQ91sC4izMkM0fH24QSBYBCLNk+RujTTAB3W8JyLStGUdhZpfNP8HTF0MHgcQQgDBLjKsx0CQTsIqaON4SEDdhZpfN3228XZLnOcYOAnEgAGEWBy9iDCDgkYDuMUvpIsVOmOkqZJIQE+hxuqI4CCSKAIRZotyNwYLAaQK6izOrL+OyYgZRhk8oCIAAhBnmAAgkmMCa9Rvo/mUrqHrRL6mwQM9bAnhlrPo3/2548ebJk7T1Zn3DAZpa8TOaOO5GZPPX1oswHASCE4AwC84QLYCA1gR0vyWA4fMVVPxMm3KTlr6wZvMfNvgKysnJ0XIcMBoEQCA4AQiz4AzRAghoSSBOtwToLMzssvlrOaFgNAiAgBACEGZCMKIRENCTgFWc6RzfZAoz3srUabXJLs5P10MLen4CYDUIqEcAwkw9n8AiEIiMgK7iTMfgf7eHLyDUIvs4oGMQiIQAhFkk2NEpCKhLQMdbAnQTZsjmr+78h2UgEDUBCLOoPYD+QUBBArrdEqCLMEM2fwUnO0wCAcUIQJgp5hCYAwJRE9DxloBMwkyVrUC7bP5R+xr9gwAIqEcAwkw9n8AiEIicgFXMuI2FitJo1VfM7GL3VBGMUfoNfYMACLQkAGGGWQECIJCVgOriTGVhpuuBiqyTAgVAAASkEIAwk4IVjYJA/AisXb/RSOS69J4FdHG+WrcEuBVmYa9S7W88QD/8ya1GJn/+Bw8IgAAIZCMAYZaNEP4OAiDQTGDX7r008467aNaM6VQ6pEQZMm6FWZgGW7P5q8QqTAboCwRAwDsBCDPvzFADBBJNwFwF4uuPykaPlMLC68qWH2HmtQ8vA0U2fy+0UBYEQMBKAMIM8wEEQMA1AVPMqBY35UeYuR60x4Lp8XgyBaBH01AcBEBAAwIQZho4CSaCgCoEVL3CKagwEyWecMWSKjMVdoCAvgQgzPT1HSwHgcgJmLcEFBbkU1Xl7MjsCSrMRBiObP4iKKINEAABCDPMARAAgUAEWJzNW3QfNTU10fzK2dQuNzdQe34qRynMkM3fj8dQBwRAwIkAhBnmBgiAgBAC5orRyuXVoYszkcLMy7YmsvkLmTpoBARAwEIAwgzTAQRAIBABFW4JECnM3MJQ7QCEW7tRDgRAQG0CEGZq+wfWgYAWBKIWZ2ELM1yxpMW0hJEgoCUBCDMt3QajQUBtAnxLwN0L76X//M3SUG4JCFOYIZu/2nMP1oGA7gQgzHT3IOwHAUUJpN8S4CV2y+uQZAsz03Zk8/fqGZQHARDwSgDCzCsxlAcBEHBN4NTq0s/o5ik3UfnoUa7reS0oW5ixPQ+uepg4o//Se34ZyiqgVwYoDwIgEA8CEGbx8CNGAQLKEjh46DCNnzyVyseMopsnT5Jip2xhZiaO5ROnXbvkSRkDGgUBEAABJgBhhnkAAiAgjUBYVzjJFGa4Ykna9EDDIAACNgQgzDAtQAAEpBGwxpXJvCVAljBDNn9pUwMNgwAIOBCAMMPUAAEQEEogU5C/rFsCRAszt9n8ZR5oEOoUNAYCIKANAQgzbVwFQ0EgPgRE3xIgUpghm3985hlGAgI6EoAw09FrsBkEYkAgPXYryJBECTNk8w/iBdQFARAQQQDCTARFtAECIOCagIxbAkQIM4gy1y5EQRAAAYkEIMwkwkXTIAAC9gSs4kzELQFBhZldNn/Ej2H2ggAIREEAwiwK6ugTBEAghUD6LQFe8QQRZsjm75U2yoMACMgkAGEmky7aBgEQcE3AXLWaNuUmKhs90nU9LuhXmHEm/1PZ/Bcgm78n4igMAiAgiwCEmSyyaBcEQMAzAb9xXn6EmcjDB54HigogAAIg4EAAwgxTAwRAQCkCfsSZV2EGUaaUy2EMCICAhQCEGaYDCICAMgTMgHuvtwR4EWbp2fwR5K+M+2EICIAA7srEHAABEFCJQPoVTvMW3UdNTU00v3I2tcvNdTTVjTBzm81fJR6wBQRAIHkEsGKWPJ9jxCCgFQE3twRkE2bI5q+Vy2EsCCSaAIRZot2PwYOAHgSyxYRlEmZ+Ytb0oAIrQQAE4kgAwiyOXsWYQCCGBDKJMydhBlEWw4mAIYFAzAlAmMXcwRgeCOhOwM0tAXbCzC4vGgL9dZ8NsB8E4k8Awiz+PsYIQUB7AlZBZd4SYE1Emy7MzGz+VXfOof5FfY3xQ5RpPw0wABBIBAEIs0S4GYMEgXgRSL/b0irMkM0/Xr7GaEAgaQQgzJLmcYwXBGJCwBo/Zh3SmnUbqGZ5NXXrkheTkWIYIAACSSIAYZYkb2OsIBAzAqY4sw4LoixmTsZwQCBhBCDMEuZwDBcE4kbAvCWAx7VyeXXGRLRxGzvGAwIgED8CEGbx8ylGBAKJIMDB/Pzk5OSkjBdB/olwPwYJArElAGEWW9diYCAQfwIQYfH3MUYIAkkjAGGWNI9jvCAAAiAAAiAAAsoSgDBT1jUwDARAAARAAARAIGkEIMyS5nGMFwRAAARAAARAQFkCEGbKugaGgQAIgAAIgAAIJI0AhFnSPI7xggAIgAAIgAAIKEsAwkxZ18AwEAABEAABEACBpBGAMEuaxzFeEAABEAABEAABZQlAmCnrGhgGAiAAAiAAAiCQNAIQZknzOMYLAiAAAiAAAiCgLAEIM2VdA8NAAARAAARAAASSRgDCLGkex3hBAARAAARAAASUJfD/AVAU+bcmI1pxAAAAAElFTkSuQmCC", + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "struct = graph.create.lattice.l12(element=['Ni', 'Al'])\n", + "struct.show.all()" + ] + }, + { + "cell_type": "markdown", + "id": "534b0d2c-fd3a-4e0a-b467-a2add91bc782", + "metadata": {}, + "source": [ + "This structure is automatically annotated" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "f2cf6342-6ae2-45e5-a6d5-13dd1dbe86fd", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "eea6695c7b2641a6ac2249fdecc5b045", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "CytoscapeWidget(cytoscape_layout={'name': 'cola', 'avoidOverlap': True, 'animate': True}, cytoscape_style=[{'s…" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "graph.visualise()" + ] + }, + { + "cell_type": "markdown", + "id": "8bdf8b1a-1f31-47d3-a494-83b74e08021c", + "metadata": {}, + "source": [ + "and defect structures can also be created" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "5de5cca0-1851-461e-b175-1c588e25d4a2", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 18.15147376, + 18.15147376, + 0, + 0 + ], + "y": [ + 0, + 0, + 2.87, + 2.87, + 0 + ], + "z": [ + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 18.15147376, + 18.15147376, + 0, + 0 + ], + "y": [ + 0, + 0, + 2.87, + 2.87, + 0 + ], + "z": [ + 9.07573688, + 9.07573688, + 9.07573688, + 9.07573688, + 9.07573688 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 18.15147376, + 18.15147376, + 0, + 0 + ], + "y": [ + 0, + 0, + 0, + 0, + 0 + ], + "z": [ + 0, + 0, + 9.07573688, + 9.07573688, + 0 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 18.15147376, + 18.15147376, + 0, + 0 + ], + "y": [ + 2.87, + 2.87, + 2.87, + 2.87, + 2.87 + ], + "z": [ + 0, + 0, + 9.07573688, + 9.07573688, + 0 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 0, + 0, + 0, + 0, + 0 + ], + "y": [ + 0, + 2.87, + 2.87, + 0, + 0 + ], + "z": [ + 0, + 0, + 9.07573688, + 9.07573688, + 0 + ] + }, + { + "line": { + "color": "#263238", + "width": 2 + }, + "mode": "lines", + "name": "lines", + "showlegend": false, + "type": "scatter3d", + "x": [ + 18.15147376, + 18.15147376, + 18.15147376, + 18.15147376, + 18.15147376 + ], + "y": [ + 0, + 2.87, + 2.87, + 0, + 0 + ], + "z": [ + 0, + 0, + 9.07573688, + 9.07573688, + 0 + ] + }, + { + "marker": { + "color": "#33a02c", + "line": { + "color": "#455A64", + "width": 0.5 + }, + "opacity": 1, + "size": 10, + "sizemode": "diameter", + "sizeref": 750 + }, + "mode": "markers", + "opacity": 1, + "type": "scatter3d", + "x": [ + 9.983310568468324, + 9.07573688, + 11.798457945404973, + 12.706031633873298, + 10.89088425693665, + 11.798457945404973, + 9.983310568468324, + 10.89088425693665, + 9.07573688, + 16.3363263877466, + 14.521179010809949, + 15.428752699278274, + 13.613605322341623, + 14.521179010809949, + 12.706031633873298, + 13.613605322341623, + 17.243900076214924, + 16.3363263877466, + 17.243900076214924, + 15.428752699278274, + -4.683251120241039e-09, + 0.9075736837850741, + -4.683251120241039e-09, + 1.8151473722533984, + 0.9075736837850741, + 2.7227210607217236, + 1.8151473722533984, + 3.630294749190049, + 2.7227210607217236, + 4.537868437658374, + 3.630294749190049, + 5.445442126126698, + 4.537868437658374, + 6.3530158145950235, + 5.445442126126698, + 7.260589503063349, + 6.353015814595023, + 8.168163191531672, + 7.260589503063348, + 8.168163191531672 + ], + "y": [ + 1.435, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 0, + 1.435, + 0, + 1.435, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 1.435, + 0, + 0 + ], + "z": [ + 7.2605895077466, + 4.537868442341624, + 8.168163196214923, + 6.353015819278275, + 5.445442130809949, + 3.6302947538733, + 2.7227210654049747, + 0.9075736884683248, + 0, + 8.168163196214923, + 7.2605895077466, + 5.445442130809949, + 4.537868442341624, + 2.7227210654049747, + 1.8151473769366495, + 0, + 6.353015819278275, + 3.630294753873299, + 1.8151473769366495, + 0.9075736884683248, + 4.537868442341624, + 1.81514737693665, + 0, + 8.168163196214923, + 6.353015819278275, + 5.445442130809949, + 3.6302947538733, + 2.7227210654049747, + 0.907573688468325, + 0, + 7.2605895077466, + 6.353015819278275, + 4.537868442341624, + 3.6302947538733, + 1.81514737693665, + 0.9075736884683251, + 8.168163196214923, + 7.2605895077466, + 5.445442130809949, + 2.7227210654049747 + ] + } + ], + "layout": { + "height": 360, + "margin": { + "b": 10, + "l": 10, + "r": 10, + "t": 10 + }, + "scene": { + "aspectmode": "data", + "aspectratio": { + "x": 2.3299861015014263, + "y": 0.3684031499590902, + "z": 1.164993050450134 + }, + "camera": { + "center": { + "x": 0, + "y": 0, + "z": 0 + }, + "eye": { + "x": 0.2878718498318324, + "y": 2.0856763193587877, + "z": 0.5045632655479207 + }, + "projection": { + "type": "perspective" + }, + "up": { + "x": 0, + "y": 0, + "z": 1 + } + }, + "xaxis": { + "showbackground": false, + "showticklabels": false, + "title": { + "text": "" + }, + "type": "linear", + "zerolinecolor": "#455A64" + }, + "yaxis": { + "showbackground": false, + "showticklabels": false, + "title": { + "text": "" + }, + "type": "linear", + "zerolinecolor": "#455A64" + }, + "zaxis": { + "showbackground": false, + "showticklabels": false, + "title": { + "text": "" + }, + "type": "linear", + "zerolinecolor": "#455A64" + } + }, + "showlegend": false, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "width": 700 + } + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmYAAAFoCAYAAAD9zjdnAAAAAXNSR0IArs4c6QAAIABJREFUeF7sXQd0VOW6/SJNUriohC6gdORKCeUJkqCAF4GARK8QhACCIIQekAgIAUFpAVRCiYhCpCpBmqIEaYICCcWrBAJRqSEQLAkJ0uStfeKJU87MnDYzZ2a+s5brvUv+uv9/Zvb5yv787t27d4/4YQQYAUaAEWAEGAFGgBFwOwJ+TMzcfga8AEaAEWAEGAFGgBFgBAQEmJjxRWAEGAFGgBFgBBgBRsAgCDAxM8hB8DIYAUaAEWAEGAFGgBFgYsZ3gBFgBBgBRoARYAQYAYMgwMTMIAfBy2AEGAFGgBFgBBgBRoCJGd8BRoARYAQYAUaAEWAEDIIAEzODHAQvgxFgBBgBRoARYAQYASZmfAcYAUaAEWAEGAFGgBEwCAJMzAxyELwMRoARYAQYAUaAEWAEmJjxHWAEGAFGgBFgBBgBRsAgCDAxM8hB8DIYAUaAEWAEGAFGgBFgYsZ3gBFgBBgBRoARYAQYAYMgwMTMIAfBy2AEGAFGgBFgBBgBRoCJGd8BRoARYAQYAUaAEWAEDIIAEzODHAQvgxFgBBgBRoARYAQYASZmfAcYAUaAEWAEGAFGgBEwCAJMzAxyELwMRoARYAQYAUaAEWAEmJjxHWAEGAFGgBFwGwKXr+ZQxeBybpufJ2YEjIYAEzOjnQivhxFgBBgBH0Jg5YbNFPV8Vx/aMW+VEbCPABMzviGMACPACDACTkMgv6CALl+9RjWrPyw5R9KGzdSHiZnT8OeBPQ8BJmaed2a8YkaAEWAEPAaB79NPUYXgh6hCOWt3JUjbV3sPUPeO7T1mP7xQRsDZCDAxczbCPD4jwAgwAj6MwMbtKfRMaCsK8Pe3QiHz7HnKvnqNWjVr7MMI8dYZAXMEmJjxjWAEGAFGgBFwGgLJ21MowoZFDNayRg3qSFrTnLYgHpgRMDgCTMwMfkC8PEaAEWAEPBmBr/bup2dCW0tuISl5C0V0bCdpTfPkPfPaGQEtCDAx04Ie92UEGAFGgBGwi4C94H4O/OfLwwhYI8DEjG8FI8AIMAKMgFMQSNm9l+IXJdJPmZkUFBhILZs1pRYhTal+3TpUr04t2vTVLs7IdAryPKgnI8DEzJNPj9fOCDACjIDBEAAZE/7btYcefrgqtf6/lrT2kw20MjGBTmWcofSMDEo/dZrST2VQ8RIlqeuzHah+nTrUPKQJVa1cSfFu7t27R35+for7cQdGwKgIMDEz6snwuhgBRoAR8BAEDqYeoY1bP6dDqUeoSuVKFBHeWSBa5y5lk//9JWlg9EhK3bPDbDdZ2Vfog9Xr6eEKwXQo7QhhjDJBQdSiWVOqX6e2YFVrEdLEIQJMzBxCxA08DAEmZh52YLxcRoARYASMgIAtMmZq9ULWZfXKFWjIqHH09dZks2VLSWVcuJRFh9OOClY1jH/xUpZA0OrXrS24QEHUQN74YQS8GQEmZt58urw3RoARYAR0RMCUjAUFBQqWsXZtQ226ICGVUeb+krRxyzZKiJ9lthI5Uhm5eXl0Eu7PUxmSVjUQNRA3fhgBb0KAiZk3nSbvhRFgBBgBnREAKYKbMmXXXmHk7uGdqXt4J1nxYMlf7KC8336li1lZNCFmlNnK1GZkila1g2lHBNcpyBtb1XQ+dB7OrQgwMXMr/Dw5I8AIMALGQwDkZ+WadUVkrP1TodS9SyfF1ikQs0MHDwoxY3179TDb6OKktTSkT0/Nm8/Nuy5Y0/CfmFQgxqq1DGmqOqlA88J4AEZAJQJMzFQCx90YAUaAEfAmBEDGdu7eS8lbtlFe3nUhCB9kDBIXah+UY0rZsUOwsrVvG2o2zMoNmylKY/FyW4H/ha5PxKqdLrKqWUp1cKya2lPlfs5GgImZsxHm8RkBRoARMCgColsQZAyB9nqQMXGr2TnX6PiJUzRz9lxBKsNSCkOtK9MUSrkZmXB3gqiZWtWQPQqyBqkOxKrhf/PDCBgBASZmRjgFXgMjwAgwAi5CwJlkzHQLyLrMy8ujHn0H0Km0b812l52TQ8dPZAjFzd31CBa1UxlsVXPXAfC8NhFgYsaXgxFgBBgBL0fAlIyBjLR/KkxwLVq6F/WEwZ5UxoHUY1Qh+CGqWf1hPafUNJY9qQ4tAriaFsWdfRIBJmY+eey8aUaAEfB2BOC+27l7H6Xs3iMo8YtxXs4kY6aYIr4syIZUBv7WIbQVBfr7G/YY7El1zIybZNh188I8HwEmZp5/hrwDRoARYASKENi45fMiMlZoFQujdm3buFyY1Z5Uhh6B/648clP9Nkh/7NySLEsuxJVr5Lm8BwEmZt5zlrwTRoAR8FEETOtTQtOrUPjV9WTMFH4Qs5MnfqQqlSpZSWW4MvBfy5UAyX1v6TJhiOGDB1LdOrUoalC0VXkpLXNwX0bAEgEmZnwnGAFGgBHwQAREKw6KhYtkTG0hcGds355UhpGImWVmJ2LNFiZ+IMhsWGapggBLVTFwBn48pu8iwMTMd8+ed84IMAIehoCc+pRG2FJ+QQHtTz0mKZWBvyExoHvH9kZYKonEDNhCVBcitSBkwwYNsHJXvhW/QNICaIiN8CK8BgEmZl5zlLwRRoAR8EYELOtT9uvV0/Bq9pDKwNMp4kVDSmWI9wQB/rCCLVz6gfBPcFei3JStp8+gaKENdM/4YQSchQATM2chy+MyAowAI6ASAUharFizXnCn4UE5I3vFwlVO47RusIiVK1uGxk6YTF9vTTabxwhSGebuyibUvUtnWRUOmoV1EPbDVQOcdnV4YCJiYsbXgBFgBBgBAyBgWSxcbX1KA2yFbEllwG14IO0YNapflwIDXC+VAevYitXriqocDBv0MlWtXFkWZDif6JhYK6IpqzM3YgQUIMDETAFY3JQRYAQYAT0RkKpP2TfyRcXFwvVckx5jFUllXMqiCWNHmQ351d799Exoa+Hf5JZUslyTkn6icCyyK4OCAgmuYNFdqWQcZGgeTDtCrGGmxw3hMewhwMSM7wcjwAgwAi5EQCQKH61eq1uxcBcuX9ZUIF+phw4L9SfhhjV9bGmYgSTh8fPzcziHHEIluiuRtYpKB1IF2eWMIy4mNm461a9T22o/DhfLDRgBhQgwMVMIGDdnBBgBRkApAigQDmsLrC56FwtXuhZXtN+fepRWr1lbVG1ADjGTsorJJWqmfYGxWJQd1Q5gHbMsoK4Gg26RUYK1DNIk/DACzkSAiZkz0eWxGQFGwGcRsK5PGSo7yNyTQXOWVIY9i5qpuxJWOgjs2suuVIovsjef7hLBwrJKgeP2qhBgYqYKNu7ECDACjIA1AmJ9SlhsXFUs3GjnAKmM7Jxr1H/QkCKpjOMnTgnLxL9nX71GT4Q0olo1qmlaOogayiMtTFwuiL6CiPWN7OEUi9ahtKNCBYCkxARNa+bOjIAcBJiYyUGJ2zACjAAjYAMBy2LhYn1KPS02ngQ+5DDuL1mMxk6YQrGvjaUVn39C50qetNrCA9erUP9nelKHNq0UZWiCkH22Fe7KQrfw8MEDqEVIU6pcqaIwh5wYNbRTEl8mZHJmZdGEGPNEBk86F16r5yDAxMxzzopXyggwAgZCQKxPCWsNiIER6lMaAR5omJUsdh9NWbqAbte7QreqXLW5rOK/lqGa2S3ozSFj6NHqD9td/j/uyvepSuXKDt2VjpIJlBCz6JjxQjF4XyXbRrhXvrQGJma+dNq8V0aAEdCEgFSxcCPVp9S0OZ06L05aS/t+PEina+2ieyXuOhzV73YxqvDzv2nZqPlUMbicVXtRbLfQXdlZslSSw0n+tpCJFjUlpAx9EF+2MjFBlyQCOWvlNr6NABMz3z5/3j0jwAg4QECP+pRKiYCnHsrlqzk0Jn4Gnamxj/4qfVP2NkDO6px5iuJjJhaRM9PsSpRBchcBhqXuucgoDvyXfZrcUCsCTMy0Isj9GQFGwOsQ0Ls+pa8Qs6QNWyjh3Ey682Cu4jtR8mIwRVbsT3T7lhDM74zsSnuLsnVGsJJiPQnxsxTviTswAmoQYGKmBjXuwwgwAl6HgCUZK4wZC9XFfeULxOx6fgFFTh1KWY+lKb4bdy4Uo9vpxemvU6WoW+dnVbsr5U4s5zzENm/FL6AqlayFcuXOxe0YAaUIMDFTihi3ZwQYAa9BQKo+ZVRkD13ImClIcoiAp4OKGpjjto2jm9Uvy97K7RPF6daxEnTvph+VanmLAu6Wp8Uvv0uNGtSVHEMvHJWM02fQUBo2aCC1CGkiO+NTNgDckBGQQICJGV8LRoAR8CkExPqUkEDA44pi4UqIgKcextylH9L6ewkOY8v+yvWjmwdL0t0Lxei+MveoRONbVKJmYZIAsjSjq8dSn4hwpxIzJRg3C+sgFC4vExRk1s0XzlQJTtxWPwSYmOmHJY/ECDACBkVAqli4VO1Egy7fI5YVNy+Btj60xOZaRXclCFmxqncFCxmImemDJIAed0fS2MH9DbFnWFSjY2IFYsYPI+AqBJiYuQppnocRYARcioBpSSRfqE/pUnAlJgMx21bmfSuJDLgrYSHDAzJWvOYd8islvdpiuf7Ur+wYGtLHvPC5u/aGzFDUOEWNTH4YAVchwMTMVUjzPIwAI+B0BJiMOR1imxMgI3Phpel0t0wBmboriwX/RSUa36biVR1rmiEzc+qT06lDaCunbUSJCzI2bjrVr1Ob+vYyBlF0Gig8sKEQYGJmqOPgxTACjIBSBKyLhYdRYVmkUKVDcXsNCKAe5qCEYXT9j9+E+DFb7kp7U/ifrE7LBy/SXEfT3hxKiFm3yCjBWla/bh0NyHBXRkAZAkzMlOHFrRkBRsAACEjVp4QqPJMx1x+OeBYo8n05J4dKhOVRiQZ3FC8E8WWhOT0pPjZWsq8SQqV4cokO2BcU/1P37NBjOB6DEZCNABMz2VBxQ0aAEXA3Aoj5Sdm9hyD6KRYLb9e2jVXGnLvX6Qvzw1K5MPEDOpR6hFo0a0qt/68lpZ3IoJ2/b6UbNS8ohuD+M1VpUa936PH60tYpVxOzQ2lHCWQzKTFB8V64AyOgBQEmZlrQ476MACPgdAS4PqXTIVY0AYR4V65ZR+mnTguEbNigAYLu24HUY3R/yWL06rhJVKz9b3S7/G+yx0Vs2bimE6h7x/ay+zi7IeRULmZl0YSYUc6eisdnBMwQYGLGF4IRYAQMh4Ae9SkNtykPXpAYxwcLEh7Uruwe3slsR1/tPUA3rufSVzt3UY0Gtemzi+tkic2WOluRXm04wqZ2mZ6wKbG6RceMp/Ztw6z2qed6eCxGQAoBJmZ8LxgBRsAQCBiBjKEI98btOym/oMAMkwrlylH3ju0oMMDfEFi5ahGiuzJl1x5q/1QY2dN+S96eQn63bxXJS2zcnkLLv/6YrlY6LVk7E1ayR3IbUd9O/6VnnJiFaYqVEmKG+LKViQm6V4Fw1dnxPJ6LABMzzz07Xjkj4PEIOLM+pRJwQMjmLv2IDv/xjRAf9Vfpm0L3+24UCm7h/wZn1aaXn+5tKHebkj0qaQv3seDKu5QlVEaQU6bqq737KfXwYbO6kqifCaK7/du9VKFS2aIllPErS62aNXEZIVOyd7QFIX0uMooD/5UCx+11QYCJmS4w8iCMACMgFwHL+pTQiNKrWLjcNZi2++nseRqROIGuPJzusJwQ3G7/V7IdTR0+wuusZ6buyqCgQOrXq6ciN17Shs303YH9Vu4/WB/h5tQSP6bE0qXmDlj2ATHduGUbJcTP0mM4HoMRUIQAEzNFcHFjRoARUIMAfvQRMJ6ya6/Q3RX1KeWsE6Rs2PLX6MqjP8hpXmQ9ezK/O82LmSi7j9aGKBAeULq02TA1qz+sCzkU3ZUgIpAc6Rv5oirdLpCvmbPnUkL8TLP+mWfPU/bVa9SqWWPVMLiamL0Vv8DM8qd64dyREVCBABMzFaBxF0aAEXCMgFR9SrU/+o5nU94CbrZX3o6l07V3Ke6M+Ki4J6fLcsWpJRVwr36bdow+3b2NfvH/ge4VN1fOf+j3avRiy+dVx75BeiR5yzbBXanVapmdc40gMDvhjSlWBb9B2Bo1qEOI03Pno+Qc+gyKFhIcWoQ0ceeSeW4fRYCJmY8ePG+bEXAGAqI77KPVaykv77ogp2DUYuEoIZRwbqZkYLocbOqmt6f4mIlUMdg+4VBCCMR5QcoGvzlRcK/ak50o/msZqpndgt4cMoYerf6ww2WbuiurVK5EEeGdFbkrbU0AqxgIXtyMmVYFv5OSt7gk49LR5pWcQ7OwDlYE09H4/HdGQC8EmJjphSSPwwj4KAKeWp/yuSHRdOH/Cl2rah65VjMlhADrACkb/c40OlNjr1VBcKl1QjE/+Hx9WvjybJvkzNJdKWqP2ds3LGBwoZpmqFYILkeN6te1EoEVpTKWJ62mTWtWmg2L2LM+z3dVA7Fb+iAGMjom1opgumUxPKlPIsDEzCePnTfNCNhGQA6RkKpPaVTLmNROv0/PoKGrR9KftZQr1IvjIVPzRb9oGju4v93rJAdPcQClpMx04tqnn6L5IyebWfBM3ZVwzTUPaeJQ/gFkLOGTFXSu5Em6FfyrFTkEIW0ZEEbRkS8VEUEQs/w/fi+SyjBdl1ZipgQ/PT7XwOxg2hGhRiY/jIA7EGBi5g7UeU5GwMAI2PohFGsiIi7pUNoRIVDcU4uF79h7gCYfjFWkTi91ZE3PdqXEyTN0I2aLk9bRipx3VblX4dZ8wX8g9QzvSDv/lrtQ6q6E2zHx2CKHJZVgpQv4oSaN7DhEyLZM/mIHnTzxo2TAvFZi5uqPSmzcdKpfp7YQd8cPI+AOBJiYuQN1npMR8BAEpIqFQw3d0+tTgoAknFUfXyYeH+LMVs2crwsxQzJC5NShlPVYmqrbcffqfXTv64foRvYNgTTLcVeaWbZkkjLTPqUzq9KYVjEEMn/o4EFqGdLULGbtekGBUKpJi4CsHhYzJWN0i4wSrGX160rX7FR1ONyJEVCAABMzBWBxU0bAFxDAj9jOPfuEQuFQfMcPFILEPZ2MmZ6dHhYzWI06575CcWOidbkWUMqfe2iWrDJGphPePlGcbh0rQfdu+lHgI4H0Zu836Nl2bRWtCa7d6DUjHVrKpAYNPFpHsJx9tGKlFaHRQypD0UZsNJZLzPAiAsX/1D079JiWx2AEVCHAxEwVbNyJEfA+BEQVflMyJicmyROROPPLORqQMILyG2aqXn6xXH/qV3YMDemjj8tr7tIPaf29BIcit1jwX7l+Ahm7k1mc7itzj0o0vkUlat4luDP7lhuheE0xM2fS3nJrZSUbWAImxtqtXb3asFIZcg/5UNpRQj3QpMQEuV24HSOgOwJMzHSHlAdkBDwHAan6lNBuQmyStz8vxY6mU/VTVG/z/jNVKSFyATVqUFf1GKYdQczW3j/P7lh3LhSj2+nFBUJWvOYdKtXylkDMxEeNFQ/WsmErx1BBvbOq9+GfVpNKni1OKZs+NRvD0+LLhDJUWVk0IWaUaiy4IyOgFQEmZloR5P6MgIchYFmfEqV3vNUyZu9o4DpM+W0LtW7UjOYdnq3oFEGAQnN6UnxsrKJ+9hqDmK0r9o6k1QruypsHSwrdQcaKVb1rRsjEcdVY8bQkHIjzolRV1bO1aN0Hi822iKSAiGc7qMZIrgtS9QQWHaNjxluVlNJrbB6HEZCLABMzuUhxO0bAgxGANtOKNevpUOoRQh3EwpixUIfSCR68ZVlLzzx7jlZlrKDNl9bLai828j9ZnRZGzbPS81I0iEVjy4QEuCtBxu5eKEbFgv+iEo1vU/Gq5ur/lvNBymLqk9OpQ2gr2UsZO30u7X54hez2Ug3hQu1WPIpeHz7Y7M/7U49Sq5DG5Ofnp2p8PYiZkjEQX7YyMcHnPxeqDos76YYAEzPdoOSBGAFjIWBZLBz1KaMie/CPjskxQTcsJn4Gna6xT1ZsF7oiE3FQ46G6q9lD0HV4UgzlBl4Q3JUCIat618pdae+WgTAuH7yIatWoJvsyDpo2kY5U3yy7vVRDWOqiyoyk6L69zP6c/EUKRTzbvujfQJLwqCVqahYpl5hBm++5yCgO/FcDMvfRFQEmZrrCyYMxAu5FQKxPiVgZPCiJZKT6lO5FR3p2kLPJi+fT90G77eqHIcgdpGzgEwN0J2VYGYRNJ86YSX/df1MgY4gh8yslHzG17lU9LGZSlrrsnBw6fiLDrlSGXNIkHwX1LZGFjELuCfGz1A/CPRkBHRBgYqYDiDwEI+BOBKSKhXuSCr87sTOdG7Uz1x/cQL8GXrQqGF7itzIUXqsb9Y4Id1gbU8l+xFJJcDGDRNesVYtWZqxQJVuBZIRFvd5R7F7VI8ZMylIH/bIKwQ9RTRk1PIGZu0naW/ELJAVylZwnt2UE9ECAiZkeKPIYjICLEfDU+pQuhknxdBB5hfbWlZxrZn2fCGlMgQH+isez1QEJGCvXrKP0U6cFQmYqBotYsyU/vKtIzwwWqyH1Rquy5IkuVC1ZmQHf1aVtc1eaYYTkCgjLBvgrx010eQI/V7k9+wyKJpStQlYyP4yAOxFgYuZO9HluRkABAp5en1LBVr2yqVhFATpZeEACuod3ktyr3NJI6KxHzBukQzJq7VKlY4bA/8BvalDKhlVme1m5YTNFaSheLlrQtFjSlPRtFtbBSofNKy8ib8rwCDAxM/wR8QJ9GQEpMuap9Sl99Rwt3ZVy3cwoDP7e1kTBtXqr8lXJYuKP5Daivp3+q6nkEc7lp7Pnqd+SIaq0zMr/rwmVulyMNn78odkRa9UwkyJVSpMH5BIzJMpEx8QKxIwfRsDdCDAxc/cJ8PyMgAUCtupT2rKuMIDGRADB5CtWr6WLly5buSvlrhiu1R37DhDcjdcLbgjdAv1LU4XgckLslpYalJZrgOtx3oF42fFtSDaodKIZhT7ajHJycoRyTKaPVmImByO5xMvRWEi8OJh2xGoPjvrx3xkBZyDAxMwZqPKYjIAKBITalH9nhhVaxdxXLFyvHzwVMHh0F9HCCXcl9OL6RvagiK6dPWZPkLdY/s0Kyn7kf3bdmnBfPp7Xlpo88m+6eyNf2B/i5MQnv6CAYPHr3vEfqQxng6DlzsbGTaf6dWpT3176lNdy9l55fO9GgImZd58v787gCIhkzGj1KbX8yBkccqcsT3RX4hzbPxVGorvSE3GEfMicD5bR4T++odsP5lplqNbIbUTNKjYXMlR/OnuONm/9nFqGNDWLl4NURuYvF6hVs8ZOwdvRoEqTB7pFRlkVYHc0B/+dEXAWAkzMnIUsj8sI2EBAqj6lL5ZE8oYLAhdY8pZtdPFSFnUP7yyQk6omdUY9kZiJ54JC7z+fu2B2TAEB/vRotapFkiHJ21NoxYqVVqQG1rJGDepQhXLl3HbMcpMHEDoAxf/UPTvctlaemBEwRYCJGd8HRsAFCHgaGfNkQuHs4zR1V6LYO8pb2Yr/82YcEf92IO0YTXhjilU2oxapDJyfHrjZSh6wlN84lHaU4HpOSkxw9tXh8RkBWQgwMZMFEzdiBJQjYFksnOtTKsfQSD1EdyXU4WEdk1NRQQ+CYSQMTNcCd+XRH9Jp0pRpVtYmrYH/rsBNdHeuXLOeLmZl0YSYUUaFmtflYwgwMfOxA+ftOhcBy/qUUu4t566AR9cbAVN3JbTH2O1ciDCU/W/dvEHzFy6mTWtWmsGulZjpfYb2xhsaM57ah4UKVk9Xidm6cn88l+chwMTM886MV2wwBGBJgYp7yq69wspQLBzB3/Xr1jHYSnk5chFQ4q6UO6a3tUMcWf4fv0vKTHgSMUN82crEBK+JDfS2e+aL+2Fi5ounznvWjADXp9QMoSEHgMVzxZr1QjFrWDtNSyUZcsFuXBQC/y+dOyuswN1SGZYwyHWF4nP8XGQUB/678R7x1NYIMDHjW8EIyESA61PKBMoDm7G7UvmhfbV3P3399S4rqQzUGs2+es1tUhnYiVxiJuoGJsTPUg4A92AEnIQAEzMnAcvDegcCTMa84xyldoGzBSGDdcxRdqX3oqB+Z86SypBLqtSv/J+eb8UvoCqVKrGwrB5g8hi6IcDETDcoeSBvQYDrU3rLSUrvQ8yWFcVg2V2p7rwhiTHj7VlWUhla48tcScz6DIoWism3CGmiDgTuxQg4AQEmZk4AlYf0PAQs61MivoiLhXveOdpbMaxjH61eS3l514UfY86uVH++glTG/9JpUpy1VMbKDZsp6vmu6gd3Yc9mYR2siKULp+epGAFJBJiY8cXwaQTwY52ye49Qo9Ld9Sl9+iCctHlRe+xQ6hHBXYlaiDhnfrQhAGHZW39KS2Ukf7GDIp7toG0CDb3lWtyQ6BEdEysQM34YASMhwMTMSKfBa3EJAlL1Kdu1bUNlgoJcMj9P4nwETMV9WzRrytmVOkMONybdvmVIqQy5xAwvZQfTjgjlpPhhBIyEABMzI50Gr8VpCJjGFUFfDCr87MqyD7fcHzinHZqKgfFji/I6eOCuZMKtAkQZXWxJZcDFefxEBj0T2krGKNZNXHnnYuOmU/06tTnwX9VJcSdnIsDEzJno8thuRcDT6lO6FSyJyV35I6ll76buyvp1a1NUZA9q2aypliG5rwMEbElloBpAheCHqGb1h1Vh6Mo71y0yyqr4uqpFcydGQGcEmJjpDCgP514ELOtT9uvVky1jKo/ElT+SapbI7ko1qOnTx5ZUBlycHUJbUaC/vz4TOWkUJPtA8T91zw4nzcDDMgLqEWBiph477mkQBES1dgR4BwUFCm7Kdm1DzUqsGGSpZstASZsVn39CF/88R/dK3BX+5ne7GJW57wF6tkkH+k9oK3pUpeXBiPvVY01i9qypuxI1DvlxLQK4uxPemEKfrVlp9jlTK5Vx/MQpys65VvgZIKKAAH8q/9CDVKtGNUUbk/sycSjtqODyTkpMUDQ+N2YEXIEAEzNXoMxz6I6AZbFwT6pPeflqDsXEz6Cfyxyn2+V/LSJlpiAVy/Wn0plVaUCbftTn+XDd8ZMzoNzQmbClAAAgAElEQVQfOTljaW1j6q5EMD9qkbK7Uiuq9vvjnm7cvpPyCwrMGgb4+9MjVStLSmUoJWYgeNsP76K0y4fp9gO5ZvPcd6MUtQwIo77dIujx+vLqzsq9sytWr6OLWVk0IWaUc0Hk0RkBFQgwMVMBGndxDwJS9Sn7Rr7oUcXC8WM3+p1pdKbGXklCZolsiSsPUMSDUTRuwEBNoMv9wdI0iRM6w12JAvHpp06Tp2VXasUcpOXLA3sp71YeBQb84xqsXb4WtW7WRDZZUXosuKNLktbRrqwddKPmBfqr9E3Bkut3p7gwFAhTcFZtKpv/ACUlzDcbXgkxm/PBMtqYvZruPJgrzCH1YF68oLzSfDD1idDvBQWB/y1DmhJbW5XeDm7vCgSYmLkCZZ5DNQKiCr8oDOrJ1hKlpEwErfivZSi6eqyuP0yqD8QFHcUzd7a7Eu6zHfsO0KXrlwSyIT4IXNeD+KglZt+nZ9CsFYsFi6oUaYE1tcSVB+mlOv2EO2FK2rQez09nz9OIxAl05eF0m2RJnKPkxWB64r5naOrwEUVrQIxZ947tHS4DpOzTgvfpbhlza5ytjvgMPF+mv+YXFHF8xJetTEwwfLiDQyC5gVciwMTMK4/VszflrfUpY2bOpL3l1sqylFmeYMAPNWnda8uoYnA5zz5cO6sX3ZViqSRnuStBPmauWEKn8n4ssgiZLgvEp9SlYIps0Ed34uPo8GAlezPlTWFdjh6s89HsljR/5GRd7gVeHAYuGE2X6xxzNHXR30Fon8zvTvNiJpJcqYyk5C20+OR8ulXlqux50BBEcEi90ZpfUDjwXxHs3NgNCDAxcwPoPKU1AlL1KZ31w+wO/M/8co5eXjqUCuqdVTU9fgBf9IumsYP7q+pv5E4Q/BVifi5lEWIFIXdRtXIlpywZpGzY8tcop9JphxYhrcRHqcVMCSkTwcG9qP1LG4qPmaiJnF3PL6BX3o6V7WI3PRwQpnFNJ1CFcuUcSmVo/RzUPv2UTSIqF2/cNxSuT4if5ZQ7xoMyAloRYGKmFUHurxoBMcMuecs2QjB/+6fCvLY+ZdKGLZRwbqbgmlL7BB1uQLsWrlPb3VD9TN2VKJWETFpnx/uIpOzKoz/IxkIkPkvfmKGry9ByASBGkVOHUtZjabLXJjaEm+8F/4GaSLvW+1knvT21adCS+rzQ1a5UhtZ5sNe+5UbQkD49rHCSS8zeil9AVSoVlufihxEwIgJMzIx4Kl68Jsti4WJ9Smf/KLsb0pdiR9Op+imaluF/sjp9+Opi1eKdmibXqbPoroTFAoXiXZW8AeLT640RdKnRQcU7cYW1Uith0erqHjx5MqXV3KgYG1Ny2LfccBrSpyfZI0hdxwxUdQamCwvLeoniY2NVr7XPoGihKkSLkCaqx+COjIAzEWBi5kx0eewiBMT6lPhB9sVi4bCGnK6xT9ONgMto7jPzqFWzxprGcUdnlEqCZRTuSlgqXK0zh6D02f+bRrfL/6Zq+1qJj6NJuw0fTBebHXDUzObfYUkaX3+qrMB7y0GQbDB09Uj6s5bjuDZbC0D2ZNjll2jupHFFTSwJGmLYXpzXT7U7XxxYq+W4WVgHoXA518ZVfd24o5MRYGLmZIB9eXipYuG+Wp8y/LV+qtxUpven1NmKNKfzHGoV4hnEzB3uSlufNy2JFxgT8Wb9yo4WLEJ6P3oRo865r1DcmGjFy9ux9wBN+WaS4mB8y4manu1KiZNnSM4PkoZ9Dls7SlZig71NlP+pIS0f9p6qmDrcyahB0QIx44cRMCoCTMyMejIeui6uTyl9cFpdRRjV2VYbva6cpbty2KABTgvml7NmrQHn4hxtz0eZWYTkzC2njV7EqMmlTvT+68oD2mFNnJU+RVP8I/ZZN709rZpprmtmuv/Ms+ep3weDNBOzysdb0uZ5hYXqxUdufBkstwfTjgg1MvlhBIyKABMzo56MB62L61M6Pqy5Sz+kT24tka3bJDWi1A+S45ld18LUXYkYHqNYRw+kHaOxX47RbBGq9GMIbZn9ke6Agpi9kTbO6cTI1sL1wAeuTEcWO8T5dZnYh643ydCEYUhmd1o6bZoqYsaB/5qg584uQoCJmYuA9rZpLMmYp9SndNc5QMx0eFKM6viaQlfaGMlsNHftCfOK1Rggd+Gq7Eql+9WDeGBOZxFjrG/ctnF0s/plpVsrai+HGNkaHLFfPWYPpPyGmarnR4JE/4BxDu8nXMp7Kq1SPQ/22ePuSNUZqN0iowRrWf268ko8qV4od2QENCDAxEwDeL7SVXQTSNWndKbmlLfhOyZ+Bh0N3k55935XvDVYa94fN1dVXI3iyUw62HIRiYXjxexKd7sr7e0RpFiP2CYpS40WbMW+ehAjrcRda9bw/WeqUkKvd6iRg5qW0GqL0xDPhszkhVHzVJWjYmFZPW4rj+EKBJiYuQJlD57jH4vIWiLyEwRAIfzKb5zqDnVM/HTa969PFan/I+h/bIvxqjLu1K3yn16WxAzuSrE8lpHclfb2CRda+Pj+lNf8hGo4nC2ZoTUGEcRoUa93VBEWgKKFMMGKVSe9A62KnyMLX5BAZCjbqo9paxCcQaeC/qoSHDDmobSjhDJfSYkJstbJjRgBdyHAxMxdyBt4Xqli4RHhnahFSFMDr9ozlgbryCtzxlL2oz/I+mFCAedBjYdqLkOjBR3cBxQST9m1V3BXQu4Ckiee9IydPlcoh6WUDIh7BPGZ/dzbTsuIBTGaunuKKncmiFFoTk9N2l7Y56BpE+lY+S8VYxR8rj61DAiTTZjU1IzVo8KBUF0iK4smxIzypKvLa/VBBJiY+eChS23ZW+tTuut47WWJ4Ydp8uL59CMdoluVr0paz6BZ9khuI3qhbWe3WMqAmxBHuGUbQfYEVRmM7K50dM5qyh2JY4L41D3ZgT6eK88i5Ggttv6+OGkdffT7PMUJIlrce6Zrwb2MiZ+hyJolvjjQvXvU5/musreOKgxvLJ4nay5otNXMbkHzYiYJJZ8sP1tyMzJj46ZTy5CmTq8wIRsEbsgI2ECAiZkPXw0mY+49fAR9b9ixnY5cOGq2kMqBlalji6epQ5snXB5ThoXAXQmXD55hgwcIllJn1a505Qm4m/jI2SusVscfSJFNzkCM3mj/Bj0T2spqeBCtj5O3UEb2maJyUhXLlqdKZStQgL8/PRPWyqp8EvpMee9dOv7ATrtZorBgYe6BTwygZ0KfoOMnMiTXYG/PcDHPXr6Mdl/6im6V/81qPhAyzNH53x2pd0S45GcBpAyPn5+fQ3if7hJBKxMTvOIuO9wsN/BoBJiYefTxKV+8VLHwQiV+z3JNKd8597CHgKg9dij1CNWvW1soJN6ymXNd17BiHUg9StcLbhQtLdC/NNWsXo26d2znlNqUID7fB+2WLU3halcyyEpS8hZalfER3ayeZTMWUbSoRv+3r5V7VRxj7fdr6Gblq0V7HdRoCIVUbE7zDsTTT5mXqMYfjen1l4ZJxqWhRNQn+zfRtbJn6V7xu2ZXp8RvZSi8VrcisgR9Mjw1qz+s6kN2PP2UID6bfTXHrH+F4HKyX04cWc048F/V0XAnNyHAxMxNwLtyWqn6lKhTyGTMladgzLlMZU9aNGvqEnclLIUJn6ygn8scF0iDZdwXLCXBWbXp5ad76+7GlUt8RIvQqHbDdFkDRG6/PXLc6hI80bQR1apRzerfRWvq4T++sSJn1W7Vs2lRxf6Q/WsaK9alZjeBSO0+9zWtSf/YbC7Ezg1uYjuGEevIzy8Q+hw/cZIyMzOpY9s21K1zx6JxQLAbNahDFcqVM8QllyJpcMfDLZ8Qr1yA1xCb4kX4FAJMzLz4uOGSStm9pzBGSLCKhVG7tm1U14hz9FbqxVB63dZM3ZXIrtRyL5SAA2tQ4rFFstTfkY3avmw4TR0xQskUstraIz4gZaYWIVkDWjQSPyuwBK3csJlAsP6slkV+d4oXtfS7U4xK/FqGmv/rSRo3YKCkqw6uxeyr14Q+Af6lBStioL+/TWsidML2lf1UILsgZIMaD6GtZzbRljObKCv/kuRW5FoFv9q7nzZt2iwUnzd9qUvasFlRfJkaPNX2Ec/hrbkLihJX1I7F/RgBVyHAxMxVSLtoHq5P6SKgPXAaU3clrGOQPXG2u9IUJjUB+NDnesH/FYG4OOOBJSvfxJWKORBgXjFYm/UHhODjjVsFEgp3or1sUBDBCj81pOFdBimO0zLFBO7HhHMzKfjhQIp7cjpdun6REo8ttknITPsGHq1DaycutbtvnN/M2XOt4rS0EDOtL3ty+/cZNJTwAsKZ5c74FPGYeiPAxExvRN0wHtendAPoHjQl7gfkLtJPnSZXuSst4REKWK8co6ryASxnU9pOlU1axKD3y39bmrAWxK4hZql1syaqtb6UHDnW8N/3+siyDIrjwnI1q5s6SQ7RhRneq7kwnFxCJs7tSKcN42/f/Q1NnDyFTqV9awaFO4mZ3DNpFtaBvt66kcoEBVpldcodg9sxAq5CgImZq5DWeR4mYzoD+vdwct/AnTO7fqOKcYVidiWsBd3DO+k3gcKRoCO2p+LHioR1TadwVCAbbUVCBrfdjZoXJGPXSl55gJ4OflYo6QO3oDMeuElr1A2mrhv+icOSOw/2GR8zUbHF7npBAeX+9RtN/WYSpWWnyp3OrJ29WqDZOTl06vRPFDdjJn29NdmcmCVvcavOnqPNwlIcNSjaat2O+vHfGQF3IcDEzF3Iq5jXCPUpvYW4qIDfI7q4210pBRKsLZFTh1LWY2mqMYTVbEXUB5KB8iIpG/3ONMqsesChQCrcozWzW9K8kZMVEyA5G5iz5EN6+rmGNPjLl+U0N2uDxIfo6rGKic6iNavow/w5qokvFgE9tPf6xFOjBnWt1n0g9Rj9/PNPdOC7g2YB9CBsaqQyFAOjoQPiKQ+mHRFqZPLDCHgCAkzMDH5KlvUpobrerm0oa/EY/NxcvTzEFgrK5pey3OautLXnjdtTaPb/ptHt8r+phkUgLNXGSwaZi8KoGbV2ySYmEI2t9UsozdeZnMFlOyM5nl4bMFAVMQNAQYcb0K6F6xRhpbXWJSYrceUBmtZyJnWQ0ERDfFnWhfNWyvkgbIjJUyuVoWiTKhu/Fb+AqlQqrFjBDyPgCQgwMTPgKZmWwMHyuD6lAQ/JAEsSNengrgwKCqR+vXq61V1pCxIIu8Kao7YcEsYFkepxd6TggrR8eo8dRyBlSsd3FFel5oix12//+pL+27obTd2vzkKDWLOFPRdIWq5sranXpBGUUXuXmiUX9YE22tQnp9sgZvvp6693Uf06tc0IDkg3xG0hWKv00Wp9l9u/W2SUYC3j+r5KT4jbuwsBJmbuQt5iXqn6lH0jX+QvE4Ocj5GWIborU3btEUoluTq7UikWc5d+SOvvJSgmTqbzgJh1zn3Fqh4jLFRDV4+kP2tdULosoX3ADzXpg+h3bbpIlQ4KuYrrjU9Rl1rPqSZmsA6Orz9VkX6a1iLo2CdcmcsHL5LWVUs9QqvWrLOSykj+YgdFPNtBKUxCe7nEStXgf3diYVkt6HFfdyHAxMxdyBORaPH4aPVaysu7LrigjP4j66ovVDcei2GnRqxM8pZtgrvSk1za0C5LODtTttq+1AEgLqxf2TE0pI+5O0prUoHeVjNUFgh6Mq9QYf/wbFV3CXsdVmWSojgzkN9Pbi2RXcpJamEgqdviVksmRSRvT6GFCxdZSWVoIWaqwFHY6VDaUaG8WFJigsKe3JwRcB8CTMxcjD3Xp3Qx4B4+nam7skrlShQR3tnl7kqtlg1kKY79cgzdqnJV9WlIudmQVBA+vj/lNT+helx0bHq2KyVOnqFpDLEziGJg298J9U4Tjy9WNaY9l6KtAY+fOEVDPx1GN6tfVjUnLJKhOT0pPjZWsj9izIaPjtFVKkPVQhV2EuIus7JoQswohT25OSPgPgSYmLkAe6n6lJ5gGXMBNDyFDQREdyXKyEBp3ZPd2npkZUKA9YNh75llUUIctv/ywYq0wqTghrjq1hlJushnwHJ1o1oW+T9UzKr8kdzLDpfih68uVhxQjwQAJQkQputBaaZFvd6R1HhD5uWebw/TkqXvm0lO5BcUEAhb947t5W7N5e1i46ZTy5CmLn+ZcflGeUKvQoCJmZOOU9SRgusJmZWIBeJi4U4C24uGNXVXQnuseUgTt2fgarWY4Xi0uNoQc/WC/0CrwH9YiYatHaWZmNlz4Sm9WljTsdMn6OeH0mhr5ial3YX2tX5pQ8vGzlVMFJGdOnDBaLpc55iieeHObfP7CzatZbB4/vyTtVQGipejXFSrZo0VzadHY7l38ukuEVbuVz3m5zEYAWciwMRMR3SlioVrrU+p4/J0HUruF6Ouk3rpYEZwVzobWlHS4nSNfYqTACB8+v64uVaaYxiz/5KhdLVauqblyxGvVTIBrEgH7vtcFTErlAWJpT7PhyuZsqgtSFTsp5NkV1gAKWt85T80L2aiTSJoSypDS/FyV3x/cOC/qivEnQyAABMzHQ5Bqj6lq4pC67B8HsJNCMCSumLNehLdlcMGDXC7dcyZUGTnXKNJ78+mY8FfytYbK/9TQ1r48mx6tPrDkkvrOmYgXWp0UNOyw7JesmktUjtw9JqRdPDW14q7g4SumbJIsbXMdCJkqr69aqFgtbvzYK7kGkDIIMvR6d8dKfr5KLvzIfD/5I8/WGmBQSpDrRvTFcQM38v4bCXEz1J8DtyBEXAnAkzMVKIvqvBDsgD6OAjKNoLbSeV2uJsLETCiu9JV24eVa/Li+fR90G67WZoIgK9e0JBmvDLOJinDmrVKcWi1UNnCDfUjl/z4nqJgfEckVMkZAecde7+l9Qc30O/3Z5t1BSlr/q8nhaxPKZV/y3m+2rufNm3abCWVoaVGppK9qG3LwrJqkeN+7kaAiZmCE+D6lArA4qZmCMBdCUKGN3h3ZVca5UiQDLBx+076ZP8m+jXgoplr0+9OMapR0JA6tniaOrR5wmHJJBCQHrMHUn7DTFXb08NCZWtiWJTm71kgxMDdK3HX5vpAlB65FkJv955kl4Sq2SCwBkb5BTeE7gH+pQXrWMXgcrKHk5LKgMULMihRz3eVPY6rG/YZFE2I02wR0sTVU/N8jIAmBJiYOYDPsj4l1NXZMqbpzvlUZ1PLKhJAvN1dqfRwkVkpkgaxL0r8KCEOIAiLMucoLvkEq9y4phNUu+Pk7BVuxRWbkulg/h5JC2GpS8EUXqsb9Y4IV7RnOXPr1caWVMb+1KPUKqQx+fn56TWVrHHkukGbhXUQskjLBAXJGpcbMQJGQYCJmcRJiLE/h1KPCKVu4Kbk+pRGubKesQ5Yx0ThYKNkV3oGcupWOeeDZbQh90PZIrYgZUPqjVYk4qpuZYW9vk8/RchivP635Qr/Fuhfmp4IaWxYQoY1Ii5wz7eHPE4qAxbqqEHRZvIeWs6P+zICrkSAidnfaFsWC0d9yqjIHl4djO3Ki+YLc4naYyD0cFdCnR8SKfw4HwG47GA5W3Miya7rUAx6H/jEAKeRMrkWHeejon0GkMlvDx2mb787aBZEb08qw9H+Hf1d+6pJCBs4mHZEqJHJDyPgaQj4NDET61NCHRoPFwtXfn2VfMkqaat8Je7rYeruRlktdle67ywgF7Fhx3Y6/Mc3dCeowGwhJX4r4xK3oTfd8wOpR+l0RoaVer4cqQxbOLgCHw78d99nkGfWjoDPETOpYuGswq/9IvniCHgrRx0+PHBXerNEiit+TPW8Qwh4h/ip6aM0dk3tejwNK3v7tCWVYfSMzG6RUYK1DBnz/DACnoaATxAzrk/padfSuOs1dVfWr1tbcHe3bNbUuAvWYWXeRDR0gMOnhjiQeoRWrVlnJZWhtni51rskp78oLMuB/z51Vb1qs15LzJiMedU9dftm2F3p9iPgBbgBAWiYzZwdb1XWSKvFTA7BktqunH6H0o7SjLnzadOalW5AjKdkBLQj4FXETKpYONen1H5JfHUEscSWqbuye3gnX4WD9+2DCNiSykj+IoUintWneLkcsqUEesQMX8zKogkxo5R047aMgGEQ8HhiZqs+Jf+AGuaOedxCTN2VCObnGEQivX88Pe5S+OCC8wsKaFvKHlqS+L6Z7ER2Tg4dP5FBz4S2UoyKvXuk1x2LjZtOLUOaEv8GKD4e7mAQBDyWmIn1KaGkXmgVC/Pq4GuD3BevXgbclSvXrKP0U6eJsyu9+qh5czIQgCTGd4cO0wELqYwDqccIiRQ1bdQvtTe0XuTL3hxPd4mwcr3K2C43YQQMg4BHETOpYuGswu/8u+SKL1Pn70J6BtH9ze5K+yfgzXfAXXfP6PPCjXk64xSdv3DRTA8MpaZgLQvw93f6FkzvnZw7KAb+p+7Z4fS18QSMgLMQMDwx4/qUzjp6fceV86Wp74zaRhPdlShCj1JJ7K7Uhif39j4EQMxSDx+iKpUKxZLFRyrwH21RJcD0QWWDDm1aCbU5tT74fsHjqPwTXt7hRUmIn6V1Su7PCLgNAUMSMyZjbrsPXj8xvriF4OBLWYKgMFd38Poj5w2qRMCWVIYpMQMhW/H5J/RzmeN0NyhfKNaO6goCibpTjO4/W4lefqo3de/YTheC5mgrEJYNCgyi4YMHOGrKf2cEDIuAYYiZZbFwrk9p2Duj+8KOnzhFO/YdoIzsM2Zf3mX8ylLEsx3o8fraRCJN3ZUolYS7xYHBuh8jD+hlCEBcduHCRTalMlCfdGP2arpV5ardnRf/tQzVzG5BSyfPoEAd3Z9SVvo+g6K5FJqX3UNf3I5biZllfUqYy7lYuO9cw5/OnqeZK5bQqbwfhfqGf5W+abZ5v9vFqNTZStQyIIzGDRiouNiz6K6Ea6N7eGfqG/kiK4H7zvXinWpEQJTKOLz7KyoTFCSMhkxN/Pvlq9doRc67sovG47Nc65c2NH/kFMWfY0fbMCVozcI6CBmk4nod9eW/MwJGRMDlxAw/lsh8S9m1V8CD61Ma8Vo4f00gZcOWv0Y5lU5bETLL2eEaeTS7Bb3V73V6VEYmGEolJW/ZJrgrmew7/yx5Bu9DAARs/eYvKOnjVVZSGXOWfEQH7vvcoaVM6nNc+5c2tGrmfMWAyYlhxecdFjMQM34YAU9GwGXE7GTGaRo/5U3Ky7suSBFwsLUnXxtta0cdw9HvTKMzNfYKMSlyn4oZjWnZqPmSb9zsrrSNIiwckD7Aj634IKOudbMmmt3Ecs+O27kegev5BfT9yQzKzzcv5v5ItapUq0Y1uwvCfUnZvYe+//5/ZoH0kMqY+NHblNf8hKoNlc6sSm+0f0OxBpocYoYXsoOpaTRz6husu6fqdLiTURBwGTHDhwZlMj5bs5KqVq5klP3zOlyMAH4sXnk7VjEpwzJhOQvN6UlzJ40tWrWlu3LYoAF8v/5GxzQw2zIOSHQT17jRkF4b8AoTNBd/Dpw5HV58Nm7fSd/8+J0QlG8aIoCA/GK5AUJ4QN9uETbPXciyzLpEP6aftJLKmP2/aXS7/G+qtxCS2Z2WTpumur+tjgj8t8wglUPodF8ID8gIaETAZcQM64TwH57P1qzgGACNB+ep3Q+kHaNx28bRzeqXVW0Bb9wLey6gnzIzi9yVwwcPJNazM4dTbmA2CBowfaX5YOoTEa7qTLiTcRAAKZu8eD59H7TbbvyXo3OHZWz3nt1WRCdm5kzaW26tIku3JTpBhxvQroXrdAetW2SUQCLr19WWLKT7wnhARkAhAi4lZrCaxca9KQRi4wPEj+8hoOWL/a9cP/rrxwC6dawEhTz+b86utHF9kpK30OKT8xXFAIGcjWkVQ9076lP/0Pdutvt3DFIWEz+DMmrtkk2cSl4MpiH1RluRcmRk7tyxQ/iuRmUV8XlqWA/VbkxxDPHlqlGDurqBJgrLcuC/bpDyQG5EwKXEDG6nqEHRhA9Rv5d6EtxO/PgOAnBjdpnYh643yVC06btX7xPI2J30ElS8/m1q+chTtPzNOYrG8JXGcEHFfTNJESkTsan0Ywi9P26u7llzvoI99uku1xk+W2PiZ9Cx8l86TKaxPA+puC9bUhltRz2v+PNrOV+psxVpTuc51CqksayrIQfTQ2lHhVCZTWtWyhqTGzECRkbApcQMQKDALLJnxIw5U0VpIwPFa9OOwJlfzlH/5YMFaQw5z+0TxQVCdu+mH5VqeYuKVb1L95W5R4FH69DWGUkuEayUs04jtek6ZiBdanRQ1ZKK5frTf0u+SmMH91fVnzu5j5ihTNKs9Cmy5StMzwqxm8iW7Nvpv3Qg9ajwJySHrFuzmjqFd6Xaj9QQBGL9/Ii6vNZfs8Us4IeatO61ZbJfAOQQM0E0OiuLJsSM4mvICHg8Ai4nZrCatQuPoJVLE+j1uOlcbNbjr5D1Bmx9kUJIdtjaUXaJGdyVgnUss7hAwko0vkUlappnbjIxk74036dn0NDVI+nPWvKIr9Qozor/8cJrLrkly7uPO2/5oPi3HmWKTMdFiMCeSqtUwwyXZvE8f/qz+mWqWLYCPXCuBh38PJUC+xcQBGKDs2pTWM0w+uLQLvojtJC8qX0qH29Jm+ctU9tdsh9e+FuGNGXhaF1R5cHchYDLiRk2ig8RMjPr1alNb81dwOTMXafv4nkRA/PivH5UUO+s1cx3LhSj2+nFBUJWvOYdwUIGYib11E1vr0oLycXbdfl0c5d+SOuKvSM7vkhqgfbif+RYLly+aYNOKGbEnvc7TXeCCuUqiv1ZWKqo7J8VBJLTOyJcttXI3jb1IOSwlpa6FCx8Npv/qzX9/r9bdOybHyig142iqeGCDM6qQ5frHFNlmcNASDpAZnV8bKyuJ4fEspWJCZyRrSuqPJi7EHALMRNjzRCouTDxA0revI0zNd11A1w8b+SkEXS69q6iWeGuvHmwpPC/Td2V9pbV5dqrFDcm2sUrN/50g6ZNpCPVN2taaIkrD9Br/80uSMMAACAASURBVJ7MSQAqUbxeUEBj5s6gH4p/azfOD+7DCj81pJefRh1JbQkXO/YeoMkHYzVJWGC7sJZCn+yx209Q8V+L0cHvD9P9HcyrcYDA3X+uEuU3zFSF0P1nqtKiXu/oKs8iBv6n7tmhak3ciREwGgJuIWYAwdT0DP0ZPBwfYLTrof96YNVZ+8ciuvH9Pbp7oRgVC/6LSjS+TcWryhOahVtlfP2pmn/M9N+Z+0d0NjFji5n9M1YTgK9HNiyycBPOzlRtxRJ3JRKzJ+52olPH0+my3wUq2eS21aax5rv331ScYAIy2ub3FxRZy+TcuZTdewll1xLiZ7n/Q8grYAR0QMBtxAx1MqNjYovKZ0CDpsNTYZypqcOhGnUIFKr/eN2nlPLtHrqvxk277kpbe6iS1opWvT1f9xgdo2KmZF1a44wEq6XCjDkl6/P2tiDGarIiC4PhP6CKwQ/ZhchWvNqOfQdUB/6LE8LFiHUgY/o/93rRZ9uSqfijd6hEgztWa0LboNQGlP9YJt0tY15VwNYGxASD+JiJity3cogZXuyDAoNo+GDO8vf2z5iv7M9txAwAo65ZRHhnIWBTdG9OGDvKTDfHVw7Cm/cJ/br3lhYG+0IMNvfPW5SYnqBYZFYP64I34wxr5Ce3lsj+sZTCQmnGnDfjqWRvyIqce2iW4juNOaQqWohzIy7z27Rj9OnubfSL/w90r3ihZRkK/vfdKS7Eq4VUbE47rn+mam5xHtMYs+hKE2jWWwuodJc/BYu21IPPYsuS7ejbv750OC8SCx7JbURKSZlc/PE7gux+U701uX25HSNgRATcSsxgQUFmplh0ViRnHMRpxKuibE2QQ3kvcRkdSj0qWRt1cdI6Sjq/VLY7BD8EgxoPZXV6O8cAi8rQT4c5/KG0d5JVvwulzxYnKDtsbk1ahJMBn//J6rR88CKzGpYgZYPfnEhXK562+zmBe//+sxU16YvBUgrSh9JdQX5l6dLi2xTYP5/8CvMVrB7M+WT+c4KsxvHTJyin3E9WrlQQThCyjs2fog6hrRRZypRcqWZhHYTfkDJBQUq6cVtGwLAIuJWYARVk05hayUTrCpMzw94ZuwsD2V65Zh3BVd0ipCkNGzzQZqYUYmPeP7xUkM+wVcwcX+4gZQOfGMCkTMaVeCl2NJ2qnyKjpXUT/DhPaTtVcYFpVZN5USfo8728dKhktrHcbYLoRFePLbrjIGWj35kmu6YsLJ34HJnWxZQ7N1yTgcfqErW4JHT5/UouFWwobZeYoU+PuyOFu/Llnv10veCG4IoNDAgomhayIHJFZOWu1bKdaSKZ2jG4HyNgNATcTsxAxJK3bKOkxH/e0pGpuWPXHlZx1vG2iC6RzLPnzUbFG2/rZk00ZUkhK2rn7n1m7kq4p+XEh+BHbcnH6ynt8mHJN+7wWt10kxXQEU6XDYVz27H3W8rOyTGbs0K5cvRESCMzCwsa/HT2PPVbMkQxSQABbnKpk1OKSzsLLATbo/bq9+nWWmHPhLbWdKeVrBlZkVNUVlswnaft+b40d9JYUkrKMAbOD1Y3pVU10BeZkpWDKlPlgMqUduogXTmcKyTjoOJGifp3qGSTW1aWM5GYiWLE2VdzCBIhAQH+9J/QVoIlTesj5/sDvx8H045wiT+tYHN/QyHgdmIGNGA1S4ifaVZ8ljM19bkn+PFa8vE62va/7cIb9Z0Hc80GRmxJiSsPUsuAMBo3YKAidwPeVkGiD6UekXRXKt2BGNwc4F9aCO6vGFxO6RBe0x4/zh8nb6EtZzZJWkJgYYHuVM/HIwUri6lgKeKd5h2Il11hQW1gtrvAFu/00Z+/p5/LHLdy84E0lDpbiR7za05Th49w+j3SorpviqGozwc3/4f5cxRbv9RIWSD+q2Z2C/rXI0Tph04KFVn8n78haAjeu0l062hJQV8Q2oIlG98u0hbEXP3KjqEhfXqYXYP8ggL6cu8B4d9A0PxLlyY/lAxQ8cghZvidqFKpkhBjxg8j4C0IGIKYSb31wArzXGRfiujamTM1Vd42Jen7oq7SO9Fv0qPVH7Y7I9LThRIol7IEQoaapxAM5kcfBESLSWbVAw5/nEHQ8MNqGVgN68V7WxMFMVBbbmKsFj/MDe88QdOGjHY6gdEHHaI5Hyyj5F9XOtTtAkGr8PO/acR/hjjVPasXMYM+HyxQkVOHUtZjaarggg5dqYuFQrGO3JpwXd9/thLVqPov+uarw4I0BrQELR+RoKEihyj+fH9eOZr65HQhdkzqEQlazWoPU8Xy5ahCOfsZp6o2S0TI5p8ZN8nspV7tWNyPETAKAoYgZgBDSrmZMzXVXxMlpMx0lvI/NaSFL8+2Imc4i8NpRwV3ZVBQIPXr1ZPLn6g/Hps9Qcpi4mdQRq1dshX8QUDqnHnKipzhDsTNXyS4iW9Wvmo2J7L6ahQ0FOojIk7IUx6Qsk8L3leUeYoYxYRIfURNQXg3pGyn67fyzCBDxuTN6pdVw4gXo/4B44Q4rTlH3pKdFCM1IQgXyHb67SN0q/xvVgQNZB6YPFCpJP2Rc4XOn8wuspLZ24ApQSt5//30ztQZ9HRoa7t7huDuxi9SCHexdXOETNRVjZFlR1FYlgP/dYOUBzIIAoYhZnCJ4ccfbz+mD2dqqrspyBLbV/ZTh2/NlqOLP/KrZs4X/iS6K1N27aH2T4VR9y6dqGWzpuoWxb0cIjB48mQ6WvlzxeeGH/YX/aIlC5DjRxGSC2YEvNxD1KiBfj+SDjemQ4OkDVso4Zw6IVWtZbyQqLL90Nc2XacInodqvtoHlktYoI6nn9JcVksUYa5ZvRrtTz1KsF7hQdwXiNL3J05Rzcrlae0X6wSdMikrmb19FMsqQ49fbk1Hjx4VLFWQwGkR0sTh1kFq8eLRuEFdXQjaobSjNGPufI5Fdog8N/A0BAxDzMTi5ju3JFu5xeA2w3+cqSnveuGHuHNcL9VlU/Aj8UzxcMo8c0ZwVyJ+o13bUHZXyoNfdSutNQ+9WYMMd1qLiw93eki90aoye0HKEo8tshuzpyUrEhem0o8htGbKIsHCufvhFarvEDraIukgRvg8nzqZLsSFBtetTD/V/0YoWh58uY6gk5ZbzDzJBOO18A+jf90tRz/SYbp081zRWv/6625R0k+VypVkEzQkayCeFC8GtixocuLLhHCKrCyuGKPptnBnIyJgGGIGcFCmCY+l1Qz/xpma8q+PWsvCX7l+Qpkk1K58sFR5GjdsCLsr5cOuueXY6XNpT8WPZbswLSe0ZzXTvDg3D6BFwFVcuhqrmRxSJpIhaIkhtkvpI5DGuqOpz/PhFDcvgbY+tETpEGbtLcuWZedco68gafHH7/RJ8mdFcbuwXs1anUB/Qb+s8hU6nLvf5rx1gx6jGrmNBNL337adrQiVmF2PAeRa0EDQjp04JcQ2WrrT5RAz07J+mgDjzoyAwRAwFDFz5LaMjhlPeDPjmpr2b1G34YPpYrPCzCg5DwgZyNid9BJUvP5tIfuq7C/1aNfCdXK6cxsdEIBFKHx8f03uMCwjJLO7R0leyIVOq4Ar5lFqUYQFc9jKMZJkq1JAZarzYF3ac35X0RYQ2wU1fmQ/y32Q3dj6Vlea9upoIbMWGZkf/T5PUQyd5VymZbUsrWSmXgeQ3XtE9M2P39GB+76wW2sT5LF6QUOa/so4wd2KR0oWA+7F95a+L/w9IryLrBc7EDS4XCEB858w+VIbUnHJcnHndoyAkREwFDEDUPbegpyVqSnn7czIh2i6NiVuzNsnitPt9BIEYoY4k2JV7xalw0spkXsKBp64Tui59V8+WNGPutQ+A4/Woa0zkpxWS9Rdn5Vek0ZQRu1/SJCaMwa5mPufebJFT2G92lbmfTMLJghZZIPe1Lba0zR4+8uUlV8oyio+IEXFbpSyK5ostsV6ulfoJcjUiI8e1RuCz9WnmS9Mp+9PnLSykmEeWNCSv0ihiGfbC9mS+M7YuH0nrT+4gX4NvFhU9gltxSSRji2epg5tnijK3LWUxbDULSskaMsE1yksaO3atnGozC9a9h6vX4dq1qhGgXa00MTA/9Q9O9RcBe7DCBgaAcMRM0dKzpypaf8+OSJmpu5KaBWVqH9bslAxsrY+fHmplYCpoW+zBy8OxKzvygGaMvuwfViFtsWt9jpi9tSwHpqtiWKAvS2JB8sXHMuYti41uxEEj6EttzVzk83bJmY93n4gl25Wz7JyTYu1I0F2oEFn+Wip3oDknSppralb2NNFsWSmVjJY0PBIZeLiuwPuzfyCG2ZLqhD8kE0plSJZjOoPE6QxTPX0MIhI0FAJpG+vntS314sOCRoSFOB6JT8/m2K1kOzZuGUbJcTP8uBPPS+dEZBGwHDEDMt0FDtwMuM09X5lKH22ZqXigHR3vfG78gJK/YhBxRs6RKK7EhYyEDNbj7N/4F2JhyfMpUdZH+xTTRyVEnzc8fkBYRj0dqxmi5kSKzAqCoz9cowgWwErWUyL8ZR3K5cSjy22spLZwq9E9gNU62IrqmAhlNy6WWN6IqSxTbID8vRmypuqrKfY49Nln6a9+74x04AUrVHPhLV2iqaYXAuaHIIm3jFxzPz8ArJcN4RlgwKDaPjgAUquL7dlBDwCAUMSM8vi5lJIcqam7fs1aNpEOlJ9s9DAnrvS3g3V+wfeHT/oHvEJNFlk+Gv9VAuLisNApDRuTLSnbV1yvWL1g93nvqYbl/0Ei5kj0VR7G1fi5kXQ/8KL02lAm77UpVY3SbelHJDDsl6i+NhYOU3N2mD+RZlzHIromnaClRuxooElipllsBdaye4RylQ5+3FE0EDMVqxZT5DfsWVBs/yuEMbcc0AoS1ZYPq4u9RkULWSLt28b6uwt8fiMgMsRMCQxAwr44EWEd7YbPMqZmtL35b3lSbRs32K6+XNhzJgtd6Wt2+bN2X0u/4QpmHDu0g9p/b0E1eRDKIRdLVbI7vP0B0Hwa79fU1SOCu4/PLBgqXng4gvN6SmbJCEg/U5gPu3K2kFr0j9WM6XQp3PuK0JZKDUP7sPG7NWy3NsiKYt6vmtRpRRnW8ns7cmetQv9EJKycs06Stm1l7qHd5bl4kQ/UQvt3XffIxaWVXOruI8nIGBYYob0awSP4sNn7+FMzX/QgaVx49bPhbfROwF36b5nc+y6K23hCjfmey/PdlkRaE/4oLhijQj8Hp4Uo0pyAesTtbAs43xcsXY95wApW5HzrlmWIIiVFhFXFOpe1Eu++n/m2fMU8/UIunDfGdVbE9X8LetJKhkQmZPrDibTWf8f6M4DuZLxaiVOlqcyd/1p8ZwZRaEdrrSSOdoP1oIi51JuVATxr1i9XogXa/9UKPWN7CFk3tt7QOoieven4dFD7WqhOVoX/50RMCoChiVmAAzp0G/HTbKrNJ+Xd526RfYR3rqQ/eOLD0jsR6vXErAABs1DmtCu71IdimJKYQWrywv+AyUV5H0RW1fvWa1cAixK45pOoO4d27t6ybrOBxfe4pPzJS1juJslfiujOPYKBOnZW1E0dYR8y5VWkgxQULfytX9P1nwmiLHbse8AgSxevnpNIDl4fv75Zyq4nksv93yhyEoG9++OvQeoVbMmVNNBzVtdD07GYCJBkxKWFQnaitVrhQojfSNftFn/0rS2sj0tNBlL4iaMgCERMDQxE0ULkxITJMETYxGg/tznlWiaOfUNWaVBDHkSChcllkqCgjfeMKXiLez9yElNB02lF/xfMUvfV7gsbq4DAmPiZ9D+kptla1lpUbXXYbm6DSGn8gFcdnjkaoWBlDW+8h9VRdq1ZEdijc6wPNvTJQN+SCJBxqWRrab2lP9NCZqtck8I/K9SqfA7T3wwJpEfW/l1+zTyQO5EwNDEDMDIFRFEpubQMeO9vmyT6K4EIWvRrKnwplzVjukf5Oz9w0vt6irhx6vUpWDqWv15JmXu/DT+PTcsJDi3j39eRrcqX7VZCQDnBqIy8IkBqkoNGWCrZkuQW/lAEHK9UYr+rHnBbpUEEFYU854XM1EVUQEJivtmkqq4Nr0tz6IlzFK9HwDivmCttWpU8yhikvnLOTpz7jxVLFfOqm6rPYLWLTJKqA4D4sYPI+CNCBiemCH24GDaEXp7yiTy8/OzewbenKkpxtwBALmCjf+8TWbQik3JdPiPb+hOUGFBY/EpnudPD9+rTX07/VdS28gbL72n7Ak/tl8e2EsH8/dYJQTApQdNrd4R4TZlFzxlnyK5UFL5ANZd0Xp2q/xvZlsVRVH1uNOwXn4TsFFxQgbi/d4fN1eXs3FkJTt+4iRBmw2ljTzxcWRB27l7nxBvLHoGYqe8yYH/nnjQvGbZCBiemBXGkEXJtoQhUxNWJVvuT9nIGKChqbsS1rHuXTrZjbdztGS4OX4+90+5mIAAfwooXdrqbdXROPx31yIgdW6PVqvqsT/EUughLmqKCusUkgKK/1aG/G4XF4Zt9VcnerX3i7oJI8NSNXnxfDpW/ktZ5AzrqfVLKM14ZRw9qjHGy56VDHv9ai9qW/p5zQuVo+LmeDmdMXe+YCnzhu93136L8GyehIDhiRnARExBbt51yeLmUmAjUxMfXrj5PPFR6q70pD2ynpknnZbr1orsw1npU+zWa5SzGkhiwHWp5wNX4Zzly2jnlS8klfzFuURF//iYiZpJs6WVbNG8WVSvTm1hKnfKYOiJq62xbBE0/A5AXsO0koEr1sNzMAKuRsAjiBksR+3CI2jnlmRZSv9iTU0Eh5oGiLoaXCXzYc2iyR794K7sHt5JyRDclhHwWAQQU5dwdqZmYqZW0FUOcKgGsGHHdiEk4F6Ju2Zdqt2qp0s4gKWVDBISeMEsExQkzOdtVjJ7uIsErXrlihQ3Y6Ygp2GKhZwz4zaMgCci4BHEDMCiTBOC3OVawcSamqZvmkY8IL3dlUbcI6+JEXCEgGkJJEdtbf1dD90wOXODPFk+esR3WVrJTLPMvd1KZgt31NocNu51evzxf9OLEd29xm0r555xG99FwC3ETI07SyRan61Z4bAIrnicRs7UhLsSytfpp07Lyq703SvKO/cFBEB2esweSPkNM1VvVy/dMNULUNnRsZXMduFxlVN6RDfECydv3kbiy7VITlF7VKoIu0dsihfJCMhAwC3ETMa6JJs4Km4u1UnM1FRC6NSuz1E/kMvDaUeFDKOgoEDq16snuysdgcZ/NxwCal6s5Gxi8OTJdLTy57KC7KXGQybk2rjFFOBfWs50hmjDVjLrY0BYx1vx7xDqaibEz5IVvmKIw+RFMAI6IeBRxEy0mjkq02SJDd68xA+5TrgpGkZ0V6JUElSttWZXKpqcGzMCOiPgLGIGd+b4Ta/LFo813VZhndDx1Of5rjrv1jnDiVayfwWUpgULF1vFTyVvTyGIA3l6JQel6Inf8YgnmxAzSml3bs8IeAUCHkXMgLic4uZSJ4N+Lf8WZHXVyaXs3kuw2F28lCV88UZF9uC3v7/Bd9aPu6vO1pfncebZIQlgyQ/vyircLZ4BYstq/9KGlr4xQ5WQrKvPElYyWIUyTqYLWYaWsWTJX6RQxLPtqUK5h1y9NLfOJ8phIPHJU5K23AoYT+61CHgcMUNs1utx0x0WN7c8MfFNzNmZmqbuSggiRoR3ZnelxMfHmT/uXvtp9ZGNLVqzilad/kgWORNJmR4SFVrglXOfHVnJIBlyj4giPLzeqRocxXgylsJQgx738TYEPI6Y4QBQpkmNnIQzMzVFdyUqFaCgur0ivN52iXg/voMAyAVcbIuS1lF+wQ2qGFxo1Qnw96fWzZroVhIIJOWd7Yvpz+qXJSU0xHJUPR+PpO4d22nWDdN6go6ImaWVzPT7C0HtKzdspqjnu/qclQzfm3jRxvN23CT2KGi9iNzfKxDwSGLmqLi5vZNB+jVKeuj1ZiauBe5KWOPatQ3lLxev+GjwJkwRACH7OHkLbTmzieaPmExLf3yP0rJTi5ogxqvklQeoa43n6dXePXRxKRZamL6lL47uoKzfs4W5KvxNBJtVbG6oclS2iJmllcyyvi0IGx5fzDIUX5QjunaWLYPEn0pGwBcQ8EhiJlrN8IaFuDGlj2g2V5upye5KpYhze09GAORi9DvTKLPqASFjckrr6bT1zGdmxEzcH2pYPprdkuaPnOx2K5a7MXdkJftqz356Jqy1z1nJcC6IvUV2+sSxoznUw90Xlec3HAIeS8xgqUJx85lxk1SBivIesHIhHVvuY+muhNgtRG/5UYeAI/ePulG5l54IgJTFxM+gjFq7itTuxzR/jdIuH6Y953dJTiXWi/RVcibPSnaPngltredRecxYXFrJY46KF+omBDyWmIlWMy0uSRRH7/BUmEMzuqm7ErEhzUOaMCFz04XlaV2LQO+x4wRSBkuZ+AxqNIQuXb9EWzM32VwMYsBe9IumsYP7u3bBbp5NdE2mHj4kZFxaxpL5spUML7ZiHeMJMSNlC4W7+Uh5ekbA5Qh4NDHTajWzl6mJv+38W+6Csytdfi/dOiF+XBGQHehfmgL9/YW1PFKtKtWqUc2t63L15N+nZ9DQ1SPpz1oXzKaOrN+bgkoGUeLxxXaXFPBDTVr32jKfcGlevnqNduzdT4/VfpTGTphsVc2jkLD5rpVMrMLC8WSu/hTzfJ6IgEcTM5FYabGaYYznIqPo4/cXUb06tQUh2hVr1pOYXcnuSk+81srXLLif9n1L2w99TT+XOW6lPo/g9sf8mlN0ZG/dMg+Vr9K1PcZOn0t7Kn5sVbC7S81uVDmwskNi5itWM5CumtUfpi++/EooIWRqJRPdmmpjyY6fOEUQ3v3mx+/MDr9WlUeoce0G1CG0VdHLg2tvh/zZxJheU702+b25JSPgewh4NDHDcaFMEx61sWboCyHYt+YuEMok5eVdF75Y2V3pmg+DEeLMxDiqzAqHJKUZRCQQO1U6sypFNuhDQ/r0cA1Abprlen4BhY/vT3nNT1itILBkEF2/lSdrZU3PdqXEyTNktfW0RiLpalDrERo3EVayECEsQow7BWEDjsi4DAwotLzKfTD2nA+WUeq174RKCKauZIyBu1jyUjDVKGhI4/sOMeTLAkR0Qcrg0tXy8iwXM27HCHgLAh5PzESL12drVmqK+wLBQzJAUmKCt5wt70MGAiIpO11jn+wajSUvBtOQeqOpT0S4jBk8s8mZX87Ry0uHUkG9s5o2EHi0Dm2dkaSYmGia1AWdxVgyqPcnb95KwwYPFMSk8YCM4e9wfT9ev47i1VhmwdobQHxZGB02ylDlm7i0kuJj5w6MQBECHk/MsBOQKryl4m1V7aMXwVM7P/dzPQL4AR0TP4OOlf9SNikTV1nqbEWa0naq1+pPwYU2bO0oVXUrTU8ScWbb4lZ7DTETrWS2YskQl3f8xEnBxVgxuJziSy2VBStnEFhyZ3V7m1qFNJbT3KltRA+Es6usOHUTPDgj4EYEvIKYqS1ubok7CF7LkKasq+PGC+nKqaEuP/fQLFmlf6TWVTe9Pa2aOd+VS3bZXCAIL87rp9liVuf0U7R6+rsuW7czJzK3kpnHkmHeA6lH6XrBDU1kPWbmTNpX9lPFLwqY3wj3UYwnWzRvlhCzyw8jwAgoR8AriJloNdNKqtTW4VQOO/cwAgL4Edxbbq1VcLvctcGlGffkdE0/xHLncke7rmMG0qVGBzVNHZb1EsXHxmoaw92dHVnJkMELGYzuHdtrsgzayoKVu3933ke8HL8dv4Dwf6ENyfqOck+N2zEC1gh4DTHTi1RB26xfr55sNfPyT4seFiFvzzpcnLSOPsyfo8p6g+uDTNboarHU53nPjcVzZCX7au9+hOKbkXO1CS3Ae0XOu3YTUBx9LEMyu9PSadMcNdP171xaSVc4eTBGgLyGmOEs+wyKFgJwu4d3Un20Wupw2ppUTHnPLygwa4IU+w5tlGdsqd4cdyxCYMfeAzTlm0l0q8pVTai444dQ04IVdAZ57TF7IOU3zFTQ65+mlX4MobVxiynAv7Sq/u7sJNdKplYGQ2pvkZNG0Ona0tUU5GIRdLgB7Vq4Tm5zze3wfYnSShxPphlKHoARKELAq4iZGHT69dZkTUf8dJcIXdK7oT/06e5tQvkaMeUdVhbxKXHlAXrwehV6+enehsqo0gSeh3RGfNms9CmarBPYauXjLWnzvGUesmvly0xK3kKLMufQ7fK/KeoMt9rYJq9TxLMdFPUzQmPHVjL9C48jEaVzXC/VJFjEDUkAC3suoEYN6jodSjGejKUwnA41T+BjCHgVMcPZgVSpLW4unj0K7KZnnNakjYYv9zdT3qSbla86dAUhw++5Kj1o3ICBPnb93LddvSxm3hBD5egUoKe1IfdD2SRWkBOpO4r6PN/V0dCG+rs7rGQiAHoRM/+T1Wn54EVOrVIhllZCHNnrMaM4nsxQt5gX4w0IeB0x08MViS+eduERtHNLsqovHVjKxm96XZHUQLFcf+pXdozXC5ca5UMD9/LwpBhNWYfeHmNmShpgOVuV8RHdrJ5lM1kCeMBiM/CJAR6n8WbPSiYStuPpp+g/fxceDwjwp8fr1dEU7G/5WXhqWA9JQV8lnxln68ZxPJmS0+C2jIA6BLyOmIlWs4T4mVS/rnJxRxFGtdIZP509T8OWv0ZXHv1B8YngR+2N9m94bZafYkCc3EFrTA9c0a/9e7LPuKHxwrFhx3Y6/Mc3dCfIPF6yxG9lqEutbgIhU6Pf5eSjtjm8PSsZRHY/+3InbTmziW4/kGs2ht+dYrqHISBLeE+lVZqgcKZkBjwJ+G/C2FHUvm2opnVyZ0aAEbCNgFcSM63FzQGXWm00ZFZ99Ps8ulvG/IdL7iV05her3DW4q53abDa169WaBYf4sjXT3/PI4HZTzGAtyjx7nkyTUwL8/al1syaSyvUgLPk3bvwzxD2iiuXLUYVyD6k9Crf0s2clg4Vw7fHVdLXSabuhCCDnj+e1panDR6gmpOK9x3om3HKoKQAAIABJREFUp42T7TK2BM2ZWbBvxS/g0kpuuaU8qS8i4JXETLSaaQ1KVZrliTiRyKlDKeuxNNV3CfFmi15Y6JLgXdWL9JKOalXWsf3C4PYJFPFse49FAxawhE9W0C/+P9CdB3KtXJTYozcWbncUS4bEkHkH4mWHIqAsUp0zT1F8zETV5AyXSLyPp+qnqLpTyIJdM2WRru5V8QW1RbOmNCFmJJUJClK1Nu7ECDAC8hHwWmKGjCF8qWgpbq40Xk2rkjyOTXjrrR7rcTE68q+csVrix3DggtGU/cj/ZAvNwkrS/cEoes2DkzVgEVryw7sOqx4YtRaj2lvkKONSKSkT14H4utq/tNFcCUJMGkIWt5IHJHpc0wm6utUPpR2l2ClvUkTXzprK3SnZB7dlBBgB8i4dM9MD1RrAL46FLE+58Wr4sVt4cbpqNybmxA9h2OXeNHfSWL6fLkJASdFoWDRfbTjCo4kz7mnisUWyLUI4BsQ/Dmo0xOMyLcUrZGklq1K5kpC9LSrUi+r9KzZvpN+fTlV18/SKEU3+IoUSjy+inEqnZa1DyIKtN1rXO8mllWRBz40YAacg4LUWM6CFAH48Wq1mB9OOyBpDq1K6eMJdrr1KcWOiJQ/c1XFYTrl1BhwUP9yQhUi99p2kxAksmY/kNqK+nf7r0ckZKPsTvWakIlImHhcKkq97bZkmd507jt7USvbRqrU0fPBAQRBVfAr/fo8qBgfT0NUj6c9ayqxVpntqerYrJU6eoXmbCIt4b9v7tOniepsxZ87Igs3Ny6O34t+hQ6lHdNFy1AwED8AI+CACXk3MxPgILbFmSixvsEQknJ2pOngX9w9ftv0DxrFshps+jPhB3Lh9J2Xn5PwTzO7nJ/z/z4S2ctOq9JtWS31QT5MHkWslE9X75y79kNYVe0e2S1vqVPSWq4CsCwjaqbwfzaaDvE6X+l2ot45ZsOL3ZfunQmlCzCj9Lh2PxAgwAooQ8GpiJlrNtBY3h+UNLo9hgwbYBRfB1OO2jXMYt2NvEF+TYFB0W7mxJgRgLRu2cowm7Ta9iYemDdnpLNdK9szfumQY6qXY0aQ28F5cirOSd0AyTZ9Af39dg/xRNQXxZJbWRGedD4/LCDACthHwemKmVvbCFDK5Y8DaEj6+vyaRyPvPVKUVAxMJdTT5YQT0RCBpwxZKOKfNouss4qHXPpVayUznDX+tn6aMaoyFF6tpLWdSBydYV50VxsCllfS6fTwOI6APAl5PzABTdMx4at82TFNxc7nSGXCHrL+X4LAMk9TxwVXU5vcXKD42Vp/T9dBRnPUD5KFw6LbsuHkJtPWhJZrGM80aNto5iVayrAvnhcLaUrFkeHmCSzowwN8Kh16TRlCGxiLiRieuli+cb8cvoNy862aJEJouCHdmBBgBzQj4BDE7mHqEXo+bTlqKm8PUjy/7TWtW2gVdizYWgqs/HPYePcrWMs0XmwewRmDw5MmUVnOjJmhMS4cZhZiZWsnmL1ws7M8047IwbjCFGjWoJymYKwKih/I+PsPb4lbr6ma0PDDgjsfPz0/1WXJpJdXQcUdGwOkI+AQxA4pyLV72EJdbIF2NNpZeqfZOvzFumgCYZl+9ZjZ7gH9ppxZrdtNWnTbt2OlzaffDKzSND2mGqU9OF1x1RiBmllayfi/1NIsFRVzd8RMnBX0vKSuZKRggb7PSp2hK3kE1iM3zlmnCWElnNWcgllaCRbF7eCcl03FbRoARcAECPkPMIBb70eq1Di1e9jBXUuoJNTPfWDyPMiscsvtFD/dlcFZtGtluuFdk/el9Z5GVhmxX1Ge0rFdYPM+fmv/rSerbLcKuJUTvNXnqeFpLUGHf/ier0/LBi9xOiC2tZBcvZZnJO8BKBtIGMiY3mxZj9pg9kPIbZqo6YmeWRFK1IIlOHE+mF5I8DiPgPAR8hpgBQrkWL1twQ+Pnuci+svV9ROmF9Qc30K+BF+le8btmQ6Pwc3itbrqmvDvvqrh+5NkfLKMtZzdI6oqJqxGV6V9pPlhXgU3X79b5M4LkDk+K0ZSV6YyyP0p3LuqOZV24IIQXWFrJRLFYUQZDyfiwms3+3zS6Xf43Jd2EtlXSWtGqt+c7tMwpHliHDnBdItYW2eVw83JpJR1A5SEYASch4FPETGmJJSnM1YjWXi8ooO9PZJgXiQ7wp0erVfU4sU4n3UOrYZVad2Ct6FtuBOu/OTggSEKcrrFPVXKKuy1Cjqxk2PpXe/cj+kq2lUwKrinvvUtflFipCKPyPzWk5cPeM8Tn2dK9eTLjNA0dM55LK7nqy4vnYQQ0IuBTxEy0mmkVnI0aFK0pkUDjmXl9d7guF5+cT7eqXFW0V2TETWk7VdOPsqIJPbAxXOz9lgxRbDWDZbLWL6H0/usz3WIRcqaVzPIYYelGFYgd1z9zeAcRilD+fH16d9BbhkzagUURL6QTxo6i9m1DPfDG8pIZAd9DwOeImZI4MVvXAVYzraK1vnfV5O34zC/n6OWlQxUTB3H0uuntaV7MJKoQ/JC8CX2wldJC3SIpmz9ysmaLEAgW/vur9E2hLqzfneLCCUC3r3WzJlaxgq6ykkldA+C0/OuPKSf4pyLXJogYHqz9/nOVDBuKgLCLhUs/oJTdeygpcRGhNig/jAAj4BkI+Bwx06NMkx7yG55xPVy/Sq0iqFw5Qd6ZgRy9tzWRLtc5ZrcEEdyXNbNbUHzMRE2kDNmRs1Yspl/8fxBIDoiZ6YN5Sl0Kpp6PRwqxggjaF61k+X/8IcSSRXTtbJZxqSWWTB5KRLCe7dh3gM6cPU+m4hQB/v7UvWM7TZjIXYPSdqallVCtBPFkarI3lc7L7RkBRkAfBHyOmAE2NXFilnAjkWDm1EnUIqSpPifBowgIdB0zkC41OqgJjbbn+9LcSWM1jeELnWGNmrv0I0rN+ZZuVrkqJKcUWYTuFKMaBQ2pY4unqUObJzQREBCsN1PelFU4HQTt8by21OaxlvRY7UdpffJnkgW1k7enCEQJMhj8/IMA9BbfmruA48n4UjACHoyATxIzJYXJbZ1t8pZthC/BRfGzPPj4jbV0EIUX5/VT7cYUd4PMwS2zPzLW5gy8GliFvk07ZrbCAJ2SU9TU5wQ5rP1LG7p66hJ1ffYZKyvZyg2bKer5rv8UmTcwtq5cmiiFsWjeLKpXp7Yrp+a5GAFGQEcEfJKYiVYzOYXJ7WENq5mWRAIdz9ErhoKcw7C1o2RZVuxtGOrr615bpsnK4xWAunkTIHw93xosuEuVPhCyfanKQIru26uoa9KGzYKLk61k5mgingyVTfDCmRA/S5DE4IcRYAQ8FwGfJWZyC5OLRysVo6GHS9Rzr47+K9eLmLlafV1/JLxjRK3xgrB8vj9urlB6iK1k0neCSyt5x2eFd8EImCLgs8RMtJppya7UI5GAr+M/CMDC0mViH7reJEMTLCGZ3WnptGmaxuDO2hHQGi+IeLOO93rR4w3qUgTHklkdCDLMkRTRt1cP4T9+GAFGwDsQ8GliptRqJnXkLJ2h7wdBayFpxCf1DxjHQrP6Hovi0RBbNnT1SPqz1gXFfcUOkKTonPsKxY2JVj3G/7d3JtBVFUkfrwyLQwKMIwn7qhAILiCofIIGHCMjYFCCM4IOmyBIAhJIkBCWhMUQJGFRw+Y4ShADimF3wYgQBUdkcwYNq7LKIOiMICgik+/UlZt5eXnL7b7Lu/e9/zuHwzna1V39qw6vUl1dFayCaK0UrJbFvkCAKKQdMz4Aepubo3SGsT9G/IIv86OJfgt7eluVezm+0H82emcaaxavs3krw/Be8Taa/ElahdZG7DhzqYz/nguj0kthVCnqvz41vfXr7vTieDywUSHxL5OcT1azRnUan5KMfDKLzjmWAQErCYS8Y7Z95y5Ky5hGm9avkub+YN/+NHLYEFTWliZYXnDo1Am0p/a7Qi1xeAb+0o892welMgyyg5ZpvDlmXJx1ZkkG/XLdubJpmn7fhh644UGaU5xFlz6pSlXbXqaqt172uQwXDF6WPUeLKkE/BvlkQW9ibBAEFAIh75gxBH5dyY5Vr/juUsfCiB6cUgsHqRCXzRg9byodbPGB5h2qJRb0FkLVvKABA3mfXx47QRcuXCw3W52oSMdE/Lw5Ztt27qHUd8cokU+2Te9qg+mn6t/S66tW05UTlSi894/0m5qlPiniKvN/eJa8tkLJJ8ueMgm/ABrws4cpQMDOBOCYESm95Lgu2dLFedK2QukMaXQeBbmnY/K8KUqpBfcq8e4CTnPK2CF7tXAdbfjnOxVKg4T9UomqfFeT7qnXlYb3fdSxJT94j488O4SiGlVXomTLd71CR94/S1Va/0LXdPhZ02GpdC6cBl47JuTzBbNy51LRB8UozaPp1GAQCDifAByzqzZkx2pG5kTqcJtcJX/+jbbkwEHKzpzo/FNhkx3wl/uC5a/R+9+8TZdrf0dXapaPLLFDVu1wQ9v2K/SEkR3O8a9Op69q7fTpcHK0qO6BtjTygaGObMrOtuPrzG/CDwlFyVyZ/fZQQ5r/6DzHRA+N/rFRry7vuK0dpaeMUlor4QMCIBD8BOCYXbWx3ubmRnQTCP7jJrdDfuH32Rf76LOS8mU0uPG1XfsVetqpryva6lVr0A8/n68gxo7n0LaJSv9Ip3zUHpfb/r6dVqxdSZVv+UlzlEzdIzumnC+Ym5bmlG0bquf2nbuV3Ff3/qCGLoLJQAAEbEkAjpmLWfReR6J0hi3PuC2UUp2yQ02LyzUNrxdRnxbd/zea8tFE2nl6h0ddndLJgPfIrzFde1zeeU9Hei9iud/raPeNh/LrWrUUBueT3dH+VlucXygBAiBgHQE4Zi6s9V5HGlEXzTrTYyUrCSxYuoKWnH2u7JUiO2RD2w6n9nVvp9RNo+jAv/d7VYevbP8clkSpwwZZqbLQWmqU7ML33ytJ6mqkh4sGD5s2gU43+yfV/21j+oI+9TsvRwknxU1y5BWu3835GMCtlbJy53ls2q5nXsiCAAg4iwAcMxd7sWP1UN/+tLogX7o+kN66aM46PtBWCwF2TvpOSaRTN+5UhnMyfN/Wf6EtxzbR4s8WaJmC7Bo1++HiReJWWtWqVqHXC1d7dCq27dhNn5Xspw9OvUdfXbezXMTQdfNc6b/puTb01ANDqWP7tpq4BMsg9Ze6uHtiKT0lOVi2hX2AAAhIEIBj5gZNb/9LI154StgRIjYmwKUjxm4YS9e1/g3l/GEeHfhuHy3es4BOXfhas9ZVvvk9PX3zZFs18FaiZKWl9MO5/9ALi14idipGDB1cLkl9Y/FWrsqjRL94/LvbiunT7z+q4Jw1qNSMetzcje67+07HvkTVbEy3gUWbiykrZy5aK8kChBwIBBkBOGZuBjWi/yXnquXlZlNMy+ggOy7YjgwBbuZ9qf431P3m+xWHbP3hNcLT2Ok6s3wu2SravmO3Ul/LNR/q9NlvaeOWrdS1cyeqE1mr3H5Z/vSZb8v9N37IUT0iXJiL0wXQWsnpFoT+IGA8AThmHphy1CwmuoV0Y2C9LzyNNzNmDDSBxXvma7629KbrA98+GfC+ke65ZBwlGzl0CNWoUb1MbdcoWaC523V9/gVwRu5c4r/zcmdKp07YdX/QCwRAQJ4AHDMP7PQm8aN0hvyBDEbJBUuX0yv/mVOhDpvIXgPdnN3Ti0tPUbL8lWuoekREuehX9fBqdEOTxiFbj8zdzmitJHLyMRYEQo8AHDMvNtdb+oLlG9avp+Tc4BPaBDjKlOGhobcIFc4xm9ohm+6L7SgiZshY1p8fMIT98rPy4tJTLlnh20W08NUVdKn+Gfqp8Sll3bBfKl/9+9duBrf/7i4aO3hIyOWQuRqBX37zHz0t4AwxKiYBARCwLQE4Zl5M88mOXTQ+czptWl8oZTy9UTepRSFkSwJqe6ILNx2W1o+r4OcPWUzXN2kkPYeooBola9aoARV/+KHSFshTlCx12iw6VnWf0l7KV/sstZvB43/4i60eMYhykR2PfDJZcpADgdAiAMfMh731lr7QKx9aR1H7br01ztY+g/UjU6fnUHGkeKFVJfIUgCr4apTs2ohqNP3ZXM9RsneKlJeWn1f+uELPT1+EQ61OGf+SlpQyTomgj09JRj6Z9T9+WBEEHEUAjpkPc3ESP1/dyEbN+Bk8y68pyHfUoYCyxhPg6NPgF0bS6ev3Ck9uZRV8T1Gy9NRkiusSW6Y3v7hckL9cKYGR9uYkutjqqPCe7FqXTXgjfgT2HThIiWPGobWS0WAxHwgEMQE4Zn6Mq7e5uV75QJ89/qLmcg+uNbc4gtO8QTPqdNutSOgWMBBHl6YVTROOLo3pmGLJ1Z97lIybZ3OOJEd61A83Ji8looT744ijgFvqvuq1YKwvNHYq/yFgQqGhaj6Zu2MrNAkGgwAIhBwBOGZ+TK63YKxTS2ewQ7bkrZX01t53POYOsXN2zdF61CGic8gndIv8q8GOzUsfLlFaFJVWueJVlB2Xa76OsqSBuacomXtyOkfJ8t9cS/1791TqkvFjgPhxg+j87V+IbL/c2GCOmmXlzlVy8vIX5+HqUvqEQBAEQpMAHDMNdtfT3Jz73z3Ud4Cj/oE+fPQ4jfzb03S23kG/zafZgbjhREeaM2qypa/tnJhnph61L48ep7yCZfTJhS10ufZ35Rw0dnirnrlOecE4oNvD1KZ1Sw0nVH6IliiZWrusa2ynsoU4ipp3LLus96eMBtccrUuzeswKqvZLrq2V3LsgyDCCDAiAQOgRgGOmweZ6o1562zxpUNGwIRw9eWJWallfRy0TK1ebR2Itd8606GbnMf8oOaD0mTx99qyiZp2oSOXvW1pFm+6QaY2Seaven7PoZVpRaZ7UNaZqE+6NOSDyKRre7xE7m0mzbtt37qa0jGnIJ9NMDANBAAQ8EYBjpvFc6ImaOaV0Bl9PPTEjjQ41LRb+wg2FnCGNR8X2w9Qo2Y3Nm9Hw0WPJUy6ZpyiZ68Y4v2xzoyW69hroorm6lHcTVkthzJ89k1pFtzByaswFAiAQYgTgmGk0OP/Dyw5WduZEjRLlh+ktWCu1qKAQ5z/lbJ9Jl5r8S1Dy1+HBnDMkBcRmQmqUrE3rVkpdssK1GyoUOvXV49J1O5mz82hDzReFHXjXOezYmF3UZJyqkJU7j0r2H0BrJVF4GA8CIOCRABwzjQdDb5slvQVrNaqpa1hKdrZSa8tXUrqvBRA104XfVGGtUTKOmnIZDH8NxdmJn1mSoTvH7Nnuzyqve534cc0nS09JduIWoDMIgIANCcAxEzCK3lwxO5fO4GjKn2cPlKpJ5Yqw/eFetGjqVAGqGGomAZEoGUfSbomJ1qTOoSPH6PFFibrOS/Xd0bQ+aylVDw/XtKadBnHe6TM5c5SI44BHgyNHzk58oQsIhDIBOGYC1ld/Q5Z9Aq/3EYGAqsJDOQl9xPJkoRpbnhap8WlrWjfzZb8RF2EFISBMwOgombsCQ6dOoD213/X7cteT4pz4/3D4EEodNoic9sIWrZWEjyIEQAAEBAjAMROAxUP15orpeUQgqKrQcHbMEleOkM4vUxfjKMjmuW8KrY3BxhLQEiXjK0t23PjKkq8uZT5c9mPgwuFSUbN6n7engoz5jnLg+Rcz7p/LnxmZE1GfTObQQAYEQMAvAThmfhGVH6D3haXe61BBdTUP56upQX8bpjti1rIkjpZlz9G8LgYaS0BLlOzXMh37qGvnTkqxWD0fzjWbvS1X6Nw4sVem+nOf0LOH0g0BHxAAARAwiwAcMwmyepqTq//Ary5YQjVr1JBY3TyR+KcHCtUvc9eE65n1OPcEZY5JMk/JAM+8becepfbYhYsXFU0iwsOVqE+bmJaa87PM2IKWKBmvW/h2ka4omSfd2Tl78eOX6EyjEr/dDGofj6H0hBRHFZXl1krc83ZC6mjqFd/dDPNhThAAARAoIwDHTOIw6H1hqfc6VEJlTSJcAuGt8JelcoZ4gaono2hsu3RL+jpq2pCBg9ghy3tjCR2ruo9+jipfrV/d+721u9HwPo9a2gGB1+YIGEc8fdUl01oGQxaZ2s3g0+8/osvXnaPSyuXbTXF7qfjmD9JfEuIt5yO7J5ZDayU99CALAiAgQwCOmQw1Inqwb38a+Ggfqd+g9Tp2kir7FeOoyyPPDqELNx32O9bTAL7GXDTpGUflDWnZ6NLCdbRw73N+8+84Yljnq5vpqT8Ol87b0qKPOkbNE2vetLHXumQ8dmPxViIKs0Qn5Zq0ZD9RaSlRWFjZdu67+04phyxQDwM4sp2UMo5iWkZTesoo20W3Rc4JxoIACDiLABwzSXvpbW7Ojh0/tY/rEiupgTlifC317D+n0uXa/xZaIHxfE8p+eLqjrqi0bJCdssV75tsuh8oOUTIt/Jw4Zt+Bg5Q4ZhxaKznReNAZBIKAABwzHUbUU5dMr2OnQ22/ohnPP0fv/rJCc/FQTuYe2jaR+iXE+53bSQP4+nLcmvFCTpm6P351+OLYHKkokS9GWqNknEvGAate98c5CblXXa2KnKmlMLKnTKI72juz8G1QGBybAIEQJgDHTIfx2bkq2rxFacUi87Fr6Qzey4KlK6jgi6WKU+KtEwBX+menbMidg4POKWMG3AlhS71lMqalSufC6U9Vn1TqdBn10Roly39zLfXv3VP3i0uj9HbCPNxaiZ2yog+KSbZOoRP2CR1BAATsTwCOmU4b6XGu+LVXyYGD0v03daruV5wdgSVrCokTut2ds5ph19I99bvaJpnb6IgK7z3xtVH0U/MTfjl5G1D3QFtanr5Id86d5ijZO0XEWV3BEiWTBi8oiNZKgsAwHARAwFQCcMx04tVTzV9v/02dqmsWZ8fg8NHj5cbXiapl+DWdZoUsGMgRw1f+M5uu1Py1LIbMh6OJL/SZS21at5QRV2S0RslmLXyZxj45KGSiZEY54kWbiykrZ67SVgmtlaSPKQRBAAQMJADHTCdMvW2a7Fo6QycWx4vrucZUN89th8bFTJGKYGmNkvFjjVIiSgiSXDIrD46aTzZ/9kxqFd3CyqWxFgiAAAh4JQDHzIDDoaeav95OAgaojyk8EOA+kLuarNXFhvPM0lo8I+yYuUfJYlq2oPEpyeVaAHFdMuSSyZmHf+Zm5M4l/pvzQxvWryc3EaRAAARAwAQCcMwMgKr3SrLf0ERKiO9BveJ7GKBN6E5h1PUWE0ydnkObGy3RBZML7k65azrdp7EXpXuU7JVly5WSKu5XbEqUrJQooVtwvLjUBVlQGK2VBIFhOAiAgOUE4JgZhJyjZvybt0wfPTuXzjAIj+OmMSLHjGu7vT7mFU25eO5Rsgb161VolG129X7HGclNYX+OOT+24T/IJ3O6paE/CAQ3AThmBtlX75WkntedBm0B07gQ4H6YiStH+K327wsa1zIryJjv81Wm1igZNycnKqWusZ1gJwkCaj4ZSmFIwIMICICApQTgmBmIW08iv57XnQZuAVO5EHgsbTTtjymSYsKJ/0mN06hfb+9Fd5X2RV/so9bNm9HYCRmEKJkUap9Camsljma75+kZvxpmBAEQAAH9BOCY6WdYNkPJ/gOUlJJGm9YXCs+qN09NeEEI+CXAjlNSwSjhyv/cM7P+PzrQshlzPEbL1ChZ9YhwOrCvhLzlknGUjMcil8yvqTwOOHHya+o/bARaK8nhgxQIgECACMAxMxh8v6FJVxP5uwvPzBG3mOgWqKckTM48AdFemeyUNT8SS3NGTfaYW+YaJZubt1BRfEbmxAovLjdu2UptWreiW2KizducjWb2lx8mqqqaT5aemmy7frSie8F4EACB0CIAx8xge2/fuYvSMqbRpvWrhGfWm6cmvCAENBHgV5AvfvwSnWlU4rU9FU/E15c3nL6DclMmVHDKXKNkp04c95qErkbJusZ21N0xQNPmgnBQVu5ctFYKQrtiSyAQKgTgmJlg6T880IvSU0dL/aauJ+JmwlYw5VUCXx49TnkFy5T2VJevO0ella+UY9P0XBvqcXM3uu/uOys4Ze5RspNfn6rQj5EdN3YA60RFEjtl+IgTUH+xueO2dpSeMopq1qghPgkkQAAEQCDABOCYmWAAPeUvuEXM84v+SmsK8k3QDFPqJXDoyDH66lj5/pkREeF0feOGfqNkbNeBj/WpUFJFddy6du4UMi2V9NrBXX77zt1KpDqhZw+pkjVG64P5QAAEQECWABwzWXJ+5Lj8BecOdbitnfAKemSFF4OAKQS0Rsn46pIfASBKJm8GtFaSZwdJEAAB+xGAY2aSTfSUv9Aja9J2MK1GAu65ZN6iZCgWqxGoj2Hnzp+nrNx5tH3HrgpXw/pnxwwgAAIgEBgCcMxM5C5bNJa/cB7qOwBfNjpsY/QrPy2qaImS8Twbi7cSURiiZFqgehmj5pPF3RNL6SnJOmaCKAiAAAjYiwAcMxPtwVcs/AWSnTlReBU9jdGFF4OALgKIkunCJyzMEeVncuZ47CMqPBkEQAAEQMBmBOCYmWgQPUVjUTqjomH+deYscVRq5eYNdOHixbIBEeHhVL96fUrodp/ldb9co2RvrFrj9Vqt8O0i5JIZ8LOG1koGQMQUIAACtiYAx8xk8+iJfOlp8WTytiyfngu9vrXrPToavpd+bnCmwvpc2PWao/XoseiB1C8h3vQaYK5Rsgvf/0d5SevpRSDnkuWvXEv9H+6JF5c6Tg3/ojIjdy6dO/9DhYK8OqaFKAiAAAjYjgAcM5NNoka+ZJonf7JjF43PnC7V4snkbVk6PTtlC/c+p6mheKVz4dT8ZEelyGudyFoUFhZmuK6ao2TvFBGv3uv+OMN1CKUJ1Z8hlMIIJatjryAQugTgmFlgez2Rr1AvnSHaEonN+Zsfr6EWR+6mZdlzDLWuSJRs1sKXaeyTgxAl02kBtbXSyGFDqFe8eJsznctDHARAAAQsJwDHzALkevLFQrl0BkemRuSPoYutjgpbqerJKBr0ACD2AAAR+UlEQVTeMpn69e4pLOtJQI2S3djienq9cLXXXLKlb65VxI1a1xDlHToJ8skcajioDQIgoIsAHDNd+LQL642ayVyFatfOniMzZ+fRhpov+uxP6UvzliVxNDtlItWJqiW9QZEoWf6ba6l/b+SSScO+Ksi/yCSljFMau3ORZrRW0ksU8iAAAk4iAMfMImvpyRfT84DAou0Zvgw7RH2nJNKpG3dKz13lm9/TlA4zqGtsJ6k5tEbJuMdlaSlRQjfkkkmBdhHad+AgJY4Zh9ZKekFCHgRAwLEE4JhZaDrZBuXqVejqgiUBjx5YVbj1veJtNPmTNLpc+9/SFuKHAAOvHU3D+/URmkMkSrZxy1ZCj0shvF4Hq1eX6anJFNcl1phJMQsIgAAIOIwAHDMLDcb5YlxWYdP6QuFV9VyFCi9mAwFO+n/h5HS6UvN/9cpk1Gp/uBctmjpVs6jWKBn3uCQqlY7GaVHosy/20zdnvy03tFnjhtS8aWMt4o4Zw50u2Ckr+qAY3S4cYzUoCgIgYBYBOGZmkfUyr+wrSz1XoRZv0ZDljHLMHvj2Scock+RXJ7tEydQiukveeoO+qvkZ/bfaJeWVqfqpfD6cbv/dXTTgwQTLi+n6hSgxwLW10oihgwMeEZbYAkRAAARAwFACcMwMxel/Mo6aFa7bQEsX5/kf7Dbiwb79lTY0oXDNw3lbM0sy6JfrzglzUgXYoRkUMZaG93vE5xx2iZKxUzZ5wRzaW/ljj0V01U1wMd1qhxvSE7cPU4rpOvVTtLmYsnLmIp/MqQaE3iAAAqYQgGNmClbfk8o2N9fj1AVgm7qWPHTkGA3Oe4ou3HRYeh5O/n/65sleC7yKRsnatG5lWpSKnbKU3GfoYNMPlSiZlo9SEqTVaEc6Z2o+2fzZM6lVdAst28UYEAABEAgJAnDMAmBmPbXJZJ26AGxT95KPpY2m/TFF0vNE7L2BNmS+5rE9k0iUjB24rrEdTWvzxPNPXjiHPopYpdkpU6Fw5GxS3CRFPyd8OJ+Mu1nwFWZe7kylJAY+IAACIAAC/yMAxywAp4G/nB7qO0Aq0ZkroZccOEjZmRMDoLm1S3KCfeZHE31e63nTqPJ3NWlA5FMVrjFFo2R1oiJNd3r42jZn+0xNLac87ZfrtRnd5cAMS6O1khlUMScIgECwEYBjFiCLZl1tyCzqYPGX273xCfT+usKQiDZkPP8cvV0lXyiSxDlYzY/E0ovjs8tFuf5Rsp/4paO/6v1qNM2qMhgp2dlUHLlcupAuX2lm3jXddAdSz4+K+iJ5wKOPEP/BBwRAAARAwDMBOGYBOhl6HKxQKp3BEa5h0ybQoQbbNJXOUJ2yOaMmU92oSMW6PAc7ZRER4fTlocNKyRJPDbFdo2lWXQ1ybtmfZw+UajulHt1f67WN8fvIIUBHXSmFUbh2g1SEOFA6Y10QAAEQCBQBOGaBIk9E7GDVrFGd0lOShbTQ03tTaCGbDGaHaeGrK2j1idfpUpNTXiNLHDlqdq4N5aZMKHPK1OhX6xbX0xtvrqLtO3dT9pRJdEf7W8vtzuoombo4F9LNkLyudd1A51OPUW5amk0s9qsafE45n4zP+PiU5JCI8NrKAFAGBEDAkQTgmAXQbHoq+st2EQjgdnUv/eXR45RXsIx2fPv3cnNFhFej31+qSwO6/6nsOs9TLtm9XWJp5LCKtbI2Fm8lorCAXAUaURaEYUQfvIdem/6cbsZGTYB8MqNIYh4QAIFQIwDHLMAWl72WDKXSGe4m4us/9496bcn/3dOLS09RstNnv6VAt1TiBw4ZOltP8Z7tFDHjByp8XczMQ6HmXoD/CcHyIAACQUYAjlmADarnWjKUSmdoMZOnKFncPbHkqaJ8IKNkrnvhxwgjlifTjzec0LJFj2O0FtKVXkBAkB+1oLWSADAMBQEQAAE3AnDMbHAkZK8l9dRDs8G2DVVBa5SMo22fleyntq1bUZ3IWobqIDtZzzFD6Os2n8iKk79Cuu4Tm9GIXv0F447b2lF6yii0VpK2JgRBAARCnQAcMxucANk+mN5edprxxWsDTB5VcI2SXRtRjdIyppG3KFnh20UUFkZeOwEEao85i16m10vzhEqCuOpa7/P2VJAx37QCuP648IMK5u7ppas/Wfx/EAABEACB8gTgmNnkRPC1JPfB7BXfXUgjzlGLiW4RkrWh1CjZ/7VrQ28UrlKu0Lzlks1a+DKNfXKQbaJkrkZW2zHJdDngl6hj26UHzNlUS2F44i50kDEYBEAABEBAIQDHzCYHQTaZ/9crpETatH6VTXZivhqeomR8hca5ZO4tfpa+uVZRqF/vnuYrpmMFfnE66IWRQr1BuX7Zw+FP0NjBQ3yubEYElbtXZOXOo+07dqE+mQ67QxQEQAAE3AnAMbPRmeCo2YzMidThtnZCWvUbmkgJ8Q8IR9uEFrHJYE9RMk+RRn5xuSB/OQ3v38dnlMwMp0UWFe9twstZdPr6vX6vNTlS1qvOo36dMlldfMmp+WR8ZSxag88MfTAnCIAACAQTAThmNrKmbDJ/0eZipTzBmoJ8G+3GWFVEomRcG6y0lCihW5wmJezknPG15qyX/kqffv8R/Vz73xUcNO4BykV0XWu2adqkQYP4rHE+GTvDaK1kEFRMAwIgAAIuBOCY2ew4yJbAkI222Wz7HtX5X5TsFnqjcLWSS+YtSpa/ci31f7inLXPJRFjznrfu2E0XLl4sJ3ZLTMuAFMJlJdBaScSCGAsCIAACcgTgmMlxM01KNmomK2faRgyYWCRKxoVaiUqpa2wnA1bGFK4E+OpyRu5cpcVSXu5MtFbC8QABEAABEwnAMTMRrszUav5O/uI8oS9AWTkZHa2Qce1dyVEyboLtLUoW6Or9VvAI1BporRQo8lgXBEAgVAnAMbOh5bkEBkd/sjMnCWn3qxxRduZEITk7DXaNkrVu3oz6D00iby8uESUz13LcWon/yJRxMVczzA4CIAACwUsAjpkNbXvy1CninLFN6wqpQf16mjXU095J8yImDhSNkrVp3YpuiYk2XCN+DMCfMK5G6+Njp0cDRkNAPpnRRDEfCIAACGgjAMdMGyfLR6VlTqOG9esrtblEPkkp4yiuS2dHlc4QjZLx+K6xHQNW6V7EHk4by849nyGuBzc+JVnoOt1pe4W+IAACIGBHAnDMbGQV1wiMbPRLtr1ToDCIRsnqREUG7FVioBhZte6+Awcpccw4tFayCjjWAQEQAAEPBOCY2fhYcM5Yh/bthKNfTiidIRolO33mLHXt3MnxZTDsetzUq8v01GSK6xJrVzWhFwiAAAgEPQE4ZjY2sWz0y+6lM7gqv/qS0teLS1fnja8u8TGHQFbuXKU2nOhLYHO0wawgAAIgENoE4JgFyP5aE8f7DU2ihPgeUlEzK75oDx05Rl8dO0G1I2uVkawTVYvqRkV6JLuxeCun1ZO/F5euV5x1XOa22lxa7WS1Xkas59paiXMZa9aoYcS0mAMEQAAEQEAHAThmOuBZIcotcLJy5tKm9YVCy5ldOoNLVSx56w06HnaQfqlRvjp95fPhdPvv7qKkvo/R9U0aKXprjZLxWNV5s1uULJictO07dyutlRJ69hB+YCJ0EDEYBEAABEBAiAAcMyFcgRkskzOmRkNWFywxNBLC14uTF86hv196n35ucMYrkLDLlSh8f1OaEP+0UpNNS5TM1XkLZJQsMFa2blU1n2z+7JnUKrqFdQtjJRAAARAAAb8E4Jj5RRT4AZwzVrhuAy1dnCekjOzjAV+LpGRn04fXrqzQXNubTNWTUdSv0TC68uMPXqv32zlKJgTc5oPPnT9PWbnzqGT/AbRWsrmtoB4IgEDoEoBj5hDbc9QsLzebYlpqL6gq+3jAG5JZL/2VVl58ka7ULH916Q9htcMN6aYf29GE0SMq1MXiKFmwNB73xyGQ/981nyw9JTmQqmBtEAABEAABHwTgmDnkeMi+tHywb3+lpY7eEgicjJ/42ij6qfkJKWItS+JoWfaccrKFbxcRF9fvdX+c1JxGCQVT7pgnJnx2nsmZo5yDAY8+YhQ2zAMCIAACIGACAThmJkA1a0qOmom+tJS9BnXfQ+r0HNpS91UqrXJFant8pZnzx9nUsX1b5SHAgvzlNLx/H9Qlk6KpXQitlbSzwkgQAAEQsAMBOGZ2sIJGHfhLlq+kRJuUyzh0ripxwn/fKYl06sadGjWtOOw3P15D3S8OohuuvtLs17un9Fx2EtTaV9NqnfmcjL/a1H5G5kS0VrLaAFgPBEAABCQJwDGTBBcIMf6yvTc+gd5fVyj0RSvr0Kl73LZzD43dMJYuNfmXrm032NmRFk/OQpRMF0X/wmo+GUph+GeFESAAAiBgNwJwzOxmET/6yNQnk3XoVFXeK95GGR9N9FkeQwvGep+3p3XPvqJlKMZIEljy2gp6ftFfaULqaOGixJJLQgwEQAAEQMBAAnDMDIRpxVRqNEQ010xP6QyOmKW+O0a3Y+bpAYAVzHiNYE/w5z2itZJVpwnrgAAIgIB5BOCYmcfWtJllnCyuXZWUkibcQYA3wW2XHl+USBdbHZXeExecfeTKKEodNkh6Dgh6JsDOelLKOKWUSnrKKEMLCoM5CIAACICAtQTgmFnL25DV1KiZaJsm2b6brPSDTw2jk+23Setf+buaNC5mSsBLY0hvQEDQyujcvgMHKXHMOLRWErAPhoIACICAnQnAMbOzdXzoxhGSuC6dhfKIZEpnqG2SDh89Tm9XyRcuLqtugfPLCjLmU/WIcIcSF1PbCudMLYWRPWUS3dH+VjEFMRoEQAAEQMCWBOCY2dIs/pWSreovUjpDbSbeunkzejwpmS7VCKML937uXzm3ERwtS2qcRv16xwvLQqAiAW6txE5Z0QfFwnXtwBMEQAAEQMDeBOCY2ds+PrWTuZrU0kHAtZn4OxuLiF/6ccX4uzt1pIELhwvlmnH9srbf/JEWT37GdNJWRKlM34SfBdBaKdAWwPogAAIgYC4BOGbm8jV1dnayXnltOa0pyNe8jr/SGa5RMi5QytGZvNyZZXXTNhZvo+fXL6bT1+/128icI2W3nO9Cs1Mm4ApTs4W8DyzaXExZOXMVJxmtlQwAiilAAARAwIYE4JjZ0CgiKvHVJFd273BbO81i/KozJrpFuS939ygZ18Ia+FgfGjF0cIV58wvX0dY9n9LnpZ/SpSanKrRpYoes6bk21OPmbtTrj/eGjFOm2QASA9V8svmzZ1Kr6BYSM0AEBEAABEDACQTgmDnBSj50lEnod3/V6R4lO/n1KY+5SxcuXiRuPF4nKpK6xnYkbmy+dcdu4ocB1cOrlTlg3HbpzvZtqW5UpMPpGqu+zFUr22pG7lylFZdr5NJYzTAbCIAACICAXQjAMbOLJXToIZLQry7D+Wkd/68DVf/dtdS1cyfiXDJfUTJ2wj77Yp8ytk5kLR3aBpeojLOllQBaK2klhXEgAAIgEDwE4JgFgS21JPS7b3PRkmX0RuEqemXB80qza29RMm5gznllXOaCo2SB/pjpCAV6b67r84ML9dEF8snsZBnoAgIgAALmEoBjZi5fS2YXadPkmkvWo3cfOv/DDzRy2BCPuWSuYxEls8SUyiJqPplo2y3rNMRKIAACIAACZhGAY2YWWYvn1dLc3DWXjPOWuBZa3D2dKTtzYgVt1bF2iJJZjDJgy6mtlRrWr0fjU5LLXsIGTCEsDAIgAAIgYDkBOGaWIzdnQV9lMFwjX9s+/kTJJUvo2YMeeqA79R+aVC7Rn8fmr1xL/R/uiVwyc0zlcVa0VrIQNpYCARAAARsTgGNmY+OIqsZRM462uJa4cI2S8RXZ9h27yjlirpE2fnEZFkYh0c9SlK1Z4zlnLr/gdSWfLD01meK6xJq1FOYFARAAARBwAAE4Zg4wElQEARAAARAAARAIDQJwzELDztglCIAACIAACICAAwjAMXOAkaAiCIAACIAACIBAaBCAYxYadsYuQQAEQAAEQAAEHEAAjpkDjAQVQQAEQAAEQAAEQoMAHLPQsDN2CQIgAAIgAAIg4AACcMwcYCSoCAIgAAIgAAIgEBoE4JiFhp2xSxAAARAAARAAAQcQgGPmACNBRRAAARAAARAAgdAgAMcsNOyMXYIACIAACIAACDiAwP8Dya5HPZVI16QAAAAASUVORK5CYII=", + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "struct = graph.create.defect.grain_boundary(axis=[0,0,1], \n", + " sigma=5, \n", + " gb_plane=[3, -1, 0],\n", + " element='Fe')\n", + "struct.show.all()" + ] + }, + { + "cell_type": "markdown", + "id": "ebccd29f-55cd-4165-9785-e0939492d2a4", + "metadata": {}, + "source": [ + "`pyscal-rdf` is powered by [Computational Material Sample Ontology (CMSO)](https://github.com/Materials-Data-Science-and-Informatics/cmso-ontology). " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "cb7ce0f6-ea63-4879-9b4e-58304407dffe", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import display, IFrame\n", + "display(IFrame(src=\"https://service.tib.eu/webvowl/#iri=http://purls.helmholtz-metadaten.de/cmso/\", width='100%', height='500px'))" + ] + }, + { + "cell_type": "markdown", + "id": "01decf0e-5bf3-4b4e-86ee-8aa7af6dbe6d", + "metadata": {}, + "source": [ + "This allows for querying the database, through SPARQL and automated queries. Please see examples for more details." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d8e7889f-65ef-4d38-a39f-a59931fd4589", "metadata": {}, "outputs": [], "source": [] From 191fad97144183f5fe3b3184ef59fcd966ce3d3f Mon Sep 17 00:00:00 2001 From: Sarath Menon Date: Tue, 28 Nov 2023 16:46:02 +0100 Subject: [PATCH 3/7] add installation --- _toc.yml | 1 + docs/{source => }/gettingstarted.md | 32 ++++++++++++++++------------- 2 files changed, 19 insertions(+), 14 deletions(-) rename docs/{source => }/gettingstarted.md (62%) diff --git a/_toc.yml b/_toc.yml index 372691e..c8d4aae 100644 --- a/_toc.yml +++ b/_toc.yml @@ -5,6 +5,7 @@ format: jb-book root: docs/intro chapters: - file: docs/examples.md + - file: docs/gettingstarted.md sections: - file: examples/01_getting_started - file: examples/02_grain_boundaries diff --git a/docs/source/gettingstarted.md b/docs/gettingstarted.md similarity index 62% rename from docs/source/gettingstarted.md rename to docs/gettingstarted.md index 632d3b2..200dc4b 100644 --- a/docs/source/gettingstarted.md +++ b/docs/gettingstarted.md @@ -2,34 +2,38 @@ ### Supported operating systems -`pyscal_rdf` can be installed on Linux and Mac OS based systems. On Windows systems, it is recommended to use [Windows subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install). +`pyscal-rdf` can be installed on Linux and Mac OS based systems. On Windows systems, it is recommended to use [Windows subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install). -### Using a conda environment +The following instructions will help install `pyscal-rdf`: +````{tab-set} +```{tab-item} pip +`pip install pyscal-rdf` +``` + +```{tab-item} conda +`conda install -c conda-forge pyscal-rdf` +``` + +```{tab-item} from source We strongly recommend creating a conda environment for the installation. To see how you can install conda see [here](https://docs.conda.io/projects/conda/en/latest/user-guide/install/). Once a conda distribution is available, the following steps will help set up an environment to use `pyscal_rdf`. First step is to clone the repository. -``` -git clone https://github.com/pyscal/pyscal_rdf.git -``` +`git clone https://github.com/pyscal/pyscal_rdf.git` After cloning, an environment can be created from the included file- -``` -cd pyscal_rdf -conda env create -f environment.yml -``` +`cd pyscal_rdf` +`conda env create -f environment.yml` This will install the necessary packages and create an environment called rdf. It can be activated by, -``` -conda activate rdf -``` +`conda activate rdf` then, install `pyscal_rdf` using, +`pip install .` ``` -pip install . -``` +```` \ No newline at end of file From 077b5f04af3e0a94a59bcff91d8b33a8c87f4669 Mon Sep 17 00:00:00 2001 From: Sarath Menon Date: Tue, 28 Nov 2023 16:54:24 +0100 Subject: [PATCH 4/7] update getting started --- docs/gettingstarted.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docs/gettingstarted.md b/docs/gettingstarted.md index 200dc4b..769c298 100644 --- a/docs/gettingstarted.md +++ b/docs/gettingstarted.md @@ -1,10 +1,6 @@ # Installation -### Supported operating systems - -`pyscal-rdf` can be installed on Linux and Mac OS based systems. On Windows systems, it is recommended to use [Windows subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install). - -The following instructions will help install `pyscal-rdf`: +`pyscal-rdf` can be installed on Linux and Mac OS based systems. On Windows systems, it is recommended to use [Windows subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install). The following instructions will help install `pyscal-rdf`: ````{tab-set} ```{tab-item} pip From 5df08ec7ebef97c3c1502e08156da82aaf148b5e Mon Sep 17 00:00:00 2001 From: Sarath Menon Date: Tue, 28 Nov 2023 17:13:14 +0100 Subject: [PATCH 5/7] add more docs --- _toc.yml | 6 +++- docs/acknowledgements.md | 16 +++++++++++ docs/extending.md | 60 ++++++++++++++++++++++++++++++++++++++++ docs/helpandsupport.md | 11 ++++++++ docs/license.md | 34 +++++++++++++++++++++++ 5 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 docs/acknowledgements.md create mode 100644 docs/extending.md create mode 100644 docs/helpandsupport.md create mode 100644 docs/license.md diff --git a/_toc.yml b/_toc.yml index c8d4aae..7f3c23f 100644 --- a/_toc.yml +++ b/_toc.yml @@ -4,9 +4,13 @@ format: jb-book root: docs/intro chapters: - - file: docs/examples.md - file: docs/gettingstarted.md + - file: docs/examples.md sections: - file: examples/01_getting_started - file: examples/02_grain_boundaries + - file: docs/helpandsupport.md + - file: docs/extending.md + - file: docs/license.md + - file: docs/acknowledgements.md diff --git a/docs/acknowledgements.md b/docs/acknowledgements.md new file mode 100644 index 0000000..69bff34 --- /dev/null +++ b/docs/acknowledgements.md @@ -0,0 +1,16 @@ +# Acknowledgements + +## Developers + +- [Sarath Menon](http://sarathmenon.me) +- [Abril Azócar Guzmán](https://www.fz-juelich.de/profile/guzman_a.azocar) + + +## Contributers + +Please see the complete list of contributers [here](https://github.com/pyscal/pyscal_rdf/graphs/contributors). + + +## Acknowledgements + +Funding for this publication was provided by the NFDI consortium [NFDI-MatWerkl(https://nfdi-matwerk.de/) in the context of the work of the association German National Research Data Infrastructure (NFDI) e.V. NFDI is financed by the Federal Republic of Germany and the 16 federal states and funded by the Federal Ministry of Education and Research (BMBF) - funding code M532701 / the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - [project number 460247524](https://gepris.dfg.de/gepris/projekt/460247524?language=en). \ No newline at end of file diff --git a/docs/extending.md b/docs/extending.md new file mode 100644 index 0000000..a64804c --- /dev/null +++ b/docs/extending.md @@ -0,0 +1,60 @@ + +# Support, contributing and extending + +`pyscal-rdf` welcomes and appreciates contribution and extension to the +module. Rather than local modifications, we request that the +modifications be submitted through a pull request, so that the module +can be continuously improved. + +## Reporting and fixing bugs + +In case a bug is found in the module, it can be reported on the [issues +page of the repository](https://github.com/pyscal/pyscal_rdf/issues). Once a bug is reported, the status can once again monitored on +the issues page. Additionally, you are of course very welcome to fix any +existing bugs. + +## New features + +If you have an idea for new feature, you can submit a feature idea +through the [issues page of the +repository](https://github.com/pyscal/pyscal_rdf/issues). As much as +information as you can provide about the new feauture would be greatly +helpful. Additionally, you could also work on feature requests already +on the issues page. The following instructions will help you get started +with local feature development. + +### Setting up local environment + +1. The first step is to fork `pyscal-rdf`. A detailed tutorial on forking can + be found [here](https://help.github.com/en/articles/fork-a-repo). + After forking, clone the repository to your local machine. +2. We recommend creating a virtual environment to test new features or + improvements to features. See this + [link](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) + for help on managing environments. +3. Once the environment is set up, you can create a new branch for your + feature by `git checkout -b new_feauture`. +4. Now implement the necessary feature. +5. Once done, you can reinstall `pyscal-rdf` by `pip install .`. + After that please make sure that the existing tests work by running + `pytest tests/` from the main module folder. +6. If the tests work, you are almost done! If the new feature is not + covered in existing tests, you can to write a new test in the tests + folder. `pyscal-rdf` uses pytest for tests. [This + link](http://doc.pytest.org/en/latest/getting-started.html) will + help you get started. +7. Add the necessary docstrings for the new functions implemented. + `pyscal-rdf` uses the [numpy docstring + format](https://numpydoc.readthedocs.io/en/latest/format.html) for + documentation. +8. Bonus task: Set up few examples that document how the feature works + in the `docs` folder and link it to the examples section. +9. Final step - Submit a pull request through github. Before you + submit, please make sure that the new feature is documented and has + tests. Once the request is submitted, automated tests would be done. + If all tests are successful, your feauture will be incorporated to calphy and your contributions + will be credited. + +If you have trouble with any of the steps, or you need help, please +[send an email](mailto:rdf@pyscal.org) and we will be happy to +help! diff --git a/docs/helpandsupport.md b/docs/helpandsupport.md new file mode 100644 index 0000000..8c50b60 --- /dev/null +++ b/docs/helpandsupport.md @@ -0,0 +1,11 @@ +# Help and support + +In case of bugs and feature improvements, you are welcome to create a +new issue on the [github repo](https://github.com/pyscal/pyscal_rdf). You +are also welcome to fix a bug or implement a feature. Please see the +[extending and +contributing](extending) +section for more details. + +Any other questions or suggestions are welcome, please contact +[us](mailto:rdf@pyscal.org). diff --git a/docs/license.md b/docs/license.md new file mode 100644 index 0000000..5131532 --- /dev/null +++ b/docs/license.md @@ -0,0 +1,34 @@ +# License + +pyscal-rdf + +Copyright 2022 (c) Sarath Menon $^1$, Abril Azócar Guzmán $^2$ +$^1$: Max Planck Institut für Eisenforschung, Dusseldorf, Germany +$^2$: Forschungszentrum Jülich GmbH, Jülich, Germany + +pyscal-rdf is published under the MIT license: + +MIT License + +Copyright (c) 2023 pyscal-rdf + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +For more information contact: +rdf@pyscal.org \ No newline at end of file From e315f6b80d5e765cccdc17317f31d722fd5c154b Mon Sep 17 00:00:00 2001 From: Sarath Menon Date: Tue, 28 Nov 2023 17:17:46 +0100 Subject: [PATCH 6/7] fix some more docs --- _toc.yml | 1 - docs/acknowledgements.md | 2 +- docs/extending.md | 9 ++++++++- docs/helpandsupport.md | 11 ----------- 4 files changed, 9 insertions(+), 14 deletions(-) delete mode 100644 docs/helpandsupport.md diff --git a/_toc.yml b/_toc.yml index 7f3c23f..37b9a67 100644 --- a/_toc.yml +++ b/_toc.yml @@ -9,7 +9,6 @@ chapters: sections: - file: examples/01_getting_started - file: examples/02_grain_boundaries - - file: docs/helpandsupport.md - file: docs/extending.md - file: docs/license.md - file: docs/acknowledgements.md diff --git a/docs/acknowledgements.md b/docs/acknowledgements.md index 69bff34..c580dcc 100644 --- a/docs/acknowledgements.md +++ b/docs/acknowledgements.md @@ -13,4 +13,4 @@ Please see the complete list of contributers [here](https://github.com/pyscal/py ## Acknowledgements -Funding for this publication was provided by the NFDI consortium [NFDI-MatWerkl(https://nfdi-matwerk.de/) in the context of the work of the association German National Research Data Infrastructure (NFDI) e.V. NFDI is financed by the Federal Republic of Germany and the 16 federal states and funded by the Federal Ministry of Education and Research (BMBF) - funding code M532701 / the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - [project number 460247524](https://gepris.dfg.de/gepris/projekt/460247524?language=en). \ No newline at end of file +Funding for this publication was provided by the NFDI consortium [NFDI-MatWerk](https://nfdi-matwerk.de/) in the context of the work of the association German National Research Data Infrastructure (NFDI) e.V. NFDI is financed by the Federal Republic of Germany and the 16 federal states and funded by the Federal Ministry of Education and Research (BMBF) - funding code M532701 / the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - [project number 460247524](https://gepris.dfg.de/gepris/projekt/460247524?language=en). \ No newline at end of file diff --git a/docs/extending.md b/docs/extending.md index a64804c..2f7a47b 100644 --- a/docs/extending.md +++ b/docs/extending.md @@ -1,5 +1,12 @@ -# Support, contributing and extending +# Support + +In case of bugs and feature improvements, you are welcome to create a +new issue on the [github repo](https://github.com/pyscal/pyscal_rdf). You +are also welcome to fix a bug or implement a feature. + +Any other questions or suggestions are welcome, please contact +[us](mailto:rdf@pyscal.org). `pyscal-rdf` welcomes and appreciates contribution and extension to the module. Rather than local modifications, we request that the diff --git a/docs/helpandsupport.md b/docs/helpandsupport.md deleted file mode 100644 index 8c50b60..0000000 --- a/docs/helpandsupport.md +++ /dev/null @@ -1,11 +0,0 @@ -# Help and support - -In case of bugs and feature improvements, you are welcome to create a -new issue on the [github repo](https://github.com/pyscal/pyscal_rdf). You -are also welcome to fix a bug or implement a feature. Please see the -[extending and -contributing](extending) -section for more details. - -Any other questions or suggestions are welcome, please contact -[us](mailto:rdf@pyscal.org). From eaaa186f3b890c0359d0bef50f91e2ed277620e0 Mon Sep 17 00:00:00 2001 From: Sarath Menon Date: Tue, 28 Nov 2023 17:23:51 +0100 Subject: [PATCH 7/7] add book building to workflow --- .github/workflows/book.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/book.yml diff --git a/.github/workflows/book.yml b/.github/workflows/book.yml new file mode 100644 index 0000000..a2a9050 --- /dev/null +++ b/.github/workflows/book.yml @@ -0,0 +1,35 @@ +name: Jupyterbook + +on: + push: + branches: [ main ] + +jobs: + build: + + runs-on: ubuntu-latest + env: + CONDA_PREFIX: /usr/share/miniconda/ + + steps: + - uses: actions/checkout@v2 + - uses: conda-incubator/setup-miniconda@v2 + with: + python-version: "3.8" + mamba-version: "*" + channels: conda-forge,nodefaults + channel-priority: true + environment-file: environment.yml + - name: Install Jupyterbook + shell: bash -l {0} + run: | + jupyter-book build . --path-output public + - run: mv public/_build/html public_html + - run: touch public_html/.nojekyll + - name: Deploy 🚀 + uses: JamesIves/github-pages-deploy-action@3.7.1 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages # The branch the action should deploy to. + FOLDER: public_html # The folder the action should deploy. + CLEAN: true \ No newline at end of file