{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Transmission and Resonant Modes of a Waveguide Cavity" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Transmission Spectrum\n", "\n", "To calculate the transmission spectrum, much as in the bend example in Tutorial/Basics, we'll measure the flux spectrum at one end of the waveguide from a source at the other end, normalized by the flux from a case with no holes in the waveguide. First, we'll load the necessary modules." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using MPI version 3.1, 1 processes\n" ] } ], "source": [ "import meep as mp\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "from IPython.display import Video\n", "\n", "%matplotlib notebook" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we'll define some parameters of our structure. All lengths are in units of microns ($\\mu$m). The periodicity of the photonic crystal is 1 $\\mu$m." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "resolution = 20 # pixels/um\n", "\n", "eps = 13 # dielectric constant of waveguide\n", "w = 1.2 # width of waveguide\n", "r = 0.36 # radius of holes\n", "d = 1.4 # defect spacing (ordinary spacing = 1)\n", "N = 3 # number of holes on either side of defect\n", "\n", "sy = 6 # size of cell in y direction (perpendicular to wvg.)\n", "pad = 2 # padding between last hole and PML edge\n", "dpml = 1 # PML thickness" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given these parameters, the size of the cell in the X direction, which we'll denote `sx`, is given by:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "sx = 2 * (pad + dpml + N) + d - 1 # size of cell in x direction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, the computational cell is:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "cell = mp.Vector3(sx, sy, 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `geometry` will consist of a single `Block` for the waveguide, and `2N` cylindrical holes:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "blk = mp.Block(size=mp.Vector3(mp.inf, w, mp.inf), material=mp.Medium(epsilon=eps))\n", "geometry = [blk]\n", "\n", "for i in range(N):\n", " geometry.append(mp.Cylinder(r, center=mp.Vector3(d / 2 + i)))\n", " geometry.append(mp.Cylinder(r, center=mp.Vector3(-(d / 2 + i))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To create the holes, we have used a `for` loop. Note that the `geometry` objects are combined using the `append` function. As usual, later objects in `geometry` take precedence over earlier objects, so the `Cylinder` objects will punch holes through the `Block`.\n", "\n", "The absorbing boundaries surrounding the computational cell are:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "pml_layers = [mp.PML(1.0)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we'll define a couple of parameters to determine the frequency range to investigate. We already know from our previous calculations that this structure has a $H_z$-polarized band gap for frequencies in the range 0.2 to 0.3, so we'll want to cover this interval." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "fcen = 0.25 # pulse center frequency\n", "df = 0.2 # pulse frequency width" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The source will now be the usual Gaussian pulse centered at `fcen`, located at one edge of the cell just outside the PML, at `x = - 0.5 * sx + dpml`. Ideally, we would excite exactly the fundamental mode of the waveguide, but it is good enough to just excite it with a line source. Moreover, since we are interested in the $P$ polarization (electric field in the plane), we will excite it with a $J_y$ current source (transverse to the propagation direction), which is specified as $E_y$:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "src = [\n", " mp.Source(\n", " mp.GaussianSource(fcen, fwidth=df),\n", " component=mp.Ey,\n", " center=mp.Vector3(-0.5 * sx + dpml),\n", " size=mp.Vector3(0, w),\n", " )\n", "]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The structure has mirror symmetry planes through the $X$ and $Y$ axes. The source breaks the mirror symmetry through the $Y$ axis, but we still have odd mirror symmetry through the $Z$ axis:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "sym = [mp.Mirror(mp.Y, phase=-1)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we specify the plane by its normal, the $Y$ direction. See also Exploiting Symmetry. Putting all these objects together via the `Simulation` object:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "sim = mp.Simulation(\n", " cell_size=cell,\n", " geometry=geometry,\n", " boundary_layers=pml_layers,\n", " sources=src,\n", " symmetries=sym,\n", " resolution=resolution,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to compute the flux spectrum at the other end of the computational cell, after the holes but before the PML:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "freg = mp.FluxRegion(\n", " center=mp.Vector3(0.5 * sx - dpml - 0.5), size=mp.Vector3(0, 2 * w)\n", ")\n", "\n", "nfreq = 500 # number of frequencies at which to compute flux\n", "\n", "# transmitted flux\n", "trans = sim.add_flux(fcen, df, nfreq, freg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can visualize the simulation domain to ensure that everything was coded correctly." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n" ] }, { "data": { "image/png": "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PJFFiI3YqWMRERER0ejYLU9kEWITdutYRERERDQadswTWYTYgB07FhERERENn13zRBYhmrNrxyIiIiKi4bJznsgiRGN27lhERERENDx2zxNZhGjK7h2LiIiIiIbDCXkiixANOaFjEREREdHgOSVPZBGiGad0LCIiIiIaLCfliSxCNOKkjkVEREREg+O0PJFFiCac1rGIiIiIaDCcmCeyCNGAEzsWEREREfXPqXkiixCLObVjEREREVF/nJwnsgixkJM7FhEREREdntPzRBYhFnF6xyIiIiKiwxmHPJFFiAWc0rGWCktWN4GIiIjIUZySJ+6FRciIOaVjLeYX8e4X37W6GURERESO4ZQ8cT9YhIyQUzqWjGMht2B1U4iIiIgcwSl54n6xCBmRpcKSIzpW+w4yG5+1ujlEREREtjduBQjAImRk3v3iu7bvWN07yHufes/qJhERERHZ2jgWIADgtroB42Iht2DrjmW2gyQCCaubRURERGRb41qAALwSMjKz8Vnbdqxx3kGIiIiIhmHc8ysWISPy3qfes2XHGvcdhIiIiGjQmF+xCBmZ49HjVjfhwLiDEBEREQ0W86tXWISQKe4gRERERIPllPxqEDesZhFCOzhlByEiIiLShVPyq0HdsJpFCHVwyg5CREREpAun5FeDvGE1ixBSnLKDEBEREemCN6w2xyKEALAAISIiIhoG3rDaHG9WSCxAiIiIiIaEN6w2xyshY44FCBEREdHw8IbV5liEjDEWIERERETDxRtWm+NwrDHFAoSIiIjGQasFZLOdj01NAa4RnYrnDavNsQgZQyxAiIiIaFxks0A63fnY2hqQSlnTHt2NKk/kcKwxwwKEiIiIiMyMMk9kETJGWIAQERERkZlR54ksQsYECxAiIiIiMmNFnsgiZAywACEiIiIiM1bliWM9MV0I8TEAnwDwra//HAMAwzCEle0aJBYgRERERGTGyjxxrIsQAD8H4K9Y3YhhYQFCRERERGaszhPHvQj5MwC3AHz99Z8FAD4rGzQoVncsIiIiItKTDnniWBchhmH8s/Z/C+GMUVg6dCwiIiIi0o8ueSInpjuMLh2LiIiIiPSiU57IIsRBdOpYRERERKQP3fJEFiEOoVvHIiIiIiI96JgnjvWckEESQtzp8V9nhv3aOnYsIiIiIrKernkir4TYnK4di4iIiIispXOeyCshA2IYxmWzx19fIZkbxmvq3LGIiIiIyDq654m8EmJTuncsIiIiIrKGHfJEFiE2ZIeORURERESjZ5c8kUWIzdilYxERERHRaNkpT2QRYiN26lhERERENDp2yxPHemK6EOK/B/BzbQ95Xz/+522P/WPDMP7TSBtmwm4di4iIiIhGw4554lgXIQBSAD5u8vjHu37HUnbsWEREREQ0fHbNE8e6CDEM4/MAPm9xM3Zl145FRERERMNl5zyRc0I0ZueORURERETDY/c8kUWIpuzesYiIiIhoOJyQJ7II0ZATOhYRERERDZ5T8kQWIZpxSsciIiIiosFyUp7IIkQjTupYRERERDQ4TssTWYRowmkdi4iIiIgGw4l5IosQDTixYxERERFR/5yaJ471fUJGqdVqodVq7Xh8Mb+I7/z171Qd6w8/84c4Fjlm+ru6aW9jr/iIiIiIrPQqPXF1PdbCMNOWQeVIuuaJg3h9XgmxkFnHckJlS0RERET9cXqeyCshI+JyueByfVTzdXcsO15aa4+nOz4iIiIiHZilJ6/ylmG+Zn85ku554iByPmaNFnDK2L6lwpLVTSAiIiJyFKfkiXthETJiTulYi5vP8CO/+AkkS0CyBGB9HUMdXElERETkcE7JE/eDw7FG5MPbH6JQK+Bv/unfxFJpCcdDx/Gvv/VfY/PZJjaxaXXzDmSlvILPvvdjuPkPlz968H89hTtf/SqaiYR1DSMiIiLqsrExAeByx2N37txBItEc2muWG2X19w9vf4igO7jnc1bKK7bJE2V81Wr10NtgETIi//4P/j0+X/88NowNJEQCn258Gjf+6IbVzTqwnJHDL9V+Ca7yxo7/+8pXvoJKOGxBq4iIiIjMFYsBdBchX/nKVxAOV4b2mjWjpv7+5f/yZXiFd9ffl/mVXfJEGV+xWDz0NliEjMjn8p/DdmAb/oofF29dxF9s/4XVTTqwqq+KD659gGqgiuNVH4Dtjv9///33kffuvpMRERERjVKtFgPwdzsee//99+H15of2mk1XE/hLr/7+la98BROtiZ6/255f2SVPbLpeXUUqlUqH3gaLkBHZDmxjIj+ByO9G8KT0xOrmHFgz1MTG922gGWhiIj+B8JfC6C5CHj58iCxXyCIiIiKNtFpTOx57+PAhXK7s8F7T3VJFyL379+BqmOdH3fmVXfLElvvVPODt7e09frM3FiGjsgmIXxfIbeWsbsmBGREDjb/aAGJQceQLO88ebGxsICvE6BtIRERE1INh7MxNNjY2IMTwihDDY3S+Vn1nG8zyK7vkiYbHAEJAo9E49DZYhIzKrwONjcN/UJaJAvg0gEkAGwA+DzQKDdRNfrXeMH+ciIiIyDo7s5NGo276+DA06o2dL9UjvxonHDszKltWN+AQogB+DEACagdBwcL2EBEREdkd8ysALEKoF+4gRERERIPllPwq0v8mWITQTk7ZQYiIiIh04ZT8Sg4l6xPnhFAnp+wgNDJCCAgh4Hq9Mlqr1YJhGDAMY49njmZ7/epuDwA0m82+2uNyuXbEB8CSGM3ia7VaaLVah95me3xye1Z+hsPi9PdOvF5opHt/7Cc+IQQmJj5aqtTqvuH04xdpxCn5VXscfWIRQh9xyg5CIyW/XGVi0u8X7qC316/u9rQ/1s822+MbxDb7aQswvPjkv52YhDn9vTMMA0II0/7aD13ik68POPf4RZqI4NWVA7vnV915Yp9YhNArLECoD72+aN1uNyYmJtRPeZaw/TnNZhPNZhONRkMt9afbF3ev9ggh4PF4VIwul0vFB3x01rjRaKDZbKJer++6Pavs1p7u+NrP0svktD0+uS2d4humcegb7T/bOaVv7Hb8kscus+NX+2dYr9dZeFBvTixAvgCg9/0X94VFCLEAoQOTZ0d34/P5EI1GEYvFEIlEEAqF4PV64fF4AAD1eh21Wg2lUgnFYhH5fB75fH7PGx/t57X71Z5o9OJyuRCNRhGPxxGNRhEMBhEIBODxeCCEQKvVQq1WQ7lcxtbWFvL5PAqFwp53l9UlPgCIRCLq84tEIggEAvB6vXC5XDAMA/V6HZVKBaVSSX1++fzudyDe72vraj/tF0IgFoshFoshGo0iFAqZ9o1KpYKtrS0UCgXk83kUi8U9X3sU79t+XicUCnXs38Fg0LRvlMtlFAoF5HI5FAqFXYdyjapv7Pf4JT/DcDi86/FL7t/5fB61Wq3v1yYHsnt+ZZYnVgDE+9ssi5BxxwKEDmE/yevU1BRmZmYwMzODVCqFeDyuvsgBqC/wXC6H9fV1rKysYGVlBdlsFltbvde0HsUX+F6v4ff7MTU1hVQqhSNHjiCdTiORSCAcDsPv90MIgUajgUqlglwuh42NDayurmJlZQVra2vI5XI9kzEd4nO73ZicnEQymVSf4dTUlEo2JyYm0Gw2sb29ja2tLRWf/LO5udmzmLR7Araf5HVychLT09OYmZlRfSMSicDn86n3Than2WxW9f1MJoPNzc2eN/8a1Xu3V/Edj8eRTqcxMzOD6elpJJNJRKNRBAIBuN1uNJtN1Go1bG1tYXNzE2tra1heXlZ9o1qtHvh1B2mv14lGo5iamsL09DSOHDmCZDJpevwqFovq+CX3bx2OX6QhO+dXvfJET/+bZhEyzliA0AB4vV4Eg0GEw2GEw2HEYjHE43Ekk0mk02lMT09jamoKsVgMoVCo40yiPIOezWaxurqKtbU1ZDIZ5HI5dWa4WCyiXC7veYZxWNxuNwKBgDrzK2OU8aXTaVVkhcNh+Hw+uFwuVYQUCgVsbGxgbW0Nq6urKtHM5/PqLHi5XO6ZmA2bEAJ+v199ftFoFNFoFIlEAqlUCtPT00ilUiqRDgQCmJiYQKvVQrVaRbFYxMbGBjKZTEcRksvlUCwWsbW1hWKxiEql0teEZh25XC4Eg0GEQiF1tSgWiyGRSKi+n0wmOwpUl8uFZrOproK0F3DZbBYbGxvqyoi8SlitVi1LXs36RnuB2l5kySKk1Wphe3u7I0lfWVnB+vo6stms6vuyb1Sr1b7uutyP9uNXJBJR8U1NTXV8hrFYDMFg0PT4lclksLa2hpWVFWxsbGh1/CJNfAH2zK+GnCeyCBlXLEDoAHoNIfB4PEilUjhx4gTOnj2L48ePI5lMqoQsGo2qoVhyKI9cGUeeLZXDeWRSUigUsLW1hUwmg6WlJczPz+P58+dYW1tT4+b307aDxgeYn6WMRqM4ceIETp8+jZMnT2J6eloN0ZBJmYzP5/PB7XarITf1eh3ValWd9W6Pb3NzE8vLy3jy5AkeP36M5eVlVCqVocS323bC4TCOHj2K06dPY3Z2FkePHlUFlYwvHA4jGAzC7/erIUWGYaDRaGB7exvlclkVHDK+fD6P1dVVLCws4PHjx1haWkIulzvQe6+DvfrGG2+8gTNnzmB2dhbpdFoNT2rvG8FgcEffaDQaqm8Ui0UUCgX13uVyOSwvL+Pp06d48uQJXr58aTpUa9h9IxQK4ciRIzh9+jROnTql+kZ7fN19Qw7Hkn2jUqmY9o21tTUsLCzg6dOnePbsGTY3Nw/03g8iPq/Xi1QqhdnZWZw5cwbHjh1TV3W6j19+v3/P45eMr1AoIJvNYnFxEY8fP8bCwgIymcyO45fufZ8GiDesNsUiZByxAKEDMvuS9Pl8SKVSOHv2LN58801cv34d586dQyqVUuPD2yesdk/MlduVkztlYibnUWQyGTx8+BCJREJdXVhbW9sxzGcQX+Bm23C5XJiamsLJkydx5coVvP3225ibm8PRo0cRDofV+PCJiQkVW/vE3Pb42ifpysJkc3MTCwsLuHnzJvx+PyYmJrC8vLwj2RxUgtIriT569Cjm5uZw/fp1vPnmmzhx4gRisRh8Pp9Kuto/v/bPUE7AlZ+fnIBcq9VQKBTw4sUL3L59G+FwWE3s7U42dU/Aek06j8fjqm9cv34dV65cwdGjRxGNRlXBcZD3TvaN7e1t5PN5PHv2DLdu3UIgEIDL5cLLly9RKHQeqIfZN2RxevHiRdU3ZmdnEY/HVcHRvn/3ik/G2N43tra28PLlS9y9exfRaBQulwsTExPIZrMdbRlmfD6fD+l02vT4JU+YtC+oYXb8at+3u49f6+vr6vgl96P19fWO45fufZ/G2IjyRBYh44YFCPXJ4/EgFovhyJEjOHXqFC5duoRr165hbm4OJ0+exOTk5EBeRyYDHo8HgUAA0WgUT58+xcrKyr4mgB6Wy+VCJBJRV3guXLiAa9eu4cqVKzh79ixSqVTHfQ4Oa3p6GpFIBB6PBz6fD+FwGI8fP8aLFy+QzWaHOjwrFAohkUjg+PHjOHfuHK5cuYJr167h/PnzOHLkCPx+f9+vUa/XEY/HVTETDAYRj8fx7NkzZLNZFItF2yVhQgiEw2Ekk0mcPHkS58+fx9WrV3HlyhWcO3cO6XRaDdfpR7VaRSQSgdfrhdfrRTgcxqNHj/DixQtkMhnTK2aDIuc7HTt2DGfOnMHVq1dx9epVXLx4EUePHkUwGOz7NRqNBiYnJ1UxEwwGEYvFsLi4iPX1dWxtbQ1t6J7X6931+BWP9znT9rVkMolgMAi32w2/37/j+GV2VZdICyPME1mEjBMWINQnj8eDdDqNU6dO4eLFi7h8+TIuXLiAkydPIp1OIxwOD+y1QqEQjh8/Dq/Xqyb6ptNp3L9/HwsLC1hdXR3KF7lMzi9cuIDLly/j0qVLOHXqFI4cOYJYLDaQAgQAAoEA0um0WmVLjj+/d++eGp6110pahxGJRHDs2DGcPXsWc3NzmJubw5kzZ3D8+HFMTU0NpAABXvWVRCKBs2fPIhgMqjkEt2/fxuPHj/H8+XPT4Vk6i8fjeOONN3D27FlcuXIFly5dwunTp3H06FFMTk4OpAABXhUCqVRKFT1yEvjdu3cxPz+Ply9f7jr5+bBCoRCOHj2KM2fO4NKlS7h8+TLOnj2LN954A1NTUwgEAgN5HbfbjXg8jtOnTyMQCKi+cefOHTx8+BDPnz/HxsYAbkLQxev17jh+nT9/fijHr3A4jOPHj8PtdiORSKgFOh48eICFhYWew0uJLDXiPJFFyLhgAUIHZDaOOhaL4dSpU3jrrbdw/fp1XL58GSdPnkQ0Gh2FUYMAACAASURBVIXb7VZjweUQhsOQ9w4xDEMtfZtIJDA1NYVoNKqS5Gq1ikwms2ebDxJjKBTCsWPHcPXqVVy/fh3Xrl3DmTNnMDU1Ba/Xq1a96r4nwkE1m020Wi0EAgEcO3ZMTYSNx+Nq+I2c+DrI+NxuN1KpFC5cuIDr16/jrbfewoULFzAzM6MmTdfrdTWM6LDk8Bv5enK1ocnJSTV5Xw5La7/io9Pypd1t8fv9auja22+/jWvXruHcuXNIJpPw+XwQQgz0vfP5fDhy5Aji8bjqG3JlMrmyXPvVgn77hhACyWQSZ8+exdtvv43r16/jwoUL6uqHXGxBDp3qJ75Wq4WJiQm14lp73/B6vWi1WqhUKh1XfPqNDzA/fp04cUIdv+R7bzb0ar/Mjl9TU1NIJBJqBTEAqFQqOwotnfo/jSEL8kQWIeOABQgdQveXodfrxczMDM6fP68S9NnZWSQSCZV0yRVuWq1Wx5f4Xl/oZuPAXS4X3G43vF4v/H6/Gn8OvCpA5Ao7/Yyx7v79qakpnD59Gm+++SbeeustNcRGLsspk4vuoSL7SVjab/pmGK/uRC0nKsv4ZPHWaDTUvRX2uu/GQUSjUZw8eRJXr17F22+/rYbYhEIhAOiYnyPb2E98MiHvnl/SbDbVyknLy8s7tqGDvfrG+fPnMT09rYriYb13csiS/Hej0VCT180mcx9WLBbDiRMnVN+4dOkSjh8/jkgkotom+3+z2TxUfMBHdxKXNwDs7hutVkst3f38+XPTbexH9+/Lok7Ocbl27RpOnjy54/gl9+9BHr/a5wgZhoFyuaxWj2sfVqpT/6cxY1GeyCLE6ViA0ADIYVinT5/GlStXcPnyZczOziIWi3Wc9ZVfsmZf2r2+yLt/X54NbH/M5XIhFothdnYWzWYThUIBa2tr2NzcHMiwLDnR+MSJE5ibm8PVq1fVWe72ITZy5R+zeHZLVLqTUrNtyKswhmGgVCqp5Uy3t7fV1YJ+ErFwOIxjx47hwoULuHLlCi5cuIAjR450DLFp/ywHEV/79uRQGODVPRbksqbyXio6k8OwLl68iCtXruD8+fMdxSkw3PcuEAjgyJEjAKAmPa+vr6srInI7B9H++4FAADMzMx3DzI4dO9Yx/6N94YXDxtceV3ffSKVSAF71DbmktSy2+k3O24eRXr58WV3B3e/x6yDxmR2/JiYmEI/HO45f6+vryOVyHJZF1rMwT2QR4mQsQGgAvF4vpqam1DjxCxcu4MSJE+oMYqPR6Fg95qDDGHYrWNpXl5JzDBqNhrq3QqFQgGEYKiE7DCEEJicncfLkSVy6dAkXL17EqVOnVJLZbDbV7x12mMZuSU378JRoNIpjx46p5W03NjZQq9V6Lt+7X5FIBEePHsWFCxdw6dIlnD17Vq3yJVf1aV/FbBjxyXtqzMzMoFwuq3umyAJL10JEroJ18eJFXLp0CWfOnFFXQEb53skrEmfPnlXvXb1ex4sXL/a80/pu5DK8Fy5cwNzcHM6dO4djx44hGo2q4ZXDjE8WGH6/H+l0GpVKRd38TxZY/RQissCRc6DkHDYrj1+ZTAYrKyvqDvJmy/cSjYTFeSKLEKdiAUKHYLZufSAQwOzsLN566y1cu3ZNLeHa66zoMNslJ3HLIUWVSkXdFK29CNlt/f3ucdcejwdHjhzB1atX8dZbb+Hs2bNqDoj8/e7hGYPSPvxGbl9ODr506RJKpRLq9fqO8fFmcez2eCKRUMNQLl26hJmZGXWWe1T3KpCvIyddnz9/HltbW6jVaqhWqyoh2y2OYet+TZfLhenpaczNzanheclkcmCT9/fSfVVEFnGXLl3C1taWuiFmdxFykL4Rj8dx7tw5XL9+XS1B3d435HN6XeEcRIwyPp/Pp+alyBWk5P7dnqTvFp/cphQMBjE7O4s333wTV69eVXPYrDh+yRMNs7OzyOVyqFar6mpWd3zdcRANnAZ5IosQJ9KgY5E9mX35hcNhnD59Gm+99Rbm5uYwMzPTMTF1mF/mZvfecLvdSKfTuHz5Mur1OrLZLJ4/f75j7oRZotKeVElerxfHjx/HtWvXVJEVCARU0tXPJNXDxAe8SgzPnz+PZrOJfD6PxcXFjrkTveLr9XgqlVL3Ajlz5ow6yy1/f1ArfpmR25fvYavVUolhs9lEuVzG8vIynj171jG/Z9SJWK++cfToUVWgnjx5EsFgUF2dGGbfAGDaN2KxGM6cOYNGo4FisYjFxcWOuRMylsMUqOfOnUMsFjNtw7D27/a+YRgG/H4/Tpw4gWaziWq1ipWVFTx//nxfSbpZfOFwGGfOnFET0dPptOXHr5mZGVy5cgX1eh2ZTAYLCwsd94BhEUJDp0meyCLEaTTpWOQccqnJs2fPYnZ2FqFQaCCrYO1X+xeyHBoVi8XgdrtRKpVw//59NVSl+zn74ff7MT09jbNnz6qVsIQQapWcYSeaZkM35PLEjUYDCwsLfd17xePxYGpqCqdOncK5c+dw5MgReDyejgnCo4gP+Gjlp/b5Iaurq0in0/D5fDtuRGk1eUO7M2fO4MyZM0ilUmpiPYCR9Q2gc0W1o0ePotVqYXFxEclkEm63Wy0KcVCJREL1jWPHjsHr9ap9bdR9o9VqwePxqOWJ19fXMTMzA5/Pt+/lqrsLEbkk9blz53DixImOIYhWHL+EEGqp72KxiPv37yMajWJlZWWo7SBSNMoTD7+OIOlHo45F9iSHXbSTy6umUinE43G1Uo/8/VG2DXiVNHs8HsTjcSSTSbV0b/fv9mqb2ZlSuQSwvLuxXG541Gci21fNkvfWkMuzdg8B2m/b5E0C5bYCgYBalWvUMcrXkjdonJqaQjKZxOTkpOlN8KxoW7tgMIjJyUn13vl8PrVQwajb1t43AoGAeu/k0r373U67QCCAWCyGZDLZcXM9q/qGYRhqRan2vtF9kqFX23odv5LJpDp+ta+yZ+XxS/arRCKx4/4kVhx7aExolieyCHEKzToW2VP3l184HEY8Hlfr3UvDPgNsRg6XaR/eEAwGEY1GEY/HOxKV/SYp8qZp0WhU3b9CvpZVMXavihSJRBCLxXbcyblXktK9fHA8HkcsFkM4HO4oZA47Ebcf3fH5/X6EQiHT+IZ1x+zddM9JaX/vZN8ArOv/3X0jHA4f6L0zmw8Sj8d79o1R6t7nfD5fR3xu90cDN3Y7wdD+f+3HhvZV4OQVEKs/w/bjV3shwiKEhkLDPHHsixAhREAI8Y+EEA+FEFUhxEshxK8IIY5Z3bZ907Bjkf15vV51hjQSiXQsRyq/wK0qRNrbKG92Js9U75fL5UIikVBnSLuvNIw6Nvma7a/rdrsRCoXUlahed3Tu1dZoNIpUKoVEIqGugOznecPU/poulwuBQACTk5NIp9NIJBKWtKmbXDEtnU6rvrHbEryjaE9335iYmFA38kwmkzuuBrY/10w4HFZ9IxQKdfQNK/Zt+brt/H4/4vE4UqkUJicnD7Q6l8/n63hvzI5fo2T2GcrjVyqV6lgMg2jgNM0TD12ECCH+NyHE/q4Ba0oI4QfwhwB+DkAYwO8AWATwNwDcEEKctrB5+6NpxyJ7k/flmJ6exvT0tLqjsG7cbjcikQimp6cxMzPTseqN1CvhkEnYzMwMJicnD1TAjIrL5UI4HEYymcSRI0cO1E6/349EIoGZmRkkk0mEQiFLE+le2tuZSqXUjROtFAqFkE6nMTMzg0QiMbLVsA7C5XIhFAqpvnGQdsoE/ciRI+o9N1ucwOo+4vP5MDk5iZmZGaTTadMi3Gz/drvdiMVi6nk6H7+6j7OHWQaZaFca54n99Pa/B+BDIcR3D6oxFvgHAL4NwJ8BOG8Yxl81DOPjAH4aQArAr1jZuD1p3LHI3jwez44v8WGuoHRYcslL+SUei8U6bi4I9C5C2hPNycnJHWchrRiqZPZYMBhUxVIikdhRhPRqp9/vVwmqnAuyn9ccJrO2yoRYFiFm8xtGNTlaCoVCSKVSKrnf73s+aoFAAMlkEtPT0z2LkL3eczkXxGpm7fR6vaoI2a1v7FaETE9PIxKJaHn8crvd6vglT6LoWCyRjWmeJ/ZThPwmgFMA/kAI8atCiMMv32IBIYQXwN9+/c+fMgxDLbRuGMa/AHALwHcIIT5mRfv2pHnHInvp/hKXZ+Dl5NDus+hmzxmF7tcUQuwYrmR2JtGs7e3P0+XL3yyhklcK5CRksyEbZmP4/X6/mvwqr6DoNs5c3sQtFot1DBuzWiAQUEP1ZGFr9Xtntr/JKwWyCDErlsz2B6/Xi3g8robAmQ1F1KHIkkm67BvBYND0WNVtYmJCXemURZbZscOKIrxd+9WsqakpRCIRLY6z5BA2yBMPXYQYhvEjAD4J4AWAHwVwVwjxQ4Nq2Ah8O4AYgMeGYdww+f//8PrnJ0fXpH2yQcci+zD7kpuYmEAgEFATcwOBgOmXvdVXCuScAjnBtntsu/wdswTE7/erSaFmz9OFHDc+OTmJcDhs2k6z98bj8aiVvyKRiOkVIqvJ1ZDkCl7RaFSLYXE+n0/LvtH+mckCLhKJqInN3Z9x93Mkt9utFp3onu+lC9k3QqGQOg6Z9Q2zQmtiYqLjeb2OX6PU60qn3+9Xk+8DgYCWw+LIhmySJ/a1VxqG8Z8AXALwObwavvQbQojfscmk7jdf//ygx//Lx6+NoC37Z5OORfbmcrng9/sRDocRDAbh9Xq1/CIUQsDr9SIQCCAUCh2onTLBCYVCauKx1We7zXg8HgSDQbVCU3eS0iveiYkJtfqU2aR0XcgiJBwOW5KE9UrSZZv8fj8mJia06xtCCHg8HrVK1m6fsdlwpfb9W9e+IfuwbKfP59tXX5DHhVAopPXxy+VywefzdfQ1q4slcgAb5Yl9H3kMwygB+DtCiC8C+GW8unLwHUKIXwTQ8+5ChmH8o35fu08nXv9c6vH/8vGT+9mYEOJOj/86c5BG7cpGHYvsRXTd4Eu8vh+Bx+OB1+sdyU29DkOIV3dclvf28Hg8+2qny+WC2+1W9ySQ90Yw277VXC6X+hw8Hs++r0i5XC54vV4Vny7JjdlVqfbPQYeEWN7LQf7RcYiMYRiqH8u+sd8+LPuUx+OB2+3WYr5E9zFIPiY/i4MUErJAk++LDvH1Io9fsp+Z7R+6FcCkMZvliQM72huG8edCiOsA/hjAtwL4mR6/KgAYAKwuQuQyG+Ue/y8LqEiP/x8tm3UsIis49cvaqXER7Rf3AaI92DBPHFgR8no52/8bwLcAaAL4bexyJcRpDMO4bPb46yskc31t3IYdi+yl+wveMAw0Gg3U63XUajU0m00tkwDDMNBsNlGr1VCv19FoNPbVzlar1RFfr+fJu1RbSbZVxmh2IzqztrdaLdRqNRWfFTf/M9P9nhqG0fE5NBoNC1v3iuxTvd5z+X5b2TeEEDv6Rq8+3K3Vaqn3vF6vo9lsWt7Pe7W92Wxie3u7Z3y9ttUdn67a+1qr1TI9FhPtyaZ5Yt9FiHh15PppAL8AIAjgJoCfMAzjG/1ue8jkali91iaUi9VvjaAtvdm0Y5G9tVotVKtVFItFlMtl1Go1Lb8MDcNArVZDuVxGsVg8UDvr9TpKpRJKpRKq1aoWiZiZer2u4tve3t6RUPWKt9lsdnyGOiT3ZhqNBiqVyq7tHGbfM9u2bJPOfUMm2rJvVCqVnp9xd4yNRgPVahWlUkk9T8f9W/bhcrmMcrmM7e3tfbVTHhfk/q3r8avVamF7exvlcln1NV1OFpCN2DhP7GuQsBDiKoCvAfhnACYA/CyA/8oGBQgAPH/983iP/5ePPxtBW8zZuGORfZh9OTebTVQqFeRyOeRyOVQqlX2fgR+WXmd0K5UK8vk8CoUCSqXSjkSs19nF7e1tbG1tYXNzE6VSSduzpbVaDYVCAZubm9ja2kKtVtvxO2bvTb1eV/GZPU+HpEwIgUajgVKphFwuh0KhYBrfqG1vb6NQKCCXy6FYLGpTwHXP22r/jAuFAur1+q7PkRqNRsfztre3h9ruw+juG/l83rSdhmHsODY1m82O5/U6fo1Sr+NXtVrtOM6aHYd02FdJUzbPEw99JUQI8U8AfBaAB8CfAPhbhmE8HFTDRuDm659v9/h/+fitEbRlJ5t3LLKX7i+5VquFQqGATCaDbDaLUqlkOiRl1GeHzYbylEolZDIZrK+vo1gsmiYbZm0vlUrIZrNYX19HoVDQItE0G+ZTqVSwubmJTCaDfD5v2k6zQksmN+vr68jlctje3tbubL5MpPP5PNbX17GxsYFKpWJ1s1Aul5HNZrG2tqaSe6vfO7P9rVqtYnNzE2tra+oz7n6O2f5Qq9VU39jc3ES1Wt3xPB2GIjYajY6+US6XTY9VZs/b2trC+vr6rscvYLRD6rrf01arhWKxiPX1dWQyGRQKhZ7tJNrBAXliP1dC/mcAFQD/o2EY32GzAgQA/l8AeQBnhBBvmfz///D655dG16TXHNCxyN7kGdbV1VWsrq6iUChoeaWg2WyiUChgbW0NKysryOfzO84Gy4SqW6lUUs/b3Nw0vVJg9ZUewzBQLpexvr6O5eVlbGxsmCaaZs+tVqvIZDJYXl5GJpPZkWj2es1hMmvr9vY2NjY2sLKygvX1dZTLO9cKGfVwLPmer6ysHOg9H7VKpYJsNqv6Rq/PuNd7LvuGDoWfWTtlsbS8vIzV1dWefaP7ec1mE/l8HisrK1hdXcXW1pblV0LMNJtNVSzJdupwMoRswCF5Yj9FyJcAzBmG8YuDaswoGYZRA/B/vv7n54QQcg4IhBB/H6/uD/JHIx9a5pCORfbWarWQz+c7ihAdvxy7i6V8Pm96JtEsYZRnIGURouOQlFarhVKptGtCDJgn0tVqVSWaZmeDdUiigc52rq+vo1Syfj2T7vfcLLm3WqvVQrlcRiaTwcrKCrLZ7L4Lze3tbWxubqrCr9dwRKv7SHvfyGQyKBaLO37HbP9uNBooFApYWVlRV7N0PH7JKz3tx1kdiyXSjIPyxEMPxzIM468MsiEW+ScAvhvAfw3gkRDiT/DqviAfB7AO4MdH2hoHdSyyv1qthkwmo4YJtF8paP/iH/VwhvYhDfV6XQ0by2QyB5pP0Gq1sLGxoYYrmQ1JsWK4GYCO+EqlkmrnQRN0+d7IYU6NRkPdVduqBLP9ddvnHsmhQTowDKNjmJOcMCzvFzLqvmG2vzWbTZTLZWxsbCCTyWBr62BrqBSLRaytrWFjY2PHXCqrhmP1GlKYzWaRzWYPlKBvb28jm82q98bs+GXFZ9j+urVaTV0JOejxi8aUw/JEPe5eZRHDMKoA/lsA/xiv7hfy/XhVhHwewNuGYTwZWWMc1rHInoQQHV/MxWIRuVwOW1tbHUMhzOYgDJv8Am9PRMrlMra2ttQEYqk7jl6PNxoNNXlVrj4lX8uqGNvjq1arKr5cLtfxu70SqO4b6+XzefUZthda7UnRqHTHt729jWKxqNrYzoqbK7a/pmEYHX2j/b3ToW/IFcXy+Tzy+XzH7/Z677r7TK++YWV88nXl6l2yje2x73f/lvtO9/FLLjlu9WdYLpfVAgjtJxh6xUdjzoF5ovW3prWYYRgVAD//+o81HNixyJ7kF1/7l/PW1paawJ1OpxEOh2EYhundfUfRtmazqSZ0rq2tIZvN7jgLbBZH+/+1P14qldTE72w2i2QyqZKAUScC8t4P8h4HMr58Pr/jSs1+76RcLpeRz+fV1SK/36/uSm7VZyjvvSHbtLm5aTref5R3izZ7H8rlckffmJiYUAn+qN+39r7RaDTUe5fL5Uzfu17baX8/5cpyclvBYBBerxeANX1DrohlGIa6wiNXd9stjvbHgc79vj2+VCqFUCikzfFLTpzvHma22/GLxpRD88SxL0Is59CORc5RKBSwtLSER48eIRwO4/jx44hEIiqRHfawrPbtu91utXzq0tIS5ufnsbi4uCNJOchQi0qlgpWVFczPzyOZTMIwDExOTiIQCOxIBoYRY/u2JyYm1Mpdq6urmJ+fx9OnT/saplSv17G+vo6nT5/i+PHjcLlcSKfTCAaDmJiY2NGGQWvftkzg5YTqx48fY35+Hmtra1rOydne3lafQzqdBgAkEgkEAoGOoVnAaPoG8NF8lYcPH+LJkyfIZDJ9zXfY2NjAwsICHj58iImJCUxPTyMUClnSN4QQqFQq2NjYwNOnTzE/P4/V1dUD9Y3uxL1YLGJpaQkPHz5EMBjEsWPHEI1GLT1+5fN5dUxdWlpCocAvfdqFg/NEFiFWcnDHInvqtVLQ48ePkUgk4PF44Ha7EQx+dI9PObxgGGcW24cvyKSo2WxiZWUFt2/fxo0bN/D48eOeE1b381i9XseLFy9w69YtdZUgEAioGFutlpoPMIr4AGBzcxMPHz7EjRs38ODBA2Sz2X3F0uvxTCaDu3fvIhQKwe12w+/3IxQKqd+XN+Nrb8OgyBgnJiZUslkul7GwsIBvfvObuH37NpaXl/e9qtmwmL1WrVbD8vIybt++rYq29vdumH1Dbt8wDJUwA69OCszPz+Ob3/wm7t27N5C+cf/+fUSjUUxMTMDn86n4ZBuA4e7fLperowhZXFzEzZs3cevWLSwtLe175bpeC1DMz8+r45fH4+m44jPq41ej0cDq6iru3LmDGzdu4OnTpzuuZPEKCCkOzxNZhFjF4R2L7Mnsy69SqeDZs2fwer0IBAKIx+OYmpqCz+dTZ+6HPaxBtkuu2vX8+XPcvn0bN2/exLNnz3YsMbrbl3j3/9Xrdbx8+RIejwc+nw+xWAxTU1MIhULw+XxDja99mI18nVKphJcvX+Lu3bu4ceMGHj58uGO+hFkcuz2+sbGBBw8ewO12IxKJYGpqCrFYTA2tk20ZFjl8RiaZ8kz+jRs3cPfuXaytrWlxf4Tu12y1Wiph9Hq9iEajmJqaQiQSgd/vBzCa900m6uVyGSsrK7h37x4++OADPHjwABsbG3vGsdvjuVwODx48gMfjQSgUwtTUFOLxOGKxmEr2hzl0qX1olZxM/ujRI3zwwQe4ffs2VlZWdlzpOUh85XIZz58/h8/nQyAQwOTkJBKJBPx+P1wu10gnqMulgxcWFnDz5k3cvHkTCwsLBzp+0RgZgzyRRYgVxqBjkXPIVbJcLhdisRimp6eRTCbhdrsRj8fVakvA7qtm9fqi7/7CbX9++9n5er2OXC6H58+f48GDB7h79y4eP36MTCZjeqfo/ZITkAEgFAohlUohnU7D7/cjlUrB5/N1DMs6aHy7xSjPALtcLjSbTRSLRSwuLuLRo0e4e/cuHj58iJcvX/a9RKwckuL1epFKpTA9PY1IJIIjR46oqyOSLAYGGZ/cbrlcxurqKh4/foy7d+/iwYMHeP78+Y6J1TqRfSMQCCCVSiGVSiEYDKo+0n71aBjvnewbW1tbePnyJR49eoR79+7h0aNHePHiRd9LGlcqFbx8+RJerxdTU1OYnp5GLBaDEGKofaN9eJ5hGKo4ffLkCe7du4f79+9jYWEB+Xy+r6Rczq0SQqjj19TUFNxuN2KxmOnxq9ek94PG1378qtVqyOfzePbsGR48eIB79+5hfn6+7+F05FBjkieyCBk1p3SsMICdI2DIodrnFaRSKcRiMUxMTGB2dhaJRKJjqBRgnqTs9+pEe6IvE6BWq4VcLoeFhQXcvn0bt2/fxtOnT7G2ttZXAdL+mpubm1hcXMT9+/fV0A0ASKfT8Pl8qh3tSeJ+42uPsbuQke9VqVTCixcvcP/+fdy+fRvz8/NYWVnpKEAOOlG7/ffl9h8+fIhkMqmGmx09ehThcFjF155oyrYdNj7go/dJzq94+PAhPvzwQzx8+HBHATLKiegHIYtf2Tdkf5iZmVFXRIb53slC4d69e+q96y5A+ukb1WoVy8vLePToEZLJJEKhEIQQav6EbNsg4+tO0NfX1zE/P48PP/wQ9+/fx9LSkukVwMOQx68nT54glUohGo3C5XKp45d8n9uPX+3HsH6PX/IKyNOnT3H79m3cuXMHT548QTabZQFCOzklT9wHFiGj5JSOFQXwQwD+H6sbQsPU/cVbq9WwsrKCBw8eIBAIAHj15dpoNFRRIhOLgw7faP9dmew0m01sb2+rL3A5BEvOk1hZWdkxVryfRAyAmiwdCoXgcrnQarXQaDSQTCbh9XrV2dv2M/yHiVGukCNXiZJDsO7du6fmSSwuLg78CkGhUMCzZ8/UwgLyfZ6ZmVGTrds/w8PGJxNyudJRtVrF+vo6Hj16pMb6P378eGBJ5jB0943Nzc0dfaPZbHZcLRtE35DbbTQaaLVaqFQqWF5exoMHD1TfePbs2VD6xuLi4o6+Ia+WDbpvyBjlldb5+XncunULN2/eVFc4u7fRz769vb2NlZUV3L9/XxWOzWYT9Xp96MevXC6HZ8+eqXkg9+/fx+rqat/HL3Igp+SJ+8QiZFQiAD4N+3csuYP4LG4HDZ3Zl6Eczwx0Lu85OzuL6elpxOPxvic3y0Sg1Wqpux7LIVi3b9/GgwcP1DCN/bR5N92/XyqVsLS0BJfLhVqthmKxiI2NDZw+fRpHjx7F5OSkmtDaD5noFAoFrK+vq9V77t69q4ZprK+v79nevXT/fqPRwPr6Oh48eIBms6mWJz537hyOHTuGZDKJSCTSV2zAR0OJ5I0WX758qYZg3b171/Qqz2HiG6butsirBW63W/WNzc1N1TempqY6Fmw4LPneFQoFZLNZtYrSnTt3cO/ePTx+/Bjr6+t9z6ExG0aUyWTw6NEjVfzkcjmcO3cOb7zxBpLJJKLRaN/zJ2R8chWs5eVlPH78GPfv38edO3fUMLN+50nsdfyqVqvI5/PIZrM4ceIEZmZmVDHSj/bjl7wb+sLCAh48eIA7d+6oYWZmN5fUqf+TBcasAAFYhIyOkwqQBIAla5tC1qjX62o51Xw+j/X1dayuriKXy+Hy5ctwu92YnJwcyGvJJ/cn1wAAIABJREFUeQy3b9/Ghx9+iHv37uHp06dYWVlBPp8fyDAsM5ubm2g0GqpAWFlZQTabxdWrV3HmzBm1Qli/KpUKVldXcf/+fdy6dQt37tzB/Pw8Xrx4gc3Nzb7ngfSytbWF58+fo1QqIZvNYnV1Fevr67h69SouXLgAj8ejzhT3o16vY3NzUw2xaR+CZXZvBDvI5/NqfsbGxgZWV1eRyWRw9epVCCHU6kv9qlQqyGQyePDgAW7duqWG5y0tLSGbze5I0AdFFuGyeFxdXcXq6irefPNNXLx4Ua0s1S95k9AnT56ovvHgwQM8e/bsUHd/369arYbV1VV1J/a1tTWsrq7i2rVraDQaap7bIGxtbWFpaQl37tzBrVu31PFreXkZW1tbQzt+kU2NYQECsAgZHbt3rO4d5DctbQ1ZqF6vI5PJqDv9FgoFVKtV1Ot1lEoldQ8KmZC1L83aPtZajp2W8yzah2eUy2Wsra1hfn4eN27cUEM01tfXh34/CcMwUCgUsLW1hUKhgHw+j3K5jHq9jmq1ipmZGUSjUXi9XhVf+xKjZkMz2ocnye1sbm6qVXLkEI3l5eW+JxrvR6VSUfcnkHebr9VqqNVqKBQKiMVi8Pl8quBqH2ZkFp/8KeOT23nx4gVu376NDz74AHfu3MHz58+1HoK1F8MwsLW1ha2tLXUnb/neyc+0vW/I9669/7dvy6xvbG9vqzkot27dwgcffID79+/jxYsXQ0vO28krPvJu48ViseMznZychN/v31ffaI9RDn3a3t7G1tYWlpeXcffuXXzwwQf48MMP8ezZM2xubg79aoA8fsnPsP34VS6X1Xwpr9cLt9t9oONXvV5X21lbW8OjR492HL+6h2ARjWsBArAIGR07dyyzHcR+JzGpD2ZjleVZRTn2OZvN4uHDh2oJ02g0qn6GQiEEAgF4vd6OSey1Wg2VSgWlUqkj8Zd3aV9cXMTjx4/VGVKzs4eDGEdtdodiOTyl2Wyi2WyiUChgYWFBTcyXscn4gsEgfD4f3G43hBAqKalWqyiXyyo2Gd/m5iaWl5fx9OlTPHnyBMvLy6ZnuAc1TtxsO4VCQSWJlUoFL168wJEjRxCPxzviC4fDCAaDKvlsny+zvb2NcrmMYrHYEZ8807ywsIAnT57gxYsXpgWI7neH7tU+mTDLYW3Pnz9HKpXq+d7JviHfO7O+IQuczc1NrKys4OnTp3j69ClevnxpeuVomH1DXolsNpvqhp6yb7Tv25FIRPUNr9erlr3t7hvtRf3W1hbW1tbw7NkzPHnyBM+fPze9Ieeg+oZZfHKOSKvVUsev+/fvY2pqSsUViUQQi8UQCoVUfLsdv9qPYXIo3ePHj7GwsGC6CpbufZ9GYIwLEAAQ7PzDJYS4gxTm0MSrDmY3PXaQJIDuEespABnQuJH3DwmHw+qLOx6PI5lMYnp6Gul0GslkErFYrOMmYfKKhxyXLYd+ZDIZ5HI5lZAVi0VUKhXLziC239wvEokgHA4jHo8jkUhgenoa09PTKvkMh8Pw+XxwuVxoNBqoVCooFArY2NhQQz/W19exsbGh4isUCqhUKkMbfrUXIQR8Ph/C4bD6DGOxGCYnJ5FMJjEzM4N0Oo1EIoFIJIJAIKDGvFer1Y6CQ8aXzWZVwlkqlVAqlVCpVHbMY7A7l8uFQCCAUCiEcDiMaDSKWCyGRCKBdDrd0TfkvUXkkruVSkUN61pbW8PKygoymQw2NjZUMlssFlEsFrG9vW1Zour3+xEMBtW+HYlEkEgk1FLP6XRanXgIBAJqUvv29raaU9W+f29sbKgrLFtbWyiVSiiXy5b1je7jVzQaVfdCkn1fHr/kiRSg8/iVyWSwurqKtbU1dfwqFArq85NXUslKFmQtHgA/+/rv/xRAdxewewHiARAHsA4YhnGoyWIsQoZMFSE57OyAuttlB2ERQrsJh8OqCJmZmVHLYobDYTVmvtFooFQqIZfLqbklcv7FKIad9MPv92NyclLFl06nMTk5iUgk0lGElMtldVZUxre2toZcLqf12U85Nj6VSmFmZkbdWyEajZoWIe3zB9bW1rCxsTG2w068Xq8qQroLOFmEyAI1n89jc3MTq6urWF5eVkWIzsWaEALxeFwV4O19IxgMdhQh8qqOLLJkETLsIZX9kjf0nJmZwczMDJLJJOLxeMd9U+r1OorFInK5nCpC5EkUO853cj7NihC7FyDAQIoQDscic07YQWho9hoGIsfJy8nP4XAYoVBIjbMGoOZ/lEolFItFNT57rwRlFMtY7jVMolqtYnV1Va0g9OLFCzVkw+PxQAihxvhXKhWVrMgzv3u99igKlN1ep9FoIJPJoFqtolAoYHl5WZ3plkNu2ocUyeEo+Xx+z6Vj7T4EZa/2y6WsZd94+fJlR9+Q750cytM+x2Sv5FWHviHvqSNvvre6uopwOIxAIKDmiRiG0bNv7Nb+UfWNvd7Hra0tdWzKZDJ7Hr/kUKxCobBn8c1leMkx+VX/CymyCCETTtlBaGj28yVaq9XUsByXy6XmSnRP7JT3Q5D3zBjEa/drP68hl+Asl8sqvu7Jud33RNjPjclGlaDs53XkUKBsNtsxAb99G3JuiIxxEK+rs/22Xw6zW1tb27NvyPlDg3rtfu3ndUqlEmq1GjY3N/fsG3L/3u9NDYdtP68j+70dj1+kMafkV1G8WvX1N/rbDIsQ6uSUHYRGyuzLGYAaljGo7VnFbNUr+ecww46642v/aYVe8QFQK/4MantOM8y+0b49q4xD3xj08au7GLM6PtKEU/Kr9jj6xCKEPuKUHYRGSn6Byy9eeTbwsF+8g95ev7rbA7xaGaffbbbHZxiGZcM02hOw7jb1s83298vqz3BYzPrGIN87+b5Z2TekQfWN9m3J7QH67N+DOH4B0Ob4RZpw2g2rZRx9YhFCr7AAoUNqXy9fx+31axjtkUNxdNB95ncQdIpvmMahb8ifg9y/9zNsb1ScfvwiTTixAPkCgIn+Nuna+1fI8ViAEBEREQ2H3fMrszxxAItYsggZdyxAiIiIiIbHzvnVEPNEFiHjjAUIERER0XB9AfbMr4acJ3JOyIi4PW4IHOpeLkNhRAw0PtMAJgFsAu4vuCEq4tXNZ/bBYxhA17hej9sNj9AnRiIiIiLD8HSnLHC7PRBin0nPYV7TY6CBVy/qrrohPPbKj/bKE9vjOywWISOSSCTgauhx4akZamLj+zaAGDCRn0Di9xKY8E4AU/vfRqLVAtbWOh9LJGC49IiRiIiICABarUR3yvIqL3MNb9WylruFNax99Fqa5ID7sZ88seVuYW17Td3A8zBYhIzI5bnLmGj1uYzAAFS9VXzj6jfQDDQRqATwsQcfg/+U/8DbidVqO4qQixcvIu/1DqqpRERERH2r1WI7ipCLFy/C680P7TWbrqYqQnTJAfdjv3li09XE2o01+Hy+Q78Wi5AR+a7v+i54hbUJeq6Vw7/Z/jeoGBUkRAI/OfmTiL8TP9S2AsUi8Md/3PHYO++8g0o4PIimEhEREQ1EsRjoTlnwzjvvIByuDO01a0YNX618FYAeOeB+HCRPrBk1fPXGVxHuI+8TvIHOcAkh7iCFuT//gz9H0B20rB0r5RX8+J/8OJZKSzgeOo5f+W9+BTPBmUNvb2JjA3PvvNPx2N3330czMYBbaBIRERENyMbGBN55Z67jsfffv4tEor8bz+6m3Cjj23732wAAf/591uaA+3HQPLHcKOPb/vK34Uz0DObn5w814YVXQkbkyuUrCHlDlrz2Yn4R3/9r34+l0hJOT57G+z/6Pt6IvdHfRtfXdzw0NzcHpFL9bZeIiIhogExSFszNzQ01ZSnVSsDvvvq7lTngfhwmTyzVSgDQ13As+8ySoUNZzC/inV97B082nwyuAAGAqSmUlp4i9Vkg9VmgtPQUmDrAzHYiIiIistTQ8sR94JUQBxtqx3K5gFQKGVnYp1KvHiMiIiIi7VlZgAAsQkam1Wqh1WqN7PUW84v4zl//TtWx/vAzf4hjkWMDbUP7tkYdHxEREdF+vEpPXF2PtTDMtEX3HKnfPHEQ8fDUtQOZdaxRVrZEREREpCdd8kReCRkRl8sF1wiGK3V3rGFeWmuPZ1TxERERER2EWXryKm8Z5mvqmSMNKk8cRDx6vCM0EFaP7SMiIiIiPemWJ7IIcQjdOhYRERER6UHHPJFFiAPo2LGIiIiIyHq65oksQmxO145FRERERNbSOU9kEWJjOncsIiIiIrKO7nkiixCb0r1jEREREZE17JAnsgixITt0LCIiIiIaPbvkiSxCbMYuHYuIiIiIRstOeeLYFiFCiJAQ4jNCiP9DCPE1IcS2EMIQQvyC1W3rxU4di4iIiIhGx2554jjfMf0cgH9rdSP2y24di4iIiIhGw4554theCQGwBeCXAfwkgI8B+Hlrm9ObHTsWEREREQ2fXfPEsb0SYhjGYwA/If8thPjvLGxOT3btWEREREQ0XHbOE8f5Soj27NyxiIiIiGh47J4nsgjRlN07FhERERENhxPyRBYhGnJCxyIiIiKiwXNKnji2c0IGTQhxp8d/nTnIdpzSsYiIiIhosJyUJ9q2CBFC/DaASwd82l83DOMvhtGeQXBSxyIiIiKiwXFanmjbIgTAKQAXDvic4DAaAgCGYVw2e/z1FZK5vZ7vtI5FRERERIPhxDzRtkWIYRhvWd2GQXFixyIiIiKi/jk1T+TEdIs5tWMRERERUX+cnCeyCLGQkzsWERERER2e0/NEFiEWcXrHIiIiIqLDGYc80bZzQgbh9QpbR17/8+jrnz8hhHj39d+XDcP4gUG/rlM61lJhyeomEBERETmKU/LEvYx1EQLgOoCTXY8de/0HAJ4N+gWd0rEW84t494vv7v2LRERERLQvTskT92OsixDDMGZH+XpO6VgyjoXcgtVNISIiInIEp+SJ+8U5ISOyVFhyRMdq30Fm47NWN4eIiIjI9satAAFYhIzMu1981/Ydq3sHee9T71ndJCIiIiJb+//bu/tgy8rqzuPfRaPQthpsBnSkozQYQERiVCKjqDERBCIJGDMygpgME+NLmVRJMGWpkSQmlRiSYRyxTHAEFeJLomQgAUQyYkQjMiAoiGME2tCiNIQA0ohIu+aPfW5zvZx7uS/n7r32Pt9PVdfpe972+tV59rnPuvttGhsQmPLdsdq06c5NvR5Y41aQ9WvXd12WJElSb01rAwJuCWnNnrvs2duBNc0riCRJ0mqY9vmVW0JactFxF/VyYE37CiJJkvpt111hy5aH3tcl51c2Ia3Z8NgNXZewZK4gkiSp73bYAXbbresqHuT8quHuWBrLFUSSJGmyhjK/msQFq21C9BBDWUEkSZKqGMr8alIXrLYJ0Y8ZygoiSZJUxVDmV5O8YLVNiLYbygoiSZJUhResHs8mRIANiCRJ0mrwgtXjeXYs2YBIkiStEi9YPZ5bQqacDYgkSdLq8YLV49mETDEbEEmSpNXlBavHswmZUjYgkiRJq88LVo9nEzKFbEAkSZI0TlvzRJuQKWMDIkmSpHHanCfahEwRGxBJkiSN0/Y80SZkStiASJIkaZwu5ok2IVPABkSSJEnjdDVPtAkZOBsQSZIkjdPlPNEmZMBsQCRJkjRO1/NEm5CB6npgSZIkqaYK80SbkAGqMLAkSZJUT5V5ok3IwFQZWJIkSaql0jzRJmRAKg0sSZIk1VFtnmgTMhDVBpYkSZJqqDhPtAkZgIoDS5IkSd2rOk+0Cem5qgNLkiRJ3ao8T7QJ6bHKA0uSJEndqT5PtAnpqeoDS5IkSd3owzzRJqSH+jCwJEmS1L6+zBNtQnqmLwNLkiRJ7erTPNEmpEf6NLAkSZLUnr7NE21CeqJvA0uSJEnt6OM80SakB/o4sCRJkrT6+jpPtAkprq8DS5IkSaurz/NEm5DC+jywJEmStHr6Pk+0CSmq7wNLkiRJq2MI88SpbUIiYr+I+N2I+ExE3B4RP4yI70bEJyPi+V3WNoSBJUmSpMkbyjxxx64L6NAlwB7APcAXgTuA/YFjgKMj4k2ZeVrbRQ1lYEmSJGmyhjRPnNotIcDXgROA3TLz0Mx8RWY+HXgtEMCpEbF/mwUNaWBJkiRpcoY2T5zaJiQzX5yZH87M++bc/5fAxcAa4FfbqmdoA0uSJEmTMcR54tQ2IQ/jmtHtE9tY2BAHliRJklZuqPNEm5Dx9hrdfne1FzTUgSVJkqSVGfI8cZoPTB8rIvYGXjr68bxJve/W+7c+5L7Nd2/m8HMOZ9Odm9hzlz254JUXsH7t+rHPrWh2nX2pWZIkabVNYo5UeZ44iRoiMydQyjBExI7AZ4BDgI9l5rFLeO118zy0N7uxE2+YRIWSJElSAafD/rvtz3XXXRfLeXlvt4RExLnAU5f4shMy80sLPP5umgbkRuD1y61NkiRJ0vx624QAG4F9l/iaR833QES8FXgdcCvwksy8YylvnJlPm+d9rwP2v/G3bmT3dbtzxbev4MUffjHbchtrYg2XvOoSDtrjoKUsqoTZOQCues1V7LPrPh1XtXRzN3VedNxFbHjshq7LWjJz1GKOWsxRizlqMcfq2Hr/Vh7/548H4NaTbmXdI9ct6nV9mSdu2bqFvU7f6+GfuIDeNiGZ+YxJvVdEvBZ4J3AXcHhmfnNS7z1j3SPWce2Wazn07EPZltvYcYcduezXL+M5G54z6UWtuss3X749x4x9dt1n0StYFTffdTNH/vWRbLpzU68P9jJHLeaoxRy1mKMWc7Rj3SPXLWqONHt+VX2euO7+lc/5pv7sWBFxLHA6cC/wi5l59Wos58pbruSQMw/hgR89UH5gLeTyzZf/WI6+GsrZJsxRizlqMUct5qjFHLXMnV/1dZ64FFPdhETEkcCHgAeAYzLz86u1rKM+elTvB9bcFeTTx3+665KWZShfWOaoxRy1mKMWc9RijlqmsQGBHu+OtVIR8Tzgb4EA/nNmXryay+vDprWFjFtBDtj9gK7LWrKhfGGZoxZz1GKOWsxRizlqmdYGBKa4CQH+HlgL3AQcHRFHj3nOZZn5/kksbE2s6e3Amm8FqXCe6qUYyheWOWoxRy3mqMUctZijlmluQGC6m5BdRrcbR//mM5Em5Pxjz+/lwBrKCjKULyxz1GKOWsxRizlqMUctQ5lfrcTUNiGZuawLqyzXs574rDYXNxFDWUGG8oVljlrMUYs5ajFHLeaoZSjzq5Wa6gPTNb+hrCBD+cIyRy3mqMUctZijFnPUMpT51ZW3XLni97AJ0UMMZQUZyheWOWoxRy3mqMUctZijlqHMry7ffDlHffSoFb+PTYh+zFBWkKF8YZmjFnPUYo5azFGLOWoZyvxqJsfsC1Yvl02IthvKCjKULyxz1GKOWsxRizlqMUctV3z7ikHMr2bPE9fEmhW/n02IABuQasxRizlqMUct5qjFHPUcevahvZ9fzZ0nnn/s+St+z6k9O5YeZANSizlqMUct5qjFHLWYo6a+z6/GzRM37rLQ1S0Wxy0hU84GpBZz1GKOWsxRizlqMUctm+/evP3/fZ5freY80SZkitmA1GKOWsxRizlqMUct5qjl5rtu5ohzjtj+86eP/3Qv51erPU+0CZlSNiC1mKMWc9RijlrMUYs5apnJcdOdN22/76A9DuqwouVpY55oEzKFbEBqMUct5qjFHLWYoxZz1DI7xySOmehKW/NEm5ApYwNSizlqMUct5qjFHLWYo5a5OS487sKuS1qWNueJnh1ritiA1GKOWsxRizlqMUct5qhlXI71a9d3XdaStT1PdEvIlLABqcUctZijFnPUYo5azFHLUHJ0MU+0CZkCNiC1mKMWc9RijlrMUYs5ahlKjq7miTYhA2cDUos5ajFHLeaoxRy1mKOWoeTocp5oEzJgNiC1mKMWc9RijlrMUYs5ahlKjq7niTYhA9X1wJqUoazo5qjFHLWYoxZz1GKOWoaSo8I80SZkgCoMrEkYyopujlrMUYs5ajFHLeaoZSg5qswTbUIGpsrAWqmhrOjmqMUctZijFnPUYo5ahpKj0jzRJmRAKg2slRjKim6OWsxRizlqMUct5qhlKDmqzRNtQgai2sBarqGs6OaoxRy1mKMWc9RijlqGkqPiPNEmZAAqDqzlGMqKbo5azFGLOWoxRy3mqGUoOarOE21Ceq7qwFqqoazo5qjFHLWYoxZz1GKOWoaSo/I80SakxyoPrKUYyopujlrMUYs5ajFHLeaoZSg5qs8TbUJ6qvrAWqyhrOjmqMUctZijFnPUYo5ahpKjD/NEm5Ae6sPAWoyhrOjmqMUctZijFnPUYo5ahpKjL/NEm5Ce6cvAejhDWdHNUYs5ajFHLeaoxRy1DCVHn+aJNiE90qeBtZChrOjmqMUctZijFnPUYo5ahpKjb/NEm5Ce6NvAms9QVnRz1GKOWsxRizlqMUctQ8nRx3miTUgP9HFgjTOUFd0ctZijFnPUYo5azFHLUHL0dZ5oE1JcXwfWXENZ0c1RizlqMUct5qjFHLUMJUef54k2IYX1eWDNNpQV3Ry1mKMWc9RijlrMUctQcvR9nmgTUlTfB9aMoazo5qjFHLWYoxZz1GKOWoaSYwjzRJuQgoYwsGA4K7o5ajFHLeaoxRy1mKOWoeQYyjzRJqSYoQysoazo5qjFHLWYoxZz1GKOWoaSYyjzRLAJKWUoA2soK7o5ajFHLeaoxRy1mKOWoeQYyjxxhk1IEUMZWENZ0c1RizlqMUct5qjFHLUMJcdQ5omz2YQUMJSBNZQV3Ry1mKMWc9RijlrMUctQcgxlnjiXTUjHhjKwNt+9eRAr+lC+sMxRizlqMUct5qjFHLUMZZ44ztQ2IRFxYES8JyK+GBG3RMQPIuKuiPjniHhjRDxitWsY0sA64pwjer+iD+ULyxy1mKMWc9RijlrMUcuQ5onj7Nh1AR16AfAG4FvA14DbgN2A5wEHA78SEYdl5v2rsfChDayb7ryp1yv6UL6wzFGLOWoxRy3mqMUctQxtnjjONDchFwAXZOaNs++MiMcDlwAvBF4DvGfSCx7KwLri21ds///GXTb2dkUfyheWOWoxRy3mqMUctZijlqHMEx/O1O6OlZk3zm1ARvffCvzp6Mefn/RyhzKwLt98OYeefej2ny887sJeruhD+cIyRy3mqMUctZijFnPUMpR54mJMbRPyMH44up3orlhDGVizc8zY8NgNHVa0PEP5wjJHLeaoxRy1mKMWc9QylHniYtmEzBERjwNOGv34D5N63ytvuXIQA2vuCtJXQ/nCMkct5qjFHLWYoxZz1DJtDQhM9zEhAETETwFvpWnIHg88F3g08D7gnEkt56iPHsW23MaaWMN5rziPjbtsZMs9Wyb19q248pYrfyzHx1/+cV728ZcBsPX+rR1Xt3ib797M4ecczqY7N7HnLntywSsvYP3a9b3KAOaoxhy1mKMWc9RijtU3u4YtW7ew7v518z537vyqD/PE2+69bcXvEZk5gVL6KyIOAT435+53A2/PzLuX8D7XzfPQfqxhB9Yvt0JJkiSpmDvg0Wsfzfe+971Yzst724RExLnAU5f4shMy80vzvN8a4EnAMcA7gFuBwzJz0yLrma8J2Qf4PnDzIt5m79HtDYtZpsrx8+s/P8N+8/PrPz/DfvPz67+lfIY/CdybmU9YzoL63IRcDfz0El/2osy8dBHv/TLgE8DfZ+ZRyyhvWWYamcx8WlvL1OT4+fWfn2G/+fn1n59hv/n59V+bn2FvjwnJzGes4tufC9wDHB4Rj1ytCxZKkiRJ08izY42RzeahO2iatMd1XI4kSZI0KDYhY0TEXjT7ud0N3N5xOZIkSdKgTG0TEhFvjIiHHEgTEfsCfw0E8KHM3NZ6cZIkSdKA9faYkAk4CTgtIq4BvknTdDwZeBZNc/ZPwFu6K0+SJEkapt6eHWulIuI44Ejg2cATgLU0x4FcDXwE+HBm/qi7CiVJkqRhmtomRJIkSVI3pvaYEEmSJEndsAmRJEmS1CqbEEmSJEmtsgmRJEmS1CqbEEmSJEmtsgmRJEmS1CqbkJ6IiKMj4qKIuC0i7ouImyPi3Ig4pOvatHgR8faIyNG/47uuRwuLiP0i4ncj4jMRcXtE/DAivhsRn4yI53ddnxoRsTYi/iAivjH6frwlIj4QEXt0XZsWFhGPGv1++18R8f9Gn9/WiLgmIn4vIh7ddY1amojYNSK2jH7PfbPrerR4EbFbRJw6Whe/HxF3RMRVEfFnq7I8rxNSW0TsAJwB/FdgK3AZcCfwJJqru/9hZr6zuwq1WBGxL3AN8EgggFdl5tndVqWFRMRmYA/gHuCLNBc03R84AEjgTZl5WncVKiJ2Bj4DHAx8B/gcsCfws8BtwMGZeWNnBWpBEfHfaH7HAVwPXAs8Fngu8Bjg68ALM3NLNxVqqSLiLOAEmt9zN2TmU7qtSIsREc8CPgXsClzHg+vi/sCGzNxx0suc+Btq4n6PpgE5H/i1zLxj5oGIeBzwH7oqTIsXEQH8FU0D+UXgl7utSIv0deAtwN9k5n0zd0bEbwLvA06NiIsz82tdFSjeRtOA/DNwWGbeAxARbwL+HPgA8HOdVaeH80Oa78bTMvP6mTsj4j8C/wD8DHAa8MpuytNSRMQvAK+m+Uxf03E5WqSI2A24CFgL/HJmnjfn8Z9dleW6JaSuiNgA3AB8F9gvM7/fcUlapoj4DZov5eOBQ2m+pN0S0mMR8SngMOCUzPz9ruuZRhHxSGAL8BPAMzPzy3MevwY4EHh2Zl7ZQYlagYj4T8AXgB8Aj83M+zsuSQuIiLXAV2k+r6OBb+CWkF6IiPcCrwPekJnvbWu5HhNS26tpdt15vw1If0XEE4B3Af+Ymed0XY8m5prR7RM7rWK6PY+mAblhbgMy8rej26PaK0kTNLOO7USzi4hqewewF/Bami1c6oFR83g8zS7/Z7a5bHfHqu3nR7ecrxVwAAAIFElEQVRfGG2aPg54CnAXzT7Qn0o3ZfXBu2k2cb6u60I0UXuNbr/baRXT7adHt1fN8/jM/Qe2UIsmb2Yd+yHN8VgqKiIOBE4CzszMz0XEnt1WpCV4Ns3xV5dl5vcj4giaPTZ2ptma9fHMvGU1FmwTUtv+s24/QfMXvxlvBi6NiGMy887WK9OiRMRLgV8F3pGZ/9J1PZqMiNgbeOnox/MWeq5W1ZNGt5vneXzm/ie3UIsm77dHtxdl5g86rUTzGp1A5/00xzy+ueNytHQzc80tEfF3PPSY1T+OiBMz8yOTXrC7Y9X2uNHtXwBfAZ5Jc6aCFwM30RxsecbYV6pzo1NLvpfmLwl/2nE5mpCI2BE4i2YXkY95rEGnZk7feu88j28d3T6mhVo0QRFxJHAizVaQt3dcjhb2RuAg4OTM/Leui9GSzcw1fwk4HHgDsDvNWQZPpdmT44MR8YxJL9gtIasoIs4FnrrEl52QmV8a/X+mSfx34IjMnPmF+o8R8Us0jcnLI2KfzPzGyivWbBP4/P4Y+EngF/wrXjcm8BmO827gEOBG4PXLrU3SeBGxH3A2zSleT87Max7mJepIRDwJeCfw2cw8q+NytDwzc80dgbfOOTD95Ih4Ms0eHSfTHBYwMTYhq2sjsO8SX/OoWf+/h6ZD/ZtZDQgAmXltRFxBcy78F9D8tV2TtezPb3Q6uzcAH87M/zPpwrRoK10Hf0xEvJXm2J5bgZfMPmW2OnHP6Ha+z2zd6PZ7LdSiCRhdYPIimt99f5GZ/6PjkrSw02lOoPPargvRst0z6//jDkw/k6YJeeGkF2wTsooyc6Wbrr5F80W8aZ7HN9E0IbuvcDkaY4Wf35E0f114ekRcOuex/Ua3bx1dqOuizPyTFSxL85jAOrhdRLyW5i9+dwGHZ6ZXAu7ev45uN8zz+Mz932qhFq1QRKwHLqY5hudM4He6rUiL8FKaY0He11wOa7udR7d7zPodeGxmeiKPema+H+/NzNvGPL5pdDvxuaZNSG1fBp7Bg/vrzbV+dHvPPI+rewtNgvcb/dvUTilarog4luYvfvcCv5iZV3dckhozu+k8c57HZ+7/Sgu1aAVGx9BdSHOQ7CeB3/Dsj72xC/P/lXznWY/tPM9z1K2Z05uvjYidxuw+vmpzTQ9Mr23mrDsPWblHX9gzv2DHnR9fHcrMUzIzxv0DPjh62qtG9/1ah6XqYYwOkP0Q8ABwTGZ+vuOS9KDP02yZ2nuegyZfPro9v72StFQRsRPwv2m27H8K+C+Zua3bqrQYC/ye2zh6yg2z7t/UYamaR2b+K80fdILxzeTMfROfa9qE1HY+cD3w3IjYfgBsRKyhOWPWeuBa4LJuypOGLSKeR3PBuwBekZkXd1ySZhldQfs9ox9Pj4iZY0CIiDfRXB/ks57BrK7R77OP0FwX63PAy7wyutS6d41uTx1dlw6A0R93Thr9+L5JLzTc2lnbaAB8lubUvNcA3wR+huYiTv8GvCgzv9pdhVqqiDgLeDXNlpCzOy5HC4iIf6fZ1eAm4J/medplmfn+9qrSbBGxM3Ap8BzgOzQT2SePfr4NODgzb+ysQC0oIn4bOG3047nA3fM89Xcy8/Z2qtJKjS5WeBPNlpCndFuNFmPW3ORO4As0p+Z9Ls3p6M/IzNdMepkeE1JcZl49akROAQ6j2V/2VpoLA70zMz3gUlo9u4xuN/Lg7gXj2IR0JDPvi4gXAW8BXgkcTXN17bOAt2fmfBcyVA2zj3k8ZoHnnQLYhEir59dpdnH9TZrr0CVwFfCXmfnBBV63bG4JkSRJktQqjwmRJEmS1CqbEEmSJEmtsgmRJEmS1CqbEEmSJEmtsgmRJEmS1CqbEEmSJEmtsgmRJEmS1CqbEEmSJEmtsgmRJEmS1CqbEEmSJEmtsgmRJEmS1CqbEElSL0XECRGREfHViHjEPM85OCK2RcTtEbFb2zVKksazCZEk9VJmfgi4BDgAePPcx0eNyRk0v+tOyszb2q1QkjSfyMyua5AkaVkiYi/gWiCAAzPzX2Y99jbgD4FLMvPQjkqUJI1hEyJJ6rWIOBl4F3BpZr5odN++wDXAj4CnZ+YNHZYoSZrD3bEkSX3334EvAz8XESdGRAB/BewEnGIDIkn1uCVEktR7EfEs4HLgbpqm5A+Aq4GDMvOBLmuTJD2UTYgkaRAi4lTgpNGP24CDM/P/dliSJGkeNiGSpEGIiCcCm2kOUv9AZp7YcUmSpHl4TIgkaSh+n6YBAXhJRDymy2IkSfOzCZEk9V5EvAA4EfgO8HfAHsAfdVqUJGle7o4lSeq1iNiJ5nS8+wIvBy4Drgd+gua4kCs6LE+SNIZbQiRJffc2mgbkvMz8RGbeSnMF9R2AMyJix06rkyQ9hFtCJEm9FREHAFcB9wH7Z+bm0f0BfBZ4PvDmzPyz7qqUJM1lEyJJ6qWI2AH4PHAw8FuZ+T/nPP5UmmuFPAA8LTM3tV6kJGksd8eSJPXV62kakMuB0+c+mJnXA38CPAp4b7ulSZIW4pYQSVLvRMQG4GvAWuCZmfnVeZ63E/AVYB/g2Mz8WHtVSpLmYxMiSZIkqVXujiVJkiSpVTYhkiRJklplEyJJkiSpVTYhkiRJklplEyJJkiSpVTYhkiRJklplEyJJkiSpVTYhkiRJklplEyJJkiSpVTYhkiRJklplEyJJkiSpVTYhkiRJklplEyJJkiSpVTYhkiRJklplEyJJkiSpVTYhkiRJklplEyJJkiSpVTYhkiRJklr1/wFCCbeX3pt5FAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f = plt.figure(dpi=150)\n", "sim.plot2D(ax=f.gca())\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we can run the simulation until the sources have finished plus some additional time to allow the fields to propagate through the structure. As in Tutorial/Basics, we'll use `stop_when_fields_decayed` to increment the time in steps of 50 time units (about 13 periods) until $|E_y|^2$ has decayed by at least 1/1000 at the transmission-flux plane.\n", "\n", "We'll also animate the fields and generate a video." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Normalizing field data...\n", "field decay(t = 50.025000000000006): 3.95790820471984e-05 / 3.95790820471984e-05 = 1.0\n", "field decay(t = 100.05000000000001): 6.062401894821014e-05 / 6.062401894821014e-05 = 1.0\n", "field decay(t = 150.07500000000002): 1.7734570553698603e-05 / 6.062401894821014e-05 = 0.2925337326918046\n", "field decay(t = 200.10000000000002): 7.468025297259177e-06 / 6.062401894821014e-05 = 0.12318591586016357\n", "field decay(t = 250.125): 5.439633091350728e-06 / 6.062401894821014e-05 = 0.08972735865627277\n", "field decay(t = 300.15000000000003): 4.23291165174129e-06 / 6.062401894821014e-05 = 0.06982235300759884\n", "field decay(t = 350.175): 3.476628845824414e-06 / 6.062401894821014e-05 = 0.05734738320127583\n", "field decay(t = 400.20000000000005): 2.847134687922034e-06 / 6.062401894821014e-05 = 0.04696380638100359\n", "field decay(t = 450.225): 2.3289750979705154e-06 / 6.062401894821014e-05 = 0.03841670576079938\n", "field decay(t = 500.25): 1.9177580551625897e-06 / 6.062401894821014e-05 = 0.031633634464268874\n", "field decay(t = 550.275): 1.5662051283234017e-06 / 6.062401894821014e-05 = 0.025834729460304812\n", "field decay(t = 600.3000000000001): 1.2900383339035116e-06 / 6.062401894821014e-05 = 0.02127932717567875\n", "field decay(t = 650.325): 1.0534058195581604e-06 / 6.062401894821014e-05 = 0.017376047280172294\n", "field decay(t = 700.35): 8.676272594305365e-07 / 6.062401894821014e-05 = 0.014311609069859468\n", "field decay(t = 750.375): 7.087820739725053e-07 / 6.062401894821014e-05 = 0.011691439899060524\n", "field decay(t = 800.4000000000001): 5.837770400453704e-07 / 6.062401894821014e-05 = 0.009629467827662155\n", "field decay(t = 850.4250000000001): 4.808205960298484e-07 / 6.062401894821014e-05 = 0.007931189722684065\n", "field decay(t = 900.45): 3.92681229771858e-07 / 6.062401894821014e-05 = 0.006477320979120792\n", "field decay(t = 950.475): 3.234259653563735e-07 / 6.062401894821014e-05 = 0.005334947615938655\n", "field decay(t = 1000.5): 2.6407774313354585e-07 / 6.062401894821014e-05 = 0.004355992026182594\n", "field decay(t = 1050.525): 2.1750627194785985e-07 / 6.062401894821014e-05 = 0.0035877903794809614\n", "field decay(t = 1100.55): 1.7768960210318136e-07 / 6.062401894821014e-05 = 0.0029310099393934598\n", "field decay(t = 1150.575): 1.4635346961931978e-07 / 6.062401894821014e-05 = 0.002414116915349122\n", "field decay(t = 1200.6000000000001): 1.1953143759707475e-07 / 6.062401894821014e-05 = 0.0019716844853058654\n", "field decay(t = 1250.625): 9.845036591681545e-08 / 6.062401894821014e-05 = 0.001623949840754035\n", "field decay(t = 1300.65): 8.038713471789712e-08 / 6.062401894821014e-05 = 0.0013259948138141452\n", "field decay(t = 1350.6750000000002): 6.621009853390941e-08 / 6.062401894821014e-05 = 0.0010921430100249761\n", "field decay(t = 1400.7): 5.408528044424668e-08 / 6.062401894821014e-05 = 0.0008921427741445288\n", "run 0 finished at t = 1400.7 (56028 timesteps)\n" ] } ], "source": [ "f = plt.figure(dpi=150)\n", "animate = mp.Animate2D(f=f, fields=mp.Hz, realtime=False, normalize=True)\n", "\n", "sim.run(\n", " mp.during_sources(mp.at_every(0.4, animate)),\n", " until_after_sources=mp.stop_when_fields_decayed(\n", " 50, mp.Ey, mp.Vector3(0.5 * sx - dpml - 0.5), 1e-3\n", " ),\n", ")\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generating MP4...\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "filename = \"media/hole-wvg-cavity.mp4\"\n", "animate.to_mp4(10, filename)\n", "Video(filename)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see the pulse propagating to the right, bouncing off of the holes, and also exciting a resonant mode in the cavity that sits in the center for a long time as it starts slowly leaking to the right.\n", "\n", "Of course, the main point of this section is to get the quantitative transmission spectrum. To do this, we need to normalize our flux by running the simulation with no holes. We'll first wrap the above code in a function so that we can parameterize the simulation domain." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "def sim_cavity(N=3, sy=6):\n", " sx = 2 * (pad + dpml + N) + d - 1 # size of cell in x direction\n", " cell = mp.Vector3(sx, sy, 0)\n", " blk = mp.Block(size=mp.Vector3(mp.inf, w, mp.inf), material=mp.Medium(epsilon=eps))\n", " geometry = [blk]\n", "\n", " for i in range(N):\n", " geometry.append(mp.Cylinder(r, center=mp.Vector3(d / 2 + i)))\n", " geometry.append(mp.Cylinder(r, center=mp.Vector3(-(d / 2 + i))))\n", "\n", " src = [\n", " mp.Source(\n", " mp.GaussianSource(fcen, fwidth=df),\n", " component=mp.Ey,\n", " center=mp.Vector3(-0.5 * sx + dpml),\n", " size=mp.Vector3(0, w),\n", " )\n", " ]\n", "\n", " sim = mp.Simulation(\n", " cell_size=cell,\n", " geometry=geometry,\n", " boundary_layers=pml_layers,\n", " sources=src,\n", " symmetries=sym,\n", " resolution=resolution,\n", " )\n", "\n", " freg = mp.FluxRegion(\n", " center=mp.Vector3(0.5 * sx - dpml - 0.5), size=mp.Vector3(0, 2 * w)\n", " )\n", " nfreq = 500\n", " trans = sim.add_flux(fcen, df, nfreq, freg)\n", "\n", " sim.run(\n", " until_after_sources=mp.stop_when_fields_decayed(\n", " 50, mp.Ey, mp.Vector3(0.5 * sx - dpml - 0.5), 1e-3\n", " )\n", " )\n", "\n", " freqs = mp.get_flux_freqs(trans)\n", " psd = mp.get_fluxes(trans)\n", "\n", " return freqs, psd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can compute the fluxes for both the simple waveguide and the cavity:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", "field decay(t = 50.025000000000006): 0.024304124551377593 / 0.024304124551377593 = 1.0\n", "field decay(t = 100.05000000000001): 0.00029478773644369007 / 0.024304124551377593 = 0.012129123837418002\n", "field decay(t = 150.07500000000002): 8.914669657976724e-14 / 0.024304124551377593 = 3.667965755825354e-12\n", "run 0 finished at t = 150.07500000000002 (6003 timesteps)\n", "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", "field decay(t = 50.025000000000006): 3.95790820471984e-05 / 3.95790820471984e-05 = 1.0\n", "field decay(t = 100.05000000000001): 6.062401894821014e-05 / 6.062401894821014e-05 = 1.0\n", "field decay(t = 150.07500000000002): 1.7734570553698603e-05 / 6.062401894821014e-05 = 0.2925337326918046\n", "field decay(t = 200.10000000000002): 7.468025297259177e-06 / 6.062401894821014e-05 = 0.12318591586016357\n", "field decay(t = 250.125): 5.439633091350728e-06 / 6.062401894821014e-05 = 0.08972735865627277\n", "field decay(t = 300.15000000000003): 4.23291165174129e-06 / 6.062401894821014e-05 = 0.06982235300759884\n", "field decay(t = 350.175): 3.476628845824414e-06 / 6.062401894821014e-05 = 0.05734738320127583\n", "field decay(t = 400.20000000000005): 2.847134687922034e-06 / 6.062401894821014e-05 = 0.04696380638100359\n", "field decay(t = 450.225): 2.3289750979705154e-06 / 6.062401894821014e-05 = 0.03841670576079938\n", "field decay(t = 500.25): 1.9177580551625897e-06 / 6.062401894821014e-05 = 0.031633634464268874\n", "field decay(t = 550.275): 1.5662051283234017e-06 / 6.062401894821014e-05 = 0.025834729460304812\n", "field decay(t = 600.3000000000001): 1.2900383339035116e-06 / 6.062401894821014e-05 = 0.02127932717567875\n", "field decay(t = 650.325): 1.0534058195581604e-06 / 6.062401894821014e-05 = 0.017376047280172294\n", "field decay(t = 700.35): 8.676272594305365e-07 / 6.062401894821014e-05 = 0.014311609069859468\n", "field decay(t = 750.375): 7.087820739725053e-07 / 6.062401894821014e-05 = 0.011691439899060524\n", "field decay(t = 800.4000000000001): 5.837770400453704e-07 / 6.062401894821014e-05 = 0.009629467827662155\n", "field decay(t = 850.4250000000001): 4.808205960298484e-07 / 6.062401894821014e-05 = 0.007931189722684065\n", "field decay(t = 900.45): 3.92681229771858e-07 / 6.062401894821014e-05 = 0.006477320979120792\n", "field decay(t = 950.475): 3.234259653563735e-07 / 6.062401894821014e-05 = 0.005334947615938655\n", "field decay(t = 1000.5): 2.6407774313354585e-07 / 6.062401894821014e-05 = 0.004355992026182594\n", "field decay(t = 1050.525): 2.1750627194785985e-07 / 6.062401894821014e-05 = 0.0035877903794809614\n", "field decay(t = 1100.55): 1.7768960210318136e-07 / 6.062401894821014e-05 = 0.0029310099393934598\n", "field decay(t = 1150.575): 1.4635346961931978e-07 / 6.062401894821014e-05 = 0.002414116915349122\n", "field decay(t = 1200.6000000000001): 1.1953143759707475e-07 / 6.062401894821014e-05 = 0.0019716844853058654\n", "field decay(t = 1250.625): 9.845036591681545e-08 / 6.062401894821014e-05 = 0.001623949840754035\n", "field decay(t = 1300.65): 8.038713471789712e-08 / 6.062401894821014e-05 = 0.0013259948138141452\n", "field decay(t = 1350.6750000000002): 6.621009853390941e-08 / 6.062401894821014e-05 = 0.0010921430100249761\n", "field decay(t = 1400.7): 5.408528044424668e-08 / 6.062401894821014e-05 = 0.0008921427741445288\n", "run 0 finished at t = 1400.7 (56028 timesteps)\n" ] } ], "source": [ "freqs_wg, psd_wg = sim_cavity(N=0) # simple waveguide\n", "freqs_cav, psd_cav = sim_cavity() # cavity" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(11, 6), dpi=100)\n", "ax = fig.add_subplot(111)\n", "plt.plot(freqs_cav, np.array(psd_cav) / np.array(psd_wg), \"o-\")\n", "plt.grid(True)\n", "plt.xlabel(\"Frequency\")\n", "plt.ylabel(\"Transmission\")\n", "\n", "ax2 = fig.add_axes([0.52, 0.6, 0.2, 0.25])\n", "plt.plot(freqs_cav, np.array(psd_cav) / np.array(psd_wg), \"o-\")\n", "plt.xlim(0.23, 0.24)\n", "plt.ylim(0, 0.8)\n", "plt.grid(True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The band gap is clearly visible as the range of very low transmission, and in the middle of the band gap is a sharp peak corresponding to the resonant mode trapped in the defect. The inset enlarges this peak, and shows that we didn't use quite enough frequency points to capture the whole shape although we could fit to a Lorentzian if we wanted. At the edges of the band gaps, the transmission goes up in broad Fabry-Perot resonance peaks which we will examine in more detail below. There is also some high-frequency oscillation visible at the left of the plot, which is a numerical artifact due to our pulse not having enough amplitude in that range.\n", "\n", "The narrower the resonance peak (higher Q), the harder this sort of direct transmission simulation is to perform — because of the Fourier uncertainty principle, we need to run for a time inversely related to the frequency resolution we would like to obtain. Fortunately, there is a much better way to study high-Q resonances, as described in the next section. See also Tutorial/Basics/Modes of a Ring Resonator." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Resonant Modes\n", "\n", "To study high-Q (long lifetime) resonant modes, it is much more efficient to excite them directly, placing a source inside the cavity, and analyze the resulting fields to obtain the frequencies and lifetimes of the modes. Here, we do precisely that for the above structure. See also Tutorial/Basics/Modes of a Ring Resonator and the Introduction.\n", "\n", "The structure is exactly the same as above, and only the sources and analysis are different. We'll create another function that parameterizes the simulation and returns the corresponding simulation object.\n", "\n", "This time, the new source is still a Gaussian, but is now a point source at the origin. Moreover, we are now using a magnetic current oriented in the z direction ($H_z$). This source matches the symmetry of the $H_z$-polarized resonant mode that we are looking for. If we didn't know in advance what symmetry we were looking for, we would put the source off-center in a non-symmetric location, which would excite all modes regardless of symmetry. However, in many cases the symmetry is known, and placing a symmetric source allows us to limit the number of modes we excite and also to exploit the fact that we now have two mirror symmetry planes in this problem, saving us a factor of four in computation" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "def sim_cavity(N=3, sy=6, fcen=0.25, df=0.2):\n", " sx = 2 * (pad + dpml + N) + d - 1 # size of cell in x direction\n", " cell = mp.Vector3(sx, sy, 0)\n", " blk = mp.Block(size=mp.Vector3(mp.inf, w, mp.inf), material=mp.Medium(epsilon=eps))\n", " geometry = [blk]\n", "\n", " for i in range(N):\n", " geometry.append(mp.Cylinder(r, center=mp.Vector3(d / 2 + i)))\n", " geometry.append(mp.Cylinder(r, center=mp.Vector3(-(d / 2 + i))))\n", "\n", " src = [mp.Source(mp.GaussianSource(fcen, fwidth=df), mp.Hz, mp.Vector3(0))]\n", "\n", " sym = [mp.Mirror(mp.Y, phase=-1), mp.Mirror(mp.X, phase=-1)]\n", "\n", " sim = mp.Simulation(\n", " cell_size=cell,\n", " geometry=geometry,\n", " boundary_layers=pml_layers,\n", " sources=src,\n", " symmetries=sym,\n", " resolution=resolution,\n", " )\n", "\n", " return sim" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, you may notice a strange thing: we have specified `phase=-1` for both mirror planes corresponding to odd symmetry. However, it may seem at first glance that an $H_z$ dipole at the origin has even symmetry! The subtlety here is that the magnetic field is a pseudovector, and is multiplied by −1 under mirror flips, so it is odd when it looks even and vice versa. We aren't just being pedantic here — if you don't realize the difference between vectors, such as electric fields and currents, and pseudovectors, such as magnetic fields and currents, then you will have endless confusion because the electric and magnetic fields will seem to have different symmetry. See also Exploiting Symmetry.\n", "\n", "We'll next visualize our domain to make sure everything looks correct:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAElCAYAAAC4QatNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de5gV9Z3n8fevu+mGvkJLN1cjRBFUDCMa16DROMiMgay5zc7kycSYWScmZpjdWdc8q5uLzaDRyWTcyxidkCEJmswkk43JuqPiqjGSBa8gGhARFORONzTQN7qb7v7uH9Wn69D05VzqnKrq83k9z3mgT9fl179v1a8+p06dOs7MEBEREQlCUdgNEBERkbFDwUJEREQCo2AhIiIigVGwEBERkcAoWIiIiEhgFCxEREQkMAoWIiIiEhgFCxEREQmMgoWIiIgERsFCREREAhObYOGcu9U594ZzrqX/8YJz7qNht0tERER8Li7fFeKc+7dAL7ADcMBNwFeBS8xsa5htExEREU9sgsVQnHPNwFfNbHXYbREREREoCbsBmXDOFQP/DqgAXhhhujKgbNDTtUBz7lonIiIyZlUBB2yEsxKxChbOuYvxgsR4oA34pJm9OcIsdwJ35aNtIiIiBWImsH+4X8bqrRDnXCnwPqAG+CPgz4FrhgsXQ5yxqAL23fijG/nw+R8OtG33r7+ft46+xbyz5nHblbelPN97x9/jnnX3sOqGVcw9a25WbdjWtI3bnrqN2ZNm850l36G8tDyr5WWio7uD25++nV3HdnH/H97PBXUX5L0NAA+//jCrN63m5oU38/kFnw+lDaqHT/XwqB4+1cM3uB7bj27nlsdu4WtXf41zJp6Tlzas37OeNZvXUFZSxsprVzJxwsQzpvnt27/lkS88AlBjZi3DLszMYvsAngG+l8b01YCt2rDKgrR4zWKjAVu8ZnHa8248sNFowDYe2JhVG17a95JV31tti1YvspbOlqyWlamWzhZbtHqRVd9bbS/teymUNpiZrXx+pdGArXx+ZWhtUD18qodH9fCpHr6h6hHUcSFVP9j0A6MBq/pWle0/sX/Y6VZtWGWAAdU20rF2pF9G/QH8GvhRGtMHHiyyCRVmwWxA2kl9GjQ9qodP9fCpHp6o1yOfwSLVUGE2BoMFcC9wNTALuLj/5z5gSRrLCDRYZBsqzLLfgLST+jRoelQPn+rhUz08cahHvoJFOqHCbGwGi9XAbqALaOx/GyTlUGEBB4sgQoVZdhuQdlKfBk2P6uFTPXyqhycu9chHsEg3VJiNwWARxCOoYBFUqDDLfAPSTurToOlRPXyqh0/18MSpHrkOFpmECjMFi5wFiyBDhVlmG5B2Up8GTY/q4VM9fKqHJ271yGWwyDRUmClY5CRYBB0qzNLfgLST+jRoelQPn+rhUz08caxHroJFNqHCTMEi8GCRi1Bhlt4GpJ3Up0HTo3r4VA+f6uGJaz1yESyyDRVmChaBBotchQqz1Dcg7aQ+DZoe1cOnevhUD0+c6xF0sAgiVJgpWAQWLHIZKsxS24C0k/o0aHpUD5/q4VM9PHGvR5DBIqhQYaZgEUiwyHWoMBt9A9JO6tOg6VE9fKqHT/XwjIV6BBUsggwVZgoWWQeLfIQKs5E3IO2kPg2aHtXDp3r4VA/PWKlHEMEi6FBhpmCRVbDIV6gwG34D0k7q06DpUT18qodP9fCMpXpkGyxyESrMFCwyDhb5DBVmQ29A2kl9GjQ9qodP9fCpHp6xVo9sgkWuQoWZgkVGwSLfocLszA1IO6lPg6ZH9fCpHj7VwzMW65FpsMhlqDBTsEg7WIQRKsxO34C0k/o0aHpUD5/q4VM9PGO1HpkEi1yHCjMFi7SCRVihwszfgNZsXqOdtJ8GTY/q4VM9fKqHZyzXI91gkY9QYaZgkXKwCDNUmPkbUMU9FdpJTYNmgurhUz18qodnrNcjnWCRr1BhpmCRUrAIO1SYmX3zuW8aDdiChxZoJ9WgaWaqRzLVw6d6eAqhHqkGi3yGCjMFi1GDRRRCRWKjoAFbt3tdKG0ohJ00VRo0faqHR/XwqR6+XNcjlWCR71BhpmAxYrCY97fzIhMqyu8pz9nX446mUHbSVGjQ9KkeHtXDp3r48lGP0YJFGKHCTMFixGDBHdEIFVXfqrK1O9aGEiwKaScdjQZNn+rhUT18qocvX/UYKViEFSrMFCxGDBbz/nZetv2bscEbRS6+Hnc0hbaTjkSDpk/18KgePtXDl896DHdcCDNUmClYjBgs0v3a9KAMtVHkO1gU4k46HA2aPtXDo3r4VA9fvusx1HEh7FBhZvbtZ7+tYHHGHxtisBhuo8hnsCjUnXQoGjR9qodH9fCpHr4w6jH4uBCFULH/xH4r+3qZgsUZf2xIwWKkjSJfwaKQd9LBNGj6VA+P6uFTPXxh1SP5uBCVUFH1rSrjDhQszvhjQwgWo20U+QgWhb6TJtOg6VM9PKqHT/XwhVmPxHEhcZ+jSISKBuymn96kYHHGH5vnYJFK0sx1sNBO6tOg6VM9PKqHT/XwhV2PxHEhSqHiB5t+oIs3h/xj8xgsUj19lctgoZ3Up0HTp3p4VA+f6uGLQj3WbF4zcJ+jqIQKM30qJNRgkc57YrkKFtpJfRo0faqHR/XwqR6+qNSj4p4KowFbu2NtKG0YKlSYKViEFizSvdAmF8FCO6lPg6ZP9fCoHj7Vwxeleix4aEFod2QeLlSYjcFgAdwJvAK0Ao3Ar4C5aS4jp8Eik6t3gw4W2kl9GjR9qodH9fCpHr6o1WPd7nWhBIuRQoXZ2AwWa4EvABcBC4DHgfeAijSWkbNgkelHgoIMFtpJfRo0faqHR/XwqR6+KNYjjDsyjxYqzMZgsDij4VDX/wdencY8OQkW2XzOOKgNSDupT4OmT/XwqB4+1cMX1XrkO1ikEirMUg8WJcRXTf+/zcNN4JwrA8qSnqoCeO/4e2w6uCmQRjz21mOsWLeC8pJyfv5HP+dQ+yEOtR9Kef5tR7ad9m8m2rvbWf7kct5pfocHlz1ISVFJYH9fOv5x0z/y0KsPcetlt7J0ztJQ2rClcQtfefwrnFt7Lvctvo8dzTvy3gbVw6d6+FQPj+rhG64eQRwXUtXU1sSn/uVTdPR0cNfVd7Fg6oJh++K94++ltExn3iv5WHHOFQGPARPN7KoRpmsA7jrjF3cA43PVOhERkTGoE7gPgBozaxlusrgGi4eAjwJXmdm+EaYb6ozFvlUbVnHprEuzakNy0nzgow9QUVqR0XK2HdnG5x79HD/+1I+5YPIFWbVJRETiLx/HhcFnjubXzx91no27N3LLoltglGARu7dCnHMPAB/Du7Zi2FABYGZdQFfSvADMPWsuC6ctzLgNL+9/mb988i9ZMHUBa/90LVVlVRkvK+GCyRdk1SYRERlbcnVcaO1q5fqfXM/u47v59U2/5vIZl6c0X1trW0rTxSZYOC8V/D3wSeAjZrYrjHa8vP9lljyyhPn18wMLFSIiIvmQCBVbGrfw9I1Ppxwq0hGbYAF8F/gs8HGg1Tk3tf/5E2Z2Mh8NUKgQEZG4ykeoACjKyVJz41a8T4L8BjiY9PiTfKxcoUJEROIqX6ECYnTGwsxcWOtWqBARkbjKZ6iAeJ2xCIVChYiIxFW+QwUoWIxIoUJEROIqjFABChbDUqgQEZG4CitUgILFkBQqREQkrsIMFaBgcQaFChERiauwQwUoWJxGoUJEROIqCqECFCwGKFSIiEhcRSVUgIIFoFAhIiLxFaVQAQoWChUiIhJbUQsVUODBIgqhor27Pe/rFBGR+ItiqIACDhZRCBWtXa0sf3J53tcrIiLxFtVQAQUaLLY1bYtEqLj+J9fzTvM7eV+3iIjEV5RDBRRosLjtqdsiESq2NG7hwWUP5n39IiIST1EPFRCjbzcN0uxJsyMRKp6+8WlKigqyBCIikqY4hAoo0DMW31nynUiEiqhuFCIiEi1xOn4UZLAoLy3P+zrjtFGIiEh0ROX48fDrD6c0XUEGi3yLykYhIiLxEpXjx93r7mb1ptUpTatgkWNR2ShERCRe2rvbI3H8uHvd3XzjuW9w88KbU5pewSKHFCpERCRTy59cHvrxIxEqVl67ks8v+HxK8yhY5IhChYiIZOOd5nciEyq+fvXXU55PwSIHFCpERCRbDy57MHahAhQsAqdQISIiQZhfPz+U9WYTKkDBIlAKFSIiEmfZhgpQsAiMQoWIiMRZEKECFCwCoVAhIiJxFlSoAAWLrClUiIhInAUZKkDBIisKFSIiEmdBhwqIWbBwzl3tnPs/zrkDzjlzzn0irLYoVIiISJzlIlRAzIIFUAG8DvxFmI1QqBARkTjLVagAKAl0aTlmZk8CTwI450Jpg0KFiIjEWS5DBcQsWKTLOVcGlCU9VZXN8hQqREQkznIdKiB+b4Wk607gRNJjX6YLUqgQEZE4y0eogLEfLO4FapIeMzNZiEKFiIjEWb5CBYzxt0LMrAvoSvycyXUZChUiIhJn+QwVMPbPWGRFoUJEROIs36ECYnbGwjlXCZyX9NRs59zvAc1mtifIdSlUiIhInIURKiBmwQK4DHgu6ef7+/9dA3whqJUoVIiISJyFFSogZsHCzH4D5PQGFgoVIiISZ2GGCtA1FqdRqBARkTgLO1SAgsUAhQoREYmzKIQKULAAFCpERCTeohIqQMFCoUJERGItSqECYnbxZlD6+vro7e2ltauVpf+8lK1NW1n72bVcOvVS+vr6MLNh53XODfv7kX433O97e3tPa1O+1qt5Na/m1byaN5rzpnNcuHvd3dz1/F2suGYFd15558D0uWjzSG1JVpDBoqioiI6eDpb9dBlbm7aGeqbih6//cKBNxcXFobRBRESiI3EsGO24kAgV+TpTkeoxqiDfCuno7ojE2x93r7ubh159KJR1i4hIfEXt7Y9kBXnGYvm/Ludw72FWfXgV5cfK2XJsS97b8L1t3+OBNx/gj2f/Mf+y61/YuXMnpUdL894OERGJlp3Hdnr/DnNcSBw/ll+4nE/UfoItW/JzDHt337spTVeQwWL38d3c0H4Dz//T8zzP83lf/6bKTbxS9QofbP0gPS/3QB387Gc/o66nLu9tERGRaGkqaRr2uJB8/Dj17CkeePaBvLXrQN+BlKZzI13cMdY456qBE1WLqqh4tyKUNrQtbKPt8jYqX66kclMlpyaf4ugfHeWs/3UW446MC6VNIiISHcMdFwYfP/Kta1IXx7YdA6gxs5bhpivIMxat77TSerg1/yu+Grgc+DW0rWujjbaBG5QfPXoUDuW/SSIiEjFDHReGOn7k21mpTVaQF2+G4mrg94FfA+tCbouIiMRHFI4fM4A/TG1SBYt8iMJGISIi8ROF48cM4EbgWGqTF+RbIXkVhY2iADnncM5RVFREX18ffX19Kc1XVFREUZGXt3t7e0e8wUym7Up8Fjyd5ZeUeLtq4gZuQbYrqn2VDfVzeu2KWl9Jv0sYePsj9FDRCPzf1GZRsMglhYrQJAa6VAfvhHQG/EyYGT09PWnPl8k8qYpqX2VD/Zy6KPaV9ItSqPgxMCm12RQsckWhInJqa2upr69n4sSJlJeXU1xcTHd3Ny0tLRw9epTGxkY6OzvPmG+0W+OmYrhljB8/nvr6es466yyqq6spLS2lt7eXjo4Ojh8/TmNjI83NzTlp00jC7KtsqJ9TF7e+KkgvE51Q0Z36rAoWuaBQERnjxo2jsrKS6dOnc+6553Luuedy9tlnM3HiRIqLi+no6KCxsZFdu3axY8cO9uzZw5EjR+js7BwYJIMYLJOX4Zxj/PjxTJ48mfe9733MmTOH2bNnU19fT3l5Ob29vRw7dox9+/axc+dOdu7cyaFDh2hra+PUqVOBtWmwqPRVNtTPqYtDXxW810JabxahAhQsgqdQEYrBr5YqKiq48MILueSSS3j/+9/P5MmTT3sVNmHCBIqKijh16hRtbW0cO3aMpqYmmpqaOHjwIFu3buW1115j7969I64nnTYBnH322VxyySVcdNFFTJ8+ncmTJ1NXV8ekSZOorKxk3Lhx9PX1cfLkSVpaWjhy5AhNTU0cOXKEd999l02bNrFt2zba29szalNU+yob6uf4b5MSIVmGClCwCJZCRWiSB7Ha2lrmz5/PkiVL+IM/+APmzp1LRUUFxcXFQ15klriozszo7u6msbGRDRs2UFNTw4svvsiePXvo6uo6Yz3ptKmsrIxzzjmHK664gqVLl/KhD32IKVOmMG7cuIF1D9eu3t5e2tvb2b59OzNnzqS8vJwtW7YMnI5OdwCPYl9lQ/0c/21SIiKAUAFQ3NDQEFibom7FihVlwJ1UAu2jTZ2mTENFFXAZsBHCuN/JWFJUVMScOXO49tpr+fjHP861117LnDlzqKmpoaio6LSr8pMfieedc5SUlFBZWcmkSZOYNm0a1dXV9PX1ceLEiSHf607FpEmTuPTSS1m2bBkf+9jHuPTSS5k+ffrAAD5au4qKihg/fjxVVVVMmTKFuro6SktLOXnyJMePH89oEI9qX2VD/RzvvpIkYRwXUgkV/rHzvoaGhq7hFqUzFkHQmYrQJJ9yra+v58orr+SGG27giiuuoL6+HjPj1KlTFBcX45w7bT44/ZVV8lX7M2fOHDhVXVVVRXd3Ny+++GLaA6ZzjgsvvJBly5axZMkS5s2bR1lZ2cAV9YmBerR29fb2UlFRwcUXX8yUKVOora2lpKSE1tZWDh06dEZfxLGvsqF+jmdfSUQEdKYiQcEiWwoVoUoMWhMmTODiiy/muuuu44orrqCurm7gs//DDZSJ/yeWkXi+pKQE5xwTJkxg7ty59PX1cfjwYQ4cOMB7772XVvvOOeccFi1axOLFi5k7dy7jx48fWIeZpdyu4uLigb+nrq6OK664gvb2dvbu3cuJEyc4efLkqAN41PsqG+rnePaVREDAoQIULLKjUBGa5EGurKyMBQsW8JGPfISFCxcyderUgc/ml5SUDAx+Iy1r8P8T9w4oLy/n/PPP5+qrr+bw4cP09PSwf//+lNo4Y8YMrrzySq666irOP/98JkyYQE9Pz2mnldNtV09PD8XFxUybNo3LLruMPXv20NrayubNmwfecx/8KjEOfZUN9XP8tkmJiByEClCwyJxCRaiSB6qKigo+/OEPc9111zF9+vSB3yfuJpjp8hPzjx8/noULF9Le3s7+/fsHBvHBp4gH/3z++eezdOlSLrnkEsrKygCyalNi/sR6pk+fznXXXcfRo0fZsWNHSge8qPRVNtTP8d8mJQJyFCpA3xWSGYWKSElccT9//nyqqqo4derUGad005U4Vd3b2wt4H8lbuHAh55xzTsrLmDVrFgsXLuTss88GvNslDz4Fnkm7Eu/RV1VVMX/+fC6++GJqa2tTmj+qfZUN9XO8t0kJQQ5DBShYpE+hIhKSb3GcuCq9vLx84Ir1oCSuygfvSvopU6YwceJEwL+wLiH554kTJw5c0Ab+e+RBSZy2Li8vp76+nrq6uoHfDb79cxT7Khvq5/hvkxKiHIcKSCNYOOemB7/6mFGoiJz6+npmzZo1MLDCmRfGZSuxrLKyMqZNm8asWbMGTiMPpaysjFmzZjFt2rSB6YJuT/LyJk6cyKxZs04byIdaZxT7Khvq5/htkxKyPIQKSO+MxVbn3Gdz04zUOef+wjm32znX6Zx7yTl3eV5WrFAROSUlJcyYMYNzzz2XqqqqnKwjebBMrO+8886jpqbmtGkGD6pz5sxh+vTpp71/HeRAnqy6upo5c+YwY8aMgVeyw7U97L4azieB14GW/n8/mcL61M/x2yYlRHkKFZBesPga8D3n3M+dc6G8eeac+xPgfmAFsBBvDHrKOVef0xUrVERG8kBYXFzM1KlTOfvss6msrBxymiAVFRVRV1c35PqS11lVVcXMmTNP+3hh0JLXV1FRwcyZM5k6deppB43B/49KXw32SeBR4AN49wX6QP/Pnxhiuern08Vtm8xVP8go8hgqII1gYWYP4u3zZwFvOuf+bc5aNbzbgO+b2Q/N7E3gy0AH8O+Hmtg5V+acq0488Mat9ChURJZzjpqaGmpra3N2un3w+qqrq6mtrWXChAkDzyc+qpeQ+DKn6urqvAykZWVlA983Mdz6otJXQ2kY5vkVo6xD/RzvbVLyJM+hAtL8uKmZ7QJ+3zm3HHjUObcN6Bk0zcIA2zfAOVcKXArcm7SuPufcM8CHhpntTuCujFeqUBE5gz+2Nm7cOEpLS/PyKiyxvvHjx4/4Eb3i4mLKysrOuDguVwNscXExpaWljBs37rTnh2p71PoKYHaazyeon/31xWmb1MdO8yiEUAEZ3MfCOXcO8CngGPC/GRQscmgyUAwcHvT8YWDeMPPci/fWSUIVsC+ltSlURNLgQenUqVN0d3fn7KrzwR8RPHXqFJ2dnQMf+RtKb28vXV1d9PT0nHGFfi4G8sT6El9fnby+ZFHsK4BdeKdCh3p+JOpnf31x3SYlh0IKFZBmsHDOfRH4O+AZ4CIza8pJqwJiZl3AwBelpLwDKVTEgplx4sQJmpubB27Ek+v1tbS00NzczMmTJweeH3wA6ezs5MiRI7S0tORlIO3q6qK5uXnE9UWlr4bSgHdNxWCjnWpUP8d7m5QcCjFUQHofN10L/A2w3Mw+FUKoOAL0AlMGPT8FOBTYWhQqIi15kOrt7eXQoUPs3buXtra2IacJUl9fH01NTUOuL3mdra2t7N27l6amppy+ak1IfD/DoUOHTnvVOvj/UemrwX6JdwHnG0Br/7+fBH41xHLVz6eL2zapkJEHIYcKSO+MRTHwATNL7a2EgJlZt3NuI7CY/jHHOVfU//MDgaxEoSJWEt+RsGPHDlpbW3OyjuRTxYn17dy5kxMnTpw2TbLjx4+zc+dODhw4cMagmovTzon17d+/f+AbKge3Kyp9NZxfMXSQGIn6OX7bpORYBEIFpBEszGxJLhuSovuBNc65V4GXgb8CKoAfZr1khYpYamxsZM+ePRw/fnzgucSrtaAGzMSyurq6OHDgALt37x7xNHdXVxe7d+/mwIEDA9MF+Spx8KvR48ePs3v3bpqams6YLlkU+yob6uf4bZOSQxEJFRCzW3qb2c+A24G/BjYDvwdcb2aDL+hMj0JF7CRfcX/48GGampro6OjAzAIfMBOvuJqbm2lsbBw4YAy+V0Dyz8ePH+fw4cM0NzcD3inyIE8D9/X1YWZ0dHRw5MgRDh/2d4HBn0aIYl9lQ/0c/21SAhahUAExCxYAZvaAmZ1jZmVm9m/M7KWsFqhQEXvNzc387ne/Y8uWLbS2tjJu3LisP9aWeAWW+Ajfnj172LhxI7t37055Gbt37+bVV19lz549gPcRvGy/MyPxSnXcuHG0trbyu9/9jjfeeOO0V8cjiWpfZUP9vDvlZUSxryRLEQsVUOhfmx6FUKFb6Wdk8IViv/3tb6mpqaG6uprq6mrMjN7e3oxvJ5x4lVlSUkJnZyebNm3iiSee4O233x6yDUP9vGPHDp544gmqqqqYNGkS48aNo7e3d+DLmjLR29s78DXV+/fv5+mnn2b9+vW0t7en1K6o9FU21M/x3yYlIBEMFVDIwSIKoWIGsCykdcdc8kDV1dXFG2+8QVVVFbNmzaKmpob6+vqBAbyvr2/EmwIN9bn+xJ0LOzo62L59O+vWrWPDhg0cPHgw5Tbu37+fDRs2MGPGDGbOnMkFF1xAeXn5wHoGv+c+WruKioooKSmht7eXxsZGNm7cyHPPPccbb7xx2vvrIx1cotpX2VA/x2+blABENFQAFDc0NITdhrxZsWJFGXAni4BrCD9U3Ih3m7EqYCPQNuIcMoTkq+M7OjooKSmhoqKCSZMmUVFRQW9v78AgPtodBxMDa+IVXGdnJ2+99RbPPPMMzzzzDG+++Wba7Ut8jr+srIyamhomTpxISUkJPT09A20Y/G+iLcn/T76Sv7GxkRdeeIG1a9fywgsvnPb++kii3lfZUD+nLkp9JcOoAi5j+ONCWKGiEvBORN3X0NAw7NXChRks/hgvUIQdKhqBp/C+Tk3BImsdHR20tbXR2tpKd3c3xcXFVFZWUl5ePjCID3URYfLzRUVFmBkHDhzglVde4amnnuLZZ59l69atdHZ2ZtSutrY2Wlpa6OjooK+vj/Hjx1NdXT1w+ni0NjnnKC4upq2tjbfeeovnn3+eJ598khdffJF9+/Zl9Gowqn2VDfVzvPtKkowULMI8U6FgcaaBYDEBeC6kRgzeKMYzcjKVlJkZzc3N7Nu3j4MHD9LT00NNTQ2VlZUDA2biferkfxODYF9fH93d3Rw8eJD169fz6KOP8tRTT7F169bT3i9OV2dnJ4cOHWLfvn0cO3aM8ePHU1NTw/jx4wcG7+HalPgEQGtrK2+99RZPPPEEv/zlL1m/fj379+/PeACPal9lQ/0c776SJMMFi7Df/kgxWBTmNRZvhLTesDeKMSz5ivvm5mY2bdrEyZMn2bt3L7Nnz6auro66ujrOOussJk6cyIQJE3DOcerUKdra2mhubqapqYmmpiYOHTrEli1b2Lx5M/v27Rt2Pem0qaurix07dnDy5EmOHz/O66+/zrRp05g8eTL19fVMmjSJyspKSktL6evrG5ju6NGjNDY2cuTIEd599102bdrE9u3bTzuopPtpgyj2VTbUz/HfJiUFUTh+pJgYXCEV33lfnX6CKZz5VWa5NtxGMQ34EvA9ID/XuhWUkpISKisrmTp1Kueddx5z5sxhxowZA+8rd3R00NjYyK5du3j77bfZs2cPR48ezfmp/MTXWJ999tmcf/75zJ49m/r6esrLy+np6eH48ePs27ePnTt3snPnTg4dOkRbW1tO72IY1b7Khvo5dVHsq4I1+LgQhVBRCvwpidtR1phZy3CTKljkw0gbhYJF3kyaNIkpU6YMvDosLi6mu7ublpYWjh49SlNT05CDdxCvvoZbxvjx4wdetVZXV1NaWkpvb+/Aq8PDhw9z7NixrNadiTD7Khvq59TFra8KSvJxoYhohIrPARNJfF+4gkVCKMFitKSpYCEiIskSx4VHgaVEI1TUA/8H2AqMEiwK8xqLfInC6asClXxFfV9fX/sVYs4AABV/SURBVMq3VE7cKwCCv+Vxol2JOyems/xEuwZfSBdUm6LYV9lQP6fXrqj1lfRbhvciOAqh4hEgxXe9FCxyRaEiVImBLt3vaEhnwM9E4or6dOWyXVHtq2yon1MXxb6Sfs1EJ1TsB6akNmvsviskFhQqREQkW08QnVCRhoI9Y5GrO8LZdPNDxU/AnXIwwqoM//Sh7lInIiIDx4We/B8XrNS8T3/0hwp3wD+GJR+vRlKQwaL2rFrKisoCX253XTfNy5opOVZC7TO1FNWOfkLo1ORTHOEIkydPZhzjAm+TiIjES1jHhb5xfTQvbaZnUg+1j9dS2lcKU/3fd03qovlw86jLKchgcdVVVzG9aHqgyzw87jCPT3qc+p56lrlllC4tTWm+ppImfsEvuOaaa6jr0VediogUujCOC92um8cnPY4rcXzi2CeYsujMCyoO9B3gsTcfG3VZBRksPv3pT3PZzMsCW94bzW/wxee/yIU1F7Lqw6uoGFeR8rxvHnuTXzzzCz7zmc9w4aQLA2uTiIjEU76PC+2n2rnlt7fQfqKdNdes4QO1Hxhyulf3vcpjqxQshjRr1iwuPD+YYr28/2W+9NiX+MC0D7D2T9dSVVaV1vydB72b37z//e/nwmkKFiIihS6fx4XWrlau/8n1vNv2Ls9+4Vkun3H5sNMeKTmS0jL1qZAsvLz/ZZY8soT59fMzChUiIiJhSYSKLY1bePrGp0cMFekoyDMWvb299Pb2ZrWMl/e/zPX/dD0X1V3E4595nPKS8oyWmZgniDaJiEj85eO40NrVytJ/XsrWpq2s/exaLp166ajrSrUtBRksiouLB+40l4lEqAjiTEWiHdm2SURExoZcHxdau1pZ9tNlbG3amtaZilTbordC0qS3P0REJK5y9fZHMgWLNChUiIhIXOUjVICCRcoUKkREJK7yFSpAwSIlChUiIhJX+QwVoGAxKoUKERGJq3yHClCwGJFChYiIxFUYoQJiFCycc19zzm1wznU4547nen0KFSIiEldhhQqIUbDA+4b4nwMP5XpFChUiIhJXYYYKiNENsszsLgDn3BdyuR6FChERiauwQwXEKFhkwjlXBpQlPTViSlCoEBGRuIpCqIB4vRWSiTuBE0mPfcNNqFAhIiJxFZVQASEHC+fcfc45G+UxL4tV3AvUJD1mDjWRQoWIiMRVlEIFhP9WyN8BPxplmnczXbiZdQFdiZ+dc2dMo1AhIiJxFbVQASEHCzNrAprCWn8UQkV7d3ve1ykiIvEXxVAB4Z+xSJlz7n1ALfA+oNg593v9v9ppZm3pLi8KoaK1q5XlTy7P+3pFRCTeohoqIF4Xb/418BqwAqjs//9rwGXpLmhb07ZIhIrrf3I97zS/k/d1i4hIfEU5VECMgoWZfcHM3BCP36S7rNueui0SoWJL4xYeXPZg3tcvIiLxFPVQATF6KyRIsyfNjkSoePrGpykpKsgSiIhImuIQKiBGZyyC9J0l34lEqIjqRiEiItESp+NHQQaL8tLyvK8zThuFiIhER1SOHw+//nBK0xVksMi3qGwUIiISL1E5fty97m5Wb1qd0rQKFjkWlY1CRETipb27PRLHj7vX3c03nvsGNy+8OaXpFSxySKFCREQytfzJ5aEfPxKhYuW1K/n8gs+nNI+CRY4oVIiISDbeaX4nMqHi61d/PeX5FCxyQKFCRESy9eCyB2MXKkDBInAKFSIiEoT59fNDWW82oQIULAKlUCEiInGWbagABYvAKFSIiEicBREqQMEiEAoVIiISZ0GFClCwyJpChYiIxFmQoQIULLKiUCEiInEWdKgABYuMKVSIiEic5SJUgIJFRhQqREQkznIVKkDBIm0KFSIiEme5DBWgYJEWhQoREYmzXIcKULBImUKFiIjEWT5CBShYpEShQkRE4ixfoQIULEalUCEiInGWz1ABChYjUqgQEZE4y3eoAAWLYSlUiIhInIURKkDBYkgKFSIiEmdhhQpQsDiDQoWIiMRZmKECFCxOo1AhIiJxFnaogJgEC+fcLOfcaufcLufcSefcO865Fc650qDWoVAhIiJxFoVQAVAS2prTMw8vBH0J2AnMB74PVAC3Z7twhQoREYmzqIQKiEmwMLO1wNqkp951zs0FbiXLYKFQISIicRalUAExCRbDqAGaR5rAOVcGlCU9VQWw/eh2Kg9W0t7dzvInl/NO8zs8uOxBSopK2HRwUw6bfKZtR7ad9q+IiBS2dI4L/7jpH3no1Ye49bJbWTpnaU6PYduPbk9pOmdmOWtErjjnzgM2Areb2fdHmK4BuOuMX9wBjM9V60RERMagTuA+AGrMrGW4yUINFs65+4D/MspkF5jZW0nzzACeB35jZn8+yvKHOmOx7z/+8j/y/a3fp6Ong7uuvosb5t2Q4V+QnS//65d55cArAPz4Uz/mgskX5L0NWxq38JXHv8K5tefywEcfoKK0Iu9tGHzmaH79/Ly3AU5P/n++cMRNK2dUD5/q4VE9fIVSj21HtvG5Rz834nEhcfz44PQP8g8f+4fA2zCURzc/yj1L74FRggVmFtoDqMO7MHOkR2nS9NOBt4GHgaIM1lcNWNnXy4wG7AebfmBhWbxmsdGAXb7qcqMB23hgY97b8NK+l6z63mpbtHqRtXS25H39ZmYtnS22aPUiq7632l7a91IobTAzW/n8SqMBW/n8ytDaoHr4VA+P6uErpHpsPLBxxONC4vixeM3inLVhKKs2rDLAgGob6Vg70i+j9ABm9IeKfwaKM1xGNWDcEY1QsXjN4lE3oFwppJ10NBo0PaqHT/XwqR6efNZjpONCWKHCbIwFi/5QsQN4pv//UxOPNJdTDdhNP70pmF7OwOCNIoxgUWg76Ug0aHpUD5/q4VM9PPmux3DHhTBDhdnYCxZf6P9jznikuZxqwFZtWBVML6dpqI0i38GiEHfS4WjQ9KgePtXDp3p4wqjHUMeFsEOFmdlNP71p7ASLoB5hBovhNop8BotC3UmHokHTo3r4VA+f6uEJqx6DjwtRCBU/2PQD4w4ULM74Y0MKFiNtFPkKFoW8kw6mQdOjevhUD5/q4QmzHsnHhciEiob+Dz4oWIQfLEbbKPIRLAp9J02mQdOjevhUD5/q4Qm7HonjQuJTg1EIFVXfqrJvP/ttBYsz/tg8B4tUkmaug4V2Up8GTY/q4VM9fKqHJwr1SBwXohQq9p/YP7Yu3gzqkc9gkerpq1wGC+2kPg2aHtXDp3r4VA9PVOpx67/eOnDGIiyDQ4XZGPtUSFCPfAWLdN4Ty1Ww0E7q06DpUT18qodP9fBErR5h3TjRbOhQYaZgEVqwSPdCm1wEC+2kPg2aHtXDp3r4VA9P1OqROGMRRrAYLlSYKViEEiwyuXo36GChndSnQdOjevhUD5/q4YliPcK6I/NIocJMwSLvwSLTjwQFuQFpJ/Vp0PSoHj7Vw6d6eKJajzCCxWihwkzBIq/BIpvPGQe1AWkn9WnQ9KgePtXDp3p4olyPfAeLVEKFmYJF3oJFtjcvCWID0k7q06DpUT18qodP9fBEvR75DBaphgozBYu8BIsg7oiW7QakndSnQdOjevhUD5/q4YlDPfIVLNIJFWYKFjkPFkHdZjWbDUg7qU+Dpkf18KkePtXDE5d65CNYpBsqzBQschosgrx3e6YbkHZSnwZNj+rhUz18qocnTvXIdbDIJFSYKVjkLFgE/YUwmWxA2kl9GjQ9qodP9fCpHp641SOXwSLTUGGmYJGTYJGLb5lLdwPSTurToOlRPXyqh0/18MSxHrkKFtmECjMFi8CDRa6+ujadDUg7qU+Dpkf18KkePtXDE9d65CJYZBsqzBQsAg0WuQoVZqlvQNpJfRo0PaqHT/XwqR6eONcj6GARRKgwU7AILFjkMlSYpbYBaSf1adD0qB4+1cOnenjiXo8gg0VQocJMwSKQYJHrUGE2+gakndSnQdOjevhUD5/q4RkL9QgqWAQZKswULLIOFvkIFWYjb0DaSX0aND2qh0/18KkenrFSjyCCRdChwkzBIqtgka9QYTb8BqSd1KdB06N6+FQPn+rhGUv1yDZY5CJUmClYZBws8hkqzIbegLST+jRoelQPn+rhUz08Y60e2QSLXIUKMwWLjIJFvkOF2ZkbkHZSnwZNj+rhUz18qodnLNYj02CRy1BhpmCRdrAII1SYnb4BaSf1adD0qB4+1cOnenjGaj0yCRa5DhVmChZpBYuwQoWZvwGt2bxGO2k/DZoe1cOnevhUD89Yrke6wSIfocJMwSLlYBFmqDDzN6CKeyq0k5oGzQTVw6d6+FQPz1ivRzrBIl+hwkzBIqVgEXaoMDP75nPfNBqwBQ8t0E6qQdPMVI9kqodP9fAUQj1SDRb5DBVmYzBYAI8Be4BO4CDwCDA9zWUMBIsohIrERkEDtm73ulDaUAg7aao0aPpUD4/q4VM9fLmuRyrBIt+hwmxsBov/BFwBnAMsAjYAG9JcRjVg8/52XmRCRfk95Tn7etzRFMpOmgoNmj7Vw6N6+FQPXz7qMVqwCCNUmI3BYHFGw+EGoA8Yl8Y81YBxRzRCRdW3qmztjrWhBItC2klHo0HTp3p4VA+f6uHLVz1GChZhhQqz1IOFM++AGyvOuVrgIWCGmV01wnRlQFnSU1XAvinfmMLKj67McSuHtn7PetZsXkNZSRkrr13Jia4T3LPuHlbdsIq5Z83NSxs6uju4/enb2XVsF/f/4f1cUHdBXtY72MOvP8zqTau5eeHNfH7B50Npw7ambdz21G3MnjSb7yz5DuWl5Xlvg+rhUz18qoenEOux/eh2bnnsFr529dc4Z+I5A88PPn5MnDAxp+0Y7Ldv/5ZHvvAIQI2ZtQw3XayChXPub4DlQDnwIvAxMzs6wvQNwF35aZ2IiEhBmGlm+4f7ZajBwjl3H/BfRpnsAjN7q3/6yUAt3nUWdwEn8MLFkH/EEGcs6J+/eYjJq4B9wEygNdW/oUCpr1Knvkqd+ip16qvUqa9Sl0pfVQEHhjvuQvjBog44a5TJ3jWz7iHmnQnsBRaZ2QsBtKUaL6iMeIpH1FfpUF+lTn2VOvVV6tRXqQuqr0qCa1L6zKwJaMpw9qL+fwefkRAREZGQhBosUuWc+zfAB4H/BxwDzgVWAu8AWZ+tEBERkWAUjT5JJHQAnwKeBbYDq4E3gGvMrCugdXQBK/r/lZGpr1Knvkqd+ip16qvUqa9SF0hfxepTISIiIhJtcTljISIiIjGgYCEiIiKBUbAQERGRwChYiIiISGAULIbhnFvmnHvJOXfSOXfMOfersNsUdc65MufcZuecOed+L+z2RI1zbpZzbrVzblf/dvWOc26Fc6407LZFgXPuL5xzu51znf373uVhtylqnHN3Oudecc61OucanXO/cs7l50uGYs45d0f/2PTfw25LFDnnZjjnfuycO9o/Pv3OOXdZJstSsBiCc+7TwCPAD4EFwJXAP4XaqHj4NnAg7EZE2Dy8fe5LwEXAfwK+DHwrzEZFgXPuT4D78T7qthB4HXjKOVcfasOi5xrgu8AVwBJgHPB/nXMVobYq4pxzH8Tb794Iuy1R5JybBKwHTgEfBS4E/jPefaPSX54+bno651wJsBu4y8xWh9yc2HDOfRTvwPBpYCtwiZltDrdV0eec+ypwq5m9P+y2hMk59xLwipkt7/+5CO+W/X9vZveF2rgI6/9ahEa8e/qsC7s9UeScqwQ2AV8Bvg5sNrO/CrdV0dL/vV1XmtmHg1iezlicaSEwA+hzzr3mnDvonHvSOTc/7IZFlXNuCvB94Ea8m5lJ6moY+kvxCkb/W0GXAs8knjOzvv6fPxRWu2Kipv/fgt6GRvFd4HEze2bUKQvXDcCrzrmf97/F9ppz7ouZLkzB4kyJV44NwN3Ax/BOB/3GOVcbVqOiyjnngB8B/2Bmr4bcnFhxzp0H/CXwvbDbErLJQDFweNDzh4Gp+W9OPPSf1fnvwHoz2xJ2e6LIOfcZvBeLd4bdloh7P3ArsAP4Q+Ah4H86527KZGEFEyycc/f1X7gz0iPxHjjAPWb2CzPbCPwZYMC/C+0PyLM0+usv8b5G996QmxyaNPoqeZ4ZwFrg52b2/XBaLjH3XWA+8JmwGxJFzrmzgf8B/KmZdYbdnogrAjaZ2X81s9fMbBXeWegvZ7KwWHwJWUD+Du+V9UjeBab1///NxJNm1uWcexd4X26aFkmp9tfv452u7vJOXgx41Tn3EzPLKPHGTKp9BYBzbjrwHLABuCV3zYqNI0AvMGXQ81OAQ/lvTvQ55x7AO5t6tZntC7s9EXUpUA9sShqbioGrnXPLgTIz6w2rcRFzkKRjXr9teNfMpa1ggkWqX9HunNuI9wUsc/G+TRXn3DhgFvBeDpsYKWn013/AuyAqYTrwFPAnwEu5aV20pNpXMHCm4jlgI/Bn/dcSFDQz6+7f7xYDv4KB0/yLgQfCbFvU9L/1+PfAJ4GPmNmukJsUZc8CFw967ofAW8DfKFScZj3eMS/Z+WR4zCuYYJEqM2txzv0DsMI5txevY7/a/+ufh9eyaDKzPck/O+fa+v/7jl5Jna4/VPwGb5u6HahLvJIys0J/ZX4/sMY59yrwMvBXQAXegUB83wU+C3wcaHXOJa5BOWFmJ8NrVvSYWStw2rUnzrl24KiuSTnDfwM2OOf+K/AvwOV4Z1MzOqOqYDG0rwI9ePeymID3yvv3zSyjz/SK9FsCnNf/GBy63JmTFw4z+1n/Ryf/Gu+Czc3A9WY2+ILOQndr/7+/GfT8nzH623EiQzKzV5xzn8S7Vu6bwC7gr8zsJ5ksT/exEBERkcAUzKdCREREJPcULERERCQwChYiIiISGAULERERCYyChYiIiARGwUJEREQCo2AhIiIigVGwEBERkcAoWIiIiEhgFCxEJDTOuWLn3Abn3KODnq9xzu11zt0TVttEJDO6pbeIhMo5dz7ed4N8MfHdBM65h4EFwAfNrDvM9olIehQsRCR0zrn/ADQAF+F9s+LP8ULF62G2S0TSp2AhIqFz3vfH/xroBS4G/t7M7g63VSKSCQULEYkE59w8YBvwO2ChmfWE3CQRyYAu3hSRqPj3QAcwG5gZcltEJEM6YyEioXPOLQKeB/4A+Hr/09eZBiiR2NEZCxEJlXOuHPgR8JCZPQfcjHcB55fDbJeIZEbBQkTCdi/ggDsAzGw3cDvwbefcrNBaJSIZ0VshIhIa59w1wLPAR8zs/w363VNACXpLRCRWFCxEREQkMHorRERERAKjYCEiIiKBUbAQERGRwChYiIiISGAULERERCQwChYiIiISGAULERERCYyChYiIiARGwUJEREQCo2AhIiIigVGwEBERkcD8fz6+Gjab9Kx0AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sim = sim_cavity()\n", "f = plt.figure(dpi=100)\n", "sim.plot2D(ax=f.gca())\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can begin the time stepping and animate the fields. \n", "\n", "Just as in Tutorial/Basics/Modes of a Ring Resonator, we use the `harminv` command (which calls Harminv) to analyze the response at a point (here the $H_z$ field at the origin) for some time after the source has turned off." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error\n", "harminv0:, 0.23445415345698725, -0.0003147812363599428, 372.4080827818086, 5.812143030902256, -3.763107501450195-4.429450140163555i, 4.306293489743804e-09+0.0i\n", "run 0 finished at t = 450.0 (18000 timesteps)\n", "Normalizing field data...\n", "run 1 finished at t = 454.0 (18160 timesteps)\n" ] } ], "source": [ "h = mp.Harminv(mp.Hz, mp.Vector3(), fcen, df)\n", "sim.run(mp.after_sources(h), until_after_sources=400)\n", "\n", "f = plt.figure(dpi=150)\n", "animate = mp.Animate2D(f=f, fields=mp.Hz, realtime=False, normalize=True)\n", "\n", "sim.run(mp.at_every(1 / fcen / 20, animate), until=1 / fcen)\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generating MP4...\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "filename = \"media/hole-wvg-cavity-res.mp4\"\n", "animate.to_mp4(10, filename)\n", "Video(filename)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Inspecting the animation, we see a single resonant mode in the gap. We can verify this by pulling Harminv's results:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resonant frequency: 0.23445415345698725, Q: 372.4080827818086\n" ] } ], "source": [ "f = [m.freq for m in h.modes]\n", "Q = [m.Q for m in h.modes]\n", "\n", "for fiter, qiter in zip(f, Q):\n", " print(f\"Resonant frequency: {fiter}, Q: {qiter}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The mode has a frequency of 0.235, just as we saw in the transmission spectrum, and a $Q$ of 373 which we could have also found by fitting the transmission spectrum. This lifetime $Q$ includes two independent decay channels: light can decay from the cavity into the waveguide with lifetime $Q_w$, or it can radiate from the cavity into the surrounding air with lifetime $Q_r$, where\n", "\n", "$$\\frac{1}{Q} = \\frac{1}{Q_w} + \\frac{1}{Q_r}\n", "\n", "See Chapter 10 of Photonic Crystals: Molding the Flow of Light (second edition) for more details. There are a variety of ways to separate out the two decay channels. For example, we can look at the power radiated in different directions. Here, we'll just increase the number `N` of holes and see what happens — as we increase `N`, $Q_w$ should increase exponentially while $Q_r$ remains roughly fixed, so that $Q$ eventually saturates at $Q_r$." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", "harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error\n", "harminv0:, 0.2340278559161547, -0.0018734141261924503, 62.4602570900316, 4.626071402369734, -2.8205983802960652-3.6667098872005526i, 4.878861173642782e-09+0.0i\n", "run 0 finished at t = 450.0 (18000 timesteps)\n", "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", "harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error\n", "harminv0:, 0.23453222952425626, -7.30923087629776e-05, 1604.356419256047, 6.010010961462772, -3.965258312230556-4.516299178994806i, 2.5784755758812747e-09+0.0i\n", "harminv0:, 0.3203380792800332, -0.0028107745362353324, 56.98395142519764, 0.08939729348630548, -0.07611073206285417+0.04689384338623845i, 1.5030156708333963e-06+0.0i\n", "run 0 finished at t = 450.0 (18000 timesteps)\n", "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", "harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error\n", "harminv0:, 0.23454147739266504, -2.0401831532648347e-05, 5748.049556662018, 6.042373374596647, -3.9957221571700208+4.532601950396154i, 2.948523805875737e-09+0.0i\n", "harminv0:, 0.32588515566889864, -0.0018520908802034915, 87.97763628993552, 0.08796924097874716, -0.05533533077673982+0.06838558712335283i, 1.0559310146633343e-06+0.0i\n", "run 0 finished at t = 450.0 (18000 timesteps)\n", "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", "harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error\n", "harminv0:, 0.19490287264916165, -0.0007098826592777302, 137.27823190347084, 0.021882941703098496, -0.012928672972631956-0.017655383109633823i, 2.500625566886593e-06+0.0i\n", "harminv0:, 0.23454251746066898, -1.9496236307475725e-05, 6015.071672339521, 6.045187754860183, -3.9989015117156104-4.5335506715057345i, 3.135084966927066e-09+0.0i\n", "harminv0:, 0.325392318417585, -0.0028756252341051265, 56.57766432120712, 0.10346319679053909, -0.06988052223995311+0.07629774375162895i, 1.7085893425281652e-06+0.0i\n", "run 0 finished at t = 450.0 (18000 timesteps)\n", "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (8.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-8.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (9.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-9.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", "Meep progress: 397.32500000000005/450.0 = 88.3% done in 4.0s, 0.5s to go\n", "harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error\n", "harminv0:, 0.19654202912381852, -0.0001319711534889467, 744.6401123571296, 0.010139002924627917, -0.009080829279710545-0.0045097582971114i, 3.34141550460465e-06+0.0i\n", "harminv0:, 0.23454237393497965, -1.928288781118331e-05, 6081.619522749968, 6.044742625704984, -3.998564131543015-4.533254713442919i, 2.0904183509113547e-09+0.0i\n", "harminv0:, 0.32477010784223226, -0.0009459772540947283, 171.65851844557693, 0.10284612856999271, -0.05368440033289738+0.0877229235874676i, 2.3129729952416795e-07+0.0i\n", "run 0 finished at t = 450.0 (18000 timesteps)\n", "-----------\n", "Initializing structure...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (8.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-8.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (9.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-9.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (10.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-10.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (11.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-11.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", "Meep progress: 366.1/450.0 = 81.4% done in 4.0s, 0.9s to go\n", "harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error\n", "harminv0:, 0.1689088120846072, -0.0008445701020748057, 99.9969165790139, 0.00035136553844277774, -7.403109585265841e-05-0.00034347800286486707i, 4.7246283165373895e-05+0.0i\n", "harminv0:, 0.2345423978640612, -1.9291522826319817e-05, 6078.897969217604, 6.044913362697281, -3.9983665938157515-4.5336565974910785i, 1.6528012731386283e-09+0.0i\n", "harminv0:, 0.3112255725190105, -0.000515974557591914, 301.5900376672834, 0.014525642975353973, -0.013494086961301489-0.005376236688268417i, 3.824912357074424e-07+0.0i\n", "harminv0:, 0.3253120677284504, -0.0007471267911785511, 217.7087420565448, 0.10327042908975875, -0.0574294536238316+0.08582912897642073i, 1.5876314759103416e-07+0.0i\n", "run 0 finished at t = 450.0 (18000 timesteps)\n", "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (8.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-8.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (9.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-9.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (10.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-10.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (11.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-11.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (12.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-12.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (13.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-13.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", "Meep progress: 331.45000000000005/450.0 = 73.7% done in 4.0s, 1.4s to go\n", "harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error\n", "harminv0:, 0.18634339022479032, -0.0005848109413962261, 159.31934325638528, 0.008396135658688452, -0.0015504592340709706-0.008251737402667624i, 9.722082433583947e-06+0.0i\n", "harminv0:, 0.23454234757429138, -1.930720606601693e-05, 6073.9587792330785, 6.0453078999997, -3.9988080338829404-4.533793325015162i, 1.6246192346348785e-09+0.0i\n", "harminv0:, 0.3251536244537306, -0.0007666444458027871, 212.06285797404294, 0.10960733464915637, -0.0601241424854098+0.09164526883198224i, 1.4407296748106877e-07+0.0i\n", "run 0 finished at t = 450.0 (18000 timesteps)\n" ] } ], "source": [ "N_vec = np.arange(2, 16, 2)\n", "f = []\n", "Q = []\n", "for N in N_vec:\n", " sim = sim_cavity(N=N)\n", " h = mp.Harminv(mp.Hz, mp.Vector3(), fcen, df)\n", " sim.run(mp.after_sources(h), until_after_sources=400)\n", " f.append([m.freq for m in h.modes])\n", " Q.append([m.Q for m in h.modes])" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Resonant frequency: [0.2340278559161547], Q: [62.4602570900316]\n", "Resonant frequency: [0.23453222952425626, 0.3203380792800332], Q: [1604.356419256047, 56.98395142519764]\n", "Resonant frequency: [0.23454147739266504, 0.32588515566889864], Q: [5748.049556662018, 87.97763628993552]\n", "Resonant frequency: [0.19490287264916165, 0.23454251746066898, 0.325392318417585], Q: [137.27823190347084, 6015.071672339521, 56.57766432120712]\n", "Resonant frequency: [0.19654202912381852, 0.23454237393497965, 0.32477010784223226], Q: [744.6401123571296, 6081.619522749968, 171.65851844557693]\n", "Resonant frequency: [0.1689088120846072, 0.2345423978640612, 0.3112255725190105, 0.3253120677284504], Q: [99.9969165790139, 6078.897969217604, 301.5900376672834, 217.7087420565448]\n", "Resonant frequency: [0.18634339022479032, 0.23454234757429138, 0.3251536244537306], Q: [159.31934325638528, 6073.9587792330785, 212.06285797404294]\n" ] } ], "source": [ "for fiter, qiter in zip(f, Q):\n", " print(f\"Resonant frequency: {fiter}, Q: {qiter}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When we look at the Harminv output for larger N, something strange happens — it starts to find _more_ modes! We'll examine why later. First, let's visualize the Q around the fundamental mode we initially detected ($\\omega=0.234$)." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "idx = np.zeros(N_vec.shape)\n", "Q_fund = np.zeros(N_vec.shape)\n", "for i in range(N_vec.size):\n", " idx[i] = np.abs(np.array(f[i]) - 0.234).argmin()\n", " Q_fund[i] = Q[i][int(idx[i])]\n", "\n", "plt.figure(dpi=150)\n", "plt.semilogy(N_vec, Q_fund, \"o-\")\n", "plt.grid(True)\n", "plt.xlabel(\"N (# of periods)\")\n", "plt.ylabel(\"Q\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results, shown above, are exactly what we expected: at first, an exponential increase of $Q$ with `N`, and then a saturation at $Q_r≈8750$.\n", "\n", "Now, what is this extra mode at $\\omega$=0.32823? This is right around the edge of the band gap (actually, just above the edge). There are two possibilities. First, it could be a band edge state: the propagating states in the periodic waveguide go to zero group velocity as they approach the edge of the gap, corresponding to long-lived resonances in a long but finite crystal. Second, it could be a higher-order resonant mode that for a slightly larger defect will be pulled further into the gap, but is currently very delocalized. In this case, it turns out to be the latter. \n", "\n", "To see the mode, we will simply run the simulation again with a narrow-band source, and we will also increase the y cell size `sy` because it turns out that the mode is fairly spread out in that direction:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-----------\n", "Initializing structure...\n", " block, center = (0,0,0)\n", " size (1e+20,1.2,1e+20)\n", " axes (1,0,0), (0,1,0), (0,0,1)\n", " cylinder, center = (0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-0.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-1.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-2.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-3.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-4.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-5.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-6.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-7.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (8.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-8.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (9.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-9.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (10.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-10.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (11.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-11.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (12.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-12.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (13.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-13.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (14.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-14.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (15.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", " cylinder, center = (-15.7,0,0)\n", " radius 0.36, height 1e+20, axis (0, 0, 1)\n", "Meep progress: 184.5/700.0 = 26.4% done in 4.0s, 11.2s to go\n", "Meep progress: 363.225/700.0 = 51.9% done in 8.0s, 7.4s to go\n", "Meep progress: 547.7/700.0 = 78.2% done in 12.0s, 3.3s to go\n", "run 0 finished at t = 700.0 (28000 timesteps)\n" ] } ], "source": [ "sim = sim_cavity(N=16, sy=12, fcen=0.328227374843021, df=0.1)\n", "sim.run(until_after_sources=600)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f = plt.figure(dpi=150)\n", "sim.plot2D(ax=f.gca(), fields=mp.Hz)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the image, the field is clearly localized around the defect in the center as opposed to being spread out evenly in the crystal like a band-edge state would be. In the defect, the pattern is higher order than the previous mode. It has an extra pair of nodes in the y direction." ] }, { "cell_type": "code", "execution_count": null, "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.6.8" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }