{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "4bcd49a4", "metadata": { "nbsphinx": "hidden" }, "outputs": [], "source": [ "# Install HermesPy and its dependencies in the current kernel\n", "# When running on Colabs, a restart of the runtime is required afterwards\n", "\n", "import sys\n", "!{sys.executable} -m pip install --quiet hermespy" ] }, { "attachments": {}, "cell_type": "markdown", "id": "199efcaa", "metadata": {}, "source": [ "Implementing Beamformers\n", "=========================\n", "\n", "This Jupyter notebook will outline the step-by-step process of implementing a new receiving beamformer within the HermesPy framework, using the Minimum Variance Distortionless Response (MVDR, also known as Capon) beamformer as a working example.\n", "\n", "As an initial step we will import all required modules:" ] }, { "cell_type": "code", "execution_count": 2, "id": "731daaf7", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "from hermespy.core import AntennaArray\n", "from hermespy.beamforming import ReceiveBeamformer" ] }, { "attachments": {}, "cell_type": "markdown", "id": "32929b07", "metadata": {}, "source": [ "The Capon beamformer estimates the power $\\hat{P}$ received from a direction $(\\theta, \\phi)$, where $\\theta$ is the zenith and $\\phi$ is the azimuth angle of interest in spherical coordinates, respectively. \n", "Let $Y \\in \\mathbb{C}^{M \\times N}$ be the the matrix of $N$ time-discrete samples acquired by an antenna arrary featuring $M$ antennas and\n", "\n", "\\begin{equation}\n", "\\mathbf{R} = \\mathbf{Y}\\mathbf{Y}^{\\mathsf{H}}\n", "\\end{equation}\n", "\n", "be the respective sample correlation matrix.\n", "The antenna array's response towards a source within its far field emitting a signal of small relative bandwidth is $\\mathbf{a}(\\theta, \\phi) \\in \\mathbb{C}^{M}$.\n", "Then, the Capon's spatial power response is defined as \n", "\n", "\\begin{equation}\n", "\\hat{P}_{\\mathrm{Capon}}(\\theta, \\phi) = \\frac{1}{\\mathbf{a}^{\\mathsf{H}}(\\theta, \\phi) \\mathbf{R}^{-1} \\mathbf{a}(\\theta, \\phi)}\n", "\\end{equation}\n", "\n", "with\n", "\n", "\\begin{equation}\n", "\\mathbf{w}(\\theta, \\phi) = \\frac{\\mathbf{R}^{-1} \\mathbf{a}(\\theta, \\phi)}{\\mathbf{a}^{\\mathsf{H}}(\\theta, \\phi) \\mathbf{R}^{-1} \\mathbf{a}(\\theta, \\phi)} \\in \\mathbb{C}^{M}\n", "\\end{equation}\n", "\n", "being the beamforming weights to steer the sensor array's receive characteristics towards direction $(\\theta, \\phi)$, so that\n", "\n", "\\begin{equation}\n", "\\tilde{\\mathbf{y}}(\\theta, \\phi) = \\mathbf{w}^\\mathsf{H}(\\theta, \\phi) \\mathbf{Y}\n", "\\end{equation}\n", "\n", "are the estimated signal samples impinging onto the sensor array from said direction.\n", "\n", "The structure of receiving beamformers is implemented as an abstract prototype in the [ReceiveBeamformer](../api/beamforming.beamformer.rst#hermespy.beamforming.beamformer.ReceiveBeamformer).\n", "Prototypes specify several [abstract](https://docs.python.org/3/library/abc.html#abc.abstractmethod) properties and methods which inheriting classes must implement. For receiving beamformers those are\n", "\n", "* [num_receive_input_streams](../api/beamforming.beamformer.rst#hermespy.beamforming.beamformer.ReceiveBeamformer.num_receive_input_streams) - *Number of antenna streams the beamformer can process.*
Our Capon implementation will always require the samples of all device antennas.\n", "\n", "* [num_receive_output_streams](../api/beamforming.beamformer.rst#hermespy.beamforming.beamformer.ReceiveBeamformer.num_receive_output_streams) - *Number of antenna streams the beamformer generates after processing.*
Since the Capon beamformer focuses the power towards a single direction of interest per estimation, a single stream of samples will be generated after beamforming.\n", "\n", "* [num_receive_focus_angles](../api/beamforming.beamformer.rst#hermespy.beamforming.beamformer.ReceiveBeamformer.num_receive_focus_points) - *Number of angles of interest the beamformer requires for its configuration.*
The same logic as before applies, only a single direction of interest per beamforming operation is required.\n", "\n", "* [\\_decode()](../api/beamforming.beamformer.rst#hermespy.beamforming.beamformer.ReceiveBeamformer._decode) - *This subroutine performs the actual beamforming, given an array of baseband samples, assumed carrier frequency and the angles of interest.*
\n", "This is where the Capon algorithm is being implemented." ] }, { "cell_type": "code", "execution_count": 3, "id": "bebfb7b5", "metadata": {}, "outputs": [], "source": [ "class CaponBeamformer(ReceiveBeamformer):\n", " \n", " def __init__(self, *args, **kwargs) -> None:\n", " \n", " ReceiveBeamformer.__init__(self, *args, **kwargs)\n", "\n", " @property\n", " def num_receive_input_streams(self) -> int:\n", " return self.operator.device.num_receive_ports\n", " \n", " @property\n", " def num_receive_output_streams(self) -> int:\n", " return 1\n", " \n", " @property\n", " def num_receive_focus_points(self) -> int:\n", " return 1\n", " \n", " def _decode(\n", " self,\n", " samples: np.ndarray,\n", " carrier_frequency: float,\n", " angles: np.ndarray,\n", " array: AntennaArray,\n", " ) -> np.ndarray:\n", " \n", " # Compute the inverse sample covariance matrix R\n", " sample_covariance = np.linalg.inv(samples @ samples.T.conj() + np.eye(samples.shape[0]))\n", "\n", " # Query the sensor array response vectors for the angles of interest and create a dictionary from it\n", " dictionary = np.empty((array.num_receive_antennas, angles.shape[0]), dtype=complex)\n", " for d, focus in enumerate(angles):\n", " array_response = array.spherical_phase_response(carrier_frequency, focus[0, 0], focus[0, 1])\n", " dictionary[:, d] = sample_covariance @ array_response / (array_response.T.conj() @ sample_covariance @ array_response)\n", "\n", " beamformed_samples = dictionary.T.conj() @ samples\n", " return beamformed_samples[:, np.newaxis, :]" ] }, { "attachments": {}, "cell_type": "markdown", "id": "7c6f60ca", "metadata": {}, "source": [ "And that's it, by specifying three properties and the decode routine a new beamformer has been implemented within HermesPy.\n", "We can now plot the beamforming characteristics towards a signal impinging from $(\\theta = 0, \\phi = 0)$ by calling [plot_pattern](../api/simulation.antennas.SimulatedAntennas.rst#hermespy.simulation.antennas.SimulatedAntennas.plot_pattern) and compare it to the [CoventionalBeamformer](../api/beamforming.conventional.rst#hermespy.beamforming.conventional.ConventionalBeamformer):" ] }, { "cell_type": "code", "execution_count": 4, "id": "943cf8ad", "metadata": {}, "outputs": [ { "data": { "image/png": "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4OmSK3G+kHzhPV4ThAtJYEDVxH/2s5/lT3/6EwcOHKCwsJDPfvazfOADH+DAgQMUFRWxYcMGXeFVlci6XC5dUmrNmjUUFRXxrW99i6GhIe69996krODf/e53ufTSSzlz5gyXXnpp2O8HICsri2PHjnHs2LHzOhkqXpgreRhEIln1s5/9jJqaGj3P+cknn+SRRx5J4ayTg4GBAZ566ikOHDjAwMAAl19+Ofv27WPlypX09/dz9uxZxsfHyczMpLS0lCeeeIKmpiZ++ctfJk3fboHmSiTPIymlnOvngsPLL78s3/ve9+q/33333fLuu+8OOua9732vfPnll6WUUnq9XllSUiI1TZvXec43hoaG5AMPPCCvvPJKuWPHDnnbbbfJzZs3y0OHDsmnnnpKVlZWyuLiYvntb39bNjc3J20eBQUF+r81TQv63Qir1Sp37dol9+7dK5988smkzSdBiISLMf2kXl0wDXEhCwzMhqKiIm688UZuvPFGurq6uOyyy8jNzeWWW26huLiYrVu38u///u8cPHiQw4cPs3LlypjPNVuuhBFCiBnDcm1tbUG5EtXV1RdMroQRJslNxIQjR47wjW98g2uvvZbx8XF+9KMf8YUvfIGcnBw+/vGPxz3+bIpEixYt0lsF9/T0zCgtrerFV61axSWXXKILWV5oMB1vYXAhCwxEiiuvvJJrr70WCOx9v/71r89b/fq+fft48MEHAXjwwQfZv3//Occ4nU5dN29gYICXXnrpws2TiMCmv+Dg9XrlypUrZXNzs3S73XLr1q2ytrY26Jh77rlH3nrrrVJKKR966CF5zTXXpGKqFyQGBgbku9/9brlmzRp56aWXysHBQSmllIcOHZI333yzlFLKl156SW7ZskVu3bpVbtmyRd5///2pnHIkSNqe3PSuz4A0FxgwsfBgJsOYMLHAYSbDmDBhIjaYJE8zzJVp98ADD1BWVsb27dvZvn07999/fwpmaeJ8ghlCSyOoVj7GTLt9+/ad4xW+7rrruOeee1I0SxPnG8yVPI2wEJtDmkg9TJKnESJtDnngwAG2bt3K1VdfHRTPN2EiHEySn2e48soraW1tpaamhve85z16gz4TJmaCSXKgo6ODlStXMjQ0BASypVauXDnv5aORZNqVlJToUkO33HILb7zxxrzO0cT5B5PkQGVlJZ/61Ke44447gEAb4k984hNUVVXN6zyMzSE9Hg8PP/ww+/btCzqmp6dH//czzzzDxo0b53WOJs5DRJAWd0HA4/HI6upq+S//8i9y06ZN0uPxpGQezz77rFy7dq1ctWqV/Na3viWllPKf/umf5NNPPy2llPKOO+6QmzZtklu3bpWXXHKJbGhoSMk848Gjjz4qN23aJIUQ8tChQzMe9/zzz8t169bJ1atXy+985zvzOMOUIKVprRcMhBDvAw4C75VSvpDq+SxUCCE2Ahrwb8AXpJSHwxxjBU4D7wE6gUPAh6WU9fM514UA01wPxuVAD7Al1RNZyJBSNkgpZ9fRhj1Ao5SyWUrpAR4Gzi03MzEnTJJPQwixncCq8RbgdiHEktTO6IJHBWCMD3ZO/81ElDBJDoiAtMi9wOeklO3AD4AfpnZW8wshxC+EEH1CiNoZXhdCiJ8IIRqFEDVCiJ1zjPcHIURtmB9zNZ5nmGmtAfwd0G7Yh/8M+LgQ4p1Syv9O4bzmEw8A9wC/nOH1y4G10z97CTwU9840mJTysjjn0wVUGn5fNv03E1HCXMkBKeX/J6W8zvC7X0q58wIiOFLKPwNDsxyyH/jltCf4VaAwyVuaQ8BaIcRKIYQDuB64cHWV44BJchORImF7ZCHEB4UQncDFwLNCiP+c/vtSIcRzAFJKH/Bp4D+BBuBRKWVdHPO/YGGa6ybmHVLKJ4Enw/y9G7jC8PtzwHPzOLUFCXMlNxEpzD3yeQqT5CYixTPADdNe9rcAI1LKnrneZCL1MM11EwAIIR4CLgFKp/fLXwfsAFLK+wiYzVcAjcAkEL+4uol5gZnWasLEAodprpswscBhktyEiQUOk+QmTCxwmCQ3YWKBwyS5CRMLHCbJTZhY4DBJbsLEAsf/D6MXjrf4UXyfAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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ZmY0xZepqakFG1MovbgdO3YwODjI9ddfz09/+tOgettfwEjMKrTNmzezcePGBY+50Ct4/EEIQWVlJV/60pf47//+bx577DGSk5N5//vfz4MPPsixY8coKSmhsrKSqakpjh07xsmTJ6PWNTQQOBwOTpw4EXORjOTkZJYvX051dTV79uwhPz+fnp4e3njjDRobG7FYLFpraUVwi8XCwYMH+fGPfxxRgh8+fJiNGzeybt06vvvd7573vMPh4IYbbmDdunVceumlCzYrvJAQ9bpBfxU8PT0R7wQTNwghKCsrY2xsjE9/+tPU1dVRWFjInXfeyf79+3nmmWfIz89n3bp12Gw2Tpw4wYkTJ+jp6cHpdMZkjna7nRMnTsS9BZVSddm6dSuXXnopy5YtY3h4mNdee43a2lqmpqZob2/n+uuv5/777+cv/uIvInZut9vN3/zN3/Dyyy/T2NjIY489RmNjo9cxP/vZz8jPz6e5uZk777yTr371qxE7fzyxKMmvvPJKtm3bdt7Phb4aRxp333039957L8uWLeOzn/0sr7zyCi+++CJlZWX83d/9Hddccw1PPPEEWVlZbNiwQdOXO3bsGF1dXTgcjqjMK9F6gyuYTCYKCgo08Y/q6mp+//vfc9lll5GcnExHRwdTU1MRO18gFuXzzz/PzTffDMB1113HH/7wh4jX5scDi24Uf//734d1At+mbt3d3THJNY41/IWNioqKuO2227jtttuwWq38+te/5pvf/CZdXV1aTfy6desYGhqitrZWa8JQUlISEWmnRO0NrjA6OsrZs2fZsWMHU1NTvPrqqzzxxBNs2rSJZ599dt6e9qEgkJpw/TFms5nc3FyGh4cpKiqK2Dzigah7g3bv3s25c+doa2ujrKyMxx9/nF/96lfRPm3CIT8/n5tuuombbrpJq4m///77aW5u1mrit27disVioaGhQauYKy0tDSkMlai9wRXGxsY4ffo027dvx263c/3113P33Xezd+9eYFbh10BkENae/Nlnn6W8vJzXX3+dD33oQ3zwgx8EZmPE11xzDTB7R3zggQf44Ac/yObNmzl48KBXid7FiJycHD72sY/x9NNP89prr3HZZZfx05/+lPe973385Cc/wel0sm3bNsxmsxaeVDXUgWBycpLa2lqqqqoSluBNTU3U1NQwMzPDwYMH+eIXv8hHP/rRqJ0z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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from hermespy.core import AntennaMode\n", "from hermespy.beamforming import ConventionalBeamformer\n", "from hermespy.simulation import SimulatedUniformArray, SimulatedIdealAntenna\n", "\n", "# Create a simulated uniform linear array with 8x8 antennas\n", "carrier_frequency = 72e9\n", "half_wavelength = 1.5e8 / carrier_frequency\n", "array = SimulatedUniformArray(SimulatedIdealAntenna, half_wavelength, (8, 8, 1))\n", "\n", "# Configure beamformers\n", "conventional = ConventionalBeamformer()\n", "capon = CaponBeamformer()\n", "\n", "# Render the beamformer's characteristics\n", "_ = array.plot_pattern(carrier_frequency, conventional, title=\"Conventional Beamformer\")\n", "_ = array.plot_pattern(carrier_frequency, capon, title=\"Capon Beamformer\")" ] }, { "attachments": {}, "cell_type": "markdown", "id": "e9e4d2a7", "metadata": {}, "source": [ "We may now use the newly created beamforming class to configure receive signal processing chains within HermesPy.\n", "For example, within an imaging radar application simulation:" ] }, { "cell_type": "code", "execution_count": 5, "id": "949ea95d", "metadata": {}, "outputs": [ { "data": { "image/png": "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377885//5Ntvvy12hwxw6NAhNm/ezKBBp99huHHjRm666aZi15s7dy516tQ5swa5Jk6cyJVXXklMTAy1atVi0aJFADzyyCPcf//9DB8+nHfeeeeUdbZu3UpSUhIZGRlkZmae7AI7V1XqjOCjDR8RGxnLz1r9zOtQjDEVpGbNmixbtowJEybQoEEDbrrpJiZPnnzKMmPGjCm26+X777+na9euNG3alMsvv5xGjRqdtsz5559PcnJysZ+zTQIAb775JrNmzSIlJYU777yTxx57DIAFCxYwbNgwAG6//fZT1insGtq6dSt/+MMfGDly5Fl/v68qc0ZwLOcY3/z4Dde1vo7qkdW9DseYkFTakXsghYeHM3jwYAYPHkznzp2ZMmUKd9xxx8n5F198MWPGjDl51F1o4MCBfP7552zfvp0+ffpw4403kpSUdMoyZ3JGsHjxYu677z4AXnjhBa65pvjSNmlpaaxcuZLevXsDcNNNNzF06NCT8/3p0bjmmmu48847y1zOHwFNBCIyFHgLCAcmquqrReY/BtwD5AFpwF2quvNsvmvOj3M4kX+Cq1pedY5RG2OCycaNGwkLC6NNG+cOweTkZJo3b37acmPGjGHUqFG0bNnytHktWrTgqaeeYuzYsfztb387ZV7hGYE/evfu7deydevW5ciRI2zatIm2bdvy1Vdf0b59ewD69+/P9OnTue2225g2bVqJ25g/fz6tWrXyK66yBCwRiEg48A4wBEgBlojITFVd57PYCqCnqmaKyP3Aa0DxqbcUBVrA9A3TaRbbjK4NupZH+MaYIHHs2DEeeughDh8+TEREBK1bt2bChAmnLXfllVfSoEGDErczatQoxo0bx44dO0hMTCy3+AYOHMiGDRs4duwYCQkJvP/++1x++eW89957XH/99YSFhVG3bl0++OADAN566y1uueUWxo4dy7XXXnvKtgqvEagq1apVY+LEieUSo6hquWzotA2L9AWeU9XL3fGnAVT1lRKW7waMV9X+pW23c9Pqunp35inTPt/2OU9//zQvDXjJqowaU8HWr19/8mjWVA7F/U1EZJmq9ixu+UBeLG4K7PIZT3GnleRuoNibfUVkpIgsFZGlFJO4/rLyL7Sv156rW15dzNrGGGNKUynuGhKR24CewOvFzVfVCaraU1V7UuQiyt5je9l5dCfXtr6WMKkUzTHGmKAS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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from scipy.constants import pi, speed_of_light\n", "\n", "from hermespy.core import dB, ConsoleMode\n", "from hermespy.channel import SingleTargetRadarChannel\n", "from hermespy.simulation import Simulation, SimulatedIdealAntenna, SimulatedUniformArray\n", "from hermespy.radar import Radar, FMCW, ReceiverOperatingCharacteristic\n", "\n", "# Create a new simulation featuring a single device transmitting at 10GHz\n", "simulation = Simulation(console_mode=ConsoleMode.SILENT)\n", "device = simulation.scenario.new_device(antennas=SimulatedUniformArray(SimulatedIdealAntenna, .5 * speed_of_light / 10e9, (3, 3)))\n", "device.carrier_frequency = 10e9\n", "\n", "radar_channel = SingleTargetRadarChannel(target_range=10., radar_cross_section=1., attenuate=False)\n", "simulation.scenario.set_channel(device, device, radar_channel)\n", "\n", "# Configure a radar operation on the device\n", "radar = Radar()\n", "radar.device = device\n", "radar.waveform = FMCW()\n", "radar.receive_beamformer = CaponBeamformer()\n", "\n", "simulation.add_evaluator(ReceiverOperatingCharacteristic(radar, radar_channel))\n", "simulation.new_dimension('noise_level', dB(-18, -21, -25), device)\n", "simulation.num_samples = 1000\n", "\n", "radar.receive_beamformer.probe_focus_points = np.array([[0., 0.]])\n", "result = simulation.run()\n", "_ = result.plot()" ] }, { "attachments": {}, "cell_type": "markdown", "id": "5f1e3dde", "metadata": {}, "source": [ "When focusing our beamformer away from the direction of the reflecting target, the target's echo signal will be attenuated, and therefore the detection probability will decrease:" ] }, { "cell_type": "code", "execution_count": 6, "id": "dd5b3719", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[36m(SimulationActor pid=29364)\u001b[0m \n", "\u001b[36m(SimulationActor pid=29364)\u001b[0m \n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEjCAYAAAA/ugbCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAAsTAAALEwEAmpwYAABFBklEQVR4nO3dd3gU1dfA8e9JIQkkJEhCC2DoSg1FkY50QQEVpdhAEezYFcWGoqCigCCINCt2kR9VEZAmvffeQUIoAZKQdt4/dsMbMYRFs9kkez7Psw+7M7Oz5yZhz8y9M+eKqmKMMcZ7+Xg6AGOMMZ5licAYY7ycJQJjjPFylgiMMcbLWSIwxhgvZ4nAGGO8nCUC41VEpLmIHHTj/s+KSHl37d+dRGSSiLzl6ThMzrNEYLKFiOwVkQTnF+FR55dK8H/YX08RSXXuL+OjVHbG/V+IyHwR6Z1xmaoGq+rubNp3orPNx0XkJxEp+V/3ewWf79aEaXIXSwQmO92iqsFANFAb6P8f9/en84s14+Pwf44y73jM+fOsCAQD73s4HpNPWSIw2U5VjwKzcSQERKSjiGwSkVPOI91r07cVkTLOo90YEYkVkZGX27+IvCAiP1y0bLiIjHA+7yUiW0TkjIjsFpG+WexLRaRihtcXukdEpIiITHPGdtL5vLRz3SCgCTDSedQ+8uL9iUioiHzufP8+ERkgIj7OdT1FZJGIvO/c9x4RuekSP89TwJT0n6fz/deIyG8ickJEtonInRnWtReRzc72HxKRZzN+Zlbtdy4rBMwESuXGMzGT/SwRmGzn/LK8CdgpIpWBycCTQAQwA/ifiBQQEV9gGrAPiAIigW9c+IhvgPYiEuL8PF/gTuBr5/pjwM1AYaAX8KGI1PkXTfEBJgJXA2WBBGAkgKq+DCzEedSuqo9l8v6PgFCgPNAMuNcZT7r6wDYgHHgXGC8icvFORKQocBuw0/m6EPCbs73FgG7AxyJS1fmW8UBfVQ0BqgNzr6TRqnoOx+/vsJeeiXkdSwQmO00RkTPAARxfxq8BXYHpqvqbqibj6N4IAhoC1wOlgOdU9ZyqJqpqxiPWG5xnEemPXQCqug9YDdzq3K4FEK+qS53rp6vqLnX4A/gVx9H7FVHVWFX9UVXjVfUMMAjHF/plOZNTN6C/qp5R1b3AUOCeDJvtU9VPVTUV+AwoCRTPsH6EiJwGjuNIFo87l98M7FXViaqaoqprgB+BO5zrk4GqIlJYVU+q6uorbbvxLpYITHbq7DwKbQ5cg+PLqxSOI34AVDUNR6KIBMrg+DJMucT+lqpqWIZHhQzrvga6O5/34P/PBhCRm0RkqbPb5BTQ3hnLFRGRgiLyibNbJw5YAIQ5v+QvJxzwJ0Pbnc8jM7w+mv5EVeOdTzMOsD+hqqFATaAIUNq5/GqgfsYkCdwFlHCuvx1Hm/eJyB8i0sCFeI0Xs0Rgsp3zKHwSjqP/wzi+uABwdn2UAQ7hSAhlRcTvX3zM90BzZzfUrTgTgYgE4Dg6fh8orqphOLqj/tHl4hQPFMzwukSG588AVYD6qloYaJrejPSmZhHfcRxH5ldnWFYWR7uviKpuAN4CRjl/fgeAPy5KksGq+rBz+xWq2glHt9EU4Dvnrs6Roa0ikrGt//jYK43T5F2WCIy7DANaA1OBDiLSUkT8cXy5ngeWAMuBI8BgESkkIoEi0siVnatqDDAfRx/+HlXd4lxVAAgAYoAU5wBsmyx2tRboISK+ItKOv3f9hOAYFzglIlfh6OrK6C8c/f+ZxZeK4wt4kIiEiMjVwNPAl660LxOf4eg26ohjXKWyiNwjIv7Ox3Uicq1z7OUuEQl1dsXFAWnOfawDqolItIgEAq9n8Xl/AUVFJPRfxmvyEEsExi2cX9SfA68Cd+MYOD0O3ILjMtMk55flLTguj9wPHMQxppCugfzzPoLrMqz/GmhFhm4hZ1/+Ezi+hE/i6DaamkWo/ZwxnMLRvTIlw7phOMYzjgNLgVkXvXc40MV51c+ITPb9OI6j8N3AImecE7KI5ZJUNcn5ea8429gGxxjEYRxdTENwJEBwjEPsdXZnPeRsF6q6HRgIzAF2OGO61OdtxTHIv9vZ/WRXDeVjYhPTGGOMd7MzAmOM8XKWCIwxxstZIjDGGC9nicAYY7ycJQJjjPFylgiMMcbLWSIwxhgvZ4nAGGO8nCUCY4zxcpYIjDHGy1kiMMYYL2eJwBhjvJwlAmOM8XKWCIwxxstZIjDGGC9nicAYY7ycJQJjjPFy/2bScI8KDw/XqKgoT4dhjDF5yqpVq46rakRm6/JcIoiKimLlypWeDsMYY/IUEdl3qXXWNWSMMV7OEoExxng5SwTGGOPl8twYQWaSk5M5ePAgiYmJng7FAIGBgZQuXRp/f39Ph2KMcUG+SAQHDx4kJCSEqKgoRMTT4Xg1VSU2NpaDBw9Srlw5T4djjHFBvugaSkxMpGjRopYEcgERoWjRonZ2Zkweki8SAWBJIBex34UxeUu+SQTGGGP+HUsE2WTQoEFUq1aNmjVrEh0dzbJlywBo3rw59erVu7DdypUrad68OQDz588nNDSU6OhorrnmGp599lm3xNauXTvCwsK4+eab/7b8999/p06dOkRHR9O4cWN27tyZ6fuDg4MB2Lt3L0FBQURHR1OrVi0aNmzItm3b3BKzMSbnWCLIBn/++SfTpk1j9erVrF+/njlz5lCmTJkL648dO8bMmTMzfW+TJk1Yu3Yta9asYdq0aSxevDjb43vuuef44osv/rH84Ycf5quvvmLt2rX06NGDt95667L7qlChAmvXrmXdunXcd999vP3229kerzEmZ1kiyAZHjhwhPDycgIAAAMLDwylVqtSF9c899xyDBg3Kch/pR9qHDh3K9vhatmxJSEjIP5aLCHFxcQCcPn36Qsx79uyhQYMG1KhRgwEDBlxyv3FxcRQpUiTb4zXG5Kx8cfloRm/8bxObD8dl6z6rlirMa7dUu+T6Nm3aMHDgQCpXrkyrVq3o2rUrzZo1u7C+QYMG/Pzzz8ybNy/TL2SAkydPsmPHDpo2bfqPddu2baNr166Zvm/+/PmEhYVdWYOcxo0bR/v27QkKCqJw4cIsXboUgH79+vHwww9z7733MmrUqL+9Z9euXURHR3PmzBni4+MvdIEZY/IuOyPIBsHBwaxatYqxY8cSERFB165dmTRp0t+2GTBgQKZdLwsXLqRWrVpERkbStm1bSpQo8Y9tqlSpwtq1azN9/NskAPDhhx8yY8YMDh48SK9evXj66acBWLx4Md27dwfgnnvu+dt70ruGdu3axbBhw+jTp8+//nxjTO6Q784IsjpydydfX1+aN29O8+bNqVGjBp999hk9e/a8sL5FixYMGDDgwlF3uiZNmjBt2jT27NnDDTfcwJ133kl0dPTftrmSM4Jly5bRt29fAAYOHEjHjh0zfV9MTAzr1q2jfv36AHTt2pV27dpdWO/KJaAdO3akV69el93OGJO75btE4Anbtm3Dx8eHSpUqAbB27Vquvvrqf2w3YMAAHnroIcqXL/+PdeXKlePFF19kyJAhTJ48+W/r0s8IXFG/fn2Xti1SpAinT59m+/btVK5cmd9++41rr70WgEaNGvHNN99w991389VXX11yH4sWLaJChQouxWWMyb3clghEZAJwM3BMVatnsl6A4UB7IB7oqaqr3RWPO509e5bHH3+cU6dO4efnR8WKFRk7duw/tmvfvj0REZnOCwHAQw89xPvvv8/evXvJzsl3mjRpwtatWzl79iylS5dm/PjxtG3blk8//ZTbb78dHx8fihQpwoQJEwAYPnw4PXr0YMiQIXTq1Olv+0ofI1BVChQowLhx47ItTmOMZ4iqumfHIk2Bs8Dnl0gE7YHHcSSC+sBwVa1/uf3Wq1dPL56YZsuWLReOZk3uYL8TY3IXEVmlqvUyW+e2wWJVXQCcyGKTTjiShKrqUiBMREq6Kx5jjPGIc7Gw+nOWfnUXD49tzPrtSzwd0T94cowgEjiQ4fVB57IjF28oIn2APgBly5bNkeCMMeY/UYW4w5yf2ImAUzvYGFqYRVeFcefpY56O7B/yxGCxqo4FxoKja8jD4RhjzKWlpcLRDfDrANi7kACgHw8xr8hvhBBJ/Zo3X3YXOc2TieAQUCbD69LOZcYYk7cc2wobvoODK9BDa5CkM5yTgnyU3I3NhatRofEZdGcyn7R/m4IBue/425MRTQUeE5FvcAwWn1bVf3QLGWNMrnVgBSz6ALbNAB8/KF6d1UXa8uWBCI5GNKJq1WC2H3+JNTvP0qx0M6qH/+O6mVzBnZePTgaaA+EichB4DfAHUNUxwAwcVwztxHH5qN2ZZIzJG878BVMfhx2z0cAw9lZ7jO98OzBr93n2n9tMleqbCC/yPbNP7ibArwAT2n1L1aJVPR31JbnzqqHuqlpSVf1VtbSqjlfVMc4kgPNqoUdVtYKq1lDVlZfbZ26WW8tQr127lgYNGlyI7dtvv72wbuTIkVSsWBER4fjx45fcR1RU1IX1vr6+F8pQ16lThyVLct8VEMa41fZfYXRD0nbP55fwvtQ+M4wbVzVg0vbFJIQPo2DUGE7LOvx9/GlYqiGjWo7K1UkA8shgcW6XsQx1QEAAx48fJykp6cL69DLUN9100z/em15iIiEhgdq1a3PrrbfSqFGjbIutYMGCfP7551SqVInDhw9Tt25d2rZtS1hYGI0aNeLmm2++kJhcERQUdOHO5dmzZ9O/f3/++OOPbIvXmFxLFf4YAvPf4YB/OXrFP8+R5KtpXy+AfT6fs+XUSooEl6ZftZfoVKETBf0Lejpil1kiyAaZlaHOKL0MdWaJIJ27ylBXrlz5wvNSpUpRrFgxYmJiCAsLo3bt2pm+JzY2lu7du3Po0CEaNGjApW46tDLUxmukpRE/7QUKrh7L9ylNec+nJ/UbnKR8wC/M+Wsp/r7+9L++P12rdMXXx9fT0V6x/JcIZr7ouHQrO5WoATcNvuTqvFKGevny5SQlJV22PtAbb7xB48aNefXVV5k+fTrjx4+/sC4hIYHo6GgSExM5cuQIc+fOdemzjcmz0lKJ//FRCm6azMfShvm1S5GWMJj5JxMpWagk91S7h25VulEquNTl95VL5b9E4AHpZagXLlzIvHnz6Nq1K4MHD/5b9dH0MtRDhgz523vTy1Dv2LGDJ598Mssy1P/FkSNHuOeee/jss8/w8cl6aGjBggX89NNPAHTo0OFvR/0Zu4b+/PNP7r33XjZu3GgT1pv8KeEkCT88TNCumfQr1JxlpQ6TFL+L2yrdRofyHagVUQsfyfvV/PNfIsjiyN2dcnMZ6ri4ODp06MCgQYO44YYbsqW94DjTOX78ODExMRQrVizb9mtMrrBrHik/PcS5hFg6F6/N4YK7iS4SzRuN3qB86D8rCOdl+S8ReEBuLkOdlJTErbfeyr333kuXLl1c2kfTpk35+uuvGTBgADNnzuTkyZOZbrd161ZSU1MpWrSoS/s1Jk9IToA5b8Cy0Wz2KUXvkjVICYzjxXov0q1Ktzw5BnA5lgiyQW4uQ/3dd9+xYMECYmNjL8yaNmnSJKKjoxkxYgTvvvsuR48epWbNmrRv355x48bx2muv0b17d6pVq0bDhg3/Vt8pfYwAQFX57LPP8PXNf/8xjJc6vBZ+7gsxWxkvrRhZ6iwScJyPWoygUWT2Xc2X27itDLW7WBnqvMF+JyZPSU2GhR+gC94lzieM3tqZnaU2IQWOMfzG4TQp3cTTEf5nWZWhtjMCY4xX02NbOfdtb4JjNzBJrmdYWFHSQn6lSMBVvN1kBI0jG3s6RLezRGCM8UrJKSlsnfIuVTZ+wCkC6HFVa/aH7sbf9yT3VevD/dXvp5B/IU+HmSMsERhjvMrZ8ylMWbiGaxc/SV3dyKeFavJZSV/iUrdzS4VbeLz245Qo9M/LuPMzSwTGGK9wOiGZz5fsZeWiWQxJG4qPXwKPVWrFH+e3Uy64HCMbDiO6WLSnw/QISwTGmHzt5LkkJizew6TFe+icMpPx/l+yoGgpBkaU5nTSbh6s8SB9a/UlwDfA06F6jCUCY0y+FHPmPOMW7uaLpftIS4pnUsTX1DnzGx9UiOaLtBNUKlSMMY3f5pqrrvF0qB6X9++NziXyYhnqnj17Uq5cOaKjo4mOjr7kTWtWhtrkJWfPp/DurK00eXcuny7cTdcKqayNfI/iifO5u0otvkg7QfdrujO5w2RLAk52RpAN8moZaoD33nvP5TuOwcpQm9wrLU35YfVB3pu9jZgz5+kUXYoXK+ynxO+PMyWoAO+UvZoAUUbcOIIby97o6XBzFUsE2SCvlqG+FCtDbfKa5XtOMHDaJjYeiqN22TDG3l2b2rvHcnrmezwXGcVsv2SuK1aLdxq/Q/FCxT0dbq6T7xLBkOVD2Hpia7bu85qrruGF61+45Pq8XIb65ZdfZuDAgbRs2ZLBgwcTEBBgZahNnnHgRDyDZ25l+oYjlAwNZHi3aDqWPIXMvI+lR5fzclQ5TpBKv9r96FWtV76sE5QdbIwgG6SXoR47diwRERF07dr1Ql2fdOllqC+WXoY6MjKStm3bZlmGOrOHq0kgvQz1xIkTL5Shfuedd9i6dSsrVqzgxIkTF0pkL1iwgLvvvhu4dBnqrVu3MmvWLO69995LnjEY4y7p4wAtP/iDuVuP8VSrysx9pBadDg8jeUwT3j+3nQdLFqdgSCm+7PAVvWv0tiSQhXx3RpDVkbs75cUy1CVLlgQgICCAXr168f77719Rm60MtclpaWnKj6sP8q5zHODW2pE836YCJbdPhtGD2J6WwIsVqrAj9Sxdq3TlmXrPEOQX5Omwc718lwg8Ia+WoT5y5AglS5ZEVZkyZQrVq1cHrAy1yZ1W7D3BwP9tZsOh045xgHvqUjt5LXzdmrSYLXxVLpphPmcI9i/AqOajaFr6n92sJnOWCLJBXi1DfddddxETE4OqEh0dzZgxYwCsDLXJVQ6ejOedmVuZvj7DOECZROTXR9Ft01kacTWjajRm3dn9NI9szusNXqdokB2cXAkrQ23cwn4n5r86dz6FMX/sYuyC3YhA36YV6HtDBAWXDkOXfszSggUZXboiaxKPUbxgcR6NfpTOFTvbtKmXYGWojTF5Rlqa8vOaQ7w7eyt/xTnuB3ihbWVK7ZuKfvI6f6acZHS5yqxJjaO4jzCg/gBurXQrBXwLeDr0PMsSgTEm19h0+DQv/byRdQdOUat0KB/fVZe6frvRHzvy5/ENjC4eyRqfAhQPCGJAjScsAWSTfJMIVNVOCXOJvNbdaDwvLU0Zt2g3783eRljBAnxwZy06V/Rj729PM+bAHGaHFGZnyeIUL1iUATUetASQzfJFIggMDCQ2NpaiRYtaMvAwVSU2NpbAwEBPh2LyiCOnE3jmu3Us2RVL22rFeaRFQZauHkCX1cvY4e+HFAmjTkQ0r1XsRMcKHS0BuEG+SASlS5fm4MGDxMTEeDoUgyMxly5d2tNhmDxgxoYj9P9pA0nyF7c0PcqRcyO4e85hAOr4h/Bi1btoXa07xQrafSrulC8Sgb+/P+XKlfN0GMYYF509n8IbUzfx/aqDlC2/kJMB05kfA9GJ53mBgrRq9DIlqt/h6TC9Rr5IBMaYvGP1/pM89e1aDpyIp1PtZcxNnM7NZ8/R72wyJZo8D9f3BT/r/slJbq01JCLtRGSbiOwUkRczWV9WROaJyBoRWS8i7d0ZjzHGc1JS0xg+Zwd3jPmTqOTdDK08inkJP9E8IYk3K3ajxKOroOHjlgQ8wG1nBCLiC4wCWgMHgRUiMlVVN2fYbADwnaqOFpGqwAwgyl0xGWM8Y+vROF7+eSPJ+1cypegsElNW0leKUSsgnHdv/Qq/0EhPh+jVLpsIRMRXVVP/xb6vB3aq6m7nfr4BOgEZE4EChZ3PQ4HD/+JzjDG51LoDpxg5bycntizgqYApNA5Yxzauok+p0pQNiWRk+y8JCgj1dJhez5Uzgh0i8iMw8aKj+cuJBA5keH0QqH/RNq8Dv4rI40AhoNUV7N8Yk0st33OCj37fTsruBTxVYArXB2wiLago+697iodj5lPIx48xbT4l1JJAruBKIqgFdAPGiYgPMAH4RlXjsuHzuwOTVHWoiDQAvhCR6qqalnEjEekD9AH+VgDNGJN7qCoLdxxn5NwdBO2fzzMFfiG6wFbSgouz57rnmeRzjql7f6GgX0E+azOOEoX+OfeG8YzLJgJVPQN8CnwqIs2Ar4EPReQH4E1V3XmJtx4CymR4Xdq5LKMHgHbOz/lTRAKBcODYRTGMBcaCo+jc5WI2xuSctDTl963HGDl3B3GHtjIycDTVCuwkrXAkm+o+x/jUGObs/ZYCvgXoUqkLvar3olRwKU+HbTJwaYwA6AD0wjGQOxT4CmiCY3C38iXeugKoJCLlcCSAbkCPi7bZD7QEJonItUAgYHeFGZMHpKYpMzYcYdS8nWw9eob2oXv4Lvhd/P39WFr/GcYn7mfp3m8J8Q+hd43e3HXtXVYeOpdyaYwAmAe8p6pLMiz/QUQuOfODqqaIyGPAbMAXmKCqm0RkILBSVacCz+A403gKx8BxT7VCNcbkemsPnOLp79ayO+YcFSIK8W3jo9RbM5B5RUsxPrI8G/d+T3hQOE/XfZo7Kt9BcIFgT4dssnDZ+QhEpLGqLrpoWSNVXezWyC4hs/kIjDE5Z9bGo/T7Zg0RIQG8dNM1tIv7gY0L3+SdkmXYKMmUCSlDr+q96FihIwG+AZ4O1zj91/kIRgB1Llr2USbLjDH5mKoyftEeBs3YQq3SYYy7pzb88QKv7pvGL6VKEBEUytt1n6Z9ufY2UXwec8lE4LyKpyEQISJPZ1hVGEdXjzHGS6SkpjFw2mY+/3MfN1UvwXudyvHTlI6MTjlCYkgI91frSZ9afSnkX8jToZp/IaszggJAsHObkAzL44Aumb7DGJPvnDufwhOT1/D71mP0aVqeZpX3cNcPD7DbJ5XGIeV4ofVIokKjPB2m+Q8umQhU9Q/gDxGZpKr7cjAmY0wu8VdcIvdPWsGWI3E82z6cnfFDeWjxMkqnpfLRtQ/QrP7TNgdIPpBV19AwVX0SGCki/xhRVtWO7gzMGONZW4/Gcf/EFZxKPMsdzdczae+P+KSm8ER8CvfeMomAsjd4OkSTTbLqGvrC+e/7ORGIMSb3WLgjhke+WkahsIUUjfydGUfP0+7sOZ65qi4lOr8PRa72dIgmG2XVNbTK+e8fOReOMcbTJi/fwzvzPiWk7K+c8T1P/fhEHg+pRq3bBkLJmp4Oz7hBVl1DG3Dc5JUpVbW/CGPykfikZJ76eQwb4j5HSyQSlXieJwKqcEPHN6FUtKfDM26UVdfQzTkWhTHGY1SV79b9wicrBxPjf46KJPGmT3la3DwIibTbhbxBVl1DdqWQMfncigMLeGfeK+zQE5QhmZeTI7njpsH4lr7O06GZHJRV19AiVW0sImdwdBFJxn9VtfCl3muMyd32/LWWt+c9x9LzRymWkkKvs0W4u80Qil3bxNOhGQ/I6oygsfPfkEttY4zJW5KO72D8vOf59NwOAtOUzieDqVbhGe7sdQc+PnY/gLdyac5iEakDNMZxRrBIVde4NSpjTPY6tJqVCwcx8Mwm9hTwp/rZYPTcPdzavQd1yhbxdHTGw1yZj+BV4A7gJ+eiSSLyvaq+5dbIjDH/jSrs+I3TSz7kg7Nb+SkkmCK+wRTY35GiFW7m7d41KBzo7+koTS7gyhnBXUAtVU0EEJHBwFrAEoExuVFKEmz4Hl0ygunx+3kvvCinQkIION2YmOPteKNjbe6oW9pKQ5gLXEkEh3HMHJbofB3AP6ecNMZ4WuJpWDUJlo7hQMIx3ipZhiXB4YT7VeDM9g5ULlKFbx6rQ8ViNkmM+busrhr6CMeYwGlgk4j85nzdGlieM+EZYy4rLRWWjIAFQ9GkM3xZLprhPkH4+hSgRMIt7NhSk27XXc3rHasR6G8V5M0/ZXVGkD4N2Crg5wzL57stGmPMlTl9CH7uC3sXElu5La+EFmDh8XXUDGvI1o2tORBfiPfvqEGXuqU9HanJxbK6fPSznAzEGHOFtkyDqY9BShJLWzxP/6NziDsRR+MiDzJ7SXmiwoP5ulddqpSwK8BN1ly5aqgS8A5QFcdYAQCqWt6NcRljLiUpHn59GVZOILlkLT6u3oLxO7+lTMjVRJx7jJlLArmlVineua0GwQEuXSFuvJwrfyUTgdeAD4EbgV6AjzuDMsZcwtGN8OMDELOVQ9c/wPN6lPU7f6RpyQ6sXt2UHWeENztX5e76Ze2qIOMyV77Qg1T1d0BUdZ+qvg50cG9Yxpi/UYVln8CnLSDhJL/e9Bp3nFrK7tN7aF/8OX79oym+EsgPDzfgnhuutiRgrogrZwTnRcQH2CEij+G4dNSuPzMmp5w7DlMegR2zSa7YhqHlqvLV1olUCatGodP38u18pdW1xRh6Ry1CC9oNYubKuZII+gEFgSeAN4EWwH3uDMoY47RrLvz8ECSc4kirV3j29GrW7/yJa4I6sH5FIxSh/01V6NO0vJ0FmH/tsolAVVcAOM8KnlDVM26Pyhhvl5oMc9+CxcMgvAqL2r7Ki5s+ISHpPD4x97LieFVuqx3J020qU7pIQU9Ha/I4V64aqodjwDjE+fo0cH/6VJbGmGx26gD8cD8cXE5qnfsYHVmesavfxSe5JKf3P0DDstfQv/u1VI8M9XSkJp9wpWtoAvCIqi4EEJHGOBKDTVVpTHbbOgOmPAxpqcR2HMEjB+axeeN4kk/Voazew7C7atKscoR1A5ls5UoiSE1PAgCqukhEUtwYkzHeJyUJ5rwOS0dByVrMrPcEL28YQVLaGQJOd2NAo3voUrcMvjZngHGDrGoNpU9W+oeIfAJMxlFrqCtWZsKY7HNyr6Mr6NAq4qPv56HEsqze8CakFOGOMkN4/q6WBBWwGkHGfbI6Ixh60evXMjxXN8RijPfZPBV+eQxFmX7NEF7YtQ+f8AkU96/J+I7Diboq3NMRGi+QVa2hG3MyEGO8Ssp5+HUALB/L+eLR9DzzMKsO/UlA+FwalmjByFbv4+9r9wSYnHHZO4tFJFREPhCRlc7HUBFx6XIFEWknIttEZKeIvHiJbe4Ukc0isklEvr7SBhiT58TugvGtYflYTtTsTfPY59kYOJ+A8LncVuk2Pm79gSUBk6NcvWpoI3Cn8/U9OK4aui2rN4mILzAKx/wFB4EVIjJVVTdn2KYS0B9opKonRaTYlTfBmDxCFdZ+BTNfAB8/tt84ltvnheBb/DsouIr7qt7HM/WesSuCTI5zJRFUUNXbM7x+Q0TWuvC+64GdqrobQES+AToBmzNs8yAwSlVPAqjqMZeiNiavOXcc/tcPtk6DqCYsrPYmvaceILjMlyQFbODx2o/zYI0HLQkYj3Cl6FyC894BAESkEZDgwvsigQMZXh90LsuoMlBZRBaLyFIRaZfZjkSkT3rXVExMjAsfbUwusm0WfHwD7PgV2gzi26ojuW/KHgpHfU5SwAZeqv8SfWr2sSRgPMaVM4KHgM8zjAucJPtqDfkBlYDmQGlggYjUUNVTGTdS1bHAWIB69erZFUsmbzh/1jFvwKpJULw6es8UPt4SyNBfZxNeaSpJPod4u9Hb3FLhFk9HarxclonA2c9/j6rWEpHCAKoa5+K+DwFlMrwuzT8nvT8ILFPVZGCPiGzHkRhWuPgZxuROB5bDT30c9wg06kdas5foP2MZv+wbT6FyawgMKMK7jYbRvExzT0dqTNaJQFVT07uFriABpFsBVBKRcjgSQDegx0XbTAG6AxNFJBxHV9HuK/wcY3KP1GT4YwgsHAqFS0PP6RwLr859kwdyIG0mAWFCr+oP0LtGb4ILWDV3kzu40jW0RkSmAt8D59IXqupPWb1JVVOc8xfMBnyBCaq6SUQGAitVdapzXRsR2QykAs+pauy/bIsxnhWzHX56EI6shVo9SG37NhO3z+Kjec+R5nOGawo3ZXibl4gMuXiozBjPEtWsu9xFZGImi1VV73dPSFmrV6+erly50hMfbUzm0tJgxTj47RXwLwi3DGNNeFleXjCQA+d2QmIUz9Z7jvvqNvV0pMaLicgqVa2X2brLjRFE4LgXYOfFA7jGGCDuMPzyqGMCmYqtiWnzBh9u+4r/rRiAJodSOP5+Pu/Wm4rFQjwdqTGXlFXRud7A28AuoJyI9HF25xhjUpNh2RiYPxg0jeT27zG5UCAfz3mAhOTznD9+I3VDuzCmdwObPtLkelmdETwJVFPVGBEpD3wFWCIwZs9CmPEsxGyFSm1YXu8u3tn6GTtP7aSw1iBuV1vuu64eAzpci5+vK7fqGONZWSWCJFWNAVDV3SISkEMxGZM7xR12FIrb+COEleXoraMZemoNs5a+QvGgUhSO68NfR8ozqFMNetQv6+lojXFZVomgtIiMuNRrVX3CfWEZk4ukJMGy0fDHu5CaTHLTZ/m8aASfbBxGmqZxc5meTFtYBT8pwJe963JD+aKejtiYK5JVInjuotc2R7HxPrvnw4zn4Ph2qNyONdffy6sbxrD3wF4alWxOaPztfDcnngoRhRh373WULWoTyZu8J6v5CD7LyUCMyVVOH4LZL8HmKVAkCrp/y5oixen7W1+KBBSlWehLzFkYRnJqPLfXieSVm6sSEmiDwiZvcuWGMmO8R1oqLPnI0Q2kqdD8JWjUj81xu3l41v34aRgHNt3PjsSCdI4uyeMtK1EuvJCnozbmP7FEYEw6VZj6BKz9Eqp0gHZvQ5Eo1h7dRu9fe5OYVID4ffdxc9WKPNGyEhWLWYkIkz9YIjAGHEng1wGOJNDsBbjxJeISkxk2awHfH+pPGlA/sD8vPtaYysXt5jCTv1w2ETjvLn4QiMq4vadKTBjjFgvfhz9HwvV9oXl/Fu04zqPfzSWl2EgKFEhlSMMxtKkU7ekojXELV84IfgEWAnNwFIYzJn9Z/inMfQtqdoN2g5m84gAD/reUwuXGUqjAeSa2m0C18GqejtIYt3ElERRU1RfcHokxnrD+e8floVXak3bLRwyZtY1PFm2iWOVJpPmdZnTrMZYETL7nyv3v00SkvdsjMSanbZsFP/eFqMYkdBrHw9+sZ+yfyylT9QuSfY8w/MZh1C1e19NRGuN2rpwR9ANeEpEkINm5TFW1sPvCMsbN9i6G7++DkjWJ6TCR+yesZFvCDEIrzSHVJ4ChjYfSKLKRp6M0JkdcNhGoql0iYfKXw2thcjcIK8v2VpO4Z9IszhX+moCQgzQtfSMDbhhAsYLFPB2lMTnGpctHRaQjkD6rxnxVnea+kIxxE1XYOh3+9wQEhvLHDaN59JfhSMRcQgsU5pWG79H26raIiKcjNSZHuXL56GDgOhxlqAH6iUgjVe3v1siMyU6xu2Dm87BzDhSryoiovnyy+gV8rjpGqzLtea1hf8ICwzwdpTEe4coZQXsgWlXTAETkM2ANYInA5H5J5xwTyS/5CPwCOdvqDe49eIjtxz4gMKAIg5t+ROtyzT0dpTEe5eqdxWHACefzUPeEYkw2UoUtU2HWSxB3EGp2Y1alDry86kOS5DgVA9vwWefXCQ20ITBjXEkE7wBrRGQeIDjGCl50a1TG/BfHdzjuDdg9D4pX51ynj3h443TWrH4ZTQ7n7opDePFGuyLamHSuXDU0WUTm4xgnAHhBVY+6NSpj/o3zZ2HBe/DnKPAPgpveZX2ZFvT+9QniOUTRlLaM7difKsVt4hhjMspq8vprVHWriNRxLjro/LeUiJRS1dXuD88YF6g65g2Y/TLEHYJaPdBWr/PhmjVMnHUPSiq3ln6NN1rdho+PXRFkzMWyOiN4GugDDM1knQIt3BKRMVfi9EFH6ehdv0OJGtBlIn+F1aL3j6PYwxcUkHCG3ziCJlFVPR2pMblWVjOU9XE+vUlVEzOuE5FAt0ZlzOWowpovHGcBaalw07tovQf4cd0h3vjlaSi8kKuDovnylpEUCbLrG4zJiiuDxUuAOi4sMyZnnD7kuCls5xyIagKdRnLMrwTPf7mYZWeH41d4B7dEdWVgkxfx87EpN4y5nKzGCEoAkUCQiNTGccUQQGHAZug2OU8V1n4Ns/pDWjLc9B6p9R7g6+UHeHfu96QVm0CB4FO82uANbq98m6ejNSbPyOpwqS3QEyiNY5wgPRHEAS+5NyxjLhJ3BP7XD3bMhrINofMo1p27ipc+nseOxFkERS4gNCCQES3GU6e4nawacyWyGiP4DPhMRG5X1R9zMCZj/p8qrP/WUR4iJQnaDeF0jV68M3sjP+0cS0D4fAIKn6NxZFNevuFlSgWX8nTExuQ5rnSg1hWR31X1FICIFAGeUdUBbo3MmPgT8MujsG0GlLmBtI6j+G6PD4PHvkNyyK8EFD9DveL1ebLu49SKqOXpaI3Js1yZmOam9CQAoKoncdQfuiwRaSci20Rkp4hc8m5kEbldRFRE6rmyX+MFTuyG8a0dA8JtBrGp7Ze0nfIzb667j9SrfuTaiHJMaDuBie3GWRIw5j9y5YzAV0QCVPU8gIgEAQGXe5OI+AKjgNY4bkZbISJTVXXzRduF4Jj8ZtmVBm/yqf1L4ZseoGnEd/uRfuu3smTTnfgUOE7pwMq80mgwjSIbWrloY7KJK4ngK+B3EZnofN0L+MyF910P7FTV3QAi8g3QCdh80XZvAkOA51yK2ORvG36AKY9AaGkWNnuTJxa+RYrvEUIDy9L/hg+4uWIrSwDGZDNXag0NEZF1QCvnojdVdbYL+44EDmR4fRCon3EDZ/mKMqo6XUQsEXgzVVj4Psx9C8o2ZEHdoTy6/CnwOUvPiq/wVMMu+IgrPZnGmCvl6t02W4AUVZ0jIgVFJERVz/yXDxYRH+ADHJeoXm7bPjjKXVC2bNn/8rEmN0pJclwauu5rtMadjA59kg9nfkNgycO8WGcQd9Xo6OkIjcnXLnuIJSIPAj8AnzgXRQJTXNj3IaBMhtelncvShQDVgfkishe4AZia2YCxqo5V1XqqWi8iIsKFjzZ5RsJJ+PI2WPc1iY2fp8/ZPrw7dwshJedQO6IOParf4ukIjcn3XDnXfhRohONGMlR1B+DKzN4rgEoiUk5ECgDdgKnpK1X1tKqGq2qUqkYBS4GOqrryCttg8qq9i+CTZnBgGUdbDqf92kbM3RZDs+vXksJZXrqhv40HGJMDXEkE51U1Kf2FiPjhqD6aJVVNAR4DZuPoWvpOVTeJyEARsXN9b5Z0Dma+AJM6gPiwpMkkWvxWgrjEFIb2KMH6uOncVuk2rrnqGk9HaoxXcGWM4A8ReQlHzaHWwCPA/1zZuarOAGZctOzVS2zb3JV9mjxu3xLHVUEn9xBbrSfDpQefzzpO7bIhjL6rLm+seIpAv0Aer/24pyM1xmu4kgheBB4ANgB9gRmq+qlbozL5T1I8zH0TXTqas0GleCv4bb5dFUUB3xP0bBhF//bXsOzoYhYdWsSz9Z6laJDNImZMTnElETyuqsOBC1/+ItLPucyYy0rdt5TzP/Sl4Jm9fJ3ahkEnu1E+shhvdCxDp+hShBUswO7TuxmyfAhRhaPocU0PT4dsjFdxJRHcB1z8pd8zk2XG/M2eIzEcm/oa1x35mhNalCd9XiXy+nb8ULcMVUsVBuBM0hneXTGMyVsmE+QXxPAWw/H39fdw5MZ4l6zmI+gO9ADKicjUDKtCgBPuDszkTWfPpzB9/WEWLl3GkzGvUt/nMPOCbyal5euMrFGBAn6O6xNS01KZsnMKI9aM4GTiSW6rdBuP137cuoSM8YCszgiWAEeAcP4+b/EZYL07gzJ503crDvD6/zZROnkv3wS+Q1AAnOz4HTfWaPu37dYcW8M7y95hy4kt1C5Wm9GtRlO1qM0pbIynZDUfwT5gH9BARK4GKjnvLA4CgnAkBGM4n5LK61M3M3n5fu4qc4I34t7B1z8QuW8qQRFVLmz317m/+HD1h0zfPZ1iBYsxuMlg2pdrb/cKGONhlx0jcN5Z3Ae4CqiA4w7hMUBL94Zm8oLDpxJ4+KvVrDtwikF1z9Jj50tIYBjc9wtcVR6Ac8nn+HLzl4zfOJ7UtFQerPEgvWv0pqC/zXhqTG7gymDxozgqiS4Dx53FIuLKncUmn1uy8ziPTV5DUkoa37VO4vqlT0JISbhvKoSWJj45nq+3fs1nmz7j1PlTtCzbkmfqPUOZkDKX3bcxJue4kgjOq2pS+um7q3cWm/xLVflkwW7enbWVChHBfN7kJCVn9YWiFeCeKcQHhvDtxolM3DiRk+dP0jiyMY/UeoQaETU8HboxJhNuvbPY5D9nEpN5/of1zNx4lA41SjK0xn4Cp/SG4tVI6D6Z7/bPYsLGCZxIPEHDUg15JPoRm0HMmFzuX91ZDIxzZ1Am94lLTObzJXsZv2gPcYkpvNz+WnpftRb5sTdJkbX57rpujJvZg9jEWG4oeQOPRj9KdLFoT4dtjHGBKxPTpInIFGCKqsa4PySTm5yKT2LCoj1MXLKXM4kptLimGE+2qkTN2Nnojw/xW5mafFDYj4NrR3B9iesZGj2UusXrejpsY8wVyOqGMgFew1FB1Me5LBX4SFUH5kx4xlOOnz3Ppwt38+Wf+ziXlEq7aiV4rEVFqkeGwpov2Tjzad67ugKr5QQV/SsyptUYGkU28nTYxph/IaszgqdwzENwnaruARCR8sBoEXlKVT/MiQBNzjp6OpGxC3bz9fJ9nE9J4+aapXjsxopUKRECwJElwxi+ZgTTI4tzVUBBXqvzIp0rdsbPx9XJ7owxuU1W/3vvAVqr6vH0Baq6W0TuBn4FLBHkIzFnzjP89+18t+Igqap0jo7kkRsrUCEiGE1JYtPq8UzbMpnvk45AcDAPVuvJA7X6Usi/kKdDN8b8R1klAv+MSSCdqsaIiFUFyyfS0pRvVx7gnRlbSEhOpUvd0jzcrCJliwSya8uPjJz3BTPP7GK/nw9+qrQrWIYn2n1CydCrPR26MSabZJUIkv7lOpNHbP/rDC/9tIGV+05Sv9xVDOpcncCzS5n1x1vMPLmZ7X6CjyrXFQjjgag2tKzzKKGFwj0dtjEmm2WVCGqJSFwmywUIdFM8JgckJqcy4vcdjF2wm5BAP0a1DSHx7Hhem7ac9X6OewWj/QvyYmQz2tZ7nPDQsh6O2BjjTlkVnfPNyUBMzvhjewyvTNnI/hPxvHDNMW5LnMBrW4+wuGAQlX39ebJYfdrVe4zIiGqeDtUYk0PsUg8vcSYxmZd/3sjUdYepWDSQhdct5sDO8XQtVoyzvsG8UusR7qj5oFUCNcYLWSLwArFnz9Nz4gq2HInjlcbB3H30TUYe3MGkEsWoGFqeT5u9T6UilTwdpjHGQywR5HOHTyVwz/hlHDyZwM83xhK47hHuDQ1ic1hh7qx8J89e9yxBfkGeDtMY40GWCPKxPcfPcfe4ZZxPOMfv107nf5umMzY8jJCAwnzY8A1aXd3K0yEaY3IBSwT51KbDp7lvwnLKp+3nhYjRPB5/hp1Fwmgf1Y4X6vfnqsCrPB2iMSaXsESQD83bdoynJ6+gt9/PxBf5nfuDCxEeEMFHjd+ieZnmng7PGJPLWCLIR1SVUfN28tucmQwOHceIokns9w/mjvK38FT9/oQUCPF0iMaYXMgSQT5x9nwK/b9ZRtUdI+kQsZgXixQmPCCCcc3fp37J+p4OzxiTi1kiyAd2x5xl1MRJ3Jv4ER+XTmNlUChty7TglUYDCQ0I9XR4xphczhJBHjd/3U6O/fQCbQotpl+ZCFL9A3jrhlfoWKGj3RxmjHGJJYI8KiU1jXGzllFr1X2siUhhWkgENYpWY3DTdylb2GoDGWNcZ4kgDzpwIp5+306heOpgxpQtgI9PIfrUuJ+Haj2Ev49VCDfGXBm3JgIRaQcMB3yBcao6+KL1TwO9gRQgBrhfVfe5M6a87uMl8xm9ZixSaAMHNI0eJZtyX+PXKV6ouKdDM8bkUW5LBCLiC4wCWgMHgRUiMlVVN2fYbA1QT1XjReRh4F2gq7tiyssWHVjJgPnDiE1bR2BBH+45fZq7r3uGqxr283Roxpg8zp1nBNcDO1V1N4CIfAN0Ai4kAlWdl2H7pcDdbownz1FVVhxdwXvLRrL19Bo0pRCdfa/hhf2/EdLwCbAkYIzJBu5MBJHAgQyvDwJZXdD+ADAzsxUi0gfoA1C2bP4fCFVVFh9ezMjVY9h0Yh1pySEUSujMF5WKUmXpa1C9C7R83dNhGmPyiVwxWCwidwP1gGaZrVfVscBYgHr16mkOhpaj0jSNefvn8cn6sWw5sRlNDiPlRGeeiKpNH9/x+C1dBOWaQuePwcfH0+EaY/IJdyaCQ0CZDK9LO5f9jYi0Al4GmqnqeTfGk2ulpKUwc89Mxm0Yx+7TuyG5KInHb6NTZDNeqzSNkPW9IbAwdBgKdXqCb67I38aYfMKd3ygrgEoiUg5HAugG9Mi4gYjUBj4B2qnqMTfGkislpSYxZecUxm2YwJFzh/BNKUnCX92oU6Qx79fdTNk1vSHhJNTtBS0GQEGrGGqMyX5uSwSqmiIijwGzcVw+OkFVN4nIQGClqk4F3gOCge+dd8HuV9WO7oopN9kSu4Un5z7P4fi9pCWWITHmXiqFXM+AG/1otOFlZPEaKNsQbhoCJWt6OlxjTD7m1j4GVZ0BzLho2asZnnvdzChH4+J5bf5olpz4krSUIOT4/XSq3JLuHa6meuwsZNpT4B8It4+H6reDlYkwxriZdTbngLQ0ZcmuWD79cwUrzn6Cb6FdBKdF83CNF+lSuwoFJRlmvgCrP3OcBXQZD4VLeTpsY4yXsETgRqfjk/l+1QG+XLaXQ6m/EVjsVwKCfelbrT9963R3FIU7vgO+7wl/bYTGT8ONL9tgsDEmR9k3jhtsOHiaL5buZeq6wyTJEYpGTSHQdw+NSjXm9YavUaJQCUhOhA3fwaz+4FsA7voBKrX2dOjGGC9kiSAb/bkrlg/nbGf5nhMEBSZQ+dpl7E+ZQ2CBYF67/h06RLVHDq6AuYNh00+QeBrK1IcuEyC0tKfDN8Z4KUsE2WDZbkcCWLr7BBGFlVYN17H+zFT2pSTSqUIn+pW/laLbfoX/DYCTe8C/IFx7C9TqBuWagY+vp5tgjPFilgj+g1X7TvLBb9tYvDOWooXP06LBeracm82yk2dpXaYFjxWqTPnN0+G34YBAuSbQ7HlHEgiw+YONMbmDJYJ/adbGIzzy1WrCQk/T4PrVbD83j5WnkmlV/HoeSPKj2vIpkHgKrioPLV6Bml0hrMzldmuMMTnOEsG/sGx3LP2m/EyxikuI91vP9nP+dCoaTc8jeyi79HvH4O+1t0Cd+yCqidUFMsbkapYIrkBSShLvLvyBb7d/SYEyB/AtEMqDES3ovnMF4bt+cBz9txkEtbpDoaKeDtcYY1xiicAFf537izGrv2LKrh9JkTj8/CN4rFRHeuxdQtC2iVAkCjqPhhp32j0Axpg8x761srD79G6GrRzJ/IO/k6aKT0IVHi3ahAdj/8B38UgILQO3jIDoHuBrcwUbY/ImSwSZOJ5wnJFrPuanHT+iaf6knmzAMyGh9Eyche/mXyG8iuMMoHoX8Cvg6XCNMeY/sUSQgaoyfuN4Rq/9hKTUJHxPRvMsAXRL/g2/Q8chsi60GwRV2tsAsDEm37BEkMGwVcOYsGkCgWfK8dK5FLqen45PWjJUagMNn4CoxlYN1BiT71gicBq3fjwTNk2gzqnCTDi5AJ8ChZB690P9vlC0gqfDM8YYt/H6RKCqDF89nPEbx9P6bCJDTh3C54ZHkGbPQ1CYp8Mzxhi38+pEcD71PK8ufpUZe2bQ5cw5OhwL49i9PxBZsZanQzPGmBzjtYkgNiGWJ+Y+wfrj63ksLoFOZ4Npk/QiK6Kqezo0Y4zJUV6ZCFSV/gv7s/3kNobGpXLdqTQ6nHuGFtGVCPCzSqDGGO/ilYng223f8ueRP3n5fACNT5ygW9Kr3N+hCQ80Lufp0IwxJsd5VSJY9dcqZuyewc87f6YxBbn98A7uT3qOR++6jbbVSng6PGOM8Yh8nwjOp55n8aHFLD+6nK+3fE2QXxBNfUJ4fc96Xkm+n6pNOlsSMMZ4tXydCFSVJ+c9yaJDi/ATP9qXacErO9dS6PAahiZ3Qer25Lk2VTwdpjHGeFS+TgQ/7viRRYcW0a9OP7pEtoMJnfA5e4A+SU9RveVdvN2iImJ3ChtjvFy+TQRHzx1l8PLB1C9Rn5Jn6hDzUQfKph3ijcKvcVvbLrSrXtLTIRpjTK6QbxPBN1u/ITk1mfLbS1I9pivFfOLY2fJTBjXpbGcBxhiTQb5MBPHJ8UzZ+T9qxcNLsSM4UyiSgB7TqVamnqdDM8aYXCff1VJecmgJt//SjRMJx3gw7ihH6r9CyHMb8bEkYIwxmco3ZwS7j5/m/unPEMsywpJ9GR17jOiSN1KozZM2d4AxxmQhTycCVWXJvq0M/GMSB1MW4uN3hkopwXxzcDNJjV6kUMsXLAkYY8xluDURiEg7YDjgC4xT1cEXrQ8APgfqArFAV1Xd68q+lx9ZTr+5T3M25TSoD1cHXkv/w4todG4/PoUiKNC6f/Y2xhhj8im3JQIR8QVGAa2Bg8AKEZmqqpszbPYAcFJVK4pIN2AI0PVy+94Vu43+c/qRkHqWp2LP0S4ljVLJ8yElAa7vC42ecEOLjDEmf3LnGcH1wE5V3Q0gIt8AnYCMiaAT8Lrz+Q/ASBERVdVL7XT38W10ntYFgDeOx3JL5a74+/mB+EDNrhBZxw1NMcaY/MudiSASOJDh9UGg/qW2UdUUETkNFAWOX2qnCZICQLszzQlp+zz+NcpkZ8zGGON18sRgsYj0Afo4X57f2HPjxo1s5H1GejKsnBROFskxn7I2ewdva7Mn23v1pVa4MxEcAjIerpd2Lstsm4Mi4geE4hg0/htVHQuMBRCRlarqVTcFWJu9g7U5/8ut7XXntZUrgEoiUk5ECgDdgKkXbTMVuM/5vAswN6vxAWOMMdnPbWcEzj7/x4DZOC4fnaCqm0RkILBSVacC44EvRGQncAJHsjDGGJOD3DpGoKozgBkXLXs1w/NE4I4r3O3YbAgtr7E2ewdrc/6XK9sr1hNjjDHezeovGGOMl8u1iUBE2onINhHZKSIvZrI+QES+da5fJiJRHggzW7nQ5qdFZLOIrBeR30XkkpeD5RWXa3OG7W4XERWRXHfFxZVwpb0icqfz97xJRL7O6Rizmwt/12VFZJ6IrHH+bbf3RJzZSUQmiMgxEdl4ifUiIiOcP5P1IuLZO2FVNdc9cAwu7wLKAwWAdUDVi7Z5BBjjfN4N+NbTcedAm28ECjqfP+wNbXZuFwIsAJYC9Twdt5t/x5WANUAR5+tino47B9o8FnjY+bwqsNfTcWdDu5sCdYCNl1jfHpgJCHADsMyT8ebWM4IL5SlUNQlIL0+RUSfgM+fzH4CWkrenHrtsm1V1nqrGO18uxXFvRl7myu8Z4E0cdagSczI4N3ClvQ8Co1T1JICqHsvhGLObK21WoLDzeShwOAfjcwtVXYDjSshL6QR8rg5LgTAR8dj8ubk1EWRWniLyUtuoagqQXp4ir3KlzRk9gOOIIi+7bJudp8xlVHV6TgbmJq78jisDlUVksYgsdVbwzctcafPrwN0ichDHVYaP50xoHnWl/9/dKk+UmDB/JyJ3A/WAZp6OxZ1ExAf4AOjp4VBykh+O7qHmOM74FohIDVU95cmg3Kw7MElVh4pIAxz3FlVX1TRPB+YtcusZwZWUpyCr8hR5iCttRkRaAS8DHVX1fA7F5i6Xa3MIUB2YLyJ7cfSlTs3DA8au/I4PAlNVNVlV9wDbcSSGvMqVNj8AfAegqn8CgThq8uRnLv1/zym5NRF4Y3mKy7ZZRGoDn+BIAnm97xgu02ZVPa2q4aoapapROMZFOqrqSs+E+5+58nc9BcfZACISjqOraHcOxpjdXGnzfqAlgIhciyMRxORolDlvKnCv8+qhG4DTqnrEU8Hkyq4h9cLyFC62+T0gGPjeOS6+X1U7eizo/8jFNucbLrZ3NtBGRDYDqcBzqppnz3RdbPMzwKci8hSOgeOeefygDhGZjCOhhzvHPl4D/AFUdQyOsZD2wE4gHujlmUgd7M5iY4zxcrm1a8gYY0wOsURgjDFezhKBMcZ4OUsExhjj5SwRGGOMl7NEYHKUiKSKyNoMj6gstj2bTZ/pJyIxIjL4ouXzc+LmtAxt3igi34tIwSt4b08RGXmFn5fpz01EBjpvSPxb20VkhoiEOR+PXMlnmfzBEoHJaQmqGp3hsTcHPrM1jjt07/gvhQlFxPdfvjW9zdWBJOChi/abI/fzqOqrqjonk+XtnSUswnBU9TVexhKB8SgRCXbOrbBaRDaIyD+qj4pISRFZkOGouolzeRsR+dP53u9FJPgSH9MdGI7jDtYGl4hjtIisdM4B8EaG5XtFZIiIrMaRSPaKyDvOWFaKSB0RmS0iu0Tkocz2fZGFQEURaS4iC0VkKrBZRAJFZKLzZ7BGRG7M8J4yziP4HSLyWobYpojIKmfMfS5qz4fO5b+LSIRz2SQR6ZJJ2/c672IeDFRwtu09EflcRDpn2O6rzH4/Jh/wZA1se3jfA8fdsmudj59x3N1e2LkuHMedluk3Op51/vsM8LLzuS+OGkThOOYoKORc/gLwaiafF4ijrHEQ0Af4KMO6+TjnNwCuyrD/+UBN5+u9wPMZ3rOX/6+d/yGw3hlPBPDXJdqc3g4/4Bccc0k0B84B5TK0cYLz+TU4klYgjoJ7R3BU1g0CNmYSc/ryos7XCtzlfP4qMNL5fBLQJZO273X+PKPIUD8fR1HDKc7nocAewM/Tf0P2yP6HnRGYnJaxa+hWHBNzvC0i64E5OErxFr/oPSuAXiLyOlBDVc/gKEBXFVgsImtx1J3KbMa2m4F5qpoA/Ah0vkQXz53Oo/41QDXnvtN9e9G26aUvNuCYUOSMqsYA50UkLJN9BzljXInjC368c/lydRSWA2gMfAmgqluBfTjqDAH8pqqxzjb85NwW4AkRWYejBlMZ/r84XVqGmL/MsP0VUdU/cNQJisBxVvWjOkq+m3wmV9YaMl7lLhxH03VVNVkcVUYDM26gqgtEpCnQAZgkIh8AJ3F8QXa/zP67A42d+wXHkXUL4Lf0DUSkHPAscJ2qnhSRSRfFcO6ifaZXfU3L8Dz9dWb/pxJUNTrjAudQxcX7vZSL68CoiDQHWgENVDVeROZfFHNW778SnwN346jl5dF6OMZ97IzAeFoocMyZBG4kk6N6cczN/JeqfgqMwzEF4FKgkYhUdG5TSEQqX/S+wkAToKz+fwXTR3Ekh4wK4/hSPi0ixYGbsrOBLlqIIynibEdZYJtzXWsRuUpEgoDOwGIcP7eTziRwDY4zpHQ+OCryAvQAFrkYwxkc3VwZTQKeBFDVza43x+QldkZgPO0r4H8isgFH18nWTLZpDjwnIsnAWeBeVY0RkZ7AZBEJcG43AMfVQeluxVGePONR+y/Auxneg6quE5E1zs8+gOOLNqd9DIx2/hxScFTgPO88c1iOo1urNPClqq50bveQiGzBkTCWZtjXOeB6ERkAHAO6uhKAqsaKY2a0jcBMVX1OVf9yfsaU7GmmyY2s+qgx5pKc9zxsAOqo6mlPx2Pcw7qGjDGZct58tgXHlVaWBPIxOyMwxhgvZ2cExhjj5SwRGGOMl7NEYIwxXs4SgTHGeDlLBMYY4+UsERhjjJf7PzJcJi8Y9IYLAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "radar.receive_beamformer.probe_focus_points = np.array([[.5*pi, .5*pi]])\n", "result = simulation.run()\n", "_ = result.plot()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.9.10 ('hermes')", "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.11.1" }, "vscode": { "interpreter": { "hash": "15324ae639e283979e39f32b76ef84dde816ef5cb4e81fc04e688fd3d2128060" } } }, "nbformat": 4, "nbformat_minor": 5 }