diff --git a/environment.yml b/environment.yml index 7b3fd35..3d0e635 100644 --- a/environment.yml +++ b/environment.yml @@ -7,5 +7,6 @@ dependencies: - matplotlib - numpy - scipy + - galsim - pip: - jupyter-book diff --git a/shearbook/_bibliography/z_psf_models.bib b/shearbook/_bibliography/z_psf_models.bib new file mode 100644 index 0000000..fe591cf --- /dev/null +++ b/shearbook/_bibliography/z_psf_models.bib @@ -0,0 +1,160 @@ +--- +--- + +@article{high2007, + abstract = {ABSTRACT Weak gravitational lensing can be used to investigate both dark matter and dark energy but requires accurate measurements of the shapes of faint, distant galaxies. Such measurements are hindered by the finite resolution and pixel scale of digital cameras. We investigate the optimum choice of pixel scale for a space‐based mission, using the engineering model and survey strategy of the proposed Supernova Acceleration Probe as a baseline. We do this by simulating realistic astronomical images containing a known input shear signal and then attempting to recover the signal using the Rhodes, Refregier, & Groth algorithm. We find that the quality of shear measurement is always improved by smaller pixels. However, in practice, telescopes are usually limited to a finite number of pixels and operational life span, so the total area of a survey increases with pixel size. We therefore fix the survey lifetime and the number of pixels in the focal plane while varying the pixel scale, thereby effectively varying the survey size. In a pure trade‐off for image resolution versus survey area, we find that measurements of the matter power spectrum would have minimum statistical error with a pixel scale of 0.09 \documentclass{aastex} \usepackage{amsbsy} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{bm} \usepackage{mathrsfs} \usepackage{pifont} \usepackage{stmaryrd} \usepackage{textcomp} \usepackage{portland,xspace} \usepackage{amsmath,amsxtra} \usepackage[OT2,OT1]{fontenc} \newcommand\cyr{ \renewcommand\rmdefault{wncyr} \renewcommand\sfdefault{wncyss} \renewcommand\encodingdefault{OT2} \normalfont \selectfont} \DeclareTextFontCommand{\textcyr}{\cyr} \pagestyle{empty} \DeclareMathSizes{10}{9}{7}{6} \begin{document} \landscape $\arcsec$\end{document} for a 0.14 \documentclass{aastex} \usepackage{amsbsy} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{bm} \usepackage{mathrsfs} \usepackage{pifont} \usepackage{stmaryrd} \usepackage{textcomp} \usepackage{portland,xspace} \usepackage{amsmath,amsxtra} \usepackage[OT2,OT1]{fontenc} \newcommand\cyr{ \renewcommand\rmdefault{wncyr} \renewcommand\sfdefault{wncyss} \renewcommand\encodingdefault{OT2} \normalfont \selectfont} \DeclareTextFontCommand{\textcyr}{\cyr} \pagestyle{empty} \DeclareMathSizes{10}{9}{7}{6} \begin{document} \landscape $\arcsec$\end{document} FWHM point‐spread function (PSF). The pixel scale could be increased to ∼0.16 \documentclass{aastex} \usepackage{amsbsy} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{bm} \usepackage{mathrsfs} \usepackage{pifont} \usepackage{stmaryrd} \usepackage{textcomp} \usepackage{portland,xspace} \usepackage{amsmath,amsxtra} \usepackage[OT2,OT1]{fontenc} \newcommand\cyr{ \renewcommand\rmdefault{wncyr} \renewcommand\sfdefault{wncyss} \renewcommand\encodingdefault{OT2} \normalfont \selectfont} \DeclareTextFontCommand{\textcyr}{\cyr} \pagestyle{empty} \DeclareMathSizes{10}{9}{7}{6} \begin{document} \landscape $\arcsec$\end{document} if images dithered by exactly half‐pixel offsets were always available. Some of our results do depend on our adopted shape measurement method and should be regarded as an upper limit: future pipelines may require smaller pixels to overcome systematic floors not yet accessible, and, in certain circumstances, measuring the shape of the PSF might be more difficult than those of galaxies. However, the relative trends in our analysis are robust, especially those of the surface density of resolved galaxies. Our approach thus provides a snapshot of potential in available technology, and a practical counterpart to analytic studies of pixelation, which necessarily assume an idealized shape measurement method.}, + author = {F. William High and Jason Rhodes and Richard Massey and Richard Ellis}, + date-added = {2021-02-26 09:42:06 +0100}, + date-modified = {2021-02-26 09:42:14 +0100}, + issn = {00046280, 15383873}, + journal = {Publications of the Astronomical Society of the Pacific}, + number = {861}, + pages = {1295--1307}, + publisher = {[The University of Chicago Press, Astronomical Society of the Pacific]}, + title = {Pixelation Effects in Weak Lensing}, + url = {http://www.jstor.org/stable/10.1086/523112}, + volume = {119}, + year = {2007}, + Bdsk-Url-1 = {http://www.jstor.org/stable/10.1086/523112}} + +@article{salmon2009, + abstract = {ABSTRACT.We analyze stellar images on 36,520 exposures made in the uu, gg, rr, ii, and zz bands with MegaCam at the focus of the 3.6 m Canada-France-Hawai′i Telescope between 2005 August and 2008 August. The effect on image quality (IQ) of temperature differences (ΔTsΔTs) in the telescope environment and of wind speed and direction are first examined and discussed. The contributions of the optics to image spread are then estimated and the frequency distribution of the observatory-free site seeing is obtained. The main findings are: (1) In the convective mode, the thermally-induced image full width at half-maximum intensity (FWHM) grows with the temperature gradient and path length LL at the rate of ∼0.2″·(ΔT/L)6/5·L3/5∼0.2″·(ΔT/L)6/5·L3/5. (2) For a given |ΔT||ΔT|, thermal convection is ∼3∼3 times more detrimental to image quality than thermal inversions. (3) The orientation of the dome slit with respect to the wind direction has important effects on IQ. (4) The median observatory induced seeing is 0.43″ FWHM. (5) The FWHM caused by the optics and slight optomechanical imperfections ranges from 0.46″ in uu to 0.28″ in ii. (6) The median DIMM-scale zenith atmospheric seeing at a wavelength of 500 nm and an elevation of 17 m above ground at the CFHT site is 0.55″. (7) The characteristics value of the outer scale of turbulence is 30 m. The paper addresses various issues bearing on the management of facility seeing.}, + author = {Derrick Salmon and Jean-Charles Cuillandre and Gregory Barrick and Jim Thomas and Kevin Ho and Grant Matsushige and Tom Benedict and Ren{\'e} Racine}, + date-added = {2021-02-25 21:41:46 +0100}, + date-modified = {2021-02-25 21:41:58 +0100}, + issn = {00046280, 15383873}, + journal = {Publications of the Astronomical Society of the Pacific}, + number = {882}, + pages = {905--921}, + publisher = {[The University of Chicago Press, Astronomical Society of the Pacific]}, + title = {CFHT Image Quality and the Observing Environment}, + url = {http://www.jstor.org/stable/10.1086/605313}, + volume = {121}, + year = {2009}, + Bdsk-Url-1 = {http://www.jstor.org/stable/10.1086/605313}} + +@inproceedings{krist2011, + author = {John E. Krist and Richard N. Hook and Felix Stoehr}, + booktitle = {Optical Modeling and Performance Predictions V}, + date-added = {2021-02-16 21:32:03 +0100}, + date-modified = {2021-02-16 21:32:12 +0100}, + doi = {10.1117/12.892762}, + editor = {Mark A. Kahan}, + keywords = {Hubble Space Telescope, point spread function}, + organization = {International Society for Optics and Photonics}, + pages = {166 -- 181}, + publisher = {SPIE}, + title = {{20 years of Hubble Space Telescope optical modeling using Tiny Tim}}, + url = {https://doi.org/10.1117/12.892762}, + volume = {8127}, + year = {2011}, + Bdsk-Url-1 = {https://doi.org/10.1117/12.892762}} + +@inproceedings{krist1995c, + author = {Krist, J. E.}, + booktitle = {Calibrating Hubble Space Telescope. Post Servicing Mission. Proceedings of a Workshop held at the Space Telescope Science Institute, in Baltimore, Maryland}, + date-added = {2021-02-18 15:44:16 +0100}, + date-modified = {2021-02-18 15:45:14 +0100}, + editor = {Anuradha Koratkar and Claus Leitherer}, + month = {May}, + title = {WFPC2 Ghosts, Scatter and PSF Field Dependence}, + year = {1995}} + +@article{massey2009, + abstract = {{Charge Transfer Inefficiency (CTI) due to radiation damage above the Earth's atmosphere creates spurious trailing in Hubble Space Telescope (HST) images. Radiation damage also creates unrelated warm pixels -- but these happen to be perfect for measuring CTI. We model CTI in the Advanced Camera for Surveys (ACS)/Wide Field Channel and construct a physically motivated correction scheme. This operates on raw data, rather than secondary science products, by returning individual electrons to pixels from which they were unintentionally dragged during readout. We apply our correction to images from the HST Cosmic Evolution Survey (COSMOS), successfully reducing the CTI trails by a factor of ∼30 everywhere in the CCD and at all flux levels. We quantify changes in galaxy photometry, astrometry and shape. The remarkable 97 per cent level of correction is more than sufficient to enable a (forthcoming) reanalysis of downstream science products and the collection of larger surveys.}}, + author = {Massey, Richard and Stoughton, Chris and Leauthaud, Alexie and Rhodes, Jason and Koekemoer, Anton and Ellis, Richard and Shaghoulian, Edgar}, + date-added = {2021-02-18 16:28:45 +0100}, + date-modified = {2021-02-18 16:28:59 +0100}, + doi = {10.1111/j.1365-2966.2009.15638.x}, + eprint = {https://academic.oup.com/mnras/article-pdf/401/1/371/18581537/mnras0401-0371.pdf}, + issn = {0035-8711}, + journal = {Monthly Notices of the Royal Astronomical Society}, + month = {12}, + number = {1}, + pages = {371-384}, + title = {{Pixel-based correction for Charge Transfer Inefficiency in the Hubble Space Telescope Advanced Camera for Surveys}}, + url = {https://doi.org/10.1111/j.1365-2966.2009.15638.x}, + volume = {401}, + year = {2009}, + Bdsk-Url-1 = {https://doi.org/10.1111/j.1365-2966.2009.15638.x}} + +@article{rhodes2010, + abstract = {We examine the effects of charge transfer inefficiency (CTI) during CCD readout on the demanding galaxy shape measurements required by studies of weak gravitational lensing. We simulate a CCD readout with CTI such as that caused by charged particle radiation damage in space-based detectors. We verify our simulations on real data from fully depleted p-channel CCDs that have been deliberately irradiated in a laboratory. We show that only charge traps with time constants of the same order as the time between row transfers during readout affect galaxy shape measurements. We simulate deep astronomical images and the process of CCD readout, characterizing the effects of CTI on various galaxy populations. Our code and methods are general and can be applied to any CCDs, once the density and characteristic release times of their charge trap species are known. We baseline our study around p-channel CCDs that have been shown to have charge transfer efficiency up to an order of magnitude better than several models of n-channel CCDs designed for space applications. We predict that for galaxies furthest from the readout registers, bias in the measurement of galaxy shapes, Δe, will increase at a rate of (2.65 $\pm$ 0.02) × 10-4 yr-1 at L2 for accumulated radiation exposure averaged over the solar cycle. If uncorrected, this will consume the entire shape measurement error budget of a dark energy mission surveying the entire extragalactic sky within about 4 yr of accumulated radiation damage. However, software mitigation techniques demonstrated elsewhere can reduce this by a factor of ∼10, bringing the effect well below mission requirements. This conclusion is valid only for the p-channel CCDs we have modeled; CCDs with higher CTI will fare worse and may not meet the requirements of future dark energy missions. We also discuss additional ways in which hardware could be designed to further minimize the impact of CTI.}, + author = {Jason Rhodes and Alexie Leauthaud and Chris Stoughton and Richard Massey and Kyle Dawson and William Kolbe and Natalie Roe}, + date-added = {2021-02-18 16:22:18 +0100}, + date-modified = {2021-02-18 16:22:27 +0100}, + doi = {10.1086/651675}, + journal = {Publications of the Astronomical Society of the Pacific}, + month = {apr}, + number = {890}, + pages = {439--450}, + publisher = {{IOP} Publishing}, + title = {The Effects of Charge Transfer Inefficiency ({CTI}) on Galaxy Shape Measurements}, + url = {https://doi.org/10.1086/651675}, + volume = {122}, + year = 2010, + Bdsk-Url-1 = {https://doi.org/10.1086/651675}} + +@article{guyonnet2015, + author = {Guyonnet, A. and Astier, P. and Antilogus, P. and Regnault, N. and Doherty, P.}, + date-added = {2021-02-18 16:03:44 +0100}, + date-modified = {2021-02-18 16:03:51 +0100}, + doi = {10.1051/0004-6361/201424897}, + issn = {1432-0746}, + journal = {Astronomy & Astrophysics}, + month = {Feb}, + pages = {A41}, + publisher = {EDP Sciences}, + title = {Evidence for self-interaction of charge distribution in charge-coupled devices}, + url = {http://dx.doi.org/10.1051/0004-6361/201424897}, + volume = {575}, + year = {2015}, + Bdsk-Url-1 = {http://dx.doi.org/10.1051/0004-6361/201424897}} + +@article{krist2003, + author = {J. Krist}, + date-added = {2021-02-18 15:59:27 +0100}, + date-modified = {2021-02-18 15:59:35 +0100}, + journal = {Applied Categorical Structures}, + pages = {6}, + title = {ACS WFC & HRC field- dependent PSF variations due to optical and charge diffusion effects}, + year = {2003}} + +@article{nino2007, + author = {Nino, Daiana and Makidon, R. and Lallo, M. and Sahu, Kailash and Sirianni, M. and Casertano, S.}, + date-added = {2021-02-18 15:56:11 +0100}, + date-modified = {2021-02-18 17:20:01 +0100}, + journal = {Instrument Science Report ACS 2008-03}, + month = {12}, + title = {HST Focus Variations with Temperatures}, + year = {2007}} + +@article{jee2011, + abstract = {The weak-lensing science of the Large Synoptic Survey Telescope (LSST) project drives the need to carefully model and separate the instrumental artifacts from the intrinsic shear signal caused by gravitational lensing. The dominant source of the systematics for all ground-based telescopes is the spatial correlation of the point-spread function (PSF) modulated by both atmospheric turbulence and optical aberrations in the telescope and camera system. In this article, we present a full field-of-view simulation of the LSST images by modeling both the atmosphere and the system optics with the most current data for the telescope and camera specifications and the environment. To simulate the effects of atmospheric turbulence, we generated six-layer Kolmogorov/von K{\'a}rm{\'a}n phase screens with the parameters estimated from the on-site measurements. LSST will continuously sample the wavefront, correcting the optics alignment and focus. For the optics, we combined the ray-tracing tool ZEMAX and our simulated focal-plane data to introduce realistic residual aberrations and focal-plane height variations. Although this expected focal-plane flatness deviation for LSST is small compared with that of other existing cameras, the fast focal ratio of the LSST optics cause this focal-plane flatness variation and the resulting PSF discontinuities across the CCD boundaries to be significant challenges in our removal of the PSF-induced systematics. We resolve this complication by performing principal component analysis (PCA) CCD by CCD and by interpolating the basis functions derived from the analysis using conventional polynomials. We demonstrate that this PSF correction scheme reduces the residual PSF ellipticity correlation below 10-7 over the cosmologically interesting (dark-matter-dominated) scale 10′--3$\,^{\circ}$. From a null test using the Hubble Space Telescope (HST) Ultra Deep Field (UDF) galaxy images without input shear, we verify that the amplitude of the galaxy ellipticity correlation function, after the PSF correction, is consistent with the shot noise set by the finite number of objects. We conclude that the current optical design and specification for the accuracy in the focal-plane assembly are sufficient to enable the control of the PSF systematics required for weak-lensing science with LSST.}, + author = {M. James Jee and J. Anthony Tyson}, + date-added = {2021-02-18 15:48:14 +0100}, + date-modified = {2021-02-18 15:48:21 +0100}, + doi = {10.1086/660137}, + journal = {Publications of the Astronomical Society of the Pacific}, + month = {may}, + number = {903}, + pages = {596--614}, + publisher = {{IOP} Publishing}, + title = {Toward Precision {LSST} Weak-Lensing Measurement. I. Impacts of Atmospheric Turbulence and Optical Aberration}, + url = {https://doi.org/10.1086/660137}, + volume = {123}, + year = 2011, + Bdsk-Url-1 = {https://doi.org/10.1086/660137}} + +@article{LSST2009, + adsnote = {Provided by the SAO/NASA Astrophysics Data System}, + adsurl = {http://adsabs.harvard.edu/abs/2009arXiv0912.0201L}, + archiveprefix = {arXiv}, + author = {{LSST Science Collaboration} and {Abell}, P.~A. and {Allison}, J. and {Anderson}, S.~F. and {Andrew}, J.~R. and {Angel}, J.~R.~P. and {Armus}, L. and {Arnett}, D. and {Asztalos}, S.~J. and {Axelrod}, T.~S. and et al.}, + eprint = {0912.0201}, + journal = {arXiv e-prints}, + keywords = {Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Cosmology and Extragalactic Astrophysics, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Galaxy Astrophysics, Astrophysics - Solar and Stellar Astrophysics}, + month = dec, + primaryclass = {astro-ph.IM}, + title = {{LSST Science Book, Version 2.0}}, + year = 2009} diff --git a/shearbook/_static/psf-HST-obscurations.png b/shearbook/_static/psf-HST-obscurations.png new file mode 100644 index 0000000..c861dc3 Binary files /dev/null and b/shearbook/_static/psf-HST-obscurations.png differ diff --git a/shearbook/_static/psf-HST-surface-errors.png b/shearbook/_static/psf-HST-surface-errors.png new file mode 100644 index 0000000..af93de3 Binary files /dev/null and b/shearbook/_static/psf-HST-surface-errors.png differ diff --git a/shearbook/_static/psf-atmospheric-screen.png b/shearbook/_static/psf-atmospheric-screen.png new file mode 100644 index 0000000..ce5dc43 Binary files /dev/null and b/shearbook/_static/psf-atmospheric-screen.png differ diff --git a/shearbook/_static/psf-charge-difussion-effects.png b/shearbook/_static/psf-charge-difussion-effects.png new file mode 100644 index 0000000..d1b469b Binary files /dev/null and b/shearbook/_static/psf-charge-difussion-effects.png differ diff --git a/shearbook/_static/psf-dome-seeing.png b/shearbook/_static/psf-dome-seeing.png new file mode 100644 index 0000000..29da38a Binary files /dev/null and b/shearbook/_static/psf-dome-seeing.png differ diff --git a/shearbook/_static/psf-filters.png b/shearbook/_static/psf-filters.png new file mode 100644 index 0000000..fd4294a Binary files /dev/null and b/shearbook/_static/psf-filters.png differ diff --git a/shearbook/_static/psf-misalignments.png b/shearbook/_static/psf-misalignments.png new file mode 100644 index 0000000..29f5e44 Binary files /dev/null and b/shearbook/_static/psf-misalignments.png differ diff --git a/shearbook/_static/psf-pixelation.png b/shearbook/_static/psf-pixelation.png new file mode 100644 index 0000000..5e7267d Binary files /dev/null and b/shearbook/_static/psf-pixelation.png differ diff --git a/shearbook/_static/psf-scatter-light.png b/shearbook/_static/psf-scatter-light.png new file mode 100644 index 0000000..73aa4cf Binary files /dev/null and b/shearbook/_static/psf-scatter-light.png differ diff --git a/shearbook/_static/psf-typical-aberrations.png b/shearbook/_static/psf-typical-aberrations.png new file mode 100644 index 0000000..03a0063 Binary files /dev/null and b/shearbook/_static/psf-typical-aberrations.png differ diff --git a/shearbook/_static/psf_wavefron_aberrations.png b/shearbook/_static/psf_wavefron_aberrations.png new file mode 100644 index 0000000..30f62ec Binary files /dev/null and b/shearbook/_static/psf_wavefron_aberrations.png differ diff --git a/shearbook/_toc.yml b/shearbook/_toc.yml index aa5aba1..02bb91b 100644 --- a/shearbook/_toc.yml +++ b/shearbook/_toc.yml @@ -6,6 +6,17 @@ - file: intro/about - file: intro/run_code +- part: Point Spread Function + chapters: + - file: psf/psf-intro + sections: + - file: psf/psf-origins-nb + - file: psf/psf-modelling + sections: + - file: psf/non-parametric-model + - file: psf/parametric-model + - file: psf/psf-models-ref + - part: Shape Measurement chapters: - file: moments/moments-intro diff --git a/shearbook/psf/non-parametric-model.md b/shearbook/psf/non-parametric-model.md new file mode 100644 index 0000000..1ca4edd --- /dev/null +++ b/shearbook/psf/non-parametric-model.md @@ -0,0 +1,15 @@ +# Non-parametric + +```{warning} +In progress! +``` + +Describe the PSF modelling problem. Use stars to build a model and try to recover the PSF at galaxy positions. + +Describe the main idea of a non-parametric model of the PSF. + +Give an example, PSFEx (and MCCD maybe?). + +_(Note) Should I give a more mathematical description of how one of the models (PSFEx for example) is build?_ + +_Maybe I can add some figures from the MCCD paper. Showing some of the eigenPSFs learned. Also, some observed CFIS star and the estimated PSF model._ diff --git a/shearbook/psf/parametric-model.md b/shearbook/psf/parametric-model.md new file mode 100644 index 0000000..0d51daf --- /dev/null +++ b/shearbook/psf/parametric-model.md @@ -0,0 +1,13 @@ +# Parametric + +```{warning} +In progress! +``` + +Describe the PSF modelling problem. Characterise the model as much as possible and try to fit the reduced number of parameters with observed stars. Then use the model to recover PSFs at galaxy positions. + +Describe the main idea of a parametric model of the PSF. + +Give an example, TinyTim. + +_(Note) Should I give an example like of how the PSF is generated following an optic model? _ diff --git a/shearbook/psf/psf-intro.md b/shearbook/psf/psf-intro.md new file mode 100644 index 0000000..40c7e39 --- /dev/null +++ b/shearbook/psf/psf-intro.md @@ -0,0 +1,8 @@ +# Introduction to the PSF + +In this section we will.. + +**Contents** + +```{tableofcontents} +``` diff --git a/shearbook/psf/psf-modelling.md b/shearbook/psf/psf-modelling.md new file mode 100644 index 0000000..d973360 --- /dev/null +++ b/shearbook/psf/psf-modelling.md @@ -0,0 +1,8 @@ +# PSF Modelling + +In this section we will go through the two main families of Point Spread Function modelling methods. + +**Contents** + +```{tableofcontents} +``` diff --git a/shearbook/psf/psf-models-ref.md b/shearbook/psf/psf-models-ref.md new file mode 100644 index 0000000..3f8011a --- /dev/null +++ b/shearbook/psf/psf-models-ref.md @@ -0,0 +1,5 @@ +# References + +```{bibliography} ../_bibliography/z_psf_models.bib +:all: +``` diff --git a/shearbook/psf/psf-origins-nb.ipynb b/shearbook/psf/psf-origins-nb.ipynb new file mode 100644 index 0000000..eea4b90 --- /dev/null +++ b/shearbook/psf/psf-origins-nb.ipynb @@ -0,0 +1,460 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "hollow-remark", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import galsim as gs\n", + "from shrbk.plot_psfs import *\n" + ] + }, + { + "cell_type": "markdown", + "id": "municipal-torture", + "metadata": {}, + "source": [ + "# Sources of the PSF\n", + "\n", + "In this section we give the definition of the PSF and go through the different contributors of the PSF.\n" + ] + }, + { + "cell_type": "markdown", + "id": "whole-conversion", + "metadata": {}, + "source": [ + "## Definition\n", + "\n", + "We can vaguely define the Point Spread Function as the response of imaging system to a point source. The concept of PSF is used throughout many imaging applications, some of them are astronomical imaging and medical imaging. Depending on the science application the definition and its sources may vary. However, they all include the [diffraction](https://en.wikipedia.org/wiki/Diffraction) phenomena. The fact of having a non-infinite lens sets a limit on the resolution of the imaging system.\n", + "\n", + "We will focus on PSFs for astronomical imaging and analyze its main sources.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "increased-vermont", + "metadata": {}, + "source": [ + "## Contributors to the PSF\n", + "\n", + "\n", + "### Optic level\n", + "\n", + "- __Mirrors__\n", + " - _Aberrations_\n", + " - There are imperfections in the curvature of mirrors producing different types of aberrations. These introduce optical path differences for the incoming light rays producing features in the PSF. \n", + " \n", + "```{figure} ../_static/psf_wavefron_aberrations.png\n", + "---\n", + "height: 300px\n", + "name: psf_wavefron_aberrations\n", + "---\n", + "Illustration of the optical path differences in a lens. Note that current telescopes are build with _mirrors_ but the illustration shows a _lens_. Credit: Austin Roorda.\n", + "\n", + "```\n", + "\n", + "```{figure} ../_static/psf-typical-aberrations.png\n", + "---\n", + "height: 150px\n", + "name: psf-typical-aberrations\n", + "---\n", + "Typical aberrations with simulated in-focus stars with typical seeing. Credit: Aaron Roodman.\n", + "\n", + "```\n", + "\n", + "- __Mirrors__\n", + " - _Size_\n", + " - The size of the main mirror has a direct implicance to the size of the PSF. Following the diffraction theory, the larger the mirror for the lens, the smaller size the PSF should have. There are practical limitations on the maximal sizes of mirrors that are due to the manufacturing process. \n", + " - _Polishing effects_\n", + " - The polishing of the mirrors aims to have a perfectly smooth surface. However, the manufacturing process is not perfect and small errors remain in the surface of the mirrors. They are sometimes referred to as _surface errors_.\n", + "\n", + "```{figure} ../_static/psf-HST-surface-errors.png\n", + "---\n", + "height: 200px\n", + "name: psf-HST-surface-errors\n", + "---\n", + "Surface errors estimated for the Hubble Space Telescope. They are in the range of +/- 30nm. Credit: {cite}`krist2011`.\n", + "\n", + "```\n", + "\n", + "- __Optical system__\n", + " - _Misalignment_\n", + " - Misalignement of optical elements can cause a defocus of the system. For example, in Figure 7 and 8 from {cite}`jee2011` one can see the effects of Charge-Coupled Devices (CCD) misalignements on the focal plane on a simulation of the LSST mission {cite}`LSST2009`.\n", + "\n", + "```{figure} ../_static/psf-misalignments.png\n", + "---\n", + "height: 400px\n", + "name: psf-misalignments\n", + "---\n", + "Simulated focal plane of LSST. We used the CCD assembly/fabrication specification in Table 1 to generate the LSST focal plane tiled by 189 CCDs. Credit: {cite}`jee2011`.\n", + "\n", + "```\n", + "\n", + "- __Optical system__\n", + " - _Scattered light_\n", + " - It consist of spuriours reflections within the optical system and the detector. An example for the HST mission can be found in Fig 3 in {cite}`krist1995c`.\n", + "\n", + "\n", + "- __Optical system__\n", + " - _Wavelength dependency_\n", + " - The optical system is composed by several elements where some of them can be non-ideal refractive elements. This means that they introdcuce a wavelength dependance variation.\n", + " - _Obscurations_\n", + " - Depending on the optical system design it might require arms to sustain the camera or even superposing mirrors that block each other. These obscurations modify the shape of the PSF and vary depending on the source's angle of incidence. They are 3D structures that are projected on the 2D pupil plane.\n", + "\n", + "```{figure} ../_static/psf-HST-obscurations.png\n", + "---\n", + "height: 200px\n", + "name: psf-HST-obscurations\n", + "---\n", + "Projected obscurations of the Hubble Space Telescope. Credit: {cite}`krist2011`.\n", + "\n", + "```\n", + "\n", + "- __Filters__\n", + " - Passband\n", + " - The filters serve to select the wavelengths incoming to the detector. Ideally they would be a perfect band-pass filter, begin one at the desired wavelength range and zero on the other wavelengths. However, it is not possible to manufacture an ideal filter. A real one does not have an abrupt transition, meaning that there are out-of-band contributions. It is also non-flat, meanining that the passband is near the unity but it changes with the wavelength. See this [page](https://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/en/megapipe/docs/filt.html) to visualise some examples of filters.\n", + "\n", + "```{figure} ../_static/psf-filters.png\n", + "---\n", + "height: 300px\n", + "name: psf-filters\n", + "---\n", + "MegaCam filter set transmission for broad band filters u, g, r, i and z. Credit: [CFHT](https://www.cfht.hawaii.edu/Instruments/Imaging/Megacam/specsinformation.html).\n", + "\n", + "```\n", + "\n", + "\n", + "### Ground-based\n", + "\n", + "- __Atmosphere__\n", + " - The atmosphere plays a central role in ground-based observations. The refractive index of the atmosphere varies rapidly with the position generating different optical paths for the incoming light. As a consequence, the way it affects the PSF changes if we consider short-term exposures or long-term exposures. It also depends of the incoming wavelength. See {cite}`jee2011` for a first study on the Legacy Survey of Space and Time (LSST) from the Vera C. Rubin Observatory.\n", + "\n", + "```{figure} ../_static/psf-atmospheric-screen.png\n", + "---\n", + "height: 300px\n", + "name: psf-atmospheric-screen\n", + "---\n", + "Six layers of Kolmogorov/von Karman phase screens used for the atmospheric turbulence model. These phase screens represent the variations of the refractive index for different heights in the atmosphere. Credit: {cite}`jee2011`.\n", + "\n", + "```\n", + "\n", + "- __Observing environment__\n", + " - The temperature differences in the telescope environment as well as the wind speed and direction on the surroundings of the telescope can affect its image quality. See {cite}`salmon2009` for a study on the Canada-France-Hawaii Telescope (CFHT).\n", + " \n", + "```{figure} ../_static/psf-dome-seeing.png\n", + "---\n", + "height: 300px\n", + "name: psf-dome-seeing\n", + "---\n", + "Frame of the [video](https://www.youtube.com/watch?v=HU1i6JzvIzY) that shows a Giant Magellan Telescope's simulation of refractive index variations as a function of temperature and wind speed and direction.\n", + "\n", + "``` \n", + " \n", + "\n", + "### Space-based\n", + "\n", + "- __Guiding errors__\n", + " - The satellite should remain perfectly still during an exposure. This is not the case and there exist a pointing error making the exposure the integration of the varyign satellite pointing. It sometimes referred as _Jitter_ or _Attitude and Orbit Control System_.\n", + "- __Thermal variations__\n", + " - The satellite experiences time where the sun is closer or were it is eclipsed by other object. This can occasionate high temperature changes in the space telescope. These temperature variations dilate and contract the optical system making it change of state as a function of temperature. It is sometimes to as _telescope's breathing_ for its repetitive pattern due to the orbits. See {cite}`nino2007` for an HST study of temperature variations.\n", + "- __Polarisation__\n", + " - Starlight can be naturally polarised by galactic foreground dust. The different polarisations that the incoming light has can interact differently with refractive elements of the optical system. This occasionates variations that are polarisation dependent. This source is currently being studied. \n", + "\n", + "\n", + "### Detector level\n", + "\n", + "\n", + "- __Undersampling and pixelation__\n", + " - Many detectors, specially space-based ones, are undersampled or not Nyquist sampled. Generally, several exposures of the same object with small shifts are taken in order to super-resolve the object. The pixelation effect, the fact of using a limited number of pixels also affects the PSF and will impact the shear measurements. See {cite}`high2007` for a study of pixelation effects in weak lensing. See Section 3.5 and Figure 4 from {cite}`krist2011` for an analysis of these effects on the HST telescope.\n", + " \n", + "```{figure} ../_static/psf-pixelation.png\n", + "---\n", + "height: 300px\n", + "name: psf-pixelation\n", + "---\n", + "On top, the computed 336 nm HST PSF prior to pixellation. Below it is the PSF centered at the middle of a pixel and in the corner, integrated over the WFPC2 WF pixel area, shown at the same spatial scale. Credit: {cite}`krist2011`.\n", + "\n", + "``` \n", + "\n", + "\n", + "- __Charge Diffusion Effect__\n", + " - There is a charge diffusion of the electrons between the pixels. It depends on the depth of the substrate and on the wavelength. It varies in the field of view as seen in {cite}`krist2003` on a study for the HST mission. It can be modelled as a varying convolutional kernel.\n", + " \n", + "```{figure} ../_static/psf-charge-difussion-effects.png\n", + "---\n", + "height: 200px\n", + "name: psf-charge-difussion-effects\n", + "---\n", + "Surface fits to the measured WFC charge diffusion blur kernel widths shown over the entire field of view (WFC1 & WFC2 butted together). The images are scaled to the same linear range. Credit {cite}`krist2003`.\n", + "\n", + "``` \n", + " \n", + "- __Charge Transfer Inefficiency__\n", + " - This phenomenon describes the inefficiency of transfering the charge when reading CCD detectors. It can be caused by charged particle radiation damage in space-based detectors. See {cite}`rhodes2010` and {cite}`massey2009`for studies of this phenomenon.\n", + "- __Brighter Fatter Effect__\n", + " - Each pixel in an camera is not independent of each other. One charge starts accumulating it modifies boundary pixel's electric fields. This occasionates a variation of the PSF size as a function of the flux and the wavelength. See {cite}`guyonnet2015` for a study and a model of the effect.\n", + "- __Quantum efficiency__\n", + " - This effect describes the ratio of created electrons from the number of incoming photons. It depends on the wavelength and on the detector's technology.\n", + " \n", + "- __Other effects__\n", + " - Analog-to-Digital Unit non-linearity\n", + " - Thermal noise\n", + " - Background estimation and subtraction\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "catholic-jenny", + "metadata": {}, + "source": [ + "## Examples of PSFs\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "destroyed-cloud", + "metadata": {}, + "source": [ + "- __Airy PSF__ \n", + "\n", + "If we dispose of an optical system with an aberration-free lens with a circular aperture, the resulting PSF would be the Airy disk [ref](https://en.wikipedia.org/wiki/Airy_disk). Its only contributor would be the diffraction phenomena.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "derived-wheel", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + " \n", + "lam = 700 # nm (r-band most used band for weak lensing aplications)\n", + "diam = 1.0 # meters\n", + "image_size = 51 # pixels\n", + "pixel_scale = 0.04 # arcsec / pixel\n", + "\n", + "airy = gs.Airy(lam=lam, diam=diam, scale_unit=gs.arcsec)\n", + "airy_psf = gs.ImageF(image_size, image_size)\n", + "_ = airy.drawImage(image=airy_psf, scale=pixel_scale)\n", + "\n", + "plot_psf(airy_psf.array)" + ] + }, + { + "cell_type": "markdown", + "id": "activated-kidney", + "metadata": {}, + "source": [ + "- __Ground-based PSF__\n", + "\n", + "The PSFs observed with a ground-based optical system generally include the effects of the atmosphere. It can be seen as a varying low-pass filter so the PSFs will look more like blobs where the finer details were averaged by the atmosphere. We use a Moffat profile to model this type of PSF [ref](https://en.wikipedia.org/wiki/Moffat_distribution) for a long-exposure of a ground-based detector.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "biological-fountain", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/QAAAEWCAYAAADINtzCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABkvklEQVR4nO3deZxkdX3v/9e7u2dh2HdHloA6LkgUFRm3qFFUIBrUBKPGiMaEECUmN95fxOhNzOK9ZHGJyhURiXA1Iomi3EiC4I1xiWwiIgiEAREGJuCwDMvATC+f3x/nNNb5ntN1qrqrq87pfj8fj3pMf8/6rerqz5xv1fl8vooIzMzMzMzMzKxdxkbdATMzMzMzMzPrnwf0ZmZmZmZmZi3kAb2ZmZmZmZlZC3lAb2ZmZmZmZtZCHtCbmZmZmZmZtZAH9GZmZmZmZmYt5AG9mZnZiEi6RdKRAzjOyyV9eQBd6naOD0k6cTHPYWY2KJLeIunb89x3b0k3SFo96H4l5/mOpGcs4vH3lXSdpFUdy94p6ZTFOqcNnwf01pf84vNhSQ9KulPS30vaSdJTJX1N0r2S7pP0PUnH5Pu8WNJMvs/s4/+O+rmYmS0h/xN49AJNUkh6KI+3t+eD8fF83Qsk/YekLZLuyS8on52ve4uk6SRefzw/7N8A75W0cujPzsxsuE4G/j4iHgGQ9A1JjySx8bn5us54+2B+HXxaR3u7pMmO9r/k+70KeCAivp+339+x3X15nJ49x0pJH5S0MV//Y0kfnu1scn0++3hsRNwJ/BtwQsdzOx14k6R9hvFC2uLzgN7m41URsRPwTODZwPuA/wtcBOwL7AO8E7i/Y587ImKnjserht1pM7OlKB+M7xoRlySrnp7H6pcCbwR+W9IuwD8DHwP2APYD/gzY1rHfd5N4fRJARGwCrgd+eXGfkZnZ6OTfZh8PfDZZdVISG7/bse7pHct3i4gTZ9tkH7h+oWP90fk+JwL/JznHF/J99ga+DXxJkoD3AIcDRwA7A78IfD/Z91VJ/+7Il38O+J3ZjfIPKf4FeHPfL441kgf0Nm8RcTtZQDgUOBj4VERszx/fiYh53eZkZrbcSFol6SOS7sgfH0lukfwjSZvydb+VfyP0hHz10cC/z3XsiLge+BZZrH5ivuzzETEdEQ9HxNci4uoeu/oN4Jfm8xzNzBaDpJMl3STpAUk/kvSa4mp9LL8j6XpJL+1Y8RZJN+f7/VjSr+er1gP3RcTGRezzSuAlzBG7I2ISOAt4DLAn2Rdo50XEHZG5JSLO7vF0lwKPk/RzHcu+gWP5kuEBvc2bpAOAY8g+IdwAfFbSqyXtO9qemZm1znuB5wCHAU8n+xbmfQCSjgL+EDgSeALwomTfnwdumOvAkg4BfoEsVv8nMC3pLElHS9q9z35el/fPzKwpbiKLcbuS3XH0WUlr83XrgZuBvYA/JfvGew9JOwIfBY6OiJ2B5wFX5ft0jakDsg6YmetDg/wD3bcAGyNiM3AJ8IeS3i7p5/Nv7XsSEVNk1+mdsduxfAnxgN7m48uS7iO7FejfyW4l+kXgFuCDwCZJ35S0rmOfx+b5QLOP1w2702ZmDfbrwJ9HxF0R8VOyi9LfyNe9jiyX89qI2Jqv67Qb8EDFMa+UdC9ZStQZ+THuB14ABPAp4KeSzk8+iH1OEq+f07Hugfx8ZmaNEBH/mH9zPRMRXwBuJPtQFOAu4CMRMZmvu4GffTM9AxwqaYeI2BQR1+bLd6M6pn60Iy5emay7smPdR3vo9lzneF1+jX0b8Czg1fny/wX8Fdn/FVcAt0s6Ptn3yx19+HKyLo3dD5B9AGJLwMSoO2Ct9OqIuDhZthE4CR795v504Gzgufn6OyJi/+F10cysVR4L/KSj/ZN82ey6KzrW3Zbsey9ZTmXqmRGxIV0YEdeRffODpCeT5Yl+BHhDvsklEfGCOfq5M3DfHOvMzIZO0pvJ7mI6KF+0E9k38tPA7RERHZv/BHhsRDwk6deA/w58WtJ3gHflKUpzxdR3RsQZc3SjMt52Mdc5zo2IN6ULI2IaOBU4VdIOwG8CZ0q6LI/pUH19PiuN3TsDW/rorzWYv6G3gYuI28iCzqGj7ouZWUvcAXTmNx6YLwPYBHR+IHpAsu/V5Lnx/covXj9D7/H6KcAP5nMuM7NBy/PCP0X2pdKeEbEbcA0we0v6fsnt6Y/G1oi4MCJeBqwlK/j5qXybecfUPtyYdV/79btjXvvkVLIPBQ6p217SBFm6VmfsdixfQjygtwWTtLukP5P0BEljkvYi++QwrbhsZmbVPg+8T9ncx3sBf8LPKiyfC7xV0lMkrcnXdbqAcl59JUlPlvQuSfvn7QPIvpnvNV6/iKwYqplZE+xIlkL0UwBJb6X4AeU+wDslrZB0HNlA9gJl87P/cp5Lvw14kOwbfYDLgN3mM9juVV707mJ6j91/oGwa6B0kTeS32+9MudJ9lSOAWyKi8y4wx/IlxAN6G4TtZLc5XUw2Vd01ZMHxLaPrkplZq/wl2W31VwM/BK7MlxER/0JWvOnfyAobzU6VtC1ffyWwRdL6Hs7zAFmRqEslPUQ2kL8GeFfdjnmRqUOAL/f6pMzMFlNE/IisftN3gTvJCtp9p2OTS8kK0G0GPgD8akTcTTYGehfZt/X3kA1w354fczvZnUulW98H7JP8rFZKnYfJnud/kT2XdwC/EhE397DvrwOnzTYkrSYran1WX721xlIxrcTMzMyaTNJTyAbhq/LqxUh6OfD2iHj1Ip73g8BNEfG/F+scZmZNIGlvsuk+nxERDy/ieb4N/F5E9PJN+3yOvw9ZAetn5PPPI+n3gAMi4o8W45w2fB7Qm5mZNVw+r/JXyW4vPYtsuqNXj7RTZmZmNnK+5d7MzKz5focsR/QmsjzP3x1td8zMzKwJ/A29mZmZmZmZWQst6jf0km6R9ENJV0m6Il+2h6SLJN2Y/7v7YvbBzGy5cyw2szqS/rukyGdZsAFzHDazxbKo39BLugU4PCI2dyz7a+CeiDhF0snA7hHx7prj+DYCs0UWEY/O03rUUUfF5s2bu23+qO9973sXRsRRi9YxW7BBxOI0Dq9BpW12UnHZjsk2OybrV6r8mfJ0ss90sk/d+mxZ8bgzNet72WYmOW+6PcBM0peo2Scq+p7+Z5ceY7H+M0x7ouRMpfUV1w7pq5oeY6yHfcaSfcZjJllfVrdNuj5blpyndN7u6wG2J8d9KNnnoWSfByue/9bycTdHxN4w3DicT194BvBk4FmdscIGw9fEZu3RtmviiWGfEDgWeHH+81nAN4CuwcvMhmvz5s1cccUVPW3rb3Naa0Gx+NDxFaVl68dX9tU+MGkDbEmW9dsGuD9ZtnWs+F9d1T5bNV7cZmJV12Ok7aplk8mHAuk5JseK7ap9Su2KD1IGYUUysFyRDFZL7ZlpUmuiuCzdZ83MVHmfZFna3nVqW9dzAOw6vb3rMXZJ1lft028b4NZk2aV9tgEuKy97dJ7oIcfhDwN/BHxlgcex/via2Kzh2nBNvNgD+gC+ln+a+MmIOB3YNyI2AUTEpnw6hRJJJwAnLHL/zKxSkM+GZUvDvGKx47DZKA0nDkv6ZeD2iPiBKu4asYHxNbFZKzX/mnixB/TPj4g78gB1kaTre90xD3Sng28vMhu+YGZmW/1m1hbzisWOw2aj1Fcc3ms2Lzt3ev73C4Cki4HHVOz3XuCPgZfPu5vWK18Tm7VS86+JF3VAHxF35P/eJek84AjgTklr808i1wJ3LWYfzKx/Ec3/NNJ6N4hYvAYVbrNPb5+vWpa2106sLrQ3D+CW+/T2+sp9xorpAent9FBxW36yz9YkxSC9fb6XbdL16e30UL6lPr0tv2qfQai7pb7ulnyANdOTxXZye3y6vpdt0t9L1W376eu860zxGJWvc11qQ00bYG2ybH1pi/513oLfZxzeHBGHz7UyIo6sWi7p54GDgdlv5/cHrpR0RET8V68nt3q+JjZrpzZcEy9alXtJO0raefZnsk9/rwHOB47PNzse52uZNVAWvHp5WLM5Fpu11eLH4Yj4YUTsExEHRcRBwEbgmR7MD5bjsFmbNf+aeDG/od8XOC//xHcC+IeI+FdJlwPnSnobcCtw3CL2wczmpfmfRlrPHIvNWslxeAlxHDZrrebH4kUb0EfEzcDTK5bfDbx0sc5rZoMRFdWkrX0ci83aa9hxOP+W3gbMcdis3Zp+TTyKaevMrPGa/2mkmdnS5jhsZjZ6zY/FHtCbWUnEDDMzj4y6G9YgO0mFIndVRfGOToreraopaLc52b5qm7To3ebxYkG7qgJ3tYX1koJ3UC5YV7dPuj3UF8Gbzzz0RyRt9VQUL516rL4odiRF7i6bzzz0E90L3KXrq7bZdTwpipfOMV9RWC8tnJfuk66H8u9iah5F8VJrk/bR8yhgWCyK5zhsZjZqbYjFHtCbWaWmfxppZrbUOQ6bmY1e02PxolW5N7M2CyKme3rUkXSUpBskbZB0csV6Sfpovv5qSc/Mlx8g6d8kXSfpWkm/37HPHpIuknRj/u/uHevekx/rBkmvGNALYmY2ZIOLw2ZmNl/Nj8Ue0JtZhcFM0SFpHDgVOBo4BHiDpEOSzY4G1uWPE4BP5MungHdFxFOA5wDv6Nj3ZODrEbEO+HreJl//euCpwFHA/877YGbWMs2fKsnMbOlrfiz2LfdmVhIxsAIgRwAb8gq/SDoHOBb4Ucc2xwJnR0QAl0jaTdLaiNgEbMr784Ck64D98n2PBV6c738W8A3g3fnycyJiG/BjSRvyPnx3EE9mOduR+hz6fnPmq3Lo05z5NHc93acqh760TU2/qs6THjfNw+4lD399ss9Y0q7Kh6/bprcc+v6lOfQvSNozM8V4kG5ftc2lSbsq/z3Nmd+S7LPr1Lau20N9znxV/vtkqc5Asn4eOfSpXZP2+orXLPWxjp8HGIfNzGye2hCLPaA3swrBzMy2+s0ye0m6oqN9ekScnv+8H3Bbx7qNwPpk/6pt9iMfzANIOgh4BnBpvmjffMBPRGyStE/HsS6pOJaZWcv0FYfNzGxRND8We0BvZhX6+jRyc0QcPse6qq/B0pLbXbeRtBPwReAPIuL+mr70cj4zsxZo/rdCZmZLX/NjsQf0ZlYywNuLNgIHdLT3B+7odRtJK8gG85+LiC91bHPn7G35ktYCd/VxPjOzxmvDbZ5mZktdG2KxB/RmVmlAwetyYJ2kg4HbyQrWvTHZ5nzgpDy/fj2wJR+oC/g0cF1EfKhin+OBU/J/v9Kx/B8kfQh4LFmhvcsG8USWux2TeejX9jCHfF3OfJov38s+dTn1UM5/r8upr1qWnufQ5JgHVRwjzX/vtw3lHPmqber2qVOV/56qy5lP11cte37SrtpnOsl/vybJma+bY75qm1L+e8WNO+myybFi7czJqcHPOZzOUw/l/KNU0y8izcyWg6bHYg/ozaxCDGT6jYiYknQScCEwDpwZEddKOjFffxpwAXAMsAHYCrw13/35wG8AP5R0Vb7sjyPiArKB/LmS3gbcChyXH+9aSeeSFc6bAt4RntPJzFppMHHYzMwWovmx2AN6M6swuNuL8gH4Bcmy0zp+DuAdFft9m+qceCLibuClc6z7APCBBXTZzKwBmn+bp5nZ0tf8WOwBvZmVRAQzM4O/5dTMzHrjOGxmNnptiMUe0JtZheZ/GmnDtVJjHNiRN755Hvnvac58Vf573THqcup72qdi7vonJdukOfLjNW0o57un25TnmC/mbWfbjCfb1M9DP4gc+nRZOWd+Ollfvv0wzZFP8+N7yaF/evKapetvqMht35q8jqX8+Koc+iHkzPfiwK71DByHzcxGr/mx2AN6M6vQ/HwhM7OlzXHYzGz0mh+LPaA3swrN/zTSzGxpcxw2Mxu95sdiD+jNrELzg5eZ2dLmOGxmNnrNj8Ue0JtZSVYAZFv9hmZmtigch83MRq8NsdgDejOr0PxPI224phFbOgqWbakoCpcuqyuCN4iiePM5xjMr+j6RbJMWtKtbDzCWFOgbH0/b3YvkZYoF3NJj9FsAr1dpEbzp6cl0i0KrlwJ36TFmZtJjlveZSorTpa/Rkyue/5XJNqWCd2Pl4oPDKIK3InlN0/Zcy37GcdjMbPSaH4s9oDezCs0PXmZmS9vw4rCk3wNOAqaAr0bEHw3lxGZmjdf8a2IP6M2sUtODl5nZUjeMOCzpF4FjgadFxDZJ+yz6Sc3MWqTp18Qe0JtZSUTzP400M1vKhhiHfxc4JSK25ee9axgnNTNrgzZcE3tAb2YVmj/npg3XtOpz6NOc+S1JTvkg8t83rVjT9zGem7TTfPiqZWm++/j4qmT7Yrt6n+7tqhx6aTzZZjxZX84h7zevPs2Xr1o2MzOdrJ9O1veSQ9+9DTA1VSw0lL4m6T5Vr9nhST78d5PXY7Li9alatlArktdsxfggcuiHEoefCPyCpA8AjwD/PSIuH8aJzcyar/nXxB7Qm1mFYGZm8YtGmZnZXPqKw3tJuqKjfXpEnD7bkHQx8JiK/d5Ldi24O/Ac4NnAuZIeFxFRsb2Z2TLT/GtiD+jNrELzby8yM1va+orDmyPi8DmPFHHkXOsk/S7wpXwAf5mkGWAv4Kf99NbMbGlq/jWxB/RmVpLlCzX79iIzs6VsiHH4y8BLgG9IeiKwEtg8jBObmTVdG66JPaA3swrN/zTShquXeeg3J3nmaS57XU591bK6nPmqYzwv2SfNj+8lh77fNlTlyBefb5p3X5UPni5L28PLoZ/qqw3lfPh03vmqHPrx8eJtjFNTK5J2cX0vz/95Sfs/SnsMRilnvuI90WmiufPQnwmcKekaYDtwvG+3NzOb1fxrYg/ozaxS04OXmdlSN4w4HBHbgTct+onMzFqq6dfEHtCbWYXmfxppZra0OQ6bmY1e82OxB/RmVhIxw8zMtvoNeyDpKODvgHHgjIg4JVmvfP0xwFbgLRFxZb7uTOCVwF0RcWjHPl8AnpQ3dwPui4jDJB0EXAfckK+7JCJOHMgTMTMbokHGYTMzm582xGIP6M2s0iA+jVQ2qfapwMuAjcDlks6PiB91bHY0sC5/rAc+kf8L8Bng48DZxb7Fr3Wc44PAlo7VN0XEYQvuvBWk89Cnc84DbElyxNN2XU591TZ17TRfHmBFbQ79DhX7FJel887Xra/epr956aE9OfRV+fATE93nnZ+cfLi0T/n5jfe1Pls21rX9vNIe9Xn1aW57mi8P5Zz5FUTX9pqKokrdc+ibf5unmdly0PRY7AG9mVUY2O1FRwAbIuJmAEnnAMcCnQP6Y4Gz8yJMl0jaTdLaiNgUEd/Mv3WvlH+7/zqyCs1mZktI82/zNDNb+pofiz2gN7MKfQWvvSRd0dE+PSJOz3/eD7itY91GfvbtO1222Q/Y1MO5fwG4MyJu7Fh2sKTvA/cD74uIb/VwHDOzhmn+RaSZ2dLX/FjsAb2ZVehrzs3NEXH4HOtUefD+t5nLG4DPd7Q3AQdGxN2SngV8WdJTI+L+Ho9nZtYQzZ/72Mxs6RtcLO6hrtSuwGeBA8nG6X8bEX9fd9xFH9DnObRXALdHxCsl7QF8ATgIuAV4XUTcu9j9MLPeRQQzM4/Ub1hvI3BAR3t/4I55bFMiaQJ4LfCs2WURsQ3Ylv/8PUk3AU8ki0HLluOwWfsMMA5bQzgWm7XPoGJxj3Wl3gH8KCJeJWlv4AZJn8unF53TML6h/32yqtO75O2Tga9HxCmSTs7b7x5CP8ysZwO7vehyYJ2kg4HbgdcDb0y2OR84Kc+vXw9siYhebrc/Erg+IjbOLsiD3z0RMS3pcWSF9m4ewPNouwXH4WmNFQrhbakqipcsKxXBqymSV7WsrgheWgCvallawG7lyh1r90kL6dWtr1qWtgdRFC9tw2CK4tUVweulKF66bGqqeAFU9XzTbdLnNzVVLJzYy3PtZZu0UF5aJK+nong1RfDSY6yZKcfU7kXxmn+bp/XN18RmrTPUulIB7JzXiNoJuAeoPXl/VwF9krQ/8EvAGR2LjwXOyn8+C3j1YvbBzOYju72ol0fXo2QR8CTgQrKLmHMj4lpJJ0qanU7uArJB9wbgU8DbZ/eX9Hngu8CTJG2U9LaOw7+e4u32AC8Erpb0A+CfgBMj4p75vgpLgeOwWVsNJg5bMzgWm7VVX7F4L0lXdDxO6DjQXDWjOn0ceArZnao/BH4/qj6FTyz2N/QfAf4I2Llj2b6z375FxCZJ+1TtmL8AJ1StM7PFNrhvhiLiArJBe+ey0zp+DrJbjKr2fUOX476lYtkXgS/Ot69L1EcYQBzeu2KaNjNbTP6Gfon5CL4mNmuhvmLxQutKvQK4imz2pscDF0n6Vl0tqEX7hl7SK4G7IuJ789k/Ik6PiMO7vChmtkgisjk3e3lYcw0yDu8yXp4z3swWj+Pw0uFrYrP2GmAs7qVm1FuBL0VmA/Bj4Ml1B17Mb+ifD/yypGOA1cAukj4L3Dk7x7SktcBdi9gHM5sXfzO0RAwsDs8AWzvym7eMlQf4aQ59XU59Lzn0z63JS6/KZU9z5let2rnQrsq7n5jYodBO8+zrcup76VtdTn22bGuhLT1UbI+V/y7HVFympB1R/K9+Jsr/9cdMcVlE8fWYnt4taZdz6Oty5udTMyCrIdTZLn8PkS7btq24vupuxXTZc5P2FfPJoa/JmV8zPVk6xpqK32dHLx2Hlw5fE5u11lDrSt0KvBT4lqR9gSfRQy2oRfuGPiLeExH7R8RBZB3+fxHxJrICWMfnmx0PfGWx+mBm8zXDzMy2nh7WXI7DZm3mOLxUOBabtdlgYnGPdaX+AniepB8CXwfeHRGb63o4innoTwHOzYtb3QocN4I+mFkNfzO0pDkOm7WA4/CS51hs1gJDrCt1B/Dyfo87lAF9RHwD+Eb+891ktxKYWUNF+FbPpcZx2KxdHIeXJsdis3ZpQywexTf0ZtZ4zQ9eNlzTGivkxKdzykM5r74up77qGM9MtqnPSy/mekM5/708h3z9PitX7tR1n97msi/+Fzs+fm+y/sHSMcbHH+jaHhsr5qkDSOXc7G4iyvUPZmaKr+v09M5d21NTxdcHYGJi92Sb4jEnJ4v1AaCcI5/m0M9HDzP8lLZJ289M8t+vnyjHwzXJdHF1OfNrKt7v6TGSXjoOm5mNXPNjsQf0ZlYhPLexmdlIOQ6bmY1e82OxB/RmVqnpn0aamS11jsNmZqPX9FjsAb2ZlUTMMDNTvrXXzMyGw3HYzGz02hCLPaA3swrNzxcyM1vahhOHJR0GnEY2P/oU8PaIuGzRT2xm1grNvyb2gN7MKjU9X8iGawbY2lHAbGtF8bKt40lRvJoieU9KCtxBL0Xwiu0VK8oF7uqK4FUVtEuL4KXt9Jjp+mybB5P2XUk/0qJ4xTbA+PiDSTstivdwaR9pqms7YqJrG2BmpvgalYviFZ/v1FSxAF7VssnJfQrtsbFdSvtIY8k246Vt+lVX8C5bNt11m5mkwN2TKo5xW00RvF2Tv4etM+XihVvV/fkOKQ7/NfBnEfEvko7J2y8exonNzNqg6dfEHtCbWYXmfxppZra0DS0OBzD7acuuwB3DOKmZWTs0/5rYA3ozq9D84GVmtrQNLQ7/AXChpL8FxoDnDeOkZmbt0PxrYg/ozawkQszM9Boeti9qX8zMlqM+4/Bekq7oWHB6RJw+25B0MfCYih3fC7wU+G8R8UVJrwM+DRw5336bmS0lbbgm9oDezCqoMs+2mgf0y8G0xtgyserRdpofD+Uc+c7tq/Y5KNkeYDxZlrbTHPrx8eI5qrZJc+ar8t/rcuhLOfUr7ywfY8VPk32Kdy6Pj9+brC9uD+W8+nIOfbnSrpTmZqffJKQ59OXf3cxM8TVLc+jT/Pjt2/cuHWNiorhN2leNlfeR9k3aY6Vt+pXmOk5Pl3PXJyaKr1GaM5++79L1UH4/r0nf70nOfJpjX7VPUV9xeHNEHD7X2oiYc4Au6Wzg9/PmPwJn9HhSs2VjjwHEpvm4p6J+hw1b86+JPaA3swqqvOg3M7NhGVocvgN4EfAN4CXAjcM4qZlZOzT/mng0HzeZWeNFTPT0qCPpKEk3SNog6eSK9ZL00Xz91ZKe2bHuTEl3Sbom2ef9km6XdFX+OKZj3XvyY90g6RULfBnMzEZmUHG4xm8DH5T0A+B/AicsuONmZkvIkGLxvPkbejMriejn9qK5SRoHTgVeBmwELpd0fkT8qGOzo4F1+WM98In8X4DPAB8Hzq44/Icj4m+T8x0CvB54KvBY4GJJT4ymzzdiZpYYVByuP098G3jWop/IzKyFhhWLF6LZvbOhGlV+UB3nD43CwILXEcCGiLgZQNI5wLFA54D+WODsiAjgEkm7SVobEZsi4puSDurjfMcC50TENuDHkjbkffjuIJ7McjaDCnPPp3POQzmnOJ2r/tAkXzjNU4b6HPn5zUOfzmVfv09dzvzqVbeWjrFy5aakXcyhX5Hk2KftrG/dc+jTNgxmHvryvPPdc+jTfgJMThZz5NMc+rGxh0v7lBVz6svzw5c/m0vz2+va2XG759nX5dhD+f18W5Izn/49pPPSQ/Xc9D/T/ItIs6Wgl+tfXyMvZ82Pxc3unZmNyBgzM+VBzxy6VVfeD7itY91GfvbtO1222Q/YRHcnSXozcAXwroi4N9/vkopjmZm1TF9x2MzMFkXzY7EH9GZWoa9PI7tVV1bFspjHNqlPAH+Rb/cXwAeB35znsczMGqj53wqZmS19zY/Fze6dmY1ERPVtufOwETigo70/WUXlfrdJ+heP3v8s6VPAP8/3WGZmTTTAOGxmZvPUhljc7N7ZwAwiP2ix8ocGkf/jHKJBG9gUHZcD6yQdDNxOVrDujck255PdPn8O2e34WyKi6+32szn2efM1wGwV/POBf5D0IbKieOuAywbxRJa7GYo58Vs1Xtomzauvm3e+Koe+PO989xz6XuahL+fHF+elz5b1lzO/atVtpNKc+VXJPmnOfLo9lHPTyzn1D5b26S03/Weqbh2cni4+/zRnPm1X5fKny+py+3sRsXfSLsf6NB8+zXefmtpW2ifNkZ+eLs4dPJPktvfyXq3Lmd86VfE3M9btMqz5UyWZtcF8rm/r9tlzHvukqq5d706Wpcecz/Wur5EXqvmx2AN6M6swmNuLImJK0knAhcA4cGZEXCvpxHz9acAFwDHABmAr8NZHeyF9HngxWZ7+RuBPI+LTwF9LOozsdvpbgN/Jj3etpHPJiu5NAe9whXsza6fm3+ZpZrb0NT8WN7t3ZjYigwteEXEB2aC9c9lpHT8H8I459n3DHMt/o8v5PgB8YF6dNTNrjOZfRJqZLX3Nj8XN7p2ZjURE8yt6mpktZY7DZmaj14ZY7AG9mVVo/qeRZmZLm+OwmdnoNT8WN7t3Nm+DKACSFvyYT9GQVFVhjnRZWhCkl2MMomiIFTU9eNlwzUjFonjj5QIxaaG8dJuxpABY2s6WFfdJC4+l7RUryp+ap0Xx6orkZcuKxeZWlgrYbUra5YJ2aRG8crtYSG/FivIxVq4snndiIi3OVixeBzA2Vnw+UvF1jSgWgJuZKReJm54u9nVqqvh8t28vFqcbRHG+rG/FvqbfgkTSnpkp/+7SgnZpe8WKYjs7Tveid+n7sPq9WlyWvt/TIniVfzNJP1KOw2b96/caeF3F33e6zROSbaqK4qXb1NkwUy4Uml4Dp9uk17c3Vhwj3cbXyAvX9Fjc7N6Z2Yg0/9NIM7OlzXHYzGz0mh+Lm907MxuR5k/RYWa2tDkOm5mNXvNjsQf0ZlaSFQBZXb+hmZktCsdhM7PRa0Ms9oB+iajLF5pP7k+aU1SVG1SVd9RNVa5Pmh+UbpOur8qxT7dxvtBCNf/2IhuuQEx2/F2l+fJQzhFeX5Mzn+YtZ8u659DX5dhDfQ79xET5vb1ixV2Fdpojn7bT/PiqZatX35ysvy1p31PRjz27ticmdi3tMzZWfH71OfSPlI4xNbWl0J6cvDs5b/H5b9tWPobUPR+8SjmHfnXX9vT040rHSH+/aQ791FS5r/W1GurfZ+n7OX2/31STUw8U/qbKHIfN6vRSy6nuGviIir/v9cmytL2qYp+tyXnSv+8VybXoCyuuibcl8evSmnaVujz8qtfM18ndND8WN7t3ZjYizb+9yMxsaXMcNjMbvebHYg/ozaxC8z+NNDNb2hyHzcxGr/mxuNm9M7ORiGj+FB1mZkuZ47CZ2ei1IRY3u3dWabHyhY5J8hAPS9qbJ8oFIbYkx0nzh9YkeTtPr8j9eWmS33hV0r4gaV9WlT+UnNf5QgvV/E8jbbhmKObN9zIPfd2881Vze9fNOz8xsarr+up9Vifr7y3tMzFxb9dtViTz0qdtqMqRL7ZXr76/0F656ucqjvHY4jY95NCPj+9YWtbN9PRDpWVpDv32JId+bFsxh166veLIxeeb3qKYzjGf9WXnQntycvdCu+73km1TPEaaM19dZ6H4Ppqe3tZ1n17moS/NS68e5qGvyKv/Gcdhs/lIr/nqroHT61+Ap65YU2jfunKnrm2Au5Pj1F0T71lR3+PA7Q8W2i9M2ntObi3tk0qvk+9xXakFan4sbnbvzGxExiovvs3MbFgch83MRq/5sdgDejMriWj+p5FmZkuZ47CZ2ei1IRbX37ttZstQFrx6eZiZ2WIYThyWdJykayXNSDo8WfceSRsk3SDpFQs6kZlZKw0uFks6Ko+nGySdPMc2L5Z0VR6X/72XHi7a1bik1cA3gVX5ef4pIv5U0h7AF4CDgFuA10VEOSnO+tJvvtCbktwggF2TfKBLV+9WaF+zwx6lfW5dUczd3JLkJe46VcxLPHCynLt56MPFuZif/Mh9xb72UDPA+UKD1vwpOqzeIONwSEyO/Szft2r+7M712fmL26Q5xqqYy77fvPtecujLOfXFnMRsWfHpr1zZPWc+nZc+2yadq74Y29Kc+R1WH1g6xsqVxRz6Vav2Tc5RzKmHcg593Tz0VTn06bzzY2PFY46p/nIh4ifJedL54cs5p2kO/cqVuyfr05z68u9uaqr4mtT9/qH/91kv79X0/Z7+PfTyN1M0tDh8DfBa4JOFs0uHAK8Hngo8FrhY0hMjYnoYnVpKfE08OOn1blWNpHXJ32ZdzvzBq3YpHePS5Jr3+zsU48yVO+5d2uf65Lo5rTO1a3Ktml7vAjzzoeL/Nc94uBibfz65Zj6mdIR6Nya5/FV83dxpMLFY2X8kpwIvAzYCl0s6PyJ+1LHNbsD/Bo6KiFsl7dPLsRfzG/ptwEsi4unAYcBRkp4DnAx8PSLWAV/P22bWMP6GfklwHDZrsWHE4Yi4LiJuqFh1LHBORGyLiB8DG4AjFnSy5cux2KzFBhSLjwA2RMTNEbEdOIcsznZ6I/CliLg1O2/c1Uv/Fm1AH5nZj9JX5I8g6/hZ+fKzgFcvVh/MbH4ixpiZWd3To07d7UXKfDRff7WkZ3asO1PSXZKuSfb5G0nX59ufl3+iiaSDJD2c36p0laTTFv5qtJfjsFl79RmH95J0RcfjhAF0YT+KUxdszJdZnxyLzdprgLG4l5j6RGB3Sd+Q9D1Jb+6lj3N+lJDfBlRnJiLu63KMceB7wBOAUyPiUkn7RsQmgIjYNNetBPkLMIj/kMysb8O7vQg4GliXP9YDn8j/BfgM8HHg7OTQFwHviYgpSX8FvAd4d77upog4bMGdb4iFxuJBxeEdKqboMbPF1Fcc3hwRh8+1UtLFwGMqVr03Ir4yZwfKotcOWZGvic3aamCxuJeYOgE8C3gpsAPwXUmXRMR/djtpt3sD7sgfVSefNQ6UkwBne5jlWR2Wf3t2nqRDu3Um2fd04HQASf4PxGyoBlbR89HbiwAkzd5e1DmgPxY4OyICuETSbpLWRsSmiPimpIPSg0bE1zqalwC/OojONtSCYvGg4vBuO+7tOGw2VIOrrBwRR85jt43AAR3t/clikc2Dr4nN2mpgsbiXmLqR7EOBh4CHJH0TeDow7wH9dRHxjG47S/p+t/WzIuI+Sd8AjgLunL1Yl7QW6Ck3YDnrpQBIuuwJSUGQtABIWgAP4LIdix8Mf3XX4vjgy7sdVNrnsJ2LBZxWJMX2bpncWmif9UD5WuDV991SaP/SllsL7TRh75iKQh1p8Y6751HMwwVAOg0seFXdXrS+h232Azb1eI7fJCsqNOvgPDbdD7wvIr7VV4+bZyCxeKFxOCgW9Zqs+HwhLfpVVzRsrLIgWPG4aTGyuuJlVcvGx7cm7QdK+4yPF4utpUXy6tpQVUivWERp1apivEwL4AHssEMx7q5aVbwbb7GK4k1M7Fpoj42tKm3TaSbKRZVmpouvYfp6TE2Vi0jVva7p76X6d1f8/c7nPVIueld8H1a9V+uKPqZ/D738zaR9GHGdkvOBf5D0IbKieOuAy0bZoaXA18SD1cs18fqkON1Tk2vVtAAewEU7F2PvP+7x+EL7ybs/rrTPE2uuiSeTa+ItFdfEn7j35kL7uHtuKm3TaX1Fgbv0GnhDsk3Va+Zr4G4GFosvB9ZJOhi4nazo6BuTbb4CfFzZf+Qrya6ZP1x34G7/kzy3h47NuY2kvTvyWncAjgSuJ/sP4vh8s+PzjptZo2S3F/XyoHu+UC+3F837tk5J7wWmgM/lizYBB+YD4D8kuxgtl69tl3nHYsdhszbrKw7P/yzSayRtJIsjX5V0IUBEXAucS3ZH1b8C73CF+/lxLDZrs8HE4sg+XT8JuBC4Djg3Iq6VdKKkE/NtriOLt1eTfYB6RkRcM9cxZ835cUNEPAIg6fHAxojYJunFwNPIbo+9b3abOawFzspzhsbyTv+zpO8C50p6G3ArcFxdJ81suCL6+jSyW75Qr7cX9X1bp6TjgVcCL81v1ycitpFVEyYivifpJrICI1f08DwaaYGx2HHYrKX6jMMLOE+cB5w3x7oPAB9Y9E403ADqSjkWm7XUIGNxRFwAXJAsOy1p/w3wN/0ct5fefRE4XNITgE+T34JFzdSHEXE1ULpNNCLuJkv0N7PGUk8V7HvQy+1F5wMn5fn164Ets0WC5uyddBRZEbwXRcTWjuV7A/dExLSkx5HdInrzHIdpm75jseOwWZsNLA7bwi20loljsVlrNT8W9zKgn8krSb8G+EhEfKzX3Hkbnj2TfJh1SS7fYUkO/aWrdysdI82Zv/ExhxXaL9+vPP3svvs+rdBenRz3kUfuK7T3ufPq0jFuvL2YkvfVZP0u09sL7fVJG+DSZFmaL+TcoH4Npsp9Hjtmby8aB86cvb0oX38a2SeVx5DNcbwVeOujvZA+D7yY7Lb+jcCfRsSnySrfrwIukgRwSUScCLwQ+HNJU8A0cGJE3LPgJ9IMI43FgYo59BU5xUckcaguxzhdDzA+XnzfpbnL88uPLuaMV+dhP9BXuyqHfmJistBO891XlnLq9y0dI82ZT/Puq3Lo0/z38n/txXg4NbWldIzanPmZbUm7nIc/lfRtcvLupJ/l16zf173qdyc9XGiPje2YtOvfI+n7LH0fVr1X697P6d/DbRV/M/U59AuPwzYQA6srZf3ppY5UKq0jlebQ35rUkfr+DuW4mubMH7b2mYX2fhXXxHvvXYzFO+xQ/D7h4YeLb6Gf/rQci1cn18T/mKzfa6p4Q97aJC8fytfJ6TXyjRV593Wv6/K+jm5+LO5lQD8p6Q1kuT2vypc1+1mZ2QIN7/ai/Hb5d8yx7xvmWP6EOZZ/keyb7KXIsdhsWRl5UTz7mQXVlTKzNmt+LO6ld28FTgQ+EBE/zm+d/ezidsvMRmlYuZvWF8dis2XEcbg5OmqZ1OXSd6stZWYt1IZYXNu7iPgR8M6O9o+BUxazU2Y2as0PXsuNY7HZcuM43EBXkhVxvZcsn343smJ2kM3OUp7LzMxarvmxeM7eSfoh1VNHiewu2adVrLMhmM889JuTHPprKubcTOeZT3Pmn/KU/Uv7PP7xxTuid9nlO4X2/fc/v9C+6aZTS8co9SPJu//5h4sp0I/fdn9pnyckOUS95Fwt73ygOs3PF1oumhKLg+I82lW5v2kOcVXecd36umP0co5SbvPYVLK+/CXa2Fiah13cppzLXZwfPVtWzMtMc9vTdlU+fLqs1F5ZzrtfkRy3bh56jdUX90lz5tO8+zQ/HsrPL309ql+z4uuavu51vxeo+v3W12oYxPus32NW/c1UzU3fcQTH4eb5V+D8PJUMSUcDR0bEu0bbreUrrSFVtWxVTQ79lTvuXTpGOs98mjP/pCd9t7TPgQe+r9DeZZfiten99xfnpb/11r8sHSPN3EhrUV350F2F9qGPlGuTHLi9GGvT16PqNfM1cTfNj8XdPm545dB6YWYN0/yKnsuIY7HZsuQ43EDPzguwAhAR/yLpL0bZITNbbM2Pxd3mof/J7M+Sfg5YFxEXS9qh235m1n5tyBdaLhyLzZYnx+FG2izpfWT1SwJ4E1C+XcXMlow2xOLa3kn6beAEYA/g8cD+wGl43kyzJaz5txctN47FZsuN43ADvQH4U+A8sgH9N/NlZrZkNT8W9/JxwzuAI4BLASLiRkn7LGqvzGzEmv9p5DLkWGy2rDgON01E3AP8vqSdIqJcFMLMlqDmx+JeerctIrZLWeEWZdV2qgo02QilRd/WJUWBtqQFQVbsWDrGYTs/ttDed99ira20AB7A0552SLEfe7yz0L7nnouTPcrTjd9zz+eL/bjrmmJfN99QaKfPBcrPt6oInvWj+cFrGWp9LF6MQmO9FDwbU1IUTpMV+3TfJl2fFmvLlq1J2sWcu/HxHbu2q5aVCukl7apt6oriVYmZYrG5tAheL31Pn+/Y2KqkXSwQlfW1v9e96ndX/v32/x4ZRAHHwXMcbhpJzwPOAHYCDpT0dOB3IuLto+3Z8lV1vZcWht6atO9OCkVfv3q30jGemFwT7713Mc6mBfAADjnk+EJ7t91+odC+775vJXuUj3HPPVcU2nfdVexH2tf0uUD5+aavh6+R+9X8WNxL7/5d0h8DO0h6GfB24P8ubrfMbJQixMzMDqPuhhU5FpstI47DjfRh4BXA+QAR8QNJLxxtl8xsMbUhFvcyoD8ZeBvwQ+B3gAsi4lOL2iszG7Hmfxq5DDkWmy0rjsNNFBG3zd4plZseVV/MbBiaH4t76d1L8ovGRy8cJR0fEWctXrfMbLSaH7yWIcdis2XFcbiBbstvuw9JK4F3AteNuE9mtqiaH4t76d2fSPoV4F3AzmS5Q9sAX0S2SJpPs2ViVWmbFSuK+Z+rkzydXXb5TmmfNGd+r726T5m9yy7lLxTT86T9SPuaPheAclapLUzzg9cy1IJYrPpNRiDNw+5tmzQvu5djTHRt121fvaz+mIM4b9156o45/30G8brXbzMaC/17cBxuoBOBvwP2AzYCX6OqOJA1ymSSM166Jq6ozZRei+6ww82F9i67lGuCpDnze+xxZNd+7bLLJ0rL0vOUromTvlZdE6fP1xaq+bG4l969iOwC8gd5+08i4vNdtjez1mv+FB3LkGOx2bLiONwkksaBj0TEr4+6L2Y2TM2Pxb0M6HcH1gM3kc17/HOSFBGtqq5sZr2LaP6nkcuQY7HZMuI43CwRMS1pb0krI2L7qPtjZsPRhljcS+8uAU6JiDMl7QD8FfAd4HmL2jMzG6mZGY8TG8ax2GyZcRxunFuA70g6H3hodmFEfGhkPTKzRdf0WNzLgP7IiLgVICIeBt7pKTraZ81MMcdw16ltpW1umSzmAz3yyH2F9v33P7+0T3me+e7rq46Rnmcy6Ufa1/S52GIIImZG3QkrakEsbuZ/eL18sl7eJp3LvZdjTHVt121fvaz+mP2ep3r77tv0NJf9vPYZxOve1G9OFvr34DjcQHfkjzGyWibWAiuSv6PSNfF0+YaL9Fr04YefUWjff38xtx2q5pnvvr7qGA8//LikH8X6VWlfq66J0+drC9X8WDzn/4KSnhwR1wN7SdorWf3g4nbLzEat6cFruXAsNlu+hhGHJR0HvB94CnBERFyRL38ZcAqwEtgO/H8R8f8WvUMNJOn/RMRvAPdFxN+Nuj9mNlxNvybu9rH2HwInAB+sWBfASxalR2Y2chGD+zRS0lFkVYHHgTMi4pRkvfL1xwBbgbdExJX5ujOBVwJ3RcShHfvsAXwBOIjsFsjXRcS9+br3kM3XPg28MyIuHMgTGR3HYrNlaJBxuMY1wGuBTybLNwOviog7JB0KXEhW3X05epaknwN+U9LZJFMYRMQ9o+mWmS22IcbieZtzQB8RJ+T//uLwumNmTTGI4JVXBT4VeBnZFD+XSzo/In7UsdnRwLr8sR74RP4vwGeAjwNnJ4c+Gfh6RJwi6eS8/W5JhwCvB54KPBa4WNITI2J6wU9mRByLzZavYVxERsR1ANlnq4Xl3+9oXguslrQqIso5e0vfacC/Ao8DvkdxQB/5cjNbolo7oJ8laTXwduAFZEHrW8BpEfHIIvfN+nBP8ka7McmpeXqSc3Pg5EOkznrgjkJ7nzuvLrRvuunUijMXp19N55lPc+arjnFncp6rkn68KulrVa7TD5Lnm74e1r8BBa8jgA0RcTOApHOAY4HOAf2xwNl5tfZLJO0maW1EbIqIb0o6qOK4xwIvzn8+C/gG8O58+Tn5BeePJW3I+/DdQTyZUVoKsTh9T/XyHqvbp+oY6bKZSPOyy9PPpHnY6Tbp+pmZHUrHmJnZlrSLv5rp6Ye6tquWTU1tKbQ1trq0Tyqd/z3NZZ9Mjll1nrq+VvU9fb7l16P8mvX7ulf97sq/3/7fI3XvxV6OsRj6OMdekq7oaJ8eEacPsCu/Anx/mQ7miYiPAh+V9ImI+N1R98d+pup6b0NyTfjCpL3nVDFWPTmp5QSwJbkW/elPizHy1lv/sqI37yu00nnm05z5qmOk53kg6Ufa1/S5QDmvPn09fI3cv9YP6Mm+GXsA+FjefgPwf4DjFqtTZjZqwUzvxQe7XUjuB9zWsW4jP/v2nS7b7Ads6nLOfSNiE0BEbJK0T8exLqk41lLgWGy2rPQVhzdHxOFzrZR0MfCYilXvjYivdDuwpKeSzarx8l47s1R5MG+2HPUVi0eilwH9kyLi6R3tf5P0g8XqkJmNXp/5Qt0uJFWxLC393Ms2vRrksZrGsdhsGRlk3mZEHDmf/STtD5wHvDkibhpIZ1pI0pUR8cyFbmNm7dPqHPoO35f0nIi4BEDSerK5j81sCRtQ8NoIHNDR3p9syp9+t0ndOXtbvqS1wF0LOFZbOBabLTOjvIiUtBvwVeA9EbHcY81TJF3dZb2AXYfVGTMbrqUwoF8PvFnSrXn7QOA6ST8EIiKetmi9M7MRGdinkZcD6yQdDNxOVrDujck25wMn5fn164Ets7fTd3E+cDzZlErHA1/pWP4Pkj5EVhRvHXDZIJ5IAzgWmy0rw/lWSNJryFJ59ga+KumqiHgFcBLwBOB/SPof+eYvj4i75jjUUvbkHrZpbfFVM+tmaXxDf9Si98L6UlXMIl2WFsB4aVI049CHyzOsvPq+WwrtG2+vHwfdc8/nC+3Vq3crtB9JinekBfAAbk/Ok/Yj7eteFQVA6gp+uABI/wYRvCJiStJJZNMdjQNnRsS1kk7M158GXEA2Zd0Gsmnr3jq7v6TPkxW/20vSRuBPI+LTZAP5cyW9DbiVPI88P/a5ZEX3poB3tLnCfWKksVjAio7shRVDKjQ2n6J4aa5bzKQF7cqF5dKCbek209M7J+2dSseYnr610E4LzaXtycm7S8eYmCh+yTc2tqq0TSpm0piY/tdefD3SflT1pa5ddYxyYb0Hk/aBpX3S1zV93et+L1D1+01+/4v0Puv3mFV/MytqMoKGVOX+PLLb6tPlfwlUVf5adiLiJ6Pug1W7u+JvJF22LS0Mvb0Ym5750E9Lx/jEvTcX2qtL18TPLe1zzz1XFNo77FA8xsMPFydDSAvgQfma+PqkH7+b9DV9LlB+vunrUfWaWXetH9A7iJktPxGDKwASEReQDdo7l53W8XOQTpfws3VvmGP53cBL51j3AeAD8+1vUzkWmy0vg4zDZmY2P22IxWNzrZB0Zd3OvWxjZu0UMdPTwxaXY7HZ8uU4bGY2ek2Pxd2+oXcBELNlq/n5QsuIY7HZsuQ43DR5CtnnIuLeUffFzIal+bG424DeBUBaJM2HuTG5NeSqJO/8yUluO8AvbSnmf341Wf/lin0Ou+uaQnvFijWF9uTk1mI/HigXHE9z5tN+pH1NnwuUn6/zgxau6cFrGWlELBZRyAFeMVM+5WXJe+YFSbuX3Obp6clkn+mkPdW1XX2eYh52mrddtayuPTW1e+kYU1PFWo5p3vn2pD02tmPpGHU58zMz2yrOW8zDlIr/tUcUX4/p6YdKx0j7um3b7Un7zkI7fS5Vx5iaWpG0y69Zv6971e8u/f3O5z2Svs/S92FPtRqSbdK/hwMr/maq8urrzmsj9Rjg8vyuqDOBC/O0MVskdTWQ9lD5ZuO0rtKlSU75C5O882c8XI5nx91TnKXxH5P1aY0ogLvuemyhXb4mLk4W8UDFNXGaM5/2I+1rVQ79N5Pnm74eVVx7qrumx+I5B/TO1zRb3poevJYLx2Kz5ctxuFki4n15xf+XkxVw/XheiPXTEXFT973NrK2aHot7qXJvZstMRPNvLzIzW8och5spIkLSfwH/RTaFxO7AP0m6KCL+aLS9M7NBa0MsnrMo3kJJOkDSv0m6TtK1kn4/X76HpIsk3Zj/W74Hz8xGLKvo2cvDmstx2KzNHIebRtI7JX0P+GvgO8DPR8TvAs8CfqXLfo7FZq3V/Fhc+w39AgqATAHviogrJe0MfE/SRcBbgK9HxCmSTgZOBt7d57GXlfnksaT5Mhckeedvqsg5OiJp75Lk4Px8xdz1t26+odDeMlHM/9x1qpjv+arJcu5mOs98mjO/JckPSp8LzG8eeucHddf0TyOXm3nG4oHFYVHM962aPzvNB67LMU7zlvOtkn0WnkM/Pb1b0q7KoS/OK5/me9e1AbZv37vQnpgo5keObUvaqr9JLs2Zr5r/fXy8mIs/mBz6JGd++x3J+nLuZ6lmwPZiPml13YHur2v6e6n+3RXzVGdm7kvavdRZSN+Lxfdh1Xu1/H4uHjP9e+jlb6buHDZyewGvTVOhImJG0iu77Odr4kXSy/VdmkO/Z1Lfqer6NrVXcu155UN3lba5fvVuhfaW8ZWF9q5JP6rqWaXzzKc582lfr02eC5Sfr/PjF25QsVjSUcDfAePAGRFxyhzbPRu4BPi1iPinuuP28g39bAGQcyUdJUm9dDgiNkXElfnPDwDXAfsBxwJn5ZudBby6l+OZ2XA1fYqOZajvWOw4bNZujsPNEhF/Mlddk4i4rst+jsVmLTaIWCxpHDgVOBo4BHiDpEPm2O6vgAt77V/tgD4i3gesAz5N9knijZL+p6TH93oSSQcBzwAuBfaNiE35sTcB+8yxzwmSrpB0Ra/nMbPBmM0X8oVkcyw0Fi80Dm+vuDPGzBaP4/DS5Gtis3YZYCw+AtgQETdHxHbgHLIP9VK/B3wRKN8GMoeecujzKTmqCoD8dd2+knbKO/UHEXF/rx2LiNMj4vCIOLzXfcxscHwh2TzzjcWDiMMrJ1YvoOdmNh+Ow0uLr4nN2qmPWLzX7Idv+eOEjsPsB9zW0d6YL3uUpP2A1wCn9dO/XnLo3wkcD2wGzgD+v4iYlDQG3AjMWdFT0gqywPW5iPhSvvhOSWsjYpOktfTx6YOZDUvzK3ouN/ONxY7DZm3lOLyUOBabtVVfsXhzlw/eqlIl0+IqHwHeHRHTPWa5A71NWzevAiB5fuengesi4kMdq84nuyg9Jf/3Kz331uaUFri4O2lflhTIqHJMss/6ZJ/Hbyt/mJwW/Ng6VnxLrUmKBKUFQaBcaOSqpJ0Wwat6LunzdcGPhXPl5MbpOxYPMg4rghUdhcGqinmtSAqH1RUNKxciqy96Vy54V44H6bK0PTVVLLSWLSsWYysXuCvWIhwff6B0jPHxYgHPbduKsUu6vbRPaibS51ssYJcWnsvOu2NpWTdVRfHSYnvbS0XyikXwtm8rP5dt2/YotCcni0Xx0iJ52TZ7J9sU2+WieeXfXd3vu+o90u/7rJf3avp+T/8eevmbqTuHtZOviQenl+u7G/v8uzmmYtn65Bhrk+Jzhz5Srk97d3InW9018Z4VqWwHJoWg03ZaBK+qUHR6nZy+Hi4U3b8BxeKNwAEd7f2BtMLs4cA5+WB+L+AYSVMR8eVuB64d0EfEn3RZN2cBEOD5wG8AP5R0Vb7sj8mC1rmS3gbcChxX1wczG642zLm53MwzFjsOm7WU4/CS4lhs1lIDjMWXA+skHQzcDrweeGNyroNnf5b0GeCf6wbz0Ns39PMSEd+m+tYCgJcu1nnNbDB8Idl+jsNm7eY4vDQ4Fpu12yBicURM5VMQX0g2bd2ZEXGtpBPz9X3lzXdatAG9mbWZvxkyMxstx2Ezs9EbXCyOiAuAC5JllQP5iHhLr8f1gL6FqvJc9lBxwoINaa5HksdTlYeeHvfSZJsnJHk7AOuS4+5a7m7BDypyUNK+prk+6fo0X75qm5Rzg/rnC0nrNAas6cgjXjM9WdpmzUQxH7jfPGXoJf99W6E9MVGfQz+V5BhOTBTzsrNtdu+6TZrrXZVDPzb2cKEtpa/RbYVW1XTWM9PFfMmpFXsm/SpH2bGxYt6mVIzLUcrLL+dcpjn0aa5+2k7z5bNlB3Rtp69h1bLp6TRnfveu67NtHky2qc+hT99HdftUvVfr3s9rkrz7yr+Zitz8To7DZv0bRF2pdJ+0rlSa2w7lnPnJ5No8raOR5tQDbEvO882knV6bu67UcDQ9Fvc0bZ2ZLS8RwczMVE+POpKOknSDpA2STq5YL0kfzddfLemZdftK+oKkq/LHLbM5iZIOkvRwx7p5375kZjZKg4zDZmY2P22Ixf6G3swqDeLTSEnjwKnAy8iqe14u6fyI+FHHZkcD6/LHeuATwPpu+0bEr3Wc44NA59eLN0XEYQvuvJnZiDX9WyEzs+Wg6bHY39CbWYUsX6iXR40jgA0RcXNEbAfOAY5NtjkWODsylwC75fPx1u6bTwX0OuDzC3/OZmZNMrA43JWk4yRdK2lGUmn+ZEkHSnpQ0n9f0InMzFppOLF4IfwN/RKR5sfU5dTfo/JnOWnOTbpPesy5lvXTz6pldbk/veQCOV9o4QYUmPajmDi8kexb+Lpt9utx318A7oyIGzuWHSzp+8D9wPsi4lvz777NElHI/6vK/U1zhC9NYsjze5pDfrLrNjMz3ddDOWd+fHxlsr6Ycw4wOblPoT029kjXttT/rXURKwrt6elyP1au/GnSr2Lu+vh4eR72sbFVSd/qcuiL+eNZX5Lc/aliX9M55NM55qEqh/7Aru2q45bPU/y9TE2VX/f09522q+eh7/4+qnsfZsco9iV9vx+YHKPqb6ZqbvpOQ7pAvAZ4LfDJOdZ/GPiXYXTErF/zqStVdQ2cSvdJc9f3rDjGE8b6G1ZV1X+quxZPn29ad6pqm37XW1nTv6H3gN7MKvURvPaSdEVH+/SIOD3/uWqankjac23Ty75voPjt/CbgwIi4W9KzgC9LempE3D93983MmmkYF5ERcR1AdsNTkaRXAzcDDy16R8zMGsoDejNrnYi+pujYHBGl2zRzG4HOr+32B+7ocZuV3fZV9jXka4FndfR7G7At//l7km4Cngh0fuBgZtZ4fcbhbh+szoukHYF3k9Ux8e32ZrYs9RmLR8IDejOrEIOq1nk5sE7SwcDtwOuBNybbnA+cJOkcslvqt0TEJkk/rdn3SOD6iNg4u0DS3sA9ETEt6XFkhfZuHsQTMTMbrr7icLcPVpF0MfCYilXvjYivzLHbnwEfjogHq769NzNbHgZ2TbxoPKBfoupy6ueTh95vvnyvBpHr43ygwRvEp5ERMSXpJOBCYBw4MyKulXRivv404ALgGGADsBV4a7d9Ow7/esrF8F4I/LmyBOdp4MSIuGfBT8QYiyjMmdvLPPTpNr3MQ1+f21xsT04W536Hcs582p6c3FraZ2xsl0JbY3sn69M55vv/z31mZodCe3q6nA8/NVU878TEvYX2+Hh57uOxsfLz6acfWV+K+e3p/O9pO811h/Kc8mnOfNU+27evLbaTY0xO7pS0y9kzdTn0Ve+R+nnnu793q5al7/ee5qGvuUgc1LdCEXHkPHZbD/yqpL8GdgNmJD0SER8fSKfMFkm/18BVeejpPuk2VTn0g6grlebQ1+3ja+Th8Df0ZtZKA7yQvIBs0N657LSOnwN4R6/7dqx7S8WyLwJfXEB3zcwaY5QXkRHxC7M/S3o/8KAH82a2HHlAb2at04Z8ITOzpWxYcVjSa4CPAXsDX5V0VUS8YtFPbGbWAm24JvaA3swqNT14mZktdUOqcn8ecF7NNu9f9I6YmTVU06+JPaA3swrNLwBiZra0OQ6bmY1e82OxB/TLxCAKYoyqqIaLeQxfG24vsuEao1jAKy34BeWiX7uO91fgrmrZ1NS2Qnt8vFjwbGys/N9YWhQt3UYaL+2jpJiRtG9pmzoRE13b09M7d21DVRG8B7q2oVygL23X9auXvqVF8dICeFXL0iJ4aQE8gEeSwnmT24uv+/bt9yft8nToaZHD9Pc/PV18D1Vtk77P5vNe3TUppFdXJA+6F8VzHDYbjPlcRw6iuPQgDKJwtC1MG2KxB/RmVqnpwcvMbKlzHDYzG72mx2IP6M2sUtODl5nZUuc4bGY2ek2PxR7Qm1mF5t9eZGa2tDkOm5mNXvNjsQf09ijn4VinpgcvG64xophDn+QHQzlnfkuSH3xNkqf89PGVpWPU5b9PTa0otKvy4dN96trZsuJx0px6qM+pn5nZIWmvLrQnJ4t56CtXFttQn0M/NlZ8fQCk9HeR5mWnOfQrSKV9rcuh3769nEM/PZ1uk+TQV+Xdl3LmHyyuL+XHP1w6RvqeSfeZnKzfJ82zL68v59Cn7+e1yfu9LqceuufQg+Ow2TA0+fq3yX1bTpoeiz2gN7OSiOZX9DQzW8och83MRq8NsdgDejOr1PRPI83MljrHYTOz0Wt6LPaA3swqND9fyMxsaXMcNjMbvebHYg/ozaxS04OXDdd4zLBrR87w1oo89K3pvNxJjnG6T1VecprfXp6Xvpd56Ovz7PuV/j1ElPPBoyaHPs2PT3POAcbHH0zaaQ59OR98EPPQp/n/5Xnpdyq005z6qmWTk/sk7eIxoDzPfJr/nubUp+1sWXFu+vnMQ18373zVezXNkU/f77vWzFNftU/KcdisGZzLvrw1PRZ7QG9mJRHN/zTSzGwpcxw2Mxu9NsRiD+jNrFLTg5eZ2VLnOGxmNnpNj8Ue0JtZheZX9DQzW9och83MRq/5sdgDejOr1PRPI224xoA1Mf1ou2r+7HSe7XRe+jTH/oap8pzqT07mf09z5NP54avy48vbpHPK929mZrrQrvr7mJlZU2hPTz+u0B4fL+bQT0yU88HTnPn5zUPf3XzmoS/PS1/Oh09rAkxNFd8jk5PFfHmoyn9/OFmf5tAXt6/aZz7z0Ne1q96ra2ty5NO/h8q/mZguLevkOGxmNnpNj8Ue0JtZSRvyhczMljLHYTOz0WtDLPaA3sxKtgKXDyh4SToK+DtgHDgjIk5J1itff0x+6rdExJXd9pX0fuC3gZ/mh/njiLggX/ce4G3ANPDOiLhwIE/EzGyIBhmHzcxsftoQiz2gN7MSASsGELyU3Q99KvAyYCNwuaTzI+JHHZsdDazLH+uBTwDre9j3wxHxt8n5DgFeDzwVeCxwsaQnRtTc12pm1jCDisNmZjZ/bYjFHtCbWckYUZnvWeW+7quPADZExM0Aks4BjgU6B/THAmdHRACXSNpN0lrgoB72TR0LnBMR24AfS9qQ9+G7PT0ZM7OGGGAcNjOzeWpDLPaA3sxKFNHPp5F7Sbqio316RJye/7wfcFvHuo1k38J3qtpmvx72PUnSm4ErgHdFxL35PpdUHMsWaDxm2LWjCNjWimJ0W5MCdmkRvNL6imNcmWxzeFKMbD4F7wZTFK/4n3nVTR/TyfOdmFidtNPCcnuWjjE+XizoJhULummsfFExpuIyKe1r8TWdifJ//TFTXBaxQ6E9PZ0W/Cs+V4CpqQeTdvdCc1AuYJduU1c0r+oYvexT17crk+e3dmpb6Ri7pkXxaork7drDMTr1GYfNzGwRtCEWL/wqx8yWnNnbi3p5AJsj4vCOx+nJoVJRcbqqbbrt+wng8cBhwCbgg32cz8ys8fqMw/M/j3ScpGslzUg6PFn3NEnfzdf/UNLquY5jZrYUDSsWL4S/oTezkgHmC20EDuho7w/c0eM2K+faNyLufLSv0qeAf+7jfGZmjTfEvM1rgNcCnyycX5oAPgv8RkT8QNKeQH9zJJqZtVwbcugX7Rt6SWdKukvSNR3L9pB0kaQb839373YMMxsNEUzETE+PGpcD6yQdLGklWcG685NtzgferMxzgC0RsanbvnmO/azXkF2Qzh7r9ZJWSTqYrNDeZfN/JdrPsdisnQYYh7uKiOsi4oaKVS8Hro6IH+Tb3e0Co/PjOGzWXsOKxQuxmN/Qfwb4OHB2x7KTga9HxCmSTs7b717EPpjZPAzq08iImJJ0EnAh2dRzZ0bEtZJOzNefBlxANmXdBrLZQd7abd/80H8t6TCy2+lvAX4n3+daSeeSFc6bAt7hC9DBxOIxKBSFSfODoT5nfjLJZZ+syJCYHCvm1X832ed5PeTQp8u2JanLVfPJpsvSt02aQ5+2oZxXnrbTPO3x8ZWlY4wlr9nY2I5d10P/NQKqnn/d85uZua/Qrsqhr3u+VTn06bK6nPp0PZRz5qeni7/wXs773aS9NmnvVXGMdFm/OfVA10JLfcbhbrVM5uuJQEi6ENibrODoXy/wmMvVZ/A1sVkrDfIb+h6mcv51fhYHHgR+d/ZD1W4WbUAfEd+UdFCy+FjgxfnPZwHfwMHLrHHGoveKnnXy+eEvSJad1vFzAO/odd98+W90Od8HgA/Mt79LjWOxWTv1GYc3R8Thc62UdDHwmIpV742Ir8yx2wTwAuDZZB+2fl3S9yLi6712yjKOw2btNahr4h6ncv4x8KKIuFfS0cDplItJlww7h37f/FZaImKTpH3m2lDSCcAJQ+uZmT2qDflCtiA9xeLOOLz3+Kohds/MBhmHI+LIeey2Efj3iNgMIOkC4JmAB/SD4WtisxYYYCyunco5Iv6jY/tLyGpB1WpsUbz8VrHTASS5SrXZEInmT9Fhi68zDj9h1c6Ow2ZD1IA4fCHwR5LWANuBFwEfHmWHlitfE5uNTp+xeKFTOXd6G/AvvZx02AP6OyWtzT+JXAvcNeTzm1kP/A39ktd3LB6PGXbpyAlO8+Gh/5z5XnLo02P8B0XPm7PHP1OVM163zfR0Md85zSmfqphTfMWK/nLme8uhL7Z7qRlQp5caAnU59b3k0KftycnyfPBpvnu6Td16KM8z30ve/X8ky9J8+Lo2lOeV7zenHij8TaWGFYclvQb4GFme/FclXRURr8hv+fwQWYHSAC6IiK8ueoeWD18Tm7VAn7G4W/pTz1MrS/pFsgH9C3o56bAH9OcDxwOn5P/OlbdlZiOkGPk3Q7a4HIvNGm5YcTgizgPOm2PdZ8mmrrPBcxw2a4EBxuKeplaW9DTgDODoiLi7lwMv2oBe0ufJin3sJWkj8KdkQetcSW8DbgWOW6zzm9n8+Rv6pcOx2KydHIeXDsdhs/YaYCx+dDpm4Hay6ZjfWDiXdCDwJeA3IuI/ez3wYla5f8Mcq166WOc0s8EYY3BV7m20HIvN2slxeOlwHDZrr0HF4h6ncv4TYE/gf0sCmOo2g8msxhbFM7PR8TdDZmaj5ThsZjZ6A55xpG4q598Cfqvf43pAb2YlzqG31HhEoahXZVE8JQXtaorgpQXwACbTgmY1Bd/SInlQLpSXFnyrLgo3XWhPTEz1tR5gZqZYSG9sbEWyz6pkffm/4LYUxUvbUC4UmL4eVYX00gJ2/bZ72SYtgAf9F8HbNXkuldskzz9tVxXAqyqUN8tx2Mxs9NoQiz2gN7MSfzNkZjZajsNmZqPXhljsAb2ZlbQheJmZLWWOw2Zmo9eGWOwBvZmVuBiTmdloOQ6bmY1eG2KxB/RmVtKGfCEbrnHqc+inanK505z5NF9+UNK8+uf2lEPfPYd8ero+H3x8fGXX9vR0Mae6KodeSR2CseQ1G14O/XSyfjpZX764SV+TujaU8+7T1yjdp5cc+u/W5MNXLVub5NnX5dRDOa++tE/yXKry5Z1Db2bWbG2IxR7Qm1lJG24vMjNbyhyHzcxGrw2x2AN6MysRzf800sxsKXMcNjMbvTbEYg/ozaykDZ9GmpktZY7DZmaj14ZY7AG9mZW0IXjZcPUyD326rNRehJz5qvdpuuyKpP3MivzvNCc8zX9P551P51iH8rzz4+Npu3jMqhz67K9v7mP0my/fqzSHPq0ZAFFo9ZZDXzxG1WtWlyPfSw79lck2a+eRQ99vu2pZmlOfzjvfdw49jsNmZqPWhljsAb2ZlYzF4Cp6SjoK+DtgHDgjIk5J1itffwywFXhLRFzZbV9JfwO8CtgO3AS8NSLuk3QQcB1wQ374SyLixIE8ETOzIRpkHDYzs/lpQyz2gN7MSgaVL6SsZPepwMuAjcDlks6PiB91bHY0sC5/rAc+Aayv2fci4D0RMSXpr4D3AO/Oj3dTRBy24M6bmY1QG/I2zcyWujbEYg/ozaxkgLcXHQFsiIibASSdAxwLdA7ojwXOjogALpG0m6S1wEFz7RsRX+vY/xLgVwfRWTOzpmjDbZ5mZktdG2KxB/RmVtJn8NpL0hUd7dMj4vT85/2A2zrWbST7Fr5T1Tb79bgvwG8CX+hoHyzp+8D9wPsi4lu9PhGbWy/z0Nfl0C+GFcl86VXL0vb1E+Vb555UMw99XY49lHPi63Lm0znns226zzs/rHno+52XPtum+Bql+e+DmLv+hopc9rXJXPYDmUN+Hjn0dTnzzqE3M2ufNsRiD+jNrETR1+1FmyPi8LkOVbEsetymdl9J7wWmgM/lizYBB0bE3ZKeBXxZ0lMj4v45e29m1kB9xmEzM1sEbYjFHtCbWckAP43cCBzQ0d4fuKPHbVZ221fS8cArgZfmt+sTEduAbfnP35N0E/BEoPMOAjOzxmvDt0JmZktdG2KxB/RmVjLGwCp6Xg6sk3QwcDvweuCNyTbnAyflOfLrgS0RsUnST+faN69+/27gRRGxdfZAkvYG7omIaUmPIyu0d/MgnoiZ2TANMA6bmdk8tSEWe0BvZiWD+jQyr0J/EnAh2dRzZ0bEtZJOzNefBlxANmXdBrJp697abd/80B8HVgEXZbPePTo93QuBP5c0BUwDJ0bEPQt+ImZmQzasb4UkHQe8H3gKcEREXJEvXwGcATyT7Hrx7Ij4X4veITOzBvE39GbWSoPMF4qIC8gG7Z3LTuv4OYB39LpvvvwJc2z/ReCLC+mvVdseM9zaUcBr7RAK3lUpFbybWF3eJinTkLbXVBR0uy359H3L2IpC+9CJVYV2L0Xx+m1DucBd1TZ1+9SpKoqXSgvYlYvklb+tqCsk2EtRvGuSAndp8bq1PRSWS4vV7Zocs3KbPovkQbkIXt0+VQXwbu1WFG94eZvXAK8FPpksPw5YFRE/L2kN8CNJn4+IW4bRKTOzJnAOvZm1Uhs+jTQzW8qGFYcj4jqA/G6nwipgR0kTwA7AdrLZQ8zMlo02XBN7QG9mJaL5n0aamS1lfcbhbtOHztc/AceSzR6yBvhvTmEys+WmDdfEHtCbWckYNL4AiJnZUtZnHO42fSiSLgYeU7HqvRHxlTl2O4KsFsljgd2Bb0m6OCJcaNTMlo02XBN7QG9mJW3IF7LheiiCSzvyfddXbLN2Ec5blzOf5sdXLUvfy1X/Ma+ZLuZQr0ly5m9LcqzTHHuArePFZetrcuarct/rtuk3X75XaY58Xc58VR5+us2lSTt9jaEiRz7ZJ81/T7eHcm56XU591XHrcurTfPmqfepy5jdV9OPSIeXQR8SR89jtjcC/RsQkcJek7wCH45lDzGwZacM1sQf0ZlbShnwhM7OlrAFx+FbgJZI+S3bL/XOAj4yyQ2Zmw9aAWFzLA3ozK2lDvpCZ2VI2rDgs6TXAx4C9ga9KuioiXgGcCvw9WRV8AX8fEVcveofMzBqkDdfEHtCbWUkbPo00M1vKhljl/jzgvIrlD5JNXWdmtmy14ZrYA3ozK2lD8LLheojomu8LcHSS373rPM6Tvu9WjHd/H1bm0NfkzFfmcif571tqcubT7QG2To0X2jcl22xVcf3kWLENMJm8hkfMK4c+nX6s/Bql0pz4y9LfQ9pOahsArInisgPTugRRsU+yTZq7nuah95KHX5dTDxU59NPFdpozX3WMupz5bUm76u+naw49jsNmZqPWhljsAb2ZlcxE8GDDK3qamS1ljsNmZqPXhljsAb2ZlUwR3N3wTyPNzJYyx2Ezs9FrQyz2gN7MSqaAexoevMzMljLHYTOz0WtDLPaA3sxKpml+8LLhejDqc+hT65P3UC/z1JdytZP2RJofX5WXXZMzn84xD7A1ycMu5Xan+fBT5fz3dB76dJt0fZovDzCZ5L/fluTZV+0zCOnrfGCSI5/WKqjKJyy9zsnvpir/vW6bND8+/d1C/Vz1VfnvdTnyPeXh18wzn/699JtD7zhsZjZ6bYjFHtCbWclUROODl5nZUuY4bGY2em2IxR7Qm1nJFDQ+X8jMbClzHDYzG702xGIP6M2sZBvBhoZX9DQzW8och83MRq8NsXgkA3pJRwF/B4wDZ0TEKaPoh5lVa8OnkbZwjsVmzeU4vDw4Dps1Wxti8dAH9JLGgVOBlwEbgcslnR8RPxp2X8ysWhvyhWxh+o3FWwku67MoXmp90j6w4j1WVxSvrl21bM1YUiSvopDeVhWLz6WF89KieVvHyv99ptukBezSInmTY+XCeuk+pXZSNG9Q6oreldozFcUIk9e19Huo+IajVMAwaacF76p+d2lxuvQYaQG8qn3mUxTv1pqid70Uxev2N+U4vPT5mtis+doQi0fxDf0RwIaIuBlA0jnAsYCDl1lDtKGipy2YY7FZgzkOLwuOw2YNN8hYXHdHjiTl648BtgJviYgr6447igH9fsBtHe2NlL+4QdIJwAnD6pSZ/cwUzf800hasNhY7DpuNjuPwsuBrYrOGG1Qs7vGOnKOBdfljPfAJKmJCahQD+qr7BaO0IOJ04HQASaX1ZrZ4tgE3NrwAiC1YbSx2HDYbHcfhZcHXxGYNN8BY3MsdOccCZ0dEAJdI2k3S2ojY1O3AoxjQbwQO6GjvD9xRs89m4CfAXvnPbdCWvraln+C+LobZfv5csvzCfF0v2vA8razfWDwbhwH2umx6e+n3nuYDf2yBHRyAtvwdQnv62pZ+Qjv72hmLHYeXPl8TN0tb+gnu62IYxDXxaklXdLRPzz+Qg97uyKnaZj+gcQP6y4F1kg4GbgdeD7yx2w4RsTeApCsi4vDF7+LCtaWvbeknuK+LYa5+RsRRo+iPDVVfsXg2DkP7399N1Ja+tqWf0P6+Og4vC74mbpC29BPc18UwhGviXu7I6emundTQB/QRMSXpJLJPO8aBMyPi2mH3w8xsOXMsNjMbLcdhs2Wllzty5nPXzmjmoY+IC4ALRnFuMzPLOBabmY2W47DZstHLHTnnAyfl+fXrgS11+fMwogH9Apxev0ljtKWvbeknuK+LoS39tGZpy/umLf2E9vS1Lf0E99WWtja9Z9rS17b0E9zXxbCo/ZzrjhxJJ+brTyP7cO8YYAPZtHVv7eXYyoromZmZmZmZmVmbjI26A2ZmZmZmZmbWPw/ozczMzMzMzFqoNQN6SUdJukHSBkknj7o/sySdKekuSdd0LNtD0kWSbsz/3X2UfZwl6QBJ/ybpOknXSvr9fHmj+itptaTLJP0g7+efNbGfnSSNS/q+pH/O243sq6RbJP1Q0lWz82Q2ta/WPE2Nw9CeWNyWOJz3qVWx2HHYloumxuK2xGFoTyxuWxwGx+JRaMWAXtI4cCpwNHAI8AZJh4y2V4/6DJDOT3gy8PWIWAd8PW83wRTwroh4CvAc4B3569i0/m4DXhIRTwcOA46S9Bya189Ovw9c19Fucl9/MSIO65hrs8l9tYZoeByG9sTitsRhaF8sdhy2Ja/hsfgztCMOQ3ticdviMDgWD10rBvTAEcCGiLg5IrYD5wDHjrhPAETEN4F7ksXHAmflP58FvHqYfZpLRGyKiCvznx8g+2Pbj4b1NzIP5s0V+SNoWD9nSdof+CXgjI7FjezrHNrUVxudxsZhaE8sbkschnbFYsdhW0YaG4vbEoehPbG4TXEYHItHpS0D+v2A2zraG/NlTbXv7JyB+b/7jLg/JZIOAp4BXEoD+5vfrnMVcBdwUUQ0sp+5jwB/BMx0LGtqXwP4mqTvSTohX9bUvlqztC0OQ8Pf202Pw9CqWPwRHIdteWhbLG78e7vpsbhFcRgci0eiLfPQq2KZ59ubJ0k7AV8E/iAi7peqXt7Riohp4DBJuwHnSTp0xF2qJOmVwF0R8T1JLx5xd3rx/Ii4Q9I+wEWSrh91h6w1HIcHqA1xGNoRix2HbZlxLB6gNsTiNsRhcCwepbZ8Q78ROKCjvT9wx4j60os7Ja0FyP+9a8T9eZSkFWSB63MR8aV8cWP7GxH3Ad8gy8lqYj+fD/yypFvIbnt7iaTP0sy+EhF35P/eBZxHduteI/tqjdO2OAwNfW+3LQ5D42Ox47AtJ22LxY19b7ctFjc8DoNj8ci0ZUB/ObBO0sGSVgKvB84fcZ+6OR84Pv/5eOArI+zLo5R97Php4LqI+FDHqkb1V9Le+aeQSNoBOBK4nob1EyAi3hMR+0fEQWTvy/8XEW+igX2VtKOknWd/Bl4OXEMD+2qN1LY4DA18b7clDkN7YrHjsC0zbYvFjXxvtyUWtyUOg2PxSEVEKx7AMcB/AjcB7x11fzr69XlgEzBJ9qnp24A9ySoj3pj/u8eo+5n39QVkt2VdDVyVP45pWn+BpwHfz/t5DfAn+fJG9bOi3y8G/rmpfQUeB/wgf1w7+3fUxL760cxHU+Nw3rdWxOK2xOG8r62LxY7DfiyHR1NjcVvicN7XVsTiNsbhvH+OxUN8KO+8mZmZmZmZmbVIW265NzMzMzMzM7MOHtCbmZmZmZmZtZAH9GZmZmZmZmYt5AG9mZmZmZmZWQt5QG9mZmZmZmbWQh7QW1eSDpL0sKSretj2DEmHzPMc13RZv4OkqyRtl7RXv8c3M2szx2Ezs+apis2S3inpOkmfG8DxHXetJxOj7oC1wk0RcVjdRhHxW4tx8oh4GDhM0i2LcXwzsxZwHDYza540Nr8dODoifty5kaSJiJjq58COu9Yrf0O/jEl6tqSrJa2WtKOkayUdWrPPQZKul3RWvu8/SVqTr/uGpMMl/ZykGyXtJWlM0rckvVzSuKS/kXR5vu/vVBz/qZIuyz+RvFrSusV6/mZmo+Y4bGbWPPOMzacBjwPOl/TfJL1f0umSvgacLWlvSV/M4+/lkp6f77enpK9J+r6kT0r6ib+Rt374G/plLCIul3Q+8JfADsBnI2LOWy47PAl4W0R8R9KZZJ9G/m3HcX8i6a+A04BLgR9FxNcknQBsiYhnS1oFfCcPctFx7BOBv4uIz0laCYwP4rmamTWR47CZWfPMJzZHxImSjgJ+MSI2S3o/8CzgBRHxsKR/AD4cEd+WdCBwIfAU4E+Bb0fEn0v6JeCERXxqtgR5QG9/DlwOPAK8s8d9bouI7+Q/fzbf7287N4iIMyQdR3ZheFi++OXA0yT9at7eFVgH/GfHrt8F3itpf+BLEXFjf0/HzKx1HIfNzJpnPrE5dX5+6zzAkcAhkmbX7SJpZ+CFwGsBIuKrku6df5dtOfKA3vYAdgJWAKuBh3rYJ2ra5Ld/7p83dwIeAAT8XkRcmGx70KMHivgHSZcCvwRcKOm3IuL/9fZUzMxayXHYzKx55hObU537jAHP7RjgA5AP8Esx3KxXzqG304H/AXwO+Kse9zlQ0nPzn98AfLtim7/Kj/knwKfyZRcCvytpBYCkJ0rasXMnSY8Dbo6IjwLnA0/r47mYmbWR47CZWfPMJzZ38zXgpNmGpMPyH78J/Hq+7Ghg9wGcy5YRf0O/jEl6MzCVfxszDvyHpJf08E3MdcDxkj4J3Ah8Ijnui4BnA8+PiGlJvyLprcAZwEHAlco+jvwp8Ork2L8GvEnSJPBfZLc7mZktSY7DZmbNs4DY3M07gVMlXU02BvsmWUrUnwGfl3Ql8O/ArQvsvi0zivAdHja3/DbMf46IQ6vaQ+7LLcDhEbF52Oc2MxsVx2Ezs+ZZrFicxlnHXavjW+6tzjSwq6SrRtUBSTvk518BzIyqH2ZmI+I4bGbWPIsamx13rVf+ht7MzMzMzMyshfwNvZmZmZmZmVkLeUBvZmZmZmZm1kIe0JuZmZmZmZm1kAf0ZmZmZmZmZi3kAb2ZmZmZmZlZC/3/fjKtVq69BhMAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "psf_beta = 5. # dimensionless parameter\n", + "psf_re = 1.0 # arcsec\n", + "pixel_scale = 0.3 # arcsec / pixel\n", + "\n", + "moffat = gs.Moffat(beta=psf_beta, half_light_radius=psf_re)\n", + "moffat_psf = gs.ImageF(image_size, image_size)\n", + "_ = moffat.drawImage(image=moffat_psf, scale=pixel_scale)\n", + "\n", + "plot_psf(moffat_psf.array)\n" + ] + }, + { + "cell_type": "markdown", + "id": "incorrect-waterproof", + "metadata": {}, + "source": [ + "- __Space-based PSF__\n", + "\n", + "The PSF observed by a space telescope is not affected by the atmosphere. That is one of the main motivations of space surveys. This is why they will be closer to the diffraction limit. The main contribution of these PSFs are the aberrations of the optical system. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "agricultural-finland", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/QAAAEWCAYAAADINtzCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAB2yElEQVR4nO3deZykZXU3/N/p6n2fnp6lZ2MGZtg3ERgUVERAwCiaRKPGiMY8hCgheWLeaB6TaJ4k70t2l/iETJBHicYlRpQoiKJBBQWGfRtgBhhmX7pnuqf39bx/VPVQ51x3d1X3VFfdd9Xv+/n0Z+ZU3fdVV1VXn7rvqjrnElUFERERERERESVLVaknQERERERERERzxxN6IiIiIiIiogTiCT0RERERERFRAvGEnoiIiIiIiCiBeEJPRERERERElEA8oSciIiIiIiJKIJ7QExERlYiIbBeRSwswzuUi8u0CTGm22/gHEbluIW+DiKhQROQDInLvPPddIiLPiUh9oeflbuc+EXnVAo6/TES2iEhd1mU3iMiNC3WbVHw8oac5yRx8DovIgIjsF5H/KyLNInKaiPxARA6LSK+IPCwiV2X2uVhEpjL7TP/8V6nvCxFRGfl/ARw9QBMRFZHBTL7dnTkZT2Wuu0hEfi4ifSJyKHNAeV7mug+IyKTL1/+UGfZvAXxCRGqLfu+IiIrr4wD+r6qOAICI3CMiIy43viZzXXa+HcgcB9+UFY+JyHhWfGdmv7cC6FfVRzPxp7K2683k6enbqBWRvxeRXZnrXxKRf5yerDs+n/5Zoar7Afw3gGuz7tsmAO8TkaXFeCBp4fGEnubjraraDOAcAOcB+BMA/wXghwCWAVgK4AYAR7L22aOqzVk/by32pImIylHmZLxNVe93V52VydVvAvBeAP9DRFoBfBfA5wB0AFgJ4M8BjGbt9wuXr68HAFXdC+BZAG9b2HtERFQ6mU+zrwHwZXfV9S43/iLrurOyLm9X1eumY6TfcP161vVXZva5DsC/udv4emafJQDuBfAtEREAfwzgXADnA2gB8EYAj7p93+rmtydz+VcA/Pb0Rpk3Ke4E8P45PzgUSzyhp3lT1d1IJ4TTAawD8K+qOpb5uU9V5/U1JyKiSiMidSLyaRHZk/n5tPuK5B+JyN7Mdb+V+URofebqKwH8ZKaxVfVZAD9DOlefmLnsq6o6qarDqvoDVX0iz6neA+At87mPREQLQUQ+LiIviEi/iDwjIu+wV8vnMt9IelZE3pR1xQdE5MXMfi+JyK9nrtoIoFdVdy3gnGsBXIIZcreqjgP4EoDlABYj/QHabaq6R9O2q+qted7cAwCOF5Hjsi67B8zlZYMn9DRvIrIawFVIv0O4DcCXReTtIrKstDMjIkqcTwC4AMDZAM5C+lOYPwEAEbkCwB8AuBTAegBvcPueAeC5mQYWkVMBvA7pXP08gEkR+ZKIXCkii+Y4zy2Z+RERxcULSOe4NqS/cfRlEenKXLcRwIsAOgF8EulPvDtEpAnAZwFcqaotAF4L4LHMPrPm1ALZAGBqpjcNMm/ofgDALlXtBnA/gD8QkQ+LyBmZT+3zoqoTSB+nZ+du5vIywhN6mo9vi0gv0l8F+gnSXyV6I4DtAP4ewF4R+amIbMjaZ0WmHmj6513FnjQRUYz9OoD/raoHVPUg0gelv5G57l1I13I+rapDmeuytQPojxjzERE5jHRJ1M2ZMY4AuAiAAvhXAAdF5Hb3RuwFLl9fkHVdf+b2iIhiQVX/I/PJ9ZSqfh3AVqTfFAWAAwA+rarjmeuewyufTE8BOF1EGlR1r6o+nbm8HdE59bNZefERd90jWdd9No9pz3Qb78ocY+8E8GoAb89c/v8B+GukXyseArBbRK5x+347aw7fdtf53N2P9BsgVAaqSz0BSqS3q+rd7rJdAK4Hjn5yvwnArQBek7l+j6quKt4UiYgSZQWAl7PilzOXTV/3UNZ1O92+h5GuqfTOUdVt/kJV3YL0Jz8QkZORrhP9NID3ZDa5X1UvmmGeLQB6Z7iOiKjoROT9SH+LaW3momakP5GfBLBbVTVr85cBrFDVQRH5NQB/COALInIfgI9mSpRmyqk3qOrNM0wjMt/OYqbb+Iaqvs9fqKqTAD4P4PMi0gDgNwHcIiIPZnI6EH18Ps3n7hYAfXOYL8UYP6GnglPVnUgnndNLPRciooTYAyC7vnFN5jIA2Asg+w3R1W7fJ5CpjZ+rzMHrF5F/vj4FwOPzuS0iokLL1IX/K9IfKi1W1XYATwGY/kr6Svf19KO5VVXvUtXLAHQh3fDzXzPbzDunzsHW9PRl5Vx3zPQ++TzSbwqcmmt7EalGulwrO3czl5cRntDTMRORRSLy5yKyXkSqRKQT6XcOfcdlIiKK9lUAfyLptY87AfwZXumw/A0AHxSRU0SkMXNdtjsQ1tVHEpGTReSjIrIqE69G+pP5fPP1G5BuhkpEFAdNSJcQHQQAEfkg7BuUSwHcICI1IvJOpE9k75D0+uxvy9TSjwIYQPoTfQB4EED7fE6285Vpenc38s/dvy/pZaAbRKQ683X7FoSd7qOcD2C7qmZ/C4y5vIzwhJ4KYQzprzndjfRSdU8hnRw/ULopERElyl8i/bX6JwA8CeCRzGVQ1TuRbt7030g3NppeKmk0c/0jAPpEZGMet9OPdJOoB0RkEOkT+acAfDTXjpkmU6cC+Ha+d4qIaCGp6jNI92/6BYD9SDe0uy9rkweQbkDXDeCvAPyqqvYgfQ70UaQ/rT+E9AnuhzNjjiH9zaXgq+8F9i94pVdKLsNI3899SN+XjwD4FVV9MY99fx3ATdOBiNQj3dT6S3OaLcWW2LISIiIiijMROQXpk/C6TPdiiMjlAD6sqm9fwNv9ewAvqOr/WajbICKKAxFZgvRyn69S1eEFvJ17AfyuqubzSft8xl+KdAPrV2XWn4eI/C6A1ar6Rwtxm1R8PKEnIiKKucy6yt9D+uulX0J6uaO3l3RSREREVHL8yj0REVH8/TbSNaIvIF3n+TulnQ4RERHFAT+hJyIiIiIiIkqgBV2HXkS2I92AZxLAhKqeKyIdAL6OdBO17QDepaqHF3IeRESVjLmYiKi0mIeJaKEs6Cf0meR1rqp2Z132NwAOqeqNIvJxAItU9WM5xuHXCIgWmKoeXaf1iiuu0O7u7tk2P+rhhx++S1WvWLCJ0TErRC5O1TRoTV3b0bhzYiTYZn9Ng4lbappMXFWVMrHqVDDG5OSY3Wds0MawLwe9qbpgjEaz5DAwMTVh4tqI25XaZhOnUrWzzlUkrFircfc3lZoItsk2OZkKLhsdPTLrPKqqwvfhJyfHXeweQ/e4T01Nwpvyj1Gt/93Z243+3dl5TE2Nuy0EXvicsL/fCfc889sDQHW1fd6J+/37+wYAA6P9Jm5224xX1886ZtRc/WMy6p6rEnG8NemeR5MDe7tVdQnAPFxueExMlBxJOyZe0E/oZ3A1gIsz//8SgHsAzJq8iKi4uru78dBDD+W1bWbNbEqeOeXimro2rDrrldV1fqv72WCbv196honftPI8E9fXt5vYn6wBQG/vdhM37n7Qxu7E69vta4MxznEn+d3DPSZeMzYQ7FN73OtN3NKywsTj47bJsT/hBYAVK841cWtrT7BNtr6+RcFlL7zwAxO3ta0xcUNDR7DPwMA+E/f2vmzixsbFJh4Z6Q3GGBqyc13pfneNjfbPfHx8KBijv3/PrPPyb04AQG1ti4n9mwCHDm0zcV1dazDGkiWnmrjanYwPDOwP9rlvx89MfJGb6/7Ok00cNXf/RoF/Pj/n4pqIN0H63Lh9P/3Lo7885uGKwGNiophLQi5e6BN6BfCDzLuJ/6KqmwAsU9W9AKCqezPLKQRE5FoA1y7w/IgokiKzGhaVh3nl4uw8XO1OvIhooTEPlxkeExMlUvxz8UKf0F+oqnsyCeqHIhJ+pDODTKLbBPDrRUTFp5iaGi31JKhw5pWLs/NwffNy5mGiomIeLjM8JiZKpPjn4gU9oVfVPZl/D4jIbQDOB7BfRLoy70R2ATiwkHOgtA5Xp3co4qt/RNNU4/9uJOWvELl48cQIrul5/mj8QOOSYJtLVrzaxP5r2mPuq+779j0WjLF78KCJ13XZMfvV1n+f7L6SDQDnuK9PP7z0dBPXdp0T7OPLAfxXyv3X1Ds6TgjGaGq29f7NzQ+7LezXyVOp04IxBgbONPFzz91u4rVrLw728fXtfm6travd7dYEYxw5ssvEu12pQ1R5hOd/v4+4Wv6aiNr9NyyzZRqtratM7L9if/DglmCMPXvsVyEXLTo+51zPdNvc665vG7R/Dkubwg9Om9xlfq6L3VfyfUkCALzgnqt9Wf9nHi4vPCYmSqYk5OIFW4deRJpEpGX6/wAuB/AUgNsBXJPZ7BoA31moORDRfKWTVz4/uYjIFSLynIhsyzT98deLiHw2c/0TInJO1nXbReRJEXlMRPIrYCKDuZgoqQqXh6m0mIeJkiz+uXghP6FfBuC2TGfYagD/rqrfF5HNAL4hIh8CsAPAOxdwDkQ0L4V5N1JEUgA+D+AyALsAbBaR21X1mazNrgSwIfOzEcA/Z/6d9sbsrsA0Z8zFRIkU/0+FKG/Mw0SJFf9cvGAn9Kr6IoCzIi7vAfCmhbpdIioM1fDrsfNwPoBtmXwAEfka0l19s0/orwZwq6bXgLpfRNqnv4JYiAlUOuZiouQqUB6mEmMeJkq2uOfiUixbR0SxV7B3I1cC2JkV74L99H2mbVYC2IvorsBERBUg/p8KERGVv/jnYp7QlynfBI9oLlSnMDWVuwlWRqerb9+UdeItUcO7eLZtgq7AqvrTfCdGhdM+OYars9aI/9mai4JtGtz6776R3L59j+e8nVete6OJ1TXwvH3vIyZuq20Oxthx2rtMvNJtE7WG+uHDL5p4u1vL/cw1F5rYN/wDgNoav+56v4lFbFO86urDwRjV1ceZuLm5a9Y4zf5J+eZrfm33urpwCULfjG7SNbTzTfOqqxuCMZqabKPEk4L14O3jAwDf3/4TE1/mflft7WtN7JsXAkBf3w4Td3fb5uH+OQSEa9Wf0rzcxKOjR0zc0rM1GGOHuz8rXfNF3zSvqWlZMEabm3u2OeZhIiJaAEnIxTyhJ6JIc3g3sltVz53hul0AsltsrwLgWz3PuM0MXYF5Qk9EFSHunwoREVWCuOdifoxLRBEUqpN5/eSwGcAGEVknIrUA3o10V99stwN4f6bb/QUA+jJL+MzUFZiIqAIULA8TEdG8xT8X8xN6IopQmHohVZ0QkesB3AUgBeAWVX1aRK7LXH8TgDsAXAVgG4AhAB/M7B7ZFfiYJ0VElAjxr9skIip/8c/FPKEvU4ciagaJ8qVauOSlqncgfdKefdlNWf9XAB+J2C+yKzCVRk91PW5dfOLROKqGemTE1oT7uvQeV1N/6nGvD8ZIpWrtPq52+UJXY71q1WuCMXyN+NCQXfVw377Hgn0ODB4w8YYlp5rY18xPTYV/H6Ojtr69uvp4E/ua+tHRNcEYvu/AypXnmbijw9Z+A4BU2bn4292z5yETR9Whi+u70pvVLyE9V1tT3uxqzgGgqsoeUvjbqY3od3CZq9U/cMB+CcePUV+/KBjD19nX1DSaOKp23z/OExO2PrKurtVev8r38gQWu8dkaveDJj7snkNRj9li17sgWyHzMBERzU8ScjFP6IkogmJqarTUkyAiqmDMw0REpRf/XMwTeiKKEP93I4mIyltx87CI/CGAvwWwRFW7c21PRFQZ4n9MzBN6Igok4etFRETlrJh5WERWA7gMwMzr6BERVaAkHBPzhJ6IIsU9eVFxHU7V4j8WvVKbfWpEN9cf9zxv4s/suM/EX9lwpYnHxgaCMQ4d2mZiX9t9nKu792t9R43r68Gj6t9PX3dJcFk2X4fv5wUAk5O2Jn583K5dX1t30MQT43bd9vS4ts6+oaHDxPX1O4N9wvXsbe320NBaE3/r8VuDMbyLV7/WxF1d55jY9zpI3459jPr67Fzr69uCffzvr6VlhYl9TX107X6NiX2nYV9TD4S/vyNHdpn4Z67G/m2LbF8CAFjiauSHOtabePcLP5x1ngDQ1hb2UchWxDz8jwD+CMB3inWDRERJEfdjYp7QE1EE5VJIREQlNac83Cki2d0PN6nqpnx2FJG3Aditqo9nVhUhIqKj4n9MzBN6IooQ/68XERGVtznl4W5VPXemK0XkbgDh1xuATwD4XwAun/v8iIgqQfyPiXlCT0QBVcXU1EjuDYmIaEEUMg+r6qVRl4vIGQDWAZj+dH4VgEdE5HxVDdf7IyKqMEk4JuYJPRFFiP+7kVRc9alanJa1Zvb4+FCwzcfd+u5DKVszPHz4JROv3/tIMMaLK8838YoVdh12X1M+NjYYjNHjavkfc/GFa14X7FNT02DigwefMbGvGY+q3R90a9n7fXwtd11dWA/f4eqwff3/4OCZwT5NTU+YuErs365f//1sV6cexc9j8eITTVxTuz/YZ2zU1tkfPLjFxAcOPBns4+fm153PVesOAMPDh+w2Ln7BrSkPAK93teu+Nr/m8Ism9r9bIHf9/6KuV5n4F+75DwBXLN4QXPaKhc/DqvokgKN3RES2AziXXe6JiKbF/5iYJ/REFCH+9UJEROWNeZiIqPTin4t5Qk9EEeL/biQRUXkrfh5W1bVFvUEiotiL/zExT+iJKEL8kxcRUXljHiYiKr3452Ke0BNRIN0AZLTU0yAiqljMw0REpZeEXMwT+grV4RoNRTmkU0WYCcVT/N+NpOKqqkqZhmWP9e8JtvmDXfebeKVrEjbu8s4PT357MEZX58kmrq1tMvHAgG3G1tPzXDDG8weeNvF5K88LtvEOHdpm4okJ29F21aoLTOybtwHA6OgRE/smeM3ND5u4oSGce3OzbbSWSr3dxC+99NNgn2XLbKO8qir70j44aO9bff2iYAzPNxb0DeCqq8PDh5qawyZubV1p4t7esCncvq132DFcM76mpmUm9s36AKC2tsXEvtZxtWtwBwCPdj9r4teufq2Jr3ZN86Ka8fnnTGtW00ggbODY5h7T9Fxne51lHiYiKr3452Ke0BNRhPgnLyKi8sY8TERUevHPxTyhJ6JIcU9eRETljnmYiKj04p6LeUJPRAHV+L8bSURUzpiHiYhKLwm5mCf0FcLXzLOGnmYX/zU3qbR+y9UgA8DU4hNNvGZgn4m/u+4SE3dF1EOnUrUm9rXL+/Y9ZuK6utZgjNNXbTTx5OSYG+PRYJ/Gxk4Tr1r1GhPX1jabeGSkNxjD10O3tvabuLn5IRPX14c11VNTvh7cvkz39NjHGAD27n3ExIvd78E/Riee+JZgDN8TwN8//7j39oaPu693Hx8fDLbxHnC1+Ze7/gdPNNrn0BlLTw/G8HNvaFhiYt/LAAA2uOem/921t6+dNQbCGvrDrlbf3+5aV1OfHuOF4LKsWTEPExGVXPxzMU/oiSiCYmpqJPdmRES0QJiHiYhKr3C5WESuAPAZACkAN6vqje76NgBfBrAG6fP0v1PV/5trXJ7QE1GE+H+9iIiovDEPExGVXmFysYikAHwewGUAdgHYLCK3q+ozWZt9BMAzqvpWEVkC4DkR+YqqjkUMeRRP6IkokK4XivfXi4iIyhnzMBFR6RUwF58PYJuqvggAIvI1AFcDyD6hVwAtIiIAmgEcApDz3QSe0BNRBH4yRNbk5Bh6e18+Gj8ZsZb5zW4N+f+9x9aM+7XM/XrpADA4eMDEBw8+Y2K/5nrUevB9fTtNfL8b4+LVFwb7+DXTvd7e7SaOWpf8xBN/ycQNDVtMXF1t12lPpaK+wmcfE5Hcf4d+/fPm5uUmHhsbMHFUTXlT01MmbmkZNnFjo12nfd++sP5/69bvmXh4+JCJdw8eDPZprK43sbg+C69vP87EvscCEN4/L+r+LllyqokHXE2959eUB4AO1wPCjzE01G1i/3sCgB9HrE3/CuZhIqLSm1Mu7hSR7IOfTaq6KfP/lQCyD1B2AbBNf4B/AnA7gD0AWgD8mvomLxF4Qk9EkXggSURUWszDRESlN4dc3K2q585wnUQN7eI3A3gMwCUATgDwQxH5maoeme1GeUJPRBH4yRARUWkxDxMRlV7BcvEuAKuz4lVIfxKf7YMAblRVBbBNRF4CcDKAB2cbmCf0RBRQncLU1Gipp0FEVLGYh4mISq+AuXgzgA0isg7AbgDvBvBet80OAG8C8DMRWQbgJAAvIgee0FcorjFPufCTIcpWNTmGxr5Xauin1oR16GeP27rr/1hka6jbXC3z+PhQMEa3W98+V324r9MGgP7+3SZ+22nvMnFLy4pgHz+X/fufcPGTJj7hhMuCMWpr7Rry4+N2PfTh4ZNMPDER9iHwl/UdudBdvzfY57jj7O00Nd1t4pGR40188GDU37Zdu76pyd5OVVW/iaPqwVevtnX2IyN9Jl7q1rYHgL17H3aX2G8ftrevM3Fzs13rHgh/d359+KjniK+J970bDhywPQV8zX2UatcP4N7u50x8xWL7GAPA29zz+d/c9czDRPHUIVV5XTaX64Hw+DxXTMVRiFysqhMicj2Au5Betu4WVX1aRK7LXH8TgL8A8EUReRLpr+h/TFW7Zxw0gyf0RBSBX/UkIiot5mEiotIrXC5W1TsA3OEuuynr/3sAXD7XcXlCT0QReCBJRFRazMNERKUX/1zME3oiisD1j4mISot5mIio9OKfixf8hF5EUgAeArBbVX9JRDoAfB3AWgDbAbxLVQ/PPAIRFZuqYmoqao1sSiLmYaLkYR4uP8zFRMmThFxcjE/ofw/AFgCtmfjjAH6kqjeKyMcz8ceKMI+KVqwmGrkafrCZR1LE/+tFNCfHnIe1uh4TWY3Bmurbg23GxgZMPLXINmOrrW02cVRTvJHel03c1rbGxLmalwHA+vVXmLiz82Q7r6nwnfbe3u0m7uvbaeING640cV1dK7yhoYMmnpy0zfcGB083cX29va9RBgfsY9bRsT7Yprn5xyZuanrcxA0Nz5tY5NJgjJdesnPfu9c2wUulak08NRXmhxrX9NA3sItqaNfUZBv67dz5cxOPuEZ6bW1dwRi1teNubmtNvH37PRG3u9TEK1bYZYN7euxjtm3bXcEY7e3HzTrXM0bseZlGvP41NnYGl2XtwTxcfnhMHAP+WDXq2HWjy3mFGHdxHk3xvB6XN7a53Ls1Ihf7bXjsfazin4vn/syaAxFZBeAtAG7OuvhqAF/K/P9LAN6+kHMgovlIf70onx+KN+ZhoqRiHi4nzMVESRX/XLzQn9B/GsAfAchey2eZqu4FAFXdKyJLo3YUkWsBXLvA8yOiSPF/N5Ly9mkUIA/X14dLrBHRQmIeLjOfBo+JiRIo/rl4wT6hF5FfAnBAVf0is3lR1U2qeq6qnpt7ayIqJNX0mpv5/FB8FTIP19Y2FXh2RDQb5uHywWNiouRKQi5eyE/oLwTwNhG5CkA9gFYR+TKA/SLSlXknsgvAgVlHobISVafE2p44Kty7kSJyBYDPAEgBuFlVb3TXS+b6qwAMAfiAqj6Sdb1pIlSQSVWOguVhkSpUV9cfjX0tOwA8PrDPxK9feb6Ja2tbTOxr7gHgIjfGZ7ufNfE5g7bWe/WGq4IxfN19VZV9qRtwtwEA+/Y9ZuK1ay82cX19m4l9zT0Q1kgvcj0ExseHTTw2FtZPt7XtNXF7u63lHxqy/QDSl51q4traPSaurra13A0NTwdjdHW91cQ9PbM/JRoblwSX1dQ0mNj3SBgePhTs09Ky0sQnnmj/xP3vpaoqFYzhH2eRIReHrzv+ued7E/j71929JRjjpS23mXive9PrcldT/+ye8Fxu+fKzgsteEf9PhShvPCYuovUu5/tjzw3uer89AFyV9Xo339tdNI+a+fEc++yYHDPxAy6OuszHD0bsQ7OJfy5esE/oVfWPVXWVqq4F8G4AP1bV9wG4HcA1mc2uAfCdhZoDEc3XFKamRvP6mU3mZPzzAK4EcCqA94jIqW6zKwFsyPxcC+Cf3fXTTYRojpiHiZKsMHk4HyLyuyLynIg8LSJ/U4DJUxbmYqIkK14unq9SrEN/I4BviMiHAOwA8M4SzIGIcijQu5HnA9imqi8CgIh8DekmQM9kbXM1gFtVVQHcLyLtWZ9YTDcR+isAf1CICREA5mGiRCjGp0Ii8kak8/CZqjo6Ux03LQjmYqIEiPsn9EU5oVfVewDck/l/D4A3FeN2iWh+VOf09aJOEXkoK96kqpsy/18JIPs7w7sAbHT7R22zEsBeRDcRonlgHiZKljnm4WPxOwBuVNXRzO3ya98LiLmYKFmKmIvnrRSf0FNM5Vo/M6rW3V/GevhyMafk1T1Lox6JHDyPbbKbCInIxflOhhbGxPgwug++8sWKE0aPBNtccPxlJm5pseuw+xrz0YgxLh6wNeTv2Hmfid947nUmPq3V1mAD4RrpfX07TPzyyz8N9lm+/GwT+zXTBwb2mziqhn79+itMXF/f7sawtfutrd3BGEuWfNXEtbV27qOjtl4cAPbt/00Tb9/+XhO3t+c+Pxsdtfne1503NCw2sa/1B4C6OlvvPz6+xMXhB7++zt7Xsre3rzXxgQNPBWP436dfY973UACAbtebwdfhNzR0mLi1dVUwRssSWz1UPz5o4t7j3mDiFRH1/5Oz1rIW7I3VXE4E8DoR+SsAIwD+UFU353vDRMXkj02j1ov3tey+Zt7vE1VDP1nTaOIht01N1DGx22b/PGroc/G3+5aJkWCbK91ld+aIoy7j8Xw2ntATUSJpodbT3AVgdVa8CsCePLf5VUQ0EcrUHRIRlbk55eHZ3liFiNwNYHnEVZ9A+lhwEYALAJyH9FfAj8+UQRERVbiCHRMvGJ7QE1GkAr0buRnABhFZB2A30s2A3uu2uR3A9Zn6+o0A+jLr8v5x5geZT+j/kCfzRFRJCvWpkKpeOtN1IvI7AL6VOYF/UESmAHQCODjTPkRElYSf0BNR4qhOYWoq/ErW3MfRCRG5HsBdSC9bd4uqPi0i12WuvwnAHUgvWbcN6WXrPnjMN0xElHCFysN5+DaASwDcIyInAqgFENaDEBFVoCLm4nnjCT0RRShcvZCq3oH0SXv2ZTdl/V8BfCTHGPcg00SIiKgyFK1u8xYAt4jIUwDGAFzDr9sTEU1jDT3FlG8qAoRNQvJpiveAa+jDJhrlI+71QlRca8YG8Pkd9x6NP/nqa4NtlroGZr4Z2ZEju0zcv+cheD3V9SbeWNts4je55mQTEc19enq2mnjfvkdN3N6+LtjHN1IbHj5k4u7uLSZevfq1wRi+kdrQkP2Qs9bdl6VLPxeM0dHxX24f23xubKwr2Keqyj4GLw5/wsR79thcXuOaPaXH3RVclm1w0DYFrKoKm8SlUgMmrq4+bOLGRttEDggb2vkmeK2ttglebe1qeLt32/u3ffs9Jl68+MRgn+ZmW06+d+8jJvbN+XyTwPQ2J5jYP67+vkQ97lHP32zFyMOqOgaA5UwUS75h3ZX+NSKiKZ6/bI2L+1zcH9EUb4fL1/vc32/jVHiCN+7yhI+9qMZ6/rLqHMfV3e7xAIBOl1fe7pqP+iaBQHjM75vkbYu4v5Uk7sfEPKEnogjxfzeSiKi8MQ8TEZVe/HMxT+iJKEL8kxcRUXljHiYiKr3452Ke0BNRQFUwNZVvephtHWUiIpoP5mEiotJLQi7mCX2Fiqqh95flU0O/EKLmVop5VDaBaryTFxXXjtpmfGTNRUfjdS0rcu7T37/HxJuzavABYHVzuCz2v7rLHjlga6hTrvZxcPBAMEZf3w4T+/r45uZlwT5Hjuw2cW/vSyZeufJ8E7dE3H9fd9/T87yJTz89ZeLGxqeDMaqr7UphVVXDJhbJ/SlBXZ2tfezoWGtvoyZcjay+zta7NzTYufvbPXLkwmCMnp7jTdzYaHNIdXVYL97YuMTEB9zvu7rajplK9QdjtLq+CvX17SaO+l3536e615WxMdsPIKrW3Y/r6+z9c7W6uiEYw/eZsJiHqfL4mvlfd7Xr73Oxr48Hwhr5F1ydub/e924BgL3udp51eSWqht4bh8x6fWNEXXbj5HjObWbbHgjv35B7TNdF5J0bcpwDfMXV4VdWTX38czFP6IkogkC1ptSTICKqYMzDRESlF/9czBN6IoqU/7uRRES0EJiHiYhKL+65ON6zI6KSUJ3L14uIiKjQmIeJiEovCbk43rOjgslVlw6Ea8p7UbXrxahnz1XbD1RaLU8xxD95UXFNiZg6vKmIv7mhIVubfeCArRE/Y+npJm5oWByMcfjwCyZ+2O2z3NUxjru6vjRbt1hX12ri3t7twR6jo0dMfMIJl5vY12n7GmsA2LPnIRP7Ou3a2h+aeGJiUTDG4OCrTTw1Zeuu+/s3Rtzu9SauqbVrxi9uv9vEk5N2feWo26mvf3HWuKnp8WCM6ur3mPiFF2wNamfnScE+XV3rTHzkiH1cDxywPRIaGzuDMXz34a4u+xhG9UxoafH1/baHwPi47bvQ3x8+z3yvhiNHds0aR9Xyi6SCy7KuZR6mshZ1POdr5m9w68GPuPiFiBp6vza7r5Hvq7Jfn95b25RzjEdc7omqj/f17kPu77sGauK2idFgjK4J2zfFrynv16mvibj/XrBPxLF7l7vsKhf7431fUx+1TfmIfy6O9+yIqESqggN8IiIqJuZhIqLSi38u5gk9EUWI/7uRRETljXmYiKj04p+L4z07IioJ1fg3ACEiKmfMw0REpZeEXBzv2VHB+LqWQtW55Kpvz2ct+7nOLarmKp/bobmI/xIdVFw1OoWurJo5X3MOhHXl1dV1Jm5rW2PiyYi+HSMjvSZes+YiE/sa6sOHbW131Bh+PXi/5jgAnHHGe91cbe3j1JSdqx8zam7NzbYGc3TUrql+4IB9PABgcrLF7dMVbON1dn7dxO3t95i4rm6nu42whr6391IT9/VdbGK/Dn1Nja1tB4CWlgdM3Nr6PhMPDNjafgBYuXKP28fWso+O2sdoaKg9GMM/F/069FFryI+OtrpL7GPiD96iejXs3v2giX2fhebm5SaOqpevqspVQ888TOXryoj13/068/2uB4pfHz5qDfnulH3t8fXwPt5RZ/Nu1Da+hv682jCPjvl6d3ds+qzLIyeM9AVjtE3ZdeV9rX6jr4efmn2degAYd/Pw69JHXXaeq83f6vrmRPWuujMi15aH+OdintATUYT4f72IiKi8MQ8TEZVe/HNxvGdHRCUS/+RFRFTemIeJiEov/rk43rMjopJQjX9HTyKicsY8TERUeknIxTyhJ6II8X83koiovDEPExGVXvxzcbxnR4m32DXi2BDRiMM3sHvANcrKp2leVKO8uco1RqU12ot78qLiGq6qxpMNHUfjC11jIgAYGxucdQzfvKyvb0ewTVfXq028dOnpJhb3dzo4GDZnO+PAkyZ+z6FtJt50xaeDfZqbbcOjVGqvm6ttPOQbAAJhA78plzJ6ek4xcWtrTzBGY+PTJq6rs49RVVXYdKihwTYGrKk5mGOM/mCM+no7hm+Sd+jQW2e9DSBsnNfcbB+znp6weZNvAtjY+IyJ/dyjbvfQoY0u3jZrnB6nycRLlpzirreNqUZHw8ds/forTLx48VIT+8dUNWyANza2IrjM7sM8TOXjfNdo7dcjXkfaXLO5J11TvH1un73V4SenuZrg7a21f/87Ihrc+csuyHr9A4AGFwPha5xvyNnnGskNpcJGa1EN62YzHtFY04877BvtRRzv+tv1sT9+Xx8xT39ZVOO8pIp7Lo737IioROL/biQRUXljHiYiKr345+J4z46ISiT+S3QQEZU35mEiotKLfy7mCT0RBdINQMK1XYmIqDiYh4mISi8JuZgn9JS3qBrzqBqabFtd/UxUDb0f90pX65Srpn6my+aqnGrk8+kpMPv9jf/Xi6i4mqobcMGS047G7e1rg21qXG3jcy/ebeOhbhMfH1E/uWHDVSZubLS17b52fWSkNxjjyaVnmPg/Fh1v4jdHPPcnJmyuGh1tM/G+fT838QknXB6M0dj4rIkPHrQ1lv7x8fXyAIJOuuPjS0y8bNktwT5NTY/POsbw8Ikm9rXdAFBXt9PEnZ3/YeKGhudN3NPzjmCMgYFXB5fZ22gNLttrWxVgfMLWpTe5mnpfcw+EzwEfn3LKLwf7NDVtN7Gvb5+cEhO3t68OxqiuPmzixsZ7TFxbu8fEUV2Sh4fD2vxXMA9TsvljkY2uhv6K6vAk6RFXu/6iyxu+tt3Xx0dd1uduN6ipj6jDP8/dTpU7fq2OuF3f42V8fMjEr3NjjEYcq73g4kZfh56jVw0Q1sjX5HF867fxt7veHYtHHc8/UIB+VvFUuFwsIlcA+AyAFICbVfXGiG0uBvBpADUAulX1DbnG5SsFEUWI/9eLiIjKG/MwEVHpFSYXi0gKwOcBXAZgF4DNInK7qj6TtU07gP8D4ApV3SEiSyMHc3hCT0QR+MkQEVFpMQ8TEZVewXLx+QC2qeqLACAiXwNwNYDsr6K9F8C3VHUHAKhquJRPBL5SEFFANf5LdBARlTPmYSKi0ptjLu4UkYey4k2quinz/5UAsuvbdgGw664CJwKoEZF7ALQA+Iyq3prrRvlKQTPytexfjlhzc8TVGHW6NTd/09XM3jkRrqHs6/B9XY6PfV0+EN/693xq2XMpzX3jJ0NkVVfXobPzpKNxU1Pub4H5Or4d9/2NiU+78nPBPr5OcXx82MQDA/tMPDx8KBjjpJPsmunHuZrqvj67tjkQ3h+/TUfHerf9U8EY/m/Gz3X58tNNPDh4VjCGrxE/80y7tv3SpRrsU1u7zMTj47tNfOiQncfu3X8QjNHaep+JGxsfd7GtZY/KD37uvb227ry6Olwvuda9howM23ynU7YuP5UKa859n4UNG8418eLFXwn2aWh4zt6O+zrl6Kid+8jICcEYk5Ph2tWzjRlVQz8+PtvfUXHysIicDeAmAPUAJgB8WFUfXPAbprLnj+/8ceXeiD4qO11O8Nv4+veoddt9PXibq/8eEpuLGqsngzHUjeFfm2pq7Fr2QJiLcq1LH1WH770wOfsa8o3uegCogX2diFp3PtjH3V8fr3HH3hsjjsV9zyu/Dn1cj9Vzm1Mu7lbVc2e4TiIu8y/q1QBeDeBNABoA/EJE7lfV54M93U5ERE5V5MEnEREVS9Hy8N8A+HNVvVNErsrEFxfjhomI4q9guXgXgOx3i1cB2BOxTbeqDgIYFJGfAjgLAE/oiWhuVPkJPRFRKRUxDyuA6VbibQgPMImIKlYBc/FmABtEZB2A3QDejXTNfLbvAPgnEakGUIv0V/L/MdfAPGInogg8oSciKq055eHZ6jZz+X0Ad4nI3wGoAvDa/OdIRFTuCnNMrKoTInI9gLuQXrbuFlV9WkSuy1x/k6puEZHvA3gCwBTSS9uFNX7Ogh2xi0g9gJ8CqMvczjdV9ZMi0gHg6wDWAtgO4F2qenimcah4fK3Tt11N6VcXhTWEz9a3m/ic4R4T+xWTX+dqSgHgwRw1N/nUoftt8qnT8fvMZ4z51APluj+FqDE69jG4XFI5KGQeFkmZdcT9ertAWB94hqtvH7/gf5p4c3/4QeByV7vua+T37HnIxKtXh+ce7e3rTDw0dNDEUTX0/W4uPT32221Llpxm4rHxsH5yeMiuXV9fb5vTplIDJt65szcY4/Wv/6iJly2ztZ5tba8J9qmpsf1Nxsd9X4Ff2HkOfzcYY+vWL5i4o8Nu09Jyf7CP59e3n5iwv5vWVrsWNAB0ddkPHurq7O/G1+WPjq4JxvCX+QMvPyYA1NbuNfHUlN3H18dPTYW1rsPDJ5l4aMg+R2pq7PMu6oCwry98Hr1iTnl4trpNiMjdAJZHXPUJpGs1/6eq/qeIvAvAFwBcmu8NU26VekzseyD5deh3RdSQ+5p4X/89HlmGbPl9/Jh91XU2ToW5yde317ha/vp6m+8BoLnZ/omNjdmcP+mOdwcHwwbm/rX1Z+6YeHzEvSa4MYGw/t3fv3wewwZ3u75Hlj9niLpsPsfV8VS4Y2JVvQPAHe6ym1z8twD+di7jHnvHrpmNArhEVc8CcDaAK0TkAgAfB/AjVd0A4EeZmIhiRrU6rx+KNeZhogQrVB5W1UtV9fSIn+8AuAbAtzKb/gfSSytRYTEXEyVY3I+JF+yWVVUBTL81VZP5UaTX27s4c/mXANwD4GMLNQ8imjvVqshPpChZmIeJkquIeXgPgDcgnQcuAbC1GDdaSZiLiZIrCcfEM57QZ74GlMuUqvbOMkYKwMMA1gP4vKo+ICLLVHUvAKjqXhGJXLNFRK4FcG0ecyCiguNX7uPiWHNxofJwc/OK+UyfiOataHn4fwD4TKYJ0wh47LUgeExMlFTxPyae7RP6PZmf2QotUgDCgrYMVZ0EcLaItAO4TUROn2nbiH03AdgEACISLrxLRAuocE3xROQKAJ9BOl/crKo3uuslc/1VAIYAfEBVH5mp5rAgk0qWY8rFhcrDS5eezjxMVFTFaU6qqvcive4xLSAeExMlVfwbRc82uy2q+qrZdhaRR/O5EVXtFZF7AFwBYL+IdGXeiewCEHaEoJLwzUt8U5HOydFgH98E76SRXhP7xhzvc01FAGCxu50HIhp85FKIpnj+/ntbXYOQKAvVSK/4CpO8Mp9IfB7AZUivrblZRG5X1WeyNrsSwIbMz0YA/5z5d7rmcEBEagDcKyJ3qmru7lzlpSC5+FjzsOokRkePHI19sx8A2L//CRPXrbvExBvb7HsOhw/bJmoAsGPHvSaecn93Ta5ZZ339ollmHT1X3zQPANraVps4lbJNkw4ceNLEIyOrgjFU95t41eplJq6pto33mpqWBGM0NNhmfFVV9mt+U1O2MREQNsEbG7PzULWPYVvbfcEYJ554jYmPHLnQxBMT9nGurg77dvmmeMuWveTmGX742NT0uIvtc8h/zdE3novitxkZOT7YpqpqeNYxRkbsc/XIkbAZ4ZEju0w84Jq++uZW/jkFAIcObZ5lFvE/iKS5K9dj4qiGv75JWnOO4ywgPG70hlL2k9IhSQXb+KZ3e6vtGuI76myzzYuyGr5Oa2zsNLF/7WlpCb+11tnpm+LZ+5v9GgqEjfYAQN39f607Jv6JPzafCF8T/GPot4l6jBt10sbutdfHJ0SMcZXbxje59nFyxD8Xz9YUL3z1msM2IrIk8y4kRKQB6Y6pzwK4HekGLMj8+528ZkpERZT+elE+PzmcD2Cbqr6oqmMAvoZ0zWC2qwHcqmn3A2jPHOCoqkbVHFaaeedi5mGiJCtYHqYSYy4mSrL45+IZ325Q1REAEJETAOxS1VERuRjAmUgffPdObzODLgBfynxCVwXgG6r6XRH5BYBviMiHAOwA8M7C3BUiKhTVgq1/vBLAzqzrdiH96Xu2qG1WAtgbVXOY76TKxTHmYuZhooSaYx6mBVSAvlLMxUQJlYRcnM/s/hPAuSKyHum1SW8H8O9I17vOSFWfABB8TVRVe5Be85SIYkvm0tFztvWPo+q+/afsM24TVXOoqk/lO7EyM+dczDxMlGRzysO0sI61lwlzMVFixT8X53NCP6WqEyLyDgCfVtXP5Vs7T6UTVcuULaqO29eI//agLeXqGOrOOc6V1fYJv8rFG1O1s84LAH63ttnEvrb9zoh6oS+PD9m5FqCmvhCSUS8fpWAdPXcByC5OXoX0QdGctnE1h5V6Ql/SXDw+Pox9+x47GvtaQACYdLV+q1ZdYOJa97c9NjYYjDE46EtI7fHzhPv77+/fHYwxMLDXxL4mcfXqsEKhvt7u09x8nol37bKtG3p7Xw7GOOmkK028qP2rJp6asrmsre3SYIz+fvsFloMHv2vinp5wRbGpKVsf2thofze1dbbWs64urP1sb3/MxJ2dtv493aPyFWNj4ePe12ff1xsdtX0J9uz5vWAfX1cvYmvbUykbR9W+j43ZXgQDA2e6edh+AADQ2nqWiWtqDprY9xDo6bG9DQCguXm5u8Q+V7dtu9PEvzhsH1MAuMjV3fvx+HX62ChYX6lyFXUM5Xsk+d5MUfw24+7vqs8dR3ZXhydafVX272Z5fZuJj3M1875eHgj/vttcD5jW1rCPypIltwaXZRsYsDmyru7UYBv/Oupf817vXs/89UD4mud70dwb8Zj5x9H3JvB1913uuBuY37F3MsQ/F+dzBjMuIu9BurZn+sgi3veKiI5R+utF+fzksBnABhFZJyK1AN6N9CfL2W4H8H5JuwBAX6ZB0Ew1h5WKuZioohQsD9OxO6a+UkSUZPHPxfnc8gcBXAfgr1T1JRFZB+DLCzstIiqlQtULZT5Rvh7AXUh/HfEWVX1aRK7LXH8TgDuQ/tr4NqSXrftgZvfImsNjnlRyMRcTVZAk1G1WiqxeJrlq6WfrLUVECZSEXJxzdpnlpW7Iil8CcOPMexBR8hUueanqHUiftGdfdlPW/xXARyL2i6w5rFTMxUSVJv4HkRXoEaRLxA4jXWPRjnQzOyDd+yVcI5GIEi7+uXjG2YnIk4heIkqQPgY/M+I6SjBf6+Jr6u+MqDH6/ApbD3Tt8rNNfIKrs/2/2+8Jxujo22Hita5u6an6dhP/SlBjC2ztt2XZ+ax16bfxtT++9itK+dQHefGvF6oUccnFdaNHsO7Fu4/GUbW//3bm+0zs6/hGRnpNPDbWH4yxZs1F9nZdreOQ6+URVVPe3r7WxL5mftGinwT7+NrsKX21if2aw01NYY6pq9tpYj9mdbX98C5qPfgjR+z9r621tf2rVj8X7LN0ydtNXF9vzyn8Igi9vfcGY/T0fN/Era22h0Bt7TITDw/bNecBYHT0aRP7uvSWlnCRiv37f9PEDQ32/vkxxsbC+v/BQfu7qqk5bOKRkaZgny1bek3c2XmGiY8cecbEfk15AKivtz0h/JrS/nl4er9vHwIMLT0tuCzrVpmH4+f7AG7PvFENEbkSwKWq+tHSTqv08ulDlGuN+SjjVbaW29fHv1Br15QHwrXqV7u/Tf+36l9ngLCu3tfQL14c5u+lS//NxPX1Nk8eOPAbJk63xLFGR9eZ2Ne/V7ta99HR8HVU3Zryvs4+qnPj0NiAiWvcYYdfhz7qd7nfXeafE1HPkWQcR8c/F8/2dsMvFW0WRBQz8e/oWUGYi4kqEvNwDJ2nqtdNB6p6p4j8RSknREQLLf65eLZ16I+28BWR4wBsUNW7M82p4v29AyI6JkmoF6oUzMVElYl5OJa6ReRPkO5fogDeB6CntFMiooWUhFycc3Yi8j8AXAugA8AJSC8pdRO4biZRGYv/14sqDXMxUaVhHo6h9wD4JIDbkD6h/2nmMiIqW/HPxfm83fARAOcDeAAAVHWriCydfRciSrb4vxtZgZiLiSoK83DcqOohAL8nIs2qOpBzByIqA/HPxfnMblRVx0QEACAi1Yhu0EQxMp8mE+ur7NPhrtZVJl7pGl4BwKfe8qsm/taZtqHTM8/8l4k/+eXw9e/cw7ZpSLtrTvJt11iodXIsGOPQkV0m9o03/H0DgAfdOL5J3iE3Rj6Pqb/dZDT7iBL/5FWBSpqLD1XX4d8XnXA0fmLJqcE2D7q/wzdMjJq4vr7NxCtcU00AWLTINnSrrrbPw5ERm0N8k7z07bSbuKHBNqsTGQ/28c3WjvTZd+O7u58N9vFqa+2iDKpXmtg3eKuuts3bAGDZsltMfPzx9v4tX/4HwT7t7b6R3mITj43ZbwRPTdnfCwDs3fs9N1c7Rn29baM0ORm1Opdtiucb+q1c+ffBHi+//Jcm7umxTaJaW23jqYEB2wAPAEZH7dw6O//DxL5ZIQAcPNjmYtsEzzeR8k20AGBy0uZ3v8/4+JCJu7rOCcaIGvcVzMNxIyKvBXAzgGYAa0TkLAC/raofLu3Myte4O67yTfJOr64L9vF/V9XVDS629dBRf4e1tbbpZX39oIlbWu4P9unstK8TK1bYpp/NzV9wY4bNRUV+z12ywUSTk/b1yzfNA4BR15B60h3vPhCxz0U5jlf972Eo4rjaH2uXV1O8eOfifGb3ExH5XwAaROQyAB8G8F859iGiBFMVTE015N6Qiom5mKiCMA/H0j8CeDOA2wFAVR8XkdeXdkpEtJCSkIvzOaH/OIAPAXgSwG8DuENV/3VBZ0VEJRb/dyMrEHMxUUVhHo4jVd05/U2pjMmZtiWichD/XJzP7C7JHDQePXAUkWtU9UsLNy0iKq34J68KxFxMVFGYh2NoZ+Zr9yoitQBuALClxHMiogUV/1ycz+z+TER+BcBHAbQgXTs0CoAHkWXuyYYOE79z7cXBNq9//W+YeOPGPhPX1NSa+E++88fBGO2uludsV2PT7WudIupttroxNrg6nqga+qBmPkcdTzLqfAol/smrApU0F7fVteGtG16pCff1hQCwbszWt/u6vVbXl6OjY30whq9398/D0dF2E4+PDwdj+NutqrL18YODFwf79PfvMXFtrf17P/tsO9eqqrCGvL+/y8R79mwzsYh9zBYtOjMYY/VqW1Pua9cbGmyc3sbev+rqdne79jFMpWz9OACMjdm5+32qqvwavGEN5uCgvT9NTY+buK5uR7DP0qW3mnjX7o+a2PcdGBw8KxjDP0d8b4LJyZZgn1TK9pNsbg6fz9l2794cXNbevs7EU1O2ttX3d1i+/OxgDImoKc26lnk4fq4D8BkAKwHsAvADpBuWVryoY6Qed5k/fos6nvNybSOSCi7zNfLVrs4+ah8vlbLHrw0Ntt590aLvB/ssW/YuE69ff6OJJyfta2R39xPBGP5v3vfimJgYdteHr4FRdfXZNlaFHdv73P31NfI+9jX1ALAoj5r5ZIp/Ls5ndm9A+gBy+pX5z1T1qws3JSIqvfgv0VGBmIuJKgrzcJxI+izw06r666WeCxEVU/xzcT4n9IsAbATwAtLrHh8nIqKq7HRPVKZU4/9uZAViLiaqIMzD8aKqkyKyRERqVTVcboeIylIScnE+s7sfwI2qeouINAD4awD3AXjtgs6MiEpqaorniTHDXExUYZiHY2c7gPtE5HYAR9cxU9V/KNmMiGjBxT0X53NCf6mq7gAAVR0GcAOX6FhY+azb6PnaJR/nM8Zit80Jbh3LffseC/Z56ilbLyRi15V++mm7HvB7e74ejLHbzbXB1f5sHDxg4nMi1p329fBXuvpef9+AclozfiEolI9H3JQ0F9fUNGDp0tOPxlURfSlGRmwPjfFxu25vTU2TiaOeY76We2jI1g/u3/9wzjEaGztNPDCwz8R1da3BPsuW2a/TdXZ+2cQNDXaN9Sjt7Se6MU4ysa/tbmzcFIzha/PHxmz+Gx+3a8oDwNj4oVnnNeb2GR/fH2wzMbHIxH6deX+7Q0NbgzF6e+3rwXHH/amJU6nwgCiV6jexuqWBpqZsLezkZFjr7teD9zXz/jkFhM/NxYvPNrFfU141bGQ+MtLr5mpr6H0vh6h6eX87FvNwDO3J/FQh3cuEZuGPqw7nUUPf6I7nfNzm/q7udX93QLo+LZt/vaqp8evSh0uS+bXpRew8ovLK/v3fMHEq1Tzr9YcP/34wxvDw8SaenDwcbJMtKjdNTIy6OHc+86Jq5HNd7y/zx97JramPfy6e8YReRE5W1WcBdIpIp7t6IGofIiofcU9elYK5mKhyMQ/Hg4j8m6r+BoBeVf1MqedDRMUV91w82yf0fwDgWgB/H3GdArhkQWZERCWnGv93IysIczFRBWIejpVXi8hxAH5TRG4FYBaiV9XZvyZDRImVhFw84wm9ql6b+feNxZsOEcVF3JNXpWAuJqpcxcjDIvJOAJ8CcAqA81X1oazr/hjAhwBMArhBVe9a8AnF000Avg/geAAPw57Qa+ZyIipTcT8mzllDLyL1AD4M4CKkk9bPANykqrMVftEM8qkfmU8N/VxtdOtNAsD5fg1KV0P/oWe/Heyz6WtXmfhHP/qkie/Y/aCJd+/6RTDGb+eo3V/j1rb+bVdTD4SPka/b8evUAwtTM19OdfhxT16VpvS5WMzavr4+GAhrig8ffsHE/jnla92nbydbba2tuz/uONs2oK3tZ8EI1dUvBpeZW5Bw3d7GxudN7NdQr63da+KoWu5cL6l+jLa2eyLm8YyJh0fsuvO9vfcG+6ja/FZTs9jEIyN7TNzd/b1gDF/fPzFha+YHB21/hJ6eXcEY/v75mvmJiXDZnyNHLjKxf0z8vKamwlpX/7waH19i4oGBVwf71NU972L7ZzQ5aV9D/JrUAFBf32biMfda5f9G/N8HAAxGvJ5lK1IefgrALwP4l+wLReRUAO8GcBqAFQDuFpETNZ8C3DKjqp8F8FkR+WdV/Z1SzyeOoo5//GW+39GqiGOzXOvO+zrtjRH9XPzfq+9f4dduHx4Oe5McPuxfRzaYSPWjwT4jI/Z9nYGBf3PXn2zi/v4LIsawr3ljYztNHK5LHx4C+LXq73O5qXEy7Dtw8pT9s871e6g0cT8mzqcp3q0A+gF8LhO/B8C/AXjnQk2KiEpNMRXxQkslxVxMVFGKk4dVdQsAiIi/6moAX1PVUQAvicg2AOcDCN+ZrxA8mSeqRPE/Js7nhP4kVT0rK/5vEXl8xq2JKPGSUC9UgZiLiSrIHPNwp4g8lBVvUtVwGYW5WYn0cpnTdmUuqzgi8oiqnnOs2xBR8iThmDifE/pHReQCVb0fAERkI9JrHxNRGYt78qpAzMVEFWYOebhbVc+d6UoRuRvA8oirPqGq35lpt6gp5TuhMnOKiDwxy/UCoG2W64koweJ+TJzPCf1GAO8XkR2ZeA2ALSLyJABV1TMXbHZEVCLxfzeyAjEXE1WUwuVhVb10HrvtArA6K16F9Brslejk3Jug4noLEFWG+B8T53NCf8WCzyIh5tOsLp8maXNtepdP4xEf+9voiRjDN5Lz+1zduz3Y5+JHbjaxb1by+64J0NnD4couQYM+t83XXQOQOyMagKx3TVF8E7wHIhp45XqMKl3ck1cFKmkunpwcQ29WDhgY2BdsM+z+dhcvPsnETU22WVl2k71pdXWtJm5p2ezifzJxfX3YAK+qyjYEmphYZOKoxmq++Zrnm+D5MYGwIdLQ0GkmHhtbYeLGxqeDMXwjOa+vLyxfHhi0jfSqxObDQXf99u2/GozR2fkfdsyBLSYeGXnZxC+88O/BGCtXftbEvgleb294TtndbVtArFnzqWCbbIODi4PL6uv7Tex/v4OD4etOfX37rLfjn9+dneH5XHOz/cDb7+Ob4o26hq8A0Ne3I7gsW4nz8O0A/l1E/gHppngbADw4+y7lSVVfzr1VZcvn2NQfZ/ljRgAYcsdz4+6LIo3u+O7ZiL+rNS6ucmP6JnnDw+FrkW8258eoqzsLnqrNef41wevpuTC4rK9vu4mHhrpN7POIb5IXddmaUZsj26bCpnj+spqpub8/FfX7zJbkxtFxPybOeULPJEZUeVTj3wCk0jAXE1WWYuVhEXkH0s02lwD4nog8pqpvVtWnReQbAJ4BMAHgI5XY4Z6IKlsSjolnfCtFRB7JtXM+2xBRMqlO5fVDC4u5mKhyFSMPq+ptqrpKVetUdZmqvjnrur9S1RNU9SRVvfOY7xARUQLF/Zh4tk/o2QCEqGLFv16ogjAXE1Uk5uG4EZHrAXxFVWev0SGiMlK4XCwiVwD4DIAUgJtV9cYZtjsP6VVGfk1Vv5lr3NlO6CuuAUiuGuqFqrHOVVOST83JXMfYFvHVEV+b7u9vUOsO4IGxARN/xdXtRNWu55rbDa7uPp8xfP2/3+fBiDFy9URIcq1PIfBAMjZikYsnJ0dx6NALR+POzpOCbY4//rUmbm5+2MQ1NS8gFxFb/15Xt9fFtua4puZgxFxtPaSvaxwft7X8ADA21jVrXFVl82NUbWRf38WzzlXVvuQeOPD+YAx/f1IpW2mhEbl7eNj2EejrO8HEO3f+o4kbGsK+A/4x6emxc929+y9MXFsbPu6plK3THBh4tYl37fpYsE9Hx20mrq624/b3X2TioaGeYIylS+3qjb6G3tegAmH9++iofc4cPmwfo9Wrw1rX2tq+4LJsvkdETU3jrNtHYR6OneUANme+FXULgLtUtVI7/+eU67hqXUQ+W+2OK31ddqOr+uiM6Kv0rLus2/0t+jH99QDwBreN/3tORRwTj46uMnFf36kmrq219/fIkV3BGL2uX9Xg4IFZ43ujegi4mvmuCfu62jYxGuzjH9cat6BFTR65yG/j+3Ul+bi6ELlYRFIAPg/gMqSbjm4WkdtV9ZmI7f4awF35jj3jCT3rNYkqGw8k44G5mKhyMQ/Hi6r+iYj8KYDLAXwQwD9l+gx8QVVzv2NJRIlUoFx8PoBtqvoiAIjI1wBcjXSfkmy/C+A/AZyX78Bs601EAVWNfb0QEVE5Yx6Op8wn8vsyPxMAFgH4poj8TUknRkQLYo65uFNEHsr6uTZrqJUAdmbFuzKXHSUiKwG8A8BNc5ljPsvWzYuIrAZwK9JfT5oCsElVPyMiHQC+DmAtgO0A3sVaJKK4iX9HT8qNeZgoyZiH40ZEbgBwDYBuADcD+H9UdVzS66BtBfBHM+zHXEyUWHPKxd2qeu4M10nEZb5k59MAPqaqkyJRm0fLeUJ/DA1AJgB8VFUfEZEWAA+LyA8BfADAj1T1RhH5OICPAwgL6+aoGGuIz6f2o1T1IvOpD/d15772ZUNV+HQpRN8Bv2Z8VH1/Nr/mPBDONdcYUfxjks/vrpzr7vmpT7zMMxcXLA/X1bVhw4Yrj8aNjWEddlPTd90+tobcrw8/OdkSjDE1VT9r7Gu9o8bwa8QPDtr1ggcGzgz2mZy0+6jOnruOHNkdXOZX9NqwwT5GLS0PmNjX6QPA7t0fNfHoqF0f3o8BACI1wWXZFi+2v5fJyeZgG1//f/jwFSb2j2lX1/8JxvD3x68x738PANDR8V/uduzvd//+a0y8fPmzwRgNDc+buL9/o4mjaujb29eaeMT1bvH17o2NYZsKqbKvM8PDdr37pUtPd2OEvRtqa7cFl2VjHo6dTgC/7EuhVHVKRH5plv2KekwcF/648g5X235DxPHcGndc5delD2JJBWP4GnlfZ++v74uoh/+5+9t7ndvGr2UPhOu/+zr72lqbewcG9gVj+Mt8XnnA5aoTXM8BAFjjLmt0x8Q+BnKvO59rjXkAGMhxPJ/kY+QC5eJdAFZnxasA7HHbnAvga5mT+U4AV4nIhKp+e7aB8zkLnm4A8g0RuULyfLtAVfeq6iOZ//cD2IL01wquBvClzGZfAvD2fMYjouLiVz1jZ865mHmYKNmYh+NFVf9spr4mqrpllv2Yi4kSrEC5eDOADSKyTkRqAbwbwO32dnSdqq5V1bUAvgngw7lO5oE8TuhV9U8AbADwBaTfSdwqIv+viJww645ZRGQtgFcBeADAMlXdmxl7L4ClM+xz7XT9Qb63Q0SFwdrN+DnWXHyseXhoKOxqTkQLh3m4PPGYmChZCpWLVXUCwPVId6/fAuAbqvq0iFwnItcdyxzz+p76sTQAEZFmpDv1/b6qhmsrzHybm1T13FnqEIhoARXqQDLzafJzIrIt85VCf72IyGcz1z8hIudkLl8tIv8tIltE5GkR+b0FuJuJMt9cXIg8HPV1YSJaWDyhLy88JiZKpkLlYlW9Q1VPVNUTVPWvMpfdpKpBEzxV/UA+a9AD+dXQz6sBSGbfGqQT11dU9VuZi/eLSJeq7hWRLgAHZtqfiEpFC3KQmOeam1ci/cnzBgAbAfxz5t/ImkO/XmelOIZmTMzDRIlUmDxM8cBcTJRU8c/F+XS5n1cDkEx95xcAbFHVf8i66nakD0pvzPz7nTnPugCS3JghH/7+5WqSF8U3s8in0dx8msTl2mY+c12IBobFaLwYJwXqrpzPmptXA7g18+nz/SLSPn2AA2D6q4j9IjJdc1iRJ/SYRy4uZB5OpYbQ0vLE0bimJjzuTKX6Zx3DN7AbG1sRbDM6utrEvhmbyMSscXqMNSY+dMjOq7raN5UF6ursOEeO7DLxSy/92MS+qRoANDXZb8uOjBxvYt/Qrqnp8WCMmhpb2nDgwHtMfOhQ+Kv2TeGqqmwDKN8EL+px943kfAO7ZctumXXM9D622eCOHe828ZIlDwf7+OeEb87nG0J1dd0TjCEybuKhodNMXF9vmzMCQE2NbVbV3++aSDV22ttwDR0BYGzUfmulr2+ziZcts4+HRDTvqopoCpaNXe7LQ9yPiReKP67K57jyRHeZb2g3nONvBgBqXOPw7mrXXNU1Gx9KhY1FfZO4AXe7USd4Y64ZXbW73bq6VjuP8TCv+MZ6E+7+t7lGg20To8EYvuldTR7HxP4x8/v4Mf3vBQibIPqm10kW91yc869CVf9slutmbAAC4EIAvwHgSRF5LHPZ/0I6aX1DRD4EYAeAd0bvTkSlMl0vlKdOV9e3SVU3Zf4fteamPXOYeV3OvdMXuJrDijTPXMw8TJRQc8zDFG/MxUQJlYRcvGDr0KvqvYhebw8A3rRQt0tEhTGH5HWsa27Ous18aw6JeZgo6eJ+EEn5YS4mSra45+IFO6EnoiQr2LuR+ay5OeM2M9QcEhFVgPh/KkREVP7in4vL5oS+3Gvij5WvU4qqB59Pjbh/3Bfi97BQt1GIccr5eVeg5HV0zU0Au5Fec/O9bpvbAVyfqa/fCKAv0yBopppDKgHVKkxNvVIP6OvUAWB83NaQV7m6Y18PPzR0cjDG4KCtzff1g6Ojtl5wZKQ3GKO319amq9payJNOeluwT12drbNvabF15vX17Sbu7DwlGKO1daWbh827qvYlt7397oh52Hrv5mZ7X3x9OAAcOPD+4LJstbX2PTTVsF7U18z39/eauLHxAhP73zUA9PZeauLu7mdN3N4erpRw+PCVJt6+3dacrlxpn0NRPROGh08y8f79+9ztrgv2SaVsrevoqP3yT0NDh4mnXK0/APT37zVxKmXr8v1zJuq5mkvcDyKJZuOPkXxNta+5BoD1Lud3utr1cXes6uMovh58yPeziKgH9/s8ORzmTc+/XtXUNJrY19j7nAGEtdri7p+fe1T9f597zQvq7iMed18T3+Vq+Ve7ufvrAeBGN0Y+vbeSIu65uGxO6ImocFS1IA1AVHVCRKbX3EwBuGV6zc3M9TcBuAPAVQC2ARgC8MHM7pE1h6p6xzFPjIgo5gqVh4mIaP6SkIt5Qk9EkQr1bmTmBPwOd9lNWf9XAB+J2G+2mkMiorIX90+FiIgqQdxzMU/oiShC/OuFiIjKG/MwEVHpxT8X84S+QkXVfudau74QosZMSh16UuZZKHFPXlRck5O16O1ddTT2a+Wmtxl3l9gFDXwNcW/v94IxfB16c/NyE1dX15n40KFtwRi1L//UxMOrbP33wICtsQaAmhq7ZvzUlL0vfj3hKC0tdh3y6urDJvb17y+//P9EjGHrzhsans55u75XwfCwvS+plO0P4NetB4BFi+w2U1O2z8Dzz9va/ra2i4IxRkdt/wNfQ19bGy6GMTHh4147D7V9F/r7/aqXQE+P7WcwPPyUiZcsWRvsMz7eYGLfu8H3UBgbCw+Xenu3m9jXy/p62v5+3w8UaG7uCi7LxjxM5SRXTT0Q1l2f5uq9h3xNfcRrkefr7PsiatcDY4Oz3u4LEbs86+7fhe6+TLr74telB8Ia+s2udn3NhM33UbXsXW7uvj4+ag35LjfucjfuGjeP7+exDn05HTfHPRfzhJ6IIsU9eRERlTvmYSKi0ot7LuYJPREFVOP/9SIionLGPExEVHpJyMU8oSeiCPHv6ElEVN6Yh4mISi/+uZgn9BXC167nU9dSiNoXf7tRNfS55lZONThJEvd3I6m4xscHsXv3g0fjVKou2GZy0q4Rf/DgMyb+tS23mfiLa98QjNHSYmuK/Rq8ft3eqBrE8XWXmHhJ+1oTHzoUVj8ODfWY2Nfy+5rqgwfD2vb29otNvGjR903c1naPievr1wRjHDx4jol37Jh9bXMAqHK1nc3Ntt6/sfFpd/0DEWPYg5X6+hdNPDFxnYlfdn0KAGCV61WwYcNVJu7rs3X4QNhXwdehH9hva0F97TsA7Nz57yY+7rjXm3h4OKz17OvbaWL/vPKPadQa8ocP2+eRf474mvn9+58IxvCPmcc8TOXE18dHrVPu6+rPc3Gji/168QDQ4Pdx/V38Wu7jVW5d+gj+dv2YQLi+u++j4ev9o+r/fc38Rtffw9e/rxm1/U+itgli91oNAItzrEPf5+b1lYi5Pxixvn25iHsu5gk9EUWKe/IiIip3zMNERKUX91xc+DbmRJR40/VC+fwQEVHhFSsPi8g7ReRpEZkSkXOzLr9MRB4WkScz/14y2zhEROUoCcfE/ISeiCLxZJ2IqLSKlIefAvDLAP7FXd4N4K2qukdETgdwF4CVfmcionIX92NintATUYT4NwAhIipvxcnDqroFAETEX/5oVvg0gHoRqVPVsACXiKhsxf+YmCf0FSIujeWimuLlEpe5V5IkLNFBxTU1NYmxrKY4ixYtjdjGNQ1q7DTx3y8/y8RLXSMyAOjpeX7WMb3+/r3BZc3Ny0zsm5U1Ny8P9tmz5yF3u7bh0ZIlp846JgDs2mWbng0N2eZsixfvMnFtrW2aBgAdHVtNnErZ29216/5gH98YsKOj2V2/08XhY5ZK2cZKU1O2sV5DY5+7jfXBGJ2dz7kxbROl5uaNwT57975k4qGhgyb2jRWjmtP5RoH+ORTVjK662t6/zs6TTTw+PmzigYHwMfvBYds48M2+weuhbSb2jfei5pEtZnn4VwA8ypN5KqQHIpqorXcNKTe4+ET3d+Sb1QHRjfKy+SZ44xHHpjXQWW/HN5oDgJoRu8/4iM2bjTppYt+cDwDOcbd7xvChWW+3a8w2DgWANvf65RveRc3dN/Srd03wPuua4N0ZMUa5ilkujsQTeiKKFPfkRURU7uaQhztFJPtdqU2qumk6EJG7AYTvZAGfUNXvzDawiJwG4K8BXJ7vZIiIykncj4l5Qk9EkeKevIiIyt0c8nC3qp4705Wqeul8bl9EVgG4DcD7VTVc75GIqALE/ZiYJ/REFCH+Xy8iIipvpc3DItIO4HsA/lhV7yvZRIiISir+x8Q8oaeiiqqH93X186mZz1Wbzzr8uYt78qLiUp3E6OiRo/GYq6+LMu5q7pY22br7xYtPDPbx477wwg9N3NLSZeKJCVvrDADfO/CUid+36HgTNzWF9f++hrq7+1kT+xr6RR22gRgALF5s59bfX2PirVttzWFz82nBGL7+f3LS7tPQsDjYx5uYbHFjNM8aR5l0Y4yP2Xm1tYV1q01NPzaxiN1mdHR1xO3Ykmz/e6ipaTRxf3/Yd2Dnzp+b2Neq+zGBsO+A79Vw6JDtZRDVu8DXnD7havV9nerxJ7w5GCP7bypKMfKwiLwDwOcALAHwPRF5TFXfDOB6AOsB/KmI/Glm88tV9cCCT4oqQtSxma/N9sd3Pu6MOP7zNfFRNfLZhlI1s14PAG0TNld1pYaCbaJq4rP5uvzIubieASe7viFd7nXV18cDYW7yuchfDwA73GWb3O18xcWVdlwd92NintATUUA1/h09iYjKWbHysKrehvTX6v3lfwngLxd8AkREMZaEY2Ke0BNRpLi/G0lEVO6Yh4mISi/uuZgn9EQUIf71QkRE5Y15mIio9OKfi3lCTwsqnxqbSqvDSYq4Jy8qriMTo7gra13tN7j1dQGgtrbJxE+7OvTVtbZ2u7Y2rOX2a4oPDtpyXb/u/LJlZwRjvHnUrqn+0ku2tnvVqguCfRobO028yNXd+9rt5uYzgzFaWh4wcUPD8+562zPgwAG7JjEAbNnyLRP7ngJRf5d+Tfj+IyvtPOovCvbxamrs+u/Dw3aufv13X4OenlvNrPHo6Jpgn8nJR0zs+xtIjrXdgfB3tWLFeSauqWkI9hka6jbx3r12Hnv2PGzixsawd8HJU/b3d9Feu8+TJ7/dxNXVdcEYh91a9h7zMFWabe6rzblqt98X8TdymhvDryHva8j7XN+NKBN51OXnqtWvcXP1MRDW0C9393+Ne03w9w0I75+vj/9BRA39A+4y38vA/14qTdxzMU/oiSigGv93I4mIyhnzMBFR6SUhF/OEnogixT15ERGVO+ZhIqLSi3su5gk9EUWIf0dPIqLyxjxMRFR68c/FPKGnospnHfpCjUvHJu7vRlJxNVdV48LGJUfjqv2PB9v0VNma6Ta3tu/r9j1m4keblwdjtLSsMLGvqfe13FFryvs144eHD5l4v1svHAjXKm9tXWVi/2K+f/+WYIzx8VeZuKVll4lTKVvb395u69QBQPV8Ex85stvEdXV2fXggfAyqXA1mf/9GE/v14QGgoeE5E09M2Nvx/Q56emx/AABobLzQxKmUrfUcGAjXXJ9wdZqTro7TX3/wYPi4H3/8m9w87D4TE7a3AwAcOWJ/N75XwYknvsXEUevF/3jrHSZuOfGXTLyozfYM8LcBAHccfCa4LBvzMFW6udbUA8CVbp8r/brs1fUm7nYxkLsefj58zXxU/bu/Xb9Nyt3/qNp2Xw+/1W2Tzz48rrbinot5Qk9EgSTUCxERlTPmYSKi0ktCLuYJPREFhgBsjnnyIiIqZ8zDRESll4RczBN6IgoIopdTISKi4mAeJiIqvSTkYp7QE1GgChpZ2xWld2GnQkRUkZiHiYhKLwm5mCf0RBQQ1di/G0nFJVKF2tpXmos92tARbHOya1i3aKltEveoa1a35dC2YIzjXfOxxsZOE/vmbOOuQRAApFK1Jm5vX2vi6ogGSLt3Pzjr7ba2rnZ7aDBGX98OE3d327n5Bn/ADnhDQ90mHh8fNHFNTUOwj+dr/UZH7TzGxrqCferrXzRxXd1eE3d0/MzEfX3HBWPs2mUPeNrb7e97fHxfsI9v+ueb7Y2O2kaCExPDwRjimkiNjy8ycX+/bYAHhI0RV626wMS1tbYpoP+9AMDJrhnh8uVnzzov//wAgI2ukeR/Z+/PPEwU8M3afJM8IGwC5xu+bXTNNje61wwAOCHismzz+ds87PaJak6Xyx1u7lFj+PvvH7P53G4lS0Iu5gk9EQWS8PUiIqJyxjxMRFR6ScjFPKEnokASkhcRUTljHiYiKr1C5mIRuQLAZwCkANysqje6638dwMcy4QCA31HVcJ1gp/CLLL4yoVtE5ICIPJV1WYeI/FBEtmb+XTTbGERUGgJFtU7l9UPxxlxMlEzMw+WDeZgouQqVi0UkBeDzAK4EcCqA94jIqW6zlwC8QVXPBPAXADblM8eF/IT+iwD+CcCtWZd9HMCPVPVGEfl4Jv5YxL5UwTpk9veZfC0QFR4/GSorX0QBcvHU1Lipdx6P+Dt91tWIX+Dq7H1d+vktK4IxfA21rwdvcnXL/f17gjF87bKvoW+IqP/v6Fhv4l277jfx+vXtJm5psfMAgJoaO0Z/v61DP3z4BRP39e0MxpiaGjexv//d3c8G+/jHpLV11axxW1swBGpqDpi4rs7OLZWytexdXccHYzz66GMm9o+znycQ1p0fPPi0iSdcvejExGgwRk/PVhP758S+fXZeQNhHoarKHg6NjBx283omGGPlyvNN7J/fw8OHTNzbuz0YoyXib2Aa83BZ+SJ4TFw0D7qaeV8z7mvqN1SFp0Pr3WWLcxybRulxf7/++HU+x7N+7lFj8Di5sAqYi88HsE1VXwQAEfkagKsBHH2BUdWfZ21/PwD7Aj6DBTuhV9Wfishad/HVAC7O/P9LAO4BkxdR7FRp/h09Kd6Yi4mSiXm4fDAPEyXXHHNxp4g8lBVvUtXpT9lXAsh+t3wXgI2zjPUhAHfmc6PFrqFfpqp7AUBV94pI+HZ9hohcC+Daos2MiI4qcr2QZK6/CsAQgA+o6iOZ624B8EsADqjq6QWZEAF55uLsPFxXF/GxLhEtGH5CX/Z4TEyUAHPMxd2qeu4sQ3nhkjkAROSNSJ/QX5TPjca2KV7m3YxNACAikXeWiBaGoDBLdGTVC12G9DuRm0XkdlXN/v7qlQA2ZH42AvhnvPKO5RcRfk2RiiQ7D7e2rmQeJiqiQuVhSj4eExOVTgFz8S4A2WvgrgIQ1A2KyJkAbgZwpar25DNwsU/o94tIV+adyC4AB3LuQRXP19SzNmjhFbNeKBPfqqoK4H4RaZ/OEzN8TZGO3ZxzcdXkGBr7Xj4ajzcuCbYZcuv2jo0NmNjXGNfXhz2gfE3xkSN2DXFfD97UtCwYo7/frm3u1xBfujT8skdb2xoT+9r1F1+828QrVoRvwPv75/ma8vT7XVZ1dZ2Lba23rykHwvruHTvuNfHJJ7/dxFVV4VcHRSZcbNd7r662NeV1deGa6v7+1dW1mrilxa51DwA1NaeY2PcQOHDA1tTX1DQEY3x/6/dMfNGAXe/+TyNq6P/4jPea2NfQDwzsN3FU/b+/zD9nBgftn1VtRL+H6kVhL4Jp/IS+7PGYuEj8caOvsfcxEB575orzud18rucxbvwUMBdvBrBBRNYB2A3g3QDMi5GIrAHwLQC/oarPh0NEW7Au9zO4HcA1mf9fA+A7Rb59IsqDaPrdyHx+kKkXyvrJ/lpgVL3QSndz+WxDhcVcTBRzc8zDlDzMw0QJUKhcrKoTAK4HcBeALQC+oapPi8h1InJdZrM/A7AYwP8RkcdcPf6MFuwTehH5KtLNPjpFZBeATwK4EcA3RORDAHYAeOdC3T4RzV+R64XyrimiuWMuJkomfkJfPpiHiZKrkLlYVe8AcIe77Kas//8WgN+a67gL2eX+PTNc9aaFuk0iKowqFKy7cj71QnnVFNH8MBcTJVMB8zCVGPMwUXIlIRfHtikeEZVOMeuFkP7a4fWZ+vqNAPqmO/8SEVUqfkJPRFR6ScjFPKGn2GFDkNKbrhc6Vqo6ISLT9UIpALdM1wtlrr8J6a8eXQVgG9LL1n3w6Dwivqaoql845onRnA1LCk+6pmfexvp2E/f12cZpvqFbS0vYKsE3gXvONbRrG+nNOUZj42IT+6ZxBw48FeyzfPnZJl6y5FQT+wZoUWP45nv+vohrouSbqAFAbW2ziZubu9yYtmkeANS7x93PY3x8yMSjo+uDMcbHbZND3wRvaqrBxfa+AUBV1aiJ6+pGXBw20lO1hyH+/tfX2+USfVNEALisfa2Jf+gaGHavuiDYBxN2rgOukZ5vcNjcvDwYYnT0yKzxt3b+3I7ZYJ+XAPCaiCaH0wqVh4lo7vyxKI9NK1cScjFP6IkoUOR6IQXwkRn2nelrikREZa1YnwqJyDsBfArAKQDOV9WH3PVrkF6Z5FOq+ncLPiEiohjhJ/RElEhJSF5EROWsiHn4KQC/DOBfZrj+HwHcWYyJEBHFTRKOiXlCT0SBJDQAISIqZ8XKw6q6BQBEwgVHROTtAF4EMLjgEyEiiqEkHBPzhJ5Kztcldbg6Uyq+JNQLUXHVVaVwQlZ989DggWCb+o4TTOzrzn/c87yJzx0+FIzR2XmyiV+99AwTP7rHLsn6Glc/DgDtrqa6o8PWjHd3Pxvsc+TIrln38TXUdXWtwRijo/3uErv6YlWVfcmdnBwLxvB9B7Zvv2fWMQGg2z2OS93j7mu7jxwJb7euztaZq9aYWGTcxBMTi4IxVO3iFJOTth7e1+FH3c74eJ+JfX+AxkZb65+em33NOLmm0cTLV18Y7NPefpybh813w+4x9TX2QPi7WuSeV+90B4Dfa10N7/FD24LLps0xD3e69Yo3qeqmfHeOvH2RJgAfA3AZgD88lrGIiJIqCcfEPKEnokASvl5ERFTO5piHu1X13BnHErkbQNjZD/iEqn5nht3+HMA/qupA1Kf3RESVIAnHxDyhJ6KAIP7vRhIRlbNC5mFVvXQeu20E8Ksi8jcA2gFMiciIqv5TQSZFRJQASTgm5gk9EQWS8G4kEVE5K3UeVtXXHZ2LyKcADPBknogqTalzcT54Qk+xw7U+Sy8JyYuKTUwN+BuP7A62eMzVnS9aZGvqL192polf2HFvMIZfZ7y9fZ2JX9u8zMR7XE09AIyNDZi4rW2NiaPWrh8e7jFxj6v3b2joMLGvh49S42q5/RrrvvY7ahu/lv2+fY8F+3S5x2zp0tNN7NdU948PAPT3294FqZTtB1BTc9DEImGDIP8YHTq03cRVVa8O9pmYsPdvePilYJtsqpPBZb53gf/ddLjeDkD4mPia+UHXI8LXywNhfX//8rNN/MLhF038mV2/CMa42fWMyL6VIi5b9w4AnwOwBMD3ROQxVX3zgt8wEVECJOGYmCf0RBSo0vh39CQiKmfFysOqehuA23Js86kFnwgRUQwl4ZiYJ/REFEhCvRARUTljHiYiKr0k5GKe0BNRIAlfLyIiKmfMw0REpZeEXMwTeoo9vy49a+wXXhKSFxWXiCCVqj0aP9D1qmCbrr2PmHjQrdXu1xBfseTUYAxfu7x48YkmbnY19L6OGQB27vz5rGMuWnR8sI+vXR8fHzKxr7GemBgJxvDryqdSdSZubbW1+77mHAjXQ59yX/PL/h3MtE+uOGruIyO9bhu7znxtra0hb2iwPQYAYOnSt5n4mWe+aWKRcFW1XH0Fenu3mziqd4Hfxj8nonoV+MfArzPva+a7us4JxvD9DQ65NeXf2L/HxLeeZB8fAGh3fxN46Kaj/2UeJiIqvSTkYp7QE1FANP5fLyIiKmfMw0REpZeEXMwTeiIKJOHdSCKicsY8TERUeknIxTyhJ6JAFeLf0ZOIqJwxDxMRlV4ScjFP6IkokIR3I4mIyhnzMBFR6SUhF/OEnhLHN8kD2Civ0JJQL0TFJqYh2ZKIhnZHmpaa+KBrkrfcNRaLagrnG8v1u8ZiNTVNJo5qiucbmG3f/hMTP+IangHAxs6TZx3Xz9U3cwPChnVjY4Mm7u/fbeJ9+x4LxvAN7B4Z6jHxmnE7JgAMScrET7gmgOe6JoDNzV3BGGFzOvtpRHV1v7v+cDBGS8tmE3e6x/Tw4ReDfZYtO9PE7e1rTTw01G3iAweeCsYYHT1iYv8c8k3zgLC5nm+k2Ny83MTV1Q3BGBMTwyZ+tPtZu8GGq0y4omN9xBhhg8JpzMNERKWXhFzME3oiCiTh3UgionLGPExEVHpJyMU8oSeigCD+70YSEZUz5mEiotJLQi7mCT0RBaqA2DcAISIqZ8zDRESll4RczBN6IgokoV6IimtgagI/HT50NL560QnBNosXn2hiX1P+4v4nTLy+69XBGK2tq0zsa6h9fbSvdQbCOvSODjvXoYPPBPs0vvRjEz/SsNjE61wd+uLFG4Ix/FwaG+0YqVRNsI/n673PqmuxtxFxu3V1rSb2j9m6F+828dY1FwVjLF16momnpupNrGrnnkoNBGNUV9u6+vr6FSYedLX9QDh336vA15hv335PMIZ/nj090mvixme+GezTXW3v35fd7//a098z620A4e/qZNdDosPVzNfUNAZjDGf9TXnMw0REpZeEXMwTeiIKJKFeiIionDEPExGVXhJyMU/oiSiQhHohIqJyxjxMRFR6ScjFPKEnokAS3o0kIipnzMNERKWXhFzME3qKPb/GfNQ69FRYSUheVFz1OomTs2qTBwf3B9vU1to685YWW0PdecSuw37Xoa3BGG9za8j7NdP97fr1w4Gw3tnHr3N1+gAw7Or/z3A11hMToybe7/oBAMBBV5vf2Lgk2Mbc5nBPcJmvGX/OxWdF1GH72uxqN/cHXG13o6sxT8/F1nKPjJxt4vp6u4a8anj4MDnZ4raZNHEqVRfsU11d7bbxdfjtbnt736K2eYPrdxD1u9rk6ur/YdmZJl7T85yJu/teDsZ40D2/r3LPqynXRKm/f28wxp17Hgoum8Y8TERUeknIxTyhJ6LAlCoGYt7Rk4ionDEPExGVXhJyMU/oiSgwAUVPzN+NJCIqZ8zDRESll4RczBN6IgpMICx1ICKi4mEeJiIqvSTkYp7QU+LE/Y+qHEyCjzNZ1ak6LOt4ZQ30p7ufDbY5zcVNrna7rW21ia/Z9v1gjG21zSb2a3n7dcoloqfGkSO77AU9z5tws1tjHgAuXn6Wm+saE/v10icnx4IxBgb2mbivb4eJx8eHTOxrv4Gw70C72+feblvbDQDnuNp97y1uXve5GnMgrKHv67P13qnUq03c0GBr6gFgfNz+vn0N+dhYf7DPxITdRsTW4U9O2rXr/WMIAK2udr3WPYei1nr/ZJe9P7LujbOOUTs2GIxxybi9bHDQztWvU193aFswxg1D3Sb+i6z/Mw8TEZVeEnIxT+iJKDChGvvkRURUzpiHiYhKLwm5mCf0RBSYAGJfL0REVM6Yh4mISi8JuZgn9EQUGIViW8w7ehIRlTPmYSKi0ktCLi7JCb2IXAHgMwBSAG5W1RtLMQ8iipaEdyPp2DEXE8UX83BlYB4mirck5OKin9CLSArA5wFcBmAXgM0icruqzt7Vh4iKJgn1QnRs5pqLU6kaNDUtORqfkqoJttm/7zETt7vma76h3Qsrzg3GOGX3gyZ+5PBLJm7sOMHEvnkZEDaWm2zsNPFZI73BPocP2yZv1dX1Jk6lame9HgAa3e1UVdmXWN/QraamMRjD3x91f4dvcs35AGD//idMfJxrvvbfK84z8dL2tcEY/v4NDR00cV2d/V1KlW0aGKW+3j5HfNNAIHzcfSPFEfe7Gh09Eozhm+9NTo7n3GdyySkmXuUeE/949PfvCca469BWE290TfHGIfY2q8JDrh+4hn7ZipWHReSdAD4F4BQA56vqQ1nXnQngXwC0ApgCcJ6qjiz4pCoEj4mJ4i8Jx8Sl+IT+fADbVPVFABCRrwG4GgCTF1FMFLKjZ65PH0REMtdfBWAIwAdU9ZF89qVjwlxMFGNF7Kz8FIBfRvrE/SgRqQbwZQC/oaqPi8hiAOMR+9P8MQ8TxRy73EdbCWBnVrwLwEa/kYhcC+DaYk2KiF4xgcK8G5nnpw9XAtiQ+dkI4J8BbOQnFwsuZy7OzsP+02ciWliFysO5qOoWAEi/t2pcDuAJVX08s13Pgk+m8vCYmCjmipWLj0UpTuiDVwwAGlygugnAJgAQkeB6Ilo4owC2FqYBSD6fPlwN4FZVVQD3i0i7iHQBWJvHvjR/OXNxdh7u6DiBeZioiOaYhztF5KGseFPm7/dYnAhAReQuAEsAfE1V/+YYxySLx8REMVfAY+IFU4oT+l0AVmfFqwCExWlWN4CXAXRm/p8ESZlrUuYJcK4LYXqex7nL78pcl4/6WQ4k8/n0IWqblXnuS/M3p1x8+PCL3d/85rtfzoQL9vz+QWGHS8rfIZCcuSZlnkCR5/rfx7Z7VC6eSx7uVtUrZrpSRO4GsDziqk+o6ndm2K0awEUAzkO6HOpHIvKwqv4ozzlRbjwmjpekzBPgXBdCIY6JS3I/S3FCvxnABhFZB2A3gHcDeO9sO6jqEgAQkYdUNeyiFENJmWtS5glwrgthpnnOdmA415uIuMx/ujDTNnl9ckHzNqdcPJ2HgeQ/v+MoKXNNyjyB5M+1gHkYqnrpPHbbBeAnqtoNACJyB4BzAPCEvnB4TBwjSZknwLkuhCIcEy+YqmLfoKpOALge6Xc7tgD4hqo+Xex5EFFR5PPpw0zbzOeTC8oTczER5XAXgDNFpDHTIO8NYMlTQTEPE1EhlGQdelW9A8AdpbhtIiqqfD59uB3A9Zka+Y0A+lR1r4gczGNfOgbMxUQkIu8A8Dmk6+S/JyKPqeqbVfWwiPwD0nlcAdyhqt8r5VzLEfMwER2rkpzQH4NjbfBSTEmZa1LmCXCuC2FB56mqEyIy/elDCsAtqvq0iFyXuf4mpA9krgKwDek6zQ/Otu9Czpfyxud34SVlrkmZJ8C55kVVbwNw2wzXfRnppesofvj8LrykzBPgXBdCUuYZkHRjaSIiIiIiIiJKkqLX0BMRERERERHRseMJPREREREREVECJeaEXkSuEJHnRGSbiHy81POZJiK3iMgBEXkq67IOEfmhiGzN/LuolHOcJiKrReS/RWSLiDwtIr+XuTxW8xWRehF5UEQez8zzz+M4z2wikhKRR0Xku5k4lnMVke0i8qSIPDa9dnxc50rxE9c8DCQnFyclD2fmlKhczDxMlSKuuTgpeRhITi5OWh4GmItLIREn9CKSAvB5AFcCOBXAe0Tk1NLO6qgvAvDrE34cwI9UdQPS67XGJdlOAPioqp4C4AIAH8k8jnGb7yiAS1T1LABnA7hCRC5A/OaZ7feQXnJmWpzn+kZVPTtrrc04z5ViIuZ5GEhOLk5KHgaSl4uZh6nsxTwXfxHJyMNAcnJx0vIwwFxcdIk4oQdwPoBtqvqiqo4B+BqAq0s8JwCAqv4UwCF38dUAvpT5/5cAvL2Yc5qJqu5V1Ucy/+9H+o9tJWI2X00byIQ1mR9FzOY5TURWAXgLgJuzLo7lXGeQpLlS6cQ2DwPJycVJycNAsnIx8zBVkNjm4qTkYSA5uThJeRhgLi6VpJzQrwSwMyvelbksrpap6l4gnTAALC3xfAIishbAqwA8gBjON/N1nccAHADwQ1WN5TwzPg3gjwBMZV0W17kqgB+IyMMicm3msrjOleIlaXkYiPlzO+55GEhULv40mIepMiQtF8f+uR33XJygPAwwF5dEUtahl4jLuN7ePIlIM4D/BPD7qnpEJOrhLS1VnQRwtoi0A7hNRE4v8ZQiicgvATigqg+LyMUlnk4+LlTVPSKyFMAPReTZUk+IEoN5uICSkIeBZORi5mGqMMzFBZSEXJyEPAwwF5dSUj6h3wVgdVa8CsCeEs0lH/tFpAsAMv8eKPF8jhKRGqQT11dU9VuZi2M7X1XtBXAP0jVZcZznhQDeJiLbkf7a2yUi8mXEc65Q1T2Zfw8AuA3pr+7Fcq4UO0nLw0BMn9tJy8NA7HMx8zBVkqTl4tg+t5OWi2OehwHm4pJJygn9ZgAbRGSdiNQCeDeA20s8p9ncDuCazP+vAfCdEs7lKEm/7fgFAFtU9R+yrorVfEVkSeZdSIhIA4BLATyLmM0TAFT1j1V1laquRfp5+WNVfR9iOFcRaRKRlun/A7gcwFOI4VwplpKWh4EYPreTkoeB5ORi5mGqMEnLxbF8biclFyclDwPMxSWlqon4AXAVgOcBvADgE6WeT9a8vgpgL4BxpN81/RCAxUh3Rtya+bej1PPMzPUipL+W9QSAxzI/V8VtvgDOBPBoZp5PAfizzOWxmmfEvC8G8N24zhXA8QAez/w8Pf13FMe58ieeP3HNw5m5JSIXJyUPZ+aauFzMPMyfSviJay5OSh7OzDURuTiJeTgzP+biIv5IZvJERERERERElCBJ+co9EREREREREWXhCT0RERERERFRAvGEnoiIiIiIiCiBeEJPRERERERElEA8oSciIiIiIiJKIJ7Q06xEZK2IDIvIY3lse7OInDrP23hqlusbROQxERkTkc65jk9ElGTMw0RE8ROVm0XkBhHZIiJfKcD4zLuUl+pST4AS4QVVPTvXRqr6Wwtx46o6DOBsEdm+EOMTESUA8zARUfz43PxhAFeq6kvZG4lItapOzGVg5l3KFz+hr2Aicp6IPCEi9SLSJCJPi8jpOfZZKyLPisiXMvt+U0QaM9fdIyLnishxIrJVRDpFpEpEfiYil4tISkT+VkQ2Z/b97YjxTxORBzPvSD4hIhsW6v4TEZUa8zARUfzMMzffBOB4ALeLyP8UkU+JyCYR+QGAW0VkiYj8Zyb/bhaRCzP7LRaRH4jIoyLyLyLyMj+Rp7ngJ/QVTFU3i8jtAP4SQAOAL6vqjF+5zHISgA+p6n0icgvS70b+Xda4L4vIXwO4CcADAJ5R1R+IyLUA+lT1PBGpA3BfJslp1tjXAfiMqn5FRGoBpApxX4mI4oh5mIgofuaTm1X1OhG5AsAbVbVbRD4F4NUALlLVYRH5dwD/qKr3isgaAHcBOAXAJwHcq6r/W0TeAuDaBbxrVIZ4Qk//G8BmACMAbshzn52qel/m/1/O7Pd32Ruo6s0i8k6kDwzPzlx8OYAzReRXM3EbgA0Ans/a9RcAPiEiqwB8S1W3zu3uEBElDvMwEVH8zCc3e7dnvjoPAJcCOFVEpq9rFZEWAK8H8MsAoKrfE5HD858yVSKe0FMHgGYANQDqAQzmsY/miJH5+ueqTNgMoB+AAPhdVb3Lbbv26ECq/y4iDwB4C4C7ROS3VPXH+d0VIqJEYh4mIoqf+eRmL3ufKgCvyTrBBwBkTvCDHE6UL9bQ0yYAfwrgKwD+Os991ojIazL/fw+AeyO2+evMmH8G4F8zl90F4HdEpAYAROREEWnK3klEjgfwoqp+FsDtAM6cw30hIkoi5mEioviZT26ezQ8AXD8diMjZmf/+FMCvZy67EsCiAtwWVRB+Ql/BROT9ACYyn8akAPxcRC7J45OYLQCuEZF/AbAVwD+7cd8A4DwAF6rqpIj8ioh8EMDNANYCeETSb0ceBPB2N/avAXifiIwD2If0152IiMoS8zARUfwcQ26ezQ0APi8iTyB9DvZTpEui/hzAV0XkEQA/AbDjGKdPFUZU+Q0Pmlnma5jfVdXTo+Iiz2U7gHNVtbvYt01EVCrMw0RE8bNQudjnWeZdyoVfuadcJgG0ichjpZqAiDRkbr8GwFSp5kFEVCLMw0RE8bOguZl5l/LFT+iJiIiIiIiIEoif0BMRERERERElEE/oiYiIiIiIiBKIJ/RERERERERECcQTeiIiIiIiIqIE4gk9ERERERERUQL9/7ov8XY2DvJYAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "psf_D = 2.4 # meters\n", + "psf_lam = 700.0 # nanometers; note that OpticalPSF will automatically convert units to\n", + " # get lam/diam in units of arcsec, unless told otherwise. In this case,\n", + " # that is (900e-9m / 2.4m) * 206265 arcsec/rad = 0.077 arcsec.\n", + "psf_obsc = 0.125 # (0.3m / 2.4m) = 0.125\n", + "psf_nstruts = 4\n", + "psf_strut_thick = 0.07\n", + "psf_strut_angle = 15 * gs.degrees\n", + "\n", + "psf_defocus = 0.04 # The aberrations are all taken to be quite modest here.\n", + "psf_astig1 = 0.03 #\n", + "psf_astig2 = -0.01\n", + "psf_coma1 = 0.02\n", + "psf_coma2 = 0.04\n", + "psf_trefoil1 = -0.02\n", + "psf_trefoil2 = 0.04\n", + "\n", + "pixel_scale = 0.02\n", + "\n", + "optical = gs.OpticalPSF(\n", + " lam=psf_lam, diam=psf_D, obscuration=psf_obsc,\n", + " nstruts=psf_nstruts, strut_thick=psf_strut_thick, strut_angle=psf_strut_angle,\n", + " defocus=psf_defocus, astig1=psf_astig1, astig2=psf_astig2,\n", + " coma1=psf_coma1, coma2=psf_coma2, trefoil1=psf_trefoil1, trefoil2=psf_trefoil2)\n", + " \n", + "\n", + "optical_psf = gs.ImageF(image_size, image_size)\n", + "_ = optical.drawImage(image=optical_psf, scale=pixel_scale)\n", + "\n", + "plot_psf(optical_psf.array)\n" + ] + }, + { + "cell_type": "markdown", + "id": "computational-tongue", + "metadata": {}, + "source": [ + "\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "catholic-script", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "synthetic-determination", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "integrated-cruise", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "civic-monday", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.1" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/shrbk/plot_psfs.py b/shrbk/plot_psfs.py new file mode 100644 index 0000000..8f410ee --- /dev/null +++ b/shrbk/plot_psfs.py @@ -0,0 +1,36 @@ +import numpy as np +import matplotlib.pyplot as plt +from mpl_toolkits.axes_grid1 import make_axes_locatable + +def plot_psf(psf_img, cmap='gist_stern'): + fig = plt.figure(figsize=(18,4)) + + ax = fig.add_subplot(131) + im = ax.imshow(psf_img, interpolation='none', origin='lower', cmap=cmap) + ax.set_xlabel('x [pixels]') + ax.set_ylabel('y [pixels]') + divider = make_axes_locatable(ax) + cax = divider.append_axes('right', size='5%', pad=0.05) + fig.colorbar(im, cax=cax, orientation='vertical') + ax.set_title('PSF') + + + ax = fig.add_subplot(132) + im = ax.imshow(np.log(abs(psf_img)), interpolation='none', origin='lower', cmap=cmap) + ax.set_xlabel('x [pixels]') + ax.set_ylabel('y [pixels]') + divider = make_axes_locatable(ax) + cax = divider.append_axes('right', size='5%', pad=0.05) + fig.colorbar(im, cax=cax, orientation='vertical') + ax.set_title('log(PSF)') + + ax = fig.add_subplot(133) + im = ax.imshow(abs(np.fft.fftshift(np.fft.fft2(psf_img))), interpolation='none', origin='lower', cmap=cmap) + ax.set_xlabel('x [freq]') + ax.set_ylabel('y [freq]') + divider = make_axes_locatable(ax) + cax = divider.append_axes('right', size='5%', pad=0.05) + fig.colorbar(im, cax=cax, orientation='vertical') + ax.set_title('abs(FFT(PSF))') + + plt.show()