From 1c557b7d83f14c81e23feb77f03627e90bf5028d Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Thu, 23 Feb 2017 19:52:34 -0700 Subject: [PATCH] Add place artifacts (See issue TerranQuest/1) --- artifactplace.php | 99 ++++++++++++++++++++++++++++++++++++++++++++++ database.mwb | Bin 19946 -> 19897 bytes inventory.php | 11 ++++-- lang/en_us.php | 3 +- login.php | 2 +- placestats.php | 10 +++++ refillplace.php | 6 +-- 7 files changed, 123 insertions(+), 8 deletions(-) create mode 100644 artifactplace.php diff --git a/artifactplace.php b/artifactplace.php new file mode 100644 index 0000000..5c1c0b1 --- /dev/null +++ b/artifactplace.php @@ -0,0 +1,99 @@ +has('inventory', ["AND" => ['itemuuid' => $itemuuid, 'playeruuid' => $_SESSION['uuid']]])) { + sendError(INVALID_ITEMID . " 1.5", true); +} + +$item = $database->select( + 'items', [ + '[>]inventory' => ['itemid' => 'itemid'], + '[>]itemclasses' => ['classid', 'classid'] + ], [ + 'inventory.itemuuid', + 'inventory.itemid', + 'inventory.itemjson', + 'items.itemname', + 'items.itemcode', + 'itemclasses.classid', + 'itemclasses.classname' + ], [ + "AND" => [ + 'itemuuid' => $itemuuid, + 'playeruuid' => $_SESSION['uuid'] + ] + ] + )[0]; + +$place = $database->select('locations', ['locationid', 'teamid', 'owneruuid', 'currentlife', 'maxlife'], ['locationid' => $VARS['locationid']])[0]; +$user = $database->select('players', ['level', 'teamid', 'energy', 'maxenergy', 'latitude', 'longitude'], ['uuid' => $_SESSION['uuid']])[0]; + +// This (probably) shouldn't happen in normal play +if ($place['teamid'] != $user['teamid']) { + sendError(PLACE_OWNED_BY_WRONG_TEAM, true); +} + +$userdrain = 2 * floor($user['level']); + +// Calculate resulting user HP +$userhp = $user['energy'] - $userdrain; +// Check if action possible +if ($userhp < 0) { + sendError(PLAYER_NO_LIFE_LEFT, true); +} + + +$item['itemcode'] = json_decode($item['itemcode'], true); +if ($item['itemjson'] == "[]" || $item['itemjson'] == "") { + $itemusesjson = json_encode(['uses' => $item['itemcode']['uses']]); + $database->update('inventory', ['itemjson' => $itemusesjson], ['itemuuid' => $itemuuid]); +} +$itemusedata = json_decode($database->select('inventory', ['itemjson'], ['itemuuid' => $itemuuid])[0]['itemjson'], true); + +switch ($item['classname']) { + case "artifact": { + if ($itemusedata['uses'] <= 1) { + $database->delete('inventory', ["AND" => ['itemuuid' => $itemuuid, 'playeruuid' => $_SESSION['uuid']]]); + } else if ($itemusedata['uses'] > 1) { + $itemusedata['uses'] -= 1; + $database->update('inventory', ['itemjson' => json_encode($itemusedata)], ['itemuuid' => $itemuuid]); + } + break; + } + default: + sendError(INVALID_ITEMID . " 2", true); +} + +// Update the user's health and level +$exp = pow(pow(floor($user['level']) + 1, 2), -1.2); +$userlevel = $user['level'] + $exp; +// If the new level is a whole int bigger than the current +$dolevelup = false; +if (floor($userlevel) > floor($user['level'])) { + $dolevelup = true; + $newmaxhp = floor($userlevel) * 100; + $database->update('players', ['energy' => $newmaxhp, 'maxenergy' => $newmaxhp, 'level' => $userlevel], ['uuid' => $_SESSION['uuid']]); +} else { + $database->update('players', ['energy' => $userhp, 'level' => $userlevel], ['uuid' => $_SESSION['uuid']]); +} + +$placelife = $place['currentlife'] + $item['itemcode']['amount']; + +$placemax = $place['maxlife'] + $item['itemcode']['amount']; + +// Update the place +$database->update('locations', ['currentlife' => $placelife, 'maxlife' => $placemax, 'owneruuid' => $_SESSION['uuid'], 'teamid' => $user['teamid']], ['locationid' => $VARS['locationid']]); + +echo json_encode(["status" => "OK", "message" => ($dolevelup ? PLAYER_LEVEL_UP : PLACE_ARTIFACT_ADDED), "levelup" => ($dolevelup ? true : false)]); diff --git a/database.mwb b/database.mwb index ddc47e06016c555a274a28fe44bfd5284a41e586..990f95015d8f68531bd38b474b8e9d6b831fa348 100644 GIT binary patch delta 19575 zcmZU)Wl&sQ7c@G!ySoMp?(R;4LvWYit^o%3;O_43?(XjH3=-TSmpt!Rx31Jw^**(J zOwEru-MxCP4N3=VO$WnOl!Ji81ONcA04?~hveo&*$;qMsfPQ1FFfQ=bX`Q?7^3Us! z7Dr%;({!gR02R=?U~6lNK25kxHI+eGZ{8%I>F7uL(-YMTY6Nwhq^wfhRH1cG+ezG#-7Jb*js%8={o@$M-y@x!H{1nU58$UdR zBcp|IytFa8!!@bwro}x^HuB#aL~jHK-+lIQvu%AF$bf5`q66TL(KY|Lp<<-!pu%c3veo80a8b5#?^oU}^3I}x8dFn)d_2z;)DhK0 zQ$8zfd%iaK*H6GM=C!ANspG#hUJjgXx^MG0XW5-^x3{Z8?oY=7)^{GsdvCn7TTENo zz}@9oyhk~L$@kk^neOLw{`lN-0HBv4*}h zMtpSJzFj2ZBpA4vT>bT2|GT`=d|xo}wZ#cT%j39CRh%E#yJtwrX)LoBvHSRz9T2f> z7Lu~r%o;45H)f0~P6c-8)%uJrN+Q+ZkmxRcRz25`(LuER5r=eF9e;iIG3zPN(O8$; zgd~QJ(*N}H$e0EPV#HhscfI~)F>%S1*0z;Caug()nZunI9z)%~!i_*CBQVhya@{Z@ zX%)eu>2W4AYGh3y+w+cO>W$e1A?@`u@Z)&F`tcC$nFhA zl)un1Nz(_-K$bJ~ukz+QYDHE{TIQL@_R4h_Yq>F1ez*$Fdf;WB>#PuowJr{I#s|r} zR$pEk@&jR?H6p2R)PE36q|vxgQ!8V6-YDTLrxUJtdrE_rTzI6SYr_KaS=$XKofgwn?Q0b+ITx5;6JBo@ z_w>p0u(i9;i~pKfOt_P%go{C0sXx33KBn4uWLRm2=pcUr z?-_dPm#>%pL3|G+CU6REM}PS$I%Km~C>ZcpD;RhvrvUg#QDz4_LV*OkLIJ6YiCSX? zTe62N;R{PzV}qJ<8Ko{iR5o%!X|9g;V7+A?ZI z`#uOv7|Y?7CUcPq=$eVVl@LFl$iGvWnO_BD>7|VPLaffXW=pdYETl*GE|NKU(A#Tk zB?>dTs)fLAPYM)XIqslDCWg#r7X0A9{BDnjh(6YWEizI99{wI_;8(rLX;4<@L8JJF+`Y%q?sBNs>x7+PQcr+rYv0ZlhLxb$oNRyYlG17WTWYD#JuYlcnp_hq=Wu%( z>&@Gld)<0$t%DR0apm$Dpfwa5HMQ}ut6-AU(Ul&hV?7)Yxgp})kN#~)ADEiRv-IYr zH$u+j_7|q|K)6-`krRk3*i5$%?VuyR0n}3>>uN{Pnt=qr=6Y>^`?n-aPf4f4GyPp@S=qj4vu^O$Fhl zsa7v8#0Je-{*FRZs|N%}53*MkJ{;w5PYw|*y z7y@z3Py?TN;HQj@z zs6S~MTlt7sb1^}bD%*B3G406Sn_7rvY0}F;axvMgq`=4!W0V+nq=i(-i9!U8lz9rI zI*=Brkfh!<#SvE3KKS`ycm#eUh4%=29|cli%7Q<*Aibh*5S{PGNUr3u_r3bPRZ;t( z&giLcGc(KPq_t7k>K~-w!92Nny+wdS*OCnQxEKlP$8Mh*>UB)P!KW-6PDH>O=($Y1 zo_7B|E;e&u3U5;tL4q=|34fDac##q$e(n__khu^OrXji26Xa}f!U|y|adI_RF9b5_ z;$ww_7{7-WNRO{s;l$ri+@BkhO}%ZdGKOk=%fRSf22dhx_;wpzEJv$c&mFy)OgpI! zPpW#BQe5e~8gXVZ-i27S?k)eB*6aLmzW-Q*FcYBlWv@2Jm=2T7qJvYvi9HxG*lcke z9Z!P{LHSiNz|7X%Mk@d|Cz+WrvJX`E(i-|TQcQIl6tASe33orIcXueX3_V0XUrAxQlxfU$$wqwREt|(ba zfRs7+7z-4k4NO#Bi!L`^yaphO7+>nxZMxN*v@sUs+)+c!Sxl76YY2y(nG4AqtLzfL z04D^L4@3hnBo^mqxXvrLLQcM3u4!Sh4?E1v=A^28=|zK(s)(aFaz#OoT9M&1`mt=s z_}AXGKjyFYVLJV@YoDzq{g)QgP5W^W&7a(j27w=~m5%e6UvypO`|!7zTP%vb;m?!I zz-;kbEG``9Eh!o9CZtqEAO*Exyc+_jhX9?x*WA-hndOsBC|TdF&cAn;_e>IgTSOL<%qFy)oq64qE3^8E`+9!J7uw85olDDi_1czPatR zp1YGnfeG)=JeSHYHu+O(9uewLG3nOhYMl%=LB%I?jjHSmz(sa~1II@4xOw1uOLKSG;cW+rFo+-(!3ksxHEvL{A+mm{C~H|l|!GyUf& zIzkf|*~j~#K&=JS-Vn*BDrksV40!|h8n2MT`|t~L!wT^Dz)oNR#JUt=G+f7rd6oIn zkhsA0CYJzsJ45w5b{+Jw%y8#@YlvMC z#0+Ewi6tl%YmfljBG*<6H50p>trFnNxO5O=F-!AKQX^zE$L)V9$M6D|^}!bKeJO3l z7u2kBfEnS*oW(T1vdVdFEkT7@Q^4oKRrj_TlA^B{uU052_kplI9a#!q zs4qrm`Z5!V6ag;#V};pP=!AmjwdAuC8=#^)NNH{7x&L0oDLr$QHmvSt?e<}Z?($M` zt9A=dI}_E-?=Ws1V-Fan#x?1Q6Bg&i$+I~Yr7b?7oRm++c!6zr!onqib- z;B|5Paf#>S-F5<+qg|bFCSQcr!A-vC$--WY!=B|}L)D=xfQhz`%4QJO3dEZKB4nvx zPjvV}1Z0u*`gRw1(=kY7WyQgB)$K^A-9H2TwOoaAr3gf?7}^#We4 zQ|@u-UxhYaC;}L8e5Xz-2VO!CI11Cl{DbCuEk&?eLe%j}6-_H|(a#d?55C;H5)(&d zr7bsB9_*R|HWNqIFh7kPDJ&`x#6U;ga$qIm9x~dP!w%L@C7V%aP=3ptWcWD8GVzRE zL7g%JWXm#&pr5dq_5*&(BSx3-VRm*JRQFxOOFaVhxiN!p*8u;xB63=Am)}Po%;k#t zmm<5JWN7@JYLXo(T8OK12%ql|B!#rhAZL1z6^aGvFy*KMsRR@I@p=1mk7x+ zi@;JL(Q#~wdx7>#5r$mBfeoZm-V73sf)yqeHb8Zf@Kz1 z5(P+-@k*_{{Y8w&f$jWBh?>7s0F07&je*jt)5Bg>+%A}e3HETX+qy%;U6TQ!QQc@j z2i9jw2>OO?_70%R^$dVgLh%Q?V-$OYTCgkNy@Ha&NH|bk9X%mEVU@^O3XjP|oCS+k z0)qjbx=;dAm*RjW{=)5{1(*Vriegf&R(Yk)}Q=u-i-RK#@Uqx#D4lIvSH-5lH?8@xGDvJH(mrE zIU2g9^9+GDm!saz zs8QU0*nNisFx<*h@Gfx-fw};T2>GFSVpL*amlg~`PBh;fFE^ErbCHXELIKf*1`Z6a z77R(d@g{N8;gVa$dNWt9F_Cjcz)~;YZvz6}1&Oa4Jk%SxQ*s6~(@VXaXy)aFEO;SA z&I4xi-?%IJCwD>@T?aN4YVrSJKo1(9g;WJcWxz6usCRps zV>y4e#R=OKyU2z3jT|0#C3=J@%vT`C>4{p5H1Z7hBQeP4d%*TZOA1Oq)-yd+Bg%uX z&<^Swm;*WAFo_~vs;q~L(2>R)*dahB@C}>6YK|M|JGtm*_W>XR0DHWEdmOP@H*^Y- zLOoD1O(!N1PY`B9RBC%O={Ks+5Cv`HcgdQt>DwElZ)8sH_c%W8Q2btr)lLE5Q_@LG zwSTv6g^4yCT=eKLM2EMsf=y(8@0iu;*>E+momdZQwbeoOZEa+ByWWQAuUu?)H+~4? zxP-5t&O$9vgF2**)ir$p&T0YbryWwgH=;Q38EM>vh*uD#i5qxL2^(Hkv?{;+pDA#l078m|AE7AUg)1?DRF!4fR z)wU{(SblINi^5%^gpxZm$z~|$!bWn6cG|mdTKFZQ7$P2rP4Yw(42OZW@-a!uY|0X< zzg^9IO01X_mw`_ORlAf>pfoyqG=`k2T`+JEet8U}wA>HxoL-Gd*CdoR&R?1wb|col ze^(l8(49)rB)%Jx%rrd@b_xIN=>n~Ud~%~S;0f$W4XV4YJqKl{K7O8JMujF6f)F0i zxpn2@6s`j3ih}Y^5SJPdfb`mY-#yF9jUZ{WwNmmH1@@?hIHUoPslQN7}LabTlSTSZ7 zq+LPC6pn7ll?w7m$|Yn+^0eel#pMa0zn>|~^RFQWBQ-OWrlAJ-3V`(l0syYa01T+l z>`j9R2ne}JC%LM}T%g#I6P?%(Rp!1rhq-bf23)DZbY*|M0(~qoU%3_90=#j_TJEf7 z3-x)3-LC3m=L8R|OhfuEAE@Z%1bLU!YrZXgSEl;P$1)6xA83J{i-~J{>BeJK-f+&Q zOsBV)_Kuq{MmULQPj`=XG!No!6_lw`Y*3;GiUqFEQ-?`}rvAMavl~;nh;OI}8MPaO zG*qyOrGpbt?e5k5U_#Gp3H~^Z-@(sN(=iD=>X2XhD?Zrbw{uf znqM-_4QlK)kf`nAg`cAFS>INQaYP@}`XY$LA`wChB2{TfJ)&7`d1-`amRL3mZ_52@ zY{8+@Fu4U;^wS_bc+2V^y=ml#5oPfrG&BQpvpbiqb&j;`t>}~ydXio6-_*j-p z>%wUyPDqnR)}m-XvFBUOSb$Y;U?B!kdo+t{f!}>S1bRCXz>ZvyZs!{KQl#(<^nP*Y z%XZM|KZ^){_D=nRJ5e{|L|@eGe_oaxFNwtxl?<7p?HT$jn%5yDDiTdFvd`0p4#3tS zL?`Q>Oo=YoyXH=A1)htJFa}y~ESY1_p=Ee-=5j%gx&GJ}y(B$ARtH9D#o;=_yk_#9 z9F2?oEB#lu9YjHF4e*{OLi`F6?+neiyxehgPvA`AHLoGFqhe&}{iy7gR zwDWUzml-kd;}DTb*_qs2aVI96w4#eN>xP>7K*4=7dj?VDLwxv#nms;-4VEWB&70U% zr}%V1YAL6(0GQ^c!I=X*?+_7j!A|HQqc7h!KFZ*xd}UZ1=uh!|Ml z(JgZu_N{%{zSY^ByXtbvxmC#|6xFh0w=Rg}v{k79=y8sUFOe2@>?b^CxQDV%gWlMv zRPYtkW=SS8N9mxHT}K@v70E@J7|;C@OH;S5*)>*Xf=@Ar%6tkEv=ZD;Q{%+ zQj&h+K|M4xc9LMt{agl^0735%qk z8V+$NlqJ@Wm5CfXA22d-QDf&RphTU0C?vw()-^&PaG=_N1tlF5Y(hpu?bMtG z^$yO7Mr)X6z3~kK=`gPxG!nj+svWu&&uqNWn`ZQeg5+1&a%~4AzrVv(ZIPHFT9S~Y zHPooM5R1acq|8xZ;9%fZB0J*6L-1Q3eLZw@o{;`5$?StB(EcpG2FD^X?8-SrC-|_+ zWo;1tJ#5R^Sve zVcbJSqKK&}JtmZ~W)oM1kQGs zz5HO-<+M5x?{%Ko6PIYX@fQ|*P^TITVfAX!4VK~qv`IfXfG zL1+>4Wf-SY-}`p?CS3LusoL)^1saJ~Wr_;|eg_=&|c zhQXPusZ)xLdOAQUA?Z+^fg&X^IX|%OK6n!I$-j2B_h(fW2!drVk;{le_AI09L=dK1 zi`2MzZLnpTy8-Q^!AaC3=<<-XkQ(@|G{a8OK!dD3ISc_X_+03ja)+TX{2+n)NF({9Lw{&f=4oe~&Fur7{(R9;(?VSpdxIOXlAXcv?Q^J*1 ziCRdsvl_mq8XmY*(qIv4{xwPw#-nM1eOPI%Oo8pndhuwrj+WetV>;89v zm=^y$0I{w(6y*Yor|J(GxPNj@tLsWlP=TxyDT-Q7awyd0od}H~qgJj7Ssvpnf{9oj zG5*&}wzv5>J%`j21ixihZ@sp1utOTRL~#^g2CMT%n>Af9Ml6d-eB#tNg!sBITh z6qInr0MGYiid-`6Dbqy-XtM4iJz1Ec7wEFAn>>}vQGHQ-t3B^cILEvbfC^fnrx+)N z4s<+w0MBH&rGCrfwa-7XrR$vK9z)S6zQUqd-PsR4Vv27ROLbS*` z?mt*r$}fTi4SQ+{VQ1#=MDF15y*k*YdXaq_FMG-CT z1RZI;5~7GIEGM8(qBBLg2~@@`R5V~{1G8%72Yp?1``ZFVMm2_Os;m)IOvJq7IkyeG zPYSzV6ti*9fre3#J$gb0Oa_%ju&LOkxI=eTQE=}FPIjHc6KFJ2LI$00-b_z(vH ztOK%&+ltKM@QO9mG$nql1<-f8e?J~7g`WC3mKX%6%waA00R@Tz7cj3AmyW{%2xQ*< z{C;Q#dP2<6!9BQh5)=8N8JI_4#-U6T1kttvzF9#D@%O~oKpL?g?77AO`QZG^9O4kC zDeO!q`C`F1?SGB$qc8TrSBB6YJ$OpjIe+eUrt&!wofPTNF~)D7IWLyPv`*xR*3tup zf6#L~lfwXdDUJU3h-j=*y_t4s+}QnCTM7ASlH$F>-+x+;Tg&zf3iLqz@AGgezl#yx z4YjJC?qBPHKdOavJG&ozl@&s5Ce9r9IEDy$zP%-hV(_q@a8`XYt)bfeW%IYsJg76Z zb@BTtTzJz-!EohMLRKNDC<8B@5*vA_XlYF#>UA?8eR2Ey{3~m0*`6(LOL?MCm!=N% zG1nus`90;Z9{#O*Jm>(mvbR&5C}#^D5}{H>?L9INNCsk%w}&Zh{-g_98Ph`xXi(+a zf;K0XX=Tw?-D!%fDw7=Alj-KwxTOV?eE|?$s!S+K)z27_u=M>% z+J(;X*4AX&Rmz`c;b&wyKU) zQF?CdMg|SSR2aA%E*%K35YB{r0{%7&WirSkV>N=q;-EYNQvgOR1K}l-U0FhGn4O>#D-PGwm1Uq0z5tflFGvI?=RRBlvDS~S z7d1fiYF%&#`(Pv=Bg+G`at3ogiVAkF7Sj2D`XAtn2~9hMH!hfvd%C;Rf-@_N<40_? z)FnVeMB~*SRm1tM?gX|1c{1;I!Lh=iE?Rf4Ba8Q)G?nIzpZ9w(Ue}YV@fW;c~qFqI5|*$cm8Ja zlQ556=SGZX=;a4tDdefRgUN^nx@8z0Qz)?5iwyBuRPQzjU8)!`XA+(LHQ}5G)|Y+t z!4y7Ki6irii4m<3QWHJY;zg|~*z@pI92S^71--jU35;f4mJ(AG*nL?(aaH=mDZ&#b zAMFl8F6W$;|2e5#V>6^CfuVqZk2Iy>03HZm!Tj5cC$lSwnXjf2P!%%UuWC<3qc=eWl})eeYyFf zm8U@=+@(jVZxTuKp9zff_44&{nG)m^gWZxmryxI|MKM>>hhJItIPZsqcyK{{We!uI zTZihe%tkpFhZneWShJum_D+GJFY(b-ObkVy^aq`{Rmkd7F+in_jNvqs#R19HFa?}g z$gP4p6jC0K{&XR#4us`&=+)kF_QXU=Krn{ zna3>YTU^VC>07Ms&O6<56IG;cgc4L(pAU3NiyM-9(4l5F9$#OH!^ zjRknjEl?vG1-WP8GB*_LX&?a>#=8PB{;j^2Fz+P{(ix#_lVK$Iqi%82|5KNp5&UgM zW*B}JqgjhIlL7;@P8QmsJP?rAHW^B)D9oHF*65@n$u~r#Ccf3fn)LOe@numQWtq;_ zd}1Zw|1|`gF}(b+t2!}u(}^_6Pj5OK&I-s{eE+0y<02IEJy{~L@a z{yzufniiI_EyD6$q#Q}smK@6PGSWqiTgb7)BgQ;8=g=u-bu;&9||FlPw5?& z&37<($*u_kuV!Q4?#qX1z!r7tf@*khml9%+^@rm(^`g8hhb;R*?}Yl}TIjZbISLWNi?-)qC73)1y3(413zl7bGwcz+j`TBvNMUcCA`vw*$nL;n!+AyWdC@|> z?`j44CCe02Oeu|K>AfyH+W}8i($FfsxbYl#JcRkU&GWGB*r&gW>|UA9r{!=C9S>zn z$-~eME2b!Nld4dMch{V4`DqIyRb*?t)GuTXleIB4=uu>>&d&ycsAX;UXg|VW>UDMz z+ZkOrWBsJ<@1ek6X4L0Gg2^CW6x+){OEV$ChHFGGGrq#}1rO}sZ$wEvX+VkuHA0-a zO;MDFDd;`zK0BGhgjZF@?$pd>;ciJD1Q7~dZ|^Vri`C1?cKln>%?(IUlEQ-*U{Zz3 zLrrbQrI{JTyB2A{;5ZnxfoShumEnDpo_Xji=V>ff_DnmHBdizg{hS}jLqs?KjMY`n zW8m@@2AaZ2?k@%YW@6b5u!q{g-u9|XZjOXB612@hy0K^W;>2P+<=e9#N?IGVjqTxc zMs}i>f(1tquNr6Z*A#v70(jet5tp#9xRl#sH{ORO5?_JRU4PteI@6h8MjvCmQ2s$T zmJlrE_9N$WRt%fJ9%M_Ny!ajW=wrk#N3vJ;G!ntV)-t@?!&KJs!Y_2`C^fpNFGr4o z>Ewz6-#U|3UCHkSdm_(J$Hx%%XkEa?K!M8(aH;6hnI{^cz;9}9%74gQ@)%D2E9Kjp z!Cs7ufpE}Z#|{&!pAOi<-=~%l8_Ym=xP}oM?%z>$uBQ2)1xE5Xq}dRemXyslP*4(~ zkpTR9_Z0~GOkIZ!6bv_sR*Yf6E*pzGJb!-6spY+FF{dq&ni+P1Fbs zKyqPW;U2BxEMtYIf8TkMT;^-l=gvcgbh7+hKP?W%CVlMRP1$RI>}GQEDzF?+-NVIU zcj4c8^N2Eo6Fm&UAoV-j`>2@*frv>I-8gd z>u0w9H-42!cZmc3+6Y(B)GD(bORbeL+BLAYtlZph*c(~xC<{Ok(NvP zRuo579OR71B1;)J5Nkvr+v_sY>CS_2c99%(iy~cP&K!Y)lLeklJodUvM{NzXd$t_Q zg`X{VmE2AnWYu`4WDSx|GVO1L%(FS|mKocs@wTXxNjST7LYA;lP!2^?iW$=X477Is zzjk{a=fBbI|J`mQyC*yRGtkRIYzElAz$K)=6EYDfJ1wg^qzz*Z{Us69KY?HEknN)Gam3HM#fr=TaBcbvUozHA~w#eTY>08RPB3?+`{dmp!sG&5fG~ z8#|%dZxzlXUJbf`wTrqLfmyo|9<9CdizOMGBKIndj!l>@80Pu#x1t-$&P?4WA(e&W z%dbZTWv7n39IJOdG@HhG4-M>E1pV5^*@7vBii0g)kMZo+Cq|lfw@&qA7(6e>s>c!x zP)!`6H2hMtcxFsLe^S)Mv22*bUJ%bOLe2^2fv9GB-xj&NvCXE9_@+2JT2CuU?$hN+ z4Bw>$p7W^fCNmg2k3+b!tgpU{g?b|zs@uj-^Uq`baCrzGL=F6k^^l*q)uViS7cav= zsgOOKn(~CE27U~PJc^b`4Ub4c;~)Fxq0fI*ZmT!X2L_Am7uGz zcpN6=lKq0_LJ$x5r98VHwv_FShxg4(Gj;u`KE8tiANZ%X*#W6gc`dzU)crF-C?l>x zk50q)+z4OEr@vH6DmG{Dt;z6uG_k$oWOm1|0OCw`Q+<)l*GvzpYcger~x|`gCAt z{ml?6U#)u$TR7xp4phB&2~{OWlcVFjV3eUTPCa|3o%LFNd+pYL`z3JM%VBs+&>LO- zcmHOyT-J>^Ze}HG!1J&;hKCu0;$k|} z@j-h(5ol@&eag{le%RKho_B-=Gc3TLFicI1R0{J9b;NLuBfK%+!Ys9yBgM?suGB_jF)%ENyrX;T9)cx6vjwHJhPnl%>ZV$QFiu6gQ-%3^iMX%ZG>T!FkrZ>jaOhd(>TJhct0Jt%=s%bRJtLVxml25a%>s9U~=ZK*BF z+)XYa;#(M7TJrahkAvrUO!MZCz`}sqyDwky6n>YV$)%{LYAPwrHF0EBlUYg;0AIBt zPO~iAdD*LP#*nm5?7Hsy^GlvD?`Z6qi8o)oRN0)a4G3T7(1CeJY{yClJWj-ei44Wz z)+GWF?J@%JcSV$9*?AoTdu|t#9f|v62s|B+4AblVTcB%2oULz1?<*vn=^A}FAHVrU zmqwVtKPX6|y;8|BTqicI?8`@IHRYFo+QvysCmijO8CJ+mhVnZ4yL zGM+t61k#YbCCJ-Kbe-}y)-*n{&PL;FY}#(rE79XzQV*XukB&dd!@+Q9zjug&A1#)9 zu{RnCSUKj(IasKSrNWa!GO!rU?Iv;hxg~tWk@xF%^DAOBlaQ|N-*?apaK3x@ukNkM z;ql|2ZC=9SCw`eyAfdi?W&@$0B$04FqrPr-k#gZGS7w7kp=*X0p-ADDPFI)bBj}>r z@D8Y?TlsPbiXP{pE>k)5z_-a(wh=hy^Ot?Ud3Y~Za8WCLqZcsLMQ31F)SmW;Hq74o z+a=&KCYwHBVHtm|%>1MPOn;}=!a1D?xgIUUu*l}UXoKYU7xZS&nqODWZ3z&KjaMtl z@rG}_#eaguzrVbhT>SG#HZhz~m5y68(K7ezRtD>26nsqp@ofBJK6cyg`mJzOj;xUW zyOt$}2=bb9TU1MyiyffcIoyXWoEMIo9)+89R~@;#-Bz1#WU%cqw|w`7tkz3d{r)I*5On`#xw zAq&vF*lXs4#bOg8aF3!y_0()xA(c+({j$$B4$Yx7B=*S78$vu-($>QQ#(zMYvEwQ1$Ne zsb<`Iw*b9;9Yw#}sz@^5L$mL`CB{jmlxn})gO?a*{h$ILld4u5p?%%Z;rhi8QwY&& zvd{X(XSWCY*@gd^@GQ2iy`}p#%Ul+jam(b!l{`dlE96<>jP~xea)YsztsDog9&82w zP^5ysf*39oNPa}Jy2`_Wd(699|M-Ik4*jqPiPIQur89xgaM_jWN4FtQszZiq_5@85 zuR2=k!m#S->ocQ_(6&hs@lk#EqVQ4c)b&GCM>+U7ezl7OutQ;fPFnxuZ-AmM8L*nM zz^HuB24W`vpfMW8BVqrA{zaQ5wmR8L&71TqiJMn}4wg(3is^3XU)HRXbJx2c@7||h zgu1TLrRbIDV%j+e)I}2+qFIDAUrX%dkZ4K7a2ksTS}5cD#t*7w%W_$wlUP$ns!9I9 ztWHf`{lYP`1p|)S7Gu1Z%tmDEPsJCr69MClrPkE+Znv z3c?pI^Cm5Xf{Ec(i&3V;9EPDSy<~ltNG9OwZjFCNFJJNj+r=XNAs6%Y5HqISWd!(z zNBuWha-RmcBS)Byh_qIqPQ+jEpI|>5AsWyr$u|7$5roSbat4j@AS2c6Ko^Kwa*=cm zf!be%OE^hYTk&AErz>h~)l{HzMSwo zMW6!j3xFk)?2my2%MC@7M{2r;Re><`4`J^)B9aHpw1NNh3wQSwb?#w;5nhM-2@gdl zQ)`PpvxA66TFDV(#wkunN`{PVas1@ZG6jVk7&eU>0Zxd23f(U)PE(Y@CJKZ-%6;zB z43z}T^4f2~hAugWN@7$g4@_(N=Rb>&Fo#C@{j&43$OGg`NF=qUO7R&GwB5r=gZ5-2n1DLT6QR zoieYS7~|Xp(fpyV(NJx;iGc5NRz0jeb=Xip=`h))XR9`M;Kuz|S@LPBt69wGMN{fS z4UK9Tb|TZReg`fDTG}71eBs6*Cxufk{18{WhuN7JCejM8z5YApVaaU6iB>D?Ptl|4 z!_@^W*Z}ZD@LLTMr7hvhwOa8B&+S=Yu}0AB=H}fygENm2<&%GFpai1vFez-~VC2T% z;gTg!Ie8$!gaVXpz-jAAFe3t28cE(Z!eb+Roq8j|;K42Z8HgQ-CAbZg6!n4}rtD4n zm@&msU0i5Dd9=IaQO*od;NrKaF0^#yQQvFQgU6v1BQp^aWU*mrj9|)%(lIsZ)MAB- zyZ|L&C5@yv$_X%OBS2m4KAaLbVY*)hyrRg1$OW>_6R2~I4d5|jM5XB1#@NcMl*%Gk zP~4078L}x0GQI=54&i#j;)|)F@b+bz8RX=u(uMUlshoi-_R&x@i|7fg>wd-TU)q}> zHjFcu1h5TM=MM;YXTw2v9Tf{YlHI26)|$RgoLN)y9!Xl*C0XKDXuC*csXCpHS?7`^e+shH^I`KZ9@(*}ycW=u z4}0WSWx91>h;@RAY`ZkG3UfmIx&F)dq~xu>rKYhaRA%j@pexZSF7W|$bh1l_dc4K1 zPL8baht$A5O~j!g+_!4!x3}^1A8N(&KXl)*0$bQ3faVpvT{&J{)WMmtzqDUG5LVf; zt210iWl$%S7s(Y`qaZTVL||}Y-|yGp z;uu!)^;T;tZzLiN21W;gQ1J&@Sy%?pz)OB7dFk8X)f^ycItEifCB3C2@gGSCbBhYr zFC8Zl>O=Nr#g#G?W$2;mMM#5YllC#{4^h0K2-uE);R^=v*o|a_pp!8l6HIsA7=a1AC1SdY*m;Baq|hBBmx*pCZ-9cAdi{#bs) zyzp>J@|qq*(YOhw_t0E`NqU2kBi6~O2`Hv-h=^+4cX%!(s-<_dNvk_}O@r|NVmA^u z%$j5{%JpOLKeK=V*llqMy%5X`p!bBp?$p60U-G`y@>Y8> zpB;rVgQ+_)GjRwEy0e=N=!8MOXgFDz=*?f4S=5MTScV ztXE|{EYE}{s6D|JQ0>X%GMpU`%4I2A+?WHB0t$eDoM52Gn;uX zeLlLC{PjJ>F|y&em&$|GrU8b}o#qs!Fq2X4urvWx@_n6> z`4}n1$gS1RGgNd!u3 z0v37i9SNc*g=8ru8G%Ba#*G2->BwLL#d2ab2zGa&BaY>7nW;lDwJg5zYN(qnaCQrT z=!vn_s);KrcCo=y9zA;Gcd}CE#Obr3}uhN;*#*m-;wXQ7*sN0oI)1 zyY}s1Ux_Y)Q=3J&AS zGz4baMCKa1nOq$L=eL?s{>EdC5eAlt;Amrt;9W?SFBWeVQSYx%@BYBnid?E!?Luok zq(KVr1Xo(^heJ66{2ZHCoA!aWPCr-a4Y7;vMJiQIgwu_-qvcU|&u)!y;QEcr$GL|K zGy4Z;*hF@WWClerEGOUQxeu|#5TatAnC*u#JwW&J12p6nW#GzCv_w5x{yb8Az1|At zp@%kP`LL?xi`z*Wnl8j0&fEt^9h%yWYeX4Y(u0{VO)5$wrG%QbcGzdfmhbZ*iG2fm zJs!T;T#9lYu!s^+qf~AOR7ujAlw6NNd9Il?%vm?g59rjplJA#$%(Az0cO6?Z^c16> zA7}Jei69Y7k>TblvWsCiP_?-%@-$S%SSV3yq@^z3eY)J8tR{0%&`t!QKe{MZP|XHE zm*j~@jKx@@+su)4^ys2DL0mpT4Hb5Olj&jU1t()O4}|ZP!G%5qPSZq!kBJ`O#?ByM zC)A?!51~a)aHWofT(hFX)1rtOcA?k9CLqbdV83#v!*A;?!?!IZ!Q7(!VMz(nt6jW@;_yh)0 z)fEnb(^zB=&&!3i9VfR8Ev&*`zl^ox9Y^Bc!?)|-m20fcMa%o5Qx`7~)&dI7bj1Ni z=@l^Ey|Qel24=uaOp=IeacVPEIRYV8rsayz?=It4t{OUC(tCzoki)BI$(H;bxIWW= zd0K!eoh-n2XD(YWI+(McL$?mWN#hL6uZHiboL;6AT&)7nkFhT{tn&4KTTEmwTH%e} z+9T`BW)xdd)T{AwRqr3u;T5Z^B@PX^{T+^fX!fs4gxMY{(&nFU*{3CWr>6zK!KAO! zJd`cWui87}RX(1q8PQ!Dgt(9~368E0H&y_f@;Q4m)8wg+B9iQucqdlxG7Q^fE*9CD zhWc+fy|U*J%!Q6JGrWB4O@ix59&8&!wTEaDd)FkmAbJZsZL7TRUr>bjYX>4PG>c(s z)BWE6cR~KUH8@NCSADOyjLp9{%jHUW-HAtsv<)`djV>%>q^7xckxJco3K6dsKnE54 zvEOV~92MF&M|BA;s2Pb68*Ck&b#bE;^Dc3*za0f=bqWuL+K>yA!4BQ_tGVx<;xw%l_Xj`HpH>^j}CGKy3KYMQ;r;W0l zJ?{@#*D>==WOQ_QyR)g!=hm+M$aj7_k%Np={Ue4q%!)~aje@l%x##meetxftpZS@4 zzNo%Dj~U;pvRIZ;{#(`ka{Ve?!oAcu>B)U2;bxKust7l~)C&LQ=M2841W09C^z20Y zMu;c!FCYasV=^7yoqkZ*R2aIA2tQ-3w#mrCa(l79E^3Tnl8iRfk6=2V?9a0t!R0Y# zttS~Xj)tn?xO?X^P8S6IUu~RcP?K2~$3aCPbg410Sw#cVLN5Xd5m*q3fHVV0m)?;M zJ_aNRDu@(;)u1#%5KyupHBv$-(xi9kf(TMgK=QooJF~Ozhxg8$Z~wXH+&OdZ{eQUg z%gY)cGKfj}P+qp_l-D8;X53oD5}3~Eh)337iSv4pka$YtHs=0 z=7BRxQL^S)TEIX~`Lnrk59r6)6bXu+o4#dyZYgnGHun=b!Zd5CPa3m3N^{=7d+FPi z&k`Gpnd2Q9&j&UfEFvp=P<9KpVLwIwfZH?ZwF-^fOSug6Kkx@8CZ!irM%>FONS0$1 z#NTo1IDGtFyp>cG6q){!u`zMwN*QIhV)+WwbaX`ktp8LybXjiCsWVgUdQM$=TI8Be zvSpMYw}$A`(>B&t78i@n0YgT|)!(=iY)0y@WfYJUAYvDWwRfKcgBX8I3JYY>YIiEn zBg&IUwm(mY?{~?GYxq25t#pL7w5L0VI5schLSX0IPOm0hbUTKSf2%H7sp}MEp`cmO z)l(d>DJh8IKZhN(Pas>9+;8H^spSh#RYfYihf@Gmh^EBu>wocf|lS-u%01t z#PeN`g(ZF^IoREChXV1j&x!5nR2XXrKckw#KK5uuH-hv$_tGkP_=`0LGZ&2SF5C*9 z&{|i%nUi=yFr-;&S4993c(QP|v{f7^1Y*42i-6$Jf3@n4H_+BzJm3w+ug%0YK>>ke zuI()cxf)W?H88`AE8c`{lE-Mly)PH3E!LCeAk5=mG1V01-LzvyB-hK=G~CNv@td;K zd7-DQf_s~{WRsrPa%xMj()d&d5bIZ%7lAfXswNRl+_DLCLhE$yi}${(0IpAPKE2Bl ze27t>&9k9J2&4%%?*uH>;l{ccdblyU`Dr>vI3{ZD7RmZc`T0#mk1@8_qT9uNrS}=B82aGn znCQ(taQ?tryyyGH;6vb5`IbZ^oky@ zi82&w>~Qe#fHofW(+K@W;HTsIIP=1ND|QM-&;?UU?CX&d2ZY$Q@Ys|(#pkI+7(*PI zX7F`8Kf}Ny?qWmx(^9egk6|gQ6I9`H1pzdvEg)LKA|kpKDh0s*Y+XvJRn9&5q*&5Z zPfrd}pOt^mEq~6Es%-e@W*oJ3M>y8p>&Ke~j09;%7!xiz%MMl2g2)h#xMvpfIXg&br$?iJT2Wrm*_ z{T3{_#BQq__`r()T+U0#sGj1({%9=8bV|>R@LmLX`@T4_62E39*?;yyxy%a{G7zXO zxJvP6bI=#YiQD_T(edwU3sYk2S7l2T-H}4Ia>GxJLL1;W9(vW;uDEzr4BlRKO?zaMAV*ZCJePt&jh~921y+*Z}@@V-7T0 zx{Ue~6xUaMsC?~au;okF#!Erq!vVtBX65t}&P?$GFU}@S>I#Zs&p`*i_W$;CBQbdP<1Ox{mS8 zO1frIw7u#U4OhimH3p1dm_hbne)$b)pM}+IilU6h(6u(D894 zn|Rc-;hkis+G=WP_2v)N-0ZozNZ4eu%N6mfTkfIl?McZDOoLkL;&_vW$9ce$*F6t7 z@A;$?&wrIj?Qud_X`w}v;XmdOZ#Z3we?dbZ2$1{1ItC02CNSJ-rlzK}GVg=v5zvx@ zNHgmQ551gACp#`n74|Dg?2LoKA1;pBOj+yz5C}DjVe%MYiC@rUgnTC!O-sj^GCG61 z?i@10ZKt(u5ss1VA8!LE;?&cQ*8Gn1uk~^!m^);4CfFdDjuS<%bvEwjj!&o$9OYbA z3)O*fdyQe9n;&s$b}W7*gxuE{I$#;Cym)(U|0wauI{mRWs(3z5-TX)p?i%Ds@zwmj z)nY32@f^)wen`;cFun5|u=mT_)O3p+dpx`_aOpGaSv`;pn7`ffr0y4Xp68s2a6xkJ zXZM|sZ;n%cec1X1gJ2~z>zp;B(d;T;(eM(b!g4Rx{UoUiL^05uVKVk!C@l*b|OY+XLC1CA5Yc?eFn6 za}o51@t1)OdvW5hc?h&Od&VzQVbuZo1jf>)J>daI7r2U`RM}ujCXZir#l3KjY0{dd z5M*Xs5jEM~p*uXcK%N8OjV(Bd2%9^@>W)~Q;uPVEo!O(Gd5&DS%|$wWCZlp$xW$b{ zeTOK*Ej-1|1@u>NMK4oalWvJW?`+1r^ijo2;N|gU7TXdy3{Dv2><_prFyJ=G{y}{a zI_Ze3id}=)^2<%(f^Q{H72US?B{{=x%=!EIMiQS z4>)gmHu3uLsvno>E>!gB>Pnxl&l$e14EQ`~6!r@q#1YxghVrO(hD+6$bJjG9Vpd|dXB zFn&4u;f>jv<5!J;^g`Q{C38Nu>-Uk}VO-PzUz40%avN_EHn>TIMtKdgm|kN(A#n2l zF~3e9^S%CE)p({fL#&wg|2K#K=&JFQV_w+bR`GxL{nsZ3UX*Lvy>E=~?6K$AqfY(WRkh|` zbFS5%34E3b3{d<53Wf&s?+21WiU<(UXA=Yv()T=5dlT26W_B(NKi!QPJbv0<`u=p@X!~{b{E1$(iP-3V-3;mv z1SOxHsFOa(dcHoGF2~Z@*xY;w0uY`(iqQ8FqluWQ?akA-9h-xd655O6IaZZODa3$c zdpm{b$o-o5`!0Z&<-3%~ha30x24awh`S*HB@RK|tgs(Fjjq}ulC27dO0O>xe(X^^W zl%K{fGR*sP1@oFv;Pbt+@h_f2&!AV))%128D!)fPO|14V6(URnJ>vl`dINdNfnimKjIN?0*=oDLjbgYCG?<@_PA%>F} z9wn)CCSS?;>hiLJdEy-oidU+{_Wor}iWP0oN)Cw`b*zODWL!jpNLn16N5q!+EH3!* zI3)6*d*@>sXVTfuNWpn%0jMitGdd!@pF?Qaj8==03`tMEf27px={%O+HotQt35yaY zyU)GDWNeKiQWxWoB^n#Q&hS;2yEo?Zu~{@(DV=&z`@BV*SZnuSq%?Riy=@*?Lwvou zUhFSHj=P2}j1ly6`9hq+v?$yd5~T0_8mjE=%K8i%0SJsr7`RbS1MCy`2KGK*G5v7U z9eW$*Hha71LKxXx9&G?VT}(m&h{-R8EypXefOoxEnZukokH_wj^mQf(8f8M0wqEa1 z4fj=BqzO)o>qAD4n&q6BcipRnX*tWo>ZqlMb@d%{{XU``)?#T|t{^@7pqnD43ndnbk2vLI2 z+p)IvmdCoQbRr5GMzM=^Bbnb3Mqj9-HTbUt_rQMOGjSc%E4 zIrPIV`Icw)ROf|t_(B(=qz^l#=ADd^@r-^=cp_&e2m({vfNXgeWfG&;u|q=w!0lR> z6)zcM;~f)D96<_F?hK#-S181fUY#3%HUYgHcp1umDs*Ti8Li1>UJr{8ZYS+ zHB%`VyuL+Y6t*#T==qhp8gk=!3C^kb9q~S5rbfvHT`RP}1 z&myqaUdJ2iR2kz<37dVPzqK{sfp%AprEpMP!;!}Ry&L6=XdVs{8EQDW>oB}1b$xym z65EfH`r_9yX zd|LN1NSsiSEHjZWqVA(}0OO(0pr3g67WOF~fA^Ac5HXLOzSqa+)~h@e(_FQZ*r1u7 zIcr0@XT5_r&dwx#^Ng;X-i%MGrV^?GmtRNdtEPODn+|djHe5t5p8#ZWBfx8c1YND# zGO|Du^v)ILbuxo`8ULVg68m-9+uz6FFfkqs4ImA*YcO)7fHN?Q{b2%iQ)~93(enW2 z&r$Fe>d!at@6RtH)DH~Y8R}1Rst6Vi1hN4U5HX!h3DtzWBmmXaz39^dR+xZYG&ibn z-)gXg(#Qm2@5i)TyoGB-nZ7*iTp55f8U|QE{L4KCqxbp6VN7sk55QM&apPqv)YPsU z0dTgg*2jn{5rjIi%RD?6i{p`}&lA}F!W1FIrvdF-!mkiAmO%GY@_irgzg(@l+Nyh# zD;Lf|d(BveS$S}!c!BI);^IjzO-Cij<5J`uZsvzI=I}Se7!rVcF!^x5y3jpUGUi5s z<2ALUe)?J0fs~bu^JTBqp7n@FdcVRL zRR4BI{T}89Z7G9IXpTLM5Ie?c5)Sy zRjNw+UcW7@WfbP59l_Y%Ls!9S%GNh)Q#ivvB!A-O1bDkdg*co%{1d+PyK-`ux;=($ zBHB{VCME}Jk()Osq!W^f9?bc++yU}!)avo`K`QU>PDu8y88POyIf&P%oSmTQF$<0H zj#lo!+U-jwReSwlz!ay*b)Yi$_2jTUzkc$qU5>7{6$(PwK05=^?@LKq*uCFSvi#WI zl#^s=*;kUdBI+}Orr5XdogT-t@e^P)O-SwhTd3}or(5))zbt<=Bp_(FVFfUt-bBB-Ci}i6%n`3H4%vFus;rEhQ_$pvxI);n=H}C^5Q%eND(u4ljg!anWmhybY|KbLQ3x=z8~6 zS%AkMJ=*SZ&yA{(_sa^GJYM3m;;B7f$UgJu#tNRzS;vJ@e#I}G)vKw9gR!ScPad?>J;_3CC<_9g0 zQ7zpMX|B`y6RQZ5T?ZC5t(bih@1B?gEeMbZ?nlilzH>=hu+yeV&GX#R)2R$RVw2^; zVRNn^<1*e2S92QNyz1{q=CzW%ID5N1%$>Hwx&u`DB$DqatkVAwg|XA(+-%?(_om|f zIiqHmxycqCe^!x+v3wKSFUNbSV%W+C>#)!#XOo(#PHL5JAdmrE2jtU)@Ma0A5DftK zdKO*iOthQpOnp_Np6z_j-R}M>rkd>p?dJUl@9G~&Le~fnSLZy$2NAQKf^S!SH~LZg zhSv}H{s;U?P>pN>-7qH=8U1do9aP`KXUMUrmKNk56-SZyH4uGRCQkUp#5 z1jaqg+7U|xe+VOJ=)M#6LRSa^00Lq39q+bMFn*&wqm87qc&&b zScu+j5Z89#+Qw6Jm}VtZ-xZNgz7T|-!<2p_$~`~Ndr?VCQlWtv6|q`{f}O{fV8e{( z(>;$`g}x(zo|@a4(|6oQKX-puEroa1cxIgxdc8 zvOryaJ|xOSYJevG2d#UMA+{o;6uK+WV+!P%vvgY*BtpmW3YxUJv&JBZ@k(vAL9&c2 zFcHJqV^o_fX8ZB&=vYp)UFK*Iy2AS6BP=jM{1?0NN>JD#dUp61^DI}2ufa-LD5I1Y z3IaxXqbigPlBSmzUlf_*rq} zFg%P{wePJEPV4u+`aJ$w2Q}v>1!1Z^MkNgHS$)$$aXuV1+-h?=JPUu$q!*jmQ2e(`Z{Db#ATnVPiQ4-)bxGCSbz8lV+4HH1>HXp0$ zow4xcfYs27>^+0uh=$h~%Vqw!i0N^tJw=P@5~CSg1dTNDn5$Xy)sBla0bGyw4>r|5 zc7^C52c6D&kfTsZQb1+e*P)9g$rBSJ@3s@iLi9ZZ;zTJZ6S2ak=JqB}x>B~bT^MwA84n;)R?yDNw{Q6eC_8jv3u5It0?ePs*v zWwqeZJjIXgz78Y&yxiTO0`R5TzQ6(_+EPG(o)Uk?7@!xRmkN*_MZf0|-{k@?2mmt- z@zpu>hx7@a8tj)ME&~6dl8zKH*TcnBe(9R=&?01NR&`O2FcAe3@Dn&leuQcm@lDxQ z5fI2bXu$qlH6vUT`Vucvu${6ma6cB0^b#*bjEGBY-Roa$3PI8b=LLT(_ww!}NTCaW zD2C;jmzJrhZz2aF*3nS6=Ypi6C1tr}+NcRO(zF}KD-eYn6l#9ID!#1P)ZR{nYZ_0O zjWA)Kh9&od5~vYnsbpRl5;}^C7Xgacu}P$yB~;#u(yYp?PK9?~Y3#Ztj8HA(PjpJ2 zvB*tP9dTY^-^j-%^(<0X0tpcM;i5z>G{f4;x>PbCZ+u!04W0{xGb1qcYx)WgLbJ0U zujBadw&agcAHP*)&>UG&BKC*UNWgbj)NX#Hf!&;Ay^v>tya2x}f%Gy$G;9XUNXWbk zA!&pB1lO9$nQm%=tg2!{57nLMl zAQAw!wIRc(Po>Ux(;Vi~V_h?DV%@5uK;f!`;_OW~Lb!@+*AZq;mA>(ZnlMh%Z0n$}F|#E!^Z?+; z_3(e$!%{Vsxe)3K`@uk!D4io-B&CijA2*`zPp_>Fh<=WSx6lA-F<{VlbV4_erb42a$hM`prM+B+>6Yr+d)Kp*f6C=^MX^9OM8uks{~XOq|=LPdml zu~C~j7Gh$n48gvmvp!aUzvl%M;04qiwKn1*NyF3l1DL_TNsAKP3K7sZxmqNH=cSTE z1MpXMPygb9HM-B_O&2srsQvnlSnD5Fd*^Cb2kneX=32?T!l?vB%wq+4WbLUsDMxL1 zWxE%11ai~@>by{-mv%l34xFX~>x}uApJ`LuH;U1m5H&EWhUxtRT6kR*peP@RGHuaTDVL=nM+I=+tLe^SaEWwyJEq7CiWJ_ zZ1Qqs^hL=mtCdwAi9Fb0@&=DJ^644bN;tZ#Dk)0U)EQ5v) z`Db1YG_~T2W(b*(cE=eg{IGRPqt9&1+C+t?s5$7zNXgH{v>!24)-dn>EmN#duWF8!*^~^eW{%(rm4bkwNf{bckaGA1Maati6AXA ze;_|vfl!@Pb|aVSJ+t($lJD>l(k%t$-#y*0FD4K3Btkh$`twA|=szJkC?`XnLSmZe z2Y*vV8BvuaP`DNr$~ZKTp&*dr-Z#1108s&?fqcYlaX?uRRL z-CRK5NPjOl{)^w+_21WWt&1ot_c}yUuv9<#jtAP2eFQ%a<@GS1>I=oyKik2&5ZUK) zniS_0)QQR2X(o@-#=2luQqp>#J8jC2L>X6!ritX2oeIi$MYEJv9JeHg(=e`1zP|vv z`Ie3H%5yma(sUw|A8~}=d)_*?$c$gsPlW=?+d4{B`Xv7ie)$qqW)E{Zw?TU5~OIbT|N+rb&ZB~tv z8=6+2hU6Acy)NsVWUc$D4W3qD!wL}Jm`!fVpk6n(2T@^T5*NL0{ukruW+P8jECQY| zh#nfBGp3;JD)H*Uit$|r%@^>bp<`EX@tB`=@)eU|pCNdj65)}i>X(3g6YU+|lG{k0{vZ<cWO z0c?UX*lbbt(BgSovd0-ifVMkGyg=^ALRA}vd{J#dCPtwEkjZn5Bk=IMD?Rv2Q& zU~3^G6AUgE#MWG$v*z|9Zp5aTBJ6e>jnJS)2jv#1UM6|A?(7T)00faM!^5%=q*43} z_p7{2M#%P{cwVS~(Dqm+Ep%nL;|w`q&69sFj;H1fnL1F|RKMA;WyNs-zue8mtvzjs zRUVG5;yR6jN6&*7D!ka4)em&ugvuQR5~d1f^ay^NBp5&p_-*qA79ld4d!qRz=1C34 z9Td;1Id`ly>dAT3W5dqtcZ{0W|Ov|!_?rC1pa~&pGpyx%M_#% z=NJPXy-W$+y-sLKmNm{y)i)zwsM;+cL+(qw5_Zw{i2|)mH~)sR33BHO z_evrX-~d_B%X7jxv)y$&*5>RiHJ&|?Po#MDQoQ-6!aIqVHH<<^$t&@>~aOG13tqoJLQQr@87q^{`VN)G}EiYOI8FA;Q zqyP<9w!*xqLLxxDIN-0eUu_$KNdM3tK9Pv(L)$kjuG0t#{y|7M63NEg? z=)z09pfP5?m2pdM$g^so&9r6OG1Z_>^d;$RP^`1y<2Y(ge?fB$2pJg6rJ6|j&w(ar ziZY{(L<3H#9;gG@9=h+pvp~}Hrhi_BnOFW&wCB@d-pAivi`-L<3|=m4vI@7LmHUlw zXPa&nTbQJlYreZyG1X|MBDQRuL;t-2_;mUj!TEIbD|RkvcWv@g=1Zp=59zrqIcL=M zBqu4(Y!gW(5@dN#!jl*9MzFrqO+LxVPqIp*Zxn;V1JozF4c64`=zsfOp~QcWX*sp- zK3%q0f{gx;$uLh80}z%-@vSFC^F%K>@hdhGaA)&D@M-?R*)ncF*omU|k1(8FR=lrC z5AkfFQ^ylU%mLJxxqJby>%MSp%C9v+-yCTrY$Xygob0e*h7y%KvQvC&njxAiFaR}8 zqBK?c;`dRPQrggz5Rrz82F9<78pV2KdXJ4WlyKV!k6#IIstUBKJt zs`0Y}T{3H~oUolI(bm&5Z{*DHfUB6uo9umjG-WF()mJz=6L&9~Bs?3*^Q&@NEFfQu zd+hX^oJtLPV=g274{SsdLY<9xX$xXx7w$&y=DI)aZx^8gkhvv3SNCrMCC*2l4g-Wg zSHEDBOqSx5D$svv=7yPXr>Kr8&Gx=AA00yM-aMK#f=ic`brC5FE{`|CFfbLVxm5W@ zN4*rGz%Uohy^j{(DDk+}RWRe`3A(}jv6ZDRl{3OGLV6qOKtk>7h&9p+M^B1&g*zW_ zVG`$9HZ6?G7LQ=t$y6JiVuv z$tA?Gv4o3997m!R_7&|%q894+%gclEXDNbs(EEFPl`Z%(;JSR7mPK543luN%*hF~2 z+Bt#$Oc(qBe-9?%@5$fK2OdqFJ;;}wgLVXL63#f8*h)YEupIQKFS3EmMwZ+X=0`Zr zqUSlzlJ_NRU6ryTyaJ{VH_%2pDi$)Pqz`X=Z=m^{3yBCWyZ9X}6{)K9@Ovn{%Iv2g zsb*U5JB%bBvq7YKj9wk?VxZJFnM@cMw5MiEAPutHA6JF2K_Rey#}uHwn3}A% zlTlFoPU}?SbZ)u%e=NyyvvNq&;YG_;H+$nezf+P|^k$Ykn~|suZMisT(0)2Kw!ux? zU%^kGNym1x9aU2-jS*{yz1M**>I53*yH-@>DzO2?y2;y5h#phYkGROotN5mby45nh zCQ1sbmKJq5yivqzTD#B&H!z1*gy>Upcpg()Z}PSlbzJe8Gus-~Vl`!zAo1&+ zGPKC3xr|4g2RCOLaK0s}nc%+vPw(aFgPxE}@ewrYr9%+8ndtbFx-_r93y=bjRgJ?d zr$g^cShtT=Z58F*{Wr8L#m^>b4Y{V2zT6kPuH&XEI}P=UofyeOJcqoh#4I3r02h^u zZ6A&AdfEocT_GCtG1sP~g6=>p;>l1Z6ty-e?8Bf)qlK3j{uqp_#=Hb=r&@v)*;a5E zxJv^I5<*r@mn(~;2;l;#4kr_SD|*@UXXqo;6H=E&y$oUPlTn`1VZdD#^nxxn=86sh zJ2;2F6BojpXQ{b11c0|1GJ+88RM$l_xp-cjxr!~nCy#xHLG2Q@ZR|pSAU?00b_okE< z#s)`Ubp#07K@Gu;E(e4S=WZto3OyVwF|t#aMHBGLZY&~=VoCM3a;?kiCWRCrVJ9Zp zP;-oxJu~v_s@#my<@CiWVJB>#N=%H>Gu3|tMI~9oYx@p5Nk{R{sH|91rGjn4>{fI6 z_?pVBm9I#442J^n|5W=sNl}GuS}}2g_Zh(*#(y$|x!fP-;h~HZ=i}YY9>!lY?f_Py zKYr3jsuG75jBaCy|GI(uldGhuL@DJETrfKF2YFLd>41~f%-yS?sAEA9ON;WLK0|nB zD1mK`xj5f3eBNOUF(2z(&yh@&=1k1dbW{_?I)a8VywnFk4EHJ`a36x@<^n?`_jJ-O za_9?QH0DO9G8$cRN=JAAcX$X#rkQsBMW0Qj!B|L<=PYnAH`}3)Ttn)fMIo z6JqXiTTHlCKY@5g+K1T@tJ3VOCnJKoJTEh0Gb-UQb75CEJ@sP7#1s%Y)5E9@BqKj!^25oKvdZsEOwU;1Axa{rD+Dt8Y> z5ZCvaW+|$%Tc5Q&fxh_Qd?O25B&z;mHn(V!bky}0YC|T6;ia3&1bz4lKUrpd_NfuU zcddRKqlGYo@co3$f!QSB%f`+m!$25@xLJfzIL6l4o?Dc;$ggv8Ymx`3D8E{MrfK5T zr@ag*S7!_>XY#^dYi2y4Z7R#8J^zOv8i4Do~KeSLf4FZk1js+>~SY+Mmlr( zHfxda-SQySM-znjs^!;L6%pw$Ld$~q>n7Q7Cx|O@rG#4Z*0%y}PZ)K!=tsYE&{m=o z46v<0H=KS97g%FrLRzpPwax;0Fqqv81sLGg#>{57dF1!6G*6tF zW6+?#+#AbCKS~>R?w0LWaQ_?U`?XQB?+aN!$N)os!K?V@Ei9sVLiRKp-^6(iSiuEasBVLW%@o=K@ zI9D;)1m;qXs$VyIz|dWM({PVITz&&UhtTA#pH72opyo%moGB5CuCK7aKvVKVzGIcY zz+z2B2m3>Q{oYnSB0LnEoVCIN8RJ8KSOG#a@Vm)^*|`)-C^c}`Ipj8V2GF)E+%+0( z?pSr26VBP3v#_!Xu+3|3DZ3c57mA zvv|veebWTYx8)oHCwIIN<{9#}&2^F-OMMB-cf$Xt^;s->U-UW0!-^M8gr`rS zh09}Q3BNQ{`93k;wLa2GVCq}_4_*9tQ%k~dm$|GdXj;vT&p<4H?GspjGyMpzR8bgq ze=OkrEdVk09PeYmZ4C_~)pHGSzw7>1eEtm~{)67fGU~vC_ic(DR40kq8Q_`{RF;Ui zM4w(Pedn>~*UdWNE8l7di|Y$d`EJU91I^++U1NshMrx3y&PDIx0kRXZGhf5u3Q;=R zZ=za+hAT(?Ql_M0(Z&=y6HEPmDiQAMNc2K1NBt>{Y3sV)4S=5|?0ka`f-T=r`cOMzk+cAuP@QHp9RIKtiPIpor=Ok;+ubfIvE3 z$5LUCK|w%3mU$lWynlbY+595Cs^Ge)!xPL_LcOu9K~fUbkO$|gH{M@m>0>tfZ!evJ_1W_>yHc8-tKhEQ{eXw0HjwR!d?P?u;Fh|H%m7piybqy zw{c*%$A`^-^z>hLdbqUUgZ*ZwKjGxcNPNZmwZ9_3H07Cho`rx<4VL80>v}z-WbpBtd~Kfz1GFd(F9>Y ztD~7j5IZztvoCdS$kTs|C8*YuY>_D09$L|J8=F+Ol2}a=2Y>gkE^2p{I`-CJTwT}&;qPA;6Dl#4|rTmNXA3c8vA1zt!}L+j#r1^pvOR?w{V8}C&oc9 zGA*(#NH_J~iejm8D&V|DgC58Vxr5#nTi}$lUd5tEOzE`iDZQ>G z=Ze{P)_oM*${&j*o+Z5{ENRO;h4Wt~X_ffLB(049k4XUkrIH(l{eM(a0l+8<&@{q@ z_*=E~m7a(}*yq^TE@TZ*V?r4c$^NK>lbYaiEf)H z1V0=$JFeT1F-PD#CWPG6t+lR`n9)St)BW629Xt6$u2^REApY}D%u9gs)gc^s#{{6M zz7tMBvhj&NTw@kGQaPc{#3fY=A&z53@2DLYQP2ErP;|Mm?GSTg`zwIZKXg=*vFh*W zL+cQ$4?830YB^4FBX5~sh5B?#f!&_1sURbtjhfv;0;vb{qy{EHrWa*W3_oUWut#r>19@}JFryd2puL)|V+>|*vOZer8!u6biu5>uu+@#WP-W^%xkXdHO<89(M9m0EIe30M z@e3u4XR3(>)(k^Uc>=z4T>j~(!OTW<@IlEkwTNvqjPoJfqzDsI#K3(Yf{&EA9 z8qJS5Z}g7xW=>a-EH20lz1@%9lHV#MZfG-G~X9fKap+dSrS8dhzKyTLhx=^MNVQZ~s z(Yi`1L~n4Q{Kju0xq10Lw(j}`{Q&Q8_hyeX-Ry{M_s;ae_xwktaSkb0jYyxnE;X<9pCdjPI*aMTwuVF11o&nP zN6vD|fbAsH6P2V^NuSy6NgeK*uJ{4(ox3jni)sQy*FRIH+i{;pjS=KNe|APmO=CVt zc6aV>M^mX;j7B!QpIR~iL18-f13DEMIEWDUHFrI>Z!U_a0_^q_v+uSHp{LF=`;#lA z=W{M6v?z1pml?QM%Xo)zx(YcVKNpf)t&`)cCg^6aIRpW(;tH^=1c)32e<7YLT}xul0>Qd>&uV-g;{QHG+RxzjoLa)csy> z{$vk0M$RNAy^Y*9FG)`zTP^~#o!vb?TG6Ow_^wF5t6GnYjUcO@T^?puKG*JivP%5L zTw1CysQv2l@h;#|%PF0EqF!2d?jbE(ti2ZK`qI@%9-o;9U$CL zDXnUf&MM)+W&{rc{B2qT6u2f#`(Wi(@gzKzFVy_#BRyH5+~@A5MUUjALgUs7fmttA ze%TxN!*7ZMcdsNFug^L3d)ygqC_NJ&8F3Ny-PmuYw_^tDCd-xF#pei0Fmh6i; zkPq_YO3%a3wVolEWVhiK4xd0y{;(@eV^uY)E47Bt+2VOg~c+X6f#hL zT3dfs@M{a0>)P!eUw139tP-b~?;eUVv`zf?Uf!Os{m;XZO3u=94f9u_(vS0`1jmfG zhgH8)U+rc9eb5UOjatXrqe{uRLa*O_`_wUfN_z>h^EA8O81t0-Y`=YG*k7v5mz1em zLg;a7@#MzFxhWl~cL=71J63Yuvg@4)+~WMjTMpw*wRL>sZ9j zNep?K`p(ar$4+x=wv1GA-8fio&SYzruawe#$9lQx3Spzg7=W<{FCD`+U+i9(QMFc@ z+|Kpy*pHuluPEmU9i9LB8vZqK*t2@_CJc~Y4}6q9qP=~p+of)%FGU5f0olgf5vgOS z#{s~^kniIzF0ycGDzdSi77j6&sZ$_u&g59^@ zlBW_)d?&}Cx=1p89J8R-dy)MQcxpmX%;wU;HnPOu69+Xi75U5xDJcQq<3)xu{%&sYGrze6R&=->F1xHe5g$w?420utYOhp$IV6l1MZUo$N(_ z8B>wJlAN(>#wZ2z*}ocJGRSz4cxy;0@qCDQYeFfje&8Z`^ddCqp<7{@icVR;(&6xw z{gr9YU`4ZmkO%na63T%LH~4`yzLRvUn#pJ}Q;NT?9Ek?fFAU<9y zplV3<;kQVz!eFGx!^kmAu%fcy@FM0p-=^PM0QNqKRI_rk`s~EoAEN}cK3mK*>B(Ys zD^NoYtV%66`abMFEt}n{O$6z21VoF6KtP254UtIr921$a5S4MTO3+Wf-;4g~yTtHy zo?)m!O*KH;c_ajRNccAsz_V_^86p8P%2kF~&qQsF_O>)btt(ar&& zMtiJ-1wdgE9sNuw$dS~?(MW-wmOTy_1;|282w9vU1?>0*bHSBpx6UcMmIBBuaDW0* zq70l-+cH!$3}_*Ep=vot9J#Wi;falU$}WGLUL*>(0b+3y57~V{Cl;QE#7@ZgB}R+yb+>;5llZG<3XNYt4v`SMT>>BlTa6D$ zc6FId`~&?n45K8oB#{v`(ULTbvRLubnc%>Y#q{taJ1k||!b$ah1OUzPiRnc~hMS;X zl>Bi5Ml(4EDgHGC9J$(WJwhR#BBOSoKuri_4P;Fp-i3A;K;g8KaszG+5DPUky~`Bv}zWlm-Y<<%m#4@&T4_hA90O8&QZHJ+cZgk(6913P7@~F-pUs z(3MYZbxPp>plzA}%QS-(PrB_=%Z=4s0zGS%y2gQHEwR0Z$~P78@H5h~V~#Ndz{Cmn zFpu?&iwyW;_^aW1avi;kT&-gQsh6TFCSW%j<1EcX1JSzIp-_nhiUa6DXh96Y4VSny z>7T&;(Z8=`R!ucqlgtxcxduHq3l&`1alH-08hT%z_kNZ4iJAGyC*=e3YEn>ya)|&n z&;7bSrw2{xBK|S$P}KK}aN*Yo-WZbPsKxTz=CA!Ip;Z-@=Aono*xxqD()?>qKE^E{ z^|gj3M?MMz7EH(R>Gz5xU`IYd+}Bw;v5X$in@(QH%#u2O)+JrDqU`aW+j;gql*pjb zo}$Bi#>~JbJ%IkS`?8>;ESH(AMA$!P8My`g_S3(v+h2fxY{!!`M!og@`fE5A1dHZ& zlN91M$L!9>AlOWrB3>h>lHz0FEL3*@uXU$6j6(Mck(&jU-FR>i7`DaBNQs${sUTmN z*mTG_wdKFA2~R=uU}a!^OugNz3)N@V+#;X7h4zqMekMj+?St?k=@~W zOldJk$eo!{cf`?s+Lys;IAsBgstmH+g@~Eg4?eurco=XlJQ1OFr?s<7QPm~~ie0w{ zuX*caq!}6FtV6|RW)-3k%jmGk&l}4K7G#nlQ{vOSU`UFwRS*WF`9MME)y~8w(VVd% zl;bHEB@ftF9b)G3w;<35+v)^nXO-K8;}K-v@!7Vlg;ud!um+R$1TFDtVNyjo?h*23 zJ48M;)GjzVAdW(^Ysm_xG@l^soMd-0mQO-j)r^Us9ZHhQAv2uD6=ddwMJ0)Gqlfc2 z(&J$*6~?3$0+n>0zJ<ib_U2#U64eqU{J*N@d{SC`?UpO_ylyi z&!Xsp0cT}t@LFmy@o^YUs-WM5EBpO3ny~wYyLyd)ukDO`nh3$Xya>9yQm1XmqKQgcJA?fkio*L`_km}>D z1(?nf;_9#)O`%ICLG2%W%YIgDTnK-vimhyVG_jg(jO01xm@o3Y3D~vZBG2EB6AA&b z3Rfq($DS(1q8wnahEuq8M^Pcj(_3_2o=(#|7E{uVA$e^r&R3RG*!<1wUlww|J~*~k z+weh*L|h*p!dP(TnGB_%FCqTj3h>hoerLpbk^r03t@)H?!funqxiGXEZ7% zr2(IVXZ0NXnyt&_8u~fZBF>Rl7GQs3>a`~BV0}9v$qIcu`~d$8BD!K~OO-I123oaH zVyPsnDs;ayjI%d%kpHJz#gEMu;ra|Q+@r!s6nYxb3h5?kzzwi_FvO)luU~-UDWeLC zgRCr^|6~?24H%^nR+3;L6ATq>f{B<2qo(4p035C)6U&Y%3E}XB6jc!)93bRXW|Bmg zC!Dx4GB0@CjmXl0*u(J4aGJ?He>YH)3o3z$ILy;JcB*NQiY&`<@B8gBm?xN`MN%;x z<)&GN2Ad-za{`mG82p&>rhsBW^>s3uwm-UtxLG~o>%jELs*|`~E%7hPSZe+ARYoyK z!Pt=@mU^|CNxn`N=F#6F251I7|1I!hmXBw%d;vy7c-J)?%|m~|LU=U zljrNLEi>iv3SYFqnd-0dL)18n&=1I|I^ERg!<`xR5EuzZkxH-gE2Zi=h{=j)G;guF zR}cJLcauntYO!g$uMVgL(;2qx{-vZXpJ zf$(=(FRvT~2wX+t_D-kPrB14gp`VVC4B*Rh}nsg|E z;akAYtnpfyOwYtxX0o~?Y{!csh*1ER9Xl^WKdS263H;rMhlhoCF^sp=ty5k}<>;RV z_r9gucJGU#)e4^`d;kIl&0J1jhXoy1#lK3;7IV(&`J*O1m2W9MOOl@)a(MKGZGk$opD5Mb(U7miI2yE-u zV_i3s3U162rzUf{JmYy@<#=gqBplP;5^>$(mQV`JBg@X{$pdhGu3{&ws_bDHEW-4r z33pa2=$&o6_!$m1YXpBUPl)~NoNXENn#Yu0gVEMlPTisSb|m=bBCrSNhvOzE*lCSb zyji;NF)#@eJ<=Ha9iQI5n_~aBGrE!Us5bX{I7Zsk%6Ci+Hx+Zj;8qY;PwBAF1aEaT9Y(J8Cv4+0r_t!#v`Ql)nOFP;~zr8Wh(L*&4 z+goYs^usK}f;9Wsg0M7bN*CE%?d;W-t37(z+vO*-DCV;`=G|Unm#_AOHLo@5X8Eb9 zagXJzd39lm+>G=uIqTXIPiBG?_oeqF0S7nc9l*p`s-&bj*SpcRdSOc{d~*M~I45X- zakpKK@8cVypaApXT#l<3S||4Ej-b!mv%9?sYIwTd>wPKX+Gp)ww}1Vx^Id#lEticg z3=-HybPqAiXPo<1j)L@dGNSE{=GCFDl~cMYD42nbPX6AZts3eq>7E_(EDcIElp&Q# zfKAPn{0El254(@cqs*-6$@znt-zDuewV-R3zFP*{F=20JUx!9Sl#DxPA5qY3`V7m? zS~G6U&Y%@>9&A0Y6}?-Vh(+`6`@$@p?PZS_`$pRQm8(leMS#?N)5V?fZzEg2#MrhFo3ULk zVQ)jPeFSmi4NWr|3*JM1x$4Lvmrs64I5(NOr)FrurR(~aLy~1b?<zXho=?1{GmQMV96k2J0) z3y~x^fGpbrO)({aENbyRUtPNKF)L_Ul+CF7qTT2AZ@QaMV`+5<&Jwqk zg4e1l1*VLxG1nY@)EsqmZpy1AEj?>{r z5e5D?WGX*6z-NEHn->VV`+8elxu2yCAh!CcmZdo!t&aHd zaeV5fM{PYVLI&zvVO#xG_4WJAxw(pXKb&sgnb{cHI5mW@O zmtBg#NRf_0Cg6l z*x2V4cd{2rdHc*YKe;zC&^u)TwlxuCQUIi27|6!ASAYiKD+=d{`H4SSaBm@4=mH1F z3)P{*$U#mCREQ^o^wq0hcXn?6Wl`}}HkW0U7?@=?3Y2|ph>Gf9ij*kt51KhmmnV5s zr{F32t2kNZ>~dv%8Ugk-vwh|!kT=u|!sQPvO-z*j$eF-ps&uwzw1G#pq4e~z?$OBO z>_NY}xe1`$4zVcLF%&(zGEG`HFzz*9gLQSz*1RLk+kK;mL+2a|oNcuwNdEH<+IXsB z&atjE(@sqj16g|GQU!Sq(&2AuZ$_xyoZiuG&hg|y=Qnb`&!DNFOa(O8UMpvd2pQJT z&Og}tWaylmtE;TIS=u(^b~_bcE2-{)Y0iE--a7)8^y3)+YdHAg0^*4Nhxm@u*w&|ApoQ4JMXgG{yHMo2-YbDK7r0+%>k6V-=E#?Oy8r!p?TX zccHdne6)%vnRnxfsk&O0j(vipk*|5^MZbs^frRgY7n1}(Sa2CsioWKI=>?*;%(T0*^K&rw?rq8ry z6KpyU(V7lu#wzM}f0Zyn`9E;Z5TmM(HOXfRhx?uB7EQ41vR;okY?zN6vAuDmc*0@D zI^xuIPkyX#0I-gtZ0)bvP+SOe1A@r>_g3H7NR%@m4z4@~)CHlR=td-}y(?F18efNm&^^}fKgW@agn%h3?W*PzMb>qsF ztrBVS&vZ`P?%vVb=3$#PoqLZyPU48I9noi_^_Sy!g1B!!b`QB+JhT!~s33bAcG=|+*oT!;ks8GHNH z))uJcy_^$#xawoIwfRR*d99eh7;0^ZVgp?Blvd;TkIGPt);^{nY-5P-OS}(?j|iz1r3-ls|=tTmrWD zM79!|>|0=$o2)Tnp#@TI71v|e%7K+6vHpujk+PFS5I)?*IBEiZDzQyZ}?!aS1J1#GB>s+MBr+*Fo&m$P-k`AqyO= zzooRg+thCptG88KJH5S><`#OImve^o&5oz>@$s!?0M|D3N=UPRvYkG_)1AxXpwA-` z_)RNqJ)p6#vxz5H?2h-;WwYZs5V{GB?zVU8XlgF%bbd#!f>F64;uygo zS^E=s+-y{xp46X|SH-B-NpS4I+C&Mv>^%A7&P>~A+-i~fE5qO)#t&OtynE>kaa%&2h|+V$$iTr)_0jPdh+8-`P-7El(Q$x8)1$SG5y zIK^7wPg?7o4xL%|&8h40hm|6?h^7|=yK}i~55!Ut68C0LiJJw?Dm){$6%Vuf9A)$$ zfg2|c#l>3yHIgsGD1+s!3a=?ZjomUSxp43chP(Bs2g?m?$rUBZM(YI_vF3d&)BZyt zI?|$#NW{3r9z*U>S4%dB=9fU4M9o- z)Xycm+gW7c^l8qcpDzXPgH0(4+so@~Cjfei#dz-p=Ot}aw5#cZ;^fD;r`~&(j_9C@ z_Iyum1^~z8p>--C<)X?5RνUIy3LgE4BH+ge#CtsY7%dK?NUVm>=GX2W-n;Rm2x z8>QVZkW(PQ#4GKG#|Iy_-6CA}*RaJ8hhdDVA4!LjC@$9}pArEqTZ9IS=x5fG=cdsE zJN&o8qYvsioDadXX9qxQYO1TJwC~4PgztcW56HRC`R)5$V%W?yJgDu7N=&XL4@1)t zyynKYceb8N4g2}2vO=_8FV|-yK74FfGpqa+_J*y4u3EClPQV6TFYgS2LHH0^1UV-2 zo|mL`Ma6i?>HzCLP(Ddv#n7uQzpgge2Sd2*BgPf9ypFOKr^hlE3$_VL+^L#JMY8}} zPq{zlr%B0+WOSY?cF^N6(e$3zdaTHyx&n)U*|l!#{r0G+w;(m+C)b=fldG+qq6S6A z1x}_gVHLr=;_o{7imcVL33aySb6}yYYytFFe&O%^db`LDviyXUc!w>@eCg@RSdA-5 z$1n#T;(m-~hw@9DhZM2tS>T6(Y4){dym#~f3VYv0SXaxVxP(ttHK#AJEH-q1R+2At zs{Cyjj)gB}Mmwu0yzzpJgL#(Vlp$U7)z7STPp&7f4wU`AV4k3am>Ay|qVqKufM0&npVzw-7-c*T zE$E`y7YBD7J7pYZ)7QN7xjLHe^l%EdAM8?VxKpP&X#YP{j9SnAvo%NlHop;Le|!9I zyx70y(@4@ZM~YF$|4keFPxpV9jp^{)7cNO5XlOJ%+@Kz=_g$qu+)NDUf0NB $_SESSION['uuid']]; +if (!is_empty($VARS['classname'])) { + $where = ["AND" => ['inventory.playeruuid' => $_SESSION['uuid'], 'itemclasses.classname' => $VARS['classname']]]; } $inv = $database->select( @@ -21,9 +22,13 @@ $inv = $database->select( 'items.itemcode', 'itemclasses.classid', 'itemclasses.classname' - ], ['inventory.playeruuid' => $_SESSION['uuid']] + ], $where ); +if ($inv == FALSE) { + $inv = []; +} + $out['status'] = 'OK'; $out['items'] = $inv; echo json_encode($out); diff --git a/lang/en_us.php b/lang/en_us.php index 6a33125..983ee60 100644 --- a/lang/en_us.php +++ b/lang/en_us.php @@ -4,7 +4,7 @@ * Strings for i18n. */ /* - * attackplace.php, claimplace.php, refillplace.php + * attackplace.php, claimplace.php, refillplace.php, artifactplace.php */ define("PLACE_ID_NOT_SENT", "No target!"); define("PLACE_OWNED_BY_SAME_TEAM", "Cannot attack!"); @@ -16,6 +16,7 @@ define("PLACE_OWNED_BY_WRONG_TEAM", "Wrong team!"); define("PLACE_OWNED_BY_PLAYER_TEAM", "Don't attack your own kind!"); define("PLACE_HEALTH_IS_FULL", "Full!"); define("PLACE_HEALTH_REFILLED", "Refilled!"); +define("PLACE_ARTIFACT_ADDED", "Added!"); /* * buyitem.php diff --git a/login.php b/login.php index 337c84e..a12b8ec 100644 --- a/login.php +++ b/login.php @@ -15,7 +15,7 @@ $VARS['user'] = strtolower(str_replace(" ", "", $VARS['user'])); /* Insert code to check login here */ /* ------------------------------- */ -$loginok = file_get_contents("https://sso.netsyms.com/api/simplehashauth.php?get=1&user=" . urlencode($VARS['user']) . "&pass=" . hash('sha1', $VARS['pass'])); +$loginok = file_get_contents("https://sso.netsyms.com/api/simpleauth.php?get=1&user=" . urlencode($VARS['user']) . "&pass=" . $VARS['pass']); if ($loginok != "OK") { sendError(str_replace("Error: ", "", $loginok), true); diff --git a/placestats.php b/placestats.php index a2b9e3f..d2f430b 100644 --- a/placestats.php +++ b/placestats.php @@ -20,5 +20,15 @@ if ($gameinfo['owneruuid'] == null) { } $gameinfo['owneruuid'] = ""; + +// calculate artifact score +$gameinfo['artifact'] = 0; + +$templife = $gameinfo['currentlife']; +while ($templife > 100) { + $gameinfo['artifact']++; + $templife -= 75; +} + $data['stats'] = $gameinfo; echo json_encode($data); \ No newline at end of file diff --git a/refillplace.php b/refillplace.php index 7c2aa91..0ed9aaf 100644 --- a/refillplace.php +++ b/refillplace.php @@ -42,11 +42,11 @@ if (floor($userlevel) > floor($user['level'])) { } $placelife = $place['currentlife'] + 10; -if ($placelife > 100) { - $placelife = 100; +if ($placelife > $place['maxlife']) { + $placelife = $place['maxlife']; } // Update the place -$database->update('locations', ['currentlife' => $placelife, 'maxlife' => 100, 'owneruuid' => $_SESSION['uuid'], 'teamid' => $user['teamid']], ['locationid' => $VARS['locationid']]); +$database->update('locations', ['currentlife' => $placelife, 'owneruuid' => $_SESSION['uuid'], 'teamid' => $user['teamid']], ['locationid' => $VARS['locationid']]); echo json_encode(["status" => "OK", "message" => ($dolevelup ? PLAYER_LEVEL_UP : PLACE_HEALTH_REFILLED), "levelup" => ($dolevelup ? true : false)]);