{
"nbformat": 4,
"nbformat_minor": 2,
"metadata": {
"language_info": {
"name": "python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"version": "3.7.0-final"
},
"orig_nbformat": 2,
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"npconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": 3,
"kernelspec": {
"name": "python37064bitbasecondaf1f4ce8bd9ee468caf98567667ef0765",
"display_name": "Python 3.7.0 64-bit ('base': conda)"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"对于第12章的学习。\n",
"\n",
"两个案例,一个是19格随机游走;另一个是山间的摇摆车。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 第一个案例\n",
"\n",
"这个案例用于对比书上所提出的三种算法的表现:\n",
"- 最基础的带有离线lambda思想的:`离线lambda-回报`\n",
"- 与时序差分结合的,使用了资格迹的:`半梯度TD(lambda)`\n",
"- 经过一系列讨论,得出的后向视图的、计算量小的算法:`真实在线TD(lambda)`"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"#######################################################################\n",
"# Copyright (C) #\n",
"# 2016-2018 Shangtong Zhang(zhangshangtong.cpp@gmail.com) #\n",
"# 2016 Kenta Shimada(hyperkentakun@gmail.com) #\n",
"# Permission given to modify the code as long as you keep this #\n",
"# declaration at the top #\n",
"#######################################################################\n",
"\n",
"import numpy as np\n",
"import matplotlib\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"from tqdm import tqdm\n",
"\n",
"# all states\n",
"N_STATES = 19\n",
"\n",
"# all states but terminal states\n",
"STATES = np.arange(1, N_STATES + 1)\n",
"\n",
"# start from the middle state\n",
"START_STATE = 10\n",
"\n",
"# two terminal states\n",
"# an action leading to the left terminal state has reward -1\n",
"# an action leading to the right terminal state has reward 1\n",
"END_STATES = [0, N_STATES + 1]\n",
"\n",
"# true state values from Bellman equation\n",
"TRUE_VALUE = np.arange(-20, 22, 2) / 20.0\n",
"TRUE_VALUE[0] = TRUE_VALUE[N_STATES + 1] = 0.0\n",
"\n",
"# base class for lambda-based algorithms in this chapter\n",
"# In this example, we use the simplest linear feature function, state aggregation.\n",
"# And we use exact 19 groups, so the weights for each group is exact the value for that state\n",
"class ValueFunction:\n",
" # @rate: lambda, as it's a keyword in python, so I call it rate\n",
" # @stepSize: alpha, step size for update\n",
" def __init__(self, rate, step_size):\n",
" self.rate = rate\n",
" self.step_size = step_size\n",
" \"\"\"\n",
" 这里的 w 与 x 的关系还是一一对应且线性的\n",
" 与表格型同\n",
" \"\"\"\n",
" self.weights = np.zeros(N_STATES + 2)\n",
"\n",
" # the state value is just the weight\n",
" def value(self, state):\n",
" return self.weights[state]\n",
"\n",
" # feed the algorithm with new observation\n",
" # derived class should override this function\n",
" def learn(self, state, reward):\n",
" return\n",
"\n",
" # initialize some variables at the beginning of each episode\n",
" # must be called at the very beginning of each episode\n",
" # derived class should override this function\n",
" def new_episode(self):\n",
" return\n",
"\n",
"# Off-line lambda-return algorithm\n",
"class OffLineLambdaReturn(ValueFunction):\n",
" def __init__(self, rate, step_size):\n",
" ValueFunction.__init__(self, rate, step_size)\n",
" # To accelerate learning, set a truncate value for power of lambda\n",
" self.rate_truncate = 1e-3\n",
"\n",
" def new_episode(self):\n",
" # initialize the trajectory\n",
" self.trajectory = [START_STATE]\n",
" # only need to track the last reward in one episode, as all others are 0\n",
" self.reward = 0.0\n",
"\n",
" def learn(self, state, reward):\n",
" # add the new state to the trajectory\n",
" self.trajectory.append(state)\n",
" if state in END_STATES:\n",
" # start off-line learning once the episode ends\n",
" self.reward = reward\n",
" self.T = len(self.trajectory) - 1\n",
" self.off_line_learn()\n",
"\n",
" # get the n-step return from the given time\n",
" def n_step_return_from_time(self, n, time):\n",
" # gamma is always 1 and rewards are zero except for the last reward\n",
" # the formula can be simplified\n",
" \"\"\"\n",
" 原公式 12.1\n",
" 注意这里 G_{t:t+n}与公式中不同,考虑到任务的特殊性\n",
" (简化了前面 R 累加的过程,因为只有 end_state 的 R 才不等于 0)\n",
" \"\"\"\n",
" end_time = min(time + n, self.T)\n",
" returns = self.value(self.trajectory[end_time])\n",
" if end_time == self.T:\n",
" returns += self.reward\n",
" return returns\n",
"\n",
" # get the lambda-return from the given time\n",
" def lambda_return_from_time(self, time):\n",
" returns = 0.0\n",
" lambda_power = 1\n",
" for n in range(1, self.T - time):\n",
" returns += lambda_power * self.n_step_return_from_time(n, time)\n",
" lambda_power *= self.rate\n",
" if lambda_power < self.rate_truncate:\n",
" \"\"\"\n",
" 虽然算法中是加到 T - t - 1 项;\n",
" 但是实际实现中,为了效率,省去过于小的项\n",
" \"\"\"\n",
" # If the power of lambda has been too small, discard all the following sequences\n",
" break\n",
" returns *= 1 - self.rate\n",
" if lambda_power >= self.rate_truncate:\n",
" returns += lambda_power * self.reward\n",
" return returns\n",
"\n",
" # perform off-line learning at the end of an episode\n",
" def off_line_learn(self):\n",
" for time in range(self.T):\n",
" \"\"\"\n",
" 每个 time 都对应图 12.1 ,只不过方块不同\n",
" 起点情况是方块为 T-0-1;\n",
" 重点情况是方块为 T-(T-1)-1=0\n",
" 换个角度理解:\n",
" 如此,便为每个经历过的状态都来了至少一次的 lambda 回报\n",
" \"\"\"\n",
" # update for each state in the trajectory\n",
" state = self.trajectory[time]\n",
" delta = self.lambda_return_from_time(time) - self.value(state)\n",
" delta *= self.step_size\n",
" self.weights[state] += delta\n",
"\n",
"# TD(lambda) algorithm\n",
"class TemporalDifferenceLambda(ValueFunction):\n",
" def __init__(self, rate, step_size):\n",
" ValueFunction.__init__(self, rate, step_size)\n",
" self.new_episode()\n",
"\n",
" def new_episode(self):\n",
" # initialize the eligibility trace\n",
" self.eligibility = np.zeros(N_STATES + 2)\n",
" # initialize the beginning state\n",
" self.last_state = START_STATE\n",
"\n",
" def learn(self, state, reward):\n",
" # update the eligibility trace and weights\n",
" self.eligibility *= self.rate\n",
" self.eligibility[self.last_state] += 1\n",
" delta = reward + self.value(state) - self.value(self.last_state)\n",
" delta *= self.step_size\n",
" self.weights += delta * self.eligibility\n",
" self.last_state = state\n",
"\n",
"# True online TD(lambda) algorithm\n",
"class TrueOnlineTemporalDifferenceLambda(ValueFunction):\n",
" def __init__(self, rate, step_size):\n",
" ValueFunction.__init__(self, rate, step_size)\n",
"\n",
" def new_episode(self):\n",
" # initialize the eligibility trace\n",
" self.eligibility = np.zeros(N_STATES + 2)\n",
" # initialize the beginning state\n",
" self.last_state = START_STATE\n",
" # initialize the old state value\n",
" self.old_state_value = 0.0\n",
"\n",
" def learn(self, state, reward):\n",
" # update the eligibility trace and weights\n",
" last_state_value = self.value(self.last_state)\n",
" state_value = self.value(state)\n",
" dutch = 1 - self.step_size * self.rate * self.eligibility[self.last_state]\n",
" \"\"\"\n",
" *如下是我们在看书本是可能忽略的\n",
" 这个类是对真实在线 TD(lambda) 的复现\n",
" 我阅读时忽略了每次迭代更新的是向量,而非单个迹元素\n",
" 因此一开始没有理解为什么是整个 self.eligibility *= self.rate\n",
" \"\"\"\n",
" self.eligibility *= self.rate\n",
" self.eligibility[self.last_state] += dutch\n",
" delta = reward + state_value - last_state_value\n",
" self.weights += self.step_size * (delta + last_state_value - self.old_state_value) * self.eligibility\n",
" self.weights[self.last_state] -= self.step_size * (last_state_value - self.old_state_value)\n",
" self.old_state_value = state_value\n",
" self.last_state = state\n",
"\n",
"# 19-state random walk\n",
"def random_walk(value_function):\n",
" value_function.new_episode()\n",
" state = START_STATE\n",
" while state not in END_STATES:\n",
" next_state = state + np.random.choice([-1, 1])\n",
" if next_state == 0:\n",
" reward = -1\n",
" elif next_state == N_STATES + 1:\n",
" reward = 1\n",
" else:\n",
" reward = 0\n",
" value_function.learn(next_state, reward)\n",
" state = next_state\n",
"\n",
"# general plot framework\n",
"# @valueFunctionGenerator: generate an instance of value function\n",
"# @runs: specify the number of independent runs\n",
"# @lambdas: a series of different lambda values\n",
"# @alphas: sequences of step size for each lambda\n",
"def parameter_sweep(value_function_generator, runs, lambdas, alphas):\n",
" # play for 10 episodes for each run\n",
" episodes = 10\n",
" # track the rms errors\n",
" errors = [np.zeros(len(alphas_)) for alphas_ in alphas]\n",
" for run in tqdm(range(runs)):\n",
" for lambdaIndex, rate in enumerate(lambdas):\n",
" for alphaIndex, alpha in enumerate(alphas[lambdaIndex]):\n",
" valueFunction = value_function_generator(rate, alpha)\n",
" for episode in range(episodes):\n",
" random_walk(valueFunction)\n",
" stateValues = [valueFunction.value(state) for state in STATES]\n",
" errors[lambdaIndex][alphaIndex] += np.sqrt(np.mean(np.power(stateValues - TRUE_VALUE[1: -1], 2)))\n",
"\n",
" # average over runs and episodes\n",
" for error in errors:\n",
" error /= episodes * runs\n",
"\n",
" for i in range(len(lambdas)):\n",
" plt.plot(alphas[i], errors[i], label='lambda = ' + str(lambdas[i]))\n",
" plt.xlabel('alpha')\n",
" plt.ylabel('RMS error')\n",
" plt.legend()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Figure 12.3: Off-line lambda-return algorithm\n",
"def figure_12_3():\n",
" lambdas = [0.0, 0.4, 0.8, 0.9, 0.95, 0.975, 0.99, 1]\n",
" alphas = [np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 0.55, 0.05),\n",
" np.arange(0, 0.22, 0.02),\n",
" np.arange(0, 0.11, 0.01)]\n",
" parameter_sweep(OffLineLambdaReturn, 50, lambdas, alphas)\n",
"\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "100%|██████████| 50/50 [03:50<00:00, 4.57s/it]\n"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEKCAYAAADjDHn2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsnXd4VFX6xz9nSjKZZNILhIQESCiBUEMThARQVARxpahZFBs2bLvuqqsiPxt2XbuyrrJKU7ooKkICKDWB0BICoaaT3ifTzu+PCZGQQEKSIUHu53nmgblzzrnvlNzvPeX9HiGlREFBQUFB4UKo2joABQUFBYX2jyIWCgoKCgqNooiFgoKCgkKjKGKhoKCgoNAoilgoKCgoKDSKIhYKCgoKCo2iiIWCgoKCQqMoYqGgoKCg0CiKWCgoKCgoNIqmrQNoLXx9fWVoaGhbh6GgoKBwWZGYmJgvpfRrrNyfRixCQ0NJSEho6zAUFBQULiuEECebUk4ZhlJQUFBQaBRFLBQUFBQUGkURCwUFBQWFRvnTzFkoKCi0PmazmYyMDIxGY1uHotBCdDodQUFBaLXaZtVXxEJBQeG8ZGRkYDAYCA0NRQjR1uEoNBMpJQUFBWRkZNClS5dmtaEMQykoKJwXo9GIj4+PIhSXOUIIfHx8WtRDVMRCQUHhgihC8eegpd+jIhaXmBMnTnDo0KG2DkNBQUHholDE4hIhpWT79u0sWLCAJUuW8MMPP2CxWNo6LAWFdo+bm1urtDN37lzeeuutRsvNnDmTZcuWtco5G+Knn36iR48ehIWF8dprrzVYprq6munTpxMWFsbQoUM5ceKEw+JpKg4VCyHEdUKIVCFEmhDi6QZenymEyBNCJNU87j3rNetZx9c4Mk5HY7VaWbt2be2PZNiwYezatYsFCxZQVlbW1uEpKChcIqxWKw8//DDr1q0jOTmZxYsXk5ycXK/cF198gZeXF2lpaTzxxBM89dRTbRBtXRwmFkIINfARcD0QAdwmhIhooOhSKWX/msd/zjpeddbxSY6K81Kwbt06EhMTufrqq5k2bRrXXXcdU6ZMIScnhy+++ELpYSgoNIHy8nLGjh3LwIEDiYyMZPXq1YB9aLdnz57ce++99OnTh9jYWH799VdGjBhBeHg4O3furG1j7969jBkzhvDwcObPnw/Ye/2zZ88mIiKCCRMmcPr06dryL774IoMHD6ZPnz7MmjULKWWL3sPOnTsJCwuja9euODk5ceutt9a+j7NZvXo1d955JwBTpkxhw4YNLT53S3Hk0tkhQJqU8hiAEGIJcBNQX0b/5Jw8eZLu3bszduzY2mN9+vTBz8+P/Px8NBplBbNC++f/vj9IclZpq7YZEejOCxN7N6msTqdj5cqVuLu7k5+fz7Bhw5g0yX4fmZaWxnfffcfnn3/O4MGDWbRoEb/99htr1qzh1VdfZdWqVQDs27eP7du3U1FRwYABA5gwYQLbt28nNTWV/fv3k5ubS0REBHfffTcAs2fPZs6cOQDMmDGDtWvXMnHixDpxLVy4kDfffLNevGFhYfWGszIzMwkODq59HhQUxI4dO+rVPbucRqPBw8ODgoICfH19m/RZOQJHXqU6AelnPc8AhjZQ7hYhxCjgMPCElPJMHZ0QIgGwAK9JKVedW1EIMQuYBdC5c+dmB2oxm9E0M1GlMaSUFBcXExYWVu+1gIAAAgICHHJeBYU/G1JK/vWvf7F582ZUKhWZmZnk5uYC0KVLFyIjIwHo3bs3Y8eORQhBZGRknfH+m266CRcXF1xcXIiJiWHnzp1s3ryZ2267DbVaTWBgIGPGjKktHxcXxxtvvEFlZSWFhYX07t27nljExsYSGxvb5PdwLg2tUmpquUuJI8WioXd27ifwPbBYSlkthHgAWACc+aY6SymzhBBdgY1CiP1SyqN1GpPyc+BzgKioqGb10bZ8u5TEfSfwrrZyx5v/ak4TF6SiogKz2Yynp2ert62gcClpag/AUSxcuJC8vDwSExPRarWEhobW5g04OzvXllOpVLXPVSpVnWHecy+4Z543dCE2Go089NBDJCQkEBwczNy5cxvMU7iYnkVQUBDp6X/cQ2dkZBAYGFiv7plyQUFBWCwWSkpK8Pb2rv+hXEIcOcGdAQSf9TwIyDq7gJSyQEpZXfN0PjDorNeyav49BsQDAxwRZPDAwRRrqrDYVKzYur/V2y8uLgZQxEJBoYWUlJTg7++PVqslLi6Okyeb5Kxdh9WrV2M0GikoKCA+Pp7BgwczatQolixZgtVqJTs7m7i4OIBaYfD19aW8vPy8K6RiY2NJSkqq92io/ODBgzly5AjHjx/HZDKxZMmS2qG0s5k0aRILFiwAYNmyZYwZM+ZP3bPYBYQLIboAmcCtwO1nFxBCdJRSZtc8nQSk1Bz3Aiprehy+wAjgDUcEGRrWFY1UIdUabOue4lPzBzwwulurtV9UVASAl5dXq7WpoHAlEhsby8SJE4mKiqJ///707NnzotsYMmQIEyZM4NSpUzz//PMEBgZy8803s3HjRiIjI+nevTujR48G7Dd49913H5GRkYSGhjJ48OAWvweNRsOHH37I+PHjsVqt3H333fTube+xzZkzh6ioKCZNmsQ999zDjBkzCAsLw9vbmyVLlrT43C1FOHKGXQhxA/AeoAb+K6V8RQjxIpAgpVwjhJiHXSQsQCHwoJTykBDiKuAzwIa99/OelPKLC50rKipKNnfzozfmvIqn2Yko/Rt8VvUgoSNv5enre7aKkm/ZsoUNGzbwzDPP1OkqKyhcDqSkpNCrV6+2DkOhlWjo+xRCJEopoxqr69BlOFLKH4Efzzk256z/PwM800C9rUCkI2M7G2epxqKSJBoH8bb+K0Zv7kFRpYlXb45Eo27ZSF1xcTF6vV4RCgUFhcsaJYMb0GmcMKskZUWhuMpKlgYu5duEdB5etBuj2dqitouKipT5CgUFhcseRSwAvV6PSVjRlbhycuQjhBXG879Bx/n5YC53fbmLMqO52W0XFxcr8xUKCgqXPYpYAG4GA0ZhRos7m3yDIHgYo9Le5NNJHdh5opDb5++goLy68YbOwWazUVxcrPQsFBQULnsUsQA8vL2xChtC58LupI0w+WOwmbnu6MvMnzGQw7llTP10G5nFVRfVbllZGTabTRELBQWFyx5FLACDpwEAjdqEOqmIYlcfuPYlOLqRMeVr+ebeoeSVVzPlk62knW668d+ZHAtlGEpBQeFyRxELwNXLHQC12kbngmC2ZG6BqHugawz88jyD3YtZOms4Zqtk6qfb2Jte3KR2z+RYKD0LBYXmcyValJ9h2bJlCCG4UFqAlBKr1dbaYdZDEQvAzccDAJUGPKtDiUuPAyHgpg9BpYWVDxLRwZXlDw7HTafhtvnb+T0tv9F2z/QsPDw8HBq/goLC5UFTLcrBPoz9/vvvM3RoQ5Z6dszVVopyKinNq3K4K60iFoCbp/3ORWicsGp82XXiN0xWE3gEwfWvQ/p22PYRIT6uLH/gKjp767nry12s2599wXaLi4sxGAxoHWRSqKBwJXElWZQDPP/88/zzn/9Ep9PVe81mk5QVGinKqcBmteHi7tSiuJqC4o0NuLq6AiA1GiqdNASdtLErZxcjOo2AfrfCobWw8SUIvwZ//14snTWcuxfs4uFFu3nl5khuG9Kw462SY6Hwp2Ld05DTyv5pHSLh+gsPxZzhSrIo37NnD+np6dx44411hs6klFRXWigvMmKzSlwMTrh6OqNSOd43ShELwMnJCTUqbGoNNlsJkTkhxKXH2cVCCLjxPfh4KKy8H+7dgIdey9f3DOGhhbt5ZsV+iivNPDC6az17kOLi4hZZpysoKPzBlWJRbrPZeOKJJ/jqq6/qHLeabZQVGTFVWdA4qfHw06F1VjfpvK2BIhbYvywXjQ6rWiCthYRWdOe/6fE8O/RZ+xfp5mcXjG9nwOa3IOYZ9E4a5t8RxZPf7eX1nw5RVGnimbP8pKxWK6WlpcpKKIU/D03sATiKK8WivKysjAMHDhAdHQ1ATk4OEydO4n/zF9O/70DcvJxxMThdchdaZc6iBr2TDosK1LIAdXUAuRU5HCo89EeBiEnQdzpsfhMydwOgVat4d1p/7hwewuebj/H0Vxs4VfNDKCkpQUqpDEMpKLQSV4pFuYeHB/n5+Zw4cYIjqWlEDRzMgs8XMXjIYLwDXdG7O7eJXbkiFjXodXqMwoxGVFLmEkSHYkF8enzdQte/Dm4BsPIBMNt/SCqVYO6k3jw+LhzT8QT+8+X/yC8sVvaxUKilqryMypKmLbdWOD+xsbEkJCQQFRXFwoULW2RRPmzYsDoW5eHh4URGRvLggw82aFE+efLkVrco79WrF9OmTatjUb5mzRqgZgK7wEhRTiVSgpuXDk9/PWpN212yHWpRfilpiUU5wHf/WcTJ9FN4HjuMUR9LRYdPSIxS8e3Eb+sWTPsVvrkFhs+G8a/UHpZS8uJLryBtFsqdfbl5zBDWr/uRxx57TBmKukIxG43sXreGXWuWEz70KsY/8Fhbh3TRKBbllxZHT2C3W4vyywm9wQ0jJpxVOoyynF4FXfmmcB05FTl0cO3wR8GwcTDoLtj2EfScACFXAVBdXY20WdC5e0FpPt//HIeLELi7u7fRO1JoK6wWC/s3/sL25YupKC6iW9RQBt1wU1uHpdDOsZptlBUaMRnbZgK7MRSxqMHNww2LsOGkccVmKURTYU+k25S+iek9p9ctfO3LcCwOVj0ID/wOzm6UldltQG4YF0Pc1l0U5aRTJZzJLq0myEt/qd+OQhsgbTZSt23h96XfUJybTaeeEUx84hk69Yxo69AU2jFSSipLTVSWmAD7kJOLQdvm26ieizJnUYObV40/lNYNnTqfErMHYU5BxGXE1S/s7AaTP4Gik7D+eQBKS0sBcHd3567bp6J1cqZE6pjyyTaO5DbdT0rh8kNKyfGkRL5+5nF+eP9NtM7O3Pz0C0yf+7oiFAoXxFxtoSi7goriapx06poJ7Eu/0qkpKD2LGlw9asTC2RUnWUaZrQc3Vvfio+x4KswVuGpd61YIuQqGPwzbPoSeEygr9wXAYDDg7u7OrPvu5URhFQ8tO8zUz7bx1V1D6B+sTHb/2cg6fIgti78iI/kAHv4B3DD77/QcMRqhUu7DFM6PzWqjothEVbkJlVqFh58Lzvr27fSg/KJrOJPFrXExIJyMmLVu9MnywWwz83vm7w1XGvM8+PaA1bMpK7JbBBgMdtHx8/NjcI/OLH/gKtx1Wm6fv53fjjTuJ6VweVCQcYrVb73M4uefpDAzgzF3P8Bd735Kr6tjFKFQOC9SSowVZgqzK6gqN+FicMI70LXdCwUoYlHLGbEQWmfM1Xa3WNtJiYezR/0ltGfQ6uDmT6H8NGUHfsHZ2Rknp7oeLZ199Cx7YLjdT+qrnfzYiJ+UQvumNP80P338HguenM2pA/sYMe2v3PP+fAaMvxG1pv3/wf/ZkVJis9ocbqrXHKxmGyWnqyjNr0KlVuHVwRWDt+6SWHW0BopY1KDX2yehrUJQXngaIc0U5FkZFXg1mzM3Y7FZGq7YaSCM+gdlBdkYnBv+0v3ddSy9fzj9gjx5eNFuFu045ai3oeAgKktLiP/ffP772CwObd3EwAk3cc/78xl2y6046VzaOrw/NU21KDdXWynKriA/o5z8jHKKciooKzBSWWbCZLTwwpwX2sSiXEpJRUk1hdkVmKutbE3cxPDogfTq3eO8FuWnTp0iJiaGAQMG0LdvX3788cdWi6e5KHMWNTg7O6MWKkzSitViwV1fQolTB8apXPm+ei1Jp5OI6nCepcijnqRs6z9xLz8G5Xl2e5Bz8HDR8vU9Q3loYSL/WrmfokoTD0V3a5cTWQp/UF5USOIPq9i7fh2W6mp6R49l+JTbcfet/x0rtA1SSipLTFSUVKNSC1w9nbFabFjNNoyVZmS5vZdRWWpCZaumKKcCjVaNxkmFWqtCo1WhUjvmvtlktFBWaMRqtuHsosHFQ8vf//E469evJygoiMGDBzNp0iQiIuouhHj55ZeZNm0aDz74IMnJydxwww11PK7aAqVnUYMQAhetjmppRiO0GPyslBk6E5GtRavSnn8oCkCtpcy5IwZZCmsfh/N0gV2c1Hx+RxST+wfy5s+pvPJDCjZb++suK0Bxbg7r53/Ifx65h8S1q+g6cDB3vvUR4x94TBGKNqIhi3KLycreXSn0HxTJk88+SvR1w5n10N3s3PM7N95yLVeNGcjRzGQ8/PU4uahJOXyQSVNuoF9Ubz7+6FOKcyvJSy/jnpmz6Nm9F+OvvZ7srBwsJis2q63ZFuU2q42ygiqKcyuRNvDwc8HDX0/i7oQmWZQLIWpXWJaUlNTzj2oLlJ7FWeh1eqqqzOjUbjh727CecqZ4zwmGxAwhLj2Ov0f9vcGegM1mo6zSiCGkPxyaB3uXQP/bGjyHVq3inWn98dQ78Z/fjlNQYWLeXyLRadtP8s2VTN7J4+xcvYzUrVtQqVX0Hj2OqEl/watD2/+xtjWv73y9rl9aK9DTuydPDXmqSWXPtijPy8tj2NBhDOsfjdVi4/jJY6xYtZzevXvXsyh//Y3XWLVqFVpnDSmpB9m+fTvl5eUMHDiQv0ydzPat2zh24ihbNu4gJzuHkWOHMO3m28nPKOe2m+/k0fufRK1Vcf9D97Bq5WpumnxTnXmGc40EpU1itUq6hHRh0TdL62RgN9WifO7cuVx77bV88MEHVFRU8Ouvvzb3I241FLE4C1dXPeXFxXi6eCFtxUBHTh8tJvqOaF7Z8QrHS4/T1aNrvXqVlZXYbDYMPUeDLR7WPQVdrrZvntQAKpXghYkR+Lo58dYvhzmcW8YnsYPo7KMk77UVmYeS2bn6O47t3oVW58KgGyczaMJk3Ly82zo0hRrOWJRv2rQZJGRlZVFSVoBngL7ZFuV79+9mR+I2ZtwRi1+QO76dDIwZE4Pe3W6z8fPGrbz3wTtUVVZSVFxE15BwRgwag0ptH75Sa1X85aapTJsyHSEE5UXVtRnYBu/6GdhNsSgHWLx4MTNnzuTvf/8727ZtY8aMGRw4cABVG660c6hYCCGuA/4NqIH/SClfO+f1mcCbQGbNoQ+llP+pee1O4Lma4y9LKRc4MlYAVzdX8jmNj3cQlSV5aFXdKax0ZrTXYF4B4tPjGxSLM9nbBncPmPwxfDICVs+GGSvt+2E0gBCC2WPCiQh05/ElSdz4wRb+fesAYnr6t9r7MWWUUfjtYTTeOpyC3NB2csMpyIDa4PhdtS4HpJSc2LubHSu/JfPQQXQGd0ZM+yv9x9+IrpX2ff4z0dQegKP45ptvyMnK5edV8WidtESNjETrKhBCtJpFuRACoRJonTWonSVPPv04CQkJBAUF8cKcudhsVvuciNmGxWzDVG5m2cqlfPzZ+zUNgkotUKlEsy3KAb744gt++uknAIYPH47RaCQ/Px9//9a7PlwsDpMpIYQa+Ai4HogAbhNCNJTOulRK2b/mcUYovIEXgKHAEOAFIYTD3fhc3Q0YhRlP9wCKc7Pw8ddQ6h6C+9Fcenn3Ou+8Ra1YGAzg3RWufcluB5LwRaPnHNMzgLWPXE2Ql567vtrFO+sPY22FeQxpkxStSsNWbsJSaKR0wykKFiST/coOsl7dQf6Cg5jSr8zMcpvNSuq2LXzz9OOsmPcCpXmniZk5i1kf/pdht9yqCEU7xGq2kZOZh4e7N3o3HXtTd3Lq1MmLXiDSXIvyiooKVqxcjkarxtXDGXdfF7w7uuIX7Mash+4iMSGRndsT2Ls3iX379rbIohygc+fObNiwAbCb/xmNRvz82nauzJE9iyFAmpTyGIAQYglwE9Dw7uR1GQ+sl1IW1tRdD1wHLHZQrAC4erhhFlZcdJ6UnM6l+1Bf9mWZKUtMIvrqaD7d+ymFxkK8dXWHJuqIBUDUPZCyFn55HrrGgE+3C563s4+eFQ9dxfOrDvD+hiMkpRfz7+n98XJtfg+gMjEXc0Y53tN7oB/gj63aijmrHFNmOeaMMkyZ5e1yLbojsZjNJG/eSML3yynKzsI7MIjxDz5Or5GjlRyJdsqZ32hhdgU33ziNO2fdyrgJo+jfv3+LLMpPnTpVx6J848aNREZG0r179wYtykNDQxu0KBdC2FdWNXHO8WyLcqvVyt13313HojwqKopJkybx9ttvc9999/Huu+8ihOCrr75q85WTDrMoF0JMAa6TUt5b83wGMFRKOfusMjOBeUAecBh4QkqZLoR4EtBJKV+uKfc8UCWlfOucc8wCZgF07tx5UHM2QzmbxMREvv/+e27xGMYv2z9k3Kx5/PZdHiOtv6B97Q6mr53OSyNeYnLY5Dr14uPjiY+P57nnnkOjqdHfkkz4eDj494K7fgRV4z8mKSVLdqXzwuqD+Bmc+eSvA+kbdPEWIbZKMzlvJ6Lxc8Hv/r5t/iNrD2SkHOCH99+kvLCAgK7hDJ08lbDBw5Rs60ZoS4tyq8VGWYHdhVWr0+Duo2vT/Rz+DLTEotyRn3xDV6hzlel7IFRK2Rf4FTgzL9GUukgpP5dSRkkpo1qji3Ymi9tqsz/XaO09hrzMKnp69sBf79/gUFRZWRmurq5/CAWARye44Q1I3273j2oCQghuG9KZZQ8OB2DKJ9tYvPPURfcASn89ha3SjOckJY8D7EKxYt5ctDoXbnn2JWJffYfwoVcpQtFOkVJiLDfXJrG5eevw9HdRhKKNceSnnwEEn/U8CMg6u4CUskBKWV3zdD4wqKl1HcGZLO5qkxUAY3keOicbJU4BmE+cICY4hq1ZW6m2VtepV1pa+scQ1Nn0nQ49b4SNL0NuU0bfaqoFebL2kZEM6+bDMyv2889l+zCarU2qa86poHx7Fq5DO+IUqIy9Zxw6yIp5czH4+DL9hXmE9h2gCGg7xmq1UZpXRWlBFRqtCq+OevRtsN+0Qn0cKRa7gHAhRBchhBNwK7Dm7AJCiI5nPZ0EpNT8/2fgWiGEV83E9rU1xxzKmZ5FSXUZaoMHGadO4hPkQqkhhKo9e4gOjqbKUsWi7xdx+PDh2nplZWUNi4UQcON74OwOK+8Hq7nJsXi5OvHlzME8Ojac7xIz+MvHWzlVUHnBOlJKilYfRaXT4HFtSJPP9Wcl81ByrVBMe2Eerp7KjoXtGWOFmcKsCqqNVtw8nfEM0Dd5LkDB8ThMLKSUFmA29ot8CvCtlPKgEOJFIcSZ6f9HhRAHhRB7gUeBmTV1C4GXsAvOLuDFM5PdjuSMWGzlEMVB4ezJKaTI9RSV+gBKdu9nSIchdDJ34mTSSTZv3lxb77xiAXbrjxvfhZx9sPnNhsucB7VK8LdruvPlzMFkFldx4wdb2JCSe97yVfvyMR0vwX18KKrLwMXSkWQeSmb5vBdw8/Zh6pxXFaFox9isNkry7AZ7ao0K7w569B7OSm+ineHQQUAp5Y9Syu5Sym5Syldqjs2RUq6p+f8zUsreUsp+UsoYKeWhs+r+V0oZVvP40pFxnkGn0zFx4DiGm7sTptPjUl3JqfzDWDRGclNP46R2IqrcPg+UkZFBeXk5VquVioqK84sFQMQk+5DU5rcgc/dFxxXT05+1j4wk2FvPPQsSePuX1HrLa20mKyU/HkPbyQ3XwR3O09KVQWZqil0ovLyZNudVJbGuHVNdaZ+bqK404+rpjFcHPRonpTfRHlFmjM6hd48IeluD6enfBfWpNDQaDRWGExSWajiekoKmWMMJtxMApKamUl5eDnBhsQC4/nVwC4CVD4C56qLjCvbWs/zBq5gWFcQHG9OY+eVOCitMta+XxaVjLTHZJ7UvE8tjR5B1OIUV8+YoQtHOsdkkpflVlORVoVKp8OroiqvSm2jXKGJxDqqa7GZ3V1+ExcTAvpGYdPnkBAQRv349LnoX9vnuQ6VXkZqaWj/H4ny4eMFNH0B+qn3CuxnotGremNKP1/4SyY7jhUz84Df2phdjzq2gbHMG+gH+OIe4N6vtPwNZhw+x/NU5uHp62YXC26etQ1JoAFOVhcKsCowVZvTuTnh10KO9QG+iqRbljTF37tw2sSg/l59++okePXoQFhZ2XovykydPMnbsWPr27Ut0dDQZGRkOi6epKGJxDmp3u1i4OnkA0MXfB63KmfQQCycLC7l65NVEBkRy2vU0x44do6CgALDvvd0oYeMg6m7Y9hGcOM/ue03g1iH2HfgA5nyyg4yPkuyT2td3aXablzvZR1JZ/uoc9B6eTFWEol1is0nKCowUn65ECPDqoMfNS3dF9YStVisPP/ww69atIzk5mcWLF5OcXH+l5JNPPskdd9zBvn37mDNnDs8880wbRFsXRSzOQaXXgkrgrLZPdpfnnSaiyyCsWjM6q42oqChigmNIVidjsVhISkoCmtCzOMM1L4FXCKx6EKqbb7cRGeTBqvG9eVfqyTVZ+E+IM2aXK3OsN/tIKsteeR69uwfT5szD4O3b1iEpnIPJaKHo7K1EO7qidb44A4mGLMoBTpw4Qc+ePbn33nvp06cPsbGx/Prrr4wYMYLw8HB27txZ28bevXsZM2YM4eHhzJ8/H7CvIpw9ezYRERFMmDCB06dP15ZvrkX5+di5c2eTLMqTk5MZO3YsADExMQ2WudQorrPnIFQCtUGLygg6VzeKc7IYfPWtpBw8RLeTh9BqNEQHR/OO7h1UWhXHjx9HCFGbo9Eozm4w+RP48ga7HcjE95oVZ/mObKpXpeEa6Mburi58+dtRtn1czqd/HUiIj2uz2rwcyU47SyhemIfBRxEKR5Hz6qtUp1ycRbnEnolts0qEALVGRZVKcGZpo3OvnnT417+a1NbZFuX5+fkMGzas1lcpLS2N7777js8//7yeRfmrr77KqlWrANi3bx/bt2+noqKCAQMGMGHCBLZv305qair79+8nNzeXiIgI7r77bgBmz57NnDlzAJgxYwZr165l4sSJdeI616L8DA0ZCTbVorxfv34sX76cxx57jJUrV1JWVkZBQQE+Pm3XY1bEogFU7s5Yy0x4dgykKDsL/xAPPIt7oy86SXVaGqHduxPqGUp5eTn6fD0Gg+HirINDroKrZsPWD+xJe+HjmlxVSknp+pOUbUxH18N4+XYlAAAgAElEQVQL79t78ZCzml5h3jXutb/x3vT+jO0V0Ix3fnmRk3aY5a/MwcXdnalzXlWEop1hkxKr2YaUdidWtUbVoDVDUzljUb5582ZUKhWZmZnk5tqXkjfXonznzp1s3ryZ2267DbVaTWBgIGPGjKktHxcXxxtvvEFlZSWFhYX07t27nljExsYSGxvb5PdwLg1N6r/11lvMnj2br776ilGjRtGpU6e6DhFtgCIWDaA2OGEpqMKrQyAZhw7ipNPg6edEWUEoVXuS0HXvTnRwNBuyNzCYwU0fgjqbmOfgyHr7cNR9G8EzuNEq0mqjaEUalYm56KMC8Lo5HKG2/9BietiX1z64MJF7FiQwOyaMJ67pjvpPOh6ck3aYZa88j87NjWlzXlV2r7sENLUHYLXaqCo12bcxVatw99Hh5NLyS83ChQvJy8sjMTERrVZLaGhorTNsa1mUn43RaOShhx4iISGB4OBg5s6dW3u+c+Nqas+iqRblgYGBrFixArAPvy1fvhwPD4965S4lypxFA6gNWmxlJrw6dqKsIB+LyURAmA+lHqFU7rHPUcQEx5Cly0KoRPPEQquDqQvAYoTFt0F1eaNVyuIzqEzMxTC2M163/CEUZwj21rPsgauYHhXMh3H1l9f+Wcg5euQPoXhhHu6+befxr2BHSonJaKEkr4qCjHIqS03oXLV4B7q2ilCAfXtRf39/tFotcXFxNMc4tLkW5eXl5eddIRUbG0tSUlK9R0ssyvPz87HZ7CZ18+bNqx0Wa0sUsWgAtcEJW6UFT/9AkJLi3GwCunhg1rhSeOAYAH19+2JwMWDqYWLYsGHNO5F/T5j6JZw+CCvuA9v5/Z+k1Ub59mx0PbzwuCbkvOvRdVo1r0/py+u32JfX3vj+FpLSi5sXXzsk91gay155DmdXN6bNUYSirbHZJFVlJopyKinOrcRUZbFPYAe64u7rUmf70ZYSGxtLQkICUVFRLFy4sEUW5cOGDatjUR4eHk5kZCQPPvhggxblkydPbtCi/GI526K8V69eTJs2rY5F+Zo1dkek+Ph4evToQffu3cnNzeXZZ59t8blbisMsyi81UVFRMiEhoVXaqtiZQ9GKI6hv9WPRvCeZ9OSzePj35rt5CfQ++AVXf/8Rak9PnvvtOTamb2TT9E1oVS2w19jxOaz7B1z1CFzbcA5G5b48Chcdwmdmb1x6Ni3RbH9GCQ8uTOR0aTVzJkYQO7TzZZn0JGsEOyPlAJu//i9OelemvzAPdz9FKBzN+SzKLWYrVWVmjBVmpE2i1qrQG5xwdtW2qkAotC4tsShX5iwaQFWTa2HQ2y/KxdlZdB0wFJUKygwhVO3di9vo0cQEx7D66Gr25O5hSMchzT/h0Fn2ZL2tH4Bvdxh4R70i5duyUXs5o+vedI+jyCAP1j4ykseXJvHcqgPsPlXEK5MjcWnndgpWi5ncY0fJSk0mMzWFrMMpVJbYe0eeHToy5dmXFaFoA6SUmKosVJWZMRnt8wDOei0uBi1aZ/VleSOi0HQUsWiAM3tUq00qXNw9KMrORK1R4RvkRmlhCJV79uA2ejTDA4fjpHIiLj2uZWIBcN3rUHgM1j4BXl2gy9W1L5lzKzAdL8Hj+tCLTmDy1Dvx3zsH88HGNN7bcJjkrFI+mzGoXS2vrSorJetwil0YUpPJOXoEq9nu0OsR0IHQvgMI7BFBYI9e+AZ1VvahuMTYrDaqys0Yy81YLTZUaoGrhzM6N62yx8QVhCIWDXAmi9taZsKrQyBFOfatNAK6epJ8IoTKpG8B0Gv1DO04lLj0OP45+J8tu7NSa2DKl/DFNfDtDLh3Q+12rOXbskEj0Ec1zyBQpRI8Ni6cfsEePL7Uvrz23Wn9GRdx6ZfXSikpys4kMzWZrNRDZKUmU5hltzJQqdX4d+lG/2tvsItD916Kt1MbcvpkKcZyM/mZFSAlWmc1rp4uOOs1Si/iCkQRiwZQuWpBgLXUhFfHQE7u2wOAf6iB/SonCo7kEGK1ItRqooOj2ZK5haPFRwnzCmvZiV084falMH8sLJoO967HpjJQufs0+r5+qF1bZjse3cOf72eP5KGFu7n3fwncNSKUp67rie4S7RlgNhpZ8dpcMlIOAPakx8AevYgYNYZOPSIICAtH6+TcSCsKjsRitnI08TT7N2WSe7yUwTO8cHHV4GJwUtxgr3AUsWgAoRKo3JzsiXkdAjm4aQNmoxH/GpO+Em0A1UeOoOvZk9FBo3mJl4jPiG+5WAB4d4Xp38D/boLvZlLZ7UOkyYrrsI6N120Cwd56vntgOK+tO8SXv59gy5F83p3Wn8ggx67htlosrHl3HpmHkhkVexddBw7GOzBIGVJqJ5QWVHFwcxbJv2dhLDfjGaBn5LRwtF5lGHxc2jo8hXaAIhbnQe3uZO9Z9LInzBTlZOHXuQtaJ1Xtznm6nj0JcA2gt09v4tLjuDfy3tY5eegImPhv5KqHKD+xF22nTjgFNyOX4zzotGrmTurNuF4B/GPZXm7++HceHRvOQ9Hd0Khb/+ItbTZ+/uQ9TiQlcs2s2fQde12rn0Ph4pFSkpFSxP5NGZzYlw9AaF9fIkcHEdTTC6ESpKSkNNKKwpWCclt3HtQGJ2w1PQuA4hx7Ap5/qDtlXt2oqjEQBIgOjmZ/3n7yq/JbL4ABsZh6z8VS6YGbf6pDxohHhvvy02OjmNC3I++sP8yUT7dxLK/x5MCLQUrJpm++IOW3eEZMn6EIRTugusrC3g3pLJq7gzXvJ5F9tIQB40P468vDueHBvgRHeLcrJ1jForyuRblaraZ///7079+/wYQ+R6GIxXlQuzvVTHDbh3+Ksu2T3P6h7pTpO1KetL+2bExwDBLJ5ozNDbbVXMrN4xFqIy4pj9mtQRyAh17Lv28dwIe3D+B4fgU3vL+Fr7edaLG75hl2rVlO4g+rGXDdRIbePK1V2lRoHgWZ5cQvPMRXT//Ob98dwVmvYdzMXtw57yqGT+6GuzLc5HBaw6LcxcWlNkv8TBLfpUARi/OgMjhhqzCjddLh6un1x4qoUHckKooKrVgK7d6Z3b2609G1I3Hpca12fmupiaqDhbgOCUbVIRy+uwty6/+oWosb+wbyyxOjGNLFh+dXH+TOL3eRW1rfB+di2B/3C1sWfUXPEaOJufM+ZQVNG2C12jiSkMuKtxJZ8tJODm3LIWygH1OfiWLKU1H0GNYRzSVa4NBSFIvytkWZszgPancnkGAtN+PVsRPFOX/0LABKDaFUJSVhGDMGIQTRwdGsPLKSKksVLpqW36FV7MwGm8RtRAhol8L8GFg8He7dCG6OMc0LcNex4K7BfLPjFK/+kMK1727m5cl9mNivvtFZY6Ql7GD9Zx8S0ncA1z30uDKR3QYc3X2azUsPU1liwt1Xx/C/dCPiqkB0bs1bVbfl28Pkp7fuMKVvsBtXT+vepLKKRbndotxoNBIVFYVGo+Hpp59m8uTJTfr8WooiFufhTGKerdQ+b3Fst/3uxM3LGRc3LaUedgdaQ42dcXRwNIsPLWZH9g6ig6NbdG5ptVG+Mwfn7l5ofF2ATnDbYvseGEtj4Y41diNCByCEYMawEEaG+fLE0iQeWbyH9cm5vHRTHzz0TbvIZKQc4If3Xiegazcm/f1fqDUtW/KrcHFIKUlan87WFWn4hxiIie1J5z4+l70Nh2JRbr9cnzp1isDAQI4dO8aYMWOIjIykW7duTTp/S1DE4jycEQtrmT3XorKkmOrKSpz1egK6uJNfHE5V0h/jhYMDBuOqdSU+Pb7FYlGVXICt1ITb5LOW4nYaBDd/Ct/NhO8fhZs/AwcO63TxdWXZA8P5JP4o/95whJ3HC3lzal+uDr9wrybv5HFWvfESBj9/bn56Lk46ZRz8UmKz2tjy7REObMqk20B/xs3s1Wr5EU3tATgKxaLco/Y1gK5duxIdHc2ePXsuiVgoYwPn4Yw/lLXUnsUN1BmKKtd4UZZ8BFnzQ9SqtYzsNJL49Hhs0tbs80qzldKfT6Lx0aE71zCw980Q8yzsWwpb3m72OZqKRq3ikbHhrHxoBG46DTO+2MkLqw9QZWrYHbfkdA7L572AVqdjyr9eRO/etv77VxrmaivrPt3PgU2ZDLimM+Pv7f2nSqRTLMqhqKiI6urq2jK///47ERERF/05NAdFLM6D2s2+F7fldCWeHf/ItQBqkvMEpVo/jKmptXWig6MpMBZwIP9As89buiEdS34VnpPDGl6+OOofEDkVNr4EB1c1+zwXwxlDwrtHdGHBtpNM+GALe8+xPa8sKWb5q3OwmKq55Zn/U4z+LjEVJdWsfHs3Jw8UMOrW7lx1y3l+P5cxikW53TU2KiqKfv36ERMTw9NPP33JxAIppcMewHVAKpAGPH2BclOwb9cbVfM8FKgCkmoenzZ2rkGDBsnWJv/rgzLz/7bK6rIK+da0CXLrskVSSikry6rlh/dvkOvGzZYFX39TW77YWCz7Legn/53472adrzqzTKY/s1kWfJt64YKmKinnj5PypQApMxKbda7m8vuRPDn81V9l12d+kO/8kipNFqusrqyQXz/9mHzvr3+RGSkHL2k8ClIWZJbLBc/8Lj99JE4e35vXqm0nJye3ansKbUtD3yeQIJtwPXdYz0IIoQY+Aq4HIoDbhBD1JFAIYQAeBc5dEnBUStm/5vGAo+K8EK7DOmKrtGA+XIabjy/FNbkWLm5OuPvoKPftXic5z8PZg4EBA5u1hFZaJUXLj6DSa/Gc0OXChbU6uHUhuPrCktuhNOuiz9dcrgrzZd3jo5jUL5B/bzjClI82s/jVFzl94hgTn3iaTj0v0V2OAgAZqUUsfzMRq8XGzX8fSGhfZR9yBcfgyGGoIUCalPKYlNIELAFuaqDcS8AbQMsW9TsA526eaHxdqNieXcd9FuzzFqUeXeqIBdgT9NKK00gvSz+3uQtS/nsm5sxyPCd1Q9WUVUdu/nbTweoyu+mgqeKiztcSPFy0vDu9Px/d1p/O+1eRf/gA+rG3E9q/0f1TFFqR1B05fP9+Eq6eztzy1KBa7zIFBUfgSLHoBJx9xcyoOVaLEGIAECylXNtA/S5CiD1CiE1CiKsbeN3hCCFwHdoR06kyOnh1pSgnu/Y1/xB3qtBTkVuMJS+v9nh0UDQAm9I3Nfk8loIqStefRNfLG5fIi7gzDOgNU/4LuQdg5f1ga/7E+sUipcQ5YQ2hpWlk9xjHa2kG7vjvTrJLqi5ZDFcqUkp2/XCcX79MpmOYB7f8Y6CSfa3gcBwpFg3NrtUuMhZCqIB3gb83UC4b6CylHAD8DVgkhKh32ySEmCWESBBCJOSddcFuTVwH+YNGRYClM8ayUozl9qSkgC52Y79SQwiVZ/Uugt2DCfMMIz49vkntSykpWpkGKmGf1L7Y5bDdx9u3Yk353j7pfYnYvnwJe3/5gaiJf+HN/3uMV27uQ+LJIsa/u5nVSZmXLI4rDavVRtzXh9j5/XF6DO3AxEf649zE/BcFhZbgSLHIAILPeh4EnD24bgD6APFCiBPAMGCNECJKSlktpSwAkFImAkeBeou8pZSfSymjpJRRfn6OyWpW6bXo+/mhz3dBI5woyrFfCH2DDQgBpZ5d6w1FRQdHk5CbQEl1SaPtVyaepjqtGI/rQ9F4NHMvh2EPwaCZ8Ns7kLSoeW1cBHvX/8jW7xYSMWoMo26fiRCC2KEhrHvsasL83XhsSRKzF+2muNLk8FiuJExVFn74cC8pW7OJuiGUsTN7KTvVKVwyHPlL2wWECyG6CCGcgFuB2iw2KWWJlNJXShkqpQwFtgOTpJQJQgi/mglyhBBdgXDgmANjvSBuwzoirBDq1rt2kttJp8GroysVHSOoStpbp3x0cDRWaeX3zN8v2K61zETxD8dwCnXHdUgL9qsQAm54C7qMgjWPwsltzW+rEYqyM9n45Wd0GRDFtfc/WsfGI9TXlW/vH84/xvfgpwM5XPvuZuJTT1+gNYWmUl5kZMVbiWSmFhMzoydDJ3VVvLYULikXFAshhEoI0SyrUCmlBZgN/AykAN9KKQ8KIV4UQjTmqzsK2CeE2AssAx6QUhY2J47WQBvkhqajnm7uA2rdZ6Fmktu5I1UHDiBNf9xFR/pG4q3zbnQoqvTXk0iTFa+/hLd8TbxaC1MXgGdnuyVI4fGWtXcefl/6DSqNhvEPPIZaU98AQKNW8XBMGKseHoGHi5aZX+7iuVX7qTRZGmhNoSnkpZex7LUESguM3Di7HxEjLt6r63JGsSj/w6I8Li6u1p68f//+6HS6Wt+rmTNn0qVLl9rXks4Z8WgpFxQLKaUN+wW/WUgpf5RSdpdSdpNSvlJzbI6Usp6vrpQyWkqZUPP/5VLK3lLKflLKgVLK75sbQ2sghMAwvBOeTn6YTpbVHg8IMVBt01IlXOsk56mEiujgaH7L/A2z1dxgm9ImqTpQgEsfX7T++tYJVO8Nt38LNqt9hZSx8WGwiyH3+FFSt21h0A2TcfX0umDZPp08+P6Rkdw7sgsLd5xiwvu/sedUUavGcyVw6mABK9/ajVAJbvnHIIIjlD3JL2daalEeExNTmyG+ceNG9Ho91157bW29N998s/b1/v37t2rsTRmGWi+EeFIIESyE8D7zaNUoLgNc+vthwYyh4I8d68440JbV7Jx3NtFB0ZSZy0g8ndhge6b0MmwVZlxa+4/fNwymfw2FR+225tbWu6P/bcn/0LkZGDzpL00qr9Oqee7GCBbdOwyTxcaUT7fxzi+pmK2XbtXW5Uzyb1ms/Wgf7n4u3PLPKHw6tc4d9uWKYlFel2XLlnH99dej17fSzWYjNMVI8O6afx8+65gEurZ+OO0XlZOaUo9SfIs7YSkzoTE44dPJDZVGUN4hwj7JfccdteWHBQ7DWe1MfHo8wzoOq9eeMaUAVAJddwfobpdRMOFt+P4x+PlfcMMbLW4y/eA+TiQlMuqvd+Osd72ousO7+bDu8av5vzXJvL8xjZ8P5vLcjb0aNSW8UpFSsmP1MRJ/Oknn3t6Mv68PTrq29/yM++pzTp9s3alD/5CuxMyc1aSyikW53aL8DEuWLOFvf/sb8Ieb7bPPPsuLL77I2LFjee211+oYLLaURnsWUsouDTyuKKE4g62bGrVQU7LVbmCm1qjwDTJQ5te9zvJZABeNC8M7DifuVFyDdyNVyYU4d3FH5eKgi8CgmTB8Nuz8DHbOb1FTUkq2LF6Am7cP/cdPaFYb7jotb0/rx+czBlFptjDji53c/dUu0k637v4IlztWs431/00m8aeTRIwM5IaH+rYLoWgPyBqL8r59+zJu3LgGLcpVKlWTLMp9fX2bbFE+dOhQIiMj2bhxIwcPHqwX18UYCTZ0LTifRfmmTZsYMGAAmzZtqmNRDpCdnc3+/fsZN2wY1SdOYE5PZ968eRw6dIhdu3ZRWFjI66+/flGfb2M0+isUQmiBB7FPOgPEA59JKRsejP8T4x7WgdO/H8Z/lwp5jd2oLSDEQMopb8xZOZhzc9EGBNSWjw6OJj4jnsNFh+nh3aP2uKWgCsvpSlyHOFhzr3kRCtJg3VPg3RXCxjarmaOJO8k+kso1s2ajdWrZncq1vTswuocfX/1+gg83pjH+vc38dWhnHh/XHS9Xpxa1fbljrDCz7tP9ZB0pZtjkrgwcH9KuVjw1tQfgKBSLcg+7T1NVFYvmz2dSTAwyJwe0WlReXnT096/9LO66664mTeZfDE2Zs/gEGAR8XPMYVHPsisOzQyBpZXug3IbxiH2y1j/UHYtNRaU+gKo9dXsXo4Pt7pXnroqqSrEv7HLp5eCpH5UabvkP+PW074ORl9polXOx2az8tngBXh070Sf6mlYJy1mj5v7R3Yj/RzS3DQnm6+0nGf1mHP/ZcgyT5cqczyjNr2LFm4nkHC/hmrsjGHRdaLsSivbAlWxRftedd2LJz8eUlkb1sWMsXb6c6bdMwSk0FOfu3dH6+5OdbXeYkFKyatUq+vTpc9Gfz4VoilgMllLeKaXcWPO4C2i5V+9liId/AFlVaVg1Vip35QBnTXJ7dauXnOfr4ktf3771xMKYUoDGX4/mUlg0OBvg9iWgcYZF06Ci4KKqp2yJpyDjFCOmz0Clbt29EXzcnHl5ciQ/PT6K/p29ePmHFK59dxM/H8xp8UTi5UTuiVKWvZ5AZamJmx7rT/chHdo6pHbJFWlRHhZG9tGj/P2WKZhzckClItNiITM/n3FTp6B2c6u9qYiNjSUyMpLIyEjy8/N57rnnWhzv2YjG/iiFELuBqVLKozXPuwLLpJQDWzWSFhIVFSUTEhIcfp4vHr2Pgb7X4GfqRODzQxFaNfP/tpnA0v30qfyd0CWL65Sfv28+7+95nw1TN+Cv98dWZSHrpe0Yru6Ex/WNuMu2Jum74KsJ9h337lhlF49GsJjNfPnE/bgY3Il95R2H76Mdn3qaV35I4cjpcoZ19ea5CRH06fTn3kDpWFIe6784iIu7ExMf6YdXh4tbPOBoUlJS6NWrV1uHcUVhMxqxFhVhLS5GWq0IjQa1pydqT09UupZtp9zQ9ymESJRSNuoC2pS//n8AcUKIeCHEJmAjDfs5XRF4dgwkveIQWGwYkwsRKoF/ZwOlhhCMBw9iM9W1uDizxeqmDLuxoPFwIdgkugifc5t2LMGD4aaP4NRWWPsENOHOfd+vP1Gad5qRt97hcKEAiO7hz7rHrualm3pzOLeciR/+xj++28vp0nZnSNwq7ItLZ91n+/EOdGXKU1HtTigULh3SYsFSUEB1WhrVaWlYCgtRubriFBKCc48eaDt0aLFQtJRGM7ixb0IUjn3PiUeBHlLKi9+w4U+CV4dATuTsR+3hROVeu3mhf6g7JWY9VovEeM5qiTDPMDq5daodiqpKKUTlqsEp2HBu046n71QY/RQkLYTf/33BoqaqSravWEJw776E9B1wiQK0Z4DPGB5K3JPR3Hd1V1YlZRL9Vjzvbzhy3u1cLzdsNslv3x5hy9IjdOnry+S/DUTvfmVP7l+JSCmxlpVhOnUKY2oq5po5B23Hjuh69MCpc2fUBkO7mbu64GooKaVNCPG2lHI4sO8SxdSu8ewQiNlYhaaHAWNiIbZKM/4h7thsgnK3QKqS9qIf8MfFVQhBTHAM36Z+S4WxAuOhIlx6+7Tdlpejn4b8w/DrXLs1SJ+GE+wSf1xNVWkJV992Z5v8WD1ctPzrhl7EDu3MvB8P8c76wyzeeYqnruvJpH6BqC7TLUPNJiu//jeZY0l59I0JYsTU8Mv2vSg0D1t19R/DTBYLQq1G4+2N2surzXsPF6IpYwu/CCFuEe1F3toYr5r9uKv9TGCVVB0swD/U3kuoCOpXb5Ib7ENRJpuJvXt2II0Wx6+CuhAqFUz+BIKHwopZkLahXpHK0hISvl9B2ODhdAzv0UAjl44QH1c+nTGIpbOG4ePmxONLk7j5k60knmwzq7BmU1lqYvW7ezi2N4+RU8O5enp3RSiuEKTViqWwkOqjR6k+cgRLfgEqFxecOne2DzN17NiuhQKaJhZ/A74DqoUQpUKIMiFEqYPjard4dbCLRZH5NGpvHZX78jB463AxaKno1KdBsRgYMBCD1kDR/kxQC5zDL+yr5HC0LvZd9vx6wNK/2ie/z2Ln6mWYjdWMvHVGGwVYn6FdfVjz8EjemtqPnJIqbvlkGw8v2k16YWVbh9YkinMrWf5GAvkZ5Vw3qw/9xgY3XknhskZKibW8HFN6OsZDhzBnZYHNhrZDB3Q9uuMUEoLa3f2SzAe2Bo3NWQigt5RSJaV0klK6SykNUsordv9Gdz9/VGoNxTlZ6Pv5UX20GFuFGf9Qd4q1AVhyc2vHHs+gVWkZ2WkkAZluOHfzQOXcuktQm4WLJ/x1BbgFwMIpcDoFgNL8PJJ+XkvEqDH4BHVu4yDrolIJpgwKIu7JaB4bG86GlFzGvrOJ1386RJmx/eaIZh0pZtkbCZiMViY/MYBuA/zbOiQFB2IzmTDn5lJ9+DCmEyewlZej8fLCuWs3nMLC0Pj6IrSX34ZVjbnOSmDlJYrlskClVuMR0IGiGrHABlUH8vEPcae0SotF7VzPVBDgOsMYOlT7UhDUjrYdNQTULKPVwdc3Q9FJti1bDFJy1dTb2zq686J30vDENd2JezKaG/t25JP4o8S8Fc+iHaew2tpPfkZxbiW/fHGQlW/vRueqZcpTg+jQ9c+9FNgRXA4W5dJqxVJURPWxY1QfPowlLw/h7IxTcLB9mCkwEJXeBSFEiyzKAZ566in69OlDnz59WLp06UXF2RKa0v/ZLoS4IpPwzodXh44UZ2ehCdCj8Xehcm8eATXJeeXe3er5RAFEFocBEO+ys95rbYpXKMxYAeZKCj6bwsH49fS7dgLufu3/7rejhwvvTOvPmtkj6OLryr9W7mfC+1vYcsQxW+w2lbJCI3HfHGLR/+3g+N48Bl0XwtSno/DwuzTuoAqXBikltspKTJmZVKemYs7MRFosaAICcO7RA+fQUNQeHnWGmVpqUf7DDz+we/dukpKS2LFjB2+++SalpZdmVqApYhGDXTCOCiH2CSH2CyGu6JVRXh0DKcq1DzXp+/phOlGKj7c9ya0qbEi9nfMA5OEKst0KWVew/pLG2iQCekPsMrYec0KjsjH0uvFtHdFF0TfIk2/vH87HsQOpMLWdSWFVmYnfvjvCwjnbObQ9m8jRnZjx8lUMm9xN2Se7FWgvFuXSYsGSn2/PiTh2DGtJCSp3D5y6dME5PBytnx+q8wwztdSiPDk5mdGjR6PRaHB1daVfv3789NNPrfMBN0JT7Cyvd3gUlxmeHTphqa6mvKgAl35+lP56CnmsBIOPjrLqMIwJC7EZjbWrG6wVZkwnS6nuq+ZYyTFOlp4kxD2kjd/F/7N33uFRVVsffs+k9x7SKwk1hBoICFKlSUcEIiJF6bbrhesVxfJZLjYsFBGwIUWqdAQBAZFOILSQQsuhOKsAACAASURBVHpCkkmv0/b3xwREIJCETDIJ8z7PPEw5e581YWbW2Xut9Vv/JKPcnmv5DoS7JGO5cxo8swlMG86VsCRJDApxp3dzV344VrciheWlKiL3JXH+92RUCjXNw93pONgP27qQc6lD8rbHoUgrrtU5TT2ssB8SWKVj61OiXAjBhHHj2PLddwzs3BmEQGZhibGHB+t27uSTTz+9y15dSJSHhobyzjvv8Oqrr1JSUsLBgwdp2bJl1f7YD8kDnYUQIlGSpMeAICHEd5IkuQCPdBeWmxlReelpeLdqg4mHFaXns3D1teXG1VJQKim7dAnLDh0AKIvOAQF+HVrCX1phwYmtJtbnW7iLI+t+xMLGlo6TXoft07XCg2N/1rZrbUCYm2hFCkd18OLzfdf46XgiW86l8mKfIJ4N98PUuPYyT5QKNVEHUzi7N5HyEhVNO7gSNsTfUImtI25KlB8+fBiZTHZPiXKgShLlFhYWVZIo//233/h44UJKiorIyc+nmYcnQwYOwsjhb+mNZyZM4JkJVcscrI5E+ezZs/n+++/p0aPHLYnyJ554glOnTtG1a1dcXFwIDw//h3S5LqmKRPkCoCPQDPgOMAFWA910a5r+crPWIjdD6yws2rhQsCcB93AP4s5KKEysKY2MxLJDB9SFCoqOpSGzNcW9qT/BV4P1zlkkRkWSFBVJz2efx7TDMNAUw85X4ddZMHyZtjajgeFsbcb7I0KY2NWP/9t5hf/beYXVxxN5b3jrh266pFZpuHw0jdO7EigpUODb2onOQwNw8amHqvw6pKorAF1RZxLlQqAuLib/ylVmz5rF0fXr8Q0K4v+WLkVlZoaJ+z+FHutSohy0DY7eeOMNAMaPH09QUNC9/ly1TlV+BUYAQ4FiACFEGtC4vxUPwMbJGSMTE3LT0wBt3ALASamVoygJ6EBpZCSll+XcWHQGZUYJ9oP8kWQSPb17ci7zHHllefVm/+0IITi69gdsnF0I7Vex49hpCvSeDxfWw97Xq6Qjpa8EN7Hhx8lhfDepE5IkMWHlSV5dH4m8qLzac2k0gqvH0/l5wXEOr7uGnasFI15rz5OzQxu9o9AHdC1RriwsJPHsOQ4eOIBaLqe0uAhkMjzCwlA4ObF5x457rgLqQqL85raYWq1GLtcqR1+4cIELFy78owe3LqnK+kUhhBCSJAkASZIe+TW2JJNh38T9lrMwdjTH1McGTUohSFDq1x5lfgHyHy9j4m6Fy7jmmLhq9/97efdi+YXlHEk9wpDAIfc7TZ0Qe/IvMuJi6D/jZYxNb9vX7/4alOTA8SVg6QSPz60/I2uBXs1cCQ9wYvHBWJYeiuNgdCbzB7dkZHvPB8qZCCGIj8zixK/x5GaU4OJjQ8/xzfBu6ag3uj2PAhEREQwZMoSOHTvStm3bh5IoT0pK4s0338Td1ZUh3buzb/MW2rRtS1M/P7p36YKxqytNOnTg+WnTCG3fHj8/v1qXKFer1UyePPkfEuUdO3Zk6NChHDp0iNdffx1JkujRoweLFy8GQKlU0r17dwBsbW1ZvXp1nW1DVUWi/DW0QoL9gA/R9uReI4T4SvfmVZ26kii/ydaP/4+8jDSe+3QJAIVHU8nfEc9VUyN8FQrMhYRVewccRrVGum2fXCM09N3Ql3au7fi0591BsbpEo1bzw2uzkGQynv34K2SyO4oFNRrtVtT5NTDoEwh7vn4MrWWiMwp5ffMFzibl0a2pE+8PD8HP+e5rICEEyVdyOL41nqykQhzcLOk8NICAdi6PjJNojBLlQgg0RUWoc/NQFxZUBKstMHJw0Ka61nLfFn3iYSTKqxLg/kSSpH5AAdq4xVtCCD3M/6xbHNw9SDh/BqHRIMlkWIY4k78znuYKNWVCRsmfn2H72FQk4zb/GCeTZDzu/Ti7r+9GoVZgalR/aqOXDv9OTloKQ//137sdBWhjFUO/grI82PVvsHCAkNF1b2gt08zNho3Tu/LzySQW7r5K/0WHebFPEC/0CMDESOvY02PzOP5rPGkxedg4mtNnYguCO7sZtJwaMBqF4m8BP6WywQj46QtVWr9UOIdH3kHcjoObB2qlkkJ5NrYurhjZmWEV5kZOciEHruTRSVVIaWQkdkOevGtsL+9ebLy2kdMZp+nq2bUerAeVQsFfG9bi1jSYpp3CKz/QyBhGr4LVo2DLNDC3g6Daaa9an8hkEhO6+PJEyya8ve0SH++NZvv5NN7oFkj+yWwSo+RY2JrSY2wwLbt5YGTS8IL8BkBoNKgLClDn5qIp1qb9yqyttf0hbGwajC6TPlA3m12NEPubgoLpabeqnR1GBKFMLEB5+TRlLbrdU1QQIMwtDAtjCw4mH6w3Z3F+3y4K5VkMmPnKg7dUTCxg3Fr4/klYP0ErEeLTpW4M1TFNbM1Z+kwHdhxN5I/NsVy4Go3GRKLjk3507OeLiT7oeBmoNprSUu0qIj9f223OxARjV1dttzlTQ++QmqBTtypJ0gBJkqIlSYqVJOk/9zlutCRJQpKkjrc993rFuGhJkvSupNjB4+/02dtx8rRGZixR7NaSsqtX0ZTcrYpqbmxOuHs4h1IO1Uuv6fKSYo5v+QXfNu3wad3mwQNAu6J4ZjPYemh7eWdc1K2RdURhThkHfrpC0pp4mqqMKG5qxWLLEl65cJ2DsfUrG2Kg6tyU3lBmZmkrq+PiUOXmIrO2xtTPD7PgYExcXQ2O4iGo8spCkiQToDWQKoTIrMLxRsBitIHxFOCUJEnbhBCX7zjOBm0HvhO3PdcSGAu0AjyA/ZIkBQsh9KZVmrWDE8ZmZuRlpP7jeSNjGc6e1uSVCjzVakovXsQqLOyu8T29e3Ig+QDRudE0d6x+VsfDcGDVMsqLi+g+/rnqDbR20a4qVvaH1SNh8h5wDNCJjbqmpEDBmT0JXDys/f9r09OL9gN8sbQ1pV9SLq9vjuKFn84woJUbbw9thZudYU9bnxBCIMrL0RQVoSkuRlNcjKhINZWZW2Di7q4NVtdRptCjQKUrC0mSlkmS1Krivh1wHvgROCdJ0rgqzB0GxAoh4oUQCmAdMOwex70HLARub7Q8DFgnhCgXQlwHYivm0xskScLhtvTZ22niZ0tOvgyBdE+dKIAeXj2QkDiYXLcdaq8eO8zlIwcJHzWOJv41KLKy94EJW0Ct0CrVFmbUvpE6pLxEyfFf4/jpzb+IOpRK885uPPNuOI+NCbrV2rSdjwPb5zzGvAHNORidSb/P/uCnvxLQ6JGi7aOIRqFAlZODIjmZ8uhoymNjUWZkoCkvR2Znh6m3N+bNm2PWNBBjJyeDo6hl7rcN1V0IcbOh9CTgmhAiBOgAVCXp3hNIvu1xSsVzt5AkqR3gLYTYUd2x+oC9uwe5Gel3Pe/qZ4uyXIOyadtK4xZOFk6EuoTyW8JvdbYVVZCdxf4Vi3EPakbnEWNqPpFrc4jYBEVZWodRmlt7RuoItUrDmT0J/DT/L87sTsQ/xInxCzrTa0ILbBzvXjWYGMmY0TOQ317pQai3PW/+eonRy44RnVFYD9Y/mgiVCnV+PtZWVpRdu0b5tWso09LQFBcjs7LCxNMTs+BgzIODMfX0fOBKQpcS5dVh8uTJuLq60rp1a52dQxfcz1kobrvfD9gKIISo6qXkvaKmt34VJUmSAZ8D/6ru2NvmeEGSpNOSJJ3Oyqr7/WUHNw/yb2SgUf9zd8zVVytXXhLchdLIyEqdwajgUcTmxXIg+YDObRUaDXuWfI5GpWbQ7NeQPWwuuVcHrXaUPBbWPA2K2hWYq02EEBxcfZXjW+NxD7RjzBudeGJqa+ybPFgo0dfJip+mhPHZmFAS5CUM/vIIn+yNpkypNzuijQahVqMuKECZnk55TCxlV6+iSE7W1kGYmWHi5o5Z06aYNWuGqbc3xg4ODTIG8dxzz9WZUmxtcj9nkSdJ0pMVV//dgD0AkiQZA1WR00wBbu8d6QXcvmdjgzYGckiSpASgC7CtIsj9oLEACCGWCyE6CiE6urg8nN5PTbB390CjVlGQ/U9HZe9miYmZEYX2gahzclAmJd1z/JMBT+Jn68fX575GIzQ6tfX0zq0kX7pAr0kvYO/mXjuTBvaCUSsg5RT88iyoFA8eUw+c3ZtI9PEMwob4M3hWKC7e1ZPmkCSJke292P/q4wxr68nXB2MZ+MURjsVl68jiRwOh0aAuKtZ2lYuLp+zKVRRJSahycsDYSNsXIiAAZDJMfX0pMzej3+DBdOjQoV4lyh+WHj164Ojo+NDz1DX329SbBnwJuAEv37ai6APsrMLcp4AgSZL8gVS0Aetb7deEEPmA883HkiQdAl4TQpyWJKkUWCNJ0mdoA9xBgJ51DbpdfTYV+yZ/i4vJZBKuvjbkFcjwBkojIzH1vVuS3FhmzMy2M5l7eC57E/Yy0F83avCZCfEcXfsjQWFdad2zlmskWg6DJxfB9hdh63QY+S3cq8Cvnog/l8XxrfEEdXSl4yC/h5rL0cqUT8eEMrK9J//dEsX4b08wuoMXbwxqoVMJdH1h9+7dZGQ8ZIxKo0Go1aBWIzQaXO3s6Nu2LTILC4xdnJFZWSGztLxn/UN9SpQDTJgwgR07djBkyD9leqojJNiQqdRZCCGuAQPu8fxeYO+DJhZCqCRJml1xrBGwSghxSZKkd4HTQoht9xl7SZKkX4DLgAqYpU+ZUDdxcNeGUXLS0/Br2+Efr7n62nL+YD5Y21ISGYndsHvF9qG/X3+WX1jOksgl9PPth7GsdoNySkU5u776BAtbW/o+P0s3MhUdJmrjFvsXaKu8B30CeiCHkZVUyL7vLuHqZ0vvZ1vU2nvv1tSZvS/34MvfY1h+OJ4DVzN568mWDGvr8cjIgFQZjUabpaRWa51ExZW5JJMhGRtjZGODeYsWVZLYqA+J8oMHD7Jw4UJKSkrIycmhVatWdzmLiIgIIiIiHvYvpfdU+sskSdKX9xsohHjxQZMLIXYBu+547q1Kju15x+P3gfcfdI76xNLOHhNzC7IS4+96zdXPFo1KoAztXmlGFGjlP2a3m83LB19mR/wOhjcdXqs2HlnzPfKUJEa9/g6Wtjrs//zYy1Aih2NfgoUj9H5Dd+eqAsX55exaegFzKxMGzQjB2LR2VzvmJkbMHdCcoW09+M+mKF5eH8mmsym8PzwEH6eG0zSqOgwcWLWVr0apRJWZiaawEFEhDy6ZmCCztkZmZYWRlRVSJZ3k7kedSZRXUFZWxsyZMzl9+jTe3t68/fbbt853p12PwsrifjGL6cBjaGMFp4Ezd9weeSRJIrhzNy4e3Mflw/8MUrv6affFi73bUh4dfUtq4F709u5NS6eWLDu/DKVaWWv2JUSe4dzu7bQbOOSulY9O6PcutJsAhxfC8aW6P18lqBRqdi2NoqxYyaCZbbCyM3vwoBrS3M2WTTO68u6wVpxLyuOJRX+w7I84lGrdxqD0ESEEKrkcRUwM6rw8bcaSh4c2Y6lZM0w9PTG2t6+RowDdS5Sr1WrS09M5eFCbzn7TMTg7O1NUVFTpD391JMp1QW6xguzC6kvuV5f7OQt3YDnQH5iAtunRNiHED0KIH3RuWQOh7/Oz8Gkdyp6li4g783d7RBtHcyxsTMi39ASNhtKoqErnkCSJOe3mkFqUypbYLbViV0lBPnuWLsLJy6f6xXc1RZK08YsWQ2DPf+D8uro5720IITjw4xUyEwvoN7lVtYPZNcFIJvFsuB/7Xu1B9yAXPtp9laFf/8n5ZP3oWVIXaMrKUMRfR5mejmRhgVnTptqMJUfHWstYioiI4PTp03Ts2JGff/75oSTKu3TpwptvvomHhwcjRowgKCiIkJAQZsyYweOPPw6Avb09zz//PCEhIQwfPrxWJMoBxo0bR3h4ONHR0Xh5ebFy5coazSOEIKOgjOTcEgrKlDpPwX+gRDmAJEmewDjgVWCeEOInnVpVA+paovx2FKUlbHjvDbKTEhn133fxaqnNn97x9XkKsoppt34KLi+/hPP06ZXOIYRg4p6JpBamsnPkTsyNa14xLIRg26cfcP3cKca//xmufnVcZa0sgzVPQcKf2vTaZnXXxv3Uzuuc3H6d8BGBtO9fP33O91zMYMG2i2QVljOxqx//eqIZ1mYNs0DsQRLlQqNBlZmFSp6NJJNhfLNy2hC70SkaIUjJLSWvRIGjpSkeDhbIqvA3fxiJ8gdqQ0mS1B54GXgG2I1hC+ouTC0sGfGft7F1cWXLwnfJTNDGMFz9bMnLLEMW2IzSc/cuzrvJzdVFZmkmG65teCh7Lh7aR+ypv+g29tm6dxQAJuYwdg24h2p7eSf8WSenjTl9g5Pbr9OsixvtnvCpk3PeiwGt3dj36uNEdPbl+2MJPPHZH2w4nUypQu9yNB4KdVER5bGxqLKzMLKzwywoSLvNZHAUOkWl1nA9q5i8EgVutuZ4VtFRPCz3k/t4R5KkM2hXE38AHYUQU+7UdjKgxdLWjlFvvIeZpRWbPniL3PRUXH1tEALKW3W7b3HeTTq5daKze2dWRK2gRHm3AGFVyMtI5+B3y/Fu1YaOg2s3WF4tzGwgYqNWHmTtWEivPMhfG9xIKOD3H67gHmhHr4jm9f6DZWtuwnvDW7NxeldsLUz498YLhH2wnze3XuRyWkG92vawCJUKRXIKioosI1M/P0y9vAzyGnVAuVJNXFYxJUo1Po6WuNqa19ln/X4rizcBOyAUbYe8s5IkXZAkKUqSpAt1Yl0Dw9bZhdHz30NoNGx8/y2s7bVZGEWuzVHn56O4nvDAOWa3nU1OWQ5rrq6p9vk1ajW7vv4EmbGRVnq8vrX6rZy0OlJmttp+GPI4nZymKLeMXUsvYGlrysDpIXrVe6KDrwO7X+rO+he60LdFE9afTmbQl0cY9vVR1p5Moqhc9eBJ6pmbFzlCCFS5uZTHxKAuyMfYxQWzpk0xsrauZwsfDYrLVcRmFaHWCAKcrbC3rF4s6GFjGvf7VvmjLcB7suI2pOJ2876Be+Do4cWo/75LaWEBO794Dyt7QZ5MW3tYmU7U7bR1bUt3z+58d/E7ChXV0yE6vnk96THR9J06C1vnuq9ovyd2XlqlWiHgx+GQn/rgMdVAWa5m55ILKMvVDJ7ZBgsb/SuOkySJzgFOfP50W07+tw8LhrSkTKnh9c1RdH5/P69vvsCFlLx6kat/EObm5sjlctRlZSiuX0eZmopkZoZZYCAmTZrU/wXJI0JeiYL47GKMZTICXa2wqmYMTAiBXC7H/CE6AlYpwP2PAVrp8bFCiJ9rfFYdUJ8B7nuRdPECmz98C1MrD6ydxtB5/1xsBw7E/d13Hjj2kvwSY3eMZWboTGa0nVGl86Vdu8q6BXNp3u1xBs2+l9xWPZMWqW2eZOcJk3aD5cPLHQiNYM+3F7kemcWgmW3wC3F+8CA9QQjB2aQ81p1MYvuFNMqUGlq62zKusw/D2npga16z9NLaprykhITjJyjXqEEmw8jWFpmlpV4UXT4qFJQpKShVYWYsw8nKtMatfc3NzfHy8sLkjtTlqga4K3UWkiTZArPQqr1uQ9tWdTbwGhAphLh3SXI9oW/OAiDm5DG2ffYhMiMfBpmDSVYKAdt+rdLYVw6+wvH04+weuRt7c/v7HqsoLeGneS+h0ah5duFXmFla1Yb5tc/1I9rtKOcgGL9eu+p4CI7/GseZ3Yl0G92Utn3rL6D9sBSUKfk1Mo21J5K4nF6AhYkRg9u4My7Mh/Y+9RcwLj55kowFb6O4fh3bJ5+kyX/mYezccBxyQ0eh0q4+N51NYWQ7Tz4a1QZT49pfydVGNtRPQDMgCpgK/AaMBobpm6PQV4LCuhI2bAoaVSKnjNWUxcSgLiqq0tiZbWdSrCzm+0vfP/DYgz+sIC8zg4GzXtVfRwHg313bnjUvCb7tA6lnazxV9IkMzuxOpGU3d0L7eD94gB5ja27ChC6+7HzxMbbN7sbwdp7sjkpn1NJj9F90mFVHr5NXUncijarcXNL++wZJz05EKJV4f/stnp98bHAUdUh+iZJnV51g09kUXukbzKdjQu/rKMpUd1eW1zb3W1lEVfSvuLn1lA34CCH0UtBfH1cWAIoyFUunf4qq9Ag+2fkMeOdDbB57rEpj5x2ex8Hkg+wauQtni3t/UWNOHmPbpx8QNvwpuo+bWJum647MK9rWrEVZMPIbrRhhNciIz2fLZ2dxD7BjyIttMdLB1VZ9U1yuYvv5NNaeSuZ8ch6mxjIGtXZjbJgPnf0ddbLaEEJQsH07Nz76H+r8fJwmT8J55kxkFlURmTZQWyTJS3ju+5Ok5JTyv9EhjGhX+Qo8MjOSryO/xtzInK/7fF2j89XGyuKW7kSFiN91fXUU+oypuTEu/j1x8HyMJGc7jv9a9RqKGaEzUKgVrIy6d4VnUY6c35Z/jat/IF2fGn/PY/QS1xYw9QC4hWilzY98ektg7kEUyEvZtfQC1g7mDHghpFE6CgArM2PGhvnw66xu7HqxO2M7efP71UzGLj9On8/+YPnhOORFtSfxoEhMJHnKFNLmzsPE2wv/zZtw/de/DI6ijjmTmMPwJX+SU6zgpylhlTqKi9kXmb5/OhN2TyAmN4Ywt7D6q+CWJEkN3BQ0ktD2sCipuC+EELY6taya6OvKAuD37y+TcDEbu+sLSTSGXhOfp/2gql1Nv/XnW+yM38nOkTtxs/pbBl1oNGz6cAGpVy/zzEeLcPJsgFsxyjL4dRZc3AhtI7RSIcaVZzMpylRs/vgMhTnljJ7XAQc3Pd5y0wGlCjU7o9JZdzKJ04m5mBhJPNHKjXGdfOga6FSjwKdQKJCv+o7spUuRTExwefUVHJ5+ukoqsAZql+3n0/jXhvN42Jmz6rlOBLjcnZJ8RX6FJZFLOJRyCHszeya1nsTYZmOxNKm5eGVVVxb3kyg3fFpqCVc/W64ez6BHcBfKo/7g4A/fYm5jS8vuvR44dlroNHbEbWfFH18yxnEQWYnXyUpKIDMhnsLsLPpMmdkwHQVoK71HrdAGvA99CLkJ8PTqe2ZKaTSCfSsvkZNewpDZoY+cowCwMDVidAcvRnfw4tqNQtadTGbzuRR2XkjHx9GSpzt581RHL1xtqpYeWXL2HBkLFlAeE4PNE0/Q5I03MGniquN3YeBOhBAsORTHx3uj6ejrwPJnO+J4R3+Ua7nXWBq5lP1J+7ExtWFOuzlEtIjAyqTuvgfVTp3VV/R5ZXEjoYCNH52me5tiZF/N49Lw/qQmxDH8328S0P6f4mRlxUVkJyaQlXT9lmNIT4hFUmlVTCVJhoOHJy6+/ni3bE2bvgPrvVq5VojaCFtnalNrx/+idSC38eemWCL3JdFjbDAhPR8ui6oxUaZUs/dSBmtPJnE8PgdjmUSfFq6MDfOhR5ALRvdYbagLCsj87DPy1q3H2N0dtzffxKb3gy9cDNQ+SrWG+Vsusv50MkNDPVg4ug3mJn9fp8fnx7M0cil7E/ZiZWLFhJYTmNByAjamtSeQ+dArCwO1h7OnNTIjiXxzd5yFoFebMH4Dtn/2IT2emURxXt4t51B4W4tWc2sbXHz9adG7D9/f2EjL5p2Y/+SHmJjqTnK73ggZDXbesG48rOijXWH49wDg8p9pRO5LIuRxT4OjuANzEyOGtfVkWFtP4rOKWH8qmY1nUth76Qae9haMau/J481cCfWyw0gmUbhnDxkffIBanoPjxIm4vDgHmdWjt0rTB/JLlcz8+Qx/xsp5sXdTXukXfOvCL6kgiaXnl7Lr+i7MjMyYGjKVia0mYmemw540D8CwsqgjNnx4ChMzI1qsn4lNv77Yz/036xbMIzctBUkmw9HDCxdff5x9/HD19cfZ1w9rB6dbH56PT33M6iur2TpsK/52/vX8bnRIbiKseRrkMTD4M9Jsh/Lrokg8guwZMicUmVHjDGjXJgqVhn2Xb7DuVBJHY7MRAvzVBbx2+VcC4s4jBTfH94P3sGjdur5NfWRJzilh8venSJAX8+HINozuoL0ISilM4ZsL37A9bjsmMhPGNR/Hc62fw9Fcdz27H7oor6Gh787ij7XRRJ/IoH/pGlSpqQTu2IGyvIy8jHQc3D0xfoDmv7xUzsDNA+np1ZOFjy+sI6vribJ82DCJ/OhLbCz4AnMHO0bP64iZpX5UNTck5PklXP56OXbrvkctBD80H8C2gG64O1rzWFNnHgtypltT57v2yA3ojsjkPKb+cAqFSsOyCR3oGuhMelE6y6OWszVmKzJJxphmY5gSMqXSlPnaxLANpWe4+tpy8Y9U1M3DUPzxCer8fEzs7HDxrdoqwcnCiYgWEayMWsnUNlMJdgjWscX1iLkd5SPWsPPtvQhlOYN9f8DMuA3a/lsGqkrZlSvkv/EGzpevYN2rF03mv8HLZvZ0iM3maEwWuy6ms/50MpIErTxseaypC92DnOng6/CPfXMDtcfuqHReXh+Jq60Z614Ix8aqmPePv8+mmE0IBKODRzM1ZCpNrJrUt6l3YXAWdcTNNquFLsGYAqUXLmDdvXu15niu1XOsu7qOJZFLWNRrkQ6s1A80ag2/rbpKfoktQ/onY39+Pay6BOPWaQPgBu6LUKuRr1xF1ldfYWxvj+cXX2DzRD8kScIP8HO2YkIXX1RqDRdS8zkak83R2GxWHIln2R9xmBnLCPN3vLXyaOFmW2M9IgNahBB8eySeD3dfpa23Pf8b48em+MX8Ev0LGqFheNBwXgh5AXdr9/o2tVIMzqKOcHCzwsTMiDzhiKtMRum5yGo7CzszO55t9SxLIpdwSX6JVk6tdGRt/fLnxliSLufQM6IZXt17QUs32DhZG/getxY82tW3iXqLIiWFtLnzKD17FpsBA3B/ewFG9vfWFjM2ktHex4H2Pg682CeI4nIVJ67LORKTzdGYbD7cfRV2g5OVKd0qHEf3IGfc7QyFetVBpdbw1rZLrDmRxBOtrWka/BcRe15GqVEyJHAI09pMw8tG/xM3DDGLYaGr0QAAIABJREFUOmTLp2dRKTV0OP4+xo6O+Kyqfu/dIkURAzYPIMQ5hKV9l+rAyvrl4uFU/lgTTWgfbx576rb02RuXtIHvEjmMXK7t823gFkII8jdv4cb774NMhttbb2I7ZMhDpVXfKCi7teo4GptNVqG2YjzAxYruTZ15LMiFLgGO2OiJQq4+UlimZNaacxyOTSS8fRTx5XspVZUyOGAw00On42tbP61/b8cQ4NZD/twUy4WDyQx1OkzRzh0Enzheo0rZVRdX8fmZz/lx4I+0c208V9kpV3PY9uV5fFo6Mmhmm7u3PooyYe04SD0Dfd+Gbi8ZpLIBVU4OGQsWULhvP5ZhYXh89CEmHh61eg4hBNE3Cm85jxPxOZQq1RjJJNp5299adbTxssfEkLEGQGpeKZN++IMk1V6sXY9RrilhgN8AZoTOIMC+HtodV4LBWeghsWcy2fvtRQaEF6H4cB7+v/6KebPqB6pLlCUM2jyIQPtAVvav/upEH8m7UcLG/53Gyt6MUf/ugKlFJTukylJt8d6lzdDuGRj8+X0lQho7hYcOkT7/TTT5+bi88gqOz02sk4ZE5So1ZxPzOBqbxdGYbC6k5iMEWJsZ0yXAie5BznQNdKKpq3XjKBqtJicT0pm2bREq64NgVEpfn77MaDtDLxNTDNlQeoirb0WQ28YPM7Sd82riLCxNLHm+zfN8dPIjTqSfoLN751q2tG4pK1ayY/F5JJnE4JltKncUACYWMGolODWFwwu1dRljfqyVZkoNCU1JCTcWLiRv3XrMgoPxWLmyRp+lmmJmbER4oBPhgU78u7+2k9tfcXKOxGrjHfuv3ADA2dqMLgGOhAc60SXAiQBnq0btPEqUJbz7x7fsSFqDZFdCR5fHmNv5RVo4tahv0x4anToLSZIGAF8ARsAKIcRHd7w+HW2DJTVQBLwghLgsSZIfcAWIrjj0uBBiui5trQtsnMwxtzZBXmiMt4MDpZGRODw9pkZzjQ4ezXcXv+Orc18R5hbWYL+AarWGPcsvUphTxrCX22HrXIXgqUwGvd/QSoL8OgtW9IWIDeAUqHuD9YDS8+dJmzsPRVISjpMn4/LyS8geUKeja+wtTRkY4s7AEG02T5K8hOPxcv6Kl/NXnJwdF9IBcLUxu+U4wgOc8HWybLCf3dtRapSsvbKWxeeWU6LOx1K05JOec+nh26G+Tas1dOYsKnpgLAb6ASnAKUmStgkhLt922BohxLKK44cCnwEDKl6LE0K01ZV99YEkSTTxsyUzsZDgtm2r1JO7MsyMzJgWOo13/3qXI6lH6OHVoxYtrRuEEBxZd43U6Fz6TGyBR9P7dwS8izZjwN5HKxHybe8KiZDqZZg1JIRSSfayb8hetgzjJq74fP89Vp3D6tuse+LjZImPkyVjOnkjhCDhpvOIk3MsTs6vkWkAuNuZEx5Q4TwCnfB2rLl6an0ghOBI0jk+PPkOKSXxqIqb0tZ6FqsmjMHCtHHVquhyZREGxAoh4gEkSVoHDANuOQshRMFtx1sBjSOAch9cfW1IuiTHOKQdRQcPosrNxdjBoUZzDW86nFVRq/j63Nd09+ze4K7Qog6lcOlIGu37+9A8vIb55T5dYOrv2kypn4ZrZc7bT6hdQ/WA8uvXSZs7j7KoKOyGDaXJ/PkY2dSemJwukSQJf2cr/J2tGBfmgxCCuKziWyuPwzFZbD6XCoCnvcUtxxEe6ISnvX6k6SrVGhLlJcRmFhGXpb3FZOWQoNqMsDuMUNlQnjGBSe2e5PWBLRplXYounYUnkHzb4xTgrs11SZJmAa8CpkDv217ylyTpHFAAzBdCHLnH2BeAFwB8fBpGD2ZXP1uEgBJPrS5P6fnz2PTsWaO5TGQmTA+dzvw/5/N70u/09e1bi5bqlsRLco7+EoN/qDNdhj3k9pGjP0z5DTY8B9tma3Wl+ryt3a5q4AghyFu3jhv/W4jMzAzPRZ9jO2DAgwfqMZIk0dTVmqau1jzTxRchBDGZRbdWHgeu3mDT2RQAfBwtb8U8wgOccbOrmvx6TSkoUxKXWURcVvE/HEOSvASV5u9rWReXRDROG0DKpq3dAJ5rPos2Hm642urWvvpEl87iXq71rpWDEGIxsFiSpPHAfGAikI62hatckqQOwFZJklrdsRJBCLEcWA7abKjafgO6wNVX2zMq38QFCyMjSiMja+wsAAYHDGZF1AoWRy6ml3cvjGT6v/TNSSvmt28v4uhpTd9JLZFq4yrMwl4bt9g9F/78AuRx2noM04arqKrMzCR9/nyKDx/Bqls33D/4oFH2m5AkieAmNgQ3seHZcD80Gm2a7k3nsffSDX45rXUe/s5WdAlwvBXzqMmPs0YjSC8oq3AK2ltshYO4WUsCYGIk4edkRbCrDQNbuxHoYk0Tew3bkpexK2E7frZ+LAj/mI5uD0wkahTo0lmkALd35fEC0u5z/DpgKYAQohwor7h/RpKkOCAY0O/c2CpgaWuKjaM5WWllBDdrRunpMw81n7HMmFltZ/Hvw/9mb8JeBgUMqiVLdUNpkYKdS85jZGqkzXwyr8WPoJEJDP4MnINh73/hu4Ewbj3Y6q+EQmUU/PYbGW8tQFNaSpP583GIGN/gthlrikwm0cLdlhbutkzq5o9aI7iSXsDxeDnH47XB8rUntZsWAS5WhFdsW3UJcMLZ+m/5/jKlmgR5MXGZxbecQlxWEXGZxZQq1beOszE3pqmrNT2DXQh0tSbQxZpAFyu8HS1v1YwIIdibuJf/nviQgvICng95nmmh0zAzaoTtAipBZ3UWkiQZA9eAPkAqcAoYL4S4dNsxQUKImIr7Q4AFQoiOkiS5ADlCCLUkSQHAESBECJFT2fkaQp3FTfYsjyIrqZCBXhfIWvQFHh9/jN2QJ2s8n0ZoGL19NAq1gq3DtmIs08+M6PTYPA6tiSY/s5Th/2qHm78Otfmv7dVKhJjZwvh14B6qu3PVIuqiIm68/wH5W7Zg3qoVHh8vxCxAfwq49AG1RnApLf/WyuNUQi5F5SoAglyt8XSw4Hp2Mck5Jdy2c4SnvUWFM7Ai0EW7DRboYo2ztel9HXFGcQbvH3+fQymHaOXUine6vkMzx2a6fpt1Rr3XWQghVJIkzQb2ok2dXSWEuCRJ0rvAaSHENmC2JEl9ASWQi3YLCqAH8K4kSSq0abXT7+coGhquvrbEnc3C8rWJWBw9SvqCBZi3bIFZYM327mWSjNltZ/PSwZfYHredEUEjatnih6M4v5y/tsQRfTwDawczBs4I0a2jAAjuD5P3agPfqwZo27c2H6zbcz4kJadPkzbvPyjT03GaMR2XGTOQ6jklVh8xkkm08bKnjZc9L/QIRKXWEJWaz/H4HP6Kl3OjoJzWnnYMa+t5yzEEuFhhaVq9nzuN0LAhegOfn/0ctUbNax1fI6JFhN5ejOkaQwV3PZAancvWz8/x5JxQPJxVXB8xEmMnR/zWr0dmWbPUQSEE43aOI7cslx0jdmBiVP96PWq1houHUjm5PR6VSkO7vj50GOiHiVkdxlUKM7QSIWnnoN+70HWO3kmEaBQKsr/6CvmKlZh4e+Pxv4+wbNd4ZFwaIvH58bxz7B3OZp6li3sX3gp/C2+bBtrr/gFUdWXR8NNFGiAuvjYgQWZCASZNmuDx8ULKY+PIeOddauq8JUliTrs5pBWnsTlmcy1bXH1So3P55f1THN0Qg1ugHePe7EyX4YF16ygAbNxg0i5oOQz2valdaRTeqFsb7kN5TAwJY55G/u0K7EePImDLZoOjqEeUaiXfnP+G0dtGE5sXy3vd3mN5v+WN1lFUh0dzPVXPmJob49DEkswEbXKXdbduOM+cSfbixViGdcJ+1KgazdvVoyvtXduz/MJyhjUdhrlx3afxFeWWc2xTDDGnM7FxMmfg9BD8Q53rNzhrYgGjv4OTXWD/27CkCwxZpHUg9YTQaMj58UeyPvscmbU1XksWY9O794MHGtAZUVlRLPhrATG5MQzwG8C8sHl10qmuoWBYWdQTTfxsuZFYeGsl4TxzBpbhXch49z3KoqMfMPreSJLE7HazySzN5JfoX2rT3AeiVmk4uzeRn98+TnxkNp0G+zF+QWcC2rroRxaPTAZdZsC0w9qq71+ehc3TtC1c6xhlejpJk6eQ+dH/sOrWjYBtvxocRT1Soixh4amFPLP7GfLL8/my15d8/PjHBkdxBwZnUU+4+tlSWqCgKFeb1y0ZGeH58ccY2dqS+uJLqIuKajRvJ7dOdHHvwsqLKylRltSmyZWSfDmHde+d5K8tcXg1c2Dcgs6EDQnAWB/lDlyawdT90GMuRG2AJV0h/o86O33+jp3EDxtO6YULuL33Ll5LFmPsbPhRqi+OpR5j5LaR/HT5J54Kfoqtw7bSy6dXfZullxicRT1xszjv5lYUgLGzM56ffYoiOZmMt96qcfxidrvZ5JTlsObqmlqxtTIKc8rY800U276MRKMRDJ7VhsEz22Dnoh8SDZViZKIVIpzyGxibwY9DYc/rWvlzHaHOzyf11X+R9tprmPn7E7BlMw5PPaUfq65HkLyyPN44+gbT9k/DRGbCDwN+YH6X+diYNgwJlfrAELOoJ5y9rJEZSWQmFhDY/u+qXMtOnXB5+WWyPvsMiw4dcIyIqPbcoS6h9PDqwaqLqxjTbAy2pra1aTpqpYZz+5I4szsBgM5DA2jbzxtjEz1cSdwPr44w/QjsWwDHl0DcARjxDXjUrn5l0ZGjpM+fj0oux+WlF3F6/nkkY8NXrz4QQrAnYQ8fnfyIgvICXmjzAi+0eeGRKq6rKYaVRT1hZCLD2cuahCg5KVdzUKs0t15zmjoF68cf58ZH/6M0KqpG889qO4tCRSE/Xf6ptkwGICEqm7XvnuDEtnh8Wzsx/p0udBzk1/AcxU1MrWDwJ/DMZm38YkUf+ONjUKseeuqSs+dIfG4Syc8/j8zSEr+1a3GeMcPgKOqJjOIM5hyYw9zDc/Gw8mDdk+uY026OwVFUEUOdRT1y/vdkjm2JRaMSmJgZ4d3CEd/WTvi0csKcEq6PGoUkyfDfvAkju+oXsb166FWOpR1jz8g92JtXU/77DvKzSjm6IYaEC9nYN7Gkx9PBeLdsZA2HSnJg12twcRN4ddKuMmrQI6M06iJZX31J8eEjGDk54fT8VBzGjkVm3nhF5vQZjdDwS/QvLDq7CI3QMLvtbCJaRDQIHbW6wNBWtYGgLFeTEp1L4kU5iRezKcrRBrydvKzxdFFj/OP/8Gjjhc+Sr6q9vx2bG8vIbSOZ1HoSr3R4pUb2qRRqzuxN5NzeJCQjiU6D/Ajt442RcSNelEZthJ2vgloJT7wHHadUqZCvLDqarC+/ouj33zGys8Nx6hQcIyJqXGhp4OGJz4tnwbEFRGZFEu4ezlvhb+Fl41XfZukVBmfRABFCkJNeTOJFOUkX5aTH5qPRCIyVJbg3EQQP6YhPKycsbasuAfGfI//h98Tf2T1qd7VSAYUQXD+fzdENMRTKywjq6ErXUUFYOzwiS/aCNG0XvrgDENgHhi2uVJCwPC6OrK+/pnD3HmTW1jhOeg7HiRMxsrauY6MN3ESpVrLy4kqWX1iOpYklczvNZUjAEENCwT0wOItGgKJURdKVHK58u4OMMgcUZtqtKFdfG3xaOeHb2glXP9v7NlpJLEhk2NZhjGs+jnlh86p03rwbJRz55RpJl3Jw9LCix9PBeDarWYOmBo0QcGoF/PamNmvqyc+g9d8Fk4rERLKXLCF/+w4kc3Mcn52A06RJNdoyNFB7XMi6wIJjC4jNi2Wg30Dmhc3DycKpvs3SWwzOohGhLiwkfuQoCiQH1NPfJiWuhIz4fIQAcysTfFpVxDpaOmFufbcm1IJjC9get51dI3fhZuVW6XmU5WpO704gcn8SxsYywoYE0LqnJ0ZGjXjLqSpkx8CWaZB6BlqPRtnuX2R9t4b8LVuRTExwGD8ep6lTMHZsZDGcBkSxspgjKUf4LfE39ifux9XSlTe7vMnj3o/Xt2l6j8FZNDJKL10icdx4LMPC8F7+DeWlapIv55B4SU7SJTmlhUokCZr4295adbh42yDJJNKK0hi8ZTAjmo7grfC37ppbCEHc2Sz+3BhDUW45zTq7ET4yECu7R2TLqSqoVSi3v4d85ffkxlkiyYyxHzsWpxeex8S18TUkaggUKAr4I/kP9iXu48/UP1FoFDhbOPNkwJNMazMNa1PDNmBVMDiLRkjuuvVkvP02Li+/hPP06beeFxpBZlJhRZBcTmZiAQiwsDXFt5Ujvq2d+aVoFRsS17NtxLZ/iKLlpBdzZP01Uq7m4uRlTY+xwXg0fbjMqcaGSi5HvvxbcteuRajV2DeXcA5IwaTXVOj7DpgaAth1RV5ZHgeTD/Jb4m8cTz+OSqOiiWUT+vn2o59vP0JdQg1ZTtXE4CwaIUII0v49l4Jdu/BZtQqrLne1NAegpEBB8mWt40i6nEN5iQpJBunW8VgGanh+8Hhsncw5tSuBC78nY2JuROehAbTq7oHsUd9yug1Vbi45q1aRs/pnRHk5dsOG4TxzBqZuzrD/HTixFJyaatu3enaob3MbLdml2RxIOsC+xH2cyjiFWqjxtPa85SBaO7dGJhk+tzXF4CwaKZriYq4/NQZ1QQH+mzc9cAtEo9Zw43oBiRflnDp1BZlcexUsk0loNIIW3dzpMiywWhlWjR11QQE53/9Azg8/oCkpwXbwYJxnzcTM3/+fB8Yfgq0ztT0zevwberymlRIx8NDcKL7B/qT97Evcx9kbZxEIfG19bzmIFo4tDJlNtYTBWTRiymNiuP7UGCxCQvD5blWVK4JzynIYseYpejOUnhYDaNbFTfcd6xoQmuJicn5ajXzVKjQFBdg88QQuc2ZjFhRU+aDSPNg9Fy6sB492MGI5uATXndGNiLSiNPYl7mNf4j7OZ50HoKl9U/r59qOvb1+C7IMMDkIHGJxFIydvy1bSX38dp+nTcH355SqP+/Lsl3wb9S0bh2xsVH2EHwZNaSm5a9YiX7ECdW4u1r164TJnNuYtW1Z9kktbYcfLWjHCvu9A2AtaWXQD9yWxIJF9ifvYn7ifS/JLALRwbEFf37709e1LgJ2h/7iuMTiLR4C0+fPJ37gJ7+XfYN2jR5XG5JfnM3DTQDq5deKL3l/o2EL9RqNQkLf+F7KXf4M6Kxurbt1weXEOFqGhNZuwMAO2zYGY38D/cRi+BOwM1cJ3EpcXd2sFcS33GgAhziH09e1LP59+eNsautLVJQZn8QigKSsj4emxqG7cwH/LZkzc711hfCfLzi9jceRiFvdZTA+vqjmZxoRQKsnbvIXspUtRZWRolX5fehHLjg/8vlRhcgFnvoe9b4DMWCtSGPKU3vX9rkuEEFzLvXarBiI+Px6Adq7ttFtMPn1xt67aZ9dA7WNwFo8I5devkzBqNGbBwfj+9COSyYMDrCXKEibumUh8Xjxf9fmKrh5d68DS+keoVORv2072kiUoU1KwaNtW6yS6dKn9vXB5HGydAcknoOVwGPwpWD06TY6EEFyWX77lIJIKk5BJMjo06UA/33708emDq6WhPkUfMDiLR4iCXbtIffVfOE6aRJN5c6s0Jq8sjym/TSGxIJGv+3xNF/cuOrZSdwgh0BQVoc7LQ52bq/33HrfSS5dQJiZh3rIlLi+9iFWPHroNmGrU8OciOPghGJtD+EwInwXmjTepQCM07IzfybLzy0gqTMJIMqKze2f6+valt3dvg+yGHmJwFo8YGe++R+6aNXh9/RU2fftWaUxOWQ5T9k4hpTCFxX0WE+YepmMrH4xQqVDn51f6w6+6eT/3tufz80FVSf8JScLI1hYjBweM3dxwfCYC6z596jarJvMqHHwfrmwDc3vo9iKETQOzxlNhLITgSOoRvjj7Bddyr9HCsQXjmo+jt09v7Mwar3NsDBicxSOGRqEgcXwEisRE/DdvwtS7akFCeamcqb9NJaUwhSV9l9DJrZPObBRqNUWHD1N25co/ncBtP/yawsJKx0smJhjZ22tvDg5/37/95nDHY1tbJCM9qehNi4SDH0DMXrB0hu6vauXPTRp2n4vIzEg+P/M5ZzPP4m3jzZx2c+jv199QKNdAMDiLRxBFSgrXR47C1MsL37VrkJlVTdspuzSbKXunkF6cztK+S+nQpHarkVW5ueRv2kTumrUo09IAkFlZ3fEjX/mPv3HFfcnSsnHk2SefhAP/B9f/ABsPbTFfuwlg3LAKI2NzY/ni3BccSj6Ek7kTM0JnMDJoJCaGwsQGhV44C0mSBgBfAEbACiHER3e8Ph2YBaiBIuAFIcTlitdeB6ZUvPaiEGLv/c5lcBZaCg8cIGXmLBzGj8PtrbtFAysjuzSbyXsnk1GcwbK+y2jfpP1D21J25Qo5P/9MwfYdiPJyLDt1wuGZZ7Du1ROZacP6YdQJ1w9rnUbyCbD3gcf/A22eBiP9bruaVpTG4sjFbI/bjpWJFZNbTyaiRQSWJgaNrIZIvTsLSZKMgGtAPyAFOAWMu+kMKo6xFUIUVNwfCswUQgyQJKklsBYIAzyA/UCwEEJd2fkMzuJvbiz8mJxVq/D49BPsBg+u8riskiwm751MZkkm3/T7hraubat9bqFUUrh/Pzmrf6b0zBkkc3Pshg7FISIC82aGyua7EAJif4cD70F6pFZrqufr0Gqk3hX15Zbl8m3Ut6y7ug4JiXHNxzE1ZOpDt+w1UL/og7MIB94WQvSvePw6gBDiw0qOHwc8K4QYeOexkiTtrZjrr8rOZ3AWfyOUShKfnUh5dDR+GzdiFuD/4EEVZJZkMnnvZLJLs/mm3zeEulStQE2VnU3ehg3krluP6sYNTLy8cBg/HvtRIw3NgKqCEHB1pzYQnnkZXFtCrzeg+eB6r9EoUZbw4+Uf+f7S95SqShkWOIwZoTMMtRH6gkYDZXlgWbN+KvrgLEYDA4QQUyseTwA6CyFm33HcLOBVwBToLYSIkSTpa+C4EGJ1xTErgd1CiI13jH0BeAHAx8enQ2Jiok7eS0NEmZHB9eEjMHZ1xW/9OmQWFlUee6P4BpP2TiK3LJfl/ZYT4hJS6bGlFy6Qs3o1hbv3IJRKrLp1w+GZCKx79NCfwHJDQqOBS5vh0Icgj9XqTfWaD0371LnTUKqVbLi2gW8ufENOWQ59fPowp90cAu0D69QOA/ch7iDsXwBmtjBxe40+I1V1Frpc597L6rs8kxBisRAiEJgHzK/m2OVCiI5CiI4uLi4PZWxjw8TNDY+PF1IeE0PG//1ftcY2sWrCqv6rsDezZ9q+aVzKvvSP1zUKBfm//sr1p8aQMOZpin4/gP3TTxOwaxc+K1dg06uXwVHUFJkMQkbDzBPavt/Fcvh5FKwaANeP1IkJN2slhm4dyocnPyTALoDVg1azqNcig6PQF9LPw08j4KfhUJKrTZDQMbqMpKUAt+dvegFp9zl+HbC0hmMN3APr7t1xmj4N+dJlWHboiP3IEVUe62blxqr+q5i0dxLP73ueFU+sIEjlRO66deT9sgG1XI6pvz9N5s/HbvgwjKwbT82AXmBkDO2egZAxcO5HOPwJ/PCkVnOq95vgXfspzkIIjqYe5YuzXxCdG00zh2Ys7buUbh7dGkcWWmMgNwEOvA9Rv4CFA/T/oM7Sr3W5DWWMNsDdB0hFG+AeL4S4dNsxQUKImIr7Q4AFQoiOkiS1Atbwd4D7dyDIEOCuPkKtJmnyFErPn8dv/fpqB5lTC1P5v2/GE34sj07RKtAIrHv2xOGZCKzCw5H0LAjbaFGWwulVcOQzKMmGoP7Q+w1wr6Ho4R2czzrP52c+58yNM3hZezGn3RwG+A8w1EroC8VyOPIJnFoBkgy6zIBuL4PFwycX1HvMosKIQcAitKmzq4QQ70uS9C5wWgixTZKkL4C+gBLIBWbfdCaSJL0BTAZUwMtCiN33O5fBWVSOKiuL+JEjMbK2wW/DBoysrR44RlNaSv6OHeT+vIbyq1cpMZc40s6MAa8uonnI43VgtYF7Ul4EJ7+BP7+AsnxoOQx6/hdcm9douri8OL48+yUHkg/gZO7E9NDpjAoaZaiV0BcUJXB8ifb/W1EEbSOg13/B1qPWTqEXzqIuMTiL+1N84iRJkyZhO2AAHp9+Uum2giIlldy1a8jbuAlNfj5mwcE4PBNBYa92TD40g3J1OSueWGHohVHflOZpf0T+WgyKYmgzBh6fB05ViylkFGewOHIx2+K2YWlsyXOtnmNCywmGWgl9Qa2CyNVaXbGiDGg2CPosqPFFwf0wOAsDd5G97BuyFi3C7e0FOIwde+t5IQQlf/1FzuqfKTp4EGQybPr2xSFiPJadOt1yLMkFyTy39zmUaiUr+68kyOE+HeQM1A3Fcjj2BZxYDmoFtIuAHnPB/t5yL3lleayIWsHaq2sRiFu1Eg7mDnVsuIF7cjOF+vd3IPsaeIVBv3fBN1xnpzQ4CwN3ITQakqdNp+T4cXzXrcXU14/8X7eS+/MaFPHxGDk4YD9mDA5jn660N0ZiQSKT90xGJVSs6r/KkB2jLxTegKOfaeMaAB2eg+7/Ahs3QFsrsfrKar67+B0lqhKGBg5lZuhMQ62EPpF0HPa9pa3odwqCvgug+ZM6T5k2OAsD90SVm8v1ESMRKhWirAxNURHmrVvj8EwEtgMHVklP6nr+dabsnYJGaFjVfxUB9obWl3pDfgoc/hjOrQaZMcr2z7LJ3pFlyXuRl8np7d2bOe3m0NShaX1bauAmWdGw/x2I3gnWTbQV/O0m1Jnsi8FZGKiUknPn+P/27j226vM84Pj3sY/xDfvYxCGeY3xDOM0NRkoa0mQhCb6gTEsmNWrTLVqTcGuyhd2nSZXSdpW2qdW0alXVlin2ulbNsmZVh6ou2AaiNEmJ4oZADCGAjW0MJRiwDxDj63n2x/vDPpwYzrF9Lj4+z0c68u/ynuPn9bHP4/d3ed6+bdvIv2cxcPHKAAAM70lEQVQtS578Y3JWrZrxpZFdgS6eefUZRISmxiaq/dHfJW7iJzAS4HjgOJ0n99L1wc/YM3SCE1k+Pj0yzl8UreR3P/W4u8Fvlnf7mhi6cMrdfLnvx5CVD/f/Oax9DhZFvgAllixZmLjrGuzi6Z1PkymZNDU2UeWvSnZIaUFV6b/cT+dgJ12BLo4HjtMV6KJrsItzw+cm22VnZnNrUS1blqzi/tPHkWOt7rJbyYBl90Bto7sEd+mtSS8pklaGA/DGt2Hv9yA4DndvcpWHkzSToiULkxDHBo6xsWUjPvHRvKGZisKKZIe0YEwEJzh56aRLBF4yuJIYLo1dmmxXkFVAdVE1Nf4aavw1LC9aTrW/mrL8MjIzQu6kDwbh1LtwZCcceRVOH3Db/RVQ2wC1G6Dq91J+fo15a3zE3Sfx+rfg8oCbm/2hr8CS5I7KLVmYhDk6cJSNOzeyKHMRzY3NLCuMbuIl44xOjNJ9oduNEgaPTyaH7kA3o8HRyXYluSXU+Guo9lezvGj5ZHIoyS2Z3R3WF07B0RY40gJde2BsCHy5UPOgN+poAP/NMetn2goG4f2funL0gV738637OpTNvKpzPFiyMAn14fkP2dSyiRxfDk2NTSwrsIQR7tLopalDRiGjhb5LfQQ1CIAglC0umxwhXEkO1f7q+E5POjYMPW9MjToGe9320jvdoaraDXDzXZBhNb+ipgqdu6D1a/DR+1C6Euq/DssfTnZkV7FkYRLu8PnDbGrZRJ4vj+YNzdy8OL3/Kw2MBHjtxGu09bZx6Nwhzgydmdzny/BRWVBJTVHN5AihpqiGysJKcn3RVwiOC1V3hc7RnS559O4FnYC8G9xoY0WD+8CLQamJBevUPmj9qpsNsagCHn4B7vjcvJujBCxZmCQ5dO4Qm1s2U7CogKbGJsoWx64sQSo4P3ye3b27aetp4+3fvs24jlOaX8qam9ZMnkuo8ddQXlBOVkaKlNS4POAmaDra4h6XByDDBxX3Tp0kL1lhJ8kBzh93E1l1/A/kLoF1fwdrngFfdFMcJ4MlC5M0B88dZHPLZgoXFdLc2Lzgb/zqH+pnV+8uWntaaf+onaAGKV9cTn1VPQ2VDdx+w+0Lp2prcAL62t2hqqMt8FGH215c7RJHbSNU3jfzD8eJMVcscXzYnTsZ876OD7vt4fvGL09tH7vsrXv7g+OAuKu+RLxHRti2adZFomhzZds0r/vxGdj/skuk9/4p3LcNcub/xF+WLExSdZztYEvLFvzZfpo3NFOaX5rskGLq9Menaetpo7WnlX1n9qEo1f5q6irqaKhq4JbiWxZOgriewRPeSfKd7pDL+LC7Z6DmQcgr9j7Mr/fh7i0Hx2f3/TMXQVauOzGflQNZee7DGnUz4GjQPVBvWcPWg1Ptwtt8Ylv4c8PWJRNWPeFuqitMnX+QLFmYpDvQf4CtrVtZkrOEpsYmbsq/KdkhzcmJiydo62mjraeNA2fdZacrildQX+lGEGlf+mR0CLp/5RJH5253qWhWrvdhnjO1HP7h7vO+ZuVcvTy5L/Q5Ya9nJ9znzJKFmRf29+9na+tWbsy9kRcbX2Rp3tJkhzQj3YFuWntaae1p5YPzHwBw2w23UV9ZT11Fnd2IaFKeJQszb7x35j22tm5lad5SmhqbuDFv/k6Bq6p0DnbS2tNKS08LxwaPAbDyxpXUV9RTV1lHeUF5kqM0JnYsWZh55d2P3uXLbV+mNL+U7zz8Hcryy+bNBDuqyuHzhydHEN0XuhGE1UtX01DVwPqK9QvunIsxV1iyMPNO++l2ntv1HJfHLwOQn5VPUXYR/mw/RdlFVz9yiib3FWcXTy7n+nJjcuJYVek42zGZIPou9ZEhGdxdejf1FfWsr1xPSW5yavUYk0jRJovE1MA1BlhTuoaXfv8l2k+3MzgyePVjeJDeC70ERgJcHLt4zdfIzsyeTC7F2cVTiSan6JMJx9u+OGsxIkJQg+zv309LdwttvW2c/vg0PvFxT9k9bLpzEw9VPMSSHKvGasx0LFmYhFpetDziVUNjwTECIwECIwEGhgcIjAQYHBlkYGRqeXDYJZkjA0dc29HAZMmMcD7xUZhdiKoyMDJAVkYW95Xdx/Orn2dd+br4ltEwZoGwZGHmnayMLEpyS2Z0GCioQS6OXnRJJSTBhD7GJsb4bNlneaD8ARYvWhzHHhiz8FiyMAtChmTgz/bjz/ZTWViZ7HCMWXDmX1UrY4wx844lC2OMMRFZsjDGGBNRXJOFiGwQkQ9F5JiI/P00+/9KRA6JyAER2SUilSH7JkTkPe+xI55xGmOMub64neAWkUzgu0A90Ae8IyI7VPVQSLN9wBpVHRKRZ4FvAl/w9l1W1fkx76AxxqS5eI4sPgMcU9UuVR0F/gt4LLSBqu5R1SFvdS9gRXeMMWYeimeyuBk4EbLe5227lo3A/4Ws54hIu4jsFZE/jEeAxhhjohPP+yymK+AzbSEqEXkSWAOsC9lcoaqnRKQG2C0i76tqZ9jztgBbACoqKmITtTHGmE+IZ7LoA5aFrJcDp8IbiUgd8BVgnaqOXNmuqqe8r10i8hqwGrgqWajqdmC79zr9ItIzh3hLgLNzeH4qSrc+p1t/wfqcLubS56juYo1b1VkR8QFHgPXASeAd4I9U9WBIm9XAK8AGVT0asr0YGFLVEREpAX4NPBZ2cjzW8bZHU3lxIUm3Pqdbf8H6nC4S0ee4jSxUdVxE/gzYCWQCTap6UET+AWhX1R3At4DFwE+9stO9qvoocCvwAxEJ4s6r/HM8E4Uxxpjri2ttKFX9JfDLsG0vhCzXXeN5bwF3xjM2Y4wx0bM7uKdsT3YASZBufU63/oL1OV3Evc8LZqY8Y4wx8WMjC2OMMRGlVbKIolZVtoi87O1/W0SqEh9lbM2lPleqitTnkHaPi4iKSMpfORNNn0Xk8957fVBEfpLoGGMtit/tChHZIyL7vN/vR5IRZ6yISJOInBGRjmvsFxH5N+/ncUBE7oppAKqaFg/cFVmdQA2wCNgP3BbW5jng+97yE8DLyY47AX1+CMjzlp9Nhz577QqA13FlZtYkO+4EvM8rcLXYir31pcmOOwF93g486y3fBnQnO+459vkB4C6g4xr7H8FVwRBgLfB2LL9/Oo0sItaq8tZ/6C2/AqwX75reFJWO9bmieZ8BvoErXDmcyODiJJo+bwa+q6oDAKp6JsExxlo0fVag0Fv2M81NwalEVV8Hzl+nyWPAf6qzFygSkd+J1fdPp2QRTa2qyTaqOg4EgBsSEl18zLU+VyqK2GfvZtBlqvqLRAYWR9G8z7VArYi86dVb25Cw6OIjmj5/DXhSRPpwl/A/n5jQkmamf+8zkk5zcEdTqyrqelYpYq71uVLRdfssIhnAvwJPJSqgBIjmffbhDkU9iBs9/kpE7lDVwTjHFi/R9PmLwH+o6r+IyL3Aj7w+B+MfXlLE9fMrnUYW0dSqmmzjlSvxc/1h33w30/pcj2pIfa4UFanPBcAdwGsi0o07trsjxU9yR/u7/b+qOqaqx4EPcckjVUXT543AfwOo6q+BHFwNpYUqqr/32UqnZPEOsEJEqkVkEe4EdvgMfDuAL3nLjwO71TtzlKIi9tk7JPMDXKJI9ePYEKHPqhpQ1RJVrVLVKtx5mkdVtT054cZENL/bP8ddzIBXb60W6EpolLEVTZ97cbXpEJFbccmiP6FRJtYO4E+8q6LWAgFV/W2sXjxtDkNpdLWqXsQNVY/hRhRPJC/iuYuyz9eqz5WSouzzghJln3cCDSJyCJgA/lZVzyUv6rmJss9/Dfy7iPwl7nDMU6n8z5+IvIQ7jFjinYf5KpAFoKrfx52XeQQ4BgwBT8f0+6fwz84YY0yCpNNhKGOMMbNkycIYY0xEliyMMcZEZMnCGGNMRJYsjDHGRGTJwpgYEZFu7x6GObUxZj6yZGGMMSYiSxbGzIKI/FxEfuPNDbElbF+ViBwWkR968wq8IiJ5IU2eF5F3ReR9EfmU95zPiMhb3twLb4nILQntkDERWLIwZnaeUdVP44ovbhOR8OrEtwDbVXUlcAE3V8oVZ1X1LuB7wN942w4DD6jqauAF4B/jGr0xM2TJwpjZ2SYi+3G1pZbxyaJ8J1T1TW/5x8D9Ift+5n39DVDlLftxJVc6cFVxb49H0MbMliULY2ZIRB4E6oB7VXUVbga6nLBm4XV0QtevVPadYKo+2zeAPap6B/AH07yeMUllycKYmfMDA6o65J1zWDtNmwpvDgVw8yq8EcVrnvSWn4pJlMbEkCULY2buVcAnIgdwI4K907T5APiS12YJ7vzE9XwT+CcReRNXRdWYecWqzhoTYyJSBfzCO6RkzIJgIwtjjDER2cjCGGNMRDayMMYYE5ElC2OMMRFZsjDGGBORJQtjjDERWbIwxhgTkSULY4wxEf0/7SAcZ6yiIlAAAAAASUVORK5CYII=\n",
"image/svg+xml": "\r\n\r\n\r\n\r\n",
"text/plain": ""
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"figure_12_3()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Figure 12.6: TD(lambda) algorithm\n",
"def figure_12_6():\n",
" lambdas = [0.0, 0.4, 0.8, 0.9, 0.95, 0.975, 0.99, 1]\n",
" alphas = [np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 0.99, 0.09),\n",
" np.arange(0, 0.55, 0.05),\n",
" np.arange(0, 0.33, 0.03),\n",
" np.arange(0, 0.22, 0.02),\n",
" np.arange(0, 0.11, 0.01),\n",
" np.arange(0, 0.044, 0.004)]\n",
" parameter_sweep(TemporalDifferenceLambda, 50, lambdas, alphas)\n",
"\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "100%|██████████| 50/50 [00:51<00:00, 1.02s/it]\n"
},
{
"data": {
"image/png": "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\n",
"image/svg+xml": "\r\n\r\n\r\n\r\n",
"text/plain": ""
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"figure_12_6()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# Figure 12.8: True online TD(lambda) algorithm\n",
"def figure_12_8():\n",
" lambdas = [0.0, 0.4, 0.8, 0.9, 0.95, 0.975, 0.99, 1]\n",
" alphas = [np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 1.1, 0.1),\n",
" np.arange(0, 0.88, 0.08),\n",
" np.arange(0, 0.44, 0.04),\n",
" np.arange(0, 0.11, 0.01)]\n",
" parameter_sweep(TrueOnlineTemporalDifferenceLambda, 50, lambdas, alphas)\n",
"\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "100%|██████████| 50/50 [00:59<00:00, 1.23s/it]\n"
},
{
"data": {
"image/png": "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\n",
"image/svg+xml": "\r\n\r\n\r\n\r\n",
"text/plain": ""
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"figure_12_8()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 第二个案例\n",
"\n",
"应用Sarsa(lambda),使用不同类型的迹。"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"#######################################################################\n",
"# Copyright (C) #\n",
"# 2017-2018 Shangtong Zhang(zhangshangtong.cpp@gmail.com) #\n",
"# Permission given to modify the code as long as you keep this #\n",
"# declaration at the top #\n",
"#######################################################################\n",
"\n",
"import numpy as np\n",
"import matplotlib\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"from math import floor\n",
"from tqdm import tqdm\n",
"\n",
"#######################################################################\n",
"# Following are some utilities for tile coding from Rich.\n",
"# To make each file self-contained, I copied them from\n",
"# http://incompleteideas.net/tiles/tiles3.py-remove\n",
"# with some naming convention changes\n",
"#\n",
"# Tile coding starts\n",
"class IHT:\n",
" \"Structure to handle collisions\"\n",
" def __init__(self, size_val):\n",
" self.size = size_val\n",
" self.overfull_count = 0\n",
" self.dictionary = {}\n",
"\n",
" def count(self):\n",
" return len(self.dictionary)\n",
"\n",
" def full(self):\n",
" return len(self.dictionary) >= self.size\n",
"\n",
" def get_index(self, obj, read_only=False):\n",
" d = self.dictionary\n",
" if obj in d:\n",
" return d[obj]\n",
" elif read_only:\n",
" return None\n",
" size = self.size\n",
" count = self.count()\n",
" if count >= size:\n",
" if self.overfull_count == 0: print('IHT full, starting to allow collisions')\n",
" self.overfull_count += 1\n",
" return hash(obj) % self.size\n",
" else:\n",
" d[obj] = count\n",
" return count\n",
"\n",
"def hash_coords(coordinates, m, read_only=False):\n",
" if isinstance(m, IHT): return m.get_index(tuple(coordinates), read_only)\n",
" if isinstance(m, int): return hash(tuple(coordinates)) % m\n",
" if m is None: return coordinates\n",
"\n",
"def tiles(iht_or_size, num_tilings, floats, ints=None, read_only=False):\n",
" \"\"\"returns num-tilings tile indices corresponding to the floats and ints\"\"\"\n",
" if ints is None:\n",
" ints = []\n",
" qfloats = [floor(f * num_tilings) for f in floats]\n",
" tiles = []\n",
" for tiling in range(num_tilings):\n",
" tilingX2 = tiling * 2\n",
" coords = [tiling]\n",
" b = tiling\n",
" for q in qfloats:\n",
" coords.append((q + b) // num_tilings)\n",
" b += tilingX2\n",
" coords.extend(ints)\n",
" tiles.append(hash_coords(coords, iht_or_size, read_only))\n",
" return tiles\n",
"# Tile coding ends\n",
"#######################################################################\n",
"\n",
"# all possible actions\n",
"ACTION_REVERSE = -1\n",
"ACTION_ZERO = 0\n",
"ACTION_FORWARD = 1\n",
"# order is important\n",
"ACTIONS = [ACTION_REVERSE, ACTION_ZERO, ACTION_FORWARD]\n",
"\n",
"# bound for position and velocity\n",
"POSITION_MIN = -1.2\n",
"POSITION_MAX = 0.5\n",
"VELOCITY_MIN = -0.07\n",
"VELOCITY_MAX = 0.07\n",
"\n",
"# discount is always 1.0 in these experiments\n",
"DISCOUNT = 1.0\n",
"\n",
"# use optimistic initial value, so it's ok to set epsilon to 0\n",
"EPSILON = 0\n",
"\n",
"# maximum steps per episode\n",
"STEP_LIMIT = 5000\n",
"\n",
"# take an @action at @position and @velocity\n",
"# @return: new position, new velocity, reward (always -1)\n",
"def step(position, velocity, action):\n",
" new_velocity = velocity + 0.001 * action - 0.0025 * np.cos(3 * position)\n",
" new_velocity = min(max(VELOCITY_MIN, new_velocity), VELOCITY_MAX)\n",
" new_position = position + new_velocity\n",
" new_position = min(max(POSITION_MIN, new_position), POSITION_MAX)\n",
" reward = -1.0\n",
" if new_position == POSITION_MIN:\n",
" new_velocity = 0.0\n",
" return new_position, new_velocity, reward\n",
"\n",
"# accumulating trace update rule\n",
"# @trace: old trace (will be modified)\n",
"# @activeTiles: current active tile indices\n",
"# @lam: lambda\n",
"# @return: new trace for convenience\n",
"def accumulating_trace(trace, active_tiles, lam):\n",
" \"\"\"\n",
" 注意此处 w 还是由瓦片编码,\n",
" 因此对应的迹 z 也是对应维度的\n",
" \"\"\"\n",
" trace *= lam * DISCOUNT\n",
" trace[active_tiles] += 1\n",
" return trace\n",
"\n",
"# replacing trace update rule\n",
"# @trace: old trace (will be modified)\n",
"# @activeTiles: current active tile indices\n",
"# @lam: lambda\n",
"# @return: new trace for convenience\n",
"def replacing_trace(trace, activeTiles, lam):\n",
" \"\"\"\n",
" np.aragnge() 产生了索引序列\n",
" 如果上述数字在 activeTiles 中出现过 True\n",
" np.in1d() 返回 [boolean] 列表\n",
" \"\"\"\n",
" active = np.in1d(np.arange(len(trace)), activeTiles)\n",
" trace[active] = 1\n",
" \"\"\"\n",
" ~ 按位取反,~3=-4\n",
" \"\"\"\n",
" trace[~active] *= lam * DISCOUNT\n",
" return trace\n",
"\n",
"# replacing trace update rule, 'clearing' means set all tiles corresponding to non-selected actions to 0\n",
"# @trace: old trace (will be modified)\n",
"# @activeTiles: current active tile indices\n",
"# @lam: lambda\n",
"# @clearingTiles: tiles to be cleared\n",
"# @return: new trace for convenience\n",
"def replacing_trace_with_clearing(trace, active_tiles, lam, clearing_tiles):\n",
" active = np.in1d(np.arange(len(trace)), active_tiles)\n",
" trace[~active] *= lam * DISCOUNT\n",
" trace[clearing_tiles] = 0\n",
" trace[active] = 1\n",
" return trace\n",
"\n",
"# dutch trace update rule\n",
"# @trace: old trace (will be modified)\n",
"# @activeTiles: current active tile indices\n",
"# @lam: lambda\n",
"# @alpha: step size for all tiles\n",
"# @return: new trace for convenience\n",
"def dutch_trace(trace, active_tiles, lam, alpha):\n",
" coef = 1 - alpha * DISCOUNT * lam * np.sum(trace[active_tiles])\n",
" trace *= DISCOUNT * lam\n",
" trace[active_tiles] += coef\n",
" return trace\n",
"\n",
"# wrapper class for Sarsa(lambda)\n",
"class Sarsa:\n",
" # In this example I use the tiling software instead of implementing standard tiling by myself\n",
" # One important thing is that tiling is only a map from (state, action) to a series of indices\n",
" # It doesn't matter whether the indices have meaning, only if this map satisfy some property\n",
" # View the following webpage for more information\n",
" # http://incompleteideas.net/sutton/tiles/tiles3.html\n",
" # @maxSize: the maximum # of indices\n",
" def __init__(self, step_size, lam, trace_update=accumulating_trace, num_of_tilings=8, max_size=2048):\n",
" self.max_size = max_size\n",
" self.num_of_tilings = num_of_tilings\n",
" self.trace_update = trace_update\n",
" self.lam = lam\n",
"\n",
" # divide step size equally to each tiling\n",
" self.step_size = step_size / num_of_tilings\n",
"\n",
" self.hash_table = IHT(max_size)\n",
"\n",
" # weight for each tile\n",
" self.weights = np.zeros(max_size)\n",
"\n",
" # trace for each tile\n",
" self.trace = np.zeros(max_size)\n",
"\n",
" # position and velocity needs scaling to satisfy the tile software\n",
" self.position_scale = self.num_of_tilings / (POSITION_MAX - POSITION_MIN)\n",
" self.velocity_scale = self.num_of_tilings / (VELOCITY_MAX - VELOCITY_MIN)\n",
"\n",
" # get indices of active tiles for given state and action\n",
" def get_active_tiles(self, position, velocity, action):\n",
" # I think positionScale * (position - position_min) would be a good normalization.\n",
" # However positionScale * position_min is a constant, so it's ok to ignore it.\n",
" active_tiles = tiles(self.hash_table, self.num_of_tilings,\n",
" [self.position_scale * position, self.velocity_scale * velocity],\n",
" [action])\n",
" return active_tiles\n",
"\n",
" # estimate the value of given state and action\n",
" def value(self, position, velocity, action):\n",
" if position == POSITION_MAX:\n",
" return 0.0\n",
" active_tiles = self.get_active_tiles(position, velocity, action)\n",
" return np.sum(self.weights[active_tiles])\n",
"\n",
" # learn with given state, action and target\n",
" def learn(self, position, velocity, action, target):\n",
" active_tiles = self.get_active_tiles(position, velocity, action)\n",
" estimation = np.sum(self.weights[active_tiles])\n",
" delta = target - estimation\n",
" if self.trace_update == accumulating_trace or self.trace_update == replacing_trace:\n",
" self.trace_update(self.trace, active_tiles, self.lam)\n",
" elif self.trace_update == dutch_trace:\n",
" self.trace_update(self.trace, active_tiles, self.lam, self.step_size)\n",
" elif self.trace_update == replacing_trace_with_clearing:\n",
" clearing_tiles = []\n",
" for act in ACTIONS:\n",
" if act != action:\n",
" \"\"\"\n",
" 如果这个 s 中, a 不是当前选择的动作,\n",
" 删去这个 (s, a) 对应的瓦片\n",
" \"\"\"\n",
" clearing_tiles.extend(self.get_active_tiles(position, velocity, act))\n",
" self.trace_update(self.trace, active_tiles, self.lam, clearing_tiles)\n",
" else:\n",
" raise Exception('Unexpected Trace Type')\n",
" self.weights += self.step_size * delta * self.trace\n",
"\n",
" # get # of steps to reach the goal under current state value function\n",
" def cost_to_go(self, position, velocity):\n",
" costs = []\n",
" for action in ACTIONS:\n",
" costs.append(self.value(position, velocity, action))\n",
" return -np.max(costs)\n",
"\n",
"# get action at @position and @velocity based on epsilon greedy policy and @valueFunction\n",
"def get_action(position, velocity, valueFunction):\n",
" if np.random.binomial(1, EPSILON) == 1:\n",
" return np.random.choice(ACTIONS)\n",
" values = []\n",
" for action in ACTIONS:\n",
" values.append(valueFunction.value(position, velocity, action))\n",
" return np.argmax(values) - 1\n",
"\n",
"# play Mountain Car for one episode based on given method @evaluator\n",
"# @return: total steps in this episode\n",
"def play(evaluator):\n",
" position = np.random.uniform(-0.6, -0.4)\n",
" velocity = 0.0\n",
" action = get_action(position, velocity, evaluator)\n",
" steps = 0\n",
" while True:\n",
" next_position, next_velocity, reward = step(position, velocity, action)\n",
" next_action = get_action(next_position, next_velocity, evaluator)\n",
" steps += 1\n",
" target = reward + DISCOUNT * evaluator.value(next_position, next_velocity, next_action)\n",
" evaluator.learn(position, velocity, action, target)\n",
" position = next_position\n",
" velocity = next_velocity\n",
" action = next_action\n",
" if next_position == POSITION_MAX:\n",
" break\n",
" if steps >= STEP_LIMIT:\n",
" print('Step Limit Exceeded!')\n",
" break\n",
" return steps"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# figure 12.10, effect of the lambda and alpha on early performance of Sarsa(lambda)\n",
"def figure_12_10():\n",
" runs = 30\n",
" episodes = 50\n",
" alphas = np.arange(1, 8) / 4.0\n",
" lams = [0.99, 0.95, 0.5, 0]\n",
"\n",
" steps = np.zeros((len(lams), len(alphas), runs, episodes))\n",
" for lamInd, lam in enumerate(lams):\n",
" for alphaInd, alpha in enumerate(alphas):\n",
" for run in tqdm(range(runs)):\n",
" evaluator = Sarsa(alpha, lam, replacing_trace)\n",
" for ep in range(episodes):\n",
" step = play(evaluator)\n",
" steps[lamInd, alphaInd, run, ep] = step\n",
"\n",
" # average over episodes\n",
" steps = np.mean(steps, axis=3)\n",
"\n",
" # average over runs\n",
" steps = np.mean(steps, axis=2)\n",
"\n",
" for lamInd, lam in enumerate(lams):\n",
" plt.plot(alphas, steps[lamInd, :], label='lambda = %s' % (str(lam)))\n",
" plt.xlabel('alpha * # of tilings (8)')\n",
" plt.ylabel('averaged steps per episode')\n",
" plt.ylim([180, 300])\n",
" plt.legend()\n",
"\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "20%|██ | 6/30 [00:14<00:58, 2.44s/it]Step Limit Exceeded!\n100%|██████████| 30/30 [01:15<00:00, 2.67s/it]\n100%|██████████| 30/30 [01:02<00:00, 2.18s/it]\n100%|██████████| 30/30 [01:03<00:00, 2.16s/it]\n100%|██████████| 30/30 [01:02<00:00, 2.08s/it]\n100%|██████████| 30/30 [01:02<00:00, 2.12s/it]\n 70%|███████ | 21/30 [00:57<00:23, 2.65s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n100%|██████████| 30/30 [01:41<00:00, 3.20s/it]\n 0%| | 0/30 [00:00, ?it/s]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 7%|▋ | 2/30 [00:36<11:04, 23.73s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 13%|█▎ | 4/30 [01:11<08:23, 19.38s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 20%|██ | 6/30 [01:51<07:12, 18.01s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 23%|██▎ | 7/30 [02:26<08:53, 23.21s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 30%|███ | 9/30 [03:01<06:37, 18.94s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 33%|███▎ | 10/30 [03:54<09:40, 29.04s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 37%|███▋ | 11/30 [04:38<10:40, 33.70s/it]Step Limit Exceeded!\n 40%|████ | 12/30 [04:45<07:42, 25.70s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 43%|████▎ | 13/30 [05:12<07:24, 26.17s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 47%|████▋ | 14/30 [05:38<06:57, 26.12s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 50%|█████ | 15/30 [05:58<06:01, 24.07s/it]Step Limit Exceeded!\n 53%|█████▎ | 16/30 [06:03<04:19, 18.53s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 57%|█████▋ | 17/30 [06:13<03:26, 15.85s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 67%|██████▋ | 20/30 [06:41<01:41, 10.15s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 70%|███████ | 21/30 [07:30<03:14, 21.66s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 73%|███████▎ | 22/30 [07:41<02:27, 18.47s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 77%|███████▋ | 23/30 [07:55<01:59, 17.12s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 83%|████████▎ | 25/30 [08:31<01:22, 16.41s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 93%|█████████▎| 28/30 [08:53<00:19, 9.77s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n 97%|█████████▋| 29/30 [09:15<00:13, 13.41s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n100%|██████████| 30/30 [09:51<00:00, 20.06s/it]\n100%|██████████| 30/30 [01:23<00:00, 2.92s/it]\n100%|██████████| 30/30 [01:04<00:00, 2.08s/it]\n100%|██████████| 30/30 [00:59<00:00, 2.02s/it]\n100%|██████████| 30/30 [00:57<00:00, 1.80s/it]\n100%|██████████| 30/30 [00:57<00:00, 1.83s/it]\n100%|██████████| 30/30 [00:54<00:00, 1.70s/it]\n100%|██████████| 30/30 [01:01<00:00, 2.12s/it]\n100%|██████████| 30/30 [01:51<00:00, 3.67s/it]\n100%|██████████| 30/30 [01:26<00:00, 2.82s/it]\n100%|██████████| 30/30 [01:14<00:00, 2.47s/it]\n100%|██████████| 30/30 [01:15<00:00, 2.34s/it]\n100%|██████████| 30/30 [01:08<00:00, 2.27s/it]\n100%|██████████| 30/30 [01:06<00:00, 2.20s/it]\n100%|██████████| 30/30 [01:09<00:00, 2.25s/it]\n100%|██████████| 30/30 [01:56<00:00, 3.93s/it]\n100%|██████████| 30/30 [01:28<00:00, 2.93s/it]\n100%|██████████| 30/30 [01:20<00:00, 2.72s/it]\n100%|██████████| 30/30 [01:12<00:00, 2.47s/it]\n100%|██████████| 30/30 [01:11<00:00, 2.44s/it]\n100%|██████████| 30/30 [01:12<00:00, 2.43s/it]\n100%|██████████| 30/30 [01:14<00:00, 2.48s/it]\n"
},
{
"data": {
"image/png": "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\n",
"image/svg+xml": "\r\n\r\n\r\n\r\n",
"text/plain": ""
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"figure_12_10()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# figure 12.11, summary comparision of Sarsa(lambda) algorithms\n",
"# I use 8 tilings rather than 10 tilings\n",
"def figure_12_11():\n",
" traceTypes = [dutch_trace, replacing_trace, replacing_trace_with_clearing, accumulating_trace]\n",
" alphas = np.arange(0.2, 2.2, 0.2)\n",
" episodes = 20\n",
" runs = 30\n",
" lam = 0.9\n",
" rewards = np.zeros((len(traceTypes), len(alphas), runs, episodes))\n",
"\n",
" for traceInd, trace in enumerate(traceTypes):\n",
" for alphaInd, alpha in enumerate(alphas):\n",
" for run in tqdm(range(runs)):\n",
" evaluator = Sarsa(alpha, lam, trace)\n",
" for ep in range(episodes):\n",
" if trace == accumulating_trace and alpha > 0.6:\n",
" \"\"\"\n",
" alpha 大于 0.6 的积累迹,不计算\n",
" 直接给最差的步数\n",
" \"\"\"\n",
" steps = STEP_LIMIT\n",
" else:\n",
" steps = play(evaluator)\n",
" rewards[traceInd, alphaInd, run, ep] = -steps\n",
"\n",
" # average over episodes\n",
" rewards = np.mean(rewards, axis=3)\n",
"\n",
" # average over runs\n",
" rewards = np.mean(rewards, axis=2)\n",
"\n",
" for traceInd, trace in enumerate(traceTypes):\n",
" plt.plot(alphas, rewards[traceInd, :], label=trace.__name__)\n",
" plt.xlabel('alpha * # of tilings (8)')\n",
" plt.ylabel('averaged rewards pre episode')\n",
" plt.ylim([-550, -150])\n",
" plt.legend()\n",
"\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "100%|██████████| 30/30 [00:41<00:00, 1.38s/it]\n100%|██████████| 30/30 [00:33<00:00, 1.18s/it]\n100%|██████████| 30/30 [00:28<00:00, 1.04it/s]\n100%|██████████| 30/30 [00:27<00:00, 1.05it/s]\n100%|██████████| 30/30 [00:27<00:00, 1.11it/s]\n100%|██████████| 30/30 [00:28<00:00, 1.07it/s]\n100%|██████████| 30/30 [00:26<00:00, 1.12it/s]\n100%|██████████| 30/30 [00:28<00:00, 1.08s/it]\n100%|██████████| 30/30 [00:27<00:00, 1.17it/s]\n100%|██████████| 30/30 [00:28<00:00, 1.11it/s]\n100%|██████████| 30/30 [01:10<00:00, 2.36s/it]\n100%|██████████| 30/30 [00:47<00:00, 1.55s/it]\n100%|██████████| 30/30 [00:39<00:00, 1.25s/it]\n100%|██████████| 30/30 [00:36<00:00, 1.18s/it]\n100%|██████████| 30/30 [00:35<00:00, 1.11s/it]\n100%|██████████| 30/30 [00:35<00:00, 1.31s/it]\n100%|██████████| 30/30 [00:34<00:00, 1.20s/it]\n100%|██████████| 30/30 [00:33<00:00, 1.02s/it]\n100%|██████████| 30/30 [00:34<00:00, 1.18s/it]\n100%|██████████| 30/30 [00:34<00:00, 1.14s/it]\n100%|██████████| 30/30 [01:39<00:00, 3.31s/it]\n100%|██████████| 30/30 [01:09<00:00, 2.23s/it]\n100%|██████████| 30/30 [01:01<00:00, 2.04s/it]\n100%|██████████| 30/30 [00:55<00:00, 1.77s/it]\n100%|██████████| 30/30 [00:50<00:00, 1.75s/it]\n100%|██████████| 30/30 [00:47<00:00, 1.53s/it]\n100%|██████████| 30/30 [00:45<00:00, 1.43s/it]\n100%|██████████| 30/30 [00:43<00:00, 1.52s/it]\n100%|██████████| 30/30 [00:51<00:00, 2.13s/it]\n 40%|████ | 12/30 [00:21<00:32, 1.82s/it]Step Limit Exceeded!\nStep Limit Exceeded!\nStep Limit Exceeded!\n100%|██████████| 30/30 [00:56<00:00, 1.71s/it]\n100%|██████████| 30/30 [00:44<00:00, 2.00s/it]\n100%|██████████| 30/30 [00:45<00:00, 1.23s/it]\n100%|██████████| 30/30 [00:00<00:00, 15040.54it/s]\n100%|██████████| 30/30 [00:00<00:00, 30109.86it/s]\n100%|██████████| 30/30 [00:00<00:00, 30037.99it/s]\n100%|██████████| 30/30 [00:00, ?it/s]\n100%|██████████| 30/30 [00:00<00:00, 15033.35it/s]\n100%|██████████| 30/30 [00:00<00:00, 15011.83it/s]\n100%|██████████| 30/30 [00:00<00:00, 10021.43it/s]\n100%|██████████| 30/30 [00:00<00:00, 30066.70it/s]\n"
},
{
"data": {
"image/png": "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FSJSjNW0pKoa4oZ4JgN/EREbUAxc4RhuZhORacC3gCfwuqOvpO2wlcHWz6Hv+eDTgG13Paw8X9c8keUHlvPoqkcZGzOWuxLuckWkhmEYTqs3iaiqWxdactRGKp/PA+bVcd3XWBtitU27/wclOU6PyqokXo7/RLUkkV3Zu7hr6V30aNeDx8c8jqdjYqJh1PTAAw8QFBTEXXc1/I+MUaNGsWLFCpfF8tNPP+Hj48OoUabJ9XjhzH4iIiJXi8gsx+sujqYmoyE2LQb/cOhxesPeV0dNJLM4k2k/TMPPy49/n/FvAr0Da3u3cZxR1ar1spqDKxMIWEmkrnuafUnaJmeas14E7MDpwENAAdbEv2FujOv4UlYI27+GgVPA07tBb62ebFidREorSrn9x9vJLM5k4TkL6RBY/6RFwwW+uddarsaVOpwM5z52zEuSkpI499xzGT9+PL/++it33HEHL7/88lF7ccTGxjJlypSqZU3effddevbsedi9Xn31VebPn09ZWRk9e/bkrbfeIiAggNTUVG655Rb27NkDULWcSlBQEAUFBVWLKkZGRrJ582aGDh3K22+/jYjw9ddfc+eddxIZGcmQIUPYs2cPX331Va2f4+WXX8bT05O3336bF154gQULFhAeHs769eurlne54447KC4uxt/fnzfeeIM+ffpQUVHBPffcw7fffouIcOONNzJ9+nTWrl3LnXfeSUFBAZGRkSxcuJCOHTu66D+O4QxnOtZHqOqtOCYdqmo24OPWqI4327+B8qIGN2VBzSG+VhJRVWYtn8XG9I08etqj9I9smeXJjea1fft2pk6dyvfff8+CBQtYsmQJ69atIyEhgWeeeabqupCQEFatWsW0adO44447jrrPJZdcwurVq9m4cSMnnXQSCxYsAOC2225j7NixbNy4kXXr1tG//9G/V+vXr+e5555j69at7Nmzh+XLl1NSUsLNN9/MN998wy+//EJ6enqdnyE2NpZbbrmFv/3tb2zYsKFqDbAdO3awZMkSnn76afr27cvPP//M+vXrmTt3Lvfffz8A8+fPJzExkfXr1/P7779z1VVXUV5ezvTp01m8eDFr167l+uuvN3NcWoAzNZFyx7IjCiAi7bFqJoazNi2G4E7QtRHtwEdMNnxp40t8k/gNtw+5nTO71TqK2nCXemoM7tStWzdGjhxZ714cV155ZdXP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\n",
"image/svg+xml": "\r\n\r\n\r\n\r\n",
"text/plain": ""
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"figure_12_11()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
]
}