From 5e393ab8637beac9ae9e5d763ac1312a30e6ed7c Mon Sep 17 00:00:00 2001 From: yyong119 Date: Sun, 2 Sep 2018 17:33:31 +0800 Subject: [PATCH] Day42 update --- Code/Day 42.ipynb | 288 +++++++++++++++++++++++++++++++++++++++ Info-graphs/Day 42-1.png | Bin 0 -> 44015 bytes Info-graphs/Day 42-2.png | Bin 0 -> 54823 bytes README.md | 1 + 4 files changed, 289 insertions(+) create mode 100644 Code/Day 42.ipynb create mode 100644 Info-graphs/Day 42-1.png create mode 100644 Info-graphs/Day 42-2.png diff --git a/Code/Day 42.ipynb b/Code/Day 42.ipynb new file mode 100644 index 0000000..74a6a68 --- /dev/null +++ b/Code/Day 42.ipynb @@ -0,0 +1,288 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这是Python,TensorFlow和Keras教程系列的深度学习基础知识的第4部分。\n", + "\n", + "在这一部分,我们将讨论的是TensorBoard。TensorBoard是一个方便的应用程序,允许您在浏览器中查看模型或模型的各个方面。我们将TensorBoard与Keras一起使用的方式是通过Keras回调。实际上有很多Keras回调,你可以自己制作。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using TensorFlow backend.\n" + ] + } + ], + "source": [ + "from keras.callbacks import TensorBoard\n", + "from keras." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "#创建TensorBoard回调对象\n", + "NAME = \"Cats-vs-dogs-CNN\"\n", + "\n", + "tensorboard = TensorBoard(log_dir=\"logs/{}\".format(NAME))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最终,你会希望获得更多的自定义NAME,但现在这样做。因此,这将保存模型的训练数据logs/NAME,然后由TensorBoard读取。\n", + "\n", + "最后,我们可以通过将它添加到.fit方法中来将此回调添加到我们的模型中,例如:\n", + "```python\n", + "model.fit(X, y,\n", + " batch_size=32,\n", + " epochs=3,\n", + " validation_split=0.3,\n", + " callbacks=[tensorboard])\n", + "```\n", + "请注意,这callbacks是一个列表。您也可以将其他回调传递到此列表中。我们的模型还没有定义,所以现在让我们把它们放在一起:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train on 17462 samples, validate on 7484 samples\n", + "Epoch 1/3\n", + "17462/17462 [==============================] - 44s 3ms/step - loss: 0.6992 - acc: 0.5480 - val_loss: 0.6900 - val_acc: 0.5274\n", + "Epoch 2/3\n", + "17462/17462 [==============================] - 41s 2ms/step - loss: 0.6754 - acc: 0.5782 - val_loss: 0.6685 - val_acc: 0.5885\n", + "Epoch 3/3\n", + "17462/17462 [==============================] - 41s 2ms/step - loss: 0.6377 - acc: 0.6483 - val_loss: 0.6217 - val_acc: 0.6625\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import tensorflow as tf\n", + "from tensorflow.keras.datasets import cifar10\n", + "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n", + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten\n", + "from tensorflow.keras.layers import Conv2D, MaxPooling2D\n", + "from tensorflow.keras.callbacks import TensorBoard\n", + "# more info on callbakcs: https://keras.io/callbacks/ model saver is cool too.\n", + "import pickle\n", + "import time\n", + "\n", + "NAME = \"Cats-vs-dogs-CNN\"\n", + "\n", + "pickle_in = open(\"../datasets/X.pickle\",\"rb\")\n", + "X = pickle.load(pickle_in)\n", + "\n", + "pickle_in = open(\"../datasets/y.pickle\",\"rb\")\n", + "y = pickle.load(pickle_in)\n", + "\n", + "X = X/255.0\n", + "\n", + "model = Sequential()\n", + "\n", + "model.add(Conv2D(256, (3, 3), input_shape=X.shape[1:]))\n", + "model.add(Activation('relu'))\n", + "model.add(MaxPooling2D(pool_size=(2, 2)))\n", + "\n", + "model.add(Conv2D(256, (3, 3)))\n", + "model.add(Activation('relu'))\n", + "model.add(MaxPooling2D(pool_size=(2, 2)))\n", + "\n", + "model.add(Flatten()) # this converts our 3D feature maps to 1D feature vectors\n", + "model.add(Dense(64))\n", + "\n", + "model.add(Dense(1))\n", + "model.add(Activation('sigmoid'))\n", + "\n", + "tensorboard = TensorBoard(log_dir=\"logs/{}\".format(NAME))\n", + "\n", + "model.compile(loss='binary_crossentropy',\n", + " optimizer='adam',\n", + " metrics=['accuracy'],\n", + " )\n", + "\n", + "model.fit(X, y,\n", + " batch_size=32,\n", + " epochs=3,\n", + " validation_split=0.3,\n", + " callbacks=[tensorboard])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "运行此之后,您应该有一个名为的新目录logs。我们现在可以使用tensorboard从这个目录中可视化初始结果。打开控制台,切换到工作目录,然后键入:tensorboard --logdir=logs/。您应该看到一个通知:TensorBoard 1.10.0 at http://H-PC:6006 (Press CTRL+C to quit)“h-pc”是您机器的名称。打开浏览器并前往此地址。你应该看到类似的东西:\n", + "\n", + "现在我们可以看到我们的模型随着时间的推移。让我们改变模型中的一些东西。首先,我们从未在密集层中添加激活。另外,让我们尝试整体较小的模型:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train on 17462 samples, validate on 7484 samples\n", + "Epoch 1/10\n", + "17462/17462 [==============================] - 11s 604us/step - loss: 0.6033 - acc: 0.6652 - val_loss: 0.5298 - val_acc: 0.7320\n", + "Epoch 2/10\n", + "17462/17462 [==============================] - 11s 646us/step - loss: 0.4859 - acc: 0.7659 - val_loss: 0.4723 - val_acc: 0.7763\n", + "Epoch 3/10\n", + "17462/17462 [==============================] - 11s 641us/step - loss: 0.4270 - acc: 0.8045 - val_loss: 0.4603 - val_acc: 0.7803\n", + "Epoch 4/10\n", + "17462/17462 [==============================] - 12s 699us/step - loss: 0.3675 - acc: 0.8347 - val_loss: 0.4476 - val_acc: 0.7929\n", + "Epoch 5/10\n", + "17462/17462 [==============================] - 12s 707us/step - loss: 0.3012 - acc: 0.8694 - val_loss: 0.4854 - val_acc: 0.7797\n", + "Epoch 6/10\n", + "17462/17462 [==============================] - 12s 705us/step - loss: 0.2165 - acc: 0.9118 - val_loss: 0.5450 - val_acc: 0.7865\n", + "Epoch 7/10\n", + "17462/17462 [==============================] - 12s 712us/step - loss: 0.1332 - acc: 0.9510 - val_loss: 0.6512 - val_acc: 0.7821\n", + "Epoch 8/10\n", + "17462/17462 [==============================] - 12s 705us/step - loss: 0.0764 - acc: 0.9743 - val_loss: 0.7487 - val_acc: 0.7809\n", + "Epoch 9/10\n", + "17462/17462 [==============================] - 12s 713us/step - loss: 0.0389 - acc: 0.9887 - val_loss: 0.9041 - val_acc: 0.7743\n", + "Epoch 10/10\n", + "17462/17462 [==============================] - 12s 708us/step - loss: 0.0287 - acc: 0.9921 - val_loss: 1.0411 - val_acc: 0.7702\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten\n", + "from tensorflow.keras.layers import Conv2D, MaxPooling2D\n", + "from tensorflow.keras.callbacks import TensorBoard\n", + "# more info on callbakcs: https://keras.io/callbacks/ model saver is cool too.\n", + "import pickle\n", + "import time\n", + "\n", + "NAME = \"Cats-vs-dogs-64x2-CNN\"\n", + "\n", + "pickle_in = open(\"../datasets/X.pickle\",\"rb\")\n", + "X = pickle.load(pickle_in)\n", + "\n", + "pickle_in = open(\"../datasets/y.pickle\",\"rb\")\n", + "y = pickle.load(pickle_in)\n", + "\n", + "X = X/255.0\n", + "\n", + "model = Sequential()\n", + "\n", + "model.add(Conv2D(64, (3, 3), input_shape=X.shape[1:]))\n", + "model.add(Activation('relu'))\n", + "model.add(MaxPooling2D(pool_size=(2, 2)))\n", + "\n", + "model.add(Conv2D(64, (3, 3)))\n", + "model.add(Activation('relu'))\n", + "model.add(MaxPooling2D(pool_size=(2, 2)))\n", + "\n", + "model.add(Flatten()) # this converts our 3D feature maps to 1D feature vectors\n", + "model.add(Dense(64))\n", + "model.add(Activation('relu'))\n", + "\n", + "model.add(Dense(1))\n", + "model.add(Activation('sigmoid'))\n", + "\n", + "tensorboard = TensorBoard(log_dir=\"logs/{}\".format(NAME))\n", + "\n", + "model.compile(loss='binary_crossentropy',\n", + " optimizer='adam',\n", + " metrics=['accuracy'],\n", + " )\n", + "\n", + "model.fit(X, y,\n", + " batch_size=32,\n", + " epochs=10,\n", + " validation_split=0.3,\n", + " callbacks=[tensorboard])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "除此之外,我还改名为NAME = \"Cats-vs-dogs-64x2-CNN\"。不要忘记这样做,否则你会偶然附加到你以前的型号的日志,它看起来不太好。我们现在检查TensorBoard:\n", + "\n", + "看起来更好!但是,您可能会立即注意到验证丢失的形状。损失是衡量错误的标准,看起来很明显,在我们的第四个时代之后,事情开始变得糟糕。\n", + "\n", + "有趣的是,我们的验证准确性仍然持续,但我想它最终会开始下降。更可能的是,第一件遭受的事情确实是你的验证损失。这应该提醒你,你几乎肯定会开始过度适应。这种情况发生的原因是该模型不断尝试减少样本损失。\n", + "\n", + "在某些时候,模型不是学习关于实际数据的一般事物,而是开始只记忆输入数据。如果你继续这样做,是的,样本中的“准确性”会上升,但你的样本,以及你试图为模型提供的任何新数据可能会表现得很差。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Info-graphs/Day 42-1.png b/Info-graphs/Day 42-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5cd698b83d13a7ccd03b3ac78c4c25d0b574d99b GIT binary patch literal 44015 zcmcG02{hDi`?n~Pwd^}7QuZ}FB@&vXkbTL%CHqbivX&ylP?UYmz9(gg!PxiRSjIlK zVVL(jL;ZUG&-1+RdEawh=Qzy~_xJwZ%XNLO&-J;k@CWx*$SyEmz{A5MQ@yM75DyQ3 z2>9kcPYC=ZjgG$!_=ot}-6t-1c(hls-)B@GUfICI%l)LPr1;3wXtfUELDQ1B3z2U! zE*U^xwUcFIUFe-Vdbzcl!Avk}@prB_$DYtioOVv-m8Pll3() zx@QTQPCi9^GaT0L|q!*(6Q(`29jXlek}=PAyMq?fFGX?cY9aUJ)l-NJ|kTk^>&aGEke z96qBejsxr4Ee8E!9R17R5H?-L!~0|TUr=l5z8m#qi->m&$xsP(^=bO}BVAw=h`15H4YyM3#+p0)~kjUoQgN_JS*jwYR zz-J}Of5os)tt859Str>16!gQ%#y(Q^K-~C&y>evO@IgI_~yzbTk6LV z?}3B!?7md6tged3#-&({NW^mVmiq1)y_GJLCg7AP2w!5fx3rHXw>P+jiAJQJyh zCgH8Kmm8MVln5*MGEhdHdD6_Z>nWf?7rEVKI^1idY>Nyfmlh@|Qqbj%6QFSOy$?oV$-HqL$fvn;GHZQXdSoDVn@(;Uqj8CgT1wn z6P&AB%kN&-mWwpp_lN~W5Iv70wH_bM6rTh!Xcm_yOpmAqz3d+aUJ>mROKmY|@qPJOb#Y1h64qu)}%6 zvn;OO#G(jmFp)QbIn;SN*<(uYSuJUIXBoj(Hu>|ovtYN6Pi7vLkeC#aH3ohRzAq4D z$zqIr-#$ShNlTBYr&3A?ZR*)llpZ8+&6H}@xMV#LWErjoJ>n1a&9qU|6Tu!bP=P{G=ZtGzPZfrq7;*IVO5Z`(X~)dXgnU-K}@gJe_U`MoF1vFb&pD_%=8nuqV zpNUonVN#TfYn4iJqb29~=;*>A-76`n8pHqo;-bdPSC%E2KOkJ{QikgpX%|02fPG51 z^}&=X7}~7&VScfPqW@XRFx-Vzej*>L+hmeS;HUg&gAzrCX3~}K?_X|f`7{tQVbTd)0_VFfXD=Mjmv zx8}la=X;;GzH5x;vbhgu)=b;!J9Fz@_>aQxJ9lLHb*wz@oe9n-pt_oE1Fbzf*Vo6y z5OKP#oemjxMH-Pen9}xg`qg z@1IvOcrs#bZyza}BL49Sg?0QJ9ccfr%=uWJV8~O2Ypz=Nx0$c262819I3y*g`4-$S zGsJC`-<8T)?as%0jeG>ShAup5R2RQ+@hb7pNi8eA+?N822$`Bv{B;_i{xT`y5kI9@}Vx&54I)g>*(9%QPQJlZZC zRM0Zpx-3o0CcZ5jQRCObyj5yM2a$iQfUreTdI@`SQF|4SO7iUw)~siL;Nb^55V?A* zYS_RNm)D}d86c|>o5e-nn6ab6WrBTkg5@{?qhSqPhLsm%ohB+)<`?oAs9#Ahl|O_) zAbNd+gS{hVc1LA?;_2DhZETeLSR1*)s1gmBNKG9bIv*Jag%Z~HJ!5W_!S_q;GgBOx zj&4>LKF&?O(%mVn>y$$H@^qK}c}zj0xX?_bZL=4bKK=4yq&s!Jno$%)+T(y^FZ9)` zJi4FAox#%=eWnh2gDe3P$ev0F z*gyQ>e84fZg}|pd(o#B2R9h2SmsjPY-L=03K6qjP?_~iUhcvV8Uxf{_Q5sfJ$A2ao zOeGgp1I#%}6l=@r?Ex>OnjvPKbUr>PjEO-Y8A*{2aT8>(w6M2Vj~E!xwzaYOw7Kb= z3mY9!&s;z=!HkdP_uH_>{pVlzTV`I1-u|{pk()`{ zmBjuI3H}s0+KJYoFHra=h?_~#`1e~X`8pl^KB0x3N;5uyI}L& z0TMQ)Dy)ZmJHF-Dc4ae)ZF;$|$EEo-%?-1dOfsBHo_p+)vc*GM&T(>c)oodq6G{eZ zX(j=)O&RD;&QN#DwJ1C~-?t@Tr=cRO-Mv$!0J)T%!WzIs?RO*xE5XRxl-e}1C}|+R zkF-5QRVc~5S118i$iUY9%*n8e+i%rvEQ4E{Uqp$?Z=ttBiWG=eSBf3TV09v&Q8QEP zsLHDb|CftW;IJO8aSRwSWULN4hD6lk{l=v`lpFGQOTm%w$^JG3zZHlLTMsq zx17R#um8SsK zL@s?H`5M41t+3sHs1!5Ki24_YBs}iQoPn!EyVNzxXQGL_zlJE49CK6>t{n)$UhBN5hfn{PiPQA^ItvQ++mr4W zF95hoQ8>d;dVNB@bfc?B0qO2Qvi^25x3MH4{@HLR7b!V8j8DWVbKMwo8!WOw%*e2L zEE%Dg@6i;Ql$DFn)xFg>Hnz;Rpu69bwqcDIz_yq2@ag5$t-1@}pQi3C$An0nL+<&K zg(0TvnZmRiRIQ|TL4|T!_}1|XCHGlR0NKeUz9SkF#Z~{Nn7%gy;uRVuVX0QK-Ql35 zuYFGK+y~hmrPMkl0)fsg5Iw@S@P7^CwXFSC%_LBvN1nlIB?6_G9Ft5m+ z^3tRECcEq74U664l=3TF2CLt@9^a9?Eql7v;dG?KtgVw;ykN~8)j>%WAr1q>JxjyC<;Y&tp z+d~ah4*NHCb1aBIT>I zKdIqUalw&dvh1C79l!*tF_w*VnyZXh&-hskY&Hgb+7y_~D0cBH-nj$d(EKw&Q6fzC zrqTVw)->Wj?Tfs`rK-nni*+uOmhbBUPIASa2XOC+i_jSKmA>-?J8rHP)8jqXU56~1 zN57OL=;-jd?)|m4ubw(82;#Ba<<YZc9X*>g9UeQs#!gO!oHn?27#k-7#7$&7#MK3ShbX|;PYtpa(45M31t{rGjt&ie&Fv#fFVBFc+DQ@X~ z)y=FE4Bb*a$dwyPe^I2rb(9lrNe)wz1K)$|8OAK2DBOf0h z4%I!6Ta+A9&h+p{v}DU_xX!eiVr~Y!XyaJkDSUEEC*`xqCaUwE8HTbq#>QyOs!E2zq*g5_L zkS7U)vl~<_Jtf_8z@+8V1iCdf+JKcGU17ifVsRJ~KRBJcN4YwFi548>&;Rc>T3eJN zH956IJ@N#cX-mYt3DgkN%2`qjM0tYtUZm8{;UTRx$LM8T!Z zl%;Kd^$WZ4sB$2U!VKoL)`Dkvvd2TS_wM>kH(VVY-)4ZtRkR|uphRKhYos@*iH;2Z zJ~7`+5C9^1Xai^Z+!ty@nnFy1-`)8Z>9*cGG~4i=5bop>w(CHm)~lII@Z!T0_)hP4 zQW4k_yE3D`Yb9^sv(6Uwl_*dCy+(0UGnpaIQAE;F4O4a@=dsXooI$lh>Duiy6;2GE zJ1xc#)^+voFqgC(2t+^ILu(ftC&Rz#BBLTXn@oewuC6qKjFSUuM0pFxH2S{s@Rkw~ zzWnvJ#&`LM3W$N4jQ5ORe=1S3o8a=EQuZ3>_X00^qAzi6yZm)uPr(n58WQC%X$M6V z{0s(NR!6uy&Swf7Tl9Q1@H=R*u^#6({bVS}{wQ7s-do>!JE##ZH#*2NCZc)4f8_e) z%XUyOwen#vUB=kUi2vkL!$pyL8mz7%RrR{Q(B)ElE6h^Fp4#oLZHHt3rcBUo-)@;u zRI8obsX2EY12Gt`%1=VRzHVG%3Eu!LABXVGnLrP@+#G^6QyX3Wx-IDyHHmRa ztFEw~9DtghtEsF#79_m;KX9EY)Hl7a$_TqSB4mlQtG?(5MRJcnL=!oYmQT%Eh+atS zu@6&&dU5Tc9#x@)Y*Kfp1GpxWq`jaq6PT_>=o{a-&vy)r0_X_}#n zmd-q+TDs3MOvKudXg!r`@%JnD8DwbPYg51@JBUC z$6PF1zi{J&rY1E0S+*p|)y>VO*rJ_QufmaqMc#kRwzRZ#AN9_7_E+zZ0>c_~*p1mm zxgOO_J;tT&PNyYTEm=3VF*X6>?%sQ4`FLOw-zzDU3a zpe><3)~4;AwG;fA=hl;yav}E69UfDaTK$+2aVOyF$RIr}7iZz%s~b?Sw1x)bh}F>w zt=qQ=$Vf?bqp&ey>Xw~>7Z~SsoGs#D0r9V-_Igo%8vdlL(#*yJmjI`u6_bj{R5KR% zvgy^3v?8BQvYr+(TA!j#-yR40k}71R_;gJ-%(2#md>SH#PMUV{2RV6OY~O z=wPSx`TRXwJG&A_nTV#-*cqB6ad;7My4rcV7XeH%r-5vQjAnVwKa?kTC@Yk9TJ@cY zpjcet>^X0cawxt0r2b~PV^8a7S!1I&Qk4DC1ppq!WrNQ4C$V`|4ejgd3es@i{=O&Z zdvpfIDWRHvbZn5u>C<#U%h~3x2^t$I2eZVEiVbloCu?>Ei4E;4WbU13^XQBLt;x=i zrIEL4NF#gcyilR^`(97(9{ozoxXe>kEq)7oDSNq6x1iBzK}PXmU!-{uw>($%G2vlY zy@C4npmFPQGezNa>cz%?y_c{j7UDn5R48dQK_AQunkJFX{)GpuJIrR{NeFCYAJ{mM zH~={wDKp8fdgh+9z7Ja(?SvSy%`wsbRKN^1^tSD#3Rqw1iH)%1d;wTEOTBrmiN{%c zy0HSDnQuOD%g4JN?YL3p`$jFMq_!Qm#F#H+s=oq^XvPjbG*$-#xQl^b|UN!91w<9QUjv8x?M24Q6BhF-4QAbE%9Ogcfv+k`IS6dd%FSNO#i5^a(|Br+)2uN{w- zk9(l?-mgxbsB?yBSB@Q)-DqjN-va|AEa3jtYwma1@pv_ZiIn}Xr++WCUI>y)6QErJ z8Kbvn~^w0GsJL1Z+&|f+xKf{56C|y2g}CcOr_E zQ6EzQiX@X3i373#$84qNdf@UrGuDi)aKJ#?36;EP<3veIu*I}TRpvlOq85zXZl0l= zNpd+IOjpRik7-| zg8&C>`po3`h=5QYAdmW7GZ*TT>J+=!Haw$*CdYJNf^Do=?Y+8b2sXYqP_B+p(t>|K z5}hM5@RL-W$<8#s{|g&FzgEm0t31=9-r_>jbhMS+^B5IIGchORvGOl1?WOseTJj=E zUeObDSoQ(b4kR?NgudA563Se^elv`yx;N#bkmrMYYok>=`e{0A@dW%7^`ir4Ei3|0 zU-E8Jr%5hcvLL0J`Q^n|BYh?n<>j^qfa)H*{*ihe~bY*qkkFf>W<}n^}m1l~TJHEa4IkC%cYgT9JSGojf_mHG(T(M? zh63>(K-Hc=kNXFN4<>Va2u=f3gn@-EjY{4aj>;?;_5D~XUoogXn z(JY_CQ|>de)eC+BCYn7gjVaqhSitvn}Tl+Q5zeFt3u<`FR$850)%n`IQRX@ zQqtQ)z#^JWDOHqgu&sDk;#NaxkF`&4B&f}gS_{K#6$b{yjRc3V)c-}uWB#&;Fo3n> zmP*fOe0C;Pr|-to36db+oOHv0be&o@_>lXv{GCgn$oXqXc*_s4*K^aIB&9u!0pn`S0ukfolRKe} zw0U?!S!#(uQi!O9!ZuU7EMiga@Js>zfMF)y0A|t;d+2ws(NPO0_MiVB?9W@KcbcMfc(%NL7}Vs8J{5KG_FbGNAiPjH}UOgEnD7kc?;xCWXR6H z2XIzPYwU(UdKnr+2=Xs2s7eo6Tvho3^M5qPF3YTa7t}vmMGC|Ngwl9~HF$rq{YyY< zMEftge`Tn+33~%h`TokjTE}_e<>C5p?{bIFR5c#W13cVcyF0Dq1Ck2loZIKVd3ZIZ zW_cXF9;#-3(w!{2l_Lovxb+3_$U@>*h@JdhGrTbFQkdke2RYoB;KkATlzP`xLg7T~ zg_poKkh=fghQXlD)VLT$;NMN~p ztwF1jPA0P|>`V`7pgcivY?3lF4*{w}z45pJ{&1e;3Qg|{CLN=a7_*PaaQgoJDR3gl z0jH2*@MQQE zM2wUF97OJB3ra%Xh@1rfdO@O9p%<*v)IpbCh@T~_F<;YI*wfEuD-HVSc zGGqAz7Ge#!b2xp%Cz5Uu6{s9XEhb%UjOMU-a1k0G1V;)jOJ&PRZ1AuKdS8Wu>G2M9o$6$>vxh%3+J}H56|5k zwCcT!%-BD8(`qYCM`AtD1caHt3439OyPhOBCj4WdWeraD8!#JIjXn;ef$yM)RLuv4 z81?OW{p`UvHGQPPe8A-fG0S*9hyW02Z-TM^(t65Mk)cwTljK{m!>Blpv|sMeHIGSZ zp1w`AWZkPRRqR&BrlS91vH=X1-dp`r!q%XkPVsB?mO#BP#g0Ata(R6iZ-vXJKucKw zL2Ai`04Z%keeRN1FRff_r14!?s!-fIT-SZyj+E7W&lKo9AX-1v3GZ|brRkYgashzI zY5vQ6^`O_$f2HjeoPyHI`}-coYt4qMXN9etsihe{rFM^m>h##x}w zNL{G1u{!tn$Z)AxDVHW?=~wC=-YH&~1A?^BfU88Q6e*vZ5ZWO$D`t0G&ipg@K%smm z_k{dBmR|{2kDlTXi|5f7S@-<9Vv$x8aA~fp1~Y*v?UY}8lj}~73nov`=+g`W!y4tj z^?o`ycs)lzflFF;{kYhR0cL=TrPo7K!ai{|(6>FthhpUg(Q$|_k$#zADA#CLRMTzK zAeM)A@Grh>JbMWp$5oi6@x)#6ZI^Sn#344l0AP}*X#`PGgm!PeHm3M;?sfD$E$BVe z*E_0UHZiIhtm!U)8FJ=s!KD*pY+x9G(^M!HLVliA>gcI@UYwCQXx4z4d&-*p0jXA9 zx$-zId=oI7SW(0Z>&X)y)e&s^7iKm=ZtbVv5g)zUs-Ed&1lpc~^ynf7eR&D5=n#wI zv<{tx4Xw}^@uGq%KRTFxOlxf`=*xJ6EWjaQRTJX`ICTXi$DKVOGq$PG#JSnGD9bx@ zVb~_+3oXI>e)r0Doo zp~Oens)&dvbTK}$qIa(l!vRf1o{ft95wKD?P-EJx(bqqJHS#ZlB-)DJfI>Fm=A?rc7Zl{mRPGeY1E?UOKiojdSC03t@*PnR@4<1z zUK?}uT%uB{p7QCkSQJT0PU3j@*juVeI3AvR_nKJ|WpFsXDE-di;y29;z(UZhDxfvF z)<0b*e5uC3N=cu>F;kcO^W!%kJ>+8Qj7Q9s0 z^TpkyEH{tdADE%=MdtBeRFo@I>o1Vsfw#OAX`&hIkiJuQSeaa@i)M#y-ZuTjfK}bN zgEC0Px$WFueHjY;)@F3YZTSfkQf<|ftwQ#elE@^g~E zLsc7N_W>=?fIPcX;TVyhdgVH-vm7T&>i-7Jy6|xmRPsFms?YIJN!PX;>jl=kRPf+G%r_~wr{d0u(40CJdZfnO*%U&)0 z1o{I56y04caLnZ*EN^VG2QPYn6GyGJy=%1mp?3~;R8ZDQslgXx;2_jlYOE4#tu48+^Ez-3^4!@|#3T_%$40^nI{~%FBj+q^ z;B|SEsW;+wXB&viBOkI}ic50W27nLg`S<5gkGSIoQ+MZD(x(+wEe|^+)WX+lI9dl| zj`e)>`2RArEOsnmsaKj~R_Cwy=R|me&PohcvcG|AO$2T&k@Vs#U^rySyJu%&+> zR6^}V=F9LW6#l#dh#QI-qg8kS0eVKnQrC^xo9^xRE%l$JWc=D z92up+7zfqb4G*fafzS~6Qy{zh&vFzLG;F|Ic6V~?*aQJPRtjY7Wu?n6=6f5$(WnX^ zqPPY0HGVP9)O)9j2jHY!^7t6;3@A~8iq|9!HcatoV6}yB7I%h)+vN7-l|}~%Ei7WQ z-NgZE5|CG+1rYj}VSv%GTxs!rI8xIKX|8v@r;{itjQ03R^cmmVKCeT;kCjR+J`T&C z$N^RRf|LtexnDw-FF1mE0@a`_b_o{&yQ-c8LdRRjc|;DEr))`Yf~LKO`vbuTjq=u3WMl2#2$- zF9e`#MF(o?Tx`iWka=IB7Ug(ggzL|RLp&4Xd0LO1W^Hs zH6+$H=NZ*W0k-*BK5FAruxqK!4aiXSL`=cB1~x_gWfZj^Uud)cvxciBl%#M>rKQ3l z`C*~%BfXL+Y?$^NO-GWpZFou6G*Y}3`j!I^GD_>ByEvX}UsbUsX3m%Ks1DMO2gd4Q zej|IQ7wIj%&2KnWPW5wXxw-AQ{PWNdJ;3!oQbPWWa7FbwSC36F{s`~n0j5$mf?7U^ zSsDq(%*45z@6s8_nM4v$xbhYu#7 zJ1x1mhB^ImRse!9b!@~~gFWVbN~xNu=vIp5>v1{dBA|NT{ZeL$i4Pim!;G}F8Mx@| zH_}RDxjXzT{M7*fbUycVP*7$Wt8UK)w4O!nrpNiDT-L;@M^CPOcA{JpqR2~?b>Vo8 z9EiS)z9p-dimVIn^yN3we^2!tsMB!uy2+b-k4u#MA0#(KE-G}f121e&ubFY-tJu1M zO6e5lp83&;tdbAY_wRUDt^--Y(~Bh5Z?(_m?yM!P^1UuYq_;EA2i5*u{mC;TO?`9S ztT+ZJfV=hpjqt~k60L}X18=<=_xy(PE=y4{G1LjQPHZ&Wie=W9mzPV|Yoy3w;qd&v z5(iGV_5Jv2@|E6S8l2hiiJcpZTgZT9^%pwuBkmnPl%oB3mZiRCn|nD;cOJl5c`;I6 zKSx@AADVbArHVF=k6EZo=9&_G1c;5(=;r8Wlh#_lwshEt<6)1kVPIpUBA@%(*pk2) z8zbXaMqex5(@ez3=qN4|K}JRvXPheU0_JD7{Sras4hv~IT=c~-bp&vs2teH-TTTzoo+DZJi$(waj1 zUzUE{s*h=cECu~x$z9Gpa53s|ejnK=vz{jX)&Y7Bx9nKGZp*sDvf(UG%8M@#ABc4M zZ_xVe9rNC`_rUmVw2t~CQzMkF0{IX<7D~c@gWQoXuS)$b5DpRG+lqI~gf&e-j8UUTkDqLN9wbJ6!9tmD9Lz@{YS= z_HW_di}s$PvRa}@qY>k}g{#FT0T1Qnz-(jLDU`T3?3)Sv2IytV1b^7Sl1x)Vh)Go3 z2Rmyvx1>Gu(~M~!{#c?Z0k8^IdfQkL2j^zZ^SKO2*EVGxW^S(1b$Adi37{HW7h2{Ml%i_HRZFIo`< z_(|i^>&dc`B?hf$T~M`NB);j)SG~z;#1Y@$MKEmKi zdxJ4x8*UN_-l1rG*$r@Lrrxoje?;7@$;?d*VYiv;g8EIyT^{PLcUObLQZT`y1BK&i zedS_#nsRp^;VAbrK^j6y=B8Pw!^9NgXt2c}2}`gs%BNW7b9YDizLBBaLsGyM*z{Ya zNysb5)4_`&htcjmU-sZ_LWnQ&RI3q_Jpw#{4(>$%-dYM!VzYHxhKjdj{33TnSI?91 ze)S+R^xFgps}{F8zV)!pJQt2tz2Jlpc@aRywCg)Bo!$Y5x@ebyidCK(!%A_n5TBmD ze)g9yAQizy}ggU#O|vjG=Rx`s)zi>0KVxic;3nWVheJtlgfu_ zaRfce-BJ`jU)b%5SsL2=&|F$8e&H-4U;BiI&nRou_P8+ZW;JW>PNu4&w(;YqAWxM1 zF;g1f4FGL^+Xu{ACM}sblMSGUHqA=BwL@=O34mVo-UmP^(r24z+>oMOV4w=X{4z%U za{Emr4^H)}ktB}#D|7eM5P6)j+E;ADha<@K5o=)U1(9_bG0BuD8E+AY?q<2RysG-3 z9Vfr8)2XyZ*nv#Eu$UIEH(cEGnq%69-_Kq6;^z1e7TEi>)O^3-9<&(;=))M`h5jiz4?7EW0%C(&q{}= zgY72PrEWc83A1WK+2{f(Bup-5&a3cZ^h=uVrF4aov*0*R%lLjK>cqvoGCcv?cf%$T zNzCblhVM+-R$M=J2~JdsbT2U3M=ySkCd(P<^y7YESoEW^VxJ?8)4|l#8KRP%I@3jwxAjyi1i?`A zZUraLKJv#-3#)eFtRxlNH6DbpYKma8v#$f~ZevR~0OEiITB$T0!~HYwo~z{@zNSdE z7ZIB|g9CBWA4$DJAw48@emKKXOv6`K(ySh$J6u#zc5uucdwP!77hI{h1I@Y#{SJ zo@yj<&19hJ{8j1h6z?=0%eE_Dr^wf1O5}KXBiqSeVl6HX^aIIzKV{+UM0pJwt|X7b zuL>C>iK(j_E9>+0ZF?L)WoQ@%UtwV=R_i`2R)sL6w{q5szK~?y{|-0+IghpYEq~2+ zUR2SbI6rcqLq`7@-%X>JFIcj$JPk$r=gqkQN-7iZ@Ib*{zb3x6J|;#51mK3g7f39idapsC@R+z8+Ld|0lW zJ$xnzV@?Z~YSg%@CDpxoTS+bDP54Y>0LOu)&5TNO^@;+{l3~##R$pOt1+esSY#?_+ zb7}!obw$h3L?=(*c}Gcqe{`)!kBOSR0Tb3t0lIL$j%PrODBJl;&+y<=K_OgNZeeqF z{P+fGIsUpGU&l^}%e0~h;3fsQpKQJ!d%m8M>Wz7W;d}E$=ihhof-PM3vsa#3i6K{_ z)4~qh#c>HvdNsB~4@|G|=>yvtR<6Ok?Q{B*n1}CDkdt$P8)^T$j&ggyUN*mPqNp+8 zx%L9Qa8aSRoX73nPcSI{!DLNW_x=$^24%cgHOTfE(C&rjJ28fcj-L0gel&&?+bfii z4kTrs`SdWX)|LsIx9a6(z1!5TT%hri2-8o8duTf*!+&7YQj`2CiTZa?!GLTUB{ zyQ1`Ge*GVEv(%LLAJf|w;7Tu8So&WG(EHc>Z+nj1be?%B&%S|`a4fE^?cSD_^L^8N zpE(22OCBQ@Llo<39~m%agp;xLz7KT-tK(6v%P5<()XXBdBXyziY1!F40N@6QUqGpc zfc6GHz)E6FimqN2LuO{o#0`dTZhT~@vR!aU(eav_eBr!%oJy6if6H~}p6&-$ZZM#P z#%Au*OMcmhg-B|fYIW>X%B2rzwWo1`yKekaht_=LB7FJAG%ck`(QKx!K!wVEpjjY1 zA8%;!k!pP$a7cS9#Yw=FHNz-oH;=^=V*{FaGc1$rpu-;VN==DF%1Z@-+@E` zeSzs~FRxJBwDgib`}m*2lx3_cM}(1d zYah*TOpueT&h*6MJP;5g^Zi$uyR~`5sQ!)9M`vL6>h>D;*ylU(T#((RBhgv?_MGChy! z5nc_PBL^YIXQ{BZ14|SqTRoRIHD%alP`wQG6{({iC3VmH z$2`*OX~V)Ng=Dd{~a|@7`{;iq!BE%V{ zx4I%Rc4m>YL>V-nxJIga5fTDNs?lBON3FuU=L@qe)lR|Ha|w3!$lhUsn(P1%^Jgt$ z^6DAXwfsOJpag)-Zs&Cr18i9W8?Rir^l#627;m{_YJPZKGZeKrpC*N%)B5fW?MQbW|V@q`2~ zPK%CQQi2)>6jR@P9_Wyee(fx{r8Et8v`Q({S%=IxxO%0(z<+wn1(5jQ{AeP8=NjDJ zJRKaZ@l!h3ocN!)+TZ%*07?f4F9*|KEoq#xbW z-GB}BD?VW`QHTXR3bu5E|6G!dc>fpHF`9fjzgRlXXkpx^BDHGx)ZB4c$`29Z2l>4SaR^Cr9g|AS5r!x!atx#fsxJ|IY#bV#1jxcNE_c!@p?)Nb|e^Xx_&6sMff{ zn&dVgPL6`ZFP9Ktugl9%Gv&2e$F?7PcJl-N$c>G#{mu}{K1HNH#1AU;dlq8sk$}XU z_!1#xm+eX%}US$--+ zdH<}cRZ&fKb?MMo3zB^Ois)!Ic}FolJ-y$>h=T=&xMHPKlL&Yk#(04*z0wU|dZA>l z=tbC&)Vxy42x@HE!)E393~@E8whY-F z&M$?@Nrtle&9hby)$)`(N=|Q$WZ@#075vEmsA}Xl%PS0RuHGer1&qjxPi&JJ>hCAC z-G9FNQ`)B1>uAmgD~h3<9F5G#$T%sD285qp{Xq2shg5FIE8Py|TqUb?fFe)ldk`g& z&VQ8$P^-L21f8Xt+Dg5O*1Db@1}~Y|;o!>kta$Tot_(sX5x^>A36VW3?+#h-eQh8A zfZVHA+yF1w5Kjm%Ot-;bHs7G??a0VT9%0wa2Cme?!DsK`;edv#r#Xa;$V0rRSS+-wxy4V7xz;lO zGwhEkk?cA#6W0r#)Kx5PJ@XV~0A$C;0qh#Py%^O}sJ#_C&517Ix)eKUDuvYH@v2g4 zy#n>bCZgqQNaGp@Vda0CBtSq{o11=3?|LWr5e|U*{LNSxtS*hyFxmyQ*TIY2g$;}%|GC3RQb1OI5cxR= zEMWYOD~Y>?6wnXCLkBlW%Rj8lhW5YPxNUodrBcO95fKPKYs&;KeYUE{lCzf(pg}x!Nu44mkzmAw$0M zC^k{?!&I~m=1|y?k?&=@JI=TA6TOt6t5d8a+Iyw4@}H;H)6tbi$yL+3W(X9!0p)q% z6(6hC!hX-`7}NRfN_(r{#qxhScWVcS{#!B(9=}U3PwSgTcg`J^GK-YQ6ygK|pc)d_=8=au#^#p@c3Sg=TaQd0V-tO_n8BrcwDE@>q` zo|cgfDBu|%AOBsJ-P=2htppn?v(q`L{(YD4wS8S9S>_g13;99e?5w#S%GGJX&NzVH zF7M7Wud&0oKtS+Y3qtg#A_}K10|I5?T-3-}&Gk)_s`K(;cdCqSf$GQVutqqfyKlW} z44;2=_#7ay4GzBT+TJm`bU28Kg?D(pP*zs{ehGr@G$3`Ew!XAgzO!)InOu%7Rfn$u zm)m#ikhcW1u|RnI4;lrU9QY}}^@0Kg{c+w4&7vKqLrslIw>tE@v&4_@gM!SxMzYhW#hFf^Wlw-o1ETctn)&=Q+) zaE$&43)Dioh8@t~L)Rc4ohivr_@BNAafWZ1J*$!;DF8ng(lT0R2A}|t0{iV1Ps@z2 zNPxS%7;ndo`^?afRAt5iq^z3@6p&M^RRX3MTlm}z{?ma#CE@vb7v_qyN|a*LA@u@c zB>dO{>c31AkQM+I`uP{HjYy}WLl23Eli@&iux73R($Zo*S5SHS$am$cQHy z_w&*T55Z<-MDjZyiNJ;tfC!%_SoY@4te>3_>Fna-H?M$laAg&h(9>wq+R14Tn{yEr z75(vd74eDMjmYxxTWRR+qxwep$2Zd(A7ydX)P}LxklA@B&8{@A)5OEw-B#1s7zAiJ zzi_HV>qcc{a0Mt#VY>hno41hTip_yw>EyU6lmI#F0(js@{}DRK%Lkf>J5G2D2G`~I zBH?O4`-A4*GgMdG(%~mHLsvOzQw>^iy%lQy#K3^G^c$nS4^UY34*&}PhKd2y7%2x! zYyo@|RM12N<9w^Pxq!9<%Ny0&uE}1S*lrcFAD~cI!1hyc2iB^5DexmXo_eWK-!l?H z_939${12{79#!Y!t@NF!Jr{>6rBAl%NAuRhUCh3x`2s9P)j&td;PdJ4>4{2693pywd=_D$&%&wX_B5TP zKu)<sJx0}@cqcA2{fA>53;Th6RI%#I$ zO%8CUKr@EV8KTB@mlGm3dfD3XR{yob$?wqPj;nSenUD(ge<@s0kn0B`s=j1+ac*NT z>G0FkC2|Tdu9LuNUI5!U;Pf~pv0KKcO9ZQ6!Hi~l$18A*N>^i;@R(={IS^24*upaz zQ?f{Re@LHc>sHh3yU+-QWO5?H~wwBY(7;@*2oP%b%``0rfB{zue88`Yq-)@ z3iIvE6;R)O-#*=#{lA~LaK0!-${Q}9xrd$)i2e^#$VB-zhz_Ga?3}l@`k$?Ea7v97 zKzjhJzq%Tfu2VHm)>lr3J`mf+;olek&rE@0?+1X}mpc3B*&8O`=%CqJnK;~z8S}@f zd1g>YfYv?z%a^Oa=__R*?`os)>`tj+x#Re9=zh}3YoMRPsW^VhrTV5oXhiuG5Pt|4 zdId1C*bFbVO#As9nOj>i_;^emO!t!h>bgL08%(2|3TNO zzHYZ;c8NMSlgqY@l_&t(QW=S$t{IBp_+PxecOcd8|Nl=yWkyI=2&t^B?1m93*?UAb z$=)Q%CMn|xMfT3#BqR>WCYwVx$9C|$p65`#KJWMY^Zx$v{r>)I@Eq55J+JY2-0!ys zr-kFqyLDl)e5DYfaQ|{jtYUFMVn=g~oCN}TF)FFZ+DBGpY0IKJE{m8O)QP{u7a zqr{~mo~q}864OtgnBep4VDYNCkr|hqx<|;_T6e~7zP zTyEG|jzT~5LUf`#>htDytWZAo)f2HyRb21qHE8XG;>8-0Vsu=nO69$PuxpbK2|)_Lr$gtv+-*)cmx#hm-3$Ap{5QFHHCf8oxMvfszpQ% z%M|hat+3#;V(N_Bs7wKxTAT87U9>%o0kxX^{4zsaXQG2^xgv4lH`Bh4UY7gdmJ3D< zxX{kK2@e6UCk1YE%dMl#iA;$Vy|mV~mvuM~YUC;TOtHZTP7l0Y{VE9zTfKCT539J% zRP@f$OK&D7CWYr3HP6^`t`{-O22=RfLf_@rLlpEP+wHDW>Ub7 zCv6|}tdvL$OlRArpuN>NNe4w}%jpGALKsSRP)O~2CV$-bY)yG%a!`Jos&9Pbtw%^k z5yEgWEy>~$ylh^~{oEc+#^Z6DjDvTxThmZqZ|_p-+lx&pPbsTIPac%%2h>i0oumDd zio+|7am(s=ryGr8>{EDRIQwyp{-nd`c%m}bXd;@?@ZzFC&hHj z%Ka2-4Fo?!vU3jWmDClJ{QCuOu^L@}NGr*YICs2^XmKO4sv)BfZJzSLdiLwq4-bQ@ z-T}yup}&8{qSrv3U}zUPLXU;zehH56+QCq=F;gvug|!2`Zr6|gym=Q!vX&rWHQ(Xx zj)k@6YwxSeA<1-~MpkiDQ1}6#yYg!IwaKxq757*>M=Y#o9Fp{M(Es^EEkw@U&%(q$ z;prKjyCXRK#+}%UEAh@d5-hAtzpr=9nZf^{8wuN2m+3Xrh(9(q*2Aj-qHhGCzd*lF z16nxC4_3Dt!HR|Th6HMvyfIdp*8bkatxYVfer9v=ukHu=ITFi@*jQglz)z#!|C^^i zqg5ga)+_zj2psL5JMY-6FQxq4qWHYIgN5~;6#Y=F%W;J}-yVw{RGep>!NHOz`SYWV zQ|QOKro`i$BYiGX*tK3#LZUs|reeG<*%KQpHNfNj@jpXP1hA*tO)3(jog*S19H?Aw zR~r(nXJV4#51E5xyML(*vSA zDXXy}muGkN$Gw8U>UaMfZ2#AJtN$4o`Tv*%n`xR~3Qt+~m=RfzZ>DL0n6ckJ^CdDZ zpTN2)1#O0&RpCG%cI*j=o4H1e#=Zur;JH5@z9ylmFPO(7Y6pwzSbx3c>?IjY;yy}T z@_j<0?ftTDb92o-i84oV{sbZmR@rr3OT-Ur@2%l6)BR;?KFeR&7f!cUG29OA0PNOn zeH3qQ^74M=8gG>repGuB_2HiIVfE<#z%?zqhc%#YKHZjDGnW@@&l3!$-El7ML~-~& z3T$q~DViENA;AmNPhQ5wdS)(PLA_8fT;UtJp+Koj5nL!ipfP` zt(xz=^*Wn{`MJNI<-3dPF85R}&Dfjoz*yGnI)q~NWk{?ZCyUmsuXQ=;@-LB^K-)S)|#*vbNq z!_X+MgwYe_SNejex5&i}hvv~avxcB@KHpIqL|;TG$@X&f0ZDMilSw<+Ug20Z(s?fp zw6yvCZ!Ao{DqHvuG84?F1B1U4>epV3@u8-s{aAmC$LOcjJ+Br=o7CyFYMcA`FV2el zQ%&$`)31!qbgTtn&mNvUooKGP!o1t5V4^tui&G0le&AZ#x%T~GqMoh4`X;km3i~#g zT|V8xUCU5g=Hu9*NHmh>zSI6f0x9C1j_eMwQ|OT5r2Wu!A7E#jD1{eWZd9*JAL=+~ zpXLj7D0MNWNl(!>I|=5mdvpB#zWP7M*#Sxb>fA2$IuP@YYEYQ- z`g!+WMfL42?D~61yVC(=sG21f2WId6ES8anq$v@IUB?+WeQd0oo3;rG#cn)8*RPv1 zisPc%9Y>QHhJ}ME^Tx~9UoA~L6xKRS3Ga@8hK0LThE?R>K8c0p@ndw##Yt!w!7?^a zWp&C#|BKai@1HF#TZe5)70IGVyJwVpyqqm~FK`HaSuP6J^xjT$#WTIn?Mnnka=H-h zOxH)eA&Ktc+pVJsEX%&J<(D*~K8L(ZjiLxP@6C~Tzr41WTNxWgOVo;mWpE*K#2`5Q zthZyKM4WB>-4&(?iAze(1n@(NcWse`rzV)?mc<_Zpx3dD^U!ZI_`cByu(%6`7PRjw zBp*K=GR(6Q?+FaQgN=1jxvVXXUQ3Lnc1`HKb>Lm99@ibagQ3vz>|zak`tIoRUaog- za6!&^;bFk*?II$;8@ksut|fYq{&cBi<$c+snF{Llx}jk6rM%|@;U95sw?3cWcatdF zpwOyX5!j75jQHp>+8sx`zji`UXyj|F{L@Hgtcwlcrk!q$Hg;3G^4qM9!N@oabm_PuLG{{leZ`#-lf3qOYZ4P%!xbKOYPdt|*jN^L(K~#p2|EyXcSdP= zii}jOR&T4;Cbis>l`0&dlZ%?d>K_EYD+rX#s6PSLC_FH2W2q#{A5*F=aF74={{#Hm z3Hw33Fh9$KMDfs@7fAz8TufvlJtY#sW{^)nN=FFJzj8E!PeS&6(*jFM1hk6GA`T%M z*yhskJURxP|LBMS`S`y5=(sN+@pgvSB*zyx0?Oozkzc^PyLvM*0uUmBXyt<-7obah zGVP$3u(Ds9k_7=i^`U^^AGpAOPF(wmfN%b>9CF1qiG1;v4lNa<$rj>77>M(~w?3>hd-1#-i)hThWtRT+61VMRMP7c1Xm%PYwATi# z<^KQ>Rtx?w`rv;{C!W$nvN$%s`Y@((#;&WqiV%?_6R@ zNc_p^c^G+}$yU3FsX{x5lw*VgqnBj@6YluIE4Zf(@kHALngI^L_vfXfL==cpEu0`E zBs7Df*@G31SAi;AGc+uW_$bH?;oH!tTQjo&4C*!-CPGaAo`BB%7usQ-F1GJ#Hgk_C zfhUBw@6l0CC8zgUU1|)x;D|#k1HT?;D9|rTL#Mk`pNFc}pjR?8(e}vWWMIbwS-Rix zQ7Cdq@O@w)Lkbw@JvVyPN1k;V^TXoe_OX4?1!qrdHK-RydH#R%=GPh5-$P~u^@TCPv|5J zK%#$#uP{_ydj3SAqUc>`L9&gHLp+zlbc&D_Bu1edkDo$xDH@=Quom{^AmmpDWF10h z8=J&KdSzca!AAv7i(0~VQvp3@78Yxmfbr>rbCFOAqPwT(Z;$$&CAHhXyFr#&xgesOk(uk zuQBKS1&yGKQI*Z*BXMV)ldQDK-3xPgfxq~A$7y6;vnqp<=WsLM&<%Q%fc7iVgHn=! zh{G(;SF2vd<|Ym}jb~!FZiCFszoT@&{%NM>MEGmIUt)jIb=@MLD3SYzcJ0O8ZPz3j z@B4jA`>}^}-rhA59(SPYvjPb22A&kFuw_nf@C9Rm{t4FR^jlQM{rDnu{{vu(=8IpV zg6$N{q*a{o9rm`^Mdvbo56RBYgN!VngTS>@5Q7%_C=~t?bHsESCm%F5@=Hh>8+y1E zBh{B%H0OJ4Ug95Fis=5y^~6k4AmcV8YHgLPK+kxA$cYdFn%TaZEq2E-@*E|S+&d#d zOb2Wxwy_G}RBJrdMT!Z1qHScyoLi*Z#M9y83ZuL5Qsl_XI+en5FHfhIVI|1O6uq-P zWNOm&7T5cd7Sbu7?=mXwI>&!vw`#({r0TU|m3#YsDKb-V>NRP@el`#0D*bnOr$-Zw z>JK+^1N#ECYU4j`il6>Z7m|fD+cm$sp{y9W_|rRR)=%Vw^2YaCGDp~!I;=FTdwAy zG>^q?{!x;qcV65g{*y~?$XiJ^QDk&aSSr*|Fx!8CazP5qY5f*nRkMY|s4A>{GR(xQ?KDSb z-3{8R}8SH%~imJGmT=xc5jpoEZXsl4COQ87(p_Z+P*!mJ{C(S=} zd^b7!+BDzL7oUvo((-q~_>$6k8n{+u|e#?V56BXFaoz0dF^;LgcxnpV7Wj zQuJX`oHenY9AN7uSv%IJ-J<_zmjP0_$z-;;Zb)t7FCh3Y!?j8pFhE*4I0T-Gn=PgE z<}UY;7 zRzo%)4d_3h+mP&W@B7g;!cW1;PqsQ13Ls%0gR@3H+KUMKu@wMcfkq~re&fh)3;>$w^eW(eFk?~_ z^8EUAH|`|MZ0^`@=;&L~@vi}6#IiV#xmQz(2R)=!?S2OdgdZDze!i?aM)PbZ@|A4z z@H8FrKv8UnT=f0y>gcS=-cq8A@3+K2ac^essfL+`$P}F4`MLqz^7wkSKBcUUq}H2B zsk)^6KNW%Cr>MWomf7=QXU1Wy4m%5CL>w<*fD{WYU>e01s+cTojG1`%;BDPeuj%G- zlfwDS;fqzyJxUj1$wikurdDIS2g=w>^dRxmS4b*+{ZT&dq>)bs!dUgQS>Z1eq?jB3 z<Y{} zY0!0F=12E6?ep|S_zw$NMPgGjUMUytW)b#t*T|EqZ`qSm%kw2m$8f1QJloK4{OxEV$UF zom0K@%*G%WzRONztwllEj|;w&76uq z1=nRj^iHKMJPXPPY(lFq*yJDKNV?jn7qUSnYY2#c9E%$9dSmoPFc{|RW z@%^-W|L`G#zj+MM*3LsR^dWa3@KX*;3ngcJfMFoEhSe8#SC$64#mxbJpEqgsFrS<4 z<(e9*$-NRw!Kt9K&9T}aUncy`4EJUDoIb+yhPu1?ruPMovA;lGhGskg&Gw^wA~2n0 zuouE!10W^+YXq#8)3>dJ*M@(4P1lEdoNaM&l%8^IFr8%$rU2|u-;6bxw$JXT9JEaD zUD{@l(o4&^u%vl7roZfIBSx(=@1dL`_1)9~N}?_KU~=8@dP<6L(O1Df@umf>mm(Ld z+<7|z@+hR4rZ6ogO5TFg2LtR}|A7n2b(~FJ+;3~8@?A4rai^)ds6|?MwS~9ztS3se zvpvtZxvmC#7zA zaXM<^%{H}A0h;C3gg}85>#IaHq+S-uO%1h7ZhL2wLK9DtG_vDF_c1hKfwRQlDEf>5 z6USy!ujyswSFuirQRDhUBEm)^L2^gR5dmIa7&+8W8RdW|U9zHd7H;N@U)X~uujh>t z_X>dH)ON!+#UzNL9;{xEymP-v1h2g6z%E{a0|$-k#9-gRiRMa@5IA4hK2C}+&0(y# z>TzvDBs>b0#z+n$hoE~I10HVEpBA#1wiCaSZOMJn^Y)PVTzWMCF`64^9cFqEJR6BC zSt)Q*`wV5>^hWf&hXwU-UJDQ##OqDy*ngwDGm-8l!sV$3^RtQe#}8I^gd3xueaFMi z@rBuYb-}?Z^?fOULFK~;zKR2_T4=Q#HnSJ?AnzO+kx2g;?s7WzdFwn^=}tHHKjEo> zO;cj6J%y!<0574E6Th?NvRhJje&wpS&D|cpGzj;~YrXbsmZHOKYlkE=cA**2NebJ) zT@U}#r{5=@M3G0fzme!r=(*expcgMygs@I($a#<_5rPelphr9*%zMZqryl{it?>Cb z%1~#k4!R<*o1cslC8y_0y8=@_A{07U@%2-@V5k;1FA67%mza@A66@J$=AEVyKOGgC zZZZ_y$>uE+J>vPJvQCgD4_^@1=owgyFtSF>;(nvEZ5~v#z{QK}bI?jnS`=N14R)p{ z!1Em0a^8dGU!j>z!DLSpF!L10_%ugNiE>bW0()4|$ zUQB4Hw<8;>#9cl3IWK<6ZBA|2%3gHKJ!zV2&)sfMdyp{&{T z@Es^_AXuXJ<7vi#v530;O+X(@(l!}+Fj{-y&u7|B&UgJfS=4O$#*-LZaz{rxf_s-d ztWwowI6!JWDQTJgg&D)pl-uWtiHnMW$okm~*&!Apr2C9do( z?)HHtJrueLc#~{kHaWk51&*Tf^73Y#gM)K2!1goy>(}bhPDAwTQ{XuvI!I#%%7mC+ zSVv;AWi!bRkL{y6iKtSiniA)$p@1)ZaMN?~ttKDOQ&wmNm*WLY{#K_2crJzDxAe{wh@ zaGT~2R3qC5B43uhI*nL!MN*o*6h0GYo}1imP^d|js?+ui*})B#RkqDt8gZ_~kt@%m z!>KvP4Zi(ooB!Nbb8mf$qhbINb0{&=xFXznuvlcOZoiFJsZtfs0jLarF&9B$iEfx{ zo=#1DApZBSGM~!LOzGG4%SFyVW7y$$^xRR@FrdnUF+<*C=@_&~&(k3gzX2T8c{`+= zIkre=#@#0N4W+fuTdY=d|4aeWB6hd^)lD}K`={MzG@=eyiV>|N9U~Pma7IdvS?t6= zd~4RyB`MOUIV@ddvG@*XLymcxm?}-cy)W`2Al%orB*?~1>8po`U>;k=;Y|Je%56sP z@6E-GP#L67>Ul#*)y~~I_k-l6DIhONW8W;Jq{1^_ zShu|}KgiXvmk{3EyY;yQv06>Uw|XE7P9xbgO9O{@$@4l=12-7D`U~z9Ec1tEmfBN; z;2(t2|Be5wlay65rxba)()@{M$lkajUcz0GIKN8d)~Q?~ApHTSek)<$oC`p&5gq6_ zG`9+H@=V@Af2+H8>Q3*NvmY|JxfJN>{o$*e2-|7&=H)16APJPsV3Leg zgY6ipu147SIKGXwGCeST2I$W94kOC}!W&*bkcrbCBRAuG{AEA~xlnS!@bu|kgQ4W? z`EdJ}+xWUCZ5q==3knQjt_sV$Zvj8lHE3XStNzf%YXyt8#;5RPtfeW=KbWOpAybM% z1SiCv^_|Fn;-YfBuN@ryEB2OseUQFvY1hmjp-r%yXu(=ROsHC5yRqqO$>3pUca za!Qbg7mV_r4d;z-D#`Fx_{$D;1$#@ePIm=){-Hwe2SwZ9NT}{Y-`ZY#8$9{E-w6s2i`YF8VpCRBEZ;`%p5P>F~7$%1b@ z@zp*Ci5QdjT>ZUVZCs{Xr4N_SE?eR&`11F9EMRqh>wCUmocwYxMdECZtIXcHYsf`f z9Kgl-j6lM;<~hLXv0K5hs31`W z7G(((O@^zhbQ{})Y2XAqz&GehlO$M*0W+X>or3c_+R+3Ji-QhpcfccZ3V?;9Mnl3ewZJuIevYAfZnN+09Mj*sL7i_KS}g7XU~^|M;#UR!ba zVP5B9VTsXQ*IH#MzEZDy>rc1&N^0Tk^9nMtx2wb(`Vzpa$jeEJ z7uPyj=CYbZ35UarKzRBBJ$(r%Bu0C@DFC`_=vjyah;0E;J;$u(r{@cx`2CU6?#U<0 zm;ROokj^T#OS--y>nGdU61F))i>$(O)E|ruzB)pd1CMeWHJRRElVyTx^6+xJO!=+K zE3jJ4EB7~Pw%GKdi3&kUq%B}gmoa^NZ;^?qji>J{t5$V{qF7>vE7wVM+_B{x9Q6vH z=Q0cUV2IgZ&exe)BQg_5d5lUVbj^ z8$vh^kETaI`#Sw~yMx_H7A8Z6LvCU#O$CP?LydZRX_)K4H{gJeZI$mc226J7gMkp? z=+Nt9CG-&`KQ-1y%Z*Wk>^AbyzkTuN3(Gs$7}8D)e4|-VZ0)|kUYI2~0ep3=lK1U< zqRkY6AVJ7RR%fqQSpCh|0v~qo(2(cPJ)=|*LMOfoE6rwtxFHt-@8y7b(AFBb6)>Qx z$^+@VA2l2_(=VRe6jkP&U;F|~p8o`bujdKSxH0G$i+;qZqODSq%33Mn>y)x7u7>Z- zGECE5$I6#q)|vT_4SuhGHWqbEy&2UI=Hq+J56T7}ne=Wi5RwCW#}OuX2G+6BF9abn>bXDUaVQF*Z;fnD3A44<$?%M|93QEgBC zjLYiC)!ujq$E9Uf)51M9=;LtiO**HvE8c= z6nQW39iLjy))}ZnfGyZBUUG8DnGRR)fCuFcAGb7C%r=4KTdq+yXQv_U@j>uHbSRW1 z0%Riyv16*`?B;cQQnOrUVPL;91F$~wzjFriA$Mg)oWk*={14um&GbF0R{=LT#wPWd z_RH&^KPBEnE*)2Ef`s4e3o?*G?uLJC@iN++@)|&o`6Db)s&(4TE#GMEm1mvy{d)&G z0({7k{3^C=iT7{3uYI=6*f;>>B>4gVM~~+_d?~N_}4&t)7??baK_-k zVx8g>O4F1Qt(tiI$0vQWa(A+}rmXG{Yme7Y06bAJ7MfVvUNp z)|(+XNEMD+Z<+Cuh-IjZt^#Ng7Ue~&Q@^=!U720_H_`~t#Miss_RBP8j_bL^@I9U3O&88A^;}G6AIBV3*zE5iG<@al(Sw$KLwgp+V!bpMfswub{D8e z)Gs)QlE-F)33^<+FOb)|RO%cGK7&8}UpVM9vgErcl%mPwUagb~SnYNk?d4vM(!40&B8U=2Qs^Zyj=fBcw02X9NCKo%QC zemL8M?-@Am>7^MX;awaU zqG&%xJ|tbLmKg+;6>{1t`3|N?m@7>^%Vw|fp`eum&zSvc_f?JSlyEgKPwx;?c?z?YV!n3p6HbIimp9c zDMO;EnDZmyInjKXo$clzH-|2g0m7lc$~G_7H9~pb%Ij|EIF5yUOp>PO<>*?@Jr#{t zggP|B-2ISq5~8mMKIjOHTh^m$z2!o{Ueh4P*v`iwam-Q`$S+~Qw~p7YF={~?{Tt1ol-zhHmLjF60z1Y(0yv7KL^HpZ8dz)u1V5xB z0#7Hgbli=MH_&xj8XCBMTr>jjWW1=;`|6=mvUnwv9RGGQUF2&ExomUsh2md@c=snx5 z^8G#_mQCGQZ&bYTz0X5ql@Q8V0xHIJ8umg(Rj;`mwQ&J#2VpPJPs`3KLk4#L@)vSj zb7P%KB>%cALWH!#Z6)d+6MN#X4`L#VqQzI`24JpgQ!U!hr}lf93mANu%H`e*QUBvy zkIgVCJmG>q){8sNy`j`DeUcJNBlw^s98Iu2vR75RZ|y=TD*>y1Qt+8|zc%rzU|tUQ zEXipZHNK?vgiIDNZ5KYY+K365f8wg%Qn9MmvM{9?R|3RYpiY9SRszyEr`yZt3^wge z6_viTpPzZ(P=?jI>9>bKG3lpQxU1*bFk z>~m|jOm8iL$fG2_(+k`(fuz4qy^nKoR`E8C#Ws-DzBOFx4SNLymH9OjCIBvf6+z~F1tdCgGL^wJrtkTNpIHzNjldEqT;Wy zo$s!F%O`OX1~Zg2tZ|>;gW2#zwi#m2J?dr0m9g!GltJs6>lr;Bus0wH`{3uhy8EU& zl41#BfvjGNGWSuo8}h&+7#T?HFs`$Lb>cx$6{6yc%uChIHj$VrC!1FR`rFKkrk^Z9 z^bJEJ2hQ&=cX@59uPhbvY+rh4po&cGV7hu>D#Kp4_kwrJSklW7@%rQ-O743J^()xen#&JDOrxul z1J+3P&Zkd~3=(R?So5$gYvu~)mx+_j4Ev7x-X+EuFc?VH3D7+1svH5esjjp)Y;iEoTQhsLWoUm%F~j&hJ!qGD4~(G8sWOMZsU^z|J6h2K79h$IBF#9QuyYrPG03 zmdu=9lspVqw?4W3-k2ovml5A?o3}!{37h5#GfW(U6Qq{I+CfQ<{>)oyHYJbx@7l-i zdKEmD)Kycm8Xh}Z=V*FBwdR3B)0`$B9DLM~#^zvu53R9@6R-{f8k;lbOA@Zn@rV~c z)K`n3ZuGgn+TC+Y>%L0)_Pc12vq-2o)z6c>yAz3?Ii0(*Nk0~?nEydpO1c!tj|}y< z`b0!;z9eUFvt?U>+MN9H*n87Z<2C&eqiTrSs^=k?Zso7xu&;ZuT9hTzN_go6zkG@J z-}eM(({{S+tGkC(7``OXb=z;hQhNeWLnPT=(YdSlL-d|kuZ*MmD`b;jFIrvw*C%^@ zYc+#ag1YonJ3lg)>GR`SFMaNY1hV7j;_vqhadDtNCG%6hn7bdvD-Ybu$`Qm4t}*G$ zF0XC~-O!}=Ak;Xe4#S_DpIsYLI4Qdkq3=$$^fLdF*l%<_81u&FCPo}hfr>i|zLzP0 z_5JN^je)L!n3w&WUmw7S#a*V z1Hs)up6jRvxopbLnv{@GgT739kjaRuWC%4%{>2GIEh(lsj~uINBBVCOeeP`vK~}kY z!eH)nlFcr+Wa!Kk3`p3{k$+Xy$Ic+)bvgTmBn2*ptc3QG%38p!41f~D*Nmw{CLM;T zCIUGg(hx>aLUH?2Hz}qGkAnYK=>j4dBrZv}-FWxw!w7kEW>##U8xqHG#7zTc5vIP( zXo321m4W!G-1X6R9+0;O`TpnVEk!|+rf5J2Lq_gHRk+o*{=;5l?@Ccn8Xg@fI#PT- zm?P%%7$HBO8$HPp^?C7aW@;>dwyXba?9k&AQ~qB(c26kEtd8<`E$aLs8-wAd20X>L zyX|kB*MF0ZOeQamdFJ+;TZE##~c%A_QD}Q{iZ+d)g zj0aX$xeFJ^;@*J5HYUQ1kMmqxSVW|FENudm7K{p` z6*A<9!C=R9o#rq)bjS%*BRR@lbyh^8E6KpM_m>MlmT$!w^V!u=895$w!>>o@f_ z6f^p6AdU&ekzZc{=|S)3z=4xqA2~W6Lz(?Piw+fJi7Zr$Xg=);%kG?5(#YhaoT}u)6MWnr8}q=Ga6nVk^JKK&3H< zb?{9EI>J3B-ENc@I`8$ayw_DSH}OooJpW0erw<%o{%-Y!n^lO=KJ{Qt%Mp%CpNy4g zd-8!tkfK!LT`pk9TgbDAkLva4K&f4T$tX!Lo*-J^x>mMCqQbN ze{$8`^s_&B^!JdDPofK8X!~5)WA)e-zA;Vk=$1LC0y|(gB4^X7Z=AFiNnulHA2`p) zaS{T>qk$@~4fWnce58?PhYTow;bhy}PLJlk;2uX759qQ1RY1*mIb<5M0!pf@N2803 z**sLLt#zn~<761Q2a4YO`Vq13@arda&QCrdbGjfZqkf_0V?nLh#rwrnWfz_ARF9V<^Abqn018XfB-1#jXw0@ zLKP}0!OEM|lclaO;%a%d#AbBqh}+!H2jxIRLFDzb_oA6)N-mxDtV@HS7p?igtwn$0 z2N^aOQur7wf8N|@;C!DI-ZC&3=FXafI znmPkyyCUTiJJWaOdO&_KfZ}@;%)8t^G=PmE>p>OWyznPzWGWicjBP(nRDMt<%ZiOO z0LdGFg_g$+t8LzAJvY4a^NO*LK!<3uJ=m;VNrI}n{xmGK#*T)C=X$6=;b@)zL^5Q) z6;xDce1t|jPkK(2*>h~jaV@!oN#TQBQ0k66N$1P(z=Y_%7rU#y4U!x*Vw0X6>87Xf zc>bWd!7>+QR>M@flza~%I8ODs+@yDBB5~?`nX#&dmNQBV*E6t^b3A8SAgNVk6`>WmnZ5xnqba<9y%KKO~T zKx2Xme^$ZiK5(yo^?HVeh&F^T1yQo=i})vNemy60+}1y=Y1+-NBdeOcyDxXa^WgB? z$vgp%IldXHNLeE^m~=rZ=|OoTaC8~o%s+{tmtz1y zU|RQY4=@#YLE^;jA5>}&Kza}=*F=1CdC;jSRYj)|_oy4X>~5}@=7i(7_-`Sm@XKF( zoC9T6`ZoC`^G4YY$!A=CDL6dZsO)y$Hqhwg zog{!D#l)vR)8=WZ&UknH(bh*Gj3!))=xc-AQ1k+`R^9hOc`?9kP?0J;zwB1+O}3*v z^a4m{{HqT(S3QIhIJM7HzDc!!DUTg>fB??tl^ugtu?GSkNPOq9^C6(P7KP0hJq3`o zj6HcHVNa~HkAZZ<(VqfG$LT%n0;v+f82rio^S1iQb4Pc?mDUM+2Wp43L3jFKAU!XlD$~{2yDNh^+ zp`(LSTR0}Z9ds&x)vj6!pBwzp@G{Cg1^u?-w6%U;u4!8mW|4@-sCAO*-l9joISo;ju&Eub_!h#bVB^!r0myX#s@6lf zqsXG|8`lBANBHIn2rhMMQWoneeW^2u%cQm%IXku9S*MXWcgBfO_LDVHwR_6fCr$l-B9cH;w?g>zsXr8u z)A98dCpNWjH1-8bQVzKqF1klfu6=2B?wU2IRZ9Ri{pTBMR}-V|0CDMS?E3XoT1V2c zz8eisZo|)8)%<#8GeKGiRh(+k?V9P>2{)%paL?lFq2(HtDsqigPgpAW#YuEJBoPR@ zEIJL?;`2!nG4tu=UbN?9 z8;xg{$z-6}qG7UUpI#R%XZP<&ZqHn)V~p~D8ZgP){pDF*VXp_0k&P&!x<-_i@_Zc~ zvM~C&^~Q?~MA%-Zy(Io~j!mnvPdJaDY5YMB@hK*JyBcznm_US9ae~F0WFcNRdPTj3 zrmr_JUtVnIwUVXD0y{%d(enzaLtvYcmwX@YqodtCfolJmdTL;+b8@I|^olxSLYLU{CkzVqbT`_&tlf!ZTVi4t-wT2 zsijiCpoQ~Osl$`Oo%t=c=JhOqD&7rq1g9?$X8*c~j)a{P_UG<5q^vquPD7fjlgf*) z1(9`M(Y}<+4n+*#(GtKD@qR(~JsjGbujLpFG2#AAOT(~xh2T_pzC3S2H&r{HHowYp zdZHy*&gqW&pzn%jp|4>;g070bFq?fnZ+Q|UkZx0gLSg~-F|e)MQx-SJ!hIjmufjJ5 z_BrbDcKvQF7B|D31L!L?1$%A8?-qGl*KhqRZcpA~X=^>dMLb!;RpV8q)295!EK1_* zs+Ts3ZD;zq#|4Oh1|6+ws$-7@(E{BbqD!=f3=6O-_L*-ipbpM0rj?{Tq``P_f%Vl+ zk?^@x*!|6KeMKUnkdojx{szNsyq>W$D48G65uU>%Vmu9MAP5tG|7zHXlkLKPO_pTM z{3Zerv|2WwJ>`fgUJ{}`h+d3c=)9`TC0(O98J8l7^h%?d2j|eiPuFkwLv@~y>`q63 z#7l)RnU`#Ad8j-JfUx}LHL$+x8JHM&79UgHG?tFkCH#RvchV$M&4V$Lidljb(U9h# zyk8e8nJB8@U?8I*LjA87?Si>(!kRS`;Pf;^B)vC9mQjPqleL6Z^~tplsyS)Ud4pGN zM5oBf>qCRV$L#E)cOl8arGon=m0IncWQE~Wnt7_Fi&}?@4<&H__3}vAUWG4Dbf2+* zx1;jV%a`@`J#4XvsYe(B%Y}1`3kXzf*LhOjQlzf+b5B=k?!U~>wx!_*#!@K zW{G&&{pGIU0w89kl5qD+Z$8kA{?~`40s<>5dS9X3ux>pOWV_+#dsRFl8bL5DjD9*( z{NhR|{zQfnn^=RWhxoRepXvJsF%GuL9REP4+++|^u*m94I|)&i{viDAl3m{mp7*V` z-C1XMRGmU9GwekY45uXT{C2dEG0T z3pEJ58_*hj_Ah!Pq`Xaxn3A(!=JD29n(x<-Tl_g7w?4s;($QbS3PKZ@A)!i5iqf2) z^eGq_x>+>Azbw%b=Kw0_cuEo_?g{cs14bnj{r@MbI+qW*CU4_`@UPgQ6CtB7y4N!l z%eFn@t>hM_n&*$}hsjxfOu~6CY*{@%nNiq7au_sQNEJ93*C6<1a?McE?%4FuP7bQy zYCUyd9xS%}wpwI6@#XZB)evH-5p8#$&vkQ`i32xdK%-7da`i0Gzt}com zG{!~JKb|PwGh3f{XeCArPHAW%enw0^qPWN3>8$6ci~ZqBKo>?nnX2F$M?>_CvGX_c zigZW$%kIX!`SiE9-Mzgg{6JE09I8Mf;OI~VP~c*CgZ@|HL$x}$;8&xS+>G17ntSa*y;C&jl83ur`uu`&bNJcCZDE(!uPrix7#HX(>&YTs z)V-QTle7%-uLjS1WO_20o!0Rd{(kM3*ub5AcjuFd!dXKIt&4yIKK@JdssH+A4+V{r zm{FiZbgJ5)L<#v*qO*Upwlj3YzLsrwZhtIL(Rkt?EqeqM1xP`WLBJRf190Zo>!9|R zEB@Q9gjZhENU2A+u%JQUgq_52ABc)0#1B#S!cWJZ^?+aOtt3Zb0VMnKNe|vDyq{QEOSv8jOUeWJV=dDJRq7zH3eB?`!(ZMM#2!&Az z_dv6eWwVgz2$#H~iJq}~m#F-t^5>x1(%84RSG9_YiXPhABi~G#PtJBG7p?iRna}Q< znys&l0OE4f>SQxIk}cx2aO7Pzi;7S`uA@ZUmU(Fl=H3ur>ymte;Big-PQ+ZNscrh| zMEs-1b&W0^#v>^ni1Q!g=rL)?@;(noNluD#2gVyw&w(|xZ@D?n@~pLXL(s4M%<>Z$ z!2~{(iU9rd$0%-b8@XfeQ;$gF3hQ{*I}}xN>S#0(?%8K)`TTz=`&S0#Zl-I z3LpOyw#N(WaO=AmXXSPO7AII)Nj}Dg!7PdY>o4uFHb=^wh@?Y)G*-6jY=_f0+@T}- zFTbS>L38H|KxIq(NMP6j26eXugo{1A8BkBv_|=cr4xO%+}?%S4SnlL`9kLZ z)CK$*uIoWMSFQuvo*CZ1hYnhO9vdSazK(R-J=l==C}f}TJ|ZF_Us5K=xgjJjJ!@V= zgGm$QnYBQvClu$ia0+(?MojneXYEWF805PP2j;rH93q9R@aQv08Xakwcx^aDOmr;E zy*#;vbcON(zyo>u z1Y66Yre}4{Useq_USmwDN8<)Uz%N(XZ%$3!VI*&xMj|)@;K5A(K|0s$*pt1uSVgx@ zkFwJl*6_Z72adR`d!Nf!G%!YgsMLtH(anI*IL|C< zG?+C%U7(|*J7)L(PoH^swpq>hVJRw-g(L$1A+uQ>Z!5a95XZ1o3#8jI_n+HI!oiAW zDd)leC(#oiPT8(?qcqd?VAKnLiLV@{zMjqM?CzdAD#-^XhLwMKvt^?AoJ*~e6Rd$` zVJW^~nhC%nFz2`_C%nq;XAi&KjOM-Q0XfrmDzc?P$?PN0?3gAKq~j_ufx|$I8V9y< z3_ABgrvG{^5?PgX!78;s#EG5z(Fb2|IhHPIWdCJFXPJDJ#~RC#S1@Qvur*#V#5uvX zU$&JYX=;!J+4AcTg{+4w_&1G$`Fz6pz-2)Z6F`Afx4aqffGM955kLm_(~*g;6>ic z8zhOo_$S0)Vl&bK_1{0Iuj?HAiQ*Sx7Cs!TJUilE{?Q&DIZ^HZur$><@$up&*BVz0 zu>Sq$eGJs-QseE=E38KhSk+)({{z&-2qlkvlD~PPIkA0@3R@741C0L#=4lC^G?EmH z_i3rQG0SipP1VK56n6t6@ZTF~bVB{{pk<8%BX@t53_y>Xnc`xKk)8U-=Wvv?@-Yeb z8L0z+*3{mpC=kW}-j25D0c|6cJwrn>kDK78{nuYcH7z5hj`l8foMxs+GQ59XRo)9d zUJtU#AL`2^jtbSlTRbj({V$XAX}+uPB&fjlLRZpAy}{S1u6X>YO7_3`(RteRLspIO zVVf<~|8{T9=GvCk$7PPAem*N^ZvWfs6o%!+G9@Hwpos^uPC?~&1d3-E%*B9~ zfVuQBVw{J&>=~Cd6?(vcb8I-UVjV<*<@;!AN5fp7^8A6B{$EF*3P6}KEG$Z&|5M0m zYqplE3}ngj;u9==DU+s@J@Pr4a;Mqm$dwiT`Vd_OJQD9<#~vYiiN% zE!MIedQ5eF+aj4#E`{~j+er>7qzrm;Lu9uXT$#Wlw&Z-V=BbIBeil{adkryu#jK4R z+m_-@#yV;Jje3N(idi_f2NNxo0Wz@_{RF30kx8=Bbr%qDZEj7Iy)6!ZB^b48@b(U1 zFn%-_45ewu(-_*56P55d5AZuDDfr&c^e&fKjnDv9Tb(? z!gF@D@bKWg9)ed~Y6p4I;XFDrIz_T$yFblubZ?{Q0xBMuVe*?5Qx#=rME;I52UX&&Xpf% z+j)YmwmS6NU(=TOvp~D}g%=2<4lcf9G05jg(z{FO&BZDF_V&gXKX&10w-0MP8xxbu zJGUvQ(%3yXSCNevi0JlAV4l?Laifs!VS*0{{-ak9c-ucA3|DsK@lWQqUI6)9G)WYZ z*n*fyPH9EeD-k9nWoyBxi}#cArF$7ky}K+d@m}BdPQL6nr#fNNGD9Yz|E>d~gNA!2 zYzvz|QR-+|mJ-kLkl;#<^=1Y2tkGamvN=CyQmR;h-0URK$Z3t(G@PpNAof!2FrA#C z%t|Z4@y=tV^3pE~O)aAk=p7=piUPjE_$M}bF3WNgpT z`}rG4$|jqeWPRQ%Z#Em?UPETf&(zPT7Y}R$bY~1Aol_bG&&&`S^inL-L3zerGs6@1 zJCFvbRC|cW%h(Q|IX6?dY9HLA?5%%5zjJPgddMiev;jOvD@-3FlO~{9lQcOXtldEPEYvhqx6pAkJ)0T;>uO)G+w=z zR(<QDslgXRXo?9KEAW@il2s+^z@lAUycUo zS28DNXbdNBgu3(ugmVK`*czD*Sl=-wJh_y&vSxKfqN3n z;1IVmvRQU|4Dfu>KXnqBCME!_OJav_kVFm0E%q2(WZl2@O^%8i?JtIRTGuv(#72p}0$-*xCBg#7SV(M=G z-zD+%6$8T+IVJfOf=8G51wA?!=?78+Ivx~s4rgxHS{99Slg%b2ecD%T*5h-nI^pxw z4;eOUxQ_1J%(goU$0?x(H>PcboEW;n{Zh?@?|%}b>+juWW|$xkKclnj*S?E|i*C;D zs!x$*-`{@!^pw@WQz~;5KLyoE{0%(N_0J>|`5UL?AK3tp zQGL2^y}-8f>zkc?8yZ12rVR`FG&=Ih26hAde1^T>t z!W#S+6hCVo-T|H?JJI8^ThPDx-`kVVPgeUe2NVvEJ_T7$6oDnDSY6Oby8YARx_sX} zMNMo(w+(2WBY>wM0>K6j(21iUa82RYf5wv54~-693xEd)GB9|$`njxgN@xNA12m7n literal 0 HcmV?d00001 diff --git a/Info-graphs/Day 42-2.png b/Info-graphs/Day 42-2.png new file mode 100644 index 0000000000000000000000000000000000000000..24c99dffd6f54983091b0e017740243f1d65b20c GIT binary patch literal 54823 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

OUE_U{yR&$+~dH?{AwM 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 566a310..30da9ba 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ B站视频在[这里](https://space.bilibili.com/88461692/#/channel/detail?cid=2 ## 第4部分 | 深度学习基础Python,TensorFlow和Keras | 第42天 视频地址在[这里](https://www.youtube.com/watch?v=wQ8BIBpya2k&t=19s&index=2&list=PLQVvvaa0QuDfhTox0AjmQ6tvTgMBZBEXN)。 +
中文文字版[notebook](https://github.com/MachineLearning100/100-Days-Of-ML-Code/blob/master/Code/Day%2042.ipynb)。 ## K-均值聚类 | 第43天 转到无监督学习,并研究了聚类。可在[作者网站](http://www.avikjain.me/)查询。发现一个奇妙的[动画](http://shabal.in/visuals/kmeans/6.html)有助于理解K-均值聚类。