{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "57a7c0e1",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e85bfca8",
   "metadata": {},
   "outputs": [],
   "source": [
    "nt = 500\n",
    "nx = 51\n",
    "ny = 51\n",
    "\n",
    "nu = 0.1\n",
    "dt = .001\n",
    "\n",
    "dx = 2/(nx-1)\n",
    "dy = 2/(ny-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "0c40e62b",
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.linspace(0,2, nx)\n",
    "y = np.linspace(0,2, ny)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "58fd8e85",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.  , 0.04, 0.08, 0.12, 0.16, 0.2 , 0.24, 0.28, 0.32, 0.36, 0.4 ,\n",
       "       0.44, 0.48, 0.52, 0.56, 0.6 , 0.64, 0.68, 0.72, 0.76, 0.8 , 0.84,\n",
       "       0.88, 0.92, 0.96, 1.  , 1.04, 1.08, 1.12, 1.16, 1.2 , 1.24, 1.28,\n",
       "       1.32, 1.36, 1.4 , 1.44, 1.48, 1.52, 1.56, 1.6 , 1.64, 1.68, 1.72,\n",
       "       1.76, 1.8 , 1.84, 1.88, 1.92, 1.96, 2.  ])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "637f832f",
   "metadata": {},
   "outputs": [],
   "source": [
    "comb = np.zeros((ny,nx))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "10846d3e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 0., 0.],\n",
       "       ...,\n",
       "       [0., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 0., 0.]])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "29e8a8b1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(51, 51)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "comb.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "18f69f43",
   "metadata": {},
   "outputs": [],
   "source": [
    "u = np.zeros((ny, nx))\n",
    "v = np.zeros((ny, nx))\n",
    "\n",
    "un = np.zeros((ny, nx))\n",
    "vn = np.zeros((ny, nx))\n",
    "\n",
    "uf = np.zeros((nt ,ny, nx))\n",
    "vf = np.zeros((nt ,ny, nx))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "c352073a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(51, 51)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "u.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "ae5c97fc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(500, 51, 51)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "uf.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "064eecb6",
   "metadata": {},
   "outputs": [],
   "source": [
    "u = np.ones((ny, nx))\n",
    "v = np.ones((ny, nx))\n",
    "uf = np.ones((nt ,ny, nx))\n",
    "vf = np.ones((nt ,ny, nx))\n",
    "\n",
    "u[int(0.75/dy):int(1.25/dy+1) , int(0.75/dy):int(1.25/dy+1)] = 5\n",
    "v[int(0.75/dy):int(1.25/dy+1) , int(0.75/dy):int(1.25/dy+1)] = 5\n",
    "\n",
    "uf[0 ,int(0.75/dy):int(1.25/dy+1) , int(0.75/dy):int(1.25/dy+1)] = 5\n",
    "vf[0 ,int(0.75/dy):int(1.25/dy+1) , int(0.75/dy):int(1.25/dy+1)] = 5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "d8faa345",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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m29q2rRpkuSSryoqKrRixQqdP39eXbt2VVhYmA4cOKCZM2e6awmS3BxSJ0+erLru27oRPG/IzMysd8yXXnpJL730UjNnBgAA0D6lpqbW+X71fPX444/r8ccfb8UZNU27uyYVAAAAHR8hFQAAAMYhpAIAAMA4hFQAAAAYh5AKAAAA4xBSAQAAYBxCKgAAAIxDSAUAAIBxCKkAAAAwDiEVAAAAxiGkAgAAwDiEVAAAABiHkAoAAADjEFIBAABgHEIqAAAAjENIBQAAgHEIqQAAADAOIRUAAADGIaQCAADAOIRUAAAAGIeQCgAAAOMQUgEAAGAcQioAAACMQ0gFAACAcQipAAAAMA4hFQAAAMYhpAIAAMA4hFQAAAAYh5AKAACAFlFRUaFz586psrKy2WMRUgEAANAsX331lRYvXqxbbrlFYWFhKiwslCQ9+uijev7555s0JiEVAAAAzZKQkKD8/HxlZmbK29vb0T516lTt2rWrSWN6tNTkAAAAcHPau3evdu3apcjISNlsNkd7aGio/v73vzdpTM6kAgAAoFk+//xz+fv7u7SXlZU5hdbGIKQCAACgWcaMGaMDBw44tm8E09/85jeKiopq0ph83Q8AAIBmSUpK0owZM/TRRx+psrJS69ev19/+9jfl5OQoKyurSWNyJhUAAADNMn78eP35z3/WV199pUGDBunw4cMKCAhQTk6OIiIimjQmZ1IBAADQbMOGDdPvfve7FhuPkAoAAIBGs9vtDa718fFp9PiEVAAAADRajx496r1z37Is2Ww2VVVVNXp8QioAAAAa7ejRo606PiEVAAAAjXbXXXe16viEVAAAALSIr776SoWFhaqoqHBqHz58eKPHIqQCAACgWT7//HMtWrRIhw4dqvH9plyTynNSAQAA0CzLli3TF198oePHj6tr165688039bvf/U6DBw/W/v37mzQmZ1IBAADQLO+884727dunMWPGqFOnTgoKCtK0adPk4+OjpKQkzZo1q9FjciYVAAAAzVJWViZ/f39Jkp+fnz7//HNJ1x/w//777zdpTEIqAAAAmiUkJETnzp2TJI0cOVKvvPKKzp8/r82bNyswMLBJYzY4pP7jH/9o0g7qkp2drdmzZ6tPnz6y2Wzau3dvvX2ysrIUEREhb29vDRw4UJs3b3apSU9PV2hoqLy8vBQaGqo9e/a0+NwBAABM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vDwFBgY2e84toanrri43N9dpTR3185au30H7ySefaPHixfXux7TPu7E6wrHdVO392G4p7e3Ybo72fmxblqWHH35Yu3fv1jvvvKPg4OB6+9zMx3iH1Lb3abnHzp07rS5dulipqanWRx99ZC1btszq1q2b407HJ554woqLi3PU/9//+3+tW265xVq+fLn10UcfWampqVaXLl2sP/zhD46aP//5z1bnzp2t559/3jpz5oz1/PPPWx4eHtbx48fbfH21aey6t2/fbnl4eFgbN260iouLHa/Lly87ahITE60333zT+vvf/27l5uZaixYtsjw8PKwTJ060+fpq09h1v/TSS9aePXus//N//o/117/+1XriiScsSVZ6erqjpiN+3jf86Ec/ssaNG1fjmKZ/3l9++aWVm5tr5ebmWpKsF1980crNzbU+++wzy7I67rHd2HV3lGO7sevuKMd2Y9d9Q3s+ti3Lsn76059avr6+VmZmptPP7VdffeWo6ajHOK67KUKqZVnWxo0braCgIMvT09MaNWqU0yMsFixYYN11111O9ZmZmVZ4eLjl6elpDRgwwNq0aZPLmG+88YYVEhJidenSxRoyZIjTf/hM0Zh133XXXZYkl9eCBQscNcuWLbP69+9veXp6Wr169bJiYmKsY8eOteGKGqYx6167dq01aNAgy9vb27rtttusO++80zpw4IDLmB3t87Ysy7p8+bLVtWtXa8uWLTWOZ/rnfeMRQ7X9zHbUY7ux6+4ox3Zj191Rju2m/Jy392Pbsqwa1yzJeu211xw1HfUYx3U2y/rXFcUAAACAITr8NakAAABofwipAAAAMA4hFQAAAMYhpAIAAMA4hFQAAAAYh5AKAAAA4xBSAQAAYBxCKgAAAIxDSAUAAIBxCKkAOryqqiqNHz9ec+fOdWovLS1Vv3799NRTT7lpZgCA2vBnUQHcFD7++GONHDlSW7Zs0f333y9JeuCBB5Sfn6+TJ0/K09PTzTMEAHwbIRXATSMlJUWJiYn661//qpMnT+ree+/VX/7yF40cOdLdUwMAVENIBXDTsCxL3/3ud9W5c2d9+OGHeuSRR/iqHwAMRUgFcFM5e/as7rjjDg0bNkzvv/++PDw83D0lAEANuHEKwE3l1Vdf1S233KKCggL94x//cPd0AAC14EwqgJtGTk6OJk2apEOHDum//uu/VFVVpSNHjshms7l7agCAajiTCuCm8PXXX2vBggX6yU9+oqlTp+q3v/2tTp48qVdeecXdUwMA1ICQCuCm8MQTT+ibb77R2rVrJUn9+/fXCy+8oJ///Of69NNP3Ts5AIALvu4H0OFlZWUpOjpamZmZuvPOO53emz59uiorK/naHwAMQ0gFAACAcfi6HwAAAMYhpAIAAMA4hFQAAAAYh5AKAAAA4xBSAQAAYBxCKgAAAIxDSAUAAIBxCKkAAAAwDiEVAAAAxiGkAgAAwDiEVAAAABjn/wPrLLesFEkRgQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X, Y = np.meshgrid(x,y)\n",
    "\n",
    "plt.figure(figsize=(8,6))\n",
    "contour = plt.contourf(X,Y,u[:], cmap='jet')\n",
    "plt.title(\"u solution\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.ylabel(\"Y\")\n",
    "colorbar = plt.colorbar(contour)\n",
    "colorbar.set_label(\"u scale\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "b56e69c8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqkAAAIhCAYAAABtxSNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABHE0lEQVR4nO3de1zW9f3/8eelCJgJhiViHnMOAw8hmqBpGYphuVwuXTU8fDu57GDMpZT7ip3QZgtNw9hIls7DGh7YUpNKoBKdGlAtdbpZkoM5/SVXUILi5/eH8/p2cXE+XW/wcb/drtv8vK/X+/15v3fx2Z58rs/ng82yLEsAAACAQdq4ewIAAABARYRUAAAAGIeQCgAAAOMQUgEAAGAcQioAAACMQ0gFAACAcQipAAAAMA4hFQAAAMYhpAIAAMA4hFQArVpKSopsNpu++OKLOvf917/+pbi4OOXm5rq8FxcXJ5vN1vAJAgAqRUgFgCr861//0qJFiyoNqQ888ICys7Obf1IAcJnwcPcEAKAl6t69u7p37+7uaQBAq8WZVACNbsuWLbLZbHrvvfdc3ktMTJTNZtMnn3xSZf9vv/1Wc+fOVZ8+feTt7S0/Pz8NHTpU69evd6pLS0tTeHi4rrjiCnXs2FHjxo2r1dnN3r17a8aMGS7tt9xyi2655RZJUkZGhoYNGyZJmjlzpmw2m2w2m+Li4iRV/nX/hQsX9NJLL6l///7y8vJSly5dNG3aNH311Vcu+xkwYID27dunUaNG6YorrtB1112nxYsX68KFCzXOHwAuB4RUAI3ujjvuUJcuXbR69WqX91JSUjRkyBANGjSoyv4xMTFKTEzU448/rh07dmjNmjW6++67dfr0aUfNunXrdOedd8rHx0fr169XcnKyvv76a91yyy368MMPG7yGIUOGOOa/YMECZWdnKzs7Ww888ECVfX7+859r3rx5GjdunNLS0vTcc89px44dGjFihE6dOuVUW1hYqPvuu08/+9nPlJaWpqioKMXGxmrt2rUNnjsAtAZ83Q+g0Xl4eOhnP/uZEhMTVVRUJF9fX0nSwYMH9de//lWvvvpqtf0/+ugjRUZG6sknn3S03X777Y5/X7hwQb/85S81cOBAbd++XW3aXPx9e8KECerbt6/mzZunjz76qEFr8PHx0YABAyRJffv2VVhYWLX1hw4dUlJSkh555BGn9YWEhGj48OF65ZVX9MILLzjaT58+rW3btunGG2+UJI0dO1YZGRlat26dpk2b1qC5A0BrwJlUAE3if/7nf/Tdd99p48aNjrbVq1fLy8tL9957b7V9b7zxRm3fvl3z589XRkaGvvvuO6f3Dx8+rH/961+Kjo52BFRJuvLKKzV58mTt2bNH3377beMuqAa7du2SJJfLCG688UZdf/31Lpc+dO3a1RFQLxk0aJC+/PLLJp0nALQUhFQATSI4OFjDhg1zfGVeXl6utWvX6s4775Sfn1+1fZcvX6558+Zpy5YtGjNmjPz8/DRp0iQdOXJEkhxf+wcEBLj07datmy5cuKCvv/66kVdUvZrm9P1LFSSpc+fOLnVeXl4ugRwALleEVABNZubMmdqzZ48OHjyoHTt2qKCgQDNnzqyxX4cOHbRo0SIdOnRIhYWFSkxM1J49ezRx4kRJ/xfwCgoKXPr+61//Ups2bXTVVVdVOb63t7dKS0td2iteN1oXNc3p6quvrvfYAHA5IqQCaDL33HOPvL29lZKSopSUFF177bWKjIys0xj+/v6aMWOG7rnnHh0+fFjffvutAgMDde2112rdunWyLMtRW1JSotTUVMcd/1Xp3bu3y9MF/v73v+vw4cNObV5eXpJUq7Obt956qyS53Pi0b98+HTx4UBERETWOAQD4P9w4BaDJdOrUST/+8Y+VkpKiM2fOaO7cuU7XkFZl+PDhuuOOOzRo0CBdddVVOnjwoNasWeMUPl966SXdd999uuOOO/Twww+rtLRUv/71r3XmzBktXry42vGjo6P1s5/9TI888ogmT56sL7/8Ui+99JKuueYap7q+ffuqffv2+sMf/qDrr79eV155pbp166Zu3bq5jBkYGKiHHnpIr776qtq0aaOoqCh98cUX+tWvfqUePXo43QQGAKgZZ1IBNKmZM2fq5MmTKisrq/TZpJW59dZblZaWppkzZyoyMlIvvfSSpk2bpj//+c+OmnvvvVdbtmzR6dOnNXXqVM2cOVM+Pj7atWuXbrrppmrHv/fee/XSSy/pnXfe0R133KHExEQlJibqhz/8oVPdFVdcoTfeeEOnT59WZGSkhg0bpqSkpCrHTUxM1OLFi7Vt2zbdcccdeuaZZxQZGandu3dXeg0qAKBqNuv735UBAAAABuBMKgAAAIxDSAUAAIBxCKkAAAAwjltDanx8vIYNG6aOHTuqS5cumjRpkssjYCqTmZmp0NBQeXt767rrrtOqVatcalJTUxUUFCQvLy8FBQVp8+bNTbEEAAAAo8TFxclmszm9unbtWm2f2mSr5ubWkJqZmanZs2drz549Sk9P1/nz5xUZGamSkpIq+xw7dkwTJkzQqFGjlJOTo6efflqPP/64UlNTHTXZ2dmaOnWqoqOjlZeXp+joaE2ZMkV79+5tjmUBAAC4VXBwsAoKChyvTz/9tMra2mQrdzDq7v7//Oc/6tKlizIzMzV69OhKa+bNm6e0tDQdPHjQ0TZr1izl5eUpOztbkjR16lTZ7XZt377dUXPbbbfpqquu0vr165t2EQAAAG4UFxenLVu2KDc3t1b1tclW7mDUw/yLiookqdq/652dne3yF2vGjx+v5ORknTt3Tu3atVN2drbLg7PHjx+vhISESscsLS11+hOJFy5c0P/7f/9PnTt3ls1mq+dqAABAc7IsS9988426detWqz8c0tjOnj2rsrKyJhnbsiyXTOLl5eX4y3gVHTlyRN26dZOXl5eGDx+uF198Udddd12ltbXJVu5gTEi1LEsxMTG66aabNGDAgCrrCgsL5e/v79Tm7++v8+fP69SpUwoICKiyprCwsNIx4+PjtWjRooYvAgAAuF1+fr66d+/erPs8e/asurdvr9NNNP6VV16p4uJip7aFCxcqLi7OpXb48OF688039cMf/lD//ve/9fzzz2vEiBH629/+VukfFqlNtnIHY0Lqo48+qk8++UQffvhhjbUVf5O4dMXC99srq6nqrGhsbKxiYmIc20VFRerZs6ekNEkdarkCAADgXiWSfqSOHTs2+57Lysp0WtImNX5yKJF0V3Gx8vPz5ePj42iv6ixqVFSU498DBw5UeHi4+vbtq9///vdOeef7apOtmpsRIfWxxx5TWlqasrKyavzNp2vXri5nRE+ePCkPDw/HbwdV1VT8LeGSqk+XdxAhFQCAlsWdwaopk4OPj49TSK2tDh06aODAgTpy5Eil79cmW7mDW+/utyxLjz76qDZt2qT3339fffr0qbFPeHi40tPTndp27typoUOHOq6ZqKpmxIgRjTd5AACAFqC0tFQHDx6s8mv72mQrd3BrSJ09e7bWrl2rdevWqWPHjiosLFRhYaG+++47R01sbKymTZvm2J41a5a+/PJLxcTE6ODBg3rj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jdO2bdt04MABjRkzRhMnTlROTo5TnY+PjwoKCpxeJv2Fjbqu+5LDhw87ralfv36O91rj571s2TKn9ebn58vPz0933323U53Jn3dJSYkGDx6sFStW1Kq+tRzbdV13azm267ruS1r6sV3XdbeGY1u6GDZnz56tPXv2KD09XefPn1dkZKRKSkqq7NNajnH8l1sfgNVMbrzxRmvWrFlObf3797fmz59faf1TTz1l9e/f36nt4YcftsLCwhzbU6ZMsW677TanmvHjx1s//elPG2nWDVfXdVcmKCjIWrRokWN79erVlq+vb2NNsUnUdd2XniX39ddfVznm5fB5b9682bLZbNYXX3zhaGsJn/clkqzNmzdXW9Naju3vq826K9MSj+3vq826W8ux/X31+bxb+rF9ycmTJy1JTs9Tr6g1HuOXs1Z/JrWsrEwHDhxQZGSkU3tkZKR2795daZ/s7GyX+vHjx2v//v06d+5ctTVVjdnc6rPuii5cuKBvvvlGfn5+Tu3FxcXq1auXunfvrjvuuMPlbIw7NWTdISEhCggIUEREhHbt2uX03uXweScnJ2vs2LHq1auXU7vJn3ddtYZjuzG0xGO7IVrysd0YWsuxXVRUJEkuP7ffxzHeurT6kHrq1CmVl5fL39/fqd3f31+FhYWV9iksLKy0/vz58zp16lS1NVWN2dzqs+6KXn75ZZWUlGjKlCmOtv79+yslJUVpaWlav369vL29NXLkSB05cqRR519f9Vl3QECAkpKSlJqaqk2bNikwMFARERHKyspy1LT2z7ugoEDbt2/XAw884NRu+uddV63h2G4MLfHYro/WcGw3VGs5ti3LUkxMjG666SYNGDCgyjqO8dbFw90TaC42m81p27Isl7aa6iu213VMd6jvHNevX6+4uDht3bpVXbp0cbSHhYUpLCzMsT1y5EgNGTJEr776qpYvX954E2+guqw7MDBQgYGBju3w8HDl5+dr6dKlGj16dL3GdJf6zjElJUWdOnXSpEmTnNpbyuddF63l2K6vln5s10VrOrbrq7Uc248++qg++eQTffjhhzXWXu7HeGvS6s+kXn311Wrbtq3Lb0gnT550+U3qkq5du1Za7+Hhoc6dO1dbU9WYza0+675k48aNuv/++/XHP/5RY8eOrba2TZs2GjZsmDG/fTdk3d8XFhbmtKbW/HlblqU33nhD0dHR8vT0rLbWtM+7rlrDsd0QLfnYbiwt7dhuiNZybD/22GNKS0vTrl271L1792prL/djvLVp9SHV09NToaGhSk9Pd2pPT0/XiBEjKu0THh7uUr9z504NHTpU7dq1q7amqjGbW33WLV08yzJjxgytW7dOt99+e437sSxLubm5CggIaPCcG0N9111RTk6O05pa6+ctXbyD9ujRo7r//vtr3I9pn3ddtYZju75a+rHdWFrasd0QLf3YtixLjz76qDZt2qT3339fffr0qbHP5XyMt0rNe5+We2zYsMFq166dlZycbH3++efWnDlzrA4dOjjudJw/f74VHR3tqP/nP/9pXXHFFdaTTz5pff7551ZycrLVrl07609/+pOj5qOPPrLatm1rLV682Dp48KC1ePFiy8PDw9qzZ0+zr68qdV33unXrLA8PD2vlypVWQUGB43XmzBlHTVxcnLVjxw7rH//4h5WTk2PNnDnT8vDwsPbu3dvs66tKXdf9yiuvWJs3b7b+/ve/W5999pk1f/58S5KVmprqqGmNn/clP/vZz6zhw4dXOqbpn/c333xj5eTkWDk5OZYk6ze/+Y2Vk5Njffnll5Zltd5ju67rbi3Hdl3X3VqO7bqu+5KWfGxblmX9/Oc/t3x9fa2MjAynn9tvv/3WUdNaj3FcdFmEVMuyrJUrV1q9evWyPD09rSFDhjg9wmL69OnWzTff7FSfkZFhhYSEWJ6enlbv3r2txMRElzHfeustKzAw0GrXrp3Vv39/p//hM0Vd1n3zzTdbklxe06dPd9TMmTPH6tmzp+Xp6Wldc801VmRkpLV79+5mXFHt1GXdS5Yssfr27Wt5e3tbV111lXXTTTdZb7/9tsuYre3ztizLOnPmjNW+fXsrKSmp0vFM/7wvPWKoqp/Z1nps13XdreXYruu6W8uxXZ+f85Z+bFuWVemaJVmrV6921LTWYxwX2Szrv1cUAwAAAIZo9dekAgAAoOUhpAIAAMA4hFQAAAAYh5AKAAAA4xBSAQAAYBxCKgAAAIxDSAUAAIBxCKkAAAAwDiEVAAAAxiGkAmj1ysvLNWLECE2ePNmpvaioSD169NCCBQvcNDMAQFX4s6gALgtHjhzRDTfcoKSkJN13332SpGnTpikvL0/79u2Tp6enm2cIAPg+QiqAy8by5csVFxenzz77TPv27dPdd9+tv/71r7rhhhvcPTUAQAWEVACXDcuydOutt6pt27b69NNP9dhjj/FVPwAYipAK4LJy6NAhXX/99Ro4cKA+/vhjeXh4uHtKAIBKcOMUgMvKG2+8oSuuuELHjh3TV1995e7pAACqwJlUAJeN7OxsjR49Wtu3b9dLL72k8vJyvfvuu7LZbO6eGgCgAs6kArgsfPfdd5o+fboefvhhjR07Vr/73e+0b98+vf766+6eGgCgEoRUAJeF+fPn68KFC1qyZIkkqWfPnnr55Zf1y1/+Ul988YV7JwcAcMHX/QBavczMTEVERCgjI0M33XST03vjx4/X+fPn+dofAAxDSAUAAIBx+LofAAAAxiGkAgAAwDiEVAAAABiHkAoAAADjEFIBAABgHEIqAAAAjENIBQAAgHEIqQAAADAOIRUAAADGIaQCAADAOIRUAAAAGOf/AxgN8Rf8p6O5AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X, Y = np.meshgrid(x,y)\n",
    "\n",
    "plt.figure(figsize=(8,6))\n",
    "contour = plt.contourf(X,Y,v[:], cmap='jet')\n",
    "plt.title(\"v solution\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.ylabel(\"Y\")\n",
    "colorbar = plt.colorbar(contour)\n",
    "colorbar.set_label(\"v scale\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "e0a41c31",
   "metadata": {},
   "outputs": [],
   "source": [
    "for n in range(1, nt):\n",
    "    un = u.copy()\n",
    "    vn = v.copy()\n",
    "    for i in range(1, nx-1):\n",
    "        for j in range(1, ny-1): \n",
    "            u[i,j] = (un[i, j] -(un[i, j] * dt / dx * (un[i, j] - un[i-1, j])) -vn[i, j] * dt / dy * (un[i, j] - un[i, j-1])) + (nu*dt/(dx**2))*(un[i+1,j]-2*un[i,j]+un[i-1,j])+(nu*dt/(dx**2))*(un[i,j-1]-2*un[i,j]+un[i,j+1])\n",
    "            v[i,j] = (vn[i, j] -(un[i, j] * dt / dx * (vn[i, j] - vn[i-1, j]))-vn[i, j] * dt / dy * (vn[i, j] - vn[i, j-1])) + (nu*dt/(dx**2))*(vn[i+1,j]-2*vn[i,j]+vn[i-1,j])+(nu*dt/(dx**2))*(vn[i,j-1]-2*vn[i,j]+vn[i,j+1])\n",
    "            uf[n,i,j] = u[i,j]\n",
    "            vf[n,i,j] = v[i,j]\n",
    "    u[:,0 ] = 1\n",
    "    u[:,-1] = 1\n",
    "    u[0,: ] = 1\n",
    "    u[-1,:] = 1\n",
    "    v[:,0 ] = 1\n",
    "    v[:,-1] = 1\n",
    "    v[0,: ] = 1\n",
    "    v[-1,:] = 1        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "563495ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqkAAAIhCAYAAABtxSNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRGElEQVR4nO3de3hU5b328XsgJMFDgkEIoUJANgUDCCEcAghKOUupbFtJaxvAF7W0eMC8+mo8MdjuRloPgJxki2ajBamGAK1QCUoISKSFJrhbhS02SkqTImzJmChBYL1/YEYmx5nJzKy1Zr6f65pL1sozz/o9M7PMPc86xGEYhiEAAADAQtqYXQAAAABQHyEVAAAAlkNIBQAAgOUQUgEAAGA5hFQAAABYDiEVAAAAlkNIBQAAgOUQUgEAAGA5hFQAAABYDiEVQFi74YYbdMMNN/j13K1bt8rpdDb6sx49emj27Nl+1wUAaF6U2QUAgFVt3bpVy5cvbzSo5ufnKy4uLvRFAUCEIKQCgB9SU1PNLgEAwhqH+wEE3OzZs9WjR48G651OpxwOR4vPLykp0Xe/+1117txZMTEx6tq1q6ZOnap//OMf7janT59Wdna2evbsqejoaH3rW9/SvHnzdOrUqWb7LiwslMPhUGFhocf6jz/+WA6HQ7m5ue4xLF++XJLkcDjcj48//lhS44f7jx49qp/85Cfuuq+55ho9/fTTOn/+fIPtPPXUU3rmmWfUs2dPXXbZZRoxYoTefffdFl8bAIgUzKQCsJSamhpNmDBBPXv21PLly5WYmKjKykrt3LlTn3/+uSTJMAxNnz5db731lrKzszV69Gi99957WrBggYqLi1VcXKyYmJhW1fHYY4+ppqZGr7/+uoqLi93rk5KSGm3/6aefauTIkTpz5ox+8YtfqEePHvrDH/6g+++/Xx999JFWrFjh0X758uXq27evFi9e7N7ejTfeqLKyMsXHx7eqdgAIB4RUAJZy6NAhnTx5UmvWrNFNN93kXj9jxgz3v7dv364333xTv/71r/XAAw9IkiZMmKBu3bopIyNDa9eu1R133NGqOnr16qXExERJUnp6eovtn3nmGR07dkz79u3TsGHDJEmTJk3SuXPntGrVKs2fP1/f/va33e0vv/xy/eEPf1Dbtm0lSV27dtWwYcO0bds2/fCHP2xV7QAQDjjcD8BS/u3f/k1XXHGFHnzwQa1atUrvv/9+gzZvv/22JDU43H7LLbfo0ksv1VtvvRWKUhvUlJKS4g6odWbPni3DMNw115k6dao7oErStddeK0n65JNPgl8sANgAIRWApcTHx2vXrl0aNGiQHn74YfXr109du3bVggUL9NVXX0mSTp48qaioKHXq1MnjuQ6HQ126dNHJkydDXvfJkycbPRWga9eu7p9frGPHjh7LdacnfPnll0GqEADshZAKIOBiY2NVW1vbYP2JEye8ev6AAQP06quv6uTJkyotLVVGRoaeeOIJPf3005IuBLyzZ8/q008/9XieYRiqrKzUlVde2WxtkhrU521tTenYsaMqKioarP/nP/8pSc3WBABoiJAKIOB69Oih48eP61//+pd73ZkzZ/Tmm2/61I/D4dDAgQP17LPPqkOHDvrLX/4iSRo3bpwk6ZVXXvFon5eXp5qaGvfPm6pNkt577z2P9Vu2bGnQ1pfZzXHjxun9999311hn7dq1cjgcGjt2bIt9AAC+wYVTAAIuIyNDjz/+uH74wx/qgQce0OnTp7V06VKdO3euxef+4Q9/0IoVKzR9+nRdffXVMgxDGzdu1KlTpzRhwgRJFy6SmjRpkh588EG5XC6NGjXKfXV/amqqMjMzm+y/S5cuGj9+vHJycnTFFVcoOTlZb731ljZu3Nig7YABAyRJixYt0pQpU9S2bVtde+21io6ObtD2vvvu09q1azV16lQ98cQTSk5O1htvvKEVK1boZz/7mcdFUwAALxgAEARbt241Bg0aZLRv3964+uqrjWXLlhkLFiwwWvrfzqFDh4wf/ehHRq9evYz27dsb8fHxxrBhw4zc3FyPdl9++aXx4IMPGsnJyUa7du2MpKQk42c/+5nx2WefebS7/vrrjeuvv95jXUVFhfGDH/zASEhIMOLj442f/OQnxv79+w1JxksvveRuV1tba9x+++1Gp06dDIfDYUgyysrKDMMwjOTkZGPWrFke/X7yySfGrbfeanTs2NFo166d0adPH+M3v/mNce7cOXebsrIyQ5Lxm9/8psHYJRkLFixo9vUBgEjhMAzDMDUlAwAAAPVwTioAAAAsh5AKAAAAyyGkAgAAwHJMDak5OTkaOnSoLr/8cnXu3FnTp0/X4cOHW3zerl27lJaWptjYWF199dVatWpVgzZ5eXlKSUlRTEyMUlJSlJ+fH4whAAAAWE5RUZGmTZumrl27yuFwaNOmTS0+57e//a0GDhyoSy65RElJSbrttttM+eModUwNqbt27dK8efP07rvvqqCgQGfPntXEiRNVU1PT5HPKysp04403avTo0SopKdHDDz+se+65R3l5ee42xcXFysjIUGZmpg4ePKjMzEzNmDFD+/btC8WwAAAATFVTU6OBAwdq2bJlXrXfs2ePZs6cqTlz5uhvf/ubXnvtNf35z3/W7bffHuRKm2apq/s//fRTde7cWbt27dKYMWMabfPggw9qy5Yt+uCDD9zr5s6dq4MHD6q4uFjShXs0ulwubdu2zd1m8uTJuuKKK7R+/frgDgIAAMBCHA6H8vPzNX369CbbPPXUU1q5cqU++ugj97rnnntOv/71r1VeXh6CKhuy1M38q6qqJEkJCQlNtikuLtbEiRM91k2aNElr1qzRV199pXbt2qm4uFj33XdfgzaLFy9utM/a2lqPP5F4/vx5/e///q86duwoh8Ph52gAAEAoGYahzz//XF27dlWbNqE/WHz69GmdOXMmKH0bhtEgk8TExLj/Ml5rjRw5Uo888oi2bt2qKVOm6Pjx43r99dc1derUgPTvD8uEVMMwlJWVpeuuu079+/dvsl1lZaUSExM91iUmJurs2bM6ceKEkpKSmmxTWVnZaJ85OTlauHBh6wcBAABMV15erquuuiqk2zx9+rSuat9ewTqD87LLLlN1dbXHugULFsjpdAak/5EjR+q3v/2tMjIydPr0aZ09e1bf+9739NxzzwWkf39YJqTeddddeu+997Rnz54W29b/JlF3xsLF6xtr09SsaHZ2trKystzLVVVV6t69u6Qtki71cgQAAMBcNZK+p8svvzzkWz5z5oxOStqowCeHGkk3V1ervLxccXFx7vWBmkWVpPfff1/33HOPHn/8cU2aNEkVFRV64IEHNHfuXK1ZsyZg2/GFJULq3XffrS1btqioqKjFbz5dunRpMCN6/PhxRUVFqWPHjs22qT+7Wqfp6fJLRUgFAHgYO9zsCuxlZ+gvWjbzVL1gJoe4uDiPkBpIOTk5GjVqlB544AFJ0rXXXqtLL71Uo0eP1i9/+UslJSUFZbvNMTWkGoahu+++W/n5+SosLFTPnj1bfM6IESP0+9//3mPd9u3bNWTIELVr187dpqCgwOO81O3bt2vkyJGBHQAAIHgI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WxQXFxeUc20///xz7d+/XyUlJbrrrrskSefPn5dhGIqKitL27dv1ne98p9k++vfvrw0bNujxxx/3WP/qq68qJSXFr7q8DqmTJ0/Wn/70Jy1btkwzZ870a2OtNWLECP3+97/3WLd9+3YNGTJE7dq1c7cpKCjQfffd59Fm5MiRIa0VABpgVhWABcXFxem///u/PdatWLFCb7/9tl5//XX17NmzxT4ee+wxff/739dHH33kDrRvvfWW1q9fr9dee82vurwOqefOndN7772nq666yq8NNaa6ulpHjhxxL5eVlam0tFQJCQnq3r27srOzdezYMa1du1bShSv5ly1bpqysLN1xxx0qLi7WmjVrPK7av/feezVmzBgtWrRIN910kzZv3qwdO3Zoz549AasbAPzGrCqAEPAlY7Vp00b9+/f3eH7nzp0VGxvbYH1Tvve972nTpk361a9+pddff13t27fXtddeqx07duj666/3awxeh9SCggK/NtCc/fv3a+zYse7luvNCZ82apdzcXFVUVOjo0aPun/fs2VNbt27Vfffdp+XLl6tr165aunSpx/2/Ro4cqVdffVWPPvqoHnvsMfXq1UsbNmzgHqkArIVZVeAbHOoPOF8zViBMnTpVU6dODVh/Xt8nNZJwn1QAIUVYRaQLWEg1/z6p46teVru4AF/d7/pCO+IzTRmXt8rLy+VwONxH3P/0pz9p3bp1SklJ0Z133ulXn17fJxUAECTMIiGS8fkPC7feeqt27twp6cItQ8ePH68//elPevjhh/XEE0/41SchFQCsgD8AAMDG/vrXv2rYsGGSpN/97ncaMGCA9u7dq3Xr1ik3N9evPgmpAGAlBFVEEj7vYeOrr75y385zx44d+t73vidJ6tu3ryoqKvzqk5AKAFbDrCoiAZ/xsNKvXz+tWrVKu3fvVkFBgSZPnixJ+uc//+m+l72vCKkAYFX8EgdgE4sWLdLzzz+vG264QT/60Y80cOBASdKWLVvcpwH4KrR/0xQA4Bvuq4pwxBewsHPDDTfoxIkTcrlcuuKKK9zr77zzTl1yiX93OyCkAoAdEFYRLgioYatt27YeAVWSevTo4Xd/HO4HADvhFzyACEFIBQC74cIq2BWfW/iAkAoAdkVYhZ3wWYWPCKkAYHeEVQBhiAunACBccHEVrIovUWGvpT99+vjjj/vcJyEVAMINYRVW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",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X, Y = np.meshgrid(x,y)\n",
    "\n",
    "plt.figure(figsize=(8,6))\n",
    "contour = plt.contourf(X,Y,u[:], cmap='jet')\n",
    "plt.title(\"u solution\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.ylabel(\"Y\")\n",
    "colorbar = plt.colorbar(contour)\n",
    "colorbar.set_label(\"u scale\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "539336ed",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqkAAAIhCAYAAABtxSNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRhUlEQVR4nO3de3hU5b33/89gIMFDglEIQY6yKchBDOEQQKgIBKOmUt3C1jYctqhsj5jiAxQri54QqpWjKI9ofh6IbBuC9Cko0RICEtnCTrCtSEFRoiabwpaMiRIE1u8PmpHJZJKZycysNTPv13Xlklm5172+98ws85l7HcZhmqYpAAAAwEZaWV0AAAAA0BAhFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFUBUy8vLk8Ph0Keffur3ul9++aUMw1B5ebnH7wzDkMPhaHmBAIBGEVIBwIsvv/xSCxcubDSkzpgxQ6WlpeEvCgBiRJzVBQBAJOrcubM6d+5sdRkAELWYSQUQdBs3bpTD4dA777zj8bvVq1fL4XDogw8+8Lr+N998o9mzZ6tHjx5KSEhQcnKyBg8erPz8fLd2mzZt0vDhw3XhhRfqkksu0fjx432a3ezevbumTZvmsfy6667TddddJ0kqLi7WkCFDJEnTp0+Xw+GQw+GQYRiSGj/cf/bsWS1ZskR9+vRRfHy8OnTooClTpujzzz/32E7//v31/vvva9SoUbrwwgt15ZVX6oknntDZs2ebrR8AYgEhFUDQ3XzzzerQoYNefPFFj9/l5eVp0KBBuvrqq72un5ubq9WrV+uhhx7Sm2++qZdfflm33367jh8/7mqzbt063XLLLUpMTFR+fr7Wrl2rr776Stddd5127tzZ4jEMGjTIVf9jjz2m0tJSlZaWasaMGV7X+Y//+A/NmTNH48eP16ZNm/SrX/1Kb775pkaMGKFjx465ta2qqtJPfvIT/fSnP9WmTZuUlZWlefPm6ZVXXmlx7QAQDTjcDyDo4uLi9NOf/lSrV69WdXW1kpKSJEn79+/Xf/3Xf2nFihVNrv/uu+8qMzNTjzzyiGvZTTfd5Pr32bNn9eijj2rAgAHasmWLWrU693n7xhtvVM+ePTVnzhy9++67LRpDYmKi+vfvL0nq2bOnMjIymmz/0Ucfac2aNbrvvvvcxpeWlqZhw4bp6aef1m9+8xvX8uPHj2vz5s0aOnSoJGncuHEqLi7WunXrNGXKlBbVDgDRgJlUACHx7//+7/r222+1fv1617IXX3xR8fHxuvPOO5tcd+jQodqyZYvmzp2r4uJiffvtt26/P3DggL788kvl5OS4AqokXXzxxbrtttv03nvv6ZtvvgnugJqxbds2SfI4jWDo0KG66qqrPE596Nixoyug1rv66qv12WefhbROAIgUhFQAIdGvXz8NGTLEdcj8zJkzeuWVV3TLLbcoOTm5yXWXL1+uOXPmaOPGjRozZoySk5M1ceJEHTx4UJJch/1TU1M91u3UqZPOnj2rr776KsgjalpzNZ1/qoIkXXbZZR7t4uPjPQI5AMQqQiqAkJk+fbree+897d+/X2+++aYqKys1ffr0Zte76KKLtHDhQn300UeqqqrS6tWr9d577yk7O1vS9wGvsrLSY90vv/xSrVq10qWXXuq1/4SEBNXV1Xksb3jeqD+aq+nyyy8PuG8AiEWEVAAhc8cddyghIUF5eXnKy8vTFVdcoczMTL/6SElJ0bRp03THHXfowIED+uabb9S7d29dccUVWrdunUzTdLWtra1VQUGB64p/b7p37+5xd4G///3vOnDggNuy+Ph4SfJpdvP666+XJI8Ln95//33t379fY8eObbYPAMD3uHAKQMi0a9dOP/7xj5WXl6cTJ05o9uzZbueQejNs2DDdfPPNuvrqq3XppZdq//79evnll93C55IlS/STn/xEN998s+69917V1dXpd7/7nU6cOKEnnniiyf5zcnL005/+VPfdd59uu+02ffbZZ1qyZInat2/v1q5nz55q27atXn31VV111VW6+OKL1alTJ3Xq1Mmjz969e+uee+7RihUr1KpVK2VlZenTTz/VL37xC3Xp0sXtIjAAQPOYSQUQUtOnT9fRo0d16tSpRu9N2pjrr79emzZt0vTp05WZmaklS5ZoypQp+uMf/+hqc+edd2rjxo06fvy4Jk+erOnTpysxMVHbtm3Ttdde22T/d955p5YsWaK33npLN998s1avXq3Vq1frBz/4gVu7Cy+8UC+88IKOHz+uzMxMDRkyRGvWrPHa7+rVq/XEE09o8+bNuvnmmzV//nxlZmZq165djZ6DCgDwzmGef6wMAAAAsAFmUgEAAGA7hFQAAADYDiEVAAAAtmNpSF20aJGGDBmiSy65RB06dNDEiRM9bgHTmO3btys9PV0JCQm68sor9eyzz3q0KSgoUN++fRUfH6++ffuqsLAwFEMAAACwnZKSEmVnZ6tTp05yOBzauHFjs+u8+uqrGjhwoC688EKlpqZq+vTpHl9EEk6WhtTt27fr/vvv13vvvaeioiKdPn1amZmZqq2t9brO4cOHdeONN2rUqFEqKyvTz3/+cz300EMqKChwtSktLdXkyZOVk5Ojffv2KScnR5MmTdLu3bvDMSwAAABL1dbWauDAgVq5cqVP7Xfu3KkpU6borrvu0t/+9je9/vrrev/99zVjxowQV+qdra7u/8c//qEOHTpo+/btGj16dKNt5syZo02bNmn//v2uZTNnztS+fftUWloqSZo8ebKcTqe2bNnianPDDTfo0ksvVX5+fmgHAQAAYCMOh0OFhYWaOHGi1zZPPvmkVq9erY8//ti1bMWKFVqyZIkqKirCUKUnW93Mv7q6WpKa/F7v0tJSj2+smTBhgtauXavvvvtOrVu3VmlpqceNsydMmKClS5c22mddXZ3bVySePXtW//u//6vLLrtMDocjwNEAAIBwMk1TX3/9tTp16uTTF4cE28mTJ3Xq1KmQ9G2apkcmiY+Pd30zXkuNGDFC8+fP1+bNm5WVlaWjR4/qD3/4g2666aag9B8I24RU0zSVm5ura6+9Vv379/farqqqSikpKW7LUlJSdPr0aR07dkypqale21RVVTXa56JFi7Rw4cKWDwIAAFiuoqJCnTt3Dus2T548qc5t2ypUZ3BefPHFqqmpcVu2YMECGYYRlP5HjBihV199VZMnT9bJkyd1+vRp/ehHP9KKFSuC0n8gbBNSH3jgAX3wwQfauXNns20bfpKoP2Ph/OWNtfE2Kzpv3jzl5ua6HldXV6tr166SNkm6yMcRAAAAa9VK+pEuueSSsG/51KlTOi5pg4KfHGol3VpTo4qKCiUmJrqWB2sWVZI+/PBDPfTQQ3r88cc1YcIEVVZW6tFHH9XMmTO1du3aoG3HH7YIqQ8++KA2bdqkkpKSZj/5dOzY0WNG9OjRo4qLi3N97aC3Ng1nV+t5ny6/SIRUAICbMcOsriCybAv/RctWnqoXyuSQmJjoFlKDadGiRRo5cqQeffRRSdLVV1+tiy66SKNGjdKvf/1rpaamhmS7TbE0pJqmqQcffFCFhYUqLi5Wjx49ml1n+PDhbt/fLUlbt27V4MGD1bp1a1eboqIit/NSt27dqhEjRgR3AACA0CEMRgdfX0cLwiy+98033yguzj0WXnDBBZK+P2IdbpaG1Pvvv1/r1q3TG2+8oUsuucQ1+5mUlKS2bdtKOnco/osvvtBLL70k6dyV/CtXrlRubq7uvvtulZaWau3atW5X7T/88MMaPXq0Fi9erFtuuUVvvPGG3n77bZ9OJQAA+IgQiWBq+H4itLZITU2NDh065Hp8+PBhlZeXKzk5WV27dvXIV9nZ2br77ru1evVq1+H+WbNmaejQoerUqZMlY7D0FlTepuNffPFFTZs2TZI0bdo0ffrppyouLnb9fvv27XrkkUf0t7/9TZ06ddKcOXM0c+ZMtz7+8Ic/6LHHHtMnn3yinj176je/+Y1uvfVWn+pyOp1KSkqS9I443A8gKhEwQ8OwugAbMYLcn0+htVbSWFVXV4fssLg39dnhLYXmnNQJkl/jKi4u1pgxYzyWT506VXl5eY3mqxUrVujZZ5/V4cOH1a5dO11//fVavHixrrjiiuAMxE+2uk+qXRBSAUQMwqZ/DKsLgKSWvQ5NhlVCajSxxYVTAIDzEDwbZ1hdQOTIGr0h4HW3lPh21LFFDB+XNWbMME4FiBGEVAAIJwJozITNlgRFKwWj7oCCruHl340hqMYEQioAhEIsh1HD6gJCI1JDpxUaPld+h1ZDUfs+gu8IqQDQUrEYSA2rCwgewmfonf8c+xxYDUXV+wz+I6QCgL9iKZQaVhfQctEcQmfo+ZD2/7xmBL1PvwKrIe/vQQ75Rz1CKgA0JVYCqWF1AYGL9BAa6qDZEr7U1pIgW//aNRlWDUX0+xOBI6QCwPliIZQaVhfgv0gLonYOnsHmbaz+hNes0RsIqvBASAWAaA6mhtUF+C4Sgmgshc+WOv+58iWwBhRUOeQf1QipAGJPtIZSw+oCfGPnMEoIDY3657W5sNpsUEVMIaQCiA3RGEwNqwtonh0DaSQF0Vv3bbG6BK82DMzyex1fwmqTQdVQRLzvERyEVADRK9qCqWF1AU2zWyC1axi1c/D0R8Nx+BNamwurzKhCIqQCiEbRFE4NqwvwjlDatGgJo746f7y+BtamwqrPQZXzUqMWIRVA9CCchpydgqmdQmmsBdLm1D8fgZwS0CxDtt0/EFyEVACRj3AacnYJp3YJpoRS39y6b4tPQXWGnm/ZbCqiEiEVQOSKlnBqWF1A4wim34vYULrYz/Zzgl+Cr0EVaIiQCiAyRUNANawuwBPB9Bzbh1J/w2dL+21hePUlqDKbioYIqQAiC+E0JKwOp4TSRoQqiAaisVr8DK4hPU8VUYmQCiAyEE5DIpbDqW2CqZ3CqD/q6w4grHoLqt5mUz0YsuX+hOAipAKwv0gPqIbVBbiL1WBqi1AaqYG0KQGEVX/PU+WQf2wipAKwL8JpUFkZTmM2mEZjKPXm/LH6EFi9BVWfZ1MR9QipAOyJgBo0hNMwi6Vg6s1itSioNobZ1NhDSAVgP5EcUA2rC3BnVUCNuXBKMPXkY1BtDLOpkAipAOyGgBoUsTZ7Sji1qRYEVYCQCsA+CKhBEUsBlXAa+bjZP7whpAKwBwJqUMTS4X1LAmoEhNN381vex8g7Wt6HSzhmU8cMk7btDvFGEG6EVADWI6AGRawEVMLpOcEIo831HdSwCviJkArAWgTUFiOchpDNwmkog2lz22tRYG1mNrWxQ/5cPAVCKgDrEFBbjIAaIjYKp+EOpt4ELbAGiyHb7IcIDUIqAGtEakA1rC7ge1YEVMJpeNglmHrzbn4AQZUr/eGnVlYXAADwHwE1BCwOqO/mf/8TCayo0+qv9EV4EVIBhB+zqC1CQA0BGwRUAO4IqQDCi4DaIrEwk0RAjRx+197Ec23pV9nClgipAIAmhXMWlYAKoB4hFUD4MIvaIrFwmD+sCKhBES3jgP0QUgGgKYbVBZwTCwE1rLOoBNSIENUfktAsbkEFIDwidRbVBjgPNXoQTgHfMZMKIPQiNaAaVhdgHc5DDb5oDqjRPDZYh5AKAI0xrC7gnGg/zE9AjUE2+cIE2B8hFUBoReosqg1Ee0ANOwJqSMXKOBE+hFQAaMiwuoDYECvnoQIIDCEVAGwoFi6WCisOMQMRh5AKIHQi8VC/YXUB1onqc1EtwiFwIHCEVAAAANgOIRUAbIYLpoKMQ/1ARCKkAggNDvXDCw71A/AFIRUAbIQLpgDgHEIqgOBjFjWicKgfgB1ZGlJLSkqUnZ2tTp06yeFwaOPGjU22nzZtmhwOh8dPv379XG3y8vIabXPy5MkQjwYA0JxYOdQPWC0UGSvcLA2ptbW1GjhwoFauXOlT+2XLlqmystL1U1FRoeTkZN1+++1u7RITE93aVVZWKiEhIRRDAICg4VA/gGAJVcYKpzjLtiwpKytLWVlZPrdPSkpSUlKS6/HGjRv11Vdfafr06W7tHA6HOnbs6HO/dXV1qqurcz12Op0+rwsAkSyqD/UDUaZhPomPj1d8fHyjbUOVscLJ0pDaUmvXrtW4cePUrVs3t+U1NTXq1q2bzpw5o2uuuUa/+tWvlJaW5rWfRYsWaeHChaEuF4gNnI8KIIZl/KuU2Dq4fTq/k/QHqUuXLm7LFyxYIMMwgruxf/KWscIpYkNqZWWltmzZonXr1rkt79Onj/Ly8jRgwAA5nU4tW7ZMI0eO1L59+9SrV69G+5o3b55yc3Ndj51Op8cbAQAAeDfyDqsriH4VFRVKTEx0PfY2i9pS3jJWuEVsSM3Ly1O7du00ceJEt+UZGRnKyMhwPR45cqQGDRqkFStWaPny5Y321dR0OQAAgB0kJia6hdRQ8Zaxwi0ib0FlmqZeeOEF5eTkqE2bNk22bdWqlYYMGaKDBw+GqToA8B8XTSFmzLG6ADTFn4wVahEZUrdv365Dhw7prrvuarataZoqLy9XampqGCoDYhzno6IJsXb7KQ5/IxL5k7FCzdLD/TU1NTp06JDr8eHDh1VeXq7k5GR17dpV8+bN0xdffKGXXnrJbb21a9dq2LBh6t+/v0efCxcuVEZGhnr16iWn06nly5ervLxcq1atCvl4ACCScGU/EL1CkbHCzdKQumfPHo0ZM8b1uP7ipalTpyovL0+VlZU6cuSI2zrV1dUqKCjQsmXLGu3zxIkTuueee1RVVaWkpCSlpaWppKREQ4cODd1AAACIYcwa208oMla4WRpSr7vuOpmm6fX3eXl5HsuSkpL0zTffeF3n6aef1tNPPx2M8gAAACJSKDJWuEXkOakAAEQCZhiBwBFSAQRHJF40ZRNc2Y9IFsog/rxmhK5z2B4hFQCAEGI2FQgMIRVA7DKsLiC2bBjo+/eIBw335LQXXg/4gZAKAECIRetsajDHZcmHGNgaIRUAAAC2Q0gFACAMonU2FQgVQiqAluPKftiZjc6DjKagGk1jgT0RUgEAQETYUnKr1SUgjAipAACEUczOQNpoRhuRgZAKAIh+NgtIkR5UI71+RAZCKgDEKCu+zYfbDH0vUoOebeo2rC4AoUZIBQDEBpvNpko2Cnw+irR6EdkIqQAAWChSgl+k1InoQUgFAIQVh/w92T0Atri+ZmaxG3tPWHE6CuyFkAoAiB02PORfb+Qd9gyrdqwJsYGQCgCAjdgpFNqpFsQeQioAILbYeDa1nh3CoR1qQGwjpAKAxWLxW3Q4L7V5Vh7+D+p2I+BDAeyJkAoAMSxmL06JoOAU7rDKDCrsgpAKAIhNERRUpfCE1YgNqNt2W10BQiDO6gIAALFpw8As3bpvi7VFzJG02NoS/HV+kHw3P3h9WYVTP+ANIRUAgAjlLWR6C69hD6URNlsNeyGkAkCMe14zNEPPW7JtZlNDww4zpC0Rs+dKww3npAIAwIwfYDuEVACwgVi8DRWinA/Bn/NR0RRCKgDAUrYJKsym2hof5GIPIRUAwDmA9QiqwcHziCAgpAIALGeb2VSJgNVSPH8IEkIqAAANEbRCzlYfTGBLhFQAscuwugB7sfqQv+1CC0HVfzxnCCJCKgDYBBeGEFRh/Ycl2AchFQDgQkBoBEHVNzxPCDJCKgDAVmw3myoRwILMlq8xbIeQCgCALwiq3vHcIAQIqQBgI3Y4L9UOh/xtO9NGGPPEc4IQIaQCAOAPQlmLBPIBxA4f3hB+hFQAsc2wugB4Y9vZVImgWs+q58GwaLsIK0IqAMCDHQ75SwRVIJYRUgHAZji0GUHmKHbDagDjbu5Dh10+HMEeCKkAWm7bbqsrQAjYJTDYeja1XqwF1VgbLyxBSAUA2F7EBNVYCG+xMEbYAiEVAAyrC/Bkl0P+dplNlSIkqErRHVajdVywJUIqACBiRExQlaIv0LVwPBH12sEWCKkAgCbZaTY14kTLrKqFY7DLUQWEHyEVAGyKP86Ni8gZuUgNqmEM2XwYQkOWhtSSkhJlZ2erU6dOcjgc2rhxY5Pti4uL5XA4PH4++ugjt3YFBQXq27ev4uPj1bdvXxUWFoZwFAAQ/ewWICI2qEbSzGoQ64zI1yvC+ZuxJKmurk7z589Xt27dFB8fr549e+qFF14IfbFeWBpSa2trNXDgQK1cudKv9Q4cOKDKykrXT69evVy/Ky0t1eTJk5WTk6N9+/YpJydHkyZN0u7d3CIHQBMMqwuAvyI6+Ng9rNq5NvgkkIw1adIkvfPOO1q7dq0OHDig/Px89enTJ4RVNi3Osi1LysrKUlaW//+T6dChg9q1a9fo75YuXarx48dr3rx5kqR58+Zp+/btWrp0qfLz81tSLgCE3ZaSW5U1eoPVZUg6N5s6Q89bXYabDQOzdOu+LVaXEbjzw+Biy6r4HuE0avibsd58801t375dn3zyiZKTkyVJ3bt3D1F1vonIc1LT0tKUmpqqsWPHatu2bW6/Ky0tVWZmptuyCRMmaNeuXV77q6urk9PpdPsB4Cdu6B8T7HbYX4rwGdXzWTW7GuLTEKLm9bGBhlmlrq4uaH1v2rRJgwcP1pIlS3TFFVfoBz/4gWbPnq1vv/02aNvwl6Uzqf5KTU3VmjVrlJ6errq6Or388ssaO3asiouLNXr0aElSVVWVUlJS3NZLSUlRVVWV134XLVqkhQsXhrR2AAiUnWZT7SriZ1TP11hYDPYsKzOmoTNL0sVB7rNG0h+kLl26uC1esGCBDMMIyiY++eQT7dy5UwkJCSosLNSxY8d033336X//938tOy81okJq79691bt3b9fj4cOHq6KiQk8++aQrpEqSw+FwW880TY9l55s3b55yc3Ndj51Op8cbAUAMMMS5qT6w42F/KcqCakPBCK4WBFNfZ1HtOENvRxUVFUpMTHQ9jo+PD1rfZ8+elcPh0KuvvqqkpCRJ0u9//3v967/+q1atWqW2bdsGbVu+iqiQ2piMjAy98sorrscdO3b0mDU9evSox+zq+eLj44P6QgMArBHVQbWhGJgN5TZs7hITE91CajClpqbqiiuucAVUSbrqqqtkmqY+//xzt4vUwyUiz0k9X1lZmVJTU12Phw8frqKiIrc2W7du1YgRI8JdGgAEjd3+WNt55otzIAH/jRw5Ul9++aVqampcy/7+97+rVatW6ty5syU1WRpSa2pqVF5ervLycknS4cOHVV5eriNHjkg6dxh+ypQprvZLly7Vxo0bdfDgQf3tb3/TvHnzVFBQoAceeMDV5uGHH9bWrVu1ePFiffTRR1q8eLHefvttzZo1K5xDA4CoR1BFU3gNrOVvxrrzzjt12WWXafr06frwww9VUlKiRx99VP/+7/9uyaF+yeKQumfPHqWlpSktLU2SlJubq7S0ND3++OOSpMrKSteTKUmnTp3S7NmzdfXVV2vUqFHauXOn/vSnP+nWW7+fYRgxYoRee+01vfjii7r66quVl5en9evXa9iwYeEdHBCLouEKf8PqAryz22yq3RGSrOPPc+/3hx3Dv+axyt+MdfHFF6uoqEgnTpzQ4MGD9ZOf/ETZ2dlavny5JfVLksM0TdOyrduU0+n85zkZ70i6yOpygMgyJgo+EBpWF+CdHa/yt+NFVOeLmXNUbSRYIbXRD2ZGIw1dH5BrJY1VdXV1yM7d9KY+O1TvlBKDfHW/s0ZKulaWjMtKEX9OKgDEEjvOptr5sL/EjGq48XwjWAipANCQYXUBkScSgirhKfT8fY79nkVFTCGkAkCE4Y934AiqUSgazoVHowipAIKLPxgxy+6zqfUIqqHB84pgI6QCQGMMqwtoml1nUyMpqBKqgieQ5zJS3iuwDiEVABBUkRQ+CKotx3OIUCGkAkCEsutsaqRhVhWwJ0IqgOCLlvNSDasLiFyRNJtaj6Dqv0Cfs0h8fyD8CKkAEMHsPJsaiUGEWVXfhfJ5svP7GuFDSAWAphhWFxDZIjGoSsyqAnZASAWACGf3WadIDqqE1ca15HmJ1PcDwo+QCiA0ouW81AhBUA0dwur3LH8uDOs2jfAjpAJAcwyrC4gOkRxUJRsENIsFY+yR/h5AeBFSASBK2H02VYqOkBJrYTXc442E9zHCg5AKAL4wrC7AN5HwBz4agqoUG2E12scHeyOkAggdzkuFF9ESVKXvw2q0BbpgjyeaXnOEByEVAHxlWF2AbyJhNlWKztASDYE10utH9IizugAAQOx6XjM0Q89bXUZInB/0bt23xcJKfEMwhd0QUgEgCm0puVVZozdYXYZPojmo1rNrYA1XMPV11jxSjgIgPAipAEJr225pzDCrqwgeQxF12J+gaj8Ng2G4QyszpogUhFQAiGKRFlQlxUxYrddYaAxmcLU6lEbjuccID0IqAPjLUMTMpkaiWJpV9cbqYAnYAVf3Awg9bkVlqUg8z4/Zt+gQ1NfRCF5XiAyEVAAIhGF1Af4hqMLuIvE9itAipAJAjIjEEEBQjVy8dmgpQiqA8IjGQ/6G1QXEhuc1g8ATYcL2ekXj/1fgQkgFgJYwrC7AP5E4m1qPoArEFkIqAMSYSA+qhFV74/VBsBBSAYRPtB6aM6wuwH+RHFQlgpBdBfq6NPt+NALqFhGOkAoAMSoagiph1T54LRBshFQA4cVsqq1EelCVCEd2wGuAUCCkAkCMi5agSlCKTNHw/kNoEFIBIFgMqwsIXLQEBcJq+PF8I1QIqQDCL1oP+UsEVZsgrIYHzzFCiZAKAIhahKjQCcZz69MHI6PFm0GEIqQCsAazqbYUTbOp9ZhVDT6eT4QDIRUAQsGwuoDAbSm5lbAKr4L1HEbjewzBRUgFADQqWkNEfVglsPqP5wzhREgFYJ1oPuQvRfRsar1oDar1CKu+4XmCFQipABBKhtUFtFy0B1WJENaUUDwvsfCeQsvFWV0AgBi3bbc0ZpjVVaAZW0puVdboDVaXEXLnB7IZet7CSqxni9BuWF0ArMRMKgCEmmF1AcERa7NfsXzuaijHHGvvIwSOkArAetF+bqpEUI1wsRJYI2qMsfD/jRjH4X4AgF9i5dC/N9F2SkA4Q2msfshBYAipAOwhFs5NNRRVM6qxHFTrNQx4kRRaI2bGFDGLkAoA4WQoqoKqJMLqeeweWq0Mpn7PohohKQMRhJAKwD5iYTZViqqgKjGr2hRvoTAc4ZWZUkQ6S0NqSUmJfve732nv3r2qrKxUYWGhJk6c6LX9hg0btHr1apWXl6uurk79+vWTYRiaMGGCq01eXp6mT5/use63336rhISEUAwDAPxniKAaw2ItQHIuavj5m7GKi4s1ZswYj+X79+9Xnz59Qlipd5Ze3V9bW6uBAwdq5cqVPrUvKSnR+PHjtXnzZu3du1djxoxRdna2ysrK3NolJiaqsrLS7YeACkQIrtiNWFtKbiWMADbhb8aqd+DAAbf81KtXrxBV2DxLZ1KzsrKUlZXlc/ulS5e6Pf7tb3+rN954Q3/84x+VlpbmWu5wONSxY8dglQkAoWEoqmZT6zGrivMF9MHFCHoZMcffjFWvQ4cOateuXfALCkBE3yf17Nmz+vrrr5WcnOy2vKamRt26dVPnzp118803e8y0NlRXVyen0+n2A8BCsTSbalhdQGgwqwoEX8OsUldXF/RtpKWlKTU1VWPHjtW2bduC3r8/IvrCqaeeekq1tbWaNGmSa1mfPn2Ul5enAQMGyOl0atmyZRo5cqT27dvndcp60aJFWrhwYbjKBgB3hqI6rDKrGrti8YPKpgHjdGFi66D2+Y3zO0lvq0uXLm7LFyxYIMMwgrKN1NRUrVmzRunp6aqrq9PLL7+ssWPHqri4WKNHjw7KNvzlME3TtGTLDTgcjmZP6j1ffn6+ZsyYoTfeeEPjxo3z2u7s2bMaNGiQRo8ereXLlzfapq6uzu3TiNPp/Ocb4R1JF/kxCgBBFQtX+p/PsLqA0CKsxp6AQ6rhQ5tGj7jUShqr6upqJSYmBrbtADmdTiUlJenl6tCE1Jykt1VRUeE2rvj4eMXHxze7vr8Zq152drYcDoc2bdrkb8lBEZGH+9evX6+77rpL//mf/9lkQJWkVq1aaciQITp48KDXNvHx8UpMTHT7AQAEVyzOqsUyXu/ga5hVfAmoLZGRkdFkfgq1iAup+fn5mjZtmtatW6ebbrqp2famaaq8vFypqalhqA5AUMXSualS1M+kSpyrGita9BobQSsDLVRWVmZpfrL0nNSamhodOnTI9fjw4cMqLy9XcnKyunbtqnnz5umLL77QSy+9JOlcQJ0yZYqWLVumjIwMVVVVSZLatm2rpKQkSdLChQuVkZGhXr16yel0avny5SovL9eqVavCP0AA8JehmPgjzbmq0SssH0Ji7QNsAPzNWEuXLlX37t3Vr18/nTp1Sq+88ooKCgpUUFBg1RCsnUnds2eP0tLSXLePys3NVVpamh5//HFJUmVlpY4cOeJq/9xzz+n06dO6//77lZqa6vp5+OGHXW1OnDihe+65R1dddZUyMzP1xRdfqKSkREOHDg3v4AAERyz+MTKsLiA8mFWNPrye9uFvxjp16pRmz56tq6++WqNGjdLOnTv1pz/9Sbfeat1rapsLp+yk/uRnLpwCbCTWLqKSYias1mNmNbIFLaAaPrTx+uE1ui+csmJcVoq4c1IBIGYYVhcQXsysItbe82gaIRVAZIjFw/5STP7RJqxGHl4vhAIhFQDszrC6AGsQfCIDrxNChZAKIHLE6myqFNNBlRBkX0F9bYzgdYXoQEgFEFkIqjGpPqwSWO2D1wKhRkgFgEhiWF2A9Qir1uP5RzgQUgFEnlieTZUIqv9EWA0/nnOEEyEVQGQiqOKfOBUgPEL6/Bqh6xqRy9KvRQUAtIDR4L9wBSm+GCB4bBf+Y/0DagxhJhVA5OKP1TmG1QXYD7OrwcHzBysxkwogsm3bHZtfmdqQIcKqF+cHLWZYfRPWcGqEb1OILIRUAIgWhviD3wwCa9OYOYWdEFIBRD5mU79niKDqo4aBLJZDq2Xh1LBms4gMhFQA0YGg+j2jwX/hk1ibZWXWFHZHSAWAaGWIoBqgxgJcNARXWwVTw+oCYHeEVADRg9lUT4YIA0ESicHVVqEU8BMhFUB0Iah6MkRQDZGmQmA4A2zEhVHD6gIQCQipAKIPQdWT0eC/CLmIC46RgHsjxxRu5g8gOvHHrHGG1QUg5hlWF4BIQUgFgFhjiKAAwPYIqQCiF7OpTTOsLgAxx7C6AEQSQiqA6EZQbZohggMAWyKkAoh+BNXmGVYXgKhnWF0AIg0hFQBwjiGCBELDsLoARCJCKoDYwGyq7wyrCwAawT4ccwipAGIHf+R8Z4iwiuAwrC4AkYqQCiC2EFT9Y4iQAcAShFQAsYeg6j/D6gIQkQyrC0AkI6QCiE0EVf8ZInTAd0YQ+2J/jUmEVACxiz98gTFEWEXTDKsLgBU+/vhjPfbYY7rjjjt09OhRSdKbb76pv/3tbwH1R0gFENsIqoEzRBiBJ8PqAmCF7du3a8CAAdq9e7c2bNigmpoaSdIHH3ygBQsWBNQnIRUACKotY4hggnMMqwuAVebOnatf//rXKioqUps2bVzLx4wZo9LS0oD6JKQCgERQDQZDhJRYZlhdAKz0l7/8RT/+8Y89lrdv317Hjx8PqE9CKgAguAwRWGKNEcK++QAZEdq1a6fKykqP5WVlZbriiisC6pOQCgD1+GMYXIYIq7HAsLoA2MGdd96pOXPmqKqqSg6HQ2fPntW7776r2bNna8qUKQH1SUgFgPMRVIPPEIE1WhlWFwC7+M1vfqOuXbvqiiuuUE1Njfr27avRo0drxIgReuyxxwLqMy7INQJA5Nu2WxozzOoqopPR4L+IXIbVBcBOWrdurVdffVW//OUvVVZWprNnzyotLU29evUKuE9CKgA0pn5GlbAaGkaD/yKyGGHaDkc2Ik7Pnj3Vs2fPoPRFSAWApjCrGlqGl3/DngyrC4Cd5Obm+tz297//vd/9E1IBoDkE1fAwvPwb1jOsLgB2VFZW5lM7h8MRUP+EVADwBUE1vAwv/0Z4GRZum0P9trdt27aQ9k9IBQBfEVStYXj5N0LLsLoAxDpCKgD4g6BqLcPLvxE8htUFIFK9//77ev3113XkyBGdOnXK7XcbNmzwuz/ukwoA/uIwpD0Y4h6swWKI5xEt8tprr2nkyJH68MMPVVhYqO+++04ffvih/vznPyspKSmgPplJBYBAMKNqP0Yzj+HJsLoAL/ggGHF++9vf6umnn9b999+vSy65RMuWLVOPHj107733KjU1NaA+CakAECiCqr0ZzTyOVYbVBSAaffzxx7rpppskSfHx8aqtrZXD4dAjjzyi66+/XgsXLvS7T0IqALQEN/2PHIaPy6KNYXUBiAXJycn6+uuvJUlXXHGF/vrXv2rAgAE6ceKEvvnmm4D69Pmc1M8//zygDTSlpKRE2dnZ6tSpkxwOhzZu3NjsOtu3b1d6eroSEhJ05ZVX6tlnn/VoU1BQoL59+yo+Pl59+/ZVYWFh0GsHADccnoxMhpefSGU08hNp2JeCIpCMVe/dd99VXFycrrnmGp/XGTVqlIqKiiRJkyZN0sMPP6y7775bd9xxh8aOHetn9ef4PJPav39/rVixQjk5OQFtqDG1tbUaOHCgpk+frttuu63Z9ocPH9aNN96ou+++W6+88oreffdd3XfffWrfvr1r/dLSUk2ePFm/+tWv9OMf/1iFhYWaNGmSdu7cqWHDmOkAEEIc/o8eRgt/H2pWbx+252/GqlddXa0pU6Zo7Nix+p//+R+f11u5cqVOnjwpSZo3b55at26tnTt36tZbb9UvfvELv+uXJIdpmqYvDZ955hnNnTtX48eP15o1a3TZZZcFtEGvhTgcKiws1MSJE722mTNnjjZt2qT9+/e7ls2cOVP79u1TaWmpJGny5MlyOp3asmWLq80NN9ygSy+9VPn5+T7V4nQ6/3kl2juSLgpkOABiGUEVCFyLZlJrJY1VdXW1EhMTg1WRT+qzw8vV43RhYuug9v2N8zvlJL0d8Lh8yVj1/u3f/k29evXSBRdcoI0bN6q8vNz/goPE58P99913n/bt26evvvpK/fr106ZNm0JZV6NKS0uVmZnptmzChAnas2ePvvvuuybb7Nq1y2u/dXV1cjqdbj8AELBtuzlkCQSC/aZJDbNKXV1dUPt/8cUX9fHHH2vBggV+r7t582a99dZbHsu3bt3qNnHoD78unOrRo4f+/Oc/a+XKlbrtttt01VVXKS7OvYv//u//DqgQX1RVVSklJcVtWUpKik6fPq1jx44pNTXVa5uqqiqv/S5atCigq84AoEkc/gdizv+nqWqtC4Pa53f6RtLb6tKli9vyBQsWyDCMoGzj4MGDmjt3rnbs2OGR7Xwxd+5cPfHEEx7Lz549q7lz5yorK8vvPv2u4rPPPlNBQYGSk5N1yy23BDSQlnA4HG6P689WOH95Y20aLjvfvHnzlJub63rsdDo93ggAEBCCKoAgqaiocDvcHx8fH5R+z5w5ozvvvFMLFy7UD37wg4D6OHjwoPr27euxvE+fPjp06FBAffqVMP/v//2/+tnPfqZx48bpr3/9q9q3bx/QRgPVsWNHjxnRo0ePKi4uznWOrLc2DWdXzxcfHx+0FxoAPHCbKqB5HOpvVmJiYkjOtf3666+1Z88elZWV6YEHHpB0bgbUNE3FxcVp69atuv7665vsIykpSZ988om6d+/utvzQoUO66KLAru/x+ZzUG264QXPmzNHKlSu1YcOGsAdUSRo+fLjr9gb1tm7dqsGDB6t169ZNthkxYkTY6gSARvFHGIANJSYm6i9/+YvKy8tdPzNnzlTv3r1VXl7u092RfvSjH2nWrFn6+OOPXcsOHTqkn/3sZ/rRj34UUF0+z6SeOXNGH3zwgTp37hzQhhpTU1PjNgV8+PBhlZeXKzk5WV27dtW8efP0xRdf6KWXXpJ07kr+lStXKjc3V3fffbdKS0u1du1at6v2H374YY0ePVqLFy/WLbfcojfeeENvv/22du7cGbS6ASBgzKoCCAN/MlarVq3Uv39/t/U7dOighIQEj+Xe/O53v9MNN9ygPn36uLLi559/rlGjRunJJ58MaAw+h9SGs5PBsGfPHo0ZM8b1uP680KlTpyovL0+VlZU6cuSI6/c9evTQ5s2b9cgjj2jVqlXq1KmTli9f7nb/rxEjRui1117TY489pl/84hfq2bOn1q9fzz1SAdgL56oC3+MoQ9D5m7FaKikpSbt27VJRUZH27duntm3b6uqrr9bo0aMD7tPn+6TGEu6TCiCsCKuIdUELqdbfJ3Vc9ctqnRjkq/ud3+jtpBxLxtUSJ06cULt27QJe3+dzUgEAIcIsEmIZ7/+osHjxYq1fv971eNKkSbrssst0xRVXaN++fQH1SUgFADvgCwAARLDnnnvOdfvOoqIiFRUVacuWLcrKytKjjz4aUJ/hvckpAKBpnKuKWMIHs6hRWVnpCqn/7//9P02aNEmZmZnq3r17wNcFMZMKAHbDrCpiAe/xqHLppZeqoqJCkvTmm29q3Lhxks59odKZM2cC6pOQCgB2xR9xABHi1ltv1Z133qnx48fr+PHjrq9BLS8v17/8y78E1CeH+wHAzrivKqIRH8CiztNPP63u3buroqJCS5Ys0cUXXyzp3GkA9913X0B9ElIBIBIQVhEtCKhRqXXr1po9e7bH8lmzZgXcJ4f7ASCS8AceQIwgpAJApOHCKkQq3rfwAyEVACIVYRWRhPcq/ERIBYBIR1gFEIUIqQAQLQirsCvel1Fv+vTpeuedd2SaZtD6JKQCQLQhrMJOeC/GhOPHj+umm25S586d9bOf/Uzl5eUt7pOQCgDRirAKq/H+ixmbNm1SVVWVFixYoL179yo9PV19+/bVb3/7W3366acB9UlIBYBoR1iFFXjPxZx27drpnnvuUXFxsT777DNNnz5dL7/8csDfOEVIBYBYQVhFuPA+i2nfffed9uzZo927d+vTTz9VSkpKQP0QUgEg1tSHVYIEQoH3Vczatm2b7r77bqWkpGjq1Km65JJL9Mc//lEVFRUB9cfXogJALOPrVhFMBNSY1blzZx0/flwTJkzQc889p+zsbCUkJLSoT0IqAICwipYjoMa0xx9/XLfffrsuvfTSoPVJSAUAfO/8oEFghS8Ip5B0zz33BL1PQioAoHEEVjSHgIoQ4sIpAEDzuNAKDfF+QIgxkwoA8B2zqyCcIkwIqQCAwBBYYwvhFGFGSAUAtByBNXoRTmERQioAILgahhpCa2QinMJihFQAQGgxyxpZCKewCUIqACB8mGW1L8IpbIaQCgCwDqHVWgRT2BghFQBgH42FJoJrcBFMESEIqQAAeyO4tgyhFBGKkAoAiDwE18YRSBFFCKkAgOjQVECLxgBLIEWUI6QCAKKfL4HObkGWEIoYR0gFAEAiFAI208rqAgAAAICGCKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANuxPKQ+88wz6tGjhxISEpSenq4dO3Z4bTtt2jQ5HA6Pn379+rna5OXlNdrm5MmT4RgOAACA5UpKSpSdna1OnTrJ4XBo48aNTbbfuXOnRo4cqcsuu0xt27ZVnz599PTTT4enWC8sDanr16/XrFmzNH/+fJWVlWnUqFHKysrSkSNHGm2/bNkyVVZWun4qKiqUnJys22+/3a1dYmKiW7vKykolJCSEY0gAAACWq62t1cCBA7Vy5Uqf2l900UV64IEHVFJSov379+uxxx7TY489pjVr1oS4Uu/iLNuypN///ve66667NGPGDEnS0qVL9dZbb2n16tVatGiRR/ukpCQlJSW5Hm/cuFFfffWVpk+f7tbO4XCoY8eOPtdRV1enuro612On0+nvUAAAAEKqYT6Jj49XfHx8o22zsrKUlZXlc99paWlKS0tzPe7evbs2bNigHTt26J577gms4BayLKSeOnVKe/fu1dy5c92WZ2ZmateuXT71sXbtWo0bN07dunVzW15TU6Nu3brpzJkzuuaaa/SrX/3K7YlvaNGiRVq4cKH/gwAAADjP2+/+SLooMbid1p4Lp126dHFbvGDBAhmGEdxt/VNZWZl27dqlX//61yHp3xeWhdRjx47pzJkzSklJcVuekpKiqqqqZtevrKzUli1btG7dOrflffr0UV5engYMGCCn06lly5Zp5MiR2rdvn3r16tVoX/PmzVNubq7rsdPp9HgjAAAAWKmiokKJid8HYG+zqC3RuXNn/eMf/9Dp06dlGIbraLcVLD3cL507NH8+0zQ9ljUmLy9P7dq108SJE92WZ2RkKCMjw/V45MiRGjRokFasWKHly5c32ldT0+UAAAB2kJiY6BZSQ2HHjh2qqanRe++9p7lz5+pf/uVfdMcdd4R0m95YFlIvv/xyXXDBBR6zpkePHvWYXW3INE298MILysnJUZs2bZps26pVKw0ZMkQHDx5scc0AAADRrEePHpKkAQMG6H/+539kGIZlIdWyq/vbtGmj9PR0FRUVuS0vKirSiBEjmlx3+/btOnTokO66665mt2OapsrLy5WamtqiegEAAGKJaZpuF5aHm6WH+3Nzc5WTk6PBgwdr+PDhWrNmjY4cOaKZM2dKOneu6BdffKGXXnrJbb21a9dq2LBh6t+/v0efCxcuVEZGhnr16iWn06nly5ervLxcq1atCsuYAAAArFZTU6NDhw65Hh8+fFjl5eVKTk5W165dPTLWqlWr1LVrV/Xp00fSufumPvnkk3rwwQctqV+yOKROnjxZx48f1y9/+UtVVlaqf//+2rx5s+tq/crKSo97plZXV6ugoEDLli1rtM8TJ07onnvuUVVVlZKSkpSWlqaSkhINHTo05OMBAACwgz179mjMmDGux/UXiE+dOlV5eXkeGevs2bOaN2+eDh8+rLi4OPXs2VNPPPGE7r333rDXXs9hmqZp2dZtyul0/vN+rO9IusjqcgAAgE9qJY1VdXV1yC8wasiVHTZXh+YWVDcmWTIuK1n+tagAAABAQ4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2I7lIfWZZ55Rjx49lJCQoPT0dO3YscNr2+LiYjkcDo+fjz76yK1dQUGB+vbtq/j4ePXt21eFhYWhHgYAAIBtlJSUKDs7W506dZLD4dDGjRubbL9hwwaNHz9e7du3V2JiooYPH6633norPMV6YWlIXb9+vWbNmqX58+errKxMo0aNUlZWlo4cOdLkegcOHFBlZaXrp1evXq7flZaWavLkycrJydG+ffuUk5OjSZMmaffu3aEeDgAAgC3U1tZq4MCBWrlypU/tS0pKNH78eG3evFl79+7VmDFjlJ2drbKyshBX6p3DNE3Tqo0PGzZMgwYN0urVq13LrrrqKk2cOFGLFi3yaF9cXKwxY8boq6++Urt27Rrtc/LkyXI6ndqyZYtr2Q033KBLL71U+fn5PtXldDqVlJQk6R1JF/kzJAAAYJlaSWNVXV2txMTEsG7ZlR02V0sXBXnbtU7pxqSAx+VwOFRYWKiJEyf6tV6/fv00efJkPf74435vMxgsm0k9deqU9u7dq8zMTLflmZmZ2rVrV5PrpqWlKTU1VWPHjtW2bdvcfldaWurR54QJE5rss66uTk6n0+0HAADAThpmlbq6upBt6+zZs/r666+VnJwcsm00J86qDR87dkxnzpxRSkqK2/KUlBRVVVU1uk5qaqrWrFmj9PR01dXV6eWXX9bYsWNVXFys0aNHS5Kqqqr86lOSFi1apIULF7ZwRAAAIOYtUvDT1elz/+nSpYvb4gULFsgwjCBv7JynnnpKtbW1mjRpUkj694VlIbWew+Fwe2yapseyer1791bv3r1dj4cPH66Kigo9+eSTrpDqb5+SNG/ePOXm5roeO51OjzcCAACAlSoqKtwO98fHx4dkO/n5+TIMQ2+88YY6dOgQkm34wrKQevnll+uCCy7wmOE8evSox0xoUzIyMvTKK6+4Hnfs2NHvPuPj40P2QgMAAARDYmJiyM+1Xb9+ve666y69/vrrGjduXEi31RzLzklt06aN0tPTVVRU5La8qKhII0aM8LmfsrIypaamuh4PHz7co8+tW7f61ScAAECsyc/P17Rp07Ru3TrddNNNVpdj7eH+3Nxc5eTkaPDgwRo+fLjWrFmjI0eOaObMmZLOHYb/4osv9NJLL0mSli5dqu7du6tfv346deqUXnnlFRUUFKigoMDV58MPP6zRo0dr8eLFuuWWW/TGG2/o7bff1s6dOy0ZIwAAQLjV1NTo0KFDrseHDx9WeXm5kpOT1bVrV4+MlZ+frylTpmjZsmXKyMhwHZVu27btP+94FH6WhtTJkyfr+PHj+uUvf6nKykr1799fmzdvVrdu3SRJlZWVbvdMPXXqlGbPnq0vvvhCbdu2Vb9+/fSnP/1JN954o6vNiBEj9Nprr+mxxx7TL37xC/Xs2VPr16/XsGHDwj4+AAAAK+zZs0djxoxxPa6/9mbq1KnKy8vzyFjPPfecTp8+rfvvv1/333+/a3l9eytYep9Uu+I+qQAARCIb3Cd1VLUUF+Rtn3ZKOwK/T2qksvxrUQEAAICGCKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbMfykPrMM8+oR48eSkhIUHp6unbs2OG17YYNGzR+/Hi1b99eiYmJGj58uN566y23Nnl5eXI4HB4/J0+eDPVQAAAAbKGkpETZ2dnq1KmTHA6HNm7c2GT7yspK3Xnnnerdu7datWqlWbNmhaXOplgaUtevX69Zs2Zp/vz5Kisr06hRo5SVlaUjR4402r6kpETjx4/X5s2btXfvXo0ZM0bZ2dkqKytza5eYmKjKykq3n4SEhHAMCQAAwHK1tbUaOHCgVq5c6VP7uro6tW/fXvPnz9fAgQNDXJ1vHKZpmlZtfNiwYRo0aJBWr17tWnbVVVdp4sSJWrRokU999OvXT5MnT9bjjz8u6dxM6qxZs3TixImA63I6nUpKSpL0jqSLAu4HAACEU62ksaqurlZiYmJYt+zKDqOqpbggb/u0U9qRFPC4HA6HCgsLNXHiRJ/aX3fddbrmmmu0dOlSv7cVTJbNpJ46dUp79+5VZmam2/LMzEzt2rXLpz7Onj2rr7/+WsnJyW7La2pq1K1bN3Xu3Fk333yzx0xrQ3V1dXI6nW4/AAAAdtIwq9TV1VldUkjFWbXhY8eO6cyZM0pJSXFbnpKSoqqqKp/6eOqpp1RbW6tJkya5lvXp00d5eXkaMGCAnE6nli1bppEjR2rfvn3q1atXo/0sWrRICxcuDHwwAAAAkrRjj4J/FLZWktSlSxe3pQsWLJBhGEHeln1YFlLrORwOt8emaXosa0x+fr4Mw9Abb7yhDh06uJZnZGQoIyPD9XjkyJEaNGiQVqxYoeXLlzfa17x585Sbm+t67HQ6Pd4IAAAAVqqoqHA73B8fH29hNaFnWUi9/PLLdcEFF3jMmh49etRjdrWh9evX66677tLrr7+ucePGNdm2VatWGjJkiA4ePOi1TXx8fNS/0AAAILIlJiaG/VxbK1l2TmqbNm2Unp6uoqIit+VFRUUaMWKE1/Xy8/M1bdo0rVu3TjfddFOz2zFNU+Xl5UpNTW1xzQAAAAgPSw/35+bmKicnR4MHD9bw4cO1Zs0aHTlyRDNnzpR07jD8F198oZdeeknSuYA6ZcoULVu2TBkZGa5Z2LZt2/7zanxp4cKFysjIUK9eveR0OrV8+XKVl5dr1apV1gwSAAAgzGpqanTo0CHX48OHD6u8vFzJycnq2rWrR8aSpPLycte6//jHP1ReXq42bdqob9++4S5fksUhdfLkyTp+/Lh++ctfqrKyUv3799fmzZvVrVs3SeduLHv+PVOfe+45nT59Wvfff7/uv/9+1/KpU6cqLy9PknTixAndc889qqqqUlJSktLS0lRSUqKhQ4eGdWwAAABW2bNnj8aMGeN6XH/tTX1mapixJCktLc31771792rdunXq1q2bPv3007DU3JCl90m1K+6TCgBAJLLBfVJDkh2sG5eVLP9aVAAAAKAhQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA2yGkAgAAwHYIqQAAALAdQioAAABsh5AKAAAA27E8pD7zzDPq0aOHEhISlJ6erh07djTZfvv27UpPT1dCQoKuvPJKPfvssx5tCgoK1LdvX8XHx6tv374qLCwMVfkAAAC2U1JSouzsbHXq1EkOh0MbN25sdh1fMlY4WRpS169fr1mzZmn+/PkqKyvTqFGjlJWVpSNHjjTa/vDhw7rxxhs1atQolZWV6ec//7keeughFRQUuNqUlpZq8uTJysnJ0b59+5STk6NJkyZp9+7d4RoWAACApWprazVw4ECtXLnSp/a+ZKxwc5imaVq18WHDhmnQoEFavXq1a9lVV12liRMnatGiRR7t58yZo02bNmn//v2uZTNnztS+fftUWloqSZo8ebKcTqe2bNnianPDDTfo0ksvVX5+vk91OZ1OJSUlSXpH0kWBDQ4AAIRZraSxqq6uVmJiYli3HNrs0LJxORwOFRYWauLEiV7b+JKxwi3Okq1KOnXqlPbu3au5c+e6Lc/MzNSuXbsaXae0tFSZmZluyyZMmKC1a9fqu+++U+vWrVVaWqpHHnnEo83SpUu91lJXV6e6ujrX4+rq6n/+q9b3AQEAAIud+7tt4fybQpMdzvXpdDrdlsbHxys+Pj4oW/AlY4WbZSH12LFjOnPmjFJSUtyWp6SkqKqqqtF1qqqqGm1/+vRpHTt2TKmpqV7beOtTkhYtWqSFCxc28psf+TYYAABgG8ePH//nrGb4tGnTRh07dlRVVWiyw8UXX6wuXbq4LVuwYIEMwwhK/75krHCzLKTWczgcbo9N0/RY1lz7hsv97XPevHnKzc11PT5x4oS6deumI0eOhP1NbiWn06kuXbqooqIi7IdJrMS4GXcsYNyMOxZUV1era9euSk5ODvu2ExISdPjwYZ06dSok/TeWZYI1i1rPl4wVTpaF1Msvv1wXXHCBxwzn0aNHPZJ8vXOfUDzbx8XF6bLLLmuyjbc+Je/T5UlJSTG1c9dLTExk3DGEcccWxh1bYnXcrVpZc114QkKCEhISLNl2S/mSscLNsqv727Rpo/T0dBUVFbktLyoq0ogRIxpdZ/jw4R7tt27dqsGDB7vOlfDWxlufAAAAsc6XjBVult6CKjc3V88//7xeeOEF7d+/X4888oiOHDmimTNnSjp3GH7KlCmu9jNnztRnn32m3Nxc7d+/Xy+88ILWrl2r2bNnu9o8/PDD2rp1qxYvXqyPPvpIixcv1ttvv61Zs2aFe3gAAACWqKmpUXl5ucrLyyWdu8VUeXm56zafgWSssDMttmrVKrNbt25mmzZtzEGDBpnbt293/W7q1KnmD3/4Q7f2xcXFZlpamtmmTRuze/fu5urVqz36fP31183evXubrVu3Nvv06WMWFBT4VdPJkyfNBQsWmCdPngxoTJGKcTPuWMC4GXcsYNyxNe7GbNu2zZTk8TN16lTTNAPPWOFk6X1SAQAAgMZY/rWoAAAAQEOEVAAAANgOIRUAAAC2Q0gFAACA7cRMSH3mmWfUo0cPJSQkKD09XTt27Giy/fbt25Wenq6EhARdeeWVevbZZz3aFBQUqG/fvoqPj1ffvn1VWFgYqvID5s+4N2zYoPHjx6t9+/ZKTEzU8OHD9dZbb7m1ycvLk8Ph8Pg5efJkqIfiF3/GXVxc3OiYPvroI7d20fZ6T5s2rdFx9+vXz9XG7q93SUmJsrOz1alTJzkcDm3cuLHZdaJh3/Z33NGyb/s77mjZt/0ddzTs29K5rywfMmSILrnkEnXo0EETJ07UgQMHml0vGvZxnBMTIXX9+vWaNWuW5s+fr7KyMo0aNUpZWVmue4U1dPjwYd14440aNWqUysrK9POf/1wPPfSQCgoKXG1KS0s1efJk5eTkaN++fcrJydGkSZO0e/fucA2rWf6Ou6SkROPHj9fmzZu1d+9ejRkzRtnZ2SorK3Nrl5iYqMrKSrcfO33Dhr/jrnfgwAG3MfXq1cv1u2h8vZctW+Y23oqKCiUnJ+v22293a2fn17u2tlYDBw7UypUrfWofLfu2v+OOln3b33HXi/R9299xR8O+LZ0Lm/fff7/ee+89FRUV6fTp08rMzFRtba3XdaJlH8c/WXoDrDAZOnSoOXPmTLdlffr0MefOndto+//zf/6P2adPH7dl9957r5mRkeF6PGnSJPOGG25wazNhwgTz3/7t34JUdcv5O+7G9O3b11y4cKHr8YsvvmgmJSUFq8SQ8Hfc9feS++qrr7z2GQuvd2FhoelwOMxPP/3UtSwSXu96kszCwsIm20TLvn0+X8bdmEjct8/ny7ijZd8+XyCvd6Tv2/WOHj1qSnK7n3pD0biPx7Kon0k9deqU9u7dq8zMTLflmZmZ2rVrV6PrlJaWerSfMGGC9uzZo++++67JNt76DLdAxt3Q2bNn9fXXXys5OdlteU1Njbp166bOnTvr5ptv9piNsVJLxp2WlqbU1FSNHTtW27Ztc/tdLLzea9eu1bhx49StWze35XZ+vf0VDft2METivt0SkbxvB0O07NvV1dWS5PG+PR/7eHSJ+pB67NgxnTlzRikpKW7LU1JSVFVV1eg6VVVVjbY/ffq0jh071mQbb32GWyDjbuipp55SbW2tJk2a5FrWp08f5eXladOmTcrPz1dCQoJGjhypgwcPBrX+QAUy7tTUVK1Zs0YFBQXasGGDevfurbFjx6qkpMTVJtpf78rKSm3ZskUzZsxwW27319tf0bBvB0Mk7tuBiIZ9u6WiZd82TVO5ubm69tpr1b9/f6/t2MejS5zVBYSLw+Fwe2yapsey5to3XO5vn1YItMb8/HwZhqE33nhDHTp0cC3PyMhQRkaG6/HIkSM1aNAgrVixQsuXLw9e4S3kz7h79+6t3r17ux4PHz5cFRUVevLJJzV69OiA+rRKoDXm5eWpXbt2mjhxotvySHm9/REt+3agIn3f9kc07duBipZ9+4EHHtAHH3ygnTt3Nts21vfxaBL1M6mXX365LrjgAo9PSEePHvX4JFWvY8eOjbaPi4vTZZdd1mQbb32GWyDjrrd+/Xrddddd+s///E+NGzeuybatWrXSkCFDbPPpuyXjPl9GRobbmKL59TZNUy+88IJycnLUpk2bJtva7fX2VzTs2y0Ryft2sETavt0S0bJvP/jgg9q0aZO2bdumzp07N9k21vfxaBP1IbVNmzZKT09XUVGR2/KioiKNGDGi0XWGDx/u0X7r1q0aPHiwWrdu3WQbb32GWyDjls7NskybNk3r1q3TTTfd1Ox2TNNUeXm5UlNTW1xzMAQ67obKysrcxhStr7d07graQ4cO6a677mp2O3Z7vf0VDft2oCJ93w6WSNu3WyLS923TNPXAAw9ow4YN+vOf/6wePXo0u04s7+NRKbzXaVnjtddeM1u3bm2uXbvW/PDDD81Zs2aZF110ketKx7lz55o5OTmu9p988ol54YUXmo888oj54YcfmmvXrjVbt25t/uEPf3C1effdd80LLrjAfOKJJ8z9+/ebTzzxhBkXF2e+9957YR+fN/6Oe926dWZcXJy5atUqs7Ky0vVz4sQJVxvDMMw333zT/Pjjj82ysjJz+vTpZlxcnLl79+6wj88bf8f99NNPm4WFhebf//53869//as5d+5cU5JZUFDgahONr3e9n/70p+awYcMa7dPur/fXX39tlpWVmWVlZaYk8/e//71ZVlZmfvbZZ6ZpRu++7e+4o2Xf9nfc0bJv+zvuepG8b5umaf7Hf/yHmZSUZBYXF7u9b7/55htXm2jdx3FOTIRU0zTNVatWmd26dTPbtGljDho0yO0WFlOnTjV/+MMfurUvLi4209LSzDZt2pjdu3c3V69e7dHn66+/bvbu3dts3bq12adPH7f/8dmFP+P+4Q9/aEry+Jk6daqrzaxZs8yuXbuabdq0Mdu3b29mZmaau3btCuOIfOPPuBcvXmz27NnTTEhIMC+99FLz2muvNf/0pz959Bltr7dpmuaJEyfMtm3bmmvWrGm0P7u/3vW3GPL2no3WfdvfcUfLvu3vuKNl3w7kfR7p+7Zpmo2OWZL54osvutpE6z6Ocxym+c8zigEAAACbiPpzUgEAABB5CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAAACwHUIqAAAAbIeQCgAAANshpAIAAMB2CKkAot6ZM2c0YsQI3XbbbW7Lq6ur1aVLFz322GMWVQYA8IavRQUQEw4ePKhrrrlGa9as0U9+8hNJ0pQpU7Rv3z69//77atOmjcUVAgDOR0gFEDOWL18uwzD017/+Ve+//75uv/12/dd//ZeuueYaq0sDADRASAUQM0zT1PXXX68LLrhAf/nLX/Tggw9yqB8AbIqQCiCmfPTRR7rqqqs0YMAA/fd//7fi4uKsLgkA0AgunAIQU1544QVdeOGFOnz4sD7//HOrywEAeMFMKoCYUVpaqtGjR2vLli1asmSJzpw5o7ffflsOh8Pq0gAADTCTCiAmfPvtt5o6daruvfdejRs3Ts8//7zef/99Pffcc1aXBgBoBCEVQEyYO3euzp49q8WLF0uSunbtqqeeekqPPvqoPv30U2uLAwB44HA/gKi3fft2jR07VsXFxbr22mvdfjdhwgSdPn2aw/4AYDOEVAAAANgOh/sBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALZDSAUAAIDtEFIBAABgO4RUAAAA2A4hFQAAALbz/wMErzEuUq5yEgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X, Y = np.meshgrid(x,y)\n",
    "\n",
    "plt.figure(figsize=(8,6))\n",
    "contour = plt.contourf(X,Y,v[:], cmap='jet')\n",
    "plt.title(\"v solution\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.ylabel(\"Y\")\n",
    "colorbar = plt.colorbar(contour)\n",
    "colorbar.set_label(\"v scale\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "5946518e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqkAAAIhCAYAAABtxSNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPoklEQVR4nO3de3hU5aHv8d9ASIJIgiCEcIBwKTuYcDGESwKC0kAwUCq7KrTbRvDBWnrwAjn0YFDLoN1GdtEC5SYtmiIPl23DrQUUVJJoCRQwQVuFoz1RUnZShCMZiSUhuM4fNLOZXGcmM7PWTL6f55kH15t3vet9Z7LaX9613jU2wzAMAQAAABbSzuwOAAAAAPURUgEAAGA5hFQAAABYDiEVAAAAlkNIBQAAgOUQUgEAAGA5hFQAAABYDiEVAAAAlkNIBQAAgOUQUgGEtLvuukt33XWXV/vu379fdru90Z/169dPc+bM8bpfAIDmhZndAQCwqv3792vt2rWNBtVdu3YpKioq8J0CgDaCkAoAXkhKSjK7CwAQ0rjcD8Dn5syZo379+jUot9vtstlsLe5fXFys73znO+rRo4ciIiLUq1cvTZs2TX/729+cda5cuaLs7Gz1799f4eHh+h//439o/vz5unTpUrNt5+fny2azKT8/36X8s88+k81mU25urnMMa9eulSTZbDbn67PPPpPU+OX+s2fP6oc//KGz37fddptefPFFffPNNw2Os2LFCr300kvq37+/br75ZqWmpuro0aMtvjcA0FYwkwrAUqqqqjR58mT1799fa9euVUxMjCoqKnT48GF99dVXkiTDMDRjxgy9/fbbys7O1vjx4/XBBx9o6dKlKioqUlFRkSIiIlrVj2eeeUZVVVX63e9+p6KiImd5bGxso/W/+OILjR07VjU1NXruuefUr18//eEPf9CiRYv017/+VevWrXOpv3btWg0ePFgrV650Hm/q1KkqLS1VdHR0q/oOAKGAkArAUk6fPq2LFy9q06ZNuueee5zlM2fOdP73wYMH9eabb+o//uM/9NOf/lSSNHnyZPXp00ezZs3S5s2b9aMf/ahV/Rg4cKBiYmIkSSkpKS3Wf+mll3Tu3DkdO3ZMo0ePliRNmTJF165d04YNG7RgwQL9y7/8i7N+586d9Yc//EHt27eXJPXq1UujR4/WgQMH9P3vf79VfQeAUMDlfgCW8q1vfUu33HKLFi9erA0bNuijjz5qUOedd96RpAaX2++//3516tRJb7/9diC62qBPCQkJzoBaZ86cOTIMw9nnOtOmTXMGVEkaNmyYJOnzzz/3f2cBIAgQUgFYSnR0tAoKCnT77bdryZIlSkxMVK9evbR06VJdvXpVknTx4kWFhYWpe/fuLvvabDb17NlTFy9eDHi/L1682OitAL169XL+/EbdunVz2a67PeEf//iHn3oIAMGFkArA5yIjI1VdXd2g/MKFC27tP3ToUG3fvl0XL15USUmJZs2apWeffVYvvviipOsBr7a2Vl988YXLfoZhqKKiQrfeemuzfZPUoH/u9q0p3bp1U3l5eYPy//qv/5KkZvsEAGiIkArA5/r166fz58/r73//u7OspqZGb775pkft2Gw2DR8+XL/85S/VpUsXvf/++5KktLQ0SdKWLVtc6ufl5amqqsr586b6JkkffPCBS/nevXsb1PVkdjMtLU0fffSRs491Nm/eLJvNpokTJ7bYBgDgv7FwCoDPzZo1Sz/72c/0/e9/Xz/96U915coVrV69WteuXWtx3z/84Q9at26dZsyYoQEDBsgwDO3cuVOXLl3S5MmTJV1fJDVlyhQtXrxYDodD48aNc67uT0pKUmZmZpPt9+zZU5MmTVJOTo5uueUWxcXF6e2339bOnTsb1B06dKgkafny5crIyFD79u01bNgwhYeHN6i7cOFCbd68WdOmTdOzzz6ruLg47du3T+vWrdNPfvITl0VTAAA3GADgB/v37zduv/12o2PHjsaAAQOMNWvWGEuXLjVa+p+d06dPGz/4wQ+MgQMHGh07djSio6ON0aNHG7m5uS71/vGPfxiLFy824uLijA4dOhixsbHGT37yE+PLL790qXfnnXcad955p0tZeXm5cd999xldu3Y1oqOjjR/+8IfGiRMnDEnGq6++6qxXXV1tPPzww0b37t0Nm81mSDJKS0sNwzCMuLg4Y/bs2S7tfv7558a//du/Gd26dTM6dOhgxMfHG7/4xS+Ma9euOeuUlpYakoxf/OIXDcYuyVi6dGmz7w8AtBU2wzAMU1MyAAAAUA/3pAIAAMByCKkAAACwHEIqAAAALMfUkJqTk6NRo0apc+fO6tGjh2bMmKEzZ860uF9BQYGSk5MVGRmpAQMGaMOGDQ3q5OXlKSEhQREREUpISNCu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qn379g1mTc+fP99gdrW+HTt2aO7cuXr99dc1adKkZuu2a9dOo0aN0ieffNJknYiICJ9+0AAAAL4WFRXlElL9LSUlRVu2bAnY8eoz7Z7U8PBwJScn69ChQy7lhw4d0tixY5vcb9u2bZozZ462bt2qadOmtXgcwzBUUlKi2NjYVvcZAACgrSguLjY1P5l6uT8rK0uZmZkaOXKkUlNTtXHjRp09e1bz5s2TdP0y/Llz57R582ZJ1wPqgw8+qFWrViklJcU5C9uxY0dFR0dLkpYtW6aUlBQNGjRIDodDq1evVklJidauXWvOIAEAAALs8uXL+vTTT53bpaWlKikpUdeuXdW3b98GGWvlypXq16+fEhMTVVNToy1btigvL095eXlmDcHckDpr1ixdvHhRzz77rMrLyzVkyBDt379fcXFxkqTy8nKXZ6a+/PLLqq2t1fz58zV//nxn+ezZs5WbmytJunTpkh555BFVVFQoOjpaSUlJKiws1OjRowM6NgAAALOcOHFCEydOdG7Xrb2py0z1M1ZNTY0WLVqkc+fOqWPHjkpMTNS+ffs0derUgPe9js0wDMO0o1uUw+H458zs2/L9Cj0AAOAfVZLSVFlZGdB7NyV/ZwfzxmUm078WFQAAAKiPkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAckwPqevWrVP//v0VGRmp5ORkvfvuu83WLygoUHJysiIjIzVgwABt2LChQZ28vDwlJCQoIiJCCQkJ2rVrl7+6DwAAYDmFhYWaPn26evXqJZvNpt27d7e4jzsZK5BMDak7duzQggUL9NRTT6m4uFjj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1WageTPu+l588UVVVVVp5syZzrLBgwcrNzdXe/fu1bZt2xQZGalx48bpk08+8Wn/veXNuGNjY7Vx40bl5eVp586dio+PV1pamgoLC511Qv3zLi8v14EDB/Twww+7lFv98/ZUKJzbvhCM57Y3QuHcbq1QObcNw1BWVpbuuOMODRkypMl6nOOhJczsDgSKzWZz2TYMo0FZS/Xrl3vaphm87eO2bdtkt9u1Z88e9ejRw1mekpKilJQU5/a4ceM0YsQI/epXv9Lq1at91/FW8mTc8fHxio+Pd26npqaqrKxMK1as0IQJE7xq0yze9jE3N1ddunTRjBkzXMqD5fP2RKic294K9nPbE6F0bnsrVM7tRx99VB988IHee++9Fuu29XM8lIT8TOqtt96q9u3bN/gL6fz58w3+kqrTs2fPRuuHhYWpW7duzdZpqs1A82bcdXbs2KG5c+fqP//zPzVp0qRm67Zr106jRo2yzF/frRn3jVJSUlzGFMqft2EYeuWVV5SZmanw8PBm61rt8/ZUKJzbrRHM57avBNu53Rqhcm4/9thj2rt3rw4fPqzevXs3W7etn+OhJuRDanh4uJKTk3Xo0CGX8kOHDmns2LGN7pOamtqg/sGDBzVy5Eh16NCh2TpNtRlo3oxbuj7LMmfOHG3dulXTpk1r8TiGYaikpESxsbGt7rMveDvu+oqLi13GFKqft3R9Be2nn36quXPntngcq33engqFc9tbwX5u+0qwndutEezntmEYevTRR7Vz506988476t+/f4v7tOVzPCQFdp2WObZv32506NDB2LRpk/HRRx8ZCxYsMDp16uRc6fjkk08amZmZzvr/9//+X+Omm24yFi5caHz00UfGpk2bjA4dOhi/+93vnHX++Mc/Gu3btzdeeOEF4+OPPzZeeOEFIywszDh69GjAx9cUT8e9detWIywszFi7dq1RXl7ufF26dMlZx263G2+88Ybx17/+1SguLjYeeughIywszDh27FjAx9cUT8f9y1/+0ti1a5fxf/7P/zH+/Oc/G08++aQhycjLy3PWCcXPu84Pf/hDY8yYMY22afXP+6uvvjKKi4uN4uJiQ5Lx0ksvGcXFxcbnn39uGEbontuejjtUzm1Pxx0q57an464TzOe2YRjGT37yEyM6OtrIz893+b39+uuvnXVC9RzHdW0ipBqGYaxdu9aIi4szwsPDjREjRrg8wmL27NnGnXfe6VI/Pz/fSEpKMsLDw41+/foZ69evb9Dm66+/bsTHxxsdOnQwBg8e7PI/fFbhybjvvPNOQ1KD1+zZs511FixYYPTt29cIDw83unfvbqSnpxtHjhwJ4Ijc48m4ly9fbgwcONCIjIw0brnlFuOOO+4w9u3b16DNUPu8DcMwLl26ZHTs2NHYuHFjo+1Z/fOue8RQU7+zoXpuezruUDm3PR13qJzb3vyeB/u5bRhGo2OWZLz66qvOOqF6juM6m2H8845iAAAAwCJC/p5UAAAABB9CKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKgAAACyHkAoAAADLIaQCAADAcgipAAAAsBxCKoCQd+3aNY0dO1b33nuvS3llZaX69Omjp59+2qSeAQCawteiAmgTPvnkE91+++3auHGjHnjgAUnSgw8+qFOnTun48eMKDw83uYcAgBsRUgG0GatXr5bdbtef//xnHT9+XPfff7/+9Kc/6fbbbze7awCAegipANoMwzD07W9/W+3bt9eHH36oxx57jEv9AGBRhFQAbcrp06d12223aejQoXr//fcVFhZmdpcAAI1g4RSANuWVV17RTTfdpNLSUv3tb38zuzsAgCYwkwqgzSgqKtKECRN04MAB/cd//IeuXbumt956SzabzeyuAQDqYSYVQJvwj3/8Q7Nnz9aPf/xjTZo0Sb/5zW90/Phxvfzyy2Z3DQDQCEIqgDbhySef1DfffKPly5dLkvr27asXX3xRP/3pT/XZZ5+Z2zkAQANc7gcQ8goKCpSWlqb8/HzdcccdLj+bMmWKamtruewPABZDSAUAAIDlcLkfAAAAlkNIBQAAgOUQUgEAAGA5hFQAAABYDiEVAAAAlkNIBQAAgOUQUgEAAGA5hFQAAABYDiEVAAAAlkNIBQAAgOUQUgEAAGA5/x8VDl/ueJYqXwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X, Y = np.meshgrid(x,y)\n",
    "\n",
    "#set the time as you like\n",
    "u = uf[30,:,:]\n",
    "\n",
    "plt.figure(figsize=(8,6))\n",
    "contour = plt.contourf(X,Y,u[:], cmap='jet')\n",
    "plt.title(\"u solution\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.ylabel(\"Y\")\n",
    "colorbar = plt.colorbar(contour)\n",
    "colorbar.set_label(\"u scale\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4a0420fe",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
