Created
April 15, 2020 09:12
-
-
Save ceptreee/0b9946c0f6fa9be876ff714f1473d11f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# 遅延SIRモデル\n", | |
"2020/03/21, 佐藤彰洋氏, \n", | |
"数値シミュレーションによる検討 \n", | |
"遅れ付きSIRモデルと変数の定義 \n", | |
"https://www.fttsus.jp/covinfo/numerical-simulation/ \n", | |
"\n", | |
"パラメータが定数の場合を考える. \n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"\\frac{dS}{dt} &=& -\\alpha \\frac{S(t)I(t)}{N(t)} \\\\\n", | |
"\\frac{dI}{dt} &=& \\alpha \\frac{S(t-\\tau)I(t-\\tau)}{N(t-\\tau)} - \\beta I(t) \\\\\n", | |
"\\frac{dR}{dt} &=& \\beta I(t) \\\\\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"人口$N(t)$を\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"N(t) = S(t) + I(t) + R(t)\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"とすると,\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"\\frac{dN}{dt} &=& \\alpha \\frac{S(t-\\tau)I(t-\\tau)}{N(t-\\tau)} -\\alpha \\frac{S(t)I(t)}{N(t)}\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"となり一般には$N(t)$の値が変化する. 履歴関数と初期条件を\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"S(t) &=& S_0(t) \\, (-\\tau \\leq t \\leq 0) \\\\\n", | |
"I(t) &=& I_0(t) \\, (-\\tau \\leq t\\ \\leq 0) \\\\\n", | |
"R(0) &=& R_0\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"として数値計算を行う. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"\n", | |
"def ConstantDelay_Euler_Nd(τ, N, m, f, φ, args=None):\n", | |
" \"\"\"\n", | |
" 単一定数遅延の遅延微分方程式のソルバー (Euler法)\n", | |
" \n", | |
" x'(t) = f(t,x(t),x(t-τ)) (t >= 0)\n", | |
" x(t) = φ(t) (-τ<= t <= 0)\n", | |
" \n", | |
" Input \n", | |
" τ : 単一の定数遅延, Float\n", | |
" N : 時間の点数, Int\n", | |
" m : 遅延の分割数, Int\n", | |
" f : 遅延微分方程式の右辺, Function\n", | |
" φ : 履歴関数, Function\n", | |
"\n", | |
" output \n", | |
" t : 時間, numpy.ndarray(N)\n", | |
" x : 値, numpy.ndarray(N × d)\n", | |
" h : 刻み幅, float \n", | |
" \"\"\"\n", | |
"\n", | |
" # 刻み幅\n", | |
" h = τ / m\n", | |
"\n", | |
" # 時間\n", | |
" n = np.arange(N)\n", | |
" t = h*n\n", | |
"\n", | |
" # 初期値\n", | |
" t0 = φ(t[0])\n", | |
"\n", | |
" # 次元\n", | |
" d = len(t0)\n", | |
"\n", | |
" # 変数\n", | |
" x = np.zeros([N,d])\n", | |
"\n", | |
" # 初期値\n", | |
" x[0,:] = t0\n", | |
"\n", | |
" for n in range(N-1):\n", | |
" if 0 <= n < m:\n", | |
" x[n+1,:] = x[n,:] + h * f(t[n], x[n,:], φ(t[n] - τ),args)\n", | |
" elif m <= n:\n", | |
" x[n+1,:] = x[n,:] + h * f(t[n], x[n,:], x[n-m,:],args)\n", | |
"\n", | |
" return t,x,h" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 61, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#-----------------------------------------------\n", | |
"# parameter\n", | |
"#-----------------------------------------------\n", | |
"# 遅延\n", | |
"τ = 10.0\n", | |
"α = 0.4\n", | |
"β = 0.1\n", | |
"\n", | |
"#-----------------------------------------------\n", | |
"# history function\n", | |
"#-----------------------------------------------\n", | |
"S0 = 0.99\n", | |
"I0 = 0.01\n", | |
"R0 = 0.00\n", | |
"N0 = S0 + I0 + R0\n", | |
"\n", | |
"def φ(t):\n", | |
" return np.array([S0,I0,R0])\n", | |
"\n", | |
"#-----------------------------------------------\n", | |
"# RHS\n", | |
"#-----------------------------------------------\n", | |
"\n", | |
"def f_dSIR(t,y,yτ,args):\n", | |
" α,β = args\n", | |
" S,I,R = y \n", | |
" Sτ,Iτ,Rτ = yτ \n", | |
" N = S + I + R \n", | |
" Nτ = Sτ + Iτ + Rτ \n", | |
" y_ = np.array([ - α * S * I /N,\n", | |
" α * Sτ * Iτ/Nτ - β * I,\n", | |
" β * I])\n", | |
" return y_\n", | |
"\n", | |
"#-----------------------------------------------\n", | |
"\n", | |
"# 時間\n", | |
"tlm = [0.0, 100.0]\n", | |
"\n", | |
"# 遅延の分割数\n", | |
"m = 30\n", | |
"\n", | |
"# 刻み幅\n", | |
"h = τ/m\n", | |
"# 全点数\n", | |
"N = np.int(np.round((tlm[1]-tlm[0])/h))\n", | |
"\n", | |
"args = [α,β]\n", | |
"t,xτ,h = ConstantDelay_Euler_Nd(τ,N,m,f_dSIR,φ,args)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 62, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"S = xτ[:,0]\n", | |
"I = xτ[:,1]\n", | |
"R = xτ[:,2]\n", | |
"\n", | |
"N = S + I + R\n", | |
"\n", | |
"Y = np.vstack([N,S,I,R])\n", | |
"\n", | |
"d = Y.shape[0]\n", | |
"lbl = [\"N\",\"S\",\"I\",\"R\"]\n", | |
"\n", | |
"def Setting():\n", | |
" plt.grid()\n", | |
"# plt.ylim([0.0,1.0])\n", | |
" plt.title(\"τ=%.1f\" % τ)\n", | |
" plt.xlabel('time [s]')\n", | |
" plt.ylabel('x(t)')\n", | |
" plt.tight_layout()\n", | |
" plt.legend(loc=1,fontsize=12)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 63, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.close('all')\n", | |
"plt.figure()\n", | |
" \n", | |
"for i in range(d):\n", | |
" plt.plot(t, Y[i,:] ,\"C\"+str(i),markersize=5,linewidth=2 ,label=\"$\"+lbl[i]+\"$\")\n", | |
"Setting()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# 遅延SEIRモデル\n", | |
"2020/04/10, 牧野 淳一郎氏 \n", | |
"1 いろいろなモデル計算 \n", | |
"1.3 佐藤彰洋横浜市大教授 \n", | |
"http://jun-makino.sakura.ne.jp/articles/corona/note001.html \n", | |
"\n", | |
"2020/04/10, 瀬戸 亮平氏 \n", | |
"集団免疫か撲滅か(SIRモデルの解説) \n", | |
"追記:潜伏期間 τ による遅延について \n", | |
"https://note.com/ryseto/n/n9eb8989e00cf\n", | |
"\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"\\frac{dS}{dt} &=& -\\alpha \\frac{S(t)I(t)}{N(t)} \\\\\n", | |
"\\frac{dE}{dt} &=& \\alpha \\frac{S(t)I(t)}{N(t)}-\\alpha \\frac{S(t-\\tau)I(t-\\tau)}{N(t-\\tau)} \\\\\n", | |
"\\frac{dI}{dt} &=& \\alpha \\frac{S(t-\\tau)I(t-\\tau)}{N(t-\\tau)} - \\beta I(t) \\\\\n", | |
"\\frac{dR}{dt} &=& \\beta I(t) \\\\\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"人口$N(t)$を\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"N(t) = S(t) + E(t) + I(t) + R(t)\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"とすると,\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"\\frac{dN}{dt} &=& 0\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"となり$N(t)$は保存される. 履歴関数と初期条件を\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"S(t) &=& S_0(t) \\, (-\\tau \\leq t \\leq 0) \\\\\n", | |
"E(0) &=& E_0 \\\\\n", | |
"I(t) &=& I_0(t) \\, (-\\tau \\leq t\\ \\leq 0) \\\\\n", | |
"R(0) &=& R_0\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"として数値計算を行う. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 91, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#-----------------------------------------------\n", | |
"# parameter\n", | |
"#-----------------------------------------------\n", | |
"# 遅延\n", | |
"τ = 10.0\n", | |
"α = 0.4\n", | |
"β = 0.1\n", | |
"\n", | |
"#-----------------------------------------------\n", | |
"# history function\n", | |
"#-----------------------------------------------\n", | |
"S0 = 0.99\n", | |
"E0 = 0.00\n", | |
"I0 = 0.01\n", | |
"R0 = 0.00\n", | |
"N0 = S0 + E0 + I0 + R0\n", | |
"\n", | |
"def φ(t):\n", | |
" return np.array([S0,E0,I0,R0])\n", | |
"\n", | |
"#-----------------------------------------------\n", | |
"# RHS\n", | |
"#-----------------------------------------------\n", | |
"\n", | |
"def f_dSEIR(t,y,yτ,args):\n", | |
" α,β = args\n", | |
" S,E,I,R = y \n", | |
" Sτ,Eτ,Iτ,Rτ = yτ \n", | |
" N = S + E + I + R \n", | |
" Nτ = Sτ + Eτ + Iτ + Rτ \n", | |
" y_ = np.array([ - α * S * I / N,\n", | |
" + α * S * I / N - α * Sτ * Iτ / Nτ,\n", | |
" + α * Sτ * Iτ/ Nτ - β * I,\n", | |
" + β * I])\n", | |
" return y_\n", | |
"#-----------------------------------------------\n", | |
"\n", | |
"# 時間\n", | |
"tlm = [0.0, 200.0]\n", | |
"\n", | |
"# 遅延の分割数\n", | |
"m = 100\n", | |
"\n", | |
"# 刻み幅\n", | |
"h = τ/m\n", | |
"# 全点数\n", | |
"N = np.int(np.round((tlm[1]-tlm[0])/h))\n", | |
"\n", | |
"args = [α,β]\n", | |
"t,xτ,h = ConstantDelay_Euler_Nd(τ,N,m,f_dSEIR,φ,args)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 92, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"S = xτ[:,0]\n", | |
"E = xτ[:,1]\n", | |
"I = xτ[:,2]\n", | |
"R = xτ[:,3]\n", | |
"\n", | |
"N = S + E + I + R\n", | |
"\n", | |
"Y = np.vstack([N,E,S,I,R])\n", | |
"\n", | |
"d = Y.shape[0]\n", | |
"lbl = [\"N\",\"S\",\"E\",\"I\",\"R\"]\n", | |
"\n", | |
"def Setting():\n", | |
" plt.grid()\n", | |
"# plt.ylim([0.0,1.0])\n", | |
" plt.title(\"τ=%.1f\" % τ)\n", | |
" plt.xlabel('time [s]')\n", | |
" plt.ylabel('x(t)')\n", | |
" plt.tight_layout()\n", | |
" plt.legend(loc=1,fontsize=12)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 93, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydd3xUVd64nzMlvQdIIAGSQBIgQDAEsigC9g4o66rr2ta2btdVX323qOurP7fryjbXdV17wy5WpIgEFkgBQgskAQIkgSSkt5k5vz8mGQNkkkkyM3cOnufDfMjM3Dn3mXuT+c4595zvV0gp0Wg0Go0m0DAZLaDRaDQaTV/oAKXRaDSagEQHKI1Go9EEJDpAaTQajSYg0QFKo9FoNAGJDlAajUajCUh0gNJoNBpNQKIDlEYTIAghzhJCrBRCNAghKvp4PqX7+VYhxE4hxLn9tBUshHhGCNEohKgSQtzlU3mNxgfoAKXRBA4twDPAPW6efxkoBOKBnwNvCCFGutn2QSAdGA+cBdwrhLjQq7YajY/RAUqj8QJCiGuFEM3dN4cQoq3757972oaU8r9SyueBsj7azwBygAeklG1SymXAVmCJm+auBx6WUtZLKXcA/wRuHOz70miMRAcojcYLSClflFJGSCkjgEPARd33vyeEuE8IcczdzcNdZAFlUsqmXo8Vdz9+HEKIWGBM9/P9bqvRBDI6QGk0PkZK+ZiUMsbdzcNmIoCGEx5rACLdbNvz/EDbajQBiw5QGo0aNANRJzwWBTS52bbn+YG21WgCFh2gNBrv0wWInjtCiP/tdX3qpJuHbZYAaUKI3r2g7O7Hj0NKWQ8c7n6+3201mkBGByiNxvuUA5N67kgpH+25PtXXrWc7IYRJCBECWJ13RYgQIqi7jd1AEfBA9+OXA9OBZW4cngN+IYSIFUJMAm4FnvXFm9VofIUOUBqN93kIuF8I8eEgXzcPaAOWA+O6f/6k1/NXA7lAPfAY8E0p5RFwzSLs3UN6ANgL7ANWA7+TUn40hPei0RiG0AULNRqNRhOI6B6URqPRaAISHaA0Go1GE5DoAKXRaDSagEQHKI1Go9EEJBajBQbLiBEjZEpKitEaGo1Go/ESmzdvPiqlPCnxsXIBKiEhgU2bNhmtMSS2bt3KtGnTjNYYEqq6q+oN2t0IVPUGtd2FEPv6ely5IT6bzWa0wpCpra01WmHIqOquqjdodyNQ1RvUdneHcgFKo9FoNF8PlAtQYWFhRisMmezs7IE3ClBUdVfVG7S7EajqDWq7u0O5AGW3241WGDJNTeomk1bVXVVv0O5GoKo3qO3uDuUmSXR0dBitMGTKysoYN26c0RpDQlV3Vb1BuxtBoHg7HA4qKytpaWnx+DXt7e2D2t6fWK1WRo0aRVTUiRVj+ke5AKXRaDSnOkePHkUIQWZmJiaTZwNdTU1NREYGXk1KKSVtbW0cPHgQYFBBSrkhvuDgYKMVhozK67dUdVfVG7S7EQSK97Fjx0hISPA4OAEEBQX50GjoCCEICwsjKSmJmpqaQb1WuR6U2Ww2WmHIxMXFGa0wZFR1V9Ub/O8upcRuc+CwSRx2id3uwGGXOFz/n/j4yc9J6by1tkh2Vh1GOpztIul+DqSjeztHr8ek7H4cOG67r7bBVXhBdvt+dferp2SvLXr9IEH23Dn+v17bSDo6O9mXv6uPbXq1K/t47Lgfhkbvl8dN7qKtwUa78Pyau5SSDtE2PAkfIiU01rfy2bPbPX6NcgGqtbXVaIUhU1BQwIIFC4zWGBKquqvqDf27OxySjpYuOlptdLTZ6Gy30dVm/+rndhudbXY62m10tduxddqxdzmwdTmwddqd/3c5sPf+ucvh3zeoccustFg6WtVd8+kOW4edXeuPery9cgFKozlVkVLS0Wqjub6d5roO6vZINjSW0dbUSVtzF21NnbQ3d9HW1EV7a9ewv7H3hckiMJtNmMyi+3byz+aTnuu1jUkgBNQcqSEhMQGTEND9mBC9/u/1GKZez524bfd9EM5/4nhf0fsB0fOfOP6+cLN9H9uUlu4hIyP9hH2c+EM/Hic8PlRs4XVExocM6jXt7e2EhAzuNf4mpN7KOTdMPvmJf/S9vc8ClBDiGeBSoEZKObWP5wXwBHAx0ArcKKUsGKhdi0XdmBobG2u0wpBR1T3QvB12B4217TTUtHGsupWGmlaO1bTSVNdBc307ts7jezGHqXDbVnCYhZBwK0GhFoJCzQSFWJw/h1gICjF3P27BGmzGEmTCYjVjsZow9/q553FzkAmLxYQweecTtri4mOzsLK+05U9kXB3TspON1mDHjgZCIwZ3TUmabISGBeZ1qB6swWYmzRjt8fY+q6grhJgHNAPPuQlQFwM/whmg8oAnpJR5A7U7adoM+cxbn3lbV6PxOrZWG61H2miraaetpo22mjba6zugn5E0U5CJoEgr1kir8/8IK5YwC5ZQS6//zVhCLV4LJprAI6y1iokZmUZruKW+vp5xYxKYNTuPz1d/4Xr8xz/8PmGhYTz2u9/3+bo9u3fRGpZ40uNnpI/cLKXMPfFxn3VHpJRrhBAp/WyyCGfwksB6IUSMEGK0lPJwf+2WH23h209v8KKpRjN8hISRdkGS3USSzXmLkn3PwGoUDurNknqT81ZndtBgkjSZJJ0CsAPHum+aryX/XDga09HAXNME8N91GxgxKoEdO7azoWQvIxOcQWfj5kKuuv5myty4H2nu5NaXPP/8NnK8LAk40Ot+ZfdjJwUoIcRtwG0AoaNHMylOIBCEhIZiMZtpbm4GnIvBwsPDOXbsWM/riI6Ooam5CXt3ktnIyCg6Ozvp6GgHIDQsDJMw0dLS3UZQEGGhYTQ0dLdhMhEdFU1TU6Mri0VUVBQdHR2uRcNhYWEgBK3di+SCgoIICQ2lsaEBAJPJTFRUFLW1tZjNzg+tqOho2tva6OzsdLYRHg5SuiaBBAcHExwcTGNjI+CcvRgZGUVDYwPS4fwKHh0dQ2tbK13dbYSHR+CQDtpcbYQQFBREU1N3GxYLkRGRNDQco6fnHBMTQ0tLC11dXQBERERgs9tpb3POBgoJCcVitdBw7BhmsxmLxUpERET3MZaAICYmhubmZmy27jYiI7F12Whv727DwPN07FgDpu6ehqfnqbGxEYfDPuB5CuuC0Z3BjGozEdVkxyqP79HYhKQxSNIeaaXeYqPO1EVTkCQ08vjzFBUcwog+zlNt7VHXrFVPz1NzdzYBo89TY2MDZrPZp39Pnp4n8Pzvqb6+zjW125d/TwOdpyCzIMTi/H0ym0xICQ7p9DQJE0KAvdtbCIHZZHIm0hbOK3Bmsxm73eGauWg2mZHSgaPb02QyITi+DZPJ5DonX7Vhd13q7N1G2Y6tTMs+jaDgYL5c8RFXX38T0uFgz67tTM+eTohF9NlGsMVEdmLISeepz1TmGBug+hqf6HO8UUr5FPAUQGhqqAzJeIqbpt7EpWnnYzapM+189erVzJ8/32iNIaGquze9pUNSVd7I3s01VGw7SkNNz5ReByCIGhFC4oRoRk+IYfTEaOISw4c1DKfqMQd13QPFe8eOHWQkRrvup9z3gV/2W/HYJR5tV7l3J2fk5ZKZmcmLL77Ir+79KSUlJTjsdi46czZWq7XP19nrg3nnp+ec9Lj4Ud/7MTJAVQJje91PBg4N9CKrycrehr384stf8MKOF7h31r3MSpzlM0lvEgi/+ENFVffhekspObK/id0bq9m7uYbm+q9SbQWHWUieFMf4qXGMnRxHRKx3Z1CpesxBXXdVvf1NUVERixYt4uyzz+Z73/seTU1NFBUVMXXqVLfBaSgYGaDeBX4ohHgF5ySJhoGuPwEkByfzyNxHWFq4lJ11O/nux99lSfoS7pl1D+HWcJ9LDwfnzCY1Mw6r6j5U7442G7s3VLH9y0McPdDsejwiNpiJM0eRNmMkCalRmMy+S8ai6jEHdd0D1duTnk1ra6tfqj10dHSwY8cOZsyYQWxsLLNnz+bDDz+ksLCQGTNmeHVfvpxm/jKwABghhKgEHgCsAFLKvwPLcc7g24NzmvlNnrRrt9tZOGEh548/n3+X/Jt/bvkny0qXsf7weh6Z+wgzE2b64u14hfr6eqMVhoyq7oP1PlbdSuFn+9m9vgpb98LVkHArGbMTSJ+VQEJKlN9mz6l6zEFdd1W9wX+VHrZt20ZoaChpaWkALF68mLfffpvq6mouv/xyr+7Ll7P4rhngeQn8YKjth1hCuCP7Ds4bdx7/u/Z/2VG3g5s/vpk7Z97J9VOuP3lBnkbTD9XljRR8so+yoiOuK6FJmbFkzR1D2oyRmK3Kpa3UaHxCYWEh2dnZrs/YRYsW8atf/QqTycRDDz3k1X0pt+r1xC7sxNiJvHjJiywtXMoz257h95t+z7aj23jo9IcIswZWccOcnByjFYaMqu4DedcebGb923up2Oosl22yCCblJTLjvHHEJho7ZKzqMQd13VX1Bv8Vcy0qKjpuKG/8+PGkpKSwZcsWrw+PKheg+urGWk1W7px5J9NGTOPna3/ORxUfUdlUyZPnPMmI0BEGWPZNXV3doOuhBAqqurvzbqprZ8M7Zez6bxVIsASbmTY/ieyzxxIeExgZ81U95qCuu6reADabzS/JtJcuXXrSY0VFRT7Zl3LjFv0VLDx3/Lm8fMnLJEUksa12G99Z/h3KG8r9aNc/FRUVRisMGVXdT/S22xwUfLyPlx5cz64NVZhMgmlnJXPdw3M4/YqJAROcQN1jDuq6q+oNuNYWnUooF6AGIi0mjRcufoGs+CwONh/kug+vY8uRLUZraQKAQ6XHePWRjeS/tRdbp4MJOaP49oPfYN5VGYRFBXYOM43m64hyAcqTgoUjQkfwzAXPMD95Pg0dDdz6ya1srt7sB7v+6Zn1oiKquqelpWHrsvPlG6W89ccC6g+3ED0ylMt+nM2Ft00lemSo0YpuUfWYg7ruqnpD4BYsHA7KBShPx1jDrGE8ftbjXJx6Ma22Vu747A7yD+X72K5/ArEcs6eo6m5rMvP6/9tE0WcHEEKQe3EKV/9qNuOmxButNiCqHnNQ111Vb1C7mKs7lAtQgylYaDFZeHTuo1w+8XLabG38cMUPWVO5xod2/VNcXGzYvoeLau5SSkq+OMhHf9lF3aEWYhLCuOKeHPIWpmGxqvGHrNox742q7qp6A7S1BW413aGiXIAaLGaTmQdPf5CrMq+i09HJT1f+lC8Pfmm0lsaH2DrtrHx+J6te3IV0QNaZY/jWz2eRmBo98Is1Gk3AoFyAGkrBQpMw8fO8n3Pt5GvpcnTxk5U/YWPVRh/Y9U98fOAPK7lDFffm+g7e/H0BO9Ydxmw1kXlOJAuunYQ1SI1eU29UOeZ9oaq7qt6gh/gCgtDQoV3UFkLwP7P+hyXpS+iwd/CDFT+gqMY3c/fdkZWlXoXRHlRwrz3YzLLfbuLI/iaiRoSw5N6ZnL0kcFNfDYQKx9wdqrqr6g1D/2wMZJQLUE3ddVSGghCCX37jl1yadilttja+/9n32V673Yt2/bNmjXHXv4ZLoLtX7qzjzd8X0FzfQWJaNFfeN4uRYyMD3rs/tLv/UdUbcNXxOpVQLkANF7PJzMNnPMx548+jqauJ2z+9nbJjZUZraYZBWdER3nuymM42GxNyRrLopzMIifBeyn+NRnMyL774IjNnziQmJoa4uDgWLFjAwYMHvboP5QKUN5LAWkwWfnPmb5iXPI9jHce447M7ONp21At2A+x3CNfPAoVAdd+zuYaPn9qGwy6ZflYyF9wyFUuv602B6u0J2t3/qOrtb5599lkeeOABnnrqKerr69m9ezff+c53iI2N9ep+RE+pYlXIzc2VmzZt8kpbbbY2bvn4FrYc3cLkuMk8e+GzAZdgVuOe0o3VfPrv7UiHJOeC8XxjcZrOYq85JdixYweTJ082WsMtZ555JgsXLuSee+4Z1OvcvS8hxGYpZe6Jjyv3dWEw66AGItQSypPnPMl1y69jR90O7lp9F0vPXorF5JvDUlBQoGy25EBzLys8wqfPlCAl5F6cwuzLUvsMToHmPRi0u/8JWO8H/bRE4sEGjzYLDQ3lmWeeYfz48Zx99tmMGOGbpNzKDfF5uyhXXEgcfzv3b8QGx/LlwS95fPPjXm2/N42NjT5r29cEknvlrno+/tc2V3DKW+i+5xRI3oNFu/sfVb39zXPPPccFF1zA3XffTUJCApdddhk1NTVe349yPShfMC5qHI+f9Tg3f3wz/9n+H7JGZHFR6kVGa2n64Mj+Jpb/bQsOm2TagmRmX5ZqtJJG43s86Nk0NTX5LVVTYmIijz/+OI8//jibN2/miiuu4De/+Q1/+MMfvLof5XpQ4eG+KSKXk5DDvbPvBeCBdQ+wu3631/eRm3vSEKsyBIJ749E23nuyiK52O+mzEjjzW+kDXnMKBO+hot39j6re4L+ChScyc+ZMpk2bRktLi9fbVi5AdXV1+aztqzOvZuGEhbTZ2rhr1V20dnnvehdAdXW1V9vzJ0a7d7bZ+OCvW2hr6mLslDjOuWEywjTwhAijvYeDdvc/qnqDbz8be/PYY4/x5Zdf0tHRQUdHB88++yyrVq3ipptu8vq+lAtQvizK1bOQNz02nX2N+/jtxt96tf0DBw54tT1/YqS7wyH55JkS6g61EJsYxgW3TsVs8exXVx9zY1DVXVVv8F+Aamxs5KabbiI+Pp5x48bx6quvsmLFCvLy8ry+L+UClK8JsYTwmzN/Q5ApiGWly1ixb4XRSl971r+1l31bawkOt3DJD6YTHKovnWo0RvHoo4+ye/dumpubqa6u5sMPP/RJcAIFA1RISIjP95Eem85duXcB8ED+A9S0emd2Snp6ulfaMQKj3Es3VVP46X5MJsFFt00jeuTgxtn1MTcGVd1V9QbPirmqhnIByl8LMb896duckXQGDR0NPLz+YbyxoFnlXyAj3I9Vt7LyhZ0AnHFlOkmZg1+lro+5Majqrqo3+O+z0Z8oF6D8VZRLCMFDcx4iwhrBqgOr+HTfp8Nuc9u2bV4wMwZ/u9s67Xz0z210tduZkDOKaQuShtSOPubGoKq7qt4A7e3tRit4HeUClD9JCE/gzpl3AvDohkdp6PBslbVm+HzxWim1lc1Ejwzl7OsmnZLfDjUaTf8oF6CsVv9mqf5mxjfJGZVDbXstf9r8p2G1NWrUKC9Z+R9/uu8tqGH72kOYLSYuuG0qQcOYFKGPuTGo6q6qN5yaiW6VC1D+HiM2CRMPzHkAq8nKstJlwypymJGR4UUz/+Iv95aGDla9uAuA05dMYOTY4a2M18fcGFR1V9Ub/DOBzN8oF6CMKMqVFpPGjVk3AvDYfx/DIR1Damft2rVetPIv/nCXUrLqhZ20t3SRPCmWafOTh92mPubGoKq7qt6gCxYOGiHEhUKIXUKIPUKI+/p4fpwQYqUQolAIsUUIcbEvfYbDLdNuYVToKEpqS3hnzztG65yS7Fh3mIqttQSFWjzOFKHRaE5dfBaghBBm4C/ARcAU4BohxJQTNvsF8JqU8jTgauCvA7VrMhnT6QuzhnFnrnPCxOMFj9PcOfhvKypPYfW1e+PRNta+VgrAvKsziIj1znCFPubGoKq7qt6gp5kPltnAHillmZSyE3gFWHTCNhKI6v45Gjg0UKO+ShbrCZekXsKMkTOoa6/jH1v+MejXz5kzxwdW/sGX7lJKVr+8i64OOxNyRpIxO8FrbetjbgyquqvqDRAREeG3fdXX1yOEICIi4rjbE0884dX9+HLaRxLQO7FVJXBiPowHgU+EED8CwoFz+2pICHEbcBtAQkICq1atAiAtLY3IyEiKi4sBiI+PJysrizVr1gDOWS1z586loKDAVeclNzeX6upqV86t9PR0goODXesfRo0aRUZGhmssOjg4mDlz5rBp0yaam5s5z3wexRTzwvYXSDmWQrwlnszMTMxmM9u3bwecqehTU1PJz88HnMW98vLy+Pjjj13f0ObMmUN5eTlVVVUATJkyBbvdzq5dzgkCSUlJJCcns2HDBsD5y5ebm0t+fj4dHR0AzJ07l927d7vqsEydOpWOjg5KS509kbFjx5KQkEBPBeKoqChycnJYu3YtNpsNgHnz5lFSUkJtbS0A2dnZNDU1UVZWBkBKSgpxcXGsXbuWsLAwYmNjyc7OZvXq1UgpEUIwf/58iouLqa+vByAnJ4e6ujoqKio8Ok9NlYL9JXbMQQLLuKOsXr162OcJIC8vj/Xr17u+WXp6njZs2OBab2fkefrwww8JDQ0d1HkqKCgA8Ml5Gszf03//+1/CwsI8Pk+VlZUcPHjQ8PO0evVqzGbzoM7TUP6eBjpPnZ2dNDU1Ac4s5TabzZWHNCgoCLPZ7HrvZrOZ0NBQGhsbXSNMkZGRtLS04HA4XG10dXW58vUFBwcjhHCtnbJYLISEhLjOSU/w6d1GeHg4nZ2ddHV1sW7dOuLi4qiqqjqujeDgYJd3TxvNzc2uRAdSSnbu3HnSeXKLlNInN+BK4Ole968Dnjxhm7uAn3X/PAfYDpj6azcjI0MazX1r7pNTn50q719z/6Bet3LlSt8I+QFfubc1d8p/3b1GLr19hSz54qDX29fH3BhUdQ8U7+3btw/6NY2NjT4w6Zs//vGPcu7cuYN+nbv3BWySfXze+7IHVQmM7XU/mZOH8G4GLgSQUuYLIUKAEYD3SzN6kR/M+AEfVXzE+2Xvc0PWDWTGZRqtpCz5b+6hramL0ROjmXz6aKN1NJqAZNp/pvllP1tv2OrRdoWFhUyZcuKUAu/jy2tQG4F0IUSqECII5ySId0/YZj9wDoAQYjIQAhzpr1Ejr0H1kByZzFWZVyGR/Lnwzx6/zlcZf/2BL9wPlR5j+5eHMZkFC66d5JNZe/qYG4Oq7qp6+5uioiKef/55YmJiXLe77rrL6/vxWQ9KSmkTQvwQ+BgwA89IKUuEEL/G2Z17F/gZ8E8hxJ04J0zc2N3dc4u/ap4MxK3TbuWt0rdYU7mGzdWbmZkwc8DXVFZWKpst2dvuDruDNa84qxbnXDCeuNG++eKhj7kxqOoeqN6e9Gza29v9sli3o6ODHTt2kJ+f7/MKxD6dsy2lXC6lzJBSTpBSPtL92K+6gxNSyu1SyjOklNlSyhlSyk8GatOXBQsHQ3xoPDdk3QDA45sf9yjbec9FYBXxtvv2Lw9Te7CZyLgQZl443qtt90Yfc2NQ1V1Vb/Dfl/dt27YhhGDaNN8POyqXSSKQuCHrBmKCYyg6UkT+4XyjdZShvaWLDe84ZzWdvmQiliCzwUYajcZTCgsLycrK8suaMeUCVCDlmwq3hrt6UX8r+tuAvajMTHUnU3jTfeP75bS3dDEmPYYJOSO91m5f6GNuDKq6q+oN/ltkXFRUxNatW49b/xQZGUlDg/erPSgXoAJttfQ1k65x9aLWH17f77Y96ytUxFvudYda2Lr6IELAmVel+/x86mNuDKq6q+oN/vtsXLp0KTabjebmZtetqamJ6Ohor+9LuQDlr4KFnnJcL6q4/15Uz8JDFfGW+9o3SpEOyZQzkxiRPLxM5Z6gj7kxqOquqjfogoUaN1wz6Rqig6MprCkcsBf1debAjjoObK8jKNRC3sJUo3U0Gk2Ao1yA8nfBQk8It4a7ynH8vfjvbntRiYmJfrTyLsN1lw5J/lt7Aci5YByhEUHe0BqQr/MxNxJV3VX1Bl2wMCAI1GzDPb2ogpoCNlRt6HOb1FR1ew3Ddd9TUMOR/U2ERQcx/eyxA7/AS3ydj7mRqOquqjcE7mfjcFAuQAVqUa5wazjXT7kegKe3Pt3nNj3JLlVkOO52u4P13dPKZ1+aitWP08q/rsfcaFR1V9UboKWlxWgFr6NcgApkrp50NeHWcDYc3kDJ0RKjdQKG7V8covFIGzEJYTrfnkaj8RjlApRRBQs9ISooiiszrgTgX9v+ddLzPaUTVGSo7p3tNjYurwDgG4vSMJn9e/6+jsc8EFDVXVVvCLwlON4gcD/t3RAIyWL747op12E1Wfls32dUNFQc95zKiSiH6r51VSVtjZ2MSoki7TTfLsrti6/jMQ8EVHVX1Rv8W7DQXygXoAJ9nHVU2CgWTliIRPJsybPHPddTLE1FhuLe2W6j8NP9gLP3ZMQ3vK/bMQ8UVHVX1RsC9/r8cFAuQPVUdwxkbsy6EYHg3b3vUtP6VWmrQFtkPBiG4r51VSUdLTZGT4wmeVKsD6wG5ut2zAMFVd1V9QY8SljtLXpKvu/bt8+n+1EuQKlASnQK544/ly5HFy9sf8FoHUPo3XuadWnqKTk+rtF8XSkqKiI2Npbx431XiQAUDFCqjLN+d+p3AXht92s0djYCMGfOHCOVhsVg3Y/rPWUa03uCr9cxDyRUdVfVG/x7fb6oqIgZM2b4fD/KLT3u6OgwWsEjpo6YSl5iHhuqNvBW6VvckHUD5eXlTJo0yWi1ITEY90DqPX1djnmgoap7oHrvmDTZL/uZvHOHR9sVFhb6JUAp14MKlIq6nnDdlOsAeGnHS9gcNqqqqgw2GjqDcQ+U3hMMzjvQ0O7+R1Vvf1NUVMRpp53m8/0o14NSiTOTz2R81Hj2Ne7j8/2fE4R/8s8ZSe/e02x97Umj8Qqe9GyampqIjPR9hYCeku+6B9UHKi2kMwkT106+FoAXdrzAlClTDDYaOp66b1t90NV7SjK49wSeewci2t3/qOoN/ivmum3bNsxmM5Mn+37YUbkA5c+plN5g0YRFRFojKawpZHudurVm7Hb7gNvYuuwUrzgAQO5FKQHRe/LEO1DR7v5HVW/w32djYWEhU6dO9Uv2dOUClGpFucKsYSzJWALAf7b+x2CbobNr164Bt9mZX0VrYycjxkYwdkqcH6wGxhPvQEW7+x9VvcF/E8j8NYMP9DUov3DNpGt4bvtzFLQWUN1STUJ4gtFKXsdhd1D4iXPRXs4F4wOi96TRaLzP0qVL/bYv5XpQQUHqTTQYEzGGc8ediwMHr+x6xWidIZGUlNTv83sLj9B4tJ2okaFMyBnlJ6uBGcg7kNHu/kdVbwjMYq7DRbkApepJ6Jly/vru1+mwq7GWqzfJyclun5NSsvmj7t7T+eMwmQKn99Sfd6Cj3ecgJJsAACAASURBVP2Pqt6g5pf3gVAuQAV6slh3ZI/MZmzQWBo6Gvik4hOjdQZNf0k092+vo7aymbCoIDK/EVgls1VO/qnd/Y+q3qDuZ2N/KBegVEUIwdyIuQDKDvO5o6C795R9zlgsVv9Vy9VoNKc2ygUos1ndD8D5CfOJtEay5cgWdtR6llIkUHCXA7GqrIFDpccICrUwdV7gjd+rkruxL7S7/1HVGwK7mOtQUe4dhYWFGa0wZM6YfQYLJy4E4NVdrxpsMzhyc3P7fLzn2tO0+UkEhQbepFB33iqg3f2Pqt4Q+MVch4JyAUrlcdb8/Hy+lfEtAJaXL6eps8lgI8/Jz88/6bH6qhYqthzFbDEx/eyxBlgNTF/eqqDd/Y+q3qALFg4aIcSFQohdQog9Qoj73GzzLSHEdiFEiRDipYHaVKFgoTs6OjpIi0ljduJs2mxtvLf3PaOVPKavRYDFn1cCkPmNRMKiAnMGkSrZ7/tCu/sfVb1BvSw7nuCzACWEMAN/AS4CpgDXCCGmnLBNOnA/cIaUMgv4qa98AolvZTp7Ua/uelXZX6r25i525R8GIDtAe08ajUZtfNmDmg3skVKWSSk7gVeARSdscyvwFyllPYCUsoYBUPki5ty5zll8Z487mxGhIyhrKGNT9SaDrTyjx72HbV8cxNblYFxWHHFjAnfs+0RvldDu/kdVb/DvZ2NPyfeIiAjCwsIYP348//rXv7y+H19e1U4CDvS6XwnknbBNBoAQ4kvADDwopfzoxIaEELcBtwEkJCSwatUqANLS0oiMjKS4uBiA+Ph4srKyWLNmDQAWi4W5c+dSUFBAY6Ozqm1ubi7V1dUcOOBUS09PJzg4mG3btgEwatQoMjIyWLt2LQDBwcHMmTOHTZs2ucZ48/LyqKys5ODBgwBkZmZiNpvZvt2ZDDYxMZHU1FTXeHZoaCh5eXmsWrXKlWBxcdpini55mqVfLOWmkTcxZcoU7Ha7KxdYUlISycnJrnUZERER5Obmkp+f7xqGmDt3Lrt376amxhnXp06dSkdHB6WlpQCMHTuWhIQENm1yBsGoqChycnJYu3YtNpsNgHnz5lFSUkJtbS0A2dnZNDU1UVZWBkBKSgpxcXGsW7eOkJAQYmNjmZo1jc2fOJ8XI48BUFxcTH19PQA5OTnU1dVRUVFh+HnavHmz6716ep42bNhAW1sb4KywWl5e7qoT5M/z9Pnnn7sWX3p6ngoKCgCIjY0lOzub1atXI6VECMH8+fP9dp42bdpESEiIT/+efHGe1q1b57qM4Mu/p4HOU2dnJ01NzmvUYWFh2Gw2Ojs7AeeCXLPZ7HrvZrOZ0NBQGhsbXTP5IiMjaWlpcb2XsLAwurq6XPX0goODEUK4cptaLBZCQkJc56Qn+PRuIzw8nM7OTrq6uli3bh0jRozg0KFDtLe389prr3H77bdz2WWXuSpO9LTR3NzsGimSUrJz586TzpNbpJQ+uQFXAk/3un8d8OQJ27wPvAVYgVScQSymv3YzMjKkqqxcudL18+Hmw3L6f6bLGc/NkHVtdcZJeUhv9535h+TS21fIlx5aLx0Oh3FSHtDbWzW0u/8JFO/t27cP+jWNjY0+MOmbP/7xj/L888933a+srJSA3L17d7+vc/e+gE2yj897X/agKoHeFyeSgUN9bLNeStkFlAshdgHpwEYfegUEieGJzE2ay5rKNby39z2uz7reaCWPkFJS1F1SI/ucsToprEbjB/7yvc/9sp8f/P1sj7YrLCxk5syZABw7doz777+fmTNnMnHiRK/6+PIa1EYgXQiRKoQIAq4G3j1hm7eBswCEECNwDvmV9deoSgULT2Tq1KnH3b9i4hUAvFn6ZsBPluhxP1R6jKMHmgmNtJIxO/Czsp94zFVCu/sfVb39TVFREU888QRRUVHExsZSU1PDRx995PUvrD7rQUkpbUKIHwIf47y+9IyUskQI8Wuc3bl3u587XwixHbAD90gpawdo11fKPufEKazzxs4jLiSOvQ17KT5SzIxR/qmxMhR63Is+c/aeps5LUiKtkcrThrW7/wlUb096Np2dnX5JGNtT8n3nzp1MmDCBZcuWcfPNN/skkbdP10FJKZdLKTOklBOklI90P/ar7uBE9/DjXVLKKVLKaVLKAZPUqVawsDc9F1t7sJqsLJronNj41p63jFDymNLSUo7VtFKx9Sgmi2DqfDWyPp94zFVCu/sfVb3Bf8F127ZtBAcHk5aWBsCSJUsYN24cy5Yt8/q+lMskcarRM8z3YfmHtHQFdpaMLZ9XgoTM2YG7MFej0fiWnpLvvYfzLr74Yt5998QrOMNHuQClcs2TsWNPXtCaEp1Czqgc2mxtfFR+0gz7gCFx5Bh2rHPOcck+R52FuX0dc1XQ7v5HVW/wX628oqIipk+fftxjF154IZ9++qnXR7gCL7vnAKhasBCca7j6YknGEgpqCniz9E2WZCzxs5VnHCsT2DodjJ0cS3ySOoul3R1zFdDu/kdVb/DfZ2NfJd8XLFjgkzypyvWgVE4W27PA70TOG38eEdYIthzdQml94I2B2+0Oij/vmVo+zmCbweHumKuAdvc/qnoDtLa2Gq3gdZQLUKcioZZQLkm7BHBOOQ809hbUYGuD2MQwxk2JM1pHo9F8TVAuQKlcsDAqKsrtc1ekOydLvFf2Hp32Tn8pDYiUkuLPei3MNam1MLe/Yx7oaHf/o6o36IKFAYHKBQtzcnLcPjclfgqT4ibR0NHA5/v9s2rcEw7vbaBmXxMh4VYy8xKN1hk0/R3zQEe7+x9VvUEXLAwIVC7K1ZMw0x09vahAGuYr7k5rFJVqxxKkXu91oGMeyGh3/xNI3oNNStCTXDZQGUotP+UClMqZJHoyHrvj4tSLCTIFsf7weg41n5i20P80HGmjvOgIJrMgZoKax32gYx7IaHf/EyjeISEh1NbWKv1514OUks7OTg4ePDjoXt6A08yFECHApcCZwBigDdgGfCClLBmCr8YN0cHRnDP+HD4s/5B39rzDHTPuMNRny8oDSAkZsxKwhA5Yqkuj0XiJ5ORkKisrOXLkiMevaW9vJyQkxIdWQ8disRAdHc2IESMG9TrRX4QWQjwIXAasAjYDNUAIzqSuZ3X//DMp5ZYhWQ+B3NxcqepUUIfDMeCFzPWH13PrJ7cyJnwMHy75EJMwppPb0WbjP/d9SVeHnW/9fBbxSeFKXoT15JgHKtrd/6jqDWq7CyE2SylzT3x8oHezUUo5U0r5MynlS1LKz6SU70sp/yilvAy4FvBraoeeIl0qUlIycIdzduJskiKSONRyiPWH1/vBqm92fHmIrg47SZkxjBwb6ZF7IKKqN2h3I1DVG9R2d0e/AUpK+QGAEOLKE58TQlwppayRUvq1OxMoY8RDoafKZn+YhMmVQPbt0rd9rdQnjj4W5nriHoio6g3a3QhU9Qa13d3haX/wfg8f03iBxRMWIxCs2L+Cho4Gv++/rOgozXUdRI8KJWVqvN/3r9FoNDBAgBJCXCSEeBJIEkL8udftWcCQrozK66Cys7M92m50xGhOH3M6nY5O3i9738dWJ1O8Yj8A2Wd/tTDXU/dAQ1Vv0O5GoKo3qO3ujoF6UIdwTo5o7/6/5/YucIFv1frGbrcbsVuvMJh1CovTFwPw9h7/DvNVlTVQVdZIcJiFSXNGux4P9DUW7lDVG7S7EajqDWq7u2Oga1DFUspngYlSyv/0ur0ppaz3j+LxBGrFS08oK+u3mv1xnD32bGKCY9hZt5Pttdt9aHU8PQtzs85Mwhr81cLcwbgHEqp6g3Y3AlW9QW13dww0xPeeEOIyN8+lCSF+LYT4rm/Uvt4EmYO4NO1SwH+ZJRpr29hbUIPJJJi2QI2KuRqN5tRloCG+W3Eu0N0phNgohFguhPhcCFEO/APYLKV8xueWvQgODvbn7rxKSkrKoLZfPNE5zLe8fDntNt+Xut+6shIpYWLuKCJijz/Og3UPFFT1Bu1uBKp6g9ru7ug3k4SUsgq4VwjxH6AFGI0zk8RuYLaUcpXPDU9A5WzmcXGDK1WRGZdJVnwWJbUlrNi/wlWSwxd0ttvYvtZ9xdzBugcKqnqDdjcCVb1BbXd3eDrN/FXgW8B6YBfwG+D/+UqqP1QuylVQUDDo1/QkkH2r9C1v6xzHji8P09luZ0x6DKPGn1xyYCjugYCq3qDdjUBVb1Db3R2eBqg8YBywDtiIc3bfGb6S0nzFhakXEmwOZkPVBiqbKn2yD4dDsmXlVzWfNBqNJhDwNEB14RzaC8WZf69cSjn43OlewGIZML9twBIbGzvo10QFRXHe+PMA3005ryg+SuPRdqJGhJAyve9kjkNxDwRU9QbtbgSqeoPa7u7wNEBtxBmgZgFzgWuEEG/4zKofQkNDjditVxjqQrqeYb6397yN3eH9dWBFPQtzzxmLyU3FXFUXAarqDdrdCFT1BrXd3eFpgLpZSvkrKWWXlLJKSrkIeMeXYu5QeTHa6tWrh/S6mQkzSY5Iprq1mvzD+V51qq5o5PCeBoJCj1+YeyJDdTcaVb1BuxuBqt6gtrs7PApQfSWElVI+732dU5uhFh8zCROXp18OeH+yhGth7twxBIW4Hz5VtXCaqt6g3Y1AVW9Q290dahYPURQh+h4+84SFExZiEiY+P/A59e3eSeLRXN/O3s01CJNg2ln9L8wdjruRqOoN2t0IVPUGtd3d0W/BwkBE5YKFw+WOz+5g7cG13DvrXq6bct2w21v35h4KP9nPxNxRXHDLVC8YajQazeAZasHC4e70QiHELiHEHiHEff1s900hhBRCnCR4IioXLCwuLh7W611rova8NezufGebjZI1BwGY0V3zqT+G624UqnqDdjcCVb1BbXd3+CxACSHMwF+Ai4ApOGf+Telju0jgx8AGT9pVuWBhff3whuYWJC8gNjiW0vpSSmqHVz1z2xcH6Wy3k5QRQ0LqyQtzT2S47kahqjdodyNQ1RvUdneHL3tQs4E9UsoyKWUn8AqwqI/tHgZ+i7Okh6YfrGYrl04YfgJZe5eDLd2TI047f7xX3DQajcbb+HLVaxJwoNf9SpwZKVwIIU4Dxkop3xdC3O2uISHEbcBtAGPGjGHVqlUApKWlERkZ6eraxsfHk5WVxZo1awDnot65c+dSUFBAY2MjALm5uVRXV3PggFMtPT2d4OBgtm3bBsCoUaPIyMhg7dq1gDM57Zw5c9i0aRPNzc0A5OXlUVlZycGDziGyzMxMzGYz27c7y2IkJiaSmppKfr5zSnhoaCh5eXlYrVaX+5w5cygvL6eqqgqAKVOmYLfb2bVrl/PgJSWRnJzMhg3OjmVERAS5ublMaJkAwHul73HnaXdyoOwANTU1AEydOpWOjg5KS0sBGDt2LAkJCfRcs4uKiiInJ4cPXvqClgY7wdGQPDmGrVu3uspFZ2dn09TU5Erdn5KSQlxcHA6Hg1WrVhEbG0t2djarV69GSokQgvnz51NcXOz6BpeTk0NdXR0VFRWGn6f4+HjXMff0PG3YsME1lDzU85Sfn+8qDTN37lx279496PMEuNznzZtHSUnJgOepJ92N0eep5/fFl39PvjhP0dHRrmPu6Xlau3ata2THyPPUc8wD7XPPk/PkDp9NkhBCXAlcIKW8pfv+dTgTzP6o+74J+By4UUpZIYRYBdzd15T23kyfPl1u2bLFJ86+pqKiwisZh6/94Fq2HN3Co3Mf5bIJfVZDcYt0SF7+9Qbqq1o596YpZOYlevQ6b7n7G1W9QbsbgareoLa7EZMkKoHeid2Scebw6yESmAqsEkJUAN8A3h1oooTKBQt7vgENl55qu0MZ5qvYepT6qlYiYoOZmDvK89d5yd3fqOoN2t0IVPUGtd3d4csAtRFIF0KkCiGCgKtxlooHQErZIKUcIaVMkVKm4MyUvnCgHpQGLkq5iFBLKJuqN7G/cf+gXlv4iXP7GeeOw2zWy+A0Gk3g4rNPKCmlDfgh8DGwA3hNSlnSXYV34VDbVblgYVpamlfaiQiKGFIC2cN7jnF4bwPBYRYmn+E+rVFfeMvd36jqDdrdCFT1BrXd3eHTr9BSyuVSygwp5QQp5SPdj/1KSvluH9su8KT3pHLBwsjISK+1dflEZ+qjd/a8g83h2dT7gu7e07QFyf2mNeoLb7r7E1W9QbsbgareoLa7O5Qb41G5YKE3F9LNTJjJ+Kjx1LTVsO7QugG3rz3UTMWWo5itJqYt6D+tUV+oughQVW/Q7kagqjeo7e4O5QKUxokQgsUTPZ8ssfnDfQBMOX00YVFBPnXTaDQab6BcgFK5YGF8fLxX21s0YRFmYWbVgVVUt1S73a6+qoXSTdWYzILTLhjawlxvu/sLVb1BuxuBqt6gtrs7lAtQKhcszMrK8mp7I8NGcva4s7FLO2+Uuq8fufmjfSBh0pzRRMaFDGlf3nb3F6p6g3Y3AlW9QW13dygXoFQuWNizIt+bXDPpGgDe2P0GXfauk55vONLG7v9WI0yCnCH2nsA37v5AVW/Q7kagqjeo7e4O5QKU5nhyE3KZGDORo21HWbF/xUnPF3xUgXRIMvMSiB6pbu9To9F8/VAuQKlclMsX18+EEFyVeRUAL+98+bjnGmvb2Lm+CiFg5oUpw9qPqtf+VPUG7W4EqnqD2u7u0AULTwFaulo45/VzaOlqYdnCZWTEZgCw+qVdbFtzkPRZCZx/86k3Pq3RaE4NDClY6AtUXgfVk8HY24Rbw7kszZk09pWdrwDQVNfO9nWHQEDuRSnD3oev3H2Nqt6g3Y1AVW9Q290dygWo/lKzBzo9qe99wdWTrgbg/bL3aepsYtPyChw2ycSZo4gbEz7s9n3p7ktU9QbtbgSqeoPa7u5QLkBp+mZCzARmJ86mzdbGW5s+YMe6wwiTIO+yUy8/l0aj+XqgXIAKDx9+b8AocnP7rSQybHp6UTs/qUU6JJO+kUhMQphX2va1u69Q1Ru0uxGo6g1qu7tDuQDV1XXyWh9VqK52n+3BG5w19iwmObIZU5WJMEPuJSlea9vX7r5CVW/Q7kagqjeo7e4O5QJUZ2en0QpDpqfcsq+wmCycW3MNAhOHx+0gKt5765587e4rVPUG7W4EqnqD2u7uUC5AadxTVd6ArTwUm6mTj+NeZNvRbUYraTQazZBRLkCFhAwtl1wgkJ6e7rO2pZTkv7nXeWdaHW1BTTxX8pzX2veluy9R1Ru0uxGo6g1qu7tDuQClciYJX1YDLi8+yqHSY4SEW7n8yvlYhIVP9n3C4ebDXmlf1UrGqnqDdjcCVb1BbXd3KBeg2trajFYYMtu2+WbIzW5zsO7NPQDMujSFcSOSOD/lfOzSzgs7XvDKPnzl7mtU9QbtbgSqeoPa7u5QLkBpTmbbmoM01LQRkxBG1rwkAG7IugGAZaXLaOw89RbwaTSaUx/lApTVajVaYciMGjXK6222t3Sx8YNyAE6/YgJms/OUTomfwuzE2bR0tbjSHw0HX7j7A1W9QbsbgareoLa7O5QLUCqPs2ZkZHi9zc0fVtDRYiMpI4aU6SOOe+626bcB8Pz252ntGl4OQ1+4+wNVvUG7G4Gq3qC2uzuUC1DNzc1GKwyZtWvXerW9+qoWtqysBAFnfDP9pAkksxNnkz0ym2Mdx3ht12vD2pe33f2Fqt6g3Y1AVW9Q290dygUojRMpJWte2Y3DLpl8+mhGjos8aRshhKsX9WzJs7Tb2v2tqdFoNENGuQBlMimn7MKbw5N7NtdQubOe4HALcy6f4Ha7M5POZHLcZGrba3mz9M0h70/VoVVVvUG7G4Gq3qC2uzt0wUIF6Wy38dID62lp6GTBtZlknZnU7/Yr9q3gp6t+SkJYAsuvWE6QOchPphqNRjMwumBhAOCtwLrpgwpaGjoZNT6SyWeMGXD7s8adxcSYiVS3VvP67tf73dbR0kL79u20rFtH46ef0vTZZ7SsX0/BsmU4FFyDpvKXGe3uf1T1BrXd3aFcEXuVCxZ6Y4JH7aFmilccAAHzv52JyTRwZg2TMPGj037ET1b+hKe2PMXiiYsJtzrLltiOHKF59Wpa1m+gdfNmbIf7zjwRCuz6xS+xJiURlptL+JxvED5vHpbY2GG/J1+i8qQa7e5/VPUGtd3doVyA+jrjcEg+f24nDodk6hkjGWXZA3uPga0DQmIgajTEjIc+0kGdNfYspo+czpYjW3hhy7NcfTiFhrffpmXdOnA4XNsJqxXr+HFY4kdg6q695WhpoXHfPixHj9JVWUlDZSUNb78NFgsR8+YRs+QKIs46C6Hw9UGNRhN4KHcNKicnRxYUFBitMSTa2toIDR1iCQwpKXxtDetW2omwHOOauO8TZOpjyC0kBlLmQtblkHkRBH1V4HFjxVpe//3tXLZRMqKh+7xbrUSccQbhc+cSnjeboNRUhOXk7y1tbW2EWCx07NlDy/oNtHzxBS3r17uCW1BKCnHfvYmYxYsRQYFzjWtYx9xgtLv/UdUb1HZ3dw3KpwFKCHEh8ARgBp6WUj52wvN3AbcANuAI8F0p5b7+2pw2bZrcunWrj4x9S2lp6eAzDne2QuELHFv7Jq+U/gQ7wVwS+zApoVthRDqEjwBLCLQdg/pyaDny1WtDYmD2rchZt9Pw2Zcc+dOfsNXUANA8OpoJt/6YqIsu8miYri9325EjNLz/AfXPP0/XoUMAWMePY9SddxF5wfkBkdh3SMc8QNDu/kdVb1Db3V2A8tkQnxDCDPwFOA+oBDYKId6VUm7vtVkhkCulbBVC3AH8Friqv3ZVLlh48OBBz3+B7F1Q8B9Y/TtkUzUr636NnWAyxlWRcu2jkJwL5hPSPkkJx/bD7o9gy6twcDNtbz1O1S+fo73W7NwkM43fZ1VQPKmDty89k7goz64h9eVuGTmS+JtuJO6679D40ccc/etf6Swr4+BPf0rozJmMfuhBgidO9Oz9+ohBHfMAQ7v7H1W9QW13d/jyosFsYI+UskxK2Qm8AizqvYGUcqWUsmda3nog2Yc+6rB3JfwlDz74GTRXsc16C4e6phIaaeXMH18J4+ecHJzAee0pdjzk3Y7jOx9Q3XkjFZ+OpL3WjCXUzpgLo5j8zz+ReNEiOqWN3236nVd0hcVC9KWXkPbuOyQ++ADm+HjaNm+m7PIrOPLkUhwKf6nQaDTG4bMhPiHEN4ELpZS3dN+/DsiTUv7QzfZLgSop5f/18dxtwG0Ao0ePnvnSSy8BkJaWRmRkJMXFxQDEx8eTlZXFmjVrALBYLMydO5eCggIaG50ZvXNzc6murnaVR05PTyc4ONiVqn7UqFFkZGS40oYEBwczZ84cNm3a5Jolk5eXR2VlJQcPHgQgMzMTs9nM9u3OzmFiYiKpqank5+cDEBoaSl5eHqtXr6bneM+ZM4fy8nKqqqoAmDJlCrKpGj7+XxJqnP6OuIlsjPwOmzdlI+1w4W1TqenYS0dHBwBz585l9+7d1HQP202dOpWOjg4q3n+fqOdfwHL0KJjNOE6fTOq4QsLsR8AaxoYJ1/L9zpV0yk7+fs7fiaqPora2FoDs7GyampooKysDICUlhbi4ODZs2IDVaiU2Npbs7GzXexFCMH/+fIqLi6mvrwdgRno6Nb//A/YPP3Sev/HjiHv4YbZ3LxHw53nasWOHq01Pz9OGDRtcZV36Ok92u51du3YBkJSURHJyMhs2bAAgIiKC3Nxc8vPzBzxPpaWlAIwdO5aEhATXNOGoqChycnL4/PPPXQvT582bR0lJyYDnqef6rCfnKScnh7q6OioqKgDv/j0VFhZitVp9+vfki/NUUFDgWsri6Xlau3YtNpvN8PO0YsUKrFZrwH3ueXKexowZ499rUEKIK4ELTghQs6WUP+pj2+8APwTmSyk7+mt3xowZsqioyBfKPqempqbvjMNSwpbX4MN7oL0BLKEw/17sud/n9T9sobaymUmnj+ac6yf3277s7KTmT49T9+9/AxCcmcnoRx4hdGqWs90P7oatzpx8T2edzROte0iLTuONhW9gNfWfJd6tez+0btzI4V/+is6KCoTVysif3UXc9df7dbbfULwDBe3uf1T1BrXdjVioWwmM7XU/GTjUh9i5wM+BhQMFJ1C7YGHPN43jaKuHN74Lb93mDCITz4Xv58OZd5H/wQFqK5uJGhnKmd/qf2y5s6KCimu+7QxOZjMjfvRDUl9/zRmcAEKiYck/YfHfwBzE9SWfM1ZaKGso46UdLw3NfQDCZs0i9a03ibnqKmRXFzWP/YYDt96G7ciRgV/sJYbiHShod/+jqjeo7e4OXwaojUC6ECJVCBEEXA2823sDIcRpwD9wBqcaH7oEJuVr4G9nQMmbYA2HhU/CtW9AXCoHttdR/NkBhElw3nenEBTS93wWKSXH3nqbsiuW0F5SgjUpiZQXX2DkD37Q93TvGd+GG5cTFJHAfdXO7wt/KVxKZVOlT96iKTSU0Q89SPLSJzHHxNDy5ZeUXXEFrafgqneNRuNdfBagpJQ2nMN2HwM7gNeklCVCiF8LIRZ2b/Y7IAJ4XQhRJIR4101zLlQuWJiYmOj8weGANb+D/yyExoOQPAu+9wXkXA9C0Fzfzqf/LgFg9qUpJKZG99mevbmZQ/fcy+H770e2thJ18cWkvv0WoTNm9C8ydhbcupJ54eO5sLmFNns7v15zP/0N97rch0jkueeS+s47hM2ahf3IUfbdcCO1/3623316g+F6G4l29z+qeoPa7u5QbqHuzJkz5ebNm43WGBIdHR0EO1rhrTtgt3MCAfPugfn3gdnZQ7LbHLz1hwKqyxtJnhTLZT+e0Wc6o7biYg7+7G66KisRYWEk/uIXRF++eHBrj1pqqX3xchZZjtJgNvN/2T9i0Yzb3Lt7IVuytNmo+dOfqPvXMwBEnn8+ox99BHNExLDb7gtveRuBdvc/qnqD2u6nTLJYlfNNbfn0ZXhqgTM4hcTAt1+Hs3/hCk4AX76xh+ryaW3iAgAAIABJREFURiJigzn/5qyTgpN0ODj61D+puPY7dFVWEjxlMqlvvEHMFZcPfmFseDzx17/P/5icF1Z/W/hnag71PfTWMzNnuAiLhYR77iHpyT9jioig6ZNPqPjmlbTv3u2V9k/EW95GoN39j6reoLa7O5QLUMpStorTCu+D+gpInA63r4aM84/bZNeGKrauqsRkFlxw21RCI4+/htRVXcP+m2/myB//CDYbcTfcQMorrxCcljp0r5AoLr3mfebKEBpNgv9dfhOO+n6TeXiFqPPOI/WN1wnOyHBO8Ljqahree9/n+9VoNOqgXIBSsmDh1jfghW9isbc5c+Td/AnEphy3yeE9x1j5/E4AzvxW+knXnZpWrqR88WJa89djjotj7D/+TsL992HyQt47ERzBw4tfJ04KNljhuVcvg8bjJ1z6IsdXUEoKKa++QvSiRci2Ng7dcw9VD/8f0osLe1XNTQba3QhU9Qa13d2h3DUo5QoWrv8bfHSf8+e8O+CCR+GEINtwpJU3frOZ9uYups5LYt41Ga7hOkdnJzW/+z31zz8PQPjpcxj92GNYfbDeYc3e5fxg7f9gkZIX2sPIuuFjCPV9OQ0pJcdefZXqRx5FdnURmp1N0hOPYz0FL/pqNJqTOWWuQbW0tBit4BkOB3z6q6+C03m/ZkPs4pOCU3tLF+8v3UJ7cxfjsuI486p0V3DqKCuj4ltXOYOTxcKoe+5m7NNP+yQ4AcybcDHXTLwcmxDcZWmi/uWroMu57qxnBb4vEEIQe/XVjH/xBSyjR9NWXEz55VfQ4oUxdV96+xrt7n9U9Qa13d2hXIBy9KpdFLDYu+DtO+DLJ8Bkgcv/AWf8hLb29uM26+qws/yvWzhW3Up8UjgX3DIVk9nk7FG88QblS75Jx86dWMeNI+Xll4i/+WafZ2H42Td+zrSYDA5ZLdzdWY7tjZvBYffLAunQ6dNJfXMZ4aefjr2+nv0338LRfzyFHMY5V3lht3b3P6p6g9ru7lAuQAU8Hc3w0lWw5RXn4ttrXoXsq0/azNZl58O/b+Hw3gYiYoO55AfZBIVasDc2cvDOuzj8i18i29qIWngZqW8uI3TaNL/oB5uD+dO5fyU+KJr/hobwhyNfwgd3OdMx+QFLbCxj//kUI75/BzgcHPnTn6j84Y+wd+cU02g0Xx+UuwYV0Ougmo/AS1fCoUIIGwHXvgZJM11P96xTsNsdfPzUNsqLjxIaaeWKu2cSkxBGa0Ehh+6+m65DhzCFhZH4wK+IXrSonx36jsKaQr770U3YpJ17a+u5ZvrtWM79pV8dmlat4tC9/4OjsRHruHEk//kJQiZNGlQbKq8N0e7+R1VvUNv9lLkG1ZN5OOCoK4dnzncGp5jxzpl6vYITQHl5OXabg0//VUJ58VGCwyws/MlpRI8I5ujf/sa+666j69AhQrKySH1zmWHBCeC0Uafx6zMeBuC38bF8UvhX2PgvvzpELlhA6pvLCJ4yma79+6m46mrqX355UNknysvLfWjoW7S7/1HVG9R2d4dyAaqrq8tohZM5VAT/Og/qypxrnG7+FOInnLxZ5WGW/20rewuOEBRi5rIfzSDa1Mj+G2/iyBN/BruduJu/S8rLLxGUkuL/93ECl024jLtm3gXAz0fGs+bzn8P2d/zqEJScTMpLLxH9zSXIjg6qHvo1lXd8H1t3OYOB6EnrryLa3f+o6g1qu7tDuQAVcOxZAc9e4iy1nrYAbloOkQknbdbZZmPfasn+klpCIqwsviuHkJIvKFu0mNaNGzGPGMHYp58m4Z57+k7yahA3Zt3I9VOuxyYEP00Ywcrl/7+9c4+Pqjz3/feZmcwkk/sVAuEWIFwLiFREEdRWBVuh3qrn+OnWVmvd1Z5aP+rW03Nat7tn17vd7am7R6vV1gtWRQQVq92KSgUV0SDXhDsBMrknM7nM9T1/rJUwCZkQcpmZJe83n/WZtd71rrV+8+adeea9Pc/NhpPbOGJLTWXUr37F6EcfwZaVhW/dOvYuW47v/ffjqkOj0cQXyxmopFqM9tkz8NyVEPDBzCsM10WuzOOyeRs6WPnwZtpqIT3byfKbphD43b9x5PbbiXi9ZJx3HqWvrSJj4dkJeBN9IyLcPu92Lht3GUERbivI4W+vXgtHy+OuJWvpUkpfW4X7jDMI19dz6Ec3UX3vvYR9sZceTJ8+PY4KhxatPf5YVTdYW3ssLGegkmJSRyQC/3UvrPkfoMJw9q1w2RPgOL7l49nXwsv3baK+ykdGvpMLzw7QeMNVtKxZg6SmMvKeeyh57Pc48vMT8Eb6h4jwo7If8f3p1xES4Y68dJ555SpU3e64a0kpLmbs03+i6I7bISWFxudfYO+yS/B90HurLhwOx1nh0KG1xx+r6gZra4+F5QxUR4+1RHHH74WXr4MPHwaxwyX/ARf863ELcAEqN3l49ZHNtLUEGDUhnWn7nqT5zpsJVVeT+rWvMWHlSnKvvurknbwmgIqKCn427zZ+OvtmlAgPZabwbysvJdh8KO5axGYj//rrmfDSX0mdMYPQkaMcuvFHHL7jTkINDd3ydob8tiJae/yxqm6wtvZYWM5AJZSaHfD4ecZEAWemMY389OuOyxYORvhgRQVv/3Eb4WCE0vxmpr70EzI3b0TcbkbcfRfjV7wwOCevCUBEuGHOTTx41r04FbzkguteuYQj9Yn5YKROncr4F1dQdMcdSGoqLWvWsHfpxcZMv1AoIZo0Gs3QYTkD5UzEBAKl4Ivn4Ynzob4SiqbDjeuM8Ow9aKlrZ+VDnxleyUUxtXot4175n+DzIl//OhPXrCbv2msRuz3ub2MwjB49umt/yeRLeer83zMyAlvsYa5YcyV/35MYT+TicJB//Q8oXf0a7gVnEm5upvpf72Xf5VfQuvHjbrqthtYef6yqG6ytPRaWW6g7d+5ctXnz5vg90FcLr98KO80v4FlXwbcfBWd6t2xKKSo+ruaDFbsIdERIDTQy88vHyfIexDVtGiPuvAPbnDnJNcnjJGhvbz9Oe1PNVv73qqtY5zJ+51ww5nzuPvN/UeguTIRElFJ433mHmvsfIHj4MADu889j5M9+hmvy5IRoGgy9lblVsKp2q+oGa2v/yizUjZuzWKWMMBmPzTeMkysLlj9m+NXrYZxam/28fv96/v70DgIdEQpqv+Drn/wfCkvSGfXgA0x45WXSFyywtDPH3rTnFM3kt5e+yt3eEGmRCO8cepflq5bx7PZnCYbjv15NRMi68EJK33idwlt/iqSl0fbue+xdtpzDd9xJYP/+uGsaDF+1+mIFrKobrK09FpYzUHHhaDn8aSm8cj201cOExfDPH8Fp10DUhIaI38/n//kmz93xdw7uD2IPtTNt17OcNfogk555wvAGccklw+7gNZFIYRn//erVvNYYZGFbO96gj/s/vZ9lq5axdt9aIir+zn1tqakU3HQTE996i7bFi8HhoGXNGvZ869scuevuYYveq9FohhbLfXPah3PsprUO1vwU/t9iOLjB8Ke37HfwvVWQM6YrW6iujt0P/5EXbniOj8pTCdrSyG+pYMmkvZzz3K8Y89vf4D799ONm52VkZAyf9mGmT+0Fkyn+3us85hN+66mlVDmo8lVx5wd3snzVcl6ueBl/OP4uqlJGFKF+eAOT3lpL9hWXA9C8ahX7li3n4I030rpxY3IsW4jBV7a+JDFW1Q3W1h4Ly41BDUvAwnDQ8DO37t+ho9kIkTH/Jlh8J6Qei2zbvnUb1c+s4MtdNqqKF6LETkq4jbkzI5z2w29id7uHVpfVqN0Ff/4OIe8RXh01mT/m5nCkzQNAXmoeyyct5zuTvkNpdmlC5AUOHaLh6WdoWrkSZYYmcE2eTM6VV5K97BLsOTkJ0aXRnOrEGoOynIGaNm2a2rFjx9Dd8MBH8PptUGvec+I3YMl9UFgGGN143rffpub5l6loLORQyfmEHamAYurUFM664UzSMvo3s3DDhg0sWLBg6LTHkX5rbzoEz14GdRWEcsby9nm38aeDb7KzYWdXllmFs1gyfgnnjTmPksySYVTdu+5QYyNNL75Iw7PPEa6rA0CcTjIvuoicyy7FfcYZSTHL8pSoL0mGVXWDtbXHMlCORIgZDEMWsNBXa0S8LX/eOM6dAEt+DWVLQAT/3r00vfhXal7/Owcz51A1+nJC2UYTesykdBZcNZ3CMce7NeqLpPXE3g/6rT1nDHz/LXj+uzgOb+Litb9k6eVPUp5dyKrdq1i7by1barewpXYLD3z6AGW5ZSwuWcy8kfOYUzgHd8rQtkJ70+3IzaXgppvI/8EP8L77Hk0vvUTrRx/RsmYNLWvWYM/PJ/PCC8hautToqk2QsTol6kuSYVXdYG3tsbCcgRo0kTB89rThqqijCewuOOc2OPtWgg0teP/yF1reXEtNZS1VJYvxzLiDiC0FgOLSTBZcNpniSborqE/S8+Ha1fDKD2HXG8jz32XOBfcyZ8EvufPrd/Leofd479B7rD+8norGCioaK3jiyydwiIMZBTM4reg0puZNZVr+NMZljsNuGx4DIU4nWUsuImvJRQSqDtO88hWa33iD4IGDNL2wgqYXVmAvKCBj4UIyFp1D+lln6W5AjSaOWK6Lb1ABCw9vNqLDHvkcFYFgwUL8466hreIwbR9/Qsuu/XiK5nF05Jn4Mo9Nipgwu4A53xxD8aScQbklCoVCOBzW/E0wIO2RCLx/H7x/v3E841L49m8gzfiSD4QDfFL9CRuPbGSTZxM7GnYcN+svzZFGWW4Z47PGMy5rXNc2NmssaY4Tr/k4Wd1KKfw7d9Ky9i1a1q4leCjKlZPNRtqsWbgXnIn79HmkzZmNfRgHpk+5+pIEWFU3WFv7V2YMaubMmWrr1q39yhvp6MC/Zw+Bim0EP3yO4K7PCfrsBNtTCbbZUaEwHa4c6vJnUVswi6acMpT5a92VZqdsfjGzzishZ8TQdDtt377dsh6HB6V9+2vw6j9DsBWyx8Blj8O4s47L5g14+bzmc7bVbWNHww52NOygujV2jJssZxYj0kdQ5C5ipHskRe4iCt2F5LhyyHHlkO3KpuZADWd87Qyc9pP3QKKUwl9ZSeuHH+L74EPaNm+G6HhkNhuuqVMMYzVzBq5p03CVliJD9CVxytaXBGJV3WBt7V+ZMahYAQuDHg/t5eV0bNuOf/du/LsrCR48ZCy47SIdheDNHEv96GnUj5xLS9ox9yBig3HT85m6oJjxs/JxpAxt11JNTY1lK9CgtE9fDiNmwis3wJHNRvysBbfAuXd1W/Sc6cxkUckiFpUs6kpr7GiksrGSA94DHGg+wIGWA+xv2U+Vr4qWQAstgRYqGyv7fn650RLLdmWT7kgnPSWdtJQ00h3puFPcpKek43a4cae4SXOk4bK7cNldpNhTcDqdOC+ciHPpNJwdYVzllTi2VCBbdqJ27sa/fQf+7TtoNB8lLhfOyZNwTZtGalkZrgmluCaMx1FcfNLr4U7Z+pJArKobrK09FpZrQU2ZMkXt3LkTf2UlbRs20PbZZtq3bCHUWzRJUTgzQ4TycmkYdRa1hYvwtOcSCBzL4nDaGDsjnwmzCxg/s4DUjJRh075u3TrOPffcYbv/cDIk2sNBWPdr+PARQEH2WPjWw1B24UnfKqIiNHY0UtNWg6fNQ01bDdWt1dS119Hkb6LZ30yTv4laby1tqo2wGvpQBM6gYtIRxZQqKPUoxnsUI5p6z+t3gCfPhqfATkOug8ZsB805KbTkOmnKcdCeZsdmsyMiCIKI0N7WTro73Ugz021iQzC6mTv3+zwfdb+uvx7d1J35eyT2knTi6zrvXV9fT35+fu95eqYN8ll9XneSXfK1tbUUFibGVddgsbL2R897NP5dfCKyBPgPwA78USl1X4/zLuDPwOlAPXCVUmp/X/f82ogRamXZFEK1td3SbZmZpE2diDMnQLu/jkZnCbX2yVRHZuELdh/YzipMY8y0PMbNyGPMtDwczvjM0qqrq6OgoCAuzxpqhlR71Wfw+k+h+kvjuGwJfOMXMGLG0Nw/irq6OvLz8/EFfTT7m2kLtdEWNLeQsbUGW48dB9sIRoL4w34C4YCxRQLH9sMB/BE/wXCw61xERQirMOFIGFd7iJKjQcZUhxhVF2FUvWJUA+ScwENXRwo0ZEJTOrS4hWY3tKRDs1toNtN8qdDmMrYOFygLhGnRaPrD1uu2xreLT0TswO+BC4Aq4FMRWa2U2h6V7XqgUSk1SUSuBu4Hrurrvqq5hVBtLY7CQpxnnk2wZDytkQhN9S3UN6dTF5pA0JYGIYwNcLkdlEzJpWSaYZCyCxPjUNHK00CHVHvJ6fDDdfDxH+C9f4eKt6Dib4Yj3sV3Qv7EIXuU3+9HRMh0ZpLpPLllAYNFKdVlvIItTXTs20dg/35CR44QOlpNqNpD5KiHSLWH1LZ2RjXAqAaA6B+Nvf+AVCKQngbpblSG23xNQ6WmolwpKJcTUp0oVwoRlxPlcnalq1QnypkCzhSU3YZKcYDdjkqxg8NxfJrdjnLYeo151vP9dlJfX09efl6feYx3d/z7Oy6tlyLoz3W9/fju7bpoGhoayMs7XrcVsKp2hWIpS3s9N5xjUGcAu5VSewFEZAWwHIg2UMuBe8z9l4H/KyKi+mjWtWcWUr7kl/iCGfi9buhlzW5WrlBcNoKRE7MpnphNbnE6Nlvif21WVlZa1iX+kGu3O+CsW2DWd+GDh2DTU7BlBWx5EaaaY1Rjz+zm+3AgJLLMRQS72LFjx5lbRHpuEcydf1w+pRQRr5eQx0OooZFwQz2h+gb2bN5MSWamcVxXT9jbQsTrI+L1EmlrA5+xiSdOb8jhQBwOY12YzWaMqfXYFxGw28nr6MCdkQF2GyLmOZtp5Ow2xBZ1nc1m/J8luktOzDTpLEyjK9DsqjyWdnwe4x6x8kSdl555wOPxMHLkyGPXD4TBtmwHeH11dTUji4sH+ezBXDv037HDaaBGA9HhVquAnp/OrjxKqZCINAP5QF10JhG5EbgRYExBGfUdRQDY8ZPtrCM93UdKvov0KdOYu+g0Nn2+EaihydbAzNEL2bx5My0tLQDMmzcPj8fDIXP68OTJk3G5XHTODCwqKqKsrIz169cD4HK5WLBgAZs2bcLn8wEwf/58qqqqOGyGdJgyZQp2u53t2w3bO3LkSCZMmMCGDRsASEtLY/78+bS2trJu3ToAFixYwL59+6g2x86mT59OOBzuioo5evRoSkpKujwUZ2RkMG/ePDZs2NDVmlm4cCEVFRXU1NQAMHPmTPx+P5WVxqSBMWPGMGLECDpdQ2VlZTF37lzWr19PyAzot2jRIrZt20Z9fT0As2fPxuv1snfvXgDGjx9PXl4ePp+PdevWkZuby+zZs3n//fdRSiEiLF68mPLychobjakCc+fOpaGhgf2m9/DS0lIyMzMpLy8HID8/nxkzZvCBGabdkbWMhT/5MXWv3kXeoXew7Xwddr6OP3cKB/PPoaZoMeNnnD6g/5Pf7+8q8/7+nz7++GPaTVdIcf0/mfUpa8QI5i5dykc52bSa09h7/p9mzZiB1+PhwM6d2NraKc7OJsMm7NuxA4JB0u0OivPz2L9zFwQCSDBAcV4+DUePEmr1QSBAZmoawY4OAm2tEI7gFMEWiRBob4dQCFskgi0SIRIIIOEwhEKoUOgEbRADBxDo0Q1vBdKA5kSLGCBW1h6LYRuDEpErgYuUUjeYx98DzlBK/SQqzzYzT5V5vMfMUx/rvtPHj1fvPvk7MosLcI+fgrit06Tds2cPEycOXfdVPImbdq8HPn3C8I3YboZvtzmM4JBTLoYpSyGjqN+302U+NCilDAMVDKLCYYhEUJGI8Woed6WFwxw8cIAxo0d3S1MRBZGwkV+pbmkodaxLTmHOvu08VsfOR+ch+jjqvOLYdb3m4Vha53nz2OPxUFTY//rVS0EN/NpBXl9T46GoKDHaB2VHlCLvqqviO0lCRBYA9yilLjKP7za0qF9H5fmbmWeDiDiAaqCwry6+uAcsHEJ8Pp9lPQ7HXXuwAyrWwhcvwO53oGsBr8Do06H0XGMt1Zj54IqtS5d5YrCqdqvqBmtrT0TAwk+BySIyQUScwNXA6h55VgPXmvtXAO/2ZZwgjgELh4Eh98IeR+KuPSXV8DxxzV/htp2GB4rJF4HdCYc3wYcPGU5p7xsLj59nOPzd9CdjhmCgLXG6hxCtPf5YVTdYW3sshm0MyhxTugX4G8Y086eUUttE5F5gk1JqNfAk8BcR2Q00YBgxjaY7mSNg3veNLdAK+z6AA/8wPNEf+cJY/HskqlUtNsgZC3mlTG53gWub4Qw4ezRkFhtxvr7CQSQ1mq8Kw+pJQin1JvBmj7RfRO13AFeezD2HNWDhMJOVlZVoCQMmabQ7041xqCnmtFS/Dw5/Zqyp6txqd0Ljfmjcz2iAI2u738PmgIwRkDkSMkZCWq7hHzAtx9zPhVTz2JkBKW7juSlp4EgdltlKvZE0ZT4ArKrdqrrB2tpjYTlPEsMSsFDz1SLkh8YD0LD32Na4D1qOgvfosckXA0FshsFKcYPTDSnp4HAaXY92J9hTovZ7S0sxNrEb97LZjH2bedxt32bu9zxvO3a9mFO0u6ZNR02f7pZGL2k9pmOfKK1f9x1wwQ7iWvSzE/HsIURGzvhq+OLrnEJsRdavX8/ChQsTLWNAWEq7w2UEnCw0pqEv/NaPu58P+cFbDT6P8dreaIReaW+E9qbux4E2CLYZXYvBNggHIOAzNusOh2o0lsByBspqLb5oOtceWRGrau9Vt8MFueOM7WQJhwyv7MH2Y0YrFDAMVzhg+Bvsz76KgAqbU6zDxnEkOi3CkcNVjBpZZJ4L93KNMtOip1NHTc0+UVr0Z+m4tJ75+nHfKLxeH5mZ/ZxRNujP9GCmOHc/PPmZcIObXj04ul/va20lIz09Rt6hfvZQ83GvqZYzUBpNQrE7wJ4NqdnD/qiKdesYZVHnwp9Z1DHyJovqBmtr55beuxv1GFQciUQi2Cw6e8yq2q2qG7T2RGBV3WBt7YlYBzUsdLqgsSLbtm1LtIQBY1XtVtUNWnsisKpusLb2WFjOQFl1LATo8qNmRayq3aq6QWtPBFbVDdbWHgvLGSiNRqPRnBpYzkC53e5ESxgws2fPTrSEAWNV7VbVDVp7IrCqbrC29lhYzkCFw0MfujteeL3eREsYMFbVblXdoLUnAqvqBmtrj4XlDJSVo9J2xliyIlbVblXdoLUnAqvqBmtrj4XlDJRGo9FoTg0stw5KRLzArkTrGCAF9IgWbCGsqt2qukFrTwRW1Q3W1j5OKVXYM9GKniR29bagywqIyCatPb5YVTdo7YnAqrrB2tpjobv4NBqNRpOUaAOl0Wg0mqTEigbq8UQLGARae/yxqm7Q2hOBVXWDtbX3iuUmSWg0Go3m1MCKLSiNRqPRnAJoA6XRaDSapMRSBkpElojILhHZLSJ3JVpPLERkjIi8JyI7RGSbiPzUTL9HRA6LyBfmdnGitfaGiOwXkS9NjZvMtDwReUdEKs3X3ETr7ImITIkq2y9EpEVEbk3WcheRp0SkRkS2RqX1Ws5i8Fuz7m8RkblJpvtBEdlpantVRHLM9PEi0h5V9n9IlG5TT2/aY9YPEbnbLPNdInJRYlR3aelN+4tRuveLyBdmelKV+4BRSlliA+zAHqAUcALlwPRE64qhtRiYa+5nAhXAdOAe4PZE6+uH/v1AQY+0B4C7zP27gPsTrbMf9aUaGJes5Q4sAuYCW09UzsDFwFpAgDOBj5NM94WAw9y/P0r3+Oh8id5iaO+1fpif2XLABUwwv3/syaS9x/mHgV8kY7kPdLNSC+oMYLdSaq9SKgCsAJYnWFOvKKWOKqU2m/teYAcwOrGqBs1y4Blz/xngOwnU0h++AexRSh1ItJBYKKU+ABp6JMcq5+XAn5XBRiBHRIrjo7Q7velWSr2tlOoM1rYRKIm7sH4Qo8xjsRxYoZTyK6X2AbsxvocSQl/aRUSA7wIvxFXUMGMlAzUaOBR1XIUFvvRFZDxwGvCxmXSL2Q3yVDJ2k5ko4G0R+UxEbjTTRiiljoJhgIGihKnrH1fT/cNqhXKH2OVspfr/A4zWXicTRORzEXlfRM5JlKgT0Fv9sFKZnwN4lFKVUWlWKPc+sZKBkl7SknqOvIhkAK8AtyqlWoD/BCYCc4CjGE3yZORspdRcYClws4gsSrSgk0FEnMAy4CUzySrl3heWqP8i8nMgBDxnJh0FxiqlTgNuA54XkaxE6YtBrPphiTI3+W90/0FmhXI/IVYyUFXAmKjjEuBIgrScEBFJwTBOzymlVgIopTxKqbBSKgI8QQK7C/pCKXXEfK0BXsXQ6ensUjJfaxKn8IQsBTYrpTxgnXI3iVXOSV//ReRa4NvANcocCDG7x+rN/c8wxnHKEqfyePqoH0lf5gAi4gAuA17sTLNCufcHKxmoT4HJIjLB/IV8NbA6wZp6xewPfhLYoZR6JCo9eszgUmBrz2sTjYiki0hm5z7G4PdWjLK+1sx2LfBaYhT2i26/Jq1Q7lHEKufVwD+Zs/nOBJo7uwKTARFZAvwLsEwp1RaVXigidnO/FJgMJFXgoj7qx2rgahFxicgEDO2fxFtfP/gmsFMpVdWZYIVy7xeJnqVxMhvGTKYKjF8DP0+0nj50LsToCtgCfGFuFwN/Ab4001cDxYnW2ov2UoyZS+XAts5yBvKB/wIqzde8RGuNod8N1APZUWlJWe4YRvQoEMT4tX59rHLG6G76vVn3vwTmJZnu3RjjNZ31/Q9m3svNelQObAYuScIyj1k/gJ+bZb4LWJps2s30p4GbeuRNqnIf6KZdHWk0Go0mKbFSF59Go9FoTiG0gdJoNBpNUqINlEaj0WiSEm2gNBqNRpOUaAOl0Wg0mqREGyiNRqPRJCXaQGk0Q4SI5IjIj6OOR4nIy8Nz5A/8AAAByElEQVTwnM7wEPf2kWeiGWbBN9TP12jihV4HpdEMEaZj4NeVUjOH+Tn3AD6l1EP9yOtTSmUMpx6NZrjQLSiNZui4D+hsuTxoBo3bCiAi14nIKhFZIyL7ROQWEbnN9Da9UUTyzHwTReQt05P8hyIy9UQPFZHFUYHpPu90VaXRWB1HogVoNF8h7gJmKqXmQFeLKpqZGKFXUjFcA/2LUuo0EXkU+CfgN8DjGG5rKkVkPvAYcP4Jnns7cLNS6h+mB/2OIXo/Gk1C0QZKo4kf7ykjgKVXRJqBNWb6l8As07icBbxk+BsGjGiuJ+IfwCMi8hywUkU5DdVorIw2UBpN/PBH7UeijiMYn0Ub0NTZAusvSqn7ROQNDIfEG0Xkm0qpnUMhWKNJJHoMSqMZOrzAgMd/lBHUcp+IXAlG2BYRmX2i60RkolLqS6XU/cAm4ITjVhqNFdAGSqMZIpQRIO4fIrJVRB4c4G2uAa4Xkc5wJ8v7cc2t5jPLgXa6h1vXaCyLnmau0VgMPc1cc6qgW1AajfXwATf2Z6Eu4ImfLI1maNEtKI1Go9EkJboFpdFoNJqkRBsojUaj0SQl2kBpNBqNJinRBkqj0Wg0Scn/BxqI6C1rcqRCAAAAAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.close('all')\n", | |
"plt.figure()\n", | |
" \n", | |
"for i in range(d):\n", | |
" plt.plot(t, Y[i,:] ,\"C\"+str(i),markersize=5,linewidth=2 ,label=\"$\"+lbl[i]+\"$\")\n", | |
"Setting()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"素朴に履歴関数と初期条件を選ぶと$E$が負になってしまい$R$が$N$を超えてしまう. \n", | |
"$E$を正にするには追加の条件が必要になる [1].\n", | |
"\n", | |
"$E$の式\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"\\frac{dE}{dt} &=& \\alpha \\frac{S(t)I(t)}{N(t)}-\\alpha \\frac{S(t-\\tau)I(t-\\tau)}{N(t-\\tau)}\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"の両辺を$0$から$t$まで積分して, \n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"E(t) - E(0) &=& \\int_0^t \\alpha \\frac{S(u)I(u)}{N(u)} du- \\int_0^t \\alpha \\frac{S(t-\\tau)I(t-\\tau)}{N(t-\\tau)} du\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"右辺第二項を変数変換してやると, \n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"\\int_0^t \\alpha \\frac{S(t-\\tau)I(t-\\tau)}{N(t-\\tau)} du &=& \\int_0^{t-\\tau} \\alpha \\frac{S(t)I(t)}{N(t)} du + \\int_{-\\tau}^{0} \\alpha \\frac{S(t)I(t)}{N(t)} du\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"となるので, まとめると, \n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"E(t) &=& \\int_{t-\\tau}^t \\alpha \\frac{S(u)I(u)}{N(u)} du + E(0) -\\int_{-\\tau}^{0} \\alpha \\frac{S(t)I(t)}{N(t)} du \n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"よって\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"E(0) = \\int_{-\\tau}^{0} \\alpha \\frac{S(t)I(t)}{N(t)} du \n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"とすると, \n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"E(t) &=& \\int_{t-\\tau}^t \\alpha \\frac{S(u)I(u)}{N(u)} du\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"となり, $S \\geq 0, I \\geq 0, N \\geq 0$であれば$E \\geq 0$となる. \n", | |
"<!-- \n", | |
"また上記の式は, ある時刻$t$の$E(t)$は, 単位時間あたりの新規感染者(新規潜伏期間者)$\\alpha \\frac{S(u)I(u)}{N(u)}$を$t-\\tau$から$t$まで積分した値になることを意味する. \n", | |
"-->\n", | |
"実際に先程の例で$E(t)$の負の値は, $E(0)=0$で, $I(t) \\approx 0$のときの$E(t)$の値\n", | |
"\\begin{eqnarray}\n", | |
"E(t) &\\approx& -\\int_{-\\tau}^{0} \\alpha \\frac{S(t)I(t)}{N(t)} du \\\\ \n", | |
"&\\approx& -\\tau \\alpha \\frac{S_0I_0}{N_0}\n", | |
"\\end{eqnarray}\n", | |
"とほぼ一致する." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 102, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"-0.039599782040496696\n", | |
"-0.0396\n" | |
] | |
} | |
], | |
"source": [ | |
"print(E[-1])\n", | |
"print(-τ*α*S0*I0/N0)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"簡単のために履歴関数を定数関数\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"S(t) &=& S_0 \\, (-\\tau \\leq t \\leq 0) \\\\\n", | |
"I(t) &=& I_0 \\, (-\\tau \\leq t\\ \\leq 0) \\\\\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"とし, \n", | |
"\\begin{eqnarray}\n", | |
"S(0) &=& 0\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"とすると, \n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"E(0) &=& \\int_{-\\tau}^{0} \\alpha \\frac{S(t)I(t)}{N(t)} du \\\\\n", | |
"&=& \\tau \\alpha \\frac{S_0 I_0}{N_0}\n", | |
"\\end{eqnarray}\n", | |
"\n", | |
"$N_0$と$I_0$を与えて, $S_0,E_0$を求めるとすると\n", | |
"\n", | |
"\\begin{eqnarray}\n", | |
"N_0 &=& S_0 + E_0 + I_0 + R_0 \\\\\n", | |
"&=& S_0 + \\tau \\alpha \\frac{S_0 I_0}{N_0} + I_0\\\\\n", | |
"\\left(\\tau \\alpha \\frac{I_0}{N_0} + 1\\right)S_0&=& N_0 - I_0\\\\\n", | |
"S_0&=& \\frac{N_0 - I_0}{\\tau \\alpha \\frac{I_0}{N_0} + 1}\n", | |
"\\end{eqnarray}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 103, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#-----------------------------------------------\n", | |
"# parameter\n", | |
"#-----------------------------------------------\n", | |
"# 遅延\n", | |
"τ = 10.0\n", | |
"α = 0.4\n", | |
"β = 0.1\n", | |
"\n", | |
"#-----------------------------------------------\n", | |
"# history function\n", | |
"#-----------------------------------------------\n", | |
"N0 = 1.0\n", | |
"I0 = 0.01\n", | |
"R0 = 0.00\n", | |
"\n", | |
"S0 = (N0-I0)/(τ*α*I0/N0+1.0)\n", | |
"E0 = τ*α*S0*I0\n", | |
"\n", | |
"\n", | |
"\n", | |
"def φ(t):\n", | |
" return np.array([S0,E0,I0,R0])\n", | |
"\n", | |
"#-----------------------------------------------\n", | |
"# RHS\n", | |
"#-----------------------------------------------\n", | |
"\n", | |
"def f_dSEIR(t,y,yτ,args):\n", | |
" α,β = args\n", | |
" S,E,I,R = y \n", | |
" Sτ,Eτ,Iτ,Rτ = yτ \n", | |
" N = S + E + I + R \n", | |
" Nτ = Sτ + Eτ + Iτ + Rτ \n", | |
" y_ = np.array([ - α * S * I / N,\n", | |
" + α * S * I / N - α * Sτ * Iτ / Nτ,\n", | |
" + α * Sτ * Iτ/ Nτ - β * I,\n", | |
" + β * I])\n", | |
" return y_\n", | |
"#-----------------------------------------------\n", | |
"\n", | |
"# 時間\n", | |
"tlm = [0.0, 100.0]\n", | |
"\n", | |
"# 遅延の分割数\n", | |
"m = 30\n", | |
"\n", | |
"# 刻み幅\n", | |
"h = τ/m\n", | |
"# 全点数\n", | |
"N = np.int(np.round((tlm[1]-tlm[0])/h))\n", | |
"\n", | |
"args = [α,β]\n", | |
"t,xτ,h = ConstantDelay_Euler_Nd(τ,N,m,f_dSEIR,φ,args)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 104, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"S = xτ[:,0]\n", | |
"E = xτ[:,1]\n", | |
"I = xτ[:,2]\n", | |
"R = xτ[:,3]\n", | |
"\n", | |
"N = S + E + I + R\n", | |
"\n", | |
"Y = np.vstack([N,E,S,I,R])\n", | |
"\n", | |
"d = Y.shape[0]\n", | |
"lbl = [\"N\",\"S\",\"E\",\"I\",\"R\"]\n", | |
"\n", | |
"def Setting():\n", | |
" plt.grid()\n", | |
"# plt.ylim([0.0,1.0])\n", | |
" plt.title(\"τ=%.1f\" % τ)\n", | |
" plt.xlabel('time [s]')\n", | |
" plt.ylabel('x(t)')\n", | |
" plt.tight_layout()\n", | |
" plt.legend(loc=1,fontsize=12)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 105, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.close('all')\n", | |
"plt.figure()\n", | |
" \n", | |
"for i in range(d):\n", | |
" plt.plot(t, Y[i,:] ,\"C\"+str(i),markersize=5,linewidth=2 ,label=\"$\"+lbl[i]+\"$\")\n", | |
"Setting()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 106, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([], dtype=float64)" | |
] | |
}, | |
"execution_count": 106, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"E[E<=0]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# 参考文献\n", | |
"[1] Yan, P., & Liu, S. (2006). SEIR epidemic model with delay. The ANZIAM Journal, 48(1), 119-134. [URL](https://www.cambridge.org/core/services/aop-cambridge-core/content/view/906A072AA2ACB250ADB0D1D9DCC38D8F/S144618110000345Xa.pdf/seir_epidemic_model_with_delay.pdf)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3.7.4 64-bit ('.pyenv': pyenv)", | |
"language": "python", | |
"name": "python37464bitpyenvpyenv00a5c3acc06c43dab5de0b965910a873" | |
}, | |
"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.7.4" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment