petsc-doc-3.8.3-lp151.8.3.1<>, _"d/=„6k`RJ@,P9Pc9thH62o o9bڒ͍nL-J<_s6**VɄLh;D״DXciC~_5!(>xoUaty OO| !\K ij{/?<4!&VdL7W2F{@FO^| pfnT筨I+F򡽎)P\1*335l{pJ|ԙ)>>; z? zd   6lpx| XN\X u X X X X LX*XdX<X999:(:78:@9::<FKQGKdXHXI$XX|Y\X]FX^ ##b *c +d ,e ,f ,l ,!u ,4Xv yz zl z| z z zCpetsc-doc3.8.3lp151.8.3.1Documentation for petscThis package contains the documentation for petsc._"dlamb15`openSUSE Leap 15.1openSUSEBSD-2-Clausehttp://bugs.opensuse.orgDocumentation/HTMLhttp://www.mcs.anl.gov/petsc/linuxnoarch {-:,));Yh2Q5?D 1 9#-L$C52p6$%#.-c)Ez* J: H P ] M  vf 1?  D QV p lpa{C zyf 0>   ! C"> j  : S i f  B s# E ]  w  ;9 p O f p   9 C  b   9 U 7 : I 5   {  C u  z  ) K# n b N F]   [ K ,&   k* o  YN  > A % A  <a }rN  w A  '_  Q .  @ z v r @ ' d - +  1 o "! -  ?   o  9 } s D 6 z  8 q H D ? V a i F  T +} s lI e ! k+|/4+{ +|o% :8 + Gp \ b =%( U F M 5 |Z L   D Z   I X  {  gD +  y R  # ?  X  8 o \192 Y P @@&1  2    4   g    + !  j +  f | 8 ~s  k _ -^  w p , G  . J { {  ` >    v Q  Oh )  j u!F3fT    F s  s  b U    \ H 6  ^   W j y@  /2 4 Y D / A ie 5 V W  ` G ' 8 >   4 *  * { {p ] N)  ( X h _ s y F   5 jh 9  . ~ k a ^ I P  U G 0 I /     . u Y- / S T #  t , jYZY N ._  _XMP _ 6 s   n   K  Y - M !  Ka c\dKz_J j }4 $e"  y L 2  U G Y23v"6 #xD Q & 4"%Y H 2 T3.2$ ?{ ' aG^ X D #z  S [ / o < { ?  J O I  5v.J a &n ]9%  . = _ {3 v & J   >    h z    ] ? $: d *q [ t " 4L3# GL $ } ! I _>Qr 2  q`8 //  HOx b O Gd 9 | |  } +@ /$^)) } V  @ T w  Q nI  W. 4  k A  Z  ei `   G   Q \| : yx8~ D Y ~  Ts 5 b77 0 q  A F . N ]  i v  . F[b ?   .S |R ? 4  # a ) > S b Koc  7  Yg Ia  -e o  F  8X H   Wv  { "   V - ~ N (  b d / 5 L j  # |   ; ) pp B ~ !  C  Y   C   d Wh Q] G _R, \ k E   D  N W   L :   i ."  .z >  5 Q i    D | 6 G \ 6 - Z/  h : M[ B d  Y ~   ?. T [ ( D 0Xh a   F r  a z -m xs 9 M 9r <$ H {5 S 1 Q Q  r } X r  9 U ^  R  F v f f66P h = vA 2 q A Ow a w #' |$} 2 ] l  e V h' r i<lk A- cQ1r ;  | &  ]` )k~ZtT`7 b ~ztPXG eS T -b  y  4 W -  b   2 )    d3b`#U%)g> R b % J B  =+ t  #1 o@o ,"M )Z: 1 b q -  | 5 Rms   p I x P \ k  $ 4 lA ) c G? i #  ^ O x   _ $F R  BWJb w j   4   4 v  j< _  % ! ^ ^ X } >  g 'F < vq8    (  %  W   S .   ! `  { a G  u @ < fTC   J  J ) 4 V K z ) c 7! YL  n f L 9 J x !  1 m E f z Li  0] X s  :b ! 7| D T 1 " h 2 {  , 2 {) (k%hN7= ~ dfW ' C 8X  1& XMIyW T 4  k     1 MTM X m y` ' % G a *   "e  p ' r : .  T# t a  , 4 ]!3   g u s  j S  i  ( Y  = X Z \   O V   + I >d%"  q gd  M | k ^ * # 9 Q P , O U n ~ S   %\ Z ~ 27 oG b  - x [  Y  @ } IF ; K X  D 7z G om(R 3 1y, @  / j  h } 4 I g 5   . I[  ub / Vx >i  U ( 4 \}    j#z j|(   V  ^ . 9 N   l E {a  i B  P C | k  m   Q   6k{ N l > [ u T  z  o _Y # f]b}`S < ] 8 Gb| S !< t nen b O 2 O  ) G  @ WyO 1  b C v C  s~ 6'   C   y  %* 2J6 Z } I u z zM L M G Z O ? 8 @ @ R,Bg k ? U m a l (  Q+ ^ Y v  b =  Y j I i J &  G   f 0@ Rw b . l  4  g = p K I  U m x  yL  ,  ^c Q H >d ~  -Om z ` X ^ 4 ) | >  a , V X Q   a 5 * z   t J 8 z '  a8 * 2t G V  D ^" { b t* B & p \ w   p, H | =1 B 6  M y z'H_xbLuZ [ q $ o . : 9 " 6 V 8 u  ,  E k^  $   \ 6 j & W [ `09 V 9g  r+3 U ] b ZO 1 E \ g| c R= &9 j;;X G ] (w[Z C U8e w D   W r   1r  r8 7j| ;` k   Q ` E _8  rp` 8 A 7 ; 1h R Z L K   V <A B  z m*   i   ~ NS85 1 w _* 3 d 5 , H [%{^ k @ msf^   g B B W j - s   1 l , / 5 g $ W  5 D o ^   K Z t  rF l  t qp P hU M y  q " V     :  0J w = B P  ks\ 1|ByY%Zv W  (hn 5  $ 4D K  [ 5  l9 6  T  h _x * bR 7L s 9e  K n " n  S L J  8  @  M . U{ K ^ Z 9 s   r G\>  7 2 I 0 ;    Q% i  u T)  M k = > P6    7Q VE| %  0 B 7 # 2  1 1 n t  t | o o t !Q;eFA@ZXPq<i&Pb,  r  . M 9  p J w  A  o S a^ F   2 , 5 !   v / w 7 x  S ~t 9 {  W L? h  3 f a =  cn #v hY, Ln O$     * p d f|  &q z  u   O S A B ;  O 61M ] =>  dB G S W  }/vJ K  e y  V - I  / R ,*,,' vvNo 3 IGu  ( @*^lS D   b n* ! h { _t  <!@  t % xt    >nF`N zx  o  S g }`?CUZ) n  h o [X} "Z  )Q : <   ~ g 52' m  1 \  X  vF ,s ts _Fgw    D  V f   #7B QH eQ;#& ma] lt Y d  ; i F2h| 68 R  Z ~ 9A } kP  ` H ! x:  : l  *+ S ^"55    y  - h x   7 @ z C  ^ a q  ;  F`s Y  ~H  pCsh+[  ku , : 0 O   r*"P ] 2 6 G  \  c B q C ] \ 3  G J GM j G PI#}( # N f e"0   v \ \ N 0t v z  f f  s K < m1 ) >  dk ( v 3   U ~E" F   a   p 6e $ #,\ & ! j ' () 1 *s  :    @[  c9.  W %i + x S N  R ]  O f `1 M  C    5 % HI  `   _ e6 z Q 1- 0 t; B  5  V " SVJ ^ ( f ] iTU+| f CjuP>0FN o6Fl )Pf|,KG"`mAT Uwv ZoExA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤_"JZ,KZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,KZ,Z,dZ,dZ,KZ,dZ,dZ,Z,dZ,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,bZ,aZ,`Z,aZ,bZ,aZ,aZ,bZ,aZ,aZ,aZ,aZ,aZ,aZ,aZ,bZ,aZ,`Z,aZ,bZ,aZ,aZ,aZ,aZ,aZ,aZ,aZ,bZ,bZ,aZ,bZ,aZ,aZ,bZ,bZ,bZ,aZ,aZ,aZ,aZ,aZ,aZ,bZ,aZ,bZ,aZ,aZ,aZ,aZ,aZ,aZ,aZ,aZ,aZ,bZ,aZ,aZ,aZ,aZ,`Z,bZ,bZ,aZ,bZ,aZ,aZ,aZ,aZ,bZ,bZ,`Z,bZ,bZ,aZ,aZ,bZ,bZ,`Z,aZ,aZ,aZ,`Z,aZ,aZ,aZ,aZ,aZ,aZ,`Z,aZ,aZ,`Z,bZ,aZ,aZ,aZ,aZ,bZ,bZ,aZ,aZ,bZ,aZ,bZ,aZ,aZ,aZ,bZ,bZ,aZ,bZ,bZ,bZ,aZ,aZ,aZ,aZ,bZ,aZ,aZ,bZ,bZ,bZ,aZ,bZ,aZ,aZ,aZ,aZ,aZ,aZ,aZ,bZ,aZ,bZ,aZ,aZ,bZ,aZ,bZ,`Z,aZ,aZ,`Z,bZ,aZ,aZ,aZ,aZ,bZ,aZ,aZ,aZ,aZ,bZ,aZ,aZ,aZ,aZ,`Z,bZ,bZ,aZ,aZ,aZ,aZ,bZ,aZ,aZ,aZ,aZ,aZ,aZ,bZ,`Z,aZ,bZ,bZ,aZ,`Z,bZ,`Z,aZ,aZ,bZ,bZ,aZ,aZ,aZ,aZ,aZ,bZ,bZ,bZ,bZ,aZ,bZ,aZ,aZ,bZ,aZ,aZ,bZ,bZ,bZ,aZ,bZ,bZ,aZ,aZ,aZ,aZ,aZ,bZ,aZ,aZ,`Z,bZ,aZ,aZ,aZ,aZ,aZ,bZ,bZ,`Z,aZ,bZ,`Z,bZ,bZ,bZ,bZ,`Z,bZ,aZ,aZ,aZ,aZ,bZ,aZ,aZ,aZ,aZ,bZ,aZ,aZ,bZ,bZ,aZ,`Z,aZ,`Z,aZ,bZ,aZ,aZ,aZ,aZ,`Z,bZ,aZ,bZ,aZ,aZ,bZ,bZ,aZ,aZ,aZ,aZ,aZ,aZ,aZ,aZ,aZ,bZ,bZ,aZ,bZ,aZ,aZ,aZ,bZ,bZ,aZ,bZ,aZ,aZ,bZ,bZ,aZ,bZ,bZ,bZ,bZ,aZ,aZ,bZ,aZ,bZ,bZ,aZ,bZ,aZ,bZ,aZ,bZ,aZ,aZ,bZ,aZ,aZ,`Z,aZ,bZ,aZ,aZ,`Z,aZ,bZ,aZ,bZ,aZ,aZ,aZ,aZ,bZ,aZ,`Z,bZ,aZ,bZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,[Z,ZZ,[Z,[Z,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,[Z,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,[Z,ZZ,ZZ,ZZ,[Z,ZZ,ZZ,[Z,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,[Z,ZZ,ZZ,ZZ,ZZ,ZZ,[Z,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,_Z,_Z,_Z,PZ,PZ,PZ,OZ,OZ,OZ,PZ,OZ,OZ,OZ,PZ,OZ,OZ,PZ,OZ,PZ,OZ,OZ,OZ,OZ,OZ,OZ,PZ,OZ,PZ,OZ,PZ,OZ,OZ,OZ,OZ,PZ,OZ,OZ,OZ,PZ,PZ,OZ,OZ,PZ,OZ,PZ,OZ,OZ,OZ,OZ,OZ,OZ,PZ,OZ,PZ,OZ,OZ,OZ,OZ,OZ,OZ,PZ,OZ,OZ,OZ,OZ,PZ,OZ,PZ,PZ,PZ,PZ,PZ,PZ,OZ,OZ,OZ,PZ,OZ,OZ,OZ,OZ,OZ,PZ,OZ,PZ,PZ,OZ,OZ,PZ,OZ,OZ,OZ,PZ,OZ,OZ,OZ,PZ,PZ,PZ,OZ,OZ,PZ,PZ,OZ,OZ,OZ,OZ,OZ,OZ,OZ,PZ,OZ,OZ,OZ,OZ,OZ,OZ,OZ,OZ,OZ,PZ,PZ,PZ,OZ,OZ,OZ,OZ,OZ,OZ,OZ,PZ,OZ,OZ,OZ,PZ,PZ,PZ,OZ,OZ,PZ,OZ,OZ,PZ,PZ,OZ,OZ,PZ,OZ,OZ,OZ,OZ,OZ,OZ,PZ,PZ,OZ,OZ,OZ,OZ,OZ,PZ,OZ,OZ,OZ,OZ,OZ,OZ,OZ,PZ,PZ,PZ,PZ,PZ,OZ,OZ,PZ,OZ,PZ,OZ,PZ,PZ,PZ,PZ,OZ,PZ,OZ,OZ,OZ,OZ,OZ,PZ,OZ,OZ,PZ,OZ,PZ,OZ,OZ,OZ,PZ,PZ,OZ,PZ,OZ,PZ,PZ,OZ,OZ,PZ,PZ,OZ,OZ,OZ,OZ,PZ,OZ,PZ,OZ,OZ,OZ,OZ,PZ,PZ,OZ,OZ,OZ,OZ,PZ,OZ,OZ,OZ,PZ,OZ,PZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,bZ,OZ,NZ,NZ,NZ,NZ,OZ,OZ,OZ,OZ,OZ,OZ,OZ,NZ,NZ,NZ,OZ,OZ,NZ,OZ,NZ,OZ,NZ,OZ,NZ,NZ,NZ,NZ,OZ,OZ,NZ,OZ,NZ,NZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,NZ,NZ,OZ,NZ,NZ,OZ,NZ,NZ,NZ,OZ,OZ,NZ,NZ,NZ,OZ,NZ,OZ,OZ,NZ,NZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,NZ,OZ,NZ,NZ,OZ,OZ,NZ,NZ,NZ,NZ,NZ,NZ,NZ,NZ,NZ,NZ,OZ,NZ,OZ,NZ,NZ,NZ,NZ,OZ,OZ,OZ,OZ,NZ,NZ,OZ,OZ,NZ,NZ,OZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,OZ,NZ,OZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,NZ,NZ,OZ,NZ,OZ,NZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,NZ,OZ,OZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,OZ,NZ,NZ,NZ,OZ,NZ,OZ,OZ,NZ,NZ,OZ,OZ,NZ,OZ,NZ,OZ,OZ,NZ,NZ,NZ,NZ,NZ,NZ,OZ,NZ,OZ,NZ,NZ,OZ,NZ,OZ,NZ,NZ,OZ,NZ,NZ,NZ,NZ,NZ,NZ,NZ,NZ,NZ,NZ,NZ,OZ,NZ,OZ,NZ,NZ,OZ,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,^Z,XZ,WZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,XZ,WZ,WZ,XZ,XZ,XZ,WZ,XZ,XZ,WZ,WZ,WZ,XZ,WZ,XZ,WZ,XZ,WZ,WZ,XZ,WZ,WZ,WZ,XZ,WZ,WZ,WZ,WZ,XZ,XZ,WZ,XZ,XZ,XZ,XZ,WZ,WZ,XZ,XZ,XZ,XZ,WZ,XZ,WZ,WZ,WZ,XZ,WZ,WZ,WZ,XZ,XZ,XZ,XZ,WZ,XZ,XZ,WZ,XZ,XZ,XZ,WZ,WZ,WZ,WZ,WZ,XZ,XZ,WZ,XZ,WZ,WZ,XZ,XZ,WZ,WZ,XZ,XZ,XZ,XZ,WZ,XZ,XZ,WZ,WZ,WZ,XZ,XZ,XZ,WZ,WZ,XZ,WZ,WZ,XZ,WZ,WZ,WZ,WZ,XZ,WZ,XZ,XZ,WZ,WZ,WZ,WZ,XZ,XZ,XZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,XZ,XZ,XZ,XZ,XZ,WZ,WZ,WZ,WZ,XZ,XZ,XZ,WZ,XZ,XZ,XZ,WZ,WZ,XZ,XZ,XZ,WZ,XZ,WZ,XZ,XZ,XZ,WZ,XZ,XZ,WZ,WZ,WZ,XZ,XZ,XZ,XZ,XZ,XZ,WZ,WZ,XZ,XZ,XZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,XZ,WZ,XZ,XZ,XZ,WZ,XZ,XZ,WZ,WZ,XZ,XZ,XZ,XZ,XZ,WZ,WZ,WZ,XZ,XZ,XZ,ZZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,XZ,YZ,ZZ,XZ,YZ,YZ,XZ,YZ,XZ,YZ,YZ,YZ,XZ,YZ,YZ,XZ,ZZ,ZZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,ZZ,YZ,YZ,YZ,ZZ,YZ,YZ,YZ,YZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,ZZ,XZ,YZ,YZ,XZ,YZ,XZ,ZZ,YZ,YZ,YZ,YZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,ZZ,YZ,YZ,YZ,ZZ,XZ,ZZ,YZ,YZ,YZ,ZZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,ZZ,YZ,YZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,ZZ,YZ,YZ,YZ,XZ,YZ,YZ,ZZ,XZ,YZ,YZ,YZ,XZ,XZ,ZZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,XZ,YZ,XZ,YZ,YZ,XZ,YZ,YZ,XZ,ZZ,YZ,YZ,YZ,YZ,YZ,XZ,XZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,XZ,YZ,YZ,XZ,YZ,YZ,YZ,YZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,ZZ,YZ,YZ,XZ,YZ,YZ,YZ,YZ,YZ,XZ,ZZ,YZ,XZ,YZ,YZ,YZ,XZ,XZ,YZ,YZ,YZ,XZ,XZ,YZ,YZ,YZ,XZ,ZZ,YZ,YZ,XZ,YZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,ZZ,YZ,YZ,XZ,YZ,ZZ,YZ,YZ,YZ,YZ,ZZ,YZ,YZ,YZ,YZ,YZ,YZ,XZ,YZ,YZ,YZ,ZZ,YZ,XZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,YZ,ZZ,YZ,YZ,YZ,WZ,UZ,WZ,UZ,VZ,WZ,VZ,UZ,WZ,WZ,WZ,VZ,WZ,UZ,UZ,VZ,VZ,WZ,WZ,VZ,WZ,VZ,WZ,WZ,VZ,VZ,UZ,WZ,VZ,VZ,WZ,WZ,VZ,UZ,VZ,UZ,UZ,UZ,VZ,UZ,VZ,WZ,UZ,VZ,UZ,VZ,UZ,WZ,VZ,UZ,UZ,VZ,VZ,WZ,VZ,UZ,WZ,VZ,WZ,VZ,WZ,UZ,UZ,VZ,UZ,VZ,WZ,UZ,WZ,VZ,UZ,WZ,UZ,UZ,WZ,VZ,VZ,VZ,UZ,VZ,VZ,VZ,UZ,VZ,VZ,WZ,VZ,WZ,WZ,WZ,WZ,VZ,VZ,UZ,WZ,UZ,UZ,VZ,VZ,VZ,UZ,VZ,UZ,UZ,WZ,VZ,UZ,VZ,UZ,UZ,VZ,VZ,UZ,VZ,UZ,VZ,UZ,WZ,UZ,UZ,UZ,VZ,VZ,VZ,WZ,VZ,VZ,WZ,WZ,UZ,WZ,UZ,WZ,VZ,WZ,VZ,UZ,VZ,VZ,VZ,VZ,UZ,WZ,VZ,VZ,VZ,VZ,WZ,VZ,UZ,UZ,VZ,VZ,VZ,VZ,UZ,WZ,UZ,WZ,VZ,VZ,VZ,VZ,VZ,VZ,VZ,UZ,VZ,VZ,WZ,UZ,VZ,UZ,UZ,VZ,WZ,VZ,UZ,UZ,WZ,WZ,WZ,VZ,VZ,UZ,UZ,UZ,VZ,VZ,VZ,VZ,UZ,VZ,VZ,VZ,VZ,VZ,VZ,VZ,UZ,VZ,VZ,VZ,VZ,VZ,WZ,UZ,VZ,VZ,UZ,VZ,WZ,UZ,VZ,VZ,UZ,VZ,UZ,UZ,UZ,WZ,WZ,VZ,WZ,VZ,VZ,WZ,WZ,UZ,VZ,VZ,VZ,WZ,UZ,UZ,VZ,UZ,WZ,WZ,VZ,WZ,VZ,WZ,VZ,VZ,VZ,WZ,VZ,VZ,UZ,VZ,VZ,VZ,UZ,WZ,WZ,VZ,VZ,VZ,WZ,WZ,VZ,VZ,VZ,UZ,VZ,UZ,UZ,WZ,VZ,VZ,UZ,VZ,WZ,VZ,VZ,WZ,VZ,VZ,VZ,UZ,VZ,VZ,UZ,WZ,VZ,VZ,VZ,UZ,UZ,UZ,VZ,VZ,UZ,VZ,VZ,VZ,VZ,UZ,VZ,VZ,UZ,VZ,WZ,VZ,VZ,UZ,VZ,WZ,WZ,VZ,VZ,VZ,UZ,WZ,UZ,VZ,WZ,VZ,UZ,UZ,WZ,UZ,WZ,VZ,WZ,VZ,WZ,WZ,WZ,UZ,UZ,UZ,WZ,WZ,VZ,UZ,UZ,VZ,UZ,UZ,VZ,UZ,VZ,VZ,VZ,WZ,VZ,VZ,UZ,VZ,VZ,WZ,VZ,UZ,VZ,WZ,VZ,UZ,WZ,VZ,VZ,VZ,VZ,VZ,WZ,WZ,WZ,VZ,UZ,WZ,WZ,VZ,VZ,UZ,UZ,VZ,UZ,UZ,VZ,VZ,VZ,WZ,VZ,VZ,UZ,VZ,VZ,UZ,UZ,UZ,WZ,UZ,VZ,VZ,VZ,VZ,WZ,WZ,VZ,VZ,VZ,WZ,UZ,VZ,VZ,UZ,UZ,VZ,WZ,VZ,VZ,VZ,VZ,UZ,WZ,WZ,WZ,UZ,WZ,UZ,UZ,WZ,VZ,VZ,UZ,VZ,VZ,VZ,VZ,VZ,VZ,VZ,VZ,VZ,VZ,UZ,WZ,UZ,WZ,VZ,VZ,VZ,VZ,VZ,WZ,VZ,VZ,VZ,VZ,WZ,VZ,WZ,VZ,UZ,UZ,UZ,UZ,UZ,VZ,WZ,VZ,VZ,VZ,VZ,VZ,VZ,UZ,UZ,VZ,VZ,WZ,UZ,VZ,VZ,WZ,VZ,WZ,UZ,UZ,WZ,VZ,UZ,UZ,VZ,VZ,VZ,UZ,VZ,VZ,VZ,VZ,UZ,WZ,VZ,VZ,[Z,[Z,[Z,[Z,[Z,[Z,[Z,[Z,[Z,[Z,[Z,[Z,[Z,[Z,LZ,LZ,LZ,KZ,LZ,LZ,KZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,KZ,LZ,LZ,KZ,LZ,LZ,LZ,KZ,LZ,KZ,LZ,LZ,LZ,LZ,KZ,LZ,LZ,LZ,LZ,LZ,LZ,KZ,LZ,LZ,LZ,LZ,KZ,LZ,LZ,LZ,LZ,LZ,LZ,KZ,LZ,LZ,LZ,LZ,LZ,KZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,LZ,NZ,MZ,MZ,LZ,MZ,MZ,MZ,LZ,LZ,MZ,NZ,MZ,LZ,MZ,NZ,MZ,MZ,MZ,NZ,MZ,MZ,MZ,NZ,MZ,NZ,LZ,LZ,MZ,MZ,LZ,MZ,MZ,MZ,MZ,MZ,MZ,MZ,NZ,NZ,MZ,MZ,MZ,MZ,MZ,LZ,MZ,MZ,MZ,LZ,MZ,MZ,LZ,MZ,MZ,MZ,MZ,MZ,LZ,LZ,LZ,MZ,LZ,MZ,MZ,LZ,LZ,NZ,MZ,LZ,MZ,NZ,MZ,NZ,LZ,LZ,LZ,LZ,LZ,MZ,MZ,MZ,MZ,MZ,LZ,LZ,MZ,LZ,LZ,MZ,MZ,MZ,LZ,MZ,LZ,NZ,LZ,LZ,MZ,MZ,NZ,MZ,MZ,LZ,MZ,MZ,NZ,NZ,MZ,MZ,MZ,MZ,NZ,MZ,LZ,LZ,MZ,LZ,MZ,MZ,MZ,MZ,LZ,MZ,MZ,LZ,MZ,NZ,LZ,NZ,MZ,MZ,LZ,LZ,LZ,MZ,NZ,NZ,MZ,MZ,LZ,LZ,MZ,LZ,MZ,MZ,MZ,MZ,NZ,MZ,MZ,LZ,MZ,MZ,MZ,MZ,MZ,MZ,MZ,MZ,NZ,LZ,MZ,MZ,MZ,LZ,MZ,MZ,MZ,MZ,LZ,MZ,MZ,LZ,LZ,NZ,MZ,MZ,MZ,MZ,LZ,MZ,MZ,LZ,LZ,MZ,MZ,LZ,MZ,MZ,LZ,LZ,LZ,MZ,LZ,MZ,MZ,NZ,NZ,MZ,MZ,MZ,MZ,NZ,MZ,MZ,MZ,MZ,MZ,LZ,LZ,MZ,LZ,LZ,MZ,MZ,LZ,NZ,LZ,LZ,NZ,MZ,MZ,MZ,MZ,LZ,NZ,MZ,NZ,LZ,MZ,MZ,LZ,MZ,NZ,NZ,LZ,MZ,LZ,MZ,LZ,LZ,MZ,NZ,LZ,LZ,MZ,LZ,NZ,LZ,MZ,LZ,MZ,MZ,MZ,MZ,MZ,LZ,LZ,MZ,MZ,NZ,MZ,LZ,LZ,LZ,LZ,LZ,MZ,LZ,LZ,MZ,LZ,MZ,LZ,LZ,MZ,MZ,NZ,MZ,LZ,LZ,LZ,MZ,LZ,LZ,MZ,NZ,NZ,LZ,LZ,MZ,MZ,NZ,MZ,MZ,MZ,MZ,LZ,MZ,LZ,MZ,MZ,LZ,LZ,LZ,LZ,LZ,MZ,MZ,MZ,MZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,UZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,KZ,RZ,PZ,QZ,QZ,RZ,PZ,RZ,QZ,QZ,QZ,RZ,QZ,QZ,PZ,QZ,QZ,PZ,PZ,PZ,QZ,PZ,QZ,QZ,PZ,QZ,PZ,PZ,QZ,PZ,QZ,QZ,QZ,QZ,PZ,QZ,PZ,QZ,QZ,PZ,QZ,RZ,RZ,QZ,QZ,RZ,RZ,RZ,QZ,QZ,QZ,RZ,RZ,QZ,QZ,PZ,QZ,QZ,QZ,PZ,RZ,PZ,PZ,PZ,QZ,PZ,QZ,QZ,PZ,PZ,QZ,PZ,PZ,QZ,PZ,PZ,RZ,QZ,QZ,PZ,QZ,QZ,QZ,QZ,QZ,QZ,QZ,QZ,RZ,QZ,PZ,QZ,QZ,PZ,QZ,RZ,PZ,PZ,PZ,PZ,PZ,RZ,QZ,QZ,PZ,PZ,QZ,QZ,QZ,QZ,QZ,QZ,PZ,PZ,QZ,PZ,PZ,QZ,QZ,PZ,QZ,PZ,QZ,PZ,PZ,QZ,RZ,PZ,QZ,PZ,QZ,QZ,PZ,RZ,QZ,QZ,PZ,QZ,PZ,QZ,PZ,PZ,PZ,PZ,QZ,QZ,QZ,RZ,PZ,RZ,QZ,QZ,PZ,RZ,QZ,PZ,RZ,RZ,QZ,QZ,RZ,QZ,QZ,QZ,QZ,PZ,QZ,QZ,QZ,PZ,PZ,PZ,PZ,QZ,RZ,PZ,PZ,RZ,QZ,QZ,QZ,PZ,QZ,RZ,PZ,QZ,QZ,RZ,QZ,QZ,QZ,PZ,RZ,QZ,QZ,QZ,PZ,QZ,QZ,QZ,QZ,PZ,QZ,RZ,PZ,QZ,PZ,PZ,RZ,QZ,QZ,PZ,QZ,QZ,RZ,QZ,QZ,RZ,QZ,QZ,PZ,QZ,PZ,QZ,QZ,QZ,QZ,QZ,QZ,PZ,PZ,PZ,QZ,QZ,RZ,RZ,QZ,QZ,RZ,RZ,PZ,PZ,QZ,QZ,QZ,PZ,QZ,RZ,PZ,QZ,QZ,RZ,RZ,QZ,PZ,PZ,PZ,PZ,QZ,PZ,RZ,QZ,QZ,QZ,QZ,QZ,QZ,PZ,QZ,QZ,PZ,QZ,QZ,QZ,PZ,QZ,RZ,QZ,QZ,PZ,PZ,PZ,PZ,PZ,QZ,PZ,QZ,RZ,QZ,PZ,QZ,PZ,QZ,QZ,QZ,PZ,RZ,QZ,PZ,QZ,RZ,RZ,QZ,PZ,RZ,QZ,QZ,QZ,QZ,PZ,QZ,QZ,PZ,QZ,PZ,QZ,QZ,PZ,QZ,QZ,QZ,QZ,QZ,QZ,QZ,QZ,QZ,RZ,PZ,QZ,RZ,QZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,ZZ,^Z,]Z,\Z,\Z,]Z,\Z,]Z,]Z,]Z,]Z,\Z,[Z,[Z,[Z,[Z,\Z,[Z,]Z,[Z,[Z,\Z,[Z,]Z,\Z,]Z,[Z,\Z,\Z,\Z,[Z,\Z,]Z,[Z,[Z,\Z,[Z,]Z,]Z,\Z,\Z,]Z,\Z,\Z,]Z,]Z,\Z,]Z,[Z,[Z,\Z,\Z,[Z,\Z,\Z,]Z,[Z,\Z,[Z,]Z,[Z,]Z,[Z,[Z,\Z,\Z,\Z,]Z,[Z,\Z,[Z,\Z,\Z,]Z,]Z,\Z,\Z,[Z,[Z,\Z,\Z,\Z,\Z,]Z,\Z,[Z,\Z,]Z,]Z,\Z,\Z,[Z,\Z,\Z,]Z,\Z,[Z,[Z,[Z,]Z,[Z,[Z,^Z,\Z,[Z,[Z,[Z,[Z,]Z,[Z,]Z,\Z,[Z,[Z,[Z,[Z,[Z,\Z,\Z,\Z,\Z,\Z,]Z,^Z,\Z,]Z,]Z,\Z,]Z,]Z,\Z,[Z,\Z,]Z,\Z,\Z,\Z,]Z,\Z,\Z,[Z,[Z,[Z,]Z,\Z,\Z,\Z,\Z,[Z,]Z,\Z,[Z,\Z,\Z,\Z,]Z,\Z,\Z,\Z,]Z,\Z,\Z,[Z,]Z,\Z,[Z,]Z,[Z,\Z,[Z,\Z,\Z,]Z,\Z,]Z,[Z,[Z,]Z,[Z,]Z,\Z,\Z,\Z,\Z,[Z,\Z,\Z,]Z,\Z,[Z,]Z,]Z,]Z,[Z,^Z,]Z,[Z,\Z,]Z,\Z,]Z,[Z,\Z,\Z,[Z,[Z,]Z,[Z,]Z,[Z,\Z,^Z,]Z,[Z,[Z,[Z,\Z,]Z,\Z,]Z,\Z,[Z,[Z,\Z,[Z,]Z,^Z,]Z,\Z,]Z,\Z,[Z,]Z,\Z,\Z,\Z,\Z,\Z,\Z,\Z,\Z,]Z,\Z,[Z,\Z,\Z,\Z,]Z,[Z,[Z,]Z,[Z,[Z,\Z,\Z,\Z,\Z,]Z,]Z,]Z,[Z,\Z,\Z,\Z,]Z,]Z,]Z,[Z,[Z,^Z,\Z,]Z,]Z,\Z,]Z,]Z,\Z,]Z,]Z,]Z,[Z,[Z,]Z,[Z,^Z,]Z,[Z,\Z,[Z,[Z,[Z,[Z,]Z,]Z,\Z,[Z,[Z,[Z,[Z,\Z,\Z,]Z,\Z,\Z,\Z,]Z,\Z,]Z,]Z,[Z,\Z,\Z,]Z,]Z,\Z,[Z,\Z,]Z,[Z,]Z,^Z,[Z,\Z,]Z,\Z,[Z,\Z,\Z,\Z,]Z,]Z,]Z,\Z,]Z,\Z,]Z,[Z,[Z,[Z,]Z,]Z,\Z,\Z,\Z,\Z,\Z,[Z,]Z,\Z,\Z,\Z,]Z,]Z,\Z,]Z,]Z,[Z,\Z,[Z,]Z,\Z,[Z,]Z,]Z,\Z,\Z,[Z,\Z,\Z,\Z,]Z,\Z,[Z,[Z,]Z,]Z,[Z,]Z,]Z,\Z,\Z,[Z,]Z,\Z,\Z,\Z,]Z,[Z,]Z,[Z,^Z,[Z,\Z,\Z,[Z,\Z,\Z,]Z,]Z,]Z,^Z,\Z,[Z,\Z,]Z,]Z,\Z,\Z,]Z,]Z,]Z,]Z,\Z,\Z,]Z,\Z,\Z,]Z,]Z,[Z,[Z,[Z,[Z,]Z,]Z,[Z,\Z,[Z,\Z,[Z,\Z,]Z,[Z,]Z,]Z,\Z,]Z,]Z,[Z,[Z,\Z,\Z,\Z,]Z,\Z,[Z,\Z,\Z,]Z,\Z,[Z,]Z,]Z,\Z,\Z,]Z,\Z,[Z,\Z,]Z,\Z,]Z,]Z,\Z,[Z,\Z,[Z,\Z,\Z,\Z,]Z,[Z,]Z,]Z,\Z,\Z,]Z,\Z,\Z,]Z,[Z,\Z,[Z,]Z,\Z,]Z,[Z,\Z,]Z,\Z,]Z,\Z,]Z,\Z,\Z,\Z,[Z,[Z,\Z,[Z,]Z,\Z,\Z,]Z,]Z,[Z,\Z,\Z,\Z,]Z,]Z,[Z,]Z,]Z,]Z,\Z,[Z,]Z,[Z,[Z,[Z,\Z,\Z,\Z,\Z,\Z,]Z,\Z,\Z,]Z,\Z,\Z,[Z,\Z,]Z,\Z,\Z,\Z,[Z,]Z,\Z,]Z,]Z,\Z,\Z,[Z,\Z,\Z,[Z,\Z,]Z,[Z,\Z,]Z,[Z,]Z,]Z,[Z,\Z,\Z,]Z,[Z,[Z,^Z,[Z,]Z,\Z,]Z,]Z,^Z,[Z,[Z,]Z,\Z,\Z,\Z,\Z,\Z,[Z,]Z,[Z,]Z,^Z,]Z,]Z,UZ,SZ,UZ,UZ,SZ,TZ,SZ,SZ,TZ,TZ,UZ,TZ,TZ,TZ,UZ,UZ,UZ,SZ,UZ,UZ,UZ,UZ,SZ,TZ,TZ,TZ,SZ,SZ,SZ,TZ,SZ,TZ,TZ,TZ,UZ,SZ,TZ,UZ,TZ,SZ,TZ,TZ,SZ,TZ,TZ,UZ,SZ,TZ,SZ,SZ,UZ,SZ,TZ,SZ,SZ,SZ,UZ,TZ,SZ,SZ,SZ,TZ,SZ,SZ,SZ,TZ,SZ,UZ,SZ,UZ,UZ,TZ,SZ,SZ,SZ,UZ,SZ,SZ,TZ,TZ,TZ,SZ,SZ,UZ,TZ,SZ,SZ,TZ,UZ,TZ,TZ,TZ,SZ,SZ,TZ,SZ,SZ,TZ,UZ,SZ,SZ,UZ,SZ,UZ,SZ,SZ,TZ,TZ,UZ,UZ,SZ,UZ,SZ,TZ,TZ,TZ,TZ,SZ,TZ,TZ,TZ,UZ,SZ,SZ,SZ,SZ,SZ,SZ,SZ,TZ,SZ,TZ,SZ,TZ,TZ,TZ,SZ,SZ,TZ,SZ,TZ,SZ,UZ,TZ,TZ,TZ,SZ,SZ,SZ,SZ,TZ,SZ,SZ,TZ,TZ,SZ,SZ,UZ,UZ,SZ,SZ,UZ,UZ,UZ,SZ,SZ,TZ,TZ,TZ,TZ,UZ,SZ,SZ,TZ,TZ,SZ,SZ,TZ,UZ,TZ,SZ,TZ,TZ,UZ,TZ,TZ,UZ,TZ,TZ,TZ,SZ,UZ,SZ,TZ,UZ,SZ,UZ,TZ,TZ,TZ,UZ,TZ,UZ,UZ,TZ,SZ,TZ,TZ,SZ,TZ,UZ,SZ,SZ,TZ,TZ,UZ,TZ,TZ,UZ,SZ,UZ,SZ,UZ,TZ,UZ,UZ,SZ,SZ,TZ,SZ,UZ,UZ,TZ,TZ,SZ,TZ,SZ,TZ,UZ,UZ,UZ,SZ,SZ,SZ,SZ,TZ,SZ,TZ,UZ,UZ,UZ,SZ,TZ,UZ,UZ,TZ,TZ,UZ,UZ,SZ,UZ,SZ,SZ,UZ,SZ,TZ,TZ,TZ,UZ,SZ,SZ,UZ,UZ,TZ,UZ,SZ,TZ,UZ,TZ,SZ,UZ,UZ,SZ,SZ,SZ,UZ,UZ,SZ,TZ,SZ,UZ,UZ,TZ,SZ,TZ,UZ,TZ,TZ,TZ,TZ,SZ,SZ,SZ,UZ,UZ,SZ,SZ,SZ,TZ,SZ,TZ,TZ,SZ,SZ,SZ,TZ,SZ,SZ,TZ,TZ,SZ,TZ,UZ,TZ,UZ,UZ,TZ,TZ,TZ,SZ,SZ,TZ,UZ,TZ,TZ,UZ,SZ,SZ,UZ,UZ,UZ,TZ,TZ,TZ,TZ,UZ,TZ,UZ,TZ,SZ,TZ,SZ,TZ,TZ,SZ,TZ,TZ,TZ,TZ,SZ,TZ,TZ,TZ,SZ,UZ,UZ,SZ,TZ,SZ,TZ,TZ,SZ,SZ,SZ,UZ,TZ,SZ,TZ,TZ,TZ,TZ,TZ,TZ,SZ,UZ,TZ,SZ,UZ,SZ,UZ,SZ,SZ,SZ,UZ,SZ,TZ,TZ,TZ,SZ,TZ,UZ,SZ,TZ,SZ,TZ,SZ,SZ,UZ,TZ,TZ,SZ,TZ,UZ,SZ,SZ,SZ,SZ,TZ,TZ,TZ,UZ,SZ,SZ,SZ,SZ,SZ,SZ,TZ,TZ,TZ,TZ,TZ,TZ,TZ,SZ,TZ,SZ,SZ,UZ,SZ,UZ,TZ,TZ,SZ,SZ,SZ,UZ,TZ,UZ,SZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,SZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,SZ,RZ,RZ,SZ,RZ,RZ,RZ,SZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,SZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,SZ,RZ,RZ,RZ,RZ,RZ,SZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,SZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,SZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,RZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,WZ,dZ,cZ,dZ,dZ,cZ,cZ,cZ,cZ,bZ,cZ,cZ,dZ,dZ,cZ,cZ,cZ,cZ,cZ,dZ,dZ,bZ,dZ,cZ,cZ,cZ,cZ,cZ,dZ,dZ,dZ,dZ,cZ,dZ,dZ,cZ,dZ,cZ,cZ,cZ,cZ,cZ,cZ,cZ,cZ,bZ,dZ,dZ,cZ,dZ,dZ,cZ,cZ,dZ,dZ,dZ,cZ,dZ,cZ,dZ,dZ,cZ,cZ,dZ,dZ,cZ,cZ,cZ,cZ,cZ,dZ,dZ,cZ,dZ,cZ,dZ,dZ,dZ,cZ,cZ,dZ,dZ,cZ,cZ,cZ,cZ,dZ,cZ,cZ,cZ,cZ,dZ,dZ,cZ,cZ,cZ,dZ,dZ,cZ,cZ,cZ,cZ,cZ,dZ,cZ,cZ,dZ,cZ,cZ,cZ,cZ,cZ,cZ,cZ,cZ,dZ,dZ,cZ,cZ,cZ,dZ,cZ,cZ,cZ,cZ,dZ,cZ,dZ,dZ,dZ,cZ,cZ,cZ,dZ,dZ,cZ,cZ,cZ,cZ,dZ,dZ,dZ,dZ,dZ,dZ,dZ,bZ,cZ,dZ,dZ,cZ,dZ,cZ,cZ,cZ,dZ,cZ,cZ,cZ,bZ,bZ,cZ,cZ,cZ,dZ,bZ,bZ,dZ,dZ,cZ,cZ,cZ,dZ,cZ,dZ,cZ,cZ,dZ,cZ,dZ,cZ,cZ,cZ,dZ,cZ,dZ,cZ,cZ,cZ,cZ,dZ,cZ,cZ,cZ,cZ,dZ,dZ,dZ,cZ,cZ,cZ,cZ,cZ,cZ,cZ,dZ,cZ,cZ,cZ,bZ,dZ,cZ,cZ,cZ,dZ,cZ,dZ,dZ,dZ,dZ,dZ,cZ,cZ,dZ,cZ,cZ,dZ,dZ,cZ,dZ,cZ,cZ,cZ,dZ,dZ,cZ,dZ,bZ,cZ,dZ,cZ,cZ,cZ,cZ,cZ,dZ,cZ,cZ,cZ,cZ,dZ,cZ,cZ,cZ,dZ,cZ,cZ,dZ,dZ,cZ,dZ,dZ,cZ,cZ,cZ,dZ,cZ,dZ,dZ,dZ,dZ,cZ,dZ,dZ,cZ,cZ,cZ,cZ,dZ,cZ,cZ,dZ,cZ,dZ,cZ,dZ,cZ,dZ,cZ,dZ,cZ,cZ,cZ,dZ,cZ,cZ,dZ,`Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,`Z,`Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,`Z,`Z,`Z,_Z,_Z,`Z,_Z,_Z,_Z,`Z,_Z,_Z,`Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,`Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,`Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,^Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,^Z,_Z,_Z,_Z,_Z,_Z,^Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,_Z,^Z,_Z,_Z,_Z,_Z,_Z,dZ,VZ,dZ,dZ,e223a63a6d7b67c35825cdf4f33ce2dac8b74d9a9873d7b20d6ab6a1e21c36c53ecbdddafa365253df0767703a66dbb85b37a1837d45ab271ace098a4d1b2d2197b4b01126ee35652e1bedd31dc01376a7e8c5574b3c666c31c4c80bae183e2cfedcf382a67d95cea0932d828f680a71443d92a2348cb7d107acd62e7d84c7a562005426c748bc0ca14703fed76dc1e7fd2904b7d4f76648231aaefb6e85e8325915450dfccdbd613454530550780008a50b69ef6ccb59bd1e3ee64ae816b2c3b85656c3341643cc744a5cab8878081351fe8cf6612081d3f2feb08ddadcd23291db9ee02e09abe099a5ef93039edaf6e9d4ab39b202b04f918d042ca14e90e1089c9ad6c60b2a4affa1f838c09d044db4da3287c6147ee905a17970e86b708c48bd20ee15d4de4843da9002ffa4b83867f9c0aaedbdcfbb5a415ca2d5c8a7ae3b7b52af0d257bda05ce1c9a2ddd3a6d603423cb2d797a1863050280c7dd6d4dd264374f50ed5001777483aa34545470453beb79fe9304e8e48eb67fb4ee9bbed40e65b766b8ae8bdb413c5a45a402094c210c49759284a9ab201a2dc517f9d4d724e8dc50206bbe5520a98ab8a37164ebcbe5f44aa014fa32b141d9232af96cb07fa3febe02c4572e3c52f963a6ff9b98ed022da6e53f3d0cd247634de23d0b1180b42757154bbb275859ce940a2c9fc79aa657d3ca0e29b513dd792e06a3a7bfea97b8bb8ce79be614a30f83e22f04b5eac6458a6378166acdff9b2bdc6c78399d986ae7b375ae6462d677648a8d11d7d17fe3151c95e259f8ab1875768f180cc69aeaee67b485c999ec654daf78347b2323d04a632647a59d9fd91f69174689c3e581689413fe6d9c81f1e211718acb5f33bd2fc1737ad08c4631bb77c42851fddadc7259259ac5a4600f429c31e36892614f3ff6a941536b99545694a36ef7182c4aec2672f4a8a94faa5ee7140c943216a2f82ec13bd4dcbf42477c22792072ecd403c0ce22ca3e083ca1f4f145dcfa3b0bfec9e9e794eb650b1a4891460b32b21b42d270ac799359ee26c7763af5ebef27baa85a38e7af7a2b6d21c340a8c68b177cf9b31a2baaf1074a7d1ffb4baba4fa60eaae66abf8fe2fcfa145fe01d77581274b3014387e70f7ca3c387ba3073dd3e0ee13c67d80ed5781cbdb1e3b42b699048da87689132ab15e4ff50d6624792c5a0cde0c36530a918bde3326fd859d868606fdfcf01cd60cd78d4e646c2587488620e817543d6656463cb8c354641f59e5214298d0d39b117d69bff702758d66ca8304810fe2c0fe41b54faf9cc4216c2dfd433a35c841e961e156939c4de043b5c86c49f4d7244bb517ad90b8827486b82c898aeeef1b8cfcb76099ce17d925edd51eafb61f825eee6129c639eb94b32b0bf7c9b909afba0e87af3e674ec3cffc08b57564c86d54bef302c2a789ca204b2fd7d8604cd824fbc81792c443cd71e07a1ba38a9acf6324826e6585aec5e5d5f4016aaed99b967e802d1c77244f668ab37ecbdfc08cfa20b4190e6ee9520cf8a5852225da6a40e051dfe7f236ef20785601d79491c8562457cc5382e03772310a5b9bd5e9c2c1b9dde9334c3631ec17e602cb82650aa15edd49f7bc3314a6d88788ba539cff82f1b329f227421c24aa3790fab001fbc7b79f2f65b222c4ff02b65c00c055c0df34f1298c3145fdda5c7c4bbffdc69c63e1af5340fabd5886b83671923ea1f8ef16f284b7d863789b7c366c5e652979c5be895781df3c4a262ba4ecdb616bf3d9d8f190d86b8df27b506a2cc680a9f21ce07922f42ed15a3efac7570bd7e98b2cad6ab8e2e7a7a6845c26b7fd75c56b490c57ffbf585a176b71b7fe7bcbf14bc64f400f90cea45422c1ee55fb4d77d2622995b68285647bed6d5078cfa038269227e54881ce2a9455dd4b418b2ef433e1515af79f8f3f166649bfd7d7ffb2dfafb1433830817eae24bb8110331f3a902570aff8b5dbcdfa3b14cf49acbf5b5a1c1bcec236bc3af989360f14710dc74ec0cee0c43bd1ec030f0d0cc8e09091cf2664b5dd2e5524bc99990fb0e4a3ed215f613a49e8ec54b4df7fe246fa9dd47204d17f8b915534b2f86c501f44f330353f13792b761c932f7856f48fbde1dbff617ce90410330e902d5e2893e2c83a8c5f76c3820d1a26213ee688857312cd3c1bd17f18ab36541f7377bcc6e3a27b850b1ab58d57c0029b3e61136e6f2554f89690957ac3d8381cd40611831033674d64e772619e30b3421be9f051b47c6c48f09074011ee2c3b3c3817b04924c05359b34ff79a2bf7405e8d6280531a1a1f88c6ab53336c6f6e86a820a2273fcd8dc82b91dc0f9264af968ad7410648667b0ee3ee7c26fc096714316363bb1f17d5d036a5c05ce9e138e8c5e4000b3b3c5fccd1fecee0f21aaed15820355df6732ca67dbffb088f849c3a598e6fcb585af35050196042fe9afb9fa33339c090443ef762c43da490728274c0c1de3d3596038abefb3890b57ddee3b940e8823979cdb3181d9d94fad6be64fd31f9b531677d7147c0650a053795d50c02994b6ac9bd4039cdc16a8b86a6135c47f57acbfd526d5b348c9b346007c56a201c9b3744bab4f3800b7d9a1194f818ce1f46980aa03255143810a226d712f2b81804d265739479b02760213ead70fa2318a41654d5c1e0c0d83b7360d96a397632f02457a92c59db03e8471c1a4c6f8cbd594e9802dcaa922f95b2d0f3afd1a7f59acab680be86bfaefd95887c3363cd7711fb7864306e18e40296a8d3512bde3267297081a1237304ddb86514f5bc6a210450318b203157beed20bcfd2cafd649939e925460cafb402b2570d29238ecf338f9ffa884417c37c2d81666cba0fff8eb86d2ebb65d87b4628dca5d0c74ac286cf137408b833e2b13dee3cb7d1be06c345ce48a95a6bc612ef73be9079c1f29e02fb9782207f096e01b5a950f4f7f1d27c6a47fe15511597b7718edfa118edda63c33f554062f95449095e50a2feaa95ab286918f08aafa453f61ef2fb563dcb7dd15a78b4021ff4636856276ee65733e189af33d3a7a9645a92e88290a0a3a829b432512c3b689f11584fc6212899208481f90150445a7980a1cf2a121816732b67a0ea4c0bb0eb579bec4010c47bc7da5bd664a948cc3ac6d6a26a720f36de60307e40907d955fc69e02379a2288af81bc1905a64c14d7dd8b56a356de9910f4f96d4d4a92947d5c58f17ebe56b6a5542528ca5d1facfdd3dcbf07a666bba05c7ee75dc793192392c007489aa240bf6c16e5e608937095a4e30faf8a0a3036ca0f2c49fd904931a463c37bfa4a6067a1dccb4a27c2e7ee18c336edc927e2ef1705be0f1f704ab6bbe77618533113b0825564e8b704a4c5c2bf003307e320f1b4dab8325b706a24f085d7fe7e4d9a03b7dbd168f6ccf081091e9f99adbe5ed5b02db4042adf2d49391f3e048d7e6fe1b47367dd6654a9435cc6d902f6dcc1872d45d3ab30090bbd3141c879f4895760f231f3b112be0d8c327dbd10d641791990497e4688609826373aa4804a69152053e8789741dc51dfe6bccd318075d5c1c971a152ab82b7949563365ea327233a8496d385f6ddc51066c247438333d81fa43e14654158fb21c20c3d0c4e587a4dcc940d02f53d1bceaf692b782f544c9ee77f4498bcb7c067346f30ed7bb928d5b2992df6304319c2cbe41f5fc0ff585b28db8bc62bab749e104bbb9b11e2430d6cb4259043d4840e39933d191c75a093504c542c787e2d63a6906cfefe2be1ecb94aad58f837e6caa70474c246012321fe0e605c2ae8306cf0bcdfa946d2e91da2eb7792a4fbe06daa93ea57e6057101495aca2ffdbf61b82f149dee99eb0c1b58ea29bfd666e27861e637ef8de5478cd1adfc12016cd1928a8933cb04cd949c7a7cc8d821356f805d02400260e5a3c1707e5683ea44e8dac871719dd84b45fb80f1d22e5f77f1610eda2994d50b7a983e504f45c5b3c949b1739989a3f0d163713ed0a205b291df9496ee129b9e6cba87cea0d1a65b3839b9a63a7363b6785bb8ffc097b0b5f00dbf52b8d383d09625da3fed33a24462fdac79de90500faf6c0d586b290fa9bb62f7af190dff078f1289511c19f0d51651067b95af4e0c8ab16d55c6aa54ca3c111b832d73df0da400322e1a3ae45d89bd046fd440c4d625ee6d4e4da2699eef8912a192997a01302f98e7b049222243363941a1afb4799486e206d6ff1a021be611ee7e103b9c4097bc54472c2c0987930931a05f9c0c6244c6e68dc1e993544d0f0833653d0a1ed46ed767fc10b0c6cdd95ce8fdeeb0292b67a6c1a6a24726477551c7f07b59725354a65283faf8948dac61c703904a4293c96a1522ee713608155f6c04a4666c1d7b928c68f35fdd7fd53a15d047a41667270d068738ff3d3d179e3f152c405ced060c18b556168743efc9741e399d4d0a3c4da2e1da8053f2f4107bc1c38bf4a92b2216c300b8ef241195cf5391192004764d8a4bc135aa5df83d88c9acbb581dbb28bd05b2388abc4cdd08cd841d849e6630250913aaca7a7f4c61e25e2cc2fa6cdf8915a61f5d11825e6c54a8221e61c5c43bc419ca490c5e94d60da6441603c32a68ae5fccd549d33842cb91d089e3a4f322e2db41fe06ccee3c0584067e743caa35e9cf64fc8890055bad54b52f79ae793fcc1217269dcfed50b69296277090c047d257d07b90d32f157480ab25858ea6665aecd5ef05e19b9c5b63837ede5d122559fa4ec1fadcd87cdf4a0c16f37a41f12689134c2610a19bedfb0faf85d42f661f41d0c408040c94290f37c6e5353f3c1ff2243a765a74f01c01a0a1434218721b58f5092410a6a1bec6f16fd7f97917482ce6a9ad2c76d1f67d0975b9fe85c50057997b65ef22ba584319ea077f74b39d1c4fe8015ee1fc086cc4036922a503a0e5efbd9b078762700a26e582ecfd8c51cdcdb1ad2d194bb04bba4dbd87741d7f25e1df83960815c6eb76bba9edac55787e0f2468eec721394ffa4465309c4b9e8b94f7c2f599632a03ff3452f48077256c212b35f4085490bd1c3d7432805f15f284244ee770ddc54ed929f916f502e5f6fb7c6fecbb25f2b13f5bceef4245878d1804e49077cde7a38e83622469a8d8a272853ac6ed9c23007f126a603f430f0dd44e76d12b416bda07603d5f3c4e21cfde06011758afa172dccacb48428cc6a6b67fa386b96e50bb52ea3e89b648d9028172bf70e392234510f223d2846df74af1409af271c1ceb965ae96fb9c0d3e9991d82ba792b6fef50bd356ae9bdddf4bb8f8484b414f5df805b3d854957a3d9424f092e7371f486db53b136e9956fc86078b9fc7925eb525a2c9a75735f4af510768f367d8b13cff80cacec314f93c6ae0ff5b03ed9d317f8ffd8ba3f0bc59ba0175e47259a2a83fa40a8a666041ea6879f0443fcf83671e217d94774f78833ec66f41d2d49d3ce74ed0d7613f325c2cb19d9bfd43731d6632e1a8d5e219d47ac8960be6a06d5dc34958c08acc4a68b1c8fe0aeb55d2a438937cfe23fcb7e16e3d26bf538dea14458f3f69abfca2310d387eafa398fc94ab77314a1d4282091de5a5aa21eb3364a45b261c11208e0e5cd0e1d9c96b55402ec8ad1ec6228e512adbd581492574b8c8637e8654af9ca35396d4893c5aaf7137b2aa7a0acde01235a7c03844e60f27c8b75b0e1d18cc15d1ad78f39c6acd7d33f8b8391d189c52bd6f75f67e93f7de2c18b7e737e856763a7b817b4bbc9c3bee4fa1f312ed3b63fa5a2f915f2749d6d08e0a65b5f4b7ee640eaf387908fe7ce6a31283be9c276e994635e6a8eeb2447b1202536d79f89460a368b9098f1a476cc065a471d2e32a2ee7cbc66044ec6f07ed94f9ca7fc88764fb8eebb34c22324f3c23fca866dc0dfec4154501911a873e00bf717aa9ab145354285ef243cb3398489cea103a7aa7defcf4ffe9f18ff497d2191db97d1e1731f2ea1c58d42179d8d043fa3a461e866e7ea10a7cd03b9241ea9a78d6bf036ccedb7b8ecaccdb024068f7f1dc13f9953c66428a63e01eefe635d725d4502777b9697eace7c7e6c8fa5db2f821f3a39649484bfd3ed890f641c4baf42d25b5f6e02797f712e7be3ac96a6b24de052e2d7e66ccced69c1c1fef9eb06ef05191577afd24d25de84ac2965a7fc795209739b53528a768ee33c76b0a44cf56fccad4f2906a141d5aef37c4d0ee394de46cee9a41b66cb0e90b561b7f43fcc6d7ca1a23129b0677030e31f831fccb7540a592c1a26527b14ba1d5a3f83e7a6808be56ca77732a1c9a04430ccbb7b1763e79630907ed6c9cc05258db0aecd02a3af69a350643903b06d6ebc4e23c3ffb23af5c339ad071e60beacc814d5f20b7e66c4f226a76bf433bae8695d5566d88bfd7b592dcf378013345798349175e5189953d2beb364031456e528154aea483bc24baa85656e0c4afa6c53503a1071f5c5536b4c773e1b42e546f49995b2daf9559238990a2b4fcb836fc2f006a8c128250bae5bf063db5e53b2dfb69f2ece936455ad5b6e5062c54e72d20a2ab712b3918bb99710a742b7fda48848f979f7e82f849a512a1e33853456d14c45b3ba70f81f873a35c2b4ebe8bd82cd59f1ce62da69283cbf36826fbf75c5988506172ff61a164ca64de7637b9a42eecbd5d010b457cdfbb02513a781dd0e2bb9762f8803506fb3e43cf481b487915965359afadf7e8934382d430c2aba3592b33ba4feb20124b1acc8df9be361bf044ac9ec4fa47fa596cae6db4972bc168b233d1142b06b5eead0645bf54a76e64d08661197792cf2b9ec008961d0134343a606d908d980422cc60a03eca3e81413691cbc54380de507b52e652563e11144dac5ef84b8139faa0c7c7399aa14e025e199dff4fac779e6c4efd791a52feb572e99019ff2472f4f3f0fd23bdd7f4cb37541f2ea554088ad8b676f6a3f0cc69614f74323989df9c7ad49ed5ed8163f9ae9673c3f75a291d340d300fc63a563a236d1dcb5a2eb5feac5f12f3080b33a5a9a714b313ee3197eeff805f43231cd8e4daf8400526f7a39fa1e10f3030fe27578e2f8e7e348dd4dfa90223d7a2d18d2e6370247a205a6103e7f8204e896515e3055d5d21f58cf4172a9d972a2a2c279d8c1b4f0c88b658f1c19d9f7cb8bddf4ce85afe5d66d07fd290878a8646a13e225dc4b5be56fbafc62e94fc702bb626d86f976da9d9e6e49da2c63219ec2dcc7db1284250a8b5713e194bb0388d77645a18a9a06b912f133a1c579798dd98e9c0da39e3b00dea140b6e6a8143ca689183ea4cf3e5d512ab074d5381875bfde8c0479816bcab93ba1af43dbb875ab48d5269030f3db3aed02ee9e656fe3c159b82706981e4b4ec16fb59e2e740e10e629cc2514ca9545a37c2e9a83bd0e28a2c79f0472414b11aca50f92573dd01c567a7cd6c052f3cefad3f7a34ee6d24fa55b7d5f072f0a1717e9acdd3ada940f6e5d1b73b029d8c0801980a33b016ba4b88d0239aa90288a5157e773b0b62f40e094398adc4d22d12eac3fa5accd461715a6eb2713a9dc19acd05e92edfb9043ca825685851d6a7b25c2ac8fa5d6b55917ffd6d53f224ae6d84beb4c7e652286b6d1ae3cf12da91a74d04b1f5ef5a46b862d972e3f731b0d87db31f450ffd284f895f43c036671c60d9516c164fa3bcd730bd00cc887184509634370ef23f7d2d1b67f1f21b92ca34a8166d79af6fcb84ff4bb5eac088cf81351df0d2ac87c2cb13ad13dd526330821dd547286efe4e463315c2dc754946e98c29fb7aa0211e5a01900cbfa9eac4995ba824c78d12019c6814171ca41ea5fa2cd14a9b311acb02a769de3f14aa5a4ed8776a5364b95d0333004b2a118b25b43403f5924a21c571e0c36d835600ad3ac2b95e741817c2e47ace745479d09b67321dd7e30d62f34b0b9f13e5ae180e7427fb4f149250abcb7ee22578b651daa92d12dd5292dedd1f17977d5626b5bfce2f92c4ffd42e701fb148dc186f4d42e177535e2055b96398351c46ec3bcb1f090823ac9174cb54a56bb5d3b06de70e554ed89742703b7558022e10760e7a072a6942441b83f597198e24a030a7ae699d83811a302efc5cf6fd65cd890863233948463d51fd2304772a2be9b5e36aa3b0ee62be1d239aeb27b0c5fb64762d8f45e9967e0a591470922a25fb5a835e557bdc66bc066caee6e69addd70ed46f1883a88321d0ed41e76beeeffa3df3c8b62dde11dbbaf4a09ee4cd4799608f49abd6c0fd529d2556d64e69139bd31978701d5035f98fc2280b089113a74e3fa4f3936b2bc456e23afb0c4fbc40d07278ba21180804e475cb069be61f4c3ef6d6fd3f695630620d665a76f1541a75e402457ec690267f00c9dce559b6bd10943083ea16690298c95a4c6af3536dd36a2a1807074c8142296c6032fbf0ec3263190982dbe9dce8e404f83489a246e59aaf4743889b3643856908012c5d389ea2d5897cb14a49b2bc7838763449f55f7dfafe87e55dd07bdf23705ea3ede3059ee6bcfbe519a6118b348f3a221ca39cea381f056b873f743253d76bebf13637e214805aa33ebd55091568ce31779c5771dc2f61b69b2ed6cd9558cecf144be4146ea48252f995ab7c54008ce177d6919a7fd87e34f1072b4d7ee4ee4d9fe86181745b35cd2a76be24eb1edc4d8290a3ca320c723d0aaaca623d81e0d2a429ace018fcc2465e0c2f8337cd1588986490aa742530ae9d7e8b71b84c0b752f1ba3284932efe4283b20e66cb06ea4adf3a9e16a2c86be2b22febbe65779a9f7f143ae503aa7802046aa4cfe6da40096fb06f8a5477f0276bbd6ff2481b24dd11b2ca9c2ef286176a98e193bbeea5a08963f2aac12143cce683954a9b967a172797d65de80167d3fcf483e1e3d3966dae44027dcbb152545fdd8f5e9c2b245418d13c9c70a50322d7ff11e64bb784d846a28236432b2d2052a89b4bec9f5e19a61614e19d4b7931ba7a26fc45e1124c446ee076e6eb83a277d945b23bc83d0554e533f0f01f2557267580e4a0f752fbd5f313add3af9af42e24e45dc49ae92d5dd32ad01e7a3475a14e578cfc8561d0fbab7d2e28ead7a52791b67bbfea3a0f5d601b48223ce5e2a7a5f8bb156cc54c1e0067f24a266b67a0f76bbfb3304d457e4ac689939f05fed7b2e4fa9c3135806ce06141b676c2068e99c0632cdc64573d1988f4ac8a271f118afa580850e5e7b71b4acb079936ed664d33f4f26f48d7bdb1aecdc2188d3d8ce944b17268bdfcb228b853f7656fedcfbc2bce3382682a7446c7d0ab7916953109f204304d7be75f6c9ac8555ea3719b774c6940d0f053316a326f673dcee237a85079015b8572857aa2523fd912c7aefe37acd91f56c600b2f2593932602786a01c037ad0e6773e20c0829700e6f4a459c70cc4326f8c1bd4d802df0294c647853f95bb57a3f24f1d70856d9725b2f9a57b170fea5e5a17a16dd6a6e45226b1c1dc1b9c7b54f4bfc1c2e53ed98b2a6529afa307f26ec40f4f6dfa674527907f5f19d14d4cbac3cf4deb3f3d5f4501787110a84d07eaf771673ed7efa8e098e9689d29bfbd68eac7d549f338fcfe6e8e8092a79762b40b47adb6514d719397d44781625c5fadade70eabc245ef3bd63048cc1ac952a8969e889881ed02a1b38cbc693a3c6d010469111259af6e8f9e164f130f60dbe3ce84a503d7fd8f6794b1e113d17261082cd47d14d8e529a57058d308b88f6e9c6cf0c53cdfdf3a4ea896d23eeb6d6305e6654cb445a86dbafeeea0b2ff0d7fbd294ee15f8103cbd8bc22ac7dd275f7b44aaef4594b00d2c57e30384c51b552bb3c446c77bfd1f53fdb7fe1fdbd75e9aefe4fd213c009a7914c7bed96ff488e7e1b12c29c014c6aa82093467a47cfef586a5b829aa9ccae542b27bd407d9c02771deacfa1c0bdecb80b76312b974137d37996a746372b36e1e44d71c98be1f4d4dd06486e2fb3cb0ece62af174de23d47aa4bfe869c33c6ac2983b37e1e878447a87e0a0012cf3bc42fa52424054193ac7023d77c0edf96b4c6af7b74c8c9020f9bbf08c43668c7fa26d402f5dfb9641bf3572ed504447621d6e2a840a75c5d52e380521c3c624bbfb3dacc9b41973d65a6805735b9ae992603cd3cbcff2c3852915631bb7916c737a59475aefef00b8df2b1e1650e36b59bfddd5d9de09fc2877e945fe1b1f03a1307777af3c8154356327f54740f0e3265859af4231fec1e620e5576e1101715598b16ab9bf97b2968f6f5241db202f5f89e3054ca88ba2d464eb16e9704428fbc5a9bcbcbd6a3b913c318b9eddfa23f1f65016346c3e1528bf6bd8f35cf1fc4c8102ae77aa3bd3e8c2988e4b5ae75177ca88bf3bd1915d4d161920575c48ebafb534935112f7ce351eaab83f378de0f413ef0c665bf4f277ccaf8e5fbf4126d2bf436678d948f0e364d06d0d604558005458798cfbf2efa85fa0531a7d206323ca52a0c61f06c67a50222635e3a9231688c9671e3774887632b867842044b0a8a8ac22d0da434cbae9ae30d168e1d2c8f08d7e743482ada80416315732fec277ad1b93af5090dc4d4bdef2947ec1f2b60fefffcb68deafad3fa24e86ef683caa933a973281a95f29a18254d54e1fa432c50f69a3ffcc3591218b8f4f4c28a0a804cb1e7fb0919ea32b96e43bf5f93d11b8135f8f7e1931e1f0af7a9b2caec324bb3b02bfe2844b28e6acd1702f4d3ad5f77c3a136abb0cf58e060df4e52993a9e5b3ceeb976bf6f8e93869269e99a381ab61ad36bdab2f49093e5d99c6c8686773e61f12203fc9833dd9f6b449aaac65a441fbc7a779c3b1b1c6485b2cb7f74c5c548c509ae532465445ac2c5028b8b24a236a1fe948b35101aaf7ff408e58f6bbc726e4e320df673ba24804996076f8b4a8f8e4a95a33b2efa0146f53d6fd56b3ef40433c797391acb58a3bf4756f3e9672f4f5779fa06ce4719fdb152edb862c54291d052b7f60c8f728fa71d750863bb257ccc9f439ff9fca23df6ccce20b4e3bdd40826500d680f39679e68474b9c2a3ab0a691affd5fc4d113c6d521cfe2e6edea723b92b3e85ff84da5711415ea17df74ef0ec09c23d9b335f72e7cb48b66afd582a9e709fb5ededcd9e629fff26ffbb46a51f0cbcca4f60d828e63bd3336c5264f7886b8de12fc64e8f6b6ee97a154750ebd8ef696240f24704395f52d088fbc720daf93d581786f6f5ff519253aee23836ae19a4661a20ac0e3609e349b0fb3903e6db8c8c831ab838de5a075cbb2d2e323f006acf7f827f652042e470bea05a68a4275ee7e42afa224a03edd6fdc3348cb15328d3106b1c4c75f3c93a2b112eed56b3a6e29641500a3cb51d9562a18138e5ff5971fe1accee9bc817662356c82da6a52638977ec25b91326f7b462efe48c0ef8581c5d2b28e4ecf9118c8ce0c787ec879bdb839a06fa3eeab289e8fd878d9e674b2108a5d0fe4e898fdef51486d18f950ea13a61efd9b30376f26aad241d01a15f75640d7d54c8e213862f25d2af3300dc6daa15f0764f4cc64dd70f2c48aad0cf7cbffcb1fabb860d1a58a7c4504219475c2929df5195b79ffc9432c0bff8f09c15dc3518f016e47cc4c45df0a1a330c5569862852c0748efec4a3052c44deae6e082dab554b7c878f25c89fc228b5959826664e405c4f080af4da0dc1dbceff07864affa13be82585057962ebcccd48d258d0e90f789b63ab9c8b32d2af212f88df8ff65fd8b952b48e5f487f3f527299ad0cad632eed3ca237f81ae6971c37073e542200ec5c783e3ffc290347c25892ba5c62e3fe458d1e72b69bb8d492c32d342af7d7d12c0e78110ee07cf145a58e131c1310ea3ab464220842d0fdeeaffef11108f903b5b7595c74fc14b30819e3b1efcb5f5fc00add09a2c226ccb89a6858a041693ad8541e7739ae4b5a6a56957e32fadd1feaf2620e2b005dd08f24a0e6e25804d3e2d70851237965dd63ff57545c5d84677e8848d5a170ddef98dcc98f0e07e4ea1d5c0eef5042edcd24ba9eef202451aeff7e3de0ae022325f2af65de4d72acfebeb865fb57867f61fb6448c1e0bfca00a76181ba7d9db03c09bb242869e7dc2aa74c1b381bfab3aab884d2b43750086db72c801d5d97c87d16768f2400286f1d07a70d4672a3d5ef9d1379ef223d775d7788cecc342fd723b0985b5fca9544778e6ce092517d4f4d35cac8c4820f82216872a3256d123fcd2649223845b3eb04cc34581c22886f6db480a14dc78200764900ba6702465b3de06360d348e7f19fd421f803e5c1ac4fd160f466033c215e8020ca39807ee5f935f4b14ce16187cc52b2e451e819e1a423da16859cf8cfe47e898a60d48a9e8632a8d246981ac0cca5a853f1179aa73f590bfa7f0a5b21b77144dcd0fe1fd770abdabd4cc4ff9da26a5e77cf9e30848e24694c7f846f6eb5509dc5f885068390897b64255a836d94fbded22587e2b935b3209cac8225c2e4f6e97f46936c2dcfc1a4457a9e2978200af4a24c4a86a5c2307426d037a6d9cf4cdfab03619160ca235995bd9ea465bda8712c9de5cf1dc1c6c2e2faa365eac5a584164c343a449b7449ac47b4726eadfec07ff30b7c7f85a7c1d180ab80a739680cb886677eff4b39df4f550945489e3f489e15b11f8d1a9bea08b260c24e2b10bca5d16e2fc628ee57d8dccb08d3a5bdea947f13889a128bb8dfd550bf4c04151e8b785b2cbd9d36c81492830a5525f16c57dbb4120aa082ab19f7f470dc2d5b3ed9a3c02a22ab9e39b8113638a554adef20c6f4db8fab2b4af2121530a42ffff18cd0f42857f719d397de5182695fc8fbefcf15c6458af0466dfa7205a7ee173acd8e89b1d7954c95a2484adf4a0d3064ec93b9adf78c0778482d60b75aec4d58602128a39473468bf8e996d1a9a8f4f1b2ac6badd094d01129a86d28c09f0a751d2e3aa0072d04b8759bd8b8cad4c9fb2fdf79c6527698bd20e9b29a6c1ce96c5a5119eabd20daacad4d6382eb10acd87e3beb6bc542e4ab21c7e937d4e664bbd1c72f94c65e3485e10d7bd1382eb166530b68d8eebb0f8091bf704aa7c3df0bc5994bc2af98745dacbf86324a16f0219d8fb06e35206c6fc979ae4b47cf7a95ab6009e8dc6ebd68a093e0257825e8d829ef299d799e4a51ad93e410a8ca862111e08e9e67ca5973bcb6dc495c9496d1983b0c02f68751a7566b241100cdcd3240bf65a7b89cd19cb6029e65dae961c5d846e71d57d59c452847ae9c45eb6339b5647fd801f803df9fec6b146b6a18989588bcd6acd1d96894076e4452008535fb8c5633f4d93fa96c7525ba9e6181137785fae443bef5256ccce23f9e24d43f1663a01a2436462b067aba22f2c7bb7a863966e7f3ab25900f71dc7c0a12daa29749c040a9d53df12e8c7c8032e436c25aec14512d46189042502090ac1eb79af3920463d2ec75143cf1df1c8592945ec242322d70738ed8e4989a11fe451fc1372c8354bc143ff731b4a375c09af1773592c0a646a856aea2be93b06a85307cc8ee42fa2ac6c8800dc3f79107a9be6fd2cb65b61bdfe6e3859a41dc0a8486d0f0ec03bfcfcbf487989a5587467d2a050ccd9bd53cce222f899bc2f7984985ca2a7f6df93f0388bc6ddd6debf25fa659e2759cb6c1ee6b0bd3f5d25f402ca33ed3d52eccb0fc23db9e3cdca7f1037238fec47699568e189b8c4a7cfa7831f99d97e2bf73252e708925070d475fe7063bdb7a97aa01efc342bb4bbf5f1903ed7f32957fae18378c1dabc78c014c45b94c75d4aa107c667c6c38c1405292b876de4fea6b6aa1a616fda8a1540aa92a7f3932f251508b55244a5dd687d993d27516222342a2ce3f8544cb94fbfa614e3987cbf386113febdfd9f051508f81bebaa29d1bed2c3dae517ea3342b6934ca0ba1d04e1cb69079296d33205ec28841f9b89b4f7b0dcf62c43504280ee5f73148bee1df51e72de0c8d92a1f5dbed28d54e04b1ef62900e8c3ceb85562b89cc2bf5a40e5d733fe8accee0e6c1689c402bbea0794b331341d51e264ff7f4301bab0dc33b0a8054ee5dd735e1918975be40a97b35af6cf6d93aaf262bf79312cc4ee1cf0abe7b253eccda1449e56ad5c64809516eff7cffb587bc97420655b4aad8964dfce41b85568cee768f107232d7a7839920dc9e64fb58b11f2658c09f49c1c6f541e42f9cd86f843f9bd7cf440e4bebc439d239c8fbc7adb47666d7b0b7f0864b8ddc4a73cc70a66261f03721cedd936b3c2e18853f79a6addd18c0251a6b2e8c1389b41cb917e3344e382eb08d5e19dba25637f6a6388371f12c87d36bbf397862a9c527c88d85feca362e96e1785d269f10380de4ba043591ee26de1c933b91079699edf032b9678786ff730785b1a26c0ceb7fc6e4c6963f18cb3527af02b44b17501207c1aa735c433a58ad488875bfa38efbc8ea023b9fda17b8b5d4cc007ebb28422e494a67c8575d2d0eb4ca37ee061f82366a7d55a9383d3a76d3547b3914f7aa14dd3b9dcaf57122d3be91dbd26965027c25a55505206b9d0c5e6f75681dffb6332ab8cf4ad81b88a5fbe35659f889a8fbe88230ae187d1c8946a1ba047dcbca64f3444f9ba5e5a87ea3158d579647388174f5cd1859ad5bbf99457c98b18a0833f5ea831af1896cb7cea26546cd94e9eb196a7f8774830a4683b77e5ed84bb6eac81a3f03b0f0e695d8e9cf9cf3f3d3c1b60f9453929bd6e97370e86157627e76f131d4d97dd743d57c6582834dfa09f2f911815380b63209490ba0782c56c17fd584665ef56493b4f5fd8c259489f925ea6cb5051110244367ab4d80fac5f7c1e065fd3ff0111679f348a7e1455a94974d07925df813c4686725959583ac31b68248a96ff2e9ac0c306ff9b64e00af817d15f9400b8c9f27e146afbacbc894a636325bfd0cc594bf684d4f28c91e9da36bd7574d9bdd8af4641b4506854f1946fd27f47ded5515beb776e30093bb5e32950cc3922829b23f597e95a7553b51631e78ea7680c1c5fc74e6adf8ad7785859ed69ef590bdf184b8b54855f2ddd000a88b2ad9a8aaeb26a2cac25b3c7a99ce5526805392859d52f26f31d37a07c85916915cc1bf117fc02b0f0f0fa3a0f0ea0c32dafed74cfe794d0f6150a72b3f9301d7ea996a283466d779c841fd5d31a3987bba0c71e47cbe139b52b695c3b1b37b57628d3a4b7824c9a73eeb77d0ded63415f696d6ddae78f7dd0319fbbca6fb694fe2a6e98c65bf959e4e2149a5595048225e921309540c37384894aafeabbc39fde95fbf545d89b8a2c88b5a260d4694f24d43a9a0db9124d5328971a943e8ad72cb68424223693f598cd872b04b046e8fa0572105292759cbf0eb82be8d0700c411f810491ad8fff6e160534694ed0676c2ac47cc0c303b45da52e7fd121a19e2d1f8f28a21e56a1f8bbf69103dc94a16b6b04204166f65905f34591e40c8c48b98397c1a7bbb08f287c4f0b0b5105540e8a3d09d1399cfe2f1a4ef6f6ce941f3f50092b53eced248d9c1624106efe4dfa3ec849930ff20d4a60f0cd6c8a6161b4ce65656bf84d18f35afebaae41323e0075bc6dea635cb9d96c62ce5e380c13a360a804f922b19ec9d6204210acd15623610e80b2039370012aa3cf80ef3f04ce450ada5e29b7177d880766a0aaa8cb5f779b982abce49916181cd340c0eafbd28ebbd1b46fe07e84739cc1f2b0de465bb077c79648e14dd07520511f93908fc7267ad42245f6bcd0dd0382448419a6a34a0adf6d46c7224897d65b9d1d068416fea2670a859917f3ad9c0748e641a063d88d858e4c59cfe09dadf14dd335650cc9aa71a398f77eb624b3453772e4e6e34ce263bbeea030628b31d7f0bba24d0fd9446cc9f0faed576bed1824410cbae07e9b596b8bdf42b2ad779a585cd077373f8350264d71f5270c5a55786349d9200561abc02cece1f76a6265a7673a37fa80fbd523feda8583a458a942f40ca572b8c187a3fbf27139081fa58b97f9e64067f70df55f941c512b726f84da1f63bfe9037c268734f3b0548f5ac226c4f2dd241f6606e3e6cf7b212c1a5b9ecee897e4b075ec1c92872f3fb5294b541db46794e62f0899c3ddbe35458f898709b8d8afc1cece60b568473485e6b93b7d209bb0a930f14c714e70551ededca7137cff4e27055bc758f1f323ac10a8b78d7952aae7333abb1d6e175d9d81d6a22ed5508ebae432a7597a0528d94353b6df6e59b60c0678dcb4c663485c7721365053ca29f5bab466d389417b96c7998653f7081f82243cbfec16ec60121de90eb45ff2e2557e3ef569c5035e300400216e10be128a7945c59894ab0258737364a5d4fa7c5c550a6e267c832a9cd32669994d42effd68d0e946191e012a8edd2b2db366d350ec4a66a9bbf8337b0cb35a9d76010945621e0da2ad5513f8a6c8dfef63063b666ea957d886b456e4ba9f4b279dfddfa445aaac0b3e822621c128c0f8a61f4f0fdeedd995cb795489da76d0a0ee1cb7c031c956e8e169b59e7225042ed532c2ad589f28f4550a3c716d11cef9d680ffd0e82e616e3b5f35ecfe5702381758935abb2dbe0538c0cd559d50ae466336f3f928bba81cc3acba59d0a92727f9d878b8d89740564501b7f7f48a8b83d48c3a5818ab5e5961679f7f4ffd245ab4fcab5cf89115c6a1ecb4a2fb27d4bc745751ba84723fb6b2a4bb453b7e1f1cfefbe90ab43402e485a8dabc816e7b21efdf9a692f12a781922387f7afc1a682fb4169bfe469d6f83d3811c7b90a5e9041da8ab4d4d0a6040fee31b870d43720dc193efc40406c3e32e836f5945c96ccfc0cd7b08de84983153bcfcc49a75eaf04e6e4febbc07a574c1a3a7089550c52da5c4c84c6c2e54db059d588f95f987722e05597d8deed1b41f2e87733cc209a9b585f56d2540607f432ea307a45e291c31b20358d8e1a39d3c28f6c33445a112b2aad59b329577e98639cfac1c870d1b64b5932fb93afe28b67f5df8bc827be9dab7cca6042ad58d7f086291f09ec1cccecda43f8283d4864f9ac5dbec401e633af1a42643b6103445219557226773b3a2e5acd4f80a2839dd3769ac23ce48049f50354517dcefb3999d0da403952d30132f3513e0725d2cf43331e42ecf8718b55735f4607b515051c8d2c985bb6c57ee13789ff79b1c2f8ea4a99afac0abb4cbd5827c32aeb126af4aebe703381791e3d34da8c1f9953160d27aed2b38163806edbbad5822e111c752457b7c0a1fbd126e87072fbe34df3186999b7855ad43f120c133bd6c853e91e98ee43e7d14233733ced57ef0624a6473c1e2145d36f0ff54ac1fb01f52a626a23d5410ad7fd00dfa052bbef4cd32624ee3e69def3e14eeb39db2640f79e8a8118f252232ae162aff9ff7d316e5dc1f2942d1d25f45fb63f6ecbe119997bc78e10437b2e640968ddf2c08978de3928b314738075a42fe4353e4762d24df34390f0a645dd2afbf581992b060275a71bad5b3b14749ecabd6f99a1c8def139c7d48aaff2823643d7dd448e3d8b753881d640d6c4f9b7a8c553de266a8f3c453b9f8362f7f5deda3832a2a5eed8824357e8dfd8145b321e30a86e1cdb1098289fd2e2ee1b7af622ed67b1502c4f0988ee36105bff162cca525a6f675b2fda07341fc022016eb5f92280c732facf130db095b6ce4e3654b2e24e11b1012f9a06fba5553d073e4b4af5f8fa173570399828811862d36e13fd56ee246fa4bf6251de962f61e4dbc10364c7159ef1ab1256fa5d21f128da40f03df06ad76c2e0b9cbc4e44bbff23f85651f5173a478311bd06d45920c732fd97c330847b603dd38cef83a63242fd9725f0bd49bc138edd37096d5e5a126dbeb0c558ea3c13a2b69a4a508494dcaef8cb8b3f98ec62fdc93e90ac3f99b0823a2c08e8f4621846e9cb0ce87b8038a7a5be5aa106c52a4bc4b4242b63cedafe28661c6b19af291e2d67cc84f7de12e4ef9c65f53e9b15e1e6d650216e61035befb4c11933fcc46b250c44752ce6251f96a578e7654602b205b01af2d9f0e19aa5668aabe8eaf951ddaacee2858589387deede123ef3ba07105f0b1469fb952d06d80a5255016174ea45d6f1f34ba8cc8897be14f8f8bd40f5f3e776aad1b5f53279ec58f5f41a16aefb5188820e08ae0d17abc3149871ef49d008ab5b06e595cfb9c9c6064ed9c447001c7a6e86f137c456b73deb43d0fae035c0af698eab2d2650d3f1527fa6497d8ef55a57bfb4a17ef188246b83ba3a142626fb706c0f7a5814a8b8a66a35376cb5e4fa8ab1042d26f7f13290630bc990a0f3c75e7a8990267851c918486707ca5640468e0bfb1dc9c7e067368dcd08fd385add691539c26c1693d67f7d381ee0742477dc2ba4d10f7be46a96e3aa694c6c4c750c295fddd4a568ff6ae454b668e20448836ff8b398d300c106249182c45190b2642b34f0e301510cc92c852d2dd12d8d70668d7bbd5c985b9bba1c1ed5a9675f85af0c3bff69dd96b98172b9fd21c06fd63b973cda47818dd267ec906e71c94e4aa112a1c322841e04b4e481003547f9e728ec42b3001e8b9487ca6c96bb31ae3c5c6d0205d2adac52cc9988eea3a1ff390ba5d19ae3eea7a3db1b1b3ceea5551d13a44930888f6b0426a8b2f5db7cfce750243a02cdeca382c3741acc2f3f2b081dd7b84ef62b0697561bec84896831c853c8a132d240547897af96b33fd4c6906f389fcc706fdb5ed445fbdcb51f1cbb8a6f2a2c87bbccdf095a38b5eb3f978834c9e8eafa6e87cdefce057e37e1fc61acb2a8f061f694bb81f34b1e8766400c4f29222155cf013e7e69551b293f471d1c7b4ec1185a4f86f3b9dade8d7acedde89a36360e8642a77282128c52afe39a6ff53fec1f9e82053584ae99e2625775d41da91616bcacb5b6f9d525eb1875333c163ec2afff21955f95cfc87d17477065cf95d5f259c564ecec0a9aaadbb6d372f8eec8d4051e4dbff46eb6975839f0a1f2275997ace65001e5575ae323bd6a7bdc64d723ab8a3f9115a7214c6a6e540dc5ef02f60b633ce5afd8f6f46bade7ad4353164fe31e9d8e4a92758e7b56c001ff1c6a6f3d3bab189d2f01d2912ae66c1e0329bb8fc896e06a22a94edb7ebf8bf50877a0f1a9f135e74f9783a5d8e593f32decd280fb5832fa41f59a18bed7d7b1d8778420dee903793ce4cf98293fb64dfef392bc2eeb9649c155c5f1e7e20735a089e0182b421417b59080e3051c13cbf6001defec6af2033f00972a8ea9a9b7c5c5d4d564da2d51460a8b0b504ba672ff0d895580ef9e191767e93aaf8df0f35cd8c51c4fc07a1ffcbeced6b766b08356b080f70a417de7938da18deb3817122473e9068ae8732ded895a27baba13a9a939aa824a5e303d9d863396854b9f52a849ebd03cbaf1a6ce4b79b9b41b337f48b563729fbf6a6d432b4f175f0119d1bc1f6d7ce365796222b436213e8154e2c632186bdaa69933f384a061cdafb146436f65699453e79c0d0090df0c7080668cc4783ac41833c72b9737e67800eb5cc54f3074bdc2fd45df357db45cfe647f56e4f0a5d7b9ff8c0aab06b25f5c8ebd460a72ed9afeebce517f977a159a654e06656921e92b474a2f99d1618590a958e98e35b9aa3ea84c79aef43aefa62e06486cfa9f0d808aa304440aeee09389882b35e60e7a1db8afd031b9627b8b4625e556506d43efbeb3c0cbebf252125780b3e241e76c2d6064f662dabf35847be62cab9f3a8eea4c8f4e81855820b46d8af88b06c2b66036e73fe65a57feb9de9fb0b587c554b71ab9f256b53f58844553ffc4f695612bf1f18d25788ad598c0f9bc1ed84a6396f5d1d9ef1376c7b1cb9eaf1a0c816d6b58db9bba14eb3029edac6c4ac5fb5650ed03767a025f71bc0acb2c82909c80935e901e0c78a6ac8b82fff11cd28881848c5af3bd82f48ea3f23fb68270ea691f6ae87c852e121fbce7e44ccf534ba8267c6d2f24dc9c1d18424765e6e3363f97993b3bf8c89e94a8df92f76a7ae879035b982f53b7a09d29ca55833e83bb4a3213d56b7794e95ce65a0e682bf19487827b2aee4f8c8bfee10dd510b50cc3d1fca9821e672613263bf277eb9c8d6256905f3e19e7a590e6d0350ffded0bbc7e957ec6ea9805f840a2f688485cfe52950510668252081e39f010d413bb73bf0926317eff964d24d6b190b32a22fa85578a7215cc7f2a9d0a406c11fca94d01a20aeb3059302e2e5f27608159984f4111788ad31d4229dd7f987b08ed8a046fd82df4f02e68c4d1289602cb49fadfc5a25abd21ec48da1e1ba2669bc6b013295dc8aa523d178284a869a115b3760611ad4cf31f6028bb990795a630b7f1c6a9f9f5b83d637df739295dd6c017849ab8d039a3b81cf383458c0938c8096b03d61c06b7e71872fea987981df421cd8ef8666a95b75ed09aa818f2f59a463dc55490aa030cbdc18f9ef5d989896c2887d64e907528c00983763f6aab225113af60eb775889aff885c210ab628b4a6fc42c28fc758d616eb378d6e6053f11fa974a9104b61762a876e271cb5207fdb0d2b4a418fdaff797f77ebef6626d1bd08949a55ac36dad9c8a0be34feac2c3c2ca3b98518a8022439abce1384356309ba30aedc50c62e3ee493b10ed34af00390e5e7110fbc2dc5b2b1072d71421d98d31556f483fb52bf527aa5e558f39d2b226ad4596c13306690dc931e521112aa4086071cb7e626cf2c7c6927685e613af0b86fa37f6967c823b02d5754559405fec78e9396c395b99230eb7229112353d52c3489ae268db42929f4ce7d6b673301240fcc229a5885d6241087a8312b0ea9c1da88576e56df30755cf2589b534faf7b5b4d8411d454646355376fd2325ebf0ce6b953505616616917a4b3c5f61ef98757e234af229bf8c0c360dcaa3ac1b4679ec4ba548a56f35e4aa7930a17adbd01bd0a4850ad1a1f46ffd389160255da5811d30a29115a4b1679eab0f07d3487bf074a4cbcbe62d83674f00dad8da28aefae80ed1ff9ea42cd0ae9d7d4565955ba56651128d238ab900ae200be9c75f6b1494c1e473e44e5582002922185ac99fd377aa046bfd2fdffa97d51550cb8e8fb689755b31f8ec09a78afbb6a95342c732c0ef8c8194942e5152179d2f972f18f496dc7f16cbfdaac3225efa5cd634f33735e06653d61fc17bef967ecacd35f9f895eff1edd2445e181faf6761378210c6c4a1389b5e776204b3587ac8457101ee1c9c73d9c018b0af1606cc9411544e63f80acf09e1f385cd69acfdd70d32b9b03b9541dd597fec9204aac8c7545f670b073c8c79aefb1ef8b0b9f1a11679e4615a86618cdb69c76623574376ea13abfd8a91f4e281d74af591fc3cdad8cf835ad4fff966dffb8eb9810d8300b7fbb388fc1a0cdcdb7b91ba9136709d074aacff0ea5a63155da1ea2510bb02817fe4c2aa2b907c8029c23b8eaf5e4df096e8f6824d3963bc69a9bd0adf3df8d2f75f78c72d50ce4551261781b31120e5638868e74a7f141ba19cc1c7b5d79d2d1214118d17c06b0b68b419e60919c7948212666815a1be3cd5374b040097953fc0345d273f6073f026f8d72af40d194757b79c6e4f34fd92ce763bd36bea9772453c10fba8819a089a45bafd667bc9a93785f4aa88e7a45c242bb6a50e276427a1aff577fb89208087e532de1991f8b0ebef4c2440573c17ef72ca965f5290c37d239ed31fd5828dddcbcfca884eea30a85d09c4dd0fae44ba97ea2518af1f621b3bb0d58167d8f00a45f52bb5aab77c08b70f2efd955c5c2f2e2e12910d63114e0166e6351f7273499ef68d2b33c7c6202ac0313c25e69ea25d9a4b098202e2e65540d42c5222e8c5b9d8f520887792a697b9290e63d0da8dca0a41ccb6e6fb94cdbcfaa56539509de39e0e502f4d513a34ab37ea229a687436e49b1cc60a3b622ec146e912f7c5f577bcd98666d1c659f2907b025d7dceb99957ddc986bb40a232554b4504a27ef17e184d35724bfbf57b3f603d973818ea5c7ccd7598bf857fea920329cfb74dd1b5f7912cd98348bedaa5e0cf3e34f71429b5aee3b0d7a5f2b4ee15e44a97ab0b4e6585f5f86f839ee6ec98fd2e16af4202c267ade42df945321b4e9212e0fd26a2acb73e7f3d11f1dbf1b0d5acaa2fcc657a807b91ee7bfb6fc77b4b82ef0a17957e9122e84112e7ff6ef9301ea314a66ccf32c04c6b1da126dc64af0ab1ea764e3c0eec099ff200429a0b7219fc24f9ca6c28fb2d95a2f439e5895c0a3fed1e0def529dfc74d479de7b942f96453ee4eaf2db3d910b0a866a4f46e953b044817a0ad94390e02c7bfc5ba45132129e2de8b657e6606ad5d12e0da8e6997188449a27cbefccf25795870d6a34bb67751f9293432ae75114264cdf688f0a213a368347b58ca1bb6605759330865c6d472a08ce7bcd5221220d6de396ac6cf36108af13c4320d3aed73bd4198a9b12055000ed4a8ca71ed2d750c2abc5a4b254fc66fe9c243e304bbb7d1680d5e899cc87c903e40716c4076039afcae8c61ea1a0c2aa090419b5048433d3aaa197156d4da65a435262b35270cd6173be385dfffec1839e37173ab0588b7882ac5732c405884db68c257cc7ba9a233975c71fa81f3ae9da582f275ec0fdd9f8051edc68dc058f55b82eba40b25948e0217604aac25233c14cbc30bf93ef50cfd06d3715046b507ac4f79c8b846e5aaac1955665d03c553a6773a322a1e57a0578d4548737021e73581f60e8c6b4f7263cecc63c0a7a533b4da44b3e2b76f56b7c46397292972e835900554f39391b153f5024c9d7986a88bc7938fc9b7ca08c92a8c0f5a3f0798a7a4de28c5e0364ca1788b44c0b94173341b8ba0771b10340ccc9150eedff7a98ea1cc40994be625f62ff9dd4ef7fb1a3bdee4911e474b9d6a433e2edf6fa407bdb0429f22db56fa633512039d3233602e40973f16ae8fbf6da1069f3ddc98bf586f7a0e048a765598b0e1625d4126271961bd0f2d631d8a9de1cc25932ab7ef72e3d60c4c14e7aac5f1420278e5c734c5cddaa36dd7e51e39873869d0db8334b53131693fa578d676dc9c8f01f74cb3ae62373a5170f72c1c6464aa8a6280a104aa2f4b938b74dfadfaf9948253a4bf13ec0fc89956faa3232ed213a696a57b900d988af47598402a6a91c6725f34c5ecc5f1b9be420cc9db51321afe7cdcb9935daa098980196ee8c65d5d62b14184b0f368489582055ffab59f705f21a0387a35f8303f26607096b69440c80b53afe6a9253657845fe96f9c400b7a33667c872fbb86479c96ca3884d122e7f6926a4bb3f3d2fe0465f08342c75b588a37e409f849218a06bbdc38bd7210a4e29eb8d27ff60caabe1304b6176b2a802f549b736d5b3a146c69beb0c686b65ef96bb15d33a789b3b1d7e51bf91d2f3e03dd5454112a298f50d3d05d633f8869b246c7987b2ed7ade331c6204c441cafd328b15f00208e5ce6e20b284dd265364ccc1d5c691d8c5c1aa7a98a3d848d54081aa9eb3f0f29e20a421bfb74636ea11f3e9a0951ed7a9a3874b309b33c470df8fe78918a161b55dd4ad0f3c1aa377a7ce96ff7ba69348d544481dc65059e3d7123f160772cd370d81d9db499d48dcdec11e7e131f56668c7e504d4692784b4222b5ca4ffdfdd020b9c3e372c0fe6db14324f960e0e304769a4d27be221f16faa6b88d70b48e3ba0c034e09f93cfb92bda998c7c47c0097ed2146233912f42f924708efe92c13cbcfeadddf4020932845b0e438a85ee56cfa1630d671e0459db5bb2e44bf4e5a80c6eb99d2d0c6c5abced57f5cc813bdede0fc234ebca75f65eb6940f8520481c62e7f4c596a0d883708723e891f34b5d54a885c92717cd7e7ae6cd6d7ff593df19855d8b5010f567d20b6f9cc2c934e3f86a8526bcfd928fee88825d128f352a243a831b6c8fe05b2e9f4488b6fa4327d04ff863a330ab8ba08d564185ed672ac08ffa9ef9167945c87430a8c6f65da2b853928e8b90a8f9320a4fce6ae82004594495a5b374890879b392df151048b0acffc1b55f45d3d97d40d9b0b86e6e265e0b88c9e0bb488a91d5a57b27c36e1e91660c572d9da22374374e9ac4222225ddea183d72dce786e6dd334403780ff5e2ca396e5b7745fe9faad44c57ff36786644a844c41e2407469757a1a456e90420fee88a1c4ff14e66217cc6931f25e6e0938d5113f015cba6d19e1837f1ed68f8282f6fb918d0cb9e32d1ff35ad3ac1bd42dc245b60c34afd8ffa759d5a50afcc0e5f2747e238caf615c553e6ce92d79a337fb35cb60f018fdf24ed2dba51f7123422d59a82c587d99a9c13a334c4535394aee7adf341a7c080f298533211210e59e9bce2b1f4b761c0e54297f86b6f096680c4df998b6154a083e440b1931ea9e8e1f6e47563d3e35d35b9d2cd2f594c400f44389fff30cef434d56dabc7381e0948d1e4c3789f173f80c5acd95259ec536e7c94626b632cf5481900ff4afb54909a65dd6506b0514a354d802dfc38c035bebd59dda1ee28e0dc1ef775ff7ed27481951eb2804befffd9a239702af91b07a15fc821c2ae89266e15d242a24ea2c0eb428ed76957433dc8760489e1bbea4b586f11ca5e994731287cb16a2289f15da1ae448cd0e9b10123b418e65bde4073331ecc9743b804a788564ed13c0fc06e07c10e2898ef3bb049e160e4fdff5a850ecb5a8ede5d4e53df87ca8aa70ca24fd322a5cef86f071f5b338bada22c89e5e8361eb716bc6a16e7563932e395610687ac45e358cfe2e8d8be3647e6f44fa662b5da64362f172af8e2e2022f4872c43f433c7b5d15d463680d1aa4679a12091918caf1d82fdaa385b9fcf68abc944cd32818d545672d1832e155e840ab018072a6e0bf61479ff68b692acaa57ea62196059b2df9fa6a6b8193beec37ab796754b47da18ed8c938acffeb2ead365c6911a2346be070606ce8a15954500eb5d95e6137b5ad41d968fdd8a8f5e0db9118cfd55ec728d36f6be300135ddc2f648e859135c4eace190783f36d16e7ac1b555ed5ba175ba0086b1434caa73b5eea3675800c843da99bf8d38aceb32a89b3662d787e4f928cad4e6f04050ea2bae219596a9381286eb0d3eb3ba313e7ea5c10a91779ae6ccd8a006bc7456588bbc2f573973e37ab5f394f125b5312a88dfb31d9b6c467adae54f71516b303c167b61ece5478c8b756dba156361f9add509d1e8724f13f2158f3738bf8aa067460685040b3b4cbeef69d9fe91b727e9cda48d94026550bd6a7fa2c6ebfaebb3b85ca395fbc09bbc071780c61dc4db06664d92b56d19224cc5a082cdd0c728e3b126839ebe2b3f4ac9449c6d215e3bfdde742b7079e281db9d7a528865b5b7db78230fcd8261d459d196ae912b7228d9e308ed5a2c84f70cc11f2fe2a4c826e56c6774b58d665997ee2457402e4638911bc25d6db2f384ed097e6c63b2b5094db5c496aaff91114e6a7b1811883ca022c39d30b3dc500b978b899ef96dc8764f19aee3ff8bb8c427a9f244782559e16bf0672928daf074d074ffe6187cc497be97ed640b8c82ca75b61189c1d9b6c970947ef0595fe8ab968c84edadcb98cd4cbdce1d9bea476f1194890d2ff053dc8d5f3d64dc8f457f0beb9e271d843130fdab891e267f742b70429de81da682e400560723ae1031dd0137db13b49ea35675be1b6799e05a2ae35cf5b502936ebd2aa43d1875a8b6f9b11a8e1c3c630152020d68bb60127fd37f5498d05a4917cb23a8474692899cafca8619f7d90f5a0a750f54277a7d54f0b226211d7a39680870658aa9a36641cdd76db9cb73e5b614252bd245c74805c5dc959bfeae8e0a979ccb733b46bcee2ebf9510772d4208a89e46f17bd2f9f506897a60be070519d5dad94efa25d662ee57230de576c8d97893cc629765c23d64ef2c610e773ff56e034337fa86da3e94e0c75b071ea895483ef9bfe332cc5b8e8705fc135dfe9d3010f53b80b2aa7da7c110da0fce479bd8bbccd6e30dc45bd0c1d3e6c29aac971393c6f44dd79e0548d92875149f9bd2a6565edc8e436e9e914b1be9642989e23b75d66e3503423854760ff3342d163e811cbff20b05e51da255d6fa04299025c6806516d2fef501e9208d15ca5ee64be3aea974f11227c5481e90535a196935563e34ee7073926a1a9bbd71510ef6493b0714a59bc786548d0d4265007891c0d16661daf1a7f82a17d3c0f08c15962c15ad43a6944a06dd63f46df6a2391b88437a0d32db8a3601076d8f3997f6a05bd525f53b34faaf08b7e46b3fbf0e8c14eb8174af4e789a72b72d8ca5114805cf9251d592983f1bf875f006260c92c672ccf980b9a8136ba30fd2e8e6992e11dc3a397e297da4113319573517666384145f7d2798929880c84777d9ebb0dfee59d06657dfb6fc34755aa7481b35e785baa5a9a831a28e875eca2a97c0ade28ac1c964af022d1de6365e83f82cff6315d56e6782f0a4e025b972b9fd249fea9283cf8f8269840ce45c45dc16d11b8203016c78718513471dc777eb94ae3dd232771097c1273cf24e7768a4f27a65d24c3038a7215322c6737a7986aea8dc21456b4c036f2f1f044398d90d17b0ab2b9127b96b870119c1d5466895256931ac72b042a693b7335f926e1cc6567d6c1a805408991d6dd28fa77cd8cdacc96070b89cdf8cfcfc1067db96c5313c666852eb84ac4da21e2836a25c19e4469ee2d7d4902c7bad756b044a38d671730d2c95c8ed23155d8694c057ffc5a0beaa4dfb0199513159f8291522ff7e58f61199437b5023cd281ca3b4dae4c244e2b7fc3ccc3460371b0c545cade3f8868a11c51e685781042745dcac0ecf9e2c26f1f199ce964cdcf03bd9d856ed64056445af3e98cce764b00d7918bc36f251292327a69fb231bf791cc348247393c545e336f394b803ba560bcf31dfa019779d0b3636681dc8d22e6ae991e492c96b759e8e1c871046704f1629e9e30fb4fb2389eb4bdeaefae3f29b302f62454ede85feebc4d47caf442c7cffab5ab66305bc95c0c4ff1d0ee7e794a84a7a42858a4e97dcf8519b90ffde6db59f439640d6f30c20d25c48c14ed93446fd7bc2eec428db7d8fb076558fcfcfa8aab275c35f131041e14a8d0a56147aaa4791b880b174605aa3b274d71d429c60466b103365ce890624787f8b9b30d0da9661a2da7a62babea590e2aeb2d91c6616007fba16d17707c30d84ac05e3a7b37a6ad9aa8f7efb497823e7ddd6406d88969bc9d2a53a7467be542939251e4e01dc67e604ab4ef47edb9ef77128725aed7f83d521cb5db52b3df07c8f9f62aca00ea064d0b7171d7f5538ca492ef187b23b8dd44e0157873ee1fe24d17826fe6ba7b6f52b044114613c2c1e2d1566000cb05e07e7239fd603a1c9d56e44537ab8830a3dd9a69bb9e821ed2f3ea1bd9078df17c1bf67a7d99d1043335d2261b67876954a90306d763cf6c7f1d9bb1ecbd9290d820ddd21d99f9754b64728d6431f6fb4b3778635a1220d83c529d8a2c6e945ed22b6634dcf02c27e08dfdb603e1848296d691f9dd46d8f9c8273ead6637d9bc6296cc6725d9fc85cd5d4c28588ad700d6a081a537afae01816f99a91870b72df9fb191b88a8c63ea57eac7dca494dd74db8b87ab1e0ab140bfb1ba4e9dcd6115c7fb2f8239acfeebc704325b4167c2655d190b4c8adecfc2461a1c6b389e503c097c8acb58b19ee47f81225f34a08ebd4fbdb64e33454ce0fb97a8f59f80ab1998ddc1b2dd2641aed62d7cdfe141bf5ebf5bd9ac22659c24742bc8837df92020ba218f825757256b57689aa812753c4c76defb68c039b4eed0d778fe60a5b975e9756d3562608d29bfdaf823d4242d445bc5b66558dd26d18b93900f2e0f9c5f0714ae82334ad2c506f4a96990932b827b4eaf8163c07253bff89cb6004154825bd97078d8629595e40bd1f2f629928a5b5012b86e7c744e6ecdaba0bf099c8bcd88b6067d01cd708d13d857aecdea2cbad051c1ca922894f1c1ad3ce2be87ac61d7f45b6803602a1af3d85a2c790bc96c6a7606c6be76f77531d9366626ee364219274eaff6f5b4a184cebfd7edafe338e192128886698fa771a33510931007830036100fcf1746e49423e72a0085602be3a7e4ec04f07739fc35cec6dbf148674934ca214676e2bb688a77741aaf512048501e3b49a89d080b1f8e4be7309ab5c85efe934a03dccf475deaaefb65da981b2d1929d3eaf3e350974fa5c7904c6b768805e7a52999a8c198d73e2fd0a04d39c183b358723204cac4bdfba91568896c2a7f06cc20ee27c74b46604ce9dc7d70a9b31ba0e6cf4a316e79c5b3c4d453a2b8cb500ebabcdf984ac28fd4377d9084f9648497a4314989a67f41ed71a874bdc11b3905ff465d4cc89f79c8233165b474cbaa4fbf2c3bb3a3cb2971533894fb33cff378c3d2bf35f2ca2ac26fcaf4fd55bb5ada3a52648987785f7c4782d3a29f5f2b36f2744f42be30082978b6fd4efd989caad20d29ec0be7d6400253d6f031a00030379fd7b1770d44538580395528bb67b29c8381da454c4f18ac35f8dc919c7d60c8772b6a9dac882cb237500675784e0efbf9b19ac0f42ba1c5f9cd66e4b251347a6bfb707a34c8f6181878e00920c5ecafb14d696fa3384cc973b88b6315ad65d6c2c669536905b274df493678e86293ed027134fdc532be575409983d8fac4776e9068ccf3374661963a36a52d19ea2a58f59738a7aa8eebc0edcb42170c26f069d784b71382fe99d80bbdfbdbb32e5b22e72cb60d066d0f4fb2547b7f3cf53fcc4b7682f2a75cd1fecfd02cee7323f3eaa85f665f3ee80ea71e484bb8df7cbabb2e1f66393c2e9f139e69ea595f6e16c00b5ffe788f4326aae10f00101f8c49d005aa37c066cf1dc06cf332543f33d5cb86082f90bfc8f36fca81734d3f75e6c72e0831f81ec8813f99c74b59df4e016e293d6e5807d7950906852ba60e49e17b570d48c280e56317986c8f6881d799e2f30c77271e9d4c11cffe39f6966dc9666a18db4502b221788967ca421e209e55beadd6e8ad85a19c7c60925422879532c94aa0975431947c113ae5dfd0dc2cf05405281cd8e37b24dd1baa161cf6863cea48b6e11424e34d15bc3f8afb71304e4f432b08cd9866b03acf1909ba65f2cd2c4db4d6dead80cc7648aab873bbb0987b1ad97e91dbe4ffd752daa2f2212750e9a0f7ad53a2cb90a7e8988f15a7f40778f21b67284fde7f60856b1d2ee382d8a7bc879df40298667a5696115ca29f41e99f3c157c5444aa2ca78debfbf624ddfeeb2a50a887155372ebc7ffb9318c936a83d28e467d49edff7864b0c4fa0030bb7e2536b064f5c9134ba270edb828dd051af4a067e6bf0ab2503cab4f52f99ec4e93bba9a58a5feefc5e5d60551b01e6faa3ec9a8b2d6143a6f9504fa7f0f7b11a2a981bfc794df38c2b272232ceebd334af3ef2068c5dac5b6496df977e69f73c7b435811369f1fe5fd5748278cebbb6255dd3e618daf6fcc540e3b7de7456c112bc3778487df36a5bfcef91b26cf4d210f3e260362438922717cce8e8864e38f455ae74a71fd509476bddab5a8e2473fd419fe5d15c0f1b24ff919cbacf238b903e6d588017bbd8f40a5799d91baeb48b134c9069eefa492b00cc8f1b4440173076b9a101f3f41c7600c37ad8f0b1458f1c83e873e0cffdf2c05c2d17999462cc47e86884ab81bcff9b5089a76e8460ff6468ec3a4ade4057cfd01e8881a38b9802e46003ff89ccb2bc4e9db10853c9293df046958dc96c7642242a5e1ce7c77531c10fc9884f5196c697696f5973a6455426e9578cd975a9dcf385d3d43b24f981a319e01bd854759e72c4d44865fdf5602ea098619de15df060dc360322e02d1e7ff807f31ffb5fdc59f924f4988745f6a1f69015e7b37541cb3ab310082e722efca26d6d1200065e1d14dd9dd7763b8066ea5f36addd53e6259108fe3a3de36b113cf6bb216d8b277984ba686fafe90e58229cddf8da78a7af78dfe51161f20d1053e8c96bcb008928e236d305860bff6b2593863f8833ac996e372a668772ce6afe37e1475b76d095b0ee5df7a7a1bd0873fd3abb6edd20a8b63e44f0f3118af3dd1642fa2d1bfb9be192476ae549fbeabe60e1b3a1c303560408a2f8d8ac006d28a28ea30fb28804d7316f73d8138ba08061e5aa4b33d248155d21cb7d31d556fca4a9f9a65a63ec201ae4b7dec1e657f5d2e4d65f100ff2bb750d2c243863954a304de41cde5440266c268faa64e5558dc0c53d83eedf1286c971b27490348098de4fd5d42e9d93240f159a49b85d5db4024e91b77ed13b80187d5d0952d7a5f24c1fdd5760f684fbdbd2e9a8844fad33bde24dbde75bfb782a243403bf8b2ff093487d010279788c68c6c1bd922fbcb221ad0264d1a494a0cb4217e08030be8c0f9f3cfc256f70f619ef3cc2ba266846faca8cc66cae1b65be39e88b77949c647e8f284ef8bffe3c74c64550197ff416ac242cef360893a0325401578a3f3f27748197c3020274d48450b496361777ce3157abcffdc9357e47038629966453b512ae2a6afdfd610d1be81e4aa6a58d598d04a6840b0dd3a857fcde221559f290f43245e96ad03d458f060d26b1cb3a241592f347bceeb1b49e450f0ed706ada89c8b561aa5274d37e8253fabe6e9056bb466eeeb9de358a3cc0fd89234798fca1b090ee48f889f8351348e4ce0c04e7534acae3ab1869c5d75ed45eb992269821d5810f6e04fc507c0e2030f04ad719db06cf6e62b5088a25c09e0813aa17599ec0c5b35bc5639a11397e60e462e5ee98a3be0b4f330b2b1b1d8ef431a1d9e40041c1e53b357f0e1cf094139bcdc8164e01c77974bf0ee54089ff9b565f1355de26ad698d2c7051da3b9aee85a93ee8e7e8ba54a0989d24c0bad06a7e1c4319b1f62efb366c9fd57565ef109c5ef776a79dad01ba826f2dffdf423b36443622e77cecb916ae8cfe2d4b8150be8ea7b6f25bfc7eb4868d77d0f24ffdc2021933c30822391c857df2b93e7a66d0d34db243ac556866eba132e267340d664ea945164a9c8eb381393fc414bbc3838c4682cacb542e6d2e457cb08c7e339797f39a6d38ea82303ecd73c65165ef2bae20cf12fc8c5d12ae6085d80dceca442dcd86e00ea2c566048873652b49e50826a85b97d49415f17adc492499cc6120c291f6f9dbfd3a8d39ee52e3a54781ec0df1028638e9143481bee9926f7aed44cd3a4c96e37ecac88c387730c441e4530fea25091e25046a01fa0310ec2e3ced0c416801e54dde1afd542cfa70080e884ae9196f61cbffe8b16de39cd45729196cf15d2df25d608599f744baa8efbed577fe1d7e2b8a25b345015bde2839c8300d734ed42cda8c3ddcdeb1c872479072473f199a3085c215420afef2289b8de42c4ee1cbee73d03f4d0de5ad4a5df0e0700a5ab46c7ca474f0699e0dad2e1e74b421e593d973b67b350298a05dae057c4ae3c0ebfce9d1d806fc51aa775aa89dfcd8709e625f88da3c9ef392f71e8cf5f0b97e346e1413671ef17026c0cfe78320d3144a58545df47c9f5db88f94aa7d66422101054ef2fcef7a30230dba5e8a041c970149c4fae5f0d24887e4683b1e7694a6d292620b2afceb99835899fa98a833442df4e4efc2b09c1db6de38ad5ac239ebdb0477a8b05fc17eea93e64d884701afd86e242ef29b7471a329793ae8d5a308fda97789299f43f4852f35ab9556e1748eba332444a5e65a4399669a6f2c29f134048a1434e15ba034a681a8873a1994f88758ae7179fb765a11ff62237578179e8e1c1430dfaf332e3682e4141f154463f27bfc18c07baaec202cb97599933ad77f7ca65468d39136f516f2a2076ec8ba110238d4bd2182f0ecc2015abd43484bd05b6aa28f3b78a5bdab34488b0d2a297227720bb5468bb78368b3b3c832b616f161572f99330cbef10f6f5d2e9a2512756e256cdbe5e8abb26f5d3062d6fd87abce952182fd0f9e7d0a87cdc4c587943e2aa4b6460c0c4fbb6fd4ffb4fd931c39ad215793834bb32aa5b1d69dc6cc629f9a9a9baf3f42c5c4150790ec9666d69dc1d7ae7ea012005e6d9a34cc08d903fd71a49668b3557c87fe2076a25b24da0d0404a747ec8d864697fb52fcdeb4e355ddfc7046a6d8104db815b06467be4bd45b4e0764d30d7af116e3e11e635f08b4c02dd9aea33980293322b49949fa3e954d8d22a12fe44995dae95aa017a9e0e4ababaf113386bb0a69d52a64d1b2e674a04eb5ccf3a701a3cef4fe2ea95d69b6fc6d6bc09973af0a968f9ada8e35235ffb8f5209b9a123696a2db869e5004060c799e6316019b4f36617657a0d3128ddc5883c1228b189385302a6be7ce195acc5af858fa7bd4af832d543aa1c907d06c9b0576fe7c402225f329a27c312373f74489993431666ac739e33443a57b2a16532e48e243feb734876456265051e2913c34452bea5b8e9b61c0c8dafc73471c5d4a0a69060f75c2d3fa2b5d87dc8aa6095b2dd3bbd2ea75a940794c1c8035f6dcb90b36897265f09918a99349bd481b7271f7c75fae1a9bf40ff2ceb61465b4640b0090ed89386943e98f4533243f9b84e3a8657413d39f82b1fe59ac4ddb3d3c8699a0a2c145c3039e75fd8cbdd5d991f24bd15a68ded6e5076c689380586b7e552ade78631daf7d237de121513fc795d08347b335ac86e315c97ea2ce4d6c7bba2432d521f9198eedb5c7a73f66b5c94c4c64adb299b6c12e482f94de50d4d9abb57c80b1882730fd3144c2ddfc4cdfad3840f6517569eaff8b5297b7a6aa8116918444a1a845b23abf6ac44dc234f8493dd8d335c97421b1b042d45b37680d6c388ac13d367aaa503e12023b518df2d3647f44f984d0875a5b42c3e79fd00d82f304e42ca606c243666995eff644b90e74e48c412d1e3faa9d8a539e1f668ee6c699d62c340bd5a6cf6d364ce007364f12e0c8624f0076612baa7b05a3667852b412dfb3321cd406328eb357d2cd0ec6b44b9950d9b174d114b09f3f6e0c057dff5147d78f1decfc45eb4602e14df75cffbaffe5ed5eef1675dce6ac132625d6d0160b5b249ff38cee3584049bf5f030d3246da687818e1ea0c9e9138ffa30f50b315eed36bb67aec21cc2ba0892ca48ad597630671f50a8d7dc21a919ca2b5eef6e08225a1a22d017754c9e6cd92ad73ca1334ea508a522d5ae09a95138089232c43be458757267f12e842796ff450b7f0fe2486a1f59ce7749081f8c4ecf97e35d00a076b327d9365cbdc6ab19cad917af44eab5c6fa07487805919926f452221606fbe262a58268f01ad03be1fb6f5671b48fc4deccc0aef71417da2fa6d3304140fb07c486f69d0cc203614907567db3895eeb655a4a793f88d3966840742e5119131611635c79a99cf082bf07399f45547ec2840090028997563f6d939f8b067ff1f08f92c3c520878be80efb2be428fcb264b94e2f07a582fb11afd60e02672d5d7891c7772b7c30fa5a3e178aaf7bba328e8b8c5fc23f6d1c1fbcd4f2ed25729d32f107edea421e7582e4d4c3fb2ca4b27f4a67fbc3ba47477c9b2c8d6c2b8cc908f0259de9a32e0e6f22e5d20080ec145fe41ef28189cad8042b41a08881dc0853e4b3db518b68aedeaa6a98f9a10a324e9aa009f1f80b692e4ebf95ac8838972429fd6c37ea521934e9f6295d12ccf08e238499318faf447325bd84cfc4aa7215b76d66541bac17086d64f3dd910b2c27ca80fc427ab73cd657633a0946315fe8f2f4d7c8a99de08cbd6495f7a45ebc960f28f02ac762f9bf592e63be51117b30811f9e62df53d78b000c241aebd30b4c2141cc248f58d0fa3b99ac099956392b3fc555dfd3560f1f8df4d0d102bcbd5bb3bdb24a0b566f8f702fb113998cb4b29e93f57b64ab60aba3c7399035664ce816a1dd189542c82b971f7eca8da3511159fd6fa4e09211d3869ccc126eb9a6ff7b2c8ac6b9c77cde88012736cbe167e0f8a451eb9c8d43bb4dabeeec30c158b6aaca63885186f9f48b03d96f660ffe3d92af99948ab2c3743f3c5a2026d2be28a4acd7ea574e46676c076a4f998e5dbc9cd5cc00379c83b792eb18268ab44f8eb51ddb5546f9d72c7c71810e4793a59f5095387c77767b13b41269f9bad943da9eac75711b955851b4a2f8adbdc71f639f4b85b7b1a6ec586d6e4841d134c6a87d1e8b9e44547c0771eb7443433af46043434e086fabbaaa909f17db1e401fe4b76c5753acebe565aca7c08aa9a79b0a1f13ee0a882a1a3bf3c35e9dd1649e0e691badab3251eef85d0ac4349218405c349fc8c8e68f510cba1d1abb0595fd6dd6ffc1417cb47c1b57c7478f1c9659b0e3dd46c32a2cb249ed9211c5ca2ec7704f9aedf8d752c5300d0b7c609e0dd26dbc2d5375b51935c91a7608883f96942848e5dbf46fa19f4aa45ce699a81c4633ea2654afcf74039b8aa2a353099bf4304d160ff283b184c6bf31280bdc37d1de8da5675d780d548f675b433252e5b5ec5a1610a50269e466d87820d1f6621a8e3c014bb405f1ca8e1df70d1d33bc41d081ea07f73f11b93c6a9bf7d40b6bc626c8f79d17eb1c45b39c15a64aaa8a52de473ec4e35b4da9e4bb589d1be47ea81509e4a2d3e857ae77b433a7375d289e038207bc4d0c65d796ac82c2e11f2df86e344f54c591d05dfbd630a545ffb35770e2a79cbc8d3851a2b9d452eea4137d26ed43a3f57dae726c74dcaec8dbf088b52adc4603ad539a2f23b265c64a4ed8f8b979d6a2ea673073bd4e3ec0b2ca136ffd9cc7cee0b85481fda4b879ee7352ea7a5f1191b8090fefa23005554093812139d3d9cae2c4274d31f4db647de7f5fac717e278e9a3a9c6433d699ce6f5f27ba4cab5112b94e8053bcaabe86929bb3b535633ec430fa742cefbb520da95af83ab8897e673a55cba777620b9e93fbef9a2d36d9a79ca10cb1045dad84e113e57836b33408a5c76ff20f1377a738fd25bff53726ba44c4bace5d42b9477d4baba7af34bdb50496e56404b75ff52f1bfc23432360bf7f5fb84a9f71a271c26ffdb3778356105ebc9e0c56d1f17887aedbe4aec16143e13fb6583081a99a81074abfabae2b0c40400b460fcfe6c719df51b6fc01f4342be9dfc370a588f73821935b23c86562f5598284dd3540e2704b8186e69426dda5d11b82d19a3a4dd49fbdb5c5833dc68c1873c76292fdcdcf65a9377da4a565a25a2c656999ceed99d25062337f5706d399c06f71a8464d89759b274c38ae02ca76e360cbd6b619d0ba419671c54f8464f069e40b793c03e51fd7f7f50a3725dda3b8f89ebf061c488b12d3da0d5dee68f2ab563cd242e4759b3fa7df828f931fa2a092478f1858469aee78132cfaeb0968eb5d68f65be1956ec13f0909a5f67c6f9662ced9db74c82f36422d1f286044a269ff21d20e1908721e7a1bef6f698cbae5f7c13a159330064960d7c43689464bb467d738842330efa793929d6a3f894cf91b597cc0f7295b3a2d8ebbd65ddf8fcc1c84992e212e93d47300bebd88d54e11de2d1b62cc56b37986c089a910a892c601cf9d84d2196b549f8e6f98cb1477999575c6c13b73ccdeb0687ad60fbfaa96486893aca0e36ca9b7fa90a28216099409923239948941a1d17649bcc5e6721c231a0de6924484239760267a740d442f56b0985c6eb593bd01784df92756e0e78d68375d12b0e86c11815fc6f38fc0bba4f87276a0b6232cf85069cf03ebcb5be8438115e438dfa9b5238c773fffae42d68dcddb64222f34def23b690d3297fe2a1f023c62e4bbf34feebea44658a4795933c2a83f998244bebeb3e3b2101782ec6f3c15afb7aacb427fa8672369beb580cf89824de7ef09e88bd6059247b3254f67e881201675c967027ee27072f9e3a34637462ea4d126377837b3ec8330d119962ebbc97ebc2f9278eb452ffb6f6793b22ee08c1921c2af4840adeb348310f7055cba607420bc68bdb6700a5b213946b2c2b743f0003d227774892d8e0e2308f097ce7f92c98759768c3461fb00b0db3e952cd7688b215acacba905443b89bd5e4846b4dc40dfbde3daf6068e9c5e5b5fcacb69b58c68c295ab76b9fc3d60aeb07ccd3d65784dd8f700e6addcc252a11fdd6c55ad055335b7490e239742908fb5a0663acbd649cfc02254c70943340678f0268adb5114f45ded07d6c3b13dbf996ab5ac684fef102588c53df7bdc3e9aca80decfeb1e41118c45c5b0538e419169f1e55b30e831deae05ce164cf9e95d9ff2da17b85818091f1052ef9d85a592e676fea2d47bea9fe1516e7ab867117a525f2a47162fb6eb535704357d5549969ed35032b8f335ba0517438ef2be2cea25988fe8951ed67bb08c9b2f892f080c7ec314bbbf94b453633834ebb054dcc9d40bf5aa069ae766669d2c81a5cb0ae49d7386e916aba763140a2c32b157f3a42086338a46e3ed6a5494bd88dee36be26d2887ffe35abf290e5dcf5566fa5f4498eeceafe5243877d11e3fe29c42f81cc69fc99fb1b0aec2e8e636f21b9c1dcf836a50500ad71d930933612b498764a008f8987e5526e5bfb5b64ddca2bbc4962ed4b9d067c6da22df1880b9794ade075599a3a45e2959c4f1a4dca6c98dc4f42a282a4e413c704832aa0e67228394a21066e4f6148f6d39b001b22a4a47d61d16facb563094b8f1b72449e81d7c0e00e62542c967e0c8a4596fc20015e9b0d5ec77558c25c7f7e62a10962d30035cffebd1f2505974553859f2488037cc2d9f1db7ee9c6b71a8ef69b0531558a70c897f57086b9c507fb3e1bbf5e985c48c5b528fce3328de2d0cbb5c3250b06db517a882c70d5898e3706cd24cf426bf047d5006fc0bdb572e9d6774d7b37712042c2fa0a33d96d510e8034ca831692a3fad0f6a9035153fd57f74714e9adc3e8eed9c7caeb558d0498aea94d5b2a531a26b4adb457cd910ff9f39898c1db5b2bfc4934da06a24dd899772b9e4703689d8da9730b3e08c9349d94b8bc778d431e4f0736a3bdc341e85913c71660d4fd883989d23846ce8f18924bfbfd15729f2f8f373920caa6fbc8a471fd64b5bc85ea0e4642258569874ac3b8f17d8932b953f7fc1138394e98096d32dbb217824dc1a905f7fb1643164f43ddcf86ba29f6a6bee179dac0a92ed71b0e20e7229a80c8dc7cd173d3a6df2d189e5a0761c871f37ba477c76bb590266c0294272f3cabd069144ea0716472318b7b871cba9b91403118ca0c899f89a3f61e100a3023a09d762103f0b515259d43bca793935b81a382c1ceac4d2017264fb3416daed6c56025ee75d3deac0bebe93ccb7eb25f1a669765a0b3d3a7479744cc75361211d23b3e989cd8d55821335ca1e4ef38a90e72812d8fdd18f4eb5542672c1889979e812ff416e0e76b3a74e14a4346874ff8abc59873af5053e7e2e2bf15137c7fd92e6081b16069fe3876374ef69de7aa1846380057c88dfae0444f1c9ee1eb51d873ddb70d8697f362c382e719e195b3854db21cb67bd2b5c5680aa6218ea312b512395e541b304c076cc385740fbe47582182951b0ee4fa43ba0a512cabfcbd8724c7c8b7705ea05f64ce4d05b2d7ebd94f269c12c0db106d5857dae953d92dba8fe8f92f053d759040418d6b2209d991688cab1e1f675e4fe61a9f21122618eb35e7fc19d40f8cdd1447ff4e75df5176366c194e7cc491eb6542bc341818cae94bab60f913d7aef92690556f0d7a9bb7038e2ecad9b8cf923ecbb3727d736212e2e2e19873d9f4001a34263258e0da2a047fd8485f9c176ebd5069b06dcff66422ff3950c23460c5c7c83c4c38cc3d347dbbabcbcc68bc62dcd6a913fed8909d111751fc21f09762e70a4baeaa55ddbc50446023cb88629aa76eba6293c52708b32fa95dc1bc329299a7e82a9b1e83ec4203a6c29a20b422e68eefa4629f59072aab5abce13213dc2bc0209d7eb456011ddb4943e0ffd26b7ba7e704683ca6e50702e6f269912756cc3a836916dd00a406c38a293cfa763b661c040ffbdd4c851704c3454cc9385d4015195b40381b5edb88c6e2f67d1620387ce3d48f022b23413215a2c153c0096a6c7f7c4bbd3b79b525aee591ebbefcf46ef1d1d32ad1a2b65d28d0f581b5e7b371e99bfe7d43705e5576a43fe8c85929f91fbf03f0e6d7027bca469e02cd64fa5117a564d3bdde06fd46dc486485df50b77506402642a9c1bfc343b5bc8a1af72ab54d4fbb36a14f836442f30586b53ce63f625e078c074a09287db47e6d127982af8f6c91e415be243a4e149ac190c2026b553f5fa0bfde530aaa44295f18b72f469ea49fc24ce56f352f182def8f3c565670abfbc3fece48e0b0fc41d840a8a47e51caf6bd9b96d3b1444e68d73cae6f0b5e412851eb8911a94da1336f6063673afe26dbdc2b8a2f4c8882034e6d481ea1f92ba706c3be3b7e83e4c68db0ab6a9816971eacf36056f741e297095ed7e70f04bb9bcb94e76ff9d0a384e6442baf82c7934ba1bd9318bf25e11c4f7cbd6c423479b0e74971473a22b543af5d63b43435273058414adcf070ef22d8b13fb360722d76c6698442f56ecd78cd29ccb1d746276ecd3fc95e04c4cdbd10dacd847791e35df729c354549c65e14ff065da8123ae24e40b676be4b1efbc4870324716143236d1fb6276ba679f4413181941da806553fe14e0925fa1e315a1939ed7a0a44724c5cb284ca3e47e2e60c00ec4cdf4612c49b149ec2f92b77c71089478d3cb8657fe8ab56ddd354e34a66e475cbb2e6126e0bd8b6f0d13dc05597e39ebf4df80209f1548b292f9c904ab19ca3906a71439fda5a0f226dc72c9a0bed6b90cfd55134ff0319915485e0b67d958b6f245fd44c89efdef02b4481e06aa9b1b181f0f6253ed258bb5dad704d03a745020991f4b5979e7f79d8a259b30f3e15de5393a3d70afb3817e3eec9b842c86f1b7d79fc5268a6f6230fbed8b9b8621a8a17cc8b36898db9df7f2be42a65b7f671d0a55c8929ad0aae0c59c4e0023e0663816b4ad7db13ee0c6cf2bcd9834b0c0bf878c4069ed4438ebf3e568619f09a36e915d5e57f9cfa818aad587e2845179670542c6a449cf582d5e9f25496c1b2425342123b6a31f9e600bab453cc53b1399a61ebd90277973a687dad7f7ca9432b4eb19aef1be1666828b7041ea44f5762bb1565098e605f81b08a9ccc643de1bd42426bca672cae7994e2be27464de8205f7925ccb3a3c1e02edc6ba1dda8f7f26481add170c7439597f17f3ea92c6d916a7bd3b51357db2c15e8e27eda1989a6df636a7c07b305a3a0cda9421d43b66f0e85b352e98d6c7abfc8e266c7a5513f60c07da857c1d7eed3a9ba4a8f9c7dc77afeed79d01b571ad073aae384174ead8575860543e32059fda3b9d5ffbd44f21bbad7183b18cb4b6ba35d27a43be374b8f927228b0b989feff9ace025d80f0e2e2924ce68b2ece33d6541a61ef9f43a8f63db45d031d76412d25f5ef7f3d5c171cb034738822011b01f5a7cdb3684bd8e0bc192fc3c36cf99571f8cbd0141b73bc98f798f0871f3d364d6afb937a4c2c2766608cf48830425a055314a153bdce853482848a9c9285f4158322a481ba9a9ef942408e3132ba2b26345628b66b2507cbf9c0d852779a097e1942d0c20f5775510c175e57aac59e41ebcb6f473ffe0451fdb42ba4ba96f7ebe89faa3fabd1cab2a88d9389a3ecd3dd4728e01d0e7039f9fd6f2d6cc79ca983056f39320d6c29444ecfcdb9ac397738eeb46143a1075ba94cf5b642afc9af4ef26e06859b783bb6379ba53f6958891c5a0fde8ae7cf5aeea547c26363465cf24dea81c3826b3be2e643bc8cc15af9e7fe04aadf7ecb2d274764d34ec31fecb31f735424d869d9eb508bfbeea6083519c585cc0d3f6656d96c17569d5ab595a758510dc8557ba258eef9afc52fe84a91988497d74dca26e173b47b888a73f6c73557af71326db34ff1605513daa7802f869a5ed3ed64f78c932c884052e68b852f101e88ea0eabd7a824905a94ea21779ec3d35881ac4dd5c6036556d24f214e5470e60ec781f6e27fce21d0f76cfedcb185f06d8ea378e3ebc80b309a50a92d16cb19e56389cce61556482d914eadf33d5d689fe2f34b48b22e0a902d17c343d103276141eb36a8acd49003f0a787f2c9aca6a9efaef421a694425e5c54cd2dc60ae16a4023aacd8bc32c1895bf10d88d386f04e6a3ea18acea21c7d64fa7cecad058dc445ea15b18285bd816c4eb9b98e9a20014bbd5913e631d93e0bfd1dc7c69a2df802cace4cee6376bf8096babff8c957b4721b55af0fc4f91939d9e18cb10b2b8035b609f2acbb780d65dca7bcdb7b9c445185d7fbed33bd96858046de8d241e76b54fec94c20a9f287e2435075bd1ac37fc37d62027b87d52978d0725d9a4e378f83e003786113b808cc49199f30d64e4feee30dfd93eb6f812e46a273a88a295d2db5fa4523f0f1302098bf915efccf2f4f651f8bfa704aca0624af5a7e3b37fca7f0de10448fbf2275ee646d2e00cbec9ae0004f2e51db2dbebb6fa246c31c693ef8fe5432669f3d64455b2adc27677d45d5825436dc34da392f1bbb70b49140a3de041adf00b8cc919edc1d28635b8a323b56c98f2aec194891f6ef86ab3fd0def74866980fa9c4035f0b6514639a018adbd78d0cb1685c622ad1a8c3e926f1c5df6620476b207dac7b4cf713470b024a8d4fe8cadb37661852ab88356addc1c99f4c6a5b41bacfa35009cc8cbe96928527f5b3bf3a61261ac225ce1876aa7f2682366074a75c90dcc3f12253799a532888e6db1b8188cad6a8dfb8f780a39c06ebbe73fca68a7776c560671153ade6b64f95141ebcbfc273b87a2dad9a9ff82944bbbc859464868aeb80ac585c5a38e4d78517dd04bcc7288eb48eb2ff673e38abec6b1ef227b75e024186b50ab592205f3b485621d7a97f71c5b5f95d3da2db362a09b29ec0e433e7f4986d0d4a08ad3040c008fb280b99ba74e74596c4eee52b0135ea4e39815f63b8bf7534147b942e5c8d5c2c87c948bb180df51d721b353a14565254342d88634def5dbd0e6034a4cd9e370e9dc96cc84c093777a837a6e2013f1db5797e86faedcb73adbf8fde7e89fa1f65a51f531f144e7d34eab0e813ec68fe1768ff9465aa6fe684af7e10a8a1dc03787ed7d43c2a217f813fdb26927f5492d0dc8dc67d33a6f8bdedd5f6c46d23099f8e9600f8aa4cb71efc65445c95e5136517b50043e707deb10e8b3361243f2248c2a174745cab338defe080cafdd835be508d59e5e43fdbb6ccd178e2ca4cf6fbab25507fc694eaf1a472b32ab8007e061e7440fe8b8b63da9165e6e97a39d7d14e2f073792cf6ed6fdcf24564e1dd2229206895104a95493fe4b38897e55ef06e24f8f3c2fae2a612b75f5580a3401f6e486e3d2a746dda93fdb5f1dc29f9e6511fe6a0af01ba7da04d34f124e1c2e64f588bea69e9e7ca1d62253079ce4d782b9dc81593c42db48beee79456a6c871f57d8a2e0b9e5be1ca6eab9e650f7e2144732809e92bb7c99eebe61de2f67ff3cdfb3544c4c6c2ee9dfc9924052f6d6ad52963cd0cb51818147ad26e32a6b935ebc1e3ec8298e4ea1f42aff359d47d689d631b8e5da03ee41302c77643bbea486b1edf565c72dd72be5cc480dd1b98d7449232d928de13e5fffe64fa3fc661347c2829a2669c57103cf8ddfb07a8741526213696423d6c228f6c932e858ad89b52ad801b7a78ebbcf524abf0b0f1529d00d8669ac581997749feffc4279910e7db570050581c54d35268270ba10bcdad3b391dca422cbdee61c50d87bff009506e5bb985b3203870afc9448c7587622596e74300592bfde220a4c6a3d82e458c1a0945a4746b038e034ff882437dc8c2cfba13e7faa9b3118a7cc17a9519aa313f0c7bf95d27cd5054d9eac8d298986728f9223fb0d35c8f3f993acbcea8be76d3f3c747264f89291e6806ff39bd501210ac68799d1589a208b2858dfcdba1b2e80654a9d259e630348ad9191903c2de43c3814fef461d80705a3f45cffced8bd8181f5ea8be50b6037fc5b28d7a39ff59e223f260ca65064143ce2c1b506ff3d9a8c78afcc6c63c777fd489fa6752d82583594c62a751b56b9bf737fe936de68847db237265e132a1c726864de5f6cdb9aac7dfb462dc6530fa31560e47753429ae6906f54ad343e786f166d619570609365ed59123b25864e90e4528068882fec6b8cd07670e3a226de31cdbd2ca9eef780167cc42ea876db13be8ca01d7b323c5e78a283374ee6b7da24d2754ce8a4c91fd6785625fa23abe5c0b51ccd15db7ef56e73040fbecf4423772c26c0488ece600ed876a5b9ca612fcdeb7daf2bc0be07b421407e7ac2938a5b60ccb79d5d3f58646b7bb6ef360134d2feb8ad017aef08ffd2beab6756ded4096ed6adef46b06fe41b81f68fbd2e9dc84bd9299636415ca4f6f2482092a4bde0f80048e5b63e0f324711b5b06f22305200eca609270b3c07c56ab80bebeb2b65657ff4766d82c8eb7355062f3f4917b4d26f6deae340cb2675581768d387213914db25067bf1b3b1b5db812b1793f8fd41159fa11e10a1d67c92dafa4be6b60f579cfac976a12a897f65f15eccaaf57607dfd569ac149a28544170c93e1cd77b68708ab1e10b2796b3b5cc32934a674ede43ffaa38789f1407ca32efe6cbd346a85a88ce2a480f1f50516d4103ff00d419e01e31f65cf881aecd98f7f049a6f230e8b5ba1521526b5943794b6dee1fb2cce7fa29c5a92dec23df4de3d1e77ccc161c26d27c1af697ce58a164d00b2267710f1fc2738f3bf6b6a04036ca89e6d9145d5bf8c902003ca939c854a55e6b990c0809f066469b7328b23e22af849af160d07cf03a2f1c321be1aef2282efef211031d59dc0c5dbafadc2a936112f364882b8c0377588487e6b14c7e78741adfc449c5ee9858e390d0341b7b53dcfe45f88a243f6681549b4914794261aef5eb1875b638123645a1e96d00cc36b0a436fc1eab64586a5a87ee503c6538bc0626f166eddbb29cffad99a0b7f4d00b774260203ecf9bb737057e00ef21105f87ce11624f629d905e8d3efcd2c95218672510a69b9e945b2ef3a69154094e5065f4c216b9b2a4e86672ed5bd291d0eed5ec6217a2be470ddd354a40d3e59d517c376be01b6efb509a7731b39b9ee38d9e8ec0601a327873273911eaafbf0496c52cc18b2a6887d9a2bc1ab8999ddc309e742a3f29695f4ea717a11af217f3fe09509861e35a59efa1171ed2fcabaee7085a22b0f348c8f5de691b2d6eb488df55ab08ac0cac2fef36519b8cf7d328b96a06e9221dda9b33bbbb1ca70658ecd62679e068c3f886388b2f1a5f529da5df1a040dfd840859c1c46d78ecd92e13991396f903adf55aae68af96fdf5d62b8ccbeb91e0ebc59d913f4ad7903ad87fe3812416c12ae43129673a3550c57933daaa0a0fabcccaa4f3ba55367556c57b0f61a5a2a42dbd6051b1a9be10ee1096ff8aac92e7b74267c120231d9cfa6090b3c914e8a40bc68cbd2a9c4d8ff459c850fcfbf83139e51ef8c4a194965c8ec144225d3ab46cc92525766bf1ba906de6c86708ebf1f784387549adb1857b63b55d5c3bec86a47d63209de1d3da1f9b1396b288ac1425b758986fc39cbc8f30c3b0fb1684d3d465466ed002491712505a8c17368da642ce73aa472ce4ee6af92aa356ee8054a2626132f71cfe4e6681bdf0d62a84226966de4d0b11111dc3068252a6b7457862517192bdef67c45e3a14f6ac53a3d6c5867a0768172ab69cc1c2e1318e75a8111637133e9121b80cc631f43049a380eb00635f750c0e25c26604fa49d3a55127cfde70281519f5813cdd0b5d7042531c2ec1f5a867735346f5689e0f1504e44fba135b96d31da108c8572f307ce4456749f482f279bd812e442116c20683d72eea9a6337c12f516694370346aac8ea567c85bf7ec933691f04af2b8653e82307d59a00fe2724c9b32000cb10b16eaf7b3156facca4c5b67f41c44814f560b6e2bdc0c6e7c1cacafb895cfc77ba786d2bc6e3305a8d1839b46d343d28517d8efc370f3d8cdeed391cf0428e3aaffabd6eab7b70f0ff5279a8018cc98f3cc34eece1116eaeff8cff34ec2195c8e2d854073dcdb57a60cee21c1202287ce074068a8764db615224876d95d06861a89cac30b77aeacc6e7d7b6a8364ee4a65de319658960bb80d1e7f6180c695142b1ac73dc31d41dc3b5c6ed4ac5c80c216313523af75170229d1b4b7c8a8f36bfc47e3b4060de2e98f44ea6d2649a3c8c3f9e55850d13328b842fbacc2e0bafcfb2555de42b6967ea1c102b1aa8fc021fe94e39dafb3291efeb95db9d0b1abc99ef0cb31d47faeeed9d9c8df5d5e39564fa6ae2610c91df58a56e5683db56ad48fc69717febf846ba7011312696715dc19d7196e4e321c846bbdbacb8c7bd88f9a5d71862ed7ad64349390512b8a1ccfa5962d2bcf8d196a365b3844fea055cc0dbbd47c643b5f894dcbd439d95db36f2c4662ff7c090393fd9a6b8581f1a689e8257cc8cada94a9cc328be4e9bb6731d2b792dc1ff069dabf8448bbabd168b478b8c719a9757d89fd4965c51472f0b080358f7b46010a40f756973ebd63c404970f63bb9dc1d1d437ec831eb3e88d99c835ee0591480139c7d509cddcad9c99efe3b936a4d428ea9c32df252c1338cb07e63d9f38b52550f020db42bdc2b570747862d9df8c69387679152b14027fd80a85d917ab76722c9edda0a6acec45de194aa450a80e69c4848d87719b90582a8865815d7a51dffe3084ef3d3729d87e5d3361f498544feb99560bc975c9588334e1da6eaa414e58f766f78a339758d7a316b24e46404e7a6e62054c1c0abd0ccbebc726261e9e96c6d1f5f74a1da805b4398aaa890fee2fd041da621aac22a4109003afde10a23303390d90d6498443dcf1d5cbd9315f9f89fa01167ea0c454d075eec86bcd2f14f4cf806a2dd120dce69598f6fc36dc613c4dccc532db457500986d6f1490a858e256612a5c365cb9a1e049a270380f6f19e190dd80db4c64dad3e8d3b02c7b17b26b2450a89deb6e20ca52554e52294d5f878ff40e8ba5ff42f124288cf4172cc48d283dad0239c7e417f9ddbbaf953542c193108b327bdb28067e4afa4ac3ad10774e6ffc0909dd2800a6773d0e247f1cd6bf3b1cbda8ad5679378a844d1ba4c03fcd9d5e0023dbed8c099e74b949b854c7ff77970e169d3efa9d84864e90eabd36003efe2584430bc88c246f4b993f011e9f53ae3ed9f2b38a3a37fad1e3080f39ee2e5705181dd871ee1e27e02eed7a0063d9bcd022370bcf38594165ecb11fc30234219972e2a25976ec82539869d24e048c3622a815b20f9d44b24cc1be97977f59191e85d335d74c538cdbed504fe0590e97fb6d348b32b547d1d5fedc1fc87f4cd0b8abaabfc62d601ce5fabbd5d9b53027a9995eb04611feb507bd9be3b2034368659710371582e0137db231390763872fe7c298123527843d9eadf04c1ac1802af69c62df8bb59838efdacb4249495ef2b04781c8c77a024da0dfb25665369598c8d6c39a2d43a861fb07e285a4db97cedb4f554e55de6cac0054ebe37123108d2589fee39d290afe634e14e96af7863c39c44820e4bf04ebc419a5e1996954121d8260bc3ee6226c9032fc5f10bde1be6d729a7adfb26065169388cae634de01d95f1598f382d7c777fed17eea837d49b36f7339b6a6918ebdfdcc3a77556f914e4f4b4b5d8bddeee4feec27075dee6aa3d09be11e1995fbaa334e03e5b5e644f45acc95cd36a959d461aaf84008f8242add5d46aaaf4777484c1fd1eec6bc0a02712c6455dfb65240b9d433db6d3fcb1016c4ea5a2da49c8bf52591996813c738d34dd10e8b16e17058b847be0472fb47e3a7c415ebfbaf283f7fb668668364d1bfeadd4d0b64a204d1069e3d87a0ef052de3257cd1ecb70e3cdc5f769a38c2a4e4bbec4ee4523eea7b06361afeb6e41b6a7646d4aefe348039dd83ef5a27c14229ceff5dfdcf07c6d0beb83362800e20ab2a53e30a4c22bdd60fdafaa909ac300e278f6bae5dc3c141c3a5512242059beb188bdec3067498d9b47978a7ee83ffbc2ea856dd1ef03b9b2a89ff07426fa6982239e94d00645b1c069e6cc6c57176b42fe9b9194797ab62114b473910416ae032ef69bb2e9e13669240b710e3af2195852f3f6c4179292071015a0b5b6488d09a02acc943ad3feabf20d5b41bd49e4da57837a4a46b63fd266eb493f0cd74796d5ebc8b0655a80277c7a0760a354ace426157f3dba3927ad16a7d5b08ec873aed32c3993a9d6130a5acace4845c62ecb253a9cc5288ecd3175e8aa43e0faa4cf1f2bec26d080d5b311d887902669dc578666cfdcf6b335b128925f50eb1f988a793ad69be8c58ab29a65b78e31416ce8cafc0d39b45012ea28c93daab188b46c027f294fc2beebd0c13cea07c6300a2eb7adb2a534352eb9a015a90f1d0c3b678705eb79eaa955673824aa7caab78eae290d9328408139dbe1f4666cd94a52e2ebd0031e9557301b6aa1e33b11add711643ba86326e24680a2bbd6b0e9ba2e2b6288444dfd8dde2a3ba95958bb7e63bd4002f6f7d375fec4bf9271f6dbb106eb08fd1bdaddd0c1310598d3acb5d92aea561dc7ddcb017bc009903748df30bc5143f25670cccc56d05aee12a9bb16c10b5184eb4d77acfdeba80b37b92a9c3fa324f12e909d8d89b8facc3373548ee53e319a48c9748bc52362243a812e1733c26a9742e48565ec2045b88656583d330f8df99e6e0b33d2f5580f29df496b05f37c2de86274eeb6e150bbb8d29d6c92b105d0e7758193f608387552904d1c9bf6d8ada105261ee434c19aa23ffa35de363b44bb97dd08cf698a20627c25f1c83159385c2650f25dc9edd2d0b23a87e4a093c7f1e845cd26d90426413629ed2c23233843bb1d529fc3f63202ab9f1b1c068b20dcc4fba9874f958aeed520a9790fc8b4c2c40a78fa3e480e7a55a38fca0b6b1bff4cccb5163497bb2938a9cf1033ff135b105e126edddc853c6d1caa2fbd2e9633b605a7c4abca924dcdd887c34928872eb8f1eff2e713281f7bd472e982c71e2625d62ab5f0ec9be4671c3617f143f573984c11af2eafcb3dc765a3ba5b46f72f7ff8a29f4f421121a114aea29c025d7d5cf5e42f324c6aecd18f10f3df40826c9fc542027b6c826bda0732b97c4b56519cc22e7c4c26ba489267b667875b8345b47dc1df8d6d8007868e49272c0719ee4ad7d3e340e34884de10fe2ce5cae1fc485f5ba4135dba0989df621743e833d2c83e4dc55edd20248fb1242ce8917c44d654e239177d55e4e31d936a389a401a6402dfce69adf5a1b130d39882dc7ba1e6cc92e8df56f9b23d5d659b14e3cce11279fafc4bf0be07857b02c3fcdfb61de9d024cee08373e6c15675d148b69f30d9e142ff44e40acea8872e7437a3886142f879cc433d74385b87a1769f31a6bb7fc05ff57b7b938d75fff49ad62cf15b2d061f15f292b601a486f93aa310f1935c5dd83bcb646f50f0a20346a2bee531805a3827e17febaa43ecf3e39c426dda06ef90a8564ae10637f072b829468846fba857159bc968554bf7cfa38ead5138ef4d97023e3a3eabb05517be0c043995d36dbbb50dc0ca633bf269b11356a379f09439c61d1cd2052b237bf0c40c96855827f376d9ecb7bc1d44d9c6885572dbaaff71d5e9f09fd919995b017543f4923d99f02e658af068b5713199e0733aaacb09249308fb9cb32b71c9244b7f59cd04ac0cb3ad3278043f71ba088cf006f72f42a41279d1822026a90368e02363086df0f1459bf58e8244894165ff92e566e8080ce5cbde9cc72fe2d779cfafa626d90946ee92bdbd6158f0f7779d9fd5ccd92613afe214d706a57569d207ff4bf9a5d8c37ad575223fa3aa3733e854b7fef8ff1895d7d73fc1204d0f5b18cc7fea3b7c28518bb9ab4b47c30fb15b3cf0883f9130253a950ef09bac1d3dd0db8ce6ffbea0067f48553f3e59bb178d6d8c82e1b292790db1d4c80327b04eeef9831543b52d7c0b22d2fcbe229977a07fc18769ca7c78d8820c7f57ca89601b624f9842bc9a92391419eb18389984899369343034803cf2b5c56cee803fe300bb50e16158c89afc8cb855021b6274ae318bd3a0cd8a6b1e4b64237853fc968119bc9d04ba95ee67eee5ccbdd6282ab131479c854e8b26c790882152bbcabf30d130ab3cc03b8d7a0d66b287289565068571b71a57b7be4b6a01a53fa0cdb8d29dcd65cc4d7140006a213499d83deac9b70c9a36f56010645f83f0363ef3655eb101e261e458664a96d7f9124e8e8f739a258c13f6707271dee2d1d1204c689693e0b313e22d1b2f4f599c760c79ab4475abc4f5a17128db2e90f2795ba9e5e0a48ac0bebdcac78b07d15ecaea4cabd97153bf8ec2ad753ee76912834f360945458815a442c38ccbfca8b77330e2755dbe3701db05925f491ca2b4a64749afe3835ec937a47c936bfe22b99098a39f2fb0382b63bb9cd7b97fb764afe95e373a684d0106a0d3bbdf70589531ecefdf3dc98618b3b04a1fe0c903c69de6523a88f906aa89604de9ef245ff0a714c288aeb2250d25c22b5818b43f8577a71959c4cdf808f5c8f5bbf70835878aa05f425f9543b2c947659c5f7cd1971d751f1b019a1281c71b89507f5512c3012b3ebb13ec420ca7961bbbd7e8626fc751f520d51dee49bf959aa3fa6263f4977021cf46a7d6e758e6eb00b2d22fd54ec649e72628896ea7b5737bb0d07d702572e06964697d6c433ef1390418ea7be9e98715d69b0080ac5e3311482c775b2173e9f9d863cb0941c3653b7f22ac9e4a38004ed8b9e61e944ece7671ef3a1cdf8be1e570e15967dcf1ac1bae57b41805149f745467cfa7f1bd9e4138232ea07f3754428486437fdccb7789c170e96a84669974a97dc248d186187e720b2de0b79f15f0bb8505dfbf7a52ff5a508a48368e02dc0aa17b4210712fc068c6e1530397b19c69af20d1af14ada6cd8e63f8daa86ce000a03efb0ea52d2d4328de3ce18db3ee5aeb3b9d6cbd7f69a69d1ee24eadc66f175f2c8cb623091a04545e897c0062dac55e1c8610d34b61168b6c717a9f4450cebce755be7dcf92554cfe9e04cd7c70907393e5e93e26598f030815cf5cb31725ffeba540565eb1045ae8ac0b4e3d4c58ec19af4ac3d600a5a2174c74172fff6f06bd68215aba3a5e2b018c3207e0b709b4f39f9527fb3fd771b6ba7af52c00ec5c10c25579afcc291fd7b10ab4eab53735a075383819632e551429397b68241658c25d0e03556925da05a798f88ef15f11643cbdadaefd158e3f35959c7d3bafc5a3b327739c8a63316c1ca503b73fdf9d8ea45d717cc105f41be892e8fe8de96e4d30c4c49863506dd70d6f51bdb0dde7456dcbbc4958479c54cf4e7176fba13e1a42d9576745ca2ed2661f5cc8dc30188265070b87fff923d7908ac1462ef129c5fd6fad6e768801740bdb321cf5cb729ef711fea5a0c2166d1d99a3be78fa72a08817fd934f5dc1fa8bc3221a6b17a44cc6dbd0c9909300b6887d7d9c404c6b94298f80381d6a6e990ea7a1deb3faed2174b9f2674eda568098e455fffe0f5b7899bffb8e766f5aeb8e5bb7e5d18400237009db6bb6751d1d475c2d5370596f2b91608be426b94782f00987937af63d04d87cf8dce401cd6791ef4b279c2251b1039f9b4fd6497a5f26e01e03bc8b20af36ba30ca7d2ee80a25d0e34a977ea33503040ab341e755b64f6b506a16c8f2c1e190a2b552219129205e96e7cc91d31326f0b2f9fe6a54459336dc3e0c7b98a222d58d2a0eca401bc153bdd21a93ee480af45bb0842b465b1f4e676d40a77f73f27aae24dc61e03916c4acbb9e99174f6e71d2582da231c9f9792b6b58b02955af3abb02eb98a9a8ebf7a95894a82023ccb5346480a07310bdc5cedf4a43a432e3f16d1515a2a662db5a4e1de998480bc32efa1418e7c9f27056709a56ccb7c7aaae5ba99390ae67b08084db40fe5b69b704a25adbf2cf9d0924b6f3aee479474707e99be1def2a03f06c219c002f59570f2f6d98f568fc356a6ef68bb8a73ab417ce908d7fe0798187bf2fb378429d6f36e1b7943a4f70ef69e718ec41926256b4baff49b1ade5345e83cfe1759442aab6e7f8813e47a72ba29fd8283a3792d79afe919f74ff091ff68119946bc196dfde8bb7cc3351940d04afe8cbbacc66b0f8e2863f0208860f21ab2ddf346de4366e60324bd2b5b5e98f4e0206ba0bf635290e4a4bb5cb54f5038dbc16f354bcb434abb1f8133770a4a81a4521a029cd0e037d787f05aca7b6c2a7bcdc8d526e20051e2995b013119c25dacbd39cd095c24bc8789789844713dbfeea24436327ed8a292f4f15214e6356e8a01efc775fcf6e2e4534d3e4e9ec015641f7d2caf3e54398a0705442f750a75989e568659c06483960aa591316ed8216eb5f20ccf22976fb0293131b65a3beec8fada8b52f26082912b442a2028e81d625f38ff34d7d9583d7e38d5d952b3874a770fbc2ab479661461b85c2027ec0b1cca96a017f0f621f0d85920ccbb1680161783b66d1bb2bb3725aac46cea06be44466e9114d242baeec8bb915b95511d97414fc8cbeba746b4ac5ce9cb73d02d1f04610442eef49a9e52387786d76199cc31bd7c01b7f64826b5d8f15f45139dc6ace529543d703e5a7ae2edac794d0fd7f30f396d8f0574c21521486a1b6827bf2c132b5156c9e927f74c663d2a0cdef111a6e2d257e3dcb7328f08833c08394188492e6455af6f9476f52dec91844ea2819042fe0815d5334ed2dc2d5d3721d8dfbfa6046eeb2b880e8ee837c3bbbe3342b77c7620c96082be28023a1f31f8c11edacdc72c69530bcfdb9f33616a7286fa800308fb8e142d8c753c4766fea08be86f3e5618e698a12f5aad809aaefd8c1584a2d04ba6852bcac88a926e70a9579f66f6f0841618170e67e0e7850207229b32a19ef07df8d1914529a7cd40c045e3d0f69567c58b3700a5cc8174902d47502306c5adb56e12a682f8126fcdb1e1aaa283686b1b6bdca9bd9d48ca4188aec1e040e8b9d76fce5ea87d4201f275b5a05c610accaf140ec4bd1cb10f02b3c804ddcd47e6b78fc4df99aa6e0fb665c432eb9e5e0155430072f4cee5cd878bd8bd9c037b4ea6ca809027239538dbb5b7ebd96890b41d7522a1be0f3357c0a0b402cde43691e664f8fa2a12944fa2662185ac2dd86569f4b30e4e9119ef2d7a06b0aa29187f082e8ecb9300b34ec5533480a25e80cbafd273970dd4d198e146630ca6026e3c63a5aae92d1c54d815275255a2dc2c8c0ebe690c5f3c29a99c96efd1ca15113c66438feea793f249a6254d1a656d13e538a0b738b0d2db4da953e98cb9d11fd2e93be530e4dbda48eb36e78cbb47691a78792e43d12b854db02670f7d193813da2d02acb00543e1fcd99566b2d4cfcd9a88f8b4d92327ab0c58295e16dcf7c97408359b69140305ee2982e62da0dfb620501b4b9b72fd56234d6c9b23d774f9ff9330caed5d46177eb26298371995c04c881fc39f4088761107c14608891e9fa541f1e2fe282ede9ea6b26fe6614f95d35fae38714f2808e1cae512d4406e008f2f1556cd83811012e8bbe2d63de08a2dae48e51fd25c8de007a4360e4ba0aa74d99e7a826951b38fe2c318d355cf6741fe6c353a7a28964be8d99d5fe19523c16a8003637e6c3ed93e5a1e88af72c6ac7fdaba2000a7c673548961c848cf7e96f4a51aba76e4b731bd25c0209fd73341d722dea0c9fb647e422fcaaa42a2b7abc6d69385de81c68ed2c95f34528706495dd3c2a48bfca9b5866ab0dccd2291c95a39ccd907e5897f251bd9139fe557b864127857015123c731d52fc0bd9eec66814321263e7ec9bbc357a72a8b367ced6c6fb20a3c9764020ae1526a958504f000bff110ea475b313d371e9e072663250e32bb0e9f72e99cd26ff0611db7d332438a08767d1268a47a2c7fae1b9a15d9a1df4385f5f0d818076b010ff1c7032f8735c4b9b3fd8610c9e59bc3f91d1b5ff4e71cdef2f4ad10d29226952682238588578b7923a8529aad036129b9d7edc6bd2fd8265fad0a8a6e3356925c358c92d171fa3016f0c057b433100df5a2e81a2d75c67886286b78b1af6456a8352eb8e09e0647a3f30ee03affa921425497e1c350deb7c52bc01f580acdc56c6032d0ee53f636bc99f982e53d1fc2bddab47873f09ac3aaa0b8c54d955ef1956af190a985ec2d60b5c6ac9dba2073c3c83c8071b791ebb038af4ef1ed8c3494def9f6699c86a7b236a560e7b7568f1b9471ac4d33d6ace2befdf0fe873ca83cff109661a6cdf9781fb8a13d4f24fe30728a0d53597e3ef29ce52ba1a96352fca1754d3b49589201652b7e631cec8c5cad1e06edd5532f1d451476c116578e5938f87c581ec7441e8cb26043281aca59ef8e87631dbd95d53a8350744d64af5dc5ff805ac05a444a6d3b113382480c3d0cedaeba5767d904580676b095d57ac4cb34cd30920e5f380698a8f1ce90a18bb218193819ea4e79dfca42899c43c197d5a6cff9b4baceaf6e2372c98b201a156ae781e1499b70e19a010f82c7fa40ca94ad89e322e1453a6f446f141884d103de625f06196d28cf66a0a58cdc0015d151a3acdd9b4192f1c7066ed6d4f9f7c40e905430f667680f4bda6ba23e62bc5a453c5acd9bde6b175c9136f0bf855e996387f2534452ef3cf7f998bf08f7591d4b12ed853ccb75bf2a894b3b8b75cd78c24f49e727d88a9c8993334657a4f2b2c69b9cb1ab7995e432dd69725ec2d29eb4dc8ed3032904f496ad721b345e20cf9ad69d06481b104075cae19c1efe273c513bfc61eea3f2a0b0f96db6bc14f101ea22a480b72de5dbb9bf9b27937a9d5a11d3420b86af4ad6e4974d46a611d5d9bf32607cb669ba5424f1125b376a204afbb5c58d16fcebbb9a2b4ea34bb4b879410590e8f1b5d816f478dab3b126cae53055cda22e102648375b1908e6e9b266d20e2e7bacab0fd41fe7c7cc452767e83c1d9a72596452d36821249fb7a39379e18f2ab05c2a3a772dae053924269b9d8f0a600c5127e78573deec81221ea297c191a89185f66a1a7915ea2d24b65cc2f306544f5c8bb9fc06d90f15bdde13d0748ea1e9b1d1ac0112d8c7500ed6fc1a16e5003777e40419649ba9dfb7bcef104a51a362e3e639c7835ee8900a2a11d431ede71a3677f2d4578b71260065e2b859b98f8584e073dce3c43e6708f3a8d70ed617c45aec4c13f1a2ee6de48b445959906ab504cd98656bdd3df16b0a59205964ddbe60b331c797afbe061e739df8b4aa5c7c4f3490f4fb09f637c0912e03afb403b7deed89c72532f80759baeea0a937fe2de4cea9909100119cf29d4bedf444452e00bd33c199b291e0178f0fcc90bbf0a462f6fe27ede5d6f54d5acd64ac7b4d8a4bf38912118203f2ff9c1fd6089dfb042829cef3b8ef1c9fdd6f317bfd011651445ba1644955ba7651320151f8ce81142941aff4486365dea16666631166ca342d98fa8b52b32a9128c7be0b5c06168aa7315e2af81dbc89866f8df618ba0063da1fa59bbfb255235ea744939e4cbdc6360367e279df6fb23813ab10da6fecaadedd78e0d4737fe730a964e9829dc6e109c72dfe9cca0c3a77da5846d579848e46c660adf76c7ab2918a4f9b34ab8ca0bd5faa1d01159435d805ebb2e0f2c7c36daff940a78e56eec750677fab9a8cf6a0e21e278277a2605c4f60dfccb05bb712788629fbc23e20ecb98157b25f3a83e08a3f5b37bdf4e8fd05134d0c390805f1fd7f20a36176819c46fe3ccab8ebd943bda48b36843610267479f77085b27558f0c25cb34d025df243657730053b2e81e2dec47ff80c15f3d9e4f6bcecb4eea1ef855a84c69e46ea54723309b977661e3938a6418644d818161d09a69313f2ea6f76b0977b264e2a346a700fe1fea36d2d5557c9939ccb4e48687830eb2d59dc678eec60cd872d612ed769b6092c4dfcd32730e12c1cf59dbe431537244b36c151a83d845b2f06634b427096972d308e85aedcfee38d3c87443f568db5ee1ad2d62d43a4d7ddd9cd90f769df7716e3c1aa31d47cddaf0757ccb4bcd38774f003254b2d7634470232caf47b9eda370a33776df06d67ae7e93129ea5b045983d26f72fc9445eb66d82f83514e9d14cd06054728c7cb85b7ee65cc0754554be16913593769849c05d14eb5a4a2ed78015ad0495a3fc77ea9a4bc4ba8db16e62dce047a95592fad71457b525966e813196dac1f48f59173b5a8e0bb11cebc030aad92e3b27651a45c8ca4de19db0480c7b138030b73f4138ae68e034b66ebc9ee780fec87d2b5a4683899a8547b6e821dbbf549a0ef73567841bb8666dd981df58e492bc098f124b5319600ed2f91b09beb3786f689f0b7ad10d228468818eade84f0f39bb8e5e953dd978f8d63acec6643f71b9db95bce29b203329c81f98083f42835ef1be64ed2b31190d1505448deb074a28d8d7430f9f65c2459596ecf921c953a067604ea10195d26fa6e156574e315aa35a1034f6bf14fed31300b78e33b07dac9bd84068b2643fc37b3a354f24f07a84c26d8613b78fa62fb1c68cd72d6818c2a0a614365ea158d3edab7bc9e32f1811b9e8d26e8c5103dd4def995b64f2067eee0d0178f34a4cfdc69457c1f02fe58bb9a26857a471b9216504c38b13f98965f0f37fdd62a4a358ff644c9e01e2ffa77452e2691ee99271340585b9d7c854711150c5162a8d2ca99033be5f965af0de639345a9a183bf9e69b3f3067155442d136b2bb72bb2e8f7aa33e614952ff715423277c00c4254d5ad9e7c93fa911da36748e55d45fc4a6fadb07a01394c59c89e904fc81bb87ea69c705db7afd43fbd2d5e7dd4e4966d21b11dc5ed1640b191145bb548be8c610c53a8004d70ed39a71d70abf61226e7aaecf342b59ec6bd5ce46edb08b4c184e6cfdc8425e9fc0dfbb73d1c1b73efa09ab2e7bb483275a9889f63c3652aa2721e10e2b930b9beaaf2f844f97f46c153e593a5bb6c503f1985c64a2780f23b1e9ef931f8ec8f9c476881a73de0bb8932d7a19f07222560b92839d2108af881ec99f41b09ca3b68f89ea9d190550cc2ff7063683ce18ef3e338564df9f08d68304e5edb1349ba7fd1bfbad894abe75ed90f9f2d152b4dc8f57a68b77d52eefce9f8bd899239ceb50b342641cffca881a391b9591b0e57e663848598d0eec4be904de8fe417677abda48b4a8f19b83663e7e019247f815b27aea67cfcb3516d232ae9884134df8dcc7cfad8527d5087857d609b46b857c3e55b60d7397d39fc8d902587451658209f69c4f58807b95be1896c3772de80ee1917800a9e943abe487f41c97432e069edcfaeffd8a845a8eb4fefb3cdcf4a8597ea5bb5bd591c09a5456e0d9e3daa63431b1911b69d5e3b55582038ea40c0d27ac22b7961213d8a1ec80994fd43ff2ce8da0a87441bb8b2546299af7ddabe5d36f8084cfe16a463e2b283b6e97fe75be0a2f4d0f66990bde85e8f97411f86ee6c83431d8281f04a84f4e88d123b5d012449736816808d07c34201a13e606e8e946b0ec0087be0fbabf08c8881bb75917afe1d9dbdba098cd23a4358919202a23b1a716f7b15901b842f4588c073d296a02acb21a716dcc569d8343dc4d3ab7776c7a2349e8ed28c3c2862861e3580ba1cb9147bed6e2a5488f35efe0c8933aac9ad4871bda8e04aa2a1aef556bdca31f2ef6b6c2e2f79516227c47b051838c46ae0693a73ff7baeb7de6c7ed10d88888f6429053415d758b72fc014fe903f100aa0349c729530f979c10d6c06461e186606c08db1bd00eaeadcaa96b107ceaed179070189abaf6c3c3438fba5818a93b00837c062f7d833a1062da66ba9f721fa3e23722f4883e197bc528d6199717474761c7337fdcdb65b8eb0ba71b8f6ac7215e2ab7bc2504194e6904fa086273ac76979f2264bd04802f294fa1977e37c3e37c3ed61d29f4e16dc3833874197bdeecca4115bd3c01c1cc8e15c948e310e8d60209e2b838375e40181947a1af91a9b3639e19f01a08303500b32ad3d15e9dd38a20f88178c567ae949c67f00dbe697e72164be7472ef4dd82a5ec865e6da0e996618cae0cf48ef7ba7bb819ef2d03d14276be69f2427c8b8625cbcf48ea350f0568a8724e54af31f7592209e59e9199145dd03f50d90344e5f71ac8d9b5db08cbdbf88b53b528a83df393d8170be42d552b336f45e295cf0484703905e51db09f88d0b4293c454858d758159e3a9e010781923c7e35906b2fe6b9fdffde6e618b2ddd145bbbb35d8a5291d4e87ac1a072e3ae92cfa76ee417256a5421159c87fee2db22f0f112b66360a3470bb53561c1308ee7455f84dcedf70c4bad92571c6a8aea3a005543ac2c6694ada86e7629e71335338c191c841e5b2aebe5762b03346049d288efb9306ed1c123c0ee0048f65e6e63b4852084f9b3d2d76196fb285578d699a4cc4d242a7ee25f511968239556d79415c7a3bdb5360e2bc6ade750eeb688899b7364a40a5375e13225c6c367d0a28e60cd0089686a340f87a28f9046c568c6f91c63e772967c858a4a208521a93c6a5afcf10ee1c9d5132f09eb0999dd539a23b70dd02008e175d1b43a7313b7051830c078e6b1c9ab07559303948e91edbfbdb2101c6e8f62d0d35292ecee2478e543317aa346818b5ae6f1cd4620298f556c824a17a4266c79057ced8eceddc37450c04eda0be4cc81bd6808f704873c541bbd7b31a61455812ef37b10e8938c3daf1f5e708a26c35f4b0370b158533441d6a4a03876036e28996dfc2ebf1b819906a627fb270b647adb63728b5edc5608b81c4542f73736da8b4bb0d6e22a503b65b95a583b241d6c0f62c1e6f510a0b2eb2c834d61885a2f9761e6a7ab2f58bca769ff26a275eedc83753d7167e81fb4ddd4897633558025a934ada87b7ddd2ea5b1340fa8b46677fb1ae324f30bf5c01667a99f07902c7735fea007badeb09a884dac25003fadd5e65c72672aa80f716f053d6c5049fff0e7ad632605762139f0ff6379d9acce98e696df1c21b51141a803eff58cadf3263f2c6a9192c55bdf7fd19dccf9d688e45c89944f3d3e39906ebe520b115011357e01300fb1c95cdf7af891bda6050db862976a2f32ecc93417ba16a7687ca10a43cac5240b4b459d7cebe8e8e734af38a73e38a074573ddb7b634e1dd4be416c9ebad052a4dbe4d5e9c8598e01c5fd8b1e2339a3570eccbd72ad54e3fae2aa2085b230f0ea612548383286967cbf3319c0830360b49d6672184c6ad89268fa132d9771adbfad5c008c827dba704bee95e9b01d0ca75428d011ffd3d1c81bea29157a550bd448ccd412f2c0a9813b657496dcb6e1e4a1864ed29346cad6aa1215b8920107b14679a6cbc8faeea52130f7c1dd6d2f910892275c65a54c163ccdf6769efa320a1d452a852cb2faf0ad9740d6ef9a82a20150f952f61d3d9a7882b3779e4c31a51561699860da70a607e7a50ef2543d8a4ffb61d773452fa795a4c35684566822fd11f9810313ebfe9f1a07daada16f1c8331d686f84d3f654e1379237b42fce12b0e4c07999cad57dc1da568390867dc37ac3c3ac8bcf16b85a7cdab9e28f260839d3bcbbd76088820e18334a065825347c2b0f52ff6338e71d855dbaa76f22fe32fcef25c4b9f0af61e45ee3c16a77f9a697a242e6e2b181dd048303ab504459e43c8e452551bd87e7598c5e4736865dd2a1e46d44ff438e133202f1a81c77539f025a65c2e9c139e2615afaf594ce8f67efac4741ddc8c7149a3a2dc24475b89d0b0830e234b78a78d2e5256641e7866533560169e695c76a35f724ed0d2e1c01e2049ef09e1e84f5fdac9b92a5252f9f3f7b789c583f953bc89d97a91dbf2bd69e13bcf55c24a69b6ffcb2b18b8a33459b2f3149633c64ec114d077ac9b2bd567ee3027f73676d010cbd415fabd3bb87963547165ada8013bdfc713ba12115565abbb1d54a29ba2998a64edc786c5f7e3ca0dbe9e278287d412f2dafe48acf88cd30432b8c13d65d2a23e90e6cb3c90803f1b5862374fb54142a6c360bab2d982c6a9ee9509c05e686141c0c59df018898b4e513d47eaa37fa145dbb3edf8048e2f8576d79fcb816ccb7dc488232f825234dee5829b0a41f683e9719087ed5cef7faeeb3e8e31f236b685c0a8e004a0be67646854ff83b221d2eefd94c445c1b4b4cd6d39ca7da844298ea531e723020cbbebfcde4b3c5448599d638b3d7e02d43ca74b84adc9db3dda80d0b155c56bdefd2abbf9b4624c3a82dd54382e4e7547a9132f5453584d2721937f3e81134e9ca347e05678a84b15041f34d215edc254912deb30fb0d694b47902517c950be556443f91a7f84a8aafb6dc12db1b951f73667a826aff500a110b12577a421af942f20e5be9dce099047dd912499b14e76064e6d3e3b942c62e4cf30a16c8203081edf431244e24612a90c2d9ddbe54ad52c5654f44fb792a1412ca58a1c59376677ca5da7ba44ca7267d374c3f1ca9f0e275497ace94ea83e54d7c8e9f45d111134b39c24a84bab124e3d31a6a3f950ca7c0a1bc87372cdd42331fac9fb6c016b9a6cae2eefbfba12750dc3d874668e9756f1653f2405a0f91ddb47fca4b0c5ed06fb2e27541924f8db3c4d27e08654f3ae23d2c64ab6bbb7a92461465e116a4e0a38be6d37618c78b669783a04351513b756690618b80dba8f79fd97e8f934fb4ae9cb2d313a9c5ce849c14b6ad634aaa94ac28ce03a6d317b49ee4165eda34f786aede9f50d0fd20b82f221ade3a0f207ed1ac683e23214fd99c5027dbe1963f9ca574fa59f67c5f50df06c949e147b533219d45aafacc1694dd6ae706260589cd08ee6c2becec871c47bd6d2ac429238e4b6c7bdcbcebba765a857d057143ec7df66a8197aba5e443a883fd541692bf9a9f0c768bdd2a533bab1696602c136803dd778b486e8ca7a54a07bce244d19d24a939ce95c93790ca8f91d5b1f403b026170e9cb661e0ec20f0a49a1da6680d3af8f743e3a35f384627c3407af1386281f06af53d437b2f4422a6eb08c052bb0ff7e5ab17bd53f6f882dfe9c2d3a0e9fd95938d564619b63a092f22a0177443b73e5c2e370721c1e385a3da064451ee300bda3ddc8776d44a80e9c5b1f2695e8e306410849d5e5825973e60593a8c385ac8619dd87f75936d2fd26e66b37fb88cf83067e33c3bb76c36e59d3bc4f4dacaaee6447ffa6446ba2b7eab35ab98ed5a0d7e9cb1e71d15dda71fd4f4cae7342cd3a41184905d345a4da1054e244d19e2fedd5a5fe074756afe66e623dcf2c1917a5306ad9def796346760d91e7d85e847afa326987f596560baa01b3df126874c2b260a5672090ed6a322435caa0fe2fbb10855d0f023c108480a44f46b09293968396fdcdd87be0161d48d0ae344d36f40b856aa3436740a815ecdd7efebec78388654cd1828ee257a483d49e0170b4d5732c559fae3090688fc1b66c43ba8fc756ea4280252f604c58231545eaa668436c7c1ba929eb6ffc65c71566b5b0176cb539c828f2350240cd28fded6eb4d71ec20017899bf66972cfe8dc6679a28e3ba323d11e9798094dbd1c95533ac34cc60f81e382bc61f2ffd63a2678de42c590586b4039a8945adbb88979e6e5ffdbe1b3f16833f3efd7fd84461d45f8d966d3b60538d48010ba1c35cbfb35354aed3ab9d5afd7474cbe778ec38efcdeaff6dc80b1f724dcd63c426aa44d4a47474b578dc240d3b5fd2bc78d207541fd09c484afef38c244d6ecad1c0b218d2608a98e57271f4ff71d55d648bc8cdcbfb374474384b8566f62e49cfe00dc4233b43f2dc24a89c839153b24763c0c3fd1ed8b174630c6ecde3edb3944ac8e3b7b415a3e2a0252270acef4f88c850bd01040c25ed2ce63dfcb019ced9d8b9e6707207769a8e36342737b36a51c333819e46c4de35a4d5d471d71ac55a37fe9be1a3d9ebd3528131546d0cf84457d9b3e24a3b79fa82dc1816f6a8cd8e50b8af9c03e0c595770e33e47397bf182472ac145555ddacb6e885043fd955cf189edd42eb0b3f5611b0e627d48550247ffb02852b060fdbea22763957d3d4b4bc0f270064222e2cc16bbfadc5dd74665fdf4c4cb4b167ec777077170343fed4da35eba9b96fbdfb6d189a27e86d59483ffeb1143478cf941d55e16d9ac148421f50d2891b39eddae1bbbea6a043fdcf5b0997fe6606a7860d20e5bade74d975889f043e6601ee1baa2f1f5d78e8ca6a9244eafc19b07acfcef984187d14f4ddc9afe179b2d744eebd83296794e1eb3ad43c1595886c5bd907d1d6508b3c1b2ad7f97104a175c67db1b7cf62211a3dd7e5a9c6c48152c9d24926b6a268aa772f3084f9151925fcc01ab7b4267552f977517d25b911e51d401b4ff4aaab0a823ef4adad4db25931342671aff98e1b076ace7ebd5690985cfa67881897ad4b9691bf92271df19bcadff0261768512eceb2ebf0254052c49326e67b614a2334b4322f03e6dde5bffaaf546406be0536e2b6f5aa9397ab94b329bf1cf198199c07952423c0384f3ac9cac5c4cb098caf1ebf4ef48394685a148fbb233ff321f33644c078029b47667aebbcb79619df42834adffc8546e0117965b6027448c933897200b58b498afd64a56510f5381d49c4f98d2b7e19604997e8cb656db9e2f19106a0d39c1a44a96bf38eda9bef3cdc328cd1e92d190913dfd2bda61cd06dda537a42ad59440f34f5b8d15ca3d1da9de03bff361ccc8182a1dc94a97ec14f5f312f26afdfe679c9f17cb06364582c092d5c6fea9bedc6704a94f43447bdf91a5d2ae0efbab56ab1f6d14cef47db97ca829575af3faf0ca5fada1b7e5d80b54ccb003d0f2a56de95409f27bd92c58027f879b78fedfbccef034f3d2fe80898857e56a9a165fbb1c4385db12fda6cacfc77b00a4712e423cc6a47b93bfbf6cb35fe85495e4c14a104889becb6a89c88bba6fb5539c895a3c24e1fb356b394110cb9936c8fc55818feb2ca8af8f16e724709d4b9bdfa28686b3218848bbbfa5d1e4de56373c6837b9d7a88a67aa45935f4d20ed086a0e66fcc04a4289ce28a165ea8ff46475fbe834ed676fc9876fc87a2a28c5cfac99aa31920a910b7f99d90a9b62b23ba03b6ccd8727dadc998b413a7f08a61eca1eb7f78760a62d0f8ce5d5addf99b476caacd951af7f6240735c78b2342ccb4d25a22025b2c388e8eb591efac84a943ed0fe352eff06d4aba66b9caaf15917300939d139ce142417292b0d23c5cfb2b2b1330bf2c5ba583c5aade7fb69456a68e9ac5ba1e26a3afb88121a431d216c69542b53687fcb916e9846c40bb5bbac9fe171e5d90568f90e7e1836c2a7921c7ad749ee450268fa2e0c2e71c12a76cda224ddbf838b78d744006f2abd85afc5ab337203ef756c602dde5856d6c18a7f15614d67adf5309bf2f377f028a69ab2d9cfb70cd04bea46dfeadaf8f94c7cabbb8faa879f099eb9a79c00e04b94f771531373bf0dcd1c535449af4554316ca4e221a67f4fe06cf96fffbc86a5f69598bd5323f897edf322add320adfce16e97e926fc73e914320ee9aeff77130b2e24968edeb74cbd76046f42154433477f206e2b1fd6851ed7ef527b3e0764a5578981fa1380076785accd831d1aa0005b5d6bf127eb6ace7c7c800d610fad42f109d2dc219ef1f88013e9710c74e67c93bbee7abf1a6e10f6708e9da2a5277e06292933de34e154577fb8895df6dcb27e420c2d17334335ab584799e27346a9b819b8eb615da18d65b5922fb9d0673f05f2cfc9f8c133a76086241b05af6cdbdfb387ae211fd6d5affe4ecf4ab54381583169f19be236f7835f1341b4be2b7a3b5f0b28340f28eb2e1e3588b2fe188e71749ff2282ac316d410884252ae244364fb35121b67758b7f1c6d6006fc4bd85fb0365138e466f659acdc37a66290725a99519ebc7b587ee384fdd730776cf2daac6bf4571ab85e76b983f11e0b71a2884c4c02ab5f77f53036f495ab6b3ec442b6e3f1edd20eb546b4cdff2c4eccba73f138535e8cb83099550f47736db5d96d1be52c5849085f0dbf76b5096048a209a6beaeb0a47cb7f4f61f71c268c7bbffd18ee6d5235b6e08785a4f8f4821eecb12805fa8ddcef92bffb02819e4049ce0f73017cbc69fc52965613049c8dc90f4871505bc890227c2d1066f60da058d6f4ccfac09f1483c35df1c1dcdee983aac1072d650cf22af7c8e60f3801313668ee4f6684dd9b335c8452fb7e9ecf6b74e51d1a0bb333579230c19517bce674f9c99a7416bedcf020f82965a20110ea29b083f8626ee41f51eb8df0d2d3e29cc14c42e326d716df678532f5288223ff5faa8ce18ecaf6d6644d0fbea498189c877b632a9b9d30c76de8178571bde298aef89d2bc129e6be6b028190fed7883ad3ec411247d354ec9e8a792dfa478451cb8515988e5c6e99f0c511c0f902bdfbd50cb94b4fe62b295e221bbd1f9374aef9485d1296acacd32355d136418cff0734a6a5a0465850381f91b0f5d73ed8794bb2c141fce918853a8444da43dfe3a0c46f81b9042e6bd488abac7a88527ae04592a025b70510303a3d060580113cf4dcfa444edd447193deddbda5880d48dca3dea16ed98038bc2ef2b3ea39298985f95c5ad9f6c043936984b2b2c90ec53f5ccd8b13f777d3e49b09bdd74e613761c79239baa65ed7bf74a72e274c5c7f7742a9e0df4c6a0fbe9c3e983ad8254f52ef7e7c40f2aed0203ef8222214629fd9a8fa376fa64dc87742a6425ac352d0e58ce1fbee956d9297e5795080042f34a89c292d22b6706c8ad0efe285f9bb5eada88b6a39e4d8d3bfda8bd67a7365c7ac6eb7ea29dc70534e0952441785d1afcb30f23c596923ce44849b5c3c64aae63fc4f45b831ec0575b803d37eda52757f1cba871cbffa554ba6c430acd4defc182239191393b2625708d80ddf3bcfc6c030edb3b8ec9adeb396cef7fd1037f4c38a41be978f87cbd4a988ddcb70d5ea1e81f4c5460db06ca4785b9edbf93fb081d71b0bf48e02cdd302dfe2eb830eae82351754fe973322d8d71bd50e953a3f12618e2482dee3a6b26f7528b6d3b94bec68028a379018464c79cdab4fc81d41ecde197843222a3d8d257b463a13f8a893bbd5f77e7259fd663b4ec3ccb3448d714c35097530bcb2881e37a1bfa523c76e6b6325aed8ceeffd21ce87929c3e9a259c5609cfa2102e460af84aecd666eaf1bbc24a7b8fe7f471896ce0728372ece42fee0c0b8a1617635a15c1a4c2d3e22713cec89ce94f87b1ab7d3215fab54dd271f7e109bdc026e33e2af471d1cd2e37610c15d741cc484d68cc93d22cdea9b9ba1ad63b8b5a36e095c91f7838098daeb6c74a1133f3e2ad4afd52f8da657cf6919e62c69c7ddd060ec7f76eaf90896834ddabaa537f3b780775a7e4c758bc2b29a0e7927394f774589c52ba06551338a2a5d75b8273dca010c886374cd82a898f5ece00530d43d32d297c0591d37cbbdae53d00f4fbd82ea968f7bddd65e953b62893ef157bee54c93a76c08760e7a7d7e840ceb0c784058a8a46c0ec6e832bc590b29985da3e4bdc69096fdd6e0b9d1911c7efda0177c8190cfa7340ce0409a7dc94ced279597cfc1dbdccc838dcda66e53e72ac7af2988599c441e24e752561c9c70a13f3046326b48f66545e4f7dc2a4f5e31c35dc8a1366d0d7f491d6bd71c8d5f363aa205eee240db2039ca41b7f938a6614f957747fa0a0c6dfb2eafa1d02a50d20e3d35fdd37551a14ff0d3cefb2a9c7c9d8e8108da80cc15679fd796c9454b72db619608c1536e53b74b505497bc2324154da1ec38c83f2910f1d0fd962196368c95fae600039f014d6cc1c8f43175a257cfffd4c4953b652a8d8bc79a101295bae072e6695bca0720d463408d95403c6f628a99241c53bc014c9ba4984e8780f9487c2760344df6f1f21b2727dbe3049bfd662a8391753cc7a4ec7d86f2b51919df8d6bd9e2f484322aeff836e8da44f88f60c15c1157115cef442073fce466def4a23e54ee4d9a1816a9314b9e99b81e4386aab99415385b2818a990f4cd44977c63c6749eaf111fb04c5d66e0b68fe651a33d669ee1ac7fe716ece53ef035dcc298849453ee5c21d467ba32d1630dad9add2478b5c4e329f781ca919514cbfd1b938865ccdb770abc17aef4c555e3d9508770f40fc982c0c178321eda4f20232b068f48612a1f60788932d1b4e2487c12acd2e6c83f2164374ff5d8498b738c1db8a21b9b8bca8a24da1acb4ad5d06c7227b7d3763c24cd16c4751c79879d0a2cd966029e20023feef06094989a62acdfcb9ec05a25deb9d2293e7775ed100cfb654dc6bf1843a887ec08b71bd8c8b0c2e7f532415765265fda0214933bee82a625d18898172db403130f64c3f8dc970f41e2c003c25ed796b553ff01bf3e9238013abb66c9ecdec68b7e66f15920a93857295ffe007b1712937ac0ad7a873e0e143d152299f4650f86350cc39d4527bbe0066ad49157fe6a671ed0e6e91a2a34b2610f7a61732a14d206a200fd6926a3e0357629c099db8346068376d52c756db809f84ca1d9c7b867438d02c7efbda0ece8c8567abb4abadc3512c8cc9a08ecc1e5a109686f67709e7da44e58966a2781e6010707d39d331bece288856bbf80ed9cfe60eb0967b70895b0553a8dd4f722d74c567c7e3cfa47e8423320a043b77f8be078d7c910d8ec132d5d5f6ec705d870842e2e0f76ec2cb5e0c7940f9c07f8e6cdee4ce85be6dbaa51e79ea1d35a14d64722366cbcdf812fe962fedc5c0cd33d0f4d88f65d69a9a4bd61ed2acc631af8c626c94597a88236162dcc29ebcfdde9f3b6763899b10daba093cde9d91bbdd548526e6cf35083e6ad76306b865ebf818d7edfbe183ea94b5ef3424f2f80849831dd029fddbfd36b67608748596271ed1821df8856c0658fc50ebe166aafe2ed4d7065b85deff0e6b1b556158b61bd3611783dd23e4f0ad53e211ab478834565144c23858473a3e4d77bc8bd66b5ff80188269188ac5090b3bc773f0b57f79be3b98c0bea530d4dd263606ea78a8bd79fbaf51eba045f9c264396913fac7150bc0b05d08e31678972486edc173035cef89b5d953d61f8d734d879a02dd930c904611f7e6e3d49423f459d099811a50fe1e95bd7d345ecab932ab7575f9a501da10a9e4d24c5768eadef3d6ad4d142ac8746e2a2f79d0c00f5698ebf0ec8a83318aeb8c2018434acafef75cc0450505d5e68829380424d92730581066a878c968f113a55374492125cecd7f3deae635c1966e7266e8d8aed7ee067aea987e71f208082b9070cf653dc8ee7c73de843ee2ab6424f5e9256f8990f40697adf0f623b26968340a1eea886459030cc673e2058bf74e342a5846e440a8f6a4f0848904c14f2d5f4296b9af013a0cbd5e5f21a367d97d758ac6155fbf727db142821860326c213828dc92bc59fb3e622248a8119df1ff98eb09b24f1381d2a25a3bc689cbd6091cfeffcdb27a9637273d279d2447992cbbb65a22c6c1c8084a183d32ebd4807e4852d13661180f36c6b7c9671cd636d1fa6e33d5b748ee249df00de1cc9cf9e20606d8641e75033077ab1d940f4e70ffb6e76fb4a5259882618d467dd2587d708167ae6b4959e9323d39a8b024379348f40a1d2a479bcadd550ac0a4179ae8aef9dbdf5c2883cef8e5279a0bf0d46241bac45d4dd378016252ec7fd7da1a638063051e83c93907a700a620bbecc45de4e924395cedff2581651f973956288c5dfc192fe96fe509150866e7ab110e8d40bac1bfd8bd22dc10c6f1f75672f1d6891aaaee4866d33b6e9f22daf91054c46feb5d4165ab294dd760d6a73d3d91debfec1c10e7b121caa646d3fc90250fbf734852f03fd2a89f01930701fca6cde385c84a668a9cc49c95b0a99fd60cbbd5b1b5034b6751a47523db734d2eed0783b6fda92a1bf02ff35a3dde9a3bde1aa87f40fc1d7f6d3e8897ab40d75d3ba4ce0d439ee6d5ef77f1780e5f70baf4311365473044c0f24436649c0794805d12578ae90bdc93d96e2e5438150a810c84c3603104c8ef37052495d16a44f0deb844f48de650c067b2ed3c0acd95631a695368c19139ddd994969ca1f2c08a27d3d3886e4ead9682ec592575ee69d805d9d23cf186e25900e844c0feda5fac458fd48e1e93092d79bb1e1f9ecc8f28e698829880b2d7bd88b7313f546f1aa30ea6fc2059271767339b5828ba3cb2076757168fa92c4ee0d8279e77b285ea7b0add02273b5006260615db1fe3cab9b6907b89b54d98649d882e189a4cfadcf8addc5e4ee462f4659b2cf1d970be967ce2d4a03b8e1d8b96ab48b50c58253a8fad3c2c8679bc63ecb7b795d8f6b5dcd6d0943429b8fdc8dc1204937cbd5e661b8eae47bbfa9b68922a52cee24668e9dcfced6fc3da175e8b0f41bd384875099131491193f5677eabc8f937690490b4cad2227f1069e90fc61d6336d12f76b699a5e27beb28357d3e68d6f89a5b7086ca9ab4c9539beead3d27e1ec86b7582840955b84f313b13bb75ca93ffc23fcc4cb15f35243d2120b7e950eeba0e938d9b00e02911005cae7fd26793ec1e4c6e3269da207dabf63e0721d49f2f321858d564a89686fc51978f6e0d3cb97b58f2a82f9e767c6a3d0fd21f360210f35de14bc529e6d68bb16268fb4856bad6f5680a9e8a0a3fe2e3b20c3f43cf852e4aa9224141fa5f8e3fc11efd25c898ce55748b827fb3de7da7162c7d85789815f3151a00b18c7d64d5dfa7c99934b5e81bcdb2e296999cd2ac1f936872972a0993cbe092c517e865b8520d001ffef98f9e010b722c0c84f46ae7b244850567fbb14d390d41045430e442d9d9ca5ec11b86479ccf6bd2c3162f851d4b08d5911c0b22a3a37e30ea02122e025a9ef02b72f5699b57150e370cb5ada9345fb1fe1a635431af47ba8d2245288d2786cb7132043bcce02c0732e5e7b2c26bd1ed69ce90e3e92c6e9720de56289f1395e14430029a307ff01f85a4a2b36a3ece1f01beadef4fb42525411afddf1c253cbc89a6f451643a50f16d88ea3aa6867211f799c3eace1af740e142813cc3288f92501a3c9a1ce722da80c83639010dbbf687d5d020cd42c085a157e4353d831b58a967bea5cbda67b4ac5ba636b9094804dff6b658c2665b06724b8d782dfdbacfd95912cab593900eae80d9de89dd4d01693e18db2205d4586a1ca7de6f6c7da0cddc55a4d422b4904926ef96f8e7e5c8492891ee5ad2c142d52e571ba3eb30fcb1d6b8ac9c125ace0ac0903917777b5763f3cff74cfb34538f01e3bfa4e0ac28ad27d6835a16d60ff152015df4d43985245babdb906f52ed7960b4a6deacf8a8838337592535746a93432c8eeb821c338e19d139d0b4444bec0a481a4d6d56791b80ccc1ffc0c658eaa12ae43570a92abcf337733508c4b5fa25d44d655d76e635e8cd7550128fd563b96f93abe6652b32f509ac6270727eef29c105235445e5f266572b8d838e6b19cd14770b80ef55eb0c223f7a38c89aa80678c0f649ff39e5188625afeb6fa7565729c639360570201ba6c5f3bbba5b90e02b83dab637dc578b81cf1ac1a2d69c2c7d8bc1d1250684b32e428972eab6ceab44fa56c676dab301d8ce67663247f7921f313f61aedf94f60db6b5440b8a0e04ef159c4969721517ba85ba38667a0179f855ae6e32122b21026d22ab0480d500e070c103df4b27f0cc4937f6e1a27a1dd114757be99c0e051e5baebf6323e0cbcd8b7142d1a2a42d2a802c6df63e49a151ce9309be44da78cd9a893cb2ef694fd249345694b43978e0b4f6663d6c3616242d7a648c486fc8d6e704a93cad3f4659adc0b18b127c20f25b0f39e0cbd97b1f00834a351f1767d45c997aa1855e676c9cbbab52020189b2fb7b8b5b519368961d8adf4841d2cca011434103465ede89a982cf86e9796fc844a470c479e65077c9515f1d5de9b0a506f62483af88628b08e73eba0026008eb9857bb93a67e7221aa4d74d5e47e0911e8def6d6504517066fd537e3cb9deebd5b113dd63942da858a9ef2511acaf11a5873eff430271633bddc531405b1d2a3463116f83c47404527b6a6c22ca45048be99a0a3e78c2833d106eca2c8dc8f2147659c338f6bf8404c419565cf39e50358d0877e2bfb58bcf6ae9f15662ab0119ba9cf4045825253db2f3853d0a83ab9b363d61b03dbe2d4c076c61663025e55500036acf5ad8e8c8bde8f6ecb096e1fb30d18561764b6039205bd38f3c9fd878b51e648d999d80a3a52d6e92e7986b9d26431ee7b69f54776440b28cd3aa7a0ad588bf24ea37a9b8cc06236d814f6c96e19fa1e22b467b69be4cd31f2637871e48bdc2418ab311e16509ddb748f691df586ddb5602de9b65114d714da0324cfd004d85b2ca9ca3e9dcf50bf627327c98c5ef817a3ef0d49f9209c886e95aa74452d22f62ec0e8f39c46bd9b5d683c4db23ebc8d2c76ca411ecd8de0742579533e1374ae549d29036afc5809510f180eb7fd7a55e5a6395922bbd6ae8deb1100455654e063d32e8222b7036ee706198625536f2d43d9fb186ac4b9e85086fe19585e5fe145180d6c82e5ee95ca1f27e250a4db76c61112214623e26d260c6b8c90bd172511a7c7b0f268142577cc80f0fe1b6b6df66986a6f0170259bba8176233fdf1545a873a497ba43ea29bf18154564df8359e1775e4f5dbc5748f5e2e49f209d26f560bb2b470b16a950128184b9cb085c0b3a1b4f9ec2b437e96109be11de156d9a1b273156d76acfd228d20a1dab257576bda48f5f82341969ba4d01e677a070d7cdf461d4bbf025db3d77cdd91fc1a780f787233b4f3742d03b614d363ce107c28c40b8035f5bb523ef6eb68815d95f042697c63b6768a0b1f780c9a9192eb3c7630c76be8589a987e7f952d8439ea07d11b17b0fd8551707dbde623cf62b9d4c32ba5f9805c49174c5e73e86381b0f54894d3a5fafa19331d9f02c9040de769e9ad7862abfaa7d9d5a7a51055d02e980e3276d4471937de98dd09f51ecacc98008e6b0655e6aedb1ae215edc8f5fc9176c62c4e7db4474cbcfabbd836ef5e13153e612c0a17f0f26e1695993afc30371b016008bae494d47ac796198a94036217d13a2bf6f096f613594ddf754a21c5b1e97f5e3cf4b59220cb8a13aafef8e8af8433b491174397fb243aa79f286e69d416bc1d111089abe6462e8ba4f6e60b5a4bacedb3b6bce9ee13817f0bcdc084c61a03344863eee5e3c596cde95a2073fd3df751c7f32257bc92388bbcf8f69c1114f8341a9dadb68fede71609761651fcf7455c0cb3deec3b990dbb0786beacf28cd085ee6e7e3a51822bc627ccad1547205817e0c0f77a46fb0eb2846bda657739fd838ade2f1945cf308194c53256a9760aef8cfd309e0e24db7a3fe6be2e45d830208ef662f046a96d5547850b0f904c99d7149657d6b19587f3a104cca08bf9b1bc967a84baadf50f3df9f0d256acab6ebbe78a58956cfdb3261da210568b50e653852bebb4085ac1b073a3c5965a6df5f960a531fd0c013265a225b1b9d15507e67afe011c33789db1924dd5a42d8523e4e3c299e8a3aaeb0bb8f8da04597f83a426350ea855210ea90057b650cd7d8cd581e4d903c7253b966110cc1cde27707d94489290ac27c26bb270dffcd97a09480039281bce9bd6d096741a297c61ebc4582b31b5efaadf57dc6f6f214d5c8a6678f613e85122909b75d9beeea79f831e28ad2171532c58912d33657b974ceb1c49689e2f570c4fd8d17765cd7454028a1e3d463c3432333d63fe79e6e5dbe40124f95404281be79ad3ba4b95b13684b5e690c64cf56746935a784bd7845bcdf69d3c9c7990ab2e84b6aea074863d11d7a02b8213ef21b3ba87d851396b328a13b4303440f0aca87a3039dce5d73f9ee6ca6625d99ae92bd9c52e312bbc68452aa0a4602cc83b93b6ec4cdf6985ef0b6591877b492aa040dd1601476a7bbf92d4f45b46d0a2d4861472dd3aeca3573fded660fd375b3de467929d7dbfd4f61bfd630892ce5ff359e0e6479b55e63c00b98c566cd114fd3b61a1d2a3f814f9b194a9fdd21e0667d7b7f80a04500003a80fc9956d4263634a7750b84b755d937344254bea0869bef4015488a3aeb544b9c8200e5f9866b7a99f8ad709d5553d50f313b296bc4212f2f84340b91bd28c33819f49badeb20373301397c61e4a017f1b86d8a45ed0e0cab89969074feaa34763d61b4f91b2cda1af3b5f8ed3595564007c67a397059113c87815e61394b79c17f912588ab3b8c3713e73e9cbc354bffaca3d184456f6cb237448d0b9b90bb945baf1c6b287d4f99eb685175fe586182847b290d64543eb62259365815d3a1378456875c9ac691df25b26145a3dcdaa9a40ee156591d2f85299e7799051592bbf312bd5d3c8cd3b2dd0d6e39726ae985a0bb38a75e5fcc6bc09856c59ac4e790a5b130bd5ae78cc5db4d911333de90c210ab303298466a2e875d18589951c975198818e6fc193712c70af1fb6c4c5eaf359f837e136482956e733d71f91d5172b06353b73858d5f05929caa6cb74c98d9d15fb0b4d1e089d6911f2a864ae2956b61391917458359a805029a0ed9062e81ef53e6366407eb296b63b3ee6972368bbee582068b4664796ebaf77e3cb240b1f7f255dc5c1ccf50d64c2e69265b3befe30012808e038fe64cd5a0858a1ba9a724657c48074b11d82f136515d92e79ccb046e2cde116a9b910eea31fe6a4577d3d394e5306dcd7fa332525f738e85c8a5e8163feb45a284c9aaec03127306775be4bfe69e1b7276c8586c5af8d2b40eae860d52427c54941df74a5bd080b410513c70fcc83f54570d208bb2d1ee7fb28ffe5be3745d332ebe8e5a010dcb3210f8925d38134f1c65d8e42d6f3b643623946d0275500a92b4e0a35b483767445bef6473a1252efabc041554702d2195723d0a9261691f62be74ba9fec6537f19ea137ae34bbb9099367d0df18c95bfc12bce1a9e09f94a74540cc557fe59a74ab80a001b1c92c991886788e2bff7c29b35f2416c066c11d05152e47417444a0203d70b61df23d3af9b7308c2dea72005b3ed302330a0278e49fbcdc9b4fd5d15e1d51705e45e260ce56b5171e8794bfa298bad83f0fc8cb4678e1bba30647e57d0e84325bac24984724a934d61d29f866b7becc4d8b2a8b39311c16e3d2db3e0a7b180c1e8e4315b5af00d87e14f95bb8db3bfc1efcf0d57c0ccc4f70f17c097da9a45707bc468f283ad8fbbcc77240ef652b09b2c11abaf084ddfde7185f51c0d6b1b219c70771682bc4d164e1e7da57ab0b0ad45c48a8d6bbd136a6f49cc0c98dd1c957d7d4a25e12314802ec7c04c7f501a96bbe6564eb1b9f21702bb255f55eb628c0d3d162b7c793c15510404ac1b49785c9f49b779315e97e1f5f80f50a590e61a54ffc3c59a0ec079fa049688c917d5dc233465961c8206a163a6468a58cf8f7001c16310a339e1bfed59d2c847a7ac5cb2a8b9ec8fa57aa1eb3e3c775e6e061a3a1ac9482c3f0db673ad1eb1a67fef156d4a812bfb08d840622e85936a1e3d80b7a9231423ff614d1c0174373e09dd16a191cfe3b0b3365866e5513a74aeda0e75cb0b026598916f924cf24237dc49b1ea4a6953265ea05c4241eec43b1800a57e116cee2880ec4d20f8e3bf01ca3cf5bc11ed46c94e98243b25be3035b35c1b74c6b2ed649b9acc1846bc9de7f54ac9449250af6fcb2c68948e75dc0a678ff9795babb8a296c442f9b9f68771896693820846a133ed2fcfbad3423894b1a2ca4f3eeea13b5c53a60adc84d61626b43a974cdd9a8a99cdfb2387a8a0541295d4927a91f77b44d6940c8f551787dc996709e741cd40e673140890d058b58eec48892c4b0428e473510dbe92e55b8dfb6310839be437ed18dbb92705ec79b041dae08c0f9ff75b9471512d861384802d7b87148bf0b328530f1774aae6875b78e59fda173284295102ea8a9de040d266f6aa203b953f3fa1dab2d8535086d0330e8d3889a4e59eecddcf1b3bd763a1adc045b42ebf4d29493b72bc59ec138ccc94a1ab944f38111f35bf67332036b7fd982b679bf55b515b45dba78bf77b12f5ed507527731fad7f11190a34889acd2ff3cdcb097d4e5723e38bef2fd99425b63347fe28e42b183cce7cc8df0161a77891d4912d1e2dc1e9acfab60832be025991048640c42d099dac9f5899d731a31c7d8d63b89e4f393bf955b1acb2987d3caa20845198639a67150703ad71f7edd3800802944e3ab85472269b38459ac89ad72e2212ec9e88e8a70d54bc109f9dbd8aebce96e2a1914e8bf6e6a77fded94c07e24ca9e6a882f5f4c625f45cb7cba690c8c24160c03506ec988a988ec82dd99224fa30fa165a7ec385e237bfb74bfcbdb39bc4b212dfc46a3b632c1ce118e7c4bafadf206182df19830ec585ddbd456e994d9b8a61158f97e72b8274e8366dc604bcf3e5f5523746a973786c5cd61a271fb2c1ffacdd07fda0b934ceceb3a51b06c169b9140356028ac08df480f1e914ceb97fd911d55316bfe4984e221d1c531ee40eb26a172974a194ef893b3e616aca449c471f9337ec449ae6286b188774ece6efaecff2d8fcda64c79199eac30d7250efe1753a1c55b019ce6cef5927baeba14ab9199c8e50d02a5147f6bdb9d1134f504a5d7f72a114a3314325acfecc3c007f1ebb9495cbe9989259d82b8efbb77d53d902c8b0289fe1d0ed775a147c4e9a8cb6924b522275934c8a08ebffef50f196c50f22bf60b7d7f530b773a35f8cd46366405e3d3b2ce4a03023380ecef5fea86bceb8c3c442e5b639a469deb86e2870c823705faebace740f5b1595e871dec2b0ed5ec0d616359d4fe0928f398169ad5ebe25f6881de5e0099de7ee0fcb8770c5a0396f8006938068374b47e0b7b67a114d0bfb97be5daf525971516ce65eceb00d7eb89e216080cc2e22821973be7413bfdb1ef8fa23ea7b9d16a107858d3cbd6005288025c1af044aa74913337acc23a50846f0be99a9b235a22d9f410a79acba56957ac5cfc0d26175efdf97e91252d7bbcac28c5dbbde7ca90053ccf9ee421711dc7d9687cafb0cc4fbb8bdcdd961a5b99a67b742fb872339ee0440879c878bfffb8306e10392001a5ff8d83cb228eb97b82e1ab9cb20f5eebded0880e619e6ce5b0320bc0b0a5bd4eb4f9484b49fd9061d1e61097763604b2dbd03c1cc5a0f87ee57916833b28ea40ae1d11d149d5445cff8cb81d4d44aaa6cc0c5d3732c1a895a7de54c36d36d83b2d1ce28cbbafce7efadf90482c4c331b8f9a88e4c8fc0f6e4cd9e6608dbd75b3ebfb0969a83e27268c7d5cd3d7b9284327814d3f3d310c394b788c0ddb85c51b30251a4abccde65e5504bfc94bd445e91cf2ecf1a6b4b052da8a4d20a2d13ba9c55aa7fbe72051a9a6c0a0855bfd755dcd8442a32ec80cf9d5d148a9a9884fff14fa198a9a8eecc2d6d21aa2f00fe7f29936a64c4f77b89279a2e92e4582f7a13bceb701f7cd8503ab05b2ba0276e8790edd74d843d430e18d2e263e042f68f8d74a40decf21de6d8f6802cdfd1c674628dafd882374e8c2663b23597543c2b4adfc547d927a5e9b06cecfafaafbe0f65c89df587d186c4b7103ccc8f950fbcf9b63808dd1e51652c63d6640790e82cc6cbb2c290d2f454e1c4167f5b96c0ffb1ea4c0b8ea94c73fae306759fd1f0bebb51602cdb61e4af539c2262e791477d7a193c00b150e6b5cc8137968a90e0469c09ec6b2a0533a21a12c43d173b3225866aec5c87934b4f0fa69fa2bd69399d528f8824ed66f7901b9505dac9036db8d52024637dec63381ec6d8165be80c659439994cba3c8cdf2fcc336d51337376e8ec6fe6316ae9ac8827cccfaea43c8bcf04146123adff78c548118fd39d1befcb8656268371bce97556cab56c1e0137c71e9054db39f2d9a991558591536ee10e52233181b8227a357b88ca6954940020ca1708ba591e9fb976096b66698c1232485c59b89ac55cb88b6c04bc5b0e6133c90535552ac95fe6778d6888e78e9035f28665e1c70f3f2a8b4892dc34ae97ab66ad44bcf877d5c604625e58739a2cfbdccf45f16ed9d1d2f74f26a5b690e850e2a58d725e06d7f1f2917c39adfabeafefdb485e00eb4ecb8ffa42904e85e6e6c8f9d90bc09705b76075936033bae8cfe5a3aed8b81af3c0f2360d2a13c75e37efe5685173c55d44a69bb6349d1a26b2a5a6ea45b0e5967e9f317b52936442357c173eb0e17d6a6dd904d7bdff2c8864fecbe05e20ab59a975b99db41c85662263cfc2960ee05455b1930fbb23ea64aa0a0ed8e00977dae2c938e7a0c3574f7b10476c61d1e8b72dd5e4a4c1de2fe6dda87709c0dba7c05f8cef9e9dbfddefc2368a2e2cdee2ef68e67b1368a8c8c21b4b0e8d58f9c47e3d56547e215bfcaf5b73e4e6cc88f5a5ba5b8233f4cfc44605adc5e3073678d44ce666d431cd355027b8d5a4b7853b726415005e10f3ad7d37c907ba894795d8361e6d8fc19e9d0dc3caf1b794cb74eafd884363bf7146986fe58586be3242afd9586cbd3a0379f5dbcd7baf0853750fcd3af97b516d0393ca5bec83b755a72d5717f3d5a98ced52e6003dfe09eb820164dba233aefff3f23d849b02839454aeedbacadab4a697acb88ac6703d06f460dd76e6108548a6bf62574fce112c627651c87b38581fb1cbc114e652f814ecc1691c301b08db4b7ce55839fc818d0c5b9f9d6567c267a6b1a9f42538875f996fa8c6db67e9d3839167141dfb7617b275efb6525174038939415ed4c77739217aedb5a36fe344828a30104566281d81ef1fb1ebeaa0194afcf473325580cc3605d317ddcd2ac35163f598bf13277cee2f1feca2702a2404f3c0b9e443825723077750070d9ad7ac6d803f50c061adb52d0f8db62aa62b70671a1476b19689b59c3415763decde4c7ef61c4ea7fe2fb4c741f54107f78db0749b3579cf556ae3db31588ea3553755b48a34ec63db0c126133e0a77a2ace55697766777c24a31d59eb264a001fdf4d43c82876cb377f940fe4b1a638198e39aec19c11e6a7c2a56a036cf34e4270f5ed4849e9abd0a44e2502f5f971f269338cb5e0643a702bc86fd2170b2e57d606722bf7c367bed3da08b750292dc5d4c5fa3d4f5508d3294d8cdd0053ed7d1b30693423bfb012943aab3d5eb51ba7e654d7cb1ea1bb5d4cb6dd26b97f8620f60e08fb1f7d81e36e2162915da0a3519c2349ce5888e07abb826dce1acbe839097c1db2578ccb6ea107bb48fc026f50583c66889168d91e92d8f6817ffa047bcd5c9c0335ebae297410c701a0d9927ff82c6dde5fcda91e964800d4a59971edfa0cc3058abfaed8d2cf7af8426aa416d949a1878a758a0db1f0d79b24ff2acc5c3212ff95b1021a2d8f48d383ba25eb5a72dca64186e9db62d1a094a511557141e71fd0d7d235d674f5898ddd1a40d17bf1296fadfcf24841626b91ac2165fa4ff28447a040a251c2628f1a4a267074334b10f5296d2753bb485318a3ce801eeb7356c7ca5d91806e4ec7cabd9205d33a691d813380d7d221ccf7fc9fb34d58714297fde5e3ca597f87daf9771346fb37969e92073ce1d5ec567a94f90ecbb6aa7dc410069de8a4ce27dfe78ea1d41c0f4f4622ea9526f0756c3cafb5f27fd8b827cfd3e897cc31220ca75f8d37794ae5113ebf15f4460722298b8feeb0c03d3b9052885487c7447f20211f72829e1f88a33e71cfb474255bef5269e4d32c7f24926420c056b05139ba1d628c442a7ee541994d9758412fc2c66e007c62166137fad4b5a9ed9521d2a846aacb53f367c97086ceeef79c7ba6d7630695af0798a3dc240ddc79b336160b5acac11fbc46a7d71f74b27fd212103389686b07cd62c9969caab9cbcfc34c5c510b666303ef44998fc86f381401ab23d4a89f20dd553aa2ce09f5b65015353cf9bee3d383fee007d1e7da5f74f43ad8aa98d5921475726c49a37e6e0eb597285a1df9f207d703c2a2fa3ce971c2b705ccf921f73f7cd3c3b3003a0f5290f336ca8aeac75938182b5ae79510c29d7de9ad69a865bb3bb018a53a40d3f966965b3db7d52e0c61dc8c5034c57df285c0efe5555b9d27c4be0535856bf0161502039d0cf18427bd8026d146d00f1547850cc41cde57a8f21029946a7b9d3e4092dcee80ee6bcae0260f88a38b7f71bb76b340f414fc0f4a58bd1558be8db06f4916a2055140d309aa2e7557e1cd5e7745997410dfd4326561fae7803486abfd507c7b3d216b2ecc689c07cf432277a70b0cd6b8bc3a6a7b2bd9b0bf57e80d0b87fe102fb82c212aa2444653616cd5f670edcc76c20abbc086471aac30d417024d8e56662af1b19cf06cf36b32d3f737660c3ddb6ffbfc4293ab7d5c619ce6e4f71b4ec2daa752991072a91b94cf9de61645aa73b350311a2eeeee935b537eacf6bac073cff877f28a8d212df141647e99e6dfc13aea54c7ec23d2d4b954d4433ab05c079a318c44ec1592c138cb4fe90b1317fc6e9897828cdaa910b3d5f0c233da91f1519e2b993ddc9b590864726155a0f1ceb36420a3fc3561683d1b19c79cd495d8a548b706501ef065d0019506f01cd99bd9310db14fb11c5ac66c1bce3f271f02fd0adc18ae4e961c17c6f68f0da31a4883b8ccbea6420e88d144e2ed62999f79b95879a4d4ac382c3045f77e414a7dd88827cf48e785fd31f7c431edd443f69b9fc4fe7ec373e23beb2412328826e34d0ab156bf53cdb6bae9026ae2fdfa9ec5434b1e6dc43246645032c31c3345c0603a5b8f9748ab0df12c7da4fa9891002583e9342bd82697e5ca669626cb745f979d29141fc21d80b52f563394ae2c2bcf1f0969eebde77ae70566d68de51bbe35df6b7faf32be35695bf4427d72cb9e2b72afb2f3f913d8e96c4fa1b279b16a970931cea0f70697ace1a7a1c1de947789c77b20974773cd67db26f982d4bc8425671583489dedf0f113ffa1d0292398c5f867f7b5aa4bf0aebb40b5e52b0e6e1b826138bfd2baca63ab79efab81fe416160c33fb0f969d5526165f9b2eb43e05ab566c80e67109f0c15ea1537df9dad179bbd65a8dc5660a2ba2641a82dd4a21875989fd8b7e8e904ef4a6f48cb38d7c8c07b36085bcd22fc8caa1ad09ba7ba692bdcb5c70ae1fc5cacb776edd2f737ed73f91ffe693be38dfee800a2324786f9c1d119665624e31eca15dde50d9a8029d9d2052dcfa1ae0d0366d0ace345f147fa0d4bd64097f396f02635e5ab8f2aca6df0022aca0cb74a6299c1c239479cbe278a34b7d788931e26d2c9cdc972d1519ea0bd7e2c1af519def75a11c882633c440c0a3011fb2108c8a4f16f36f5839a637d9213e55896731e67464b027db56f8c41ecdbad7725ce626068c17a931d722a1647ad5546a91866ad1f43247b220168dce14afb633cedf5419b767a4ba00704f8c1171ef176a435e106b9c70be48b84dc44dc0bc9a11a950faca0813d1aa2f78aeedf71d043e5364f05311c2a4f75027091259cfaf57b7b6d9f538b5fe8d3cbb6ff65abfa1f23de380a22fce2b715d3f9614bf7d482af1ad717e26a600fbb03fce2d37ae54bf7055688091bf9394087d3ba23aedbac9f084a4447d8580eb936c427d4ba18a77d874ae1c07d23a8a573b0270f43efeecf8dc5429156890de0b3a818fac2f823424522d53bf369a1f1025df58ffa582ef17804995f41d567e743769f819518d6c4bd2e367c6ecbb0eb5019a099d5e2ce1f7ad315bbd2da23a9f4700a98b883cb337101f6c0b96da2b60bba2215ed4ea07b59b7f83d0735593616aa2b7e68aa37c65261a0a5a005af843917a2428dfef85b9146e8166e65d8a75f5c593da2ad14fc951a104bb72a1e201baccc249f041a7228c23d8f755d8cb143f1b354eb08b47209d5ced9185cbc0986ad9379c5ed606df544e323b31f6b03c0f771ef3f76712991dc8f23d8fd1458b97b2f65c1aa51d5be3bacf821827ebb04cda7b92bd2abfc3b82fbca50b0d33131168ce9d0a8169db7a58e6fc91af23bd1c7a5d1931efea6e7559ec6eca5f1e1068f9418045ce92209f5011b1147df9bbaabc33fb2e4be281ed429112ab27d425cdc3ea8b77b10a9282c1cbe3af84282ef5ba67b17dd7a7b86eadb461d48a197a596951a8a2fc2a876584050789c3da5f01d4f24493bb1994604ae6e3e7cefb5c7fbfdea49883893627717b2a04986fd56211596968db1eee2de98c4118bf62dd29c29e987d7fb56f69be3851426694ce2fd203e61fdd05d55ff0bbb3d4167bba0391f2ff3ca16ff3b0b440467738a4920d1b38178bb38804e1e17d07d7bd23e365a2e6853e31fd329a250fd475b373860329159e82cf63e89dac4579b5f623cdfbdabfc551207805685fc71fca7c138bedda6f6029a261489495655b7ded026397f0996c5e864cab8c559f2bf79ea7b57e582138ea8558888ebdf7dd166ac3d26be4b1df4e142cd1ef75b1d508078625d884edaace8d538186bf7988017a928cdd0a79b514ee2a67954872e3cf5c0eb4e335bc28c4fb5154e298839bfe36a5269f991798c07f6651beaaa96b04974dc4d029609fd6a3cfab031660c2c289b86547420d39635a35f163cc7ccd4de3d993d6e8b6b6592a6ffec770475735cd3cc1041a62a02d03f168f772130b9cc1ab4d0da83f269044d84d55189d996cc37d8ca3b765531eb2cd2dd413db762294c8b3edc4edac72e72725f7f8a713f8fbd439b1f71159ba6ba5b4fed5b233690595e7c7aba6e41f203630a428beb797159cbb0d01200897f768044b94ba14516905354451f2510c93f7e7f0f0ac12b5d79b11f3bb99399df6eb2beb0db835208d6229396896fd7e305fbe7bf3b7db411a958e6ff8723e905c884debb3b3244e7cc9cbc52ec13dd561a9e393cea9ac1444d401dbc1539c0592a4aeebf066caba38f3fb36f3fb6a505598c349f629ad8840bc428f33fb88fffd3aa62dae5f321c71011e1cb7ba8464b2e6518e29fd1961d67f3a3d787d811c3294e0dea2ca9330d9daedeed2c1cc1f169f20f5a5236db82c61d90082557cb2430f63ac96832245d1ec9ad489e618ab06a33c159e9091c3eba8e57e136c9ad2d503a7b94754774869aa382df2e6b3f435139299cd6e2e3da53c295ec3650630e7b48cd9ed0ad0dffd7e22c45fb1c8d7859dc007fcc61547a918235fdeac54980f4d13aaef28f83a36e97780cf9b4a49aa79229c606235f54c699bb6c8c7d18e625687eb5bb73e751b55175c9736f56aef553a6c8a1efbfa4ed779d9db914a2ef0f91fec316bc839e5c9a1534187975e102dd46b55163b123b6a998ec67e4a5bdce722c07381987dafa5dcfc46a11a89f11969f320f0461c7b9f2142bbf8297876ba5fc0858aa9d227a5e5ee5106bae8553f423a19415d12fe7d4d017f88268c74ce0f1b44019b12a3c330c7a5322c633484caf18d79af6b8f855206a471912035faa3b25e435bbc824ba1f752368fc8756abf6a4ceefd8b40fd18099b8a4b8926854e67a459f9674f4af75a3161acc8f9e77ec1a3555be86b0077041f76d8469929eb2bae10b02f856baac1b8816c2af3407da0e397f558770773966da9af796cdac54f4762937fd17edc8c125dc55209975c541e1b6149ca26eb91d95e75bf24d136e614faffd7ef908b0ba03410b20e8a3e573049eb0b4a1d43d4d5505fdd6038912f9d0312b2409974e5574a9a281da002ab6aec8c7f3c00af5b0819c74230e57f736e641b2109880d8535e11fa7d98e5d94064b63b93a49d403a3523095e1f164feaa0a056e0761ecfbc8b5b30f0a7bae1d06bd855a0a6f69a99829aa4c2da289615170967471ce4fe3031428382a152c0691d1be3096e206ee2e1c7c68906fd362f70cb7775db964d270c69fec4e50e8798daf605e43abccc7d7222f5183ba76d2abf30bec0c76e7568dbee2f6db8ce4bb40e785a509121755fba46218c4d7e023300ffff41f7a5eb2c0aa458908da6818131bcf70c06b2c1af897734430f8d1536f9f1a7ddc16a3353c68c72bcaf279e809cf8b8a53599c21c4d072d08ea6cd37aa2d19afe787abbe7ea057303bf7d9d827c24ce0f1351e1ec60cdb9fe981cff999c962d308a514535e062f27b3f2d61ec892f0b9c86991a81f3859fa02930dad0494ec998d8848175793b883b7d29bfbf00e2df0f151855239856161291eb74a1808e4a201da55068004b895db292184f3e791cc5b509b98ef25316632be2d51c8033cd7bec58ec90d2914dd7bf8d062b08ffeaea5a5883d19e9707715dc147efdf20bf807444e1200cc948aafb898827fdfa2c99362ddf6c3e76b1d5bdd5b9eca5d8f632f60e0326e4e9098f8633562e4543bbcbca0ac18b96f272a16b941d9d82afef657961307186483a4efbc19b4e27cd79363c3bc67470c9a63e8dc2a8eceef0414e3c1fb2c3d8d8c5a9f62765eda8f6e14ddccee31f686dab6e58a1eff775e4ab445c62b09d3a5c000437a6059bdb4381b334c7cb267ae737675281c0e07250b2cf0dc58ec6d98b132ea956008d3adfb36b0776513fad75ab6a6c1c3f0cae78331df8478e5190cebbfcf6a09f30b98bc677833ebdd0e79c53f82587dbc879c3d4cdf17189e5922564a22b21ceb6c2d16458bfc9a9615b9eb404f75bba5c2b80bee9340fd74ae10c7defae63ff56aff56c2fd4a0c82fd289d04e49986cf0becce0c7396fa4af7881d9d6844f6f4e4e29b7b0cc84b48ffd30b59ee36b5d3af6f12c4f8c135622e24a80ae103de15ac29b945d313f3dddd89439bfa8eb32c35089d816674a6d40fdc774c7ac8516b3f5ff4a698c4133c2b083607310e187d45569d807907d3855527242ec613709bde180fdf898433edc0bd9e1fd2852e9aca16e9866687d50c911e96c7e25887985415b22c30f7662ca972e3779c2c7e7ecfebff46da6c346e46f05cde75284fa6147208442087adf6666efb8298e7191c7e8f7d616f03de344d37583c83f9e2f298cd9d85ea93966887ba45634d7bbaa4034c249f40ef78c6107333a6254a55d353d3100aa57cefebb203f1be9ef1d5367e3b4b5686350f3fe79eb227a97c2ba27948c25029c8bbdb2b54d37c16ebf41d15eab7d148064ef3edb70d8b4b7789cdf9ddb3cb8c611b37c836b0291e914cc0025b442f7e4fcba139fcd1bf354b81e2e30ad1017c5d8eb5a68a06ab1b5d59542babaf6dfbf99f0bb6231cc19560976fbddc66320d4c90627f5d1f1a3c5cb7b9d551f817c246f0dada0f65091a055cc7cd39a3668548d53e73f09e0e4b932286f21feb3cae5ca3f8579e48a40d8cc94e674ae4a1b173d898def2ecafc8b08c6c86b884ff552a1adfd75839a9dfe043a381a0d89a51f48d8c990dc7af1aad433ef05ccce9189b7fd20fdfc95ee69f4abcb640ef09a35ebf00524e712c6d9653eda35763a94539ec0d6a7657064303bef72e4a47d596cff5212439c7b7d38618783d50a097dadb6176c95efe7637e91606692d50fac2bfa7621f5e5ad09358616a7d121bd121ba05f55e9c2f1620bffc1a8096e511ba4652c71ccb342360ffa8a0878daedf7e56758159e97ea09624f507aae45ffd3e474cb93ff017bd9a5c920ca0294a325073617666ed7087d8a32d734f9427a9cc5b42a7da1b906847cb9a3e5efc41877f7c3d28937d0313679ed8c2012e3eb700b2f56bfa327a27adfa45642b331f9dc58f379bbf5dab3400fa26c326f8c182f6a27344152ccb12ab26cc4810ad52a336a8c2a4cd828f028cba208a008a0dfb60ba6f3688ccb8413b590e939c3389c343db3b7c8fdbc5e2c08cb86df580ac23c4b7f9412fe15c2b5cec6412c9a369195061c8939e0817a7bb69ba158d123f4629a33913fe1160d0136e1269ab4b3a2ebac5525f951541c829d949b26bf724adef7a6db017714bacfbfea8d23a94dfbdc4295f88222980b21728a768d448d4bd3f19c5ff3298aab7a997e7f001db3aa9b88b3f78cad93ac4e369861f089700fa9747103dbffcc16366a26b9c0a766876931f482165cf71891bc59b0a7adfbf8e3f89c5988ad3351dedcc44dbfd470437822d3d5559043cab67e6a36632cdb24f5aeb67a2326819c587045d52e3309627411ac22b94075d7cc31a4c81a36534193abddd6568a5e2b918f3d731eba6e76edea2d6acf0af4845a9233abb9b8c9c6d733e6f174d5ddaba45614ffdf64816b21791ba2ae626ebc52f280007c0f901499317a758877de831dfc84810a8e469cdc84855211cfc20f348094b3503cb4224a5f8901851b2135fc4dd435ab8c3d1c146ae7930249f20cc0733ae7ab27eb570ce59415d6ea870bd208958fda068fbcd7cf8d0ebd8239a65fbe97bc4df43b8b105826712c803e22d04f688a2d11a812a2f20f0757bbaaa9447aa9719e04c748d6ac19fb933e89567ebf1cce16ba5cd0f27a3a40a3dcc1c9844769352b9ba66f4586bf877545f076df3e44834e85352f22a6a8c728fae14cdd703d40136688420c04701e0679f550da651f2c3207564e5b1392c046e27d2ad92cd5ca04a7d9abc777d7ad2f397badbb40b792963f3603b2de1be3526229809d254ec65752b4d035b3d67ace466fa16aa94a93abccf04a54e4fc357eac97c3e70dabf3e49a9b744dd14b73856c323ab58e7c93726bc23d355aca0e0666cbcd0585e963c011720952ed09d997ce0ca9522832b9e71a622e2efa2aeb16fbf8538e8524c484de10f0f9279ff713b071bddc5747b46d190729b88511270a32151d45b7428130e9603b8d53f7b4ba74dce8f494adf46675f30fda001414b76306e7e63e269ede84ce9a6570bfcb035815150ef9139e29c8ecd7f5df1618b7286f7f75463f65a4ee1c7980bc95322880b4dcc3b1dc5eacfb2cb08c28e8efc74dff67c08a831ee669fec92c78147cf8a32f6b7e0e7e24863eb52de2fd0bfd22aefe281fe47f5682a51e9e337daa477596946f58585995aca1b602fbf8c5117cc8678e1e426195bbc82fbbe1652e3069b3536f7127170903536a51ae5c786639ce1c04ed7e071122282d5084ec7779f6f7fe04bca9a95c03021866b4ed570620c0050be96e61d34108dbe2e52eddd7308fc75c663be0e31efac7c3cfb510923f73112f8e718978706165e7273197481434277adb3324e7309584d34d82068acaf68001aeac16ff65cf8650bb19c196bcf7e13d71e525953475768b6557a0be84572a23c913e4d32c838b3a3647b06d521526d722f1557910191a56783ec63856f54ff4cfe5c83518dff4614edbcc8895ed68621e8e73bfb6beee94d40aaf03cf5916fef7ae1c98b26291806682163ec0c063992dd5e5aa27791717006c500d7608e0f2b7c3583a9d40a5c98d2204095e717248497c2b710dabe843dfba78d29c6dd40bce574765a66d6259f58cc27b0ae15bdf3749adbea57d465c919769d843be49bfb0bd5269682d9aacbef7c4e86be8537e808568e8675a3ca4833ee30239c5e89ba3415a8bede99991f610bd5ae6bbaaabba3c33e2162af7e7c5f7eca648919de685c7f482b682e6d9d5d85ebe46ad9dc8196e2862589e059af2215acf7ce8ff689ffcde940647c37e90b1b794eba05173e97d108f20792a79f256a9d0e02f6449da651efa6174295c5fcb228edfbff515d50e69d494fe91b3dc20f1ec23f7c7d281d0046336babfd02d3551d7ba0559c719cfe6308108988420a45a6589423df9494f1b4b841b46cf5837cfbd919eaa95280320a7e042bc88d11147f68be66cb84f14880a9d90e8ffd9b126c8446831dc9f394f249ed0b9519bf4c27dfbafaaebdf377b7443351ee2e9b6de8fab75ef0863083707ffed16153ae3197596d2520ce44ad7a4ef5fb9c2d0507a5f09c259bc89d70132cf8b54132b952bd0ca931d93a947948742c086c62de5e2ab64b909cf59dd8974d643d7247e4dc5f518cbf6136db3481708866524489266bd8903050b814597417a1d8b30badf3240e877194b1e52ef3b7f9a53f31612d348a8ffcf676f160a20262368e7f0c2bfde2379173487df20ac945b983a1b7b5ac3616071f25c674d647a83cabad6eb4a8a30aba12c85f319f95db2ebe7896969db5bc7426eb25580069a1a7342e785177bb9826e4132add6a833a61a2c7ead9fc4e1e5270ab354be6f5639201d701c82cc220c141ec1c2a3531044360518f5ef19cb525dafd09bfee0b711e1de26a61465271d8eb0d7b19715994cd2d932c25028849ab1817b722bbe17dc9567db8ac22fb0fbbbaf709ea694c91bd2a00167f197d1c7b3eddf105b883ed5a398e5e8a00e0ae0edc5d4652d265018422b5f683e02cb246be548af5b27a2e00503dfe42cfaaa648979114335d02d12c495761145ca03384d70a566921371a8e62a6707a78066eedeceec06aaabac9f3a21ec76de187270134d9b66d8f378ba94c381ab1f766236ec8e2ca5f20d1974436f49b593d12e2c3ecfe04f25775ddd711665b15e5d1a7b9f9d772c7c606dca49a958b6e6685253fed2d9f66c2719847222da52dec4a83379240445ed6229d7e0cd2802336324d291af846f6546e1327ac152bb1eb5d4c04ff77c1e44e6ad841a71a507594521a971e8764b23cb92ab53f989ff10ba9e043523f3465d942156458e4fa96132b869a9c91ff02ffb6737fdf46333b76da861846fae64eb47deb4ba98d68a8b4fb675ece364c96ae2cc62d56b270a76eea2b5701b57784f2ddfd7c16f45de4eb1fb3a53d6449b5ce26400bc55b8790d4745b83ec5e64fb080dfdcc0b6ba60faf7ea6d7a7bd449b6e643c8fc9116a37f3094b760d58d7cb455fdfa38ec98598af090cc91a1ce449ac653782a829e714f19f818c476c6e0f0bb6403f7309502ce90504ed12d8d73324d70644739251f51ce8e18584dc68d81b156a7fea2d8bf620ed65392ef871824d3d825adde6448add73502ed61b44a7c55835dc39ceede8e1c292325c9097e87f43b596d0a4b83996e6861086ed72ced3311f8b71af2b7a15d6219b0bb278351d917c2079fb811a0bc10b7a501657d91086d24cab2d018f5530a2b9b402da5cfbb5051099dadcc5a41d90ceb61bb5411b5b5267185d12c06cd8fb5ffb34247d13d71a42494c4697d0a407b640e88f0f0b8677f817e3bb7feb33a31a96f2e857c34e6cfdc74fbacad48e2d9b2277c8a9270814bb4fbcb6738026b388ccaee251b8147d0d9745964f8705cb3bedf8900ee3dd249cdfce069d097bf10d5b449c2583e11fb527c9d88bbaed05a9879d6b7812ad256f226355f2cc5015fd9a3a071151f85ee76a126216a16ce58aa2288d704fc4fdfb0cb8286fa5eca14ca02d8faa0b1792e4652e6bbf8f28bb53215e6e9debbe8aeecdd2d2c3f5b870cfcb04619cc88a0fb768a72ea20cf04eff4c666f15844b095d70302bc4ef2e0e0baa8a664b3f12176fc18665ac0eae669407695b10caa4b288df0a223fad6bfbc347e7c201ee4776780107bad45144e886a524cdf04c0943cde06a01378dd070f92c60f94c6b35d91fa4668d0fa91514e8343cd2b86662e6bf14726c3da705248443a80c5afb570e11d788c31a8ed502fc61f3355ede1506f4d0dd0aeaeef72f10d7a869300b660551287ac057b0203f6e15967f5fca00aeb2a40a3f32082bd7b7a8aa2a1a17377dd166e8aff4bba82e014553f87b3ef5c4e5540e5e9a3517c6ee8246b05b318040e15bebc80d558e27370ef61142c4af9dd163b2166d8d0b5dcbde2131f260808d876649b1fe9c0d16af21bbfac147e3ca56afbacfa252faed19b10a6615702af5b0c2f490094a87c6b69a4a9c42c0e86e7848d8b2f1fd1af4b55968df4a5015326e029d210403c9bbb639f9bdd7862ea3493b2e018fad523662d3344a96ebe694e1d9e14ac6c7ec3ca6e3d2b35a5253550e7b44c24ee67907b1bb75a0563a21a5b3430214e884778f719267dfcb5cba8c5679ecfd87db7f191e456ddfa66ab6e19286bfbacb0e17730fcc803a5d7bd557d6de04c03eec6b102f574c7ef705cee9510826a4fe9c156ff6420563ab80368525e37ddd6fff72deaae62a9e2310d0b155e354d3299ead82f0c69c85eebca7856ad9c9984f2e8842c9c5b6fb5b2bf98fabb4dc4992db14a0840f4c120f57af7587c4ae879f3bbf26fa032fe640d7b96e7e8aec4de7bdfe077a3fe4db0eb96c2482f1b55b1467299bdb7d7aa734df165d8b4bdd701cea41c91e32b03a708700cf9e6356f1a6a68f37276b71528d8d05acb21ea5dba22328ec2731efc543ba06319673b4f16654167eaf914eb9eef8787b519662d072657c62e898df9c3992d43dbaaa79b373b0c61bc388dabe043646219e3ac58298b39486607e4e7985d3503baad937817ff67029863183bb08979fe765fb2c5ee2ca2753598462bf0303f0f6ad62e43aaeb715f7a09f943a67c6b0a08f70797e53e036d8ebda2c04e551d3e7876f7e002113ceef28c7f1ef7478cc02448ec9412314888b3364a455f0cca497f98e134294c62430529994a25fa18c7664701d46829c5688fa69623803f8b4433e8c02d36576ed9701e22272b57c17e5bdfab2dfece64006cd4ccc0457b85a7821b4b9dfcd359c1dafddd6c87ab782d7274061eab85e389e21843106c5a81b1797f1a78d68fcd6790ce2b6aaa131b3f573404a5a0446541ef3cc3e4cd1e1acf3ec1d1ecf160eecde501b6ff21071959afe5f3a485f896aa3116053d540fe413be83b7dab7e4b8f1e8030161fc1e68be468a9e36fb8e8b1e7f04d0c7b498b38cb0f89c104cd18e3f00681856166d6a646ef27cb8d0062a49d8cf11fd1ab7c7094883d76bf770e1ac12d487aeb910f9061f004eb36bd0abd0204af44c099c4136fa46c9473116f2ec0ee3ce1c54029fdcbfad071eb130d29f5cdbc87465fb63446d6f1b6656921e130a7031fc39cf59394ed920b629c3f1fd313c72c24913eedd86caba7faf80268c1c1a1364777e85eab06d8f52fbef5d58bcfd3f41cb8e1e82275b448755a0bf01eb421dbe8df5c0458a65703869159cd19f8c8de129b41138e867fef34d51ba4bf59c455245a3f2a0dfe5cc6bfcb33517c24ebe51e56a47bb73c0ad426735f4792e6718dfd8b6421a5088a59ba016aa95a871c15a875346f5a8e62de7018672f5e49495740a0927e28093ea513d9ce1164d5a5de7d29b484dd79bf868fb25d3f9db66938b322b4ccc19c534d97a936e802b924e1c24d800d0fbec53d2cbdffc0c74887b79582e773f6c5c90e2ed36bed1ce647e94aa3fc9a8cb9daa014525d034a90163acfc53be316fb1a265f7f6ce698846f3f943a1174a9b851d565d5340a03be6a208cf96c8094e7736668cf49929385897154ed674bcbd6095c9d7e9e8190ff992eaff7c159754de53e65578745fec5d8e6d4f12d2b93ed9a7a0e22fca5bd891786f564734eb571f4caa6356ec324d2945697db0bfd1ed9e9af698dabc2c2ae636287e9793db2517e5ce49680cafdc78bfae5ce5d8dcefad47b5f099934917fb418353ea48a3b0f66d0965885d6201dc191b5b145749e6f48967c6aaf26d6c2157ac369a681fd6d70a8fe99893f0186be9306086e49d5d5de80e7473f4532370ccc8a425cc44deeaa2c03f4cd6bfd6ddba7ae4bd08eb78c4c7b0e613f407df91d63ade13e5fd72d6b0664715fcb18aa770b4a276ce52f77e7d2a190a7b4231c8ab4b326b6c0cf0b24cb28591cb187181736840b137533086f36d35e2c9cd208fb24c65a7218eb4fec268f8ec434967faf8c24069ead663bbf2bfa2ae1a26b37f2e2a56644c13f14643af4fcd2fee2fd73cf03c5651ca825a7fb17ade13c6fa44109c27ed8605733c48fa0216f16d270bd858ec9e883468e53f3d652bbb8ecf03312875b78e44f5935ab45ce20ee8f0219ed8cca2b204ceebd8896a5d317d532d35900f65eaf93c9f98e37b27bfa4f7a98531da38f3ef0db6562b16be19c278542f45e89886e134110e717ff59ad40212a11d5c7f56e212f9b66a0c12e3d82eb5bb8ab11dd5e8cbeca93bb8c9091768fe461cbb290b8436bd91523c83c3e12362037a0d3f032c48a56bad720f41271019e6191ce18520ac9ad7fab288f1a9965642f61fce58877506cf6cb5505c7427d924d2842410231dea3352c9f9b756368d5465831b4e02fe9ef0f61a560757f8a9ebfdf3f50ca9ccbbc5875ae7e9580d376176858780ab38a1d54c27e96b89048630482df679952f52d8638ea48681c180194ecc832d411c93eedb2e7857520966ed25e0566b228459265571830f19c940cf5db29a0160b8c317ed0baf1bacf7f30d9316145b945d9757aecdbaac8ad37c7b3926d052b9638284d5d9feb2a5b478ac826e0c2b82714d3393656a345cfc17e643e334630b40527e52bd1885821f0a030dbeab213dea835099ff56d3dc70b47d09e16cdd33698445cf2b850eefda821adfb4e8fd44d136e9313ee266380c1950419a79671554c0d18ea61365a565be05bcdb1fdb5cb4d8a1d79c28d2b9d9135a95916655f50f63184182d4291b6610abcf33f8e0b9a4bd1f68a9e3022b65faa0cc7762fdb41ade9ece4898629914bd4f3045e370857ec3b3b8b8d8b969a0e5084cf2216c07887c0c09c38d2772ff3d01145768bd7fd6e27b299566a3cc474a313d416f6cb2b03948faa49d63e995c1f3d8e260ab048a8f104ff794b4800ab941c225827bb40ef920c598a0a3e1e3262c9074b2391cdf92572d8f4c5d6616098e62b0495af5bb652195d35519ca95b8d90185cb50e7b07d2db66fe0a3dd21e67ad735ce2ce26d1d32f982e5c16874587b6f20afaf058cf6e2833e2e39246d1ffeaa21dc3c755bbc8d6bcae767579470420367efe7c3e93fdaecbe76856f5b4ee7925f2542a807bafc74a482817f65e519821e09fcec9bac0475aa7dd2c12a06aa405c1e2d94566dba0a916b6c6ee103c9a7ebd050f6362c2ce843547b435b92ef9d0619ad5e225f106d613acdb56528cafe71956e8060799e713d151db72c426d9333a0217a86128b9cfa630c99dc71f9f6f236e767da7c764cf7e4bdb51c53d0616a995353a38c43fdd8743ea73b2ab9195e3a96dc2cf71482394dcae11e78516e94267e374d95a2e2546e704b8c86344437e24ab3e10ad2da214b7b6aaf3af8b1d5b49203abeddd2e117a42216997aeadd72c0208f12ed45c196d00f7bf586d92e44144a6c9ffd62a93c67b2626b6bc363c134c844b90cfe702685d4ff1b504e383963c8883e4c5abd41167f80818bc74aa8311835987c2248832d5a3696ff65382ccfc2ca47248bfe49e50e8e9f4e7dc52d0c77a16b3443400509a116f238c79560d4521d51868b35ecc80702315ffaf8483572cc8d9dc9629a6cadf9a8ae0659193f5c2c839ded5dd4ca786eba7f89ee233c7b0106538579d739399201834e49461fec6f66788f2ee86a62c5b5999443f5ceab4859260435195324c724dc081a2c83072bf369af4c12a90b4f75f28a79ee6f208d0eb2c43780b49e9a48299e4aceef287d01d4b922532f21a63ddd8a08568ecb9f6d3307aad833caa747894e1a4ab39776da4a5195879b650240adc62755b1d321841957ab285d02387f092e08cccc1f4c049f02f49368eb3c70ad3ca8d314df0204d6248c12c3ea2c5b2484699ece3c4793c94c65f7ed7bb4be20e1cfb8d5b508fd0b8a50f7e5205bf73a45b654a5497bb09c4f056183e534398ee7522c58c19b91e6aaa194bbb6aa075147ef33c1d2fecdb96ee5b72db9ae4ebe455fdaf22d149472a0c02543fb3d1d861d2f7dc9877e5d8659490cabfa69444c3013f76feeb22c88e0d59c2f23efecb1ad568ae37bdf3fc13f897f44b440a34267308c2bcb64bec50fac01aebe73379159a01e337a40bd1ac772e363cd5a236f6749ceb91df34bce3e53e5eebba74cbf5d7f57ee3c376fcf871c8d55428341702298c59ed1468ee424db5a5dfeff8dcad67f86605e66ab84318f6dfd15aa1b0fb91e6808705a0c264d4cd2474d6bbb90cf51daf5def057b2c1d8080e21c1587162f530f063c7b0d41505f31739afb0422490e6ed353b59451c0cf454bda335fc0b44f5e6c35fdf29d79bca308f46866e95d9a086e73b1cb2a7ba27fd80e00cf4fc0ea955e2ab19da635b2d1f5ceaf5c35f743983f1a039a9e7f610c6093354d7d44c86f8b3fd57e215398421f45c950b63c0415d8945ad04fee9a263532c36652cd8e7ef9011f08a6c48405b458507c4bed776949856d4ffb4ca954749812babfafa6405cf16e5dfd99f94bafe14eddb635d3827cb4a0d2e95605be669a112f2e4c0022e7148305506567f9fed5a8e6a1e35b03da9b0769dc9c45522378e2f7ffa9662c09a1803c33ff101335fbb2cd4773ef31aa29396330ea076c502920fc9873abb6e92c1e6f5d4ee85d905ff0c7241c581f21fc3ee53a54330dcdb3ab714f11f8773807379db6f04710d1ff0e7eca5b4161de656325bf3a55e406f2fba80ec6ef0ecffbdec0f7d336a1a6c72e459113d6be28ec8b6a4ea5d1993b8ea3efc469dc05d1ff7a84ec58bff5cecc2a2540d0ef0958cbc857dfc8a8b8579af864b849f266ad4cf0cf0b40ffa1345b5e66ba8da1b6ce14cb3528be1b151f8eea90beefd829da6e45c5f269f47bf536f766ad35689cf64f06476706cf437e7b4eb2ca2ae8c64a0cea6df7f6f58a51653def73bebb045e6838eb84e7ce9aad5127e1ace97f30e9e78f87ef55a24b4ccb06a3299be937e4137cfe3cc13408f27c7500abacab7d64544470892266552c6e9833a0649428b4126d55c7b31a6c5594cc1e9f12faaa581b742b473ce56e93d3e68695abe5219639a811f5c63b1164436643403e714821afc5b46d07f3ed247b2b4f87b1918e7d041a35845da879ee4fe8ee7d2d608b4044a816f29a7206392631240c0ae8bbf428232996beaa9ebf1286b3bb84d2c12617ddb6f4548a12e929b9232c1868b51cb2cb4d05db2f8c82bd9bd077216b015e07404ad656bd4ba804e6272bf237a724a0c3f79c8b3c3f75a146a81d4eaf6671f585ad7335cb89aea9c44572d88373f05ee341f74d25f9b8083e96f1f3c451585f62f3b28def8d97e85bb89fbe51ffa5dabe50c5f2d09d0b18e1c133998ad400ed8861e91b8a1943ca96a93b705ae85692e739f9884c50a7034da75202a499c88cff4f513309b833c006b24487c9611b0b44b57c470ebd9e431f68e5052182f40e3ec2eb7ee04c09c021fbc47705d961a5c6c84e466ffb1050ecd8a3656f5035f4616cc5ccb5172fe323b77491e6adfe36dda72c261c88f6ff91ff4da6fe396aff19c4a0621ba88f81b55533fe715e87926dfaff3fbd641a716c31cf59a3a03e7517f6f7aa2963be7eb3a0f14367cb87852c09d7ba964a88e5f0bda3d35baea825c9b1f3913ba83dc88c522028b61eb1c5e246bc0f522d44fd7680983f1adf22877cf06fa2e3222041e37a3a26bdc298630d0674287ab8dd7a14bcb7f02d3bb7664fc7a4fb93bb115f5a3e1eb3bac2913485f76177ab184cf01913268fe869b449d3f60bebbffdd4db92864900f490dbb4f2e7a29f76417821f92dd83e3197d48419c77bea106beb64e72830285571041a40588f875974eca5f82a6c2c1f65e75320998881f9746d81afc408440da80692bfcc28afca0fe72e710c0e9226f8a752a6a61eb5ff0438a856a07cd1d260990881d7981cdbbe686018ad8baa496861e65bb4fc0efedc7ab56930ccdc6a51ff2736d2ba825bf75cc7057b9806bd2ca2d3cd6735de883a1f13439e7c6af9310cd34fd782303763a14c8514c3cbdab74081ff1bf4b96e7a6049bee526319149766792576c5800e221ee7629971b814aa670ca5e03e061ad6a5b7313b52fa5c93244a8412517da86d6863d30f6fb2ab351bddeb44d17ebce0d1f001d0b8e9969d6717e9c2bdb5c10ee7db90aa0a00caaa3d8dc5823468274a04a2f417d1b10b4c90b87e4bda8953f1e08f8b4e716e5e69900e16f42edee30d9702e9adf8f0f5a9d9da48a51f787ae3069dc35301a5246219c783bbc00ee594b3afe9a1874543a24174edc48e6d436a9ea5e86b40bcf59409c52dd8d23c077915cd5d14f530913a1203b231e0cc8574489e6f590976e385f58c1722dfcbd1601aa64f18c06525b0dafd07da0681c14cb2b512738d878082bbbe3de6bd9481d1fd71adb16b4fa1645f5963010f58a8cc3831c4205ab1117196fbeec91b231413da217a3196c3624f80ea195400dcd77fdb4f8ae65e8f023d06ad9e22912f5143c2e3970a73f8eee7af74411154ed261c197702280041edacd4f96ae72e8f8fec2201dd2d88b192ee7f9a67bca956a6dac10f3664732372db51d37862554dc2dda1e5e7dfe819507646a121f12bb9672cd446a29c82706954827e3e261f13ea388e76659325b5bfc30dff32b50de9dff7e4980029403c4ded549d24c9690b4d4bd02346cca2be2708df1584ce2619344638243aa68e576154121d82d40e043b65a1450ab3248a18b0ed542c4341cef37cd82ff7c21b5afc6b20837824385c9e3f189829d5570c603587e9cb3a4f7b3de6b46ccbd4d1355514b6fd40b4cb71e5c158404bcead09006ae2fceca8ddd3764fef4a7fb176608161c6b83565d5845627aa712b34c9b87d07b91ba13ee3be86aff951565fde8e80ecac80661ea1d79d21ba3ea112230cdd1204d077d3999482e8b9270c6e5f087518484c1dc452451c0b623e2bc6c4e4b66e74da496044feb085b7561bf0e1b05b2567731c0493808a4079856b2a6421b2c38747d89b4809e70e5b8acee0bbed9230891bf996c9d7d437a2a5f04be3752b8c49f8a00ce00758f39ab8cdf3293344d0278ffc22144a7d91c68fb21e2817e128207026e9c04a036175acee7ad1f29f1db0d2e4d7551f2fc19d583637af2d18fe0379d462b8b7ef2c3fc291eb3c264368725cf36acc934dc86917cbe0c72587bfcf67896510a9668e7ec5b15611f20e6385924194d627a553ff9b84cdd44b3266c2ad56ad7aaf71d3905bb2eee4cc860900dd4d519e1884ef5f7065465be85141d5b63989b7f50ca1bc81e637cebd862ce919f7cd221cbe4102312aef1bb0adf33533407e84b7f3f22a2027dd5db032b2849af264bc2903c44e61e345925ad3b85cc84c94de0ef90b837dbd3bd818aeb4f03d60ef0dea0c3a3503d1f1a2b1ccc17c0dba198456d70716a77211eb63c6c1913cde07a08adfbe0d06b950fd7d03a79f43e4ed39c04007c2fdaead487679eb39a8bafd09fead0a8ac026ad7a36d2baf5075e40d5f9022d1d53ad854dafb83224312d33ebba17298167aac3eefc3e32c2c6856fee1acc4cd56b604fc893d1403e05a87faeab491beb9e6028c6c1be35d470a6a5c6651bae628783ef6ae8764fc6eec744839698ff354f3012554a833432047ddeaca2aad93bb5ba83eb8a009dfbadf2afa5c4b15e79b8a3ab6af98194fe3fb0931782a3843609586d48b9f37eab31717eda783ac8a0b057a92b654acdd36b53f501d13118166489b71320475db1098587568d5b352e68d026f8578a03b6e828f3b1e17a7b09569df341c4ffbdc181f5edbfb07a2c60df806408d9ba9f3f5af10ede136c7e74d599dfe1096a9ee2d6da474abdb39bce16f83eb35d39129957232b0e8689c338e6c6cfd6c7c5de69c5c2af240b95f0b540807d6d6b6904a325612be40b49df62f09f20e9dafd9aa3fca313b08b7dcccabdbed5c34dad8df865c05c6fb470c05091192bc048147db82e3d39c2a7db554edf85a650c4effca7d61f95f9a840e2883b6885cf8b8793dabd546993dfd53512eda1d5bcd9d992c3d67a9f7f1e204c0a953ae49c56cd0dafd0f6a4c4fa35386c8b5ab78e71d43f1648653f0de409fa6330f773ae07270b9d294669a9a0484a4a22dbf943b68767c88963ff05372d43ce63bc688b2e51d5bf981ebab962452ea756b9b7440b7210d489cef91d34b56ed31cdf22a27281e127a41dee3fcdf7b1f16b35ca0bf6ba76743ae749861d4ca06486d547ac057b6ab975d44af462a09fa4fec4466b10f6370b0dee4901db7d0808ff2a446975e3b619649149bdb55ef9f36c073e9523d5dd84f4e38b61a739a1532f4f773d596aab5129479f49d068518922af495f64afbefc016ef5aea63d81a4b28ec2bdd5bedf6110b611813aa542ad7b1578b91b9e3691071024f40f7df2d87ab1c8100f62c21371eebfe8dbc5d2741a91343c56042cb961df133e40d4a3692a335cea9c12775a0233dae23bbdfe4096dd1dc57efe8d79dae8d0a5d828bc40722c7a88541b652a7724f7dacffb0ef0ae8bd15ca98ce0b195c7fa1919f666a37aa30b6578bcbac0feb3255cca66d8008e8a9c1b37d411b7e6b1bffbfd86c54f35a74bb679400296d8aa5e97f36861c6a09d3557439b1a02548d7e6251007ccbebabb25cc2e720116daf53e7dd84a83606438bb5c5e6a2e8b9af48fdf9e505f49e911405d6a87d20a02dc6482cbf821eab270ace12310e6ea4bb15d2d9666dbce9b5564609a1011a8132408888618ae6d6b49a63da677e385912786fde741dc411cc17640dd33b241806719c101a5a7480bcb79a5e73d02edc57d806bed6c1cf23e499c23b30ea5c9694eb1ccdda2c871d85e65050b22869b659d7c5bc62d2f57e9daa7547b07445a8faffbf85a6c311473cbc5db73279847ba1cf3903020e9ffab8655e9bf80329cba26ca672a8fdaeb58090391585f86dbfb77a2dd9cdb9dcce74862d7afad9b423bc95a7a393d2012f36d3d91bb76d3d8b031245bda767f0d7b1f7bc28c136c3f69b38067bcfb43e5f8c2bf2cac3ce5df04d17cee531daa0fcdffdc90946603b00c3cdd6f9397b04289555614ba2db234d4eb8395fd254debfd42eb84f6c045bad871aa8d1eeffea604acc47b4507fdd26659b8e12698523d68880650b4fdf6c7073ec37bb79d790551e5cf61b92f15c44d27a872ff13b4e887d0b794c498a7b46e648e607271e5d205203897374bb9a583e9238e8cbb08563fe9bcda58c2510d968202940406805fcac9a093f56356a8352dd01275e35d37cc0d1d1b070431916bafa593339c3c55e5b58b1718dac1c902c0f41a52fcddb7566177619afaf5665b625142d716448644d033a5a03d519c9bcdc75fdf5d1ec0d5af69990e98636d0f1d4559ee0a9c1d81e55771a2d3e69bed7b60640c863a441767a3fe42515361af7e224a51bab2e7a8fa52f0e5466c21c5cb90e68f5820736a85fba5403e991523cb129b18cb93083688ca61696e669030df72bdf0639eef78bd5b081bc5a8a3fc841b07c5e10624c22651b28448f1adeb62224f68c1a557a9471219693a90ffff5b7657871c917d77a8a1208f613ac67ed2447688050d22810ae416ef49bbfe074990fb3ac5ec83dab01c85cea49b5f5d212fdbcb9d32232b31bdd32b230aa9321d088e8734ca6d6dce03eeb246c481b9e311593d8a2342fbe6b9f3c9461acfb7788ee37aa2df133c1af0b2843790151d33f07a5fafa85d86c8ba751a7cf4c44d3d2ddfe9d52278c022188d741060e9c88249310aa14638f1b2dc800069c237137ee6bae8b792192a40c00a51b02d907f2f35dfbc19b4503dd4027ca0c5939f4795e5973cf1c11b72a6b62d1ee2d61f68bcc58853d23c52e660cc8ea11296d7200d49ce9de88886a92511e5c6b8d4fc6d098fc40c1bcfa3139151fa352d4cd7b8b41499ad3dbf262395ae4785f80d86353cbe40683264a437f059c446cad136410245743f4b560822a2dfec34b73705f6a046e20ef26f5e22ae375b7270f203395ff3ec112393307f9005d4d40c56a34be4cf5daf256d521385da24ca23e3a3ba34784fea1bf90065987f784e6b4d5a5dfb03a846192d159b2c85886c434326ab1b7f2513d7ba57836898782d36841034dea3833333802ce281382d15343f0b6c41fa52c1b18e6dfc0dd8dd70f8b17e053954295bd9dc441cd8fdb42dff4ce010d29a9bbeae1697b7bf6be195687d95200cff53e345cb4df3cd14b2561dbbd67ed99c43f714da0679cc76b4a9c8791d0da397e0682abcbdf2360537ae2ec59065d4eb70983b96c25925b595616a563a1909ded27c0896af1ebb2bf57e118bcb9d59acb07ecd8f9789457fd2a34463c046f0b16614d905f668ba4132cfbb348736b3ec626d0bade9049daf3502e84f21c5fccdd163367100f7fcd7d79e107b6f5cd70045a82f45b469b43eded0955cd7e66da70a4bf0f9f900457dfa4eb479d744d2f21017e24bfd626eef55e262e390fa2087a146ea64e55a9d15aca17d0e6c8626a81ad25b118095abfb75622b6d6532bf39cb0185b5c1ba9f7f8e92912e4b64e75aa2c1f07c564500bd1ce4c7342c2797a31e68286cdd2b9b74b32cc30ee717b3477774be732562f898f8dfcc5153f7ff521740d5bb1fe00adfc592d88d9332d60904b1e1d6b8ef2675589b50df25ca9eca9534be403821e2657cbeaa13514429fd3007a8c6fc66e173db9e603b5c6f2811d36d396e0d7dc4e613011c0a7334bdb1c6490737f9282382898887c744eb86dbab94584ef83710e9ab9b15df4a8eab6715f4a9d27ed8b954968e6de73e1d9588d0fb9deb4d0c627038e4d20fbe04407a93759000cfc5a1eb57d29973c9f2bf985757b15eaee828cc5761d0541d269de4cc6e85a3228b55cb0776657a0846b6adce75dd5946d21d595fd86107359ed3a8eab11ffa216928f943663eadf0ab933b33307047d79d750f6b8402d55a6f1b4f2a4ca8e0682f44a872c48dcb05ff16ba2a9d6113bfc1decbb2b3b7e017482489301a05184c17cb43a6e9d5d877c6211c1dcbc0331848112fc5b96689573fd53d57d6d22bab8de7c6f168f7efb46dcbb9f2a82a5b8ffcf4ccc1cb18ee55f8c69c30530e2b0c38ae863e7d6930ce43a298759f4726fd71bf69a383404610809cb1abd4d9ed9f63f1faaf793d6da954e208a3216691bd52b976569c2d9ec2af3290cd768ff786522ce9ac4727608826053156baf265dd865bbd324bd8c2d89c92055e46124380ce657460d1cb0e33af9ff8d579ab5387ad383f04647f9180c09deffbaed003e7f057b9c1eb3e46d3fca29ab1e7052682a1a95cb1ca7ea3201db35333dde3ef13945a9a0d0634ecfc2c42823b07c6fa1f77a8d7a04cc4c7fae8ee136bc0d4199a3f014b2976190f7c431be9b00563a0cd82c0fb7c708c337f354a4d15b399803df880a8182329cfa5966ea4b733a5eed90d08dbe43bfd8eb4d1059b2f5e02bdc21428ec4f7917b384297295965e715c6e513abc3f0a95481ce6cc66964cc73a9375076a245a1fc63b670e8bf5e6c17531c878de19a024928ec17d2ecf25a6bf2c7967f810ec17bd56faf328f08ab4cd190e24469925237d3ea3ef389f663b2fc7e2fba0075217603d420ec5b3c29d9c11bb197ada2bd1424ace40526ffb6786dfbccd070ec6c2d664a4d1f715a9a314edfff264b89f467336d7036f182a41d51396deed2789dda78c44da57cb7b8211ce2ac1a8cf68bd9a793b7f6da24cc5cf9f2cc0d1dd8c384d0853ba1f0739863995a2ff4e974df1415b11177554702677388b62abc08f63ca8985ce5673499e8b8b5d46a6088c7cb97783463de7ad618afe1d9fdd6ed786382dcb91ec2f407b38491393219f43bd8b7895ed6515d9b5ad41fad374c75b068c01d70ce76bd65e9bd20b165ad66dc26bb5afe5af898bbaa077c908546559601411c9481729bb22df61c9d449f1d92a70b702f804dcc54152174480e2a06a21c7fc2d968fd3bb07200bc6a0f919e272d9e915c85166569eccd72f5c820212018dd4a24ad1ef4566227a80bad1c5e13749273ee655123de3311d7f728b056fd1f8ebf5e0f5c7f49efec823d130481fca0a95a4c94bd4a184c15cd952b2ff3e6fc71bbaf886010dbce126ec4940d6d3fa0b33c2f250a83aaaa70ab47d5868fdc6ec9da1b8bbbce0b05d45f5bd58ab31f1aeaea11ca56e534b2da915119cf6220ff7a8899b7538fd3d37f18170f27abfd60c540b2ee2fcc4f731de87576557df529be00a7ed1601df5b8bbaf43fa29b066dfeadb49c2277939c2751e69ee74d449ae14a8fed9a3c260f99ea7659a6220745f27d6b224127410db588f48cd448899dad89f1a2afb6a6a88a493e33903a83ec58d6ec9b6980f436dff9722555f7f4bf01b9f0ac998ce67a6e702e04d69c2a2dad6102f4c8079bfa9f8aba2f7d61e11eb91dc1d8b6ebdb67045eef2701ed28b3e30bc366adcda9f01cc8229e2b448e9bf7f000505cbc77760b04f555098c783e0ac4f148f9dbe94f648942a3e729784bb1f868e83b05b1b2ae1324d150486ac11eae1278de653db051b0a35dc4b2231cb8f131bba81d5f369980d6f0c8af4b9e7c7b2d54297ce35dd050d277a01d1eed2199ec042f2e609f7dd677af5ca05f17ac3d164a2932650779efca141b6ae015d0204183584e747f440ad32222a4ba29f502f04d45a2bb058934a20e73c90d193cefe7cb94d46cdc15c3a4ede05ee1e42aa1caaf87b0fec677015cbe72b7382267cddd5ed4205275391751bd31f3e621db39a520e5f85b23e602c7bb60c33a921f91ff5d1c64234650098bd30a1b1799d2959d07a334764266ff5c1f8ebaac71d0b4fbd1f08a153d5a778aac4d266bed86c1c4e3c869c3123fecdc45c7b38343f62d3a65aa27e4456ab3f927a0d4e3cd12a1c58ec224a8b4b86942fbdd3eff7fb93c87dd092727bcd7b6b00e5f02a21a50098bc070b4f5c761939f77bc12e216696adc9e7acfe8473a2c9f50ccb2d742fb98db5945fd8bbb5d10d58c3c21847e4d05f3ac110dfc46d690f75cab91d8e4b93bc475dace201f4b5730996b101f00603875aa088b703f4223e6196a10d56544a7a69f50b0d3beb866c2fec04c06041ddab3d616a3b32160d8ded7db94db518307c955be9982142ab2f9d4491dac64d89ef1623f677ea9bba3120a365125ecdaf33a5d2033cc60b2dbed3faba3afec73242ab4dfe1bfe77daf8ee9524f365a6b7051ca676c3205fe04c5a0c1975556727d8244c647a78c732fd7d846313d33af9f80ee9f501e60ea9a8295e87a948231576dc902fb636eaf56680a8a82a64e10623a5f62c7095a7bcf529ce1565918663cf3f4c89f28a775f876de86f4e1da6f4ce1f2a7d60e938c379e8411f70c61e2b87acd5d3cf9672821d93a2d3308d4b596489fb4f58bc5d488e700aa29c916344eef8338aaf236cfbb90b1944c3b50d429f1d5f3e6554555599faacf6bc6e3dff971370cfefa575a1b3ae72b9ba4d06d26d9711b773b22248828f6a2634af74b7f047e8992a6585f9b428b3f60b6aa8271ef9e4daf9fc4e1b70aa2bf92341ba8685684b5b8b57887cefe3a786082d73c3f40feb3bd512a3e5781efed8ec08eb37b112bb26bb91f483a5dbf852192a4200d28468edb7335af30361ecb363014abd73c4727524eb0f92f8b3285c2ff6354e9ee873b6041b4900a98c2599a7e443ca5a321e0bbaedfa20113270b7192558518e6e6328adbc36218598c1d6675655c5056ce58d55d7240dfef504283321ba367f6715297a5ae90092fc2060f0d7783cc70f2e8a438ab04a14b9aedc8aec8636df27c29440cf27f1a19b42168c6a7d91b06afae2b19c8032d80c6f92dc0a8a26ab85720996dddf0a3c872495f18437218997da8e0348174ee3cebd8f0d34d6c0154e1a4c87c1ff3eb1df41687e3b84ba82b45bee78583c70622968006e3a5f002570827818dcc7408b4e694c93a93e942b04bbd8eaeab4b31190a54e0a3b1498d528fdb580cf0e13c27efe46b29be06d3cb0a795509f1416fc3c6d9203cbc197975a3d896c324345a8f5cf60893fe57a912aed28f7c9da828f227fa292a9bcd57ced5483f9a402045d1e2044f033e8df822293d1162e90e8b352e5214ec02a7bb883ddd19ca7d8225497dfe01d07b8576e7844ba8cb936aa63830f72491d16e3446360eb9df162b034377f598df9fc91662c74f9b017b1398519c08024974fc8bcf9a73502ea77cb0a2d9e807cdfe0075a7d8b4ebe634a10a62b9f7a6e677230dc6ad8ab25c420a67a0dc4bbecbffc49e82056660d8b5aaec2c1b1e7c30346b85367eb24c8472257a6bb9a7eec086536a67fb14114f4061a55703236c6b835036a4972db03d87fb2f4f1d01ca22e7fc8710fd093475118150be71e73b8de8980036b0b483298f8d7d0699d0f1ebee50398127a29f27cac21199cc5e855c6f22cdce1e9f552ab41351c9a94a4b4b2034b34aa382cb985feb83fd95d94928487a387b3a0a6119b0d9a3c5ff9357982982432733cd8efb5c1e60a2d90231102a7d81be9c96db0fef55e4bd4fc4fdf32bc509d7b68dfed1570a5328cecfb0a1f51d8d49264cb445a9ae846639cb8e3ee54f5beb2d1f18928d102c2b5972e70a4d7959fdd799f4412925afb779330e70ace6fb2b29b85d37e9732cb3a6d4283e126d040c76a2b434f8ee64c15e6b9d0aefd791acfc4526a13dcb3dfdd892421695fad48011b2bb05be0db2c0357ddbb76b942b231395c11e31859fdfb1dbab788d9865a8394a456671f54e95b458445a81fcf50dcbd7239b8490c308ade889f190b54c41e07878a972a30108f240267db5ae77c0bc2f475f6b6825f7b10398a284b5eb3551b1f6d2f6a3737010ae344353e6ddd30d515301c038a598cb401638cdb0060f4607a6bbaddf9c51c0ac9129f08c37249bc0f89144bafba8e12ec29c54ab728af0c67881a6b4dc65fceee199c322fa719fcb22a5f38d0b9fcff557f46f1e05e6a9328bb7aed0c64d78bdcd22fe0dc36114353aeb103c896d1fb581ebcf5298095b47f3289510fc370c77362e96139026e56a08021b75cf80983437b9f26a7ca907d6c0abc5b4a7fa2a799c1a425163e23b7f6e90f8f95da40d0243cfabaf471839cc95cee02c29343cedd9e73c2852c127ed66340636e398ca1d611430f96b145a50a8871da4b9e26dfb8e1a7757c833c1a3f133298fdd56cb5965de555bc307cffc2909fa7b31dc0105cf426c0d7c7368a6024c596d0a9fb5aded28b3755f5d8f43e336087ecfbd4b0bf1859f37f00071f7c1898d8fbdfd45ba109d9ec0eae40b7fd4f13593b84be6d8fd55ec229b322ab6a0dbbb882330f9f07b40b085475054f699201173c66b45d29a420dccaae6bc125b8c21454b39465074664b21680c5c195a538fcd6b59d3e4baba381d14ff55d7ad9397d2ac77593e2f73ee81f15a23c448c4bf4d89539a76feb9d82dfd326d66577fa36bd365f7e40d2727a9c55db73828ce14f2ab22efc970ed2df045df522961f13cd7acf8feee215e50eccbe3729b3eb3402f5b57cbdd82ead10ef29bb1bfe002a0bc30b0e98acc652977bf6f79e7f73f41f779a273fbc5410517a85051375d683dec640fb559c72926787533280b084037fc2da47bc984a681e061ce1747b2c6ce91f0aae411827b44a8763117755d49ffb44e535598d7e110b111b69e43c08107e253e12425a72e81e5a77ccc1ee46d34447874bb3e95adf4b61a3cbd5128954f532fad8fe43d70dd6dfa1a9b2ab83e5d45880cbb5ba113442dd590b4a46535c3a5d1b51a75c4efd4ce72043af7344bce2d1c79a5a75242076b7243f4e6b68f0174c487be4c7fc7e0b006b6255fbb2b0e195780db06fd8fc6492fb11a941608db3bc4ffcf43571b2f2dffa1e2d161472dcc6b5e7bc2ab1fa7347bda036e6ba6a0d2ce99cd982f561496070802871e93b598b9080ffa0e4c6b067cd71f274dd30204c0574ab5ed9af47f08df7b3911b2f6967e7919d24c0458d23b0223252913fc510dc879741fbccd65f61f50bc340bf53d33024a841db5f12f3209e6f88b2b745daf3e7d71c94c496900de2240cba7fd95f4b214ed1d3f6057c59dce5daac000644a77ccb860a730d02320a97070a1d8399d39005cccd48db89c923b08ed90869af90c589aa91a32703222dc1c90b28038060a0c5fa80d84c0d1b397417cf20e31e9c6286e1e84ef67a6f59cd52b8ad55a2424c6cd948e9257c18aa0d5d8511469ee519171f6e4f792be91ecef4a5766c0e005f143db6fe949c266dc797b36dfa32f5aaad40fa57a086a90430759317e27f6042d567b0f4304f6fe67c9848a28ba8c51d160b9e9a641940e08bf76fc12b1b87416ea3b3f818d135d509c5e491847ec27b406b3779975c4813eb6b37781c0927d81072c563fa013e9a5e339ac92f1db3985088aa8beef7c2bcb74a9e3bd1a60078abe84959a0e29f3a1b86f686d5d2bba3dae08b99f388f9808d62bb25153fc4b9a50ffe66a6de4589288b72b3b1fe62c15630c6ec999f48888f2c1c3446e21443f972dc26bdf6a266125648d483646d74e9c73125583a00ce5a38d84ed0d76b34a55f40c1580a98056c902cd4df48d658bb304acb72ee91d947c597c83fedfe4d083ade0dcba562841d4f42871ace296e1d1d68d16887bb9c2ac763d05721c24a9e188c3f60339723ec4d3846d3914489e558048f5293995aabc6def73b41ca8915e6d874b3a16bb85c8727ac5b950483c5af2c7e221726da160f0b89ef00e5e44a939f6271505e541b338150cbd96350add6b93626491f82ba640d4dcac90b5b63dc9f62324de5b834661ddcfbd242e50ad944ec0a192b5ebc3c59f6267a500348702aaf37648e2c4c75228b0d0b0624bf570512e8ff4c359ddc6fa8578f99a9b7f969692193e6c6fb06c8548dfa5c858ff592ed2a30681f8dce9c0bf30fe8841521a4261fe2cc8c417bf0b66b7244c8cb0ff4b45fa33fcac841367b60eff40ca24eb335babd5f86ae1eda3c5ee1677b50d3e4729a7c2dfbfc3f7cdf0516be78a09927a9d0bfbf3352cd4bd403ee57cda7d8f838ad1a3adb03125ebd77b196a5d0ecf2d83626576034652b343c0caf76baa8a9decdacded0742d01bfb3eee056381baa540e95de2d2aff626500d7fa8b88d60036ec6cf52356e5f1f9a8208e55aa17681f2f22827c662251783a760f33ea71fc3738b0ba824f7ceee124bf4a6da99e829cbaaedbad7779dea9d19e46715d7b443ebf2bf6672af8b191997827db6394d6034ed2bcbe16cd251d38af41cbb8189c483e6016b2f691ab0003795fc63d21642cdab828e2cea91535a6c2eacc1e8ae23cf33193dea336f2bc42a179ca392bbed47898a84b36f26cca5d22aa824f738a636b37483d4fa2fdcf5309000b327c141f5a1ab8340a066da94797f46de85ef8c936f385a8631bfec4a6a46aff186b9337eeb5953e71e1d7bc23e5cebcf8fec6e73a005eaee4d3209ddbf1bb406f18d0ddf3cc3149412aebcab8a40b8f328158f5966a17c60aede81c897b07721b9de19256454147af2c93f27e51ee891eb1fc02d85d834079ad26499fb26045541bfb3f39ea475fdfcc57b7b8b7789262461d1a7740a153a9266b3814ab88b0dd49d40633515eabe3cafe6352ac8c5bf1d5befc1b68578c8a22ed0d9e9750cbba25417bd7112bc378385e49b9cd8fb2e8b7a3a9a95a7de791d99d0afda5f853a0cb0a7130e3a031cbe177adc1f87aa394c784e71fc2fd57a1ac2950ae9f415e9b0677a8aba110008edb3055b5b2f12ee9afb654e02ded16152f194495194194d1ade3228ee94e9f810102f698790cc3b025f3dedfb93de80b72827dd4ec890dedb75f432504f4bd09b2c27708f70266a3746be8d3888a2a1cd24b63768f7259371233c97711266013790b03ee6aefed47c9a5f067af44c5934a97b774fbbf0a20e4ebde3e1a06e730a6b5213a235d489eed0c468b370cf7ccdeb26f96a67fe697baad4d2f04a0920a80d4309d78e5d3f2f371985502b04be644c42bfd3875168beee1dd9304d46c45811baee0db2abffc5574ee262c70d17954d0c15f2532085e56bbfde4a612a384f0b3748997482e159cb405a68729d737a31f7928f68e93dce6e8a56773860576eea8faebd1717f5b40ef56ef15ebc0524423559ec3d613581521d376d9f07344ffa961fb3eeef3a12da4974b62a16f03d0984544fa478623f39a6d4e531e0c1004d1abea3b1dd5e5a6c4b6911bc020e41f9d4bef3612d478cb9d03444726d6cdb16ce55eca25e73951e187e03f7a9c549d9de9005a23622dc1aa4c2e33c62530d8a556497593893b2f4fab8617c4262e0d1d8f8c84cddb94685c8b7b0d096b032c97d0db830cf0a9fb115f4337ccd3c6acb0b3d1434355d54c69bdf290fd26333d13f5cf99f3299a6106e2fe45871b6637a17278ef39304635a14bd53f059900f4fb0649ba720b5f2758543ff0d7970b922edecf5e3afcbfccf7e34f674699f33f91e5ec95868a3cd0c7e459978a746c61510175f46b9037bf00ba8fe9b511e892bb63f65d911e5fc9cb7b571234e1785bfd40c7a6ed97758e9e28dce6bff3dd71d076167756cfad51abd7421733e3493b8f8e82764061536fc71c41a4c186eec77ec5e7d9a516a2df24482fd42743e7d68f0268dd85590d864265e6820dbbb74e7439dcbfd77d600c61c144a2b4015f28083a13da3b4d92c00584fabb0171c7c0215996e7af8a687f41fa0bea55e42fdc10e29f5c6870bfe871f5b17c323e021fc33a178799f439821cd8189accc5534f45177f072f9eb1f52e3df91e805a2b0a5be4bbe5b76496f1930e17138d94566a963a1794494c6ab4a2b7a17562bdab1795d8922af8e3af2143c0e6afeb3950067566e2ea04f21f502ec9e7b58a135541de0119f6071ac5855f2c418d9292a3d346b70c859715a84c7e78e2b4196f6d40198e59145177df1db7b9f47c9e040d786654d86dd1b75183363da00d5f4e4847102f90391273bf0b0d6ba978b4f709f24b7fb7a03b61eb44b7284faec4ef18c8908b2728e5dd69ce5eb824b87cdefb4bfd7ddb5cc447930e07365377d6c8f0a96fa72b37e37dae1597dea746cd3d8d7c07fccf53ce8c5848e68c1c658bbac0846053ac0610494ef9dd510cb1d0d885159f7e8574cdee9d6c43341076538115a7e064a70bde8cdc81c306ab1f1a3d3fcedc642239a59d3dce02604b9b9a7233bf180ba6215188bfe4d4d88d5ef3e82872ec622153442859d3725a2ef872ada88c80ad84f5b11e83eb04a897aef5065046a71df82882c120abda22b669cf514d4b7e44c4baaf67f850a4df09cc49ec9592a39d4aad6d72998bade8aebef647ecdc1900fc46ae975c23449b51729584a263f08d0d28660f15ab5d67ee456000c97e9c7e34366eb00d257a55175b3845ee1f39ad6a46d729442ed0036872d8974563c5038e84262ad34ea7fa7752bb0deca650a0f978b67b5d7772b4e8d524ac8bea990072bfc8ae8d011e9970ff81cadaa7d44d250f02b8021aba3a434f6eb95c09bc7ae566e132535efbb220981f3e0388c59c6d448182d027a18ca424c230d24e68fad3a267129a525314977d1192fc522bcb4596a05f9caa4e495affb9c992c227e19714189d5b144f001cb52c6c7b69a10c7e9dd300386187683f33ad8dbd27c5a51d74b3a228c9e658fbf1a957a47f0bb953d9bb4f4f1d1af0e9a1faedc5e1e18e93a2df2de3c012d9f427462b0305209ef85438026f9532408dad9317c951b67c532297a3ed5bb1a423c9827969412f47a02b4f60da315cfe8d23100fa783f953646e0df18fdddd58111a12659d8c2de5edf73da9e9ad2ca26ce53855553905bf8b475732b56ccae17083d669d922c9e34083e8c1dbc965dd15b1012312620d6b23b6ba26f9a8885a254078dd112540a2d3075930b2cc5af700e214e255af7d62b7bea30990f8749e31060067f20eb04f9ad5d73e7fe2d8b410e6cd56163a6ad8f19d66cbc8d86b338ecf3cc00ab8d0625b1d2fb632b06ec3878b258f1cff2aedbe63bd45e1674b6e3465c5afb9ecaf4a0e889567f89013faa6e95ddee1e1d592419e459b78cb522d6db7510d68237c9f7ae75a1c1f47c387757487ce9acdb554d01bfc8dd68cb45ecd971c92c526007624bd37734a264369324a24fa5b4cb9b1b8f22089e09f948514fa9fa57d286a562382968547d6559a110e112ead6c732d26050330f7b7aa7e7f48ad2f0c778e8b35788f4b2be6cff3f4a843e6d78c04becdc4fcacd901583c61d5a71662e13fbc04c165c0af4752ceab0336ac6adc96dc19948fe93bdc393e685378216524a37bacf3cf1a9498b8ea17ef8a4a290fc7eb84c108773824dbaf4d0913ad21027ea1c83989058e11d127d012f259341e4c6f01deb988b7c48891c0c145b09744699f5aedb53f57557ef3775424d1709ed119219314bf26a536360a6fe94c07a9b1674bb9e4c2d7d76ae92a5061593a7ece1fff08cc798e5a473d4d6b2a9131a94ce6c4a386e440a4ef1725ed40279a68f9d0b0b26010b32895d4e72972d86f6e3026d3b0f21b9cc701486873d7d76156c89409b8a0f1aac4070a38330ac3058d7d152476ead50099583d3dfc4d15c49601f1ef9e16dd31c6bf1171042db3d95aa001d14eb3d870c60f33980c1480dc4e1f2d14e2141e417dfc7dd41aec05e4f2a968272f1fa5a670ab14873f7cf35de077872c43f4ffc4d6c8429fb3c225618164199117165d50619d696015fc627819b481f6af8bd23e2c7c6eb65d59f622529a84031e92dbf6b8b1ce7be4423dbf6db385a94783eba6f4d9536cffaaf1542dfec423c2ef8f4ca1693cfa27cfccfa852f3e43849fee325fac2e1a5c9be8b4f1036e4efb96cbc0f8683cf36fa1f123e960e6ee693c87d80bfcdfeeadc56fae56c3268e7671c3ec362cb9d3648c04fe40e476daf7723e7fe32a45a2ea8b1b282fa6cfcf8fb1d28f8ac80fd088d03570349b7bc79b380108c940bae6d0e38de77552ca300402d5e0e324dab54dff473a1adf960cfad870c9bdc2f7320bb1aad9fac35c30f42c009d0c4746aa8574592ca678e683b0509a011df46c01fd811990f026b560ace93a42a5b6aa703044967aa7dd3e3f90564f9ae3716c9b547b5d4a59ff6e1f2b40956690d1dcbc4553bb25d532d7f7ea5d54b4015a1c67e085e6038b50a8172e1edff6aaab7276b4496dadc2c6aa0948fea99280beb394314b5c2dfa63cf40ca24ec1935c8ed2160a6efb846f23b9453f9d7f24be1abb5437f7a6686a94f3582bc74bb8ca7ce447791abb45479d68e9d613feb081d82591af8e7b8af483d03eda9332e1440fa6611d2f685543f7d3a81be4093cb4d95d35cde50e2be3ff2785ec1a8a2403afd3887144e2eae29360575c9f219d8130092115f0a6f9e78cfb3267bdf999003e79954289228e5fab2184dee05cc90785eaeec4076ac1b010af95817be2c02f5e3eabe25dbc4a02859762d66188ba417ff86558f8752b0bd0f0aa147e505bbc2486a6ea5eefd42f886473af2ffce2b3cbd8138a8cfcccca9dcb2b2adc21afbe3e185f032db2dad162f158b62e34f09e883fef773440ba5c053e126da1106705d05aa8e8db0c75e5b0b7140c1894e4053b5ed08903e76f17e9c2e54cfe466a121ec96482f39ee3c67a670ba2c41839c592ceafb30b632e784ce24516fbd4b03c0469d5aa4a42159f16a8d1d536386b2271da86235341e3740f84af1714008d1aa78b9e0afa9e50929c83851c121c430a61ebaeea9528387d18c0a150435859662da64778cfc6364c0a261dfa3caa941011badf5f415458331220d7c125d5b3c27f27722178f147c80ed90efcea68824ad84ebc3311bd81a9fc2d8875d1d44c88008e57287f66d72b16553b74336b2047e75571eda2cab994ff486b824ad21308894f4159ab3bc7d7508a078e5353c2f87ffd6d318544915bef47d64ce24fde6920eecb74d3771767b9e5edbe54bc77c6c832fe3642df8b1ae50568603c58be50fc4e0e1a2650bb898450ad93df20779a3ddebedccc683e6d19b70dcba5519a3c373785b10af4524521d0f67316ce2bdc1a5f20a505f8ee2653b44bd3b484dd597d222dd87f446019d6d9bc64ef79bb2d958bf8e7b75fdbdd58b89138ee7543723dfaad57255837d634a80e2c9bdaf0a49c53a5a7086f56ce92a6b0cad19e7254b2e9bfe644934a23912d6be20806da9207823bc0569932ea7d3fee12e18447c1f2a9b9400a292b9bdbac6146c262345cd1becbef5f4164af147a60748b42b42ba3aebb01ccbc34c35f8de7bb7974f010c5096aa29e4969194278e56a799799a4f3d2c14d89e9989371c92aae40ba0b9c42bf1d83c3db149e5fc8a805cd083bd76afb23b2b080aed39f07896efa4c29b05d97e97fc05e0e3b55b343fe982b74b11409a8bb4f3d86c9186243ff9ed200617ec457582341fcc4776b2cfadd84c260ca3e0be79ea11eeb212f2469ec9d99fcba43ec6a01e1b5eb90f1b82a7a129540fc70747e15c618589247c220303307be7742880c7efeb7545d6a790fdc6ea48d8bb6db711b0cef07823fbf0531a9dcd2f86c38c212e1f4103e6ee2fb7bbdf4a4466d314dcef427c231ab375a2fa9b56ce39c0736e9b2c3eb58b74670622a6a6ab0aa0416dfd73e3ba0027a7ae36362ed7dbeb3789ec315b78f62aab97ea1b5078cc93bed48e8e5cf787760acf077a1b47a487eacc4ff0efe7ae07e00d65f91fe8d3af61c5d0ff17126417f8ee58aba808dd227c1203596c89b188395de1893ca86cec10175f3d5c55012f0ccf6e64a407e147ce234929a1976102aab8e2e25ee2ea175a6bd3b9f51437f3d63bfcfcfbc4ce0cbe72f0d1a7724549200dbd5979009213b695026adc2e269a1a5a502ca883cba1d9d3f54f7e6c262a9113a3c4a8d9c31733b6ed98d7510649d3cd9bc11f1a7c40e008a42d1a8a8b9282967e03c716d8ef6dc29d1da2b57f6f54e5bedc4f6e6a4ab876ac6e7ffed08e539540844f1f1d1a2621818070349092787a739551b17915e587aa42c5ccf94156a1e01f93ecb81bee12ba0a4a51af1c07cb912b4440b477225de414f1b0a0bfdfb266aab08121a4381169d17387063c12ac37ddfd8d52fe68a4f7daea34ddc467f0898093a947b07c345a824ce57a8d1c0a93ee1ed8db4f40044bec1b726f1d635a870a06316752364e85ed6a85d2b79524e7e28617802b91978aeea5a6f60177af8cc80c90076487fa7e3fc1ed56a1c47f762fbc8c65a4aa758460afa88257981b51cc51db52d0eb2fc04894c5e1a2437ef841e3755a155c78bea6e63fcb2793c1d9d754f53c440c3d7993fe866e996ad3ac25fd770858f76a47986763aa39b73fce20e0105e2eb0dfd4a626e23e32e714b3eb39f65e46abaffd7dba7ace5e5ddef9e343e8284df6eab57a26f38469f8a9e784ca1518106c0316ec3b01df902e8a4ca174f2f119a88580378225c9d65503f1d534a20b381c4133063c3dd532f4304d435e30426215a172b26435ce3abde8b9287487b4ce27a524fa20c1ddc88aa786e42c3d230365edfeb9b0b873fe740fdee0a400b59892d2997789fcb46c08b096cb4dba2778e47d681a76d2f760c4568484022114f112e22f3210e1067adfb7ea72785a8d5bb1dfab9b79f2e5376bf378d8de9b542bd487fbfa166259d719ee8fab0b597a5bcc853fa5d38f393ab6e8f739e97cf10b1f3e79c1ca191bc1e8f084e2a7d70eba070f3b5662eb8fd17ab7a2b713c4038d18645888e0d04d8a85d7831ad81e20b151d81e6aa110732bc85d3a99b17a988269a3198d7b32d79c7fd54291abe2313e0c89200c753ffe2a181909a1a3ce66b2c0e4d4f77a875de1fb72ac19ba9b8b27399a47f5b79ffad91d99665a907edc125ed711236d64e5edae6966915c60121055e65245e1b07c698b1ae55571473d8e2df7daf6ea715a41d88e4324e14f690071681d59984bb781d48a014d2628c9c9b33f6cbd00467313ba3a843b2110db4a30d688ba7c5621530fa0bc7bd16473656ee3b7ba48c3281c28ff65f2844d654e431dd42ae66562c0517c14ff7119239f185f948af6d7b8e694d54b62cfd719032ecd18b1bdd91bc0cd6c135cbb62be763e113d079b37d472e9974e855f8e1288a9dc3d3098e8c3b20839d31bb655945b73594cb84c632b48fdbb52d4ad521422948e9d8e1d5a22a5e50b4cf3d06f0c80fe4cb34c5863f41db27c2dd908346452d1245b1500616a679d9f5854bef226abdf6fd36400527dbafd8a9b2220ff1bea08ab193598910ec0b3fbba38f0b0ae73268ae0de21ef59f322f966e65e88d32fabf35fa5c76e8f4645214c0ce2231ce2a1eee1cc09fbc2cc4d482f95edd5ef1f63c6113ae2703eb585b461651177d23aea576b5ea9792872bc057ca5b7fe8ac0ef12406c3e5acaa483fc397001dbb7eaa884699b0995ad63723397935d5a3e8e8f20525fb37e5230e5bf33b92719a7b71d406b781e852407a144027db7b6b5d5ae1a7b53f7bf3c988cb25c41ef592c7bdf37c7f83cd2477e290e9487bfe88ebf511655f353a3f5417f693c29c38b2581d6654f38b20e0c29882fa3f48b58beea3c069e529e6e509fba857d4d7d1a16d2b7a94ebd3f304f34448bd3af2ef041193bd8c8b17b3475f9e2d8c9f5bdfb189ccb26bd4bc13cf67e5e0777b57a8b923fb01a02c0f6534e3bb53257d88f9638695f3d0bf143a9bbe146b11e8ff7d82491444781de38a3ffff3e1ff3285df78e97f2bf1de9e1834ffa456a07c463a3ce9792410712996d4705a003af1a085b89dfab351afb43215df7d9eed1e521bd88f22db43cd336d3a60d35a89875dde5311712fed88cb7942a0b3c88d0a4fb677438b029489f68e27affa9be7916ca4a530183b3a92683bd68fc7ad2967ca8543bf8cbe625a97675e737754d948cde10a5db7b670065602be1d3291ae39d0976e1839a3adae60beb1d73c10bc464d5e378d614ae22d90e19c7e02c97a5eac499a5a4b676e50fead1e7a1e1be693f173722029b044fb5710cbd127eeca9b474dbd0141bd325e6d59674f4f991b8aa8990356289b0a291e1ba0bf924060288d8af1faedfcab3a94ed11c20c1cfed3ed2280f4edc77c46e2969bf14e0b23c33bc58942fcfdf8818fdaba81481db1e08593afb6b28a39db7ce1acebe364b875c00b1cdbffa3d7acd35eb141a71cd9f9321cb6bf73c2e1ee9fea7a5a7a5a25a876e6b0dd5e92cc217225e82b380a0b5b843ca8d6bc48be1c57cb293dc46627f1312cd39b90ceb11360cb6144024e8a216aefe4c6f5eeefb94ceb7b874f3145ff21adb9781263c59d2e7fff81bf0c4d05fc71c4b599e2738a2601b47e4f6c6175f45507d08dd29b2e3251cf1a85b2bd0bb9997538f8823454298f8af407289cf6bb913c3e1fde97fcc26d6f3bea72abfe022f7d48a36b994e7f64207a1abc3d9aca431f8b505f4e584a3ea19a6d72ff17c86223e4b2f1979206e0b82bf25e7600aa7580363b504e4c966e30768b2ef56cc6d33c39e3ddf63121f67e7c662513f5d21db1ea819617275fcf85c06c2482c20d298718b1760c2a7d22af5e77269e36afb9cc4b40e878cc29ba5d7c9e645289a85568085e220071bdae4e1294b243c9dc49e36a96c58c46835bd9f721deb965169311f2675834c4e3d46a2c25f16eb31b7f5a1637f78c0fc839369cfab855aa536be9e201cead7ec7ea80fb8a62ccf8cf98506a945207a1bf897dc67b678d12ec614d9041e9c25703c24bde97b82a88108fdeea179d00494e8782d12efd5f2f1e1410413cbbe012e7250a6112ac85406afd532e6b0dec615a7241ab47241a9f79906fe25fc75b41e5b574d7f3f6fd6d89206a5708603295587f2ec4d3fbc4dc222b16f7bd92a7805862ee1fdaa0eb74a64d9a1c1d6224ae48c7643d9fcb01a8321ff74519bff2661ac7a6b0367f341cf2cd6470fe00d318f5b91c5bc4d0e71776608938baf39d92f9d75daf834ca909ccfd28db9b5c459e59da0dfabf9c7cc925af5b3a76425c018100b61cf4c85d59996b79d6301628763bd36a5ef0c0a73596b9bfb951690f4b3bc470c4e94b31f59fd06f63361d0f30a255064a774b53bc3f5b20c9885fca20ce164d8bd26525e399937916e0c05a90084127a1a7d6ea54384c6f106315c63abff02c83b77cd57e153cd0de96b1b957bc90b8527908e52ac0fcb0d30a5fccc2993eebdfb446bcaae365f9578088de229fa0f20e6691509c8a84d1f147c28a46ddc24c4be0f13ce3e3b98fa399605a4cb1528decc9363e83b3dd0d9e9811b207a6890614ce4daaaac9d1524bb61284e018dbea9d101d18f9e7e2f62ffb221802c6777b033f672b74a85c637d4d033979e81e5544fc393c7eea502ae7fe6b2d9ad74f5257a6ef9a52c6fedc379a99f4cf3c20c6ffc94cd0f98c6e15d904c596c283d5b4ca737b8f23da9f1ce579fc6352dbdf82c5f78f4cd3ca9ef3bf4f40dab5a6e6a97ba5579ca20591b0365169647bf57f9c31108de3850ed0098f529e25a11a82037587d63d74f0a13a41c54dd32d670affc131e3e8f8c283c570d6dcb5db5e92ed7959b1a5b1025a5fc81b4de5d22ab4966911e2469a590295cd50143f2801e3602829d8916ccdf193d388d33cc0dbf519e697540a0b72e269d75e34c78a0ef8e630054b6a2bf23e72844e24132c8057af12937a0229ff094e13554b9908ad9631c0a57a4a5d29ed0e4cfdeeface410bf592153c298fb72cba7fda9af00d5677a34814b8db74525593ba38552a6e28a39aba4401b3fa8ba886ab0bf036edc46095ccdb21d507c343c555d84baca3520b9c90d2fb294ce48c937fc278aeda4f561c0b735b36ebbd9183f7a28ded3572c0d6dd2da8d1fd6a92c5d546286dfb140340410e929b3d86828541f8efdf0cd4b0dc57c340c18456430ee7f9a3b2a736a32a174484f5e6a9146791017a2d6846fede6aa2f873f97b7ef677fc32dae227016e26d2f8794e89a4fec9bd3cf515665e2a4e4a93c01b989a3033829a7bbc660dfd9a3f527eb2ef6a0b7148c2b10bfc8df49919c8f4cfec51f7a2983354445dc254b594e9ddeef4d51731b1d3cda2e45fb60bb15e0a5b1e050f3dadb0833eb4662a65ba4bf32558bb2dc490cb7bfbfc7caa3f14beafefab81eca343fd62368ef6e1057b601f0511ad0feac3f85716071fb16d6627939b6c2bf461a2e7d94ec385e5e06d51d14818163773a24689829fb60013618283afe8bb7a0b18d6e4d17645a0f1177ebe3f416d993e8085fe36fbdf5f7e6d285f8d3843ed1f2a15a612a2fe9c3941863000cdd2d24d5c17ece258aee338c0048fde688010c7cb74899deb22ebb8e78a06d3ea2c200f17f22c88a8ea1e526d3ca7ee63704785b4a1cb2ca65e2ef0931c026860d3eca9d0a3c2678017f020a5a822de67b7c7aa374a334d0f4890fefc9526d1871d47f871f3a3c50169f3c70b2038d2cc4a0411a04ecea5530b3a20faf94f86f6f7f98531fc870953e7ee5a4a362eaa921eb621f0551f38599e23c815e7ffe3bc64ebd5561ed295cdabf7b6644025b8487a91136d84dccd7396a7164624a2bb955deee3afd6a99e8202606f9baa884b28a030e6c9a69f6372281ee3009b7c2e61aa86a7a5adafcf6843fd028bdecee69e83e12227f38879a3ad7b67263f99ab505f78b9602a23ff230c6a949068cdb4180e28fd0d80058288cdcbbf13607624c408e54db86d0e578fcbf2e54c27794ecfa4118661020757ecc80d3ba071e7f546fc73a9557f16b025e6e82161dc61ff3fb356240f9c39811bd28784b27fc33408e3cc52eefc38001077f463852595f158484eb2194842ab7b4eeb8969a77949aedb35e44b6daa06f266b2ae938e7a79db5f8cdc679f9ef7b01110158c977abf0b300e8f5e327a77a1d2013d3d9377b95cfc12607e154e7a22115259609b156f4b4ca1c1c5252385e16923c8cfe1edfd33d6a41ef94fee6341b800a013140f5b787b8df9d7feecb69ccd8d0ada6c3275f59439b792bf3baae562255981801a9042a7ec1137b3e045f37a30a07276bd4be5e23eab77068e966027a29672fbbafcf6ac668decd51a27b06bb1871ebea9fdcca6ff897ca1ddb086d65d9b1d9ee25dc8a5d6e047b2e35b9c7df4bc5bae1166140798dd5422880e20a168db12679108ed4c1b7f304ae54eee8794e8d688865400011be5a01876c66601b0549cb232bb725ef53ff45cb7d083286c06db94dda9df47a95277de4a8425fd484d92c0d1b30cb07f36733fdb9f23ad8bdfefc138f23cfd50033692943de46b5764b0cd1d6905e93365265507ad22e5fe948b98aad7943ba14ff564364a3099744d007294dd78a19397efbdf3c371cddf5ca46b181c97f50a126617f5551ea9c068834ba17e9d0271c09c22b9e5ca64a97f779694d2d762fcc23bb2133952eb8517f91f81c062a3a7447bef2128db5457fe576571b1c59308630edd9e6282a5504796840312cf66734d45ddedf31d5f3a6e67041e89ad0a453504c3522db33694088bab8dd8277d11036c57395a0a2fe6492c4820948ba72c1eb7553d43ee4534decc497519ed439d1a1c70ad80f9bae05c4141abea7d5b163c6e4e1db45edd8f3caa53c1b1e2f02083b9fef62c2cca74bae39ab1a7bccdff0e8adef5c32a33f42c41bd7cf2017788feae92d6daf489caf85d94520ee622e9afc07f0de50d08277204d09e1cce6b9c0100153c3d6fc59122622711843dbf5add0e2ec2744e5116034847aef9c640942525cb2481e2768ba9917c62556f71ee565339c681de7450071b4711561a9871126e03d3cdf4419480f3d087e26ed7f9f71b381fd196ae07f9a90de4ef4b701b79a5f22385d22c58ea67d75f015ad40779c742758393458af05bd86b3b8203e292374fcf63f754493cb2aeabed1772d7b48bf0d06c8f9f609246c447f6ec7de2d79afad306efa80d177ff721a0a41f5f8d44869b6c3fea40b77f23585f9b1d65829da9afb356870d5a337c80cbc16064f01f057bf0febacc692ab44045b92ada1cdb16a59a33562e5cb74bad0b964680151cf6391bec50109010e438e1dd41a330a8a156e4379a6fa95cb594840288258e476c39539bd237d69909bb64c06368e98fca2802fb452c9b58a4c601ba3aaa6358864d8db85f1cd5fa17735c92fd529f045438c280c108f537b6c3c74e22712cd9f067b576d8a6f5bf55de0eb7dfd1776b9f551010efc7168a34d9e41436b7d84a20339041aea215cd1a5ab0ea634f7caddcbcbab1f9e497c39fb891f7f7f450cbe57fa0ae600f5dede16c5f5455b7f68b37d7e9dc00c971010afbe81d815e6d799f500cc66550b80511b17108018dda3c248efef4d60abea8c6b4b92e70f6f433cf5d9bd6939202d34d7a763804f709c7de05edf812fdd3fc4d58c0603d253366ae4bb21cb0ba0b398d2715bb3e80cd2679a53b404b7970c32432797c0366aeff72d94c22753fbf7885c22db74ce39a2cea91ede72cb9dd6215ddd0547acc9fd57c545722145bd6caacb29f20c3bb850bdd4a9ed799ff9b5eb8f6f077ae0bfb730e9aab46bed3e96448f7dc4bcfc3286c5d3922bcff75e056de61f9df72c490be4a83c45e0e0b62f54b9a3c88d4ac8489ad4ab50f6af2698574d6f093e0243a2dc2155ef17c1c01be674f50ec2088c4bec888a4023cea758b5f74c24722ed47759389ad61421c5002969efea2632495e7159722c7957e1bc9b38226b1ca622d914b399d86e9cb3d38b82e87545e28a8baada10a29c43625c1a49ed9b748b0dc9617d0fffdf14313a2b2cb5c7f407e4e5d008788929ff1753c1a16069a8bf8ec4102f2ad023539b56fdcfa2f878a5f6a9f5506a930f30ce1421558735528f259e77f96e89d6fee9bba0231083ad7b1d54e221c5fb85796dd84ee01cb7af2ca675b0c618a3d91f8aa8251bb5991833010cd439a14f214829bda1b995aaf3ab4323692a43362d48573b4cb22d9ae3a52c2b8ed97a5f3332d35908c94a9419f1e98799eb4cb93693e50785d282a23d0d7e5ed863ca953602d2917e0009d51633fe1d0096315070e676455acedd973ef1b71ad61f0271df84c2d45b833c7c829401ec331db71c8f8499c7f5393565f7729c28dfacae0b0f736c46bdc99da5aafbf7324d2509e2f81c74cf3d01fae5361f65b421491e0ca129f806f072caf9db80d0bae3af94e6181a35259e8f189fe302fe4079a63d51b33af761f66ec5f870cd24bc81fe3ecbb26bd4c00b0a57b64f5148e7ae30c62f60e85de940e2148f60dd042bd975ec36213aeb80e6db3aef71b174ea8ea79d095b9e37690ec70d118228df4ad0acd04c086b7529a61bc919faf2b50d81be495ee9a5112ec5b2a9fe9b05c1df9b565efcc709f23314bb868a245070b7edc2f0e4b5e4f896c789a8297220041e7871227ac18051070f6de0613729a3d8e17bac1268fb128c1e5550b39f66bfab9819736a1aa8cea8b595d5f0c78e184125af7518ef482f15a37befbffb5500b442e41379dde5a5b49475428ab62ff670e0d6ba55629cafc7bf2ad5cd8bd7d2fd31e45444bfb6bc8acc1d1554f3f1e969c24248c4bc412610597676e24eabb7e4f68045bd6b7b351b427a4b616c766b06e3cade8d79468d377612a87132151f0d289657838c4c03f2768309b245f1382c3c00e551c4ed09d480b95a502b37179b498124e55c00463b9ed44cad544ee0c5c35254f4fd6c8b0d020cc1a1ec6a1596b7f4438db728f1c3ee3833a808ebf59ffc918896e743cd43aa787fed0dabb2b581b3585d89f04c1376e8ed6f70859f7b9c7dad64f388787979eee8d745309e5b77202dd0dadc11435740e6a1da0e8ee096578f827b123be8e570053e3b674c2ceb392deccee2ecc111d075f1fa9c4306520a753070cc696dfcf77371964a687c916a03f77a95e0fe61346810cb5d31a27068ed94da53fc067ee3b30e0f74d95ec698972401f66abd5568bb2d1b1d66362c311f7c1481cb5140bf291e6667d3a8955580f66a7b4bc6a4ad7568e9214fe87ba1335964f58f7a62ecf0d31fd074e533cd73377a4cae728cf1d22ae91db5925a94b3e4a398a515025d0f0aa2e264c81ce1a0c8c908f98272dd53bbedc1ab37b370f1788599c1d40cec2f9dcf9d1c071a1aff18d8c968239011ab1aabe3a4d918c7cf1902bf657ae855d1a8c3badaeb743efd98b3e577e885ef2bbd8e5b7069280abec2cf50b33281c5b2f4d0bca8a277ed5d6cd9d15b5437d8bb0ca94f6bd2272537aacb03b3c531c7f513661acceb1f4207cc7b82a1d6417b38119b54a9cdb34caca43b9d7ed8d5e6543cb35e3e788c0afcd73f03adecede46ab74e16dd8ac1d6c376019d6852189e381c23663a9cacef1aaaffa9f48e58a9ce8ca73f9aeda8926f460d77ae3ff2e21430e1a8c23c19d51e29118c37967a360c02b1e62764956bef1388cc944076a360dae359a668f37efedb483ffd19404894eba60ea54ab793c3c5389fa738d6e2f2aa63d20e053b39f35c00a997d9ff791cc3da4cadea70dfac13e131a1b29a3ba2be2a7869e858fd041e9a1d0f3c1d045ce62248ceac11d5c1064287ee7407feea784f3fbc910eb59df84c79cd38d5cc51252f5bac5cfcd2b0a9a6c47378c4ab1c0f6333f7f5b8bf90695dc263e98382de71d859631aec81af60e9d2818f448d605021ca9f251993fab11dc2bbfbb37f457a74e80910e1c55cb227fff2bcdcceed7e7a54baf8c4d8a8754719fa00a263f170b04c28c5144b42f147337578e5b60c9148bd6b9e94a51424c4d440f111958caa3accd97adf262514e9c747b41fc381f87f6c54610cdfc8003cf989efef07b8a80d53135438cc73aa8a983d4f7266dc7f2b5eb1edc61f334d9f3e68a2bc4ec7d11dd1beb84c9a4b3b756b2d442cb7e154280454cf79aeeae0b65a0bfb3a43d1fa1c3cb658ef4d677603dd582aa418bf2dbd3d96375d79d048a85418f8f3022b288ccbbcfc2c7761236418b9904d4ff175af6893df44a724351ddd5d27032ce1069bbf5ac1eaa11833f808216232126aafdcd0e0c9c83b80cb80e8bbf5d4b592b32ecc05d32756f3a5f812b168e02a51c54f03eea856f0c11e11921d1c4d839d2d740d4de61b2935357404555211d07434b77db5eaa400a7021c1ebd3dfb7a88e0704827f70ea78995d0dacfafa35541152e45a221276f19f4205d60e5cae6fd55e958f87fde554550fec413a2ffc77e4725927f1c33a62b354cb256a2ab8cbc8a1b7908e9bc4f547b3f5d6b5232cb6fa21d068f5b189fc78c9b2d6bafad094dfb0574d2bb2fcfa38977366dfa2e836f58c9b821a7a8920c5703a0e255ace3b825b446d40b7a63246a4a70f5d14f5be4d5d7619c6061604b24493e29c963a5b57852a07549f9a95933a99367417b91c96b504e50a878c1ba9e21e507407faa1f733e45a420f4a6de8e7b5debffbde81fe148cebe2a6466f0aec529ba9f96bffa45ad18befe3d4d645ffe5ba56fb5321c0929cf5647863c418547b0311f90c9768463191c36e08a4cca55ef9433c83452e5c0bc2818c9dd8fa554767d283d59f618b5ba81d9875ac331f96c33ce5a32f9fe4c3e2fd7f286810492c933456d4e14dee569394a17057b51ae86b61122b55292972f6cd064a359ada21f0eefdffb30ce373c5f61900ea86f6f6030c36062e1ea1595633c23a66ea88d7e3e4748f75e8f46ff452c75701d03ffbb2e98dbad1c6d25f669a3071c6f3987d4a1a223c9095989dcda7b25ea37c45db55404deeabd9e7e544579cfaa544538d02c9ba42b627271559e2dd32b25f14d274080fb8d5a210812fb2d0a4c7b9813a8c91716a44d8c5c467663f4971929ea479cbb934bb3322766bf520ee3cbf5340944a3c0e0c8719d3d27ba086bf833c4dd93c61a257dc9804482283749e014be86135bfb1489fcd55ef17d939e9247df80e099751cfd1f34c02b55b6b222c606df8d2d65a410d72c7922cbbe39e9937c7ee84f709a7fa800c5279bdadb6d4744c0c8a9498d3e6ba624a460d4b89178dcfe3b6e3e07abcd29263e0feabd57a8838689f9946a42a59889bee6a8c239c46e8912bb5c984dc9d27a42927acafd70421cf2ab64c7474bac0e3e6e6ce4dc5ff030309cb87a466c9ab1818e0b3a2d4722203bae02f0bd6ed150eecaf228c45b520aa86ecfd4a99285c226047ef1f5167b99e7dba7b8e17087c899cf0512b28b9dff920376c925e82f1089579fe8967f5d5ee4d623f7749299c1f6e7a9477af4e17c64f1d36db7a45cbc40ce3b0a4ef106baf362ecf0b3b66481d591f67de8b012354719f1930a6742c3df318beff5bd14f01d6b8f05d24ddf30193c5ad961b5b0b17273fb5012bd1f6de811d9f56a1d017161444929312d46268013c10f40a8166b8d57417b8e20e249b7f6040aff6033149bcaf5248f7d3b4527457c3159afeab3ef8064038f924c7c5098e0d9424c44a9b86000ca9fd1fd326cf87c1bdcbbd47d79a3a1df61ca56bab16d7dfa95bce3c7a5986edd0d7d4b633f74c622d92ec126c1f7671073a1a5a58eadd3871cb0198c0314bb704544738d827c5f977e717cc7dfb10a70bf4f68c4c9be2017a856d8380a528c19d858ec7217eb61c4902272fbe7ba07ffb82687a43c4e221b1f38d3ff586cbf7be57314b0195efcec7e45fd5af28b97f0d00043de3c18053e6a5c503c8e8ddabd83574f4f49163a497c18d71346287b607d6c3c676d9f8ab723da112f0fdbfa314ce5459815ed99fc7dba5e0eda0441d72494531a6ad9e0e53ce0e2ff2675d4fdc2f9ea6249244d40566658f04d67bd692abbbbc71b64cf1195175c1faa50b39bda8727873e45cc7bc1ef8a2a1236a26b4f9698954fdc5c7ed733a632ca6b93f40fbc75ce6695e1246048bf640ff687e31c2d4fca90d14b4de8141542cad435e661ca5f9628d9bb51fb3317a6ba14d755840fdf582c92f6ce0567c65ee3b32aac4d05672483d93f69badfbd913529fbc1e8dc44c9e3d18c0ef287905e47ac7f954e88ed2ce85a980edc3ee630f9c9e14fe6efc33f44e09a2cfc8ed54eb47a37d6d8eff831b146f233efd3bf05383301401ee0af3ba791285d8064d9d7e8a066e454206470ac645c088e7781d91f2508feec9db2454bac51f422aed76c306dccda5318e4ad55b5963470aa89374f0c67674e29704256143e21d6944de1bd0a55385aafa9465a41bf8c0b2774db075ff4fc56d5d48d0dae34c5bf3dd20191cf3e54615fb55ad8d5107d255ed613bf27fae4dc06c4458ca994a452d52925d8e4898956df75a29e1ca057374856fd2404454fa165f92436475f1b061f5f3f92fb00b8103688a76976816b340eea0325e9b10b0754252a3826a251515a2a49a32c8e3a60b8f35f2c28c340392d8bdacfff7e86867929b0de5baf1300979c0ff5a26435334e8f6a6d29f32c400dedbde363a39c354cdbcc7009515af9d0e176362c76474e1a55f82f196965c2774dcfc4a61edc27d7675781641cdcc2915a623f6ed3fb6960db931a95fdfce11e35b2b2e3820971fad2572bc05cea6fd077653d7c0bac4696606a4f059a0c78eb5f34f82ea37c8c53ab52f4f7ffe620ffdfac330a74ceb90cc180bf467530d3fab5459ea4e609dd1d07b34c3cf102a567b04ad7fcba3fb1764f996dd08c62ef7e9fe4cebdfbfeb2567e55093c7b4acabd14aa0fa498239e0e1c0938fafe2877be530d53a49867cfaf25b1f60ad07720ce4b589c871f58e74fa5f2adae06dd8c2ca1653c728204fab8f3ca4dc9c4243301edb807634536f432ecfc2347f1b55b9d815a59bd7bbf498f7ea167c6318094f46ce1d9e3db508cb121eb61d2dc2874e644919b18e81769cc2542346a80dfa8923f80936af5036ddb02e4128a23b97bfb57bd09f4cb8ab5557de404ce7891fd5df349e3f936abaed04a4037e07f7c4d8473f2ad8b1e1864a899720ae69a2c90eeec62f86a8847e29825012b135092d38b16b6a02c06f1b271ff4db96e46ae632d63e71a8cc679b56e0f801718351c1416e8d7bff3749f90f1556ec3fdc79968c815922c1514ebaec3e3f7e530d48de347aaa06cf91b2e9bb9fd71b9e3c5a9c2ad8a2be5a9b10f7b92eeba74ae1f526bf41c9714c2492aefa06461d3fe9cc787fec313f2e62bde8c53fab23d4009787349d21af6aff9436cf74141f5c7bc968c28fb8820c00085ff29a6fb1fdb30a005af13d6112cf9ecea1069f0b2c8e2fb2bb6af4b9f610b7dca9c26c62076cd9cc9964cb6ac51f4e1882976d57e413ec76158fea31839113419c58a30fd9c8220590643f3de774340589a834477c34cc1d90781c1fcacf2490593a1aa03980b6e42fce865456bef5ba1574e9106f972e442542f8dbc0e2c04e98d1667bf8aa8005ff04fc714589e107f4ffa8d61963701e248c7bbbd43a908163088b959b0b5c06d55eff67dd940720b89184c2002a008698eb2ea4aca439d42c1cc77df11fafb9fb75e69a4ed01af0c59b3923ec2837da577c7ab66a1bc72a7e795379f9134300787a8301f1f5a6d3687fde62d1f2876ba13681031efc6f1e32743e35a38861346fabc1b0640d26aa8cd050c3290e587bee183398fb9b3b4fd377ec8ec6d54edfa44c1cb910451d10a68791c20dce51f83e26cc69bdb77033ce8aabd00c4795e007ff81f55bf1a5d9b4d978c8e9b0dd55473eba57e5f606d605eef692d1c7ce7ca3b62837d507a36f296dfcb34d8156cac2cf140a38636a2020857a69d09159d53371e0a16d42a56168937839aee461df17303c7a807e97e5484d33b3c92746ee2e4265117c9c38532d1b276e5e706273818fb0f243ecb302ad59dd6c3f46fe26be232a1dfbfd2cc554e5f713004220c91b32f2b420be262b9f8441d8deacbfa33200620a27ead075e6b2a4e77d7b151d34d145ac39b9b111c5e145fcc1ada5350a1c6db3faf3d5faa1e6148d6ee13d8e9ea6a339298009831df080082231890e0b121699ac8c35d745dfe81f5e254b629d928e798a0a8c124420fcd48ceb6ce23511da83e644b97a7c66c9aa0fd38ea45baedf527fbd0b3ea1565b38493d7cc424d1d7b0f3ed8b7a63e159185f6d30c590739b21102a0e758fc31a6cd3951c0be81f59aa38fd7d15f687e6d0c0c6a9f2ea00701519b8e7df72d1a34da5f1d3ffab8bf1417f8fd1f3c8f25c4c775f146b3e8aed6eae853e50d4e80ae2d1e99c1571b980e6e1ea43c7772c5ac5bb5ebdac982724fa8b18bae3b119c9504723a14da2b7797797d1678c7ed26cd92a4d65c19fd31f46fb9d93f14e4c95e25025e1841f7607f90b8b9860930961290d3fdac8d419c66657a433531a1a22fe84b443595b3207e99d21c62ab3628b545858e42a0ec3533287ac36db4c6b77b30bf91866d00142436388a6bbb1592969d2b8f6bc0930586521f0c9c34bc95833aaaae44790dcfa88d533948666f4f2975b35b470b98df6d3efcaa624a721a11013d3cfe42e83f601d9a96ee4ee99397eddd16c382230d580d2e66e6f21b357a0246e3476dacf99d72e78a281fe7e475bafd958b51d0846cd5d135b1950d4713b25f2dd47bdf2ff4023a3d6443df56009d9555c0dc5445b47e330e297fae21e06045f73fdd6c740d7f92ecaac0b68fd18baa382ac6116331533b14043caed5ab6172b19517b1f23c2e0bc4787b73e3b9258ba42fd3ab3ebd8d022c637834e7a89b879b9bd5642074a09b658317afc1db42e88f4f27f885f6945ae0d528b61c0359d026a2f9a99d20c12de78b3f5fbbcd84a5f64b0fed6f02043f3a1cb9195c5453c378927e81200e2440c0166161d51b3ac4822673a6c7fd9bfc72c01585efc2734df0499bc4b96c1d20a8310ab6b9d6ed19d613e04a8d689bbc906ee6856bf588447a646d1ce47b14d8a42b58bf6c9400e8abe07f3df002f5fff9c2e4458fe97ef03630673acbeecdfcf478190bd180aa6166f0889595bfcbe5df3502df3fd5e6b7d5621f3b803695834e28902ba084bc03b615ad7d55ad2f17c11730f0a28dc04fa8cd109613d8fab1c1c2a005f4aca6b14f08de369c94f51b0249cf2cfdb77bbc99c9d17ce34f089cdbd50e1e1db01e19d1c6804461a33cd9fd1770873d07d4fdb5058b96e825d08ae8f4e7c6d368e78702af553fd2cdc0619f4e9a36faab5848f90dd82b4f9abb016f8848e6575634bbcc2606e784d62f55d1e357bea589593c9c6fcefd90f0e208e92f00a17f562373f4253affaeedf4bda6b879ff6fc0faeee1d0f6de632bd52f61cb588d01eab6adb8788477e8b895ed3a8e3416333e6b9d41ead3c44d7be890bce534c264afc1986166156c68bc50c34d7d21dc5fe56ab0d7c1ff559bcbc511304ff0eebef044d8f1568c5747149b40af706b4d6f895bbc3b1d2be75c2b6539e97574b5eefc90f7aeaf2bbb830d5f906cddb4f2aba4b17de8b2a6c136d8eea3f03c169fbcc7ceefd2d54bf09e3920147915bfcaf40830cac782ffe7fbc090631450a12466cb9fc3ad4308c0b30cef8b5202c917e4c49d3e5eb0a117acd547581afbcae47681fcbb9bde46f1e2587776810290a8ec0366a5f33766135f7ca21c71869c76dd54b08ec5f59cf1f51a3c6b04a71db9a5211a80b188a11543e339a5c794062ee1d65aa49b05bbf5609cb4b90ce414bb3294c7cd5b75a17e20d82dd28e122874a22516546402be97165681568fd358c33b442c8bafd4a3f51159d9a3404ec53ff2d8ac8c5e23e9a38214c8596983200c632c6d7bd356b4d16da47d64e496b33ead7fa77fad55c4eb2aec479abfae5db36ad7bc8d8c41dd34c8b7fe8ceef9b6b4f063eb3a762a4e10e4cc93201c6216107677e6302a5670679aa23316f6107329374feda9d3d9726919c8f7e650199b34b98db3ad2a1302af01cc2bdb088ae2ee652a16818b08be9d981e381f8a972aa3763c8d54cb9741bb041a3804dc13c143ee80e8ab17c92f0f1800c9c8142788e53eab210f6d8c0024876164fa54f01762c73a8b11c91c4d1312735e0559c96519ffefa33d37e436c42bc036cde2d72154aae998044e507f33f054d8ddddb3bd182c84a37184bc751eb282d327053fd677426beba033a044645ee22f4835a03018fe2726c41c3bb09ac4d7c0af1061b68f3d6368ada68039c3cc6d3870653e603b837b6b828649d6afff95f1daa1d58f16341852692ed1c7708432a7326fde360a9342480b824d1fb80ea5defa4a3b3b998acc5d03852105060bcee63decf0608eba81f905ed667b25181c93b50515d154624b23b249fba784e23bd445ea46d5c2cf6f2922983bd4270d13428f676abb33794702c730763212456cf1764cbdd7b70c608fde7de2a5d0f8fd93ff5d027e4d03e7b98d39a27fa8d1f23b37014baf8cb1c7fac78a178cde2409dcfa64ecaa491532e33012a021d0f1fa4ae768b8d0b8fed9cafe482bac2ac4849952a61132d1654af66c39724a7dcf92c45fbd9995bef7557b6d8973152ddec0ceee230006b34024b7f82bee7136fc5addd8551e969213d039af9c29819bbda64a214fa1223bd4b9b3ec70d51c0555ac68085d2a035ae454d252ce3baccb787e64c5fe672f1140e788db3ab860016529336c76048bd48bead2ebfa6bcdd42b23114267d66c50520038b3b23fcffe308e3379bad4224120f5e5f1655b3333e6aec6f7c365ed79284b60577f2e4939685f0a6cc5a557b07e262e019b71226ca147ae2b656be4ebfd05b77735b955a6f4789d792fdc1dbdbe174f77e010e3bc13aee8fd1020b879a5605258d95d6291b0fe8386533ef206014a85c2c11e79538296ddf6b000e715bcbf2c1f09cd57b53411324d173b7fd3459adcafc412bf8a2f548683ccb722c76aa6a8883c95153f7e5c24a29f8c3249b7d637a984dbb8ff21130e2a0eb44df7a3a75e1ba6c4fd1b9c1b42d610677679c0b408f1591f4cf91e7f355aebabce706b5405f1c997af8592dbc0c7200f45c369f75348b2c0aec8f38e9dd95ab66abaf5aa203723e6365a63c9277523d2048b7a00bdcfd6fd1698ebc7cd4c0733542631ae9e176d36dbedf3279bb7fec9cba1c8781dce1b231e3d9170fe1399ddb4efbbbbcb8108ea437cab21d48f66e7b5087c7632ec9d0e4a4b809605713eb10c22c4b21009629c751fe87cb266f4b75f1e98118f3a44093016af53423ba63b8d2cb038b5a1d9f557fd7b623df422cb1c6fc54661cf849b2c784c923faeb2a9dabd6adbddf5b90a45976ae7dd8171f30506a9559b4ef54101998d79b0a92b339d3543105c0f752860b30ced77189c72778a71aadf3ddd1b95271a1eb063de9c1ca6e1f3ad384b1442c2d9e3d722c1fedcf6293ccf646fa67f5215a8e1a5d3588c208e9d7dc10cc9d0186870dd9286043fec1baae1f28aa86c1439cf0d407fb05caf3be8bba92a51282a9b925d0b9b6f53acbeca2679e0759064861b0feb7a188f639a50b518b626d966d43730644c9aca235d57fca29a540ac0b7e5ff058cc50b968143e76ee3d716a2560466e6bd59c368c78a806e2a79d84a586a6bf499e9452416422a55419171ae1dcdd3856d6c78317643e4626308e0b13d1ac15a04485734431caa85198edd4cc0c444622d0a8a4dcabc98935b6e951eae95e5d21bedb35f5fb03dba526594e990ee4d3dab1a54b80dffa2a8ae43ed0d45cfc7e1d515455569f0a1331a425ddaeef0458e39e20dd4deeec9c09d3971108963ecbf3fb4793b2f23ed0ae84eb773379d943e7812095a3a541019a1bc74abafbdc065fb3a6fc2f81e5381104a381974b2315380a501e2a2c85bccd817a54fc88474713c6da3386d5e04bbebffede5fc485afbaa3e59935b3e060fcccdfbc73fd9536bb1c58d9e54ffcbc3c44acdfa1c4a71e8972a27e1cbdbaff9ddfa3945fad9e834e947519435ce6d218d11e3cc64442ca9afc6b14ae1b37a4ed61726af32ce2e4df09191703b58944b70667a237db2faf9c3bb1dbf65db25b3337ffd09c06cfc3a2b450ee3be7359b83ba994fc32f5ee0fbc6211d908ad0b21b9384e18567a664b66e6d8b9b423946d0e287cae485875d5be053f3811135e1a99309d133e00c7fc5b7821bff1429b48cee630fb9ec01569c1ef049beec710a5881b5e6931c78f43f9494e0f8a50f1670a3571a8cae1af05f276876ffe7ea77eea93997b71746097f487f247e5b9357bc571b9d24821d21882660f52cd20b16af05c170019bd79800d3b058b4b5212fe3658ee8563d101bac470a805c2917c6a1cb9082c4cd86f98b1bd4723d83a5b0e2982b028724d39bc8274b4ea1ca93bab753afcc48b63e48dc9399ad7e0eb19686eb0ea9d1477731fc6540e913620bd820dd90d1df0e14d1e7e0e375004e7f0bc9fe53e6c1780a02c071ff996cb5c34c68356f14a7c2be0a47771a136946ba97e0ab84e48b9782b74a4838566970316f1df4a08cadaef0e3a26fc5d4930c177419c2d7ddcf9c1160e771a3bb593d2ef1a98212372150ddf0aab3566fb8129a5fdb9c7b1dbdc5da70672667220f4da0ace48eabd2286a7474151e4201475717be99c80d65b1653b4ef9fed235246397368f7b21e16ee32508550d7c23600aa2c888ce286f135c59d893339cd7df3518b7af99985f85ee348d158401962194666b3224bf9034650287e211ced40c871b364c3cbb5690dbb3448a5d23bbafbdf92652a77b1d5640544849330f587996adffa85dd1606d6a3843701771695cdcc8eadff91b0c43807586a681aad4d28168c17ea61d618b55c59ea4bb4e4594710cdc5a410992815122335f0566431bc2dc5159f38c40a9372efb468b89d282a39fe820dae8d395a1217967ef236055a7788a5bd34955e21a4da57487d358a7d3649692716da0b3c208cee8d61c98d8ca76aff12916865f15fb1b4e71e953fe394277a5d6fd79088cdf79da183e291bbd0656df80091a6bec399c394890337ee0621c237371039f4fda022a787dc1526af06fa5f366f5692face24d2d901a830d0f1f8a48f8dc9df5386ec62dccfae7420586fe343dff25945825e6929d21868d6913b164c5d8a219397dd4660a2eb52056dbe2259340c788798c516b4c88a7cff52883e0739c05042626e93d0203f3658a51f8dbe13cc8b9514bb353c8880293897afa89d06a64d924bbfdedd59d581d92de3d504e32648676530e68a6047b217375b5273e487081c5888bb08c3f583040ecb5499b8d7f917c92ab8fe0e5a0ed44997e8729e6daec2648b75f3b28e651ef89f0094da13c9cdd8d8626e9dfbcd77847d2872458b00a26630c3a0c82db0b504d991c8029de43e2a392411b294860ca96add2a75df3b69dfc2d438d0569ba9bbf0e15f1c967072c007562241e9deb3d1824b63cd4cfd2a407136c94996b919ab039bf49951354a4ef96c7ccb9d3029271f451aeae9603a369788318c8d45a62f4a86cdffa53d69044fa02fb633edaedcf607fb45341512bd5b2a830ef1132b4931699eb04f96b24d51673700d91636b348275feaf517d26a297564e34a5c86afa272cbd901856d5e8bda087f1a78c3a79c896f7bee74c7309359f8200be3a38f133242ee4f437cac2ba48fe3bec6f707f602c29741b46b02aa730b94947d1ffe69e5eab9f1f4f3a355f93951579596c854cecc77d23adf69ff82620d74a1b2dceb3f1c09530a2ef27020c93676996b448dfd9a5ccc3e3f7bc4d19217c6fd91972aa35bb170ad8aa8c9a130f7cd077047d980ee5f37e1227205343b37b41f6af1eb6c94520f2c9dbf502858e1ebbb7b8055f1db2ed7ca40311700c69ca98ae5cf6f730833020e48fd61ed76681674088b1a4dd00d6a22865b02c724e97ebc43efc050ecd6b9129434c6e2cde71fe17f9be226911deb0efa54e058776222f82bc106a8d002b6d568efd52f494041fdb33eba1bb4e99da1642a46271c5df2c3a5ff8059d43147c8720286f832b9939ead7efc4654820c9dcc700d41cbb4f5984f4b0bf0a9d677eacb19e3fc7622baff1fb596f019b9cc0daad0fd0b1e3a1529f56060feb66fea88b271c053a2bb8029d359b64670091fb7f3d0d38a5eeb1525eb306b156667df48dbe0430fea71b550265e33dd5fde45425f9c44167dd34278e413d97cf7e058f7ace117237d3e5dc06c7c1895d66b5829407e409ec69abe3e473b2ed91e85cfa4c277c3ad31ad6835e1e04f21641a3eed821ad46a4e55fdfcfc678c8123b0687e2e6c2bf9192e4f2ac6d1b58a9375e110a6dddbb82ba41e70287732dfc1c5bd25c32b88bb87d491863de2ddfa60b5722137128f6f88001463866c1b56f703a502569e0491b2e005e6fbe9827218965cebb3a3438099147e77b9cf7bcd973edc4eb45008c6bc2c64b54db3bd2c5466c370995df54ebf9b0f20839cc7402a60bec450c41c455f732bc023a7b8fa72b54873e809bf0b0e8507492ed23bb60ecbad4a99c1f1ce3e260f19180957063064c6e2ee60b5c95de6ca28f4aa9a088775950b657367081f0b23ce5641656d383283ab28db8ace82ceb31649681bec8ec3920e975bcc366f863e4acf4ca846fa6a3be58f7b13bca3ec0b7b5528e391ba21aaf299ff20b298952c6fbe3163247f4390de49e219f160f8fd9c47cce54ddb41762ecfec596dabccb5fae5990598196f52e9eb120f6f860a2f42ad152291bdc5b66f568ac8461c299cdb95c8d17f28d38037b129cb7c45f311861afc422d75357cd957345e90bea04c027e4efcac988991799ec2f9483fb61578bc36e514031e6e921f6c26416acf8137c79190a9625f7edb13d0e253e2390a35521793a808eff3f9732094472dbed83f3e72e878e98fe2ec50013bf41f6cdaf8673c5618521e31018ebd3363c600e6986745d154083f11b8a4173db7c59460faa194f58d5cfa24620174fe02fc5cfff1e8eb9e0701e2935493a76ef31272aa3fa019d53cb91e54f062309c89831453da297afaa313216a5b00d39dbd891fc706e2985b28b37e9d04bd6df922dcb4235536e6ace177f5fad5b822568fa3ade4623aa3d7500aba664556dfffbc2cc4c86e3a6a855960c4a95e6ff3b888cb9edcc717373b0829c942afe9f8d0aa28d34d2b18e4908d6b33634088c4f6549bb44dc56de8b955cb489054e1669876e64ac27b75eeca0052982bb05b32597bb305083437f70a1a3bae8ab72d0ffd44f542f248193874201f856520df86502e04f17ed6b456dba9fbda854b9a9796153ba2ca0f45b79b65c901989bf529166656d4ec4408ffa425b0a2ec28c2944c3076b4055fe5c31b0f5f048503e24bb107c6b8a27ca18151de2cc84754f56716fa72b9392f8b1210757d49c5a772671799ad150c15f878f933360c7e32c6a899b7d4f0703073dc282bca5943f89e1c391ee43732b4ceca0a8677a3b4c078a3c535b4ac3b4b537722be487002872a7a5d6ffe3e5734cf95acc5b28528d33a2b91d649ac6be16ae8a5dba8ea0d1d7b76eea0b2769178512d73c5699180bb89083c724adb71241133bdca3e8dc0cf44c2200bd0dd9307a3acdd9bb6fbe6f7c5df76ae5629e9ac028b90ff0c5a66235c208fe5f5617d60bc70b56c78c8d0fa8c2ea07b4e68ea7d7b2f4306aa80da27b61e5f603e415b26cab845a032e9a3cdf036c1aa5498a53a68816ff6c0becdfd794f3d951d1d8cf6761e403e5b6214170ad42a3a749c033b0b197b4081c41ef1cba39f758fbbcbd1f8e5fba89d764bd25b6f8daa076257d4cd6d04701bc4dea21337bb2afe7566d5a190a186098f4785d160259a3efb0a9098dc05b61530bbd1cd68c59397ac1d35c685ef689dfc6f332bceeedd2753aa937c69474e33c54628b42b7f75fbd7ea130514f71408e9fc205cb46e997437afc235e179c1acecaa7ee60562944443212bf477cfa7142568fb6ca2afe5a5b3efabf1f4183577154217569905887066705f12802123fe069984cf851e3c20e0f1ab78ed87e70254c32ffc606a88af708b3fd534026b09ada6352ffcfe9e7829a5bcbc3da93c491108f3683bdbd98261e9c318c20eba4676383efe90fc7eef56746f78ef8ced90a4b06bfc87c4c3485bd1a029786bc9daeac6e3863023a1b33040294b0104205df8962bc8923870f85637d2eac4258e66f662d638c71516d8c1a2051bf6a4fe47832c000eb20157dcc1c13eac8b5277cbb3d088b1518497ea46caa25e2aa6361b982065fd963a534f1a6fc0b549a4bdbd3e4f214864a5d45009aea434220bf393f1ea65a153ebb082cb8b6188c30d06c7bd9ec300bd698a1300cf7ef92ad82106724c56963a8c160a070ec41d60301458d8dabbfd24f56fcf5a905603cfb72033531f70b204a6ef8129bbab09a499d0a91d5e60cde8733640985b9a49f2a2c3c4e92d00f344f88388f9338d40dea4b357999c313b4636248ac4b3d9e6d3efe7f6416fc79179b5cd995e3bac18d386d7500ee22e6e839575158eaae66f4c503222ca5625d754dc0f8b70e091cc5443e14efe0954145f1566cc193b3a0410255097e1404e1b9d6ce27ed56f401c94df20b21d47c46ed62de09b3c11f139c2dd095c03877347b28f07c4624f4e2caefb0c7993c5a2e9d39ee696d0651d756664ed1705cd89825e5e400701c4d5df6dce8a882f5dba61b5d6afbf29550ea810846daa5127030a85247c6f6849d1d18414f89d7fa49579316b75e1ed2484a227464314545abe7a3cb70fcf9dc47255f4723f34e3dc1d68092b70af19c643481987b78bf86e81f65a92572e10c4bf4e67ff3efd13859ad9e8ea4c9136f4b32bf925ee898d0c95a4ce0a9b841e86d9d851d0980ba94cd45462ff43dca7205827d6c566a75c9f9c6eb458c3ad55d48a1a203223e6ea39bc8be8bb50cf5c02a705f7cbf06ce3843e1931b9f1266d53a2540c40ca24f377bc7bfc837cbee7d30bcca4efc968e130e124ea8a533d4af6d742db78bb395808a932b220f318d6ca36cb751f3f02da03c87c5493bd8645fcc34d9e158ad4fba1f31419f94cc631b7b2bfe371c6cd0d0962eb62486416d599f05baae3db2402e42173f91be664492431891948f94b50ee6965df1b55429b46a2822c5cbfd5272cb45bc2b7dbe5566804326b4b1ba418521f389ccaa6c505db0146e9a2ea31377f7d04b775a0b27174e10a46ffabe4663bbe80761eb7c2d8fabae505a42ce090026b75fcef643740aa6d1ccb83ecc96a4c19e33185b5a4a239fa34df304d91c7345a32e482807ebcba35dc70c4faa3fbf5a81e7088b4b2a540dfed070509222d7cf4cca8f650525eeda016ddaff9b2e109d90f43d04e626222399360290de4acb08767923014f15c33c858241d00bfd1630581616ed5d7863c0b47eaf63797493ca35232eb31541712110f4a0a3d5511599cd287c82fcc6786b9f7d17c5b7bc534ccad98d0ac6997cb67c11a7fee72e51b22ac39babb3f5483b69cceb82b9f0c73217dc805f601d3ffbf4fd76ce62f808c25b8b4e171b71d23720065d1fbb0b7d13bc5c803824eaffb51cdbb6973c1f2781ebc6712d8c52a3e78cc29875304f13bb9f63d0ca1a45f4632c863fd723b6e66a4c62a9d02a2a61d71a1ba579937e56a66ff4acb49c61d09135eb0640d58367b21f35a38b5df44bad7ca338e2ee127b036f28afe30538efdb153ad16a9749e490b12e9f2165a84a2495aba6057bd6b3b37583eb1850c87d83cd63007ee691c56f94a601e8a4fa0e030aa12135ea2c4f0213ac2e56664986b19eeab2e99f2f23951f69acca6aa2460629702c8bbb117a401da70c45473e4e4c0ce526705cd4137caa0f99f84b03ed07032e1a60aab1f0e91c6053e55c21aad05ed3162f09ad28c9766a161c834a713853174464cf98aecb492c05afdf8475541dde80aaa8c8ba3903ac9fc374c0929535cfa4469148c2b340b85cf72afea1ac64334e38c515b1bbe9c4b673e8b376e902a95a38ecc8b798662b69f3135c674990bd34680ac3dbf7ebea8f49c8e009835fb8aba03f26a070ca8246b979213a4def9319ba4a4b376bc09c61f1c441fb9f452a0e39f5259568da0823853788f6da9b47f4e14af02ea9143a8fc0de3a1e3939c620865f71a83815c40ec6464cb49bbe531995e2cd08c365297a21c82516c11493ad48617ef1202d3a756ec35e76516e0b229999b799a8b2e6076c6f04987bd841c226a6a6e9c813da0ebb18db14d37b38d3df0d2066f614a6341df5384f4fc0fd509e511de9899bf7bcf52bc8a4c788b4467abd50a50523a4f313ea6fefc772f1667d7eeaf5e35871de05201477a63f94ce71c128b29937667bb1ead6f251e894db757c93f4fb4b1e5bce072bc3c88ee54a2bd97c13b8bf0b1c1d182369ff5c4363a411f9e40cb5bafe4316210b5e23466e7f9339382cf7d23fe7343867f5a64a14cba1734c46b87c52d4c78d1d13048d6dbcbabf3fce616a9ab2416fe9749c52a629f5fb89f6e75a16e5511ad450c242b26b2fa2a73e881197ddeea41a3ce54e9a1354c7a73f8a7b38c55f621771ea8f89537f66a066cf8646259bfaccf7ec1fc60f5f11071056a1eb605e9e0e15a0d933bed7c6624e71ce828d33f9e6d346f2864acc6fdd4fc1019e454c6682632c6024af1566e10b4d9505463cc0bc91a9f9a6c8ddeb2226c2612fc567ee945501c6fd445ad822cd796600202a4d90234ff3be4dd157620cb2ceaaa0e4e80e0f675a90c1207b2c7186d030b913c74bdac1ceab378166c360a4990e0afd444e160ac63edd0195324e31d052af54d3d404f19db0dc8da4eb63b77f34ffd098fd46d72e5eb6abb6836bdcb0b8bb0fdeb93cec1b07f38f44f13929d8e46f7991ef0d3ae2bc138a107ccd8d11cdf07669bbb5bfb38e0b7f776a51c2889b6204de9ce1d5045502c17499f3e088ebf13921ef4f0084bd5d7008a897c7f0741977fdffcb6d04f44e7defe733d7694a6fb5a4c688e288b5886782ebb31f3e6161c9f7c35d272859265e87a5f01ff819075a14cb2d1775b17adcc207a9667dc6614250691370a3d334ed58b78ea4ce3d653354baadc5a9aaddb93753a41b9405a055f1662f7fbae075e305656b97980be53b294359925fa29096a8c8f87562411700370e10f57a11d6ac351a4d02acbef88157efe276f9f0c17268e1690d54a112b5fda12965cd407a48fa6d1b1dec8226c31d3e1893a8f18e382a3c9690e638b658b9ede03d40837a1924cb698f2fb6c2cad3914176169a80ee35641efd22c82b52e38fe566dc1bfbf5f3b5f8b2db6e1ae2fcf666a865f96fa4b90aeb6a2e8080329969445c3da0fdb9525f805f28beb21c2cbf77abeaad83b5cb9831e9095bf87f0604e18a466d73fcc9ecd306b286497fe6a6ac3b83f3a110488763f077f8643f31a1d6cf47913b6a6e86c1312070dbfd95f8c1cf074ff1645ea0afade15875e7ce8e3ed03ce488493a4b7e1ce202586c145625553593b01e9ecdb05b409dfbf6c23abda3a025f5b72dc0059fab155c2cdcb5851df568b24aeb9b7efb04dad55085992bd8dacdaba47350ccca2502ff5d328edc64559fead22729fbf3860e2ccdaa1497cd09448be11f211a1ad268daa7041d15db0ff865137f48a744b7c143cc3113f27b9ab4a6c852d61eca4ff795d1354813d7347915e4ef9844c03f6a4dc33ec3928e2f295cb4aed031e060feb865880ad69adcf212e60d055209c2ac54619892ce4b5d6393bf82743075db6bd12c85efb7eae5f04df24e135d7671ca1461d68d5af12544141936b42f830e1df77ba06af8cb7d6ad0db0fca49522f263f3272dde1e37bd8d4d3d69ad37899b619074e2bbf5c539e5bedf9acf2e7bfbaa0940632707064769a7a7be6ab28b4e81a52c434edaa1d2a93e9f88b27c55e86eda90a33b730654957ce3671eb058b0fb3bbaecadaa6753204351ebbee4ebcda159b6f59cc6db48778e4bc8d84f5c79fde026b36b02080a7caad5625f171539175714ae2c6907cfecb6f8ead6925bbfe43166908554e4f70fd14b11e7e1a951d6152e9aa273bd403709b4791206391729fdb78bbf189af12b6ceb171248e56eb510ea15f9da1a76778d6249504fd0378a188070581da6a4cd8b119f19acdd103c782bb7baf77f0d300027d59dd2a1b437250628f676feed9ae8977739f97d484030c11757910784220426fda6240f912fcc96a639a9b9c980caefc961fa7cdafb8ccb6dcc2a6336449dce39f90dcf9396c0fee94682fe11a730ce848d29ac78d28b4d578407b8e7da67f31cd956548c0b78e022ae2ce94866581b1b04caa5983bd36ec9d0317deb5ce66851b1f0e24446df5e88725bb84d3d501668b9a1d2a04e1d35e78f368533b7e267e914bda2878e0546ae27892b3aaa91e5972cc3dc9b36999b4c545da1ea3e0bdddd4e1517cf8881c86c85ed8ea99a0f618ecaac9b8eed50137242defacc2349452f149189fd0728ca52052a0f24f54cd19bf2d93ed1e62f53cb7f770d7700aeae8e549d24852a33d4612a7b0279aeace2c699284308ec5744496f54f4491c8e5ea1a9b0c8dc3790d835b83d96714d372a1c258322ca5c1693febbfffe76970617f76e46a4b81408a804ac7f6d70c66e1dc843a3439960dadaf98f63ab26cf0e0681fed603138671d21a8a6cbf24d50da91131fe2167c3e09d7d468739dfa361accbe69a568f8287b5cc36d8165d19581eb0f64d2b61b4587442fc57ceef961cd1bed9eaeb7b4a1b53dd459fc97f3b62723931430c8aeb71f9d23ab1feedcdbbce2d72d1fcd6da25f50cb4950b28ce407866449f18616a7de20a37f11780ab519c3f32b2fc6f17781b442e7de2f9398169bd9d995f685c4a5343eeb0ca4323e674e8edc5bc0b848061ff759cb323891542bd0812a280f878e4b312cbe6977bec5caeeb598f17c1e1067a466df2b0c2887fa24610ca54d58b275708ac6d2273a12589536b2dc00813d44d1567ba6dfb921b021330751696cf0af55241236c735a0b2a4434e1df59ba29f4dd229c28590bb6a9634251f1d4fa9163acdd3096c6e6c4cb54aeed0815044dd8e89f8ecea886ee59e5dd5c7e9ea533e0780b9145f0fbb4fb64fc1b984ddb5d7fedf0197a0caf7a0cbb3796e28ec1870b236661989ae8f8d38423ce3a9cd96595fd142964731187ebbffb878b5d141d5ac42786911952b4ec71060d0c29573533eef7ccc8abb70351501ae5f6f0bedf9bc5d92a2a8327ec35df4533982561d4b1cf486e3ac0418a841cca4b7e99836a756be218ce39434ab8e651372ae54bf2490f390d4bb1dab50d0288dc109f48b681dc840ca5e537617e4ae81ce77164a11369ad50953bfe4986e4898f423efce3da83d311cdf5f31b477090b2bd3e8cd1a0ee12bccc44b5a7fe3a18b33f96f9eb08292066b62b441f3e0b364e0ec424f40c5e50f731750a1e5415f57eeabe8f2d6499f12c7e88755c91f24969791c457b5e23e323387d7f734d16f0bb6b03257ddf98d6d49eaf89d7df0e22f86acac6adbaa4b09d0b4318b11329445108efb6b06c48e2d64ffefadbdb7db696906f1c02ddf07a522010d0efe35135345f48bf4e2933775bd9091a9ca4869f5a51832c1abddd61e8b06284ed19505bfb41a6d9b97a871ed67f176be5b8c68a682ea86ef5fecfed786dbcd665e4e29f8c3e03758d76663847746f1f40335cb57c2ab4fbe50d32d7b4cf435ddfd2a52196d945d40ac27c7c69f0a52053dc19ebdf0a789c318f40d88dfe0d37cad64172404a8ddd199c374a8599f77fbdf9fcbe2be80962cd7b70360b104b7a9e4bec897381bb24deaa90f8600fc488f691d9e5fb42fdcb07c6b450ca0343261575ff9a4a1a63094dc761cfd2c3fba5dd7a43cfaa6c82c2efe64f97643072acfddb63bf77bd2b2e4f41af988f7d7e56e294c6057fb90403679ee6333e1b0e8563ebf3ac9cef22630105b10ba0a5cd33103d146c52d7929983e85a6ace9b948495a1f704e49ff5eef3a8c75a336abf49485f88aa75f758adb22b9a6495d6f850d2a84b61206da0878485d2034ab53f560f9e44c92f43f02e4156171351e47e01ef65c84fab53c6c354d9be4605bc965c0b2c067b81059093e01beca7191086fee64dff5b2ad3e9888e3673fbe5d60e8e0437ef17317cd3db1a0809dd5793d8dec7db3fcf99c785b89f53c541319f7db5b54061dad62016b17dadf98052ca790196deb6497a9be4f18bdfd2da1dec8b9876f93f212c7724042d06f27b8912b0228a02310e050d0f012a4da7156551dbca041efa083d5193235ebfd4c11a1c21044c1301607dad442093a36b17844e213640ce7a1dc6d5d3fb8fa8e92397ac0a95a9ef9d0afd6945b3be4c39705cb1dc60ff12479a9c64f966400b0892c64fa452fae3f0bdbe140823d973e57d6d771501b81d10c694ff95e9665743584512f50c9636b940ac6cf0679e648afa22158a280e54cff09b05ae8e51a799df576abada1842939bab8f48ec39d24cf629880660504cd4b0fb7959169b5732fa4304336622323f4d8687430471570546cd27e7a2268acc612af1fe9e3406eab9008fe530cb4121c90bc365eb76e2f833e25aa0f3ed22e7147156c91994c98c6a6ea0f233cbdd120fc4e74b2c08edd75be635727e4a098d543f589c3bde4c8b532ab0d63077889cd93cb1e33dde2484c564c34aaca582ea35c7df15433819b2ce6a5b1df09a37bbdfdc8f654c513b49a6ea44dacc6fd5842e617cb68b593b751774b6bc57ec295f58cb2a3bac78abb6ae4d39cb45a4f5d7b6df4a30f6f8af02a73dcea77eacfd8743141b2b640946a7014c6d270cd06b1d53bc65bc3b86cf47181b25739d2950ea8567f6c84da2ada9e11513a37487dd8c23297eed327f55442eee80f7d8df735c189e74d62355227abe61853cfc70202e9944a19ac067f1364b717a3f21d00038481d926a46f23ed571c54927a87ac7ab3d959547769a40d11735f29fd1ab37cf6e00ed19c8c00f7b3717bc188b0b91c9fb05a2ed02ef0f3111038f7b55c7564a0c3e7b0bf026eb390ed2c0e657b672c465bc22410978143654bfed5b4281407ee0cbb9eefe28b7450d82ff9b2ea59715c241da2a9794ac077dfcd5c3ed358d50fcd41393cabf928b5b2b62c3a8561fea041b9d1c1a867da7f243a4e281600e6fc46ec48e4bf3dcf82d0bd5ba1642a28741ea566215a745e0db4771e82b682b58266f1cb27689d6f16561323f7141731b5fde7386da816d7b3050bfb1dd680f65ed76d59f3ce6baaf3a93a449cecc43e94d601923ca3584c1e9090729d32dfaf1ae538c5f7469a13e74e7b22341485519bb59341bba6f5d77757ee19a47c45d33b136732d2c3107a16f6471087ab0c3de28bbef3130b5ead86b0bcbf9686e9063a6be290221c4bad68c8d412b27ba96ed1545632f1d9a332b90ad3860af13c8f28054ebbf79535ec9f2168164b0b7057d17dd64c58f2915220a49f3757381aef11790465f06dd5ccced43c592ff17d59807bf9a369f5b1b9f62aa8fd78910cf9d3bb2c629900323b9fe21d22e0dd3d02c166ea8cca2248b0a142ccf0768e240251705085adbbef234a07f0ac3f9a203c6807c1e4094649d281e8d83d90a8539256535e122c788913ab119aa5416e0bebc51abfd16f5dc9ed501dee1a160b53633af91aa563f0ce25031fee2c0d01b1aebf014d6463c8af6dc41d76e78bb25adfe13093061b5aaa9f21eb701f1182a13a54620e96fc3bb919d7d7ee934062f43413676c71ebe081ca5b9af8e75913a033ab9f9465b8a3108deb6250c6d9ea4f00aced58356665d6806f1573a96e708831708f9e84955f549b8afd8b789b8ab2b9d816c5d7be41ee4f83ca39011ee7068d8a8b141fdeaab6d4f4e4891417f5dd720d008d18eee51dc2b001db141b38d7d9ad61b7f23391a70214525a004ae018954a23159d05f0770483f1bd2116de730145c1a442fd0a7c1e8339b180adabac26149c866b766b51f84cd29b56bd8abe460bb6d5054cc6058a9054df5d9583531ff2309dd86c97c7b8959b8bb59acf2497d094f66009399ba494c98abca77e05a54c48e20cf042e22489c87a278f87e8b8be23561a05b401cc878392a07bfad46180dc836abc2cab30ba02531f250ad0978c260291bb28c41d697a5ffbb656acc3697eaa0a3d77d5a534ae5d3ce6a9f952ec09f6332b5b613d76284f8711fdd8f0566db9bb07e9ad44926cb8897c55cce0f53c5d6f65fb639882fe1b00f54cf5e4b57102b0f8b326c72c29ae019035fad7ff77013430f7aca745303cd85dc9cc6d0c1be4d2705db3370317fdab319f53c64caa69f81dbe252d1ba0111104e8be0f05bd7b505d039bf867b4a8269916d5e7b9aaccfbdd7f6d95bcd44f4e3d781429243cee39f039263fdf620010220d86e4b26712cd7d5f6e043b93b6f909d96ba47ef37c638911b70eab42b1ce1f3d64dd9a0c490ec3651204f79f72e8d093a6c1a520830c3abb385c7ec445609f83e5e9c8c493cc30a8dd52f9c066b6771715bb082cf2ed9a981c97502f835173fd220011378f2a34e3b1545f12ae66bb5378cff96f42819a6ecdb26a38dd4daffbfafc672c987e68c8d417758d3142e0d504ee170e04902c27eef0e80ca14944aee52ee84a868c07fa63f4a181bb0d24841142a2764368c66852066b2cdf408a442756fc98c46f94a25414a498181fc542bdaf159a4ce057648ad45a6b3724f4f11afb851eb0917ef199aa6936784366ba8e22f32b1e25a07f557bea67c88240f089c296f4ba74175431dbca9c9e685c4130e6f796ac83a90a65980f066eb12fc20cebd218a1e08fcce0bdd27184812ad3a1af9dd21a42f3cb67c8f187b17577dfe18c60989f0270b7ecf09b0099e14206ef795c0abfa6c622a3bd699514811431d1a582241c27a66ea60dea8701bf942508bc92cbc213fe0bfd08627a4dc2e2b9c031ee5415c347ce4c91388d37f985123f8b0078ca5d23790d47238b7e43e57057365333d4d355a773d0b98a837d6bb0a8ee2ff3b68e86ca4173fca9cfe4d981ef54543a2b9aacfe3e7507a60fea61a77cd65e591dcaa13e7c213af5ae8711658257b0a8fe49236040487f548c35f35f0b96c9834fe1b1c75f2153f313b002e9fb869bcb81f2c467cc29f569042f8febccdeecd313971427e411a7f03dd4da3edbacaaec9d8934d20799fea32ce3b0e05dd8845a4fea6a16955e43a65287ac60fdadb621b1a19590a1c7cd55a87c71d49be540ad7f656499b3d77e39dfc27ab5c6debd65643c8ca2c166242173c9971cd6236ea502fa48304a983589b5eca06bf6598fd67cd38c3a1bd2f4ebd67f3a1891ac5660f99bf21e4f9072fd95b2fb9ca2f0f8b4a289daf0d1a069b9c274b4ed2c2769e07b0e375513b8ffa72264a45a863765a9cd7da4c085417e22715d701d92a38b6ccbe3a6fce87288b97ef3d1aecabbd99f1e33b6fc08540bee16af172a11e682c7ead31f5685618560964d9467358b872634bd7b71a8e9585331f5acd99fa5d44c329676ea527d3043a71d38dc9dccdacf38a3a2f24051c028e35c29fdf36ff84f700b7ab932a76e3112666be1f000c4215a56908a5e4b5519f6db417d9ef552aed1075a99272aa2e974705e0825320a4553785989e668001ace027e6ad7db6ce61430ffbdfba61d97770ae1bba80a50c134c387b08ea60296321747fe2c0d9dbccd24662aff046bede617521b50a604c5ff5634665166b4ba9cddc6c69d7b74f71764a30be4a1450d29f784c4b68d31caea7842049c675a18541fcc57c7b81cf0473d289750a79c1eb7dc58e2589d63a45bd9f56c4cba05aab06e1f201d4b44688de58621ca24ce81f08c64dad1ef84a1fdbf72cc9a878a3f1028b3fb72bb883689f379c400aeb7698bde132486d292976336fa321141b221fabe1af8bf0516c9a21018a4739b7422c3799a2df45947a63fe641278db129812a6690698de27c96845d6ccb3e3dae1a6656a98a92707aa0ab1eaf592f6806f025ae3313bea7578e5153c94fc69837127c79492ce832b893002bc6a032ee69076c2679f2e3909f875a2852f7efa500c36c71cdc3ab4079707c28f875d8f19db2083c0f7063e72676c35db04cba5bd802e128dc5a66756174c7098e2b038d96dafb03e6abf5e74ed4da47cc42ec73e766c3469d7e009d811c0fbbd9456bc07899f970ac15b86d00b8dac750ea0917adbf1de9adb3773be5be3ed6cdedf9321e71a05cc4e152c45fadfc1f8ccd2ca544fc8479273557234e40b2a924197684bb808697b3546e04b6d853595203a440c8e8605d093764fea44cf48dc68867b0c0b08531eacd244977bea504cf955dc2b756a117da16734b88bdd710cf79ceb52821a5a7a85a4894c8fbdcf871945d87d88df829f98ea0cd4bcdb44ee5b03d1e93e59963b733e7531ad6e2f461a2934fdd0d42474b529d6999a950d0c37771cf308e79d0d31c4b9f84fa8de662dd72ad87b342c3d83939397db94bf84a9966aa3a6b3e0e918d34aca9b18d680f5ba7e2f926f10179b87b09efce06af8316a0eb46f7b7006d4849f7ce4b9d018b849270a6f0d4a8de45122e6a027ed5f78a7ded5d2a5b6bf1e0d592c2a815447ad5e8594ce29ac6f7bd2a29687bee90de8dc6af443dfef28cd7130c9fb4f403c080ab0a9aa662ab0061a609e005ffe8a384c9da279e22c8a9713f5d7d35731c5b5dc1d8729eed2eecb559abf1752e481a22d2db6bcdcb415fb57bfe332836558a98a2a0528091c1c7673e2ea727fc82e06b8e49a302cbbd00a4d71ecb83e0764b77ffc9dfc3881b85227e3f0256a9e5f6b94dd5c11078114819939602d26ada242cfd81c7a0c573f5b8cc565c4caeb5d171e660a5597271a9b5f0d0ae99d147f711839ee66ed5be0c95fbca5cf2a69897f8d26b68cc9f1395244088ec8f47589f627934836fb9f2b89f28fef57978352fa8c6677650ab8cb3a0880312743744782342d105f4aea990945c30593118e8fd5a5139d9f1c4543761ff81714cf472cebd3ba2e5ba96b20ca3c3688e1a69be160ce4162627e7146cba7030d950897ebe266ea7aa0c31be097e450c394cbeec59370b57f25a4349fe13a1957270194ce9e4d0a332a7d403ab097470cb9c2a07b91eebbbaaff74110e72477d03a3ae4219c142c4615049936b2c6194a36ac8fae24cea40d83d56e47a7458df1ab9cecfc855e543be0ff12e17ee5a1dd68876b509f4aad936819cbf80689fcac19860c2af58d022d2f0f5a7eb75c044d404f14be66dd64da11dc866052b4b3f46a3eb0d97a0b974942afa3fa14cbb525a8606339b2fe5c95ab1ac66c2dbaac9b03c255ff0a80366e96a38f035dfe8711286158d21ebce3dfff13ec7154bbf53c9490a1ebdcc1370bdc1774cd98fc9d70a4a264a0aeb05c271420ee11fadb86db2a929e83b43f573bcc357608ad219e9f54bfb0db32b997d3789a8e8138c8b7ccc2abe50798970002f1ead68cfb66633bc2ee6925668a6a288130fd88adb1c22fd8a2b6e9c5a13cbd6be5fdcfd314904e10a2720749ba5c715812426352e380119964097ad40ad0dbcca44595461bb7f36ced814cdcd34c1eae4a7f0bc896c945ad3e20292d3f5ef3a63c2b0630295d727fef7f2412e03bfa48b821cb4a345096fe1fd6c6e3df8424e913f3a6042af0eb632539990bb15fe33193692d1f93bf4377b128f1b3da333593e6404a295aaaecbba4995434beba8fd5f27354e48e1b90fb3d00ef77e6901250fd6a8ddbb428cb921d1da70323a4185a888fc6993515611f30db235095eb6da6a02bb32dd1b267b56498fa4997ce5ac2fdf41fdd67226b3047c354de5776fb0d3b256afbba70a0fc5e5783f0167825f50b2141b5eddab5e709f5aecc1289b8def97e8f3b34d30c1349d115d06f166afe5fac0a2c9a6e4d9ca3d98d9072d9f954226f132d6dbe05343dc357238aaf263ba322e228aea3f9c0d70a719005d141551efd8955e886443798966636b337a9b9daac50a1b549629b4c2359b685eae55960f50ae2b546ac5d5fb070895055d53669345c03bd38757e784f47210fe988c2077fdacdad60981dcbf2a736561c67ad438b72f709ee67c382488138d55ff9af67774c327f0fbd3cd2987af6a962cb481c8588e0a9533ed5653a01f412641547f9fff6214260a5d5a92f0b7f25c40d4b02bfab0bfdb28b14cd2151f599e0eff9ac1fd37d6ecf85d775e1b0486d0084694b0d7b8d24a23a5a9081aa98b268bbb8f680c77986df44dfb33d14e91f47b4b6b3dc15c2c8796d9790994a4e91fca050a6f5355ba53451fa5eb8699013e80bd6c822237c727a298931477d366c90eb160ee3b399cb435ac026a154032585fc426f10a9952c8e72deb39fa47597389340cf3c27b90e301d50a1ecae0e1646668dab18d21881f34090c96f12aa63e92ada3b31b2a556d7f8b400d4790ccf72c473687fa050c3f351c699e1b970cdd2c359a69cc655856be8ee1e2fc3664a5533fa289f1cbd6cab6d85466f8a21506a4a6b305a6f3c3710ddbf19317175c9decfdbaa60411b8065210c0022c912af3fd8d67862020ae754e7502a1648c1e74f4e85083bb37aa8646d05ca5da53d7cb71416dd7f5e6f53aa87324e4a465acce3820da09e1d9f67b38cac1116cb7aef774a1a343498175d44186755602e311a6f5fda450b1acadd760f873dd0bce8a735ee7b2f1137b99a9993dcf5c65b9e4fc8d4df896552aa217b6b3f5fdef8cf8e6ccfe753fc6b9cff88507e49f67c64e3964124d7e3fa5bc73f0c62d5672b83e7d7761c308ded07551bd074aaaecddf5b72aaf4db5822bf7821aac928895ad91e2cec14c38fe6481940daa570d5f6e9c57e6896183fcc91646b1d3da6153ad4f5c31ce7c8d6b2ee60c692a342399ad1547ba64aeee627f36945b90b6832d7812b182f15b1219b7d1003899b8b4ce4d642527e8154f4a645b1c690b4fdbe0f436a74702ea364be54c7434e35c5e8e274babb5bf17be4e58139161b2bc3ce97f682f24060c078564be20a153125593596de0424161d67a3c775f62bcd810774b4eaae3ed757f94b3204980af58a416ae87c3aa0084130822ef06012f205d9b31bb745a2e38ff6e8ded5df37d31ce42a233e603be672f4ed9a5b6b5c482b55360f01b82bf9a49660d36a9d2d1a6fde99763405e8481df7dfbbe4172e56e57703cc74aa5d80f51e7f7e98f0ade55c3f7ba14f6d789a225fc8dd084def5a1556bb73c87b2f6e3f17ab8c0141fc0790dd9fe2648d875002372349d516626459d080c0b94afc72ef92c381571c271dcb4a6786f607e14bd52e54bb34097c99b6dba93e1feac7677e585dda1c33278dcbef025480676ea8ce66e51a9e101127dc5388e2378ad67870f8608e6c1c6b98b8aef5600c2cd4130594af287570875add10024a09bbdf762e223d982880af85a242445785798e15e66a07848de6ca175b9208e6a16156e0ad13abca98c08642841bf3eafe015a061d9733fb4e40c8bd5be2defc9e1b82cbd4dd87ef742efd7bf6274aad87e8722349780c5ba53d437d7c70553cc2da1cb4d1a7898b34a08099b29599547d4f4ea1a6e5baab9a641e069387d4e36f91bd44d7434e8908d945990801de37399cd183f41390eb1014cc0e8ccd209885c60609eec2e80a073abf228501f25af10585d72bbb608334b1d9b3962f14cb29bf1a492ceff1a6935c85ecfe3f40c7d6405534d1665151b604696a1c1cf57b0fa161bcb7d642d51b52887251428bb6affbe09f84a7615b6473717d78abe46fccc041baae303054a7cb0b8f4b765d1db7bd6c3afc4e79c789f7011372543df4ef27ab22b7991387c0ddea3fe3027dc88e6254c151c1ba06637835048df4e6385419d07284e1fb211f3e93133265f3f3e2f046dc2592744f8cfec7efd9b7c9592412fb0c52ca59c520bae8a58573be0618ab61041e17028d6932b764521ad0855c29099e0924157ffa1a01509b891f3d71b62161036c9bf453e916046db708114de693b59b999ca80fef922303ab79064a46619335c1c1fec3e4650f466cfa455bbb5578e93f9e8298bf1559e717838664eb3f08a2d4e2f0cddb13d443c762aed8b8664c840f7de4cf9aab7247806d1eb471bcdfb7ad612a56a458ec97b6c822ba9a51216c0a11b37f0c154f01ebd74e7c01969c7d9875ee272abfbc1e5ffe921b8ab95d78a0b3e17362b53cbc8bdf218c792449d28bb06fe515e9db86549bac0e02230f3ca877f9ceeba6326aa2c91bda9f1ea9e7bc529d96e2eba68b3b05c75be6646cb061c1a23cd79705d55986aec590e5c75be57d9617c7bdfe41ceb4d049eb5cae42de5004aab74b0e3ea91f937b777634c411a94fa86ab3bb06d3b474caebd15a0133165b6faa39dcd211ed5b34cd15bb93a9e49d5f2f7fd30057a070c590f9e36730af38d6dd5bef465fb5086c28201c143d1a7eb40c9126c989446731f645e545314b53332e7875e8a6df9790c91b6720fb17df6becf74b42d5426760981a6e16b3717c26e3f914d441ddaacca56e807708a316fc8ed9ce0c079a5239d290375d4edaf9c1b2d5fc00cc88e6836358a71d67d2025516966bf390acd258cedae09a84356ed3f3323e1afaa67315a287614f197389f825d3c20bd1152024b76b70aca5679a1278dd39775a046397bf5b5ff24f4324df3ab71d37f9dedd27809632697394fd6ed5b54bc02141ba01e980a2e07084e44c5e15121dc11fd8022775f01e075024b08c19baa1fcdaf459ac9d83055fefe09eed015f23ad0eb982b7c73498f3aff1ac82ea44aa3745c9cbd9419e2264f5dfea74dfc71641f19be516487a86e10f51c956158f02a8cf8529c8cb6b8ec02c6c039be79c0c8e9e22cf48cecafd3412d2e1451bbcb284ffa809f7e07759d98b1fc3c635514405bad09142503b83de9bd7b8459b51efeb9031a21ab5754250f4ba348a49d6442ff7483f32e39b4d5cba405f6822abeae9532ef92c1d720e409056fece2d5c1adca44c8367d06494ba79aa8fcb29a6e636d7f710f3bd21fde612d2f379d74130e64093fec30b207253fb060e22e7a228f52baf91426cdb0364647a185885f935ee45a53096e2c977214c55f1d4806f2aa2376fef26fc1277570ef891ed7107abeb5ba2b447b94e9c82c60b3ec224cf320e4a61f25270f59c2b474c89a49c9d871be438408748ee014d14c4d022e5ecf1eab4bcce9c64412cdd98c174d6ac4377fb03cd4b2abda990565a7d99e1d83f8886c1c6fcf301f342f07e3246e84768607433c5ae63aaca029c85bf6df978d64233887a05049b25f2103b614f302b9272dff7e880d7c8e09c7e9239daf364e5ff9e9562d2c891bc11e600423a1e9d1beb379d99350acf0b8cd8092861e1333850be4d19a34f267ef7f238e32c5fab775ec2ec2856e69c9d5e992cbe1dad3a84fff5a4be554d6a00394c27d60cc1cfcfe383a0ca966af96e5bdca8f9766995106b08e83c94710bd6afed8801a5cc8e489b81bcc0f6a8e22a4f0452953846e7482b90bd28fd781fa4dccade5511d5a10e5aa7fa0675f27c00a796d0954a0dcff5a1c5e16ddd650af3657c43fa7eb955bbec5054b8ce22261886e558dfc815bd68e12c6938033404da4cec69ca285031d68a1d865315960337c940c2c2bf1d99476f13a6aadd21dbae84699ffd40f6d64d2cbe2abec5181da10f0da4d6f486cfb7a48fbeefac57c30fb575b9194449d3fd71fb14071fe8c8127d4525a03f89701c58d3a6e5a9f5c4f0404d65bdfa267e3f6a89d34a4fd40f5161a3ab7363728fe6f971b43a7911568fe2ca5e0099735a28b60f9871dd6467b5a76fb71907a05163438919c73403e0e48b46332bab42d38689d49992312416610a77a04322b75479c6a1d507e83ca3c166bb4026dd0d5662a6f70114ac8e525c7535d837523b3318ea586faf78b1a61f7eff7d409f1c9bd5537ff07de1eaf98d967821d0d0d922a62bc7b67b51ce4c45b584035534c38be6653fa5b09485cc16f55df0e3fe7751a28d2b4fea4226f8a2c976d4755f32f4046805c116d147352054acba28e848bb83a4d2a9095e11a4810776acf66dd651b3a3939ecb57b6ca2f2f1ad93505d8df6b157c07859324fb189fc874b30f9f469ce460d2805bcade458e5633a067361babc46e4f1234191a835548cdea0a6a139e2583398abfe53b202f0d6881d9e4aad591ccafdf1eaad636d283308fe437c629a56c3274b45753814532ee716ea17027fb908627b9b58ae6c03721f076284fc86fec6fe2e554533fc9f0268afed73947b3a96e5dbe675af8243e7eb7b966a41f684b53ca35dc5b39e26d395fdf9f92e5e1ccf5ff6abad4ca23909f3f49d1d3f79b564dadf39c6d0b14e5fb644eae07b05fee945ab386c49ff3cc1032ceb44b570520e78f6012e589f96f252c4456a99fd17b1cc986cf2e4c13117c859dae319a00f9aa1198c4243cef197849aa0f813a9d9958ab6dc3b8a8cefa97156bdd0b5926234edbdd8df4ac7bf21e3b7a6b965e2d1d6cdedaabd67b30386261942c502560aef3cf1c240ea62948858a9e5b80d84f4cfda92e2a002d64613281aefb9b9f700595202f4c915053b6d1b4b767842c60838079e0f350363399cd288b6e9638b96d994af7b5949fe754f31c4d4829efa89c71459e8f22682e40ba1b8430b4c424a3dac53dbcee1844ef9d21931c1b068d61ce43c97e5af24ece672994fc666b0c90c547d37562ccb56831fa6becb0ecc1c49b47ec9ba435b2ab1b52ca17388662acd5f965213b9df500d8f2fd805641c778f1688f2fca89e4f73b0d853e80eca6260f58f262efd516a032fef7fc00d46c533e7328d4484683e4d09e5d1537bd89e0f5748f524debb25fe3249cca8ccc562bd76a64fdfd783222da6f16b5a7939cb2191f8eac50515466182e8554d26e91e29ca64b4962af3013779ca41a3740bcd475be15f2a2438a7c8a0416bf30867640d207260293d9346d056dd6f9f465af4c8f557865e1ebc956c3fd6d62c73f8f2df0c7315653609dac3b4e22e9dfe61c39b540b8e6021a11d1855dda7db9f24fbb861b8d2da89943feeae25401cc5df96af2cbd69f5b077d2596ed3942748170c2ae76d6224880a8bcb926f48ffef06ca509e875f11cc3c8755e028929086dbc558409c31408b38ac5b70894af577287d85686629ad3a5700351c39a81bd36e535c336638a00dd5ed9e4ef3dabc2870bfce73388970b0cb9dfa26c9869d1fc403b6ed06cbd0dba8bd0869d79235c037960607e5df07f14cfc9175283ce582e5d215cedd63581dfaad4406fe9bebd9d1224852bc90e6da317f34a29977e38917b907a3bb309f733ed0317371a6ba663b64216b5cd3530079ef6fbe467fd0cecd6e1b2b4fc56285f718686dfc83a2cbaf54796bf2baa8e09acc6a0e14baa5f2f8bd7486180b4338ec5a8bcf0c2b7b9e3369da136cb3139469aa6d6aa2c5b1c56a0bfbb4ca5abb781b1e817fb5500ae881256087152c9a737206f8f1cc104f9abb317509924276567700db1e7be8199819e0595e22722c887d974b6baf49477496439bcbf6ead4edab0e4ed4ad705f8a857bcea196ed2faa10fb47808fc5f89320fdb17b9c7ca9272310e7fca1d3075cf07f366348c0884d5c75da525c604dc40633a428eea4d4707a2024c68c8ee3f379075bc5a9faa8173903d4bce7d794050867e07d016875603490b32ce0f8be9d93ff3a405152b3e48e09f2ee28bf6025cbb1fec3e5de7433d61984480d6a3b7217bdf4bd538ff7a25b7a77bbe013e793a380b0bef607537154794de1c55e7562cc49ff2a332da53caa41efd2f11b7232a40b8a12cb45360c2a25976f3d4171d48698f1ff1d69e1805e3eb4868481de84110bbe06e30ac05ea8bd9ef4d43b467ed80ee013d313504673cf95545d0eed03ad4d5b0d21dbd632242770f6f289a70165c6955d7f6b5010827f87cf1e77b62e2fe149ce70eda41dc4b93f9f0ee469d526affb0ef25a752c8c92053a384b753ff43dd962f4a5dd13543979b2d71b17a9d44407c8187f8ba9fb822a06aab97ed42537e90ca63d75415fea9487b80507f02d10584f77b2308eafdfade410b4bab80c9c1e11c31d39c9e908a65fca102cb9feae1742f7cb72bbb6ac38751c7b86a7b386884589371c6dfeaecf8acc1549ecf9fbb4322f721b8ea0476bbf1d2bfe984b1cbcb0f3b28967c757c3148a57fd025ab0cbaf8b40d3394b626c18b242665bf7209b604d3aa9530ce8cb29066a35c7185d3561e5277d277b20134c5392f8bf96ddc70a76e3e70761a3d7467f00bf62541c4ddb753ac7e7f3e0eb4b8cfbe174dac50b92dc93c806022f07368a4cedb49d770336a019a31fcdbdb17fe33c5485884715ed2a009898eed3da250f29dc969282a3eb63b7719f007cc396e05940651f56e68031c542c1c3963ab4aea3f977cc63b164e585d21028982a0af0625f995e5c87b8b5fd5e2c5ab0e2fdd60d2a201984c91e8859c11aa7e4117e672817af121934619759105aee3c2e8773817b3650db2f00a8e5a49617d585706788b489c0db8392b459ec9e25a879822622a528a5fa5ebbb3646c114fabc596055ad9db7fcc91284b0640f7c6a157d530284bfe36dcaa311acd61348f80a9d40970ac35bf2e26a00492dc31f4c50b519397b554683cdd6b07555affcfa1248db83dedae33d3fd7f0cd122abe37473912ca91013179d61c6ef49e8cbeaf7d058a52be3ef0116359629933a9651278a17acd1fd2b920a0527c816729ec695679d769531c0f9e3918147d75412e3a7f32c2d5ca3a5b3b056a33bc84badb6af7e818aa8c9aa5f0bd4a4a4780136ab5c84d80b7bd0e1756f0acd23934e2e33d76ac8da4a567caed6dea408accd17b5b91e7d0eae9758cda23aa347f5c9547ec372bda48dc5572958f504fbb1788c87d88676914691bb7d278e56eb09edc2b8bcc8120e852a7078edfae79cbb5fc120425f028eebebd1df47f81c9dc697c30cade649e9f805fc8f4bfb7b5f9156c7c801e31f07d7358bf0522079a8cdbf3890748d6ed126578d79dd8eaf47ee60c1f52d53ea738eb7fb20ff12e8fa445ba53b5ad331b9a9d2437501477d3211cb3d600f1f2e6d69b1d6e224b35cf25cfffe97bfc1535c89e55a87c046c6a6edb719ff2a88adcc040242ea7777fcb1ae6610952ade224884e1fa9155cc967339e39db6fd1867bf95d9b7a91ebd5056cc7aa263da5a86e5cdecbc5b5080cf6af25ae161ac185cdaf5f41bed51d1891d1ee1c4846501d0192e461c1f5bdb1f6dada063df9226135fe083a37e572889e30f022c6d4c81d3a8d44b8d4f89212cb19e9273be4b3581240a7c4a47a52fad796abea83bc8bd4d34d05fe431d65385c223f28ad38012c87399c78ea633534cf17f6e65e75c5a3be75852d0f914ca93a55925327ead6c751ea332ae272579a3e4705bdb81f35f0132769f013e321110528e228c96b90752dc8550a9d3c6371976ec592fbc6ebb32539ccdfa020eed9ff792a9ef9d48490d6fbbcdd5e0feb7dbbbf1e708f2f0090e21f42639f3fe2282df24d1fd4c8c33565f77421f0665fc9ebca259791b29daa9da27eb23ed12c4849011b93ce4aaf960cb6c37753e38b91f529d6513b709b6388ef6afdcb6f72257aaaf556cd6f605b53b600b449f8937150be6eeb0b5362a9222c30ff0c7803bea7f2f8d99e13bad23fdac336c9a320b1c07f0c2783ecfcadbc6e21a525a8109d6e6ed31934d1d97306d0033a0bfbb856c82df630e5cda6793aa0043a9a7b9a1ce076985500beb74140b85023fc13a43c8bc64996a5a7b3e5b60769bf9f0e5e14763d422b0566446d343432ff5285f381a9f2b33d7dd372c02c9fc5fdb81d67887df77a07f906b29fa360133398d7f8deb1fb235688972f791d99b9c2171b7ca337474a33e3372a8ea20f70bf697d11bc1f0543c7fb4508f6b618ebadff9f218c29de60663d346de4479e7a629e595b8d45c511ae11a8df8a6f99fc5c9d5f0311b25ed1a365b97b2453789fed6e96e144e682a36b9863eaec5ad95759c2b9323ff86906f8adb876d732b83ba2d8e8b797cc2dc302827d7587561a466d8002da7b902dffd82e6aee8b79312b7d07dbe8a8c3ddfd9711237b93ff346367d9e88579495f0bfac31dfa002b7f6d6c9363cc124365bc324a4e65ebcd0ad501a97ef5780166e394de09eaed4d74319d8ebaa432c9c153ae7fdfce8311330e035a478ea92e0b18aed70f7d820958c8109bba41ef9453f1ff594f1a22a0b90e2a4af8dcac764ac9e94d5d8cb80b1b7901737a1697e81e21efc53edaef28ad69b06c0cacc4c176b04fe1ac42d56d1e9e336bbd561634d895e05f0c3afbcc4f791a62cf83d93895056a17a8d336d29e420f0059b780e6a8ab8dfb6efb49c506d5171d12ed52460ca1fbe23ddcb4b6963548c4729226bc872d4cd83cb702ddf5aebe067c9186ca5f845401c3b2076ed7599a3e4fa10e62688cf3447424b3c1f38df45c8852f2a34e1481809f5dd934516a0ba0a0c0fe29b20b534801d3dff0bad1cd802fcc1754af49cf0b41d7ac9a8a7c508fe3ace5d23ea49541136fce9d134da0338f5dcc165d33b396b00a9043b42eaa47ea05c1139c05ab1c31b4436046ebe1207548a240867476694e3e9c2b9bc8a98ebc8313797248b5cdb71609c5780045900bff54e00a8a59ed8ecfe750b3fbe67c2047203336e5d2c2b66eec6253f8ddb3b5a0fe6eaa00e462843776d8c277ea79549342d2630ccc414fbfb4db8da9b4915d6648e7404bba94586b7081f231e8db663b5f6e14b226346b9da4b430e297423a94c88f529add521567c49bcd343248f7de13d65a908b6e5ff7cd5efc46b2fd3f6b5bb37034690746b42a0ddd8f9bd4dd6e00174a1d3eb4ea7542c5ed4063a5167e5efd50ab13567e1f12418fdc7f2bcadf79777a0c627085d8c72959693c1795f5e30b6722a5062017f0e2d65ac975f69414511cbc83bf19efbcc5b7032b390d32fb142737132ec976179685caed0de8a205e51b60c20bf30a7ff509f74aab78b301f1954c3886b186ccbe07b345f6727ec4e0238b23f4a4cb9741964c8fadf658dc303bfca09a20545b222cd593eaa0a6c6d3fcb8ece0b7f770d1f1306dc2c286f12095db1c6fcdb45fd3e8c2155628c40ccd46725bfa6be7e541ee63bedf7263cfdafbc7d247c677c6e305f7d10f399e5f5d8752c13255946c86508620a8835ff263f2a3273567cff2ef724d0558f729ba073905355d92e3d8e19e2b2a4898275db6242a0cab0f333bcc9b68fe2d9647c40df984b20cf8ea3f5ae91c11396277e8706f548c750168158ceaf71ce4ff1eeeaeddf0cf7e0d49ad59ab35a95461d6651ac39f78b637b536e8c30b7269f53f431eb12ba6a0d5c215be457779776b2bac23ebefa3ef21eb59c71354444e8c100127ffbe09f381603cf788b58a9f4e7644e4c678b61f3025df0c8b7466d4506560b9237ec174e1ffd3ff99648a8dfad04d16cd2ca836553ca5768a13eb54888110b1db76697eabc73ccaf8faecf70a48db508ae93e1a9567637ea4735c96964632d10129ff3d86918cd51dd589bf0b96769f5b63e50b9aee48b1b3acb40e12869aebac04e720fcbcc44e183aef279a6394108ae57d152ab274224718ac421d75e8600a3eba6520ff1ddd593c1b441df00c802d0035a9aee641fcfde2607a71f977a71c730b7b9cf294229784db4b257e0a84ec8361aa0e5f7c7db49eb7192b09ede0a372bc1f7b618cd53c362de632fe90979cb463d8038950d817ea3c2fbdf14f3c0d967e72c3b0386bbf166d2ff17f0bf8234f8c6a3d152ae4ed401dcc0165c891ab59bcc634ca1f97a987f3c3d2b594a2b11f4c29517558922d825b066673b75f64c55a450867bb08e43a3a7ec7229e28b6ae1373364f3374006f4b751c8306e63e9cc08207469ed323011858e26fee11ea4b17a34803b12240a5ee9db26bf66341fa884e00416e84638a75c9dcd00dcfeaa490335b20fe94ffc0739d4f0475c57208128388dacec8680016f64eb625c5b046963681fc52068825529b1755f6c75494c83596d18f4cd5175c1c46b061cdcdb71307d97198f3180a4a5ff4e9c978e9768dbf166d9d837334c0a3892b37256f02ba2aaabb687b40090c5f722c1a68b7beff0baa3b978ed8134fa8690d54eff19ca3ec4ff73013a7c083a1789b23bf9755a4e2a677582bb49a75f2912c321caca58f00d8126a2192657fd9bbb88750a2768c299f28b45009af714ef982a1b98f271e0423ccd2c5e68d1add23004d3e4cf0a7676bd5dc191a7cb4054e17245ad7ad0cb9fa6f62d1d76728050220e832a0373507d0c1239d601855c8a765c7983ba7ae0708a017c3c9a33e9447257f1e4cfcbe6c31ba756bd10d24a0fc38b5b3f8740de30874feb6afa21a7311f384a90f089591854727e97836a57db42df6b30352383af85bd6f693286929e040cd24b6499a9ae5a6454d136411502ca1aa9f93dfc7850f3ac08228c65d6aaefa388ac2603c8eed81a93c261732f0c0d5a20e9bcfee07ee876b5cc3c414f7789345fedacd0e33ce4e22987f1828bc296a4467c76bf1e043e086f3b9195c89ec5e6455ea9d3d31a794b4c30ec5a41d48afe3eb0d87dfb0bd0902921dfad2e4f16ccecb8a22d100f9861794f0be389e41e89bc5740c274edf40079fa8c7f01c63d5c699852c38cdbc16c31807428049dd4dbd83b1d63b55b2e410ce8e26af5087da0be717878725e1e7d03d3bda7305da82ed1eceada27b16092100d3de5e57e76216df3bd314dd5dd454fccf25890f69be8dd69818191885c02b4732f8dec8e805bdf76539b23f59826ce67e2bb6771117dcfd18fad26f5ff2324269979a5a78a5f26f47d243d0e958ca5750afd85be3e5e9549369967a7f5244b21397440f0974cf1f40b651c7109f8c276ce93206cbad94ee50a237f8ec59f6c3f62605e552211f2e99c6a61569451450d9eab6700f438f593d11da709ef52874a5623e7cc00de7f5147329ab63162771bdc21ab55b53f375a2ec462a634db6d52d038bdc2eca1221916958c108b052c9243385e30eb15b7b7dac99b9efd52c7376baa8e1c5c1a964158d72694322f8f78cbf1a32085a80b212163af1169b95153cec7b096b50235f4ea4dadb78b10b4623ea9a6360232602700456efde4666dc11de6245aea83104616c2cc29779cfdacf4b788b11657dd41a0f8c91d0990d1ed8ec0c08fe09eab0391e13a75efb83d6aa384deb4775065e13b97b0c4270d627689e29392897ad827b35aae61c19bd874ddcb36539b40edda7592663591d413bdbc0692f16dd3ec664e60d0e066f1e8ec09da80ab415d3cbd5e5218e2dea2d1481da27ce6ee02788948c7d00cdd2b761e4ff0a5d676386c8e50849d3ba62ce2bbb56a55ce0511d8ffe7e9b9fee034487400fbbe104aae307c21ec579982ca5f33bbfe1727fc3a2a2f5d851e9d632faba6b3fcead80331903346a64c8e07836c76c335a26a95f9b907637f42c75e93588509f84248839fb293964b98243c5cc2919d3608b8d329fa9718c0942bf22da98aa8c0852ee59ad1089c6497040264881742276f50928949c6991c00c88e1e57ed9de584e34fa9ab2316d9c685cb37bdc0339fab356528b6c92b06eda3b230491c3d1482ba824626c657386ce889b6f495b8ac76d5d0b7d5c119442108805e9ca71aa04a82d8ed843f2b184e9471186f1e1ae720a7aad4c2f5d1da0ae0d48d7196e9360bc4ffd67fe164c764eab6f16a4154d5c9fc378882bf510d97cd37c93a5f0071d5d917545fd62cd7f9dc57c082ca5ae7110433c2a5bd2c42dc8276470cac8038b08abbf7c469985448fe8692ca2fce83d2da4922fffdc8eb8b4136dcc55d8713359b39109d8b663454f5f65833489ce0715a952898b015c0df3f98fc374741e8698b5a4e2e26c1b700c4b4a60702a6ec26bcee7e85041e441acdef07c82ed93bcfb9eb7041e5ea8f0e9499364000da3633cc1e9db41eeb69789213fd53127d53a97ef44dd5a0422a64ad658196c0d757c935a787b6c07261b37a94f67f26bd2836110827a427926fe62bad51801da1cf8b30a09a6768a0b642d0afe15bef139c0f9fe9094802c87a5152b062002ca16d6f4257acc19f05ab3f4ed5fbb43a4310fd29a22d5243c1ea323751b9cc66d86574a175acab8b01f9d17dd33043e4e36f789633a2952940c37fd257ff40d10b65ca36342287a973da889042f6783ab55652d6a6c643e0a9bf10e182cbf99ca68ef15273906616f43ff76914f35fbd5213e3c20e2ba6a845e1f8a0c844957d59e176a4c3e390d9bd9d2a91d782acb9aae6d17988cb200b5e1e7c1b6ca97b33185d40f6d5e29a5185650fc12e57f6e6192575e10384241f155cacbee66729507bef75ee1fb83083329a60784fe61622150bca831014510e1ebae028bbfdf03d5db0f42bd6984582d05d522ab1cf1d635590c8169ad07ba10cd03cb2462f7ed636fc6fbf6d886eab6dfe2991eaaee34f7f964be00726ffa697a2c4708060362d79c40af64681c650b80cf6169524f5a2d50f7551adf7b2fb03f049f30a35cfc4859027c4996a30e3883eec2584906e1450a30742e5fa4cf1491a6de107fef24674f8a45f00910557be4a3bb55fab6762c571b423bb7101d1dd099f671b0d4d3065099c1873fe32555de770b96d1af6ff63d1fe850e65e3ab70e935d4330071ecfcfcb8ad586af7f3fa811d207a07e1980460dd61ad7c8bad83043a6eb06de7cdb1aeeef42e7ee8dd19fc14eabdc2d6f785c04b212c54077a7c423fce35fbf6bd9c0ac10c3eff93f3e7b23813198e9426a66252d703f28a258a8b347c0d1a208dc64d211b2ed3a8dc830317a1f49c4aebfe00a123b1a7fe1523a2dfb93ddeb6163e082362adcb762ddd503b6c0733142933b4453795cf38bbfa1e32a357fdb61e125090bb2e93f3a3c07ec418f514d8a6394fa202c9e8465e6246e7c8be9893e18b853d57a553ee97d00b8a4c24b2de16893158c8393b8944df78d4af60542f699d428d3336ab41e9a908f2ae3a62595f4821b0aada67e6edc52ae79c9707dc78ed8a978ddcaccdbcd4678f65749cfb54f600baf87537ed56d0580b4e011b13cb6e7e7b3d687a6e2338543baa0675b1544d5285df7f0cc63913f703a2ec0bef8e18601fbfb9dd252151a331d8639f2a8f2a04f0d7618fdf41cbe9b637eb35b377222c9487e30c95d92332f5b834e57e1db92f763d4b97631a971512351a4b08cea5901fcbb746304e11bf4e2ab80aa58d24e4e888a7afbe34c0dacfba1cc931e8636d029043d5dd2b0e0bc09a06562664ecbf4e95f7614332bd115d6ffbf52fe20088d22282145e86b03ecf6a1acd347b81d60482b4d982a4e19f66f446d20adde9d26920e001d36cd3470de133b63c74cd3551b9db32403fcbd8a70f88e2464156033e80d1354d9db5ad7cce3dad3e5fb43a87d15a5cdd4d530b5ef7e93c486422f525c781f939dba98fe410cb5b1e6cd9205acf3eced8b4d42adf5128bdd44b0cb180c87ced259d34dd820c2f7c1b3ec691b4395f171513b5a84d87066c9aa37a95a18c7fa02f663990469bfd047c7a3ae4b0192f26559b414ec1dfb2d79332a1a84b288c2046d7599c96ef65ae2545ea4b096112ac0a930511a4a7b39a5fd38758fe2f397715d4b94ab51d2f0c7f653898c9ad45ce70a2628f7312b44cde91a716768ce35d441f2672901d9aa3f0b81cb96b479ae664f392ab384fc6feea328047bda578f67de659f83aae39831344097478c53b3ccd7ef9f7e7066aac2cf14d72e3f171e0c9b33b64cda0c7a83ad5d8a491e8f8f8f44b07d433a06a52cef0ac9d26460d6b6e128aac49f7adaaa812d48a57446b04e84ddbfcb95f02667b61b924727f877b008f2bb32f21e5479b77b8568d1f58930e51652b3c2478b5ed5c9a398542e06c15d7f32e0430ab6628a18ed7b1814606c7a334d49173e0f156ff5d697aed274eeb32b9d189c2b2a023f5e5eedb5b22388a424affc27f4b8b557d7af2d3186fe361487d8fcbb4e874b90c3d1231f711fe141e4a386007aa5221f5c67421b92af6dc03df3891bb896d4ce16aafe8b956b467554c2f4610618de8f31a8e107ef314a3ae24554596ec8785410dfcbdd2fa5c71fa1617857c8eae3e5649c7d2af9f14eae70105f2a4b019637a1a73f912ceb105e25438bc4ef85e81aceaed75365f5da4fa03ca0736f2616cb196a5f397e517baed5f0ff34ec49bd2bbfe5dd02dd1a1dd39cd4eea9edbccb098f727cb33e8089b3cb2a16fd00f01f747906726905d8f031f0a4f04c899e5b1d03ec0e4a835dffd69ecf740a9ea2e7dbdaeb5f5367bf7e0d9662e554a4fab6ee50f780507ec484e63d171108d67b3a5cd585f28b36f220ee9c601004d535e8bdbc672529204fa3247e69ea94ac6482534ed33d5f828563239f66a4e798d482dd100b2e472e5ade49c23996ac725bb73f824f95ecb1cb97c7a001eee66d041d827976f10264946d402e3c4c34afa178d9edef2876104e90f813740fdf38a9d063bae49f1bbee87eb0bf32231b26402c78db66cbeadc81d8d32d94ccb21ba7bde607640f1e7f5e4d4616a8c3e78e0832b569327b8ed2964410d7ba235b2900e6337f731056bcb29364698be184085a481ef6c4434915c81d3f1373ef15e36cbd0d803e3a3bd8286ec60a8efd7a5036f6ae0c648ff76fcfacfdae043f1e8e00616d0d808f11299347d839c5d7fbbae2ec5b22258521bab6a4c5eec75b892c2e59d187032395e6df57e89132ac122505bd1ef454d100ef3f61618e2797dd9bff2d95a099d7fb6dc324dfbcc43888c3ad6f717df0f117f3b9e5d59e48602e4e85eeb366b7e14702cc0c56a5e7200d253f74694391016640a73dfe124b6c34c2a0efaa5a0daef31b2953f6160b4368ff19e0bf76dc3e2f165006f37551c34587db7b1d5457b3ec744a0e5b0782e624740f6b01926036aad588a0166d569a40aa245b84e2523b3a6765073dc1f99332b89fa1b3eedc48982bfb95c2080c8c13cb03c0b9a375a57fb1bf178db0ff62d089215a3b7334e54f75df9e586f05eb60efc00a9640557da4c4cd7b310d3d65d23d84d37e63c03a1a49328173a8ac5e61d8180d2890b75d84bf918662f25e9eb3e044747789c87d38479213d67ce4ea39c8faccda4e6ba757ece5e5f8f321408303ed64e0a07d9f8fee101bd6480bae148d0b8a03d7c7dbd47ff7a3344dd093afda455231a5b231a0e7db2fc885972ed4fd457e062b7e1c89f233bebde9d1fec972e6cf5aaca9e90f8c767c96648db78e2d25017b4265fc8c0dc76a8a317dd23d6f9b8ce99146a819290e9796a1949891005e1cd48ee3b3181ee9053cbd52b8b558c15c7bb57e46879d6fa0f18f5d04827f6a408dfea3eee7218d8a259941ec94dad72d00b8255d38bf9ffde7f8f27c6a3dc9f3c93b39db1417cf1366b9e6ff5fd347a07fdaa92e895d382cb983ef04714e8ba701e7cc2b0def162b24a15ae086850fa015410eaa3107725d61ec9e7099203ee7690490dcf259625539285df17b13d18afab7b9b7724476f1081872c55d4c956ea89c45554362e479641598558b46ddf43e9e8e7eab57207da19cd9a1bf19a6f4a12308c5b068165cc313cb78deed13448fcaccc1b2223186abe2b727643e4e3dbb969118f0084d7b0458c73f64a87fd1994de32cc22372757ae62d1998e82ba06d9920495939218c902671ce2643f824061a4aaa2dd9614b663505ba05612388710facdcd9a85ab526bc19e1a325b4a4c34385df967d7256c71f60fba9c5c063ef96b06dc1581774c3de9b40e8ac307b1e92ed327eb6e8ae1c00c9b1a1c9cb3ea0a0e6d561203b32097926c23c8324a5bc4670ab1f009850ef64d2407faf074d49964af205303d4cb487c42e59188264994a9d5bee824dfd0f91c51f97084525b50b95f473dded1e114714219db2fdf0a2385e5d412e9d7f5f765a2ca2c16c9d2209e6c4d3c70566365793fa437e051120380d76dd6dd5e90f805971591b1bbc3f9cf6b621e71f8056597db0748a0173715e1c0e8a18f3cec69b86e7cfa6f922418d251dd37adb063372438e6cdf71c4ccea92f6298091cb3f4a9935460335dd91882f73f015068b67f0e96cc02e271e37fc2fb4ead9ef820f4a3ea4b34587903a988268a12b385bfdde9908c41b604bbbc84227e450e0ce0d69e2926063b0c051f3dfbea833ce223d50c164c6235cdb17d05885a915d9fee3eda0abe3b2123d7815981932e4473f659ddeac5c175c78c5d4e576c6f3754e4e439119891d242221829dd228a77403ab1d51d989eb61de6728e897f8e590909007da7a9b51e27e82d25f9da5023f08b62b4f3e9fab7808c54af4892f884a852bc8e910701a22b4413dc7fad7d0ca5869de3c19d0abe415a5f3593109b6057a001d37d9322b82c5a02d653f357ea6285f779ace29061d734234c3f7128449176a96ae1de6623a69fedbb632bd166378bfc38b01d4f5f4926dd85e3dfaaa5cf01cc41d6ba050379c075ddb2ee741d9afaa586e9a60a3b55a01caaea7a3f3ac3b986cd1f99da386fae40f0d9d334f0b3d3a5baa0e51f980d9ae5989873fc077fdb1532776d9f9f933c7ea9262315078e355eac18148bf9ecec4c88f49216f33c1916ef60ea6c7c27b164b71d75aa501d183871d705b759124f6706f79c5c90fd4d61723ab558fcc2762a0df21952c5189e155e2eee9526e97346c47f1b114e8d8673c662e960c1a9502a671fb1a9141953796b2f5c5b6b4885cd98a4ddcec70d10a3d5a0894c83d18d0f670a41677fd83304ccabffb2fc7d6eb00054051528f31d0aa980df5dedbc1b4f79be6aaafcbd4fa29eaf9fdf85d736a1c63f439c7fd8d72cef05936359e385dc6a2ed21b24451934244e20d04019bf61f9e142b726ecd63f1d28b6f452844c78ceb4d2d25f8ba29ad024dcb2abf92697b70648a4b74f7ec37b8c6193e460cab095a4c4b1db3ed787c100ac45139dd69e06b4c0b6951512929371ab0d70d93715a80a2dcae4e5895a9467ff0711bdab849947473a5d6f276dc2aab36f25189ac8b4bde275b5594abd3c1c43364511d961981e9aee506968ebef1c884933d30fd72f96c3ddf6e7a7a73048436340ec823a0922e20998bd2a5e68492ba2ce3031561708a867087374187d519f29716d5d8f22895a4d69955a46475a7af8739b82a47831bdecbdd000dc7c119fb197d4dcde54539bdf7d7bc4b79538bd6e9e022aa37d933821b595613d1a03f580daa730c9939148a2812d9c5c8fac1771473aa420817abebbaae575b715c5df85dda28b4899fbc7eb2fb5afec2bfb9f7ed10c161bc98cf9168040074aca9701236f14eebb221fc906d9d0549f61dcd2c7916737a5f3ad8a63ad4149cf0330c2c291f83327ce2ba0057e27d31ae91b09b6956ff9a5e1b5e5f9ad3f4d4077169a5fbbd0be408d5c173f04a4cb756c7573404a2ee95096fb6f044ec16152665291745f779a280fbdff361457b16b61756a82dd74c154b51c9a456af5940d7110c89fab6c34894c3f64bdcc6b9a54e6e685aa611896697f88968f36b132e14bdb0bcee719c0d917dfe689a63823785d5c46d9d1bfa3af10265f28b6713e1542a2441891a5d36aec301cc85e7f903c386bed3d43becef6fbd8d5d749d8f8938351d53dd74cc16c65b42be85238282e953c9291c60a4fc0ba9e5c1647e1efdf0f22406f135a414fe4d932ccfc27b5a8d1f5aeb8447cf7e71db46cba26501263e9387c6dd2b3ee7f836d394c5c65aca8a2c1b22631c4e1a57c03cdc8d78b1f93837b87be9dd4f6f3d6009c26660939dfcbe06fff5216100cf85be3f278757b16391ddb8dde0bee66cec449b99b84bad6580645c85ae6adcd0525532a7eb6a012c3c8d2d268114ad0865e63367f98021663004ba712b742d4d622219370ae132ebc76a48b669df59ca03c8e7f07af4fef9f1259bb161496dda367a40f18d7086af6fbf7fc050a5648251cbfe597b035928cc3c0173661c7f95d76f15bf0f2075cf39309f3a89a3b0b2e412ef575edc37a1275634f522b6455e5577d5d19e163908cacbf6da1345fb8eeea51fac8f3eb6cd792ba5cd32963c8fe35adc8aab0b142974709fdf5565736eed787c2408315423931d754650bc2d6dcac2ecd90a9d5348c3a182848ef360346d235d7bb3c4157172a20ed8d7f9dae954d6f5a5fb4f1d0783909cd693fbe25bfa724ff6f83e08d62c4e6eccca94b7ed0e21b10d22333deb027c1a939355d27fe4479dedd4388de0daaa46469c871571a03327b33ffe3fb960c618ebb033e08e90e054530d96ce2af92fa7e19810ade9cc2ddaa5679b291059a00df5d7a2934226af03205ea27fa5d60d823ad2b18dd6e6ff6b6eb3caf1ca671d6e918c9173007d2f0acce68f844967c494a9e8b91551995f4a93c86483a76464d0a7918d333dd4a64800834a37fdb6478cc855e0ad1833f0d0be5ae61c9534708ea579fa56c63630e5e87a90177b31871119f44f5d8cc8e4862a43b3518252c49f2b8409af99c38b746407868c4cf4a9a9d4b365bd2894a27999d7454729b766718df4f831f61c1e3bb6f1768acdbc8ebbfc075d90c8665f324d85499b0329ccd333e410a4973324659049f3503fbc686138377de5c586722cc1571ded032ecef9b29b58b7b9d1c6c43a89a9ec40c2c5bba4317e7a1e16bc93589b69ab6551a363789fc0fc64114b682ec6523ada9e39b93c1b3519b75b84eea534fb2da7a9d102139a9d01a0df8f1f6c29a6b942b37b1b15c3227e12e00f355aa3d3fe2fc6689e266395bcdcf20c8d13119c393fed6ac4040fc772e2bf82d5f906e555c9c644d34dddf653211562544ec99bba123385de5d9facf83fd939626e6af6c159618f663442e8d3db4b11d2e9b03148ee01052d1d611ce250e70576c4bf1a9ace25215cf12a610d4d1a1c06e83bbf48ab4c5fd277c2341e59e6e6e644262897824aec684b760cf1096d61a3c4d992a2e04a9d7460c5526f8e615552c82cda64481f556e7b4c35859cdd19649d57e6c678e55556062778f360f344cb18d5644ab57e6729f8f88c3ea8001a5883e98e577fd5d6ce523824b4863e8f1fe4ab38e830c800ffb1092d76ca6364d71869e1f3138ed9fb4b2e42e4386be1013009991b5395748b28f92f8d2fec63dd700def7a06509dc4a9b2072ded80129b528d7b6af7b559a722b4250355c3485dc3ad2ed39ba5e7d8dcd0f702674fce1567532985e7988dee01794788d6ffba54d06b11729ba68dd1068bf323d382e1f88eade2af9fcf615bd5d36017a64a11e601901ba24d96b0151e458872d933a1257c0b440965cf929812e04ba3de40237d9da644c10500ef296115aa69f11524a01207a1de494abd005e231268753a363c5e2c84034d8dc9bfbaa7322a91fa13f57b0170679d1dcdf8c6c10b79b969902b3dcfdf2d6510943c244da75757fcb316c10ea6011ddc8c517a7b56b5e7f431a707930adff049aaf6b3017bccef4bcd42a2705d70ac5f09e12e2d176337834a6adba4228cb2f77c7032fe988c28ab3d980b0c18c3478fe363f50dd8378f32dfda804814c5fbde2ce669b896e04be80989e0bb4a2bcbc8bbd57df731c6927eae21ad482e7e0d9d96a7085b96ab6cd1a66869907b3af9386c40fb4f766f51169cbd556be95ec62d269516d27df04c00ebe4fdfd83ce4d7e792b8e8078e46c2bf73a3d2c213a1e57c0dc23fe21e8f2bddcc2d8223161e22bb40a421ceec79334e869c675ff396f29e6dc344eff0ef30c3eefd31006ad5b7f2d9a86a12a1db7b4c8378d5296bca0a10248d00ca3513b497886ce6242acbe92fcb8cd490d8fc58599634a866b099e7ea0f336702f42799a34fcfe4957a81eaf07921b85d5cf1aece10ee6b70fa1e3c319627061628ca4901887c20b67a4e9c4047464de16d1ecb75dd3917927718b8e5f2fc136c319bd1276094b9d28cad9af9e9ea38873154f8dc114928af491a2141553a5c33f1ad687ddec62be070a8700eeecb09b91d064bfe76c78ce69e6d16c5266718b6d2a03090c22e7ece023548165e492257104b36545b6841c80803dc3c626cd0fafe3c6fd7dd1b2576aea53ab729ef48a43eae7ba505993172ddcc63422fa48a5413db2bb66f2a6190dee048eeca9a245d162799a62d25b939556e376e52ddb79880dd1fc210b76d15967547e9c014f95979aadc53960286b52322e98b8de672313680adee3f314011a324093e262595e5b396eb859f40ef7e28371053eb83723c3ad7ba5e059c1fb007d43f6b98225140b5d5a2d720ff4844afb72ecebae0f262b38670d7adae015683893dfffce8320066400add2b492016214eae373f82e5533939b98ca2003cf1a231c8b8ff60648f83934f6e61f1a17ff14b70229efd0df81dd97c6649884e743fc2593408e04566170e64344035671be85ec1a859a52ed87374304e324ef52fba6ee74aa536604a6ed25c95ff7c047d44b0eec2aeff583f1b08ab8810df99d992fbbdfd0780ffd30e10ddd949be2fc08a929ec41b141e03fdb76e385624f8053c3bd5764ecdd5740daa2767395161085233f27fe10ded4cb2171d5926f8d08021e609cc282095140be8d502d78b7c1d12d6ab3922fdaf883c7190b33cdd06814536f60d6aea294d573ccfd434208c6fe6adb6a44c65b5f550403893801c393cab1677662212954549b46f0934badef2279b72cb7c738e26bdb59d0103d18128159b60ef631c4db02ab92d0e11079673d15ab1af0e053d63fedc45c9cc937c74315646506547ff0b0dd4367396019fee3b60eb3687f960517b7f96448a7db6523fb39a8363b5b2abd603de0c1b97f4b6f98f49f8dd751dc57f0140a62100f7d28892cbc5846602bc7ad7f785172cf921f926e6b8172dd737b9f247da6cfe29fcaea809476022c95195f4815f7702534fe87ad98e5be726795dac9a4e6a4be132f51ec97d74064f7cbbddf9e5bb131d22f2bbbbf0f89821e70574737287f2453a28670afa6c82c894b8f3e178afca86f91d71ff6ead643f5416600130faab7d1b4ced90cac00eeac74c5324dd343ecca4bdcdb149cffad5da5fd5b168d28e9baf9864df4b93239c1de36e3673bb97a42cb3aa9c0a7083e20f7c956f6ae18fab19d1fa5952c2b2cdf4800ad91e0272eb927faa9a23d208e6e47530ad373caa3f39b5ba75dcacd6f07abce0bfb5dc7e7e6ec8d919096a35dca02a49322985860afbefc85b473d7a80ba2a05dcb8ee25283487d1d2a1d84006804743434b8267a9612c32ab3745742df985623e584c73e25cd851da46ff390a8bb0302453fc7211666cd5c7abeb7b4d50d9ba4340e0d382c5f6159e5517685bf8f395ff66d2b2a4e550018c3f7d17e1c22017a2d529aa51d5c8f6ff5d627e9e5520019771793b511844fbeb8c99e264e54929b15745fb3a66e1b0c06f317491d576e3442905baa18b6ded10e1392089b402e8fbe6de672bf57ffae67dddc669b7cb649c15ef627ebc106eecc15b3ed6b249371d05ed8efd49b39e22651fb9b6e5221d015f39f85ae3c5ada23baeb91603cf01fab67914e93f01b8513ada9c2eba159ac5e411e8867e5fc2bf68b693bd94bfa6c949b7d85fc51467453d8293ea27a4dae049da15172e71aec971edbf22f5d8576c311580aebf2193bab4703577d88fe360d64b914e9a9e1e13f97b0c3ee1be76d94bba97f9cb4897839ae99badcdb50550cfb7d89f5af23d6bca7ef9eaa3a8fed78d9ceac725a09ab69722a88acc6b3529997ae548cf71b54a1cc03f862012a75cac300ffd609c381f07d17c09299c104d8c222addf6340aac548101da05416e0934ff36ce07cfb70b93ab84f0bbf5f431e901273bf4adcbc7fad431fab069b22ca5c16db312d5f12fa740a2a8ae7a552f9813bbd431345db2d6ccffd3f714f6dc0448b800fedb3b8a5b0d6ad0bb4b052d023441ef7e7a9ec3798ba975d203a81bdc1dc753a24d75c3818307af96accc9d67fe55ab0bc3af691cfdb520ba9bcf43b55541a65cad6914bd2e95bbeddcf7a2a4e77ea65377dbf1a84bc3dd97ec5aff6042b17aac3d190f8a17e5f3c8fb18a3c35b80f0dbd51a92737b6c9fde0ab804f3f75f9565858dc87f852cf4df552338bf291d9db131f00bb2f7bb8cc0e550a7848722bf70e2a24f33ec31333c5608491431ea1a89aeaa2a6998a32484374e5396805aa359359346bf565117e883836e0ac1ddf7e812a66c3ddd9d32d4194898a0ac592a4eaa2d9e0db5ed6b17364e31bcab044c4ca9ca28f8ada9f011843c8d4877f5e647b67e3787840e274847fad2f9e1b7a5bcd28c79c00015c70d7dc0bd7d9bb44f21c74f1bcc4bd690757e0bb14f5048c8d89d8660217705a9335bd514e5bf3776b45f5a00d82863c7549f6b554a87ce7ba6aa2e4cf9ec64ce546bc982165cf98de1bd529e27bae189f51f527cb4657ba892d2edcef148e91e87c7f3ec0f05138256c68ad7a82bb3b2e17bc660dd3c8edebe134c3bd0f2177933e7ea99639938e817057c76246520581c6557e24f7533a307fa060e09602ed1b472c1e7ddce47ca9ccaac275a271413b8c3d4dacaaad98b90398abf3af7fc8f57b715bee535a38bd4709ffdbf20bcf36a1df623ba4ea402b4c757e533495c5ce2e86cbe314d874bd81a995ce1afe72315dc4862974c0e5dc5152df88896b4ddf45144425001827c02e3bfd7dbee31f37c5b2984b3e880e6783c0ace18c5a94bacd6642f6e7d6b4de21a4ef31398d5624704fe806ebeb7fd6fac44a02b8a06aca74af8bfc65571a47c560f66acfe1e8f651df01e0cc2b0f96c36f75ce9e2aa778ae0c32669b70fd34231d617a15deb59c5aa4981fe28c7d52a55bd4bfbfcf2ea1c2d45ff2b418daa543d638cb99421519fadc33db34bacb7ec156ed6def62de822d7e09cad98350a2b2bef2b884b290e1f08215c24843f3c7496888504fd8963aef807a3452163cb5de2f6cb6048b3cfde4b607c2e7ba8abf92f003fadb7c36e3e8b69f8ffb370498d0854f4210ddec97d940ce837f434671dfa34a297ef9725435e20591cbf8f2e21c23c563125dcd934d51c3377f1241b276af23ac0111d5d4a49be971df86ec7b71a4647586c88b42281329945c15f6d42ef017f3c3b5b9f098a4682a58f184d1b12b665eb1c9f8b9a03842c3528fe62892176ad975443b648e8effe815af0fc7964ec6339d9568d7c9227e23e8bbcf3f12d5336fca0e301cabc5cb58cdcc4945d7fb347c6a7c8b3059eed66bc4ad1a52acfae6f774ae18ecab3cbbcb36fed98e6fc3d9e4751592063a922b88c1c99cf4fd4c60d55e62ac0de2b54ffabe99a28fd82f213bd70b0e7604dae44263c12e40f3199cd68604aff849d0af9ff3bac4def132e5bd41644461f3e4b887d182db9ac34c62aadc361df695aeed791e3c0aa577e82a35d32b0dc2a8a793e712c0bd5b204139c86bf4eadb44c90e3b572bc5ea61815d2f9feccaaeabd34837f0aa7a29a97bfe39d593f39a930da26169e7c90177492bd8333c119cd6900b7c6621de410ca23b75ad80c1a04236afdb609a9f45491d7b145e058e8a0e794db4500a110590282fd0caffa76fbde9a0589f8ec37080ac94ba7fa2700b7dda285856dbc7e8fe4e8e7af00a4cf8e62c8baa6e1396defd54ab1bc57534b17e77546db64c71f53dd3aa59aa7afc4325a231602ecf78f6285d940c583c575c16bdf2c5b24891ad177254ae4601ba624ee7691ee4c3c9cc4a5d4891eb338cdc5dfc367cfe1d86124205a15cecdf1fa4155d767e6827f498b35e9a8f23321d49aecbc2571eb5f08ea6bd0aa574e6062f2fbe2e4d18e06db0864b493f0b4003144b31b299c602782e786d82644c6582912b2562a948d6a4132289662df981a4c83668cc39908fa028f5bd1ac2df974e273ab8afc10292c283c8b4570a4aa2adb67f0b2de67aa76f1ad0c13ae47a941ee7d13aaac8e9e4d5fb9b9141e8c008da696bd191a7c79607a546fc73133cb8d87cec3b3fe9fb120736abfcef93382f269fe7f668b2818d5ad1914c4f4dd9873bc915aa171acfd755335db1183e2f39d3074b1f9d55d0e4bbccdb60e70c584b76195ecf9adf3f4e9a2607e3a9980a8a14d784f1b316ada7d207780baa86185db25278ea6fcbb946855ff4a8592ee5ed07b557df4f4e176bce0720981116a005ac2095b428a79c56256280d0d07875a7f7e89cb5f9468b315a28292f31c674458a283c64927d1eda52370a0d7e4ec62077f05efce819e29702d7d1560d6da04bb5aee4fe7b92908d84d89b9dc598d5c4602f1080bf2924c4e59a6bf3fdce8ee7ea86d87102302e44ae4f0f8f8bb670b801929a9e3c03f3c86034d34d8f0c399902eac095a6f1dfeb29dc2e314392287d87123d3976f79bd0ef7800a0ff18c0379231d6f03bcbbe9ef4735da70fca730290382980c36b389257b1836115d210d62d8ea274a2c86f64fe31b10dbc6d664814a78df313a6d3700baa583caff6fafb45a539fecb00457bb107615f54e53c40dd584c5b02825e7f3e6b6ec5434f07c2a1fb77e074a43c8b42fa9b46ffde692375cb35888b4668cce1c3182014a0ef1f89fdd169624d20cbefaf90fe7e49318e9985e962d9bc7a6913560b3c9f9450433a783661cc7f6689f99dd9f86e8be386c260200dfcb29d8c41e59d7f860b382b78b4b0c3d6bc026740607057926bcc1bb31c7d1cae32b47798bb6268087f8090faf03b8903a7cf92b981e91c0f81c78d15a238e3fd9b25804d987a3a29ce82ecae309935dfe1cbaae5031067b937ef54d2bb7df400709ad39ada2119a04ec26b1e368be4eb8e3c0ec8e984cd87b12e5d4c297d765b1cf87ed28b4e6a1c1ed4879161dfc45e1fc81b7025e5bb83e48f39e92f10b3c33a842c50c0bf82900d0c220d52824ddf4c712019426796a667ef2baf32b6fd4ecf8566b846bda53331b0ac649951210f279a9e19a2846987dfa2a007e12b4586c3f81f8baa506bf8ef2bd68fadcbd6961d0a30972575c843c8d8acdc96c0f216270f8f67b74eee0acd42b888af68f3d1119f70e6527fc52e09bcdb79fd7ce7b481e1aaa179c66b3218940ae89dd08f58c5c57dbb6007e9a135fdb5c1740a5a3fb88740215445119b36250526b90be0541dffe7347aac95d961f5cc96312ab46037734b9baf0c7463510e2571cfb0476a97aaef72d3beeb00d4a28f5e5cc19e99c147ba55527df83b98eaef871ab615a6ced2b703b1375b752deb1c13d2b59d72f8cba2f6684e790f0edc37aa0c65c7a03d231e4ca9ad24ae16e19ad18f4b25c4cc62f3b2683c6b797fc4d8c4ac04510b2143d80cf52a1af8c731b59d25087c8aa8e08f35466af2d97f2249f77d26c4146fa54c24723d8db256b7d11c8dfdc68e8e1890276e9a58cc549695048ad8a02ba6888f37cbfb99241e21b84d5fece343e302f49b7d02aa8de397dba5c66d540b8ee42f1627b23c51cb725b92729f2c67af3fb46553afd1085cd2f894429a2938b24a54dfda8f58e3b7a67b2847c5d5d17e098b34d716e0ebf9d899532fba097c43e03541544cb2f33a99aaa3e46a27ecb2aed8fe3ecfff65614457e277d804ab7867525893b929fdbc406282695353e635494a00b97b5936153fe48361589b916e21eabb50eb2a6659fb0bcda670147e4fa0a880558b2416f1d3ee8f94598237c6bdd6a70e7b29c653a734479e53b766954ee446cd570918ba05cbdb6de97a3cca88384fb08d0af6541c6dee5de1ed83b3d22d7f5fe312514b8b36b41e3239bf2a309477ff243011b58378392a1de4f26c7b8be63bb3863c3bd782e76c7414f1a275e5d6eb72f7cc30e047e0aacbf56e5d232dd60578b3bd9615d781eefa7b67c0c5e99f073d5f23e4181b21c48092e130f4a469ff3bf7ccb749f8c363cc1011cce1cd25e2899cd67c72974a5997e531efccd4b70cac2cd01b1d58f9197444ed054da76b84f64446e9e01683b448ce4cec866a11b09fbb9e74b967e666660621b1bc319fe864df64390c25cc7ef3dd0f787ee18350dde4a788dc477b065c4c0b06e5a770087e488f951db27e8472adbe6670f33ef8afe67fadc9045ea37ee7ef625ff41115b6178bb3c1d04e806e6c5ab88f5a9c4e35d864495ce11bc7934d243adc041874b7f648eb8fe963a17db50bec5473205491c0b5407be324079b650ecfcbe0a860cc9f0c807dc8677d63a3e467625d6be68477b3194dc41047347744ab1d65f994001a47738012f14f7cbb3236310d8cbc881911a45f96c824d13d4035502e42de5d98c0d2a5baddd2d636df9a100f3ffa18626e4210be948918305d575d004d1951c6c3ccd9b178ff5d425387fbacceac5f556d54ea059651e2bd38add1d768f8edd70ee5c451134c26b26dcab166c8bdeb5a8abb12bcca619c6a1d7f083d543e029a64913b55c595d356534dab3315718b6f6f00aa5507d9a6383c2ff12bd08e08f08bf2bab098db583620be08a1f34ea83c436a49e4977e699357f854e6879503a43058df475118dc1882d618ad5cda5a4f7ee3c12512b76718235fcf5e6075fbd94028d93d136d5f7ac14f516dd71fa74c2ee9da4a4b60ced23a2d56487c13ae4fd862248cb668cbae6203c3f6a3f663878f42a8ed49f985eb41d3b3e58132d71977701a436cb1dcc4e4767fe64ee7363758f63d857f06f905c979d2b824831270359befc88895bb6d92ba857a5fe4f3960fb36844d768b56513a1b4bb156220f70e101d8b9f259dc08dac91cb9380b365e1e9b28b2666a524160ce0b0fde8d0fe2007ee90cc4f9cff9a73dba6a9600d0831ab38bc179d297fbb4ca4185407ef1e312bc3c8b07ac612005399d1f6b162091cbab638af90bfc68e70097281805ef51278706a41764ac171728e07004a748afc61f2b2fdae304f19ad319b9192548163003481d68ba3c9d3b361281917b87eb1f3407ddace4b52b862fcd62c013badcc2409dfbee3103420b56d91c906cd7bcb2968c111dc8e3d577555e9e87f0f9091f0900aad96197f679866c40b090fb29aff572257421f76ed2a16a41ddb8eb86d46289e1217d0cb8f0f3d36ee302650c24128dc8063816f8ab2908362bc92642b89c4a1fcb8992ac1c1ca8d63710d2ac022dfee584bbf190b08789cd37912b672d05921ab1c8e48e2a1470bac8d0c92eee2762423005847d27c940b7a86e6f7b564c1128f5533d47c2118d1ec418495c073cc151a725139e48736985a4afc29a024ab879dd1573af2d0b12775b4e97ead9edd03f140e917dbff73fa4d3f4578ee1fabd60c7fec54a6f38d0cca54f2c058e40751feebdabda111eef024fba88e1760bd5576b43110f4247f0137739ad4974a5be6967e5315dcacbe5307cd7a15fc75ec4f5ff7dc51571c50c493a6e36dcf6708f0d72a57717769cc04ef8e2170df0b1b3d0f4298bb358868ccffadf86ca2e2f9b2d089090f44d5bcf4871cb57e44594d0fa30c49365f32fe9e7d8f60851a809dfd341c91f37e1f111c1ca3d05f0e4f39159779a14fab97e13cdc9097d5becdfb2a4cd2799bb129f3567f007009fb82345b43a9af1eec1a157818a769f71a590a23071234c0dd3283aa9611e6ad5cdbf1800435bb200ed1f1dd918abe426529147995c26a3821deb7b671d9f4065fd6fe1d2e3a7316db0dd5be9375426fe2dd671e44eeee0fe76f6926982bd8d32bc8f424e26aed0eb03a5eb4dd7ce2f20b2b7fbd56d059e1a99cdb727ee0e9ae6de64818922c14c1c87d4d9e6aad3c46066d8a22218f827c02afc079ed905c519ade5b760a16ea0e64da938e74374724a1ab187c5a9d246f0fb2acff70deb743b5457a0466fe3b3d1f117fdc60ca6f37da506ea2dbe7cf1460e10d70dcba84a7eb0b0a6297f8e893eddacb89cadd92d2492230d1efad5823a2228c484989c101b614fdf342274690f93245baa12bbfe653c516ab62ea85ef2fbc34944bed202f1f659c094e683dbae57f9253850bc520346a634e567b8429e3270da8c28d3fed97f9e6936feb9cdce895b0b37f5150640f311382ac5e7368474cb3ba07ce481c52e99cabf3caeabfa9eb94dd5595c547854f9de49b9f0cb06582f22cef4cc6cfb13eae48d9bca7a64e14a3f1f834fa2f137bb90e81188ed06bf1881f68128c82a7d48bf23f0e482d012b2074e340e56b3b925536b63f5bf4e2c21a01657ed29613bf72e3269bdaaf51ec328811b2b149b5762fcb79bb30dce332b935dd23ad80a4028a93be6c22366b1f309f590b4a9852ba7b724ae199e8d00ec30ff2d44053a9fa57305fe31eeb3d79ae69fecb3c727ea3f6c733fa0e7027f95c574a691e7269a119727ffb37758c8f32a8006995f5e109ef26ef242dc9e8ea88d728f0ddd890815343cfe90f4f7b1fce150a2ca167e84794a6a92a939abcfbb86191cac3f5d42069b32854bf80b66d083a129bf959e89690f93c203eba490ca847e1f77b0a5733dd9ba8c24d3c3215786ada36c9a64f9e54557f44a810743ad54f648de64038b6afc83bf254421fbef8815dc943ef55efdf5c996656220eda5d07f8220670d7cc71a20d60131da0d7760cdb899922520e7e18a56c476131198b4db09a3dda0b5f1bb6c3e5b3ad7363983bfc81c7c9fc11f3819fb8b3100dfbea6f137f55bf801d7d351525cbb5f38f904da3e7fa0f3a38850fb06e680ec9708ee3bf21010feeccce51ba8a0081d187c689426d0d36e349f218f28b6e5110f4ffadebec39ab21751bd1297b3567fe200a20caba63378be9ca0e21df8a28edb880e63f9988c1a654e402360f0bece7212c82bb593cd22b00aecfce42c4dcf60670d0da07560803f0b93b8fdf248acb8f93eaebd62559b514950e7f6f3d0ec6a978b8ed8b5a9f4be35f938fd09446f06391ea0989a2964898cb8bed2abfad2a8bd6eb71674ea95735d02b8be07ed0b5dd5db7961e34634a8e1b2fc8e84d51440097f0c150756db67351fc22bc106673938782f691f39908c2095472a1b78b9aa0e22c4725b6ae73a5a65785190dbe7aed59250c0549599a922fb283e08a43b2b29401c763f2d3ede098f2703ef679d193258d6b3534cffcc5dde90b082c6d5b4b194b077431c1f0a9c43d6317fd76c9205c98993087a4c0a30ab2682e1baea350be53acf7a1d74347fdde3fefafa481979afb4d99b2171f23912c19025158717a4a4bfc7f1ac4556d8dc8d003ea8d4ddaa0c9975ae519a5c58fbb4bf361d44f267124b4c625395fe5510ac400e9e67253c81e3ced4d96780f57c31ba05d9334630d5f46ba3f804a0acfb709cc04d6092e3bb3a705dc113ece814b0c9939e269c1ae14ce1c88461ae7759650f4bb0ad56e0fc52cd523de16c62ee631a2a309ed745e84cdbb4dae75606211b7bf291fb9901f43d01ff442edd177941f87a568410ffde8647f5034d9485ba4afa0cc60d1401319c2d0e482797a8b04349a50a51e1f1abe5f03f517e65cff58476904f6f18db3c8b9878af4c72720db0acb0e5972f47bc438cd17730330a202751535bc89013a7efdce18b7ec2976a47d4c5d2d75f0868e7d76cfa6d0243fd865c64bebe83774ef1a08e7be11adab2fa9c34f8d6271b8170661b3b2d213fc387657b0e46dae2dc3bbd1df32209241531447f890b31a9a638bd838c304f490de93dc635e6762a6feaf125e2f89a609ee08dd3539ae33177b3a98a637087e74077445cd555900dfc0d3a0b1fdb5e4485eb00486bf3a8aed6ed584de80e793a73ba25899288ae4074ff0794b3b9c6178fc788bf555b957edeb9257a84cb46e1e6b8a2ee207fcf748b2dcc7dc611e9c54cd5bacfac71e3bdff5ed01907dc6c1fb1b49564bcb6a30cd70c417521c731dddca914fa12633c530624a09a44af705a2603ce1edc02b498720983243c068f52ba7be1e0698d14cccfa64f8f365cc4515d03db8ed56d3d7c5baff036792622a4dae1518161a47d53d6074e9a87134d63aa68dfce28593ea4bc90b614160428a4f49b6231ef29e281a7159b9a9e027d6fb766462d33e6bf927e987cd4de0d8a607c5b1973ac2547278b4d0c5827cf985842401ea21e7fee34a929da91f179191149af7d9fe41def327e1c8dcba100e27cb0d83e39fe70a848be36d4500759860c7e2c13793939a5dfdf2ed045744f230d75fd4f3453ed20f1bf69dde8e4c1a3c6612fe2f0dd9bf5a85551feef739eb68f68d883c9e205411ac550ee07743c740253a3ef57fe9b72aca62e358cfc1fa3b55b62b84c00181ff3d1dee3b2e8ea90aff70fdb50d0aa9c769ec1191864a345939f6f03ebca7834c7d4344a0efbb7791e1bf81b7723f717e1e12aaaf9d58287aee2cfdd79e4ce130586413f958b623583159ae42212ca283405887e1fb170f27267380454b7b2f0de680b45297c57c81272ea3f4ece9b1db9471b4490da6d2312cb5527ad44704dbe35c5dc0845c2c6414892d0c2f7800e5b0d9c122b8248647dbce5bd2475c31c214ace306c67c6c9d17c5cb5dc8733aabd32e31a7b8a6488f3172de2a2c44232c00ce827dd952be6cb5f586d63e05c09cd31e8f53d4f1e21be4048c8e8e1fa408d9833390cc9a610d4525f767cfe33ff8b251b221f6e6cb0ec65f257e97646f74515f2f7a42069fa18144afd88e9255e92ea4b511a47754ad14fab0d3aa4d3a081cee438dbfeb29c93fca023b54a9f6f8b0c7d416f626fa46476702939429f3f129702867997098ef4c643c1ca09536a71f188f6fcd819efe060012d893028acb077fc7118e30c7ce018c69ac0a03ca2a3d9612814aba3cfd72000aa632f934ef3cdd56ee13fb4ed31774fb2b2e53270ddda7264b28dae9dfbe9794d2e62d1bad37efb08e019376fa42051beb312eeebe1b05c8ac0b0777aee6597d6f3487f40e7c7b5c3d729b7f4b96acfef3bf184a03c2318bac82c817dd39fe64ff8705490664ca103c77aa92445f0c1f7ece67886ed814073af80f64b9fb565f7830ad9d1bbcf6e3cd1f843d9b4352447fa88e156b57085320bb8c05f619452ad0f9429b41020463d979e5b51e78a88f145a947b0955a69b074d0fcaabf9ef4d2cca897b6a9ea521bc6e53fce8927f2450c316b61c59aa01a7311d2ec66e2a7418bc0c299362fb1789820d465ffd5a6221406e83dcc4b93a1990ce3fd6f4dc2e38893bf4afc00f16a109e2014eed383389106d51e49ea5bc7c6e53158245b88f1465aa8d33ed08f5de446478911b650c2c3fbbb7df54f712738f47ff3cb698b0c4d6b23ac484a04f29266e163dcd520fb50a83ae87ca3e5b05e05a59d2554ce002e5b54728d9767f42dba769ba3cc5c1a871e5dce1153287937a423d02f67018fce86d94000520d9214cf05f0c1b69dfbf1fc4040e580a50b65a6555032cceebe3016c6cac7ae6e5cd9ccdeda1560965bcea2df12f9ab273b1d10b3cb36c7d5255aa9f4f9d692a7ce4924098e37ac525e4898dd537b29eda7b01dd9ea24b2da8442e3c18bb8930aeb3952e14c01ad0ce5968b4b08ab621c2984a4198f5b6f661bfd9edda904281fb390c72bbbd2245dda5944536ffe37097eb6c2567fff191ecb7b3bc8cd396e85a994642d1c49d5aef6c52bc86770f18444d6eb57fcea700bb0fa888d5a74f9ea40a67539f56433a3b2690927e795cc84f0a7ea6d0c9b13c0f66a3153f2165bb65a62fb1540b356dd74939f1819fefcb1b988ffc97ed40e127b44fbf700369104de8722d315935a0c20a3aa19c55e3e189693f3f04cafb3ef515d771c01673d3a0341a2eef443a1deedb6b4b7e28e1c741c854b42ec90fa901e2a72770e64b9e42bed50e664e3c1048a2d6fe447c34bd8322c6848f4328df80afae5b2558109c4794f81961253c8824ff4d1e0423d282b273201968dbede35703bb7ecd2eb86caba23a15d9a64ad8791da58e473b24107a37a9f1b32284d2551826145cbcc3301f244c00ca7b1d43b4275bb77beef1c57ad2c42fa1eac7b63977371d97731a734c4895f39036fb3d55510b9ea8b0aa1f4f1d0593e42c51928ad5fede32d8efe0fd28cac2e07360661e115f3d44476db4b2bbbb748d31bce2e076fc721cc0f7a29948333038742548af9ff3ed3d6b1251de64d1a365cc1716d12441f75d33bce77dee07281bc6e364dc85456ba93681fa52220eb93c1b240a0256a013a0b74e40f2bf3da07345532f4f24ecf335bb3be9cd769f3b84512cbd9141987a793ccca0ab5b01c47ba7defcc99693abf8678d94a8076d9d6fc257e333727d8e59d8553507a03340a20d5934ea35c64c336a0a6a12e7e8f564fdc1fbe320ee0ee19096b919741da6006aadc0df634fdd2f0b315eaae8a353f7a78507c8afb8b1c223147128b28d7c78817a063404fd8092ba6495e12284799cfc2dcc744fa9ea0779e430dfec4d65c75117731e6c88fac2244fb1524e2c573fc371957de1cef6da3a26bfaf4a717f84b7cac8a6369a310c68aa1ea4a05d473d58dc7383e466697a4beee6711127f37617f3ec238abdd5c7e3992af28817715ac7f4e46a87c263cac50af19b133af361ca3ab52a14535845f3e77bfbb5095c6e235a041afec3eee34d53a5eb5c0bd089ebb0fff91c51cf5b40a1df4bc459d11d9cd8ec4beb1a14c3c7b27f99bac804cd3af0e5c0fb0d148e45686044da0d986a5e3bae34a90eb29b11a4ef1e0e06d5ddcb97d7185e8f1195ca76b8d81e5f4025351f99d506f902bf0f335d17043d98c7066b04a016d2e9e09d8fd05e4e629308445f1f328f01108f5ffc58e26b5ecc0068048c6ab0727b1f59f786c0b4134888326bbb778fca5b88a3856b43036a726b364499e10ed8e74bed8a53b76d32eaf882f753ba6dcfe3f181421300bbc42788d5faf4a1e57676fca619e6496d3c18f1fd0cd1eb48e0ed2b20c20071fcaa6be6c66f367f9e67048a8c1a466723b065cdd7a8cb66018dd0a2ef613f9cbdc0ce1938b59352ebe5130b673c3e3bbbdb130db6359c84b7cc06385054abe0b3e0cf81861b395480c045c350a17dce122d1b7cf985ab6b839bd763988ae8b9e394309d9b5d1e183739eba447118de9fdd1596fe37c5b474a54b197f6521273dc8351eafb21a54e52c47d3e9c9d6143f8efc54a0736c502f25b42e0e7a0be9e81297a3a3c90fcccf7ef708083529e9974a93ab9c287976cbcb1616e256943ff71bc8790d946b6e292cee1856f9c2a4881d78710243a20072fea8ecf71f1f1db749daf7ccdb0017553251948c868d3930b8adb7eaaf073b409721376bbec7da59323b24f5e741969f1e549057c5c38141647646250330dbb60fb84747d2a8cd70ab6560a4b68c1ce650058c2b3f1dd7728428f90fc50a29a0db36892da61ad6f51db9b2b6cbae7828b7cbd110f58dc667c00edaf79b995a998f79652de44f9e2a16804a45afca9e613dfbb5d6e039213eb07a8adec981cdf2fee9a2767334f6a35244e127c4476422034aeb433b09dcaf5ce04f2d9d0b1ddad669c8ea8ee5d44911610b6b6140f9dd442beabc850334a6c31c820852463cd8dd783b7ee0e2a78f0015c9d59228c3783d28a1a8204d47fa419748f1589f929fe08c3a44c51dc7fb462c520792fc70432f40863e362c0eb3fc859f26301f2bdeda8f0e52f111fed8ccc8d5bfa667a06b0a9ba15cf6b1b861f4770baa33b52c3670f1ebf6e8944f6a7b4cf21a341608b4973d3c1af90a4d916c05052844cf22d240427453c80372d7d72b7cc69baff0673cea449567999c9347c6e7ad59a50a924bed8f2109585946cb9ee36eac4e8b837d32063356ff968b3a08662ea28418bbd3ba95487b2a8ca1a832ee4462239fcf9c4e42c78d90c5ab1d2d627343c6296b6398ebef30f381240705a1b536730896d65def883b56d159e5315d7d2e277ba90e04765bda2ce190ea222da80c6c2cc6cf60647494a3118de4487b641523047b1b2d526fda85e9346d923fcaf53f090b749e05e6b7319cc971457db8ff730468a0199c0fec871115c9dd58e94a3e759dfdc77eaf8c501736e8faa3507944936c234ebf80b61fb4bd6ca1ad6085fcb746e1ef4729739c3aea12966a860303cd96fa8fc8a3e9928fb93ec0d0ba1068526ad1198bf33862cfc82135208f85ab20240116d0e284bef347e8cf4fb76ebb0e551433ba37fe3b6d2cab274e339ed9283747c1ecf8c4195a775f3a0b4b59a17cf90c44593def9581129bc12b01442957b420ef3527b2812a868038b90b713791e61987d77796157e4c9b52678a2a7bacfb9f183b60b073c6462df28582302a88a1f6de07b8c05cdc1813804ffa2c72afa28aaed37ada95097c8c912783f725d5538ebea722895a0cc166b4d536ba6fe73eb4c065ec844587797508b0929c791254d88e73dfd5ad6c1b0313606295fff0d0d79eaa246795f62d71b14810d7a4c3981ed6d43a4171b8588b28b16a78840f60795f3f2861695762fcd2704bfb85c808e6ca2d8c6397248015eb9db9c0471a5be31f5177699f72d361af247e69576f281e5f6dbd9d41cee59f2b4a87acbb59dcea814733cca79cd3464b9c108e4d76e1aa68f9d5460c659f7b0f04533011c2a40595420455f6d20307cdd55dbbf360a7f552a1012bc6f410c3449a175fc78aa99acc4941b581a73ca3de7b97489d8af8f20747733083c0d7451ac2f047a12599ea07a0a4ee22ae769eb48f438ab9e88b572e9426f7f5981dee6dcc4f3e227ed13c2a8075e4ea9b14b5886ffc26d55390d8e239c92b63bad7617c06e1b31e26d4520be3bccb0fd9cd33516398246f527b301f16e82fd135b748be2808411c33c9ac0786e7507e3957f2b9215c0b159446ba9c171e0b2819b4bb61692d352c973c2fa4f840336d2e094aac09f4b16a3987cbe8373f46179cfd1b55d446928b5d94dd613e66db9182c0cec0dbd5d6d6790670e69ffd0296fd9fe0f51494977d0537e4ed34022bb2f1f6fc3852031e0cfacd4b0c81132fa701a0bf514a9c7cccb319a26b14af89f2d42f2eec0f18e26ed10347012a51924462d8ef2d8c1f92d07cf583a8b8ff8d0998febe7213d584c7bd3e2acb9afd62ed84a7d0063ff2d213df11305895990f917522ddd014a78ea506930e3da8bcbcf44b6646ce39112e0d96a88b44be90b8e794e2db299f4d05ee388f51f9c507a6bbfa411ddca85d1c26de7536111879b440971d1d39163a838fab473b2aa4abd78e8192fcc74f3d84446d2ec49be6905c35a41b6fb7f0ee2327b76b818b01fef02f1645e9eebe885162b0f0bec8561d2e6bafe07541c6e2147c455cb12d1cd05d66137daa64842cc13edb835f25e16a0a20b528b864d470bf0b3b0ec4e3f37844c86dc41d08ae21f322b51007a5e76e265fe1d82c538be85097d5430726192a7f413dfce85a2bd9c45acabc7b817125b65c3b04fc3b27656eb0f9c053f1bebbbe211b92b5766f042bae7ad0c2b4e4553b06eeb4a9f2d2672f23158f3a32e028501da2a83d0f49097b2986c764c5b66a1f28e461d62faf0130f04368be8a3de0dd216f50c99b43956afe3ef7848aa30e0570201a94d80f472055e6ce1911707104acb7d9bba33b817c7e26564a735e569a28e2cb0e3f1852566f22698f0c31f0074c639d0ebc8661c7f9d4b7a0a7804f3afef491fff44dab8dd33980f92221841ba56abfdde5b178716f0a4055e04bed4bacd971256a676105504f9ae6c15322cc5581416387ce2c46228811631857c1ab60130bf05b76d6145ad2bc2425974aafd022b9e1d1a423301c613002be0575c6a28f8d90f192aa4117a1cd78f64a1ec453d3506a651e4552b3d9933cce424b991f782f6a7f8a921d98531b0ede216de441052366b6769f57fb68f4b7c62167dd7fef3b3f17dba9b8011c43828bda63a695ccf1a7c19bfd83051593381299db7a437d60ba05e0da5e6853a2bc4d96a2ef26165c7f982b79330e26b12e8c480f6263109870c54c8bd5213f97be97df0ac2283cc652b8741ae3785af1acdbc5847cb34e7b547bd1232ba71f52c97b4952cf7b9e77e6f8c16d689ddc6bb5368780e54913c673609dadd41c6b945440ebd9dc62ecaf1ebc6ccba0d70d7fef58e9e781663488c49e032646b801e3c5e0b68c6a4981de08b89d52882327b03e7328e9ec2ee21b16fb430a7e25e2c689326735dfc9d61ed83bc0671d4f43ee7eee48cc293bb799c03fcc9c8eb43a47b941257391bebae8aa0facd061459f671dac830857cd9832866b6665ba33c5b14975a314ae93c7e5d68c3a3ee9c2c7891c6ed1c57c33334ed7c4948372da853ab26ae47d827ab99f919786b68f3474882fd7372c096bef6c6a9877082a843d41f03bc62fda8793b2c0b38b697769d621bf4217ca4c169a5f9bae9a101d9e98dc2138c5037f4999b6d30e7bc357b25552981da09ad86c49e6a4adb8071da4977e37dba8080172858ea2a2e4ed243df94ce6be033cdf5ff71e08c9ac6696b4961095ed89219c0ff90dc93c3800c7555691fad7e71d924ec1368d17e31bd2f0c922828d1926669f4c4ea4b26e94c4153412a4f37d6967cba5cf6074c8611faad0919e15b43524b7d1aa3155709cf31cf19a2f646f3961cb9dec4069cefa624aa2db91c64badf7628607303e02c98a84727e6794ab1103880fb845f668c61fe6663ed5b88fd9c0df743c6412f36770b717752891b56a19ebc0dbed0b50a6ffb5c2bcbe19af3476c94da69979a7d5f24a3c30be75941ab3cba80aa5234d61922cbe587b53add8075658e281aba7333c17ab1ca0bc0263a51a7973d67b0ef940a2c8fb9e839649aefd7e625f2214d698fcee4b4ef2787b71237bfba818799ef12b8ee30422474a6621bb8b9879a1fe390c2eb55a34e0db5d39397613fa222196dd1ab90ef89d7f36a5d1c1d6ba05e64f534d1e34a611fc70cc78a2356eb95d32c7a3ef2eab3e17ab193d2993ce1209c6ee635a84eedd457ccb06983dcb0668296724b088baa9653f75e09b54157b892e34f78c8f911c7de123b1737985dcdfe0279a8aad81eb3e50fb8f136901eb942312de7bc6a99caaaa81558461f88a26d5c01aab7944bd8a793371c4ddf6c590e5f6eb579f37579a8e74432e12cf0ec3c41a877da7d6bc42d48392a9336c0d5493c1fa663ab2dac07278b3ec1564bc235dcb5bb301765244122e8b024298a055892ea241c9acdf94a907ac7760205c36e06c91e3b5b2a0f5106f6856af1d5b39ba9085104dc87b7849a5918da2ea23a228952d1239aea68bf9a0a02cada0947cdc21be25e12b69f0fd47bae9c17e5f11bc8fa5a7416e205fa0c97220e9e67fc40522575ea869dd884f8365c061992356ce1a159af64bb1f8d3479e1bfe5ec59e71d38cc822d1cc835347d42e68b0a4a6a9b3eb0d66f0c472e8a233bf4fc6ba1a56aaca76cb1ceb2b08096247c5942609304dc1261fef45e0796b2d70ac2ab17298904e7ca1e9484c3f1969ba42b9c52265d42b20dc527c9a50f984a34792a607e9a32bef2c7e965384b03fb9e797412c3b1b8d2ece53ce8011bd14e2a0b80f3a534d444ca11b397301df7a9cc256ad4afbd09d35d2629022d3cf12148ec26da661d20e8b639c4ad362e68e7e5a5f535d0419d16eba4a651deeca916382ac4f0b3806e34942e47ee06926714f3571a44c108ef625156d5b7c4783451aa604c6bedba1ac4e40a04b7833920fabfd48cc94a629576f82aa0bf98151dc1eca619e8b3ce2d74901c91bb86b13877c6fb8f57e44782ae8df3887d9ee79b3721e1770ec61d439bde17f68432010b213c7ff9eddc06c3490d26e6c67e3a3b286dbf98fa1b5ec2a8bc5d1502c1870acb70d9ae2289fc02c8fb2eb320be6a58d6192833c779cc87278cc5de8b5e234bdef3823663b1984cdb90418985427f811490e6b6e6ccb26a992977d7e8e8eb4b94fcd20d2ae66091ef7ff707e6bad2aaa904ef2c71c45fa83a6e20dbcd8a4e8414176b419a9b629ee103667a66f393e5e116df62e0367bb76c8afaca581c008ae9a9d18100fd9d7faff1485ea53beea5e5519a2b4305fa76690d4425684c5d7242c63134667f346d670e8bcc39b1932a5fb145385928b81be47cf0d3480b2e22a13108972d8eaeb1fc96a3d313766bc99ec6c1eb91cc90aa21aa96f91ca4a555412dbf51e3bb98f6b99bbf87a12a5ce3be91eb41953e1a43ebed0289405dfc5eb429e0d8e3d8d38adc60fe92586f2faaca0ab8b9c1e4972a9c5169c183e4b7062b592c4a7703960d304a69ce3a878f5a46c82d8c86535c6bc04480c961a51a5046605f806c99334d550b9700b323ec0aca542f093508e0c7c03406236be78c0e10b740a7ac80c7d549e6b93a4c7facba9af5eb4fac6a60a116fea056e70c039fc45bae253b5ce3960fac86f09d153032fc1c01d616f84f23aafece19970fe709b553483171583835ea325451ba4e4bf1fe3f8bcdd1acb937844b857503aad09aef8e2ca1f1373734f6b76241627e2af3c4d32b01fe246020fe6cf2cbe140342544267de6c00e3b5397d29100833aa348a325e8433ea5b04f322c1242be9fbfd3f0593fe12ea04a2f37ddda561d5d92f45206b340c6aa970e51d95fa91cf553ab32a2948756dd67ed970999f15489873ff04d98a052dc34ae8b1a4f971436bbb838776da62fcbaf7f276d80c22614de672cca254d0e53d3f052f2691d7af5e31a9f339bd04378c54e1797f218b718acdbffca9d0a6f0c2aeec77547af011077f7714b7f0140d846a4783961cf2f3afed91f8ddcd32a1c19b82b96de4bd1532dfacc669cd4f3e6adf98d01ff4ea0593dfbf9204b12fce9a84485bb7697381aed0dcfa87dadc407e05bea64d66d3197cb6cf967a37f7dfc85323d55dfcb1f30a05ad92bbbbe9f04a1fcdff77f2db2a2e3abc1a33bb1a5034e482012dd94bc9ccdbfea1429d73cedba6dba708b71a4255e9ebdecc7e1703793923437145e570d6da323bf2b9dbf5b6fb1ac229161b0ef2f6043d1db708589e14b9345f6796a486b48deffb0e3034752ba6b2bc2d02252faac1788bdcb387455a94c238e2a97747e5415c752ab32dbd35cf4bbe062bf3fb7c218eb8033dadfd228258d28bc6cf5c35f7133c2526242352af9aac433f7141f21b8054d54bf90938fefcfbeed291d9f44f985c41a3c5002a82c76cff9e45d360d693d057a057a7b2f64bc20a150a71a7d3f7e7eb015cdaead266140376ff10abfc45c8e2c99434f9679f9d9a8694336ef5138efc1abac6d807a83eb0ead0dd5654b7535dfa5c90605d0a396c054aaa1fbf14a27cbb505153cb3f69c1302ee1417dd5f732216922778bb6013d3ccb5c61020c697d9093c3957ae1c58c03037e6372f4a990b58267419a55091d8e68fbd6382d6f2ad973a719792ca1635a88837c76235e0c6c4a679f65f185c4dc9ae34229d00c1c659c94d91f9ed2eeda3c74af12c2dd41806a933c495e54b261fcc7ad6e6abf6a54b5559953ff76b4145a68c8d9890bc35a5d3e6791b1c5f86d0c4f61b323090671e5365eeb4f41233cdb3c5799550b08b1cb63ff8a8dfe443739b17a023f6477c7832305b062f04ef2d3547cd05eae4909ca703dfe75eac4813f43abe50890bfd5648f474589ba0020a7cbcdd5a36d1362106e37133216a675f29010ce890fa7c4c10eaf5255a34fd761e8fa15e0a5bc879550fb870bd6c50ab11d64842ee15235633f51a54d76e41b161cd7b2585623cf091560a055918e37561006489240b3e4f84b378f72fafa59d345ad2de7decb44856250b4213757aea22e9a94aa5806ae917ddc5948805fc8ec2d7a0a1f2d181d3f3c13660e06e73b09550ef517a5706813bc91814d1104f81ad87fce3999fe872b5cde2a0e52283707e41be2688e51086cde07e7fd281a81e96faed3282362ae8871b0f75600718399f06a27d6249b86007727b5eb346a0e86f954439b78e39472c1f17443cf862932eec4239b9a73e2666392c39a9828fe9033deb52a838cbaf8000e23d7fb88ebc43041584b222b5bc31f63aed9e446a46a4ac17fd352a83ff64da658f37d841e910ca34a5b317d98ed3bbcccbf76072b47aeb5928bfe1aebb580a821b96f3b55d0277cc2720a3d80f2efb06c5273380e924572321207dda525e27e08ad0353e23ccfe36c546cd747c597c534c4348dea4ae827571875e72c1b366ca77a6e47ce1b40266407820f4453288c0673f062f0eca22936cef439f8e097db785d44621ac281513ba159017cae20a3ee9e5448689f22cb59bf6461d6ee3860aacc6606e1f24f5deafffb218422c33befa79fc39d0198deb663a9fbe6c56de8ee73c47e7365bd6b03e7bfd96560fa5ccf09ddc16bdecc18b244a2f1e00f4a886f387f222a27f1bd12e6325f5db40ec58310d996302bc69586a231456623d03b3e63693b48510349612963260325847e709e85913185ad5a1e764bdd3a2480b0e3ea803ef1de793f49b3baa74aa6370c273a4c2e1e316676a96380a972728c03c3bf928377d34342bb347dd260b7871adf62132389cc86baa1bbcb06307f3110009565c43d366e1770ae31dbf72c347899a53a3b3555a03d44f7dfa9782d18dcc161289751acb02ca75ce0477d45ca15bed084769532aaa2868c298018b0fe70c8fab7a6473b28fd4a4d583c94ad85ce6a39201629be0d52ca76777cc02bd64d8baaa05acd14cb26be208e5c8e1ed382cd58d9e92db436083b7a3b4b274262c0974c75776bda8072ac55e13fea7c22b9f96be26bce0b044010e40028061c93190338cc02993d5c2a9da02833033774133d4c2550b6a5640a7b59785059ac196b608d4b57e42630ad8e2db0f7b2aedda4b75a0853c1c2f4418c33a2672dfa7f4fcf285b874a99fafd41a4b0f3ccf9ed744c9d2983c4d812f5d329c6daffbed9aa5c69781d4d420beb9627decd6acc12c1efe1b0bea1082a5b1f66c5f69ef8bf33274013546fcc96cc2ed4f84840c4ee7ef01e3d8462395b73302292fb8fa8e22e54cb6588d151492c87d1dc431be13c4225828b728cea1eabc994bc5b76df4a0fb4234cc710f2012188349e6a19507d689ff9a3776defa6e7aa46a8692f2538bfab541f9b16af48a4942668a108b4f717a06f251eac94d1a8ab35b5ade2c5e8d3f10932e2dc3cb216ac60dd21d9f0e96bf77e6caa2c2da9308f90f40ce8d3b9cb21d492825f1afcca5052aec6c497e00a4bba90c0dec393445d20edeca3082686fd474e8640cb829c55acbcaa00d5502f11d1e8b627c31ccadc23de65466b05760aca4b9366b35489a582f75fddcde0fb9617093889079de4bdcfb3a4662899d892b3153820c2ed2eea574a15c8dfd76617d303c40717fcd2370b0236b82e999bace1940aa3ef99de072440880d64429d2a475e6f981fe73196951a3f9f040053ac3710ef4a140673b3755bc75ca2c06a02ac5a952ce081dc6525a89ef96ff4e9b2d8c14afe7472a38d4321116e2685e84617d12f3d0dea2bae0f8baeb72b4b4c518a1394bf219870e5ca67690db31119ee893301c1f897f2be53b5ca4b7eca97f61408c18caf50b82c3bf71489f81962f18a88fedce568e1e757a6852cc049e158b661e88ceb424dfe492721013f4c331508ff30f99ba3fe6248fe59bf423e2ec356991b3ed6a65f91c8ce0ae5d8b61fb4e338112151f1fab03ffcbd24b5eb114ffba8655160755ae2cfcf4ef634eaa484944baa7a38e8409f88f4f5fd0d96c6fd1df3c34cefdd00e23d7643efd87fbf2fa17eac7d228c79a9033cb572df6057157e644f2b4a33917ee5a1a1e823964db961d9c95084b7206d10bcc376ac777666101fb3e3e253f484a031c98e40bb06ba1fea97a4c36beb8f7f040c568d57b526361dadfe1aac1a92bbb63c60173684760d2aaa4f9b16e059ed1ac6b8db7a076d3d0b338431ca201b051483df2f96ab1c3f22538a1b005d10cc669cc92fd70ffa372b115c687b614eb82c58d48e053497284f0052d9c0bdcd57cdc7954a13da569fac66f30e124a426a4ca101c1ce2e9c6f95734a96389674b120e4a805ea72f83b263329ae22c1fba48d681ff7805618d04ce38af5c14499fedb1ac12af1da2adf4c83ae3ee6f70e3e7939046ee5ace511136ccaf71a06d54143e6046d5c74c053a38c09857f2ffcd53ee11de0a1e6aba367a000aa07892bc28728cead3fe626d2b4f9831b2baff4f602655f8b3a6f6070f1d53183ca1f22fc16d7cb0cf89573624e11a8a1e366aad250231a24b7c0f7cb9370b0b31de0084cf4e0d224d2930f9ecd54518e181f667f772663c5e93729cfc9560b91efe5f32cb9e00f4860aa372fc48a225a6b55c973e5f53f14b285b5b0381580f3613507a040ac840f8ba02b80c5dcce8e9d0ee0af573d2010d711a21f3818422c672250216c38e8aaa13b0aaed167df6892c99a2cce53b88ec1f568772b6b73322a0ef0c30d6f23b6f0a9a362154723eb0a8ca14c18be6d17c46cabc34b0bc622f182f77f1d5e7d2ed47fe56f14f6b42707759d1f543f6abc0d87cffedb8f043de5c0ebf04d593090688f530fde6dcecf3c9841d12ae2e93bf7b05ed1c821369d4aa04fc357b8333d85b623e378de56bc6235f24ad03635d1cb2aec6b7c2e09c9ed06359bf58bac55bb7e06017065e708fe9d66fc62c6af1d0019413ee75776d36f85fe071a0116efb989668aa8406a6dfa5feecfc10bdb15a60fa2bf54e440eec7189a24b9091623a88200e109c856df49cf0124c4b835a16ee1c8e38c0b8f89efed9590ff5060a6fd220aecf6839ca24576c9ee41f2d1fb38f6bb4e14feedbb178270d657dd19005f1251067985b7edcbc77a1240e7ebb4800cfca80efeadc706fde88f44ba4134040118bc911f19ffee6c725a528b4f5e4314d42f3cd1838aaddc5760561d337b6f82290962d1f6d69d66c52fbe70bbb0182ec90c981e5073adb701b7e29aa0633a9db2fd2cf697d23239333e909090b72557568ba389c8502f116263d2ba786dc8f90548e5cf8c3dca2fff430c912b72f53215cf22c10303880038bf9ec078dd09e59712c089c67eacc1c3ce953956225aa2bfdd9881db7bc5e2e9dd31d6b78b5f85b2e1d383cd5554884a2d61d9f87ee415b588413d5a90b322f672b50f6c8890a903326fa65d13818f04ccf739db39b93a034a9d8155d31c3d7c8a71cdfdb165fa9be9273d7b0fb692888942fea2c57e9e93b3885ad7a74d4545dfd8cd642e8e7199ae76475c75bbcbbada0040e23c895af9580b30907e9642e690caa66ece40439b929d3f0d452534e0994500c1226c6b0dece2544d2789cfe5a1c79942f0bd6decee73a4b1fa6e6f5a80441b6f00de9805895eaf3e3b304a4205982479acae05f45bc5b6f158fc53e36776b97000e468bcfc325ef15e998a748106b92372a8674e4a1ad1d62070472982c7164c34d5606c99407b0e34b537a406ae61a71a4261e64a9421bef27b55471d9e5db60fddba6304b9389fbdebd8a2dfac6fd0e94c22f9ff16d4f73429e1a6bbeff34def9f43d29484024477694c87fc909d000281e2402817d0d6957c01ad2f95be84340b01387813a66dbde3601b49f711cd88c3566b02c20cf038f5cc63283e0c39abb3e0dac7c6f3e7cafae8938dd352f1f7fbbff7941448b796aee8d480c76c451d1a65beafda77e4c1f5893926c74a9b711b84ae17d79593bdf3de1f66e3997817d1635ca89cb75d3493487fd33bc800a3c179a6c6cff38914238da0c6c4c0b87e20eb8214d603a2e3832a047c65cc97bbfcb90f35caeaf7356279d68fde6739d1d42cef3b6d211d41bbd17162dd5374d9fc0af8820971caa22754479adf6998fbb6183133c7e9614a0db8bdd01ecc5b1f8edbc03599833f608e84394a3b1428cf00151c75e820850c1259d40feca21ac529922d90f00eeb95ca7e7bd1a7796224b913cd387f5007b659ce181d6e6b6972d84f3bac292ccbf93de9382ce5de391c058cb6c13f0e02fc2aa9a32e093940105f4ff027a36aff23203232975bb54bc3b6c1084c538112bd1501a47dca0720f90e25903b8347d37fc92ba1d0f5a2da44d8a52cfee9019e7a9b14bccd0466925779460d05b6cff6d024a3a51a287a4384e5cd33612d1ad5766910885345c9781c617a3f79a5408c8c8948f11da45e34dd70865fdba781ab05cd306550a65d5d5652a340c0289795b584d155c98855ea07251d80ab3d0880a0b0a68781136c36e2c73c2f7fb7b07a0b5628b4183def75358ceb08f78c847594651fd27897404e227fc711ac24bff410ef74987134d66565430faf4334a547d15493b43192e0f9d4057a118ed4a68fbd02e2f7ad4c6773098df5d42a07b3800ac8ad3a4aa3c63faf2920753cca4dad4ce33eb7ba4e2f57f51297e3148372b7cc1181dee45e86ee608bd60dc944b3d51556a5ed4fe69479fa89ce49674460bf72a7e913d2dd5b37525389665ba889e8729fd0e48adc0d40563759d002db83625a43dedde00d91538ef3bb4ea3e62364e5aafbd508c3e8a6f6bf3b84cd0bdd44038a0d02e95ec37472ec03eca5a23bfa635b8fd73ddc6370c002fdb409157a887c33957fb2bc55c6e74cb70e9310dcfd2b02a443da1232da3bcc6423f0d38287c52c558e4567a4784d078e39cab469c71a683d2f0f90d1eb60bc940ee3bbf0c22ec06a8334c2501931d2f454707634eea9b726df3fe4d03af1cb359587664a359706130940907c1480212384ef2c7b662448a2541ef1d7f29acd322eb938a17e126b95581fb8b8ed8c29e2b8f200312c2e0570d9b6a888bd658fce1b03820d956d385b3c0e7a7fd94ba2e0d3a7d96b579a13b8628c163cabd98c580c2056afbf79188dedf059b4834d6310787f2a28511248d5e1748afec9cc01e7634bfd8bae17738297f398192f6846a1cc407947ae9e3b276685240091e5e010af3cc1eaf63f12492bbe1d81ec04c3e4ffd6337adc448ce3317dde3a707533d4f822ae80ce5f90f22a9b19a1f426823e33ad965b07cf94601aaaa1989aeca8298902a59a5611f92ae9ba5e929f7e641813354028d9d67975e673133dacaf120a3912b664dfbc1e716f3209bd2190f0ad6c2197d4fa75d55b5f33a6194e6f70a7a91b29c06a8e0b88d4510a225a13faf809f64ce882c40b4683ec3404f4e88a1fe51331382f4e8fa9889c4566b30032a4fa352bdcbe25de071267a66c75ae47640e067ab5bb3eae5b505e594237feec781a514c7a68d3b85e6285366fc769ca8b4b1a55ba52fcf1aeddc15fdb4c7fcf36cf6908787cdf9c4488da16d9d168d11178b1b8d5d1b94713b2e8cc0ee780d011f978afe1ef7e0ba75e8684ac23f0c85741700ffa457d3aaa7d48855b9e5c080460dab50fa48c74afec27fc089756b8b68be30e49c0873c75fa1511ccb4fd701550915cb66dbc18fc5b8f0850b941cf830a72333c2ac53b375dd40a31ec57b90653b796bab498fd5ba8b848572ce062a3650367d457e8c0a05401902ea1b8438f6ca57b118b1600b86710e1ad1aad07cecefd8798f6e5fa809e06c4d5df7ef2b90a02c308217224b6b4d5b7ee090c35dc1ee5c830aa3de8e9198b8fe090dfaf81058e8b77050f6b8831faffc84abda695a919c863b66d4be8849c1d20a32b635e35a31f02ba1dc02e095b39fc2da5c8b6253198586c3e35be2a3592b57cbe2f3097c313a194a621a5375482e0e7526728e911eef78fc387f907bcd5b4801196266d6c99de229416341c480a749a1054b64f1903f8902323f286be81bf9f2d09d447ef534d10a73c2a58947b4dce5b605f6d223315d87c1e31df4f58048a4e0e4048912a84ef9336e37831db433e782df868b056d476af76fa9a8fab85d9b8a6dbb439ce60c388ee2d303f4cb6c715d68592db4744b6bfb7dd38c65cf11cc82d30387dca2b5a88afdf93a8b8c2f692baf148f278a11dc6488bd294833671e7d70f345a79435042de54cf924d8f447039e968107805ea05b1058a4a9b4039db52b111b7551fd1d2e7a1b5b7199c5c7645c474934a224373b30cdbf2c1d9b3f359489ea59f6815e95a44fb0a92104cfb3bde4c796d08d7d4b6f599ba529187f5711cf8880c42814db7bbcf7b2edfd174435759fd5d60d7d82758f4e032b673e0cedc5908df2437ec34296366c7d9a9c5966389bfb8a2a148ce633b8073a93b14db993ab78b7524d3be31f1f72a0e335310d02dac918c154c0a28909c7fe80023e5ab0f554a163e08f1d5f341eb4a1b8409e475dcd72705043ca166842950b734864f2cb30acb47debe5941a22765fd2c29bc995c7fb0c66414141157e4f7d8396d42d1570e1bf899dbab3955e0fe8e49d56ae3bd2216225249bd2ae9f84e6fc488c2e01b74826586d1f5bcfecf111fd6da7cc7e49bf32b21d24005853ff8ec98793b4620b417828d37f0dea418b3f2de6b8637ae91da931fd910d73b957d5c4ce60a6351183aa9ab0cff01f12c469552f75e2c55ea1fd219428de8b7b789e8743f7f98f35cea085bfc470d75e2ff72c566b20ad983df40b168ce808670bb82c2f5cb70d57c71452430bd3936d78131862ce62c707ad078c465b1781835ac91b98609eb63023546b6b874c8ad20b2e9244e5540442675bc7c0cf77fdd75e6a2bd9961b7b164364e31f83e5485feb0d9b6e7c40798bcacb2c67aafe2b7423075c58bac3a108b78371961673a60dd19b16b19da7fd36aa5fee01a8d375d680cb3d3b0f3d94ade2573372dcb10b5d6432eda62ff1a7e81330024059d03386431212377eaa430cab894003692f5bdb476504a01b12cbcc0d4fe26f545518873b43f748b9ee7a2a30e7bae2fe0be7b2b46af1a1c346675013854e8c514c5eaab1ab8e26861498609974030b881ed518aae6657c290803bbc6b7cbe6dabe685d6e4db5150a15388d0388a1ef618fd442d7921293a04c400edbb465b7078cc79e78f78cd8fd586b35b330869bd9d971f672cc80571f72e56d9c3b63fccc83e3e51f5f11f2c63a14aca1c377837dd0d16d755564dcf34c232c91ee62ed086577d300cbe66b3c5c8ac6af18be0e12b5e6063f40e0c51a51926ca037d749321ce596effd258a980c5f313ed3f75bd1a6140ba70119d49cbfb6928f96f5f1a64e0d3335b1e2d5fae405002f4b7efc9f21c67bebf80af29fcc1cfc99ae8561661620dd1a59113f77cb199866a33ef19473c261e61a2e45b97b1b5e57f24bbfb39c679a0ae4c75523c6d6d979db5590a022ffaf0f49cb758cd82319e03f807716bac9f1e8cd048547053d3387cb058af099f1b5072f5eddca98c71e57a1a825c5e15c549d67d57438bfd8bf07d7461bf681b6d43dc49930cbbc14ee8e234d87a9809d5fbeeb8d6f9f00a419f86f1efc4dd072e906e60cc98cb52933fea2cf5a002f736c43dd8265903994a163a51d2d939260baa1a76272e201d8f88199624fd963c63aebf9c602cb0c7f383e01b8dce6ad5ae78c21fc98687de47b2f3c62bf053b84c51fc470d4a28ef7320f7f49b9e1ba239a01f7f86e1550344143e47c8dd0991d69df4e01b5551e0f4575fb773ff3799c767744e10a33833f832d66baead2155b9af9a3d4cb9cddfb54e01779e810d96dc92dd25d2bc698916fbff8e54f30e20ef46d9516149f8d2eed74cebf517fc9f8e0be6728e16b541b08aa967d6e141cb96543a4df3ead81705da1e30965cd74c6ca4769fbfe54801a1b987f40e74bc69b74b29aa7837df679ea3f959c89be3617bfa7748864c9ea617c86a04636cd2eac8a3311a84b0514c18a8d5a42ad24acac6bc18c21042b1129d610e71bea7891bdd2654fee35153097fe010df76fa8653b0031fa179f87c6701bccdc4a9ab470d7b1844fb59da42a8813a9969cd37e274cc0623797c3f8a155dd733c4689c2fe89b30dca7528aefd6d7926f44dd3648a041ae3633ee5757c39fcba9e8203662fc52f0a567c60f35c1fcb3c1438a50fc64186079a6943c8feaeeeef3460dd5b93c1548193d971e931b6ba85ef64e452793d58506fe4c53a11c5e57869a8f2cf1e6f5d3e582ec00c1ce3d51ee804be9c34e8269d58c83166e468b9932ca7173d79a88a54bdf9ccdc44d15542d61805697aca814e5e2ad0e85fad035bf53db489ae1c58fd58880277d09c00eac2d2d415e637b05eedca05bf18ea2925e284776fbcf21b24e2d6297406b211185d79112ca8b3c23c0ecfd467c06679899a02c65b2ed788982f2f9d2a5c39be0b4810f3e686d98ecc6e2f8292d3d69a8d2746567a75cef6d64943c2304dd6ba9c21ec11f0871953d127041485ca3626fd273c0798e2170d1103d34c2914dfc3229cfb61318514892a50aab165fabfe4ea392afff84c50c12ff596080bb202e37acfa1412d8de3e17219ad50761d11097602dddad00d2f52cbf6aab9c3aaadabe3a4cdaf0e381a126f51a90ed3a44a4747fb70b551b56cea2f706055441e43e44d17eb28af6295961b8821c866a215df8ce77033f16383827b79a9c38b7bb66d98d42baf7ccd5f659a9dc562b0d1e35ab1e1432e315a6b11f23b740c28cfb9dae54565ed95e706da7340d3cf0102b20b590ea3ae05751c3dd99817124ad5c65fd8d799f4d5cbe45716514c4a09f8c4097cd5c4aed4c94e835f7ba9ae07daf34e40d4f129da9bf6aaa3e95eeb9828c799e9f20e0ebb97c4edc5cf19c8fca954f30c78a027b55970955f7542efa294553a504b340b7f341dc358023549a72c39ffc19ab88152b4afcd9102f24b0c6f5dd4a3d2854bb543155efc204bd73134a2781e175dce388e4ca10c5193ee9a9174b43ab1f58531aa12631937b6300ffe2dd442979a5dd12338eeb8a6c277bfae267b0567568bc6a3f45846edb3af29612cba48d8c1fc8f4e24201a0ab75e2b1164b7f711b5a7ab9cff396682bfb0eddb68d5162d09c483824512fa57c837f2dbf98cc13d03b5277cb883e5cc8fe0cb6fb93fe43546a093035c5d33d5541d9e2acf13ed1d2c0ded72f7c253d689f61fd6a23ed66656c7a2e8ad0541010d32bcdddd3e7ebf21ebe86e21fbe685863aed1a8b33641257238337af5965fcd74ec3f324b5035035192376d90016896a203f14c91b1fa0d3bd82d40c390f1617f9467bcd1b3653c1a962b453d705db5e3106aab3a7f313738b99240fb51361b81f96840bfd3dbc2abba2d43d0c581ebdfde34e0f62cf98bf7f1d4e0c02925ae17140361059b4da177d88d4a6137104e9519d968dc0b6c58469b36033bf47277fd8a5b2f5324596858b89cef2c768ad39686ca6a2e326450f40d08a916216945135f119c22196729a96e71ada55f9e30063560de79c0c0d160c7cc454f915a408ad5299b8ada4ecb81e3c622c22acfa61d2d7038b0b6478ad728bc2a25a546bef2759e7e89e3276cad906065e790324f2a6355176de35dfb6d33f8ee7daed21f39c75deb1d4fdda855501b404f5b3d504e6dc487502d3cf3c1e05657459bc13b66605a7528f91f74c707d235e4e51381fe9f5fd75764fd94b8cf177a5c8643845377be8135611b6ba9852a313917d27b14f925cc8606ee0087f470b5e6d9b2f1ed6bdc4924fa11c3a78c9836e028232a13270e3d1876fa756aadf8cf09ebe30f0fb733f804f5c2c9d66ead1901d7c1003b63933aa318b0820c462b991143f66f5b4d4b017c8ce6b2a9893ac4f9bb4eb2857ee22e84b199f9fd176483e0965f41c169f6e797ef386bfc00d374067c71980d86c81bf25a96e4c7854e4b68e9dbe55cc0e16ea73e7e9bea60dc376ea2749a2b24a465d6d1b54e2946ae59d583441913add811a98d715d4fcfaa12167fb7d711c4d4f507bac506174faf1f3552520e00f72d420594de0e144e314135fc61af8bc467bcfc7048165ce226d89dbfcb08faac939bd02519b8bc8dfb4babc1f756e444908a89bfefac6252193e4bef07647631b037e9927f3bb58d18ae78703bf4d0da97ac3c9fae346b153689d81f98991d90270962133b4424634e8fc74bd0202e0e8f6d87f2e3a6e0791925440307d5bfdbd292f04b5d86e21c81e6949416a130586b33457b9af0fcfb2f92465042841e857fcb1523e814822bdf5e6be4d0669c035664e27206e83247c54f76adc2eb169702fec3b40aa6bd5dcb9478d9f5647cfef3b7bd56c75ad14c453ec0a3f5e6704405de570fdf7c414a38535d489addb28c4cf7ff8d9ee8d5edd70aba6db3868649f3ab6436d597e7041a86ff33c4a7e6f6926bb20f3f8a2fe9da3cbfd8408256134d5b06dd1ededa4bbadbbd8cc86c76faf130ba2e20105085724d05a81c7d94f36d37b6cbfe247ae83b0cc41772851f14696a64df11bdb1c3916b7f63353b8f36c224a99d93cfc404f9af3c80bcd2def610b4edc571dfc31e0dec538ed31af5ece1189c513e4ae536cdfc6f4330b35836e0229c6f153770779abcea438a3935bc81167dface6e6659d3a6da15a5eaef9213469c8f7a10c8f34b3181814411c83c1e5879e80818fb9805955ea50961919aa4cc2baf962705d89c0d879e2447af821cc3b8881c9c2ef2ec84d3e5037fed01d2f085f81dae944d932b15f7d80c48750d8c85a942ec6f4b5e74e05b2b8e10862d53947c4357cb610abfeb322990a04abcf3d0844c89fb8ccfd63f4123a04f3c4850873ef1782ba4e4f90c0071cf81c86803d0be8d949f7db3bb15a7e19e3d2f5c78fbac382145fac0d9c918d20527147c603f127e04ab8438fc1c2e10da757217802699b26a5a9452df899812e7327ca322a05ecd2e476bf83196448bbfb9477455c71b704d30ae59e1963750a5ce4f24fd06cb1a5e1a69eb78065bf31cd47d9d5a5aa146492a9bba4d9467c94df4979b7af9e52aee32d622ca8817262c6b56744a53fea2c57412f367434a1e9ab54b861c63c7b21d00ee3e520d08f16a4eab4a416e3844bfbd822209deefd73459e90be3f94270dca43227059d7593a12dc91dcb9121edc65f5cfeef5944674befe46b3ed8aa48d49617497b0b97c471a9bf60c9b1db2835f5dff518f5e83c2bb0586d16d3d2374031e62aa423f47e27618ddc0fd067f5948e30b89af9b987c559f765b3c40a804f253ca539bf33c47d8f4570b7694e74fdbfb9199362aa78caacc0a15fe07d55ab160cf1a30d141982a526d7e409cc0aa51c7562c7f9e5387e01a6485277ed95a302cb376b1e358f01aaabdd2009fd4db7eb3eae8c5143e1e0f802160c86ec0c6d5f3b1cf38c1cccb66f510017f49fbef9f958f555bbd068d6fd0029376c368ed775eb80365b26c57416e282cf21939496380323de36c2eab5698c81dd9f33bd55cadce89f0a83aca2efab286c504b789e29a012e66d1fdbb72022ef40acd33ac5f8b342ffa20bf1a3a2bca133a6856b727c834b44a3b6d5de547d6d8fc33de7254ecd0d8c8968b6d48a594e6c87094d00022ad71be53eedcaecb74e914e857564b64de5174e28f63233b225fd9eb96e6973d84a361d01ee89875a3bcb9fe5751d109322a7597db3e12b6348a9774a99694e0d67720c1578d0429b447949dae3c2e66b8dc8587f8a4b913f4c6d387492ac68d205a252fbb542e7a532a145cb472d252ea34ff80952c214b3549b9b2594e8845418c633fee4b5574a8ae29f1e53b7498a81df9b328bce7c470d2e60f2ca19a14f9170792918273a4feebc7fa432959ab26760fc97b6d13466f129276dd0523cd900d72bd8971d2baaffd86f1fd98b8fa61d579b8043be8e0a2a319a9af0e995e6ee8fb4b9465eeea814e88866913e63d92ee8b9223da85c2093b0e08b0ef0e83cf2cdade1873426292732daf7c9cf6b068bf260139edd1e0b12fc0a43f5ae14776bee4309b915440683f596e1857ea1201a882bc25e1b9db019e4940359a74d42647ee9605933ab33a9b6aef2d465287b1955556f289e80f4254de51826cb4e3eac4a8f0aba4ac3095b46491414f1bfd328e3efb01b842e2f98e099075d96ade5b026e7f5be689ade8ec14b850079cfe63ea74a658f3bb36917ff0d8aff5cecf775c0f3a453c7062af006b0af66e1e6e484bf490feab5ddf455dacde83f2ac0cf022ebaa4029d59b59de67bfa47fc96624b60bf663fb5b280bf692d6976d582edfe89ed86aaf6aeea8d8a70fb5b19c33072cc2f906d6e9004d4cee0533a646f84179ea85bcf9b33d19f38f33225aae3ed9101001708ca2fa0a1f0faa568b42e01ba6fa00d2b6954c493567147c9e114a0a231170182271418d28db79dc91d6ff42949bc375dadfcaa2bb6701c942c9eb156ff3afb0f0e0933bf82ea86d17632b9bc5b6f43d7b4e21b63fbd0c3b2b4e5fa566dcb1b2ab63d6e08dd1b4e26378865bfce9a215e41cff44b7d32ea8a9ff54a54758f62e219e019140139d14b3e0dd17145206eb57c147502fb06476495ba41b67007099396676074a1d671d55886615184421ccf9b0d94944ddbd52dcb3fddd9209e947b4baf607a9ab6e66ab3b959822472df50c0e5b17e0d3789625015dd3ec1a875a091b30a522887db14984ce014ddd789ff207ef8465665989aeb53e8a7c66fc94732cc44b0a37ceb099984f6c7a11a489d02dec3ed6d1004b571fe4a4195f4888131c5c41aa2523f0ab175c2d4d856f4e6f9b5ea4510b005acbd56191e4c5e8da4c9aae1768a54b450acc9b10aef5466e78817bf6619b0ca2e2c853442b3978321a471cbe5178a7a0df5f56d499d46c3c1d9e5dc607576f55037e470e9d3bfd6204cd305e4dd1a99818c00d8b112127bb070755d0fb54d0cc058bed37e0455260efe39e6a29fd4b616e4348bd2612edb224350faf2df1eab1f4edc1656dac80dccaeebfacc18bc9d8dccfae4ff7a9305115f8353ed6517881dcb17828cbc636d96338687e056fafef88ebf8295f38fabfd15c8f5d24721c254376c1acb8f8b540085a5d4a1d1329a0b2489364682f11b38ef9993bdc7f097512be1ef7a8141ef32e7f94c3e890b6709cd2724346cb43fa4700621ad94bcdb1c422f45d8e8420c0118a5e764987a566687a83ea8dcbc22f56561ad600c6dea65445e8045fe15a1016f9ca4cdcc8067cefc97361559eb150eb9633ad61bda8bf3a5c3e2b23fc88b34866843c69af46395b37284350e0f0785b17ede70c15ba9f3df8c5f8e83eab48471a307dfc0273f1a00f09fe254224cf1a6340234da0409bae0efa81d7932cd2e9d48b8b573883637dbf99e5120d8983ac521ec83c7d22968a0d8813a16ab0abd536a069e85dcb7f35eb052cb9ac53585a69e465f715cce84b9cf77af18b3a8ebfc8605e149940450a7352ec24aa6c1143659530c929650587b01f5eb0c4648287581b4166976e9c3aa6dd714888daa7c0e3eb81ef5d9a476be6d16c85a411c77ca9efc89c4c55a8e2c89b0b5bf7ef80846654140734fda447916ab519387b5d2d3171a115a825414b720718863d6451eae9c52bab7ef1f7e8f51dbefeb0215896dea23cd00f557e00c8463db070bb2510f8a99146d390ba284e045879eaaaf1a5fe751083026c2ca31e5359b047c8ca0dc6cc93f9c2640df5d8b9f89c0f21ece30c3633c17beb6c2f80345ab709c6e2cb2dba57b85290a57f2d4b73491ae7d23e21ae97d0293a6dbb11677d783f68911ba1d0102f6adf1ccd79cbf85ddeb7e17878ae509c0c3684150915de64f16619e3f6b68ebc51bc665f918ac597dc678302f3ae6f4b5d173a0bce538fa50e764a5fbc0941a0e1c79f8850287d9ec8bfa86fbd695246ca921284d93e3dd1653d3536580a9b2895218ac4c66d38a4b9ea44a1b54944927ddf4cb327db31a87594cd104426c671df4b972b1b69ab3e9bf5c9bcda5f343222e85ccef6de6913a0e4fbb5ec298271b8eaaaafb2010c2df782b9cf44e7dda6ab946a500ccd79db2f21536b88724f5cc4420a818b391a07d30daa9e13bd258c857e04bf47113fd046fd33fa9c193d533fb485c3e0d011807342a941a3266d01bb9d68fb558413aa6da040fc18b4e3b4e64811f62c41f53acde3259c62a476572887bfbbd9bc6d3393c0193b66b49bfdb107dcbbb009cfec25ab2fb8d87c276df9877bff56fd89f508175f5040d79b8f79257bc8d9dc85c7144b6a1479d81c761366fdca231d12ca851aa02fc88057f80e33f7028e09c736b7d7c1c47fcfcb40e0e8785aaf650795f2ba77bdb675c69bfa9a86f57140618b96f34337a81456ec969e6568f9aa7312cebd2f47ebd4f9f1208b14b37b2717bec23af68d15cfd16f38267306cca7e117149e1d8733731468cd974c21d55068cc8e0bed91285353b4724db3ea310d88824465ae7c518f0e86e97d25dbc1092f676a931018c3cf91b7041af6646e135b5f05c79da486fa0f62a8008c589c306ea4528db2460341d1c207ad6d522f26e91d341a54ed159eac579dd0752733f60ec45a64f3cc51b8029d6419fa832eb97d8aef2f39bbc39a1e57f96e21dd3ed9c18cfa1bfc51fff7200c6ddd10607d10e62270144a15f130baaf6b3960ac3941b5dc2b36235e78018075d1dc0d34f8ef708771f40aec0b97246017ffcaa6a9cfcc7b0d87e110b662f968f10376e65239a58ab31b4d2f1f0a2fc85149e6ebac83067f0aeef7dc1bf3c83d68060e871b9b01462bf9904d1d23b8300c133c7fdad242ab41c4ee534befe790b1b9db8d0f02f8698de8f025f4faa99ac19bfd0429adc438a7676b0c961c3e7e741632a5c7ab4fa5ff0c4eb6598bbefa7eded5a3c112c6febdeabfd992fc94e5a6ab561ccd3228ec0dea5b3556a1c799470362982ea70921232a24024e07952fb1a7d3fb05deb505b2a99f372baf447d5488affccfe87f5cafc3552be47b8af2dd58e8f8105d155013a581868fa9874d9957a4202d448d175bc0e6915b98183e0365d94b3d262d6b37c8b187a70bb9bff05732937405a75fd0772efd3ccbf843cc26b0aa1a04ee0d794397366565ccbe09a0c2e4142810b037be274cefe5865893c365de0a6c7cc5bcaff6a036a960b30908eded799893876ef9ad77e1ff35252f337a2657cf2c701a08078050e9d24f98549f97082c721405252a31a45147394146771e4b4d8ce332a10d61a716db93cf3949c13922fff916655b880a12b5b735d09f8f5009f8ad4dc3bf3d21614ba65d8d0d0fd5d00f9091d4d00b0bf871e7862f26dda206d6991ffa6d7ef18279859965ec3562c813cc2e44232170de21738b76340b9ce48d7bd3b65bb639843952e6f5ee2b1baa334034af9439258fec5c1b65e90cbaad18c148453c9341ae3f305f71a6b1449ed8c90f7f4f2629b60807945f7954595c66197dd5ea1f2f3792a24162c6553a7b1976134727224e1980a5d0d882acb033877f126537851c83bd0e10869e689d28c22357303c7c6c251708ba35e203075e4aab13b8595280de975cec459032491b2e80cf17fd4261c667d70fd4484876bedd44c8f5195d1ae1cc095192b77d0bb66328f51b1f051ef8ac6ade9f68ad93d3b46be14e025f30d4a04b5ff15d21d0e194339573fdf3b80badc491f422701cb75fec0b71c77cafd53422ba00ad06992b64ce47309b778913b60b0226c7ba2ba39a6d67f56382f0f2edfa99417d32de5abd296f6bc29522f7a9a762fcc24051ad6810295b352222b72c966b4a4b0cfc2b1d96225c71ef8b7add274d0e840a58036a0be4af00fe8e821a6a7577a366f23665664f82fed44b54070c497f4a4a44ccbbda186b3912f4a905c3643e3c8664ceff23f5434355640ec359f6b47b8579313d92a1267ea236460124c9c0b5a911919e96dfb6ec185cb3f199dfec2b98c22fce10828c1527fd89851d62754cba816f72b26a13ef9f2a5be1caff1e6e68da1a4abdbbbb37e9d1695e1811dbe398d13d0ee45f8f5fe076cda9fb7edcc92994b703a23d4bd6860807b0f7e4cb1c346bc9c725e8de0a2da6dba446f52e47fa57c26c3734a505e1fc82c23e638516ad7aa8f330c3003724f997fdac088e3d1225d400854a03479c61777486be22242e286dec4026a0d18a8264a17684c1adf00ca7b4806b3e3f94687ccedce85cffd21caafb761bfa6b77fdb0eb8f23fca6076e251d24ce9fe8e81dc8dd0153288acf8a278401ec59d71d297d538b90022746f3035d019ce0ce9247d6ba366211faa764a546771ee156ae60d9f7980c90d56816ec8f0a1042ad2a67ca8a24c7829845a1786ded66a5a1e6cbbeb0af1d2da0f7f0e76ed94236689d96f99bbe6b17150c3bd700a364494274ea6ad6fbc805a09318fa2ea66051efd723fceb5ffd47ad055140bad12735f27c209e03ac074aad8aea2baed656c9e5fd5638162eec0b718645d1280ab9d0af20ffe8cdced3b635f36bc5cbb76d4c766630737570c185ec2c51033045a8b1b511b8e1796900757ee7d15cd3a1dc7f28c09b8f16c65a83b9da798bc283a8d4b9e06a6c733c3c515dba4fb9f033f2cd49e707d7fabf0e67cc8ea6975a218855226f6f306de92c800f86c74812188f66b782d2a42f7af5fad43ca6bcb5c6f97d66274bf8d54ba19f86dde18390322568b2b5f25e6bba3ed9388ad246100c2a1d554a989a8846be5d6ab3e82500e410ca8ecf6e8ce7055c75a41d213d816546770c9ee026404d043a9b9187b2160eda2b43b5a61d34b676616ef66c3b1449b6845344ea586aa2972640047091469bb9adc91ca3e24ba1b09f55b29ae44b6ebb2f6a5350a3ead09f31448fa0fc89ee22e8929311b67f33c8dda03fedbbccdeec3aef578c768c12c074160799e1989c931efeee48b20998b392e3bc48a6e013cbcb211cc45a63dd291400b6de873f7e779bf910df20719c9a897b70847943b57798a2caf4922f8c7398c74fed634b9ad4f3c82f903edfa5a7b7b475771ebb3571d19a307e2cbe8c0345418a251e2c4da8ab76fd6d69403a03f412083112e3f8c1d59ff69fa7737f79b64252a01f8849cfae7b2d2f17f8e31b26611faf1194198dcd7c663c6e980feb3ee85d0dbfe435c59d5db5d7b47520248c7d676cc8e9f3c11689030b8b9a2b6ea3e919734f7ea932e479f38ba14d04d60a405113d342e6a0889e16f61c7ca8cd276dd99792338f7f4043d180e2eb8ae576cba27fefcbd141c6ecfa3416a77e1f98d07f4c426a35d0aa70851a9ff64d205c22b77d75a79a8b7d9a44f8046a951bb9bfd1b77a6e2a6c6595c8d3cbf026b24ef13a2ec5b3ff6bfc551b4815899333abc11c2ea982a032ca08d269fe39fbb931e36d19192d344dec9061327afd36a2bd757e24889cefbade67025d701dc2e796038a42cdc4e745318c4c0b5e3d8c29d3a500b78c1cf4924fbfdb7937e2a959885bc98e3b0141913b1145110bab32470f707a06abc281b3881817cad05f085d1bb4683ed038352f3acc4098bb591c5ec358947c28038f09f85d6a881825861bf2a668b7503a072e0a3684dca9f6cd39690d7086b5cc2c8ffccca08bf9a8cf39d3d1894a1a743b29fd2bf4e67606351f9b2a9dd5b39705765abd41956019d9a8ffc8fa5b88fc7a68ae4991d89aaf5d7e683a0b12d28399872af35e972f63c4c6b862b2adeeb1373e8c93636b46c253e359f4c6e20dfdda88bff18fd8880c53e376368334ba28952b87c0c4d58475113357a5dd57544f96dee84cd1f9e8589844c2e6beb5d2acfa90d52138fac491f3ae3b3cd990586a9742cab943d1e5cae047b03d7022aa98bdf145b461796c5f7b0172fbf7c600b54622d41f1d1e807685c3325bc8acae16724f55c22a56e60bc2eb0c09f12a61fbc88fbb942306a034bc828e1d5263b95dc9fa262b98ba2009ebcc22726ef153f11d58ad3c2e19f74e60165dc5ed13fada05c7bc0ab2bb3fc45c672ef5313af803cbe6d70055531e624453404859396e3a532844ac6c59f3449d2f333a9396dd6e3850fe12a583b3aba52d61db29e948158018f72440829cd63a59c5620a92cb078e883de0c6852772368abd4267196916d63a21fefffa798a12a4ec158e89fe0d618cfba29f9584f5abce373b31c485cbbc42fca6ed3263cc65bd0c0cf115b069c0f6b3f8d3d3c757d7e399b0c020701a53730edf5cd1acc0a61c7d4c23f6e73deb09716eb6105600a29d46c46dcbd3b32c7a1331e2bf5cecdd8ca0f18dcdebf3d997215c69cf25aebc21d315bc2eb3b8de5fb403564bcfb778030b298d586e59b0d7ca449121f38dfd4a83daf4ba5e0928363e6502a3d957e99e17cc6ca3fbaafa838d5bea24a532ab46daf9f5f220bdc128fc0bf93cce084fc5ca4fdfcebfc6cd281d93f62f1f5a2eae775a26ae89dde6662825302b951d38672c1f438f7a3b85c117ec79a185f7c5f541d542b6aa820dde2393a910a5b0294ea38645035a28dacf364ba9637aab687a3fdad2b3a65a92cb5d69613840ece0795eadd15933855ab55f3d88dc84604236dff21870d620a811cba16194e49956dfc28b245068702cf2b2e8285776fa7651048999bfa6df31d02fba8bc307564477952771291807615346ef58dfd7ecf8bcc8bb1c01eae15ff00576492452ba505aff3bff5f0ecdd48cc3909acf3992a8fe9d27baf31e9752fa2ca6b741843ab462f7994cd0198517b735fa79c332dea09efa09186ce7bcc8c8309c5aecd4fe879942dedd84da7d31f862a608c444f2f6493a9476f86d68d9c259eeccd83e084555e2e3ecebd36d147ab91db511fbd3f652b836d7e941f41a3b914c47e4f5675e3eb6d10a7e77e07996b0c7d70b0982d01edfc3205171bcff95a6ef09e6fc39ef26ef15848d49e824b904d2529488dcffa391e6636a858967c676249c6f432c09bca0b70a1e7f4be3fc3c87a39a5a799723f56cff5b342f96aacbb2802e6ff0259b16f17bfd063812c42b183e6e69608c4567c2275ad66cbf17b3eb3e127cb10781e25a92db603380293e48e94a95cec962106bd034cb441086d1ef1dfeaac464b4a6d763b07fb545f6b5b3469b3ef29c7dda96b627369b4375f654f64a5651b49e7c4fcf3c62d2d05f0098b270efd3c5b5dcd914c740389bf62fa18b48c62f71088bc83a9e883360625791bad49c7012cac00650cfc7abd95bdc79bf747286b10bbbaaeb1a77b9ee8d4aec5621f7e643a8da5db8eeaff7714854d080ddcb725fccb4d489e7404ba83e52b1614074d3fac86790db4d9c472afa43704c0574086b87b3cc6d9de91597fee5346ed87cabd27a692b7fd3c5c1f601c5ad1aa36cb7d69dc31cc7db187b02ccdf5be186a56832ae1da30dc5cee9d674f4b76403ec069598779d325ec97c8cfc0a3ada5102bfc893f07c2527077f8e36172f045aa53bdd0045a239c590ec452867371cd1d55d8a79e6dac15932aee750cf69a080702fc44c5e9c3cdb41dd22d0aac6b0ac37c959c17b8466d492e3ce4b48ffed8176c834c73e87f13b490654accebdd1fef4ea42fa4dbcdc0b9378a2eecbd9dc07f5ca64d8fe9d94d04b54312b218b837806d4a2fb49a30efa458b57611a8f23326c1cf89c33be077bf6698f3557eea9312532fc0dc8dd738bc48adce65b496b82ebae69d093ab1fe9bb36d81c347290537c5c784a75c44cc20b58d25f727cea895b9c45da4bd869a0d916737cc9863d1820feff1c6076daf121d5a9863b2332c47d001f5011788739087207035aa9f2534ecf582f69532038ce8162a76a8845e3e65ddfbfaaa9fe33f3ce93103052da5d342b46ddd4bd4ccc47e4d76a995bd35f67996832cf4fdaa521b8abf59e69cbe79f2f7bfa2abc811a0dd3ae4b7a4bba71b88085a4dfa2805c0969ce7569992a8f80f3dc9c979d8b802ca3f479f8f9e602ddb443cd45038ecc743114267070dae5735080e4f50c47a8708382ff82aa7d169a22e5193b32d8590e18c88b46916b47635d4006df56303a53b42681167222e4ce92f00287933836fa485f01604dfaac653b9d0b136847889db4f1e8431a2b5272e5fc2703df03704ce0354e4e72c33770dceb5f5fcb9a5abd9e5e8d175803692fdcb4e5ac065b5334a0a1d8a6634744b57cd278c66f4c96ef53bbc3d37deb2373cae8a480b69abfad3bc4c84f712da93cc04b62b7001179d133ddefbeb68b77a188306dbd92e288b85c7aa6e933c1ffec395eb8123d218c37d32c26c69d3bb749f101f4dbe7a957851078412324d0cc8757342bd2abde232d9cd8162f7b7a4cb0973801e20e2639f5d8dce86e816cbcbaadedce23df3798af527cd2bdc9f54520dd0396b140574c6d343826cd937eb569db6324c78d69c817fcf7ee8e2d4214d43e741b07c47e5366fa0129f2d30b86941d329fb930401fbdea642ca6577db77541a2e75daa601f0348b5e6e8f09d4a9a2e71b0374725182a847f703ce34f899c81537f73c8d3b82ec980525415634c6419616eb69eb57384f9ac89ac9ec2d9b6b68956b3db2ff3c9f9837cc7c2b72d6cf0fbec80b02ad01d78d7ef5720537f92a80539728e5277a3c5c601c9832f8608752b5873d6af670dbad495b0e1cae1a90a803030b2fb930dc608c5e64734853df9e6464dc4c8472ac5d740897637dc2d21953d5324e68c121304b91030bd65a00beb8a5b3a29868b56ac26b29f878010fb9f6ebeb4407e422f477f861a8fe5ef7b23a40fb2780ae9cb70f4c4436a764629b708f8819f2c117d3c9d2dcb1f936a2b7d2adf29ec34cc2890395efa4f8f2f0eed18e868a5d2e1733bbb8aa2900435232b74e5d5162f9b4d4a163d5ad7a28ae6feb053679383d559d80bd4c35d3815afd62d49fe3e2a240bf41dc1f1fda4f0183cd4ff6d375485eb23c5ba679d4e927f91167543a53f2833064c8f2b684cdba95fa297c36122148be018a0de29a968c106b025f19dda543c350396f7a0e41cd77f808ab09af05581804c4968db49ce982d1a1e909dbdf80eb8735aad5a34e69df10dff460eaf722c5bc7d29fd5ac41701a556de900eca2fcd63638ab2aff9f502d947ab5cf38de90664125587f8b459ae5ac1e38b0bffefc801be0c9918bae4420a1dba1ff607585458e1055d9e074d0d7128616a1afc9067344c03f287b4afd667aa2f025e9e9c59267078309d0a26bf7d8b9367ac0e2db4e2b7f0d96b39658a62941e8d0d67bbab402a81a2096ba4417832102584b85ce937cdcb41ccfe5ef6faa2edbd39a5c65d012fecf5bab14a43cd9e664648276a70fd58b251b70c09a1989e044ee1cebf2cf374c31b1c59a61f525e3fc5ed94bf1c053c23559f9a045084e914ebb070ce4532f27a2d70f3c67a4d142e1dbe00abd553e3f7fded5056cba2713a545dad38a72215f2b9462067f9405f312f15e9ddb02e94abddae4bb06195fabb17c7a0550ea67fbc407263f0f5b6dd903c693fa249676b6b8f06f62f6ed448adebd395457fdac126f5a026d3781e8c5fa33633efd409f6b0e96142f62190bf56dc24ed2e1da5b2646d051fd2cef834cd4851d0611b992bac2dd31a1579584ecd1a251517f4a939cd776281a59c40ac6eae4c90c1af9508ecc244def0257b910c562f6e99329f984fec0e3d7c828541b5fe21fe6381e32c99b60318bc29e0038df9a5ba3245a149babc1d1e364475fc083598f877e7463b05110cc0048b11b42c75b54a7de2e6873a212e69e3d91ed26dad7de0f364c0c0a34d73f43c67e816872087fcc74ff406cad1d279be4c91249eaaf4a5dfe4c7c2ef6f44dcd687e6cac5071ca620ebe5f75fc4a94a5ea040e2ac50976939a9bbee426356ae3aab2f5afaf3341d2f0aa827f38cd26d5e143013193814ee165e6ff974811be61e081993133cdcb60fe3671461a27fe3c2ce9d90a8e356aabed847b38621da20f9d35d69d3d736771d45e870fab896ec63dd93c414fba225baa2068532d672a2a8339f15c10290be093d0ed3fcd9c9fed1518e345e5f8efb46fca845b9a4b218fbeaf567627866e9eecf1552077a4423e18e88d5b5b32230d91c4b0fe7c3734a6d3d04f9003a95d6dd1d4c3ded52ca8bc0347cafe37acdc07fae5e3aee9b749f800b6557aa4180fd9b7f53bd7b5c5b4b2c2d63aefb7f8a83017c72d858d16a2c67d6eeb1f775c30074699eeb36f1aff286d9f052193dafd8e9b95ee0910e56ad16dc07097d80ecbbaebe213b96865a7bea6a9c54bf4f0081cf531e49366e8121839044803203c2bb176e00c0986062ae03ddc091bb5d31aa6b9115537f13720460b0564a28838fb895d5a554407b52300e53b06f7a34f9315145e868fe3aca4f78f42a39b1df1d2e69cea3c9953c4bdee2c06274b370b6978090271a86a7431ed0ec8bf7105e2dc0c93ed836062800c9223dcc59c7c9490c54a41bc03693c041ae705c9ef189418157f81b693181fdce57225bfcdc5e36ae36962437b777da799c0346da4ad4a92b22a1cd5283fe0fc2d895ffac46fc44c64cd55a639fac37825e809967c8da68359be98c79745d0066656f1d9ec28e4b05a3c5e248083d1ca2bccf93d6ff29c186a19e80d22c57b7b7ea5fbb5af35d184c69c3fe5b40901be673cadce42c46adb7e790c321e28c7fce8e5791ed0f308d837ed4cea6e688bd8039a8038d68f201201f6d00357820d424594bd10110f017dc08368b38d38d8185932f8d9664accb0996fe6f8b6873693fb634e853b70bc29709f7ee7ff57e28dac13ee76bef41b367aa10c6a7a37958f87a5d8079e382daef83bd8e0442bd279ddb54a641df51ca3e95966ce0a82def8813f78965b3bd62a5e024435d90970935a9777fca1b00b78f6362c166de0fa7110a38e8b7d9ecd59bb9656a229bb9a660cf143360d92bbddfd9c608738c5e2874be66697468b4e19ddc4f0a56f7a22242edaa65ed2194deb8fb7811884d1caf7e5c2a9fb209e4dfb44e450441888571b6360f8625fe6e2275f600a315e88c5052c30d9bf2df9da58f153c8cdd184ad926885adf3e765fddfd9f9551f56df7c83b428a1c45c650a9ca25f782a621ea9436edc8693093da4c50846c21b19364ae7b2321656eadde48b1a164c6b3932dd59676fe9b68e89b8aa4c060952ee94ecb40138579bcd64e9129634833d915cc195d2bb2523d46d8f395084067be2dc22bdacbe6cf39054c3c499e1d89390cb79dfb9398245e138d9aded0faae3cc39f21ab57dd0ccc40cb6752add19fdc132f419dd41c899a05b19b043168e2b063ecf63779d986c5de7be33b214b6a35c1f73bc2b90409123d939b1cfb7504f5a8c4ec9d0dd0430b1d3d262fc6856015aa58a1e1cbd73a351c6b3df247d32242f50c49d9115cd2e0a802ef97f41e5061a55c711e86ecc318479d7fbe7f2e39fa33adf4711de26014dab244351acabb5439f6eeafbb08c3582507260f288a341d6242105182391dfb18ab41ed8bf99d74fdafc9cda6c174ae5a99e3045cd9122f34075ff37d5c463e101dba5927494df37354d3249ff96a48d4922be5a9bcde88dc1866250b0633d87df642ebe7f1a9c4620f04b7ef8a9d11f069808213f539c6f925c26cc6f3dfbbcfbf18b27b0fb49f8d0b4541673eb2b380e84d45d38dc2734fb39780b6729040b68641134a210c18a014e81d97920e3b1ba1bab5e25508924c6c9bb81006d95735321496a685fae95bd4231ee1528ae647e4821ffcc8fc517c60ec3dd0c30e4bcab5991a2e58667936da7f39ebd7ad722b79b8ea04440bff5de5b5d95406959d53e50a4f7ef54939659b43b5002b011212e4a8f687c37ce3c9e970e59e37a6d814acb017118f6adfb0000c1870c6c76b6c103e2652e3a25758e9a1b2824416588e7c77a9059dffc7c1eef62b7d40cd9450eb02bd0e79807b91e60457f7c2299eadf0116ab21ff01d619f0601b8f02daa213c888ed2ecbb6b2ea6642e671c151aec275581a64abeaf2b094d20aca5b27e7c6d725dcc2a006cd520494fd847960b563636fc6e176df491196f5aa5a73e76d3f8186e83f2da43b6a5d5f1568c8aca2552f6189f32ae03f9793c4945c9a565ee1ffa9df025e8491dec1b6190a262f685dff0d8e6df76e29c6424f511cf9bb7022dbf512b856ce795c835176b8726437b3186c42823596012c8f66960a9afcd0e81f3cbaa7fa91ebc5f0485e6e4f5c45f66b7148cda31e3c7fdb44e8f1663a3554f5cfd32e48981bdc1b22aa1a6361a29260e63e264317bbea14d29386d112891e1b9f4c5b2e47185a78651f95e2e8556482251d8012f219da0e86de3b29a0d9cfbe2219bd5a372e165640e2d1414a24d9b739f3a016786467de2118cf9fe2d65e5ef7d51af2bea5b1d3702567b7038e03006e3411e7a2e7a2646386cda9afe84b85dc1d2b5bbdee723f62397fcc588282a730f2cac6aacd1c2833ce7993f9efc7339f2b6a5a2b29044ff4a455e83e605aeeed58825ddefaeba29b78ebc7303df685eaccb29f41f596366f5d471e765f75c50ae0e72ea90d1f3643ce777e9163252644a75ec9acd51b84aef5b468557b43b721024e785b0fe2d8548e72807d447672ad4f08434bd4b4195913f68f66b723db06a08e34efc4e9626ccc31a8d900e157e240914614e77d94b2757e336f9abcd0e5c29819564e1c3c13abf83cc6e08df210252155af42b5b79b0dc4818e849951efa4ba2b6e800cc222d4d6efaa568903ce36d572ceef185d4b73e2b1e97b1addc03726cc10e7f9b3d59832f5c5f737c6014190cbdc53d0f444cce7204e6c348feb12d24ffb6e4a705c34a6e70a5732b696150a8573088ef91dc774817a6ed0454fded5cf1caa77b6660828406ff3aaddd77deae3f7b31e2c65122d5b219b49ae7c4be39f8fffc1f0ab6a87ccca36411ede95d7da7bc46be6589e4ee5ea896d08ab9ce7235cbc55b0b8352b22fb0120efe823e9c5e58c6c03ef7cb2477472d3d36eb6f65e48efd2a31e251165f26fefdad4b3dc686cdde7637d05324ce376b5070a47d2215e51b1cb02ba24093aca7227d379fd00dea0b3afddad6e2123a5aedcb919c02ffd3fb941d245f32a74dd7ec9ed9cb2640d695a437b43a4970689e85e37dc11bee8c2f2e0ff73b82252e74776885e6faf6705e86922c298ccd7faa541232f5f9dfd05953f23f6c646a116d92ca3d4979db027ad845df770b4a35bd00bead24c468abd74c3cf7f9e4f37d287c9bf3efde88addaa4ac993b11c7b3ff108bc79610830f9c6b7cbed4f5778f822ff85f81454cc8b65ccdaf8ded531c6bb65df52bf0dfb6729d27a9d48572d1f7908718d884325836e949b5dc207b26a09c74b4e3c85ab2c19c1dc22e72674579537d13ec0e9d57a3b83d27fae3acdb4728c3008918928407d3e738461f505d2ed0af21dc9ba60c541a5c2c8b4fd1f525dea63fee492e11cdf02538150fed7dcd297dc8264741f656e1014c50e9ccfac2faf023c6258b607a6826dc29eb1f99e79c85f889c334352a8a167c39916603c1a4b55469fc1aabb257ba46cc4273a27ac21b633974692c9376272dc3effa422cb7a673da5d7ceb7aceea7145d110c5fb0106286042ba0de60cf262e98907dc0e993fa7ca937aa9b8856d567f08b7e7de2db64b1487d3172d88224e2ec5dab3791fd77cf0a461d46dd4430ce0d1dfe9b0eac524485fd46787a70ef15dea7756be82a9a5e0c2a6501f50fdaa6d8825d274017a4b0734b26759225ccf7ca4ac4e684c1a442c0bbd358d3f1f21ce3cfdd3a8a4636c9c9ac124d5c044f776b54282f463657a1e2dcb98e7b716997562f276494b67a50a4de9ee6e0f96a68b4c38a3b2240b1d35041e8733bc10583afcd85699bcc618d086304443debb03ca315da279aa928d3e1cf421275d9019bba892185d809bc9f5c32e6455a5971f1ea6c94f4a7c38227031d287641a51d629cfefa5ef6c2cdcaa2db51c1a7fe278b8e5d791ac767bf65c97718d2ee7f3966bef5471bcd64ed88310f939074849f26cded71824ecd3789633233d42b4b8f8d50a7433674a7c69559f68d12883274384020434059dc4979d2a05b8d3166f11e69fc0bf5e737630fc6c95e4bf5f2c40d2cfa82f4bb76996990b244160819378f29c2f9869256b4fec50e6e1e3c99c820b2bc717b55f006a731fb839149f64b6e4b956290db58e47afeb3ea11115c0d3a27feaa2e659e934c1cd0903d0f70586610457bfe4af4d934557a13689396822fcb66bade225772b20a83a02746c9516e1195732e0ef5129b7dd93cee5cd21b0be7c50f23371dd3e0c10387354402275c4397c92517cbd8ce5a59b8cf26fe7c48243108c729815354f758241fbf0a40740cdf4eaeab2027fdb76281b443c5ac64934613a2488c1a9057b439d1c162264737bfcd61ed04a20be9e8fe0f0dd373600e38d47a186f37ca282597add31b32bfbb7e0a54fcb1059a321cca218ebe2841e1933b6fdc8cf13cf5c9ad653d8c33a5238522f698201b603deb5ae96baf4be01315861b007046fd48abccd291a1ce1100d819ef2cecbc21d6a8f8c76388f413b13cf62b14e1eb60b9fffd3f8b6e9d22c2b611674770392082cedda7c644e785c5fcafae43a44f86273e253f1486892792b7ce3ded5131bff67187fc5af643fa438eed0c51377eeca85a62dc8a24989f68157b39ef960a19cbf5172139a411240375c16364090d4c4f9884b03f1aa97c68d74aab4dd1cc183f095d10164f1b45c8fad83d0c64c52140346ec4b2766e81613bf2bbcb9e4ec4aa9290c80fc5fd60ecbe0b6b37084e35beb0cf50f91802d5a3dff949cee1a31a880422045bd8fd760b80dbc637b6b5af5559c15cbf08f49afc1dd9fb6c78df487bcbd0ea6af0c211120e42715c18d05e73d77459093e857ffecfe5071eb62f1976be57a9c86252da3ade15d0e2716b530e4bbfe51f4cc651bba319a3a1d801fcaf2b059043648b6ece095ebe2287fe64f77fa692ea62f25e49c40275494d678be062bd15903513cb20d4f99568452e5364fcaff1a7cd6b98c29451fc5829f11faa4369a792b82d0ac41db9372c7d55307892fab526a226f604c41b4fb5d7c5bf9eb10f8ae2ebaebe97e1e2ccc07f9ac03d761302dc9a05d0891da8f6fc51bfad11d542ab7d283137f1767359d89bf047368243322b0e530287b1c27f9c88a6b654f85b04a1ac08187e21fabbf36cd840a9816c55c0a9a3b7978151a3c70e3a67ea086675a95bac24f84e9e4d0d90ab7206f0c968ae0aeccd578e8a07b7b865173471cf66d35452f6e094e5f22d1bff09c50cc085a902bf19293701a4ffce8186f3a9b271b77bfb189f06aad8aeef5e2a4ec4208e4b10f3041fdac3adffebcb25431eeaabc8f12f44e06eafe8099ae748811c7cca31b08ec37ab74a1555a01962f23a1da03236f5de57451ee3e5f10ae0820f7fd27b0b3ed9a3785fcb51f83e60507cdc27831d56265db2b4d0f24ca83103502ccce3bf2f768336f99c56b66f3ab6ef5bd6a620624b313172f07c2f8301ba8ee220f72d6c157bca997359c43346a94a8690ceb77b4b8fa30f91bf7e936552c22b253147a7e6ed3c74d8448ec8871438b75b6a787c5823cda2be216e9ee1f499167446d1050d92fdc773e1698428be99a6526d77d310971109d7e530fb733f6214af6658da85abf9432d1c5b23b4b26f0a5c2547b184b98353a78fc9780bf7ec128605795868f7b721ce427d26cec1df8bf4af365029fa944042e3e817872f142a8db1d991c3d21a76262a448f7b65b204c724209c37862b6d9e80aa03a5f9e06a7b798be7a542011728db63764b3002d9629c058dc7b6ee5dd660d91c0c127db01aa760bbac2f4c511425ffede9be1b170aabb3156684b3fb5fc409085340a84973da4a632bfbb20bea410d1075feda1226f4c84a3871e2d1e361b4cd11c5682d50a1d018275e87ee6ef95e526c77bb5caeb90073d47ce1f90440b7945b61ee68b4fa469c03a4f23ca6f8ba6619516099369d468ab1f8d8d24aa3340d73d2f1ed10a9a2f51d510f607f64bfe79150168661f3277500050faabc4baed0b0ac35c328a22cb0958e9b55d4293482ad2c2530d9ef34d3c7fbba38d88756614ac93e357f6d9108ea370dd035ea19d2d3d398c1c676f4f1eeb9c5836331d2fa1a049418ff45b5aba00ade57c25f47a4147f4f103d3863ce6daead7639d94098612fdfb3556c18b0971c1da271886f405b6acf724a34e1db8f7a04f52d057f9c55eddfa701a34b7726caf45f5d566a913367b979b11d334aa04e6e02401ea269ed985436290481f9885827b38be860b2cd9831d7bb6494d51d4f2c9c244882adc4a33641cdda1ffdf6607dfb46864525b4e6e1c3fd6c54afc2cb8c64eba01907094bf1bc9216e91c2da25669226eb62608e7b5baabcf92763bb852aa467561efc99a553a85ede0d844c1a9b261e0ad96fec9040524f491d90a8f7ed7fa1a2b7a9fbb7b930a4f6fc4653238481ec494fdfccadc568e2fead133b4c5316d95423e52272f9d0d56be6e1af13d5d8829efc1224f33ae03a64b8858420a30aa9abc22f49f6aa03ec48fe13e6df65bfaa7fbaeaed8301d213f99ba9c9b08da5ca2c1846c79cc896a1e054b3626727ab4fd69924d20d8fef7c9ec4d7d1f999e5d9bc5f6ca7b30413db329c42b8bd20a5c87e377195d8e31b7b084a623abbf8ed3c8aa83af7c3babb911b02f144680fcb71a0d408f0eccf72e4e7374ebe8819bbb92b70f0e1ee277fc17fe3026978f0f2f80d589bc53d46f08345ac34a7b5c5e1eb677455bf7b654ae88261215d4a54dd33ebc2d034c80625ebd05d9f55c749925ae9bce028ff2e4c1ed147028d8e2be7d64e63c3d3980b7caf1c9c5431854f9135124aae88a7ad68e72c246d0a0648e7c8d469751d93c201daf62eef64f62719a3b5c2c0badbe9cf86395fd733b2b8e165b8bc18ab596b7ed08676712ed2f9ab85750c52d9388250043e5efa13febdaa1c5dac067a6bbd9cc2515cce35fba201e8967e71eb9e7aaac99b29c47f3a04f22ad13c5f9551ba36fbc46446ed0d68dd63a5d6979e0d1912f02792bafe629a3eb459c2bc93ed2439ae732449fc594a0ce60b14b2525108189f006011ee574c6b9fa9ceea4cb41ba1abce45ba0401d8e77818d56a8f63c16a113beee6c4ed1bd78694157df51a56894524e81b9f4bc5c6972d6d6e0663a6edc84b5a24c554525f956f25ec33c76726bbd9c234ff9d2cf8c800e1a5307d8d1d616fba3b0ef3c9ff881c6571304db3d012c696e7957bbcefd63b0e13341721bbfdfc9916fd6b0adf0dced75c1ed27a4fb0180e7fd7cdb4ff39d73f511c6fe410473c43e77db9d4b5b000d15c8c41e98e0a6f473f8d8bf3644b9e7737deee9d12a885fa5154acda534d45887688dff78fabcfdbc855b248329ec5f667130b7eb8f88d5f4db23a9e6e7633be3cf3fb84b23360426797dd9b23285b3b479360dc23c59f8116e74986928adc0ce318c5dd69eb6d7029b13b1a4fb2fbe795af120d41cbe35450b77c7306101a4ec1974bd3e2d632ee42033d6b193dba696024245ad5608bbb1f15e5865a2c6f2929d70af979c8070ebe2a65c2aad8843a8c63d049f3a729af94151426ba16821c319d9bfd69c7f072d024711c16b5d59082a05adf1cb0fa8d482f52e1670a68bb92c3c88113cc745fd695d6a9186202996de2f52a0c4f971970173c7836d3acd932fac2cfa4f5dcc55b83295a7bf619b5e46a2094d2e3a691bf79c0d9ff4fdd68b4df5e7d41a954e56e1c99d37472c5b5f2d45516d7828eaa7b268992fb1a8e39728155658f8b4cb2a37caabfebf8e5ca082bb6b731e83a75cc97105cb959a2f0753d9d703f954b343353fffb3da7ba59841f04ca7d8a6b75ded5b688ba07fbefcc9dee495790c75ec85014c6203f16c7f8218691194e39d34e809d7453e0bbca017370a5a91ce2bc384dc84587b79eab80b0c587e07e827c9fcef8f8fd9f2cd70a0277cad8e9b2395d8287f5c4b9282700aab34a8db04243c4f289b8d2df2e7153e875b9e6f9671aaceb3f9169564064327c2ae5098cbe4f71d4eb6d5cc945bef2bd69d8f54dd394d4c017b00ded748dd48cf1fe1f5261704577c29bb8801914db4cbff2579074f3ccf8688129fcbddbfa7192ce591b6a2d04a9868b8e4dd2ebc583efe760fe38f3098cfd37be6fde7346709ac157a803754170fb96fad6ef9fc3a5aa0af547b81572bae72b32c0ae9b814692f5f1a4ad23efb3ec08dbe517834eaf0ec0123e6e3f0bc458b8d3c3cba0c3d10da64e9eda58a67dd8a4980c7ba32d708239337cb8c5f089f3e873a99f62249fe90ed1e5ded39d741f1945b316c4d729b24cea5fc8ec708069e3b2d9837655003135be162bf4752ca0443d9f60fd3554a3312ff8e232401e4737d05fc562fcd90a887e4c24362212da6ac956fcb5c5fb6b7662f5bbbcc3d1add89bca6ecabe7fc06faa3f1f4857d40c6579a5ae9e2f966ff07cf46b7dbaf5b3015176cea3b594d012990c04dba88a332e4123f17341771d185d946df525d2796133f25a8e5d7c9d826a90d6335d2adf84048c71b9f18e9f5f8d0f26200c1b7d604e258dc76636e904479f7228805953ce0f0540b7ed06e8eb66f8865bc449126fa5cf590272d837a95dbfe53cb57df73fc2ee6ffbd215aceb038e6c7b535ccd9177384ba7fe1952e8c73101a6ab6959253333855dacf010ccf57c6b3fee539094e5de2f6b52ddfcf60d3b72d3b15a2fe0a54305a62e430b618f17566403776a5f3d17d4d751471ee5cf3fd92d8a1ac9ed9a8cdd7151ee50d9373c016d3564277ea3b3bd8e6e271a4a2c93384fbfe2c119b4d2a925b66e1f6e6f004f187346e70485fbdd64a2730908687cda355109f25b09375f241d91db2d9787338c769fe8d2edd8defa7fae3a6e986824252dabbe2089dad32a69b0db2a30495ae214eb94c2ae7384cdbc1716ef83b278e26f0d91da7d79406984070005abb2a8574f0494e834076dee5991e8af570e1ad0ca058f7119954c7bf484cdd2e11cae233d93883c22de6ca5abb17e637b4185870191f9679440fae9ce2fe0496bb3ee6b114e81f36e7fc1f2010d242ae18eaf06f7dec284b0265888fc8b682d14fb84f0377cb3112187223d1d5d8683c2791f273cd038c5fd354b533bea607cf6029dd077af1b91db2502a9f6b7ab910504577f6fc8131f7d89e5efd185ccdea87e40536189e0712a87991c323c31e52eab312b2e14ec9a8e5084dfb77b17d927149f1d62832d9a11818b865ca17891ab5ee797d3874bbd0d8d61e6e5cd5170f9558b1748ba7780b9ff2288cf01853ebde0e11ac9d80e709bf45cd3e65641564f2c069f4fea40e9eefa969d8aa4bdc7d5a89d879be192485de132b722bb3a2f6267c52311ca3184bea8d37d98717972e4b26f9eaf232d5d1ed548f409616682e953575d1f1951a69d608f2045e5a82b72add09684a9fc7c1a119787c4ea630737e3ad3dc17e40680b3f325f6508307150d993ccdc22c561314ec41cfac8bccffa04c54cec81a75096a98635b1aa79046e2eb04527252c7de3a3a9bfccd21ef223eb452cb10f76ad1929a783d7b71e9af579036df89f444b17a9850a42befe68354c634834277531d9f707fb50ae3dc022f2a6973bf304f122bc96d322cfd60ec44a10a775ee105f852ff7aba328cc87f0d058384abb03c66db10cdff788b7dc8a7ddc17e1267a1c8db42c28e151a24fda010bae0335181fa550c45b7973180b88e492155c32570fdcec2e42b4568d635c79a6d54ccb31ca72d046c0407b962d4b2b032057693c2defeb26ecb57bdaae47b99f34d2d5698c32a666626d1767fcac394d8c8e3cbc144f4cba5b9c6c2097236a96f338ddb8322b1885283f820e4cca9fa8af618224a66ee27ca96600076b30e59e9316c8f858ab02d5a16e9b82f6b08bbf4ed5fded2b275a1f4ce67154ba6eb81f4f6fc3966205f50ac635fba1416d025e5d6ee762a9da71dd9be14a66979ffc3480ea28bac4ca8340eae99ae55fcbed029274219584b5109fae0e618df718fb72658309f0845513e8f7050c6257f1cb4559f1f2c9eec22fa3eaeac33a9adb27b182c29ace24205d9ae83eb8f65380d56719a116f6d40901a41fdc18eb7fdb583849f72b21b65bc2cee4866b43f2989182d47a390044e688663b7c2350f2a1f07d064fc915a86b76b68dbfa63b3bc7b7bd7976a9afe4bc739f4bc2f054e088f304f6ba549f942da1b28a6bbe9d2e2fac44d71e91cef0cd4f7bdd11b2cc5cdaa8d4298b790ad3a75231a1b3568b1bd431e25bcbefbe4adf6c5e526256ccfbed65947e54d9c0ca1280e0ebe037e06ccf54e02b498cbc5b70d86c2574bc94b8e0ee2c4809d9732be1146043ab14c40ffe20541c30c36ca3ffd439fb5d9cc08e3d0117194f60950ef1b4a6a6e838ebe569d282d1de9668b72e894aabb157c8db8cf66701f94704fba53d55a994e36b4dc11bbd4adcada0dd00d5f2721f7f560a3792585834dd02d6e41d0b649424bc4290a05ea580a018b8c0a2d8bde657cb105a87059cde342e5d7d5324d91254067998374c94820388596c6edd7f17d67f98814520e2de274efef098bcb6e3b2136273b47183eef5e6e483b1541771bb8095b9647ec26f4089f58ac02a7d110491f9a3188829d073a5c6eb8a63c62780c2afd7c94cd4b9bc78c16990b0251d3e05379fe171c2f2840507dec6e7c1d55fff5e707ca327d0647189e08531809c40f3be9436882d94d2e1ccd252ba57980592835e0a493f41d24125f2ea83b560b7a6ea4cc72f26c21512a988909d80dacac35d008ea55fc21de68ae9d985f530c9d1d3b21746afa205ff7fd9f79d624df7c711b22fd9787934ea5f2ff616e6083d4ce98655cf57e363fd198a6b81794e4c289e51d93fe61d98890025bac082156c0432d9423fc215d0c3c29874bcba8949d9c00de27dc2300f3c025e071871aad6c7f99ed9ce1086241c46fa1af549078962a21af1a1ab85a3f64cac5c272ac3b07e8a90888396a8d3f3f20d49e4b6d6ba3d70ebe5bc9a91df2b213f4a7415a5bd1998e8720259d220237e1bc2d4121eb73c7c101417ec6d4612a7867b96f44d5732bc3af1ad32b844f7a6b7bdd3c2ee3d6991e817f0af3422c0d577f43d582d9c3f370048e150b0ee16c9119cc80961030c4940b88c35aded59d5ef2b6eb06914a8ddda5c0c6586ab445b1b7f4d316b7d218e79874bb636c5418ebe8765acb44fe63e0783cff916383cf94eccfcb1369dc21bef86dfa02ac9c54da2bb4092c3b682cb28b1b7ccad2a02af5993b761e09135b76cfbfa50b69e7cba81dbee6753a57dd3e863d7934c7d7ebcfec375299bc488ca541cb9fc3a3bf81f96db0cefe73a7ccdbb8c519b941bc46e6455bb7d2d0566b3ead977d61a875b3945c2e47fc7239d0551151ee5f660d7530014596e9ec157abb2cc3e642d0066ccdaebfc428f7e42931098c35c6e31a154787bf167917b39491fcadfe3e07eae74fb4c8becc826a2899c749328fb1cf073f00ac9b64f28bf8eeb391f69da25bb803b8d33864ce0aeb619655dc687ff4e8ad7012bc7a7148a47693bf0a00ba135ddcbd80c69fbe8a08565347b45c7d2fc696c595639a5eb457c58f267386a83b239e6fd897d407971ef90af4a7e251a5371207daa4e8c5c2e564adf5d6eabf1a6abc9f69edb821e83424737aef6c57500c4b271e8f2e0ef94b7fdf9290b0488842707d227288a0dd39a7f66120db8ea47465f9b9c5589923e1ef4301fafc9f044862beed9825a4f7acda3e75755863bbb40319a4b20a3efb44d4408f02c2fbe1e8c2ae7bd7542817b3ab62a71000594220593d6f223cdf3337aa5cbf00010260fa17f2ab3a1b56f5a1110eced58a84dd2d31734853098223fbd032a09a064ccfd019f4cc1d30177dc1f9885e37c06e88043ed7baabbb31144afa1d6e8bfb044eef82b87aa9732d88898a2cfa94e97a94cae741b2c373f88ed615addab0f6e0015a24ede1ea7b97d524486b5ecf92d6315edf0ed4074717d4d7375aee02541711aa24fc79d1240cbc4130da2d11fd9ed3ca12ad491d73a817b1de76e616018b64bae8c63be72d99dfe3d0a39de05da1cbc17b49d89e9b8f915b8e03749731f41fa0830fcc145b35a9cdcdc35a072ab24f0843723e01fbba3ded9e69848f17fbffa61619aab7bcd78ec63eeec5d80ae8a7e0c63f13740a38b73ec8995526616821480631d43aa7f2cb15e68e03204ec51ecdab70e22adb0371f66ade8d2d4e6fb3dd518e08c9b2a14c9944adf2daf9282f7835650de103f867da4005f3f532c967b363f27ac95e1d5fe6244176c457c6a7750fc56123811459d4254fa95b69147dd69ca8ecbc88aa88ea43e06e3d4c29b255ad233855be1f61a565a0694fc20ffd5efccee29deac801baef4dc61a459deb09cab382f85940ec83c0970fe3cb8ff6d6da0cf85e4c1356634573acbe965327fc2f77e93c0f045d7b21b3f54076e65f7c720f54fb4bec9a3359ede69db9cf310ebbfe88cc49d4f45c565b9607875e72ea0eea27dee35825371d975f87f5b52ce9205462bb3d54631ae169a3e091b3370eae4ff4e54afea0d9496df3e8ed7942100b8827528ca328854b2860f68770f1dff4f20875c5b00f99391891186632da4f682ee673216bec86b4ed8e9e0019297008f4a343235a49f08e17b4657eaff3335407972dbc9b71b7546aca3007c95090ad9cebaea29da2a12ec7411f4e77db4bba664ee39db88539569bcd517898c3dbc03100c29b5b56f32ec7f8271fdf3ea00a38139ead01b1f2ce4d903670dc0f5e43a9a167a75ab138a7e38b4f2b0b6c77c29a9010cf52ce293025952536da6cbcf2a067bbf6b9f3f9701ae2d296a97e8bfcadba4ed9c8accd3d68638fcc022650fe0817e78ad310e2caf7a6223107cfc42debc950ced1a686dec48f8e46e8d6abe4063330bacfdeb690a1ef31e542aaf3a5092ca2119f0d241a0bbcf4ace42a51de59b0bf26a7b86b2568dae461ecb23dd3d8c806481e023f2967a05997de180644568574b55376dbec8ded078026d8aa08eb295e917e723ea4b219792b499b4b9b11da02d3f43af01e9eb514956af2f0fe5689dcc917769f7341037b0d08fd27645f6bf346f1350c3ce599f792943e1da839b0014d8587aa630c0d5f2d96647bac1f4e4f1e54a8cc75b145aaea810daf861e0dc077bb24653c84f147c978270f4dadb9256d7be9f9e62e85d21702bad98e616b27a9d3d2221e314754b0eac65eec896fd0605ffa2f4c705ce7f7fc7aacf224ab2271cbe330abec693cea31d0e246471daf083411931797d96770b66f1dea2f00e3f593453a8c4b2912ed69f74882dc9ff4c858178480c850573b00e024d9ba87b190fcd4ef69dcd0cf539671eacc04b9259593aaf1a1827407fa1e5cc22a95e960b0f1e990a1d671677033bf84d8fbed7727ce453aa24b159da94d37cf56618e819fc3c3e6cae2cef7cc5ff92b716eb7eede31ced574ff1250255c158f21707d727478a1eff8cb2db36c2e08acc4b623f6f4c8306268c27d7beb9b4e39381f9368ec75ce198508b3312e77dbb839e0d815da5433cdec1cdf4bdd5e71b831de96fbc206fa0aaac94fef8a94620ea4d2ba9f32b1eec1c8059ffd8a8726a0881bd91e01125bb88fdfd0075d638844585ca41380d76e1094cd613451ecaeb41cfbf1f7a6b37c3b806a6742890759e72128ba913274c99250fe4f2e935c331ef7e7aa7959c910c62a144ae5c3d9dca515512c9867665e6a0107023d97be7cc195aaa20a83debdf4f61073cbc61e006659c9ce4f8ca17f6bf19ebdf0196da98884cce927197b37198a845e467249214a3b22a71819874d52034cc3dc53d34b3170b679b0a9aff9b2630eaa97488e860fc863ce5154ac95385b8c8f43cefb6ecdf3b0e8d27ae64c0a5fe3ab20f2431eb5fca67a97f3a8f811605e1697df3b87893d550389f15e620fdf0f55f80d82987eeda933b55b956ab78eade1b1be0ad1d4afd09575a0620c4e9d518e830c70f7976161e424c6d55c14c1331510df999b2fd8b9f120141d0805353d0a0249c8153061c7ca27b6d5bc55df141d14af7de0bcba46616bb0db20db9bfc5a4cc869f6e8135a5a9756f591d9ca218baddad55971addeb182510fc1a6bc8993e5bc70b39ed2155194b8071e2b895e4f3cc1f8c4c9ca314f493e53d42c0d67e659ebf240d2a4174e5d4f71d5fc72c389a25068e17c66313e2d48710d406d6d7eb8f53cc17d7148070c2b4cf6475f5b26bdc8119477ac17af1b25ae6c249e30ec82913920e371a917e1935da8630aab10d02330af6ee21c62bab5b06fa2ae19c577eab2088dab109819fa4a1d5821e280e9e0f160cab297bea8194382e18ce7ecb0a60ca9d0fdc6acb7dd8faef43e856076e00e9f0e321715c2e6fc855b37b3fcbd64b7bc4949bed96416a4b2cb9a2a405fa65a2675f2bedc8c9d90aef2b111281d74645929e61ef3160041b105021ff912f55492d6b16f245b71b7864bb68eb9e54dbdc82a9a8bbb5def78c327ce29e32c6f624f153c942b7a36308b8e05eeb7f3c2c0a0722348905c60e29ec08f8922a122a3c9cb8e59a20f5a91e5c1b437ad837b75b7df5a9654bd9ef6383998e11be83335b320fbdecc03036c145d5db2bfed29293525b89fceebd91123aadbbe2e6929730715ef39c2b45ee34cf4dc688a94b8fc0811cc94b56fb49f0c2eee9d2d9fda5e1954e7c68109c68822ff85576b4f7c8c998cf4d285897c710e197d2ff57f8e0eee7f475e711f3ce7530f2513a3661374c3c96abae581cc7d3869e24519e3ff8bb73afc2fdc38daa984b40174c2c8b6eb261e046647db6c4342c72230bfa253c5c0852f64cb86d1657c9b3f53686ef3aa5c9253959b2cf134d4754f9d961314ae72587e055fa9de654665cc44c652d52b0448cb565dbc81c7cd39d90e1cd6278aabc143abc7430c25f6972e4b1f44f98d011cb24f442e9e183e9d7fd100505fd5097788e3198c3d1a2c8eafa723cbd18032d91ba3a98c7a1647a9a2e1325290628fa844202e5e95aa7fd0d974c6688da0a142f640fbc12971cd23a1ce7d08464c73fad415e73ea0295f9f37ed48d23d55af688fe71c9f724a6309f5d677a9ba35ca13b0e7020433856084c4cc4ea15f62eb6a34f0cca0aa69b3809dc9a6c646cb77cd78745c9d08a33a99bf9e1a5615aba4dfb0715d0f9d90f5ff70e6b7bc7c0eee65527c2973d12dfc27f62eac7ec059b11812523b9d74e2b3e3279589661686ff0fa2437f1ea0160f3d5a48a14bb5570667bd45ad1a8bedd1d11b54506f67c4f3e07bc6279999546231dd156bae7c70f6dfefc7cdf3016852a218cee7ada427103b2701c10910f5fdf214f8517f9c17ffaedd33aacc667cc3263ba6bb0303c1b7a306bce31eb7b75804dc2f348bb1d5ac77a609829df016332c8644d3cd72ef73b34727a7cf3389e449a65e79140707b0539dc0008bbedfb1c9582f2f7b6450e5896247d5bf082cd468f3361df24396f7dbc717d52645b577992602a362417847d03dc539b1a1529c743d4c4dcf3f956677e10ba3b6c5790e5700c2cca433e2f5e87fee934b7c4cf5b350d878132d6260ee596bdad2777030cb4451fcd447365609788a61ae8b4692694dfe760563daf2457e272feb536c734e3cb6589841d517e71b9fb8d9872e87ad6a0ed7f3548c5e3919c7617f217751dc7016179c64b2b1346bfb5957c3e95f83263cf0f99843bd943d9ce38703697a805532fb1370a6d41850ed92136387dc9cdc430c39634431ef74f95921c70b52cf11d1be630d5252cf8e50243199f16f67c560d82ee6eebd6e7ce3c8299e70effc490523aeacb4c7bc9666fd7d84aab58d406f67728a92b1e6417aa761dd13bd0c5dd8584f6fcdb70104390d22018bf88d155481ca038aaf4898c7510f339b7fdbf5e13814fc58ee4f0e1233eef09b7100d8326c7bc6c373a6d4f19a240cc81fa93fa4448acdc1724aa9356322807ac42ca8eca270238d6ed595525791814e0ca5bc8d87e4656f8c1d99f0d84157217d6fd4230aa36f73ce41b9f6f2a3991fb542ac8386d7fa0adea71dc302daced824868802dccb5e1a2cef1f2512b3493c26c0883894754977af31e12664ced8465573c250902522377c4e3afd1aa79c8c38d06feaabeb3e8ee4708d5b56c176d62ce7483b87b90f8c861d2e15a0f873412f7217292e8a944c70d93f9a10ca88c373f574a197b62767648161796f791eedae6cb42b8253c5d761d26450635f91982ac17ada7a1ee5441035109a90c80e89af0864c1b4adad92d978ecea7b6140eb17dba95ee6562091c3f620255dc900a0c9ebdb0f07579b0e658043d65af95c39abb780e0d6b85d21c100fe28beff1dcc628c9b99dfa3f9460920bb4704aa2a1e30570e4773d4d04e3dff02b43696aa0031553a9e6c1d7832ec4c5f7a5a51741d22bbd206d9e6eb6424754ba5d19d3b3dc33d3af5229ce52c969f7f2ee4ae19f9adf2ac492b50b2d03863f6b6828ec29c3107c436a599c131c7210fb68f909fe9f3c44291c77325683f051ad3263c51523ebb42beddb11c75a14ccaee125b0531b7a01fcf54cee7b943aaeb2432d0470298a6eb995af7a41df38cb860a5e66016b4ca611b1b1ff32dcdc3df901502f441182f8d38fbebe6802fc9a3630ec562c6cd1c671766ea1695c82294eb2df818371b8466a4ab2cb30b019e4478c328ade6bba18a808333b2a6c7b3b226a68c90129fe07dae685e4f59563947929cfd40e6ae34a5da290b1d583d890b6dffa25ac3530cd4dd7e5ffcfdf1e23f087b755921c501f88e8ba3b972441c5fe5f0f92b8ae5c71ae15aa28de4aa755098a11c856503bd6833c368736801dc1f73add557f7b789b4c0c7bd24ce656124b6ea644d14b6751d3df3023b9ab42a4eec0a23694947330050b9b987f6171ad3c94be7d36ec2498e7974508feca4550f4fb94471388b99c5a803f60bd52a0c9937e2d41698162ed0f91caf05c74226090aefe30b61164132e2884b7ae2525872d5cde3f6a879179ed5c41b1d180feb8f0d517d5de37593b90e20852b083053baec090550b0d76e17d9bf178bc58841abaa082d2823cb9f1a9e4cf8488b261995a5862951eecf2def2b3eb0281801450cbd7a1d591bbd2017d37df225c40fd5c2599b85a87ffc42287723a8ab678506b0057d2cd343441480719e9ef3ae161d3756e965968588e8888848b9e0fa98aaff14d942234901cf85152ccd5c0f5bd4164bf951a7c6f3b917f1f8a7950285d949899d6c75e53c731122318fd51b1d73f6077ab9169544f350800283de8c40b46b538c5cd1bcd04fa29dcbbd3930eaa3cba3801987f4804d2b11866bc866bb451e6eb16ea1f1d46ae549704c61470c73b497c6c82fc7ac1374e125b0baf9994f02224dfab01f5c18a5ad6d65d927770382c5098eb5074cd0f0a927ed075bfbdbd02f7d20e9767123eda909ca145d3b30a9ed3114303b535343ece6464d2a26593e921f436acf40e673750bf8f768446e6649c642c1ba29ef8f71cd1434a817e88447d5c234178c63c53187d42ee49ee066422e1648edd972a7842fbd7fbd2c84ae35aa779e761fe3e32d9f5cf645cbf820ad1366035fbfdfc85d06b64907aea00541c271f8e80e949a100cab9ef856e4a8063c7dc9ff611a2bce3e8251b8012c792c7f4a912c1b6b4b3299d95f0908ef6317dc5ce27d85e597f97ce16980da3fd060076ea669508424aee7b0977487a2c40fb85ddcede8d40fcda53507d0fee0a2c432c1d4d20866b6c47a6ac90d6a9193a7ace6598f66371de383d8924d09be2169c054a1c2069ee1deaccab4935dc4b50ecb7d066363e8dbb97b4cff4c7ea260b5d94f2b0dfbfe9e6fb6f42e85fa25dcf8692cb5e4248cb3cbcda19f6e878c17bb6f829a4ace50c415b9d1a06cc026ef231b1b8f2b58affa743c5766d6ff7cba683fcbd8750e9b252d620a0c324430ccca0900f2a2e748f3349ebafdcba64207134a670bdf7e418c199f87dea29cc86227b204ff7c7cfd2d2a102a01a3e97ae4260f4321f5367ede243cb086b7a45d0dc9cac495b6cc1aa4d2f2582ed5a3c9fd13fdf8dc45706907a8f101d9ddd0f49d6706ba5abedd2077a5336c4cc71cf3c76e16b29b2c6acc2f979dec2603b10ef2df48a8141ec672d9b71e05857b04eafbce9debf7ee97604a4166ffbdd9e4ef009c53eb76f8c7c8e65819b2465722e20dd9e60e4eba188e4868b451ceafd71f4ab323bffba7b31316e74f9eac82c99ea481fa26b63e405df167fd5ef448c4f51821977a073016ca6d346d54a7ce2d0be2ef184168aee129195b22419acab47ca60be5f68f47553923dd0a7bf651a3638aef5bfcfa0c417fd5fb37e26a545497aada4215d1a313a0175ab4bf4d23d3ab2015f675bec3b07e26fed849f8e1446798e02b5a50838405d5ad2a2b78ca192511489a2492e3f8ea5bd2d77bb3a32562ca9e17e8b54e2f55b8bf43d41300562750c0cb78c962471bc93055f3e2ab80a42bd4522f28740efee8109ff44fe906494f1a8d7044f355dec1d729029aec1618ca2e73bd6e0e759eca34fcb15b2282d77503aeaba09caa5fef74fa6ff7faa51cf3b5b894c7e78a0d07211798edeed8934b0bf515605d6edfaee37f938351cc6c4a07c3c0d649cb39b5b4aa268bde1402c57560e370cf20b01c2b216ed8bab9b2b1361b7dace1d9ff61c699d18f61865a48f0cb4b8375f6d28ea15f248925a812c049f77d89b5fa932e09656227c5e07d196528c0f190ee196246249a335ba2714c785cf1e977e9c7adbe7092c4deac74691e70c70d767c721c283e0a7edc527734657c7705e48340b7ade5ed116c90b860226ef839b0a73f62fd80c844925b7b17a875f069c1d6f00ad56c0fef98e474218cfbf5fac15f174191e3883507ca1147960bb8c41a0479b27b65debe6685887d0f79155d1e8dec758d9b38f8abd0c3d0620cbf18ff63a03d090577180677293ded9ac4cd494f9a4ed61e84eaa0e5bcbd5a8e99f7792dae6a42d31943ce2be233bedbfa56a554eca44dd58af341af97ab30547c92816cc106frootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpetsc-3.8.3-lp151.8.3.1.src.rpmpetsc-doc    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1^\dZ@ZZZZ2@Z2@ZZw@ZZZ}@Z}@ZyZyZo ZX@ZOhZ ZYY@Y@Y@XCV +UnUK@Egbert Eich Egbert Eich eich@suse.comguillaume.gardet@opensuse.orgeich@suse.comeich@suse.comstefan.bruens@rwth-aachen.deeich@suse.comro@suse.deeich@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comkkhere.geo@gmail.comkkhere.geo@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.com- Fix incorrect dependency of the HPC devel packages to the explicit version of the respective library master package which cause the package to be uninstalled on a petsc version upgrade (bsc#1173065). - Make sure, doc package is built for SLE.- Consolidate use of openmpi1, openmpi2, openmpi3. - Do not build non-HPC on SLE.- (Temporarily) disable fpr S390* as a check test for netcdf fails currently on BE (bsc#1091474).- Add _constraints to avoid OOM errors- Do not require 'Modules' for HPC build: seetings from /etc/profile.d/lmod.[c]sh will be overwritten by /etc/profile.d/modules.[c]sh installed by Modules (bsc#1089865).- Convert doc package build to noarch. This will hopefully avoid spurious build errors on SLE-12.- Set '-fPIC' also on aarch64- Reenable flavor 'serial' to build the doc package only (bsc#1087050). Note: for this flavor nothing else gets built: once the missing dependencies have been fixed, rearrange the [#]%if 0%{?makedoc:1} ... %endif.- use "-fPIC" also on s390, like on ppc64 (bsc#1086008)- Don't build the serial flavor as the build presently breaks everywhere (bsc#1084677).- Python-Fix-a-number-of-scripts-to-by-Python-3-compliant.patch: Fix python scripts - convert to Python 3 (bsc#1082209). - Restructure package: factor out SAWs stuff. We cannot support this as SAWs itself isn't available for SUSE. - Move python files that are not stand-alone out of the bin directory. - Fix permissions in bin and other directories. - Removed some unwanted scripts: rules - make rules sendToJenkins - this should probably be modified to print an error message uncrustify.cfg - used by 'rules' - Removed win32fe: DLLs for Windows - Set '-fPIC' on ppc64.- Update to version 3.8.3: http://www.mcs.anl.gov/petsc/documentation/changes/37.html (FATE#325333).- Since the OpenBLAS build was fixed, reenable scalapack on s390 (bsc#1079513). - Add support for openmpi2 for HPC (FATE#325089). - Fix build on ppc64le (bsc#1080380).- Fix summary in module files (bnc#1080259)- Don't use baselibs.conf: some dependencies are not available for i586 on Factory.- The HPC build of petsc depends on openBLAS. OpenBLAS doesn't support s390: skip building on s390 (bsc#1079513).- Fix build with rpm v4.14.- Disable the openmpi3 flavor in some products.- Switch from gcc6 to gcc7 as additional compiler flavor for HPC on SLES. - Fix library package requires - use HPC macro (boo#1074890). - Add support for mpich and openmpi3 for HPC. - Fix unexpanded rpm macro in environment module file for HPC (boo#1074897).- emvironment modules: only set BIN when binary path exists. - Fix RPM macro name %hpc_upcase.- Add libhdf5/libscalapack*-hpc as Requires to the library package for HPC.- Simplify Group: - do not destinguish between MPI and non-MPI: the IBS check scripts cannot handle this well.- Fix Requires for HPC build.- Disable non-HPC openmpi flavor due to missing dependencies.- Convert to multibuild. - Add HPC build using environment modules (FATE#321718). - Generate baselib.conf dynamically and only for the non-HPC builds: this avoids issues with the source validator. - Updated to 3.7.6 (in sync with OpenHPC) Changelog at: http://www.mcs.anl.gov/petsc/documentation/changes/37.html- recreate petsc package with version 3.7.5 previously existing petsc package was deleted for unknown reasons. package in science repository is just a broken link. previous changelog salvaged from installed rpm is below. - upstream version changelogs available at https://www.mcs.anl.gov/petsc/petsc-as/documentation/changes/index.html- Refix blacs dependency, since blacs is now merged in scalapack- Fix blacs dependency ambiguity- Fix building on ppc64 and ppc64lelamb15 1596118116  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX3.8.3-lp151.8.3.1      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""""""""""""""""""""""""""""""""""""""""""petsc-docbugreporting.htmlchanges2015.html2016.html2017.html2018-21.html2022.html2024.html2028.html2029.html21.html211.html212.html213.html215.html216.html220.html221.html230.html231.html232.html233.html300.html31.html32.html33.html34.html35.html36.html37.html38.htmlindex.htmlcodemanagement.htmlcopyright.htmldevelopers.pdffaq.htmlindex.htmlinstallation.htmllicense.htmllinearsolvertable.htmlmanual.pdfmanualpagesAOAO.htmlAOApplicationToPetsc.htmlAOApplicationToPetscIS.htmlAOApplicationToPetscPermuteInt.htmlAOApplicationToPetscPermuteReal.htmlAOCreate.htmlAOCreateBasic.htmlAOCreateBasicIS.htmlAOCreateMapping.htmlAOCreateMappingIS.htmlAOCreateMemoryScalable.htmlAOCreateMemoryScalableIS.htmlAODestroy.htmlAOFinalizePackage.htmlAOGetType.htmlAOInitializePackage.htmlAOMappingHasApplicationIndex.htmlAOMappingHasPetscIndex.htmlAOPetscToApplication.htmlAOPetscToApplicationIS.htmlAOPetscToApplicationPermuteInt.htmlAOPetscToApplicationPermuteReal.htmlAORegister.htmlAORegisterAll.htmlAOSetFromOptions.htmlAOSetIS.htmlAOSetType.htmlAOType.htmlAOView.htmlindex.htmlCharacteristicCharacteristic.htmlCharacteristicFinalizePackage.htmlCharacteristicInitializePackage.htmlCharacteristicRegister.htmlCharacteristicRegisterAll.htmlCharacteristicSetType.htmlCharacteristicSetUp.htmlCharacteristicType.htmlindex.htmlDMCompute_Lagrange_Basis_1D_Internal.htmlCompute_Lagrange_Basis_2D_Internal.htmlCompute_Lagrange_Basis_3D_Internal.htmlDM.htmlDMAdaptLabel.htmlDMAdaptMetric.htmlDMAddBoundary.htmlDMAddLabel.htmlDMAppendOptionsPrefix.htmlDMBoundaryConditionType.htmlDMBoundaryType.htmlDMCOMPOSITE.htmlDMClearGlobalVectors.htmlDMClearLabelStratum.htmlDMClearLabelValue.htmlDMClearLocalVectors.htmlDMClone.htmlDMCoarsen.htmlDMCoarsenHierarchy.htmlDMCoarsenHierarchy_Moab.htmlDMCoarsenHookAdd.htmlDMCoarsenHookRemove.htmlDMCoarsen_Moab.htmlDMCompositeAddDM.htmlDMCompositeCreate.htmlDMCompositeGather.htmlDMCompositeGatherArray.htmlDMCompositeGetAccess.htmlDMCompositeGetAccessArray.htmlDMCompositeGetEntries.htmlDMCompositeGetEntriesArray.htmlDMCompositeGetGlobalISs.htmlDMCompositeGetISLocalToGlobalMappings.htmlDMCompositeGetLocalAccessArray.htmlDMCompositeGetLocalISs.htmlDMCompositeGetLocalVectors.htmlDMCompositeGetNumberDM.htmlDMCompositeRestoreAccess.htmlDMCompositeRestoreAccessArray.htmlDMCompositeRestoreLocalAccessArray.htmlDMCompositeRestoreLocalVectors.htmlDMCompositeScatter.htmlDMCompositeScatterArray.htmlDMCompositeSetCoupling.htmlDMComputeL2Diff.htmlDMComputeL2FieldDiff.htmlDMComputeL2GradientDiff.htmlDMComputeVariableBounds.htmlDMConvert.htmlDMCopyLabels.htmlDMCreate.htmlDMCreateAggregates.htmlDMCreateColoring.htmlDMCreateDefaultSF.htmlDMCreateDomainDecomposition.htmlDMCreateDomainDecompositionScatters.htmlDMCreateFieldDecomposition.htmlDMCreateFieldIS.htmlDMCreateGlobalVector.htmlDMCreateInjection.htmlDMCreateInjection_Moab.htmlDMCreateInterpolation.htmlDMCreateInterpolation_Moab.htmlDMCreateLabel.htmlDMCreateLocalVector.htmlDMCreateMatrix.htmlDMCreateRestriction.htmlDMCreateSubDM.htmlDMDestroy.htmlDMFinalizePackage.htmlDMGetApplicationContext.htmlDMGetBlockSize.htmlDMGetBoundary.htmlDMGetCoarseDM.htmlDMGetCoarsenLevel.htmlDMGetCoordinateDM.htmlDMGetCoordinateDim.htmlDMGetCoordinateSection.htmlDMGetCoordinates.htmlDMGetCoordinatesLocal.htmlDMGetCoordinatesLocalized.htmlDMGetDS.htmlDMGetDefaultConstraints.htmlDMGetDefaultGlobalSection.htmlDMGetDefaultSF.htmlDMGetDefaultSection.htmlDMGetDimPoints.htmlDMGetDimension.htmlDMGetField.htmlDMGetFineDM.htmlDMGetGlobalVector.htmlDMGetLabel.htmlDMGetLabelByNum.htmlDMGetLabelIdIS.htmlDMGetLabelName.htmlDMGetLabelOutput.htmlDMGetLabelSize.htmlDMGetLabelValue.htmlDMGetLocalToGlobalMapping.htmlDMGetLocalVector.htmlDMGetMatType.htmlDMGetNamedGlobalVector.htmlDMGetNamedLocalVector.htmlDMGetNeighbors.htmlDMGetNumBoundary.htmlDMGetNumLabels.htmlDMGetOptionsPrefix.htmlDMGetOutputDM.htmlDMGetOutputSequenceNumber.htmlDMGetPeriodicity.htmlDMGetPointSF.htmlDMGetRefineLevel.htmlDMGetStratumIS.htmlDMGetStratumSize.htmlDMGetType.htmlDMGetUseNatural.htmlDMGetVecType.htmlDMGetWorkArray.htmlDMGlobalToLocalBegin.htmlDMGlobalToLocalBeginDefaultShell.htmlDMGlobalToLocalEnd.htmlDMGlobalToLocalEndDefaultShell.htmlDMGlobalToLocalHookAdd.htmlDMHasColoring.htmlDMHasCreateRestriction.htmlDMHasLabel.htmlDMHasNamedGlobalVector.htmlDMHasNamedLocalVector.htmlDMHasVariableBounds.htmlDMInitializePackage.htmlDMInterpolate.htmlDMLabel.htmlDMLoad.htmlDMLocalToGlobalBegin.htmlDMLocalToGlobalBeginDefaultShell.htmlDMLocalToGlobalEnd.htmlDMLocalToGlobalEndDefaultShell.htmlDMLocalToGlobalHookAdd.htmlDMLocalToLocalBegin.htmlDMLocalToLocalBeginDefaultShell.htmlDMLocalToLocalEnd.htmlDMLocalToLocalEndDefaultShell.htmlDMLocalizeCoordinate.htmlDMLocalizeCoordinates.htmlDMLocatePoints.htmlDMMOAB.htmlDMMoabCreate.htmlDMMoabCreateBoxMesh.htmlDMMoabCreateElement.htmlDMMoabCreateMoab.htmlDMMoabCreateSubmesh.htmlDMMoabCreateVector.htmlDMMoabCreateVertices.htmlDMMoabFEMComputeBasis.htmlDMMoabFEMCreateQuadratureDefault.htmlDMMoabGenerateHierarchy.htmlDMMoabGetAllVertices.htmlDMMoabGetBlockSize.htmlDMMoabGetBoundaryMarkers.htmlDMMoabGetDimension.htmlDMMoabGetDofs.htmlDMMoabGetDofsBlocked.htmlDMMoabGetDofsBlockedLocal.htmlDMMoabGetDofsLocal.htmlDMMoabGetElementConnectivity.htmlDMMoabGetFieldDof.htmlDMMoabGetFieldDofs.htmlDMMoabGetFieldDofsLocal.htmlDMMoabGetFieldName.htmlDMMoabGetHierarchyLevel.htmlDMMoabGetInterface.htmlDMMoabGetLocalElements.htmlDMMoabGetLocalSize.htmlDMMoabGetLocalToGlobalTag.htmlDMMoabGetLocalVertices.htmlDMMoabGetMaterialBlock.htmlDMMoabGetOffset.htmlDMMoabGetParallelComm.htmlDMMoabGetSize.htmlDMMoabGetVecRange.htmlDMMoabGetVecTag.htmlDMMoabGetVertexConnectivity.htmlDMMoabGetVertexCoordinates.htmlDMMoabGetVertexDofsBlocked.htmlDMMoabGetVertexDofsBlockedLocal.htmlDMMoabIsEntityOnBoundary.htmlDMMoabLoadFromFile.htmlDMMoabOutput.htmlDMMoabPToRMapping.htmlDMMoabRenumberMeshEntities.htmlDMMoabRestoreVertexConnectivity.htmlDMMoabSetBlockFills.htmlDMMoabSetBlockSize.htmlDMMoabSetFieldName.htmlDMMoabSetFieldNames.htmlDMMoabSetFieldVector.htmlDMMoabSetGlobalFieldVector.htmlDMMoabSetInterface.htmlDMMoabSetLocalElements.htmlDMMoabSetLocalToGlobalTag.htmlDMMoabSetLocalVertices.htmlDMMoabVecGetArray.htmlDMMoabVecGetArrayRead.htmlDMMoabVecRestoreArray.htmlDMOutputSequenceLoad.htmlDMPATCH.htmlDMPointLocationType.htmlDMProjectFunction.htmlDMREDUNDANT.htmlDMRedundantCreate.htmlDMRedundantGetSize.htmlDMRedundantSetSize.htmlDMRefine.htmlDMRefineHierarchy.htmlDMRefineHierarchy_Moab.htmlDMRefineHookAdd.htmlDMRefineHookRemove.htmlDMRefine_Moab.htmlDMRegister.htmlDMRegisterAll.htmlDMRemoveLabel.htmlDMRestoreGlobalVector.htmlDMRestoreLocalVector.htmlDMRestoreNamedGlobalVector.htmlDMRestoreNamedLocalVector.htmlDMRestoreWorkArray.htmlDMRestrict.htmlDMSLICED.htmlDMSetApplicationContext.htmlDMSetApplicationContextDestroy.htmlDMSetCoarseDM.htmlDMSetCoordinateDM.htmlDMSetCoordinateDim.htmlDMSetCoordinateSection.htmlDMSetCoordinates.htmlDMSetCoordinatesLocal.htmlDMSetDS.htmlDMSetDefaultConstraints.htmlDMSetDefaultGlobalSection.htmlDMSetDefaultSF.htmlDMSetDefaultSection.htmlDMSetDimension.htmlDMSetField.htmlDMSetFineDM.htmlDMSetFromOptions.htmlDMSetLabelOutput.htmlDMSetLabelValue.htmlDMSetMatType.htmlDMSetMatrixPreallocateOnly.htmlDMSetMatrixStructureOnly.htmlDMSetOptionsPrefix.htmlDMSetOutputSequenceNumber.htmlDMSetPeriodicity.htmlDMSetPointSF.htmlDMSetRefineLevel.htmlDMSetType.htmlDMSetUp.htmlDMSetUseNatural.htmlDMSetVariableBounds.htmlDMSetVec.htmlDMSetVecType.htmlDMShellCreate.htmlDMShellGetContext.htmlDMShellSetCoarsen.htmlDMShellSetContext.htmlDMShellSetCreateDomainDecomposition.htmlDMShellSetCreateDomainDecompositionScatters.htmlDMShellSetCreateFieldDecomposition.htmlDMShellSetCreateGlobalVector.htmlDMShellSetCreateInjection.htmlDMShellSetCreateInterpolation.htmlDMShellSetCreateLocalVector.htmlDMShellSetCreateMatrix.htmlDMShellSetCreateRestriction.htmlDMShellSetCreateSubDM.htmlDMShellSetGlobalToLocal.htmlDMShellSetGlobalToLocalVecScatter.htmlDMShellSetGlobalVector.htmlDMShellSetLocalToGlobal.htmlDMShellSetLocalToGlobalVecScatter.htmlDMShellSetLocalToLocal.htmlDMShellSetLocalToLocalVecScatter.htmlDMShellSetLocalVector.htmlDMShellSetMatrix.htmlDMShellSetRefine.htmlDMSlicedCreate.htmlDMSlicedSetBlockFills.htmlDMSlicedSetGhosts.htmlDMSlicedSetPreallocation.htmlDMSubDomainHookAdd.htmlDMSubDomainHookRemove.htmlDMSubDomainRestrict.htmlDMType.htmlDMView.htmlMatFDColoringUseDM.htmlMatGetDM.htmlMatSetDM.htmlPetscDS.htmlPetscDSFinalizePackage.htmlPetscDSInitializePackage.htmlPetscDSRegisterAll.htmlPetscDSType.htmlPetscDualSpace.htmlPetscDualSpaceRegisterAll.htmlPetscDualSpaceType.htmlPetscFE.htmlPetscFEFinalizePackage.htmlPetscFEInitializePackage.htmlPetscFEJacobianType.htmlPetscFERegisterAll.htmlPetscFEType.htmlPetscFV.htmlPetscFVCellGeom.htmlPetscFVFaceGeom.htmlPetscFVFinalizePackage.htmlPetscFVInitializePackage.htmlPetscFVRegisterAll.htmlPetscFVType.htmlPetscLimiter.htmlPetscLimiterRegisterAll.htmlPetscLimiterType.htmlPetscPartitioner.htmlPetscPartitionerRegisterAll.htmlPetscPartitionerType.htmlPetscQuadrature.htmlPetscSpace.htmlPetscSpaceRegisterAll.htmlPetscSpaceType.htmlPetscUnit.htmlVecGetDM.htmlVecSetDM.htmlindex.htmlDMDADMCreateInterpolationScale.htmlDMDA.htmlDMDAConvertToCell.htmlDMDACoor2d.htmlDMDACoor3d.htmlDMDACreate.htmlDMDACreate1d.htmlDMDACreate2d.htmlDMDACreate3d.htmlDMDACreateNaturalVector.htmlDMDACreatePF.htmlDMDACreatePatchIS.htmlDMDACreateSection.htmlDMDAElementType.htmlDMDAGetAO.htmlDMDAGetArray.htmlDMDAGetBoundingBox.htmlDMDAGetCellPoint.htmlDMDAGetCoordinateArray.htmlDMDAGetCoordinateName.htmlDMDAGetCorners.htmlDMDAGetDof.htmlDMDAGetElementType.htmlDMDAGetElements.htmlDMDAGetFieldName.htmlDMDAGetFieldNames.htmlDMDAGetGhostCorners.htmlDMDAGetInfo.htmlDMDAGetInterpolationType.htmlDMDAGetLocalBoundingBox.htmlDMDAGetLocalInfo.htmlDMDAGetLogicalCoordinate.htmlDMDAGetNeighbors.htmlDMDAGetNonOverlappingRegion.htmlDMDAGetNumCells.htmlDMDAGetNumLocalSubDomains.htmlDMDAGetOffset.htmlDMDAGetOverlap.htmlDMDAGetOwnershipRanges.htmlDMDAGetPreallocationCenterDimension.htmlDMDAGetProcessorSubset.htmlDMDAGetProcessorSubsets.htmlDMDAGetRay.htmlDMDAGetReducedDMDA.htmlDMDAGetRefinementFactor.htmlDMDAGetScatter.htmlDMDAGetStencilType.htmlDMDAGetStencilWidth.htmlDMDAGlobalToNaturalAllCreate.htmlDMDAGlobalToNaturalBegin.htmlDMDAGlobalToNaturalEnd.htmlDMDAInterpolationType.htmlDMDALocalInfo.htmlDMDANaturalAllToGlobalCreate.htmlDMDANaturalToGlobalBegin.htmlDMDANaturalToGlobalEnd.htmlDMDARestoreArray.htmlDMDARestoreCoordinateArray.htmlDMDARestoreElements.htmlDMDASetAOType.htmlDMDASetBlockFills.htmlDMDASetBoundaryType.htmlDMDASetCoordinateName.htmlDMDASetDof.htmlDMDASetElementType.htmlDMDASetFieldName.htmlDMDASetFieldNames.htmlDMDASetGLLCoordinates.htmlDMDASetGetMatrix.htmlDMDASetInterpolationType.htmlDMDASetNonOverlappingRegion.htmlDMDASetNumLocalSubDomains.htmlDMDASetNumProcs.htmlDMDASetOffset.htmlDMDASetOverlap.htmlDMDASetOwnershipRanges.htmlDMDASetPreallocationCenterDimension.htmlDMDASetRefinementFactor.htmlDMDASetSizes.htmlDMDASetStencilType.htmlDMDASetStencilWidth.htmlDMDASetUniformCoordinates.htmlDMDAStencilType.htmlDMDAVTKWriteAll.htmlDMDAVecGetArray.htmlDMDAVecGetArrayDOF.htmlDMDAVecGetArrayDOFRead.htmlDMDAVecGetArrayRead.htmlDMDAVecRestoreArray.htmlDMDAVecRestoreArrayDOF.htmlDMDAVecRestoreArrayDOFRead.htmlDMDAVecRestoreArrayRead.htmlDMDA_STENCIL_BOX.htmlDMDA_STENCIL_STAR.htmlMATHYPRESSTRUCT.htmlMATHYPRESTRUCT.htmlMatCreateSeqUSFFT.htmlMatSetupDM.htmlindex.htmlDMFORESTDMFOREST.htmlDMForestGetAdaptivityForest.htmlDMForestGetAdaptivityLabel.htmlDMForestGetAdaptivityPurpose.htmlDMForestGetAdaptivitySF.htmlDMForestGetAdaptivitySuccess.htmlDMForestGetAdjacencyCodimension.htmlDMForestGetAdjacencyDimension.htmlDMForestGetBaseDM.htmlDMForestGetCellChart.htmlDMForestGetCellSF.htmlDMForestGetCellWeightFactor.htmlDMForestGetCellWeights.htmlDMForestGetComputeAdaptivitySF.htmlDMForestGetGradeFactor.htmlDMForestGetInitialRefinement.htmlDMForestGetMaximumRefinement.htmlDMForestGetMinimumRefinement.htmlDMForestGetPartitionOverlap.htmlDMForestGetTopology.htmlDMForestGetWeightCapacity.htmlDMForestRegisterType.htmlDMForestSetAdaptivityForest.htmlDMForestSetAdaptivityLabel.htmlDMForestSetAdaptivityPurpose.htmlDMForestSetAdaptivityStrategy.htmlDMForestSetAdjacencyCodimension.htmlDMForestSetAdjacencyDimension.htmlDMForestSetBaseDM.htmlDMForestSetCellWeightFactor.htmlDMForestSetCellWeights.htmlDMForestSetGradeFactor.htmlDMForestSetInitialRefinement.htmlDMForestSetMaximumRefinement.htmlDMForestSetMinimumRefinement.htmlDMForestSetPartitionOverlap.htmlDMForestSetTopology.htmlDMForestSetWeightCapacity.htmlDMForestTemplate.htmlDMIsForest.htmlindex.htmlDMLABELDMLabelClearStratum.htmlDMLabelClearValue.htmlDMLabelConvertToSection.htmlDMLabelCreate.htmlDMLabelDestroy.htmlDMLabelDistribute.htmlDMLabelDuplicate.htmlDMLabelFilter.htmlDMLabelGather.htmlDMLabelGetDefaultValue.htmlDMLabelGetName.htmlDMLabelGetNumValues.htmlDMLabelGetStratumBounds.htmlDMLabelGetStratumIS.htmlDMLabelGetStratumSize.htmlDMLabelGetValue.htmlDMLabelGetValueIS.htmlDMLabelHasPoint.htmlDMLabelHasStratum.htmlDMLabelHasValue.htmlDMLabelInsertIS.htmlDMLabelPermute.htmlDMLabelSetDefaultValue.htmlDMLabelSetStratumIS.htmlDMLabelSetValue.htmlDMLabelStratumHasPoint.htmlDMLabelView.htmlPetscSectionCreateGlobalSectionLabel.htmlPetscSectionSymCreateLabel.htmlPetscSectionSymLabelSetLabel.htmlPetscSectionSymLabelSetStratum.htmlindex.htmlDMNetworkDMNETWORK.htmlDMNetworkAddComponent.htmlDMNetworkAddNumVariables.htmlDMNetworkAssembleGraphStructures.htmlDMNetworkCreate.htmlDMNetworkDistribute.htmlDMNetworkEdgeSetMatrix.htmlDMNetworkGetComponentDataArray.htmlDMNetworkGetComponentKeyOffset.htmlDMNetworkGetConnectedVertices.htmlDMNetworkGetEdgeOffset.htmlDMNetworkGetEdgeRange.htmlDMNetworkGetGlobalEdgeIndex.htmlDMNetworkGetGlobalVertexIndex.htmlDMNetworkGetNumComponents.htmlDMNetworkGetNumVariables.htmlDMNetworkGetPlex.htmlDMNetworkGetVariableGlobalOffset.htmlDMNetworkGetVariableOffset.htmlDMNetworkGetVertexOffset.htmlDMNetworkGetVertexRange.htmlDMNetworkHasJacobian.htmlDMNetworkIsGhostVertex.htmlDMNetworkLayoutSetUp.htmlDMNetworkMonitorAdd.htmlDMNetworkMonitorCreate.htmlDMNetworkMonitorDestroy.htmlDMNetworkMonitorPop.htmlDMNetworkMonitorView.htmlDMNetworkRegisterComponent.htmlDMNetworkSetEdgeList.htmlDMNetworkSetNumVariables.htmlDMNetworkSetSizes.htmlDMNetworkVertexSetMatrix.htmlPetscSFGetSubSF.htmlindex.htmlDMPATCHDMPatchCreate.htmlindex.htmlDMPLEXDMPLEX.htmlDMPlexAddConeSize.htmlDMPlexCheckFaces.htmlDMPlexCheckSkeleton.htmlDMPlexCheckSymmetry.htmlDMPlexComputeCellGeometryAffineFEM.htmlDMPlexComputeCellGeometryFEM.htmlDMPlexComputeCellGeometryFVM.htmlDMPlexComputeGeometryFEM.htmlDMPlexComputeGeometryFVM.htmlDMPlexComputeGradientFVM.htmlDMPlexComputeInjectorFEM.htmlDMPlexComputeIntegralFEM.htmlDMPlexComputeInterpolatorGeneral.htmlDMPlexComputeInterpolatorNested.htmlDMPlexComputeL2DiffVec.htmlDMPlexComputeProjection2Dto1D.htmlDMPlexComputeProjection3Dto1D.htmlDMPlexComputeProjection3Dto2D.htmlDMPlexConstructCohesiveCells.htmlDMPlexConstructGhostCells.htmlDMPlexCoordinatesToReference.htmlDMPlexCopyCoordinates.htmlDMPlexCreate.htmlDMPlexCreateBoxMesh.htmlDMPlexCreateCGNS.htmlDMPlexCreateClosureIndex.htmlDMPlexCreateCoarsePointIS.htmlDMPlexCreateCohesiveSubmesh.htmlDMPlexCreateCubeBoundary.htmlDMPlexCreateDefaultReferenceTree.htmlDMPlexCreateDoublet.htmlDMPlexCreateExodus.htmlDMPlexCreateExodusFromFile.htmlDMPlexCreateFluent.htmlDMPlexCreateFluentFromFile.htmlDMPlexCreateFromCellList.htmlDMPlexCreateFromCellListParallel.htmlDMPlexCreateFromDAG.htmlDMPlexCreateFromFile.htmlDMPlexCreateGlobalToNaturalSF.htmlDMPlexCreateGmsh.htmlDMPlexCreateGmshFromFile.htmlDMPlexCreateHexBoxMesh.htmlDMPlexCreateHexCylinderMesh.htmlDMPlexCreateHybridMesh.htmlDMPlexCreateMedFromFile.htmlDMPlexCreateNeighborCSR.htmlDMPlexCreateOverlap.htmlDMPlexCreateOverlapMigrationSF.htmlDMPlexCreatePLYFromFile.htmlDMPlexCreatePartitionerGraph.htmlDMPlexCreatePointNumbering.htmlDMPlexCreateProcessSF.htmlDMPlexCreateRankField.htmlDMPlexCreateReferenceCell.htmlDMPlexCreateRigidBody.htmlDMPlexCreateSection.htmlDMPlexCreateSphereMesh.htmlDMPlexCreateSquareBoundary.htmlDMPlexCreateSubmesh.htmlDMPlexCreateSubpointIS.htmlDMPlexCreateTwoSidedProcessSF.htmlDMPlexCreateWedgeCylinderMesh.htmlDMPlexDerivePointSF.htmlDMPlexDistribute.htmlDMPlexDistributeData.htmlDMPlexDistributeField.htmlDMPlexDistributeFieldIS.htmlDMPlexDistributeOverlap.htmlDMPlexDistributeOwnership.htmlDMPlexEqual.htmlDMPlexFilter.htmlDMPlexGenerate.htmlDMPlexGetAdjacency.htmlDMPlexGetAdjacencyUseAnchors.htmlDMPlexGetAdjacencyUseClosure.htmlDMPlexGetAdjacencyUseCone.htmlDMPlexGetAdjacencyUser.htmlDMPlexGetAnchors.htmlDMPlexGetCellNumbering.htmlDMPlexGetChart.htmlDMPlexGetClosureIndices.htmlDMPlexGetCone.htmlDMPlexGetConeOrientation.htmlDMPlexGetConeOrientations.htmlDMPlexGetConeSection.htmlDMPlexGetConeSize.htmlDMPlexGetCones.htmlDMPlexGetDataFVM.htmlDMPlexGetDepth.htmlDMPlexGetDepthLabel.htmlDMPlexGetDepthStratum.htmlDMPlexGetFullJoin.htmlDMPlexGetFullMeet.htmlDMPlexGetGatherDM.htmlDMPlexGetHeightStratum.htmlDMPlexGetHybridBounds.htmlDMPlexGetJoin.htmlDMPlexGetMaxProjectionHeight.htmlDMPlexGetMaxSizes.htmlDMPlexGetMeet.htmlDMPlexGetMinRadius.htmlDMPlexGetNumFaceVertices.htmlDMPlexGetOrdering.htmlDMPlexGetOrientedFace.htmlDMPlexGetPartitioner.htmlDMPlexGetPointGlobal.htmlDMPlexGetPointGlobalField.htmlDMPlexGetPointLocal.htmlDMPlexGetPointLocalField.htmlDMPlexGetRedundantDM.htmlDMPlexGetReferenceTree.htmlDMPlexGetRefinementFunction.htmlDMPlexGetRefinementLimit.htmlDMPlexGetRefinementUniform.htmlDMPlexGetRegularRefinement.htmlDMPlexGetScale.htmlDMPlexGetSubdomainSection.htmlDMPlexGetSubpointMap.htmlDMPlexGetSupport.htmlDMPlexGetSupportSection.htmlDMPlexGetSupportSize.htmlDMPlexGetTransitiveClosure.htmlDMPlexGetTransitiveClosure_Internal.htmlDMPlexGetTree.htmlDMPlexGetTreeChildren.htmlDMPlexGetTreeParent.htmlDMPlexGetVTKCellHeight.htmlDMPlexGetVertexNumbering.htmlDMPlexGlobalToNaturalBegin.htmlDMPlexGlobalToNaturalEnd.htmlDMPlexInsertBoundaryValues.htmlDMPlexInsertBoundaryValuesEssential.htmlDMPlexInsertBoundaryValuesEssentialField.htmlDMPlexInsertBoundaryValuesRiemann.htmlDMPlexInsertCone.htmlDMPlexInsertConeOrientation.htmlDMPlexInsertSupport.htmlDMPlexInterpolate.htmlDMPlexInvertCell.htmlDMPlexLabelAddCells.htmlDMPlexLabelClearCells.htmlDMPlexLabelCohesiveComplete.htmlDMPlexLabelComplete.htmlDMPlexMarkBoundaryFaces.htmlDMPlexMatSetClosure.htmlDMPlexMigrate.htmlDMPlexNaturalToGlobalBegin.htmlDMPlexNaturalToGlobalEnd.htmlDMPlexOrient.htmlDMPlexPartitionLabelAdjacency.htmlDMPlexPartitionLabelClosure.htmlDMPlexPartitionLabelCreateSF.htmlDMPlexPartitionLabelInvert.htmlDMPlexPartitionLabelPropagate.htmlDMPlexPermute.htmlDMPlexPointGlobalFieldRead.htmlDMPlexPointGlobalFieldRef.htmlDMPlexPointGlobalRead.htmlDMPlexPointGlobalRef.htmlDMPlexPointLocalFieldRead.htmlDMPlexPointLocalFieldRef.htmlDMPlexPointLocalRead.htmlDMPlexPointLocalRef.htmlDMPlexPreallocateOperator.htmlDMPlexReconstructGradientsFVM.htmlDMPlexReferenceToCoordinates.htmlDMPlexReferenceTreeGetChildSymmetry.htmlDMPlexRefineSimplexToTensor.htmlDMPlexRestoreClosureIndices.htmlDMPlexRestoreJoin.htmlDMPlexRestoreMeet.htmlDMPlexRestoreTransitiveClosure.htmlDMPlexReverseCell.htmlDMPlexSetAdjacencyUseAnchors.htmlDMPlexSetAdjacencyUseClosure.htmlDMPlexSetAdjacencyUseCone.htmlDMPlexSetAdjacencyUser.htmlDMPlexSetAnchors.htmlDMPlexSetChart.htmlDMPlexSetCone.htmlDMPlexSetConeOrientation.htmlDMPlexSetConeSize.htmlDMPlexSetHybridBounds.htmlDMPlexSetMaxProjectionHeight.htmlDMPlexSetMinRadius.htmlDMPlexSetOptionsPrefix.htmlDMPlexSetPartitioner.htmlDMPlexSetReferenceTree.htmlDMPlexSetRefinementFunction.htmlDMPlexSetRefinementLimit.htmlDMPlexSetRefinementUniform.htmlDMPlexSetRegularRefinement.htmlDMPlexSetScale.htmlDMPlexSetSubpointMap.htmlDMPlexSetSupport.htmlDMPlexSetSupportSize.htmlDMPlexSetTree.htmlDMPlexSetVTKCellHeight.htmlDMPlexStratify.htmlDMPlexStratifyMigrationSF.htmlDMPlexSymmetrize.htmlDMPlexTetgenSetOptions.htmlDMPlexTransferVecTree.htmlDMPlexTriangleSetOptions.htmlDMPlexUninterpolate.htmlDMPlexVTKWriteAll.htmlDMPlexVecGetClosure.htmlDMPlexVecRestoreClosure.htmlDMPlexVecSetClosure.htmlPETSCPARTITIONERCHACO.htmlPETSCPARTITIONERGATHER.htmlPETSCPARTITIONERPARMETIS.htmlPETSCPARTITIONERPTSCOTCH.htmlPETSCPARTITIONERSHELL.htmlPETSCPARTITIONERSIMPLE.htmlPetscPartitionerCreate.htmlPetscPartitionerDestroy.htmlPetscPartitionerGetType.htmlPetscPartitionerPartition.htmlPetscPartitionerRegister.htmlPetscPartitionerSetFromOptions.htmlPetscPartitionerSetType.htmlPetscPartitionerSetUp.htmlPetscPartitionerShellGetRandom.htmlPetscPartitionerShellSetPartition.htmlPetscPartitionerShellSetRandom.htmlPetscPartitionerView.htmlindex.htmlDMSWARMDMSWARM.htmlDMSwarmAddNPoints.htmlDMSwarmAddPoint.htmlDMSwarmCollectViewCreate.htmlDMSwarmCollectViewDestroy.htmlDMSwarmCopyPoint.htmlDMSwarmCreateGlobalVectorFromField.htmlDMSwarmCreateLocalVectorFromField.htmlDMSwarmCreatePointPerCellCount.htmlDMSwarmDestroyGlobalVectorFromField.htmlDMSwarmDestroyLocalVectorFromField.htmlDMSwarmFinalizeFieldRegister.htmlDMSwarmGetCellDM.htmlDMSwarmGetField.htmlDMSwarmGetLocalSize.htmlDMSwarmGetSize.htmlDMSwarmInitializeFieldRegister.htmlDMSwarmInsertPointsUsingCellDM.htmlDMSwarmMigrate.htmlDMSwarmProjectFields.htmlDMSwarmRegisterPetscDatatypeField.htmlDMSwarmRegisterUserDatatypeField.htmlDMSwarmRegisterUserStructField.htmlDMSwarmRemovePoint.htmlDMSwarmRemovePointAtIndex.htmlDMSwarmRestoreField.htmlDMSwarmSetCellDM.htmlDMSwarmSetLocalSizes.htmlDMSwarmSetPointCoordinates.htmlDMSwarmSetPointsUniformCoordinates.htmlDMSwarmSetType.htmlDMSwarmSortGetAccess.htmlDMSwarmSortGetIsValid.htmlDMSwarmSortGetNumberOfPointsPerCell.htmlDMSwarmSortGetPointsPerCell.htmlDMSwarmSortGetSizes.htmlDMSwarmSortRestoreAccess.htmlDMSwarmVectorDefineField.htmlDMSwarmViewFieldsXDMF.htmlDMSwarmViewXDMF.htmlindex.htmlDTPETSCDSBASIC.htmlPETSCDUALSPACELAGRANGE.htmlPETSCDUALSPACESIMPLE.htmlPETSCFEBASIC.htmlPETSCFECOMPOSITE.htmlPETSCFENONAFFINE.htmlPETSCFEOPENCL.htmlPETSCFVLEASTSQUARES.htmlPETSCFVUPWIND.htmlPETSCLIMITERMC.htmlPETSCLIMITERMINMOD.htmlPETSCLIMITERNONE.htmlPETSCLIMITERSIN.htmlPETSCLIMITERSUPERBEE.htmlPETSCLIMITERVANALBADA.htmlPETSCLIMITERVANLEER.htmlPETSCLIMITERZERO.htmlPETSCSPACEPOINT.htmlPETSCSPACEPOLYNOMIAL.htmlPetscDSAddBoundary.htmlPetscDSAddDiscretization.htmlPetscDSCopyEquations.htmlPetscDSCreate.htmlPetscDSDestroy.htmlPetscDSGetAdjacency.htmlPetscDSGetBdJacobian.htmlPetscDSGetBdResidual.htmlPetscDSGetBoundary.htmlPetscDSGetComponentDerivativeOffsets.htmlPetscDSGetComponentOffset.htmlPetscDSGetComponentOffsets.htmlPetscDSGetComponents.htmlPetscDSGetConstants.htmlPetscDSGetDimensions.htmlPetscDSGetDiscretization.htmlPetscDSGetDynamicJacobian.htmlPetscDSGetExactSolution.htmlPetscDSGetFaceTabulation.htmlPetscDSGetFieldIndex.htmlPetscDSGetFieldOffset.htmlPetscDSGetFieldSize.htmlPetscDSGetImplicit.htmlPetscDSGetJacobian.htmlPetscDSGetJacobianPreconditioner.htmlPetscDSGetNumBoundary.htmlPetscDSGetNumFields.htmlPetscDSGetResidual.htmlPetscDSGetRiemannSolver.htmlPetscDSGetSpatialDimension.htmlPetscDSGetTabulation.htmlPetscDSGetTotalComponents.htmlPetscDSGetTotalDimension.htmlPetscDSGetType.htmlPetscDSGetUpdate.htmlPetscDSHasDynamicJacobian.htmlPetscDSHasJacobian.htmlPetscDSHasJacobianPreconditioner.htmlPetscDSRegister.htmlPetscDSSetAdjacency.htmlPetscDSSetBdJacobian.htmlPetscDSSetBdResidual.htmlPetscDSSetConstants.htmlPetscDSSetDiscretization.htmlPetscDSSetDynamicJacobian.htmlPetscDSSetExactSolution.htmlPetscDSSetFromOptions.htmlPetscDSSetImplicit.htmlPetscDSSetJacobian.htmlPetscDSSetJacobianPreconditioner.htmlPetscDSSetResidual.htmlPetscDSSetRiemannSolver.htmlPetscDSSetType.htmlPetscDSSetUp.htmlPetscDSSetUpdate.htmlPetscDSView.htmlPetscDTGaussJacobiQuadrature.htmlPetscDTGaussQuadrature.htmlPetscDTGaussTensorQuadrature.htmlPetscDTLegendreEval.htmlPetscDTReconstructPoly.htmlPetscDTTanhSinhTensorQuadrature.htmlPetscDualSpaceApply.htmlPetscDualSpaceApplyDefault.htmlPetscDualSpaceApplyFVM.htmlPetscDualSpaceCreate.htmlPetscDualSpaceCreateReferenceCell.htmlPetscDualSpaceDestroy.htmlPetscDualSpaceDuplicate.htmlPetscDualSpaceGetDM.htmlPetscDualSpaceGetDimension.htmlPetscDualSpaceGetFunctional.htmlPetscDualSpaceGetHeightSubspace.htmlPetscDualSpaceGetNumComponents.htmlPetscDualSpaceGetNumDof.htmlPetscDualSpaceGetOrder.htmlPetscDualSpaceGetSymmetries.htmlPetscDualSpaceGetType.htmlPetscDualSpaceLagrangeGetContinuity.htmlPetscDualSpaceLagrangeGetTensor.htmlPetscDualSpaceLagrangeSetContinuity.htmlPetscDualSpaceLagrangeSetTensor.htmlPetscDualSpaceRegister.htmlPetscDualSpaceSetDM.htmlPetscDualSpaceSetFromOptions.htmlPetscDualSpaceSetNumComponents.htmlPetscDualSpaceSetOrder.htmlPetscDualSpaceSetType.htmlPetscDualSpaceSetUp.htmlPetscDualSpaceSimpleSetDimension.htmlPetscDualSpaceSimpleSetFunctional.htmlPetscDualSpaceView.htmlPetscFECompositeGetMapping.htmlPetscFECreate.htmlPetscFECreateDefault.htmlPetscFEDestroy.htmlPetscFEGetBasisSpace.htmlPetscFEGetDefaultTabulation.htmlPetscFEGetDimension.htmlPetscFEGetDualSpace.htmlPetscFEGetFaceQuadrature.htmlPetscFEGetNumComponents.htmlPetscFEGetNumDof.htmlPetscFEGetQuadrature.htmlPetscFEGetSpatialDimension.htmlPetscFEGetTabulation.htmlPetscFEGetTileSizes.htmlPetscFEGetType.htmlPetscFEIntegrate.htmlPetscFEIntegrateBdJacobian.htmlPetscFEIntegrateBdResidual.htmlPetscFEIntegrateJacobian.htmlPetscFEIntegrateResidual.htmlPetscFERefine.htmlPetscFERegister.htmlPetscFESetBasisSpace.htmlPetscFESetDualSpace.htmlPetscFESetFaceQuadrature.htmlPetscFESetFromOptions.htmlPetscFESetNumComponents.htmlPetscFESetQuadrature.htmlPetscFESetTileSizes.htmlPetscFESetType.htmlPetscFESetUp.htmlPetscFEView.htmlPetscFVComputeGradient.htmlPetscFVCreate.htmlPetscFVDestroy.htmlPetscFVGetComponentName.htmlPetscFVGetComputeGradients.htmlPetscFVGetDualSpace.htmlPetscFVGetLimiter.htmlPetscFVGetNumComponents.htmlPetscFVGetQuadrature.htmlPetscFVGetSpatialDimension.htmlPetscFVGetType.htmlPetscFVLeastSquaresSetMaxFaces.htmlPetscFVRefine.htmlPetscFVRegister.htmlPetscFVSetComponentName.htmlPetscFVSetComputeGradients.htmlPetscFVSetDualSpace.htmlPetscFVSetFromOptions.htmlPetscFVSetLimiter.htmlPetscFVSetNumComponents.htmlPetscFVSetQuadrature.htmlPetscFVSetSpatialDimension.htmlPetscFVSetType.htmlPetscFVSetUp.htmlPetscFVView.htmlPetscLimiterCreate.htmlPetscLimiterDestroy.htmlPetscLimiterGetType.htmlPetscLimiterRegister.htmlPetscLimiterSetFromOptions.htmlPetscLimiterSetType.htmlPetscLimiterSetUp.htmlPetscLimiterView.htmlPetscQuadratureCreate.htmlPetscQuadratureDestroy.htmlPetscQuadratureDuplicate.htmlPetscQuadratureExpandComposite.htmlPetscQuadratureGetData.htmlPetscQuadratureGetNumComponents.htmlPetscQuadratureGetOrder.htmlPetscQuadratureSetData.htmlPetscQuadratureSetNumComponents.htmlPetscQuadratureSetOrder.htmlPetscQuadratureView.htmlPetscSpaceCreate.htmlPetscSpaceDestroy.htmlPetscSpaceEvaluate.htmlPetscSpaceGetDimension.htmlPetscSpaceGetHeightSubspace.htmlPetscSpaceGetNumComponents.htmlPetscSpaceGetOrder.htmlPetscSpaceGetType.htmlPetscSpacePointGetPoints.htmlPetscSpacePointSetPoints.htmlPetscSpacePolynomialGetTensor.htmlPetscSpacePolynomialSetTensor.htmlPetscSpaceRegister.htmlPetscSpaceSetFromOptions.htmlPetscSpaceSetNumComponents.htmlPetscSpaceSetOrder.htmlPetscSpaceSetType.htmlPetscSpaceSetUp.htmlPetscSpaceView.htmlindex.htmlDrawPETSC_DRAW_IMAGE.htmlPETSC_DRAW_NULL.htmlPETSC_DRAW_X.htmlPetscDraw.htmlPetscDrawAppendTitle.htmlPetscDrawArrow.htmlPetscDrawAxis.htmlPetscDrawAxisCreate.htmlPetscDrawAxisDestroy.htmlPetscDrawAxisDraw.htmlPetscDrawAxisGetLimits.htmlPetscDrawAxisSetColors.htmlPetscDrawAxisSetHoldLimits.htmlPetscDrawAxisSetLabels.htmlPetscDrawAxisSetLimits.htmlPetscDrawBOP.htmlPetscDrawBar.htmlPetscDrawBarCreate.htmlPetscDrawBarDestroy.htmlPetscDrawBarDraw.htmlPetscDrawBarGetAxis.htmlPetscDrawBarGetDraw.htmlPetscDrawBarSave.htmlPetscDrawBarSetColor.htmlPetscDrawBarSetData.htmlPetscDrawBarSetFromOptions.htmlPetscDrawBarSetLimits.htmlPetscDrawBarSort.htmlPetscDrawButton.htmlPetscDrawCheckResizedWindow.htmlPetscDrawClear.htmlPetscDrawCoordinateToPixel.htmlPetscDrawCreate.htmlPetscDrawDestroy.htmlPetscDrawEOP.htmlPetscDrawEllipse.htmlPetscDrawFinalizePackage.htmlPetscDrawFlush.htmlPetscDrawGetBoundingBox.htmlPetscDrawGetCoordinates.htmlPetscDrawGetCurrentPoint.htmlPetscDrawGetMarkerType.htmlPetscDrawGetMouseButton.htmlPetscDrawGetPause.htmlPetscDrawGetPopup.htmlPetscDrawGetSingleton.htmlPetscDrawGetTitle.htmlPetscDrawGetType.htmlPetscDrawGetViewPort.htmlPetscDrawGetWindowSize.htmlPetscDrawHG.htmlPetscDrawHGAddValue.htmlPetscDrawHGCalcStats.htmlPetscDrawHGCreate.htmlPetscDrawHGDestroy.htmlPetscDrawHGDraw.htmlPetscDrawHGGetAxis.htmlPetscDrawHGGetDraw.htmlPetscDrawHGIntegerBins.htmlPetscDrawHGReset.htmlPetscDrawHGSave.htmlPetscDrawHGSetColor.htmlPetscDrawHGSetLimits.htmlPetscDrawHGSetNumberBins.htmlPetscDrawHGView.htmlPetscDrawIndicatorFunction.htmlPetscDrawIsNull.htmlPetscDrawLG.htmlPetscDrawLGAddCommonPoint.htmlPetscDrawLGAddPoint.htmlPetscDrawLGAddPoints.htmlPetscDrawLGCreate.htmlPetscDrawLGDestroy.htmlPetscDrawLGDraw.htmlPetscDrawLGGetAxis.htmlPetscDrawLGGetDimension.htmlPetscDrawLGGetDraw.htmlPetscDrawLGReset.htmlPetscDrawLGSPDraw.htmlPetscDrawLGSave.htmlPetscDrawLGSetColors.htmlPetscDrawLGSetDimension.htmlPetscDrawLGSetFromOptions.htmlPetscDrawLGSetLegend.htmlPetscDrawLGSetLimits.htmlPetscDrawLGSetOptionsPrefix.htmlPetscDrawLGSetUseMarkers.htmlPetscDrawLGView.htmlPetscDrawLine.htmlPetscDrawLineGetWidth.htmlPetscDrawLineSetWidth.htmlPetscDrawMarker.htmlPetscDrawMarkerType.htmlPetscDrawOpenGLUT.htmlPetscDrawOpenImage.htmlPetscDrawOpenNull.htmlPetscDrawOpenX.htmlPetscDrawPause.htmlPetscDrawPixelToCoordinate.htmlPetscDrawPoint.htmlPetscDrawPointPixel.htmlPetscDrawPointSetSize.htmlPetscDrawPopCurrentPoint.htmlPetscDrawPushCurrentPoint.htmlPetscDrawRealToColor.htmlPetscDrawRectangle.htmlPetscDrawRegister.htmlPetscDrawRegisterAll.htmlPetscDrawResizeWindow.htmlPetscDrawRestoreSingleton.htmlPetscDrawSP.htmlPetscDrawSPAddPoint.htmlPetscDrawSPAddPoints.htmlPetscDrawSPCreate.htmlPetscDrawSPDestroy.htmlPetscDrawSPDraw.htmlPetscDrawSPGetAxis.htmlPetscDrawSPGetDraw.htmlPetscDrawSPReset.htmlPetscDrawSPSave.htmlPetscDrawSPSetDimension.htmlPetscDrawSPSetLimits.htmlPetscDrawSave.htmlPetscDrawSaveMovie.htmlPetscDrawScalePopup.htmlPetscDrawSetCoordinates.htmlPetscDrawSetCurrentPoint.htmlPetscDrawSetDisplay.htmlPetscDrawSetDoubleBuffer.htmlPetscDrawSetFromOptions.htmlPetscDrawSetMarkerType.htmlPetscDrawSetOptionsPrefix.htmlPetscDrawSetPause.htmlPetscDrawSetSave.htmlPetscDrawSetSaveFinalImage.htmlPetscDrawSetSaveMovie.htmlPetscDrawSetTitle.htmlPetscDrawSetType.htmlPetscDrawSetViewPort.htmlPetscDrawSplitViewPort.htmlPetscDrawString.htmlPetscDrawStringBoxed.htmlPetscDrawStringCentered.htmlPetscDrawStringGetSize.htmlPetscDrawStringSetSize.htmlPetscDrawStringVertical.htmlPetscDrawTensorContour.htmlPetscDrawTensorContourPatch.htmlPetscDrawTriangle.htmlPetscDrawType.htmlPetscDrawView.htmlPetscDrawViewPorts.htmlPetscDrawViewPortsCreate.htmlPetscDrawViewPortsCreateRect.htmlPetscDrawViewPortsDestroy.htmlPetscDrawViewPortsSet.htmlPetscDrawZoom.htmlPetscInitializeDrawPackage.htmlindex.htmlISIS.htmlISAllGather.htmlISAllGatherColors.htmlISBlockGetIndices.htmlISBlockGetIndicesF90.htmlISBlockGetLocalSize.htmlISBlockGetSize.htmlISBlockRestoreIndices.htmlISBlockRestoreIndicesF90.htmlISBlockSetIndices.htmlISBuildTwoSided.htmlISColoring.htmlISColoringCreate.htmlISColoringDestroy.htmlISColoringGetIS.htmlISColoringRestoreIS.htmlISColoringType.htmlISColoringView.htmlISComplement.htmlISCompressIndicesGeneral.htmlISConcatenate.htmlISContiguousLocal.htmlISCopy.htmlISCreate.htmlISCreateBlock.htmlISCreateGeneral.htmlISCreateStride.htmlISDestroy.htmlISDifference.htmlISDuplicate.htmlISEmbed.htmlISEqual.htmlISExpand.htmlISExpandIndicesGeneral.htmlISGeneralSetIndices.htmlISGetBlockSize.htmlISGetIndices.htmlISGetIndicesF90.htmlISGetLocalSize.htmlISGetMinMax.htmlISGetNonlocalIS.htmlISGetNonlocalIndices.htmlISGetSize.htmlISGetTotalIndices.htmlISGetType.htmlISGlobalToLocalMappingApply.htmlISGlobalToLocalMappingApplyBlock.htmlISGlobalToLocalMappingApplyIS.htmlISGlobalToLocalMappingMode.htmlISIdentity.htmlISIntersect.htmlISInvertPermutation.htmlISLOCALTOGLOBALMAPPINGBASIC.htmlISLOCALTOGLOBALMAPPINGHASH.htmlISListToPair.htmlISLoad.htmlISLocalToGlobalMapping.htmlISLocalToGlobalMappingApply.htmlISLocalToGlobalMappingApplyBlock.htmlISLocalToGlobalMappingApplyIS.htmlISLocalToGlobalMappingConcatenate.htmlISLocalToGlobalMappingCreate.htmlISLocalToGlobalMappingCreateIS.htmlISLocalToGlobalMappingCreateSF.htmlISLocalToGlobalMappingDestroy.htmlISLocalToGlobalMappingDuplicate.htmlISLocalToGlobalMappingGetBlockIndices.htmlISLocalToGlobalMappingGetBlockInfo.htmlISLocalToGlobalMappingGetBlockSize.htmlISLocalToGlobalMappingGetIndices.htmlISLocalToGlobalMappingGetInfo.htmlISLocalToGlobalMappingGetSize.htmlISLocalToGlobalMappingRegister.htmlISLocalToGlobalMappingRegisterAll.htmlISLocalToGlobalMappingRestoreBlockIndices.htmlISLocalToGlobalMappingRestoreBlockInfo.htmlISLocalToGlobalMappingRestoreIndices.htmlISLocalToGlobalMappingRestoreInfo.htmlISLocalToGlobalMappingSetBlockSize.htmlISLocalToGlobalMappingSetFromOptions.htmlISLocalToGlobalMappingSetType.htmlISLocalToGlobalMappingType.htmlISLocalToGlobalMappingView.htmlISLocate.htmlISOnComm.htmlISPairToList.htmlISPartitioningCount.htmlISPartitioningToNumbering.htmlISPermutation.htmlISRegister.htmlISRegisterAll.htmlISRenumber.htmlISRestoreIndices.htmlISRestoreIndicesF90.htmlISRestoreNonlocalIS.htmlISRestoreTotalIndices.htmlISSetBlockSize.htmlISSetIdentity.htmlISSetPermutation.htmlISSetType.htmlISSort.htmlISSortPermutation.htmlISSortRemoveDups.htmlISSorted.htmlISStrideGetInfo.htmlISStrideSetStride.htmlISSum.htmlISToGeneral.htmlISType.htmlISView.htmlPetscLayout.htmlPetscLayoutCompare.htmlPetscLayoutCreate.htmlPetscLayoutDestroy.htmlPetscLayoutDuplicate.htmlPetscLayoutFindOwner.htmlPetscLayoutFindOwnerIndex.htmlPetscLayoutGetBlockSize.htmlPetscLayoutGetLocalSize.htmlPetscLayoutGetRange.htmlPetscLayoutGetRanges.htmlPetscLayoutGetSize.htmlPetscLayoutReference.htmlPetscLayoutSetBlockSize.htmlPetscLayoutSetISLocalToGlobalMapping.htmlPetscLayoutSetLocalSize.htmlPetscLayoutSetSize.htmlPetscLayoutSetUp.htmlPetscSFCreateSectionSF.htmlPetscSFDistributeSection.htmlPetscSFSetGraphLayout.htmlPetscSection.htmlPetscSectionAddConstraintDof.htmlPetscSectionAddDof.htmlPetscSectionAddFieldConstraintDof.htmlPetscSectionAddFieldDof.htmlPetscSectionClone.htmlPetscSectionCopy.htmlPetscSectionCreate.htmlPetscSectionCreateGlobalSection.htmlPetscSectionCreateGlobalSectionCensored.htmlPetscSectionDestroy.htmlPetscSectionGetChart.htmlPetscSectionGetClosureIndex.htmlPetscSectionGetClosureInversePermutation.htmlPetscSectionGetClosurePermutation.htmlPetscSectionGetConstrainedStorageSize.htmlPetscSectionGetConstraintDof.htmlPetscSectionGetConstraintIndices.htmlPetscSectionGetDof.htmlPetscSectionGetField.htmlPetscSectionGetFieldComponents.htmlPetscSectionGetFieldConstraintDof.htmlPetscSectionGetFieldDof.htmlPetscSectionGetFieldName.htmlPetscSectionGetFieldOffset.htmlPetscSectionGetFieldPointSyms.htmlPetscSectionGetFieldSym.htmlPetscSectionGetMaxDof.htmlPetscSectionGetNumFields.htmlPetscSectionGetOffset.htmlPetscSectionGetOffsetRange.htmlPetscSectionGetPermutation.htmlPetscSectionGetPointSyms.htmlPetscSectionGetStorageSize.htmlPetscSectionGetSym.htmlPetscSectionGetValueLayout.htmlPetscSectionPermute.htmlPetscSectionReset.htmlPetscSectionRestoreFieldPointSyms.htmlPetscSectionRestorePointSyms.htmlPetscSectionSetChart.htmlPetscSectionSetClosureIndex.htmlPetscSectionSetClosurePermutation.htmlPetscSectionSetConstraintDof.htmlPetscSectionSetConstraintIndices.htmlPetscSectionSetDof.htmlPetscSectionSetFieldComponents.htmlPetscSectionSetFieldConstraintDof.htmlPetscSectionSetFieldDof.htmlPetscSectionSetFieldName.htmlPetscSectionSetFieldOffset.htmlPetscSectionSetFieldSym.htmlPetscSectionSetNumFields.htmlPetscSectionSetOffset.htmlPetscSectionSetPermutation.htmlPetscSectionSetSym.htmlPetscSectionSetUp.htmlPetscSectionSym.htmlPetscSectionSymCreate.htmlPetscSectionSymDestroy.htmlPetscSectionSymGetType.htmlPetscSectionSymRegister.htmlPetscSectionSymSetType.htmlPetscSectionSymType.htmlPetscSectionSymView.htmlPetscSectionView.htmlindex.htmlKSPDMCopyDMKSP.htmlDMGetDMKSP.htmlDMGetDMKSPWrite.htmlDMGlobalToLocalSolve.htmlDMKSPCopy.htmlDMKSPGetComputeInitialGuess.htmlDMKSPGetComputeOperators.htmlDMKSPGetComputeRHS.htmlDMKSPSetComputeInitialGuess.htmlDMKSPSetComputeOperators.htmlDMKSPSetComputeRHS.htmlDMProjectField.htmlKSP.htmlKSPAGMRES.htmlKSPAppendOptionsPrefix.htmlKSPBCGS.htmlKSPBCGSL.htmlKSPBCGSLSetEll.htmlKSPBCGSLSetPol.htmlKSPBCGSLSetUsePseudoinverse.htmlKSPBCGSLSetXRes.htmlKSPBICG.htmlKSPBuildResidual.htmlKSPBuildSolution.htmlKSPCG.htmlKSPCGGLTR.htmlKSPCGGLTRGetLambda.htmlKSPCGGLTRGetMinEig.htmlKSPCGGetNormD.htmlKSPCGGetObjFcn.htmlKSPCGLS.htmlKSPCGNASH.htmlKSPCGNE.htmlKSPCGS.htmlKSPCGSTCG.htmlKSPCGSetRadius.htmlKSPCGSetType.htmlKSPCGType.htmlKSPCGUseSingleReduction.htmlKSPCHEBYSHEV.htmlKSPCR.htmlKSPChebyshevEstEigGetKSP.htmlKSPChebyshevEstEigSet.htmlKSPChebyshevEstEigSetUseNoisy.htmlKSPChebyshevSetEigenvalues.htmlKSPComputeEigenvalues.htmlKSPComputeEigenvaluesExplicitly.htmlKSPComputeExplicitOperator.htmlKSPComputeExtremeSingularValues.htmlKSPComputeRitz.htmlKSPConvergedDefault.htmlKSPConvergedDefaultCreate.htmlKSPConvergedDefaultDestroy.htmlKSPConvergedDefaultSetUIRNorm.htmlKSPConvergedDefaultSetUMIRNorm.htmlKSPConvergedReason.htmlKSPConvergedSkip.htmlKSPCreate.htmlKSPCreateVecs.htmlKSPDGMRES.htmlKSPDestroy.htmlKSPFBCGS.htmlKSPFBCGSR.htmlKSPFCDTruncationType.htmlKSPFCG.htmlKSPFCGGetMmax.htmlKSPFCGGetNprealloc.htmlKSPFCGGetTruncationType.htmlKSPFCGSetMmax.htmlKSPFCGSetNprealloc.htmlKSPFCGSetTruncationType.htmlKSPFETIDP.htmlKSPFETIDPGetInnerBDDC.htmlKSPFETIDPGetInnerKSP.htmlKSPFETIDPSetInnerBDDC.htmlKSPFETIDPSetPressureOperator.htmlKSPFGMRES.htmlKSPFGMRESModifyPCKSP.htmlKSPFGMRESModifyPCNoChange.htmlKSPFGMRESSetModifyPC.htmlKSPFinalizePackage.htmlKSPGCR.htmlKSPGCRSetModifyPC.htmlKSPGMRES.htmlKSPGMRESCGSRefinementType.htmlKSPGMRESClassicalGramSchmidtOrthogonalization.htmlKSPGMRESGetCGSRefinementType.htmlKSPGMRESGetOrthogonalization.htmlKSPGMRESGetRestart.htmlKSPGMRESModifiedGramSchmidtOrthogonalization.htmlKSPGMRESMonitorKrylov.htmlKSPGMRESSetCGSRefinementType.htmlKSPGMRESSetHapTol.htmlKSPGMRESSetOrthogonalization.htmlKSPGMRESSetPreAllocateVectors.htmlKSPGMRESSetRestart.htmlKSPGROPPCG.htmlKSPGetApplicationContext.htmlKSPGetComputeEigenvalues.htmlKSPGetComputeSingularValues.htmlKSPGetConvergedReason.htmlKSPGetConvergenceContext.htmlKSPGetDM.htmlKSPGetDiagonalScale.htmlKSPGetDiagonalScaleFix.htmlKSPGetErrorIfNotConverged.htmlKSPGetGuess.htmlKSPGetInitialGuessKnoll.htmlKSPGetInitialGuessNonzero.htmlKSPGetIterationNumber.htmlKSPGetMonitorContext.htmlKSPGetNormType.htmlKSPGetOperators.htmlKSPGetOperatorsSet.htmlKSPGetOptionsPrefix.htmlKSPGetPC.htmlKSPGetPCSide.htmlKSPGetResidualHistory.htmlKSPGetResidualNorm.htmlKSPGetRhs.htmlKSPGetSolution.htmlKSPGetTabLevel.htmlKSPGetTolerances.htmlKSPGetTotalIterations.htmlKSPGetType.htmlKSPGuess.htmlKSPGuessCreate.htmlKSPGuessFischerSetModel.htmlKSPGuessFormGuess.htmlKSPGuessGetType.htmlKSPGuessSetFromOptions.htmlKSPGuessSetType.htmlKSPGuessSetUp.htmlKSPGuessType.htmlKSPGuessUpdate.htmlKSPGuessView.htmlKSPIBCGS.htmlKSPInitialResidual.htmlKSPInitializePackage.htmlKSPLCD.htmlKSPLGMRES.htmlKSPLSQR.htmlKSPLSQRDefaultConverged.htmlKSPLSQRMonitorDefault.htmlKSPLoad.htmlKSPMINRES.htmlKSPMatRegisterAll.htmlKSPMonitor.htmlKSPMonitorCancel.htmlKSPMonitorDefault.htmlKSPMonitorDynamicTolerance.htmlKSPMonitorLGResidualNormCreate.htmlKSPMonitorLGTrueResidualNormCreate.htmlKSPMonitorRange.htmlKSPMonitorSAWs.htmlKSPMonitorSAWsCreate.htmlKSPMonitorSAWsDestroy.htmlKSPMonitorSet.htmlKSPMonitorSetFromOptions.htmlKSPMonitorSingularValue.htmlKSPMonitorSolution.htmlKSPMonitorTrueResidualMaxNorm.htmlKSPMonitorTrueResidualNorm.htmlKSPNormType.htmlKSPPGMRES.htmlKSPPIPEBCGS.htmlKSPPIPECG.htmlKSPPIPECGRR.htmlKSPPIPECR.htmlKSPPIPEFCG.htmlKSPPIPEFCGGetMmax.htmlKSPPIPEFCGGetNprealloc.htmlKSPPIPEFCGGetTruncationType.htmlKSPPIPEFCGSetMmax.htmlKSPPIPEFCGSetNprealloc.htmlKSPPIPEFCGSetTruncationType.htmlKSPPIPEFGMRES.htmlKSPPIPEFGMRESSetShift.htmlKSPPIPEGCR.htmlKSPPIPEGCRGetMmax.htmlKSPPIPEGCRGetNprealloc.htmlKSPPIPEGCRGetTruncationType.htmlKSPPIPEGCRGetUnrollW.htmlKSPPIPEGCRSetMmax.htmlKSPPIPEGCRSetModifyPC.htmlKSPPIPEGCRSetNprealloc.htmlKSPPIPEGCRSetTruncationType.htmlKSPPIPEGCRSetUnrollW.htmlKSPPREONLY.htmlKSPPythonSetType.htmlKSPQCG.htmlKSPQCGGetQuadratic.htmlKSPQCGGetTrialStepNorm.htmlKSPQCGSetTrustRegionRadius.htmlKSPRICHARDSON.htmlKSPReasonView.htmlKSPReasonViewFromOptions.htmlKSPRegister.htmlKSPRegisterAll.htmlKSPReset.htmlKSPRichardsonSetScale.htmlKSPRichardsonSetSelfScale.htmlKSPSYMMLQ.htmlKSPSetApplicationContext.htmlKSPSetCheckNormIteration.htmlKSPSetComputeEigenvalues.htmlKSPSetComputeInitialGuess.htmlKSPSetComputeOperators.htmlKSPSetComputeRHS.htmlKSPSetComputeRitz.htmlKSPSetComputeSingularValues.htmlKSPSetConvergenceTest.htmlKSPSetDM.htmlKSPSetDMActive.htmlKSPSetDiagonalScale.htmlKSPSetDiagonalScaleFix.htmlKSPSetErrorIfNotConverged.htmlKSPSetFromOptions.htmlKSPSetGuess.htmlKSPSetInitialGuessKnoll.htmlKSPSetInitialGuessNonzero.htmlKSPSetLagNorm.htmlKSPSetNormType.htmlKSPSetOperators.htmlKSPSetOptionsPrefix.htmlKSPSetPC.htmlKSPSetPCSide.htmlKSPSetPostSolve.htmlKSPSetPreSolve.htmlKSPSetResidualHistory.htmlKSPSetReusePreconditioner.htmlKSPSetSkipPCSetFromOptions.htmlKSPSetSupportedNorm.htmlKSPSetTabLevel.htmlKSPSetTolerances.htmlKSPSetType.htmlKSPSetUp.htmlKSPSetUpOnBlocks.htmlKSPSetUseFischerGuess.htmlKSPSetWorkVecs.htmlKSPSolve.htmlKSPSolveTranspose.htmlKSPTCQMR.htmlKSPTFQMR.htmlKSPTSIRM.htmlKSPType.htmlKSPUnwindPreconditioner.htmlKSPView.htmlKSP_CONVERGED_ATOL.htmlKSP_CONVERGED_ITERATING.htmlKSP_CONVERGED_ITS.htmlKSP_CONVERGED_RTOL.htmlKSP_DIVERGED_BREAKDOWN.htmlKSP_DIVERGED_BREAKDOWN_BICG.htmlKSP_DIVERGED_DTOL.htmlKSP_DIVERGED_INDEFINITE_PC.htmlKSP_DIVERGED_ITS.htmlKSP_DIVERGED_NONSYMMETRIC.htmlKSP_DIVERGED_PCSETUP_FAILED.htmlKSP_GMRES_CGS_REFINE_IFNEEDED.htmlKSP_GMRES_CGS_REFINE_NEVER.htmlKSP_NORM_NATURAL.htmlKSP_NORM_NONE.htmlKSP_NORM_PRECONDITIONED.htmlKSP_NORM_UNPRECONDITIONED.htmlMatCreateSchurComplement.htmlMatCreateSchurComplementPmat.htmlMatGetSchurComplement.htmlMatSchurComplementAinvType.htmlMatSchurComplementComputeExplicitOperator.htmlMatSchurComplementGetAinvType.htmlMatSchurComplementGetKSP.htmlMatSchurComplementGetPmat.htmlMatSchurComplementGetSubMatrices.htmlMatSchurComplementSetAinvType.htmlMatSchurComplementSetKSP.htmlMatSchurComplementSetSubMatrices.htmlMatSchurComplementUpdateSubMatrices.htmlPCFinalizePackage.htmlPCInitializePackage.htmlindex.htmlMatMATAIJ.htmlMATAIJCRL.htmlMATAIJCUSP.htmlMATAIJCUSPARSE.htmlMATAIJMKL.htmlMATAIJPERM.htmlMATAIJVIENNACL.htmlMATBAIJ.htmlMATBAIJMKL.htmlMATBLOCKMAT.htmlMATCOMPOSITE.htmlMATDENSE.htmlMATDUMMY.htmlMATELEMENTAL.htmlMATHYPRE.htmlMATIS.htmlMATMAIJ.htmlMATMFFD.htmlMATMFFD_DS.htmlMATMFFD_WP.htmlMATMPIADJ.htmlMATMPIAIJ.htmlMATMPIBAIJ.htmlMATMPISBAIJ.htmlMATNEST.htmlMATPREALLOCATOR.htmlMATSBAIJ.htmlMATSCATTER.htmlMATSEQAIJ.htmlMATSEQAIJCUSP.htmlMATSEQAIJCUSPARSE.htmlMATSEQAIJVIENNACL.htmlMATSEQBAIJ.htmlMATSEQDENSE.htmlMATSEQSBAIJ.htmlMATSHELL.htmlMATSOLVERBAS.htmlMATSOLVERCHOLMOD.htmlMATSOLVERCUSPARSE.htmlMATSOLVERESSL.htmlMATSOLVERKLU.htmlMATSOLVERLUSOL.htmlMATSOLVERMATLAB.htmlMATSOLVERMKL_PARDISO.htmlMATSOLVERMUMPS.htmlMATSOLVERPASTIX.htmlMATSOLVERSPARSEELEMENTAL.htmlMATSOLVERSSTRUMPACK.htmlMATSOLVERSUPERLU.htmlMATSOLVERSUPERLU_DIST.htmlMATSOLVERUMFPACK.htmlMat.htmlMatAXPY.htmlMatAYPX.htmlMatAppendOptionsPrefix.htmlMatAssembled.htmlMatAssemblyBegin.htmlMatAssemblyEnd.htmlMatAssemblyType.htmlMatBackwardSolve.htmlMatBlockMatSetPreallocation.htmlMatCUSPARSEFormatOperation.htmlMatCUSPARSESetFormat.htmlMatCUSPARSEStorageFormat.htmlMatCUSPFormatOperation.htmlMatCUSPSetFormat.htmlMatCUSPStorageFormat.htmlMatCheckCompressedRow.htmlMatCholeskyFactor.htmlMatCholeskyFactorNumeric.htmlMatCholeskyFactorSymbolic.htmlMatChop.htmlMatColoring.htmlMatColoringPatch.htmlMatColoringType.htmlMatColoringWeightType.htmlMatCompositeAddMat.htmlMatCompositeMerge.htmlMatCompositeSetType.htmlMatComputeBandwidth.htmlMatComputeExplicitOperator.htmlMatConjugate.htmlMatConvert.htmlMatCopy.htmlMatCreate.htmlMatCreateAIJ.htmlMatCreateAIJCUSP.htmlMatCreateAIJCUSPARSE.htmlMatCreateAIJViennaCL.htmlMatCreateBAIJ.htmlMatCreateBAIJMKL.htmlMatCreateBlockMat.htmlMatCreateComposite.htmlMatCreateDense.htmlMatCreateFFT.htmlMatCreateHermitianTranspose.htmlMatCreateIS.htmlMatCreateLRC.htmlMatCreateLocalRef.htmlMatCreateMAIJ.htmlMatCreateMFFD.htmlMatCreateMPIAIJCRL.htmlMatCreateMPIAIJMKL.htmlMatCreateMPIAIJPERM.htmlMatCreateMPIAIJSumSeqAIJ.htmlMatCreateMPIAIJWithArrays.htmlMatCreateMPIAIJWithSeqAIJ.htmlMatCreateMPIAIJWithSplitArrays.htmlMatCreateMPIAdj.htmlMatCreateMPIBAIJWithArrays.htmlMatCreateMPIMatConcatenateSeqMat.htmlMatCreateMPISBAIJWithArrays.htmlMatCreateNest.htmlMatCreateNormal.htmlMatCreateNormalHermitian.htmlMatCreateRedundantMatrix.htmlMatCreateSBAIJ.htmlMatCreateScatter.htmlMatCreateSeqAIJ.htmlMatCreateSeqAIJCRL.htmlMatCreateSeqAIJCUSP.htmlMatCreateSeqAIJCUSPARSE.htmlMatCreateSeqAIJFromTriple.htmlMatCreateSeqAIJMKL.htmlMatCreateSeqAIJPERM.htmlMatCreateSeqAIJViennaCL.htmlMatCreateSeqAIJWithArrays.htmlMatCreateSeqBAIJ.htmlMatCreateSeqBAIJMKL.htmlMatCreateSeqBAIJWithArrays.htmlMatCreateSeqCUFFT.htmlMatCreateSeqDense.htmlMatCreateSeqSBAIJ.htmlMatCreateSeqSBAIJWithArrays.htmlMatCreateShell.htmlMatCreateSubMatrices.htmlMatCreateSubMatricesMPI.htmlMatCreateSubMatrix.htmlMatCreateSubMatrixOption.htmlMatCreateSubMatrixVirtual.htmlMatCreateTranspose.htmlMatCreateVecs.htmlMatCreateVecsFFTW.htmlMatDenseGetArray.htmlMatDenseGetArrayF90.htmlMatDenseGetLocalMatrix.htmlMatDensePlaceArray.htmlMatDenseResetArray.htmlMatDenseRestoreArray.htmlMatDenseRestoreArrayF90.htmlMatDestroy.htmlMatDestroyMatrices.htmlMatDestroySeqNonzeroStructure.htmlMatDestroySubMatrices.htmlMatDiagonalScale.htmlMatDiagonalScaleLocal.htmlMatDiagonalSet.htmlMatDuplicate.htmlMatDuplicateOption.htmlMatEqual.htmlMatFDColoring.htmlMatFactorClearError.htmlMatFactorCreateSchurComplement.htmlMatFactorError.htmlMatFactorFactorizeSchurComplement.htmlMatFactorGetError.htmlMatFactorGetErrorZeroPivot.htmlMatFactorGetSchurComplement.htmlMatFactorGetSolverPackage.htmlMatFactorInfo.htmlMatFactorInfoInitialize.htmlMatFactorInvertSchurComplement.htmlMatFactorRestoreSchurComplement.htmlMatFactorSetSchurIS.htmlMatFactorShiftType.htmlMatFactorSolveSchurComplement.htmlMatFactorSolveSchurComplementTranspose.htmlMatFactorType.htmlMatFinalizePackage.htmlMatFindNonzeroRows.htmlMatFindOffBlockDiagonalEntries.htmlMatFindZeroDiagonals.htmlMatFindZeroRows.htmlMatForwardSolve.htmlMatGalerkin.htmlMatGetBlockSize.htmlMatGetBlockSizes.htmlMatGetBrowsOfAcols.htmlMatGetColumnIJ.htmlMatGetColumnNorms.htmlMatGetColumnVector.htmlMatGetCommunicationStructs.htmlMatGetDiagonal.htmlMatGetDiagonalBlock.htmlMatGetFactor.htmlMatGetFactorAvailable.htmlMatGetFactorType.htmlMatGetGhosts.htmlMatGetInertia.htmlMatGetInfo.htmlMatGetLayouts.htmlMatGetLocalSize.htmlMatGetLocalSubMatrix.htmlMatGetLocalToGlobalMapping.htmlMatGetMultiProcBlock.htmlMatGetNearNullSpace.htmlMatGetNonzeroState.htmlMatGetNullSpace.htmlMatGetOption.htmlMatGetOptionsPrefix.htmlMatGetOwnershipIS.htmlMatGetOwnershipRange.htmlMatGetOwnershipRangeColumn.htmlMatGetOwnershipRanges.htmlMatGetOwnershipRangesColumn.htmlMatGetRow.htmlMatGetRowIJ.htmlMatGetRowMax.htmlMatGetRowMaxAbs.htmlMatGetRowMin.htmlMatGetRowMinAbs.htmlMatGetRowSum.htmlMatGetRowUpperTriangular.htmlMatGetSeqNonzeroStructure.htmlMatGetSize.htmlMatGetTrace.htmlMatGetTransposeNullSpace.htmlMatGetType.htmlMatGetValues.htmlMatHYPRESetPreallocation.htmlMatHasOperation.htmlMatHermitianTranspose.htmlMatICCFactor.htmlMatICCFactorSymbolic.htmlMatILUFactor.htmlMatILUFactorSymbolic.htmlMatISGetLocalMat.htmlMatISGetMPIXAIJ.htmlMatISRestoreLocalMat.htmlMatISSetLocalMat.htmlMatISSetPreallocation.htmlMatISSetUpSF.htmlMatImaginaryPart.htmlMatIncreaseOverlap.htmlMatIncreaseOverlapSplit.htmlMatInfo.htmlMatInfoType.htmlMatInitializePackage.htmlMatInodeGetInodeSizes.htmlMatInterpolate.htmlMatInterpolateAdd.htmlMatInvertBlockDiagonal.htmlMatIsHermitian.htmlMatIsHermitianKnown.htmlMatIsHermitianTranspose.htmlMatIsStructurallySymmetric.htmlMatIsSymmetric.htmlMatIsSymmetricKnown.htmlMatIsTranspose.htmlMatLRCGetMats.htmlMatLUFactor.htmlMatLUFactorNumeric.htmlMatLUFactorSymbolic.htmlMatLoad.htmlMatMAIJGetAIJ.htmlMatMAIJRedimension.htmlMatMFFD.htmlMatMFFDCheckPositivity.htmlMatMFFDDSSetUmin.htmlMatMFFDFinalizePackage.htmlMatMFFDGetH.htmlMatMFFDInitializePackage.htmlMatMFFDRegister.htmlMatMFFDRegisterAll.htmlMatMFFDResetHHistory.htmlMatMFFDSetBase.htmlMatMFFDSetCheckh.htmlMatMFFDSetFunction.htmlMatMFFDSetFunctionError.htmlMatMFFDSetFunctioni.htmlMatMFFDSetFunctioniBase.htmlMatMFFDSetHHistory.htmlMatMFFDSetOptionsPrefix.htmlMatMFFDSetPeriod.htmlMatMFFDSetType.htmlMatMFFDType.htmlMatMFFDWPSetComputeNormU.htmlMatMPIAIJGetLocalMat.htmlMatMPIAIJGetLocalMatCondensed.htmlMatMPIAIJSetPreallocation.htmlMatMPIAIJSetPreallocationCSR.htmlMatMPIAIJSetUseScalableIncreaseOverlap.htmlMatMPIAIJSetValuesBatch.htmlMatMPIAdjCreateNonemptySubcommMat.htmlMatMPIAdjSetPreallocation.htmlMatMPIBAIJSetHashTableFactor.htmlMatMPIBAIJSetPreallocation.htmlMatMPIBAIJSetPreallocationCSR.htmlMatMPIBAIJSetValuesBlocked.htmlMatMPIDenseSetPreallocation.htmlMatMPISBAIJSetPreallocation.htmlMatMPISBAIJSetPreallocationCSR.htmlMatMatMatMult.htmlMatMatMult.htmlMatMatMultEqual.htmlMatMatMultNumeric.htmlMatMatMultSymbolic.htmlMatMatSolve.htmlMatMatSolveTranspose.htmlMatMatTransposeMult.htmlMatMissingDiagonal.htmlMatMkl_CPardisoSetCntl.htmlMatMkl_PardisoSetCntl.htmlMatMult.htmlMatMultAdd.htmlMatMultAddEqual.htmlMatMultConstrained.htmlMatMultDiagonalBlock.htmlMatMultEqual.htmlMatMultHermitianTranspose.htmlMatMultHermitianTransposeAdd.htmlMatMultTranspose.htmlMatMultTransposeAdd.htmlMatMultTransposeAddEqual.htmlMatMultTransposeConstrained.htmlMatMultTransposeEqual.htmlMatMumpsGetCntl.htmlMatMumpsGetIcntl.htmlMatMumpsGetInfo.htmlMatMumpsGetInfog.htmlMatMumpsGetRinfo.htmlMatMumpsGetRinfog.htmlMatMumpsSetCntl.htmlMatMumpsSetIcntl.htmlMatNestGetISs.htmlMatNestGetLocalISs.htmlMatNestGetSize.htmlMatNestGetSubMat.htmlMatNestGetSubMats.htmlMatNestSetSubMat.htmlMatNestSetSubMats.htmlMatNestSetVecType.htmlMatNorm.htmlMatNullSpace.htmlMatNullSpaceCreate.htmlMatNullSpaceCreateRigidBody.htmlMatNullSpaceDestroy.htmlMatNullSpaceGetVecs.htmlMatNullSpaceRemove.htmlMatNullSpaceSetFunction.htmlMatNullSpaceTest.htmlMatNullSpaceView.htmlMatOption.htmlMatOrderingType.htmlMatPartitioning.htmlMatPartitioningType.htmlMatPermute.htmlMatPreallocateFinalize.htmlMatPreallocateInitialize.htmlMatPreallocateLocation.htmlMatPreallocateSet.htmlMatPreallocateSetLocal.htmlMatPreallocateSetLocalBlock.htmlMatPreallocateSetLocalRemoveDups.htmlMatPreallocateSymmetricSetBlock.htmlMatPreallocateSymmetricSetLocalBlock.htmlMatPreallocatorPreallocate.htmlMatPtAP.htmlMatPtAPNumeric.htmlMatPtAPSymbolic.htmlMatPythonCreate.htmlMatPythonSetType.htmlMatRARt.htmlMatRARtNumeric.htmlMatRARtSymbolic.htmlMatRealPart.htmlMatRegister.htmlMatRegisterAll.htmlMatRegisterBaseName.htmlMatReorderForNonzeroDiagonal.htmlMatResidual.htmlMatRestoreColumnIJ.htmlMatRestoreLocalSubMatrix.htmlMatRestoreRow.htmlMatRestoreRowIJ.htmlMatRestoreRowUpperTriangular.htmlMatRestrict.htmlMatRetrieveValues.htmlMatReuse.htmlMatSOR.htmlMatSORType.htmlMatSTRUMPACKSetColPerm.htmlMatSTRUMPACKSetHSSMinSize.htmlMatSTRUMPACKSetHSSRelCompTol.htmlMatScale.htmlMatScatterGetVecScatter.htmlMatScatterSetVecScatter.htmlMatSeqAIJFromMatlab.htmlMatSeqAIJGetArray.htmlMatSeqAIJGetArrayF90.htmlMatSeqAIJGetMaxRowNonzeros.htmlMatSeqAIJRegister.htmlMatSeqAIJRegisterAll.htmlMatSeqAIJRestoreArray.htmlMatSeqAIJRestoreArrayF90.htmlMatSeqAIJSetColumnIndices.htmlMatSeqAIJSetPreallocation.htmlMatSeqAIJSetPreallocationCSR.htmlMatSeqAIJSetType.htmlMatSeqBAIJSetColumnIndices.htmlMatSeqBAIJSetPreallocation.htmlMatSeqBAIJSetPreallocationCSR.htmlMatSeqDenseSetLDA.htmlMatSeqDenseSetPreallocation.htmlMatSeqSBAIJGetArray.htmlMatSeqSBAIJRestoreArray.htmlMatSeqSBAIJSetColumnIndices.htmlMatSeqSBAIJSetPreallocation.htmlMatSeqSBAIJSetPreallocationCSR.htmlMatSetBlockSize.htmlMatSetBlockSizes.htmlMatSetBlockSizesFromMats.htmlMatSetErrorIfFailure.htmlMatSetFromOptions.htmlMatSetLocalToGlobalMapping.htmlMatSetNearNullSpace.htmlMatSetNullSpace.htmlMatSetOption.htmlMatSetOptionsPrefix.htmlMatSetRandom.htmlMatSetSizes.htmlMatSetStencil.htmlMatSetTransposeNullSpace.htmlMatSetType.htmlMatSetUnfactored.htmlMatSetUp.htmlMatSetValue.htmlMatSetValues.htmlMatSetValuesBatch.htmlMatSetValuesBlocked.htmlMatSetValuesBlockedLocal.htmlMatSetValuesBlockedStencil.htmlMatSetValuesLocal.htmlMatSetValuesRow.htmlMatSetValuesRowLocal.htmlMatSetValuesStencil.htmlMatShellGetContext.htmlMatShellGetOperation.htmlMatShellSetContext.htmlMatShellSetOperation.htmlMatShift.htmlMatSolve.htmlMatSolveAdd.htmlMatSolvePackageGet.htmlMatSolvePackageRegister.htmlMatSolveTranspose.htmlMatSolveTransposeAdd.htmlMatSolverPackage.htmlMatSolves.htmlMatStashGetInfo.htmlMatStashSetInitialSize.htmlMatStencil.htmlMatStoreValues.htmlMatStructure.htmlMatSubMatrixVirtualUpdate.htmlMatSubdomainsCreateCoalesce.htmlMatSuperluSetILUDropTol.htmlMatTransColoringApplyDenToSp.htmlMatTransColoringApplySpToDen.htmlMatTranspose.htmlMatTransposeColoring.htmlMatTransposeColoringCreate.htmlMatTransposeColoringDestroy.htmlMatTransposeGetMat.htmlMatTransposeMatMult.htmlMatTransposeMatMultEqual.htmlMatType.htmlMatView.htmlMatXAIJSetPreallocation.htmlMatZeroEntries.htmlMatZeroRows.htmlMatZeroRowsColumns.htmlMatZeroRowsColumnsIS.htmlMatZeroRowsColumnsLocal.htmlMatZeroRowsColumnsLocalIS.htmlMatZeroRowsColumnsStencil.htmlMatZeroRowsIS.htmlMatZeroRowsLocal.htmlMatZeroRowsLocalIS.htmlMatZeroRowsStencil.htmlPetscElementalFinalizePackage.htmlPetscElementalInitializePackage.htmlVecScatterFFTWToPetsc.htmlVecScatterPetscToFFTW.htmlindex.htmlMatFDMatFDColoringApply.htmlMatFDColoringCreate.htmlMatFDColoringDestroy.htmlMatFDColoringGetFunction.htmlMatFDColoringGetPerturbedColumns.htmlMatFDColoringSetBlockSize.htmlMatFDColoringSetFromOptions.htmlMatFDColoringSetFunction.htmlMatFDColoringSetParameters.htmlMatFDColoringSetType.htmlMatFDColoringSetUp.htmlMatFDColoringView.htmlindex.htmlMatOrderingsMATCOARSENHEM.htmlMATCOARSENMIS.htmlMATCOLORINGGREEDY.htmlMATCOLORINGJP.htmlMATCOLORINGPOWER.htmlMATPARTITIONINGCHACO.htmlMATPARTITIONINGHIERARCHPART.htmlMATPARTITIONINGPARMETIS.htmlMATPARTITIONINGPARTY.htmlMATPARTITIONINGPTSCOTCH.htmlMatCoarsenApply.htmlMatCoarsenCreate.htmlMatCoarsenDestroy.htmlMatCoarsenGetData.htmlMatCoarsenGetType.htmlMatCoarsenRegister.htmlMatCoarsenRegisterAll.htmlMatCoarsenSetAdjacency.htmlMatCoarsenSetFromOptions.htmlMatCoarsenSetGreedyOrdering.htmlMatCoarsenSetStrictAggs.htmlMatCoarsenSetType.htmlMatCoarsenView.htmlMatColoringApply.htmlMatColoringCreate.htmlMatColoringDestroy.htmlMatColoringGetDistance.htmlMatColoringGetMaxColors.htmlMatColoringRegister.htmlMatColoringRegisterAll.htmlMatColoringSetDistance.htmlMatColoringSetFromOptions.htmlMatColoringSetMaxColors.htmlMatColoringSetType.htmlMatColoringSetWeightType.htmlMatColoringView.htmlMatCreateLaplacian.htmlMatGetOrdering.htmlMatMeshToCellGraph.htmlMatMeshToVertexGraph.htmlMatOrderingRegister.htmlMatOrderingRegisterAll.htmlMatPartitioningApply.htmlMatPartitioningChacoGetEigenNumber.htmlMatPartitioningChacoGetEigenSolver.htmlMatPartitioningChacoGetEigenTol.htmlMatPartitioningChacoGetGlobal.htmlMatPartitioningChacoGetLocal.htmlMatPartitioningChacoSetCoarseLevel.htmlMatPartitioningChacoSetEigenNumber.htmlMatPartitioningChacoSetEigenSolver.htmlMatPartitioningChacoSetEigenTol.htmlMatPartitioningChacoSetGlobal.htmlMatPartitioningChacoSetLocal.htmlMatPartitioningCreate.htmlMatPartitioningDestroy.htmlMatPartitioningGetType.htmlMatPartitioningPTScotchGetImbalance.htmlMatPartitioningPTScotchGetStrategy.htmlMatPartitioningPTScotchSetImbalance.htmlMatPartitioningPTScotchSetStrategy.htmlMatPartitioningParmetisGetEdgeCut.htmlMatPartitioningParmetisSetCoarseSequential.htmlMatPartitioningParmetisSetRepartition.htmlMatPartitioningPartySetBipart.htmlMatPartitioningPartySetCoarseLevel.htmlMatPartitioningPartySetGlobal.htmlMatPartitioningPartySetLocal.htmlMatPartitioningPartySetMatchOptimization.htmlMatPartitioningRegister.htmlMatPartitioningRegisterAll.htmlMatPartitioningSetAdjacency.htmlMatPartitioningSetFromOptions.htmlMatPartitioningSetNParts.htmlMatPartitioningSetPartitionWeights.htmlMatPartitioningSetType.htmlMatPartitioningSetVertexWeights.htmlMatPartitioningView.htmlindex.htmlPCPC.htmlPCAINVCUSP.htmlPCASM.htmlPCASMCreateSubdomains.htmlPCASMCreateSubdomains2D.htmlPCASMDestroySubdomains.htmlPCASMGetDMSubdomains.htmlPCASMGetLocalSubdomains.htmlPCASMGetLocalSubmatrices.htmlPCASMGetLocalType.htmlPCASMGetSubKSP.htmlPCASMGetSubMatType.htmlPCASMGetType.htmlPCASMSetDMSubdomains.htmlPCASMSetLocalSubdomains.htmlPCASMSetLocalType.htmlPCASMSetOverlap.htmlPCASMSetSortIndices.htmlPCASMSetSubMatType.htmlPCASMSetTotalSubdomains.htmlPCASMSetType.htmlPCASMType.htmlPCAppendOptionsPrefix.htmlPCApply.htmlPCApplyBAorAB.htmlPCApplyBAorABTranspose.htmlPCApplyRichardson.htmlPCApplyRichardsonExists.htmlPCApplySymmetricLeft.htmlPCApplySymmetricRight.htmlPCApplyTranspose.htmlPCApplyTransposeExists.htmlPCBDDC.htmlPCBDDCCreateFETIDPOperators.htmlPCBDDCGetDirichletBoundaries.htmlPCBDDCGetDirichletBoundariesLocal.htmlPCBDDCGetNeumannBoundaries.htmlPCBDDCGetNeumannBoundariesLocal.htmlPCBDDCMatFETIDPGetRHS.htmlPCBDDCMatFETIDPGetSolution.htmlPCBDDCSetChangeOfBasisMat.htmlPCBDDCSetCoarseningRatio.htmlPCBDDCSetDirichletBoundaries.htmlPCBDDCSetDirichletBoundariesLocal.htmlPCBDDCSetDiscreteGradient.htmlPCBDDCSetDivergenceMat.htmlPCBDDCSetDofsSplitting.htmlPCBDDCSetDofsSplittingLocal.htmlPCBDDCSetLevels.htmlPCBDDCSetLocalAdjacencyGraph.htmlPCBDDCSetNeumannBoundaries.htmlPCBDDCSetNeumannBoundariesLocal.htmlPCBDDCSetPrimalVerticesIS.htmlPCBDDCSetPrimalVerticesLocalIS.htmlPCBJACOBI.htmlPCBJacobiGetLocalBlocks.htmlPCBJacobiGetSubKSP.htmlPCBJacobiGetTotalBlocks.htmlPCBJacobiSetLocalBlocks.htmlPCBJacobiSetTotalBlocks.htmlPCCHOLESKY.htmlPCCHOWILUViennaCL.htmlPCCOMPOSITE.htmlPCCP.htmlPCCompositeAddPC.htmlPCCompositeGetNumberPC.htmlPCCompositeGetPC.htmlPCCompositeGetType.htmlPCCompositeSetType.htmlPCCompositeSpecialSetAlpha.htmlPCCompositeType.htmlPCComputeExplicitOperator.htmlPCCreate.htmlPCDestroy.htmlPCDiagonalScaleLeft.htmlPCDiagonalScaleRight.htmlPCEISENSTAT.htmlPCEXOTIC.htmlPCEisenstatGetNoDiagonalScaling.htmlPCEisenstatGetOmega.htmlPCEisenstatSetNoDiagonalScaling.htmlPCEisenstatSetOmega.htmlPCExoticSetType.htmlPCExoticType.htmlPCFIELDSPLIT.htmlPCFactorGetAllowDiagonalFill.htmlPCFactorGetLevels.htmlPCFactorGetMatSolverPackage.htmlPCFactorGetMatrix.htmlPCFactorGetShiftAmount.htmlPCFactorGetShiftType.htmlPCFactorGetUseInPlace.htmlPCFactorGetZeroPivot.htmlPCFactorReorderForNonzeroDiagonal.htmlPCFactorSetAllowDiagonalFill.htmlPCFactorSetColumnPivot.htmlPCFactorSetFill.htmlPCFactorSetLevels.htmlPCFactorSetMatOrderingType.htmlPCFactorSetMatSolverPackage.htmlPCFactorSetPivotInBlocks.htmlPCFactorSetReuseFill.htmlPCFactorSetReuseOrdering.htmlPCFactorSetShiftAmount.htmlPCFactorSetShiftType.htmlPCFactorSetUpMatSolverPackage.htmlPCFactorSetUseInPlace.htmlPCFactorSetZeroPivot.htmlPCFailedReason.htmlPCFieldSplitGetDMSplits.htmlPCFieldSplitGetDiagUseAmat.htmlPCFieldSplitGetIS.htmlPCFieldSplitGetOffDiagUseAmat.htmlPCFieldSplitGetSchurBlocks.htmlPCFieldSplitGetSchurPre.htmlPCFieldSplitGetSubKSP.htmlPCFieldSplitGetType.htmlPCFieldSplitRestrictIS.htmlPCFieldSplitSchurFactType.htmlPCFieldSplitSchurGetS.htmlPCFieldSplitSchurPreType.htmlPCFieldSplitSchurRestoreS.htmlPCFieldSplitSetBlockSize.htmlPCFieldSplitSetDMSplits.htmlPCFieldSplitSetDiagUseAmat.htmlPCFieldSplitSetFields.htmlPCFieldSplitSetIS.htmlPCFieldSplitSetOffDiagUseAmat.htmlPCFieldSplitSetSchurFactType.htmlPCFieldSplitSetSchurPre.htmlPCFieldSplitSetSchurScale.htmlPCFieldSplitSetType.htmlPCGALERKIN.htmlPCGAMG.htmlPCGAMGASMSetUseAggs.htmlPCGAMGClassicalGetType.htmlPCGAMGClassicalSetType.htmlPCGAMGFilterGraph.htmlPCGAMGFinalizePackage.htmlPCGAMGGetType.htmlPCGAMGInitializePackage.htmlPCGAMGRegister.htmlPCGAMGSetCoarseEqLim.htmlPCGAMGSetNSmooths.htmlPCGAMGSetNlevels.htmlPCGAMGSetProcEqLim.htmlPCGAMGSetRepartition.htmlPCGAMGSetReuseInterpolation.htmlPCGAMGSetSquareGraph.htmlPCGAMGSetSymGraph.htmlPCGAMGSetThreshold.htmlPCGAMGSetThresholdScale.htmlPCGAMGSetType.htmlPCGAMGSetUseParallelCoarseGridSolve.htmlPCGAMGType.htmlPCGASM.htmlPCGASMCreateSubdomains.htmlPCGASMCreateSubdomains2D.htmlPCGASMDestroySubdomains.htmlPCGASMGetSubKSP.htmlPCGASMGetSubdomains.htmlPCGASMGetSubmatrices.htmlPCGASMGetUseDMSubdomains.htmlPCGASMSetOverlap.htmlPCGASMSetSortIndices.htmlPCGASMSetSubdomains.htmlPCGASMSetTotalSubdomains.htmlPCGASMSetType.htmlPCGASMSetUseDMSubdomains.htmlPCGASMType.htmlPCGalerkinGetKSP.htmlPCGalerkinSetComputeSubmatrix.htmlPCGalerkinSetInterpolation.htmlPCGalerkinSetRestriction.htmlPCGetApplicationContext.htmlPCGetDM.htmlPCGetDiagonalScale.htmlPCGetOperators.htmlPCGetOperatorsSet.htmlPCGetOptionsPrefix.htmlPCGetReusePreconditioner.htmlPCGetSetUpFailedReason.htmlPCGetType.htmlPCGetUseAmat.htmlPCHYPRE.htmlPCHYPREGetType.htmlPCHYPRESetAlphaPoissonMatrix.htmlPCHYPRESetBetaPoissonMatrix.htmlPCHYPRESetDiscreteCurl.htmlPCHYPRESetDiscreteGradient.htmlPCHYPRESetEdgeConstantVectors.htmlPCHYPRESetInterpolations.htmlPCHYPRESetType.htmlPCICC.htmlPCILU.htmlPCISSetSubdomainDiagonalScaling.htmlPCISSetSubdomainScalingFactor.htmlPCISSetUseStiffnessScaling.htmlPCJACOBI.htmlPCJacobiGetType.htmlPCJacobiGetUseAbs.htmlPCJacobiSetType.htmlPCJacobiSetUseAbs.htmlPCJacobiType.htmlPCKSP.htmlPCKSPGetKSP.htmlPCKaczmarz.htmlPCLSC.htmlPCLU.htmlPCLoad.htmlPCMAT.htmlPCMGCycleType.htmlPCMGType.htmlPCMGalerkinType.htmlPCML.htmlPCModifySubMatrices.htmlPCNN.htmlPCNONE.htmlPCPARMS.htmlPCPARMSGlobalType.htmlPCPARMSLocalType.htmlPCPARMSSetFill.htmlPCPARMSSetGlobal.htmlPCPARMSSetLocal.htmlPCPARMSSetNonsymPerm.htmlPCPARMSSetSolveRestart.htmlPCPARMSSetSolveTolerances.htmlPCPBJACOBI.htmlPCPFMG.htmlPCPostSolve.htmlPCPreSolve.htmlPCPythonSetType.htmlPCREDISTRIBUTE.htmlPCREDUNDANT.htmlPCRedistributeGetKSP.htmlPCRedundantGetKSP.htmlPCRedundantGetOperators.htmlPCRedundantSetNumber.htmlPCRedundantSetScatter.htmlPCRegister.htmlPCRegisterAll.htmlPCReset.htmlPCRichardsonConvergedReason.htmlPCRowScalingViennaCL.htmlPCSACUSP.htmlPCSAViennaCL.htmlPCSHELL.htmlPCSOR.htmlPCSORGetIterations.htmlPCSORGetOmega.htmlPCSORGetSymmetric.htmlPCSORSetIterations.htmlPCSORSetOmega.htmlPCSORSetSymmetric.htmlPCSPAI.htmlPCSPAISetBlockSize.htmlPCSPAISetCacheSize.htmlPCSPAISetEpsilon.htmlPCSPAISetMax.htmlPCSPAISetMaxNew.htmlPCSPAISetNBSteps.htmlPCSPAISetSp.htmlPCSPAISetVerbose.htmlPCSVD.htmlPCSetApplicationContext.htmlPCSetCoordinates.htmlPCSetDM.htmlPCSetDiagonalScale.htmlPCSetErrorIfFailure.htmlPCSetFromOptions.htmlPCSetModifySubMatrices.htmlPCSetOperators.htmlPCSetOptionsPrefix.htmlPCSetReusePreconditioner.htmlPCSetType.htmlPCSetUp.htmlPCSetUpOnBlocks.htmlPCSetUseAmat.htmlPCShellGetContext.htmlPCShellGetName.htmlPCShellSetApply.htmlPCShellSetApplyBA.htmlPCShellSetApplyRichardson.htmlPCShellSetApplySymmetricLeft.htmlPCShellSetApplySymmetricRight.htmlPCShellSetApplyTranspose.htmlPCShellSetContext.htmlPCShellSetDestroy.htmlPCShellSetName.htmlPCShellSetPostSolve.htmlPCShellSetPreSolve.htmlPCShellSetSetUp.htmlPCShellSetView.htmlPCSide.htmlPCSysPFMG.htmlPCTELESCOPE.htmlPCTFS.htmlPCTelescopeGetDM.htmlPCTelescopeGetIgnoreDM.htmlPCTelescopeGetIgnoreKSPComputeOperators.htmlPCTelescopeGetKSP.htmlPCTelescopeGetReductionFactor.htmlPCTelescopeGetSubcommType.htmlPCTelescopeSetIgnoreDM.htmlPCTelescopeSetIgnoreKSPComputeOperators.htmlPCTelescopeSetReductionFactor.htmlPCTelescopeSetSubcommType.htmlPCType.htmlPCView.htmlindex.htmlPCMGPCMG.htmlPCMGGetCoarseSolve.htmlPCMGGetGalerkin.htmlPCMGGetInterpolation.htmlPCMGGetLevels.htmlPCMGGetRScale.htmlPCMGGetRestriction.htmlPCMGGetSmoother.htmlPCMGGetSmootherDown.htmlPCMGGetSmootherUp.htmlPCMGGetType.htmlPCMGMultiplicativeSetCycles.htmlPCMGResidualDefault.htmlPCMGSetCycleType.htmlPCMGSetCycleTypeOnLevel.htmlPCMGSetGalerkin.htmlPCMGSetInterpolation.htmlPCMGSetLevels.htmlPCMGSetNumberSmooth.htmlPCMGSetNumberSmoothDown.htmlPCMGSetNumberSmoothUp.htmlPCMGSetR.htmlPCMGSetRScale.htmlPCMGSetResidual.htmlPCMGSetRestriction.htmlPCMGSetRhs.htmlPCMGSetType.htmlPCMGSetX.htmlindex.htmlPFPF.htmlPFApply.htmlPFApplyVec.htmlPFCreate.htmlPFDestroy.htmlPFFinalizePackage.htmlPFGetType.htmlPFInitializePackage.htmlPFRegister.htmlPFRegisterAll.htmlPFSet.htmlPFSetFromOptions.htmlPFSetType.htmlPFType.htmlPFView.htmlindex.htmlPetscSFPetscSF.htmlPetscSFBcastBegin.htmlPetscSFBcastEnd.htmlPetscSFCompose.htmlPetscSFComputeDegreeBegin.htmlPetscSFComputeDegreeEnd.htmlPetscSFCreate.htmlPetscSFCreateEmbeddedLeafSF.htmlPetscSFCreateEmbeddedSF.htmlPetscSFCreateInverseSF.htmlPetscSFDestroy.htmlPetscSFDuplicate.htmlPetscSFDuplicateOption.htmlPetscSFFetchAndOpBegin.htmlPetscSFFetchAndOpEnd.htmlPetscSFFinalizePackage.htmlPetscSFFindWindow.htmlPetscSFGatherBegin.htmlPetscSFGatherEnd.htmlPetscSFGetGraph.htmlPetscSFGetGroups.htmlPetscSFGetLeafRange.htmlPetscSFGetMultiSF.htmlPetscSFGetRanks.htmlPetscSFGetWindow.htmlPetscSFInitializePackage.htmlPetscSFNode.htmlPetscSFReduceBegin.htmlPetscSFReduceEnd.htmlPetscSFRegister.htmlPetscSFRegisterAll.htmlPetscSFReset.htmlPetscSFRestoreWindow.htmlPetscSFScatterBegin.htmlPetscSFScatterEnd.htmlPetscSFSetFromOptions.htmlPetscSFSetGraph.htmlPetscSFSetRankOrder.htmlPetscSFSetType.htmlPetscSFSetUp.htmlPetscSFSetUpRanks.htmlPetscSFType.htmlPetscSFView.htmlPetscSFWindowGetDataTypes.htmlPetscSFWindowGetSyncType.htmlPetscSFWindowSetSyncType.htmlPetscSFWindowSyncType.htmlindex.htmlProfilingPetscClassIdRegister.htmlPetscClassPerfInfoClear.htmlPetscClassPerfLogCreate.htmlPetscClassPerfLogDestroy.htmlPetscClassPerfLogEnsureSize.htmlPetscClassRegInfoDestroy.htmlPetscClassRegLogCreate.htmlPetscClassRegLogDestroy.htmlPetscClassRegLogGetClass.htmlPetscClassRegLogRegister.htmlPetscEventPerfInfoClear.htmlPetscEventPerfInfoCopy.htmlPetscEventPerfLogActivate.htmlPetscEventPerfLogActivateClass.htmlPetscEventPerfLogCreate.htmlPetscEventPerfLogDeactivate.htmlPetscEventPerfLogDeactivateClass.htmlPetscEventPerfLogDestroy.htmlPetscEventPerfLogEnsureSize.htmlPetscEventPerfLogGetVisible.htmlPetscEventPerfLogSetVisible.htmlPetscEventRegLogCreate.htmlPetscEventRegLogDestroy.htmlPetscEventRegLogGetEvent.htmlPetscEventRegLogRegister.htmlPetscGetFlops.htmlPetscInfo.htmlPetscInfoActivateClass.htmlPetscInfoAllow.htmlPetscInfoDeactivateClass.htmlPetscIntStackCreate.htmlPetscIntStackDestroy.htmlPetscIntStackEmpty.htmlPetscIntStackPop.htmlPetscIntStackPush.htmlPetscIntStackTop.htmlPetscLogActions.htmlPetscLogAllBegin.htmlPetscLogDefaultBegin.htmlPetscLogDestroy.htmlPetscLogDump.htmlPetscLogEvent.htmlPetscLogEventActivate.htmlPetscLogEventActivateClass.htmlPetscLogEventBarrierBegin.htmlPetscLogEventBarrierEnd.htmlPetscLogEventBegin.htmlPetscLogEventDeactivate.htmlPetscLogEventDeactivateClass.htmlPetscLogEventEnd.htmlPetscLogEventGetId.htmlPetscLogEventGetPerfInfo.htmlPetscLogEventRegister.htmlPetscLogEventSetActiveAll.htmlPetscLogFlops.htmlPetscLogGetStageLog.htmlPetscLogMPEBegin.htmlPetscLogMPEDump.htmlPetscLogMPEGetRGBColor.htmlPetscLogObjectMemory.htmlPetscLogObjects.htmlPetscLogSet.htmlPetscLogStage.htmlPetscLogStageGetActive.htmlPetscLogStageGetId.htmlPetscLogStageGetVisible.htmlPetscLogStagePop.htmlPetscLogStagePush.htmlPetscLogStageRegister.htmlPetscLogStageSetActive.htmlPetscLogStageSetVisible.htmlPetscLogTraceBegin.htmlPetscLogView.htmlPetscLogViewFromOptions.htmlPetscPreLoadBegin.htmlPetscPreLoadEnd.htmlPetscPreLoadStage.htmlPetscStageInfoDestroy.htmlPetscStageLogCreate.htmlPetscStageLogDestroy.htmlPetscStageLogGetActive.htmlPetscStageLogGetClassPerfLog.htmlPetscStageLogGetClassRegLog.htmlPetscStageLogGetCurrent.htmlPetscStageLogGetEventPerfLog.htmlPetscStageLogGetEventRegLog.htmlPetscStageLogGetStage.htmlPetscStageLogGetVisible.htmlPetscStageLogPop.htmlPetscStageLogPush.htmlPetscStageLogRegister.htmlPetscStageLogSetActive.htmlPetscStageLogSetVisible.htmlindex.htmlSNESDMCopyDMSNES.htmlDMDASNESSetFunctionLocal.htmlDMDASNESSetJacobianLocal.htmlDMDASNESSetObjectiveLocal.htmlDMDASNESSetPicardLocal.htmlDMGetDMSNES.htmlDMGetDMSNESWrite.htmlDMPlexGetCellFields.htmlDMPlexGetFaceFields.htmlDMPlexGetFaceGeometry.htmlDMPlexRestoreCellFields.htmlDMPlexRestoreFaceFields.htmlDMPlexRestoreFaceGeometry.htmlDMPlexSNESComputeBoundaryFEM.htmlDMPlexSNESComputeJacobianActionFEM.htmlDMPlexSNESComputeJacobianFEM.htmlDMPlexSNESComputeResidualFEM.htmlDMPlexSNESGetGeometryFEM.htmlDMPlexSNESGetGeometryFVM.htmlDMPlexSNESGetGradientDM.htmlDMPlexSetSNESLocalFEM.htmlDMSNESCopy.htmlDMSNESGetFunction.htmlDMSNESGetJacobian.htmlDMSNESGetNGS.htmlDMSNESGetObjective.htmlDMSNESGetPicard.htmlDMSNESSetBoundaryLocal.htmlDMSNESSetFunction.htmlDMSNESSetFunctionLocal.htmlDMSNESSetJacobian.htmlDMSNESSetJacobianLocal.htmlDMSNESSetNGS.htmlDMSNESSetObjective.htmlDMSNESSetPicard.htmlKSPMonitorSNES.htmlKSPMonitorSNESLGResidualNormCreate.htmlKSPMonitorSNESLGResidualNormDestroy.htmlMatCreateSNESMF.htmlMatMFFDComputeJacobian.htmlPetscConvEstCreate.htmlPetscConvEstDestroy.htmlPetscConvEstGetConvRate.htmlPetscConvEstGetSolver.htmlPetscConvEstRateView.htmlPetscConvEstSetFromOptions.htmlPetscConvEstSetSolver.htmlPetscConvEstSetUp.htmlPetscConvEstView.htmlSNES.htmlSNESANDERSON.htmlSNESASPIN.htmlSNESAddOptionsChecker.htmlSNESAppendOptionsPrefix.htmlSNESApplyNPC.htmlSNESCOMPOSITE.htmlSNESCompositeAddSNES.htmlSNESCompositeGetNumber.htmlSNESCompositeGetSNES.htmlSNESCompositeSetDamping.htmlSNESCompositeSetType.htmlSNESComputeFunction.htmlSNESComputeJacobian.htmlSNESComputeJacobianDefault.htmlSNESComputeJacobianDefaultColor.htmlSNESComputeNGS.htmlSNESComputeObjective.htmlSNESConvergedDefault.htmlSNESConvergedReason.htmlSNESConvergedSkip.htmlSNESConvergenceTestFunction.htmlSNESCreate.htmlSNESDefaultMatrixFreeSetParameters2.htmlSNESDestroy.htmlSNESFASType.htmlSNESFinalizePackage.htmlSNESFunction.htmlSNESFunctionType.htmlSNESGetAlwaysComputesFinalResidual.htmlSNESGetApplicationContext.htmlSNESGetConvergedReason.htmlSNESGetConvergenceHistory.htmlSNESGetDM.htmlSNESGetDivergenceTolerance.htmlSNESGetErrorIfNotConverged.htmlSNESGetFunction.htmlSNESGetFunctionDomainError.htmlSNESGetFunctionNorm.htmlSNESGetFunctionType.htmlSNESGetGridSequence.htmlSNESGetIterationNumber.htmlSNESGetJacobian.htmlSNESGetKSP.htmlSNESGetLagJacobian.htmlSNESGetLagPreconditioner.htmlSNESGetLineSearch.htmlSNESGetLinearSolveFailures.htmlSNESGetLinearSolveIterations.htmlSNESGetMaxLinearSolveFailures.htmlSNESGetMaxNonlinearStepFailures.htmlSNESGetNGS.htmlSNESGetNPC.htmlSNESGetNPCFunction.htmlSNESGetNPCSide.htmlSNESGetNonlinearStepFailures.htmlSNESGetNormSchedule.htmlSNESGetNumberFunctionEvals.htmlSNESGetObjective.htmlSNESGetOptionsPrefix.htmlSNESGetPicard.htmlSNESGetRhs.htmlSNESGetSolution.htmlSNESGetSolutionUpdate.htmlSNESGetTolerances.htmlSNESGetType.htmlSNESGetUseMatrixFree.htmlSNESHasDM.htmlSNESHasNPC.htmlSNESInitializePackage.htmlSNESJacobianFunction.htmlSNESKSPGetParametersEW.htmlSNESKSPGetUseEW.htmlSNESKSPONLY.htmlSNESKSPSetParametersEW.htmlSNESKSPSetUseEW.htmlSNESLINESEARCHBASIC.htmlSNESLINESEARCHBT.htmlSNESLINESEARCHCP.htmlSNESLINESEARCHL2.htmlSNESLINESEARCHNLEQERR.htmlSNESLINESEARCHSHELL.htmlSNESLineSearch.htmlSNESLineSearchAppendOptionsPrefix.htmlSNESLineSearchApply.htmlSNESLineSearchBTGetAlpha.htmlSNESLineSearchBTSetAlpha.htmlSNESLineSearchComputeNorms.htmlSNESLineSearchCreate.htmlSNESLineSearchDestroy.htmlSNESLineSearchGetDamping.htmlSNESLineSearchGetDefaultMonitor.htmlSNESLineSearchGetLambda.htmlSNESLineSearchGetNorms.htmlSNESLineSearchGetOptionsPrefix.htmlSNESLineSearchGetOrder.htmlSNESLineSearchGetPostCheck.htmlSNESLineSearchGetPreCheck.htmlSNESLineSearchGetReason.htmlSNESLineSearchGetSNES.htmlSNESLineSearchGetTolerances.htmlSNESLineSearchGetVIFunctions.htmlSNESLineSearchGetVecs.htmlSNESLineSearchMonitor.htmlSNESLineSearchMonitorCancel.htmlSNESLineSearchMonitorSet.htmlSNESLineSearchMonitorSetFromOptions.htmlSNESLineSearchMonitorSolutionUpdate.htmlSNESLineSearchPostCheck.htmlSNESLineSearchPostCheckFunction.htmlSNESLineSearchPreCheck.htmlSNESLineSearchPreCheckFunction.htmlSNESLineSearchPreCheckPicard.htmlSNESLineSearchReason.htmlSNESLineSearchRegister.htmlSNESLineSearchRegisterAll.htmlSNESLineSearchReset.htmlSNESLineSearchSetComputeNorms.htmlSNESLineSearchSetDamping.htmlSNESLineSearchSetDefaultMonitor.htmlSNESLineSearchSetFromOptions.htmlSNESLineSearchSetFunction.htmlSNESLineSearchSetLambda.htmlSNESLineSearchSetNorms.htmlSNESLineSearchSetOrder.htmlSNESLineSearchSetPostCheck.htmlSNESLineSearchSetPreCheck.htmlSNESLineSearchSetReason.htmlSNESLineSearchSetSNES.htmlSNESLineSearchSetTolerances.htmlSNESLineSearchSetType.htmlSNESLineSearchSetUp.htmlSNESLineSearchSetVIFunctions.htmlSNESLineSearchSetVecs.htmlSNESLineSearchSetWorkVecs.htmlSNESLineSearchShellGetUserFunc.htmlSNESLineSearchShellSetUserFunc.htmlSNESLineSearchType.htmlSNESLineSearchView.htmlSNESLoad.htmlSNESMS.htmlSNESMSFinalizePackage.htmlSNESMSInitializePackage.htmlSNESMSRegister.htmlSNESMSRegisterAll.htmlSNESMSRegisterDestroy.htmlSNESMSSetType.htmlSNESMSType.htmlSNESMatrixFreeCreate2.htmlSNESMonitor.htmlSNESMonitorCancel.htmlSNESMonitorDefault.htmlSNESMonitorDefaultField.htmlSNESMonitorFields.htmlSNESMonitorFunction.htmlSNESMonitorRange.htmlSNESMonitorRatio.htmlSNESMonitorRatioSetUp.htmlSNESMonitorResidual.htmlSNESMonitorSAWs.htmlSNESMonitorSAWsCreate.htmlSNESMonitorSAWsDestroy.htmlSNESMonitorScaling.htmlSNESMonitorSet.htmlSNESMonitorSetFromOptions.htmlSNESMonitorSolution.htmlSNESMonitorSolutionUpdate.htmlSNESNASM.htmlSNESNASMGetDamping.htmlSNESNASMGetNumber.htmlSNESNASMGetSNES.htmlSNESNASMGetSubdomainVecs.htmlSNESNASMGetSubdomains.htmlSNESNASMGetType.htmlSNESNASMSetComputeFinalJacobian.htmlSNESNASMSetDamping.htmlSNESNASMSetSubdomains.htmlSNESNASMSetType.htmlSNESNASMSetWeight.htmlSNESNCG.htmlSNESNCGSetType.htmlSNESNEWTONLS.htmlSNESNEWTONTR.htmlSNESNGMRES.htmlSNESNGMRESSetRestartFmRise.htmlSNESNGMRESSetRestartType.htmlSNESNGMRESSetSelectType.htmlSNESNGS.htmlSNESNGSFunction.htmlSNESNGSGetSweeps.htmlSNESNGSGetTolerances.htmlSNESNGSSetSweeps.htmlSNESNGSSetTolerances.htmlSNESNRICHARDSON.htmlSNESNormSchedule.htmlSNESObjectiveComputeFunctionDefaultFD.htmlSNESObjectiveFunction.htmlSNESPythonSetType.htmlSNESQN.htmlSNESQNSetRestartType.htmlSNESQNSetScaleType.htmlSNESQNSetType.htmlSNESReasonView.htmlSNESReasonViewFromOptions.htmlSNESRegister.htmlSNESRegisterAll.htmlSNESReset.htmlSNESSHELL.htmlSNESSetAlwaysComputesFinalResidual.htmlSNESSetApplicationContext.htmlSNESSetComputeApplicationContext.htmlSNESSetComputeInitialGuess.htmlSNESSetConvergedReason.htmlSNESSetConvergenceHistory.htmlSNESSetConvergenceTest.htmlSNESSetCountersReset.htmlSNESSetDM.htmlSNESSetDivergenceTolerance.htmlSNESSetErrorIfNotConverged.htmlSNESSetForceIteration.htmlSNESSetFromOptions.htmlSNESSetFunction.htmlSNESSetFunctionDomainError.htmlSNESSetFunctionNorm.htmlSNESSetFunctionType.htmlSNESSetGridSequence.htmlSNESSetInitialFunction.htmlSNESSetIterationNumber.htmlSNESSetJacobian.htmlSNESSetKSP.htmlSNESSetLagJacobian.htmlSNESSetLagJacobianPersists.htmlSNESSetLagPreconditioner.htmlSNESSetLagPreconditionerPersists.htmlSNESSetLineSearch.htmlSNESSetMaxLinearSolveFailures.htmlSNESSetMaxNonlinearStepFailures.htmlSNESSetNGS.htmlSNESSetNPC.htmlSNESSetNPCSide.htmlSNESSetNormSchedule.htmlSNESSetObjective.htmlSNESSetOptionsPrefix.htmlSNESSetPicard.htmlSNESSetSolution.htmlSNESSetTolerances.htmlSNESSetTrustRegionTolerance.htmlSNESSetType.htmlSNESSetUp.htmlSNESSetUpMatrices.htmlSNESSetUpdate.htmlSNESSetUseMatrixFree.htmlSNESSetWorkVecs.htmlSNESShellGetContext.htmlSNESShellSetContext.htmlSNESShellSetSolve.htmlSNESSolve.htmlSNESTEST.htmlSNESType.htmlSNESUpdateCheckJacobian.htmlSNESVINEWTONRSLS.htmlSNESVINEWTONSSLS.htmlSNESVISetComputeVariableBounds.htmlSNESVISetVariableBounds.htmlSNESView.htmlSNES_CONERGED_ITERATING.htmlSNES_CONVERGED_FNORM_ABS.htmlSNES_CONVERGED_FNORM_RELATIVE.htmlSNES_CONVERGED_SNORM_RELATIVE.htmlSNES_DIVERGED_DTOL.htmlSNES_DIVERGED_FNORM_NAN.htmlSNES_DIVERGED_FUNCTION_COUNT.htmlSNES_DIVERGED_LINE_SEARCH.htmlSNES_DIVERGED_LOCAL_MIN.htmlSNES_DIVERGED_MAX_IT.htmlSNES_NORM_ALWAYS.htmlSNES_NORM_FINAL_ONLY.htmlSNES_NORM_INITIAL_FINAL_ONLY.htmlSNES_NORM_INITIAL_ONLY.htmlSNES_NORM_NONE.htmlindex.htmlSNESFASSNESFAS.htmlSNESFASCreateCoarseVec.htmlSNESFASCycleGetCorrection.htmlSNESFASCycleGetInjection.htmlSNESFASCycleGetInterpolation.htmlSNESFASCycleGetRScale.htmlSNESFASCycleGetRestriction.htmlSNESFASCycleGetSmoother.htmlSNESFASCycleGetSmootherDown.htmlSNESFASCycleGetSmootherUp.htmlSNESFASCycleIsFine.htmlSNESFASCycleSetCycles.htmlSNESFASFullSetDownSweep.htmlSNESFASGetCoarseSolve.htmlSNESFASGetCycleSNES.htmlSNESFASGetGalerkin.htmlSNESFASGetInjection.htmlSNESFASGetInterpolation.htmlSNESFASGetLevels.htmlSNESFASGetRestriction.htmlSNESFASGetSmoother.htmlSNESFASGetSmootherDown.htmlSNESFASGetSmootherUp.htmlSNESFASGetType.htmlSNESFASRestrict.htmlSNESFASSetContinuation.htmlSNESFASSetCycles.htmlSNESFASSetGalerkin.htmlSNESFASSetInjection.htmlSNESFASSetInterpolation.htmlSNESFASSetLevels.htmlSNESFASSetLog.htmlSNESFASSetMonitor.htmlSNESFASSetNumberSmoothDown.htmlSNESFASSetNumberSmoothUp.htmlSNESFASSetRScale.htmlSNESFASSetRestriction.htmlSNESFASSetType.htmlindex.htmlSysADD_VALUES.htmlCHKERRQ.htmlCHKERRXX.htmlCHKMEMQ.htmlINSERT_VALUES.htmlInsertMode.htmlMAX_VALUES.htmlMPIU_Allreduce.htmlMPIU_COMPLEX.htmlMPIU_INT.htmlMPIU_REAL.htmlMPIU_SCALAR.htmlMPI_Comm.htmlPETSC_COMM_SELF.htmlPETSC_COMM_WORLD.htmlPETSC_DECIDE.htmlPETSC_DEFAULT.htmlPETSC_DETERMINE.htmlPETSC_FALSE.htmlPETSC_IGNORE.htmlPETSC_MATLAB_ENGINE_.htmlPETSC_MATLAB_ENGINE_SELF.htmlPETSC_MATLAB_ENGINE_WORLD.htmlPETSC_TRUE.htmlPETSC_VERSION.htmlPETSC_i.htmlPetscAbortErrorHandler.htmlPetscAbsInt.htmlPetscAbsReal.htmlPetscAddrAlign.htmlPetscAttachDebugger.htmlPetscAttachDebuggerErrorHandler.htmlPetscBLASInt.htmlPetscBLASIntCast.htmlPetscBT.htmlPetscBag.htmlPetscBagCreate.htmlPetscBagDestroy.htmlPetscBagGetData.htmlPetscBagGetName.htmlPetscBagGetNames.htmlPetscBagLoad.htmlPetscBagRegisterBool.htmlPetscBagRegisterBoolArray.htmlPetscBagRegisterEnum.htmlPetscBagRegisterInt.htmlPetscBagRegisterInt64.htmlPetscBagRegisterIntArray.htmlPetscBagRegisterReal.htmlPetscBagRegisterRealArray.htmlPetscBagRegisterScalar.htmlPetscBagRegisterString.htmlPetscBagSetFromOptions.htmlPetscBagSetName.htmlPetscBagSetOptionsPrefix.htmlPetscBagView.htmlPetscBarrier.htmlPetscBinaryClose.htmlPetscBinaryOpen.htmlPetscBinaryRead.htmlPetscBinarySeek.htmlPetscBinarySeekType.htmlPetscBinarySynchronizedRead.htmlPetscBinarySynchronizedSeek.htmlPetscBinarySynchronizedWrite.htmlPetscBinaryWrite.htmlPetscBool.htmlPetscBoxAuthorize.htmlPetscBoxRefresh.htmlPetscBoxUpload.htmlPetscBuildTwoSidedType.htmlPetscCUDAFlag.htmlPetscCUSPFlag.htmlPetscCalloc1.htmlPetscCalloc2.htmlPetscCalloc3.htmlPetscCalloc4.htmlPetscCalloc5.htmlPetscCalloc6.htmlPetscCalloc7.htmlPetscCheckPointer.htmlPetscCheckPointerSetIntensity.htmlPetscCitationsRegister.htmlPetscClassId.htmlPetscClipInterval.htmlPetscCommBuildTwoSided.htmlPetscCommBuildTwoSidedF.htmlPetscCommBuildTwoSidedFReq.htmlPetscCommBuildTwoSidedGetType.htmlPetscCommBuildTwoSidedSetType.htmlPetscCommDestroy.htmlPetscCommDuplicate.htmlPetscCommGetNewTag.htmlPetscComplex.htmlPetscContainer.htmlPetscContainerCreate.htmlPetscContainerDestroy.htmlPetscContainerGetPointer.htmlPetscContainerSetPointer.htmlPetscContainerSetUserDestroy.htmlPetscContainerUserDestroyDefault.htmlPetscCopyMode.htmlPetscDLClose.htmlPetscDLLibrary.htmlPetscDLLibraryAppend.htmlPetscDLLibraryClose.htmlPetscDLLibraryOpen.htmlPetscDLLibraryPrepend.htmlPetscDLLibraryRetrieve.htmlPetscDLLibrarySym.htmlPetscDLOpen.htmlPetscDLSym.htmlPetscDataType.htmlPetscDataTypeFromString.htmlPetscDataTypeGetSize.htmlPetscDataTypeToMPIDataType.htmlPetscEListFind.htmlPetscEmacsClientErrorHandler.htmlPetscEnd.htmlPetscEnum.htmlPetscEqualReal.htmlPetscEqualScalar.htmlPetscError.htmlPetscErrorCode.htmlPetscErrorMessage.htmlPetscErrorPrintf.htmlPetscErrorType.htmlPetscFClose.htmlPetscFOpen.htmlPetscFPTrapPop.htmlPetscFPTrapPush.htmlPetscFPrintf.htmlPetscFileMode.htmlPetscFileRetrieve.htmlPetscFinalize.htmlPetscFinalized.htmlPetscFindInt.htmlPetscFindMPIInt.htmlPetscFindReal.htmlPetscFixFilename.htmlPetscFormatConvert.htmlPetscFormatStrip.htmlPetscFortranAddr.htmlPetscFortranCallbackGetSizes.htmlPetscFortranCallbackRegister.htmlPetscFree.htmlPetscFree2.htmlPetscFree3.htmlPetscFree4.htmlPetscFree5.htmlPetscFree6.htmlPetscFree7.htmlPetscFreeArguments.htmlPetscFunctionBegin.htmlPetscFunctionBeginHot.htmlPetscFunctionBeginUser.htmlPetscFunctionList.htmlPetscFunctionListAdd.htmlPetscFunctionListDestroy.htmlPetscFunctionListDuplicate.htmlPetscFunctionListFind.htmlPetscFunctionListGet.htmlPetscFunctionListPrintTypes.htmlPetscFunctionListView.htmlPetscFunctionReturn.htmlPetscGLL.htmlPetscGLLCreate.htmlPetscGLLCreateType.htmlPetscGLLDestroy.htmlPetscGLLElementAdvectionCreate.htmlPetscGLLElementAdvectionDestroy.htmlPetscGLLElementGradientCreate.htmlPetscGLLElementGradientDestroy.htmlPetscGLLElementLaplacianCreate.htmlPetscGLLElementLaplacianDestroy.htmlPetscGLLIntegrate.htmlPetscGLLView.htmlPetscGatherMessageLengths.htmlPetscGatherMessageLengths2.htmlPetscGatherNumberOfMessages.htmlPetscGetArchType.htmlPetscGetArgs.htmlPetscGetArguments.htmlPetscGetCPUTime.htmlPetscGetDate.htmlPetscGetFullPath.htmlPetscGetHomeDirectory.htmlPetscGetHostName.htmlPetscGetPetscDir.htmlPetscGetProgramName.htmlPetscGetRealPath.htmlPetscGetRelativePath.htmlPetscGetTmp.htmlPetscGetUserName.htmlPetscGetVersion.htmlPetscGetVersionNumber.htmlPetscGetWorkingDirectory.htmlPetscGlobusAuthorize.htmlPetscGlobusGetTransfers.htmlPetscGlobusUpload.htmlPetscGoogleDriveAuthorize.htmlPetscGoogleDriveRefresh.htmlPetscGoogleDriveUpload.htmlPetscHTTPRequest.htmlPetscHTTPSConnect.htmlPetscHTTPSRequest.htmlPetscHeaderCreate.htmlPetscHeaderDestroy.htmlPetscHeap.htmlPetscHelpPrintf.htmlPetscIgnoreErrorHandler.htmlPetscInitialize.htmlPetscInitializeFortran.htmlPetscInitializeNoArguments.htmlPetscInitialized.htmlPetscInt.htmlPetscIntMultError.htmlPetscIntMultTruncate.htmlPetscIntSumError.htmlPetscIntSumTruncate.htmlPetscIntView.htmlPetscIsInfReal.htmlPetscIsNanReal.htmlPetscIsNormalReal.htmlPetscLikely.htmlPetscLs.htmlPetscMPIAbortErrorHandler.htmlPetscMPIDataTypeToPetscDataType.htmlPetscMPIDump.htmlPetscMPIInt.htmlPetscMPIIntCast.htmlPetscMalloc.htmlPetscMalloc1.htmlPetscMalloc2.htmlPetscMalloc3.htmlPetscMalloc4.htmlPetscMalloc5.htmlPetscMalloc6.htmlPetscMalloc7.htmlPetscMallocClear.htmlPetscMallocDebug.htmlPetscMallocDump.htmlPetscMallocDumpLog.htmlPetscMallocGetCurrentUsage.htmlPetscMallocGetDebug.htmlPetscMallocGetDumpLog.htmlPetscMallocGetMaximumUsage.htmlPetscMallocGetStack.htmlPetscMallocResetDRAM.htmlPetscMallocSet.htmlPetscMallocSetDRAM.htmlPetscMallocSetDumpLog.htmlPetscMallocSetDumpLogThreshold.htmlPetscMallocValidate.htmlPetscMatlabEngine.htmlPetscMatlabEngineCreate.htmlPetscMatlabEngineDestroy.htmlPetscMatlabEngineEvaluate.htmlPetscMatlabEngineGet.htmlPetscMatlabEngineGetArray.htmlPetscMatlabEngineGetOutput.htmlPetscMatlabEnginePrintOutput.htmlPetscMatlabEnginePut.htmlPetscMatlabEnginePutArray.htmlPetscMax.htmlPetscMemcmp.htmlPetscMemcpy.htmlPetscMemmove.htmlPetscMemoryGetCurrentUsage.htmlPetscMemoryGetMaximumUsage.htmlPetscMemorySetGetMaximumUsage.htmlPetscMemoryView.htmlPetscMemzero.htmlPetscMergeIntArray.htmlPetscMergeIntArrayPair.htmlPetscMergeMPIIntArray.htmlPetscMin.htmlPetscNew.htmlPetscNewLog.htmlPetscObject.htmlPetscObjectAddOptionsHandler.htmlPetscObjectAppendOptionsPrefix.htmlPetscObjectBaseTypeCompare.htmlPetscObjectComm.htmlPetscObjectCompose.htmlPetscObjectComposeFunction.htmlPetscObjectComposedDataGetInt.htmlPetscObjectComposedDataGetIntstar.htmlPetscObjectComposedDataGetReal.htmlPetscObjectComposedDataGetRealstar.htmlPetscObjectComposedDataGetScalar.htmlPetscObjectComposedDataGetScalarstar.htmlPetscObjectComposedDataRegister.htmlPetscObjectComposedDataSetInt.htmlPetscObjectComposedDataSetIntstar.htmlPetscObjectComposedDataSetReal.htmlPetscObjectComposedDataSetRealstar.htmlPetscObjectComposedDataSetScalar.htmlPetscObjectComposedDataSetScalarstar.htmlPetscObjectCopyFortranFunctionPointers.htmlPetscObjectDereference.htmlPetscObjectDestroy.htmlPetscObjectDestroyOptionsHandlers.htmlPetscObjectGetClassId.htmlPetscObjectGetClassName.htmlPetscObjectGetComm.htmlPetscObjectGetFortranCallback.htmlPetscObjectGetId.htmlPetscObjectGetName.htmlPetscObjectGetNewTag.htmlPetscObjectGetOptionsPrefix.htmlPetscObjectGetReference.htmlPetscObjectGetTabLevel.htmlPetscObjectGetType.htmlPetscObjectId.htmlPetscObjectIncrementTabLevel.htmlPetscObjectInheritPrintedOptions.htmlPetscObjectList.htmlPetscObjectListAdd.htmlPetscObjectListDestroy.htmlPetscObjectListDuplicate.htmlPetscObjectListFind.htmlPetscObjectListRemoveReference.htmlPetscObjectListReverseFind.htmlPetscObjectName.htmlPetscObjectOptionsBegin.htmlPetscObjectPrependOptionsPrefix.htmlPetscObjectPrintTypeNamePrefix.htmlPetscObjectProcessOptionsHandlers.htmlPetscObjectQuery.htmlPetscObjectQueryFunction.htmlPetscObjectReference.htmlPetscObjectRegisterDestroy.htmlPetscObjectRegisterDestroyAll.htmlPetscObjectSAWsBlock.htmlPetscObjectSAWsGrantAccess.htmlPetscObjectSAWsSetBlock.htmlPetscObjectSAWsTakeAccess.htmlPetscObjectSetFortranCallback.htmlPetscObjectSetFromOptions.htmlPetscObjectSetName.htmlPetscObjectSetOptions.htmlPetscObjectSetOptionsPrefix.htmlPetscObjectSetPrintedOptions.htmlPetscObjectSetTabLevel.htmlPetscObjectSetType.htmlPetscObjectSetUp.htmlPetscObjectState.htmlPetscObjectStateGet.htmlPetscObjectStateIncrease.htmlPetscObjectStateSet.htmlPetscObjectTypeCompare.htmlPetscObjectTypeCompareAny.htmlPetscObjectView.htmlPetscObjectViewFromOptions.htmlPetscObjectsDump.htmlPetscObjectsGetObject.htmlPetscObjectsListGetGlobalNumbering.htmlPetscObjectsView.htmlPetscOffset.htmlPetscOptionsAllUsed.htmlPetscOptionsBegin.htmlPetscOptionsBool.htmlPetscOptionsBoolArray.htmlPetscOptionsBoolGroup.htmlPetscOptionsBoolGroupBegin.htmlPetscOptionsBoolGroupEnd.htmlPetscOptionsClear.htmlPetscOptionsClearValue.htmlPetscOptionsCreate.htmlPetscOptionsDestroy.htmlPetscOptionsEList.htmlPetscOptionsEnd.htmlPetscOptionsEnum.htmlPetscOptionsEnumArray.htmlPetscOptionsFList.htmlPetscOptionsGetAll.htmlPetscOptionsGetBool.htmlPetscOptionsGetBoolArray.htmlPetscOptionsGetEList.htmlPetscOptionsGetEnum.htmlPetscOptionsGetEnumArray.htmlPetscOptionsGetInt.htmlPetscOptionsGetIntArray.htmlPetscOptionsGetReal.htmlPetscOptionsGetRealArray.htmlPetscOptionsGetScalar.htmlPetscOptionsGetScalarArray.htmlPetscOptionsGetString.htmlPetscOptionsGetStringArray.htmlPetscOptionsGetenv.htmlPetscOptionsHasName.htmlPetscOptionsHead.htmlPetscOptionsInsert.htmlPetscOptionsInsertFile.htmlPetscOptionsInsertString.htmlPetscOptionsInt.htmlPetscOptionsIntArray.htmlPetscOptionsLeft.htmlPetscOptionsLeftGet.htmlPetscOptionsLeftRestore.htmlPetscOptionsMonitorCancel.htmlPetscOptionsMonitorDefault.htmlPetscOptionsMonitorSet.htmlPetscOptionsName.htmlPetscOptionsPrefixPop.htmlPetscOptionsPrefixPush.htmlPetscOptionsReal.htmlPetscOptionsRealArray.htmlPetscOptionsReject.htmlPetscOptionsScalar.htmlPetscOptionsScalarArray.htmlPetscOptionsSetAlias.htmlPetscOptionsSetFromOptions.htmlPetscOptionsSetValue.htmlPetscOptionsString.htmlPetscOptionsStringArray.htmlPetscOptionsTail.htmlPetscOptionsUsed.htmlPetscOptionsValidKey.htmlPetscOptionsView.htmlPetscOptionsViewer.htmlPetscPClose.htmlPetscPOpen.htmlPetscPOpenSetMachine.htmlPetscPopErrorHandler.htmlPetscPopSignalHandler.htmlPetscPopUpSelect.htmlPetscPrefetchBlock.htmlPetscPrintf.htmlPetscProcessTree.htmlPetscPullJSONValue.htmlPetscPushErrorHandler.htmlPetscPushJSONValue.htmlPetscPushSignalHandler.htmlPetscRandom.htmlPetscRandomCreate.htmlPetscRandomDestroy.htmlPetscRandomFinalizePackage.htmlPetscRandomGetInterval.htmlPetscRandomGetSeed.htmlPetscRandomGetType.htmlPetscRandomGetValue.htmlPetscRandomGetValueReal.htmlPetscRandomInitializePackage.htmlPetscRandomRegister.htmlPetscRandomRegisterAll.htmlPetscRandomSeed.htmlPetscRandomSetFromOptions.htmlPetscRandomSetInterval.htmlPetscRandomSetSeed.htmlPetscRandomSetType.htmlPetscRandomType.htmlPetscRandomView.htmlPetscReal.htmlPetscRealIntMultTruncate.htmlPetscRealView.htmlPetscRealloc.htmlPetscRegisterFinalize.htmlPetscRegisterFinalizeAll.htmlPetscReturnErrorHandler.htmlPetscSAWsBlock.htmlPetscSNPrintf.htmlPetscSNPrintfCount.htmlPetscSSEIsEnabled.htmlPetscSSLDestroyContext.htmlPetscSSLInitializeContext.htmlPetscScalar.htmlPetscScalarView.htmlPetscSegBuffer.htmlPetscSegBufferCreate.htmlPetscSegBufferDestroy.htmlPetscSegBufferExtractAlloc.htmlPetscSegBufferExtractInPlace.htmlPetscSegBufferExtractTo.htmlPetscSegBufferGet.htmlPetscSegBufferGetSize.htmlPetscSegBufferUnuse.htmlPetscSequentialPhaseBegin.htmlPetscSequentialPhaseEnd.htmlPetscSetDebugTerminal.htmlPetscSetDebugger.htmlPetscSetDebuggerFromString.htmlPetscSetDefaultDebugger.htmlPetscSetFPTrap.htmlPetscSetHelpVersionFunctions.htmlPetscSharedTmp.htmlPetscSharedWorkingDirectory.htmlPetscSignalHandlerDefault.htmlPetscSleep.htmlPetscSortInt.htmlPetscSortIntWithArray.htmlPetscSortIntWithArrayPair.htmlPetscSortIntWithDataArray.htmlPetscSortIntWithPermutation.htmlPetscSortIntWithScalarArray.htmlPetscSortMPIInt.htmlPetscSortMPIIntWithArray.htmlPetscSortReal.htmlPetscSortRealWithArrayInt.htmlPetscSortRealWithPermutation.htmlPetscSortRemoveDupsInt.htmlPetscSortRemoveDupsMPIInt.htmlPetscSortRemoveDupsReal.htmlPetscSortSplit.htmlPetscSortSplitReal.htmlPetscSortStrWithPermutation.htmlPetscSortedRemoveDupsInt.htmlPetscSplitOwnership.htmlPetscSplitOwnershipBlock.htmlPetscSqr.htmlPetscStackSAWsGrantAccess.htmlPetscStackSAWsTakeAccess.htmlPetscStartMatlab.htmlPetscStopForDebugger.htmlPetscStrArrayDestroy.htmlPetscStrArrayallocpy.htmlPetscStrNArrayDestroy.htmlPetscStrNArrayallocpy.htmlPetscStrToArray.htmlPetscStrToArrayDestroy.htmlPetscStrallocpy.htmlPetscStrbeginswith.htmlPetscStrcasecmp.htmlPetscStrcat.htmlPetscStrchr.htmlPetscStrcmp.htmlPetscStrcpy.htmlPetscStrendswith.htmlPetscStrendswithwhich.htmlPetscStrgrt.htmlPetscStrlen.htmlPetscStrncat.htmlPetscStrncmp.htmlPetscStrncpy.htmlPetscStrrchr.htmlPetscStrreplace.htmlPetscStrrstr.htmlPetscStrstr.htmlPetscStrtolower.htmlPetscStrtoupper.htmlPetscSubcomm.htmlPetscSubcommCreate.htmlPetscSubcommDestroy.htmlPetscSubcommSetFromOptions.htmlPetscSubcommSetNumber.htmlPetscSubcommSetOptionsPrefix.htmlPetscSubcommSetType.htmlPetscSubcommSetTypeGeneral.htmlPetscSubcommView.htmlPetscSynchronizedFGets.htmlPetscSynchronizedFPrintf.htmlPetscSynchronizedFlush.htmlPetscSynchronizedPrintf.htmlPetscTellMyCell.htmlPetscTestDirectory.htmlPetscTestFile.htmlPetscTextBelt.htmlPetscTime.htmlPetscTimeAdd.htmlPetscTimeSubtract.htmlPetscToken.htmlPetscTokenCreate.htmlPetscTokenDestroy.htmlPetscTokenFind.htmlPetscTraceBackErrorHandler.htmlPetscURLShorten.htmlPetscUnlikely.htmlPetscVFPrintf.htmlPetscVSNPrintf.htmlPetscViennaCLFlag.htmlSETERRABORT.htmlSETERRQ.htmlSETERRQ1.htmlSETERRQ2.htmlSETERRQ3.htmlSETERRQ4.htmlSETERRQ5.htmlSETERRQ6.htmlSETERRQ7.htmlSETERRQ8.htmlUsingFortran.htmlindex.htmlTSDMCopyDMTS.htmlDMDATSSetIFunctionLocal.htmlDMDATSSetIJacobianLocal.htmlDMDATSSetRHSFunctionLocal.htmlDMDATSSetRHSJacobianLocal.htmlDMGetDMTS.htmlDMGetDMTSWrite.htmlDMPlexTSComputeBoundary.htmlDMPlexTSComputeIFunctionFEM.htmlDMPlexTSComputeIJacobianFEM.htmlDMPlexTSComputeRHSFunctionFVM.htmlDMPlexTSGetGeometryFVM.htmlDMPlexTSGetGradientDM.htmlDMTSCopy.htmlDMTSGetForcingFunction.htmlDMTSGetI2Function.htmlDMTSGetI2Jacobian.htmlDMTSGetIFunction.htmlDMTSGetIJacobian.htmlDMTSGetRHSFunction.htmlDMTSGetRHSJacobian.htmlDMTSGetSolutionFunction.htmlDMTSSetBoundaryLocal.htmlDMTSSetForcingFunction.htmlDMTSSetI2Function.htmlDMTSSetI2Jacobian.htmlDMTSSetIFunction.htmlDMTSSetIFunctionLocal.htmlDMTSSetIFunctionSerialize.htmlDMTSSetIJacobian.htmlDMTSSetIJacobianLocal.htmlDMTSSetIJacobianSerialize.htmlDMTSSetRHSFunction.htmlDMTSSetRHSFunctionLocal.htmlDMTSSetRHSJacobian.htmlDMTSSetSolutionFunction.htmlSNESTSFormFunction.htmlSNESTSFormJacobian.htmlTS.htmlTS2GetSolution.htmlTS2SetSolution.htmlTSADAPTBASIC.htmlTSADAPTCFL.htmlTSADAPTDSP.htmlTSADAPTGLEE.htmlTSADAPTNONE.htmlTSALPHA.htmlTSALPHA2.htmlTSARKIMEX.htmlTSARKIMEX1BEE.htmlTSARKIMEX2C.htmlTSARKIMEX2D.htmlTSARKIMEX2E.htmlTSARKIMEX3.htmlTSARKIMEX4.htmlTSARKIMEX5.htmlTSARKIMEXA2.htmlTSARKIMEXARS122.htmlTSARKIMEXARS443.htmlTSARKIMEXBPR3.htmlTSARKIMEXFinalizePackage.htmlTSARKIMEXGetType.htmlTSARKIMEXInitializePackage.htmlTSARKIMEXL2.htmlTSARKIMEXPRSSP2.htmlTSARKIMEXRegister.htmlTSARKIMEXRegisterAll.htmlTSARKIMEXRegisterDestroy.htmlTSARKIMEXSetFullyImplicit.htmlTSARKIMEXSetType.htmlTSARKIMEXType.htmlTSAdapt.htmlTSAdaptCandidateAdd.htmlTSAdaptCandidatesClear.htmlTSAdaptCandidatesGet.htmlTSAdaptCheckStage.htmlTSAdaptChoose.htmlTSAdaptCreate.htmlTSAdaptDSPSetFilter.htmlTSAdaptDSPSetPID.htmlTSAdaptFinalizePackage.htmlTSAdaptGetClip.htmlTSAdaptGetSafety.htmlTSAdaptGetStepLimits.htmlTSAdaptGetType.htmlTSAdaptInitializePackage.htmlTSAdaptLoad.htmlTSAdaptRegister.htmlTSAdaptRegisterAll.htmlTSAdaptReset.htmlTSAdaptSetAlwaysAccept.htmlTSAdaptSetCheckStage.htmlTSAdaptSetClip.htmlTSAdaptSetMonitor.htmlTSAdaptSetSafety.htmlTSAdaptSetStepLimits.htmlTSAdaptSetType.htmlTSAdaptType.htmlTSAdjointComputeDRDPFunction.htmlTSAdjointComputeDRDYFunction.htmlTSAdjointComputeRHSJacobian.htmlTSAdjointCostIntegral.htmlTSAdjointMonitor.htmlTSAdjointMonitorCancel.htmlTSAdjointMonitorDefault.htmlTSAdjointMonitorDrawSensi.htmlTSAdjointMonitorSensi.htmlTSAdjointMonitorSet.htmlTSAdjointMonitorSetFromOptions.htmlTSAdjointSetRHSJacobian.htmlTSAdjointSetSteps.htmlTSAdjointSetUp.htmlTSAdjointSolve.htmlTSAdjointStep.htmlTSAlpha2GetParams.htmlTSAlpha2SetParams.htmlTSAlpha2SetRadius.htmlTSAlphaGetParams.htmlTSAlphaSetParams.htmlTSAlphaSetRadius.htmlTSAppendOptionsPrefix.htmlTSBDF.htmlTSBDFGetOrder.htmlTSBDFSetOrder.htmlTSBEULER.htmlTSCN.htmlTSClone.htmlTSComputeCostIntegrand.htmlTSComputeForcingFunction.htmlTSComputeI2Function.htmlTSComputeI2Jacobian.htmlTSComputeIFunction.htmlTSComputeIFunctionLinear.htmlTSComputeIJacobian.htmlTSComputeIJacobianConstant.htmlTSComputeIJacobianDefaultColor.htmlTSComputeLinearStability.htmlTSComputeRHSFunction.htmlTSComputeRHSFunctionLinear.htmlTSComputeRHSJacobian.htmlTSComputeRHSJacobianConstant.htmlTSComputeSolutionFunction.htmlTSConvergedReason.htmlTSCreate.htmlTSDestroy.htmlTSEIMEX.htmlTSEIMEXSetMaxRows.htmlTSEIMEXSetOrdAdapt.htmlTSEIMEXSetRowCol.htmlTSEIMEXType.htmlTSEULER.htmlTSEquationType.htmlTSErrorWeightedENorm.htmlTSErrorWeightedENorm2.htmlTSErrorWeightedENormInfinity.htmlTSErrorWeightedNorm.htmlTSErrorWeightedNorm2.htmlTSErrorWeightedNormInfinity.htmlTSEvaluateStep.htmlTSEvaluateWLTE.htmlTSExactFinalTimeOption.htmlTSFinalizePackage.htmlTSForwardComputeRHSJacobianP.htmlTSForwardCostIntegral.htmlTSForwardGetIntegralGradients.htmlTSForwardGetSensitivities.htmlTSForwardSetIntegralGradients.htmlTSForwardSetRHSJacobianP.htmlTSForwardSetSensitivities.htmlTSForwardSetUp.htmlTSForwardStep.htmlTSFunctionDomainError.htmlTSGLEE.htmlTSGLEE23.htmlTSGLEE24.htmlTSGLEE25i.htmlTSGLEE35.htmlTSGLEEEXRK2A.htmlTSGLEEFinalizePackage.htmlTSGLEEGetType.htmlTSGLEEInitializePackage.htmlTSGLEEMode.htmlTSGLEERK285EX.htmlTSGLEERK32G1.htmlTSGLEERegister.htmlTSGLEERegisterAll.htmlTSGLEERegisterDestroy.htmlTSGLEESetType.htmlTSGLEEType.htmlTSGLLE.htmlTSGLLEAcceptRegister.htmlTSGLLEAcceptType.htmlTSGLLEAdapt.htmlTSGLLEAdaptInitializePackage.htmlTSGLLEAdaptRegister.htmlTSGLLEAdaptRegisterAll.htmlTSGLLEAdaptType.htmlTSGLLEFinalizePackage.htmlTSGLLEGetAdapt.htmlTSGLLEInitializePackage.htmlTSGLLERegister.htmlTSGLLERegisterAll.htmlTSGLLESetAcceptType.htmlTSGLLESetType.htmlTSGLLEType.htmlTSGetAdapt.htmlTSGetApplicationContext.htmlTSGetAuxSolution.htmlTSGetCFLTime.htmlTSGetConvergedReason.htmlTSGetCostGradients.htmlTSGetCostIntegral.htmlTSGetDM.htmlTSGetDuration.htmlTSGetEquationType.htmlTSGetExactFinalTime.htmlTSGetI2Function.htmlTSGetI2Jacobian.htmlTSGetIFunction.htmlTSGetIJacobian.htmlTSGetKSP.htmlTSGetKSPIterations.htmlTSGetMaxSteps.htmlTSGetMaxTime.htmlTSGetOptionsPrefix.htmlTSGetPrevTime.htmlTSGetProblemType.htmlTSGetRHSFunction.htmlTSGetRHSJacobian.htmlTSGetSNES.htmlTSGetSNESFailures.htmlTSGetSNESIterations.htmlTSGetSolution.htmlTSGetSolutionComponents.htmlTSGetSolveTime.htmlTSGetStages.htmlTSGetStepNumber.htmlTSGetStepRejections.htmlTSGetTime.htmlTSGetTimeError.htmlTSGetTimeStep.htmlTSGetTimeStepNumber.htmlTSGetTolerances.htmlTSGetTotalSteps.htmlTSGetTrajectory.htmlTSGetType.htmlTSInitializePackage.htmlTSInterpolate.htmlTSLoad.htmlTSMIMEX.htmlTSMonitor.htmlTSMonitorCancel.htmlTSMonitorDefault.htmlTSMonitorDrawCtxCreate.htmlTSMonitorDrawCtxDestroy.htmlTSMonitorDrawError.htmlTSMonitorDrawSolution.htmlTSMonitorDrawSolutionPhase.htmlTSMonitorEnvelope.htmlTSMonitorEnvelopeCtxCreate.htmlTSMonitorEnvelopeCtxDestroy.htmlTSMonitorEnvelopeGetBounds.htmlTSMonitorLGCtxCreate.htmlTSMonitorLGCtxDestroy.htmlTSMonitorLGCtxSetDisplayVariables.htmlTSMonitorLGCtxSetTransform.htmlTSMonitorLGCtxSetVariableNames.htmlTSMonitorLGError.htmlTSMonitorLGGetVariableNames.htmlTSMonitorLGSetDisplayVariables.htmlTSMonitorLGSetTransform.htmlTSMonitorLGSetVariableNames.htmlTSMonitorLGSolution.htmlTSMonitorSPEigCtxCreate.htmlTSMonitorSPEigCtxDestroy.htmlTSMonitorSet.htmlTSMonitorSetFromOptions.htmlTSMonitorSolution.htmlTSMonitorSolutionVTK.htmlTSMonitorSolutionVTKDestroy.htmlTSPSEUDO.htmlTSPostEvaluate.htmlTSPostStage.htmlTSPostStep.htmlTSPreStage.htmlTSPreStep.htmlTSProblemType.htmlTSPseudoComputeTimeStep.htmlTSPseudoIncrementDtFromInitialDt.htmlTSPseudoSetMaxTimeStep.htmlTSPseudoSetTimeStep.htmlTSPseudoSetTimeStepIncrement.htmlTSPseudoSetVerifyTimeStep.htmlTSPseudoTimeStepDefault.htmlTSPseudoVerifyTimeStep.htmlTSPseudoVerifyTimeStepDefault.htmlTSPythonSetType.htmlTSRHSJacobianSetReuse.htmlTSRK.htmlTSRK1FE.htmlTSRK2A.htmlTSRK3.htmlTSRK3BS.htmlTSRK4.htmlTSRK5BS.htmlTSRK5DP.htmlTSRK5F.htmlTSRKFinalizePackage.htmlTSRKGetType.htmlTSRKInitializePackage.htmlTSRKRegister.htmlTSRKRegisterAll.htmlTSRKRegisterDestroy.htmlTSRKSetType.htmlTSRKType.htmlTSROSW.htmlTSROSW2M.htmlTSROSW2P.htmlTSROSW4L.htmlTSROSWASSP3P3S1C.htmlTSROSWGRK4T.htmlTSROSWLASSP3P4S2C.htmlTSROSWLLSSP3P4S2C.htmlTSROSWRA34PW2.htmlTSROSWRA3PW.htmlTSROSWRODAS3.htmlTSROSWSANDU3.htmlTSROSWSHAMP4.htmlTSROSWTHETA1.htmlTSROSWTHETA2.htmlTSROSWVELDD4.htmlTSRegister.htmlTSRegisterAll.htmlTSReset.htmlTSRestartStep.htmlTSRollBack.htmlTSRosWFinalizePackage.htmlTSRosWGetType.htmlTSRosWInitializePackage.htmlTSRosWRegister.htmlTSRosWRegisterAll.htmlTSRosWRegisterDestroy.htmlTSRosWRegisterRos4.htmlTSRosWSetRecomputeJacobian.htmlTSRosWSetType.htmlTSRosWType.htmlTSSSP.htmlTSSSPFinalizePackage.htmlTSSSPGetNumStages.htmlTSSSPGetType.htmlTSSSPInitializePackage.htmlTSSSPRKS104.htmlTSSSPRKS2.htmlTSSSPRKS3.htmlTSSSPSetNumStages.htmlTSSSPSetType.htmlTSSSPType.htmlTSSUNDIALS.htmlTSSetApplicationContext.htmlTSSetCFLTimeLocal.htmlTSSetConvergedReason.htmlTSSetCostGradients.htmlTSSetCostIntegrand.htmlTSSetDM.htmlTSSetDuration.htmlTSSetEquationType.htmlTSSetErrorIfStepFails.htmlTSSetEventHandler.htmlTSSetEventTolerances.htmlTSSetExactFinalTime.htmlTSSetForcingFunction.htmlTSSetFromOptions.htmlTSSetFunctionDomainError.htmlTSSetI2Function.htmlTSSetI2Jacobian.htmlTSSetIFunction.htmlTSSetIJacobian.htmlTSSetInitialTimeStep.htmlTSSetMaxSNESFailures.htmlTSSetMaxStepRejections.htmlTSSetMaxSteps.htmlTSSetMaxTime.htmlTSSetOptionsPrefix.htmlTSSetPostEvaluate.htmlTSSetPostStage.htmlTSSetPostStep.htmlTSSetPreStage.htmlTSSetPreStep.htmlTSSetProblemType.htmlTSSetRHSFunction.htmlTSSetRHSJacobian.htmlTSSetSNES.htmlTSSetSaveTrajectory.htmlTSSetSolution.htmlTSSetSolutionFunction.htmlTSSetStepNumber.htmlTSSetTime.htmlTSSetTimeError.htmlTSSetTimeStep.htmlTSSetTolerances.htmlTSSetType.htmlTSSetUp.htmlTSSolve.htmlTSStep.htmlTSSundialsGetIterations.htmlTSSundialsGetPC.htmlTSSundialsMonitorInternalSteps.htmlTSSundialsSetGramSchmidtType.htmlTSSundialsSetLinearTolerance.htmlTSSundialsSetMaxTimeStep.htmlTSSundialsSetMaxl.htmlTSSundialsSetMinTimeStep.htmlTSSundialsSetTolerance.htmlTSSundialsSetType.htmlTSTHETA.htmlTSTRAJECTORYBASIC.htmlTSTRAJECTORYMEMORY.htmlTSTRAJECTORYSINGLEFILE.htmlTSTRAJECTORYVISUALIZATION.htmlTSThetaGetEndpoint.htmlTSThetaGetTheta.htmlTSThetaSetEndpoint.htmlTSThetaSetTheta.htmlTSTrajectory.htmlTSTrajectoryCreate.htmlTSTrajectoryDestroy.htmlTSTrajectoryRegister.htmlTSTrajectoryRegisterAll.htmlTSTrajectorySetFromOptions.htmlTSTrajectorySetMonitor.htmlTSTrajectorySetType.htmlTSTrajectorySetUp.htmlTSTrajectorySetVariableNames.htmlTSTrajectoryView.htmlTSTrjactorySetTransform.htmlTSType.htmlTSVISetVariableBounds.htmlTSView.htmlTS_CONVERGED_EVENT.htmlTS_CONVERGED_ITERATING.htmlTS_CONVERGED_ITS.htmlTS_CONVERGED_PSEUDO_FATOL.htmlTS_CONVERGED_PSEUDO_FRTOL.htmlTS_CONVERGED_TIME.htmlTS_CONVERGED_USER.htmlTS_DIVERGED_NONLINEAR_SOLVE.htmlTS_DIVERGED_STEP_REJECTED.htmlindex.htmlTaoMatCreateADA.htmlMatCreateLMVM.htmlMatCreateSubMatrixFree.htmlMatDFischer.htmlMatDSFischer.htmlTAOASFLS.htmlTAOASILS.htmlTAOBLMVM.htmlTAOBMRM.htmlTAOBQPIP.htmlTAOCG.htmlTAOGPCG.htmlTAOIPM.htmlTAOLCL.htmlTAOLMVM.htmlTAONLS.htmlTAONM.htmlTAONTR.htmlTAOOWLQN.htmlTAOPOUNDERS.htmlTAOSSFLS.htmlTAOSSILS.htmlTAOTRON.htmlTao.htmlTaoAddLineSearchCounts.htmlTaoAppendOptionsPrefix.htmlTaoCancelMonitors.htmlTaoComputeConstraints.htmlTaoComputeDualVariables.htmlTaoComputeEqualityConstraints.htmlTaoComputeGradient.htmlTaoComputeHessian.htmlTaoComputeInequalityConstraints.htmlTaoComputeJacobian.htmlTaoComputeJacobianDesign.htmlTaoComputeJacobianEquality.htmlTaoComputeJacobianInequality.htmlTaoComputeJacobianState.htmlTaoComputeObjective.htmlTaoComputeObjectiveAndGradient.htmlTaoComputeSeparableObjective.htmlTaoComputeVariableBounds.htmlTaoConvergedReason.htmlTaoCreate.htmlTaoDefaultCMonitor.htmlTaoDefaultComputeGradient.htmlTaoDefaultComputeHessian.htmlTaoDefaultComputeHessianColor.htmlTaoDefaultConvergenceTest.htmlTaoDefaultMonitor.htmlTaoDefaultSMonitor.htmlTaoDestroy.htmlTaoDrawGradientMonitor.htmlTaoDrawSolutionMonitor.htmlTaoDrawStepMonitor.htmlTaoFinalizePackage.htmlTaoGetApplicationContext.htmlTaoGetConstraintTolerances.htmlTaoGetConvergedReason.htmlTaoGetConvergenceHistory.htmlTaoGetCurrentFunctionEvaluations.htmlTaoGetCurrentTrustRegionRadius.htmlTaoGetDualVariables.htmlTaoGetFunctionLowerBound.htmlTaoGetGradientNorm.htmlTaoGetGradientVector.htmlTaoGetInitialTrustRegionRadius.htmlTaoGetIterationNumber.htmlTaoGetKSP.htmlTaoGetLineSearch.htmlTaoGetLinearSolveIterations.htmlTaoGetMaximumFunctionEvaluations.htmlTaoGetMaximumIterations.htmlTaoGetOptionsPrefix.htmlTaoGetSolutionStatus.htmlTaoGetSolutionVector.htmlTaoGetTolerances.htmlTaoGetTotalIterationNumber.htmlTaoGetType.htmlTaoGradientMonitor.htmlTaoInitializePackage.htmlTaoIsGradientDefined.htmlTaoIsObjectiveAndGradientDefined.htmlTaoIsObjectiveDefined.htmlTaoMonitor.htmlTaoMonitorDrawCtxCreate.htmlTaoMonitorDrawCtxDestroy.htmlTaoRegister.htmlTaoRegisterAll.htmlTaoRegisterDestroy.htmlTaoResetStatistics.htmlTaoSeparableObjectiveMonitor.htmlTaoSetApplicationContext.htmlTaoSetConstraintTolerances.htmlTaoSetConstraintsRoutine.htmlTaoSetConvergedReason.htmlTaoSetConvergenceHistory.htmlTaoSetConvergenceTest.htmlTaoSetEqualityConstraintsRoutine.htmlTaoSetFromOptions.htmlTaoSetFunctionLowerBound.htmlTaoSetGradientNorm.htmlTaoSetGradientRoutine.htmlTaoSetHessianRoutine.htmlTaoSetInequalityBounds.htmlTaoSetInequalityConstraintsRoutine.htmlTaoSetInitialTrustRegionRadius.htmlTaoSetInitialVector.htmlTaoSetIterationNumber.htmlTaoSetJacobianDesignRoutine.htmlTaoSetJacobianEqualityRoutine.htmlTaoSetJacobianInequalityRoutine.htmlTaoSetJacobianRoutine.htmlTaoSetJacobianStateRoutine.htmlTaoSetMaximumFunctionEvaluations.htmlTaoSetMaximumIterations.htmlTaoSetMonitor.htmlTaoSetObjectiveAndGradientRoutine.htmlTaoSetObjectiveRoutine.htmlTaoSetOptionsPrefix.htmlTaoSetSeparableObjectiveRoutine.htmlTaoSetSeparableObjectiveWeights.htmlTaoSetStateDesignIS.htmlTaoSetTolerances.htmlTaoSetTotalIterationNumber.htmlTaoSetType.htmlTaoSetUp.htmlTaoSetVariableBounds.htmlTaoSetVariableBoundsRoutine.htmlTaoSolutionMonitor.htmlTaoSolve.htmlTaoStepDirectionMonitor.htmlTaoSubsetType.htmlTaoType.htmlTaoView.htmlVecFischer.htmlVecSFischer.htmlindex.htmlTaoLineSearchTaoCreateUnitLineSearch.htmlTaoLineSearchAppendOptionsPrefix.htmlTaoLineSearchApply.htmlTaoLineSearchComputeGradient.htmlTaoLineSearchComputeObjective.htmlTaoLineSearchComputeObjectiveAndGTS.htmlTaoLineSearchComputeObjectiveAndGradient.htmlTaoLineSearchCreate.htmlTaoLineSearchDestroy.htmlTaoLineSearchFinalizePackage.htmlTaoLineSearchGetFullStepObjective.htmlTaoLineSearchGetNumberFunctionEvaluations.htmlTaoLineSearchGetOptionsPrefix.htmlTaoLineSearchGetSolution.htmlTaoLineSearchGetStartingVector.htmlTaoLineSearchGetStepDirection.htmlTaoLineSearchGetStepLength.htmlTaoLineSearchGetType.htmlTaoLineSearchInitializePackage.htmlTaoLineSearchIsUsingTaoRoutines.htmlTaoLineSearchRegister.htmlTaoLineSearchRegisterDestroy.htmlTaoLineSearchReset.htmlTaoLineSearchSetFromOptions.htmlTaoLineSearchSetGradientRoutine.htmlTaoLineSearchSetInitialStepLength.htmlTaoLineSearchSetObjectiveAndGTSRoutine.htmlTaoLineSearchSetObjectiveAndGradientRoutine.htmlTaoLineSearchSetObjectiveRoutine.htmlTaoLineSearchSetOptionsPrefix.htmlTaoLineSearchSetType.htmlTaoLineSearchSetUp.htmlTaoLineSearchSetVariableBounds.htmlTaoLineSearchUseTaoRoutines.htmlTaoLineSearchView.htmlindex.htmlVecISComplementVec.htmlISFinalizePackage.htmlISInitializePackage.htmlNORM_1.htmlNORM_1_AND_2.htmlNORM_2.htmlNORM_FROBENIUS.htmlNORM_INFINITY.htmlNORM_MAX.htmlNormType.htmlPetscCommSplitReductionBegin.htmlPetscSFCreateFromZero.htmlPetscSectionVecNorm.htmlSCATTER_FORWARD.htmlSCATTER_FORWARD_LOCAL.htmlSCATTER_REVERSE.htmlSCATTER_REVERSE_LOCAL.htmlScatterMode.htmlVECMPI.htmlVECMPICUDA.htmlVECMPICUSP.htmlVECMPIVIENNACL.htmlVECNEST.htmlVECSEQ.htmlVECSEQCUDA.htmlVECSEQCUSP.htmlVECSEQVIENNACL.htmlVECSTANDARD.htmlVec.htmlVecAXPBY.htmlVecAXPBYPCZ.htmlVecAXPY.htmlVecAYPX.htmlVecAbs.htmlVecAppendOptionsPrefix.htmlVecAssemblyBegin.htmlVecAssemblyEnd.htmlVecBoundGradientProjection.htmlVecCUDAGetArrayRead.htmlVecCUDAGetArrayReadWrite.htmlVecCUDAGetArrayWrite.htmlVecCUDAPlaceArray.htmlVecCUDAReplaceArray.htmlVecCUDAResetArray.htmlVecCUDARestoreArrayRead.htmlVecCUDARestoreArrayReadWrite.htmlVecCUDARestoreArrayWrite.htmlVecCUSPGetArrayRead.htmlVecCUSPGetArrayReadWrite.htmlVecCUSPGetArrayWrite.htmlVecCUSPGetCUDAArrayRead.htmlVecCUSPGetCUDAArrayReadWrite.htmlVecCUSPGetCUDAArrayWrite.htmlVecCUSPPlaceArray.htmlVecCUSPReplaceArray.htmlVecCUSPResetArray.htmlVecCUSPRestoreArrayRead.htmlVecCUSPRestoreArrayReadWrite.htmlVecCUSPRestoreArrayWrite.htmlVecCUSPRestoreCUDAArrayRead.htmlVecCUSPRestoreCUDAArrayReadWrite.htmlVecCUSPRestoreCUDAArrayWrite.htmlVecChop.htmlVecConjugate.htmlVecCopy.htmlVecCreate.htmlVecCreateGhost.htmlVecCreateGhostBlock.htmlVecCreateGhostBlockWithArray.htmlVecCreateGhostWithArray.htmlVecCreateMPI.htmlVecCreateMPICUDAWithArray.htmlVecCreateMPIWithArray.htmlVecCreateNest.htmlVecCreateSeq.htmlVecCreateSeqCUDA.htmlVecCreateSeqCUDAWithArray.htmlVecCreateSeqCUSP.htmlVecCreateSeqViennaCL.htmlVecCreateSeqWithArray.htmlVecCreateShared.htmlVecDestroy.htmlVecDestroyVecs.htmlVecDestroyVecsF90.htmlVecDot.htmlVecDotBegin.htmlVecDotEnd.htmlVecDotNorm2.htmlVecDotRealPart.htmlVecDuplicate.htmlVecDuplicateVecs.htmlVecDuplicateVecsF90.htmlVecEqual.htmlVecExp.htmlVecFinalizePackage.htmlVecGetArray.htmlVecGetArray1d.htmlVecGetArray1dRead.htmlVecGetArray2d.htmlVecGetArray2dRead.htmlVecGetArray3d.htmlVecGetArray3dRead.htmlVecGetArray4d.htmlVecGetArray4dRead.htmlVecGetArrayF90.htmlVecGetArrayPair.htmlVecGetArrayRead.htmlVecGetArrayReadF90.htmlVecGetArrays.htmlVecGetBlockSize.htmlVecGetLayout.htmlVecGetLocalSize.htmlVecGetLocalToGlobalMapping.htmlVecGetLocalVector.htmlVecGetLocalVectorRead.htmlVecGetOptionsPrefix.htmlVecGetOwnershipRange.htmlVecGetOwnershipRanges.htmlVecGetSize.htmlVecGetSubVector.htmlVecGetType.htmlVecGetValues.htmlVecGetValuesSection.htmlVecGhostGetLocalForm.htmlVecGhostIsLocalForm.htmlVecGhostRestoreLocalForm.htmlVecGhostUpdateBegin.htmlVecGhostUpdateEnd.htmlVecISAXPY.htmlVecISSet.htmlVecInitializePackage.htmlVecLoad.htmlVecLockGet.htmlVecLockPop.htmlVecLockPush.htmlVecLog.htmlVecMAXPY.htmlVecMDot.htmlVecMDotBegin.htmlVecMDotEnd.htmlVecMPISetGhost.htmlVecMTDot.htmlVecMTDotBegin.htmlVecMTDotEnd.htmlVecMax.htmlVecMaxPointwiseDivide.htmlVecMedian.htmlVecMin.htmlVecNestGetSize.htmlVecNestGetSubVec.htmlVecNestGetSubVecs.htmlVecNestSetSubVec.htmlVecNestSetSubVecs.htmlVecNorm.htmlVecNormAvailable.htmlVecNormBegin.htmlVecNormEnd.htmlVecNormalize.htmlVecPermute.htmlVecPlaceArray.htmlVecPointwiseDivide.htmlVecPointwiseMax.htmlVecPointwiseMaxAbs.htmlVecPointwiseMin.htmlVecPointwiseMult.htmlVecPow.htmlVecReciprocal.htmlVecRegister.htmlVecRegisterAll.htmlVecReplaceArray.htmlVecResetArray.htmlVecRestoreArray.htmlVecRestoreArray1d.htmlVecRestoreArray1dRead.htmlVecRestoreArray2d.htmlVecRestoreArray2dRead.htmlVecRestoreArray3d.htmlVecRestoreArray3dRead.htmlVecRestoreArray4d.htmlVecRestoreArray4dRead.htmlVecRestoreArrayF90.htmlVecRestoreArrayPair.htmlVecRestoreArrayRead.htmlVecRestoreArrayReadF90.htmlVecRestoreArrays.htmlVecRestoreLocalVector.htmlVecRestoreLocalVectorRead.htmlVecRestoreSubVector.htmlVecScale.htmlVecScatter.htmlVecScatterBegin.htmlVecScatterCopy.htmlVecScatterCreate.htmlVecScatterCreateLocal.htmlVecScatterCreateToAll.htmlVecScatterCreateToZero.htmlVecScatterDestroy.htmlVecScatterEnd.htmlVecScatterFinalizeForGPU.htmlVecScatterGetMerged.htmlVecScatterInitializeForGPU.htmlVecScatterView.htmlVecSet.htmlVecSetBlockSize.htmlVecSetFromOptions.htmlVecSetLayout.htmlVecSetLocalToGlobalMapping.htmlVecSetOperation.htmlVecSetOption.htmlVecSetOptionsPrefix.htmlVecSetRandom.htmlVecSetSizes.htmlVecSetType.htmlVecSetUp.htmlVecSetValue.htmlVecSetValueLocal.htmlVecSetValues.htmlVecSetValuesBlocked.htmlVecSetValuesBlockedLocal.htmlVecSetValuesLocal.htmlVecSetValuesSection.htmlVecShift.htmlVecSqrtAbs.htmlVecStashGetInfo.htmlVecStashSetInitialSize.htmlVecStashView.htmlVecStepBoundInfo.htmlVecStepMax.htmlVecStrideGather.htmlVecStrideGatherAll.htmlVecStrideMax.htmlVecStrideMaxAll.htmlVecStrideMin.htmlVecStrideMinAll.htmlVecStrideNorm.htmlVecStrideNormAll.htmlVecStrideScale.htmlVecStrideScaleAll.htmlVecStrideScatter.htmlVecStrideScatterAll.htmlVecStrideSet.htmlVecStrideSubSetGather.htmlVecStrideSubSetScatter.htmlVecSum.htmlVecSwap.htmlVecTDot.htmlVecTDotBegin.htmlVecTDotEnd.htmlVecTagger.htmlVecTaggerAbsoluteGetBox.htmlVecTaggerAbsoluteSetBox.htmlVecTaggerAndGetSubs.htmlVecTaggerAndSetSubs.htmlVecTaggerBox.htmlVecTaggerCDFGetBox.htmlVecTaggerCDFGetMethod.htmlVecTaggerCDFIterativeGetTolerances.htmlVecTaggerCDFIterativeSetTolerances.htmlVecTaggerCDFMethod.htmlVecTaggerCDFSetBox.htmlVecTaggerCDFSetMethod.htmlVecTaggerComputeBoxes.htmlVecTaggerComputeIS.htmlVecTaggerCreate.htmlVecTaggerDestroy.htmlVecTaggerFinalizePackage.htmlVecTaggerGetBlockSize.htmlVecTaggerGetInvert.htmlVecTaggerGetType.htmlVecTaggerInitializePackage.htmlVecTaggerOrGetSubs.htmlVecTaggerOrSetSubs.htmlVecTaggerRegister.htmlVecTaggerRegisterAll.htmlVecTaggerRelativeGetBox.htmlVecTaggerRelativeSetBox.htmlVecTaggerSetBlockSize.htmlVecTaggerSetFromOptions.htmlVecTaggerSetInvert.htmlVecTaggerSetType.htmlVecTaggerSetUp.htmlVecTaggerType.htmlVecTaggerView.htmlVecType.htmlVecUniqueEntries.htmlVecView.htmlVecWAXPY.htmlVecWhichBetween.htmlVecWhichBetweenOrEqual.htmlVecWhichEqual.htmlVecWhichGreaterThan.htmlVecWhichLessThan.htmlVecZeroEntries.htmlVecs.htmlindex.htmlViewerPETSCVIEWERASCII.htmlPETSCVIEWERBINARY.htmlPETSCVIEWERDRAW.htmlPETSCVIEWERHDF5.htmlPETSCVIEWERMATLAB.htmlPETSCVIEWERSOCKET.htmlPETSCVIEWERSTRING.htmlPETSCVIEWERVTK.htmlPETSC_VIEWER_BINARY_.htmlPETSC_VIEWER_BINARY_SELF.htmlPETSC_VIEWER_BINARY_WORLD.htmlPETSC_VIEWER_DRAW_.htmlPETSC_VIEWER_DRAW_SELF.htmlPETSC_VIEWER_DRAW_WORLD.htmlPETSC_VIEWER_HDF5_.htmlPETSC_VIEWER_MATLAB_.htmlPETSC_VIEWER_MATLAB_SELF.htmlPETSC_VIEWER_MATLAB_WORLD.htmlPETSC_VIEWER_SAWS_.htmlPETSC_VIEWER_SOCKET_.htmlPETSC_VIEWER_SOCKET_SELF.htmlPETSC_VIEWER_SOCKET_WORLD.htmlPETSC_VIEWER_STDERR_.htmlPETSC_VIEWER_STDOUT_.htmlPETSC_VIEWER_STDOUT_SELF.htmlPETSC_VIEWER_STDOUT_WORLD.htmlPetscDataTypeToHDF5DataType.htmlPetscHDF5DataTypeToPetscDataType.htmlPetscObjectViewSAWs.htmlPetscOptionsGetViewer.htmlPetscOptionsGetViewerOff.htmlPetscOptionsHelpPrintedCheck.htmlPetscOptionsHelpPrintedCreate.htmlPetscOptionsPopGetViewerOff.htmlPetscOptionsPushGetViewerOff.htmlPetscSocketEstablish.htmlPetscSocketListen.htmlPetscSocketOpen.htmlPetscSysFinalizePackage.htmlPetscSysInitializePackage.htmlPetscViewer.htmlPetscViewerASCIIAddTab.htmlPetscViewerASCIIGetPointer.htmlPetscViewerASCIIGetStderr.htmlPetscViewerASCIIGetStdout.htmlPetscViewerASCIIGetTab.htmlPetscViewerASCIIOpen.htmlPetscViewerASCIIOpenWithFILE.htmlPetscViewerASCIIPopSynchronized.htmlPetscViewerASCIIPopTab.htmlPetscViewerASCIIPrintf.htmlPetscViewerASCIIPushSynchronized.htmlPetscViewerASCIIPushTab.htmlPetscViewerASCIIRead.htmlPetscViewerASCIISetTab.htmlPetscViewerASCIISubtractTab.htmlPetscViewerASCIISynchronizedPrintf.htmlPetscViewerASCIIUseTabs.htmlPetscViewerAndFormatCreate.htmlPetscViewerAndFormatDestroy.htmlPetscViewerAppendOptionsPrefix.htmlPetscViewerBinaryAddMPIIOOffset.htmlPetscViewerBinaryGetDescriptor.htmlPetscViewerBinaryGetFlowControl.htmlPetscViewerBinaryGetInfoPointer.htmlPetscViewerBinaryGetMPIIODescriptor.htmlPetscViewerBinaryGetMPIIOOffset.htmlPetscViewerBinaryGetSkipHeader.htmlPetscViewerBinaryGetSkipInfo.htmlPetscViewerBinaryGetSkipOptions.htmlPetscViewerBinaryGetUseMPIIO.htmlPetscViewerBinaryOpen.htmlPetscViewerBinaryRead.htmlPetscViewerBinaryReadStringArray.htmlPetscViewerBinarySetFlowControl.htmlPetscViewerBinarySetSkipHeader.htmlPetscViewerBinarySetSkipInfo.htmlPetscViewerBinarySetSkipOptions.htmlPetscViewerBinarySetUseMPIIO.htmlPetscViewerBinarySkipInfo.htmlPetscViewerBinaryWrite.htmlPetscViewerBinaryWriteStringArray.htmlPetscViewerCreate.htmlPetscViewerDestroy.htmlPetscViewerDrawBaseAdd.htmlPetscViewerDrawBaseSet.htmlPetscViewerDrawClear.htmlPetscViewerDrawGetBounds.htmlPetscViewerDrawGetDraw.htmlPetscViewerDrawGetDrawAxis.htmlPetscViewerDrawGetDrawLG.htmlPetscViewerDrawGetHold.htmlPetscViewerDrawGetPause.htmlPetscViewerDrawOpen.htmlPetscViewerDrawSetBounds.htmlPetscViewerDrawSetHold.htmlPetscViewerDrawSetPause.htmlPetscViewerFileGetMode.htmlPetscViewerFileGetName.htmlPetscViewerFileSetMode.htmlPetscViewerFileSetName.htmlPetscViewerFinalizePackage.htmlPetscViewerFlush.htmlPetscViewerFormat.htmlPetscViewerGLVisSetPrecision.htmlPetscViewerGLVisSetSnapId.htmlPetscViewerGLVisType.htmlPetscViewerGetOptionsPrefix.htmlPetscViewerGetSubViewer.htmlPetscViewerGetType.htmlPetscViewerHDF5GetBaseDimension2.htmlPetscViewerHDF5GetFileId.htmlPetscViewerHDF5GetGroup.htmlPetscViewerHDF5GetSPOutput.htmlPetscViewerHDF5GetTimestep.htmlPetscViewerHDF5HasAttribute.htmlPetscViewerHDF5IncrementTimestep.htmlPetscViewerHDF5Open.htmlPetscViewerHDF5PopGroup.htmlPetscViewerHDF5PushGroup.htmlPetscViewerHDF5ReadAttribute.htmlPetscViewerHDF5SetBaseDimension2.htmlPetscViewerHDF5SetSPOutput.htmlPetscViewerHDF5SetTimestep.htmlPetscViewerHDF5WriteAttribute.htmlPetscViewerInitializePackage.htmlPetscViewerMathematicaClearName.htmlPetscViewerMathematicaFinalizePackage.htmlPetscViewerMathematicaGetLink.htmlPetscViewerMathematicaGetName.htmlPetscViewerMathematicaGetVector.htmlPetscViewerMathematicaInitializePackage.htmlPetscViewerMathematicaOpen.htmlPetscViewerMathematicaPutVector.htmlPetscViewerMathematicaSetName.htmlPetscViewerMathematicaSkipPackets.htmlPetscViewerMatlabGetArray.htmlPetscViewerMatlabOpen.htmlPetscViewerMatlabPutArray.htmlPetscViewerPopFormat.htmlPetscViewerPushFormat.htmlPetscViewerRead.htmlPetscViewerRegister.htmlPetscViewerRegisterAll.htmlPetscViewerRestoreSubViewer.htmlPetscViewerSAWsOpen.htmlPetscViewerSetFormat.htmlPetscViewerSetFromOptions.htmlPetscViewerSetOptionsPrefix.htmlPetscViewerSetType.htmlPetscViewerSetUp.htmlPetscViewerSocketOpen.htmlPetscViewerSocketSetConnection.htmlPetscViewerStringOpen.htmlPetscViewerStringSPrintf.htmlPetscViewerStringSetString.htmlPetscViewerType.htmlPetscViewerVTKAddField.htmlPetscViewerVTKFWrite.htmlPetscViewerVTKOpen.htmlPetscViewerVTKWriteFunction.htmlPetscViewerVUFlushDeferred.htmlPetscViewerVUGetPointer.htmlPetscViewerVUGetVecSeen.htmlPetscViewerVUPrintDeferred.htmlPetscViewerVUSetMode.htmlPetscViewerVUSetVecSeen.htmlPetscViewerView.htmlPetscViewers.htmlPetscViewersCreate.htmlPetscViewersDestroy.htmlPetscViewersGetViewer.htmlindex.htmlconceptsadjoints.htmlao.htmlbags.htmlcomplex_numbers.htmldm.htmldmda.htmldmnetwork.htmlfortran90.htmlglobal_to_local_mappings.htmlhdf5.htmlhelmholtz_equation.htmlindex_sets.htmlintroduction_to_petsc.htmlis.htmlis_coloirng_types.htmlksp.htmllaplacian,_2d.htmllocal_to_global_mappings.htmllow_rank_correction.htmlmat.htmlmathematical_functions.htmlmatnest.htmlmatrices.htmlmulticomponent.htmlmultigrid.htmlnormal_equations.htmloptimization.htmloptimization_using_adjoint_sensitivities.htmloptimization_using_adjoint_sensitivity_analysis.htmlpartitioning.htmlpc.htmlperiodic_boundary_conditions.htmlpetsc.htmlpetsc_snes_solver.htmlpetsc_ts_solver.htmlpetsclog.htmlprintf.htmlprinting.htmlprocess.htmlprofiling.htmlpseudo-timestepping.htmlshared_memory.htmlsnes.htmlstride.htmltao.htmlts.htmlvecscatter.htmlvectors.htmlviewers.htmlhelp.htmlhtmlmapsingleindex.htmlnonlinearsolvertable.htmltao_manual.pdf/usr/share/doc/packages//usr/share/doc/packages/petsc-doc//usr/share/doc/packages/petsc-doc/changes//usr/share/doc/packages/petsc-doc/manualpages//usr/share/doc/packages/petsc-doc/manualpages/AO//usr/share/doc/packages/petsc-doc/manualpages/Characteristic//usr/share/doc/packages/petsc-doc/manualpages/DM//usr/share/doc/packages/petsc-doc/manualpages/DMDA//usr/share/doc/packages/petsc-doc/manualpages/DMFOREST//usr/share/doc/packages/petsc-doc/manualpages/DMLABEL//usr/share/doc/packages/petsc-doc/manualpages/DMNetwork//usr/share/doc/packages/petsc-doc/manualpages/DMPATCH//usr/share/doc/packages/petsc-doc/manualpages/DMPLEX//usr/share/doc/packages/petsc-doc/manualpages/DMSWARM//usr/share/doc/packages/petsc-doc/manualpages/DT//usr/share/doc/packages/petsc-doc/manualpages/Draw//usr/share/doc/packages/petsc-doc/manualpages/IS//usr/share/doc/packages/petsc-doc/manualpages/KSP//usr/share/doc/packages/petsc-doc/manualpages/Mat//usr/share/doc/packages/petsc-doc/manualpages/MatFD//usr/share/doc/packages/petsc-doc/manualpages/MatOrderings//usr/share/doc/packages/petsc-doc/manualpages/PC//usr/share/doc/packages/petsc-doc/manualpages/PCMG//usr/share/doc/packages/petsc-doc/manualpages/PF//usr/share/doc/packages/petsc-doc/manualpages/PetscSF//usr/share/doc/packages/petsc-doc/manualpages/Profiling//usr/share/doc/packages/petsc-doc/manualpages/SNES//usr/share/doc/packages/petsc-doc/manualpages/SNESFAS//usr/share/doc/packages/petsc-doc/manualpages/Sys//usr/share/doc/packages/petsc-doc/manualpages/TS//usr/share/doc/packages/petsc-doc/manualpages/Tao//usr/share/doc/packages/petsc-doc/manualpages/TaoLineSearch//usr/share/doc/packages/petsc-doc/manualpages/Vec//usr/share/doc/packages/petsc-doc/manualpages/Viewer//usr/share/doc/packages/petsc-doc/manualpages/concepts/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:13564/openSUSE_Leap_15.1_Update/66698ce7c6e47b6fa834f3db6188d085-petsc.openSUSE_Leap_15.1_Update:docdrpmxz5noarch-suse-linuxdirectoryHTML document, ASCII textHTML document, ASCII text, with very long linesHTML document, UTF-8 Unicode text, with very long linesC source, ASCII text, with very long linesC source, ASCII textASCII text?-G*Mutf-864186da6e15fb33d778e7f990bae460d03f0de2bff9f68ed49fc344bf227dd03?P7zXZ !t/l(X]"k%r rFKG9 aR6J3<<lj6j|:xb#a[‹t{!4n-jZ H:U~.020*8}4 1be󊰝p '2k~5`N9)Oe%U8Y ІݹnaG]-Upn@rq;p3]IZyNO- '|MH~ kr^~k7b%_M,aR>O#-Z07oJPHٕ7Dt nD3M/Br)V.S4"YM;Ix{7rV>ΞGZ [$vZC[l}އp=mCm<ߍwo//;-]G -IGͬ b< %RvPY]~5|~^$'x1˷ i3ڦ=(Q/%BHH)<ܯ:eXڑ~yLAY~"s6 jC@ :)Jʼ֧5"]D3a$[%ߐ7ǥm oJxi1t$u xPYTvRNGgn AAr=SU|(H`N$̂Q,%䈊RM!H8Ųs^f=P -${;Ym39] "/.({">A q &;#/xA߅dQ ;@xvDoF )l'"'HOC+-Y|Vtw/lcS7WBW8ޏچv_ީ_Έ`nSRyuZ [b\D-*51"s̀#19ߡ'I+2 \_Cq6l9Az/2 :9lHmccKhn Gf#뱵lpu+!0$*ʇ8ۖNv?9Ro/CNS9-d4zdt# 'rVw G/Sd)R$m2X2GiQp ysaL7'Јc>kc"AW, V/xX95'u_dO=*e?,8ctj x:}4l!Mi-4c_TcƘF-pY, ,zoпљO8f<<ڀӨ$@/qKvBw"]^W6u 3 $֩&ZjGoXypP1,~OI/NZ kr)|^#qF- <,uo2`[c3u-iKܺrZ/ K7Rh UR E܇ɣRe+B:jxñ f rf~ћhLE3Yֳ]qEvQvǺyZE < 4~fVCSŐl+ʳCo9,`h$9YѲS>ԔnY%܌TW )xM/1HG44gU0xT.pl`.}$_V{&o$gv%ZoYঔ՚,:ɸЗ;Fz6i11Ю Wrpz ]#%HFlo27YFmjS[Δ֦]ardvdeNb"fB) ȍ%P,U.COQgRJv|~4* }B#H -*OLg%ؑKOnn@ !:p^7iZӕ7v8nL@ &y 03,Z;;/iA,\`]lS2N Ԛ%D}tqCxf0wA*tQkCu̓1'Zz\ vىFKG9vR%3"y SjY*"^՟*ASmQi̭JE?MeR$IxфF2B"jcB}IN(ڦozbI'i:׿d/_)SE==tº{̇ub! #L{CkD#NO,̇O;#)=LaǛp2\bRMا[݈lZ>P2 [f1^t_;&0 N[lMD^yldYw%%JYiuKVNWH3uzI|L4F*pʴ2rb!J$);pxCd8Xgb[TSՃ8[:i`_=FKD&  RdU;CF.&!VFBzM3i:|nF&e/nFdl }X@_~PGJX4փZAr3 {kt ?=ԾӝEND}dJu^>I!P ½ٮu9 }ApM UR>+:bk>>\JCk)YYf.'^cDVQ6͵9 /nټ^dŇNCOn$Fղ"uߌ娄$߾ KꋖKYfa %2;{EޔP'r$@EP'|i)DK(L8eŌ+~8=1϶+  2Fc;`cqlP7F1޸"r0_:ڂm *~Al;[N~Jk/5pxoK+X&1^SQH42B⸝ct}y Ym&·\*zrq ?#UV8s|'1H#~%퐴ZA@b{Ga1(~#$8+C3AVc|yI[P%f0?Ҵ,6V1mS2ׁ$nh'­o~$yɈgTʐCSkNe`&iS\-IxQ XN1~?xO,TM͵X&\P1Vʻ´VSy.^hv\ǩԝXfcs1Uf]t^Ev6жgf12e5@~0YÁHaǎAUBѳ %9Y]"iT"P@|«:$n*--sʷk JݪoU$^oݩK;p;Ni,:~Bsj;o?ގ_\8R(it~ao2̅ T@`cיTuPOY-cI N~Lnh,!2BL$Ѥb)'YwېTgUL3w8:J@e 6ouȺTUALfyG55j1@6ÄJtJrY{SyV+=IdVS-F0<¸쉢px6J ]Np nm=.iH#Qc:޸&mC5llNپvT:I5tAXTsY}f9(B4]c'd'H#Zs1Șƹw+[y^/zaG#r?>%{Xm'pTBj* MomQeTTpwC9LVVM֡ b0gQb@bm`[!pI:jMյ9]#># .58 =iMg<0P]RX:x ]*T޾Stupq*7$g (i;份 sgZt  #F|Qҧ~X|}: ƍ\C4GgTnF~SyRB Mz2 h@vmNBMpڦGk[cg']U;N\̥x4i`ݕ+pIen0z r0GB]ҙdNs>nakC멄jLAJbF^BȃS;(tK kFC`M Qvﺛ^vlO;A$~i ng,Y{3Y׹8(ku0~ ݝP]knYs+k=ژ3O\lQ:+t((8  Iir(:N`nkK{c)M <IbB 0дwOw1z$n4Z|TV/f\$q>1񟏤Fmڔyp -qǹ :U-)P&O#^ :Soi1)ElNp8ӵZ}Xc:W,PSTh.F9M^|3YN>w(9S7^%" .e,+<$ r+ܨJEg_{Ztt$UQCAI[ k{% &ńTV8t"zn`0[=Ŝ\@>tra%J@6xݣЭyX5f]Ȕ43J9=ۖJY}PGH61?x8Nksۈ'|tD[vzTo;~Wzl:)d|A ;t;,AmI#!zd'DF>/y'DBˤ cD}5N8Hr$t]]:Hoys5p jxM H-+M2jICH.+xSe/O3S Çq@Նüt0I`2 kťj޲u'"0gO H;hmW]>ѹt_sb{³!?Xt`45yf&L雠MXzZ5_}΃fL@ [ȕ`dQc,JVy<^J4¾: 1訍6+Ьv]$LB48LI͡d< J.PU.QYm5k){i^g N5q'qRPWQ>˃BljKqk.sZ=AOB , x&Hd hʵ:=o 㷋` T;my s,Vq,.b(_ޞÇϤ{UFbO}Z f]B5/ Yd@{6i8mR𞠐1Vq^sǙ\./bGY tOA ju\}\Tzt7b;7d2hMb 8Uxb2@oݻt?ԘT i 0cYx xe4 *Wkz;S(؄ eOdC?? 0 Cqל\ PmhmiO"<}URR;]}uQZre|Mٱ`UuU4y]$lݾyNC{fXVA`bBcUo" |85D:,\0M}m}7zţ(q!wrk̻]q1O4)Y`\os波d Itg L/zOk&~hvԀwo'Q2*pܜJJfh\Mi<&&vS 0S`MƮAkjyj瞣Xŭ~b֞ը.f*4? Oa?!{(^n ŒYzfԽL0-R" RA<͟KqRuu$S l s&oc-~C/V0S28^e'hanS8\PB2A(.26RItT>UJrWl2i3B JZ v'!}PUC@ϻ`NM vnM|mKfs"3=L-3ҭ~КT *VWvH*;b;$`qֵC*Vѳ>3u 7ǒ4U`CPye.-ӜZvO×}QiQ}%)}޿Tg~mq %%u#c@>бʅpcn !k?Q)3 \]_ ZbĒd:lvͦua ׹XUaIsd rf[:_4ֿQ= HJ C7aF]wW^?p<=a7*OtgT&+31""4Fp|ľ8 Suwe&L2~cÊ7zg?Pp-  q%2U'E&/C?&XPzV5CT×J~i'8 yu3ݦ 8flP0-d1oZB^Vdڌ$e6/d'F'0z4Oَѻ~5YYn)o^H V 'A }I[ X{!RB>[qquB@KZV sWI.bϼЈl "(F_CIRϙ }^yTꯦe?jJ`cR>{i=~!QT6\UQ0%V =\_Thzl+kkoolYwqJc6* dv3 +IIvղllqN{[qȪ1*м@Tͬ]PSܲ'DuH6튷n! }2e΄V YJ8_Jr]`׼3`X'o=^yNYyoOz >Zh *.MǷuW#EPR2ƷI@)TȂ!Ome:kl Tw-=4Ń]aUO|wǴyؾ7{peFFB.a4VI j^G8qG= 3F'-@**V3^~Ui%1lJ 2A~=P] Tani׸p!դ:lm`wf ٿq~j;V\JOGٶࣆ_Fcs~SM4iYw鶑YV6iAߗ$cH; Y^&&F.29C:њd{0mGjY{a~S5)NzB+T Pb J;Px/ؽ;{f;(Բ3DR/-&`[쩄-" qN'ⴕ5B2քsˏ"#" P=Q[gۧ]|'O,-P`V{~ݾ,W|<~ Q `G$/z*dͭJOb#D" _x숩.08^J6U 2y4zKB1vb͂BPEqሤ~{g/?#y1^ &.)oJ ,(FxYDjKa+2լM|VZ#m@k]$"uC.cZX2I_fF_/YEFuύn˛eG/8#5f7H@8૝[/%C=E;a'V{f RLa+!:`X24 z~,:J^TAQ-+ΏwYԢ49- ‰0мE<Цh<7HKI΄T}M8W|vs )ܼ'i4NCIIU(Ôf@t, --l%k@m`(%hivlsn@j}l&"nN7Bܼ`0QB0{-\R4j[{4@'Uk?hKSZ96å$Rt?,bn@z7qxx7db gl6N\@sMӁb|qHh&Z AedK>?Nh,KC@wqގ>h ?Z VQM6L[C|C}unތb+6XbD!f渕A 79bG`]`]oR;%Ua]5Nw217q+,}I|狰R0e{JUYM(|'X^OYŀ64)rS#&FrNMA Ş6_*/Gx* PW^Y]|_Qⓖ WT_A^$uL?rVfWLyX.x 6gU:^q̂] 呰:kB@b$a8GSvD4-P4~}zs2ri P HdGNs!$/7ifT@ڕ1Љ`ybp;ӝ͎waQ'hndD=dB{{Jp}m'#; ,|[! _cKJ_U.*CKM R^.j1cp;&LF-\7Z5 7=Z0DKRňIi9A/G1^1a& 'ZSR8LwʲWrjPMDAwm!dT *7l%/ˊ_FȂPZ*Yi9f_z  n.Ft%?- 9ͶV>[2YSr@\/K E :Hx\ch?&=O2h~ +CaC2hv1O'2@DZ]~_ H(Cm7\P;-T5E1 z1@>ի_ $TGЖRvsn RXJ_H#zYZ(?*>.;q9mPBo*狔F4\VI[|Svf:ܾL$nz pA0x(@Jx!a]@Qϙ$@;uF|6BboE|"XO1Q&2@Db*\Z^K0WD;:O@jMےk(~׾=Nm*?E3ǩP/Ϝ6[Ɩ3y824hJʉⲷ^ :+J K!{߶.lrE 4#YI >\ZD&R ^ y]*z~FUr;"@k $\1ӿ@QTrvj† p\H.P(#/82Z 2v᣼8gXu`=BJjIpiI"=MNh| F=MV˿S pTv?'qy0~ĶCM;*yMŭ#ٰF `bqs\nWԮsU _%Њ$Sps1,7aBpaʝ3umޣ]``O,1AvD ވ1O}H()UX!}02Ww Uײ#;3GSQb(rVC4g'J#I/Z3٤}H`S(!3֔CC_mu )R 'Vi}mR2eZžz+>Vr %H$[PO#ONM!c}25iyb Bp~@p+rt u vxdԙ|)59FjWn5~jB(63=rlMj⏨tM) zTXݓd]N-_M^3Uhg@v28GY]vaƃM驐ܢl:5LeSPJk29qoCMʻE{8pF9.w5 M.2 -2Տ|Vnpy 11>"taQ#aT((xAzd^#0m.eDuų=]S  YLɇ?׼&.{ZI/e`5VfnBh3s)c>3)J]g1b% p{p:&XN8xezFAu\D7insjJ ,ui_ r/+6^] מ-n7$ vȳ; 7bDOɧO }U[/p j yX/TO0\J^]yD4 |ADH跇7LEl) z8?,SK|RoвltF9Kz/`9ro2uic۾R  yyz!^X72Mg>L1opzgɵ{:mԺ 1C gFC&KW]A;Q&?՛ M`1s cRf(BF%J0%މ8X6g&K\4-<^\ %##(Txj ?UU1[{U]y<&k4$T=:7q0u ?H&B =ovgH`ݗQnf:ʝ9DCF2ڼ `Ycғ(_SjPov׌L>V^ |iB9ճSuEݢ_;qye29}7nV~~Y X̯ptO9}%'7W&&FaĔpVp}@/SHi9J*UʱƠB@ TCmɳ1$8s[>'f6'm!$Z/3q+{SX a  z%@0r>B,:) H14?l,įULkjQntШ4MͣhM8uD9_zR8$ :cfOmj/H ;.f( id8Z)đ`\\ N ]Iht̺H39/RǗn' ?,PCuQҧLaZ@7\ '!$;yĬT04 (PAKh_vVHPNyoϛv_+I8:[(\I߂(%0ddEޭ| 0W:^]:ΝDjWk!qNdxlo Y97Gm(Crxouǣb ݩO4(NJ$TYfr A%IJ{pGx ʒF߹ゟKhXx fH%۰g$EkC׽=k \wԺ1*S-doōWDXEGT=vԭe Һ ۲ÿ)+GCc$g܏y>e"h:;M2i MyJ̋C㬏iǜـu5#}3+NP"w}xI ho2}pdF Fq-NLfRD]MKode|"rgV3R;]%^2ήN8cԡ<ԴzFxL*fZfR&!<~̆iRf5Œg1kxioҋ7/&,W]/Pq ) G; E9uk]nX,GDk{l[ђ,+?%eHIj9->pA#8E9} j>((IfU*>T?<'Bm\еx}5MvjD#sQt|Pr+Y볽[5sIBe8lk8Ձ Yhz3~ 3Ad@blT>4W‰Ȳc -\MFVo{Tvۃ ҌHڱDtrl"{fcXz[ 'q˖TsV`?79Ol!Yv0SR&Xjea؋e7Ajl$,ޚ 2tJ$( ڳ`Ⱦ5{Wx[y!]IJ>̹KzÒ8 v`B>OK4]zzijfN*}ytq nsjcq?:ZYEv»jtlL)Kj}O'Dc1.}/v8 96a\Hbmibu¹d^$@=h}At.oZʛ>*ޕZ8#2߱I(@-AqNגfQuz)S)T7i^Wb)8=vf f娮 #N*ṳdc=$^>H#لyTk?I M@AJn7_} |Lh0thcWe U3'uJmK~#0;SZ>.Yxh BgἵcQ% gc#GFYK#ۄ$:ުxDA 2 KTq|;oZ` z#%lM_IBX/jKA>m]yNXviz\7@\ŪNltӈ>:x#XS}ZFͮ CɇSpI"t`JВX?% mHh"_HMWruዯX‘$H!x6qlx+t5zDLtnh(NL(eUt蜘x]sohrUNE& kB3‘-/4VIF ٭Lf}G)D۸)d,;E#]Ѳ `>F8?Y/Hԩ&0 hN75naxoj* $"QvJ Nbk+oHcF F'Q!fbd Rr猧;p~/G`LdB,H)e+f@(%djDNl6"Fzwڭ4oo;+dcGO1m0>S'U9!Ov0g #)|6%.fnJ'ZO-`SVS Hy2,ͤ[-rZmaمAWi5r373V Ui}0{0-nNuAa絮 R(¡*MK6@$٢i2'&s"Tehb! ,:3`}GC-#5WCk:V|0mӒӲ߈eJ 5U:e+iƟT43^z,ɚ栵b}U>3&7%B){+XHv"%6 EB,Y~"cXUkh&MHe[ ܄vczS3+;gԗOô00YlZ2۝u btqX\tBh;`A19<\֝RdP3\uC*G!+=OK㡅e)7\{HY|/ JulgF=4(*㮱1t=[ÈT+"XA]ZWe][&ScK ܘuFJ}|0 %Cy;[(`wt=،䲃QQbK܎v3¸-tnY} +8{k@QY$1kwKZ&*i_XOuUXc,+c& 3nGo))k0\|]#P)'4\J懟.E,d^1>#jz`!X9_>`<A>jm*6zEu&&f30H()m^8ݡpOVZ#-1Rt LjBz}Pۡ2qWtNAwo&i"+B1kC(/@8T5d*v nQ`D'A*o+#c尝tfti 7a<٣4.o@R̯5b eBNx.5)ԏ=_s ol.=SJr_fX3['˝UzJ?+VEd.kߡPwCǃ'}I`| z9t:hHt'`{uԯ^H ՑIea' CzzK'SLֽJ!\xIONsHМ>|=,*r<عѝPE{N!"朾!N:hҶvZ\@&LG?oJO8p`nH֜KOT+JF91g u{0/@<)˓}h0]M LUUC@ױ^PwR3Ԕ/IjT]LLWG J#eQ7S@6ƛbt%9,,.[2tt JZ;}l \q"d;g_zf2OK+D2 `@AbEoU}_,AU~w%_V?ʆf+}dkuǵPmWh3do,낀tZ4la6}^߶9<ʂh;@[^pVv3 g4|o4Px4~Xَ1r6. d l!0ͧ4ৱ\Rw6r^x6ј+0Į*cRv\\߫~ٌ#@, S^Y:`bhdIT.)AhB:/v}lC0{O޻@eL\Zɱaj5AԎ}!!pK lxr4ۚ,uV2n/~d=u1B~l˫wP`IpJ{i(\N>OMݡ*A7N^lFta»& / |K0~NrdTGFQ⊭Ǵqg՘="m'>U賴9k 9, ,u0 M&͍0LFtB+ rYc[M! ]p.(0X"(%$(t u恴6m(䂔`9:-Ā }ҸxXfy!櫏Tt,n`sg?+#zDQ'$==ƈʖ "2JCfLMRrX$ƌJ%j EMQzɸ^ĸ47DƉ$*yo%$xtA8sf3FL&@TFL%>ʔϠײx)+p{vz;JHH!E( /a;c_k"ˬf48G}odKP1m$E|!񃰊<~zVG bȄP%@eVSذ4.m#טqE/I uSd+`a|zUy-ԡoPūe܈z֨{UN  >Y~"ÆAդJd~WM̏rV{Q~9ZILf/FcloLi|J)\/c4Κ/,vֈ6\/$WGvo:fNZ`$B,p|bfƋ9d ,RuCQ]Uc͇CtH0Mfg 37˶muTv-I#NQ} C_TqM Ţے3K E;{rd)V>jEa KMk4RG:{k5+$g眀9Sbqw+Qz6 P˝ ib55Dc5}Eʲ}|9?fࡨxMEsV:lظ$e[NR_kZ~xbS㱤pZʬez{=7!5s?K`/r0d®5|PTj6 @h|z6}ٗ030j8!#rִѮƼ-qkdQ9t Qrk^ GFy05\?#T`7B0g,;;P#D74Ɂ .'SEk{U3+pqMbXB-d3C?m0`s@cW^On Mpn@ @[6%e V }vW0o~j[Ҹpt'v@$:4AMyܑ !K>7,7hwf">4g3+\|pv'9O8B2Qc`RdZy+A2I=j[|9m#o veԫ} p tL`E{'02G?fE".5KZ(jU:px 1,2 f'Z~gi`rnmX~=YC YZ