{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "MiKvRj5u076V" }, "source": [ "## **ABOUT**\n", "This example illustrates the 2D multi-slice, Spin Echo (SE) acquisition using the `pypulseq` library. This sequence is typically used for T2 weighted imaging. A 2D Fourier transform can be used to reconstruct images from this acquisition. Read more about SE [here](http://mriquestions.com/se-vs-multi-se-vs-fse.html).\n", "\n", "**Contact**: For issues, write to ks3621@columbia.edu\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Y98YDJr215fa" }, "source": [ "## **INSTALL** `pypulseq`" ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "colab": {}, "colab_type": "code", "id": "ogKNAZH3TmgA" }, "outputs": [], "source": [ "!pip install git+https://github.com/imr-framework/pypulseq.git@dev" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "UgqzEwle2xCd" }, "source": [ "## **IMPORT PACKAGES**" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": {}, "colab_type": "code", "id": "3X7UsV832B6j" }, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'pypulseq'", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[3], line 5\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmath\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m pi\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[1;32m----> 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpypulseq\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mSequence\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Sequence\n\u001b[0;32m 6\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpypulseq\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcalc_duration\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m calc_duration\n\u001b[0;32m 7\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpypulseq\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmake_adc\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m make_adc\n", "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'pypulseq'" ] } ], "source": [ "from math import pi\n", "\n", "import numpy as np\n", "\n", "from pypulseq.Sequence import Sequence\n", "from pypulseq.calc_duration import calc_duration\n", "from pypulseq.make_adc import make_adc\n", "from pypulseq.make_delay import make_delay\n", "from pypulseq.make_sinc_pulse import make_sinc_pulse\n", "from pypulseq.make_trapezoid import make_trapezoid\n", "from pypulseq.opts import Opts" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "UQ4AWw9l4et_" }, "source": [ "## **USER INPUTS**\n", "\n", "These parameters are typically on the user interface of the scanner computer console " ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "colab": {}, "colab_type": "code", "id": "ssnNwiQH4q_0" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "User inputs setup\n" ] } ], "source": [ "nsa = 1 # Number of averages\n", "n_slices = 3 # Number of slices\n", "Nx = 128\n", "Ny = 128\n", "fov = 220e-3 # mm\n", "slice_thickness = 5e-3 # s\n", "slice_gap = 15e-3 # s\n", "rf_flip = 90 # degrees\n", "rf_offset = 0\n", "print('User inputs setup')" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "PeYeI0V45ZfD" }, "source": [ "## **SYSTEM LIMITS**\n", "Set the hardware limits and initialize sequence object" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": {}, "colab_type": "code", "id": "XHs1LT965kqg" }, "outputs": [], "source": [ "system = Opts(max_grad=32, grad_unit='mT/m', max_slew=130, slew_unit='T/m/s', \n", " grad_raster_time=10e-6, rf_ringdown_time=10e-6, \n", " rf_dead_time=100e-6)\n", "seq = Sequence(system)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "ee-xBrpa7Zyn" }, "source": [ "## **TIME CONSTANTS**" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "colab": {}, "colab_type": "code", "id": "u2dW2nRf7obq" }, "outputs": [], "source": [ "TE = 100e-3 # s\n", "TR = 3 # s\n", "tau = TE / 2 # s\n", "readout_time = 6.4e-3\n", "pre_time = 8e-4 # s" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "OTw7M03g79bH" }, "source": [ "## **RF**" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": {}, "colab_type": "code", "id": "XDZyQrbL8I3Q" }, "outputs": [], "source": [ "flip90 = round(rf_flip * pi / 180, 3)\n", "flip180 = 180 * pi / 180\n", "rf90, gz90, _ = make_sinc_pulse(flip_angle=flip90, system=system, duration=4e-3, \n", " slice_thickness=slice_thickness, apodization=0.5, \n", " time_bw_product=4, return_gz = True)\n", "rf180, gz180, _ = make_sinc_pulse(flip_angle=flip180, system=system, \n", " duration=2.5e-3, \n", " slice_thickness=slice_thickness, \n", " apodization=0.5, \n", " time_bw_product=4, phase_offset=90 * pi/180, return_gz = True)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "RFSHuUOG9LHK" }, "source": [ "## **READOUT**\n", "Readout gradients and related events" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "colab": {}, "colab_type": "code", "id": "Q8p-CttI9dk9" }, "outputs": [], "source": [ "delta_k = 1 / fov\n", "k_width = Nx * delta_k\n", "gx = make_trapezoid(channel='x', system=system, flat_area=k_width, \n", " flat_time=readout_time)\n", "adc = make_adc(num_samples=Nx, duration=gx.flat_time, delay=gx.rise_time)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "o829kzm8kVFB" }, "source": [ "## **PREPHASE AND REPHASE**" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": {}, "colab_type": "code", "id": "m5zA1bMakTVs" }, "outputs": [], "source": [ "phase_areas = (np.arange(Ny) - (Ny / 2)) * delta_k\n", "gz_reph = make_trapezoid(channel='z', system=system, area=-gz90.area / 2,\n", " duration=2.5e-3)\n", "gx_pre = make_trapezoid(channel='x', system=system, flat_area=k_width / 2, \n", " flat_time=readout_time / 2)\n", "gy_pre = make_trapezoid(channel='y', system=system, area=phase_areas[-1], \n", " duration=2e-3)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "5Css5esAkYHo" }, "source": [ "## **SPOILER**" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "colab": {}, "colab_type": "code", "id": "R1DOmoKKkawr" }, "outputs": [], "source": [ "gz_spoil = make_trapezoid(channel='z', system=system, area=gz90.area * 4,\n", " duration=pre_time * 4)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "3F5JUpE9-4lo" }, "source": [ "## **DELAYS**\n", "Echo time (TE) and repetition time (TR). Here, TE is broken down into `delay1` and `delay2`." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "colab": {}, "colab_type": "code", "id": "aOKRJclb_mDQ" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "delay_1: namespace(type='delay', delay=0.04281)\n", "delay_2: namespace(type='delay', delay=0.04281)\n", "delay_TR: namespace(type='delay', delay=2.8927250000000004)\n" ] } ], "source": [ "delay1 = tau - calc_duration(rf90) / 2 - calc_duration(gx_pre)\n", "delay1 -= calc_duration(gz_spoil) - calc_duration(rf180) / 2\n", "delay1 = make_delay(delay1)\n", "delay2 = tau - calc_duration(rf180) / 2 - calc_duration(gz_spoil)\n", "delay2 -= calc_duration(gx) / 2\n", "delay2 = make_delay(delay2)\n", "delay_TR = TR - calc_duration(rf90) / 2 - calc_duration(gx) / 2 - TE\n", "delay_TR -= calc_duration(gy_pre)\n", "delay_TR = make_delay(delay_TR)\n", "print(f'delay_1: {delay1}')\n", "print(f'delay_2: {delay1}')\n", "print(f'delay_TR: {delay_TR}')" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "6Dq4wT-UAEOR" }, "source": [ "## **CONSTRUCT SEQUENCE**\n", "Construct sequence for one phase encode and multiple slices" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": {}, "colab_type": "code", "id": "B8ZmVkkrAXnK" }, "outputs": [], "source": [ "# Prepare RF offsets. This is required for multi-slice acquisition\n", "delta_z = n_slices * slice_gap\n", "z = np.linspace((-delta_z / 2), (delta_z / 2), n_slices) + rf_offset\n", "\n", "for k in range(nsa): # Averages\n", " for j in range(n_slices): # Slices\n", " # Apply RF offsets\n", " freq_offset = gz90.amplitude * z[j]\n", " rf90.freq_offset = freq_offset\n", "\n", " freq_offset = gz180.amplitude * z[j]\n", " rf180.freq_offset = freq_offset\n", "\n", " for i in range(Ny): # Phase encodes\n", " seq.add_block(rf90, gz90)\n", " gy_pre = make_trapezoid(channel='y', system=system, \n", " area=phase_areas[-i -1], duration=2e-3)\n", " seq.add_block(gx_pre, gy_pre, gz_reph)\n", " seq.add_block(delay1)\n", " seq.add_block(gz_spoil)\n", " seq.add_block(rf180, gz180)\n", " seq.add_block(gz_spoil)\n", " seq.add_block(delay2)\n", " seq.add_block(gx, adc)\n", " gy_pre = make_trapezoid(channel='y', system=system, \n", " area=-phase_areas[-j -1], duration=2e-3)\n", " seq.add_block(gy_pre, gz_spoil)\n", " seq.add_block(delay_TR)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "l-YP9djBJCpC" }, "source": [ "## **PLOTTING TIMNG DIAGRAM**" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "colab": {}, "colab_type": "code", "id": "d_iCUR4nfoH9" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHVCAYAAAB8NLYkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABcuElEQVR4nO3deVxU9f4/8NfMwMyICYQLi8hirpgrKmI30SuK5RUrv2V2XW+ZdTXLLTVN0xatTC2zzK7p43Zvat4M/WVpyBe3xPxel9wXUsENVIwdh2Hm8/sDGRmZgRk4B5gzr+fjMQ+Ycz7nnPfh3UxvP+d8PkclhBAgIiIiIpenrusAiIiIiEgaLOyIiIiIFIKFHREREZFCsLAjIiIiUggWdkREREQKwcKOiIiISCFY2BEREREpBAs7IiIiIoVgYUdERESkECzsiIiIiBTCpQq7PXv2YMiQIQgKCoJKpUJCQkKV2+zatQvdunWDTqdDq1atsG7dOtnjJCIiIqoLLlXYFRQUoHPnzli5cqVD7S9evIjBgwejX79+OHr0KF577TW88MIL2LFjh8yREhEREdU+lRBC1HUQ1aFSqfD999/jiSeesNtm5syZ2LZtG06cOGFZ9uyzzyI7Oxvbt2+vhSiJiIiIao9HXQcgp5SUFMTGxloti4uLw2uvvWZ3G4PBAIPBYHlvNptx+/ZtNG7cGCqVSq5QiYiISMGEEMjLy0NQUBDUavkumCq6sMvIyIC/v7/VMn9/f+Tm5qKoqAgNGjSosM2iRYuwYMGC2gqRiIiI3Mjly5cRHBws2/4VXdhVx+zZszF16lTL+5ycHISEhODcuXPw8/Orw8ioMkajEcnJyejXrx88PT3rOhyqBHPlGpgn18A8uY7bt2+jTZs2aNSokazHUXRhFxAQgMzMTKtlmZmZ8Pb2ttlbBwA6nQ46na7Ccj8/PzRu3FiWOKnmjEYjvLy80LhxY3651XPMlWtgnlwD8+R65L6ty6VGxTorOjoaSUlJVssSExMRHR1dRxERERERycelCrv8/HwcPXoUR48eBVA6ncnRo0eRnp4OoPQy6ujRoy3tX3rpJVy4cAGvv/46zpw5g88++wzffvstpkyZUhfhExEREcnKpQq7//73v+jatSu6du0KAJg6dSq6du2KefPmAQCuX79uKfIAIDw8HNu2bUNiYiI6d+6Mjz76CP/4xz8QFxdXJ/ETERERycml7rHr27cvKpt2z9ZTJfr27YsjR47IGBURERFR/eBSPXZEREREZB8LOyIiIiKFYGFHREREpBAs7IiIiIgUgoUdERERkUKwsCMiIiJSCBZ2RERERArBwo6IiIhIIVjYERERESkECzsiIiIihWBhR0RERKQQLOyIiIiIFIKFHREREZFCsLAjIiIiUggWdkREREQKwcKOiIiISCFY2BEREREpBAs7IiIiIoVgYUdERESkECzsiIiIiBSChR0RERGRQrCwIyIiIlIIFnZERERECsHCjoiIiEghWNgRERERKQQLOyIiIiKFYGFHREREpBAs7IiIiIgUgoUdERERkUKwsCMiIiJSCBZ2RERERArBwo6IiIhIIVjYERERESkECzsiIiIihZCtsDOZTDh27BiKiooqrCssLMSxY8dgNpvlOjwRERGR25GtsPv666/xt7/9DVqttsI6rVaLv/3tb/jmm2/kOjwRERGR25GtsFuzZg2mT58OjUZTYZ2Hhwdef/11rF69Wq7DExEREbkd2Qq7s2fPolevXnbX9+jRA6dPn5br8ERERERuR7bCrqCgALm5uXbX5+XlobCwUK7DExEREbkd2Qq71q1bY//+/XbX79u3D61bt5br8ERERERuR7bC7rnnnsPcuXNx7NixCut+++03zJs3D88995xchyciIiJyOx5y7XjKlCn46aefEBkZidjYWLRr1w4AcObMGezcuROPPPIIpkyZItfhiYiIiNyObIWdp6cnfv75ZyxbtgzffPMN9uzZAyEE2rRpg3fffRevvfYaPD095To8ERERkduR9ckTnp6eeP3113H06FEUFBSgsLAQR48exeuvv25zfjtHrFy5EmFhYdDr9YiKisLBgwfttl23bh1UKpXVS6/XV/d0iIiIiOo12XrsygghcOjQIVy6dAkqlQotW7ZEly5doFKpnN7Xxo0bMXXqVKxatQpRUVFYvnw54uLicPbsWTRr1szmNt7e3jh79qzlfXWOS0REROQKZC3skpOT8fzzzyMtLQ1CCAClhVV4eDi++uor9OnTx6n9LV26FOPHj8e4ceMAAKtWrcK2bdvw1VdfYdasWTa3UalUCAgIcPgYBoMBBoPB8r5syhaj0Qij0ehUvFR7ynLDHNV/zJVrYJ5cA/PkOmorR7IVdqmpqfjLX/6CqKgoLFu2DO3atYMQAqdOncInn3yCxx9/HMeOHUPLli0d2l9xcTEOHTqE2bNnW5ap1WrExsYiJSXF7nb5+fkIDQ2F2WxGt27d8N5776FDhw522y9atAgLFiyosDw5ORleXl4OxUp1JzExsa5DIAcxV66BeXINzFP9V1tz96pEWVeaxCZNmoTTp08jKSmpwjohBGJjYxEREYEVK1Y4tL9r166hefPm2L9/P6Kjoy3LX3/9dezevRu//vprhW1SUlJw/vx5dOrUCTk5OViyZAn27NmDkydPIjg42OZxbPXYtWjRAtevX0fjxo0dipVqn9FoRGJiIgYMGMBBOfUcc+UamCfXwDy5jqysLAQGBiInJwfe3t6yHUe2Hrtdu3Zh0aJFNtepVCq89tprVr1vcoiOjrYqAnv37o327dvjiy++wNtvv21zG51OB51OV2G5p6cnPzQugHlyHcyVa2CeXAPzVP/VVn5kGxWbnp6Ojh072l3/8MMPIy0tzeH9NWnSBBqNBpmZmVbLMzMzHb6HztPTE127dkVqaqrDxyUiIiJyFbIVdvn5+ZXek+bl5eXU9WatVovIyEirS7tmsxlJSUlWvXKVMZlMOH78OAIDAx0+LhEREZGrkHVU7KlTp5CRkWFz3a1bt5ze39SpUzFmzBh0794dPXv2xPLly1FQUGAZJTt69Gg0b97ccgl44cKF6NWrF1q1aoXs7Gx8+OGHSEtLwwsvvFD9kyIiIiKqp2Qt7Pr374/KxmY4O6fc8OHDcfPmTcybNw8ZGRno0qULtm/fDn9/fwCll3/V6nudkH/88QfGjx+PjIwMPPjgg4iMjMT+/fsRERFRvRMiIiIiqsdkK+wuXrxYZZu8vDyn9ztp0iRMmjTJ5rpdu3ZZvV+2bBmWLVvm9DGIiIiIXJFshV1oaKjN5Xl5eVi/fj3WrFmD//73vzCZTHKFQERERORWZH1WbHl79uzBmDFjEBgYiCVLlqBfv344cOBAbR2eiIiISPFkvccuIyMD69atw5o1a5Cbm4tnnnkGBoMBCQkJvM+NiIiISGKy9dgNGTIEbdu2xbFjx7B8+XJcu3bN4adMEBEREZHzZOux++mnnzB58mS8/PLLaN26tVyHISIiIqK7ZOux27dvH/Ly8hAZGYmoqCh8+umn1Zq7joiIiIgcI1th16tXL3z55Ze4fv06JkyYgA0bNiAoKAhmsxmJiYnVmuqEiIiIiOyTfVRsw4YN8be//Q379u3D8ePHMW3aNCxevBjNmjVDfHy83IcnIiIichu1Nt0JALRt2xYffPABrly5gvXr19fmoYmIiIgUr1YLuzIajQZPPPEEtm7dWheHJyIiIlKkOinsiIiIiEh6LOyIiIiIFIKFHREREZFCsLAjIiIiUggWdkREREQKwcKOiIiISCFY2BEREREpBAs7IiIiIoVgYUdERESkECzsiIiIiBSChR0RERGRQrCwIyIiIlIIFnZERERECsHCjoiIiEghWNgRERERKQQLOyIiIiKFYGFHREREpBAs7IiIiIgUgoUdERERkUKwsCMiIiJSCBZ2RERERArBwo6IiIhIIVjYERERESkECzsiIiIihWBhR0RERKQQLOyIiIiIFIKFHREREZFCsLAjIiIiUggWdkREREQKwcKOiIiISCFY2BEREREpBAs7IiIiIoVgYUdERESkEC5X2K1cuRJhYWHQ6/WIiorCwYMHK22/adMmtGvXDnq9Hh07dsSPP/5YS5ESERER1S6XKuw2btyIqVOnYv78+Th8+DA6d+6MuLg43Lhxw2b7/fv3Y8SIEXj++edx5MgRPPHEE3jiiSdw4sSJWo6ciIiISH4qIYSo6yAcFRUVhR49euDTTz8FAJjNZrRo0QKvvPIKZs2aVaH98OHDUVBQgB9++MGyrFevXujSpQtWrVpl8xgGgwEGg8HyPicnByEhITh37hz8/PwkPiOSitFoRHJyMvr16wdPT8+6DocqwVy5BubJNTBPruP27dto06YNsrOz4ePjI9txPGTbs8SKi4tx6NAhzJ4927JMrVYjNjYWKSkpNrdJSUnB1KlTrZbFxcUhISHB7nEWLVqEBQsWVFjepk2b6gVOREREdFdWVhYLOwC4desWTCYT/P39rZb7+/vjzJkzNrfJyMiw2T4jI8PucWbPnm1VDGZnZyM0NBTp6emyJoJqJjc3Fy1atMDly5fh7e1d1+FQJZgr18A8uQbmyXWUXQGU++qfyxR2tUWn00Gn01VY7uPjww+NC/D29maeXARz5RqYJ9fAPLkOtVre4Q0uM3iiSZMm0Gg0yMzMtFqemZmJgIAAm9sEBAQ41Z6IiIjIlblMYafVahEZGYmkpCTLMrPZjKSkJERHR9vcJjo62qo9ACQmJtptT0REROTKXOpS7NSpUzFmzBh0794dPXv2xPLly1FQUIBx48YBAEaPHo3mzZtj0aJFAIBXX30VMTEx+OijjzB48GBs2LAB//3vf7F69WqHj6nT6TB//nybl2ep/mCeXAdz5RqYJ9fAPLmO2sqVS013AgCffvopPvzwQ2RkZKBLly745JNPEBUVBQDo27cvwsLCsG7dOkv7TZs2Ye7cubh06RJat26NDz74AI8//ngdRU9EREQkH5cr7IiIiIjINpe5x46IiIiIKsfCjoiIiEghWNgRERERKQQLOyIiIiKFcLvCbuXKlQgLC4Ner0dUVBQOHjxYaftNmzahXbt20Ov16NixI3788Uer9UIIzJs3D4GBgWjQoAFiY2Nx/vx5OU/BbUiZK6PRiJkzZ6Jjx45o2LAhgoKCMHr0aFy7dk3u01A8qT9T5b300ktQqVRYvny5xFG7HznydPr0acTHx8PHxwcNGzZEjx49kJ6eLtcpuA2pc5Wfn49JkyYhODgYDRo0QEREBFatWiXnKbgFZ/J08uRJDBs2DGFhYZV+pzmbe5uEG9mwYYPQarXiq6++EidPnhTjx48Xvr6+IjMz02b7X375RWg0GvHBBx+IU6dOiblz5wpPT09x/PhxS5vFixcLHx8fkZCQIH777TcRHx8vwsPDRVFRUW2dliJJnavs7GwRGxsrNm7cKM6cOSNSUlJEz549RWRkZG2eluLI8Zkqs3nzZtG5c2cRFBQkli1bJvOZKJsceUpNTRV+fn5ixowZ4vDhwyI1NVVs2bLF7j7JMXLkavz48eKhhx4SycnJ4uLFi+KLL74QGo1GbNmypbZOS3GczdPBgwfF9OnTxfr160VAQIDN7zRn92mPWxV2PXv2FBMnTrS8N5lMIigoSCxatMhm+2eeeUYMHjzYallUVJSYMGGCEEIIs9ksAgICxIcffmhZn52dLXQ6nVi/fr0MZ+A+pM6VLQcPHhQARFpamjRBuyG58nTlyhXRvHlzceLECREaGsrCrobkyNPw4cPFyJEj5QnYjcmRqw4dOoiFCxdatenWrZuYM2eOhJG7F2fzVJ6977Sa7LM8t7kUW1xcjEOHDiE2NtayTK1WIzY2FikpKTa3SUlJsWoPAHFxcZb2Fy9eREZGhlUbHx8fREVF2d0nVU2OXNmSk5MDlUoFX19fSeJ2N3LlyWw2Y9SoUZgxYwY6dOggT/BuRI48mc1mbNu2DW3atEFcXByaNWuGqKgoJCQkyHYe7kCuz1Tv3r2xdetWXL16FUIIJCcn49y5cxg4cKA8J6Jw1clTbe7TbQq7W7duwWQywd/f32q5v78/MjIybG6TkZFRafuyn87sk6omR67ud+fOHcycORMjRoyAt7e3NIG7Gbny9P7778PDwwOTJ0+WPmg3JEeebty4gfz8fCxevBiDBg3Czz//jCeffBJPPfUUdu/eLc+JuAG5PlMrVqxAREQEgoODodVqMWjQIKxcuRJ9+vSR/iTcQHXyVJv7dKlnxRJJwWg04plnnoEQAp9//nldh0PlHDp0CB9//DEOHz4MlUpV1+GQHWazGQAwdOhQTJkyBQDQpUsX7N+/H6tWrUJMTExdhkf3WbFiBQ4cOICtW7ciNDQUe/bswcSJExEUFFSht49cn9v02DVp0gQajQaZmZlWyzMzMxEQEGBzm4CAgErbl/10Zp9UNTlyVaasqEtLS0NiYiJ762pAjjzt3bsXN27cQEhICDw8PODh4YG0tDRMmzYNYWFhspyH0smRpyZNmsDDwwMRERFWbdq3b89RsTUgR66KiorwxhtvYOnSpRgyZAg6deqESZMmYfjw4ViyZIk8J6Jw1clTbe7TbQo7rVaLyMhIJCUlWZaZzWYkJSUhOjra5jbR0dFW7QEgMTHR0j48PBwBAQFWbXJzc/Hrr7/a3SdVTY5cAfeKuvPnz2Pnzp1o3LixPCfgJuTI06hRo3Ds2DEcPXrU8goKCsKMGTOwY8cO+U5GweTIk1arRY8ePXD27FmrNufOnUNoaKjEZ+A+5MiV0WiE0WiEWm39v3uNRmPpeSXnVCdPtbpPp4ZauLgNGzYInU4n1q1bJ06dOiVefPFF4evrKzIyMoQQQowaNUrMmjXL0v6XX34RHh4eYsmSJeL06dNi/vz5Nqc78fX1FVu2bBHHjh0TQ4cO5XQnEpA6V8XFxSI+Pl4EBweLo0ePiuvXr1teBoOhTs5RCeT4TN2Po2JrTo48bd68WXh6eorVq1eL8+fPixUrVgiNRiP27t1b6+enJHLkKiYmRnTo0EEkJyeLCxcuiLVr1wq9Xi8+++yzWj8/pXA2TwaDQRw5ckQcOXJEBAYGiunTp4sjR46I8+fPO7xPR7lVYSeEECtWrBAhISFCq9WKnj17igMHDljWxcTEiDFjxli1//bbb0WbNm2EVqsVHTp0ENu2bbNabzabxZtvvin8/f2FTqcT/fv3F2fPnq2NU1E8KXN18eJFAcDmKzk5uZbOSJmk/kzdj4WdNOTI05o1a0SrVq2EXq8XnTt3FgkJCXKfhluQOlfXr18XY8eOFUFBQUKv14u2bduKjz76SJjN5to4HcVyJk/2/h8UExPj8D4dpRJCiGr1GxIRERFRveI299gRERERKR0LOyIiIiKFYGFHREREpBAs7IiIiIgUgoUdERERkUKwsCMiIiJSCBZ2RERERArBwo6IiIhIIVjYERERESkECzsiIiIihWBhR0RERKQQLOyIiIiIFIKFHREREZFCsLAjIiIiUggWdkREREQK4VHXAdR3ZrMZ165dQ6NGjaBSqeo6HCIiInJBQgjk5eUhKCgIarV8/Wos7Kpw7do1tGjRoq7DICIiIgW4fPkygoODZds/C7sqNGrUCABw8eJF+Pn51XE0ZI/RaMTPP/+MgQMHwtPTs67DoUowV66BeXINzJPruH37NsLDwy11hVxY2FWh7PJro0aN4O3tXcfRkD1GoxFeXl7w9vbml1s9x1y5BubJNTBPrsNoNAKA7Ld1cfAEERERkUKwsCMicgVXDgFZv9d1FERUz7GwIyJyBf/oD2yZVNdREFE9x8KOiMglCCDnSl0HQUT1HAs7IiJXwbk0iagKLOyIiOo7s/nuz5K6jYOI6j0WdkRE9Z2xoPSnEHUbBxHVeyzsiIjqO0N+6c/igrqNg4jqPRZ2RET1XXE+4Nmw9Cd77YioEizsiIjqO0Me0MgfECagxFDX0RBRPcbCjoiovivOB/Q+gEeD0t+JiOyQ7Fmx2dnZ+P7777F3716kpaWhsLAQTZs2RdeuXREXF4fevXtLdSgiIvdiyAe0DwBar9LCrmGTuo6IiOqpGvfYXbt2DS+88AICAwPxzjvvoKioCF26dEH//v0RHByM5ORkDBgwABEREdi4caMUMRMRuRdjIeDpVdpjx0uxRFSJGvfYde3aFWPGjMGhQ4cQERFhs01RURESEhKwfPlyXL58GdOnT6/pYYmI3EeJAfDQlb5K7tR1NERUj9W4sDt16hQaN25caZsGDRpgxIgRGDFiBLKysmp6SCIi92IqK+z0QElxXUdDRPVYjS/FVlXU1bQ9EZHbKykGNOyxI6KqSToqVqPRoF+/frh9+7bV8szMTGg0GikPRUTkPkrulOux4z12RGSfpIWdEAIGgwHdu3fHyZMnK6wjIqJqMBXzHjsicoikhZ1KpcJ3332HIUOGIDo6Glu2bLFaR0RE1VBiADRaFnZEVCXJe+w0Gg0+/vhjLFmyBMOHD8c777zD3joiopowlR8Vy0uxRGSfZBMU3+/FF19E69at8fTTT2PPnj1yHYaISPlKigG979177NhjR0T2SdpjFxoaajVIol+/fjhw4AAuX74s5WGIiNwLe+yIyEGS9thdvHixwrJWrVrhyJEjyMzMlPJQRETuo6S4tLeOPXZEVAVJe+zs0ev1CA0NrY1DEREpj6n84An22BGRfZL02D344IMOjXq9f347IiJyQEn5J0+wx46I7JOksFu+fLnldyEEXn75ZSxcuBDNmjWTYvdERO6t/HQnhvy6joaI6jFJCrsxY8ZYvX/llVcwbNgwtGzZUordExG5t7LBExrOY0dElauVe+yIiKgGyj8r1lRc19EQUT3Gwo6IqL4zGQAPPnmCiKrGwo6IqL4rm+5Ew1GxRFQ5Se6xmzp1qtX74uJivPvuu/Dx8bFavnTpUikOR0TkXizTnWh5KZaIKiVJYXfkyBGr971798aFCxesljkyHQoREdlQUlxu8AR77IjIPkkKu+TkZCl2Q0REtpSfoJg9dkRUCd5jR0RU35XcKfesWA6eICL7alzYLV68GIWFhQ61/fXXX7Ft27aaHpKIyL2UTXei0ZX+TkRkR40Lu1OnTiE0NBR///vf8dNPP+HmzZuWdSUlJTh27Bg+++wz9O7dG8OHD0ejRo0c2u9bb70FlUpl9WrXrp1l/Z07dzBx4kQ0btwYDzzwAIYNG4bMzEyrfaSnp2Pw4MHw8vJCs2bNMGPGDJSUlNT0lImIalfZBMUe2tLfiYjsqPE9dv/85z/x22+/4dNPP8Vzzz2H3NxcaDQa6HQ6S09e165d8cILL2Ds2LHQ6/UO77tDhw7YuXPnvWA97oU7ZcoUbNu2DZs2bYKPjw8mTZqEp556Cr/88gsAwGQyYfDgwQgICMD+/ftx/fp1jB49Gp6ennjvvfdqetpERLXDVAIIc7nBE+yxIyL7JBk80blzZ3z55Zf44osvcOzYMaSlpaGoqAhNmjRBly5d0KRJk+oF5+GBgICACstzcnKwZs0afPPNN/jzn/8MAFi7di3at2+PAwcOoFevXvj5559x6tQp7Ny5E/7+/ujSpQvefvttzJw5E2+99Ra0Wq3NYxoMBhgM9/5FnJubCwAwGo0wGo3VOg+SX1lumKP6j7lyUnEBPAEYzSoAaniU3EFJLfztmCfXwDy5jtrKkSSFXRm1Wo0uXbqgS5cukuzv/PnzCAoKgl6vR3R0NBYtWoSQkBAcOnQIRqMRsbGxlrbt2rVDSEgIUlJS0KtXL6SkpKBjx47w9/e3tImLi8PLL7+MkydPomvXrjaPuWjRIixYsKDC8uTkZHh5eUlyXiSfxMTEug6BHMRcOcazJB9xKg/8+NNP0Bdnod+dAvz044+1dnzmyTUwT/Wfo+MRakrSwk5KUVFRWLduHdq2bYvr169jwYIFePTRR3HixAlkZGRAq9XC19fXaht/f39kZGQAADIyMqyKurL1ZevsmT17ttWEy7m5uWjRogX69euHxo0bS3R2JDWj0YjExEQMGDAAnp6edR0OVYK5clJeBtRn9Xj88ceBgpvwOPtG6e8yY55cA/PkOrKysmrlOPW2sHvssccsv3fq1AlRUVEIDQ3Ft99+iwYNGsh2XJ1OB51OV2G5p6cnPzQugHlyHcyVg1Sl99d5enoC+oaAyVCrfzfmyTUwT/VfbeXHZeax8/X1RZs2bZCamoqAgAAUFxcjOzvbqk1mZqblnryAgIAKo2TL3tu6b4+IqF4yGUsnJwZKB08Ic+mACiIiG1ymsMvPz8fvv/+OwMBAREZGwtPTE0lJSZb1Z8+eRXp6OqKjowEA0dHROH78OG7cuGFpk5iYCG9vb0RERNR6/ERE1WIqLlfY3f3JKU+IyI56eyl2+vTpGDJkCEJDQ3Ht2jXMnz8fGo0GI0aMgI+PD55//nlMnToVfn5+8Pb2xiuvvILo6Gj06tULADBw4EBERERg1KhR+OCDD5CRkYG5c+di4sSJNi+1EhHVS+ULO7W69PcSA6BtWLdxEVG9JGlh9+STT0KlUlVYrlKpoNfr0apVKzz33HNo27Ztlfu6cuUKRowYgaysLDRt2hR/+tOfcODAATRt2hQAsGzZMqjVagwbNgwGgwFxcXH47LPPLNtrNBr88MMPePnllxEdHY2GDRtizJgxWLhwoXQnTEQkt/KFHXB3Ljv22BGRbZIWdj4+PkhISICvry8iIyMBAIcPH0Z2djYGDhyIjRs34v3330dSUhIeeeSRSve1YcOGStfr9XqsXLkSK1eutNsmNDQUP9bitABERJIzFQOacjdd8+kTRFQJSQu7gIAAPPfcc/j000+hVpfevmc2m/Hqq6+iUaNG2LBhA1566SXMnDkT+/btk/LQRETKZCoufepEGT59gogqIengiTVr1uC1116zFHVA6aTFr7zyClavXg2VSoVJkybhxIkTUh6WiEi5Su67FMseOyKqhKSFXUlJCc6cOVNh+ZkzZ2AymQCUXkK1dR8eERHZUOFSrJ49dkRkl6SXYkeNGoXnn38eb7zxBnr06AEA+L//+z+89957GD16NABg9+7d6NChg5SHJSJSrgqDJ7RAyZ26i4eI6jVJC7tly5bB398fH3zwgWUyYH9/f0yZMgUzZ84EUDoNyaBBg6Q8LBGRct1f2HnoeCmWiOyStLDTaDSYM2cO5syZg9zcXACAt7e3VZuQkBApD0lEpGw2pzvhpVgisk22CYrvL+iIiKgayj9SDODgCSKqlOSF3X/+8x98++23SE9PR3Gx9b8qDx8+LPXhiIiUzVRcWsyV4eAJIqqEpKNiP/nkE4wbNw7+/v44cuQIevbsicaNG+PChQt47LHHpDwUEZF7KDFw8AQROUzSwu6zzz7D6tWrsWLFCmi1Wrz++utITEzE5MmTkZOTI+WhiIjcQ4VLsRw8QUT2SVrYpaeno3fv3gCABg0aIC8vD0DpNCjr16+X8lBERO7h/nnsNFpeiiUiuyQt7AICAnD79m0ApaNfDxw4AAC4ePEihBBSHoqIyD2YDKUjYcuwx46IKiFpYffnP/8ZW7duBQCMGzcOU6ZMwYABAzB8+HA8+eSTUh6KiMg9mIx88gQROUzSUbGrV6+G2WwGAEycOBGNGzfG/v37ER8fjwkTJkh5KCIi92DryRPssSMiOyQt7NRqNdTqe52Azz77LJ599lkpD0FE5F5sPXnCkFd38RBRvSb5PHZ37tzBsWPHcOPGDUvvXZn4+HipD0dEpGwl981jp9GWToFCRGSDpIXd9u3bMXr0aNy6davCOpVKBZPJJOXhiIiUr0KPnZ6XYonILkkHT7zyyit4+umncf36dZjNZqsXizoiomqw9UgxDp4gIjskLewyMzMxdepU+Pv7S7lbIiL3ZTLcN48dpzshIvskLez+53/+B7t27ZJyl0RE7s1UXHEeO95jR0R2SHqP3aeffoqnn34ae/fuRceOHeHp6Wm1fvLkyVIejohI+e6/FMvBE0RUCUkLu/Xr1+Pnn3+GXq/Hrl27oFKpLOtUKhULOyIiZ93/SDEPfekyIiIbJC3s5syZgwULFmDWrFlW89kREVE1lRSXXn4t48EeOyKyT9Lqq7i4GMOHD3fLos5sFhj+RQpeWX+krkMhIiW5v8eOgyeIqBKSVmBjxozBxo0bpdyly/jtSjbOZuZhx8kMXM0uqutwiEgpbD15gj12RGSHpJdiTSYTPvjgA+zYsQOdOnWqMHhi6dKlUh6uXvkl9RYeezgAN/OKse/8TQzvEVLXIRGREth6ViwLOyKyQ9LC7vjx4+jatSsA4MSJE1bryg+kUKKjl3Mw6OEAZObewYmruRjeo64jIiJFsPnkCQ6eICLbJC3skpOTpdydS7l8uxDhTbzg19AT/3vmRl2HQ0RKUaGwY48dEdknaWHnroQQSL9diBZ+Xgg0CZzNyIMQQvG9lERUC0ruvxSrY48dEdnFwk4CN/NL//Xc9AEdhACMJjNuFxSj8QO6KrYkIqpChXnsdEDJnbqLh4jqNfebl0QGl28XIsTPCyqVCmq1CiF+XriUVVjXYRGRqzOVAMIEeDa4t0yjLS32hKi7uIio3mJhJ4G0rEKENPayvA9t3BDptwvqMCIiUoSynrn7B08AvBxLRDaxsJNA+t0euzKhjb1w6RZ77IiohkrulBZy5e/X1XgAKjUHUBCRTZIUdn369EF2drbl/datW1FU5D6T9KZnVSzs0m+zsCOiGiq5Y/04sTIcQEFEdkhS2O3btw/Fxfe+ZEaOHInr169LsWuXkH7b+lJsiB8LOyKSQIkB8GhQcTmnPCEiO2S5FCvc7KbetPsuxbKwIyJJVNZjx5GxRGQD77GroaJiE7LyDQh+8N6/qps/2ABZ+QYUFZvqMDIicnnGO/cGS5THp08QkR2SzWO3Y8cO+Pj4AADMZjOSkpIqPFYsPj5eqsPVG+m3CxHgrYfOQ2NZpvPQIMBbj8t/FKKNf6M6jI6IXJq9HjteiiUiOyQr7MaMGWP1fsKECVbvVSoVTCbl9WDdf39dmRZ+XkjPYmFHRDVQYqfHjoMniMgOSQo7s9ksxW5cUlpWgdX9dWV4nx0R1ViJAfC0dSmWPXZEZFut3WOn1OlPLt8uRGjjhhWWs7AjohqrrMeOhR0R2SB7YWcwGPDRRx8hPDxc7kPVifTbhWhhq8eusRcus7Ajopqwe4+dDjCxsCOiiiQp7AwGA2bPno3u3bujd+/eSEhIAACsXbsW4eHhWL58OaZMmSLFoeqd+6c6KdOCPXZEVFP2euw82GNHRLZJco/dvHnz8MUXXyA2Nhb79+/H008/jXHjxuHAgQNYunQpnn76aWg0mqp35GLMZoErt4sQWsk9dkIIqMo/DoiIyFElBjuXYrUcPEFENklS2G3atAn//Oc/ER8fjxMnTqBTp04oKSnBb7/9puii5lpOEfSeavh6eVZY17ihFhq1CjfzDGjmbeOLmYioKuyxIyInSXIp9sqVK4iMjAQAPPzww9DpdJgyZYqiizoASMsqRFiThjbPU6VScQAFEdWMscj2qFgOniAiOyQp7EwmE7RareW9h4cHHnjgASl2Xa9dyipAmI0RsWV4nx0R1UhxAaC1MRcmB08QkR2SXIoVQmDs2LHQ6UpHb925cwcvvfQSGja0Lno2b94sxeHqjbSsQoTZmJy4DHvsiKhGDHlAo8CKy3kplojskKSwu/+pEyNHjpRit/XexVsFGNQhwO76ED8v/HYlu/YCIiLl2PoKcH4nENS14jqNFjjyL8BsAvrOrP3YiKjekqSwW7t2rRS7cTnnM/MwqV8ru+tD/Lzww7FrtRgRESlC1u/A4X+W/q6zcyn2j4vArveA6ImATvm3vhCRY2rtyRNKk28owZU/itA2wP6zYMObNMT5G/kQQtRiZETk8s7tAHTepb9rbdzHq7k7abF3MHAhufbiIqJ6zy0Ku5UrVyIsLAx6vR5RUVE4ePBgtfclhECJyYwz13PRsmlD6D3tz88Xevf+u7SsQpSY3Pd5ukTkpNREoMfzpb9rK+mN6zYaOLu9dmIiIpeg+MJu48aNmDp1KubPn4/Dhw+jc+fOiIuLw40bN5ze14Wb+XjmixS0n7cd72w7jU7BvpW2V6lU6NLCF9M3/YbWc3/C6K8O4nqOMp+ZS0QSKS4E0lKAziNK32ttDNAyFpT+bD8EOL8DMPMfjkRUSpJ77OqzpUuXYvz48Rg3bhwAYNWqVdi2bRu++uorzJo1q0J7g8EAg+HeaLPc3FwAwLLEc9h6Jhcv/CkM4/8Uhhf/dQQjejSH0Wis9PitmjbEP/ZdwqYXe+LnUzfw2PK9GN0rBCF+DTAwwh8NtMp7IkddKMtDVfmgusdcVSI/E+p9H0HVvBtMPmHwBFBiLIG472+lNhRAA8D4YCt4eHrBvOt9mKMn2Z7MuJqYJ9fAPLmO2sqRSij4BrDi4mJ4eXnhP//5D5544gnL8jFjxiA7OxtbtmypsM1bb72FBQsWVFj+7KINeDREj+YNASGAn6+q8GiAgFcVpXG2AfjttgoxgaV/5kt5wMGbauQWA8+1Mle5PRG5D++idLTK3IazAU+gQB+Ih6/8G6eD/gcmtc6qnZchE0HZ/0Wq/2A0zj+D8JuJOBryAko0DeoociKqSmFhIZ577jnk5OTA29tbtuMourC7du0amjdvjv379yM6Otqy/PXXX8fu3bvx66+/VtjGVo9dixYtcP36dTRu3LhW4ibnGY1GJCYmYsCAAfD0rPiIN6o/mCvXwDy5BubJdWRlZSEwMFD2wo79RffR6XSWiZbL8/T05IfGBTBProO5cg3Mk2tgnuq/2sqPogdPNGnSBBqNBpmZmVbLMzMzERBgf2JhIiIiIlek6B47rVaLyMhIJCUlWe6xM5vNSEpKwqRJkxzaR9mV6ry8PP5rqB4zGo0oLCxEbm4u81TPMVeugXlyDcyT68jLywMA2ee2VXRhBwBTp07FmDFj0L17d/Ts2RPLly9HQUGBZZRsVbKysgAA4eHhcoZJREREbiArKws+Pj6y7V/xhd3w4cNx8+ZNzJs3DxkZGejSpQu2b98Of39/h7b38/MDAKSnp8uaCKqZskEuly9flvWmVKo55so1ME+ugXlyHTk5OQgJCbHUFXJR9KhYKeTm5sLHx0f2USxUM8yT62CuXAPz5BqYJ9dRW7lS9OAJIiIiInfCwo6IiIhIIVjYVUGn02H+/Pk257aj+oN5ch3MlWtgnlwD8+Q6aitXvMeOiIiISCHYY0dERESkECzsiIiIiBSChR0RERGRQrCwIyIiIlIIFnZERERECuF2hd3KlSsRFhYGvV6PqKgoHDx4sNL2mzZtQrt27aDX69GxY0f8+OOPVuuFEJg3bx4CAwPRoEEDxMbG4vz583KegtuQMldGoxEzZ85Ex44d0bBhQwQFBWH06NG4du2a3KeheFJ/psp76aWXoFKpsHz5comjdj9y5On06dOIj4+Hj48PGjZsiB49eiA9PV2uU3AbUucqPz8fkyZNQnBwMBo0aICIiAisWrVKzlNwC87k6eTJkxg2bBjCwsIq/U5zNvc2CTeyYcMGodVqxVdffSVOnjwpxo8fL3x9fUVmZqbN9r/88ovQaDTigw8+EKdOnRJz584Vnp6e4vjx45Y2ixcvFj4+PiIhIUH89ttvIj4+XoSHh4uioqLaOi1FkjpX2dnZIjY2VmzcuFGcOXNGpKSkiJ49e4rIyMjaPC3FkeMzVWbz5s2ic+fOIigoSCxbtkzmM1E2OfKUmpoq/Pz8xIwZM8Thw4dFamqq2LJli919kmPkyNX48ePFQw89JJKTk8XFixfFF198ITQajdiyZUttnZbiOJungwcPiunTp4v169eLgIAAm99pzu7THrcq7Hr27CkmTpxoeW8ymURQUJBYtGiRzfbPPPOMGDx4sNWyqKgoMWHCBCGEEGazWQQEBIgPP/zQsj47O1vodDqxfv16Gc7AfUidK1sOHjwoAIi0tDRpgnZDcuXpypUronnz5uLEiRMiNDSUhV0NyZGn4cOHi5EjR8oTsBuTI1cdOnQQCxcutGrTrVs3MWfOHAkjdy/O5qk8e99pNdlneW5zKba4uBiHDh1CbGysZZlarUZsbCxSUlJsbpOSkmLVHgDi4uIs7S9evIiMjAyrNj4+PoiKirK7T6qaHLmyJScnByqVCr6+vpLE7W7kypPZbMaoUaMwY8YMdOjQQZ7g3YgceTKbzdi2bRvatGmDuLg4NGvWDFFRUUhISJDtPNyBXJ+p3r17Y+vWrbh69SqEEEhOTsa5c+cwcOBAeU5E4aqTp9rcp9sUdrdu3YLJZIK/v7/Vcn9/f2RkZNjcJiMjo9L2ZT+d2SdVTY5c3e/OnTuYOXMmRowYAW9vb2kCdzNy5en999+Hh4cHJk+eLH3QbkiOPN24cQP5+flYvHgxBg0ahJ9//hlPPvkknnrqKezevVueE3EDcn2mVqxYgYiICAQHB0Or1WLQoEFYuXIl+vTpI/1JuIHq5Kk29+lRrQiIXJjRaMQzzzwDIQQ+//zzug6Hyjl06BA+/vhjHD58GCqVqq7DITvMZjMAYOjQoZgyZQoAoEuXLti/fz9WrVqFmJiYugyP7rNixQocOHAAW7duRWhoKPbs2YOJEyciKCioQm8fuT636bFr0qQJNBoNMjMzrZZnZmYiICDA5jYBAQGVti/76cw+qWpy5KpMWVGXlpaGxMRE9tbVgBx52rt3L27cuIGQkBB4eHjAw8MDaWlpmDZtGsLCwmQ5D6WTI09NmjSBh4cHIiIirNq0b9+eo2JrQI5cFRUV4Y033sDSpUsxZMgQdOrUCZMmTcLw4cOxZMkSeU5E4aqTp9rcp9sUdlqtFpGRkUhKSrIsM5vNSEpKQnR0tM1toqOjrdoDQGJioqV9eHg4AgICrNrk5ubi119/tbtPqpocuQLuFXXnz5/Hzp070bhxY3lOwE3IkadRo0bh2LFjOHr0qOUVFBSEGTNmYMeOHfKdjILJkSetVosePXrg7NmzVm3OnTuH0NBQic/AfciRK6PRCKPRCLXa+n/3Go3G0vNKzqlOnmp1n04NtXBxGzZsEDqdTqxbt06cOnVKvPjii8LX11dkZGQIIYQYNWqUmDVrlqX9L7/8Ijw8PMSSJUvE6dOnxfz5821Od+Lr6yu2bNkijh07JoYOHcrpTiQgda6Ki4tFfHy8CA4OFkePHhXXr1+3vAwGQ52coxLI8Zm6H0fF1pwcedq8ebPw9PQUq1evFufPnxcrVqwQGo1G7N27t9bPT0nkyFVMTIzo0KGDSE5OFhcuXBBr164Ver1efPbZZ7V+fkrhbJ4MBoM4cuSIOHLkiAgMDBTTp08XR44cEefPn3d4n45yq8JOCCFWrFghQkJChFarFT179hQHDhywrIuJiRFjxoyxav/tt9+KNm3aCK1WKzp06CC2bdtmtd5sNos333xT+Pv7C51OJ/r37y/Onj1bG6eieFLm6uLFiwKAzVdycnItnZEySf2Zuh8LO2nIkac1a9aIVq1aCb1eLzp37iwSEhLkPg23IHWurl+/LsaOHSuCgoKEXq8Xbdu2FR999JEwm821cTqK5Uye7P0/KCYmxuF9OkolhBDV6jckIiIionrFbe6xIyIiIlI6FnZERERECsHCjoiIiEghWNgRERERKYRTT57Izs7G999/j7179yItLQ2FhYVo2rQpunbtiri4OPTu3VuuOImIiIioCg712F27dg0vvPACAgMD8c4776CoqAhdunRB//79ERwcjOTkZAwYMAARERHYuHGj3DETERERkQ0O9dh17doVY8aMwaFDhyo8QqZMUVEREhISsHz5cly+fBnTp0+XNFAiIiIiqpxD89hlZWU59fglZ9sTERERUc1xgmIiIiIihXDoUuzWrVsd3mF8fHy1gyEiIiKi6nOox06tth5joVKpUH4zlUpl+d1kMkkYHhERERE5yqFRsWaz2fL6+eef0aVLF/z000/Izs5GdnY2fvzxR3Tr1g3bt2+XO14iIiIissPpe+wefvhhrFq1Cn/605+slu/duxcvvvgiTp8+LWmAREREROQYp5888fvvv8PX17fCch8fH1y6dEmCkIiIiIioOpzusevTpw/0ej2+/vpr+Pv7AwAyMzMxevRo3LlzB7t375YlUCIiIiKqnNOFXWpqKp588kmcO3cOLVq0AABcvnwZrVu3RkJCAlq1aiVLoHXFbDbj2rVraNSokdUgESIiIiJHCSGQl5eHoKCgCoNSpVSteeyEEEhMTMSZM2cAAO3bt0dsbKwiC58rV65YClgiIiKimrh8+TKCg4Nl2z8nKK5CTk4OfH19cfHiRfj5+dV1OGSH0WjEzz//jIEDB8LT07Ouw6FKMFeugXlyDcyT67h9+zbCw8ORnZ0NHx8f2Y7j0ATF9ysoKMDu3buRnp6O4uJiq3WTJ0+WJLD6oqwXslGjRvD29q7jaMgeo9EILy8veHt788utnmOuXAPz5BqYJ9dhNBoBQParm04XdkeOHMHjjz+OwsJCFBQUwM/PD7du3YKXlxeaNWumuMKOiIiIyFU4XdhNmTIFQ4YMwapVq+Dj44MDBw7A09MTI0eOxKuvvipHjPXCKxt+Q4HQYnyflvDWe+KfKZcQ2rghrv5RhPCmDdG3TVOk3S7EkfRs3C4w4KluwWjaSAeNSoVjV3NwLiMPTRvpENOmKa5lF+GxjoF1fUpEVB9l/Q7sWQL89g3QrAMw6nvgxHfAng+A0EeAh/oBPi2Awiwg+zLQrB0Q3BPw5ncKEVWjsDt69Ci++OILqNVqaDQaGAwGtGzZEh988AHGjBmDp556So4469y+1CyodV6Y9M0Rm+s/3/W71fsdJzNttluaeA4AcGnxYGkDJCLXl3MFWNHt3vsbJ4GP2tx7f+aH0tf9PPTAXNvfOUTkXpweb+vp6WkZptusWTOkp6cDKJ2g+PLly9JGR0TkTkzFVbexpeSOtHEQkctyuseua9eu+L//+z+0bt0aMTExmDdvHm7duoWvv/4aDz/8sBwxEhG5B5V8c1sRkXtw+lvkvffeQ2Bg6b0c7777Lh588EG8/PLLuHnzJlavXi15gEREboOFHRHVkFM9dkIINGvWzNIz16xZM2zfvl2WwIiI3A4LOyKqIae+RYQQaNWqFe+lIyKSAws7Iqohp75F1Go1WrdujaysLLnisWvRokXo0aMHGjVqhGbNmuGJJ57A2bNnK91m3bp1UKlUVi+9Xl9LEVeOD/wgogpY2BFRDTn9LbJ48WLMmDEDJ06ckCMeu3bv3o2JEyfiwIEDSExMhNFoxMCBA1FQUFDpdt7e3rh+/brllZaWVksRV85kZmFHRPdhYUdENeT0qNjRo0ejsLAQnTt3hlarRYMGDazW3759W7Lgyrv/Xr5169ahWbNmOHToEPr06WN3O5VKhYCAAFliqgmTENV7nhsRKRcLOyKqIadri+XLl8sQhvNycnIAAH5+fpW2y8/PR2hoKMxmM7p164b33nsPHTp0sNveYDDAYDBY3ufm5koTcIXjGKEWZln27Y7KnsFX9pPqL+aqEiUlqO7TPqX+ezJProF5ch21lSOVcMGbvcxmM+Lj45GdnY19+/bZbZeSkoLz58+jU6dOyMnJwZIlS7Bnzx6cPHkSwcHBNrd56623sGDBggrLW7z2LdQ6L8nO4f2eJdBrJNsdESmAZ0keHj8+sVrbbun6T4mjISIpFRYW4rnnnkNOTg68vb1lO45DhV1BQQEaNmzo8E6dbe+sl19+GT/99BP27dtnt0CzxWg0on379hgxYgTefvttm21s9di1aNFC8sLu0Bv94N2guv82p/sZjUYkJiZiwIAB8PTk37U+Y64qUXgbnsvaVN3OBuOcW5KGwjy5BubJdWRlZSEwMFD2ws6hS7GtWrXCq6++ijFjxlgmJ76fEAI7d+7E0qVL0adPH8yePVvSQMtMmjQJP/zwA/bs2eNUUQeUPg6ta9euSE1NtdtGp9NBp9PVNMwqqTUe/BDKwNPTk39XF8Fc2VCDv4dcf0vmyTUwT/VfbeXHocJu165deOONN/DWW2+hc+fO6N69O4KCgqDX6/HHH3/g1KlTSElJgYeHB2bPno0JEyZIHqgQAq+88gq+//577Nq1C+Hh4U7vw2Qy4fjx43j88cclj8/pWFzvCjgRERHVcw4Vdm3btsV3332H9PR0bNq0CXv37sX+/ftRVFSEJk2aoGvXrvjyyy/x2GOPQaOR58axiRMn4ptvvsGWLVvQqFEjZGRkAAB8fHwsI3NHjx6N5s2bY9GiRQCAhQsXolevXmjVqhWys7Px4YcfIi0tDS+88IIsMTrDzOlOiIiISGJOjYoNCQnBtGnTMG3aNLnisevzzz8HAPTt29dq+dq1azF27FgAQHp6OtTqe9MF/PHHHxg/fjwyMjLw4IMPIjIyEvv370dERERthW1XCQs7IiIikpjLTKXmyODdXbt2Wb1ftmwZli1bJlNENcMJiomIiEhqnA2zjph5jx0RERFJjIVdHWGPHREREUmNhV0dYY8dERERSY2FXR0x8WliRFSFt3bNwtu7Z9hc9/buGXhr16xajoiI6rtqFXZ79+7FyJEjER0djatXrwIAvv7660of70XWeCmWiKqiUZkwb9fcCsXd27tnYN6uudCoTHUUGRHVV04Xdt999x3i4uLQoEEDHDlyxPL4rZycHLz33nuSB6hUvBRLRFV5M+ZDLOz7jlVxV1bULez7Dt6M+bCOIySi+sbp6U7eeecdrFq1CqNHj8aGDRssyx955BG88847kganZOyxIyJHlBVv83bNxTt7Z6DYpGNRR0R2Od1jd/bsWfTp06fCch8fH2RnZ0sRk1vgI8WIyFFvxnwIrcaAYpMOWo2BRR0R2eV0YRcQEIDU1NQKy/ft24eWLVtKEpQ74CPFiMhRb++eYSnqik06uwMqiIicLuzGjx+PV199Fb/++itUKhWuXbuGf//735g+fTpefvllOWJUJF6KJSJHlL+nzjC3WYV77oiIynP6HrtZs2bBbDajf//+KCwsRJ8+faDT6TB9+nS88sorcsSoSCzsiKgqtgZKlL/nrvx7IiKgGoWdSqXCnDlzMGPGDKSmpiI/Px8RERF44IEH5IhPEdQq4P46jvfYEVFVTEJjc6BE2XuT0NRFWERUjzld2JXRarWIiIhAbm4udu7cibZt26J9+/ZSxqYYGrUKZpN1IcceOyKqylt9F9tdx546IrLF6XvsnnnmGXz66acAgKKiIvTo0QPPPPMMOnXqhO+++07yAJVArVJVWMZ57IiIiEhqThd2e/bswaOPPgoA+P7772E2m5GdnY1PPvmE89jZoVFXLOz4SDEiIiKSmtOFXU5ODvz8/AAA27dvx7Bhw+Dl5YXBgwfj/PnzkgeoBBobPXa8FEtERERSc7qwa9GiBVJSUlBQUIDt27dj4MCBAIA//vgDer1e8gAVoWJdx0uxREREJDmnB0+89tpr+Otf/4oHHngAoaGh6Nu3L4DSS7QdO3aUOj7FYo8dERERSc3pwu7vf/87oqKikJ6ejgEDBkCtLu30a9myJe+xcwJ77IiIiEhq1ZruJDIyEpGRkVbLBg8eLElA7oI9dkRERCS1ahV2V65cwdatW5Geno7i4mKrdUuXLpUkMCWxcYsdCzsiIiKSnNOFXVJSEuLj49GyZUucOXMGDz/8MC5dugQhBLp16yZHjIrEwo6IiIik5vSo2NmzZ2P69Ok4fvw49Ho9vvvuO1y+fBkxMTF4+umn5YhRkfhIMSIiIpKa04Xd6dOnMXr0aACAh4cHioqK8MADD2DhwoV4//33JQ9QqczssSMiIiKJOV3YNWzY0HJfXWBgIH7//XfLulu3bkkXmcLxUiwRERFJzel77Hr16oV9+/ahffv2ePzxxzFt2jQcP34cmzdvRq9eveSI0eXZKuFMrOuIiIhIYk4XdkuXLkV+fj4AYMGCBcjPz8fGjRvRunVrjoh1Ai/FEhERkdScLuxatmxp+b1hw4ZYtWqVpAG5Cw6eICIiIqk5fY9dmeLiYly5cgXp6elWL7mtXLkSYWFh0Ov1iIqKwsGDByttv2nTJrRr1w56vR4dO3bEjz/+KGk82ftaI/uXVrbX/dIK2fta21zHe+yIiIhIak4XdufOncOjjz6KBg0aIDQ0FOHh4QgPD0dYWBjCw8PliNFi48aNmDp1KubPn4/Dhw+jc+fOiIuLw40bN2y2379/P0aMGIHnn38eR44cwRNPPIEnnngCJ06ckC4olUDOvrYVirvsX1ohZ19bQGW7gOOlWCIiIpKa05dix40bBw8PD/zwww8IDAyESmXruQryWLp0KcaPH49x48YBAFatWoVt27bhq6++wqxZsyq0//jjjzFo0CDMmDEDAPD2228jMTERn376qWSXkH0fSQWA0iLu7vuyos7nT2fvrq/4Z+alWCIiIpKa04Xd0aNHcejQIbRr106OeOwqLi7GoUOHMHv2bMsytVqN2NhYpKSk2NwmJSUFU6dOtVoWFxeHhIQEu8cxGAwwGAyW97m5uVXGVr64y0lpBZg05Yo6IO9OSYVtlu88jxHdm8OvobbK/VPVjEaj1U+qv5gr+1SX/1u95zwCMObdAvQ+ksXCPLkG5sl11FaOnP4OiYiIqJP56m7dugWTyQR/f3+r5f7+/jhz5ozNbTIyMmy2z8jIsHucRYsWYcGCBVXG01QvcPPOvd5K30dSLUUdNCZLUVeZHYk74cO6TlKJiYl1HQI5iLmqKOiPg+hRzW13/rwdxR6NJI0HYJ5cBfNU/xUWFtbKcRwq7Mr3Wr3//vt4/fXX8d5776Fjx47w9PS0auvt7S1thLVs9uzZVr18ubm5aNGiRYV2jR54ADfvFFjeZ/9yr6iDSYPsX1pVWdz9+c9/hr+3Xrrg3ZjRaERiYiIGDBhQ4b9Jql+YK/tUp0uAS9XbNjY2FvBqLFkszJNrYJ5cR1ZWVq0cx6HCztfX1+peOiEE+vfvb9VGCAGVSgWTySRthHc1adIEGo0GmZmZVsszMzMREBBgc5uAgACn2gOATqeDTqerMh4Pzb2/x/331FkGTgCVFneenp78IEqMf1PXwVzZoNFUe1NPD09Ahr8n8+QamKf6r7by41Bhl5ycLHccVdJqtYiMjERSUhKeeOIJAIDZbEZSUhImTZpkc5vo6GgkJSXhtddesyxLTExEdHR0jeNR3y10Kw6UsD2ggoioSrU4GI2IlMmhwi4mJkbuOBwydepUjBkzBt27d0fPnj2xfPlyFBQUWEbJjh49Gs2bN8eiRYsAAK+++ipiYmLw0UcfYfDgwdiwYQP++9//YvXq1TWORaO++wUsVFZFXRnLe8EvaiJyFL8viKhmqjUA648//sCaNWtw+vRpAKUDKsaNGwc/Pz9Jg7vf8OHDcfPmTcybNw8ZGRno0qULtm/fbhkgkZ6eDrX63tR8vXv3xjfffIO5c+fijTfeQOvWrZGQkICHH364xrGUFXa+fzpvtw176ojIKeyxI6Iacrqw27NnD4YMGQIfHx90794dAPDJJ59g4cKF+H//7/+hT58+kgdZ3qRJk+xeet21a1eFZU8//TSefvppyeNQ8wuYiIiI6hmnC7uJEydi+PDh+Pzzz6G5e6OvyWTC3//+d0ycOBHHjx+XPMj6yHIplohIMvxeIaKacfqRYqmpqZg2bZqlqAMAjUaDqVOnIjXVfS49srAjIsnxSgAR1ZDThV23bt0s99aVd/r0aXTu3FmSoFyBhl/AREREVM84fSl28uTJePXVV5GamopevXoBAA4cOICVK1di8eLFOHbsmKVtp06dpIu0nmGPHRFJj98rRFQzThd2I0aMAAC8/vrrNtepVCrZJyuuD9Qs7IhIarwSQEQ15HRhd/HiRTnicDkafv8SkeT4xUJENeN0YRcaGipHHC6Hl2KJiIiovnF68ASV4jx2RCS5Gn2vCMnCICLXxcKumthjR0TSq8H3ijBLFwYRuSwWdtXEwRNEVK+wsCMisLCrNs5jR0SSq8n3Cgs7IoIThd0ff/yBFStWIDc3t8K6nJwcu+uUipdiiUh6LOyIqGYcLuw+/fRT7NmzB97e3hXW+fj4YO/evVixYoWkwdVnHDxBRPUKCzsighOF3XfffYeXXnrJ7voJEybgP//5jyRBuQIP9tgRkdRqNCiWhR0ROVHY/f7772jdurXd9a1bt8bvv/8uSVCugIMniEh6vBRLRDXjcGGn0Whw7do1u+uvXbsGtdp9xmJo3OdUiai21GjwBOexIyInCruuXbsiISHB7vrvv/8eXbt2lSIml8BRsURUr7CwIyI48UixSZMm4dlnn0VwcDBefvllaDQaAIDJZMJnn32GZcuW4ZtvvpEt0PqGl2KJSHo1+F5p/JB0YRCRy3K4sBs2bBhef/11TJ48GXPmzEHLli0BABcuXEB+fj5mzJiB//mf/5Et0PqGo2KJSHLV/V7xDanh48iISCkcLuwA4N1338XQoUPx73//G6mpqRBCICYmBs899xx69uwpV4z1lkatgsnMyx9EVMd4GZaI7nKqsAOAnj17umURZ4tGpYKJD94mIslUs9eNI2KJ6C6nC7vz589jy5YtuHTpElQqFVq2bImhQ4daLs26E7UagKmuoyAixaju5VQWdkR0l1OF3aJFizBv3jyYzWY0a9YMQgjcvHkTM2fOxHvvvYfp06fLFWe9xJGxRCQtFnZEVDMOT3eSnJyMuXPnYs6cObh16xauX7+OjIwM3Lx5E7NmzcKsWbOwZ88eOWOtdzgylojqBRZ2RHSXwz12q1atwgsvvIC33nrLarmfnx8WLlyIjIwMfP755+jTp4/UMdZbfKwYEUmKl2KJqIYc7rE7ePAgRo0aZXf9qFGjcODAAUmCchUaFnZEJCkWdkRUMw4XdpmZmQgLC7O7Pjw8HBkZGVLE5DI4lx0R1Qss7IjoLocLuzt37kCr1dpd7+npieLiYkmCchXssSMiSVX7UiynXSKiUk6Niv3HP/6BBx54wOa6vLw8SQKy5dKlS3j77bfxv//7v8jIyEBQUBBGjhyJOXPmVFps9u3bF7t377ZaNmHCBKxatUqSuNhjR0TSYmFHRDXjcGEXEhKCL7/8sso2cjhz5gzMZjO++OILtGrVCidOnMD48eNRUFCAJUuWVLrt+PHjsXDhQst7Ly8vyeJijx0RSYqDJ4iohhwu7C5duiRjGJUbNGgQBg0aZHnfsmVLnD17Fp9//nmVhZ2XlxcCAgJkiYuFHRHVCyzsiOgup588YU92djb+9a9/YdKkSVLtslI5OTnw8/Orst2///1v/Otf/0JAQACGDBmCN998s9JeO4PBAIPBYHmfm5tr+b18IWc2m6Eqt0zcvRRiFtbtyj9LVqNWWbUzGo0wGjVVngNVzWg0Wv2k+ou5sk9lMlXrS1kIM0ok/nsyT66BeXIdtZUjlRA1uzkjKSkJa9aswffffw8vLy9kZWVJFZtdqampiIyMxJIlSzB+/Hi77VavXo3Q0FAEBQXh2LFjmDlzJnr27InNmzfb3eatt97CggULKixv8dq30OobAAAEgEcDBM5kq3DzTuldMWV/RJNQQaO69yc1iXtF3v3LF0aWwMf+LYJE5GYeLEhFn3MLq254H7NKg//XZa0MERGRVAoLC/Hcc88hJycH3t7esh2nWoXd5cuXsXbtWqxduxbp6el49tlnMWrUKPTv3x+enp4O72fWrFl4//33K21z+vRptGvXzvL+6tWriImJQd++ffGPf/zDqbj/93//F/3790dqaioeeughm21s9di1aNECLV77Fg3vDhwRAEb0aIGU37Nw6XYhVCjtgQMAQ4kZes97g43vGO9dItF7qi33OBtKzNg7ow8CvPVOnQPZZjQakZiYiAEDBjj13yDVPubKPtXVw/BYN9Dp7YRKg5I3MiWNhXlyDcyT68jKykJgYKDshZ3Dvf5GoxEJCQn4xz/+gb1792LQoEH48MMPMWLECMyZMwcRERFOH3zatGkYO3ZspW1atmxp+f3atWvo168fevfujdWrVzt9vKioKACotLDT6XTQ6XQ212nUpQWbEAJqtRoajRoalQoqlQqqcvWxR7l25Xmo1TCXW6bWePCDKDFPT0/+TV0Ec2VDNf8eKmGW7W/JPLkG5qn+q638OFzYNW/eHO3atcPIkSOxYcMGPPjggwCAESNGVPvgTZs2RdOmTR1qe/XqVfTr1w+RkZFYu3Yt1GqHp+CzOHr0KAAgMDDQ6W0BoOzWOXF35JqHWgW1WgUVAFW5aQrub1d+efl2ZjOnKCCiclTOf6+V4ncJEZVy+FukpKSktGdKpYJGU7s3/F+9ehV9+/ZFSEgIlixZgps3byIjI8PqSRdXr15Fu3btcPDgQQDA77//jrfffhuHDh3CpUuXsHXrVowePRp9+vRBp06dqhWHRq2yvABAXe69+u7LVrvy25dvZ2JhR0TlVbuwIyIq5XCP3bVr1/Ddd99hzZo1ePXVV/HYY49h5MiRUNXCJL2JiYlITU1FamoqgoODrdaVXe40Go04e/YsCgsLAQBarRY7d+7E8uXLUVBQgBYtWmDYsGGYO3duteO4NwL27nuV6u6lWEAl7k0ten+78turxL2YTZxUlIjK46TnRFRDDhd2er0ef/3rX/HXv/4Vv//+O9auXYvJkyejpKQE7777LsaOHYs///nPsvTmjR07tsp78cLCwqzuaWvRokWFp07UVNmTJsoGuqrLXYoF7n0n39/u/u3LCjpeiiUiK+yxI6Iaqta3yEMPPYR33nkHaWlp2LZtGwwGA/7yl7/A399f6vjqFcsl1rsFWlmPXely3Ft+Xzvr7e+9L2FhR0TlsbAjohpyuMfuwoULViNUAUCtVuOxxx7DY489hps3b+Lrr7+WPMD6xPJs2Ls/yt9HpwIsl6Xvb1d++/KLeI8dEVlhYUdENeRwYdepUyeEhYUhPj4eQ4cOtUwdUqZp06aYOnWq5AHWFyF+DdCphQ9u5hmQbzBB76mGv7ceDzbUIv+OEddz7sBoMsPfW4e2AY2QU2RE3h0jHtB5IN9QgmaNdAhr4oUbuQbLpVifBhyaTkTl6Brd+92jAVBS5Nh2wT3liYeIXI7Dhd2tW7eQmJiILVu2YOjQoVCpVPjLX/6C+Ph4DBgwAHq9sifa3fL3aDRu3Bg38wzQeaqh1aih9yy9n9BQYkJOkRF6Tw289aXFWkbOHWjUKug81dB5qKHz0MBQYkJGzh14aT3g3cADOg8+ToyIyvEOAqadK/29kT9wJwfIv1E6Eqtpm3vtTEZAc/cfhmZT7cdJRPWWU4MnhgwZgiFDhkAIgZSUFGzduhUzZ87EiBEjEBsbi/j4eAwZMsThuelcUdNGFScv1nlo0KyRdZEW4FOx0NV5aBDauKFssRGRAjQqd6+y3qf0dT9Nud5+Nf+BSET3VOuGDpVKhd69e2Px4sU4deoUjhw5gkcffRTr1q1DcHAwVq5cKXWcRERERFQFh3vsKtO6dWtMmzYN06ZNQ1ZWFm7fvi3FbomIiIjICQ4Xdn369MHWrVvh6+sLANi6dSsGDBiABg0aWLVr3LgxGjduLGmQdalsbry8vDw+h68eMxqNKCwsRG5uLvNUzzFXroF5cg3Mk+vIy8sDUPE58lJTCQePoFarkZGRgWbNmgEAvL29cfTo0QpToCjNhQsX8NBDD9V1GERERKQAv//+u6y1U7UvxcpdcdYXfn5+AID09HT4+Ni4iZnqhdzcXLRo0QKXL1+Gt7d3XYdDlWCuXAPz5BqYJ9eRk5ODkJAQS10hF0nusVMytbp0fImPjw8/NC7A29ubeXIRzJVrYJ5cA/PkOsrqCrk4Vdjt2LHD0mtlNpuRlJSEEydOWLWJj4+XLjoiIiIicphThd2YMWOs3k+YMMHqvUqlgsnEyTKJiIiI6oLDhZ3ZbJYzjnpLp9Nh/vz50OkqTkxM9Qfz5DqYK9fAPLkG5sl11FauHB4V64iioqIK058QERERUe2Q5A4+g8GAjz76COHh4VLsjoiIiIiqweHCzmAwYPbs2ejevTt69+6NhIQEAMDatWsRHh6O5cuXY8qUKXLFSURERERVcPhS7MyZM/HFF18gNjYW+/fvx82bNzFu3DgcOHAAb7zxBp5++mloNHwYNREREVFdcXjwxKZNm/DPf/4T8fHxOHHiBDp16oSSkhL89ttvUKlUcsZIRERERA5w+FLslStXEBkZCQB4+OGHodPpMGXKFJcr6lauXImwsDDo9XpERUXh4MGDlbbftGkT2rVrB71ej44dO+LHH3+0Wi+EwLx58xAYGIgGDRogNjYW58+fl/MU3IaUuTIajZg5cyY6duyIhg0bIigoCKNHj8a1a9fkPg3Fk/ozVd5LL70ElUqF5cuXSxy1+5EjT6dPn0Z8fDx8fHzQsGFD9OjRA+np6XKdgtuQOlf5+fmYNGkSgoOD0aBBA0RERGDVqlVynoJbcCZPJ0+exLBhwxAWFlbpd5qzubdJOEitVosbN25Y3j/wwAPiwoULjm5eL2zYsEFotVrx1VdfiZMnT4rx48cLX19fkZmZabP9L7/8IjQajfjggw/EqVOnxNy5c4Wnp6c4fvy4pc3ixYuFj4+PSEhIEL/99puIj48X4eHhoqioqLZOS5GkzlV2draIjY0VGzduFGfOnBEpKSmiZ8+eIjIysjZPS3Hk+EyV2bx5s+jcubMICgoSy5Ytk/lMlE2OPKWmpgo/Pz8xY8YMcfjwYZGamiq2bNlid5/kGDlyNX78ePHQQw+J5ORkcfHiRfHFF18IjUYjtmzZUlunpTjO5ungwYNi+vTpYv369SIgIMDmd5qz+7TH4cJOpVKJxx9/XDz55JPiySefFB4eHmLgwIGW92Wv+qxnz55i4sSJlvcmk0kEBQWJRYsW2Wz/zDPPiMGDB1sti4qKEhMmTBBCCGE2m0VAQID48MMPLeuzs7OFTqcT69evl+EM3IfUubLl4MGDAoBIS0uTJmg3JFeerly5Ipo3by5OnDghQkNDWdjVkBx5Gj58uBg5cqQ8AbsxOXLVoUMHsXDhQqs23bp1E3PmzJEwcvfibJ7Ks/edVpN9lufwpdgxY8agWbNm8PHxgY+PD0aOHImgoCDL+7JXfVVcXIxDhw4hNjbWskytViM2NhYpKSk2t0lJSbFqDwBxcXGW9hcvXkRGRoZVGx8fH0RFRdndJ1VNjlzZkpOTA5VKBV9fX0nidjdy5clsNmPUqFGYMWMGOnToIE/wbkSOPJnNZmzbtg1t2rRBXFwcmjVrhqioKMtsCVQ9cn2mevfuja1bt+Lq1asQQiA5ORnnzp3DwIED5TkRhatOnmpznw4Pnli7dq1TO65vbt26BZPJBH9/f6vl/v7+OHPmjM1tMjIybLbPyMiwrC9bZq8NOU+OXN3vzp07mDlzJkaMGMEHZ1eTXHl6//334eHhgcmTJ0sftBuSI083btxAfn4+Fi9ejHfeeQfvv/8+tm/fjqeeegrJycmIiYmR52QUTq7P1IoVK/Diiy8iODgYHh4eUKvV+PLLL9GnTx/pT8INVCdPtblPp54VS6QERqMRzzzzDIQQ+Pzzz+s6HCrn0KFD+Pjjj3H48GGXG5jlTsoeMTl06FDL/KVdunTB/v37sWrVKhZ29cyKFStw4MABbN26FaGhodizZw8mTpyIoKCgCr195PokefKEK2jSpAk0Gg0yMzOtlmdmZiIgIMDmNgEBAZW2L/vpzD6panLkqkxZUZeWlobExET21tWAHHnau3cvbty4gZCQEHh4eMDDwwNpaWmYNm0awsLCZDkPpZMjT02aNIGHhwciIiKs2rRv356jYmtAjlwVFRXhjTfewNKlSzFkyBB06tQJkyZNwvDhw7FkyRJ5TkThqpOn2tyn2xR2Wq0WkZGRSEpKsiwzm81ISkpCdHS0zW2io6Ot2gNAYmKipX14eDgCAgKs2uTm5uLXX3+1u0+qmhy5Au4VdefPn8fOnTvRuHFjeU7ATciRp1GjRuHYsWM4evSo5RUUFIQZM2Zgx44d8p2MgsmRJ61Wix49euDs2bNWbc6dO4fQ0FCJz8B9yJEro9EIo9EItdr6f/cajcbS80rOqU6eanWfTg21cHEbNmwQOp1OrFu3Tpw6dUq8+OKLwtfXV2RkZAghhBg1apSYNWuWpf0vv/wiPDw8xJIlS8Tp06fF/PnzbU534uvrK7Zs2SKOHTsmhg4dyulOJCB1roqLi0V8fLwIDg4WR48eFdevX7e8DAZDnZyjEsjxmbofR8XWnBx52rx5s/D09BSrV68W58+fFytWrBAajUbs3bu31s9PSeTIVUxMjOjQoYNITk4WFy5cEGvXrhV6vV589tlntX5+SuFsngwGgzhy5Ig4cuSICAwMFNOnTxdHjhwR58+fd3ifjnKrwk4IIVasWCFCQkKEVqsVPXv2FAcOHLCsi4mJEWPGjLFq/+2334o2bdoIrVYrOnToILZt22a13mw2izfffFP4+/sLnU4n+vfvL86ePVsbp6J4Uubq4sWLAoDNV3Jyci2dkTJJ/Zm6Hws7aciRpzVr1ohWrVoJvV4vOnfuLBISEuQ+Dbcgda6uX78uxo4dK4KCgoRerxdt27YVH330kTCbzbVxOorlTJ7s/T8oJibG4X06yuFnxRIRERFR/eY299gRERERKR0LOyIiIiKFYGFHREREpBAs7IiIiIgUgoUdERERkUKwsCMiIiJSCBZ2RERERArBwo6IiIhIIVjYERHVwNmzZxEQEIC8vLwq2546dQrBwcEoKCiohciIyB2xsCMiuk/fvn3x2muvOdR29uzZeOWVV9CoUaMq20ZERKBXr15YunRpDSMkIrKNhR0RUTWlp6fjhx9+wNixYx3eZty4cfj8889RUlIiX2BE5LZY2BERlTN27Fjs3r0bH3/8MVQqFVQqFS5dumSz7bfffovOnTujefPmlmVpaWkYMmQIHnzwQTRs2BAdOnTAjz/+aFk/YMAA3L59G7t375b7VIjIDXnUdQBERPXJxx9/jHPnzuHhhx/GwoULAQBNmza12Xbv3r3o3r271bKJEyeiuLgYe/bsQcOGDXHq1Ck88MADlvVarRZdunTB3r170b9/f/lOhIjcEgs7IqJyfHx8oNVq4eXlhYCAgErbpqWlVSjs0tPTMWzYMHTs2BEA0LJlywrbBQUFIS0tTbqgiYju4qVYIqJqKioqgl6vt1o2efJkvPPOO3jkkUcwf/58HDt2rMJ2DRo0QGFhYW2FSURuhIUdEVE1NWnSBH/88YfVshdeeAEXLlzAqFGjcPz4cXTv3h0rVqywanP79m27l3eJiGqChR0R0X20Wi1MJlOV7bp27YpTp05VWN6iRQu89NJL2Lx5M6ZNm4Yvv/zSav2JEyfQtWtXyeIlIirDwo6I6D5hYWH49ddfcenSJdy6dQtms9lmu7i4OKSkpFgVga+99hp27NiBixcv4vDhw0hOTkb79u0t6y9duoSrV68iNjZW9vMgIvfDwo6I6D7Tp0+HRqNBREQEmjZtivT0dJvtHnvsMXh4eGDnzp2WZSaTCRMnTkT79u0xaNAgtGnTBp999pll/fr16zFw4ECEhobKfh5E5H5UQghR10EQEbmqlStXYuvWrdixY0eVbYuLi9G6dWt88803eOSRR2ohOiJyN5zuhIioBiZMmIDs7Gzk5eVV+Vix9PR0vPHGGyzqiEg27LEjIiIiUgjeY0dERESkECzsiIiIiBSChR0RERGRQrCwIyIiIlIIFnZERERECsHCjoiIiEghWNgRERERKQQLOyIiIiKFYGFHREREpBD/H4FuFbmbEgb3AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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RETq5LPlTp555hkUFRUhJSUF3377LdasWYM333wTmzdvxoMPPuirsLzO0wkPnC9BRERElXy6jt3kyZNx+fJldOnSBVarFVu3bq0TCwcTERERqZFXC7t33323yrZmzZohKCgIDz/8MLKzs5GdnQ0AeP75570ZGhEREZHqebWwW7RoUbXb9Xo9du/ejd27dwO4dXuShZ1r+IgdERERebWwy8vL8+bpVIGPyBEREZFcfDYrloiIiIjk5dXCbs6cObhx44ZTbfft2+c3y54QERERycGrhd3Ro0cRFRWFv/3tb/jqq69w8eJF+76Kigrk5uZiyZIleOCBBzB06FA0aNDAm+F5nbzr2PEpOyIiIn/n1WfsPvvsM3z33Xd477338MQTT6CkpAR6vR4mk8k+knfPPffgmWeewahRoxAYGOjN8HzC03XouI4dERERVfL6OnadOnXCP//5T3zwwQfIzc3FmTNnUFpaikaNGiE+Ph6NGjXydkhEREREmuCzBYp1Oh3i4+MRHx/vqxB8Tsi4SAlvxBIRERFnxRIRERFpBAs7n/PwXbFcCY+IiIh+xcKOiIiISCNY2PmQvMudyNcXERERqZPPCrvb17D7vUOHDnkxEt/icidEREQkF58Vdh06dKj2zRLz589HQkKCDyIiIiIiUjefFXYTJ07E4MGD8eyzz6K0tBRnz55Ft27dMHfuXKxcudJXYRERERGpls8Ku8mTJyMrKwu7du1Cx44d0bFjR5hMJuTm5mLgwIG+Csur5HwsTs418YiIiEidfDp5onXr1vjjH/+IH3/8ESUlJRg6dCgiIiJ8GZLXefqIHB+xIyIioko+K+x2796Njh074tSpU8jNzcX777+P5557DkOHDsUvv/ziq7CIiIiIVMtnhd2f//xnDB06FHv37kX79u3xzDPP4MCBA8jPz0eHDh18FZZqcbkTIiIi8tm7Yrdt24bk5GSHba1atcLu3bvxj3/8w0dReZdgNUZEREQy8tmI3e+Luko6nQ6vvfaal6PxHc/XseNTdkRERHSL10fsSktLkZGRgUcffRQAMHXqVJSVldn36/V6vPHGGwgMDPR2aERERESq5vXC7tNPP8WmTZvshd17772HuLg41KtXDwBw/PhxmM1mTJgwwduheR1vxBIREZGcvH4rdsWKFRg7dqzDtpUrVyIzMxOZmZmYN28e1q5d6+2w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6Natm3IXQkR+h4UdEdHvhISEwGg0IigoCBEREbW2PXPmTJXCLj8/H4MHD0aHDh0AAC1btqxynNlsxpkzZ+QLmogIvBVLROSR0tJSBAYGOmx7/vnn8fe//x0PPvggZsyYgdzc3CrH1atXDzdu3PBWmETkJ1jYERF5oFGjRvjll18ctj3zzDP44YcfMGLECBw6dAhdunRBWlqaQ5uioqIab+8SEbmLhR0RUTWMRiOsVusd291zzz04evRole3NmzfHuHHjsG7dOrz44ov45z//6bD/8OHDuOeee2SLl4gIYGFHRFSt6Oho7Nu3Dz/++CMuXboEm81WbbuePXsiKyvLoQh84YUXsHXrVuTl5WH//v3IzMxE+/bt7ft//PFHnD17FikpKYpfBxH5FxZ2RETVeOmll6DX6xEbG4vGjRsjPz+/2na9e/eGwWDA9u3b7dusVivGjx+P9u3bo1evXmjTpg2WLFli379q1Sr06NEDUVFRil8HEfkXSQghfB0EEZGaLV68GBs3bsTWrVvv2La8vBx33303Vq5ciQcffNAL0RGRP+FyJ0REHvrrX/+K4uJiXL169Y6vFcvPz8crr7zCoo6IFMEROyIiIiKN4DN2RERERBrBwo6IiIhII1jYEREREWkECzsiIiIijWBhR0RERKQRLOyIiIiINIKFHREREZFGsLAjIiIi0ggWdkREREQawcKOiIiISCP+f7CfskjqJXl3AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "seq.plot(time_range=(0, 0.1))" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "fYNgdWc_KiK7" }, "source": [ "## **GENERATING `.SEQ` FILE**\n", "Uncomment the code in the cell below to generate a `.seq` file and download locally." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": {}, "colab_type": "code", "id": "6iN0aeuuqKRe" }, "outputs": [ { "ename": "AssertionError", "evalue": "", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mAssertionError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[14], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mseq\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mwrite\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mt2_se_pypulseq_colab.seq\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n", "File \u001b[1;32mC:\\MRI_seq\\pypulseq\\Sequence\\sequence.py:1703\u001b[0m, in \u001b[0;36mSequence.write\u001b[1;34m(self, name, create_signature)\u001b[0m\n\u001b[0;32m 1690\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrite\u001b[39m(\u001b[38;5;28mself\u001b[39m, name: \u001b[38;5;28mstr\u001b[39m, create_signature: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 1691\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 1692\u001b[0m \u001b[38;5;124;03m Write the sequence data to the given filename using the open file format for MR sequences.\u001b[39;00m\n\u001b[0;32m 1693\u001b[0m \n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 1701\u001b[0m \u001b[38;5;124;03m Boolean flag to indicate if the file has to be signed.\u001b[39;00m\n\u001b[0;32m 1702\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m-> 1703\u001b[0m \u001b[43mwrite_seq\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcreate_signature\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[1;32mC:\\MRI_seq\\pypulseq\\Sequence\\write_seq.py:72\u001b[0m, in \u001b[0;36mwrite\u001b[1;34m(self, file_name, create_signature)\u001b[0m\n\u001b[0;32m 67\u001b[0m block_duration \u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m 68\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mblock_durations[block_counter] \u001b[38;5;241m/\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mblock_duration_raster\n\u001b[0;32m 69\u001b[0m )\n\u001b[0;32m 70\u001b[0m block_duration_rounded \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(np\u001b[38;5;241m.\u001b[39mround(block_duration))\n\u001b[1;32m---> 72\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m np\u001b[38;5;241m.\u001b[39mabs(block_duration_rounded \u001b[38;5;241m-\u001b[39m block_duration) \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m1e-6\u001b[39m\n\u001b[0;32m 74\u001b[0m s \u001b[38;5;241m=\u001b[39m id_format_str\u001b[38;5;241m.\u001b[39mformat(\n\u001b[0;32m 75\u001b[0m \u001b[38;5;241m*\u001b[39m(\n\u001b[0;32m 76\u001b[0m block_counter \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 79\u001b[0m )\n\u001b[0;32m 80\u001b[0m )\n\u001b[0;32m 81\u001b[0m output_file\u001b[38;5;241m.\u001b[39mwrite(s)\n", "\u001b[1;31mAssertionError\u001b[0m: " ] } ], "source": [ " seq.write('t2_se_pypulseq_colab.seq') # Save to disk\n", "# from google.colab import files\n", "# files.download('t2_se_pypulseq_colab.seq') # Download locally" ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "colab": {}, "colab_type": "code", "id": "4Q0b5w-lKtfP" }, "outputs": [], "source": [] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "write_t2_se.ipynb", "private_outputs": true, "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 1 }