From e13dc7087dbecb5fe0ed44bcc2a50ad2883ab470 Mon Sep 17 00:00:00 2001 From: benjas <909336740@qq.com> Date: Wed, 2 Dec 2020 21:56:49 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E9=81=93=E8=B7=AF=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=A2=84=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../道路通行时间预测-checkpoint.ipynb | 372 +++++++- .../assets/20201202211044.png | Bin 0 -> 119947 bytes .../道路通行时间预测.ipynb | 873 ++++++++++++++++++ 3 files changed, 1243 insertions(+), 2 deletions(-) create mode 100644 机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/assets/20201202211044.png diff --git a/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/.ipynb_checkpoints/道路通行时间预测-checkpoint.ipynb b/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/.ipynb_checkpoints/道路通行时间预测-checkpoint.ipynb index 2fd6442..bfa7f57 100644 --- a/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/.ipynb_checkpoints/道路通行时间预测-checkpoint.ipynb +++ b/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/.ipynb_checkpoints/道路通行时间预测-checkpoint.ipynb @@ -1,6 +1,374 @@ { - "cells": [], - "metadata": {}, + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 数据展示" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from scipy.interpolate import UnivariateSpline\n", + "from sklearn import linear_model\n", + "import xgboost as xgb\n", + "# from ultis import *" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "道路通行时间:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDdatetime_intervaltravel_time
043779062834226005142017-05-06[2017-05-06 11:04:00,2017-05-06 11:06:00)3.0
133779062894345105142017-05-06[2017-05-06 10:42:00,2017-05-06 10:44:00)1.0
233779062859345105142017-05-06[2017-05-06 11:56:00,2017-05-06 11:58:00)35.2
333779062859345105142017-05-06[2017-05-06 17:46:00,2017-05-06 17:48:00)26.2
433779062879345105142017-05-06[2017-05-06 10:52:00,2017-05-06 10:54:00)10.4
\n", + "
" + ], + "text/plain": [ + " link_ID date time_interval \\\n", + "0 4377906283422600514 2017-05-06 [2017-05-06 11:04:00,2017-05-06 11:06:00) \n", + "1 3377906289434510514 2017-05-06 [2017-05-06 10:42:00,2017-05-06 10:44:00) \n", + "2 3377906285934510514 2017-05-06 [2017-05-06 11:56:00,2017-05-06 11:58:00) \n", + "3 3377906285934510514 2017-05-06 [2017-05-06 17:46:00,2017-05-06 17:48:00) \n", + "4 3377906287934510514 2017-05-06 [2017-05-06 10:52:00,2017-05-06 10:54:00) \n", + "\n", + " travel_time \n", + "0 3.0 \n", + "1 1.0 \n", + "2 35.2 \n", + "3 26.2 \n", + "4 10.4 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv('new_gy_contest_traveltime_training_data_second.txt',delimiter=';',dtype={'link_ID':object})\n", + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "time_interval时间间隔,两分钟为单位\n", + "\n", + "travel_time平均通行时间" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "道理长宽情况:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDlengthwidthlink_class
043779062898695005145731
1437790628459480051424791
2437790628942580051419431
3437790628452580051483931
4437790628442260051455121
\n", + "
" + ], + "text/plain": [ + " link_ID length width link_class\n", + "0 4377906289869500514 57 3 1\n", + "1 4377906284594800514 247 9 1\n", + "2 4377906289425800514 194 3 1\n", + "3 4377906284525800514 839 3 1\n", + "4 4377906284422600514 55 12 1" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "link_df = pd.read_csv('gy_contest_link_info.txt',delimiter=';',dtype={'link_ID':object})\n", + "link_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "length长度 width宽度 link_class类别" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "道路之间连接情况:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDin_linksout_links
0437790628986950051411
1437790628459480051411
2437790628942580051411
3437790628452580051411
4437790628442260051421
\n", + "
" + ], + "text/plain": [ + " link_ID in_links out_links\n", + "0 4377906289869500514 1 1\n", + "1 4377906284594800514 1 1\n", + "2 4377906289425800514 1 1\n", + "3 4377906284525800514 1 1\n", + "4 4377906284422600514 2 1" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "link_tops = pd.read_csv('gy_contest_link_top_update.txt',delimiter=',',dtype={'link_ID':object})\n", + "link_tops.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 任务:预测未来一个月平均通行结果,每两分钟一次\n", + "回归任务\n", + "\n", + "构建时间序列,基于前几天或者前几十天的数据预测" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "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.7.3" + } + }, "nbformat": 4, "nbformat_minor": 2 } diff --git a/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/assets/20201202211044.png b/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/assets/20201202211044.png new file mode 100644 index 0000000000000000000000000000000000000000..b94a263a0a95cb5a41706ba62ef7a86ef861a739 GIT binary patch literal 119947 zcmZ5|cOaW@+qNxsloB&Wl~&bkZLxQa(yCH>)~+oiMvU58ZK>L7v{jVad(+x#kJ?+z z1R?q2d7kfmpWpijk#OJFeXa96&f_``uMPAxXee1J2?z*iv@}&86A+M*5D*YX0m$&5 zROxI#$G;GIKh{tt_&&(Kg?~fhsPssQfS@9Y>e8AN|DM8A)6|=Q;D*oj7vX{fIDmiv z_gPC-$vD7b_sTz&y(hhhswMr&A2Lpo&88yF*aag-HN#ZZz&*IgYW{h{G(M87 zivE9)gbRAiEcEFtH`hZtR7*M#KxF{;|9l%6?Mx{B$0yv+K`bQy^ZV<+jCrU?M)<#% z;D5@aNmf$)ue)#~oQQ9q=C!LfJ^gCRs7Bng%S;&==1urLQX^sI#U7W|8|qITkU1~f zwlYs)Oqi#B#j`n~d;hqlO`fPT4Uxcpjr;sdkCv-yA@kbdiSI95Wc_x_ON@$U)RN4@|5C+?|1y^Rc*Z1kk z9d?G%Q~cjni*;W{5abgv2|c$%HXbJ;r*TKWgfSthr`Z?dMZ25%Nt_}8k-VI;vY`tM z#%*ITb3rPUDBBqhdJ^j6?+^7q>vAHVi=rozmzS@$Y9oT4jA(>RA>la8-U=93OUK)& z{C{Rm*ZB5ns*=Fj)`&hbBY%nQQdny4gIY;)I(w z69BW-ZpXaDiE>ApkfvejjZZ7+2txvc16%6ir(a<{1h7T_#gK>o`{tNceu(o%HoW;! zx|n^9FNq!KA1g?7WXjifUW-IKAm}vzlg2aQ(7LPiX8sl@5fp6@M%bcpDk}tK+Oj|( zk~#cI+Pg6iw^fvlG9oFpY+1PbE*9O8pWmVV`3?H5P(I~D_qk1^JoapbTpg@=F8tr? z(nd_=dc|BAcITJVHJyl(SOI$@WEs!nsh?H5rc06_=t;8AI{AZz;qgQulJ~-v`$fc* z+OU0l9|E$-cY-Dt4=6>HKlzMm5$`Y{PKp2f*2*!je-}IeL@UQc|8rPU z(yPeAAtwSS24cCda;S)@)T;)NhFRxedyx*)Fs?;Oo7k1qP+l{>_!_B}BBEVB` z^%b12H-vw*C_x92HY}b3L|OZxEA|jKZlwP+KT+mojq~dxv;Vu9wrGe3E*q4g(+8 zG|2zzFK_{SdsP0pdo-&$0bveD>O|GnGP&Y|QXL9cTl%xvmwnk&lPy?Z%rOM#jaip$ zafYKD;p>x(QkdP!rXOGtN|7hP9V!u-oT8$hMCo;q2M`d)OztW8k73ufdp^nqWITzd zRP=)Paz{_)Mssd&Tov^|sEEDg90%E3GG+b0f7lu;f}(Y45Dm@E3bR$tZ<*Dptf>EH ziBNKT`21tYxo?X_wm9%yX#x6S6XaI8i@rM()BW!R-4+@HtDQ!8GDK~ovKOLD!o$s& zs2sMlY1kf8f6AYPpzoVi|IY3KwgSQi2ldKMdVmL`I>OWV;c~BZ9I6)lUfZrOjj-kh z5w@Qw2ikG{qfyb3v??+}#>3ef4|M;924`R=C;ZY2x)jOmx;6T_*%3k(Dr8n2&;{ST zN+PuCioLlo@P<#P@h}u4?Vw7~gcH3j(gf^A;KNfO+|)I#3o#_U!48=rh=iw!ISH(_ zP!s)k0O!8V`ZlPaixDZXZ&GHlw{ec#-$(6`i0}b<$V}7HHbQKJmJ|d0fIt`b|Duk^MIvDSU(pvVax>0KYNoNGpdz0O*=x}gxoqG z(hTL0^_!ac=~CL#vM6{c_%0T?mqbrMjBmyem4D)xVpT}k{;btU<*Y5dLzkhGQ3XUY z#ZTSdK?5VkdUC+gQR)C)_S+dt>dqSfwXiB$(uT>xQq+ZNRoYsFt=L0zQU{{J@#MUQ zQ`#lagTEPvSbonRob=i%|JC=Hig1|3ruK1tx0XE+K$q+&m*4U$&Uu#{*HJBfxo+!q zz%nG^C1UXLhBCWm)LpYkpi2H?+`oHg^CNjOWqnrk?I4#y*<^^vm1jaUg*;k?4p(u* zg4&3d&;>wpl)y6Zm^SQ-8xC{xz*&O8~ zg=uedFFs~vw9Vx>7T$hsD}+?r=|FPhGMw}T`(4Z;mX1Q#kzbM55iF*)c>=8d3cfI4 zu+JZ<6dDtaPXpgLT5a0f2!N@_8101|U^}%ijY_8hS#++&7pYqI-CLRZWr3PSyrR$V zJbFFyX6P#dl$fke>&JOV^=s?JW6TVTS{3JN1;8yjd6D*so}jS15DFD?dKC%G50lHU z%U?3Ee+{&GRatf#z4YB%0kC(oK$?Vs!qw_cV|O(d?ghSwoJyvlqJjmyPI@YYcbGdplPxsCAl2jZ1y5(K7&&ea zC9QWw1_Ea;1$R^flRQQbVU` zwxRf();!-{ZG4wzwKTVJ5a)Na#oq#1aEn{_nc2l*so6euFe_6h!G!mI8Jv3dQ*#sX zme#~h@K{RPLJA^sM~U3TX6}hQ4px~~It0#3pN=@(PEZQf1@g9rpywSSxbq>moVzDq`yX^wr&n%+Pi@8#N*=PF|b7_{`>24p)lnr^#1J1KZEt91Alatw-jMaGj z!K^9h=MWTk495vXC0ouD7GJR+J^MbE1^RLYoM8(~ z{*HR!F^Ic=94|4yUv|*7zo+r8V^0I?pN7No-bqs3xiQ-AX^+_E*i-VZ(+UEdl8?ZW zg;$TsW~`DudMf$g#m0BBXLv+WqYu9rYZhnN$Vec1`x4Q5ak{gY1>LW}AX^p(<&JeR z!_f+>LYzyvJ;#Oz47hN_f z{O!p|I#!KqNs~%W?47G|onD4=+U#8i<0EcS9!-dK91kc-&j`23fp4&&i4lVL_a^R>l2I$s!smU>N&(Y7vIy+ zhk0QBNnPc@R;s0&l?=^Y#bOb#M2cCWgKy5#@Mj1Ac$BR$Z^=tDB8u25l#!JsZ@1Rr zg>+Jd^Kh{zy#uOyW3$i@1US(e9tlpI<(MJ41~psuGgZ#pe@D6x*i=7uXC1(qDePee%oM@a%nGV{*Y$LmITU!xFJiW>&oz^b)l zqqH{`n!KwV#~VX6I``{3YfKXrE}SffsNArv1)>0g{x~SIX_6CmX5Fy+|l5$lRL_!=)Tko0Jk{}* z$yP}SMc}ljXXfwhU;tmoQZ#t~nCFxc$jfb6II?N}^X0oTMt1MtqRn!=dy)MJAT;7A zeqjj2p9H}MEE?whIp&G4s96a5Dt|Jpf{GLlZd1S>CShU&1TWpA?!wQyp+VL1?@X1_ z<=*>`?F#n*U`rmg56!2bwzq~zZ4bdM&f<+{%W)_?x}1`1b+26_!(m!2k1X(5%EoyZ zd569lLq#veXc_+7ywhCDa z19QbfABP#h>sUbqiYJ0rorEv_s3TvL2cA)xmnbUD2@*u&V zudpieC)Km=$N5iMj^34>rF<#10fH!-y)2f1N67>|=2TnU!SKYA4bOy?bqV@QYn_g$ zAcIP_%M}@LI%%sAN$^DL@W`uS{0iY^s>u8xPej zEmnk`0lcg<;_ByXi^B1Ix}wt7tI}&CWP~#QRS||ysA&S#Jv_>UUeu3o>3@`ie z8buZfKK+(_dsw~#-2Y&N)4-oAiA(+(-c2$T8rusN`f6+CGJi-#Lx_ zUm=q|-J{dv9daRm^{Q}8a?{o@X2WQ(5!3fEM>*_0$&G! zZ+lOeI_^0vO<5w;=@Qsk1>$vcDu~FBn_^z;D}*E`ZawOwOUbe>$PFG6F$lT=4Q~W| zrqZSjBD1E-v|iRTYL{*LbCsXXZ^@5#ysurx;cJDhc?Ql{*bG%I-Rb>yuDP0p;9m_P zm#=$5E(7)EqO;O+6W`;y=Va$3`8mt|_MStuL;Vl-{aa=~Oe(T2%Zoe8S>thk*;6eY z8{`2rPeJ23e~9jNmG>~riLTd3lWtY3fN&;e;8-pW74aj6eyMX1`&G6S^x3 z?k1*_`X^yp)Ko#FJcxPEiXnt?4FG2 zqj_lz+Q;&<3<(AHD2OAmdo_#u&{0e1-cMBeP;fWqH4nH2RDzGCAg*V-ET0wjAr~V_ zGd&6@(M1?Y@~i)cExbH*;ySmn>a5cMO{*36r4T<|v2@mPg3AddpX{ zI1{7V4TK-z>xs1Z)n8QxrUugd2re*yER5=YZR`E|O&&<++2!$24W7N3`ChlqT6WJ7 zaCEfxi<}iCp#Vz!ZDX&&?uEzgrjUhi0mPY>7a1U4AG(EjmWKTD_4^Ub(yQwx3XgB5Fhf88d^Mq~jSeQ3 zlNeQ55v--4@r@^43U1D2Vm(=E9xkSeA`uN-${_1|t504K$Ca#4ClGe5g6#;=#42dH zPzEYur3zTIpxWN`P7cM;Tcvlng;vLi&m){HizN{<#2Cfr6k9x?**mf%>28j!?n|_HEfjL$kY`g!{j5eZYDXNj-Zp*p#-GQuEmVjV^BQ)L3 z+$AnO~je7A$KVRlrOSU3Ar>n9n!9KNY-xIZ*9>^*m#lRkMdZq{`P<&&%Xv zJaNazXR5Nwto^veGp`?394+*$r4rxI27Rv%t zX)B(%YY?sRx&?L>w8)SxG*D!qPdgoL2zf}DXjvkB59T!a>hNG zmA1ca$FTtN`Xy9z291I6Qi~{)tY~r`Jznnc2o+irSFXJWyKGpz8th5f;8W-X=L7P& zKz$-m)b5MX#G}QDTb3xE0!Xv08=?C512);qgATMy##3EaO@>wOYj#zit%|&hh!BgA zVLT=K{uMh6OXdXiX`3nqap`k$BtKQ2ztDhOq^BD@G)P!)fC=9Sbcm|Nlmr{)MCP`b=cjn$8Cwjc=sT;s6JaU0mLsfz z0K1`^)I=`dDjPZyr7i_BMjy=E_kZ_N#H0QU{?o|fhUyQF45c~>Zk56jp;IPyK%i}; zoPeu65Qx$K%0hCq=9}f2CDgzCR1$FTX?$&KEon4UhH8z*o=!V({m8K%oW&w}GFs%W z@`5aqX}<)Qf8fXorzQrG?APzyZ&4KOCSqKz;@1>z%k~J_F;j?V^JpBI+zaff(pb3K z_n*CH!57JvWPxNmBss1d^YFts%M&*$YNBs9Td#CkR2xWfTU$e$q=@R?4G1pKl3ZnJ z2tYs$&^1$SK#b6x!FNh)E)Mh+&h2p2c;tL6(64_&n(Du~Dj-=5e~k(|2{X{h!z#{jJu+~#hD)p=(k>60=#L1uzl{s2a6DY) zGq=6_XuHz!lUI}^ASZ$!taP;26{^G)@LObtKP#Xe-z{m&z9M=>F5~KSv$wJG+QngA zkLKiWskTZfc45{&SfZMIik;p%MX+63={;WGvV#p;O|J$iJXUE_;kXw;U@T}qyL|V; zMe?Plp<0Y4=OgWRXIv3j+)76*XZs`C z8A#=@qH4p;%?G55S^`zX24CPCvWtiPhKv^le1+h=4Tc?R;B89ZIfiv3efhN(;>$xY zuEN9e63_Zq;938L>jKOJXeB|gua(`#r5N#=p0waaVo6f&H^)-KpqWU=Ru5{B?t{*c zc-p$5sTxJ;*$ zp$b(>S2R_Urx4*Wisq6>pfd3Ym+fqQ6R{biEQ^p)6#*ne43O%~xL=mo(V7u;J75k` zT=b9v=G%2m-Q2FN&m~tB{>zi^#vEo52lD{6b_93Oc@!5gh;&3d1BYb+5Y2DK+ZB%u zmK?mw|MqBd!^kJO47_OCN~>+I9CTz0P0`=#zD-z-X_pM7-rxhZW|jCk zl&O@kCGOHgm5i{Wte1KdyjpO!w`dyyTmOffM({~&qj?`?*}j=C4qACTZ+Iz&Lx{RLC%6yRcR2lI-K z!M1gLk!yPlCu6G^pi1E~s{;wStWM`4Bc|`!G(0vU!*6`#BTmJTchz#fUfXH8S=t;Q zWaLg!V0EDm1<1sb5D96A;{$ zpiWtnX=18v|ti8WO4{_!>!o*KN%ze=Vb0pQ*K za{}e4n|Bv;b3-!>p3xiLZFLPR|Hx-NEGlA9qEY;51q|b^U6Dd``N1`twps7rSMV|~ zSEy;Rnbm{Z50F6}wzQ$EKPC4@0?TIEbWBY3J(lOX2ZdT@sNf~?7H#kwibB=9XN)e0B<3eLKhZhoWLx)QMy zyps&}QdpHutt_Yv{+O&8#W4EFz=;r(tRGi;3kcH~I9+@i_KH;5Lh(i9hMkj4H{tiU z9yzQ0bW0(g>;&qB!zziGsf~qUVlcoXBkorQ74!4DvPCvY&!k!2M7h!EmbRZR z59^>8P)x9S449Xvw!4>jMgj55OF>AY!?%5fgNr-lfI7K_xhBTRLwSY()n}wK1Gq6d zriqZ?Pk+|FOGt_~N}AVS+yMC2_)hO8!uZ|c-a~j@dM>W=m2bapXn8C!gDSAgc$??;<)*6+Uj@gX&aNJQLx|cdYXIaHM&lzz zAPM!F#c2JFZK_;z!0BtQrN#nzgarN3l_&dXk3q6}ct-Al5m`!`L4~6fatMYJw>-B` z5egzUyi;U&eTH{l5?U-E&iKK)Rf3l2OiAscv}WN4p0yeC7?MTG2|v37+V4Ct&^mJlF zyW?F(&1~G)hqK-u9_0_r{GNSov5CIvf@-eR`|)*9dfvgmE{P$x*qcVcq?YzVOy+1Q zu1^Om`#6;M6O{@M#L0dyF!1E6%QN|*NV3={{J1WfzWbhg z_xq9nC#vDZXXRF5mW?2IT2#!P;P${m0h`|A(@9HY$BGLuwof<`UH}F z+l9iQ58KJFuq1f@ykD5&W&~jz1fjZio#M%lin)^X|n?L^f@?ae z&D2ber=EtI^BM=Ewf$>1!uXjk?!pJ*nf%5RCgJeMFAZf&lcN3OYiiWD{~-D&pq7qQnue8$t{K1mu2_kys4DOoV!ZNI{BtiBkgevPDf4cn0j2NB!ZJ_0A`9MdVq6lDk!TJU9B{>U;sv;g`MYD6SQo0K2J#5Hy{D7WK z+7IYlFm3r`^T9*6>~yN)g|95~tj_QByl6JP=#$e}k>24&wCnT|HLAOZEBT%CH~P>p zn}&wdY7LW_QaX8CwqL%2H-8tZ-E7$G?AT3G@Qln1{Oyw=CI$T{MPR_$$Hf&|A4yHb zL+5+q^#EXCU6`WMg?Vr0e)w*3C}iIoHcxPOEkIMBLmf~qBBC8aO>{EOUCCq1lW&u) zsy)QYbeWf@LQ*%V@H(CH60?9-kj0BHLU?H3Z2<4wkd-grBKh>o{9q*|V@vJMg}A-qoxcZTei_?WLm~KUjQH53(hdF=|*v z!uP_we5%XwnVJi?w{OxezV_$i7^X*LU`3> zc^O$Y6ty^LcRQ84iZnoBhUomX*}(Y6nG~gO&|;+`3oivoRB@J&Px3Ul{}$tg&!tj& z;*C!}^o*eKt!&tZGvrO0zb2=uS-4@(H)-|R&?=JgD+*%t$z{w?``ZELLTbkfYCe&x@g%8j!Y#3{xL6bPF#wNwhbGB&VA!g7m zX=eF>nR#>a6!#wvKW&q)`?Ai7AqUIiyX}>Fm5FbDv6*M3?4w>p-*?nNUsXQiV=_yc zb@w^i>G7Y^N5Ur_PS^+*KH2&1TJcLi%}p}ouT8^2r^;^f{f(HMcfV-?Vt^O|-|JPI zm1D#%89^Xx+z$>uP{OPU!?y%W@RV`d7+W@X=Sh?efQXU`8hll5#^;xsz|ZF< zEf-J9xI9QB6hn_ldFh6rM(j(eAmsrOl9+xTQ_K7-&yQJ#4Mu=r%`b<0{ z76EIZz#F_ePWr2pECAmk19TBDaEqExfyQdi5a*HAPaZ*r9d%OQ(hI1iJLJB1Nw-K9 zdC#j2o|PfPLL*qn#iLj2_Pr>wHqtFCxhEW7n|mZeg zO^_DXc~spIg}w}Q00y`WJp9@~C0^Q-xV2d+s4qXR;JH-dx8Te_74I%_u#cT@-my}6 z>*%ux5eJM5RcE^I&=4iL|HxiAE|A^-Q842;Hpba-HnoKs&~NM+l!sM6LTiabSu1e4 zmy~3LN2KvbM&>Nt%42y=Is04@p}pc+WQ3L-d?|)YG)<36Jb6Fyi?^%X6*4|!iPFir zrTv|JsJFQIuZ;*-Mc%GsqCwQrsBH9=_mKP~M&CY@oa@KHYpIr`Y(UCwb40-U{I37A z-k!*zm$=BsHGj0l-87aAW{suh9x~C@a2&dReeC(Xt%XjflIUp_KU62foS$Zlzz$5& zKZgfys$!o=rqJh!ctK7Doxyv94Rsbh;lRS*btj`bSH`lt;vW?H-57Ti=RfH|#`m@e zR5du(PkJ~K=u$JrXH`PT53-NXhMa8YD%}ZsB#euR*M3QC>vTqsbm582VuIy%A5{?P zQ8z(Of)Zv0uLwQDzS578?2gEpqq82)T4Hr$T=wqc`*3zA#mR}>R$aicL;hUsSxg9D zfd(RE^^obgz6pFUW1FWoi@kN=oUudla)jQZF?;P<*?)o#+$C4)M&zqiB zJpVittJUILsP{%;r~IR(@1j2aIFK7fvK3P7Bi!l4O><|6-j;7wDc6-oJ%}5BlAfg) z!r2wL8N-lzG2TVYoo)5&!S*Hqy(TM9qHGbdSW9(I1N#BqMh%?PxfA%Gu^fGA`jdU& zSR6o2j*Ui9nkCjHl_R8pt7BUWqcv%Wg5bq_bf+QYR~zayLxf*R0!|xl24{yPl8-5_ z`lVb^jJzKGNXNY9&1A(?qZET%I5rZ+B5Inm--h8e!-sqf?|^p)s7pRO(!>T80+iE? z-rmuh5@Y<3CGp#<*T9B};aVkkX>dE9*!YO0zWwT2L15`0y0l7d-%7Iqa&Aq2ad!@Q z7ZbL0ci%XX){nGA)3&GY{=0`Yai?>cRRV(~o|VEp&)+5|9`m~1dc!3$e%?r}W?{(N z`OHw}hRrJV2eAIr0M4V(rK2!Uc{$11a`5&;B`&zUEBAPalQ@Z_3dQP*@+?tpby4G& z>2em-@gduGP_w+)xH!No$Ka!j=*Mwp>@jWrsMVKchlp0JolkDE24`9T1vf%UgnGQV zxc?I@72Qr6BVW=`zF}xyFMFydDzo*53fOBBLM~dDz}WM zjK3d%ns&TWe)0R~#X$!h6wlR&uzv^?rx0HhbdtE4V_>?txY}WzP1do{&Y2Wzj?L73 zu7lTqg=m2Xwsd(|^uiwtYi3;rzP1yf*t%85PJ5cy*zhz}j{FO!3_V~d3pW^egaov` zupr7Eq-%4_%H5|J_Hw?JeE%3-32uK$E8fz=&#Q7Ag5QUb0}h&LhiDAPD|ywr44`rq zf5SM;a8q2L-#bVQ!cS#c0V1R#%=T=j@EdqAc@`+04w0ZP9iZ#8@6Yvw9DCW^vLYdj zB2}lb(zMDl{4Q!DfKIFmPvB7iuow5AJ9WgQnK^-3zHr~VW;!JAdUQHbobpt2U$Mtr zq)Cay_tbPIHL^P$S#!o8L;`KZ6e$#(LIHy8wZUVVQ}YH~V`2D5V)bekjkd{tK=Mp= z_c$BZ7;^g6^5?bk`dTW1881>;dv|_v;FyLq)ZkcSM%Uxn?#uQz5V6P&&rH(ZYw2Zgl9Gs(9#WfP}$_g4I)<0k9Yb$4i-@(Ga}r}RSKhT)n^_TA^YoRsRrOy zSN6`zy;O;RpB$Cy*Xd;V(OEtUQ@E0%ulxQ)%yjt<0*HyuvGoeHu198aL;{s{b(amc zXx;@!9g7i#mca3xoXs^s6r6-R9+VxrRte*UrJk)aMDa{g=sEAbDchve9U=nneEm$B zKYDoD9C8Ij+eo#Rjp@k_=<9S|olB4NQ$ zt>1iXDEdOicDh^fT&;gY*{U%_)@$~~-k7_@w<3eTfu@3iRCin1&6MC zYz@%?XkSI|4;i>?$q)Q!C=3@*5bSKzYU6mrP=O5ghO$3EsL^yPai=mUIldRxKmctD zl08;;vYLPQdbPUbao&NLN^z{-UTjlH63v@xup2n_qzvKQR z+9tvk(b`64&nY9$f){pUB8c6AX{onN$v!=-{$Bwp17X>YfB2Uc&gy-VJf@+6sNUE>R}{U;0tfg8o%cy8-D}DPTKm;wTnQA?H&TS7k325 zU-+LVJNW309fm6ap8M9MAE>@puXwWK`?W5lknBrs0Qyg6t=mH$E>tWRNk`~sVkrKa z8Iu21{>MZRP({5Q8GhZ?>VHu0g_Rgz7x=wp0~t9O8Cd?!sCcF4CuQ2m_mg>Xt0M51 z|J1Qg^^^*)}iu>O|b0eAA>jn@E zeeb~vyfTwm0q}>j8=I5xET>b9lt@kQucC+USHPRle3%an8`CXwhXq%=&HTHsCl|_3 zXE9AnT&)*GAhPy+e8hAD+W|p*jHwIH_bK&pN3=m||KC&6X{Vk~LQC6tT8}aF9YxYs zpGfdA1U=k3MZ^LkSc zuQIaf!};oH`$uUt>DSPF5M3^fMm}s<)BG$=;`ht@FY%+w zSU5Yed~en~&DM;n(yd7LyK3g3+9wtg)&O3D<$dReB%Yf5y@g}=7N6s%OI>RrXz(dt z!T+Cf(R6?iG?hmU@@{ZO$QSyz%N~W6gxKI#is+_r=W*n_xT|RnzabU<>5Egg(g~BF z1>5GY%=9W?!>@VD-YZTIF)BtDY!@uXYGwNt*b9DsASgn_mr!{pBF}Y4LtaYDfaLHU$&kqZql;98lpFRnO)76fMzCXE-rD=vomJ~vrI$P z96!UKY^QX2jlA|o{zPKeDRi0I#?6FZ?icT8NmRTs*@rTOMt2~70$BOUsHyZWWe*+k z0kDeoKVusc!V_B{hVQIsy64(cR!3H^8Z&RU#n;UiKW&~@K7Rg_mOq}Ow{Wnpq~|J% zEkgI+XsUBEQHok*-V<|)UjS5CP}jCr*A4$&y07*+Z(Zw_q+*2<(>43fSNc(}(LVS= z?I!-u9_Uoa?Gm{TzE9hIS}iCzKYYt#64Rpm9xPZ_spcQn7eJI6=v!Gl0fZN|h#6|W z9q*F=@$$wj3Rd}3-r@ME>rV}4w<--Lj~_iuWi>@iWtD+(7p?>A1N(tSI>Dy<)%zA6 zSkIn_sK_f)>!=#Y;X*#XpLhRz4JBxbtHDwqeOV#xP<)QgU&!kn>PA*8+23INW4*&J z-fng8t~cB=*%LA=dLc>D35nHyTH`)znEkS>^v>)MXGll0?;;T<+rQBPcZ@RGL%PHJ zn$ZpXyPqW&DzMLOv>yKq%6vk~Zk?*=Cqd9dj1=S_*jJ~#O@3R1H8r=x&7bTssj#}R z20)b7VEKPmwsO_Y5}ahQ?ZEiaJ~(doVIn#v+s~;g_A+;lA>z;|(y_VcX`J?iOJ;T9 z;~yrH6MGf@7kgX2YEbu(=m9gf=^Yor>L8t#KbPV_1zzwCh)mA#vu{$oMpqi&Amwod zdUHbOA2$24qHAP#jUMbD$FWHE?PKv<9HifSil2>tKZh4^~i z!>GJejes-@6|xFdx}#sZ4ChCmPcIkPyck3d7QEy*{qpWjXY3%I`VEplK+4P7XXW+K z>W>Z2eHSJ_jpv8UCSIL)YQekee2`^NlfJd*5asP4Zt3-ou;uK2B&&biYy){SslR`q3>HMXq_nY)?Q zJh}H}Ma@R7h0A;T{JGa-UOQz^f5-07%)zlp7tC(h}gto?5TZ5T{?nnPn}~eh-!Bs?GM- z!>`GjQgi-2J&AK0g_%EXWZmMlYy@_#-K|w&fjDF7;v7jA)13Xrk;}o?|L;OXLvm){ z`U$dR+)YF1huf3NNA{HoH!B~w<2W`h7t~~TW$Bt-;n2xS6nyR|=gP7ruoV`tIEI>t zve;>R)q0}hJQDfjM>rI&+qN1_3#>i{%j1|fhVng1tKcDL_815Zo%)u4502e8#LO-( zc(lNFoz1F!8&2ytttI*_Xe$`-k;VdlX8P}x3Sy?MR&J6GW+LaH5F-JI)&XKq90A5qkkIG@@!+lDueeA0iaV?OuYT);JlgoTNkHN!d;$cr1-bhqqtDHPM zwrUpTNV#UJF!@O#t*zQU%?Pc#J&p`5{Y-2yKXY(fICJ&AG-j!A~H8wewNtu=pxb{ta zbSrg;icmGJ#LHZnmDBOi@?T3XYl(4nDfrDT7z8l>(ualvyWnt;|Gf0VO+2tgV;fBE zNZ^Fx1>c@LLMQNY`b!knJ>+DNX=;rAf>T96v?#6NTbeYAJLybaBmpk0= zr#$L{)vT#$aXTS+B6^uKDAxCx#)Ar*I@iyyy0ovJ#0fso`RZHw1Pzork23qS4Q zsFu%iV2ks14LJnN8pzE&yqQ>48mZ!@Avb%Gx3zzz=jGlYq}A|k7iHqAzdKRHJcSE6 zjzCGaz&f$fZ*iFQ=shGnBzykqH<4Lg$>d$F_sFQ8FDx$1KJ`tsA8_x@8)NsU+?s03 zq>bewom7nZ=`j&)AItweB6w*Pi$#g?H@pw4+HKZ>P13#U+R^&M{+BD>Q&x>ve!-i| z$~>6u<R+bp&DPL$l7>TFd zy6ag(Pqbi(>;=;bEEzHLt5f^bqQ!q&RBoNdKJp&TG%oEt(Ru29=!fi9YZ{++d%F2* z$=}rSr<3fC+N?#=Koe|7%Vu`YsN&XsmG*<5u#N1buT=c6U*7+Az-US$^}T2?#MpNk z^*RBL>(q`xA?gv^3^t9qyZESb9WJZxELuCU<-n8#wK+@b13dL0M$gwOe;#&%Xupq5|QsbD~@^g zT8BG-HNSY3d4)GoR?g#nBn#P%X4L}gi$Oa=m@6b4d4*fVVc@fP`;-cFyQIkV{AkVM zd`P~PNu}-b{CICY!=u^*j+s?hxK?E}L8;l=gmMmgfMFOj_qr~~4g|XbnGuE^QeC@n zBxzR@h;pK8fo~Dr`aid;&AwI$%{{Bpcz-$-5$8W+tK&aa88uuqkNizQbkAz+RhsAKVxhOi!#W zFZ67nKKODcv+~=7=-8J`@o%Hj^Lq{6k+g!7=DOMy@0Qi6=LB{0>*E|nfaSh0_4{Rh zH+p>0?&kL%e^-vF!_Sd$D)YJFcTD@)8PC51NLuP}tsoX- z{BFS){}zXOLl=cZ^fDOlCg1Dh&py%i z-?zk{h|a@tR~Dizuhz6ZNbrU84={w{Ez~m_cYWyRKg1NN&@aGvwQGy0T}hPPJ?sIa zt+_ilQZzUZt?51HRv?r($E?6^Ht`t2B?hvM7zkF9jWm43PT*q#Y3%@`{j_G--=VBa zJWZ0K^r+f|Wo$aj(tMsHbw|&flRno~&*iDk7Y8ppFYfB_S*A~H-*ZtYO6Z2hgd-U2 zclCm<{ipm3I*CiKC3U^V=ku6sH&I5r!&iZkR85kZHdK?7yMrGlr^>Px?OH+tGv=}F zGSKye)9N5wVNM71MbnZsy+z?%iEN3Q8k#deM#BizvD{uF+ry}Q)-OW^x{)VQ{YKVA zn_=hR@Ov#((85qZ>8h=0Q0^8A5tAF5ocFRT_Rp7_f-wy>Gsr>Pk^M)TA0s%Nt z`Ln|t3EsYfg@bhb=92#S@XixaZ|`07uHr|{k?Oy3;>dE&w=BFfHxs&F=Z9B!%t|&N z(qQy)Taam!=A)Ypf5WME|Cm_*EXsz>2=1pp--u+kIG{Ya{x1R7DjdwkWQ+T?^Scou zu*YIpj<coylAryTWf||ndjuVVF05$KTHX4~D(`1_u!1`tf*^-D z@JcEL1<84zw=aUWJ}(GUGYVX$e+Qtim8EFnE}RyB=IRx0*AeosQ%A{La(EX9EN+Pa z4H6V_5aAegF3NPsKL71_DPQ#IRjfbWG>;C1i0VoRVxnz4VzI+-U2ef%PpCWpZB0IX zGo(&2zM}V4o$qTW-&Y>P+}vA>$4I|`GkIRyCNMzW2*GTQHSj;2$?};gC++hbSP-w^Pol-l>oOOv#dJ`Zj#IMs>f%prW;Qo(eSZp3)WHUnz zn>jftMEg?t`GX6r_ih5AMfk7a;t2H0PUup8#o}e5RMO$+&4T3m@=w(9a-P;!jVvdI z_!Nu{ZG85hS?Tui^P8#Y;dDX5&<#z?S9x*wkD@}amCs0je}B5)KZjTe1Xj1);CK#q z=BA0cHQr5B_riPNf!{*lMxYA87;)~DM%WM|-Q6+t49&Z_@8@~`?-!4QFAkeMvu3Z~y3X^;1xq2{HEhPpHQhd8hScx3 zhtm#bB-&1V++6h{)D+(`a?zcFqV;}&$3}&ANXOA#Q#9vnva9w}x%fU?UKSWu|E9a3 zO&AJ>7K6N5S`?cds9zn1P_M8vS)QgLrA#d$mr_Bf^A7FS>X`6I{dCit8*nSFw{py7 z8LM0Dql&c}=cg@~O$*g+j1Jx}jH%T;RD|(M;hiy&6CSHc_QOubPiC}$rdSx`Ez8k)B9uuHt0+V>RR(D;gA!ujpVD%up- zQHs8rzNARI3C-;c*y$2ns#j?3<2+_+`gIz6xKx3EE3~sZDcP04ew^9Cx6E&6zc5Lg z@_dk3@7~YyUH-I+<{pC6pTee3EpR|HP>|(+=ZPI`tY6}I;t3q~cv!$;uy@S_fhckJ z(zK3oY6aQeP!W#?wT$fDUUj64{a*Ho$BY6(O%g<1ueP*w5WTkd8j_??Am*LHM=`FK z8F7Fn!P>Noh%@{-1)V?-t)~Nhs2e;4GY~J`?*vH#WlgV3G$}~Tn;66U3(8|hoCw9o zyw54d0pfZL9B#hOt1Na*cML+*9enE@B4r~VB17mAvKrD?c}&+O?q1{KGK85ibmId` z2${fV%cQL=2v~G-63FP%AF>Bu;yxIACEFfbuuD30$!iZ=Iv!uz)VcT8BssL+7%9gR z8}Mz?@uAh6a_Qm^UFT}(^x)s2s7*3#JvaWt!eL_zGne0ws#OS9K1At!Yye5PzvJ%` z{>Q&ROziRuCb#*SgA3X!$RFY+dM35V0uxd`AcDFsHAhLg>mv#RhF`17E;^71vcrDs z%Py|DEt-&rB?vz5TSE`bGCQ-x`@_09S{*yy%WNLAeSnAw&<$uCP~V+dhpBRs717k& zka90Yhh@8QwZlY!`BM(^vKZqtX2s3Pw#)W8|8!2YL#kT&yPxF7HA$L^2^gH>| zb6~X_dDt&~82FFp1J;btSy@Q`y2rSIjY%JtTKdLb%v_+I9K^q|PPrZbz}$#O;kR8%$vj4muS%8g~~X9k*KOE*oK)|VCE z$BdXKCXU|o+apM7oDo4kRf?Gu-WF%??m%=c+<&#(R2E)nc6a}oUNN|Ap-s5Jc&)jp zTs_>PvvW)UYN%U^d~H=}An1Bn_A`i9=dhOPlM(2}yjd@)+tF2|2q>>|h2XVH5u5m$ za=H0ZF6X!$vrwrVzk+K>m>Yey2x3qnPlbQ(3vKgoDf|0IuUy*nqRP&ROODhC>&Es- znfLQC){nuwsVhH%m|;yIkr&zkQ7}xv!}5^&{J3}ZTB1II9HLueb+u!tP_ax<{`o!A zl6hJ`0o&wl(br|`X5j_)lHWt2uBl+nBi5a5(}lyDg~PIfnLJgu#ah-zo3G_*!p*P` z{nDBUe$fUq5h?L&AEiLsNO!;USU6FOi=txGU(1qelAuNL#d4sjmzbZg4JKy5Bc<^XPtc z0O5S>`t$Afa4UbFW!Wu~RG*T1}m`X6hf0 z>+dI|$Z13vG5eII0IvwOW~#bclT7oz+m!@+J-9;^Pa={gpntqdT5imBF?XmO?f2h# zow0bWlRxB=i@0Dp+&(^SWxP1+dZXJ=+TV)0181BIPp55Qe4#<;M1QJG#cj{v zzN1vzNk7fu44lE<-=O@~=!eB|FrSpHR`9QL(+iB40O9S%#hnl-k7Boya=t<>*88^d-vRy*W3B9oCn?aX+%s6;!R9v?`!doAs2=S7u`jN?%`HoIzL=>n9f); z5tVMh16ul)7+>*TRF`)up=81ApPEg@r+ARTj)m+V4o=S0jXH$k&H6ax;^0zdFjQTw-CT} zmi$ssPdot9tF=#Vp%!2pd+Tc2Cw70g<1nE3#WvBL-`ilAO7|p*JFkfaljuc9~LU)Gz zC9EN2wUYsdb1)7?zn3+5(aAQRrnG+e{Yy;!$C$&*a~R>ib=;zS%!El=ji<>JS*f}a z+jLQRsN0St0(4Ljn&v$F7IctfU@4_GHlAZ#Zqb@J;cEpeTu3RLURa+xXhwlz{rrdy zx{021y5SC*i{SwkRkrEZ`^UX*rG8^ekEyQ$aY0(ws;^{S)DG|CS%e%H=GL^-T9>}n zF|**euF+?#`O`g_*X5XUFfjHh*P6QaQe9WraRz5Ns9|V7^l&Mk#vo`Y**L9xc8mNi z@}e`?&X|BZkJ z$He0&!Jpd$#$zUr$|#i&!=Fc0bP^`*=L_oZ{g_r%Z!phh*J&B>peAP`rwqrUg-JS* ze{DQj%AZ}UY%J#pqHU8c*tHC(q5Y*F~>@I!ay(p-bw#3N=?-A zWSDq|UwdJ#kB_`qsm^tr`~~M?IbXPq)%z*^5cPibL7LuUQsg3&5Fn=Roax3{deA#q zN*mV#sqY+!A;V95v1MTkx{T;tyUQo9hi)s7M>quBP?Zyk;3aC@mf07)ZKefG zoGn*b{BM8swaK(MGH6NRk7o3Wwl(5P#d)8t!o4rV1=Rrq2^0qnRn>GN78*?u?Y=DD zfHR{JbXPeFTfUzYknHDCzsabxW^Jc-*0%FoO;5Fyo3cDLuGFOSSfX=vDYrUc(^N~H zCC(MO-83?p#aGj{lpbNtBCB;|1 z)G;=p5nd8Zqknt&5Au`Vkb%Q;j3#brc-ylwKIO*BguOz8N^`2-h!#}}tEu_V2%Yl{ zsb-^H*i@lW%K9Djo4r-%ugF?+;c9f7(n@xZ3j`2zRVjzi&ly3zR_dMRl33=$BWH1h znARVOMfUFjy1i^j_#EV63~sdX5x$<+UszvncSYqu)_Ya{I|hwocyT8J<(6BR7)K5T zk_V$y5S(9jfbBUgrkZ)ipp*S0d*S_kp;fV2YCUmKVzd=tIY`dDgS_{sjBPCgf}$Bl;~Zu9v^a z@z8fV&oNKf>TH_tvK_G;OYivC7wiTR8-h&yW5_2Ff2ad4BQHKL5Vm}vH3YWcv^F#^ zycleNN7P-Ky`r>2$_a52DU!clTI;1!(y1s1V7*GphGO7kZo`C2Pbtl2JWDKlNW)VL6F_%Pf2s+1Q}T3c#e!;@~7f*Z8Z(?MKQ?_6NTIatbVn;o%bI0xw>GR(sVQeYhQ_*Qq{UypFx!FXy)!o9=u6k|*`C(yB0QvSXFc)+STYzL!uNh|ee9Xym3X$HIJiVeQH*$URS)Ox!J>acC&p47g&S9m|uXep-` zSsX=B?ijPsa|rS>*eRtor;cG=u(n;eycL`N@O`60Yio0kkMH)h6ZZ&u?AqPp(HjO& zTLIgEy?$m2H#V$HLum90wVS5v1WF=I7V=CR+;)^JA+Q!=W5Te-^DTC8`pLr=|8r_e z-n=d5yOLRG-{yuqrSC~&ko(;^?Cja%HulZ}7@j@8`vB!{m;85iy1rA3J)2V?Cpv2*;|dOKDOngnxJLaMcxh#zEa-3 znBItr=!LkxAj33%hBO#4-k2_hqkPT4x;kf1_z98+XQaWymgnqBMrzlMyQQEyp+-dx z#E>Ftx;y*l+2RQY&~+)o=3~1N5rqEFHg8e)Q|R&+|85PyW@jrwD7S6V%Z`DP9&!=_ z8flvpKio+Fg5BjIAo*+u3&h)HniCKxczf;E0qQATbA^P$eX4w-$<6|EM>9t9)20JW z2-hFp9pRr`VFl@!L7Ss8>gZoKl1qq3BS9R=zf>hn4S#*d4zd;_aBs}+Ds znIO7jOQT2dFqn##qxCP()@dXQJd*KbC?5kZlk(k8zy8{AqXh-pUsy)IdCkwuS8g8H zf^G&=WSVvMmF!wAJ4YS`V)B>F7ltXOPlU$oUFMuWNLu3$D-KzT2$-rSm9swUnfyB>=0xYqTBN zt)YQLWUuPJ5>keGd4ZhZ^8*nJRu2RC@Uzee_`u(xnzp0Tg^JEMTOttMZsE$X>|bA- zEhP&ZO!PiVJeZ}d6{EWF9vhD`a3wK5u-12@_#|7q{6H~rJ_5ju^v zf&6J6Sjh65&O%K3*<4WD)2L2R0B2ng7fm_7RIa;*IpvMUFUY;Hi=Wt6$TG8M!wSyMA{)N&8;II(TkwuLq^)RxQUqB7&wlh# z(UtM3`h#O=sk~bk#+sXpB%*)QmY11wt}ycsQVsD133 z2=$_u6v9`@TR|QMK&2_2cEWHWQL`xSHB|a5@772+DTWNR?lSLkZ*>1J(+-h;T$R>! z0VGpIDDRF@K?@8#zch;>c?GlKGvE=ho_?2Ls55ENCV41ACkjWu`s^2){^;MI)l2c5 zOP_0tI1r1Ba+?l@-{U=sg^OP{_6&wET<=fh@)fH1(rh#SjM{aGtfX*uLJl&&5$1N- zZ)D`QeN-WQKmE$>{^+x(&Vy^*=eW*eb5ZPAW8vlUje)E$)w5A#$z zJ`Daga~4w-;meZpfdxfD=0CIj#QRniW{xTZn^e&?>PP4CpK%% zYK{7tP_ro<*}2#O0y&F&m_~$*;pu9p%X6{l@~$F}HQLZ=lmHu^wOV#FFr{Ku!3o{! zl<60}a?UH>$*Zx7Qptes7I8n>Fr2V*qENRQ4Hfn9fapMPd-*V&+Ucwg*5*I?85Gh< zk!Q)rgJj*HiJMUax-AhiAB)Km0ACSZ9Jy^{4@7spLACAx>6dtR{D?pq-r&C`ymVPa zL%uUO@?K3pIiWW|_WY&0<)&J>jSRDm@`awo3T*J75;Xgx*0G3C5Y|N=Q0 zbx|d@el-yeKR59=i&OVcx{H?#;8tHHx1frC)KA3 z%hYc5djIHQUR_}70oyJ93`7A0N0yyUnlCf&AkXSo9>c}EhXu?7Jr0F;W*Ze#Eoe*9 z6s);VZu`yn{=ybjA$RkFmAb+WU39Ki0aizBnh>q(Y&p=;L}I!=wE4yzxz*9IPH}2z`WFD2(XQW*lQ@h5JC~<9Uhp0SYt^BXSKuZvT$7qK zuQ44!ZmCn7);sRI?`>vzaA(wQ;+q(2{M|dWaeMHlrC7hu63@?^Zz=JXwG+nqa1*F2RNJK|=6!LTdgiGe&+~qmp&3Kp=Bv2UO=9_C z>7>3mx47as_%Z>878RTX^$#a1|&NFVGsUdJsa5_Xo5 zcF{FqRrtBqDqwDUf_uglr?RLwPs3(j&x3ELBop(WXVzU!=kbE}$)`s#+x7f`ege#s zotU2L_Jb?Z$(PFk0yot53CMJDbfdRTqo z$P&c*#OZH4)3B-TUNvbVf{HjcA=mDl=dY4~mO=&wOQdi;ua7Lo~LR~spaWYxac1KsL669er zZKDBnHnCf0kdD+*Y0`|)rrRWcPjD*b{`PLdIGb20(PZcTJEXGJ&(xTOP>_+%oh7{% zmNPy3N}<9I>A~#2@+It+Va|bZNHI2|(lp_)e<3B)Q!RFy2#c0hTsz=Aj&e;sxcu2C z;{X0NKBn+!q4K1ffK(K7Ms1g%o78=JU@z;YRm!PRvUSmzd(Z3cO!bkt13w(SQjWZQ z4-Fo&yz01g_*{I9cWXEb(y_%xKJD=FQDWpf>Mcj56}McEjaLZ-i?FQ9niWgQ(z*3C z<9{{D#mm6#U$WX99qdRDMbe>n5S7+ydg9W8r{7B=V`og$r||wP>+Q(r<}oHMJ(wAB4OE#D&*2d_;7A*U{7H=S$xy+Hd9Og6?dPgw4>z`LMlGNK`Cea8O|VqUTq1 zC(eJbsmpqk6m~0t3?{*Rfyej?CFhdML)GnF!RlFM>lM^fXX+m|2Uk4BEu#%ZlK$Yz zQEFggvKaw$Uxr(pZOE;{;e;|jj|@>K9SdiP!r=;3$7sdvXMo4;LoWPR&`OP)uJc3! zFnslpHJ=hhWb`<#-}MO>gG~LmYhmGpXqkvoFkdwJ*-Yv8w#rQ?3xDVjwL97f_Cwdf zl~r=y_n6^C=~2=W-rY$SFqgky+TXx_Oa8tG*dRT8e_NB_Tc5}}AajBx5l{2qk2O{~ z?taqycS@@faP5Ai7hSu3Y%#(c7taSshC{BqtZ5BJmeQonwb+qT-oO=+4NmlhwC z>w?eo?l;Q=;Dsh+3qy+RWtckJmdBQRmFAOrq+pNHjCRaUqz6D1x#(2z+NKXImCC|3 z-qvexbE4(Pgm!g+PZIG%iees#aWckVh?lYJ(1YjCSIfB<|4`SLQNwsNL-%q=WLpMB!Nl`@SjYKzwuZlfXxtPM^41vkGKV13Otut*1&q6$SI zH7xwU8w}vhk#$6&B5#6&DC&L4=tv_*P0RIll=|aXzwz~xqEn@BqmPwJa1mX%YRD(m zNKg@#qo9`{`=>BfdkFd0X;E9)38&FV(etdjt91|i3XuN@6^?(9Zc=RPHb;giOHahr zdn{?cmNg8YI}&kBGJOKQd^uZdQQay89LW$a%Pk7P{Lp+i*u@|AAgRZ+%7M1E*vRx0Pw}X9ukEI{HxyNU`1ZfP3gY@_f0^+L!F|87qI;O z=Xd8uQ5xtfPgVt1&mX7)qc=lDH0>tlTeIUY?N7y)w5mK0Dj+q}M_W_P@YNLRqx6}X z`TO&kc_tgH3N=-g!?cLzY2A%l-KxGNwVw#m318B$B-6uQJ9eI5Hf#s^yq2I#w2vb0 zH2Q^-Z!0WRBPb)3Y`)^MF!R|TQVY0jRAxhyaeaGm}6TDs}WANF0~3h zIzD!vdsyIv0#eP(b2!xNH156@3buY+@oF7`dFsVnPJbyBppX5_Y&K**yz=+9xRRGc zc&-@&bIn_puGq-v7?%3DYHj<8p5*Eqq^ViIrdqXv)WcZLbx>7Re?dLUGU$2SE(IqN zy34xItHZlwG|Ql`ZS-%&uTTShdP028VMjR>`foxm;}2@GYc21q8?25FDv$2(Rh@3P z-r?dmx{U|w`4LmWbTB%|#@ot~-R=2fj zWYJ&wed^!f8AI@Zl&gwpCAIZ|NnA;FG?Lrm6M61$dilJv0f!B zT<&k?{9^Kkk4=5*lk8l>gvir4#hS&k@h_;ja@rukb#6Ro+wGdkZ`)f>Wg1@sLm6Qh zdh|o8&131>N7pfIefEv4Vam-5x2>Zi_?0g{eAf3f{Nx|o;oeNb!kMFHG1M`D`-cG7 zC0PN%^44h(r7OS{ki=O^WRxdy;lWRADC8F#SsNfeF5ZrmIQUG`#xmI3&w;yOz#K>T z|L(~zV5X?EmPQ--J41b21U#ki;Lij;5-(SxiPIljujBf=NBK^v-SF>mX7FiPynWhA ze1YM@xWa$MYXX%Yd1W`}PnuGUOVaJ^` zPFele*_g2niLM6JQWy*ylKVPRv|w$Lzf*sq8my7}Y-FIK1Tsr$<{GPN0yh&)^M6ji z+2_n^e*F4{Z_HMkV#O}48U;$FxBe$2^9$uMmkP*T>U;hFUta^GbXYou&fj2|f3LTb z5td{RrV=j)$5lXimfKdNddQ`)@P_}4XrPrd%UYUEnoXJhz3i?$Okz$s>P56#K3?1= z9_qq8r#x*}4&d31=88tP&>tYv4Wi-Spg&=$RWoFIEAnPf3Bv2c3+-H5e zPmsCDr>!ycXcgx5ieGvd)W2Ptu$e!Ge*b|O*8CCGbk)#Y=^1u8^{nt+s2+_p2e62m z(*ExkDsbZgJOsUQ=H4U-HG_a&X)=4%Mxc-EQIhdl4gS`h&bMm=rY^RKXXJ!0FHZsN zSa{MEtt&CVpwZ%9wSs+*L=!q#6_ML%DY2)tpe5AhL}K#2USKL#Kams!y4S#z2a}}B z1Fwjs^p1w4$01VqKP&iu{=sU#{?ag$HkmbR9(Y5)uhUKkBEJ}y{w7kuvGPrEEdo!W zsWDKqEuPTeq(>WT#*bLvHU~uwgWt0kYLmc~#pocT`1sOj$oDVkTg_LMn&G;2U;+uz zlCeThJ zeScY?jaT$H`dR4d*dLj@=HV4FDrH>0xVy$EffH^jE|fA=q*ck~)ls~gUjkBEc+?sm z9eQ2fUUV!Wq^UOOJIN+}>7BPp=lrCpZOzKOvv21nnx|MH2R1@1WWd+o1W2=dY$SvcfUf1l0)t4gj4cU1*ZIe*gEW z(jcljx|lSv)43T{D>gN%HA+sKJen!m)N&Mj{mK{^-FhCjc_t6F74C(6brP^P%*K2X zmMVJQhXnk(FGe^pe70Y^3n;{P$)(50U;0t!0R34&HPxrwihuP@^w%E$cT=md|4_Of zdVIybqB}2NcxN=6@lMDooorFWHx{h$yfDtKh^b^DPN4j2vwp7sHDV}q_ZwDcs4$BKS#wDFs=Vi=}af05hxJ&r&_FG1T=K$B(?I}PCOw30BJzVraC*GE7weaRc*Z_Xv5G)jjUm| z&yfB`x9NW-3BZ5&=z{`vxt$2^cE${0KNEi3izf`x1!tHx^Hm;QHe7xn4=4Z8knz`H zW?`mPE~xMHxG6YK#O6oz_7794&`0fWsszjA7%_)WE7@%DIXX?~-B1eu0?=S(T)X1g z2*gKMD!s0Pyvm;Ps7^rIV*wZi+i2EU&Sih`?r;ElAK*YvbRiA0Yz79Z4~`aA9%}xR ztY3KqPE=R%(J1h|PkLLUY3T#ssrc)gt%im*(4X;h(~Dt^VMME$eI_gCWW@)*e~7Y3 zu^IwKtvPdwD3HphiaMQMF4Z`P&2`!o)dnpuS`xO@cf)k+#^^N4hSGH_rlu`RHTl>- zL~$|KH98g2+YPe%Gi<1Moh@Dap)B?`mD8p@im|U@K4Xa3=$CWmocnc>j4`c-MMz#l zkPfvF>$rV-L96%GOI^;Q!~0_WD>E}Y(ilQd((}X0k$FIY`czD2!;P^BB+zSY*TfHw zkLguIMkYo7C9qdMX-QZ7eDr`&ClIR)ngdds#XzAJHNGz+!^_POLy}o#EmjqC7(}`i z6(_5KP2b&zB)vNg!C8Ik-Wg(QC3Tw?4~Pgc!<1hA=T^!K6=aX%AlPjc3`b9fKQ}+m zY=b=OmA{j?U9_PIvB)>Ex&(s%N3yj;n&lIo54+UxsM^*ak5{+kNA%Wi(=F$>JBL8n zw>{m{Aos`?-!p-}WI~Es>2*+or&1=K8U$y@PZRcUqhu!^&zu6~>&rJpnx(oF!-!^L z@lH+7hz(-_`bE*Y<5e*{XTtCDcf_TCPmzXto93gbDqM?x#Z}Yq4{Hyt=d9=KM|~S1 z6%SqtIakdEikzI8AAn4T9*^;0*?&sUfEJhqK;ZiY1f;dCPS?BPfIxj7;5dpjieU-m z??{O-(8IBxT0Q0}O%{N7xz&^X<_K5!%6G}O6W?jhC~@wojS6?uwYeqiMb=!aF*7=X zBurARPkFQv1x$`OMe{metAI{c)@58_ZVQAzd&BIADBZ@*8Kh}zz%7c2CKVcbMzOC! z#9iO-B>|TZeAQgZPJ*+{MP};6IZr*_mj05^47=kx8X`Nd1`qIP)~({m!5^p)6&V_{ zd$}q3EA7tVNVd=7Pf+NzuML~O0M?cDVM(}|`Fy_F`uuWLt#-=+`M;t0M^*$+ZKjs} z&KX!2l1$SO%{R34=$mUdCKp?gW7}T?m#%S_=q9r%m`kDlTVpCWv^+m+VqQ4rcD(qrIC&=ek(6Nr-_Tj@-4|`mD8AQ?OqiNtJY4r)WoIl}C_J*d94y zgrk1ICZI~e{^%U#?UDmSlLYt9-F{ZbnWvpGy{+TC_#9{{ zGRa+0l^$ZM8~8WHmSZ=;A88yV)}}N94LV`}96R*-o*SdhWhc#qT*o0nw;_$RH$42iy{OXk@rwJOgb5Uh09c&e;m>e9~75=*}=(mOZi0&yOpJe zCg?`)+=lP5(L!rsE1!Zu>jNoiQEWodN}jrnP^VK*rInk6Qx{J$OS<(|!Nh(EJM{QZ zi&uZ#tUq~PNB=*LsPPW}QlYCRYfdmqm#njLH^5?pmVBN=B6eHC%%?_$Qn@mZTPGWm9~a0AnQ`A!nMA}+qt<*R zBj@aaqqI+129Y0ndI_^pU=rE9hsR-P0mb}Mlc}v!4Q}b7Rts|$7W~I$jwv;ox;Cw( zvB|X4v~!J-=~gWCcEO)tzf^@FL}Tj$E5g7d(TPB*kJkB2@^Os32xD_>Ah9RY9o;Oj znrfFteF@)avgKTGpO3DJ+MFPAF@KEubs0BDUC^=9odgF4zZ{eV!e`;8~vV_zuD z9HLUqWc+j1C7;%!chJs}9HDvH%J4YsA1W8tWVXY*@ht6-qRyO!kcX_tW5K zZuke~XvD*5Ieq&Z*28@7uycong)Cvz)Q^!A`V-0%vG>%XveIoID?I zMQM3=k;Gj^p#v@Z1V@fe9iJ z`T~2a&5uyTv=tDv92R6po+;m@x@;#cJG^7cLjvMTjfVg$2k-G!bYFk&1k?mxA@!%) zRswx~|ApklkVD7m_&-LXg)ab6y}6Qx{Woqijmul4S*fTmdPO=qx+zH2e>-39Pc3r} zPwZ+{7>0~cls3Wy8y{{CFz>Jk2{&%C85FFQ3t4KKOO56D6M!R#`fLWdpJ>N8{4Xe0G5c-2SFl=9@l4uGDM=cJ_P(KexJkHD z5{#40aK~n;VD(HjiJNPkgSq#xwtmbKpwF->zDE4{s1zA%?fXJs5fKW134L{D79Ps_ z>5M5-phJz9#ch60^Fem`_9=^)?y^n!)UUXAkX1Y_x_JM1E0&l7Iee;4r3Pi zHCpYWgr0I^rH?nIPC(Li0U!-cpL!HZaZ7-T&02$9Ek2XsRBb9_%!B(7R6;XeR>$^zsdjsQGzAz-TJqlR`Ps~Gl(JW+UHU@#)5orZK7x*#4D#mHL|g;3 zT>+HD-i0{S9x;BkagW92%e!68fQ>m=kD{DWbg%C#4$m+Ec-&dl7>?w%?yuUuKKF^>|2 zfUxJgR7^T&0Q&EynK7~wtcejZi+e00PfQhfM&wnwCL`O^?Vh}&UNr{IzQ2kmJiBP|0` zTRPH3;Vx9K9y)sNYqR%Q{$r>V3s++AHTU4m_o4kGGB}PT^(r{NVho#_E@ykDic%P3 zB53Gzdp`E0+0QV1xWv5=HkEHR0z;>nb25?4g71QPc~xBA&&_JyFt0QtmfenW6Ll(D z@BXz`5dvCqb`v6`Gpv0!_mOCNz>`QXF7bkuSwQ-p2C^n-ed>o0r+W@(Jf^o*tZQMB zls*A3jtFPAq$@(MZGtt?YByc{eO5*MB|XC31V$V-u|0S07pWQLfq-Q?Lqs1#G)rN= zDtk=?%;ahxqY^4y*GK1N6>?P6tAk00hqB}5*XDLO4gftIko5EiSZ;kI#KXqLudNj7 z{EyDrs@}@+^JR!7k-+8VucFq3SzpovOOIg&q|J=3w_(~A#LHd`P0&Nya>vKG*Io@=L9pow{<|7%zwK3ItjsxnBkfzMtvv`;M1<>BFH=_YfnZyQmDI; zfJ(H?3GcfQ@{=F(lwH2v6u4Y(+<`7)Y6{)dpv_hK zjX+{TP_xOn@aXWUGCThzJSI$`rf>v2M3AiuTaX8y$hGt{W>M*&T&Qy*ccr?!x{o(An!^mDv;poudmsK30w#Vv1p~if;V0Frn&reU!*QFinfD(%)3_75 zK3y4>9P~3Xn4UTFK1gea?u=fLICJ+$9QH9$Z51x-423Y|0N*@v7j~_`SPB{wsuhvc zyA2UuU+;IZ3NlYyT~0Q;DBUWn-Ch52QpA;5bNInit+N#cjLDN#+f*wJfZjxOu7-Fb zHbEN%F=C>J*yF)?C@z8Tur{T!a;B5u{6MkkN|>0p{hNvg(Bi&R&^xS;o(&8dhXub` ze8n;rDHv_D0IJLiEbi@*{=rS!aw$>v{>v-w=j?pOMz&XMux1tW`-G2!_9ch=#ZHxxv<>#m7!Ehfop`;9UcY&gZzH< zs;ZK!-KtuQRrU^1!sX7Dg-S&~(fQ7|;R|C+Mz@D>ld4}VJr!lk_&)av|Ud1{e5bXq4DGS1Q8Gsb;GwMCa|3X&z z`e$y{OB6;cE)Bu}`cK?vFWx+NNj}ew5xrr;KYk4?U$QcUjGWkerhxZAr@jAY^ki>e zQ1ZXF{;uV-Pt)>sm(!Xa+Ewv*DDHBewUdY^;q*#*kUfUv2S@T2_E5Y13!(GZ`KjyB zB;pt0zpt)GykH0KuR3oTbTgM70BXezp;yIqgg=fuU@wSO4x?}({zMRt@$*Gigk1+V zi?f&Qh$9|Xoyok?Jj$jTOWMy^NYqL%EhH79cr9a)bUErw5RNk0SYWaC=(cjJ!&&tu zm}x|gD)0UrfGOvI7OLjQIxx^E=&{JzeDU@1P)Lzyt$7Q(6+itHz?pr#$N;M=PYy9q z_+sdC+!iNBfkvlcsyM7`46=anub*vO7tX(3Fx#O64Yiz&u^o*o?`-Db4eYc(`14~~ zIxP?DS~#6=*vw0u1D=SfK58^P18;i9RV~4t5VxI7>L0H*(Cx5&Tj$RDRjaS18H6Q?q;gk(*AQe6IC0e5ak!N=V!pB_ro59~cX8w}+ASqij15ZsXH(V{Fh-7s*q`U9W$T2qr&n0!vcC>S-{D){F*LC|XN!Td&}TUe^p!gkVy?hTwn!R{AW z>}u?jhGyU=H8F8ld^6|@^5zm6IQc%lswG-PoQhJRPrC2XmVTUIXBK0Y(3A06NM`(I zJhjBvHll*0KQVhvL&vvq3=46@e*fuJzJJq8Xo5hVPEZG5-I|6ih>}@oCEecyGre&t zV|au=SFgP))$5epOYiZ%^%1gyjLG~V)Pdv(7_-q7^lqg0U^U;i!mCT?yzWaMryibq z!5ATIxD) zaF}c9uMcE5Fjl^cK)h=FIQ=HPG9MvHwNo2e-^^-3e*oGYl!@udxBt`Ascs`{fo#!E zC{kSgJ4K^4cFM`SKex=kn&%g~Yky$xP$5+95#JU)uJ(>k0UN2vhX4e<{|;UUVpWUw z^w#gVc)isCzIYF7j(+dD^pNn-aQO-yXjVy%&vOAk+ZhgpX)8Zm{rna49*!A1^pY`- z`Hiwa(MGqoDpZO<*m!p<;0%fbB4d3sWSR6Pn7#Qsg_CG^DtaL08+l2}Ff`%dT^~R2 zVlQ9dfqrvF#jprI3K>=2DG}8VANO3By70(zUU8x~JBv|J7Xi9LJh@nn%^VmNjal>d z8-|ct4mXSDU;0dR3=@xQ4 z**0N=Zz{plFQL#)bQw-87bO{fE!>@e+2_|)ByALvZ~S+t6$;pbJOm4?aD)gmNb=Rd zVa(YdAN!<5*4Hwiwt3L4g^(!L>5gYu=*67w}uR1Pmb!8N@n)|#Q#-*{o=70vb z(&29^kmF~xkq$>^JCOu;cKK;u{#-E*Is@2e{_fgLo78W30E`II;@)?>Ga+7JA)}#N zAXh<)GmiO8kPE%}1D@lEsQC--%)|VSp=e1wq>DbiWayJul`z60)E!}K)ga>OxI5l`WsH)J09l-w+0@)~l5s=r~fs~a>`e_qp-h<2P z+FU^|4?oz^k>oxcFJpOx+tE!*ih)FUi$FsN;XW`@AS+#EANG1JJ}30A#vmH!oAG-@9uDFal?b!=8L1z3V(q;Bg9d9v z5foBGc${==+k2}Ab*PK4it^_rqJjhEy&vFyyenb13B(VlB3}_HVkT=jn>md&oyIxB z?^$5AAAs_QmqsbX%+uf5G&5DXY0j;SB2U~3>z6_o1nm|+bvLshCfHUJFBk9*s^|6y zQgoJ0c?wgktgAY==M`9lt)c9_3zg>^uNL05udKFORen$qNcW?LSl58k6D-U3`c+f5 z;3f_C^<&dL%`S+#rS%$EGMK+V_tcZX@m5SAeL?`pGf1p28I5W`G+Nbu*dt5PUirae z0n=mw74hsLQDt89KPo&#b+J);-zJaC*k=$da2yQ>fB&FovzaBgHK6bnouuJ|9Wgxbz)0iF*E zRAdyG4E|9dcu*+oX@+D6`KV8`t@u1PIAs-uDn+x4CQ)yf%@Hj%JvzGO z{WnW;BA%aGJ=O*$jwWVOZGwIZCYGRleH$0(9vJg%Iq0`L-sO@+;7~#!kHc!kh$)q) zX1i;mwAueh)mcVG*{**Zq&p?01O=o9NkO`ENGa)VkglP-BosmEE=lQ5Y3UqN8ir@)O;FFLRkq7(OtHHDb2qwh*m z=BVVA)Hdx5eK(se2ox0X9vxVJ{bo2#L*5FV7jJK5{2E}|=l6I*g6Z($()#J$a#m;d2eaDWe!X-e9L{KND@VR9tGC?Gj;mSN0lV6TKSzOLgnCtKI*Q=Jrdy1Ir{%rH;v5h> z1~{Wqp*ovcnroEDjty`giaSSo_A8H%PDk!GoK=m`NWZ_WqzlFUFKqOkc{e2J+|BE; z-uTqhX-stVc#S2u?`%c=%;22eBv5ZIY^c?v39n~(jd|VT2fh|?b2u-Xk|^d=>CZWn zXy|Jl*$lC=F9NHf<&P@qr`&Mw2Atv;OR`^R@6{=0zB|b28m$@wi}%tfJX62_v!6Nm z4sq>Wt1TI1=&R`NS}^4sPK|RN-{^PZ0}VUSU>c1uo!ZYX8s5cO8(*c76GjLMhA~JD&Ahd0Qq*Gfz)1U zblSs2v6}o-8ti9x{8caY&|DG%(p=XGd=FN&e0PaMjt zJ{yxFW|SjJF42bIYnnXkdMvgJ4$q8-oabKVbNCIga9D@Dy-D%9v=$jo7o3GBTT;*z zz_P0biNzH$Bo_lm#bc;D4xflf70HYvw6&C;^{%oed(f^nio7^wtOmE<- zi0OO-;EMJOUx;_cs|Nbb2#JmZ&Hk32C%vTi9^F8k>UjSNY=w$bAYsyqxWG6ye2Z-a)`ZoxL%9Q3tR zu7TQHY?)xmT-j(E6;I)$g%W3U`PNEmrfZ)*$6F!AG^d#{Ks~H(XItL=!C~22&*u$< zp*<5e8ydYvEBZ090N&>4NdrBr8oB*Wb?Xn)J?Q$2Lp<5!*2HR@HpIp0V0XA%(hp5pn3Ru@; z8|~!noXXToeAGZSYd`zPH)(w#b*R@JSKX&BD~YQu{K3G=S4V{oUFV@woJEG4&znbJ zQu~Ax=ofN(_?1p%s0_ZoNitfi6ky|c9JRFBJY%=6$3@_goiYs(sMPiN( zM5GZhZ@=sRiog$MXdvyR8Aai{N~pL)^*;>(ovzOIyhZ1hMt9XZIMd3o$n-pV=RT*A z;yh~$2??+Qi|dX_EWA3b*{px{luZ8jy%VPn1pt_r&-XkI?eL8dp(iisoGJ%q`>(@% z4JjzjdkRy8g<`KpX&$foTf3k{F8iTj-Im~o;t#C4Gz*AieMLj6 z6{dbd#P1I;@BLU7pOd$R`)hzmE)EqG>Rc6|TWnA>tdxqXHXD;rwQ+e>KtLvVFqewr zvw~8%7#Xhg%S4SwYwyb6GenG5$;P4H=sC;$W!~bYx?)OWVOyXfdf!!)1A$9*vO2Yhn9{lAQ4i< z_wsvpgpFz43nq2@JJs`3_{dCf?O117ROL9Z(QyTYkMqe1m^om~G^b9A%cA5+t}W?N zgbh2?0o7gUXR03cRC9At_lV|Q8LI+rXoJ`jsOq#~0+KEZ1my~CaiUZ~x4We)Sa`RUlC7jWt4U#FI9*B`6bh>`5wHv1*yu z1r(H#97Tr1pnH5T`aXmL`JCYq zf7^`ohRRL9lkcmo$BJaMASTe;o2ScsfBz+g4V+vA^`2wuvt7#~-UKUs6eRabnS zr93mX@*PQ+V=2`!v+$OVs#8-7{a$6cW(^;28ua0>xR1rd+x_B3me47IjcTR(boZ@< z$-};V_FrdU{$T;a*TkRTrkYLw^$6YnHfheihw8E~Y|6pUw@v7}k77}E?G2_ooUiyg z;n~uch7Iqe35f5&ImU=21X~o^G*L1FgHLV!9kBW?pY(W+CA0j+`AhH@BgW|a z`d}epuGMdP%v1;ETH)-EMkFKxV5i|5g(+|lwVZXfA1#~8SOG+dGG>%t5gKoh;EKPO zcWupG9L{Bqe=!Nd^;8O49~M<>t3DvY$@D zA-56qkWgMsm}(C`du$>8kwpX++$9z+j+CCUOtu#(c(Rth`nth%=-nO83Ht1-Bt7Xf zq3d*7I-IRg*CdfX{fCAxd6RNl%t;P)QZCz2$5OMI6v-L&csrk0)oiWBhdc4*g_*mt z>MW8}yd$kC%<1Z7Q}gDp;G^>T=^tDd#kJ~Jl+!0Vu_Z~K(?<&klo#%uBBrz-7B${= z4qVzm>oiO1etmS-V{~Z#RR#4Z7AW5A3Ds2ok*7Rdmkj079HxN-DEp7hdaW~-a;+g*z)oT1ArPDe{?B=fp!4`TidVrnVMo{VnrIMkKf4{*Qhy2bQ7c1~h_-74{cd=7{@ z%Ki=m&8Wh_V;ElD@nY5wBavi!;R>hzJQwLk!LO-@nYNL#GvW~g?-6itlP_XKa|j42IJgzNYMGc8 zQyoQ^)~xxQhHC}6ErK`$mle@-(a6#R{h5yDO=v}pX()s{@V%2yuA=>ca)Gm%230gU zpri5{`%10Jq;ni?;L%`Avw=9)(b_=24AQWCJ&J-6;?Y$z9)TBfN#Nk6ye#+7)?x@q z-2(xN71r*{Ox{!btvlh>wl61R`w+^=TYCn#`u*ypsKshj(RX{Fy7D;mXY^Qfb-$T} zu4}M7Z{~W1dV^yy3-U6~{`{`Efc5RiYVYF35~;g`O5Nh2HwW}6^@cmO@=MnDz0QQ& z+dto$iw-KksUm7WtV@dq3&q}P$XqlSDTZj!3&;8lg~EpYHmKt~;Qps_m&-MWDzk9* z7PMvS`iqmpB|%eFo46tN^y4-g<>A(i90e{_LLIfA+5@jJUyo!t^6XmW+;^RNN%4<% zJ2Qb9%ISQ9PlJxA_nuGDsG#GeNK4vwAJIr4bUmmHLMD)BfgKU1b zAUJ#v75&cA7`WwfeH-*oBV8)&z+!Uhhjr zdPIC>w&vP_V*lM8oM|)_ckijuBNh`_u?JNL)yHJ2#<(LCQF{Co?K@6@-l;9pgH?S4q~ZTfnz>n?2S~mE-X zi}QlqB^MPAtQM~$&U!MfeY9P_?fPqT1W5B?5fd>Mym-Y%KWMYc583uM-xB8)EzCI0c>yc}XcBOhYp#*!5@AehM zc0T?#_s`*gP+s#kk8}L@Z0S{Oh&Sr3*z9X-oNR+izEd})O9JA~Y;1xfSNzyh%%F0 z?{6;J7=?u3oXC|bp#3+M2**fx?~ULaN{UCDlE6EJ6WiqA0hBD<`eC5 zPb2{r(`BQwucyI!zwWahoW}@0I6f|%h@Eg|kHDk_!+yheu_?VLX}7^Wc!g>IPFl6| zen6ui!fdn!S$WkS$6nNzEu|YUvbv@C92^((} z*UO#JWX#NQsFkCBqc?NSZ-Qv1Rb3HRHO0QvZL!Nu)5k_BdjN_?eKA72^0}VmQkt`AFZRg1;I9&zQX|ylmbkU1%3R&$&0O7q)x!9CNt@ zXu-dHwm5!W$eFdm)D?R;@RNPTfTCdw^WCr9Dv@kDqP#WHUI;)MZ(CQ+2kMarj{DlJ z84H(fX>2P?jtVnJwK$8nWgjXQ%haHw0uFKMkh?YBU-X|sRc)M2&3)(sY87tGhW@aJ zE!BXLz8ahOP;}7)H(Yed983->Hd!%ZIs~Vp7sUAVfv3r?k_%$YeZDhU=k(H;n`G); zS$6rByw*k2J}f8AVsuLS$r%SsrCwVqao`zC#$|N*PkXPYDpVJ8iQ577_e`3qx)69^gUvLhBW6*mD;O}YZQ6sSQ z*2(s4ep_`kbZE#f#kYqjyzue%c4uyvSRgn=Q`a_L>OzpZp*>Wdd2iMt3q7krzD`TG zs9;|)IVxMUd0xQ}E+dDX22*}S03F7^+ezEw13U5yy(6sQMQ* zMfC9urlbFZz#ovF%KsBo#OZZ3O`{@NzNmQsUHi0djm7pb1w8PJQQTJ3*J8zwdZot%}3`6Y-2r5_Lan zsvQ57vRbq@Eq}qJhs_7qYviakXbf`BG=||){G}*Ge{=Wq6pJ4{?1w$pd!#9^=dVg( z%fnB`j6=Xb`)_EemUH-s1IUs^a?7VP80=tB>p)FP8}HK=xk^b)O8ctvosCtpOUud* z$v`N8>n3T6QZ4!;X4FS-XI#@1lPK#Ed4u6<^NlZ_|Nn>X#d3svD?;Y6?=jG=XEKKd z^w_f)5S9)U&G#K|a-tuy7ZY7p*RC<*0`^LelHcNRjIcmNMj-F;;lD-?AmkGqUk}dt z9Xbc!wosk(1`?_ttJ9vBe{C?`W^neud)7U#MBe?AaOheL<%As`A%|s1kUs-6beUy= zSTHkoLOYm(`l^7iN`$+_e3lawi#5xPU7bA7fP*zFXsHb52%}?Ppvu&))(0Xq63Iya7lsbOUtj&KHO1$i z!+ilDyFXTnS4|GiSUWnF&(mY^&2dm0+C4t(=v|)4kj_zoTWzAX%4;6vd&>-ldIH60 zoguFXqH+5n-rwx<5VVYFCC3x5i2uytN;Lp&{fCkNdAz{C&W|n$^G_~zfI1YkQN5u1 z+?j@0b)h*t<5;n9s&rrHYC8Y*ozAb~vAPQlw#cY?0I}-CNB^wFX*n>E_RJ9Y04vA; zi96xaTBj8k%%fV15W?F{NT$nH<1leh+H^)HieL-_1=uC8Ka}@>h-@nFZ?f0p?sX@& zm>cyhxMvDjaq1nIxy8?aeJIg{>Q8%5znT8zZW_$3^rJqq7e|5uGL3M;~wZlXY z?qu@Ukn<~3`rH_OIJKVgYQf{?01i4u)j~W5<-ZdPkZyKB4)w*a_~vM}&7xfQPG@P- zIKFk#63($(75?>dZUfK^l^)ssid`In5Ey&ArkE7?I}0<+6O%J_qK1qksCG^iS;-OK zjz8NwVFQNQ0oDI}c7pm}OQGZMuc-bs)JUa+YEgwhqTJcdJxgQa_c%YP&>1fwDclTO z&nz}*5Try5s1^xnhP&~Fwe@{GVO0XT+DR?G{rqu`9HfsyCpq-Lc|%m<>ng+3`t>j8 z*YpF@-LC7cdf5tqbdR1a zk&=VH+~%N1T?%vw?3g32?fJ}HC-I()j&=bLTTJ5OcKe$xQrOFSuFuL(%K`1!|1Bzj zXz;s4{C!&Qhq{~#DXJMtw;TI;`_h@UJpPi5sRjxa0m*>?ldroz@^b6>-)^c9VXV1$ z(xr{@Ery}oZk#THqZNoPU3??NUD{}pi=V-kD2#T22~5A3>I7_+uUvsS>wiao45XO4yW*zk;%1Jh{7Wm+ z(_Ir<`-UW)5^`?OY5laJnO-N){-s?dnIF#noD9Yt>r1O%!2A7Nv%(z^YjOKTbzUJ+7h~NjSCUh>g&q{r=WS zokKT?UcL2q`=z=`?;)Ocvg4mN*T!TC^xLdTZ1Sejl!+tou}mlqQXu{!1G{!>?&8gQ z;>9dIOCi;a7KaXa#LlO}CoGJOwm9B_(`=j~ggJ%gbvn)s(=4{Wd(g|D}IbWF5|n9CF6w$ufHXHE%LQyLK7E=h%3EGjD!5WchW$ zF+<;>-QOWr=yLCkUbT0r=KiRM2v35Q+v#p}GNGb89nbS6YFo_D%OK)p{dJb+?{C=0 zYet5Vm6vExbCE@Yko|!ZL-qeR9?{jWB%M3Uw5u7|b@wiTuAio}4G}E7k{LVIHT^=A zs3qnplI9Zj2!(gB%6!3>&9|{5mw5i3(+^uSUY8;ce&Y{gdIpv4_ailzM|dqJXIgf@ zmUZoZF`SWxa_-{;@iTHd@lnu|m}w)Q|%v2RW5>8ORz;h|EU(KV`%={&_^Z8;+sq|sHFKmW_q3;Wmp z{}xM53zfY?fsy_m2AZ*i9=?XL6-LQhKqO&-;z(9B*}jl|QlfU2HsMUm^sz?x%H)T<Kcans#+L}qKUx09ZiOyKskiL%dj9r;xopbZ&$<4PRS|$C zrPgt#8-E`@?B@a)eKvZxHXnYbPTR~Ae-KxcEJ`w}B{V7f&td>Dcqq*IaQ^6)^Zp?- zAJV|Q@P=mMRnq)S8QScdhtBH-f8D2dCd#1e!8wJ8x^xJiKq*JmC7leHGZP56SZS0) z_&s+!@+~XgyS1Yc7YAGVf&Dc0i=W>=>&9{O+d?oeOBsKp?qIormP6ENEAl+razo(R zQ>_GD(OC3?VD0mByfB3A@I{h|-*N}9K3TR_9{tSz!(sGWwp7_h7<>IklOKbPtVP6} zW<)riBdtU5ttk;4+YW76PvWDbpD;cjLkfr4b~+KfL-hdWw!#$k@yETp%5X{U*C~$7 z@2&CB4FN)ov5obOJIYqG71NGPRfUEzKM^=?T0Z`zm!tBqoUYOS5~wOaI={Ni`}cU#7v2HmmVB#M&MRlT<><=>M~4s^t_Lh<({w zQ8C7AzhJgl?^s{1SAWB{9h5`k!7UoynW8jX) zKk{QwwJO0p<>p+extd3M8rJ#ENgCF#6+2Gu=*Q# zE671yj=0IZ8&S*UvZc7cvva)t1=1s%{X)Wd0my>`t!qVK39*yKlH+Eb2B++b=nSBc z=sqFGcx{Qhd1VH1Uyqyc9nX=v{F?+`AOgQPekw=`0VTCdfR4TZG(h`7#9F^MVciC- z`$3!BE`g%*A`t)Dfr{K7)LhQ!IbNSy-<~p=DVn33`vuxN!E4&5`uX_fg@mxg& zN2M1z335OUdw=bZMJ{=V%D%8NSxm`glt16>+RdZ5QDe9 zfR+hA{UacUeR&kPjTsiB0tvT#eu#F_XjGQQY1$|1O)GTB+0dLLXCQ3tGB!_kCA-?m4>(~-R9c+9c_X)OiX3?MfxNVTmXW_Y)x#9sie7&YC zag}mBiY}r+gAMFThkl|_v65RCt1t=&oB330DxuwnYf zAd!)(q#a}Tu#iz6KmM9EI6I-kz3TMp!lOq4^lWQ*4{IEKXxOw%@d>8WC7NyHJZcgB zPV$hSIInVq$Pep9$gE#gSPqihLy7pQ#W^>@p|;9tKg^Q0j6!~UTW^O_FY<^e5vT!5 zCMS5x-IUaie#y>=AhCg^c#Y$fab%ywG$IjAweI_l2VwM+vgWIosR=G|aIZ+TmxKbXQNacT@Qm-{Egh%M}5V!5KKp?9JEC zaZ8+N1i{#Hd?K`I`kuDR`b7PI>lNdue-`0tdTom2BJA9caf@7mk9^`z zf|>n2QPH)BjdEU@MPd%==?P&p!bX8rVv! zVANEYXyT-$mH)Vu9%AVPo}7bGwOp=0-EO=TglySV6(;{_x z9cBeC0*BboX*J=0t`MxuSAIX?`d?4Iy}XqqAi9wA--zW~KodSj6ntv-1_CD+QCE0= zI}-oIW(g3_*Jb45o@G#99z3;dyZ1iVn$xjN-+aE8`EXu%7(pL*EObCXe9H2n>^K*3 z=lbb_!%Ip?okJg}x?Td0a~510oQ+`q9y0Nr22MuG-gafu{3K&*IU7A&bHcMF1epZx z2CIC-$3;ahFj%{J;wq5pyCyuT2p-5)CN^juOz@3L=(|h?S(eVQuO2(`Ab%*StQ6P2 zHgMS>p2o7H$2y0gdRv9?V1@W}-(O4nWn{xrYBRVC^COY>9w8~*`|P_Uf`Y8EEolot z_0C4E|Gg1A%B`idfAyhCl)C?$k1k#Qj12c7odRyem8!2*ZC){kdXG?|YqRq9qN|pA zM(!~ULA^+YO<+yUe?SZ|1}_WpWac0K~})TV7H5CusnaZHfb4(WP7 zafS#z9i!{(jdYO=GGESxwKC<%N~X8eHv`r@JTw0PRD%F^-|mxJVj+?-!|F+j$A^#= zlgVTI^~tM-be1$hCRGf^^GUvAnq9g0=`l}k`D5)!LVG*9E<>paVAyZhI<@%iGLosjNuaan&k+QHjI%PKY zz6X!R`OYRyD)!M~)q{*zZm_GA2Fp);8l|%8OE&BdIL0e9%|5oU?Z51L(0k*8yPrAp z$!ccM{JAEH?&-Q}6xZk2!dY%Pz~{h(?7+r8#ll4Px1Aeg$g>^PoJ1|6 zRgpuQcUs7nvkyVV*|BC%2FKO4$zyF4>@vnTBDCUKpT4#<#!7tWSA&(XC=K&uo%kDn z+s4(;fWp`t258f^9}UbKeEQkBr0E*A=P^8*u>9qVt@Np+Slp6Z5X)94ybngT^wVIB zIL#||U%2-n_&h02I(msK4(Th7%KTe*ZJ6zpgTtR0op6JmfsT|XbSLig-@V3B(V|sS zF$i(R4{>S0xo*h&73!D{M!P;5`|2C4%xWhAMVbq{f1hw>ruHo<;yspcRTi0q4>{^E zz9|J^<)gRuvG+&w_QbiU5x>jd>*el8wzdZs&%c+gwEo>_X1Tm(0oQ`HPbJJDx|h~=6V0)xb^mM;#gX!n28ohMxhKS_8y-)^$1y_&k)HO4 z)HO^9s#$>(@jzhZ4gD8I@2Ff>De{;cUZxnm=LKnvhjoj-`pL!SJ5pm@;V4b7Z)>*q zS+db6VpWr2irr^VN|Jcmt39puy&>wY?RLPs(qeKC2Kw0ij=WC^2N{TAD-W0T_qxvj z;u10f%+rJ0<_QsSWAHc?98i0HyYjdU9`7cWig{tAYA{15TJ`u8nT~&NL?8sSH0yc- z$ph(20-P8GPvDa2pn2u~C!Zp~5Xd~$~PWSLe0W`U!w#XoJeAp8=Xc2?) z$EpnJ@m(3;@nq)1RDV1HQVeZ}DB&_zI|_vX)8l{wrx`x(QM4`4l$Opp7{r_$_il^q z$O9yOtaxV;u%f2DLw4HEwf<5!{#cM+C~GH`%QDXJIE_0X#Fdxg@>O}Bk`AfMwpO&d zy$(2BsKMx0YlBs}{ZWNp;k5mSDa(}1_mj*1mkI83=Rs~gk&d^oSw{!C#l6~P2Vwl? z41u@X8KWlBa3eE#;%+M7D|62h0rfNnOrI8VG_dgePlI&9wN9`Y45 ze?IzGo}IiQh_O~as0HyJo*wfs;UJC{JUDD3&5fazw>5cgT!z}=o=2l;uqS@Q0%|F36b6>hJA%uhSLByklt{nJf~n)6jFxnxAWUVbs%#t4P+2i?$)epn93rh`3edaB?PX4}4bc3iY>?K?G8l-^**pB_UN<+FFJ~mE z`Tbk;gXaeEKWU^@leW*{$pwEik}|TmXMkv+i~FLX)$O1^0IDN@x@wfQj!(zVTUut*LP}0>2>o>LbJfgn* zTI9ZxV>dY|EVx-o?mn1MV=tfJ#$ZFz%dY?WCrq8bkq=w*&i)P}?k$CyX?>t#pz^`Q z4)qjm7iWQVf?TMLTvawbsR?uOGj#)OGUrh!`a{^!utyO;J<0K$nw2dxT#FG5Eop|p_fv=q73p+R-d z=Ob=?3=Yb4mAeBORLX*)X}Bm5a>amT`RKcCPq-qRr0+2eQr8&dlIzjl%OS)%DM$?A zIHiTSR|FMdne;+1BQpUj#=%Gl1yF<{%hDu6x!1`WMUmoMu3aYw+i5t_t(ll^Wo3YS z{Jl2c$0}&F$z;AYN70`C_ugI{O-nYn_Mt-yaBE|qflk|?`;>}7Aun6WTxdUyiB`H> z%t-3;E`%QD03l`fg^)M*MAdkqWq< z&kLzr8@$%Zt#XJLQ$M-NuHb0I_eWXGo*2 z9&Va$P}tsHiOZW>wdL>PTHqMp)B@><=)>i{Di0@~R!8rO#zOr!3IdCp-{|8$mn?5z z2)Yl%b*5>QZ{Pgp7?p@!3eQnBI{IxoJUw>+{<4VY!Pae;1 zlv?B8rJBv*B%XMVgU@liBb~n>*0W$go%=ees!e5uDp=uPu~YxA+s6b`Xm|s@%7+if zRO@|4VS&*dpL5UqMREnXIqd5>(7f6y$=7VZ?yj*&Q3kT)j)^so3E znB|h!jd`Ih(C-U#$)wD=>s{G z7SxRWEZc6i@ujaRnL~^kr8%E;K;<7$_muUw3BjjmddBr8B!oGbNz1Azgy0$LpP}_O zMRLh_UvF+>d{O84pkM*Dos%(cu_urHCO}W)&3`ZNOMJ^}6QdecTb>Me*CfYFf2cBFp{T# z|AJ)p?_f=Q!iqQC>r>anwOWE?&L`_+u@2WPoU-Zu+P)!`f^Ku6Q3DY zZ9C5UT;ZznRzi&FTxweihSPs5xdDt z|45|y!;*+5o}P@$Wp}f~Hf*OdVwJs31!T`7lB~$Y*wB2Haq7h)c zjCjf(y-dEbvsPS@kF1`HtW< z8BLJCk-|}tlhS&>2xOj7i0=T?7o0H)utz&o5in@-tBUp;QHhYZPQt}qsx3$8wybu0lc8TXF=q8nzDm|iVW zQPoN-IN{Zl&Y`EtYuRXL{rkfgd*jmW`a-M%)Y zpx%Z)gJ)cJidlH zOl*93xFo()?tRo2_gqiiyC{@7fbaW3OS)zz64(+is;XJxcEKYPsY-Ffr!IMnvxc6(iXp=_H7=E!<&DY8s7AGhK{1dzuv z@9^UYPNRmF5>=E%T~hH+(FrfR>l>as;5)tOcLsibyu*$S&62hJ#yJTGcs>chAzR|e zi-L}uS0$sy-1wvSh>Idw0kXJrd=3O)V^srSPxZtNwD$8v8FFyNYw52bwSfI>&wdf1 zbh2wo>2^-#=R36Z;}bh3-#1q zN-ZT;DINh z0g^`Cjuy{_ytKyUdbehB&0`;JAzIHmr#B0=d7WsMRybMhI>R!dIcu->wN9hL@&@JM zGc2JNsr4s8hhZ^Y9d3YuM$#e()#`4KW8AX=k3eXR=O?Y#m>bEmdFsaa_UT!q!+uk_ zwYDUD`pE2+G;2oRLm-Kg2dgHtlx8FWG~Qfxvd^&#uN8iFTj22#dgeoHK2UW2ofuyD zvirn|quV`k!m}XHg+HV9c{GKmf$uT6f8Y_JRc`GC9HRb0N&3GOdEv9>XQHnc z(M)%#r;hS!=WmViEJTQw)t8S>h`m9l%FV;l7~1cO`-wKuEHAsx3Lo$XLrtKFQ5T4# zO37MFw5$J&#|?g$BY|V*qQi@0Q@lXic4clyzmupbvbjJms!Cb~ z5NDaeGQy-OSntdV=%Nl429nzsWT;)Pk*w6i-p{Tq1!!h)MG?pTY=L<2B(hGxV-JOy zkcBRzyj6h^V+N#cPRy(r8E0_XHI<@}5BzLUDQ2;B9UZCqm$F7FvE@B{>?2xLDj$~b*y%o`@EZ5H6_+ta`mY>M@@L& z{h;Zz&ytD_nDy0{>YIKhbMVhKk~$)}Zo?}}hs|+^jeFb8m8C9se}xT!SbujKZlToL zef6Esx>L*&MBZ{M3V5@ON9_Y1e4y;O~7m>67Vl)o&F*w+=Yb zICGJ6kzfrQxYt1K)!G)Vk_6%G%mp{pPvzJ}C9#t zhfn<&gTGo2bc(xKh|>C%MLNysSmIQ~bCP5SE)Q2eo1%n`(#dD=s1GR8jkGJiLes2b z78q~qcau{HPLvEzl+wI-u82yv0{+~862`q8y1KZ|=q)+6dGRLJS$rD;{2;NH5W;AppgY5mcE?veV0Ms$3C(eKZBWroD7 z&9=YrydOZDm-Sf5o8Y~|l4~g>Vpad7QBR*he~B0U)?shyVhHE{ci?=>auRhOJ?B4v zkU0T6dJ)5)j`m6f@!0{pke$FD?sw-6?SN}gX+DlH{frDr<-rhuj(!5_q2GYfBj5t9 zUOjrMqN?|7WM*8Q-}D1L9v-bj$;V_ARy$dLElYCZ{SHhmWQ|lU*Dd5}msWs%{h~?# zl?+|HzchNt1@1S@2m(AssSrUdBCZ@-#c6R0IkXceKav3pI#cO4KY-%vr;BN=#h~t< zBmUc@;EH33+{hd*rW_t697ON3NtafpRQt1xgFp;_sfE0E_AhiD{RA0M)t&hm;yD|_ zu2k0-tpfW_%rLYVUpUiBiMOCho_oJ`j}Z%Cw);GeiXdbU4ztg?_Hb#Dx!aH%f7Iws zv+}lA0Q-b+qI$Q~SIgX?sbKDsHCDLGXj0HKUHNT^kU8jPZ5Kv=K;7!_+1ZJR-#34I-BigEG54CnUw+!6{;OZ+VMqSyage2A4noE& zVo<>aJjM5tVCe!A^fT66GYs?9PDc%a@VCCF1Z{509ECu3jYynp21P%V2qLH`2f z&7g5|K{n}y-KYdp-jl~pTmKxW*VMMaTaSLNydWOtx~~tvK2y!gCGH2QggD}~UhYQH z5Z_(&1$8O*OYmpKbqnbLS46ScOmC(*`B!PyAYpGKuT=hoOL;Y>pgSkbUTsxfBHW7J zjXX#^FtGKEFoms3-}!Pd@5_1+6o}<0nh}dPI9!!q72@_^IMKvAvE4mgast|3-`+vs z5U{6i;nYDzkFslWj=W2!9~imrVL{r0LESqIhMk0{O==Z6CB*`+vy;>tl@oRgXTpiw53iYYK@aGrj+AnO{9k)KO zG=etO8sg~}msBQGFNfBP441vO5>5rR^qCyrJG2ew?ohX#OyaE&waFzD_@a>ykdT~u z0FN1QPb?BOEHu#j?S+xRj_BsvgQ!t(Fk_C!%RmS^cD~K^;+F5rPg>-N@hhI5k^#!bw9*-4;;Cqbw zllcX#;)(5!9huZ3LQ-Exod5Z~{vIN+6vvg$y$ub<98`MP@h?ylllxqVDP=7OrIdff z4uvq3@fe9=-&FF!O*up**&rrPFOz%w{r+50ET$=5Mws~g}o zmAsG_gY2@bLC05kFP)XadpHHXZW?@(3@0;t@OFr zELq>$;+d8)uJgy$Jf_AqNn8QH{kv1=>hA>Mdp9H9N@XLeX_$pk+lX~i=RNPFnKcR_ z1b~WLVM?X8&tC0Az4&Iye~F-5Kiz6F~je~v!p?+<3EpcP5PDm zKo%2TkX}uP24!yNqvV?SU4RJ1djP()#U17uHH!u7QCE~W#_IL!PgMxv>mok2JCo>l zmhSW@V)}n%y#-WM-`+lsAfa@FwA6rfBi$k0-6NOw!8gmiaz3=GWw z@O|%n?|py&wPq=cnAvCVefHV=`8;6`9tWPf7*hYWLCVUb$z@bWCxj}~l0Idi<4I+p zqgHG<3Wu2N5k+d5l3F)Y!IY8+=_Nc+BN*j7v(prtRvRU!-fi-Y8F50t%*O*?JQXyx zw^aV8mB43Mv6Uo@a4>uemsc!ibmE|)U5=ertUi~S9nlKR_+oK#N2iko?q#z!TUae zQN0$Ah$S1dP8f*dN)_d3eetgSw7R?+@iPd=7Yin-p9Cxv!I}04;}+Jiyeo8!`6RKN z9EDq2 z(^%Z2^BEaiA6zwe7o#E-0XIE-_8R_1q|H=cISCx(PJNUfti}Ysbxn#)`B)Xnf~LORFh3_Q+Th zBkd=~EvX&4Hb!68EJXML%p3*FB(XfL^1=J-!|iw(@_2!hMhSAiJ5$etvTs{|WGIpa zPFvMans&)`TfS5ldaw_1P6r3eWm{X@1<*;uHRHl|(l5JR(4#PfE#v-Y6?^{o$kF-hPMCa~zpc=9Z1(H# z*XdGsnpQM6_GH%L9KQ5%TBl#dg}Vvj_B%iyijuU76EI};)lzkC3td$bo{a$T$D{npPM&*HD1Hf1wiOy#Mp6BYr3O!Kg$zizSAD;%?6vZ3glHxv} zcrPX-Fb7YTTebn7Qp#qGfKqdF^9TS*7DN5q_dQUT_dbKMWJ^({HVm?Rd zA4m}dcZi&qCjw{yw~G>$5{f^h4pmzY+k*kuwQA2xtIQi@DUqj)WC#(uj_4ggQ%V3# zJO|c8DOjwt-BKJD7Z;1w%D8;g8e@X9f2dOCHZXtmJVroh`0=Cr6lC}H`w#r@z+WId z#W+|4>rA>|_rzxa0YK>LDi0zvi0GJ)h6k4Y=3s)dh--hAbjjw}-+D>wubWIMlN_Si zVmJwZLHs=soCn`T+Al8l2z1*fGes1?sr#TTs9fJ4Y3Wj?SZ_sE&3v5TAeVY1FHoe+ z$We4kz`k7t^a$xa8u;9H>+1SCok{1HXpG>6?EcXa7ouEdCZdmF`rP(`A6ItMz17uR@6 zsi}lFUVrkY{;irMNVc%o`})V{Wwjs4Wnr(AOSG4dgRoOCUu(T7TWyU$+6WBxk??z) z+voH&lq_GozF$K(6w1OfD*i+T{wk=>r0(Q+bIQ?Bq?7Y9zxCDXVw`c{=O|H7OT@0> zPDpU;e36v8 z4wNfy-6*1NX|nzY5A2+9-~-1`GQ2|MP%|>@w{9cz*y>%9O+>28||uwy%If@n(7LFH{)i_WJfKN6v{ zP6W(>6lVRc>S2}|54N|za^QA}ZAI^5VlYrc&C2IW3%ZCVgV^Dy1Q$Aq?{f5qmzTe{e(KLwgK@WYxKYjG|xrDp>I zUc6IYTv)IGsC+44aX**zOpZU7nA>QcVdm{+M7NNqgwUbwi_f}W*D5`ZI38%XlB>q5 z&><*%Ru&AN;a=vYvG_f82~|JYaf9zc*+xW)-asL5E-9^5BA@&ay;>p>;nARR<#`PS zT#k~YA_?X*>`@6>xZK;Cc+WLUaS z2TGonn@YsL*<)z_*4xWyrQ#CQ59%ukXvGNmv?nnis^;)cCu`NZ9M7SlXf7`KS5G-X!LYFB4nH}*s>ihUecXU9GBX4aLSlaJUUB?=KondRdzyo5nCyq3`2- z*K`rRmMP{pm+A=ExV?e|)C=BIzP}2EVl9}B99;tb0XihdK&7+6i{5Q)hl6Gkju;;Y zPvKdX?gJP)*Fm2CDW$)Mf4N19o|pNlc`yp;S<~qQXgcd{{ZT&r<~q|6yvy-EiBEo~ zJ;dHmYL4_m`VE^e7Aj7S&H1zP`Gklh<6XC?AQzi%>)m-j1up_ZAwhSnbh`ZdKr@oI zv2R@)8mWt4GpLXIB2a3QQzv=00dpW^*=@dnBDnpdAwlY)b07BQR#GA1FjSsy8z&j` z*lO2Xey7W@!Fs$z)tZFjnaK=E7aWd^#Q6y!JAXzp?x( z*^V`6muG#Ml0xv`C&Kq^z=1Hgx*q=|lgFVNN$9vx0b4QjD6i_lLAVec9J?e3advQNDPo&>f& zw~9SR2^zeh!`yksi$~=-@xUhilrQdb}?|@_LuDC7_Yl0M+6S*-phpRZ0T6qWJY<8EE#|g|$ zBR{})8Et%JeMD#gp>{DXA^YadD%yMN8j5yeqtG-G6`s5^dXWiLa$lil_aWp9xZMfd zKYw5!jPDcN`d|P>(Hy9CWQ|&e)jjd6;=L976B`E^uxX?MyjS`90Y51W9S@?yPBQl; zDv`&1Zh)Y<*xl-49BPfK(;dMm(q_o=*}V@NCP+-N6&B!v zg1v$?oau!nU2e0v+~+(!DT{QdhiS4UjaM$x*T0o5R)(p{YhxE#+}A2bz`|R{Z3di5 z__uyx!{Zs@nPCdw<@vDPvU1JRbTRbKVGjqL z`i-0pNabpC7ud8`tzdwJ!!sYV1>6^eg)E3n&*Ec!Bmok)p!&_G5f{fqBaP5iK_3Xa z{lBW({1TE6}kRtBA1XWW;(&VH#h;W6|Wz z((IBM{E0q}E+7!SOzYnR!dW;hf9nL7`QMoq#ox&xQ)8^$)Hg(Ppx_yY><2VDx3Jpo zRoeEr_xmqBIyWpeIfwo*=+F;AvU3*q))e;oV|($=QRG8R&bRzK9SvERFmq+7Wwt;t zl;p;f;`tEeve^Sp%)f-L9uMVo)Hi%|(ZgW(ZR8eET~A_BwiT1$9G)?=Pp5E{=m`rFQBe#c?vl%5`vS zy}9g1)!uJt&Ox12$m5X=foX{FJ^s-c18NM`Zu?1M{AynYLst@?Z`^2CVwyaQAqFdAeoPNT3jRa5g%W1 zv{6b3^N;0;?0LF`2e$sU0AXr)(Os2wN7E7Nc0N#26m~Mg>ziQ`!yb&!qN1<)+3U54tx)U>hq*Qb<#cRvy5saf@ zyl!S-xq%0vet z>g)k&Hsi_9Sw3Ev)uLyZ;5&&XfXHw8aC7_@;Rx_8FT6hLH-n6Dj;FC5!)c)iLqUM1 zJ9a{!$$sB=Ko&mO?if8k9_vkk>>pVb`@EC#sJB+%F_zJCckAN`9zl|BxMPdj{yDFM zwM9mqkeqf1Mx*sF;66j!YF8bKUS91kC-J zRQ~J~bCcMLSBorxa;4ZB-fte4>*{(HOElLg&8NE!)Yn=}As$a#xq@+aFRQ2Gq`NZq zvr#yHn7L&IA%A%xJzA7O;V|ki-9EzhIbi2fa`EQouWDN3tnr zfSGx%E~MFg>+h;TSnQqZO2OyyQrsSI_K#;`o!X4t%OCDkbdHtC`l*U$El*xUxSk&# z7%!9fr2(D~D`thVPG&)p9!8@}BXr-RZC^fIhgq4}(Y8$sDbF;HhpmoQ z4#ArCH6aHThg40Q*Fr*qdhbt0FVrp)PtIQ!63r(S!D%?e{-l1ozp#+JRaw*WSFFf?! zt(R5zLPwp0{IO}@$b(ra&=)g71kbn^zXuoiUF7TWU#A-!@tr!JWx84ET{_o$;W_K= zIje-SHM{J)Dj`ehyv;I21>lX^pC=#!{SJ4|@IR-N9ic2PZ<)-073-z6XrCleh%~AC zU5#i#x;9C+=wmxrc!h4N1tAC0^VQy>2eyoIB@Q3)e(B&QRjnNOI-UxQX$)Mtv@^Gk zqx13Dj-?#zc~JqQWf@_aj$Hy33kL&5y+QunEb~Hm9eudlvnp!~ICV5rN)vfXz{n;i zC7bW3lC`WcaI3NA zHH!(7i^-E~g@_O9?fV%#J&%qAsej$FOA{GZ9$PxF&Dxbsmj@+iAQ%1Z&_{asGAwEw zdv$#?IANkV$&}E1KinOAJ3Gq%l9E?#iWpnEJt_)qfF6sH=&BDwzz^UH5ju81oARZL z8;mL!{cO%&`0>e%!_0d58mW6dB3>fAILB#+WOz%2QUB&7b0Q!Pf5&sJl zhpOy~Z%hN!t{=l`h&N21+C(4Yk_Y;`-8U38+CO&mZBCdEFYTw`p6C3$_MU>4HnGaS z`aVmYoMWr#z5Hbn>&c{pUyPiGL~3n%IpHitLARX*XH&_8T$AB}Q>aF`h9|4g1~Vs+}lD-m<-H@;mcDz2F*(v*#Fr~iR}t-o;0 zzt4Bs!#TLMm!QwDLLvJacebQ21Y=9y^YEjSkkya>?29rRP~aV3)+{i#60b}fnb2Wu z*)o(!BGrD|dFXtc%{ut_u3_i`z0LVylXVFFwhg3Qxxgs!z*+W@fV52>)zcXa8o0IQ z&;FJ?D>(dC4kxDP`l|7#(Nb-MHYnFAo65ih-uJ7syN4z$bvG#!{H>2fL&)V0WaBb?;R%I#2!C<@yE(w&=D}{twJ<+j~?&IEJngdAUavV7VVKo;3DmnBVT5Afx*d*;PDnqzdfQ4K2#~DUc37r^ZBqSO+ z>3hk-D9qV4!CBA!;#B(2h4T*69wbkoXv};vQ?C8N-TfBSVM;;$`)`H5 zC7^aBI2~r~u-EUty}7}7uxpRmR6x{=O`BHWdMBl8n6QvH9dd84&(N>Nl5AO;B3q}G z`Xi?Uxllhl(JoZ)aOP(`g>v|#hU>1J9M`p*qQ2p&1Y7BNPCO*X@hm^`DoUZUyC{9gm(ep?Um5Oj;C_yI1D1P-2uCWeY!{m=-3z9 z;A`!RXWw-+gvZCnLcBB3!837N0M-D0Xt;0(-@0D}Q9wm=fLO~Gzq3duxNTwSpl65U z3oz^y#tnNm#HHa~`W*C}j<+M?&u#*2ATEGi!@z9^%oh?0zC(sQbilkJ&|MM7*&dN| z#6pB8cD&DqP#BQcRoFZ3=(iStJc5FaM!B-~<%ayig%SU8vCHWDsgh9gM}riqJbbB!*0jiB}b>~FfOlG9LEHwa)cj?RGmC}XY9RpR%DSns5ZhUG7r zf_G~{1iXjI`P1OL_0a8S#Kuzi>EOD#7y$A6kdB&xYB5O)8B-! zHe?_$0DhNOR*q%3;{CJ)de#aPbKMyl#NIUt&$a={qobd(p`08WzyY%M?iEQCd`yjd z@J->doE+>oyYJRDSp;=i|2>AJC2>Oabaletb$PW(-=wIxcSPok^;W-yX4n*_#z``4 z!h(frQ_yjIm8;S6SLQyGmc%RJDpF5=R^pESE%PHj$E3@+iCIt0wHL32w3{#P#?bJil>DLsHv6h8P4l7lphU?bT>rYiVn7y zfQMjQtEpVD)T{KQYhRXq0sGUGb|NOyPX)?sf}?FzwWom|j%Q7ZMk_HWDz{XQc*~^L z-{%@u{=F7A$=N6r6p5?{<8A@e+HwP@UVP_1V(YZG1!`qzyuty#NryntaVk)Q(H912 zFvF)$C#MS-e8JnO^aY8u*|(SGF~aJvA8=M%M&I>({#&_D9SQTm0&eadBh470i`fLE5I57vItyzXgJg zv(7(L$8(b54KqG(37%g&lvjHq7X#GWfPy&*;H&sL191~+YJih+#H%;J&i-}Y+3DV1 z9DrO80_t`J0#+k?{UyFwk&;U>DrHiDan?>uI%nkiM~V(~-BbEfnmlg}d|WrnBq;9{ zg$uf6M=|jS#3v=V;`4xluOrH8ZQ;29R{VJE2ySTwatGsU#@-J@opP8>_aDcvq@Fc| zhOj_XmS1=0;GJ}9y*E1Q{_zM!4oo*C?Bq#;D{;BrY%NMz6Olp*JfleX$v%vvQ4X5P z8AZB6+T=X00ib);iw~O~Tp6Jw%Nl(I6z3^iF?sK0aH4;d7#+T0kDQO0RH%0BZ?s$M z=8xp8kmH}>DlQehOe82jsYV}UJUI=3C~_$*)7aVLCTbjb8MZMqI*&#ZI=0N$-QM>^KO+C6(B6;zy-K@HBNaGE&cJz!{!D897DS(MxT|h@D)DayH0P$6 z+^EL;tM+fRFd*)}f?h;A(2TV=FE8&rAkW0wE1T8tJd(#6#@l|5-UO&N6!K#?$Y7wO z{di@^2hYo$^uV05uPQ4wzEhbi7PI27#!+4*ohe8Jv#$X)ziM(A=tPb%1StwHJ3D(P zm5-gzMAoEg9SBaAR^s2rBXR4jL+QU}(~F}kdHdGz&iccW!6pDw)im-818XPq5m19> zS`J=+GbPm+y7J({k~gjgE9BzBZxg!LC`jscCF%2zdOG2DNYd8S@z9QCw!>24-L%3L z3b#g8xf=Ltvx8iP`tGg@|AmIEYJoNZu+@$JFj-hF5Mz<*wOZVDuSsOe#$g$s4zCdw zk z;-#$q4^s_BuS!NQig)o5%j1#@B>FD71yQe+v(%G(+n!tp+n-{}P{s=li>Zeiob+bg z)jJUMb}%jCudHaxK7RjbD|g^Ea!+!fQhFvHi@6#>*(x*o0C~t+XejYmvD}fTJmSs8 z6weOaRnisn4StXCDQuQ(Ck5{?aw~dG`iW8m?s`OJ)m{_Ki~~>+yDbJ|3)ul~2DF<1 z&Usz9qc0A6<007W0trpR@6DWiwB7!FnRL5Kz4cJ zOcimXAUJ3PN=gpC@FxKB%>WLI%z1$A!k`o+_-6r_KAji1k#Ob)CQcjAY1jl9z@&F0 zz-$NXQATV!TVa6PaE#Bx;%a^TtB#9z9d8vLg20o(UH*-J_fxqG!n0Oa2>YJTPAI(W zLO9Z|CWFjifaUP7-tbq-UTJZPd{sFvz&WeZDd5+PL8% z1p8$WatKlk`}<(Np0?19cFvx4!%6F`zL9m~c!wDtPqP^$&%JYNOKta9(t3;d+J@e0 zw?zW=3}ffN49<}GZ^M5+5Xfed>r*&IQ`a$=4G<==d#7+l36{#sd0FPPHWxBB2wx-! z-fz4o{!y&<*Cn}@<+6Z^|6wn}=j_;eh(t+HeB%eBM43?wt7Zqu_MhF^;hU#sw7;BX zwkt96o|rcQG|9iExoFhNFo&>@-=6XvdNl2H^A7xpY~k|N9POvopGdCAj>r+PYLfJ_eG`1h+iO;|9f6H`Gb_G7|Rbv`9^Z{ zT?@KV3&rh<%c$OTNqH;cl^(%Ha(BJJ@jW^b2)7n}4!&L_eWHL2$o%jTV*mr0S2~_OZRQ#;qH($_ z3|q9G)+wG$lf?WH!*ne?1cTtlgItgoD6vj3SIsBGUIcUfQRzpQCF%dsFY5iZ@6EcL z$Zhmpgq!HW*MKw9taQxRUB5aVHNFp=)Ee?!msES|$D(Q2O=_|1dt-e7Ypxd8vh*__ zByDOoFEFU%aP)n?`}yqMhaU7xoM!6m{d*pl;dA%4@XKLSB#6rdzg1CSj}Zirt}CSgNUtb#h9D|wtKXPIUFD&Q{G ziMvj+lMa|4q`c$)9sgz&Cll#)Hoz|t2ZE|7=AqDMs}PxJtWL_aSlC_cGkMAL8KPcS z`CDi&qdG1dG^HdkI*Eq{4^+o)?O#($qx?fy34)98!GofBCP*v)p%m50ArU%cLxEnT zb|eA7g~8AE`;QNXf--3E4Xb`F(N-pmRMOHWSe-HUS7fBAzhL1&3RdIcAP^Gm6No9}pszM~7& zEsKpmDJ)FNzAs`KCa`q=!{0wtO--QhW4lBpaL?&^GoyIXy}&$Ke!QH|lsx^H+ax1T zR=&R95+^*Nndzi-Kv#w}=~9Vbo`CfzDcIJrKxeUo_BvKM=F(LgSDLtXxMbPQb8lYr z;=Y6|p;sYpdgiRX(kbH{m6}0xv^KitT&MRiRt~7Vz>D!7VS)dYXu!KP_mpdhE9;P@Ettdp4 zjC-1aKXxp>nIYSSs7!vDunpS}(3V6?&HFxFv)6+9L8kH>zGt#_a}A z+s0452NEEdYJ}4$fB}pz`Q5sMwO8)?co%&8Q2gJ*0Eu*Z1^rnjfbnbPimxk^yZ}Gf zFdb|u-Q3+X^ZkvW2C@6zDr1}xFN#H8dryW11UkpvdG-+@%JNdb)VXRb4YQRh-E=y| zlIHUP!Ub#Nv7kn17@b1Bpw0#obL5Un9n7qK&jDg|_1!(=QHuDy)nyg@rp^6q=gnoz zp}&U9&fV4K7OL8r_DhYr1x1Xf0x;L6odVA7Mrs1tbo|gz{4GyG>S}uKHtATS&9BUF zS6l49E?r)gSGV-FjDP}~M?TzdcjE$zSc69`&qG~$d8tPX+uCyXu%)ZHk4@WE$%5 z$X1jeu91{qQ7gCXKyUOKTK5MqAPpUU#jWd&#T*^z2$}c9+){s0MlD5FrIUOW%4B>a zPZ?Hg^F}r^H%G|n?r+p9^Moa=5e@+TRVjih_{^(k>FqS{Am&~$k(0cBj@L*3GKO@H zFeM?^-w=Ss!C4}f=N7*8?;}E1P{>Q6KUifZj?$JQ0X( z8dlPMD_~J}6cv+XxNUCX?NekQjiIf}xLD9*;aw~F$dr;}-#%S~5k4im!0p&z&27tR zF2;zz%$oVjgk?X5hU%$QvEDk8n^|U{eiFNy-{@^-VJ}@~HEq-0HLqo88B;a_j$h?U zsB4vds?;PIbKLTM)|dU7Jr?G82d@skhWLtORt;FB#vD&LlLiN`I2N=$mWp&O`6LpWA`A7DuuExe$5e&goaMNY>k= z$ITguta(gNxL!Xtq_1Oq(~-AGz=P@^LO9P@g5NI`^?=vGS$8qf0DpeGYRIbpaPPImAqVm zV0y)GFdn(0gc*mE^Mq*{rE;|~91=@%Ypy+AHn!Cm8!VZNrL>{E5W=L#ZBX3`^jKGO zf!nVHbtA(P|FEmluL)is^_!o(`1_FQ)x6r`N42useXZNX4A<%MNll8RpL!jxf02p} zW<7}DO|U^X-XZqFP`>Emqo7 zXrmA;e+-zV`-#p1R07fusIsJ)dk zV2hl-^|~DnO_i;iX$NUq11k+s2jbK-07B^}j?9Bv)2JGD^ye%2KWLyM{I~j89wlk| zD#04v-_iF_pNAC&6!d|hY}Ex$M2thYJd1wOU(Va|nI*e+#t#|LOA%O&&*PzS>T@!( zG!mP`IN;5~Ca8(=8Uj>IR!d%YgG3u0eKtvWQbpQsb&1j#yi|S{{`%(rq`z`O&;x%SIZBad1h zOrLe^8kAF6a?=kmKa1+`J=kYt8gK@M#a$)|k{J`AZjWNf%8o!R?Wl@f3QaV-sU!!H zc2VUtRog)^>!-wzOP}lzi-KSLtUMJBeaiA=B+F>@K`Ih7+`4w==gncyu=@GxP-?FJ zM?d3I=-E@KgWU4a4*e4K^2Ta6&+jqCLIv*j{r0E!A*uxO9FkMYCLxrqQ!P6HS4>As zV$NSeAyWy&&TDGd`(YjfxI+97;z(+ZA%TF!t-wvGPD(W8fC>lqAG1aeX*)&O*C zGRM{fNcdv|T`2Rdzia|RbnWwvc2@dXqj9_*rzCO_!Ma&Qh{EXjQOHCXENxe6>N}xz zAe4UgNE~AThy234G@p=z%Gx^Nbr)(^c(ve&^{=C)-gW2s%RdmFULs> zMbk<`tAp#{KV!Zud|@eHx*A-9bQ|hO^whKPve7A9h2r&)t4ZW47E;IW-nu3XeH(m{ zK6FZqA$}TCWE7eASlz*QvZzlItpS6AfHi6q*WHkIyICZDsMOc++<5#}PM;2T@!(e6 zv=Q#C^x&QRD4+7vSgSTSCdO7Dm7g7lV)MToLbHAy+2}55#w(KW$TL(7X%c3=rD)$$ z;Qz8OXiHt5KsFH4?67qa^710Fl+3fRS<`5a&Ux9eeCy_$_V6dt&4ChxjMSR}%YL_^ z-Jf3N1|EMoB0G$gJF3;Uc4Hkc~!L)P9lwiM(gr6ZZ*h35A9KzECzl6OR?^e}-! z$07rR*LBR4hQ%{LiFG=_SJm|2B?3Cc=#hzE79YvHmI)CNxX7FWt4V1QpVDq~nO}cG zlentgC6)j3G7Q*2OWM><_~*NepzCe?Mwb$d#)l>lyb-kL4}JR*fH2vexN(1eHQtbv z#q1y5fAO=&kxI$WIIP144du4S=?1YHo1bAag?H$tigH%B@*X+?Z}~;Rrkjc&ap-q2 zgM44mR4awl08I9$pH;xx^j~;TjreE9q6Xgh;}*5~zqo@tISKYh(U!hoT_d1N$H~El zPxmsIgRonH+X2{R+rt*v@01F1a~wNx;2=N~Ub{4ab9kQfacSLM>11}qvQc7vUYP|{#952a@u+$)O+V<#QuL1kPEQ&~LW7XFr;R4FMl8%HN~qRSW@TFk zzY3tW6B>x$YW)$9s1WYqUyV@NQ+mtQhsIVg!lYJN*jFjLR3-Z{xp$I~Ibp>k{3;1E z(Xg1dS~q1Nvd!?~%qm{sug3P+%%d|bgWU6zdF&NhvDz%fc8I?O@f|Vp&a* z+wszv8)#w-j-GF~FqJIP*&P`hLk01cq{re{ySsbsok&pCB@gx`Zx0w4AFw*!ClKHx zA=5a}5=W^M%a$K>u+S#UYbD2k;(5@?zBO8QOX}b&dXHpD)M-q5y{*$TOn85wUI!-d04P06H%c;9*sQ`oEjN7*5-e z5XL8CE_Q{j8Ec~8wF-;pDAZn*0ZH_Ecis<9C(ElnO3doz_?nucruid z@+`}w92k!eIt*hMXTVZm^B?+n#ni!{)#-z2>JdCcNv(s|eJTZd<6m?N1e2Vi^>MAF z?<@^{fi98wQ0B!0TTlh+|J}#{P09)qP3spbedyByECO%#928@Bk%~}@#eOKsUTT0y z^)PLhhaa9|Q%d&Y9kv%;kUMn{D|rU-`?XZE33 z<2dz3FIVHBO-%`zMhU5i$t`^9`+Xm1%`tG34;lGCLjb&O&8pZ7?B7mS)V3M288m7P zQjAqQ*V9ahswolg<%G&UG->>G7?o)O8a;7#`s=wJ|NBx1T#sjI4tg2N6=BK7JlvNf zN$%s6xO8^+5z^IDIT%afCFOT9A>VYKPq@{@y=Y-Ko;RH?0QhU{Qm!NY!=U=tosS_l zQCmF!gghp2aTa? zRFFQ_oCNK9v_TWKc)dxKv1u`3Z$N&CjMbj^U(I|T@i(=1Wxwp%7HJ|ZR2ZuTjF|L? z`UjeaUR5_gTIf!FiTF{OMWa7c@y#`Dni18$%TyJX&dPMeHzwAJ4ruHC_lg01Agy$) zN%$3o9g;?MhO0%;WctluYpwSCMDqQS`y!#^)E^7)$Q-InkVQjgvCq0#fMFB;zr$t} z#KI}wG{1LrfxZ2dyhvEvw`}_MMBW2oQA1a`aFfjgmu98~k zI`#N(Zb2w4^*t~tBZx)vP9+oM`B~&>V~UG_N$0|LHu>*|%>V2SO9FPV;mxtFP=U3H zf8xK^rhk47gYx<9cTN89cmSJCq>0Ny`^fb7rR=^~iyL_2KqnyM{`bTgBmIh~9M6{P znPS;glwQ=lOrjEYuLnP7PrJ1n*H68JG-T%Mctyq-k)$!VBk@8S(hxjLo3APY zGSj&UaRaUm>;JvBk{3t_d3XIPCX;jS5`Yvq^!5Mg%73mui{Jl$H_`voZ`N;2^4E2W z`Rag)G?pLy|Nd036R*>(hxV}?#_@FEmsGx{6P3mgjDuf)H(nk8>MIi$($}@E6hvU9 zBmVE+0=jR^56)M3=n=4S$!{=cRhXDGvs zynV07F8%An=lSP?*&aRX%GD3<7W>Oo&BS(6~{Fo$TloTZ!S`HpLVs)u0s* z>h+NJWC)%SDU3Px{uAfpD%wsfNDX&i!{h1aTj_IpvV8#|A&(zly-R~`#-1csu72(i zglxPamPg50VEuWR`#b6d<7Vke_br=jx#M38Xs5*{<2}i{pQ3+Gb%HO=d$pqqb?KVh zH~A|5GYouc6^>upBH~YvbAX5gswwSAZAHH0Q zu(7dy4}A}8b<&1@W|pvjdn=dQx-fA zh8|gqBv$$!+g&^tFPs6=Oa{r&^#mm{-Vvb7O8|l(wA%rT;UN*&rO0q<2h_4@J%nWI zS&t3GlB5-ga2=?&b^xNMi_2V?LHqqoWd`^qjI{$=&2SGG13;u00-SR^es(;0UEV^* z!A9-Z6^?^Kw@cKOZ8sUkb)_SePtSf)8?bJ|c1qY8CX8|wy2HEO{&12AkUI6fO7$DQUaYpm9o;>g?(@4%JjsJQ~| zm`=5;56lJrlUpHLAyibnDJ4}iu|wug`MR9|u|Z`=F*yzcRD!OuwfH4rb_D;rDY%gm zq<=ZQW!mk?de3>~dPcbM`f1MDKC1mHIQUnu9l^4At@p%P5Lc*O?-_T-=?o37eP1Fw zZVf&4EK!rz_rN~psat{QgL^tUjwD(RtmGozPl+du>Rtsb`?2qf3EX6b7|Ua!DF-vm zD?Y&iPdNmGEKg5bw;U+_J-3DHm3v51;EIjcc*}tzHaEzm$gm1fjK_e1c`gdJL!(K{jPu*PNfJ2FwEkft3V|--(-AM=&Cw^I@D!Q_tVqEX{rpl z=kNMwPNJMjH!g46$?Q)iWhN*#2G)WX zt}i>vlDHDoHu+Fab}H9b$I5?k!-5lORu9-sof`~BDnC&#pG4|-&GFC-C8+jSSkSb# z50@!+nk}AX&W$H{bs4ja&Tk)mZIoYgqa=bLB`JKPm&3y~aZqjELA}FcKeHh++y&LlQ4N-)Ya9oixMXMg2 zxCwbZquDsDGOa`lXR`P4)q2R(r0lotaB0Dw-9RqCRmlXA!*DoJ_*;vYXovd?em!{1yF0ff{4*}tUpO#J?CWfcch+IjbqjduWCS_}}jRt0`5 z0@}6TV{ZOPm5>tL1L5H-AY+<}K^*u12nm>cF5rB~NMA03nNZ@N)6L&OPs6cMqsra^ zArRTU(KOn(ITB=&^f?CdSozxQ^z-L1kep=bfb6o^ERkbDK-(ePhecV5lu-hzLRT?S zgKu%lw=ST8+7Tw|e^$04M~h7&I&5x1)rCo5JWiL;>I%t$o{P6)4lLF`KdbneO$T6UVZjDzu;?wwGFF z`-ib^to)rtW>U5Eg7|0x!-f*IhLR=3Vdv*GN0%-{7BoQe?#{f525yPRYaev~I_=LW|Ix0Rl{P(NMxxF=!+ zixgm@eBm*iZ|rfnNP4n}wA*ow&+0#~wJPx_<#{M~zOnkYAN}QWALC5_cTHV~ z{l5ovVamJU+KV)|#GSMa+JMpR%@>+xg__v*nt15sSuJj;Ntb1Vmog*ILF`S5K-Zd2 z0_oy(cv!DpN<6s35tsP~EZ0k@XUZ!qnRe7O=>1oi?UhDhx(;~a~+ z@Pua>>-(?g`OoMCSn)6>A zlcA!qJAT*q8??XZ0n@nN3uyY#!e_~%Xb5=l(Axnir=35g6`z3a((8mV=`NqFGuHFC z;9YuC2k>}FkYjH8%-noH@pcA&;(mQ${u%m`JOKHl+m_cp|GI_I!du~xi9`|&4JG-< zZxtj!+tIiI;|7SzO<&%)bt3>I!8#A0mF%xA^atpQJ||H;T4~fESnqQHgX67TZ=KTm zcvPBb08vusX2?VxPMWaoYDAY5fVvTiM3~ltb21}elzy7U@_bCjOvGlAP@TJ@V@^`o zOgelD%oWl=X2^@N&F?I)jq7v#>sO=L^8$%q4#u{QF zFTp$9nN!ENua1%y+Npq>4VA&SyjyvkFB}C zSCr?-u$|S6meE3%IRtHvG6~&TL8dtCCe*0rAE?4rj?82&upOs8Rj#eNoe5sVwI17| z?g?Ym!SCIy7Dm1O`zPV8YiYL9A;Ak2Mw=4`7F8s|GNZ##eBCjxtN zlB|tLuZw!@KbX78fWu_jJ$*vg^k z1Xlvk+whB$_H=)sJxh6cUXZ0*dN_r zRlA(hOGLD>+|60^o7I<=m+wGfW`x(w=BfDcu7^xx8vR(MwH5GB`*Noc_wKbsS%eDakGHS2EPxm&x<8@JdM<7Cni9g{x zZjR&9+#P^{3-+n9^{Og%d37B7jkvFC*VNYc*)%KPci3M2pnBxVI8^#?X1(% zWC*@1RV6$~=)rZ8Hs?)vSzWzmN}7&LXE7&g)539zmpI~-Id(3w5D3XH1W|RExLfNk z6{i@$`TN>hRONnNTcy1kK60*h27j>_IjSa;H8oIA2&AWFq91xFBBGXJPARgPON~G} zz(>=rv5hP9@XGjH2W>GPl+R8W?{=8Y_}l7}FhQ)F`$_`JAjDb(Cwa!?mpbPe`RX4- z=d>d4%Lb83cEbX>JA|-g!-R*Q2CEA=t5i|usN4#OhnbbSCg_LcYmx$Pjk&^OhgE0W zV?t+LN*8wC1oH?_UE`iplNTdR5FN@(#ogkeE-g;JqYy-@!hLlnA4&6 z=8D(~!BhRL_PqixSwgw=T2(J32zz!H77F@v2SV&YKbt=sBN1eB%(IO`vY_ zOFpMCMO`K)4hj7uX7<$RcH5c3GSSyM(8e1(96oh56Z!#=0xTs7>Y z1;a#={#(iB5IG>fu8Q*d=e_X~*iHMX^yL31B}>3eEPi!t$FCrCH3r`O%^ahJxU2e) zOv$`r8e-`nzm1oN!@?G!L6GUu8qcnmvvFdmOr_kJxAB!A5P&>&3qkdHZUbQ%#9{J) zbGnaw@p_;Mw z!-Q@7LxJ@E*c{5&&rpZJOnLqLOGw-eoR$mJt3X3ul+Y4ns<2ZykKjI06=kY(>tW3k zJZg6E?ITqodM^1a(%mmRHsS=35?g?Bdo1mJTUnSdo9|N(XUUThTDD3Qy1z?dvbhU7xT9>YD_~Wprd$X!4QFKh>n}>C>M~C#Yr^i zv%w=mu}fkY6O>RC_*pd*Ct4zfy~v3-6spNpY8^`~s8M1$%{_Je1L4XMYjT>@-~Y^t z09<=uN1;Dw++>tJ0d;~Ic^$K!2IjV{dZ-~~TQWrChU9dzzDDqLd&j7}plw+->aHjt z8Rj|2hm#A~GQQJoJ!9Q$lt@>W_lWuSc*1>PQK2%$kaWH1Bw50ER6H1?(|*;eX}3i0 z<;)Zu7(-kY51%$uU@{q*A7U<6xUij?uNIXyttKzkV>DxjdUj8WlE$CRzhL*ZbjmYo zfu$K;>e4g&pz?tG9`zE=$5^nGg1il2c-8bA4)|;nkhg!+>jP?jY9>*&4#?m2T6UXg z7$v8ArG4EsA`j??mRVf=)4i4uVrM^GchOXvf^kZ|<5!sseJhE__sVvYJSN&~gMAv+ zD|N_-=6cfaHEe8Or4$U-g(n>gc9gi=^5!Ak(7W`!Al+h64R3MvuAc8LKUf+gV= zEje(mcpJH=8Dy{X0)S!E^ZMzAzX*gfe{sD8B0>E^q~0f>#{?>MQjZ z8EAJ1w$q8<@M&q@I+g5*?`?)|?M{w!zI*@Hg)Cn|h`^PE^?U(mCB4}#b>4wqwMCLA z@$lfhPv^ZAA_Z@?)P@~xRyy7iy)MyBuPQH&@`TX-Fq9t;9+V*WfGjD>2Vx8!cNCvg z(uK)`oi}!;YA?7i3KkCgxbC_gF*o?_Bl!|hEw^iX4w7lsIU6!F5Ck9wX_lpDMx$Qlfg~LaBlt|r%PFjWs+%s8Wu={ZO-w!>_t9I}7@tuThc7?U)809n1xjdZ)ykE<8&Sl%0S_ts%Y}c# zRt>yE(8UCi6q~2Fp1SqELxhq6O}L)1Q}UM%SdM`B>&CKu271IjXYJ-@I4jjUT9Px- z3aBxqXEz?}YsFHjwQu3=B3 zmz@6Vxg8>xshjTB{)DwZ{P$|H@r4C@^Tb@a=&`+|@+>=un*NF>GM~hPN{0O^m=8%0 zG_%~5I4cuJs@khc5((w;)oLcC2;A>=@FE)tp87a~IWC@!ND(>;lH0%WfF2RCo^dU( z>!mLtCY3|pJnNxmKGtCl;~%>1_U|q|+=84WH(J;xpB>C-H{F8KMP?+#bpx0tpo5xu zoEN#<4i&DN#=XXnVLX%!hJXW0c8yd+rpPz#2*cZoem@NOj)6eASld5jn3`!a5&SMY zqa{Kh@q0Zb2NZ4`#;`;{i`r24%j+-obo1Kbxc*SX3TJRPL`X0I$$qOB@7=+y(lfEd zv)%KYopuwZ`>Glao0xClFJYkTFepQtVe$bQ3H_~ac=MOmd+IY~@S!)*t~l3T%Y%DO zTZfoE%r&%Aza919(;nO?W#&(c+j)lLUdMI=r)Dqbx^6D#ZFf4Utng$;M;w60j^rzc zxTa=OhH-#6-m`MqvI>x?eBVAG&;EH~V=P`~g|d*FS^iqDm0zBZf64T?;xtxTgINF!YPyaX7%~F$)zwwH zF-6p34}0!BD(a-gd&V+AIW8QfFeXsZ%VaqXAL%2hLN75;t6B1BwFsm2V0Q&F?V@zZja~R*!4iA%|Ro&+~+ePNKN3yBnvT?4g z#7O&{4==G4nO6B{^2B)^l9cK$a+!i4Ir009#8k;tsjVpw9Uf-YYurfKIl>I$m5=kC zg1vC%nMspakv3=P!mkwM#62B3&{cu!GxY6SH$mIhx506;z^Fby3*2L*GePu|2Y^wM zkM?oYc2|T5BO8XOPyHd{WJzQg6IL7JI|LnuV#)-6FxkH)PNhBi(OCb0^Y1uXR(o3^ z=&C&NeVI$A(`-s2ZaESRDlt118 z)j)FoJm=!=r{Mhm_ouM+;a8I}TDHq8obbJ37y(wMsnSmf2$5);kAPvd**4AMf|D=y@_5LfG$h`uD zYwlxq%xBoJ!$8;m_%J+>mN6Nm{@W_EfZf*avixc!*gB;l;i>0)@LQeewnfHclC0AX zF%%j8lD7sf^Lvme8NG}KD&WQ;(W+8AbH5;8Y;{f}@?J2Snw_N4b+OjW62BVb&H|lx zT*w1qmT}5HVVFC#|f}zru&$ixM&P}@^3DpJWB9`tc(ev8vSi77_ zGs(3%VH6aTr2})N_!3n8zXiM^?((9e26p zI}Q=OhS%l?w)S>JkymLghxHpQM2-ZAPWm=aq}`igaNg9kbMsOMaciD$LIuTsPx@?N!6(YkLY=%d`C5 zh=11nJqkkqy)E)Wcpcvy5zx17k~u%fIjTh7K6$vSM6zzbG*hL)*Z(m%tqHd~GQj|{ zBY1XaqOLdb+fIGyO4y@+kwSJV;%H5>D|?WZlqwaD&zN_=H*Ytda(~G4u)%Y(!j61B zQUY;*sL75`4aIPVoS0hj`M^VqUQXX|0z*8MVCZi?_OvqDietVjDfvp0+1)oia)E&7 zzf6ya`(bD?yN(k9|~8d^dDvo2!K8i1IL&=Ty~4 z|ENP@SViL7D6V#s2{dIyREhC0warASheS{R+~0X=_8ZJP#KIxatgs9aY`wer=8zF~ z)OVfmd)6?Xjkc{hNp-ULii6s@WbRYR+)aiehu}@<%#o=Vs%+DNx1iO$O&XO&(c>Yj z&yD(YrG-?i`nc(n?h@GQPkynit{&!{`ZKxqjFBx);f6VnzzgAvSgRi8q~n8kS_VTu z?#gk5Rj?}!rG>HX{Jw6D>-EEx{I#2@hL=cPbFU12icmxTm#M3gGQ}#SFYK#@?yonz zvsU%V)*4`CX3n^r?m4QGp|1)fx?c4UyvU_bT{g-i?c~ne3uAF`j4$XuO*;*O0dHO7F+z2ge6gIsUX1UrJU#xR9k2v65! z83px9`wt|D(^mg*e)M)@2_aSTu)ftXzgij_Zfx7z|?dTRd)b zRa7R=4a&|tUKkEtV7G}reD23E`VKNC`;HdBWBt%i*5~yu^sEmYZ~V)i8SU0zxPF4@ z)m1f|G5~RT!{BnC zLTPtRMGhOOL7s_(N&UZq7V)SF#HgSTAAd@gRuwbnMFN$%5}$h8Rm;%JY;|)E!mtg8 zOg9BypvB!$rs0c`mHBl2RqUWjDeaf@`vZ-rEs|}hJPsa|j~+-U`PAXbl*GLDI6FNo0IKD3J1genb!#^WfEU$L)P{&H({S`dHSFE0UJM8#ZTk6SqX(yr zFk*PMs>I9ajpZY^rIOT0TXX)A_W4q8!^AwItP^Yb=Yi2ONxHU6shzC#!=~LmZYk{L zkuC_U76Lf8#k4n0g`t36Hbn>>x!cfp^|*t`jH5Bu8|vxuXv=8cSKuK_}w>uPtCkwpMg zdZi`Nto(VAlV!@+JqjjRR=xwy8|~Sx+kQJW9|GIr{3qmwW)frRKP86zB#HfQm|jBe z|LXj8Glde2gy{)bEC_|ZAiNyyAUKX}TOLMPaWr8+qxoFwb+dI)>*d*xZE?SDHjiG$ z?Dr$i+gmk8p`^WzK}aI8eXQ_D#xu_#?E(=GmxIodGUPOhGln`;y0P!8>pR4` z4u5)ZDLpcP3zp^z4kN1$54puV`0-jFf{NqmOq_HfYaBjlWQ`GU>y+KVpz~srNEKp> z{fu65P^q1rz;6^f{~78I&9Kypf_%kwKI0I^$q$~GrP~W3z+>Ydvg_Q8oZHz9EpOqA z76(qWCK^P(S6Wf^H>-NRCQxPS(buL5lW4$ukqb=yw~)Tsh$gn19?FC55d_A#1*Ve? zyd3z|A_e^aDtW>19Vuy+`Yc!F&OK0La1MKXac&R)CzFFhU0lRYDs$L&VdLE6KzRa)b|+f0=G9M zFx#!DDPwoIwKb)9z=F}?%TPnAq3o{K6euS3@lRg~67th5BtG~%$C5a|dj202B|G`u zQq;1zjz-f0$U}MM(E932v*-DyrfFXx@uy_A1f+i2c$g*cC>4T0&rs+;3dyImC05}P zW^!i@g_<(?nV&2rds3(#Y8$y`W%L^!yk#f{8yb&=)UpoRn@ay`Rmk*I+Hk&ZbDc=7 z`gI7d5Nt|55uSdTa@yo#3}kI0wMeJ57N03UD5?|QN?lk#a8#H_P=yfp=$>g)#0U|l zodsLCZ2<$f#0Z6JLyaj_g&JvvRcSe);ogd_w)&^?-0`|H)Y@ETY{57?|M(kHIkhNh z>ZNH^+c>c1(ljY>#JMT(M6NekUUuGnKfl7>E>IElWYQgRScw+(KnEd_)9h&jNeK5& z?yM2*{}pz$V=~3`I_E?^(ETkV!*^Y7H}Y7(L=YV*tI@%);dSQBzQmTB9l2GR^R6Nu zn1(z(u3gE(?XvbML<2s_7WTU7j~5XieBbl*P<%|#{k8N1+sBz&vSarE+isBL)# z{`a3*OrOxZlpJ}I7MWVbjb|0yl)8Wa8d82_56s9uD3U@BvtIRnI{g6*mbCgZLvNPq ztjenumGFalaTr=UdEMtH@W_a;UBaR9FpIyk3xg8e>35Khk%hDI23+46zXw;UxfR8T z^kwEWJ>eRBD*teJdgHyMb3Xe(izK;%LacTNx4 zc)}jWb61T^^22CoVobFOaA&rn)wAzoUY2B!mU;4⪚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 cMQhZ^&;@9hoj? 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 literal 0 HcmV?d00001 diff --git a/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/道路通行时间预测.ipynb b/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/道路通行时间预测.ipynb index bfa7f57..e425e2f 100644 --- a/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/道路通行时间预测.ipynb +++ b/机器学习竞赛实战_优胜解决方案/智慧城市-道路通行时间预测/道路通行时间预测.ipynb @@ -342,6 +342,879 @@ "构建时间序列,基于前几天或者前几十天的数据预测" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 数据集筛选与标签转换\n", + "数据集中有些数据可能由于异常情况导致不适合建模(堵车,维修等)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDdatetime_intervaltravel_time
043779062834226005142017-05-06[2017-05-06 11:04:00,2017-05-06 11:06:00)3.0
133779062894345105142017-05-06[2017-05-06 10:42:00,2017-05-06 10:44:00)1.0
233779062859345105142017-05-06[2017-05-06 11:56:00,2017-05-06 11:58:00)35.2
333779062859345105142017-05-06[2017-05-06 17:46:00,2017-05-06 17:48:00)26.2
433779062879345105142017-05-06[2017-05-06 10:52:00,2017-05-06 10:54:00)10.4
\n", + "
" + ], + "text/plain": [ + " link_ID date time_interval \\\n", + "0 4377906283422600514 2017-05-06 [2017-05-06 11:04:00,2017-05-06 11:06:00) \n", + "1 3377906289434510514 2017-05-06 [2017-05-06 10:42:00,2017-05-06 10:44:00) \n", + "2 3377906285934510514 2017-05-06 [2017-05-06 11:56:00,2017-05-06 11:58:00) \n", + "3 3377906285934510514 2017-05-06 [2017-05-06 17:46:00,2017-05-06 17:48:00) \n", + "4 3377906287934510514 2017-05-06 [2017-05-06 10:52:00,2017-05-06 10:54:00) \n", + "\n", + " travel_time \n", + "0 3.0 \n", + "1 1.0 \n", + "2 35.2 \n", + "3 26.2 \n", + "4 10.4 " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDdatetime_intervaltravel_timetime_interval_begin
043779062834226005142017-05-06[2017-05-06 11:04:00,2017-05-06 11:06:00)3.02017-05-06 11:04:00
133779062894345105142017-05-06[2017-05-06 10:42:00,2017-05-06 10:44:00)1.02017-05-06 10:42:00
233779062859345105142017-05-06[2017-05-06 11:56:00,2017-05-06 11:58:00)35.22017-05-06 11:56:00
333779062859345105142017-05-06[2017-05-06 17:46:00,2017-05-06 17:48:00)26.22017-05-06 17:46:00
433779062879345105142017-05-06[2017-05-06 10:52:00,2017-05-06 10:54:00)10.42017-05-06 10:52:00
\n", + "
" + ], + "text/plain": [ + " link_ID date time_interval \\\n", + "0 4377906283422600514 2017-05-06 [2017-05-06 11:04:00,2017-05-06 11:06:00) \n", + "1 3377906289434510514 2017-05-06 [2017-05-06 10:42:00,2017-05-06 10:44:00) \n", + "2 3377906285934510514 2017-05-06 [2017-05-06 11:56:00,2017-05-06 11:58:00) \n", + "3 3377906285934510514 2017-05-06 [2017-05-06 17:46:00,2017-05-06 17:48:00) \n", + "4 3377906287934510514 2017-05-06 [2017-05-06 10:52:00,2017-05-06 10:54:00) \n", + "\n", + " travel_time time_interval_begin \n", + "0 3.0 2017-05-06 11:04:00 \n", + "1 1.0 2017-05-06 10:42:00 \n", + "2 35.2 2017-05-06 11:56:00 \n", + "3 26.2 2017-05-06 17:46:00 \n", + "4 10.4 2017-05-06 10:52:00 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#截取开始时间\n", + "df['time_interval_begin'] = pd.to_datetime(df['time_interval'].map(lambda x: x[1:20]))\n", + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "标签转换\n", + "\n", + "我们希望是右边的图,越是正态分布,越好预测" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "df = df.drop(['time_interval'],axis=1)\n", + "df['travel_time'] = np.log1p(df['travel_time'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "筛选方法" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "#剔除一些离群点:如travel_time突然有几百分钟的时间,可能是意外、道路维修或者统计错误\n", + "def quantile_clip(group):\n", + " # 选择一定的百分比过滤\n", + " group[group < group.quantile(.05)] = group.quantile(.05)\n", + " group[group > group.quantile(.95)] = group.quantile(.95)\n", + " return group" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDdatetravel_timetime_interval_begin
043779062834226005142017-05-061.3862942017-05-06 11:04:00
133779062894345105142017-05-060.6931472017-05-06 10:42:00
233779062859345105142017-05-063.5890592017-05-06 11:56:00
333779062859345105142017-05-063.3032172017-05-06 17:46:00
433779062879345105142017-05-062.2512922017-05-06 10:52:00
\n", + "
" + ], + "text/plain": [ + " link_ID date travel_time time_interval_begin\n", + "0 4377906283422600514 2017-05-06 1.386294 2017-05-06 11:04:00\n", + "1 3377906289434510514 2017-05-06 0.693147 2017-05-06 10:42:00\n", + "2 3377906285934510514 2017-05-06 3.589059 2017-05-06 11:56:00\n", + "3 3377906285934510514 2017-05-06 3.303217 2017-05-06 17:46:00\n", + "4 3377906287934510514 2017-05-06 2.251292 2017-05-06 10:52:00" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#对每条道路(link_ID),每天执行(date)\n", + "df['travel_time'] = df.groupby(['link_ID','date'])['travel_time'].transform(quantile_clip)\n", + "df.head(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "#根据需求选择样本数据,比如预测高峰时刻,如早上6-8、中午下午13-18\n", + "df = df.loc[(df['time_interval_begin'].dt.hour.isin([6,7,8,13,14,15,16,17,18]))]" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "#保存处理结果\n", + "df.to_csv('raw_data.txt',header=True,index=None,sep=';',mode='w')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 缺失值预处理" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDdatetravel_timetime_interval_begin
033779062859345105142017-05-063.3032172017-05-06 17:46:00
133779062879345105142017-05-061.8870702017-05-06 14:36:00
233779062876745105142017-05-061.9315212017-05-06 06:30:00
333779062878865105142017-05-063.6163092017-05-06 07:32:00
443779062837595005142017-05-062.1400662017-05-06 13:24:00
\n", + "
" + ], + "text/plain": [ + " link_ID date travel_time time_interval_begin\n", + "0 3377906285934510514 2017-05-06 3.303217 2017-05-06 17:46:00\n", + "1 3377906287934510514 2017-05-06 1.887070 2017-05-06 14:36:00\n", + "2 3377906287674510514 2017-05-06 1.931521 2017-05-06 06:30:00\n", + "3 3377906287886510514 2017-05-06 3.616309 2017-05-06 07:32:00\n", + "4 4377906283759500514 2017-05-06 2.140066 2017-05-06 13:24:00" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv('raw_data.txt',delimiter=';',parse_dates=['time_interval_begin'],dtype={'link_ID':object})\n", + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "如上第一行中,2017-05-06 17:46:00,那么是不是没有17:48、17:50,所以我们需要补充" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDlengthwidthlink_class
043779062898695005145731
1437790628459480051424791
2437790628942580051419431
3437790628452580051483931
4437790628442260051455121
\n", + "
" + ], + "text/plain": [ + " link_ID length width link_class\n", + "0 4377906289869500514 57 3 1\n", + "1 4377906284594800514 247 9 1\n", + "2 4377906289425800514 194 3 1\n", + "3 4377906284525800514 839 3 1\n", + "4 4377906284422600514 55 12 1" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "link_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2017-03-01 00:00:00', '2017-03-01 00:02:00',\n", + " '2017-03-01 00:04:00', '2017-03-01 00:06:00',\n", + " '2017-03-01 00:08:00'],\n", + " dtype='datetime64[ns]', freq='2T')" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "date_range = pd.date_range('2017-03-01 00:00:00','2017-07-31 23:58:00',freq='2min')\n", + "date_range[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDtime_interval_begin
043779062898695005142017-03-01 00:00:00
143779062898695005142017-03-01 00:02:00
243779062898695005142017-03-01 00:04:00
343779062898695005142017-03-01 00:06:00
443779062898695005142017-03-01 00:08:00
\n", + "
" + ], + "text/plain": [ + " link_ID time_interval_begin\n", + "0 4377906289869500514 2017-03-01 00:00:00\n", + "1 4377906289869500514 2017-03-01 00:02:00\n", + "2 4377906289869500514 2017-03-01 00:04:00\n", + "3 4377906289869500514 2017-03-01 00:06:00\n", + "4 4377906289869500514 2017-03-01 00:08:00" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#给每个ID,做出每一个时刻\n", + "new_index = pd.MultiIndex.from_product([link_df['link_ID'].unique(),date_range],\n", + " names=['link_ID', 'time_interval_begin'])\n", + "new_df = pd.DataFrame(index=new_index).reset_index()\n", + "new_df.head() # 此时每个ID都有从2017-03-01 00:00:00到2017-03-71 23:58:00的时间间隔" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDtime_interval_begindatetravel_time
043779062898695005142017-03-01 00:00:00NaNNaN
143779062898695005142017-03-01 00:02:00NaNNaN
243779062898695005142017-03-01 00:04:00NaNNaN
343779062898695005142017-03-01 00:06:00NaNNaN
443779062898695005142017-03-01 00:08:00NaNNaN
\n", + "
" + ], + "text/plain": [ + " link_ID time_interval_begin date travel_time\n", + "0 4377906289869500514 2017-03-01 00:00:00 NaN NaN\n", + "1 4377906289869500514 2017-03-01 00:02:00 NaN NaN\n", + "2 4377906289869500514 2017-03-01 00:04:00 NaN NaN\n", + "3 4377906289869500514 2017-03-01 00:06:00 NaN NaN\n", + "4 4377906289869500514 2017-03-01 00:08:00 NaN NaN" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#原来的表里也有部分值,进行合并,出现大量缺失值\n", + "df2 = pd.merge(new_df, df,on=['link_ID','time_interval_begin'],how='left')\n", + "df2.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "#筛选时间段数据\n", + "df2 = df2.loc[(df2['time_interval_begin'].dt.hour.isin([6,7,8,13,14,15,16,17,18]))]\n", + "df2 = df2.loc[~((df2['time_interval_begin'].dt.year == 2017) & \n", + " (df2['time_interval_begin'].dt.month == 7) & \n", + " (df2['time_interval_begin'].dt.hour.isin([8,15,18])))]\n", + "df2 = df2.loc[~((df2['time_interval_begin'].dt.year == 2017) & \n", + " (df2['time_interval_begin'].dt.month == 3) & \n", + " (df2['time_interval_begin'].dt.day == 31))]\n", + "\n", + "df2['date'] = df2['time_interval_begin'].dt.strftime('%Y-%m-%d')" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
link_IDtime_interval_begindatetravel_time
18043779062898695005142017-03-01 06:00:002017-03-012.174752
18143779062898695005142017-03-01 06:02:002017-03-012.174752
18243779062898695005142017-03-01 06:04:002017-03-012.174752
18343779062898695005142017-03-01 06:06:002017-03-012.174752
18443779062898695005142017-03-01 06:08:002017-03-012.174752
\n", + "
" + ], + "text/plain": [ + " link_ID time_interval_begin date travel_time\n", + "180 4377906289869500514 2017-03-01 06:00:00 2017-03-01 2.174752\n", + "181 4377906289869500514 2017-03-01 06:02:00 2017-03-01 2.174752\n", + "182 4377906289869500514 2017-03-01 06:04:00 2017-03-01 2.174752\n", + "183 4377906289869500514 2017-03-01 06:06:00 2017-03-01 2.174752\n", + "184 4377906289869500514 2017-03-01 06:08:00 2017-03-01 2.174752" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#保存中间结果\n", + "df2.to_csv('pre_trainning.txt',header=True,index=None,sep=';',mode='w')" + ] + }, { "cell_type": "code", "execution_count": null,