ࡱ> `!)zqr+??NJ XJxcdd``> @c112BYL%bpu;vv0o8L+KRsnePdhB 0Cbd`+XNI`!hh 'a V2  &XJxcdd``db``baV d,FYzP1n:&&^! KA?H1Zx ㆪaM,,He`c&,eBܤ9~31ܘ!+(|-oI3d*F\u m#dn? J"y ;!2]J{Iq Nd6c ebAu錧ĺq7D sm`aS 㗱p,8Ly;#俐br< 7=W@|C8U ?3 9 *Q{ |.h@pp@;g+KRs A`PdhB a Հ`!?C4͹@q8m`PH xcdd`` @c112BYL%bpuRS.i @2RxڕRJ@}ID<"ŋţ^$t$D$*Zlo*m:Q I"38'lY<*Oq,ZpQŽӌxyκ}7l+VX(}?vV!~h~fAhy<\_9K+WMYbx~*oS^}И"ACVs;hBVu4ԫPWݷBZjR143p1ܣN]`!(@9_`<# RXJxcdd``> @c112BYL%bpugB8b/# , #lpIEM&sp8>B7,'޽2 \ =8 BBӞ;+KRsePdhB ~`م`!\ZN=>o^ `x *xڝ=hAߛٯy*X"jJ8HR9Dq$V6BP++  STlDQD:þ`1̼1W+#XDB3NO-xAp@y?^NωHkb<-9jU}AU{_zd~7]?_spcxz_~ϡQӶ\'-d}< zըe|O๱.p"' B}[WM5 /$/ +vm]^[p]a^`!JCY\^ ޟ!ڹ!xڥkPg&MM]hl-<]H馮UZAxaA^< EdK)Tl|o^^-HMxa>7o(Rjbb!qHٙΡ-{:70'!bpwJv)b7+ A~(40(8G}3UV,M~O8C pٿ6;K=xtQ n5'Z#ӯOяA)(nnH`$y1=\2E(?dT_t}7M8(O{h!/NGP=ɫ_Xyk q^-OlQ[+:ǵ~=W7%y9ŧ(e_g=?|L"ɕ( ɵiDs9`}uԼ)Otc$_=h=d{|1Q;y? Jn oN^\8$:;Z^ 0#q68@~z_C V`!@~_Bm3q2@`0xڥT;,CQқT0\!BfHDTP$,BX,ubi"bQ,E-$zssns b/حt e7ZyaI}l&S1Mcmx7/dL\ZΚkY98uW?;TAz%ыw\"G?ԃ{c=%6q}^UozT}UH}cym8rx$>"nkxڥ/A߼VmiAXAW6z!/Q(¡w"E$5fvS&nf>;73 Z' :@<.>h[ȘZE kU|:4n639uG)0㇩hn%Rĸx7f2w &fnw4-K u`$eXޜM')_a/yl^ޒ9k=B~<.y=''xU'U!%l>YGp*^ e=ϿՃԫNJIwqlpx}UIRW%sRz `$do߄YB͸EDU͸Lc=M4~Md^O'(xV=ؿ2D>3g^\=J\7M36,Z@tN!vX.]Cb: AuO4 `!'Uُ\B`"f`!xcdd``$d@9`,&FF(`Tic A?d=bAm@ UXRY`,@1[)!Ar؅,L ! ~ Ay 7. _=ӖCdeYQuՌ`S!v0y{ddbR ,.Ie`ԡ)En&0h3X?O=`![ qhq%@ PVZxcdd``f 2 ĜL0##0KQ* WفSRcgbR vx@f0@0&dT0pE1At 2Bab`RfFv;35v! @Hfnj_jBP~nbÍB4u`tUB=l|d~>*.X>f^q;dBr%AI9 \I*τpb.KYAF\$ / 8MNLLJ% w0u(2t58b@33X?Nq+`!zC3(| aghxcdd`` @c112BYL%bputI9@B\_> N>pguL mb ')n{1W̓l ;9 yCsLLJ% SA0u(2tA4!t?3e7zu`!\Q+WQ0n^hv` hZxcdd``b 2 ĜL0##0KQ* W!d3H1)fYˀX(T UXRYPd,@1[)fRcűX@n{# &br<??bCak@A*D`03M!kdL@(\R˻NCaڳ ; Ű",`nO_.pnv0o8021)W2ԡ"b@#3X?ʀ`!(.BjρBvݒ@|xcdd``> @c112BYL%bpu @c112BYL%bpu;vv0o8L+KRsePdhB 0Cbd`L`!4qkZ8cXsBJ`h0xcdd`` @c112BYL%bpu @c112BYL%bpuVdw ⅑x 1JyP͉͟* NJ^b> L I90Vy&Dd1*ӭ ܞt 矔mf1T PmA|]8;y9POgGߎ ķ 깠'SH0y{e #RpeqIj.(:@ !4 ߿3`!5b_چJ:r`h0xcdd`` @c112BYL%bpuFnoJ.!o `p121)W2<ԡ-υ`~ /Q]`! %7̾~XA;_Frxڥ+DQ=1oyYHϏD~,d&xel$ 6,l% eCYXXHɏf)@yndǛNϽs=y@@@=E4BgHt]g[ K]Ab4D\&vhlZ;T4K͏'l`  4Z]y3RZ[O{ABg gbڊ @c112BYL%bpu @c112BYL%bpu;vv0o8L+KRsePdhB 0Cbd`lM`!)FJe 䢡 U2@H|xcdd``> @c112BYL%bpu @c112BYL%bpuɼ{pv>ae]:&;bAL'I>3}5+PS#?tEu:(Qg=T,%Hl>^Ϫ&)U~~*w1eCxcB9Iq*5 1"gp B|,{}`!CKD D5|~H?Hxcdd`` @c112BYL%bpu ~E20DIOإ\28' F&&\' @ ] @2EJ|p`!/ GhDLr^R$ jXu#8xcdd`` @c112BYL%bpu^PL f%$MDfd, l8$\Dl9[IkRi8O~/8Zqޛw=FWm gaީnm!:7 =sRϘ(34tKK){k˻aPW_O@_>,YpX3゗s>c:d9~#gq9] uo]"E֘Ώt9DvSօk9ҩR\o!Epܞl`/^܈x(  % FEquation Equation.30,Microsoft Equation 3.00FEquation Equation.30,Microsoft Equation 3.00u(FEquation Equation.30,Microsoft Equation 3.00+FEquation Equation.30,Microsoft Equation 3.002FEquation Equation.30,Microsoft Equation 3.003FEquation Equation.30,Microsoft Equation 3.007FEquation Equation.30,Microsoft Equation 3.009FEquation Equation.30,Microsoft Equation 3.00BFEquation Equation.30,Microsoft Equation 3.00DFEquation Equation.30,Microsoft Equation 3.00HFEquation Equation.30,Microsoft Equation 3.00LFEquation Equation.30,Microsoft Equation 3.00NFEquation Equation.30,Microsoft Equation 3.00PFEquation Equation.30,Microsoft Equation 3.00QFEquation Equation.30,Microsoft Equation 3.00SFEquation Equation.30,Microsoft Equation 3.00 UFEquation Equation.30,Microsoft Equation 3.00 ZFEquation Equation.30,Microsoft Equation 3.00[FEquation Equation.30,Microsoft Equation 3.00]FEquation Equation.30,Microsoft Equation 3.00`FEquation Equation.30,Microsoft Equation 3.00cFEquation Equation.30,Microsoft Equation 3.00dFEquation Equation.30,Microsoft Equation 3.00eFEquation Equation.30,Microsoft Equation 3.00fFEquation Equation.30,Microsoft Equation 3.00 gFEquation Equation.30,Microsoft Equation 3.00!hFEquation Equation.30,Microsoft Equation 3.00$iFEquation Equation.30,Microsoft Equation 3.00%kFEquation Equation.30,Microsoft Equation 3.00&lFEquation Equation.30,Microsoft Equation 3.00'mFEquation Equation.30,Microsoft Equation 3.00(nFEquation Equation.30,Microsoft Equation 3.00+oFEquation Equation.30,Microsoft Equation 3.006uFEquation Equation.30,Microsoft Equation 3.007vFEquation Equation.30,Microsoft Equation 3.00<wFEquation Equation.30,Microsoft Equation 3.00OFEquation Equation.30,Microsoft Equation 3.00WFEquation Equation.30,Microsoft Equation 3.00ZFEquation Equation.30,Microsoft Equation 3.00]FEquation Equation.30,Microsoft Equation 3.00^FEquation Equation.30,Microsoft Equation 3.00bFEquation Equation.30,Microsoft Equation 3.00dFEquation Equation.30,Microsoft Equation 3.00gFEquation Equation.30,Microsoft Equation 3.00hFEquation Equation.30,Microsoft Equation 3.00oFEquation Equation.30,Microsoft Equation 3.00rFEquation Equation.30,Microsoft Equation 3.00uFEquation Equation.30,Microsoft Equation 3.00xFEquation Equation.30,Microsoft Equation 3.00{FEquation Equation.30,Microsoft Equation 3.00FEquation Equation.30,Microsoft Equation 3.00oFEquation Equation.30,Microsoft Equation 3.00pFEquation Equation.30,Microsoft Equation 3.00qFEquation Equation.30,Microsoft Equation 3.00rFEquation Equation.30,Microsoft Equation 3.00FEquation Equation.30,Microsoft Equation 3.00vFEquation Equation.30,Microsoft Equation 3.00wFEquation Equation.30,Microsoft Equation 3.00xFEquation Equation.30,Microsoft Equation 3.00FEquation Equation.30,Microsoft Equation 3.0/ 0DTimes New RomanF0Wo 0DArialNew RomanF0Wo 0" DWingdingsRomanF0Wo 00DPalatino Linotype0Wo 0@DMonotype Corsiva0Wo 0BPDSymbole Corsiva0Wo 0c(.2  @n?" dd@  @@``    .!                   $ ,      '        !            , 3'        )  ,h/ %+   O  g+   FJ '    !?(  2$zqr+??NJ12$hh 'a V12$C4͹@q8mG2$=f Cn"{F2$>RS.i`2$@9_`<#02$Z=!e珓2$ZN=>od 2$CY\^ ޟ!ڹR+ 2$@~_Bm3q2}2$oZ.4Ix2$Uُ\B`"/2$[ qhq%2$zC3(| agK2$\Q+WQ0n^hv"2$.BjρBv02$ 9Iպ6a12$qkZ8cXsBJ<2$Jdow<S2$s 5gqU=2$&f d$ۡޗ4 02$kpEÙfm;ߥ=SD2$b_چJ:r=@"2$%7̾~XA;_F}#2$&U1| OV%2$7G A@i=DA'2$Kˍ7M0$~0)2$|3N[Vd *2$Dyg= 21+2$FJe 䢡 U21-2$0 [/:K-1.2$i'pu'ٯe^/2$Int4Sb Q*02$KD D5|~H?K22$"s bj@X2_j32$MNdIɣ5eP52$?$G+FE*i62$M%oFCn82$Edj92$ EEȲB ;2$Gbv ekfi:<2$PcRkn?=2$ GhDLr^R$ 7*?$2$uh= AQ#aAc $0e0e     A@ A8c 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| @8 g4KdKd0 ~ppp@ G4BdBd0s ʚ;f"2ʚ;<4!d!dЁ 0<4ddddЁ 0<4BdBdЁ 00___PPT10 n___PPT9P/ 04=?D$ 0Essential Math for GamesO =W,B %Marq Singer (marq@essentialmath.com) & T              The Problem   3What are they Why do we care What are they good for4  / The Basics   Constraint  something that keeps an entity in the system from moving freely For our purposes, we will treat each discreet entity as one particle in a system Particles can be doors on hinges, bones in a skeleton, points on a piece of cloth, etc.Z   Box Constraints3Simplest case Movement constrained within a 2D areaF;Box Constraints -Box Constraints (cont)Restrict P to extents of the box Recover from violations in position (last valid, rebound, wrap around) Simple, yet the basis for the rest of thisBead on a Wire\The Problem: Restrict bead to path Solutions: Explicit (parametric) method Implicit method L  /  /W<Parametric Constraints DBead on a WireFrom Baraff, Witkin N = gradient f = force fc = constraint force f  = f + fc@     P .Implicit Representation3 legal position legal velocity legal acceleration43AImplicit Representation1Constraint force = gradient vector times scalar l,20Spring ConstraintsuSeems like a reasonable choice for soft body dynamics (cloth) In practice, not very useful Unstable, quickly explodesStiff ConstraintsA special spring case does work Ball and Stick/Tinkertoy Particles stay a fixed distance apart Basically an infinitely stiff spring Simple Not as prone to explode/ k!Cloth SimulationNUse stiff springs Solving constraints by relaxation Solve with a linear system0Cloth SimulationZ $2Cloth SimulationForces on our clothX=Cloth SimulationRelaxation is simple Infinitely rigid springs are stable Predetermine Ci distance between particles Apply forces (once per timestep) Calculate D for two particles If D != 0, move each particle half the distance If n = 2, you re done!9" 9  G),F3g$Relaxation MethodsZ Y>Relaxation MethodsZ %Cloth SimulationWhen n > 2, each particle s movement influenced by multiple particles Satisfying one constraint can invalidate another Multiple iterations stabilize system converging to approximate constraints Forces applied before iterations Fixed timestep (critical)&Z  "More Cloth SimulationUse less rigid constraints Vary the constraints in each direction (i.e. horizontal stronger than vertical) Warp and weft constraints#Still More Cloth Simulation Sheer Springsp@Still More Cloth Simulation Flex Springs &Articulated BodiesPin Joints Hinges Angular ConstraintsHRestrict the angle between particles Results in a cone-shaped constraintEAngular ConstraintsEUnilateral distance constraint Only apply constraint in one direction'Angular Constraints7Dot product constraint Recovery is a bit more involved!1 Stick ManUses points and hinges Angular (not shown) allow realistic orientations Graphic example of why I m an engineer and not an artist(Using A Linear SystemdCan sum up forces and constraints Represent as system of linear equations Solve using matrix methods, Basic Stuff}Systems of linear equations Where: A = matrix of coefficients x = column vector of variables b = column vector of solutionsT~%14 Basic StuffdPopulating matricies is a bit tricky, see [Boxerman] for a good example Isolating the ith equation::IZZW > $ *3Jacobi Iteration 3Solve for xi (assume other entries in x unchanged):(4 ( (55Jacobi Iteration In matrix form:CJacobi Iteration JDefinition (diagonal, strictly lower, strictly upper): A = D - L - UHKZ (*Gauss-Seidel Iteration+Uses previous results as they are available,,;6Gauss-Seidel IterationIn matrix form:<7Gauss-Seidel Iteration =8 Successive Over Relaxation (SOR)  eGauss-Seidel has convergence problems SOR is a modification of Gauss-Seidel Add a parameter to w G-S 0f_A9 Successive Over Relaxation (SOR)  T = a Gauss-Seidel iterate 0 < w < 2 If w = 1, simplifies to plain old Gauss-SeidelNU*G:Gauss-Seidel IterationIn matrix form: +!Lots More Math (not covered here)6I highly recommend [Shewchuk 1994] Steepest Descent Conjugate Gradient Newton s Method (in some cases) Hessian Newton variants (Discreet, Quasi, Truncated)$y  References   Boxerman, Eddy and Ascher, Uri, Decomposing Cloth, Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004) Eberly, David, Game Physics, Morgan Kaufmann, 2003. Jakobsen, Thomas, Advanced Character Physics, Gamasutra Game Physics Resource Guide Mathews, John H. and Fink, Kurtis K., Numerical Methods Using Matlab, 4th Edition, Prentice-Hall 2004 Shewchuk, Jonathan Richard, An Introduction to the Conjugate Gradient Method Without the Agonizing Pain, August 1994. http://www-2.cs.cmu.edu/~jrs/jrspapers.html Witken, Andrew, David Baraff, Michael Kass, SIGGRAPH Course Notes, Physically Based Modeling, SIGGRAPH 2002. Yu, David, The Physics That Brought Cel Damage to Life: A Case Study, GDC 2002 Z R +O>K9             5              &     8        !     |                                  g    )    ` f33` 3f3` ___>?" dd@,?" dd@  " @ `"  n?" dd@   @@``@n?" dd@  @@``PR    @ ` ` p>>D$ 0Essential Math for Games r(    Ngֳgֳ ?P  X Click to edit Master title style!!  2  Htgֳgֳ ?  RClick to edit Master text styles Second level Third level Fourth level Fifth level!    S    Z!1 ?``  b* 2    Z(1 ?`   X*(2    Z+1 ?`   Z*(2  N  6޽h? ? 33 Default DesignE D$ 0Essential Math for Games @ 3(     Njgֳgֳ ?p  X Click to edit Master title style!!    HXmgֳgֳ ? p  [#Click to edit Master subtitle style$$    ZX1 ?``  d* 2    Z\]1 ?`   \*(2    Ze1 ?`   \*(2  N  6޽h? ? 333 0 ( ~@K@   Br 1?P%  r X* 2     Br 1? % r Z*(2   p  0 ?*P  r,  Br 1? @2 r RClick to edit Master text styles Second level Third level Fourth level Fifth level!    S    H$lr 1?P  r X* 2     Hor 1?  r Z*(2   H  0h0 ? ̙3380___PPT10.QA9 XP( \@d@   Bxr 1?P%  r X* 2     B|r 1? % r Z*(2     HԀr 1?P  r X* 2     H܄r 1?  r Z*(2   H  0h0 ? ̙3380___PPT10.Qp {G VN0 (     NXtgֳgֳ ?0<  Constrained Dynamics,    Thugֳgֳ ?  J  H  0޽h ? 3380___PPT10.#\z  P@$(  @r @ S .P   r @ S   H @ 0޽h ? 33  ` $(   r  S  P   r  S D   H  0޽h ? 33  p8 $(  8 r 8 S  P   r 8 S +  H 8 0޽h ? 33    )(   x  c $EwP  w x  c $Fw  w v  N jJ?vh v2  NjJ? vB  NDjJ?  v2  NjJ?  ; @  HBw jJ?  7P 2   s *A ??, 8x d  Hw jJ? V  9100 2  Hw jJ?   70 2H  0޽h ? 33   0(   x  c $D # T 2  ?D # 4 ~B @D  NDo?vv~B AD  NDo?ss~B BD NDo?'s~B CD NDo? 2 ~B DD NDo?  2 ~B ED NDo?  2 ~B FD NDo? k 2 ~B GD NDo?n Q 2 ~B HD NDo?T 62 ~B ID NDo?:p2 JD  TjJ?}:2 KD  TjJ? } :T   LD # T 2  MD # 4 ~B ND  NDo?vv~B OD  NDo?ss~B PD NDo?'s~B QD NDo? 2 ~B RD NDo?  2 ~B SD NDo?  2 ~B TD NDo? k 2 ~B UD NDo?n Q 2 ~B VD NDo?T 62 ~B WD NDo?:p2 XD  TjJ?}:2 YD  TjJ? } :L  D # ZVT   D # T 2  D # 4 ~B D  NDo?vv~B D  NDo?ss~B D NDo?'s~B D NDo? 2 ~B D NDo?  2 ~B D NDo?  2 ~B D NDo? k 2 ~B D NDo?n Q 2 ~B D NDo?T 62 ~B D NDo?:p2 D  TjJ?}:2 D  TjJ? } :T   D # T 2  D # 4 ~B D  NDo?vv~B D  NDo?ss~B D NDo?'s~B D NDo? 2 ~B D NDo?  2 ~B D NDo?  2 ~B D NDo? k 2 ~B D NDo?n Q 2 ~B D NDo?T 62 ~B D NDo?:p2 D  TjJ?}:2 D  TjJ? } :T   D # T 2  D # 4 ~B D  NDo?vv~B D  NDo?ss~B D NDo?'s~B D NDo? 2 ~B D NDo?  2 ~B D NDo?  2 ~B D NDo? k 2 ~B D NDo?n Q 2 ~B D NDo?T 62 ~B D NDo?:p2 D  TjJ?}:2 D  TjJ? } :L  D # Z!T   D # T 2  D # 4 ~B D  NDo?vv~B D  NDo?ss~B D NDo?'s~B D NDo? 2 ~B D NDo?  2 ~B D NDo?  2 ~B D NDo? k 2 ~B D NDo?n Q 2 ~B D NDo?T 62 ~B D NDo?:p2 D  TjJ?}:2 D  TjJ? } :T   D # T 2  D # 4 ~B D  NDo?vv~B D  NDo?ss~B D NDo?'s~B D NDo? 2 ~B D NDo?  2 ~B D NDo?  2 ~B D NDo? k 2 ~B D NDo?n Q 2 ~B D NDo?T 62 ~B D NDo?:p2 D  TjJ?}:2 D  TjJ? } :T   D # T 2  D # 4 ~B D  NDo?vv~B D  NDo?ss~B D NDo?'s~B D NDo? 2 ~B D NDo?  2 ~B D NDo?  2 ~B D NDo? k 2 ~B D NDo?n Q 2 ~B D NDo?T 62 ~B D NDo?:p2 D  TjJ?}:2 D  TjJ? } :L  D # ZT   D # T 2  D # 4 ~B D  NDo?vv~B D  NDo?ss~B D NDo?'s~B D NDo? 2 ~B D NDo?  2 ~B D NDo?  2 ~B D NDo? k 2 ~B D NDo?n Q 2 ~B D NDo?T 62 ~B D NDo?:p2 D  TjJ?}:2 D  TjJ? } :T   D # T 2  D # 4 ~B D  NDo?vv~B D  NDo?ss~B D NDo?'s~B D NDo? 2 ~B D NDo?  2 ~B D NDo?  2 ~B D NDo? k 2 ~B D NDo?n Q 2 ~B D NDo?T 62 ~B D NDo?:p2 D  TjJ?}:2 D  TjJ? } :T   D # T 2  D # 4 ~B D  NDo?vv~B D  NDo?ss~B D NDo?'s~B D NDo? 2 ~B D NDo?  2 ~B D NDo?  2 ~B E NDo? k 2 ~B E NDo?n Q 2 ~B E NDo?T 62 ~B E NDo?:p2 E  TjJ?}:2 E  TjJ? } :F  E   W T   E # T 2  E # 4 ~B  E  NDo?vv~B  E  NDo?ss~B  E NDo?'s~B  E NDo? 2 ~B  E NDo?  2 ~B E NDo?  2 ~B E NDo? k 2 ~B E NDo?n Q 2 ~B E NDo?T 62 ~B E NDo?:p2 E  TjJ?}:2 E  TjJ? } :T   E # T 2  E # 4 ~B E  NDo?vv~B E  NDo?ss~B E NDo?'s~B E NDo? 2 ~B E NDo?  2 ~B E NDo?  2 ~B E NDo? k 2 ~B E NDo?n Q 2 ~B E NDo?T 62 ~B  E NDo?:p2 !E  TjJ?}:2 "E  TjJ? } :T   #E # T 2  $E # 4 ~B %E  NDo?vv~B &E  NDo?ss~B 'E NDo?'s~B (E NDo? 2 ~B )E NDo?  2 ~B *E NDo?  2 ~B +E NDo? k 2 ~B ,E NDo?n Q 2 ~B -E NDo?T 62 ~B .E NDo?:p2 /E  TjJ?}:2 0E  TjJ? } :F  1E  J W T   2E # T 2  3E # 4 ~B 4E  NDo?vv~B 5E  NDo?ss~B 6E NDo?'s~B 7E NDo? 2 ~B 8E NDo?  2 ~B 9E NDo?  2 ~B :E NDo? k 2 ~B ;E NDo?n Q 2 ~B E  TjJ?}:2 ?E  TjJ? } :T   @E # T 2  AE # 4 ~B BE  NDo?vv~B CE  NDo?ss~B DE NDo?'s~B EE NDo? 2 ~B FE NDo?  2 ~B GE NDo?  2 ~B HE NDo? k 2 ~B IE NDo?n Q 2 ~B JE NDo?T 62 ~B KE NDo?:p2 LE  TjJ?}:2 ME  TjJ? } :T   NE # T 2  OE # 4 ~B PE  NDo?vv~B QE  NDo?ss~B RE NDo?'s~B SE NDo? 2 ~B TE NDo?  2 ~B UE NDo?  2 ~B VE NDo? k 2 ~B WE NDo?n Q 2 ~B XE NDo?T 62 ~B YE NDo?:p2 ZE  TjJ?}:2 [E  TjJ? } :F  \E  VT   ]E # T 2  ^E # 4 ~B _E  NDo?vv~B `E  NDo?ss~B aE NDo?'s~B bE NDo? 2 ~B cE NDo?  2 ~B dE NDo?  2 ~B eE NDo? k 2 ~B fE NDo?n Q 2 ~B gE NDo?T 62 ~B hE NDo?:p2 iE  TjJ?}:2 jE  TjJ? } :T   kE # T 2  lE # 4 ~B mE  NDo?vv~B nE  NDo?ss~B oE NDo?'s~B pE NDo? 2 ~B qE NDo?  2 ~B rE NDo?  2 ~B sE NDo? k 2 ~B tE NDo?n Q 2 ~B uE NDo?T 62 ~B vE NDo?:p2 wE  TjJ?}:2 xE  TjJ? } :T   yE # T 2  zE # 4 ~B {E  NDo?vv~B |E  NDo?ss~B }E NDo?'s~B ~E NDo? 2 ~B E NDo?  2 ~B E NDo?  2 ~B E NDo? k 2 ~B E NDo?n Q 2 ~B E NDo?T 62 ~B E NDo?:p2 E  TjJ?}:2 E  TjJ? } :H D 0޽h ? 33  @ $(  @ r @ S HVwP  w r @ S Ww w H @ 0޽h ? 33  L $(  L r L S @\wP  w r L S \w w H L 0޽h ? 33   8E 0(   8 r  > r6@ aj   j    T 8c?aj    T 8c?    T 8c? `j `@        T 8c?^g   T 8c?\f nN      _   T 8c?^g   T 8c?\f nN      i    T 8c?^g   T 8c?\f nN      ^h    T 8c?^g   T 8c?\f @ r2 % r2~2   N8c?r2~2 !  N8c? 2~2 "  N8c? a 2~2 #  N8c?u  2~2 $  N8c?2N r2 &  rD~2 '  N8c?r2~2 (  N8c? 2~2 )  N8c? a 2~2 *  N8c?u  2~2 +  N8c?2N r2 ,  s~2 -  N8c?r2~2 .  N8c? 2~2 /  N8c? a 2~2 0  N8c?u  2~2 1  N8c?2N r2 2  s 3 ~2 3  N8c?r2~2 4  N8c? 2~2 5  N8c? a 2~2 6  N8c?u  2~2 7  N8c?2N r2 8  sG  ~2 9  N8c?r2~2 :  N8c? 2~2 ;  N8c? a 2~2 <  N8c?u  2~2 =  N8c?2x  c $rP  r x  c $@r r  @  s *A ??x d A  s *A ??x d B  s *A ?? x d C  s *A ??,x d D  s *A ?? x d E  s *A  ??9zz x  dH  0޽h ? 33  zr0  (   x  c $HrP  r x  c $r r    s *A u??T x udH  0޽h ? 33  @ F(   x  c $$rP  r   c $|*r r "p`PpH  0޽h ? 33  0(P*X  (  X x X c $rP  r r X S r r 8 D X |<B X   `DԔ?x2 X  H8c?Tx2 X  H8c?D X  s *A  ??RHx  d X  s *A ??K.x d X  c $A ??{ x d X  s *A ??|zx dF Dl X   I B  X   `DԔ?((~2 !X  N8c?Sl~2 "X  N8c?Dlp2 #X H8c? PI p2 $X H8c? eI vB %X ND8c?7 7 vB &X @ ND8c?7 D7  'X  s *A %??c qw x %d (X  s *A &?? x &d )X  s *A '??+ x 'd *X  c $A (?? q x (dH X 0޽h ? 33  0(` (   x  c $hrP  r x  c $$r r F Dl   DB    `DԔ?((~2   N8c?Sl~2   N8c?Dlp2  H8c?Pp2  H8c?evB  ND8c?qqvB  @ ND8c?qDqF Dl    D B    `DԔ?((~2   N8c?Sl~2   N8c?Dlp2  H8c? X  p2  H8c?