"
- ]
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "\n",
- "## Defining the objective function and decision rule\n",
- "\n",
- "Here, our **objective function** is to maximize the discriminant function $g_i(\\pmb x)$, which we define as the posterior probability to perform a **minimum-error classification** (Bayes classifier). \n",
- "\n",
- "$ g_1(\\pmb x) = P(\\omega_1 | \\; \\pmb{x}), \\quad g_2(\\pmb{x}) = P(\\omega_2 | \\; \\pmb{x}), \\quad g_3(\\pmb{x}) = P(\\omega_2 | \\; \\pmb{x})$\n",
- "\n",
- "So that our decision rule is to choose the class $\\omega_i$ for which $g_i(\\pmb x)$ is max., where \n",
- " $ \\quad g_i(\\pmb{x}) = \\pmb{x}^{\\,t} \\bigg( - \\frac{1}{2} \\Sigma_i^{-1} \\bigg) \\pmb{x} + \\bigg( \\Sigma_i^{-1} \\pmb{\\mu}_{\\,i}\\bigg)^t \\pmb x + \\bigg( -\\frac{1}{2} \\pmb{\\mu}_{\\,i}^{\\,t} \\Sigma_{i}^{-1} \\pmb{\\mu}_{\\,i} -\\frac{1}{2} ln(|\\Sigma_i|)\\bigg) $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Implementing the discriminant function\n",
- "Now, let us implement the discriminant function for $g_i(\\pmb x)$ in Python code:"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "def discriminant_function(x_vec, cov_mat, mu_vec):\n",
- " \"\"\"\n",
- " Calculates the value of the discriminant function for a dx1 dimensional\n",
- " sample given the covariance matrix and mean vector.\n",
- " \n",
- " Keyword arguments:\n",
- " x_vec: A dx1 dimensional numpy array representing the sample.\n",
- " cov_mat: numpy array of the covariance matrix.\n",
- " mu_vec: dx1 dimensional numpy array of the sample mean.\n",
- " \n",
- " Returns a float value as result of the discriminant function.\n",
- " \n",
- " \"\"\"\n",
- " W_i = (-1/2) * np.linalg.inv(cov_mat)\n",
- " assert(W_i.shape[0] > 1 and W_i.shape[1] > 1), 'W_i must be a matrix'\n",
- " \n",
- " w_i = np.linalg.inv(cov_mat).dot(mu_vec)\n",
- " assert(w_i.shape[0] > 1 and w_i.shape[1] == 1), 'w_i must be a column vector'\n",
- " \n",
- " omega_i_p1 = (((-1/2) * (mu_vec).T).dot(np.linalg.inv(cov_mat))).dot(mu_vec)\n",
- " omega_i_p2 = (-1/2) * np.log(np.linalg.det(cov_mat))\n",
- " omega_i = omega_i_p1 - omega_i_p2\n",
- " assert(omega_i.shape == (1, 1)), 'omega_i must be a scalar'\n",
- " \n",
- " g = ((x_vec.T).dot(W_i)).dot(x_vec) + (w_i.T).dot(x_vec) + omega_i\n",
- " return float(g)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 39
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Implementing the decision rule (classifier)\n",
- "Next, we need to implement the code that returns the max. $g_i(\\pmb x)$ with the corresponding class label:"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import operator\n",
- "\n",
- "def classify_data(x_vec, g, mu_vecs, cov_mats):\n",
- " \"\"\"\n",
- " Classifies an input sample into 1 out of 3 classes determined by\n",
- " maximizing the discriminant function g_i().\n",
- " \n",
- " Keyword arguments:\n",
- " x_vec: A dx1 dimensional numpy array representing the sample.\n",
- " g: The discriminant function.\n",
- " mu_vecs: A list of mean vectors as input for g.\n",
- " cov_mats: A list of covariance matrices as input for g.\n",
- " \n",
- " Returns a tuple (g_i()_value, class label).\n",
- " \n",
- " \"\"\"\n",
- " assert(len(mu_vecs) == len(cov_mats)), 'Number of mu_vecs and cov_mats must be equal.'\n",
- " \n",
- " g_vals = []\n",
- " for m,c in zip(mu_vecs, cov_mats): \n",
- " g_vals.append(g(x_vec, mu_vec=m, cov_mat=c))\n",
- " \n",
- " max_index, max_value = max(enumerate(g_vals), key=operator.itemgetter(1))\n",
- " return (max_value, max_index + 1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 40
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Classifying the sample data\n",
- "Using the discriminant function and classifier that we just implemented above, let us classify our sample data. (I have to apologize for the long code below, but I thought it makes it a little more clear of what exactly is going on)"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "class1_as_1 = 0\n",
- "class1_as_2 = 0\n",
- "class1_as_3 = 0\n",
- "for row in x1_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_vec1, mu_vec2, mu_vec3],\n",
- " [cov_mat1, cov_mat2, cov_mat3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class1_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class1_as_3 += 1\n",
- " else:\n",
- " class1_as_1 += 1\n",
- "\n",
- "class2_as_1 = 0\n",
- "class2_as_2 = 0\n",
- "class2_as_3 = 0\n",
- "for row in x2_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_vec1, mu_vec2, mu_vec3],\n",
- " [cov_mat1, cov_mat2, cov_mat3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class2_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class2_as_3 += 1\n",
- " else:\n",
- " class2_as_1 += 1\n",
- "\n",
- "class3_as_1 = 0\n",
- "class3_as_2 = 0\n",
- "class3_as_3 = 0\n",
- "for row in x3_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_vec1, mu_vec2, mu_vec3],\n",
- " [cov_mat1, cov_mat2, cov_mat3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class3_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class3_as_3 += 1\n",
- " else:\n",
- " class3_as_1 += 1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 81
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Drawing the confusion matrix and calculating the empirical error\n",
- "Now, that we classified our data, let us plot the confusion matrix to see what the empirical error looks like."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "confusion_mat = prettytable.PrettyTable([\"sample dataset\", \"w1 (predicted)\", \"w2 (predicted)\", \"w3 (predicted)\"])\n",
- "confusion_mat.add_row([\"w1 (actual)\",class1_as_1, class1_as_2, class1_as_3])\n",
- "confusion_mat.add_row([\"w2 (actual)\",class2_as_1, class2_as_2, class2_as_3])\n",
- "confusion_mat.add_row([\"w3 (actual)\",class3_as_1, class3_as_2, class3_as_3])\n",
- "print(confusion_mat)\n",
- "misclass = x1_samples.shape[0]*3 - class1_as_1 - class2_as_2 - class3_as_3\n",
- "bayes_err = misclass / (len(x1_samples)*3)\n",
- "print('Empirical Error: {:.2f} ({:.2f}%)'.format(bayes_err, bayes_err * 100))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+----------------+----------------+----------------+----------------+\n",
- "| sample dataset | w1 (predicted) | w2 (predicted) | w3 (predicted) |\n",
- "+----------------+----------------+----------------+----------------+\n",
- "| w1 (actual) | 98 | 1 | 1 |\n",
- "| w2 (actual) | 2 | 93 | 5 |\n",
- "| w3 (actual) | 1 | 2 | 97 |\n",
- "+----------------+----------------+----------------+----------------+\n",
- "Empirical Error: 0.04 (4.00%)\n"
- ]
- }
- ],
- "prompt_number": 85
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "# 2) Assuming that the parameters are unknown - using MLE"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "### About the Maximum Likelihood Estimate (MLE)\n",
- "\n",
- "In contrast to the first section, let us assume that we only know the number of parameters for the class conditional densities $p (\\; \\pmb x \\; | \\; \\omega_i)$, and we want to use a Maximum Likelihood Estimation (MLE) to estimate the quantities of these parameters from the training data (*here:* our random sample data).\n",
- "\n",
- "\n",
- "Given the information about the form of the model - the data is normal distributed - the 2 parameters to be estimated are $\\pmb \\mu_i$ and $\\pmb \\Sigma_i$, which are summarized by the \n",
- "parameter vector $\\pmb \\theta_i = \\bigg[ \\begin{array}{c}\n",
- "\\ \\theta_{i1} \\\\\n",
- "\\ \\theta_{i2} \\\\\n",
- "\\end{array} \\bigg]=\n",
- "\\bigg[ \\begin{array}{c}\n",
- "\\pmb \\mu_i \\\\\n",
- "\\pmb \\Sigma_i \\\\\n",
- "\\end{array} \\bigg]$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For the Maximum Likelihood Estimate (MLE), we assume that we have a set of samples $D = \\left\\{ \\pmb x_1, \\pmb x_2,..., \\pmb x_n \\right\\} $ that are *i.i.d.* (independent and identically distributed, drawn with probability $p(\\pmb x \\; | \\; \\omega_i, \\; \\pmb \\theta_i) $). \n",
- "Thus, we can **work with each class separately** and omit the class labels, so that we write the probability density as $p(\\pmb x \\; | \\; \\pmb \\theta)$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "### Likelihood of $ \\pmb \\theta $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Thus, the probability of observing $D = \\left\\{ \\pmb x_1, \\pmb x_2,..., \\pmb x_n \\right\\} $ is: \n",
- "
\n",
- "
\n",
- "$p(D\\; | \\; \\pmb \\theta\\;) = p(\\pmb x_1 \\; | \\; \\pmb \\theta\\;)\\; \\cdot \\; p(\\pmb x_2 \\; | \\;\\pmb \\theta\\;) \\; \\cdot \\;... \\; p(\\pmb x_n \\; | \\; \\pmb \\theta\\;) = \\prod_{k=1}^{n} \\; p(\\pmb x_k \\pmb \\; | \\; \\pmb \\theta \\;)$ \n",
- "
\n",
- "Where $p(D\\; | \\; \\pmb \\theta\\;)$ is also called the ***likelihood of $\\pmb\\ \\theta$***."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We are given the information that $p([x_1,x_2]^t) \\;\u223c \\; N(\\pmb \\mu,\\pmb \\Sigma) $ (remember that we dropped the class labels, since we are working with every class separately)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "And the mutlivariate normal density is given as:\n",
- "$\\quad \\quad p(\\pmb x) = \\frac{1}{(2\\pi)^{d/2} \\; |\\Sigma|^{1/2}} exp \\bigg[ -\\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\Sigma^{-1}(\\pmb x - \\pmb \\mu) \\bigg]$\n",
- "\n",
- "So that \n",
- "$p(D\\; | \\; \\pmb \\theta\\;) = \\prod_{k=1}^{n} \\; p(\\pmb x_k \\pmb \\; | \\; \\pmb \\theta \\;) = \\prod_{k=1}^{n} \\; \\frac{1}{(2\\pi)^{d/2} \\; |\\Sigma|^{1/2}} exp \\bigg[ -\\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\Sigma^{-1}(\\pmb x - \\pmb \\mu) \\bigg]$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "and the log of the multivariate density"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ l(\\pmb\\theta) = \\sum\\limits_{k=1}^{n} - \\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\pmb \\Sigma^{-1} \\; (\\pmb x - \\pmb \\mu) - \\frac{d}{2} \\; ln \\; 2\\pi - \\frac{1}{2} \\;ln \\; |\\pmb\\Sigma|$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "#### Maximum Likelihood Estimate (MLE)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In order to obtain the MLE $\\boldsymbol{\\hat{\\theta}}$, we maximize $l (\\pmb \\theta)$, which can be done via differentiation:\n",
- "\n",
- "with \n",
- "$\\nabla_{\\pmb \\theta} \\equiv \\begin{bmatrix} \n",
- "\\frac{\\partial \\; }{\\partial \\; \\theta_1} \\\\ \n",
- "\\frac{\\partial \\; }{\\partial \\; \\theta_2}\n",
- "\\end{bmatrix} = \\begin{bmatrix} \n",
- "\\frac{\\partial \\; }{\\partial \\; \\pmb \\mu} \\\\ \n",
- "\\frac{\\partial \\; }{\\partial \\; \\pmb \\sigma}\n",
- "\\end{bmatrix}$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$\\nabla_{\\pmb \\theta} l = \\sum\\limits_{k=1}^n \\nabla_{\\pmb \\theta} \\;ln\\; p(\\pmb x| \\pmb \\theta) = 0 $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## MLE of the mean vector $\\pmb \\mu$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "After doing the differentiation, we find that the MLE of the parameter $\\pmb\\mu$ is given by the equation: \n",
- "${\\hat{\\pmb\\mu}} = \\frac{1}{n} \\sum\\limits_{k=1}^{n} \\pmb x_k$\n",
- "\n",
- "As you can see, this is simply the mean of our dataset, so we can implement the code very easily and compare the estimate to the actual values for $\\pmb \\mu$."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "mu_est1 = np.array([[sum(x1_samples[:,0])/len(x1_samples[:,0])],[sum(x1_samples[:,1])/len(x1_samples[:,1])]])\n",
- "mu_est2 = np.array([[sum(x2_samples[:,0])/len(x2_samples[:,0])],[sum(x2_samples[:,1])/len(x2_samples[:,1])]])\n",
- "mu_est3 = np.array([[sum(x3_samples[:,0])/len(x3_samples[:,0])],[sum(x3_samples[:,1])/len(x3_samples[:,1])]])\n",
- "\n",
- "mu_mle = prettytable.PrettyTable([\"\", \"mu_1\", \"mu_2\", \"mu_3\"])\n",
- "mu_mle.add_row([\"MLE\",mu_est1, mu_est2, mu_est3])\n",
- "mu_mle.add_row([\"actual\",mu_vec1, mu_vec2, mu_vec3])\n",
- "\n",
- "print(mu_mle)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+--------+-----------------+-----------------+-----------------+\n",
- "| | mu_1 | mu_2 | mu_3 |\n",
- "+--------+-----------------+-----------------+-----------------+\n",
- "| MLE | [[-0.17370434] | [[ 8.65908903] | [[ 5.77749337] |\n",
- "| | [ 0.01919151]] | [ 0.02617762]] | [ 5.67218058]] |\n",
- "| actual | [[0] | [[9] | [[6] |\n",
- "| | [0]] | [0]] | [6]] |\n",
- "+--------+-----------------+-----------------+-----------------+\n"
- ]
- }
- ],
- "prompt_number": 77
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## MLE of the covariance matrix $\\pmb \\Sigma$\n",
- "\n",
- "Analog to $\\pmb \\mu$ we can find the equation for the $\\pmb\\Sigma$ via differentiation - okay the equations are a little bit more involved, but the approach is the same - so that we come to this equation: "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "${\\hat{\\pmb\\Sigma}} = \\frac{1}{n} \\sum\\limits_{k=1}^{n} (\\pmb x_k - \\hat{\\mu})(\\pmb x_k - \\hat{\\mu})^t$\n",
- "\n",
- "which we will also implement in Python code, and then compare to the acutal values of ${\\pmb\\Sigma}$."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "def mle_est_cov(x_samples, mu_est):\n",
- " \"\"\"\n",
- " Calculates the Maximum Likelihood Estimate for the covariance matrix.\n",
- " \n",
- " Keyword Arguments:\n",
- " x_samples: np.array of the samples for 1 class, n x d dimensional \n",
- " mu_est: np.array of the mean MLE, d x 1 dimensional\n",
- " \n",
- " Returns the MLE for the covariance matrix as d x d numpy array.\n",
- " \n",
- " \"\"\"\n",
- " cov_est = np.zeros((2,2))\n",
- " for x_vec in x_samples:\n",
- " x_vec = x_vec.reshape(2,1)\n",
- " assert(x_vec.shape == mu_est.shape), 'mean and x vector hmust be of equal shape'\n",
- " cov_est += (x_vec - mu_est).dot((x_vec - mu_est).T)\n",
- " return cov_est / len(x_samples)\n",
- "\n",
- "cov_est1 = mle_est_cov(x1_samples, mu_est1)\n",
- "cov_est2 = mle_est_cov(x2_samples, mu_est2)\n",
- "cov_est3 = mle_est_cov(x3_samples, mu_est3)\n",
- "\n",
- "cov_mle = prettytable.PrettyTable([\"\", \"covariance_matrix_1\", \"covariance_matrix_2\", \"covariance_matrix_3\"])\n",
- "cov_mle.add_row([\"MLE\", cov_est1, cov_est2, cov_est3])\n",
- "cov_mle.add_row(['','','',''])\n",
- "cov_mle.add_row([\"actual\", cov_mat1, cov_mat2, cov_mat3])\n",
- "\n",
- "print(cov_mle)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+--------+-----------------------------+-----------------------------+-----------------------------+\n",
- "| | covariance_matrix_1 | covariance_matrix_2 | covariance_matrix_3 |\n",
- "+--------+-----------------------------+-----------------------------+-----------------------------+\n",
- "| MLE | [[ 3.988021 -0.19957158] | [[ 3.79760541 -0.04062998] | [[ 4.35960544 0.51274876] |\n",
- "| | [-0.19957158 2.69991303]] | [-0.04062998 3.05143476]] | [ 0.51274876 4.44341942]] |\n",
- "| | | | |\n",
- "| actual | [[3 0] | [[3 0] | [[4 0] |\n",
- "| | [0 3]] | [0 3]] | [0 4]] |\n",
- "+--------+-----------------------------+-----------------------------+-----------------------------+\n"
- ]
- }
- ],
- "prompt_number": 76
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "##Classification using our estimated parameters\n",
- "\n",
- "Using the estimated parameters $\\pmb \\mu_i$ and $\\pmb \\Sigma_i$, which we obtained via MLE, we calculate the error on the sample dataset again. "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "class1_as_1 = 0\n",
- "class1_as_2 = 0\n",
- "class1_as_3 = 0\n",
- "for row in x1_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_est1, mu_est2, mu_est3],\n",
- " [cov_est1, cov_est2, cov_est3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class1_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class1_as_3 += 1\n",
- " else:\n",
- " class1_as_1 += 1\n",
- "\n",
- "class2_as_1 = 0\n",
- "class2_as_2 = 0\n",
- "class2_as_3 = 0\n",
- "for row in x2_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_est1, mu_est2, mu_est3],\n",
- " [cov_est1, cov_est2, cov_est3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class2_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class2_as_3 += 1\n",
- " else:\n",
- " class2_as_1 += 1\n",
- "\n",
- "class3_as_1 = 0\n",
- "class3_as_2 = 0\n",
- "class3_as_3 = 0\n",
- "for row in x3_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_est1, mu_est2, mu_est3],\n",
- " [cov_est1, cov_est2, cov_est3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class3_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class3_as_3 += 1\n",
- " else:\n",
- " class3_as_1 += 1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 87
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "confusion_mat = prettytable.PrettyTable([\"sample dataset\", \"w1 (predicted)\", \"w2 (predicted)\", \"w3 (predicted)\"])\n",
- "confusion_mat.add_row([\"w1 (actual)\",class1_as_1, class1_as_2, class1_as_3])\n",
- "confusion_mat.add_row([\"w2 (actual)\",class2_as_1, class2_as_2, class2_as_3])\n",
- "confusion_mat.add_row([\"w3 (actual)\",class3_as_1, class3_as_2, class3_as_3])\n",
- "print(confusion_mat)\n",
- "misclass = x1_samples.shape[0]*3 - class1_as_1 - class2_as_2 - class3_as_3\n",
- "bayes_err = misclass / (len(x1_samples)*3)\n",
- "print('Empirical Error: {:.2f} ({:.2f}%)'.format(bayes_err, bayes_err * 100))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+----------------+----------------+----------------+----------------+\n",
- "| sample dataset | w1 (predicted) | w2 (predicted) | w3 (predicted) |\n",
- "+----------------+----------------+----------------+----------------+\n",
- "| w1 (actual) | 96 | 1 | 3 |\n",
- "| w2 (actual) | 2 | 94 | 4 |\n",
- "| w3 (actual) | 1 | 3 | 96 |\n",
- "+----------------+----------------+----------------+----------------+\n",
- "Empirical Error: 0.05 (4.67%)\n"
- ]
- }
- ],
- "prompt_number": 89
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Conclusion"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "I would claim that the results look pretty good! The error rate on our random dataset increased by just 0.67% (from 4.00% to 4.67%) when we estimated $\\pmb \\mu$ and $\\pmb \\Sigma$ using MLE. \n",
- "In a real application of course, we would have an separate training dataset to derive and estimate the parameters, and a test data set for calculating the error rate. However, I ommitted the usage of to separate datasets here for the sake of brevity."
- ]
- }
- ],
- "metadata": {}
- }
- ]
-}
\ No newline at end of file
diff --git a/stat_pattern_class/.ipynb_checkpoints/1_stat_superv_parametric-checkpoint.ipynb b/stat_pattern_class/.ipynb_checkpoints/1_stat_superv_parametric-checkpoint.ipynb
deleted file mode 100644
index 1dc63f2..0000000
--- a/stat_pattern_class/.ipynb_checkpoints/1_stat_superv_parametric-checkpoint.ipynb
+++ /dev/null
@@ -1,391 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "*Sebastian Raschka* \n",
- "last modified: 03/31/2014"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Problem Category\n",
- "- Statistical Pattern Recognition \n",
- "- Supervised Learning \n",
- "- Parametric Learning \n",
- "- Bayes Decision Theory \n",
- "- Univariate data \n",
- "- 2-class problem\n",
- "- equal variances\n",
- "- equal priors\n",
- "- Gaussian model (2 parameters)\n",
- "- No Risk function\n",
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "# Sections\n",
- "\n",
- "\n",
- "• Given information
\n",
- "• Deriving the decision boundary
\n",
- "• Plotting the class conditional densities, posterior probabilities, and decision boundary
\n",
- "• Classifying some random example data
\n",
- "• Calculating the empirical error rate
\n",
- "\n",
- " \n",
- "\n",
- " \n",
- " \n",
- "\n",
- "\n",
- "\n",
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Given information:\n",
- "\n",
- "[back to top]
\n",
- "\n",
- "\n",
- "####model: continuous univariate normal (Gaussian) model for the class-conditional densities\n",
- "\n",
- "\n",
- "$ p(x | \\omega_j) \\sim N(\\mu|\\sigma^2) $\n",
- "\n",
- "$ p(x | \\omega_j) \\sim \\frac{1}{\\sqrt{2\\pi\\sigma^2}} \\exp{ \\bigg[-\\frac{1}{2}\\bigg( \\frac{x-\\mu}{\\sigma}\\bigg)^2 \\bigg] } $\n",
- "\n",
- "\n",
- "####Prior probabilities:\n",
- "\n",
- "$ P(\\omega_1) = P(\\omega_1) = 0.5 $\n",
- "\n",
- "#### Variances of the sample distributions\n",
- "\n",
- "$ \\sigma_1^2 = \\sigma_2^2 = 1 $\n",
- "\n",
- "#### Means of the sample distributions\n",
- "\n",
- "$ \\mu_1 = 4, \\quad \\mu_2 = 10 $\n",
- "\n",
- "\n",
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Deriving the decision boundary\n",
- "[back to top]
\n",
- "### Bayes' Rule:\n",
- "\n",
- "\n",
- "$ P(\\omega_j|x) = \\frac{p(x|\\omega_j) * P(\\omega_j)}{p(x)} $\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Bayes' Decision Rule:\n",
- "\n",
- "Decide $ \\omega_1 $ if $ P(\\omega_1|x) > P(\\omega_2|x) $ else decide $ \\omega_2 $.\n",
- "
\n",
- "\n",
- "\n",
- "\\begin{equation}\n",
- "\\Rightarrow \\frac{p(x|\\omega_1) * P(\\omega_1)}{p(x)} > \\frac{p(x|\\omega_2) * P(\\omega_2)}{p(x)}\n",
- "\\end{equation} \n",
- "\n",
- "We can drop $ p(x) $ since it is just a scale factor.\n",
- "\n",
- "\n",
- "$ \\Rightarrow P(x|\\omega_1) * P(\\omega_1) > p(x|\\omega_2) * P(\\omega_2) $\n",
- "\n",
- "$ \\Rightarrow \\frac{p(x|\\omega_1)}{p(x|\\omega_2)} > \\frac{P(\\omega_2)}{P(\\omega_1)} $\n",
- "\n",
- "$ \\Rightarrow \\frac{p(x|\\omega_1)}{p(x|\\omega_2)} > \\frac{0.5}{0.5} $\n",
- "\n",
- "$ \\Rightarrow \\frac{p(x|\\omega_1)}{p(x|\\omega_2)} > 1 $\n",
- "\n",
- "$ \\Rightarrow \\frac{1}{\\sqrt{2\\pi\\sigma_1^2}} \\exp{ \\bigg[-\\frac{1}{2}\\bigg( \\frac{x-\\mu_1}{\\sigma_1}\\bigg)^2 \\bigg] } > \\frac{1}{\\sqrt{2\\pi\\sigma_2^2}} \\exp{ \\bigg[-\\frac{1}{2}\\bigg( \\frac{x-\\mu_2}{\\sigma_2}\\bigg)^2 \\bigg] } $\n",
- "\n",
- "\n",
- "Since we have equal variances, we can drop the first term completely.\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "$ Rightarrow \\exp{ \\bigg[-\\frac{1}{2}\\bigg( \\frac{x-\\mu_1}{\\sigma_1}\\bigg)^2 \\bigg] } > \\exp{ \\bigg[-\\frac{1}{2}\\bigg( \\frac{x-\\mu_2}{\\sigma_2}\\bigg)^2 \\bigg] } \\quad\\quad \\bigg| \\;ln, \\quad \\mu_1 = 4, \\quad \\mu_2 = 10, \\quad \\sigma=1 $\n",
- "\n",
- "$ \\Rightarrow -\\frac{1}{2} (x-4)^2 > -\\frac{1}{2} (x-10)^2 \\quad \\bigg| \\; \\times(-2) $\n",
- "\n",
- "$ \\Rightarrow (x-4)^2 < (x-10)^2 $\n",
- "\n",
- "$ \\Rightarrow x^2 - 8x + 16 < x^2 - 20x + 100 $\n",
- "\n",
- "$ \\Rightarrow 12x < 84 $\n",
- "\n",
- "$ \\Rightarrow x < 7 $\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Plotting the class conditional densities, posterior probabilities, and decision boundary\n",
- "\n",
- "[back to top]
"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline\n",
- "\n",
- "import numpy as np\n",
- "from matplotlib import pyplot as plt\n",
- "\n",
- "def pdf(x, mu, sigma):\n",
- " \"\"\"\n",
- " Calculates the normal distribution's probability density \n",
- " function (PDF). \n",
- " \n",
- " \"\"\"\n",
- " term1 = 1.0 / ( math.sqrt(2*np.pi) * sigma )\n",
- " term2 = np.exp( -0.5 * ( (x-mu)/sigma )**2 )\n",
- " return term1 * term2\n",
- "\n",
- "# generating some sample data\n",
- "x = np.arange(0, 100, 0.05)\n",
- "\n",
- "# probability density functions\n",
- "pdf1 = pdf(x, mu=4, sigma=1)\n",
- "pdf2 = pdf(x, mu=10, sigma=1)\n",
- "\n",
- "# Class conditional densities (likelihoods)\n",
- "plt.plot(x, pdf1)\n",
- "plt.plot(x, pdf2)\n",
- "plt.title('Class conditional densities (likelihoods)')\n",
- "plt.ylabel('p(x)')\n",
- "plt.xlabel('random variable x')\n",
- "plt.legend(['p(x|w_1) ~ N(4,1)', 'p(x|w_2) ~ N(10,1)'], loc='upper right')\n",
- "plt.ylim([0,0.5])\n",
- "plt.xlim([0,20])\n",
- "plt.show()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Populating the interactive namespace from numpy and matplotlib\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nrkJggg==\n",
- "text": [
- ""
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "def posterior(likelihood, prior):\n",
- " \"\"\"\n",
- " Calculates the posterior probability (after Bayes Rule) without\n",
- " the scale factor p(x) (=evidence). \n",
- " \n",
- " \"\"\"\n",
- " return likelihood * prior\n",
- "\n",
- "# probability density functions\n",
- "posterior1 = posterior(pdf(x, mu=4, sigma=1), 0.5)\n",
- "posterior2 = posterior(pdf(x, mu=10, sigma=1), 0.5)\n",
- "\n",
- "# Class conditional densities (likelihoods)\n",
- "plt.plot(x, posterior1)\n",
- "plt.plot(x, posterior2)\n",
- "plt.title('Posterior Probabilities w. Decision Boundary')\n",
- "plt.ylabel('P(w)')\n",
- "plt.xlabel('random variable x')\n",
- "plt.legend(['P(w_1|x)', 'p(w_2|X)'], loc='upper right')\n",
- "plt.ylim([0,0.5])\n",
- "plt.xlim([0,20])\n",
- "plt.axvline(7, color='r', alpha=0.8, linestyle=':', linewidth=2)\n",
- "plt.annotate('R1', xy=(4, 0.3), xytext=(4, 0.3))\n",
- "plt.annotate('R2', xy=(10, 0.3), xytext=(10, 0.3))\n",
- "plt.show()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEZCAYAAACXRVJOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XdcFNfaB/DfUpQuIIg0QQEBQQFrLBQblihiR41ijSaS\nxDRzjSaSxGv03pioQXOJsRfEFMSKxoISIxIjxgKIBQQRjQqCSF+e948N+7pSF3Z3Fni++fjJLnNm\nzrOzu/PsnDNzjoiICIwxxlo8DaEDYIwxph44ITDGGAPACYExxtg/OCEwxhgDwAmBMcbYPzghMMYY\nA8AJoVnZvXs3hg0bJnQY1dLQ0MCdO3catK69vT1OnjxZ7bK4uDi4uLjIlD116hQAYOXKlZg3b16N\n21Xn/aUs7u7uOHv2bK1lMjIyYGhoiOZ+RXpjPpPNFrEGsbOzI11dXTIwMCALCwuaOXMmFRQUNHh7\ny5cvp9dee02BETaeIl+jSCSi27dvN2hde3t7OnnyZKPKpqWlkUgkIrFY3KAYVEkkEpG+vj4ZGBhQ\n27ZtafDgwRQZGSl0WArx4mszMzOjKVOm0NOnTwWLpaGfyeaKzxAaSCQS4dChQ3j27BkuXbqEixcv\nYsWKFYLFIxaLG7wuEVX7a7C+r7G8vLzBdatada9THV25cgXPnj1DamoqZs6ciZCQEHz++edCh6UQ\nla/tzp07yM3NRWhoqNAhyaUpfd7lxQlBAaysrDB8+HBcu3YNAHDgwAG4ubnBxMQEAwcOREpKirTs\n6tWrYWNjAyMjI7i4uODUqVOIiYnBl19+icjISBgaGsLLywsAkJeXhzlz5sDKygo2Njb45JNPUFFR\nAQDYtm0b+vfvj/feew9mZmYIDQ3Ftm3b4O3tLa3r999/R69evWBsbIzevXvj/Pnz0mV+fn5YtmwZ\n+vfvD319faSlpdXrNV6/fh2A5HR748aNcHJygrOzMwBg06ZNcHJyQtu2bTFmzBhkZ2fLbOPw4cNw\ncHCAubk5Fi9eLD043759G4MGDYKZmRnMzc3x2muvIS8vT2bdhIQEuLm5wdTUFLNnz0ZJSQkAIDY2\nFra2ttXGHBoaiunTpwMAfHx8AADGxsYwMjJCfHx8lf2VkpKCoUOHom3btnBxccGPP/4oXXbkyBG4\nubnByMgINjY2WLNmTbV12tnZ4dKlSwAkTVIaGhpITk4GAGzevBljx46tdT+/zNTUFK+99hq+++47\nfPnll8jJyQFQ+2cDkLwXXbp0gZGREdzc3HD58mUAsk1qCQkJ6NmzJ9q0aYP27dvj/fffBwCkp6dD\nQ0NDur379+8jICAAbdu2hZOTE3744QeZfTxp0iQEBwfDyMgI7u7u+PPPP+v12gwNDTF69GgkJSVJ\n/1ZbXTNnzsQnn3wiff7ye29vb481a9bAw8MDxsbGCAoKkn5OAOC///2vdH9t2bJFJpbDhw/Dy8sL\nbdq0QYcOHfDZZ59Jl1Xujy1btsDOzg6DBw/GqFGjEBYWJrONbt26ITo6ul6vXW0Je4LSdNnb29OJ\nEyeIiCgjI4Pc3Nzo008/pRs3bpC+vj6dOHGCysvL6T//+Q85OjpSaWkppaSkkK2tLWVnZxMR0d27\nd6WnrKGhoTR9+nSZOgIDA2nBggVUWFhIf//9N/Xu3ZvCw8OJiGjr1q2kpaVFYWFhJBaLqaioiLZu\n3UoDBgwgIqInT56QsbEx7dq1i8RiMUVERJCJiQnl5OQQEZGvry/Z2dlRUlISicViKisrq/drJJKc\nbvv7+1Nubi4VFxfTyZMnyczMjBITE6mkpITeeust8vHxkW5LJBLRoEGDKDc3lzIyMqhz5870ww8/\nEBHRrVu36MSJE1RaWkqPHj0iHx8fWrRokXRdOzs76tq1K927d49ycnKof//+tGzZMiIiOn36NNnY\n2MjEXNlkFBoaKm2GS09Pr9Jk9OL+KigoIBsbG9q2bRuJxWJKTEwkMzMzSk5OJiKi9u3b02+//UZE\nRE+fPqVLly5V+7mYMWMGrVmzhoiI5s2bR46OjvTdd98REdH06dNp7dq11a73ouqaMkpLS0lLS4ti\nYmKIqPbPxr59+8ja2pouXrwo3b93796tsn9eeeUV2rVrFxERPX/+nOLj44moavOat7c3LVy4kEpK\nSujy5ctkbm5Op06dIiJJU6eOjg4dPXqUKioqaMmSJfTKK6/U+tpu3bpFREQ5OTk0dOhQWr58uXR5\nbXXNnDmTPvnkE2nZ6t77Pn36UHZ2NuXk5JCrqyv973//IyKio0ePkoWFBV2/fp2eP39OU6ZMkdnP\nsbGxdO3aNSIiunLlCllYWND+/ftl9kdwcDAVFhZSUVER7du3j/r06SOt+/Lly9S2bdtqv0dNCSeE\nBrKzsyMDAwMyNjYmOzs7WrhwIRUVFdHnn39OkydPlparqKgga2trOnPmDN28eZPatWsnPfi96OU+\nhAcPHlDr1q2pqKhI+rc9e/bQwIEDiUhyMOvQoYPMNl48wO3YsUPmA0tE1LdvX9q2bRsREfn5+cl8\nEev7GouLi4lI8sU+ffq0tOzs2bPpo48+kj4vKCggbW1t6YFIJBLRsWPHpMs3btxIgwcPrrbeqKgo\n8vLykj63t7eXHuyIiI4cOUIODg5EVHtCeHGfVteH8OL+2rt3L3l7e8vE8frrr9Nnn31GREQdOnSg\n8PBwysvLq3Wfbd68mQICAoiIyNXVlTZv3kxBQUFEJNmfiYmJta5PVHPbdvv27WnPnj11fjb8/f1p\n/fr11W77xf3j4+NDy5cvp0ePHsmUeXFfZWRkkKampkzf0ZIlS2jmzJlEJNnHQ4cOlS67fv066erq\n1vrajIyMyNjYmDQ1NcnV1ZWysrKIiOqsa+bMmdIfAkTVv/e7d++WPl+8eDEtWLCAiIhmzZpFS5Ys\nkS5LTU2ttQ/hnXfeoXfffVdmf6SlpUmXFxUVkYmJiTS5vf/++7Rw4cIaX3dTwU1GDSQSiRAdHY3c\n3Fykp6cjLCwMOjo6yM7ORocOHWTK2draIisrC46Ojli7di1CQ0NhYWGBKVOmVGlWqXT37l2UlZXB\n0tISJiYmMDExwYIFC/Do0SNpmZqaSgDJqfeLcQCS5oz79+/Xa/2aXmPr1q2rXT87Oxt2dnbS5/r6\n+mjbti2ysrKqLd+hQwdpLA8fPkRQUBBsbGzQpk0bTJ8+HU+ePJGJpaZ1FeXu3bu4cOGCdF+bmJhg\nz549ePjwIQDg559/xpEjR2Bvbw8/Pz/Ex8dXux0fHx/ExcXhwYMHEIvFmDhxIs6dO4e7d+8iLy8P\nnp6eDYqvrKwMjx49gqmpaZ2fjXv37sHBwaHObW7evBmpqalwdXVF7969cfjw4Spl7t+/D1NTU+jr\n60v/1qFDB5n31cLCQvpYT08PxcXFMs1XL0tMTERubi6Ki4uxYMECeHt7o6SkpF511aV9+/bSx7q6\nunj+/DkAyefz5c/Qiy5cuICBAweiXbt2MDY2Rnh4eK2fQR0dHUyaNAk7d+4EEWHv3r3S5smmjBOC\ngllZWeHu3bvS50SEzMxMWFtbAwCmTJmCuLg43L17FyKRCB999BEAycH3Rba2tmjdujWePHmC3Nxc\n5ObmIi8vD1evXpWWeXmdF1lbW8vEAUgOepVx1LV+fby4vpWVFdLT06XPnz9/jidPnsjUl5GRIfO4\nctnHH38MTU1NXLt2DXl5edi5c2eVA8rL61pZWTU41up06NABvr6+0n2dm5uLZ8+eYcOGDQCAnj17\nYv/+/Xj06BECAwMxadKkarfj6OgIPT09fPvtt/D19YWhoSHat2+P77//Xqa/Ql7R0dHQ0tJC7969\n6/xs2Nra4tatW3Vu09HREXv27MGjR4/w0UcfYcKECSgqKpIpY2VlhZycHBQUFEj/lpGRARsbmwa/\nlkpaWlqYM2cO0tLScP369Trr0tfXR2FhoXTZgwcP6l2XpaVllc/Qi6ZOnYrAwEDcu3cPT58+xYIF\nC6p8Bl/+DAUHB2P37t04ceIE9PT00KdPn3rHo644ISjYpEmTcPjwYZw6dQplZWVYs2YNdHR00K9f\nP6SmpuLUqVMoKSlB69atoaOjA01NTQCSXzbp6enSjlZLS0v4+/vjvffew7Nnz1BRUYHbt2/XeQ15\npREjRiA1NRUREREoLy9HZGQkUlJSMGrUKGkZUuAVN1OmTMHWrVvx119/oaSkBB9//DFeeeUVmV9i\nX331FZ4+fYrMzEysX78ekydPBgAUFBRAX18fRkZGyMrKwn//+1+ZbRMRNmzYgKysLOTk5ODf//43\ngoKC5IrP3NwcGhoauH37drXLX331VaSmpmLXrl0oKytDWVkZ/vjjD6SkpKCsrAy7d+9GXl4eNDU1\nYWhoKH3fquPr64uwsDD4+voCkHTgv/i8Pirfm5ycHOzevRshISH417/+BRMTkzo/G3PnzsVXX32F\nS5cugYhw69atKgdAANi1a5f0rKJNmzYQiUTQ0JA9JNja2qJfv35YsmQJSkpKcOXKFWzZsgWvvfZa\nvV9LTa9NLBZj69at0NPTQ6dOneqsy9PTE0eOHEFubi4ePHiAtWvX1ruuSZMmYdu2bUhOTkZhYaFM\npzEg+QyamJigVatWSEhIwJ49e+r8EdG3b1+IRCJ88MEHmDFjRkN2hdrhhKBgnTt3xq5du/DWW2/B\n3Nwchw8fxsGDB6GlpYWSkhIsWbIE5ubmsLS0xOPHj/Hll18CACZOnAgAaNu2LXr27AkA2LFjB0pL\nS9GlSxeYmppi4sSJ0l9FIpGoygf2xb+1bdsWhw4dwpo1a2BmZoavvvoKhw4dgqmpqUz5hnp53cGD\nB+OLL77A+PHjYWVlhbS0NOzdu1emzJgxY9CjRw94eXlh1KhRmD17NgBg+fLluHTpEtq0aYPRo0dj\n/PjxMtsXiUSYNm0a/P394eDgACcnJyxbtqzO1/Hi/tDT08PSpUvRv39/mJqa4sKFCzLLDQ0Ncfz4\ncezduxfW1tawtLTEkiVLUFpaCkBy8OzYsSPatGmD77//Hrt3765x3/j6+qKgoEB6ZdPLz1euXImR\nI0fWun89PDxgaGgIJycnbNmyRdrUWKm2z8aECROwdOlSTJ06FUZGRhg3bhxyc3Or1HHs2DG4u7vD\n0NAQ7777Lvbu3SttEnxxn0ZERCA9PR1WVlYYN24cPv/8cwwaNKjKPn5xv9fntZmammLnzp2IioqC\nsbFxnXVNnz4dHh4esLe3x/DhwxEUFFRrXS/GNnz4cCxatAiDBg1C586dMXjwYJl1N27ciE8//RRG\nRkb44osvpD9W6npNM2bMwNWrVxuVINWJiBT5M/ElMTExWLRoEcRiMebOnSttHqkUGxuLMWPGoFOn\nTgCA8ePHy3zRGWNMne3cuRObNm2q95m7utNS1obFYjFCQkJw4sQJWFtbo1evXggICICrq6tMOV9f\nXxw4cEBZYTDGmFIUFhZiw4YNCAkJEToUhVFak1FCQgIcHR1hb28PbW1tBAUFVXvThhJPUBhjTCmO\nHTuGdu3awdLSElOnThU6HIVRWkLIysqSuUzLxsamyuVjIpEIv//+Ozw8PDBy5EiZOxYZY0xdDRs2\nDAUFBYiKiqrSEd+UKa3JqD4dlt27d0dmZib09PRw9OhRBAYGIjU1VVkhMcYYq4XSEoK1tTUyMzOl\nzzMzM6tcu2xoaCh9PGLECLz55pvIycmRuRIGkFwvXdPlgowxxqrn4OBQr3tSpJR1C3RZWRl16tSJ\n0tLSqKSkhDw8PCgpKUmmzIMHD6iiooKIiC5cuEB2dnbVbkuJYbZIdQ1ZweqP96Vi8f5ULHmPnUo7\nQ9DS0kJYWBiGDRsGsViMOXPmwNXVFeHh4QCA+fPn46effsJ3330HLS0t6OnpVblunTVT/9xngYsX\nhY2DMSZDaQkBkDQDjRgxQuZv8+fPlz5euHAhFi5cqMwQmDriRMCYWmo+3eOs3vz8/IQOodngfalY\nvD+FpdQ7lRVFJBLx/QqMMSYneY+dSm0yYqxa3IfQbJmamlY7bhJTLhMTE+lseo3BZwiMMYXh76ow\natrv8r4f3IfAGGMMACcExhhj/+CEwFSvZ8//70dgjKkNTghM9S5e5A5lpjbCw8Px7rvvqqSu2NhY\nDBw4sF5lw8LC8K9//UvJEcnihMAYa/bs7e2hp6cnneN61qxZeP78OUpLS/Hvf/8bixcvVkg9ZWVl\nmDBhAjp27AgNDQ2cOXOmwduaN28edu/eLZ3mVBU4ITDGmj2RSIRDhw7h2bNnuHTpEi5evIgVK1Yg\nOjoaLi4usLS0VFhdPj4+2LVrF9q3b9+oaWpbt26NESNGYMeOHQqLrS6cEJjqcR8CE5CVlRVGjBiB\na9euISYmRubu6ODgYHz99dcAJHO6aGhoYOPGjQCA27dvo23btrVuW1tbG2+//Tb69+8PTU3NWsuW\nlpbCy8sLYWFhACSzTPbv3x8rVqyQlvHz88Phw4cb8jIbhBMCUz3uQ2ACqLwePzMzE0eOHIGXlxeu\nXr0KZ2dnaRk/Pz/ExsYCAM6cOYNOnTpJ50s+c+YMfHx8FBZPq1atsGvXLnz66adISUnBqlWrQERY\nunSptIyLiwv++usvhdVZF04IjDGVEYkU809eRITAwECYmJjA29sbfn5++Pjjj/H06VOZeVl8fHzw\n22+/gYgQFxeHxYsX49y5cwAkCcHX11dRuwIA4ObmhmXLlmHMmDH4+uuvsXPnTplmJkNDQ+Tl5Sm0\nztpwQmCMqQyRYv7JSyQSITo6Grm5uUhPT0dYWBh0dHRgYmKC/Px8aTkHBwfo6+vj8uXLiIuLw6hR\no2BlZYXU1FScPXtW4QkBAGbMmIGMjAyMHDkSDg4OMsuePXuGNm3aKLzOmnBCYKrHfQhMTXTr1q3K\ntL2+vr748ccfUVZWBisrK/j6+mLbtm3Izc2Fp6enwmN48803MWrUKMTExEjPRiolJycrpc6acEJg\nqsd9CExNjBw5ssqlob6+vggLC5P2F/j5+SEsLAze3t71umqopKQExcXFVR5XZ+fOnUhMTMT27dux\nfv16BAcH4/nz59LlZ86cqTKnjDJxQmCMtVijRo1CSkoKsrOzpX/z8fFBQUGBNCH0798fRUVF9e5Q\ndnZ2hp6eHu7fv49hw4ZBX18fGRkZVcplZGTg3XffxY4dO6Cnp4cpU6agZ8+eeO+99wAAxcXFOHr0\nKIKDgxXwSuuHRztljClMU/yubtq0CUlJSfjmm2+UXldsbCw+++wznD59us6yYWFhuHfvHlatWlVn\nWUWNdsrzITDV4/kQmBqZN2+e0CFUKyQkROV1cpMRUz3uQ2BN2MqVK2FoaFjl36uvvlrnuiKRqFF3\nLysbNxkxxhSGv6vC4AlyGGOMKRQnBKZ6fB8CY2qJm4wYYwrD31VhcJMRY4wxheKEwBhjDAAnBCYE\n7kNgaqSkpARubm54+PChSurz8/OTaya1Pn36ICkpSYkR/T9OCEz1+D4Epka+//57+Pr6wsLCQiHb\n++CDD9C5c2cYGRnB1dUVO3fulFn+4r0IiYmJaNOmDW7fvi1d/ueff8LExEQ63MUHH3yATz/9VCGx\n1YUTAmOsRQsPD8f06dMVtj0DAwMcOnQI+fn52L59O9555x2cP3++2rJeXl4ICQmR3i1dVlaG2bNn\n44svvkCHDh0AAKNHj8bp06dVcgbDCYEx1uzZ29tj1apVcHNzg6mpKWbPno2SkhJkZGTgzp076NOn\nDwAgLS0NJiYm0vXmzZsnc+Ywffp0rFu3rta6QkND0blzZwBA79694e3tXWNCAIDly5cjOzsb33//\nPVauXAkjIyOZYSt0dHTQo0cPHDt2rEGvXR6cEJjqcR8CE8CePXtw/Phx3L59G6mpqVixYgWuXr2K\nTp06QUNDcijs2LEjjIyMkJiYCAA4e/YsDA0NkZKSIn3+4hzMdSkqKsIff/wBd3f3Gsu0atUKmzdv\nxuLFi/H1119j8+bNVcq4urqqZCpNHtyOqR73H7RYos8UM44PLZfvXgeRSISQkBBYW1sDAJYuXYq3\n3noLrq6uMlNoApL5EGJjY2FpaQmRSIQJEybgzJkzaN26NfLz8+Hh4VHvehcsWABPT0/4+/vXWs7N\nzQ3a2tpwcXGRnl28yNDQUGaIbmXhhMAYUxl5D+SKZGtrK33coUMH3L9/HyYmJnj27JlMOV9fXxw4\ncAA2Njbw8fGBr68vdu7cCR0dHXh7e9e7vg8//BBJSUn1Gur6/fffh6+vLy5evIjIyEhMnjxZZnl+\nfr5MU5aycEJgjLUIL05Sk5GRAWtra3Tr1g1paWmoqKiQNhv5+vriww8/hI2NDfz8/DBgwAAsWLAA\nOjo69W4uWr58OY4dO4YzZ87AwMCg1rInTpzAwYMHkZycjAsXLmDWrFnw9/eXSQDJycmYMWOG/C9a\nXtQENJEwWX316CH5x5oddf2u2tnZUbdu3ejevXv05MkT6t+/Py1dupSIiLp160a///67THlLS0sy\nMjKie/fuERFRz549ycjIiC5evFhnXStXriQnJyd68OBBtcv9/PzozJkzRERUUFBAHTt2pD179kiX\nv/baaxQcHCx9XlRURKamppSdnV1jnTXtd3nfD+5UZqrH9yEwFROJRJg6dSr8/f3h4OAAJycnLFu2\nDAAwf/78KvcK+Pn5wczMTNrnUHlm0L179zrrWrp0KTIzM+Ho6CidK6GmWc8+/vhjdOnSBVOmTJH+\nbe3atTh69ChOnjwJADh48CAGDhyI9u3by/265SZX+pDT0aNHydnZmRwdHWnVqlU1lktISCBNTU36\n+eefq12u5DAZYwqirt9Ve3t7OnnyZLXLSkpKqEuXLjX+ole0F88Q6qNPnz50/fr1WsvUtN/lfT+U\n1ocgFosREhKCEydOwNraGr169UJAQABcXV2rlPvoo48wfPhwHiWRMaZyrVq1wvXr14UOo0bx8fEq\nq0tpTUYJCQlwdHSEvb09tLW1ERQUhOjo6Crlvv32W0yYMAHm5ubKCoWpG74PgTVxBgYG1U6jee7c\nOaFDaxSlnSFkZWXJXOZlY2ODCxcuVCkTHR2NU6dO4Y8//lDruUaZAnH/AVOxtLQ0hW6voKCgwevW\n5zJUoSgtIdTn4L5o0SKsWrVKOolDbU1GoaGh0sd+fn5y3S3IGGMtQWxsLGJjYxu8vtJmTIuPj0do\naChiYmIAAF9++SU0NDTw0UcfSct06tRJmgQeP34MPT09bNq0CQEBAbJB8ixMjDUJ/F0VhqJmTFNa\nQigvL4ezszNOnjwJKysr9O7dGxEREVU6lSvNmjULo0ePxrhx46oGyR+y5qWy/4Cbjpod/q4KQ1EJ\nQWlNRlpaWggLC8OwYcMgFosxZ84cuLq6Ijw8HIDk2l/WQnEiaLZMTEy4L1AAihrWQmlnCIrEvzoY\nY0x+8h47+U5lxhhjADghMCHwfQiMqSVuMmKMsWaKm4wYY4w1CCcExhhjADghMCFwHwJjaon7EBhj\nrJniPgTGGGMNwgmBMcYYAE4ITAjch8CYWuI+BMYYa6a4D4ExxliDcEJgjDEGgBMCEwL3ITCmlrgP\ngTHGminuQ2CMMdYgnBAYY4wB4ITAhMB9CIypJe5DYIyxZor7EBhjjDUIJwTGGGMAOCEwIXAfAmNq\nifsQGGOsmeI+BMYYYw3CCYExxhgATghMCNyHwJha4j4ExhhrprgPgTHGWINwQmCMMQaAEwITAvch\nMKaWuA+BMcaaKe5DYIwx1iCcEJoYTU1NeHl5oVu3bhg3bhwKCgqky4YPHw4TExOMHj1awAhblpre\nj8uXL6Nfv35wd3eHh4cH9u3bJ3CkjNWNE0ITo6enh8TERFy5cgVGRkYIDw+XLlu8eDF27twpYHT1\n1Iz6EGp6P/T19bFz505cu3YNMTExWLRoEfLz8wWOlrHacUJowvr27Yvbt29Lnw8aNAgGBgYCRlRP\nFy9K/jUzL74fTk5OcHBwAABYWlqiXbt2ePTokZDhMVYnpSaEmJgYuLi4wMnJCatXr66yPDo6Gh4e\nHvDy8kKPHj1w6tQpZYbTrIjFYhw/fhzu7u5Ch8JQ+/uRkJCAsrIyaYJgTG2RkpSXl5ODgwOlpaVR\naWkpeXh4UFJSkkyZgoIC6eMrV66Qg4NDtdtSYphNjqamJnl6epK5uTn16tWLxGKxzPLTp0/TqFGj\nBIqu5anr/bh//z45OzvThQsXBIqQtWTyHjuVdoaQkJAAR0dH2NvbQ1tbG0FBQYiOjpYpo6+vL31c\nUFAAMzMzZYXTbOjq6iIxMRF3796Fjo5OlX0qEokEikwOzagPobb3Iz8/H6NGjcLKlSvRu3dvAaNk\nrH6UlhCysrJga2srfW5jY4OsrKwq5fbv3w9XV1eMGDEC69evV1Y4zY6uri7Wr1+PpUuXylxnTE3h\nfo1m2Ifw8vtRWlqKsWPHYsaMGRg3bpzQ4TFWL0pLCPX9pRoYGIjk5GQcPHgQ06dPV1Y4zcaL+9XT\n0xOOjo7SSxq9vb0xadIknDx5Era2tvj111+FCrPFqO79iIyMxI8//oi4uDhs27YNXl5e8PLywpUr\nVwSMlLG6aSlrw9bW1sjMzJQ+z8zMhI2NTY3lvb29UV5ejidPnqBt27ZVloeGhkof+/n5wc/PT5Hh\nNhkvX7p44MAB6eO4uDhVh9Pi1fZ+TJs2TdXhsBYuNjYWsbGxDV5faUNXlJeXw9nZGSdPnoSVlRV6\n9+6NiIgIuLq6Ssvcvn0bnTp1gkgkwqVLlzBx4kSZyyilQfLQFc1LZf9BM2s2YkzdyHvsVNoZgpaW\nFsLCwjBs2DCIxWLMmTMHrq6u0ht35s+fj59//hk7duyAtrY2DAwMsHfvXmWFw9QJJwLG1BIPbscY\nY80UD27HGGOsQTghMNVrRvchMNaccJMRY4w1U9xkxBhjrEE4ITDGGAPACYEJgfsQGFNL3IfAGGPN\nFPchMMYYaxBOCIwxxgDIkRCKi4tRUlKizFhYS8F9CIyppRr7ECoqKrB//35ERETg999/R0VFBYgI\nmpqa6Nu3L6ZNm4bAwECVTMjCfQiMMSY/eY+dNSYEHx8feHt7IyAgAJ6enmjdujUAoKSkBImJiThw\n4AB+++2roCDFAAAgAElEQVQ3nD17VjGR1xYkJwTGGJObwhJCSUmJNAnUpD5lFIETAmOMyU9hVxlV\nHuiXLVuGX3/9Fc+fP6+xDGNy4T4ExtRSnfchbNmyBXFxcYiPj4eBgYG0KSkwMFBVMfIZAmOMNYDC\nmoxe9uDBA0RGRuKrr75Cbm4uCgoKGhykvDghMMaY/BSeEObMmYPk5GRYWFhgwIAB8Pb2hpeXF7S1\ntRsdbH1xQmCMMfkp/E7lnJwclJeXw9jYGKampjAzM1NpMmDNEPchMKaW6t1klJycjJiYGKxduxZi\nsRj37t1TdmxSfIbAGGPyk/fYqVVXgYMHDyIuLg5xcXF4+vQpBg0aBG9v70YFyRhjTP3UeYawcOFC\n6ZVFVlZWqopLBp8hMMaY/BTWqUxEdQ5LUZ8yisAJoZmp7D+4eFHYOBhr5hTWqezn54f//ve/SE1N\nrbLsxo0bWL16NXx9fRsWJWvZLl7kZMCYGqp16Irdu3cjIiIC165dg6GhIYgIBQUFcHd3x7Rp0zB1\n6lS0atVK+UHyGQJjjMlNKTemicViPH78GABgZmYGTU3NhkfYAJwQGGNMfgq7yqioqAj/+9//cOvW\nLXTr1g1z5syBlladFyUxVjfuQ2BMLdV4hjBp0iS0atUKAwYMwNGjR2Fvb49169apOj4AfIbAGGMN\nobAmo65du+Lq1asAgPLycvTq1QuJiYmKiVJOnBAYY0x+CrvK6MXmIW4qYoyx5q/GMwRNTU3o6elJ\nnxcVFUFXV1eykkiE/Px81UQIPkNodrgPgTGVUNrw10LihMAYY/JT+GinjDHGWgZOCIwxxgBwQmBC\n4PkQGFNL3IfAGGPNFPchMMYYaxClJ4SYmBi4uLjAyckJq1evrrJ89+7d8PDwQLdu3dC/f39cuXJF\n2SExxhirhlKbjMRiMZydnXHixAlYW1ujV69eiIiIgKurq7TM+fPn0aVLF7Rp0wYxMTEIDQ1FfHy8\nbJDcZNS88H0IjKmEwqfQbIyEhAQ4OjrC3t4eABAUFITo6GiZhNC3b1/p4z59+qh0rmYmEE4EjKkl\npTYZZWVlwdbWVvrcxsYGWVlZNZbfvHkzRo4cqcyQGGOM1UCpZwjyTK95+vRpbNmyBefOnVNiRE3T\ns2fA998DZ84ArVsDAQHA1KmAiqelYC84nXYaO67swMOCh+hm0Q1v9noTHdp0EDosxhpFqQnB2toa\nmZmZ0ueZmZmwsbGpUu7KlSuYN28eYmJiYGJiUu22QkNDpY/9/Pzg5+en6HDV0l9/AWPGAH37AjNn\nAs+fA+Hhkn9RUYC5udARNkAT7kMoE5dh4ZGFOHHnBN595V3YG9vj7N2z6B7eHd+9+h0muk0UOkTW\ngsXGxiI2NrbhGyAlKisro06dOlFaWhqVlJSQh4cHJSUlyZS5e/cuOTg40Pnz52vcjpLDVFvXrxO1\na0e0d6/s38VioiVLiNzdiZ4+FSa2lkhcIaagn4JoxK4R9KzkmcyyxOxEslpjRfuu7RMoOsaqkvfY\nqfQb044ePYpFixZBLBZjzpw5WLJkCcLDwwEA8+fPx9y5cxEVFYUOHSSn29ra2khISJDZRku8yujZ\nM8DLC/jkEyA4uOpyIiAkBMjMBKKjATla51gDrf5tNfbf2I/Twaeho6VTZfnlB5cxdOdQnA4+Dfd2\n7gJEyJgsHu20mZg/HygvBzZvrrlMaamkKWnhQmD2bNXF1hJdeXgFQ3YMwcXXL9baV7D50mZ8m/At\nLr5+EVoaPI8IExYnhGYgMREYMQJISQGMjWsv++efwKhRkrJt2qgmvkZrYn0IRITBOwZjQpcJeLPX\nm3WWHbh9IKa4T8H8nvNVFCFj1eOE0MQRAQMHAlOmSM4S6mP2bEnncjU3gjMFiE6JxtJTS3F5weV6\n/epPzE7EiN0jkBKSAmOdOjI6Y0rECaGJO3gQ+PhjyVlCfWcuzc4G3N0l63TgKx8VSlwhRpeNXfDt\niG/h7+Bf7/XmHpgLMz0zrBqySonRMVY7HtyuiVu1StKRLM801paWkktS165VWlgt1i/Jv6CtblsM\n7TRUrvWW+SzDpkubkFecp6TIGFM8Tghq5LffgAcPgPHj5V/33XeBbduAnByFh6V4TWQ+BCLC6nOr\n8VH/j+S6yRIA7I3tMdxxOML/DFdSdIwpHicENfKf/wAffNCwO5BtbCR3MH/3neLjUriLF5tEh/Lp\n9NMoKC3AaOfRDVr/w34fYt2FdSgpL1FwZIwpBycENXHnDnD+vKTpp6E++ADYsEFyuSprvHUX1uG9\nvu9BQ9Swr4lne090Me+Cn5J+UnBkjCkHJwQ18cMPwIwZgK5uw7fh7g506gQcPqy4uFqqrPwsnL17\nFlO7Tm3Udhb0WIBNlzYpKCrGlIsTghooKwO2bgXmzWv8tl5/XTIQnlprAn0IWy9vxWS3yTBoZdCo\n7QQ4ByDlcQpuPL6hoMgYUx5OCGrg4EGgc2fAxaXx25o4EYiPBzIyGr8tpVHzPgRxhRg/XPoBr/d4\nvdHb0tbUxizPWXyWwJoETghqYPNmYO5cxWxLV1cyNPa2bYrZXkt0Ku0U2uq1RXfL7grZ3tzuc7Hj\nrx0oE5cpZHuMKQsnBIE9egScOweMHau4bU6bBuzZI7nrmclvz7U9eK3rawrbnoOpAxxMHXDizgmF\nbZMxZeCEILCffpKMW2TQuKZqGX36SAa+S0xU3DYVSo37EIrLixGdEo3J7pMVut2p7lOx59oehW6T\nMUXjhCCwPXskTTyKJBJJthkRodjtKowa9yEcuXkEXpZesDK0Uuh2J7lNwqHUQygsK1TodhlTJE4I\nAsrIAJKTgWHDFL/tyoRQUaH4bTdne67uwRT3KQrfroWBBXpZ9cKh1EMK3zZjisIJQUB790qGqWjV\nSvHb7tIFMDMD4uIUv+3mKq84D7/e+RXjXRswdkg9TO06FXuucrMRU1+cEASkjOaiF02ZIqlD7ahp\nH8L+lP0YaD8QJrrVz+vdWGNdxuJ0+mnkFuUqZfuMNRYnBIEkJwOPHwPe3sqrIygI+PlnyY1vakVN\n+xAirkUopbmoUhudNhjSaQiiUqKUVgdjjcEJQSBRUZJLTTWU+A7Y2QEODsDZs8qro7l4WvwUv2f+\njlc7v6rUeia4TsAvyb8otQ7GGooTgkAqE4KyjR0L/MLHnzoduXkEvva+jR6qoi4jnUbi7N2zyC/J\nV2o9jDUEJwQBZGZKRjf18VF+XePGSZKPWl1tpIZ9CFEpURjrovwM3UanDQZ0GIAjN48ovS7G5MUJ\nQQDR0cCoUfLNitZQnTsDJiZAQoLy66o3NetDKCorwvHbxzG6c8PmPZDXONdx3I/A1BInBAGoqrmo\n0rhx3GxUmxN3TsCzvSfM9c1VUl+AcwCO3TqG4vJildTHWH1xQlCxJ08kP4796z9fe6ONHStJQjy2\nUfVU1VxUqZ1+O3i09+CxjZja4YSgYocPA4MGAXp6qqvTy0ty6em1a6qrs1Zq1IdQXlGOg6kHEegS\nqNJ6x7mM46uNmNrhhKBiqm4uAiRjG6nV1UZq1IdwLuMcbI1sYW9sr9J6A10CceDGAZRX8HynTH1w\nQlChwkLg5ElJh7KqVV5txGSpurmokp2xHeyN7RF3l8cWYeqDE4IKHT8O9OoFmJqqvu5+/YDsbOD2\nbdXXra6ISJIQXFWfEADJUBbcbMTUCScEFRKiuaiSpiYwZgywf78w9ctQkz6ExAeJ0NbQhpu5myD1\nj3Mdh/039oO4t5+pCU4IKlJWBhw6JDkoCyUwUE2ajdSkDyEqWdJcJBKJBKnfxcwFetp6uHhf+H3B\nGMAJQWXi4oBOnQBbW+FiGDxYcqXRw4fCxaBO9t/YL1hzEQCIRCKMdRmL/SnqcNrGGCcElRGyuahS\n69bA8OHAgQPCxqEObuXcwuPCx3jF5hVB4xjrMpbvWmZqgxOCChBJ2u4DVXupe7UCA9WgH0EN+hCi\nkqMwxnkMNETCfgV6WffC0+KnuPH4hqBxMAZwQlCJP/+U3Ijm6ip0JMDIkZLmq3whB9tUgz4EoS43\nfZmGSAOBLoHcbMTUAicEFahsLhKo71KGkREwYABw9KjQkQgn+1k2Uh6nYGDHgUKHAoCbjZj64ISg\nAlFR6tFcVEktmo0EtD9lP0Y4jUArTSVMZt0Avva+SH2SivvP7gsdCmvhlJoQYmJi4OLiAicnJ6xe\nvbrK8pSUFPTt2xc6OjpYs2aNMkMRzI0bQF4e0Lu30JH8vzFjgJgYoKREoAAE7kOISonCOJdxgtX/\nslaarTDSaSSiU6KFDoW1cEpLCGKxGCEhIYiJiUFSUhIiIiKQnJwsU6Zt27b49ttv8cEHHygrDMH9\n/LPyp8qUl4UF4OYGnDolUAAC9iHkFuUi/l48hjsOF6T+mnCzEVMHSjtMJSQkwNHREfb29tDW1kZQ\nUBCio2V/AZmbm6Nnz57Q1tZWVhiC++UXYPx4oaOoqqU2Gx1KPYSBHQdCv5W+0KHIGOY4DPH34vG0\n+KnQobAWTGkJISsrC7Yv3IVlY2ODrKwsZVWnltLTgbt3AW9voSOpauxYycxtYrHQkaiWujUXVTJo\nZQA/ez8cTj0sdCisBVPaJI6KHg4gNDRU+tjPzw9+fn4K3b4yREVJ2utVMVWmvBwcgHbtgPh4oH9/\nFVde2X+g4majwrJCnEw7iR8CflBpvfVV2Ww0rds0oUNhTVRsbCxiY2MbvL7SDlXW1tbIzMyUPs/M\nzISNjU2Dt/diQmgqfv4ZWLpU6ChqVtlspPKEIFD/wbFbx9DLqhdMdQUYbrYeRnUehUXHFqGorAi6\n2rpCh8OaoJd/LH/22Wdyra+0JqOePXvi5s2bSE9PR2lpKSIjIxEQEFBt2eY42mN2NnD9umR2NHXV\n0qbWVJeb0Wpirm8Or/ZePLUmE4zSEoKWlhbCwsIwbNgwdOnSBZMnT4arqyvCw8MRHh4OAHjw4AFs\nbW3xzTffYMWKFejQoQMKCgqUFZJK7d8PvPqqZPwgdeXpCZSXq9HUmkpUJi7D4ZuHVT5Vprz4aiMm\nJBE1gZ/nIpGoyZ1FDBkCvPmmZKYydfb++4CBASDnmWXjCNCHEHMrBp+d+Qzn55xXWZ0NkZGXge7h\n3XH//ftqc+Mca7rkPXaq0dXxzceTJ8Aff0hGFlV3kycDe/equNlIgPsQ9l7biyC3IJXW2RAd2nSA\ns5kzNxsxQXBCUILoaGDoUMmAduquVy/J5D1//SV0JMpTUl6CAzcOYKLbRKFDqZfJbpMReT1S6DBY\nC8QJQQn27AGmTBE6ivoRif7/LKG5irkVg24W3WBlaCV0KPUysctEHLhxAMXlxUKHwloYTggKlp0t\nGe565EihI6m/yZOByEgVNhupeCyjyOuRmOw2WWX1NZaloSU823si5laM0KGwFoYTgoJFRkqu79dt\nQpeRe3hIroZKSFBRhSrsQygsK8SRm0cwvosajh9SiyC3IOy91oxP25ha4oSgYLt3A1OnCh2FfJpz\ns9Hh1MPobd0b7fTbCR2KXMZ3GY+jt47ieelzoUNhLQgnBAVKTQUyM4GB6jHvilyCgiRnN+XlQkei\nWHuu7UGQu/pfXfQyMz0z9LPth+gbPCQ2Ux1OCAoUESH5pa2OYxfVxdUVsLUFjh9XQWUq6kP4+/nf\niE2PxcQuTePqopcFewRj6+WtQofBWhBOCApC1DSbi140axawVRXHHxX1Iey+shsBzgEwbG2o9LqU\nIdAlEJeyLyEjL0PoUFgLwQlBQc6elZwZqNPMaPIKCgJ+/VVyY11TR0TYenkrZnnOEjqUBtPR0sFk\nt8nYfnm70KGwFoITgoJs2gTMmyfpoG2qjI0ll8vu2SN0JI13KfsSCkoL4GPnI3QojTLTcya2/bUN\nFVQhdCisBeCEoAA5OcChQ8D06UJH0ngqaTZSQR/C1stbEewRDA1R0/6I97LqBR0tHcTdjRM6FNYC\nNO1vi5rYtUvyy9rMTOhIGm/QIODxYyUPZaHkPoTi8mLsvbYXwZ7BSqtDVUQiEWZ5zuLOZaYSnBAa\niej/m4uaA01NYO5cYONGoSNpuB+v/4jult1hb2wvdCgKMcNjBqJvRONx4WOhQ2HNHCeERrpwASgu\nBprAjJ71Nn8+sG+fpCmsKQr7Iwxv9X5L6DAUpp1+O4xxHoNNf24SOhTWzHFCaKRvv5UcQJtyZ/LL\nLCyAgADJmY9SKLEPISErAX8//xsjnZrQYFL18E6fd7Dhjw0oE5cJHQprxniCnEa4dw/o1g24c0dy\nhU5zcumSZEymO3ea1o12M6JmoGu7rviw/4dCh6JwPlt9ENI7BJPcJgkdCmsieIIcFQoLA2bMaH7J\nAAC6dwfs7CRTgTYVmXmZOJR6CHO6zxE6FKV4p887WHdhndBhsGaME0IDPXsG/PAD8PbbQkeiPG+/\nDXzzjYpnU2uEr89/jVmes2Cqayp0KEoxxmUM7uXfQ0KWqoalZS0NJ4QG2rBBMitap05CR6I8Y8cC\njx4BsbEK3rAS+hCeFD7B9r+2492+7yp0u+pES0MLH/T9ACvOrhA6FNZMcR9CAxQUAA4OwOnTQJcu\nQkejXDt2AFu2KCEpKNgnpz7B/Wf3sXnMZqFDUari8mI4rHfAwSkH0d2yu9DhMDXHfQgqsHGjZIjr\n5p4MAMlgfVlZ6p0Q/n7+NzZe3IhPfD8ROhSl09HSweJ+i/H5mc+FDoU1Q3yGIKecHMDFRXKAbAkJ\nAQB27pQkwd9/V8/LaxfFLEIFVWD9iPVCh6ISRWVF6BzWGfsm7ENf275Ch8PUGJ8hKNkXXwDjx7ec\nZAAA06YBpaWSCXQUQoF9CGm5adh5ZSeWei9VyPaaAl1tXfx70L/x7rF3edA7plB8hiCHmzeBvn2B\npCSgXdOakbHRzpwBgoOB5GT1mi96zN4x6GPdBx97fyx0KCpVQRXotakX3u/7PqZ2bcKTcDCl4jME\nJSEC3nwT+Ne/Wl4yAABfX6BXL2CFGl3gcij1EJIfJeP9vu8LHYrKaYg0sG74Onz464d4WvxU6HBY\nM8FnCPW0davkRrQLF5rWnbuKlJ0NeHhIJtHx8BA2lvySfHj8zwP/e/V/GOY4TNhgBLTg0AKIK8TY\nFMDjHLGq5D12ckKoh3v3JHfuHj8OeHoKFoZa2LJFcg/G+fNAq1YN3Ehl/0EjhsCeHT0bmiLNFn8g\nzCvOg/t37tgSsAVDHYYKHQ5TM5wQFKy8XHKJ6YgRwMctq5m6WkSSG9Y6dpTcxSyEX5J/wYe/fojL\n8y832fmSFenknZOYHjUdl+ZfQnuD9kKHw9QI9yEo2LJlgL6+pO+ASS473bpVMsbRzz+rvv6kR0mY\nf2g+IsZHcDL4x+BOg/F6j9cx9eepPBoqaxROCLXYvBn48UfJdfgavKekTEwk++WNN4AEFQ6r87jw\nMcbsHYOvhn6F3ta9VVdxE/CJzyfQ1dbFG4ffELy/jTVdfJirwcGDwNKlwNGjgLm50NGon549Jf0J\nY8YAKSkNWFnO+xCeFj/FsF3DMMF1QrOYGlPRNDU0ETkhEpcfXManpz/lpMAahPsQqrFvH/DWW8Ch\nQ5JLLVnNdu4EFi+WJE5ldbg/ev4IoyJGoY91H6wbvg4idbxdWk08LHiIITuHYKTjSKwasor3VQvH\nfQiNQAT85z/AokWSK4o4GdRt+nRg/XrA31+SQBXtxuMb6LelHwbZD8La4Wv5AFcHCwMLxAbH4lT6\nKUyPmo7CskKhQ2JNCCeEf/z9t2RIih9/BOLjhb/OvimZOFHSybxgAbBkiWSO6cYiImy7vA0Dtg7A\nR/0/wpdDvoSGiD+u9dFWry3OzDwDAqHf5n64+vCq0CGxJkKp37CYmBi4uLjAyckJq1evrrbM22+/\nDScnJ3h4eCAxMVGZ4VSrrEwyd3DXrpIhrePigA4dVB5Gk9evn+S2ghs3AC8vICamlol16uhDSHqU\nBP9d/vj6/Nc4NeMU5nafq5ygmzE9bT3sGrsLIb1DMGjHIHx88mPkFecJHRZTd6Qk5eXl5ODgQGlp\naVRaWkoeHh6UlJQkU+bw4cM0YsQIIiKKj4+nPn36VLstZYSZk0O0fj2RoyPRoEFEFy8qvAq1dfr0\naaVuPyqKyMWFqH9/or17iYqL616noqKCzmWco4n7JpLZf8xoXfw6Ki0vVWqciqDsfakI9/Lu0cz9\nM8n8P+a09ORSSstNEzqkGjWF/dmUyHvsVNoZQkJCAhwdHWFvbw9tbW0EBQUhOjpapsyBAwcQHCy5\nYqRPnz54+vQpHj58qKyQkJ0NbN8OBAVJbqz6/XfJNJgnTwI9eiitWrUTq+TJDQIDgatXJR3z338P\n2NpKmpP27wfy8/+/XHF5Mc6kn8GyU8vg+K0j5hyYg1dsXkHaO2l4u8/b0NbUVmqciqDsfakI1kbW\n2DpmK+JmxaGgtAA9v++JoTuHYm38WqQ8TlGrK5Kawv5szpQ2Kk9WVhZsbW2lz21sbHDhwoU6y9y7\ndw8WFhZy10ckabt++lQyZ8G9e8Ddu5J/168DiYmSeZCHDAGGDQO+/ZYvJ1UmLS1g0iTCiMBniL+e\njegTD/DpvmxMWnsPenbJ0LK8jme612DTyg29LQbiq94/on8nLxgbixo+JAarlbOZM9YOX4svB3+J\nIzeP4NjtY/j6/NcoLCuEl6UXurXrho4mHdGhTQfYGtnCXN8cxjrG0NfW5878FkJpCaG+H6CXf53U\ntJ5pyChUEEAVQAXRP/+XJIKKCkLZPzdoamtL/unoEnR1AB1dwGAAYDeSoKsH5AP4EcC+Y1V/Fb0c\nC0H+MtX92lJEmYbEUlOZzEuZOLb5mEJjEVeIUVRehMKyQum/orIi6GnrwdLQEpbmlnAZ2x4D9a2x\n+O0TQJku1k7PxoNbhsiIAT7MAvLyJAm9VSvAyAho3VryWFtb8v/Kx1pakjumK/8BDXuuCDduAH/+\nqZhtqY4ugPEAxsMDQLF2NvL0EnFE9yqKWiWjqFUMilploEwrB2WaT1GhUQwtcRtoivWhQdrQoFYQ\nUasXHmtDRBoAKneqCCKI/v85vfT8n8cikn0OAAXnb+C7vCa3Q5sNpSUEa2trZGZmSp9nZmbCxsam\n1jL37t2DtbV1lW05ODjg9obD9aq39J9/zxsUdcuRdTBLJfU8x3Pc+ue/StJ5zf5tVO065eVAYRO6\nWvLmzc+EDkHpypCDMuSopK7CCzdVUk9L4ODgIFd5pSWEnj174ubNm0hPT4eVlRUiIyMREREhUyYg\nIABhYWEICgpCfHw8jI2Nq20uunXrVpW/McYYUyylJQQtLS2EhYVh2LBhEIvFmDNnDlxdXREeHg4A\nmD9/PkaOHIkjR47A0dER+vr62Lp1q7LCYYwxVocmMXQFY4wx5VPrWz/rc2Mbqz97e3t069YNXl5e\n6N2bRwuV1+zZs2FhYYGuXbtK/5aTk4OhQ4eic+fO8Pf3x9OnPJ1lfVW3P0NDQ2FjYwMvLy94eXkh\nJiZGwAibjszMTAwcOBBubm5wd3fH+vWSnjp5P59qmxDEYjFCQkIQExODpKQkREREIDk5WeiwmjSR\nSITY2FgkJiYiQZXjVjcTs2bNqnKAWrVqFYYOHYrU1FQMHjwYq1atEii6pqe6/SkSifDee+8hMTER\niYmJGD58uEDRNS3a2tr45ptvcP36dcTHx2PDhg1ITk6W+/OptgmhPje2MflxC2HDeXt7w8TEROZv\nL95cGRwcjP379wsRWpNU3f4E+DPaEO3bt4fnP8MNGxgYwNXVFVlZWXJ/PtU2IVR301pWlmoulWyu\nRCIRhgwZgp49e2LTppY9F7GiPHz4UHplnIWFhVLvtG8pvv32W3h4eGDOnDncBNcA6enpSExMRJ8+\nfeT+fKptQuA7IxXv3LlzSExMxNGjR7FhwwbExcUJHVKzIhKJ+HPbSG+88QbS0tJw+fJlWFpa4v33\n3xc6pCaloKAA48ePx7p162BoKDvFbH0+n2qbEOpzYxuTj6WlJQDA3NwcY8eO5X4EBbCwsMCDBw8A\nANnZ2WjXrp3AETVt7dq1kx645s6dy59ROZSVlWH8+PGYPn06AgMDAcj/+VTbhPDijW2lpaWIjIxE\nQECA0GE1WYWFhXj27BkA4Pnz5zh+/LjM1R2sYQICArB9+3YAwPbt26VfRNYw2dnZ0sdRUVH8Ga0n\nIsKcOXPQpUsXLFq0SPp3uT+fChplVSmOHDlCnTt3JgcHB1q5cqXQ4TRpd+7cIQ8PD/Lw8CA3Nzfe\nnw0QFBRElpaWpK2tTTY2NrRlyxZ68uQJDR48mJycnGjo0KGUm5srdJhNxsv7c/PmzTR9+nTq2rUr\ndevWjcaMGUMPHjwQOswmIS4ujkQiEXl4eJCnpyd5enrS0aNH5f588o1pjDHGAKhxkxFjjDHV4oTA\nGGMMACcExhhj/+CEwBhjDAAnBMYYY//ghMAYYwwAJwTWzNnb2yMnRzVTP9bX/fv3MXHixFrLxMbG\nYvTo0dUuU8fXxJoHTghMLRGRQka9VLexhcrLy2FlZYUff/yxwdtQt9fEmg9OCExtpKenw9nZGcHB\nwejatSsyMzPx5ptvolevXnB3d0doaKi0rL29PUJDQ9GjRw9069YNN27cAAA8efIE/v7+cHd3x7x5\n82SSytdff42uXbuia9euWLdunbROFxcXzJo1C87Ozpg2bRqOHz+O/v37o3Pnzvjjjz+qxNm3b18k\nJSVJn/v5+eHSpUv4448/0K9fP3Tv3h39+/dHamoqAGDbtm0ICAjA4MGDMXToUNy9exfu7u7S+n18\nfNCjRw/06NED58+fl243Pz8fo0aNgouLC954441qE+SuXbvQp08feHl5YcGCBaioqJBZnpeXBxcX\nF2ksU6ZMwebNm+V6X1gLovR7qhmrp7S0NNLQ0KALFy5I/5aTk0NEROXl5eTn50dXr14lIiJ7e3sK\nCwsjIqKNGzfS3LlziYjorbfeoi+++IKIiA4fPkwikYiePHlCFy9epK5du1JhYSEVFBSQm5sbJSYm\nUqoupbQAAAQBSURBVFpaGmlpadG1a9eooqKCevToQbNnzyYioujoaAoMDKwS5zfffEPLly8nIqL7\n9++Ts7MzERHl5+dTeXk5ERH9+uuvNH78eCIi2rp1K9nY2EiHDUhLSyN3d3ciIiosLKTi4mIiIkpN\nTaWePXsSEdHp06dJR0eH0tLSSCwW09ChQ+mnn36SvvYnT55QUlISjR49WlrnG2+8QTt27KgS76+/\n/kp9+/aliIgIGjFihDxvCWthtIROSIy9yM7OTmZ6z8jISGzatAnl5eXIzs5GUlKS9Nf1uHHjAADd\nu3fHL7/8AgCIi4tDVFQUAGDkyJEwMTEBEeG3337DuHHjoKurK103Li4OAQEB6NixI9zc3AAAbm5u\nGDJkCADA3d0d6enpVWKcNGkS/P39ERoain379kn7A54+fYoZM2bg1q1bEIlEKC8vl67j7+8PY2Pj\nKtsqLS1FSEgI/vrrL2hqauLmzZvSZb1794a9vT0AyS/73377DePHjwcgaVI7efIk/vzzT/Ts2RMA\nUFRUhPbt21epY8iQIdi3bx9CQkJw5cqVWvc/a9k4ITC1oq+vL32clpaGNWvW4OLFi2jTpg1mzZqF\n4uJi6fLWrVsDADQ1NWUOvlRN04pIJJL5OxFJ2+IrtwMAGhoaaNWqlfTxi9utZGVlhbZt2+Lq1avY\nt28fwsPDAQCffPIJBg8ejKioKNy9exd+fn7SdfT09Kp9vd988w0sLS2xc+dOiMVi6OjoyMT8Yrwa\nGlVbeIODg7Fy5cpqt12poqICycnJ0NfXR05ODqysrGotz1ou7kNgais/Px/6+vowMjLCw4cPcfTo\n0TrX8fHxwZ49ewAAR48eRW5uLkQiEby9vbF//34UFRXh+fPn2L9/P7y9vRvccT158mSsXr0a+fn5\n0jOW/Px86cF269at9X6Nlb/qd+zYAbFYLF2WkJCA9PR0VFRUIDIyEgMGDJAuE4lEGDx4MH766Sc8\nevQIgGRC9YyMjCp1fPPNN3Bzc8Pu3bsxa9asapMcYwAnBKZmXvxV7OHhAS8vL7i4uGDatGkyB8SX\n16lcb/ny5Th79izc3d0RFRUFOzs7AICXlxdmzpyJ3r1745VXXsG8efPg4eFRpc6Xn9d0Rc+ECRMQ\nGRmJSZMmSf+2ePFiLFmyBN27d4dYLJauW91MVZXP33zzTWzfvh2enp64ceMGDAwMpMt79eqFkJAQ\ndOnSBQ4ODhg7dqzMuq6urlixYgX8/f3h4eEBf39/6WQolW7cuIHNmzdjzZo1GDBgAHx8fLBixYpq\nXxNjPPw1Y4wxAHyGwBhj7B+cEBhjjAHghMAYY+wfnBAYY4wB4ITAGGPsH5wQGGOMAeCEwBhj7B+c\nEBhjjAEA/g+XL5v2vscQnQAAAABJRU5ErkJggg==\n",
- "text": [
- ""
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Classifying some random example data\n",
- "\n",
- "[back to top]
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Note on generating univariate random data from a Normal Distribution\n",
- "\n",
- "We can generate random samples drawn from a Normal distribution via the `np.random.randn()` function. Its default is a standard Normal distribution with $ \\mu = 0 $ and $ \\sigma^2 = 1 $. In order to draw random data from $ N(\\mu, \\sigma^2) $, we use \n",
- "`sigma * np.random.randn(...) + mu`"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Parameters\n",
- "mu_1 = 4\n",
- "mu_2 = 10\n",
- "sigma_1_sqr = 1\n",
- "sigma_2_sqr = 1\n",
- "\n",
- "# Generating 10 random samples drawn from a Normal Distribution for class 1 & 2\n",
- "x1_samples = sigma_1_sqr**0.5 * np.random.randn(10) + mu_1\n",
- "x2_samples = sigma_1_sqr**0.5 * np.random.randn(10) + mu_2\n",
- "y = [0 for i in range(10)]\n",
- "\n",
- "# Plotting sample data with a decision boundary\n",
- "\n",
- "plt.scatter(x1_samples, y, marker='o', color='green', s=40, alpha=0.5)\n",
- "plt.scatter(x2_samples, y, marker='^', color='blue', s=40, alpha=0.5)\n",
- "plt.title('Classifying random example data from 2 classes')\n",
- "plt.ylabel('P(x)')\n",
- "plt.xlabel('random variable x')\n",
- "plt.legend(['w_1', 'w_2'], loc='upper right')\n",
- "plt.ylim([-0.1,0.1])\n",
- "plt.xlim([0,20])\n",
- "plt.axvline(7, color='r', alpha=0.8, linestyle=':', linewidth=2)\n",
- "plt.annotate('R1', xy=(4, 0.05), xytext=(4, 0.05))\n",
- "plt.annotate('R2', xy=(10, 0.05), xytext=(10, 0.05))\n",
- "plt.show()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEZCAYAAAC99aPhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVWX+B/DPYVd2VHbkmriDSuKuiBFoNqJmLmVqaU5W\n1jg6M9aUSc5MZYtW2mJlqGOWWrkUSqa/cBlTcsRccBQUFNlE2WTn3vv9/XHj5pVF4AIX8PN+ve5L\nzj3P85znLJ7vfc73nHsVEREQERE1kJmpO0BERK0bAwkRERmFgYSIiIzCQEJEREZhICEiIqMwkBAR\nkVEYSJpAZGQkZs6c2WTt+/v74+DBgwAAEcETTzwBFxcXDBkypNZ6X3zxBcaMGdNk/WpKTb1NW5OU\nlBSYmZlBq9Ua3VZsbCx8fHwaoVd189FHH8HNzQ0ODg7Izc1ttuU2pvXr12PkyJGm7kaLwkDSQJs3\nb0ZQUBDs7e3h6emJcePG4T//+Q8AQFGUJl32mTNnEBwcDAA4fPgw9u3bh/T0dBw9erTWejNmzMAP\nP/zQpH1rKk29TenOjD2BVlRUYPHixdi/fz8KCgrg7OzciL27s+joaIwYMQLOzs7w8PDAvHnzUFhY\n2Kx9aKsYSBpg5cqV+POf/4yXX34Z165dQ2pqKp599ll89913AHSjhOZy+fJlqFQq2NjYNNsy70St\nVpu6C9QCZWZmorS0FL169ap2flMfNwUFBXjllVeQkZGBc+fOIS0tDX/961+bdJl3DaF6ycvLEzs7\nO/n6669rLLNs2TJ57LHH9NMPP/ywuLu7i6OjowQHB8vZs2f186Kjo6V3795ib28vXl5e8vbbb4uI\nSHZ2tjz44IPi5OQkLi4uMnLkSH0dX19f2bdvn3z22WdiY2Mj5ubmYmdnJ0899ZS0b99ebty4oS/7\n3//+Vzp16iRqtVqioqJkxIgR+nmKosjHH38s3bp1EycnJ3n22Wf18zQajSxatEg6duwoXbp0kdWr\nV4uiKKLRaKpdZ19fX1mxYoUEBASIjY2NqNVqef3116Vr165ib28vvXv3lu3bt+vLR0VFyfDhw+Uv\nf/mLODs7S5cuXWTPnj36+ZcuXZLg4GCxt7eXsLAwWbBggcE23blzp/Tu3VucnJwkJCREzp07Z9CX\nt956SwICAsTOzk7mzJkjmZmZMnbsWHFwcJD7779fcnNza9x/3333nfTr10+cnJxk2LBhcurUKRER\n+eqrr6RLly5SUFAgIiK7d+8Wd3d3uX79uoiIPP/88+Lj4yMODg4yYMAAOXTokL7NZcuWycMPPyyP\nPfaY2NvbS0BAgFy4cEFee+01cXV1lc6dO8vevXv15UeNGiUvvPCCDBo0SBwcHGTChAmSk5MjIiLJ\nyckG+yIvL0/mzJkjHh4e4uXlJS+//HKN+6m4uFhmz54tzs7O0rt3b3nzzTfF29tbP7+mfZaQkGBw\nrDk7O4uIyPfffy/9+/cXBwcH8fHxkcjIyGqXe/78ebG1tRVFUcTOzk5CQ0NFRHcMfvDBB+Ln5yf3\n3HOPiIh88skn4ufnJy4uLhIRESHp6en6dhRFkQ8//FD8/PzE3t5eli5dKklJSTJkyBBxdHSUadOm\nSXl5eY379lbffvutBAQE1Dj/ypUrMmnSJOnUqZN06NBBFixYICJS5f9Rbfv92LFjMmDAAHFwcBA3\nNzdZtGiRiIiUlJTIjBkzpEOHDuLk5CQDBw6UrKwsEal9fyYmJkpwcLA4OjpKx44dZdq0aXVa16bG\nQFJPe/bsEQsLixr/o4pUDSRRUVFSWFgo5eXlsnDhQunfv79+nru7uxw+fFhEdAfQiRMnRETkhRde\nkPnz54tarRa1Wq0vIyKiUqlk//79IiKyfv16g4N63Lhx8tFHH+mnFy5cKM8//7y+H7cHkvHjx0t+\nfr5cuXJFOnXqJDExMSIi8tFHH0nv3r0lLS1NcnNzJTQ0VMzMzGoNJIGBgXL16lUpLS0VEZFt27ZJ\nRkaGiIhs2bJFbG1tJTMzU98XS0tL+eyzz0Sr1cpHH30knp6e+vaGDBkiixcvlvLycjl48KDY29vL\nzJkzReT3k9K+fftErVbLm2++KX5+flJRUaHfPkOHDpVr165JWlqauLq6SmBgoJw8eVJKS0vlvvvu\nk1dffbXa9Thx4oS4urpKXFycaLVa2bBhg6hUKv3JacaMGfL444/L9evXxdPTU6Kjo/V1N23aJDk5\nOaLRaOSdd94Rd3d3KSsrExHdMWFjYyN79+4VtVots2bNEl9fX3nttddErVbLp59+Kl26dNG3NWrU\nKPHy8pKzZ89KUVGRTJ48WX9M3R5IJk6cKPPnz5fi4mK5du2aDBo0SNauXVvt+i1ZskSCg4MlNzdX\nUlNTpU+fPuLj46OfX9s+u/1YExGJjY2VM2fOiIjIqVOnxM3NTXbs2FHtslNSUqp8GFEURcLDwyU3\nN1dKS0tl//790rFjR4mPj5eysjJ57rnnJDg42KD8xIkT5ebNm3L27FmxsrKS0aNHS3JysuTn50vv\n3r1lw4YN1S7/dn/605/kkUceqXaeWq2Wvn37yqJFi6S4uFhKS0vlP//5j4hU/X9U234fMmSIbNq0\nSUREioqK5NixYyIi8vHHH8v48eOlpKREtFqtnDhxQv8Bpbb9OX36dHnttddERKSsrEzfJ1NjIKmn\nTZs2ibu7e61lbg8kt8rNzRVFUfQHTefOnWXt2rWSn59vUO6VV16RCRMmSFJSUpU2bg0ktx/UX331\nlQwfPlxEdP8Z3N3d5Zdffqm2rKIoBgfi1KlTZcWKFSIiMnr0aPnkk0/08/bt21friESlUklUVFT1\nG+Q3/fv3l507d+r74ufnp59XVFQkiqJIVlaWXL58WSwsLKS4uFg//9FHH9UHkuXLlxt8EtNqteLl\n5SUHDhzQ92Xz5s36+ZMnT5ZnnnlGP7169WqZOHFitX2cP3++LF261OC9Hj166NvOy8uTzp07S0BA\ngMyfP7/W9XV2dtaPZpYtWybh4eH6ebt27RI7OzvRarUiIlJQUCCKouiPg5CQEHnxxRf15RMSEsTK\nykq0Wq1BIMnMzBRra2spKSnRl928ebOMHj262j7dc8898sMPP+inP/nkE4MRye1u32e3B5Lb/elP\nf5I///nP1c67PQCK6I7Bn376ST89Z84cWbJkiX66sLBQLC0t5fLly/ryR44c0c8fMGCAvPnmm/rp\nxYsXy8KFC2vto4jI3r17xdnZWRITE6udf+TIEenUqVO1x/udtsOt+z04OFiWLVsm2dnZBmU+//xz\ng9FupTvtz1mzZskf//hHuXr16h3XsTkxR1JPHTp0wPXr1+t8x4xGo8ELL7wAPz8/ODo6okuXLlAU\nBdevXwcAfPPNN9i9ezdUKhVCQkL0CfO//vWv8PPzQ3h4OLp27YoVK1bUaXkTJkxAQkICUlJS8OOP\nP8LR0RFBQUE1lnd3d9f/3b59e33yMSMjw+BuHm9v7zsu+/a7fzZu3IjAwEA4OzvD2dkZZ86cwY0b\nN2pcNgAUFhYiPT0dzs7OaNeunX6+r6+v/u/09HR07txZP60oCnx8fJCWlqZ/z83NTf93u3btDKZt\nbGxqTLJevnwZ77zzjr7Pzs7OuHr1KjIyMgAAjo6OePjhh3HmzBksXrzYoO7bb7+N3r17w8nJCc7O\nzsjPz9fvZwBwdXU16FPHjh31NxFUruut/bp1e3bu3BkVFRUG7VX2t6KiAh4eHvr+zp8/H9nZ2dWu\nX3p6epV2b3WnfXa7Y8eOYfTo0XB1dYWTkxPWrl1ba/nq3NqfjIwMg31ta2uLDh061HnftmvX7o4J\n9KNHj2LGjBn45ptv4OfnV22Z1NRU+Pr6wszszqfI2vb7unXrcOHCBfTq1QuDBg1CdHQ0AGDmzJkY\nM2YMpk+fDi8vLyxZsgRqtfqO+/PNN9+EiGDQoEHw9/dHVFTUHfvXHBhI6mno0KGwtrbG9u3b61R+\n8+bN2LVrF/bv34/8/HwkJydDdCNBAEBQUBB27NiB7OxsTJw4EVOnTgUA2NnZ4e2338bFixexa9cu\nrFy5Ej/99NMdl2djY4MpU6Zg06ZN2LRpE2bNmtWg9fTw8EBqaqp++ta/a3LrnVWXL1/GH//4R3zw\nwQfIyclBbm4u/P3963QjgoeHB3Jzc1FcXGzQXiUvLy+DaRFBamoqvLy8amyzLssFdCfWl156Cbm5\nufpXYWEhpk2bBgA4efIkoqKi8Oijj+K5557T1zt06BDeeustbNu2DXl5ecjNzYWjo6NRN15cuXLF\n4G9LS0t07NjRoIyPjw+sra1x48YNfX/z8/Nx+vTpatv08PCo0m6lO+2z6u6ce/TRRzFx4kRcvXoV\neXl5mD9/fr1vS761XU9PT6SkpOini4qKcOPGjVr3bX3Ex8djwoQJWL9+PUaPHl1jOR8fH1y5cgUa\njabW9u603/38/LB582ZkZ2djyZIlePjhh1FSUgILCwu88sorOHv2LI4cOYLvv/8eGzduROfOnWvd\nn25ubvjkk0+QlpaGtWvX4plnnsGlS5caZdsYg4GknhwdHbF8+XI8++yz2LlzJ4qLi1FRUYE9e/Zg\nyZIlVcoXFhbC2toaLi4uKCoqwt///nf9vIqKCnzxxRfIz8+Hubk57O3tYW5uDgD4/vvvkZSUBBGB\ng4MDzM3N6/TpCABmzZqFqKgo7Nq1q17PXtwa4KZOnYr33nsP6enpyMvLw4oVK+p1C25RUREURUHH\njh2h1WoRFRWFM2fO1Kmur68vgoKCsGzZMlRUVODw4cP4/vvv9fOnTJmC6Oho/N///R8qKirwzjvv\nwMbGBsOGDatz/2oyb948fPzxx4iLi4OIoKioCNHR0SgsLERpaSkee+wxvP766/j888+RlpaGjz76\nCABw8+ZNWFhYoGPHjigvL8fy5ctRUFDQ4H6ICDZt2oRz586huLgYr7zyCqZMmVJlH3h4eCA8PByL\nFi3CzZs3odVqcfHiRf1zRrebOnUqXn/9deTl5eHq1atYvXq1ft6d9pmbmxuuXr2KiooK/XuFhYVw\ndnaGlZUV4uLisHnzZqNu1X7kkUcQFRWFX3/9FWVlZfj73/+OIUOGVBk53erWYF1b4D5z5gzGjh2L\nNWvWYNy4cbX2Y/DgwfDw8MALL7yA4uJilJaW4siRI1XK3Wm/b9q0ST+acHR0hKIoMDMzw08//YTT\np09Do9HA3t4elpaWMDc3h7u7e637c9u2bbh69SoAwMnJSd+eqZm+B63QokWLsHLlSvzzn/+Eq6sr\nOnfujA8//BCTJk0CoPuEVfmfadasWfD19YWXlxf8/f0xdOhQg/9omzZtQpcuXeDo6IhPPvkEX3zx\nBQAgKSkJYWFhsLe3x7Bhw/Dss89i1KhRVfpy67IqDR8+HGZmZhgwYIDBZYPby95e79b58+bNQ3h4\nOPr27YsBAwbgwQcfrFcw6927NxYvXoyhQ4fC3d0dZ86cwYgRI2rt963TmzdvxrFjx+Di4oLly5dj\n9uzZ+nk9evTApk2b8Nxzz6FTp06Ijo7Gd999BwsLixr7c/t613SyGzBgAD799FMsWLAALi4u6Nat\nGzZu3AgAePHFF+Hr64unnnoKVlZW2LRpE15++WVcvHgRY8eOxdixY9G9e3eoVCq0a9euyuW32ta3\nuj7OnDkTjz/+ODw8PFBeXo7333+/2rIbN25EeXk5evfuDRcXF0yZMgWZmZnVrt+yZcvg6+uLLl26\nYOzYsZg1a5a+rTvts9DQUPTp0wfu7u76y3QffvghXnnlFTg4OOAf//iHfuRWkzttg9DQUPzjH//A\n5MmT4enpieTkZHz11Vc1lq9uu9W0b1euXIkbN25gzpw5sLe3h729PQICAqota2Zmhu+++w5JSUno\n3LkzfHx8sHXr1irLuNN+/+GHH+Dv7w97e3v8+c9/xldffQVra2tkZWVhypQpcHR0RO/evRESEqL/\n0Ffb/jx+/DiGDBkCe3t7TJgwAe+//z5UKlW169Csmj8t87s9e/ZIjx49xM/PT954440q88+dOydD\nhgwRa2tr/W2xda17twsNDZV169Y1Wnu7d+8WX1/fRmuPahcSEtKo+4+oKZlsRKLRaLBgwQLExMQg\nISEBX375Jc6dO2dQpkOHDli9ejX+8pe/1Lvu3eyXX37BiRMn7vjpsDalpaXYvXs31Go10tLS8Oqr\nr+Khhx5qxF7SnQh/vJRaCZMFkri4OPj5+UGlUsHS0hLTp0/Hzp07Dcp06tQJQUFBsLS0rHfdu9Xs\n2bMRFhaGd999F7a2tg1uR0QQGRkJFxcX3HvvvejTpw+WL1/eiD2lO+HXwlBrUfNF5SaWlpZW5fbS\nY8eONXndtm7Dhg2N0k67du0QFxfXKG1R/dXlDj2ilsJkIxJjPm3xkxoRUcthshGJl5dXlecU6vLQ\nW33q+vn54eLFi8Z3lojoLtK1a1ckJSXVubzJRiRBQUFITExESkoKysvLsWXLFkRERFRb9vakY13r\nXrx4Uf9sBF/Gv5YtW2byPrSVF7clt2dLftX3A7jJRiQWFhZYs2YNxowZA41Gg7lz56JXr15Yu3Yt\nAOCpp55CZmYmBg4ciIKCApiZmeG9995DQkIC7Ozsqq1LbVzlV70cP27afhCRAZMFEgB44IEH8MAD\nDxi899RTT+n/dnd3r/GrOaqrS20cAwhRi8Qn26nOQkJCTN2FNoPbsnFxe5qWIiJt9qknRVHQhleP\niKhJ1PfcadJLW0T1whwJNSIXFxfk5uaauhsm5ezsjJycHKPb4YiEiO5KPD/UvA3qu22YIyEiIqMw\nkBARkVEYSKj1CAr6PU9CRC0GcyREdFfi+aHxciS8a4uIqB5EBCl5KcgozICjtSN6dOwBC7O7+1R6\nd689EdFtKjQVSMxJRKm6FL6OvujQvoN+Xqm6FB/98hF+zfoVCnTfQu5m54ZFQxfB1dbVVF02sHTp\nUuzYsQP/+9//8PLLL2PZsmVNvkwGEmo9+BwJNbHLeZfx7tF3kVeaBygABHiw24OY3HsyFEXBd+e/\nw8nMk1A5qfQ/Z5F5MxMfH/8YS4OXQlEUlKpLcSDlAA5eOQgIMLzzcIxWjUY7y3bNsg7dunXDW2+9\nhY8//rjZfnKDyXZqPY4fZxChJlOuKceqo6ugFS18nXzh6+gLbwdv7Dy/E/9N/y+0osX+5P3wcvAy\nOEG72bkhOTcZmYWZUGvVePfou/ji9BcorShFmaYMW85swcqfV6JcU16nfkRFRRl8m3m3bt0wdepU\n/bSPjw9OnTpVY/1Zs2Zh7NixsLe3b7YcEAMJERGA/13/H/JL8+Hczln/nrmZOZzbOePHSz9CK1qU\nacpgaWb409+KouhHIqezTuNc9jl0ceoCe2t72FnZQeWkwoUbF3Ay42Sd+hESEoJDhw4BANLT01FR\nUYGjR48CAC5duoSioiL07du3kda6cTCQEBEBKKkoAaq5EmRjYYP8snxYmFmgd8feyC7ONphfqi6F\njYUNPO09cTb7LGwsbAxGLIqioL1le5zJPlOnfnTp0gX29vaIj4/HwYMHMWbMGHh6euL8+fM4cOAA\ngoODjVrPpsBAQq0HnyOhJuTr5AsRgVa0Bu/fKL6B/u79AQBT+0yFRqtBWkEaisqLcK3oGjIKM/BI\nwCOwtrCGg7UDKrQVVdqu0FbAwcqhzn0ZNWoUYmNjcejQIYwaNQqjRo3CgQMHcPDgQYwaNcq4FW0C\nDCTUejBHQk3I3c4d93W5D8m5ycgvzUepuhSp+amwtbJF2D1hAHTBJjIkEiM6j4CFuQV6dOyBF0e8\niJGdRwIABnkNAqAbpVQqU5dBo9VgiM+QOvdl1KhR+Omnn3Do0CGEhIToA8uBAwfqFUiaK9nOBxKJ\n6K5U3flBo9Xg56s/48eLP6KwvBCBHoEY6zcWHdt3rHO7R68exboT66DWqgHo8iyz+8/WB5u6SExM\nxL333gsPDw9cuHABBQUFUKlU0Gq1yM3NrTVAqNVqqNVqzJkzB127dsVLL70EKysrmJlVHTc01gOJ\nDCREdFdqyvNDYXkhLty4ABFB9w7dYW9tX+82PD098cADD2DdunUAgIEDB8LV1RXR0dG11nv88cex\nceNGg/fWr1+PWbNmVSnLQFIHDCRtDJ8joUbE8wMDSZ3wQCGimvD8wN8jISK6Kx06dAj29vZVXg4O\ndb8rrLFxREJEdyWeHzgiobsRnyMhapE4IiGiuxLPDxyREBFRC8FAQkRERmEgodaDORKiFok5EiK6\nKxl7fkhMBO65BzA3b8RONTPmSIiImkhZGZCeXvP8zEzgjTeAEyear091kZ2djUceeQReXl5wcnLC\niBEjEBcX1+TLZSAhIrrN3r3Am2/qAkp1oqOBoiJg2zZAra6+zM8/A7/9PlWzKSwsxODBg3HixAnk\n5uZi9uzZePDBB1FUVNSky2UgodaDORJqBoWFwPffA9euAUeOVJ2fmQkcPgx06wZkZQHx8VXLlJYC\nX3wBbN4MFBfXb/nG/NRuly5dsHDhQri5uUFRFMybNw/l5eW4cOFC/TpRTwwk1Hrw90ioGfz0E1BR\nAXh7A99+W3VUEh0NWFjociMdOlQ/KjlyRBeQSkt1Qac+GvOndk+ePIny8nL4+fnVrxP1xEBCRPSb\nytGImxvQvj1w86bhqKRyNOLurpt2cKg6Kikt1QUgV1ddO9u3129U0lg/tVtQUICZM2ciMjIS9vb1\n/xr7+mAgISL6TeVoxNpaN+3qajgqiY4GNBqgvBwoKdG92rc3HJVUjkbatwdsbBo2KjH2p3ZLSkow\nfvx4DBs2DEuWLKnfwhuAgYRaD+ZIqAkVFgLffQe4uOgCRXm57hJWbu7vo5K8PN1oROT3l729Lmjk\n5xuORio1ZFRizE/tlpWVYeLEiejcuTPWrl3bgC1Rf3yOhIjuSrefHy5cAD7+uPq7sPr3B+bMuXOb\nBw4A774LODkZvp+XByxYAISG1q1vDf2p3YqKCjz00EOwsLDA119/DfM7POTSWM+RWNS5JBFRG9a9\nO7BypXFtdOsG1HQlydu7Pu10g729PUaO1P3Ou4ODA7p27QpXV9daf6/9yJEjiI6ORvv27eF0SzSL\niYnB8OHD696BeuKIhIjuSjw/8Ml2uhsxR0LUInFEQkR3pdZ6fjh06BDGjRtX5X1FUVBQUFCvthpr\nRMJAQkR3JZ4feGmLiIhaCAYSaj2YIyFqkXj7L7Ue/J4takTOzs613kp7N3B2dm6UdjgiuUuYm5sj\nMDAQffv2xUMPPYTCwkL9vLFjx8LZ2Rnjx483YQ/vLjXtj5MnT2LYsGHw9/dHv379sHXrVhP3tO3K\nycmBiNzVr5ycnEbZlgwkd4n27dsjPj4ep06dgoODg8FXJ/ztb3/Dv//9bxP27u5T0/6wtbXFv//9\nb5w5cwYxMTFYuHBhve/EIWpuDCR3oaFDh+LixYv66fvuuw92dnYm7FEdtdEcya37o1u3bujatSsA\nwMPDA66ursjOzjZl94juyKSBJCYmBj179kS3bt2wYsWKass8//zz6NatG/r164f4W76rWaVSoW/f\nvggMDMSgQYOaq8utnkajwd69e+Hv72/qrtRfG/w9ktr2R1xcHCoqKvSBhailMlmyXaPRYMGCBdi3\nbx+8vLwwcOBAREREoFevXvoyu3fvRlJSEhITE3Hs2DE8/fTT+h94URQFsbGxcHFxMdUqtColJSUI\nDAxEWloaVCoV5s+fb+ou3dXutD8yMjIwa9YsbNy40UQ9JKo7k41I4uLi4OfnB5VKBUtLS0yfPh07\nd+40KLNr1y7Mnj0bADB48GDk5eUhKytLP/9uf5ioPtq1a4f4+HhcvnwZNjY2Vbb13X73SnOrbX8U\nFBTgD3/4A1577TWOtqlVMFkgSUtLg4+Pj37a29sbaWlpdS6jKAruv/9+BAUF4dNPP22eTrcB7dq1\nw/vvv4+XXnrJIBC3iqDcBnMkt++P8vJyTJo0CbNmzcJDDz1k6u4R1YnJLm3V9RNwTSe4w4cPw9PT\nE9nZ2QgLC0PPnj31X7l8q8jISP3fISEhCAkJaUh3W71bt3f//v3h5+eHrVu3Ytq0aRg5ciTOnz+P\nwsJC+Pj44PPPP0dYWJgJe1uDNpQfqW5/bNmyBRqNBocOHUJOTg7Wr18PANiwYUOdf6ObqCFiY2MR\nGxvb4Pom+66to0ePIjIyEjExMQCA119/HWZmZgY/Czl//nyEhIRg+vTpAICePXviwIEDcHNzM2jr\n1VdfhZ2dHRYvXmzwPr9Lh4io/lrNd20FBQUhMTERKSkpKC8vx5YtWxAREWFQJiIiQp9sPHr0KJyc\nnODm5obi4mLcvHkTAFBUVIS9e/ciICCg2deBiIhMeGnLwsICa9aswZgxY6DRaDB37lz06tVL/2DW\nU089hXHjxmH37t3w8/ODra0toqKiAACZmZn668dqtRozZsxAeHi4qVaFmktlfqQNXeIiagv4NfJE\nRGSg1VzaIiKitoGBhIiIjMJAQq1HG3yOhKgtYI6EiIgMMEdCRETNioGEiIiMwkBCrQdzJEQtEnMk\nRERkgDkSIiJqVgwkRERkFAYSaj2YIyFqkZgjISIiA8yREBFRs2IgISIiozCQUOvBHAlRi8QcCRER\nGWCOhIiImhUDCRERGYWBhFoP5kiIWiTmSIiIyABzJERE1KwYSIiIyCgMJNR6MEdC1CIxR0JERAaY\nIyEiombFQEJEREZhIKHWgzkSohaJORIiIjLAHAkRETUrBhIiIjIKAwm1HsyRELVIzJEQEZEB5kiI\niKhZMZAQEZFRGEio9WCOhKhFYo6EiIgMMEdCRETNioGEiIiMwkBCrQdzJEQtEnMkRERkgDkSIiJq\nVgwkRERkFAYSaj2YIyFqkZgjISIiA/U9d1rUNvPatWvYtm0bDh48iJSUFCiKAl9fXwQHB2PKlClw\ndXU1usNERNS61TgimTt3Li5evIgHHngAgwYNgoeHB0QEGRkZiIuLQ0xMDPz8/PDZZ581d5/rjCMS\nIqL6q++5s8ZAcurUKfTt27fWynUpY0oMJG1MZX7k+HHT9oOojWu0QFLp2rVrVS5hnT9/Hj169GhY\nD28RExOt4z4kAAAZG0lEQVSDhQsXQqPR4Mknn8SSJUuqlHn++eexZ88etG/fHuvXr0dgYGCd67a0\nQFJUXoT/Xf8fKrQV8HPxQ8f2HRvUzvXi67hw4wKyCrPgYO0AAEjJS4FGq4G3ozfaWbRDuaYcAKBA\ngUt7F/Ts2BN2VnZV2hIRXMq9hKyiLDjZOKFHhx4wNzM3KFOmLsO56+dQUlECXydfeNp7Nqjfpnb9\nuu7fjvXc7MXFQHY24Otr+L5WCyQlAd27A6mpgIsLYGsL3Lihe3/AAMCihovHeXlAaSng7q6brqgA\nLl8G/PwM209MBBr6X628HLh6FbjnnobVp7tXo+ZIAGDkyJFYvnw5pk2bBhHBypUr8dlnn+HcuXNG\ndVSj0WDBggXYt28fvLy8MHDgQERERKBXr176Mrt370ZSUhISExNx7NgxPP300zh69Gid6rY0pzJP\n4YNfPtCf4KEAE3tMRESPCCiKUqc2RAS7zu/CtoRtSMhOQEFZAfLL8lFcXqw7+QugEQ1srWxhoVhA\nCy3srOzg6+iLrs5dMX/gfNzrca++vZKKEqyJW4Oz2WehQNcHD3sPLB66GB3adwAAJOcmY9XRVSgo\nK9DXG60ajcf6PlYl4LRkIsC6dbp/lywB6rjJAQAxMcBPPwFvvQXY2Pz+/pkzwLvvAi+9BKxeDQwZ\nAkybpvv7+++B994Dhg+vvs3Nm4H0dGD5csDMDDh2DFi/HlixAuig2/Q4exZYtQpYtqxqEKuLAweA\nr7/W9dvBof71ierqjrf/xsbGYtOmTZgyZQpGjRqF8+fP45dffjF6wXFxcfDz84NKpYKlpSWmT5+O\nnTt3GpTZtWsXZs+eDQAYPHgw8vLykJmZWae6LUl+aT7W/LIGDtYO8HXyha+TL7zsvfBNwjdIyE6o\nczsJ2Qn4JuEb5JbkQita2Fna4WbZTQgEao0av8UC5Jfmo1RTCq1oYW9lj+vF16ERDT765SPkluTq\n2/v23Lc4e+0sfB199f26UXwDn574FCKCck053j36LswUM6icVFA5qdDZsTP2XdqHn6/+3NibqUkl\nJQEJCcC5c7pP+XWVnw/s2QPk5ACHD//+vlYLbN0KFBXpAsf168CPPwInTgD79ulGJZ9+qhtp3O7q\nVSAuDrhyBTh9Wjdy+PproLAQ+OGH39vftk3X/q5d9V/fkhJgxw7g5k1g//761yeqjzsGEg8PD4wZ\nMwZHjhxBSkoKHn/8cdjZVb1EUl9paWnw8fHRT3t7eyMtLa1OZdLT0+9YtyU5nXUa5Zpy2FrZ6t+z\nMLOArZUtDl4+WOd2Dl4+CGsLa6QXpsPB2gHXS65DgW4IqhUtKjQVgEAfBCzNLFFQVgBLc0tkF2ej\nQluBX7N+BQCotWocuHwAXg5eBiMidzt3nL9+Xn/5rKCsAE42Tvr5ZooZOrbviH2X9jXClqmnBj5H\nIgJ8+63uspOdne7vuo7a9+8HNBrA21t3Yi4t1b1/5ozucpafn+7kb/vbrn39dV1Q6dABOHVKFzBu\nt2sXYGUFODvrgtHRo7pLXX5+vwehs2d1l7p69NClhC5frt86Hz6sC0IqFbB7N1BQcMcqRA12x0tb\n999/Pzw8PHD27FmkpqZi7ty5CA4Oxttvv23UgutzOccYkZGR+r9DQkIQEhJiVHsNUaIuqfZ9K3Mr\ng0tGd1JQVgBzRXcJS4ECtVb9+7XMys2pAAKBiEBRFGhEA3PFHGXqMihQUFxeDEAXSCq0FbAwMzwE\nFEWBoigoVZfq6lSzn6zMrVBYXljnfjeaBibZK0cjKpVuunJU0r177fUqRyPu7roTf1aW7gR93326\nAODkBKSl6QJNaqqu/UOHAFdXXWDJztaNSgYNAiwtdW1WjkY6d9ZdXrt4EVi7FvDw0OVTzMx0y7xw\nAXB01E3b2OiCz3PP1W19K0cjbm66fms0uoA4aVKDNh/dBWJjYxEbG9vg+ncMJM8++ywm/XYEOjk5\n4ciRI3j99dcbvMBKXl5eSE1N1U+npqbC29u71jJXr16Ft7c3Kioq7li30q2BxFS6unQFAGhFCzPl\n90FgXmkexvcYX+d27vW4F2evnYW9tT3KNGVwsnFCXmmerk3RjRYqA6+FmQXUWjWcbJxQqimFm50b\ntKJFtw7dAADW5tbwc/ZDRmGGQdK/uKIYtpa2cLdzR3vL9hARqLVqg4CTXZyNsHvCjNomzeXW0Uhl\nTKwcldwpV1I5GrGy0k27uelO0I6OusDh46MbTXTooAsoOTm6EYtarWvXzu73UUllrqRyNGL222FQ\nVgacP/97kt3dXXeZy9oa6Nnz9+VWjkrqkiupHI106vR7m7t3A6GhzJVQ9W7/kP3qq6/Wq36Nl7Yq\nT0iTbvsYY2FhgaVLlxqUaYigoCAkJiYiJSUF5eXl2LJlCyIiIgzKREREYOPGjQCAo0ePwsnJCW5u\nbnWq25J0ceqCYT7DkJyXjLzSPNwsu4mUvBR4O3pjqPfQOrczzGcYfJx84GLjgsLyQpgpZjBXzKEV\nLcwVc5jBDFpoYW1uDUszS1RoK6DWqmFjboMKTQUGew+Gn4vujKUoCh4JeARl6jKkF6SjqLwI14qu\nIaswCzP6zoCluSU6tO+A8T3G43LeZeSU5KCovAip+alwsHZAeNfwptpcjSopSXcyt7PTfVIvKdEF\nldOna8+V5OcD0dG6UUdlPUAXLFat0o0SLl7U5SA0Gt38hATA3Fw3Eqm8lHTzJvDJJ7pcydWrwM8/\n6wJRSYkuJ5KcrAs+V67o3isvBy5d0rVRWqp7r6xMF5jqkispKdEFSQeH3/td2T/mSqip1DgiCQkJ\nwR/+8AdMmDAB3W+7BnD+/Hns2LED0dHROHiw7tf4DRZsYYE1a9ZgzJgx0Gg0mDt3Lnr16oW1a9cC\nAJ566imMGzcOu3fvhp+fH2xtbREVFVVr3ZZKURTMDZyLPp36IDYlFiXqEjzc5WGEqEIM8iZ3Ymtl\nixdHvIjYlFj8kPQDUvNT0de1L0rUJUi/mQ61Vg1XW1e4tHOBRquBRjSwMreCXwc/hN8TjqE+Qw0u\nVd3jfA8iQyLxw8UfkJiTiF5OvTCm6xh07/D7/p7UcxJ8HX2x/9J+5JflY6zfWITeEwqXdi6Nuo3q\npAHPkWRk6PIbIoZ5EW9v3V1TNV3eys7WjQTUasN6nTrpAoK3t67tynShublulGFlpTvpV1ToLlU5\nO+vq5+UBmZmAp+fvfSkt1ZV3ctIFnk6ddIHEwUHXxq3LdXXV3YasVtd8SzGgy6907KgLPrfW9/TU\nrRNRU6jxOZKysjJ88cUX+PLLL3HmzBnY29tDRFBYWAh/f3/MmDEDjz76KKwqx/0tUEt7joSIqDVo\n9AcSAd0zH9d/e5qrY8eOMDdvHc8PMJAQEdVfoz2QWFJSgo8//hhJSUno27cv5s6dC4vaxtRERHRX\nqnFEMnXqVFhZWWHEiBHYs2cPVCoV3nvvvebun1E4Imlj+F1bRM2i0S5tBQQE4PTp0wAAtVqNgQMH\nIj4+vnF62UwYSIiI6q/RfrP91stYvKRFREQ1qXFEYm5ujvbt2+unS0pK0K5dO10lRUFBK/jOBY5I\niIjqr9GS7RqNplE6RNRomCMhapH4m+1ERGSg0XIkREREdcFAQkRERmEgodajgb9HQkRNizkSIiIy\nwBwJERE1KwYSIiIyCgMJtR7MkRC1SMyREBGRAeZIiIioWTGQEBGRURhIqPVgjoSoRWKOhIiIDDBH\nQkREzYqBhIiIjMJAQq0HcyRELRJzJEREZIA5EiIialYMJEREZBQGEmo9mCMhapGYIyEiIgPMkRAR\nUbNiICEiIqMwkFDrwRwJUYvEHAkRERlgjoSIiJoVAwkRERmFgYRaD+ZIiFok5kiIiMgAcyRERNSs\nGEiIiMgoDCTUejBHQtQiMUdCREQGmCMhIqJmxUBCRERGYSCh1oM5EqIWiTkSIiIywBwJERE1KwYS\nIiIyCgMJtR7MkRC1SCYJJDk5OQgLC0P37t0RHh6OvLy8asvFxMSgZ8+e6NatG1asWKF/PzIyEt7e\n3ggMDERgYCBiYmKaq+tkSseP615E1KKYJJC88cYbCAsLw4ULFxAaGoo33nijShmNRoMFCxYgJiYG\nCQkJ+PLLL3Hu3DkAukTQokWLEB8fj/j4eIwdO7a5V4GIiH5jkkCya9cuzJ49GwAwe/Zs7Nixo0qZ\nuLg4+Pn5QaVSwdLSEtOnT8fOnTv183k3FhFRy2CSQJKVlQU3NzcAgJubG7KysqqUSUtLg4+Pj37a\n29sbaWlp+unVq1ejX79+mDt3bo2XxqiNYY6EqEWyaKqGw8LCkJmZWeX9f/3rXwbTiqJAUZQq5ap7\nr9LTTz+NV155BQCwdOlSLF68GOvWrau2bGRkpP7vkJAQhISE1KH31CIxP0LUJGJjYxEbG9vg+k0W\nSH788cca57m5uSEzMxPu7u7IyMiAq6trlTJeXl5ITU3VT6empsLb2xsADMo/+eSTGD9+fI3LujWQ\nEBFRVbd/yH711VfrVd8kl7YiIiKwYcMGAMCGDRswceLEKmWCgoKQmJiIlJQUlJeXY8uWLYiIiAAA\nZGRk6Mtt374dAQEBzdNxIiKqwiRfkZKTk4OpU6fiypUrUKlU2Lp1K5ycnJCeno558+YhOjoaALBn\nzx4sXLgQGo0Gc+fOxYsvvggAmDVrFk6ePAlFUdClSxesXbtWn3O5Fb8ipY2pzI/wEhdRk6rvuZPf\ntUVERAb4XVtERNSsGEiIiMgoDCTUevA5EqIWiTkSIiIywBwJERE1KwYSIiIyCgMJtR7MkRC1SMyR\nEBGRAeZIiIioWTGQEBGRURhIqPVgjoSoRWKOhIiIDDBHQkREzYqBhIiIjMJAQq0HcyRELRJzJERE\nZIA5EiIialYMJEREZBQGEmo9mCMhapGYIyEiIgPMkRARUbNiICEiIqMwkFDrwRwJUYvEHAkRERlg\njoSIiJoVAwkRERmFgYRaD+ZIiFok5kiIiMgAcyRERNSsGEiIiMgoDCTUejBHQtQiMUdCREQGmCMh\nIqJmxUBCRERGYSCh1oM5EqIWiTkSIiIywBwJERE1KwYSIiIyCgMJtR7MkRC1SMyREBGRAeZIiIio\nWTGQEBGRURhIqPVgjoSoRWKOhIiIDDBHQkREzYqBhIiIjGKSQJKTk4OwsDB0794d4eHhyMvLq7bc\nnDlz4ObmhoCAgAbVpzaGORKiFskkgeSNN95AWFgYLly4gNDQULzxxhvVlnviiScQExPT4PrUuGJj\nY03bgePHda82wOTbso3h9jQtkwSSXbt2Yfbs2QCA2bNnY8eOHdWWGzlyJJydnRtcnxoX/7M2Hm7L\nxsXtaVomCSRZWVlwc3MDALi5uSErK6tZ6xMRUeOxaKqGw8LCkJmZWeX9f/3rXwbTiqJAUZQGL8fY\n+tSKVOZH2sjlLaI2Q0ygR48ekpGRISIi6enp0qNHjxrLJicni7+/f4Pqd+3aVQDwxRdffPFVj1fX\nrl3rdU5vshFJbSIiIrBhwwYsWbIEGzZswMSJE5ukflJSUmN0l4iIamGSJ9tzcnIwdepUXLlyBSqV\nClu3boWTkxPS09Mxb948REdHAwAeeeQRHDhwADdu3ICrqyuWL1+OJ554osb6RETU/Nr0V6QQEVHT\na7NPtsfExKBnz57o1q0bVqxYYerutGoqlQp9+/ZFYGAgBg0aZOrutDrVPVjLh2obrrrtGRkZCW9v\nbwQGBiIwMLDa58+oqtTUVIwePRp9+vSBv78/3n//fQD1Pz7bZCDRaDRYsGABYmJikJCQgC+//BLn\nzp0zdbdaLUVREBsbi/j4eMTFxZm6O61OdQ/W8qHahqtueyqKgkWLFiE+Ph7x8fEYO3asiXrXulha\nWmLVqlU4e/Ysjh49ig8++ADnzp2r9/HZJgNJXFwc/Pz8oFKpYGlpienTp2Pnzp2m7larxiugDVfd\ng7V8qLbhanpQmcdo/bm7u6N///4AADs7O/Tq1QtpaWn1Pj7bZCBJS0uDj4+Pftrb2xtpaWkm7FHr\npigK7r//fgQFBeHTTz81dXfaBD5U2/hWr16Nfv36Ye7cubxU2AApKSmIj4/H4MGD6318tslAwgcU\nG9d//vMfxMfHY8+ePfjggw9w6NAhU3epTeFDtcZ7+umnkZycjJMnT8LDwwOLFy82dZdalcLCQkye\nPBnvvfce7O3tDebV5fhsk4HEy8sLqamp+unU1FR4e3ubsEetm4eHBwCgU6dOmDRpEvMkjcDNzU3/\nzQ8ZGRlwdXU1cY9aN1dXV/0J78knn+QxWg8VFRWYPHkyZs6cqX8mr77HZ5sMJEFBQUhMTERKSgrK\ny8uxZcsWREREmLpbrVJxcTFu3rwJACgqKsLevXurfK0/1V/lQ7UAGvRQLhnKyMjQ/719+3Yeo3Uk\nIpg7dy569+6NhQsX6t+v9/FZr+fgW5Hdu3dL9+7dpWvXrvLaa6+Zujut1qVLl6Rfv37Sr18/6dOn\nD7dlA0yfPl08PDzE0tJSvL295fPPP5cbN25IaGiodOvWTcLCwiQ3N9fU3Ww1bt+e69atk5kzZ0pA\nQID07dtXJkyYIJmZmabuZqtw6NAhURRF+vXrJ/3795f+/fvLnj176n188oFEIiIySpu8tEVERM2H\ngYSIiIzCQEJEREZhICEiIqMwkBARkVEYSIiIyCgMJETVUKlUyMnJMXU3DKSnp2PKlCm1lomNjcX4\n8eOrndcS14naBgYSalNEpFG+BbalffeVWq2Gp6cntm3b1uA2Wto6UdvBQEKtXkpKCnr06IHZs2cj\nICAAqampeOaZZzBw4ED4+/sjMjJSX1alUiEyMhIDBgxA3759cf78eQDAjRs3EB4eDn9/f8ybN88g\nGK1cuRIBAQEICAjAe++9p19mz5498cQTT6BHjx6YMWMG9u7di+HDh6N79+745ZdfqvRz6NChSEhI\n0E+HhITgxIkT+OWXXzBs2DDce++9GD58OC5cuAAAWL9+PSIiIhAaGoqwsDBcvnwZ/v7++uUHBwdj\nwIABGDBgAH7++Wd9uwUFBfjDH/6Anj174umnn642sG7atAmDBw9GYGAg5s+fD61WazA/Pz8fPXv2\n1PflkUcewbp16+q1X+gu0uTP4BM1seTkZDEzM5Njx47p38vJyREREbVaLSEhIXL69GkREVGpVLJm\nzRoREfnwww/lySefFBGR5557Tv7xj3+IiEh0dLQoiiI3btyQ48ePS0BAgBQXF0thYaH06dNH4uPj\nJTk5WSwsLOTMmTOi1WplwIABMmfOHBER2blzp0ycOLFKP1etWiXLli0TEZH09HTp0aOHiIgUFBSI\nWq0WEZEff/xRJk+eLCIiUVFR4u3trf96iuTkZPH39xcRkeLiYiktLRURkQsXLkhQUJCIiPz0009i\nY2MjycnJotFoJCwsTL7++mv9ut+4cUMSEhJk/Pjx+mU+/fTTsnHjxir9/fHHH2Xo0KHy5ZdfygMP\nPFCfXUJ3GQtTBzKixuDr62vwM8BbtmzBp59+CrVajYyMDCQkJOg/zT/00EMAgHvvvRfffvstAODQ\noUPYvn07AGDcuHFwdnaGiODw4cN46KGH0K5dO33dQ4cOISIiAl26dEGfPn0AAH369MH9998PAPD3\n90dKSkqVPk6dOhXh4eGIjIzE1q1b9fmOvLw8zJo1C0lJSVAUBWq1Wl8nPDwcTk5OVdoqLy/HggUL\n8Ouvv8Lc3ByJiYn6eYMGDYJKpQKgG0kcPnwYkydPBqC79Ld//37897//RVBQEACgpKQE7u7uVZZx\n//33Y+vWrViwYAFOnTpV6/anuxsDCbUJtra2+r+Tk5Pxzjvv4Pjx43B0dMQTTzyB0tJS/Xxra2sA\ngLm5ucFJW6q5BKQoisH7IqLPNVS2AwBmZmawsrLS/31ru5U8PT3RoUMHnD59Glu3bsXatWsBAEuX\nLkVoaCi2b9+Oy5cvIyQkRF+nffv21a7vqlWr4OHhgX//+9/QaDSwsbEx6POt/TUzq3oFe/bs2Xjt\ntdeqbbuSVqvFuXPnYGtri5ycHHh6etZanu5ezJFQm1NQUABbW1s4ODggKysLe/bsuWOd4OBgbN68\nGQCwZ88e5ObmQlEUjBw5Ejt27EBJSQmKioqwY8cOjBw5ssEJ/WnTpmHFihUoKCjQj5AKCgr0J+mo\nqKg6r2PlKGLjxo3QaDT6eXFxcUhJSYFWq8WWLVswYsQI/TxFURAaGoqvv/4a2dnZAICcnBxcuXKl\nyjJWrVqFPn364IsvvsATTzxRbXAkAhhIqI249VN4v379EBgYiJ49e2LGjBkGJ9Lb61TWW7ZsGQ4e\nPAh/f39s374dvr6+AIDAwEA8/vjjGDRoEIYMGYJ58+ahX79+VZZ5+3RNd0g9/PDD2LJlC6ZOnap/\n729/+xtefPFF3HvvvdBoNPq61f0yXeX0M888gw0bNqB///44f/487Ozs9PMHDhyIBQsWoHfv3uja\ntSsmTZpkULdXr1745z//ifDwcPTr1w/h4eH6HzGqdP78eaxbtw7vvPMORowYgeDgYPzzn/+sdp2I\n+DXyRERkFI5IiIjIKAwkRERkFAYSIiIyCgMJEREZhYGEiIiMwkBCRERGYSAhIiKjMJAQEZFR/h+S\n/zLcgIyGXAAAAABJRU5ErkJggg==\n",
- "text": [
- ""
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Calculating the empirical error rate\n",
- "\n",
- "[back to top]
"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "w1_as_w2, w2_as_w1 = 0, 0\n",
- "for x1,x2 in zip(x1_samples, x2_samples):\n",
- " if x1 >= 7:\n",
- " w1_as_w2 += 1\n",
- " if x2 < 7:\n",
- " w2_as_w1 += 1\n",
- " \n",
- "emp_err = (w1_as_w2 + w2_as_w1) / float(len(x1_samples) + len(x2_samples))\n",
- " \n",
- "print('Empirical Error: {}%'.format(emp_err * 100))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Empirical Error: 0.0%\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-}
\ No newline at end of file
diff --git a/stat_pattern_class/.ipynb_checkpoints/7_stat_superv_parametric-checkpoint.ipynb b/stat_pattern_class/.ipynb_checkpoints/7_stat_superv_parametric-checkpoint.ipynb
deleted file mode 100644
index 59b1dfb..0000000
--- a/stat_pattern_class/.ipynb_checkpoints/7_stat_superv_parametric-checkpoint.ipynb
+++ /dev/null
@@ -1,501 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:524fe8616f4c8e3fa7b23777a193027ae20c50e0f2593a91504b1af1c63f7871"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "*Sebastian Raschka* \n",
- "last modified: 04/03/2014"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Problem Category\n",
- "- Statistical Pattern Recognition \n",
- "- Supervised Learning \n",
- "- Parametric Learning \n",
- "- Bayes Decision Theory \n",
- "- Multivariate data (2-dimensional)\n",
- "- 2-class problem\n",
- "- equal variances\n",
- "- equal prior probabilities\n",
- "- Gaussian model (2 parameters)\n",
- "- no conditional Risk (1-0 loss functions)\n",
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "# Sections\n",
- "\n",
- "\n",
- "• Given information
\n",
- "• Deriving the decision boundary
\n",
- "• Classifying some random example data
\n",
- "• Calculating the Chernoff theoretical bounds for P(error)
\n",
- "• Calculating the empirical error rate
\n",
- "\n",
- " \n",
- "\n",
- " \n",
- " \n",
- "\n",
- "\n",
- "\n",
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Given information:\n",
- "\n",
- "[back to top]
\n",
- "\n",
- "
\n",
- "####model: continuous univariate normal (Gaussian) model for the class-conditional densities\n",
- "\n",
- "\n",
- "$ p(\\vec{x} | \\omega_j) \\sim N(\\vec{\\mu}|\\Sigma) $ \n",
- "\n",
- "$ p(\\vec{x} | \\omega_j) \\sim \\frac{1}{(2\\pi)^{d/2} |\\Sigma|^{1/2}} \\exp{ \\bigg[-\\frac{1}{2} (\\vec{x}-\\vec{\\mu})^t \\Sigma^{-1}(\\vec{x}-\\vec{\\mu}) \\bigg] } $\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "####Prior probabilities:\n",
- "\n",
- "$ P(\\omega_1) = P(\\omega_2) = 0.5 $\n",
- "\n",
- "\n",
- " "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The samples are of 2-dimensional feature vectors:\n",
- "\n",
- "$ \\vec{x} = \\bigg[ \n",
- "\\begin{array}{c}\n",
- "x_1 \\\\\n",
- "x_2 \\\\\n",
- "\\end{array} \\bigg] $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Means of the sample distributions for 2-dimensional features:\n",
- "\n",
- "$ \\vec{\\mu}_{\\,1} = \\bigg[ \n",
- "\\begin{array}{c}\n",
- "0 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg] $,\n",
- "$ \\; \\vec{\\mu}_{\\,2} = \\bigg[ \n",
- "\\begin{array}{c}\n",
- "1 \\\\\n",
- "1 \\\\\n",
- "\\end{array} \\bigg] $\n",
- "\n",
- "#### Covariance matrices for the statistically independend and identically distributed ('i.i.d') features: \n",
- "\n",
- "$ \\Sigma_i = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "\\sigma_{11}^2 & \\sigma_{12}^2\\\\\n",
- "\\sigma_{21}^2 & \\sigma_{22}^2 \\\\\n",
- "\\end{array} \\bigg], \\; \n",
- "\\Sigma_1 = \\Sigma_2 = I = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "1 & 0\\\\\n",
- "0 & 1 \\\\\n",
- "\\end{array} \\bigg], \\; $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "####Class conditional probabilities:\n",
- "\n",
- "$ p(\\vec{x}\\;|\\;\\omega_1) \\sim N \\bigg( \\vec{\\mu_1} = \\; \\bigg[ \n",
- "\\begin{array}{c}\n",
- "0 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg], \\Sigma = I \\bigg)$\n",
- "\n",
- "$ p(\\vec{x}\\;|\\;\\omega_2) \\sim N \\bigg( \\vec{\\mu_2} = \\; \\bigg[ \n",
- "\\begin{array}{c}\n",
- "1 \\\\\n",
- "1 \\\\\n",
- "\\end{array} \\bigg], \\Sigma = I \\bigg)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Deriving the decision boundary\n",
- "[back to top]
\n",
- "\n",
- "### Bayes' Rule:\n",
- "\n",
- "\n",
- "$ P(\\omega_j|x) = \\frac{p(x|\\omega_j) * P(\\omega_j)}{p(x)}$ \n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Discriminant Functions:\n",
- "\n",
- "The goal is to maximize the discriminant function, which we define as the posterior probability here to perform a **minimum-error classification** (Bayes classifier).\n",
- "\n",
- "$ g_1(\\vec{x}) = P(\\omega_1 | \\; \\vec{x}), \\quad g_2(\\vec{x}) = P(\\omega_2 | \\; \\vec{x})$\n",
- "\n",
- "$ \\Rightarrow g_1(\\vec{x}) = P(\\vec{x}|\\;\\omega_1) \\;\\cdot\\; P(\\omega_1) \\quad | \\; ln \\\\\n",
- "\\quad g_2(\\vec{x}) = P(\\vec{x}|\\;\\omega_2) \\;\\cdot\\; P(\\omega_2) \\quad | \\; ln $\n",
- "\n",
- "
\n",
- "We can drop the prior probabilities (since we have equal priors in this case): \n",
- "\n",
- "$ \\Rightarrow g_1(\\vec{x}) = ln(P(\\vec{x}|\\;\\omega_1)) \\\\\n",
- "\\quad g_2(\\vec{x}) = ln(P(\\vec{x}|\\;\\omega_2)) $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\Rightarrow g_1(\\vec{x}) = \\frac{1}{2\\sigma^2} \\bigg[\\; \\vec{x}^{\\,t} - 2 \\vec{\\mu_1}^{\\,t} \\vec{x} + \\vec{\\mu_1}^{\\,t} \\bigg] \\mu_1 \\\\ \n",
- "= - \\frac{1}{2} \\bigg[ \\vec{x}^{\\,t} \\vec{x} -2 \\; [0 \\;\\; 0] \\;\\; \\vec{x} + [0 \\;\\; 0] \\;\\; \\bigg[ \n",
- "\\begin{array}{c}\n",
- "0 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg] \\bigg] \\\\\n",
- "= -\\frac{1}{2} \\vec{x}^{\\,t} \\vec{x}$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\Rightarrow g_2(\\vec{x}) = \\frac{1}{2\\sigma^2} \\bigg[\\; \\vec{x}^{\\,t} - 2 \\vec{\\mu_2}^{\\,t} \\vec{x} + \\vec{\\mu_2}^{\\,t} \\bigg] \\mu_2 \\\\ \n",
- "= - \\frac{1}{2} \\bigg[ \\vec{x}^{\\,t} \\vec{x} -2 \\; 2\\; [1 \\;\\; 1] \\;\\; \\vec{x} + [1 \\;\\; 1] \\;\\; \\bigg[ \n",
- "\\begin{array}{c}\n",
- "1 \\\\\n",
- "1 \\\\\n",
- "\\end{array} \\bigg] \\bigg] \\\\\n",
- "= -\\frac{1}{2} \\; \\bigg[ \\; \\vec{x}^{\\,t} \\vec{x} - 2\\; [1 \\;\\; 1] \\;\\; \\vec{x} + 2\\; \\bigg] \\;$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Decision Boundary\n",
- "\n",
- "$g_1(\\vec{x}) = g_2(\\vec{x}) $ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\Rightarrow -\\frac{1}{2} \\vec{x}^{\\,t} \\vec{x} = -\\frac{1}{2} \\; \\bigg[ \\; \\vec{x}^{\\,t} \\vec{x} - 2\\; [1 \\;\\; 1] \\;\\; \\vec{x} + 2\\; \\bigg] \\; $ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\Rightarrow -2[1\\;\\; 1] \\vec{x} + 2 = 0 $\n",
- "\n",
- "$ \\Rightarrow [-2\\;\\; -2] \\;\\;\\vec{x} + 2 = 0 $\n",
- "\n",
- "$ \\Rightarrow -2x_1 - 2x_2 + 2 = 0 $\n",
- "\n",
- "$ \\Rightarrow -x_1 - x_2 + 1 = 0 $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Classifying some random example data\n",
- "\n",
- "[back to top]
"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline\n",
- "\n",
- "import numpy as np\n",
- "from matplotlib import pyplot as plt\n",
- "\n",
- "def decision_boundary(x_1):\n",
- " \"\"\" Calculates the x_2 value for plotting the decision boundary.\"\"\"\n",
- " return -x_1 + 1\n",
- "\n",
- "# Generate 100 random patterns for class1\n",
- "mu_vec1 = np.array([0,0])\n",
- "cov_mat1 = np.array([[1,0],[0,1]])\n",
- "x1_samples = np.random.multivariate_normal(mu_vec1, cov_mat1, 100)\n",
- "mu_vec1 = mu_vec1.reshape(1,2).T # to 1-col vector\n",
- "\n",
- "# Generate 100 random patterns for class2\n",
- "mu_vec2 = np.array([1,1])\n",
- "cov_mat2 = np.array([[1,0],[0,1]])\n",
- "x2_samples = np.random.multivariate_normal(mu_vec2, cov_mat2, 100)\n",
- "mu_vec2 = mu_vec2.reshape(1,2).T # to 1-col vector\n",
- "\n",
- "# Scatter plot\n",
- "f, ax = plt.subplots(figsize=(7, 7))\n",
- "ax.scatter(x1_samples[:,0], x1_samples[:,1], marker='o', color='green', s=40, alpha=0.5)\n",
- "ax.scatter(x2_samples[:,0], x2_samples[:,1], marker='^', color='blue', s=40, alpha=0.5)\n",
- "plt.legend(['Class1 (w1)', 'Class2 (w2)'], loc='upper right') \n",
- "plt.title('Densities of 2 classes with 100 bivariate random patterns each')\n",
- "plt.ylabel('x2')\n",
- "plt.xlabel('x1')\n",
- "ftext = 'p(x|w1) ~ N(mu1=(0,0)^t, cov1=I)\\np(x|w2) ~ N(mu2=(1,1)^t, cov2=I)'\n",
- "plt.figtext(.15,.8, ftext, fontsize=11, ha='left')\n",
- "plt.ylim([-3,4])\n",
- "plt.xlim([-3,4])\n",
- "\n",
- "\n",
- "\n",
- "# Plot decision boundary\n",
- "x_1 = np.arange(-5, 5, 0.1)\n",
- "bound = decision_boundary(x_1)\n",
- "plt.annotate('R1', xy=(-2, 2), xytext=(-2, 2), size=20)\n",
- "plt.annotate('R2', xy=(2.5, 2.5), xytext=(2.5, 2.5), size=20)\n",
- "plt.plot(x_1, bound, color='r', alpha=0.8, linestyle=':', linewidth=3)\n",
- "\n",
- "x_vec = np.linspace(*ax.get_xlim())\n",
- "x_1 = np.arange(0, 100, 0.05)\n",
- "\n",
- "plt.show()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Populating the interactive namespace from numpy and matplotlib\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stderr",
- "text": [
- "WARNING: pylab import has clobbered these variables: ['f']\n",
- "`%matplotlib` prevents importing * from pylab and numpy\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\n",
- "text": [
- ""
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Calculating the Chernoff theoretical bounds for P(error)\n",
- "\n",
- "[back to top]
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ P(error) \\le p^{\\beta}(\\omega_1) \\; p^{1-\\beta}(\\omega_2) \\; e^{-(\\beta(1-\\beta))} $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$\\Rightarrow 0.5^\\beta \\cdot 0.5^{(1-\\beta)} \\; e^{-(\\beta(1-\\beta))} $\n",
- "\n",
- "$\\Rightarrow 0.5 \\cdot e^{-\\beta(1-\\beta)} $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ min[P(\\omega_1), \\; P(\\omega_2)] \\le 0.5 \\; e^{-(\\beta(1-\\beta))} \\quad for \\; P(\\omega_1), \\; P(\\omega_2) \\ge \\; 0 \\; and \\; 0 \\; \\le \\; \\beta \\; \\le 1$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Plotting the Chernoff Bound for $ 0 \\le \\beta \\le 1 $"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "def chernoff_bound(beta):\n",
- " return 0.5 * np.exp(-beta * (1-beta))\n",
- "\n",
- "betas = np.arange(0, 1, 0.01)\n",
- "c_bound = chernoff_bound(betas)\n",
- "\n",
- "plt.plot(betas, c_bound)\n",
- "plt.title('Chernoff Bound')\n",
- "plt.ylabel('P(error)')\n",
- "plt.xlabel('parameter beta')\n",
- "\n",
- "plt.show()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\n",
- "text": [
- ""
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Finding the global minimum: "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "from scipy.optimize import minimize\n",
- "\n",
- "x0 = [0.39] # initial guess (here: guessed based on the plot)\n",
- "res = minimize(chernoff_bound, x0, method='Nelder-Mead')\n",
- "print(res)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " success: True\n",
- " nit: 12\n",
- " message: 'Optimization terminated successfully.'\n",
- " fun: 0.38940039155946954\n",
- " nfev: 24\n",
- " status: 0\n",
- " x: array([ 0.49999219])\n"
- ]
- }
- ],
- "prompt_number": 29
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "\n",
- "## Calculating the empirical error rate\n",
- "\n",
- "[back to top]
"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "def decision_rule(x_vec):\n",
- " \"\"\" Returns value for the decision rule of 2-d row vectors \"\"\"\n",
- " x_1 = x_vec[0]\n",
- " x_2 = x_vec[1]\n",
- " return -x_1 - x_2 + 1\n",
- "\n",
- "w1_as_w2, w2_as_w1 = 0, 0\n",
- "\n",
- "for x in x1_samples:\n",
- " if decision_rule(x) < 0:\n",
- " w1_as_w2 += 1\n",
- "for x in x2_samples:\n",
- " if decision_rule(x) > 0:\n",
- " w2_as_w1 += 1\n",
- "\n",
- "emp_err = (w1_as_w2 + w2_as_w1) / float(len(x1_samples) + len(x2_samples))\n",
- " \n",
- "print('Empirical Error: {}%'.format(emp_err * 100))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Empirical Error: 23.0%\n"
- ]
- }
- ],
- "prompt_number": 17
- }
- ],
- "metadata": {}
- }
- ]
-}
\ No newline at end of file
diff --git a/stat_pattern_class/.ipynb_checkpoints/maximum_likelihood_estimate-checkpoint.ipynb b/stat_pattern_class/.ipynb_checkpoints/maximum_likelihood_estimate-checkpoint.ipynb
deleted file mode 100644
index 7e97fd0..0000000
--- a/stat_pattern_class/.ipynb_checkpoints/maximum_likelihood_estimate-checkpoint.ipynb
+++ /dev/null
@@ -1,871 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:b9f69eba330d08829c8a58fb4de8ca105650cb5664f5cbdee50230933b48c661"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Sebastian Raschka \n",
- "last updated: 04/14/2014 \n",
- "\n",
- "[Link to this IPython Notebook on GitHub](https://github.com/rasbt/pattern_classification/blob/master/stat_pattern_class/supervised/parametric/parameter_estimation/maximum_likelihood_estimate.ipynb)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Sections\n",
- "\n",
- "- [Introduction](#introduction)\n",
- "- [1) A simple case where the parameters are known - no MLE required](#one)\n",
- " - [Generating some sample data](#sample_data)\n",
- " - [Plotting the sample data](#plotting_data)\n",
- " - [Defining the objective function and decision rule](#objetive_function)\n",
- " - [Implementing the discriminant function](#discriminant_functions)\n",
- " - [Implementing the decision rule (classifier)](#decision_rule)\n",
- " - [Classifying our sample data](#Classifying our sample data)\n",
- " - [Drawing the confusion matrix and calculating the empirical error](#confusion_matrix)\n",
- "- [2) Assuming that the parameters are unknown - using MLE](#two)\n",
- " - [About the Maximum Likelihood Estimate (MLE)](#about_mle)\n",
- " - [MLE of the mean vector $\\pmb \\mu$](#mle_mu)\n",
- " - [MLE of the covariance matrix $\\pmb \\Sigma$](#mle_cov)\n",
- " - [Classification using our estimated parameters](#classifying_mle)\n",
- " - [Conclusion](#conclusion)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "# Introduction"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Popular applications for Maximum Likelihood Estimates are the typical statistical pattern classification tasks, and in the past, I posted some [examples](https://github.com/rasbt/pattern_classification#param) using Bayes' classifiers for which the **probabilistic models and parameters were known**. In those cases, the design of the classifier was rather easy, however, in real applications, we are rarely given this information; this is where the Maximum Likelihood Estimate comes into play."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "However, the Maximum Likelihood Estimate still **requires partial knowledge** about the problem: We have to assume that the **model of the class conditional densities is known** (e.g., that the data follows typical Gaussian distribution). In contrast, non-parametric approaches like the Parzen-window technqiue do not require prior information about the distribution of the data (I will discuss this technique in more detail in a future article, the IPython notebook is already in preparation). "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**To summarize the problem:** Using MLE, we want to estimate the values of the parameters of a given distribution for the class-conditional densities, for example, the *mean* and *variance* assuming that the class-conditional densities are *normal* distributed (Gaussian) with $p(\\pmb x \\; | \\; \\omega_i) \\sim N(\\mu, \\sigma^2)$."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "To illustrate the problem with an example, we will first take a look at a case where we already know the parameters, and then we will use the same dataset and estimate the parameters. This will give us some idea about the performance of the classifier using the estimated parameters. "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "# 1) A simple case where the parameters are known - no MLE required"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Imagine that we want to classify data consisting of two-dimensional patterns, $\\pmb{x} = [x_1, x_2]^t$ that could belong to 1 out of 3 classes $\\omega_1,\\omega_2,\\omega_3$. \n",
- "\n",
- "Let's assume the following information about the model and the parameters are known:\n",
- "\n",
- "####model: continuous univariate normal (Gaussian) model for the class-conditional densities\n",
- "\n",
- "\n",
- "$ p(\\pmb x | \\omega_j) \\sim N(\\pmb \\mu|\\Sigma) $\n",
- "\n",
- "$ p(\\pmb x | \\omega_j) \\sim \\frac{1}{(2\\pi)^{d/2} \\; |\\Sigma|^{1/2}} exp \\bigg[ -\\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\Sigma^{-1}(\\pmb x - \\pmb \\mu) \\bigg]$\n",
- "\n",
- "$p([x_1, x_2]^t |\\omega_1) \u223c N([0,0]^t,3I), \\\\\n",
- "p([x_1, x_2]^t |\\omega_2) \u223c N([9,0]^t,3I), \\\\\n",
- "p([x_1, x_2]^t |\\omega_3) \u223c N([6,6]^t,4I),$\n",
- "\n",
- "#### Means of the sample distributions for 2-dimensional features:\n",
- "\n",
- "$ \\pmb{\\mu}_{\\,1} = \\bigg[ \n",
- "\\begin{array}{c}\n",
- "0 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg] $,\n",
- "$ \\; \\pmb{\\mu}_{\\,2} = \\bigg[ \n",
- "\\begin{array}{c}\n",
- "9 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg] $,\n",
- "$ \\; \\pmb{\\mu}_{\\,3} = \\bigg[ \n",
- "\\begin{array}{c}\n",
- "6 \\\\\n",
- "6 \\\\\n",
- "\\end{array} \\bigg] $\n",
- "\n",
- "\n",
- "#### Covariance matrices for the statistically independend and identically distributed ('i.i.d') features: \n",
- "\n",
- "$ \\Sigma_i = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "\\sigma_{11}^2 & \\sigma_{12}^2\\\\\n",
- "\\sigma_{21}^2 & \\sigma_{22}^2 \\\\\n",
- "\\end{array} \\bigg] \\\\ \n",
- "\\Sigma_1 = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "3 & 0\\\\\n",
- "0 & 3 \\\\\n",
- "\\end{array} \\bigg] \\\\\n",
- "\\Sigma_2 = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "3 & 0\\\\\n",
- "0 & 3 \\\\\n",
- "\\end{array} \\bigg] \\\\\n",
- "\\Sigma_3 = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "4 & 0\\\\\n",
- "0 & 4 \\\\\n",
- "\\end{array} \\bigg] \\\\$\n",
- "\n",
- "#### Equal prior probabilities\n",
- "$P(\\omega_1\\; |\\; \\pmb x) \\; = \\; P(\\omega_2\\; |\\; \\pmb x) \\; = \\; P(\\omega_3\\; |\\; \\pmb x) \\; = \\frac{1}{3}$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Generating some sample data\n",
- "Given those information, let us draw some random data from a Gaussian distribution."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import numpy as np\n",
- "\n",
- "np.random.seed(123456)\n",
- "\n",
- "# Generate 100 random patterns for class1\n",
- "mu_vec1 = np.array([[0],[0]])\n",
- "cov_mat1 = np.array([[3,0],[0,3]])\n",
- "x1_samples = np.random.multivariate_normal(mu_vec1.ravel(), cov_mat1, 100)\n",
- "\n",
- "# Generate 100 random patterns for class2\n",
- "mu_vec2 = np.array([[9],[0]])\n",
- "cov_mat2 = np.array([[3,0],[0,3]])\n",
- "x2_samples = np.random.multivariate_normal(mu_vec2.ravel(), cov_mat2, 100)\n",
- "\n",
- "# Generate 100 random patterns for class3\n",
- "mu_vec3 = np.array([[6],[6]])\n",
- "cov_mat3 = np.array([[4,0],[0,4]])\n",
- "x3_samples = np.random.multivariate_normal(mu_vec3.ravel(), cov_mat3, 100)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 35
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "
\n",
- "
\n",
- "\n",
- "## Plotting the sample data\n",
- "To get an intuitive idea of how our data looks like, let us visualize it in a simple scatter plot."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline\n",
- "\n",
- "import numpy as np\n",
- "from matplotlib import pyplot as plt\n",
- "\n",
- "f, ax = plt.subplots(figsize=(7, 7))\n",
- "ax.scatter(x1_samples[:,0], x1_samples[:,1], marker='o', color='green', s=40, alpha=0.5, label='$\\omega_1$')\n",
- "ax.scatter(x2_samples[:,0], x2_samples[:,1], marker='s', color='blue', s=40, alpha=0.5, label='$\\omega_2$')\n",
- "ax.scatter(x3_samples[:,0], x3_samples[:,1], marker='^', color='red', s=40, alpha=0.5, label='$\\omega_2$')\n",
- "plt.legend(loc='upper right') \n",
- "plt.title('Training Dataset', size=20)\n",
- "plt.ylabel('$x_2$', size=20)\n",
- "plt.xlabel('$x_1$', size=20)\n",
- "plt.show()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Populating the interactive namespace from numpy and matplotlib\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stderr",
- "text": [
- "WARNING: pylab import has clobbered these variables: ['f']\n",
- "`%matplotlib` prevents importing * from pylab and numpy\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAcMAAAHPCAYAAAAvRLGlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8VGX2/z93JmWSSQ9JJoUUIGAoSwcBlQACK4guZX+7\n6q6Cfd1dxbrWBdRVEHR13a+7rutSdFmVXhKBUEKRIgQILXQmpPfeJpm5vz+ONzOTzIRJMi0z5/16\n3VfIc9u5E71nPs9ziiCKogiGYRiGcWNkjjaAYRiGYRwNO0OGYRjG7WFnyDAMw7g97AwZhmEYt4ed\nIcMwDOP2sDNkGIZh3B52hgwDQCaTYdKkSd2+TnJyMmQy/t+KYXoa/H8t4xTIZLJObatXr7a6DYIg\nWOUa1riONUlPT2/3+SmVSkRFRWHixIl45ZVXcPr0aavdb/78+ZDJZLh586bVrmkrepKtjG3xcLQB\nDAMAixYtMnIioiji448/RlVVFRYuXIigoCCj44cPH27V+1+8eBG+vr7dvs6aNWvQ0NBgBYusT3x8\nPObPnw8A0Gg0KCkpQUZGBlasWIEVK1bgwQcfxOeffw6lUtnteznbF4KO6Em2MraDnSHjFCxatKjd\n2MqVK1FdXY2FCxciNjbWpvfv37+/Va7Tu3dvq1zHFsTHx+PPf/5zu/HMzEw8/PDDWLt2LcrLy5Ga\nmtrte4miiJ5S3Kon2crYDp4mZXoc0rpcc3Mz3n77bQwYMAAKhQILFiwAAFRXV2P58uWYPHkyYmJi\n4O3tjfDwcNx///04evSoyWuaWjNcvHgxZDIZ9u/fj/Xr12PMmDFQKpUIDQ3FAw88gPz8fLO2GSJN\nUy5ZsgSnT5/GzJkzERQUBKVSieTkZBw5csSkTQUFBViwYAHCw8Ph6+uL4cOHY82aNUbXswZDhw7F\n7t27ERYWhh07dmDLli1G+zdv3ozf/OY36N+/P/z8/ODn54dRo0bh008/bedEZDIZ1qxZAwBISEho\nnZZNSEhoPSYjIwPPPfcchg4ditDQUPj4+KB///546aWXUFlZ2c4+jUaDv/3tbxgxYgRCQkKgVCqR\nkJCAX/ziF9izZ0+74y9evIj58+ejd+/e8Pb2hkqlwkMPPYTLly932lbGfWBlyPRY5syZgxMnTmDG\njBmYM2cOwsPDAQAXLlzAm2++iYkTJ2LWrFkIDg5GdnY2tm7diu+//x7btm3D9OnT213P3HTZZ599\nhq1bt+L+++/HpEmTcPToUXz77bfIzMzE6dOn4eXlZdF1Tpw4gQ8++ADjx4/Hk08+iezsbGzYsAFT\npkzB6dOnjdRpcXExxo0bh5s3b2LixIkYP348CgoK8Mwzz2Dq1Kkd3qcrhIWF4amnnsK7776L//73\nv7j//vtb97322muQy+UYN24coqOjUVVVhT179uC5557D8ePHWx0KQAp/8+bNyMzMNJreNpzm/uKL\nL7B582YkJydj2rRp0Ol0OHHiBD766CN8//33OHbsGPz8/FqPnz9/Pr755hsMGTIEjzzyCHx8fJCX\nl4cffvgBO3fuxJQpU1qP3bFjB+bMmQOtVotZs2ahX79+yMnJwcaNG5GSkoJ9+/a1TrFbYivjRogM\n46TExcWJMplMzM7ONhqfOHGiKAiCOHToULGsrKzdeVVVVSbHc3NzxaioKDEpKandPkEQxEmTJhmN\nLVq0SBQEQQwMDBTPnTtntO/BBx8UBUEQv/vuu3a2yWQyo7F9+/aJgiCIgiCIq1evNtr3+eefi4Ig\niM8884zR+KOPPioKgiC++uqrRuOZmZmit7e3KAiCuGTJknbPYQrp/m2fry179uwRBUEQ4+Pjjcav\nX7/e7lidTic+8sgjoiAI4rFjx4z2SeNt/24S2dnZok6nazf+5ZdfioIgiMuWLWsdq6ysFAVBEEeP\nHm3yHMO/c3l5uRgUFCSGhYWJWVlZRsedO3dO9PPzE0eMGNEpWxn3gadJmR7LO++8g5CQkHbjAQEB\nJsejo6Mxd+5cXLx4Ebm5uRbf59lnn8WgQYOMxp544gkAwPHjxy2+zh133IGHH37YaOzRRx+FXC43\nuo5Go8H//vc/BAUF4c033zQ6/mc/+1m7a1iLqKgoAEBJSYnRuKlpQ0EQ8OyzzwIAdu3a1an7xMbG\nmlS1CxYsgL+/v9H1pOO8vb1NnmP4d16zZg2qqqqwZMkS3HbbbUbHDRo0CI8//jhOnTqFrKysTtnL\nuAc8Tcr0SARBwJgxY8zu/+GHH/DJJ5/gyJEjKCkpgUajMdqfl5eHmJgYi+41atSodmPSuRUVFRbb\nbOo6Hh4eiIiIMLrOpUuX0NjY2LpG2ZYJEybg3//+t8X3tRTxp/W/tk6nrKwMy5cvR2pqKq5fv476\n+nqj/Xl5eZ26T3NzMz7//HN88803uHDhAqqrq6HT6UxeLyAgALNmzcK2bdswbNgwzJ07F3feeSfG\njBnTLvpXWns9ffo0Fi9e3O6+0pphVlYWkpKSOmUz4/qwM2R6LBERESbHN23ahHnz5sHX1xdTp05F\n3759oVQqIZPJsG/fPuzfvx9NTU0W38fUGpKHB/2vo9Vqu3Ud6VqG16mqqgJg/vnMjXcXKSAoLCys\ndayyshKjR4+GWq3G2LFjMX/+fISEhMDDwwMVFRX45JNPOvVZAsCvfvUrbN68GX379sXs2bOhUqng\n7e3dmk7T9nrffvstli1bhrVr17ZGHSsUCsybNw8rVqxoXSsuKysDQGuS5hAEAXV1dZ2yl3EP2Bky\nLsdbb70FhUKBEydOYMCAAUb78vLysH//fgdZZhkBAQEAgKKiIpP7zY13l3379gEAxo4d2zr273//\nG2q1GosXL26XlnHkyBF88sknnbrHiRMnsHnzZkydOhXff/+9UeStKIpYtmxZu3MUCgUWLVqERYsW\nITc3FwcOHMCqVavw9ddfQ61W48CBAwCAwMBAAMCZM2cwePDgTtnFMLxmyLgcV69excCBA9s5Qp1O\nh0OHDjnIKstJSkqCQqHAmTNnUFtb226/LZ6huLgYn3/+OQRBwEMPPdQ6fvXqVQDA3Llz251j7kuF\nXC4HYFo1S9e777772qWgHDt2DI2NjR3aGRMTgwcffBA7d+5E3759cejQodYp5nHjxgFAq3O0hI5s\nZdwLdoaMy5GQkIDLly+joKCgdUwURSxevBhZWVlOX3HE09MTv/71r1FZWYl3333XaF9mZqZRKoM1\nyMzMxNSpU1FWVoYZM2bg3nvvbd0nBc9IqlHi1KlTeP/9901eLzQ0FACQnZ3dbp+56xUXF+P3v/99\nu+NLS0tx9uzZduO1tbWora2Fp6dna2rLggULEBQUhCVLlpgMbNLpdEhPT7fYVsa94GlSxqkRzVQG\nMTcOAM8//zyefvppDB8+HHPmzIGnpyd++OEHZGVltQZj2JKObLOUpUuXYu/evfjggw9w7NgxjBs3\nDgUFBVi3bh1mzpyJzZs3d7og+I0bN1oDS5qbm1FaWoqMjAycPHkSgiDgt7/9Lf75z38anfPwww9j\n+fLlWLhwIfbt24d+/frhypUrSElJwdy5c/HNN9+0u8/dd9+NFStW4IknnsCcOXPg7++P4OBg/P73\nv8fo0aMxYcIEbNy4ERMmTMCECRNQVFSEHTt24LbbbkNUVJTR55ebm4sRI0ZgyJAhGDJkCHr37o3q\n6mps374dRUVFeO6551qDjEJCQrB+/XrMnj0bt99+O6ZMmYKBAwdCEATk5OTgyJEjqKioMAoA6shW\nxs1wXFYHw3RMfHy8yTzD5OTkdrl8bVm1apU4bNgwUalUimFhYeKcOXPEc+fOiYsXLxZlMpm4f/9+\no+NN5eGZO1YURfHGjRuiIAjiggULbmmblOdnLi8wPj5eTEhIaDeel5cnPvLII2JYWJjo4+MjDh8+\nXFyzZo24fv16URAE8ZNPPunwM5BIT08XBUEQZTJZa76jj4+PGBUVJU6cOFF85ZVXxMzMTLPnX7hw\nQbzvvvvE8PBwUalUiqNGjRK//PJLUa1Wm/wMRFEUP/roIzEpKak1J9Lw+crLy8VnnnlGjI+PFxUK\nhdivXz/xjTfeEOvr69t9FpWVleLbb78tTp48WYyOjha9vb3FqKgocdKkSeI333xj0l61Wi3+4Q9/\nEBMTE0WFQiEGBgaKSUlJ4sMPPyxu2bKlU7Yy7oMgis5RlO/RRx9FSkoKwsPDW6dFXn75ZWzfvh1e\nXl7o27cvVq5c2bpIzjDuyhtvvIH3338fO3fubK1GwzBM93CaNcMFCxZgx44dRmPTpk3D+fPnkZmZ\nif79+5tdo2AYV8RU7dOzZ8/ib3/7G0JDQzFx4kQHWMUwronTrBneeeedUKvVRmOG33rHjh2LDRs2\n2NkqhnEco0aNQmJiIgYNGgSlUtm6VgdQLl3bmqgMw3Qdp3GGt+I///kPHnjgAUebwTB24+mnn8bm\nzZvxzTffoKamBsHBwbjnnnvw0ksv4a677nK0eQzjUjjNmiEAqNVqzJo1q10o9V/+8hecPHmSlSHD\nMAxjE5xeGa5atQqpqakm+5YBQL9+/XDt2jU7W8UwDMM4M3379m0t8mAJThNAY4odO3Zg+fLl2LJl\nCxQKhcljrl271tqpmjfLt0WLFjnchp648efGnx1/bj1j66xIchpn+MADD2D8+PG4dOkSevfujf/8\n5z/44x//iNraWkydOhXDhw/HM88842gzGYZhGBfEaaZJ//e//7Ube/TRRx1gCcMwDONuOI0yZOxL\ncnKyo03okfDn1nX4s+sa/LnZB6eKJu0KgiCghz8CwzAMY2U66xucZpqUYRiGsS4hISGtLa5cleDg\nYJSXl3f7OqwMGYZhXBR3eD+ae8bOPjuvGTIMwzBuDztDhmEYxu1hZ8gwDMO4PewMGYZhGLeHnSHD\nMAzj9nBqBcMwDGOETtQhIz8De67vQY2mBiMiR2BywmQE+wQ72jSbwakVDMMwLoq592OtphYHsw/i\nZMFJKD2VSE5IxtCIoRAEAQDw7flvsf3SdgT7BMNL7oXyhnIEK4Lx5l1vGjnEmqYaFNcVI8A7AGHK\nMLs9lyHWSq1gZ8gwDOOimHo/1mpq8d7B95Bfk49gRTA0Wg1qmmowa8As/HLQL1FcV4w/pf0JMQEx\nkMvkrefdrLqJe/rdg18O+iV0og4bL2zEjms7IIoidKIOwyOH47Hhj0HppbTYvqqqKhw6dAgzZ840\nGh8zZgy2bNmCyMjILj1jR+Pm4DVDhmEYNyJdnY78mnzEB8UjUBGIMGUY4oLikHolFUW1RbhRcQMA\njBwhAIT6hCKjIAMAsOf6Hmy5tAUqPxV6B/ZGbGAsTheexsrTKztly549ezBjxgwAQEZGRuv47Nmz\nIZPZ1z2xM2QYhnEjjucfR6hPqNGYXCaHCBHXKq5B4WG6d6xGq4G/lz9EUUTKlRRE+kfCQ0ZhJ4Ig\nICYgBhn5GSitL7XYFkEQWqdmly1b1joeEhIChUKBjRs34v333+/sI3YJdoYMwzBuhI/cB826ZpP7\nvOReuK3XbVB6KVHVWNU6rhN1KG8ox5SEKdCKWlQ2VsLHw8foXJkgg0yQobqp2mJbTp06BQBIS0uD\nv78/AGDdunWIiopCYGAgRo4cCY1G09lH7BLsDBmGYdyISQmTUNFQAZ2oax2r1dRC4aFAUq8keHt4\nY+HtC9Gsa0Z2ZTbUlWrcrLqJ6f2mY0zMGMgFOeIC41DVVGV03RZdCwRBQLgy3GJbZDIZ4uPjkZaW\nhsbGRvTp0wf5+fmYNWuW1Z7XUjiAhmEYxkUx9X7UiTp8lfkV9qn3AT/t8vbwxh/H/BGDIwa3HtfY\n0oiLpRfR0NyA+KB4RPrrg1nOFJ7Bh0c+RJAiCEGKIDS0NKCgpgCzk2ZjTtIcq9mfnZ2NVatWYdGi\nRZ16xo7GzV6HnSHDMIxrYu79KIoicqtzcb3iOrw9vDE4fDD8vPw6de2zRWex/sJ6ZFdlI8QnBPcm\n3ovkhGTIBOtNOKrVaqxevZqdoSWwM2QYhjGNPd6PWp0WMkHWGghjLWpra/H5559j//79eO+99zB4\n8GCTx7Ez/Al2hgzDMKZxh/cj5xkyDMMwjJVgZ8gwDMO4PewMGYZhGLeHnSHDMAzj9rAzZBiGYdwe\ndoYMwzCM28POkGEYhnF72BkyDMMwbg87Q4ZhGMbtYWfIMIzr4OLVVhjbwc6QYRjXYe1aYN8+R1vB\n9EA8HG0AwzCMVSguBtLSAKUSGDcOUJju2M7cmldfBQoL24+rVMDSpfa3xx6wM2QYxjVITQU8PIC6\nOuDQIeDuux1tkdNyK2dXWAjEx7ffr1Z3fL7hNSyhqqoKhw4dwsyZM43Gx4wZgy1btiAyMtLMmdaH\nnSHDMD2f4mLgwAEgOhrQaIBNm4A77mB1aIZbObuunt+ZawDAnj17MHv2bABARkYGRo4cCQCYPXs2\nZDL7ruLxmiHDMD2f1FRAJgPkcsDHR68OGadGEITWPojLli1rHQ8JCUFNTQ02bdqEJUuW4OTJkza3\nxSmc4aOPPoqIiAgMGTKkday8vBxTp05F//79MW3aNFRWVjrQQoZhnBZJFRpOqUVEkDpsbHScXcwt\nOXXqFAAgLS0N/v7+AIB169YhMjIS27ZtQ3R0NF544QWsWLHC5rY4hTNcsGABduzYYTS2dOlSTJ06\nFZcvX8aUKVOw1FVXbRmG6R4HDpASLCgAcnNpKyujLSPD0dYxHSCTyRAfH4+0tDQ0NjaiT58+yM/P\nx3333Yfnn38eY8aMQU5ODhISEmxui1OsGd55551Qt5lo3rp1K/bv3w8AeOSRR5CcnMwOkWEYWhO8\neRPo149+nzwZGDbM9LEqlf3sciFUKtNrf9b+OBcvXozFixd3eMymTZvwxhtvWPfGJnAKZ2iKoqIi\nREREAAAiIiJQVFTkYIsYhnEKfviB8gk/+AAIDgZCQmhjLOZWzs5ZdMfWrVvx7LPPIi8vD4mJiTa9\nl9M6Q0MMF1kZhnFjmpqAjRtpWnTXLuBXv3K0RT2S7jo7c85U2mcNNm3ahPfeew+ffvopkpOTba4O\nndYZRkREoLCwECqVCgUFBQgPDzd7rKHMTk5ORnJysu0NZBjG/hw+DNTUAAkJlGA/bRqpQ8au2EM5\nzp49uzXtwhLS09ORnp7e5fsJougcxfzUajVmzZqFs2fPAgBeeeUVhIaG4k9/+hOWLl2KyspKk2uG\ngiDASR6BYRhb0tQEvPQSpU74+gI5OeQMWR2axR3ej+aesbPP7hTRpA888ADGjx+PS5cuoXfv3li5\nciVeffVVpKWloX///ti7dy9effVVR5vJMIwjkVShry/9rlKROqyocKxdjEvgNMqwq7jDNx+GcXua\nmoAXX6R/S84QAPLzgVmzWB2awR3ej9ZShk67ZsgwDNNKeTkQGkppFYb07k37GKabsDJkGIZxUdzh\n/ehSa4YMwzAM40jYGTIMwzBuDztDhmEYxu1hZ8gwDMO4PewMGYZhGLeHnSHDMAxjmqIioBslznoS\n7AwZhnEMOp2jLWCOHSOHZ44NG4AvvwRKS80f0zb3s4fCzpBhGPvT0AC88w5VkHEE5vLP8vKAn/qo\nujxVVcA//0kOzxS5ucCPPwJeXsD335s+pr4e+POfgRs3umhCFVJSUtqNjxkzBgUFBV26ZldhZ8gw\njP05dIi60G/fbv97nzwJfPZZe4coisB335EScod6p7t3089jx6joeVu2biVHGBkJ7N1rWh3u3w9c\nvAhs3mz+C0YH7NmzBzNmzAAAZGRktI7Pnj0bMpl93RM7Q4Zh7EtDA708Bwyg4tv2VIdaLfDNN+SM\nr1833qdWA6dPAx4ewM6d9rPJEVRVkdqLjAQUCmDbNuP9kipUqejzkMvbq8P6enKYAwYAmZnmGxx2\ngGGv2mXLlrWOh4SEoKamBps2bcKSJUtw8uTJTl+7s7AzZBjGvhw6RM15lUpSHvZUhydP0hpZUBCw\naZNezYgiOWhfX3IQu3e7tjrcvZvWbL28gIiI9upQUoWSOlOp2qvD/fuBxkZqqaVQdEkdnjp1CgCQ\nlpYGf39/AMC6desQGRmJbdu2ITo6Gi+88AJWrFjRrce1BHaGDMPYD0kVRkTQ7yqV/dShVgusW0cF\nv8PDgbNn9epQUoXh4YCnJ73UXVUdSqpQakkvkxmrQ2ndVKulf+fl0ReIqipgxw46RlKF0t8xIqJL\n6lAmkyE+Ph5paWlobGxEnz59kJ+fj/vuuw/PP/88xowZg5ycHCQkJFjn2TuAu1YwDGM/JFUYFka/\ny2R6dfjkk7a9t6QKpRerry+pwxde0KvCn6bsoFKRepo+HQgOtq1d9mb3bur04dHm9b9/P7XD8vam\nllimVJ7kQCVVKDlDQdCrw4UL9Z/jLVi8eDEWL17c4TGbNm3CG2+8YdH1ugM7Q4Zh7IOktrRa4yk5\nnY7Wp+bNA0JCbHNvQ1UoIanDAwdInQYE0FqZRFkZsGuX6/VKDA8HZs9uPy4I9OUkPByYM6fja6Sn\n09/N8O8oikBWFlBSQtewAlu3bsWzzz6LvLw8JCYmWuWa5uAWTgzD2I+CAmrU2xaZDIiJ0a9RWZuz\nZ4GlS2l9y5DaWmDkSMDcizY6Ghg92jY22QGbvR+rqkznF8pk9IXGQmXYEZs2bcJ7772HoKAgJCcn\nm1WH1mrhxM6QYRjXp7GR1r5MERCgn7Z1Mdzh/cjO8Cfc4Y/NMAzTFdzh/cjNfRmGcV1++MFx1WkY\nt4SdIcMwzkVlJfCvfwHfftulqiYM0xXYGTIM41ykpVHFk9Onu1TVpFMcPEj3YdwedoYMwzgPlZWU\nfhEZSZGfXax5aRH19cDatcCaNUBzs23uwfQY2BkyDOM8pKWR8/P0pIRuW6pDKXG8vBw4ftw292B6\nDOwMGYZxDiRVKFU5EQTbqUPDcmKhocD69awO3Rx2hgzDOAe7d1PVl5ISiiTNz6fKMUeOANnZ1r2X\npAoVCsDf32XVYXBwcGtnCFfdgq1ULo/LsTEM4xzExAAPPmh6n5eX9e7Ttsg0oFeHo0fTFK2zUVVF\nTruTFXrKy8ttZJDrwc6QYRjn4PbbabM1Bw9SWbiGBuPxykpqOGwPGzqDRgO89x5w333AhAmOtsZl\nYWfIMIx70b8/daowRUyMfW2xhGPHKIho3TpgzBjnVK4uAJdjYxiGcVY0GuCVV6jdUkkJtblidWgR\nXI6NYRjX5+BBCrZxdY4do+lbPz8qJs5RrzaDnSHDMD2L4mLg88/1ndldFY0G2LAB6NWLfvfzo6jX\nH390rF0uCjtDhmF6Fjt20LrZ/v3kGF0VQ1UowerQZrAzZBim51BcDOzbR4EucjmQmupoi7pOZSWl\nTJjj+HHqJp+drd/Kyqgh8Y0b9rPTTXD6aNL3338fX3/9NWQyGYYMGYKVK1fC29vb0WYxDOMIduwg\nJyiXU/3SAweAGTOA8HBHW9Y5RBH4z38ob3DhQtPHPPcc0NJieh+/A62OUytDtVqNL774AidPnsTZ\ns2eh1WrxzTffONoshmEcgaQKIyPpd7mcnElbdajTUeSlM3PjBpCZCZw6Zb72qlxOTs/Uxlgdp3aG\nAQEB8PT0RH19PVpaWlBfX4/o6GhHm8UwjCPYsQOoriZHV1hImyBQcW/DtcOTJ4F33qHpRGdEFKne\nqq+vvvYq43Ccepo0JCQEL774ImJjY+Hj44Pp06fj7rvvdrRZDMM4gpgYYM6c9uOCoP+3Vgt89x1V\nmElPB+69127mWYykCuPj6feMDBpLSHCoWe6OUzvDa9eu4eOPP4ZarUZgYCB++ctf4r///S8eeugh\nR5vGMIy9mTz51secOkUqsV8/Sr1ITjaOxnQ0hqpQEGhKNysL+PvfgQ8/dLR1bo1TO8MTJ05g/Pjx\nCA0NBQDMmTMHhw8fbucMFy9e3Prv5ORkJCcn29FKhmGcAkkVBgfTulpzs/Opwxs3yGH37k32FRQA\ndXU0BfzMM0Dfvo62sMeSnp6O9PT0Lp/v1OXYMjMz8dBDD+H48eNQKBSYP38+xowZg9///vetx3A5\nNoZhAAAnTpDCkqYfm5ooSf3DD51HHe7eDWzaRP8WReDoUXLijY3A888DTz/tWPtciM76BqdWhkOH\nDsXDDz+MUaNGQSaTYcSIEXjyyScdbRbDOB9aLb1cPZz6f2nLqK+nlk2deRZDVSi9AL28qIpLV9Sh\nKAJffglMn04qzlrcfTdtAK0V1tXRWmFVFUWVarUURcrYHaeOJgWAV155BefPn8fZs2exevVqeHLF\ndoZpz3ffAf/9r22uLYrAtWvW7zZv7l6ffgqkpHTuvMJCih6tqDBOUhdFClbpLFlZwPff2y7SU6ul\nLhQhIfR7YCBNmZ4+bZv7MbfEBb5GMoybU1ZG6QWiCNxzj/UT0G/cAN5/H/jTn4DEROteuy2XLwPn\nzpHznTyZGtpaQnQ08Nln1rFBFKkmaGQkTb1mZwNxcda5tsTp0+T8DCNIQ0LIQQ4bxurQATi9MmQY\n5hbs3EmRibYoTyZFP1ZVARs36tWhLVSi5IQCAqjyyr591r+HJWRlAVevAqGhlAe4dav175GeTpGk\nOTn6rboaKCqiezN2h5Uhw/RkysooKCMqihzi/v3WLU8m5cQlJQEXLtCL2teXAlWeftq6iunyZeDS\nJQqAaW4Gtm8HJk2yXB1aA0OHLAj0OdpCHT71FNDQYHrfT9HzjH1hZcgwPRlJFXp46Gt2WksdGubE\nyWSAUkmOYvlyWqNcv94695HutWEDRX0KAgW/OEIdSqpQWsuTyWyjDqX+hKY2Gb+WHQF/6gzTU5FU\noVSrE9AXr7ZGayNJFUoqMyyM2gqlppKzSkszX1ezs0iqUOrdBwAqFanDmhrr3MMStm8nxZabq5++\nbGqiFIi8PPvZwdgdniZlmJ7K8eOUOlBQYDze1EQNYLuTbC6pQg8Puoc0duUK5e4lJpJz2LABePFF\n/XnFxZTe0Nmo7+PH6fo5OcbjOh1Nz44d2/Vn6QyzZwNTp5reJ6lFW7B7NxARAQwZYrt7MB3i1En3\nlsBJ90yPp6WFpjcNa2xagkZDQRem8PfvXneDpiZg6VLquSdRXk4pD97eQJ8+pNhUKuCf/6R1vqYm\n4PXXKTefQ93LAAAgAElEQVRv2rTO3a+lRe9026JQuPbUYXU1JdyHhgLvvecauaJOgEsl3TOMyyOK\nwD/+QQEqnS1C7+VlPK1oTby9gUWL9L+LIvDCC6SOoqJozNfXWB0ePUoqddMm4I47aL+leHi4rxPY\ns4c+3+JiKtU2erSjLXJLXPjrFsP0ANRqmtLctMl8dKEzcP06TeVJL+3iYlKNtbXArl20vrhhA+X7\nNTYChw452uLOcfaseWVqS6qraQ1WpdLnGZpr6MvYFDf9KsYwToC0LqdUUgmyQ4fMr1c5Go2G2ieZ\nchhJSeQsq6tpulQu75o6dBSFhcCKFcCCBdTlwp7s2UPVaLy8aFOrWR06CHaGDOMo1GqK1oyLIzW1\neTM5EB+frl1PFCknbsQI61cwSUoCliwxva+pCXj5ZYo2BWiNr6iInHtn1w4dQUoKqbENG4Bx4+zX\nSd5QFUpI6nD4cPedNnYQPE3KMI5AUoUKBQXO+Pjo1WFXuXIF+OQT+9e3PHqUpkwVClI5Wi2tZW7a\nRM/kbBgGVRQW0mcuBQQdOWI/O9LTgZISID+fvhip1RSkdPVq1+qpMt2Cv3owjCMwVIUS4eFdV4dS\n0rog2L++ZVaWXg0a4uVF+Xr9+3f92lVVpJCUStP78/IoLeMXv7D8mt9+C8TGAuPHkyqUChaEh9tX\nHQ4ZQoraFNHRtr8/YwQ7Q8Z9KCoiJ2SvnLWOOHSI1t9yc43HNRrgzJnO23jlCnDxIikctZrU4ciR\nVjO3Q6zVgy81laYJb7+dfhdF4F//oo4O5lq3bdgAHD5Mz2pJq6XiYmqkGxgIxMTQ3yEmhvb5+tL+\nI0fss3aYkGBcqJtxKOwMGffhu+8oOOG22+hl6EjmzDG/ntbZ5O62pcycrfvB6dOkvgYPNn+MVAhc\nqaQ1Ty8v6lxx7hw906xZxpV2AKoXmpFBdUS3bgUMmn4DoM+lvt5YVaamki1VVVRfVaOhnoISCgWV\nmbPn2iHjFPCaIeMe3LxJwSWiSBF8jkappIojprbOVm+RVKGUc+hMvfE0GmDlSmDVqo5TBnbvpmoz\nVVWkzESR1hyVSnKM27a1P2fLFppOVqloqrRt9Zrz54HFi/UpK8XFVKouMpKCfTIyqJJOSIh+i4mh\nqWt7loBjnAJWhox7sGULfesPDaWmrVOmOF4dWgNJFUqOREIudw51ePSo3q4TJ/RToIZUVdHfRKWi\nbhUbN5KzOneOUjVEkaZCDdWhpArj4qg6jbe3sTrU6UjhXbumT1lJTaVj5XJysr17U1eMiRPt8lEw\nzg0rQ8b1kVRhRASpDK3WOdShNdBqqRbokCFUGUbabruNVE5jo+Ns02j0ji00lJyTKXUoqUIvL3JS\nlZXU7V6ppClSmay9OpRUoVSmLSLCWB1euECFABITKSgpO1uvCiXCwsg+RyTbM04HK0PG9ZFUofTi\nVKlcRx16eBgHsIgiKaS77iIn6UiklIv4ePpdrW6vDg1VoYSXF6UdzJ5NThKgSM8ffiB12NJCas/H\nx7hrRmUldZ146ilaD/Tyor97cTHwxRdULSc/n64p/bdQV0fryB0FLOl0wNdf070d/ZkyNoOdIePa\n3LxJL86gIMopkygvJ3U4Z47jbLMFV68CX31FgSMPPGDfezc1kQMSBGNVKCGpw1Gj9AnlBw7Q30Jy\negCpu8ZGKpEWEaEf9/KiVk9DhwJ/+INpG4KCqM1UWpo+GCciglIwXnuNrr1vH/D443qHeKs0hsxM\nWr/08gJ+/evOfy5Mj4CdIePayGT0jd5U9XprdYO3NxoNUFqqL5gtIYrkgEJCaOpx+nTbth0yRKcD\nPvwQmDCB1uCOHaOpydBQoKJCf1xZmbE6HDHCvDOKjTVfiPyuu8zb8etf02eRm0tOd8YM2ldcTFOp\nubmkLocOtey51q0jG6XPlNWhS8LOkHFtYmKA3/zG0VZYl/R0ShZfutQ4Of/qVVori4+nF/7OnfZR\nh6JI9z17lnI5x42jLxoLFpg+3tDBRUdbN8H84kVScg0NtJ6an0+BNuHh9EWhsZG+RKxbR+ust2oN\nlZlJqjIhgVTlzp2sDl0UdoYM05Oor6cpu8pK48LekiqUgk4iI22jDrVaUnx9+ujH/vMf6rwRFqZP\njZg4ERgwwHr3tZSLF4GBA+mLgb8/fU7h4VSI+69/pTXCoCBaazx7tmN1KKlCSQmqVKwOXRiOJmWY\nnsShQ6RuYmMpSlLKoZNUobRGJ63J7dpl3fsfPw68/z5N0wKkljZupOCWwED7RmiKIjnimzfp96oq\nSp+oqaFUCymA5sYNCirKyyNHKAj0c90647XKtkiqMCiIfvf0pHvu3Nk1Wxmnhp0hw/QUJFUYEUHT\no3V1+sLemzZRtGRODjmHmzcpZy8lxXjNrju0tFAATHU1lTQDKFK3sJD2FRaSMpXUoa25fJmc34YN\n+mIKBQXkwGQy+qIgl5Pj/vvf9RV6AHJwOTmkDs2xcSN95tnZ+q2piZ7dMKfTEjZvBvbu7fqzMjaH\np0kZpqcgqUIpwjIiQl/Ye/x4WgNri0xmvVZAJ06QY0lMpBf7kCGkPFtayLlcuEA/Kyv1Ba+9vKxz\nb4CcV2Eh9fqTig2Eh5OCU6tJuQUGGucfyuVkQ1mZPkpVcogtLRR1am6qdPZs03magtC5Um0VFZTy\n4eVFgUM9ocejG8LOkGF6AvX1+kjR5mYa8/AglWaPpsCSKgwNpfvKZMBHH9GLXhRJMdXUkDqrqKD9\nWVmWRWxagihSrt+NG7QmmJsLXLpEwUJFRfSlYOFCWqtsW0qtpYUiSX/4gZz1lCn6fea6YQAU6WoN\npKnqxsae0+PRDWFnyDA9gYICUjyNjcZqJSCASo7Z2hlKqlBKoPf1pSnKmTNpXQ4gh3P0KCnVfv06\nLszdWaT6qzIZ5QmeOaOf9oyI0KvDhAT6TNqiVAL/+Aepx3nz6Fx7UFFB6lOlouCjTZvo82F16HSw\nM2SYnkDfvhQN6QgkVahU6h3x1as0fvo0OT6AVFtTE73or1+n36V93cGwK4e/PylEuVx/bUEghyyp\nQ2ka1JCdO8mRNjeTM501q/t2WcKuXWS/pydtRUWsDp0UDqBhGGdHFEkVOSoisaKCnI1CQc6kuZmi\nWSdNojWwl18GnniCpnCnTaOpVKWSVJA1bDbsyqFQkBK+edM4WKipSZ9Q35bSUpq+ValIRW7fTsFG\ntsZQFUpERNDnUl9v23tfvkxpIIzFsDJkGGfnyhXggw+onFhiov3uu3cvvcgHDgTefbfjY9eupdw7\n6cUvdZ24dq176rBtr0YAGD6cAmIee8y46EBpqelC4JIq9PCgzV7q8OBBWtNt+4WgtpYct626Zeh0\nVJIvL49K30mpIUyHsDNkGGdGSqavraWfr7xiehrQ2lRXk4MLCyNH2FEbqPJyfXskKecPoECWzZuB\nl17quh0XL1IFmZAQWjcF6PlFkaJWJ0ygMVEkO0+coC8N0mckqULD0nWSOpw0qf3aYUODsYPtDuPH\nm//y0rZRsSFpabTe2tExHXHuHP0d5HJ69rlzu3YdN4OdIcM4M1euUFRmUhKlLly9ah91uHcvKYz8\nfApO6Siy0tOTSt6ZmhI1FcxiKVotJdXffnv7OqyAcRHwrCz6bACaIpSq3xw+TFOShkXaAcrR/PFH\nYPJk/VhNDfD228DvfmdcYaer9OplvraqOYqKqBHy+PH63oydQaqaExREjl7qzsLq8JawM2QYZ0VS\nhdIUoZ+ffdRhdTUl66tU5EjWraMUCXPq0N8f+PnPrW/H6dMUhOPnRzVWzT2zNJUaEKD/t6QOJ040\nnX8JGDtTgKZOL1+mQgLmAnFsTUoKrYv++CNN48bGdu58SRXGx+sVNKtDi3D6AJrKykrMmzcPSUlJ\nGDhwII4ePepokxjGPkiqUFIXvXrp1aEt2buXVJmXFykKSR3aE62WnHDv3hSZeuGC+WMlVRgSQsE7\nly6RUwMoCT8hwfRmOEVaU0OOaOBAcsKGfRLtRVERrTNGRZFDNGxmbAmGqlBy5FLvzspK69vrYji9\nM3zuuecwY8YMZGVl4cyZM0hKSnK0SQxjeyRV6OFB6QwNDfTTw4PGbRVZaqgKJYKD6SWr1drmnqY4\nfZrWCAMDSfGtX2/6mQ1VoSDQ5u+vL9FmKfv2UT1Vb29KDdm82f7Ruykp9PeVy2ld88cfjddgb8WF\nC8D58+T41Gra8vKAkhIuBWcBTj1NWlVVhYMHD2L16tUAAA8PDwT29M7kDGMJTU30TV9ShVotbb16\n0c+mJn2yuzVJT6fk+baFtrOzKdF9+HDr37MtkioMCSFVGBioV4eDBumPE0VykufOUasuKV3C25tq\njhquHXaEpAqlLwDh4Xp1mJBg9ccziaQKY2Lod5lMrw4tXTvs1Qt47jnT+wy/3DAmcWpneOPGDYSF\nhWHBggXIzMzEyJEj8cknn8CXqzcwro5CAbz+uv73tWvp5WwYKWkLkpKAF14wvc9eL1RJFapUND0b\nEkJOcP16msaUnv/SJeBf/yI1GxZmHKwyYAClX1iCoSoE6PqSOrTX2mFqKik6w/6KOh2wfz9w3300\nXXwrVCp2et3AqZ1hS0sLTp48ib///e8YPXo0Fi5ciKVLl+Ltt992tGkMYz/KyiiBuqWFHMBtt9nu\nXomJ9s1lNIX0rD/+SNPDOTnkEGtqSCH27aufHvX0pA4S4eHAW2913nGJIikynY7uI6HTUVpHWVnn\nI0K7wuDB9AymsFaqB9MhTu0MY2JiEBMTg9GjRwMA5s2bh6VLl7Y7bvHixa3/Tk5ORnJysp0sZBg7\nsHMnveQDAsgBvP66YyIdO+LMGXJcY8d2/1qPP05BO+++S06ipoYc0rPPAtHRdMylS7RVV5OaOn68\na18UBAFYvFhf/LztPnsty/z0jmO6Tnp6OtLT07t8vlM7Q5VKhd69e+Py5cvo378/du/ejUGGawY/\nYegMGcalkFRhVBQFVly+bHt12Fmamyk3TqOhFIzurmWGhlLiuZ8f/TskhKaIa2vpM5BUodQpIyCA\nplW/+65r6rCjzhVMj6GtEFqyZEmnznf6aNJPP/0UDz30EIYOHYozZ87gdcN1FIZxdSRV6OHR9UhJ\nW3PiBFWhqaujJPfu0ramp6EqFkW9KszLoylEqWaqpA4Zpgs4tTIEgKFDh+L48eOONoNh7I+hKpQI\nDXUuddjcTJGfUp/DjRupekp31GFaGqUDtE3lyMujnMJNm8j5lpXRNKbUsLc76pBxe5zeGTKM23Lp\nEikhU50YzpyxjzNsbKRSZlIfw7ZIqlDaX1xM6tCwzFlnGTyYojhNERBA06ZaLUV/SoW5pSLcFy/a\nNyWCcRkEUXSm+ZbOIwgCevgjMIxpbvXftT3Uz7ZtwI4dwPLl7RvSNjcDf/qTfvoWoCCaujpgxYr2\n6rCxkRz80KHdt6u4mO5jipgYijJl3JrO+gZWhgzjrDh6qq+2Vt/7b/9+4J57jPdnZFCqQ3AwqUOJ\nigrgyBHqCmHIgQPUmHfFCvNpBJbS3fMZpg3sDBmGMY2UjN67N7B1KxW9NlSHkZHAM8+YPrdtknhD\ng77Zb0oKsGCB7exmmC7AzpBhmPZIqlClorW5oqL26jAujjZLOHiQHGJ8PCnEmTNZ3TFOhdOnVjAM\n4wDaliiLiCB1WF/f+WtJqjAigvIEPTxIHTKME8HOkGEYY2prqadfYCA5soYGmt6sriZ12FkkVSiV\nFVOpSB0WF1vXbobpBuwMGYYxpqREPz1qSExM5x1YQwPlHioUVIi6spKqxjQ2sjpknApeM2QYxpiE\nBKoLag1qa6mDRNuWUJGRNGXaEVotcOwYMG6c4yNrGZeH8wwZhnFOMjKADz8E3nyTWje5C01NQGmp\nvig50yU66xt4mpRhGOdDavDr4UE/3ekLb1oa8MEHNJXM2A12hgzDOB9Sg9+EBErsz8pqf4wrOou6\nOkppKSmxTtFzxmLYGTIM41xIqjAkRN+xoq06rK8H/vxnKlreFqleaU9k3z6aJo2JocAjV3T4Tgo7\nQ4ZxRfbsoXWnnoikCqXGuiEh7dXhoUPkCDduNHaSzc3AO++YVpLOjqQKVSqq9FNby+rQjrAzZBhX\no6AA+Pe/KUn+VrRtk+RoJFUoCFTvtLycap3qdHp1WF9PSfwDBpDTu3JFf/7x48DZs8D69T1vnVFS\nhVJKS3g4q0M7ws6QYVyNbdtIWRw8SGXUzJGbCyxeTLmAzoJGA/TpAwwbRj+lbeRImjpsaSFV2NhI\nSfx+fnp12NxMTjAhAbh6ldo59RTq6ujLS0gIfQYaDQUPVVayOrQTnGfIMK5EQQG9PGNj6d8pKcCj\nj5o+dutWIDOTnOa0afa10xw+PsCTT5rfL6nCiAj6vVcvvTosLdX3VtRoyDG++WbPyFHMz6c2WM3N\ntEmEhAA3bjjOLjeCnSHDuBLbtgFeXoBMRmtPBw9SUWzJeUjk5FBC+223AZs3A3feqS+X1lnq64HV\nq4FHHmnf89DaSKpQeh5BIHW4bh11vg8NpfGQEL06TEqyrU3WIDGRcioZh8HTpAzjKkiqUKWi3zsq\nir1tG5VI8/UlZ3bwYNfve+AAkJpKjsrWpKfTuuLNm/qtoQH48Uea9i0rI6UoRaGuX0/rjQxzC7gC\nDcO4Cl98AXz/vV4dAeQ4GhqAjz/Wq6mcHJo+jIsjBdnQQPVCP/yw8+qwvh548UUK+mhqomvYUh3W\n1rYv7QZQw+Dr12naV6sFxowhm8rKqJzbn/5kO5sYp4Q73TOMu3LbbcaOUEIQSCFKSKpQ9tPEkI8P\nBdp0Ze3wwAH9tGV2NqlDW64/+vmZHn/lFWDnTvq3IAB33QXcey+wdCmlaqjVtJbIMGZgZ8gwrsKd\nd976mLIy4NQpUk+5ufpxnQ7YtQuYOtU44CQvj7YxY9pfq76eWj1JijMigoJb7rjD+uqwrAy4dAkY\nP970fm9vcsxxceT4jx2j1IuqKspX3LwZWLjQujYxLgU7Q4ZxJ0JCgCVLTOfgeXkZO0JRBNaupeT2\ngQPbqzJDVQiQ2iwqso063LKF8vAGDDCtfg8dovSEsDC97X/9K6nBwEBWh8wt4QAahnEnBAGIiqKO\nCG03yZFIXLsGnDtHuX3p6cb7mppoulWjMQ5m0WgoZcPUul5XkaZwPTyAHTva729oIOVnGDErCMD5\n86QYBYEc9ebN1rOJcTlYGTIM0x5RpClPpZKU1bZtQHKyXh16eABPPGG6DqiHx617FXaGlBS6nkpF\nZeZ+/nNjdXjiBDliX1+yTxSp/RNA4wMGkKM0pw41GlLFjFvDzpBhmPZIqjA+npRVczOpw3vvpf1y\nOVWJsTWSKoyJoXvKZKQOH3qI9osiMGgQ2dnYCDz7LEWVFhaSGhQEip4FKDF/7Vrg9df11y8ooOnU\nN97Q10Jl3BJ2hozTI4oi8mvycb3iOhQeCgwMGwill9LRZrkuhqpQWkOMiGivDu2BpAolpWmoDs+e\nBYqLgZ/9DKiupv0tLcDddwP9+xtfp7SUegRWVtLzSc+VkkJ5iXv2AHPm2O+5GKeDnSHj1OhEHb4+\n8zX23tjbOubj4YM/jvkjBoa7Ufdze3L9OiWxBweTcpIoKTFWh7amqAjYvZucb2GhfryqitYlT5yg\niNZTp6iUmdQI+N1321edWbmSHHpRkb4qTUEBBd4MGkRFA6ZMYXXoxrAzZJya43nHkXYtDQnBCZAJ\nFO9V01SDT3/8FB9O/xC+njYu/+UIGhq6XhrNGnh6ArNnm97Xq5f97BBF4J57TFeQKS6m6NHaWpr+\nnDKF1N6NG5R4P3y4/tiiIop8jYmhDhgbNtC0aEoKrRUqFHQPVoduDTtDxqnZd2Mfgn2CWx0hAPh7\n+6OsoQxZJVkYGTXSgdbZgPx8quLyxhuUBuEIYmOBBx90zL0NUamA3/62/XhjI1W9CQ8n51dWRl8g\nfH1Jza5bBwwdqi8qkJqqD+oJDSXnefAgqcLevfX3YnXo1nBqBePU1DXXwVPmaXKfRmvF8H1nYft2\nellL1VRcmbIy6rvY2Z6KUk5hfT1dQy4Hzpyh9UCAgn8yM+nfkiqU6rUKAk2pfvQRKWBpLdLLS68O\nGbeEnSHj1IyOHo3yhnKjMa1OCwEC+gT3cZBVNiI/nwptDx5Ma2Xl5bc+pyfz/ffk/E+ftvycxkZ9\nC6fmZiAykhRiWRkpuqgo6n1YX0/H79pFTjI3l8rFZWfT53rmDJ2Tk6PftFpg/37T6SKMy8PTpIxT\nkxyfjB9yfoC6Uo0QnxBotBpUNVbh3gH3IsIv4tYX6Els304KRcp527kTeOABx9p0KyoraR0uIaFz\n55WWAnv30jTlunWUpmFJbmJGBp0rdX+PjaWfNTV0jbZrnWPGUHNgQ0QR+M1vaLztVLSnJ6nOgICe\n0QeRsRrctYJxemqaarA/ez8y8jPg7+WPSQmTMEw1DIIrvazy8yn/LTaW1rpaWijacflyx60dWsKX\nX5LKWr68c4nrX39NkakxMbTu94c/UO3Re+8FgoLMn1dVZRzhakivXt0P8KmtBd56C3jsMVLoTI+F\nu1YwLoe/tz/u7X8v7u1vp5B+RyCpQinoQ+oy4azqsKUF+N//aD1OpwOOHqVOEZYgqcKoKPo9JAT4\nxz9o+tLLC/h//8/8uYGB1g9wEUVygv7+5KBv3qQ+iAMH6v8ejMvTI/7SWq0Ww4cPx6xZsxxtCsNY\nn9paWjdrbm6/hnXkCI07GydPUo/EigoKTtmwwfJ6pDt2kJORHH5AAOUMenqS86+osJ3dpjhzhoqX\nl5RQYYH+/UmtXrhgXzsYh9IjlOEnn3yCgQMHoqamxtGmMIz18fMDli0zHVXp4UFOwploaQFWraJ1\nuqIiSmMoKbFMHVZUUHCQTkcKDCBFWF1N1/L3B9LSOlaH1kSnozXLGzeAzz+nLx7e3qQ+WR26FU7/\nV87NzUVqaioef/xxXhtkXBd/f1ora7vZs/SZpZw8SUrWz4+6V+TnU8cLS9Shry+tD/7xj8Dvfgc8\n9RRNk95+O1WCiYwkdSilSdias2dJhcfG0rSvVAA8OJjVoZvh9M7w+eefx/LlyyHjb2cM43gkVVhR\nQet7crl+ireoiNRhR3h7A6NGAaNH06ZQkCKWOkt4etIaXlqa7Z9FUoVBQWR7UxP9BCiSVFKHpirg\nMC6HU3uY7du3Izw8HMOHD2dVyDDOwMmTpARVKnJk/v7kzGpqqN5nVZX+2F27gLy8jq+3fj2lMmRn\nU3sltZrUZUqKvvi2rZBUYVAQ2alQAMePU23W7Gx6psJCvYNkXBqnXjM8fPgwtm7ditTUVDQ2NqK6\nuhoPP/ww1qxZY3Tc4sWLW/+dnJyM5ORk+xrKMO6AVktKyteXEt0l6upIRb3xhj4oprgYWL2a1N/C\nheaved99wLRp7ccFgZSnKNJ9Paz8qjJUhYIATJxIY9nZwK9/TWXZJLy9rXtvxiakp6cjvW0T6k7Q\nY/IM9+/fjxUrVmDbtm1G45xnyDB2ormZ6nc2NbXf5+1NRbWlXMNVq6hsWksLsHhx+4a6lpKeTl0p\nFi60bhJ8Tg7wzjv0TIbX1WqBvn2BP//ZevdiHIJL5xm6VJI1w/Q0PD2B+++/9XHFxVTWLCaGokw3\nb+5YHZqjsZGmUSsqaOqyb9/OX8McvXtTaogprK1CmR6BU68ZGjJx4kRs3brV0WYwDHMrDLtERERQ\ngI1a3fnrHD5MOZiBgVSP1NozQL6+prfOVNJhXAb+CsQwjHWQAk4kVQjQFKRCYV4diiIFzLRdl2ts\nBDZupLVJHx8KdrG2OnRiXn3VuJ+xISoVsHSpfe1xB9gZMgxjHb76isqzNTQYr8OJIvDDD1REOy7O\n+JxDh+ic114zTm6XVKFUa1SpJHX44otuUUC7sND8MmtXRDZza9gZMow7U11N5dC6S04OcOwYObC5\nc6nuqFRSTnqrK5XG52g0lKhfVETJ7VJhbENVKBEW5nbqkLEvPWbNkGEYK5OXRx0aiou7f61t22g6\nNDaW+gROmQJcvkzb5MnA9OntO0ocPUqVZsLCKM1BSm4/d47yFQ37DebmUmTqgQPdt5VhTMDKkGHc\nlW3baM4tNRWYP7/r15FUYVwcTWGePUvXLiqi30+cAMaNMz5HoyH1FxZGQStqtV4dDh1KLaFM0cny\ndLz2xlgKO0OGcUfy8kiZDR5MuXwzZhhPS3YGSRVKa34+PsAnnwDDh9PY+vVUgs2w4LikCqUp1MBA\nUocDB9JxKlV3nq4VXntjLIWdIcO4I9u2UQqBpyelQXRVHebkkGPr3ZumMQFKys/JAX72M3JyarWx\nOjRUhRLBwcbqsIdjTpFaqkZVKvPO2krfE5g2sDNkGHdDUoWxsfR7ZCSlQ3RFHV67RtOcpaX0uyhS\nxRilktb8QkKoE4ShOrx4kVShXE7tmyR0OloTdAFnaE6RWqpGefrW/rAzZBh3Q1KF0rSmXE5bV9Rh\ncjJtEidOkGOUVF9BAf0sKdGrw8GDgY8+Mn09H5/O3b+HsHs3BdrW1hp/xLxu6Tx02Rnm5+fj8OHD\nSExMxNChQwEA2dnZKCgowODBg+HnjH3YmB5DfXM9LpRcQFNLE/qG9IXKj+eGrEJdHXD+PE1VZmfr\nxyVF98AD3StMrVQC8+aZ3ufvTz9lMlKM1karpcjYyEjrX7ub1NZSTXDAWDGq1d2fUmWsQ5ec4YED\nB3DPPfegoaEBAPDiiy9i+fLlUKlUOHnyJCZMmACtqa7dDGMB54vP4+8//h0NLQ2tYz/v93P8atCv\nuD5td1EqKVLTVI8+ubz7HRqSkmhzBMePA19/Dbz3nnVyJ+1Ed6dUGevQpTzDd999F6tXr0ZlZSXO\nnTuHwsJCvPrqq/D29sa4ceO4iwTTZeo0dfj0x0+h9FIiPige8UHx6B3QG6mXU3Gq8JSjzXMNFArT\nNTl7cquilhZalywuBvbubR2WAlFMbRyIwhjSJWU4fvx4zPtpKmTgwIH46quv8OWXX2LlypWYMWOG\nVXfY8CoAACAASURBVA1k3IvzJefR2NxoNC0ql8kRqAjEvhv7MCJyhAOtY5wWaa2yXz9qDDx5MhAQ\n4LBpxrbRoLW19JNXj5yXLjnDgJ+mIK5fv44+ffoAAB577DGkpKQgJSXFetYxbodGqzE57in3RK2m\n1s7W2J5mbTMAej6mi0iqMDSUAoO0WlKHv/iFw0xq64Tnz+96S0fGPnRpmnTChAl47bXX0K9fPxw9\nerR1fObMmejbty8HzzBdJiEoARAAnWi8plXeUI6RUSMdZJX1Kakrwf/9+H94evvTeHr70/jH8X+g\nrL7M0Wb1TCRVKAXoqFSkDqurHWuXAeama3mq1nnocqf7+vp6XL16FT/72c/a7TNUjLaGO927Hl9l\nfoVd13ZB4aGAVqdFfUs94oPi8cadb8Df29/R5nWbWk0t/rzvz6hpqkGkfyREUURhbSGCfYKxJHkJ\nfDxdM73AJrS0UDhmS4veGQLAzZvUJcOB6tBSzKlGtRpYtcq+trgSVu90f/36dWzZsgXz589HcHBw\n67ivr69JRwjAbo6QcU3mDZyHrJIs7Lq+C1qdFqG+oZjQewK85K7RdPV43nFUNFQgLuindkYCEB0Q\nDXWlGhkFGbgj9g7HGtiTKC4mR9jQQJuEQkFFwq2ArVMfzFWbYdVoX27pDBctWoS1a9eioKAAH3zw\nAQBykMuXL8f8+fMxduxYmxvJuBcbsjYgryYPMxJnQCbIoBN1OJF/AqG+oXhwyIOONq/bXCu/ZlL9\nKTwUUFeq2Rl2hqgo4OOPbXoLW6c+cC6hc3DLNcPo6GgcPHgQzz77bOtYnz598H//93/YtWsX9uzZ\nY1MDGfeitK4U6y+sh07UoVZTC1EUIRNkiAmIwb4b+9DY0mjxteo0ddh3Yx8+O/4Z1p1fh7zqPBta\nbjkqfxUam9s/R5O2CRHKCAdYxDDMLZ1hUFAQZDIZYmJijE+UyfDWW29hy5YtNjOOcS8uFF/AS2kv\n4XzxeZwtPos91/cgsygToijCU+4JrahFfXO9RdeqaKjAkv1LsDpzNc4Xn8fOazvx1r63kJGfYeOn\nALQ6LfJr8lFSV2JyzWJczDh4yj1R2VjZOlbeUA6FhwKjo0fb3L5u0dJCDXmbmhxtCcNYlVtOkz71\n1FO4/fbbERISgrvvvhuTJk3C+PHjoVAoAAAajelQeIbpDA3NDfj78b8jWBGMYJ9geMo84SHzwPWK\n6+jl0wshviHw9/JHgLdllUW2Xd6G0vpSxAfFt47VN9fjy1NfYnD4YHh72CbBPLMwE6tOr0JVUxVE\nUURiaCIeH/E4wpX6AtihvqF4afxL+OLkF7hZeRMQgHBlOJ4c+SSCFEE2sctqnDxJVV5CQoBJkxxt\njU2R1goPHQJOn9aP+/kBd9/tOLsY23BLZ/j4449j3LhxqKurw8qVK/GXv/wFXl5eGDp0KLy9vTlY\nhrEKWaVZaGhuQLgyHIPCBiGjIAO+nr5QyBXIKs1C35C+eGLkE/CQWZYaezjncLt6pr6eviitL4W6\nUo0BvQZY/RmyK7Px8dGPEeITgtjAWIiiiJuVN7Hi8Aq8O/ldowCgxNBELL17KQpqCiAIAlR+KsiE\nLmU62Y+WFuC77yiyY+NGYPz4nl215hZIa4WnT1NdUU9dE2LrLyKjdqijTbMaXBdVzy3fLPHx8fjw\nww9bf7906RL27t2LtLQ0XL16FZ999plNDWTcA8Nk+9jAWHjIPHCx9CIqNBUI8gjCs2OfxchIy/MM\n5TK52bBqWzmdvTf2wlPu2Zr+IQgCVP4qqCvVuFByAcNUw9rZER0QbRNbbMLJk5TPFx9P0SOHD/d8\ndVhURL0UvcxHKvv5UcepsTUHcW/5GpwP/ABqtapb0Z5dcULmzrnVeR3BdVH13NIZti24PWDAAAwY\nMAC/+93vcPHiRbz99ttY6m5fIRir0yeYZhi0Oi3kMjmiA6IRHRCNGxU3MHfgXIyKGtXh+S26FsgF\neWsh74lxE5F6JdVomrS6qRr+Xv5GY9YktzoXfl7tC06Ioojy+nITZ/QgJFUodZsID7ebOrSFEwBA\n657LlgHTpgE//7nZw+6+G/BoacS0XZvhrdThCf8UPLbqsS7elOiKEzJ3zq3OM6TtZylNAfPUrwXO\n8Le//S3+8Ic/YNmyZVAqla3j586dw/nz56EzVf2eYTpJuDIcMxJnYOulrQhUBMJL7oXyhnKo/FVI\njk82e965onNYn7Ue6ko1ghRBmJk4E1P6TMHMxJnIKsnC9Yrr8JJ7oUXXAi8PL7xw+ws2K33WL6Qf\n9tzY025dUybIoPLv4UljJ09CV1KMkjAlKkrz4ePhg8gqDbw6UocFBUBaGvDb3wLd6DZiDSfQSlER\nEBhIeYhHjpCNW7YAd91FxcrN0Dv7EDw1tagMSkD//ENA4UynTQTsSHW2/SylKeDKyvbHuxu3dIYj\nR45EcHAwXnnlFbz88suI/+mTXLNmDVasWIH5nW0GyjBmmDdwHvqF9MM+9T7UaGowOX4yJsZPNFt1\n5lzROSw/vBxBiiDEBcahoaUBazLXoKqxCvMGzcPrd76Oc8XncKX8CkJ9QjEicgSCfYJNXssaTE6Y\njHR1OkrqStDLtxe0IkWVJgQnYECo9dco7YZWi+b//ReXc06hNK8BAmQARBQ1i0j8r4DgCRNMTzNu\n2ULOcMwY4Lbb7GdvSgowbBgQ3WYKurkZ+PBD4PbbgZkzSdn27k2Nhw8cMKsOPVoakXRpM+qUERBl\ncrTIPOgej3VPHdoKnvrsGhZFI0h5hYYsWbIEY8eORbJhl2uG6QaCIGB45HAMjxxu0fEbLm5AkCKo\n1cH5evoiLigO31/7HtP7TYe/t3+nrtddIvwi8Nqdr2Ht2bW4UnYFcpkcd8TegV8O/CXkMrldbLAV\nRwcH4bhvOML9IiBpvLrmemTI6/CErgUeaOMM8/KAo0eBiAhKxXj99W6pQ4vJz6do12vXAIPcaABU\nwzQvD/j+e3Le1dU07RsRYVIdSpVhBuYfQlN5Lcr8egEA/HupaH5xpvOqQ6bzdLnTvY+PD+bOnWtN\nWxjGYnSiDjcqbiAuMM5o3EPmAYhAUV2RQ+qYxgfF4/U7X0dDcwPkMrlrlJCTy/FdZDmUcaNR7aEw\n2nWz6iam1uejn6Kf8TnbtpHDCQujsmiXLtlHHW7fTgtgGRlAdjYQ99N/H83NwLp15LxKS4HPPgMG\nD6Z9CgVNn7ZRh0uXAmhsBF7YCPRRAD5V+vsUNTm1OrQUKTiottZYObqjj++yM2QYRyJAQIhPCOqb\n66H00q9li6IIrai1OB/RVtiz2HZTSxMulV1CY0sjEoISEKYMs/o9mnXNkAum1W2LrsV4QFKFsbGk\nBv39u6YOd+6kQB1YqOzz8ynCNTaWapZu2aJXhydOAOXlNH9YWEgOeuBACgwCgF69gM2b268d1tYC\niYlA23xqlQqQd13tO0s9UilohouCszNkeiiCIODexHux8vRKxAXFwUPmAVEUkVOVg+Gq4UZJ7rei\nTlOHi6UX0aJrQb+Qfgj1DbWh5dblavlVfHz0Y9Rp6lrHZibOxNyBc1sja63BuJhxOJB9AL0De7eO\nNTQ3wEvu1T46V1KFsp9SWEJDO68Oq6ooejUoCDLdEFj0qtq+XX/f8HC9OoyKIlUYGqq/tlwOnDkD\nJCToz/fyAnJzgf799WO9egHPP2+ZzZ2gKxGw5hyotK8713BHJdgWdoZMjyU5IRmVjZVIuUINpXWi\nDsNUw/DYCMunrjILM/HZ8c+g0Wogguqgzkmag5mJM63qTKyFVqdFVmkWcqtzofRU4uszX7eulUr7\nt17eij7BfTAiaoTV7jtrwCycKT4DdaUa/l7+aGxpRIuuBU+NegoKw6nTwkKabvT0JEckUVcHbN1q\nuTPcswcQRaCsDKPE4/hRPc7kYa0vcUNVCJBD9PEhdTh6NCnFuDiaLh06lFRhWRnwwQcUXdoDsNSB\nduTwOAvOPF3uZ+gscD9DplZTi6LaIgR4B3RqirCysRIv73oZQYqg1qnWFl0LblbdxGt3vIaksCRb\nmdwl6jR1+OuRv+JqxVUIEFBaX4prFdcwve90BCr0L/Sy+jLEBsbi5QkvW/X+NU01OJJzBBdKL6CX\nby/cFXcXYgNjjQ+qrwfOnSNHVltLuXySIvPzAwYNuvWNqqqAF18kdSfVQF22DPDo4Lv7F1+QMjRo\nMwdRpLZO48cDV660P8fDA3jiCf3aYSfh6i3OjdX7GTKMs+Pn5Qe/kPbJ7rfibNFZNOuajdYcPWQe\n8PX0xcGbB53OGW69tBXXKq4hLjAOgiBAEARcKb+CE/knMDlhcquS9fbwRrXG+l3e/b39Ma3fNEzr\nNw1YvRrwqgfaiipfX0qlAIB//IPWD99+Wz9lagl79gA6HU1benmRzDl+HBhnWh0CoHv27Wt637Bh\n+mIBVsTRKQw2K0bgprAzZNyW+uZ6CGg/Feol90J1k/WdSXcQRRHp6nRE+Ue1Or0gRRAUHgrUaGpQ\n3VTdqg7L6sswa8As2xmTnQ3s2AFcvw4sWmTa0eXmAseOkVM7e5amJi2hqgpITTVexAoNBdavp+lO\nc+rQ0uu7EFYtRsA4vzPMycnBww8/jOLiYgiCgCeffNKotyLDdJW+IX2hgw6iKBqtD1Y3VWNEpPXW\n26yBCBEancYoXzHAOwDxQfE4V3wOlY2V8JR7oqSuBCE+IZicMNl2xmzZgqNZAWj5UY3vT19AXrB+\nmrFVkUhBND4+FAgzZMit1aEoAn/9K1WFaVvZqqoKOHWKHCLD2ACnd4aenp7461//imHDhqG2thYj\nR47E1KlTkZTkXFNYTM+jb3Bf3B59Ow7nHEaobyg8ZB4orS9FTEAMbo+53dHmGSETZBgZORJni84i\n0j+ydbxfSD/IBBniguLQ0NyAGYkzcHefu23XCio7G8jIQKEYh8helZhauQ77hw2E+FPxc7UaelUo\npVao1ZapQ7WaUiDGjgWmT2+/Py6u/RjDWAmnd4YqlQqqn6ZM/Pz8kJSUhPz8fHaGTLcRBAFPjHwC\nQyKGYJ96H5pamjBv4DwkxyfD19N8nUpHMW/gPFwqu4SblTcRoAhAvaYezbpmvH7n67csZG41/j97\n5x0eV3nm7ftMb9KojHqXLMtyb9gGY8cGG4zpCRBISJYAoS0kLBs2ZfPlg3wJJMACSSDZZTeE3YQQ\nOgaMKQbM4t5t3C2s3ttIml7O+f6YaKzRjGRJVhnb731dXNhHc855z4DmN8/zPs/vWbMmFO1JKtyG\nZJLsVaS1HqIlvU8RSv/WiqSkU0eHihLq8+sthSwtHZN9PoFgIOJeDPtSVVXFnj17WLhw4UQvRXCW\noFFpuDD/Qi7Mv3Cil3JKMi2ZPLzsYT6v/pwjbUfItIRMzHvbKsacv0eF4QhNkvAarEw9+CqtaaHo\nMNlZB5s2QVZWqJITQg4vlZWDR4dVVSHX6MLCUGT5wQdw003j8VQjZig9e6Li9MzhjBFDh8PBdddd\nx29+8xssluFXDgrGBlmR438obT/8QT+V9kpkRaYwqTCyTy7OSTGmcPWUq7maq8f/5h9+GGqdqKsj\nxQGWv2+zmpwtpLYfo802hUR3ExTnhCK9vmXtubkhkYslhr1RodEYSqtmZYUMvi+9dEyiw9GqwhzK\n62IVuaxfH7I27b8GIZATyxkhhn6/n6997WvcfPPNXHPNNVE/f+ihh8J/XrZsmTAPHwd2N+7mzcNv\nUttdS7o5navKrmJx3uK4bFTvy9G2ozy741kcPgcQqhy9bc5tnJcjCjNOyaWXhtsmPmoLGbv00p2Y\nC0C1bT78epgp275RIYQqRiVpzKLDia7CdDhCLZf91zDce4+GI83ZxIYNG9iwYcOIz497MVQUhdtu\nu42pU6dy//33x3xNXzEUjD3b6rbxzPZnsJlsFFgLcPgc/MfO/8Dpc3LppBiFD3FCl6eLp7Y+hUlr\nCjeLu/1u/rDzD2QlZJH79w90wQDk54cdXvxTYVvfyKYh9K8RfQivWQM9PaGexF6CwVCLxRhFh2cD\npxtFnm0p3P6B0MMPPzys8+NeDDdt2sRf/vIXZs6cyZw5IcPeRx99lFWDTKYWjB2yIvPqoVdJN6eH\np0Ik6BPQqXW8eeRNlhUuQ68Z28nnI2VX4y68AS+ZlpOf2EatEbWkZmP1Rm6cceO4rMPhc3Co9RC+\noI9JKZMi1nOmMKoflrNnxw7V1OrTMsMWDM5EmwbEG3EvhhdeeCFy/54jwYTh9DnpcHdE2XDpNXr8\nQT/t7nayE7IHOHtisXvsMecK6jV62txt47KG/U37eXbHs2EvVIDVpau5fur1cZ9iHjPEtoYgDoh7\nMRTEFwaNAb1ajy/oi5jVF5SDKCgk6MZ/huBQKU4uxi/7o5rsHT4HU9Omjvn9e7w9PLvjWRL1iWEL\nuKAc5N2j71KWWsaszHPPReVsJ9a+nsNxbu7pxTtCDAXDQqvWcsmkS3jz8JsUWAtQq9TIikxtdy1L\n8pdMyEDdoTI9fTqlyaUc7zhOVkIWKklFk6OJdHM6C3PGvl3nQMsBvEFvhBeqWqUmQZ/AhqoNQgzH\nifEsPImVTu7dq+u/BiGQE4sQQ8GwuXLylfR4e9hQtQEJCRmZRbmL+ObMb57y3E53J8fajyFJElNs\nU045hDcoB9nfvJ8tdVuA0Fy9mRkzY6Y7T4VGpeGBCx5g3fF1fFb9GQE5wEVFF3F56eURAjUcTnSe\nYM3RNRxrP0aaKY3VpatZmLMwZsrTE/DEvIZWrcXpd8b8mWD0mejikIm+vyA2QgwFw0aj0vDtWd/m\nqrKraHO1kWRIwmaynfK8j098zItfvIisyOHrfGfOd1ictzjm62VF5r92/xcbazeG069b6rZwYd6F\nfHfed0fU32jSmvja1K/xtalfG/a5/anoqOCRzx/BoDGQYkgJpUG3P0v79HYun3x51OsnpUwConsz\n7R47qyetPu31CATDQQz6jUSIoWDEJBmShuyBWW2v5s/7/0x2QnZ4r9ET8PDH3X+kJLkkoqIyKAfZ\nUb+DVw+9yieVnzAjfQYpxhQ0Kg1ppjQ21W7iwvwLmZY+hNl4Y8irh17FpDWFvwhY1VZMWhNvHXmL\nZYXLoqLN3MRclhcuZ33lepINyWhUGjrcHeQm5rI4P/YXAsHIOdtaB0Yb8R5EIsRQMC5srd+KRqWJ\nKLoxaAygwM76nVxRdgXQJxqs2Uizs5mAHGBf8z7qeuq4IO8CNCoNBo2BPU17JlQMZUXmaNtRCqyR\nVmhatRZf0Meao2sIyAEyzZksyF1AkiEJSZL41qxvUW4r57Pqz3AFXKwsXsmSgiWYdWa6vd009DRg\n1prJTcw9d6tLRwnROiAYDkIMBeNCj6cHrUobdVytUofdYCCUetxcu5ni5GI8AQ+NPY2oJBV13XXU\ndtVSlFyErMho1dHXGk8kJBL1iXgCHoxaY/i4w+tgV+Mu3AE3KcYUvEEvbx59k3+54F8oSi5CJalY\nkLuABbkLwufIiswbh99g7bG14b+XpJRwz3n3kGIUDecCwXggxFAwLszMmMnnNZ9HtDUoioIv6GNq\n+sm2hqNtR1Gr1Cgo2D126rrrUFDwBDw09DQwO2M2mQmZnJc9sfZpkiSxatIqXvripbDIKYrC5trN\nGDVGym3l4efscHfwn7v/k19e9MuY0d7m2s2h6tykAjQqDYqiUNNVw7Pbn+WnS386ZhGimJR+5iFS\nv2OHEEPBuDA7azZltjKOtB3BZrKhKArt7nZmZ85mWtrJdKdBY0BRFGq7aml2NmPUGOnwdIQn0h9s\nO4hBa4gZZY43l5RcQquzlQ3VoaragBzAHXCzonhFhIAlG5Kp6a6hydEUMYuwl3XH15FmTkOjCv06\nSpJEliWLE50nqOmqGbOpFBPt0SkYPiL1O3YIMRSMCzq1jgfOf4DPqz9nU+0mJEkKmXvnL45ok5id\nOZuXDrzE0bajaFVaZGRSjak4/U7SzeloVVpSDCmsq1jHHfPumMAnClXD/sPsf2B16WqaHE3oNXoe\n+fyRiLQphMQNZYCLAG3uNtJMaVHnqCQVPb6esVi6QCDohxBDwbhh0BhYWbKSlSUrB3xNmjmN2+fe\nznff+S4evyfsdJObmEuqMZVubzdmnZlDrYcGvVdtVy1rj6/laPtR0k3prJq0itmZs8ck5ZhmTiPN\nHBKzuVlzOdB8gOzEk5Z0ne5OMiwZZFgyYp5fbivnaNvRiJ/3OvrEq7XdmYBoHRAMByGGgrjjgrwL\nuG/Bfbx88GWkLol0czo6tQ5ZkVFQ0Kl1g/Y1VnZW8sjnj6CSVCQbk2l0NPLU1qf45oxvjvlUjRun\n38iv7L+iyl6FUWPEG/SiU+v43sLvDdgXeXXZ1fyi+Re0OFuwmWy4/W6aHE2sLl0tCmhOg5HsoYl9\n1HMXIYaCuORr5V/jQMsBOlwduHwuAuoAnqCH0pRSXH4Xq0oGnlry+uHX0aq1pJvTgVBEatFZeP3w\n6ywpWIJJaxqzdaeb0/n58p+zo34HlfZKsixZLMxdOKioFSUX8a9L/5U3Dr/B4dbDJBuTuWX2LSwr\nXDZm6zwXGEmxidhHPXcRYiiIS9LMaTy07CFeP/Q6/7P/f/D4PRRaC0kyJPHV8q8yL3tezPNkReZg\ny0HyrHkRx3VqHUE5SENPQ9gJZqyw6CwsL1rOcpYP+Zzi5GJ+cMEPxnBV0YzEo7O/yXk8Ew/FJqNd\n/SlSv2OHEENB3GIz2bhz/p3cMe8Oartrcfld5CbmYtFZBjxHQsKis+AL+kJN/X9HURRkRcaoOVnc\n4va7OdF5AkmSKEkuGbU5jA09Dfxv1f/S4GigNKWUC/MvJNmYPKxruPwuDrcexhv0UpxcPCYzD4f6\nYewJeFh3fB0fV36MO+BmftZ8ri25nMxjDbBwYWgqvSAmoy3IIk07dggxFMQ9kiRFzU8c7LWXlFzC\nK4deoTipOBzFNDmaKEkpCRekbK3byp/2/Am/7AclNOT37vl3Mz1j+mmt9UDzAZ7a9hQSEiatiQMt\nB/jwyw/58ZIfD7kY5lDLIX63/Xe4A+7wsVWTVvH1aV8f96hMURSe3f4s+5r3kZ2QTbIhmT1Ne3B/\n+hH/uEuF/tHHoLh4XNc0GgwUse3aNXCadDwR/YTjjxBDQVxQ113HJ5WfUNddR0lKCcsKlg1YfXkq\nVk1aRUNPA1vrtiIhoaCQa83lrvl3IUkSdd11PLfrOdJMaeE2CIfPwW+2/4Zfr/j1iItWAnKAP+75\nI0n6pPAoqxRjCo09jbx68FW+v+j7p7yG0+fkd9t/h0lrCj9/UA7y6sFXaXG0kJ2QzbT0aZTZykZk\nVD5cKjoq2N+yn6KkorAQ5xkymPH5JpokGwVvvQX/9E/jFh2OpMBl/frQDMFeev9ssYT+WbHi5M82\nbhy9tZ4O8ZDiPdcQYiiYcA40H+DJrU+iltRYdBZOdJzgkxOf8OMlP6YwqXDY19Oqtdw5/06uLLuS\nxp5GEvWJlKSUhMVjU+0mVJIqoh/QorPQ7mpnV8OuQVs/BqOxp5Eub1dUFJthyWBv096ogcixONR6\nCHfAHfFFoLarlkOth6jprmFWxizeOfYOC3MXcse8O8KN+mNFQ08DElJERJp9uA6rB6qyJQr27YPK\nynGLDkdS4OJwQFIMP/mkJLDbI48ZjeM361AQXwgxFEwoQTnIn/b+iSRDUni2odVgpdXZyov7X+Qn\nS34y4tRgdkJ2zNRkh6sDvTp6f1Cj0tDp6RzRvSDks6ooSlSRiazIqFXqIUVy3qA3okHf7Xezr3kf\nCboETFoTuYm5KIrClrotzMmcw/l550ecrygKuxt38/axt2nobqAgqYBrp1w7YlPzBH1C2P0HQO0P\nMvWzw9gTNCTrzaA2wThHh0Olt9ikb1QIoWiw/7Fe5s2DF14Y65WdJN7TtecSQgwFE0qrq5VOT2dU\nNGUz2ajoqMDld0WNQur2drOzYScNPQ3kJeYxP3v+sIbzTk2byrb6baRx0vVFURR8so/JqZNPeb7T\n56S+px6jxhgxXSLLkkVuYi5trrZwEz6EIsbF+YuHFMUVJRWBdHLmYaurFRkZn+xjkiVUBStJEsmG\nZDbWbIwSw8+qPuP5Pc+TYkoh05JJi7OFX2/6Nfcvup+5WXOH9P70ZVraNKwGK22uNmwmG9mH69A6\nnDiTVMxLKgZjCoxzdDhUelOmt9wSLSxvvTV69xlsf+9U1Z8DRbrxkq49lxBiKJhQtCotCrGjqaAc\nZHPtZjo9nRRYC5iVOYtWZyuPbXoMh8+BXqPHG/Cy5ugafrj4h1gNVo63HyeoBClJLgnv2/VnQc4C\nPvjyA6rt1WRYMlAUhSZHE5NTJ0f4pPZHURTer3ifNw6/gazIyIpMpiWTb8z4BuVp5WhUGu6cfyeP\nb3qcKnsVaklNUA6Sl5THdVOvG9L7kZOYw8VFF/PhiQ9JNiTj9Dlx+pxkWDIiPEp7vVD74gv6ePXQ\nq2QlZIVTwL1zIP924G/Mzpw97H1GvUbPDy74Ac9sf4a61hMs/nAnHjnIAuN0Uj0SeDrB74/b6HA8\nGGx/bzyjTMHpIcRQMGIURaG2u5YuTxdZCVlDmnbfnxRjCmWpZVR2VkaYWB9rP0aLs4UXv3gRnVqH\nL+gjwxzaR5MVOUIYGnsa+bfN/4bD78AT8ACgklTcPONmlhUti7qnUWvkRxf+iPcr3mdTzSbUKjVf\nLf8qK0tWDjoaak/jHl764iVyrbnIiszuht1srtvMe8ffY0nBEm6eeTOLchfx6IpH2de0jzZXG3nW\nPKalTRvWyKlvzvwmZallfFL5CWpJTZurjTmZc8KtH4qi0Onp5KvlX404r93VjifgiYhKARL1idR0\n1eD0OQf8gjAYuYm5PHLxI9TWHkRf/QYpkgld3+cpLgarddjXnUgsltB+ocMRGbkdORKKJGMxHpWc\nvcU+zc2R0Wv/Qh/B6CPEUDAiujxdPLvjWY61H0MtqZEVma8UfoWbZ948rKIOSZK4dc6tPLH52y7V\nxwAAIABJREFUCarsVUDow77R0ciU1CkRHp8VHRWc6DgRVeCSqE9kzdE1rJq0inRryHXGG/Dywr4X\nyE/Kpzg5On2XqE/khmk3cMO0G4a81nVfriPJmIRWpeWz6s/o9naTac6ky9uFJ+DhDzv+QJIhiSm2\nKVHpy+HQf+bh2mNreeXgK3R5u9CqtTh8DqalTWNR7qKI88w6MwoKQTkYYX7uD/rRqrSn1UepklQU\n5M+AH8wY8TVGg5EYBcSiV1j6R299U6qxqlCbmsZWFHuLfYx/r+1qaIBAIBR8NzWFjt9yi2ixGAuE\nGApGxHO7nuNExwkKrAVIkoSsyHxc+TFppjQun3z5sK6Vbk7nFxf9goMtB2l3t6NRaXhh7wtR447S\nTelsr9tOUA6iUZ/8X7fZ0UxQCUbsG+o1enQqHRtrNsYUw5HQ5mrDpDXR4e7A7rGTZDhZoqiSVFh0\nFtYdX8cU25QBr6EoCjvqd/DBiQ+wu+1MT5/OZaWXDdpUv7p0NWW2MrbUbsEVcDE3cy6zM2dHRZuJ\n+kQW5S5iS+0W8q354f8udd11rJ68+pSVrGcCo+na0vuzgYhVhVpYOD7tDdnZcM01oeiwt+r1mmtO\n/ly0WIw+QgwFw6bF2cKh1kPhD1wIiUFOQg7vV7zP6tLVw64A1al1zMmaA4TK+VWSKuoaZp0Zk85E\nu7s9ovWg2dlMiiEl6sNer9HT6Y6uDq3rruOL5i8AmJ4+PaIIppegHAwX8ORZ87CZbJTbytnZsDO0\nv8nJAcUACboENCoN9T31gz7nm0fe5M3Db5JiTMGoNbKpdhPbG7bzs6U/iznrEELR86SUSWEbOYfP\nQaW9EpPWRE5CTsTab555My6/i71Ne8MR++L8xVw75dpB13U2E88RVH+h7tsDKRhfhBgKho3D54gp\nVnq1niZfE0EliEYa+f9amZZMUk2pUdFXi7OFq8quotXVSo29BhkZh89BsjGZRH1iVBFOj7eHmRkz\nw39XFIW3j77Nm0feDIvZywdf5pop13B12dXhcxt6Gnh669O0OlvD0dWqSatYNWkVOxt24g64kRUZ\nX8CHw++gwFpAgj6BJkdTxP36c6LjBP+z73/IScghyZCEJEnkJubS0N3Au8fe5bvzvjvo+6IoCmuP\nr+WtI2+F7eVKUkq4e/7dpJpSATBpTdy/6H4aexrp9HSSZkqL2kOMJ851p5X+zxir8lUwPggxFAyb\nTEsmKkkV1UTe4e5gUsqk024EV0kqvjv3uzyx+Ql6vD0YtUacfieJukTuOe8evEEvv/jsFxxtPYpF\nbyHdlI5Za6bSXkm6OT3UkuBsJTsxm4W5C8PXrbJX8eaRN8lNzA2vMSAHeOvIW8xIn0FJSglBOcjT\nW5/G6XOGi3SCcpC1x9aSb83nX5f8K68fep2j7Ufp9HQyM2MmpSmldLo78QV9rC5dHfU8siLzysFX\n+NuBv3Gw9SDV9moS9YksyFmAWWfGZraxr3nfKd+X7fXbefnAy+Rb89GqtaECpq5afrf9d/zfr/zf\niC8CWQlZA0aa8cTZ4LQizLPPDoQYCoaNSWvi2vJreemLl7CZbJh1Zjrdnbj8Lu6deu+o3GNy6mR+\nedEv2VS7iYaeBoqTizk/93wS9Yk8tukxFBRWFK9AkiT8QT8nOk8wP3s+ra5W/LKfK8uuZEXxiohx\nTTsbdqKRNBFirVFp0Kq07KjfQUlKCRUdFbQ6WyOqVdUqNTaTjQ8qPuDh5Q/zwAUPcNf8u3jjyBt8\nVvUZ9Y568hPzuXv+3WHHHEVRqOmqYV/zPr5o/oIdDTvIMmdRZa/CarDS4+the/12lhUuwxvwYtWf\nuhrzvYr3SDWlhvcKJUki05JJtb2aSnvlqO2Nnsv0FbZYzfqxGM0Idihp0/XrQ18iYlW9nisR9Vgg\nxFAwIi6bdBmpxlTWHl9Li7OFSSmTuGbKNaM6HinNnMY1U66JOFbfXc+RtiMR+5VatZashCza3e38\nasXAnwR+2Y9KFd1np5JUIcNuQtMiYu13GjQGurxd4b+bdCZunnkzN0y7AX/Qj0lrCp+nKApvHnmT\nt4++jQoVOxt3hio8JTVmrRmnz4lFa6HL2xUqxvHauW3Obad8P9pd7WGXnl4kSUJCosfbc8rzBaem\nr5DESuFWVY1txDeUtKnDERLHMz2ijjeEGApGhCRJLMxdGJGGHA+6vF2xi2u0ZpocAzg4/53ZmbN5\nv+L9iL1FRVFwB9zh4p08a17M9oQ2V1vMdgmdWhdVuFNpr+Tto2+H07H7W/Zj0Buo6KxgXuY8jrQf\nocvbhdPnpKarhuumXseS/CWnfPYyWxkHWw5GVJ7KioyCMuSJGIKhEw8RVqwUrMMhUrBjgRBDwRlF\npiUzplh1ejoHjErdfjc7GnZwqPUQRo2RQ62HwkUlPb4eLsi9gHJbORCygbu05FLWHluLzWTDoDHQ\n5mpDo9bE3A+Mxa6GXRHp2DRzGq3OVtSSmi5vFyuKV9DiaKHB0cBjKx+jzFY2pOteNfkq9jXto8XZ\ngs1kwxPw0NjTyMXFF8d1kcxocS4W2wwUqTocJ5vyB2rIPxffr9NBiKHgjCLFmMLywuV8+OWHZCdk\nY9AY6PR04vA5uLY8un2g093JTz7+CY2ORtJMaQTkAH7Zj1VvJc+ax6LcRczKmBUhrDdMu4G8xDw+\n/PJDurxdnJ93PqtLV5NpycTld+H2u0kyJEWc05egHIyIXKekTqHF0YIn4MEv+3H4HDj9Tr4181tD\nFkKAgqSCUAHP4dc52HIQq8HKzTNv5uLii4fxDsYXwyk+ibdim5GMkzodep9/797I/sf+kzf6v74/\nIpUaGyGGgjOOm2bcRKoplbXH1nK47TAmrYlLiy8l3Zwe8bomRxN3vXMXB1sPYtFZqOmqodxWzqTk\nSXR7u7l97u0xG9FVkorF+YtZnL84fMzld/H8nufZXLsZWZFJMiRx4/QbWZCzIOr82Vmzea/ivbDZ\nttVgZUn+ErbUbcGkNWHUGLlj3h0R1x8qRclF/OCCH0S1kZypxFWEEgyCSjVkf9WRjJMajFOJq2Bs\nEWIoOOPQqDQsL1zO3sa9dPu60av1/G/t/7K1fivfX/h9pqZPJSAHeHLLk1R0VpBpyUStCplmH2g5\nQII+AV/QR2Vn5ZAiM0VReG7Xc+xt2kteYh5qlRqHz8Ez25/hh4t/GDUeaXLqZJYVLmND1YZQYQ0S\nTp+T2+fezm1zbxuVobxngxDGHf/935CeDldcMSG3H6q49vqq9tLXX7Wvt+rGjaEosu95wt90YIQY\nCs5IPvzyQ462H6U4qTgsDD3eHn6/8/c8eemT4RYJk8aE8vcBgWqVGr1Gz5cdX5JnzRuyoDT0NLCv\naV/Yeg5Cw4C9AS9vH3s7SgxVkopbZt/Cednnsa1+G4qisDB3IdPTp4/LdHrB4MSKwKyuRq7b/b/o\nLHoWLlsW1xYw/QWtr79q3+rToaZTBSHiXgzff/997r//foLBILfffjs//OEPJ3pJgjhgQ9UGMi2Z\nEYKWoE+gs6uTLzu+xOFzgAT5SflUdFSEnWy0Ki2dnk7K08pDswOHQJurLWYFa6I+kbquupjnqCQV\nMzJmMCNjYo2tR5MOdwc763eGi5VmZMyIS7/TUxWOxIrA5u5eiylRi7PbB59+CldeOe7rG8lA3/49\nh32jwYaGaG9VwcDEtRgGg0Huvfde1q9fT05ODueddx5XXXUV5eXlE700wQQTVIIoikJADkQ53siK\nTHZCNoqiUJpSSquzFbvbjlqlpsfXQ1ZCFnfNu2vIY5VsJluohaHfPl2rqzVU3XqW7N8NxqGWQzy9\n7WkCwQAatYZ1FesoSgrtXw5nsPJ4MNzCEUtPI3k1m+hOzKXHH4B334Xly8csOly7FtQxaq9qa4d/\nrf49h32jwYaG2OlUsf8Ym7gWw+3btzNp0iQK//5f+sYbb2TNmjVCDM9x7B47Lr+L9yvex6Q1kWZK\nC0cpWpWW4uRiDBoDF+RdwOfVnzM/ez6d7k6qu0LDfJ9Y+QRT06cO+X7ZCdnMypzF3qa95Cbm4gl4\n2Fa3jcaeRmZkzuDhzx7m0pJL2dW4iy21W7B77GQnZHNJySUsL1o+ojmP8YQ/6Offd/07CbqEiHmI\nlfZK3jv+HtdPu35c1tG/8nTXLnC7T4416mXjRqioGPr+2OTja5FVGhSVmoBaDb6xjQ7dbsjNjT4e\nDA5+3nB7DnsnX/Qihg0PTlyLYX19PXl5eeG/5+bmsm3btglckWCi8Qf9PLH5CbwBLzaTDafPSaOj\nkfqeemZlzuJ7C74XnvL+ndnfId+azwcVH6BWqbm2/FqunXItOYk54esF5ACegAeT1jTgfp4kSdw5\n707+duBvrD2+lo01G/EH/eQm5mLVWanqrOK2t29jcupkquxVBJUgX3Z+yeHWw3xS+Qk/XvJj8q35\nY/q+tLna2F6/nRZnC5NTJzM3ay4GjWFUrl1pr8Thc0Q9Q5Yli8+qPxs3MRyqqfXevdFWagPRGxXu\nbc/F2xDSwXeDmZg3vcvf/rac5DzLgBWvozVbsRe1evDrxVqHMPYePeJaDM/21JNg+BxoOUBddx0l\nKSXkWfOo766n1dWKy+fiosKLIlxitGpteNpEL0E5yCeVn/De8ff4ouULXD4XWZYsCpIKuH7a9RGt\nEgE5QEVHBb6gj8KkQpYXLeeVg69g0VrISskiIAfY3bQbnVpHQA5wtO0oVoMVg8aAoih0ebtw+V38\nZf9f+MmSn4zZe3Ko5RBPbXuKYDCITqNjQ+UGshOz+eHiH2I1nP4EelmRYx7vnegRz/Qd0OtwhMSj\nb+SYV7cZTdCL1dWITgc+CbK1oMHNIu0uPmv6yoDXHk5bSN99wubmSLHW6aC4GGy2yMit7zl99wUH\n62HsW2nat8q09zzBwMS1GObk5FDbJ5FeW1tLboz8wkMPPRT+87Jly1i2bNk4rE4wEdR116GWQhsu\nOrWOouQiipKL6HR30uM7tT/ni/tf5KMTH9HmaqOhuwG1So2r00WSMYlntj/DA4seYHbWbKrsVfxm\n62+we+wh/09JQiNpCMpBEg2JqFVq1Co1WrWWI21HsBltdPu6w3MWez1DtWotx9uP4/Q5h723drTt\nKG8dfYvKzkqyLFlcOflK5mTNifiSGJAD/Meu/yBRlxiRwqy2V7Pm6Bq+Pevbw7pnLIqSijBoDLj8\nrgjj86aeprhv+O8/oLewMCSETU0hoWjQrGJL+fls7wGzGUwmWLo09Fq3MQVi10cNm777mFotGPoE\n7R7Pqc/py2A9jH1Tw+daWnTDhg1s2LBhxOfHtRjOnz+f48ePU1VVRXZ2Ni+//DIvvfRS1Ov6iqHg\n7CbNlEZQid5ccfqdEenPWLQ4W/i06lMyLZl80fIFycZkVJKKbm83jY5GSpJLeOPIG0xJm8KTW55E\nQgpPr/AH/bxy6BXKU8sjoiGVpAoJqt+FTq2LKqbRqrTIijygW81AfNH8Bf+25d+w6CzYTDY6PZ08\ntfUpbp1zK8uLlodfV22vpsfXE5XCzE7IZmPNRr4181unnWHRa/TcNuc2nt3xLCpU6DV6nH4nmZZM\nLp98+WldeyywWE6KXd8IrLceZsWKvkJhBswR6cbRtDzvje76Vnm6XOD1QsLfv7v4fKFozmgc/vVH\nO1V7JtM/EHr44YeHdX5ci6FGo+GZZ57h0ksvJRgMctttt4nimXOcWZmzSDYk0+JsIc2UhiRJdHu7\nAViav3TQc+u665AkCU/Ag4QU3iM0aU20OluZmzmX6q5qDrQcoNvbHR7HBKGUq0Vnwe6xY9QY6fH2\nYNFZUBQFvUqPJElkWbJw+p1YdBYcPgcmrQlvwMt5OecNa/9OURReOvASyYbkcJozyZCEhMRvt/0W\nh89Bma1sVCeEnIp52fP4xUW/YHPNZtrd7ZTZyliQsyAiUowX+ordaOypnY7HZywLtfT0yMIXhwNm\nzx6eeI23Fdy5QFyLIcBll13GZZddNtHLEMQJRq2RBxc/yH/t/i+q7FVAyK/0gUUPnHKYrUVnQUHB\nqDWioISjuIAcwKgx4vA5yDBn4Pa7Y55fmlzKkfYjXFx0MQdbD9LsaMYT8FCUXMS3Zn2L9SfWs795\nP3aPHbPOTElyCZkJmdw4/cZhPaM74Kahp4EC68mZiq3OVrbVb6PL08Wf9/0Zo9bI3Ky53D73diw6\nCz3enog0aWNPI8sKl43qvnt2QjbXTbtu1K53uoxXVDTaHp/FxaFIsLfScyTpzNG2ghOcAWIoEEAo\nWqroqKCiowKT1sR9C+7DL/sJyAEyLZlDcnYpSS4h05yJ3WMnJyGH+p56LDoLLr+LspQyWpwt3DX/\nLnITc8P37CsmZp2ZFcUr6HR3kpeYR7o5nbzEPP75/H/GZrZx/dTr+bLzS6o6q1Cr1OQm5jI9ffqQ\n+xl70al1GDQG/LI/XJyzvX47GkmDRWehOKUYvVrPzsadTK2dyp3z7uTprU/T6elEr9bjDrjJSsji\nqilXDe9NhlD+7tNP4ZJLQj6dccxYDtXte3ygCExwdiHEUBD3+IN+ntv1HNsbtqNChYKCVqXlvgX3\nMTNz5pCvo1apuX/R/Tyz/RkcPgdd3i5anC3kJ+Zj1Bq5tvxaLsi7AICFOQvZXLuZDEsGWpWWVlcr\nVoOVny79KRJSWEhVqMKWa9MzpjMrYxazM2cjKzKbajbx889+jt1jZ2bGTK6YfMUpo1cIea+uKFrB\n28fepjCpkA53B76gD5WkIishK5xyzTBn8EnlJzy64lEeufgRttVto9XVSmlqKfOy5oVbTIbF1q3w\nxz9CTg7MOPPdc4Y6FWMgYf3Rj0L7fe+9B4HAyeMeT6gVYtcumDcv+tr9rzeYn+hAUawQ6PFFiKFg\nQNx+N4daD+EJeChIKiAnIWdC2l021W5ia91WipNP+pA6fU6e3fEsT616alj7VhmWDB5e/jDV9mpc\nfheJ+lBlaKoxFb1GH37d7XNvZ1LKJD6u/Bin38n5ueczxTaFhp4GipOLmZY2jXePvcvrh18PRaUK\nvHb4NVaXrub6qdfzysFXWHNkDRqVBrVKzcaajexu3M3PvvKzIQniVVOuosPTwZbaLXR6OnH5XRQl\nFzE7c3b4NWpJjS/oA0IzE68oO02Daa8XXn8drFZ49VWYNi3uosPh7t+dbvTY1BQSMocDEhNPHne7\nQ9WnanV0ujKWgK1YEdnmMRQGW3tfkwHB6CDEUBCT4+3HeXrr0zj9TlAACZYVLONbs7417MrI02VD\n1QZsJltUyrLN1caRtiPMzZo7rOupJBVFyYP7kmrVWlaWrGRlyUoONB/gDzv/wMaajaEWC5WGy0ou\n462jb5FnzQvbwQXlIGuPrSU/MZ9XDr5Ctb06XPkqIZFuTufdY+/y3XnfPeUadWodd8y7g6vLrqbS\nXsnTW5+mKKkowgu01dXKZZNGcT9961bo7oaCgtAn+sGDI4oOR2OorDfgxRPwkKBPiEiBn2kz+vpG\nd73C2nu89znide3nGkIMBVF4A15+s+036DX68AR1WZH5uPJjSlNLRzSH73TwBX0DCnBADsQ8Plp0\nuDv47fbfkqhPDL8Xbr+b3+34HTaTLcIXtXcqxtrjaznUeohkQ3I42pQVmfruejZUbRiSGPaSYckg\nw5LB7XNv58/7/4xBbcCgMdDl7SLdnM4lJZeMzoP2RoVpaaF5fqcRHZ6OYHkDXt44/AafVH1CUA6S\nYkzhxuk3Mj97/rDWMFwGM8+2WkPtD30JBkPN8qeir/gPVtna//69VnMQarnom4rNzBQtFWOBEENB\nFEfajuD0ObElnfTUVEkqUk2pfFL5ybiL4aLcRbx++HUsupPGyf6gH0mSxry9YHfjbvxBP3q1nsae\nRhQUUowpSEi0OlshLfL1KklFm6uNgByISLv29iO2u9pHtI4VxSsosBawoXoDdredyzMu54L8CyLe\nk9OiNyrs/bROTj6t6HCk/Gnvn9hSu4XcxFy0ai093h5+u+23MedGjiYDCfjGjfC1r0U37+/ff7Iq\ndCzuv3fvSf9Suz3yZ+daM/14IcRQEIU36I15XKvShtKm48xFRRexvX47lZ2VWA1WfEEfbr+br0//\nOinGlDG9t91tx+6xs795f0TKM9mYjMvvCk+zh1D1qcvvYmn+Uj6v+TzCdUZWZHxBX7hSdSSUppZS\nmlp6+g/VH58PXnsNZDkyPPH5QtHh9OlDnv5+OjQ7mtlat5XCpMJwSjxBn4Bf9vPmkTfHVAxHi/4j\nlfoykhFNgvFDiKEgiuLkYpCIGo/U7m5n9aTV474ei87CT5b8hK11W9nbtJcEfQJL85cyOXXymN87\n3ZLOgZYD2Ey2cKQXlINU26tZUbyCKnsVZq0ZSZLo8fVwfu75LC9azocnPqSuu44uT9fJa5nTR9bu\nMNYEg7BkCfj90T8zGkFRRiSG69fDsWMnqzD9/lCk1Zv267+H2OZqQy2po4q0rHorNV01w77/aGA0\nhiKxYBDq+lizqdWhv/f+vJempsj9wL5s3DjGixWcFkIMBVHYTDauKL2Ct468RZIhCZ1aR4e7gxRT\nCitKhjgXZ5QxaU1cVHQRFxVdNK739fg9JOoTcQVc4QG/Dp+DBH0CszNnszh/MVvrtiLLMgtzFzIz\nYyYqScWK4hV8VvUZWpUWRVLwBXzkWnNZVrhsXNc/JIxGuOGGUb+swxHabuytwvR4Qqm/3rRf/z2v\nFGNKeE5lX0Hs9naTkzC41d5YMW/e8FKSg+0L9hfOXkSrRHwgxFAQk6+Wf5Xi5GI+rvyYHl8PF+Zf\nyEVFF43KFIQzCXfAzfT06fiCPqq6qpBlmdKUUlKMKfhlPzMzZjIzYya+oI9qezVV9ioKkgq4dc6t\nlKWW8WnVp7j8LhbmLOTi4otJ1Cee+qZnOL3FHQ5HZOHJqQpOshKymJM5Jzw3Uq1S4/a76XB3cMvs\nWyKuHeuegzEaFa6ny2DCKlolJh4hhoKYSJLEnKw5zMmaM9FLmVB6U7GTUydTZisLH6+0VzIzI9Tw\nv7txN3/c/UfcgVD5X5Ihibvn381XCr/C0oKlHG0/yp7GPXxQ8QFzs+YyKWXSmPRryorM0bajNDub\nSTIkMTVtakQrxnjRKy633BLpyTkUvjvvu/z1i7+ypXYLEMoI3DH/jnB/5UiF61QVriMV2dGi//37\npmX7R5SiWnRsEGIoEAxCma2MOVlz2NWwizRzGmpJTYurhXxrPgtzFlLfXc8z258h1Zgabr3o8nTx\n5JYneeTiR3jn2DusP7EevVqPgsJ7x9/jstLL+Pq0r4+qIDp9Tp7e+jTHO46jKAoqSYXNZOMHF/wg\nPFbqTMCkNXH73Nu5cfqNOH1OUowpw7azGwkTbWw90fcXCDEUCAZFJam457x72FizkU+rPiUQDHBd\n+XUsL1qOUWtk07FNqCRVxKxCq8GK3W7nrSNvsaFqA4VJheGK06AcZF3FOs7LPo+SlJJRW+frh1+n\noqOCAmtBWGSbHE08t+u5kIXcGTYo26KzjF7byATR33Gmd7gwiMkS8YgQQ4HgFOjUugGLd1qdrTHH\nM2lUGnY37MagMUQ4qKhVarSSlj2Ne0ZNDANygM+rPycnMdIuL8OcwQn7CVqcLRMSHWZmRldhwsm0\n31im+/rvEfbOE7RYIgfgjjYDOc70/ky4zsQvQgwFgtNgim0KOxp2YDPZIo77g37yrHnUd9dHnySB\ngjJqawjKQQJyALUU6dIjSRISUti/dLz51a8mLvqJ1cSelDR6TfIDMVTHmfEmHgqI4p34cuEVCM4w\nFuYuxGayUdtVS0AOhKpO7VUUJRdxddnVuANuZEUOvz4oB/EH/aNamKTX6JmSNoVWV2vEcafPSYIu\nYUjG4Gc7vVMjeqdF9P5zrhSj9H456P+PaOk4iYgMBYLToNcQYM2RNWyp24JaUrNq0iqumHxFqDey\n8CI+qfoEg8aAoij4gj5Wla6iJHn09gsBbpx2I49sfITarlqSDEk4fA58QR/3Lrg3wjjhXKU3NSqs\nzAQDIX5LBILTJMWYwnfmfId/mPUPVHRWsLVuK3/94q/MzZzLN2Z+g4W5C9nVuAuVpGJ+9nxKU0pH\nvaClIKmAny/7OZ9UfsLxjuOUp5VzcdHFp5zOIRAIQggxFAhGibeOvsWaI2vQa/SopdAMw9mZs7lv\nwX2Up5VHvLbd1c6RtiNIksQU25RR8VjNsGRw04ybTvs6glMzlD24sZosMR77f+fiHqMQQ0Hc4g14\n2dmwk/3N+7EarJyfe35cRjqyIlPZWcmaI2si5hsqisLepr3sbNjJ+Xnnh1//0Zcf8dKBl5BlGaRQ\n+8a3Z36bZUXLJugJBMNlKGOqxko0xmOm45k2N3I0EGIoiEtcfhePb3qcE50nsOgs+II+PvjyA26Z\ndQvLi5ZP9PKAkAh+UvkJ7xx9hyNtR6jrqUOj0pCbmBuq5JQkrHorW+q2hMWwyl7Fi1+8SHZCdtgd\nxhvw8t/7/ptJqZNOa6qF4CQT7SgTb4j349QIMRTEJRuqNnCi80REJOgL+vjL/r8wN2tuXHikvnf8\nPV4+8DJZCVlkWjKp665jR8MOFBTyrflAqIWib8vDtvptaCRNhE2aXqNHJanY1bBLiOEocbam8kaK\neD9OjRBDQVyyqXZT2N6sF51ah6zIHGs/xnk5503QykJ4Ah7eOfoOedY8dGod6eZ0dGoderWew62H\nyUvMQ0Ghy9PF4ryTw5BdPhcadfSvnVqlnpBZkWcz5+K+l2DkCDEUjAtBOcinlZ+yrmIdXd4upqVN\n49ryaylMKoz5erWkjujP60tfRxcIucD0+HrIMGdE2KKNFU6fkxf3v8jGmo2YdWbyrfmUppQyI2MG\n+5v34/Q5qbRXIiGxpGBJRE/hrMxZfFr1acSYIkVR8Aa8zEgfv4ny5wLn4r6XYOQIMRSMCy9+8SIf\nffkRmZZMsixZHO84zi//95f8n6/8n3BKsS9fKfgKL+x7gQRdQlg03H43WrU2PD2ix9tNNDQOAAAe\nt0lEQVTD83ueZ2/TXlSSCpWk4sqyK7ly8pXDal1QFIXDbYfZULUBu8fO7MzZLMlfQoI+Ieq1vqCP\nJzY/wbH2Y6hVajQqDRUdFTQ7mllasJQEXQJV9iquKL2CWZmzKE0tjRDvGekzmJkxk31N+0g1paIo\nCp3uTuZmz2Vq2tThvq3jhoiyIjnb9+DO9ueLhRBDwZjT6mzl08pPKUouCgtDujmdJkcT7xx9h39c\n8I9R5ywpWMK+5n3sa9qHVq0lKAcBuKTkEjZUbiDRkMjn1Z/zZeeX5FvzkSQJf9DPqwdfJdmQzJKC\nJUNe37qKdbx84GVMWhN6jZ5XDr7ChqoN/GTJT0gyRM4f2t+0n8rOSkpTS3H5XZywn8Cqt9Lt7aa2\nuxZFUbjnvHu4fPLlMe+lVWv53sLvsbl2M5tqQibf1029jkW5i1Cr1DHPiQdElBXJRH4BGA+hOhe/\n4AgxFIw5DT0NSJIUld5MMaZwuO1wzHN0ah3fX/h9Drcd5kjrETQqDdsbtvN+xftoVBocPgf7mvex\nsnhlOArUqrWkm9N599i7QxZDu8fOa4deIzcxNzwqKMmQRLW9mo++/Ijrp10PhCpHq+xVfHzi47Cv\n6PT06SgoVHdV4w16OdF5gvsX3s+qSasGvadOrWNZ4bL4nHoviHvORaEaD4QYCsacBH1CTGNqt99N\nqjF1wPPUKjXT06czPX06rx18jYbuBgqTCpEkiTZXGypJxc6GnawsWRkWWrPOTF13XcSe3GCc6DyB\noihRM/PSzGlsq9/G9dOup8XZwu+2/Y667jrquuuotFfi9DuZljaN2ZmzKbeVc6LzBFdPuZrrpl03\nzHdHIBgfRKp7cIQYCsacwqRCbEYb2+u2o9foSTGmkGZOo83Vxg3TbhjSNT6t/pSshKywwFl0FvRq\nPe6AG7vHHnZw6XR3UpJcMuQ9Q61KG/O1ATmASWtCVmR+u+23tLvaKUgqCK/7YMtBEnQJFCQVEFSC\nmHVmlheOTf+jN+CluqsalaSiMKlQeI0Og/4zBSH09x/96NwTAJHqHhzxWyUYcyo6KmhxtdDoaMTl\ndyErMiatiR8u/iGLchcN6Rr+oD9iT82gMVCcXMze5r24/W4Ug4LdY6fH18M95fcMeW2TUydj0pro\n9naTqE8EQgU1bc42bplzC5WdldR311OQVACEJrEvyl3Eltot7G7cjYSEXqPnH8/7xzGZDrGzYSfP\n73keT8ADgFVv5Z7z7qE0tXTU73W2kZkZmmNosUQfF9MaBP0RYigYU4JykH/f+e+kGFK4quwqur3d\n+GU/XZ4uvEHvkCO4RbmL2Fy7OaIpvTi5GE/Ag06to7qrmsKkQu6Yd0eUD+hg6DV67ltwH09vfZoO\ndwcogASL8haxtGAph1oPRa0xw5LBqkmrqOmq4cHFD1KcXIxeox/yPYdKXXcdv9/xe2wmG+nmdAC6\nPF08ueVJfr3y12HxFsTmV78S0ZBg6AgxFIwptd212D128q35eANearpqqO6qJigHqe6q5uqyq0kx\nndqk+uqyqznQcoDqrmoSdAm4/W4CcoCffeVnLMhZQFAJopbUI5oGUWYr4/FLHudAywFcPhcFSQUU\nJxcjSVJYfINyMByZuv1u9jTuQafRsaFqAypJFW73GE02Vm9ELakxaU3hY1aDFbvdzu7G3eNagHO2\nldrv2hUavtsfsX927iLEUDCmKEqocCYoB9lct5kuTxcJugRkRabJ0cSjGx/loWUPDdos7/a7+bzm\nc9x+N23ONvxBP0sKlrCqZFU4famRTu9/ZYvOEjNlm2JM4ZKSS1h7bC1p5jRkWWZ95Xr8QT9LC5ay\nv3k/W+u3csvMW5ieMR21Sk2yIXlURjS1uFowaAxRx9UqdSiKHUfONoFwu8+OiFEUxYweQgwFY0qe\nNY9EfSInOk7Q5e4iyRjq23N4HEyxhaazb6/fPqD5dkAO8OSWJznWfoxMSybT06fT5GiisrMSm8k2\nLs9ww7QbyE7I5oOKD9hUu4lEfSKLcheF05RNPU088OEDTM+YjkbSUJpayq1zbiXTMrKwqcnRRKe7\nkxxLDnsa95Bqiqy49cv+UR8OLBg9BhIoGH2REmng0SOuxfDBBx/k3XffRafTUVJSwp/+9Ces1ok3\naD6XURSFSnslHe4O0kxp4Yb3gdCoNNwx9w7uW3cf7oAbrU+LX/Zj1popt5Xj8Dk40naEqWlTaXI0\nYTVYKbAWhK95sOUgx9qPhVsqIDTItqqzalARHU1UkoqlBUtZWrCUO9+5E5vJFm7FcPqc7GjYgTfg\nJUGbQJo5jdquWh7b9Bi/vOiXGLXGId/H6XPyn7v/k31N+1BJKrwBL23uNgCyE7KRFZlGRyMlySVM\nS582Js96tpGZCa+/HooE+9LWFqo0XbFi9O85kEDBxIrU2ZbqHm3iWgwvueQSfv3rX6NSqfjRj37E\no48+yq9E7D9h9Hh7+N3233G8/TiSJCErMjPSZ3D3eXdH7Gv1Z2r6VO4+727+sOMPmHVmUowp5CTk\noFVraXG2sK95H9vrt4evOSl5EvcuvJckQxJfdn6JVh3d/mDRWzjYevC0xdAT8HCg5QDtrnayE7Ip\nTysftHXBqDUSkANhMazpqkFWZHQaHRq1BkmSyLBkUGWvYm/T3og5hqfiv/f9N/ub94e/YMiKjL/N\nj0VvodXVikalYXXpai4vvVy0VwxArKjM7Q594PcVvrfeim65ONsRH52DE9e/UStXrgz/eeHChbz+\n+usTuBrBn/f/mS87TtqfKYrCgZYDvHrwVf5h9j8Meu6K4hWsP7Eek9YUTi86fU7quutI1CcyLX0a\nKkmFooQcXZ7b9RwPXvAgVr01bMXWF4/fg814emnSJkcTj296nHZ3OxISCgoFSQX88/n/HF6jrMhU\ndFTQ5ekiKyGLiwov4rXDr1GUVIQkSXR7u5EVGbPOHGHdplFpaHQ0Dnktdo+dnQ07w7MQIRSRFicX\nY/fY+cPlf4hru7b+TNReVqyobO/e+BM+sdcXf8S1GPbl+eef56abbproZZyzdHu7oz6sJUkiJzGH\nz2s+5+vTvx6z2KOXJEMSD5z/AL/f8XtqumoAMGqMpBhTIjxLJUkiOyGbw62HaXG2MDdrLq8cfIUe\nb0/YONvtdxNUgizOXzzg/U6Foij8567/xOV3RUzOqOmq4bVDr3HrnFtpd7Xz9LanqeuqC0dqczLn\nMCN9BgdbD6IoCr6gD7/sZ0HOggi7uYAcICchJ/z3dlc77oCbDHNGlNsNgMPnQCLask6n1uEJePAG\nvZhUA0ff8Ua872VZLKE19l/PeKUM4/39OReZcDFcuXIlTTG+Ij3yyCNceeWVAPzyl79Ep9PxjW98\nY7yXJ/g7bn9o06X/h7VaUhNUgviCvkHFEEIN7k9c8gTV9mpkRSYnMYd71t6DXh3Zo9frY+r0O8mw\nZPD9hd/n9zt/T0dXB5IioVVruXP+neRZ80b8PK2uVk7YT5CfGDkxIzshm821m7l5xs08t+s5Whwt\n4YpVRVHY3bibq8uu5trya6nvricoB/nbwb/hC/pQFAUFhSZHE+nmdGZlzqLT3ckf9/yRg60HkZAw\naU3cNOOmiBmHQHgf0hvwRvQsdnu7yUrIwqgZ+t6j4NSsWBESnhdemOiVCOKFCRfDjz76aNCfv/DC\nC7z33nt8/PHHA77moYceCv952bJlLFu2bJRWJ+jFZrKRqE/E6XNGtEF0e7vJNGeSoIsedxQLjUpD\nScrJSsjSlFKaHE0RFZO+oA+1Sk2WJeToMjV9Kk9e+iQnOk8gKzJFSUXDKkyJhT/oR0KK2ovsFfcG\nRwPH2o9FjJfqjVrXV67n2vJrmZQyCYBJqZP4y/6/hPdSZ2fO5hszvoFOrePRjY/S0N1AfmIotez2\nu3lu13OkGFIizAEMGgPXTrmWv+z/C2nmNCw6C3aPnS5PF/80+59GpVVDcPYhimJOsmHDBjZs2DDi\n8ydcDAfj/fff5/HHH+ezzz7DYBg46ugrhoKxQa1S840Z3+DZ7c9i8VtI0CfQ5enCE/DwwPkPjPjD\n+oZpN/DoxkcJOAKkGFNw+p20u9r55sxvRgieTq1jim3KaD0OmZZMrHprRPoVQhFjua0cRVFQSaqo\n59KpdeE0bW9vY741nx9f+GMcPgcqSRX+snCs/Rg19ppwZAmhAhyL1sK6inVRTjmXlFyC1WDlnaPv\nUN9dT1FyEXfNvyuu5xyeCYx3SnQggRqLe8baX+zdj+xvKnC270f2D4QefvjhYZ0f12J433334fP5\nwoU0559/Pr///e8neFXnLgtyFpC4JJH3jr9HbXct5WnlXF56eUSkN1xKU0v56dKf8vbRtznefpx0\nczo3z7iZednzRnHl0ahVam6dcytPbX2Kbm83Zp2ZHm8POrWOm6bfRJo5DY1KE5W2bHO1UWYri6rm\nlCQpahiw3WOPeW+LzkJjT3RxjSRJLMpdNGS/VkE0sYRo0iS48MLxE4Kh3GfXrlBhT3+C0bViQ6Jv\nQU5fP1aL5WQVrdiPHJy4FsPjx49P9BIE/ZhimzKqERqEPEbvX3T/qF5zKMzImMHPl/+cTys/paGn\ngQvzLmRZ0bJwM/+N02/k+T3Pk2RIwqwz0+nuJKgEhzxpI8OcgYISNU7K7rEzJ2vOmDxTvDBR6bsz\nJfJxuyE3N/p4Xd3Irte3IGfvXkj6e2GzPfb3MUEM4loMBfGN2+9mf/N+mp3NZFuymZExY0wMq8eS\n3MRcvjXrWzF/tqwwJIzrjq+j2dnMvOx5rJq0KmIfcTDyrfnMypjF3ua95CbkolFp6PR0EpADXDbp\nstF8jLjjTBGlicJojC1UxiFuhfdvzdi4MSSC/Sd0CIaOEEPBiGhyNPHYpsfocHeEi04yLZk8eMGD\nUfZhZyqSJDEjYwYzMmaM+Py7z7ubNw+/yadVn+IP+ilMLuTeBfdG7CMKxod46u2bN+/0Wiv6t2b0\nRoMiEhw5QgwFw0ZRFJ7f83xUj159dz0vHXiJexfcO3GLizMMGgM3zbiJ66ddjz/ox6AxjKjYKCAH\nAITzzGkw3r19g4lvLNavj1340nuOiLbHFvGbJRg2nZ5Ojrcfj0oXZiVksathFy6/a1B7tnMRjUoT\nFrLeAccW3alzWp3uTl479Bpb67aioDA/ez7XTb0uPN9QEL8MV3wdjlCa83QF22I5GSE6HCfPPRfb\nLYaDEEPBsAnIAYgR3Eh/PxjLPk0QqkT96xd/ZU/jHpBgcspkbp5584DmAZ6Ah8c2P0aLo4XshGwA\n9jTuoaKjgoeXPRxVvdr/3E01m9hcuxmNSsPSgqUszF0oIsuzlF4BdDhg9uyTx0VEOXTEb4Zg2KSZ\n0sg0Z2L32Ek2JoePt7naKE0tHVLEc67hCXh4bNNj2D128qx5SEjUdtfyq02/4hfLfxHxPvayr2kf\njT2NEanonMQcqu3VbK/fzsXFF8e8lzfg5YnNT3C8/TgpxhRkRebfd/47+5r3cdf8u6JchATjT6xq\nW4dj5NFb3/YJ4aozMoQYCoaNJEncOudWHt/8OI4uB2adGafPiU6t45szvincUmKwr2kfLc6WCGFL\nN6dT01XDxpqNXFl2ZdQ5lfZKdGpd1HGT1kRFR8WAYrircRfH249TlFwUPpZkSGJb3TYuLrqYMlvZ\n6T+QYMisXx9pFO5whPoe+0dtt9wy8OgnwdgjxFAwIkpTS/l/y/8fn1d/Tm13LUXJRSzJX3LWVJKO\nNvU99WhV0QbdZq2ZSntlzHPSzen4g/6o456AhwxLxoD32tO4JyqFKkkSGpWGI21HhBiOMw7Hyb6/\nXgoLT69wZ7h9nPFUSRuvCDEUjJgMSwbXTbtuopdxRpBhzsAvRwuby+8iLzH2nuH87Pm8dug1Otwd\npBhTgJAXrFqljjL67otZZ8YX9EUdlxX5tD1dB2M8J7yPhPE2Aui9X//xUaPRCzjc91JMyTg1QgwF\ngnFgTtYckg3JNDuaw5Wgdo8djUrDhfkXxjwnUZ/Igxc8yH/s+g9q7DUgQbIhmQfOf4A0c9qA97og\n7wI+rQz1NfaOi/IEPKgkFXMyx875Jl4nvPcy3mLce7+hpj/H09NUEI0QQ4FgHDBpTfzL4n/h+T3P\nU9FZAUC2JZv7Ft43qLAVJRfxyMWP0NjTiKzIZCdkn3LIb2lKKTdMu4HXDr+GIisghVo7bp97+6D3\nEkwsEx05n+sIMRQIxomshCx+suQndLg7kBUZm8k2pGIjlaQiJzHnlK/rRZIkLp98OQtyFnCs/Rhq\nlZpyWzlWg/V0li8QnNUIMRQIxhFJksatyCjNnCYiwThAzBw8MxBiKBAIBGNIPKQ/hSCfGiGGAoFg\nVBAFIPFLPAhyvCMpiqJM9CJOB0mSOMMfQSAQCASjzHC1QfgyCQQCgeCcR4ihQCAQCM55xJ6hQCAQ\nCIZEvLsMnQ5CDAUCgUAwJOLdZeh0EGlSgUAgEJzzCDEUCAQCwTmPSJMKBALBBCLGK8UHQgwFAoFg\nAhHjleIDIYYCQRwRlIMcaj3EgZYDmHVm5mfPJzshe6KXJRCc9QgxFAjiBH/Qz7M7nmVP4x7+f3v3\nGxNHnfhx/LMUFqStUvoHOLa6lEJpEAja9NALFQ/X8EBpmxjTJmf6zycSn0j9U59oiYetrZjc1cY0\nWj3iRW1MWsGkErhQYs+Lh21pK8Gz1AXLn4JpC7WtCAXmHlx++5NCa0HlO7PzfiWTdGYX+sk3w3yy\nM9+diY6M1vDosA58dUAbcjdoxR0rTMcDwvqWe5QhYBP/6viXjnUfU8qclNCjnQaHB1V5vFJZC7I0\n55Y5hhPC7cL5GiazSQGb+OeZfyo+Nn7MMw6jI6M1Yo3oP+f+YzAZEP74ZIiwMDg8qLpgnerb6jU4\nMqjlv1uuh9IfmrZnB/4aLFnyaOKH/VriZvThiscr2QNPrYDjjVqj+svnf1FTT5MSZyUqMiJSvZd7\ndWv0rdpasNUxT3ivb6vX347/TSlx/3+adGhkSD2Xe7QzsNNRxQ6YxlMr4DrfXPhGJ3pPKCUuRbFR\nsfLO8GrhbQt1cfCiDn972HS8m/aHhX9Q5vxMtfW3qfdyrzq/71T3pW6tvXMtRQj8xjhNCsf79uK3\nkjTmWpsk3RZ9m05+d1IPLXnIRKxJi46MVuk9pTrRc0InvjuhWd5Z+n3y7+WP85uOBoQ9yhCON9s7\ne8LtA8MDmhc7b5rTTN7Vkas61HZI/2j7hwauDmjZ75Zp5ZKVjsgOhAtOk8LxshKyNMs7S/0/9oe2\nDQ4PamB4QAX+AnPBboJlWdpzdI/+/uXfZVmWZnln6fCZw/rzp39W30Cf6XiAa9i+DCsqKhQREaEL\nFy6YjgKbio2KVek9pfLIozMXz+jMxTM698M5rc9Zr/S56abj3VBbf5uOdB9RSlyKZnpnKjoyWr5b\nffr+x+/V0N5gOh7gGrY+TdrR0aG6ujrdcccdpqPA5hbNWaSdD+5UsC+oqyNX5Y/za6Z3pulYP6vj\nYocsyxp3vTPuljh9+d2XWr10taFkgLvY+pNhaWmpduzYYToGHCIyIlLpc9OVuSDTEUUoSTO9M8cV\noST9OPyj4mPiDSQC3Mm2ZVhVVSWfz6fs7GzTUYDfTOb8TM32zh5zfXBoZEiXhy7rj4v+aDAZ4C5G\nT5MGAgH1TPAgr/Lycm3btk21tbWhbXyxHuHolqhbVHpPqf7677/qzMUzkiSPPPpT9p+0dN5Sw+kA\n97DlHWiam5tVWFio2NhYSVJnZ6eSk5PV2NioBQsWjHmvx+PRiy++GFovKChQQUHBdMYFfrHh0WF9\nc+EbDY0MyR/n1+zoib8uAmBiDQ0NamhoCK2XlZVN6kOULcvwWikpKTp69Kji48dfQ+F2bADCyZYt\n/3vg77USE8P7qRG/tsl2g61nk/6fiSYYAEA46umR/P7x26/3HEH8OhxRhsFg0HQEAEAYs+1sUgAA\npgtlCABwPcoQAOB6lCEAwPUcMYEGANwiMXHimaOJidMexVUc8T3DG+F7hgCAa022GzhNCgBwPcoQ\nAOB6lCEAwPUoQwCA61GGAADXowwBAK5HGQIAXI8yBAC4HmUIAHA9yhAA4HqUIQDA9ShDAIDrUYYA\nANejDAEArkcZAgBcjzIEALgeZQgAcD3KEADgepQhAMD1KEMAgOtRhgAA16MMAQCuRxkCAFyPMgQA\nuB5lCABwPcoQAOB6lCEAwPUoQwCA61GGAADXs3UZ7tq1S0uXLtWdd96p5557znQcAECYsm0ZHjp0\nSNXV1Tp58qSam5v19NNPm44UVhoaGkxHcCTGbeoYu6lh3KaHbcvwjTfe0PPPP6+oqChJ0vz58w0n\nCi/8gU0N4zZ1jN3UMG7Tw7Zl2Nraqk8//VR5eXkqKCjQkSNHTEcCAISpSJP/eSAQUE9Pz7jt5eXl\nGh4eVl9fnz7//HN98cUXevTRRxUMBg2kBACEPcumioqKrIaGhtB6amqqde7cuXHvS01NtSSxsLCw\nsLCEltTU1El1jtFPhjeyatUq1dfX67777tOpU6c0NDSkuXPnjnvf6dOnDaQDAIQTj2VZlukQE7l6\n9ao2btyo48ePy+v1qqKiQgUFBaZjAQDCkG3LEACA6WLb2aQ/58MPP1RmZqZmzJihY8eOjXlt27Zt\nSktLU0ZGhmpraw0ltL+tW7fK5/MpNzdXubm5qqmpMR3J1mpqapSRkaG0tDS98sorpuM4ht/vV3Z2\ntnJzc7V8+XLTcWxr48aNSkhIUFZWVmjbhQsXFAgElJ6ergcffFD9/f0GE9rTROM2lWObY8swKytL\nBw4c0IoVK8Zsb2lp0b59+9TS0qKamhqVlJRodHTUUEp783g8Ki0tVVNTk5qamlRUVGQ6km2NjIzo\nySefVE1NjVpaWvT+++/rq6++Mh3LETwejxoaGtTU1KTGxkbTcWxrw4YN4w7a27dvVyAQ0KlTp1RY\nWKjt27cbSmdfE43bVI5tji3DjIwMpaenj9teVVWltWvXKioqSn6/X4sXL+YP8AY4S35zGhsbtXjx\nYvn9fkVFRWnNmjWqqqoyHcsx2M9+Xn5+vubMmTNmW3V1tdatWydJWrdunT766CMT0WxtonGTJr/P\nObYMr6e7u1s+ny+07vP51NXVZTCRve3atUs5OTnatGkTp2BuoKurSwsXLgyts1/dPI/HowceeEDL\nli3Tm2++aTqOo/T29iohIUGSlJCQoN7eXsOJnGOyxzZbl2EgEFBWVta45eOPP57U7/F4PL9RQvu7\n3hhWV1friSeeUFtbm44fP66kpCRt3rzZdFzbcvM+9Et99tlnampq0ieffKLdu3fr8OHDpiM5ksfj\nYT+8SVM5ttn2e4aSVFdXN+mfSU5OVkdHR2i9s7NTycnJv2YsR7nZMXz88cf18MMP/8ZpnOva/aqj\no2PMGQhcX1JSkqT/3V949erVamxsVH5+vuFUzpCQkKCenh4lJibq7NmzWrBggelIjvDTcbrZY5ut\nPxnerJ+eGy4uLtYHH3ygoaEhtbW1qbW1lRls13H27NnQvw8cODBmNhbGWrZsmVpbW9Xe3q6hoSHt\n27dPxcXFpmPZ3g8//KBLly5Jkq5cuaLa2lr2s0koLi5WZWWlJKmyslKrVq0ynMgZpnRsm/L90gzb\nv3+/5fP5rJiYGCshIcEqKioKvVZeXm6lpqZaS5YssWpqagymtLfHHnvMysrKsrKzs62VK1daPT09\npiPZ2sGDB6309HQrNTXVevnll03HcYRgMGjl5ORYOTk5VmZmJuN2A2vWrLGSkpKsqKgoy+fzWW+/\n/bZ1/vx5q7Cw0EpLS7MCgYDV19dnOqbtXDtue/fundKxjS/dAwBcLyxOkwIA8EtQhgAA16MMAQCu\nRxkCAFyPMgQAuB5lCABwPcoQAOB6lCEAwPVsfW9SAOMdPXpU7777rmbMmKH29na99dZb2rNnj/r7\n+9XV1aWysjItWrTIdEzAUShDwEGCwaDeeecdvf7665Kk9evXKy8vT5WVlRodHVV+fr7uuusuPfXU\nU4aTAs5CGQIOUlFRoR07doTWr1y5ovj4eOXl5amzs1ObN2/W+vXrzQUEHIp7kwIO0t7eLr/fH1r3\n+XzasGGDXnrpJXOhgDDABBrAQX5ahF9//bW6u7t1//33mwsEhAnKEHCo+vp6eb1e3XvvvaFtwWBw\nzHsuXbqkRx55ZMyDiQGMRxkCDjEwMKBnn31Wzc3NkqS6ujrl5OQoJiZGkjQ6OqqdO3eG3r937169\n9tpr2r9/v7gaAtwYE2gAhzh48KBeffVV3X333YqMjNTp06cVFxcXer28vHzM5JlNmzZJksrKyqY7\nKuA4TKABHOL8+fN65plnNG/ePEVEROiFF15QSUmJYmJi5PV6tXLlShUWFo77uYiICLW3t+v22283\nkBpwBsoQCHOUIfDzuGYIAHA9yhAA4HqUIeACXA0BbowyBMLUe++9p5KSEnk8Hm3ZskW7d+82HQmw\nLSbQAABcj0+GAADXowwBAK5HGQIAXI8yBAC4HmUIAHA9yhAA4HqUIQDA9ShDAIDrUYYAANf7L6s6\n0nX+T+nzAAAAAElFTkSuQmCC\n",
- "text": [
- ""
- ]
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "\n",
- "## Defining the objective function and decision rule\n",
- "\n",
- "Here, our **objective function** is to maximize the discriminant function $g_i(\\pmb x)$, which we define as the posterior probability to perform a **minimum-error classification** (Bayes classifier). \n",
- "\n",
- "$ g_1(\\pmb x) = P(\\omega_1 | \\; \\pmb{x}), \\quad g_2(\\pmb{x}) = P(\\omega_2 | \\; \\pmb{x}), \\quad g_3(\\pmb{x}) = P(\\omega_2 | \\; \\pmb{x})$\n",
- "\n",
- "So that our decision rule is to choose the class $\\omega_i$ for which $g_i(\\pmb x)$ is max., where \n",
- " $ \\quad g_i(\\pmb{x}) = \\pmb{x}^{\\,t} \\bigg( - \\frac{1}{2} \\Sigma_i^{-1} \\bigg) \\pmb{x} + \\bigg( \\Sigma_i^{-1} \\pmb{\\mu}_{\\,i}\\bigg)^t \\pmb x + \\bigg( -\\frac{1}{2} \\pmb{\\mu}_{\\,i}^{\\,t} \\Sigma_{i}^{-1} \\pmb{\\mu}_{\\,i} -\\frac{1}{2} ln(|\\Sigma_i|)\\bigg) $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Implementing the discriminant function\n",
- "Now, let us implement the discriminant function for $g_i(\\pmb x)$ in Python code:"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "def discriminant_function(x_vec, cov_mat, mu_vec):\n",
- " \"\"\"\n",
- " Calculates the value of the discriminant function for a dx1 dimensional\n",
- " sample given the covariance matrix and mean vector.\n",
- " \n",
- " Keyword arguments:\n",
- " x_vec: A dx1 dimensional numpy array representing the sample.\n",
- " cov_mat: numpy array of the covariance matrix.\n",
- " mu_vec: dx1 dimensional numpy array of the sample mean.\n",
- " \n",
- " Returns a float value as result of the discriminant function.\n",
- " \n",
- " \"\"\"\n",
- " W_i = (-1/2) * np.linalg.inv(cov_mat)\n",
- " assert(W_i.shape[0] > 1 and W_i.shape[1] > 1), 'W_i must be a matrix'\n",
- " \n",
- " w_i = np.linalg.inv(cov_mat).dot(mu_vec)\n",
- " assert(w_i.shape[0] > 1 and w_i.shape[1] == 1), 'w_i must be a column vector'\n",
- " \n",
- " omega_i_p1 = (((-1/2) * (mu_vec).T).dot(np.linalg.inv(cov_mat))).dot(mu_vec)\n",
- " omega_i_p2 = (-1/2) * np.log(np.linalg.det(cov_mat))\n",
- " omega_i = omega_i_p1 - omega_i_p2\n",
- " assert(omega_i.shape == (1, 1)), 'omega_i must be a scalar'\n",
- " \n",
- " g = ((x_vec.T).dot(W_i)).dot(x_vec) + (w_i.T).dot(x_vec) + omega_i\n",
- " return float(g)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 39
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Implementing the decision rule (classifier)\n",
- "Next, we need to implement the code that returns the max. $g_i(\\pmb x)$ with the corresponding class label:"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import operator\n",
- "\n",
- "def classify_data(x_vec, g, mu_vecs, cov_mats):\n",
- " \"\"\"\n",
- " Classifies an input sample into 1 out of 3 classes determined by\n",
- " maximizing the discriminant function g_i().\n",
- " \n",
- " Keyword arguments:\n",
- " x_vec: A dx1 dimensional numpy array representing the sample.\n",
- " g: The discriminant function.\n",
- " mu_vecs: A list of mean vectors as input for g.\n",
- " cov_mats: A list of covariance matrices as input for g.\n",
- " \n",
- " Returns a tuple (g_i()_value, class label).\n",
- " \n",
- " \"\"\"\n",
- " assert(len(mu_vecs) == len(cov_mats)), 'Number of mu_vecs and cov_mats must be equal.'\n",
- " \n",
- " g_vals = []\n",
- " for m,c in zip(mu_vecs, cov_mats): \n",
- " g_vals.append(g(x_vec, mu_vec=m, cov_mat=c))\n",
- " \n",
- " max_index, max_value = max(enumerate(g_vals), key=operator.itemgetter(1))\n",
- " return (max_value, max_index + 1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 40
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Classifying the sample data\n",
- "Using the discriminant function and classifier that we just implemented above, let us classify our sample data. (I have to apologize for the long code below, but I thought it makes it a little more clear of what exactly is going on)"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "class1_as_1 = 0\n",
- "class1_as_2 = 0\n",
- "class1_as_3 = 0\n",
- "for row in x1_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_vec1, mu_vec2, mu_vec3],\n",
- " [cov_mat1, cov_mat2, cov_mat3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class1_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class1_as_3 += 1\n",
- " else:\n",
- " class1_as_1 += 1\n",
- "\n",
- "class2_as_1 = 0\n",
- "class2_as_2 = 0\n",
- "class2_as_3 = 0\n",
- "for row in x2_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_vec1, mu_vec2, mu_vec3],\n",
- " [cov_mat1, cov_mat2, cov_mat3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class2_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class2_as_3 += 1\n",
- " else:\n",
- " class2_as_1 += 1\n",
- "\n",
- "class3_as_1 = 0\n",
- "class3_as_2 = 0\n",
- "class3_as_3 = 0\n",
- "for row in x3_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_vec1, mu_vec2, mu_vec3],\n",
- " [cov_mat1, cov_mat2, cov_mat3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class3_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class3_as_3 += 1\n",
- " else:\n",
- " class3_as_1 += 1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 81
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Drawing the confusion matrix and calculating the empirical error\n",
- "Now, that we classified our data, let us plot the confusion matrix to see what the empirical error looks like."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "confusion_mat = prettytable.PrettyTable([\"sample dataset\", \"w1 (predicted)\", \"w2 (predicted)\", \"w3 (predicted)\"])\n",
- "confusion_mat.add_row([\"w1 (actual)\",class1_as_1, class1_as_2, class1_as_3])\n",
- "confusion_mat.add_row([\"w2 (actual)\",class2_as_1, class2_as_2, class2_as_3])\n",
- "confusion_mat.add_row([\"w3 (actual)\",class3_as_1, class3_as_2, class3_as_3])\n",
- "print(confusion_mat)\n",
- "misclass = x1_samples.shape[0]*3 - class1_as_1 - class2_as_2 - class3_as_3\n",
- "bayes_err = misclass / (len(x1_samples)*3)\n",
- "print('Empirical Error: {:.2f} ({:.2f}%)'.format(bayes_err, bayes_err * 100))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+----------------+----------------+----------------+----------------+\n",
- "| sample dataset | w1 (predicted) | w2 (predicted) | w3 (predicted) |\n",
- "+----------------+----------------+----------------+----------------+\n",
- "| w1 (actual) | 98 | 1 | 1 |\n",
- "| w2 (actual) | 2 | 93 | 5 |\n",
- "| w3 (actual) | 1 | 2 | 97 |\n",
- "+----------------+----------------+----------------+----------------+\n",
- "Empirical Error: 0.04 (4.00%)\n"
- ]
- }
- ],
- "prompt_number": 85
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "# 2) Assuming that the parameters are unknown - using MLE"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "### About the Maximum Likelihood Estimate (MLE)\n",
- "\n",
- "In contrast to the first section, let us assume that we only know the number of parameters for the class conditional densities $p (\\; \\pmb x \\; | \\; \\omega_i)$, and we want to use a Maximum Likelihood Estimation (MLE) to estimate the quantities of these parameters from the training data (*here:* our random sample data).\n",
- "\n",
- "\n",
- "Given the information about the form of the model - the data is normal distributed - the 2 parameters to be estimated are $\\pmb \\mu_i$ and $\\pmb \\Sigma_i$, which are summarized by the \n",
- "parameter vector $\\pmb \\theta_i = \\bigg[ \\begin{array}{c}\n",
- "\\ \\theta_{i1} \\\\\n",
- "\\ \\theta_{i2} \\\\\n",
- "\\end{array} \\bigg]=\n",
- "\\bigg[ \\begin{array}{c}\n",
- "\\pmb \\mu_i \\\\\n",
- "\\pmb \\Sigma_i \\\\\n",
- "\\end{array} \\bigg]$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For the Maximum Likelihood Estimate (MLE), we assume that we have a set of samles $D = \\left\\{ \\pmb x_1, \\pmb x_2,..., \\pmb x_n \\right\\} $ that are *i.i.d.* (independent and identically distributed, drawn with probability $p(\\pmb x \\; | \\; \\omega_i, \\; \\pmb \\theta_i) $). \n",
- "Thus, we can **work with each class separately** and omit the class labels, so that we write the probability density as $p(\\pmb x \\; | \\; \\pmb \\theta)$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "##### Likelihood of $ \\pmb \\theta $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Thus, the probability of observing $D = \\left\\{ \\pmb x_1, \\pmb x_2,..., \\pmb x_n \\right\\} $ is: \n",
- "
\n",
- "
\n",
- "$p(D\\; | \\; \\pmb \\theta\\;) = p(\\pmb x_1 \\; | \\; \\pmb \\theta\\;)\\; \\cdot \\; p(\\pmb x_2 \\; | \\;\\pmb \\theta\\;) \\; \\cdot \\;... \\; p(\\pmb x_n \\; | \\; \\pmb \\theta\\;) = \\prod_{k=1}^{n} \\; p(\\pmb x_k \\pmb \\; | \\; \\pmb \\theta \\;)$ \n",
- "
\n",
- "Where $p(D\\; | \\; \\pmb \\theta\\;)$ is also called the ***likelihood of $\\pmb\\ \\theta$***."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We are given the information that $p([x_1,x_2]^t) \\;\u223c \\; N(\\pmb \\mu,\\pmb \\Sigma) $ (remember that we dropped the class labels, since we are working with every class separately)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "And the mutlivariate normal density is given as:\n",
- "$\\quad \\quad p(\\pmb x) = \\frac{1}{(2\\pi)^{d/2} \\; |\\Sigma|^{1/2}} exp \\bigg[ -\\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\Sigma^{-1}(\\pmb x - \\pmb \\mu) \\bigg]$\n",
- "\n",
- "So that \n",
- "$p(D\\; | \\; \\pmb \\theta\\;) = \\prod_{k=1}^{n} \\; p(\\pmb x_k \\pmb \\; | \\; \\pmb \\theta \\;) = \\prod_{k=1}^{n} \\; \\frac{1}{(2\\pi)^{d/2} \\; |\\Sigma|^{1/2}} exp \\bigg[ -\\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\Sigma^{-1}(\\pmb x - \\pmb \\mu) \\bigg]$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "and the log of the multivariate density"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ l(\\pmb\\theta) = \\sum\\limits_{k=1}^{n} - \\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\pmb \\Sigma^{-1} \\; (\\pmb x - \\pmb \\mu) - \\frac{d}{2} \\; ln \\; 2\\pi - \\frac{1}{2} \\;ln \\; |\\pmb\\Sigma|$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "#### Maximum Likelihood Estimate (MLE)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In order to obtain the MLE $\\boldsymbol{\\hat{\\theta}}$, we maximize $l (\\pmb \\theta)$, which can be done via differentiation:\n",
- "\n",
- "with \n",
- "$\\nabla_{\\pmb \\theta} \\equiv \\begin{bmatrix} \n",
- "\\frac{\\partial \\; }{\\partial \\; \\theta_1} \\\\ \n",
- "\\frac{\\partial \\; }{\\partial \\; \\theta_2}\n",
- "\\end{bmatrix} = \\begin{bmatrix} \n",
- "\\frac{\\partial \\; }{\\partial \\; \\pmb \\mu} \\\\ \n",
- "\\frac{\\partial \\; }{\\partial \\; \\pmb \\sigma}\n",
- "\\end{bmatrix}$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$\\nabla_{\\pmb \\theta} l = \\sum\\limits_{k=1}^n \\nabla_{\\pmb \\theta} \\;ln\\; p(\\pmb x| \\pmb \\theta) = 0 $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## MLE of the mean vector $\\pmb \\mu$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "After doing the differentiation, we find that the MLE of the parameter $\\pmb\\mu$ is given by the equation: \n",
- "${\\hat{\\pmb\\mu}} = \\frac{1}{n} \\sum\\limits_{k=1}^{n} \\pmb x_k$\n",
- "\n",
- "As you can see, this is simply the mean of our dataset, so we can implement the code very easily and compare the estimate to the actual values for $\\pmb \\mu$."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "mu_est1 = np.array([[sum(x1_samples[:,0])/len(x1_samples[:,0])],[sum(x1_samples[:,1])/len(x1_samples[:,1])]])\n",
- "mu_est2 = np.array([[sum(x2_samples[:,0])/len(x2_samples[:,0])],[sum(x2_samples[:,1])/len(x2_samples[:,1])]])\n",
- "mu_est3 = np.array([[sum(x3_samples[:,0])/len(x3_samples[:,0])],[sum(x3_samples[:,1])/len(x3_samples[:,1])]])\n",
- "\n",
- "mu_mle = prettytable.PrettyTable([\"\", \"mu_1\", \"mu_2\", \"mu_3\"])\n",
- "mu_mle.add_row([\"MLE\",mu_est1, mu_est2, mu_est3])\n",
- "mu_mle.add_row([\"actual\",mu_vec1, mu_vec2, mu_vec3])\n",
- "\n",
- "print(mu_mle)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+--------+-----------------+-----------------+-----------------+\n",
- "| | mu_1 | mu_2 | mu_3 |\n",
- "+--------+-----------------+-----------------+-----------------+\n",
- "| MLE | [[-0.17370434] | [[ 8.65908903] | [[ 5.77749337] |\n",
- "| | [ 0.01919151]] | [ 0.02617762]] | [ 5.67218058]] |\n",
- "| actual | [[0] | [[9] | [[6] |\n",
- "| | [0]] | [0]] | [6]] |\n",
- "+--------+-----------------+-----------------+-----------------+\n"
- ]
- }
- ],
- "prompt_number": 77
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## MLE of the covariance matrix $\\pmb \\Sigma$\n",
- "\n",
- "Analog to $\\pmb \\mu$ we can find the equation for the $\\pmb\\Sigma$ via differentiation - okay the equations are a little bit more involved, but the approach is the same - so that we come to this equation: "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "${\\hat{\\pmb\\Sigma}} = \\frac{1}{n} \\sum\\limits_{k=1}^{n} (\\pmb x_k - \\hat{\\mu})(\\pmb x_k - \\hat{\\mu})^t$\n",
- "\n",
- "which we will also implement in Python code, and then compare to the acutal values of ${\\pmb\\Sigma}$."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "def mle_est_cov(x_samples, mu_est):\n",
- " \"\"\"\n",
- " Calculates the Maximum Likelihood Estimate for the covariance matrix.\n",
- " \n",
- " Keyword Arguments:\n",
- " x_samples: np.array of the samples for 1 class, n x d dimensional \n",
- " mu_est: np.array of the mean MLE, d x 1 dimensional\n",
- " \n",
- " Returns the MLE for the covariance matrix as d x d numpy array.\n",
- " \n",
- " \"\"\"\n",
- " cov_est = np.zeros((2,2))\n",
- " for x_vec in x_samples:\n",
- " x_vec = x_vec.reshape(2,1)\n",
- " assert(x_vec.shape == mu_est.shape), 'mean and x vector hmust be of equal shape'\n",
- " cov_est += (x_vec - mu_est).dot((x_vec - mu_est).T)\n",
- " return cov_est / len(x_samples)\n",
- "\n",
- "cov_est1 = mle_est_cov(x1_samples, mu_est1)\n",
- "cov_est2 = mle_est_cov(x2_samples, mu_est2)\n",
- "cov_est3 = mle_est_cov(x3_samples, mu_est3)\n",
- "\n",
- "cov_mle = prettytable.PrettyTable([\"\", \"covariance_matrix_1\", \"covariance_matrix_2\", \"covariance_matrix_3\"])\n",
- "cov_mle.add_row([\"MLE\", cov_est1, cov_est2, cov_est3])\n",
- "cov_mle.add_row(['','','',''])\n",
- "cov_mle.add_row([\"actual\", cov_mat1, cov_mat2, cov_mat3])\n",
- "\n",
- "print(cov_mle)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+--------+-----------------------------+-----------------------------+-----------------------------+\n",
- "| | covariance_matrix_1 | covariance_matrix_2 | covariance_matrix_3 |\n",
- "+--------+-----------------------------+-----------------------------+-----------------------------+\n",
- "| MLE | [[ 3.988021 -0.19957158] | [[ 3.79760541 -0.04062998] | [[ 4.35960544 0.51274876] |\n",
- "| | [-0.19957158 2.69991303]] | [-0.04062998 3.05143476]] | [ 0.51274876 4.44341942]] |\n",
- "| | | | |\n",
- "| actual | [[3 0] | [[3 0] | [[4 0] |\n",
- "| | [0 3]] | [0 3]] | [0 4]] |\n",
- "+--------+-----------------------------+-----------------------------+-----------------------------+\n"
- ]
- }
- ],
- "prompt_number": 76
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "##Classification using our estimated parameters\n",
- "\n",
- "Using the estimated parameters $\\pmb \\mu_i$ and $\\pmb \\Sigma_i$, which we obtained via MLE, we calculate the error on the sample dataset again. "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "class1_as_1 = 0\n",
- "class1_as_2 = 0\n",
- "class1_as_3 = 0\n",
- "for row in x1_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_est1, mu_est2, mu_est3],\n",
- " [cov_est1, cov_est2, cov_est3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class1_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class1_as_3 += 1\n",
- " else:\n",
- " class1_as_1 += 1\n",
- "\n",
- "class2_as_1 = 0\n",
- "class2_as_2 = 0\n",
- "class2_as_3 = 0\n",
- "for row in x2_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_est1, mu_est2, mu_est3],\n",
- " [cov_est1, cov_est2, cov_est3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class2_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class2_as_3 += 1\n",
- " else:\n",
- " class2_as_1 += 1\n",
- "\n",
- "class3_as_1 = 0\n",
- "class3_as_2 = 0\n",
- "class3_as_3 = 0\n",
- "for row in x3_samples:\n",
- " g = classify_data(\n",
- " row, \n",
- " discriminant_function,\n",
- " [mu_est1, mu_est2, mu_est3],\n",
- " [cov_est1, cov_est2, cov_est3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class3_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class3_as_3 += 1\n",
- " else:\n",
- " class3_as_1 += 1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 87
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "confusion_mat = prettytable.PrettyTable([\"sample dataset\", \"w1 (predicted)\", \"w2 (predicted)\", \"w3 (predicted)\"])\n",
- "confusion_mat.add_row([\"w1 (actual)\",class1_as_1, class1_as_2, class1_as_3])\n",
- "confusion_mat.add_row([\"w2 (actual)\",class2_as_1, class2_as_2, class2_as_3])\n",
- "confusion_mat.add_row([\"w3 (actual)\",class3_as_1, class3_as_2, class3_as_3])\n",
- "print(confusion_mat)\n",
- "misclass = x1_samples.shape[0]*3 - class1_as_1 - class2_as_2 - class3_as_3\n",
- "bayes_err = misclass / (len(x1_samples)*3)\n",
- "print('Empirical Error: {:.2f} ({:.2f}%)'.format(bayes_err, bayes_err * 100))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+----------------+----------------+----------------+----------------+\n",
- "| sample dataset | w1 (predicted) | w2 (predicted) | w3 (predicted) |\n",
- "+----------------+----------------+----------------+----------------+\n",
- "| w1 (actual) | 96 | 1 | 3 |\n",
- "| w2 (actual) | 2 | 94 | 4 |\n",
- "| w3 (actual) | 1 | 3 | 96 |\n",
- "+----------------+----------------+----------------+----------------+\n",
- "Empirical Error: 0.05 (4.67%)\n"
- ]
- }
- ],
- "prompt_number": 89
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "\n",
- "## Conclusion"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "I would claim that the results look pretty good! The error rate on our random dataset increased by just 0.67% (from 4.00% to 4.67%) when we estimated $\\pmb \\mu$ and $\\pmb \\Sigma$ using MLE. \n",
- "In a real application of course, we would have an separate training dataset to derive and estimate the parameters, and a test data set for calculating the error rate. However, I ommitted the usage of to separate datasets here for the sake of brevity."
- ]
- }
- ],
- "metadata": {}
- }
- ]
-}
\ No newline at end of file
diff --git a/stat_pattern_class/.ipynb_checkpoints/parzen_window_technique-checkpoint.ipynb b/stat_pattern_class/.ipynb_checkpoints/parzen_window_technique-checkpoint.ipynb
deleted file mode 100644
index 40ec4fb..0000000
--- a/stat_pattern_class/.ipynb_checkpoints/parzen_window_technique-checkpoint.ipynb
+++ /dev/null
@@ -1,241 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:1dc421e78a819dd419a9b98fe207e709e94c5feeb36e3717da92f361df05604e"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#Sections\n",
- "\n",
- "- [Introduction](#introduction)\n",
- "- [Defining the Region $R_n$](#region_rn)\n",
- " - [Example 3D-hypercubes](#3d_hypdercubes)\n",
- " - [The *window function*](#window_function)\n",
- " - [Implementing the window function](#implement_window)\n",
- " - [Quantifying the sample points inside the 3D-hypercube](#count_hypercube)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "# Introduction\n",
- "\n",
- "\n",
- "The Parzen-window technique is a widely used approach to estimate a probability density function $p(\\pmb x)$ for a specific point $\\pmb x$ from a sample $\\pmb x_n$. \n",
- "\n",
- "**Where would this be useful?** \n",
- "Imagine we are about to design a classifier for a pattern classification task where the parameters of the underlying sample distribution are not known. Therefore, we wouldn't need the knowledge about the whole range of the distribution; it would be sufficient to know the probability of the particular point, which we want to classify, in order to make the decision. And here we are going to see how we can estimate this probability from the training sample. \n",
- "However, the only problem of this approach would be that we would seldom have exact values - if we consider the histogram of the frequencies for a arbitrary training dataset. Therefore, we define a certain *region* (i.e., the **Parzen-window**) around the particular value to make the estimate.\n",
- "\n",
- "**And where does this name *Parzen-window* come from?** \n",
- "As it was quite common in the earlier days, this technique was named after its inventor, Emanuel Parzen, who published his detailed mathematical analysis in 1962 in the *Annals of Mathematical Statistics*: [On the Estimation of a Probability Density Function and Mode](http://ssg.mit.edu/cal/abs/2000_spring/np_dens/density-estimation/parzen62.pdf).\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "## Defining the Region $R_n$\n",
- "\n",
- "The basis of this approach is to count how many samples fall within a specified region $R_n$ (or \"window\" if you will). To illustrate this with an example and a set of equations, let us assume this region $R_n$ is a hypercube. \n",
- "And the volume of this hypercube is defined by $V_n = {h_n}^d$, where $h_n$ is the length of the hypercube, and $d$ is the number of dimensions. \n",
- "For an 2D-hypercube with length 1, for example, this would be $V_n = {1}^2$ and for a 3D hypercube $V_n = {1}^3$, respectively."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- ""
- ]
- }
- ],
- "prompt_number": 46
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "## The *window function*"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Once we visualized the region $R_n$ like above, it is easy and intuitive to count how many samples fall within this region, and how many lie outside. To approach this problem more mathematically, we would use the following equation to count the samples $k_n$ within this hypercube:\n",
- "\n",
- "$k_n = \\sum\\limits_{i=1}^{n} \\phi \\bigg( \\frac{\\pmb x - \\pmb x_i}{h_n} \\bigg)$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "where $\\phi$ is our so-called *window function*, defined as \n",
- "$\\phi(\\pmb u) = \\Bigg[ \\begin{array}{ll} 1 & \\quad |u_j| \\leq 1/2 \\; ;\\quad \\quad j = 1, ..., d \\\\\n",
- "0 & \\quad otherwise \\end{array} $\n",
- "\n",
- "and $\\pmb u = \\bigg( \\frac{\\pmb x - \\pmb x_i}{h_n} \\bigg)$ \n",
- "\n",
- "All that this basically means is that every point that lies within the coordinates +1/2 and -1/2 of each axis (remember that we have a unit hypercube with of length 1) is counted as 1, and 0 otherwise."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Implementing the *window function*"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "def window_function(x_vec):\n",
- " \"\"\"\n",
- " Implementation of the window function. Returns 1 if 3x1-sample vector\n",
- " lies within the hypercube, 0 otherwise.\n",
- " \n",
- " \"\"\"\n",
- " for row in x_vec:\n",
- " if np.abs(row) > 0.5:\n",
- " return 0\n",
- " return 1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 53
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Quantifying the sample points inside and outside $R_n$ (the 3D-hypercube)\n",
- "Using the *window function* that we just implemented above, let us now quantify how many points actually lie inside and outside the hypercube."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "X_all = np.vstack((X_inside,X_outside))\n",
- "assert(X_all.shape == (10,3))\n",
- "\n",
- "k_n = 0\n",
- "for row in X_all:\n",
- " k_n += window_function(row.reshape(3,1))\n",
- " \n",
- "print('Points inside the hypercube:', k_n)\n",
- "print('Points outside the hybercube:', len(X_all) - k_n)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Points inside the hypercube: 3\n",
- "Points outside the hybercube: 7\n"
- ]
- }
- ],
- "prompt_number": 56
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-}
\ No newline at end of file
diff --git a/stat_pattern_class/.ipynb_checkpoints/proj_2014-checkpoint.ipynb b/stat_pattern_class/.ipynb_checkpoints/proj_2014-checkpoint.ipynb
deleted file mode 100644
index e3e1913..0000000
--- a/stat_pattern_class/.ipynb_checkpoints/proj_2014-checkpoint.ipynb
+++ /dev/null
@@ -1,1294 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:788394f9fd3d23cb7c7479d260feb27c2d78d8d6e7c42254b761d819f2d4c4e1"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Sebastian Raschka \n",
- "Last updated: 04/12/2014\n",
- "
\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Sections\n",
- "- [1)](#task_1)\n",
- " - [Description of Task 1](#descr_task_1)\n",
- " - [About the dataset](#about_data)\n",
- " - [Reading in and analyzing the dataset](#reading_data)\n",
- " - [Dividing the dataset radomly in training (70%) and test (30%) sets](#divide_data)\n",
- " - [Visualizing the 3 classes in a scatter plot](#viz_div_data)\n",
- " - [1 a)](#task_1a)\n",
- " - [Description of Task 1 a)](#descr_task_1a)\n",
- " - [Discriminant Functions](#discr_func)\n",
- " - [Decision Boundaries](#decision_boundaries)\n",
- " - [Implementing the Discriminant Function for arbitrary covariance matrices](#impl_discrfunc)\n",
- " - [Implementing the descision rule](#decision_rule)\n",
- " - [Classifying data and calculating the empirical error](#empirical_error)\n",
- " - [Empirical error of the training dataset](#emp_err_train)\n",
- " - [Empirical error of the test dataset](#emp_err_test)\n",
- " - [1 b)](#task_1b)\n",
- " - [Description of Task 1 b)](#descr_task_1b)\n",
- " - [About the Maximum Likelihood Estimate (MLE)](#about_mle)\n",
- " - [MLE of the mean vector $\\pmb\\mu$](#mle_mu)\n",
- " - [MLE of the covariance matrix $\\pmb\\Sigma$](#mle_sigma)\n",
- " - [Error on the test set using the estimated parameters](#error_mle)"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import numpy as np\n",
- "\n",
- "np.random.seed(1234568)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "# 1)\n",
- "\n",
- "### Description of Task 1): \n",
- "[65 points] Consider the dataset available here: [project_data.txt](./data/project_data.txt). It consists of two-dimensional patterns, $\\pmb{x} = [x_1, x_2]^t$ , pertaining to 3 classes $(\\omega_1,\\omega_2,\\omega_3)$. The feature values are indicated in the first two columns while the class labels are specified in the last column. The priors of all 3 classes are the same. Randomly partition this dataset into a training set (70% of each class) and a test set (30% of each class)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### About the dataset"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The data set consists of 1500 rows and 3 columns, where \n",
- "- column 1: $x_1$ values \n",
- "- column 2: $x_2$ values \n",
- "- column 3: class labels \n",
- "\n",
- "**Excerpt from the dataset: ** \n",
- " 1.8569 -3.4702 1 \n",
- " -0.2096 -2.8342 1 \n",
- " -1.0265 2.1614 1 \n",
- " [...] \n",
- " 9.3851 4.0336 2 \n",
- " 10.1375 1.1495 2 \n",
- " 11.7569 0.8005 2 \n",
- " [...] \n",
- " 3.9854 5.1360 3 \n",
- " 2.7592 5.9536 3 \n",
- " 4.1379 4.3258 3 \n",
- " [...]
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Reading in and analyzing the dataset"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import numpy as np\n",
- "\n",
- "all_projdata = np.genfromtxt('./data/project_data.txt', delimiter=' ')\n",
- "\n",
- "# Test if the data is read in in the correct dimensions:\n",
- "assert(all_projdata.shape == (1500, 3))\n",
- "assert(all_projdata[all_projdata[:,2] == 1].shape == (500,3))\n",
- "assert(all_projdata[all_projdata[:,2] == 2].shape == (500,3))\n",
- "assert(all_projdata[all_projdata[:,2] == 3].shape == (500,3))\n",
- "\n",
- "# Print min and max values of the 2 dimensions:\n",
- "print(\"Range of x_1: ({}, {})\".format(min(all_projdata[:,0]), max(all_projdata[:,0])))\n",
- "print(\"Range of x_2: ({}, {})\".format(min(all_projdata[:,1]), max(all_projdata[:,1])))\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Range of x_1: (-6.8114, 17.4559)\n",
- "Range of x_2: (-7.9943, 11.9156)\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Dividing the dataset radomly in training (70%) and test (30%) sets"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Accomodation, since numpy arrays cannot be empty\n",
- "test_set = np.zeros(shape=(1,3))\n",
- "train_set = np.zeros(shape=(1,3))\n",
- "\n",
- "#np.random.shuffle(all_projdata)\n",
- "\n",
- "for i in range(0,3):\n",
- " cl_shuffle = np.copy(all_projdata[all_projdata[:,2] == i+1])\n",
- " np.random.shuffle(cl_shuffle)\n",
- " test_set = np.append(test_set, cl_shuffle[0:150,:], axis=0)\n",
- " train_set = np.append(train_set, cl_shuffle[150:,:], axis=0)\n",
- " \n",
- "# delete the first placeholder row used for initializing the array \n",
- "test_set = np.delete(test_set, 0, axis=0)\n",
- "train_set = np.delete(train_set, 0, axis=0)\n",
- "\n",
- "assert(test_set.shape == (1500*0.3,3))\n",
- "assert(train_set.shape == (1500*0.7,3))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Visualizing the 3 classes in a scatter plot"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline\n",
- "\n",
- "import numpy as np\n",
- "from matplotlib import pyplot as plt\n",
- "\n",
- "# Test Dataset\n",
- "f, ax = plt.subplots(figsize=(7, 7))\n",
- "ax.scatter(test_set[test_set[:,2] == 1][:,0], test_set[test_set[:,2] == 1][:,1], \\\n",
- " marker='o', color='green', s=40, alpha=0.5, label='$\\omega_1$')\n",
- "ax.scatter(test_set[test_set[:,2] == 2][:,0], test_set[test_set[:,2] == 2][:,1], \\\n",
- " marker='^', color='red', s=40, alpha=0.5, label='$\\omega_2$')\n",
- "ax.scatter(test_set[test_set[:,2] == 3][:,0], test_set[test_set[:,2] == 3][:,1], \\\n",
- " marker='s', color='blue', s=40, alpha=0.5, label='$\\omega_3$')\n",
- "plt.legend(loc='upper right') \n",
- "plt.title('Test Dataset', size=20)\n",
- "plt.ylabel('$x_2$', size=20)\n",
- "plt.xlabel('$x_1$', size=20)\n",
- "plt.show()\n",
- "\n",
- "# Training Dataset\n",
- "f, ax = plt.subplots(figsize=(7, 7))\n",
- "ax.scatter(train_set[train_set[:,2] == 1][:,0], train_set[train_set[:,2] == 1][:,1], \\\n",
- " marker='o', color='green', s=40, alpha=0.5, label='$\\omega_1$')\n",
- "ax.scatter(train_set[train_set[:,2] == 2][:,0], train_set[train_set[:,2] == 2][:,1], \\\n",
- " marker='^', color='red', s=40, alpha=0.5, label='$\\omega_2$')\n",
- "ax.scatter(train_set[train_set[:,2] == 3][:,0], train_set[train_set[:,2] == 3][:,1], \\\n",
- " marker='s', color='blue', s=40, alpha=0.5, label='$\\omega_3$')\n",
- "plt.legend(loc='upper right') \n",
- "plt.title('Training Dataset', size=20)\n",
- "plt.ylabel('$x_2$', size=20)\n",
- "plt.xlabel('$x_1$', size=20)\n",
- "plt.show()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Populating the interactive namespace from numpy and matplotlib\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAckAAAHPCAYAAAA4ZiFsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VGXaP/DvmT7JTHonHQIxdINUEaRZWBHsuLovoq5l\nXRV11Vd3V/RdFezlp7u2ta1rQREUlCotIC0UIdQEkhDSSMJMMsn0eX5/PJzpkzrp9+e6coWcOefM\nM7Pu3HM/5X4ExhgDIYQQQnxIursBhBBCSE9FQZIQQggJgIIkIYQQEgAFSUIIISQACpKEEEJIABQk\nCSGEkAAoSBJCCCEBUJAk/YpEImnTz6effhr0NnzyySftvrd3+1QqFeLi4pCbm4u7774ba9asgcPh\n6PZ2drXe1FbSu8i6uwGEdKVnnnkGgiA4/2aM4Y033oBer8fDDz+MiIgIj/NHjx7daW1xb0dbr3vm\nmWcAAHa7HTqdDocPH8bnn3+Ojz76CGPGjMEXX3yBrKysbm1nd+hNbSW9AwVJ0q+IwcXdxx9/jPr6\nejz88MNITU3tsrZ0pNjV3//+d59j1dXV+POf/4xly5ZhxowZ2Lt3L2JjYzvSRAAda2dX601tJb0E\nI6SfS0tLYxKJhJWUlPg8tnPnTnb99dez+Ph4plAoWEpKCrvnnntYeXm5z7lFRUXs7rvvZgMHDmRq\ntZpFRUWx4cOHs3vvvZfV1tYyxhibMmUKEwTB74+/5/cmCAKTSCQBH3c4HOzyyy9ngiCwhx9+2OOx\nvXv3sgcffJCNGDGCRUVFMZVKxbKystijjz7Kzp8/73Fua9p59uxZ9uyzz7KJEyc635+kpCR26623\nsiNHjvht38qVK9m0adNYQkICUyqVLCkpiU2ZMoW9++67PufW1tayJ598kmVnZzO1Ws3Cw8PZ9OnT\n2bp169rcVkLaS2CMvnqR/i09PR1nzpzB6dOnPTLJf//73/jjH/8ItVqNOXPmICUlBSdOnMAPP/yA\n+Ph47Ny5EykpKQCAiooKDBs2DA0NDZg9ezays7NhMplw6tQp/PLLL9i1axdycnLw6aefYsWKFVi5\nciXmzp2LUaNGOZ/voYceQnh4eLNtlUgkEAQBdrs94Dm//PILZsyYgfj4eFRUVDiP33vvvVixYgWm\nTp2KlJQUOBwO7N27F9u2bcNFF12EXbt2QaPRAECr2vnVV1/hzjvvxLRp05Ceng6NRoMTJ05g1apV\nUCgU2L59O0aMGOG87v3338e9996LxMREXHPNNYiJiUF1dTUOHjwIANi1a5fz3JKSEkydOhUlJSW4\n7LLLkJubC4PBgFWrVqGyshLvvfce7rrrrla3lZB26+4oTUh385dJHj9+nMnlcpaVleWTNW7cuJFJ\npVI2b94857G33nqLCYLA3nrrLZ/7NzU1MaPR6Pz7448/ZoIgsE8//bTNbW0pk2SMMbPZzGQyGZNI\nJOz06dPO4yUlJczhcPic/9FHHzFBENjSpUs9jrfUzurqamYwGHyOHzx4kGk0GnbVVVd5HL/44ouZ\nSqVi586d87lGzLRFU6ZMYVKplH399dcex3U6HRs1ahRTq9Wsqqqq1W0lpL1odishfvzzn/+EzWbD\nm2++icTERI/Hpk2bhmuuuQY//vgjGhsbPR5TqVQ+91Kr1X6PdxaFQoHo6GgAQE1NjfN4amqq34kt\nd9xxB7RaLdatW9em54mNjUVoaKjP8REjRuDyyy/Hpk2bfDJeqVQKmcx3KkRUVJTz3wcPHsTWrVtx\n/fXX46abbvI4Lzw8HIsXL4bJZMJ3333XpvYS0h40cYcQP3799VcAwObNmz26AUXV1dWw2+04fvw4\nLr74Ylx77bV4+umn8ac//Qlr167FrFmzcOmllyInJ6ermw7ANYHFPSharVa89957+Oqrr3DkyBHU\n19d7LBc5e/Zsm59n9erV+Ne//oW9e/eitrYWNpvN+ZggCKipqUF8fDwA4LbbbsOjjz6KnJwc3HLL\nLbjsssswadIkn8lF4nuv0+mwePFin+c8d+4cAODo0aNtbi8hbUVBkhA/amtrAQAvv/xywHMEQXBm\nkqmpqdi9ezcWL16MNWvWYPny5QCAlJQUPPbYY/jzn//c+Y2+wGQyoa6uDgA8AtDNN9+MFStWYODA\ngZg3bx4SEhKgVCqdy2DMZnObnufNN9/EokWLEBUVhZkzZyI1NRUhISEQBAHff/89Dh486HHPRYsW\nISYmBu+++y7eeustvPHGGxAEAVOmTMHLL7+M3NxcAK73fv369Vi/fr3f53Z/7wnpTBQkCfEjPDwc\ngiBAr9c7J7O0JDs7G1999RXsdjsOHjyIDRs24O2338ZDDz2E0NBQLFy4sJNbzeXl5cFutyMhIcE5\nEWnv3r1YsWIFZs6ciZ9//hkSiWukhTGGpUuXtuk5bDYbFi9ejMTEROzbt8+ZLYq2b9/u97rbb78d\nt99+O/R6PXbs2IHvv/8e//73v3HFFVfg2LFjiImJcU60eeutt/DAAw+0qV2EBBuNSRLix4QJE8AY\nw9atW9t8rVQqxcUXX4zHH38cX375JQBg5cqVHo8DaHaGans5HA48//zzAIBbb73VebywsBAAMGfO\nHI8ACfBZpSaTyedezbWzpqYGer0eEydO9AmQBoMB+/bta3Zhf3h4OK666iq8//77WLBgAerq6rBt\n2zYA/L0H0Kb3vjPfU9K/UZAkxI8HHngAcrkcixYtwsmTJ30et1gszg91ANi3bx/0er3PeZWVlQCA\nkJAQ5zFxUk1JSUlQ21xdXY1bbrkFW7ZsQVpaGp566innYxkZGQCATZs2+Vzzpz/9ye/9mmtnXFwc\nQkJCsHfvXo9uT6vVioceesjZZerO+7lFVVVVAFzvUW5uLiZPnozly5fj448/9nvNoUOHnGOTLbWV\nkI6gdZKk30tPT0dpaSmKi4s91kl+8cUXWLhwIRhjuPLKK5GVlQWr1YrS0lJs27YN8fHxOHLkCADg\n4Ycfxvvvv49LL70UmZmZiIyMRFFREX788UcIgoBNmzZh3LhxAPiElOTkZMhkMtx+++3OTOzBBx9E\nWFhYs20Vs8BnnnkGjDE4HA7odDoUFBQgLy8PVqsV48aNwxdffIHMzEzndQ6HA1OmTMH27dsxYcIE\nTJo0CVVVVVizZg2ys7NRVFQEuVyO06dPO69pqZ1PPfUUlixZgvT0dMyZMwcWiwWbNm2CTqdDTk4O\nNm3a5PGeRkREQKvVYvz48UhLSwNjDNu2bcPevXsxZswY/Prrr86M8OzZs5g2bRpOnjyJkSNHYuzY\nsYiIiEBZWRl+++03FBQUYOfOnRg7dmyH31NCmtVti08I6SHS09MDVtw5dOgQW7BgAUtLS2NKpZJF\nR0c7q+hs2rTJed6uXbvYfffdx0aOHMmioqKYWq1mWVlZbOHChaygoMDnvmvWrGETJkxgGo3Gufax\nLRV3xIoySqWSxcbGsjFjxrA//vGPbO3atQGvraurY/fffz9LT09nKpWKDRo0iD399NOsqamJpaen\ns4yMjDa102azsddee43l5OQwtVrNEhMT2R/+8AdWWlrKFixY4POa/vWvf7F58+axzMxMFhISwqKi\notjFF1/MXn75Zb/rLRsaGtgLL7zAcnNzmUajYWq1mmVmZrLf/e537IMPPmCNjY1BeU8JaU6PzyQX\nLlyI1atXIy4uDocOHQIALF68GB9++KFz5t6LL76IK6+8sjubSQghpA/q8WOSd9xxB9asWeNxTBAE\nPPLII9i/fz/2799PAZIQQkin6PFBcvLkyYiMjPQ53sMTYEIIIX1Ajw+Sgbz99tsYOXIk7rzzTuh0\nuu5uDiGEkD6oVwbJ++67D6dPn8aBAweQmJiIRx99tLubRAghpA/qlRV34uLinP++6667cM011/ic\nM2jQIBQVFXVlswghhPRwAwcOdBbXaI1emUm675H3/fffY/jw4T7nFBUVgTHW73/E9XT9+YfeA3oP\n6D2g90D8aWvy1OMzyfnz52PLli2oqalBSkoKnn32WWzevBkHDhyAIAjIyMjAe++9193NJIQQ0gf1\n+CAp1r5011WFogkhhPRvvbK7lbTe1KlTu7sJ3Y7eA3oPAHoPAHoP2qPHV9xpL0EQ0EdfGiGEkHZq\na2zo8d2thBBCgi8qKgrnz5/v7mZ0msjISOfm4x1BmSQhhPRDff0zMtDra+vrpjFJQgghJAAKkoQQ\nQkgAFCQJIYSQAChIEkIIIQFQkCSEEEICoCUghBBCWq2wrhBrC9eirKEMAyMH4oqBVyAlPKW7m9Vp\naAkIIYT0Q/4+I20OG/ac3YO80jzYHDZMSJmACckToJQpAQD55fl4e/fbUMvU0Cg0qDfXw8ZseGLS\nExgcPdh5H4vdgrL6MiikCgzQDoAgCF362oDgLQGhIEkIIf2Q92ekgznw3t73sKNsByJVkRAg4Lzp\nPIbGDsUjEx6BIAh4bN1jkElk0Cg0zuvqjHWIVEVi8dTFEAQBO8t24rODn8FkMwEMGBA2APddch+S\ntEmtbpter0deXh5mz57tcXzs2LFYuXIlEhMT2/z6WjoeCI1JEkIIwYnaE9h5dicyIzIRpY5CpDoS\nGREZKDhXgP0V+3Gu8RwazA0eARIAIlWRKNWXotHaiKK6Ivxr77+gVWiRGp6KlPAU1Bnr8MqOV2C2\nmVvdlo0bN+Lqq68GAOTn5zuPz5s3DxJJ14YtCpKEEEJw5NwRyCVyj65RQRCgUWiwv3I/VDIVHHD4\nZGF2ZodUIoVcIscvp3+BUqqEWq52Xh8bGos6Yx0KzhW0ui2CIDjbsXTpUufxqKgoqFQqLF++HC++\n+GJHXm6rUZAkhBACpVQJu8Puc9zmsCFEHoJIdSSGxw1HeUO58zHGGM7Wn8WlqZdCKVOi0lCJUEWo\nzz0YY6g317e6Lfv37wcArF+/HlqtFgCwbNkyJCUlITw8HLm5ubBYLG19ie1CQZIQQghyk3IhCIJH\nt6jVboXZZsb45PEAgDtG3YFEbSKKdcUo0ZWgRF+CITFDcGPOjQCA7Jhs6E16j/syxiAIAhI1LY8j\niiQSCdLT07F+/XqYTCZkZmaivLwc11xzTRBeadvQxB1CCOmH/H1Gbi3Zik8OfAKHw+E85/qc6zE7\na7az+9PusONk3UmcN55HbGgsBkYOdD5W01SDZzY9AzuzIy40DjaHDeX15bgo9iL8ZdJfIBGCk5eV\nlJTgk08+wTPPPNOm19fc8UBonSQhhBAAwGVpl2FY3DAcPXcUDubAkJghiAuN8zhHKpEiOybb7/Ux\nITF4avJT+O7od9hfsR8KqQJXDb4KcwbPCVqABNClCRBlkoQQ0g919mek3WGHRJAEfY2kwWDAe++9\nhy1btuCFF17AsGHD/J5H6yRbQEGSEEIC6+ufkbROkhBCCOlkFCQJIYSQAChIEkIIIQFQkCSEEEIC\noCBJCCGEBEBBkhBCCAmAgiQhhBASAAVJQgghJAAKkoQQQkgAFCQJIYSQAChIEkIIaRujEfjmG8Bm\n6+6WdDoKkoQQQjwdPw7k5wd+fNs24MsvgQubI/tlNAIXttzqzShIEkIIcbHbgU8+AT7+GDCZfB83\nGoEVK4DERGDZMv/ZJGPA668D69a1qwl6vR6rV6/2OT527FhUVFS0657tRUGSEEKIy8GDQHk5YDAA\nv/7q+/i2bUBTExAXB1RX+88mjx4FCgqAlSv5uW20ceNGXH311QCAfLeMdt68eZBIujZsUZAkhBDC\n2e08O4yM5EHwu+88s0kxi4yP539HRflmk4zx66Ki+LVbt7a5GYIgOPehXLp0qfN4VFQUGhoa8P33\n3+PZZ5/Fvn372vUy24KCJCGEEE7MIiMigJAQ32xSzCLVav53WJhvNnn0KFBYyINkfHy7ssn9F+63\nfv16aLVaAMCyZcuQmJiIH3/8EQMGDMAjjzyCV155pUMvtzUoSBJCCPHMIkXu2aTJBCxfDpjNQEmJ\n66epiV/ncLiyyLAwQBAAlapd2aREIkF6ejrWr18Pk8mEzMxMlJeXY86cOVi0aBHGjh2LM2fOICMj\nI8hvgi+B9dGtqfv6rtuEENIRPp+R+/YB//gHzwDd1dQADz0ETJoE5OX5n6ijUACXXQYcOwYsXQqk\np/MgCfAgqdcDr77Ks9Mgef7557Fo0SKEBLhnoBjQ1tgga3cLCSGE9B3h4cBtt/l/LC6OB8Jp05q/\nx6+/8ozyzBnP4w4H74bNzQ1KU3/44Qc8+OCDOHv2LLKysoJyz0AokySEkH6oUz4jLRbeHetPaCgQ\nhJmp33//PV544QVERERg6tSpePrpp/2eF6xMkoIkIYT0Q339MzJYQZIm7hBCCCEBUJAkhBBCAqAg\nSQghhARAQZIQQggJgIIkIYQQEgAFSUIIISQACpKEEEJIABQkCSGEkAAoSBJCCCEBUJAkhBBCAqAg\nSQghhARAu4AQQghplSefBCor/T+WkAAsWdK17ekKFCQJIYQACBwExQBYWcm3ivSnuLh192gNvV6P\nvLw8zJ492+P42LFjsXLlSiQmJrbuRkFAQZIQQgiAwEFQDIBddY+NGzdi3rx5AID8/HzkXtiHct68\neZAEYbuttqAxSUIIIT2KIAgQBAEAsHTpUufxqKgomEwmLFu2DC+++CLy8/M7vS0UJAkhhPQo+/fv\nBwCsX78eWq0WALBs2TIkJiZi+/btiI6ORlZWFk6cONHpbaEgSQghpEeRSCRIT0/H+vXrYTKZkJmZ\nifLycsyZMwe33norMjIysHfvXlx//fWd3hYakySEENIqCQmBxxYTEoL3PIsXL8bixYsDPp6RkYG5\nc+di8eLFeOGFF4L3xH5QkCSEEAIgcBAUA2BPWOLxxBNP4H/+53+gVCpx/PjxTn8+CpKEEEIABCcI\nthRoO2ru3LkoLCxEQUEBnnvuueDctBkCY4x1+rN0A0EQ0EdfGiGEdFhf/4wM9Pra+rpp4g4hhBAS\nAAVJQgghJAAKkoQQQkgAFCQJIYSQAChIEkIIIQFQkCSEEEICoCBJCCGEBNDjg+TChQsRHx+P4cOH\nO4/V1dVh5syZGDx4MGbNmgWdTteNLSSEkN4nMjLSudtGX/yJjIwMyvvU44PkHXfcgTVr1ngcW7Jk\nCWbOnIkTJ05g+vTpWNITaiURQkgvUldXB8ZYn/2pq6sLyvvUKyruFBcX45prrsGhQ4cAANnZ2diy\nZQvi4+NRWVmJqVOn4tixYx7X9PVqEoQQQtquX1TcqaqqQnx8PAAgPj4eVVVV3dwiQgghfVGvDJLu\n3HewJoQQQoKpV+4CInazJiQkoKKiAnFxcX7Pc9+PbOrUqZg6dWrXNJAQQkiPsHnzZmzevLnd1/fK\nMcnHH38c0dHReOKJJ7BkyRLodDqfyTs0JkkIIcRbW2NDjw+S8+fPx5YtW1BTU4P4+Hg899xzuPba\na3HTTTehtLQU6enp+OabbxAREeFxHQVJQggh3vpckGwvCpKEEEK89YvZrYQQQkhX6JUTdwjpz558\nEqis9D2ekABQXQ1CgouCJCG9TGUlkJ7ue7y4uPX3oEBLSOtQkCSkHwpGoCWkP6AxSUIIISQACpKE\nEEJIANTdSkgnaeu4X6Dzm7uGENK5KEgS0knaOu4X6PzmriGEdC4KkoT0MgkJ/oNmQoLvsUDZqdfO\ncs3eg5D+jIIkIb1MW7pdm8tOP/kkGK0hpG+jiTuEEEJIAJRJEhIk3l2beXnAgQOARgPMmNF97fK2\nYQNv54IFvo/RBCFCPFGQJCRIvLs2DxwAIiIAna511wcaaxQfCxaDgQduKiZASMsoSBLSSTQaHiAN\nBs/gEyjgUQZHSM9DQZKQTiJ2sRYXd98kGX/ZqcFAs1gJaS0KkoR0ge4qKO7v3gsWBJ7xSgjxREGS\nkC5ABcUJ6Z0oSBISJM0t8g9Ubo4Q0rNRkCQkSJrrNvW33KK7tGYWLdWRJYSjIElIP9OaAEd1ZAnh\nqOIOIYQQEgBlkoR0gbYUJSeE9BwUJAnpAjSGR0jvRN2thBBCSACUSRJCfHRVHVlCejqBMca6uxGd\nQRAE9NGXRgghpJ3aGhuou5UQQggJgLpbCelnuquOLCG9EQVJQvoZ70IBGzbwnUEMBs/gSUGTEAqS\nhPR7BgPfHBrwDJ5UWYcQGpMkhBBCAqJMkhDSKjSWSfojCpKEkFahPTFJf0RBkpB+xrtQgMHAf2s0\n3dKcVqEslnQXKiZASBfpqR/0zbULcD2Wl+cKpBoNMGMG/3dxMfDJJ53bxgULAmexnf3cpG9pa2yg\nTJKQLtJTuytb2ixabPOBA65ZsDpdZ7eKkJ6BgiQhxIeYXebl8eAIAKWlQF0dkJnZvW0jpCtRkCSk\njwlGt66Y9bpnj5WVgMUStGYGVaDXDHR/dzbp3ShIEtLHdFa3rkLBJ/nodPy3eL+esCtIoNcMdH93\nNundKEiSPqcnTZBxb4t71yXgOfmlN8jM5AFy7lyaMEP6DwqSpM/pSRNk3Nvi3nUJ9I7JLxqNZzvF\nDLKrs8dA+1v2hCyW9G0UJEm/YrKZsL5oPTaXbIbNbsPE1Im4cuCVCFeFd/pz95SA0xbemW53ZZA0\npki6C9VuJf2Ggznwxs438O2RbyEVpFDL1Vhzcg1ezHsRTdamTn1ucacNQkjvQpkk6Tf0Jj2O1hxF\nekQ6BEEAAKRFpKH4fDF2le3C5RmXB/X5nnzSNQ5ZWsonvgD8t7iMIj29Z04s6W3dm4HaKz5GSHtR\nkCT9Rr25HrESuTNAijRKDQ5XHw56kKys5F2sERH83yoVP24yBfVpfIgBIz8fMBpdx9VqXhygNROY\nunOCk7ee2F7Sf1CQJH1OoKwiPoHB7rD7HDfbzIhSRwW8X0dmy4rjkO7rCy0WfqyzaqWKbWqulFtP\nQ0s4SE9FQZL0OYEC13ljOJ7YIIfBYoBGwSOUyWaC1WHFpamXBrxfR2bLihNfVqzwLOk2d27L1xJC\nuh8FSdJvRKoj8dC4h/DunndR11QHBga5VI67L74baRFp3d28oPFXUg7ofesyCekJKEiSfmVo3FC8\nfuXrKKwrhN1hx8CogQiRh3T687ov/3CvVgMEf2KJv5JyAH/+DRv44wsW+F7nr/u4JxVmIKQ7UJAk\n/Y5CqkBObE6nP4/72OigQZ7HuyvAGAw8YLe2+7gjXc0UYElfQEGSkE7SmYFg/Higpsb3eEwMkJ3N\n/+2veAHQ/szVfa1nSYkr8KvVQG6u697i625LgKUlHKSnoiBJSAvcP8Ddl1WISyrEc7oyO6qpAZKT\nfY+Xlbn+7a9aDhB4FmlLDAZX921pqev5dTrXPds7E5UyS9JTUZAkpAXuH+BdsayiI2sGa2p8J+yI\n7HZXxudOzBANBt+xyvz89gdVQvoCCpKE9DAdWTNot7sKGJw65bk+s7GRZ8EHDnjOdHXPEL2fNy+v\nHS+AkD6EgiQhfYw4FmkwuErhAbx7OCGBH6+sdFXlKS4G5HJAJuPrOd3vo1a7ArN77VlZGz853Mcz\nvTNWmshDejIKkoT0Eu7LN6qqXEHHvRYs4L+AAcADp/iYuJuHeC/Jha0O3Lt5LRZgwADXrh/uXc3u\nwTQQ97FcsUSfeNw9Y6WKOqQnoyBJSC/hvnxDrfY8Ls5ilUrbfl+bDQgL8/+Ye+1X96DnnlUGKq/X\nmrFcbx2t4UpIsFGQJKQNump3DH9ba5WWuro5Bw/27L4cNYr/2253XV9a6psZbtjgOes1P59fL45d\nms0AY67HGxv9F0X3Dmbie9LR94FquJKehoIkIa3Q1Qvj3SfTiCorXcHMPdC5b4T85JP8b39t1Wh8\nA6/RyMcjRYzxrlebjf/bauUTfcRxTPH1UkZH+gsKkoS0Qkcqz7TVsWNAUZFn8AJ4oGppwowYvIYP\n5+d67z5y/jzw3XfA7Nmu41qtaxuvmhp+XVMT4HDwQO0+89Xf66XKOqQvoyBJSA+Tnc33nPTOJI8d\n8wx6zTEagRw/lfd0Ot41KwYvtRqoq3M9LnbXOhyA17abAbXmCwRV1CG9FQVJQnoJhYKPEXpX/3Gv\n/APwoFNb69u1CvAga3fbUjM3l0/2EQPysWM8q/RX8q4jujyjPHcOiI52TdslpJ0oSBLSzby7K/Py\neHZXV+e5tCMzk5ed87ckw11xMR9TDA/n3avuQdFu54+Lk3EAzxqvYqYqXuO+zrIjWtslG5SMs7ER\neP554JZbeJFbQjqAgiQh3cy7u/LAAR6s3Jd2iNyXfjRHKuVdthaL57IQhYL/LY4vugee/HzezdrY\nyCfsyGS8DUeO8Nm0In9BXaziA/gvGpCfD1x/vW87vQNiUDLOrVuB8nLg22+BMWPaXvmAEDf0Xw8h\nPVBmJg+Qc+d6Hu/oRCG7nS/zEHmvZRQDmXeFnEGDXEHVX1CPiHAFdPexVPG8Litv19gI/PADfwMr\nK4G9eymbJB1CQZJ0OpvDBqPViFBFKCRC7xwj6qr1kV3F3+bL7hlhoCUmgP8Nm3uMrVt5Ch0fz8ck\nKZskHUT/5ZBOY3fYsaZwDX46+ROMNiPCleG4Luc6XJpyKYTWTp3sITpr4smTT/ru2lFezn/CwnwD\nc2uDckwM38pKnIjjrr7e/+bL3hlha7nXivU+3qXELDI+nv+t1fI3kLJJ0gG982s96RVWHFuBrwq+\nglapRWp4KmQSGd7f+z62n9ne3U3rMcSapuJ6xIgI/0s3/BGzW++frs5uZ8zwHxANBp6xdhkxi1Qq\neSUExoCoKJ5N2mxd2BDSl1AmSTpFk7UJawrXIDUsFXIpXxUfqghFgiYBy48ux8SUid3a9Wq1W7G1\nZCs2FW+CxW7BhOQJmJE5A1qltsvbUlPDMz6Hw619Vh5kCgt9uz5bQ63m2Z2/dZWd0fMoZqaAb1F1\nsT2d3l198CAPjCUlnsfVap6ap6YG8clIf9Grg2R6ejrCwsIglUohl8uxe/fu7m4SuaDOWAcHczgD\npChUEYpSfSlMNhNC5CHd0jYHc+Cfe/+JPWf3IC40DlKJFCuPr8Se8j14evLTCFWEdml7YmJ4ouPe\nLVpVxbtb/a11FDW3iD83lz/mrwasuMGyd4DSaPhMVqMR+M9/XMfVat4tLHY5+xufdb+fe3etwcDP\nnT27C9aT825NAAAgAElEQVRKPvlkJz8B6Y96dZAUBAGbN29GVFRUdzeFeAlXhgPg45JSiWsNgtFq\nhEahgVKq7K6m4WTtSeSX5yMzMtM5NpoekY5iXTF2lu3E9Mzp7b53TyvR5p6FisQA5x1gZ8xwBdTm\nZtX6ex3Nrdl0n/TTKRoaeA0/78FXQoKgVwdJAGDuWxaQHkOr1GJK+hRsOLXBOR5psVtQ3lCO20fe\n7hE4g6k1Wy0V1RVBIkh8Jg+FKcNwsOpgs0FSb9LjZN1JSAUphsQM8cmGu6rGq78JPyK7nWduzS3K\nD/QelZfzrNZ7v0iDwTOb7DEYA/75TyApCbjttpbPP3WKT+wJ7dreAtJ79eogKQgCZsyYAalUinvu\nuQd33313dzeJuLll2C2QCBJsLt4MxhhkEhluGnoTZmT6SW+CpDVbLYUqQsHg++XKbDM7M2B/Np7a\niP8e+i8czAEIgEKiwL1j7sXoxNEdb3gruC/bEKvyGAy8GHmIW6xubPTcscOd+CUiP99z7aJezyv0\n1NXxeS9iEHXf0DlQYO1WhYXA4cPA8ePAlVfyvutAmpqAV18FLr8cuOGGrmsj6dV6dZDcvn07EhMT\nce7cOcycORPZ2dmYPHlydzeLXKCQKnDbiNswN3su6s31iFJHQSXr/i6xUQmjoJAqYLAYoFHw2SYW\nuwUmuwmXpV3m95pT50/h898+R5I2CQopr9XWZG3Cu3vexdKZSxGlbrnL31+Wm5/PS815r4jxV3LU\nfdmGuH2VSsUDnHtPo8USeMcO8UuE9xeJN9/k95ZIeFvEblfGPEvj9SiMAcuX86UeZjOwZk3z2WRe\nHn+z1qzhfcveFeQJ8aNXB8nExEQAQGxsLObNm4fdu3d7BMnFixc7/z116lRMnTq1i1tIAECj0DiD\nUU8QrgrHg2MfxDt73kGtsRZggESQ4LbhtyErOsvjXDGwFdY5UN34R4/uVU2UAVk3fYR9FftalR37\ny3LT0/nWVQCfMCMymfiPWGsV8J1so1C4zjGZXMfbM3vVZuMxQyr1vN69Ok9zuqXYQmEhn2mUns7f\nhF9+CZxNNjUB33/PF4+eOwds3Oi/Th7pczZv3ozNmze3+/peGySbmppgt9uh1WrR2NiIdevW4Zln\nnvE4xz1IEuJuWPwwvH7l6zhecxw2hw2DogYhXOXb1SoGtipZLSxGHULkrjUVusoI5H92I0rYYPzn\nwqWBqtY0Jzc38OQW7+zTYODjhaWl/Dmys4HffuO/ne1qQzEAcfar0ciXoVit/EcQeLer3c7v11Jh\ngC4fqxSzSI2GN1Ym42lwoGwyL89ViSchAfj5Z2D6dMom+wHvBOnZZ59t0/W9NkhWVVVh3rx5AACb\nzYbf//73mDVrVje3quey2C3YfHozfin+BSabCeOTx+PKQVciQtV/PyRUMhVGJoxs1bnxmniUN5R7\nZJKMMTTqtJicq0bshXkghYU86FRW+u6n2J4xPffsU6yIIx5v7d6SzTEY+D0lEt5lq1LxeGOz8YSs\nvt4107UzNphuN/csUpSQ4D+bFLNIsRKPXM6DLGWTpBV6bZDMyMjAAX9T+4gPB3PgX3v/hT3lexAf\nGg+VTIV1heuQX5GPv1/2925ZQN/bDNAOwKnzp3DedB6h8lAwxtBgaUC0OhoxIa4PZDF79Lf0obma\np4Fm5ebnB56I1BmkUh4gxS5cq9UVHL27Trt1uctvv/Hf3oUDBIGnxJde6jqWl+dKhxsb+TGtFli1\nirJJ0qJeGyRJ6xXVFSG/Ih+ZEa51gakRqSjWFWNb6TZcnXV1N7cweIKyH6Efcqkcl6ZeitPnT+NM\n/RlIJBJkRGQgRB6CmqYaRKojIZO0//9OgWblBto9Q6FwbaXFGJ/8IxKr2/h7vd7vjzhBR5woFBnJ\nf5tMvAvXff/KJ5/0LYiu0fgviN7prrsOuNCT5MN7FlRdHTBwoOcxpZJP562tpSBJmkVBsh84rTsN\nAYLPusAIVQQOVR3qU0GyMzMYhVSBITFDMCRmCMrqy7C1rBQO5kCZpBYyiQxjksYgXhMftOfbsIFX\n3nn3XZ7dNTXx0nUSCV/y4XAAo0bx3sXWvm7v88QiAB9+yLtWRVYrD5DuvZYtbZHVpQTBNxgGcsst\nndsW0qdRkOwHNHIN/CwLhMlmQqQ6susb1Iv4y0wbLY3YX1mMmFgrTPpIhKtssNgt2HV2F2ZmzoRa\n7n9n5OZmgPrrtjQY+PBZY6NrbgrAu0LFma3BqmZz1138tziRx2Bw9Vi6b5zclV2/hPQEFCT7gREJ\nI6CWq1FvrkeYMgwAn8hjtBoxJW1KN7euZ/OXoX1dsArhReuRHJaMFUv4rBaFVIEmaxPKG8oxMGqg\n70UB7iUKNF4pk/GApVB4Hm9o4Nme93VtHQ/0DtziriQJCb4BsTM3Tu5p5fwIEVGQ7Ac0Cg0WTViE\nt3a9hRJdCQRBgESQ4PaRt2NIzJDubl6vU9dU56w9q4kyQFfJx7QaLXKUGiWQ1gdvfWBSEu9qDQsD\nzp/nWSTg2jFEnLsmjgu2dTwwUPdrW5SXe5axMxj4fdoS4Jor50cBlHQnCpL9xODowXjtitdQWFcI\nq92KzMhMmtXaTjmxOdh5didiEYsZf+QbJjLGUKwvxiPjH8HIdgTIlnbWAHiA9C4UIM456Y5xQXGz\nZfciCIArCw3WBJ6uqodLiD8UJPsRhVSBnNhW7uhLAho7YCzWnVqHEl0J4jXxcDAHqgxVGBI9BEPj\nhrbrns3trHHkSIeaGzTee0IOGsR/2+2+u4YQ0ldQkCSkjdRyNZ6Y9ATWFq5FXmkepBIprrvoOswa\nOAsyiSxo3YNidulw8JmnFgsPSBKJa5ZrVwpUGai59Z+E9HYUJAlphzBlGG4ceiNuHHqjz2PB6h4U\nA6qYUa5YwZf8WSy8TrfDwdfNA/zYhg2u7K6rBNqyS6PxbEtLW5gR0lNRkCSkhxMzSnFphjjTVaHw\n3P1DLAwQjOcK9Jh3sBO37LJYPHcL8R4jbWkLs4QEXujde3xTfWE1DS09Id2FgiQhPUhzGZe4sF+j\n4VmkzeYqACAuFeloVtZSd7D37Fdxy66O1pFdsiRwIP3uu27YYYSQCyhIkj7DwRyw2q1QSBU+1YV6\ni+YyLpH34zaHDWX1ZSg40Yj0G7ahoHoycmJzuuw9cC+RJwpGwBY1t0tKhxw/DqSmutJVQvygIEl6\nPZvDhrWFa/Fz4c8wWAxICUvBjTk3YkTCiO5uWqez2q3YfmY7juxKglkXh9efGImXHXVIDS9FWkRa\nh9YSeme1+fk8o1Or+fpNwLVlV2qq5wzX4uIesIbRYgHOnPGt2wrwQd1XXgHmzAGuuabr20Z6DQqS\npNf7+vDXWFu0FknaJESro6E36/Hqzlfx+MTH270koyO6YgNisXxcg9mEOmMGTLVxAABj9QCkX1yI\n8+b9yE2KRmV5+ze79lerNfTClmDiOKTRyH/EfS5rani3sFhQQJSXx3e3au0em0GxYwfwxRfASy+5\nKreLNm7kDV+1Crj88pY3zCT9FgVJ0qvpTDpsPL0RaeFpkEqkYIwhQhUBB3Ng+dHlnRIkjVYjCusK\nwcAwKGqQxx6TQOdmUGIAFsvHNVobnbuPKNQWWIwKSAQJwIDaplrk52uwYAHPAt0nxajVvBtTvGdb\n22yx8ElD4mQhhYIXNigtdRU4cA+whYW+e2y6v6agM5v5YKbBAKxfD9x0k+sxvZ5vupyaClRUAJs2\nUTZJAqIgSXq1KkMVAKDSUIljNcfQYGmARqHB4KjBaDA3gDEW1LG5fRX78H7++zDbzIAAKCQKLBy9\nEOOSxwXtOUQffsh3/hBZra59g/V64LbbgO2lRag316Nk12ioNCaYDBemuwqAVCKF0ciD1YEDQHKy\n6146nSuItWVpijj+KGKMt8vh4Pe0Wl1bN7oTS+Z1ytiiP7/+ygvcZmYCa9cCM2e6ssmNG11V4hMS\nKJskzaIgSXq1CFUEKgwVOKs/i1BFKMKV4bDYLfi17FeMShgV1ABZ3ViNd3a/g+iQaIRoePZotBrx\nXv57SAlPQZI2qcPP4d5Vq9e7ujcB/hkuBroq/t0AaRFp2H12NxhzbfNitVshESSIDYntcHu8ZWa6\nJuhERACnTvGgmdTxl+567Yx5bIPV5kxTzCLj4vg2Koy5skkxixRvqlTytJiySRIABUnSq8WExKDR\n3AgmMOesVplEBokggdluhtVuhVwqb/YeFQ0VWFe0DkdrjiIuJA6zBs3C0NihPgF299ndYGAe3atq\nuRoCBOws24nrLrquw6/HvdszL88z+/MnSZuE9Ih0lDmsEGwmWOwSGG1G5CbmQilTdrg9LbFYXF2t\nAI9J7d1jcskS8H7Zb78F/vIXQCptX6PELDI6mv+dmOjKJjdt4lE9LIwHU4B/+1i5krJJ4hcFSdKr\n6c16pEWkQWPUoKKhAhAACSQYmTASKqkKerMeMSExAa8/oz+D/9v6f2i0NCJCFYEGcwNe2v4SFoxc\ngGmZ0zzO1Zl0kEt8A65CqsB50/k2tz0Y5et+2ShBQ8NoCA12GOoccNgkKPo5GSftEkilPCFbsYKP\nFVZW8oDmvui/ufbk5/NALY5f2u18I2a12jW+abG0La40W3knnmFJ5LfA7t3A/v3AmDGtv7HIbOZB\nVqv1HIQ1m3k2abEA2dmu41YrD5hyOd9mhYIk8UJBkvRqIfIQqOVqjA4fjWFxw2CxWxAqD4UgCKg0\nVCJUHtrs9R/t/wj7K/bD6rBCEASEykMxLHYYvir4ChNSJnhsoJwdnY0Npzb4jHM22ZowNKbtE4Q6\nUr5OKnWfwCMgJZn/X1mj4YmSmM2Vl/NzjEZX7VeLxbXVVnPtcR+z9B5LFIOdweDaDQQAQkJ4QXaj\nEfjPfzyvEYshBKy8c7AeCDsKpKXxQDd6dNuzybo6ICrKlSWKBgzgU2/vv991zGQC/v53YP58YGjX\nz4ImvQMFSdKrqWQqTEufhp8Kf0J6RDpC5CFwMAdKdCWYNXCWR5DzZjAb8E3BNwiRhSBcGQ5BEGC0\nGrGnfA+GxAxBWX0ZsqKznOePTBiJQZGDcLLuJOI1fAZNVWMVMiIyMDpxdKe+zlOnPKvaiPtKqtW+\nO3C47+0o7kVpNLquAfjfYjBuz+xS77qy/p7fu13NBn/GeLo7XgOEhwOnT7cvm0xMBJ57rnXniutS\nli0DcnI8xkEJEVGQJL3edTnXocnWhLzSPAgQ4GAOTE6bjBtybmj2un2V+8AYg0qucmaGarkaOpMO\nlYZKqGQqj/PlUjkemfgINpzagK0lW8HAMHfIXMwaOKtTxv9iYnj3JsB7AuVuPb3h4Tw45eU1fw+Z\njCdMYlEZnY4HW/cErbISzmUigbK8QN2kzV3TJnV1vHFiuhkV5ZtN2my+G2q2oa0e3dgmE/D990BW\nFg/IR47wbLKhAfjsM+DOOz0L45J+i4Ik6RRWuxUHKg/gcPVhaBVajEseh5TwlA7d0+awoVRfCgBI\nDU91rQ+U8mUY87LnodZYiyh1FKLUUS3er8pQhZTwFFQZqhChinAGSpvDBpVUheQw31kzIfIQzBky\nB3OGzOnQa2mNnTtd//aXsbVGUpJrUg0A/PYbMGKE5xIQUXMBN1DXsFiFx12bS9IxBhw9yr8FiNmc\nmE0eOMAHRHU6XhTgkUdcgbSNbS0+5QBMFxZ45uUBjY1AbCxPtb/9lmeTmzbxST4XXQRMm+Z7E9Lv\nUJAkQWeymfDar6/heM1xqOVq2Bw2rDq5CgtHL8RlaZe1656Hqw7jg30foMHSAAAIV4bj3jH3YkjM\nEOc5kepIRKojA93CR0pYChI0CZBJZChvKHceFyDg9yN+3yPrv4qVdkRVVbx7U6Pp4mo2F/irq9rm\ngF5fD5w7B9jjXKkzwDPHNWv4k6xfDxw6xP++7bb2NfbsWeDtr4AHHuBZpLjoNCqK92fv2QOsXs1n\nNi1fDkyc6JlN6nS8TS0EadK3UJAkQbe1eCuO1xxHekS6M9CYbWZ8dvAzjEoYhTBlGPQmPUr1pVDL\n1ciIyIBUEniCRnVjNd7c9SbClGFIDU8FANSb6/Har6/hxRkvtipr9GdU4igkaBKgkCqQFZUFg8UA\ng8WAmNAYzB48u133DMRfF2B7SrWJk3JEajWfnGM0uu5fVcWTspAQ/nnOGMPJIjuaTDYYGuQ4fITB\nbpVixQqhU4Jrfr7v/pIAHxOdPdvP2KRDCwyagYRYO/DE056PhYTw4LR2Lc/0Nm4ErrwycKBiDGAA\n4PUFR6zj+ttvwNdfu7JIgGevYWHA66/zoJiYyBu5Y4dnNvnZZ7w79qmngjN+WVQEZGR0/e7ZpE0o\nSJKg21a6DTEhMR6ZmFKmhN1hx7Fzx1DZWImVx1aCgYExhtjQWDw07iEMCBsAs82M6sZqhCpCncFv\nZ9lOOJgDWqXWeb8wZRjOG89jz9k9uGLQFe1qp0qmwhOTnsCXh7/Evgo+PjkmaQxuHX4rIlQRLd+g\nDfx1AQYq1daWrkr3RfziRBkx2zQYgIYGBr2pHlVVakCQwGEHdPU2CAyoqJCCMcEZJNXqwGXjAi3b\naCv/S1skAMT/bf2878uW8eCnVvPxyeayyZUrgbJcIMOra//0aT6lV6vl026TknjQFFksfKKQ+GbE\nxXlmkyUlPPoDfPcQ92Uk7VFWBrz4IvDww8CwYR27F+lUFCRJ0AmCAAbm97HjtcexrmgdUsNTnYv8\na5pq8Nqvr+GKgVdg+bHlsNqtYGAYlTAKd4y6A9WGar8TYxRSBWqaajrU1uiQaDww9gGYbCY4mMOn\nDmtn6qxSbeLnfHExoI6ox/rfDkFaMgYKtQ0mgxICBEBqhlQhh6lR4bxO7Dr1znorK/1nvRs2uCb9\nuDMaeWD1zlDbUv7OScwixW8OCQnAL7/4zyZ1Ol5i7kwcYI7j1XQAHgBPnADUSTx7rK8HFi3y3B3k\np594IBYLEISEANXVrmxy5UoepGUyPn759NMdyyZ//JF3MX/+OQ+WlE32WO0OkuXl5dixYweysrIw\ncuRIAEBJSQkqKiowbNgwaGhRbp9Tb67H9tLtOFF7AgnaBExOney3FNvk1Mn4/ODn0Cq0zmzSZDNB\nJpGh6HwRItWRHlVwYkJikF+RjxO1JzA0bihUMhUczIEDlQfwz73/xNikscg74zurxGQ3YWCkn22Q\n2sF7JmtbBaMwQHPEkm3u45GAa11kILPv3wbz0eVYcTwHYbH1qCmNgUxhg91hh9nmAKDwuaa1WW9l\nJW+X97niRszNKizkmdzw4Xys8fLL/Z+3fj0PXuLUXpmMBxR/2eTGjYDDgQTleRTvquIFzAHgTBWg\nj0RCgtHVtbpuHfD44/xvoxHYvPnCuV7Z5cqVfN1mfj7/LQjAyZMdyybLyvisrMZGHvALCvj7QHqk\ndgXJrVu34qqrroLxQkWLRx99FC+//DISEhKwb98+TJo0CXb3RVmk16turMYL216A3qSHRqHBoepD\nWFe4Dg+OexAjE0Z6nHtZ2mXYV7EPR84dgUqmgtVhBQDcefGdWHlspd+AdEZ/Btkx2c7HJIIEKWEp\nOHruKOZmz0VcaBzO6M8gUZsIxhgqDBVIDkv2WJ9otpmhM+kQrgrvcNBrq44UBmiN1qxLdCdmeWee\nGIkSfQQM50NhMSpgNfH/y9sdAgSpFMzauvWS7lmv+xcCcYssoA2ThxwOPr539ixw8cXA9u18Nql3\nA8xmYMsWPlnGPXjZ7TzDmzfPVdxWp+M1WRMTseSa7UDNSuDVV3lQe/QfwNgoV2YZG8uXfBQW8iUg\ncjlw772eC0lFcjnP+tRqV7an1XYsm/zxR/7azp3jvz/8kI+HSiR8zFOl8lzvQ7pVu4LkP/7xD3z6\n6aeYNWsWysrK8OKLL+LJJ5/EkiVLMGHCBI9iy6Rv+O7Id2i0NCItIs15zGAx4KP9H+HVWa96ZIZK\nmRKPTnwUh6sPO5eAXDLgEiRpk1BUV4StJVs9ujUdzAGjzehcoC8SBIHXYLWZ8b+X/i9WHFuBHWd2\nQBAETE2fimuHXAulTAkHc2DViVVYfWI1bA4bpBIprhh4Ba7Nvta5TMTbeeN5HK4+DKvdiqzoLCSH\nJXfbbNbOyELFSjjDh2hRW1wDidQOmcIGAIhOOQeTzYSU8BToqtve3St+IThwwHMSUavrtRYU8DE+\ni4UXIk9P57NK77zT8zyFglfEKS3l44VXX+16TCbjXaIicWcPi4UHTpuNH0tI4GsixYrwIoeDZ3NZ\nWfxeo0b5b2tJCbB3L6/Y417r9dix9mWTYhZZU8MDoUzGA35BAV+n+cYbPKv0rsRAuk27guTEiRNx\nww18oXZOTg4+//xzfPTRR/j4449xtft/yKRPcDAH9pTvwQDtAI/jGoUGpfpSlNWXISMyw+MxmUSG\nUQmjMCrB88PnykFXYtfZXThbfxaxobGw2C2oMlRheNxw2B2e3+QdzAE7syNeE49IdSTuGH0HFoxa\nwCcA1R7D7rO7EaWOwhn9GXx39DukhKdAIVXAardi5fGVAIDrc673eT27ynbhg/wPYHPYAIHP/rxi\n4BWYP3x+pwXK5jZibksW6u8+YgLkflxcqxiuDEdWVBaOSawwmwQ4bALq9RKEKmJhbQx1FhkIJo3G\ns2tW3MtSrQYW/A8DDtgAy/1AQwMSmk5hyZhCPug5e7ZnNikIfALNV1/xbPOKK1xdqACvuyqXu7JI\nlYpnnlOn8vv89BPw8svA22/7b2hrigWUlfGlIlar5/G4OB68mwuSx48Du3YBf/iD69iPP/L/cSor\n+VpQgGeUH37IvyQcP86z5unTecZKul27gmRYWBgA4NSpU8i8UC35zjvvxOrVq7F69ergtY70GFJB\nCgdzQArfpRrNLd/wFhcah79O/itWnViFA5UHoFVqccfoO5CgScBL21+CTCJDuDIcVocVZfVlmJw6\nGXGhcc7rDRYDXt/5Ok6fPw0Hc6DeUo995fswOHowtEotYkNiIZfKkRKWgrVFazF78GyPrtc6Yx0+\nyP8A0SHRzpJ1docdPxf+jKFxQzE0bijyy/Ox48wOMDBMTJ6IMQPGBMxIA3GfYeo9scU7Q/R+vDmt\nzSxd3bICcmJzcDjFAqh0aGyQ43dz1IgJiYJEEILSHSyWzLNYPLt+xdfp0UVcVQ2gGIgIAc6fRjGS\ngJKNfJzQXzYpzioND+fjg3/+Mz9+4AD/+69/5bt+1NfzGazV1bxA+qBBvOty926++0d7TZrEf9rK\n4QC+/JIHvSlT+Him3c4rC507x7tWxQK6KhXv/v3vf/maTYOBZ8GUTfYI7QqSkyZNwv/+7/9i6dKl\n2LFjB8aPHw8AmD17NrZs2UKTdvoYiSDB5LTJ2HR6k0d3a52xDrGhsX4r0zQnUZuIu3Pv9jn+2ITH\n8FXBVyjVl0IpU2Ju9lz8bvDvPM757uh3KD5fjLSINByvOY7C2kLoTXocPncY1Y3VSA5PRm5iLuRS\nOewOO/QmPVQaV5A8XHUYNmbzqOkqlUgRpgzDluIt2Fa6DbvKdjmXgOyv3I+x5WNx/yX3O78MMMZw\npv4MzDYzksOS/daHdV/P6J0lBmucsrUEQUB0hBIGQzysdqDpHFB64bH21G0ViYXNDQbeM+rO77IR\nxngwUKl4sBAE3t148iQfzLyQTT75RoLr2iONgP5efs1GAxKO6LHkHS3wzTf8uv37gQkTeEb5zjvA\nJZfwrtU//pEHnNjg76nZKkeO8KAdFgb88AMP7lIpcMstvKt20iT++s+d42+iycRfz7Bh/I396SfK\nJnuIdgXJcePGYfjw4Zg/fz5GjBjh8diUKVNwwN9KYtKrzcueh6LzRSg+XwyZVAabwwaNQoP7xtwH\niRCc6evD4ofh/+L+DyabCXKp3Cd7s9qtyCvNQ1JYEurN9ThacxQRqgjUNtXC5rAhRB6CM/ozSNYm\nIzokGjIJb2edsQ6RqkgIggCLw+L3uWUSGUr0JahpqkFmZKaz2zVKHYU95Xtw5NwRDI8fjoqGCryz\n+x0cqz0Go80ItVSN+y65D8B0v/ctL/edWGMw8HHIYMx6bS33ZSEtjUF6d+naHXZYHVYkJ8ng/pEh\n3nPFCteuI+7Jj8+XgXPneKYnkfDfggDYTEBtLc8MNRpg9WpUVt7Jv1jodID5OJAQAQhmQNaA4n3l\nwEETn/STnMwn0PzjHzzbTLqwxENc8tHeyjwd5XDwdoWH8zdm716eEael8d+RkXxmq8PBg7zBwMdX\nBwzg/dIhIa4xVcomu12LQfLUqVNYuXIlFixYgMhIV8mvkJAQnwApygy0YR3ptbRKLf46+a84XH0Y\nJfoSRKujMTpxNDSK4PYaCIIQcOcOB3PwiTmCFOcazwHgWWBMaAzO6M/A5rBBKVXitO40qhqroJAo\n8LdNfwNjDFnRWVgwagEGRw923ss9uOtMOqSEpUApU3qMSwqCALVMjf2V+5Edk42Xtr+EveV7neXx\nHMyBB39+ECNVP6O42DVe5r4Ewn1yiyhYi/MDaW4MtCVi8LY77Fh1YhV+OvkTbA4bDFI5fjw+G/Hx\ns1Fc7HrvxNfaYgeSWs0zPZPJtcZRFwFc+z/8TUpJ4WN9Hx4HIuJ5V6V7PVeNBiirAT76mgcasb7r\nDz/wzE1M2RMSfCvz1NXxfmGdrvPr94lZZHo6b7tK5comp01zVfHZt493CTc08C8KAC+Nd9llrjFV\nyia7XYtB8plnnsF///tfVFRU4KWXXgLAA+fLL7+MBQsWYNy4cZ3eSNIzyKVyjE4c3enbQgWilCkx\nNHYoTutOexQrCJWHIkHDP/0NFgOkEimkghTJkTyjBPgSk5e2v4R/XP4PTM+YjvVF66FVaiGTyKAz\n6ZAVlYWBUQNRcarC53ntDjuUMiWO1hzFb1W/QW/WOzNTAKhprEHNxLuw5vY1zsArjsP5W57hrSMB\nLZBgZKk/nviRT4gK4xOizDYzvjnyDW65U+JRtq/VtVq1WtcHfk4O/10M4Dm3/56OHuXp976zPHDI\nZKF94uYAACAASURBVJ7TZhtVPDO78kr+d2Qk8NZbfAmJGExlMs/KPPX1wN/+xn+rVMC4cZ0XeNyz\nSLE98fGe2STAxye//Za3//x5PglIEPjPwYP8uCDwLwrt2XyaBE2LQXLAgAHYtm0bUt1mlWVmZuKd\nd97B888/D4PBgOnT/Xc1ERJstwy7BS9sewE2uw0WuwV6kx52Zkd6RDrqzfWQSqQYFT8KJrsJMaGu\niizxmngU64qxv3I/fj/i9xgePxxbS7bCaDVi3kXzMD55PKoMVVhbtBZWu9W5pMVqt8LGbBibNBZn\nG86iwlDhESABIEwVhsrGSpToSnxm+bZGV3a7tpbZZsbPJ392BkiAf0lJ1iZj9cnVmDVwlseyn6Bg\njAcO9UygrowHPvdgxhiwtdSzUo5KxccgNRreVenu0CEetDZu5Esszp/n6zI3bQLmBNjFhTEeTMWZ\np2118iQfcwwJ8exOaGzkBQzuvjAWf/Ag7zLOyODbgYlLQoYO5dnvX//qGrMl3arF/wUiIiIgkUiQ\nnOw5OUMikeBvf/sbHnzwQQqSpNMwxnCw6iDWF61HrbEWw+KG4c/j/oyC6gLIpDIU1RWh3lKPoroi\nyKVyxITEYEvxFihkCkQoIxCuCncGNIVUgQpDBSSCxO/ylLSINNw89GZ8U/CNR6Z6Y86NSI9IBwOD\n1W71GYM12UyIUkXBbDc7jwWqkAO0oluyB6g318PGbM4AKVLKlDA3mtFgaWh1YflAmbL4mNOxY3yB\nv/J3gFzFg9XQoa6MrLaWj2eqVJ7FBXJz+drCv/zF8+aCwLsyV63iQcpq5UFn1Spe4cdfNrl/P/DF\nF3ycM9D6GLsdqKjgY6LekpL4gLM/4nCVexYJ8LYZDPy1aTQ84zx5kr920u1aDJL33HMPxo8fj6io\nKMyYMQOXX345Jk6cCNWFNUYWi/+JEISIjp47ipXHV6JEX4IB2gGYM3gORiT4H8/29tPJn/DV4a8Q\noYqAWq7G5uLN+LXsV/ztsr/hhpwb8MWhL/DB3g8QHRoNhVSBk7UnYbKbcLbhLCx2CwbHDMbI+JGQ\nCBJY7JYWZ+JelXUVLk68GAXnCgAAObE5zq7cjIgMjEwYiYOVBxGviYdUkMJgMYAxhuTwZKSEuYpq\nN1chB+j6Ga5tFaYMg0yQwWK3eARKs80MpUwJrcIVYFrqLm5VpixmkWFhPLiFhvIM8fx5PksV4L9z\nc4EXB/te714Rx93GjXwA2GLhQfHkSZ69bdrEx/uKivgGm4AreJWUANu2AbNm+W/r7t2umqveGadW\nG7gwgaiggHejhoUBej1vk8nE219czLtnxf0txS8IDgfVd+0mLQbJu+66CxMmTEBjYyM+/vhjPP/8\n81AoFBg5ciSUSiVN0iHN2lexD2/u5NtcRamiUN1YjVd+fQX3jLkHk1KaX39Wb67H8mPLPYqhh8hD\ncLb+LH48/iPuzr0b1Y3VGJk4ElqFFuuK1kEhVSBJm4QGSwOsditO151GlCrKmWWOTmh5PDVeE+9T\n/Qfgk3henvky7l99P0p0JZBIJIhURyI+JB4LRi1AqCK0fW9SD6SUKTF78GwsK1iG5LBknkHazCir\nL8Otw2/16GptV3cxY64AwJgri0xPR4LGgGJ9JGBSATvKgaEXxucgICFDDcS1sgJCfT3PGquredCV\ny3nQzcpyZZdr1/LyddHRri7QgQP5YPLkyb7ZpM3GA1htLQ/A113X9teemAg89hj/d20t8O67fA9L\n8ctBWBgPnEeO8GySMeC11/iEo5YCMAm6FoNkeno6Xn31Veffx48fxy+//IL169ejsLAQ7777bqc2\nkPReDubAl4e+RExIjHObqyh1FFQyFb45/A3GDRjX7CL9Un0pGGM+Y19xoXHYV7kPAJ91a7FbUNNU\nA5vD5gxU8aHxUMqUMNqMOFh1ELePvB23Db8t4MzZ1sqIzMCn8z7FxlMbcaj6EOJC4jBz4EzkxOb4\nPb8zJuV0ldlZsyEVpFh1YhXMdjNUMhXmD5/f7q3JnGpqgA8+4DtxmEzAe+/xLM5kAsrKsGTIx/w8\nxngpuP970bPSTmtt3MgDpMHguSPInj28q/STT/hs2rVrgZtvdnWBqtU8i/WXTe7ZwwPbwIG8ys/0\n6W0fv4yNda3f3LmTB0j3Up46Hb9nUREPkkeP8uetq+PdytLWF+8gHddikPQuVD5kyBAMGTIE9913\nH44dO4bnnnsOS3rizAPS7RrMDahpqvEoQADwbLC2qRZ1xjqPajreVDKV3zrAFrsFWjkPupNTJ2Nb\nyTZIIPF4XCVTYebAmWiyNEEpU2LR+EV+n8Nit+BE7QlY7BZkRma2ah/JuNA4zB8+H/Mxv8Vze/P/\nNaQSKWYPno2ZA2fCYDFAq9AGZ7LOzz/zeqWXXMIzu7w8npFdc43/8+Pi+KScEyeAkSP9n+PPvn08\n4Hn3dimVvCvzxAk+23TDBv6tRZxIA/AuT+9sUswio6N59QS7vf3ZpGj8eP4TiNgNHRfH23fwIJ98\nRLpMi0Hy9ttvxwMPPIClS5ciNNTVnXT48GEUFBTAIZZWIsSLSqZyLuh3zxjtDjsYGNQyNSoaKqAz\n6RAXGudcriHKiMhAbGgsappqEBPCZ6o6mAOVhkr8YSSvhzkkeghuHnoz/vPbf2CwGGBndsglclwy\n4BKoZCpUGaowPdP/xLKTtSfx1q63YLAYnJN7rr/oelyddXW3FTvvToELrSuwZEnrJum0qKaGjwcO\nGcJrstpswODBfJzv5ps9i5a7+/lnPg74wgt8kNdq5dtbTZ8eeKzu2Wddpd/cNTTwbbIGDeITeRgD\n3nzTFSAB/9mkmEW6r8dsbzbZWkeP8owyPZ1nkN9+y78o9KRs8ocfeIab0faZ3b1BiyPBubm5eOSR\nR/D444+j2K3f6LPPPsP8+fNRU9OxTW9J36WUKTElfQrO1J9xZoSMMZTVl2F0wmh8sO8DPLXxKbyy\n4xU8tu4xfHLgE1jtrkLSUokUD417CEqpEsW6YpToSlCqL8XktMm4PIPvPygIAmYPno3/d/X/w8LR\nC5EclowxSWMQIg9Bia4EcZo457nuGi2NeH3n65BJZEiLSENqeCoSNYn4uuBrHDl3pGveoB5GLLTu\n/RPUwgc//8zH3jQa1yaVWi3vat2yxf81jY28TuuJE3y9Y3U1D1jvv8+XeQQikfAg6P2zZQvPAsVa\nelotHxOtquKTdkpK+N9GIy9QDriyyPBwHqCtVv46LBaeTXYG78lMERGubLKnqKgAvv6a//TR3Z9a\ntQhHXBfp7tlnn8W4ceMwderUzmgX6UEMFgN2lO7AgaoDCFeGY0r6FAyJHtKqbOuGnBugM+mQX54P\nQRDgYA6MiB8Bi92CguoCpIanOo9vPLURkapIXJt9rfP6AWEDsGTGEhyrOYZGayOSw5IxQDsAgiDA\n5rBh0+lNWPP/2fvu8Djqc+szO9urVlr1bsm2ZFvuBTfsYMDY2HQwCRAuONyEhFBC+MhNSOEGQktu\nCJfkphBIQgIBY4htjDGuuHdJtopl9bqqq+11yvfHy+xqpZUsd5vseZ59LO/O7PxmZM+Z85bz1n0K\nZ8CJktQSPDrnUVT3VMMVdOGa/GuwKHdROB86EJU9lfCGvFHhXgWrgF6px47GHZiYcv7L7y/0YObL\nHpKKzMggUrTZqJiG4yi8uX49mYFrtUSEwSDlDnfton0lQnr8ceolNBqBNWtIxYy28tPppOOo1RTq\nBYiASkrIoODuu+lm/8ILFJaV2kp6yOEJoVBkP4AKberrz981Aqj6VRBILUoqUoLZHFGTHEe53a9/\nna7FpcDGjfT7qq6mYqNxMSqPr3CcdaeqRqPB7bcPHUMUx5cLzoATv9j9C3S6O2FSmdDAN2Bf6z7c\nPeluLBu77LT7q+VqPDL7EVhdVvR4e5CkSYJarsb3t3wf2absMNHKGBmyjFnYXL8ZK8atiJosomAV\nKEkdOrn97fK3sb1xO9L0aUjTp6GqpwoV3RX46aKfItOYOWT7gfCGvDHfV7Eq9Pv7Y34GUA7zUPsh\n7GvdBxkjw4LsBaOeEtJhFaBP6YUv5INWoUWSNgkyRnbadpAvDblKKlIupxYIliVF19xMhTBdXaTy\nbrgB+OtfqYDlBz8gFdnfT/v5fES0kydTLq+pidTkaHOVHg8R4uABy1otqdP776cbvvRLaW6msGx6\nOlXBDoYoEqGfL3Ac8NZbtL6cHCLltrbobWw2UtWdnVR0lJlJA6gvNqxWGmGWlUVr+vBD4Omnz24Q\n9WWMuJ1DHCNia8NWdLm7kJeQF34vxIewpmoN5mbPHbHQxRP0gJWxUMvVSDekI92QDoCqVmWQDWnK\nV7JK+EI+hITQacdvdbm78Hnz58g354e/J02fhg5XBz6p/STmlJGByDVRMZEoilGK2O63Y0l+7Bwm\nJ3B4/dDrKLOWIUFD5/3brt/iKutV+NbMb4245n5fP8o6GyELtAAiAAZIUCdgbtZcAKoR1zp43uTA\nMVwDyTNMmoJADfE33HDppmAMhtNJitDno/YLl4uIQBSpgV+hIEL49FM62YoK+uwvfyEV2ddHf1co\n6Of6eir8SUiIqMmWFlKYI7k1pKdTVe1AiCLw0kvkt9rYGAlx8jzd+J96avgbf20t5TN/+lMqrjlX\nHDlC5yuKNOJruKKgxESaelJQEPF4vdhqcuPGiAWgxfKlVZNxkoxjRBxsO4hkXfSNVsEqIIoi6m31\nmJExY8g+LY4WvHPiHdT01oBhGMzJnINVk1aFCTVFlwK5TB5uTJfgCDiQacyEih1KGu6gG8c7j8Pu\ntyPPnAdP0AOGYYYQbZImKWwEMBLyEvIwJ3MO9rXuQ7IuGQqZAj2eHiRqE7Ewd2HMfY53HUdZZxny\nzflhYjWrzTjUfgiL8xaPGKL9W/nf4AvNROaAhwqH34ET3SdgwZl5cw43hiusSKuqgI8+IrK8//4z\n+u4LBp2OVMamTaRAbr01UqUpl5MaklTmRx/R9gDw5ptURBMKETnyPL3a24kU8/PpxI8cocKe+fMp\nZHomqK2lG3xCAuU5OzoiF7aykgi5sHDofqJIJGq1ElGdyWDQWBhYPcswwJYtRJSKGBXFO3bQP4S8\nPHoA2bbt4qrJgSoSiOSZv4RqMm7hEMeIUMqV4AQu5mexQoy93l68sPsFtDhaYFab0eXuwqsHXsWN\n/7gRW+u3ghd4qOVq3Fp8K1qdrXAGnBBEAX3ePvT7+nFH8R3gRR4nuk5gZ9NOnOg6gZreGjy95Wn8\n8egf8UH1B3hpz0t4r/I98AI/5PjekDdcCTsSGIbBQzMewoPTHoRWoQUncFg6dimeWfgMTOrYlYql\nnaXQKrRDpoQoWSUquiuGPZYz4ERZZxm0iujKTYPKgHZn+7DX96wgGWynp1P15xmEAqWezsGv89LT\nybKkao8fJ3Jsa6P847JlRAQTJkRMyisraVudjs6nv59yiFKhDMMQae7aRYTW309hWZuNZHb/8OHy\nIZCITq8nJbhpE70vmY3rdPS5VJQSCESKeSRynTCB1iJd68ZGGqB8ppBUpMFA67HZqOp3MPx+WpOk\nXKWJIU7nmR/zbPHpp3SdW1sj/1DcbhpZdr5ztJcYcSUZx4i4Ju8avFn6JgxKQ5gc3EE3NAoNxlvG\nD9l+V/MuBPkgEtQJ+Lz5c4iiCIvWApvXhl8f+DU6PZ24d/K9WFqwFAnqBGyo2YAOVwc0rAY6pQ4v\n7X0JTfYmmDVmJGuTIULEqb5TmJY2DXnmPAAUIm3ob4Av5EOXuwspuhQwDIMQH4LNZ8O9k0c3R1Au\nk+Mr+V+JWf06EEE+iKqeKjT1N6HP24dUXWoUUQqiALVcPez+AS4AhmGGFDoxYCBChCCOro1KCrO2\ntESc1qQpI3r9F2Jn4Jim9na66Y9STV7w/Oa2baQCDQYigF27ItM8ACIiSUVKBJWXRzddj4eUXjBI\n3yGTAV4vVZt2dlI16oQJFM7dvHn0alIiurw8Iii3m278EgGp1URUkprcv5+KZZ57LkKucjmt55NP\n6Fq//z6FkOfNG+V4FESrSAnJyfTe7NnRanL/fgpXS9sO7Nm8WGryqqtiq2sgYiP4JUGcJOMYEQty\nFqCypxKH2w+Hb/IqVoVH5zwakxjqbfXQK/WotdVCEAUYVZQnUcqVMKqM2NawDUsLliJZl4yrsq7C\nVVlX4WjHUfzm4G+QqElEv68fnqAHnpAHZrUZSdok2Hw2VPdWo9nRDLvfDpPKFJ79mKxLRouzJWwm\nsGrSKszMiB2+5AQO1T3VaLI3weqywsf5kKpPxYKcBcN6una6O/HLfb9Er7cX7oAbZZ1l6PX2Yl72\nPChYBYJ8ELzIxww7S0jSJsGisUBh7IO9M3ITDHABKFgTsqeOrkFfCrN2dtK9G4iEXe12hFsGflBx\nLzrLk0mF7fQCn/gAjebSFvo4HETYkixNTaWCnKuvjvRG1teTAUB6OpEAQDdinqdtlEoiLK2WSNTt\npu8NBIhQrVagqIjClEuXRgzEh8NAFckwRMTp6VTJKhFwYyOpVauV5l1++CGp4j//mchUIsH0dCL9\noiJ6UElIoCraRx8d3fU5epTmXSYlRSvC3l465/lfWDjyPH1vMEhPSxKCQVJ3S5cO32t6PlFcfOGP\ncZkgTpJxjAgFq8B3Zn0H9YX1YQIsSS0Jk99gZBmzUNNXg25Pd1R4UYQIvVIPTuDQ6mwN5zlFUcT7\nle/DorVAxarQ5emCWWMGL/I42XsSMzNmIsgFcbjjMCwaC5K0SQhyQbS72jEuaRz+tPJPaHG0wBvy\nIsuYFbPdA6BCnyc+fQKHOg7B6rKCAYMETQJmZ87GZ/Wf4Zszvok5WdGzUUVRxO+P/B6eoAe5plz0\n+/ph99txynYKIT6EwqRCyBgZ7pt834jG6TJGhq9P+Tp67/kfKGQKGFQGOPwOiBDx1LynMN4ycv5m\n8EQRaaaAUjloQ7sdaGxEJ3cz8sxfzGCUO4FADVA89dKaqksqUqkk8pZGXA1Uk3Z7ZM7kQMyZQ843\nHR3UlpH9hZF8by9VttpsVDjS0BBRN6NRk42NQFkZkUpLC6nBsWOJeCdOBO67D/je9+iYajUpOKeT\niPHjjyNTOkSR9mUYqoCVbOeOHaNf3GjUpNkM3HNP7M8GKjOZDHjwQQo3DwbLxvhHEce5Ik6ScZwW\nDMOgMLEQhYnDhFcGYFHeImxrpOZqTuDAMiw8IQ80Cg1S9alod7ZDp4g4N3lDXnR7u5Fryo1qy5DL\n5GGitLqtYBgGfs6Pdmc7tU5ABlfABUEUwMpYlHeWY2vDVhQnF+OqrKugV0YqHDmBw8MbH8aR9iPo\n9/eDF3mwDAub14b9rfuxcvxKvFX2FqakTYlSx1a3Fc32ZmQYMnCg7QC6PF0AaMiz1WPFk/OexMLc\nhaPKgU5KnYSfLvoptjZsRYuzBROTJ+K6gutOO5UEGDpRRAq7ApF5xG43kGarApReUkTMFx+IIpHH\nuHEALrDC4HkKNa5YET2GyuejWYocR6RRVkaOOwpFpDJToaDhwsMNGO7rA/72N1JsUn5QEChcqtXS\n8TiO8pljx0ZU1UhqMjk50gfJcdGzG00mInaOo9Dru+/S00lKCv0ZClEbxsB9nE5qbSkqIsJUq0ev\nJseNG11VqNTTGcdFQ5wk4zivyDBk4HtXfQ/P734eB9oOQKfUwaK1YHr6dNh8NqTqU6PIViVXQc2q\nEeAC0MgpLxngA1CxKvhCPgQ4MtbmRA4MGLAyFp3uTuQl5CFJm4Ttjdvxzol3IJfJoZarccx6DJvr\nNuO/Fv5XeN5heWc5jncdBydwECFCxarCOUxPyIOq7iqMTRqLhv6GKKPyIB8EwzCo7atFp7sTCeoE\nMAwDURTR5e5CaWcpbim6ZdTXJjchF6unrz7na3zttUPfa2oCXnxCD3i/B/y8AEgf4JfLMLErJM83\nysuJJHW66KHGKhUZAPA8qbGWFmL7r3894oJzOtTW0nl0dETeKyuj91iWXkYjhUDHjSO12dMzMkka\nDDR6y+8Hfv5zUmjSQGeXi9pC0tNJne3fT+ucNYs+v+026qH86U/pXEQRePllCiNL/Z+pqSOrSZ4H\n/v534OabI3HzgaiooO86l9Cm9EDxJao2vdiIk2Qc5x0TUibgb7f+DX8p+wu2NW6DSq5Cn68P6fp0\nPDrn0ah+QrlMjhsKb8DaqrXITcjF1LSp2Nu6F32+PrBgIYoiWccZcuEOueEJeiCXyWHRWiBn5Hiv\n8j0k65LDod0kbRJaHa3YULMB90+lgpWa3hrwAg9BFKKKZ2SMDKIoRqnLgcgwZEAj1+CY9RiMKmN4\nX0/Ig5yEHLQ6WtHh6jitccHFwg/enYLOTmDPKaCsI/qzcGHPhYI0izE9fehQY5mM1JXfT2OhZs6k\nxKpUmDMaDDYCr64GfvQjMhUYSAA2G4VnV60a/dr37CEF+uGHNMKKYUi1BgJEkBxHoWFBoJYTyd0n\nGIwoxcZGKtbRaKiIqLKSDA58PsrFPvzw0OOWllKhkl4PDDZmCYWo/UUuJ7/a0TxIxMK//kWKdtnp\njT/iiI04ScZxQcDKWKyevhq3Fd+GVmcrtAotxpjHDOlrBIAbx90IV9CF7Y3bIWNkGGseC5VcBZvP\nBh/nQ5YpC3W2OvhCvrACPNF1AtpMLcyseUhrRZo+Dfta94VJMlmXDIPKAFfQBTWrhpfzQg45BFGA\nSq4CAwZ6pR5jzNHTIpSsEveW3IvN9ZvBMiyUrBJ+3g+WYTExeSIcAQcCfODCXcRBGG7slvSZZDpQ\nVjZUmEhh2QsGaRZjfj4pxR07otUkQGTk8VCYU6OhG/jjj5/d8ZKSgMcei/3ZmTT1+/20jnHjSLnV\n1xMxvvYakZwgEBmmp1MOVKmMjO0aMyZibJ6cDDz5JP380Ud0LaZMARYvjq0SpYeKrKyISfrA7aTR\nWKJIanT27NGfkwS7nR5Y5HLK6Y5kshDHsIiTZBynxWBXmjOBWWOGWTNylaFcJse9k+/FinEr0OPp\ngVljhkVrQXlnOX6171fQKrWo7K4MrwUgM4CQEILdZw+750gQRAFyNvJPe0bGDExInoBudze5+TAs\nAlwAIkQYWSMsOgsemfVIzDFQc3Pm4q6Jd2FPyx7IGBkyjZnIT8gHK2Oh4lTINFw8FXm6ytRz7WU/\na0g3fCm0mZY2VE36/UQeqV8Ms05NJSU12sKWwUhJOT8ON3v2UELXYiFl+9FHREyCQEVBGg2FqjMz\n6VVSAjzwwNDvMRgoFGu1Ukh4/nzKWX7zm7GdcEpLadv8fAoRb9sWUZOhUKQdRDI5nz79zNXkli20\nvzQxZcWKM748ccRJMo5hIIoidrXswsaajej2diPfnI/bi27HpNRJF+yYCeqEKJu7ktQSLMpbhL8f\n/zsMKgMUMgWCQhDjk8ZjRvoMdLg60OxohsPviDIAsLqtuHHsjeG/J2oS8aOFPwIDBntb98IT9ECh\nUiBNm4Y5WXPw7FeeRbYpe8h6QnwIn9V/hi53F7o93TCrzUjUJMIddMMT8uChGQ9FOQZdLtDrhypH\nt/sCDnoeqCKBSIhyoJocqCIBCmmeq5o8V0gqUiJuqSKV44C77iKyW7UqupfzdNiwgc5fraaHh+3b\ngVsG5a2lhwqpanXgyK2EhIiKlB4eGhvPXE3a7VS8lJ5OhL9hA6nauJo8Y8RJMo6Y+PjUx3i/8n2k\n6lORa8qFzWvDy/texvfnfh+T0yZflDXIGBkemPYAvCEvPqz+ECm6FKQb0mFSmcAwDIJ8EGaVGZ83\nfw45I0eWKQt6pR6FiYVYPnZ51HeVpJbgrVvewsnek6i31cOoMiI3IReFiYUxQ8CiKOKtsrewu3k3\nMgwZWFa4DOWd5TjccRi3F92OOyfeGdNM4XLAsIU9F6JHUlI6Hk90LPgLp4Mf7LwBnTYlcNQMeFcD\ne7/w2WW68GLePiKMrq4IUV1MDFSRABF3Xx85yUyYELuXMxaOHaOK2pMnSRFKVappaeRves010Wpy\noIoESKmKIu17001DTQWSks5cTUoqUirYiqvJs0acJOMYAm/Ii/U165FjygmHIM0aMxiGwftV76Mk\nteSMwq+8wKO+vx6eoAfZpuwRWyZsPht2Nu1EZXclUnQpuCb/GiwfuxxHrEeQY8wJF/04/U7saNoB\ntVwNGSODIArg7Ty+Mf0beGjGQzEt89RyNaamTcXUtKnh91odrSjvLIcIEZNSJiEvIQ8Mw6DD1YG9\nLXthUplwynYKHM9hbNJYcAKHDGNGFEGKoohaWy2OdRwDwzCYnj4dhYmF/z6Dm1esiDRvDoRMhs4/\nypAXqga+kh+5YYsimjbJKTz7/e+ffdhUmiAyZszpt42F7dtJZbW20t8DAVJtOh2Rp8EwtJcToHM9\neBBYsIAI9bXXqDBGMmMvKqLtJCecgWpSMjDw+WjtEkIhIlSjkR42LJaIoQJA3ztaNTlQRUpITY2r\nybNEnCQvc5xLPvBs0e3phiAKQ3J0JpUJzY5mhIQQlKwSHa4OVHZXQsbIMDFlItL0Q+N5VpcVrx54\nFd2e7vDcyBsKb8BdE+8aouC63F14fvfzcAfdSFAnoN3Vjn2t+7B62mosHbMUm+s3hwttdrfshp/z\nI8OQARWrQoAPwB10Y1PdJtw35b6oPslYEEURG2s34oOqD8LrWFu9FtcVXIflhcvR1N+EFkcLbH4b\n5IwcDMOgxdECi9YCnUKHnnE9MKqMULJK/OP4P7ClYQuUrBIiRHxS+wluGHsD7p54d/h3J4oijlmP\n4bP6z2Dz2TA5dTKWFi6Nmmd5rjhdYc8FAcOQ/dpweNUJnDxBJDBpEjXq+/1ENDodhWrHn6UiP3aM\nDMl/8Yszn3bi81EV7GOPRapj160jpx3pYrndtMZ//YsIUSKX/fuB//s/Ip6jR4lo//Y3ykEC5Lgj\nKUeeJwW3ciW1czAM5R4DMQq+pBD0V78ae82jnfKxd+/QETHS+Rw6RMo2jlEjTpKXIfycH5/UW0pn\n6AAAIABJREFUfoLtjdvh5/yYmTETtxbdilT9xQlJGVVGCBAgiEIUkfk5P/RKPTqcHXhu13PY0rAF\noigiVZ+KMeYxeGDaA7ihMPLEzQs8fnPwN3AH3chNyA2/t/HURmQZs7AgZ0HUcdfXrIcv5EOOKSe8\njgAXwD9O/AO/XvprTM+YjsPthxHgA9jWuA1jzGPCzf+Soqy31aOxvzHm/MmBaHW24oOqD5BlzIJc\nJocoimh2NOO5z5/D2qq1CPEhVPdWozCxMKxKBUFATW8NrC4rPCFqRSlJLcHBtoNRI7t4gcentZ9i\nZvpMjE0aGz63D6o+gFljhkauwefNn+Ng+0E8c/UzMR8uzgaX3WxJUSS1pNGQQtNoqHVDpQJUZlI6\nmzeTwfnpLOQGg+NoRJbTSfm8r3899nanTgG5uXTMgdi9m8aJFRdHwqMKxdBGfZ2O3n/tNcoZTptG\nSlCtph7HtjaqUC0ro/Bpdjad16OPRshXoSCClDBjeAtDAMDUqSN/fjrMm0fh31i4FGHtKxxxkrzM\nIIgC/vfg/+JE9wlkGjJhVptxrOMYKnsq8eziZ8MN8hcSiZpEzEyfiaPWo8g20mBkXuDR4erAorxF\neGTTI9jTsgcKmQIMGDT0N8Dut8PP+TEheUKY5Or769Hl6YqqPmVlLJJ1ydhcv3kISR5qPzTkQUAl\nVyEkhNDibEGRpQhFlqLwZBGWoT7KAB9AiA/R+C0+EHM6yGCUWkshgyxMgB2uDpRaS6FgFRBEATqF\nDgEugDZnG3JNuWAYBn2+PjgDTmQaM5FtykaQD+KfFf+EVqFFQWJB1DkqWAWOdR7D2KSxsPvtWFez\nDrkJueHjZSmy0O5sx8ZTG8+LwcBlibo6Cv1l6UlBHjxIxMlxgDk1kovbsoUKZc4EpaU0dWPcOFJq\ny5YNVZP9/dTgv2oVEbEEr5eqWA2G6NFOw5UHNzYCzzwTMUB3OIh4d+ygULF0HjYbEWB7O5H3pZqr\naDaf+UNHHMMiPirrMkNtXy0qeiqQn5APlVwFVsYiw5gBT9CDz5s+v2jr+I+p/4EpqVPQ4mhBq6MV\n7a52LCtchjZnG2r7aiGXyaFT6qBVaqFVaOEKulBnq8Ph9sPh7/CGvGAwNFSsYlVw+B1D3tcoNMOO\njVKyEU9KvVKPDH0GHAEH2pxtaLI3od3VjlpbLdxBd3i480jgRSLSNmcbdjTuwEfVH6HF2QKry4oO\nVwdkjAxp+jQ4A07U99ej1dGKTncnUnQp4QcVJatEoiYRrc7WEcddtTjIiHpwnjRZl4zSztLTrvWK\nhJR7Uygiispmo1Cr10tECUTU5HDjrYJBIqmBkFRkYiIpNLcbePXVoft+9hkd61//ovCqhD17aB1Z\nWZFBwSOdx7/+RaHO7m7gD38gMvb7ydGnt5eMA3S6iAWgXg+sXRtxu4njikZcSV5maHe2gxGHjlUy\nqUyo7KnErcUXZxSOTqnDY1c9hm5PNxx+B1J0KVCySnzz42/CG/JCIYvkK1kZi5AQgo/zodNNeRBR\nFKGRa+AJesDxXFTfYp+3D7MyZw055pL8JVhbvRb5CZGhxjafDRatJUqN6pQ6rJq0Ci/seQE2nw1K\nVhkewDzGPAbvVb6HR+eM7JdZklKC1w6+RurQ54Qr6ALLsPDDjz5vHwRRQK+3F6IoklmBCHg2/Ric\nLxcyfSqsXxgY+EM3oIsph39sbTgPKogCQnwI09KmAaBQsBjjhhngAjAoYxuyX/GoqwOqqpCWNA9N\nNiNg9QChTMBHHqlpjppIAtVup+KWwa4zAIVF16whRSjl5CQVKdnBdXbSe6tXR4p4+vuJJPPzSdnt\n2UNqUlKRqamjGxQsec3m5VHla2Ul5VCrqmj7piZag9lMucnKSqpGLS8n8r1UajKO84Y4SV5mMKqN\niCG+aKyT7uLnE1J0KeHikhAfgkKmgEahoSkWXxQViaIYfk1KmQSry4o/l/4Z9TYKt57oPoFZGbOQ\nYchAr7cXcpkcK8YNLUW/ofAG1NnqcLz7OCCSsbpRZcQjsx+JsrIDgLsm3oW3St+CXEbOOTLIMM4y\nDiUpJSi1lqLf1x82MZDmT1Z0V4CVsZiWNg1JmiTwIg9/yA9X0AWFjMKsSlYJlmFhdVmhkCnAizxU\nLCl6wZUCWXIL0lJNkDFUzekJetDdmI7jnWuRZkiDilUhyAdxfcH1GJtIeaECcwEsWgt6vb3hyl5B\nFNDt6caD0x68YL+7S4oPPwRcLrw47k0iNG8NkKykgpVZs6hy867vRIgvVmWRZEDgcERmJUoqUquN\nqDnJmeY3v6EXQAQptUCkpkaKbyQVKeXmLJaImszPpzzjXXdFlOG//kXHEgTKrwYCRJBeL5GhNNsy\nOzsyqDkpib5LcqGP44pGnCQvM0xKmQSTyoQ+bx+StNQr5ef88IV8px0OfKGhYBX4Sv5XUN1bDXfA\nDT/nh1wmR1AIAiJQnFyMGekz8JOdPwkX4OSYclDdW40T3SegkCkwN3sulo9dHjMkqpKr8MTcJ1Bv\nq0ebsw0GlQGTUibFnFspY2QYaxmLuZq58HN+aBVaaBSa8Gc+zgczzBBEAX8//ndsa9hGBToQ8UHV\nB5iTOQeFiYUwKAzw837oRB1NK5Fr4A65w8bqM9JnwKK1gBM59OpS4EEP/JwfGrkGXZ4udLm7oGaL\noFPq0OxoxuLcxfhaydcwLmlcWA2zMhaPXfUYfr3/12i2U9m/CBHX5F+Dq3OvvoC/sUuIRYsoP8dx\nwBtv0FgpDf1+kJFBYUqHA1i+fPjv2LuX+i/z8yPTQoJBKsLheaqYra4mItTpgAMHKBfI80SSUguE\nRkOtHNu2kROQpD4l+P1E6gsXEimmpAA33hitIkMhInKDgdZ9662RYhyDAfja10ZnIh4M0jW5GDMf\n4zgviJPkZQa1XI0n5z2J3x7+LZodzWDAQCFT4KEZD41qVNWFxm3Ft6GhvwEfVH0Am8/2xeBgBWZn\nzsZvbvgNKnsqYfPZkJeQF95nQvIEGJVGXFd4HVZNHNl4WsbIMDZpbLgqdDhoFVpkGbLgDDjDDxMA\n5UG1Ci2StVTEUdldia31W5FnzgtXn4b4ELY0bIFCpoBFZ0GSOwkmlQl2vx0dzg74eT8CfAAymQyJ\nmkQUJhaClbE4pUmCUmNGkA/CFXChx9ODDEMG5GIKpqRNgZ/zo9XZGu4pHYgsYxZevPZFnOo7BU/I\ng2xj9qhyp1csJDPyri4KTw7MCQKk4Aa3KAxEXx9N5pgxI9JvKKnJn/+ctqmsJLLNyyOCammhsG0g\nQMcLBCKtFno9qdKrr44YlA+EWk0KNScn0k+4fTuRWltbZM0WC33n/PnRVaijzT+uWUPK+vHH45M5\nrhDESfIyRI4pBy8seQHNdupJzDHlQMWq0NDfAGfAiXR9+kVrBxkMrUKLH1/9Y6yauAoH2g7AG/Ji\ngmUCAkIAb5S+gfLOctj9diRrk6FTRuZG6pQ6tDvbz9s6GIbBVyd9Fa/sewVBPogEdQLcQTccAQdu\nK74Nfy3/Kyp7KlFvq4dcJgcDCgtL6tegNMAX8kEpU0LGyBASQlCzavDgkaRNgp/zI0GVgJO9J+EK\nujArYxaCfBCZhkwszluMwx2HoVFoYFQZYXfRzU7KPZZ3luO6guuGrFnBKjAxZeKI5+UL+XCo/RBO\ndJ+AWW3G/Jz5UQ8cVxysVjIMONNqy9//nopgcnNJqUnuNfPnk9KTnH6MxgjZSNtMmRIZeSVBo6EQ\n63XXkZIdjL17KTeal0dh1Z07iZCH6ykc2KhfVQV8/jnwrW+NTHy9vZHh001NEcedOC5rxEnyMoWM\nkSHfTP+J+n39eGnPS2iyN4Ub8hfkLMD9U+6Pacp9ocEwDMZbxoddZ94ufxuf1X+GZF0yEjWJqO6p\nxufNn2NR7qIwUbqD7iFTNs4VE1Im4Jmrn8HG2o1o6G9Atikbt6Tfgver3ocoiEjUJsIVcKHd1Q5v\n0Atn0AlfyAcwgFauxf1T7kddfx0SNYkos5bBE/IAAHRyHWZnzEa3txu+kA/1/fXQKXQQxBswPX06\nWBkLBkxMVx+GYc56Mogr4MKLe1+kULPSgAAXwNaGrXhg2gNXZljW4aD+wsWLh+9jjIW+PuCdd6h6\ntaKCqknlcprQ8dRT5GxTXQ0cP05TODye6H2zs4FHHhn98UIhUniSPV1aWkRNDiYyv59UpwRBAP75\nTxq2fN11I88j27yZVKxSGfGsjavJyx5XLEl++umnePzxx8HzPL7xjW/g6aefvtRLuiAQRRF/OPoH\ntDnbkGPKCZPk502fI1WXipXjV17Q44f4EPp8fdApdDCohlZidro7sa1xW7iZXqfQIU2fhm5PN2pt\ntZiSOgU93h6o5CoszFl43tdXkFgQVcn620O/BUQgw0hqoTCxEO2udhzqOIQCcwFMahM4gUOnuxON\n9kY8OvtRPPnZk1iYtxCn+k6BAVXJOoNOLM5bDKvLijpbHeZkzUHG1KlwdGngAAB3Hvr6gggo9TAk\nUYGGIJIBQ7Hl7Ibkflb/Gdqd7chPiNyYA1wAb5e/jenp00/rInTZYevWiONMrD7G4bBhA5GiVks5\nxpYWUm79/VQwU1dH5PiNb8TeP3uoWf2IOHQooiIBynkGArTuGyNG+XC7gWefBb797Qh5VlaS8kxK\norzmU0/FJr6+PlKRGRmUyywvj6vJKwRXJEnyPI9HHnkEW7duRWZmJmbNmoWbbroJxecywfsyRZen\nCzV9Ncgx5oTzXNLIps31m7Fi3IoLYlsniiJ2Ne/Cmqo18IV8ECHiqqyrcO/ke6PmN7Y4WsLEAlCR\nyrzseSjtLEW9rR5mtRlFyUX42qSvReUOLxSOdx1Hsi5yM043pINlWPACDy/nhQgRIT6EyamTYXVb\n8WH1hzCoDMgyZsEX9NEDgVIHu98OV8AVJv/rC67H5F9pwt8b5M34n/17UdVTBbPajF4vD4ffgcV5\ni89IMTsDTjT2N0IlV2FPy54hFcwquQqcyKHeVo8paVPO/QJdLDgc5ISTlUV5yZFccQbC46ECnOXL\niay8XnotXkxklJEB/PrXwH/+JznLHD4c29F9tOB56mn0+YYatK9fT+FWqeBoxw6qgpVUoCiSAjWZ\nKJxcWUlqN5aalFSkZFCuVp+ZmjxxgjxhFRc/cvTvjiuSJA8dOoTCwkLkffHkd/fdd2PdunVfSpL0\nBD1gMLRvUsWq0BnshCAKYBl2mL3PHqXWUrxx7A1kGDJg0VrACzz2t+6HL+TDY1dFht1qFVqIiC5a\n0Cg0KLYUY37OfDw176khQ5EvJCQrO7mS/mnLGBlMahNCfAipulQYlESIFq0Frc5WVPVUwaiiNoQx\niWNgbbFCLaghQoQrSAbTiZpEFFmKoo6jZJV44qoncKDtAA60HYCSVWJhzkJMS58W9bvyc3409DeE\nezglUwRRFPFp3af4oPqDcA/lia4TmJo2FZmKQTMqRcScVHJZY+tWCkUqFBS+HK2a3LGDVJxkI6fV\n0siq116jnF5yMhmO+/1EjuvWUS+iNAj5TMEwwN13U8h1MFg2QmpuN1XGFhVRxWtTE73X3BwpHNLp\nSE0++mh0SLavj67HwFxoauro1WR7O/DLX9KDwfz5Z3eecZw1rkiSbG9vR/aAkEpWVhYOHjx4CVd0\n4ZBhyKA2Cz4Y5TrT5+vDuKRxQ/oHzxfWnVqHJG1SuK2ClbHIMeWgrLMMVpc1XJk5Pmk8lKwSh9oP\ngWEYJGmSkK5Ph81nG6I6LwaWFizFX8v/GuWlyjIsTBoTFuYsjDIcF0URY8xjUNdfB6PKiGRtMqak\nTUFFdwW8QS/sfjsyDBn47uzvRl17CSq5CovyFmFR3qKYaznScQRvHHsDQZ56KrUKLR6e+TAmpkxE\nZU8l3q14F9nG7HBeuc/Th90tu3F78e3h9zxBD9Ry9WmrfS8rSCpSKm6Ry0lFnU5N+v1UeBMMRk/I\naG2lHGRyMlnbMQwZi/f0UBHPunXAd797dmuVyUY3WWPrVlqXWk3E/eGHdJ4mU0QJJieT+XldHTkA\nSW0eFRWkWNsHFa4JApm0n44k162L5E1nz46ryYuMK5Ik/21GEIFU2W3Ft+Efx/+BRE0idEod+n39\nCPJB3DXxDP0uzwAdzo4hxtuSq43NZwuTZE1vDZwBJ1ocLeAEDqeEU1CySjw590nMzJgZ87t5gYcr\n6IJWoY1JPrHQ5+3DruZdqLPVIdOYiUW5i5BpjFZcgigg35yP4uRiVHZXQiVXQRRFTEyZCLvfDnfQ\nDYPKAF7g0e5sx3jLeKyatArPfv4sXAEXDCoD8hPyw25C/2/e/0OSLilmgc7p0O5sx+8O/w4WrSX8\noOAOuvGbg7/Bi9e+iG2N22BQGqIKr0rSStDubkd5VznS9GngBR5yVo7vzvpuzF7RyxZbtxKBaCLh\naSgU1Ls4kpqUy0ktcQMs/nw+4LnnqMLVbCayzM4mVenzUSXrkSOUtzxbNXk6HDxIa1iyhP5usZAT\nkCjSzwMLhxobKeQqjdeSPF1feYUIFSCyraqiFpLTEV57OxkcZGdT3vTQobiavMi4IkkyMzMTrdIM\nOACtra3Iysoast3Pfvaz8M+LFy/G4sWLL8Lqzj+WFixFsjYZG2s3osfTg+LkYqwctzJc/XohkJuQ\ni25Pd5ShuiAK4EU+nPPjBA5/OvYnZBoyMS5pHPq8feAEDt6QF7zID3mYEUURu1t2Y23V2rDLzfUF\n1+Om8TeNWKXb5mzDL3b/An7OD4PSgFN9p7CtcRuemPMEJqVOAkBjtl4/9DranG3kAgQRk1Mm44bC\nGzA2aSzKOsvwzol3wjnUOVlzcM/ke6BX6vHYnMfw1/K/kseqCIxNGotrx1yLdyreQYuTfFeLkopw\n/9T7Rz2xY1/rPsgYWZSS1iv16PP24Uj7Edh99iHEJ5fJUWwpxpIxS2BUGWFUGTE9ffpFMbU/JzQ1\nkYKSRjxpNJRDHAyZLPaIKAlyOU3ZGIgDByhcqVRSOwnPU/hVIlKrldTduajJkSAIwK9+RaTc30+k\ntns3hUvHjAHuvz+iJFtaaK0ZGZFhzW1tNG2E44A776TtDh4E/vQnGvF1uiKjt9+mY0u9mXE1ecbY\nuXMndu7cedb7M2IsU8nLHBzHYfz48di2bRsyMjIwe/ZsvPvuu1E5Scku7d8BDr8Dm+o2YU/LHrAM\ni0V5i7C0YGlUn+KZoqKrAi/vexnJ2mQYVAaE+BDanG2Ylz0P35z5TQBAY38jfr7r5+GpHxJ4gUeH\nuwN/WvmnqFza/tb9+N3h3yHdkA6tQosgH0Sbsw1LC5binsn3DLuWV/a+gob+hqjeUGfACQYMXr7u\nZQDAj7b/KOwxa/fb0epoRY+3B4/NeQy3TbgNMkYGXuDR6+1Fj6cHaoUaOaacsJLlBR5dni76uwg8\ns+MZKGSKMEF1ebqgVWjx3DXPjSqE/IcjfxhSRATQtJEl+UugYBX4+NTH4WvnDXnhC/lg89nw/JLn\nr5zeSFGkfNmRI8BLLwGZmZTLi9WwfzaoqQF+9jMK3e7YQeTQ0UGhzMREIqglSygk+/Ofn381WV5O\nbjqiSISZkwOcPElh3hkzgOefJzUpikSmDQ30WXMz2duVlZG6FAS6TlotVcD29VHh0be/Pfyx29vJ\nzzYYpP2LiylX+9BDcTV5DjhTbrgilaRcLsfrr7+OpUuXgud5rF69+ktZtDMaeENevLT3JXS6O5Gq\nS4UIEetq1qGyuxI/WPCDs+6jnJQ6CY/NeQzvVbyHFkcL5DI5lo9bjlvG3xLeZrhiEhEiZJBFTQAR\nRREfVX+EFF1KmGSUrBK5plxsb9yOleNXhgtoBsLP+VHVW4UcY/TNz6gyosXRgk53J1xBV3gk18ne\nkzjZexIyyBDgA3h+z/Ow++14YNoDaLI34XdHfod+H02c0Mg1WD19dbj3McNAhRXra9YjyAejVGOa\nPg3N9maUWksxPydygxJEIWxhN1A5F1mKsL9tP5IRTZIBLoBxSeOQl5CHXc270GBrgNVtRYe7AwEu\ngFRdKg63H0aOKefKKNapr6ecW0ICVWuq1VSoc8stp9/3dBBFUmQqFak0l4vUpsNBFa+iSLm6igp6\n/1zUpDT8eXAP5Jo1pAh1Ovp+ux24+WbKh37rW5HeyoYGqkCV2khSU2kQs0xG1a5tbTQSLDWV1j9m\nDCnKlSuHV5Nvv03HSU4mBV1RAcycObKa9PnomIPnZ8Zx1rgiSRIAli1bhmXLll3qZVxyHG4/jHZX\ndG9dnikP9bZ6VHRXYFr6tBH2HhkzMmZgWvo0uINuqOXqIfnDLGMWEjWJsPvtSFAnhN/vcHVgUe6i\nKNIICSH0eHvCw5fdQTdcARcUrAI2nw3vVbyHCckTMDVtapQCZhkWMsiGVPGKoggRIuQyOdxBNxgw\ncAacONl7EkaVETJGBk7gwAkcdrXsQlFyEd458Q6UrDKs3jxBD14/9Dr+e/F/I8sUCde3OFqoaveL\nY0hkJZfJYXVZAZDy3Fy/GRtPbUS3pxsJ6gTcN+W+cNP/7MzZ2Fy/GS2OlvDDi9VtRUFiASalTIKC\nVeCZq5/B9zZ/D+2udpjVZhSkFSDTmIn1NethUptwfcH1Z/27uygQRbJ60+noRr53LxFLYiK1ThiH\nPvScEUIhUqW5uZTX02pJVaWkUPh15kz6My2NyOpsZyh2dpIKvO++6LmTFRWkUCUXnkCAWkAWL6Zz\n3LIlYk0nXQfp37xKRQOf09PpvbQ08p9VqehayWREyBs2DK8my8vpnKTcLsfR+Wdk0ANDYoww/Ftv\n0fc++CU1zr8EuGJJMg7Cyd6T0Cuim8wZhoFSrsSpvlPnRJIAqcVYCg+giteHZz6MX+77JZrtzVCw\nCgT5ILKMWbilKFpJSKFLp9+Juv46tDhaIIgCutxdCAk0MHlv617olXp8f973w+FGBUum6Ptb9yPb\nRE/coiiiy9OF/IR8pOhSwk38EoFJpOYNeZFlzIJeqceHVR/CF/KFJ5oARNRl1jLc8+E9mJ05GyvG\nr8DVOVcjQ58RzptyAodkbTImpkwEJ3Bhk4K11WuxpnINOlwd8IQ8CPEh7GjagW/P/DaemPsENAoN\nnp7/dFQY/ObxN2NpwdKwumfAgGVY3DHhjijVmG5Ix8enPsZ1Y667vIvUJBUptUB0dtKN3GQi39Nz\nVZNKJfDkk+dlqSNi40Yid2lSiEZDf3//fVLI0gisYJAeDI4do3Cn1BdpMBAhchwpXoBMEOz2iDJV\nKKhf1OMBvvLFoILU1OHVZFsbEery5ZHQdSBADwsPP0zHHIy2NirsYRgyQUi9NNaVXzZcAfGcOEZC\noiYxpg1aiA/BrL7w08kLEgvw4rUv4t7J92JJ/hJ8e+a38eOrfwyT2hS1HcMwuLnoZpR2kcmASWVC\ngAsgKARhUBrQ5+tDrikXMkaG3x3+HQRRCO9754Q7kWHMQG1fLbY3bse7Fe9id/NusAyLLk8X0g3p\nWJCzAJ2eTvACD0EU4A66ySz9i3FV7pA7ql2m092Jfa37wIkcNAoNBFHAq/tfpVxi93F0uDogCAKM\nSiP6ff3YXLcZSrkS09KmocPZgbdK30JpZyl6PD3QK/VhS763yt7CobZDAACT2oS7J92NHy78YVgV\ntjnbwufmCDggY2RDwqoauQaugGvEQc6XHANVJMMQKTidFAZVq4l4nM7ofTZsoOrUywmdnTQ+Kz+f\nCGzPHnq/oYFIx+2mdpOODiJJpZLOweeL9EUmJ1M+9pVXIq/iYnoVFJAabWqi7+zoILK02+n6hEJ0\nXQZj/376rL2d9m9tJWN0j4dIOhbWr6f1yeV0/eM4L4grySsc87LnYVPdJvhCvnBPozvohoJVYGZm\n7BaM8w2T2oQlY5acdrsF2QtgVBphl9vhDDjR5+tDipbmVdp8NriCLiRqEtHiaEGrozUcmjWpTfjh\ngh/iyc+eRJenC/Oy5yHDkIFmRzN+sfsXeHbxs/iPqf8BNavGC3tegCvgQrohHUWWIuiVenR7u3Fj\n4Y3YVLcJACnRyu5KaBQa+Dk/dAodDnUcgt1vR/m+csgYGUqSS2AP2NHvp/ylSWXChOQJsPvt+OG2\nH4bHhclZOdz9buSYcmjMVtCNT+o+wZzsOQCAHY078Lfyv4UNIdbVrMP87PlYPW01UnQpYBiG5nQO\nyB07Ag5kGbPOqvXkoqG5mchDoyH1VF1NfY4yGX2WmhqtJnt7yZA8K4sKbEZb2ONwAH/9K7WGqAe1\nwXR3k8qLNYtytNi4kUiFZaPnTubnAy+8QMT43/9NxCbl+xwOygsuXkyFRVYrFSwNxLXXRiahAES2\nSiWpzfT0SM4wPZ3eH4wVK2jcmN9PId6SkshnCQlDt5dUZE4OPcDs3h1Xk+cJl/H/wjhGg0xjJh6e\n+TD+XPpn9Hh7IEKETqHDY3Meu+xaBxiGQaImESUpJfBzfmxp2AKT2gQGDPycH8c7j8OgNoABEcdA\n1Nnq4A15sSBnQfi9DEMGWhwt2NOyByvHr8Q9k++BVqnFupp1UMqU8AQ96PX2Yl7WPNxSdAtq+mrQ\naG9Eii4FjoADLMNCxarC6i5Jk4QAFwDDMKi312Ne9jwkqBPAgAEv8uh0deIfJ/4BMOR45JP5oJar\n4ef8aOxvhFljhpJVwuazAQB6vb14+/jbSDekh/O5gihgd/NuTEubhlmZs7B87HJ8VP0R0g3p0Mg1\ncAQcsPlseHDqg5d3qDUpCfje9+jnri56TZgQKRoxGomApNzkp59SyLGtjQpcpozSYm/rVnqVlETC\nlAARwZtvEon9+MfDW7v19pIiS48xlkxSkVL7mDR3cs8eyk2mp9N0D7+fiJPj6LgHDlBBzY030vsp\nKUO/e1EMg4lVI4+Ji4JGQ6/PPqMCnldeGflhQFKR0sOHpCbjuclzRpwkvwSYlTkLJaklMe3PLicw\nDIMJyRPQZG9Csi4Z2cZstLva4Qq4YPPboJFr0O3tRpALYl/rPhQkFoSJosXRErPa06ASPRVdAAAg\nAElEQVQ0oKavBiuxEgzD4NaiWzE5dTKOtB9BgA9gRsYMFFuKwcpYPDnvSWyo2YCdTTtpZBYjp7mQ\n3h5oFBroFXoIEKBVaKGWq9HQ34B52fMAAD2eHuSYclDZU4lcUy7ane30UBIU4eW84HgOAT4AnUIH\nR8ABQRRQ2V0JQRCifheSTd7e1r2YlTkLtxTdApPKhI9PfRw+xoNTH8TktMkX55dytjAYIk41a9ZE\n1I0gkOKS5jmWltLA5e3bIwUn779PpCeTkRrcto2s4QYTneTcU1BA/qpz50bUZG1tJHRbXU0EPRii\nSBWmdju1kQxWrxs3EgG63ZH31GoKoUq5yY6OiJ2cUknrDQSIsDZvpnFa56vdZTC8XgppS2tdvTr2\ndgNVpIS0tLiaPE+Ik+SXBGq5GhOSY9woLjPcMeEOPL/7eVhdVrKEs9VRXlGfTo4+kGFB7gJsa9qG\n+TnzUZBIcwETNYlReUoJ3pA3yhScYRgUJhbGHFCtV+rx1ZKvYlnhMtz34X2o7quGN+RFgA8gyAfh\n8DvCajDABcKjs9xBNzpcHbiu4DpU9VQBoOpVq8uKU7ZTkDNyMAwDs9ocnmtZ3lk+bE5RqryVfl4y\nZgmuyb8GvMhf3iHW4bByZbTKGwiTCXjvvYi5d0IC5eckNfnxx0QA06dTC8ZASP6vJlPEsOArXyHy\n+/BDGqQskxFJ/+QnQ0m2sZEqRAEqshkYsgRoPQMHJ0tQKok4NRoySJBMEgQB+OlP6RzMZvr+0lKq\nsr0Q2LOHSDwvj36+8cbYarK8nNY2wGAlvN7ycuD6y7xK+jLHFfg/Mo4rGfnmfPxk0U/w8amPUdNb\ng8KkQiRqE6FX6qFX6pFryoVJbUKroxXlXeVhkpySNgVGlRF93r7wNBFP0ANO4LA4b/EZrWFv614k\naZOQHcrGMeuxcJUpI2OQrE0GL/IQRer1PNpxFI32RuSYcrC+Zj2a7E0ICSGMSxqHaenT4Aq64A15\nwTIsiixFKLIUIcgHsbtlN+6YcAfAkDORRH6iKMLus2PVxOjQG8MwkDNX6H9HtXpovlBCb29ERQJE\nZAkJpCZTUkjtpKSQUvyv/4oQ3WD/V2mbuXMjOVCpJ7GhYaiaFEXKL2q1FOZds4YU7UDVd//9Z3ae\nFRV0bOm4iYmUZ502jXKa5xOSikxNjRitD6cmly0bfhJK3JnnnHGF/q+M40pGjikH355FvWF/KfsL\n9rfuD3vBDsRAMwKtQovvz/s+/u/I/5F9HACdQofvzvluuDUEIPOBXU27sLtlNxiGwcKchbg692qo\n5JHm6lN9p2BUG6HxapCfkA+73w5PyENFNEIInMCh0FyIx+Y8hjdK38D1BdeH22BYhsWh9kOQQQZ7\nwA4Fq0C+Ph/zs+eHK3r7vH0I8SFkGDJw0/ibsO7kOqjkqnBP5+S0yZiVOev8X9jLEVu3kp3bYIeT\n9nayZpPLiQBraqiNQlKTA6eIAER23d3Avn0UWtTrI4RqNA5Vk5KKlAitqSm2mhwtJGOBhITIMUym\nC6cmJRUphUrT0oZXk3HzgAuKOEnGcUkxO3M2tjduhyAK4ZyjZAIwuMczx5SD5695Hu3OdnAChyxj\nFjiBw4HWA+jydCFFl4ItDVtQ3lkOV8AFR8CBLfVbsCh3EZ5b8lxYzaXr01HZUwkZZFCwCuQk5KDf\n149Odyc4gUOiOhH3TL4HPb4eJKgTovpEM42ZmMRNwuyM2eBEDiE+hCmpU6BVkouQKIpwBBy4Kosq\nG28tuhUTkyfiQNsB+Dk/pqdPx9S0qWfthHTFYdasCFENhM1GBSmFhUQ6en1ETXq9VLDCcdEhxFCI\nKl0DASq2kXKJKhWRrKQmB6rIgYQWS02OFo2NtBaWjc5h8jzlVM8nSXq9FE5WKukBQ4I0JWW43GQc\nFwRxkozjkqLYUoxrx1yLbY3boJApIIoieJHHzUU3I9eUO2R7GSMLK8dOdyde3vsybD4b9Uy6u3Cy\n9yQ0Cg2UrBIquQoBLoAPqj/AzIyZuGPiHQCAhbkLsaVhCxK1iWh1tkKr0EKj0CDfnI9FuYvQ6+3F\nNfnX4J8V/wy31QyEmlUj35yPFeNWINuYjQ2nNkAb1IJlWLiCLpSklISVIsMwGG8Zj/GW8UO+598C\nBQX0Gow33yRilMKUFktETRYUAI88QuptMCorY/daFhRQxSlAhHb0KIVqpQkdKhUV+5ytmpRaQmJB\ne3ov3zOC10tkHwxSAVRFBfnEZmfHbheJ44IiTpJxXFIwDIP7Jt+HuVlzUdZZBlbGYlraNOQl5I3Y\nAiGKIt4sfRO+kC/sztPj6UG/vx+cwCHPTO8pWSWCfBB/Kf9L2Og805iJx+Y8hj8e/SMUMgXq++uh\nU+gwOXUyerw9WDVxVbjP8njX8ahWGonEpfXdMeEOTEyZiH2t+xDgApiZMRPT06dHKUU/50dVTxW8\nIS9yTDnINmZf3u0dFxo9PRROlcuj50a63aQAn356eCIbTetIT0/sGY0DibShgUhUM/QhKAxBiKhO\nmSx2G8mFgMVCg5sBUtdHj1IrzYUqEIpjRMRJMo5LDoZhMDZp7BkNFrb5bKjtq42aQCKTySBChI/z\ngRf4sMOOXCaHj/Oh39cfLvopTCpEpjETueZcJOuT4ef8YMDgyblPoiSVbtDzc+ZjS8MWtDnakGZI\nC083GZc4DsXJxeG1T0ieMGxlcWN/I/5n///AHXRDBOXl5mXPw4PTHrwyK1lHC1EcvndRq43tVyr1\nIZ4r5syh13DweKjvcPlyqsyNBVEEfv1rIqfB47sGQxq+fL5ht1PxUlbWhSsQiuO0iNvSxXFFIta8\nymwjhWEHtopwAgdBFJCsTY7qV1xbtRY1fTWYlDwJczLnYFHuIiRoEsKuPABNGvnhwh9ibvZcdLm7\n4Ag4sGLsCjx+1eOjIrgQH8JrB1+DjJEhNyEXeQl5yDHlYHfzbuxq3nWul+Dioa6OWjZGi8pK4LXX\nhic8nY76EAe/WlqAZ56hMVIXEjt2kCXcxx9H5xcH4uRJ4PBhal/h+eG/q7mZzAwkhXo+sW0bqVmL\nhVx9SkvP/zHiOC3iJBnHFQmL1oI0XRrsfnv4vSRtErKN2RAhwhV0we63wxvyItuUjQU5C2BQkSl0\niA9hV8suZBoyo4g2XZ+O6p5q9Hp7o46zevpq/HHlH/G7G3+HOyfeOeo5nXW2OtgDdpg10R66BpUB\nm2o3DbPXRYDbDbz+OuW7TgdBoMkSb7xBObLRbP/Pf1IVak3N6Nfk8dAxmpuBl18+P4pyuON8/DE1\n3geDRJiDIYoU5pTIqaxs+O9bv57WvOk8/z4lFSmFeKV2k5EIO44LgjhJxnFFQsbIsHL8SnS4OlDb\nVwubz4YWRwtmZMzAqomrkGXIQrYxG0WWIuSYchDgA3hpz0v4rO4z2P12cDw3RA0yDAMZI4Of8w85\n3tnkEAN8AIwY2a/V0YrNdZuxp3kPPqn9BH8p+wt8oVEQ1fnGzp3kFiOZeY+E8nJydLHbaWLF6SD1\nEiYn0019tGS3di2525jNRJYHDgy/bXs7VXoCRGK//33sIp9Y2LGDqmNVKmqliKUmT56kIp+kJCKn\nNWtik1NzMw2bnjSJrun5VJOSipRaYEymuJq8RPgSJ0Xi+LLCG/Liz8f+jKPWo1CwCnS4OhASQrhz\nwp24Jv8aJKgTUGurRa+3Fye6TmBv617U9dVBySpR3VuNHU07kGXMgs1nC+coATIn0Cq0UcOWQ3wI\n2xu3Y0vDFnhCHkxPm46V41dGbTMc8hLyAIa+o8/XhyMdR6BT6sDKWOSb8rGzaSdcARe+O+csBwWf\nDdxumjpRWBg9GioWBIGIzmymIpu1aynXN1yF5cBewoQEIpqaGqCoaOQ1SSpSr6f1BQLAs8+Skhr8\ncBIIUD7xmmuAm26ic9m8mUwGTlfUI6lIqc9QpYqoSSk3KalIg4GOLfVClpVRhelArF9PJgoKBRX2\nbNoEfP3rI69hNHC5qNUjEKD+TgleL61txozh871xnHfElWQcVxzeOfEOjlqPIteUi3FJ47AwdyHU\ncnJ8SdImgZWR+02xpRiHOw4j15SLVH0qzBoz8hLyYHVZkWXIgo/zocPZAU/Qgy53F7q93bhvyn1R\n7jhvHHsDfz/+dzBgkKhOxKH2Q3hu13Po8ZxeNSSoE3B78e1odbbimPUYZIwMvpAPKrkK4y3jkWvK\nxTHrsfAczIuCnTup39BkopvuSGpSUpEJCURgp1OTkoqUGu4NBrqpn05NSipSpSKSNBjIMCCWmty3\nj3Kk771H7SL79lFrxPvvx1aTbjeRHBDJRfI8nbvXS9dh3bqImhyoIiXEUpMtLaQiBzb7v/02ncu5\nQqkEHnqIipseeijyevxx4Pbb4wR5kREnyTiuKLgCLuxr3RfVRiFjZMgyZmFrw1YE+UjerL6/HqIo\nDmnct+gsaHI24WeLf4a52XOhYBWYmDIRzyx8BrMzZ4e3a3W24mD7QYwxj4FOqYOCVSDTmAlfyIet\nDVtHtd7lY5fjqXlPgWVYGFQGjE0ai0W5i6BVaMPhXWlqyAWHpCKlG3tKCqnJWLnJgSpSgsVCJBAr\nNxnLkSYpiYhspNzkQBXZ10eKTKkkQnr22WiCDQToGFYrUFUFvPoqbZuYSMOP9+4d+v0bNgC/+hWF\nZ202IDeXKkSll0ZDeb/eL/LQW7fSQ0RbW2SOo9NJId6B57FuHalIqUWE52nb3/6WyPdcoFKRMp4/\nf+gr3gZy0REPt8ZxRcET8pDXqiy6FF7JKhESQvBz/nAVq0KmAGI8dPMCD4PKgCxjFh6Y9sCwx2pz\ntoXnQA5EoiYRFd0Vo1ovwzAoSS3B8rHL0ePtidlzOTDke0EhqUjJwkyjIas3aTTUQLzyCqm5MWOi\nSbSnh9TkwoXR29fWkmKT1KCEYJDcc4YLuR47Rmvw+chdhmWJ0BiGlOyJE8DkLyai7NtH/Y08T9t8\n8gmNnxJFIqhnn6XQq9QmYbMR6QUCdI6jCYXecw+FcWNB8p91uYgwg0FSlACFRXmexm9t2zZ8a0kc\nVxziJBnHZQk/50ebsw1quTqqCjVRkwiVXAU/5w+HWAFSmBaNBXqlPvxekaUIKlYFd9Adfl8QBDT0\nN2C5ZTk6XB3IMGQMObYr4MLult3YVLsJVT1VUMvV4QHJAODjfDG9ZkfCzeNvxi/3/xJKVgm9Ug9O\n4NDqbMXsjNmjym+eMyRSGXhjB+jv69fTAGGpSMRqJVWm1VLOcrCNm9GIIcjLo3FUsWAwDL+uBQuo\n7WP7dlJgFkvkM6eT1lZSQutcs4ZIWqslQu3uJrLKziZi7uwkkly+nPbfvJn+zMyM5F+HM2KXkJhI\nr5FgMJA6lVSu00kGCDNn0nuffAIsWXL+nXjiuCSIk+QlgifoQZ2tLjzaSauI/4eSsLNxJ96teBch\nIQRRFMOG6Kn6VChZJe6ccCfeLH0TFq0FBpUBDr8D/f5+PDrn0aiZkxqFBo/MegT/e+h/0evtDTvf\n6BQ67G/bj/1t+zEvex4emPpAOCTrDDjx/O7n0eXuglFphJ/zY0fjDkxJm4Li5GKE+BCcfieuG3Pd\nkHVzAocOVwdYhkWGISNKgU5Om4zvzPoO3qt8Dy2OFrAMiyX5S3DXxLuGvxADHV/OFQoF8K1vUcN+\nrM8GNqlv2EA5tkCACCrWOKnBUKmoGOhM4XQSQVZWUlGQfMAtyWKh9Xo81LNYW0tkKZcTSXIcTRGR\n2jkA6s9ctow+37qVQqlyeWSY8nDTMs4UAw3FpQIjiRR7e2lY87Jl5+dYcVxSxEnyEmB/6368VfYW\nQnwIYAClTIn/nPGfmJEx4/Q7f8lR1VOFN8veRIYhA2q5GqIowuqy4sU9L+Ll616GglVgcd5i6JQ6\nrK9Zj3ZnO3IScrB62uqYg4onpU7CK9e/guOdx/GnY3/CxOSJGJc0DgzDQBRF7GnZgwxDBlaMWwEA\n2NawDd3u7rDV3ZIxS7C/dT+OWo+ClbHQKrT4aslXMSllUtRxyjvL8Wbpm3AFXQCADEMGvjnjm1ET\nSuZkzcHMjJlwBBzQyDUxfWHD6O2lG/5TT42sxEYLlo2ELUeC1UphzZwcIrA1a2i/CzVYeNs2+rO4\nmEKUg8O+Eurq6JooFESOcjnlMXmewsazvpiq0tNDoU+p6Eci3dTU0avJ/9/evcc3Xd57AP/8cm3a\nJm16S1N6Ly0FWgoIgsp1iIoXFEWPelT06NzmpsfpvJw5Hc4hQ9Ezdbo5AUWcnk0FRIUKQ0DAQQUK\nyEVsaUPbtKGl6SVN0ub2nD+eJW3aBlua9tek3/frlZfml+aXp7+UfPN9Lt+nP1pbeebYdWcOnY5n\nwLNn88DpdvMdTxYv9s+USUigIDnEjK1G/PXgX6GL1vm6C21OG9745g0sv3w5kqKSRGlXvbUetZZa\naJQaZMZm+mVkQ2lr+VaoFWpEyCLgdDtxvOE4qlqqYOmwwO6047+n/zfGJo7FxaMu9ptkcz4apQZZ\n2ixIBIkvQAJ8vFAfrccX5V/gmtxrIAgCSmpL/MYINUoN5ufMx/H647gu7zpcm3etryiBV01rDV7d\n/yq0Ki3SY9LBGEOjvRErv16J5Zcv9+slkEqkfuOSARUX8/G67duBG27o0+8ZFJ9+yifDSCR8Ek5l\nJXD0aN+yyUC+/poHi+7naGnpDDBu9/mXpOTn89qrOh3vLrZaeZCsqOAZt3e8UCIB/vY3nnVqtf7j\no42Nwc0mAd4t3dzcc2atxcLHbufO5e9jcTGvNHTnncF7bTIkKEgOsf3G/ZAIEr/xtEh5JM7hHEqM\nJb6MZqi4PC6sO7IOu87sgkSQgDGGjNgMPHjxg4M2ocTlceHUuVNo6WhBcnQysmKzfIHrrO0sIuWR\nYIyhxFiCBlsDNEoNPB4PzHYzXvz6Rfx29m+REdu5Q0ijrRGff/859hv3QyFVYHLKZKRr0hGliMLY\nhLGIUkTB5rRBEHpOwlHKlKi31vvuR8oj0ej0L4smESTQKDXIT8jvESABYJeBXzvvuKcgCEiITICh\n2YCjpqOYnja9fxfo3DkeHMeN6xzfCkY2+UO6ZpFeWu3AskmbjS+NUKn4NlVdNwH2Lpj3rrv0don2\nlk0qFMCVV/Iu4OPH+RhoRwfPCs1mfouK4oG9pIQXOO9+zUaP9t96KhimTOFjor3R63nw//BDfk13\n7OBdsJRNhhQKkkOsqb3Jr4aol1wiR0t7y5C3558V/8SOyh3I1HZmj3WWOvz5wJ/x1Myngr5bRYO1\nAS/vexkmiwmMMbQ6WpGiTsGPJ/8YhbpC5MfnY3fVbjjcDjTYGhCj/HfhaAFI0aTA7rRjS/kW/HTK\nTwHwMcTndz+P5vZmJEUl4dS5U/j0+08RGxGL8YnjESGLwE+n/BRjEsZAKkjhcDv8rv852zmMTxrv\n+z1/lPkj/OXAX6BRanzXw9JhgUquQn5C7zM069rqeh1TlggSnLOf6+UZP6C4mHePRkZ2BsyhyCa3\nbeOZl9Hof7y2li+5KCjo/Xnn49082G7n44qXXsqPd80ivXQ6XtKurAz4yU/8x0m9RcuLi3kAzMjg\nWaTdztv83Xc8CAM847zhBt7dOdgSE/ktkG++4cE/K4tnv1u2UDYZYihIDrHxCeN7FLdmjKHd1e7b\nWWIoFZcXQ6/W+wKC1WGFh3lwsPYgqlqq/DK2gWKM4a8H/wqzzYzk6GTsr9mPRnsjjpqO4tuz36JQ\nVwiVTIV9NfsgQIDT7US0IhqWDgtS1CmIUcZAKVWioqnCd849VXtgtpuREZuBBmsDTjedhj5aD4vD\nArVSDZVMhTe+eQMvXvEiFo9bjL99+zfERsQiUh4Js90MxhgWj1vsO9/01Ok4ee4k9lR1LrKPkEXg\noYsfCjiGmBefhxP1J3rUaPUwj6/oep95g+KoUfx+cvLQZZOzZwfeoipQtnQ+NhuwYQMPfk4nX3c5\ndSrPJvfs4d2U3QsNHDvGZ6xOnw5Mnuz/mMfDZ6x61yTK5Twwut0801y6dHB247hQ3izSW5hAr6ds\nMgRRkBxik/STkB2bjcqmSiRFJ4ExhnprPfLi81CYdAGbwQ4AYwwt7S1Ii0kDYwzH6o/hdNNpAIDN\nYcPvdv0Ov5v7O4zSjArK69Vb61HeVI50TToO1h1EU3sTtCotNEoNTFYTjOVGpKhTMDtjNvbV7IOh\nxQCpIEWBrgC58bkQBAEWh8UvoztefxwaJV+ScKblDORSuW8NZXN7MxLiEtBga8BR01FckXMFkqKS\nUFxejHpbPaakTMHVuVcjVZOK1o5WWB1WxEfG495J92J+9nwYmg2IkEVgfNJ4v6Ul3c1Mn4ltp7eh\nzlIHXbQOHuaBsdWIjNgMjE8a37+L5M0ivRNOFAo+UWUossmMDH4LFm8WqdPxblGDoTObnDrVv1sX\n4F2hL7/MA8iHH/Iyc95skjF+be6/339mqZdUOjRd0v1x6FBnFgnw91QQKJsMMRQkh5hSpsSvLv0V\ntldux+4zuyEIAm4efzPmZc3rURlmsAmCgPFJ41HZVAm7y44ycxliI2LBGINEkEAqkeKP+/6I5Zcv\nD8reh949G50eJ4ytRt/4ngABZpsZOdocWDos0Cg1uDbvWhSXF8PusiMvPg9SiRRWhxVWpxVXjb7K\nd86EyASUmcughRYOtwNSgX+oMjBft6oAAXaXHYIgYJJ+EibpO/cHtDqs+MuBv6DEWAIBAiJkEbh5\n3M2YnTm7z1m0VqXFr2f+Gh+e+BClplJIBSnmZM7BjWNv7N91s1p5YHG5eKbk5XbzZRLXXOM/ptdf\njAHvvsszxszM/j+/rY1PSOnL5sNds0iv+PjObDIpid+6WrWKj4GmpvIJQ0eOdGaTp0/z3Uhuuw24\n8cb+t10MGzfyLwld16W6XPy9vPZa/2pGZNiiICmCKEUUFo5ZiIVjAlT2GEI3jb0Jy3YvwxHTESil\nSjjcDticNhQkFSBFnYIzLWdQbi4POB7XH3q1HiqZCs32ZrR08LWN3mAsk8oQIY9Ah7vDt1fknMw5\n2GnYiYqmCihlSqgVavxi6i+QF5/nO+esjFnYdWYX2l3t0EfrcbbtLARBgEKiQHJ0MhhjYGAYHddz\nDR9jDG8efBPH6o8hVZPq2wFkTekaaJQaTE6Z3OM55/vdHpr2EJxup+938jLbzfi6+mvUtNYgIyYD\nl6RdgtiI2J4niYzkC+t723FCLvdfQ3ghKip44eyGBuDRR/tfA3T9ej42uWzZD2/+u3cvH8vsXvKu\nuZnXPL3kEv/jDQ3An//cmcl6JwwVFfEJQxs28K7ULVt41/Nw6lYN5PbbO3cr6Uoi4ZOMSEigIBmC\nbE4brA4rYiNiB5x9Zmmz8PSsp7Fk4xJYOiyIkkWhIKkAo9S8i1WAELTtnBRSBRaPXYyHvngIze3N\nkEvkYGBwup1QyVWwO+2IlEdCJeNjf3KpHBN0E/Dc3OfAwJAYldgjM8vWZuPmcTfjoxMfgYEBAp/M\nMz11OmxOGxptjZiRPgPZ2uwe7alrq8O3Z79Feky6b+JOhCwCcZFx2PT9pn4FSa/u74eh2YAVe1ag\nw90BlUyFkpoSfF72OZ6c8SRSNan+TxYEnkUNBsZ4oImP56XeKir4BJe+amjoLGt36FDnusRAcnKA\nRx7p/bHefsd33uFrDisrgdzczuUn69bxcdJjx3j2W13Nu55DIZsc38+u9oHq6OBZa27u0L5umKMg\nGUI6XB34x/F/YNeZXWCMQSVXYfHYxZidOXtAs1AzYjOwpGgJ9lbv9fvgdnvcvoo3weL0ODFaOxox\nyhiUNZZBJVchXZOOqtYq1FvrcWXOlb6F/jWtNfhR1o+QrO69bNuJ+hNYd3QdTFYT3MyNjJgM3D/5\nfpjtZhyoOwClVImbx92MaanTer0+ZrsZEkHS4zG1Qh2UnTkYY1hTugYyiQy66M5ux3prPdYdWYf/\nmfk/A36NPquo4MExM5MHvA0b+pdNbtnCM6DERJ7hTZ58/mwyO5vf+sJsBj74gJ+/rY2vL8zK4lnn\nypU8SGq1vK3JyaGVTQ6lr77i780LL/AvGSQoKEiGkHePvIs9VXuQFpMGmUQGu9OO1aWroZKrMC11\n2oDOfXXu1ThQdwA1LTVIiEpAu6sdjbZGXDvm2qCulzxQdwAZsRkoSi7ClJQpKDeXo6W9BZkxmciO\ny0a7ux1VLVXwMA8mJk/EzeNuBsCXjmw9vRVHzx5FTEQMChILsPHURmiUGqRr0uFhHtRaavGl4Uv8\nZtZvsDD/h7uyk6KS4GZueJjHr3hCc3tzUGb1mu1m1LTU+FXdAYDEyER83/g9LB2WXtddBp03i4yK\n4oEmMbF/2aQ3i0xJ4V2+lZV9yyb7ymjk5/YWFTCbeaHxPXt40DxwoHPSkneHkFDJJoeK3c7HQNva\n+LW56SaxWxQ2KEiGiEZbI76u+RoZsRm+D3SVXIXEqERs/G7jgIOkLlqHZ2Y9g+LyYhw+exjaCC3+\nY/x/DPi83UUpouBsdQLg+y1OSeFb/xiaDbh/8v1I0aTAbDcjMTIRqZpUCIKAems9ntv1HGxOG+Ij\n42FqM2HTd5ugVqpxWfplAACpIEVaTBoqmipQ1liGMQljfrAtSVFJuCT1Enxd/TVGaUZBIVWgtaMV\nrR2t+NnUnw34dxUEgXcBd8PAei1sMGi6ZpG8YTxg9jWb9GaR3jHR+Pi+ZZN9wRiv8pOR0bneUCLh\ngdg74cXl4oHSWxvW4+HPufzy3outDwdu98CvTX/s2cMnS2VldWbalE0GBQXJEGG2myGBpEe5OLVC\njTMtZ3pkQxdCF63DkolLsARL+vU8xhiOmI5gS/kWmKwm5MXl4Zq8a3z1T7uakzEHB40HEaeK801u\nsTqsUEgVKNAV+MridbWlbAtsTpsvI4uUR0ImlaG2rRZ2p73H+sVztnMYgx8OkgBwz6R7oFVpsb1i\nOxxuB3TROjw8/WGMSxzXr2vQG22EFqPjRqOmtcavu/Vs21kUJBWcd1lJUG3ezCMf7nAAACAASURB\nVD9Au86YZQw4eBA4c+b8M10bGnhmkpTEx7wAvgSjqio42aR3v8mubUhOBt57j6/NTEnhH/ZmM186\n4g2Kg1VLNhhKSnjQ+uUvh2aDZG8WmZTEJ3h5PJRNBhEFyRARHxkPD/P0CIatHa2+mZli2WnYibcP\nv43YiFhEyaPwbf23OFR3CE/OeBK58f6TCCboJuDaMddic9lmAHxikEKqwM+n/ty33rG7UlMpEqP8\nq5poVVo0WBvQ3N7cI0j2p3tYIVXglvG3YFH+InS4OxAljwpahicIAu6ZdA9W7FkBQ7OB73npdkKr\n0uKOCXcE5TX6ZMGCzko33Z2vWgzAS9UlJvLMqOusW28N1YEGycOH+X+7LpNob+czYzMzO9cY1tTw\nADDcP/hdLuAf/+BdyGVlQF7eDz9noLxZpPe91OspmwwigbHuJS/Cg3fyRzhZU7oGOw07kaZJg1wq\nh9VhxVnrWTx48YOYOipI40P91O5qx8PFDyM2ItavHm2jrRG6aB1+M+s3vT7P1GZCubkcCqkC4xLH\nnTerenrH07A6rH5BtLm9GZ9//zkuTbsUWdos3wL+tJg0PDP7GVG/NHRndVhxoPYA6trqkKpJxWT9\nZNoazcvj6VkcfN063p2alNSZibndPBD88Y9DW62GMb40ZcGCzoB9Pvv28Z+PjuazeJ98cnCzSbud\nZ6xyuf/uJrW1fMx2uH+pEEF/YwNlkiHkjgl3IFIWiS8NX8LlcUGj1OD+i+73jet15d31XipIB3Xs\ny9RmgsPt8AuQAN8cudxc3qNWqldydHKfNxuenz0fbx18C9GKaF/w8zAPLkm9BIlRiahq4VnIRfqL\ncMeEO4ZVgAT4OOzszCGoIxqKJJKeXacpKXyxfVcWCx/j676GlDHeZZuXNzjBaMsW3nVps/3w+K3L\nxYslJCTwIPndd4OfTZrNPHP0doV7ZWQEv5j7CEVBMoQopArcWngrFo1dBJvTBo1S47doHeDB8V81\n/8LGkxtRb6tHUlQSFuUvwvTU6YMSLL07djDG/M7vcDugkquCUqnnsrTLYGgy4EvDlxDAJ8NoI7T4\n/bzfI1WTiiY7Lxo/JDNFyeC78kr/+4zxZQ0SSc8qPd9/D6xYATz1VP/WffaF0cjPm5vbt9nABw7w\n2rve8dXoaODjjwc3mxw1Cvjtbwfn3AQABcmQpJQpoZT1Ur8SfNum1aWrkRSVhMzYTFg6LHjjmzfg\ncDsGJZtJjEzE2MSxKGss89V4ZYyh1lKL6/OvD0pWJ5VIcdfEu3DF6CtQ1VKFSHkkxsSP8S3cH6wt\nvYLJ2GpEibEEVqcVBUkFKEgqCMoXiBGhvJxX+gF4eTrvLFfGeBBqa+v/us++WLWKZ2NGI98B5Xyv\n4XIBb7zh33WckDA02SQZVPSvNIy4PC58fPJjpKhTfJNZ1Eo1ZBIZPjrxES5LvyzoH8yCIODHk3+M\nV/e/CkOzwdffPz11etD3xuxPF+1wsrtqN9aUroEEEsgkMmw7vQ0FSQV4aNpDAb/sjHiM8WDEGC+H\nFx3dud7zV7/ij3lnxo4de2FVhM7HaOSvlZjIg7DHc/7XOHqUF2+XSPj4oLcL2enktVopSIYsCpJh\npLm9GVantUdmpZKr0GBrQEt7y6BkXVqVFk/PfhqVTZW+jZRT1ClBf51Q1NLegncOv4PkqGRfQGSM\n4dv6b7Gnag/mZc8TuYXD0IEDPHO8667OLNLbhXnsGM8mc3J4Fhkd3f91n32xahUfh9Tr+VjoyZO8\nzFyg12hu7txv85pr+N6XXsNtdxLSL8NrhgMZkGhFNKSCFE630++40+2ETCJDlGLwiipLBAly4nIw\nWT+ZAmQXpxpPwe1x+2WMgiAgXhWP3VW7RWzZMOVy8Y2Xt23j2Zw3ixQE/2B46hS/eWe6dq0iNFC1\ntcBnn/HiCa2tfFLM2bN8OUxpqf96UwBwOIBNm3ggz8zkSzJ0Or7OMy2NlmGEOMokw0iELALzsuZh\nS/kWpMekQyqRwu1xo7q1GtfkXdNjBmo4YozBaDGiprUGUfIo5CfkX1AReLfHjVONp3DafBpqpRqT\nkichJiJ4tUKHrNpOqPFOflGpgNWreSBMTe3cTUOt5msrTSberdl1lw2pNDjZ5Gef8b0uu9aGbWvj\nrz1rVs+dTfbv55mkN9s1GPixmTMvvA1k2KAgGWZuHHcj2t3t+OrMV5BAAg88mJc1D4vyF4ndtEHn\n8rjwdunb2FO1xxeE4lRxeOSSR3ruuHEeHa4O/KnkTzhafxRSQQoP8+AD6Qd4aNpD/d5EeUz8GEgF\nKTpcHX7dreds53B17tX9Otew8s03fKnGqOBsyA2gcwlFfDzPGPfu5WsTu6+jTEzkQSkuzv+x+Hge\nNB2O3jdm7gvGgJaWnuOOCQk8s9y2jWeSTz3FA7HDwbt9uxZlSEzkx6ZN47VmSUijYgJhqrm9GWa7\nGXGqOL+9C880n8Gn33+KU+dOITEqEVePvhoXpVwUFpnNP0//E2uPrEWWNss3q/ac7Rwi5ZFYPm95\nj+UygWwp24IPjn2ArNgsCIKAdlc7TBYTGBjevPZNRMj7l5HvMuzCO4ffgUSQQC6Vw+60Y1ziODw8\n/eHQnLjT1sYXsI8ZE9wZpfv2AX/5S2dGVlsLXHQR8JOfBOf8A7VpE89UPR6+rGPsWN61unIlD9hd\nmc18gtGMGeK0lQRExQQIAF48vPvGvqfNp/H87uchl8oRp4pDo60Rr+x/BbcX3o4FuQtEamnwbK3Y\nCl20zm/ZSUJkAs40n0FFU0WPEnmB7DDsgC6K11o9Vn8Mp82nAQAWhwWPbXsMv5v7O2hVfd9Vfnbm\nbOTE5aDEWILWjlZM0E1AYVLhgPcCFc3OnTzrC+aM0q5ZpFdyMvCvfwHXXcezVjFZLLwbVq/n45Qf\nf8yzyeTkwEE8OfRmYpOeKEiOIB+d/AgRsghfHVSFSoEoRRTWn1yP2ZmzQ75UmtVh7XXcUBAEtLS3\noN3V3qdxWZfHBblEDkOzAd83fo/YiFhf4DW2GvH6N6/jqZlP9Sv7TtWk9qvLd9hqa+Ml45KTeZdn\nsGaUfvstr88aFcXXJnrPZ7PxJRR3DGGt297s2MEDuULBA3lZGV8DOXZs57pNEpYoSI4QHubByYaT\nyIjx3ydRIVX49mIcHRfa/9gn6Sdhf81+X1EDAGi2N+NEwwn8cf8fIZfKMVE3EbcW3Oq3K0d3l6Re\ngs1lm1FuLveVwnN5XBAEAWMSxqDcXA6jxRgeQa+/du7sHPNLSgpeNjl6NPDMM3ypxYEDPCh6A2X3\nrsyh5s0ivZmhIPBJPB9/DNxzD2C10jrIMEZLQEYIAQLUCjXaXe1+xxlj8DBPyGeRAHBd3nVQypSo\nbqmGzWmDyWLC1tNbEauMRbY2G2maNBxvOI4Ve1egzdEW8DxX5FwBXbQODbYGON1OWDossDgsKEwq\nhFKmhFSQwtJhGcLfTCTff8/XJXp1zSIBHiwiI3k2OdDxf7Waj3F+8w3fS1IuB8aN47fkZL70wmgc\n2Gv0l83G/7tzJ98yrL6eZ7s1NXyGa2kp8NJLvKC503neU5HQRUFyhBAEAVeNvgq1bbXwsM4ZgXVt\ndciNz4U+Wi9i64JDF63Db2f/FvOy5kEiSCBIBOTG52Ja6jRIBL4XZ4qab+r8jfGbgOeJiYjB07Oe\nxpzMOVDIFEjTpGFOxhxkabPg8rjAwMJ/LajbDaxZw5dheAOAN1g0NfElGCYTn8RSUhKc9YmHD/O1\niPHxfH2kN/DabHxCzwcfDDwY99WZM8BvfsNnuqal8Yxx4cLO2/XX802fq6r4JJ2SkqFpFxly1N06\nglyRcwVMbSbfEgkGhoyYDPx0yk/DYnYrACRGJeL2CbfjdtyOtUfW4l/V/+rxu6lkKlQ2V2Iu5gY8\nT5QiCk/OeBLLvloGpUwJjVIDS4cFZ61nccOYG4K6ZnJY8gYsgAeAyy7jyyACbb0kH+AkJLcb+PBD\n3rWq0fBuV2/N06++4gv6g1167nw++YRX9vnnP/nvPHGi/+OM8cLqOh1f0/nRR8DFFw/8OpBhh4Lk\nCCKXynHv5Htxbd61qGurg0apQWZs5rDbWipY9FF6dLg7ehzvcHX0KRPM1mbjqVlPYcN3G/Bdw3eI\nj4zH/RfdjxnpYT6tv2vAkko7A8D06fw2GLxB2btnY3Q0zyYffJAHrORkPqt0MAqZd2cwAIcO8TJ0\nW7bwjDGm25eisjIeyDMzeVsqKzu/TJCwQkFyBNJF6847cSVcXJx6MTae2ohGWyPiVHzyR1N7E5Qy\nJaaNmvYDz+aytdl49JJHB7OZw0/3gDXYAaBrUPZKSOBB6IMPeIEAnY5PFhqKbHLTJr6BsULBu5O9\n2aRX16Lr3mCdmEjZZJgKzxSCEPC1oo9f9jg0Sg2qWqpQ1VoFtUKNxy97/LzrHGsttVh9aDUe/eJR\nLN+9HIdqD42cwhS9BSxvABisySmnTvHJMK2tvJpNdTW/b7MBa9fyAAn4124drPfDm0V6X1Ov59lk\nS0vnz5SV8Uk7EgnQ2MhvHR28zTQ2GXao4g4Je4wx1FvrwcCgi9Kdd/y1uqUav//q92CMIS4yDjan\nDU32JtxWeFtol5Hrq0OHgGXLOguHezU08G7OwcgmOzp6n7m6axdfZpGW1nmMMT5R5vnnB2d94quv\n8l1HuhYCqKriO3t4s8kTJ4Dt23t//uTJ1OU6zFHFHUK6EQShz93LG77bAEEQoFfz2b4RsgioFWqs\nP7keszJmIVoRPZhNFV9kZODJORrN4LymUglkZ/c8bjIBixf3/hxp30oMntexY3yZy4038vvNzbyL\nt6PDf6cPj4fXkV20iGeP3qUpZESgIElIF0fPHu2xHEYulcPDPKhprUF+Qr5ILRsi+fn8Nhxceim/\nDQa3G3j/fR4MZ8zghRFiY4EXX+xZUB3gxc0lNDo1EtG7TkgXaoW6x4xYxhgYY1DJVCK1igTdkSO8\ni1epBIqLO49HR/OMufstMvSLbZALQ0GSkC6uHH0l6trq/Aou1FvrkRaThvSYdBFbRoLG7eYTkbRa\nPjFnxw5eTYeQXlCQJKSLy7Mvx6z0WahuqUZVSxXONJ9BTEQMfj7152FTcOGCmM18W6hw4M0iY2P5\n2KZU6p9NEtIFzW4lpBe1lloYW41QK9XIjcvt816UYeudd/h6wf/9X/8NhkON2w08/TRfXhIb23ms\npoZX0ElKErd9ZND1NzZQJklIL1LUKZg6airyE/KHLEC2u9phtpvh9riH5PX6rL6eL8eQy/mawWCz\n24HXXuMF1Afb8eN8nWNrK1/aUVXFs8qWFv4lgJBuaHYrISJzuB1Yf2I9tlduh5u5oVaosXj8YsxI\nmzE8ung3b+Zdkno9L3K+YEFws8ndu4GtW3mJt+uuC955e5OaCjzxRO+PdV8bSggoSBIiunePvIvd\nZ3YjVZMKuVQOm9OGtw6+hQhpBKaOmipu47xZZGoqD5QSCc8m77orOOe324GNG3lhgM8+A+bO5TNM\nB0tcnPj7U5KQQt2thIjIbDdjb9VeZMRmQC7lNT8j5ZGIV8Vj43cbRW4dOrNI7+J9bzbZ0BCc8+/e\nzccHY2L4Zs47dgTnvIQECQVJQkR0znbOt9dlVxqlBrWWWnEnn9XXA9u28Zqp3v0jGxr4+F0wxia9\nWaS3TmpyMs8mh2Js8oc4ncCbb/K9M8mIRt2thIgoXhUPDzzwMI9foLQ4LNCr9eKPSS5Y0Hsx8ZQg\nbDrtzSK9M0qVys5scrDHJn/IgQM8i9ZqgVtuEbctRFQUJAkRUXxkPC5NvRR7qvYgLSYNMokMdqcd\nDdYGPDjtQXEbl5QE3HHH4Jzb6eRZo9PJZ5h2Pf7558D8+Xy7KjE4nXwnlMxM4IsveFu0gXeNIeGN\ngiQhIrur6C5EyiOx07ATbuZGlDwK902+D1NTRJ60M5ikUuD++3vffksmE3dPxgMHePGEzEzAYuFd\nzpRNjlghWUxg6dKlWLVqFRL/PQ19+fLluOqqq/x+hooJkFBjd9phdVoRGxELmYS+v4rC6eRLRAQB\nUKv5fZMJWLmSsskwMSKKCQiCgEceeQSlpaUoLS3tESAJCUUquQoJkQkUIMXkzSLVan5fLudjstu2\nidsuIpqQDJIAKEskg6rJ3oRyczma7DS7ccRgjM+2bW/vrMZTVcWzyS++4F2vZMQJ2a+sr732Gt59\n911MmTIFL730EmK9dRgJGQCH24F1R9Zhb/VeSCCBBx7MSJ+BOybcAYVUIXbzyGD7z//kM2y7k0jE\nm0hERDVsxyTnz58Pk8nU4/iyZcswffp033jk008/jbq6Oqxevdrv52hMklyI9799H1+Uf4GM2AxI\nBAk8zANDswFXj74atxbeKnbzCCED1N/YMGwzyW19HAO47777cF2ANVVLly71/f+cOXMwZ86cILSM\nhCu7044dlTuQFpPmW7MoESRI06ThS8OXuGHsDYiQUTYhitpaPk7oHSskpI927tyJnTt3XvDzh22Q\nPJ+6ujro9XoAwIYNG1BYWNjrz3UNkoT8EKvTCjdz95g4I5fK4fK4YHPaKEiKweUCXnkFGDsWuPtu\nsVtDQkz3BOnZZ5/t1/NDMkg+8cQTOHz4MARBQFZWFt58802xm0TCQGxELKLkUbA77VDJVb7jNqcN\naoUaGqVGxNaNYKWlPJOsrweuvpr2fCRDatiOSQ4UjUmSC7HLsAurDq1CUlQS1Eo1Wjta0WBtwI8n\n/xizMmeJ3byRx+UCfv1r/t/WVmDmTGDJErFbRULYiFgnSchgmZUxCw9MfQByqRyGZgOUUiV+cfEv\nMDNjpthNG5lKS3kGqdF07kBSXy92q8gIQpkkCVntrnYcMR1BraUW+mg9ipKL/LpJB8rtcUMqkQbt\nfKSfumaRmn93ddfUUDZJBiRsZrcScj4N1ga8sPcFNNgaIJPI4PK4EB8Zj8cvfRy6aF1QXqN7gHS6\nnTjRcALnbOeQGJWIsQljfXtAkkFQWgoYjUBaGl/gD/DScNu3891JaGySDAEKkiQkvXf0PbR0tCAz\nNtN3zGQxYe2RtXj8sseD/npmuxkrv16JWkut79gozSj86pJfQauimp6DoqaG7zHZvQi6TgfU1VGQ\nJEOCgiQJOZYOC47WH0WaJs3vuC5ah5MNJ9HS3oKYiJigvuZ7R99Dg7XBLygbW4147+h74m9pFa4W\nLeI3QkREE3dIyPEwDxhjEND7hsRu5g7q61k6LCg1lUKv1vsd16v1KDWVos3RFtTXI4QMHxQkScjR\nKDXI1maj0d7od9xsNyMtJg3aiOB2fzo9TghM6BGUBQhgYHC6e9kTkRASFihIkpAjCALuKroLbo8b\nVS1VaLQ1orqlGk6PE3dPvBuC0HuGeaG0EVokq5PR3N7sd7y5vRmj1KMQG0HF9QkJV7QEhISsRlsj\ndlftxpnmM0iPScfMjJlIiEwYlNc6de4UXvz6RQgQoFaqYeng2yY9dtljyIvPG5TXJIQEX39jAwVJ\nQvqo1lKL7RXbUdVShYzYDPwo60dIUaeI3SxCSD9QkPw3CpKEEEK6o7J0hBBCSJBQkCSEEEICoCBJ\nCCGEBEBBkhBCCAmAgiQhhBASAAVJQgghJAAKkoSQ0GazAeXlYreChCkKkoSQ0LZtG7ByJdBGheZJ\n8FGQJISELosF+PxzHiB37BC7NSQMUZAkhISu7dsBlwtISwM++4yySRJ0FCQJIaHJYgE2bwaSkwGl\nEnA6KZskQUdBkhASmrxZpELB7+t0lE2SoKMgSQgJPRYL8OmnQHQ0D4ptbTyTtFgomyRBJRO7AYQQ\n0m9mM5CezjPJrnJygNZWcdpEwhJtlUUIIWTEoK2yCCGEkCChIEkIIYQEQEGSEEIICYCCJCGEEBIA\nBUlCCCEkAAqShBBCSAAUJAkhhJAAKEgSQgghAVCQJIQQQgKgIEkIIYQEQEGSEEIICYCCJCGEEBIA\nBUlCCBmO3G7A4RC7FSMeBUlCCBmOPvoIWLNG7FaMeBQkCSFkuGlqArZtA/btA4xGsVszolGQJISQ\n4WbrVoAxQKEAPv1U7NaMaBQkCSFkOPFmkcnJ/EbZpKgoSBJCyHDizSLlckAioWxSZBQkCSFkuOia\nRXpRNikqmdgNIIQQ8m+lpUBHB2Ay+R93uYD9+4EbbxSnXSOYwBhjYjdiMAiCgDD91Qgh4crlAtra\nen8sMpJ3vZIB6W9soCBJCCFkxOhvbKAxSUIIISQACpKEEEJIABQkCSGEkAAoSBJCCCEBUJAkhBBC\nAqAgSQghhARAQZIQQggJgIIkIYQQEgAFSUIIISQACpKEEEJIABQkCSGEkAAoSBJCCCEBUJAkhBBC\nAqAgSQghhARAQZIQQggJgIIkIYQQEgAFSUIIISQACpKEEEJIABQkCSGEkAAoSBJCCCEBUJAkhBBC\nAhi2QfLDDz/E+PHjIZVKcejQIb/Hli9fjtzcXOTn52Pr1q0itZAQQki4G7ZBsrCwEBs2bMCsWbP8\njp84cQJ///vfceLECRQXF+OBBx6Ax+MRqZXD386dO8VugujoGtA1AOgaAHQNLsSwDZL5+fnIy8vr\ncfyTTz7BbbfdBrlcjszMTIwePRolJSUitDA00D8KugYAXQOArgFA1+BCDNsgGUhtbS1SU1N991NT\nU2E0GkVsESGEkHAlE/PF58+fD5PJ1OP4888/j+uuu67P5xEEIZjNIoQQQjg2zM2ZM4cdPHjQd3/5\n8uVs+fLlvvtXXnkl27dvX4/n5eTkMAB0oxvd6EY3uvluOTk5/YpBomaSfcUY8/3/woULcfvtt+OR\nRx6B0WhEWVkZLr744h7PKS8vH8omEkIICUPDdkxyw4YNSEtLw759+3DNNddgwYIFAIBx48bhlltu\nwbhx47BgwQK88cYb1N1KCCFkUAisa5pGCCGEEJ9hm0leKCpC4G/p0qVITU3FpEmTMGnSJBQXF4vd\npCFTXFyM/Px85ObmYsWKFWI3RxSZmZmYMGECJk2a1OuwRDj6r//6L+h0OhQWFvqOmc1mzJ8/H3l5\nebjiiivQ3NwsYguHRm/XYSR9HlRXV2Pu3LkYP348CgoK8OqrrwK4gL+FC5xPM2ydPHmSnTp1qseE\nn+PHj7OioiLmcDhYZWUly8nJYW63W8SWDo2lS5eyl156SexmDDmXy8VycnJYZWUlczgcrKioiJ04\ncULsZg25zMxM1tjYKHYzhtRXX33FDh06xAoKCnzHHnvsMbZixQrGGGN/+MMf2BNPPCFW84ZMb9dh\nJH0e1NXVsdLSUsYYYxaLheXl5bETJ070+28h7DJJKkLQExuBPeolJSUYPXo0MjMzIZfLceutt+KT\nTz4Ru1miGGnv/8yZM6HVav2Obdq0CUuWLAEALFmyBBs3bhSjaUOqt+sAjJy/h+TkZEycOBEAEB0d\njbFjx8JoNPb7byHsgmQgI7kIwWuvvYaioiLce++9I6KbCQCMRiPS0tJ890fS+92VIAi4/PLLMWXK\nFLz11ltiN0c0Z8+ehU6nAwDodDqcPXtW5BaJZyR+HhgMBpSWlmLatGn9/lsIySA5f/58FBYW9rh9\n+umn/TpPuMyKDXQ9Nm3ahJ/97GeorKzE4cOHodfr8eijj4rd3CERLu/tQO3duxelpaXYsmULXn/9\ndezevVvsJolOEIQR+/cxEj8P2tracNNNN+GVV16BWq32e6wvfwshsU6yu23btvX7OaNGjUJ1dbXv\nfk1NDUaNGhXMZommr9fjvvvu61clo1DW/f2urq7260kYKfR6PQAgMTERixYtQklJCWbOnClyq4ae\nTqeDyWRCcnIy6urqkJSUJHaTRNH19x4JnwdOpxM33XQT7rzzTtxwww0A+v+3EJKZZF+xbkUI/u//\n/g8OhwOVlZUBixCEm7q6Ot//b9iwwW+mWzibMmUKysrKYDAY4HA48Pe//x0LFy4Uu1lDymazwWKx\nAACsViu2bt06Yt7/7hYuXIi1a9cCANauXev7wBxpRtLnAWMM9957L8aNG4eHH37Yd7zffwuDObtI\nDOvXr2epqaksIiKC6XQ6dtVVV/keW7ZsGcvJyWFjxoxhxcXFIrZy6Nx5552ssLCQTZgwgV1//fXM\nZDKJ3aQhs3nzZpaXl8dycnLY888/L3ZzhlxFRQUrKipiRUVFbPz48SPmGtx6661Mr9czuVzOUlNT\n2Zo1a1hjYyObN28ey83NZfPnz2dNTU1iN3PQdb8Oq1evHlGfB7t372aCILCioiI2ceJENnHiRLZl\ny5Z+/y1QMQFCCCEkgLDubiWEEEIGgoIkIYQQEgAFSUIIISQACpKEEEJIABQkCSGEkAAoSBJCCCEB\nUJAkhBBCAqAgSQghhAQQkrVbCSE9HTx4EOvWrYNUKoXBYMCqVavw5ptvorm5GUajEc8++yyys7PF\nbiYhIYWCJCFhoKKiAm+//Tb+9Kc/AQDuvvtuTJ8+HWvXroXH48HMmTMxefJk/PKXvxS5pYSEFgqS\nhISBl156CS+88ILvvtVqRVxcHKZPn46amho8+uijuPvuu8VrICEhimq3EhIGDAYDMjMzffdTU1Nx\nzz334LnnnhOvUYSEAZq4Q0gY6BogT506hdraWsydO1e8BhESJihIEhJmvvzySygUClx66aW+YxUV\nFX4/Y7FYsHjxYr+NqQkhPVGQJCTE2e12PP744zh27BgAYNu2bSgqKkJERAQAwOPx4MUXX/T9/OrV\nq/Hyyy9j/fr1oNEWQs6PJu4QEuI2b96MlStX4qKLLoJMJkN5eTliY2N9jy9btsxv0s69994LAHj2\n2WeHuqmEhByauENIiGtsbMRjjz2GhIQESCQSPPPMM3jggQcQEREBhUKB66+/HvPmzevxPIlEAoPB\ngPT0dBFaTUhooCBJyAhFQZKQH0ZjkoQQQkgAFCQJIYSQAChIEjKC0WgLIedHQZKQEeb999/HAw88\nAEEQ8OSTT+L1118Xu0mEDFs0cYcQQggJgDJJQgghJAAKkoQQQkgAFCQJKyNeEgAAADVJREFUIYSQ\nAChIEkIIIQFQkCSEEEICoCBJCCGEBEBBkhBCCAmAgiQhhBASAAVJQgghJID/B8yPLeZ5RdCsAAAA\nAElFTkSuQmCC\n",
- "text": [
- ""
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nl0Nmt+9RudAAAAAASUVORK5CYII=\n",
- "text": [
- ""
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "# 1a)\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "Let \n",
- "\n",
- "$p([x_1, x_2]^t |\\omega_1) \u223c N([0,0]^t,4I), \\\\\n",
- "p([x_1, x_2]^t |\\omega_2) \u223c N([10,0]^t,4I), \\\\\n",
- "p([x_1, x_2]^t |\\omega_3) \u223c N([5,5]^t,5I),$\n",
- "\n",
- "where $I$ is the $2 \\times 2$ identity matrix. What is the error rate on the test set when the Bayesian decision rule is employed for classification?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Bayes' Rule:\n",
- "\n",
- "\n",
- "$ P(\\omega_j|x) = \\frac{p(x|\\omega_j) * P(\\omega_j)}{p(x)}$ \n",
- "\n",
- "with **prior probabilities**: $P(\\omega_1) \\; = P(\\omega_2) \\; = P(\\omega_3)\\; = \\frac{1}{3}$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Discriminant Functions:\n",
- "\n",
- "The **objective function** is to maximize the discriminant function, which we define as the posterior probability here to perform a **minimum-error classification** (Bayes classifier).\n",
- "\n",
- "$ g_1(\\pmb x) = P(\\omega_1 | \\; \\pmb{x}), \\quad g_2(\\pmb{x}) = P(\\omega_2 | \\; \\pmb{x}), \\quad g_3(\\pmb{x}) = P(\\omega_2 | \\; \\pmb{x})$\n",
- "\n",
- "$ \\Rightarrow g_1(\\pmb{x}) = P(\\pmb{x}\\;|\\;\\omega_1) \\;\\cdot\\; P(\\omega_1) \\quad | \\; ln \\\\\n",
- "\\quad g_2(\\pmb x) = P(\\pmb{x}\\;|\\;\\omega_2) \\;\\cdot\\; P(\\omega_2) \\quad | \\; ln \\\\\n",
- "\\quad g_3(\\pmb x) = P(\\pmb{x}\\;|\\;\\omega_3) \\;\\cdot\\; P(\\omega_3) \\quad | \\; ln$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can drop the prior probabilities (since we have equal priors in this case): \n",
- "\n",
- "$ \\Rightarrow g_1(\\pmb{x}) = ln(P(\\pmb{x}\\;|\\;\\omega_1)) \\\\\n",
- "\\quad g_2(\\pmb{x}) = ln(P(\\pmb{x}\\;|\\;\\omega_2)) \\\\\n",
- "\\quad g_3(\\pmb{x}) = ln(P(\\pmb{x}\\;|\\;\\omega_3))$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The equations for the general multivariate normal case with arbitrary covariance matrices (i.e., different covariance matrices for each case):"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\Rightarrow g_1(\\pmb{x}) = \\pmb{x}^{\\,t} \\bigg( - \\frac{1}{2} \\Sigma_1^{-1} \\bigg) \\pmb{x} + \\bigg( \\Sigma_1^{-1} \\pmb{\\mu}_{\\,1}\\bigg)^t \\pmb x + \\bigg( -\\frac{1}{2} \\pmb{\\mu}_{\\,1}^{\\,t} \\Sigma_{1}^{-1} \\pmb{\\mu}_{\\,1} -\\frac{1}{2} ln(|\\Sigma_1|)\\bigg) \\\\\n",
- "\\quad g_2(\\pmb{x}) = \\pmb{x}^{\\,t} \\bigg( - \\frac{1}{2} \\Sigma_2^{-1} \\bigg) \\pmb{x} + \\bigg( \\Sigma_2^{-1} \\pmb{\\mu}_{\\,2}\\bigg)^t \\pmb x + \\bigg( -\\frac{1}{2} \\pmb{\\mu}_{\\,2}^{\\,t} \\Sigma_{2}^{-1} \\pmb{\\mu}_{\\,2} -\\frac{1}{2} ln(|\\Sigma_2|)\\bigg) \\\\\n",
- "\\quad g_3(\\pmb{x}) = \\pmb{x}^{\\,t} \\bigg( - \\frac{1}{2} \\Sigma_3^{-1} \\bigg) \\pmb{x} + \\bigg( \\Sigma_3^{-1} \\pmb{\\mu}_{\\,3}\\bigg)^t \\pmb x + \\bigg( -\\frac{1}{2} \\pmb{\\mu}_{\\,3}^{\\,t} \\Sigma_{3}^{-1} \\pmb{\\mu}_{\\,3} -\\frac{1}{2} ln(|\\Sigma_3|)\\bigg)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "**Let:**\n",
- "\n",
- "$\\pmb{W}_{i} = - \\frac{1}{2} \\Sigma_i^{-1}\\\\\n",
- "\\pmb{w}_i = \\Sigma_i^{-1} \\pmb{\\mu}_{\\,i}\\\\\n",
- "\\omega_{i0} = \\bigg( -\\frac{1}{2} \\pmb{\\mu}_{\\,i}^{\\,t}\\; \\Sigma_{i}^{-1} \\pmb{\\mu}_{\\,i} -\\frac{1}{2} ln(|\\Sigma_i|)\\bigg)$\n",
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\pmb{W}_{1} = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "-(1/8) & 0\\\\\n",
- "0 & -(1/8) \\\\\n",
- "\\end{array} \\bigg] $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\pmb{w}_{1} = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "(1/4) & 0\\\\\n",
- "0 & (1/4) \\\\\n",
- "\\end{array} \\bigg] \\cdot \\bigg[ \n",
- "\\begin{array}{c}\n",
- "0 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg] = \\bigg[ \n",
- "\\begin{array}{c}\n",
- "0 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg]$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\omega_{10} = -\\frac{1}{2} [0 \\quad 0 ] \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "(1/4) & 0\\\\\n",
- "0 & (1/4) \\\\\n",
- "\\end{array} \\bigg] \\cdot \\bigg[ \n",
- "\\begin{array}{c}\n",
- "0 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg] \n",
- "- ln(4) = -ln(4)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "with $ \\quad g_1(\\pmb{x}) = \\pmb{x}^{\\,t} \\bigg( - \\frac{1}{2} \\Sigma_1^{-1} \\bigg) \\pmb{x} + \\bigg( \\Sigma_1^{-1} \\pmb{\\mu}_{\\,1}\\bigg)^t \\pmb x + \\bigg( -\\frac{1}{2} \\pmb{\\mu}_{\\,1}^{\\,t} \\Sigma_{1}^{-1} \\pmb{\\mu}_{\\,1} -\\frac{1}{2} ln(|\\Sigma_1|)\\bigg) $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\Rightarrow g_1(\\pmb{x}) = \\pmb{x}^{t} \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "-(1/8) & 0\\\\\n",
- "0 & -(1/8) \\\\\n",
- "\\end{array} \\bigg] \\pmb{x} + [0 \\quad 0 ] \\; \\pmb x - ln(4) \n",
- "= \\pmb{x}^{t} (-\\frac{1}{8} \\; \\pmb{x}) - 2ln(2) $\n",
- "\n",
- "$ \\Rightarrow g_1(\\pmb{x}) = - \\frac{1}{8} (x^{2}_1 + x^{2}_2 ) - 2ln(2)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\pmb{W}_{2} = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "-(1/8) & 0\\\\\n",
- "0 & -(1/8) \\\\\n",
- "\\end{array} \\bigg] $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\pmb{w}_{2} = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "(1/4) & 0\\\\\n",
- "0 & (1/4) \\\\\n",
- "\\end{array} \\bigg] \\cdot \\bigg[ \n",
- "\\begin{array}{c}\n",
- "10 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg] = \\bigg[ \n",
- "\\begin{array}{c}\n",
- "2.5 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg]$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\omega_{20} = -\\frac{1}{2} [10 \\quad 0 ] \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "(1/4) & 0\\\\\n",
- "0 & (1/4) \\\\\n",
- "\\end{array} \\bigg] \\cdot \\bigg[ \n",
- "\\begin{array}{c}\n",
- "10 \\\\\n",
- "0 \\\\\n",
- "\\end{array} \\bigg] \n",
- "- ln(4) = -12.5-ln(4)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "with $ \\quad g_2(\\pmb{x}) = \\pmb{x}^{\\,t} \\bigg( - \\frac{1}{2} \\Sigma_2^{-1} \\bigg) \\pmb{x} + \\bigg( \\Sigma_2^{-1} \\pmb{\\mu}_{\\,2}\\bigg)^t \\pmb x + \\bigg( -\\frac{1}{2} \\pmb{\\mu}_{\\,2}^{\\,t} \\Sigma_{2}^{-1} \\pmb{\\mu}_{\\,2} -\\frac{1}{2} ln(|\\Sigma_2|)\\bigg) $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\Rightarrow g_2(\\pmb{x}) = \\pmb{x}^{t} \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "-(1/8) & 0\\\\\n",
- "0 & -(1/8) \\\\\n",
- "\\end{array} \\bigg] \\pmb{x} + [2.5 \\quad 0 ]\\;\\pmb x - 12.5 - ln(4) \n",
- "= \\pmb{x}^{t} \\cdot( -\\frac{1}{8} \\; \\pmb{x}) + 2.5 x_1 - 12.5 - 2ln(2) $\n",
- "\n",
- "$ \\Rightarrow g_2(\\pmb{x}) = - \\frac{1}{8} (x^{2}_1 + x^{2}_2) +2.5 x_1 - 12.5 - 2ln(2)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\pmb{W}_{3} = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "-(1/10) & 0\\\\\n",
- "0 & -(1/10) \\\\\n",
- "\\end{array} \\bigg] $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\pmb{w}_{3} = \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "(1/5) & 0\\\\\n",
- "0 & (1/5) \\\\\n",
- "\\end{array} \\bigg] \\cdot \\bigg[ \n",
- "\\begin{array}{c}\n",
- "5 \\\\\n",
- "5 \\\\\n",
- "\\end{array} \\bigg] = \\bigg[ \n",
- "\\begin{array}{c}\n",
- "1 \\\\\n",
- "1 \\\\\n",
- "\\end{array} \\bigg]$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "$ \\omega_{30} = -\\frac{1}{2} [5 \\quad 5 ] \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "(1/5) & 0\\\\\n",
- "0 & (1/5) \\\\\n",
- "\\end{array} \\bigg] \\cdot \\bigg[ \n",
- "\\begin{array}{c}\n",
- "5 \\\\\n",
- "5 \\\\\n",
- "\\end{array} \\bigg] \n",
- "- ln(5) = 5 -ln(5)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "with $ \\quad g_3(\\pmb{x}) = \\pmb{x}^{\\,t} \\bigg( - \\frac{1}{2} \\Sigma_3^{-1} \\bigg) \\pmb{x} + \\bigg( \\Sigma_3^{-1} \\pmb{\\mu}_{\\,3}\\bigg)^t \\pmb x + \\bigg( -\\frac{1}{2} \\pmb{\\mu}_{\\,3}^{\\,t} \\Sigma_{3}^{-1} \\pmb{\\mu}_{\\,3} -\\frac{1}{2} ln(|\\Sigma_3|)\\bigg)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ \\Rightarrow g_3(\\pmb{x}) = \\pmb{x}^{t} \\bigg[ \n",
- "\\begin{array}{cc}\n",
- "-(1/10) & 0\\\\\n",
- "0 & -(1/10) \\\\\n",
- "\\end{array} \\bigg] \\pmb{x} + [1 \\quad 1 ]\\; \\pmb x + 5 - ln(5) \n",
- "= \\pmb{x}^{t} \\cdot ( - \\frac{1}{10})\\; \\pmb x )+ \\; {x_1} + {x_2} + 5 - ln(5) $\n",
- "\n",
- "$ \\Rightarrow g_3(\\pmb{x}) = - \\frac{1}{10} (x^{2}_1 + x^{2}_2)+ \\; {x_1} + {x_2} + 5 - ln(5)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Decision Boundaries"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ g_1(\\pmb x) = g_2(\\pmb x) \\\\\n",
- "\\Rightarrow g_1(\\pmb x) - g_2(\\pmb x) = 0 \\\\\n",
- "\\Rightarrow 12.5 - 2.5x_1 = 0 \\\\\n",
- "\\Rightarrow x_1 = 5$\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Implementing the Discriminant Function for arbitrary covariance matrices"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "def discriminant_function(x_vec, cov_mat, mu_vec):\n",
- " \"\"\"\n",
- " Calculates the value of the discriminant function for a dx1 dimensional\n",
- " sample given the covariance matrix and mean vector.\n",
- " \n",
- " Keyword arguments:\n",
- " x_vec: A dx1 dimensional numpy array representing the sample.\n",
- " cov_mat: numpy array of the covariance matrix.\n",
- " mu_vec: dx1 dimensional numpy array of the sample mean.\n",
- " \n",
- " Returns a float value as result of the discriminant function.\n",
- " \n",
- " \"\"\"\n",
- " W_i = (-1/2) * np.linalg.inv(cov_mat)\n",
- " assert(W_i.shape[0] > 1 and W_i.shape[1] > 1), 'W_i must be a matrix'\n",
- " \n",
- " w_i = np.linalg.inv(cov_mat).dot(mu_vec)\n",
- " assert(w_i.shape[0] > 1 and w_i.shape[1] == 1), 'w_i must be a column vector'\n",
- " \n",
- " omega_i_p1 = (((-1/2) * (mu_vec).T).dot(np.linalg.inv(cov_mat))).dot(mu_vec)\n",
- " omega_i_p2 = (-1/2) * np.log(np.linalg.det(cov_mat))\n",
- " omega_i = omega_i_p1 - omega_i_p2\n",
- " assert(omega_i.shape == (1, 1)), 'omega_i must be a scalar'\n",
- " \n",
- " g = ((x_vec.T).dot(W_i)).dot(x_vec) + (w_i.T).dot(x_vec) + omega_i\n",
- " return float(g)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 56
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Implementing the decision rule"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import operator\n",
- "\n",
- "def classify_data(x_vec, g, mu_vecs, cov_mats):\n",
- " \"\"\"\n",
- " Classifies an input sample into 1 out of 3 classes determined by\n",
- " maximizing the discriminant function g_i().\n",
- " \n",
- " Keyword arguments:\n",
- " x_vec: A dx1 dimensional numpy array representing the sample.\n",
- " g: The discriminant function.\n",
- " mu_vecs: A list of mean vectors as input for g.\n",
- " cov_mats: A list of covariance matrices as input for g.\n",
- " \n",
- " Returns a tuple (g_i()_value, class label).\n",
- " \n",
- " \"\"\"\n",
- " assert(len(mu_vecs) == len(cov_mats)), 'Number of mu_vecs and cov_mats must be equal.'\n",
- " \n",
- " g_vals = []\n",
- " for m,c in zip(mu_vecs, cov_mats): \n",
- " g_vals.append(g(x_vec, mu_vec=m, cov_mat=c))\n",
- " \n",
- " max_index, max_value = max(enumerate(g_vals), key=operator.itemgetter(1))\n",
- " return (max_value, max_index + 1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 55
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Classifying data and calculating the empirical error"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Known parameters\n",
- "cov_mat_1 = 4 * np.eye(2,2)\n",
- "mu_vec_1 = np.array([[0],[0]])\n",
- "\n",
- "cov_mat_2 = 4 * np.eye(2,2)\n",
- "mu_vec_2 = np.array([[10],[0]])\n",
- "\n",
- "cov_mat_3 = 5 * np.eye(2,2)\n",
- "mu_vec_3 = np.array([[5],[5]])"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Empirical error of the training dataset"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Empirical Error of the training set\n",
- "\n",
- "import prettytable\n",
- "\n",
- "class1_as_1 = 0\n",
- "class1_as_2 = 0\n",
- "class1_as_3 = 0\n",
- "for row in train_set[train_set[:,2] == 1]:\n",
- " g = classify_data(\n",
- " row[0:2], \n",
- " discriminant_function,\n",
- " [mu_vec_1, mu_vec_2, mu_vec_3],\n",
- " [cov_mat_1, cov_mat_2, cov_mat_3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class1_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class1_as_3 += 1\n",
- " else:\n",
- " class1_as_1 += 1\n",
- "\n",
- "class2_as_1 = 0\n",
- "class2_as_2 = 0\n",
- "class2_as_3 = 0\n",
- "for row in train_set[train_set[:,2] == 2]:\n",
- " g = classify_data(\n",
- " row[0:2], \n",
- " discriminant_function,\n",
- " [mu_vec_1, mu_vec_2, mu_vec_3],\n",
- " [cov_mat_1, cov_mat_2, cov_mat_3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class2_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class2_as_3 += 1\n",
- " else:\n",
- " class2_as_1 += 1\n",
- "\n",
- "class3_as_1 = 0\n",
- "class3_as_2 = 0\n",
- "class3_as_3 = 0\n",
- "for row in train_set[train_set[:,2] == 3]:\n",
- " g = classify_data(\n",
- " row[0:2], \n",
- " discriminant_function,\n",
- " [mu_vec_1, mu_vec_2, mu_vec_3],\n",
- " [cov_mat_1, cov_mat_2, cov_mat_3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class3_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class3_as_3 += 1\n",
- " else:\n",
- " class3_as_1 += 1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 63
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "train_conf_mat = prettytable.PrettyTable([\"test dataset\", \"w1 (predicted)\", \"w2 (predicted)\", \"w3 (predicted)\"])\n",
- "train_conf_mat.add_row([\"w1 (actual)\",class1_as_1, class1_as_2, class1_as_3])\n",
- "train_conf_mat.add_row([\"w2 (actual)\",class2_as_1, class2_as_2, class2_as_3])\n",
- "train_conf_mat.add_row([\"w3 (actual)\",class3_as_1, class3_as_2, class3_as_3])\n",
- "print(train_conf_mat)\n",
- "misclass = train_set.shape[0] - class1_as_1 - class2_as_2 - class3_as_3\n",
- "print('Empirical Error: {:.2f} ({:.2f}%)'.format(misclass / train_set.shape[0], misclass / train_set.shape[0] * 100))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+--------------+----------------+----------------+----------------+\n",
- "| test dataset | w1 (predicted) | w2 (predicted) | w3 (predicted) |\n",
- "+--------------+----------------+----------------+----------------+\n",
- "| w1 (actual) | 327 | 3 | 20 |\n",
- "| w2 (actual) | 0 | 323 | 27 |\n",
- "| w3 (actual) | 7 | 10 | 333 |\n",
- "+--------------+----------------+----------------+----------------+\n",
- "Empirical Error: 0.06 (6.38%)\n"
- ]
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "### Empirical error of the test dataset"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Empirical Error of the test dataset\n",
- "\n",
- "import prettytable\n",
- "\n",
- "class1_as_1 = 0\n",
- "class1_as_2 = 0\n",
- "class1_as_3 = 0\n",
- "for row in test_set[test_set[:,2] == 1]:\n",
- " g = classify_data(\n",
- " row[0:2], \n",
- " discriminant_function,\n",
- " [mu_vec_1, mu_vec_2, mu_vec_3],\n",
- " [cov_mat_1, cov_mat_2, cov_mat_3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class1_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class1_as_3 += 1\n",
- " else:\n",
- " class1_as_1 += 1\n",
- "\n",
- "class2_as_1 = 0\n",
- "class2_as_2 = 0\n",
- "class2_as_3 = 0\n",
- "for row in test_set[test_set[:,2] == 2]:\n",
- " g = classify_data(\n",
- " row[0:2], \n",
- " discriminant_function,\n",
- " [mu_vec_1, mu_vec_2, mu_vec_3],\n",
- " [cov_mat_1, cov_mat_2, cov_mat_3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class2_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class2_as_3 += 1\n",
- " else:\n",
- " class2_as_1 += 1\n",
- "\n",
- "class3_as_1 = 0\n",
- "class3_as_2 = 0\n",
- "class3_as_3 = 0\n",
- "for row in test_set[test_set[:,2] == 3]:\n",
- " g = classify_data(\n",
- " row[0:2], \n",
- " discriminant_function,\n",
- " [mu_vec_1, mu_vec_2, mu_vec_3],\n",
- " [cov_mat_1, cov_mat_2, cov_mat_3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class3_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class3_as_3 += 1\n",
- " else:\n",
- " class3_as_1 += 1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 64
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "test_conf_mat = prettytable.PrettyTable([\"test dataset\", \"w1 (predicted)\", \"w2 (predicted)\", \"w3 (predicted)\"])\n",
- "test_conf_mat.add_row([\"w1 (actual)\",class1_as_1, class1_as_2, class1_as_3])\n",
- "test_conf_mat.add_row([\"w2 (actual)\",class2_as_1, class2_as_2, class2_as_3])\n",
- "test_conf_mat.add_row([\"w3 (actual)\",class3_as_1, class3_as_2, class3_as_3])\n",
- "print(test_conf_mat)\n",
- "misclass = test_set.shape[0] - class1_as_1 - class2_as_2 - class3_as_3\n",
- "print('Empirical Error: {:.2f} ({:.2f}%)'.format(misclass / test_set.shape[0], misclass / test_set.shape[0] * 100))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+--------------+----------------+----------------+----------------+\n",
- "| test dataset | w1 (predicted) | w2 (predicted) | w3 (predicted) |\n",
- "+--------------+----------------+----------------+----------------+\n",
- "| w1 (actual) | 136 | 2 | 12 |\n",
- "| w2 (actual) | 1 | 136 | 13 |\n",
- "| w3 (actual) | 2 | 6 | 142 |\n",
- "+--------------+----------------+----------------+----------------+\n",
- "Empirical Error: 0.08 (8.00%)\n"
- ]
- }
- ],
- "prompt_number": 40
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "
\n",
- "
\n",
- "\n",
- "# 1b)\n",
- "\n",
- "Suppose $p([x_1,x_2]^t\\;|\\;\\omega_i) \\;\u223c \\; N(\\pmb \\mu_i,\\pmb \\Sigma_i), \\; i = 1,2,3$, where the $\\pmb \\mu_i$\u2019s and $\\pmb \\Sigma_i$\u2019s are unknown. Use the training set to compute the MLE of the \u03bci\u2019s and the $\\pmb \\Sigma_i$\u2019s. What is the error rate on the test set when the Bayes decision rule using the estimated parameters is employed for classification?\n",
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "## About the Maximum Likelihood Estimate (MLE)\n",
- "\n",
- "In contrast to task one, now we only know the number of parameters for the class conditional densities $p (\\; \\pmb x \\; | \\; \\omega_i)$ and we want to use a Maximum Likelihood Estimatation (MLE) to estimate the quantities of these parameters from the training data.\n",
- "\n",
- "\n",
- "Given the information about the form of the model - the data is normal distributed - the 2 parameters to be estimated are $\\mu_i$ and $\\Sigma_i$, which are summarized by the \n",
- "parameter vector $\\pmb \\theta_i = \\bigg[ \\begin{array}{c}\n",
- "\\ \\theta_{i1} \\\\\n",
- "\\ \\theta_{i2} \\\\\n",
- "\\end{array} \\bigg]=\n",
- "\\bigg[ \\begin{array}{c}\n",
- "\\pmb \\mu_i \\\\\n",
- "\\pmb \\Sigma_i \\\\\n",
- "\\end{array} \\bigg]$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For the Maximum Likelihood Estimate (MLE), we assume that we have a set of samles $D = \\left\\{ \\pmb x_1, \\pmb x_2,..., \\pmb x_n \\right\\} $ that are *i.i.d.* (independent and identically distributed, drawn with probability $p(\\pmb x \\; | \\; \\omega_i, \\; \\pmb \\theta_i) $). \n",
- "Thus, we can **work with each class separately** and omit the class labels, so that we write the probability density as $p(\\pmb x \\; | \\; \\pmb \\theta)$ "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "##### Likelihood of $ \\pmb \\theta $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Thus, the probability of observing $D = \\left\\{ \\pmb x_1, \\pmb x_2,..., \\pmb x_n \\right\\} $ is: \n",
- "
\n",
- "
\n",
- "$p(D\\; | \\; \\pmb \\theta\\;) = p(\\pmb x_1 \\; | \\; \\pmb \\theta\\;)\\; \\cdot \\; p(\\pmb x_2 \\; | \\;\\pmb \\theta\\;) \\; \\cdot \\;... \\; p(\\pmb x_n \\; | \\; \\pmb \\theta\\;) = \\prod_{k=1}^{n} \\; p(\\pmb x_k \\pmb \\; | \\; \\pmb \\theta \\;)$ \n",
- "
\n",
- "Where $p(D\\; | \\; \\pmb \\theta\\;)$ is also called the ***likelihood of $\\pmb\\ \\theta$***."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We are given the information that $p([x_1,x_2]^t) \\;\u223c \\; N(\\pmb \\mu,\\pmb \\Sigma) $ (remember that we dropped the class labels, since we are working with every class separately)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "And the mutlivariate normal density is given as:\n",
- "$\\quad \\quad p(\\pmb x) = \\frac{1}{(2\\pi)^{d/2} \\; |\\Sigma|^{1/2}} exp \\bigg[ -\\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\Sigma^{-1}(\\pmb x - \\pmb \\mu) \\bigg]$\n",
- "\n",
- "So that \n",
- "$p(D\\; | \\; \\pmb \\theta\\;) = \\prod_{k=1}^{n} \\; p(\\pmb x_k \\pmb \\; | \\; \\pmb \\theta \\;) = \\prod_{k=1}^{n} \\; \\frac{1}{(2\\pi)^{d/2} \\; |\\Sigma|^{1/2}} exp \\bigg[ -\\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\Sigma^{-1}(\\pmb x - \\pmb \\mu) \\bigg]$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Since it is easier to work with the logarithm, we define the log-likelihood function $l(\\pmb \\theta)$ as \n",
- "$l(\\pmb \\theta) \\equiv ln\\; p(D\\; | \\; \\pmb \\theta\\;) = \\sum\\limits_{k=1}^{n} \\;ln\\; p(\\pmb x_k \\pmb \\; | \\; \\pmb \\theta \\;)$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "and the log of the multivariate density"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$ l(\\pmb\\theta) = \\sum\\limits_{k=1}^{n} - \\frac{1}{2}(\\pmb x - \\pmb \\mu)^t \\pmb \\Sigma^{-1} \\; (\\pmb x - \\pmb \\mu) - \\frac{d}{2} \\; ln \\; 2\\pi - \\frac{1}{2} \\;ln \\; |\\pmb\\Sigma|$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "
\n",
- "
\n",
- "#### Maximum Likelihood Estimate (MLE)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In order to obtain the MLE $\\boldsymbol{\\hat{\\theta}}$, we maximize $l (\\pmb \\theta)$, which can be done via differentiation:\n",
- "\n",
- "with \n",
- "$\\nabla_{\\pmb \\theta} \\equiv \\begin{bmatrix} \n",
- "\\frac{\\partial \\; }{\\partial \\; \\theta_1} \\\\ \n",
- "\\frac{\\partial \\; }{\\partial \\; \\theta_2}\n",
- "\\end{bmatrix} = \\begin{bmatrix} \n",
- "\\frac{\\partial \\; }{\\partial \\; \\pmb \\mu} \\\\ \n",
- "\\frac{\\partial \\; }{\\partial \\; \\pmb \\sigma}\n",
- "\\end{bmatrix}$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "$\\nabla_{\\pmb \\theta} l = \\sum\\limits_{k=1}^n \\nabla_{\\pmb \\theta} \\;ln\\; p(\\pmb x| \\pmb \\theta) = 0 $"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "## MLE of the mean vector $\\pmb \\mu$"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The MLE of the parameter $\\pmb\\mu$ is given by the equation: \n",
- "${\\hat{\\pmb\\mu}} = \\frac{1}{n} \\sum\\limits_{k=1}^{n} \\pmb x_k$"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "mu_est_1 = sum(train_set[train_set[:,2] == 1])/len(train_set[train_set[:,2] == 1])\n",
- "mu_est_1 = mu_est_1[0:2].reshape(2,1)\n",
- "mu_est_2 = sum(train_set[train_set[:,2] == 2])/len(train_set[train_set[:,2] == 2])\n",
- "mu_est_2 = mu_est_2[0:2].reshape(2,1)\n",
- "mu_est_3 = sum(train_set[train_set[:,2] == 3])/len(train_set[train_set[:,2] == 3])\n",
- "mu_est_3 = mu_est_3[0:2].reshape(2,1)\n",
- "\n",
- "\n",
- "\n",
- "mu_mle = prettytable.PrettyTable([\"\", \"mu_1\", \"mu_2\", \"mu_3\"])\n",
- "mu_mle.add_row([\"MLE\",mu_est_1, mu_est_2, mu_est_3])\n",
- "mu_mle.add_row([\"actual\",mu_vec_1, mu_vec_2, mu_vec_3])\n",
- "mu_mle.add_row([\"actual\",mu_vec_1, mu_vec_2, mu_vec_3])\n",
- "\n",
- "print(mu_mle)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+--------+-----------------+----------------------+-----------------+\n",
- "| | mu_1 | mu_2 | mu_3 |\n",
- "+--------+-----------------+----------------------+-----------------+\n",
- "| MLE | [[ 0.10432914] | [[ 9.90423086e+00] | [[ 5.11221657] |\n",
- "| | [ 0.075356 ]] | [ -8.96057143e-03]] | [ 4.90776771]] |\n",
- "| | | | |\n",
- "| actual | [[0] | [[10] | [[5] |\n",
- "| | [0]] | [ 0]] | [5]] |\n",
- "+--------+-----------------+----------------------+-----------------+\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "## MLE of the covariance matrix $\\pmb \\Sigma$\n",
- "\n",
- "The MLE of the parameter $\\pmb\\Sigma$ is given by the equation: "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "${\\hat{\\pmb\\Sigma}} = \\frac{1}{n} \\sum\\limits_{k=1}^{n} (\\pmb x_k - \\hat{\\mu})(\\pmb x_k - \\hat{\\mu})^t$"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import prettytable\n",
- "\n",
- "def mle_est_cov(x_samples, mu_est):\n",
- " \"\"\"\n",
- " Calculates the Maximum Likelihood Estimate for the covariance matrix.\n",
- " \n",
- " Keyword Arguments:\n",
- " x_samples: np.array of the samples for 1 class, n x d dimensional \n",
- " mu_est: np.array of the mean MLE, d x 1 dimensional\n",
- " \n",
- " Returns the MLE for the covariance matrix as d x d numpy array.\n",
- " \n",
- " \"\"\"\n",
- " cov_est = np.zeros((2,2))\n",
- " for x_vec in x_samples:\n",
- " x_vec = x_vec.reshape(2,1)\n",
- " assert(x_vec.shape == mu_est.shape), 'mean and x vector hmust be of equal shape'\n",
- " cov_est += (x_vec - mu_est).dot((x_vec - mu_est).T)\n",
- " return cov_est / len(x_samples)\n",
- "\n",
- "\n",
- "class1_train_samples1 = train_set[train_set[:,2] == 1][:,0:2]\n",
- "cov_est_1 = mle_est_cov(class1_train_samples1, mu_est_1)\n",
- "\n",
- "class1_train_samples2 = train_set[train_set[:,2] == 2][:,0:2]\n",
- "cov_est_2 = mle_est_cov(class1_train_samples2, mu_est_2)\n",
- "\n",
- "class1_train_samples3 = train_set[train_set[:,2] == 3][:,0:2]\n",
- "cov_est_3 = mle_est_cov(class1_train_samples3, mu_est_3)\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "cov_mle = prettytable.PrettyTable([\"\", \"covariance_matrix_1\", \"covariance_matrix_2\", \"covariance_matrix_3\"])\n",
- "cov_mle.add_row([\"MLE\", cov_est_1, cov_est_2, cov_est_3])\n",
- "cov_mle.add_row(['','','',''])\n",
- "cov_mle.add_row([\"actual\", cov_mat_1, cov_mat_2, cov_mat_3])\n",
- "\n",
- "print(cov_mle)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+--------+-----------------------------+-----------------------------+-----------------------------+\n",
- "| | covariance_matrix_1 | covariance_matrix_2 | covariance_matrix_3 |\n",
- "+--------+-----------------------------+-----------------------------+-----------------------------+\n",
- "| MLE | [[ 4.99133045 -0.09737531] | [[ 5.64913253 0.01850218] | [[ 3.94634287 -0.12715664] |\n",
- "| | [-0.09737531 4.52491813]] | [ 0.01850218 4.79555152]] | [-0.12715664 4.22477661]] |\n",
- "| | | | |\n",
- "| actual | [[ 4. 0.] | [[ 4. 0.] | [[ 5. 0.] |\n",
- "| | [ 0. 4.]] | [ 0. 4.]] | [ 0. 5.]] |\n",
- "+--------+-----------------------------+-----------------------------+-----------------------------+\n"
- ]
- }
- ],
- "prompt_number": 58
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\n",
- "## Error on the test set using the estimated parameters\n",
- "\n",
- "Using the estimated parameters $\\pmb \\mu_i$ and $\\pmb \\Sigma_i$, which we obtained via MLE, we calculate the error on the test data set again. "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Empirical Error of the test dataset\n",
- "import prettytable\n",
- "\n",
- "class1_as_1 = 0\n",
- "class1_as_2 = 0\n",
- "class1_as_3 = 0\n",
- "for row in test_set[test_set[:,2] == 1]:\n",
- " g = classify_data(\n",
- " row[0:2], \n",
- " discriminant_function,\n",
- " [mu_est_1, mu_est_2, mu_est_3],\n",
- " [cov_est_1, cov_est_2, cov_est_3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class1_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class1_as_3 += 1\n",
- " else:\n",
- " class1_as_1 += 1\n",
- "\n",
- "class2_as_1 = 0\n",
- "class2_as_2 = 0\n",
- "class2_as_3 = 0\n",
- "for row in test_set[test_set[:,2] == 2]:\n",
- " g = classify_data(\n",
- " row[0:2], \n",
- " discriminant_function,\n",
- " [mu_est_1, mu_est_2, mu_est_3],\n",
- " [cov_est_1, cov_est_2, cov_est_3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class2_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class2_as_3 += 1\n",
- " else:\n",
- " class2_as_1 += 1\n",
- "\n",
- "class3_as_1 = 0\n",
- "class3_as_2 = 0\n",
- "class3_as_3 = 0\n",
- "for row in test_set[test_set[:,2] == 3]:\n",
- " g = classify_data(\n",
- " row[0:2], \n",
- " discriminant_function,\n",
- " [mu_est_1, mu_est_2, mu_est_3],\n",
- " [cov_est_1, cov_est_2, cov_est_3]\n",
- " )\n",
- " if g[1] == 2:\n",
- " class3_as_2 += 1\n",
- " elif g[1] == 3:\n",
- " class3_as_3 += 1\n",
- " else:\n",
- " class3_as_1 += 1 \n",
- " \n",
- "test_conf_mat = prettytable.PrettyTable([\"test dataset\", \"w1 (predicted)\", \"w2 (predicted)\", \"w3 (predicted)\"])\n",
- "test_conf_mat.add_row([\"w1 (actual)\",class1_as_1, class1_as_2, class1_as_3])\n",
- "test_conf_mat.add_row([\"w2 (actual)\",class2_as_1, class2_as_2, class2_as_3])\n",
- "test_conf_mat.add_row([\"w3 (actual)\",class3_as_1, class3_as_2, class3_as_3])\n",
- "print(test_conf_mat)\n",
- "misclass = test_set.shape[0] - class1_as_1 - class2_as_2 - class3_as_3\n",
- "print('Empirical Error: {:.2f} ({:.2f}%)'.format(misclass / test_set.shape[0], misclass / test_set.shape[0] * 100))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "+--------------+----------------+----------------+----------------+\n",
- "| test dataset | w1 (predicted) | w2 (predicted) | w3 (predicted) |\n",
- "+--------------+----------------+----------------+----------------+\n",
- "| w1 (actual) | 141 | 0 | 9 |\n",
- "| w2 (actual) | 0 | 145 | 5 |\n",
- "| w3 (actual) | 10 | 3 | 137 |\n",
- "+--------------+----------------+----------------+----------------+\n",
- "Empirical Error: 0.06 (6.00%)\n"
- ]
- }
- ],
- "prompt_number": 65
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "As we can see from the results, the empirical error on the test training set decreased from 8.00% to 6.00%."
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-}
\ No newline at end of file