From 6be58390576c4a4089daaced2ca1d685df4bd7d7 Mon Sep 17 00:00:00 2001 From: nishikawa-screen Date: Wed, 28 Jan 2026 14:01:44 +0900 Subject: [PATCH 1/4] =?UTF-8?q?Add=20an=20option=20to=20plot=20bootstrap?= =?UTF-8?q?=20coefficient=20histograms=20by=20causal=20structure=20(X?= =?UTF-8?q?=E2=86=92Y=20/=20Y=E2=86=92X=20/=20no=20edge).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/Bootstrap.ipynb | 195 ++++++++++++++++++++++++++++----------- 1 file changed, 143 insertions(+), 52 deletions(-) diff --git a/examples/Bootstrap.ipynb b/examples/Bootstrap.ipynb index 9b9223f..cbd69f4 100644 --- a/examples/Bootstrap.ipynb +++ b/examples/Bootstrap.ipynb @@ -29,7 +29,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "['1.24.4', '2.0.3', '0.20.1', '1.8.3']\n" + "['1.26.4', '2.3.3', '0.21', '1.12.1']\n" ] } ], @@ -40,6 +40,9 @@ "import lingam\n", "from lingam.utils import print_causal_directions, print_dagc, make_dot\n", "\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "\n", "print([np.__version__, pd.__version__, graphviz.__version__, lingam.__version__])\n", "\n", "np.set_printoptions(precision=3, suppress=True)\n", @@ -184,104 +187,103 @@ "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "%3\n", - "\n", + "\n", "\n", "\n", "x0\n", - "\n", - "x0\n", + "\n", + "x0\n", "\n", "\n", "\n", "x1\n", - "\n", - "x1\n", + "\n", + "x1\n", "\n", "\n", "\n", "x0->x1\n", - "\n", - "\n", - "3.00\n", + "\n", + "\n", + "3.00\n", "\n", "\n", "\n", "x4\n", "\n", - "x4\n", + "x4\n", "\n", "\n", "\n", "x0->x4\n", - "\n", - "\n", - "8.00\n", + "\n", + "\n", + "8.00\n", "\n", "\n", "\n", "x5\n", - "\n", - "x5\n", + "\n", + "x5\n", "\n", "\n", "\n", "x0->x5\n", - "\n", - "\n", - "4.00\n", + "\n", + "\n", + "4.00\n", "\n", "\n", "\n", "x2\n", - "\n", - "x2\n", + "\n", + "x2\n", "\n", "\n", "\n", "x2->x1\n", - "\n", - "\n", - "2.00\n", + "\n", + "\n", + "2.00\n", "\n", "\n", "\n", "x2->x4\n", - "\n", - "\n", - "-1.00\n", + "\n", + "\n", + "-1.00\n", "\n", "\n", "\n", "x3\n", "\n", - "x3\n", + "x3\n", "\n", "\n", "\n", "x3->x0\n", - "\n", - "\n", - "3.00\n", + "\n", + "\n", + "3.00\n", "\n", "\n", "\n", "x3->x2\n", - "\n", - "\n", - "6.00\n", + "\n", + "\n", + "6.00\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -319,8 +321,10 @@ }, "outputs": [], "source": [ + "n_samples = 100\n", + "\n", "model = lingam.DirectLiNGAM()\n", - "result = model.bootstrap(X, n_sampling=100)" + "result = model.bootstrap(X, n_sampling=n_samples)" ] }, { @@ -378,7 +382,7 @@ } ], "source": [ - "print_causal_directions(cdc, 100)" + "print_causal_directions(cdc, n_samples)" ] }, { @@ -453,7 +457,7 @@ } ], "source": [ - "print_dagc(dagc, 100)" + "print_dagc(dagc, n_samples)" ] }, { @@ -1062,14 +1066,12 @@ }, { "data": { - "image/png": "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", + "image/png": "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mmucBQsWmOebOHGiU7duXfN3uNdd9/HGjRs7y5cvN/vJO++8Y94DH3zwgRPO9c5t7Nixpp0bNmyYE4r8XXdtLxo0aOA8++yzzvbt252///3vznXXXefMmjXLccN7vU6dOs7bb7/t/Pvf/zZtvbbx2ib6E+HlAvRDRt90a9euzVmWnZ3ttGvXzpk6dWq+9Z9//nmndevWTkZGRs6yDz/80HywnTp1ymfdF1980enVq1fIhhd/110fqzu6fnDldt999zkzZsxwwn2733rrrc6ECRNy7j9+/Lj5Pz777DMnlBw9etQZPHiwCWFeGzZsMGXVBi4vDZ56X+4gogGtVq1azr59+3K28WOPPZav0dTGPdzr3rJlSxNgchs+fLhzzz33OOFcb6+vv/7a+eMf/+j8+c9/DsnwEoi6az31A17bDK9XXnnF6d+/vxPudX/++eedLl26+Dyuc+fOJsD6E4eNLiApKUlmzZplDnF4RUREmIv+YnZe+gvZuq7+SKVXnTp1zO88/fzzzznL1qxZI3/9619l4sSJ4pa66yGyPXv2mO7j3N5880158MEHJdy3e/ny5eX//u//zG986W+A6fbX9fXX2ENJ2bJl5cUXX5SaNWua2/pjqvPnzzc/sFq9evV86+uhtAoVKki1atVylml3sr5Wqamppqt83bp10rx5c5/HNWvWzLwPwr3ukyZNki5duvg8LjIyssD9KFzq7aXPo79VN3bsWPOeCkWBqPu3335rDpvoMq+BAwfKG2+8IeFe9/Lly8uWLVtk1apV2jkiKSkp5jCUHj4L2V+VDkcJCQnmeGVun332mfmwevrpp/Otn5ycLJs2bfJZph/Y3mOLShutoUOHyjPPPCOVK1cWt9Td21jrr4f37dtXfv31V/ODnQ899JC0adNGwn27jxgxQh577DHz46RRUVHmA+zVV1+Vyy+/XELVs88+K++++64JWdrwxsXF5VsnLS0t336s6ycmJsrevXvNdtdtrg1i3tds3759Es51122cN7T9/vvvZkzAXXfdJeFaby/d53WMl76/582bJ6HOH3U/ceKEHDhwQOLj401b8fXXX5v2RMd5abun7/1w3u49e/Y043169+5t6qpf1Pr37y+33nqrX8tLz0sh6TdI/SbRoUMHad26db77b7vtNrPhdICeDlLbtWuXTJ061STTs2fPmnVGjRplBkbl7YEI97rrm1oNGzbMfCuZO3eu3HDDDfLwww+H7OBNf273rVu3mgbttddeM70u+svqTzzxhGzYsEFClTZA77//vtlejzzyiKxfvz7fOjpYL3ePk5f+MnxGRobpfVJ51/HeH851z+vgwYPywAMPmG+nGtrDud7vvPOO+cat7xtb+KPu3nZOe9z+67/+S2bPni3333+/zJw503xZCVW9/bTdNcTooF492UGfTwdpa3B97733/FpewkshrFixQu677z5zxsCUKVMKXEdHYD///PNmR9WR1nfeeaf06tXL3KcfXDrqWrveRo4cKW6re4kSJczf+u1Du9Gvvvpqefzxx83ZPKH8rcwfddc3tI7Q10u7du3MIaYxY8ZIrVq1QrpB067junXryrhx4+QPf/iDLFq0KN86MTExJrDlpY2ZfnvThk3lXUfvj42NlXCue26//fab6W3RXijd3/XbeLjWW+v6wgsvyOTJkwv8Bh+q/FH36Oj/HND44x//KI8++qhp5/SLiobVBQsWmEMp4by/DxgwQFq0aGHOtNK69+nTx7Sfuj/482wrwstF0g2pG0W7QGfMmJHTIBfkjjvukNWrV8uXX35pugz1g0p32P/+7/82SVQPI+i3d+190YvSMKPpPJzrXrFiRbOO9/hq7jeNjgMJ57r/+OOPpgcm9xgapUFHD0WFEj3urYc19NRuLz38odtp//79+dbXw0F5l2sDp6ea66Eh7VLWhi3vOnrbu0+Ea929dDyABhcNa9ojoftEONf7k08+kZMnT5oPLm87p1/aPv7445w2L1zrrmN7tJ3I287VqFHDBFf9/8K17ocPHzbBNW87p1/8dB29+Avh5SIsWbLEDDjTJPnSSy8V2G2We1yEDszSwwXaMGsK12XafaiDnPSbu76xtQfGe1H6GE284Vz3a665RkqXLm0+yHPbvHlzSI778GfdveM98o6L0bpXrVpVQoke2hg8eLDPoTwNXjpGKfdAvdy9Tjp2JXcI0xCnGjVqZF4TnSfHu8xLB/I1btxYwrnuSg8n6hcT/fBavHhxyAW2QNRb5zvS/T93O6ff6nXsS0Dm/Aihuus4D93f87Zz+t7X3jYN8+Fa97Jly5qAnred89a9XLly/iu8X89dCkN6vr7OT/HII484+/fv97l4PB5zaqz+7T1FVk8h0/Vnz57t7Nq1y3nvvffMbT1t9lxC9VTpQNT9tddeM/MdfPzxxz7zvKxatcoJ57pnZWU5d999t9OxY0czD4LO/fDyyy87V199tfPDDz84oeb+++93OnTo4KxevdqcRqmnUzZp0sTZs2ePk5mZaeruPQVcTwe96667zOmRenql1k9PiX/qqad8TqfUus6dO9e8VpMmTTKnkYfiPC/+rPvZs2ed9u3bO23btjVzXuTejw4dOuSE8zYvaH6QUDxVOhB11/ZM93ed20nbOZ3jR+d0evXVV51wr/uLL75o2nidx0j3eb3W23PmzPFruQkvF/DGG2+YcFHQRd+IupPq37k/fL/44gszuZk2zp06dTpvcAnl8BKouusHWJs2bcyHu8598vnnnztuqLvOqTBq1CgzH4y+mXWek5SUFCcUaUAbOXKkmVRP66PztGzevNncp+Es7z578OBBM7nVtdde6zRr1sw89vTp0z7PqY2YfpDXq1fPNH46wVW41z01NfWc+5E2+uG+zW0JL4Gou85vo/u5tnP6np85c6b5EhPudc/MzDRtvH5R04n6dH6fJUuW+Mx54w8R+o//+nEAAAACizEvAADAKoQXAABgFcILAACwCuEFAABYhfACAACsQngBAABWIbwAAACrEF4AAIBVCC8AAMAqhBcAAGAVwgsAABCb/D+Nex5tRMMi3gAAAABJRU5ErkJggg==", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -1084,6 +1086,95 @@ "plt.hist(result.total_effects_[:, to_index, from_index])" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Furthermore, when we separate the bootstrap coefficient distributions into the three structural cases — X→Y, Y→X, and no directed edge between X and Y — the resulting histograms are shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABcsAAAF/CAYAAACWgJGmAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAReFJREFUeJzt3QmUVdWVOO5NMYOW4gCYGCcMThGcMBCHqDEmbbRbJMaViEajLQ6Jc1DjrCHaEVHjrKhoK4oGYhJNom06sX/aomKUdALOSNSAREVLIjPvv85d69W/CkukimKoe75vrcerum+4d99ziv3evuee265SqVQCAAAAAAAyVrO6NwAAAAAAAFY3xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAA8KkqlYq9tBLZv7D6KZZDZt555504/fTT44tf/GLsvPPOcdppp8WsWbNiTfboo4/GVlttFU899dTq3hQAyCrPtcXPDQAr2+GHHx7bbrtt/N///V+Tj++zzz5x1llnrZR1X3PNNUXOqErrSetbFZ599tk49thjW+W9JkyYUMTx5ptvRmtL75neO61jZWvNdb388svx7W9/O8pu0aJFcdVVV8WXv/zl6N+/f3znO9+JyZMnr9ZtWhn9cU3+fMeyKZZDRlJS+vd///f485//HBdeeGFx+9Of/hRHH310LFy4sFnvtWTJklgVZs+eHRdccMEqWRcArGormudWZj5uzc8NAGWzePHiOPvss2PBggWrdTtOOOGEuPbaa1fJuu6///549dVXV8m6cvS73/0unnvuuSi7yy67LMaMGRPHHHNMXHnlldG+ffs48sgjY/r06VEW6hhtm2I5ZJZ8p0yZEjfccEP8y7/8Sxx44IExevTo4gj2b3/722a9169+9asiuT322GMr9VSxiy66KDp06LDS3h8AVqcVzXMrMx+35ucGgLJZe+21i/8Pr7vuutW6HZtsskkxyh3aghkzZsQ999wTw4cPL87QSGdF3HrrrbHuuuvGLbfcEmWhjtG2KZZDSfz+978vTvFJp+VVpaP+/fr1ix/96EfF748//nhsvvnmseWWW9Y/J/3cp0+f4kt2c2y33XYxf/784jS8r3/963HXXXfFP//5z1bZzqrf/OY38b//+7/xwx/+sFnbBgCry6rOcyszH7fm5waAstlmm23ioIMOKg4i/uUvf/nUUeh33313cdAx/T+71157xciRI4v/v5clPX7ppZfGbrvtFjvuuGMxkn3p1yw9DUv6+Sc/+Ul897vfLdZ1zjnnFMvff//9OP/88+NLX/pSbL/99vGtb30rnnzyyUbvlUbJp+kxvvKVrxSvPeCAA+IXv/hF/XrSz2+99VajaUfS9vz0pz8tptT4whe+UMSY8tvSZ0Fdf/31Rdxp2o00Gv6DDz5Y7tHs3/jGN4r3Tq9PeSvtz4YeeeSR+Nd//ddimwcPHhwvvPDCx94n5bh0ttROO+1U7IM0ojntz1SwbbidN998c3z1q18t1ve1r30t/vM//3O5tvPtt9+OYcOGFduQ9sXPfvazj23nsmJJP1fPEEj79+qrr46BAwfGj3/840btU522pKF/+7d/K9q2OTGkKUIOPvjgoi+k/pXW89FHH9U/nrYnvccf//jHok2r7/XAAw8ssxCepmxruE9T/9h///2LuNPPqc+lM9fSe1d16tSp2B+f9tnimWeeKc5uGzBgQLE9qa+n7ayeZVedEicd0D/ppJOKv5ldd901zj333EaxtaQ/qmPkRbEcSiJ9oEkfEG666abig0BKQOloba9eveo/IKXlm222WZOjEaZNm9as9X3+858vku5DDz0UgwYNiiuuuCL23HPPGDFiRPztb39boe2szpGajsamL+wbbrhhs7YNAFaXVZ3nVmY+bs3PDQBllP4P79Gjx6dOx5IKmanove+++xZn6xx22GHFwc1UpFvWWUHpYOp9991XFGFTETsV9NL0FZ8mFeZTETQVBL/5zW8WRcpUPE8Fv1NPPbUoyvbu3bs4M6lhwfyMM86I22+/PQ455JAiP+y+++5FkfzBBx8stjUVgVPOGjduXFFoTNt+4oknxr333htHHXVUEVsqUKZ1NCyqXn755cUI/LQtad1pFHHKV58mbcN5551X5Lcbb7yx2G9p9HFaVvXf//3fRWE0FUnTOtKZUEsfhH7vvfdi6NChRTE3tUMqnqazp1JcDaXpxlKRO+XHtL50EDodeFieswdS0Xb99dcvnjtkyJDi9f/xH/+x3LGkfZ72T5L276GHHhp77LFHo/ZJU7TMmzevmCu/etAkXUckHRxI7bG8Mfz6178u2m2LLbYoln//+98vzlRbuj/+4x//iIsvvjiOOOKIogC/8cYbx5lnnvmJU/FstNFGRX95+umnY/z48cWy1M7p80i679y5c/Ha7t27f+yzz6abblrE8kkH/FOMaaqW1HfSgY7U13bZZZeiPy19tlua3u6zn/1s0f9Tcf3nP/958fwV6Y/qGJmpAKXx/vvvV3bffffKEUccUbn++usr22yzTeW5556rf/xrX/ta5fTTT//Y69Ky/fbbb4XW/eGHH1buuOOOYh1bb7115Z577mnxdibHHXdcZdiwYcXPEydOrPTt27e4B4A13erMc62Zj1fm5waAtmzo0KHFLfn9739f/B8+atSo+sf33nvvyplnnln8/PLLLxeP33TTTY3e44EHHiiW//GPf2xyHS+99FLx+NixY+uXLV68uLL//vsXy6vSetL6Gq573333bfRe48aNK17z/PPP1y9bsmRJ5bDDDqscfPDBxe8vvvhi8ZwxY8Y0eu33v//9yrnnntvkuh5//PHiNQ899FCj15xxxhmV3XbbrbJw4cLKBx98UNluu+0ql19+eaPnHH300cVr33jjjSbjr6urq/Tr169y/vnnN1p+3333Fa9L+ydJ23/IIYc0ek7a1+k548ePL36/6qqrKttvv31l5syZ9c958803i+2qtuNrr71W2WqrrT7WTldeeWXx2vfee6/J7Uzbn9Z17LHHNlo+YsSI4v1nz5693LH87Gc/a9S2Dz74YPH722+/Xb8tgwcPbvSZ4ec//3nx3nPnzl2uGFK777nnnsX+b+h///d/i/f9wx/+0Ghb0vKqt956q1h26623VpblmGOOqey6666VRx99tNie0aNH1z923nnnVfbYY4+Pvaa6Lxq2UUO/+MUvivdNfwNV6eedd965eM+GbZH6X0OHH3545YADDih+bml/TNQx8mFkOZTIOuusE5dccklMnDixOJp8/PHHxw477FD/+LJGLbRr167J5ek1abRZw9snvU9NTU39+3zS+y3PdqbT+9KV1tNRbABoa1ZGnlsd+bglnxsAcpOmgkijeNN0LH/9618/9ngaZZukaSgaSr+nCxs+9dRTTb7vpEmT6t+/4f/vaSqM5ZkipqE0OjmN5E1Td1VzSJr+Y++99y6mkEkj1lNeSvbbb7+PjZhOuaIp6X1TPkgjzhvmp7TNaVRymtP9+eefLy4KndbVUBoBvizVUdTpvZZ+7+SJJ54oHk/7/NPeO+W5NOI9nT1VlUYep2UNn5PyXlPrS6O4q/vnkyy9zrQfU9yTJ09erliakkb2pz6SpmyrbmMaKZ7O+kpTkiT/8z//U0zX0qVLl+WK4bXXXouZM2d+7DlpapO11lrrY9vS8HNBOhshaTilSVPSlC5pqpM0Yj1Ng/K9732v/rFPu75K6uNNSVMepZH4aZ+mUeYPP/xw/VQ3S190vOE2V7e7us0t7Y+JOkY+XDUPSibNv9azZ8/iFKalE0BKfk2d1jRnzpziAjVNSR/u0mlXDd15553xxS9+sfg5nUY1duzY4ot/+qCU5j1Lp2h97nOfa9F2psSdTh1Pp2+tt956ReKuzkGW7lMyTB8YAGBN1tp5blXn45Z+bgDIUZrWIxWO03Qs1eknqqpzIS897US6uHOawuXDDz9s8j2rr0vPaWh5pu7q1q1bo9/TfOWpeJ2K5U1Jj6XnJGkqkeWVXpOKn2ke8Kak3FJXV9eiOKrbk67J8UnvnfZRWv/S753y2tLTsDQV+wYbbFBMi9ZwfUsf1Gg4J/myLB1PyvFJw7mwlxXLJxVnU0E/9a00hU+afiV9fnjjjTeKzwXpM0N67LTTTlvuGKr7Kk0Fl26fti1du3b9WCH70wre6aBEmm4mFbTT9DAND7Av67NF8kmfL9LBhnTQ5pe//GXx2SlNCZP2Tfo7Wnp7Gm5zdburz1mRv6tEHSMPiuVQMmnOrZQk0/xj6UNbuohIx44di8fSRbqmTp36sdekOcTShUiakj5UpDm+Gkrv88orrxRzn6Wj3OmL+Mknn1zMzZaS34psZ3q/9IExzZfacG7XJM1RlkYApHnpAGBN1tp5blXn45Z+bgDIUSpqprmi0zzQaZ7kpR+rFqTT//FVaXTr7NmzP1a0q6ouT8Xcz3zmM/XLqwXR5kgFyDQaOV1UtCmp8FhbW1tfWK6OIK4ejE3rTBdubOp9U2E+HbxtSpqH+s9//nPx87vvvlvkmuWNo7o9aZubun5GKnSnuaZTIbRa8P6k907xLP2c6jYtvb477rijmFN7aQ3boClLXyCyur508KE68nlZsXySNGo/zW+fzjRIF8JMF7ZMF7JMc4yngnlab/Vg9/LEkNo3SdcpSaO+l1btrysiXSA8FcrTGQ7VC4VWD96nPpAK42k7qgcUkunTpxd/H2mEfFPSQIP0nmnu/lSwrh4QSkX55qj+XTW3P1apY+TBNCxQIumDSDr9L51GnS5a8dJLLzW6kEU6jSt92ElfrKvSz2lZugJ2U9KX7XRxmIa3tCwd1U5HdFOySEkrXTBmeb+YL2s7U6JPxYCGt+oR73TfMB4AWBOtjDy3qvNxSz83AOQqjfw94IADirN6qgXJpFqQTBdibij9nkYGN1WETtLUGkm6EGVDf/jDH5q9bWkb0sUtU+G2YR5JU26kPJDOaKpux9IHbFOBNxUqm5oiI71vmt4ijdpt+L4pn6QLKKb8lEb/pgJoc+Po379/cfA2jYZu+N5pJPGoUaOKgnG6YGR6/0ceeaTR6OKlY0hTjKTpN9IBi4YjqNOyqnSxyCQdwGi4vtSWV1999acWU//4xz9+rH3TCOcUx/LE0tT+TdLI7PS6dDA7jeBPr0lnlaWR1qkQve2229ZPL7M8MaQCceoHaZ0Nn5PeI13kcsqUKbEi0oCAdPA9FbRTkT8V8NOFcKvtk5YnDftDujhu2n/L+myRppBJcae/s2qhPE0hlGKrnqG3PFraHxN1jHwYWQ4lkRJMOiWrT58+8e///u9FMk5X/E5X3U4JJSXR/fffv7gidnr89NNPL16XEmLfvn2Xa46uhg488MAYPHjwStnOpUdXVOcXSyPc0lXOAWBNtarz3MrMx635uQEgB+edd14xb3TDUcxbbrll8f90ml957ty5ReE2nbWTDnKm4t8ee+zxiaOyDz300LjyyiuLonMapZumoHjxxRebvV1paq5UuDzqqKPiuOOOi4022qg4IynNAZ3+7085YOutty7mw04HT1MhNq0vzYediohpW5NU+EyxPfbYY8XjadRziueEE04obimnpIJiijXFVR05nB5LI4JT8TgdBEiv/7TiZMqVxxxzTFHkTSOR075KReP0e5rWI21vkqYgSQeK0/zYaX9NmzatyF0NpWnM7r777jj66KOL0f9JOgMgjfiuThGS8m+aez614VtvvVWM4E7vlfZ/Gnnf1IjwhlLBPhWcUzE4jaweN25ccbZX9QD28sRSHRn+4IMPFgX2NBo75dw0IvzRRx+tz8VpypC0r1MBOe3bquWJIR0YOfXUU+P8888vfk4H8dNUOWl/pG36pKl6llc62y0V69PZBin2tC1pn6f+d/jhhxejx9Pfw6WXXlrMo5626fbbby+2Ie2jT5LOaPvtb38b99xzTxF7mrc8HeBP+y/9XS2vNOK+Jf1RHSMzq/sKo0Dr+I//+I/K1ltvXXnuuefql/3zn/+s7LXXXsWVn+fPn18s+/vf/1458cQTKzvssENlwIABlVNOOaX+6tpr0nY2lK703fCK3wCwpmorea6tfG4AWBMNHTq0uDXlkUceKf5PP/PMM+uXLVq0qHL99ddXvvKVr1S22267yt57710ZNWpUZd68ectcT3rd1VdfXdljjz0q/fr1K/4/Tu+T3r8qrSe9X1X6ueG6q955553K2WefXRk0aFDlC1/4QuVrX/ta5ZZbbqksXry4/jnp//4rrriisueee1a23377ykEHHVR5+OGH6x9/8cUXK1//+teLGG666ab63PGTn/ykeE1avs8++xTvsXRsd955ZxF/Wvfhhx9eGTt2bBHHG2+8scx9cNddd1X233//4r2/9KUvVU4//fTKW2+91eg5TzzxRGXIkCHFNv/Lv/xL5b//+7+L9x4/fnz9c1566aXKd7/73WI/pn1wzTXXVA499NDKsGHD6p+zcOHCyrXXXlvfTimmCy64oDJ79uxP3L60/Wld9913X/H+Kb7UBnfccUezY5k5c2YRR3o8rbcq/ZzW0TBnX3jhhcWyyZMnN1rH8sbw0EMPVQYPHlxs76677lo57rjjKi+88EL94z/72c8a9bOqtCw91pQ//vGPxeOpXzX0/e9/v9K/f//K66+/Xt/PRowYUbRDWv6d73yn8vzzz1eWJW3/aaedVmxr+kySPqukfXzeeedVdtttt+JvpdoWDdu9qb+RlvTHtvL5jtbRLv2zugv2AAAAANDaJk+eXExBkkbCV6XR+mmKk3QxzHRhVoAq07AAAAAAUEp///vfi6lH0nQgaZ71NG1HmiYlza/9rW99a3VvHrCGMbIcAAAAgNJKc12PHTs23njjjWKO9jQneJpTPF3cEqAhxXIAAAAAALJXk/0eAAAAAAAge4rlAAAAAABkT7EcAAAAAIDsdVjT90ClUoklSypRFjU17UoVzycRZ/lo0/LJvU3T8nbt2q2WbWqLypSPc+n7OcWaS5w5xZpLnDnFmnOcrfmZQz5um3Lu/2WVS6ziLJ+c27RmOfPxGl8sT4G9994/oww6dKiJHj26R13dR7Fo0ZIoK3GWjzYtn9zbtLp85N3PxptvfxhldeG/D4p11+7cKu9VlnycS9/PKdZc4swp1lzizCnW3ONcb73u0b596xTL5eO2J/f+X0a5xCrO8sm9Tddbzny8xhfLAWBlSYXyV9/6oLQ7eNHi8n4AAgAAgNZmznIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyF6zi+Vz5syJCy64IHbffffYdddd44wzzoh33323/vEnn3wyDj744Ojfv398/etfj4ceeij7nQwAAAAAQMmK5SeffHI89thjMWLEiLj77rtj7ty5ccQRR8SCBQvi1VdfjWHDhsUee+wREyZMiEMOOSSGDx9eFNABAAAAAGBN1aE5T546dWo8/vjjccstt8See+5ZLPvpT38ae+21VzGC/LnnnoutttoqTj311OKxPn36xJQpU2L06NExaNCglRMBAAAAAACsymL566+/Xtzvsssu9cu6d+8em266aTz99NMxefLk2HfffRu9ZuDAgcUo9EqlEu3atWvZRnYox9Tq7dvXNLovK3GWjzYtn9zbtOxxryxlyMe59P2cYs0lzpxizSXOnGIVZ+uSj9sW/b98tGm55NKeOcXafgXjbFaxvGfPnsX9jBkzilHjyeLFi2PmzJmx/vrrF/e9e/f+2GvSVC2zZ8+O9dZbr9kbWFPTLnr06B5lUlvbNXIgzvLRpuWjTck1H+fS93OKNZc4c4o1lzhzilWcK04+brv0//LRpuWSS3vmFGttC+NsVrF8++23jy222KK4wOcVV1wR66yzTvzsZz8rCuELFy6MefPmRadOnRq9pvp7mtO8JZYsqURd3UdRBumIRmqourq5sXjxkigrcZaPNi2f3Nu0upz88nEufT+nWHOJM6dYc4kzp1hzjzMta61RfPJx25N7/y+jXGIVZ/nk3qa1y5mPm1UsT4Xva6+9trhoZ5qzvGPHjnHggQfG3nvvHTU1NdG5c+ePFcWrv3ft2vKixKJF5WrA1FBli6kp4iwfbVo+2pTmKFPuyqXv5xRrLnHmFGsuceYUqzhbR5n6Si59IqdYc4kzp1jFWT7atBWL5UmafmX8+PHx/vvvR4cOHWKttdaKb37zm8Xc5BtttFHMmjWr0fPT7926dYu11167uasCAAAAAIBVolnngs2ZMyeGDh0aL7zwQqy77rpFofzNN9+MKVOmxG677VZc+DNd6LOhiRMnxk477VSMPAcAAAAAgDVRsyrYqTheqVRixIgR8fLLL8f//d//xfHHH1+MKh80aFAcfvjh8ec//zlGjhwZr776atx2223xu9/9Lo455piVFwEAAAAAAKygZg/3HjVqVHFhz29/+9sxbNiw2HnnneOaa64pHvv85z8f119/fTz22GNx0EEHxf333x+XX355UUgHAAAAAIA1VbPnLO/Vq1dxkc9Pki78mW4AAAAAANBWmEgcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPaaXSxftGhRXH311bH33nvHjjvuGIcddlg8//zz9Y9PnTo1hg4dGjvssEPss88+ceedd2a/kwEAAAAAKFmx/IYbboj7778/LrnkknjggQdi8803j2OOOSZmzZoVs2fPjqOOOio22WSTGD9+fJx44okxcuTI4mcAAAAAAFhTdWjuCx599NE44IADYvfddy9+P+uss4rieRpdPm3atOjYsWNcfPHF0aFDh+jTp09Mnz49br755hgyZMjK2H4AAAAAAFj1I8vXX3/9+MMf/hBvvvlmLF68OMaNGxedOnWKrbfeOiZNmhS77rprUSivGjhwYLz++uvxzjvvrPjWAgAAAADAmjCy/JxzzomTTz45vvKVr0T79u2jpqYmrrnmmmLqlZkzZ0bfvn0bPb9nz57F/YwZM2KDDTZo2UZ2KMd1SNu3r2l0X1biLB9tWj65t2nZ415ZypCPc+n7OcWaS5w5xZpLnDnFKs7WJR+3Lfp/+WjTcsmlPXOKtf0KxtnsYvkrr7wSa6+9dlx33XXRq1evYgqWM844I+66666YN29eMcq8oc6dOxf38+fPb9EG1tS0ix49ukeZ1NZ2jRyIs3y0afloU3LNx7n0/ZxizSXOnGLNJc6cYhXnipOP2y79v3y0abnk0p45xVrbwjibVSxPo8NPP/30GDNmTOyyyy7Fsu23374ooKfR5V26dIkFCxY0ek21SN6tW7cWbeCSJZWoq/soyiAd0UgNVVc3NxYvXhJlJc7y0ablk3ubVpeTXz7Ope/nFGsuceYUay5x5hRr7nGmZa01ik8+bnty7/9llEus4iyf3Nu0djnzcbOK5ZMnT46FCxcWBfKG+vfvH//zP/8Tn/nMZ2LWrFmNHqv+nkaht9SiReVqwNRQZYupKeIsH21aPtqU5ihT7sql7+cUay5x5hRrLnHmFKs4W0eZ+koufSKnWHOJM6dYxVk+2nTZmnV4u3fv3sX9iy++2Gj5Sy+9FJtttlkMGDAgnn322eLCn1UTJ06MzTffvLgwKAAAAAAArImaVSzv169f7LzzznHmmWcWRfDXX389rrrqqnjyySfj2GOPjSFDhsScOXOKi4CmqVkmTJhQTNkybNiwlRcBAAAAAACsoGZNw1JTUxM33HBDUSA/++yz44MPPoi+ffsWBfE0FUsyevToGDFiRAwePDg23HDDGD58ePEzAAAAAACUolierLPOOnHBBRcUt08afT5u3LjW2DYAAAAAAFglWueS3AAAAAAA0IYplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9hTLAQAAAADInmI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOwplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9hTLAQAAAADInmI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOwplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9jo0Zw889dRTccQRRzT52MYbbxy///3v480334xLLrkknnnmmejWrVt885vfjB/84AfRvn377Hc2AAAAAAAlKJbvuOOO8fjjjzda9vzzzxfF8BNOOCEWLlwYRx99dGy22WZx7733xt/+9rc455xzoqamJk466aTW3nYAAAAAAFj1xfJOnTrFhhtuWP/7Rx99FJdeemkMHjw4hgwZEg8++GD8/e9/j/vuuy/WWWed6Nu3b7z77rvx05/+NI477rji9QAAAAAAUKo5y2+88caYO3dunHnmmcXvkyZNiu22264olFcNHDgw5syZE1OnTl3xrQUAAAAAgNU9sryh9957L8aMGROnn356rLvuusWymTNnRu/evRs9r2fPnsX9jBkzon///i3byA7luA5p+/Y1je7LSpzlo03LJ/c2LXvcK0sZ8nEufT+nWHOJM6dYc4kzp1jF2brk47ZF/y8fbVouubRnTrG2X8E4W1wsHzt2bKy99tpx6KGH1i+bN29e1NbWNnpe586di/v58+e3aD01Ne2iR4/uUSa1tV0jB+IsH21aPtqUXPNxLn0/p1hziTOnWHOJM6dYxbni5OO2S/8vH21aLrm0Z06x1rYwzhYXyx944IE46KCDokuXLvXL0s8LFixo9Lxqkbxbt24tWs+SJZWoq/soyiAd0UgNVVc3NxYvXhJlJc7y0ablk3ubVpeTXz7Ope/nFGsuceYUay5x5hRr7nGmZa01ik8+bnty7/9llEus4iyf3Nu0djnzcYuK5S+88EK88cYbceCBBzZanqZgeemllxotmzVrVnHfq1evaKlFi8rVgKmhyhZTU8RZPtq0fLQpzVGm3JVL388p1lzizCnWXOLMKVZxto4y9ZVc+kROseYSZ06xirN8tOmytejwdrqQ5/rrrx9bb711o+UDBgyIKVOmFBf0rJo4cWJ07979Y88FAAAAAIA1RYuK5akgvtVWW31s+b777hsbbrhhnHLKKcXo80cffTRGjRoV3/ve96JTp06tsb0AAAAAALBmFMv/8Y9/xLrrrvux5elinqNHj44lS5bEt771rbjoooviO9/5Tpxwwgmtsa0AAAAAALBStGjO8ltuueUTH9t0003jtttuW5FtAgAAAACAVap1LskNAAAAAABtmGI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOwplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9hTLAQAAAADInmI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOwplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9hTLAQAAAADInmI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOy1qFj+wAMPxP777x/bb799fOMb34jf/va39Y+9+eabMWzYsNhpp51i9913j6uuuioWL16c/Y4GAAAAAKBExfJf/vKXcc4558Rhhx0WDz30UBxwwAFx2mmnxXPPPRcLFy6Mo48+unjevffeGxdeeGHcc889cd11162MbQcAAAAAgFbRoTlPrlQqcfXVV8cRRxxRFMuT448/PiZNmhRPP/10vPXWW/H3v/897rvvvlhnnXWib9++8e6778ZPf/rTOO6446JTp06ts9UAAAAAALC6iuXTpk0rCuIHHnhgo+W33nprcZ9Gkm+33XZFobxq4MCBMWfOnJg6dWr079+/ZRvZoRxTq7dvX9PovqzEWT7atHxyb9Oyx72ylCEf59L3c4o1lzhzijWXOHOKVZytSz5uW/T/8tGm5ZJLe+YUa/sVjLPZxfLko48+KqZbmTJlSmy88cbF6PJ99tknZs6cGb179270mp49exb3M2bMaFGxvKamXfTo0T3KpLa2a+RAnOWjTctHm5JrPs6l7+cUay5x5hRrLnHmFKs4V5x83Hbp/+WjTcsll/bMKdbaFsbZrGJ5GiGenHnmmfH9738/zjjjjHj44YfjhBNOiNtvvz3mzZsXtbW1jV7TuXPn4n7+/Pkt2sAlSypRV/dRlEE6opEaqq5ubixevCTKSpzlo03LJ/c2rS4nv3ycS9/PKdZc4swp1lzizCnW3ONMy1prFJ983Pbk3v/LKJdYxVk+ubdp7XLm42YVyzt27Fjcp1HlgwcPLn7eZpttihHmqVjepUuXWLBgQaPXVIvk3bp1i5ZatKhcDZgaqmwxNUWc5aNNy0eb0hxlyl259P2cYs0lzpxizSXOnGIVZ+soU1/JpU/kFGsuceYUqzjLR5suW7MOb/fq1au4TxfubGjLLbeMN998s5iCZdasWY0eq/5efS0AAAAAAKxpmlUsTxfv7N69e0yePLnR8pdeeik22WSTGDBgQDHKvDpdSzJx4sTiNVtvvXXrbTUAAAAAAKyuYnmaZuWYY46J6667Lh588MH429/+FjfccEM88cQTcdRRR8W+++4bG264YZxyyinxwgsvxKOPPhqjRo2K733ve9GpU6fW3G4AAAAAAGg1zZqzPEkX8+zatWtceeWV8fbbb0efPn3immuuiS9+8YvF46NHj46LLroovvWtb8U666wT3/nOd4rXAAAAAABAaYrlSRpFnm5N2XTTTeO2225b0e0CAAAAAIA1cxoWAAAAAAAoI8VyAAAAAACyp1gOAAAAAED2FMsBAAAAAMieYjkAAAAAANlTLAcAAAAAIHuK5QAAAAAAZE+xHAAAAACA7CmWAwAAAACQPcVyAAAAAACyp1gOAAAAAED2FMsBAAAAAMieYjkAAAAAANlTLAcAAAAAIHuK5QAAAAAAZE+xHAAAAACA7CmWAwAAAACQPcVyAAAAAACyp1gOAAAAAED2FMsBAAAAAMhes4vlb7/9dmy11VYfu02YMKF4fOrUqTF06NDYYYcdYp999ok777wz+50MAAAAAMCarUNzX/DCCy9E586d49FHH4127drVL1977bVj9uzZcdRRRxVF8osuuiief/754r579+4xZMiQ1t52AAAAAABYPcXyl156KTbbbLPo2bPnxx674447omPHjnHxxRdHhw4dok+fPjF9+vS4+eabFcsBAAAAAChPsfzFF18siuBNmTRpUuy6665Fobxq4MCBcdNNN8U777wTG2ywQcs2skM5plZv376m0X1ZibN8tGn55N6mZY97ZSlDPs6l7+cUay5x5hRrLnHmFKs4W5d83Lbo/+WjTcsll/bMKdb2Kxhni0aW9+jRIw477LCYNm1abLrppnH88cfHnnvuGTNnzoy+ffs2en51BPqMGTNaVCyvqWkXPXp0jzKpre0aORBn+WjT8tGm5JqPc+n7OcWaS5w5xZpLnDnFKs4VJx+3Xfp/+WjTcsmlPXOKtbaFcTarWL5o0aJ47bXXYsstt4yzzjor1lprrXjooYfi2GOPjdtvvz3mzZsXnTp1avSaNL95Mn/+/BZt4JIllair+yjKIB3RSA1VVzc3Fi9eEmUlzvLRpuWTe5tWl5NfPs6l7+cUay5x5hRrLnHmFGvucaZlrTWKTz5ue3Lv/2WUS6ziLJ/c27R2OfNxs4rlaXqVp556Ktq3bx9dunQpln3hC1+Il19+OW699dZi2YIFCxq9plok79atW7TUokXlasDUUGWLqSniLB9tWj7alOYoU+7Kpe/nFGsuceYUay5x5hSrOFtHmfpKLn0ip1hziTOnWMVZPtp02Zp9eLt79+71hfKqz3/+8/H2229H7969Y9asWY0eq/7eq1ev5q4KAAAAAABWiWYVy9MI8p122qkYXd7QX/7yl2JqlgEDBsSzzz4bixcvrn9s4sSJsfnmm8f666/felsNAAAAAACrq1jep0+f2GKLLeLiiy+OSZMmxauvvhqXXnppPP/888VFPocMGRJz5syJc845J1555ZWYMGFCjBkzJoYNG9aa2wwAAAAAAK2qWXOW19TUxI033hhXXHFFnHLKKVFXVxfb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yqS2tmvkQJzlo03LR5uSaz7Ope/nFGsuceYUay5x5hSrOFecfNx26f/lo03LJZf2zCnW2hbG2axi+dL+9Kc/xdlnnx377bdf7LXXXjFv3rzo1KlTo+dUf1+wYEGL1rFkSSXq6j6KMkhHNFJD1dXNjcWLl0RZibN8tGn55N6m1eXkl49z6fs5xZpLnDnFmkucOcWae5xpWWuN4pOP257c+38Z5RKrOMsn9zatXc583OJi+aOPPhpnnHFG7LTTTjFy5MhiWefOnT9WFK/+3rVry4sSixaVqwFTQ5UtpqaIs3y0afloU5qjTLkrl76fU6y5xJlTrLnEmVOs4mwdZeorufSJnGLNJc6cYhVn+WjTZWvR4e277rorfvCDH8Tee+8dN954Y1EkTzbaaKOYNWtWo+em37t16xZrr712S1YFAAAAAAArXbOL5WPHjo1LLrkkDjvssBg1alSjaVd22WWXePrppxs9f+LEicXo85qack8eDwAAAABA29WsaVimTZsWP/nJT+KrX/1qDBs2LN555536x7p06RKHH354DB48uJiWJd0/9thj8bvf/S5Gjx69MrYdAAAAAABWfbH84YcfjoULF8Z//dd/FbeGUnH8sssui+uvvz4uv/zyuOOOO2LjjTcufh40aFDrbC0AAAAAAKzuYvlxxx1X3JZlzz33LG4AAAAAANBWmEgcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPZWqFh+0003xeGHH95o2dSpU2Po0KGxww47xD777BN33nln9jsZAAAAAICSFsvvvvvuuOqqqxotmz17dhx11FGxySabxPjx4+PEE0+MkSNHFj8DAAAAAMCaqkNzX/D222/HBRdcEE899VRsttlmjR677777omPHjnHxxRdHhw4dok+fPjF9+vS4+eabY8iQIa253QAAAAAAsPpGlv/1r38tCuK/+tWvon///o0emzRpUuy6665Fobxq4MCB8frrr8c777zTOlsMAAAAAACre2R5moc83Zoyc+bM6Nu3b6NlPXv2LO5nzJgRG2ywQcs2skM5rkPavn1No/uyEmf5aNPyyb1Nyx73ylKGfJxL388p1lzizCnWXOLMKVZxti75uG3R/8tHm5ZLLu2ZU6ztVzDOZhfLl2XevHnRqVOnRss6d+5c3M+fP79F71lT0y569OgeZVJb2zVyIM7y0ablo03JNR/n0vdzijWXOHOKNZc4c4pVnCtOPm679P/y0ablkkt75hRrbQvjbNVieZcuXWLBggWNllWL5N26dWvRey5ZUom6uo+iDNIRjdRQdXVzY/HiJVFW4iwfbVo+ubdpdTn55eNc+n5OseYSZ06x5hJnTrHmHmda1lqj+OTjtif3/l9GucQqzvLJvU1rlzMft2qxvHfv3jFr1qxGy6q/9+rVq8Xvu2hRuRowNVTZYmqKOMtHm5aPNqU5ypS7cun7OcWaS5w5xZpLnDnFKs7WUaa+kkufyCnWXOLMKVZxlo82XbZWnaRmwIAB8eyzz8bixYvrl02cODE233zzWH/99VtzVQAAAAAA0GpatVg+ZMiQmDNnTpxzzjnxyiuvxIQJE2LMmDExbNiw1lwNAAAAAACsucXyNHp89OjRMW3atBg8eHBce+21MXz48OJnAAAAAABYU63QnOWXXXbZx5b169cvxo0btyJvCwAAAAAAbXdkOQAAAAAAtEWK5QAAAAAAZE+xHAAAAACA7CmWAwAAAACQPcVyAAAAAACyp1gOAAAAAED2FMsBAAAAAMieYjkAAAAAANlTLAcAAAAAIHuK5QAAAAAAZE+xHAAAAACA7CmWAwAAAACQPcVyAAAAAACyp1gOAAAAAED2FMsBAAAAAMieYjkAAAAAANlTLAcAAAAAIHsdst8DAMBy6dCh7R9jb9++ptH90pYsqRQ3AAAA8qNYDgB8qpqadtGjR/fS7Kna2q5NLl+8eEm8//5HCuYAAAAZUiwHAD5Vu3btYuTdz8abb39Y2r21ca+144zDdi4ODBhdDgAAkJ9WL5YvWbIkrr322rj//vvjww8/jAEDBsT5558fn/vc51p7VQDAKpQK5a++9YF9DgAAQCm1+uSj119/fYwdOzYuueSSuPfee4vi+THHHBMLFixo7VUBAAAAAMCaVyxPBfHbbrstTjrppNhrr71i6623jiuvvDJmzpwZjzzySGuuCgAAAAAA1sxi+QsvvBD//Oc/Y9CgQfXLamtrY9ttt41nnnmmNVcFAAAAAACtpl2lUqm01pul0eM/+MEPYvLkydGlS5f65SeffHLMmzcvbrrppma/Z9q8VtzE1a6mpqaYmqbsxFk+2rR8cm/TtPz9D+fHosXl3Qc9artE+5p2rfZ+Zd9fHdrXxLprdy7V30Xuf+dllEusucSZU6w5x5kukp1uraFM349z6RM5xZpLnDnFKs7yyblN2y1nPm7VC3zOnTu3uO/UqVOj5Z07d44PPmjZBcFa84PFmtRgORBn+WjT8sm9TVNhlOWXy/4q299F2eLJPc6cYs0lzpxiFeeKK9v341z6RE6x5hJnTrGKs3y06bK16l92dTT50hfznD9/fnTt2rU1VwUAAAAAAK2mVYvlG220UXE/a9asRsvT77169WrNVQEAAAAAwJpZLN96661jrbXWiqeeeqp+WV1dXUyZMiUGDBjQmqsCAAAAAIBW06pzlqe5yocOHRojR46M9dZbLz772c/G5ZdfHr1794799tuvNVcFAAAAAABrZrE8Oemkk2LRokVx7rnnxrx584oR5bfeemt07NixtVcFAAAAAACtol2lUqm0zlsBAAAAAEDb1KpzlgMAAAAAQFukWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZavYjfddFMcfvjhpex477//fpx//vmx5557xk477RTf/va3Y9KkSVFG7777bvzwhz+MgQMHxo477hjHHntsvPrqq1Fm06ZNK2KdMGFClNHbb78dW2211cduZYz3gQceiP333z+23377+MY3vhG//e1vo2yeeuqpJtsz3b7yla9EmSxatCiuvvrq2HvvvYu/0cMOOyyef/751b1Zazz5uBzk4/KRj8sjp1ycyMctIx+Xg3xcLjnl4hy+H8vHhzX7+3GHldYafMzdd98dV111Veyyyy6l3DunnXZa/OMf/4hRo0bF+uuvH//5n/8ZRx99dPziF7+ILbbYIsrkxBNPjCVLlsTNN98c3bt3LwpVRx55ZDzyyCPRtWvXKJuFCxfGGWecER999FGU1QsvvBCdO3eORx99NNq1a1e/fO21144y+eUvfxnnnHNO/OhHP4o99tgjHnrooeJvt3fv3kWhtSxSLI8//nijZSlB/uAHP4gTTjghyuSGG26I+++/Py67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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.ticker as ticker\n", + "\n", + "from_index, to_index = 0, 4\n", + "\n", + "te_xy = result.total_effects_[:, to_index, from_index]\n", + "te_yx = result.total_effects_[:, from_index, to_index]\n", + "\n", + "both_zero_mask = (te_xy == 0.0) & (te_yx == 0.0)\n", + "te_zero = result.total_effects_[both_zero_mask, to_index, from_index]\n", + "\n", + "te_xy = te_xy[te_xy != 0.0]\n", + "te_yx = te_yx[te_yx != 0.0]\n", + "\n", + "bins_count = int(np.ceil(1 + np.log2(max(n_samples, 1))))\n", + "\n", + "# calculate xmin, xmax\n", + "arr_list = [te_xy, te_yx, te_zero]\n", + "if any(a.size > 0 for a in arr_list):\n", + " vals = np.concatenate([a for a in arr_list if a.size > 0])\n", + "else:\n", + " vals = np.array([0.0])\n", + "\n", + "xmin, xmax = np.min(vals), np.max(vals)\n", + "if xmin == xmax:\n", + " eps = 1e-9 if xmin == 0 else abs(xmin) * 1e-3\n", + " xmin, xmax = xmin - eps, xmax + eps\n", + "\n", + "bin_edges = np.linspace(xmin, xmax, bins_count + 1)\n", + "\n", + "# calculate ymax\n", + "counts_xy, _ = np.histogram(te_xy, bins=bin_edges) if te_xy.size > 0 else (np.zeros(bins_count, dtype=int), None)\n", + "counts_yx, _ = np.histogram(te_yx, bins=bin_edges) if te_yx.size > 0 else (np.zeros(bins_count, dtype=int), None)\n", + "counts_zz, _ = np.histogram(te_zero, bins=bin_edges) if te_zero.size > 0 else (np.zeros(bins_count, dtype=int), None)\n", + "\n", + "ymax = int(max(counts_xy.max(initial=0), counts_yx.max(initial=0), counts_zz.max(initial=0)))\n", + "ymax = max(ymax, 1)\n", + "# If you want to set ymax to the number of bootstrap iterations, uncomment next line.\n", + "# ymax = n_samples\n", + "\n", + "# display histograms\n", + "fig, axes = plt.subplots(1, 3, figsize=(15, 4), sharex=True, sharey=True)\n", + "labels = [f'x{i}' for i in range(X.shape[1])]\n", + "\n", + "axes[0].hist(te_xy, bins=bin_edges)\n", + "axes[0].set_title(f\"{labels[from_index]} -> {labels[to_index]}\")\n", + "axes[0].yaxis.set_major_locator(ticker.MaxNLocator(integer=True))\n", + "axes[0].set_xlim(xmin, xmax)\n", + "axes[0].set_ylim(0, ymax)\n", + "\n", + "axes[1].hist(te_yx, bins=bin_edges)\n", + "axes[1].set_title(f\"{labels[to_index]} -> {labels[from_index]}\")\n", + "axes[1].yaxis.set_major_locator(ticker.MaxNLocator(integer=True))\n", + "axes[1].set_xlim(xmin, xmax)\n", + "axes[1].set_ylim(0, ymax)\n", + "\n", + "axes[2].hist(te_zero, bins=bin_edges)\n", + "axes[2].set_title(\"No directed edge between \" + labels[from_index] + \" and \" + labels[to_index])\n", + "axes[2].yaxis.set_major_locator(ticker.MaxNLocator(integer=True))\n", + "axes[2].set_xlim(xmin, xmax)\n", + "axes[2].set_ylim(0, ymax)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1094,7 +1185,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2021-06-25T01:43:17.514898Z", @@ -1200,14 +1291,14 @@ "8 [3, 0, 5, 2, 1] -2.719517 0.01" ] }, - "execution_count": 15, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from_index = 3 # index of x3\n", - "to_index = 1 # index of x0\n", + "to_index = 1 # index of x1\n", "\n", "pd.DataFrame(result.get_paths(from_index, to_index))" ] @@ -1215,7 +1306,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "lingam_env (3.11.9)", "language": "python", "name": "python3" }, @@ -1229,7 +1320,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.11.9" }, "toc": { "base_numbering": 1, From 0d054053de4d4cb149e6d722bebe340c944cd564 Mon Sep 17 00:00:00 2001 From: nishikawa-screen Date: Wed, 28 Jan 2026 14:01:56 +0900 Subject: [PATCH 2/4] Change coefficient estimation to a two-step median. --- examples/BootstrapWithImputation.ipynb | 223 +++++++++++++++++++------ 1 file changed, 173 insertions(+), 50 deletions(-) diff --git a/examples/BootstrapWithImputation.ipynb b/examples/BootstrapWithImputation.ipynb index 9d75069..0769c88 100644 --- a/examples/BootstrapWithImputation.ipynb +++ b/examples/BootstrapWithImputation.ipynb @@ -32,7 +32,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "['1.24.4', '1.9.0']\n" + "['1.26.4', '1.12.1']\n" ] } ], @@ -43,6 +43,9 @@ "from lingam.utils import make_dot\n", "from lingam.tools import bootstrap_with_imputation\n", "\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "\n", "import matplotlib.pyplot as plt\n", "\n", "print([np.__version__, lingam.__version__])\n", @@ -75,104 +78,103 @@ "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "%3\n", - "\n", + "\n", "\n", "\n", "x0\n", - "\n", - "x0\n", + "\n", + "x0\n", "\n", "\n", "\n", "x1\n", - "\n", - "x1\n", + "\n", + "x1\n", "\n", "\n", "\n", "x0->x1\n", - "\n", - "\n", - "0.56\n", + "\n", + "\n", + "0.56\n", "\n", "\n", "\n", "x4\n", "\n", - "x4\n", + "x4\n", "\n", "\n", "\n", "x0->x4\n", - "\n", - "\n", - "0.99\n", + "\n", + "\n", + "0.99\n", "\n", "\n", "\n", "x5\n", - "\n", - "x5\n", + "\n", + "x5\n", "\n", "\n", "\n", "x0->x5\n", - "\n", - "\n", - "0.90\n", + "\n", + "\n", + "0.90\n", "\n", "\n", "\n", "x2\n", - "\n", - "x2\n", + "\n", + "x2\n", "\n", "\n", "\n", "x2->x1\n", - "\n", - "\n", - "0.38\n", + "\n", + "\n", + "0.38\n", "\n", "\n", "\n", "x2->x4\n", - "\n", - "\n", - "-0.12\n", + "\n", + "\n", + "-0.12\n", "\n", "\n", "\n", "x3\n", "\n", - "x3\n", + "x3\n", "\n", "\n", "\n", "x3->x0\n", - "\n", - "\n", - "0.90\n", + "\n", + "\n", + "0.90\n", "\n", "\n", "\n", "x3->x2\n", - "\n", - "\n", - "0.90\n", + "\n", + "\n", + "0.90\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -583,14 +585,12 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABAMAAAH/CAYAAAAi1hTrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAAsTAAALEwEAmpwYAABCkklEQVR4nO3df9Asd10n+vcnHJMcFSUBQSSYk6Sg3KC7IlnW1dLKnrgHhBXQUGu8rCYKt1S2lto/rNpDsVZtcXfL4K29u1pYl6KICm4JKJYazbrekMNRr7UBAwQCupBzDvGaQxQ2CmoS4gLf+8f0ITNPnjnPPPOzn+nXq2rq6enp7vn0tz/9nX4+091TrbUAAAAAw3HBpgMAAAAA1ksxAAAAAAZGMQAAAAAGRjEAAAAABkYxAAAAAAZGMQAAAAAG5tA8M11wwQXt8OHDy45lq1z+uc8lSf704os3HEn/PPzww621tpZClFydjXydTr7SZ+P7rlxdD/3lcsjXfpHX060zVxP5Ogv5Ot1+83WuYsDhw4fz0EMPzTPrcFx77ejvyZObjKKXquqRdb2XXJ2RfJ1KvtJrY/uuXF0T/eVSyNeekddTrTNXE/k6E/k61X7z1WUCAAAAMDBznRnAbO4882BuOH7bxLhbjr1m4vl1R0+vMySYame+7szVRL7Cqh3Z4zMjsR+O29leSXLfzS/e93LuOHHV48ZpZ4bGcSsHiePW5XBmAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADMyhTQcAANB3R47fliR5x5kHkyQ3HL8t99384k2GBAALcWYAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMXxMAALbGHSeumnh+3dHTG4oEAPrNmQEAAAAwMIoBAAAAMDCKAQAAADAwigEAAAAwMG4gCAAwBzcrBOAgc2YAAAAADIxiAAAAAAyMywQAgEE5cvy2iee3HNtQIACwQc4MAAAAgIFRDAAAAICBUQwAAACAgVEMAAAAgIFRDAAAAICBUQwAAACAgVEMAAAAgIE5tOkAAAB2uuPEVY8bd93R0xuIBAC2kzMDAAAAYGAUAwAAAGBgFAMAAABgYBQDAAAAYGAUAwAAAGBgFAMAAABgYBQDAAAAYGAUAwAAAGBgFAMAAABgYBQDAAAAYGAObToAAGB73XHiqseNu+7o6Q1EAgCMUwwAADbuyPHbJp7fcmxDgQDAQLhMAAAAAAZGMQAAAAAGRjEAAAAABsY9AwAA1sQNFQHoC8UAAIAV2dYbI+5cryS57+YXbyASAOblMgEAAAAYGMUAAAAAGBiXCQD0nNNxAQBYNmcGAAAAwMBUa23/M1V9Mckju7x0KMnnFw1qi2iPSefa43BrbS2FqPPk6ng8jGiPSX3L10X1ffuKb34HLVf73JaL2tZ1W8V69SVft3WbzUNbTFp735r4P2sftMekufJ1rmLA1IVV3dVau2ZpCzzgtMekvrVH3+LZNO0xadvao+/rI7759Tm23Ry0ePdjW9dtW9cr2e512y9tMalv7dG3eDZNe0yatz1cJgAAAAADoxgAAAAAA7PsYsCbl7y8g057TOpbe/Qtnk3THpO2rT36vj7im1+fY9vNQYt3P7Z13bZ1vZLtXrf90haT+tYefYtn07THpLnaY6n3DAAAAAD6z2UCAAAAMDALFQOq6tKqur2q7u3+XjJlui9U1d3d49ZF3rOPquqFVfWxqjpVVcd3ef2iqnpn9/p7q+rIBsJcmxna46aq+vRYTrxqTXENPl/l6qS+5up+7COvb+ymubeqbuzGPXFs3e6uqv9ZVf+5e20p675IfN34k902OhfHU7vxC+fqgm335VV1W1X9j6r6aFXdPDb9Qm23yH5aVa/txn+sql4w6zKXZYbYv76q3lNVH6yqD1fVi7rxR6rqkbE2e9OqYpzHDOt1eVXd0a3Tyaq6bOy1XXO7DxZcrwP3WbmPff7Ardt+LNLHbKMZ2sNx6wbJ18esJFdba3M/kvx0kuPd8PEkb5gy3d8u8j59fiR5QpLTSa5McmGSDyW5esc0r07ypm74hiTv3HTcG26Pm5K8cQOxDTpf5epc7bGRXN3neuyZ10kuTXKm+3tJN3zJLtO9P8l3LnPdF40vyckk1+wyz8K5ukhsSb48yT/pprkwyR8k+e5F226R/TTJ1d30FyW5olvOE2ZZ5pJycZbY35zkx8fiva8bPpLkI5vYh5a0Xr+a5MZu+GiSX9ortzf9WGS9uucH7rNyln3+oK7bkre7Y4HJaebu0xeMTb7K1/22xb5zddHLBF6a5K3d8FuTvGzB5R1Ez09yqrV2prX2d0nekVG7jBtvp3clua6qao0xrtMs7bEpQ89XuTqpz7m6H7Pk9QuS3N5a+8vW2l8luT3JC8cnqKpnJ3lqRv/U9i6+PZY7b67OHVtr7eHW2nuSpMufDyS5bJf592uR/fSlSd7RWnu0tfaJJKe65a0r12d5n5bkq7rhr07yyRXEsWyzrNfVSU50w+8Ze32e3F6XRdbroBr6cUDiWGCnPh8LyFf5Om4lubpoMeBprbUHuuE/T/K0KdNdXFV3VdWdVfWyBd+zb56R5M/Gnt/fjdt1mtba55N8NsmT1xLd+s3SHklyfXfa4buq6pnrCW3w+SpXJ/U5V/djlryeZV3PVdPH7yq7jHVfRny/0J3u9pNjH/DLyNWltF1VPSnJ9yS5Y2z0vG23yH46bd5Zc31Rs7zPv0vyL6rq/iT/Ncm/Gnvtiu7ygd+rqu9YQXzzmmW9PpTk+7rh703yxKo63zbpg0XWKzmYn5VDPw5IHAvs1OdjAfkqX8etJFcP7TVBVb07ydfu8tLrxp+01lpVTftpgstba2er6sokJ6rqntba6b3em631W0ne3lp7tKp+NKNq3tFlLFi+smQry9X9WFJe7+WGJD849nzmdV9xfK/o9scnJvm1Lsa3zTrzqtuuqg4leXuSn22tnelG9yJveuoHkvxia+0/VtU/TvJLVfWNSR5I8vWttQer6nlJfqOqntNa++uNRju7n0jyxqq6KcnvJzmb5AsbjWg5zrdevfysdBzACjhu5aDYd67uWQxorX3XtNeq6i+q6umttQeq6ulJPjVlGWe7v2eq6mSS52Z0zcM2OJtkvOpyWTdut2nu7w4cvzrJg+sJb+32bI/W2vi6vyWja6KWQr6el1ydtNFc3Y8l5PXZJNeOPb8so2vxzy3jHyQ51Fp7/9h7zrzuq4xvbH/8m6r65YxOk3tbZszVVbddRtfA39ta+89j77lI3iyyn55v3r2WuQyzxP7KdKfJt9b+e1VdnOQprbVPJXm0G//+qjqd5NlJ7lpBnPs1S1/xyXTfoFfVVya5vrX2maraK382ae716l7r5Wel44A9ORaY5Li13+TrY1aSq4teJnBrknN3xr0xyW/unKCqLqmqi7rhpyT59iR/vOD79skfJXlWVV1RVRdm9O3azjt5jrfTy5Oc2HEq7jbZsz26Du2clyT5kzXFNvR8lauT+pyr+7FnXif53STHuvy+JMmxbtw5P5DRt9tfssR1nzu+qjrU7Yepqi9L8s+SfGSX5c6bqwu1XVX9+4wOOv71+AwLtt0i++mtSW6o0Z2Vr0jyrCTvm3GZyzDL+/x/Sa5Lkqr6e0kuTvLpqvqaqnpCN/7KLvYz6YdZ+oqnVNW5Y6rXJvn5bnivfW+T5l6vA/xZOfTjgMSxwE59PhaQr/J13GpytS12V8MnZ3SN5L1J3p3k0m78NUne0g1/W5J7Mrru7J4kr1zkPfv4SPKiJB/PqAr3um7c65O8pBu+OKM78p7K6MDsyk3HvOH2+KkkH+1y4j1JvmFNcQ0+X+XqwcjVfa7DnnndPf+RbrueSvLDO5ZxZue6LWvdF4kvyVdk9AsHH+5i+ZkkT1hWri4Y22UZ3QzvT5Lc3T1etYy2W2Q/zejU0tNJPpbu1w2mLXND+9TVSf6wa5u7kxzrxl/ftdndGd2M8Xs2vW/tc71e3uXRxzP6NuaiWfa9TT/mXa8c0M/KWfb5g7puS97ujgV6cCwgX2fePoPJ11XkanUzAgAAAAOx6GUCAAAAwAGjGAAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAADoxgAAAAAA3NonpkuuOCCdvjw4WXHsnUu/9znkiR/evHFG46kXx5++OHWWltLIUquzkauTidfN09+zkau0nfj+7J87Rf97HTrzNVk93y1fZjVfvN1rmLA4cOH89BDD80z67Bce+3o78mTm4yid6rqkXW9l1ydkVydSr72gPyciVyl98b2ZfnaM/rZqdaZq8mUfLV9mNF+83WuYsC2uePEVRPPrzt6+nHTHDl+28Tz+25+8UpjgnW788yDuWEsz2859prHTbPbvgGLmKdv3TnPrPPttLPvT+Q4zGq3/XDn54b96WDZeRyQ2KZ9YvuwCu4ZAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAANzaNMBAMA5d5y46nHjrsszNxAJAMB2c2YAAAAADIxiAAAAAAyMYgAAAAAMjHsGrNnO62GvO3p6Q5EAAAAwVM4MAAAAgIFRDAAAAICBUQwAAACAgVEMAAAAgIEZ3A0Ejxy/7XHjbjm2gUAAAABgQ5wZAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAADM7hfEwBg+9xx4qqJ59cdPb0V7wUAsCpbVQzY5MHgqt8PAAAAlsVlAgAAADAwigEAAAAwMFt1mQAALNOR47c9btwtxzYQCADAkjkzAAAAAAZGMQAAAAAGRjEAAAAABsY9AwBYiXX+3CsAAPvjzAAAAAAYGGcGrNCdZx5MktwwdjfqWe5CvfPu1ffd/OKlxgUAAMCwKQYAMEFBEgBg+7lMAAAAAAZGMQAAAAAGRjEAAAAABubA3jNg5zWtyWw35wMAAIChO7DFAIAhu+PEVRPPrzt6ekORMIud2yuxzQCAzXKZAAAAAAyMMwMAGISdl5e5tAwAGDLFgAPA6aUAAAAsk8sEAAAAYGAUAwAAAGBgFAMAAABgYBQDAAAAYGDcQBBgQHbekHSWm5G6iSkAwPZZeTFgngNPlkPbw3bY+ZN4yWw/izfvfPNY53sdBPP+jOHO+e67+cXLCgkAYEIvzgxw8HOw7HbQb5sBAAAcHO4ZAAAAAAOjGAAAAAADoxgAAAAAA9OLewYAANvBfYAAYHlWeVP4aq3tf6aqLyZ5ZGlRTDqU5PMrWvYy9Dm+PseWPBbf4dbaWs5K2SNX+95e66Y9JvUtXzdtaPlxENd3m3O1r9tDXPvXt761z221btpi0tpzNTlvvvZx+/Qtpr7Fk6w/pn3l61zFgFWqqrtaa9dsOo5p+hxfn2NL+hdf3+LZNO0xSXtMGlp7DG19+66v20Nc+9e32PoWzyZpi0l9a4++xZP0L6a+xZP0M6Zx7hkAAAAAA6MYAAAAAAPTx2LAmzcdwB76HF+fY0v6F1/f4tk07TFJe0waWnsMbX37rq/bQ1z717fY+hbPJmmLSX1rj77Fk/Qvpr7Fk/Qzpi/p3T0DAAAAgNXq45kBAAAAwAopBgAAAMDArLUYUFUvrKqPVdWpqjq+y+s3VdWnq+ru7vGqsddurKp7u8eNPYvtC2Pjb112bLPE103zz6vqj6vqo1X1y2PjN9p2e8S28rYbe69Lq+r2rh1ur6pLpky3tpjWbYY8v6iq3tm9/t6qOrKBMNdmkf1+m8zQDj9WVfd0bfD/VtXV3fgjVfXIWPu8af3R788s/VU33fVV1arqmrFxr+3m+1hVvWA9EQ/HPvro/1ZVn6mq394x/her6hNj+fjNPYnriq4/PdX1rxeuOa5djwGq6mSXy+fa66kLxjP358u69i3HASOOBSZt6lhgFfvMrJ9xy4ynqv5pVb2/RscJ76+qo2PzLNTPLBDT1OOTqnpeF+upqvrZqqo1xPOKsVjurqovVvcZtey+eN9aa2t5JHlCktNJrkxyYZIPJbl6xzQ3JXnjLvNemuRM9/eSbviSPsTWvfa3PWi7ZyX54Ll2SfLUHrXdrrGto+12xPHTSY53w8eTvGET23NTjxm31auTvKkbviHJOzcd94bbY+p+vy2PGdvhq8aGX5Lkv3XDR5J8ZNPrsMx17aZ7YpLfT3Jnkmu6cVd301+U5IpuOU/Y9Dpt02MfffR1Sb4nyW/vGP+LSV7ew7h+JckN3fCbkvz4uuI63zFAkpPn8nsJscz9+bLOfWsf23IrjwMW3Vbb+JixPW7Kko8FVrHPzLLMFcXz3CRf1w1/Y5KzY/PM3c8sGNORTDk+SfK+JN+apJL8TpLvXnU8O6b5piSnl9FGy3is88yA5yc51Vo701r7uyTvSPLSGed9QZLbW2t/2Vr7qyS3J3lhT2Jbh1ni+9+T/FzXPmmtfaob34e2mxbbur00yVu74bcmedmG4tiUWbbVeBu9K8l1+6mYHjB93+/XZc92aK399djTr0hyUO88O+s2/z+SvCHJ58bGvTTJO1prj7bWPpHkVLc8lmemPrq1dkeSv1lTTMkCcXX959GM+tPzzr+iuFZ9DHDOIp8v69y3hn4ckDgW2GlTxwKr2GcWWZe542mtfbC19slu/EeTHK6qi2Z835XENG2BVfX0jL7guLON/hN/W2bvB5YVzw908/bCOosBz0jyZ2PP7+/G7XR9VX24qt5VVc/c57ybiC1JLq6qu6rqzqp62RLj2k98z07y7Kr6wy6OF+5j3k3Flqy+7cY9rbX2QDf850meNmW6dca0TrNsqy9N01r7fJLPJnnyWqJbv0X3+20xUztU1b+sqtMZfbP2mrGXrqiqD1bV71XVd6w21IXtua5V9S1Jntlau22/87KwWfvo8/kP3f76n5Z0MLpoXE9O8pmuP02WmzezxLVX3v5Cd1rqTy74z94iny/r3LeGfhyQOBbYaVPHAqvYZxbZl5aVF9cn+UBr7dGxcfP2M4vGtNvxyTO65ZxvmauK55zvT/L2HeOW1Rfv26F1vtkMfivJ21trj1bVj2ZUWTm6xzzrcr7YLm+tna2qK5OcqKp7Wmun1xzfoYxOx782yWVJfr+qvmnNMUyza2yttc9kyW1XVe9O8rW7vPS68SettVZV077d7MP2pB/63CetVWvt55L8XFX9b0n+bZIbkzyQ5Otbaw9W1fOS/EZVPWfHmQQHRlVdkOT/yuiUUFZgSX30NK/N6B+8CzP6Xed/k+T1PYhrbiuO6xXdZ90Tk/xakh/M6FuyA81xACvgWGAGVfWcjM6qOzY2elP9zK7HJ2t43/Oqqn+U5OHW2kfGRm+0L15nMeBskvFK2mXduC9prT049vQtGX0DdW7ea3fMe7InsaW1drb7e6aqTmZ07cwyPzT2jC+j6tR7W2v/K8knqurjGf0DvvG2O09sf7Tstmutfde016rqL6rq6a21B7rThHa9XGEN23NTZtlW56a5v6oOJfnqJA9mOy2032+RWfJi3DuS/N9J0lX+H+2G39+dOfDsJHetJtSF7bWuT8zoeseTXWH+a5PcWlUvmWFeZrCMPvo8yz73je+jVfULSX6iB3E9mORJVXWo+5ZoX3mzhLimHgOMfdb9TY1u7Pv8zH8Ausjny1L3LccBe3IsMGlTxwKr2mfm3ZcWyouquizJryf5ofHC2YL9zNwxdZcA7HZ8crZbzvmWufR4xl6/ITvOClhyX7xv67xM4I+SPKtGd9W9MKPGmLhDa9cxn/OSJH/SDf9ukmNVdUmN7vx6rBu38di6mC7qhp+S5NuT/PESY5spviS/ke4Dv4vj2RndKGjjbTcttjW13bhbM/o2M93f39w5wQZiWqdZttV4G708yYmuQ91Gi/RJ22SWdnjW2NMXJ7m3G/81VfWEbvjKjIp8Z9YS9XzOu66ttc+21p7SWjvSWjuS0Q0EX9Jau6ub7oYa3Sn4iozW9X3rX4WttmcffT7n9tcaVXJeluQj551hDXF1/ed7MupP9z3/EuLa9Rigqg51n3Gpqi9L8s+yWHst8vmyzn1r6McBiWOBnTZ1LLCKfWaWZS49nqp6UpLbMro55x+em3gJ/cwiMe16fNIVjf+6qr61+6z4oczeJy+079To7MN/nrH7BaygL96/tsa7FSZ5UZKPZ1RdfV037vUZHWwlyU9ldOOJD2X04fkNY/P+SEY3yDiV5If7EluSb0tyTzf+niSv3FDbVUant/5xF8cNPWq7XWNbV9uNxfnkJHdk9I/Mu5Nc2o2/JslbNhHTuh8zbKuLk/xqlyvvS3LlpmPecHtM7ZO26TFDO/xM1w53d+3wnG789WPjP5Dkeza9Louu645pT2bsDr8ZnWZ8OsnHMuPdhz32tW327KO753+Q5NNJHsnozLMXdONPdP32R5L8lyRf2ZO4ruz601Nd/3rRmuN63DFARjcCfX+SD3f78M9kwTv4z9CPTP18Wde+NUubZcuPAxbdVtv4mKE9VnIssIp9ZrdlrjqejC4dfCijY4Fzj6cuo59ZIKapxyfd/v6RbplvTFJr2mbXJrlzx/KW3hfv91FdIAAAAMBArPMyAQAAAKAHFAMAAABgYBQDAAAAYGAUAwAAAGBgFAMAAABgYBQDAAAAYGAUAwAAAGBgFAMAAABgYBQDAAAAYGAUAwAAAGBgFAMAAABgYA7NM9MFF1zQDh8+vOxYtsrln/tckuRPL754w5H0z8MPP9xaa2spRMnV2cjX6eRrv8jV6bY1V23z7bSt+XpQ2c+mW2euJvJ1FvJ1uv3m61zFgMOHD+ehhx6aZ9bhuPba0d+TJzcZRS9V1SPrei+5OiP5OpV87Rm5OtXW5qptvpW2Nl8PKvvZVOvM1US+zkS+TrXffHWZAAAAAAzMXGcGMJs7zzyYG47fNjHulmOvmXh+3dHT6wwJptqZrztzNZGv9IO+lWW748RVjxu3rBw6siNX77v5xUtZLiybvpWDxHHrcjgzAAAAAAZGMQAAAAAGRjEAAAAABkYxAAAAAAZGMQAAAAAGRjEAAAAABkYxAAAAAAZGMQAAAAAGRjEAAAAABkYxAAAAAAZGMQAAAAAGRjEAAAAABkYxAAAAAAZGMQAAAAAGRjEAAAAABkYxAAAAAAZGMQAAAAAG5tCmAwAA6Lsjx2973Lj7bn7xBiIBgOVwZgAAAAAMjDMDAADmcMeJqyaeX3f09IYiAYD9c2YAAAAADIxiAAAAAAyMYgAAAAAMjHsGAAAHkjv8A8D8nBkAAAAAA6MYAAAAAAPjMgEAgDXZ+XOEiZ8kBGAznBkAAAAAA6MYAAAAAAPjMgEAYFB2/grBLcc2FMgUfiUBgHVwZgAAAAAMjGIAAAAADIxiAAAAAAyMewYAAFtj50/3Dfln+/yMIQDn48wAAAAAGBjFAAAAABgYxQAAAAAYGMUAAAAAGBjFAAAAABgYvyYAAKyMO9ovh19JAGDZnBkAAAAAA6MYAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAAD46cFAYDeOfdTet/ymU8mST5w4io/p7cm8/4cpJ8/BDhYFAMAALbAkeO3TTy/5dj+55l1PgAOPpcJAAAAwMAoBgAAAMDAKAYAAADAwCgGAAAAwMAoBgAAAMDAVGtt/zNVfTHJI7u8dCjJ5xcNaotoj0nn2uNwa20thajz5Op4PIxoj0l9ylfbZpL2mNSnXN20PudGn2NL1h9fX/K179tlnbTFpLX3rYljgX3QHpPmyte5igFTF1Z1V2vtmqUt8IDTHpP61h59i2fTtMekPrVHn2LpA+0xSXs8ps9t0efYkv7HtypDXe/daItJfWuPvsWzadpj0rzt4TIBAAAAGBjFAAAAABiYZRcD3rzk5R102mNS39qjb/FsmvaY1Kf26FMsfaA9JmmPx/S5LfocW9L/+FZlqOu9G20xqW/t0bd4Nk17TJqrPZZ6zwAAAACg/1wmAAAAAAOzUDGgqi6tqtur6t7u7yVTpvtCVd3dPW5d5D37qKpeWFUfq6pTVXV8l9cvqqp3dq+/t6qObCDMtZmhPW6qqk+P5cSr1hTX4PNVrk6Sq/0mXyf1NV/XYYZ1v7yq7qiqD1fVyaq6bOy1G7t96d6qurFP8VXVN1fVf6+qj3avfX9fYht7/auq6v6qeuOyY1s3feuIvnVSX/tW+ToiXx+zklxtrc39SPLTSY53w8eTvGHKdH+7yPv0+ZHkCUlOJ7kyyYVJPpTk6h3TvDrJm7rhG5K8c9Nxb7g9bkryxg3ENuh8latztYdc7ff2ka+T02wkX3uy7r+a5MZu+GiSX+qGL01ypvt7STd8SY/ie3aSZ3XDX5fkgSRP6kNsY6//TJJf3obc0rfqW+dsD8cC/d4+g8jXVeXqopcJvDTJW7vhtyZ52YLLO4ien+RUa+1Ma+3vkrwjo3YZN95O70pyXVXVGmNcp1naY1OGnq9ydZJc7Tf5OqnP+bpqs6z71UlOdMPvGXv9BUlub639ZWvtr5LcnuSFfYmvtfbx1tq93fAnk3wqydf0IbYkqarnJXlakv9niTFtkr5V37pTn/tW+Spfx60kVxctBjyttfZAN/znGX1g7Obiqrqrqu6sqpct+J5984wkfzb2/P5u3K7TtNY+n+SzSZ68lujWb5b2SJLru1MS31VVz1xPaIPPV7k6Sa72m3yd1Od8XbVZ1v1DSb6vG/7eJE+sqifPOO8m4/uSqnp+Rt/2nO5DbFV1QZL/mOQnlhjPpulb9a079blvla/yddxKcvXQXhNU1buTfO0uL71u/ElrrVXVtJ8muLy1draqrkxyoqruaa0t88OOg+W3kry9tfZoVf1oRtW8o8tYsHxlyeQqB8nK8vUA+Ikkb6yqm5L8fpKzSb6w0YgmnTe+qnp6kl/K6HT9L/Yktlcn+a+ttfsP0pds+lZWwLEAB8W+c3XPYkBr7bumvVZVf1FVT2+tPdB9kH1qyjLOdn/PVNXJJM/Ncivfm3Q2yXjV5bJu3G7T3F9Vh5J8dZIH1xPe2u3ZHq218XV/S0bXRC2FfD0vuTpJrvabfJ200XzdsFnW/ZPpvt2uqq9Mcn1r7TNVdTbJtTvmPdmX+LrnX5XktiSva63d2ZfYquofJ/mOqnp1kq9McmFV/W1r7XE3reoTfeue9K2THAv0m3x9zEpyddHLBG5Ncu7OvDcm+c2dE1TVJVV1UTf8lCTfnuSPF3zfPvmjJM+qqiuq6sKMblyx806e4+308iQnWneXhy20Z3t0Hdo5L0nyJ2uKbej5KlcnydV+k6+T+pyvqzbLuj+lO609SV6b5Oe74d9NcqzbXy5Jcqwb14v4uul/PcnbWmvvWnJcC8XWWntFa+3rW2tHMjp74G19LwTMQN+qb92pz32rfJWv41aTq9PuLDjLI6PrMe5Icm+Sdye5tBt/TZK3dMPfluSejK5JuyfJKxd5zz4+krwoycczqsK9rhv3+iQv6YYvzuhuvaeSvC/JlZuOecPt8VNJPtrlxHuSfMOa4hp8vspVuXqQHvJ13+2xkXztybq/vNtfPp7RtyEXjc37I12OnEryw32KL8m/SPK/ktw99vjmPsS2Yxk3ZTt+TUDfOltO6Ft70LfK15m3z2DydRW5Wt2MAAAAwEAsepkAAAAAcMAoBgAAAMDAKAYAAADAwCgGAAAAwMAoBgAAAMDAKAYAAADAwCgGAAAAwMAoBgAAAMDAKAYAAADAwCgGAAAAwMAoBgAAAMDAKAYAAADAwByaZ6YLLrigHT58eNmxbJXLP/e5JMmfXnzxhiPpn4cffri11tZSiJKrs5Gv08nXfpGr08nV/pGv08nXfpGr060zVxP5Ogv5Ot1+83WuYsDhw4fz0EMPzTPrcFx77ejvyZObjKKXquqRdb2XXJ2RfJ1KvvaMXJ1KrvaQfJ1KvvaMXJ1qnbmayNeZyNep9puvLhMAAACAgZnrzABmc+eZB3PD8dsmxt1y7DUTz687enqdIcFUO/N1Z64m8pV+0LdykOhbOSj0rRwk+tblcGYAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAxMtdb2P1PVF5M8sstLh5J8ftGgtoj2mHSuPQ631tZSiDpPro7Hw4j2mNSnfLVtJmmPSX3K1fF4GNEek+Rrf2mLSWvP1cSxwD5oj0lz5etcxYCpC6u6q7V2zdIWeMBpj0l9a4++xbNp2mNSn9qjT7H0gfaY1Lf26Fs8m6Y9JvWtPfoWzyZpi0l9a4++xbNp2mPSvO3hMgEAAAAYGMUAAAAAGJhlFwPevOTlHXTaY1Lf2qNv8Wya9pjUp/boUyx9oD0m9a09+hbPpmmPSX1rj77Fs0naYlLf2qNv8Wya9pg0V3ss9Z4BAAAAQP+5TAAAAAAGZqFiQFVdWlW3V9W93d9Lpkz3haq6u3vcush79lFVvbCqPlZVp6rq+C6vX1RV7+xef29VHdlAmGszQ3vcVFWfHsuJV60prsHnq1ydJFf7Tb5Okq/9Jl8fI1f7Ta5Okq/9Jl8fs5Jcba3N/Ujy00mOd8PHk7xhynR/u8j79PmR5AlJTie5MsmFST6U5Ood07w6yZu64RuSvHPTcW+4PW5K8sYNxDbofJWrc7WHXO339pGvk9PI135vn0Hkq1zt90OuztUe8rXf22cQ+bqqXF30MoGXJnlrN/zWJC9bcHkH0fOTnGqtnWmt/V2Sd2TULuPG2+ldSa6rqlpjjOs0S3tsytDzVa5Okqv9Jl8nydd+k6+Pkav9Jlcnydd+k6+PWUmuLloMeFpr7YFu+M+TPG3KdBdX1V1VdWdVvWzB9+ybZyT5s7Hn93fjdp2mtfb5JJ9N8uS1RLd+s7RHklxfVR+uqndV1TPXE9rg81WuTpKr/SZfJ8nXfpOvj5Gr/SZXJ8nXfpOvj1lJrh7aa4KqeneSr93lpdeNP2mttaqa9tMEl7fWzlbVlUlOVNU9rbXTe703W+u3kry9tfZoVf1oRtW8o8tYsHxlyeQqB4l85aCQqxwk8pWDYt+5umcxoLX2XdNeq6q/qKqnt9YeqKqnJ/nUlGWc7f6eqaqTSZ6b0TUP2+BskvGqy2XduN2mub+qDiX56iQPrie8tduzPVpr4+v+loyuiVoK+XpecnWSXO03+TpJvvabfH2MXO03uTpJvvabfH3MSnJ10csEbk1yYzd8Y5Lf3DlBVV1SVRd1w09J8u1J/njB9+2TP0ryrKq6oqouzOjGFTvv5DneTi9PcqJ1d3nYQnu2R9ehnfOSJH+yptiGnq9ydZJc7Tf5Okm+9pt8fYxc7Te5Okm+9pt8fcxqcnU/dxvc+cjoeow7ktyb5N1JLu3GX5PkLd3wtyW5J6M7Ht6T5JWLvGcfH0lelOTjGVXhXteNe32Sl3TDFyf51SSnkrwvyZWbjnnD7fFTST7a5cR7knzDmuIafL7KVbl6kB7ydd/tIV/7vX0Gk69ytd8Pubrv9pCv/d4+g8nXVeRqdTMCAAAAA7HoZQIAAADAAaMYAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAANzaJ6ZLrjggnb48OFlx7J1Lv/c55Ikf3rxxRuOpF8efvjh1lpbSyFKrjKP8X1Xvm6Xbe6X+5Cr29y+LFcf8pXH2HenW2euJrvnq+3DrPabr3MVAw4fPpyHHnponlmH5dprR39PntxkFL1TVY+s673kKnMZ23fl65bZ4n65F7m6xe3LcvUiX3mMfXeqdeZqMiVfbR9mtN98dZkAAAAADMxcZwYwvztOXDXx/Lqjp5ey3CPHb3vcuPtufvFSlg0H2c5945Zjr3ncNMvaD5k0S3+3c/uss9/aGV8iF5bhzjMP5oax7Wqfg4Nh576bPH7/te9uju3DKjgzAAAAAAZGMQAAAAAGxmUCAEzY5Kn7AACshzMDAAAAYGAUAwAAAGBgFAMAAABgYBQDAAAAYGAUAwAAAGBg/JoAAAfeHSeumnh+3dHTG4oEAOBgcGYAAAAADIxiAAAAAAyMYgAAAAAMjGIAAAAADIxiAAAAAAyMYgAAAAAMjJ8W7KEjx2+beH7fzS/eUCQAAABsI2cGAAAAwMA4MwCA3rjjxFWPG3fd0dMbiAQAYLs5MwAAAAAGRjEAAAAABkYxAAAAAAZGMQAAAAAGRjEAAAAABsavCQCwsCPHb3vcuFuObSAQAABm4swAAAAAGBjFAAAAABgYxQAAAAAYGMUAAAAAGBjFAAAAABgYxQAAAAAYGMUAAAAAGJhDmw6Avd1x4qrHjbvu6Ol9zzfLPAB9d+T4bY8bd8ux9b3XfTe/eDVvBgCwRs4MAAAAgIFRDAAAAICBUQwAAACAgXHPgDnNex0/wDLMe08Q9xJZ3Drb0GcNALAqigErdOeZB5MkN4zdgGpVN7kCAACAWblMAAAAAAbGmQEDt/Nns/xkFvTPvD+lt86f4AMA4GBxZgAAAAAMjDMDWAo3JQMAADg4nBkAAAAAAzO4MwN2u4bWdfL74zpkAACAg82ZAQAAADAwgzszAADWbed9VRL3VgEANsuZAQAAADAwzgwAYBCOHL8t7zjzYJLkhuO39fJeJzvvydLHGAGA7bDUYoCb8wEAAED/HdgzA9ZdePBtDQAAANuil8UAN1oCAACA1XEDQQAAABiYXp4ZAJvgjBQAmM1ul2vecuw1E899hgL0m2IAAAAAbNi674tXrbX9z1T1xSSPnGeSQ0k+P29QKyKm2awjpsOttbVcojJDri6qj9vwnD7Hlhyc+LYpX/uk79t/mda1rn3J1SFt28T6zku+9o+2mLT244DkvPna9+3T5/j6HFuy3Pj2la9zFQP2XGjVXa21a5a+4AWIaTZ9jKnP+txefY4tEd/QDal9h7SuifXddtu2vtu2PovQFpP61h59i2enPsfX59iSzcbnBoIAAAAwMIoBAAAAMDCrKga8eUXLXYSYZtPHmPqsz+3V59gS8Q3dkNp3SOuaWN9tt23ru23rswhtMalv7dG3eHbqc3x9ji3ZYHwruWcAAAAA0F8uEwAAAICB2VcxoKpeWFUfq6pTVXV8l9cvr6o7qurDVXWyqi4be+3Gqrq3e9y4jOCXENMXquru7nHrEmP6+ar6VFV9ZMrrVVU/28X84ar6lrHXVtVOi8S0knbqs6q6tKpu77bD7VV1yZTpHre9quqJY+11d1X9z6r6z91rN1XVp8dee9U6Y+vGn+z2mXMxPLUbf1FVvbPLgfdW1ZH9xrZofFX15VV1W1X9j6r6aFXdPDb93G03Qz8xdd2r6rXd+I9V1QtmXSb7yoX/VlWfqarf3jH+F6vqE2Pb/JvXEvgclrCuV3S5d6rLxQvXE/n+rGJf6rN517eqjlTVI2O5+6a1Bz+HGdb3O6vqA1X1+ap6+Y7XVnL8skz72E+3+rhnkf14G83QHgsfu835vhs7Nlmg7/unVfX+qrqn+3t0bJ5djz/XHN/UvrmqntfFfapG/xPVmmN7RU3+//DF6o57ltl2j9Nam+mR5AlJTie5MsmFST6U5Ood0/xqkhu74aNJfqkbvjTJme7vJd3wJbO+9ypi6p7/7aIxTInrO5N8S5KPTHn9RUl+J0kl+dYk711lOy0S0yrbqc+PJD+d5Hg3fDzJG3aZZqbtleT9Sb6zG74pyRs3GVuSk0mu2WWeVyd5Uzd8Q5J3rju+JF+e5J9001yY5A+SfPcibTdjP7Hruie5upv+oiRXdMt5wizL9JgtF7rXrkvyPUl+e8f4X0zy8k2vx5rW9VeS3NANvynJj296nXaJfen70qbXaYXreyRTPm/7+phxfY8k+ftJ3ja+b07r0ze9Trus46z76dYe9yyS19v4mLE9bsqCx27L3A7T+tNZlrmG2J6b5Ou64W9McnZsnpPZ5fhzzfFN7ZuTvC+j/4Eqo/+Jvnudse2Y5puSnF522+322M+ZAc9Pcqq1dqa19ndJ3pHkpTumuTrJiW74PWOvvyDJ7a21v2yt/VWS25O8cB/vvYqYVqa19vtJ/vI8k7w0ydvayJ1JnlRVT8/q2mmRmIbqpUne2g2/NcnLdplmz+1VVc9O8tSM/qntVWx7LPddSa6bsyo6d3yttYdba+9Jkm6f/kCSy3aZfz9m6SemrftLk7yjtfZoa+0TSU51y5tlmcyWC2mt3ZHkb9YU06rMva5drh3NKPfOO/+GrWJf6rNF1vcg2nN9W2v3tdY+nOSLO+Zd2fHLks20n265oeX1Xjb1ed7nY5O5Y2utfbC19slu/EeTHK6qi+aIYSXxTVtg9z/PV7XW7myj/77flvn6h2XF9gPdvCu3n2LAM5L82djz+7tx4z6U5Pu64e9N8sSqevKM885jkZiS5OKququq7qyqly0hnllNi3tV7bRITMnm2mmTntZae6Ab/vMkT9tlmlm217mKXxsbd32NLsV4V1U9c0Ox/UJ3mtFPjnVAX5qntfb5JJ9N8uTs31LarqqelNE3qHeMjZ6n7WbZTtPWvY/76kEySy7s5T902/w/reCAYpkWWdcnJ/lMl3tJf/NpFftSny2yvklyRVV9sKp+r6q+Y9XBLsEi2+igbN9Z99NtPu5ZNK+3zay5u+ix2zzvu6ljk2XlyPVJPtBae3Rs3G7Hn+uOb7e++Rndcs63zHXEds73J3n7jnHLaLvHObSsBXV+Iskbq+qmJL+f5GySLyz5PfbrfDFd3lo7W1VXJjlRVfe01k5vKM4+28p2qqp3J/naXV563fiT1lqrqrbLdLO4IckPjj3/rSRvb609WlU/mlFl8OjOmVYc2yu67fnEJL/Wxfe2/Sxg1W1XVYcy6gR/trV2phs9U9uxXivOhddmdMB+YUY/u/Nvkrx+njiXYU19BtvhgSRf31p7sKqel+Q3quo5rbW/3nRg225J++lWHvcwN8cf+1RVz0nyhiTHxkYvfPy5BLv2zWuO4byq6h8lebi1Nn6ft5W13X6KAWeTjFfCLuvGfUl3Wsj3JUlVfWWS61trn6mqs0mu3THvyTniXVpM3Wtnu79nqupkRte5rKOznxb3qtppkZg22U4r1Vr7rmmvVdVfVNXTW2sPdKcOfWqXyc67varqHyQ51Fp7/9h7Pjg2/Vsyun5xrbGNbc+/qapfzuiUprflsRy4v/tn/KuTjMe7lvg6b05yb2vtP4+950xtN+W9zttPZPq6n2/evZY5CEvIhfMt+9w3eI9W1S9kVNzdmBWu64MZXZp1qPuWoK/5tKp9qa/mXt/ubLBHk6S19v6qOp3k2UnuWnnU81tkG23y+GXCMvbTbT3u6SyyH2+jWf6XmPf4Y6H3zeaOTRbKkRrdrP3Xk/zQeBHtPMefa4vvPH3z2UxelrqRtuvckB1nBSyx7R5nP5cJ/FGSZ9XojscXdoFO3GG1qp5SVeeW+dokP98N/26SY1V1SY3u3HqsG7eouWPqYrno3DRJvj3JHy8hplncmuSHauRbk3y2O+hdVTvNHdOG22mTbk1yYzd8Y5Lf3GWavbbXD2THzlyT92F4SZI/WWdsVXWo246pqi9L8s+SnKs8ji/35UlO7Li8YeXxdXH9+4w6xn89PsMCbbdnP5Hp635rkhtqdOfXK5I8K6MbzMyyTGbLhanObfOqqoyu3dv111B6Yu517XLtPRnl3r7nX6NV7Et9Nvf6VtXXVNUTkqT7dvlZGd1Ur88W6dc2efyyH3vupwM47llkP95Gs/wvsYxjt32/bzZ3bLJI3/ekJLdldKPOPzw38R7Hn+uMb9e+ufs/7K+r6lu7Y44fynyfwwvtX93/rP88Y/cLWHLbPV7b3x0SX5Tk4xlVR1/XjXt9kpd0wy9Pcm83zVuSXDQ2749kdIOLU0l+eD/vu4qYknxbknsyuqfAPUleucSY3p7RaSj/K6NrRV6Z5MeS/Ni5bZ3k57qY78nY3SFX2E5zxbTKdurzI6Nrd+7ocufdSS7txl+T5C2zbK+MDvy+Yce4n8rohiofyujg/xvWGVuSr8jo1w0+3MXxM+nu6J3k4ox+feNURh8qV6677TKqoLaMPmjv7h6vWrTtsnc/MXXdMzq19HSSj2XszrK7LdNj7lz4gySfTvJIRv3TC7rxJ7p+5yNJ/kuSr9z0Oq1wXa/scu9Ul4sXrXsdZlzPpe9LfX7Mu74ZXSv70a4P+0CS79n0uixpff9hl7cPZfRN1kfH5l3J8cuS12/P/TQDOO5ZZD/exscM7bHwsduyt8O0/nS3Za4ztiT/tusf7h57PDXnOf5cc3xT++auH/hIt8w3JqkNbNdrk9y5Y3lLbbudj+reBAAAABiI/VwmAAAAAGwBxQAAAAAYGMUAAAAAGBjFAAAAABgYxQAAAAAYGMUAAAAAGBjFAAAAABgYxQAAAAAYGMUAAAAAGBjFAAAAABgYxQAAAAAYGMUAAAAAGJhD88x0wQUXtMOHDy87FpJc/rnPJUn+9OKLNxzJ6jz88MOttbaWQtS0XB1CO7McfchX9maflqt9JC+n60O+2j7MYp25muhfZ2HfnW6/+TpXMeDw4cN56KGH5pmVvVx77ejvyZObjGKlquqRdb3X1FwdQDuzHL3IV/Zmn5arfSQvp+pFvto+zGCduZroX2di351qv/nqMgEAAAAYmLnODGA2R47f9rhxtxx7zcTz646eXlc47HDnmQdzw9g22rltEtsH+mi3vvWDn3lvkuQDJ65KYt+lP3zW9JvtAweTfXc5nBkAAAAAA6MYAAAAAAOjGAAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAAD46cFe2jnT2Xcd/OLNxgNAAAA28aZAQAAADAwigEAAAAwMIoBAAAAMDCKAQAAADAwigEAAAAwMIoBAAAAMDCKAQAAADAwigEAAAAwMIoBAAAAMDCKAQAAADAwigEAAAAwMIoBAAAAMDCKAQAAADAwigEAAAAwMIc2HQCrc8eJqyaeX3f09IYiAQAAoE+cGQAAAAADoxgAAAAAA6MYAAAAAAOjGAAAAAAD4waCB8DOGwEmbgYIAADA/JwZAAAAAAOjGAAAAAAD4zKBLXHk+G2PG3fLsQ0EAgAAQO8pBszJdfwAAAAcVC4TAAAAgIFRDAAAAICBUQwAAACAgVEMAAAAgIFRDAAAAICBUQwAAACAgfHTgjM6cvy2iee3HNtQIAAAALAgZwYAAADAwCgGAAAAwMAoBgAAAMDAKAYAAADAwCgGAAAAwMAoBgAAAMDAKAYAAADAwCgGAAAAwMAc2nQA8zpy/LbHjbvv5hdvIBIAAAA4WHpRDNj5j71/6vtNIQYAAOBgc5kAAAAADIxiAAAAAAyMYgAAAAAMTC/uGQCwKttwTxL36QAAYNmWWgw4CAesByFGgGXQ3x0821C8AliVeT/X9K2wu2qt7X+mqi8meWQJ738oyeeXsJxlEtNsFonpcGttLZeo7JGr29auq9THuNYVU1/ydVP6uO2nOUixJsuPty+5etC2w6ppj0nn2kO+9o+2mLT2XE3Om6+2zyTtMWmufJ2rGLAsVXVXa+2ajQWwCzHNpo8x7Vcf16GPMSX9jKuPMW2jg9TOBynW5ODFO6ttXa95aY9JfWuPvsWzSdpiUt/ao2/xbJr2mDRve7iBIAAAAAyMYgAAAAAMzKaLAW/e8PvvRkyz6WNM+9XHdehjTEk/4+pjTNvoILXzQYo1OXjxzmpb12te2mNS39qjb/FskraY1Lf26Fs8m6Y9Js3VHhu9ZwAAAACwfps+MwAAAABYs5UVA6rqhVX1sao6VVXHd3n966vqPVX1war6cFW9aOy113bzfayqXrDpmKrqSFU9UlV3d483rTGmy6vqji6ek1V12dhrN1bVvd3jxp7E9IWxdrp1WTEtIeaLquqd3evvraojY6/tmm97LXOVcVXVP62q91fVPd3fo2PznOyWea6dn7qmmKbuB1X1vC7WU1X1s1VV+4lpwbheMRbT3VX1xar65u61hdpqKKrq0qq6vetLbq+qS6ZMt2ufs452XsU+viqr2Mf6bB/5s5HPh3VZJEe3zQxtcVNVfXosH161gRh602esw9D6pb3M0B7fWVUfqKrPV9XLd7y2kuPvXWLQt0bfOm4lfWtrbemPJE9IcjrJlUkuTPKhJFfvmObNSX68G746yX1jwx9KclGSK7rlPGHDMR1J8pENtdOvJrmxGz6a5Je64UuTnOn+XtINX7LJmLrnf7uKnFpCzK9O8qZu+IYk7zxfvs2yzBXH9dwkX9cNf2OSs2PznExyzQbaaup+kOR9Sb41SSX5nSTfva64dkzzTUlOL6OthvRI8tNJjnfDx5O8YZdppvY5q27nVezjPY116j7W58cs+dO9tvbPhzW2wVL6sG14zNgWNyV5Yx+3x7r7jB5tk63ql5bQHkeS/P0kb0vy8rHxKzn+nhKnvlXfut+22HffuqozA56f5FRr7Uxr7e+SvCPJS3dM05J8VTf81Uk+2Q2/NMk7WmuPttY+keRUt7xNxrQqs8R0dZIT3fB7xl5/QZLbW2t/2Vr7qyS3J3nhhmPalFlifmmSt3bD70pyXVVVpufbLMtcWVyttQ+21s7l30eTHK6qi/b5/kuNadoCq+rpSb6qtXZnG/VEb0vysg3F9QPdvOzPeNu+Nbtvv1X1ObNYxT7ex1gPqlnyZ9sNcbtPs4zPz3XE0Jc+Yx3k56Q926O1dl9r7cNJvrhj3nV+Fupb5e64lfStqyoGPCPJn409v78bN+7fJfkXVXV/kv+a5F/tY951x5QkV9To8oHfq6rvWEI8s8b0oSTf1w1/b5InVtWTZ5x33TElycVVdVdV3VlVL1tCPLOYJeYvTdNa+3ySzyY5Xzsuo30XiWvc9Uk+0Fp7dGzcL3Sn//zkPju8RWPabT94Rrec8y1z1XGd8/1J3r5j3LxtNSRPa6090A3/eZKn7TLNXttole28in18VVaxj/XdLPmTbObzYV2W1Ydtg1n3uetrdLnhu6rqmRuIoS99xjoMsV86n0W28TrzQ9+qbx23kr710LKim8MPJPnF1tp/rKp/nOSXquobNxjP+WJ6IMnXt9YerKrnJfmNqnpOa+2v1xDTTyR5Y1XdlOT3k5xN8oU1vO/5nC+my1trZ6vqyiQnquqe1trpDcV54FXVc5K8IcmxsdGv6Nr4iUl+LckPZvRt/Krtuh+s4X1nUlX/KMnDrbWPjI3eVFv1TlW9O8nX7vLS68aftNZaVbV9Ll47L8cmP2vOa0n54/OBc34rydtba49W1Y9m9K3e0T3mYTN62y9tA30rS7bvvnVVZwacTTJeibisGzfulUl+JUlaa/89ycVJnjLjvGuNqTtV7MFu/Pszul7j2euIqbX2ydba97XWnpuuY2itfWbG9Vl3TGmtne3+nsnoOuLnLiGmvczSFl+apqoOZXQZyIPnmXcZ7btIXKnRjRl/PckPjXfqY238N0l+Ofs7fXHumM6zH5ztlnO+Za4srrHXb8iOswIWbKut0lr7rtbaN+7y+M0kf9Fd7nHuso9P7bKIqdtoDe28in18VVaxj23cEvJnU58P67KMPmxbzHIc8eDY2W5vSfK8dceQ/vQZ67CV/dICFtnGS80Pfeue9K2PWU3f2lZzg4NDGd1Q44o8doOD5+yY5neS3NQN/72Mrs+vJM/J5I1bzmQ5NxBcJKavORdDRjdtOJvk0jXF9JQkF3TD/yHJ67vhS5N8IqObl1zSDW86pkuSXDQ2zb3Z5033Vhjzv8zkzUV+pRveNd9mWeaK43pSN/337bLMp3TDX5bRtVE/tqaYpu4HefwNBF+0rrbqnl/QxXPlstpqSI8k/2cmb1L007tMs2ufs452XsU+vsK2XMk+1ufHjPmzkc+HNbbBQn3YNj1mbIunjw1/b5I7+7I91t1n9GibbFW/tGh7jE37i3n8DQSXfvw95b31rfrW/bbFvvvWVQb8oiQfz6iC+Lpu3OuTvKQbvjrJH3YrcneSY2Pzvq6b72PZ513JVxFTRtdsf7Qb94Ek37PGmF7e7dgfz6jCc9HYvD+S0Y1tTiX54U3HlOTbktzTtd89SV65jp1jxpgvzuhXEE5l9I/r+D+Nu+bbbstcV1xJ/m2Sh7qcO/d4apKvSPL+JB/ucvJnss+DlAVimrofJLkmyUe6Zb4xSa15G16bHR3eMtpqKI+Mrq27o9uv353HijzXJHnL2HSP63PW1c6r2MdX2J5L38f6/Jglf7LBz4c1tsPcObptjxna4qe6XP9QRjci/oY+bY919xk92SZb1S8toT3+YUbXZD+U0bfMHx2bdyXH37vEqG+dbVvpWxfoW6ubEQAAABiIVd0zAAAAAOgpxQAAAAAYGMUAAAAAGBjFAAAAABgYxQAAAAAYGMUAAAAAGBjFAAAAABgYxQAAAAAYmP8f4j23zBqHG34AAAAASUVORK5CYII=", + "image/png": "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tusrr7wyDBw4MDz99NO9Xmaj11c9t6+NYaxcecbKtVHPY2VxW3nitrFityLJ5Di4jwcaTzzxROu0O+64I/Tp0ye8/vrrXX4uHmSec845lVilujVx4sRw1llntf4eD+biAPDiiy/udP5jjz02HHnkke2mTZo0KZx++ukVX9dGrvcYrPHANu/EbnWI29qo17itdsyvXLkyTd7dfPPNrdMWL16cLufRRx/t9DNvvPFG+pnf/OY3GyQl//rXv4ailS3+/vvf/77Lvx2TMTHR0taXv/zlNKFepO0WnXnmmeHzn/98xbZbufeH69evDzvssEO49NJL25U9Jl9/97vfbVJfVyk9rYM47+TJk9tNi19cfPazn22X7IvJ8nrU0/qKifZf/OIX7aYdc8wx4YQTTuj1Mhu9vuq5fWUxVq4OY+XaqNexsritDnHbWLFbkdtcPProo+klg/vtt1/rtHiJYd++fZPHH3+828/ecMMNybbbbpt86lOfSr773e8ma9asqcQq1oWPPvooeeqpp9K6LYl1HH+P26AzcXrb+aPDDz+8y/kpT71H8fLZXXbZJb0c9eijj04WLVqUu+oVu5UnbmujnuO22jEf6zFeBt22LuPlzTvvvHOXdfmb3/wmGTRoUPJP//RPG7y39957p7cj+Pu///vk4YcfTopStni7iDhemThxYnLttdemt1aoVl9bre0WrVq1Ktl6660rst0qsT985ZVX0ltutJ1nyJAh6eV+pXk2pa8rt97UwYEHHph+pnT54ssvv5ze6uOII45oN1+8tceOO+6Y7LbbbuktPV577bWk6HpTXx9++OEGl27G24M89NBDvV5mI9dXPbevjWGsXHnGyrVRz2NlcVt54rbxYrcpqYA4iN9+++3b/6GmpvRgpLt76h1//PFpYeLA5Nlnn02+853vJEuWLEluvfXWSqxm4b355pvJunXrkmHDhrWbHn9/4YUXOv1MrP/O5i/nPSrrXW/qPd7XMCYb9tprr/TA/LLLLksPBmPAjhw5MskLsVt54rY26jluqx3zcXr//v3TZNzG9iXXXHNN2sfHhERJTET+8pe/TBN6MXnx61//On12QkzmxXsN57ls8X6ikydPThPkd999d3LmmWemA7Kzzz67dTmdtbXVq1cn77//frt6yFvZ2nrkkUeSG2+8MZkzZ05Ftlsl9oel/7Pm6c04tRJ6UwcxluLn/u7v/i79EmPt2rXpM0a+973vtc4Tk+fxfnhxP9bS0pJcdNFFyec+97nkueeeS7bccsukqHpTX/HLhp/85CfJQQcdlN4HeO7cuemxRVxOb5fZyPVVz+1rYxgrV56xcm3U81hZ3FaeuG282O1RMnn69OnJJZdc0u08ixcvTnrrtNNOa/05PlAlHrBMmTIlWbp0aTqYgaI64IAD0ldJDNT4YKOrr746+eEPf1jxvy92oXhxm+eY74n4jXj8W7/97W83GMTEV9v6jf39T3/60w3mzVvZLrjggtafJ0yYkLz33nvJpZde2ppM7q08lK0kJoXiWQozZsxIDjvssE3ebpRPfAjij370o+TKK69Mk3ovvfRScs4556T7pVLb/MIXvtA6fzxQiPPFEzZuuumm9GGDjSQ+RPLUU09Nz8SPD5iJxxSnnHJKehBF7+qrHtuXsTIUb6wsbqF2sdujZPJ5552XnHzyyd3OEy912mGHHVqf1l4Sz5qIT9CM722sODCJ4iBZMnlD8fLazTbbbIOnzMffu6rnOL0n81Oeeu+oX79+aQIitu1qELv5IW6LU++1jtu8xnycHi+nWrlyZbuzXLuqy3jmarwlwr777pu53vGWER0vpc5z2dqOV+LAK56pO2DAgC772ubm5m7PSs5L2Z5//vn0y/z4Jf/555+flGO7VWt/WPo/TosnJbSdJ7bD0jzlGKeWQ2/qICaMTzzxxORf/uVfWk/AiF9oxO31/e9/P720saO4zXffffdC7L/KXV/bbbddcttttyUffPBB8tZbb6VXQMYERIyl3i6zkeurM/XQvoyV88NYuTj13pFj3MYlbhsvdnt0z+Q4uIjfUnf3ipdQxgx3PFiJ9+0omTdvXrJ+/frWBPHGeOaZZ9L/2x4M8L9iXceD83j5WUms4/h7228Z2orT284f3XPPPV3OT3nqvaN4GcLChQur1rbFbn6I2+LUe63jNq8xH+sxDjja1mW8JVW8X2bHuoy3fujJmWqx38+q37yUreN6b7XVVmkieVP62jyULV7e9vnPfz456aSTkn/7t3/rdn3blr83cVGJ/eGuu+6aDpzbzhNvLxJvw1Gap1zj1HLoTR3E54l0TBjHg4io7b27O8ZiPIO8CPuvSu3L432AR4wYkX5xcMstt6Rn3m/qMhuxvuq1fRkr54excnHqvSPHuI1L3DZg7IYKmTp1apgwYUJ4/PHHw0MPPRQ+8YlPhGnTprW+v2zZsjB27Nj0/eill14KM2fODE8++WR45ZVXwh/+8Iew2267hYMOOqhSq1gXZs+enT6h/Prrr0+fUnraaaeFoUOHhuXLl6fvn3jiiWH69Omt8z/88MOhqakpXHbZZelT3OPTmOPT3RcuXFjDUtR/vV900UXhrrvuCkuXLg1PPfVUOO6448LAgQPDokWLQt6I3coTt7VRz3FbzZiPzjjjjLDzzjuHefPmpf32AQcckL46+vWvf53W2V//+tcN3vvpT38abrvttvDiiy+mfdA555wT+vbtG+69995cl+2Pf/xj+NWvfpWuc1z3K6+8MgwaNChceOGFrfO8/PLL6bRvfetbaV97xRVXhM022yzceeeduS5bLNN2220X/vmf/zm0tLS0vt54442KbbdK7A9nzZqVLiOOJZ999tlw9NFHh1133TW8//77G11/1dTTOohl3nLLLcPvfve7tK3dfffdYfTo0eHYY49tnee8884L999/fzqmjnV26KGHhm233bbdtiyqntbXY489Fm655ZZ0X/7AAw+EyZMnp+2h7X4pa5lFVon6quf2tTGMlSvPWLk26nmsLG4rT9w2VuxWLJn81ltvpYPyLbbYIjQ3N4dTTjklvPPOO63vx8FHzGXfd9996e+vvfZamjjeeuut00oYM2ZMehC2atWqSq1i3bj88svTg8P+/fuHiRMnpoPAkoMPPjicdNJJ7ea/6aabwu67757Ov+eee4Y5c+bUYK0bq97PPffc1nmHDRsWjjjiiPD000+HPBK71SFua6Ne47aaMR/FpNyZZ54ZttpqqzRp+sUvfjFNOnYUE5XHH398p3/3kksuSRNgceAS+/5DDjkkTXLmvWx33HFH2HvvvdNlDh48OIwfPz788pe/DOvWrWv3t+My43yx/cQvx6+77rrcly0mKeNnOr522WWXim63cu8P169fHy644II0buOYcsqUKWHJkiU9qr9q60kdfPzxx+EHP/hB63bYaaed0u3aNtn35S9/OQwfPjxd3ogRI9Lf44kb9aIn9RWTnuPGjUvbwjbbbJMeUL3++us9WmbRlbu+6r19ZTFWrg5j5dqo17GyuK0Ocds4sdsn/tObU6kBAAAAAGgcPbpnMgAAAAAAjUkyGQAAAACATJLJAAAAAABkkkwGAAAA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X0/qtVyRsuVfPW+jPFPv6r4RaffqEnFnX9I4+8d6KVO9lKNo1Lt6137qLxaUpVjq5p7JAAAAAABUTt2cmQwAAAAAQOVIJgMAAAAAkEkyGQAAAACATJLJAAAAAABkkkwGAAAAAKC4yeQrrrgiGTVqVDJw4MBk0qRJyfz587uc9/rrr0/69OnT7hU/11YIIbnwwguT4cOHJ5tvvnly6KGHJi+++GJSD2U7+eSTN5hn6tSpSd7LFq1cuTI566yz0u0yYMCAZPfdd09uv/32TVpmEcr1gx/8YINttsceeyR58PbbbycnnHBC0tzcnAwdOjT56le/mrz77rvdfuaQQw7ZoDxnnHFG1da5iHrapm6++ea0jcT5P/3pT28QJ9Rm/0v56vvWW29N9ttvv3S/M3jw4GTvvfdOfvvb3+a2v6um3vaDs2fPTuvoH//xH3M7JiJ/ffq///u/p/16/ExsP3FM01Fsjx1jcdasWUmRy9Sb5ZZLb/72Bx98kI41t9lmm2SLLbZIvvSlLyUrVqxoN0/HbRRfcb9QlLFNXvdVxsrVYaxcG0UYK9diX1OpPqKcZfn444+T73znO+n0OJbecccdk6985SvJf//3f1elDy/3dtmYcX8RtktX/XF8XXrppUkexla9EnJo9uzZoX///uHaa68NixYtCqeeemoYOnRoWLFiRafzX3fddaG5uTm0tLS0vpYvX95unlmzZoUhQ4aE2267LfzpT38KRx11VNh1113D+++/X6VSVa5sJ510Upg6dWq7ed5+++1QbT0t24cffhj222+/cMQRR4SHHnoovPLKK+H+++8PzzzzTK+XWZRyzZgxI+y5557tttlf/vKXkAexLY0fPz489thj4cEHHwxjxowJ06ZN6/YzBx98cFovbcuzatWqqq1z0fS0TT388MNhs802Cz/+8Y/D888/H84///zQr1+/sHDhwqqve5FVYv9L+er7vvvuC7feemvaxl966aXws5/9LG33d955Z+76u2rqbT8Y+54RI0aEz33uc+Hoo4/O5ZiIfPbpP/3pT8PFF1+cvuKhwl//+tcN5tlll13CzJkz28Xiu+++G4pcpt4st1x687fPOOOMsNNOO4W5c+eGJ598MnzmM58JBx54YLt5YlljX9Z2O1UqzisxtsnrvspYufKMlWujCGPlWu1rKtFHlLssK1euDIceemi48cYbwwsvvBAeffTRMHHixLDvvvtWvA+vxHbZmHF/EbZL1LYM8RWX3adPn7B06dKQh7FVb+QymRwb/FlnndX6+7p168KOO+6YDgC72onF4O/K+vXrww477BAuvfTS1mkx0AYMGBB+97vfhSKXrRRkHQ8Ua6GnZbvqqqvCbrvtFj766KOyLbMo5YrJ5LjTy5u484sHHk888UTrtDvuuCPd0b3++uvdJpPPOeecKq1l8fW0TR177LHhyCOPbDdt0qRJ4fTTT6/4utaTSux/KV99d2bChAnpgCxv/V3e63Ht2rVpUunXv/71BnWWpzER+ezT237B010yOSZo66VMm7rcTdGbvx1jNh6o3nzzza3TFi9enC4nJg9K4u+///3vQxHHNnndVxkrV4excm0UYaxci31NpfqIarTz+fPnp+v+5z//uaJ9eCXKkjXuL/J2Ofroo8PkyZNzMbbqrdzd5uKjjz5KnnrqqfTSgpK+ffumvz/66KNdfi6eyr7LLrskO+20U3L00UcnixYtan3vlVdeSZYvX95umUOGDElPV+9umUUoW8n999+fbL/99snYsWOTr33ta8lbb72VVFNvyvbHP/4xOeCAA9JL9IYNG5Z86lOfSn70ox8l69at6/Uyi1CuknjpTLz0ZLfddksvzXjttdeSWotlipeHxEvNS2JZY5kff/zxbj97ww03JNtuu21a3u9+97vJmjVrqrDGxdObNhWnt50/Ovzww6u6/yq6Su5/KV99l8QcyNy5c5MlS5YkBx10UK76uyLU48yZM9M6ipf6dZSXMRH57tM3Rrz0Mt5iYcKECellmmvXrk2KWqZK11W5/3bcL8TLmdvGcby8duedd94gjuN4NI7PJk6cmFx77bXp/rUIY5u87quMlSvPWLk2ijBWrtW+phJ9RLXa+apVq9LbJcT1r1QfXsmydDfuL+p2WbFiRTJnzpxOx+m1GFv1VlOSM2+++WaadItJuLbi7y+88EKnn4kNKw6O9tprrzRYLrvssuTAAw9Md2QjR45Mdw6lZXRcZum9opYtiveNOeaYY5Jdd901Wbp0afK9730v+cIXvpA23s022yy3ZXv55ZeTefPmpYnUeE+Zl156KTnzzDPTwfGMGTN6tcwilCuKnVO8x1Tcvi0tLclFF12UfO5zn0uee+65ZMstt0xqJcZD3Fm31dTUlGy99dbdxsrxxx+fDiJicvzZZ59N79UUk0DxHqhsepuKdV/r/VfRVWr/S/nqO4r1PGLEiOTDDz9M+68rr7wy+fu///vW9/PQ3+W9Hh966KHkmmuuSZ555plO38/LmIj89ukb4+yzz0722WefdFmPPPJI+iVyHM/85Cc/SYpYpkrWVSX+dpzev3//DZIDHeM4frE0efLkZNCgQcndd9+djkdj4iduv7yPbfK6rzJWrjxj5doowli5VvuaSvQR1Wjn8d768bh82rRp6T2FK9WHV6osWeP+om6X//iP/0hzPrFseRhb1U0yuTfiWaDxVRJ3YOPGjUuuvvrq5Ic//GFS72U77rjjWt+PN/uOO/PRo0en3+JMmTIlyav169enwR8fihJ3Bvvuu2/y+uuvp9/AlJKuRbQx5Yo7wZK4vWJyOSZjb7rppk6/odpU06dPTy655JJu51m8eHGvl3/aaae1a4Px4QWx7cWdfmyLUET13LfkVRxYxSRoTHbEM5O/8Y1vpFdvxAdnFbm/q5Z33nknOfHEE5Nf/epX6ZmI1KdK9+kbI8ZmSYzDmNg8/fTTk4svvjh98HARy1RueSjTBRdc0PpzPMvpvffeS8ej5U4m1wNjZeg5Y+X8iieyHXvssenVKFdddVVF+/BKqddx/7XXXpueeNjxYZVF2S65TSbHg5+YgOv4NOL4+w477LBRy+jXr186YIpnhEalz8VlxCRX22XGp8UXuWydiQfe8W/FeaoVZL0pW9wWsTxtzyaLiZr4DU68vKAc9ZXHcsWdQkfxzJLdd9+92+26Kc4777z0aajdie0mlumNN95oNz1eWhGfktqTOo/J8SiWRzJ509tUnF7LOKgH1dr/smn1HS8jGzNmTPpz7J9joiUOoErJ5Dz0d3mux/gF3quvvpr8wz/8Q7svOEtnasQrRvIyJqI4ffrG9vtx2bH9xTPVilamSiy3kmWK0+OYcuXKle3OTs7ax8btFL8MjVd/lPPAtBJjm2rvq4yV88NYuTj1Xu2xcq32NZXoIyrZzkuJ5D//+c/pFdNtz0quRB9erZjtOO4v2naJHnzwwXQ8fuONNyZZNnW7VFru7pkcE23xTM54RlLbA6H4e9szxLoTT0tfuHBh684gnhYfN2TbZa5evTq9j8rGLjOvZevMsmXL0nvJdDdPHsr22c9+Nt0RlA50o//3//5fut5xeeWorzyWqzPxLLyYBKjUNttuu+3Se+l194rrFssUD0zifYJKYgcUy1JKEG+M0uXV1WyDRdGbNhWnt50/uueee6q6/yq6au1/KV99lz4Tkx556u/yXI9xXx7baNwHl15HHXVU8vnPfz79Od7PMC9jIorTp2+M2L7il0EdLzctSpkqsdxKlinuF2LSpm0cx4PT+PyN7uI4bqetttqq7Gc4VWJsU+19lbFyfhgrF6feqz1WrtW+phJ9RKXaeSmRHJ/PdO+996b33610H16tmO047i/SdimJt6KLyx8/fnxS6e1ScSGHZs+enT498/rrr0+f0HjaaaeFoUOHhuXLl6fvn3jiiWH69Omt81900UXhrrvuCkuXLg1PPfVUOO6448LAgQPDokWLWueZNWtWuow//OEP4dlnn02fnrjrrruG999/v9Ble+edd8I3v/nN9MnNr7zySrj33nvDPvvsEz7xiU+EDz74INdle+2118KWW24Z/vVf/zUsWbIk/Nd//VfYfvvtw//5P/9no5dZ1HKdd9554f7770+32cMPPxwOPfTQsO2224Y33ngj1NrUqVPDhAkTwuOPPx4eeuihtC1Nmzat9f1ly5aFsWPHpu9HL730Upg5c2Z48skn0/LEGNttt93CQQcdVMNS5FtP21RsI01NTeGyyy5Ln9Y+Y8aM9CnuCxcurGEpiqcSfQvlq+8f/ehH4e67707rO84f23ts97/61a9y19/luR476uxJ2HkZE5G/Pj1qaWkJCxYsSGMvHio88MAD6e9vvfVW+v4jjzySPm38mWeeSeP1P//zP8N2220XvvKVrxS2TBuz3LyV6Ywzzgg777xzmDdvXjoGO+CAA9JXyR//+Me0vHGs8OKLL4Yrr7wyDBo0KFx44YWFGdvkdV9lrFx5xsq1UYSxcq32NZXoI8pdlo8++igcddRRYeTIkWkfHfu+0uvDDz+saB9e7rJs7Li/CNulZNWqVWk/fNVVV4WOaj226o1cJpOjyy+/PB0g9e/fP0ycODE89thjre8dfPDB6cFRybnnnts677Bhw8IRRxwRnn766XbLW79+fbjgggvS92PDmDJlSproK3rZ1qxZEw477LC0ocUGu8suu4RTTz21qsnW3patFDSTJk1Kt0lMQP7bv/1bWLt27UYvs6jl+vKXvxyGDx+eLm/EiBHp7zEpmwfxwCrugLfYYovQ3NwcTjnllHRn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1qwRt/Sq/RjrVFfe+9yN6W+LpJ7bubLVRjxDKm9xGxkr51c9x2qe5b2/jcRtfonb+jrGLUsyeWOsXr06GTJkSLJq1aqkubl0ISjqvT7VS3uvl3IUjXpX99pPMYld9d4I6rmdKxvaTDHUc6zmWb3Ue72Uo2jUe33VffFPjwAAAAAAoOIkkwEAAAAAyE8yecCAAcmMGTPS/6ke9V4b9VLv9VKOolHv6l77KSaxq94bQT23c2VDmymGeo7VPKuXeq+XchSNeq+vuq/aPZMBAAAAACgut7kAAAAAACCTZDIAAAAAAJkkkwEAAAAAyCSZDAAAAABA7ZLJb7/9dnLCCSckzc3NydChQ5OvfvWrybvvvtvtZw455JCkT58+7V5nnHFGpVaxblxxxRXJqFGjkoEDByaTJk1K5s+f3+38N998c7LHHnuk83/6059Obr/99qqta6PW+/XXX79B246fyyOxWx3itjbE7f/S51a2/UT62/Kp19gtYv1+/PHHycyZM5PRo0en848fPz658847N2mZRSrbxRdfnOy///7JlltumWy//fbJP/7jPyZLlixJ6mW7lcyaNSuNnXPPPbdCa19cxsrVoc+tjXrtb8VtdYjbBordUCFTp04N48ePD4899lh48MEHw5gxY8K0adO6/czBBx8cTj311NDS0tL6WrVqVaVWsS7Mnj079O/fP1x77bVh0aJFaf0NHTo0rFixotP5H3744bDZZpuFH//4x+H5558P559/fujXr19YuHBh1de9ker9uuuuC83Nze3a9vLly0Meid3KE7e1IW7b0+dWtv3ob8unnmO3iPX77W9/O+y4445hzpw5YenSpeHKK68MAwcODE8//XSvl1mksh1++OFpG3vuuefCM888E4444oiw8847h3fffbfwZSuZP39+GDVqVNhrr73COeecU4XSFIuxcuXpc2ujnvtbcVt54raxYrciyeSYpIx56ieeeKJ12h133BH69OkTXn/99W4PbA1YembixInhrLPOav193bp16UDx4osv7nT+Y489Nhx55JHtpk2aNCmcfvrpPfzLja2n9R6DdciQISHvxG51iNvaELft6XMr2370t+VTr7Fb1PodPnx4+MUvftFu2jHHHBNOOOGEXi+zSGXr6I033kiPe/7v//2/oR7K9s4774RPfOIT4Z577tFPdMJYuTr0ubVRr/2tuK0OcdtYsVuR21w8+uij6a0t9ttvv9Zphx56aNK3b9/k8ccf7/azN9xwQ7Ltttsmn/rUp5Lvfve7yZo1ayqxinXho48+Sp566qm0bktiHcff4zboTJzedv7o8MMP73J+ylPvUbzNyy677JLstNNOydFHH50sWrQod9UrditP3NaGuO2cPrdy7Ud/Wx71HLtFrd8PP/xwg0shN9988+Shhx7q9TKLUrbOrFq1Kv1/6623TuqhbGeddVZy5JFHbnC8wP8wVq48fW5t1HN/K24rT9w2Xuw2JRWwfPny9B5i7f5QU1M6yIrvdeX4449PC7Pjjjsmzz77bPKd73wnvQfZrbfeWonVLLw333wzWbduXTJs2LB20+PvL7zwQqefifXf2fzdbRc2vd7Hjh2bXHvttclee+2VHnRcdtllyYEHHpgG7MiRI3NTxWK38sRtbYjbDelzK9t+9LflUc+xW9T6jSch/OQnP0kOOuig9P67c+fOTcfqcTm9XWZRytbR+vXr03sKf/azn01PhCl62WbPnp08/fTTyRNPPFHxMhSVsXLl6XNro577W3FbeeK28WK3R8nk6dOnJ5dcckm38yxevDjprdNOO6315/hguOHDhydTpkxJli5dmg56oKgOOOCA9FUSA3XcuHHJ1Vdfnfzwhz+s+N8Xu9Bz4haKqdaxW+9+/vOfJ6eeemr6MOf4wJY4Rj/llFPSg5JGK1s8i/e5557r9szlopTt//v//r/knHPOSe65557cPkCrkoyVoXj9rbiF2sVuj5LJ5513XnLyySd3O89uu+2W7LDDDskbb7zRbvratWvTJ2jG9zZWfAJh9NJLL0kmdyLeDmSzzTZLVqxY0W56/L2reo7TezI/5an3jvr165dMmDAhbdvVIHbzQ9wWp947EreNS9wWq+5rHbv1Xr/bbbddcttttyUffPBB8tZbb6VXFMYD+ngM0NtlFqVsbf3rv/5r8l//9V/JAw88UPUz8CpRtniJbDx+22effVo/E890iuX7xS9+kd4mI/7NemWsnB/63OLUe0fGyo1L3DZe7PbonslxEBK/ze7u1b9//zTDvXLlynRQUjJv3rz0UrBSgnhjPPPMM+n/8QxlNhTret99900vUyuJdRx/b/stQ1txetv5o3gGQlfzU5567ygOzhcuXFi1ti1280PcFqfeOxK3jUvcFqvuax27jVK/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/h63QWfi9LbzR4cffniX81Oeeo/ibV522WWXZKeddkqOPvroZNGiRbmrXrFbeeK2NsRt5/S5lWs/+tvyqNfY1d9Wh9itjXqN20jsVp64rQ1x2zlj5cq1H2PlYsduU1IBy5cvT7bffvv2f6ipKdl6663T97py/PHHp4XZcccdk2effTb5zne+kyxZsiS59dZbK7Gahffmm28m69atS4YNG9Zuevz9hRde6PQzsf47m7+77cKm1/vYsWOTa6+9Ntlrr72SVatWJZdddlly4IEHpgE7cuTI3FSx2K08cVsb4nZD+tzKth/9bXnUa+zqb6tD7NZGvcZtJHYrT9zWhrjdkLFyZduPsXKxY7dHyeTp06cnl1xySbfzLF68OOmt0047rfXn+GC44cOHJ1OmTEmWLl2ajB49utfLhVo74IAD0ldJDNRx48YlV199dfLDH/6w4n9f7ELPiVsoplrGrv4WekefC8UjbqFxY7dHyeTzzjsvOfnkk7udZ7fddkt22GGH5I033mg3fe3atemTb+N7Gys+gTB66aWXJJM7EW8HstlmmyUrVqxoNz3+3lU9x+k9mZ/y1HtH/fr1SyZMmJC27WoQu/khbotT7x2J28YlbotV97WMXf1tvojd4tR7R/rcxiVui1PvHYnbxiVuGy92e3TP5O222y7ZY489un31798/zXCvXLkyvW9Hybx585L169e3Jog3xjPPPJP+H89QZkOxrvfdd99k7ty5rdNiHcff237L0Fac3nb+6J577ulyfspT7x3FyxAWLlxYtbYtdvND3Ban3jsSt41L3Bar7msZu/rbfBG7xan3jvS5jUvcFqfeOxK3jUvcNmDshgqZOnVqmDBhQnj88cfDQw89FD7xiU+EadOmtb6/bNmyMHbs2PT96KWXXgozZ84MTz75ZHjllVfCH/7wh7DbbruFgw46qFKrWBdmz54dBgwYEK6//vr06cKnnXZaGDp0aFi+fHn6/oknnhimT5/eOv/DDz8cmpqawmWXXRYWL14cZsyYEfr16xcWLlxYw1LUf71fdNFF4a677gpLly4NTz31VDjuuOPCwIEDw6JFi0LeiN3KE7e1IW71udVsP/rb8qnX2NXfVofYrY16jdtI7FaeuK0NcWusXM32Y6xc7NitWDL5rbfeSpPHW2yxRWhubg6nnHJKeOedd1rfjwnjmMu+77770t9f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0NLS0vr6y1/+UvGy3H777eH73/9+uPXWW0PczL///e+7nf/ll18OgwYNCt/4xjfC888/Hy6//PKw2WabhTvvvDMX26YS5anVtqlnU6dODePHjw+PPfZYePDBB8OYMWPCtGnTuv3MGWecEXbaaacwd+7c8OSTT4bPfOYz4cADD2x9f82aNe22UXwdfvjh4eCDD26d57777kvbxZIlS9rNt27dulyXLYrrfd1117Vb7/fff79HbTmPZbvmmmvC2WefHe6///50//jb3/42bL755un6V2q79XQf9fDDD6d1+eMf/zit2/PPPz/069cvLFy4sHWeWbNmhSFDhoTbbrst/OlPfwpHHXVU2HXXXdtto97UH5XVm23y05/+NFx88cXpK7bLv/71rxvMs8suu4SZM2e2a6/vvvtuqGeVqst6j5ta7Y/qVSXq86STTkrbYdt4fvvtt0O962ldzp8/P3zzm98Mv/vd78IOO+yQxvemLrPoerP/iuPWWC9t29uqVauqts5FU4mYp/z1Ho9hmpub27Xr5cuXV7Sq63m8X+6yrVy5Mhx66KHhxhtvDC+88EJ49NFHw8SJE8O+++5bk/FtrfryIm67qGMOJC67T58+6bF1Ho5NNimZHBviWWed1fp7TADE5Go8eOjM8OHDwy9+8Yt204455phwwgkn9HqZ5VSJ8sSEZWy4tbQxydeYGI+J1ba+/OUvp0m7PGybSpQnD9umnsSdYNw2TzzxROu0O+64I93hvf76651+JnZwcad58803t05bvHhxupzY2XXmjTfeSD/zm9/8ZoOkZGcJi7yXLas9b0xbLsJ2i84888zw+c9/vmLbraf7qGOPPTYceeSR7aZNmjQpnH766enP69evTw+cL7300nZlHzBgQHpQ3dv6o7I2dZt01y7jgK2zREq9qlRdNkLc1GJ/VM/KXZ+lA9Cjjz46NJpNGc93tQ/MyzFCNfR2/xWTyeecc06V1rL4KhHzlL/eYzI5JmGrqZ7H+9Vo9/ELwliWP//5z1Uf39aiL6+nbXf00UeHyZMn5+bYpNe3ufjoo4+Sp556Kr0EoKRv377p748++minn/nwww83uOwhXkbw0EMP9XqZ5VKJ8pTESyTiJQW77bZbenr9a6+9luRNLGPbskeHH354a9lruW0qUZ4ibZuiiHUbLxvZb7/9WqfFbRDbyeOPP97pZ2KbipfftN1W8VKPnXfeuct29Zvf/CYZNGhQ8k//9E8bvLf33nunlyf9/d//ffLwww8nRSlbvF3Etttum0ycODG59tpr00utetqW81q2tlatWpVsvfXWFdluvdlHZdXtK6+8kt5yo+08Q4YMSS9bKs3Tm/qjsiq9TeKlY/H2LhMmTEgvM1u7dm1SrypVl/UeN7XaH9WrStRn29stbb/99snYsWOTr33ta8lbb72V1LNKjOeLdoywqTZl/3XDDTek471PfepTyXe/+91kzZo1VVjj4qlkzFPeeo/i7QJ22WWX9NZ2Rx99dHprnEqp5/F+tdp9PB6Lt0KI5anm+LZWfXm9bLsVK1Ykc+bMSW/RkZdjk6befvDNN99M1q1blwwbNqzd9Pj7Cy+80OlnYuX85Cc/SQ466KD0PsNz585Nbr311nQ5vV1muVSiPFHcCcV7CcWG3dLSklx00UXJ5z73ueS5555LttxyyyQv4g60s7KvXr06ef/995O//vWvNds2lShPTPoXZdsURazzuBNvq6mpKU0ednUP3Di9f//+G3RmcVt19ZlrrrkmOf7449NtWBITkb/85S/TTiJ+yfPrX/86vTdd7CDivYbzXLZ43/XJkyenCfK77747OfPMM9NB2dlnn73RbTmvZWvrkUceSW688ca0E6zEduvNPryrui2VofR/1jw9rT8qq5LbJMZlbJtxWbFNx2RA7D/iWKAeVaou6z1uarU/qleVqM8o3lPxmGOOSXbddddk6dKlyfe+973kC1/4Qnogt9lmmyX1qBLHWrU8fquF3u6/4tg1JtziSSzPPvtseh/TJUuWpMeOVCfmKX+9x+PoeCLMXnvtlSYpL7vssuTAAw9ME8ojR44se5XX83i/Gu0+PvMm7nvic23i/YOrOb6tVV9eL9vuP/7jP9IcVSxrXo5Nep1M7o348KVTTz01PYMtfhsSE7CnnHJKugMqoo0pT2zIJXEnGxOYcSBx0003dfqtAtVj22yc6dOnJ5dcckm38yxevDiphtgpxL/129/+doOBTHyVxEFM7Ex++tOfbjBv3sp2wQUXtP4cv01877330m8US8nk3spD2UriFzTxTIUZM2Ykhx122CZvNxpTHtr0N77xjXZ9evxS5fTTT08uvvji9AGZRZGHuoRaO+6441p/jg++iTEdx/LxDKcpU6bUdN2ov/3iaaed1q69xS/UYzuL457Y7qCIDjjggPTVdiwfH7p99dVXJz/84Q9rum60F68qPfbYY9MrYK+66qq6Gd82Sl9+7bXXplfSd7wzQi23Xa+TyfESnZjpj6dbtxV/32GHHTr9zHbbbZfcdttt6Tci8dTz+M1s7LjjLQZ6u8xyqUR5OhPP5Nt9992Tl156KcmTWMbOyh6/sYpnPsa6qdW2qUR5irRtau28885Ln5LandjmY52/8cYb7abHSyzi01O7aiNxerwsZOXKle3Ocu2qXcUzV+MtEfbdd9/M9Y63jOh4y5k8l60kfuEUB1/xTN3YAfSmLeepbM8//3zakceDqPPPPz8px3Yr1z68q7otzV/6P06LB31t54ntsDRPT+uP3qlkm+6tGK9x2a+++mq7L0byrtZ1We9xU6v9Ub2qRH121ebj34rjwHo6AG2rEsdatTx+K/J+MfYfUWxvksm1iXk2vd476tevX3pyTKWOp+t5vF/Jdl9KJP/5z39O5s2b1+6s5GqNb2vVlxd920UPPvhgeiVLvMo3T8cmvb5ncsx4x4ROvLVDyfr169Pf23471ZmYTR8xYkRayFtuuSU9Y21Tl7mpKlGezsTL1+M30G13VHkQy9i27NE999zTWvZabptKlKdI26bW4pcm8ez77l6xfcS6jcnFeL+gkthZxXZSGjB3FNtUHHS03VZxRxnvXd1xW8Xt05Mz+p955pnMbZmXsnVc76222qr1m8TetOW8lC1e4vb5z38+Oemkk5J/+7d/63Z925a/NzHYm31UVt3Gy6Vih952nnh7kXgbjtI8vak/eqeSbbq3YnuN90TrePlc3tW6Lus9bmq1P6pXlajPzixbtiw9OaSex4GVGM8X7RghL/vF2H9E9dze8h7zbHq9dxQv9V+4cGHF2nU9j/cr1e5LieT4rKh77703vbduLca3terLi7zt2t7mMy5//PjxSa6OTTbl6X2zZ89On3J5/fXXp09JPO2008LQoUPD8uXL0/dPPPHEMH369Nb5H3vssXDLLbeEpUuXhgceeCB9EuGuu+7a7infWcuspEqU57zzzgv3339/eOWVV8LDDz8cDj300LDtttuGN954o6Jleeedd8KCBQvSV9zMP/nJT9KfS0/tjOWI5Sl5+eWXw6BBg8K3vvWtsHjx4nDFFVeEzTbbLNx5550bXT9FK0+ttk09mzp1apgwYUJ4/PHHw0MPPRQ+8YlPhGnTprW+v2zZsjB27Nj0/ZIzzjgj7LzzzmHevHnhySefDAcccED66ujXv/51GDhwYLv4KolPML3tttvCiy++GBYuXJg+Lbtv377h3nvvzXXZ/vjHP4Zf/epX6TrHdb/yyivTdnvhhRf2qC3nsWyxTNttt13453/+59DS0tL6ahtf5d5uPd2Hx7hvamoKl112WVq3M2bMCP369UvXpWTWrFnpMv7whz+EZ599Nn2KbtzPv//++xtdf1Rfb9p0bJ+xX4kxGfuZ2K/H39966630/UceeSRts88880za7//nf/5n2sa/8pWv1PUmrkRdbsxyi65W+6N6Ve76jOPKb37zm+HRRx9Nx4Gx39lnn33SdvjBBx+EetbTuvzwww9bx+DDhw9P6y3+HPvujV1mo+8XX3rppTBz5sx0vBTbW4zh3XbbLRx00EE1LEXj7UMpf71fdNFF4a677krHRU899VQ47rjj0uO1RYsWVay663m8X+6yffTRR+Goo44KI0eOTMevbY/J4r692uPbWvXlRdx2JatWrUpzAVdddVXoqNbHJpuUTI4uv/zyNKHQv3//MHHixDTBWnLwwQeHk046qfX3mLgbN25cWsnbbLNNWqGvv/56j5ZZaeUuz5e//OV04BWXN2LEiPT3OKCotPvuuy89gOv4Kq1//D+Wp+Nn9t5773Rd4wDnuuuuy822qUR5arVt6llMFMQd8xZbbBGam5vDKaecku7kS+JOPm63uG1KYid95plnhq222irdUX7xi19MO7iOYqLy+OOP7/TvXnLJJWH06NHp4GXrrbcOhxxySJrkzHvZ7rjjjrSNxmUOHjw4jB8/Pvzyl78M69at63Fs5q1ssUPsLGZ32WWXim63nuzDo5tuuinsvvvu6fx77rlnmDNnTrv3169fHy644IIwbNiwdF8/ZcqUsGTJkh7VH9XXmzbdVZstxVs8SJo0aVIYMmRI2mZj//+jH/2o7hNPlajLjVluPajF/qielbM+16xZEw477LD0oCsevMW+6dRTT63b5Oem1GUpxju+Oo67a3n8lvf94muvvZYmjuNYJ8bumDFj0pMEYpKA6u1DKX+9n3vuua3zxr7piCOOCE8//XTFq7qex/vlLFtX+++2+6dqj29r0ZcXcduVXH311WHzzTcPK1euDB3V+tikT/yn8uc/AwAAAABQ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DAAAAABAJslkAAAAAADym0y+4oorklGjRiUDBw5MJk2alMyfP7/b+X/2s58lY8eOTTbffPNkp512Sr7+9a8nH3zwwSYtM8/l+cEPfpD06dOn3WuPPfbIXVk+/vjjZObMmcno0aPT+cePH5/ceeedm7TMvJenltump3pa7zfffHNaljj/pz/96eT2229v934IIbnwwguT4cOHp2330EMPTV588cV287z99tvJCSeckDQ3NydDhw5NvvrVrybvvvtu7soTt/V3vvOddPrgwYOTHXfcMfnKV76S/Pd//3e7ZcS/13F7z5o1K3fliU4++eQN1nXq1KmF3D5Rx7KUXpdeemlVtg+brjftLfaFZ511VrLNNtskW2yxRfKlL30pWbFiRbt5OmsXs2fPboh9bK3VYr9Vr3oTH4cccsgG9XXGGWdUbZ2LqtztlvLX+/XXX79B246fq7ZG3K/nhf4l//W+aNGidFxWGn/HnMamLrNa9LnVob9toD431MDs2bND//79w7XXXhsWLVoUTj311DB06NCwYsWKTue/4YYbwoABA9L/X3nllXDXXXeF4cOHh69//eu9XmbeyzNjxoyw5557hpaWltbXX/7yl9yV5dvf/nbYcccdw5w5c8LSpUvDlVdeGQYOHBiefvrpXi8z7+Wp1bapdNkffvjhsNlmm4Uf//jH4fnnnw/nn39+6NevX1i4cGHrPLNmzQpDhgwJt912W/jTn/4UjjrqqLDrrruG999/v3WeqVOnhvHjx4fHHnssPPjgg2HMmDFh2rRpuSvPypUrw6GHHhpuvPHG8MILL4RHH300TJw4Mey7777tlrPLLruEmTNnttve7777bu7KE5100klp/bdd17fffrvdcoqyfaK25YivuOw+ffqksVnp7UN59Ka9nXHGGWGnnXYKc+fODU8++WT4zGc+Ew488MB288Thy3XXXdduu7fdD9XzPraWarXfqle9iY+DDz44rfe29bVq1aqqrXMRVaLdUv56j/v05ubmdm17+fLlVa3qRtyv54X+pRj1Pn/+/PDNb34z/O53vws77LBD+OlPf7rJy6wWfW7l6W8bq8+tSTI5JmzOOuus1t/XrVuXJvAuvvjiTueP806ePLndtG984xvhs5/9bK+XmffyxIRlPMCotp6WJSbBf/GLX7Sbdswxx4QTTjih18vMe3lqtW0qXfZjjz02HHnkke2mTZo0KZx++unpz+vXr08HDZdeemnr+zEhG78YiQOKKA6kY5LniSeeaJ3njjvuSBOAr7/+eq7K09UAKa7/n//853bJys4GSpuqEuWJSZmjjz66y79Z9O0Ty9Zx31mp7cOm6017i/uUeCB+8803t05bvHhxupz4hU9J/P33v/99w+1ja60W+6161dv9cUwmn3POOVVay/pQjf6JTa/3eGAbk6611Ij79bzQvxSj3jdmDF7LY/+u6HOrQ3/bWH1u1W9z8dFHHyVPPfVUeolPSd++fdPfH3300U4/c+CBB6afKZ2m/fLLL6eXEB1xxBG9Xmaey1MSL4GKl97vtttu6WWQr732Wu7K8uGHH25wOny8hOuhhx7q9TLzXJ5abZtqlD1Obzt/dPjhh7fO/8orryTLly9vN8+QIUPSSyhK88T/46W6++23X+s8cf74tx9//PFclaczq1atSi/xiGVoK942IV5yP2HChPQWC2vXru11WSpdnvvvvz/Zfvvt09vofO1rX0veeuutdsso6vaJtzmYM2dOehl4R+XePpRHb9pbbEfxFjRt20a8fHjnnXfeoG3EW2Fsu+22ycSJE5Nrr702vZS43vextVSr/Va92pT98Q033JC2/U996lPJd7/73WTNmjVVWONiqtb4gU2v9yje5mWXXXZJbwF49NFHp5fUV0sj7tfzQv9SnHqvxTLLQZ9befrbxutzm5Iqe/PNN5N169Ylw4YNazc9/v7CCy90+pnjjz8+/dzf/d3fpQeLMVEQ7w/3ve99r9fLzHN5ojjIiPcxiQdWLS0tyUUXXZR87nOfS5577rlkyy23zE1Z4oDpJz/5SXLQQQel9xmeO3ducuutt6bL6e0y81yeWm2bapQ9DnY7mz9OL71fmtbdPDEh0FZTU1Oy9dZbt86Tl/J0dp/WeA/ladOmpfevLDn77LOTffbZJy3DI488kh64x+0e20neyhPvM3rMMccku+66a7J06dJ0n/KFL3wh7UQ222yzQm+f//iP/0jjK5avrUpsH8qjN+0tTu/fv/8GX+h0bBvx3vaTJ09OBg0alNx9993JmWeemQ6IYnuo531sLdVqv1Wvers/jmPIOPCPX2g/++yzab+1ZMmSdKxCbfonylPvcVwdvxjca6+90i/3L7vssvQEnHhwO3LkyIpXcyPu1/NC/1Kceq/FMstBn1t5+tvG63OrnkzujXjGyo9+9KPkyiuvTBN5L730UnLOOeckP/zhD5MLLrggKZqNKU88kCqJGzjOFw8ebrrppk7PzKuVn//858mpp56anjkWz+iMCdhTTjklbZhFtDHlKcq2YePFMyGPPfbY9Mudq666qt173/jGN9pt75joOv3005OLL744GTBgQK6q+bjjjmv9OT4EJq5vbMNxnzNlypSkyGIMxqsAOl45UKTtUy+mT5+eXHLJJd3Os3jx4oquQ9u+P56R/t5776VnpVcrmUz51Nt+q9Lxcdppp7Wrr/hQr1hPMREf6w2K6oADDkhfJfGgdty4ccnVV1+dHiNBo/cvbEifC7Xrc6ueTI6X5cUzTTo+mT3+vsMOO3R50HjiiScm//Iv/9LaGcQDxzig/v73v9+rZea5PPGU9I7iWVq77757mnjOU1m222675LbbbkvP6oyXpcYzZeJOPd7+obfLzHN5OlONbVONssfp3c1f+j9OiwevbefZe++9W+d544032i0jnnkfn567Kdu7EuXpmEj+85//nMybN6/dWcmdiV8exDK9+uqr6Td6eStPW7Hdxr8V22YcNBdx+0QPPvhgeubdjTfemLku5dg+dO+8885LTj755G7niW2vN+0tTo+Xaq1cubLd2clZbT1u9zjwibcqqsaXCLXax9ZSrfZbRVPJ+Oiq7UexviSTa9du2fR676hfv37pl4XVGl834n49L/Qvxan3WiyzO/rc/NDfNl6fW/V7Jsezxvbdd9/09gEl69evT39vmxlvK94LrmOCtXTpYzyTsDfLzHN5OhMv341nnbQdiJTbptRjPFtwxIgR6YHQLbfckt5zZVOXmcfy1GrbVKPscXrb+aN77rmndf54CXLcGbWdZ/Xq1em9HUvzxP9jEijes6ckJmjj3y4d8OalPG0TyfEe2Pfee296390szzzzTBq/HS9PzkN5Olq2bFn6pUipbRZt+5Rcc8016fLHjx9fle1D9+KXbvHqje5esU30pr3F7RwHM23bRvwiId6Xvru2Hrf7VlttVbWz0Wu1j62lWu23iqaS8dFV24+KWl/10m7Z9HrvKF6yu3Dhwqq17Ubcr+eF/qU49V6LZXZHn5sf+tsG7HNDDcyePTt9iu3111+fPlnztNNOC0OHDg3Lly9P3z/xxBPD9OnTW+efMWNG2HLLLdOn3r788svh7rvvDqNHj06foLuxyyxaec4777xw//33h1deeSU8/PDD4dBDDw3bbrtteOONN3JVlsceeyzccsstYenSpeGBBx4IkydPDrvuumv461//utHLLFp5arVtKl32WJampqZw2WWXhcWLF6fttF+/fmHhwoWt88yaNStdxh/+8Ifw7LPPhqOPPjqtn/fff791nqlTp4YJEyaExx9/PDz00EPhE5/4RJg2bVruyvPRRx+Fo446KowcOTI888wzoaWlpfX14YcfpvM88sgj6VOK4/uxTfznf/5n2G677cJXvvKV3JXnnXfeCd/85jfDo48+mrbNe++9N+yzzz5p/X/wwQeF2z4lq1atCoMGDQpXXXXVBn+zktuH8shqb8uWLQtjx45N3y8544wzws477xzmzZsXnnzyyXDAAQekr5I//vGP4Ve/+lXaVl588cVw5ZVXpm3kwgsvbIh9bC3Var9Vr3oaHy+99FKYOXNmGhexvmI72W233cJBBx1Uw1LkX6X6J8pb7xdddFG466670v78qaeeCscdd1wYOHBgWLRoUdWquhH363mhfylGvcdjpAULFqSv4cOHp314/DmOxzZ2mbWiz608/W1j9bk1SSZHl19+eXqw2L9//zBx4sQ0iVdy8MEHh5NOOqn1948//jj84Ac/SBOusYA77bRTOPPMM9sl+LKWWbTyfPnLX0530HF5I0aMSH+PBxF5K0tMqo4bNy5tuNtss03aSF9//fUeLbNo5anltqlk2aObbrop7L777un8e+65Z5gzZ06799evXx8uuOCCMGzYsLSOpkyZEpYsWdJunrfeeis9GN5iiy1Cc3NzOOWUU9KEQd7KEw/E4/dpnb3uu+++dJ64Y500aVIYMmRIGquxbfzoRz8qW5KjnOVZs2ZNOOyww9JkajyQ2WWXXcKpp566wcCtKNun5Oqrrw6bb755WLly5QbvVXr7sOmy2lspDksxF8UD7NgnbrXVVmmS+Itf/GL6JU/JHXfcEfbee+90mYMHDw7jx48Pv/zlL8O6desaYh9ba7XYb9WrnsbHa6+9liaOt95667R9jBkzJnzrW99Kv3Sj+v0T5a33c889t3XeuA884ogjwtNPP131am7E/Xpe6F/yX+9dHT/F+TZ2mbWiz60O/W3j9Ll94j+9OZUaAAAAAIDGUfV7JgMAAAAAUDySyQAAAAAAZJJMBgAAAAAgk2QyAAAAAACZJJMBAAAAAMgkmQwAAAAAQCbJZAAAAAAAMkkmAwAAAACQSTIZAAAAAIBMkskAAAAAAGSSTAYAAAAAIMny/wNkM3lK3GgKhgAAAABJRU5ErkJggg==", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -637,7 +637,7 @@ "\n", "#### Median value of each element of the matrix\n", "\n", - "Median values of each element of the adjacency matrix estimated on the data with missing values are as follows:" + "The following matrix shows the median of each adjacency matrix element across all bootstrap replicates. For each bootstrap replicate, its representative adjacency matrix is obtained by taking the median across its multiple imputations." ] }, { @@ -655,8 +655,8 @@ " [ 0.555, 0. , 0.381, 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0.918, 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. , 0. , 0. ],\n", - " [ 1.025, 0. , -0.147, 0. , 0. , 0. ],\n", - " [ 0.892, 0. , 0. , 0. , 0. , 0. ]])" + " [ 1.026, 0. , -0.148, 0. , 0. , 0. ],\n", + " [ 0.893, 0. , 0. , 0. , 0. , 0. ]])" ] }, "execution_count": 17, @@ -665,7 +665,130 @@ } ], "source": [ - "np.median(adj_matrices_list, axis=(0, 1))" + "adj_median_per_bootstrap = np.median(adj_matrices_list, axis=1)\n", + "adj_median_over_bootstrap = np.median(adj_median_per_bootstrap, axis=0)\n", + "\n", + "adj_median_over_bootstrap" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "7a7e3abe", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "x0\n", + "\n", + "x0\n", + "\n", + "\n", + "\n", + "x1\n", + "\n", + "x1\n", + "\n", + "\n", + "\n", + "x0->x1\n", + "\n", + "\n", + "0.56\n", + "\n", + "\n", + "\n", + "x4\n", + "\n", + "x4\n", + "\n", + "\n", + "\n", + "x0->x4\n", + "\n", + "\n", + "1.03\n", + "\n", + "\n", + "\n", + "x5\n", + "\n", + "x5\n", + "\n", + "\n", + "\n", + "x0->x5\n", + "\n", + "\n", + "0.89\n", + "\n", + "\n", + "\n", + "x2\n", + "\n", + "x2\n", + "\n", + "\n", + "\n", + "x2->x1\n", + "\n", + "\n", + "0.38\n", + "\n", + "\n", + "\n", + "x2->x4\n", + "\n", + "\n", + "-0.15\n", + "\n", + "\n", + "\n", + "x3\n", + "\n", + "x3\n", + "\n", + "\n", + "\n", + "x3->x0\n", + "\n", + "\n", + "0.88\n", + "\n", + "\n", + "\n", + "x3->x2\n", + "\n", + "\n", + "0.92\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "make_dot(adj_median_over_bootstrap)" ] }, { @@ -964,7 +1087,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "lingam_env (3.11.9)", "language": "python", "name": "python3" }, @@ -978,7 +1101,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.11.9" }, "widgets": { "application/vnd.jupyter.widget-state+json": { From a5e39b5fd30d8033b56bbab8a8f39e03b2b8e2d9 Mon Sep 17 00:00:00 2001 From: nishikawa-screen Date: Wed, 28 Jan 2026 14:35:44 +0900 Subject: [PATCH 3/4] Update tutorial --- docs/image/bootstrap_hists.png | Bin 0 -> 18037 bytes docs/tutorial/bootstrap.rst | 91 ++++++++++++++++++-- docs/tutorial/bootstrap_with_imputation.rst | 19 ++-- 3 files changed, 97 insertions(+), 13 deletions(-) create mode 100644 docs/image/bootstrap_hists.png diff --git a/docs/image/bootstrap_hists.png b/docs/image/bootstrap_hists.png new file mode 100644 index 0000000000000000000000000000000000000000..ea554400641eaa526ce5ac271869873fd76fdac0 GIT binary patch literal 18037 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, Y->X, and no directed edge between +X and Y - the resulting histograms are shown below. + +.. code-block:: python + + import matplotlib.ticker as ticker + + from_index, to_index = 0, 4 + + te_xy = result.total_effects_[:, to_index, from_index] + te_yx = result.total_effects_[:, from_index, to_index] + + both_zero_mask = (te_xy == 0.0) & (te_yx == 0.0) + te_zero = result.total_effects_[both_zero_mask, to_index, from_index] + + te_xy = te_xy[te_xy != 0.0] + te_yx = te_yx[te_yx != 0.0] + + bins_count = int(np.ceil(1 + np.log2(max(n_samples, 1)))) + + # calculate xmin, xmax + arr_list = [te_xy, te_yx, te_zero] + if any(a.size > 0 for a in arr_list): + vals = np.concatenate([a for a in arr_list if a.size > 0]) + else: + vals = np.array([0.0]) + + xmin, xmax = np.min(vals), np.max(vals) + if xmin == xmax: + eps = 1e-9 if xmin == 0 else abs(xmin) * 1e-3 + xmin, xmax = xmin - eps, xmax + eps + + bin_edges = np.linspace(xmin, xmax, bins_count + 1) + + # calculate ymax + counts_xy, _ = np.histogram(te_xy, bins=bin_edges) if te_xy.size > 0 else (np.zeros(bins_count, dtype=int), None) + counts_yx, _ = np.histogram(te_yx, bins=bin_edges) if te_yx.size > 0 else (np.zeros(bins_count, dtype=int), None) + counts_zz, _ = np.histogram(te_zero, bins=bin_edges) if te_zero.size > 0 else (np.zeros(bins_count, dtype=int), None) + + ymax = int(max(counts_xy.max(initial=0), counts_yx.max(initial=0), counts_zz.max(initial=0))) + ymax = max(ymax, 1) + # If you want to set ymax to the number of bootstrap iterations, uncomment next line. + # ymax = n_samples + + # display histograms + fig, axes = plt.subplots(1, 3, figsize=(15, 4), sharex=True, sharey=True) + labels = [f'x{i}' for i in range(X.shape[1])] + + axes[0].hist(te_xy, bins=bin_edges) + axes[0].set_title(f"{labels[from_index]} -> {labels[to_index]}") + axes[0].yaxis.set_major_locator(ticker.MaxNLocator(integer=True)) + axes[0].set_xlim(xmin, xmax) + axes[0].set_ylim(0, ymax) + + axes[1].hist(te_yx, bins=bin_edges) + axes[1].set_title(f"{labels[to_index]} -> {labels[from_index]}") + axes[1].yaxis.set_major_locator(ticker.MaxNLocator(integer=True)) + axes[1].set_xlim(xmin, xmax) + axes[1].set_ylim(0, ymax) + + axes[2].hist(te_zero, bins=bin_edges) + axes[2].set_title("No directed edge between " + labels[from_index] + " and " + labels[to_index]) + axes[2].yaxis.set_major_locator(ticker.MaxNLocator(integer=True)) + axes[2].set_xlim(xmin, xmax) + axes[2].set_ylim(0, ymax) + + plt.tight_layout() + plt.show() + + + +.. image:: ../image/bootstrap_hists.png + Bootstrap Probability of Path ----------------------------- @@ -830,7 +909,7 @@ variable X0 to variable X1. .. code-block:: python from_index = 3 # index of x3 - to_index = 1 # index of x0 + to_index = 1 # index of x1 pd.DataFrame(result.get_paths(from_index, to_index)) diff --git a/docs/tutorial/bootstrap_with_imputation.rst b/docs/tutorial/bootstrap_with_imputation.rst index 4df14f0..3a596fe 100644 --- a/docs/tutorial/bootstrap_with_imputation.rst +++ b/docs/tutorial/bootstrap_with_imputation.rst @@ -28,8 +28,8 @@ Import and settings .. parsed-literal:: - ['1.24.4', '1.8.3'] - + ['1.26.4', '1.12.1'] + Test data --------- @@ -311,12 +311,17 @@ results with no missing data. Median value of each element of the matrix ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Median values of each element of the adjacency matrix estimated on the -data with missing values are as follows: +The following matrix shows the median of each adjacency matrix element +across all bootstrap replicates. For each bootstrap replicate, its +representative adjacency matrix is obtained by taking the median across +its multiple imputations. .. code-block:: python - np.median(adj_matrices_list, axis=(0, 1)) + adj_median_per_bootstrap = np.median(adj_matrices_list, axis=1) + adj_median_over_bootstrap = np.median(adj_median_per_bootstrap, axis=0) + + adj_median_over_bootstrap @@ -327,8 +332,8 @@ data with missing values are as follows: [ 0.555, 0. , 0.381, 0. , 0. , 0. ], [ 0. , 0. , 0. , 0.918, 0. , 0. ], [ 0. , 0. , 0. , 0. , 0. , 0. ], - [ 1.025, 0. , -0.147, 0. , 0. , 0. ], - [ 0.892, 0. , 0. , 0. , 0. , 0. ]]) + [ 1.026, 0. , -0.148, 0. , 0. , 0. ], + [ 0.893, 0. , 0. , 0. , 0. , 0. ]]) From 0b33f49016be023d38982eb0ef559bf03d018044 Mon Sep 17 00:00:00 2001 From: nishikawa-screen Date: Wed, 28 Jan 2026 16:50:26 +0900 Subject: [PATCH 4/4] Update tutorial and example --- docs/image/bootstrap_hist.png | Bin 5971 -> 8965 bytes docs/image/bootstrap_hists.png | Bin 18037 -> 19104 bytes docs/tutorial/bootstrap.rst | 645 ++++++++++++++++++--------- examples/Bootstrap.ipynb | 792 ++++++++++++++++++++++----------- 4 files changed, 980 insertions(+), 457 deletions(-) diff --git a/docs/image/bootstrap_hist.png b/docs/image/bootstrap_hist.png index 921268850b3beb655832464504266603992330dd..c81c9617ce19d51b8ff7f6274417dd3cde9d2ce5 100644 GIT binary patch literal 8965 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 literal 5971 zcmbVQX;@R|y3HV+>KG7%#cs+%7G-ezW_YhUD)=jE#GYGZr0l^>S1I$l-EKL?|{U zH2BK?*np_$U~D+tz|6q-=>DLXn22a|L&LEDUSNQY3N+l4g6NjKWJkmqk7y7`R_XH( z49b4E7X;b^psY_{hn6*1cI(#tm$FghGlHWjK}U>U*IIX|?wbA9 zV!L%iDw)LYo!+h_Q+?$D9pFwGef_1(0PNen)8F`K+wXPHzPo*Q=I#aMw{)x0FR#|i z1>F5M+^+F)2`8=EUh#b~*SU7JxWt*aTJ2ha4CJlSc+M_?;%?+-W9XGD5Y%}O={=1g zRNoeSOSkyT>#aJnZ*bY|7+M3dG1$Ii=EYiZ!rG^bBGTY8&|GQVH<$lM~_;OdQv-)(1qn@{@Anl_CV z*zs*+aCxq)yQHV=52bxwZ;v4_ol;3~;@rV2DkWB@M!oC6?ipk! zh#Sbvwp}s!QsBE3a>H6{G^%fRZ5zLb&VzOpl2<_yAB+XAb*Ds!Be-K{@9CH@;E8{% zzh3|!P^^o*7aJ6jc4;`^)%;|)FzWl(0pm6w`Zu|~3?+u+t@8x_V#hLMq`7-2nmi%pfRQ9vNmtrWO zf_{M4hzLfv?1I^W>ulQRjG}8s!Pl?5GAWUs!YGf)&p4Mdlc{_0J-4a~9nV%&$FAA6 zw*VGIco9bOoh6?z#5z>kTXD;!ZaVc&ctB#}6USl=c|}DdqZiMXl5?1bxR);nMhs=6 z`uB_`Jn@+*(j7Q)tTOcVea<0;<&$b_x5&(QrHZ7^j?!QalY8>1lD(ybD=yRaA$G*+ z@@q+Z8FZ_X;TaIdg2pjmE0NcCMR-`NOQ(WIiSW@@`7`Mpw>rDcvS(I+n?NBCy^&4r z2<#~~N1b%ATl$KRKphcsm{gKxH8(N=R(SLxHyJC9B4WifI zxVre5ydGg9JkDO{Y5^Taf;@$aN%?v(LM{$g{{@^^=0(#94sUEGcU@yU14$a3T%+~N z$5L()W{d=nNbXW&DlnM<4s+4|zK+SWQU;P7k4J}>AMXwZmR)?*h&Kp+A)oY6C68~8 zB9aelXM$IuT0M09d@mZ$UZT$A5QO{odZio7;M&9_`j|TG2*C-$g77LXxyV>q9Z7hr z-)m{6#>+A{!S9()xN@91fSScIcZxe5PLmt-wUN*op}Avy#GnCedkl!4o@ zB`aUKHD9!WDD4u;^GV}QG5w-!*}}0o2RIFl8=cOF6m?S(sPovk>;Kk}{~yTxLPi{x zZ4gWh#a|9Ry-42LqN)sk9P8mET{I~j9YuKWcqpg7T|JwuXxF|g0?zmJwWx$4%;0wB zG?6X)3|nuoz{^O`H!^51H5y;^UOizdOn_X}aMMUz^;8$pN-x2Ve*tO&Wo}qK)ek z>i&ZEQPH@Y@Ip~$%k0E0;V0xJE>1!2Xins_1|~Y6R4<2+LmYtDF?z!%sU3DuKR~I! zHcMyOweH3>Z~2GYXuH=uty3X9DFbOuu;%kvY0GS~o@>Q0sH~H&M>Mo;KSGFPpJ3P1 z6RW23ZPEvxg{Q4}djz>@AlXFIkY}%1P4$;spqeYH(Li@T!OyoX( z16{p`4)fGHRKzUtOux`|v2L9wbMh|P4>Txta_uh~$iCEp!!Y@Pnn8eU6Fv; zv!SV}Iqxy)z@>IC7^YSU9J>-O-ac#EpAcEB?<7l+NVCb78FbUO{UcqyG?v@an2j7f z#0IfP2L;8G+Zv6`8}BbI-8_+L(L6PE+SZn8Jb~>;JJ0a>`#ZejywZ+v=kJu>@%bUr zq_r@?(BRek-~)rj(Z0UJsYe*mBl8*L9*`OVUV;h)O;V_{PB>Y<1?>1&3rYxZJW)#B-}gZo9Y(mIhL}(4*%Q?Pg7TcI_IR@8^4vzn_1DydIQd znW7V%8CyTB2WLSr7U#s4fLBpGL(-@HfOwM-iTKk0Onl7(*UoyXQ(KQweFN8!tqV5P zldIKv%Ral?eEQ1fY5gCiPNgI+kk_Zo{p`~@<*pLF z^#iz_Gq9yj)eYKVxM2xAPp4S*cG${IQZ8{7Y-cuDq*H8`J;uSS^R3azf!XUtcI{2X zBBJFRdTV$@D5~$Mv8qT5)N+hLncbnJL~ney|c(q$77MkH7{=Nv-tSMzGA#_ zEp4SMYO>T^ZHJgNq!OnWfi7Anug8o|SJ<|r*~@?r&f@il53a8}^thQD_SbL7sH)B~ zlwWSXXXq|x9Li*Q8>~8%{AR~;%sb~o*@lH)85KzNLs}Km3fo>huF^$S4-BC5qY1SO zO4{%KL}U+6<&$NuKA;vZEDbxP9z=y)XZ>Zz^C!&wSNaaNWVl(Mls@Srgs!=xC*aQ* z;eb4F8Mp=5kmCc#CA*C7A2^lh)JeY)_y7;%UqoyE4OU9n)PDDfJ~q<3mR{iTpn`!c z0<)n099#AQ_JjC+5@ob;#)y2rCj|gPpaU+@Dxyzn#nBel5BauUf1RnrIIlE?w?>EG zAt?iTL=17&te0mmCr=4&?8;aBg^20dg99H&47-vlxMdn5azn!g-pe{sy1v<}`uDo| zTPHoc5cHc%wivD}K$}$2R-ziP=W{{iCy@>rX}0YRKpNo|T);#3i+g*2%2sy7#>G_zCfSF$I(K1OkFGYCR9Eq3%E44f zuIa*-CjSEZj$OM4Fb-QPC7)o1%}BzYs#bo`^8uf|nwtLp{`S*C#})lz4~L@_%@-GQ zE);bWi2?9(W3#9lC+mwl${>zi^rd0}TyV2rSFs+N>Z&i)xHjo zE}+Z?12aa^>U(dJmVshG`I20 zu|Vhk!gjW(SZQ-gZW7!7chOvuSk3~Qt zFu9-4%4&a$)Pfk0NOlC-k{RpvOR%NP5(WcEBi;s504+4<>8~+H@-khNu=C&5?NKtK z6XU9Vg~WVoBOz74`O6Pu#W(V8twCaqwfiA`-;vh`4~L1Q_*p<}7agO5p}-=+{L5@9 z-=lChL#lbHEGT);kgPj6Q5S9){Gyv`&V-8P_R3HpD*l}7hro$ycQyt z*_mbtl7xnYJzlwCVURTgKABE?K5L#+B1ze@Tgb|?Y`i~OH2La6ATBspjUXiC5-Ok= zxZqVd#{GMYNC|jPRwc)OLCH{O;)1S1BdpLZV1#P@0qxkFhpMm?052tCT`4!wc6@@% zEodu6-tkVwL9(EAu3G1AK*i?TqIks+DTD=l@&OqODc{!8`fnP2f-rcDg)6I`(UjN4=_^6@@vbaHN%<-5G#-~v*&WI7I=|F z5)hk-;vdLq%az?dP+p-ji8tHp&(*axeY>%<`Dy&^5|6;9YJye(XVT1DXPKKyGV9y0 z-7xUXalTf<;eBEe><+$D1J1I0i1zU6C8Z}J%=LVt-$_|_ij=1; z1m{v&`OvK{(hw-|9&d}|xJyPM_ z^rYYg3wJdbcERN?c^zvMjra6PYifvD`zGi~Hz`h!atz^T7d8`8jAvW~p6XP)nJw;UXc1 zcgdFB^l5lB4lUY4@p-36V7aBWD#OyiMIiBEZDiGU%y-NYAgi?EdJo7)>e>taW^^tl zczo$LJ#pvSH#iV>c^MISY8g#r^ZUga{-EXR*JnaCYw${Nda57*7J^Y zA6epP7;`wAtt3xkrf2@aX8}EqBjN&Ai;cn2%Rd@QxUZ^&Kt_7TI+{ z5{TP~6`&&jQ6YSfb1u2zrjNSN#`+?pZ2r|-q`YuJyvY$DJ|FykV^kZ)u%7#J{V~-=t`vw7{*9|Vk6jou;ZuaKHOJIsJevJ z3=tk=SHqTs+;xW&?|&GyIX`m(Fo8uLpjh>bjNu89I)jUV{-Dg%UWycVhzp(l)hJS| z+$PV?Rl3B@zLE~iu6w}UlB+xtk+f_EM!?~%b#J&24IKtHiU6;mBtH$AMX;ztyG(Ep zz`bq!ni=JJ<63u!PrgcQMgc^BI82mYF#CU5k`H3&3s&na%kgN8WWWtV**IF4|HJp2 F{{k;Hun_Zs(hJxFVkKsDk^HZ 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 QqZgCAsQi28Z#VA#Kh`H0H~;_u literal 18037 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
0 - 2.239321 - 15.340724 - 4.104399 + 2.324257 + 15.088680 + 3.604677 0.548814 - 14.176947 - 9.249925 + 15.299760 + 9.698288
1 - 2.155632 - 16.630954 - 4.767220 + 2.415576 + 17.995735 + 4.987480 0.715189 - 12.775458 - 9.189045 + 14.710164 + 10.591596
2 - 2.284116 - 15.910406 - 4.139736 + 2.543484 + 15.952262 + 3.994332 0.602763 - 14.201794 - 9.273880 + 16.878512 + 10.273552
3 - 2.343420 - 14.921457 - 3.519820 + 2.596838 + 14.769421 + 3.448903 0.544883 - 15.580067 - 9.723392 + 18.076397 + 11.332654
4 - 1.314940 - 11.055176 - 3.146972 + 1.519718 + 10.099609 + 2.566608 0.423655 - 7.604743 - 5.312976 + 9.924640 + 6.948359
@@ -177,7 +178,7 @@ We call :func:`~lingam.DirectLiNGAM.bootstrap` method instead of :func:`~lingam. .. code-block:: python - n_samples = 100 + n_samples = 1000 model = lingam.DirectLiNGAM() result = model.bootstrap(X, n_sampling=n_samples) @@ -200,15 +201,15 @@ We can check the result by utility function. .. parsed-literal:: - x5 <--- x0 (b>0) (100.0%) - x1 <--- x0 (b>0) (100.0%) - x1 <--- x2 (b>0) (100.0%) - x4 <--- x2 (b<0) (100.0%) - x0 <--- x3 (b>0) (98.0%) - x4 <--- x0 (b>0) (98.0%) - x2 <--- x3 (b>0) (96.0%) - x3 <--- x2 (b>0) (4.0%) - + x4 <--- x2 (b<0) (87.9%) + x4 <--- x0 (b>0) (86.6%) + x1 <--- x2 (b>0) (77.5%) + x1 <--- x0 (b>0) (77.3%) + x2 <--- x3 (b>0) (76.1%) + x5 <--- x0 (b>0) (75.4%) + x0 <--- x3 (b>0) (45.4%) + x0 <--- x5 (b>0) (24.6%) + Directed Acyclic Graphs ----------------------- @@ -232,7 +233,7 @@ We can check the result by utility function. .. parsed-literal:: - DAG[0]: 84.0% + DAG[0]: 17.0% x0 <--- x3 (b>0) x1 <--- x0 (b>0) x1 <--- x2 (b>0) @@ -240,7 +241,7 @@ We can check the result by utility function. x4 <--- x0 (b>0) x4 <--- x2 (b<0) x5 <--- x0 (b>0) - DAG[1]: 3.0% + DAG[1]: 4.2% x0 <--- x3 (b>0) x1 <--- x0 (b>0) x1 <--- x2 (b>0) @@ -248,16 +249,15 @@ We can check the result by utility function. x4 <--- x0 (b>0) x4 <--- x2 (b<0) x5 <--- x0 (b>0) - DAG[2]: 2.0% - x0 <--- x3 (b>0) + DAG[2]: 3.9% x1 <--- x0 (b>0) x1 <--- x2 (b>0) - x1 <--- x3 (b<0) x2 <--- x3 (b>0) + x3 <--- x0 (b>0) x4 <--- x0 (b>0) x4 <--- x2 (b<0) x5 <--- x0 (b>0) - + Probability ----------- @@ -273,13 +273,13 @@ bootstrapping. .. parsed-literal:: - [[0. 0. 0.03 0.98 0.02 0. ] - [1. 0. 1. 0.02 0. 0.01] - [0.01 0. 0. 0.96 0. 0.01] - [0. 0. 0.04 0. 0. 0. ] - [0.98 0.01 1. 0.02 0. 0.02] - [1. 0. 0.02 0.02 0. 0. ]] - + [[0. 0.178 0.163 0.482 0.134 0.246] + [0.773 0. 0.775 0.202 0.069 0.064] + [0.2 0.225 0. 0.761 0.093 0.032] + [0.183 0.166 0.19 0. 0.031 0.084] + [0.866 0.074 0.88 0.121 0. 0.043] + [0.754 0.059 0.065 0.095 0.062 0. ]] + Total Causal Effects -------------------- @@ -356,150 +356,213 @@ below.
0 - x3 - x0 - 3.004106 - 1.00 + x2 + x4 + -0.986006 + 0.884
1 x0 - x1 - 2.963177 - 1.00 + x4 + 7.975821 + 0.866
2 - x2 - x1 - 2.017539 - 1.00 + x3 + x4 + 17.169757 + 0.858
3 x3 x1 - 20.928254 - 1.00 + 20.553538 + 0.794
4 x0 - x5 - 3.997787 - 1.00 + x1 + 3.020369 + 0.793
5 x3 - x4 - 18.077943 - 1.00 + x2 + 5.968590 + 0.788
6 - x3 - x5 - 12.012988 - 1.00 + x2 + x1 + 1.992771 + 0.775
7 - x2 - x4 - -1.006362 - 1.00 + x0 + x5 + 3.984278 + 0.754
8 - x0 - x4 - 8.011818 - 0.98 + x3 + x5 + 11.686617 + 0.657
9 x3 - x2 - 5.964879 - 0.96 + x0 + 2.920996 + 0.653
10 + x0 x2 - x5 - 0.396327 - 0.09 + 1.679845 + 0.343
11 x2 - x0 - 0.487915 - 0.07 + x5 + 0.155444 + 0.282
12 - x2 - x3 - 0.164565 - 0.04 + x5 + x4 + 1.550997 + 0.266
13 - x5 - x4 - 0.087437 - 0.03 + x0 + x3 + 0.305366 + 0.260
14 - x4 x5 - 0.496445 - 0.02 + x1 + 0.939446 + 0.259
15 x5 - x1 - -0.064703 - 0.02 + x0 + 0.249365 + 0.246
16 - x4 x1 - 0.367100 - 0.02 + x4 + 0.863039 + 0.245
17 - x4 + x2 x0 - 0.124114 - 0.02 + 0.120842 + 0.244
18 - x0 + x1 x2 - 0.056261 - 0.01 + 0.285349 + 0.225
19 x1 - x4 - -0.097108 - 0.01 + x5 + 0.576121 + 0.199
20 + x1 + x0 + 0.144407 + 0.197 +
+
+ 21 x5 x2 - -0.111894 - 0.01 + 0.451434 + 0.196 +
+
+ 22 + x1 + x3 + 0.046961 + 0.194 +
+
+ 23 + x2 + x3 + 0.133917 + 0.191 +
+
+ 24 + x5 + x3 + 0.076654 + 0.168 +
+
+ 25 + x4 + x1 + 0.362045 + 0.144 +
+
+ 26 + x4 + x5 + 0.478376 + 0.143 +
+
+ 27 + x4 + x0 + 0.123534 + 0.134 +
+
+ 28 + x4 + x2 + -0.139721 + 0.097 +
+
+ 29 + x4 + x3 + -0.006454 + 0.043
@@ -570,36 +633,36 @@ We can easily perform sorting operations with pandas.DataFrame. 3 x3 x1 - 20.928254 - 1.00 + 20.553538 + 0.794
- 5 + 2 x3 x4 - 18.077943 - 1.00 + 17.169757 + 0.858
- 6 + 8 x3 x5 - 12.012988 - 1.00 + 11.686617 + 0.657
- 8 + 1 x0 x4 - 8.011818 - 0.98 + 7.975821 + 0.866
- 9 + 5 x3 x2 - 5.964879 - 0.96 + 5.968590 + 0.788
@@ -665,39 +728,39 @@ We can easily perform sorting operations with pandas.DataFrame.
- 20 - x5 - x2 - -0.111894 - 0.01 + 29 + x4 + x3 + -0.006454 + 0.043
- 18 - x0 + 28 + x4 x2 - 0.056261 - 0.01 + -0.139721 + 0.097
- 19 - x1 + 27 x4 - -0.097108 - 0.01 + x0 + 0.123534 + 0.134
- 17 + 26 x4 - x0 - 0.124114 - 0.02 + x5 + 0.478376 + 0.143
- 16 + 25 x4 x1 - 0.367100 - 0.02 + 0.362045 + 0.144
@@ -766,39 +829,39 @@ following code extracts the causal direction towards x1.
- 1 - x0 + 3 + x3 x1 - 2.963177 - 1.00 + 20.553538 + 0.794
- 2 - x2 + 4 + x0 x1 - 2.017539 - 1.00 + 3.020369 + 0.793
- 3 - x3 + 6 + x2 x1 - 20.928254 - 1.00 + 1.992771 + 0.775
- 15 + 14 x5 x1 - -0.064703 - 0.02 + 0.939446 + 0.259
- 16 + 25 x4 x1 - 0.367100 - 0.02 + 0.362045 + 0.144
@@ -831,7 +894,7 @@ X and Y - the resulting histograms are shown below. import matplotlib.ticker as ticker - from_index, to_index = 0, 4 + from_index, to_index = 2, 4 te_xy = result.total_effects_[:, to_index, from_index] te_yx = result.total_effects_[:, from_index, to_index] @@ -893,8 +956,6 @@ X and Y - the resulting histograms are shown below. plt.tight_layout() plt.show() - - .. image:: ../image/bootstrap_hists.png Bootstrap Probability of Path @@ -967,57 +1028,237 @@ variable X0 to variable X1.
0 - [3, 0, 1] - 8.893562 - 0.98 + [3, 2, 1] + 11.914854 + 0.660
1 - [3, 2, 1] - 12.030408 - 0.96 + [3, 0, 1] + 8.756234 + 0.443
2 - [3, 2, 0, 1] - 2.239175 - 0.03 + [3, 1] + 2.105700 + 0.202
3 - [3, 1] - -0.639462 - 0.02 + [3, 2, 0, 1] + 1.635862 + 0.094
4 - [3, 2, 4, 0, 1] - -3.194541 - 0.02 + [3, 5, 0, 1] + 8.670284 + 0.060
5 [3, 4, 0, 1] - 9.820705 - 0.02 + 6.979752 + 0.054
6 - [3, 0, 2, 1] - 3.061033 - 0.01 + [3, 2, 4, 1] + -1.146483 + 0.038
7 - [3, 0, 5, 1] - 1.176834 - 0.01 + [3, 0, 4, 1] + 4.459602 + 0.028
8 + [3, 0, 5, 1] + 2.864025 + 0.026 +
+
+ 9 + [3, 2, 4, 0, 1] + -4.602396 + 0.024 +
+
+ 10 + [3, 0, 2, 1] + -1.512156 + 0.022 +
+
+ 11 + [3, 4, 1] + 4.954881 + 0.019 +
+
+ 12 + [3, 2, 5, 0, 1] + 0.374461 + 0.009 +
+
+ 13 + [3, 2, 0, 5, 1] + 0.583856 + 0.008 +
+
+ 14 + [3, 5, 4, 0, 1] + 6.941594 + 0.007 +
+
+ 15 + [3, 4, 5, 0, 1] + 2.145360 + 0.007 +
+
+ 16 + [3, 4, 2, 1] + -1.080988 + 0.007 +
+
+ 17 + [3, 5, 1] + 3.272935 + 0.006 +
+
+ 18 + [3, 4, 0, 5, 1] + 2.697207 + 0.005 +
+
+ 19 + [3, 4, 2, 0, 1] + -0.219167 + 0.005 +
+
+ 20 [3, 0, 5, 2, 1] - -2.719517 - 0.01 + 5.181321 + 0.004 +
+
+ 21 + [3, 5, 0, 4, 1] + 5.442240 + 0.004 +
+
+ 22 + [3, 5, 2, 1] + 1.537410 + 0.003 +
+
+ 23 + [3, 4, 5, 1] + 4.166390 + 0.003 +
+
+ 24 + [3, 0, 5, 4, 1] + -0.522766 + 0.003 +
+
+ 25 + [3, 2, 4, 5, 0, 1] + -1.083415 + 0.003 +
+
+ 26 + [3, 5, 4, 1] + -7.351469 + 0.002 +
+
+ 27 + [3, 2, 4, 5, 1] + 0.203801 + 0.002 +
+
+ 28 + [3, 2, 4, 0, 5, 1] + -1.303056 + 0.002 +
+
+ 29 + [3, 5, 2, 0, 1] + -0.006054 + 0.002 +
+
+ 30 + [3, 5, 4, 2, 1] + -15.137090 + 0.002 +
+
+ 31 + [3, 4, 0, 2, 1] + -3.885974 + 0.001 +
+
+ 32 + [3, 2, 5, 4, 1] + -0.035426 + 0.001 +
+
+ 33 + [3, 5, 0, 2, 1] + 7.112032 + 0.001 +
+
+ 34 + [3, 2, 0, 4, 1] + -3.206907 + 0.001 +
+
+ 35 + [3, 5, 2, 4, 0, 1] + 0.351331 + 0.001 +
+
+ 36 + [3, 0, 4, 5, 1] + -0.695107 + 0.001 +
+
+ 37 + [3, 5, 4, 0, 2, 1] + 14.386599 + 0.001 +
+
+ 38 + [3, 4, 2, 0, 5, 1] + -0.072976 + 0.001
diff --git a/examples/Bootstrap.ipynb b/examples/Bootstrap.ipynb index cbd69f4..e5be0ab 100644 --- a/examples/Bootstrap.ipynb +++ b/examples/Bootstrap.ipynb @@ -99,60 +99,60 @@ " \n", "
\n", " 0\n", - " 2.239321\n", - " 15.340724\n", - " 4.104399\n", + " 2.324257\n", + " 15.088680\n", + " 3.604677\n", " 0.548814\n", - " 14.176947\n", - " 9.249925\n", + " 15.299760\n", + " 9.698288\n", "
\n", "
\n", " 1\n", - " 2.155632\n", - " 16.630954\n", - " 4.767220\n", + " 2.415576\n", + " 17.995735\n", + " 4.987480\n", " 0.715189\n", - " 12.775458\n", - " 9.189045\n", + " 14.710164\n", + " 10.591596\n", "
\n", "
\n", " 2\n", - " 2.284116\n", - " 15.910406\n", - " 4.139736\n", + " 2.543484\n", + " 15.952262\n", + " 3.994332\n", " 0.602763\n", - " 14.201794\n", - " 9.273880\n", + " 16.878512\n", + " 10.273552\n", "
\n", "
\n", " 3\n", - " 2.343420\n", - " 14.921457\n", - " 3.519820\n", + " 2.596838\n", + " 14.769421\n", + " 3.448903\n", " 0.544883\n", - " 15.580067\n", - " 9.723392\n", + " 18.076397\n", + " 11.332654\n", "
\n", "
\n", " 4\n", - " 1.314940\n", - " 11.055176\n", - " 3.146972\n", + " 1.519718\n", + " 10.099609\n", + " 2.566608\n", " 0.423655\n", - " 7.604743\n", - " 5.312976\n", + " 9.924640\n", + " 6.948359\n", "
\n", "
\n", "\n", "" ], "text/plain": [ - " x0 x1 x2 x3 x4 x5\n", - "0 2.239321 15.340724 4.104399 0.548814 14.176947 9.249925\n", - "1 2.155632 16.630954 4.767220 0.715189 12.775458 9.189045\n", - "2 2.284116 15.910406 4.139736 0.602763 14.201794 9.273880\n", - "3 2.343420 14.921457 3.519820 0.544883 15.580067 9.723392\n", - "4 1.314940 11.055176 3.146972 0.423655 7.604743 5.312976" + " x0 x1 x2 x3 x4 x5\n", + "0 2.324257 15.088680 3.604677 0.548814 15.299760 9.698288\n", + "1 2.415576 17.995735 4.987480 0.715189 14.710164 10.591596\n", + "2 2.543484 15.952262 3.994332 0.602763 16.878512 10.273552\n", + "3 2.596838 14.769421 3.448903 0.544883 18.076397 11.332654\n", + "4 1.519718 10.099609 2.566608 0.423655 9.924640 6.948359" ] }, "execution_count": 2, @@ -161,12 +161,13 @@ } ], "source": [ - "x3 = np.random.uniform(size=1000)\n", - "x0 = 3.0*x3 + np.random.uniform(size=1000)\n", - "x2 = 6.0*x3 + np.random.uniform(size=1000)\n", - "x1 = 3.0*x0 + 2.0*x2 + np.random.uniform(size=1000)\n", - "x5 = 4.0*x0 + np.random.uniform(size=1000)\n", - "x4 = 8.0*x0 - 1.0*x2 + np.random.uniform(size=1000)\n", + "_size = 100\n", + "x3 = np.random.uniform(size=_size)\n", + "x0 = 3.0*x3 + np.random.uniform(size=_size)\n", + "x2 = 6.0*x3 + np.random.uniform(size=_size)\n", + "x1 = 3.0*x0 + 2.0*x2 + np.random.uniform(size=_size)\n", + "x5 = 4.0*x0 + np.random.uniform(size=_size)\n", + "x4 = 8.0*x0 - 1.0*x2 + np.random.uniform(size=_size)\n", "X = pd.DataFrame(np.array([x0, x1, x2, x3, x4, x5]).T ,columns=['x0', 'x1', 'x2', 'x3', 'x4', 'x5'])\n", "X.head()" ] @@ -283,7 +284,7 @@ "
\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -321,7 +322,7 @@ }, "outputs": [], "source": [ - "n_samples = 100\n", + "n_samples = 1000\n", "\n", "model = lingam.DirectLiNGAM()\n", "result = model.bootstrap(X, n_sampling=n_samples)" @@ -370,14 +371,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "x5 <--- x0 (b>0) (100.0%)\n", - "x1 <--- x0 (b>0) (100.0%)\n", - "x1 <--- x2 (b>0) (100.0%)\n", - "x4 <--- x2 (b<0) (100.0%)\n", - "x0 <--- x3 (b>0) (98.0%)\n", - "x4 <--- x0 (b>0) (98.0%)\n", - "x2 <--- x3 (b>0) (96.0%)\n", - "x3 <--- x2 (b>0) (4.0%)\n" + "x4 <--- x2 (b<0) (87.9%)\n", + "x4 <--- x0 (b>0) (86.6%)\n", + "x1 <--- x2 (b>0) (77.5%)\n", + "x1 <--- x0 (b>0) (77.3%)\n", + "x2 <--- x3 (b>0) (76.1%)\n", + "x5 <--- x0 (b>0) (75.4%)\n", + "x0 <--- x3 (b>0) (45.4%)\n", + "x0 <--- x5 (b>0) (24.6%)\n" ] } ], @@ -428,7 +429,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "DAG[0]: 84.0%\n", + "DAG[0]: 17.0%\n", "\tx0 <--- x3 (b>0)\n", "\tx1 <--- x0 (b>0)\n", "\tx1 <--- x2 (b>0)\n", @@ -436,7 +437,7 @@ "\tx4 <--- x0 (b>0)\n", "\tx4 <--- x2 (b<0)\n", "\tx5 <--- x0 (b>0)\n", - "DAG[1]: 3.0%\n", + "DAG[1]: 4.2%\n", "\tx0 <--- x3 (b>0)\n", "\tx1 <--- x0 (b>0)\n", "\tx1 <--- x2 (b>0)\n", @@ -444,12 +445,11 @@ "\tx4 <--- x0 (b>0)\n", "\tx4 <--- x2 (b<0)\n", "\tx5 <--- x0 (b>0)\n", - "DAG[2]: 2.0%\n", - "\tx0 <--- x3 (b>0)\n", + "DAG[2]: 3.9%\n", "\tx1 <--- x0 (b>0)\n", "\tx1 <--- x2 (b>0)\n", - "\tx1 <--- x3 (b<0)\n", "\tx2 <--- x3 (b>0)\n", + "\tx3 <--- x0 (b>0)\n", "\tx4 <--- x0 (b>0)\n", "\tx4 <--- x2 (b<0)\n", "\tx5 <--- x0 (b>0)\n" @@ -482,12 +482,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[0. 0. 0.03 0.98 0.02 0. ]\n", - " [1. 0. 1. 0.02 0. 0.01]\n", - " [0.01 0. 0. 0.96 0. 0.01]\n", - " [0. 0. 0.04 0. 0. 0. ]\n", - " [0.98 0.01 1. 0.02 0. 0.02]\n", - " [1. 0. 0.02 0.02 0. 0. ]]\n" + "[[0. 0.178 0.163 0.482 0.134 0.246]\n", + " [0.773 0. 0.775 0.202 0.069 0.064]\n", + " [0.2 0.225 0. 0.761 0.093 0.032]\n", + " [0.183 0.166 0.19 0. 0.031 0.084]\n", + " [0.866 0.074 0.88 0.121 0. 0.043]\n", + " [0.754 0.059 0.065 0.095 0.062 0. ]]\n" ] } ], @@ -545,150 +545,213 @@ " \n", "
\n", " 0\n", - " x3\n", - " x0\n", - " 3.004106\n", - " 1.00\n", + " x2\n", + " x4\n", + " -0.986006\n", + " 0.884\n", "
\n", "
\n", " 1\n", " x0\n", - " x1\n", - " 2.963177\n", - " 1.00\n", + " x4\n", + " 7.975821\n", + " 0.866\n", "
\n", "
\n", " 2\n", - " x2\n", - " x1\n", - " 2.017539\n", - " 1.00\n", + " x3\n", + " x4\n", + " 17.169757\n", + " 0.858\n", "
\n", "
\n", " 3\n", " x3\n", " x1\n", - " 20.928254\n", - " 1.00\n", + " 20.553538\n", + " 0.794\n", "
\n", "
\n", " 4\n", " x0\n", - " x5\n", - " 3.997787\n", - " 1.00\n", + " x1\n", + " 3.020369\n", + " 0.793\n", "
\n", "
\n", " 5\n", " x3\n", - " x4\n", - " 18.077943\n", - " 1.00\n", + " x2\n", + " 5.968590\n", + " 0.788\n", "
\n", "
\n", " 6\n", - " x3\n", - " x5\n", - " 12.012988\n", - " 1.00\n", + " x2\n", + " x1\n", + " 1.992771\n", + " 0.775\n", "
\n", "
\n", " 7\n", - " x2\n", - " x4\n", - " -1.006362\n", - " 1.00\n", + " x0\n", + " x5\n", + " 3.984278\n", + " 0.754\n", "
\n", "
\n", " 8\n", - " x0\n", - " x4\n", - " 8.011818\n", - " 0.98\n", + " x3\n", + " x5\n", + " 11.686617\n", + " 0.657\n", "
\n", "
\n", " 9\n", " x3\n", - " x2\n", - " 5.964879\n", - " 0.96\n", + " x0\n", + " 2.920996\n", + " 0.653\n", "
\n", "
\n", " 10\n", + " x0\n", " x2\n", - " x5\n", - " 0.396327\n", - " 0.09\n", + " 1.679845\n", + " 0.343\n", "
\n", "
\n", " 11\n", " x2\n", - " x0\n", - " 0.487915\n", - " 0.07\n", + " x5\n", + " 0.155444\n", + " 0.282\n", "
\n", "
\n", " 12\n", - " x2\n", - " x3\n", - " 0.164565\n", - " 0.04\n", + " x5\n", + " x4\n", + " 1.550997\n", + " 0.266\n", "
\n", "
\n", " 13\n", - " x5\n", - " x4\n", - " 0.087437\n", - " 0.03\n", + " x0\n", + " x3\n", + " 0.305366\n", + " 0.260\n", "
\n", "
\n", " 14\n", - " x4\n", " x5\n", - " 0.496445\n", - " 0.02\n", + " x1\n", + " 0.939446\n", + " 0.259\n", "
\n", "
\n", " 15\n", " x5\n", - " x1\n", - " -0.064703\n", - " 0.02\n", + " x0\n", + " 0.249365\n", + " 0.246\n", "
\n", "
\n", " 16\n", - " x4\n", " x1\n", - " 0.367100\n", - " 0.02\n", + " x4\n", + " 0.863039\n", + " 0.245\n", "
\n", "
\n", " 17\n", - " x4\n", + " x2\n", " x0\n", - " 0.124114\n", - " 0.02\n", + " 0.120842\n", + " 0.244\n", "
\n", "
\n", " 18\n", - " x0\n", + " x1\n", " x2\n", - " 0.056261\n", - " 0.01\n", + " 0.285349\n", + " 0.225\n", "
\n", "
\n", " 19\n", " x1\n", - " x4\n", - " -0.097108\n", - " 0.01\n", + " x5\n", + " 0.576121\n", + " 0.199\n", "
\n", "
\n", " 20\n", + " x1\n", + " x0\n", + " 0.144407\n", + " 0.197\n", + "
\n", + "
\n", + " 21\n", " x5\n", " x2\n", - " -0.111894\n", - " 0.01\n", + " 0.451434\n", + " 0.196\n", + "
\n", + "
\n", + " 22\n", + " x1\n", + " x3\n", + " 0.046961\n", + " 0.194\n", + "
\n", + "
\n", + " 23\n", + " x2\n", + " x3\n", + " 0.133917\n", + " 0.191\n", + "
\n", + "
\n", + " 24\n", + " x5\n", + " x3\n", + " 0.076654\n", + " 0.168\n", + "
\n", + "
\n", + " 25\n", + " x4\n", + " x1\n", + " 0.362045\n", + " 0.144\n", + "
\n", + "
\n", + " 26\n", + " x4\n", + " x5\n", + " 0.478376\n", + " 0.143\n", + "
\n", + "
\n", + " 27\n", + " x4\n", + " x0\n", + " 0.123534\n", + " 0.134\n", + "
\n", + "
\n", + " 28\n", + " x4\n", + " x2\n", + " -0.139721\n", + " 0.097\n", + "
\n", + "
\n", + " 29\n", + " x4\n", + " x3\n", + " -0.006454\n", + " 0.043\n", "
\n", "
\n", "\n", @@ -696,27 +759,36 @@ ], "text/plain": [ " from to effect probability\n", - "0 x3 x0 3.004106 1.00\n", - "1 x0 x1 2.963177 1.00\n", - "2 x2 x1 2.017539 1.00\n", - "3 x3 x1 20.928254 1.00\n", - "4 x0 x5 3.997787 1.00\n", - "5 x3 x4 18.077943 1.00\n", - "6 x3 x5 12.012988 1.00\n", - "7 x2 x4 -1.006362 1.00\n", - "8 x0 x4 8.011818 0.98\n", - "9 x3 x2 5.964879 0.96\n", - "10 x2 x5 0.396327 0.09\n", - "11 x2 x0 0.487915 0.07\n", - "12 x2 x3 0.164565 0.04\n", - "13 x5 x4 0.087437 0.03\n", - "14 x4 x5 0.496445 0.02\n", - "15 x5 x1 -0.064703 0.02\n", - "16 x4 x1 0.367100 0.02\n", - "17 x4 x0 0.124114 0.02\n", - "18 x0 x2 0.056261 0.01\n", - "19 x1 x4 -0.097108 0.01\n", - "20 x5 x2 -0.111894 0.01" + "0 x2 x4 -0.986006 0.884\n", + "1 x0 x4 7.975821 0.866\n", + "2 x3 x4 17.169757 0.858\n", + "3 x3 x1 20.553538 0.794\n", + "4 x0 x1 3.020369 0.793\n", + "5 x3 x2 5.968590 0.788\n", + "6 x2 x1 1.992771 0.775\n", + "7 x0 x5 3.984278 0.754\n", + "8 x3 x5 11.686617 0.657\n", + "9 x3 x0 2.920996 0.653\n", + "10 x0 x2 1.679845 0.343\n", + "11 x2 x5 0.155444 0.282\n", + "12 x5 x4 1.550997 0.266\n", + "13 x0 x3 0.305366 0.260\n", + "14 x5 x1 0.939446 0.259\n", + "15 x5 x0 0.249365 0.246\n", + "16 x1 x4 0.863039 0.245\n", + "17 x2 x0 0.120842 0.244\n", + "18 x1 x2 0.285349 0.225\n", + "19 x1 x5 0.576121 0.199\n", + "20 x1 x0 0.144407 0.197\n", + "21 x5 x2 0.451434 0.196\n", + "22 x1 x3 0.046961 0.194\n", + "23 x2 x3 0.133917 0.191\n", + "24 x5 x3 0.076654 0.168\n", + "25 x4 x1 0.362045 0.144\n", + "26 x4 x5 0.478376 0.143\n", + "27 x4 x0 0.123534 0.134\n", + "28 x4 x2 -0.139721 0.097\n", + "29 x4 x3 -0.006454 0.043" ] }, "execution_count": 10, @@ -784,36 +856,36 @@ " 3\n", " x3\n", " x1\n", - " 20.928254\n", - " 1.00\n", + " 20.553538\n", + " 0.794\n", " \n", "
\n", - " 5\n", + " 2\n", " x3\n", " x4\n", - " 18.077943\n", - " 1.00\n", + " 17.169757\n", + " 0.858\n", "
\n", "
\n", - " 6\n", + " 8\n", " x3\n", " x5\n", - " 12.012988\n", - " 1.00\n", + " 11.686617\n", + " 0.657\n", "
\n", "
\n", - " 8\n", + " 1\n", " x0\n", " x4\n", - " 8.011818\n", - " 0.98\n", + " 7.975821\n", + " 0.866\n", "
\n", "
\n", - " 9\n", + " 5\n", " x3\n", " x2\n", - " 5.964879\n", - " 0.96\n", + " 5.968590\n", + " 0.788\n", "
\n", " \n", "\n", @@ -821,11 +893,11 @@ ], "text/plain": [ " from to effect probability\n", - "3 x3 x1 20.928254 1.00\n", - "5 x3 x4 18.077943 1.00\n", - "6 x3 x5 12.012988 1.00\n", - "8 x0 x4 8.011818 0.98\n", - "9 x3 x2 5.964879 0.96" + "3 x3 x1 20.553538 0.794\n", + "2 x3 x4 17.169757 0.858\n", + "8 x3 x5 11.686617 0.657\n", + "1 x0 x4 7.975821 0.866\n", + "5 x3 x2 5.968590 0.788" ] }, "execution_count": 11, @@ -876,39 +948,39 @@ " \n", " \n", "
\n", - " 20\n", - " x5\n", - " x2\n", - " -0.111894\n", - " 0.01\n", + " 29\n", + " x4\n", + " x3\n", + " -0.006454\n", + " 0.043\n", "
\n", "
\n", - " 18\n", - " x0\n", + " 28\n", + " x4\n", " x2\n", - " 0.056261\n", - " 0.01\n", + " -0.139721\n", + " 0.097\n", "
\n", "
\n", - " 19\n", - " x1\n", + " 27\n", " x4\n", - " -0.097108\n", - " 0.01\n", + " x0\n", + " 0.123534\n", + " 0.134\n", "
\n", "
\n", - " 17\n", + " 26\n", " x4\n", - " x0\n", - " 0.124114\n", - " 0.02\n", + " x5\n", + " 0.478376\n", + " 0.143\n", "
\n", "
\n", - " 16\n", + " 25\n", " x4\n", " x1\n", - " 0.367100\n", - " 0.02\n", + " 0.362045\n", + " 0.144\n", "
\n", "
\n", "\n", @@ -916,11 +988,11 @@ ], "text/plain": [ " from to effect probability\n", - "20 x5 x2 -0.111894 0.01\n", - "18 x0 x2 0.056261 0.01\n", - "19 x1 x4 -0.097108 0.01\n", - "17 x4 x0 0.124114 0.02\n", - "16 x4 x1 0.367100 0.02" + "29 x4 x3 -0.006454 0.043\n", + "28 x4 x2 -0.139721 0.097\n", + "27 x4 x0 0.123534 0.134\n", + "26 x4 x5 0.478376 0.143\n", + "25 x4 x1 0.362045 0.144" ] }, "execution_count": 12, @@ -978,39 +1050,39 @@ " \n", " \n", "
\n", - " 1\n", - " x0\n", + " 3\n", + " x3\n", " x1\n", - " 2.963177\n", - " 1.00\n", + " 20.553538\n", + " 0.794\n", "
\n", "
\n", - " 2\n", - " x2\n", + " 4\n", + " x0\n", " x1\n", - " 2.017539\n", - " 1.00\n", + " 3.020369\n", + " 0.793\n", "
\n", "
\n", - " 3\n", - " x3\n", + " 6\n", + " x2\n", " x1\n", - " 20.928254\n", - " 1.00\n", + " 1.992771\n", + " 0.775\n", "
\n", "
\n", - " 15\n", + " 14\n", " x5\n", " x1\n", - " -0.064703\n", - " 0.02\n", + " 0.939446\n", + " 0.259\n", "
\n", "
\n", - " 16\n", + " 25\n", " x4\n", " x1\n", - " 0.367100\n", - " 0.02\n", + " 0.362045\n", + " 0.144\n", "
\n", "
\n", "\n", @@ -1018,11 +1090,11 @@ ], "text/plain": [ " from to effect probability\n", - "1 x0 x1 2.963177 1.00\n", - "2 x2 x1 2.017539 1.00\n", - "3 x3 x1 20.928254 1.00\n", - "15 x5 x1 -0.064703 0.02\n", - "16 x4 x1 0.367100 0.02" + "3 x3 x1 20.553538 0.794\n", + "4 x0 x1 3.020369 0.793\n", + "6 x2 x1 1.992771 0.775\n", + "14 x5 x1 0.939446 0.259\n", + "25 x4 x1 0.362045 0.144" ] }, "execution_count": 13, @@ -1054,9 +1126,9 @@ { "data": { "text/plain": [ - "(array([ 1., 8., 10., 17., 19., 20., 13., 9., 1., 2.]),\n", - " array([2.936, 2.951, 2.965, 2.98 , 2.994, 3.008, 3.023, 3.037, 3.051,\n", - " 3.066, 3.08 ]),\n", + "(array([ 26., 18., 348., 13., 0., 4., 570., 7., 12., 2.]),\n", + " array([-2.185, -1.413, -0.641, 0.131, 0.904, 1.676, 2.448, 3.22 ,\n", + " 3.993, 4.765, 5.537]),\n", " )" ] }, @@ -1066,7 +1138,7 @@ }, { "data": { - "image/png": "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mmucBQsWmOebOHGiU7duXfN3uNdd9/HGjRs7y5cvN/vJO++8Y94DH3zwgRPO9c5t7Nixpp0bNmyYE4r8XXdtLxo0aOA8++yzzvbt252///3vznXXXefMmjXLccN7vU6dOs7bb7/t/Pvf/zZtvbbx2ib6E+HlAvRDRt90a9euzVmWnZ3ttGvXzpk6dWq+9Z9//nmndevWTkZGRs6yDz/80HywnTp1ymfdF1980enVq1fIhhd/110fqzu6fnDldt999zkzZsxwwn2733rrrc6ECRNy7j9+/Lj5Pz777DMnlBw9etQZPHiwCWFeGzZsMGXVBi4vDZ56X+4gogGtVq1azr59+3K28WOPPZav0dTGPdzr3rJlSxNgchs+fLhzzz33OOFcb6+vv/7a+eMf/+j8+c9/DsnwEoi6az31A17bDK9XXnnF6d+/vxPudX/++eedLl26+Dyuc+fOJsD6E4eNLiApKUlmzZplDnF4RUREmIv+YnZe+gvZuq7+SKVXnTp1zO88/fzzzznL1qxZI3/9619l4sSJ4pa66yGyPXv2mO7j3N5880158MEHJdy3e/ny5eX//u//zG986W+A6fbX9fXX2ENJ2bJl5cUXX5SaNWua2/pjqvPnzzc/sFq9evV86+uhtAoVKki1atVylml3sr5Wqamppqt83bp10rx5c5/HNWvWzLwPwr3ukyZNki5duvg8LjIyssD9KFzq7aXPo79VN3bsWPOeCkWBqPu3335rDpvoMq+BAwfKG2+8IeFe9/Lly8uWLVtk1apV2jkiKSkp5jCUHj4L2V+VDkcJCQnmeGVun332mfmwevrpp/Otn5ycLJs2bfJZph/Y3mOLShutoUOHyjPPPCOVK1cWt9Td21jrr4f37dtXfv31V/ODnQ899JC0adNGwn27jxgxQh577DHz46RRUVHmA+zVV1+Vyy+/XELVs88+K++++64JWdrwxsXF5VsnLS0t336s6ycmJsrevXvNdtdtrg1i3tds3759Es51122cN7T9/vvvZkzAXXfdJeFaby/d53WMl76/582bJ6HOH3U/ceKEHDhwQOLj401b8fXXX5v2RMd5abun7/1w3u49e/Y043169+5t6qpf1Pr37y+33nqrX8tLz0sh6TdI/SbRoUMHad26db77b7vtNrPhdICeDlLbtWuXTJ061STTs2fPmnVGjRplBkbl7YEI97rrm1oNGzbMfCuZO3eu3HDDDfLwww+H7OBNf273rVu3mgbttddeM70u+svqTzzxhGzYsEFClTZA77//vtlejzzyiKxfvz7fOjpYL3ePk5f+MnxGRobpfVJ51/HeH851z+vgwYPywAMPmG+nGtrDud7vvPOO+cat7xtb+KPu3nZOe9z+67/+S2bPni3333+/zJw503xZCVW9/bTdNcTooF492UGfTwdpa3B97733/FpewkshrFixQu677z5zxsCUKVMKXEdHYD///PNmR9WR1nfeeaf06tXL3KcfXDrqWrveRo4cKW6re4kSJczf+u1Du9Gvvvpqefzxx83ZPKH8rcwfddc3tI7Q10u7du3MIaYxY8ZIrVq1QrpB067junXryrhx4+QPf/iDLFq0KN86MTExJrDlpY2ZfnvThk3lXUfvj42NlXCue26//fab6W3RXijd3/XbeLjWW+v6wgsvyOTJkwv8Bh+q/FH36Oj/HND44x//KI8++qhp5/SLiobVBQsWmEMp4by/DxgwQFq0aGHOtNK69+nTx7Sfuj/482wrwstF0g2pG0W7QGfMmJHTIBfkjjvukNWrV8uXX35pugz1g0p32P/+7/82SVQPI+i3d+190YvSMKPpPJzrXrFiRbOO9/hq7jeNjgMJ57r/+OOPpgcm9xgapUFHD0WFEj3urYc19NRuLz38odtp//79+dbXw0F5l2sDp6ea66Eh7VLWhi3vOnrbu0+Ea929dDyABhcNa9ojoftEONf7k08+kZMnT5oPLm87p1/aPv7445w2L1zrrmN7tJ3I287VqFHDBFf9/8K17ocPHzbBNW87p1/8dB29+Avh5SIsWbLEDDjTJPnSSy8V2G2We1yEDszSwwXaMGsK12XafaiDnPSbu76xtQfGe1H6GE284Vz3a665RkqXLm0+yHPbvHlzSI778GfdveM98o6L0bpXrVpVQoke2hg8eLDPoTwNXjpGKfdAvdy9Tjp2JXcI0xCnGjVqZF4TnSfHu8xLB/I1btxYwrnuSg8n6hcT/fBavHhxyAW2QNRb5zvS/T93O6ff6nXsS0Dm/Aihuus4D93f87Zz+t7X3jYN8+Fa97Jly5qAnred89a9XLly/iu8X89dCkN6vr7OT/HII484+/fv97l4PB5zaqz+7T1FVk8h0/Vnz57t7Nq1y3nvvffMbT1t9lxC9VTpQNT9tddeM/MdfPzxxz7zvKxatcoJ57pnZWU5d999t9OxY0czD4LO/fDyyy87V199tfPDDz84oeb+++93OnTo4KxevdqcRqmnUzZp0sTZs2ePk5mZaeruPQVcTwe96667zOmRenql1k9PiX/qqad8TqfUus6dO9e8VpMmTTKnkYfiPC/+rPvZs2ed9u3bO23btjVzXuTejw4dOuSE8zYvaH6QUDxVOhB11/ZM93ed20nbOZ3jR+d0evXVV51wr/uLL75o2nidx0j3eb3W23PmzPFruQkvF/DGG2+YcFHQRd+IupPq37k/fL/44gszuZk2zp06dTpvcAnl8BKouusHWJs2bcyHu8598vnnnztuqLvOqTBq1CgzH4y+mXWek5SUFCcUaUAbOXKkmVRP66PztGzevNncp+Es7z578OBBM7nVtdde6zRr1sw89vTp0z7PqY2YfpDXq1fPNH46wVW41z01NfWc+5E2+uG+zW0JL4Gou85vo/u5tnP6np85c6b5EhPudc/MzDRtvH5R04n6dH6fJUuW+Mx54w8R+o//+nEAAAACizEvAADAKoQXAABgFcILAACwCuEFAABYhfACAACsQngBAABWIbwAAACrEF4AAIBVCC8AAMAqhBcAAGAVwgsAABCb/D+Nex5tRMMi3gAAAABJRU5ErkJggg==", + "image/png": "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dtaDyvDhw6Nnz56xcePGlmUNDQ2xdevW4noqAAAdNkYljU2ZPHlyLFy4MM4999w477zziuuopOupTJw48WzvDgCQsQ654Nv06dOjsbEx5syZU8z0SS0py5cvj86dO3fE7gAAmTrr05MBAE5W3nMSAYCqJqgAANkSVACAbAkqAEC2BBUAIFuCCgCQLUEFAMiWoNKOXnnllbjxxhvjz//8z4uL2H3pS1+K559/PirdrbfeGjfddFNUgubm5li8eHGMGzcuRo0aFdOmTYudO3dGpbv//vvj6quvjkr0xhtvFOfo5ZdfHpdcckl84QtfiM2bN0elee2112LWrFkxZsyYuPjii+Paa6+N7du3RyV76aWXilrXrl0blejVV1+NYcOGHXer1HpPRFBpJ+nboNMbwx/+8Ie47777YtWqVXHOOefEF7/4xXj99dejEqU/6vfcc0+sXr06KsWSJUuK3928efPi4YcfLmqcOnXqcd/2XUkeeuih+O53vxuVKn14+NWvflWcq2vWrImPfOQjxYeIF198MSrJ9ddfHzt27IilS5fGj370o+Kb6q+55po4ePBgVKK33347Zs6cGW+99VZUqm3btkXXrl3j5z//eTz55JMtt8985jNRTQSVdpI+oT333HPFdxh97GMfiw9/+MPFdxilF9F//dd/RaVJn9T+/u//Pn74wx/GBz7wgagEKYysWLGi+IqH8ePHF1+guWjRoti1a1esX78+KvHT2pe//OXinL3ggguiEqU/3L/4xS/i9ttvj0svvTQGDx4ct9xyS/Tr1y/WrVsXlWLfvn3F96bdeeedMXLkyBgyZEh89atfLb6VvlJbde+9997iC24rWfqbcsEFFxTna9++fVtuKYRWE0GlnaRgkj7J9O/f/38Pbk1Ny7dDV5oNGzYUb4b/8R//Eeeff35UyqeXAwcOxNixY1uW1dfXx4gRI2LTpk1RaX73u98V36/14x//OC666KKoRL179y5el+nDQ0mnTp2KWyW9Lt/3vvfF3XffHUOHDi1+Tq24K1euLL7s9cILL4xKk16PqSV3wYIFUcmeffbZ4n222nXIlxJWopRyP/GJT7Ra9i//8i/Fly6mMSuV5qqrropKk1pOkoEDB7Zanj7NlNZVkgkTJhS3SpaC5jtflz/96U+LlpZvfvObUYlSi9EjjzxSfFP99773vejRo0dUkhQwZ8+eXXyp7Ttfq5XYotK7d+/i/TaNx/ngBz8YX/nKV4rxVtVEUDlJv//97+Mv//IvT7j+qaeeinPPPbfl55/97GfFJ5zUR5wGP1VyrZWi1Jef3uCPlfqIU9M65e+Xv/xlfOMb34iJEycW3XuVKI2L+/znP1+MPUrjVtKYqz/7sz+LSpG68dIA2s9+9rNRyRobG4txVBdeeGExWSF1cz322GPFWMjvf//7rVp+K52gcpJSl85PfvKT92x6LfnXf/3XYjDm5z73uSL5V3KtlaTU75vGqhzbB3z48OHo3r17B+4Z7eHxxx8vBl+mmT9pXE6lKnX1zJ8/P55++ul48MEH49vf/nZUgkcffbQYD1hJ44tOpK6uLjZu3Bi1tbUt70cf/ehHizFHy5cvF1Q4XurLP5m+wjSAdtmyZTFlypT4p3/6p6IvvFJrrTSlZuQ0AHHQoEEty9PP5dYqRmvpj3X6w/3pT386vvOd7xzXalbu0piU1NL5qU99qvgDVxojl0JLOn8rRZq1laZhv7M17Lbbbis+XKX33kqSZo6+23jINPOnmhhM245KISUFlNRUV44hpZqlWT6peTV9ijm2P3zr1q3FdXEoT6Xp5qmfP01RrrSQkuzZs6eYhp3CyrHTd9O5W0kfOlJLWAokqWWldEvSTL0URCtJajlJrX8bj3k/Sn77299W5ADp96Lrp52kkymFlHTRrNR3mq6nUpIGs71bMiYv6Q/Y5MmTizfDNAYnTfdM4TPNnEhjGig/aQDit771rfjkJz8Z1113XfEHvSQ1p/fq1SsqQZrtkwZYpunJ6Za6Z9NF/FLQTuPkKsWxsyqP1adPnxOuK1cpYH7oQx+KuXPnxh133FEMqk2DpH/9618XLUvVRFBpJ2mabmmmT7od62tf+1rccMMN7fVfcQalT2ZpEFuaUZBmbKWWlNQfnLrDKD9phk9qWUiD29PtWJMmTaqo6a2ptSgN4J8xY0bs37+/uG5MGlBbKdc5qjap6y5dPPTuu++Or3/960XoTJdKSANpS9PQq0Wno0ePHu3onQAAeDfGqAAA2RJUAIBsCSoAQLYEFQAgW4IKAJAtQQUAyJagAgBkS1ABALIlqAAA2RJUAIBsCSoAQOTq/wK3j3WBZf+v1AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -1100,7 +1172,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABcsAAAF/CAYAAACWgJGmAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAReFJREFUeJzt3QmUVdWVOO5NMYOW4gCYGCcMThGcMBCHqDEmbbRbJMaViEajLQ6Jc1DjrCHaEVHjrKhoK4oGYhJNom06sX/aomKUdALOSNSAREVLIjPvv85d69W/CkukimKoe75vrcerum+4d99ziv3evuee265SqVQCAAAAAAAyVrO6NwAAAAAAAFY3xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAA8KkqlYq9tBLZv7D6KZZDZt555504/fTT44tf/GLsvPPOcdppp8WsWbNiTfboo4/GVlttFU899dTq3hQAyCrPtcXPDQAr2+GHHx7bbrtt/N///V+Tj++zzz5x1llnrZR1X3PNNUXOqErrSetbFZ599tk49thjW+W9JkyYUMTx5ptvRmtL75neO61jZWvNdb388svx7W9/O8pu0aJFcdVVV8WXv/zl6N+/f3znO9+JyZMnr9ZtWhn9cU3+fMeyKZZDRlJS+vd///f485//HBdeeGFx+9Of/hRHH310LFy4sFnvtWTJklgVZs+eHRdccMEqWRcArGormudWZj5uzc8NAGWzePHiOPvss2PBggWrdTtOOOGEuPbaa1fJuu6///549dVXV8m6cvS73/0unnvuuSi7yy67LMaMGRPHHHNMXHnlldG+ffs48sgjY/r06VEW6hhtm2I5ZJZ8p0yZEjfccEP8y7/8Sxx44IExevTo4gj2b3/722a9169+9asiuT322GMr9VSxiy66KDp06LDS3h8AVqcVzXMrMx+35ucGgLJZe+21i/8Pr7vuutW6HZtsskkxyh3aghkzZsQ999wTw4cPL87QSGdF3HrrrbHuuuvGLbfcEmWhjtG2KZZDSfz+978vTvFJp+VVpaP+/fr1ix/96EfF748//nhsvvnmseWWW9Y/J/3cp0+f4kt2c2y33XYxf/784jS8r3/963HXXXfFP//5z1bZzqrf/OY38b//+7/xwx/+sFnbBgCry6rOcyszH7fm5waAstlmm23ioIMOKg4i/uUvf/nUUeh33313cdAx/T+71157xciRI4v/v5clPX7ppZfGbrvtFjvuuGMxkn3p1yw9DUv6+Sc/+Ul897vfLdZ1zjnnFMvff//9OP/88+NLX/pSbL/99vGtb30rnnzyyUbvlUbJp+kxvvKVrxSvPeCAA+IXv/hF/XrSz2+99VajaUfS9vz0pz8tptT4whe+UMSY8tvSZ0Fdf/31Rdxp2o00Gv6DDz5Y7tHs3/jGN4r3Tq9PeSvtz4YeeeSR+Nd//ddimwcPHhwvvPDCx94n5bh0ttROO+1U7IM0ojntz1SwbbidN998c3z1q18t1ve1r30t/vM//3O5tvPtt9+OYcOGFduQ9sXPfvazj23nsmJJP1fPEEj79+qrr46BAwfGj3/840btU522pKF/+7d/K9q2OTGkKUIOPvjgoi+k/pXW89FHH9U/nrYnvccf//jHok2r7/XAAw8ssxCepmxruE9T/9h///2LuNPPqc+lM9fSe1d16tSp2B+f9tnimWeeKc5uGzBgQLE9qa+n7ayeZVedEicd0D/ppJOKv5ldd901zj333EaxtaQ/qmPkRbEcSiJ9oEkfEG666abig0BKQOloba9eveo/IKXlm222WZOjEaZNm9as9X3+858vku5DDz0UgwYNiiuuuCL23HPPGDFiRPztb39boe2szpGajsamL+wbbrhhs7YNAFaXVZ3nVmY+bs3PDQBllP4P79Gjx6dOx5IKmanove+++xZn6xx22GHFwc1UpFvWWUHpYOp9991XFGFTETsV9NL0FZ8mFeZTETQVBL/5zW8WRcpUPE8Fv1NPPbUoyvbu3bs4M6lhwfyMM86I22+/PQ455JAiP+y+++5FkfzBBx8stjUVgVPOGjduXFFoTNt+4oknxr333htHHXVUEVsqUKZ1NCyqXn755cUI/LQtad1pFHHKV58mbcN5551X5Lcbb7yx2G9p9HFaVvXf//3fRWE0FUnTOtKZUEsfhH7vvfdi6NChRTE3tUMqnqazp1JcDaXpxlKRO+XHtL50EDodeFieswdS0Xb99dcvnjtkyJDi9f/xH/+x3LGkfZ72T5L276GHHhp77LFHo/ZJU7TMmzevmCu/etAkXUckHRxI7bG8Mfz6178u2m2LLbYoln//+98vzlRbuj/+4x//iIsvvjiOOOKIogC/8cYbx5lnnvmJU/FstNFGRX95+umnY/z48cWy1M7p80i679y5c/Ha7t27f+yzz6abblrE8kkH/FOMaaqW1HfSgY7U13bZZZeiPy19tlua3u6zn/1s0f9Tcf3nP/958fwV6Y/qGJmpAKXx/vvvV3bffffKEUccUbn++usr22yzTeW5556rf/xrX/ta5fTTT//Y69Ky/fbbb4XW/eGHH1buuOOOYh1bb7115Z577mnxdibHHXdcZdiwYcXPEydOrPTt27e4B4A13erMc62Zj1fm5waAtmzo0KHFLfn9739f/B8+atSo+sf33nvvyplnnln8/PLLLxeP33TTTY3e44EHHiiW//GPf2xyHS+99FLx+NixY+uXLV68uLL//vsXy6vSetL6Gq573333bfRe48aNK17z/PPP1y9bsmRJ5bDDDqscfPDBxe8vvvhi8ZwxY8Y0eu33v//9yrnnntvkuh5//PHiNQ899FCj15xxxhmV3XbbrbJw4cLKBx98UNluu+0ql19+eaPnHH300cVr33jjjSbjr6urq/Tr169y/vnnN1p+3333Fa9L+ydJ23/IIYc0ek7a1+k548ePL36/6qqrKttvv31l5syZ9c958803i+2qtuNrr71W2WqrrT7WTldeeWXx2vfee6/J7Uzbn9Z17LHHNlo+YsSI4v1nz5693LH87Gc/a9S2Dz74YPH722+/Xb8tgwcPbvSZ4ec//3nx3nPnzl2uGFK777nnnsX+b+h///d/i/f9wx/+0Ghb0vKqt956q1h26623VpblmGOOqey6666VRx99tNie0aNH1z923nnnVfbYY4+Pvaa6Lxq2UUO/+MUvivdNfwNV6eedd965eM+GbZH6X0OHH3545YADDih+bml/TNQx8mFkOZTIOuusE5dccklMnDixOJp8/PHHxw477FD/+LJGLbRr167J5ek1abRZw9snvU9NTU39+3zS+y3PdqbT+9KV1tNRbABoa1ZGnlsd+bglnxsAcpOmgkijeNN0LH/9618/9ngaZZukaSgaSr+nCxs+9dRTTb7vpEmT6t+/4f/vaSqM5ZkipqE0OjmN5E1Td1VzSJr+Y++99y6mkEkj1lNeSvbbb7+PjZhOuaIp6X1TPkgjzhvmp7TNaVRymtP9+eefLy4KndbVUBoBvizVUdTpvZZ+7+SJJ54oHk/7/NPeO+W5NOI9nT1VlUYep2UNn5PyXlPrS6O4q/vnkyy9zrQfU9yTJ09erliakkb2pz6SpmyrbmMaKZ7O+kpTkiT/8z//U0zX0qVLl+WK4bXXXouZM2d+7DlpapO11lrrY9vS8HNBOhshaTilSVPSlC5pqpM0Yj1Ng/K9732v/rFPu75K6uNNSVMepZH4aZ+mUeYPP/xw/VQ3S190vOE2V7e7us0t7Y+JOkY+XDUPSibNv9azZ8/iFKalE0BKfk2d1jRnzpziAjVNSR/u0mlXDd15553xxS9+sfg5nUY1duzY4ot/+qCU5j1Lp2h97nOfa9F2psSdTh1Pp2+tt956ReKuzkGW7lMyTB8YAGBN1tp5blXn45Z+bgDIUZrWIxWO03Qs1eknqqpzIS897US6uHOawuXDDz9s8j2rr0vPaWh5pu7q1q1bo9/TfOWpeJ2K5U1Jj6XnJGkqkeWVXpOKn2ke8Kak3FJXV9eiOKrbk67J8UnvnfZRWv/S753y2tLTsDQV+wYbbFBMi9ZwfUsf1Gg4J/myLB1PyvFJw7mwlxXLJxVnU0E/9a00hU+afiV9fnjjjTeKzwXpM0N67LTTTlvuGKr7Kk0Fl26fti1du3b9WCH70wre6aBEmm4mFbTT9DAND7Av67NF8kmfL9LBhnTQ5pe//GXx2SlNCZP2Tfo7Wnp7Gm5zdburz1mRv6tEHSMPiuVQMmnOrZQk0/xj6UNbuohIx44di8fSRbqmTp36sdekOcTShUiakj5UpDm+Gkrv88orrxRzn6Wj3OmL+Mknn1zMzZaS34psZ3q/9IExzZfacG7XJM1RlkYApHnpAGBN1tp5blXn45Z+bgDIUSpqprmi0zzQaZ7kpR+rFqTT//FVaXTr7NmzP1a0q6ouT8Xcz3zmM/XLqwXR5kgFyDQaOV1UtCmp8FhbW1tfWK6OIK4ejE3rTBdubOp9U2E+HbxtSpqH+s9//nPx87vvvlvkmuWNo7o9aZubun5GKnSnuaZTIbRa8P6k907xLP2c6jYtvb477rijmFN7aQ3boClLXyCyur508KE68nlZsXySNGo/zW+fzjRIF8JMF7ZMF7JMc4yngnlab/Vg9/LEkNo3SdcpSaO+l1btrysiXSA8FcrTGQ7VC4VWD96nPpAK42k7qgcUkunTpxd/H2mEfFPSQIP0nmnu/lSwrh4QSkX55qj+XTW3P1apY+TBNCxQIumDSDr9L51GnS5a8dJLLzW6kEU6jSt92ElfrKvSz2lZugJ2U9KX7XRxmIa3tCwd1U5HdFOySEkrXTBmeb+YL2s7U6JPxYCGt+oR73TfMB4AWBOtjDy3qvNxSz83AOQqjfw94IADirN6qgXJpFqQTBdibij9nkYGN1WETtLUGkm6EGVDf/jDH5q9bWkb0sUtU+G2YR5JU26kPJDOaKpux9IHbFOBNxUqm5oiI71vmt4ijdpt+L4pn6QLKKb8lEb/pgJoc+Po379/cfA2jYZu+N5pJPGoUaOKgnG6YGR6/0ceeaTR6OKlY0hTjKTpN9IBi4YjqNOyqnSxyCQdwGi4vtSWV1999acWU//4xz9+rH3TCOcUx/LE0tT+TdLI7PS6dDA7jeBPr0lnlaWR1qkQve2229ZPL7M8MaQCceoHaZ0Nn5PeI13kcsqUKbEi0oCAdPA9FbRTkT8V8NOFcKvtk5YnDftDujhu2n/L+myRppBJcae/s2qhPE0hlGKrnqG3PFraHxN1jHwYWQ4lkRJMOiWrT58+8e///u9FMk5X/E5X3U4JJSXR/fffv7gidnr89NNPL16XEmLfvn2Xa46uhg488MAYPHjwStnOpUdXVOcXSyPc0lXOAWBNtarz3MrMx635uQEgB+edd14xb3TDUcxbbrll8f90ml957ty5ReE2nbWTDnKm4t8ee+zxiaOyDz300LjyyiuLonMapZumoHjxxRebvV1paq5UuDzqqKPiuOOOi4022qg4IynNAZ3+7085YOutty7mw04HT1MhNq0vzYediohpW5NU+EyxPfbYY8XjadRziueEE04obimnpIJiijXFVR05nB5LI4JT8TgdBEiv/7TiZMqVxxxzTFHkTSOR075KReP0e5rWI21vkqYgSQeK0/zYaX9NmzatyF0NpWnM7r777jj66KOL0f9JOgMgjfiuThGS8m+aez614VtvvVWM4E7vlfZ/Gnnf1IjwhlLBPhWcUzE4jaweN25ccbZX9QD28sRSHRn+4IMPFgX2NBo75dw0IvzRRx+tz8VpypC0r1MBOe3bquWJIR0YOfXUU+P8888vfk4H8dNUOWl/pG36pKl6llc62y0V69PZBin2tC1pn6f+d/jhhxejx9Pfw6WXXlrMo5626fbbby+2Ie2jT5LOaPvtb38b99xzTxF7mrc8HeBP+y/9XS2vNOK+Jf1RHSMzq/sKo0Dr+I//+I/K1ltvXXnuuefql/3zn/+s7LXXXsWVn+fPn18s+/vf/1458cQTKzvssENlwIABlVNOOaX+6tpr0nY2lK703fCK3wCwpmorea6tfG4AWBMNHTq0uDXlkUceKf5PP/PMM+uXLVq0qHL99ddXvvKVr1S22267yt57710ZNWpUZd68ectcT3rd1VdfXdljjz0q/fr1K/4/Tu+T3r8qrSe9X1X6ueG6q955553K2WefXRk0aFDlC1/4QuVrX/ta5ZZbbqksXry4/jnp//4rrriisueee1a23377ykEHHVR5+OGH6x9/8cUXK1//+teLGG666ab63PGTn/ykeE1avs8++xTvsXRsd955ZxF/Wvfhhx9eGTt2bBHHG2+8scx9cNddd1X233//4r2/9KUvVU4//fTKW2+91eg5TzzxRGXIkCHFNv/Lv/xL5b//+7+L9x4/fnz9c1566aXKd7/73WI/pn1wzTXXVA499NDKsGHD6p+zcOHCyrXXXlvfTimmCy64oDJ79uxP3L60/Wld9913X/H+Kb7UBnfccUezY5k5c2YRR3o8rbcq/ZzW0TBnX3jhhcWyyZMnN1rH8sbw0EMPVQYPHlxs76677lo57rjjKi+88EL94z/72c8a9bOqtCw91pQ//vGPxeOpXzX0/e9/v9K/f//K66+/Xt/PRowYUbRDWv6d73yn8vzzz1eWJW3/aaedVmxr+kySPqukfXzeeedVdtttt+JvpdoWDdu9qb+RlvTHtvL5jtbRLv2zugv2AAAAANDaJk+eXExBkkbCV6XR+mmKk3QxzHRhVoAq07AAAAAAUEp///vfi6lH0nQgaZ71NG1HmiYlza/9rW99a3VvHrCGMbIcAAAAgNJKc12PHTs23njjjWKO9jQneJpTPF3cEqAhxXIAAAAAALJXk/0eAAAAAAAge4rlAAAAAABkT7EcAAAAAIDsdVjT90ClUoklSypRFjU17UoVzycRZ/lo0/LJvU3T8nbt2q2WbWqLypSPc+n7OcWaS5w5xZpLnDnFmnOcrfmZQz5um3Lu/2WVS6ziLJ+c27RmOfPxGl8sT4G9994/oww6dKiJHj26R13dR7Fo0ZIoK3GWjzYtn9zbtLp85N3PxptvfxhldeG/D4p11+7cKu9VlnycS9/PKdZc4swp1lzizCnW3ONcb73u0b596xTL5eO2J/f+X0a5xCrO8sm9Tddbzny8xhfLAWBlSYXyV9/6oLQ7eNHi8n4AAgAAgNZmznIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyF6zi+Vz5syJCy64IHbffffYdddd44wzzoh33323/vEnn3wyDj744Ojfv398/etfj4ceeij7nQwAAAAAQMmK5SeffHI89thjMWLEiLj77rtj7ty5ccQRR8SCBQvi1VdfjWHDhsUee+wREyZMiEMOOSSGDx9eFNABAAAAAGBN1aE5T546dWo8/vjjccstt8See+5ZLPvpT38ae+21VzGC/LnnnoutttoqTj311OKxPn36xJQpU2L06NExaNCglRMBAAAAAACsymL566+/Xtzvsssu9cu6d+8em266aTz99NMxefLk2HfffRu9ZuDAgcUo9EqlEu3atWvZRnYox9Tq7dvXNLovK3GWjzYtn9zbtOxxryxlyMe59P2cYs0lzpxizSXOnGIVZ+uSj9sW/b98tGm55NKeOcXafgXjbFaxvGfPnsX9jBkzilHjyeLFi2PmzJmx/vrrF/e9e/f+2GvSVC2zZ8+O9dZbr9kbWFPTLnr06B5lUlvbNXIgzvLRpuWjTck1H+fS93OKNZc4c4o1lzhzilWcK04+brv0//LRpuWSS3vmFGttC+NsVrF8++23jy222KK4wOcVV1wR66yzTvzsZz8rCuELFy6MefPmRadOnRq9pvp7mtO8JZYsqURd3UdRBumIRmqourq5sXjxkigrcZaPNi2f3Nu0upz88nEufT+nWHOJM6dYc4kzp1hzjzMta61RfPJx25N7/y+jXGIVZ/nk3qa1y5mPm1UsT4Xva6+9trhoZ5qzvGPHjnHggQfG3nvvHTU1NdG5c+ePFcWrv3ft2vKixKJF5WrA1FBli6kp4iwfbVo+2pTmKFPuyqXv5xRrLnHmFGsuceYUqzhbR5n6Si59IqdYc4kzp1jFWT7atBWL5UmafmX8+PHx/vvvR4cOHWKttdaKb37zm8Xc5BtttFHMmjWr0fPT7926dYu11167uasCAAAAAIBVolnngs2ZMyeGDh0aL7zwQqy77rpFofzNN9+MKVOmxG677VZc+DNd6LOhiRMnxk477VSMPAcAAAAAgDVRsyrYqTheqVRixIgR8fLLL8f//d//xfHHH1+MKh80aFAcfvjh8ec//zlGjhwZr776atx2223xu9/9Lo455piVFwEAAAAAAKygZg/3HjVqVHFhz29/+9sxbNiw2HnnneOaa64pHvv85z8f119/fTz22GNx0EEHxf333x+XX355UUgHAAAAAIA1VbPnLO/Vq1dxkc9Pki78mW4AAAAAANBWmEgcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPaaXSxftGhRXH311bH33nvHjjvuGIcddlg8//zz9Y9PnTo1hg4dGjvssEPss88+ceedd2a/kwEAAAAAKFmx/IYbboj7778/LrnkknjggQdi8803j2OOOSZmzZoVs2fPjqOOOio22WSTGD9+fJx44okxcuTI4mcAAAAAAFhTdWjuCx599NE44IADYvfddy9+P+uss4rieRpdPm3atOjYsWNcfPHF0aFDh+jTp09Mnz49br755hgyZMjK2H4AAAAAAFj1I8vXX3/9+MMf/hBvvvlmLF68OMaNGxedOnWKrbfeOiZNmhS77rprUSivGjhwYLz++uvxzjvvrPjWAgAAAADAmjCy/JxzzomTTz45vvKVr0T79u2jpqYmrrnmmmLqlZkzZ0bfvn0bPb9nz57F/YwZM2KDDTZo2UZ2KMd1SNu3r2l0X1biLB9tWj65t2nZ415ZypCPc+n7OcWaS5w5xZpLnDnFKs7WJR+3Lfp/+WjTcsmlPXOKtf0KxtnsYvkrr7wSa6+9dlx33XXRq1evYgqWM844I+66666YN29eMcq8oc6dOxf38+fPb9EG1tS0ix49ukeZ1NZ2jRyIs3y0afloU3LNx7n0/ZxizSXOnGLNJc6cYhXnipOP2y79v3y0abnk0p45xVrbwjibVSxPo8NPP/30GDNmTOyyyy7Fsu23374ooKfR5V26dIkFCxY0ek21SN6tW7cWbeCSJZWoq/soyiAd0UgNVVc3NxYvXhJlJc7y0ablk3ubVpeTXz7Ope/nFGsuceYUay5x5hRr7nGmZa01ik8+bnty7/9llEus4iyf3Nu0djnzcbOK5ZMnT46FCxcWBfKG+vfvH//zP/8Tn/nMZ2LWrFmNHqv+nkaht9SiReVqwNRQZYupKeIsH21aPtqU5ihT7sql7+cUay5x5hRrLnHmFKs4W0eZ+koufSKnWHOJM6dYxVk+2nTZmnV4u3fv3sX9iy++2Gj5Sy+9FJtttlkMGDAgnn322eLCn1UTJ06MzTffvLgwKAAAAAAArImaVSzv169f7LzzznHmmWcWRfDXX389rrrqqnjyySfj2GOPjSFDhsScOXOKi4CmqVkmTJhQTNkybNiwlRcBAAAAAACsoGZNw1JTUxM33HBDUSA/++yz44MPPoi+ffsWBfE0FUsyevToGDFiRAwePDg23HDDGD58ePEzAAAAAACUolierLPOOnHBBRcUt08afT5u3LjW2DYAAAAAAFglWueS3AAAAAAA0IYplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9hTLAQAAAADInmI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOwplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9hTLAQAAAADInmI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOwplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9jo0Zw889dRTccQRRzT52MYbbxy///3v480334xLLrkknnnmmejWrVt885vfjB/84AfRvn377Hc2AAAAAAAlKJbvuOOO8fjjjzda9vzzzxfF8BNOOCEWLlwYRx99dGy22WZx7733xt/+9rc455xzoqamJk466aTW3nYAAAAAAFj1xfJOnTrFhhtuWP/7Rx99FJdeemkMHjw4hgwZEg8++GD8/e9/j/vuuy/WWWed6Nu3b7z77rvx05/+NI477rji9QAAAAAAUKo5y2+88caYO3dunHnmmcXvkyZNiu22264olFcNHDgw5syZE1OnTl3xrQUAAAAAgNU9sryh9957L8aMGROnn356rLvuusWymTNnRu/evRs9r2fPnsX9jBkzon///i3byA7luA5p+/Y1je7LSpzlo03LJ/c2LXvcK0sZ8nEufT+nWHOJM6dYc4kzp1jF2brk47ZF/y8fbVouubRnTrG2X8E4W1wsHzt2bKy99tpx6KGH1i+bN29e1NbWNnpe586di/v58+e3aD01Ne2iR4/uUSa1tV0jB+IsH21aPtqUXPNxLn0/p1hziTOnWHOJM6dYxbni5OO2S/8vH21aLrm0Z06x1rYwzhYXyx944IE46KCDokuXLvXL0s8LFixo9Lxqkbxbt24tWs+SJZWoq/soyiAd0UgNVVc3NxYvXhJlJc7y0ablk3ubVpeTXz7Ope/nFGsuceYUay5x5hRr7nGmZa01ik8+bnty7/9llEus4iyf3Nu0djnzcYuK5S+88EK88cYbceCBBzZanqZgeemllxotmzVrVnHfq1evaKlFi8rVgKmhyhZTU8RZPtq0fLQpzVGm3JVL388p1lzizCnWXOLMKVZxto4y9ZVc+kROseYSZ06xirN8tOmytejwdrqQ5/rrrx9bb711o+UDBgyIKVOmFBf0rJo4cWJ07979Y88FAAAAAIA1RYuK5akgvtVWW31s+b777hsbbrhhnHLKKcXo80cffTRGjRoV3/ve96JTp06tsb0AAAAAALBmFMv/8Y9/xLrrrvux5elinqNHj44lS5bEt771rbjoooviO9/5Tpxwwgmtsa0AAAAAALBStGjO8ltuueUTH9t0003jtttuW5FtAgAAAACAVap1LskNAAAAAABtmGI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOwplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9hTLAQAAAADInmI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOwplgMAAAAAkD3FcgAAAAAAsqdYDgAAAABA9hTLAQAAAADInmI5AAAAAADZUywHAAAAACB7iuUAAAAAAGRPsRwAAAAAgOy1qFj+wAMPxP777x/bb799fOMb34jf/va39Y+9+eabMWzYsNhpp51i9913j6uuuioWL16c/Y4GAAAAAKBExfJf/vKXcc4558Rhhx0WDz30UBxwwAFx2mmnxXPPPRcLFy6Mo48+unjevffeGxdeeGHcc889cd11162MbQcAAAAAgFbRoTlPrlQqcfXVV8cRRxxRFMuT448/PiZNmhRPP/10vPXWW/H3v/897rvvvlhnnXWib9++8e6778ZPf/rTOO6446JTp06ts9UAAAAAALC6iuXTpk0rCuIHHnhgo+W33nprcZ9Gkm+33XZFobxq4MCBMWfOnJg6dWr079+/ZRvZoRxTq7dvX9PovqzEWT7atHxyb9Oyx72ylCEf59L3c4o1lzhzijWXOHOKVZytSz5uW/T/8tGm5ZJLe+YUa/sVjLPZxfLko48+KqZbmTJlSmy88cbF6PJ99tknZs6cGb179270mp49exb3M2bMaFGxvKamXfTo0T3KpLa2a+RAnOWjTctHm5JrPs6l7+cUay5x5hRrLnHmFKs4V5x83Hbp/+WjTcsll/bMKdbaFsbZrGJ5GiGenHnmmfH9738/zjjjjHj44YfjhBNOiNtvvz3mzZsXtbW1jV7TuXPn4n7+/Pkt2sAlSypRV/dRlEE6opEaqq5ubixevCTKSpzlo03LJ/c2rS4nv3ycS9/PKdZc4swp1lzizCnW3ONMy1prFJ983Pbk3v/LKJdYxVk+ubdp7XLm42YVyzt27Fjcp1HlgwcPLn7eZpttihHmqVjepUuXWLBgQaPXVIvk3bp1i5ZatKhcDZgaqmwxNUWc5aNNy0eb0hxlyl259P2cYs0lzpxizSXOnGIVZ+soU1/JpU/kFGsuceYUqzjLR5suW7MOb/fq1au4TxfubGjLLbeMN998s5iCZdasWY0eq/5efS0AAAAAAKxpmlUsTxfv7N69e0yePLnR8pdeeik22WSTGDBgQDHKvDpdSzJx4sTiNVtvvXXrbTUAAAAAAKyuYnmaZuWYY46J6667Lh588MH429/+FjfccEM88cQTcdRRR8W+++4bG264YZxyyinxwgsvxKOPPhqjRo2K733ve9GpU6fW3G4AAAAAAGg1zZqzPEkX8+zatWtceeWV8fbbb0efPn3immuuiS9+8YvF46NHj46LLroovvWtb8U666wT3/nOd4rXAAAAAABAaYrlSRpFnm5N2XTTTeO2225b0e0CAAAAAIA1cxoWAAAAAAAoI8VyAAAAAACyp1gOAAAAAED2FMsBAAAAAMieYjkAAAAAANlTLAcAAAAAIHuK5QAAAAAAZE+xHAAAAACA7CmWAwAAAACQPcVyAAAAAACyp1gOAAAAAED2FMsBAAAAAMieYjkAAAAAANlTLAcAAAAAIHuK5QAAAAAAZE+xHAAAAACA7CmWAwAAAACQPcVyAAAAAACyp1gOAAAAAED2FMsBAAAAAMhes4vlb7/9dmy11VYfu02YMKF4fOrUqTF06NDYYYcdYp999ok777wz+50MAAAAAMCarUNzX/DCCy9E586d49FHH4127drVL1977bVj9uzZcdRRRxVF8osuuiief/754r579+4xZMiQ1t52AAAAAABYPcXyl156KTbbbLPo2bPnxx674447omPHjnHxxRdHhw4dok+fPjF9+vS4+eabFcsBAAAAAChPsfzFF18siuBNmTRpUuy6665Fobxq4MCBcdNNN8U777wTG2ywQcs2skM5plZv376m0X1ZibN8tGn55N6mZY97ZSlDPs6l7+cUay5x5hRrLnHmFKs4W5d83Lbo/+WjTcsll/bMKdb2Kxhni0aW9+jRIw477LCYNm1abLrppnH88cfHnnvuGTNnzoy+ffs2en51BPqMGTNaVCyvqWkXPXp0jzKpre0aORBn+WjT8tGm5JqPc+n7OcWaS5w5xZpLnDnFKs4VJx+3Xfp/+WjTcsmlPXOKtbaFcTarWL5o0aJ47bXXYsstt4yzzjor1lprrXjooYfi2GOPjdtvvz3mzZsXnTp1avSaNL95Mn/+/BZt4JIllair+yjKIB3RSA1VVzc3Fi9eEmUlzvLRpuWTe5tWl5NfPs6l7+cUay5x5hRrLnHmFGvucaZlrTWKTz5ue3Lv/2WUS6ziLJ/c27R2OfNxs4rlaXqVp556Ktq3bx9dunQpln3hC1+Il19+OW699dZi2YIFCxq9plok79atW7TUokXlasDUUGWLqSniLB9tWj7alOYoU+7Kpe/nFGsuceYUay5x5hSrOFtHmfpKLn0ip1hziTOnWMVZPtp02Zp9eLt79+71hfKqz3/+8/H2229H7969Y9asWY0eq/7eq1ev5q4KAAAAAABWiWYVy9MI8p122qkYXd7QX/7yl2JqlgEDBsSzzz4bixcvrn9s4sSJsfnmm8f666/felsNAAAAAACrq1jep0+f2GKLLeLiiy+OSZMmxauvvhqXXnppPP/888VFPocMGRJz5syJc845J1555ZWYMGFCjBkzJoYNG9aa2wwAAAAAAK2qWXOW19TUxI033hhXXHFFnHLKKVFXVxfb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yqS2tmvkQJzlo03LR5uSaz7Ope/nFGsuceYUay5x5hSrOFecfNx26f/lo03LJZf2zCnW2hbG2axi+dL+9Kc/xdlnnx377bdf7LXXXjFv3rzo1KlTo+dUf1+wYEGL1rFkSSXq6j6KMkhHNFJD1dXNjcWLl0RZibN8tGn55N6m1eXkl49z6fs5xZpLnDnFmkucOcWae5xpWWuN4pOP257c+38Z5RKrOMsn9zatXc583OJi+aOPPhpnnHFG7LTTTjFy5MhiWefOnT9WFK/+3rVry4sSixaVqwFTQ5UtpqaIs3y0afloU5qjTLkrl76fU6y5xJlTrLnEmVOs4mwdZeorufSJnGLNJc6cYhVn+WjTZWvR4e277rorfvCDH8Tee+8dN954Y1EkTzbaaKOYNWtWo+em37t16xZrr712S1YFAAAAAAArXbOL5WPHjo1LLrkkDjvssBg1alSjaVd22WWXePrppxs9f+LEicXo85qack8eDwAAAABA29WsaVimTZsWP/nJT+KrX/1qDBs2LN555536x7p06RKHH354DB48uJiWJd0/9thj8bvf/S5Gjx69MrYdAAAAAABWfbH84YcfjoULF8Z//dd/FbeGUnH8sssui+uvvz4uv/zyuOOOO2LjjTcufh40aFDrbC0AAAAAAKzuYvlxxx1X3JZlzz33LG4AAAAAANBWmEgcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZYDAAAAAJA9xXIAAAAAALKnWA4AAAAAQPZWqFh+0003xeGHH95o2dSpU2Po0KGxww47xD777BN33nln9jsZAAAAAICSFsvvvvvuuOqqqxotmz17dhx11FGxySabxPjx4+PEE0+MkSNHFj8DAAAAAMCaqkNzX/D222/HBRdcEE899VRsttlmjR677777omPHjnHxxRdHhw4dok+fPjF9+vS4+eabY8iQIa253QAAAAAAsPpGlv/1r38tCuK/+tWvon///o0emzRpUuy6665Fobxq4MCB8frrr8c777zTOlsMAAAAAACre2R5moc83Zoyc+bM6Nu3b6NlPXv2LO5nzJgRG2ywQcs2skM5rkPavn1No/uyEmf5aNPyyb1Nyx73ylKGfJxL388p1lzizCnWXOLMKVZxti75uG3R/8tHm5ZLLu2ZU6ztVzDOZhfLl2XevHnRqVOnRss6d+5c3M+fP79F71lT0y569OgeZVJb2zVyIM7y0ablo03JNR/n0vdzijWXOHOKNZc4c4pVnCtOPm679P/y0ablkkt75hRrbQvjbNVieZcuXWLBggWNllWL5N26dWvRey5ZUom6uo+iDNIRjdRQdXVzY/HiJVFW4iwfbVo+ubdpdTn55eNc+n5OseYSZ06x5hJnTrHmHmda1lqj+OTjtif3/l9GucQqzvLJvU1rlzMft2qxvHfv3jFr1qxGy6q/9+rVq8Xvu2hRuRowNVTZYmqKOMtHm5aPNqU5ypS7cun7OcWaS5w5xZpLnDnFKs7WUaa+kkufyCnWXOLMKVZxlo82XbZWnaRmwIAB8eyzz8bixYvrl02cODE233zzWH/99VtzVQAAAAAA0GpatVg+ZMiQmDNnTpxzzjnxyiuvxIQJE2LMmDExbNiw1lwNAAAAAACsucXyNHp89OjRMW3atBg8eHBce+21MXz48OJnAAAAAABYU63QnOWXXXbZx5b169cvxo0btyJvCwAAAAAAbXdkOQAAAAAAtEWK5QAAAAAAZE+xHAAAAACA7CmWAwAAAACQPcVyAAAAAACyp1gOAAAAAED2FMsBAAAAAMieYjkAAAAAANlTLAcAAAAAIHuK5QAAAAAAZE+xHAAAAACA7CmWAwAAAACQPcVyAAAAAACyp1gOAAAAAED2FMsBAAAAAMieYjkAAAAAANlTLAcAAAAAIHsdst8DAMBy6dCh7R9jb9++ptH90pYsqRQ3AAAA8qNYDgB8qpqadtGjR/fS7Kna2q5NLl+8eEm8//5HCuYAAAAZUiwHAD5Vu3btYuTdz8abb39Y2r21ca+144zDdi4ODBhdDgAAkJ9WL5YvWbIkrr322rj//vvjww8/jAEDBsT5558fn/vc51p7VQDAKpQK5a++9YF9DgAAQCm1+uSj119/fYwdOzYuueSSuPfee4vi+THHHBMLFixo7VUBAAAAAMCaVyxPBfHbbrstTjrppNhrr71i6623jiuvvDJmzpwZjzzySGuuCgAAAAAA1sxi+QsvvBD//Oc/Y9CgQfXLamtrY9ttt41nnnmmNVcFAAAAAACtpl2lUqm01pul0eM/+MEPYvLkydGlS5f65SeffHLMmzcvbrrppma/Z9q8VtzE1a6mpqaYmqbsxFk+2rR8cm/TtPz9D+fHosXl3Qc9artE+5p2rfZ+Zd9fHdrXxLprdy7V30Xuf+dllEusucSZU6w5x5kukp1uraFM349z6RM5xZpLnDnFKs7yyblN2y1nPm7VC3zOnTu3uO/UqVOj5Z07d44PPmjZBcFa84PFmtRgORBn+WjT8sm9TVNhlOWXy/4q299F2eLJPc6cYs0lzpxiFeeKK9v341z6RE6x5hJnTrGKs3y06bK16l92dTT50hfznD9/fnTt2rU1VwUAAAAAAK2mVYvlG220UXE/a9asRsvT77169WrNVQEAAAAAwJpZLN96661jrbXWiqeeeqp+WV1dXUyZMiUGDBjQmqsCAAAAAIBW06pzlqe5yocOHRojR46M9dZbLz772c/G5ZdfHr1794799tuvNVcFAAAAAABrZrE8Oemkk2LRokVx7rnnxrx584oR5bfeemt07NixtVcFAAAAAACtol2lUqm0zlsBAAAAAEDb1KpzlgMAAAAAQFukWA4AAAAAQPYUywEAAAAAyJ5iOQAAAAAA2VMsBwAAAAAge4rlAAAAAABkT7EcAAAAAIDsKZavYjfddFMcfvjhpex477//fpx//vmx5557xk477RTf/va3Y9KkSVFG7777bvzwhz+MgQMHxo477hjHHntsvPrqq1Fm06ZNK2KdMGFClNHbb78dW2211cduZYz3gQceiP333z+23377+MY3vhG//e1vo2yeeuqpJtsz3b7yla9EmSxatCiuvvrq2HvvvYu/0cMOOyyef/751b1Zazz5uBzk4/KRj8sjp1ycyMctIx+Xg3xcLjnl4hy+H8vHhzX7+3GHldYafMzdd98dV111Veyyyy6l3DunnXZa/OMf/4hRo0bF+uuvH//5n/8ZRx99dPziF7+ILbbYIsrkxBNPjCVLlsTNN98c3bt3LwpVRx55ZDzyyCPRtWvXKJuFCxfGGWecER999FGU1QsvvBCdO3eORx99NNq1a1e/fO21144y+eUvfxnnnHNO/OhHP4o99tgjHnrooeJvt3fv3kWhtSxSLI8//nijZSlB/uAHP4gTTjghyuSGG26I+++/Py67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", + "image/png": "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mDFjYt26dU3bEgAAAAAAaIK2DV1h6dKlccEFF8T8+fNj5513rjfvzjvvjHbt2sXFF18cbdu2jX79+sVrr70WM2fOjCOOOCJLis+ePTvGjx8fI0aMyNaZPn16Vm0+b968GDVqVFO2BQAAAAAAtl3C/M9//nOWFL/33nvjpz/9abzxxhu185544ok48MADs2R5wUEHHZQN3fL222/HX//613j//fdj6NChtfMrKipi0KBBsWDBgiYlzNu2NRx7sZSXl9W7p/TiInZbNwabmmaf54/YNJ4+uHgct/kkLvklNvkkLo2nDy4ex21+iU0+iUs+iUszJczTuOTptilLliyJ/v3715vWs2fP7P7NN9/M5id9+vT50DKFeY1RVtYmunXbrtHr0zwqKjrZlTkkLvnc9+KSX2LTMPrgfHDc5pO45JfY5JO4NIw+OB8ct/klNvkkLvkkLk1MmH+UNWvWRPv27etN69ChQ3a/du3aWL16dfZ4U8usWLGi0a9bVVUdlZWrGr0+TT8bld5YlZWrY8OGKruzBONSWJbmtal97/2SX60pNmk7m+tXDvrg4mpNx20pEZf8Ept8ak1x0Qe3HK3puC01YpNP4pJPrSkuFQ34P7hZE+YdO3b80MU7U6I86dy5czY/ScsUHheW6dSpacm69etbdlBLQXpjiUP+iEs+97245JfYNJzP/uJz3OaTuOSX2OSTuDScPrj4HLf5JTb5JC75JC71Neug0717945ly5bVm1b4u1evXrVDsWxqmTQfAAAAAACKpVkrzIcMGRK33357bNiwIcrLy7Npjz/+eOyyyy6x4447RteuXaNLly4xf/786Nu3bza/srIyFi5cGKNHj27OpgBA0cYTTTcAAACglSfMjzjiiLjhhhvi3HPPjTFjxsQzzzwTN954Y1x00UW1Y5enxPi0adOie/fusdNOO8XUqVOzyvSRI0c2Z1MAYJtLifIddujcbOODAwAAACWcME9V5ClhPmXKlDj88MOjR48eMXHixOxxwbhx42L9+vUxadKk7CKhqSp91qxZ0a5du+ZsCgAUJWGekuXTbnsyXl+6MrcRuHDs0Niha81FuQEAAIBmSphfeumlH5q29957xx133LHZddJQLRMmTMhuANASpWT5y2+siLxa38Kvfg4AAACN5TfjAAAAAAAgYQ4AAAAAADVUmAMAAAAAgIQ5AAAAAADUUGEOAAAAAAAS5gAAAAAAUEOFOQAAAAAASJgDAAAAAEANFeYAAAAAACBhDgAAAAAANVSYAwAAAACAhDkAAAAAANRQYQ4AAAAAABLmAAAAAABQQ4U5AAAAAABImAMAAAAAQA0V5gAAAAAAIGEOAAAAAAA1VJgDAAAAAICEOQAAAAAA1FBhDgAAAAAAWyNhvnTp0hgwYMCHbnfffXc2/7nnnovRo0fH4MGD4+CDD46bb75ZIAAAAAAAKLq2zf2EixYtig4dOsQDDzwQbdq0qZ3etWvXeO+99+KEE07IEuUXXXRR/OlPf8rut9tuuzjiiCOauykAAAAAAFC8hPkLL7wQO++8c/Ts2fND82666aZo165dXHzxxdG2bdvo169fvPbaazFz5kwJcwAAAAAAWlbC/Pnnn88S4ZvyxBNPxIEHHpglywsOOuiguP766+Ptt9+OT3ziE83dHAAAoBmUlbXJbnlXVVWd3QAAIDcV5t26dYtjjjkmXn311fi7v/u7OPXUU2P48OGxZMmS6N+/f73lC5Xob775ZpMS5m3bun5psZSXl9W7p/TiInZbNwabmmaf509zxKa1xlUfXDw+U/KpJcYlDbXYtWvHktimDRuqYuXKNVFdXd0qYtMSiEvj6YOLx3GbX2KTT+KST+KyDRLm69evj1deeSV22223+MEPfhBdunSJX//613HSSSfFv/7rv8aaNWuiffv29dZJ450na9eubfTrpkqXbt22a3L7aZqKik52YQ6JSz73vbjkl9g0jD44Hxy3+dQS4zLttifj9aUrI68+1atrjD9m/9hhh86tLjYtgbg0jD44Hxy3+SU2+SQu+SQuWzFhnoZamT9/fpSXl0fHjh2zaXvuuWe8+OKLMWvWrGzaunXr6q1TSJR37vzRX2o/SvrJZWXlqia2nqacjUpvrMrK1VlFz7bQUqqc8hKXwrI0r03t+2K8X9gyzRGb1vhe0gcXl8+UfGqJcSlsU0qWv/zGisi7v/1tzSaHZUkJxi5dOm52/raW2rCtvyPmUUt8z2xO2s7m+h9GH1xcrem4LTVik0/ikk+tKS4VDeiDm31Ilu22+3Cl9+677x6PPPJI9O7dO5YtW1ZvXuHvXr16Nel1169v2UEtBemNta3ikH56mA7yUqlySv8IFesY3ZZxYcv3vbjkl9g0nM+Y4nPc5pO4bHs7dO2QJRFTUvyjfNz8bXmMLF++KhfJ+zzwnmk4fXDxOW7zS2zySVzySVy2YsI8VZIfddRRce2118ZnPvOZ2un/8z//kw3Tsscee8Ttt98eGzZsyKrQk8cffzx22WWX2HHHHZuzKbQSpVLlBADA1telU7usijzvRRV1CytSeyXMAQBaaMK8X79+seuuu8bFF18cF110UXbxzzvvvDP+9Kc/xdy5c7Ok+A033BDnnntujBkzJp555pm48cYbs2UBAACag6IKAABykTAvKyuL6667Li6//PI488wzo7KyMgYNGpRd8LN///7ZMilhPmXKlDj88MOjR48eMXHixOwxAAAAAAAUU7OPYf6JT3wifvzjH292/t577x133HFHc78sAAAAAAA0SfNcnhsAAAAAAEqchDkAAAAAAGyNIVmADysvLyvaa27JaxejfQAAAACQNxLmsBXt0LVDVFVVR0VFp6Lt52K+NgAAAACUEglz2Iq6dGoXZWVtYtptT8brS1fmdl/vN7BnfPtrg4rdDAAAAAAoKglz2AZSsvzlN1bkdl9/qmeXYjcBAAAAAIrOwMUAAAAAACBhDgAAAAAANVSYAwAAAACAhDkAAAAAANRQYQ4AAAAAABLmAAAAAABQo+3/uwcAAAAAaLSysjbZbWPl5WX17outqqo6u8GmSJgDAAAAAE2SEuU77ND5I5PiFRWdcrGXN2yoiuXLV0mas0kS5gAAAABAkxPmKVk+7bYn4/WlK3O7Nz/Vq2uMP2b/rL2qzNkUCXMAAAAAoFmkZPnLb6ywNylZ+Rg4CAAAAAAAikzCHAAAAAAAJMwBAAAAAKCGCnMAAAAAAGhJF/1s2zb/uf905V1X3wUAAAAAyKeiJMyrqqrimmuuiX/7t3+LlStXxpAhQ+L888+PT3/60416vrKyNtGt23aRdxs2VMXy5askzQEAAAAAcqgoCfMZM2bEnDlz4tJLL43evXvH1KlTY8yYMXHfffdF+/btG/x8bdq0iWm3PRmvL10ZefWpXl1j/DH7Z8n9vFeZpzam25YqLy+rd78tbMvXAgAAAABah22eMF+3bl3Mnj07xo8fHyNGjMimTZ8+PYYNGxbz5s2LUaNGNep5U7L85TdWNHNrW5+UKN9hh86NSkhXVHTaKm0CAAAAAGiRCfNFixbF+++/H0OHDq2dVlFREYMGDYoFCxY0OmFO8yXMU7I87xX7+w3sGd/+2qBiNwMAAAAAaEHaVFdXb9PxQVIV+Xe/+914+umno2PHjrXT//mf/znWrFkT119/faOed/nKtbF+Q1XkVdvystiha4ds/Pa8Kysry/3+7NC+PLp2bq+d9mdJvt/Te6wUPgtao+aITSl8hnar6BjlDRh666OkrxHb+KsEG/GZkk8tMS6l8PlWKt8RS+3/g22hJb5nNjecaLo1B31w8bWW47YUiU1x933e+2F9cOt8v7RpQB+8zSvMV69end1vPFZ5hw4dYsWKxg+pkr5slspBWApKZX9qp/1Zqu/3UvksaI2aIzal8tmUt3/8aTyfKfnUEuNSKp9vpdLOlnqcNJZ90TD64Hxw3OaX2BRPqfTDjhH7YnO2+bezQlV5Gsu8rrVr10anTsbABgAAAACglSTM+/Tpk90vW7as3vT0d69evbZ1cwAAAAAAoDgJ84EDB0aXLl1i/vz5tdMqKytj4cKFMWTIkG3dHAAAAAAAKM4Y5mns8tGjR8e0adOie/fusdNOO8XUqVOjd+/eMXLkyG3dHAAAAAAAKE7CPBk3blysX78+Jk2aFGvWrMkqy2fNmhXt2rUrRnMAAAAAACDaVFdXV9sPAAAAAAC0dtt8DHMAAAAAAMgjCXMAAAAAAJAwBwAAAACAGirMAQAAAABAwhwAAAAAAGqoMAcAAAAAAAlzAAAAAACoocKcreKJJ56IPfbYI+bPn28P58Cbb74ZZ599dnz2s5+NIUOGxIknnhgvvvhisZvV6lRVVcVVV10Vw4YNi8GDB8fYsWNj8eLFxW5Wq7d8+fI4//zzY/jw4bHffvvFt771rewzDEqZfjg/9MH5oA/OJ30wLZE+OD/0wfmgD84nffBHkzCn2a1cuTImTpyYfShSfOvWrYuTTjop3nrrrbjuuutizpw5sd1228Vxxx0X7777brGb16rMmDEj2/+TJ0+O22+/PXuPjBkzJosRxZNOJj311FNxxRVXxNy5c7OTfemk0iuvvCIslCT9cH7og/NDH5xP+mBaGn1wfuiD80MfnE/64I8mYU6zu/DCC+PTn/60PZujCocXXnghpk2bFnvttVfsvvvuMXXq1Fi1alX8x3/8R7Gb16q+sM2ePTvGjRsXI0aMiIEDB8b06dNjyZIlMW/evGI3r9V67bXX4tFHH80+tw444IDYZZdd4rzzzouePXvGfffdV+zmQaPoh/NDH5wP+uB80gfTEumD80MfnA/64HzSB388CXOa1S9/+cusUvOcc86xZ3MiJchnzpwZvXr1qp1WVlbz1q+srCxiy1qXRYsWxfvvvx9Dhw6tnVZRURGDBg2KBQsWFLVtrVm3bt2y90c6mVTQpk2b7Ob9QSnSD+eLPjgf9MH5pA+mpdEH54s+OB/0wfmkD/54EuY0m9dffz2mTJkSl112WTbkB/nQo0eP+PznP19v2i233BJr1qzJxjRn20iV5EmfPn3qTU+VzIV5bHvppEV6f7Rv37522v3335+dcU9jzUMp0Q/njz44H/TB+aQPpiXRB+ePPjgf9MH5pA/+eG23YBnIvgB88Ytf3OyeSEMaTJgwIY466qhsWIO0PPmIzWOPPRbdu3ev/ft3v/tdXH755XH88cfHgAEDtlErWb16dbYT6iZmkw4dOsSKFSvsoJz44x//GD/84Q9j5MiR2dA5kBf64XzSB5cGfXBp0AeTV/rgfNIHlwZ9cGnQB3+YhDlbJA3n8Zvf/Gaz89MFDNMH4Xe/+117NGex2X777Wsf//znP88uOHnYYYdlF2Zl2+nYsWPtGG6Fx8natWujU6dOQpEDDzzwQIwfPz7222+/bMx/yBP9cD7pg0uDPjj/9MHkmT44n/TBpUEfnH/64E2TMGeLtGvXLvr167fZ+XfffXcsW7YsPvOZz2R/V1dXZ/djx46Nf/qnf4qLL77Yni5SbArShT5vuOGGOOGEE+L73/9+NkYz205hKJb0Punbt2/t9PS3Sv/iu/XWW7Mhpb7yla/Ev/zLv3zolwBQbPrhfNIHlwZ9cL7pg8k7fXA+6YNLgz443/TBmydhTrNIY2KvX7++9u+lS5fGscceG5dccolxsnOgkCxPifLvfOc7xW5OqzRw4MDo0qVLzJ8/vzZhni4quXDhwhg9enSxm9eqzZkzJ/vlRfrMOvfcc51MoiTph/NLH1x8+uD80gfTEuiD80sfXHz64PzSB380CXOaxU477VTv7/Ly8tqfSe244472chGlBG1Klqdk4KGHHhpvvfVW7bzOnTu7QOs2kiqWU2I8DfWRxpRP75n0Ba53797ZeNkUx6uvvho/+tGP4stf/nKcfPLJ8fbbb9f7+WDXrl2FhpKgH84nfXA+6IPzSR9MS6EPzid9cD7og/NJH/zxJMyhhfvVr35VW/mQbnWdccYZxp3fhsaNG5f9EmPSpEmxZs2aGDJkSMyaNSv7OSHFcf/998cHH3yQXQw33eo6/PDD49JLLxUaoNH0wfmhD84ffTCwNemD80MfnD/64I/Xprow2DQAAAAAALRiZcVuAAAAAAAA5IGEOQAAAAAASJgDAAAAAEANFeYAAAAAACBhDgAAAAAANVSYAwAAAACAhDkAAAAAANRQYQ4AAAAAABLmAAAAAABQQ4U5AAAAAABImAMAAAAAQGT+L7QSsq6bWSSjAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -1112,7 +1184,7 @@ "source": [ "import matplotlib.ticker as ticker\n", "\n", - "from_index, to_index = 0, 4\n", + "from_index, to_index = 2, 4\n", "\n", "te_xy = result.total_effects_[:, to_index, from_index]\n", "te_yx = result.total_effects_[:, from_index, to_index]\n", @@ -1222,73 +1294,283 @@ " \n", "
\n", " 0\n", - " [3, 0, 1]\n", - " 8.893562\n", - " 0.98\n", + " [3, 2, 1]\n", + " 11.914854\n", + " 0.660\n", "
\n", "
\n", " 1\n", - " [3, 2, 1]\n", - " 12.030408\n", - " 0.96\n", + " [3, 0, 1]\n", + " 8.756234\n", + " 0.443\n", "
\n", "
\n", " 2\n", - " [3, 2, 0, 1]\n", - " 2.239175\n", - " 0.03\n", + " [3, 1]\n", + " 2.105700\n", + " 0.202\n", "
\n", "
\n", " 3\n", - " [3, 1]\n", - " -0.639462\n", - " 0.02\n", + " [3, 2, 0, 1]\n", + " 1.635862\n", + " 0.094\n", "
\n", "
\n", " 4\n", - " [3, 2, 4, 0, 1]\n", - " -3.194541\n", - " 0.02\n", + " [3, 5, 0, 1]\n", + " 8.670284\n", + " 0.060\n", "
\n", "
\n", " 5\n", " [3, 4, 0, 1]\n", - " 9.820705\n", - " 0.02\n", + " 6.979752\n", + " 0.054\n", "
\n", "
\n", " 6\n", - " [3, 0, 2, 1]\n", - " 3.061033\n", - " 0.01\n", + " [3, 2, 4, 1]\n", + " -1.146483\n", + " 0.038\n", "
\n", "
\n", " 7\n", - " [3, 0, 5, 1]\n", - " 1.176834\n", - " 0.01\n", + " [3, 0, 4, 1]\n", + " 4.459602\n", + " 0.028\n", "
\n", "
\n", " 8\n", + " [3, 0, 5, 1]\n", + " 2.864025\n", + " 0.026\n", + "
\n", + "
\n", + " 9\n", + " [3, 2, 4, 0, 1]\n", + " -4.602396\n", + " 0.024\n", + "
\n", + "
\n", + " 10\n", + " [3, 0, 2, 1]\n", + " -1.512156\n", + " 0.022\n", + "
\n", + "
\n", + " 11\n", + " [3, 4, 1]\n", + " 4.954881\n", + " 0.019\n", + "
\n", + "
\n", + " 12\n", + " [3, 2, 5, 0, 1]\n", + " 0.374461\n", + " 0.009\n", + "
\n", + "
\n", + " 13\n", + " [3, 2, 0, 5, 1]\n", + " 0.583856\n", + " 0.008\n", + "
\n", + "
\n", + " 14\n", + " [3, 5, 4, 0, 1]\n", + " 6.941594\n", + " 0.007\n", + "
\n", + "
\n", + " 15\n", + " [3, 4, 5, 0, 1]\n", + " 2.145360\n", + " 0.007\n", + "
\n", + "
\n", + " 16\n", + " [3, 4, 2, 1]\n", + " -1.080988\n", + " 0.007\n", + "
\n", + "
\n", + " 17\n", + " [3, 5, 1]\n", + " 3.272935\n", + " 0.006\n", + "
\n", + "
\n", + " 18\n", + " [3, 4, 0, 5, 1]\n", + " 2.697207\n", + " 0.005\n", + "
\n", + "
\n", + " 19\n", + " [3, 4, 2, 0, 1]\n", + " -0.219167\n", + " 0.005\n", + "
\n", + "
\n", + " 20\n", " [3, 0, 5, 2, 1]\n", - " -2.719517\n", - " 0.01\n", + " 5.181321\n", + " 0.004\n", + "
\n", + "
\n", + " 21\n", + " [3, 5, 0, 4, 1]\n", + " 5.442240\n", + " 0.004\n", + "
\n", + "
\n", + " 22\n", + " [3, 5, 2, 1]\n", + " 1.537410\n", + " 0.003\n", + "
\n", + "
\n", + " 23\n", + " [3, 4, 5, 1]\n", + " 4.166390\n", + " 0.003\n", + "
\n", + "
\n", + " 24\n", + " [3, 0, 5, 4, 1]\n", + " -0.522766\n", + " 0.003\n", + "
\n", + "
\n", + " 25\n", + " [3, 2, 4, 5, 0, 1]\n", + " -1.083415\n", + " 0.003\n", + "
\n", + "
\n", + " 26\n", + " [3, 5, 4, 1]\n", + " -7.351469\n", + " 0.002\n", + "
\n", + "
\n", + " 27\n", + " [3, 2, 4, 5, 1]\n", + " 0.203801\n", + " 0.002\n", + "
\n", + "
\n", + " 28\n", + " [3, 2, 4, 0, 5, 1]\n", + " -1.303056\n", + " 0.002\n", + "
\n", + "
\n", + " 29\n", + " [3, 5, 2, 0, 1]\n", + " -0.006054\n", + " 0.002\n", + "
\n", + "
\n", + " 30\n", + " [3, 5, 4, 2, 1]\n", + " -15.137090\n", + " 0.002\n", + "
\n", + "
\n", + " 31\n", + " [3, 4, 0, 2, 1]\n", + " -3.885974\n", + " 0.001\n", + "
\n", + "
\n", + " 32\n", + " [3, 2, 5, 4, 1]\n", + " -0.035426\n", + " 0.001\n", + "
\n", + "
\n", + " 33\n", + " [3, 5, 0, 2, 1]\n", + " 7.112032\n", + " 0.001\n", + "
\n", + "
\n", + " 34\n", + " [3, 2, 0, 4, 1]\n", + " -3.206907\n", + " 0.001\n", + "
\n", + "
\n", + " 35\n", + " [3, 5, 2, 4, 0, 1]\n", + " 0.351331\n", + " 0.001\n", + "
\n", + "
\n", + " 36\n", + " [3, 0, 4, 5, 1]\n", + " -0.695107\n", + " 0.001\n", + "
\n", + "
\n", + " 37\n", + " [3, 5, 4, 0, 2, 1]\n", + " 14.386599\n", + " 0.001\n", + "
\n", + "
\n", + " 38\n", + " [3, 4, 2, 0, 5, 1]\n", + " -0.072976\n", + " 0.001\n", "
\n", "
\n", "\n", "" ], "text/plain": [ - " path effect probability\n", - "0 [3, 0, 1] 8.893562 0.98\n", - "1 [3, 2, 1] 12.030408 0.96\n", - "2 [3, 2, 0, 1] 2.239175 0.03\n", - "3 [3, 1] -0.639462 0.02\n", - "4 [3, 2, 4, 0, 1] -3.194541 0.02\n", - "5 [3, 4, 0, 1] 9.820705 0.02\n", - "6 [3, 0, 2, 1] 3.061033 0.01\n", - "7 [3, 0, 5, 1] 1.176834 0.01\n", - "8 [3, 0, 5, 2, 1] -2.719517 0.01" + " path effect probability\n", + "0 [3, 2, 1] 11.914854 0.660\n", + "1 [3, 0, 1] 8.756234 0.443\n", + "2 [3, 1] 2.105700 0.202\n", + "3 [3, 2, 0, 1] 1.635862 0.094\n", + "4 [3, 5, 0, 1] 8.670284 0.060\n", + "5 [3, 4, 0, 1] 6.979752 0.054\n", + "6 [3, 2, 4, 1] -1.146483 0.038\n", + "7 [3, 0, 4, 1] 4.459602 0.028\n", + "8 [3, 0, 5, 1] 2.864025 0.026\n", + "9 [3, 2, 4, 0, 1] -4.602396 0.024\n", + "10 [3, 0, 2, 1] -1.512156 0.022\n", + "11 [3, 4, 1] 4.954881 0.019\n", + "12 [3, 2, 5, 0, 1] 0.374461 0.009\n", + "13 [3, 2, 0, 5, 1] 0.583856 0.008\n", + "14 [3, 5, 4, 0, 1] 6.941594 0.007\n", + "15 [3, 4, 5, 0, 1] 2.145360 0.007\n", + "16 [3, 4, 2, 1] -1.080988 0.007\n", + "17 [3, 5, 1] 3.272935 0.006\n", + "18 [3, 4, 0, 5, 1] 2.697207 0.005\n", + "19 [3, 4, 2, 0, 1] -0.219167 0.005\n", + "20 [3, 0, 5, 2, 1] 5.181321 0.004\n", + "21 [3, 5, 0, 4, 1] 5.442240 0.004\n", + "22 [3, 5, 2, 1] 1.537410 0.003\n", + "23 [3, 4, 5, 1] 4.166390 0.003\n", + "24 [3, 0, 5, 4, 1] -0.522766 0.003\n", + "25 [3, 2, 4, 5, 0, 1] -1.083415 0.003\n", + "26 [3, 5, 4, 1] -7.351469 0.002\n", + "27 [3, 2, 4, 5, 1] 0.203801 0.002\n", + "28 [3, 2, 4, 0, 5, 1] -1.303056 0.002\n", + "29 [3, 5, 2, 0, 1] -0.006054 0.002\n", + "30 [3, 5, 4, 2, 1] -15.137090 0.002\n", + "31 [3, 4, 0, 2, 1] -3.885974 0.001\n", + "32 [3, 2, 5, 4, 1] -0.035426 0.001\n", + "33 [3, 5, 0, 2, 1] 7.112032 0.001\n", + "34 [3, 2, 0, 4, 1] -3.206907 0.001\n", + "35 [3, 5, 2, 4, 0, 1] 0.351331 0.001\n", + "36 [3, 0, 4, 5, 1] -0.695107 0.001\n", + "37 [3, 5, 4, 0, 2, 1] 14.386599 0.001\n", + "38 [3, 4, 2, 0, 5, 1] -0.072976 0.001" ] }, "execution_count": 16,