From 15a736b810e64381319d1e94cd45ad017e0c1508 Mon Sep 17 00:00:00 2001
From: david Activar tu cuenta
+
+
+ + + \ No newline at end of file diff --git a/admin/adduser.php b/admin/adduser.php new file mode 100644 index 0000000..bec2f2d --- /dev/null +++ b/admin/adduser.php @@ -0,0 +1,160 @@ + + +//prevents caching +header("Expires: Sat, 01 Jan 2000 00:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: post-check=0, pre-check=0",false); +session_cache_limiter(); + +session_start(); + +//require the config file +require ("../config.php"); +require ("../functions.php"); + +if ($page == ""){$page = 1;} +if ($max_results == ""){$max_results = 5;} + + +//check required fields +if (($_POST[username] == "")) +{ + echo "The Username Field can not be left blank. Please Go Back and re-enter the information"; + exit; +} + + + +//check the password length +$pass_len = password_check($min_pass, $max_pass, $_POST[password]); +if ($pass_len == "no") +{ + + + echo "You must use a password between $min_pass and $max_pass characters in length, please Go Back and try again.
"; + exit; +} + +//check for authority to view this page +if (allow_access(Administrators) != "yes") +{ + echo "not authorized to perform this function"; +} + +//make the connection to the database +$connection = @mysql_connect($server, $dbusername, $dbpassword) or die(mysql_error()); +$db = @mysql_select_db($db_name,$connection)or die(mysql_error()); + +//make query to database +$sql ="SELECT * FROM $table_name WHERE username= '$_POST[username]'"; +$result = @mysql_query($sql,$connection) or die(mysql_error()); + +//get the number of rows in the result set +$num = mysql_num_rows($result); + +//check if that username already exists +if ($num != 0){ + +echo "Sorry, that username already exists.
"; +echo ""; +echo "$_POST[username]"; +exit; + +}else{ + +//or add it to the database +$sql_add = "INSERT INTO $table_name (firstname, lastname, username, password, group1, group2, group3, + pchange, email, redirect, verified, last_login) VALUES + ('$_POST[firstname]', '$_POST[lastname]', '$_POST[username]', password('$_POST[password]'), + '$_POST[group1]', '$_POST[group2]', '$_POST[group3]', '$_POST[pchange]', '$_POST[email]', + '$_POST[redirect]', '1', 'last_login()')"; + +$result = @mysql_query($sql_add,$connection) or die(mysql_error()); +} + +if ($_POST[email_user] == "Yes") +{ + $mailheaders = "From: $domain\n"; + $mailheaders .= "Dear $_POST[firstname] $_POST[lastname],\n"; + $mailheaders .= "\n"; + $mailheaders .= "An account has been created for you at $domain.\n"; + $mailheaders .= "Please log in with the following account information:\n"; + $mailheaders .= "Username: $_POST[username]\n"; + $mailheaders .= "Password: $_POST[password]\n"; + $mailheaders .= "\n"; + $mailheaders .= "Please login at:\n"; + $mailheaders .= "$base_dir/login.html\n"; + $mailheaders .= "Should you have any complications, please email the System Administrator at:\n"; + $mailheaders .= "$adminemail\n"; + + $to = "$_POST[email]"; + $subject = "Your account has been created !!"; + + mail($to, $subject, $mailheaders, "From: No Reply <$adminemail>\n"); + +} +?> + + + + + + + + +User Added:
+| First Name: | ++ |
| Last Name: | ++ |
| Username: | ++ |
| Password: | ++ |
| E-Mail: | ++ | Group Memberships: | ++ + |
| + | + |
| + | + |
| Redirect to: | ++ |
| Password Change Req'd: | ++ |
| User E-Mailed: | ++ |
fbPl~`BzM4ZFv$_W|U^<5mD&aQfr3evyNxLBuMdx zrg$M?XK?<-?{^_F{Fk^f>zG3Irn}a|t4?<)We4;`TaxmxrIExR(|~Yb`tJEsd}ec_Pf`eGYt^dpnR73e zhacNO$QYKBqmjE|?9V63hEujZVqiX<6#M*ty3g}#YCq4{bDqajt(Tr4qO~bNP;BCp z7!b6m7sf-#%z8c(6f+S)vF7v?IG$-Ao^po*!H`Z#BtWasGMdl)+=Hkmuy#_A7z&~} z1p9`Bf^}d+NvOgQv?CMKO0haFO55IoxPY@bjbqcyX#vW#Z6KQ#guK9De}`v(AI{#v zWA8DuLqJYI5PK({vq#L?D^5GDg<+zwN+C)Tg~bq1-_kkTgREM$uxSFUnU6^j0`Y{k zAAuD$B9t=$HXMabHm5W3yi_ueP3LhFcsv0wvjvvTvwE=%V6t0a8FXu35u}i585e?m z#6%W7a0+9BZ$d2JlF-FW?CpfiN p>&M7NY{F& s6G$?rFZa zDu3fbKFO)TcWZ&~9w?85iVtNtECA>NM!wJQ1qFO;7~eivXA7m~G33Z|{7u2C!XFk2 zL!7SswDrotBUkpV^$yD~{OPAF4O6b)E9~J4+Z7j_PanB@=Hk`xqN_DjeE1QY4K_AW SPS>KhUW+|)&C&)3Z2Lb)#UB3v literal 0 HcmV?d00001 diff --git a/admin/admin_mod_up.gif b/admin/admin_mod_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..4f19ae5ac0b394a82aa6d825641fce7170102350 GIT binary patch literal 3722 zcmWlZdpy&P7stQ5ni>0wm`hA95ox5-O>?KHbzh~YkzbT9>yAA6ZpP+5Me#(9^mJ2= z^t9y3hEOSUpKWGCNG?+@Bjx9L|8ZWgb6)41*XNwq>m2_;Klcrx*8xjl1_091QpUzc zOG+Mp`J!lOs1FMZ8yfm@^=fo)Z*N&y=|BIJ_xJaU#ZA9{&8t+hy1I9BbF r zZQB+Tb7gqAFE}{p^yw%zJ25IM%G=wkt*u2WZEtODo}8SVot>STnGuV{KYz}-xVSVo zi)FHoA3uJONTj*Bxt5mZnVIQDT3W>4zkmPy`Ljl&nVOoE$=au #Vy1S+A?X4XhZN0s!?Cfl{dR(RI$;ru)$-3lnsY21++1W8NGBPmGt5kM( zbhN8f3W=msCX*_aik_Zsi9|9wIyyEswm3~rPPSAkQ7B}coo$P#RNXS!qO0iZQ}y)p zbaZs|^eDQ! fC1AV={N|j3W<;$0@u8zb+R%&W;S6A1_ z$l%!6*ZBBrV)3WGzMk;#WBd2-8y_E?m>5?oWkW-%;o*U)sUL?9QJb1R_xJa`diAoY zsj;=SNhA{9x^*)$GD0TneE9Ie#fum2-Yt+wItmK@djI~tTrMA8tQ=4d3=B+6OiWEp z{rdIm=g*(>^Yg!d|6W*Fu$n~z|KaqX`R^tG%mT2WZ63hqi4rgdD?=Lig*9x@Z0@$; z?9r{)2y0Ht8%pohXA-?r%md5rzE3e)ow0dC^Igw)qn_IL{xAOibld&Hu>Adt2Tga$ zryu88+eHSi4VO&H)}JFbZkTPDj0$}Dxcv$B#mVjuFQ0Ti@$HGb?{2pvzj)7)Y8wOg zC&?>%--m)H_(ZDUSM8Ag8oQ@e*G`8PnFk5@sv3@g;~$NJ($M%YBhIC?^P>(fr*g-R z-Fx7fa4l7{$~CZ}{A=sOJ-2KBcRnkMdoP&%d+5;1(Y6=9w+#{7k49ae4_Ze%hV3-F zwsR_1Ri6|C1s*T*zl-b+0^mq^z^#k|;rCJH)A|L{(geV4UCSX)Le1M>xj&j+{I*sp zwjlRBl?2@NA^KT<{S$ ~5RE(uqGVggM>AU(l JZS{D+w8M_OP zk8txQ-?ogSd#%skyTSjjs~GS4SPC-`ZE@5TYikKMHg9(lG=^q*#Htxut2XdR{aBF7 z{GV>@9mw9o7CeZ`<6IW@X@MmeMv5(Ofys6$=ZX+`jt3>t?5w1)>G|c#bCK&K)Bp^& zt)=?g^SMeD+N9htRcqxV`}bOSq*}yw@JgcvW-e=Z3`cn%|H#HhU>I d%FBmSH}# zb!Ls|P2-hse{WoEa`QVg%^`fGCi9PIwbaoTm0##sf#mHb!_N4md6mZ5n3S5m<{gGx zMuhC1Fj=`-4L!ds+2x5pv$-_EBW$Fw?qis^FmuZaL+Hp$>lgE7reX6dYfLuuU)T9; z2 -@ZWWgPxN}6jBQJWW_`Why3tj;uB>G|H2DbW`oql&Bj`{Ihr(D-b3gLTU; zg6Eh3ob?oKef*th%`(@LX0&a#nxBNc!}f^9M)~A_RN)P|Go~vZ3jJOG*|VGsbG5(b zZt+-0eW@{5CVFW~d(+5~hRNaH;9644_rcYzh3>iuJf%z+D^OviS2u@h87~!x1jsYR z6v$eAjGu&iEgZuvn|PiDw@Bafrox)wUiWdD%wD^hVeWi8Fxcl68yoEn>K`*lFA zK2jL28B)wFOfKhaxd;$SbK%-V{e&ZFJkVX@tD7AFU((M5kwP?p4TV--=OGh0p6jq8 zxEY@ZS`%TUd2t#wKLMG@N4tfEY9GS&X7IW1Y(Bf7qRbg4JDhy e3ZT1EP~ zUUx|jCtG1$F)Rb7nh_bqG-}|9R+St3jK2@Y_q$iyyA^8NLU8@IA>_t&+=LxIp$JaH z-{?v(jaEWKSYbS!z%1Bm^H6g$05Vz+>G`Bp8yAsk?ZHx*fg95(Q|#+79kY-go#CY& z0{E@in3bYyFI@5$=(~LSb(()<5ylK8lW^+bix-z0rAPWW@pkE*rVxv)B3ZUh`nm?E zXgndt)8H`~>m6C7FO2-3trsNrCwLh;L0ULsGv=@lV4+W9Sy}8#rOq?;-kBF!#6cME z@Lv6GB&361XtFlJ4auP}F=QClBA1xIUU=Ni)QYJa2@pgQXzg*DZbC+pQAL1{9S)YF zOBWf?m)1E=uT0y`DKcu0_Ou4|;Wu^&4Kf32?WRq!uT6V_V2tOAw~rt{ZjsSTqOY|Z zC4-h-lUGbkT;V4|ol3cAs7 c_2j^9;0Af>M7?!fU^ke6-A{eDl110rDda~ga(iKkY&D#9Sl|*`ANt)(nQLEQ=w)6N94#m%+Mw2 z>ulh^b9CnEy*Yoc+=a-poODd4&}a*Y?fiFk%R_O#lGnOyfMw~WN+*!RmQp2 `hD=7f9F9TkwezvB5Hfa_&%*D}U7SN; z+WUk&xTU7L7zX16#Dy8qX`ZNXGA0OOHh66wz-N1M0wT#~1{@ztn^0W`UJYJ6AY57k zJFSBOfbF#U7eB@9oh9C=?KId@8XpDFl{%O8kXj|GG-rF_lGFCy76S!rSNr8)7L~o` zAp>@5yGowIov9q{PFfwu>~W%2S6S )v2okVdu4X@LgR$aokx`y%C^oN8SpQG1^NE~#@XbA330au>pM>5<-qw*Y4~p 5QFHyX9@?u-%OBv;cB6?3zY_3h7Hv!`N=&7 z?3nS@u8-m=4?c70(X$9sF$jaRRO6u-R`V7RuTOt7WDo!;K0;`6Lk-ILcalz$NKJCO z1B)Tm%M&~%Jp|U;>y&?do^nNKNs2JBO|d3~s+o>go)eG!6T~w0kM=bddd#h{m8j2} zu80EI0B2Lzr_Yyc#C %3yU`L`#XjL`>GR~{nX>LP`V;a9&=C&|C@J(Riy z66NgG#>_v*%Bm7jL>K6ky7% &m2`7`vWIFtrg z0wDFcs2&QwfsTc>;=}3K9KH?$)LVQsG?3+mL0_V1ouIP =;e+h(~{Pxbw8@L zba-0V%kUJDjvEcJhNw3~;;^Wkq-YK&my;skq)9j#3mVQ=Fj+~&Re{M{m7HEK%7dc) zl&du*);Y;Fxow5chj4t7?!RP&hM!U*NqMG8;S*BJ+*8Y`ssBW$y3z1cbWDp-`(Gvd zWdK5lq%%oDe c#&?FT%q<5_qC9qV}F#- -_03aVH_x0fV>RDg Y+Pp-6*R9Jjx1#fI#XbUIFksXF0phj|QUCw| literal 0 HcmV?d00001 diff --git a/admin/admin_options.gif b/admin/admin_options.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d084d543faa4bb93418fa06dc7f7145a7dc1907 GIT binary patch literal 3136 zcmV-G48QY7Nk%w1VUhqJ0QUd@=H}yleSM3IiDP48v$L_Zw6fUP)$Hu+K0ZF;;@{xl z+E!LoPEJiqN=nMg%IN6lh=_;I&de(-E62yi?Cj|2>Ef1_m3(}AxVX2Wp`dnlb>80D ztgNf*>g46+-hqLDwzjmdudbAolc}kx>+9yk#KWJTo|BW4uCA@QxwxI3n{sk-Y;0?p znVGx0x{ZyCbaZp->f)oLqUPq`Sy@<;l97dlgnxg2t*xz~pq`MBk62h&T3T86_xJhv z`P$mm^Yio1&(HGm^3u}K)6>)4-QCgA(b(A7*4Eb4)YA0y^w7}I($dlU`})(<(fa!O z)YQ}W_x9V{)%N!G`1trSF){Y`_3-fU(b3S`+t%yr>($lO`1toQFfjG?^wiYR)6>%Q z^z-)i^x)v$(9qA<*Vfh5)cN`M_xJVL+1J|I+3xP{-rn5&{QK O)#Bpd$jHa%=jF!6#n{-^+}zvX;N9Qf-1_?Y+}zrgm6g@i)8pgd z?d|Q|-Q3^b-{|P*;o;xe+1S_D*Xil$;^N`w=j7z%;p5}s+uPdX lq&+}zpQ z+t~T}`0wxU@bK=Gl$4c~l!=Ln+}zjR-rL~d;N|7x-QC;S+1cCM+wSh_*4EVi{{7wE z+SAj}-rn8X+S=mc;_mM4@9*yO^YYo**4Eb3($dn`*VNS1)UmOz>FMat&&_0HWAE?n z aQ*%KfPjDT@$kmR#HgsJ>FMO; Hwjd^)^@$v82*w@9y#9Ulk+S=CI z+Skp^%{VwX=;-0%;@iQ&z;ADF$jHTFVqv$pwR3ZF-rm~b;o;=u;NRcdh=_=ZiHKTS zTI}rS-{0Q#_4DcJ=HTGp^78TS?&;Ol(r9RB+S=IT A6OWV^e$(9q4@-Pz&c+s@9;$;rvw+}!5o;Ogq?=H}-8{r&Or@%8of{QUg; z`}_X>{{R2~A^8LV00000EC2ui0FnS7000R80RIUbNU)&6g9sBUT*$DY!-o(X`kR<9 zAHRMWGiuz(v7^V2AVZ2ANs^z*iWV=9JUP*yL4Ovf2+>Egrp=o;bL!m5v!~CWKy3n{ zq9kZdAU&S&%QtZ#Oe*?%@M}r6s@1DlvufSSwX4^wMW=kF=tGE*q*GnO>>=dI*tc-w z%ALDUi&(h)lw48bBdtGvZA+mXOt`S&!-x|rUd*`h;ZjO)O%d$4qTn8DlssXY@5z;2 zyZE)~*T$sj)2LIcUY)v)YmBZ +CZ*dnLbJPY7L_((mb&CjFiyf6{~z z9z0E=OK QSDBeE-8ppWtFTM|56-;#^9fJ>_*l=rz5Dm@ 7 Cr5Bc=}qZb!+L@|XGRb&!H6m+Ce1rBEnFhH$1EMP =?z`~DyRH&m zSP?}lTZ9n>8dm6$juz-D5e5)pC_(QUGB~r3y-~zbhZ|E|q!%6hp4){8XrK{=FJ0)t z#Q@Pnk%I`dctML5Rv6QTF}vQANf%9akx9lIci{^ix< Q;5Mpm}T_Q zNGGlI(o7#saJ~2ffwC7MTwsD50 ?Z3KQHX(V7}1;{#@i=! z!9)}wgW|=&>W1M(30;)`@U|Fn@7wm@abtmo+hSOO!O9$O(TuuA;2;uP;ksK zd3^E+B8DIm$tM^{kb)%83m^drBupa!@4heNjU)m906-&>FpxqX r_{=LBw zh(HA&*wBd+z~BVQNPsC?Fb!cqf(?8q#3L}_g$d5?3gJiq8|DCrQ!Eh n8ph#!3Q-QK@FX7 zggWe4L16S@4#n65IfgNdPC#P-edq%^Xs`oNs9_IVkcAx5K#5sMU>1Ierwt^~2S2cZ zo8BA%C` c@O_hzg!|feu}nyCf`2gt(k_7v=4}T7m@owM24Nl;&aj3z%;64u_`?|v0(v*l z(ObmB08Y4Y5FpG1CnUiMOnC5x$p8jdpkowcW3Lk4KmvKV;tTQ}0uv^zU |{Ip*~u=pv6T&NW-t5L$hNk&x6SQtd;8nW z&cX(oF#}>80TVN5Mm&%KZe(y`1Lf$zEmE-sTwDQ5`GCqH;xLL1FvA`I54gYwPVj;o z{NM;rxWX6C@CrDb7>dAz!z-|GW^{l8Z;(Y0>ahqQY^F0xaDyl6Fo{LP0Us#;Pr1rh z&hnPK{N*r@xy)xy^Elk29z>{y8y2x|na2SaNTA0OQZb23^q@F@p@I R8XZ*0;{}u6v#94wwfKj!* T~CV`8(jv9z?Z-rm{l?CXVvgg!n#;NaR;R#mF1 zspaL~PEJjhmX%6MN}-{k%F4>;=jYhi)#BpcnVFa?D=Wvx#*U7Sh=_;m?C9y~;(UC2 zc6N1vfq>lH*KTfYxVX2@&djW=t9^Za>gwd{>*mA5!Q >gwX==HHl@mswd@*4ERJk&kh4aILMaZ*OmMa&cH#S6W(G`T6 }4*w)t8)YQ`S^z_ow(fj-Q(9qEO`ug_v_SDqV z+uPOm_xAYs_|wzTF)=al@bJ;m(A(SA>+9?G_Vq9@F!lBH)z#Jb`1kbm^WNUv)6>$_ z)Y10#^z-xb`T6(R+1KFU-qqF9;o;u!@bA#j&;0!R+uPaq_x0D;)z#J1`1tnM*VgXt z?%LYf;^N@n-`w8b-t6q`=jY|z+}p^=$CZ_p*4EYf`uW}6+~DBd=;-L%+uGOH*W~2k z+S=IS;^E`t;OXh<+}zsV-{0-+?Ua<1@$vBI=j4lviQV1W<>lqr*w*my?v<64;Nal- z`S{%2*@=mX@9*#7;os=!<>TYw+S=Nbl#|=r+tt<5+1c3L-P_>c-`m^R?(XW-)6mw| z)ZX6R+S=Cs{{8Om?c(C% 0#bRP%;^N!T(9Wo+r`_Gy-rn2f 9w`9 ;hmkEe}8`J>gk`Ko$>MR zySurJjEdXa*U-?->FMR8qoVco^UluB$;rvw+}!5o;Ogq?=H}-8{r&Or@%8of{QUg; z`}_X>{{R2~A^8LV00000EC2ui0FnS7000R80RIUbNU)&6g9sBUT*$DY!-o(X`kR<9 zAHRMWGiuz(v7^V2AVZ2ANs^z*iWV=9JUP*yL4OvV0MSRYrp=o;bL!m5v!~CWKyChz zk|b!&A3d7z%QtZ#Oey+$@M}r6s@1DlvufSSwX4^wMV)-5$O8zFq*GnO>;a_7*tc-w z%ALCpi&(h)l2l2;BdtGvZBwBfOt`S&!-x|rUd*`h;Z#XjIT7r*qTn8Kk~CqOuSu0% zyZEi?x5lLD)2LIcUY&Z4YmBZ {IIxEUxr{)C1v*gCz#9lE z$e@FY=x{&-itwP|dQV&ejssL2P=FL&^q}L8Jof10k3a^wqZCr`(1#a-Y@r^JJ$8{} zk3?3|hZKj9gNYOt?Ndc1WF*4^22|kSBpDk}5x@oq*yv;cR6Ott77tLt4jC#GFbNea zFeqjhWKy9+01nXTKoNUbK<6ZtaJc~nJviaSK9EK#>7 !_nnk8g^iW9`fKZ}H5Bc=}qgNMjMBzjhR4fuj6mYOW#SLTx5J0UrBtQfU_e22z z6#&2i2LN}HK?W6*?AmLaWK2TF18HsmfEfo+v4I)1im=ZXN&KMhy6m>=?z`~DyKWL& zWD&&}TzC;h7U-&*1ikvKK<~fmdXdCFyGCHg9Zp=N7aVPzx`h^ i7EWrhh{YH;t7{ZW9FXzKTIBr8J$?{u*3Uo(E%eYt7Y+0e zUet^45Bz%Z!x%^>!3YH$JTOKQPDA}ey=_D=1Qxr=T16CMpzFmnD2Smp3R)-;1;?Rm z;dH@Um^_TyVz3=W8))PI&9)V7q%B4kAe<~h8|jGPfEEed;`B^LMGh1YS7!kP7fgFG z#u$|UFm(rubnpVyoOA94$@qL7wq9*`QNS$P np zAXLDDCdfNdK?x-s;|T4xFXM|Q+i=58BbqS40v_Ds;fwOy@Ipr-b_`+u`RJ#w{`%~< zZ@wL(@PY>;TrkoIFVKi0N+F`uz`+Y(kO2o8K!-vkgAx&7M7>f6HiuO~9= Y z8PLHHh8RH(x}k|+1j7(!_yQ;95QtNtVH_10#~=ogjZ0LZ8{AOG4lbBM8*G9OGeCnG z&@cfE3;+!}%mf|(27v(vn86Q$fQ1p3$iyZ(@rh83q7;`1i#(uV7W7NQATn`^JbWP# z7dQq59x(x8px_%Q_`( rK8MzP5+NFW6^NC6@O5r{erVjXdG zAUyuShGIm55WsK+Hlz`NKl}j=GtfaO<`4-k)PfIXu!Jir;EFo9(*PCtLmj@5&20uC z6puhe0_MQ~&pAw^3~}HCAL0OtQCMLbpeSc8iono@I`p9sji^K?%Fs6y;}K{`0~aJw zM>c@r7dB{s8wgQ`lFs21HNe3I&OnGz7=jeh6x%cEPzFAn!3`mB!6;l%4K`Tf5rM)* z9NqwiR}{ewWr#-wbYY36hNA+AV8bYIp;H&UgBT@EKpeIz3|YM42@HLLDdNBZVYuN8 zMR)}f*2>nly7jGajjLSO3I;x~;SU;B1{xkg2nu|l0Z530DW33zGYm8c7x=&nK*0ty zz*Kb(d`2(afCMlg!4x7mKr195fmU?jvwJv$60E=kA|PQL9Oys;Ob`hXw4(zLaD!|! z+X^@Tyukztc!2`Wa0YaMK?!VC0vI~ci8FwK2&5H)a+k~8<~sMe(2cHgt?-00)FH2R zV1pa1ae- %;64u_`@I$v4}Y= z1TaK`02;MLFHm9JDU3G4LcoO(Bpd`KOo6=an1DFE)<9XMp#-roMi}H tl2hfhTv!_jMXDfTzrc~q0Q`OZ~NQe z4!5|+P3~x4fdJHq0Wypri5O7h8mK5YDm*}d6Oh0boZtd0s(__@Km`yHAO#7SVUL0v z{NM;rxWX6C@P<45;Si6w1}2USK}cfa8h|)6NRWXv)ItdLIK&S&)0rgPff9EAfW#pp zfRC2D{N*r@xy)xy^P1cI<~YxJ1nyCfB1Gd3hXDA^BfyFy(1Qt_fCMIbP@KO=0SNb4 z1uS0C0ti5W9$3%1*0;{}u6zCKU=O?4#~yYF%%ccK7(ycIA&4T( )Mf$-OMMPi~i5NmX>fwpO8~*T!PrTw6&-lhW{_&7!eBl$Z3P=DV=#T(B;T2!_ z!P_AkkibF}@}8D|z@#5i*ar|WaR)5i MV h=uf};*U$d;uZA$~uSiQGLjU^P|Ni*Tzd`~606Pt}WiS8$ literal 0 HcmV?d00001 diff --git a/admin/adminpage.css b/admin/adminpage.css new file mode 100644 index 0000000..6e3a3c6 --- /dev/null +++ b/admin/adminpage.css @@ -0,0 +1,10 @@ +a:active { font-family: Verdana; font-size: 8pt; color: #800000; text-decoration: none} +a:hover { font-family: Verdana; font-size: 8pt; color: #800000; text-decoration: + overline underline } +a:link { font-family: Verdana; font-size: 8pt; text-decoration: none; color: #800000 } +a:visited { font-family: Verdana; font-size: 8pt; text-decoration: none; color: #800000 } +body { font-family: Verdana; font-size: 8pt } +html { font-family: Verdana; font-size: 8pt } +table { font-family: Verdana; font-size: 8pt } +option { font-family: Verdana; font-size: 8pt } +input { font-family: Verdana; font-size: 8pt } \ No newline at end of file diff --git a/admin/adminpage.php b/admin/adminpage.php new file mode 100644 index 0000000..9957b9d --- /dev/null +++ b/admin/adminpage.php @@ -0,0 +1,993 @@ + + + + + + + + + + +
+ + +
diff --git a/admin/mail_all.htm b/admin/mail_all.htm new file mode 100644 index 0000000..9e48cfb --- /dev/null +++ b/admin/mail_all.htm @@ -0,0 +1,24 @@ + + + + + ++ ++ + + +Panel de control +Ver el registro de accesos ++ +Sesión iniciada como +Salir ++ ++ + ++ ++ + ++
++ + ++ + + + ++
+ + ++ ++ + + + + + + + + + + ++ ++ + + ++ + + + + ++ + + + + + + + + + + + + + + +if (($_POST[alter1] == "modify") || ($_POST[username] != "")) +{ +?> ++ + + firstname; + $m_last = $sql -> lastname; + $g_1 = $sql -> group1; + $g_2 = $sql -> group2; + $g_3 = $sql -> group3; + $chng = $sql -> pchange; + $m_email = $sql -> email; + $direct = $sql -> redirect; + +} +?> ++ + + + + + + + ++ + + + + + +} +?> + + + ++ + + ++ ++ + + + + + + + + + + + + + + ++ ++ + + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +if ($user_det == "") +{ + +if (!isset($_GET['max_results'])) +{ + $max_results = 5; +}else{ + $max_results = $_GET['max_results']; +} + +if(!isset($_GET['page'])){ + $page = 1; +} else { + $page = $_GET['page']; +} + +if (isset($_GET['search'])) +{ + $s_string = $_GET['search']; + $explodeit = explode(" ", "$s_string"); + $c = count($explodeit); + if ($c > 1) + { + for ($i=0; $i<$c; $i++) + { + $search = $explodeit[$i]."+"; + } + }else{ + $search = $s_string; + } +} + + + + +echo "Show Number of Results Per Page: 5"; +echo " 10 +
"; + +// Figure out the limit for the query based +// on the current page number. +$from = (($page * $max_results) - $max_results); + +// Perform MySQL query on only the current page number's results +if (!isset($_GET['search'])) +{ + $set_lim = "SELECT * FROM $table_name ORDER BY username LIMIT $from, $max_results"; +}else{ + $search = $_GET['search']; + $set_lim = "SELECT * FROM $table_name WHERE username LIKE '%$search%' || firstname LIKE '%$search%' + || lastname LIKE '%$search%' || group1 LIKE '%$search%' || group2 LIKE '%$search%' || group3 LIKE '%$search%' + || email LIKE '%$search%' ORDER BY username LIMIT $from, $max_results"; +} +$set_res = @mysql_query($set_lim,$connection) or die(mysql_error()); + +while ($set_lim = mysql_fetch_object($set_res)) +{ + +$fname = $set_lim -> firstname; +$lname = $set_lim -> lastname; +$uname = $set_lim -> username; +$p_change = $set_lim -> pchange; +$verif_d = $set_lim -> verified; +$last = $set_lim -> last_login; +$re_direct = $set_lim -> redirect; +$groupA = $set_lim -> group1; +$groupB = $set_lim -> group2; +$groupC = $set_lim -> group3; +$e_mail = $set_lim -> email; + + +if ($p_change == 1) +{$p_change = "Yes";}else{$p_change = "No";} + +if ($verif_d == "0") +{$verif_d= "No";}else{$verif_d= "Yes";} + + +echo ""; +echo "
"; + + +} + + +// Figure out the total number of results in DB: +if (!isset($_GET['search'])) +{ + $total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM authorize"),0); +}else{ +$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM authorize + WHERE username LIKE '%$search%' || firstname LIKE '%$search%' + || lastname LIKE '%$search%' || group1 LIKE '%$search%' || group2 LIKE '%$search%' || group3 LIKE '%$search%' + || email LIKE '%$search%'"),0); +} + +// Figure out the total number of pages. Always round up using ceil() +$total_pages = ceil($total_results / $max_results); + +// Build Page Number Hyperlinks +echo ""; +echo " "; + +echo "$uname "; +echo "E-Mail: "; +echo "$e_mail "; + +echo ""; +echo " "; + +echo ""; +echo " Name: "; +echo "$fname $lname "; +echo ""; +echo " "; + +echo ""; +echo " Last Login: "; +echo "$last "; +echo "Select a Page "; +}else{ +echo "Details for $user_det
"; + +// Build Previous Link +if($page > 1){ + $prev = ($page - 1); + echo "<< "; +} + +for($i = 1; $i <= $total_pages; $i++){ + if(($page) == $i){ + echo "$i "; + } else { + echo "$i "; + } +} + +// Build Next Link +if($page < $total_pages){ + $next = ($page + 1); + echo " >>"; +} +echo "
"; + +$dsql = "SELECT * FROM $table_name WHERE username = '$user_det'"; +$dresults = @mysql_query($dsql,$connection) or die(mysql_error()); +while ($dsql = mysql_fetch_object($dresults)) +{ +$fname = $dsql -> firstname; +$lname = $dsql -> lastname; +$uname = $dsql -> username; +$p_change = $dsql -> pchange; +$verif_d = $dsql -> verified; +$last = $dsql -> last_login; +$re_direct = $dsql -> redirect; +$groupA = $dsql -> group1; +$groupB = $dsql -> group2; +$groupC = $dsql -> group3; +$e_mail = $dsql -> email; + +if ($p_change == "0") +{ +$p_change = "No"; +}else{ +$p_change = "Yes"; +} + +if ($verif_d == "0") +{ +$verif_d = "No"; +}else{ +$verif_d = "Yes"; +} +?> ++
+ ++ +echo $uname; ?> ++ + +E-Mail: +echo $e_mail; ?> ++ +Real Name: +echo "$fname $lname "; ?> ++ +Last Login: +echo $last; ?> ++ +Password Change Required: +echo $p_change; ?> ++ +Verified Through E-Mail: +echo $verif_d; ?> ++ +Group Memberships: +echo $groupA; ?> ++ ++ echo $groupB; ?> ++ ++ echo $groupC; ?> ++ +Redirect to: +echo $re_direct; ?> +">Back to List + + +}} +if ($search != "") +{ + if ($ret_max) + { $page=$ret_page; $max_results=$ret_max; } + echo "Exit Search"; +}else{ +echo "
"; +} +?> ++ + +E-Mail Subject + + + + + + + + + + diff --git a/admin/mail_all.php b/admin/mail_all.php new file mode 100644 index 0000000..0093c2a --- /dev/null +++ b/admin/mail_all.php @@ -0,0 +1,40 @@ + + +//prevents caching +header("Expires: Sat, 01 Jan 2000 00:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: post-check=0, pre-check=0",false); +session_cache_limiter(); +session_start(); + +//require config and functions files +require('../config.php'); +require('../functions.php'); + +//check for administrative rights +if (allow_access(Administrators) != "yes") +{ + include ('../no_access.html'); + exit; +} + +//make the connection to the database +$connection = @mysql_connect($server, $dbusername, $dbpassword) or die(mysql_error()); +$db = @mysql_select_db($db_name,$connection)or die(mysql_error()); + +//make the dbase query selecting only email address +$sql ="SELECT * FROM $table_name"; +$result = @mysql_query($sql,$connection) or die(mysql_error()); + +echo "Your Message Has Been Sent to the Following Users:
"; + while ($sql = mysql_fetch_object($result)) + { + $e_addr = $sql -> email; + $e_user = $sql -> username; + $subject = $_POST[e_subject]; + $mailheaders = $_POST[e_message]; + mail($e_addr, $subject, $mailheaders, "From: No Reply <$adminemail>\n"); + echo "$e_user
"; + } + +?> \ No newline at end of file diff --git a/admin/mod_user.php b/admin/mod_user.php new file mode 100644 index 0000000..921b2c9 --- /dev/null +++ b/admin/mod_user.php @@ -0,0 +1,264 @@ + firstname; + $last = $sql -> lastname; + $uname = $sql -> username; + $pass = $sql -> password; + $gr1 = $sql -> group1; + $gr2 = $sql -> group2; + $gr3 = $sql -> group3; + $change = $sql -> pchange; + $e_mail = $sql -> email; + $re_direct = $sql -> redirect; + $ver_d = $sql -> verified; + $last_log = $sql -> last_login; + $del_dat = last_login(); + } + + $trash_user = "INSERT INTO trash (firstname, lastname, username, password, group1, group2, group3, + pchange, email, redirect, verified, last_login, del_date)VALUES + ('$first', '$last', '$uname', '$pass', '$gr1', '$gr2', '$gr3', + '$change', '$e_mail', '$re_direct', '$ver_d', '$last_log', '$del_dat')"; + + $del = "DELETE FROM $table_name WHERE username = '$_POST[del_user]'"; + + $result = @mysql_query($del,$connection) or die(mysql_error()); + $result1 = @mysql_query($trash_user,$connection) or die(mysql_error()); + + $msg .= "User $_POST[del_user] has been trashed from the database.
"; + }else{ + $msg .= "User $_POST[del_user] could not be located in the database.
"; + } + + $del_banned = "DELETE FROM banned WHERE no_access = '$_POST[del_user]'"; + $result = @mysql_query($del_banned,$connection) or die(mysql_error()); + + +} + +if (($_POST[username] != "") && ($_POST[mod_pass] == "Same as Old")) +{ +$sql = "SELECT * FROM $table_name WHERE username = '$_POST[username]'"; +$result = @mysql_query($sql,$connection) or die(mysql_error()); +while ($sql = mysql_fetch_object($result)) + { + $pass = $sql -> password; + $last = $sql -> last_login; + } + $sql = "DELETE FROM $table_name WHERE username = '$_POST[username]'"; + $result = @mysql_query($sql,$connection) or die(mysql_error()); + $sql = "INSERT INTO $table_name (firstname, lastname, username, password, group1, group2, group3, + pchange, email, redirect, verified, last_login) VALUES ('$_POST[mod_first]', '$_POST[mod_last]', + '$_POST[username]', '$pass', '$_POST[mod_group1]', '$_POST[mod_group2]', + '$_POST[mod_group3]', '$_POST[mod_chng]', '$_POST[mod_email]', '$_POST[mod_redirect]', + '1', '$last')"; + $result = @mysql_query($sql,$connection) or die(mysql_error()); + $msg .= "The information for $_POST[username] has been changed updated.
"; +} + +if (($_POST[username] != "") && ($_POST[mod_pass] != "Same as Old")) +{ +$sql = "SELECT * FROM $table_name WHERE username = '$_POST[username]'"; +$result = @mysql_query($sql,$connection) or die(mysql_error()); +while ($sql = mysql_fetch_object($result)) + { + $pass = $sql -> password; + $last = $sql -> last_login; + } + $sql = "DELETE FROM $table_name WHERE username = '$_POST[username]'"; + $result = @mysql_query($sql,$connection) or die(mysql_error()); + $sql = "INSERT INTO $table_name (firstname, lastname, username, password, group1, group2, group3, + pchange, email, redirect, verified, last_login) VALUES ('$_POST[mod_first]', '$_POST[mod_last]', + '$_POST[username]', password('$_POST[mod_pass]'), '$_POST[mod_group1]', '$_POST[mod_group2]', + '$_POST[mod_group3]', '$_POST[mod_chng]', '$_POST[mod_email]', '$_POST[mod_redirect]', + '1', '$last')"; + $result = @mysql_query($sql,$connection) or die(mysql_error()); + $msg .= "The information for $_POST[username] has been changed updated.
"; +} + +if ($_POST[ban_user] != "") +{ + + $ban = "INSERT INTO banned (no_access, type) VALUES ('$_POST[ban_user]', 'user')"; + $result = @mysql_query($ban,$connection) or die(mysql_error()); + $msg .= "User $_POST[ban_user] has been banned.
"; + +} + +$ip_addr = "$_POST[oct1].$_POST[oct2].$_POST[oct3].$_POST[oct4]"; + +if ($ip_addr != "...") +{ + $ban_ip = "INSERT INTO banned (no_access, type) VALUES ('$ip_addr', 'ip')"; + $result = @mysql_query($ban_ip,$connection) or die(mysql_error()); + $msg .= "IP Address $ip_addr has been banned.
"; +} + +if ($_POST[lift_user_ban] != "") +{ + + $lift_user = "DELETE FROM banned (no_access, type) WHERE no_access = '$_POST[lift_user_ban]'"; + $result = @mysql_query($lift_user,$connection) or die(mysql_error()); + $msg .= "The Ban for user $_POST[lift_user_ban] has been lifted.
"; + +} + +if ($_POST[lift_ip_ban] != "") +{ + + $lift_ip = "DELETE FROM banned (no_access, type) WHERE no_access = '$_POST[lift_ip_ban]'"; + $result = @mysql_query($lift_ip,$connection) or die(mysql_error()); + $msg .= "The Ban for IP Address $_POST[lift_ip_ban] has been lifted.
"; + +} + +if ($_POST[restore] != "") +{ + $ruser = "SELECT * FROM trash WHERE username = '$_POST[restore]'"; + + $result0 = @mysql_query($ruser, $connection) or die(mysql_error()); + + //get the number of rows in the result set + $num = mysql_num_rows($result0); + + //set session variables if there is a match + if ($num != 0) + { + while ($ruser = mysql_fetch_object($result0)) + { + $rfirst = $ruser -> firstname; + $rlast = $ruser -> lastname; + $runame = $ruser -> username; + $rpass = $ruser -> password; + $rgr1 = $ruser -> group1; + $rgr2 = $ruser -> group2; + $rgr3 = $ruser -> group3; + $rchange = $ruser -> pchange; + $re_mail = $ruser -> email; + $rre_direct = $ruser -> redirect; + $rver_d = $ruser -> verified; + $rlast_log = $ruser -> last_login; + } + + $r_user = "INSERT INTO $table_name (firstname, lastname, username, password, group1, group2, group3, + pchange, email, redirect, verified, last_login) VALUES + ('$rfirst', '$rlast', '$runame', '$rpass', '$rgr1', '$rgr2', '$rgr3', + '$rchange', '$re_mail', '$rre_direct', '$rver_d', '$rlast_log')"; + + $del = "DELETE FROM trash WHERE username = '$_POST[restore]'"; + + $result = @mysql_query($del,$connection) or die(mysql_error()); + $result1 = @mysql_query($r_user,$connection) or die(mysql_error()); + + $msg .= "User $_POST[restore] has been restored.
"; + }else{ + $msg .= "User $_POST[restore] could not be located in the database.
"; + } +} + +if ($_POST[empt_trash] == "yes") +{ + + $empty = "DELETE FROM trash"; + $gone = @mysql_query($empty, $connection) or die(mysql_error()); + + $msg .= "The trash has been emptied.
"; +} + +if ($_POST[amt_time] != "" && $_POST[incr_time] != "") +{ + $msg .= "The following accounts were inactive for $amt_time $incr_time or more and have been moved to the trash.
"; + $killtime = "NOW() - INTERVAL $_POST[amt_time] $_POST[incr_time]"; + $xfer = "SELECT * FROM $table_name WHERE last_login < $killtime"; + $resultp1 = @mysql_query($xfer, $connection) or die(mysql_error()); + while ($xfer = mysql_fetch_object($resultp1)) + { + $pfirst = $xfer -> firstname; + $plast = $xfer -> lastname; + $puname = $xfer -> username; + $ppass = $xfer -> password; + $pgr1 = $xfer -> group1; + $pgr2 = $xfer -> group2; + $pgr3 = $xfer -> group3; + $ppchange = $xfer -> pchange; + $pe_mail = $xfer -> email; + $pre_direct = $xfer -> redirect; + $pver_d = $xfer -> verified; + $plast_log = $xfer -> last_login; + $pdel_date = last_login(); + + $msg .= "$puname
"; + $xfer2 = "INSERT INTO trash (firstname, lastname, username, password, group1, group2, group3, + pchange, email, redirect, verified, last_login, del_date) VALUES ('$pfirst', ' $plast', '$puname', + '$ppass', '$pgr1', '$pgr2', '$pgr3', '$ppchange', '$pe_mail', '$pre_direct', '$pver_d', '$plast_log', '$pdel_date')"; + $resultp2 = @mysql_query($xfer2, $connection) or die(mysql_error()); + } + $purge = "DELETE FROM $table_name WHERE last_login < $killtime"; + $resultp3 = @mysql_query($purge, $connection) or die(mysql_error()); + +} + + +echo ""; + +echo $msg; + +if ($_POST[username] == $_SESSION[user_name]) +{ +session_destroy(); +echo ""; +echo ""; +echo ""; +echo "New Page 2 "; +echo ""; +exit; +} +?> + + + + + +Modify User + + + + + + + + + diff --git a/banned.html b/banned.html new file mode 100644 index 0000000..62bd1de --- /dev/null +++ b/banned.html @@ -0,0 +1,15 @@ + + + + + +Unauthorized + + + + +YOU'VE BEEN BANNED
+ + + + diff --git a/check_login.php b/check_login.php new file mode 100644 index 0000000..49f3464 --- /dev/null +++ b/check_login.php @@ -0,0 +1,23 @@ + + +session_start(); + +//check to see if the user already has an open session +if (($_SESSION[user_name] != "") && ($_SESSION[password] != "")) +{ + header("Location:$_SESSION[redirect]"); + exit; +} + +//check to see if cookies have been set previously +if(($lr_user != "") && ($lr_pass != "")) +{ + header("Location:redirect.php"); + exit; +} + +//if neither is true, redirect to login + header("Location:login.html"); + + +?> diff --git a/config.php b/config.php new file mode 100644 index 0000000..2180e97 --- /dev/null +++ b/config.php @@ -0,0 +1,46 @@ + + +//set up the names of the database and table +$db_name ="dqxjaadh_factoriaverde"; +$table_name ="authorize"; + +//connect to the server and select the database +$server = "localhost"; +$dbusername = "dqxjaadh_factori"; +$dbpassword = "q3gm78v69f"; + +//domain information +$domain = ".lafactoriaverde.es"; + +//Change to "0" to turn off the login log +$log_login = "1"; + +//base_dir is the location of the files, ie http://www.yourdomain/login +$base_dir = "http://www.rodax-software.net/lafactoriaverde.es/"; + +//length of time the cookie is good for - 7 is the days and 24 is the hours +//if you would like the time to be short, say 1 hour, change to 60*60*1 +$duration = time()+(60*60*24*30); + +//the site administrator\'s email address +$adminemail = "info@rodax-software.com"; + +//sets the time to EST +$zone=3600*+1; + +//do you want the verify the new user through email if the user registers themselves? +//yes = "0" : no = "1" +$verify = "0"; + +//default redirect, this is the URL that all self-registered users will be redirected to +$default_url = "http://www.rodax-software.net/lafactoriaverde.es/"; + +//minimum and maximum password lengths +$min_pass = 4; +$max_pass = 8; + + +$num_groups = 0+2; +$group_array = array("Usuarios","Administradores"); + +?> \ No newline at end of file diff --git a/email_change.html b/email_change.html new file mode 100644 index 0000000..415b573 --- /dev/null +++ b/email_change.html @@ -0,0 +1,34 @@ + + + + +Chane E-Mail Address + + + + + + + + + + diff --git a/email_change.php b/email_change.php new file mode 100644 index 0000000..6a6171f --- /dev/null +++ b/email_change.php @@ -0,0 +1,38 @@ + diff --git a/emailpass.html b/emailpass.html new file mode 100644 index 0000000..2b72a6c --- /dev/null +++ b/emailpass.html @@ -0,0 +1,17 @@ + + +Username and Password Request + + +Request Your Username & Password
+ + + \ No newline at end of file diff --git a/emailpass.php b/emailpass.php new file mode 100644 index 0000000..ad5af9e --- /dev/null +++ b/emailpass.php @@ -0,0 +1,83 @@ + + +//prevents caching +header("Expires: Sat, 01 Jan 2000 00:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); +header("Cache-Control: post-check=0, pre-check=0",false); +session_cache_limiter(); + +session_start(); + +//require the config file +require ("config.php"); + +//make the connection to the database +$connection = @mysql_connect($server, $dbusername, $dbpassword) or die(mysql_error()); +$db = @mysql_select_db($db_name,$connection)or die(mysql_error()); + +//build and issue the query +$sql ="SELECT * FROM $table_name WHERE email = '$_POST[email]'"; +$result = @mysql_query($sql,$connection) or die(mysql_error()); + +//get the number of rows in the result set +$num = mysql_num_rows($result); + +//If match was found, get username and email from database +if ($num != 0) +{ + while ($sql = mysql_fetch_object($result)) + { + $email = $sql -> email; + $uname = $sql -> username; + } + +//Update database with new password + $newpass = rand(10000000,99999999); + $chng = "UPDATE $table_name SET + password = password('$newpass'), pchange = '1' + WHERE email = '$email'"; + + $result2 = @mysql_query($chng,$connection) or die(mysql_error()); + +//create message to user + $msg = "Your username & temporary password has been emailed to you.
"; + $msg .= "You must change this password immediately after your next login.
"; + $msg .= ""; + $msg .= ""; + +//create mail message + $mailheaders = "From: www$domain\n"; + $mailheaders .= "Your username is $uname.\n"; + $mailheaders .= "Your password is $newpass.\n"; + $mailheaders .= "$base_dir/login.html"; +} +else +{ + +//If no email was found in the database send a notification to the admin + $email = $adminemail; + $msg = "Your email address could not be located
"; + $msg .="The Website Administrator has been emailed, you should contacted by them shortly.
"; + + $mailheaders = "From: www$domain\n"; + $mailheaders .= "A user with the email address of $_POST[email] has requested a username and password reminder.\n"; + $mailheaders .= "$_POST[email] could not be located in the database.\n"; +} + +//Email the request +$to = "$email"; +$subject = "Your Username & Password for www$domain"; + +mail($to, $subject, $mailheaders, "From: No Reply <$adminemail>\n"); + +?> + + +Username and Password Request + + + + echo "$msg"; ?> + + + diff --git a/errorlogin.html b/errorlogin.html new file mode 100644 index 0000000..846fb44 --- /dev/null +++ b/errorlogin.html @@ -0,0 +1,25 @@ + + +Error Login + + +There was an error logging you +in, please try again...
+ ++Click here if would like your username and password to be +e-mailed to the address we have on file.
+ + \ No newline at end of file diff --git a/favorites/edit_links.php b/favorites/edit_links.php new file mode 100644 index 0000000..30477c6 --- /dev/null +++ b/favorites/edit_links.php @@ -0,0 +1,86 @@ + + + + + + +Edit Favorites + + + + + + + + + \ No newline at end of file diff --git a/favorites/edit_links_2.php b/favorites/edit_links_2.php new file mode 100644 index 0000000..2104618 --- /dev/null +++ b/favorites/edit_links_2.php @@ -0,0 +1,49 @@ + \ No newline at end of file diff --git a/favorites/index.htm b/favorites/index.htm new file mode 100644 index 0000000..c9fb6a4 --- /dev/null +++ b/favorites/index.htm @@ -0,0 +1,16 @@ + + + + +New Page 1 + + + + + + + + + diff --git a/favorites/links.php b/favorites/links.php new file mode 100644 index 0000000..7470c9a --- /dev/null +++ b/favorites/links.php @@ -0,0 +1,27 @@ +Add/Change Favorites"; + +//make the connection to the database +$connection = @mysql_connect($server, $dbusername, $dbpassword) or die(mysql_error()); +$db = @mysql_select_db($db_name,$connection)or die(mysql_error()); + +//make query to database +$sql ="SELECT * FROM favorites WHERE username= '$_SESSION[user_name]'"; +$result = @mysql_query($sql,$connection) or die(mysql_error()); + +while ($sql = mysql_fetch_object($result)) +{ + $_link = $sql -> link; + $_nickname = $sql -> nickname; + echo "$_nickname
"; +} + +?> diff --git a/favorites/make_favorites.php b/favorites/make_favorites.php new file mode 100644 index 0000000..4b03caa --- /dev/null +++ b/favorites/make_favorites.php @@ -0,0 +1,37 @@ +Your Favorites table has been created.
"; +} + +?> + + + \ No newline at end of file diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..a0b936b --- /dev/null +++ b/functions.php @@ -0,0 +1,80 @@ + firstname; + $_SESSION[last_name] = $sql -> lastname; + $_SESSION[user_name] = $sql -> username; + $_SESSION[password] = $sql -> password; + $_SESSION[group1] = $sql -> group1; + $_SESSION[group2] = $sql -> group2; + $_SESSION[group3] = $sql -> group3; + $_SESSION[pchange] = $sql -> pchange; + $_SESSION[email] = $sql -> email; + $_SESSION[redirect] = $sql -> redirect; + $_SESSION[verified] = $sql -> verified; + $_SESSION[last_login] = $sql -> last_login; + } + }else{ + $_SESSION[redirect] = "$base_dir/errorlogin.html"; + } +} + +//functions that will determine if access is allowed +function allow_access($group) +{ + if ($_SESSION[group1] == "$group" || $_SESSION[group2] == "$group" || $_SESSION[group3] == "$group" || + $_SESSION[group1] == "Administrators" || $_SESSION[group2] == "Administrators" || $_SESSION[group3] == "Administrators" || + $_SESSION[user_name] == "$group") + { + $allowed = "yes"; + }else{ + $allowed = "no"; + } + return $allowed; +} + +//function to check the length of the requested password +function password_check($min_pass, $max_pass, $pass) +{ + + $valid = "yes"; + if ($min_pass > strlen($pass) || $max_pass < strlen($pass)) + { + $valid = "no"; + } + + return $valid; +} + +?> \ No newline at end of file diff --git a/images/lr_13_header_01.gif b/images/lr_13_header_01.gif new file mode 100644 index 0000000000000000000000000000000000000000..67ed83e2b9d6a9218ac0d18d251150749641afc2 GIT binary patch literal 12490 zcmWlfX*ARi7sr3InqinplHDM(C%Yu0D0@RlwuUGQO}6ZfvCA?_c2bCJjbtZ7wk#$4 zn#sP0%FaCh=f1e-p8Mv$x!-%v_jB$Iz3ZxK_Rl~>U>5+oh6k?R_7&A|tncck^?tjg zZJM56VBr$&9G2w~m&b9*NlM$r%=6{78#g$mO(ZTV{ha3-+VqII3(?b_^y!T}d_46`v`VZrhi+e@HrE@AiD;j!XRqQw< z45O0LEPayi`X zps?|0etdTP+xXCfV2X}Y3{*rfzlL^rxNYT;_Bc9cWO}S^U~T_kJu E05Tu!pha{x%YJ~j^2sJ_F*R{N8i7H=j1=Pxc +{n_Hy|N?nP`_z06U z_m56|k(J{YpPgJ>(?F|@&Mw{CUzuK*+T2=RS)Yx~cz1k!;2ZnFIq K>SG|K;#pGO)cn-X=^;6_tE5*{Y182Fv<6~Ocy~`nU`WuHFD;J(UKKZd8Jn4` z_*7Q(p*SSDHtc1wtxry6+e}tY_S^ER= =H ol1O>sA))8Utc3WOU)|(p{k~W zy=W8^o97#zY-r<|{=QLKNrOsj^ND!j8!-f6xnuHl}=Qn9>j4&ip(UGAP|X(?%Q_~3?Ut(Q;G|mlV74v6`g7@ z;8u5~h+JzAF!(qx0EXO&U#m8YyBK|~AZWx_VGjOi7{&bpZ5{Vai8}vBt6teLq>Ea5 z{bR%{7gt^X22LZJRp}PUQ=RKUW#8mnXTrv|bQ%Se0~q?t?_?j=@lQtx-DDKF-x%~X zyw+2ac$u&2*UV;y`}mOb_W2OXYRK4kmoXuqD~O7Y3oRsjes;!RQtzq5(m&n7tG(g9 zJclxW3`BWRp{)V|Yt_@IM%RQX9;4KLh`4WC!CQQqIM }L&Er`uI+tDa z2-s>3jg$Yp9 sA}rgOaUw-j@p*pUY~%lbYQQ6(j)scNX3yobqDgt2hf4aQtTuD0C&B z!TkBAaP6IE4~rQoj=VeBfCE_zhZyyk60v`Jx-RFAX_O(F#~$%LDE&8V^K|{+2q98t zXVfvpO}T^7a5_y&)|p;4bhaiY4k=b+8!{mVq+|fzvkcZWpR&HVYRnq;R1Mr~H%mo% zt!Acb0vxqArx7IbQ(pP%<>2c1jD=z48CmDL?y 8f~6^L7ztK#QpX@gd~zK(WJh zB3S%G*Tkq #;&;lf9 n zJ#*lrc<`mUFMxI-4Q_5vMq{;56q9fWLs^%lScxvc>xJ9%(M7ttzP-}SC44IVY||Tw z%^1s`x180TZL NwYIzoN$GOFz)-wi^GK>_CE}s6Uj2vgs*C4ZsEd&2FJ>D)`Ih zbE)7vJ?h{XcA?8!0LQ5qE8;KcryMNvE9Xcn9GLUWo+xj6O_MJB%d~5_s}gL$HI0)O zoD>r)xzuISg2^Vhx~JgE?pMb5;DbM}0oFnslYSqWC+T%fl%rgrUxdOZ2=6s^GUOXh zZ|@1fEx#0kmZU^PWYgmv2yIMePsj>+LMQ@-42bJ#xoU5rKqS~%Fa`eP`XkOhxd+#b zFo6ANF4uyo0I$BjUMDq_og=>xVN3sF$M^R=KCZ~DKz}G$c&5m*x5%QpYpBfsUoqiK zsGLM|pMu;hE0N=>-goTPtLXq|Kn;l>OaR}Po6Q}qDIzb7;crKE=UR9!TYVP=>a($2 zg3j&cB7Wd{W;)PPs3Y1!B+s)Bl{K;$tFINAnJboa5?D)}Zy1dCr|*0!G%9^~yWUE= zW~Y)GSL*t}U}BsxzEf4U-pn-q^cyoDz)|81*9a{)0+B%6R0Iha*ZSdHTLl*cL`_!5 z<1bx*l*%e9>p9jnXj@~!Er@70{sOSv#qR`*tS@nse}vrcYleWAq;IW @s68;PA3h5zIjLR$SoS&xA+VB ze5wVnVPm2nNH{&s`uoC!2^k1e2<7ksU4+p?1qNr>3BFr s^gu8yj^s>+73sdDpQjExgfnT05L;rk z@(L}PFnYOTEreoGKh-YfxI38%D(5T%XfIFhH 0#PJ_2?jC1JO@Ku4= zVDRd~mUk#Zdo+tyYQf^Be)J2IP}6$ecq_*GXol;1O}mQSy0~jIr(HZ~S`iCm{93OY zWnlbf3~4H$PwL~sX8_E7W6xrz76I1G+MWjj5TQWq>AraIyW7Uqowgm_2~t`O*t4~0 z@z7a(Lfv42@xLMiK7PyZb;H%){*?tBuM*Je!>p(D!lqEpKZ-b7NO%x7iN>BRu2o-A zHo@F_ye Bh~2{*05qg*O{lt_ik-p&+~6t6cp* @{Yg~|Uyt0TEPbEv%kfle- zvU_AXu26{@G-MQgOa$DCz%dq buA>p|dl5vgNDtLWFUv?D z-$>ulh+95vmq F5VLB!5qkd1|Ee9&(2P*r8QPm2|XND>5V%6hn#r zN55u8i^|@M&f$uAs~VGM86&UjL!%*i@yHTO ;ml$=3S7e==}}1IMfCb;!pU9&z)b
j%LSN31xxRcb8wh(7@2%T*Mo1|Zx zWH|P6Q59K )C>632*1>*wA7f|)Y!4q`2AE0 zciIcJv={GTNq%XmX=&-TX_;eb+52f}YLK^T>3Mh3-}$8%rll9vrk9MR=kKSMac6v3 zPW^Z%qslL%CM~0`HltxIqv1W2#+})smf3nIv)wPVGcB{LHnX{wIUoBfkt=$K%G`4& zOP`+E$DO64mo+?=^>aUq&YeBOP|KdXlRYGn-m(l^sm)#+%ih?}-sFD0t@irwo!6`H zp= $M<}36!40T$h6y&tW^r!SK8R9lTzZVCD3G! ?pD|#y_$t>#6B$u9hsV?{O zc ~Jl*s>{klBE@jT;$JRM2aeKk}k36+P3nN!)`l29%9z wt}zG5T6N5J`7U6Wen;w3DtU@HNxt>AE_{=t1#XQ){S}Z%7aMeDSCUUD9@_s zoqthbdeOT&aLIU4*+CJNr}*Qg;!jq^RsO}LG4C^}#o&)jZ>hyTxIiaTacdp8uB(`D zyEv21@;aTV?VzNOr?mf4>7Z5VuzzXmN=exY>*RRp&x2ArPua|+vN@}=1^=?Cbf)MP zh(LcCfrg9)P=2JczbmXOU5K@nvZH2Z8Xh8r{{Zk(!Rl0~H5DE}MHqZwbd~ a^)P> 2} zO5r~m%!YxlP KTLSem*K={YPp zxb~~W_84}w(h-e)vMm;9CrCqG`I=x@Dc;dfu9NUMYTL;K?OBO9h_MM*>On+ziN%1w zK7RqFZ8q6VBJwF{rz1G&sO>-h?`lJ{SwpT-pf6DE_C$2-Cc=!?b`k(O>O$O~{2Frv zCtvOiZ)nS=xA~Wd2ckMW_&NhikZ!cL_Q0Ob%$}}>o}S5`Z$~|Se7*gbdwVCl+6^I! zeTdCssW$+6lZgD<# w=V|(K;G#HJgzypYuyIs`M5lfT?;ZQ9tAUzr)o76jof&@$dxCleO zAtEU`x)A;*jZNk|q~7{WXp6A4(h)+!2y%zm$ImF0YU1pFMFDLc^~L6( C zI+`GPTq2c8L4bRuptj$6jtBAlL#7%-X0}5XK|_{VLspGLHbz6%vAu?vVM82jlNT+3 zlNF{6(_ !3gz=21RGEDqT~9DYL|DWIT!XCgEyXdeg3l%TP*QwaMk zSUtVtfe|zXK)<1Y7%I%sL}UsD^q`lejMfg|AoqHi^$5eojpKnwh*sNCkTkS`B1gqA zS5Kj*= yM^n=$$J2lSeNSWB5CC9oz#YQm8atpC70O2k(J(;GS?GfxfSLoLP*C=G zaC0xq=?#!525w4qQ8NRTQJ``(C^8$$k{vqR4nofUs$!ZU)VR>SWc5hU(Md=woq4ez z9i0O)rNfc;f@+v%kPx{=Q}Ed=82sCq9)0#q4kU$w0`*;}8DYiB!UoqJ&S0T>K(k~S zeX4qnaDsptL*yvXtJwKy0IBUhN6eBl6JX{e$_7qCS{r9%uDCO8(gm=y90D`PgxN(? zK#!4wQUrk5pG)y4OB8|S7gv^(?3R;*ms7Ks(?2g$1coWb5a!RoTX%(AySWc%p^L&R z0(3Yv2jNbVD_{#K`YHDIGobbjn)7X@(s(8JB&a~(LWKZ4Hyf%)>2J4P^_l@`K~~F+ zR~oLYwYk$ZF!OJNfvl>va<( oDBN}@n>XiJxAh(SA0nz-z{ z6aV)D@U*4%SR8t$Y&BOvu`zo+Zv*s6Kv9o~e*SG4{%jNRdXu?nGvgcNG7Z}CSwa1a z&v|2HrGUb$DOmo?FFgXP41lU!vy{KKX3xLH{@a)D_tqJjf>eV1^a=B2+?pIiWIKM5 zd2wU*L5IS*- qCjYhN__z7qd420*f9UEPm@R4?|Jq zvBJe!kbU3wd3P4L`}X-JKqBD}ZeSa{xy{zJ<2t?L&e$Oe?s{nMdfnaidA95OdiU}4 z(xYkSQUGW-@{&5M*7|cRP-IW~JP`gG8kw-yPJw;^_Vh@5I*ZI`{9fFJy_*bX{+s*K zi{S8^|B@~MDc_-&vHxT#s$JQtVBnxtKs8!HHu}#V5!ib9dp`%wd>H_AiHBl2UL}mZ zR@noc>TNH`K^OHfMDrjfVPAV>FX6*su;%gL-Q(eB$D^;0$D58P8Pmr<8OL -we z=sNp7X3=!renWw(bL^sGdSKFx$aBqRE^ F50aqh_7epaiGH5XL*Q}Np{ F zu`-4LVPrxxdedDX?VMo3x$v!YQifxT;ZPi;+CPcsH^Z9sUD{yVak7ZB1y*- =irsRQq|u}aOR6&o3A Tu(9ZmDWxlFn>pGw3;FB9G$@gT>FpFbzKp4ZG3$jkW zc(HS5&9`EixCJo1A^-St@;_(t_+sOZ`0$BLTmn(ytdboSFWPrIFUupH*e5?4oPX&I zdo}1R;i+-%DOl^3`hF%Fn)eCy` Ru__Os~5xNN0lPZ^eY7+V}>=e`XSGy)O#e~ zb5T@70m%VJc$k?QDE%`tyJhZeZei{H&)o8!(wR~-5}&s&rqhdX+m0Wx0Q!^UhfTE$ zaGDK4TV2G-+dj|N(JzW}t+G_kp8I5J$EqV_ #S zypOd&sp<*@juXmz&4JUMetO>734F0lV<$vE|IFw(soqH>naQWz+#*UO+1DXP%Ey~2 zmI*7*`efQXf`p9W7y;psa@b$)_dv~njavIo*u(h-3!8|i(elZO8dV(7l;`1N3NKCC zhwljpAa=vtL9prvuI6QDVHgJ!TG;zyWyY`DPFANZ65Q>5>gLPtxjQW+Y2iY^u>%$X zZdDULhi)~q$pP+lt5t{YRiTE5T#9|V;kr!5m_TAPx5a(H>8)7irXs*kBNamK^0_!G z!L_!(>IIVkF5%aFF0ZQp9eI9v+8+3%*GM2}yMII@>q$O{(Xe?Al|$pyackir1>&4< zY}%eJ7}*|Sy4mQNsri&-Z|$>m=(m)c670WHTz%rdRxuJBuu-2PFne!r!||xeFS~K; z%W3pNV22Qs{m$vks>^X>w-{PmW9C2S=a}d>n&uBe=%9qtISd>{DOZh-di}@-;&Z*} zsMM9o3($heSZd{RyMgz8Ndm!43}1!GI$bX zX_CF%mkg6f#}JM(1=v)ZF1#owL&U>p`hCF)!6jrz8=KPx%B^E2r&v2M$pB1TR5O@# z>iVHA50v^@qO2#zWpD d6a`SkOJ1j#UDud{ _&)`6Z=4F@KWp9OXZ>1d|{dT zr74YV6Oxbbd+-@K(6MXnH%E8RxbLwG+|Ejd5CUSe%@%@gLx$uA99*o$st8<8Kms zDGACu?|ef;A8a7&mFrv+`8)NAX_9^g8%Lk0qKSY1f1ERAceGjM-hpXq`VX|axQjY5 zy`R~Xl%wesp>-aqmNH|O@$7@|?#k L4DMZMswBdnvuV<>VE!Rs{?XmzgWEK?GW7{o+TM+5*(zpH zuI%e{LvN*?NG34yWh&pvJg~YY>ON4aaYh_rs@2!o|0a%ZBc^<-dCbY PT|ZiU-sVxx@hK;0jeT|566n|y^J982aW6I{k&UbQ;p^p}uwnDm z-vJ`ZX &r+)qDn0a%*x&NVQ%g6gi0jl+T^JvKjgzaKPa1 zA$v`Hd)_tK!T<-30?Rh3`%j+R9yxGzShf!tt$9}jgsRbf+0+-FBm|)BcqZs9D7IfS zJR=}QFG326!Pl(OM~^&c`5sHh!4g+*PxCuFKn*gpxb6GwcDzaNSwG7oM(dp*G2BoQ z@oaj3-`v29+HR3eh`mttJlX@t%(D3+cg1?H&8W7^;~QUcWzW34WD4}TlUFYPv9s xGxT8Kjaa39DGNeeuBMmBr^SEi&0L`5hp%^mj^x{= zk*7%aI$dS|T$HnaH1D^cQ7xdwG}Ha)PH4{Q%7yXFxW)zZfn9-n@jL0w_7HY2p!Ylm zkS3G^c`jJae{OQ+-lZ#cjJh!=J}to+l8bML_0K==o;I!rJq}#7o<98f)JI8!$@m7D zHxcX0Xl4y2k_Wg3#(H6iZT}Y70<|U#r7T{)A%U%*vy6z3R@M-d$)|F(rbNDY3+D7x zMxM>cb7kZ0R1bNQ^ps`B8BpV;43~-t1~{^f*06dcLhaP)C4oDpa@YG%PKv2B4degK z7uZgG6bRL%YCSCt_AYr~yK24YKhk*OUA%}}bLc3?3gb65^K922J*Xddqi)JZWkLVj zWu_dtt;9Qg3)>C{2t4IsvQ*E!Ne3ry&tB-uKS8%KXCKp9(AyW*8aEULLuTG5dDcml zEJjb8BcU`Y^T83cw|Mm+BYVFiA?I{h0cY7WAga8>Zl|IkXx;5uz~rLcZvA58#$yI) zR*DGWOVkZGX9!}NJAZe-`$q7)ufd_Jh&S6Wn7?O4Ql1Mbs@_`V4#9W`?Mwb}m_0{1 z*=d^+z0vShH#7hE~Gv3V@>rRhL~>*{&jMgiOM6~!FQed>!iNSI)! zrsPG?#v{`0fh#vpX*P*8Elbh*ctbAWH8lvD3W+qqCGs?j)+s(Mc4@8Cm$f(ywa(aR zak@5hG?1mDNFiTBHB-q? ekFMcR+FE?AXTqALFkxItS~D47-b@JIH`G)P&{O=6 zMuPM|wd%KOb0e-^gN8}CqH=l3syScU5gI~KkS8@Q?KGt)TrH*zG@Cw}sh7riSJY}K zdHWHHl|nid6{-f*{vtlNK58=M3sIu!2xqpP!bHmARjlVU*>P8$T-$D5j egztuj^bOC;H@pmQcpNEmyM}1$k|Z`^(9KX&-%#Wx#6MFzX!3^M zk;dbrPqLKHg$Ny9TuUJZ5Tb%EjegYmfw0Mi@M1a(0X6nMS|OJT!;n;4NWCI)?rH`e zcABoks~RSAh>YWEKV=zH%nee=p%wO#B3-XX@FAnApH28ciIy>uv7JdrofN*17`~9N zeP2(}!gvWc@(lI!ZS>!{>K6p+7sl$p&+ICggFkiDhFU_Qs{gJ24GtVAFiHE79I0H| z;N#_P-n|z%#1qMbp9C_4I}}EsgR-uqsbnlsY#>vbMWFkE#JW|h8Pg(p9ws{Fmb3tAxq$opWusu z#!H{zT-y56Js^Fqkggu%buSQ-i(JbW@}kdpU0WAtsjFcLY?buDqF~4z2(ISa-$7%F zLO2@*INNFbxAo>u9^`)a&3`?{r@2DlI2h&2%`F?i4%!T+kYLVze^GsKN{Gz!?=S$o z(F$#fz4>qQ`;S&V1_$XV4A0!jbU4`e&-FV>$s{qh7d`a-E$Yg2tO<9P3C|S3+i1eq zYr;QeBCu{Ecx-}YHO0DxaMJ#BfBH~ovJSmVMV0)7D^gR}cs|xx(%X1t4$j*M(kJvW zJL50dl9-9%8*5}C3UGVRRPhy{zeHwSp^z+>Oci0bcGf~=NBiO7x8xdcolWie`nNx5 zdw`wreJ%;Wh=VSdlGry*F?5~7umR0~x9ry1FUbwC>kh&z2Vs4X>)s*ijkmN}$zL-= zFU|L>zPg263YFRf9kvd_XoFAgncZl+bu0gt`YUr?eh@EK!&qjBxuy?+G36CC6;?8J zkg>R@Vc}?G;bd!Z-_7EI(=e143Qe^r`5P{V5BZfBDs~Kl`u6JrOj?+s(!)<&Q-E+* zsLa%PZ}Sm$%s^mgh`e{Wch+sC-Vo(D*tM+N+F1i8LnDDQAT%*tsfOunA%Lcn0Ky16 zFmwtN#zz5=2r# )dF8n-#?AvLB2F5rs zHfSQ5(eGx9rhs)ZpgT0CJF4L*-8)I^5&cd#4e1e5qoz|+qh0F|cMQ}HWjCT>DS?OT z=tkhFw!=eHtBsQ@tUweD+V2^@(uj9=9xnZ7bxsF3Y`lBad-r(i?#cRH#_?T%jm~fa zfh|Cg;E5U~ux#pt1btlB8N?GuZyFkhV!~utZP_{rtP3!tTxe_C9ac8`F!KRk=UZnn zzc35mu3#p8oo&zh{6hJJ%Plbp6GPy? zq%W4td;OPtja~DZS&W4Pl5kf+XND`8gd8R9v(Dkl?t<@!h{-u>UvbnicD!!qc*EUM zH`q}x-cdi>(V)!nTDt|rA_N9!a(fjjq6(I^B-A;zy1cT`VsrGA>EF+?LvG4QL^<6_ z1`8;M^5Q3bQ|IqoA$2x}Bzl8vvz<0Kms$MX*|C#>c~0j7~$?58SESt?;M@&%!ny-e(t_xvf=2) z3aA0|7%rzXRDcshICKlq$|fV^;PU@HsyVx)xV!vQf@t9<0pI16WOC=3u*7_5M)0zX zEmTVvj6^`*%C5X!aEkJVsVuqhQ^+tSh&!Q`6>p = zRAh0Li_Yi*n?R(9j?1fshwo07U8YD1?;gAp2#1*ud^~Z{a$fxizY`+63M-AQ6q`7d znKSz4+-mIFX6M@O?%EOT+8OWq_1hAJPVS0_ULxK#SaMb)hGIJ5a00-><<>9jHXyJb zmQ8+P;bPedj0C%lh{2Jx5QH2=9t$6haI?fh?nMC%L;S#G#JWsdSW+@cL=~7bcAr}S zm&)Ff_l3y%x>?fcZ1K>c>m-RNXj{+*gyL?8cTo}z9cFVM8Gh(qGY#d6T(`5aTiTe+ z-cZ3pN|i%7YuusEpkcAcBLeP2#w3v%CV8%qogMdAWjFQvextbD-3uqT#2%M&hKW!B zJKW}8StOK;4qljpaYinbn4%d(4Eo6_!6)n&ww4sbO-WW*1YkgSK2Icn{|4uN{e sCLuSg>{DDw^I$0vYgLH)n z)3+k{n|{zfz1Hp_y88ra8G41jCHi2S!MVB3X&I(O8kM`?5oH^yv$TCUwWV;@QxLxn zw|Ff4?9aaYfO^Vrv1t<1rl;y+giznMx{CYZ@ZB%No3JZk$W1MYWi9>&FN5!1`XgS3 z(_S}!d*K(oOc-7UngbTL0B6db#h@n^kG*d{_4XZ{mQaoC^7gcjwB&OpOE{B-n!K%5 zB0N)v?RLFYIzq%OT;z0poNoIV_pKmkp`5DVsxZrYs$^Z&{^Rf+5obU}FvOE9QaIn+ zq1xN7X7eZu?Dip4Wz+j!A>>iVj_29kCmr6N)pxxT!rZF86)d5i{5wxncA%79zr}Eo ze@`7cK$l0Suigi-;6ZRY8B^%WAf^Jhqe5WRz3028vD16-`Mp?%ZvuKhUeJ$n-Y@Zj zUy`QZE0z63CU8nMG_@L (bE*%k1rH+%Tw%#x@1sF27XrU%2DaV|Y`YuS{y4DX zSzzalqyKm+Hp;KNDX^z0@W?3O+wZ{djKCwYP|Z<@7B*<$LeP6g;LzQm;m1KE&w@r1 zj)w)^BGKznPs#qNdjved2>Ny0$q1sOgMSI0e0l0O`{8KzX7Id9@Y@S>1Hr*d3Bk*e zCs4c#Q9Qzd3R)WpUQ2m=IW>3_{cKC{+4hBJe>9){Raxio^@XdFFsf1_se3+j$UzhQ zunGS2`?KTeXD3Vu7?_D&+IbV(62^R1-jQoos5OfH{8eq*%-ir-9u<$Zr7aQN_*()L zwZH4<^phMr&moq#MSD`^AM}^F{BermK-I{}vA0C=s{NxGIq%LP1@i)(ZD&2#B?b#k z3rtHN{*xRov8whM>LTC!Ms?_TA@gXb#1dL=@zHI96Et4qvDjbwXjk@UgERN$e8xI} zSM#`vaVs#I_>mX0&yaIp+q*c|`QrSoGS_|i`<+I-D(h>1D;9eLX*)7*2Z}3$MK>#G zTK%OHD$*7MWp0Pc8 |Nhk; zg_Xgv!+?h@(ilUD$3Kro#wFw({<57kE_2LwTYmx=SAsuZ--#s7YE${HN8K{>`0DZ$ zOGZl8U_HA;M{VyO>ZuBapRw{4ir{|eECi9j_O+h6pBi#a!w5^5j*uww6@qXo+QSj9 z$S19?QscfN@mvvo)6d8-44C sO zzg_#G4U$4WVJpqAs}+5gy)p8Z`K(Y*%PC1L5i05yg745LU}vAxPTH?UV5A41U+5CQ z!CT5V)p@Fb);%nF2huw=11`I=oTtG0UE}abp-+oNL-B_WZ;)cYo>Z^r7r(M2#X%DT z4W%J-YkqHpWJxQ_*?&>kZuwU@Q$68KK6;matK8<_o04lWkjcft)8!wH)$LnBC7d|D zOev5-1hl*rTs+M?3VM#ni|YSp_0{fJbuQ81^8<{4rEmx7G;wvkcPKA6{?bOxHP+?) ajNnTv?~6ZQS}m ?8brp unKik)^G-FdUxnI&4C_U+76pQp2S+d&
p@fh`Bob$cD+Ea-jt&*n5pv(B+{f H{ ?*5k1BF!)U z>2g-}lX~>t{>l)YnNm J6y4JqZLp5*Yh@uRcW!xTS#L_JlSB} z|L97={MwrdHpgby+ico>@ow(~ePo`swzs*w{T3K=S0Lx9^ujtE>Er8 tf2s-qL#)s4a8dhopjVjqdzKQK5nJVF^AqmEBZPEFHh z+5mI&3k)V}k )QJKb?)ZY_Pd?ky?x%nAzvUAi6v5*eAi8-)@XHl!;#Ts zwpeX;hf@u8J01unqh`vyKLn@4qf6*8pWk0?h4y#OSNmVc* s*(w K%&XJq5-{cx66` zk|6ifx3UkO`Dfw|Dgp~72NmJvphI{_WA Tf273+o}@+!wyQo!KL7OfQrQo6;WyiJI>< z-WR>f#`K7gd6=!)mV$+FaqEv8_r =Oq zwTWP9S8Zd4w7WSIFU7PL%A{CSA(DpcYRr-K;4pX@o-l&P|Bk!>mJ^0Ha^%EO5nfIV zHOS;7nrDQ9Jm;IM=${KlDF!$(a>d|kVuW&NJ#lan>9^@L#~S3PMK^{S`Lp$F<|fEPqV^YF{l%y|0|W@mx13Ju*S38I}l zoeKG<%f~;9pj`+oQfL`LFo=#3-;k$cfv^PKB7~yQu_3S^J?A1fPrno=Cg_(x6GP@! z61>hER=@PiH@ty{rqv`V^QZ8K6Fw$CafP*heqnW1{@KE!=sQ;v%JY^n*9%BDKw z5oOoR`8~92nPDWmj# sOPa9ESDOhmNDo)N^#>PLbMS;=!VvF0-I1%K4rIOLAHj z6t&Z)VMMuXpRPZ2Im}{`%V{^MT`v1tDZmR#a|_Uvc&DJ;{FpQk6|d9>f$|80&KytE zJoV?Gj{T7~bMmpKEC|@)odlgdg)Audg?1cIWzPCiHP50E9l$K_FW%qORK#&QP8Kog zXRR7of}-P81#~VrKnsVabe?Kr&V_=t-Zv4Qr?Jp^aGJL2HmB2<1S*SstgX%fqWu}r zg-?)L#J!Nx04{SOhN`V8K%fJ~P(~b;_q>>cK5Jq!KDTOLlmNTVJxO3*3DDKTQ@Vov zSj@yrkAC?JyelLunRPWySJ%wx3XQEy4ldT^)T4miprqu*zan)FILP-Nw^)m}sJfSA zL^mWWnVq&+=Qhgejx1uazq9I^Xh2N#6ISUz0`$$y6wD`0EKcSn{VPsj=|ybvQcjv4 ixyixAP*_WOU|tIkh>c?;FF!)+TO}#jc=z`JfBFx$Ea-3m literal 0 HcmV?d00001 diff --git a/images/lr_13_header_03.gif b/images/lr_13_header_03.gif new file mode 100644 index 0000000000000000000000000000000000000000..ca476eed518e10d3978d6e679d0b4701b3cf02f1 GIT binary patch literal 4560 zcmds(=UWqo!o>q33CKu&l@YiKUQ3Z$q-rq)A1_i1$i7x(N~5)ko2nNfSQ^4eSRn$E zg%DN P`B%@dNBYw0HD)p zHM??+W?QRO@9rv;s%5oi>+4f)@z|mVaS6G!`ako^wq?`gdX8GXL83FrmDDs6{kN2& zAFiby^o*HVn#!lOkSpnXj{2=_eesXM%`Qudt17pY3mKGJrE1ka05Se~ypUe&bS3fp z?M(6bhtLH4$n@BsM7oLVukWWu1s~pZz5nY;PFZ$oUGp0OrK!D!!|odynx6kCQ!ZAw zzFFR!t>knpN @yC@ho*`3ESX|hX ztag!TUH0Y0E6Tm(f=+Q?Jg%gI&A*+9o0^+Ec_q;k{-@8)#3z}>yxyLm`xx=)(AQqk z2cg#!apaMiv48w{+x5z`4srj9;HNchZ~6WG*8htBCGN$spA(EvU5n498GRS|mHW+( zzMgXt30EJX3#!>BKfn*3y?59z_OO5aF~8qC!~>Y3nhQ76E 9>(dKF#j0xq@KwN>RmJa zL$yn>SGInt(QrNd&0_;fCK6BwYt6XU$E@`PxDI$;TxQl?W5#3)D-u}s)71DqD_7Jk z#-~?Fz{61@=&c*gDK>sZk*Az*3JIrjTF#znoExAVKDTDeZC+#*DvP4p5Y2ao8RvO2 zTb^uojQQl}?pmJw##DQ j-!7{(%z&7sA@@Uh&X>l7*KFg&* zbP}OKpL}cKef2K`?QLqg=s&4Bu$EShTCue}J@ESV-|ZVZN{|K?(UK&P15JW5nYnFo z>Du+bBq;~3Mt@4Rx<&hxrZ$CJgzSae+oO*bM9-u NMZ7`3 oS{6p0ut+GzF zRKr?REi-zY)ho>-58d1TK)0pN@0G8q*ZIH`8tGfhN16@6H}#rL(V2D4)}Z%^Kh}SI z%HUW;+}!8}Pd;1Ul}pekw2E2$Bdv0wvR y2xJ4}<6pWTFL>(! z`yP}iK$^M+CmoMTG7c9YEm(psXT(M(+@#E^$EW)wX(KDzzYH=W=yv69WXBAZnhJvT zPNzsR!Wl`2 HqQDcfiNpApAF=Eec)>Pb;F|T!Vi-x*p)ZWD5W0?@ z>Fo_fZ01o+DjdBp3NMj1^J)GSP9eR*tK7|(jKW#7SVod(io}30*?Ig~Z(o#Z6VErH zx}YzLZa}sO0)OgBe6Q#hY>PNp_{ESG*Xwlo`o8xfsw=Cv{~= axZ)TU&>-7AS(O3O6uQS5Gu!!w4JJTv3Z{K&hr0sIYfGXb*;kyFv>C#lec@PcR z>%!JEbrVztJ`=t#Qf*gyn9_sMzC)#u9hy%7{Ssa{M1}2Cxe2 d+qF;YQL {tY_=s?r$=#`qG1WU7NI~rn9Wt#GbQ;NoBkii4dZcL$ z9OyUN36U`{0W~))`$oHAvIboC@oQJ4dlC}u!Lb6Av1{L$7$Iw-nAS#n`;EUN$(m^a zwRc1M#)rAG7Do2!tv`cN2X&D$vkXC}d2HXrluE|po7Tmk{U&E1a<(9#?lHb^at zOHjPAGi$(j`_JqrE8aQ=He`f|W-NG$E*ES=mYWE52!7^u6h(hutmyM0wW7zvtPzLy zpFLuu6!-)-=Hf-O4(`g{VC*I~0d91-xn$oh!SCiw(HG|gWgpzEiO}Oecap3WMF%#K zMnrS2Jf*Hb2K&T3@cZ<0k#2o(O6ONH(fm2JasX-8OaTTgc-p82F@epcmi-G}?yA3V z*zK=WgTO m`C9-OW7T7`$>0i3aQ+;4ycc}3mDb51> z_cv(z=CS?DQEJr)-;BvX2dvz%QI84&nT`1Vm0RxWu|X`eVnT|FNY*pqIG~uU{?&&G z>IsP%i`^5j_L!`mTnJ=wNBY-ddFqc+ht7RbgL_X50VZzKI$P!a>xpXhG{BtA2L?(} zHW~>ih}~%^mZrIDK7ps7St4T|eUGu9_7bqW&xkj$37XG#<{W`{;ASpaGwY}e;s`^; zn*}`07cX40?OhM_dA`KtHfRqxR=icD*35gDa|h9Z+od+U3qC>IcX;tO)qQs{I0puH z`gb}hv&76a&co_1f2S^CcNuQZ8|?{{HIjE%qJwzjBVrkox4RmX!<)Plh_;E`H3>6+ zV=5EN+ts`4Nb^<+Fi6p9qm^QUT4yW=6y5IH4P1_9>OmB+HG;4I5ScW0W Pmp$#tkWz6y;hA3Xl1`n z%bcYiwnxB8r`Zy%V&Jt_KA_X8|E91NQXh&m2t^vkAwdMBF&k+zij-Rdw=DJUxg_23 z_|qaT$%>E!VJF#+CLK~F*;%2EKv73SQ4Vn^M*_-;jk1I$?USPR!3|xY$)`h;UE`9W zgk%^y`Rr)&IYqLERf;Dx @3k}mRONBXqEjAnmrVnJsg+ar2xLB0WAl!rxe)|E9?vuI~$6fi^DDuuuE+0 z$|!bCft6b2Y(jG+Y~yh@5MigUV&`Z^bF_*afHh9v4QCLBGmOW9h&W>o&SVT{ro@5A zax5v?Ph5cJF)yr$FCd&3wqq|2DPP!G=N@s(JsOtl5TENv%yr`A9v{nvQ~~}zI5`xc zad4h%d>&Ls%!6_A&W`1sQ|5VC=X<*4UkJ KvsAHydq@kna|%8if`Mo5b%JmnZYya;+esE<_=aMr|JH)4Jmu^^sEAQDL&V&NFE zNJ*qvlS zC>kpiD+>p$U%hjCH5B%0IR4cr@zprz)#TW#DNbQ6#kgA+4}t_2 z&BYfj5Q~;LMJr=PYsw<2b@8TK@pf3TEWTJlELL%f7m3DbsZp+nzCMg%5Kb{fP(UP# zF_&U8PBBwaz>t#tu#yAeB^HPht8hvUa$lOAQND|w9i;RKtn_GjsRN?akyPr$Ej>P7 z>Z~etfs~zum7NYRbM-Av^Dv?gg8n&Jc1~610V(%{m0t)i_d=BWkjj0z<^JR4fvWOg zNW~>sg$K!q;bEK&HnL+>M2=TPsVd+Q>J1q6W;pd0f*MVt-sMv7k5eD2s4 tprjx z1FM@2ubV^EEs*M#xOFS^+KbXUDWrZAR=*uyFGJKTNcAdiy=MIHhgc7=Vd%Rv4BYDj zVi+JY! q$ zPQ1qB6OGR5Mi-l=lkQEYBbr=m6PlppCK#{j>_pSK>c*du2It+IJtLYgBs6=Gn|&w- z{u9lC>gHgZmP_s}mm^xPCbWc-Tf%uQkrORZ>K3>SGe~W4GlF?5ff-F^`tkwyCzub_ z%orQiV|Uim2v%$YD~`-U@L10$Scz&D(uV!u+r21v_WkNT7&1G9$IhByW7TY&4JX%~ mlOMq;NZ=6291@RHIKfHpGbrveD0SzSM{ucrTo@P(aQ|Q5%Vr<| literal 0 HcmV?d00001 diff --git a/images/lr_13_header_04.gif b/images/lr_13_header_04.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f1c76b914f468519a51c4e87071f2bab0969cef GIT binary patch literal 4442 zcmWlYXI#1BDrXWH`VTsHvERm s za%6?0G_9n0ySB8tR#sjrD_8m6_k1|tp7VRYoGpI7?jF%czy#1Q5UB8MM|z>eAtYyw zv&S00434 3nurC&5>M@)Qtu6XJ9ug!F(9W^l^sYJ&)Htw)2D7Mgaa|+{7 z={`ZZq4ic@2G^Y$xUew2F`R3@AvGqm*prp-6qdVzp6=*(D3()0WeQyxd3vihVC_P6 zR^ZofPeSUMG7i>6W}jN+u_r90!Y4FZe+_k&o%{NLaKAk#ja_1?5$SfpTxV*Cy;ta3 za_IKGLfiF$o1^o*VhiZWCCv1b lMZF(CRo(9;ZU=vWIIoC6~yF2`x( z7DIAU$li2A_h_R{Dd~kxPQHv)zG*gIaoNXPXyJ$LJ(;UFCRz9#)G@KsC(t~?MAm`n zu72T;Asm;01Btu~T88G9&i*T{H!?Ho{de;XEL^-9DH{WJIB(4|vJWOYZ#r`7s;N_` zi|?MT2|}A~oX8~h3fo{^Gbfmiv6KHEyc^5L)hmF>UhTBmgUR#T8MA%AXj??A$r?vS zG6%hqWamz`+nVANRT!2kHYYkeYznar%8XCvh9+?n1rk QpGLV44lo( GVKj1}}M4-PVg{_dD{-Cf#X4Z}ga{~7-ulgCU=+mmp8&HMPV3f7bD z^`B0+?3s_-JB+a@Z|-Ej9XS)wdGY17tnbq=M>`!} hlZ{!+gkb=%e=`Q6O;{^|AD&6~^1APvcDs6Sp=h(@fM%R_v@OG}aaa@2X~eG)tk zKRB!6A!RS5czh+vvLC)LCy$5Jrc>@FBbIn9K%Ev{isO+6?xJJPKM Fb0#L%7rcM!V`{3G={}hk?%ZLhC8Xp7O-0%7psHsjB3w zAE&DKyvh$d74$Um{h6$(#`kA)e){>t^H?lCf$pw63e{o7iUJ%YAihx?3(7|lW|dT^ zm=`RE>Za-5ZqPl?`>>HEq5I<3(oqmuqH+M{>Rq+W9&0LC#fhoIvjp;sIxk{tQKoa& zpB01OkQd6Rfkq(PomD=?b`y^D0LgObzAsmv#WjDq`Xb}gm(B^1%}m$dD=tGxA67Ka z^i0nv!K)F;PD3kg?zSNft0hT%!xB<^AhDJ{q75r+vN(V;r#t2oljvSPsP9eSeB`kW zahtCnk~sd0vZ?~X4RO!cYd}yEmAaRBz)6Jk#|+GjlBgbhcyAV-(oRhP?YPX?JX+rI z_@vFO${U+9`{0SJ`Xb56?aS;V`WCw%k3-#lQ#7N*tih+@Z!HCygq&Ci(u5dtbybu^ zS!zir0T=1&m>g7&5N!F!bv=`{T}|`nmM3qSWF9I-U+|IO2fz^mNX8wux1Rf(B5tiV zIx{q7{vQeTOWwUZGbg{dD|+9wjJ1JMP!Ht|7Z;`{Wj1#|RSwy6r(VwD3$QE7=>3Eq z6AOVMp(~n?Wp}B4SD!e47@ eI 3$)BLQu5yufImkeQ0o;-%j_Ps1`eJpznNBbei0OlvyucF!X?(Xq zG2(!NkL~q>J0SW*Zl49% $SBmVvH;hCre5+7u)syo5?%Hzj7%PMR^+L9W1;Qee z>;j-WC?YdC1-6kjpjB`XaM%@Hc|UE+B=7^DE!v)+ql6M@tf0LoDXFh=1Rk%y-q-em z7_4B|8`sP)A2TqU)VZbgAM7vSU#-=?ID6C~3)} YlVU-k9qzdfL;z8WyvkjwzgPNpC z{<)@EQ?}AulgWeVDP|j1D*?R(e_=yZAI!oVO86ju7~f=|Lsas>F64*pRX+!IXv z+iqDA%W8L|674MgAM}i;M_~VvGk=Zzbz|YjC7yN*3(bM!T23Lpbbxl8P=cw`YN5-O zKIn+*ak=Obq*w`P6pRO1h(WM`$oP0W%A>|jht7(XLda9=ZHLL iN3~L6@tZi$Mky$Z~f6K>iOp4|3=; z7}gEF1->DI;N-mf|7xDojiAIE0A%jEO%PNIC}#Hb#AOu4%Uqg&!>vSyD7&HrQ}T{) z90g_1D!m~I(y5T@p2s1%5Kno;Kd7Z0qZq^3ig>%=e|$ZjbltylG4tN1sKtf9w&9hg zNhB1O_~zLO_mvyzl>D=1tg#dH!FK(L0-pm_`+Sw~+K(mf$@{nlBs%{}TMBTi7KA1$ z2lLysi}sGzH4Yd5Y&&iz4AzR#RNn8r!M%sh4dgvJ!d^FK#w7PVT$t#z^>Ib0i$(t~ zPGXLCImhw%!M1$8-!h@qeI96aPPG1+4}(s`w!(mY+aIEqsYcgV1b+~xB 7Q|K(rUFBvvqjw* TsW<^@&Lsk+jSz9Alh^Wy4VvR&Xc^lSIx|w34?ZV3 z6S`fYv7H2y;W_IjbQo%2h7O#ZhuR+0sE5-a+9^{--Lrg+B z(*$}LVI>|#q$BE-NNXj;S|JQTXw)g;#hqC`iX-F+@R%xHckak hwM|U1gkcg7HM9I%Y`{zV#xoC-kC}l%DK*(AwoP&d(q668#fN&Zj2m|*}!9+N) zE(YSx)A`JUS}dyz3ZB6PyPy?pI1~d%f(i=?3Oq>2{UjupRS>CyhOnTq7*6U05G#f{ zs}SLMWHUCu-Mu*Z87C@%*S=b`W2dNhm& VD!$@FZVP)6H|E5sQ3IGEFmwYViMx2f%R^I;G?l=2%VRy~lziaN# z*QkunJoGs8m~m#b5(va2sVw9 TcN z)L5)#E!)&nb6bJBEk$`V&--%D)2hz<_nZ$LKOeMko^E_0gnS_sb>U`ZZ39NDPg)oK z;2eIsj+JD$$kL+vpWn%;PpGO->Zwm2uiw8=&o*vIB{!ro8#1QR-E0)2=K>4I9qcZS zHkQRLRR5vNMI3oSmAt4&Ua~wcKeiwj8#kULH sd&!VLHO-)xh&0ST^Jw466 a{p6Oxo~A~2 zOY2C3*+|{x>Bgf)jYGz*56P{MnXOMbt A8?S?#$cETjU=;wSg9+SrVs-o4Ywfnr+wB+I zNhX(_)?aoBzwGK}b6HaXG6ZQyj cy; literal 0 HcmV?d00001 diff --git a/images/lr_13_header_06.gif b/images/lr_13_header_06.gif new file mode 100644 index 0000000000000000000000000000000000000000..30374119809bdeb178d5984ea6519f8ecfc0a820 GIT binary patch literal 6830 zcmWkyd032#7yg!+Z@!snrqM (gx}@ZqLZR5V zFX7UqqOq~Dy1FuL?F|aW+oGZea=C2rV&|JTB{ntzMMXCvBBIB~$4g6#)6?^Zhlk~I z`PZ*sMWSm`>Gj^;-stGuni^R{Lwk97nN0R1BH~JQb)~Vfg`ZzcS67#w-d`mpxp{e6 zwYAj)0|VXN-R0#stE(S}g=MIznZJAYE-md+W#zTv;-aRe%F4 R-Qpot2e8G4Xz2;8jvm zR#MVAFRwjs-n_B556aCg{`5&+UjFFk&mY&WWj%fRw7 gt;X z1y!xBkDooOrqQ(8+GO?h)xp8y=H@3pK4*)HDq~{KfB!z)&`@^&e))?R9cRzxJbF~w z)Kq)rN{+3q+tk$iuV1Inor~@0Xg_^ATPCai^5xTo3#A<$&BMcOn>GdGcu7-JwM_Q# zfB)NSX}M7*tL*M>udOW)3KF-rHY6ooV=@h%KCLq}^y%rrYio->d>9Q1im0l3n4Em$ z{rjQd;3H*ac_}H9mX_wRv6m-LrnR>}8XSB#J^gufbVMY|eevS4uW!)s@L)(tdT;OJ z($a@g>D{!n;*5+NCr%vu{CV=zr_tB1`xh>>{QUWYQ238b_H66c@K>+oTebv-g`K^3 zuduJL`{m2d#f#0iZuQH`x?pC8nVPy PZx!GU8{(bZ289}_PsK}q5{yH)7`OB9tg@w}Fx3B#CIW<53yLxVZ zeqL{m1pJ2;|Aqf{0zl`1IjWAMR8kj(s+#&XOLH6ISO!ixj%9gG=N74d?`tm0f0Dx9 zAkx`VULZ>|b}#akm0xSQ$l04bvH8yRwo8^r$NOb>3ZGr&M$vSgDsFV-JEobwox6Rr zvyh+fblIu0=*2CcI{^bvD{pn*#u`Mr&UcG@?i}bW+SPKmr0! GLOR)<3`23o-cD?Kt{L#E2&E{C<65fGSAyl~!F FZjqH22BX*7HW^JZ)gtck6G3xv#t!b Xk)5X$sHDa;AwbS=?Tqstv9OaDGP?fGMKC56QQR{Xe+iuxx%tDA!fWaE!ShY z1f)TeZ!jn2m7yVdHsi&2cdCdJ^|!@*`supI<1LRPQl(&=t#<4xd}}gkxBlA$J9+l) zYRPZXl%qbg4v?rT`TU_6tAMw?8mC+w^pf}4Wwg^+JTcG4@G!gG*uT6}F7DCM+-Q^5 zya6&i#pCN)r@cYCjf2HUqp0_Q;0XGM;^r4N|1=tGGtv!puutBrxqUZ%Wo8Jlb|ofZ z7%dCM+m}rH&U 2$mC7M|W#qefO|f{jA(LZAAEPk^iD_|g>~%Xt!K z9W|~46KQ941}vBaess~=8^MGU*5Jt_b`y=A%XWS~y@hV^z$L1YwNP!r=k?2L MW5Xn yHPV zB8+q7iY?0SH(VWnV}=b-{ienUp=FNm nmyL1V5})uDB@pq#RD(QIC{iJ@V{rq +p)H-N|R7(hI{(2a 1CX&4U~xy1`dbTJs-`}jit`TTs_x4J6+yFg)?kX$f+0tfJ=^EW8k3)(RH zG9P=D9B#HTmQNYRxl5v@6n6}!s5=h*Tq^|FW5WV)O`dsbctVSK=)@xS6F7M@6M5>O z5m*(e9S>G{3mq0uW%5v+P04@en0b~?11rwDBJ1A3{K6655*kJc<|wqEI7UOMe$a_G zO4|P$gO@luLY>iL>i6R*`jWlYTIct|Uj(uL)Nf>1WNx4uR`FC4*||p!`l&eGc#eGM zRO 29mx??MQ-!5*WWG!o+j 2A`%|Fr2uq3bdV-#&o=4Q?|asK^9+m4R0vs znFNG5Tz70Xj}o{XFy_aAjwlG76{nhS&3+DZ9l!-#;Db(ZoNB+G#y%lenIl0!pS=td ztZ|K*B)Yndt9->ATFa5fFbm8?r7gg+Vuesoi0e9A=B&EVyeN25U(KtTr#a3A6SE^V za7hEQU+tVLcNiGBAM5>NPH7K1r0K2LptHt_!8m}^6XP4{6_V(Mtz3cCGz>}YnHWEi zVkC@V&Eko^nMx|JI8F53EG6@Kmmwt864c$n-)L9iUvcVH)B^u9H Gng*WVsK z%$r2M-)JCn6$Qa|Z SwRG>!*kH=I~)wGJ*`9XmFeWXB2Pe4x{iw{W4+u= z`?(^)KU0$VCyT7|xG0u3;lJ?A?3F6DV07(iZ)D2HLFe5ChkdUxRgr|JaYaF07h1ny z$`H1#VQn-Smd`IZg(GX(ob~RR{>U1XyJSZqY-j1l(EY+Sp%KGf8~q=?!9jihKIo)S z88#w7TcNAab_9s62uGM>azZ<_LM`|)vP9ocWc)6#X$*B$3(+&!;i4C&F0cqnJD;ef zHmke6uJnG8B#Ms>F9bRE*5iI8M~r)(Y|N!AbEB5L_B$Vn2GOCGyS6I;cpX2=Fg%=c z_$UaJjBR36NE^RRcvC+(wg>c1iuU{CbX!gn-o;H?f;ym@Hn_(@Q~y0PQ%u>{jr2U@ zNNdZq#mU8oK@C93u0mX~riuIL>ZwQw5UNSpWPrxrcSuR7ZR2Q9p5RlgR7;f~&l6^r zG(QTkLJkBL#Ok-QV>iF@3w5sIb>CmX3@)ihR-a z(3|GYTFC+EAqwEA0GyDA&jZR2*I8r($YC6y2}wE%Na-%@g1a8ZcCHgbB}d^Z39NQE zin}Q0Sw7swhu;1je76B5*qt<*otzaB42XG3)qij^4j6VmGC zA%;`?U;(NjhC+m-CO+jcH*AD2 xi)w7`PjgjYWNnVI<=u7l1Oe ziD6I`t*@|ICjr-3kX^-)35ygUNqNaXZ_OdoO;Go=^GpfSMM13iw8QK}#uD(m4`juL zM&^yo2q7&42i*AZobZtMB;}3d_&O *PM{@{1Yb5P5~owd@C0Z5n&*+^DpVUq?Fmv0 z1{G~N|B|@4lmm42L~1GE3;VXe6sMHOg*wls@8&WG<_j4{Z0aR`S|mGbg$blO2fsMZ z)M8Wnh>PU_{9e<|T9IzdJ^5u5)t7MEmIc&kBI~*Foi|Y!3tuWlO2uRY!i&vL_gbLr zvEj&k!quLaK(izzFDqrKm|`WQSPQ{ZY)d%bQlEACj0sdOMayw|Aq%1YCV`=w#gLMm zAtT73oRJ{e>V*T3gd{GXG(lMTX^J>}=tu>vAA>c-ffgoo#0t2gxT@QGaZm!A?tmgC z5$7bdS^=q)MT#BG^>B*!dYZf9M7lMh^nj(L;S?XPASH4rD{v@CNRO&Qm*NZ$KG{xk z$ >j(U|YeJ13=)B#;K1BI7e&t&O*m7I