{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# AtomSCF 教程总览\n", "\n", "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/bud-primordium/AtomSCF/blob/main/docs/source/tutorials/00-overview.ipynb)\n", "\n", "## 快速开始\n", "\n", "本教程自动检测运行环境并安装依赖。执行下方第一个代码单元格即可开始!\n", "\n", "## 学习目标\n", "\n", "理解原子自洽场计算的完整逻辑链条:从 3D 原子问题到 1D 径向方程的求解。\n", "\n", "## 完整计算流程\n", "\n", "### 1. 物理模型简化\n", "\n", "**3D → 1D 约化**:球对称势假设下,薛定谔方程分离变量,径向部分成为核心。\n", "\n", "### 2. 数值离散化\n", "\n", "**连续 → 离散**:径向网格系统(线性/对数)将微分方程转为矩阵本征问题。\n", "\n", "### 3. 本征求解\n", "\n", "**求解器**:五点有限差分法求解 Hamiltonian 矩阵,得到轨道波函数与能量。\n", "\n", "### 4. 自洽迭代\n", "\n", "**SCF 循环**:初始猜测 → 构造势 → 求解本征态 → 更新电子密度 → 检查收敛。\n", "\n", "### 5. 方法分岔\n", "\n", "**HF vs DFT**:\n", "- Hartree-Fock:显式交换积分(Slater 积分)\n", "- DFT-LDA:局域交换关联泛函(PZ81/VWN)\n", "\n", "### 6. 自旋处理\n", "\n", "**LSDA vs LDA**:自旋极化(LSDA)与自旋非极化(LDA)方法对比。\n", "\n", "## 后续教程导航\n", "\n", "- **[01-grid.ipynb](01-grid.ipynb)**:径向网格系统(线性/对数网格)\n", "- **[02-solver.ipynb](02-solver.ipynb)**:本征值求解器(有限差分法)\n", "- **[03-scf.ipynb](03-scf.ipynb)**:自洽迭代流程\n", "- **[04-hartree-fock.ipynb](04-hartree-fock.ipynb)**:HF 交换算符与 Slater 积分\n", "- **[05-dft-xc.ipynb](05-dft-xc.ipynb)**:DFT 交换关联泛函\n", "- **[06-spin.ipynb](06-spin.ipynb)**:自旋处理(LSDA/LDA)\n", "- **[07-complete-example.ipynb](07-complete-example.ipynb)**:端到端完整计算示例" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 理论基础:3D 到 1D 的约化\n", "\n", "三维原子薛定谔方程在球对称势 $V(r)$ 下可分离变量:\n", "\n", "$$\\hat{H}\\Psi(\\mathbf{r}) = E\\Psi(\\mathbf{r})$$\n", "\n", "采用球坐标 $\\Psi(\\mathbf{r}) = \\frac{u(r)}{r}Y_{lm}(\\theta, \\phi)$,径向部分满足:\n", "\n", "$$\\left[-\\frac{1}{2}\\frac{d^2}{dr^2} + \\frac{l(l+1)}{2r^2} + V(r)\\right]u(r) = Eu(r)$$\n", "\n", "边界条件:$u(0) = 0$,$u(\\infty) = 0$(束缚态)\n", "\n", "**算法流程**:网格离散 → Hamiltonian 矩阵构造 → 本征求解 → 波函数归一化\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2025-12-04T04:12:12.119891Z", "iopub.status.busy": "2025-12-04T04:12:12.119743Z", "iopub.status.idle": "2025-12-04T04:12:12.124685Z", "shell.execute_reply": "2025-12-04T04:12:12.124614Z" } }, "outputs": [], "source": [ "# Colab 环境检测与安装\n", "import sys\n", "\n", "if \"google.colab\" in sys.modules:\n", " !pip install -q git+https://github.com/bud-primordium/AtomSCF.git" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2025-12-04T04:12:12.129449Z", "iopub.status.busy": "2025-12-04T04:12:12.129371Z", "iopub.status.idle": "2025-12-04T04:12:30.784913Z", "shell.execute_reply": "2025-12-04T04:12:30.784769Z" } }, "outputs": [], "source": [ "# 配置中文字体(避免乱码)\n", "import matplotlib.pyplot as plt\n", "import matplotlib\n", "\n", "# 跨平台中文字体配置\n", "matplotlib.rcParams['font.sans-serif'] = [\n", " 'Arial Unicode MS', # macOS\n", " 'WenQuanYi Micro Hei', # Linux\n", " 'SimHei', # Windows\n", " 'DejaVu Sans' # Fallback\n", "]\n", "matplotlib.rcParams['axes.unicode_minus'] = False\n", "\n", "# 清除字体缓存(重要!)\n", "try:\n", " import matplotlib.font_manager as fm\n", " fm._load_fontmanager(try_read_cache=False)\n", "except Exception:\n", " pass\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 快速示例:Al 原子 LSDA 计算\n", "\n", "3 行代码展示完整流程:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2025-12-04T04:12:30.790445Z", "iopub.status.busy": "2025-12-04T04:12:30.790333Z", "iopub.status.idle": "2025-12-04T04:12:33.687819Z", "shell.execute_reply": "2025-12-04T04:12:33.687714Z" } }, "outputs": [], "source": [ "import numpy as np\n", "from atomscf.grid import radial_grid_linear\n", "from atomscf.scf import SCFConfig, run_lsda_pz81\n", "\n", "# 1. 生成径向网格\n", "r, w = radial_grid_linear(n=500, rmin=1e-5, rmax=30.0)\n", "\n", "# 2. 配置 Al 原子 (Z=13,自动加载基态占据: 1s² 2s² 2p⁶ 3s² 3p¹)\n", "cfg = SCFConfig(Z=13, r=r, w=w)\n", "\n", "# 3. 运行 LSDA-PZ81 自洽计算\n", "result = run_lsda_pz81(cfg)\n", "\n", "# 4. 输出结果\n", "print(f\"收敛状态: {result.converged}\")\n", "print(f\"迭代次数: {result.iterations}\")\n", "\n", "# 访问能量(注意检查 energies 是否为 None)\n", "if result.energies:\n", " E_total = result.energies.get(\"E_total\", 0.0)\n", " print(f\"总能量: {E_total:.6f} Hartree\")\n", " print(f\"总能量: {E_total * 27.211:.3f} eV\")\n", "\n", "print(\"\\n轨道能量 (Hartree):\")\n", "# 正确的自旋索引:使用 \"up\" 和 \"down\" 字符串\n", "for l in [0, 1]: # s, p\n", " orbital_label = {0: \"s\", 1: \"p\", 2: \"d\"}[l]\n", " # 自旋向上通道\n", " energies_up = result.eps_by_l_sigma.get((l, \"up\"), [])\n", " for n_idx, eps in enumerate(energies_up, start=1):\n", " print(f\" {n_idx}{orbital_label}(↑): {eps:.6f}\")\n", " # 自旋向下通道\n", " energies_dn = result.eps_by_l_sigma.get((l, \"down\"), [])\n", " for n_idx, eps in enumerate(energies_dn, start=1):\n", " print(f\" {n_idx}{orbital_label}(↓): {eps:.6f}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 可视化:电子密度分布" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2025-12-04T04:12:33.693398Z", "iopub.status.busy": "2025-12-04T04:12:33.693306Z", "iopub.status.idle": "2025-12-04T04:12:33.895714Z", "shell.execute_reply": "2025-12-04T04:12:33.895455Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA14AAAIhCAYAAABe22tSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACTtUlEQVR4nOzdeXxTVdoH8N/N2mbp3lJ2ZEcWFQWVTQQEFRdGR8VdQRFf8NUX9xlHxVGZQRwXFB1FEXEDFRcUFVQWQVQUlR1BtrKU7m3SNus97x+3SZM2aZM0adr09/2QT5J7z733JKdpeHrOeY4khBAgIiIiIiKimFHFuwJERERERESJjoEXERERERFRjDHwIiIiIiIiijEGXkRERERERDHGwIuIiIiIiCjGGHgRERERERHFGAMvIiIiIiKiGGPgRUREREREFGMMvIiIqNUbMWIEHn300bjW4bPPPoMkSU06R35+PiRJwg8//BDWcQ6HAw6Hw29bSUkJ/vzzz7DO89VXX2H9+vVhHUNERKHRxLsCRETUetx0001YvHhxyOV79OiBffv2+W37+eefMWTIkEaPfe211zBlypSw6xgqk8mEysrKBstcf/31ePPNN/22VVVV4fDhw/XKHjlyBACwe/fugOfq2bMnNBrla9fpdAYMioqKigAAhw4dQlpamt8+lUqF3r17Bzz3Sy+9hCVLluDnn3/2brvqqqvQrl07vPXWW0FeXX1z5szB0KFDMWrUqJCPISKi0DDwIiJqI2688Ua8+eab+Ne//oX777/fb9/o0aMBAGvXrm30PBdffDHmzp3rt2358uV46qmnsGnTJr/tOp2u3vEDBgzArl27Ap7bZrPhuuuug0ajwZVXXhmwzNGjR1FdXV3vuJKSknpBXkZGBjIyMgKeZ8uWLZBlOeC+2bNn44svvqj3PgHATz/9hHPPPTfgcQDQr1+/gNvz8vLQqVMn72sIVg4AJk+eXG+bXq+HzWart72oqAj/+te/cNttt/ltnz59Om666SYUFhYiOzu73nHl5eU4fvy497nFYsGGDRtwww03BA0eAaBr165ITk4Oup+IiIIQRESU8CoqKoTBYBCDBw8W3bt3F7Is++0/55xzxDnnnNPoeW688UZx7bXXCqfTKfbs2SN27twptm7dKiZOnChGjRrlt81qtYZVR6vVKs477zzRsWNHceTIkaDlzjnnHAEgpNsjjzwSVh2EEOJvf/ub0Gq1YvXq1QH3r1mzRgAQTqfTu23Lli3ipptuEn/88Yd3m8vlEocOHRK7du0SAEReXp5334EDBwQAsXfvXiGEEGvXrhWjR4/2u87HH38sLr744gbr6nQ6xfnnny/69OkjKisr/fa53W4xfPhwMWnSJOFyueodu2jRopDfR9/bd99912CdiIgoMM7xIiJqA9577z3IsoynnnoK+/fvx6pVq5p0viNHjqBPnz44+eSTMWjQIHz++edYv36937bNmzeHfL4dO3ZgyJAhOHbsGNatW4eOHTs2WP7f//43nE6n9zZ8+HD84x//qLctHKWlpbj00kuxYMECrFixAuPGjWuwfEVFhXdoYFZWFkpLSzFkyBD88ssvqKiowMSJEzFp0iQIIYKe48SJE9i9eze2b9+OX375Bbt37/betm3b5rctPz/f71iHw4GrrroKP/74I5YtWwaDweC3X6VS4fXXX8f69etx2WWXoaqqym//TTfdBCEEhBBwuVzo3r07nn76aQghsGTJEjz33HPe/b63ESNGhPO2EhFRDQ41JCJqAxYtWoRzzz0XY8aMQe/evfHyyy9jwoQJTT7vV199hS5duvhtc7vdGDBgQFjnmTRpErp3744PPvgAZrO50fIqlco7X6qhbeG477778Pvvv+PHH38MOpcKAE455RSsXr0azz77LNasWYP+/fvD5XLh448/xr333oudO3fixhtvhNvtxrJly+B2u7F69eqAw/3++c9/4quvvvI+DzT80LNt6tSpWLhwIQDgjz/+wDXXXINDhw5h9erVGDRoUMC69u7dG2vXrsUll1yCXr16Yd68ebj66qvrlXvjjTdQUlKCW265BQDwww8/4MiRI/jf//3fBt4xIiIKBwMvIqIEt3v3bmzatAnvvvsuAKWn4x//+AeOHj3aaM9SY8IJ3oIlpfDsGzZsGI4ePVpvX05OTr15Wvfeey/uvfdev20bN27E7Nmz/bYF6rUKNn+pqKgI/fv3hyzL9cqYTCbv/Kz09HS43W7861//wpdffok333wTLpcL1dXVMJlMuO222zBp0iS89NJLeOSRR/Dee+9h9erV0Ov19a75wgsvoGfPnvj4449x3XXXwWq1evctXLgQjz/+OA4ePFjvuBMnTiAjIwMfffQRbr31Vr/gra4OHTpg586duPvu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ADhcMv7Ib76VwomIiIgoMfzjH//AypUr8cQTTwBQEmCkpKTgtddeQ+/evfHUU0/hxIkTuPPOO3H99dcHPIenF6luUo1jx45h27ZtEQddgDJH65JLLsFLL72Eqqoq7/by8nLIsux9/txzz6GgoMD73O12Y+fOnejVqxcA4LHHHsPgwYMxdOhQXHnllbj//vuxcuXKgAs2t3bs8YoBq732h7ukyhHHmhARERFRa+PJRrhx40akp6dj+PDhuO6663Ddddd5y3Ts2BHff/89OnXqhHPOOSfgeVQqFcaNG4f27dv7ZQcUQuDmm28OeExlZSWSk5NRUFCA7OzskOp70UUXeYM4q9WKK664Anq9MrSysLDQr+xXX30Fs9mMfv364dixY/j6669x6NAhFBYWYsuWLdDr9Vi5ciVkWUa/fv2QkpISUh1aAwZeMWC1Ob2PSysZeBERERFR6NRqNf75z396n8+ePRsPP/yw3zBC396qM888M+i5Vq9eHda177rrLixcuBBGoxG33nprSMc8+OCDSE1NDbjviiuu8Hv+2muv4Y477sBpp52G/Px8nH322bjmmmuwfPlyJCUlYf369Xj33Xdx2223YceOHXjhhRdw2223hfUaWioGXjFgsfn0eDHwIiIiIqImaq71rF599VW8+uqrIZcvLy/39m4FUrfHa8mSJUhOTsb06dPrzTsDgFGjRnkXbK6urq6XGr81Y+AVA75DDUs51JCIiIiIElRDQVcgBoMBAAIGXXUlJydHVKeWisk1YsC3x6u0ytlASSIiIiIiagsYeMWAX48XhxoSEREREbV5DLyiTAjhn9WQgRcRERERUZvHwCvKqp1uuOXajDOc40VERERERAy8osxq81+gjoEXEREREUVL3SyBocjPz49BTShcDLyizGL3D7xsThnVDnecakNEREREiaKoqAh9+vTB5s2bGyyXlJSEoqIi7/MzzzwTv/32W8jXEUJAluWw6/fAAw/goYceCvu4oqIiSJIU9nGAsnjzwoULIzq2uTGdfJTV7fECgJIqBzrqEisdJhERERE1rzvuuAODBw/GkCFDQj6mqKgIhw8fxs6dO/16vnQ6HcaMGRPwmO+//x7XXXcd9u3bF5P1w1wu//8vu93ugNsB/4Wi3W633yLSQG2QWPdY3+NaipZXo1bOaq//A1Na6UDHNAZeRERERBS6H374AWeffXa97b69Q6+++ipuueUWAP6Bi9vthsvlwieffAIAuPbaa/3OkZmZ6e0VE0J4gx8AePfddzFixAgIIfzOKUlSkwMxm80WdH2uQIsll5aWIi0tDQAwduxYrFu3rl6ZlStX4rbbbvPbtm3bNgwYMKBJdY02DjWMMout/rpdzGxIRERERJHo2rUrhBABb8OHD/eWs9ls0Gq10Gq1sNvtyM3NhVarxbPPPosnn3wSx48f97vt3LnTe+zixYu9x2q1Wrz44ot46623/LZptVqcfvrpUXtd1dXVEELAZrPhtttuw5o1a7yv69dff4UsywGDvBUrVkAIgbvvvhv//Oc/vcc888wzmDp1qvd5Swu6APZ4RZ0lwFBDJtggIiIiolhKSkqCEAJ9+/bFu+++i9NOOw2zZs3CK6+8gqqqKrz88st+5UeOHImxY8d6n0+cOBGfffZZ0POvXbsWd911V6P1qNtLBgBqtdrbSydJEjp27Ihdu3YhIyMDFosFF1xwAa655hosXboUO3bswMMPP4wff/wRnTp1gkrl30/07LPP4rrrroPNZoMkSZg3bx4AwG63Q5ZlfPDBB+jYsSN27NjRaF2bG3u8oizYUEMiIiIiaiGctuA3lyP6ZZvg0KFDkCQp4G3jxo0Bj5EkCS6XC7feeis+/PBDpKamQgiB2bNnw2Qy4dNPPw0amIwYMaLedXbv3h1yfZ988sl6PWVfffWVd79er8fBgwcxc+ZMfPvttxg4cCDGjh2L5cuXY9GiRZg3bx7efPNNPP3009i9ezdSUlL8zn/77bfj4MGDuPXWW3HnnXfi4MGDOHjwIB5++GFcddVVOHjwIDZt2hRyfZsTe7yiLHByjfrDD4mIiIgoTt6/Mfi+DqcBox+ofb78VsAd5I/oOf2AcY/WPv90JmC31C93zdKIqgkoQw337dsXcN/o0aMDbj/ttNMAKBn/Fi1ahNLSUowePRqPPfYY7r77bixcuBDnnntu0Gt+8sknuPDCCwEAPXv2DKu+f//73/H4448H3V9VVYXrrrsOaWlpuPnmmzFlyhS8/fbbmD17Ns4//3wsWbIE+/fvx5EjR3D11Vfjo48+8jter9cjLS0Ner0e8+bNw7PPPgtAmdN24403eueDtUTs8Yoy9ngRERERUby4XC7s27cPH374IfR6PYqKijBr1izvfrfbjd9++63BOVAqlQoajSYmmQFlWcaAAQPw7rvvYtmyZQCAF154Ae+99x5ee+01fPXVVzh48CDef/997Ny5E++8845f3T1DD+fNmweXywWbzQabzQan09ni08qzxyvKKjjHi4iIiKhlu2Jx8H1SnX6Jy14NvewlL0RepyAOHToUMNufx0033eT3vKioCO3bt8c333wDk8kEl8sFnU7n3e851xdffIHzzz8/6vVtzN69e3Hw4EH069cPQ4YMwQ033ID3338fY8aMgUqlQv/+/fH1119Dq9Xirbfe8utxq66uRn5+PpKSkmC326HT6fwyPDocDtx999146qmnmv11hYKBV5QF7PFi4EVERETUcmiT4l82RF27dsXBgwcD7hsxYoTf8/3798NoNMJgMKCwsBApKSn4888/kZ2d7S1Tdx2sQC6++OIm1bkhPXr0wEUXXYSOHTtizpw5AIDnn38eXbt2RVlZGQClV+yhhx7Cww8/7Bc05ufnY/DgwbDZbLjuuutQUVGBDz74ADqdDvPnz8ecOXNw++23x6zuTcWhhlFmDZhOnnO8iIiIiCh8siyjrKws4M137S0AeO6553D55ZcDAPbs2YNu3brhlVdewf79+3HnnXcCACoqKmC1WlFWVgans/7/UTds2FAvbX3fvn0D1s3lcvndPOXrbne5XJBlGQCQkpKCUaNGYf78+d7zCCFQXl7u95qfeOIJOBy1nRdFRUU4ceIEevToAQBYuHAhJEnCyJEjMX78eLzxxhtYt24dunfvHsnb3CzY4xVlvj1e6QYtSqucnONFRERERBHJy8tDenp60P1Tp04FoKR7X758Of7zn//gpJNO8gYyO3bswM6dO/Gvf/0LOTk5SE1NBaDM4zpw4AC6dOnSaB0KCgq82RU98vPz0b59+4Dln3zyyXrbHnnkETz66KPe59XV1d4eO08AWbcHz9eyZctw1llnwWQy4cCBA/jyyy9RUlKCw4cPQ61Wo0OHDvjkk08wbtw49O7dGwaDodHX1dwYeEWZZx0vvUaFHHMSSqucKKlyQAjh98NKRERERNSYhoYajho1yvv/y7POOgurV69Gz549MWjQIHTs2BE//PADHnvsMbRr1w7PPPMMnnnmmYjqMHbsWOzYsQO33Xabd1tubm5IwxaD0el0QbMfut1ujBs3zm/ba6+9hjvuuMO7ttfw4cNxzz33YOLEiZAkCV99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DvdrjqGG6VzLi4iIiIgooYQcRUiShEceeaTRcjt37sTrr78OtTpxhsdZbBGkkndUAZokQBV+BkTftbyY2ZCIiIiIqPWLel70k08+GfPmzYMqgoCjpQp78eTqUuDj6cD6uRFdz7fHq4w9XkRERERErV5Y0dGnn36KTz/9FKtXrwYAVFRUYPr06di5c2dMKtdSeNbwAkIcapj3E+CyA8d+BWoWng5Huk9yjZJKZwMliYiIiIioNQh5qKHb7cakSZMwbtw4ZGdno3fv3hgzZgxGjx6NzMxM7N27F3v37vWWv/DCC2NS4Xiw+vR4hZRco8NgAK8rjysLAXO7sK7HOV5ERERERIkl7EwRH374Ib755hs888wzmDZtGu6//34AwIoVK7B48WJs374dXbp0SazAyx7mUENTNpDaGSjPAyzHwg68OMeLiIiIiCixhDXUUJIkFBcX4/bbb8fZZ58NAJgwYQI2bdqEW265Bd999x0GDBiA+fPnx6Sy8eKfXCPEdbxSOij3FcfCvh57vIiIiIiIEkvYPV7dunXD8uXLMWnSJKxbtw5Dhw7FlVdeiby8vFjUr0WwhDvH69ivQFWx8jiCwCslSQO1SoJbFgy8iIiIiIgSQEiB1/r16+Fy1QYf3333HW688UZMmzYN69atQ35+PjZt2gSn04mKioqYVTZewp7j9ctiwHJceWwP//2QJAnpBi2KrA6UMrkGEREREVGrF1LgNWPGDO/jV199FcuWLcOqVaswYcIEvPHGGwCABx54ABUVFThw4EBMKhpPYWU1FKK2t+v8fwEZJ0V0zXSDDkVWB+d4ERERERElgJACr23btsHlckGn06GkpAQLFizADz/8gAsvvBD33XcfUlNTsW7dOgDAyJEjY1rheLCGs46XoxJw1wRLKR0jvqZnnle10w2b040kbeIsSE1ERERE1NaEPMdLkiRIkoT7778fBw8e9GYzNJlMuPzyy2NWwZagwneoYWPJNTy9XToToNE1XLYBvpkNS6scaJ+aHPG5iIiIiIgovsLKauiRl5eHbt264cMPP8SSJUvw448/Ij8/H1u2bIHVasUff/wR7XrGldXum9WwkVjVE3gZs4A9XwDf/BM4/GPY10w3+i6izOGGREREREStWViBlxACq1evhsViQU5ODk4//XR07doV+fn5ePHFF3HttdfCZrPhP//5j18yjtbOM8dLo5Kg1zTyllWVKPfJGUD5EeDEdqA0/Hlv6b49XkywQURERETUqoU11HDo0KF4+OGH0a5dO3z88cdIT0/Hu+++i4svvhhnnXUW/vnPf8ayrnHjmeNlStJAkqSGC1fXBF6GjNo5XhVHw75mhs9aXiVMKU9ERERE1KqFHHipVCr88MMPftseeOABAEBxcTEyMzOjW7MWxNPj1WhiDQDocjZgygFMuYCrWtkWySLKPj1eZQy8iIiIiIhatbAXUA4kkYMuoDa5RqOJNQAgrbNyAwBroXJvyQdkN6AKPTOhX48X53gREREREbVqESXXAACXy4Urr7wymnVpkewuNxwuGUCIiyf7MmYBai0gu4DKwrAOTTPUBnmlDLyIiIiIiFq1iAMvt9uNDz/8MJp1aZEq7W7v45AWT96/Fji+FXC7AEkCzO2VfWHO8/Kf48XkGkRERERErVnIgVdubi4+/vjjGFalZQp78eQfXgLWPAGImoAtpQOgTwGctrCum270zWrIHi8iIiIiotYs5LFzBQUFuOOOO3DkyBHMnDkzlnVqUSw+a3g12uPlt3iyXnl89h2AOvypdGa9BhqVBJcsUMrkGkRERERErVpY6eRXr16N8ePHo1OnTrjgggtiWa8Ww+LT4xXy4skGn2QjEQRdgPJ+pxl0KLLa2eNFRERERNTKhRUV9O7dG8uXL8eECRMwadIkCCEwbdo0vzKSJOGcc87BNddcE9WKxovvUMNGk2t4Fk82RCfLY4ZRiyKrnet4ERERERG1cmF3x5xxxhlYunQpfv/9d0iShP79+/vtLygowNSpUxMn8LKHMcfLd/FkD9kNrJsLVBwBzv8XoDeHfG3PWl42p4xqhxvJutDT0RMRERERUcsR0Ti4cePGYcSIEbjvvvtw5513+u1zu92YM2dOVCrXElh8A6/G1vGqLFLufXu8VGqgPE8ZhlhxHMgOPfDyzWxYWuVAsi455GOJiIiIiKjliDidvCRJAbc7HA48/vjjEVeopQkrq2F1kKGGnpTylmNhXTudiygTERERESWEkHu8hBAhlUtOTsbf/va3iCvU0lhstVkNUxpLrjHwSqDbCCCnn//2lA7Aie1ARZiBl+8iypznRURERETUaoUceFksFqhUEXeQtVp+c7waC7yyeyu3ulI6KPdhLqLsmeMFsMeLiIiIiKg1CzmSMhqN/geqVBg2bFjUK9TShDXUMJiUjsp9mD1eGVxEmYiIiIgoIUTchaXVavHdd99Fsy4tkiXUHq/qUuDPb4ETO+vv8/R4WQsAt6v+/iDS/ZJrOBsoSURERERELVnUxg4WFhaiqKgoWqdrMfzX8Wogq2HpQeDH/wK/vFF/nyFTuWWcBDgrQ752hsE/qyEREREREbVOUQu8brrpJvTo0QOTJk2K1ilbBItd6WnSqCQkaRt4u6qKlftAiydLEjBpATD+cSApNeRrc44XEREREVFiCHvS0ptvvhlw++effw673Y6srKwmV6ol8fR4mZI0QVPoAwCqAiye3ETpRmY1JCIiIiJKBGH1eLndbtx000347LPP8Omnn+Lmm2/GihUrcPPNNwMA9Hp9w8FJA4qKitC9e3esXbvWu23z5s0YOnQoDAYDunXrhldeecXvmMWLF6N79+4wGAwYPHgwNm7cGNG1G+LJathoYo2Gerx8hZiW33NNrVp5P0srOceLiIiIiKi1imio4bJly/Dee+8BAN5///2Q1/gKZuPGjRg2bBgOHDjg3VZaWooLLrgAkydPRnl5Od5++23MmjUL33zzDQBg3bp1mDFjBhYuXAiLxYKbb74ZEydORHFxcZPqUpfFFqXAq2AXsOJO4JvZIV9bkiTvcEP2eBERERERtV5hB16eHq1Ie7bqeuONN3DNNddgzpw5ftuXL1+O9PR0zJo1C1qtFsOHD8fkyZOxaNEiAMDChQtx9dVXY8yYMVCr1bjjjjuQnZ2Njz76KCr1AgCHS4bdJQMAzI2t4dVY4KVJAiz5QFleWHXwBF4llY4mB7hERERERBQfIc3x2rlTSZHucim9P7t27YLT6fTbt2vXLjgcDm+ZUJ1//vm47rrroNH4V2Xbtm0YNGiQ37ZBgwbh9ddf9+6fOnWq3/6BAwdi+/btQa9lt9tht9u9zysqKgAAsixDluV65Suqa3uZTHpNwDIAACEgVRYDQkAkpwOByplyIQkB2C0Q1WWAPiVoPX2lG5R5XnaXjEq7EwZdhGuJtUCyLEMIEfx9pZhjG8Qf2yD+2AbxxzaIP7ZB/LEN4i/W731I/4ufMGECJEmCEAJCCIwfP95vHwCMHz8earUa1157bVgVyM3NDbjdYrHUW7TZaDTCarWGtD+QOXPmYPbs+kP9CgsL4XDUH8p3tLw2SNPChYKCgsAnFgKa/lOgspXCYXUD1YHLpaiMUNlKYTm4A+70HkHr6cugqf0B2Hv4ONqn6EM6rjWQZRnl5eUQQkClilqCTQoD2yD+2AbxxzaIP7ZB/LEN4o9tEH/l5eUxPX9IgVdenjI8zuVyQa/XIy8vz++xSqXylokWs9lc75yVlZUwm83e/ZWVlfX2N5RV8cEHH8SsWbO8zysqKtC5c2dkZ2cjLS2tXvkiV4X3cWaqCTk5OcEr3K5dQy8HACDl9ADyt0KnsQENnctHbnoBgDIAgDo5BTk5oaejb+lkWYYkScjOzuYvmDhhG8Qf2yD+2AbxxzaIP7ZB/LEN4k+n0zVeqAnCGrfmO68rWnO8gunfvz9Wrlzpt23r1q0YMGCAd/+2bdvq7Z84cWLQc+r1euj19XuMVCpVwB/wSofb+zglSdv0D0FqR+DENkjW40CI58o01da3rNqVcB9ESZKCvv/UPNgG8cc2iD+2QfyxDeKPbRB/bIP4ivX7HpWzxyIIu+yyy1BQUIAFCxZAlmV8++23eO+997zzuqZMmYJ3330XP/zwA5xOJ+bNm4eSkhJcdtllUauDJ5U80EhWw5L9wJ/fKvcNSemo3FccC7kOaT6LKDOzIRERERFR6xR24CWEgFqthk6ni+kY1MzMTHz++edYuHAhjEYjpk6divnz52P06NEAgLFjx+Lpp5/G5MmTkZKSgqVLl+KLL75Aenp61OrgSSUPNJLV8MjPwI//BfZ90/AJ0zoDGT1qA7AQZPgsolxSycCLiIiIiKg1CmuooVqtjmm2j7rp0ocPH44tW7YELT9t2jRMmzYtZvWx+PZ4JWmDFwx18eScfsD5T4ZVh3TfHi8GXkRERERErRIHkDbAagtxqKE38MqIeh0yjL5DDZ1RPz8REREREcUeA68GWO21gU6DQw2rSpR7Q/CMin5kN+CyN14O/j1eJZzjRURERETUKjHwakBIPV5CAFVFyuNQery2LAGW3QDs+SKkOqQbOdSQiIiIiKi1Y+DVgJCSaziranuvGpvjBQDaZEB2hZzZ0KhTQ6dWmonJNYiIiIiIWicGXg3wT64RJPDyDDPUmQBN/TXC6vGmlD8aUh0kSUJ6TWbDMs7xIiIiIiJqlcLKatjW+A41NOuDZDU0ZgNjHgKcttBOmtJBubccV4YphrAGWrpBhxMVdpRUOSCEiPni1UREREREFF0MvBrgWUBZrZKQpA3SOahNAnIHhn5Sc3sAEuCoBOwVQFJqo4d4Emw4XDKqHG4YG8qwSERERERELQ6HGjbAE3iZ9Jro9TJpdICxJvtheWjDDX1TynOeFxERERFR68PAqwEWmzKnqsFU8kd+Bv78FrDkh35izzwvS2gJNjxzvACglCnliYiIiIhaHY5Za4Anq2GDiyf/8RWQvxU463bAnBvaiXMHKtkNQ1z3K8PARZSJiIiIiFozBl5BOFwy7C4ZQGOLJxcr96Gkkvfod1FYdUkzcC0vIiIiIqLWjEMNg6i0h7B4MhBZ4BUmzvEiIiIiImrdGHgFYfVbwytIKnlHJeCqSSOfnBHeBYQArIWA7G60aLrRd6ghAy8iIiIiotaGgVcQFbbauVRBhxp6F082Kmnlw/HRdODTmUBF4wk2/Od4MfAiIiIiImptGHgF4b94crDAq0i5j2SYoeeYEAIvv6yGlUyuQURERETU2jDwCsIayhwvT49XJIFXSgflvqLxtbzSDZzjRURERETUmjGrYRD+c7yCvE2dzgBM7QC1LvD+hngDr8Z7vAw6NXQaFRwumUMNiYiIiIhaIQZeQVhsIfR4JaUCuamRXcC7iPLxRotKkoQMgw75FTb2eBERERERtUIcahiEb+BlDpbVsCl8hxoK0WhxT2bDsionRAjliYiIiIio5WDgFYTVHkJWwz1fAn9+C9gt4V/AnAtAApzVQHVpo8UzahJsONwyKh2Np6AnIiIiIqKWg0MNg7CGMtTw93eVdbyy+wJ6c3gXUGuBXuMAnQmQGo9/03xTylc6Gl7UmYiIiIiIWhT+7z0IS2PJNZqyeLLHkFtCLppRJ7Nh5wxDZNckIiIiIqJmx6GGQTS6jldTFk+OgGeOF8BFlImIiIiIWhsGXkE0mlyjqli5j2QNLw8hgMpioORAo0UzDD6LKDPwIiIiIiJqVRh4BeFZx0utkpCkDfA2RSPwKtgFfPI/wHdPN1rUt8erpNLZQEkiIiIiImppGHgF4Qm8THoNJEmqX8Az1LApgVdqzVpelUWAq+FerPQ6yTWIiIiIiKj1YOAVhGeoYdDsgd4erwgTawCAPgXQGgCIRhdSzvDt8eJQQyIiIiKiVoVZDYPwrOMVdA2vgVcA3UYAxqzILyJJykLKxfuAimNAetegRX2HGpYx8CIiIiIialUYeAXgdMuwOWUADQRexkzl1lQpHZXAy3KswWJ108kTEREREVHrwaGGAYS0eHK0pHRQ7isaDrySdWroNUpzlTK5BhERERFRq8LAKwCr3+LJAVLJO23A1veBfd8oKeGbwht4NTzHC6id58U5XkRERERErQuHGgZgaazHq7IQ2P6Bsnhyz7FNu1j6SUC/i4G04PO7vEUNOhwvt6GsygEhROBsi0RERERE1OIw8ArAt8cr4ByvaKzh5WHKBk67LqSinh4vp1vAancFXtiZiIiIiIhaHA41DMBiq51DZQ7U41Vds4ZXchNSyUcgzVAbaHGeFxERERFR68HAKwD/OV6BhhrW9Hg1JZW8L7sFOLETKMtrsBjX8iIiIiIiap0YeAXQ6Bwvz1DD5PToXHDnJ8A3s4F9XzdYLN0npXwpU8oTEREREbUaDLwCaHSOl2eoYTTmeAEhp5T37fEqZY8XEREREVGrwcArAP91vAIksKgsUu6jFnh1VO4bCbzSjVxEmYiIiIioNWJWwwD8kmsE6vE65z4l+Mo4KToXNLdX7quKAJcd0OgDFkv3Ta7BHi8iIiIiolaDPV4BWBpLrmHOBXIHKOt4RUNSCqAzKY8b6PXyneNVwqyGREREREStBgOvAHyHGgZMJx8LnnleluNBi/jO8SpjjxcRERERUavBwCuABtPJlx0Gti4DDv8Y3YuGMM/Lv8eLgRcRERERUWvBOV4BeAIvtUpCslbtv7N4H7D9Q6D9qUCXM6N30W4jgMyeQHafoEWSdWoka9Wodro5x4uIiIiIqBVh4BWAZx0vk14DSZL8d1ZFOZW8R+4A5daIdIMW1eVuzvEiIiIiImpFONQwAN/Aqx7P4smGjGasUS1PSvmyKgeEEHGpAxERERERhYeBVwBWu9KbFDCVvDfwinKPFwAU7QX+XAPYLUGLeBJsuGThl32RiIiIiIhaLgZedTjdMmxOGUBjPV4xCLx+WAD8+DJQciBoEd8EG6VMsEFERERE1Cow8KqjsrE1vGIZeHlSylccDVrEdxFlZjYkIiIiImodGHjVYfFdwytJ67/TUQU4q5XHMQm8Qkgp77OWFzMbEhERERG1DsxqWIdv4FVvqKEmCbjoWaC6FNAmRf/i3h6v4IGX7yLKpcxsSERERETUKjDwqsN38eR6yTVUKiClvXKLBXNN4GU5HrSI3xwv9ngREREREbUKHGpYhyejIRAkuUYseQK6qmLAaQtYJNus9z7+40Tw7IdERERERNRyMPCqo8Ghhkd+BrYuAwp2xebiejOgT6mpSODhhqd2TkOSVmm2b3cXQpa5lhcRERERUUvHwKsO/+QadQKvo78A2z8ETuyIXQWG3AKc+3fAHHg4Y5JWjZG9sgEARVY7th4tj11diIiIiIgoKhh41dHgHK9YppL36HIm0H4QoE0OWmRcvxzv4693nohdXYiIiIiIKCoYeNVh9RtqWCedfHMEXiE4t69P4LWLgRcRERERUUvHwKsOa0MLKHsDr4zYVcBuBQ6sB/Z8EbRIjjkJp3ZOAwDszrfgSGlV7OpDRERERERNxsCrjqDJNWK9eLL3OlZg04vAb28DInjiDN/hht/sKohdfYiIiIiIqMkYeNVhsdWmk0/x7fGqLlHutYYG5181mTEbUGkAtxOoLApabGy/dt7HHG5IRERERNSyMfCqI+hQw+YYZggAKjVgqgmqKo4GLdY314yOaUoA+MP+Yr+AkYiIiIiIWhYGXnV4Ai+VBCRr1bU7cvoDFz8HDLsj9pVI7ajcVwReywsAJEnyDjd0ugW+2xu8d4yIiIiIiOKLgVcdnqyGJr0GkiTV7lBrAHMukN4t9pUwd1Dugyyi7MHhhkRERERErQMDrzosNT1e5iRtIyVjKKUm8GqgxwsAzuyeAaNO6ZVbu6cQbjl4Mg4iIiIiIoofBl51eOZK1Vs8eddnwNZljQZDUZHS+FBDANBr1DinTzYAoKTSgV8Pl8a6ZkREREREFAEGXj6cbhk2pwygTip5ANi/Btj+YYOZBqMmrTMw+gHgvMcaLTq2b+1ww9UcbkhERERE1CIx8PJR2eDiyTXp5GOd1RAANHqgw2mAKafRouf2zYGqZioa1/MiIiIiImqZGHj5CLp4srMacFYpj2O5eHIEMow6nN41HQCwr8CKg0WVca4RERERERHVxcDLh+8aXuZAa3jFevFkX8V/AlvfBw5tarQosxsSEREREbVsDLx8+PZ4+WU1bM5hhh6Fu4HtHwCHGw+8POt5ARxuSERERETUEjHw8mG1O72P/YYaenq8DFnNV5kQU8oDQI9sE7plGgAAPx0sQXmVs5EjiIiIiIioOTHw8hF0jpc38GrGHi9PSnnLcUCWGywqSZJ3uKFbFlj7B3u9iIiIiIhaEgZePqzBshr2uwS4+Dmg/2XNVxlDFqDSALILqCxstPhYDjckIiIiImqxGHj5sPrO8fLt8dLoAHMuYMpuvsqoVD7DDY82WnxItwxvQpC1ewrgdDfcS0ZERERERM2HgZePoMk14sUTeFmON1pUq1bh3D5Kr1eFzYWfD5bGsmZERERERBQGBl4+gg413LwQ2LoMcDTzGlnm0BNsAP7DDZlWnoiIiIio5WDg5SNgcg2nDdi7Gtj+ISA189vV6zzgomeA028Oqfjo3jlQqyQAwDe7TkAIEcvaERERERFRiBh4+fBNJ+9dQNm7eHJy8y2e7GHIUIYbqjWNlwWQatBiaDcl8+LB4ir8WdjMPXRERERERBQQAy8ffkMN9XUCL0NmHGoUPg43JCIiIiJqeVp84PXhhx9Co9HAZDJ5b9dffz0AYPPmzRg6dCgMBgO6deuGV155pUnX8gw1VEmAQadWNsY78PrjK+D7F4DSQyEVH1eznhegDDckIiIiIqL4a/GB188//4yrr74aVqvVe1uyZAlKS0txwQUXYPLkySgvL8fbb7+NWbNm4Ztvvon4Wp508ia9BpKkzJWKe+CV9yNw8Dug9EBIxbtlGdEzxwQA+OVQKUoqHbGsHRERERERhaDFB16bN2/G6aefXm/78uXLkZ6ejlmzZkGr1WL48OGYPHkyFi1aFPG1LDVDDf1SyVeVKPfxCry8a3k1nlLewzPcUBbAmt1cTJmIiIiIKN5Cy9oQJ0II/PLLLzAYDHj++efhcDhw4YUX4t///je2bduGQYMG+ZUfNGgQXn/99aDns9vtsNvt3ucVFRUAAFmWIcuyt8fLqFdDlpUFiKXKIkAIiKR0QI7DosSm9pCEgCg/EvL1x/TJxn/X7QegzPP6y2kdYlnDiMmyDCGE972m5sc2iD+2QfyxDeKPbRB/bIP4YxvEX6zf+xYdeBUVFeGUU07BpZdeiqVLl6KwsBA33ngjrr32WrRv3x5Go9GvvNFohNVqDXq+OXPmYPbs2fW2FxYWospmR7XTDQDQqwQKCmp6ivpcB1XXiyC0BoiC5u890riSYHI4IJ/4ExUhXr9TkkBqkhrlNjfW/VGAo8fzoVW3vM5NWZZRXl4OIQRUqpZXv7aAbRB/bIP4YxvEH9sg/tgG8cc2iL/y8vKYnr9FB17Z2dlYu3at93mXLl0wd+5cnHnmmbj55ptRWemfLr2yshJmszno+R588EHMmjXL+7yiogKdO3dGdnY2oDN4t2eYDcjJyfE5slOTX0vEjBKkrTrAXYGkrExApQ7psLH9crH816OocsjYb9VgZK+sGFc0fLIsQ5IkZGdn8xdMnLAN4o9tEH9sg/hjG8Qf2yD+2Abxp9PpYnr+Fh147dixA2+99RaefPJJb7ILm80GrVaLoUOH4umnn/Yrv3XrVgwYMCDo+fR6PfR6fb3tKpUKFkdt16I5SdNyfuBNOYBGB7idkKqLAXNuSIeNO7kdlv96FADw7e4CnNMnp5Ej4kOSJKhUqpbzfrdBbIP4YxvEH9sg/tgG8cc2iD+2QXzF+n1v0a2anp6O+fPnY+7cuXC5XMjLy8N9992Hm2++GX/9619RUFCABQsWQJZlfPvtt3jvvfcwderUiK7lu4aXd/FkayGwaQGw4+MovJoISRJg7gBAAqyhD3Uc2SsLWrUSrH69qwBCiBhVkIiIiIiIGtOiA68OHTrgyy+/xIoVK5CZmYmRI0di9OjRePbZZ5GZmYnPP/8cCxcuhNFoxNSpUzF//nyMHj06omsFXDzZchw4sA44sD4Kr6YJRj8AXLUEaD+o8bI1zElanNVdycR4tKwae05YYlU7IiIiIiJqRIseaggAI0aMwIYNGwLuGz58OLZs2RKV63gyGgKASV+TTt6zhpcxzvOjDBkRHTauXzt8t7cIAPD1zhPom5sSzVoREREREVGIWnSPV3OqsDm9j71DDT2BV3JkgU+8edbzApThhkREREREFB8MvGr4DTX0BF7Vpcp9vBZP9rCVAz+8BKyZE9ZhndIN6JurZHn8/UgZCiy2WNSOiIiIiIgawcCrhu9QQ7NnjlelMkwPxjgHXmo9sH8tcPw3wB7eXK1x/doBAIQA1uxmrxcRERERUTww8KoRuMerRLmP91BDbVJtr1vFsbAO5XBDIiIiIqL4Y+BVw2ILkNXQM8cr3kMNASClg3IfZuB1Sqc0ZJmUtcs27C2CzemOds2IiIiIiKgRDLxq+AZe5qSarIaTXgYufg4wt49TrXxEGHipVBLG9lV6vaqdbmz6szjaNSMiIiIiokYw8KphtQfIaqjRAeZcQN0Csu6bIwu8AP/hhqt3nYhWjYiIiIiIKEQMvGoEXEC5JfH2eB0N+9ARvbKg0yhN/e2uAggholkzIiIiIiJqBAOvGp6shpIEGHRq4PjvwKYFwP51ca5ZjZSOyr2QlRSFYTDoNBjRU1kEOr/Chh3HKqJdOyIiIiIiagADrxqWmh4vk14DSZKAor3AgXVAwa4416yGIQO48k3gkueV6DBMfsMNd3K4IRERERFRc2LgVcOTXCPFk1ijpSye7CFJgEYf8eFj+7bzPv5mNwMvIiIiIqLmxMCrhmeooanu4smGOK/hFSW5qUkY2DEVALD9aAWOl1fHuUZERERERG0HAy8ALreM6pr1reotntxSerwA4OgvwNePAlvejOhw3+GG33AxZSIiIiKiZsPAC0Clo3ZR4Ra5eLKHy67MOSv6I6LDx/XzGW7ItPJERERERM2GgReASt9U8kkawGkDHJXKhpY01NCzkHPFsbAzGwJA/w4pyE1JAgBs/LMYVQ5XI0cQEREREVE0MPACYLHVLp6ckqSpTayhSQJ0xjjVKgDPWl6OSsAefkp4SZK8ww0dLhkb9hZFs3ZERERERBQEAy8AlfY6Qw1T2gNXLgEmPh3HWgWg0QNGZT0uVByP6BS+ww2/5nBDIiIiIqJmwcALgNVnyJ1JX5NOXqOrDXJaEnNNr1fF0YgOP7tHJpK1agDAt7sLIcvhD1kkIiIiIqLwMPACUGmrM8erJfMMN6w4FtHhSVo1RvZSAsoiqx2/HymLUsWIiIiIiCgYBl7w7/Ey6zXA7pXApgVA/vY41iqIlI5Acjqg1kZ8Cg43JCIiIiJqXgy8ULt4MgCYkzRA/lbgwDrA2gKDkl7nAX95GThlcsSnOLdvDiRJecz1vIiIiIiIYo+BF+ok10jS+Kzh1YJSyXt4IqYmyDbrcWrnNADA7nwL8kqqmnxOIiIiIiIKjoEX6qzjpfcNvFpgcg0PRyVQeijiw7mYMhERERFR82HgBcDiE3ilaFwtc/FkX0X7gBV3Ad89DbgcEZ3Cs54XAHyzm8MNiYiIiIhiiYEXgErf5BrCqjxoaYsn+0rpAKjUyhy03SsiOkWfdmZ0Sk8GAPywv9hvEWkiIiIiIoouBl4ArLbaOV5md7nywJAZp9qEQGcATrteebzjI8Aafo+VJEne4YZOt8B3e4uiWUMiIiIiIvLBwAuAtWaooSQBSXJNj1dLDrwAoOswoF1/wO0Eflkc0Sl8hxt+vZPzvIiIiIiIYoWBF2qTa5j0GkjdRgBXLgGG3RHnWjVCkoAzpgCSGjj6M3D0l7BPceZJmUoyEQBr9hTALYto15KIiIiIiMDAC0Bt4GWuCUKg0QFJKXGsUYhSOwF9JyqPf14UdqINnUaFc3pnAwBKq5zYcrg02jUkIiIiIiIw8AIAWGuSa5iSNHGuSQQGXK6kvW/XH5DDT5DB4YZERERERLHHwAtAtUMGAJiTtMCPrwCbFgAVx+NcqxBpk4ALnwLOuj2iLIzn9smBqmZN5q+5nhcRERERUUww8PJh0muAvB+BA+sA2dX4AS2FzuD/XIQ+VyvdqMMZXZX1yv4srMSBospo1oyIiIiIiMDAy0+aTgYcnqyGLXTx5IZYC4B1c4G8n8I6zG8xZfZ6ERERERFFHQMvH+00Nb09Gj2gNTRcuCXav1bJbrhlMeC0hXzY2Jr1vAAONyQiIiIiigUGXj6yVDWBlyFLSdfe2px8KWDMAqqKgR3LQz6sR7YRJ2Up88M2HyxFeVX4STqIiIiIiCg4Bl4+slQW5UFrHGYIKD11p9+sPN79OVB+NKTDJEnC2L7KcEO3LLD2j4JY1ZCIiIiIqE1i4OUjTfIEXpnxrUhTdDwd6DBYSQ7y8+shJ9rwH27IwIuIiIiIKJoYePkwo2ZeVGsOvCQJOP1GQKUBTmwHDm8K6bAzuqUjpWYds7V7CuB0y7GsJRERERFRm8LAy0dh76uAK5cA/S6Jd1WaxpwL9P+L8viPr0I6RKtW4dya4YYWmwubD5bEqnZERERERG0OAy8fJr0G0OiURYlbu36XAKddB5z795AP8R1u+MW2/FjUioiIiIioTWLg5cNcM9QuIWh0QL+LlfsQndM7GxqVks1xyQ+HsGDtPogwFmMmIiIiIqLAGHjV0MGJrr//B9i0AHC74l2d6JJl4NCmRhNtpCZr8T+je3ifz/1yDx79dAfcMoMvIiIiIqKmYOBVIw1WGEp2AXk/ACp1vKsTPUIA3zwKbHwWOLih0eL/d15v3Duhj/f54k2HcMe7W2BzumNXRyIiIiKiBMfAq0aGZIFGrVIyGrbGxZODkSSgw2nK41+XAI7KRopLmHFuT8y74hTvsMOV2/Jxw+s/obyaCysTEREREUWCgVeNDMkCtYTWnUo+mL4XA+b2gK0c2PZ+SIf89fROWHjjGTDolN6/nw6U4MqXN+F4eXUsa0pERERElJAYeNXooKuEJEmJGXipNcAZU5THe74ESg+GdNjoPjl4b9pZyDQqCTr2nLDgsgXf448TlhhVlIiIiIgoMTHwqpGrqRmCl4iBFwC0HwR0OQuAADa/1miiDY9BndLw4e3D0DXTAAA4Xm7DX1/6Hj8d4DpfREREREShYuBVI1vtCbwy4luRWBp8I6DRA0V/AAfWhXxYtywjPrx9GAZ1SgUAVNhcuO61H/Hl9uOxqikRERERUUJh4FXDqK7J2peoPV6AElQOvALI6g2kdwvr0CyTHu/eehZG9c4GADhcMm5/ewve3HQw+vUkIiIiIkowDLxqfJp1C3DVW0C7gfGuSmz1uRA477GwAy8AMOo1eO3GM3DZ4I4AlNGKD3+yA099tZsLLRMRERERNYCBVw1zkgZQa5VEFIlMpfZPly/LYR2uVavw9BWn+C20/OKaP3HvB1vhdId3LiIiIiKitoKBVw2zPsEDrrqcNmDLEuDrR0JOtOEhSRLuO78vZl/S3xvDffDLEdz65s+otLtiUFkiIiIiotaNgReAbtJxXFS4EPjt3XhXpfk4q4A/v1ESbez7JqJT3DisG168ZjB0GuXHaO2eQlz96g8ostqjWVMiIiIiolaPgReAHKkMHex/AiV/xrsqzceQAQy8Unn8+7uArSKi01w4sD2WTBmqDNUEsPVIOS5/6XscKq6MVk2JiIiIiFo9Bl4A0mGFRq1K7IyGgfSeAKR1ARxWJfiK0JndM/HB9GHITUkCABwqrsJlC77H1iNlUaooEREREVHrxsALQJpkgUYltb3AS6UGhtyiPP7zW6Bob8Sn6pNrxvL/GYZeOSYAQHGlA5Nf+QHr/iiMRk2JiIiIiFo1Bl5QerzUKimxF08OJrsPcNI5yuPNC8POcuirQ1oyPpg+DEO7Ke9jlcONqW9sxoe/HIlGTYmIiIiIWi0GXgDSJGvb7PHyOO1aQGsALMeBskNNOlWqQYs3pw7FBQNyAQAuWeDu93/HgrX7uNYXEREREbVZDLwApEs1c7yS22CPFwAkpQIj7gIuehbIOKnpp9Oq8cI1g3HD2V292+Z+uQePfroDbpnBFxERERG1PQy8ALghKUMNjVnxrkr8tD8lqkMt1SoJsy/pj3sn9PFuW7zpEO54dwtsTnfUrkNERERE1Bq0sVWDA/ub81aMu/R8mLSGeFelZTj+O1C4B+h9PpCUEvFpJEnCjHN7ol1KEu7/cCvcssDKbfnYfnQ9zju5HUb1ysJJxsjnlBERERERtRYMvGqYjMmAJMW7GvG3fy3ww0vK412fKok3+k4EUjpEfMq/nt4JWSYd/uftLahyuHG4pAqvbTiA1zYcQLJWhWE9juLcvjkY3ScbndIZ/BIRERFR4mHgBSXeMmjV8a5Gy9BtFKDSALs+A0oPAPu+Vm4dTwf6XgTk9IsoQB3dJwdLp52NJ1buxOaDpd65XtVOGd/sLsA3uwsAAL1yTBjdJxvn9snBGd0yoNNwNCwRERERtX4MvADM0n0E1f4MoOfYeFcl/lQqoNsIoOtwoGAXsPtz4OgvtbczbwN6jIno1AM7peK9aWejvMqJ7/YVYs3uAqzZfQIlVS5vmb0FVuwtsOLV7w7AqFNjWM8snNtH6Q3rkJYcrVdJRERERNSsGHgB6Ks6ClQVx7saLYskAe1OVm4Vx5QALO8noPOZtWXKjwDJ6YDOGNapUw1aXDSoAy4ckIv8EydQ5ErCuj+KsPaPQvx6uBSexIeVDjdW7zyB1TtPAAD6tDNjdJ9sjO6TgzO6pUOrZm8YEREREbUODLwAZQ2vtppKPhQpHYChtwKn3wSotco2IYBNC4CKI0oPWJ8LAVNO2KdWSRIGdEzFoM7puGNsL5RWOvDdviKs3V2AdX8UorjS4S2754QFe05Y8N/1+2HSazCiZ5Y3EMtNTYrSiyUiIiIiij4GXgBUKimqqdQTlifoAgCHFXA7AJcd2PMFsOdLoPNQZR5Ydu+IL5Fu1OGSUzrgklM6QJYFth0tx9o9hVizpwC/HymDZw1mq92FL3fk48sd+QCAvrlmjO6Tg7O6Z+CkLCM6piUra7MREREREbUADLxQ0+NlyIx3NVoXvRm48Ckgf6uSiCN/K5D3o3LL6gWccjXQrn+TLqFSSTilcxpO6ZyGO8f1QkmlA+v/KMTaPUpvWGmV01t2d74Fu/MteHndnwCUdcQ6piWja6YBXTIMNfdGdM1UHht0/NEnIiIioubD/32CgVfEJElZeLn9KUDZYWUe2MENQNFewFEZ9ctlGHWYdFpHTDqtI9yywNYjZVizpxDr9hTg9yPlfmXdssDhkiocLqkKeK4skx7dMg3okmlA15qATHlsQIZRB4lLCxARERFRFDHwAiA0urATRFAdaV2As24HTpkMHFgPdDyjdt+eL4CqEmVBZmN0Aly1SsJpXdJxWpd0zDqvN4qsdny3txC78y04XFyFQ8VK0GW1uwIeX2S1o8hqx8+HSuvtM+k1tb1kvoFZhgHZZj2SuPQAEREREYWJgRcAhy6diydHS3I6cPKltc/dTmDHx4CtTOkR63o20GEwYM4FTO2idtkskx5/Oa2T3zYhBEoqHThUUuUNxg6VVCqPS6pQaLEHPJfV7sLO4xXYebwi4P6UJA1yUpKQbdIjJ0Vfe2/WI8ecVHOvR2qylj1nRERERASAgRcAYFOP/8PoeFciUak0wNBpwO4VyrpgBzcoNwCSEDBkDgLG/622/OEfleyI5vaAtmmZCiVJQqZJj0yTHoO7pNfbX+Vw4XBJFQ4WVeFwSaW3l+xQcRWOllV7F3muq8LmQoXNin0F1gavr1OrkG3We2855vrBWU6KHlkmPVPjExERESU4Bl4AjEnaxgtRZCQJ6HS6civ+E/jzW2U+mCUfsJVD6FJqy9otwIb/1D5PSlN6xsztAXM7ILsfkNM3alUz6DTom5uCvrkp9fY53TKOlVXX9JJV4XBxJY6UVqPQYkeh1Y6CCjuqne4Gz+9wyzhaVo2jZdWN1iXDqFNuBh3SjVpkGHVIM3ie65Bh1CLdoJRJN+pg1mvYm0ZERETUijDwAmDU821oFpk9lFsNYbfCdiIfZs8GR5WSEdGSrwRhtjLlVrhb2d97Qm3g5agE1j8FmHJ9grNcwJgFaA1NHjqqVavQNdOIrpmB5/4JIWC1u1BosaPAYq9zb1MCtJptJT5rkQVTUukIqZyHRiUh3ahDusE/IAsYqBl0SDVoYdJplKUTiIiIiKjZMeIA0N5+AMCAeFej7dEaIHSm2ufmdsD4x5XHjkolALPkA5bjyn12v9qylnxl6GLBrgAnloABlwODrlCeVpUAvy4BdCblpjcpyVR0NfemdmGv4yZJEsxJWpiTtOiebWqwrNMto8haE4hV1PaYFVptKKioDdhKqxyocjTci+bhkoU3uAuVSgLMSVqkJGuQmqxFSpIW5iQNdHChXXoJUpO1SDUo233LpCRrkZqshV6jYi8bERERUYQYeAEwauR4V4Hq0hnr9ZD5MWYDZ88ErCdqAzPL8Zo09gLQ6GrLVpcCh74Pfq2TLwVOvUZ5bC0EVj+sXN8vQDMBOgOQ3bd2fTKXAyj5E9AkKTdtEqBJBjR6vx43rVqF9qnJaJ+a3OjLtjndKKtyoqTSgdIqh/99pQOlVU6/58WVDthdof38ygIor3aivNqJPNQd/ljc6PE6tQopyRqk1AnIzEkamPQaGHUaGPVqmJM0MOqVm2e7Sa/sMyVpoNcwKyQRERG1PQy8AOhMWfGuAoUrKQU4aWT97S4H4LAqwY9Hcjow+AbAblX2OaxKgOaoVIY0Jvv0dtkrgOoS5RbIyZfWBl7VJcDXjwYoJCmBX+/zawM6uxX4fr5/cKZNrg3a0rsCOf2QpFUj1wzkOo8ABh3QTg9oUgG1XjlGVT9oqXa4UVLlCcxqg7KSKmfNvQMV1U5U1ARdFTYXyqudQZOHBONwyyiyOlBkDX1IZCBataQEZj4BmVGvUQI2nU/AptfApFcjWadBslYNg06NJK0ayTrlcXLN42Stsl3NYZRERETUgrX6wKugoADTp0/H6tWrodfrcc011+Dpp5+GVht6wgx9CgOvhKHRAZo6wwYNGUDfiaEdn9oJmPBkbWDmsCrBmed5Zs/askJW5pa5bICzGnDZAQjl5qozBNBZBRz/Lfh1e50H5NQMpXRUAqv+HricSgOcdA5w5jTluduJ5DWPoqNGj45qvfL61XpApwOS9UCv7kC34TX1Fcoaa2oThEoDm6xGhUPgSJEFKkMaKmQ9ioVZCc6qXbBU21Bmk/0CNk8AZwmyPloonG6BsionyqqcEZ8jEL1G5Q3EvPe+j3U+wZtPIKfXqKDXqKHXqmofa1Q1zwPv12lUDPSIiIgoLK0+8Jo8eTKysrJw7NgxVFRUYMKECXjsscfwz3/+M+RzGIzmxgtR26DRBx/eWFdKB+DiZ2ufi5qAy2VTbhqfdPg6I3DmdP8gzfvYBmR0ry0ru5QkIS4H4LYr9xC1+3znWblsQPG+4HXsOrw28JLdwA8LAAASgGQASUIg1eGAXqeD1GkIcM69tce+d60SXCZpAaMOUOuUwE+tg5zdF5YBN9YEZE6Yf30FDpcTdrcEm1uFarcK1W4J1W4JRUjDb7rBqLS7YLW70M36GxxOJyxOwOIAqlwSXNDABRWqhR5Hke2tghlVStUhwQU1ZKjghgoypJpXUcvukmF3yShDdAO6YLRqyScwU0FfE8TpNLUBmlYtQatWQatRQadWQauWoNOooFV7nqugUQEOWzXSUiuRpFUr5T1lPY9rjtdppJpjlP1qlQSNSgW1WoJG5Xmu3GvVSnColiQmVSEiImoBWnXg9eeff2LNmjXIy8uD2WyG2WzGAw88gAceeCCswIvp5CkqJEkZShho/TGdEehxbmjnMWQAl75Y+1wIZSFqTxCm9vnYapKAUffV7LMDbof/fXpXn/PIQPtTlX1uh/eccqUF0KqVOvpeU67p1XLZ6/XgqYxZSDUoyTgAABu2Kuf0K1Rzy+4LnDe1dvuHrytDOmvIQsAtK7dqUxccHPIPWO0uVNpd6PPT36GtLoRb9i/nFgJF6hy8mX4HbE43qhwuXFmxCGmuYjhkwC6r4HBLcAoJbqhRKkx4wf0X7zWvUq9BNsq8gZwLKu/jaujxvnu0t+ww1XZkogJub9CnUoJAoYLTqcb39trEPN2lY9ChGlVQwVoTIMo19wIS9ov28ASMGahAEhzeMgLwlpWhQjmM3rI6OCFBQEDynssNFeoGn8GoJCgBmicw8wvUardr1BLUKlW9IC7odpUEjbrudlVN+brBYG05lQSoVBIkqSYwlACVJEGSULPf/7FKQm1ZlfJY5XOsJNWeV6rZ5nseVZ39aslnn0qCJARKKp2QLHZoNeqg55Hgua/dz4QzREQUqlYdeG3btg0ZGRno1KmTd9ugQYNw9OhRlJWVIS0tLaTzGHWt+m2gRCfVzBnT6AB9nX1qrbJGWig0OuDcB/02CVlGRUEBknJyIKnqLOJ8+cKa4MwJyE4l+JJdSoClNfiXHXxDbTAnu2rK1Tw25fiXzR2gzHmTlXOrZDdUshNa2YWk1A5I913s+s9koLLOtTxSszFq4hm1z1e8D1gsfkVkISDLbjiTtbji3NGodrpR7XCj3feroC0vUvYLAVkAsqw8rlaZkNOzB+xOpQdtzJHPkF19oLacEN6yNqHFEd1Q2F1u2F0yLnP9gH7iTwSbPXeLs7ZHcbJ6DQar/ghSErjd+X9w1vyKvl69CmerdgYsJ6DCLOftsEB5n65Sr8EI1TafIE7pHZSFBFmo8C/7ZJRCWbtugmozzlbtqAnoasuLmoDuVddEFCMVADBctQ1DVTshINUMqFXOKwAIIeEd9xgUQmm7wdIfOEu1E25IcAOw1ZxPrrlf4R6G48gEAJwsHcRZql0+54RfHb51n+btBe0uHcOZql2Qoap57bXHCEj4QT4ZR4RStpNUiNOlPX71VM6tHPu76OEtm41SDFbt857P9zUKSPhD7uStQxosOEW13+f991DqcRAdcAzZkCTAjGoMUv1Zs0fydlYrwZqEI1IO8qV2kCTAIKoxQNrvE0pL3t5tSZJQoMqqKStBJxzoJ/YpRTzBoCRBqqlzqSod+er2kABo4URv937lVD7n89S4Qp2KAnV7QJKggRs9XH/WnNdTXOWpNKpVZhRq2yvXE0A315/e84naWgMAqlVGFGnbe19NZ8eBmner5uSorYNNSkaxNhd2hx16XR5ynUeggtunbO25nZIexdpc73uZ4zgCNWoTDPkNCFBpUazt4Hn3kek8Bo1w1TsnALglLYp1HbzbMpzHoRFOvz9teB7LkgrF+s7e7enOAmhlm3+hmmsKSCjSd/bWK8VZCL2nbJ36AhKKfcqanUXQi2q//b7HFes6ATXtbnIWQy9X1TufR5m+A4SkzBE2OUuhlyu9dawlUG2zwZ7aDUKl/FEt2VWGJLcVwZRr20GuKZvkqkCSu/Z3sP+5AYs2G26VkvhK77Ig2V2BYCzaLLhVyhdektvaYFmrJgMutfIHT527Esmu+mU9NanSpMGpVhJdad3VMLjKgp63SpMKp1r5vapx22B0lQZdqaZakwKHWvnjpVq2w+gMMk8cgF2b6lPW4VdWCIHq6mokJydDkiTY1SbYNUrmZJXs9CtbtyoOtQF2jTKCSxIumBzBk2Y51cmwaVKUj5hwN1JWD5smtaaCMsyOonplPHVxqpJg03rKCpgdBUHP61LpUa1N8z43OwsgicDfni6VDtXa2v8bmBzBy8oqLaq0tVNOjI4iSCJwxmhZ0qBKl+lTthg2a3nQOkdDq444LBYLjEb/dZY8z61Wa73Ay263w26v/ct9RYXnwykgy8xs2NxkWYYQfO/jqcE20BqBhjqDfY/pMbaxC9U+PvuO0MtePF/pfRMyINzKcEnZpTyvW3bk3TXBobumrAsQAirZBb1Kg87pPlklh10L2Mprz+l7r9bh7r69a8vuvhCwHFOuJXyuL7sAlQZrh59TW/aXI0BRNmTZDdntguyWlceyDFkIfDlyBJxuGU63QMa2nTAUVkGW3XA47FCr1YAsQwilTf42oC/sshpOt4yBh7PQqdwAWdR0RgqhvC1Q7s/LzUUlkuFyC/Qv16NjtYAQbu9+37In6Y1IhQFuWaCr04Ye7mK//Z6cK7IQ0KJ2Ll8OytBXOhy4zSQgWR7hjULaSaUYrNobtInXyKd5y7aXijFMtT1o2V/lnjhaEyB1kIoxVrUlaNn9cnscqQmQOqAIF6s3BS1b4jZ7A6+OUjGuUK8NWvYtnIejcnZNfUtwvXpV0LLL3KNxWFbmDadLxbhOtbJ2p/C//8Q9HHtk5T8IJqkUV2o+CXreL9xnYos8CoASKF6m/SBo2W/kwdjgVj6TqbBilvadoGU3yAOx2n0+ACAJdtyuXRy07E9yX3zivhgAIEHGTdpXg5b9Xe6BD9yXeZ//V/sK1Aj8n5/doguWua7yPn9e+18YYAtYdr/ogHdd13qfP6V5DemSJWDZoyILS1w3e58/oXkd7aTA/yEuFGl40HWr9/nDmjfRRToRsGwFjJjl/B/v8wc076KndCRgWTu0mOG8y/v8/zQfoL90IGBZAQm3Ou/xPv8f9Sc4NcQ/zkxVf44hQf44AwB3OmeiEsrvwOvVqzBY9XvQsvc6b/P+ceZK9RqMV/0ctOxDzinIr/kjyiTVBlzUwGfun67rcUjkAgAuUP2Iy9Xrg5b9t+tq7BXKH9XHqn7B1epvg5Z91nU5tgtluP4I1TbcpP4yaNkFrkuxRSi/34dKuzBN81nQsq+5L8QmWUmmdYq0D3doPgpa9i33eVgrnwoA6Ccdwt2aZUHLvu8eja/kIQCUPyb9TfN20LKfuIdjhTwMgPLHpEc1bwQt+4X7THzo8ztijnZh0LLfyoPxTs3viBRY8R/tS0HLbpAH4o2a3xF6OPCi9rmgZTfLffFfn98Rr2qfDlp2q9wDL/v8jnhZ+ww0CDx/fLfogpd8fkc8p30BxnrZmRX7RQfM8/sd8XKDvyPm+f2OeA2mBoLFaGjVgZfZbEZlZaXfNs9zs7n+vK05c+Zg9uzZ9bYXFhbC4WhapjYKnyzLKC8vhxACqrq9LdQsWn0bVPj+gtTCL1L0TAPzvKwCn7K6LoDPigP1+JbNGAI0tMybb9nOFyq3INJQrfzW1QA443rIuB6yLKOyvBypqal+bXCB74H9pgHiFm8QKkH2CUhl3KdPre3NsN8EyXklAGWfJHzKQsaClC7KXD0AKmsmVLYJ3vMof0FUygsh48PMk+FW6eEWAlJ5NlSWs+AWMmS3DLcQkIUMWVZ+juakDYBDowR0WosRyZbuNb2DSiDplmXIsoAQAlNTB6FakwJZAOYqNYQ1HUII7w1C1ASCAheZTsZobSZkAaRWy6iqlCCEp461ZSFknGXohd7aHMgCyLDbUVY5UikDT1l4y/ZK6gaTJl0p6+iI/MpTIUkqePq5fM+dpe2A09QmCADZriwcd5zsDZ4EAIiaYwAY1LnoozFACIFsOQ1HnX38y/gcJ6ly0EWtV+ogG3HE3d1/Pzz1BezaLGRJWgghYBJJOCS61uxHzeuD97lFSodBrQIEoIUGB6VO9cpINectQpp3m4CEgzX/Mfbl+Wt2kUj1254ncnzK+P/12dNT6nFMZEJTJ/DyHFMiUvy2F4g0GOBJVuSvTPivm1iMFDhF4CUqSmGuU9YMlQj8h76SOmVLhSlo8GeF/9IgZcJY7/V62Ov89apCGIKWrftqLUhGsQhctq5KJNd7H/3PXds/UiWSUCqCz22XUft7qFroGyzr9i0LHcrQUNnadrJDi3IEXwPT97x26Bos6/L5r6xTaGqGaQcrW1sHJzSoaKCs78+VC2rvqIJAHD51cEPVYFm7T1kZUr2fJ//z1v78uIXKGzw3VgeB0MsCUoNl6/4MR6usrV7ZpHq/Izyqhf9wn0qhDzrSvu55q6GHPsjc7+o6w4iqoIcaAaaLRJEkRJC+ulZg79696N27N44cOYKOHTsCAN566y08+OCDyMvLq1c+UI9X586dUVxcHPKwRIoeWZZRWFiI7Ozs1vmf/gTANog/tkH8sQ0UwtuTWvMYtb2lNf98eltry9SeIOBD+P43w3977X5ZCBQXFSEzM9M77DnY/04aO5+yXQTZXr++oZQN7ZqBdzR2zlDOF+y/auG+5mDlIQBZyCgtVaZpNPVzEK3/WkbjLNH6X2506tLwWYQsvFNlpAaSIrWk/7lHo62j9XKi8b5YKspxwRm9UF5ejpSU4H/MiFSr7vHq1asXRowYgQceeACvvPIK8vPz8fjjj+OWW24JWF6v10OvrztJBlCpVG36yzaeJEni+x9nbIP4YxvEH9sgvmRZhqjWITslmW0QJ7IsoyDJhZycDLZBnMiyjIICN3JyMtkGcVJWFtuEe62+VZcuXYqysjLk5OTgjDPOwIUXXoi//z3IGkhERERERERx0Kp7vACgQ4cOWLFiRbyrQUREREREFFSr7/EiIiIiIiJq6Rh4ERERERERxRgDLyIiIiIiohhj4EVERERERBRjDLyIiIiIiIhijIEXERERERFRjDHwIiIiIiIiijEGXkRERERERDHGwIuIiIiIiCjGGHgRERERERHFGAMvIiIiIiKiGGPgRUREREREFGMMvIiIiIiIiGKMgRcREREREVGMMfAiIiIiIiKKMU28KxBPQggAQEVFBVQqxqDNTZZlWCwWJCUl8f2PE7ZB/LEN4o9tEH9sg/hjG8Qf2yD+KioqANTGCNHWpgOv4uJiAEDXrl3jXBMiIiIiImoJiouLkZqaGvXztunAKyMjAwBw+PDhmLy51LCKigp07twZeXl5SElJiXd12iS2QfyxDeKPbRB/bIP4YxvEH9sg/srLy9GlSxdvjBBtbTrw8nTjpqam8gc8jlJSUvj+xxnbIP7YBvHHNog/tkH8sQ3ij20Qf7Ea6skBpERERERERDHGwIuIiIiIiCjG2nTgpdfr8cgjj0Cv18e7Km0S3//4YxvEH9sg/tgG8cc2iD+2QfyxDeIv1m0giVjlSyQiIiIiIiIAbbzHi4iIiIiIqDkw8CIiIiIiIooxBl5EREREREQxlnCBV0FBAS677DKYzWZkZWXhf//3f+F0OgOW/eKLL9C/f38YDAb07dsXn3zyid/+uXPnomPHjjAajTjnnHOwa9eu5ngJrVo47/+zzz6LXr16ISUlBQMGDMDSpUu9+4QQSE1NhdFohMlk8t4qKyub66W0WuG0wcUXX4ykpCS/9/jLL7/07udnIDKhtsEFF1zg996bTCZIkoRp06YB4OcgGoqKitC9e3esXbs2aBl+F8RWKG3A74PYCqUN+H0QW421Ab8PYmPz5s0YPXo00tPT0aFDB8yYMSPoe9Ys3wUiwZx77rniiiuuEBUVFeLIkSOif//+4qGHHqpXbu/evSI5OVm89957wuVyieXLlwu9Xi927dolhBBi8eLFol27duK3334TDodD3HvvvaJ79+7C4XA090tqVUJ9/xcuXCg6duwotm3bJmRZFitWrBBJSUnixx9/FEIIsXv3bqHRaER1dXVzv4RWL9Q2EEKI3Nxc8fXXXwfcx89A5MJpA19LliwROTk54vDhw0IIfg6aasOGDaJXr14CgFizZk3AMvwuiK1Q2oDfB7EVShsIwe+DWAq1DXzx+6DpCgsLRXp6upg/f75wOp0iLy9PnHHGGWLGjBn1yjbXd0FCBV779u0TAEReXp5325IlS0THjh3rlX3ooYfEuHHj/LaNHTtW/P3vfxdCCDFixAjx+OOPe/dVV1cLo9EoVq9eHaPat37hvP9PPvmkePHFF/22nXbaaeLpp5/2HnfKKafEtL6JKJw2yMvLEwBESUlJwHPxMxCZcNrA186dO4XRaBTffPON33H8HERm0aJFokuXLuKDDz5o8D87/C6InVDbgN8HsRNqG/D7IHZCbQNf/D6Ijp9++klMmjTJb9tzzz0nBg4cWK9sc30XJNRQw23btiEjIwOdOnXybhs0aBCOHj2KsrKyemUHDRrkt23QoEHYvn17wP1JSUno3bu3dz/VF877/+CDD+J//ud/vM/37duHnTt3YsiQIQCUrmFZljFs2DBkZ2dj1KhR+P7775vldbRm4bTB5s2bYTabMWXKFOTk5GDAgAFYtGiR37n4GQhfOG3g65577sHEiRMxZswY7zZ+DiJ3/vnn488//8Tll1/eYDl+F8ROqG3A74PYCbUN+H0QO6G2gS9+H0THkCFD8NFHH3mfCyGwYsUK7+8WX831XZBQgZfFYoHRaPTb5nlutVpDKusp19h+qi+c99/Xnj17cP755+Oaa67ByJEjASgL2J1xxhn48MMPkZeXh0suuQTjx4/H/v37Y/cCEkA4bVBdXY0RI0bgkUcewbFjx/Cf//wH//u//+udW8HPQGQi+Rxs2rQJX331Ff71r3/5befnIHK5ubnQaDSNluN3QeyE2ga++H0QXaG2Ab8PYifczwG/D2LD6XTilltuwa5du/D444/X299c3wUJFXiZzeZ6E+Y8z81mc0hlPeUa20/1hfP+e6xatQpnnXUWzjvvPLz66qve7XPnzsXrr7+O9u3bIykpCffccw+6du2KlStXxu4FJIBw2uCaa67BypUrceqpp0Kj0WD8+PG44YYb8P777zd4Ln4GGhbJ5+C///0vzjvvPJx00kl+2/k5iD1+F7Qc/D6IH34ftBz8Poi+wsJCjB8/Ht9//z3Wr1+P9u3b1yvTXN8FCRV49e/fHyUlJTh69Kh329atW9GpUyekpqbWK7tt2za/bVu3bsWAAQMC7rfb7fjjjz+8+6m+cN5/AJg3bx4mTZqEp556Ci+99BLUarV338MPP4wtW7b4lbfb7TCZTLF7AQkgnDZYvHgxli1b5rfNZrN532N+BiIT7ufA6XTi008/xQ033FBvHz8HscfvgpaB3wfxxe+DloHfB9G3detWDB48GOnp6fjxxx/RvXv3gOWa7bsgrBlhrcCIESPEddddJ6qqqsT+/ftFnz59xKOPPlqv3K5du4RerxeffPKJcLlc4t133xV6vV7s2bNHCKFkWWrfvr3Ys2ePqKqqEnfeeafo2bOncDqdzf2SWpVQ3/9XXnlFmEwmsWnTpoDn+ctf/iKGDx8u8vPzhc1mE4899pho3769KC4ujvVLaPVCbYPnnntOZGdni19//VW43W7x+eefC4PBIDZs2CCE4GegKUJtAyGE+P333wUAcfDgwXr7+DmIDjQwoZ3fBc2joTbg90HzaKgN+H3QPBpqAyH4fRBtR48eFVlZWeKee+4Rsiw3WLa5vgsSLvA6evSouOiii4TJZBIZGRni//7v/7xvitFoFG+99Za37EcffST69OkjkpKSRL9+/cRnn33md67HHntM5ObmCoPBIEaPHu198ym4UN//jh07CrVaLYxGo9/tif9v7/5jqqr/OI4/L1zoQhAm4sqNsa4kAm7RKFoOi5X9YBOalCmzAhNbTlsuMheGI/RbLVhAhUwEl6SkVmukib8qCFu0mun0asZKChhFl0nBXAJxvn84z7peLnKhi36/ez22s937+Zzz/nzOvbv33Pc+n/O5//mPYRiGcfbsWWPp0qVGRESEMXnyZCM1NdVc0lNGNtr3YGhoyHjllVeMm266yQgNDTUSExONTz75xCWWPgNj48330Mcff2xcd911w8bR5+DfcemPHV0LJt5I74GuBxNjpPdA14OJcbnvIl0P/l1r1641ALfvlri4OMMwrsy1wGIYhuHdGJmIiIiIiIh44//qHi8REREREZGrkRIvERERERERH1PiJSIiIiIi4mNKvERERERERHxMiZeIiIiIiIiPKfESERERERHxMSVeIiIiIiIiPqbES0RExqyzs5Nvv/12XDH+/vvvf6k3l1dZWcnOnTsnrD0REZGLlHiJiMiYFRYWUl1dTUpKChaLZdjtr7/+8nh8R0cHERERdHd3j9jOokWLXGK+/fbbzJs3j0mTJrlt+fn5HuPceeedPPvssxw8eHDM5ywiIjIW1ivdARER+d+0b98+du7cyfHjxwkODiYpKYkXX3yRjIwMAFatWkV3dzc2m808xjAMlxGu2tpaZs2aRVhYGIODg2a5xWLB39/fpb1Nmzbx5JNPkpWVBUBfXx9FRUXMnz/fZb/g4GAAiouLWb169bB9v//++93KsrKyeOedd7x4BUREREZPI14iIuK1pqYmFi1aRGVlJa+99hpBQUFs2bKF/Px8WltbKS0t5euvv2br1q0uxzU2NhIQEGBuL7zwAk1NTS5lAQEBhIeHu7Xp5+eH1WrFYrF47FdAQICZeOXm5jIwMEBtbS0HDhzAbrcTGhrK5s2bKS0txWq1sn79erZu3crAwABbtmwZ12vS3NxMamoqAAUFBfj7+xMSEkJISAjBwcFER0dTVlY26njZ2dlkZ2ePev/169dTXFzsbbdFRGSCKPESERGv/PHHHzz++ONUVVXR3t7OqVOnsNlszJkzh7Vr13L77bezefNmvvjiCyZPnux2fHx8PIZheNzOnDkzbLvLli3DYrGwfft2syw3N5eZM2cyc+ZM7HY7Dz30kFlnsViwWq3s378fh8PB0aNHSU5OZtmyZaxatYoNGzaQkJDAxo0bsVqt+PmN/ZLY39/PkiVLeOONN8yyOXPm0NfXR19fH+fOnaOmpoa8vDwOHTo05nZGsnr1aioqKjh16pRP4ouIyPgo8RIREa+EhYXR0tJCYmIi69ato7y8HKfTSX5+Pi+99BIrVqzgmmuuITU1lfr6eoaGhoaN89hjj7ndD7Zv375h962trWVgYAAAp9PJihUrgAuLZTidTpxOJ5WVlR773NHRQXR0NO3t7VRVVbFu3To2bNgwqoVBUlJSePrpp5k+fTqRkZH09va67VNZWcmMGTOIjY31GGf27NnMmjWLY8eOmWX19fUkJSURFhZGTEwMZWVlGIZh1nd1dbFgwQLCw8OJjIxk48aNZp3FYmHNmjVMnTqVtLQ0bDYbOTk5vPzyy5c9JxERmXhKvERExGt//vkn6enp9Pb28sEHHxAVFUVLSwvNzc0cOnSIsrIyMjIyeOKJJ7Db7Zw+fXrYOGVlZQwMDDAwMMBdd93lsb0lS5bQ0dEBgL+//4jTDS/l7+9PSUkJ3d3dnDx5kpycHAoLC+nr6xt1krJ3716+/PJLjh8/TmhoqFt9VVUVmZmZHo8fGhri008/5ezZsyxcuBCAb775hvnz57NmzRq6u7vZvn07r7/+OiUlJeZxBw8eJCsri99//53CwkJWrlxJZ2enWe9wOGhvb+fdd98FYOHChXz44Yf09PSM6rxERGTiKPESERGvdHZ2kpycTGJiIgCZmZmcPHmSHTt2MGPGDACCgoLIy8ujra2N8vJyYmJiho118b6ty9271djYaI40xcfHU1BQcNl+GobBDz/8wJEjRxgcHGRwcJCGhga3qY7Nzc2XjZWens4NN9zApEmT3Oq6uro4duwYSUlJLuWHDx82V1oMDAxk7ty5xMbGYrVeWNequrqa9PR0Hn74YaxWK7fddht5eXls2rTJjHHPPfcwb948/Pz8WLx4MYZh8NNPP5n12dnZBAYGmv2y2+1ERETw2WefXfacRERkYinxEhERr0ydOpXc3Fzeeust4MKP/aysLHO6oMPh4L777sNisRAUFOQx6RqrV1991VzJMDMz02z30hGn3bt3ExcXx9GjR83kLiUlBYfD4TbFsbS0dMQ2p0yZ4rGura0NgGnTprmUJycn09PTQ09PD+fPn8fhcNDR0cGCBQsA+OWXX7Db7S7H2O12Wltbzec33nij+TgwMBDAnHLpqV/Tpk1ziSEiIlcHJV4iIuIVf39/cnJyXEao6uvr6e3tpbe3l9jYWHbv3m0+nz59usdYzzzzjJn8NDY2jqr99PR0brnlFgDee+89l9GrhoYGl/1OnDhBeHi424jXnj17WL58OYZhsHjx4rG9EJfwdC8bXHjN4uLiyMrK4siRIwBERUXx448/uuzX0tLilsB569Jl+EVE5Oqg//ESEZFxCwoKMh/7+flhs9kICQkZ8Zht27axbds2t3JPozUXk6q0tDRuvfVWr/o3ODjIzz//zHfffUdXVxc1NTXs2rWLhIQEr+IMJyoqCriwgMfNN9/scb/W1lZ27NjBvffeC1yYJnj33Xfz/vvvk5GRgcPhoLi4mKVLl46rP7/++iuRkZHjiiEiIv8+jXiJiMi4pKSkuEzb++dUw4vbaKe+OZ1Ozpw54zKatnz5ctra2qiurqagoIDy8nLefPNNwHWq4cUtOjraLe65c+d48MEHqaioYO7cuSQmJlJUVMTnn39Of3//uM5/ypQpJCYmcvjwYZfypqYm83+8rr32WmbPnk1MTIz5J8133HEHH330EUVFRVx//fU88sgjPPfcc+Tn54+5L7/99hudnZ1mciciIlcPi/HPdWtFRERGqa+vj9DQULy5jDQ0NLBy5UpOnDgxbH1aWhp79uwhNTWVvXv3AnD69GlsNps5snRRSkoKTz31FI8++qhLucViMafbff/99yQnJ+N0Ot3aOnDgAA888AA2m439+/ePuKri5VRUVFBXV+dxOfyJUlJSwldffcWuXbuuaD9ERMSdEi8REZFx6u/vJz4+nrq6OuLi4q5IH86fP09CQgJ1dXXm6pIiInL10FRDERGRcQoMDKSmpobnn3/+ivWhqKiInJwcJV0iIlcpjXiJiIiIiIj4mEa8REREREREfEyJl4iIiIiIiI8p8RIREREREfExJV4iIiIiIiI+psRLRERERETEx5R4iYiIiIiI+JgSLxERERERER9T4iUiIiIiIuJjSrxERERERER87L9B1u8rWOh+3wAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.figure(figsize=(10, 6))\n", "plt.plot(r, result.n_up + result.n_dn, label=\"总电子密度\", linewidth=2)\n", "plt.plot(r, result.n_up, \"--\", label=\"自旋向上密度\", alpha=0.7)\n", "# plt.plot(r, result.n_dn, \"--\", label=\"自旋向下密度\", alpha=0.7)\n", "plt.xlabel(\"径向距离 r (Bohr)\")\n", "plt.ylabel(\"电子密度 n(r)\")\n", "plt.title(\"Al 原子电子密度分布\")\n", "plt.xlim(0, 2)\n", "plt.legend()\n", "plt.grid(True, alpha=0.3)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 核心概念预览\n", "\n", "### 径向网格\n", "\n", "网格点数与精度的平衡:500 点足够基准测试,2000 点用于高精度计算。\n", "\n", "### SCF 收敛\n", "\n", "典型迭代次数:10-30 次(取决于初始猜测质量和混合参数)。\n", "\n", "### 能量单位\n", "\n", "AtomSCF 内部使用原子单位(Hartree),输出可转换为 eV:`1 Hartree = 27.211 eV`。\n", "\n", "### 自旋索引\n", "\n", "结果中的自旋通道使用字符串 `\"up\"` 和 `\"down\"` 索引,访问格式为 `eps_by_l_sigma[(l, \"up\")]`。\n", "\n", "## 下一步\n", "\n", "从 **[01-grid.ipynb](01-grid.ipynb)** 开始深入学习各模块!" ] } ], "metadata": { "kernelspec": { "display_name": ".venv (3.12.2)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.2" } }, "nbformat": 4, "nbformat_minor": 4 }