ࡱ>  RdO)D4e PicturesvPowerPoint Document(?gSummaryInformation('o#  !"$%&'()*+,-./0123456789:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnpqrstuvwxyz{|}~   6,ڎ>BB CN8" gbȳaa+ "~lu"W=ǝX<4-~b#%kđqkȉJ?ٙH&77mՂ@H2.z="][EZB 2lD1䔔.Tfyz\] "ǭ"stHYYr;?QNxtφqE=pal{z^+K >XN"&rjfNbʄ"ERXOwuN,B PqGȌܻiʐRnAd :+' տHX ;Ё"O2,Ria v"'lc*"&?yZb4.]ժ Lژ([)݈U&6!9qԷs~ DVn$6 yz*BbA78ٜ"jkKKD ?cSIZJ]eIn<䣧1 |9_*1PNG  IHDR PLTE$D,d[cU^(UX>ˠs?wlը6#h4X/u_6 VD^c5W( Y!ֽJ;7 XmND9%?>*v}& fKFs*nGљ0!x/no(҆7r*5ĺ7#@O!,1`aF'Z:V8|"!igjiO|053(-!yPΓ#bcjH޵ 'L&ںx6y*qRWe~q,$_4E/>~:Bp:7\}es%YεI  F3<\~%+dqڕZDtЍj]g e@U[G&<@l<Г֧wICG"*fRJ"V\kڒI{qSܠZNgUaD]JD$ z5"zѢ@ #}Hȴ"q> ] IDATHF`8#, G/3t')JlSaLqZ :.6ͳ:mq*3, ǵkӨ>R-,Hb;ʾt&?tRl $F|\4 r+6A+z nKv8W7s%*yVL$ pպSzq[.WXodRBhCşO"7&Vj}lū H :B ۄpvzúׯ{ulYAltF`^; [.,P +p?rN㵤|Tn@/ MQWMR.mƋ_ ^kZP?j]Š'c[PϭKyp?4|U"_6E±6!h∉`T~Il\㻄N?MH+Q=ގ2 (/6`Dd zuZo U {-T͒ ,^KH1Ox<]OےKXᕁF=H&!ẅ28ƽ^M۞Nׅ+hkAzbJ gY渽- dHt,V;ߺ$6?s"3g |Yg&(fV8&pjU!` ^7V6fL8 .\u}4 @WҶ>6L-];QXx~Fe`-S*l&j] cTSk~Y&Efx*) M8!JH{@Z 񉸰 ^"Fhf8(I**,kI >E@ђ.\+iMNT o\(FV= eswڏ1B!QOQuLrF x}!t EE 7@OKيl˯] 9C Z4e6Qsza+IwwX?fc!xeuFb};^SkEhjwrp9:VBiDR8U x-֢x ܐ(7P7-F߯w;:,N떃=~bZSc8$$׊0&9'ٸVQT$JTrmVvFm/H⹤lB1hiXa!zj t2A^~znn2;z _Ý`piK8=v6ơ]\bWckb1bA^$`\9 A{W:,F #!@N/߰]XH:d8;wr~y6Jakv?/pӴg&H365&(i8HZRqo #`Rs|r: -GW,XC塘j9lk,&7ӛ }cOp`j ]r)uean$RrN2U|501mFmQ'GZ>@xbd5@j/*}|cf].o<(@t^wށ^yZߞ_zD4J.(Gj)Fjl15&mSí-Q#wc7" JCbA ,kdd;-w@v7+a%ʟ;e̟=')t|JIDATrTٙP?MC*]6=$`;$Z>.5A* c3ijʖW*u0KHXZD=5tJ|Y*[A/֔wN]_9?Bo {c^@=y(Ҁ]2BiA>V8 8VR=9Tzj kii2]ڊ˛A VRZ`0.)rk&_)ŴCI'HXmX^NqtY=.sOu)oPgg3H۬Dr'jjWP6[ h1օ B@ijCVE ] WnJ}M{Tqk|;HDp45<{5`g  [ZU3XEOwP(,n-m&Tj ?-a\l%Ʌo{:_~%O^&pxuHC@AAWV6be-l%b\aL kE RJ"VOVi*i9uJٻE?X uoj`] *}9^}`r-09 ?`[/tnLfX˧á{VvsYi sDp;7$:r(U߯~R͝;L d'?v]oݐ%[c(pl{˳𙛐Nnٯ>u8fH>#tVoXfd| n*XSU>c-aqw$:ǟ]xwx1y2yԦΩdIDAT$[3rnO( W{|VAׅ[#|Xl"DCAo99pYwPѸr(=%$l_w'衖[Bnkzk׮ܩu-I?<*"e.4q2fࡹ߯*4gDV3٧ ftfwXAUaXvNVV efrI!!^3aVP]b&sWvo3|-h3RX֒"?7{Xs޳dz1s ٰ]J;w6wpy?x+Y#CkCdR y\.jK޲xCWPl^ؼЅU[ A&kSW/άLg%wCbEm!g䘳;33 %MfRd硴A(}+Bpy1ӡ3Yn7gX.׾ rae\u5}xesw.׋[疗V.A3D_3C m|=Pr8.y I~zz'+dfژyeOm9O(jPNfZDB.$jDgA on./h) >韻{ʕo;?(8ၪkK//N7?HJ0'{swïn]PM*WG#oP2WV`ɕW3wNOQB -?HC𭞤N(75;k}f4(+[Rs)]թSW1CSזXpzBgczx@@>#hT/\1]^.'_nj)*֊'oちcD`,IDAT N:‘K `\(wwY~>x˫gN,&NU=];+bY={g6iq9ջy% `==ޘ'Ω0s~iQ\o5-=L-X0&!Pw`J2[FqHJLG|!UL0)%(ZY l⬿tw?xvd}0ҿ@ddq>"W@LdoރN>ϳOw9i?iH8,HvYՑNː5q*ԺWttyM], I3v_\M/nd[+կ¤y%JuӅퟠ+;MeK/y+ߘޙ zpIsvy% [J[=| jpDUItMצ^>!SNo y#l l< 4;T @iqRA/Lз31SeLLL;zgb筱cawn2QlJv2 !ܡe$vyٗ.]BqOnIe<;o9,ܘ|?}zSzsןޚ^Yy0ur%{o%/4d>D.%gQ5b K6lS`{y*xU ~xvUhl*1_\Y _\7 n|ܻ,/]N|th=VyHrh>vAwTZD&RyKpā op qNKϿgJugm<;ue~>9s_0wzF~_34Eg^_=I21%8k!~%f3ͨc"]%ٗ%XK8]Ͽ2/Mҁ嵟L'`x zI?~px^n\Mg[5]h+PNOTpxV]lұ Z%jRYDRJsgM* 8{Pbs9hdRж|"C 3MGJ'ۗɑK\9X|yVļ;CKkb /$-%,o%4Kd,‘ (ȕ^r/{Fꑋ)B0'%ɕ8pER@|)iPsnzZ!KYڵIU*&X }V< W 8~:9NymkfZ iJ1 `:$!V=3?3C|_by|s&?::?&ih3c?=WvJu8j.Pin H *X .^­Tf1?yF H;]Kmp^';;3g٧|WWޕŤ5L6O쾨Cl/e-Ԉ`h˸VT m/e YA#62j_Kk٫#gCԡNaJ _٩%S$p7?DV%j)gx<=]WNvfLi阘IZ/&lR*ɜ!9ʎ0dIҒȍ#0 %La&nS)JD@(=ubU:\~gTN :|oKͦx;=O=?}itr<$(ʹQs:*jR2#s*~!XCL.L]ňIP &ƢG^z297tk#_v}㰤z:)c~.RC8ZS%bᵨjl8\RbXfUQIDAT@Iޅ$q|ؤSeG1lot/}7z%+I†K'W. p)FЮ =7%ZP`uZ #SMrdᲊ8 FZ NX?4O&;n xlD/'/~MWyac %fEu^ .[p'My6ngVu1ـۊ# _p:A&BTjDHe\̘Z)rE>J;;_&igާ G~($4 /\: 꽒Q|r-I!8l=bΩLz#6,Ζ 3 1d!c5FҙE[T,U%wE<, ϯR$&fx73Mt*"G߽g'\]3cͿ8{ay3~&VŴqK"K>(,@wѾ;y@jl&ј%Z{BV9~D3%/Fگ}'l.c R,ɛi\lw{ 3c;jAU.(A#gzș+͆)}0+U*;oܼ /lF;Y)Zx9j(oL􄀛 j q#2vB*7d :L`1NLдaf4\o]{nd6p;Sd<2 &Q)XrfB4d=ϮJ.Je>pϾi0$ h4A<3^G4W>p4t*Fjy۷o f~qҶhL%ٗBbFIC'q $'Ӳy-hUHJp KKo-9k,xf6CYA-Z$^2I3ӤbWєVF[C۳Tk&dTSfQ^+P \'^l8VtF^kw,=^\iv/ZEI&qGNKb-{`#LAk#J-c˥*N&;x?lJτM9n?NVT~|z3,[;xXe2.{c?OCZxPr3 Ekx_me(ɥcwIlդ4&W [)rVfkӒ3t ޑodWʆLv;0@1q)"N[>d&UIs\i|4{I}t 8kWm3ghEII*UcգJp;MJfCcJC{J䑸]Q N)'4LNX\!@6["?*UsE֎_Ao'?H{ovfԟ4hudC%Nz?Q8JNWJTݪ~nhn /󚥅hRglRiWhj͢Dc[JVF@[ cqr%I7#皡YХuXPSZg<߸ڍ a O]0JFQU1k f>VS{\g`IDAT@1=t]tFrA/pr_3hErlM~5[7ԏR5yS400iY{QRo (XXV?.-qu Щی3Iȴ:g)&c3Ӥ8Wcz6Z: 7 r}+|C1:=$. !'yL(z.Dz/JrEqJfWFQ6:K+X=%(gO&|h;0 vw9!ijn[6;5Œ0XF..-734bg-b6oذ]6]H5QrmYʳLqud#$nf~j4J tdNBw?;AAv= ڙxP%]MФQg}Vm4kvB.Eٽ!*貾оJx6 nցŨݖ)'6fGy ?{kfCYm)؎=<*㞖j\JM7JkL1?8>L=}X4 40,^]o.l; a_o[ 2I 7^Tȶgiih`]ǂ21Oږ}5G?waXqLE(rlh+:qaX%Zex.ƍ5!蕝sۓE30p+,-Sn oͲ>ƶI6ln$Kl6G>=Ԏ`v8ҋvDf~GbU"tڞf,$_|J֎Z^229wQ1-%ij%b'ma D0|ԡjдu̗]SJ[R iJy&{OFP h4*1fEf6FE=r+ neĽŌIDAT 63h/]Kh?j3@P) lu:L˯^CE+ v-<-¹4-uYbq5h}@y 97_<< C3cDjbPPUUB ,L#7'kQa-ٞCyPќD 2a%&. }J*P,j dejۢ$.M@ aژ"uǝv>79 Cŭnf qJǢ pZOg8F’g6tO'"`^i&xJ69R¶cmp N!vNPecܕMOӴvuvnyZ,Vt=,aAoP̤$E))xkm[Ө3A{\]kqWyJmc$ o<Bi*6,OEͰ)(I|qh'+'[{dY]IuR[#rs>bIsՂ/x@w`H t%N*H\ji8޶D'r|O-K$ڀg:i^3q-*UIF_4N\.7tSp V9,1mkJB`0n{ iM:;,%S1+{ߵ*b)蔰"ifbbti3v"5՘7!jeP#y5E+F}F~Hյ#J?SƆo1qczJ8!^BzUYdb7jY_6YhL1ဩBpMd{rC7wۚX%Jx6`A!`zyLn.4iIDAT pOk{ 0St9f_Ieț!\g iqؒ؈[{bJ~Qa2+JpU6͈ ˏ4K )Ӣ bS8,34.7;;F3^Hvh[G:js-PpQ8hImJhK"Ҥ1,N]4JhZMMG_ZYwv؅yweP;Ɵ@1`zD& 0XϮM[Uuշm\_ٸqY;$ :êr]H~;H֒Z [ـ:<(!Buaf*]Q5JHɘ榏`'{yV#$,]IĆ5ڡg^JSG񉢷x#)ƅ(q0ؒ}H 5e9n93G˰1'mdH|3{[Bf)Ĵ I5M-5@^2Ben݆LbW}\pCC7-OzXi!DUj"t59Z-+%̒LgLSmC! iK{T6( a]S4^h1RKa-%뀤aGkA!l<8{g?h`TÌGmL\ fKybRf*-K% ,Uh %6GB +q9;.Mt- ԝllRM,cly< e;;pÈ>҂l%C% YGd-\}mzQB):S1OA7x;JZ04MG RF3r}V×ݨPQK]7K4l(4Z҂JiUXĮLi6YNx/rcdLYOTjyga(* ¼w@x?pJ-O.Luڿ'cˣ<&V}vxJrV_IDATں%`Yjn 5zרkPSx0>=`]xbgvvɃ%)[ _(3,/hx /Qji̹XV6.-` w7Kb/QPq!1 eTĹy99ck1B;ݾ?y911b"[4ܫ&&QЂt8*ma䱄veitµ% ~]@e~@)m+GrVu[wOW9na7]LW}2!8*^Dyh3#mb" ,#%5?5Nd]2Po pdq@1FtxyP`pn|&qDK_?gQi#q-6ݽ-;jtGp+LIb6wl=4 ?Nn[1(ڴ}p|&t.1{;h3rX;ZU{d29fMpx~3+/WX`Lݾ][}_tO{ K{_1(Gʧ- 伿8!:E H53 3,?Z]ˡ̽w/\B.?OaeW dFEы(dbF-QH-t^]IDATw/rt>ZQ>f80fG;#O'F˯~geͯ>h!?_^sdE.IENDB`n$)B_Z a3BP& kPub@zLbX!41":c8=0tr bjT!o]8^1  0Ub8M?.lFeضy4 nv~y+fg!!t@ B8VbUtEXtCommentThis GIF file was assembled with GIF Construction Set from: Alchemy Mindworks Inc. P.O. Box 500 Beeton, Ontario L0G 1A0 CANADA. This comment block will not appear in files created with a registered version of GIF Construction SetIgIFxGIFCONnb1.0 CsmsOGMSOFFICE9.0GIF89adU* .p/piۣ*VȘS^Y{! NETSCAPE2.0! ,dUCP9VM`($lHVtmjp{ _P(Tա(/OP M*"/ XX9g0\W ,[[ҩa'iD W|p`A ]J8VLSѪ~H' hƀB])"e8!@tje~l dP>h7?Cq>802Crɵ K &?6jB 2w㮻J/X f:oF:KBw;Kz4|bvM[ AHW`mx[> ;4"a[Ν+֝w1Lct}ZI?e$>,>b?@^^0 伇;A5Ԟ)3ZT1͔TQAeFX&hG]j!AOiaT#"fe hD* _#` !}T{S3Z Փv< $ muDC:ICG|#19 hJۋ A7N-zY"&$,aET(f!` +`P4 Ci(Kf-QxHߪ0,* (X5OCb'}rAƲh;kA62։(߮2aBDTBREaذ\,UqYA^ F3v 6EbyK Wa.ڌb&eJYι(&iӏ<1+Ŕg$Mh Ù-h3[␂8z6y<9103:l w6cu1!lj(3*/Q qCAa|: aaV6uҥq28J_+q(҆'5)J ޫXb(S/z8AB&le! ,dUCP9VM`($lHVtmjp{ PCKy=uX<,B@憀B 6\pp8C([P ddnhqnqk < C:|,wR a#E}>(/NO L*"/ 9f0[ W ,ZϷӺ`hW I55gi{Xb -XQǁ0$ɜ)"(V"d6!8QsjU~hdP:HM7?$P|< 1Br +ʥ>6B Bg#KE"e-,PlVRqF.xۖ(./Džavl ܺݓ~0T~)@_-p\ vĻpn~w+Org_({XhG)]DA‘PR]OPGFEKu!2]PTQAUXe.F9Z`IOiaT#"fU l)8؂.BV6H9#$JzP%bYe}S npGUƍfzp\lK_U +Ԥ EEY`S4" R%O, kutן] ҹ_A0 b]I„36 ig2cm)8SW0l;ǚfHU+γԯ%P^lrk.H=a:3CD2 /b/o/|i{{A ڮbB"p@\zrha#l`3WI6cڊMG8kxE~5WţDX-zD} u9lFxrИZ- |Dq's!&Z4YD `9kN*("#O>t'b!ޕBKUUN=iSBhЀa5{g>"xzwaWO75#S';@'CXIt g|$sQ@u<`mL"\M~VQO&\-q @[<_ =\)N(ܠd|`*% m` eLn3t~ 0/AAtS^p nh(KChWQGNO`1WFTׇ6_I C'1Z9_k@u2v(!|u2`[=U!R)VGT1qU+ռDWs@(xR%qc`\٪)cHSNhAj喪3imFMgl3"7yiC೐8zpVmbi,6NmI0~[v y FC! XK"ʗt0yً):R=(u߼amH>~cc<49; )Q V`SԄ C{*>zցy\U}fK]$! ,dUCP9VM`($lHVtmjp{ PCKy=NH( dn(4` f3DR ``jdmjmg < C:x,sR~} ]#Ey>(/|NO L*"/ 9b0W  ,VVϤ\'d >IgȋJPh*P훸OҗD#JPi O%0iE \B0&FR+ &X5S#;PHXQ  1%^1.ZmN- 8"jFhRD8N!7P4s=+$ H[lPA}mvƔJ=O#Ql,fD؉R@:hu\)`P %MOR'\e^hMR|rV2.pZд!*/qQ(@` -Npu(`$m Qr(V3RJw 3DUPG  \2)Rw.\aS!xVAD)c$z@,zN1V D1rS:Xߨ$JjXW)3ef6TsɹTa4,d(P"H*7$3Vz 2öӄxrNÛj\k^,Y0XS{fը?yԠV=9H1C O(,p&]Q2/>`&Bё"&ЬvkljpZ*ћ+^ }/\ ōqss")JaU! ,dUCP9VM`($lHVtmjp{ PCKy=uX<,B@憀B 6\pp8C([P ddnhqnqk < C:|,wR a#E}>(/NO L*"/ 9f0[ W ,ZϷӺ`hW I55gi{Xb -XQǁ0$ɜ)"(V"d6!8QsjU~hdP:HM7?$P|< 1Br +ʥ>6B Bg#KE"e-,PlVRqF.xۖ(./Džavl ܺݓ~0T~)@_-p\ vĻpn~w+Org_({XhG)]DA‘PR]OPGFEKu!2]PTQAUXe.F9Z`IOiaT#"fU l)8؂.BV6H9#$JzP%bYe}S npGUƍfzp\lK_U +Ԥ EEY`S4" R%O, kutן] ҹ_A0 b]I„36 ig2cm)8SW0l;ǚfHU+γԯ%P^lrk.H=a:3CD2 /b/o/|i{{A ڮbB"p@\zrha#l`3WI6cڊMG8kxE~5WţDX-zD} u9lFxrИZ- |Dq's!&Z4YD `9kN*("#O>t'b!ޕBKUUN=iSBhЀa5{g>"xzwaWO75#S';@'CXIt g|$sQ@u<`mL"\M~VQO&\-q @[<_ =\)N(ܠd|`*% m` eLn3t~ 0/AAtS^p nh(KChWQGNO`1WFTׇ6_I C'1Z9_k@u2v(!|u2`[=U!R)VGT1qU+ռDWs@(xR%qc`\٪)cHSNhAj喪3imFMgl3"7yiC೐8zpVmbi,6NmI0~[v y FC! XK"ʗt0yً):R=(u߼amH>~cc<49; )Q V`SԄ C{*>zցy\U}fK]$!This GIF file was assembled with GIF Construction Set from: Alchemy Mindworks Inc. P.O. Box 500 Beeton, Ontario L0G 1A0 CANADA. This comment block will not appear in files created with a registered version of GIF Construction Set! GIFCONnb1.0 ;ϱAIENDB`nx$Y[PNG  IHDRQ=PLTE{{{ssskkkcccRRRƽskkB99RBBskRJB9sc91cRk1)ZJ{cJ9sksZB))9B{kcZJBBB1BZB199c1cZRskcRJB91)ƽRkkJƥkcZcsB9s޵kބksc91{Bsk9ƵR{kcƭƄB{!JBJsέ֜{Z!!RRZތք΄sJ{!{9ckkƭZkƵZsccZZRBJJ!))1RRRJ{քR{9cksRks!BR{kskcZJsJkZRBksB{1J9cc9Z1ZkΥJRZ{c9cRZ9kcZs{RZc19BZR!ZJ1{1)s!c!R!Z){)1Bεcck!J9!Rk)c޽εέ{BssBkRR1JZJs֜sZ))sc9RRskR1B猵Jc)B{Zs猭ބ{sk)ތc{ք{Rcs91)!)k!!)!)KDtRNS@fbKGDH cmPPJCmp0712HsIDAThCo5ɐ ~$@*@ |"(%BB 4-TȨ5jW{t=/ν(YNl"?C*t:|5qdC&B)\YPyԼ̈"#V 05ʾIDAT'r(rl6Ef /H;``0x7o R@#*IŘYy_⳩"S{{ *Mv@ԏِ4Y 27%9C$a Hҍ \,0|""P@|Qހ@F F+8-7llE,Dip⋴a {DdPXddrVi\k OZZ/uU!m$0ʂ(Y-UW%MG1 GzQve?:u# t7:|4S<`9A<~}^(吀FiNi^A]1cL;sYg_xf{E #ˀ<$`=EwwJ;;(0(Fh(#Xtzw4j7c1?8 EbRSuUyGp{qTDDƼ#LGT!!|F1vBasoEjX *Rj=LFRКɦWʨ2m76{UK˜m jqDnӜ%KT9FZꚪ {!8eՏ"eX#7JnU2a鏟ܽ{~UoiV6 TDMM"j%˭1_o7>_ox_E 3HTғTjZOԏO<}cձY,'2i}45wþyy]n<87z!'`8.>]} JQFH=v%Ya6 ǽ^y"Uʛo,[M~X:~FO"M\<[gx<k$.9q |.Y"VۂR5}/m4\(W(Z=T֮5g |>&S,_DOI6ŧtXD^:ͱpϱT!؝Cb6- )n,* )A <7541IDAT<5vC |!gy.Oc%`w ċ2N.(BElM ߲a/'is}E|]HK@ |^9"T\1-A=á%bEy>[dY|{t[ŷ Key+d2BHprnpzi%Y]#]Q_v9,a?hbR(?&~m*(Ϧ%qXDf~[7QtT!&#Un 8@-/h3NnAojQI 6ygKr4RX`ϧ¤&CΞtGHnZjyf*.+<Gm-T45iY;`݆wZ L|t X+t'^/idW!CE&fy\%ujh~k{܆Ml1p 5_WPk_.uNl藌BFV]mi VV7!eX0y-P͆J7mAy7f05ϼ&֌(ܒtDJx| l!j4Q?qU$c kLJk/8t<G]GX|1|G>V?WV: HL~gx;3\Xmx o+Hh+IDAT4z=φ'p\9s{>rb9A?d/3э_Zn@|ķ:1nOݾ;xooGdH.'.;KēATt1b֯xF'u1/盽00ZDc':aָ;2`>xr$k ))u&lIZf8o4>;N jWhO~L|&0}lodueJ wWoe:wɅ6Ըj1<{kb\a|[R ĕZId{_2~5K$kJEߙڎk0DZ6ڸ{V{Popr\ۃ,&%)R#vGWK랸,yQØQ6ظJq &Pވ 7mh_/GAk\)vs ,LD?fvaL:ϧ˘">OAIh N!1Xo4ZRw'(wlnȗIOixro.C9xNƎs +Ӆ}d9g2 Y)=r8>Q&6}w|_c Л^u:]!0Rܽ1\ሕȮIEȝ³"84aCMZn pfq`;@\bxBE҉H >=܂~\6 joێqEx&{-9s4ug|4lc 7Ե&}5Q.y]x>atʘw;ġ3< _RٔFiVIENDB`nx!;B R2pMc³ SCPNG  IHDR.gAMAܲ pHYs  IDATxAJPET:q.}z.AGLA*mC$3y$䯎?a7@d=v~3 l,IIIIIII=:nwLu5͋NCLj}(1I1I1I1I1I1I1I1IX'L:_ y0I9IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIzpǂ]=aRݰ=p1I1I1I1I1I1I1I_'P;IENDB`n2G[]wYVï^>{O#߫iPNG  IHDRy4gAMAܲ pHYs  yIDATxA`D< #t% Sнi]+&}?<>#y˿I˟/an:?LwgF`k$ELR$ELR$ELR$ELR$ELR$ELR$ELR$Elylwr:s&fʯ=(1I1I1I1I1I1I1I1I[ }c~0zªpdžzqU9IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIno>;6'j~?=ލv8IIIIIIIIIIII-s0'\r:л[~+{xIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIFּ??n;0zs1I1I1I1I1I1I1I1RIENDB`r (   Q6"Wagner@cs.ucr.eduN:http://www.cs.ucr.edu/~wagnerH4http://www.cs.ucr.edu/cs12/ 0DTimes New Roman0 '; DArialNew Roman0 ';  DWingdingsRoman0 ';  b .  @n?" dd@  @@``_vSboring.wavWAVE 18SRIFF0SWAVEfmt "V"VdataR}~~|{{~|~~|{~|}}||{~}|~q~qV}o~||rvzyy{}}{{~zz|{yzzy}||xt}~||~z|z}{u~y|}z{~~~z~{zv|{{{}yy~~}|}}|}xuljg`ghmv}unkef`a_X[Y_blpqvsuxs{mhwxqysjhl}zyxh[QE=7.782;A>@86;45?BACECJXes|ui{{m}{mqwn|mst[[ZNMLLKOIFO[ctøth`_LCJ@AXaaaQ@IKP^^PC;/:HTiwy˽`=E6W_NUdb& .CPI. -[ϭiL:9FNZ]USUXY^a[\\WRD6--+6IMS]dsѼ}l^c^VQKSrcYgY(9VaR5!=rϸۿuc`ut\IFL\qrtlcf`XUQGF:+$,=P`jkt¦yqove]hi~nNR]}tE!JbgP-$ByϼӶtgolWKUjp^LKQS\VB4+$--8<9KVWmƹ{muhV\QmdEKYxvD 0MdfG$ F}Ʃqqx_KHWnz\NQOSddPG3(-+0?<4AFJ[m~ü}x|uxiUYg~dO[t`, =S\N46aӳyweSNXh|~gXSN[ba]H2*("/3496BI^o´~x|a_oz~]\th</EJF94Z~ærYWYbuqcUT`\baJ:0" $"+62=MWdu}v^iuzwXby\1;JPG) /)/);CIZl|t}}^_nvXVv|f<)DOF*;\׼dZZVjwyk[V[WX`R@:'!! -(.>FQas¹|qzw~a[z[Zzf8(HM?,C_ڼbV[_n}ui`WbjX[Y651 %#(./?HRar;vsUi|xWh\20JKD %Ad׶_V[`syspY]o_cfF>=%()$$/:DQ_q˺uurY_zb\us>?KK3 5Q}ὟgQW]j|xoWVecfgVD/$&" "(/4AN\n~˷~nytrOly|sVdx]/)DII '=eϪpUNZh}yu]O_khgaK6+!"$"*+3=GVfwů|{wT_x˲Ybyk9JPM+ ;[òഒzQITewZGWhlvkR6%$%&()0TnhL/<]r~S-+>95(+5FboJ2>WoZ2#8:5+,;DVjĪwlu{zjBP{}ο{Q\{i8VcU+ "6[дj}ōiuȸM8?Y~[:0Kf{k>'/>=/+;CSiȯml}}~d9Z}ѿrQ`a1%XdT" #9dҨwiẀdxɳzC2B]{S24Nfa7 4?;,-=FXoops{b7f|ͶqMiZ0'Y_O '9h͢sk޶}dwįuD8B[zS09L\}Y7#'6<10>GUjĭlqqz~g6[{{ֹxI]}h7WhY* #7aϭyeyōdq̿N9@V~\42DXxg?($7<2/;ERh~ͳthrt}w5TvoоQ`uv?% Mh`- /VδcsɔfnĒ[==Mug:3>NwjF'$8=0.:CPf|ʱulqspFEptɲYXw{G) Up_4 /SѶ~^m͙gkʜ^=7Jr_<*0RtnC%':=/08BPe{зybjwypyT5^sͳmNa{d9(`lZ( 3_Ьw[rŌcrÓZ=7Mv^3,0IvjJ&%9B70;FTk~кze`qtoS-So~дhNd~ũf9.hmY# !3^̥mXmɎftƑ\?=T[3)6S~fA$*=>51M\rɳi]_yu^J'NtzҶfE`zӰmB 2vw^* -ZѪlN^ϕ]eСj:2Fue2!)FuzR,%9I@9:ESg~ѿu]Xzrf\#?qpֹtHUuɋT3]uE#CxλSO|۪na۶N2=a|B'3ef8"1FD:7@N^t̷o[fxz]d7-tq׺MQw͕]9]sP9jĒZKl†\mșg:.Gu\*! AwR#(EI489DTh{¨\Ti~f\J#OrsͮnG_{L- )pl<%KϷ{RQ{ݲpWwཉR28[H(%at;"7QI=6=M^uʴjVb~rSR;,gtŹ\Zv͠e>T}pR4abRdʍ_jϣn?4Mwi2"%DtV.%=MC>8BSf~ſ}_ThX\M"Oqn˲zTbȎX6Z}pM8kȾdQićZh˝f:7O{h9EnY+"3ID;9CRe}ìjP`oVY>'YerhNg~ȿR0,k{i7%Ex«}]Sut[tŕ_8>Z`4 FqxQ)#5GC@;FTf~»ο]PczcQa1)d^ɶ^VsָwP( 4r{h3&J}ƫ{YPw߬iXyW7CfU*/X}j>':EB>=K\p˾ȲjYYmy\VV05c__XtհrIH{yW!-TqTRۦe\ٻR8GkO%3[{d:!%9FB?BK\sżűnQXjtbUT01caƶ[YuԮsJ# Bxy[,)L~~`Nr߳rYt‘Z?Fe[1+OpoD("-@FGEHXk˺z^P_dW^0"`SubRi{ņX1 +n}e6!>neFhVjϢkAD[k? "EdzxQ,!):GGGITf~ƾп][cr{\YIJcehQe|Ǐ^4,pl<;lbEezVl̠gDD`f7 %JlsJ& +=EFFESiȾι~_UXqwa_D@Z`űfH^uЕc9!kuD8hƶdE\|QfѣjFD[i?" HguuL( '5@EHKTe}ɻҿeXYtui`9DUhŲ^Ib{Ċ\0 6yf7">mcLf}Wm͝iLIcjB%&MdspF( (5DJLLSiʸdY`n{hZ)MSóMKd|R# Be.&MƨZLqܫhVv\JNm[9-2Tol^;")3=GOT_pȶĩmabwyp\ %LKKJh߮|OLa('NƦXNtڧeT}ڹXEMqS8,6^siY6$*0:DLVamɼl^jzoqX)JLͼ{EHiެwLKc-'N~WQvףfX~ִZJPqV928XpbP6$+2YrkS9 %-5AMVam{Dzļzet}wsb/JLҾ{BInܣvFb[ -]tRYˏ\eѣrZL]vL:;IeoU?)&!!*/;IS^ks׺tdsyww{F4>Yƻe?Tuɐb2 -unB8ilVi[rмiUQl`HB=YrZE4&'"(,7ER]knwʱpq{v{y}f"&?EKFeڨwE_yT1^t\dʼnaqmYWt_HBIftYA(%)%((5BR`or}u}|~xz?;Ahȸ[B^|ⷆX$ N`$ &QrY`̔enǞt`WhhLII`ze?'2,'%.9F8+5J`ºwjTV76AȐahtɠvH=rmC1WʽpnpjJO\wU* +JT@0AXtȰſκ}r`UD Rj||}zqȞu~U0CUB4*C[fidiwzwɻıwtv~ooth9ECO뿀X\̦uF %GVA2CYou|pcѨnvQ- ;B5'&D_fcYUgtnǿ|gai{vnzuV)FF`nZie9 &EJBEXj{tm{qcgЧyg{r>" #9///5SkpeWEG^y~srɺyeck||tl18?vާmZnĸ^0 #=?EVqua\gw}eViѫ~ew]6#%=<120CisV:5DbԿvxsv< #:V͞l`puE049StmK=H`m`zάlk`\P83BL^eK7-/SzpO6,1If{Ҵ{zsqxzf',;w̥{^m{hO0-22GH8@[y_<$$Fx̻zcK8# 9T|tQ3;OZe`I<96@VawйliUWnjzn:KcuzϹ³nj__bg|hDRMUկcJfvfYE6?RhgZ\gpO4!#EtĽtp|n]D7FXzf8 &(-1''=OfǺīwqmhmtlzHLR?㭆rGUvg_TA:Sa}pVOTg}aB,)?lzwywuZBBRfqI+!(02+*9Li}y|Ծzv~svmzANE=ޗoFfygbO8?YhkKHSnuW>/5RustwsTJV^{fF4286+$)=\~~uuҺ}yztZKJ(V굈MPwcc\<CFB6,-Aa}pr~Ѽ}{vjPE71`xʨkKZdX_J0=OdxYHHgkUHHUhvƽuehpxg`]dt|jTLLMF8()9Ty|wyѾwuVD?N`·wQOdQ\M-5G_z^MGZ{cWQViswŸnhnsjeguzi[W]]WI316Qm}uvǺ|^ME?SoWMbSXM.+9ATl|}½ǹv|YOB"GIi|_Q^MND(+7JixhVSkvnltysps|Ŵ}stw{}}zvsswuuldabknpg]NNPZhrxyw|i[O5.@Knr[_ULJ6(/;Tqzi[evwruz|wuu}z{z}}}{}{oigiuzwnaWUXakqsyzzyqeSK.=AW}j`_RND,.2B]vwgdoyzwx{ysq}}}~~{rjcjrpvpdc]]agkiqrxwruiZU43?Ckw{s[a\KQ;+22Eau~tfkqu}xyv}~|~skfflqtqlea_bjkkonu~}xpojaWF3<>Ws}wf]^SNG2.0;Ujy}{qjsw~z}|qlijorupigdehkloor~{ttkr]OM'=7Jpo{vi[cQMH,/-7Qhy~yrt|~}zzut|undigjqhneejhmmlomx{}~{wqnifj`MK*.96djzuxbbaJP;*/-@Yp~|~xwrou|ykbbaeikgghajonroqw|zx|ulpeihUN?%10@hoygj_OL4*+.D_uƾxroqw|mebdhae`]dgpvvwps}{vnlhbg\HD*6,XrvxelPLA%#+Omy~ɾxrlioyxg^YW][WY\Yeom{ytzz|z|}²yyn`f]YYO642/a|xbhAB6)Nu|qw{nmpq|qZOJGQRRTRYcr{~|uqzƼxn`Y\TTKM3-& ;1[xUW70' 2Vz~xsn`n}Ĵzsplt|uT<307IOY[`al||mckyĽxjYPEHIJOIM44&H4nzX>B+" "-Hwɹ~o`gvjfl\sưzrurS5"!+JXwǹe-*Owü{rxȮxnnlkidk|lC#*9NYWdgr{WB 7LĂ6 APChyȖ^ /WǺտh7 1PglA =muy{yóξt^_swpki^J,-OnzujLQK\mM1Hjp+ ThVatɒY 5_mq͵W'!;_ǼjSLEA.@sqemjgªufrzV82EXbaMA@H\ni^L?I\os=:dćC *^tpǼW) 2Yť_csL8AaӧxH"1LSQR[x|[>D`ͧr[9/;^sM2&5G\a]]Voox}J )RˎE 1cN&";dkGBnƢwwмsppzЦtEIupUHOk{eU[tүlsǨww{se\asmH&(Ff{{n[T\cqsi;"4sׯg( $Qld{}R)$BmƱ[?V̨sXcʰP)5ceG@Mo}cR]~ʻ~|ʦffu~oadnz~nS:');]qyq[SLYnoyl>%:sҧ^" )XɩeWowM')J{˯|T=TěbRnٯZ-0\sJ7>XvzgY`}öʤ}dburkmppaM<3>Pgqsl\]Xemsueh?,0?xϢW3hѯ~\Wn~gB<`ŜiCBwȦuRd޲h>(*JwT.$7[y|m[Uiå|źŤycaw|gadjh_MCDTdopcZIOVduquefN..6f֯a",bؿ~L?VulM'9\ŤpG@bηcd仌ttwhN0(0N~`2-Wj]fūs|̻µu_d}q[VZee^SMSbkmeQIFQdrxqlg`m\<5:cҤW!;yطrID[urO0*EwödMV~mzȝviw˲}yxynU@8Kqi8%MwfXcʾqZiªrn|`RWfmlcZWapujU?7DYoytklmp|yN*-F„7#W˒V>C]n\?,1SbVdĻ{ߴ{Xdճqq|zcG:Glr?"CpoZ\}ɮ`^ɵplxjWYfpnc[YeuzpYC29Qkwwi\[irxu_9#8Yٰg&0kI7Gbrb@/7b¾wRH`}}ҙaUlЭhjxw^IAOwc4:l~hj|ajѷtwrVKM\fihaenywjR>;Gdwtqhq{toeO19Nx~5$OӢ]29QkhG.3[иbGSªʑd[pϮ}^^l|kXP^X'BuzswoѺ|dVV_ionkhlondS@6>Wvpebesvtq_<9In2(ZףY4?Ug`B/?nίS>QDzܻh`taDJc}~l\Vin:*\mqr`pɫaMN\mx{spoprm]OEFThzzti_a^itwOACe߼y/(XҙP(5L_\B8JyɪUDSDzѽk`rպP6FgxcZhh65hpjt|yxbX]k|wqjd]ULMWes||}ulkbddky}~T6>Qˑ@&Q֧_*-EZdOCU~ƸpLDYȱ˜th|Ѳ{B6TzjamxX3*Oweg{ƭdUXhzwojh`[WT_hu}yttjkobjmpy}d:2=jگb!9uƒ;%8Oe`NRncIKfԾˮoqÚ`6=c|c]jxykL/$4^o]_mzqg`hs}ync^^[]ZY]enqsomgehglmwxwza71?mۯa!9pɍD%4PefURgfMLe˰rtƞb7>fj^htwlP3*9_o^_qĴuoa^j|ue][\]^_]cmsxuje_bkotwxzuxl=3@^t(5nˏB 3KceWXkeNM`˵˷xyɣd7=fl\anskT80BiiWVb{tlhn{}pf_ZZ\aefjlkkhbdefmjqtxxtj>);R̎=+Vثd((B\l`X_|xWLTzӺ̾}v̨m83[t]Ycnn`E67R~y`V\m|tvgbhwrfYXY[``choomd\[^gnrsuw}}ytc?/CbÃ71cءY&(GamcYbwUGV~˲Ʊ}zĚ^5:hoXValk[B5?^jVUh{uwuifpm^VW]aeb`fllnj`_\dikz~}ztZ2,Eqܸl'@~ϊ;.Qmq`[n[DGcð~ؾM2GxgRQ_iiWC@Otw\PYmt{ynjmywbQMS^imlgb_acdfacdbnwzwlX.*Dnߺo)9oՖH&KkxfYbcFD\ç­~P1CppQM\embLBIi}dVYg{yùzposyeSKQ^gmnida^^^`geelgr{xsZ+)Do۵d$A|̂/,SqveZf^FEaԿ׹E4RǶ_KO\ll[MGW{oYR[psrvr^QMVerxtld]ZX\ackpnqwtuneS22Goܵi';rԓ? Ekxm_edFCXĩ”V3Ao£tNCPamfUIOkwWJVr~y|{eRLS_nssl_[XWYZafjvsmnkgklQ/8P͕F)R_3]vub^rtQCMrηͨl;9^˳VAH[mm^QRgz^ILdĵ}{y~zcSIQbr{xocZVRX\bosusqkmgdldE5A\v*7lܙ=;iztgn_IHdŭչL8N}škC8E_nl^S[rkRKWp~wx~}lZNLWfquqi_XSKQZdpwvnmihgfhgJ1>Xň:/Uk"#Ov|toyyTDLoռ˦l=;ZϼY63Ecpj[P_xbI@Noƽ{st{}hSIKZkw|ri_VNKQ[gsy{tqhdgjolM4D^ʇ66eW*\wtoMBSͲٽR9JuЭwD1rsvW@CkԷ̣i?=]U/+Fi|xfZ_ps]MO`z~y}qdWS[itzuiZSNJT`gpsnkhdefcllO9@Xˊ:8eO-e{jxfHCXھVCQ{ϧq?,7X{xbYcw}jPGUo~y|{tm`YYanyxndWKJNXbltqqoheaciksb=6Hv֫Y %JӋ2OҗE1[a%RtnwPCPwȭɚdHNoؼT*'Eos_Xgvyp[LMcv|~vnd\YamxzrcRJINZcijmicifcfiim[68N՜E3^l!#Oui|~UCMsȭȜeHPpؼV+$Ajy_TZkyxl\SYkú|xyoic^]cosqiYQMNSZ_bfeeieihc\b\@;Hhp*$Ezښ:5nkmjKGZϹϮ~WM^Ъu>%0Q}nQQfzr[DBYyz|¼zt{yqlgbbeny{sdTEDJWdlmjdcfdie^_aIPhwxiXZfzxies{ppx~ztrleZPNQ[`ghb\VQOW]giceO19P˃(,Mؒ4 GȚfPdwZSeͿzhxž}px˯S=DagA8JivbW]lujgt|vy|tmjf^YY_dijdYTORYcjib_N32Iy΍5&EܡB=ѪrNUvdWdzckòv~ƨ}TAMmmE6C_y{lcbkw{wmfky~~|qjkigd`afkjc[NJPUdnmg]UE.4Mxˊ2&F٠B>ҫoIQsdYhr[f˶{~XEPrf@3Ccqd^dlqnkksyv~zqottrrkhggga_YUY[cjif]YH/5K{{$,Pӄ,%RϞdJ[|xab}ȭ\TpˮoUWstK:C`i]^_fipx|rot~{y}yqjecedjjgg`\[`c_cbG9BXǡQ6lݬM6tQLdnh~ƮYH^ݺplȽ}igznPHTp~k`[]_ds~}j_cr}~y||tljiihknqof_UOW`ikf`F4BXD!?|ӈ0%NխpJNfv{aHTϝmUcӼxo{~pa_n~ncaenqssyvjfl}~~upruxturlmlif`\`ehmk]^R@IWpd)3^Z>u˹bXi|oW[}Ϩz_dƥpwnkso\\jyxolrz}xoovzx~~}{}~|zusokhkkjlfb_a`ahaa[INXhb8'8gU17^touylqlqƵ}wqytc\ctvjgkouww}}|uppzz{zvsvvuoonnomhc`eiljd`^^V\`gxyfVNXwzf^e{~{zwnimuz|{vsqnnorvy|xurpsv{~~{{|zwtusrspomlljkhghghe]]^^hsvrkiegrz{xux}~{vomottwxvqlhilryywuolnqx}~zz|ywwtvwvvqnkjljhkjffgaY]__jvuokhdfr{zzwtw}|}{sninpszvrohgjnuxwusrquw|{vstxyyurokfjjhkheb_a^XY]]guvtnicfoxwoko{~z}ypontxw{xsojlmtxwvvtsuy}zwuvxxvtrkgghgggc`a^[^`ab[UZXat}zuoghpy~xqs{~}vuqprrrppmjllmpprrsttvxx}~{yyzwuusonliihgfdcaabbaa]abbec`_cjp|}xsot}~yz}|zutrttpljhimnoqnnnmorvz||{z{~~{}{|ywrroqommkhfdccedd`a`_behgikjhllntxxxx|~~|{zxuspnqommmlllkllnoqopoospswvywtruvvxyywusrsvvusqpnlkljllhlkikjkjjjnlpnlqptuvxy{|}{~~}zxvurqqomilkijihhgeglikjijhjlmoonmnoprtstuttsvuuuwywwvxutwustwxwwzvwxwzz|~~~}}~~~}zvxvuurrqnklkkkljjkhkjklkklkkmlnmroorrrsqtvtwuvyyywwwxz{zx{yyzz|{~~|{}{|x{xxvtttuqqoqmonljmnklkklllkkmmmpmlnpnpsrusussuywwzy{z{x|}|~~~}~{{}{|~v|{z{zyxvywtxwvuqrrswqutpsprqssssrrrrqsstuusvvwvyyw{w|{y}}}{~~}~~}~~}||{||||||{zyy|x|xxwvywyxzyswuuxwuvvutstusttussrtustsvruvswtwuwwvxxxyyyzy|{{}{}~~~~}}~}y|~||||{y{{{|}z|||{yzzzy{w{yxzzxzxyzzxyxux~{xz{yv|{yx{z{|vzz~|z||{|~~|{~~~~~~~{z|~}{|}{}y|{y{}zzzzzzy||{{yy{|yz{{{v{w{|yzyzzzzyzy{|z||z{~{y{|||||}~||{}~~{~}~}~~~||}{{{||}~z|{~~{~|{}{}}|z~}{}|}}|~{~||~{~}~}|~|{||~}|~}~~{}}}~z~~~}~}~~}}}||}}~~{}|}}|~}{}|}}}{|}}z}}}|}}}}~}~}|~}~}}~~}~~~~~~}~~~|}~~~}}~~}~}~~~}~}~}~~~~~~~~~~~~~~~~~~}~}}~}~~}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~LISTDINFOICRD 1995-02-24ISFT$Cool Edit v.1.34 by David JohnstonfactR,]mmmbeer.wav 2\RIFF\WAVEfmt **data\}~~}~~~~~~~}|~|~}~||||{|{|{{z{z{z{yyw{yyyzzy{z{{{||}{~{||}{|{||{z|{z|z{yyzyyvzwxwywxxxxwyxyxy{z{z{||{}{||}||}}}|~}~}~~~}||~}~~~}}|||{{{|z||}|}}|~~~~}}~|~||}||{{{zzz{zzz{zzz|zzy|z{{||z}{}z|}{|{}z|{}{}{|zz{{|{}~|||}z{z|z{z}y{z{{z|{||}~~{}}}}|}{|y{yzzzxxyyyyxzxyx{y{{}|}}~}~}~}~~~}}~~}~{z{yyzzxzyyuywyxxzx{y{zz||}{}}}~~}}}{{z{yyxxywxyyyy}yzy{zzzzzxxxwvxwxwxxwywywyxzyz{}}}~}~~}~z{z{zz{||z{z{z||}~~{{zzxywwwvvuwwwyyyy|z{z{zzzzzy{yyvxxwxwxxyxyxyx{z{{~~}}~~}~|~}|~~~}~~}|}}}||~{|{|zyxwwvwxyyxzywxyxyy}|}}}z{{xyyyvwwwvxyyzz|z}}~{}}~~}||~|{~|{{{yzz|{|{}~~}~|~~|}}~|}~~|~~~|}~||||{}z{xwvwyx{|zzzyuvvwwxy{z|{~}}}~~~}||{zwxxvuuvtttuuvwzy{z~|}{|{{|}}{|{yzz{y{y{yzzz{{|~~~~{zwxwzz|~{|yywwwxyxzz|zz|}{}~~~}||yzxwvtursstsssvtvuyxvwvwwvwwxvxuvtvtvvvtvvvxxz|{{~~~~}}}}~}~|zzx{y}|~~|{yxzz{z}~}~~|zywwuvutuuuuvwwxzzzyyzzzy{ywuxuvvwvvwvutuuxx{|{~~~}~|}z{zz|yzzzyyzxwyyy{zxsssuvy|}|zzwvtwyy{{}~|||zzwxuvutuvwvy{{{~~~~|{}{~y|{yxvwvvtuvttwzxyz}}~~|~}|}z{z{|{tqqutvy~|xwvsopssttwxywzx{{||}~z{wyvvtutsuuvuyy{||~}~}{x{yzwzxvtrrpqrstuvuyx}|~|{zzxxw}zuopoprw{~}ywvsrswxzxz}}{z|}|}~|zxzwutsrpqqpprstww|zzz}yxuuuwwvwtsnlkkkjnmpnstxwz|{|z{{qmpqrv{zwttorsxxz{}~~~{zyvvstqrrrttywz{|z}|yvsvxwsuurmkljihmklkoquuw{}}}~}~}|zywtz|xlilonot|~|xuuoontwxvz}|z{~~|zzxxuvuuuwyz|~{z{}zxzyvsqnmkjhjjllnqsvw{}~~}}{{xy|}wljmqpqz|}xqrqjinssruxyutwzyy}~~|{zyvutsrrswtwx||}}~}{xyy{yxzusnnlljkkonoqsuvy|~}{|~~xolqrru{}wssookoqsruwvutvwx{|}zyxyuussqpqprrvvxy|zzxvvtuvttpokiefcccedegjjlquxz~vrotvuy{wttonpuuuvz|{zy|{{~{zywustpqpsrstxwyyz{zxsssttttrrlhhhdegiijnnppsx{|~}~~}~{{zxx{~wnknrpsy~{vwroqtvvwz|DocumentSummaryInformation8Current User.{z|}|}~}|{yuvttsutvy{z~~zxxyyxxwvonkjgghjjjlnqrtzz|~{z{~{okoqpsy}vtqqkmpsqqvxxuxzxwy~~|zyvvvurqspqqutxz}~~~~~}zwzyxvvxrnllihhlmnqrvvy{~vnnqvtw|~vsqpklmppqtvvtuwwwy}{xwxwusrtprrtswx{}||}{{zxrqqqpnnmjfcd``_ceeimoqswz~~~zrrwxw|~vvsrossttwyyxxzzz{~}yxywutssrsrwwzz}||}|{yxusrrqpommggcd_bcfgilosvx}~~||}|{{{w{}zmilqqqyytuqmmqpssvw|yzy|z{}~{{{yywvttuuvy|~}|xwvwusqnmgfdebfhjkorvvy|~}{||{wvijpsps}~tssnkkqppqwyvuwwxwx|~}}xwwwvsstsqruvwy}~zvstsroolkhcbbcdgjmouvxz{~uoswwx}~xwuonpurstzwvuxzvx{~|{|yvvwtrsrqprsuwy~~}|}zzxwrroonmkheb_\\__ceijoosvy|qoswwtz~wvsolnsrsuzzyw{|{z||{zzyxwvuwwxz|~wtttqqonkgc__^\\_ccfhooqtx{|}~wniqrpry|wrqqlhlqpqrzyvsyyzx}}|z|zywxwtwyzz}|ytvusppnifdb_babeiklqrww|~}~tlqvwqy|uvsoinoonotwtprtxuyz~{~xxwywvtttsrvxy{}}xvsvqplnjfb`_[\]`bchjmqrtxztmsxstz}xxtnlqtrqu{{wwx}{{z}}{xxxytutustuxy{~wtvurmomjbb^[XXZ\^_bhkmnsv{z}~zkouytt{~w{vokqusqv}{zy{~}}~}{~|yzyxvyz}~~zy{usqqokcc`_[[\^]_dgjkorvyz~~}z~ojruqr{{uwwrkmqsmpu{xtty~zw|{zyy{yxwyxww{}}z{{vsrpmffca^]\^^aaejloqw{}umtxrqx{uvvmjkqplmsy{tsz|w|}}zwvxywttwustv{{|~xuvtrmlkgd__[ZUXX][^diiknuxy}towyvv~{wyuninqrmqy}xuz|||vwxxvsuwtsvz|}}zvwvrnnnic`]\WVW[ZZ^efhlquw|mmtwpqv|tvujggmmhipwqqqy{zv}~}~|y||z{{y{xtpoolgeb_^]\]^]_cgkjpsxy}tjpxrrvzstujgfjnnjnyzvrx~{}~xyxzuvswvwruz|z{~xuwvsopmhba`]ZZ[\^]_chklqv}~qrzzuw|y|xmintqhpy{usw}~{v|~~vx|zvvxyxuy|~~{xxuqnkmfb^_ZYWYZY\^bfglptvzz|pr{}xx~zqlpsskowztru|}yx~~~|~}~~xtpqomhhb\YTUTUVYY^`dfjoquy}vptxvu|~yzxphgmomfiuuplsxwps{~{~~|~}~zwurpnkgb`[XVVXWZ[`cghmorv|rouwqr{tstpgcfljejsxsrw}~x~yz|}wwy{yx}{sqtrnilicZWWTQOVYXY_gggktvz|~svz{ww|z|ylhkqngkuyqqv}}wx~z|~|y|}|wtsuslkjd`Z[WWTVXYY]adgjnrv{~znpurpv{vtsljcgkkdjrwtrw~{}y~}}~xyxuplifd\][\XZ[_^`chknqvz|vnrvqnxysvvnhilpjkpzzwv{}yx{zxsuywtsyz{x}|wzyxruurmihdb]\]\[Y]_a_dhnpsx~xtzzxw~}vyvnhknnhltxxuz}y|{yuxxywwz|~|}x|}{suvxqkfia^[]]ZY[^^^aelkoqz}rqxyus~yw{xnigoqlhrzyut}z~}z{~{{|{~}vtwwqjgebZZY[ZYW\^``bhmopu}tryyux~|yyvngholijtxuuu}w|~{}{xx{{xxy~~}}}{wwvtrqojgda]\\][]^abeinpsx|~ypz|{uzzy{vlhkpkektxppt~ww}z}{xz~|yx~}|~zwstsokgdc]XVYWUUY[[]afjlqtz~wp{{vy}}sikptojo{|xu|}{|}z|}|y}wsuvpolmf`Z[VSSUYYZ\aehjmrwz{wqy}xs|}vzxndgjkdcnusmox~xtu}|{|}uwxupoqme_[ZWUSXZ[\ahiklsy{}{pz~ytxzwyvkdflj`dntnlox{us{{{}zyzuoprmifgf^XVUSNPTVYY`dhioty{~|rz}zt|wzypgfklhehrtrqv{{|z{{|y~~~ytrurngifaZWWUSRUWWY[_chintz|}qmuurov|sxtogfkkffpuuqwz~|z~}{y|~~|~~ytqxuolnlb]]^\VW\][^biklsw}}opywqnw|wywqfghjfhmsrswz}z{|~{wwxywvyz|y||}~~ytswtqnqrmcb`^ZWXY[[[_dfinpwy~tz~|wz{{{vogikkfhmsruu|||||ywy{yuwz|z|~~{|xyxwutpkic`\ZXVXWYVY[_`cemptw}tqx{st{}{{xojilkhlqttyz|~~~z|~~~~xuvvurspnfb^\XUWWXW\]^acjiqtz|sw}xtv|wvtkfadecdhlqtruz|~|~}~}yzz|z~}|{yzyvurmgdb_YZYXWXXY[[^bgjpwz~tz}zv|}vuqoebdgfhgkoutqt{}{z|zy{{{xz~}~|~yvoqqoommig`[ZVUQSTXWX[__bcjorv|ut|xvwzuvrkhhkmqmqw~zx}~~}ywwxvvwwzz|xyxxtsstpnkjea_\\YYYXXX\^abilpux|~~uonuqqox|{sonlkefgoomou|xw{~z|yvsuvutvyzyzz{{zwyvuqonmihddb^\^]\`achlqtz}~}{}rmprpnw}zwurpokjnrsquz~}z~zwutpqljijjjkmssrqpsprrwtsooigdc`_caa_bdeeknrw{{ssvvsw|ytrsomlpuusv}||~}ytsqpkjhjjkimruqnrwvsvyxuopljgfbfdc^_aaaakppry}||wmousot{|uqtrnkotwvw~{usrqojjkmjmptrpsvyxyxzxxtrponjkijfedfdcfjnoux||zorurnow}vsqrnjhpstot|zw}{vonnledffeelnnmqtxxy{}}zzxwutpqrnkhkiigiloptw|{sqtsoqy}ytoqmnhgjrqprz||y{~ztsqnkecdcdeejkmknqtuvxyysttspnllkggbdbd`fhmlpsy||xvyuuz|wssqlkmutuuz|||~}vsrnkgfghefinomkmussrzxvtrsqollllgceghbfinnotx{|~~}y{unkqmkoxzwroqmkilstuu|z}}vspnjffhgegmqplpswvxw{}}wvwvspossnjkmlhmnuuwy~xprrsnpu{zrpoplijotssu|{xv~}{xsnmjfcabbbcfinnllrusuy~{yvywvsqrpqnnlmnklrwvy}{vsurrv||yywvrqoqrvxx{~|~~|yyupmkkec`cccehjikmpsrvwzwxvvvvtrqqolkkkgjjlnoqsyy|}{sruwuvz}{ssrtqstv{~|z}|~{zvnnlifccggffjnnosuvwzx|||wywwtrqpmlllkjkmmoqtvxz}~~}zyvuvruttnmkkjlqvywvutusw{}vuqnhedc`_`accgloruy||zzutsuqssvvxwz{~~||zwvutrqorrpmllknquy|}||{|y{|}ywvqmljhddbaa^_bbgikqswz}~}z{xyxwwxx{z{{}{{yxwwuuvuutqqpsqvwzz|zyyyzx{}}}}{yxtsqnmjkhhfgeffjjlmrsvz|}~|{xywxtwuvuxxwyy{{~~}|zzvwustsrswutsuuvwz|}}}}}|{}~}yyvurqopljkkiijjmnqsuxz}}{zyywxwxvxxyyzy}|}|zxwvtsqtppprprrsuvvtutuwwz~~}~|xywvsrroooopnopqssxw|~~}~}||{zz{|}|}~~~}~{}yxuwtssrqpqprpoqopruqrpssswxy{{|yzyz{{|~}~}|zz{zzz{|{{zzywwvwuuttstqsrustuxzy|~~~}||~{||~}~}~|}{zyvvrrqtpppqpppqsssrrqrttvz~|}|~||{}}|{yxwvuuuwtvuwvvtuututttuturstsssxxzy|{~}}|{zyzy{y{||~~~}z|xxwwwuvuuutvuwvxwyz{xzy{{}~}~|}{|yzxxuuvvvuvvwwywyxwxwuvyvvvxttssrruuwxy||~~zyzvvsurtqssstvyx{|~}~}~|||{|{|z||{|{zz{{|{}}|~~~~}~|~z{xywwttursststuvvyz|~}~~}|{|~|~}{zzxxxxwtvuvwwwyz{|z|}~}~~}~|~~~}~~}}|{{{{z|{zxxxvwwwuwvywxyzyxzyzxwyxxvwwvvxvxxzwzxzyy|}}}|~z|z{xzxzxyyyyyzz{|||||{|z|{}{||}||||~{~}}|||{}||~|{y{yy{zywwusrstrrppmnlmlklnlmnooprtuvvzz{z~}~~}~~~~~}~~~}}}}|}}|||{}}}~~~~~|zzywxxuwwvwvvtwtuuvvuvvvttvttvvvuuwvwvxwxwzwxxxywxxyyz{z|z~z||||}~||~~~}|}{~{||}z|z||z|{|{}{{{{|||{~|}|}~~~~~~~~|}z{|{zyzzyxyzxxxzxxxzwywywvvwwvwwwxyzz{{}|}|~~~~~}~}}|}||{|{{z}z{}|{{|||{{}{{z}||z}z||}~}}}}|~~}~~|~}||{}{|z}{~{}{||||{}|||}~}~|}~~~~}~~~|}~}||||}{}||z}{z{{zxz{zyzzy{y|z{z}z|z|y{{|{z}{||}~}~|}~}}~~}}~|~}{}{}{|z|z{z{{{zzyxyyxxvxvwvxvvxxvwwxyy{z|{|}}~}~~~~~~~~~~~~~}~}}}}|{||z}|}}}~}~}~~}}~}~|{{|{{|zyw{xxx{yzx{zz{|}{}}~}|~}~~|}{|{|{z|{{zzzyyzyyyxywywywvxxwwxxyyxyxzy{xzy|z|{}{||~||~~~~~~}~|~}}}{~}}|}~~}}}}~}|~|~{~|}|}|}}}}~~|~~}~}~}}~~~}~{{z}y{x|yz{{{{z|}{zzzxxzxxxywwxxxxyyyxyxyxzyzz{|y{z{yzyzzyyyzyzzyzy{yyz|y{y|z{{||z|||||}}||~}}}}~~~~~~}~|}|}|||~|~|}~~~~~~~~~}~}~}}~~}}|||z}z|y{xywyxwwwwuvwvwvxwxwyxxyz{zz|{|||~{~~~~~|~~}|{{{{zzz{zz{zzz|y{z}z|{}|{}|~}}~~~~}~~~~~~~~~}}~|~~}~}|~}}}~~~|~}||{~z{z|yzz{yyxzzyyzyyz|z{{}|||~{}}|}{}|}||~|}}}}}~|}{{|zz{zyyzzy{{|{|}||z}z{|}||}}}{|}}}|~{||~||}}|}}~|}~~~}~~~~~~~~~~~~~~~~~~~}}~~~~}~~~~|~|}~}~~}~~}~}~}}~}~}}}|~{|{|{yzyzyyzzyy{xyyzxzy{zzz{z{{}}{}}}}|~|||}{|{}{z{y{zyy{yzz{y{{y{z{z{{|}{}|}{|}|{|~{}|~|||}{}|}|}}~~|}~~~~}~}|~}~~}}}~~~~~|}}~|{~{|}}}|}}}||~~}}|}~}}}~~}~}|{|}{}~|||~}}}}}||||{|||{z{|{{|zzz|y{{{{z{yzyyz{z|}{|{|z{{{|zz|{{z||{||{{z{zzz{yzzzzz{{{y{{|{{|{|{}{|z|z|z}|{z|{z|{}||}|}}}~~~~}~~~}}}}~}}~~~~~~~~}}}|}}}||~{|{}{||||{}||z{}|{{||z||{{|}z|z}|{z{{yzzzyz{yzz{yzy{zz||{{||||{{{{{|zzy{yzy{yxxzyxyzxyxyxwyyvxxzxzy{z{{}}{~~~~~}~~}~|~~~}}}|||}{||||}}}}~}~}~}{~}}||}}}~}|}|}|||{z|{|{{{zzwyuwtxvvwwxvz{|}~~~~}|}{|y|zzyzzx{{yz{}{}{~||{}|{|zzyzyyyyyyxyyzyyzxyy{yzz{{{||}{}~~~~}}~~~~~}}}~~}}}~}|||z{|yzy|y}{}~~}}|}||{~{{{|{y{{{{||||z}z{y|yxzyxy{zz{z}{||{{{z|{{z}z||}|{}}||~}|{z{yyxyyxzyzzzzzy{zzyyzyzy{y{x|y{{zzx{x{xz|{{z~{{|~|}}~~~}~}~~}~~~}}}}|}|}{|z||||{~|}}~~~~}|{{wxywyx{yyy{yyyz{y{zyxyyxzz{z{y}y{z|{z|{|z{|{|||z|{}{|{}z|zzzyzz|y{{zxy{wzy|yzy{zyzzzzy{{{{}}}}}~~~}~||{z{{|{}~}}}}~}~|~|~~}}}}|~}}}}~|{|||z||{z{{zzz|z|{||z{||{{{zzz|zxyyxyyzxzzz{yz|}z|}{{z}y}{}{}|~||||{zyyywwxxwvywyy{z{{|||}|}{|{|z|z|z||{}{~~~~~}~|}|~}}}}~|~~~~~}}{~{{{z{z{{|{}}}~~~~}|~}}~~~}~{|{|z{{|{z|||{{{{z{{{zz{{zy|y{x|{z{{|{||{{z}{|{}{|z~z|z|zzzzzxyyxxyyxzyzxzyyyxxyyxxzyyz{{{{|{z{}|}|}|}}~~|~}|}}~{||{|{}|~|~}|}~}~~~~~}}~}~}}}~||{}z{y{yzyyyxyyzyzzy{z|z{{||z||||}}|~~|{||}{}z{{{zxyxxwwxxwx{y|{|z{y|yyxywvvwxwxwyyz|{~}~~~~|||{{}}{|{}}}}~}~}}~~~|~~||||}~}}}~~~~~~}~}}zyzyzxyxyxxzxyyyx{xzyyyy{xzyzz{{{{{|zz{|{|{|yz|z{{yz{y{{y|z|z|{}}}{{{{zxxxvusuutvvyy}}~{}jYxtdmohzedq}slr}ue^dfg\YZepsss~}qe``fbYW^fjosu}|ttxzz}|}d{fg{hR[pp`UHFV^_VW[m~rcbkle\^huxstp_VYZZWVV_ekkqty|~zyuwy{x|~yhpeh}sei{}pd_afpoebi{xmnqqib`juz{zrbimlcQHPZTNMQV`dcelszy|}x{{}yahnrj{|rjaersofbf{|vnrwnhbekz|ugikdSGINQQJIQ^cdchn|yz{}|yx|~afyhgu|~qmqzxthbdkrmb^m}xstvsjeft||{}vjjonbOGOWRQLNXdffflv~}}tb~dp{z|xovxwumb`homiafu}{rssukffpxz{}wrg_XTPIGINLKPV^`cgmruv}}qb}cs|zqyxlgmsqmddu{{y{|smkov{{xwpmhc\UJMPOLNPW_ccktv|~~~z{}|q`oQrrk{sioxwmiaelojfbj|zy|uzwrkimu}zy{|tljeWSUSORROY`beopty~}~_zRe|gu|jlyzpechpnifdpxz|vwypjilqyzs}zmdbeYKNONNOLT\^_homv|}~~v^Tlspvtohiqtnjck~}vy{skknv}yvzwpkb_VKKOJFHLQX][dhppw{~}zz{z|_l\Ulrymgv{re_dnnjg_iyu|tx}xmilt{xwwurbNOWRMPHIVa^\ckx}u}x}|~zd}Nk{fxvhozuifbdloif_h}xr|vxxrffmx}wwvoumaULOSQECIOU[[Yfqwuvv}uyy^`Xwvuozyjahqnmg^czn~vvzxoefrz{|lmnml[BFTOGG>EVaVYbhw{s|xywptvzw}faoEnpolhv}vaVanned]Vlnnvrw|wkdarv{vqpi`OKOSMJINZab_hux~~}{}|usz~Xr[NpxuhlmUYlplg^Vskr~limrsm]Xdzyt_l{wjP9K]ZEBFAPf`R]iumo|uwxmqz~~tz{U˥S`zpe{|\Sgutm\Ngrdx}jjrytgX\ts}xdekjXB>OTLFDLZc^_gnw~}uvysuz}{nor{|zw{}M~ãMSyuxkgxeLWlpjbQQ}_vzhhrwoeV^vzwbbz}oM;Lc[KGGRhngY`q~rs~ot}kmy}uzPhlJ{~vhshNVlvnbNPzbml_epuiXPczqmdaks`A;MUVO@AZnc\^kx~or}nq}rrq{|ydNЍB_{|nrvUTmwyobPX~]~tahsxk]S\|m~ƶurttnZGHPOMKEDTfc][hxsm{}rpxyolpv~xw\O։<@myyltbMZosiaKSXst^\fqpcWO`xp¦seroODGT_]N@Melha`lysx|pv{rlts|`Hڍߚ7Hnbn[OiwsgfdPR^n}sbT`llbPFPmzlsǶ’a_s~rM.@__G:@Ufjc`nxvvr}pdospo@L9Ĕj[s}LNkzmbbTQthgwuTYcrrdMDXvwpvгdZrmF5?W_X@8D\hc]`m|~uqp|sdky|ony=Ro(`dUnwJLjzia`UNqmfv|seR^qvlSESwuyƫvSUz_5-GfgH4Dgyqb`rw|ulqo`m|prHA-GÝjPdK>Oq}j_TGV`n{qiMWlwnQ>Jqnm{ͼgFWy]*$Qn^>7Jmwo_ao~yx}opkbt~pt|Cq>L¤wZfWEb~sb`ZQkxgyxqQXjsnWELmwtDZsSWhqiI,3N`R@=Pfpjbiw|v~rmt~uhn}{{U?ޟ:?vVW~a@SrxieVLQzoms|ZTbrvgLJc}¼ǴqOBc}i7%>aqZ:@dmak~ppqjzveiwn}R>ۡ;;zURo|DChrbRFUekpwSTars]M?Uzw{`CGdqO)*C_bO<8Sszobeurr~nn~zmt~{]<ԣMHddjO^xxme_Wfq{dWbryfOOg}zoDA_we17bjM2=_xwe\f~|pw{mkt{jq~t~~LYuBbr\h|bHZqrdaXUc~pyqZ_hvp[L]vnSNQ_`H1>W`ZQMYuzzonr}tw}ruxzxBdjHlr]pwUSgogc\SUvw{wb_gsq\PZqxeTMSXK<8{O#߫ir۰c $ n3f3@8d sʚ;+4ʚ;g4]d]d@t@0pp <4!d!d,gX<4dddd,gXg4\d\d4@@8p@ pp>___PPT9 h___PPT2001D<4X?- 2003 WL Truppel \CS 12: Intro. Computer Science II " Lecture 12O =% TemplatesWagner Truppel Lecturer, Dept. of Computer Science & Engineering UC Riverside wagner@cs.ucr.edu http://www.cs.ucr.edu/~wagner http://www.cs.ucr.edu/cs12O  O`a~b C++ Templates:Suppose you want to find the maximum of two integer values*;,c C++ TemplatesCSuppose next that you want to find the maximum of two double values*D6d A simple puzzle& <Say you have a glass of beer and another glass, of red wine.e A simple puzzle& <Say you have a glass of beer and another glass, of red wine.fAnother puzzle& How do you swap two integers ? The integers are stored in two variables But you need a third one& @b;gA general swap functionWe d like to be able to say: Give me two values of some type T and I ll swap them with this functionFZHZ 'hNo problem, right ?fWe could simply write this: void swap(T & var1, T & var2) { T temp = var1; var1 = var2; var2 = temp; }Z Z)ZZ  (iNo problem, right ?OWe need to tell the compiler that T is a parameter and not an actual type. How?LPZ" j Class templateshWe ve seen function templates (also referred to as template functions) We can also have class templates (never referred to as template classes) Same basic idea, same basic syntax)"($ )($k Class templates7template class Pair { private: T first; T second; public: Pair(T frst, T sec); T getFirst() const; } template Pair::Pair(T frst, T sec) { first = frst; second = sec; } Inside the class, just use T as if it was some specific type (class or not) Member functions are then template functionsZ ZZZ)ZSZyZ                &]PJ /l Class templates'template class Pair { private: T first; T second; public: Pair(T frst, T sec); T getFirst() const; } How to use it? Just as before, but now you need to specify what type to use: Pair point(2, 7); // a two dimensional point Pair glasses(Lens(), Lens()); // a pair of lensesNZ ZZZ)ZZZ                U..>J `cm Cranky Compilers,Many compilers don t like templates very much Make sure to put your template definitions in the same file where they re used, and before they re used$/PsxHH@Rg(HH(dh   ` www3ff` 3fff` ___>?" dF@,?n<d@uA @ " d`  n?" dd@   @@``PR   @ ` `P0p>> - 2003 WL Truppel \CS 12: Intro. Computer Science II " Lecture 12 X( = 2  NY?"! :    NPYgֳgֳ ?"`  T Click to edit Master title style! !<  HYgֳgֳ ?"  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  N0Ygֳgֳ ?"`p  Z*    NYgֳgֳ ?"`    \*     N0Ygֳgֳ ?"`@  \*   N  6n޽h? ? www3ff $Blank Presentation3  - 2003 WL Truppel \CS 12: Intro. Computer Science II " Lecture 12 +#  ( |  B  N1?"442  NY?"! :    NPYgֳgֳ ?"` D T Click to edit Master title style! !  HpYgֳgֳ ?"P  D W#Click to edit Master subtitle style$ $  NPYgֳgֳ ?"`p D Z*    NYgֳgֳ ?"`   D \*     N`gֳgֳ ?"`@ D \*   N  6n޽h? ?  www3ff5H P<f(  < < 0Y "P   ה R*   < 0@Y "   ה T*  r < c $ ?"  ה$ < 0Y " @ ה RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S < 6 Y "`P  ה R*   < 6i "`  ה T*  H < 0޽h ? ̙33@ `D( @ $  D D 0Y "P   ה BCS 12 Lecture 12  D 0i "   ה T*   D 60i "`P  ה BCS 12 Lecture 12  D 6i "`  ה T*  H D 0޽h ? ̙33  0 L(  P   c $pY "0P D   c $Y "P  D B  s *޽h ? 3ff   p( 00// x  c $0i`  D   S Pi<$ D   Higֳgֳ ?,$D -cYou could write a function for that: int max(int a, int b) { if (a > b) return a; else return b; }h%?%->%,3  HWgֳgֳ ? ,$D ASuppose now that you want to find the maximum of two float values*B5  H@Wgֳgֳ ? ,$D oYou could write another function for that: float max(float a, float b) { if (a > b) return a; else return b; }h+E+-H  0޽h ? www3ff  b ;( `0 x  c $W`  D   S W<$ D   H Wgֳgֳ ?,$D pYou could write a function for that too: double max(double a, double b) { if (a > b) return a; else return b; }h)H)-+  HWgֳgֳ ? ,$D 9What if you want to find the maximum of two Speed values?*:,   H@Wgֳgֳ ? ,$D rYou could also write a function for that: Speed max(Speed & a, Speed & b) { if (a > b) return a; else return b; }h*I*/X  C A couch.gif 00173889Earth B9B583FF:  ,$DH  0޽h ? www3ff  c C( 0 x  c $W@  D   S `Wp<$ D X  C A fig1.pdf 00132CB4Earth B9B583FF:`,$D%  HWgֳgֳ ?@p ,$ yeNow suppose that for some reason, you want to swap the contents of the two glasses. How do you do it?X  C A drinking.gif 00173889Earth B9B583FF:P Pp ,$DH  0޽h ? www3ffB  d j(  x  c $W@  D   S  Wp<$ D   HWgֳgֳ ?@p ,$ :Now suppose that for some reason, you want to swap the contents of the two glasses. How do you do it? You need another glass& $~o  H`Wgֳgֳ ? 0,$D  F2Does it matter that the glasses had beer and wine?$  C A  fig1b.pdf 00132CB4Earth B9B583FF:` H  0޽h ? www3ff#  e K( ? x  c $W@  D   S @Wp<$ D   HWgֳgֳ ?` ,$D Pvoid swap(int & var1, int & var2) { int temp = var1; var1 = var2; var2 = temp; }X$+$#>  )/  H Y0gֳgֳ ?  ,$D  SDoes it matter that you have two integers as opposed to two values of another type?TTH  0޽h ? www3ffP  f x(   x  c $V0`p0  D   c $U0<$ D   H`^0gֳgֳ ?,$D hP void swap(T & var1, T & var2) { T temp = var1; var1 = var2; var2 = temp; }"Z,ZZ  * l  H  0޽h ? www3ff  g B( `P x  c $X0`  D   S Y0 <$ D   H|gֳgֳ ?P p ,$D R"It doesn t work !~  H@|gֳgֳ ? ,$D `because T would be interpreted as the name of some class we defined, rather than as a parameter V`M X  C A nelson.gif 00173889Earth B9B583FF:@,$DH  0޽h ? www3ff5  h ]( |,    S |P<$ D   H |gֳgֳ ?@,$D JFunction templatesZnA  H@|gֳgֳ ? ,$D c template void swap(T & var1, T & var2) { T temp = var1; var1 = var2; var2 = temp; }5Z,ZZ  *  l  P  H |gֳgֳ ? ,$D Despite the keyword class, you can now use this function for any type that supports the assignment operator. swap(int1, int2); // swap int variables swap(char1, char2); // swap char variables swap(foo1, foo2); // swap Foo variableslZ    $    +      {  ,O    ``|gֳgֳ ?`<$  D H  0޽h ? www3ff4  i \( ? x  c $|`  D   c $|`<$ D H  0޽h ? www3ff  j *(  x  c $@T0p  D r  S ip D H  0޽h ? www3ff  k *( ? x  c $ ip  D r  S ip D H  0޽h ? www3ff4  l  \( $ x  c $`i`  D   c $i<$ D H  0޽h ? www3ff tl@H(  HR H 3 <   4r H # pi< @  4  H H 0޽h ? ̙33cxp^RЀ3ÿ lHbP  @AL G@;b `B&VDI5NWT\^`bofGgo  Oh+'0' px  'GeneraleneeneWagner Truppelo314Microsoft PowerPointrP@y@@S@@S@u #uG&PICT&x HH HH  kpnnnnnnnnnnnnnnnnnnnnnnnnnnnnCggفgg٬n=,hne,Mnm^nO["""}7g["""}7gn' fn^6nj,nt)DZͶײ}ҮPDZηt)DZͶײ}ҮPDZηnX2n)VLcnngUgXNijPWmniUe]Mfn^6nm[K[nnT"\nnVLcnmYOfnԁ!?h7tN ; 73?}4x-HN  "@i7tN ; 73?}4x-HN  ; 0BZn7X2nm"LnQ7nY a^6l4nm"Lng  Hnց~Y7t;N\,%}m-)^;[7t;N\,%}m-)^;< -Qmn7X2nH;i mQ"l(9i nYaK<^6`/Vln_(gH;i mEJl=fn7X2n1 &bQ>n5Xn nY2nn ^6nQ, ng-n1 &bg,[nց~ pt#=\P}aBgP$ st#=\P}aBgP$?9fnX2n;9E#gQCn7^n nY(nm"^6L*V ng,n;9Egnd?"mnց~8t^8M=}}A^8M A"8t^8M=}}A^8M A"@Gmn8X2n[(Z!mQCn7^n nYF6E^6;JWnjU[(Z!mCG`lnЁ~,7t (=KC}2KB8 (X717t (=KC}2KB8 (X7A%]n7X2nn8TnQCn7^n nY h^6d bnn8Tnk&Nn~ CGnmenY;lenfmnmdmnnmenmgn1~EJD1hnY;n1~$ӛ*ӛE(anfE[n%~ F$Znn%~G!#Wnn%~ H#%Tnn%~  I%&Xnn%~ K(*\nn%~ ΁ ЁK)-ann%~ &L+3hnn%~5 >N.Emnnnnnnnn~z  V?Vnnnnnnnn nnnnn|~XBCgnnnnnnnnnnn@~?LYDNnnnn"~ZF`nn%~ 0[HMlnn"~]L^nns~ ^NPknnnnnnnn~u^O]nnnnnnnnnnnnnnn߁~ `RSlnnnnnnnnnnnnnnnnnnnnnnn~q}aT`nnnnnnnnnnnnn