ELF>@@8 @ ppQtdppp$$Y Y PPPPtd\\\`2`B`B`2`B`B Rtd`2`B`B@@00@@ККXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5 ќ "ՈމpI[mKw>)G "'8R L5j9qo0K  2K:?"9K.4r8 I5tfP5 " c5hQ5" @ J "\8 YTf0PlhH@ C!  "  |al! B" @U  r 3^" 4 c z JS" NH &" GҶ" wQ" Pt" Iz" " p C# %" _ o" .q" G" O F"  y" @ q" / f!(" P& " ` "OE"  ," q2 8 ." tnI" " @fuc!0htL" H" 0d&{ ^" @1" i ԁ?  z"  R[ dsM! `'/ `6 gH" " R< |" `+" zDRŕ" l! `R" i _[" C3 Y @ ؠ*"  N ' k" CK -l, 1M" `; *Y" p, iP/" ϴ" @. " PA! ;B" X @" pP!P" p *fS" `" @ " $K" ] b" @ o!0j(Lj" CL" 0T$! T(7 I P0p @v I P0@v" " p1" P :" 0" H-!hcH pf 5 ' 6" B1 " " M" 0 _ !WX; E" Q! xE" . " 0 >" 38!   qT!8o v T!H" " E" p " ( l n " . ( " _t! ~! (v^v" =_ "  \g" @z h _Ɣ! .r ] Ux2 j8" pEL E  ;!w* $" %3" ~f" PE! @$o0 6 u" "  )  }   \]" ma~" V" `|" 0C" t g*" ^Y @ ֎  #! `T%P" P" a( !y( 0H w" _ %C! " `){A `q _" CMo u  & !88ߊ  L" 6|" 6,O!8f(N!h($)" Zd" P/ 7 I"  <Sl P^ E o" ` /p!j(~!H(N" @ H!x<  " J ?" ? p "  d." s>" `c5" `%_; " 8a  ~!( ,u"   @E " V" 0F" H" H/ d'" PK pG M2" zw" " z " 0@" 2Q % 7(!`" l I(! b" ;  " `(!`s" 0*9 '! ]="  '!\) 0+ '!p]:" "5 Х&!Z" @p(!@`1(!P_;!`XЁ (!_D! '_" A 7(!^G" P =e" -'!`^U" 0;!eXY 0 '!@[a" @o," = Y 0 &!ZU 8 ! ;(" IvU 7 +" `) CF" ǡ"  *=  :|b/ " [(!_ @E !V(@ Z! @s8!hd!pF(!_h{ " 7 " p" ;" @&| )!pbO" 0q R" N  (!aH`!XF 09 !) '!^4g" >NE!8" C 2'!]| PkW P9  P c^ ǣ6b" `&w" G ̡!Y" b F" " i M  @ . @^ . @ T" @;" [" o3" /" p T!0,D! Q 1 " +]-!@yh" e " w" @) " Y'" &lJ!HP>  d m _S 4 " "SQ" p@" `1R ` 67!6 p k" ;\" Z" & 0e " pQ" Vt" m" .e p[ U$ " @* / >!W" = < 8 z 9 gY" ~ k" 7 " K" O  PH "." 0=M" P iH/&Z" 0] " i" p! <- 4 ^" s y ~! Hv ! PF"   !" pa~" @6" I"! T"  " l M" Po;" ` " 8 q" #" ^ " 0VC"  fA"  .ɛ" Y t" 3H" " iR 8 | >" s{" *G1" ?Yr x 0" P !r" -/$" ? " Y" qTI" p3 R KR 3 K!H" !U" #" H" \G" T 0E f!X;k" ` !hx p BX" :$[" `H1"  a>= :G"  s x " p L#n" q ]" `C " K " A D"  a o1`" " >"  ` b  ֢Q -!x } P " ~ M" w { w  p 7  \" 2   @k jݹ" I @o _" &6 0j j `/ b cS!@" r 2 4U" I * *" @)" " Х" E " / <#!Y@" b" 0Q"" 3O& ĤH"  l" en" r " 0M" z pF }" *g"  " @  T* 1" . " ,b fw" 0  0E @l" PYq" C" PO" @8 " 7!Xy}" ` /pC" ` Z! gu!ir"   ! `   ) \g" S =` 9 1u" !C~ L" ( @Ah!PW" d F~!kD!8\  81! W%D!" `< ;! - 0G %" l IR" `M h" 0!htX" /!XXv7 " _ " lI" ;C" T MG" % " P8d]!ؕ8" ( q -V-y!`ox" s {" ` d" (/! V$=)" )4"  x" *aǛ!" @* w" r" p " ;9" -"  7\!`[" ` " H ! !h/;z D? "  Ġ" @ vw" $ a  W6" "V" X" ( @#( @#/J" "B" PC." ? Yݔ" XIN" (" ($ ` |T!rJ" `B C3" P; s-" 4lf" 'C"  >" PX=" Ps" Aǜ" ` " < S$!x83" 0" >,"  L{ ` " Hy|" 0 az" /aS" @t H" {!8C Pr b H `" O" `_" []7  @` 3- P-" \" @" @ D" `. !!y(v" +(" P  PE pd X Z F t" @ " > Y" Q]" Yk" " l" #^ Ρ |" ! m |" 8x x:"  " @* 6{ ` ǵ" . Z" ` I K \" !" p. HT! 1i/7" " h" f j" }# " Gcd"  P =6 p " Y" Pf" - %  $< 0> I" wQZ F 4!hX" _M!-" 9#C" @~h" , " pK " pLH 0p e" D?   i j3!2" PC  i! @1-3" P@v { N"  " @) :" -N" oa" @.Y > D7  +" c*! t[" fyH"  P" " / / P ]" Z" Aܜ 2 ^!0޼" 06 QJW" `c Fb+ $6 *f " 7pA!0 PG .` /  p. " N[ Y  Pp _w"  `" O- 4 " Ha"  ߹" @3 *D pW ." !WȊ" p \n t *T @6 +%" 3KS 05 +"  " `G8 n" ,% " i I ,H" 2 0Q" SC$r" F"  `   +!V(V 8 $0 !p8" F i%" F>!88  '" (I " -" >" I&" ̟" 0 m" `MHe" %[q w !"  ~[ lsy"  g" !8h ܣ" C &  ء" C!8w | h" @ ;" @e1 !hW `9 B [!HH _1" w"  O ( " 1 Gy@" ` WD!XS l f " O"  " " p 7" DLn < !(dX4" b" 0%8 r" `  &  &tq pw %" p$K| @E !>b!x! c" " *A u UɅ"  " @< 0] " ? 3J" Or" rY" e Fd!0 k " P4 p>" k8  I!PG" v X"  "  " `)>p" :" GH С2 < V" @jOB!V9  2r!ȍP&" Ipf"  ^!08!Нh" fT" 6 5" " !(qt/ j "" 5!PWޞ" " Hc" `^  !   ,0" >+" ?! m" @q C" 0 Mn" &" o" u K`/," h" g" * ^" U" %H" #!8r" PӰ PE !8. " R K8 " p q" .4P" " "" P " `"  ` 2LP" m=" 03 L; 0w F[" `M " H x/ - 8  " @"! "  f" ~! `'u1 " p,!cZ" Ҍ" p /$" 0Bk" f%"  {}" p56% " @v" @G U"  "  H" Вa X r @x " C" lg" l@" 61/" >:" pL2" ` %" #>" 8% 0r ? G  " 0R5p" i" l. T" c;h" @m I" >* Ӫ" " @ }" `;@D" ^ Й" M8" P lP" w" yM" jϭ" `,h " 9y3 <" \C} } " ' ܤ!(8 D ! "  " Ш " @> Fd^" @ ! r!pk(eK" w" 0) O" " R" IT!2) - 4" 1Dg< 0 ih" @N!" *AH.3!dX i a" PC c F 8{" "Ж  4o" 0." H*B" m l:" /" `v!" @X. pe   _.u" -" oZ r n _" E! + )W" 0. p V" 0~ n pn j  K 5 ԥ" 0t  PT   V 8 >" " \Ը" C" 8  0 :>" P H3 / ma W w ^ "h p[ + / `5 2 " " C`" @ a" " p+z" PN ;" @YH"  1K" 2j%! U A" 8 +%! T $  ! 8F" DrU" 0l} P ;"   0) U%! Tϧ" 0 ems x 0" PY Q&! gU  \f" f&! pU" x! ) <&! ^Un HR p/ &! U ` F" <" v-" pr%! U ` *" g%! (UL; 8 " %! 1U" K 0E -" %! :UZ" F d"  t" " " G%! CU{&! UP" Pg(  0F !Xh&! Uh)" [C 0S B!@! pS " 02 a D (!h x!mP?  F" @f%! U" 'y^" l%! U   t ܡ%! T" u" P6" B R@%! TA8 <c" &! LU]A! <" 6'&! UU x#; ,h" P% Pf { Z 2" >?[ `s" "  ,!PV@2"   Z "  y" H" p N    6 " p)c" pO ' k2 < Rgh.w } Sc" t! @uM Y B " %[B ȅ" и ;" HH\z" |̷" @IZ!`f7" DL8 B"   / #"  ^.Yk 0^ 5~" 9 J" ` pp" Щ Ƭ 0E 2q Pw  PB! @<" ! 2  % }<!z dR5 ɥ" NHhs" A"    $" pFeU" `! ! M P O4 pAp" 0<" y"  " `"C% GV"  ;!z( ̣` 4x" *y@" @3: Y kHЙ" p  d"  K" p" @o l" " `W >" x  L f *" @" 0 ӯ" `* , v" P <$" p"l" FZ PF J" " [3: p " p " X z " <" I" ," M)!b n8 m" 0Y*   ?"  ]1" xYgv" P"C_f" 7P!Ht" bB"  3 -" 7" H  " Iy"   P( j" +" `H A " <M" 9" !Y(o  ` X" 00*" 0es`- " ` " 0b.U!" #z @ ١"  1" <ړ Z" Fv"  ! "" 01 " QCtb" p^" p1 " ;<Oj0?!P|("  ) " @R=\" F"  l" p-!آu" 0,;" @-"  J  aV" `Z͛ 0 =!{Pr2 : nh `Z " "c pX 2 ; v0 |L" #[" 0"rF" P" 8 8. P5 {" j" 0X 0E t" X = 83 pAq!xV8 E! Mr3 `=   j" , X" P " d!   ' ]  ت " \ [j! Pԏ 0 $)5" A]" #M?!@|! 0 ^ He" @) , x p j"  k s" P` -Y" % c x" )!b" p E!! `Q"" H !T(`" `W" I:M" P x~" *j" >S" pH1 "   ց!tXq 0w U p 6l @' 3|5 ʥl!اP" 4g* ! `Fw"  *[ ڻ" "I! PE N h _{ '"  ȼ" F  J! 8RI" A" `sa" LHo!H9 ` {" p 9n 0t agp" @pB"  A"  'u! u^ " g." ;g" `S" = " lz ," % <A" N أ>8  6! `q _'4 H" @ " =I" Kp @ty ` $'| " )   "  w"  "  j" C 2" @+} 0(" pZ} 0" n t V"  p   !  " +>a" `y ` x" 0W @ F" LH! Q ~ plJ" P !ؓ" & a" 6 0 , l S Z " R X" PW  )y" p{ v" L!pq" `,!vX7^!ؖh!hW( " t  %"  " p y ; 0 \3 =  `E #!   " L!U(W |" `6͉" H;" 1" !k]" 0 WW 09  q 7F!hP" 9! z4" A7" ,!8t" 2 @E ]!W" 0k a | j/x " 3" `A 46" 5 E! S" `"" @ s" 0<LOt! ue- @Ɉ" zx Ԡ-  %k \ 1" ?/R!Z!pf  5," e X  @} P mL"  I " P *Y C E!7 <" G! '" ) / {u! u"  " |{K" @3,F! !p| " "7D! F" hO" PL D" ޒ" p ә! .ǚ" "y& Ȥ " ?"   #" @; )" 0"!PA"  " @ n" z  j y" 0m Vh! c" }" p d~" 8<} p v ^"  !" " nP" D" 0p" S!h8e 0[ y=!zw  \" p" PM!h[ hsr" * 9  %  A? $u+ 1 " p" ".0B" -eAP. `s L" =  :"  ~q" w   " 0I՗" h<!|(Sm" ?l" P;" la" 3" @#" оhG m _ # #[B! 8n" " "" , %+5 ȥC PF ZR" 02a q j" /1"  # :  G ! Q)S" g!(X" Ќ 0E F"  3" ! pV Pl j" > .+ Ԅ" >R* p0 FG" #Ճ" 0ϲ" 1:i" `o"  " m{ "  M "  !8+" @ILQ J " !" p *=! E #. 4 jE #M #  " ;BL" " P N ` p3 " ( ` " /)  b"  g 49!X += @X 0 F " H 0 t" ` "  H>[" F" 0'" p ([ \s1" @(kp^" 0F" 0En -" `" pK" " 0 [ pI 5 Y" f$" EƼ" c+E !qL" Pv-2 F"  `" r " 0l#>! h" p? /  & rT 6  ! '" @ R" КDv"  D p@ =" $" " @; @" `zM" 0p%! U1%! Tp v S [%! T " '" @@ " ` W&! iU{"  / ll&! rUB&! `U" ` &! U" I 2 @= F" @ "  =" p?%! US `5 (! %! *U bx. " 0f%! 3U" NHd" /2! HW y p %! " 07 5" pL} p  U r  Q =Q2 9 Ny" : /   ! P*" `p>" H,C" / )Z" 0  ` "  u Py V|a" p!0z  Y"  s  " xN  - c" PI!y" "" l "" P ;" y K o jRX" ЛX@_" P  6 u HI  Ii" `w" "  l #" z" `p 8" Й" p FU!p8"  +" Ш LD!8a'" 'wC!@ ?" Ѐ PC #"  "" 8" h]" " ( ] T " ;d`" 0 "  QuW! )" II" " @1Z" @ w  PE ~"  " pL{ Y I { ` " 0wj0" B " " " %5a'!\ =  +% I'![ " G" J" @"" 0y'!`\ 5" pB:k" #I" mֆ" PHFB0.x  $(!a eR" *e" ps) `/ @2!d@ 5" 9 q |&"  " + " " /3" 0|Xn u  " U1'!p[ / I" ` " 0- % j NH" P p  }"  \" 0 7" pM ( v~" ;r(!`a 3" P@S" -̰"  ݰ" + q, / Dk" B RW P9 " 9 , 1  " KO:" GH" LN  HN  K" e" sn Rb X   s v$   "  ΁IL" 6~" !C2"  ($" E."  " U )@" @1 !8w8G" 7" (  0` < " k lη G " @q!Hk(" Plt" % 2@ ` +"  F  ! `V!   W" @e F " Pf>" " 2b . OB| "  U!`8C" I?נ" @ " `- %ZJ!( ! f_" ` " 0  " " 2p  T$" <f" ! ($m" &H" " ! " 1 yd.G Sf  ." s" 9" @ ./ =" N  6" `!"uW" >e! Ct) !!" p*%" p6 " *Vu!jԧ"  ! "  $"  x" Ј y" J o~" p " " _  3h" 5" BE c Iq" @CQ" [" PU 7 "  " pC"  u" 0:&!cH ' " _ k" pR! 6 @) H" # 0 2@" P-iY > AH" C :E"  `" ` G" 0V" L2" k : h" Z" !"" M7  '   - Ƞtp v ~" y " >" `}  pO Jk" 1*6> p *6 إ( }T!0  U" @ Sw!k< P :]" 1N @& K" ? =! z" ka" Z 3 f " pW<" 0C0 > O" D6' ٤f" Is" MW[" I" " " @ 3e# 0, 5 ĥS(" S! :.`" 0f Cg" @ 4 pi p" 5 *Y" 0sD~! vj" u!" i" /L" 7  ` N; 0 6 I" r" } n" 3  L! pM" 8 f F" 0pG" `_ RX" p!Ȫ5 C      pE v" %>"   l"" 0 $ , & Ԥ0^" 0l" ]N" `z!G" Pb!x`H" < v E" $ )#" Ia 0g {D" <-"    e" `% [) / ݭ 0E f  " m^ F Y s o"  P!Po" `n l" `U " @#3" IC" IP" 8$! Z@rM" `   i7" C /J" " P' r @x $" `I"  " * 94! `W&c" ( <M" P M8" 0*=" ` C" P!" = F `  45" `~G"   " s:!hz("  " ) {k" ]"  (" P   " |" 6 a" pr / @6 "" 4Yq" p I H, 0" QI ` ]}" c" 'R|6" B" P" i& ̤" g _" $*b" Z" 3| H !Xs= :(" V[P7 p n"  n!PY @ 9" M4! P" 0o 0u k#r w 9  6m" 5!dz" & " P5˥"  S[" P" $R!w`!`u" w" p&]" У /" N" K6" #](/yS!!ӏ" Od"  " - " 5=" $" #cA" " 0q " ` " @F (l" n C" :" " "C!C!]! (|! yI" pGe `m j" E  t" $ " 9" r" 0C|"  Y" e F<  ȁ]!z"  ~." IL F   " Y " /*C:" PGHi/C!HhC" \ C- H " %!" `A Re" 2 ; d  J]" #Ԟ" @ %q" Ma" ~!81 ! 0PO" NB  բW" @ 9" p " `4K"  q" Y 6+" %D" O df" O! r X" @ k b ih" pl "%!XKA 0 2" @C" Pi IRh" ga" ; " @  X@! @<" _R" - % d O  0E !"  " ; p  ۳ F />* 0 Cu!jax" ) " :yk8Z  0 " ` W x\" y" z%" @GC" u#H" @!Pr "  2$ " !I" ] 3" 0!" =  o" /6Y" p3" %p" @ -J" " I 4J! !8" ?  P 8 D Qf \ P> e!`" 0wy" `y" U" l" T M5" @} w%! U" `0 u8%! T " ^ ! 8" ELb%! U|+" `)^&! lUO" ! f-1 s&! uU (K" ++  I"  !y(I&! cU @ 3m" f% " @" $hr" @| &! U" " $" pX %! U! P *%! -U" 0%RKU" p" $%! 6Uuz I" $؊" Hr2" @; $7 0E }!m %! ?U! R &! HUg! QK" p/   &! U" &! U" ^" Fg(h/!r" t" "6" BU" " 5 2%! Ui" Ph ]nj" \" p %! $U?"   $Q ) ( #%! T%" " / U" ] M%! T}(!P` |" < 5l" e@! 8 @E (!a &! QUG) 4&! ZU(!`  \" .  ģH" @ -" '!\  h" ^ V"  oB" P/  _ O'!\ [" " P) " '!0] {" 2| 0f &!`Z " h(!` "   ġ $ p, g" 8 =   L" D=&" %I" * @1 )(!_ " P .|" = (!^ @!P"  Er" '!p^ h f O @ FO pI " `&'! ^  p -" _    '![ " Q" R {~ r 9&!Z " ̓"  e" rM _ N" ( .c" P@" @8 j" i  r 3" o "H !Ta & S(!_  >(!`_ 6 ` " wG" #!" 01" , V" ] g" p "^" p )!0b ^/ 5 v- LA* (!a !h(" '!] @" "q!'!] C" P" _" _K" P nL" HV0" 0w5" N"  >i/$ #|" 4 sp" v 6/ xd  -H. R0 `6 L" i" i I" @SIC =" 0`" J" / N" Z" =" )% ȣ ȡ" 0 v @  e" P "   |L" `JL" s4" Bp" @3 X  " 0H H" P ;" @HH+" p :p" v {k" "^" O" 0! S" ] " )U!Ț8" 1V" Is" ~  E Dp @v N % m&" `%""   " n!8_" l  2I" ?B" p    $   =u!i=" " 0c" 0 < E~ w M" Po v  $& Ф;" ! "^" p K$" 0C: " GP n r" T 9!qX) / 4 $  o! vX," @.G =[" ?2! C @  0 A"  0 cK" 0 #*" &" %"b"  0` W 0 ," ,[(Zy P { M1 `8 K Х [  0 %" " Q &" Pi I [ )9i! N @" _ % "  " p/zo u " l|" 4 G" P CE!t! @! " 0I"  <#%" FX" PI^!  ` #" . " n lɗ" g~r" Pz" w2! G  " _  ` N" PA /N 0' K!0Pj" k Cئ" `%_{ " cBј P #" S )n" ." $" P  B" p |" SZ" p /9"  /͸ pH #" U# " pQ 0!P*" 0"` W ? 8N" 0b+!cH " 1S4 '   <" P  =" p8 j p 2Q" 2! ; $ C"  " " 0;  Pؾ" 9 s" J " W! @)" i* " )" - T"  " }" :2_" Pt !TH6V" c Fi " `A6"  %" nJ! Rs x " t X < @ " @;  *" 0)9"  c'" (O" by" k" l  -" L7 ! * D.5 ̥]" `o @. j" 8" \a" N2" `C" p@ Kc\" FlU1 a" `" p'8! " r +7 F"  ( " H#x P~ a+" 1 0}" h" N U" " 4 *" H 8R" `^u " wJ" #P" p": P E @ + ,5 hB " W"  " P%5 " 0" "" I"  o P "Y" ~! 8vl" m "!pY@e S!t" P!  !" @.`e"   ע> f"  " C V h" D d" , 98" @l ";F"  ! <" $k x" " -!d-" pr"  1" Hը"  *T_" @" =:!peX=L"  6 K!XU" 'QXI" P#[" "" ^ |" *p"  ܐ" p Z" PF! (7 J" 9p" >! @"RY" c F. `" @" s * 1  D) - I* p1 " l M" 1 u" ^ y qq Z )M = 4 " , QT p6 2 8 H" % y d"  ċ" P /" y$I" k @k jQ" КDZ Pe Xc`.t" u" I J $(" p}4 0j jW" y! $Q6" Bm" P1 *" # Sf"  F" 0" p " 0 I" 0KL ʁx  " I5\" " P f" <L" ` , 8S ʸ _ͽ" 9 + 3 G E " 1:" Ъ D0 7 >5C! d" Hd" " V=" c" %"$" *"f" `, - S!" p"" @fy!رe" H -! @V"AO  rY" ] !Ћ;@(^V 8 W " ;" Q" p f6 ct!Xip!j(Y" P,T"   @ ,s x 8{" p Al* 0 L" 0'o" ." @  " @: |" 5" p-"F" /"" 0 Jc.ڷ" @0 J" `," j e  :" " `* !8r"  !  Q  P6" `;! Xd9 0" OHZ! 4" "Y \Iq! k(f" R" 7 &g"  * P1 " @ ! i  '  \ " M/K" " @#" 8y I a" !O ( /7" o "Ґ!" | `-c2 0: ^W " t W!H" Ka" p " e - e 5ʶ 0G (! '" T" -" lq" F" T ]" 9Ue"  ~" " `" N" 6 ߥ " ,I  x%" $G6" 0  `/" `T 2>!Xe" P n" 8'" '2S" B ` n-" 0a :<" `  J )! h  " p_5 rM @ K" ~" " = Fʹ" XV pG oG" #; " @: V" 03" ` L9" J ! Pߝ" ; "  " @(" ( tC7" :@" P; t ! E" A Ra" p Ɓ"  < 0'  " < S 1  G`V" d FM" @XQ" "~! " @t M" p f PE 1" ?" ܗ" 0I" PNH$" t:^" @F J" K" >\" ]+L" 0 B" ZV ]  E i" P t!P6 ޥV" C`" iX/" P"* +" p) %" 0T" l иR" >N i jW m <!V 8 Gj" *Հ!e" 0jE!H !uX!pH+ \h8/" vx" ` " ! ! / $" i M! ) fN & K"  D`" /w | f" @"  !hT" Yc ` ٮ @E W P4 $-Q 1 a" Kj"  B" "" !puXC!X=  R" PY f!Ph" I@!0  " %K  " P ҁ (5! D!h  5" pB:$" p9" @/ ~!kdI" " @$ p" k! {C!h !H" @ )a" @B;" 9 k _" 0I .0" ` b/6 ݥ[" F2 PG w" C!  AE! EH" - 4 u!if" " C," -VK" W &  ` *" i" 7LJ F" ФC" 6< ` O" 0@u" p!j(j  d!Ȝh" s ! pS! 1H" ;- <  <!rd" ) z" Y  $X"  !e" R" 4 O $!xh_Q!q w n" @ ]" p  T!h! x:" GH" AH! -h" 7!! Qt! u" " T ]%R" 0v" 6 0 w | C!P8" p?UP  nzO" D    " @4 d  " 8 6 ܥB(." I:G"  " Ye Y 4 + (g" Y" EOi@/ 2Q" H! rn" ._! !1 PE w"  " " `-" " 0. " c s"  )-!bMT!X8. MKp/g! 0" fr `x >" X K" #8" pC" xT?" }88 x" P N" 0:C!  k  q" .K" ;B E" p~" 0 !81" Pdc" ` l] xc>!8F"  LE" ET0" Yo"    ;+ 1 " P/ N" pt    D!8." sN j!pxI" !" " P3 f " --! ." |6 ۥG" " &" `^ z @ u"  G" !.  $ E" " 6 0ۇ" PLy z5 ` . āB .Iq" `w {=!8V" l X! :O ` r" %ϝ" ; Xz" *" `I" @   آ؉" P " e" R/" wc  е" HLG" 0" w" %)" `[~N"  0  | ` " Ц ]! Q _" " X p )|" c2 W" 7" pS " Pf " )=." d! 2]" Fm" 9 H" J .s"  WD! '" " Lb" 03 A!(: /}  8 " Hg" p" c G ] {" 2. 0r ;" RB$  ` Qe"  0 "c6 ڥ" %"  " 7L ` rQ{ W" `] 4" + Hj" @_ /\" F `E rP"  "  " : !XM 2 ! F pn j"  1" 'B< m $" G^" >C!D}" P:3{" P2.} x" HQ" ` IЂ" =D" ? Q! x C!pa/@5" @V3" `A)/ h8* / \o" <" I%" &I" % G" m @E  @ " <23 ܪ" # KI p " )G c D!Mm" `1t 0y   ; ^"  Y pB 9& >" 2  jd X B" + 6" @y p " "g  " ;< 8v y ~ N`] x w"  5m!x u" xo" u > J6 ٥ Ou" 0mE!8 "  .7 t5/ 5 s9" `FLR " f" -" * " 9" pDI!T!Ha" p+  " ` ! @C " LU 8 y" f/" @p y" .!p @+ j}" { 0 " `& e m p/ " "" "x" R" 4 " ; M" pS j" pR5 ! @  V 8 $!V(^" @A1" @6" K" " p :a  7@!@8" D :!h>" FO"  ~ ~ c L v"  ` P 4" @S 5 ]!@hٹ" @OH" N !Pq w D! `F ~" c" }V" ! fF ," +9" p" @6l" n " ; 2(" 8."  Po " Э p )o 5" Ї" 1" @-" rC" za-" ` b" " K" 0D" ` eO ' k3" p g" М Tz"" 0O"  x ~ $ yeh" b Р!pw ", /H" LM" #[" H *" " }" 3E" 0%" 0k l(" 0Pn! :؇ 7"  p &d"  e%" p$K]q Pw 6O" pt5" 6 " ] \[" " 0 " "W" " !I k k" !" u! u'" Mq" !V" P] ?S!8Q 1 OF p F p B <" PH   e S!X  q$t" "  (" `#yȠ" 0  2 <" " p  T" "! T!^" V" Pd F " # %U 07 &" %l" 0 0  pg!`sX 0f ! p" S" " [  ܢ ; "  tZ" `&k@I" M" @ "  ^." @H$  0C " =!8 X" ] c TE!8f!" H1 i" P> %" q" 8 g" & K<" P  PE :c pX  ́" ` 7z" [ * D" " ` x! (:F" ƕ" b; ţl" P R" p! + &" 9x!lP`!@(~" p7n" ` @ &" %IK" `M Т~" p!"  ( ̢!oP" `H K " @;CN" M" Ц7 <!hr,!" [_" pk, 0E ԙ - z" X" ] hw | g" EV" " \K ` Xz  Е" 0c." P " Hc" f{" 2.U @8 vF 4 ! 'wF `Z ` w " TgY"  M ظn" !0Y(k" 8\" " ^ " Ma" Њ " F >"  " @;C d" & &B8." 20(lp9" FL" @D " P5 b  "! p" P " 3 / ltn t " 7( "  |" :  b X ,![" Fd" N" @  EQ< 0 iS!  " %   ! h t" P*  j _ * M" *S" pH ı" p/" p".x" a" s 0e X B!X_" Ps" .> н  ܠ{W" d F9 e0 & . \N i 9" FL_ !6 PN N$!Z" `- U"  >Q! Я" / " B 7 P" im h Y! ' " Bo" "  Ӯ" p,|" \{#" " n@ f " " " @]? . `5 " @0}" [X" Ӌ" H" `Ƌ" D " `t ~" z" `'RU" @ " @Y" " h*" @>I" @H " 4 *"" 0~ mF ̠ DX} k" > F"  R|"  " @A l" % N" r ON"  ^" a%~ @ " 0%" "" wht" pt  h" @%ifp.U" ԰" .  " P1 ] { P Y" qp" X" 0 m" P 0" k`p?" " C4 f_!0" 7s x A@.*" " " Cga W i" h C[n" H" pt  [" HU @7 G" #޽" k. `  aBm" o r9h [ j Y  $ ' !h" p  " PH !x9 3C " _.B" <  @q " S"  p" `2 *" 1p! " pY 5" , e/L PE " 4" P/0" ) V" 0^ )bw" %i[" )" P9?" Ы" " @s" u! pa gߨ" p)K  I w } S  p" p3 &! @;" $ β" 2T" P!Ƞ P  P " |!x" ~" <zQ" 2" p{" @.oP  n q j" .^" B" 0!uX[ psF" &," @U \" dR ? ei!Pl"   Pl j р S!" 9s" R $  \e P[ 9 - ˒" L"  #" r" 2 p" 7' ؤ"  F >" ,!8h2 " p"" %A!PP" `KB" =v " pH " pwq" "" h Þ" 0 " 'Q 6w ԣLx ~ &" 0&l"  Q |J Q c" pY  ۣ" p e!О0" L  K" . v" _!Xb(!((T 6 4"  )}" PL "  ]y J z" zRC! @!" I," `b5o ." `, 5" " /8" @! Fs" @ RX* 0 E $yE ! <J" N\&!x  d" T 5 " `  PE ţ"  9 G  " 0  *, h." '7 P " `d= 8 ͡" & K" m " " euo" `7? @` N i _E#" =" @ "+ -~x" T 6 +L"  6 @"  9>" `cg pI 5u" ` wj" " Q5`" p7" C P q"   / N!Яl" @ 6" `~Qh"  & " P" 0 vX" Cy{" ." s?W" P"  c" P"z!q1 E!P.~ 0 ? 2^@" P " `9  \% V" 0  0  pf 5" a <"  1!\" pl" @^" " m "G3 @= ߥ"  ! @1" p "  " P2 "   p "  " PC ! PZO" @Z" 0 Ic"  t" ` | @ P." s." AP" 9" S =C" Pj l" ` %^" `){Z'!0\ c V" `% [! C6i" CB'![D"  " @<  s ؜" " r'!\H" %" - Уb" f, 02 a" #/G" H"  X" X" ] " (!0a>U" i" `" @8 Ȅ"  W" F6]" 6" Bq v kq6 " @"A" X" p] *'![n!PxC! ;j0I" " @R " ;9(!aT p] p" p" !A" ^Y" _"  T+* %V& p j[" P O2" @" p h] T nǔ" @ =؁" `=C" N o" v 8" @lA" ,N ԡ? p 6" y  t  "   7" ? P  ) , @"  { wv p{ G" U" pX+ .$u" `!C*I" #R" 4 t- "  l y" P"Q @ gm P^ E x" } N2 z"  / k> @E 0 M" p " P(# m"  0 \_" `>AX."" +# q"  q 3d  ' #  #  Y" Pwm  i 0QD! g"  +" ғ!ЭxI" " 6" l" `e  " @   [^ p a!8H   " ?" )" ) #" ` h(  u!Pp!{ I "  S!ؔ8 " '" ) `/ vB" _! ( U" J" |Z" `Z|  wL" Еү @E 2 `" K1 " 4 e.5!xX "  " S " @ Z Ts" pV" /" ,t," ,dg" p"  j p" @  HW @[ " p /T/ i" P6 Y ~" :L" @ |" :_ " 0'" Su! uX" }" " T" ".n `r P" K 0 6 }4 D !M! <pe 0[ ?, 2 -" N @ `" @Z" 3" @ " > s    Lw O g>! hX" 5Ĥ"   I)" g" Jt"  [  ` t 9" E" & W" @Z" / V" `" iG" }" 8٤" " 0 }(" 0 H; F   f/B!  xD!!h" " @; " ,z" y.! V.u y *)  k _1p" P J 4 X" `\ c 6!8  Ԣ-B" 0 @ 0e :K" @ # e p[ h!أ $} ` Q" t b" P NF" SQ" >! 0 S" `> g 0E @!0H\-"  h" W ` z" 0 " Wސ" N" ` " PI" MHF " ɜ" !" *Vd" Gǵ F  @ *" P)L" W=( +8" ELq  L9" T" ! " +s y  j"  \" `<" ~" 0EJ" pď" 0 IV" Qy" *T" 0 [" " 0':5 U\' ڤ !Py:" `q*" v" CF sr x 0 `pb" p   ." cY p@ =[G" P%: " 0P f!U    " M" P|r `x " X p v  @o _b @X 0<  @ u PE n!V" @; " 6 " ` " X Kv { } P s x " @ " M C!n t V" [" " ` " 8L" ` " |#!Y! ;W " `D " p %cH" " 8" `.  # P, QF!v" ";, 4} s" . h i qg" `9f\!@x<" j@" @Cz"   p #; 0   p #" @> " A+" c. XJN & Kj" MQ" P:" ;  S+ 1 X" . f" L" lA" % <4" pF (%" k" F ]" ` Q+ 1 " W"  v" /E" =2 ; vg" `za v E" 0 j0 И H" @ D F o" 0 " @< " BLZ  p " /"  @@" ?W" @q" ` 8: ƣS!<"  " `" Iy" /"  8L" `\0/:" " [>y @ r" P MLl" 0e" A!R" H5 ` <  -! (Kc" @m" Cc" -0" pw6" *G"  * ^ 4  Y" 8U" P " p" 8 [" Qx" 'N T" n}  " !d X " [2" !tXt" ( U"  "! 2 M" @|" 4" JLE" Y 5̌" I$+ 1 xR 04 Hh ! - :y "  R" D" C 7 I  " 4  " @ PE  o jOX" ] " A A!(W([ Xsw } %"  8 ]" (!02: 0 " $H=" 0^CL" px  YFx" " 3= :" 0  `m jt 0y "  Q>r w g!H6o u Œ *ե"  S3" 0|X" @QBx " W " KHs" 2 p< F" 0<>"  dX"  \3 > Q2 < f" !P0A!0'" 3_ " )" `*K+ 1 j" `; ] j zN  " `c" L~" @ " :" ^" "  `[ < ^." ?S! `6" E" ǘ!pr" A+ KH" t" /pL> )n~!xd" P3g" b Y" iJ" pf" @m I" @p >"    @<   " Դ F "   Ȣ". QL" Tv y X" q ! ' 0" - -  4!H8^" Pf  g ( Pp _0 vi" pC" @," q" %[o!j(/" QN NI t$R" @e3" G5!" PM" %! pb X f" r; " I/" pu&{"  " P .bF" @# ` A!8+" fS 5   [ G" 3 }  @2 " L L" Gg" c yr!`x5w" 0#*" `f" b !" @ (" PS!k" i]" P " Ex" ` h" C H @E ! h"  " P " 0*" CB! 5" BE8Z" @ J " &c Z" Y 9x" G TF" #К!p(" @ 1 ' " `x;" HHn" ] ) l"  u" "C ' " T +" %s" }"  b" M (RY > A '" M%" pl " 8\: " P'h: @ "  {" P HD!s^" ` 8" 0 % O ң ! xc< P :" "H $N"   s" Fq" z C" : p" PI`) D!jc" `}" #eg" N@" >m!P " ;C 2 " == 0e.p" " 1!dt!iN" M j .! ( ZO @ F_" 0 :8q" p # 0, VJ" p #v"   _" N pi X p  `8  " C" \B" @ ]" l 0w F!(w: 4 )k" .y!" Cx" p+]v" ]s!P9" p ʬ" P& K " "" `I uF" ); JJ" @ )"  n" u C" ` O" ^ & e " @%ޥ" L" *%" 00 ғ" @ (" +" " 0 ݢ"    d$ p, T" '(! p0 xv" "C! :fq" @!H $" ` t!pi" @Id" P   " Ia !;D" <w  " P~    r 9!  " @jOV" 2 G  %" $G[" " P N N l @s  G" " " "'& ¤C" `I" p& )" < C" 0L" EQ" w E P"  L\" 1" e  ]"  " KLgC" `/ e! |  $E0 6 .  χ" E|" F* p KQ" Pt< 6^;!PzY" P k" 0n %" - " 0 @!" `7LÎ" <L @ )" pJ" " ?C" I !W(!pK" ` #! @7 ^ 2" 0@" P<" . Z" !" .z1T!v" ` !8ƻ" 5 D" ^ r qX8" \p `v " 9 & @ "  S" I" p8 ," ) " w" .* ɣf W 0/" >q w " M  2ֆ p -n 0u k" UKzf! `" F," %RZ" G7" ` " p# {\" 0  " j!l $"  5 b" - %@< $+" p 8" K  Ҽ R "  " EL" = to v F UX" !(8t" p KM" #" @2L" `W?" p, o $ -v { Sk" @ n _(" 8 " @C / j _9 hك" p>  # #" i "D!@7"  @E  0>" @" "z" 1Z" PL n u I"  y ? @ + / |` W X" b 0 " - 6" @C"  J," mk   " !a " Pb*" ] " 0 " 0 a" 0 ." _ -" %!x" OR" 8? k/o u m h "  ١" "'  ^ f D" 9 "  pe GN" `8'" ) M" $ D3" p~P!P" %q" !"  b" ۱" , #" & g!sX" PF" p#s" F" _7" `; ,!Pcz" @ .s" p< J"  " P> 8wP!HP\" p" "" j " " ," L2" ="  &O! f   2 ^ " и" p"  !7 ЁC"  C"  " 9~" =4" |" 0p9 @ ݝ!Ȑ " 0a " ; " 5" p" @ S" `I" H " `;   T 6 s x 0 б 30 t" 0; !  t ( " 0'e"  " 0YZ" @] " pW" P<Nթ" 0/ _ O Pf "  " - t!i"  XC 6p" Pv J " 5" `dS"  %x" `" @A! " @(F"  0 p " P0 + .w" y " 0(!p` " (!b (!`  '!] " . Q'![ h `] Wf" '!\ " p" '!P]  19'![   &!Z  "i'!@\ %8  ] Ub" Lv(! ` jx ~ $3" 0Z" 9 '" pY P^ 7(!0_ "(!^ þ" >Z" `Y(!` - D" wa#" 7 (!^ $ z" `1tl X q" MH'!@^ '! [ eo!Xj(! 2 ` c; P E'!Z !'!P[ t! `u o T 1 Bo" Pu 0 ` 6@" {$ D!S   _ N" IxJ" #c" `" `@ /a(!_ r" (!@a " @,L(!_ "   " 9T'  ` 0 $"  l X .A" @L)!Pb h/(!a ӗ  P ) '!] |"  < ` '!]  =" #My" ,NSC! <$" @$% B & ѣwt! u`"  \" R"   }" 09~ " @a"  T!(N" 8< A!8[" X _" @*" =." 0" PID!нP# Kmh" `e CN3" p{" ^ C>!@e&" p " @ 8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX**+***,****,**,***-+***.********.*,**/***,0*****1*,***.*2******3************4**.*****+*****,*************,+***5,*****   &'    & )!!  $$                    ! " #$ %!  $   $   $          ) %%      ! $  !     & "  !     '      )  %%          !! %                   "         )$ %%  )'!! '      !       ')$ ''    '('   (     $ '    #     &        $        %  $     !" $ !          '' ' $         &       $    )  !$!!&$ fM_;t)J)$VJ)$dV)$rd)$r)$)$ )$ )$ )$ `$ a$b$c$d$e$f$.g$=.h$L=i$[Lp$j[q$yjr$ys$t$u$ӯkqѯ $rѯ $sѯ $ tѯ $!uѯ $"vѯ $#wѯ $$xѯ $*%yѯ $7*& $D7' $RD(qo`)` l ui 3| ii 2-@``' 4S&y 0P&y ,51/ii .-ri +ui *|`B hBpBxB BBBBBpBBBBEbBEbCdCd Cd8CeHCeXC epCeCgC eC$eChC1eC?eC@hDLeDZe(Dxh8Dhe`DwehDzexD}eDDfDeDdDcDdD,xDdDwDeDeDeEeEe E-b(Ee8Ee@EePEeXEehEepEeEeEeEeEeEeEeEeEeEeEeE0bFdFeFe(Fe0Fe@FeHFeXFe`FepFexFdFeFdFeFdFfFdFfFfFcFxbGfGufGc G@f0G f8G fHGPG f`G]bhGfxGfGfG,G fG"fG%fG(fG+fG.fG8fG1fGeH4fH7f H:f(H=f8Hw@HCfPH!eXH8fhH8pHFfHHfHKfHOfHRfHUfHXfHHYfH[fH^fHafIofIdfIgf(Ikf0Inf@IqfHIofXId`ItfpI3bxIwfIyfI|fIfIfIfIfIfIfIAIfJ*bJfJc Jf0Jf8JfHJePJf`JfhJfxJ JdJfJfJgJgJfJfKgKf Kf0Kf@KfPKf`KfpKfKfKfKfKfKgKgK gKg L,g0L,g@L#gPL#g`L:gpL:gL1gL1gMLgMLg MCg0MCg`MRgpMRgMWgMgMhgM,gM_gM_gMdMdNrgNrg N|g0N|g@NgPNg`NgpNgNgNgNgNgNgNgNOO}O}O~O~ O~(O~0O+~8O4~@O<~HOG~POT~XOc~`OhOpOxOOO%OO2O;OOO@OOЇO OOPPPP  Ph(PЊ0P8P@@PpHPPPȋXP`PHhPpPxP PpPPЍPP0PPP`PP؏PPPPPP8PpQQQPQ Q(Qh0Q8QC@QHQ_PQ}XQh`QpQX}xQ Q@ Q Q0 Q}Q Q Q Q@ Q}Q Q Q Q Q R~R` R R (R 8R@R HR PR0 XR hRPpR xR` R` R` RP RR@ R R R R R R R` RR S S S S` S@ (S 0S @SHSp/ PS3 XS `S% pS(xS/ Sp2 S S # S`S, S0 S` S" SP SxS. S2 S@! Sp' TTP. T2 T! (T$ 8T@T@- HT00 PT! XT`$ `T! T`PTPT@ T` 8UT@U HU PU XU UTU U U U UPVp 0V HXR`X SxX@XX X  X XXXX XP X XSYSX[Ux[U[U[U[U[U[U\U8\UH\Uh\|U\yU`TaT8aTHaThaTaTbUbbb0. bP. bVg ighghghg hghllllmPmmxmon o`n(on0on8o8n@ooHonovovpv(pv@po`poppp pp0wpPwppqp@q@q8qqqqr8qsqy `ypy yhyy y y y Xzzz{{ 0{z8{ @{ H{@ X{P {{{ { {P {P {P ||||| }(}`H}`}}}}} }~`(~@~`~x~~~ ~~` @Xx @x|  X|` hP pP x |@ 0  }@  `~h p 8~`   ȁp p~  H~P X Ȃ؂ȃ0P ( 0 8 HP ؂   ȃp Ѓ   8P`p 0`Ph؅ `0Hh ؆`(H`0 ) H4 ,  "  5 (* p5 ) / * 0Ѕ803 @, H P# hpp4 x* Љ@؉4 + 8 @- HP1 P Xp `P h0 p x X- 1 0! !   Ȋ Њ ،p8Ў@HP0XX` hАؐPx `(088@HؒX`0ءPȣ`(0p8@ HHPXȧ@hPx ((08ȩPX8`h`8` PxPX8ؽp Hмp0xX08P(xh ` `  8xs@sHs`thtp tx4tDtTtdtttttttTttssssssss s(s0s8s@sHsPy`{h8{p(hTTTU8VVVWPWWW@XXXXXYYZbbPccdd@eXe fXipiiiiiijjkkkkoop ppppqqqqr r8rPrhrrrpwwy@yhyPzzzz{XpЋ 8P(@X(@0H0H`xآȪXpЯ(@Xpر(@Xp0H`xpPhpT xTk Vk `Wk Wk PXk hXk Xk Yk bk 0fk hik ik yk zk 0k TUXXXbd`f(q(wXy zz@|ؓxT T T T T TUUrrrrrrs(s0s8s@sHsPsXsz{{p|ȸиظ (08@HPX`h@HPX`hpU`UU UhUU(UOpUOUOUU"U"UV V] V(V@VHV W hY Y Z c d XV`V_hVopVXYY@Z(ccHdde؃xVXYHZ0cccPddeVYYPZdVYZXZ@ccddV ViVi Wii(iVPVVVA V`VWWW 0W8W  @WeHWXW? pWhxWa@aW,WW WqqWL L WW WWj djdjW3XXXde Xy `dy ey (X0X8XXX Y Y (YY bY 8Y?h?@YWWHYT PY`Y#xYxYqY,Y#Y{YYYZ(Z0Z8Z `ZZZZ[ [P[p[[[[\@\`\\\\]0]P]]]]] ^@^p^^^^_0_`____` `P`p````a@a`aaaab0bPbhZ, xZoZoZYZ4 Z4 @[4 [4 [4 0\4 \4 \4  ]4 p]4 ]4 ^4 `^4 ^4 _4 P_4 _4 _4 @`4 `4 `4 0a4 a4 a4  b4 pb4 H4 ZZF ZZZsZ[D [8[([rH[h[A[AA["["\(\X\(x\(\ \j\j\V\\ \h]h]S(]8]& H]lh]lX]Wx]]g ]]]]]e ]^]^(^@ 8^{X^{H^nh^x^> ^x^x^j^^6 ^u^u^e__2 (_rH_r8_bX_h_U x_____Q ___z_`0 `q8`q(`_H`X` h````x`K`` `e`e`O`a4(a4XaHxaHa^ aaaaa abbbbL(b8bZ HbhbHXbxbbbbbQ c `c c cH c8c-c-c-Hc 8 Xc pcPxcR cc cc'P'cccd d0d8d @dFhd3 3 pdB B xddhd ddA dy de(e0e%8eZHe<Pe h `ehe(xeefe; e ص eggex x ew w ee  ee xr r r   e eem m e| | e11fff^^f(f ` @fHfPfXfhfxf+o+p+p+0p+p+p+Pq+q+Pw++H++++P+h+++8+p+++@+X+x+h++ȯ++++0+h++ذ+P+h+++ ++++@+X+p+++++P++++0++ff~f  f%h%%ffhpff h  ff hf  f8(h8@8f 0 f10h1(1gg<8h< <g 0 gh gh(gcicc0g  8g! h! x! @gtPtHg h   Pg8Xg@h`gDHDhgHhpg8xgm Phm m g  gHXhHHgghHh]]hS@Shhh(h X h iJ 8J i0 0 (iU U 0i&X&8i @iI PI Hi `i}xii[ i[ i[ i[ 8j[ Py[ x[ i"iii iii j (j k `z z  j j @ju u HjPjxjjjj`jhj@ @ pjjj ` jj%%j  jmjS xS jddjMk<<kk-@k-hk-k-z-8|-(k~~0k8kPkpXkX`kv xk  kv v kkkEhEEXEEEkk?l?l?Xn?n???Ќ?x??p???h??P??0??? ?H?p??@?k kNHmNpmNnN0nNNhNN(NPNNXNNN@N`NNNXNN8NN0NȼNNkk0n0n0n00Ȏ0000000000P0h000ll ll8hغ lV(lx0li8lX@l    Hl h   Pl Xlxh`lhl44(44pl l^l^@^l mm mO(m0mdmm@8m< m< m mm+m4 oPohXo@poeoeoexo`o(o1 oooHpPp hp ppp9ppppqq+ q0q!8qwqw8wwx|w|w|w }wX}w}w}w~w8~wp~w~w~wwPwwwwwHwwww(w`wwЅww@wxwww wXwhwwؔwpwXwwȚw`w8wpwHwpwwPwwwwwwwwwww8www`qq`xq q{ q}qOrOrOhsOq r (r0r Hr `r s @rXrpr/rs rF psQxsessrssc s s~s:s&sss& s spsCtt[t t(t0t8t@t/HtPtXt`t pt xt t(tOt9trt{tht`t tntt ttttuuu? u(u0u8u@u'HuPuXu`uhu;xuuM uu utuuQuusuuuuRuUuuvvvv (vl 0v8v@v:Hv Pv?Xv^`vhvpvv vXvf v v< vhv" vNv9vvvvvv#www w wj0w@wQ`w0xwwhhw\wx0w___w%w* wIIw  w(w9 09 w8we @e e wX HX @X w P  x x/ xSxS(xx0xt xt 8x!x!@xIxIHx x PxxXxLxL`xbxbhxxpx,x,xx*x*xxx y0(y ( 0y8yHyxy { { { Ђ yP{{{@y>`{>|>P>y h{ { | X yp{{|`yHy0y yzz(z 8zkتkk@z!HzpzNhNxzz[zAzzzsz  |(|N@N0|cH|X||A A A A |* * H* * }8`8}  ȴ @ p}}}0X~(xP~h~    ~~0E E E hxhDDDD`X(( в  8 0 ز   8yy(yy@0H88pxx111p1H   8 Ȁ((((Ѐ   h ؀ȶ  ж  66ض6H6JJ0JJee8ee @(H0ooPoo8  X H @  `  H  h  P  p ( x    ; ; ; ; tttt    Ё585X5h5_@_`__Hh) P) p) ) ^X^x^p^  `   ( h   0p8x`hp||||xJJ JJ  (    0  u pu xM  (`P`08@Є HTTT@xxЕP@f fЛff  ( М 8 X8Ȇ؞   8 8@pwwww] h] ] 0]  p    x   ȇ  Ȗ  Ї%%Ж%%GG@G0hH855p55@TTxT(THPppp(pX X`@(@@X@h0p28222B`BBPBuhuuupP x       (ȈS S 0S pS Ј8؈@X`` h  x L pL L L #x##X#XII0IKKXKKvv`vvh99p99  x H X :(:::PX`H hH H H  p   (x(((    (`(0x`؊ P   Ey` xd>7ȋh ؋XТxHpX@(P Hp08` 0В0Hp ( 0g@ HP`lp@?@?  (sHmP@؍33wM+ 0phx@    5ȏ  111811 =(0}8ؾX@ZHhP X(Hx`)hp Ȑ  @0 T T ( 0@ȑa  PhX@pxb ȓГ (@Xp9DȔDDD@DxDDDmw w w (w 0AHA`x   ȱ @ Kȕ <  0 8c (XY`/ o PiX# ȗLLЗooؗ jPX` ȘИPؘN8*> ( 0  8~~@HP  Xp5x șЙRؙ0C H`O К*v 8PhP ؛,   ^(^s|*HxPGS ؜ E@HW Y П ؟ȝ؝g@fHP~WV Ȟ;Vk3 0 x0 (YY0  8**@H`hpvqȟX< g (8@ppPX`Zp   x&H&U XB4 Р ؠ |@|| 0 34 `4 4 I (C0t8@PhI(Ipl0lxN 8N H@H H PX`p9x9( ( С  ( 0181 @0P8WXW@6`6PhV $Ȣ  أ@X 0  8J@pp@pȤAAФ ؤv+   ` hh @   Ц K  ئMЧ@x  3 z x@ШبJ B@BhHB@@B`   h`p-V 4B Ъ{  `  W   ( (0 @nx Hphx@X{ Ȭb^ hȭ@C*x8@ P|xX@xȮX@ }(GHJP\ ` x  .د  ~ X@Ȱ0H `xW]H]]{ $ ?P XZ`h   Ȳ J@\H  P+X`h8pPxhȳгس0,(0Y@o0oH PZh# pдش 8@H P PXX`ȵ&е I (ag  ( 08PX `wwp xYI , !!FFȷ  з! !ط(O 8@Hbp 8@@(`h@- - @h- ȹnz b  0H`x<CTȺ! к  0j j @ j Ȼ' F Hi`i@ix нh@0X8@?`h H Ⱦоu  ~h@RR+3 ȿ%п(@@X  `6h__h_@`_p8p`p >@Hhp   PW(W(}0)H\\PD `D p& &  K K = p 8P_ 6 @~ x)  |X p [ [   L  L  (08@`H@P  X`hp   Ra hp AA ( 0> <<11   Si @H6 Pt5 7  H 08.@`hdpxmm  O HX`% (g\ o  j@`p          ( 8P/ h7p1r r  }{  J @X`p5Qb t 0c@\Hpx  :    (00P `h p xg#yA  98@H `_ hpx$?G0`EhvxC PB1(86P Xxq y~p R}Xh>p@Q'()8@P[X5`nhp x  0HPpS7 xaH `p {[) ( HP_X[x_ (o (T0*P x- ) s  0 X p ,z 'd  (8j@``_N R u s(0 8@H P X `hpMx6  <%     | $ (08 @HPFXH ``hp! x !      \2 MH   (0 8@HPX`~hpx & G 1 D8-Q (l 08E@f H!PX`hMp1xWAk] (v  b !>  (0k8&@ HP X`h.p,x  0_  /( 0(8@HP-X` hp x-! " #$t)   /  T( 0 8%@wH]PX`hpxAF&  /9r# '(3  )(H08 @ZH PX`c h*p-x\> l f N+;S  M@   + l(08 @,HsPh X`_hJp-x .V 3/\ q  { (108@H P>X`hFp2x#  345 sC6 n K 7 (O 08@8HPXA`h-pxc  : ;'< =  (>0q8@HPeX0` h>p x@qAB $$ CDz 2  (0H8 @!HP X`FhpxG   Z 2 Y ' HS W (0 8 @IH3PX`JhKp0x(  L^MXP P .MB |  (08C@NHPX9`hmpx}H)^  O:! >Y o  P(048@QHP#X `h p xG>"8R  fST2 &( 0\8;@UHVPXW`h5pXxRW ! YZa n` [b E  { \(08@ HPX`hp x]P|) X ~ i ^  4> T (h 08 @ HxPX_`"hpxon `Br b$ cR  j(d08@cH PzX`X hpxUS QY5 Y   e  x  : f(R08@gHPTX! `hp] x[ XhV i_$ g0 jkl D(0m8 @8 HnPX'`hipxXp, e  1qu 9(908@VHrPsX `Jh$ ptxuUvY fi0Iwk6~ (R 08"@xH[Py Xo`dhp3x wyS 6}z{|}$,1 7(f08~@HhPoX`h2pqxX `] i{.Id  (< 08@[HA P X` h, p^x  WL v EM HHeAHtH5O%O@%Oh%Oh%Oh%Oh%Oh%Oh%Oh%Ohp%Oh`%Oh P%Oh @%Oh 0%Oh %zOh %rOh%jOh%bOh%ZOh%ROh%JOh%BOh%:Oh%2Oh%*Ohp%"Oh`%OhP%Oh@% Oh0%Oh %Nh%Nh%Nh%Nh %Nh!%Nh"%Nh#%Nh$%Nh%%Nh&%Nh'p%Nh(`%Nh)P%Nh*@%Nh+0%Nh, %zNh-%rNh.%jNh/%bNh0%ZNh1%RNh2%JNh3%BNh4%:Nh5%2Nh6%*Nh7p%"Nh8`%Nh9P%Nh:@% Nh;0%Nh< %Mh=%Mh>%Mh?%Mh@%MhA%MhB%MhC%MhD%MhE%MhF%MhGp%MhH`%MhIP%MhJ@%MhK0%MhL %zMhM%rMhN%jMhO%bMhP%ZMhQ%RMhR%JMhS%BMhT%:MhU%2MhV%*MhWp%"MhX`%MhYP%MhZ@% Mh[0%Mh\ %Lh]%Lh^%Lh_%Lh`%Lha%Lhb%Lhc%Lhd%Lhe%Lhf%Lhgp%Lhh`%LhiP%Lhj@%Lhk0%Lhl %zLhm%rLhn%jLho%bLhp%ZLhq%RLhr%JLhs%BLht%:Lhu%2Lhv%*Lhwp%"Lhx`%LhyP%Lhz@% Lh{0%Lh| %Kh}%Kh~%Kh%Kh%Kh%Kh%Kh%Kh%Kh%Kh%Khp%Kh`%KhP%Kh@%Kh0%Kh %zKh%rKh%jKh%bKh%ZKh%RKh%JKh%BKh%:Kh%2Kh%*Khp%"Kh`%KhP%Kh@% Kh0%Kh %Jh%Jh%Jh%Jh%Jh%Jh%Jh%Jh%Jh%Jh%Jhp%Jh`%JhP%Jh@%Jh0%Jh %zJh%rJh%jJh%bJh%ZJh%RJh%JJh%BJh%:Jh%2Jh%*Jhp%"Jh`%JhP%Jh@% Jh0%Jh %Ih%Ih%Ih%Ih%Ih%Ih%Ih%Ih%Ih%Ih%Ihp%Ih`%IhP%Ih@%Ih0%Ih %zIh%rIh%jIh%bIh%ZIh%RIh%JIh%BIh%:Ih%2Ih%*Ihp%"Ih`%IhP%Ih@% Ih0%Ih %Hh%Hh%Hh%Hh%Hh%Hh%Hh%Hh%Hh%Hh%Hhp%Hh`%HhP%Hh@%Hh0%Hh %zHh%rHh%jHh%bHh%ZHh%RHh%JHh%BHh%:Hh%2Hh%*Hhp%"Hh`%HhP%Hh@% Hh0%Hh %Gh%Gh%Gh%Gh%Gh%Gh%Gh%Gh%Gh%Gh%Ghp%Gh`%Gh P%Gh @%Gh 0%Gh  %zGh %rGh%jGh%bGh%ZGh%RGh%JGh%BGh%:Gh%2Gh%*Ghp%"Gh`%GhP%Gh@% Gh0%Gh %Fh%Fh%Fh%Fh %Fh!%Fh"%Fh#%Fh$%Fh%%Fh&%Fh'p%Fh(`%Fh)P%Fh*@%Fh+0%Fh, %zFh-%rFh.%jFh/%bFh0%ZFh1%RFh2%JFh3%BFh4%:Fh5%2Fh6%*Fh7p%"Fh8`%Fh9P%Fh:@% Fh;0%Fh< %Eh=%Eh>%Eh?%Eh@%EhA%EhB%EhC%EhD%EhE%EhF%EhGp%EhH`%EhIP%EhJ@%EhK0%EhL %zEhM%rEhN%jEhO%bEhP%ZEhQ%REhR%JEhS%BEhT%:EhU%2EhV%*EhWp%"EhX`%EhYP%EhZ@% Eh[0%Eh\ %Dh]%Dh^%Dh_%Dh`%Dha%Dhb%Dhc%Dhd%Dhe%Dhf%Dhgp%Dhh`%DhiP%Dhj@%Dhk0%Dhl %zDhm%rDhn%jDho%bDhp%ZDhq%RDhr%JDhs%BDht%:Dhu%2Dhv%*Dhwp%"Dhx`%DhyP%Dhz@% Dh{0%Dh| %Ch}%Ch~%Ch%Ch%Ch%Ch%Ch%Ch%Ch%Ch%Chp%Ch`%ChP%Ch@%Ch0%Ch %zCh%rCh%jCh%bCh%ZCh%RCh%JCh%BCh%:Ch%2Ch%*Chp%"Ch`%ChP%Ch@% Ch0%Ch %Bh%Bh%Bh%Bh%Bh%Bh%Bh%Bh%Bh%Bh%Bhp%Bh`%BhP%Bh@%Bh0%Bh %zBh%rBh%jBh%bBh%ZBh%RBh%JBh%BBh%:Bh%2Bh%*Bhp%"Bh`%BhP%Bh@% Bh0%Bh %Ah%Ah%Ah%Ah%Ah%Ah%Ah%Ah%Ah%Ah%Ahp%Ah`%AhP%Ah@%Ah0%Ah %zAh%rAh%jAh%bAh%ZAh%RAh%JAh%BAh%:Ah%2Ah%*Ahp%"Ah`%AhP%Ah@% Ah0%Ah %@h%@h%@h%@h%@h%@h%@h%@h%@h%@h%@hp%@h`%@hP%@h@%@h0%@h %z@h%r@h%j@h%b@h%Z@h%R@h%J@h%B@h%:@h%2@h%*@hp%"@h`%@hP%@h@% @h0%@h %?h%?h%?h%?h%?h%?h%?h%?h%?h%?h%?hp%?h`%?h P%?h @%?h 0%?h  %z?h %r?h%j?h%b?h%Z?h%R?h%J?h%B?h%:?h%2?h%*?hp%"?h`%?hP%?h@% ?h0%?h %>h%>h%>h%>h %>h!%>h"%>h#%>h$%>h%%>h&%>h'p%>h(`%>h)P%>h*@%>h+0%>h, %z>h-%r>h.%j>h/%b>h0%Z>h1%R>h2%J>h3%B>h4%:>h5%2>h6%*>h7p%">h8`%>h9P%>h:@% >h;0%>h< %=h=%=h>%=h?%=h@%=hA%=hB%=hC%=hD%=hE%=hF%=hGp%=hH`%=hIP%=hJ@%=hK0%=hL %z=hM%r=hN%j=hO%b=hP%Z=hQ%R=hR%J=hS%B=hT%:=hU%2=hV%*=hWp%"=hX`%=hYP%=hZ@% =h[0%=h\ %<h]%<h^%<h_%<h`%<ha%<hb%<hc%<hd%<he%<hf%<hgp%<hh`%<hiP%<hj@%<hk0%<hl %z<hm%r<hn%j<ho%b<hp%Z<hq%R<hr%J<hs%B<ht%:<hu%2<hv%*<hwp%"<hx`%<hyP%<hz@% <h{0%<h| %;h}%;h~%;h%;h%;h%;h%;h%;h%;h%;h%;hp%;h`%;hP%;h@%;h0%;h %z;h%r;h%j;h%b;h%Z;h%R;h%J;h%B;h%:;h%2;h%*;hp%";h`%;hP%;h@% ;h0%;h %:h%:h%:h%:h%:h%:h%:h%:h%:h%:h%:hp%:h`%:hP%:h@%:h0%:h %z:h%r:h%j:h%b:h%Z:h%R:h%J:h%B:h%::h%2:h%*:hp%":h`%:hP%:h@% :h0%:h %9h%9h%9h%9h%9h%9h%9h%9h%9h%9h%9hp%9h`%9hP%9h@%9h0%9h %z9h%r9h%j9h%b9h%Z9h%R9h%J9h%B9h%:9h%29h%*9hp%"9h`%9hP%9h@% 9h0%9h %8h%8h%8h%8h%8h%8h%8h%8h%8h%8h%8hp%8h`%8hP%8h@%8h0%8h %z8h%r8h%j8h%b8h%Z8h%R8h%J8h%B8h%:8h%28h%*8hp%"8h`%8hP%8h@% 8h0%8h %7h%7h%7h%7h%7h%7h%7h%7h%7h%7h%7hp%7h`%7h P%7h @%7h 0%7h  %z7h %r7h%j7h%b7h%Z7h%R7h%J7h%B7h%:7h%27h%*7hp%"7h`%7hP%7h@% 7h0%7h %6h%6h%6h%6h %6h!%6h"%6h#%6h$%6h%%6h&%6h'p%6h(`%6h)P%6h*@%6h+0%6h, %z6h-%r6h.%j6h/%b6h0%Z6h1%R6h2%J6h3%B6h4%:6h5%26h6%*6h7p%"6h8`%6h9P%6h:@% 6h;0%6h< %" f% f% f%: f%: f%Zf%f%f%f%Rf%zf%f%Bf%zf%f%"f% f%f%f%Rf%f%fHu5HHXK Ct#OHHpHރN Ft1,HHH9HHHuHHXK Ct#HHHHكI AtHRH:EH=H5HHu! Hu'H/H"HLpp@PuIHL1HpYIvHLH~Xu=HH-X1HHcXu'LbL0HHmNHHHHHH[HvaHt&1HtHNiH<1ijH(1jSHHHJ(HR @H[HaHH|$HL$LLHHD$HxPHHiHH|${H|$Pt HH)T$PHD$HxPwHHD$HxPa,HHHGH|$!H|$`t HLH)T$`HD$HxPEHHD$HxPHHHH|$H<$LHHL$HD$HxPHHiHH|${LLLHFHD$HxPxH;H#H[H|$5HHD$HxP>iHHD$HxP(HHHH|$HLHD$HxPHHD$HxPHHHHu\HHRHM H=P HAHuHHu GB]L[&HHHD$H% HD$H% % HD$H% HD$H% HD$H% HD$H% HD$H% HD$H% HucNHHu'OHutLL7u HHHH뱐Ht*LHwH|$HHHu*HIIEHHH H|$LHIUHILHD$HL$Hup[H|$ HHHuMHuA,Ht!,H|$H HuHHHHHHXHHHHHHH*HHHHHlHHHHHNHfHIHtP[HI~HIFbH*H I~HIFBH HH}HHE"HHcI|$HID$HHAH{HHCHHI|$HID$HHgH{HHCHfHGH}HHE~HFH~XHLH(HHH;I9tHH|$0IL9toHHHuHHEMqHHEpHHuHHHHqHsdvHauvHOvHrLH](vHHuIHHuHHHHuHHuH|$|HHuH=PlHHugH=JRH=IDH={P6H= Q(H=PH=QJ H=#JHuHu H|$HHuHtLL8HH|$8HD$HH9D$Pt H|$PH>LHHwH_HHH|$@IL9tHD$H|$ HH9tHHHLHHvHH&H=> H]t!uHH<'PHHHHHH~HHnIFHHLWIELHwH?HH{8HHWHHHHHHCH{hHHHShHHTHHH^H{`HHHS`HHHHsHHCH{pHCHHHHSpHUHHDL,HULHHBHMH HCLL+HCHHHHChLLνHULHHBHMH HCL袽L+HCHHHHChLLpHULHHBHMH HC]LDL+HCH*HHHChbL*LHULHHBHMH HCLL+HCHHHHChLHUHHHRHMH HCL萼LHUHHHRHMH LMgL+HUHHHC`LULLHUHHHRHMH HUHHHRHMH HCL读LHUHHHRHM0H HU8HSHU HSHRHM(HLHUHHRHMH HCiL+IHCH;HHHCpsL;L#LLsIL+HCHUHHHRHMH HCLHULHHBHM0H HE8HCHU HBHSHM(HLHUHHBHMH HCL3IHCHqHHHCpLqLYL{L3HCHUHHHRHM0H HU8HSHU HSHRHM(HLHUHHRHMH HCMHHu3HEHhM Et[LHEHxHO Gt-M~AH}[HUzHHHHqHu襼HHXK Ct#芼HHxH߃O GtH4H'HRHHH'HL1HHu"!IELhAM AEt(81IEHXLK CtHHH&IE H|HdLHHu 蓻I$L`AL$ AD$t_sI$HPLJ Bt$M~I|$8It$HHIHHHuHHXK Ct#HHxH߃O GtHHtH:HoHWE1HHu0膺ILxAO AGt6HE1SHLVIHxLO GtmhHHMIHHE1HHu%ILxAO AGtNAǹIHXLK CtyMHcHKHNH6AHHu"bILxAO AGtZzE1@IHpLN FtWMaIHxLEHH HHH{8H{(H{H}1HHu3譸ILpAN AFtd1HyHL1zIHXLK Ct,HDI(HHaHHE1HHu"ILxAO AGtS(E1IHXLK CtM);HHrAHmHUE1HHu*脷ILxAO AGtbAE1ZIHpLN Ftq MIHxLHH:HHHHHHHҶH{HtQHD$E1H$HPH<$HCt H<$HD$HtHMtLHD$E1H_H{HuHHE1ؐH6H{HtQHD$E1H$HPH<$HCt H<$HD$HtHMtLHD$E1HõH{HuHHhE1ؐH:HRHʾHBHH2H誾H"HZH{HtRH$E1HD$HPH|$HCt H|$5MtL(H$HtHL"H$E1HߴH{HuHHH$H貴H{HtRH$E1HD$HPH|$HCt H|$MtLH$HtHoLOzH$E1H7H{HuHHH$HHH:HHHHHHʳH{HtHPHCHvH^H6HNHƼH>HvH{HtHPHCH"H HHHrHHHHHHH{HtQHD$E1H$HPH<$HCt H<$HD$HtHMtLHD$E1H菲H{HuHLH4E1ؐHfH{HtQHD$E1H$HPH<$HCt H<$CHD$HtH1MtL$7HD$E1HH{HuHHE1ؐHjHHHrHJHbHںHRH花H{HtRH$E1HD$HPH|$HCt H|$eMtLXH$HtHGL'RH$E1HH{HuHHH$HH{HtRH$E1HD$HPH|$HCt H|$MtLH$HtHLH$E1HgH{HuH$H H$HHHjHHHHJHHH{HtHPHCHHHfH~HHnH覯H{HtHPHCHRH:HH*H袸HHu HuHu6H{VLHHSLHHHt蹻H!HH HHHxHT$HzH;=Xt H=tJ Ht$H>JABHkH.HHHHHHHHHH>HH.HHHHvHH.HHHvHNHfH>HVHHFHH6HH&HHHHHHHHHHHHHHtȹHu轹H|$nIHu螹Hu荹xHu}hHumXHu]HHuM8H|$Hu.HuHu #H$H5H]HHHH5H7HHHPH5HHɪHHjH5CHH裪H[HtH5HH}H5HNH5LLWHHH5!HyH1HH:H5HSH HHdH5uH-HHHvH5HH迩HwH;H9tLaHH5HH胩H;HH}HtH=t#G uHPH脳LG PW ڐH(HHt۶HH5uH5HHH<$HH9tHH;H LEl$H5UIl$HI$ۿH<$HH9tɲL聨H9HHRH(HtHHHH5H|H|$Ht͵HHHH=AHH=9BHH=%AHH=AlHH=@XHpH= ADH\H=A0HHH=@H4L L褱HLL茱HLLtHLdHLLLHLL4HLLHL HHHzL9t H=tJ Ht$(HPJABߐH=t G GPWÐH=tt G GPWƧÐHUHtHLHUHtHLHT$0HtHHHT$0HtHHHUHtLHHUHtLHlHEHxH;=%tLHEHtLH=HEHxH;=tLHEHtLH HH|HHHdHHHLHH8uH78uHp8uHy8uH8uH8uH8uH58uH8uH_8uHP8uH8uHz8uHS8uH8uf.H8uH 8uHC8uH8uH8uH8uH8uHx8uH8uH 8uH8uH,8uf.H=HH9tHHt H=H5H)HHH?HHtHMHtfD=u/UH=Ht H=5hq]{f.89SHH?HGH;GsHHGHC[HPPSHH?HGH;GsHHGHC[HPPHtHu@[fHtHu@fHtHu@Hcf.HH9w HRH9H?HHH+pH9rPH譟f.H;=)ufDGH7D7SHHHHGH|$|$t)HH@HHGH9GvHHGHCHH[DHPPuHHxHߋw HH[HHuɖHHXK Ct#讖HHHHكI AtH VsLH4HiHwf.DH>iHwf.DH>iHGH4׺H>iHGH4鷺SHHH4$HT$Hߺi荺H{H|H[fDHaHHÐf.DHLHHLSHH譠H[t@HyLH鑠HiLSHH}H[D@SH跰H[.f.@HqUHSH`H9t覰HH‰[]f. HH‰[]f.DHAUAATIUSHHH9t#N1H9t?H[]A\A]f.蛭I;D$uE9,$@H[]A\A]I;D$tH[]A\A]f.DATUHSHHtH=豲u"DeEHt H=xcD[]A\ÉD@UHSHHHtH=D_u"EHtHH='[]H[]ÉffUHSHDHFuH[]f.HHHHHHHHHHHHHHH HHH`HHHHHf.fH`f.f.DHSHH8HHG4H{HtHHH;.uH@[D[fD[DSHwH[Nf.@HfH=ffH講HHHIHHzH9tHHDHfDSHHH4$HT$fH=_ffH_HHfH=YffHIHH=HtH5VH覔u H[øH(HGpHxHD$HHT$Ht$HD$HD$[H(fDSHH HHT$Ht$HD$HHHGpHxHD$HcHD$ H{puHzH [f.DSHGH[Ώf.@HfH=,ffH,HHHIHHzH9tHHDHfDH1H肋Hi$@BHD$HSH臭fHCPC0C@[Ðیf.HAHHmf.SHwH߾[ ff.H+C HHHͨf.SHH߾[驱fHB H9HHf.SH臵H߾[YfH袕HH5THHHHf.@HB HHH]f.SHߴH߾[ɰfHB HHH靧f.SH蟴H߾[yfHMB HYHHMf.SHoH߾[)fHSHH HHD$HHH$HD$P0T$1u H$HH [f.f1L9DHHH݌f.SH'H߾[yfAUAATMUSHH_Hl$HL;D$@t@HqH9t;*tH躢uLeDmEH1[]A\A]f.IqH9t7;*t"HHL$ut!HL$HqH9u뫐H9YuDm H1[]A\A]f.DATIUSHHHvH9t1?*t uL#HCC[]A\f.AUATUSHHLGHvI9tFA8*AIHt L诡t+Aw5HLHHH@(H[]A\A]fH[]A\A]H1[]A\A]黑f.黊f.雑f.雊f.cf.{f.HAUATUSHH(H?LGHH$HD$IHD$MI9yulHHIHRILSIHP8HT$Y^HHt;|$t/L$ t$!΃ttuHxHH9t7f1H([]A\A]HtI$ILHLP@uH$H(H[]A\A]f.H> H> HDHHMf.HDHH-f.HIDSHHH H߾[f.HADSHHH٢H߾[˫f.HHCH5CHHHH3~f.@USHHH-@HtH=$H8H{HtwLKJ4H9wjHJHH9rDHH9sHHALBHuH9tkIHH H9tLH@LKHCIHxHSH=HtH=y$uwH[]fILHFLHAL LKHZH@HCH=K1HL=PHL.H>y菎HBH59BHHHHHWUSHHH-HtH=H{HHHCHHHHH9w}H H9v0HHXHuHtH=@u_HH[]DHHH{H)Hv$H HyHH1HHHf.H H81HH봿nH_AH5AHHHHڒ%HAf.H=HtH蛌HHSHH调Ht;HxHHHH@xH)1HH[HHHu^f.@HHǀH9vHH9s HpHHt:HzH1HHHBhH)pHHHf.pHHu蹩fHyH9vHuH9sKf.H貋H{H5lHHHH3f.@HrH H5ĹHHHHSސf.@H2HH5HHHH螐f.@SHtHBzHԼHHv蚨f.H{HGf.SHǗHsHԼH HHv Hu=H0H[DCعD)AHEHωK؃hH9tHSH0HSH[fDHWH8Ht%HԼHWPHw+W(xt7xIW(HDuHO HfHHPHL@HW HPHH4f.DHǖ@Hf.H觖@Hf.Df.DHHHf.H7 H7 SHH߾[驤fSHH߾[鉤ff.D[f.f.D˜f.HH==蠋HHDHH=耋HHDATIUHHSHHHHD$HPt HD$HHD$HEHT$HHP t HT$I$H[]A\I@PtWH L"7 IcLfLHBMtpHDI@x(MHHBHLH@LDMMHDHE11HDXMAIM ExDHBzDHBk@LcHB[@HE11HDXMAIM Ex? A@IIM DLHBf.HI(@tw<t^v4HH<u=IpHL$IPsHD$HfuHH<twH6H1@AUHATIUSHHHOHT$IHl$@11@IAUHЃHH ƄxHt%HHLHYtH[]A\A]H1[]A\A]f.@t*p< t1v<@t#H[]sHH5HHHHG"yfjHtfH臀Hyf.kf.HH]f.rf.{sf.Hhs[sf.ۄf.HȄHHvH` f.DHHH}kf.SH7lH߾ [fAWAVAUATUHSHHH^H9?*IIAtHXHHpH9t;*H/L}IGHXHHpH97;*NHHwHpH9tHրnH}HPDHe# IU H[]A\A]A^A_@L}IGHXI$H@HpH9t;*HbAuAT$Љ׃``A!AAE!ȉ! DDDIG0H;|H}It$ANLHH@ H[]A\A]A^A_IEH[]A\A]A^A_@H9H;XI$H@H;X3H1[]A\A]A^A_@H" IEI$H@HpH9fDDLLHHf.DH!HHef.SH臉H߾([ifAUIATIUHSHHG HxHF HpH9t?*t ~tH1[]A\A]I|$HuKLHH@ H[]A\A]fDf.HHH-ef.SH7[H߾ [驊fUHSHH_vHHuH߃H@ H[]DHqH{HpH9t?*tɉL$ H$}H$L$ uH}HPH[]f.HH5 !HH5 ֈHHHf.SHvH߾[驉fUHSHH(I9tH{HHH@@H([]fHHqH9t,?*tLD$HL$HT$|HT$HL$LD$uH([]f.AWAVIAUIATULSH(H_IvHL$`Ld$hH9tzDIA*t3HHL$LL$T$DD$J|DD$T$LL$HL$t:H9IILHLd$hHL$`LH@8H([]A\A]A^A_I,$AT$Mx*L1H9DAD$H(1[]A\A]A^A_DIuAD$IqH9t6A*lHHL$LL$T${T$LL$HL$@AT$ fAUIATIUHSHHju!I}LHHHH@0H[]A\A]H[]A\A]Df.D1f.1f.SHgwH߾[IfHHvH9t1?*tHzH@f.DHHt(HHHHp"HrKHHHHHÿkHH5HHHHpjHH5ɗHHHH[pf.HtCAUIATIUHSHHHH@L)HAHHuH[]A\A]ČfHtSHtNAWIAVIAUIATIUHS1H(LD$fHAHLI9uH([]A\A]A^A_qfAWMAVIAUIATIUHSLHHHHtHu)MLLLH|HH[]A\A]A^A_HLcIfH5L _HDAWIAVAUIATIUHSLH(LD$IHHHtHLD$u'LLLH>|H(H[]A\A]A^A_@HLc f.AWAVAUATUSH(H<$LL$Mt4IHt,HIMI1fDHLAHLMI9uH([]A\A]A^A_f.fHtKAVIAUIATIUHSHH^HHfDL)HAHHuH[]A\A]A^f.Ht;USLHHu H[]@HH)HHwhHH[]f׋f.L9T@Ht[ATULSHHHuHH[]A\f.HGII)HHHHH1hLHH[]A\餋f.HIHHf.SHwgH߾([ɂfAWAVIAUMATIUHSHHL9D}LHHUf.HEt;HHHD$t It$HHH}HMLLHP@ƒ-IHMuH[]A\A]A^A_f. T$f.HHqH9tÀ?*T$G\uT$t5f.DAWAVMAUIATUSHXH$H4$T$ HL$LL$CtGCImL;$THD$HpH9r}*tHt\H$L$D$%D$'I)HD$&LHHD$0HD$AmHH9HutmDSdt CUEEu AAEEMDȃgDEԃDcA{ HH*Hs|$ HD$0HD$@ID t$DHD$8IIt I>NMMtM9@@8|$&uH<$I| Ht$$HL$LL$ Ht$P8Dd$PK L$LDK ^AX|$%HHt$0HH DSEEEEDD1ȃ Ht$0A^DET$8H3D$%SfHD$HpH9}*|HD$H;hDD$ L3CH$HyI1L9$D$%DCD$%HX[]A\A]A^A_fA~AXAEMH<$Ht$0H$HH9$DЃAE!A{ HCD$%fD$8 C@D$'fDT$8H3SHAED$%FA~ AtTAEtMH$Hx|HH9$EH$HH9$AA@D @D$%DЃDH4$D\$(HUH|$L$HL$HP@D\$(AADDEEԃ>H<$tH|$HHL$DT$,DL$(L$HH4$P@DT$,DL$(AA'HptdHD$HpH9uDH<$D$%C@t$&@ t$'D$'D$& bD$ D$%C JHT$0DcD$%HT$8S'D$%AAEaE|DpAHHCD$%AA2f.DAWAVIAUIATUHSHHHt$_^„2E D$ HD$ E~HD$)fDHMH;L$ HD$( EIM|ML$ HD$ ID$(K\&L$,HD$0HHރH4$ut1MtHHHtIEHLK|&HL$Ht$HP0„qH|$0u D$(~H<$uD$(HEHHD$0foD$ HEEE~t~AFHH[]A\A]A^A_fHL$0Ht0Ht*HyHpH9?*t$Am$E@KD&HD$0HftAFy@AFD$ EEXHEEDATUSH=9,WHHX1HL$ ;*D$ 11HHd0H-H=N IHM*uT$ Hut6HdHMH= tD$ ہ΁LdfDH!-H= Ht鑁HH= HtMf.@OweL  AKcLHtEDG(D;G,};IcAL @HG J@DG(0HPHHHtHu1HOHDARtAOt DOH AQARu AQHWHHHO1?ff.@HAUIATIUH-U SHHD;OwHcDHH[HuH[]A\A]@H[fHS:u A$HSLLH[DAEHSDHAUL,ATUHSHHH,f.HHHHD$DL9t>DeH=uHƃHH@1@H[]A\A]Dff.@H7nt}A< E1HE1AAfADH)‰AD9|/CH7AD@ЍQЀ vκ0)EDED@ADfDHFHNQЀ wHApE1fSG(;G,}7HcЃHH RHWHCGAHHCH[Ð1H[fSHWH<_t)1H5Et1@H1HOfA:D$2HC8_(HHCH1HEHxcA<$f*HIŹH= LH= LtH= LHIHC8ILL8H0H7HHH6HsH`iHSHIHHI=H1Pv r<H?IEHIOHzIHI/HZrHHHCLHHBIxi HEHHC0HHC1!AUAATUSHHHGHD$Hl$@80u1w1H¾.HHEHt)HhHCD8(t0DcLCLHDcLHuH1[]A\A]HHCHD$H[]A\A]H11Ҿ.HGH[]A\A]@AUATUSHHWLg@~EKHHl$Hs;HE8)'H@fDHHHCC(;C,HcЃH RHS C(H* H HHAAfHMHsIf1hHHL$HL$gT1MHH9AVAUATUSHHHwHu}A HHH@ C(;C,^HcЃH RHS H,1EC(Hl$E,F0< fUwH{Hl$H0HEHD$HxH{HCt HPHSsHD$fPxfDHhHD$HZ8N@1HHHCHT$HHHHD$DcLCLHHEDEHUA'AAAADA1DHA1HGA.HX1ɾ HfH1ɾHfH1ɾHfHH{H|HC8_HHHCCHH H~vH1H1ɾHMfhHm1H1ɾHf1HV@1HD.1H1ɾHH1ɾHfH߉KH1ɾ H H߉KH1ɾ H~H1ɾ HdfH1ɾHDfHRfA 2H~$tt HAA9C(;C,}eHcȃE)HuYHu/ƃHHH@HǃHHPH)ƃ)Hĸ[]A\A]A^A_HWL HpHAH H7L @ǃ0@ǃ0HuHE1Hu <AՃ8/'Hx'H@AUHuHEDl$AHD$H- f.AE9)D<HT$DH\@D9|$~HLu A,-HHIHD4DL9tE0H=uLD$HHƃH@1LD$L- HAnM}4fHHHD4DM9H#EuIH=uHƃHH@1L%" HA{Mt$ 0DHHHD,DM9!E,$IH=uHƃHH@1L- HA{M}1fDHHIHD4DM9"EuH=uHƃHH@1L- HAgM}1fDHHHD4DM9T"EuIH=uHƃHH@1L-[ HAgM}1fDHHHD4DM9!EuIH=uHƃHH@1L- HAdM} 1fDHHHD4DM9 EuIH=uHƃHH@1HULl$0H5 1L"L H!%tDHJHDщHL),HIl.HHIHD$DL9EeH=uHƃHH@1L- HAtM}1fDHHHD4DM9rEuIH=uHƃHH@1HmHPH=u+HƃHH@1H@,@HUDH;HUDH ;L-j HAjM} .HHHD4DM9EuIH=uHƃHH@1HUDHA L-X l:M}H2HHIHD4DM9rEuH=uHƃHH@1HEE18'%Hu/ƃHHH@HǃHDHHPH(ƃ(HU9HH=<*HPH)ƃ)}=c+Aw*HUDH49HE8:"H@8;HUHMDHNHELuH5 LhH@LxHhIFH8*6LDHMLDHLLDHMHߺH5 HDHkM,fDLmHmAE1$378Hu/ƃHHH@HǃHDHHPH(ƃ(IU7HHPH=u+HƃHH@1H)ƃ)HDH|L=HUDHK)L- HAoM}4fHHHD4DM9EuIH=uHƃHH@1L-$ HAoM}1fDHHHD4DM9EuIH=uHƃHH@1LeH- HAoL}El$0DHHHHD4DI9DuH=uHƃHH@1HUHmHt DH5HHPH=u+HƃHH@1HDHH{ƃ{r5HHPH=u+HƃHH@1H}ƃ}HUHt DH 5H}LIv.B+LHHH@E1HǃL5 A,IN/DLIILD<DI9E>IuƃHHA1H@H r f}#HUHZ H9B2DH4HHBHu+HƃHH@1H ƃ f}NH- A_Lm1fDHHHHD$DI90DeH=uHƃHH@1HUDHHl$8H(D$@HD$0HD$0H(H HD$H3t$@"HD$0H(H(Ll$0H Hl$8L(IHL$0LD$@HD$HM=/IG+/LAfDHPwQD@Eu@Ap&oDAH)D0oHHL0IL)L@H(@HHuHUHD2|$@L(DHIAtIUDHAI h2AuH(HUDHCmL- HAnM}0DHHHD4DM9EuIH=uHƃHH@1L- HAhM}1fDHHHD4DM9FEuIH=uHƃHH@1L- HArM}1fDHHHD4DM9&EuIH=uHƃHH@1L- HATM}1fDHHHD4DM9EuIH=uHƃHH@1L-X HATM}1fDHHHD4DM9 EuIH=uHƃHH@1L- HAgM}1fDHHHD4DM9j EuIH=uHƃHH@1L-4 HAjM}1fDHHHD4DM9 EuIH=uHƃHH@1L- HAcM}1fDHHHD4DM9B EuIH=uHƃHH@1L- HAvM}1fDHHHD4DM9 EuIH=uHƃHH@1HED8Eu E1#L(#9U$ LD$0HD$0Hl$8H(H D$@HD$HHUDH,DT$@EHD$0H(EJL >H(HD$0L(MzLD9ZHH\DpEuHPzvE1=LcmHmMHI&HHHHD$DL9DeH=uHƃHH@1HUDH+RLuHMH- A{Lm0DHHHHD$DI9JDeH=uHƃHH@1D8EL% HAaMt$0DHHIHD,DM9E,$H=uHƃHH@1LpHUHpL(Hǃ(Atu z#DH;*<HH=SHPHDH<ƃHH=HPH>ƃ>L(LpcHEL(Hǃ(HnH Ll$0HD$0L(JHD$8D$@Ht$H3pH HDME AAHH@HAH(I@AL(IA@JIp3LI HHuHUDHHD$(HD$8u HD$ H DHLEu_HHPH=u+HƃHH@1HHUDH ƃ (H I9uL(HUDH(HA*HPH=u+HƃHH@1H.ƃ.Hm}FHDH'OALcmHmM4HI(fHHHHD$DI9DeH=uHƃHH@1HUDHA[L- &M}H2HHIHD4DM92EuH=uHƃHH@1HUDHq&"AHELchH(MHI(fHHHHD$DI9DeH=uHƃHH@1EH(AA HUHt A@HUDHv/WL- HAcM}2HHHD4DM9bEuIH=uHƃHH@1L- HAVM}1fDHHIHD4DM9EuH=uHƃHH@1L- HAvM} 1fDHHHD4DM9:EuIH=uHƃHH@1Hu/ƃHHH@HǃHDHHPH~ƃ~HU#iL- HAtM}4fHHHD4DM9EuIH=uHƃHH@1L-j HAtM}1fDHHHD4DM9EuIH=uHƃHH@1L- HAtM} 1fDHHHD4DM9EuIH=uHƃHH@1HPHD$0LD$0H(H Hl$8D$@HD$HH7.@HUDH!HUDH!~HUDH!jHUDH!VHUDH!BHUDH}!.HUDHi!HUDHU!HUDHA L-4 4!M}H.HHIHD4DM9t:EuH=uHƃHH@1HUDH fHUDH RHUDH >HUDHy HHPH=u+HƃHH@1H]ƃ]HUDH HUDH HUDHA-L- M}H*HHIHD4DM9t:EuH=uHƃHH@1HUDHeHUDHQHUDH=HUDH)HUDHIl$MQwNHPH=u0HƃHH@Il$1H ƃ IcՀ| uAIcHMHLl/fHHHHD$DI9DeH=uHƃHH@1HpHtH HD$8HT$0HT$0H HU: DHHpHD$0H vHUDHHHPH=u+HƃHH@1H]ƃ]HULl$0H50 1LoL H!%tDHJHDщHHL)thIl'DHHIHD$DL9t:EeH=uHƃHH@1HPH=u+HƃHH@1H}ƃ}HUDH7HUDH#HHPH=u+HƃHH@1H)ƃ)HUDHpHUDH\HUDHA)8L%] Mt$~8H-fDHHIHD,DM9t:E,$H=uHƃHH@1뫋ULl$0H5 1L L H!%tDHJHDщHHL)tiIl(fDHHIHD$DL9t:EeH=uHƃHH@1HPH=u+HƃHH@1H}ƃ}HDHx:HUDHL@L9@vL9iILYHEHD$EGAED$}/L(H{H- A_Lm3HHHHD$DI9DeH=uHƃHH@1H-u AtLm0DHHHHD$DI9hDeH=uHƃHH@1Nd-I9wkfHHPH=u+HƃHH@1HD,DHI9LDmH)H~A_u}_u}UuLuM9s10HHIHM9VAHЀ vۍH7LchHhM>HI*@HHHHD$DI9DeH=uHƃHH@1HuH輦H8/H DHHUH HH HULl$0H5 1LL H!%tDHJHDщHL)'HIl)HHIHD$DL9EeH=uHƃHH@1Ll$0DH5ն 1LL H!%tDHJHDщHHL)thIl'DHHIHD$DL9t:EeH=uHƃHH@1HPH=u+HƃHH@1H}ƃ}HAH@FJ3H HAt~DAIHLAWH(AHfoT0IL)fo\@H)_HD8H@D@HtHJ3LHLXH Auǃ0H@DhEA AHEx<H@<0z<1H5 H蠛QIEH=̵ UL0Lu ?8H= L€҅1H=γ L" DHLT'H=R LH=$ L>Hu/ƃHHH@HǃHDHHPHH(ƃ(qHH=u&ƃHHH@1HPH)ƃ)HRDHHpt HD$0H H HHPH=u+HƃHH@1H>ƃ>HƃHH@1%HH HBH ƃ HƃHH@1L- HA_M}1fDHHIHD4DM9EuH=uHƃHH@1HDHHUDHHUHDHL- A:M}1fDHHIHD4DM9EuH=uHƃHH@1HH HBH ƃ ƃHHH@)ƃ)}=HǃHHPH-ƃ-HH=u&ƃHHH@1HPDHH[ƃ[HUrHH=u&ƃHHH@1HPH]ƃ]GHT$ Ht$ H HD$(,HUDH HƃHHH@HǃL-y HA{M} 'HHHD4DM9t>EuIH=uHƃHH@1뫋ELl$0H5 LP1GL H!%tDHJHDщHHL)tbN4*"HHIHD<DM9t:E}H=uHƃHH@1L-R A}M}'HHIHD4DM9t:EuH=uHƃHH@1HmNAǃ0HD$0DHHL$0H(H Hl$8HD$HD$@ HD$0DL$@H(EGHu/ƃHHH@HǃHHPH H(ƃ wHDH Hv r<DH8Hu/ƃHHH@HǃHDHL- M}A>HPH<ƃHu/ƃHHH@HǃHHPH(ƃ(HE|HUDHW|$@L(sH@HhHE8HU:)HDHHHuDHxtH@Ht8/tHl$01H5 H1HHHHHIbHI&HHHHD,DL90DmH=uHƃHH@1맺H5 H,I}tgLDHHu/ƃHHH@HǃHHPH ƃ LDHH]HDHJHB8)t ǃ0HRDHbDHHUDH>LDHM9H<_Hu/ƃHHH@HǃHHPH@,@LDhǃ0ZHu/ƃHHH@HǃHHPH-ƃ-HUH5 H.߾E LDHMnHtsBk4]UHSHHBHH4HD$HHHH$+HD$HHk4H[]DLJ0ff.fL* AWH AVAUATAUHSHHHcH(tMHHPH=u(HƇH@1H ƃ HUDHH- LmA:H4fHHHHD$DI9DeH=uHƃHH@1HRH[]A\A]A^A_9fHHHBH ƃ DH?HHBH ƃ DHHDHHPH ƃ HU7AHu,ƇHH@HǃHHPH*ƃ*[L-[ HA M} 1fDHHHD4DM9EuIH=uHƃHH@1H- HAcLm1fDHHHHD$DL9DeH=uHƃHH@1H-D HAiLm 1fDHHHD$DI9DeHH=uHƃHH@1H-z HA Lm1fDHHHD$DI9DeHH=uHƃHH@1H- HA Lm1fDHHHD$DI9DeHH=uHƃHH@1H- HA Lm1fDHHHHD$DL9DeH=uHƃHH@1HHPH=u+HƃHH@1H&ƃ&H[]A\A]A^A_ÐHH-М A&Lm-fDHHHHD$DI9tDeH=uHƃHH@1@L-G HA M}1fDHHHD4DM9>EuIH=uHƃHH@1L-Л HA M}1fDHHIHD4DM9EuH=uHƃHH@1H-5 HA Lm1fDHHHD$DI9.DeHH=uHƃHH@1HUHHHH=u/HƃHH@HU1H(ƃ(DHKHHPH=u+HƃHH@1H)ƃ)H[]A\A]A^A_@HUfƇHH@HǃƇHH@HǃƇHH@Hǃ 3AVAUIATIUSHHtPIuILPu1HP wHH10HHuL(L1ɉHǃ(HHHtwHBH(ƃ(I$HtHnHH=HPHLH)ƃ)#L([]A\A]A^HƃH(ƃ(I$H@HǃHbuHƃHH@1IHу(H=HPH1L(L(Hƃ(Hǃ(1HH=HPH)ƃ)sH uH=tUHPH Hƃ H=THƃHH@1(ƃHH H@HƃH)(ƃ(fI$H@HǃHHXAWAVAUATUHSH80AHAI ]IrBHKCL H )*teDHL HHt[0uQCuHSEuH3vHKCL H *uH HDHL H8[]A\A]A^A_H DHHL H8[]A\A]A^A_L(HRDHHDž(L(HAHPH=u+HƅHH@1HD.ƅ.HCLhAEF3w0H Hs MmA}O3w HHHuLDHL H8[]A\A]A^A_L-ۑ A:IM3HHIHD|DL9NE}H=uHƅHH@1ҸH d HH HA{HK 'HHHD|DH9tDD;HH=uHƅHH@1ҸH AEH\$H5ϐ HߍP1Hڋ H!%tDHJHDщ@HHH)thL<!HHHHLI9tA H=uԈL$HHƅH@1L$H A}HK'HHHHD|DH9t@D;H=uHƅHH@1ҸH MmAEYff.AWHIAVAUIATAUSHHHt)fDP-HHu1LDHEHH=*HPH ƃ HtcHBH[ƃ[IUHtDHHH=tzHPH]ƃ]H[]A\A]A^A_DHƃH[ƃ[IUH@HǃHvHƃHH@1ZH@8*uwL1DHHHƃH [ƃ[fIUH@HǃHH-; HA HM-fDHHHHD4DH9tFDuH=uHƃHH@1ҸH Î DL1DHHHt HBH)ƃ)DƃHH)H@:1t fDAUATUSHHBLchHhMtuHHI(fDHHHHD$DL9t>DeH=uHƃHH@1@H[]A\A]D0ATAUHSHHHPH=HDHH(ƃ(HHPH=u+HƃHH@1H)ƃ)[]A\@HCHOOHƇH@1:ff.HBH:f0AWAVE1AUATUSHHLhHHA};H $uD<HLJ<BH=uHƃHH@1ҸL( fDH$HLfHƇH@1ƃHHH@Hǃ!ff.UHAWAVAUIATSHHD'HA_H=c HE1u4C$<;w)HHsC rLHuIHfDL)IAHqf.ATUSH-L% MtH=RHH-H]HEH9t@H;HdH;]uHEHEMtH=[]A\HfHfH@H@ .?fHH-1XHHEHEHE3/HfAWAVIAUATUSHHHt$L%Q MtH=L-AE$H-HuH}HT$IH;EtrIHD$H H9wbH1H)HHHHH#wEAELHmMtH=AL#HHC[]A\A]A^A_ÐMtH=HD$HxTHT$HHPH[]A\A]A^A_HHfH@H@ ^fLH-aLHEHEHE@LLHEHEHE-Hf.DHH%HHDf.t HDHH=muH}HfH=EHz)S)\'H@Hf.AWAVAUATUSH(LcL-pL=aIMLIH)I9IIH|$H9H-'DI9HL$Ht)H|$HLD$HL$LD$HHIUHHEHHHJ@HMcHIEHH]MII9wIMEH(H[]A\A]A^A_fH1IAHLIMeHTf.@AUIATUSHHHT$ D$ Dd$ HAtRHLH|H8HHAu9fHHD$ H<Hރ9uHHH[]A\A]Hf.HtSH H{[f.Dt HDHH=xuHHH=aԲHmH5fH=o*HSHf.@t HDHH=uHHfH=H))7HHf.AUATUHSHHfL% IMt Hou2HCHHHD(HHMt LuH[]A\A])Hm H5m HHHH+)VHcf.@@0|AUIATUSHHPtKE1DLHImHHEHt@HXH8H]HHuH}IӱM9ePwI}HıI}8H[]A\A]鱱f.DHG8H+7PHHGHHHHH0AVI1AUATIUSHG8H_,pHHHoHHHHHGHIHUHHxHPHEHENI8It#HLfDH4 H1HHuIHHIHI$I[]A\A]A^f.fATIUS0HGHOH9sHWPfDHHH9rIT$PH| ]At$11ID$8MD$fHfHL9w f9sI|$PHI|$PID$Ht;1ID$HHHHHHHHCI9l$Pw[]AD$@A\f.D@0AUATIUSHH= HGPE1HtlDIT$HKDH,HEHt!fHXH8tH]HHuH}I[H}RH}IH} @M9l$PwI|$H/I|$8H[]A\A]HtE1IT$HKDH,HEHtHXH8H]HHuH}IˮM9l$PwfAWAVAUIATUH1SL<HHG8 pHGHHHIHGIHH=V HIEHL4IU INHHDHHc0J)49HI~ IHHIFHH0J<8H9wbH7HHI~ xILHH= HH tIVH(LH*IVLHIEH[]A\A]A^A_HH)HHt HHuHHHKIVHLHHPIIFHL Ht LHJ<&H>HHuIIIL8f.I}I~ IIIFLL$IAMNwIFILL$HLHIL Ht#LHfDJ<&H>HHuIIIDAVAUATUSHH0HGHOH9sHWPfDHHH9rHSPH| &sLC1HC81fDHfHL9w f9sHCPHt$D9(D$A$D$ AD$(.f.@AUATIUSHH(Hl$ H3HHRD HH@HHH(PPt$ 9HjHt$HMHHRD u_D$HID$A$H([]A\A]@HH@HH H,PPt$ 9HHHxHߋw 蛥H(H[]A\A]DHt$H諊HH0HHRD uHH@HHH)PPA9D$ JID$D$A$Ht$H;HHHHRD >t$ D9(D$A$D$AD$(Nf.@AUATIUSHH8Hl$ HSHHRD HH@HHvH(PPt$ 9H芡Ht$ H HHRD u_l$ HA<$A|$H8[]A\A]fHH@HHH,PPt$ 9HfHHxHߋw 軣H8H[]A\A]DHt$HkHHPHHRD uHH@HHt{H)PPA9D$ Fl$A<$A|$DHt$ HHHHHRD Ft$ D9(l$A<$l$ A|$8~f.@H1 SHHHHHHCXH9tLHU H{8HH[@UHAWAVAUATISHPH{pHHHc E1HEfDE1HHEHH7 HELhLxHEHEI}LPHL?YH" H{@HDž`HDžhHDžpHHPH HDžxHDžH@HHC HDžHHXؕH HsH{pDžHƅHXHC`HHDž蒬I$L(LHpLFHxH0HspLH>H2L*I$HH&H@ƅ&(IDHkHHq1臌^_HH'ƅ',:HHqqUZLYHƅ() Hƅ@HDž8HGH0HH LpHxL9HI)11^H8H0L蘢IHH0HH9tYH HHHPH H@HH HHXHC`H9tH H{@HHX裤IELPH{pLPH= HHuHeL[A\A]A^A_]H)11Iq@HHsP舲IIL!H٦LHH0HH9tEII#IH{لIELPLPHw H{pHH諥LsAWAVAUATIUSHH\$@Ht$H{pɍH* 1HDŽ$HDŽ$HDŽ$HH$1f$H HDŽ$LhLxHDŽ$I}Ll$@HL? H H{@HD$PHD$XHD$`HHD$@H HD$hHD$pH@H$H HD$xHHD$H虑H HsH{pDŽ$HƄ$HD$HHC`H$HDŽ$QI$Lt$Hl$ LHpLFH$3HspLHHLI$Ht$HߺH@D$(IDH$8HL$fHZCHt$HD$, HL$fHZALHD$)HED$0HD$ HD$pHD$(H LD$`HL$hL9I)11HJHT$(Ht$ L舞H|$ HIH9tRH H$HHD$@H H@H$H HHD$HHC`H9t H H{@HHD$H蠠IELl$@H{pL|@H? HH$vHL[]A\A]A^A_ÐH)11HInfHsPH脮IILHբLݭH|$ HH9tJIHHH{ހIELl$@L|@H H{pHH$贡H|f.fAWAVAUATIUSHH\$@Ht$H{pɉH* 1HDŽ$HDŽ$HDŽ$HH$1f$H HDŽ$LhLxHDŽ$I}Ll$@HL? H H{@HD$PHD$XHD$`HHD$@H HD$hHD$pH@H$H HD$xHHD$H虍H HsH{pDŽ$HƄ$HD$HHC`H$HDŽ$QI$Lt$Hl$ LHpLFH$3HspLHHLI$Ht$HߺH@D$(IDH$8HL$HGHt$HD$,HL$HALHD$)HED$0HD$ HD$pHD$(HLD$`HL$hL9I)11HR|HT$(Ht$ L萚H|$ HIH9tZH H$HHD$@H H@H$H HHD$HHC`H9tH H{@HHD$H訜IELl$@H{pL|@HG HH$~HL[]A\A]A^A_fH)11HIn{fHsPH脪IILH՞LݩH|$ HH9tJIHHH{|IELl$@L|@H H{pHH$贝H|f.fH SHHHHHHCXH9t̆H H{8HHeH[鬆f.fHq SHHHHHHCXH9t|H H{8HH[@AWAVAUATIUSHH\$@H4$H{p:H3 Ƅ$1HDŽ$DŽ$HH$H_ HDŽ$HDŽ$LpHDŽ$H@I~Lt$@HDŽ$HHD$HH H{@HD$PHD$XHD$`HHD$@Hػ HD$hHD$pH@H$H{ HD$xHHD$HH HsH{pDŽ$HDŽ$HHD$HHC`H$DŽ$AI$Ll$Hl$ LHpLFH$}HspLHH\LTI$H@IDH$HD$@H@H0HH(PPHt$H߉D$$H $fHZ耇IHH@IHH,PPHt$LD$ԗH $fHZA/IHH@IHjH)PPLLD$腗LD$pHEHD$(HD$ D$0M HD$`HL$hI9H)II11H}HT$(Ht$ L"H|$ HIH9tHVf.fH= H tt ËH uHH=I T|H=ݢ H|H=9 <|H=% pH= dH= XHf.@AVAUATUSHH- ]@tuH[]A\A]A^Ld$LsHl EH=y HhH-6 H= H- H= H-P H< H= HhH- H= H-_ H=+ H-  L5+ H= I67eL- H= IueH-O H= HudH H5 Hx·H H5 Hx跇H0 H5i Hx蠇H H5R Hx艇I6 H= `fIu H= FfHu H= ,fH H5 Hx~H H5 Hx~Hל H5 Hxw~HУ H5 Hx`~LxH[]A\A]A^H陙USHHHGHGHl$GHlHHzH}H[]DAUIATLUHLSHHaLLyH6vHH[]A\A]G HDfG HDfHHH9t]H9t8HHVHHGHWHFHGH8HHxHFH0HHpDHHGHFH0HHpHH?H9tHHVHPHHHBHvH6fDH9t%HJHFH9HHGH0HOHNHJHFDHDHHHHPHHH9uÐHFH7HGHFH8H~fHHWHHPÐHHH9t]H9t8HHVHHGHWHFHGH8HHxHFH0HHpDHHGHFH0HHpHH?H9tHHVHPHHHBHvH6fDH9t%HJHFH9HHGH0HOHNHJHFDHDHHHHPHHH9uÐHFH7HGHFH8H~fHHWHHPÐH9t%HJHFH9HHGH0HOHNHJHFDHDHHHHPHHH9uÐHFH7HGHFH8H~fHHWHHPÐHHH9t]H9t8HHVHHGHWHFHGH8HHxHFH0HHpDHHGHFH0HHpHH?H9tHHVHPHHHBHvH6fDH9t%HJHFH9HHGH0HOHNHJHFDHDHHHHPHHH9uÐHFH7HGHFH8H~fHHWHHPÐH9t%HJHFH9HHGH0HOHNHJHFDHDHHHHPHHH9uÐHFH7HGHFH8H~fHHWHHPÐf.DUSHHnHH[]4dH鄔f.fH5;: H=b 1df.HH=ա Ht@H7f.fAWAVAULoATUSHHGHL/L` HGI$HD$HI|$'H|$I1DHMebLs LhLIIHC LH<(ID$ H4(H~H`u[]A\A]A^鸋f.@HHu"H= H tHHHÐHAWAVAUATIUSHHHk]HHCHH9LuL{HI9NHLGLLD$HKLD$IHtHs1HITHH9uI9v!IDIT HHH9uHCLHD$诀HsHtH{1H H HH9uI9vHHL HHH9uLsLkHCMtL/HD$HtHL- MMAD$HCLHu-fDI~\H9fII>H&[H9uI~Hk[HlH}IvL+IMn@H}MkGqLuIMPH{M'tu1HC*DGt:HCJ HH9kvCHHkZHlH}tI6LIMt5@H}Mt;GHP@@ʋGPWGPWHP #0@DATIHUHSHYHMHQH9rHUHHtHL[]A\`H=c, 6efDATUSHHHt IHHLH fHHu[]A\f.fAVIAUATIUHSH L- H= H|$Mt uWHp H;Hu"XH9HH;HtfXH{H9uXHIVHH *H9Mt I$LPMtH|$ yH[]A\A]A^HH= h fH= H ) ) STfDH; XHHEDID$Mt6IVH *L!HBMt IVL$,AD$AD$\H H5 HHHH7a[H H5 HHHH)TaHH @ t H DHH= fuH HfH=m H )s )| SH` Hf.AWH AVHHpAUATUSHHH7HG.@HHH9uHKH % HHpHHH9uHKH  HHQ`fDHHH9uHK H H R11H=v f HH5۔ H\ H4]H= WH5$ H H ]Hn& L=_ 11H= R H_ H8 Hю H6 HH/ H4 H1 H. H+ f , e K H< L=E lH5i H" HJ\H H5 H H HH \H H5 H H HH [H߄  HH jH5 H HH [Hy$ 1L5 1f 1H= H H H H HH  H H H H H H H   9 H* L53 XH5o H HZHi# L- 11H= } H Hc 1fz HÊ HX HHQ HV HS HP HM HJ HG HD B J i HZ L-c >iH5w H@ HYHъ H5ډ H H HH YHo H5H H H HH dYHe H5 H=J  H HH H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H| Hy Hv Hs Hp q ]H5e H HWHW H5x H H HH VH H5 H H HH VH=^ @H5 HK HVH= DH5C H H\VH=@ +MH5 H- H5VH L% 1H=N | H Hb Hۀ H` HHY H^ H[ HX HU HR K  H L% DH5 H HpUH H5 H{ Hv HHc >UH H5 H9 H4 HH! UH} S HH@ ;cH5܅ H- HH3 TH H- 11H=e ӿ H H H H HH H H H H H H H H  ǿ  H H- ]H5 H HSH 11H=  H Hn H Hl HHe HV H? HX HY HV HS HP HM HJ HG E n  H @EH5 H HRH H5\ Hu Hp HH] RH H5 H3 H. HH RHs H5 H=  H HH̻ Hٻ Hֻ Hӻ Hл Hͻ Hʻ Hǻ HĻ H H H H H H H H H H H H H H H H H H H H H H H H| Hy Hv Hs Hp Hm Hj Hg Hd Ha H^ H[ HX HU HR S ^H5G H H0PH)x H5~ Hk Hf HHS OHx H5 H) H$ HH OH= +?H5| H HOH H5gx H H HHx sOH H5 HN HI HH6 AOH Ht$HL|$Lt$Ll$ Ld$(Hl$0HD$8hHSH=~ HT$GHT$H= L2H5v LHBR2H{ @HH5Zp HHHB!2H*m @HH5Av HHHzB1IHD$HLAD$HD$XHj HI$,H54s LHID$,B1I@Hs HID$Ht$PLHI$KH5s LHAT1I@H+y HID$Ht$PLHI$3H5+t LHA1H?o @HH5r HHH_A0H.y @HH5ux HHH.A(0Lt$(Ht$H1HILzNH5 t LH@n0Hh @HH5vo HHH@=0Hvi @HH5=w HHH@ 0Ht$H1LHIWMH58w LHe@/Hdw @HH5i HHH4@/Hw @HH5s HHH@IH\$8Ld$PLLHH%aHM;HD$HH9D$PtL9;Hh[]A\A]A^A_f.H|$HHHD$PfIL4\IHE LH\$(H8H YHh)hHhHgHgHgHggHgHgH{gHsgHgHgHgHgf.AWAVAUATUSHhHH HH'HH=& HH= t;H= GHH8HƹH= t;HH= t!(-HHIZgfH H=q HHEtHh[]A\A]A^A_DHh[]A\A]A^A_fD(.-HHIYLeHh[]A\A]A^A_HD$ H= D$0HD$HD$0HD$ HD$(FHT$(HHte8t`HƹH= tFHH=k t,HH$:H$H|$1IHj&!H|$AH L 1G&H|$H59 1T.L5 M&fI H=o HHEDHD$H|$ HH9 1L|$fHH tI<EIHt8tHLE-tLd$@D$PID$LHD$HHD$@OIHD$H$HHD$Ht@B0=HD$@LL|$HBD0HT$(Ht$ ?Lt$HHD$@IT$M~H9 HT$PI9B0;HD$@L|$HH$BD0H$H9D$H$L0L7HH+T$HH9HLL?Lt$HHD$@IT$M~H9HT$PI9'A11LLSHD$@(Ld$ )LHH.VH]DA11LLRHD$@fDffDHH$HD$L4L6HH+L$HH9HLL >Lt$HHD$@IT$M~H9HT$PI9SB0=HD$@LL|$HBD0V6HH+L$HH9HLL=Ll$HHD$@IT$MuH9;HT$PI9B(;HD$@H Lt$HIBD(HD$LlH`H$H uqfHH=/ tHH= LL)HH5 L5LH+T$HH9HLL'f.@Hq^ HHIf.SHMH[&f.@H!b HHMIf.SHNH[&f.@H9\ HH If.SHMH[~&f.@SHHH!Y HHHGHxH;=^ uHQ@H[H=d tPHt$f@PJHDSHWMH[%f.@HY HH#f.SHLH[%f.@H!X HH"f.SH_LH[n%f.@HIX HH"f.SHLH[.%f.@USHHHH] HHGOIH[]HXSH*HZ HH[SH)H\ HH[SH)H_ HH[SH)HZ HH[USHHHHW HHGHH[]HBXSH7HX HH[SHHV HH[SHHV HH[HWH9WtFt!B9t)GPu3HBHG@r@H1HWDHHWf.HGH;GtfHW(Ht H9vHWufDHf.fȃE1H(AHGHHO0LOIHHu]LL)HHxHM)I9|@EtI1H;W LO HW(Et'HWM1L)H9LG fDH1fD*A4E1A6f1tfLG<EtHG(L)HG@L)H8DHW(LGIM)I9|HWk@I1HW(.HOQfH1H@ DGPt  GPf.SHAHC[f.fHW(1Ht+G f.DHG@HHtf;Hf.AVL57] AUIIFATIUHo8SHHHGHGHGHG HG(HG0H$H>_ Lk@HLcHHHCPCPE&HtHPHC(HC HS0HCHCHC[]A\A]A^ITAUATLg8UHSHHL-e\ HGHGIEHGHHG HG(HG0L#H^ H߾HC@HHCHHCPHHLCPHs%HtHHC(HC Hk0HCHCHCH[]A\A]HSHtHGHHHtDSFf.USHHH] HHGPttHV[ H{8HHH[]3Hw3H_Sf.USHHrHH[]HNSf.fUSHHHHtX HPH@HWHGX'H HCH{hHHV HHChH[]75HRf.DLIz@USHH4HH[]DHRf.fLIz@USHHHHU HPH@HWHGXgH H{`HHJU HHC`H[]4H{RLIz@USHH.HH[]HjRf.fLIz@USHHHHR HPHWHPhH@HWXHGH HCH{pHCHQ HHT HHCpH[]3HQf.fLIzt@HgUSHH@HH[]HQf.fLIz@H1t9AUATAUSHHHW(H;W0t'D"DHC(H[]A\A]fGPH+W L,HMLNL!HtXHs HH?HSHs HIH(HtPH+SHC(H9HHK HMLk0HKHHCHSH@0HS(H;S03H[]A\A]HK Lk0HC(@HtkATHIUHSHH~&LeLeHt8H]H](H] HH]0[]A\ÐHuHn"LeLeHuI4Hu[]A\@f.DAUIATIUHSHH8HHV HGHGHHGHGHGHGHGRcPLLHX HC@HHHCHHHH[]A\A]?DAUIATIUHSHH8HH?V HGHGHHGHGHGHGHGcPLLHQX HC@HHHCHHHH[]A\A]E?DAUIATIUHSHH8HHU HGHGHHGHGHGHGHGcPLLHW HC@HHHCHHHH[]A\A]>DHU ATIUHHSHH8HGHGHGHGHGHGHG{LHHHW HC@1HCHHHCPCP[]A\ >f.fHyT ATIUHHSHH8HGHGHGHGHGHGHGLHHH{V HC@1HCHHHCPCP[]A\l=f.fHS ATIUHHSHH8HGHGHGHGHGHGHG;LHHHU HC@1HCHHHCPCP[]A\LH#)H[]A\A]A^A_IEIE@UHSHHHHHGH@HVHTHEHH@HUHH[]rEHGf.@H-H%H(AUATUHSHHHFHHPHN1H HGHxH7(HE 1HCH@H|HE(H(HELc1LHH@HU0HHE8HCHEHH@HU@HHEHHC&HLHxH'H[]A\A]DIDDDAWAVAUL- ATUHopSHHH 1L+1fPIE(HHǃHHǃXHǃ`HǃhHǃpHCpHC'L58 1HIF(LsHCp'HA Lc1LHPHHPhH@HSpHC%LH&H[]A\A]A^A_IDI1D7DCfAWEAVAUIATAUHSHHHFHHPHN1H HGHxHZ&HE 1HCH@H|HE(H;&HEALsLHH@HU0HHE8HCHEHH@HU@HHEHHCt LILLLIc HLHxH%H[]A\A]A^A_[CIvCf.DAWAVL5 AUATIUHopSHHHT$L$ 1L31fPIF(HHǃHHǃXHǃ`HǃhHǃpHCpHC%L=- 1HIG(L{HCp$H? LkLHPHHPhH@HSpHCD$ t LSI HcT$LL LH$H[]A\A]A^A_IBIBBUHSHHHHHGH@HV@HTHFHHGHEHH@HU0HHE8HCHE HCH@HU(HTHEHH@HUHHCH[]`BHGf.@H3)H#H!u HGH9xt@HGHu DHHPHuHWH;zt @HHBH9PtfHGHHGHu DHHPHuHGH;xt @HHPH9BtH;PHEff.;f.+f.HGHPHWHtHzHWHPH;>t&H;ztHBHxHGHBHxHGHHxHGf.fHGHPHWHtHzHWHPH;>t&H;ztHBHxHGHBHxHGHHxHGf.fHVHFHF@tyHrH9tH9QLAfDL9tDHVDEu8HBHxH9HtIDEuAHL9uAHrH9QuHqH9rHPHzHxHtHGHxHzH;AH;G HWHBHPLA4@LHMt'EEuHA@H9rHWHPHtHBHPHWH;AH;BHzHGHxLALFHLBMtIPHzH~H;QH;WHwHHVHrHHfDHQHWH~HzHHWHzH~H;QH;WHwIHVHxHrHLHyHzHqKHw;IHqHqADHqLA{HFHH;Qt HwgfHq\HHLHHLMuoHPHWIH9F'HHH9ALAH9F8H9FHxMu=IIIHuLN}fDHHQHuLAH9hHOHHyL9t$HQHMtIPHyLGLIHxHOH9FHxH9GHOHyD9D 89LIuLLJMtIQHzHyH;VkH;WqHOHzHQLOHJHMt A9LQMt A:CHJIHL9FMt A8HJL9RHJDLIEuLLJMtIQHzHyH;VH;WHOHzHQLOHJHMt A9HyHR?IDLJDIIHJHtHQHJIIH;VPH;Q^LIIQLJfMtcAHNHxDHNHzHOL@HNHz.HOLLANHOM@HPME1HxLu{fHHOHuH~LFLQMu[IyAHyHtHOHyIyH;N%H;Ot|LOIIHzLI LWMtA:tD HzD AHOHJHtHQHJHOH;Vt!H;QHyHWHztLOH~HyHIyAHyHtHOHyIyH;NH;OLOIILILJ IyA HHyjHHHNMHHHNLNLN?[`LILNLOxLf.1Hu H1҃?H9uf.fAWAAVAAUIպATIUHSHH8HGH|$/i|$/u:M9A$H}6HEHxH w @AƉD$HEH@HHCH9CALu|$IVL9 LSL{9D$LLL)L)HH9HOHt$HLHL$LT$HL$HHLT$L)uvIHCILuI9IVL9i9D$1M A$@HUHH8H[]A\A]A^A_ÐHLLHL$]!HL$HCLuLSH^@A$HCI|$HSIHEH9sRHHCH9LuMfHHPHLufDHHPHkf.HHPPM~ALuMHHPHLuMLSL{HUM9v/MOLKMA$H}MzHHPPM~A$H}aHUMRA$H}8HCHSi5a5\5W5f.AWAVAUATUHSHHHHGAHH|$?HMDt$?E>HDd$H@LIEI9Eo|$HKE1|$,fH9D9UMUMMII)LL)I9LOIt$,LLHL$ LT$LD$LL$LL$LD$HHL$ LT$L)HLEMLMMHKM9AH9aHH9TD9HEHsHIELPPHHH[]A\A]A^A_fDHH[]A\A]A^A_@HH9EtHCHHxHߋw ?Hf.HH9 Et8HH{tA9\HKHH9tfHHKIEI;EHIEHf.HHKM9veIMMM9s6AHKfE#HHC@IELPHHKIELPHIELPPMMMUE E EH2f.DAW1AVAUIATILUSH8H|$'|$'IE^HpH\$(HHLLvMLNHHHI IEH@IHCH9CI~1H|$H;l$I0DW LCHsLH)LHH)H9HOHHHFH9NDO tfDO u HH9wHH)IMHCHI9H;l$PCA$IEHPIDHufHxL w <H8L[]A\A]A^A_f.A$HCIt$HHSHt$H9swHHCH9Ld$ALLHL$LL$PLL$HCHL$LCLMHCHI9 HHPHRHHPPuRHD$HIEHPIDHHPHHHPHLd$Ld$HCHS$HI30e090AWAVIֺAUIATIULSH8HGH|$/L$ |$/uDIt$MAEH~I$HxL w aI$H@IHEH9EMD$IpL9LMLU9D$LL)HQLL)HH9HNIHt$LHLT$LD$HLL$LT$HL)LL$LD$HIHHMILH]MD$L9IpL9C9D$tM)AELMLUIt$M97ILUMfHH8L[]A\A]A^A_DLHLMD$LMLU1AEI]It$M9v~AILUt>HEH;EMD$IVHEHPHAHEHPH1MD$IݾM~AEMDHEHPP@fHEHPHMD$IAEHsHEHPPIt$MAEHEM~IAE'Gw-o-j-e-fAWAVAUATUHSHHHHGAHH|$?HMDt$?E>HH@LIEI9EHKE1H9.D9eMUMMHH)MM)II9LOILLDHL$(LT$ LD$LD$LL$LL$LD$HL\$LT$ HL$(t L)HIIKLIEHKI9H9PHH9dD9HEHsHIELPPHHH[]A\A]A^A_fDHH[]A\A]A^A_@HH9EtHCHHxHߋw Hf.HH9 Et8HH{tA9\HKHH9tfHHKIEI;EHIEHf.HHKM9vuIQAIUIEI;Es5HKf.EHHC@IELPHHKIELPHoIELPPE E EH*AWI1AVAUATILUSH8H|$'] |$'u.IHxL w H8L[]A\A]A^A_DI$H\$(ID$HIHpHLHNHHOHHD$0HHHD$IH@IHEH9E;HD$E1HH0DA OHuHEHT$Mt$H)L)H9HOHHH^H9VDQ tDQ u HH9wH)HL)H9HLAHEIHHEH9EL;l$QH|$HO0DA :IHPIDMjQIFIT$HD$I$H9IT$H9T$}B0IFIID$I$BD0HEHUH9HHEH9GHEHPHL;l$7IIHPIDA11LLKI$efNfDHEHPPu|IHHRIDH;HHCHuHtHHH[]HH[]fHHf.fHGHAWAVIAUIATIUSHHH.L<LsMvIMtLLHyII$HL]I}HML$JHML,HM$ILIIHPIIMHMtGLHt =DHu3ITHHTHHI HQIH II)LHuIM9uHL[]A\A]A^A_AWAVAUIATIUHSHHHwHH:H{H[HCHuHtHKHHZI<$H{ H)HC(It$HtHK HH'HULs0E1Ht-HEH H9tbDHHPH9uL<HS0LHC8L1HLLHLH[]A\A]A^A_DAHHHsAW1AVIAUATILUSH8H|$'|$'u.IHxL w H8L[]A\A]A^A_DI$11LHPtIH\$(HHpH?LLnMLNHHYHHD$IH@IHCH9CD8DHt$1HN0DA /HsHCLH)H)H9HOHHL~L9VVDQ tFfDADQ u IL9wI)LLHCLLHCH9CL9SH|$AHO0DA XIHPIDHoDI$HxHOH|$HL$H;Hw@~ Ht$LI$HPD<I$HPH; HCHSHH9saHHCH9?HHPHL90IHHPIDfAHHPPIHHRIDxHt$@HpHD$D@IHHLHAQHHPHtDAIHJLufIHPIDHCHSIHPID2UHINf.AWIAVAAUILATUպSH(H|$e|$u.IHxL w 'H(L[]A\A]A^A_DIE11LHPIAt$H@ILsHKL9A9@E1|$mt$HLILLHL)HHEHHCIHHCH9CH?I9LsHK9D$H?L)L)HH9HNHrD$IELpInH;hw@~ HLIEt$HP@4IEHPH; HCHSIH9HHCH9@HHPHH?I9w5MuvMtg9D$8IHCH9Cv%HHCM+fIL9HHPPM@HHPPu{@HhBD0f.HHPHNHKLs9D$I9rHHPPMFLCMFLCxHCHS1f.@AWIAVILAUAպATUSH(H|$|$u0IHxL w 9H(L[]A\A]A^A_I11LHP=IHxLHLEHML9;AxE1A9NHL)HL)H9HOHHLDHL$L$tL$HL$LHL)LHHHDH,HEIHHEH9EHI9eLEHMA9TII9HEHPPMIHxHwH4$H;pw@~ H4$LIHPHPH; IHUH;UHHUttHEH;E3HEHPHHI9)t;A9IHEH;E)HHEMf.IHxL@HEHPP`fH$@HP DIHxLItDHEHPHÃt.HMLEILELL9wHEHPP8IHxL7:fHHHHWHjH fDHHHHOH f.HHHHWHH fDHHHHOHf.AUHATIUHSHhH\$HpH}H)ToLHIHuHLGqH߉}H[]A\A]H~So[Hlf.AVAUATUSHH x IHxu#HLH H[]A\A]A^LL$HT$nT$HljmLL$HtM1LhH}LLILHHT$HHH H[]A\A]A^f.@AUHATIUHSHH\$HpH}HmLHIVHuHLoH߉H[]A\A]H.UHAWAVAUATMSHHHx IHxu#LH`HeH[A\A]A^A_]fDIU]mUHljplIHtHxHEIHEHEI$LLULhIP@LULEH}HLEHuIMH}HPHH)I$Ll$HJIWLLMPH ASHEMI~LLI5LIM9^LU_LLUHEgLULEH4I HVMLHH)LLd$uIID4MHuPAS HEZYL9tWL)HU1IIILIHHIt?HLLHMHML;5 u*H XH HHA$AFAFM>CD.HA SHHoHt8HHtH{(HtH{8HtH{HHtH[GUSHHHH[]HHH1Hѣ SHHoHt8HHtbH{(HtTH{8HtFH{HHt8H[USHHHH[]4HH)HHa SHHHt8HHtH{0HtH{@HtH{PHtH[$@USHHHH[]HHHH SHHHt8HHt?H{0Ht1H{@Ht#H{PHtH[@USHHHH[]HH HSyLDAKc LD@/@Ƀ@DED@@AEDƻYf@@EAA@ۃ'@uC@у@Ӄ@DE1A[ D D@DDED@Ƀ@ۃf@EDf@DDϸDETE1111Ff.DAWAVAUATUHSHH(HYHH HSHB!HSB"HCx!@XHC@!.HHH$HIHHD$HI}HSD z"HLH$HBHCH@HC@ HC@",IHHCH HD$HH8HCLh@EHCH LE1HHHHCH@PIIHHCH XHH(HCHLh0HD(HD0L{AAHAG\bHD(QH[A0AC`H([]A\A]A^A_HC@!.HC@",HSHHBHSHBHSB HSHB(HSHB0HSHB8HSHB@HSHBHHCH@PHC@XH HSB\HSB`H H01 HSLdHH uH([]A\A]A^A_H|$IHJHCH ՄE1HHHHCLLhPIHOH@HHD$+HT$LH HHCHH(-H<$HT$JHT$HIHXH$HBHC@ HCLLhIHjH@HHD$HT$LHIHD$yHCLx8L@HKHSBXo@H@HHD$GH4$HT$HH$"HCH $HHSH@HHD$HT$Ht$HIHCLxHDpHߛ @HH@H1H@fP @"H@(H@0H@8H@@H@HH@PH@X@`@oHC"Df.DAWAVAUATUHSHH(HYHHHSHB!ԼHSB"HCx!@XHC@!.H蠼HH$菼HIHHD$mHI]HSD z"HځLH$HBHCH@HC@ HC@",IHHCH HD$HH8HCLh@EHCH aLE1HHHHCH@P)IHHCH 8HH(HCH Lh0艻H D(xH D0gL{AAH AG\BH D(1H[A0A}C`H([]A\A]A^A_HC@!.HC@",HSHHBHSHBHSB HSHB(HSHB0HSHB8HSHB@HSHBHHCH@PHC@XH HSB\HSB`Hh H01 HSLdHH uH([]A\A]A^A_H|$IHJHCH E1HHHHCLLhPxIHOH@HHD$ HT$LHHHCHH(-H<$HT$*HT$HIH8H$HBHC@ HCLLhIHjH@HHD$HT$LHIHD$YHCLx8L@H+HSBXo@H@HHD$'H4$HT$HH$HCH $HHSH@HHD$HT$Ht$HIHCLxHDp莽Hߖ @HH@H1H@fP @"H@(H@0H@8H@@H@HH@PH@X@`@oHC"")Gf.DUSHHH HHHGHxtHxHt HCHx@tHx8Ht HCHxPtL@HH=)L€u=Hx0tHx(HtpHCHtHHRHH[]L@HCHxf.USHHHH[]4HZf.fUSHHH( HHHGHxtHxHt HCHx@tHx8Ht HCHxPtL@HH=)L€u=Hx0tHx(HtpHCHtHHRHH[]L@HCHf.USHHHH[]4Hzf.fAWAVAUATUHSHH8HH HH+IHSH,B$謵HSB(HCP$@`HC@$.HwHIgHHD$UHHD$CHHD$ 1HSD B(nHzH|$HD$HBHCH@HC@ HC@(,QH{HCH 1E1HH@L{I@IGHEHCH HHPH$L{IPH|$ IGXH)HCH ʘHH0LsI~0赶HIF8DH$1HD8 <$LsAlHAFdHD0H[A0A6LChH8[]A\A]A^A_@HCH Cy@$.HC@(,HCHHHCH@HC@ HSHؗHB0HSHB8HSHB@HSHBHHSHBPHCH@XHC@`H HSBdHSBhH H01fD HSLlHH uH8[]A\A]A^A_H|$FH%HCH &HHPH$LH$H$HIHD$HxHBHC@ HCH|$LxHHD$(LxHI9J<HHGKHL$(Ht$LHIHCLp@@fDHHSB``@H@HH$H$LHIHD$HCLp4@HD$(LxHI9J<HHGLHL$(Ht$HIH$HCLxPDHD$(LxHI9J<HHG6HL$(Ht$ LHInHCLp0ֵHG @HH@HH@@ H@$H@0H@8H@@H@HH@PH@XH@`@hƀHCJPnfAWAVAUATUHSHH8HH HH+IHSH,B$HSB(HCP$@`HC@$.HǯHI路HHD$襯HHD$蓯HHD$ 聯HSD B(nHtH|$HD$HBHCH@HC@ HC@(,H{HCH E1HH@L{I@iIGHEHCH MHHPH$L{IP8H|$ IGX:H)HCH HH0LsI~0H IF8蔮H $聮H D8p<$LsA輹H AFdKH D0:H[A0A膹LChH8[]A\A]A^A_@HCH s@$.HC@(,HCHHHCH@HC@ HSH(HB0HSHB8HSHB@HSHBHHSHBPHCH@XHC@`H HSBdHSBhH[ H01fD HSLlHH uH8[]A\A]A^A_H|$薿H%HCH vHHPH$LH$dH$HIHD$HjrHBHC@ HCH|$Lx&HHD$(LxHI9J<HHGHL$(Ht$LHIHCLp@@fDHCHSB``@H@HH$@H$LHIHD$HCLp4@HD$(LxHI9J<HHGLHL$(Ht$HIH$HCLxPDHD$(LxHI9J<HHGHL$(Ht$ LHIHCLp0&H @HH@HH@@ H@$H@0H@8H@@H@HH@PH@XH@`@hƀHCBHffH ATUHSH_HHH{tH{Ht jH]H{HtH{@Ht QH]H{XtLcPH5Lu?H{8t H{0HtH]HtfHHP[H]A\{LH]HfUSHHHH[]Hf.fH ATUHSH_HHH{tH{Ht zH]H{HtH{@Ht aH]H{XtLcPH5Lu?H{8t H{0Ht*H]HtfHHP[H]A\LH]HfUSHHHH[]Hf.fH SHHHt*HHtH{(HtH{8HtsH[fUSHHHH[]tHHiHH1 SHHHHt*HHtH{(HtH{8HtH[rfUSHHBHH[]HHHaAUATUHSHHHHH菧HSHBHxHSBIHCxIH=lHxHCH@HC@ HC@I,HCH=yHx(HCH=xH@0HCHx8HCH@@H[]A\A]HCH={lHxHCH@HC@ HC@H.HC@I,Hf H01 HSLJHH$uH H01fD HSLnHHu4DH[HIHHHCH=kHxHC@ HCHhH @HH@H1H@@ H@(H@0H@8H@@fPHƀHCLhLLLHHHCHH`USHHH HHHHtHGHtHEH{Ht @HPHH[]Hf@USHHHH[]$HNf.fAUATUHSHHHEHH迤HSHBH諤HSBLH+jHBHBB BL,HgHB0HB(HhHB8HB@H[]A\A]DHSHiHBH.,HBHH HBB H01 LPHH$uHO H01f HHuXfDHãHI(HHHSH7iHBB HjPvHw @HH@HH@@ H@(H@0H@8H@@H@HƀHHCPLhL9LLHHSHBe[fUSHHHP HHHHtHGHtHH{Ht @HPHH[]H*@USHH¬HH[]锭Hf.ff7f.fAWAVAUIATMUSHHXHHLL$H$Ht$HD$8LL$I$1HD$(HD$8HD$HD$@LMHD$ I9LuL;$M1HI)ILLL$LL$HIII)ILD$LLLH$L)HI$HEHt?L9s:HEI9cH|$(T$ T$HX[]A\A]A^A_DM<$HEM9sSHD$H|$ HT$HHD$8A7H}IH$H)L9s}fDM4L1fDI;$s+H}fD3HT$H谼HEHHEI9$wHD$8Ht$HI$v@Ht$ LSHD$8Ht$HI$LuHXLuI$L9sL;$T1AWAVAUMATIUSHH8HHL $Hl$xHt$HD$(L $I]1HD$HD$(LMHD$I9L}L;|$pu~M1HI)LL$蚣L$HIII)HL$pLD$LLLL)HEHHUI]HL9s:Ht5HEI9oH|$$$H8[]A\A]A^A_fMuHEM9sSH9D$pHt$I^LxHI]L}HT$(L9s L;|$p1뎐M4L1fDH}f.HuHH~H}LHL$HH)辟HPHwHD$(Ht$I]HI]xDfDUSHHHHHξ1HH[]f.@USHH衾H話HH莾H[]DUHAWMAVAUE1ATISHHHHHuHUHENH]HEJHH)HD$HHEHEHEfI9MM1HI)L;IHII)LEHuLLH}L]L]HHUHtgII)HEI)I9vMzHEHAIH]HHEI9_H}mHeD[A\A]A^A_]MgL]LH]HL}HEHEHLL1H)襝HPHwHEHMDmHA)~@HHHHWHʛH fDHHHHOHkf.HHHHWH H fDHHHHOHKf.AUHATIUHSHȼH\$HpEH}H@LHIHuHLBH߉ݺH[]A\A]HSh@[H=f.AWAVAUATUHoSHHxIyu0H+I1HIQH{HH[]A\A]A^A_fLL$IT$?T$Hlj?LL$HtM9I|$Lp&LLIHLI H+HMt L膬ILH'gfAUHATIUHSHH\$HpՙH}HD?LHI覝HuHL7AH߉mH[]A\A]HNUHAWAVAULoATMSHHXIAxHu(L+I4$HH蕽HeH[A\A]A^A_]UHu>UHlj=L]HIGHxL]HEMt$IHEHEILLUP@LUI$LEHLMLEHuLLULMIFHH)HD$HHID$IH}H IAQIAVLPHEL]I{M@HuLIaLI&L9}YLU^tzLLUHE薪LULEH4I HVMLHH)LLd$uIID4MHuPAS L+XLZHUHL+ID$HI4$H^AWAVAUATUHSHH(HYHHkHSHB!THSB"HCx!@XHC@!.H HH$HIHHD$HIݖHSD z"HZ\LH$HBHCH@HC@ HC@",IHHCH \HD$HH8HCLh@EHCH iLE1HHHHCH@P詨IHHCH [HH(HCHLh0 HD(HD0L{AA3HAG\•HD(豕H[A0AC`H([]A\A]A^A_HC@!.HC@",HSH[HBHSHBHSB HSHB(HSHB0HSHB8HSHB@HSHBHHCH@PHC@XHw HSB\HSB`H H01 HSLdHH uH([]A\A]A^A_H|$&IHJHCH 5ZE1HHHHCLLhPIHOH@HHD$HT$LHkHHCHH(-H<$HT$誦HT$HIHYH$HBHC@ HCLLhnIHjH@HHD$HT$LHIHD$HCLx8L@H諓HSBXo@H@HHD$H4$HT$HH$HCH $HHSH@HHD$oHT$Ht$HIJHCLxHDpH?q @HH@H1H@fP @"H@(H@0H@8H@@H@HH@PH@X@`@oHC"tf.DAWAVAUATUHSHH(HYHHKHSHB!4HSB"HCx!@XHC@!.HHH$HIߑHHD$͑HI轑HSD z"H:WLH$HBHCH@HC@ HC@",IHHCH VHD$HH8HCLh@EHCH dLE1HHHHCH@P艣IHHCH VHH(HCH Lh0H D(ؐH D0ǐL{AAH AG\袐H D(葐H[A0AݛC`H([]A\A]A^A_HC@!.HC@",HSHUHBHSHBHSB HSHB(HSHB0HSHB8HSHB@HSHBHHCH@PHC@XHW HSB\HSB`H H01 HSLdHH uH([]A\A]A^A_H|$IHJHCH UE1HHHHCLLhPءIHOH@HHD$kHT$LHKHHCHH(-H<$HT$芡HT$HIHTH$HBHC@ HCLLhNIHjH@HHD$HT$LHIHD$蹽HCLx8L@H苎HSBXo@H@HHD$H4$HT$HH$bHCH $HHSH@HHD$OHT$Ht$HI*HCLxHDpH?l @HH@H1H@fP @"H@(H@0H@8H@@H@HH@PH@X@`@oHC"RYwf.DUSHHH HHHGHxtHxHt (HCHx@tHx8Ht HCHxPtL@HH=`L€u=Hx0tHx(HtоHCHtHHRHH[]1L蠾HCHf.USHHHH[]锗Hf.fUSHHH HHHGHxtHxHt (HCHx@tHx8Ht HCHxPtL@HH=_L€u=Hx0tHx(HtнHCHtHHRHH[]1L蠽HCHf.USHHHH[]锖Hf.fAWAVAUATUHSHH8HH HH+I HSH,B$ HSB(HCP$@`HC@$.H׊HINJHHD$赊HHD$裊HHD$ 葊HSD B(nH PH|$HD$HBHCH@HC@ HC@(,豜H{HCH nE1HH@L{I@yIGHEHCH ]nHHPH$L{IPHH|$ IGXJH)HCH *nHH0LsI~0HIF8褉H$葉HD8耉<$LsA̔HAFd[HD0JH[A0A薔LCh H8[]A\A]A^A_@HCH N@$.HC@(,HCHHHCH@HC@ HSH8mHB0HSHB8HSHB@HSHBHHSHBPHCH@XHC@`H HSBdHSBhHk H01fD HSLlHH uH8[]A\A]A^A_H|$覚H%HCH lHHPH$LH$tH$HIHD$HzMHBHC@ HCH|$Lx6HHD$(LxHI9J<HHG諹HL$(Ht$LHIHCLp@@fDHSHSB``@H@HH$PH$LHIHD$)HCLp4@HD$(LxHI9J<HHGLHL$(Ht$HIH$*HCLxPDHD$(LxHI9J<HHG薸HL$(Ht$ LHIΡHCLp06Hd @HH@HH@@ H@$H@0H@8H@@H@HH@PH@XH@`@hƀHCzfAWAVAUATUHSHH8HH H`H+IpHSH,B$\HSB(HCP$@`HC@$.H'HIHHD$HHD$HHD$ HSD B(nH]JH|$HD$HBHCH@HC@ HC@(,H{HCH hE1HH@L{I@ɆIGHEHCH hHHPH$L{IP蘆H|$ IGX蚖H)HCH zhHH0LsI~0eH IF8H $H D8Ѓ<$LsAH AFd諃H D0蚃H[A0ALCh[H8[]A\A]A^A_@HCH H@$.HC@(,HCHHHCH@HC@ HSHgHB0HSHB8HSHB@HSHBHHSHBPHCH@XHC@`HJ HSBdHSBhH H01fD HSLlHH uH8[]A\A]A^A_H|$H%HCH fHHPH$LH$ĔH$HIHD$HGHBHC@ HCH|$Lx膔HHD$(LxHI9J<HHGHL$(Ht$LHI3HCLp@@fDH裁HSB``@H@HH$蠳H$LHIHD$yHCLp4@HD$(LxHI9J<HHGFLHL$(Ht$HIH$zHCLxPDHD$(LxHI9J<HHGHL$(Ht$ LHIHCLp0膅H_ @HH@HH@@ H@$H@0H@8H@@H@HH@PH@XH@`@hƀHCrxfH ATUHSH_HHH{tH{Ht ʱH]H{HtH{@Ht 豱H]H{XtLcPH5cLu?H{8t H{0HtzH]HtfHHP[H]A\ۨLHH]HfUSHH蒋HH[]DHf.fHi ATUHSH_HHH{tH{Ht ڰH]H{HtH{@Ht H]H{XtLcPH5cL+u?H{8t H{0Ht芰H]HtfHHP[H]A\LXH]HfUSHHRHH[]THf.fAUATUHSHHHHH}HSHBH}HSBIHCxIH=OCHxHCH@HC@ HC@I,HCH=tOHx(HCH=_OH@0HCHx8HCH@@H[]A\A]HCH=BHxHCH@HC@ HC@H.HC@I,HƼ H01 HSLJHH$uHK H01fD HSLnHHu4DH|HI HHHCH=/BHxHC@ HCHhfHG[ @HH@H1H@@ H@(H@0H@8H@@fPHƀHCLhL+LLH HHCHH`USHHH@ HHHHtHGHtH襭H{Ht @HPHH[] H@USHH蒠HH[]鄆H~f.fAUATUHSHHHEHH{HSHBH {HSBLH@HBHBB BL,H_HB0HB(H_HB8HB@H[]A\A]DHSH3@HBH.,HBHH4 HBB H01 LPHH$uH H01f HHuXfDH#zHI舌HHHSH?HBB HjP~HX @HH@HH@@ H@(H@0H@8H@@H@HƀHHCPLhL虫LLH{HSHBefUSHHH HHHHtHGHtHH{Ht @HPHH[]|HZ@USHHbHH[]HBf.fSHHHLLGHHu[f.USHHHHt$'H|$H|$xHt$Hk)HCJxHt$.HEHk3xHt$*HEHkxHt$1HE HkxHt$(HE(HkwHt$0HE0HkwHt$&HE8HkwHt$'HE@HkwHt$+HEHHkwHt$HEPHk{wHt$HEXHkdwHt$ HE`HkMwHt$ HEhHk6wHt$ HEpHkwHt$ HExHkwHt$ HHkvHt$HHkvHt$HHkvHt$HHkvHt$HHkvHt$HHklvHt$HHkRvHt$HHk8vHt$HHkvHt$HHkvHt$HHkuHt$HHkuHt$HHkuHt$HHkuHt$ HHkuHt$!HHkhuHt$"HHkNuHt$#HHk4uHt$$HHkuHt$%HHkuHt$H HktHt$H(HktHt$H0HktHt$H8HktHt$H@Hk~tHt$HHHkdtHt$HPHkJtHt$HXHk0tHt$H`HktHt$HhHksHt$HpHksHt$H[HxsHH[]f.kH YHXHCHCHH@H XHHHH XHHXH XHH`H XHHhH XHHpH XHHxH XHPHPHXHH XHP HP(H8HH XHP0HP8HPPHXHH XHHXHH XHHxXHH XHHdXHH uXHHPXHH cXHHEXHH LXHH5XHH 5XHHH 'XHH #XHHH?XHH XHPH'XHH WHXHXH H WH`HWH(H WHhHWH0H WHpHWH8H WHxHWH@HH[]6vHG @HH@HH@H@ H@(H@0H@8H@@H@HH@PH@XH@`H@hH@pH@xHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀHǀ Hǀ(Hǀ0Hǀ8Hǀ@HǀHHǀPHǀXHǀ`HǀhHǀpHǀxHǀƀHCfDSHHHLLGHGHu[f.SHHHHt$H|$H|$nHt$]HCnHSHt$aHBnHSHt$^HBnHSHt$dHB nHSHt$\HB(snHSHt$cHB0\nHSHt$ZHB8EnHSHt$[HB@.nHSHt$_HBHnHSHt$;HBPnHSHt$<HBXmHSHt$=HB`mHSHt$>HBhmHSHt$?HBpmHSHt$@HBxmHSHt$AHsmHSHt$4HYmHSHt$5H?mHSHt$6H%mHSHt$7H mHSHt$8HlHSHt$9HlHSHt$:HlHSHt$NHlHSHt$OHlHSHt$PHolHSHt$QHUlHSHt$RH;lHSHt$SH!lHSHt$THlHSHt$UHkHSHt$VHkHSHt$WHkHSHt$XHkHSHt$YHkHSHt$BH kkHSHt$CH(QkHSHt$DH07kHSHt$EH8kHSHt$FH@kHSHt$GHHjHSHt$HHPjHSHt$IHXjHSHt$JH`jHSHt$KHhjHSHt$LHpgjHSHt$MHxMjHSHH[@H HH)yKIH)Ht$|$Ld$H\$ЇHu%8tI)H8L[]A\A]A^A_L|$H)LH)I)f.@USHHpiHHމ[]鮈f.@H?8UHSHD$'iHT$T1du HcD$yZHh1H|$D$fD$ `y~-HhHT$ouD$(%=t1HĨ[]HH\$@h1ՇH)Hf.ATIUSH_0H8H9t6@H+HtH}'rH}H&kHI9\$8uI|$0Ht[]A\k[]A\f.ATIUHSHHHHt$^HD$EH9t8tEA$H[]A\fD.KzuEA$H[]A\D.KzuEA$f.fATIUHSHHHHt$rHD$EH9t8tHEA$H[]A\Df.HKz&u$HEKHEA$H[]A\f.(KzuH%KHEA$f.DATIUHSHHHHt$iHD$}H9t8t. f.}A$H[]A\Jz"u -J}A$H[]A\@VJzu-zJ}A$f.SH@"vHHt[H=H\wf.fH?t"SHAH;H9t [郅[fDH?`UHSH`HtHHHuHtH[]H=HvHH=Hvf.@AVAUIATAUSHۥ Ht 衇I}8Im0HH)HDH)HiHH~HHHLH1D9&|HHuH9t LuE9&t'HtL []A\A]A^fI~WnI~|LVgIU8HuH9tH)HzIu8AE(HIu8D9tFHtL虊t{nHl" H5%" HHHHsEe(HuP3nH$" H5! HHHHtsHHf.DAUIATUSHHJ Ht Iu8ME0HL)H@H)LAHH~HHI H99/|HHuL9t2M A9,$LEHt LuuHL[]A\A]E1ٿAmH2! H5 HHHHrHQ t H^ DHH=5 (xuH= HfH= H: ) ) * H' H$ H! UUAHSH1HH+HHrHEHH[]f.LOHH+H)HHLAH LH)H9HGL9wHjWRLH1H5j>H={>>Uf.@LOHH+H)HHLH)H9HGL9wHWRLH1H5>H=">TDAUIATIUHHSHL)HSHMLH+}HHHHH)H9HGH9wHLH[HI]A\A]VHH5=1H==dT@H)H+7HH-qf.LOHH+H)HI)HLIH)H9HGL9wHVRLH1H5=H=+=Sf.@LOHH+H)HI)HLIH)H9HGL9wHURLH1H5<H=<Sf.@LOHH+H)HI)HLIH)H9HGL9wHZURLH1H5Z<H=k<.Sf.@LOHH+H)HI)HLIH)H9HGL9wHTRLH1H5;H= <Rf.@HHJHHHHY H+H=A HfH1HbSHi$ʚ;HD$HHH?SHi$ʚ;HD$Hf.HHOH) DEAAHJAAAAAHcH9HHfDAHJAAAumAuvbAu wRDJEAAu;DREAAu)A DAB B7HcH9wHHDHAH@AFHvJAAAuAuvDJEAAuA DB HcH9wHHf.I1f.1f.f.Gf.@Gf.@G f.@Gf.@Gf.@G f.@Gf.@Gf.@G f.@H, HHtf.H HH-mf.Ha HH mf.H! HHlf.H+ HHmtf.Hq HH=nf.H) HHnf.HI HHmf.SHwNH[Uf.@SHWH[nUf.@SHcH[NUf.@SH^H[.Uf.@SHLH[Uf.@SH_H[Tf.@SHg{H[Tf.@SHbH[Tf.@HHW1H)Hvf9tDHHLHOL)HvPAAfAADD(Av5$vH9wIPHf.Hv:AHAfAADɍ$w $Df.H HH]xf.SHoH[~Sf.@Ha HHxf.SHlH[>Sf.@H HHwf.SH7ZH[Rf.@wHH;GtZHPH@0fwHHHW1H)Hv0HAH@H?ƀHPH@0@1Dvh1wHHWH)HvHAHHHBH ?HHBH?uf.HHW1H)HtHAH @tNHHW1H)ʃt$Hv75fHf.Hv5fHfDUIISHH_L $DOHHD$0DHD$sH<$M9t~HD$H)HvtAݍ(Ёv~9wzAIR)HD$H)HvB2H(vK9rGIfEDfH$HxH<$I9u1HT$8MH:H[]ffHHW1H)HwD4f4AHf.SHOIHHH)HH9IImfH@$wj A0$L9wSLt`IIIJ@HH)IHH9t<0(v$=v AL9v[f.1[@[ÐSLH HD$0H$Ht$LL$AHD$HGHL$=LBGt Ht4HLH$HL$HHT$8H H [f.fSLH HD$0H$Ht$HHL$1LL$HD$\H$HL$HHT$8H H [fHH;GtGIIIHH9s:fIHAII9@t AHL9wL]uٸ1DfH(MLGHD$0L $HHT$HD$HL$G t Hlt(H|$L[HT$H $IHT$8H H(ffH(MHD$0H$Ht$HHL$LL$HD$H$HL$IHT$8H H(fDu f.IH51t A H5j1tAf.SIHHHt$L$HGH+HvZIICI9u,>@H9wQIHJI IBI+Hv(I9KtT$HLCuH[H1[H[DULSHH(H$HD$@Ht$HWHL$OHLL$HD$(H$HL$HHt$HUH1u H9ںEH([]f.ULSHH(H$HD$@Ht$HWHL$O HLL$HD$H$HL$HHt$HUH1u H9ںEH([]f.ATMUSHH G L_Hl$Ht$ HT$HHL$D$ Mt1EMQE@T$ LHA9MIuHD$H H)[]A\@AVMAUMATIUSH GLOH\$Ht$ HT$Hl$PH߉D$ HL$oHD$HT$AAEBH)HvkEI9u1fDA9r5IfABHT$HD$H)Hv7L9tZT$ LHuHD$IEHD$XLfDHL$XI9IELH []A\A]A^@IEHD$XLH []A\A]A^f.ATMUSHH GLWHl$Ht$ HT$HD$ HL$[ADCMt1MYET$ LH)MA9IuHD$H H)[]A\@HH9GDLL9|LLFM)=wIwqIvAf%A f-$fA@(uyfAffELMHLfA@LHI@HH9Gt?E@LI9vAfAADfALHI@HH9Gu1fELMHLH(ML_L $DO IHD$0LHT$DHL$HD$ktLH|$DLHD$H $IHD$8HH(fUIISHH_HD$0L $HD$G tHTLL)HM9HV@HAB$wa A0$H9rJHtIOLL)HM9tVA2(v$=v AH9s @HT$8H $MH H[]D1@UIISHH_HD$0L $HD$GtHTLL)HM9HV@HAB$wa A0$H9rJHtIOLL)HM9tVA2(v$=v AH9s @HT$8H $MH H[]D1@HHW1H)Hv,*f9t 1*8AuHHf.DAWIAVAUMATMUSHLwH\$PH$HL$GHL9tIDL9t?LHI9=w%AEIUL<$HL$IL9u1HL)Hu$HT$XM<$L*H[]A\A]A^A_@f% f-$f@(AEAUIUf.HL<$HL$-f.L<$DL<$sfAWIAVAUMATMUSHLwH\$PH$HL$G HL9tIDL9t?LHI9=w%AEIUL<$HL$IL9u1HL)Hu$HT$XM<$L*H[]A\A]A^A_@f% f-$f@(AEAUIUf.HL<$HL$-f.L<$DL<$sfAVAUATIUSHHwH$HL$Gu\IhICAMt%LL]H9HuH$H[]L)A\A]A^fDILAWAVAUIATAUSHAH<$Ht$IvLE1I@=HFHkHL9s*LLA9sH$H[]A\A]A^A_ûfI9uAHDCDfDIL oSHHLHE1&H)[ÐSHHHOLDGHH)[ÐSHHHOLDGHH)[ÐSHHHOLDG HH)[ÐAWIAVAUIATAUHSHDD$AMuI]I9t^IGI9tUHLH9IIO=wAH9tEMuI]fEDHJIfI9uH1[]A\A]A^A_H)HwMuI]H[]A\A]A^A_f% f-$f@(Eufff HJIfB"fDkfDT$1H[]A\A]A^A_H[]A\A]A^A_f.fSLE1H HD$0H$Ht$HHL$LL$HD$fH$HL$HHT$8H H [f.fSLE1H HL$OHt$H$HD$0HWHLL$HD$H$HL$HHT$8H H [fSLAH HD$0HL$Ht$OH$HD$HGHLL$=HCH$HL$HHT$8H H [fDAUIATUSHAH<$Ht$uBIYAIMt!LL9HHuH$H[]A\A]ILSHHLHE1vH)[ÐSHHHOLDGHVH)[ÐSHHHOLDG H6H)[ÐATIUHSHu^HH9CteHEH9Eu/=fL9wYHUHJHMHCH9t2H9MtLH!u[]A\ff[1]A\f[]A\fDSLH HD$0H$Ht$HHL$1LL$HD$,H$HL$HHT$8H H [fSLH H$HD$0Ht$HL$HWOHLL$HD$H$HL$HHT$8H H [fSLH H$HD$0Ht$HL$HWO HLL$HD$H$HL$HHT$8H H [fH(ML_LL$DOLD$HD$0LH$DHL$HD$tLHDLH$HL$IHD$8HH(fSLH LGHD$0H$Ht$HL$LL$HD$Gt Hit-H1LH$HL$HHT$8H H [fDِH(MLGHD$0H$Ht$HL$LL$HD$Gt Ht&HLH$HL$IHT$8H H(ffATMUSHH GL_Hl$Ht$ HT$HHL$D$ Mt1EMQE@T$ LHA9MIuHD$H H)[]A\@Ht#SHHHPHHu[DUSH=H C== 1H^Htf.H+HSHHuH[]= EWD tH=9fHH= LuH=eH @H5!H= E7H= 9H=H H5t _;H=Hf.DfGG -f.HH6RuH^fDH3uHÉ\H[uHÉ\Ht+H=v SHt H\H{ @H[8ff.DH=v SHtH5H=d <=m A=b HH[\fATI UHS\2EHL`HEHEHHCHGHC~[]A\H(H;=p ufDH=v t&GHHt$j/HDGPWDHp HHHHG4\@SHHHSH[f.Hyj HHHHG[@SHHHSH[f.USHHHHTp HT$HHG :H[]H3f.SH-H0m HH[SH-HXn HH[SHw-H(r HH[SHW-H`l HH[USHHHHli HT$HHGJ9H[]H~f.SHIHHj HH[SHIHh HH[SHIH i HH[HHL$R/Hf.SHHHH|$PHt$HHV*HD$HxH;=HH GHxHLHHzZH[]A\H{ATIH5jUHSHHH>HHFLHI HLH/HZH[]A\H0{fDHHHf.SHAH[~7f.@ATIH5UHSHHH@2HHFHhHLHHXH[]A\HzATIH5ZUHSHHH1HHELHIHLHHXH[]A\H@zfDHHHf.SH=H[n6f.@ATIH5UHSHHH)HHEHXHLHzHJXH[]A\HyATIH5JUHSHHH`)HHDLHIHLHHWH[]A\HPyfDHHH{f.SH6H[^5f.@ATIH5UHSHHHUHHCHHHLHjHWH[]A\HxATIH5:UHSHHHUHHCLHIHLHHVH[]A\H`xfDHHHkf.SHwNH[N4f.@ATIH5UHSHHHEHHBHHHLHZH2VH[]A\HwATIH5*UHSHHHpEHHBLHIHLHHUH[]A\HpwfDHHH[f.SHOH[>3f.@HgHHf.ATIH5ZUHSHHH6HHAHHLH*HTH[]A\HvATIH5UHSHHH`6HHPALhHIHLHHwTH[]A\H`vfDHwHH+f.SHW0H[2f.@ATIH5JUHSHHH3HH@HHLHHzSH[]A\HuATIH5UHSHHH03HH@@LXHIHLHHSH[]A\HpufDHgHHf.SHGOH[0f.@ATIH5:UHSHHHp4HH?HHLH HRH[]A\HtATIH5UHSHHH4HH0?LHHIHLHHgRH[]A\HtfDHWHH f.SH@H[/f.@f.Hh SHHHHGT0{tH{0HtXQH[HHf SHHHHG0H` HHH[Hf.Hqf HH}Pf.SH'H[)f.@SH5H[)f.@SHMH[)f.@SHH9t H)LMH[SHH9t H)HlMH[AU1ATUHSHH\$fHH=uHEL%a L9H@HL98foD$foL$ foT$0fo\$@fod$Pfol$`9fot$pIfo$Yfo$fo$ifo$fo$yfo$fo$fo$fo$ )ƅ9LHBuHEH@HL9u<D$D$|$uƅ9H[]A\A]M1H$HHHSLD$HHf.AT1UHSHHDHH=uHELe9H@8H;>i fo$foL$foT$ fo\$0fod$@fol$PE9fot$`fo|$pMIUYfo$fo$]ifo$fo$eyfo$fo$fo$fo$ )E8LH@tE8H[]A\LH$HHf.U1SHHHGH]b HH>HCHCH[]+Hof.S1HHHHt$GH b HHH|$`CHHC@+H[f.ATUHHSH"Ha HH=VHHtH=Hu []A\LcL+1HL%H[]A\*HnGVWHFHHHHtH0H@HuHHt@H8H@HuHGHVHWHFHtH0H@HuHGHtH8H@Huf.HIeHGHVHWHFHt LH@HuHAHtHH@HuHA IP HQ I@ HtLH@HuHA HtHH@Huf.AWAVAUIATIUHSHH(Hy H)+HHteA<$ Lu"HSO<4HT$A??HT$tSMuAH-Wc H}Htm1LH5)DA? HHCH([]A\A]A^A_Lf.{tHH *H9rH9wQHuKH-b H}{uHD$HD$HD$ M2HCH}bHߺH5NLLHUCHCH([]A\A]A^A_DHYb H0)HCMHEILIATIUSHHthH~1HHL$ ?*11H1HHƋD$ u"LHH(H[]A\fHs1>*HH5H[]A\f.@ATUHSHH@H>t7H5ZH3HHH5fHuHSIH5#1L+LHHcOH{t H5H 4HsHH@[]A\f.DHIIʹH=Iu$H2HtNHLHH=+L€1uI2L@HH H5cH=LATHJIUHSHH@FuH=YH€tH@[]A\fDHSHH55H*HLHcH@[]A\fDATUSH@HHIHHcH@HNHVHH@[]A\HVHu H=HH=H\ H=HHS(HHH5*1H)HLHcRfHVHt*HLH H#^H5fLEH H5H=FH oH5H=l'H PH5tH=MH 1H5UH=.H H56H=H H5H=H H5H=f.fAWAVIAUE1ATUHSHD&HD$ H<$HD$)HD$0HL$HD$fDEt3A7EA%t8IcHADd40AEuE'Hĸ[]A\A]A^A_D<%EPπL1HH;D$HH)EI4<.<;8L}HDeE1L0AEIcHt$H<$Dd0L}HcE1D0DeLf.Ht$H<$IcD0E2IcDeAHD0%fDLl$HV1H5pL$H<$LE1Hc4DeLoUL};HD$HxfDI A;tfHH9uH H5H=6fDHvHL$LE1H<$DeL1fHT$H<$HcIoD E1sEgfH<$IcHt$0D0:H >H5H=AH H5H=wH H5H=XH H5H=9fHH.HHKbATUSH$8H-]V IHt H8uKHHtSfDPH@HuHCHtSPH@HuHt L;u []A\iHp H5) HHHH$HaAVIAUIHATUSHf7LH[7HH9HL%U HFH|$Mt B7H9HBMtH&7LLCMtH:H|$:urH[]A\A]A^L% U Mt H6uxLLMtH:tbHS H5 HHHH#4H% H5 HHHHu#H H5 HHHH=h#;`HB`H:`H2`f.tHGHWHFHtHpH2HHAVIAUATIUS5H-S IHt H5u(LLHt LE9u[]A\A]A^H H5 HHHHZ"Hu_f.HVHFHtHBHFHtHPH9wtH97tfDH@HGfAUIATUHSH4HR IHt H4u'LHHt Lh8uH[]A\A]$:H+ H5 HHHH{!H^f.@HGHGHGÐAUATUHSH3L%7R IMt H3upH}Htf.H_HHuH}HEHtfDH_oHHuHEMt Lb7uH[]A\A]4H% H5 HHHHu H]SHH?HtHLH[ATAUHSHHt!CH]AHH[E]A\,@[]A\SHH?HtHH[ATAUHSH&Ht!CH]AHH[E]A\@[]A\HHt B9GfAVIAUATUS@2L%yP IMtH92IHu/HHt HHk6tHH &HuI^Hu-DHHt HHk6tHH%HuMt L5u[]A\A]A^AWHH H5 HHHHH[f.ATIUHS16uL6u I$H9EÉ[]A\f.H?1Hf.fAUATUSHH0H-O IHtH0H;HtLowLMuH{HHtLoOLMuH{HCHtfDLo'LMuH{ HCHtfDLoLMuHC Ht L3uH[]A\A]讇H H5n HHHH0H`ZAVIAUIHATUSH/LH/HH9HL%M HFH|$Mt /H9HBMtHf/LLMtH3H|$3urH[]A\A]A^L%IM Mt H /uxLLMtH2tH H5L HHHHtHe H5 HHHH+&<H- H5 HHHH}XHXHXHXf.tHG HW HFHtHpH2HWHGfDAVIAUATIUS-H-L IHt H-u(LLHt L1u[]A\A]A^CYHJ H5 HHHHH%Xf.HVHFHtHBHFHtHPH9w tH9wtDHGHG fAUIATUHSH,H4K IHt H,u'LHHt L0uH[]A\A]dzHk H5$ HHHHHVWf.@SH?HtaHHFH[f.ATAUHSH2Ht)EH+H߉CAH[H]A\D[]A\f.HcH־ HHHAVAUATUHH=eSHH$NHD$fD$HtH1Ht$ H /;HuHHHHH5HUH5HH<$u?H5HmHHupH H5.H=D$HT$ :VH$MUHtLd$ H5v1LLHHcULeHE1LLt$ H5DHfD$1H5zHI|$t9H5;HyIt$HHhH5HTH5 H@I|$t5H5Hߺ $It$HH5HH5HAI8D9]TA $wHftք3A$?v; H5gHIt$HI|$\kv H5HQIt$HI|$t A|$ H5HA|$$I|$(H5HI|$0t: H5HH8LHH5{HIT$(LH5g1(LHHc$H5qHq H5Hߺ H5GLHHEH5H! HߺH5LHHG H5sHf.f.Df.Df.Df.Df.DHHB H5I HHHHH Nf.@HHs@ H5|; HHHH3H f.@HbH+D H59 HHHH@ f.@H"H< H5t< HHHHC f.@UHSH HHHH,PHPf.UHSH HHbHHPHPf.UHSH] HH"HHPHPf.UHSH HHHH7PHPf.UHSH HHHH7+wPHPf.UHATISHHHHPHXL`Lht#)p)M)U)])e)m)u)}L- LH(Dž(HHDž,0HH)HEH\$H0H@HH8HA HILHA*OHO@UHSH HHrHHOHOf.UHSHm HH2HH yOHOf.UHSH- HHHHw _OHmOf.UHSH HHHH' EOHSOf.HHi5 HH=f.SH)H[f.@Hb H5 H5= HHHH5 f.@AVAAUIATUSH H1LÉMH+$HiD$IH\$LxJHD$MxY11LD$DL'Hu 8nt0H []A\A]A^Hʚ;IHD$LD$MyH 1[]A\A]A^fDE11ҿ1 H []A\A]A^fH1 f.DHH`f.H HH SHHH[T@Hi> HH#f.SH(H[f.@ATUHoSHH/HGGtY~/uqAH 11H[]A\uKAH 11uH[]A\DAH 11RH[]A\f.A 11HH 'H[]A\AH 11H[]A\I,LfAVIAUIATIUSH@HHH\$ H@ H9OHCD$0HD$ HD$(0GA11HH nfDA11HH OHHUH$HHPH9H $HHHL$HH@HLHL$HH@!H<$HH9t"H|$ HH9tH(< Mt$Ml$HI$H@[]A\A]A^fukA11HH %Do@)D$RfHLA11HH GfA 11HH 'fA11HH qIH0IH<$HH9tH|$ HH9tLx H|$ HH9tH] f. t H[ DHH=u XuH[ HH=Q HMZ H5[ H= H[ Hf.@US HH&HH CIHQIf.fH> HHHGH> HHHG!SHg!H[f.@HHGUSHH-s: HtGtH[]GPWuHHH@H;. uGHt2C uHHPH;= u+H@HH[]@C PS D@HH[]DAUATUHSHH_HCLctRPA$SCtH}HtHL-r9 MteA$tcH]Ht7H=L9 C uHHHPH;= PHH[]A\A]+CPSuHH@H;l- MtaC qHHHPH;< uKPH]VL-8 M&뉐C PS FfC PS DH] DHpfD,IF@f.H8l$@zu1H8DH|$,H<$XZv s}|$D$ fD$l$|$l$HT$HT$l$HysHcL$, fdHH2H)HsMl$|$l$HD$HH8f|$D$ fD$l$|$l$HT$H?yl$|$l$HD$H?fDH L ?1 H)MA0H)LAHBH~HHHI H;1wHuIx HI9tA(I8yw}%]\$L$f(f(fTf.v+H,f%8fUH*fTXfV f/|H,HGIHQ%0T$D$H\$L$f(f(fTf.wT f/r6\H,HWH?f\H,H?HGIf.H,HWfDH,f%OfU KH*fTXfVf/sDHH;WHH$,$HH4$,$HyD\$L$%f(f(fTf.%"X f/H,HH9HC@HH¸ZXD11L%,\$L$f(f(fTf.w@ f/sH,HG11H\H,HGH?H,f%fUH*f( f(fT\f(fVf/s뇐\H,H?DH,ffUH*f(f(fT\f(fV@Hi4 HGHO@HHGHGHG HG(HG0HG8HHDHHH@H9uHHGfDH=2 t D P f.ATIUSHjHS(L`Hh@HC([]A\f.fAWAVAULo@ATUHSHcH~CukG G GRHE0HHE0[]A\A]A^A_fDALHDHID[]A\A]A^A_@D{H5m- T$ McLHBT$ HIIL$Hf.HHHHBHu㋅H1HHoAHH9uHtHL9tCM,fDHE8E E EH=RfMHH=+f.ATUSH_(HtHADSHDSHHu[]A\*?f.ATIUSH(Ht@H-Y0 %Gu"HZHHtHu݋GPWtID$([]A\fH1 S1HHHH?HHC@H9tHtHǃH[f.SHH[f.@ATUHSHFLe@HHGHFHGFGFGF G HF(HF(HG(HL9t Ht2HHS@H9tBHHǃHH[]A\L1Dž LHIHHH9HqHHAH8HpHuf.DATUSHHGHVHLHWHVHFHGHWVHFGWVFGWV FG W HV(F HG(HW(HV@HF(HG@H9I9|LDoLHHHH@LBHJL9uLd$HHLHHHLHL`H[]A\H9t3I9t.LHfDH9tCII@Ao A HHuIILHIIfHfH=) ffH|HHHdHt$ ff.tBtD$ HH=wJf.ATUHSHL&H5Htu8GenuuubL%UH5dLHEHt1[]A\fDH5+H)tH5-HtH=+fDL%@tHEH?Ht3 f.DATIUSHH?Hl$ HuNHHH)t6I<$HH܃u 8tH=D$ H[]A\nH[]A\DH?HtXHOx;HT$ 1Rx$D$ x fH*ffHff.H @HLHHH1HielHHHpuHLJpf.UHSHH5HHequHH[]DHHt$1H;Ht HD$8tH=HLHA߰DH HrHH HHH3h tL1H2HI9uH` A߰HH HH HHH3tL1HHH9uHxHH%H HHH3` t߰H1HxHLJf.fHSHH=owMHPHH[HH H1HH%V,H1HH%H1HHH1HfHHfHY- HHf.SHH[~f.@UH5SHHH- kHHH[]ÐUSHHH!6H6@HH) HHf.SHH[f.@UH-u SHu tHH[HD]H=au H-ru -tHHfH@ H(@@H9uH=u of.H=' tFSiHHHt$H|$C5HuH[f"`fH=& ATUHպiSHHLd$Ht$LHLiǾHl$,;C@8vHuP;Hu7{@:;wH[]A\@f[HtZ_U_D<u USHHH-% Ht HK u+{@:;tHt H, uH[],,UH)HH/): HHHATISHpfo-_HUH)fo%`fohEH\$fog)mfo kHfoo)eHS`H{hHH)+)c)[ )S0)K@)CP)])U)M)E BD#hH3UHLNIHATSH Ld$II\$I fDHHIIHHLML)AAH wL)H9wI)HIt$D He[A\]øfAVIAUIATLd7UHSHDHHEL9<%uUstzt%HA/ƒIVAHt)LH)H H9HHSuHE{H[L)]A\A]A^}uFA/wGƒIVALHHH)q~=HHHIVHBIFOIVHBIFfHLeDHɗHHf.HSHP(1H9St[f.9[1H;~t9f.H HHf.SHW H[>f.@UHSH(HHHP HT$H4$HH<$HH9tH(H[]H0fDUSHHHHHCHHt HHTHHHH[]f.DH HH SHHH[T@HQ HHA SHHH[$@SHH[f.@H)A H!A Sw%H.HcHDkH‰[@H‰[@AUA ATUSH(HI.DHHHHP HLqH<$HH9F/KLvLn1k HL=k Hk pH- H k HSH=} HT$HT$H k H H k HHk "Hk Hrk HSH=G HT$eHT$1H Gk H=j H HM 1j HL5j Hj H9j HSH= HT$HT$H5j H=j H4H~ 11j HL-j Hnj H`j HSH=] HT$HT$H 7j H H i HHi H^i HSH= HT$AHT$H5i H4H i HHi H|i HSH= HT$HT$H Si H H 6i HH#i Hi HSH=O HT$HT$H5h H=h H4¾HCh HSH=P HT$VHT$1H h H=1h H ID$ &h IL$HD$H] HL$Md$(HH h Hg Hg HSH= HT$HT$H5g H4H7 g HHg 5Hg HEg HSH= HT$xHT$1H zg H=g H H 1g HHf HD$Hf Hf HSH=  HT$ HT$H5f H=f H4H 11f HL%f Hf GHNf HSH= HT$HT$H ef H HZ (f HHf H f HSH=Q HT$OHT$H5e H4HH e HHe He HSH= HT$HT$H e H Hv de HHQe H(He HSH= HT$HT$H5e H=d H4¾Hd H= HkiH d H=  HLHkMH=6 L|Hk8H= LtHk#H=D LlHkHt$H= HtHkHL$H=P H[HLL$H([]A\A]A^A_e @d +@d d od  Ad @d 5@ad @1d I@qd @~d _~d ~d d <@qd @d JHX"Hd"Hp"H|"H"H"H"H"@AWIAVMAUATIUSHH8HL$I4$I@H IELHIEH- HRAEHSH= HT$HT$L,II$AEHD$(H HIEHD$(HHD$7IEHAEHSH=q HT$HT$L,1ɿ(I@Hf ID$HAD$ I$ID$ID$(ID$0ID$8ID$@fAL$HAƄ$΋1H@Hc LcHHHhH= HktzEHt Lc LHH*fH@H HkHH=U H|EHF HE녿 H@H HHéH= HCHkdEHu Hef 越H@H HHiH= HCHkEHs H ^H@H HkHH=M HEHD HH@H HkHH= HEHD HtEIp趉1ҿ(I@Hb fAT$ HAD$"I$ID$ID$ID$(ID$0ID$8ID$@ID$HID$PID$XAD$`AD$o%11H@H LcHHH=H= HkqEHwr Lc LHH,dEp覈(I@Ha ID$HAD$"I$1ID$fAD$ ID$(ID$0ID$8ID$@ID$HID$PID$XAD$`AD$o11H@HH LcHHH蝅H= HkEHq Lc LHHm-TEx(薇1HHyH= Hk EHCB HEpPF(I@H8a ID$HAD$ I$ID$ID$(ID$0ID$8ID$@ID$HAƄ$HՆ1H@HB LcHHHH= HkEHp Lc LHH_'EE^H@H HkHH=M HEH B HEA H@H HkHH= HtEH@ HkET輅H@H HkHH= H,EH@ HEk(I@H^ ID$HAD$ I$ID$ID$$ID$0ID$8ID$@ID$HID$PID$XID$`AD$hAƄ$ք11H@H LcHHHnH= Hk?EHxo Lc LHH,EE8](I@H] ID$HAD$ I$ID$ID$$ID$0ID$8ID$@ID$HID$PID$XID$`AD$hAƄ$ȃ11H@H LcHHHИH= Hkt>EHn Lc LHHd- EEEEH=ҡHHHHHH&H6HFHQHaHlHtHHHHfHFHHt4HH4H%#"@HHJH1HH9ufH%#"DHFHHt3HH4H%#"HHJH1HH9ufH%#"DHxPH1n HH!n SHH譅H[@H HH=|f.SH~H[އf.@{f.HAn HH齂f.SHH[鎇f.@ATIHUHSHtH []A\fDHH[L]A\鶨fDHm SHH HHGH[黥f.Him SHH HHGH茥H[ATUHoSHH/HGGt!A H 11{zH[]A\AH 11ZzH[]A\ILf. t H DHH=e uH} HH=A TH H5V H=誇HC Hf.@AVAUIATIUSH`蹞HHl$ IHH@ H9HEA11H *HHD$ HD$(D$0ZyI4$IT$HHCHHH$+HH+D$HtH5KHLD$HT$(HsH $H|$IH9"Ht$ H9vH}H9H|$0H9H譓Ld$@IT$HT$@HHPH9HL$@HHHL$PHH@LLHL$HHH@}H|$@IL9t芄H<$HH9txH|$ HH9teHf AEMuHIEH`[]A\A]A^D11Hw:o@)D$PQLHtfDfDH=MY貂IIIIHf.AWAVAUIATIUSHhLrD:HHl$ IH@ H9HED$0HD$ HD$(AA 11HH {vI4$IT$HHCHHH$ЂHH+D$HH5IH裑LD$HT$(HsH $H|$IH9?Ht$ H9vH}H98H|$0H9HRLd$@IT$HT$@HHPH9HL$@HHHL$PHH@LLHL$HHH@R{H|$@IL9t/H<$HH9tH|$ HH9t H E}MuHIEHh[]A\A]A^A_@11Hu=o@)D$PTfA11HH !gucfDLHQfDH=V:IIHIIfAWAVAUIATIUSHhLrD:H.HIH@ H9HCD$H$HD$AkA 11HH *ytA11HH bGytHl$ HUHT$ HHPH9HL$ HHHL$0HH@LHL$(HH@譇L11IHtLd$@IT$HT$@HHPH9HL$@HHHL$PHH@LLHL$HHH@ yH|$@IL9tH|$ HH9tH<$HH9tHĹ E}MuHIEHh[]A\A]A^A_Do@)D$0 foH)L$PSA11HH 'sfDLH~HII7IUH0SH}HHB~HڗHHH$HD$PH9e HHHzH{ H HwH5Xd H訋HHHHGH9t H|~@HHGH9t H\~@HHHjyt$(t$(H(@HHjmt$(t$(H(@HHjwt$(t$(iH(@HHjdt$(t$(IH(@HHjtt$(t$()H(@HSEHH0HD$jHD$(PHD$,Pt$XAHHT$(H!ˋT$(L$f.UEHAWAVH|AUATLeSHHxHLm HEATjPuDž|HhIH HH!H`|hH HEt-HMHtLHeLH[A\A]A^A_]HHuHULuIFLHHE訏HuIFI}HUH9tsIMHEH9tFIMIuIUIEHt=H}HMHEIH}L9tLvHELIuIUIEI~H}f.HtHt%HUI}IUH}f.EHUI}H=<4Hf.fUEHAWAVH|AUATLeSHHxHLm HEATjPuDž|HhIH HH!H`|hH HEt-HMHtLHeLH[A\A]A^A_]HLuHuIFLHEHEHHuIFI}HUH9tbIMHEH9tEIMIuIUIEHt$H}HMIHEL9ttHELIuIUIEfHtHt%jHUI}HuIUH@EH=荌HDHq_ SH= HHHG H@HG H@0HG H@@HG H@PHt,GuHPHwH[sfDGPWf.H] SH=` HHHG H@Ht(GuHPHlH[BsfGPWDHi_ SH= HHHG H@HG H@8HG H@HHG H@XHt,GuHPH|H[rfDGPWf.HY^ SH=p HHHG HH@t(GuHPH蛘H[RrfGPWDH)] SH= HHHG H@HG H@0HG H@@HG H@PHt,GuHPHgH[qfDGPWf.HQ^ SH= HHHG H@HG H@8HG H@HHG H@XHt,GuHPHzH[>qfDGPWf.H!] H= SHHHtDGuHPH H{HHvH0H[pGPWDHa[ H= SHHHtDGuHPHȣ H{HH(vHH[WpGPWDH& H= SHHH t$GuHPH[6rfDGPWDH& H= SHHH t$GuHPH[6fDGPWDH\ H=q SHHHt4GuHPH HHH[鸍GPWDH\ H= SHHHt4GuHPHX HHH[XGPWDH% H= SHHHt4GuHPHذ HHH[GPWDH)% H=Q SHHHt4GuHPHX HHH[阌GPWDHa$ H= SHHHt4GuHPH HHH[8GPWDH# H= SHHHt4GuHPH HHH[؋GPWDHY SH=0 HHHG HH@t(GuHPH[Zf.GPWDH $ H=Ѫ SHHH t,GuHPHGH[lfDGPWf.H# H=q SHHH t,GuHPHnH[^lfDGPWf.HV SH= HHHG H@Ht(GuHPH[ef.GPWDHX H= SHHHt4GuHPHH HHHH[kGPWDHX H=Q SHHHt4GuHPH HHH虉H[0kGPWDH! H= SHHHt4GuHPH HHH9H[jGPWDH! H= SHHHt4GuHPH HHHوH[pjGPWDH ! H=1 SHHHt4GuHPH8 HHHyH[jGPWDHV H=ѧ SHHHt<GuHPH H{HHxoH[GPWf.H H=a SHHHt4GuHPH HHH詇H[@iGPWDHS H= SHHHt<GuHPHH H{HHnH[?GPWf.HT SH= HHHG H@HG H@8HG H@HHG H@XHt$GuHPH[qfDGPWDHT SH= HHHG H@HG H@8HG H@HHG H@XHt$GuHPH[fqfDGPWDHS SH= HHHG H@HG H@0HG H@@HG H@PHt$GuHPH[wfDGPWDH)R SH= HHHG H@HG H@0HG H@@HG H@PHt$GuHPH[ffDGPWDAVAUATIUSHH HHPLCHI$PƃHLCIHCHC(HC8I$P Ll$I}[1LHHIxaH<$HEC.LsLkH9t)fI$HLP(Ll$I}1LHHI+aH<$HEC.Ls(Lk0H9teI$LHP0Ld$I|$1LHHI`H<$HCD%Lk8Lc@H9teH []A\A]A^HH<$HH9teeH݇f.AWAVAUATIUSHH(HHPLCHI$PHƃHLCLI$HCHC(HC8P Ll$I}1LHHI`H<$HEC.LsLkH9tdI$HLP(Lt$HI~H9L,L~1LHHI+_H<$HEL{(CD/Ls0H9tHdI$LHP0Ll$HMeI9w_IL1LHHI^H<$HLs8CD&Lk@H9tcH([]A\A]A^A_HH<$HH9tcH%DH`f.H`f.USHHH(HHHPHC HtHHCH4$HT$HHHbH<$HHHC H9t"cH([]HH<$HH9tcH~f.@USHHH(HHHPHC HtHHCH4$HHHD$H{H<$H3HHC H9tbH([]HH<$HH9tubHf.AVAUATUHSHH HIPHC!HEPHC"HEP@HCLHCXHC(HC8HCHCoHEP Ll$I}1LHLI]H<$ID$C.LsLkH9taHELHP(Ll$I}蛈1LHLI\H<$ID$C.Ls(Lk0H9thaHELHP0Ll$I}M1LHLIj\H<$ID$C.Ls8Lk@H9taHELHP8Ll$I}1LHLI\H<$IC.LsHLkPL9t`HEHPHHC\HEPPC`H []A\A]A^HH<$IL9t`HAVAUATUHSHH HIPHC!HEPHC"HEP@HCLHCXHC(HC8HCHCoHEP Ll$I} 1LHLI&[H<$ID$C.LsLkH9t_HELHP(Ll$I}軆1LHLIZH<$ID$C.Ls(Lk0H9t_HELHP0Ll$I}m1LHLIZH<$ID$C.Ls8Lk@H9t:_HELHP8Ll$I}1LHLII1HHWH=9 Hk EHS HH1ɿ(I@H" ID$HAD$ I$ID$ID$(ID$0ID$8ID$@fAL$HAƄ$H1H@H LcHHHhiH=p HktzEH8 Lc LHHܚ&HH@H HkHH= H|EH0; HE녿 GH@Hǀ HHfH= HCHkdEH9 Hef vGH@H HH)fH=a HCHkEH8 H GH@H HkHH= HEH0 HFH@H% HkHH=Ŋ HEH HtEIpvF1ҿ(I@H fAT$ HAD$"I$ID$ID$ID$(ID$0ID$8ID$@ID$HID$PID$XAD$`AD$oE11H@H LcHHHeH=ʼn HkqEH6 Lc LHHdEpfE(I@H ID$HAD$"I$1ID$fAD$ ID$(ID$0ID$8ID$@ID$HID$PID$XAD$`AD$oD11H@Hx LcHHHMSH= HkEH6 Lc LHH TEx(VD1HH kH=Q Hk EH HEpPD(I@H ID$HAD$ I$ID$ID$(ID$0ID$8ID$@ID$HAƄ$HC1H@H~ LcHHH?CH=w HkEHA5 Lc LHH?EECH@H{ HkHH= HEH6 HEABH@H HkHH= HtEHw HkET|BH@Hˊ HkHH=k H,EHV HE+B(I@H ID$HAD$ I$ID$ID$$ID$0ID$8ID$@ID$HID$PID$XID$`AD$hAƄ$A11H@Hi LcHHH.DH=v Hk?EH3 Lc LHHEE8A(I@H ID$HAD$ I$ID$ID$$ID$0ID$8ID$@ID$HID$PID$XID$`AD$hAƄ$@11H@H LcHHHpZH=h Hkt>EH3 Lc LHH脣 EEEEH=gT^H H0H@HPHXHhHxH鈚H铚H飚H鮚H鶚HĚHҚHHfHVH6@USHHHHt~ HHGH[]HĚSH7gH`{ HH[SHgH| HH[SHfHX HH[SHfHz HH[USHHHHw HHGH[]H$SH=Hx HH[SH=Hw HH[SH=H`w HH[H\H@hHH麙fDAT1AUHSHHMHt$GHX HHH|$8HHCD!SHPxHS HPpHS(HtzH{A1Hk0HHAC8)ƃ99HC9Hǃ1HHHǃ9Hǃ1H)9HH[]A\Hhhf1HATAUHSHGH HH[HHCD!SHPxHS HPpHS(HtxH{A1Hk0HHAC8)ƃ99HC9Hǃ1HHHǃ9Hǃ1H)9H[]A\DHhhHf.HG @@HH9s DHO HB NH9uHG(@@HH9s DHO(HB NH9uHy HH6f.SH@H[Af.@ATH1UH1SH BH;y HH=b"HHtH=Hu[]A\LcLG1HLAHCHPxHS HPpHS(H@hHC0[]A\H鲖f.@fv3f vVf f@f1ffvLffuHwH=XAfff uHwH=XAfDffuHwH=NXhAHwH=HXPAHwH=QX@AHwH= X0AHwH=X AHwH=XAHwH=WAHwH=W@HwH=W@HwH=W@HwCAUIATUSHH9s5HBHHH)HLd;HuHBCL9uHL[]A\A]f.HwCdAUIATUSHH9s5HBHHH)HLd;HuHdCL9uHL[]A\A]f.AUAATAUHS1Hf9u PHH t6fD]tHUHDHuKfD9]u1H[]A\A]HWHD}HH[]A\A]DÐAWAVAUATUSHHT$H9seHIHIHH)HLtA@1E1IWI} Ht fE _HH ufEeIHM9uHD$H[]A\A]A^A_f.DAUATUSHH9s;IHHD fHI9vHEDHPtHH[]A\A]HAUATUSHH9s;IHHD fHI9vHEDHPuHH[]A\A]H@@HH9s*IE1I)F FF IM9uf.wu5ATUSHTRIjFL@RE[]A\HcD7Hf.DAWIAVAUIATAUHSLHHQA}HD$t~L9sTIGH)HLtAD=HHCL9t%Hc}vEADHHCL9uH|${QHL[]A\A]A^A_fL9sIGH)HLl}`EADHHCI9uHHAUATUHS1HHPIDHHDuE1fXHHuE1&HfBmCJIDIvHfBmCJI uHL[]A\A]4PE`H7H:f.H6MAVIAUAATUHSHFHLcHHPHN1H HGHxHTHELHHUH@HZHLHxHTDI6LLHHzHHt1 Z[]A\A]A^fw Y[]A\A]A^I LELHUHHHRHMH HC[AWIAVAULATUSHLHT$ )8Hp 1HǃHǃHǃHH1fHp HǃHhLpHǃHEH+L4HCH}HgSHv LcLHPH@HHRYLL7ST$ I7L%KHHzHHt1XH[]A\A]A^A_Ëw XH[]A\A]A^A_IH!LDLHUH+HL4HCHZo LHHNHWZSH6HH}JHHtHX1H[XfDHXs H[Wf.AVIAUAATUHSHFHLcHHxHF1HH RHELHHUH@HXHLHxHQDI6LIHHzHHt1XW[]A\A]A^w =W[]A\A]A^I L5CLHUHHHRHMH 'YAWIAVAULATUSHLHT$ y5Hm 1HǃHǃHǃHH1fHl HǃL`LpHǃI|$L#HL7PHtr HkHHPH@HHVHLPT$ I7HHHHzHHt1 VH[]A\A]A^A_@w UH[]A\A]A^A_IHHALHID$L#L4Hl LHHKHWfDSH6HHGHHtHX1H[fUfDHXs H[MUf.AVAAUIATUHSHFHHHPHN1H HGHxHcOHE 1HCH@H|HE(HDOHELcLHH@HU0HHE8HCHEHH@HU@HHEHHCUHLHxHNIuDLFHHzHHt1kT[]A\A]A^fw UT[]A\A]A^I ^LK@LHUHHRHM0H HU8HSHU HSHRHM(HLHUHHHRHMH HCVAWAVLAUATUSHLH8Ht$T$W2Hj H-m 1HǃHLeHǃH1fHEHǃHHD$ID$HǃHǃL#H HCI|$HMLm 1IELkH|HE(HHD$ gMHE0L}HkHHHD$(IGH Hs HPHHPhH@HHC2SHLMHD$T$HH0EHHzHHt1RH8[]A\A]A^A_fDw mRH8[]A\A]A^A_HHD$]>HD$IWHt$(H4IUHt$ LkHtIT$Ht$L#HH4HCHi LHHCHH THfSH6HH0DHHtHX1H[QfHXs H[Qf.H6/AVIAUAATUHSHFHLcHHPHN1H HGHxH/CHELHHUH@HBHLHxHCDI6L1/HHzHHt1?[]A\A]A^fw ?[]A\A]A^I LCLHUHHHRHMH HCRAWIAVAULATUSHLHT$ /Hq ƃ1HǃǃHHHc HǃHhLpHǃHǃHEH+HǃL4HCH}HAHm LcLHPH@HHALLAT$ I7L-HHzHHt1>H[]A\A]A^A_w u>H[]A\A]A^A_IH!LrBLHUH+HL4HCHo LHH_EH'QSH6HH-HHtHX1H[=fDHXs H[=f.AVIAUAATUHSHFHLcHHxHF1HHl@HELHHUH@H1@HLHxH?@DI6Ln,HHzHHt18=[]A\A]A^w =[]A\A]A^I L%ALHUHHHRHMH OAWIAVAULATUSHLHT$ I,HBn ƃ1HǃǃHHHrg HǃL`LpHǃHǃI|$L#HǃHL7?H$l HkHHPH@HH>HL>T$ I7H+HHzHHt1;H[]A\A]A^A_@w ;H[]A\A]A^A_IHH?LHID$L#L4Hm LHHBH~Nf.@SH6HHm*HHtHX1H[6;fDHXs H[;f.AVAAUIATUHSHFHHHPHN1H HGHxH=HE 1HCH@H|HE(H=HELcLHH@HU0HHE8HCHEHH@HU@HHEHHC2=HLHxH@=IuDLq)HHzHHt1;:[]A\A]A^fw %:[]A\A]A^I ^L+>LHUHHRHM0H HU8HSHU HSHRHM(HLHUHHHRHMH HCLAWAVLAUATUSHLH8Ht$T$)Hk H-qd 1HǃHLeǃHHEƃHHD$ID$HǃHǃHǃHǃL#H HCI|$H;Lm 1IELkH|HE(HHD$ ;HE0L}HkHHHD$(IGH HIg HPHHPhH@HHCJ;HL_;HD$T$HH0'HHzHHt1U8H8[]A\A]A^A_fDw 58H8[]A\A]A^A_HHD$5HJHf.SH6HH&HHtHX1H[y7fHXs H[]7f.G@t"HW(HGHt H9vHWHH+G@HG@t2HG(HWHtH9wHGH9sHGHfHWH;Wv.t1JG@u@8uHBHG@8t@rfDfH1HWDG@t*HW(HGHt H9vHWHH+GHHHWH;Wv9tJG@u9tH1HWDHBHG9tډrfDG@t*HG(HWHt H9vHGHHGH9vDf.SHHH\ HHHGHHxH;=^ u!H2b H{8HH:H[@H=c tPHt$6@PJHDSHHHf HHHGHHxH;=_ u!H_ H{8HHB:H[@H=`c tPHt$vD@PJHDUHoSHHHW HPHWHPhH@HH[ HWXHHGHGPHxH;=w] ueHa H{@HHC9H H{XHCHH  HCH-\ HHCXh;H$H[]fH=xb t&PHt$tfPJHDSHHHxHV HHPHHPhH@HGHZ HWhHHGHG`HxH;=\ ucH` H{PHHC8H H{hHCHCH- HH;[ HHChv:H#H[H=a t&PHt$vfPJHِ@SHHHU HPHHPhH@HGHY HWhHHGHG`HxH;=[ ubH3_ H{PHHC7H  H{hHCHCHD HHRZ HHCh9H"H[H=` tPHt$wPJHDSHHHXHV HHPH@HCXHX HHHCHCPHxH;=Z uKHT^ H{@HHC6Hl H{XHHY HHCX8H "H[H=_ tPHt$.@PJHff.SHHH9U HPH@HGXH.X HHHGHGPHxH;=Y uRH] H{@HHC6H H{XHHX HHCX7H@!H[f.H=_ tPHt$^@PJHf.SHHHXHeT HHPH@HCXHWW HHHCHCPHxH;=Y uCH\ H{@HHCC5H H{XHHW HHCX!7H[H=@^ tPHt$@PJH@SHHHS HPH@HGXHV HHHGHGPHxH;=dX uBH[ H{@HHC4H H{XHH-W HHCXh6H[fH=] tPHt$@PJHf.UHoSHHHX HPHWHPhH@HHj` HWXHHGHGPHxH;=oY ueHFY H{@HHC3H H{XHCHH  HCH_ HHCX5HH[]fH=\ t&PHt$=tfPJHDSHHHxHW HHPHHPhH@HGHx_ HWhHHGHG`HxH;=}X ucHTX H{PHHC2H H{hHCHCH- HH^ HHCh4HH[H=[ t&PHt$@PJHf.SHHHXHK HHPH@HC`H7M HHHCHCXHxH;=N uSHR H{HHHC#+H H{`HCHHM HHC`,HAH[H=T tPHt$f @PJH@SHHHJ HPH@HG`HnL HHHGHGXHxH;=4N uRHQ H{HHHCZ*H# H{`HCHHL HHC`0,HxH[fH=HS tPHt$ @PJHf.SHHHXHG HHPH@HCXH/V HHHCHCPHxH;=5O uKH O H{@HHC)H H{XHHU HHCXa+HH[H=xR tPHt$3@PJHff.SHHHF HPH@HGXHfU HHHGHGPHxH;=lN uRHCN H{@HHC(H# H{XHHT HHCX*HH[f.H=Q tPHt$2@PJHf.SHHHXHE HHPH@HCXHT HHHCHCPHxH;=M uCHlM H{@HHC'HL H{XHHT HHCX)H[H=P tPHt$1@PJH@SHHH)E HPH@HGXHS HHHGHGPHxH;=L uBHL H{@HHC*'H H{XHHeS HHCX)H[fH=(P tPHt$>1@PJHf.SHHHXHS HHPH@HC`HS HHHCHCXHxH;=L uKHK H{HHHCc&H  H{`HCHHR HHC`9(H[H=XO tPHt$n0@PJHff.SHHH1S HPH@HG`HFR HHHGHGXHxH;=LK uRH#K H{HHHC%HC H{`HCHHQ HHC`p'H[f.H=N tPHt$/@PJHf.SHHHI HPHWHPhH@HHoQ HWXHHGHGPHxH;=tJ uZHKJ H{@HHC$H H{XHCHH% HCHP HHCX&H[H=M tPHt$.@PJHff.fSHHHxH I HHPHHPhH@HGHP HWhHHGHG`HxH;=I uSHdI H{PHHC#H H{hHCHCH= HHP HHCh%H[H=L tPHt$-@PJHff.SHHH1H HPHHPhH@HGHO HWhHHGHG`HxH;=H uZHH H{PHHC#H+ H{hHCHCHd HH*O HHCh$H[H=K tPHt$,@PJHf.SHHHQD HHHGHHxH;=F u)HI H{8HHB"H H[@H=XK tPHt$@PJHf.SHHHYN HHHGHHxH;=cG u)H:G H{8HH!H H[@H=J tPHt$+@PJHf.USHH8HHH HGHGHHGHGHGHGHGHB k@HHHD HHCHH[]fDAWAVAULn8ATUHSHH8HGHVLd$(Lt$ HWHVHFHGHWHVHFHGHWHV HFHG HW HV(HF HG(HW(HV0HF(HG0HW0HF0HG8LIHlLLL|$|LLL|$lL$ LL9Ht$L,HLHPH|$L3LLHELHPLLLLLC@U@HuHH{HS@E@)H8[]A\A]A^A_HHL|LtLlH4-@ATUHSHHLd$LHE(HtTHLEHM HRL9w I)1H HH[]A\H)1HIHH[]A\@HuHH&HH[]A\HH;HH;=B tL_H},f.HG(HtH;Gv G@t HGfDHGHGHGfHw(Hw HW0H~!HHH)HHHcHHO(f.DUSHHG@HHHoLGAAHIH9tH1IEtH<HsH{Hku2H[]tHL)HkHkHkH[]fDHHL[]f.Dw@1HwHtHN1fDAVAUATUHSHLs8H5 IHu8Ll$LQLLFHLHPLLOLLE@HuHH{HC@,'HuHH11|HH[]A\A]A^HLLH*G@tBtEAWAVAUATUSHH(HG(H;G0s0@0HC(H([]A\A]A^A_f1DI?HGHL`M9@HD$Ll$HLHD$sK4$LL9L%? IGHHBHs HtHS0LL%? H)zHD$LxMwL;pw@~LLL%s? ^HD$L%b? HP@,HD$HPL9ulH{HL%HsHHK(HHSH+K H+S HD$HxL9H=zD t@PHt$@LpBD:DPJH뿸uHHD$HxL9t Ht$\H(ATUSHH HtHyH H[]A\HGHH@HGH~6L%O> HxL9uNID$HCHHH1 H H[]A\@HHH; > t@H@H=`C t$HHt$HT$HT$넋Hqpf.DUHSHHH; 11HHHEC@E@HCHHEHHt= HpHsHG H[]HHH]'f.SH6HHHHV 1C@HsHtHNH1[ AVAUIATLg8USHHL5@ HGHGIFHGHHG HG(HG0LH: IuC@Ll$H{HHHVLHTk@1ɃHsHtHN1HH H[]A\A]A^HHHCHHxH;=D< tLYIFLHkH3&DG@HDƃAA!AEAE!ÃAE!AAA!AHE tkLWMutkE HO(SHtH9OsuHOHOHOHÃEtHylHHxEu31[LW Muu H1ÐEuH1ÐHWL)H9|HW0Hw HHHWL)H9|HWHHWHWL)HHXfDHWL)HL)H@PJHf.AVIAUATUHSHFHHHPHNH HUHWL`HEILhLILI$LIIDžI$AA$ALmIDŽ$LA$ILcHELHH@IVHH0 11LHHCEPCPHEXHCXHI2 HpHuXHH@L[]A\A]A^HLHIVHHHRINH HCAWAVL5 AULo`ATUHSHLHY1L3Lf@IF(HC`HEHǃ8HCHEHǃHHǃPL`HǃXHǃ`ILH0L1I$L}IDŽ$LH8A$@A$LcHǃHL爃AHP- HEHPH@HHC` H. 11LHHCEPCPHEXHCXH0 HpHuXLHH[]A\A]A^A_HHHLL3HCH]/ LHHC`H]f.AWAVAUATUHSHL{HHHILhHL`ILILILI$LIH{I$IA$I$AAA$A$AAHULmA$HCLLd$HSHEHuHLLLLLLz Lr EPHuXH{XCPHuXL11HH[]A\A]A^A_f.AWAVAUATUHSHL}HH(HLt$LhHL`ILILILI$LuII$LIA$I$AAA$A$AAHSLkHA$HELd$HUHSLHCHEHUHS HCHE HU HS(HC HE(HU(HS0HC(HE0HU0HC0HE8HS8HU8HS@HC8HE@HU@HC@LL(LLL LLLLLLL|$LLHCLH{PLLL L{ Ls EPSPHsXH}XUPCPH([]A\A]A^A_HL@ L8 L0 HHGf.ATUHSHHLd$LEHE8HtTHLE(HM0HRL9w I)1HHH[]A\H)1HIHH[]A\@HuXHHH[]A\HH;HH;=/, tLIH-f.UHoSHHXHH6HV1CPHsXtHNHH1[]AUATAUHASHLkHHFHHxHF1HH HEH{@HH@HUHH/ HCHHCHCHC HC(HC0HC8HW) DcHLHHCH!+ HHCPHHxHZ H[]A\A]ILtHULHHBHMH fAVAUL- ATAUHoXSHH?1L+1f8IE(HHǃ0Hǃ@HǃHHǃPHǃXHCX HCH{@AH[% HCLsHPH@HC HCXH- HHHC(HCHC0HC8DDcHLHH( HHCH) HHCP []A\A]A^IIL.L+H( HHHCXLf.fAWIAVAUAATUHSHLs@H(HFHHxHF1HH HEH , LHH@HUHDHCD$ HAHCHCHC HC(HC0HC82H& I7H{PCHL|$HHVLHCD$ 1ALcHsPCHtHN1LoHLHxH H([]A\A]A^A_I!INIHCPHxH;=R( tLEH+ LHHCqLHEHH@HUH&LLfAWIAVL5 AUAATUHoXSHHH(f1L31f8IF(HHǃ0Hǃ@HǃHHǃPHǃXHCX HCHK@LcH" HCHHPH@HC HH* HCXDHC(D$HBHCHC0HC8HL$]H&% I7H{PCHL|$HHVLHCD$1AHsPCHtHN1LLH H([]A\A]A^A_IILML3H% HHHCXLIIHCPHxH;=V& tLCH) H|$HHCs렐UHSHHHHH@HVHH+$ HHGHGPHxH;=% u2H) H{@HHCHEHH@HUHH[]H=(+ tPHt$~@PJHf.AVIAUATIUSHFHHhHHFHHEHHLhILHH IIDžHAAMl$HDžLIHkHHH@IVHH" 11LHHCAD$HCHID$PHCPH$ HpIt$PsHH@H[]A\A]A^IHLIVHHHRINH `AWAVL5 AULoXATUHSHLH1L3Lf8IF(HCXHEHǃ0Hǃ@L`HǃHHǃPIHǃXLhH(LI$L}IDŽ$LH0A$8A$LcHǃ@L爃9Hx HPH@HHCX|He! 11LHHCEHCHHEPHCPH!# HpHuPL@H[]A\A]A^A_HHHLgL3H! LHHCX H DAWAVAUIATIUM|$@SHHIHhHHXHHHHU HHVHHGHI|$HHHImHH\$1Iu@HULLJHL_LHAEHIuPI|$PAD$H8IuPH11HL[]A\A]A^A_fDAWAVAUATUHSHL}@H(HLt$LhHL`ILIL$ IL%I$LII$LIA$I$AAA$A$AAHSLk@A$HELd$HUHSLHCHEHUHS HCHE HU HS(HC HE(HU(HS0HC(HE0HU0HC0HE8HS8HU8HC8LLLLLLLLLLLL|$LLtHCLH{PLL{L3L+L#EHSHHsPH}PUHCHJH([]A\A]A^A_HLLLH HGf.ATUHSHHLd$LHE0HtTHLE HM(HRL9w I)1HkHH[]A\H)1HIHHH[]A\@HuPH|HH[]A\HH;HH;= tLY tL6H LHHC]LnDAWAVL5 AUAATUHohSHHH(H4$u1L31fHIF(HHǃ@HǃPHǃXHǃ`HǃhHChHCL= 1HIG(L{HChH HC LcHC(HPHC0HHPhH@HCH HShHHC8HCHCPHC@HHCHHD$IH CXH{`HHCH$H0HD$HH$HVDkX1AHs`tHN1LLHH([]A\A]A^A_II7IhIIL3IHCHZ HHHChLZLML{L3HCHC`HxH;= t H4$4H H|$HHC;fUHSHHHHH@HV@HHFHHGH HHGHG`HxH;= ujHC H{PHHCHEHH@HU0HHE8HCHE HCH@HU(HTHEHH@HUHHCH[]H= t&PzHt$kDPJHDAVAUATIUHSHFHHHPHNH IT$HWLhI$ILpLMLVILIIdžIAAAMt$IDžLAHE LkID$LHCH@HU(HTHEHH@HU0HHE8HCHEHH@HU@HHEHHC-H 11LHHCAD$XCXID$`HC`H HpIt$`HH@L[]A\A]A^ILLHUHHHRHM0H HU8HSHU HSHRHM(HLHUHHRHMH HCVfDAWAVL5 AULohATUHSHLH1L3LfHIF(HChHEHǃ@HCHEHǃPHǃXL`Hǃ`HǃhILPH8LI$L}IDŽ$LH@A$HA$LcHǃPL爃IHp HEHPHHPhH@HShHCTH= 11LHHCEXCXHE`HC`H HpHu`LPH[]A\A]A^A_H(HHL?HH L3HCHCH LHHChHf.AWAVAUATUHSHL{PHHILhHL`ILILILI$LIH{I$IA$I$AAA$A$AAHULmA$HCLLd$HSHEHuPLLLLLLLEXHu`H{`CXHu`L11/HH[]A\A]A^A_f.AWAVAUATUHSHL}PH(HLt$LhHL`ILILILI$LII$LIA$I$AAA$A$AAHSLkPA$HELd$HUHS LHCHE HU HS(HC HE(HU(HS0HC(HE0HU0HS8HC0HE8HU8HC8HE@HS@HU@HSHHC@HEHHUHHCHSLLhLL]LLL*LLLLL|$/LLHCLH{PLL LLLEXSXHs`H}`UXCXH([]A\A]A^A_HLLxLpH8HGf.ATUHSHHLd$LHE@HtTHLE0HM8HRL9w I)1HHH[]A\H)1HIHH[]A\@Hu`H HH[]A\HH;HH;=o tL+Hmf.UHoSHH`HH6HV1CXHs`tHNHH1[]USHH8HH HGHGHHGHGHGHGHG Hn k@HHH} HHCHH[]fDAWAVAULn8ATUHSHH8HGHVLd$(Lt$ HWHVHFHGHWHVHFHGHWHV HFHG HW HV(HF HG(HW(HV0HF(HG0HW0HF0HG8LIH\LLL|$lLLL|$\LLL)Ht$LHLHPH|$L#LLHELHPLLLLLC@U@HuHH{HS@E@H8[]A\A]A^A_HHLlLdL\H$@ATUHSHHLd$LELE(Mt\HHEHM HRHHI9w H)1HIIf.@H;=I ufDH= tGGPWDHHxH;= uH=` t&PHHt$貅HDPJHf.H@~.USHHHH- HxH9u*HEHH[]@HHPH;j u@H= tPHt$@PJHD@H@DAWL 2AVIAUIATIUHSH)H(HHXHpHL)H9w@HHpHD$HL $HHD$莁ML $IL@t(I4$L@ILLL $L $II4$Hu5Hf H~H9M$I9H([]A\A]A^A_DK|5LLHHL$藰I4$L$DLHt'H9t"J )K4I<HH=M$H MxI9yDA@IhA(^f.AGI4$HOI4$fH= t.FHt$L$&L$DFPVDH M$Mxf.DHHPH; t@S@HH@[f111襍H@[ff.DH@yDf.HPyDSHH[fUHSHHPx HՇHHH[]HPyDSH觇H[fUSHHHBxHH肇HUHHH[]ÐUSHHHBxHHRHUHRHHH[]f.HPyH@ÐSHH[H@f.@USHHHHPHYx HHEHH[]fUSHHHHPH9sPx H謆HEHH[]H=ߣ1SHHHHHH)H9HFH9wH1蹋H[HH=k1H5輁f.fU1HSHHH+HrHE@HH[]f.HH)uU1HSHH+HH'HE@HH[]fH?AUATHUSHHHH+AH9wSHHIEيHtH}LHtAH~HH[]A\A]DD/HH[]A\A]H=!f.HHD1H@HȂHSDH1HP襂H[HDHHH9w H1醂PHH=si1H5-f.UDHSH1HH+H>HE@HH[]fHLHLH)H9HFL9w EPHLH5hH=h1fH)EH+7сDH+7H1鿁f.DAUILATIUHSLH2HtH}LHt HL赪HH[]A\A]AEHH[]A\A]f.H?SIHHHPI9HH9wH H9w@~HHPHHH1[{DH?HH)I9vJHt%ItgLLD$H;LD$f.HGH;e uEHH[f.It"MtLLD$踩H;LD$fDH;GLGBH=pSH׃H[fH6LFLH)H9HGL9w HH鬃PLH5d1H=f}UHHSHH|HHH[H]hUHHSHHLHHH[H]8+f.ATIIUSHH7HNI96H?H)I9HH9wHH9wF~HHLH[1]A\yDLHL1H+LD$蠆HMLD$H4LJH9w'IMt LH HH[]A\ÐH9rItiMtLHHI)ItDMtHLLD$§LD$HLJ4JHGH4H9wHHuH[HH5LH=Y1Dp@SHHHH>HWHH)H9HGHHH9wHT$HuHH[HH5H1H="YoDSHH@H9w H軁H[HH5ђH=X1of.@SHH>HGHH)H9HGHHH9wHLuH[HH5]H=X1UoDSHHHHtH[fH9t HtH HPH=ܑSHHHHHۘH[fDAUATIHUSH(HHHI9yHL)H9HGH?H)HI9GHH9v"HHHLqkHH(H[]A\A]HH9r֋@HJ J H9IHH9rQH)LH)ILLHHLD$wH}LD$J4/LIMtLxuLl$LH|$LD$LnLD$HLHL$HjHHD$HxH;= 'H= t=P Lal@H)I8DPJHH=lVsLH5]VH=nV1/mHHD$HxH;= tLHf.H LA$@H LQLL)L9IGM9w LI~PLLH5UH=U1lAUIATIUHHSHHr{HHL[LHI]A\A]~@H)H+7~DH H)H+7LA~~f.@AUIATIHUHSHH{HLLH)I+$HIH[]A\A]-~f.H)I)H+7~fH)I)H+7~fH)H+7}DH)I)H+7}fH)I)H+7}fATIUHSHHHt H_zH4LH`[HE]A\SHHHHH;H[fDSHHHHH[fATUHSHL&H5{H~u8GenuuubL%e{H5tQLpHEHt1[]A\fDH5;{H}tH5={H}tH=;{ƀfDL%z@tHEUHH5]{SHHHe}quGH fHLHHH1HielHHHpuHǃpH[]Hm1Ht$H”}tHT$:uH=wzfH6HVt@ATUSHH@HHtT{8HItSC[LH]A\ymfHzH H@0H;] t˾ Hrf.DHf.fHH7fHHHf.fHHPH@HHHIH9rVH=RHH1hf.HH@H)H9HGf.@H)HHtHuD3ff.H)HHtHuDff.H)HHtHuDef.H)HHtHuDef.H)H H@MÐH H HHÐHHHk HHf.Hf.fHHPH@HHHJHHf.@HHHfDHf.fHHPH@HHHJHHf.@HHHfDHH@HH@HDHH@HHx@HHHHPH9sHPH=?1`fHf.fHHPHDSHHHYH9w:H)H9HGHtIH4HtHLcH[@AH[HHH51H=Oef.HPy@HJyBHHSH'uH[fSHuH[fHf.fHf.fHf.fAWAVAUATUSHL/MMHHI9vyMI)L9wnH)ItaKDD6HIHD$I|LDtIHt/HLHEhtYHT$IH)HH9wHIuHH[]A\A]A^A_fDI9HHCH[]A\A]A^A_LL)Hf.fH6HNDy@ATIUHHSH cLHH[H]A\yfDUSHHH/HMH9s$HH)HH|sHH)HHHEHH[]fAUATUHSHL/IEH9w=H)HIH9HFHHt%I|HLftHEHtHHuHH[]A\A]HH6HNp@ATIUHHSHaLHH[H]A\ofDHHHyHtHH9HG94t HHuHtcAVIAUATUHSL'HMl$L9r3HL9t'A4HLrHtH[]A\A]A^[H]A\A]A^HH6HN@ATIUHHSHaLHH[H]A\ƊfDvf.AUATUSHL/IEHtRHtMHHIH9HFHHHtAtHLqHtHH[]A\A]HHH[]A\A]H6HNj@ATIUHHSHK`LHH[H]A\jfD;hf.AVAUATUSH/LmL9sLIHIHHu)fHL9t'tLLpHuH[]A\A]A^[H]A\A]A^H6HNTz@ATIUHHSH_LHH[H]A\&zfDHHHyH9s0;4t &fD94uHH9uHf.Hf.fAUATUSHHL/IEHt7HHIH9HFHHtAtHLoHt HHuHH[]A\A]f.@H6HN@ATIUHHSH^LHH[H]A\ƄfDHHHyHtHH9HG HHt94tUSHH?H6H_HnHH9HFHt buH)H H@MH[]f.DUSHHHXH9weH)H H9HGHiHH9HFHu.H)H H@MH[]fHPHt$LL$LD$|LL$LD$fPJHDMAH˗ f.fHHPH; t@S@HH@[f111xH@[ff.DH@yDrf.HPyDSHrH[fUSHHHBxHHrHUHHH[]ÐHPyDSHWrH[fUHSHHPx H5rHHH[]HPyHPHDSHqH[HPHfUSHHHBxHHqHUHBHHHH[]fUSHHHHPHYx HqHEHH[]ÐUSHHHHPH9sPx H\qHEHH[]H=u1Sf.DSHHHHHH)H9HFH9wH1vH[HH=<1H5uSf.fU1HSHHH+HHvHE@HH[]fH)HHuU1HSHH+HHHCvHuFHH[]f.HAUATHUSHHHH+AH9wSHHIEuHtHEJIH9wHH9wF~ HHHL[1]A\A]A^Tp@HHL1H+LD$HqM,$LD$ItN4IJ6L9w2IMt LLKHL[]A\A]A^L9rItwMtLHLKH)HHHtJHtHLLD${KLD$I)Kt5I|-It0MtLVKyAEnAEȋAE[RH=pSHH5oH=61VMfDH+7Hu@HLJLH)L9IGL9w HHkuPH1LH5oH=<6Lf.DATIUHHSHKHL[HH]A\ufDHHJu@HH@HpH9w 1ɺoP1HH5nH=51xLH;=A uHGfH=ȑ tGGfATUSHH?HHHsNHHL`HtHt"HsLIHH;-ԍ uL[]A\fCH;- EtEHUDf.HH;ptGUHSHHxH(HHHl$H9HHBH)sHHzH;=V u$HH([]f@~ H@H= t&JHHD$qHD$@Jqrf.HHPH9PrfH1SHH8IXefAUATUSHHHHhHtKHILhIL;hvLLHSHI4$HPHiH[fH9t HtHу HPH=daSHHHxH4H9wHLOLH)H9HGHH4L9wHfAUIATIUHHSHHE1HHu67I$L`AL$ AD$tMbH|$UHH7I$HHLI AtbYSMgJbHH 7SHc*SHcfH6HVTT@USHHHH@HHt!HH PPHHH߉[]BL=Bf.HG@!HG@"HG@XHG@\HG@`HG@!HG@"HG@XHG@\HG@`H~ HH=Of.HA| HHYf.HG@HHG@IH1{ HH8f.1f.1H9s!fHHHHH9uH)z HH]f.Hq HH\f.H) HH\f.H HH\f.H} SHHHMH[0>H{ SHHHXH[>Hiy SHHHY\H[=Hq SHHH9\H[=Hy SHHHI7H[=HI SHHH[H[=H) SHHH[H[p=Hp SHHHHGCH[[f.Hp SHHHHGBH|[H[=HYp SHHHHGBH[K[f.H)p SHHHHGBH[H[<USHHHPp HoHH`f.Ho SHHH9>H[HTHHdPHH[]f.UHSHHHFHhHHGHHt Ht>HTHHPHH[]f.AWHGAVAUIHATUHSHHHHHGGH|$ Ht$LHD$HGH|$HD$ OLd$ HD$(L)HLHH$]If.B0HL{BD0L|$HLLLOH9w(HhL]H?]HLHLINHH+SH9HLHDLN=IL9$$tULsIHM~H9D$t/HSI9RA11LHXH5DfLp\HD$H|$ HH9t5HHH[]A\A]A^A_H= B4HH,>WGHD$H|$ HH9t15H;H9|$t"5HWHHH+L[f.@AUIATIUSHLD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H?NJHL$HcLHH$LD$ HD$HD$ D$ 0HD$GHJH[]A\A]U1SHHHHG11GHl HHm@*|C!9@֍B< eCDDlBЉA;D$xK;D$p?AHCH;CoHHCIEAHAA u}AAHHAH9AHDD$,HLL$T$H $PHH $T$ÃALL$DD$,A1fDHCH9C*E1pf.HCH;CbD DfD@LL $*DD$HL$DD$HL$AAL $@*fDH$u}IuwAdHD$ D(DHIL#t$H8L []A\A]A^A_@HDD$HHL$L $PPDD$HL$AL $Acf.H$L;$oUDHHDD$,HL$LL$$PH$ÃALL$DEHDHL$DD$,@HDD$HHL$L $PHAAL $HL$DD$t D A1f.AWAVMAUIATUSHH@HD$4Ld$xD$4PAQjh'jLL$XHD$@HHHT$HT$HH0H!Ët$,HH ډЅ|$(DGdH|$xAHwH AulAMtu8uA $H8H[]A\A]A^A_Ð1IuI9urIEHT$LH $PHHT$H $A $f1HEH9ErHEH$HPHH$ADHEaf.UHAWAVIAUIATSHHHHE HULELeHLMUHMIHEHHH)LD$IAAHMD zD}EME@@ Fu@8u.HE(DuHHH#UHe[L A\A]A^A_]Ht EDUH}tH]E1E1DL}MMDI$LP8tIL9mt"K0@8uHEF,IIL9muMH]L}HEI$H]LMI@IcI8uHI9wHuIELHMIIHCH;CHHCIcLmIĉEIHHUHI9AHULED}OfDEA8/F$*DH A8HCH;CHHCII9&1HCH9CcMAE tI@I9@~E1HEHHH9H1@8H]EHLEHMHuPHHuLEMEиHDH}HPPIFI9F1HCH9Csw1xHH@uUHPHUuHEEHEHHHPHHE@HEHCH;CswDnHUHLMPHULMEHDIUL@uLMPHuLMȃUIEEHEHLMHPHALMȃDEиHDHCH;CsRD: EsHHuHLEHUPPHuLEHUuHEuE0=HHuHLEHUPHDHuLEHUEȸHDaHHuHLEHUPHHuLEHUHDhILHuHUMLEPHLEȿMHUHuDELDHHPPzUHAWIAVAUIATISLHHHE HULMHUHMtDULMHHEHHH)Lt$IAMAA 8AMD  D8E1E11DA@M@ !H}D D8Mt @ EH11HHH9s2ITL9"vI Hc9I~@H@ AuF@8H[]A\1HGH9GrHHt$PHHt$uI$뢐1HGH9GrHHt$PHHt$uHDAWAVE1AUATUSIH(H|$L$pHH$H$H$L$LL$HHD$^LH3$DŽ$IH$H$HD$ @H@ AH$$Ht1ŋ$M9@O<4InA 9HȄu%HLB@L;D)  9€%E<,B;9Lu&HHJ@H; ) +B;9DŽ$EOA8H HcHDHGH9G HPHHDŽ$H$E7$Ht A8F$$If1HGH9GhHPHYHDŽ$DEDInGt4B39LHHJ@H; ' B39M9ut H$`H$H$H([]A\A]A^A_f.HL$(1HAHL$(fDHGH;GD:0HHGDŽ$I;@HGH;GrHPPH$fD1AHфD$$H$LuHH$Pt$ jj jH$H|$8H$L$H$L$GH$$HH$H$$H0D$Ei$H$hARfHH$Pt$ jj;jH$H|$8H$L$H$L$H$$HH$H$$H0D$E$H$hAfC8<tHH@8H;+ RML$DŽ$%H:%f$HAW$xH$PH$H|$(LL$0H$L$H$wH$$HH$H$$H DHH$Pt$ jjD$?HLMHHD$DP$UHt$(H|$ WHT$HHHHD$@D$HH!H H ƒAHD AAMtA8uMHHH[]A\A]A^A_f.D|$=D$>PHLL$HD$^HD$LL$HHJ0H;  %LL$%HLL$E1HAH9AVHHT$HH $PHH $HT$EDHD&1It$I9t$!I$HT$LH $PHHT$H $f.DAWIAVAUATMUHSHHHHHt$D$H@@H;  D$eILL$H$LL$x8P^T$HHLHHD$DMP$$Ht$(6HT$HIHHD$@D$HH!H H ŃA@M@ A AHt@8u H$HHLD[]A\A]A^A_@HLL$HD$FHD$LL$HHJ0H;  %LL$%HLL$Dl$=Dt$>D$?@EEAUAV$$Ht$(H HH[]A\A]A^A_@1HKH9KHHPH @1IEI9EIELPHADLDfAWIMAVIAUATUSHHH|$HH$LD$ DD$HH$LL$8T$HD$@H;$DD$IH$AMAf.IU0EDB Ht EGDIE@LDD$DL$(P uLAIEP D8tNHDD$tDL$(E}DIEDD$@LPuLAIEPDD$D8hHCH;CHHCHAH9$H$AAHAE (EMD DD8DuC59Lu'IUHJ@H; C59%HEHD$H9$DuG59LEu(IEH@@H;y sC59AAEAOAD1E1HD$DL$4L$0HT$(H@@H; HH#,$H|$@IL DD$HL#t$ H,$M Lt$ ?T$(L$0H$DL$4x8H^L$|ENT$}D$~HMLHH$HP$$LL$XH|$8wHH$D$H$H HHH!L ŃA@H@ Mt E\D@8u H$HDH#D$H HD$HD$H\$PIL#$HD$XLH Hl$H$AHH9$ZDHIL#$HĈL []A\A]A^A_HEH9$;MHDJ t$H$fDEDB t HH9uH$LEY@EMD uwDD8Ht EDHU0DB tgHCH;CHHCAAAHAE tHCH9CE1MD tIGI9Gm1D8ufDEIH$DHCH;C0HU0Dr oEAIH$IGI9G1D8 H$X@HCH9CE1f.HHPPfHEHD$H9$DuAC59L|IEAH@@H;y !+C59fDDL$}T$~D$DDD$(A1LDL$DD$(DL$KHDL$OL$4T$0HD$(HD$(T$0L$4DL$OH0LF0L;3 "DL$0%HLjT$(ADL$0T$(HCH;C0fE111D@Dt$HLHH#$L IL#D$ M H$LD$ UVH$$LL$XH|$8HT$(HH =@IDD$(LT$PHT$DD$(ELDHDD$HPHDD$DEHD1II9ILPH@1HAH9A^HT$(HPHT$(DHD8fHDD$HPHDD$HD?@HCH;C\0pffDDD$01ALL$(DD$0L$(hHHPPpHDD$(HDL$PHDL$DD$(DEHD}IDD$0LDL$(T$PHT$DL$(DD$0ELDODD$41LDL$0L$(DD$4DL$0L$(H$H$LEEH$YHDD$(HDL$PHDD$(DL$EHDHDD$HPHDD$EHDfAWAVAUMATLUSLHHt$pHT$xHL$`LD$hLL$H贼H=- HD$0CIHH@J,H]HHCdH{@HD$ D$WH${ HDŽ$HD$H$H$Ƅ$tH|$ EH$ HDŽ$HGH|$H$Ƅ$HCeE1E1D$UH$C`D$P$H$HD$8HD$`HD$XHD$8HD$(B<0D$VB0H HcHAIIH|$(D! |$VHC8H$D$xH|$pAA@@HAA H|$`|$hHtW1L;l$( @ H|$pD$xH@Ń@ H4$B8.HGH;GV HHGDt$xIDeDD$xH|$pf.H H+D$ HL$H$HLeD,H$HQH9H$I9eD,(H$AL$D(H|$pHGH;G'HHGD$x@HAA H|$`|$hHAA d@8 l$xH|$pu HH<$@ H@8k!AD d$UC @8k"|$UZ E\ HL$H$H$HQLeH9H$I9eD<(H$E1L$D(H|$pHGH;GHPPH|$pfDH{@H{PLd$p%l$WAAj@HD$H@uUH|$(@E@u@A AA,$<t<.|$W#HC0H|$pE1HD$@D$x@HAA H|$`|$hHt/1L;l$@@ ,D$xH|$pu HHS(B8*H|$pHGH;GHHGD$xIffDH|$p|$x@HAA  H|$`|$hHAA  @8E1ID$xH|$p}H|$`|$hHAA  @8H|$pD$xHt HL$0HQ0DB H|$pHGH;GIHHGD$x@HAA m1HGH9G]HPHNHD$pD=D1HGH9GHPH1҃{HD$`DjfD1HGH9G7HPH(HD$pDHGH;G(>f.H|$A11H)H$w@H|$A11HH$w@8fDCXD|$PE1D$U;0AH$H|$p|$x@H!H$H|$`|$hH Љ^@8u H$HL$H$HD$pHT$xHH9tH$HT$0H$HT$HL$H$HH9tH$HT$H$HT$H[]A\A]A^A_HGH;G)Ht$0HV0DJ DAF@HD$8IB<0d1AfD1HGH9GHPH1҃HD$`DfDH{PD$W6HGH9GHPH1ՃHD$`xDHCHH$H|$pD$xHt Ht$0HV0DB H|$pHGH;GHHGD$xA@Ld$pHt$XLvńH{Pu]H{@-1AD$VHGH9GHPH1ՃHD$`DHt$XLńH{@H{P|fD1HGH9GHPHHD$pDHGH;GH4$B4.@80Jf1HGH9GHPHHD$pDHGH;GHS(B *8McHD$H@D$@%A@GfHPPH|$pHPPH|$pL;l$(H$|$Vt&H$80tH|$A-11IH$HtxHt$Dl$PLeH$|$UHVEDH9H$I9D,(H$L$HT$D(HsH{su H$|$Ut D9{X?H$Ht$H|$p|$x@H!81HGH9G(HPHHD$p @HPPH|$pdHPHŃSHD$p@D$UH$A~fDL;l$@Ahf.1HGH9GHPH1҃HD$`qH|$1Ҿ0藯HH$HH9H|$HG1yt$xLHS88HC@H|$pHD$(D$xAt$xLHSH8MHCPH|$pHD$(D$xAD$VapֳH@1LH HCHHCHfS HC"HC(HC0HC8HC@HCHHCPHCXC`Co&HD$HHLHOH]RfDEH$k1HGH9GNHPH?HD$pD.1HGH9G;HPH1҃*HD$`DfDl$W@$$(HPH7HD$p)HPHH|$p!Dd$UE1HPH HD$pH|$A11HH$HGH;Gs@Ht$0HV0DJ BRHBHtIH05HPP6HPHHD$p_H$HD$p14H EHTHD$H$HH9t]HD$H$HH9tBHHHHPHܭHHf.AWAVAUMATLUSLHHt$pHT$xHL$`LD$hLL$H4H= HD$0ùIHH@J,H]HHCdH{@HD$ D$WH${ HDŽ$HD$H$H$Ƅ$tH|$ H$ HDŽ$HGH|$H$Ƅ$HCeE1E1D$UH$C`D$P$H$HD$8HD$`HD$XHD$8HD$(B<0D$VB0H HcHAIIH|$(D! |$VHC8H$D$xH|$pAA@@HAA H|$`|$hHtW1L;l$( @ H|$pD$xH@Ń@ H4$B8.HGH;GV HHGDt$xIDeDD$xH|$pf.HQ H+D$ HL$H$HLeD,H$HQH9H$I9eD,(H$AL$D(H|$pHGH;G'HHGD$x@HAA H|$`|$hHAA d@8 l$xH|$pu HH<$@ 芬H@8k!AD d$UC @8k"|$UZ E\ HL$H$H$HQLeH9H$I9eD<(H$E1L$D(H|$pHGH;GHPPH|$pfDH{@H{PLd$p%l$WAAj@HD$H@uUH|$(@E@u@A AA,$<t<.|$W#HC0H|$pE1HD$@D$x@HAA H|$`|$hHt/1L;l$@@ ,D$xH|$pu HHS(B8*H|$pHGH;GHHGD$xIffDH|$p|$x@HAA  H|$`|$hHAA  @8E1ID$xH|$p}H|$`|$hHAA  @8H|$pD$xHt HL$0HQ0DB H|$pHGH;GIHHGD$x@HAA m1HGH9G]HPHNHD$pD=D1HGH9GHPH1҃{HD$`DjfD1HGH9G7HPH(HD$pDHGH;G(>f.H|$A11HH$w@H|$A11HH$w@8fDCXD|$PE1D$U;0AH$H|$p|$x@H!H$H|$`|$hH Љ^@8u H$HL$H$HD$pHT$xHH9tH$HT$谮H$HT$HL$H$HH9tH$HT$胮H$HT$H[]A\A]A^A_HGH;G)Ht$0HV0DJ DAF@HD$8IB<0d1AfD1HGH9GHPH1҃HD$`DfDH{PD$W6HGH9GHPH1ՃHD$`xDHCHH$H|$pD$xHt Ht$0HV0DB H|$pHGH;GHHGD$xA@Ld$pHt$XLńH{Pu]H{@-1AD$VHGH9GHPH1ՃHD$`DHt$XL{ńH{@H{P|fD1HGH9GHPHHD$pDHGH;GH4$B4.@80Jf1HGH9GHPHHD$pDHGH;GHS(B *8McHD$H@D$@%A@GfHPPH|$pHPPH|$pL;l$(H$|$Vt&H$80tH|$A-11H$HtxHt$Dl$PLeH$|$UHVEDH9H$I9D,(H$L$HT$D(HsH{u H$|$Ut D9{X?H$Ht$!H|$p|$x@H!81HGH9G(HPHHD$p @HPPH|$pdHPHŃSHD$p@D$UH$A~fDL;l$@Ahf.1HGH9GHPH1҃HD$`qH|$1Ҿ0HH$HH9H|$HG1t$xLHnHS88HC@H|$pHD$(D$xAt$xL nHSH8MHCPH|$pHD$([D$xAD$VapVH@1LH{ HCHHCHfS HC"HC(HC0HC8HC@HCHHCPHCXC`Co覬HD$HHLHϛH]RfDEH$k1HGH9GNHPH?HD$pD.1HGH9G;HPH1҃*HD$`DfDl$W@$$(HPH7HD$p)HPHH|$p!Dd$UE1HPH HD$pH|$A11HH$HGH;Gs@Ht$0HV0DJ BRHBHtIH05HPP6HPHHD$p_H$HD$p14H EHTHD$H$HH9tݥHD$H$HH9t¥H:HrHHPH\H"H f.UHAVIAUATSH]HCH@HELmHEEEt}SLMAUHUYIH^HELEH!H I趽H}Hu HMLHEHڟH}H9tHeLL[A\A]A^]fSLMAUdIH}HH9t譤L%DUHAWAVMAUIATISHHXHEHMDMHۘDMHuHEIHFHuHMEHEEtwVLMMLuHLILuYHUHHE^EH!H MuULmHEHI9tLHeLH[A\A]A^A_]uLMMLuHLMH} 1LHE LmHHEKD5HEAG8<tIt5IH@8H;/ uEL9m^H}LLtmUdHMH$HU@HL$HT$8I I$LLP(L)IIu_\$#IGHD$HH[]A\A]A^A_fUhHMPHHuX$IVHL$8LEHt$H$K4$HDŽ$HGH|$0H$DŽ$gHcU`MH$I)HM~{MHH}LH|$0KL-E1H1赟HMHUO Mu(H$<H$HH+$HHH9H$E`jAGH\$Ɓt$HL$H4HDŽ$IFLDŽ$H$uIw|$HL$L-H9Ht$@H)!ID$Ht$PHD$IFT$OHD$XA<$cA$IcDL@H|$DHD$8H$D$`HCHD$hH$H;D$XH$H9T$hRT$`HSH$DfAGHU8Hu0HH+$H9H=!^膇fD|$OH$HCHD$`H$H;D$XIH$H9T$`T$$HSH$DA|$Ot9DD$$HL$P1LH$mH$H$L IL9d$H|$H$HH\$@H9HD$@|$#H$Hc\$@uH|$HHP`H9H$D$#HD$1ۊ\$#IHD$pH\$xH\$(0H È\$#L9tH^HD$0H$HH9?f.H1DD$$H)|$H X1L^BfH]8 HHt$8HHH)HH9LH$H\$@H9wE$HT$0D$@HCHHD$H$H9>H$H9T$T$@HKH$DM7HHcU`K4H)H9.H|$07H$f.DD$$HL$P1HL9@H@Ht$HY HEHHEHE HEHE$HE0HE8HE@HEHHEPHEXHE`EhƅNIHT$HyI.fH|$0MLH1E`H$LDEpHt$1H|$0H=HH+$I9LLHLA11HL苌H$fDH|$0A11HaH$@A11HL;H$fDfDH5ڞH=e1o|H=nYӂH=bYǂH=VY軂HHH$IL9t轃HT$0H$HH9t袃HHNzHEHPoH7zHHDAWHIAVHAUMATUSHHHt$HT$(DD$$T$#HD$wH= I HHD$IH@L4I.HMuIE}lA9>tmUdHMH$HU@HL$HT$8I I$LLP(L)IIu_\$#IGHD$HH[]A\A]A^A_fUhHMPHHuX$IVHL$8LEHt$H$K4$HDŽ$HGH|$0H$DŽ$ǞHcU`MH$I)HM~{MHH}LH|$0KL-E1H1HMHUO Mu(H$V4H$HH+$HHH9H$E`jAGH\$Ɓt$HL$H4HDŽ$IFLDŽ$H$՝Iw|$HL$L-H9Ht$@H)!ID$Ht$PHD$IFT$OHD$XA<$cA$IcDL@H|$DHD$8H$D$`HCHD$hH$H;D$XH$H9T$hRT$`HSH$DfAGHU8Hu0HH+$H9H=U~fD|$OH$HCHD$`H$H;D$XIH$H9T$`T$$HSH$DA|$Ot9DD$$HL$P1LH$͔H$H$L耊IL9d$H|$H$HH\$@H9HD$@|$#H$Hc\$@uH|$HHP`H9H$D$#HD$1ۊ\$#IHD$pH\$xH\$(0H È\$#L9tH~HD$0H$HH9~f.H1DD$$H)|$H X1L输BfH]8 HHt$8HHH)HH9LBH$H\$@H9wE$HT$0D$@HCHHD$H$H9>H$H9T$T$@HKH$DM7HHcU`K4H)H9.H|$0藈H$f.DD$$HL$P1HL虒@wH@Ht$HP HEHHEHE HEHE$HE0HE8HE@HEHHEPHEXHE`Ehƅ螀IHT$HzpI.fH|$0MLH1vE`H$LDEpHt$1H|$0H蝑HH+$I9LLHLeA11HLH$fDH|$0A11HH$@A11HL蛃H$fDfDH5:H=]1sH=P3zH=P'zH=PzHHH$IL9t{HT$0H$HH9t{HzHqHEHPϜHqH]HEDUHAWAVAULmATSHxH}LHuIHU|LpDxLsLtnHPIH\$HIuLeHE1uLH 2@HE1BE^_?~RXHcHHH)HD$HHhI袒uHhE1uH ٕLHE1DZYHc1ID$LHHE|MIHMLLAPX|MHuDxHpHUH}tU蠈H}IL9tHEHUfyHEHULHEHUHEHUHe[A\A]A^A_]軅HHH}IL9t yL赍H}f.LELL$Htf[f.U1SHHHHG1GH˭ HH/rH[]HHݖHDU1SHHHHw1GH HHqH[]HH葖H詚fU1SHHHHGGH- HHqH[]HH?HWHH@H; uHG@Hf.@HH@H; uHG@Lf.@USHHHH@ H; uGHFHHhHGHHt H~HTHH$HH[]f.HH[]@USHHHH@(H;y uGHFHHh(HGHHt HnHTHHHH[]f.HH[]@USHHHH@0H; uGHFHHh8HGHHt HmHTHHtHH[]f.HH[]@AT1UHSHHHHG1GH& HHoHc H=VHHHtH=ZMHuH[]A\Ld$1HL6vHt$HoL1{H[]A\HHH薛HΗH覓H辗f.@AT1USHHHH.HG1GH6 HHnHs H=UHHHtH=jLHuH[]A\Ld$1HLFuHt$H)nLAzH[]A\HHH覚HޖH趒HΖf.@1HGH~ HHfDH`f.H`f.H` f.H`(f.H`0f.H`8f.AWAAVAUATULSHH8H$HL$HT$HLL$ g H$ItH$EȃLED$*E1E1AEMIH|$@@"l$*l$*@8#L;$Ht @'DI$DT$ *LP`DT$ PЀ 7CTDlPDA;D$xD;D$p AHCAAH;CHHCIAA@H@ &HCH;CHDEDHL$HAH;AHE|$EH|$@8MEEL;$uNHD$ D(aHCH;C0HDDHHPPfMEEH$uHHMHDELUHuPHHMDELUHupHDEHLUHMPHDELUHMILULPHLUȉ@HCH;CscHDDEI@uLLEHUPPuLEHULL9QHEuE0*H@uHLEHUMPHuLEHUMrI@uLLEHUPHuLEHU\I@uLLEHUPHuLEHUyILPPf.UHAWAVIAUIATISLHHHE HULMHUHM\DULMHHEHHH)L|$IAMAA EME C]8E1E11fA@M@ IH}"UU8Mt @LEHN11fHHH9s2ITL9"vI Hc9IADIEtfHEHT$HH $PHHT$H $fIH$LPHH$f.1HGHΕ HHfD1HGH HHfDU1SHHHGH HHvHC^HCH[]HH|H袀fAT1IUSHHHHGHGGH8 Ht$HH]LHHatuHkH|$ORHCH[]A\fLdHhH蜄HLH~HCHH{HDH`f.ATIUHHSHH}YHLHH[]H@A\HSHPH[ÐH` f.Hf.fHWHHGHGfDAUATUHHSHHeH LkHH\I9t#IMtLtLH!suMLcH=K=HtH=4HuEH[]A\A]f.HcL`L,LHHHCLcLa1HL\H[]A\A]HHa}HY~fH6X\H6xtATUSH.HHTH HH=V<HHtH=3Hu []A\LcLa1HL[[]A\HHH}f.DU1SHHHGH͍ HHsHCH[]HH3yHK}f.S1HHHHt$GHy HHH|$ OHCH[fDH`f.HSHPH[ÐH` f.AU1ATUHSHHHL- GIEHrHCH HH=:HHtH=1Hu H[]A\A]ÐLcL_1HLgZH[]A\A]HHIELHS_HwH|AU1ATUSHHHL-? H.GIEHqHCH HH=:HHtH=0Hu H[]A\A]ÐLcL^1HLYH[]A\A]HHIELH^HwH3{SHH= [HHJH9Bv%H H5 1`mH[SHH= @XH H1H9Qv(HIH~H Љu98H[]A\HGH;GsT1ۃuI$HGH;Gs1҃uHfHHt$PHHt$fDHHt$PHHt$fDAWE1AVAUATUISH8H|$H$HH$H$H$L$LL$ hHHD$0FHIJ$DŽ$HD$H$H$HD$8H$HD$(H$HD$@H@ AtH$$H A$@8L;|$N$I1LN,#IoAuP`<%uJIBt#1LP`DŽ$H$x$xH$pH$$H0D$E)$H$xA f.$H|$8I LQZHt$t$0jjj H$L$H$H$H|$HL$=H$PH$XH$$X$H0D$$EY+@Ht$t$0jj@AIFI;FsCADIEf.HEHT$HH $PHHT$H $fIH$LPHH$f.AWIIAVMAUMATUHSHH(H4$Ld$`THMHH@HMLpt$xATHt$ ]IHD$0HHT$8T$8H!H LH ڃM uLAHtu"@8uA $H(H[]A\A]A^A_fDHEH;Es>@AIFI;FsCADIEf.HEHT$HH $PHHT$H $fIH$LPHH$f.AWAVMAUIATUSHHHH|$IH$LL$D$Ht$D$f1E%EHHQPELL$D$0Dd$4D$8HLHMHD$8P$UHt$0H|$(\IHD$@HHT$HT$HH!H LH ڃM AuiAMtu@8uMHHH[]A\A]A^A_@IEI;Es^@ADd$8D$4D$<8fDID$I;D$sDADIEoIEHT$LHL$PHHT$HL$I$HT$LPHHT$f.AWIAVIAUIATMUHSHHH$H$H@@H;vs D‰T$ $IL$DD$LL$/%LHASPT$ LL$DD$L$D$0DD$4L$8D$<HHLLHD$8LMP$SZIHT$HHHD$@D$HL!H MH ƒAMD u~AHtA8u HHL[]A\A]A^A_@L$4D$8UAPLMQH$SH HH[]A\A]A^A_IEI;EsFAIEDDIXfDHEH;Es6QfIEL$LT$ PHL$T$ HEL$ HPHL$ f.fAWIMAVIAUIATAUSHH|$HH$H$LD$LL$8DD$4HD$@-HH$H;$AHD$pILD$+HD$HfI LPHt EDILP@3LAIP@DD9t ILP03LAIP0D9HEH;ERHHEHAH;$:H$(AAHD DM"T$+T$+8I1ҋ3LP`<% LsL9$Is1LP`ȀEE11ҀOHD$T$ HH@@H;o UDD$4DH|$@IHL#$$H#\$L$,L I DL$0L$$H\$+H$%LHAPPT$ L$,D$pDL$0_L$tD$xHHLIt$PL$$H|$0LL$X:VHHH$HI!H$$H HI ADH A#Mt |$+D$+8u H$HH#D$H HD$HD$Hl$PI^AHD$XHH#$L H$AH;$@IDLIL#$$HĈL []A\A]A^A_@HH9$t/L$HI9tI LPuH$\$+b@MA D8HtDI LPHEH;E@HHEAAHAA tHEH;EIHDDEM mIEI;E.ELDD8K\$+H$OHEH;EbЃHDDIEI;EyELD8KH$I)fDHEH;EHDEHEHPPL$ LsL9$I1ҋsLP`DL$ D DL$tL$xD$|fHEH;E0ILP@3LAIP@A9HEH;E0HDfDDD$4HIL#$$LH HH#T$L H<$HT$IHAQQL$$LL$XH|$0HT$(HH HEL$+HPHL$+IEL$ LT$+PHL$ T$+IEI;EDHFH;FALEADLf.HEHPHHEHPPHEL$ HPHL$ IET$,LL$ PHT$,L$ h1H$IHEHPHHT$,HHt$ PHT$,HL$ *IET$ LPHT$ HEHPHf.AWAVAUMATLUSLHHt$pHT$xHL$`LD$hLL$Ht%H=Mn HD$0s4IHH@JH+HHElH}HHD$ ! D$WH$} HDŽ$HD$H$H$Ƅ$tH|$ vOH$ HDŽ$HGH|$H$Ƅ$?OHEpE11D$UH$EhD$P$H$HD$8HD$`HD$XHD$8HD$(B<8D$VB8H5QHcHAIH|$(D!,|$VL}@D$xH|$pA}@H|$`|$hHAA  A8B L;t$(7 H|$pD$xHt  C9@HGH;G HHGD$xIAHAE pHGH;G9E1THD$pECD$xH|$pf.Hm H+D$ HHL$L$HMl$D4H$HQH9H$I9F4 H$L$BD H|$pHGH;G(HHGD$xAHAE H|$`|$hHAA A8Dd$xH|$pAu HH<$ Dt6HD9e$AD l$U(E D9e( |$U  HL$L$H$HQMl$H9H$I9B H$1L$BD H|$pHGH;GHPPH|$pH}HeH}XJDd$WEAHD$H@uUH|$(AEAu@A AAM$<t<O|$WDHE8H|$pE1HD$@D$xfDH|$`|$hHAA +L;t$@A1A WD$xH|$pu HxHU0B9=H|$pHGH;GHHGD$xIAHAE gHGH;G& E1KHD$pE:f.H|$p|$xAHAE  H|$`|$hHAA  A8E1I_D$xH|$p~H|$`|$hHAA A8H|$pT$xHt H|$0 HP{H|$pHGH;GXHHGD$xAHAE lHGH;Gu E1PHD$pE?HGH;G1҃FHD$`DA8:AH$H|$pH$|$xH ؉H|$`|$hH Љ8u H$HL$H$HD$pHT$xHH9tH$HT$)H$HT$HL$H$HH9tH$HT$)H$HT$H[]A\A]A^A_ÐHGH;GE1HD$pEHGH;GD DHD$pDH|$A11LLH$L@H|$A11LKH$M@ fDE`\$P1D$UDfDEAAGlEcHD$8IB<8)E1@AHGH;G1҃HD$`D@HGH;GЃHD$pH}XD$WL}PH|$p|$xAHAE H|$`|$hHAA A8H}XH}HLE1AD$VT$xH|$pu*Ht%HGH;GЃuHD$pDH|$0 HPAńH|$pHGH;G HHGD$xDLl$pHt$XLAĄH}HH}X2HGH;G1҃HD$`DA8L;t$(H$|$Vt&H$80tH|$A-11 ML$MtzHt$Dt$PMl$H$|$UHVDDH9H$I9=F4 H$L$HT$BD HuH}1.u H$|$Ut 9]`GH$Ht$`:H|$p;fDHGH;GwƒuH|$pHGH;G1҃L;t$@DHD$`A1A DL;t$@MHD$H@D$@%AAMfDHGH;GƒmHD$p_HPPH|$pHPPH|$pHPPH|$pQHPHDHPHDHPHAfHGH;G1҃HD$`DHGH;G1ۃHD$pDHD$p1@H|$1Ҿ0H`H$H(H9H|$HF116H|$pD$xHt%u HGH;Gƒu HD$pHU@9HEHH|$pHD$(8D$xE1At$xLȅHUP9IHEXH|$pHD$(y8D$xAD$VXHGH;GE1HD$pEHGH;GF1҃HD$`DfH@LHHEHHHEHEE HE$HE0HE8HE@HEHHEPHEXHE`Ehƅ)HD$HHLHH+E|H$bHGH;GE1HD$pEHGH;Go1҃HD$`DHPH HPHDd$WE$q$^HPHHPHHPH[HPHA|Dl$UqE1iHPHHPHuHPHH|$A11LCH$HBHt?H@HPHHPH HPHlMH$HPHHPH D$UHPHHPHMHPPHPHnHHHHEHPAHHAHHD$H$HH9tHD$H$HH9tHB2HAAWAVAUMATLUSLHHt$pHT$xHL$`LD$hLL$H4H=Z HD$03"IHH@JH+HHElH}HHD$ ! D$WH$} HDŽ$HD$H$H$Ƅ$tH|$ 6=H$ HDŽ$HGH|$H$Ƅ$HI .LHHMLKE1LL$L9vj1fDHHT$HLHRKRLP AXZAHD$H+CIIAvH HAHH+LH;H{hLHpHH1LKLHHHLL$L9)Az@xHAHC(HC HCHCHCHC0ƃ H=kVfDHPhHHC(HC HCHCHCHC0ƃv1H9CHƃHHHHHKHCHSH9>H[]A\A]A^A_f.HsH{hLIHHHC(HC HCHCHCHC0ƃHLKHH)III9r8Hu9MHA f fDMMLLHLH @>H=fDM~gHCxHCHCtnJHSƃHC(HC HC0HHP@HLlL@H=lHCfLIHu=HHtwLL@~6LE1vIHHLQE1Ht&I9LE1HLLI9~LI`H=Tf.DAVAUATIUHSHHGHWE1H~ H9H9HHƃDsxHHKHHCHSHHCHH9~$HHHP0AtHLHmI[L]A\A]A^fDuODwxE1fDHHNHGHHG2DwxIAKHPht@HDsxHC(E1HC HCHCHCHC0ƃfE1>HsLsI)uCLshDIH)t!IHLLHtpHuHu/ƃLLMML)LsfDHHC(HC HCHCHCHC0ƃH=zHWIAfDAWAVAUATIUHSHHHGHWE1H~ H9H9HHƃDsxHKHHHHCHSHHCHH9~$HHHP0AtHLHcIHL[]A\A]A^A_fDuGDwxE1fDHN0HHA4$HG5DwxIAHHPhtHHDsxHC(E1HC HCHCHCHC0ƃf.E18LsHsL9t"I)LMMILML)LsLshIH)t"M$HLLnHtOHuHuƃfHHC(HC HCHCHCHC0ƃH= 8IAf.AUATUSHHGxHAHHIHP0Eu}HS(HC0H)ЀuHHqHHGH=HMH9BHs IH{hLH)I1 LH9t9HL)I9ŸHLH[]A\A]@HHLH[]A\A]pHKxHSHSHSut'HHvHS(HS HT HS0ƃHC(HC HC0f.AUATUSHHGxHAH/HIHP0EHS(HC0H)HuHHqHHGH=HMH9BHs IH{hLH)HI LH9t=HL)I9ŸHLH[]A\A]HHLH[]A\A]HKxHSHSHSut*HHvHS(HS HTHS0ƃyHC(HC HC0wu7HGƇHHGHHHGHGHHGf.Dt=HGH9GƇHHHHHOHGHWfAVL5% AUIFATUHo8SHHLchHGHGHGHG HG(HG0H7fLHs@H]% HC`C@HCPH HCxHHǃHǃǃHǃHǃ ǃHǃHǃƃHǃHǃHǃHǃHǃEu[]A\A]A^HH[]A\A]A^ILIVHHL fDUHSHHH0$ fHE`E@HEPHEHChHEhCpEpCxHChCpCxExHC|HE|HHHHHHǃHHHǃHƃƃƃHHǃHHHǃHƃHHHHǃHHHǃHHHǃHHHǃHHHCHCHCHC(HC|HC HC0HHH[]fAVLw8AULn8ATUHSHHHGHVLd$HWHVHFHGHWHVHFHGHWHV HFHG HW HV(HF HG(HW(HV0HF(HG0HW0LHF0LLLLLLXHEhHShHUhSpHChEpUpSxCpExUxHS|CxHE|HU|HHC|HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[]A\A]A^ÐHhGu Ht@SHH ƃH[SHt#HHtJ HǃƃHHt' HǃHǃHǃHǃ[ÐUHAWAVAUIATSH8HH1HIHP0uoIL}HP@ILEI HcILEHHuHBHH)HL\$AWILMMRLP^_v6I}hHLH9He[A\A]A^A_]fLEMehLELLLEL)HH9uMLEtIIM(MHUHuHAWAPLEPZYtH]LLL)HIGI9GAƇIIIIIOIGIWIG|HcLAHD$uHL$DLL{H Auf.IHt$LHD$HIĄ 11ATIUHSHHhtft=HCH9CƃHHHHHKHCHSL1HHH 11HH։[]H A\H @ATUHSHH^HHH{htHHHP(tyHHHP0HtoHEHP0uH1KxHP HtHH[]A\rH[]A\tH1H[]A\f1fHLHLCHHLL+CP8HcLLHI)HHC(HC IHHLHCHCHCHC|HC0HH@HHC(HC HCHCHCHC0HLVHWxHGHGt)H~$HHGHG(HG HG0@HGtHuHHvHG(HG HDHG0AVIAUATUHSHFHHHPHNH HUHWL`HEILhLILI$L7IHuIDžI$AA$AIDŽ$A$ILcHELHIVH@HHH@L[]A\A]A^IVHHHRINH HCf.fAVL5AULATUHSHL 1L3LfIF(HHEHǃHCHEHǃHǃL`HǃHǃILHLI$HuIDŽ$HA$A$LcHǃL爃Hc HEHPH@HHL[]A\A]A^HL3HHCHZ LHHHWAUIATIUSHHHhHHXHHHHHHHHHIuHI|$HHIUID$IT$IEH[]A\A]fHGf.HxWAVIAUATIUHSHFHXHHFHHHHLhILHHIIt$IDžHAAHǃIH]HHEIVH@HTHEH@H[]A\A]A^IVHHUHRINHL{f.AVL5AULATUHSHL1L3LfIF(HHEHǃHǃL`HǃHǃIHǃLxHLI$HuIDŽ$HA$A$LcHǃL爃H{ HPH@HH\L[]A\A]A^HHL3H2 LHHgH/f.DAUIATIUSHHHhHHXHHHHHHHHHIuHI|$HHH[]A\A]f.HGf.Hp7AVAUATIUHSHFHHHPHNH IT$HWLhI$ILpLMLILIIt$IdžIAAAIDžAHE LkID$LHCH@HU(HTHEHH@HU0HHE8HCHEHH@HU@HHEHHC0HH@L[]A\A]A^HUHHHRHM0H HU8HSHU HSHRHM(HLHUHHRHMH HCDAVL5AULATUHSHL,1L3LfIF(HHEHǃHCHEHǃHǃL`HǃHǃILHLI$HuIDŽ$HA$A$LcHǃL爃H HEHPHHPhH@HHCL[]A\A]A^HH L3HHKHCHg LHHHd@AUIATIUSHHHhHHXHHHHHHHHHIuHI|$HHIUID$IT$IEH[]A\A]fHGf.Hgu7HGƇHHGHHHGHGHHGf.Dt@HG1H9GƇHHHHHOHHGHWfDAVL5o AUIFATUHo8SHHLchHGHGHGHG HG(HG0HfLHs@H HC`C@HCPH)1HHCxHǃHǃǃHǃHǃ fƃǃHǃHǃƃHǃHǃHǃHǃHǃu[]A\A]A^HH[]A\A]A^ILIVHH~LFfDUHSHHH fHE`E@HEPHEHChHEhCpEpCxHChCpCxExHC|HE|HHHHHHǃHHHǃHƃƃƃHHǃHHHǃHƃHHHHǃHHHǃHHHǃHHHǃHHHCHCHCHC(HC|HC HC0HHH[]f.AVLw8AULn8ATUHSHHHGHVLd$HWHVHFHGHWHVHFHGHWHV HFHG HW HV(HF HG(HW(HV0HF(HG0HW0LHF0LLLLLLHEhHShHUhSpHChEpUpSxCpExUxHS|CxHE|HU|HHC|HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH[]A\A]A^ÐHhu Ht@HSHHH9wHƃH[0SHt#HHtHǃƃHHtHǃHǃHǃHǃ[ÐUHAWAVAUIATSH8HH1HIHP0uoIL}HP@ILEI HcILEHHuHBHH)HL\$AWILMMRLP^_v6I}hHL.H9He[A\A]A^A_]fLEMehLELLLEL)HH9uMLEtIIM(MHUHuHAWAPLEPZYtH]LLL)HiH=({&fDUHSHHHHP0tHCH+CHH[]HLCHL+CHHHIP8HH+H[]AWAVAUATUSHHHG(H9G sHPh@ŀt}HHHP0AƄu`@t[LLd$Hl$ L{hHMHLH$HPt v3HHPhAfDDHĨ[]A\A]A^A_ÐLD$I)M~LHLL$D$ L$L$ I9ulAUAATIUHSHHu)11HHHH []H A\A]H}hDLHu 11D1HH fHHE(HHHHE HUHUHUHHE0df.GxUSHHtut@HG1H9GƇHHHHHOHHGHWHHHHHcHt/Hs HS(H9s0t *HHS(H)HH2ufH[]fHHl$ uƃH1[]fDHt$ HtƃHSxHCHCHCut(HHvHC(HC HDHC0 HC(HC HC0^H[]fDHKxHCHCHCt=HC(HC HDHC0ƃHC((HHC(H[]DuHC(HC HC0ff.AWIAVAAUATIUSHHHt]HP(IMMohL!11ɃH@t1HHH []H A\A]A^A_fD1AM}AtIHP0tbIG|AE1HD$At Mg(M+g I1LQHHT$LH C@AtAIG1I9GAƇIIHIIOIIGIWIG|HcLAHD$u#HL$DLL踺H DAufIHt$LHD$HIĄ11vATIUHSHHh tft@HC1H9CƃHHHHHKHHCHSL1HHH D11HH։[]H A\H @ATUHSHH~HHH{hRtHHHP(tyHHHP0HtoHEHP0uH1KxHP HtHH[]A\rH[]A\tHO1H[]A\f1fHLHLCL+CHLHIP8HcLLHI)HHC(HC IHHLHCHCHCHC|HC0HHHHC(HC HCHCHCHC0HLZHWxHGHGt)H~$HHGHG(HG HG0HGtHuHHvHG(HG HDHG0AVIAUATUHSHFHHHPHNH HUHWL`HEILhLILGI$L7IHuIDžI$AA$AIDŽ$A$ILcHELHIVH@HHH@L[]A\A]A^IVHHHRINH HCf.AVL5AULATUHSHLLIF(L3LHHEHǃHCHEǃL`ƃHǃHǃIHǃLHǃHLI$HuIDŽ$HA$A$LcHǃL爃HHEHPH@HHL[]A\A]A^HL3HHCH+LHHHAUIATIUSHHHhHHXHHHH!HHHHHIuHI|$HHIUID$IT$IEH[]A\A]kf.HGf.HxAVIAUATIUHSHFHXHHFHHHHLhILHHIIt$IDžHAAHǃIH]HHEIVH@HTHEH@H[]A\A]A^IVHHUHRINHLf.fAVL57AULATUHSHL IF(L3LHHEHǃL`ǃƃHǃIHǃLHǃHǃHLI$HuIDŽ$HA$A$LcHǃL爃HHPH@HHL[]A\A]A^HHL3HLHHHhAUIATIUSHHHhHHXHHHHHHHHHIuHI|$HHH[]A\A]Mf.HGf.HpwAVAUATIUHSHFHHHPHNH IT$HWLhI$ILpLMLILIIt$IdžIAAAIDžAHE LkID$LHCH@HU(HTHEHH@HU0HHE8HCHEHH@HU@HHEHHCaHH@L[]A\A]A^HUHHHRHM0H HU8HSHU HSHRHM(HLHUHHRHMH HCfDAVL5AULATUHSHLlIF(L3LHHEHǃHCHEǃL`ƃHǃHǃIHǃLHǃHLI$HuIDŽ$HA$A$LcHǃL爃HHEHPHHPhH@HHCL[]A\A]A^HH !L3HHKHCH8LHHHf.AUIATIUSHHHhHHXHHHH!HHHHHIuHI|$HHIUID$IT$IEH[]A\A]kf.HGf.HSHH@xHƀH?蠹HƀHƀHHH@(H@ HPHPHPHP|H@0HHHH[ATLghUSHLHH߉H\$"H|$GxƇHT$1LfHHB(HBHBHBHB|HB HB0HHHtH@u H[]A\@H1[]A\HHu菦L}HFHH4H|$zHfHSHHHH{h萲HyH{8HH[AUATUHSHLcHHFHHPHN1H HGHxHHELHHUH@HHLHxHH[]A\A]IL>LHUHHHRHMH HC(AVAUL-ATUHSHH1L+1fIE(HHǃHǃHǃHǃHǃHHCH@LcLHPH@HHLH[]A\A]A^I I LBLL+IHCH"HHHWLf.DAUATUHSHLcHHFHHxHF1HH HELHHUH@HHLHxHH[]A\A]IL苹LHUHHHRHMH }f.AVAUL-ATUHSHHϫ1L+1fIE(HHǃHǃHǃHǃHǃH7HLcLHPH@HH"LH[]A\A]A^III LM蔸L+HHHHLf.DAUATUHSHHHFHHPHN1H HGHxHwHE 1HCH@H|HE(HXHELcLHH@HU0HHE8HCHEHH@HU@HHEHHC&HLHxHH[]A\A]I%.HUHHHRHMH HCLuLHUHHRHM0H HU8HSHU HSHRHM(HLAWAVAUL-ATUHSHHH詩1L+1fIE(HHǃHǃHǃHǃHǃHHC L521HIF(LsHHLcLHPHHPhH@HHCLHH[]A\A]A^A_I ILBLLsL+IHCHHHHSLUHSHHHHHShHEhHUhSpHChEpUpCpCxCxExHC|HE|HHHHHHǃHHHǃHƃHHǃHHHǃHHHǃHHHǃHƃƃHHǃHHHǃHƃHHC(HCHCHCHC|HC HHHHC0H[]fDAUIATIUSHHHhHHXHHHHHHHHHHIt$I}HHIT$IEIUID$HL[]A\A]DAUIATIUSHHHhHHXHHHHHHHHHHIt$I}HHIT$IEIUID$CHL[]A\A]DAUIATIUSHHHhHHXHHHH1HH2HH#HHIt$I}HH腪HL[]A\A]AUIATAUHohSHHH豾HﹴDL膣H莾H螟1DcxfHHC(HCHCHCHC|HC HC0HHAtH1DHP HtHH[]A\A]H(H1[]A\A]f.H6(SH6HH HHtHX1H[fDHXs H[}f.SH6HH轶HHtHX1H[FfDHXs H[-f.SH6HHpHHtHX1H[fHXs H[f.SHH HHtHX1H[fHXs H[f.SHHеHHtHX1H[YfHXs H[=f.SHH胵HHtHX1H[ @HXs H[DAWAAVAUL-ATUHSHHHHt$a1L+1fIE(HHǃHǃHǃHǃHǃHHCL51HIF(LsH衼HRLcLHPHHPhH@HHCLHiHt$DLYHHzHHt1H[]A\A]A^A_@w H[]A\A]A^A_I L跭LLsL+IHCHHHHȷLIAWIAVAUL-0ATUHSHHHT$ ҟ1L+1fIE(HHǃHǃHǃHǃHǃHHC2L5[1HIF(LsHHLcLHPHHPhH@HHCLHںT$ I7L˲HHzHHt1UH[]A\A]A^A_fDw 5H[]A\A]A^A_I L'LLsL+IHCHHHH8LIAVAAUIATUHSHFHHHPHN1H HGHxHHE 1HCH@H|HE(HԹHELcLHH@HU0HHE8HCHEHH@HU@HHEHHC袿HLHxH耹DLLrHHzHHt1[]A\A]A^w []A\A]A^I ^L۪LHUHHRHM0H HU8HSHU HSHRHM(HLHUHHHRHMH HCAWIAVL52AUAATUHSHHH1L31fIF(HHǃHǃHǃHǃHǃHKHLcLHPH@HH6LHDLL HHzHHt1蔽H[]A\A]A^A_Dw uH[]A\A]A^A_I I I L_L3HMHHH肳LJf.AVIAUAATUHSHFHLcHHxHF1HHLHELHHUH@HAHLHxHDLLHHzHHt1蘼[]A\A]A^w }[]A\A]A^I LuLHUHHHRHMH gAWIAVL5BAUAATUHSHHH賚1L31fIF(HHǃHǃHǃHǃHǃHHCHtLcLHPH@HHLHDLLҭHHzHHt1\H[]A\A]A^A_Dw =H[]A\A]A^A_IIL*LL3IHCH HHH?LAVAAUIATUHSHFHHHPHN1H HGHxHHE 1HCH@H|HE(HHELcLHH@HU0HHE8HCHEHH@HU@HHEHHC貺HLHxH萴IuDL聬HHzHHt1 []A\A]A^fw []A\A]A^I ^LLHUHHRHM0H HU8HSHU HSHRHM(HLHUHHHRHMH HC襻AWIAVL5BAUAATUHSHHH1L31fIF(HHǃHǃHǃHǃHǃH[H LcLHPH@HHFLH+DI7LHHzHHt1褸H[]A\A]A^A_Dw 腸H[]A\A]A^A_I I I LoL3H]HHH蒮LZf.AVIAUAATUHSHFHLcHHPHN1H HGHxHOHELHHUH@HDHLHxH"DLLHHzHHt1蛷[]A\A]A^fw 腷[]A\A]A^I L}LHUHHHRHMH HCgAVIAUAATUHSHFHLcHHxHF1HHlHELHHUH@HaHLHxH?DI6L.HHzHHt1踶[]A\A]A^w 蝶[]A\A]A^I L蕢LHUHHHRHMH 臸AWIAVL5bAUAATUHSHHHӔ1L31fIF(HHǃHǃHǃHǃHǃHHC3HLcLHPH@HHLHDI7LHHzHHt1|H[]A\A]A^A_Dw ]H[]A\A]A^A_IILJLL3IHCH*HHH_L'AVIAUAATUHSHFHLcHHPHN1H HGHxHHELHHUH@HHLHxHDI6LHHzHHt1k[]A\A]A^fw U[]A\A]A^I LMLHUHHHRHMH HC7SHHCHt[@HHXs H[fSHHHt[@HHXs H[鲳fSHHHt[@HHXs H[邳fUHoSHHHHHPHWHPhH@HGHHHHzH{pHH{@HHCiHHCHHHٚHCHHH.HH[]pSHHXHHHPHHPhH@H{HCH8HHHC̯H@H)H{PHHC踦HHCHHCH'HHEHH}H[đ@H1SHHHPHWHPhH@HGHHHH#H藔HH{PHHCHHHCHHCH~HHHHԧH[f.SHHXHyHHPH@HHH{HHHCtH{pHH{@HHCcHܗHHHHH[:f.HSHHHPH@HHSHWHHH{pbHKH{@HHCڤHSHHHzHH[鱦SHHXHiHHPH@HHH{HHHCdH{pےHH{@HHCSH̖HHHHH+H[rfHSHHHPH@HHCHWHH۬H{pRH;H{@HHCʣHCHHHjHH袥H[fSHHXHIHHPHHPhH@H{HCHHHHClHHzHHt1}[]A\A]A^w |[]A\A]A^I LLHUHHHRHMH ǏAWIAVL5wAUAATUHSHHHlIF(L31HǃHǃƃHǃHǃHǃHǃHHC~HLcLHPH@HH~LH~DI7LjHHzHHt1{H[]A\A]A^A_Dw {H[]A\A]A^A_IILLL3IHCHHHH藂L_f.DAVIAUAATUHSHFHLcHHPHN1H HGHxH}HELHHUH@H}HLHxH}DI6LiHHzHHt1z[]A\A]A^fw z[]A\A]A^I L~LHUHHHRHMH HCgSHHCmHt[@HHXs H["zfSHHmHt[@HHXs H[yfSHHlHt[@HHXs H[yfSHHXHHHPH@HH8H{HHHClH{x+mH,H{HHHC~HHHLHPLLG`HcHL[]A\A]A^H HHcLcHqf.DUHSHH?jHHs1HHǃƃHǃCC H[]@UHSHHMHHHHǃHǃHƃHǃHǃHǃHǃ`H[]HHdHp@UHSHH[HHrHHDžHHǃH[]f.fUHSHHoHHqHHqHHHHH[]f.fUHSHHZHHqHHDžHHǃH[]f.fH9[HGHHGHr[HGHHH+cff.HHxHZHGH7[HHGHHGHHb@HZHGHHGHZHGHoHHbf.HyZSHHHGHZHGH3HGHHgbH[Kff.SHHXH!ZHHCHcZH{HH݂HCHHCbH[WKHYSHHHGHZHGHHGHHaH{[ Kf.HZHGHHGH[HGH׋HH{aff.HZHGHHGHZHGHHH;aff.HHxHRZHGHZHHGHXHGHH`@HZSHHHGHVZHGHHGHH`H[Iff.SHHXHYHHCHZH{HHŊHCHHC``H[IHyYSHHHGHYHGH{HGHH`H{[]If.ATIUHSHFHHHPHNLH HGHxHcHELHCH@H|HE HcHEHH@HU(HHE0HC[]A\HUHHHRHMH HC6kfDAUL-WATIUHoSHHHG1L+LfIE(HHǃHǃHǃHǃHǃHCHCbHVLHHCH(HCbH2{HPHHPhH@HSHCH[]A\A]IL+IHCH6HHHCn^L6jfDHHH@HV(HHF0HGHFHGH@HV HTHFHH@HVHHGDUHSHHHFHHPHN1H HGHxHaHE1HCH@H|HE HaHEHH@HU(HHE0HCH[]HUHHHRHMH HCGiATL%UUHoSHHE1L#1fID$(HHǃHǃHǃHǃHǃHCHCaHT1HHCH(HC`HLyHPHHPhH@HSHC[]A\IHCL#IHV}HHHC\LVhfDAVIAUATUHSHFHHHPHNH IVHWL`IILhLMLRI$LaIIDžI$AA$AIDŽ$A$HEIFHCH@HU HTHEHH@HU(HHE0HC[]A\A]A^ÐAULoATIUSHLHC1LHǃfHSHH(HCID$HǃHCI$HǃHǃHhHǃLHsQHL`HHDžHHǃH7wID$HPHHPhH@HSHCH[]A\A]HHB{LHHCzZHBffAUIATIUSHHHhHHXHHHHeHH_HH_HHHHIUID$IT$IEHL[]A\A]AUIATIUSHHHhHHXHHHHeHH_HH_HHHHIT$IEIUID$H[]A\A]fDATIUHSHFHHHPHNLH HGHxHYTHELHCH@H|HE H9THEHH@HU(HHE0HC[]A\HUHHHRHMH HC&dfDAUL-QATIUHoSHHH}@IE(L+LHǃHǃƃHǃHǃHǃHǃHCHCgSHPLHHCH(HCISH{HPHHPhH@HSHCH[]A\A]IL+IHCHHHHCVWLcf.@HHH@HV(HHF0HGHFHGH@HV HTHFHH@HVHHGDUHSHHHFHHPHN1H HGHxH[RHE1HCH@H|HE HID$(L#1HǃHǃƃHǃHǃHǃHǃHCHCpQHN1HHCH(HCSQHyHPHHPhH@HSHC[]A\IHCL#IHHHHCfUL.af.@AVIAUATUHSHFHHHPHNH IVHWL`IILhLMLhKI$LXbIIDžI$AA$AIDŽ$A$HEIFHCH@HU HTHEHH@HU(HHE0HC[]A\A]A^fAULoATIUSHLHH{uþH"HHXK CtMMHM.>HNH>HNfDUHSHHHHGH|$H|$t/HH@HHGH9GvBHHGHCUH{uHHxH w fKHH[]@HPPuH{ƉHHu!HHXK Ct#Lq!HHHHكI AtLLH =`=HLH|$t(HHxHHHtH|$H+;|$t.HHHHA uHLHHP(HtHH[]A\f.HHxHߋw =HHt HHHHكI Au,/HHXK Cu>>H>/Hi?Hq/HY?fATAUHSHHHHxw =H|$H:|$t.HHHHA uHDHHP HtHH[]A\f.HHxHߋw Ha.HI>ff.fATUSHHHHl$HpHHHWHHI$0HH@HHEH9EwifHHEH9sSIT$0DB t1HEHUH9rHEHPPu6HHxHߋw `;HH[]A\@HEHPHuHEHUHHz/HB=fU1HSHHHH|$%8|$t'HH@HHGH9GvHHGUHH[]DHPPuHHxHߋw :HH[]ÉHHuHHXK Ct#<HHHHكI At;;H y,mo,HW#gHHXK Cu2|2Hr2 #H2H"H2D f.U1HAVISHH}HH-}tDHELHIIHtTHHMIIAVQ1PHXZuuHeH[A^]HHxH w &0HeH[A^]HHt gHHHHكI Au,"GHHXK Cua1\1HR1!H1H!H1Df.U1HAVISHH}HH,}tDHELHIIHtTHHMIIAVQ1PPXZuuHeH[A^]HHxH w /HeH[A^]HHt GHHHHكI Au, 'HHXK CuA0<0H20 H0H H0Df.U1HAVISHH}HHq+}tDHELHIIHtTHHMIIAVQ1PXXZuuHeH[A^]HHxH w -HeH[A^]uHHt 'HHHHكI Au,HHXK Cu!//H/H/HH/D1f.U1HAVISHH}HHQ*}tDHELHIIHtTHHMIIAVQ1P`XZuuHeH[A^]HHxH w ,HeH[A^]UHHt HHHHكI Au,HHXK Cu.-H-Hu.H}He.D{.f.HHHHHvH4HHGHxf.ATIUHoSHH HS@LHHǃHPH@ǃƃHǃHǃHǃHǃHHCHCi[]A\IH LHHHC!Lr-fHHH@HVHHGDf.@SHHHxHH[f.SHHHxHH[f.HGf.ATUSHHH@HHt%HHIԾ PPLHH߉[]A\` + f.HHHPHN1H HGHxKf.ATUHoSHHH>ƃ1HǃHHPH@ǃHǃHǃHǃHǃHHCHC[]A\IH^JHHHSL+fDATIUSHHHPHNH IT$HWHxI$HHhLHHH-HHDžHHǃ[ID$]A\f.AULoATIUSHLHHM=ƃLHǃǃHPH@HCID$HHCI$HǃHǃHhHǃHǃLHHL,HHDžHHǃID$H[]A\A]HHHLHHC=H*DAUIATIUSHHHhHHXHHHH)HHR+HHC+HHHHIUID$IT$IEHL[]A\A]DAUIATIUSHHHhHHXHHHH(HH*HH*HHHHIT$IEIUID$H[]A\A]HHHHA tHωOAUATIUHSHHH&Q"HEHHHAHHCH;CLMu,afDHHStAHCH;Ct,IE LPtqHSH;SrHHPPuHEHHHA HH[]A\A]XHHEHXHK CKHEHHHA uA$H[]A\A]fDuAtHHPH/HHPHHEHHHPH`HEHhM Et&&H &H&HH&U1HAVISHH}HH}tfHELHIIHHHMIQHMIQ1PHE^u_H=}(ufAu0HeH[A^]fH=~8ufAtHHxH w HeH[A^]fAHHt&HHHHكI Au2~umHHXK Cu$$H$GH/%H7H%f.DU1HAVISHH}HH}tdHELHIIHHHMIQHMIQ1PXHEZuH=} Auu(HeH[A^]H=~0AutHHxH w =HeH[A^]ÐAHHt&hHHHHكI Au2u|BHHXK Cu\#W#HM#H#HH#U1HSHHHH|$|$tFHHxHHtOHHT$HT$HtQtHHxH!@HtJHH[]f w #HH[]fHHxH߀HHxHHHt#*HHHHكI Au/yHHXK Cu!""H"H"HH"DSHHHHGH|$~|$HH@HHWH9WHHWtHCH[fH{HHXH s H[Ht@HHHHكI AuLfH{uȾfHPPyHHHXK Ct H Hi!HqHY!fUHSHHHHGH|$J|$tkHH@HHWH9WvzHHWt{HCEHH[]HttHHHHكI A|fDH{uHHxH w HH[]HPPH{HHHXK CtHMH5 H=H% DAVAAUIպATIUHSHHHGH|$|$u/HMM~A$HHH[]A\A]A^DHEH@HHCH9Cv_fDHMHQL9}ivA9'IAD$HUHSH;SHHSHCH;CrHHPHHMHQL9|f4M~A$HtUNH*HEHpHN FMH}A$HEHxH w HH[]A\A]A^HEM~WA$HuHHPPf1M~A$HtׅuHH[]A\A]A^H_H6HEHhM EtOJH@ HH HM HATUSHHH@HHt%HHIԾ PPLHH߉[]A\f.AUAպATIUHSHHHGH|$C|$ HEH@HHCH9CJ0 D9uiC2HIT$(HUttHHUHSH;SHHSHCH;C0A9IT$(I;T$0rI$LPhHUufDHuHEHxH w ( HH[]A\A]H[HEHHHI A DH}tHH[]A\A]H}놐HHPPfHHPHHHPHHUHCVH\HEHhM EtHf HNHV H>f.@USHHHH@HHt!HH PPHHH߉[]Rmf.SHHH HGH|$|$tGHH@HHGH9Gv^t7H [HtXHHXK Cug H [DHD$ HZs H߃7D$ 몐HPHHnHHXK CtHy HH Hf.fATIUHպSHHHHGH|$|$t$HHLH@HHP@HCH9uHH[]A\fDHHxHߋw SHH[]A\HHt HHHHكI Au,@ iHHXK Cu~Ht HHHATIԺUHSHHHHGH|$|$tHH@HHGHWH9H)HH~bHL9HHRHLHNHP@HCH[]A\Ht]HHHHكI Aui?HCH[]A\fHuHHxHߋw HP8nH+HHXK CtE@H6HHHfUSHHHHGHxw kH|$H|$t2HHxHHHt6HPH9PsB;ju=HHPtHH[]fDHHxHߋw HH[]ÐHHRXHHu#HHXK Ct#=HHHHكI AtH kHHH~f.@SHHHHGHxw >H|$H\|$t0HHxHHHt1HPH9PsEHJHHBt HH[@HHxHߋw HH[f.HHRXHHuHHXK Ct# HHHHكI AtH euH]HeHMf.SHHH H|$F|$tOHH@HHt;HP0t71H [HtM-HHXK Cu\HD$ HZs H߃D$ HHHXK CuHHnHvH^f.@SHHHH|$V|$t7HHpHF u'H1HP H fD11HHHH [H HHt% HHXK [u21HHHXK CuHHvH~HffDATIUHSHHHHxw -H|$HK|$t.HHHHA uHLHHP(HtHH[]A\f.HHxHߋw HHt HHHHكI Au,HHXK CuHHiHqHYfATAUHSHHHHxw H|$H;|$t.HHHHA uHDHHP HtHH[]A\f.HHxHߋw HHt HHHHكI Au,HHXK CuHqHYHaHIff.fATUHSHHH\$HpHHHWHHI$HEH@HHCH9CvGf.tII$ LPtLHSH;SsTHHStHCH;CrHHPHƒuHEHxHw ZHH[]A\fDHHPPHHrH:f.U1HSHHHH|$5|$t+HH@HHWH9Wv%HHWt&EHH[]fHPPHHxHߋw HH[]HHuHHXK Ct#HHHHكI AtH `hVH>HFH.f.@AWI1AVAUATILUSH(H|$|$IHpH\$HHLLnMLNHH7HIIH@IHCH9C(IEE1HD$L;l$tfI LP)IAl$IHSH;S~HHS}HCH;C(L;l$uIH|$A$HPIDuHxL w H(L[]A\A]A^A_fHHPPIA$HPIDHHPHHHPHIIA$HPIDTLl$ HI)E1HHu-IILxAO AGtSa HHLIHHLI At3 MIH H HH ATAUSHHHhHtDH[]A\@HHt!H PPƅHD[]A\f.@HHHJH qf.DHHHJH!qf.HH@HzHǃt t 1ɃW ʉWHHcHHRHtf.HHcHHRHtf.U1HAVISHH}HHQ}tDHELHIIHtTHHMIIAVQ1P XZuuHeH[A^]HHxH w HeH[A^]5HHt HHHHكI Au,HHXK Cu H mHU H]HE D{f.U1HAVISHH}HH1}tDHELHIIHtTHHMIIAVQ1P(XZuuHeH[A^]HHxH w HeH[A^]HHt HHHHكI Au,~HHXK CuHMH5 H=H% D+f.U1HAVISHH}HH}tDHELHIIHtTHHMIIAVQ1PXZuuHeH[A^]HHxH w vHeH[A^]HHt HHHHكI Au,^HHXK CuH-HHHD;f.U1HAVISHH}HH}tDHELHIIHtTHHMIIAVQ1P0XZuuHeH[A^]HHxH w VHeH[A^]HHt HHHHكI Au,>gHHXK Cu|Hr HHHDf.U1HAVISHH}HH}tDHELHIIHtTHHMIIAVQ1PXZuuHeH[A^]HHxH w 6HeH[A^]HHt gHHHHكI Au,GHHXK Cua\HRHHHDf.U1HAVISHH}HH}tDHELHIIHtTHHMIIAVQ1P8XZuuHeH[A^]HHxH w HeH[A^]HHt GHHHHكI Au,'HHXK CuA<H2HHHDf.U1HAVISHH}HH}tDHELHIIHtTHHMIIAVQ1P@XZuuHeH[A^]HHxH w HeH[A^]uHHt 'HHHHكI Au,HHXK Cu!HHHHD{f.U1HAVISHH}HHq}tDHELHIIHtTHHMIIAVQ1PHXZuuHeH[A^]HHxH w HeH[A^]UHHt HHHHكI Au,HHXK CuHHuH}HeDf.U1HAVISHH}HHQ}tDHELHIIHtTHHMIIAVQ1PPXZuuHeH[A^]HHxH w HeH[A^]5HHt HHHHكI Au,HHXK CuHmHUH]HED[f.U1HAVISHH}HH1}tDHELHIIHtTHHMIIAVQ1PXXZuuHeH[A^]HHxH w HeH[A^]HHt HHHHكI Au,~HHXK CuHMH5H=H%Df.U1HAVISHH}HH}tDHELHIIHtTHHMIIAVQ1P`XZuuHeH[A^]HHxH w vHeH[A^]HHt HHHHكI Au,^HHXK CuH-HHHDKf.HG@!HG@"HG@XHG@\HG@`HG@!HG@"HG@XHG@\HG@`HHH-f.HHHf.HG@HHG@IHHHf.1f.1H9s!fHHHHH9uH)HH]f.HiHH=f.H HHf.HHHf.HqHHf.HHHf.HHHf.HAHH}f.H!HH]f.HSHHHIH[HSHHHH[H SHHHH[H SHHHH[pHSHHHH[PH SHHHH[0HiSHHHyH[SHH[f.@HSHHH9H[HaSHHHH[HSHHHH[HSHHHH[pSHHHFHT$HpHH[f.SHHHFHT$Hp(HH[f.SHHHFHT$Hp8HH[f.SHHHFHT$HpHvHH[f.SHHHFHT$HpFHH[f.SHHHFHT$Hp(HH[f.SHHHFHT$Hp8HH[f.SHHHFHT$HpHHH[f.SHHHFHT$HpHH[f.SHHHFHT$Hp(VHH[f.SHHHFHT$Hp8&HH[f.HSHHHHGH[f.HaSHHHHGHlH[H1SHHHHGH[;f.HSHHHHGtH H[USHHH Ho HHPH9t HtHFH{HtHPH{HH[]SH'H[.f.@USHHHHoHHH9t HtHH{HH[]7SHH[f.@HHHf.HySHHHH[pH HHMf.H SHHH)H[0H=tG~GPWNf.@AWAVIHHAUATULSHH8Ll$/LLl$!LHHIHD$ MgLhHHD$LMI2HHHHI9uI9t'I9t[I9tfHHHHL`ADžtH|$H HH9uDH|$HH9uFH8D[]A\A]A^A_@AAHt$@Ht$HH|$HH;=1 t Ht$H-f.SHH?Htt[HGH;Gs[fHPHuH[f.fUSHHHH@0H;uH[]H@H[]AWAVAUATIUHSHH8Hb Ht$HHHHD$/LHHD$.HHL)IHD$HHHH $IMNDHEILxMwL;pw@~ LHHEHPHEHPH; L|$HLLLH9w(HXLH(HLHLIHLHLNIL9$$QLH|$HH;=I u7H8H[]A\A]A^A_D@LpBD8Sf.Ht$fH#DH|$HH;=t Ht$@*|C!9@֍B< eCDDlBЉA;D$xK;D$p?AHCH;CoHHCIEAHAA u}AAHHAH9AHDD$,HLL$T$H $PHH $T$ÃALL$DD$,A1fDHCH9C*E1pf.HCH;CbD DfD@LL $*DD$HL$DD$HL$AAL $@*fDH$u}IuwAdHD$ D(DHIL#t$H8L []A\A]A^A_@HDD$HHL$L $PPDD$HL$AL $Acf.H$L;$oUDHHDD$,HL$LL$$PH$ÃALL$DEHDHL$DD$,@HDD$HHL$L $PHAAL $HL$DD$t D A1f.SHH=]HHJH9Bv%HHD$(HxH{0|HS01HLI訵HEH@0H;HELl$0HT$LHp8HD$0HxH{@'HS@1HLISHEH@8H;HEHT$HpHHD$8HHD$菠HD$8HxH{PHSPH|$1HIHEH@HH;PHE@\C\HEH@PH;HE@`C`H<$HAHKdHH2HV FHD$8LcL{(Ls8HxLkHCoHH99HD$0HxH97HD$(HxH9HD$ HxH9HH[]A\A]A^A_@A$<}fDLl$ HLfDHfDHRfDH"fDHfDLl$(HLfDLl$0HL fDHL$8HHL$HJfH{fDHt$Ht$Ht$Ht$qH6E1E1E1HL$ HyH9tHt$H$qH$HUMtL`MtLSMtLFMtL9LHE1E1HL$(HyH9tHt$H$H$mH%M設H落E1E1E1HnHeE1HL$0HyH9tHt$H$H$E1E1H3FH\HnH'E1HD$8HHxH9t Ht$UHHE1E1E1E1HSHH=PHHJH9Bv%HH51PH[SHH=0H H1H9Qv(HIHHI9uM)u8\$*IGHD$HĈH[]A\A]A^A_f.IM)tHK4$HHD$pHD$pHHD$HcUXLH)HHIHH} HD$pH|$H 1E1HPHuHUDU"H|$Ht$ HT$8DT$@YHL$ HT$8MLMt$@H|$pH|$HD$ *HD$pHt$ HHH)HH)H9H|$1EXsHT$pAGHrǁL|$HHt$8HH\$8HH4HD$xHD$xHHD$ 辇IG|$HL%fH9HD$@H\$lLk!ˆT$O;IcL@E`D$lM(HEHLuPIHD$0fMHD$0H|$ 0赢sAGtiHU0Hu(H|$ WUD|$OT$+H|$ Ht$@H+t$8*f.|$OtT$+fHt$H|$ qHL9"IHt$xHD$@H^H9|$*HcuH|$HHP`H9Ht$xD$*1HD$\$*H~HD$PH\$XH\$0H H;=P\$*HD$pHxH;=6Ht$k膸H)؃|$H DD$,HH|$ 11;Ht$xH\$@J@HE0HHt$8Ht$0H|$ IVH@u!H|$HHcUXH|$It趱^H|$ p辅H@Ht$ H^HEHHEHE"HE1fE HE(HE0HE8HE@HEHHEPHEXE`Eo IHL9I,$H|$HL萉}HH\$UeHH蔏LLH趰^H|$ DHqqHt$k¶HH=l1H5EHHHD$xHxH;=-t Ht$k聶HD$pHxH;=t Ht$keH HAHEHPbH*HHجAWHIAVHMAUATUSHHHt$HT$DD$,DD$+T$*HD$ z~H=HD$ IIH@N$I,$HRM.EdMeA8EE\Lu@D$lHE8HD$0MM9v9HD$HH0AEDAt$LDQt>HI9uM)u8\$*IGHD$HĈH[]A\A]A^A_f.IM)tHK4$HHD$pHD$pHHD$rHcUXLH)HHIHH} HD$pH|$H 1E1HPHuHUDU"H|$Ht$ HT$8DT$@HL$ HT$8MLMt$@H|$pyH|$HD$ 躝HD$pHt$ HHH)HH)H9H|$1螊EXsHT$pAGHrǁL|$HHt$8HH\$8HH4HD$xHD$xHHD$ NIG|$HL% H9HD$@H\$lLk!ˆT$O;IcL@E`D$lM(HEHLuPIHD$0fMHD$0H|$ 0EsAGtiHU0Hu(H|$ UD|$OT$+H|$ Ht$@H+t$8茋*f.|$OtT$+fHt$H|$ HL9"IHt$xHD$@H^H9|$*HcuH|$HHP`H9Ht$xD$*1HD$\$*H~HD$PH\$XH\$0H H;=\$*HD$pHxH;=ƾHt$kH)؃|$H DD$,HH|$ 11ˀHt$xH\$@J@HE0HHt$8Ht$0H|$ IVHy@u!H|$袚HHcUXH|$ItF^H|$ tpNH@Ht$ HXHEHHEHE"HE1fE HE(HE0HE8HE@HEHHEPHEXE`Eo蛉IHLxI,$H|$HL }HH\$UeHH$LLHF^H|$ DHqHt$kRHH=f1H57|HHHD$xHxH;=t Ht$kHD$pHxH;=t Ht$kH蝦HzHEHPHzH耖HhUHAWAVAULmATSHhH}LHuIHUMLxDMr|L xHPHEH\$HI!uLeHE1uLH W@HE1gN^_?~GXHcHHH)L|$IMΛuH E1uLLHE1NZYHcL}1LLHHMȋAH}ILò}DEMHxHuHUH}tB轁HuH~H;=uTLHEHUUHHLSL@IHH\$ Lc +H[]ÐIEtPII fHHIIHHH HH)ALAH wHL)@ȃJ@t7@IHHHTfDHIHAuI@HIHADAuDIEtPII fHHIIHHH HH)ALAH wHL)@ȃJ@t7@IHHHTfDHIHAuI@HIHADAuDAUATUHSHH=̻IHEH@N$I$HtH[]A\A]@pvH@HHOHCHHHCH1fC C"HC(HC0HC8HC@HCHHCPHCXC`CoH}LHpI$H[]A\A] HrHrHHPH茎Ht@AUATUHSHH=ܰ~IHEH@N$I$HtH[]A\A]@pvuH@HHNHCHHHCH1fC C"HC(HC0HC8HC@HCHHCPHCXC`CoH}LHnI$H[]A\A] HqHqHHPHlHT@AUATUHSHH=|}IHEH@N$I$HtH[]A\A]@VtH@HH*NHCHHHCH1C HC(HC0HC8HC@fCHƃH}LHmI$H[]A\A] HpHpHHPHhHPUHAWIAVIHAUMATISHHH}H}DEE\$H0LIHPJLL$DIJ@EÃ!M HބIDAIy(DLUALMD](LMLU)ƉED]HcIAz RMAuZIT$HcH9|lID$EEuIHLLP`H9ظDEHe1L[DA\A]A^A_]f.ARKIHc؉EAIT$H9}HBuH}LHH)HELl$HPIMAXHc]MZVARJIEA/fAJIIrMHIRD]HDLUHH)HD$HHxHEPAQIH}H}~YE^LMD]LUAM}@t0AIAASHcATJEAQARNAtARNIEA]E'HEH@H;u f.@UHAWAVAUIATISHHxDQAuID$HEAĄuIHLLP`H9ظDEHe1L[DA\A]A^A_]fPHc‰UHHH)H\$UMHEHMHEHxH޸G6EA~ =1HT HH)L\$+I|AUAYMU]MKAH}ANIIVIIvWARH}L]ċ]L]IT$Hc^M_MHH9HBuH}MHLH)HELl$HPIMNyXHc]MZLmHMHEHE-L55E,PHc‰xHHH)蝂H\$EHMHxHELH޸4EWfA~ AS9s0@ /dM1f.@E1Edw@UHHAWIHAVAUATISDHXH}H}HUDEHECMl$LIƸMLHHEHHEsAt$H@H\$HU`uHMH}uHM6HE1H}3Y^E5H}\HcUHHHJHHH)Ll$ILLmDHcMLUHIHʾ.HLUMHM%aHMDMHLU(H)AVHLA~ IT$HH90ID$HEAĄuIHLLP`H9ظDEHe1L[DA\A]A^A_]ÐPHc‰UHHH)'H\$uUHMuHMH}HEH1l2Y^EfA~ M1HT HH)L\$+I|AUAYMU]MKAH}ANIIVIIvWARH}L]]L]IT$HcAYMAZHMH9HBH}uMHLH)HELl$HPIMtu_Hc]MAXD uLmHMu6HLHE1W1A[ZE5PHc‰UHHH)~H\$uUHHMuLHEH11EXZdfDA~ AS9s0@ /dM1fDALEmUHAWAVAUATSHXHE HuHMH]HHULELMYHuIHEHuHHH)HEHL$HHEHI utHE(HEHUHe[A\A]A^A_]ËuH}?H}AtE1E1'DIEDMLPDMA8tIL9etJ0D8uG$IIL9euHEIfDIcAHADŽzu E1E18EIuE1E1DAf.@t 8]IZ8]HQ8]r@8]pt 8]qZAE~E11AH|$PHGH;GHD$XHG1HGH9GGH|$@|$HAHD A8u AAHD$AtIcHD$HfHHD$h@AD$0D$6BD$5ED$E1fD $0D$(H|$ 9/X8\$(N0B4$f9t$0H|$PA)9T$5Af$HGH;GHD$XHGD$HGH9GH|$@|$HH :T$H|$hHAEH$1fH$t H$HH;=dHD$PHT$XFHx[]A\A]A^A_fHD$PHt$@ $AHHt$HD$ ; $Au 1E1E1D$7HD$fDA NEAQH|$PE1AHGH;G^DH $PPH|$PD$X $HFLH|$P\$XHt u DAE1KDSЀ SW@H|$h1HNLl$hAL?HuH}L=NUH|$hEuAt HE|$5H$fH$H|$PD$5HGH;G[HPPH|$PD$XHOD$XfE1HGH9G'HL$5@t$$PH$t$L$5HD$@ADt$XH|$ W[1HGH9GHPH1҃HD$@A71@HGH;GfA DEHErE1D$5HD$(HD$hHD$8E fD$t 8]I:]H H\$(HT$H!HH) $POf9L$0Aͺ)9T$5Af$H|$PHGH;GswHHGHt$H|$ D$XU8Ät$XH|$ UE I8]I@EH|$8A024$9t$0H|$PA9L$5A$HGH;GHD$XHGD$HGH9GH|$@|$HH :T$H|$hHAEH$H$t H$HH;=ZHD$PHT$X>Hx[]A\A]A^A_ÐHD$PHt$@ $AHHt$HD$ ;2 $Au 1E1E1D$7HD$#fDA ^EAQH|$PE1AHGH;GnDH $PPH|$PD$X $HV\H|$P\$XHt u DAE1[DSЀ SW@H|$h1HULl$hAL5HuH}LDUH|$hEuAt H$E|$5H$H$ DH|$PD$5HGH;GbHPPH|$PD$XHVD$_fE1HGH9G7HL$5@t$$PH$t$L$5HD$@ADt$XH|$ bMk1HGH9GHPH1҃HD$@A7A@HGH;GfADEHErD$5HD$(HD$hHD$8E $t 8]I:]HH\$(HT$H)HH)؍PO‹$9T$0AՉ9L$5A$H|$PHGH;GswHHGHt$H|$ D$X.Ät$XH|$ LE R8]IIEH|$8AY3H|$PE1HGH;GrHPPD$6D$5]f.ADH|$h J@u 1E1E1D$7fHL$@4$PH4$L$HD$PD4$H$؀|$7DƉf.H$t$XH|$ Ju $HPHD$YHD$PD$FfE1A0Ht$gH$HT$HH$HT$Hx[]A\A]A^A_AAH $PH $t:gD$E1D$E1D$51AHD$P!HHD$hHxH;=Tt Ht$gKHH>02L9|$ HL|$0H|$`HHL9IT$EAHGH;GHD$hHGE1HGH9GH|$P|$XH D8H|$xHAEH$HH$t H$HH;=aQHD$`HT$h(HĈ[]A\A]A^A_HD$`Ht$PAHHt$8HD$(($u 1E1E1D$GHD$@A VEAQH|$`E1AHGH;GfDH $PPH|$`D$h $HNTH|$`\$hHt u DA$P@SЀ SW@H|$x1HSLl$xAL],HuH}L ;EH|$xEuAt H"<$|$EH$HH$H|$`D$EHGH;GcHPPH|$`D$hHWA]E1HGH9G/HL$E@t$$PH$t$L$EHD$PADt$hH|$(Ck1HGH9GHPH1҃HD$PA7A@HGH;GfAD<$HD$xLmrD$EE1HD$HE t 8]I:]HHT$LHL)POL9|$ L|$0HHHL9T$EIAH|$`HGH;GswHHGHt$8H|$(D$h9%Ät$hH|$(BE T8]IKEH|$HA)H|$`E1HGH;GrHPPfD$FD$E[fADH|$x P@u 1E1E1D$GfHL$@4$PH4$L$HD$`DLH؀|$GLEH$L8fH$t$hH|$(_Au @HPHmHD$`AYD$A=Ht$wH$HT$v?H$HT$$AH $PH $t6$E1$$E1D$E$1ۈ$HD$`FHHD$xHxH;=Kt Ht$w>H5f.ATULSHH EaDൃAAHD$Pt$HrHt$(DeHH!HL$XHT$T$HD$H1H0H []A\f.HH@0H;SufDAWAVAUATUSLHHt$pH$IHL$`HT$xLD$hTKHŃJAσ@A 0HD$pHt$`HHt$ H$!D$Nt$xH<$,?Unu 8D$Ot8EouT@uG8EHtJH|$pP6Ht$ H<$D$x!D$Nu E1E18EIuE1E1DE@@t 8]I8]H8]r(8]pt 8]qAEE11AH|$pHGH;G'HD$xHG1HGH9GH|$`|$hAHD XD8D$Nu AHD$AtIcHD$HHHD$PHH$@ H|$OHHEIcDHHT$01HD$8HHD$(HD$@ED$NCAD$E10D$@H|$ /8\$@0L9|$(7L|$0HT$8HH|$pH)L9IAHGA H;GHHGHt$ H<$D$x^ÄTH$H&ElAbH$HH$t H$HD$pHT$xHH;|$PyHĘ[]A\A]A^A_HD$pHt$`AHHt$ H$ÄHGDe HD$PHH$E]D$OD$NeH1E1HD$HD$@HHD$8HD$0f|$N4HErE1E1HD$(H$HD$XE t 8]I:]HH\$(HT$HHH)؍POL9|$@L|$0HT$8HH)L9IAA H|$pHGH;GsuHHGHt$ H<$D$xmÄt$xH<$:E P8]IGEZH|$XA"H|$pE1HGH;GrHPPfDA EA1H|$pE1AHGH;GDHL$NPPH|$pD$xL$NHH|$p\$xHt u DAD$NSЀ SXWz@H$1HH$AHH$ HuH}H$/:H$EuAt H|$NE|$OH$HHHDHH$lDH|$pAHGH;GHPP@E1HGH9GHL$(T$@t$NPHt$NT$L$(lHD$`A[t$xH<$S8@A7@HGH;GAf.ADADAAD$NAHD$HBHD$PHH$fH$ fu 1E1E1D$Of.HL$@t$NPHt$NL$'HD$pLH؀|$OLEH$L8fH$t$xH<$6u %DD$NAH$H$HT$*5H$HT$cD$NAHL$NPHL$NtXDd$N1E1E1D$OHD$AE1E1E1\$NE1E1D$N1ۈD$N}HD$pE\$NE1D$NXHH$HxH;|$Pt H$Y4H++f.HH@8H;>u fDAWAVAUATUSLHHt$`H|$vIHL$PHT$hLD$XGKHŃJAσ@2A HD$`Ht$PHHt$8HD$($$t$hH|$(5Unu 8D$Gt8EouN@uA8EHtDH|$`B,Ht$8H|$(D$h{$Su E1E18EIuE1E1DE@@t 8]IR8]HI8]r88]pt 8]q:AEUE11AH|$`HGH;GHD$hHG1HGH9G/H|$P|$XAHD A8$u AHD$AtIcHD$H>HHD$x@IcH1HHt$0HD$ D$F0<$D$ED$E10D$8fH|$ )/H8\$8>02L9|$ HL|$0H|$`HHL9IT$EAHGH;GHD$hHGE1HGH9GH|$P|$XH D8H|$xHAEH$HH$t H$HH;=q=HD$`HT$h(HĈ[]A\A]A^A_HD$`Ht$PAHHt$8HD$($u 1E1E1D$GHD$@A VEAQH|$`E1AHGH;GfDH $PPH|$`D$h $HNTH|$`\$hHt u DA$P@SЀ SW@H|$x1HSLl$xALmHuH}L'EH|$xEuAt H"<$|$EH$HH$H|$`D$EHGH;GcHPPH|$`D$hHWA]E1HGH9G/HL$E@t$$PH$t$L$EHD$PADt$hH|$(/k1HGH9GHPH1҃HD$PA7A@HGH;GfAD<$HD$xLmrD$EE1HD$HE t 8]I:]HHT$LHL)POL9|$ L|$0HHHL9T$EIAH|$`HGH;GswHHGHt$8H|$(D$hIÄt$hH|$(.E T8]IKEH|$HAH|$`E1HGH;GrHPPfD$FD$E[fADH|$x P@u 1E1E1D$GfHL$@4$PH4$L$HD$`DLH؀|$GLEH$L8fH$t$hH|$(o-u @HPHmHD$`AYD$A=Ht$wH$HT$+H$HT$$AH $PH $t6$E1$$E1D$E$1ۈ$HD$`FHHD$xHxH;=7t Ht$w*H!+f.HH@@H;r1u fDSHHHD$DHt$(H\$XHT$0HL$LD$ D$DPAQjh'jLL$hHD$0HT$8HD$PD$8D$XH0D$D$?HLMHD$DP$SHt$@HL$0LD$8HT$HPHD$ HT$(HD$@D$(D$HH Ht$H|$ 6t HD$ HT$(HH[]A\A]A^A_fDD|$=D$>pHHEHP0H;Q:%1%H"f.DAWAVAUATUSIHHH$H$HL$pLD$xLL$hH$HHD$@\zD$fIHdI}@HD$ t I}PD$fH/HA} H$tH$ ~H/ HH$H$HHD$8QIEeE1E1D$eH$AE`D$`$H$HD$PHD$pHD$H$HD$HHD$PHD$0B<0D$g`B0H !HcH@AIjH|$0D! |$gMe8HD$pH$AHD$(:fDA8;H$HGH;GHHGD$HHt$(H<H;\$0tH$$HtuHGH;G- A 8t$H$@HA4H+D$ HD$H$HhH]H;Xw@~ H|$8HH$HPD$H$HPH;-AH$HGH;GHHGDŽ$H@@ H|$p|$xH@@ 8,$H$u HH<$ nHA8]!AD d$eAE MA8]"@|$e(E*H|$HAE1 HD$h@uUH|$0EuBAAA$<t<|$f|fIE0E1H$HD$XHD$HD$(HHGDŽ$IHt$HlL;d$X $H IU(B8"H$HGH;GrHPPH$Ht$H  E1IH$?HL$@HQ0DB tuH$HGH;GGHHG$Ht$Hu?$H$uHtHGH;GHt$@HV0DJ uDDAFHD$PIB<01AI}@I}PH$J\$fAA@1HGH9G,HPH1҃HD$p 1HGH9GHPHHDŽ$fDHGH;Gf.HPPH$VDAEXD|$`E1D$ef.@HXD(AH$HxHD$pH$HD$(H$Ht$(Ht H$H$H$H$HyH;=(WH$HyH;=(Hĸ[]A\A]A^A_MeH H$Ht$H+ÄYI}PurI}@1AD$gD$HIHL$@HQ0DB H$uDŽ$AEHt$HÄI}@I}PgfDHPPDHPPeDH;\$0rH$Hx2|$gfH$Hxt@D$`A|$eH$HEIuI}Hu H$|$eHt$8H$ HD$pH$HD$(@HPHÃHDŽ$D$e@H$AHxmfL;d$X%MiHD$h@D$(%AE9}X)HG# HH$H$HHD$8IEeE1E1D$eH$AE`D$`$H$HD$PHD$pHD$H$HD$HHD$PHD$0B<0D$g`B0H uHcH@AIjH|$0D! |$gMe8HD$pH$AHD$(:fDA8;H$HGH;GHHGD$HHt$(H<H;\$0tH$$HtuHGH;G- A 8t$H$@H(H+D$ HD$H$HhH]H;Xw@~ H|$8HRH$HPD$H$HPH;?!AH$HGH;GHHGDŽ$H@@ H|$p|$xH@@ 8,$H$u HH<$ .HA8]!AD d$eAE MA8]"@|$e(E*H|$HAE1 HD$h@uUH|$0EuBAAA$<t<|$f|fIE0E1H$HD$XHD$HD$(HHGDŽ$IHt$H,L;d$X $HhIU(B8"H$HGH;GrHPPH$Ht$H E1IH$?HL$@HQ0DB tuH$HGH;GGHHG$Ht$H[u?$H$uHtHGH;GHt$@HV0DJ uDDAFHD$PIB<01AI}@I}PH$J\$fAA@1HGH9G,HPH1҃HD$p 1HGH9GHPHHDŽ$fDHGH;Gf.HPPH$VDAEXD|$`E1D$ef.@HXD(AH$HxHD$pH$HD$(H$Ht$(H{t H$H$H$H$HyH;=WH$HyH;=Hĸ[]A\A]A^A_MeH H$Ht$HÄYI}PurI}@1AD$gD$H HL$@HQ0DB H$5DŽ$AEHt$H[ÄI}@I}PgfDHPPDHPPeDH;\$0rH$Hx2|$gfH$Hxt@D$`A|$eH$HEIuI}HGu H$|$eHt$8H$kHD$pH$HD$(@HPHÃHDŽ$D$e@H$AHxmfL;d$X%MiHD$h@D$(%AE9}X)HHHHكI AtUFHHD髼f.HH@DJ@ttHpHH@DJ@t tHcPIfAWAVIHAUATUSHHIL<$tfHHhHLMteDHMHLIEHP tHHxHߋw LڹHH[]A\A]A^A_LMtlA8t-EGYDHƅHhHlfLIA HP0H;, t LD証裼HH&Hu0NHHXK CtBhL HHHHHكI At5&HHDf.yfAWAVAUATAHUSHHIL<$tiHHhHLMEtaDHIEHLHPtHHxHߋw LHH[]A\A]A^A_DLMtlA8t-EGYDHƅHhHpfLIA HP0H;L t LDȺúHH&Hu0nHHXK CtB#L+H>HHHHكI AtUFHHD@gAWAVIHAUATUSHHIL<$tfHHhHLMteDHMHLIEHP(tHHxHߋw L:HH[]A\A]A^A_LMtlA8t-EGYDHƅHhHlfLIA HP0H; t LDHH&Hu0训HHXK CtBcLkHC~HHHHكI At0HHD{f.AWAVIHAUATUSHHIL><$tfHHhHLMteDHMHLIEHP0tHHxHߋw BLzHH[]A\A]A^A_LMtlA8t-EGYDHƅHhHlfL8IA HP0H; t LDHCHH&Hu0HHXK CtBL諳H辫HHHHكI AtpHHWDf.AVHAUATUSHH Ld$D$L{|$tiHHhHLMtaDIEHLHD$HP8tHHxHߋw {L賲H H[]A\A]A^LMtlA~8t-EFYDHƅHhHpfLxIA HP0H;  t LD舵胵HH&Hu0.HHXK CtBHLHHHHHكI AtHHD;f.Z'UHHAWAVAUATLeSHLH}tnHHHHLIMtiDIELLIuuHP@XYtHHxHߋw LHeH[A\A]A^A_]LMtlA~8t-EFYDAHAƇHpHIc@L蠻IA HP0H;4 t LD谳諳HH&Hu0VHHXK CtBp LH&HHxH߃O Gt=.HHf.kf.AWAVIHAUATUSHHIL<$tfHHhHLMteDHMHLIEHPHtHHxHߋw LHH[]A\A]A^A_LMtlA8t-EGYDHƅHhHlfLعIA HP0H;l t LDHH&Hu0莦HHXK CtBCLKH#^HHHHكI AtufHHDf.HHHxHFHHATIUHoSHHHKLHHǃHPH@ǃƃHǃHǃHǃHǃHHC[]A\IHHHHCBL f.HHH@HVHf.f.@SHHHxHH[f.SHHHxHH[f.UHSHHHH@HHP`H9u H[]HHXs HH[]5DSHHH@HHt HP0t H[HHxHߋw H[HHt (HHHHكI Au,߿HHXK Cu"H访HH螿HfDSHHpHF u7HH1HP H Hщ[H H 11HHщ[H H HHt%QHHXK [u2 1H,HHXK CuFAH7ҾHH¾Hf.SHHHHHA uHHP(Ht H[HHxHߋw CH[HHt 耢HHPHڃJ Bu,7`HHXK CuzuHkHHHf.@SHHHHHA uHHP Ht H[HHxHߋw sH[HHt 谡HHPHڃJ Bu,g萡HHXK CuH6HH&Hf.@HHHxHF1H鸼ATUHoSHHMH~1HHǃHPH@ǃƃHǃHǃHǃHǃHHC5[]A\IHHHHSvL>f.@HHH@HVHf.SHH胨HHǃǃHPH@ƃHǃHǃHǃHǃHHC[USHHHHxHFHHHHPHHHHHHDžHHǃH[]ÐATLgUHSHL芧HƃLHǃǃHPH@HHCHEHǃHǃHhHǃHHǃ)HLHHDžHHǃ[]A\HHLHHC^H&fDATIUSHHhHHXHHHHHH{HHlHHHHL[]A\fDUSHHHxHHHXHHHHHHHHHHH[]f.UHSHHHHwHPHHHЋr Ht+tHH[]錵@HHXs H؅uEH[]HGHHB@ t7UHSHHNuHHt HP0tH[]@H}HHxw H[]@ATIHUSHH Hl$H袱|$t;HHxHMtLHHT$LHuHHxH'fMt*HcH H[]A\ w cHHxHH HaHHAHt vHHHHكI Au,-VHHXK CupkHaHATAHUSHHHH脰<$t,HH@HDHW(H9W0vBD"HHW(tHZHH[]A\fDHHxHߋw SϐHDPhH HVHH6HukHHXK Ct#PHHHHكI AtgbHQHfAUIHATIUSHHHHo<$t HLLH@HHP`I9uHQHH[]A\A]HHxHߋw KHHu苙HHXK Ct#pHHHHكI AtH zHHHHf.Df.fSHHH@HHtH PPH߉[H骾D1f鋾f.ATAUSHHHhHtDH[]A\@HHt!H PPƅHD[]A\~f.@HHHJH qf.DHHHJH!qf.HH@HzHǃt t 1ɃW ʉWHHcHHRHtf.HHcHHRHtf.AWAVIAUATUSHH8Ll$ Ht$HLǬ|$ HHhHHEHHD$I9ML$ L)ID D8HHG(Dt=IHHHG(H;G0rHDPhHHjHHu@u H:HHPHڋr |HBLH8H[]A\A]A^A_HLHt$HP`HHJHHI9tq HσˮHHPHHBE uHHt$LHP`HHjHHI9tu HtHHhHH|$ 7M ,Ld$M)D$D0HHG(DIHHHG(H;G0rHDPhHHjHHHHH PPAHƅHhH+fDHHtGH PPAHƅHhH[f.u HR؟ӟHHu腔HHXK Ct#蟿jHHHHكI At聿|H LHHHfHt$ Ht$ H@UHSHHt*HHWHHHٰHH[]HHxHw SHH[]fSHHHH@HHt&H@PPHt$ HߺD$ dH[艞fAWAVAUATIUSHHHH諣IHI9N,L5IMt[I$uH@IHLHOl/#fI$uHHH@IHtVHPPL9uLLL蔯LHL[]A\A]A^A_f.HHxLw 脝H躷HHLDHHHu I$L`AL$ AD$t.0I$HHLI At謭[HH 蓭H{膭Hnf.@AVIHAUATUSHHIL<$teHHhHLMt_DHMHLIEHPtHHxHߋw ũL蝿HH[]A\A]A^DHHt/H PPAHƅHhHrHH&Hu0裐HHXK CtB轻XLH8sHHHHكI At芻%;{HH f.f.HH@DJ@ttHHH@DJ@t tHc鹼fAVIHAUATUSHHIL <$teHHhHLMt_DHMHLIEHP tHHxHߋw L载HH[]A\A]A^DHHt/H PPAHƅHhHrHH&Hu0ÎHHXK CtBݹxL0HX蓎HHHHكI At誹E;蛹HH,f.f.fAVAUATAHUSHHIL耣<$thHHhHLMEtcDHIEHLHPtHHxHߋw BLHH[]A\A]A^f.HHt/H PPAHƅHhHnupHH&Hu0HHXK CtB5ШL舻H谸HHHHكI At蝨6HH脨f@AVIHAUATUSHHIL<$teHHhHLMt_DHMHLIEHP(tHHxHߋw ŤL蝺HH[]A\A]A^DHHt/H PPAHƅHhHrHH&Hu0裋HHXK CtB轶XLH8sHHHHكI At芶%;{HH f.{f.AVIHAUATUSHHIL耠<$teHHhHLMt_DHMHLIEHP0tHHxHߋw ELHH[]A\A]A^DHHt/H PPAHƅHhHr}xHH&Hu0#HHXK CtB=إL萸H踵HHHHكI At 襥;HH茥f.f.AUHATUSHH(Ld$D$L|$thHHhHLMtcDIEHLHD$HP8tHHxHߋw 辡L薷H(H[]A\A]HHt/H PPAHƅHhHnHH&Hu0蛈HHXK CtB赳PLH0kHHHHكI At肳:sHHf體f.Z闔UHHAVAUATLeSHLHo}tmHHHHLIMtcDIELLIuuHP@XYtHHxHߋw ,LHeH[A\A]A^]@HHt4H PPAHAƆEHPHIi`[HH&Hu0HHXK CtB 転LsH蛲ֆHHpHރN Ft舢7ޱHHof.髠f.AVIHAUATUSHHIL<$teHHhHLMt_DHMHLIEHPHtHHxHߋw 襞L}HH[]A\A]A^DHHt/H PPAHƅHhHrݐؐHH&Hu0胅HHXK CtB蝰8LHSHHHHكI Atj;[HHf.kf.G@t"HW(HGHt H9vHWHH+G@HG@t2HG(HWHtH9wHGH9sHGHfHWH;Wv.t1JG@u@8uHBHG@8t@rfDfH1HWDG@t*HW(HGHt H9vHWHH+GHHHWH;Wv9tJG@u9tH1HWDHBHG9tډrfDG@t*HG(HWHt H9vHGHHGH9vDf.UHoSHHHHPHWHPhH@HHJHWpHHGHPHC`H9tdHmH{@HHCHH{pHCHHHCHHHCpǢHH[] fSHHxHQHHPHHPhH@HGHHHHGH`HCpH9t賋HH{PHHCKH4HCHHCHjHHHHH[WfDHSHHPHHPhH@HGHHHHGH`HCpH9t HH{PHHC袟HHCHHCHHH/HHgH[鮊f.@SHHXHYHHPH@HCxHSH{XHHHCHChH9t^HH{HHHCH?H{xHCHH)HHCx̠H[fHSHHPH@HGxHHHHGHXHChH9tՉHH{HHHCmHH{xHCHHHHCxCH[銉f.HپSHHPHWHPhH@HH#HWpHHGHPHC`H9t=HFH{@HHC՝HH{pHCHHHCHeHHCp[韟ff.@SHHxH1HHPHHPhH@HGH|HHHGH`HCpH9t蓈HH{PHHC+HHCHHCHJHHHH[ff.HSHHPHHPhH@HGHӽHHHGH`HCpH9tHH{PHHC肜HkHCHHCHHHHH[FfDSHHXHHHPH@HCpH3H{PHHHCHC`H9tNHWH{@HHCHH{pHHHHCp[ÝfHSHHPH@HGpHHHHGHPHC`H9tՆHH{@HHCmHH{pHHHHCp[Jf.SHHxHHHPHHPhH@HGH<HHHGH`HCpH9tCHdH{PHHCۚHHCHHCHکHHHH[韜ff.@H SHHPHWHPhH@HHHWpHHGHPHC`H9t蝅HH{@HHC5HH{pHCHH8HCH]HHCp[ff.HiSHHPHHPhH@HGHHHHGH`HCpH9tHH{PHHC蒙H[HCHHCHHHHH[VfDSHHXHHHPH@HCxHCH{XHHHCHChH9t^HgH{HHHCH_H{xHCHHHHCx̚H[fHSHHPH@HGxHHHHGHXHChH9tՃH޿H{HHHCmH֡H{xHCHHHHCxCH[銃f.SHHXH9HHPH@HCxH3H{XHHHCHChH9t>H_H{HHHC֗HH{xHCHH HHCx[髙f.HSHHPH@HGxHHHHGHXHChH9t赂HּH{HHHCMHH{xHCHHHHCx["fSHHxHHHPHHPhH@HGHHHHGH`HCpH9t#HDH{PHHC軖HHCHHCHHHHH耘H[ǁUHoSHHHܷHPHWHPhH@HHjHWpHHGHPHC`H9ttHH{@HHC HդH{pHCHHHCH4HHCpחHH[]H9SHHPHHPhH@HGHüHHHGH`HCpH9tʀHH{PHHCbH+HCHHCHaHHHH'H[nf.@SHHXHHHPH@HCpHH{PHHHCHC`H9tH?H{@HHC趔HH{pHHHHCp[铖fH9SHHPH@HGpHHHHGHPHC`H9tHƹH{@HHC=HFH{pHHxHHCp[f.SHHXHHHPH@HCpHH{PHHHCHC`H9tH?H{@HHC趓HH{pHHHHCp蔕H[~f.H)SHHPH@HGpHHHHGHPHC`H9t~HH{@HHC-H6H{pHHhHHCp H[R~fSHHXHѶHHPH@HCpHH{PHHHCHC`H9t~HH{@HHC覒HϜH{pHHIHHCp脔H[}f.HISHHPH@HGpHjHHHGHPHC`H9t}HH{@HHCHFH{pHHHHCpH[B}fSHHXH!HHPH@HCxHH{XHHHCHChH9t|HH{HHHC薑HH{xHCHH1HHCx[kf.HSHHPH@HGxHZHHHGHXHChH9tu|H~H{HHHC HvH{xHCHHHHCx[fUSHH8HH*HGHGHHGHGHGHGHGHk@HCPHCXHHCXHCHH[]ÐATUHoSHH/GHF(HGHt=LFHN L9wI)11DoH[]A\@H)11I)oH[]A\ÐHHGH[]A\IH;H9t/{L觝HG(HtH;Gv G@t HGfDHGHGHGfHw(Hw HW0H~!HHH)HHHcHHO(f.DDG@HDƃAA!AEAE!ÃAE!AAA!AHE tkLWMutkE HO(SHtH9OsuHOHOHOHÃEtHylHHxEu31[LW Muu H1ÐEuH1ÐHWL)H9|HW0Hw HDHHWL)H9|HWHHWHWL)HHXfDHWL)HL)H1L#1f`ID$(HHǃXHǃhHǃpHǃxHǃHHCUZL-._1HIE(LkH5ZHC H{PL{HtHC(HPHC0HHPhH@HCHD{HHHC8HCHC@HCHBDsXLHHtHChCpHHCHCpHC`YH[]A\A]A^A_II0L#IHCHvHHHEUL aL54LkL#HC@AWAVIAUAATUHSHHHFHHPHN1H HGHxHXHE 1HCH@H|HE(HXHEL{PLcLHH@HU0HHE8HCHEHHU@H@HHEHHC HCHyHC(HHC0HCHC8HC@HCHIAHJsCXH{`HHCIVI6LspLs`HXVDkX1AtHKhHs`1LQHLHxHWH[]A\A]A^A_I#HUHHHRHMH HCo_L2LHEHH@HU0HHE8HCHE HCH@HU(HTHEHH@HUHHC_IIH{`I9t|HpCXH{`HHCIVI6LspLs`HSDkX1AtHKhHs`1L?OLHUH[]A\A]A^A_II:IfISL;IHCHrHHH9QL]LM&0HZL;HCHCH{`I9tP:HYvH|$HHCNDUHSHHHHH@HV@HHFHHGHoHHGH`HCpH9t9HuH{PHHCNHEHH@HU0HHE8HCHE HCH@HU(HTHEHH@HUHHCH[]f.DAVAUATIUHSHH@HFHHPHNH HUHWLhHEILpLIL3FILdUIIdžIAAALuIDžAID$ LkHEHCH@IT$(HTID$HH@IT$0HID$8HCI$HH@IT$@L,$HID$HHCHHD$HD$HD$HD$ HU`HD$(HD$0HE HVH)HD$HE(H)HD$HE0HH)HL$HM8Ht-HH)Ht$ Hu@HH)HMHH|$(H)H9HL$0HBHtH)HEhLLf-HmHHCEXCXHCpHC`HU`HEpH9HS`HUpHSpHUhH<$HShHE`HD$HEhEpHwHHtHT$HL$HHGHHHOHWHD$ HtHT$0HL$(HH@Hu`11LrKHH@LH@[]A\A]A^fDoEpCpVfHM8HHHbLl,ID$HHH@IT$0HID$8HCID$ HCH@IT$(HTID$HH@IT$HHCXHAAWL=7VAVAUATLUHSHLHH&51L;Lf`IG(HHEHǃXHCHEHǃhHǃpLhHǃxHǃILBHPLQILuIDžHXA`ALkHǃhaHjHEHPL,$HHPhH@HCHHD$HD$HD$HD$ HD$(HD$0HE HHU`HPH)HD$HE(H)HD$HE0HH)HL$HM8Ht-HH)Ht$ Hu@HH)HMHH|$(H)H9HL$0HBHtH)HEhLL0*HQjHHCEXCXHCpHC`HU`HEpH9HS`HUpHSpHUhH<$HShHE`HD$HEhEpHwHHtHT$HL$HHGHHHOHWHD$ HtHT$0HL$(HH=Hu`11LHH=SL;HH{HCHjLHHJHUL(Hf.fAWAVAUATUHSHHXHLhHL`ILIL=UIL>OLI$.OIH}I$H|$IA$I$AAA$A$AAHSA$HELcHUHS`HCHHD$HD$ HD$(HD$0HD$8HD$@HC HH)HD$HC(H)HD$ HC0HH)HL$(HK8Ht-HH)Ht$0Hs@II)HKHLD$8H)H9HL$@HBHtH)HChL`5Ll$HsPILL}Px*LLm*LLBL:FL2FCXH}`EXHs`HCpH9HUpH9Hu`HKhHUpHMhHKpHMpHH{`HSpHCh11Hs`LvEH|$HD$HwHHtHT$(HL$ HHGHHHOHWHD$0HtHT$@HL$8HHc:HXH[]A\A]A^A_ÐHu`HShHUhHSpHUpHC`H_HK8HfDHShHtHt!TTHShH}`HUhH{`CpHShH}`HH|$:HRAWAVAUATUHSHHHLhHL`ILIL*RIL+LI$LLILMI$IA$I$AAA$A$AAHSA$HEHu HUHSHCHHM`HT$0HD$8HD$@HD$HHD$PHD$XHD$`HHH)HD$8HE(H)HD$@HE0HH)H|$HH}8Ht-II)LD$PLE@MI)H}HLT$XH)L9H|$`IBHtH)HEhH{ HLL$pHD$xHK`H$LC8H$H$H$H$HTHH)HD$xHC(H)H$HC0II)L$Mt6MI)L$LK@MM)LCHL$I)L9L$IBHtH)HChH} HK(L}PLkPHs HE(Ld$(LHM(HK0LLt$ HC(HE0HM0HK8HC0HE8HM8HK@HC8HE@HM@HKHHC@HEHHMHHCHHT$G&LL\>LLQ>L BLL&LL&LLL|$#>LL%HT$HCLHPLL=LALALAEXSXHs`H}`UXCXAH|$pHD$xHwHHt%H$H$HHGHHHOHWH$HtH$H$HH6H|$0HD$8HwHHtHT$HHL$@HHGHHHOHWHD$PHtHT$`HL$XHH5Hĸ[]A\A]A^A_1MH}81H:HL@L@L@H|$p6H|$0}6H5NDHGf.ATUHoSHH/GHF@HGHt=LF0HN8L9wI)114H[]A\@H)11IH[]A\ÐH`7NH[]A\IH;H9t+LMUHoSHH`HHHWLF11CXtHKhHs`HH1[]-?f.USHH8HHdHGHGHHGHGHGHGHG-.H>fk@HCPHCXHHCXHCHH[]f.@ATUHoSHH/LF(HGGMt:HFHN I9w%H)II11Hg$H[]A\I)HH6H[]A\IH;H9t)L'LHG(HtH;Gv G@t HGfDHGHGHGfHw(Hw HW0H~HHHHHcHHG(ÐDG@HDƃAA!AEAE!ÃAE!AAA!AHE tkLWMutkE HO(SHtH9OsuHOHOHOHÃEtHylHHxEu31[LW Muu H1ÐEuH1ÐHWL)HH9|HW0Hw H#HHWL)HH9|HWHHWzHWL)HHHLf.HWL)HL)HHH$fDO@HEA!AD!LWHtMtxAtrL_(MtL9_sEuL_L_L_HxMLGM)II9|=SHt HOH HOAHuOH HHމ[H H 11HH։H H LW UHHW0Hw HD$k"HD$@USHHG@HPLCHAH,H{XAI9t}H{XHHL9t Hl1HEtHHsHSHku2H[]tHH!HkHkHkH[]fDHHH[]! 널w@1ɃtHOPHwH13SHHHHHWLF1f 1C@tHKPHsHH1[3f.SHHtHy H[DHGHHGP1_3H[f.AVL5_AULo8IFATIUSHHHGHGHGHG HG(HG0L(H`I4$C@H{HHHID$LcXLcHH#Hk@1ɃtHKPHsH1H2[]A\A]A^HHH{HI9t$IFLHY9H!GG@AVHGXAUATUSH LgHI9HWXHw0HH HK(HH)HH9r,H9)HHK(H []A\A]A^f.H)ILHHC@t*HSHCLcH)HILHCHKLH)HCHC((HHC(H []A\A]A^DBfDf1DHH9H4IHD$H9IL$LD$HGH $HHB@HK Ll$HtLC0L1LI)ILl$H$IT$MuH9HT$I9wbB,H{HLLt$BDHK(HSHH+K H+SHsHHH0H<$IL9t"HK(\DA11LLs*H$Do-HH<$IL9tO"HDATUHSHLcXH]H}XHHEC@H}HE@HCHL9t/HEHHCXHEXHCPHEPLcHHCPCX[]A\LfHHHN HGHVHHGHGHG HG(HG0HFHt}H)HHGHFH)HHGHFII)ILGHt9II)ILG LF(MI)LHHO(HN0H)HL9HO0IBHt H)HHFPfHuf.HHWHpHHt HOLGHHPH NL@HHLG Iu@HW0HO(HHJ48AWHAVAUATUHSHHHWHHO Ht$0HwHD$8HD$@HD$HHD$PHD$XHD$`HjHH)HHD$8HGH)HHD$@HGHH)HH|$HHtHHHCpLIIH{PI9tH 7H|$HHCUHSHHHHH@HVHH8HHGHPHC`H9tH6H{@HHC)HEHH@HUHH[]f.DAWAVAUATIUHSHHHHFLhHHFIIEHLLpIL IL IIdžIAAALsIDžAI$LmHEH@IT$L,$HTHHSPHD$HD$HD$HD$ HD$(HD$0HCHnH)HHD$HCH)HHD$HC HH)HHL$HK(HtLI$.IH}I$H|$IA$I$AAA$A$AAHSPA$HLcHD$HD$ HD$(HD$0HD$8HD$@HCHH)HHD$HCH)HHD$ HC HH)HHL$(HK(Ht LLHEHH@HU0HHE8HCHE HCH@HU(HTHEHH@HUHHC IIH{`I9tKHl"LHHCLyf.fAWL= AVIAUAATUHSHHHIG(L;1HǃXHǃ`ƃdHǃhHǃpHǃxHǃHHCH 1HHCH(HHHC LcHC(HPHC0HHPhH@HCHV!HHHC8HCHCPHC@HHCHHD$H"I6H{`CXHHCIFLspLs`H DkX1AtHKhHs`1LvLHH[]A\A]A^A_II:IfISL;IHCHc'HHHLLMH L;HCHCH{`I9tH8 H|$HHCf.fUHSHHHHH@HV@HHFHHGH!HHGH`HCpH9tHH{PHHCAHEHH@HU0HHE8HCHE HCH@HU(HTHEHH@HUHHCH[]f.DAWAVAUATIUHSHHHHFHHPHNH HUHWLhHEILpLILILIIdžIAAALuIDžAID$ LkHEHCH@IT$(HTID$HH@IT$0HID$8HCI$HH@IT$@L,$HID$HHCHHD$HD$HD$HD$ HU`HD$(HD$0HE HmH)HHD$HE(H)HHD$HE0HH)HHL$HM8HtIH}I$H|$IA$I$AAA$A$AAHSA$HELcHUHS`HCHHD$HD$ HD$(HD$0HD$8HD$@HC HH)HHD$HC(H)HHD$ HC0HH)HHL$(HK8HtHxTH9v#HH9sHx&HHz f.HHHHԻPH=5HHGH9t H@H?USHHHt$Hw:HHHtHtI@HͷHT$HHSH[]fD1Ht$4HT$HHSfD@(HT$HHSH[]fD8Hf.fHf.fHOHH9wVH=HH1Nf.@HHH+wH9rPH萿HGH)H9HGÐHH9w HWH9HtHu@[fHtHu@fHtHu@Hcf.H)HtHuÐfH)HtHuÐfH)HtHuÐfH)HtHuÐfH)H H@MÐH9AVLwAUATUSHL/LfM9HWHHL9r8MtHuItyLLL+LcCD%H[]A\A]A^@Ht$Ld$H;II9tHD$L+HCMtfDsfDAEL+@AWAVMAUATLgUHSHDHH(HwHD$II)LH)HHD$L;'HWHt$HH $HH $It H3HHHH $ H $HtMtIHH[HH5\H=xw19HH5)1H=^w!HVH6ħ@ATUSHH@HHtT{8HItSC[LH]A\YfHH H@0H;t˾ H/f.DHG@$HG@(HG@`HG@dHG@hHG@$HG@(HG@`HG@dHG@hH!HH齎f.H!HH鍴f.HG@HHG@LHHH齲f.1f.1H9s!fHcHHHH9w@HHH f.HHHf.HHHͱf.H9HH魱f.HHH鍱f.H)HHmf.H HHMf.HyHH-f.HYHH f.HASHHHٌH[递HASHHH該H[`H9SHHH詰H[@HYSHHH艰H[ HSHHH蹰H[HSHHHIH[HSHHH)H[SHWH[鮑f.@HSHHHH[逑HSHHHɯH[`HSHHH詯H[@HSHHH良H[ SHHHFHT$Hp趓HH[f.SHHHFHT$Hp膓HH[f.SHHHFHT$HpVHH[f.SHHHFHT$Hp0趍HH[f.SHHHFHT$Hp@膍HH[f.SHHHFHT$HpPVHH[f.SHHHFHT$Hp0&HH[f.SHHHFHT$Hp@HH[f.SHHHFHT$HpPƌHH[f.SHHHFHT$Hp(薌HH[f.SHHHFHT$Hp8fHH[f.HSHHHHG贔H[Kf.HaSHHHHG脔HH[鳎H1SHHHHGTH[f.HSHHHHG$H輬H[SUSHHH Ho HHH9t HtHH{HtHPH{ƓHH[]XSHGH[ލf.@USHHHHoHH耍H9t HtHvH{UHH[]SHgH[nf.@HyHHf.HYSHHHɠH[ HiHHͱf.HISHHH話H[SHH?uHu[HGH;GsuH[fDHPHH=xtG~GPW龃f.@H=8tG~GPW>f.@AWAVIHHAUATULSHH8Ll$/LLl$QLHHIHD$;HHD$IGLM$HELl:DHHHHlI9uI9t'I9t`I9tkHHHHL腕ADžtH|$HHH9uIH|$HH9uKH8D[]A\A]A^A_fAAHt$@Ht$HH|$HH;=)t Ht$uHMf.AWIHAVIAUATUHSHH8HHHHD$/HHHD$IHD$H@H)HIHD$HH9H<EILHHLLH9w@LHhHH9FH<HHHLI HLLH HH9\$taIHHHLaL;`w@~ LLIHPHPH;C@L`B+L0H|$HH;=uH8L[]A\A]A^A_Ht$H#C講H|$HH;=Tt Ht$I>HH;=:t Ht$H^HL覯蹪HHHkf1HHGHGGH[G HHG$HHG0HG8HG@HGHHGPHGXHG`GhƇ@1HHGHGGHF[G HHG$HHG0HG8HG@HGHHGPHGXHG`GhƇ@U1SHHHHG11GH9HHmH[]HH軥HөU1SHHHHw11GHHH!H[]HHoH臩U1SHHHHGGHHHѕH[]HHH7HH@H;RuHG@$f.@HH@H;uHG@(f.@SHHHH@ H;u HFHT$HpֈHH[DHH[f.SHHHH@(H;u HFHT$Hp0HH[DHH[f.SHHHH@0H;*u HFHT$Hp@ƂHH[DHH[f.SHHHH@8H;u HFHT$HpPvHH[DHH[f.HH@@H;juHG@`f.@HH@HH;uHG@df.@HH@PH;uHG@hf.@U1SHHHHG11GHAHHݛH[]HH蛢H賦U1SHHHHw11GHHH葛H[]HHOHgU1SHHHHGGHHHAH[]HHHHH@H;uHG@$f.@HH@H;uHG@(f.@SHHHH@ H;u HFHT$Hp超HH[DHH[f.SHHHH@(H;"u HFHT$Hp0HH[DHH[f.SHHHH@0H;u HFHT$Hp@HH[DHH[f.SHHHH@8H;u HFHT$HpPVHH[DHH[f.HH@@H;juHG@`f.@HH@HH;uHG@df.@HH@PH;uHG@hf.@AT1UHSHHHHG11GHHH(HH=aHHHtH=XHuH[]A\DLd$1HLvHt$1H跏LoH[]A\HHHzH HHf.fAT1USHHHH.HG11GHHH8HH=`HHHtH=WHuH[]A\DLd$1HL膀Ht$1HǎLH[]A\HHHyHHH f.fAT1UHSHHHHG11GH<HHؖH H=`HHHtH=VHuH[]A\DLd$1HLHt$1HgL菄H[]A\HHHH,HHf.fAT1USHHHH.HG11GHLHHHH=_HHHtH=UHuH[]A\DLd$1HL~Ht$1HwL蟃H[]A\HHHHHH.f.@1HGHHHfDH`f.H`Hf.H`Pf.H`Xf.H``f.1HGHHHfDHEH@H`8f.H`@f.H`Hf.U1SHHHHGHGGHHHiw1HHC 蛃H[]HHٕHU1SHHHHwHGGH)HH w1HHC ?H[]HH}H蕙D1HAVAUIATIUSHGHͪHGHHGHHG vLHHKuHk LH踂[]A\A]A^L}LpL脝LLHfHC HH輔HԘH mH{ H9t Ht$Hf.DHGHPHH@HFf.fHGHP HH@(HFf.fHGHP0HH@8HFf.ff.DHGHP@HH@HHFf.fHGHPXHHP`HVHPhHVHPpHVHPxHV HHV(HHF0f.@HGHHHHVHHVHHVHHV HHV(HHF0f.DHGHHHHVHHVHHVHHV HHV(HHV0HHV8HHV@HHVHHHVPH HFXHGH(HH0HVH8HVH@HVHHHV HPHV(HXHV0H`HV8HhHV@HpHVHHxHVPHHFX1HHGHGGHFHG HHG(HHG0HG8HG@HGHHGPHGXHG`HGhHGpHGxHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJHLJ HLJ(HLJ0HLJ8HLJ@HLJHHLJPHLJXHLJ`HLJhHLJpHLJxHLJƇ@1HGHHHfDDT$HDT$DT$DT$`@1HGHֱHHfD1HGHHHfD1HGHγHHfDH`f.H`f.H` f.H`(f.H`0f.H`8f.1HGH>HHfD1HGHHHfDU1SHHHGHHHHC pHCH[]HH蚎H貒fAT1IUSHHHHGHGGH0Ht$HHoLHHquHkH|$_dHCH[]A\fLwHhH謖HLH莓HCHHHDH`f.ATIUHHSHH}'kHLHH[]H@A\HSHPH[ÐH` f.Hf.fHQHHHf.@AUATUHHSHH舆HLkHHnI9t#IMtL脕LH1uMLcH=[OHtH=FHuEH[]A\A]f.HuL`LH=ހInMIIH@N,ImH'HD$MlL(IEA9MtbUdHM@LuHT$lHL$(ILI$LLP(L)IIuS\$IGHD$HĈH[]A\A]A^A_DUhHuPHLuXT$lIUHt$(LEHK4$HHD$pHD$pHHD$0JHcU`LH)HHIHH}HD$pH|$0H 1E1HPcHMHUH|$pHL$M(HT$8L$@G&HL$HT$8MLMt$@H|$pHD$GHt$HOH)HHH)H9H|$01SdE`HHT$pAGHJǁL|$HHL$@HH\$@HH4HD$xHD$xHHD$IIG|$HL%zH9HD$8H\$lLk!ˆT$O;IcLMHD$(H|$0VMt@AGtiHU8Hu0H|$=UD|$OT$H|$Ht$8H+t$@MH+|$Ot!Ht$0H|$?fHL9MIHt$xHD$8H^H9|$HcuH|$HHP`H9Ht$xD$1HD$\$H~HD$PH\$XH\$ 0H H;=H\$&HD$pHxH;=.Ht$kvHH)ك|$H DD$H|$11aHt$xH\$8KDHE8HHL$@ Ht$(H|$IVH;@u$H|$0KHHcU`H|$0Itg;ft$H|$KD?H@Ht$(H@HEHHEHE HEHE$HE0HE8HE@HEHHEPHEXHE`EhƅLIHLT9Im,H|$0HLNHH\$0UpHHELLH\:T$H|$HE^f.H|$0ZH|$p@H|$0ZH|$p@Ht$kfHH=_&1H5{_=HHHD$xHxH;=~t Ht$k%HD$pHxH;=~t Ht$k HfH;HEHP6fH:HVHff.fAWHIAVHAUATUSHHHt$HT$ DD$LL$T$HD$(7H=~IFIIH@N,ImH'HD$MlL(IEA9MtbUdHM@LuHT$lHL$(ILI$LLP(L)IIuS\$IGHD$HĈH[]A\A]A^A_DUhHuPHLuXT$lIUHt$(LEHQ}K4$HHD$pHD$pHHD$0:DHcU`LH)HHIHH}HD$pH|$0H 1E1HP]HMHUH|$pHL$M(HT$8L$@G&HL$HT$8MLMt$@H|$pHD$GHt$HOH)HHH)H9H|$01]E`HHT$pAGHJǁL|$HHL$@H/|H\$@HH4HD$xHD$xHHD$CIG|$HL%tH9HD$8H\$lLk!ˆT$O;IcLMHD$(H|$0Ft@AGtiHU8Hu0H|$w6UD|$OT$H|$Ht$8H+t$@A+|$Ot!Ht$0H|$99fHL9MIHt$xHD$8H^H9|$HcuH|$HHP`H9Ht$xD$1HD$\$H~HD$PH\$XH\$ 0H H;=z\$&HD$pHxH;=zHt$kHH)ك|$H DD$H|$11ZHt$xH\$8KDHE8HHL$@ Ht$(H|$IVH 5@u$H|$0#EHHcU`H|$0It4ft$H|$DDN9H@Ht$(HHEHHEHE HEHE$HE0HE8HE@HEHHEPHEXHE`EhƅBIHL2Im,H|$0HL(HHH\$0UpHHJ?LLH3T$H|$H?^f.H|$06TH|$p@H|$0TH|$p@Ht$kֱHH=1H5X6HHHD$xHxH;=Ixt Ht$k蕱HD$pHxH;=-xt Ht$kyHQ`H4HEHP_Hn4H4PH`f.fUHAWAVAULmATSHhH}LHuIHUMLxDM"6LJ1HPHEH\$HIUuLeHE1uLH Y@HE1^_?~GXHcHHH)L|$IM~UuH XE1uLLHE1ZYHcL}1LLHAHMȋAH}ILLAPX}MDEHxHuHUH}tANHuH~H;=vuSLHEHUPHEHUHe[A\A]A^A_]@K4fLQHMlLHEHU舯HEHUHHHEHxH;= vtL[LcPH+^f.LELL$HtMf3f.AWAVIAUAATIUSLL)H(G% ZMH,t*LHMH([]A\A]A^A_fDHLL$.-HHHHT$PPA9LL$CHT$LL$+HHHT$PPA9HT$LL$HLL$0HHT$PPA9PIHT$AHH׾xPPA9FHT$LL$HLL$XHPPA9FLL$LHtHDL_MH(LLH[]A\A]A^A_ 0DMu+HH(KH\$UMHEHMHEHxH޸EA~ F1HHH)L\$+IqAUAYMU]MKAH}ANLIVIIvWARH}L]35]L]IT$Hc^M_MHH9uH}MLHHH)HELl$HPIM(XHc]MZ@#=LmHMHEHE-LmE,PHc‰xHHH)f.A9H}HGH;GHHGIDeM9HuH}H}F4EHtuHGH;GƃuHE끐HGH;GsFǃHE@HGH;Gs\1HEDrHLMDEPHLMDEfDHPPHEAHDEPHDEHPHHPPM9HEUHPHUHAWAVAUATSH]HHHE HuHMLmHHULELMHuHIHEHHH)HL$HIu#EH}E1E11fD@H@ PH}}H A@8DUH}Au HDHN11DHHH9s2IL92vI4LcOLG9tPHE DI4H2H9rH9tsH}HGH;GHHGEIDHf.HGH;G1҃!DHE@8HM97fDHE(HEHUHe[A\A]A^A_]f.HGH;G91HEfDHGH;GDDЃHEfDHPPH}H_M97t M9wPIc $Hȉ+UH;MCHM9uH1]Lu1AMu6f.IDMLHUP0DMHUA9tHL9tID0D9uAHHL9uH}HuJEE1E1mHDM@uPHDMuYHUPHUHPHA-HEHH)Lt$ILuME1KcI|HMJIL9uH}AEH}LE1AWAVAUATUSIHHH|$(L$HH$H$H$L$LL$0-H1HD$H LHDŽ$HD$H$HD$H$HD$H$HD$@H$HD$ H$HD$8Ht$H|$DH;\$<$HE1HLkL<O4HD$hHGHGH;GD$FH|$P|$XHAA 8T$GAH|$xH@%EH$1fH$Et H$HH;=HD$`HT$hHĈ[]A\A]A^A_fDHD$`Ht$P $AHHt$HD$0 $As E1E11D$GHD$ )fDA TAH|$`E1AHGH;GlfDH $PPH|$`D$h $HSdH|$`Dl$hHt AWs E1bfDAEЃ A4$f9t$,$H|$`D)A9D$FB*Af$HGH;GHPPH|$`D$hHD$HGH;GJ1҃HD$PD@t$hH|$0XAf.AEw?AW fDHGH;GB1҃\HD$PDK@AEA7fHGH;GUD(AHD$`Ld$xALHsH{LOuH$H|$xEu@t HE|$F6H$fH$E1ADHD$`DEHE1D$FHD$8HD$xHD$HC fD$t D9kLD;kHtDLl$8HT$ LHnL) $HPOf9L$,A̺)9T$FAf$H|$`HGH;GszHHGHt$H|$0D$hHAń|t$hH|$0OVAC FD9kLEH|$HA6H|$`E1HGH;GrHPP@$D$F^AWDH|$x i@HD$`$fDS E1E1E1D$GH $PH $TfDHL$@4$PHL$4$@LH؀|$GLEH$L8t$hH|$ -S $AL@HPHDHPHD1AHt$wH$HT$x-H$HT$fAH $PH $AAE1D$F1AE11E1HHD$xHxH;=t Ht$w-H[f.HH@@H;u;fDSHHHD$DHt$(H\$XHT$0HL$LD$ D$DPAQjh'jLL$h?HD$0HT$8HD$PD$8D$XH0D$H{XurH{H1AD$gsD$L)H|$@¾ HQAńH$?DŽ$Ht$LUńH{HTH{XIgfDHPPDHPPDH;l$0H$Hx|$g4H$Hxt@D$`A|$eH$HEHsH{Hu H$|$eHt$8H$HD$pL$HD$(@HPPDHPHUDHPHeDHPHeL;l$XAf.D9s`_dL|$81Ҿ0L̞HH$HLHRHJHDH9HF11X$LHS@9HCHH$HD$02DŽ$A$LHSP9HCXH$HD$0AD$gDŽ$EpH$Hxl$f@$$HPHH$P80@H|$8A-11胡H$@xHPHZH$H$HT$H$HT$H$H$HT$H$HT$AXDl$eME1EHPHH|$88GH|$8)H$D$eH%HH$HxH;=gt H$HH$HxH;=Et H$&H>f.@AWAVAUATUSIHHH$H$HL$pLD$xLL$hqH$HHD$@ oD$fIHlI}HHD$ t I}XD$fHHA} H$tH$ nHw HH$H$HHD$8AIEpE1E1D$eH$AEhD$`$H$HD$PHD$pHD$H$HD$HHD$PHD$(B<0D$gaB0H EHcH@AIH|$(D!L |$g1Me@HD$pH$AHD$0:fDA9yH$HGH;GHHGD$HHt$0HOH9l$(<H$$HtuHGH;GN ƒxHDŽ$g$H$@H!H+D$ HHD$H$HhH]H;Xw@~ H|$8HnH$HPD$H$HPH;[AH$HGH;G+HHGDŽ$H@@ H|$p|$xH@@ 8$H$u HH<$ 蛪HA9]$AD d$eAE xA9](.|$e+E-H|$HAֶE1 fDHD$h@uUH|$(@E@u@AAAl$<t<n|$fcIE8E1H$HD$XHD$HD$0HHGDŽ$IHt$HH9t,HQHHtHH{HHH+H[]A\@HHt$SH;IHCHPHtOHu"H9t者HD$L#HCH[]A\HL}{H;HfDA$W^fDHGH9t'HGH9Gr@H1轡HH{Xkf.HHGf.@HHHHHHWH9sHHPH=1|HWH9sHHPH=1|Hf.fHf.fHWHHDHWHHDAUHWAATUSHHHoHLeH9tLHWI9w#D,LcDHH[]A\A]DA11HH苋HfDfAUHWAATUSHHHoHLeH9tLHWI9w#D,LcDH[]A\A]A11HH HfDfSH'H[fUHSHHHHFH?HSH9t`LEHKL9t;LEHEHUHMHt2H;LCHCHH[]HEHUHMH3H@HtHt%xHSH}H3HUHDCfSHOH9w9HHtHtH)H9HFY~H[@HHwH[HH=c1H5EzDUHSHHH+HH~HEHH[]fUHHSHHLGH)J HHH9t"H)HH}HH[H]fDHwH[]HGHp~}f.@HAVAUHATIUSHOH)I9LHIHwH)HEHH9HwH9reJ4*H)t"L9tJ1H=>JaAUIATIUSHH_H_H9HHHFHtI<$L6duH)H H@MH[]A\A]fAVAUATIUSH_H9wqH)IHIH9HG4_H9HHHFHu*H)H H@M[]A\A]A^IELJ==>i0h43h32h21h10555555555554455;;@<=/.-.--8,+0+0!**)0!(0!0!(((('&&P%$P$#P#0!" &M"(ix : new ullfalsetruejava resource decltype ({parm#thisglobal constructors keyed to global destructors keyed to {lambda()#{unnamed type# [clone restrict volatile const transaction_safe noexcept throw&&complex imaginary ::* __vector((......)_GLOBAL_std::allocatorstd::basic_stringstd::stringstd::istreambasic_istreamstd::ostreambasic_ostreamstd::iostreambasic_iostreamaN&=aSaaalignof azccconst_cast()cm,co~dV/=dadelete[] dcdynamic_castdedldelete ds.*dv/eO^=eo^eq==fLfRflfrgegtlS<<=operator"" ls<<mI-=mL*=mimlmm--nanew[]!=!nwnewoR|=oo||pL+=plpm->*pp++ps->?rM%=rS>>=rcreinterpret_castrm%>>sizeof...scstatic_castsizeof sztwthrow boolbooleanbytelong doublefloat__float128unsigned charunsigned intunsignedunsigned longunsigned __int128unsigned shortvoidwchar_tunsigned long longdecimal32decimal64decimal128halfchar16_tchar32_tdecltype(nullptr)std::basic_string, std::allocator >std::basic_istream >std::basic_ostream >std::basic_iostream >St7codecvtIcc11__mbstate_tESt7codecvtIwc11__mbstate_tE?__ %)+/5;=CGIOSYagmq%9QgAk7wU eMW5 _A%]O"%!(i+.26E;@UEJQW^fnxǁ]ٗ;1q3L+hy?QAp[Wa ;U[DGqV1J A S C%piq@Ѻ h#=O&Yr)7,'0#|4W8n={vBGM)T [ǂbjMs|;wM slo%Qwہ(@[ zwm9a}zYjc,Zl5z8ox|gu*j*-+] ))VݿQPI K~ EZ CH 1I ]P`[_4M(O  ɝ1u+"]$'E+.%2K6խH;!}#@idEKu8QDWd_^fFoCLcx?)s+qQ KxG /?_ /?_}??NSt8ios_base7failureEbasic_string::appendlocale::_S_normalize_category category not foundlocale::_Impl::_M_replace_facet ?NSt6locale5facetEC? -+xX0123456789abcdef0123456789ABCDEF-+xX0123456789abcdefABCDEF-0123456789GMTHSTAKSTPSTMSTCSTESTASTNSTCETISTEETJSTGMTHSTAKSTPSTMSTCSTESTASTNSTCETISTEETJSTPOSIXLC_ALLLANG=C;locale::locale null not validSt11logic_errorSt12domain_errorSt16invalid_argumentSt12length_errorSt12out_of_rangeSt13runtime_errorSt11range_errorSt14overflow_errorSt15underflow_errorSt12strstreambufSt10istrstreamSt10ostrstreamSt9strstreamXXXX0XXX()St18__moneypunct_cacheIcLb1EESt18__moneypunct_cacheIcLb0EESt18__moneypunct_cacheIwLb1EESt18__moneypunct_cacheIwLb0EEtruefalseSt16__numpunct_cacheIcESt16__numpunct_cacheIwE%m/%d/%y%H:%M:%SAMPMSundayMondayTuesdayWednesdayThursdayFridaySaturdaySunMonTueWedThuFriSatJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberJanFebMarAprJunJulAugSepOctNovDec%m/%d/%y%H:%M:%STuesdayWednesdayThursdaySaturdayJanuaryFebruarySeptemberOctoberNovemberDecemberAMPMSundayMondayFridaySunMonTueWedThuFriSatMarchAprilMayJuneJulyAugustJanFebMarAprJunJulAugSepOctNovDecrbw+br+w+a+a+bwbabr+bаPааа@аааа аа`Pаа0@ааааp аааааааааааааааааа`ааа0ааааааlocale::facet::_S_create_c_locale name not validlocale::facet::_S_lc_ctype_c_locale duplocale errorlocale::facet::_S_lc_ctype_c_locale newlocale errorLC_CTYPELC_NUMERICLC_TIMELC_COLLATELC_MONETARYLC_MESSAGESLC_PAPERLC_NAMELC_ADDRESSLC_TELEPHONELC_MEASUREMENTLC_IDENTIFICATIONbasic_string::replace%s: __pos (which is %zu) > this->size() (which is %zu)@St12codecvt_baseSt23__codecvt_abstract_baseIDsc11__mbstate_tESt7codecvtIDsc11__mbstate_tESt23__codecvt_abstract_baseIDic11__mbstate_tESt7codecvtIDic11__mbstate_tESt19__codecvt_utf8_baseIDsESt20__codecvt_utf16_baseIDsESt25__codecvt_utf8_utf16_baseIDsESt19__codecvt_utf8_baseIDiESt20__codecvt_utf16_baseIDiESt25__codecvt_utf8_utf16_baseIDiESt19__codecvt_utf8_baseIwESt20__codecvt_utf16_baseIwESt25__codecvt_utf8_utf16_baseIwESt10ctype_baseSt5ctypeIcESt5ctypeIwESt12ctype_bynameIwE @ %s"@ 0x%p { type = type._M_name../../../../../src/libstdc++-v3/src/c++11/debug.ccaddress%pparam._M_kind != _Parameter::__unused_paramconstnessiterator._M_sequenceseq_typevariant._M_integer._M_namevariant._M_string._M_nameT$*start >= '1' && *start <= '9'param_index < num_parameters*start == ';'%ld*startfield_idx < max_field_len - 1GLIBCXX_DEBUG_MESSAGE_LENGTH%u:Error: _M_text. iterator iterator); state = references sequence with type '' @ 0x%p } instance iterator::value_type Objects involved in the operation: bool {anonymous}::print_field({anonymous}::PrintContext&, const char*, const __gnu_debug::_Error_formatter::_Parameter::_Type&)void {anonymous}::print_field({anonymous}::PrintContext&, const _Parameter&, const char*)void {anonymous}::print_string({anonymous}::PrintContext&, const char*, const _Parameter*, std::size_t)void __gnu_debug::_Error_formatter::_M_error() constsingulardereferenceablepast-the-endbefore-beginconstantmutableattempt to self move assignload factor shall be positiveallocators must be equaldereferenceable (start-of-sequence)function requires a valid iterator range [%1.name;, %2.name;)attempt to insert into container with a singular iteratorattempt to insert into container with an iterator from a different containerattempt to erase from container with a %2.state; iteratorattempt to erase from container with an iterator from a different containerattempt to subscript container with out-of-bounds index %2;, but container only holds %3; elementsattempt to access an element in an empty containerelements in iterator range [%1.name;, %2.name;) are not partitioned by the value %3;elements in iterator range [%1.name;, %2.name;) are not partitioned by the predicate %3; and value %4;elements in iterator range [%1.name;, %2.name;) are not sortedelements in iterator range [%1.name;, %2.name;) are not sorted according to the predicate %3;elements in iterator range [%1.name;, %2.name;) do not form a heapelements in iterator range [%1.name;, %2.name;) do not form a heap with respect to the predicate %3;attempt to write through a singular bitset referenceattempt to read from a singular bitset referenceattempt to flip a singular bitset referenceattempt to splice a list into itselfattempt to splice lists with unequal allocatorsattempt to splice elements referenced by a %1.state; iteratorattempt to splice an iterator from a different containersplice destination %1.name; occurs within source range [%2.name;, %3.name;)attempt to initialize an iterator that will immediately become singularattempt to copy-construct an iterator from a singular iteratorattempt to construct a constant iterator from a singular mutable iteratorattempt to copy from a singular iteratorattempt to dereference a %1.state; iteratorattempt to increment a %1.state; iteratorattempt to decrement a %1.state; iteratorattempt to subscript a %1.state; iterator %2; step from its current position, which falls outside its dereferenceable rangeattempt to advance a %1.state; iterator %2; steps, which falls outside its valid rangeattempt to retreat a %1.state; iterator %2; steps, which falls outside its valid rangeattempt to compare a %1.state; iterator to a %2.state; iteratorattempt to compare iterators from different sequencesattempt to order a %1.state; iterator to a %2.state; iteratorattempt to order iterators from different sequencesattempt to compute the difference between a %1.state; iterator to a %2.state; iteratorattempt to compute the different between two iterators from different sequencesattempt to dereference an end-of-stream istream_iteratorattempt to increment an end-of-stream istream_iteratorattempt to output via an ostream_iterator with no associated streamattempt to dereference an end-of-stream istreambuf_iterator (this is a GNU extension)attempt to increment an end-of-stream istreambuf_iteratorattempt to insert into container after an end iteratorattempt to erase from container after a %2.state; iterator not followed by a dereferenceable onefunction requires a valid iterator range (%2.name;, %3.name;), "%2.name;" shall be before and not equal to "%3.name;"attempt to compare local iterators from different unordered container bucketsfunction requires a non-empty iterator range [%1.name;, %2.name;)attempt to access container with out-of-bounds bucket index %2;, container only holds %3; bucketsattempt to insert with an iterator range [%1.name;, %2.name;) from this containercomparison doesn't meet irreflexive requirements, assert(!(a < a))bad_function_callSt17bad_function_callfutureBroken promiseFuture already retrievedPromise already satisfiedNo associated stateUnknown errorstd::future_error: St12future_errorNSt13__future_base12_Result_baseE*N12_GLOBAL__N_121future_error_categoryE  %)+/5;=CGIOSYagmq%9QgAk7wU eMW5 _A%]O"%!(i+.26E;@UEJQW^fnxǁ]ٗ;1q3L+hy?QAp[Wa ;U[DGqV1J A S C%piq@Ѻ h#=O&Yr)7,'0#|4W8n={vBGM)T [ǂbjMs|;wM slo%Qwہ(@[ zwm9a}zYjc,Zl5z8ox|gu*j*-+] ))VݿQPI K~ EZ CH 1I ]P`[_4M(O  ɝ1u+"]$'E+.%2K6խH;!}#@idEKu8QDWd_^fFoCLcx?)s+qQ KxG /?_ /?_}??0C?Cios_base::_M_grow_words allocation failedios_base::_M_grow_words is not validSt8ios_base J@ @  D@@45& &&@?@?   random_device::__x86_rdrand(void)/dev/urandomdefault/dev/randomrandom_device::random_device(const std::string&)random_device could not be readmt19937random_device::_M_strtoul(const std::string&)@@regex_errorSt11regex_errorbad_weak_ptrSt12bad_weak_ptrnot enough space for format expansion (Please submit full bug report at https://gcc.gnu.org/bugsNSt3_V214error_categoryESt12system_error*N12_GLOBAL__N_122generic_error_categoryE*N12_GLOBAL__N_121system_error_categoryEEnable multithreading to use std::threadNSt6thread6_StateEuninitialized __any_string`XHXHXHXHXHXHXHXHXxXHXHXHXHXHXHXXHXHX0XHXHXXXXXXXXXXXXXXXXXXXXXXXcannot create shim for unknown locale::facet*NSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE*NSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE*NSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE*NSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE*NSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE*NSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE*NSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE*NSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE*NSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE*NSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE*NSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE*NSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE*NSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE*NSt13__facet_shims12_GLOBAL__N_113messages_shimIwEENSt6locale5facet6__shimE*NSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE*NSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEEiostream errorNSt8ios_base7failureB5cxx11E*N12_GLOBAL__N_117io_error_categoryESt13__ios_failureSt19__iosfail_type_infoppppppppppppppppXppȖȖȖȖȖȖȖȖȖȖȖȖȖȖȖȖȖȖ*NSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE*NSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE*NSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE*NSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE*NSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE*NSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE*NSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE*NSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE*NSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE*NSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE*NSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE*NSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE*NSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE*NSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE*NSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE*NSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEEspaceprintcntrlupperloweralphapunctxdigitalnumgraphblankSt12ctype_bynameIcESt15basic_stringbufIcSt11char_traitsIcESaIcEESt19basic_istringstreamIcSt11char_traitsIcESaIcEESt19basic_ostringstreamIcSt11char_traitsIcESaIcEESt18basic_stringstreamIcSt11char_traitsIcESaIcEESt15basic_stringbufIwSt11char_traitsIwESaIwEESt19basic_istringstreamIwSt11char_traitsIwESaIwEESt19basic_ostringstreamIwSt11char_traitsIwESaIwEESt18basic_stringstreamIwSt11char_traitsIwESaIwEEbasic_string::at: __n (which is %zu) >= this->size() (which is %zu)basic_string::copybasic_string::comparebasic_string::_S_createbasic_string::erasebasic_string::_M_replace_auxbasic_string::insertbasic_string::assignbasic_string::resizebasic_string::_S_construct null not validbasic_string::basic_stringbasic_string::substr?(XPtd%.*Lf%H:%MdLLL$tLLLLLLLtLLL\LLLLLL$t$LL$LLLL4LLLLL,LLL -1t0D0t.St10money_baseSt13messages_baseSt9time_baseNSt7__cxx117collateIcEENSt7__cxx1114collate_bynameIcEENSt7__cxx118numpunctIcEENSt7__cxx1115numpunct_bynameIcEENSt7__cxx1110moneypunctIcLb1EEENSt7__cxx1110moneypunctIcLb0EEENSt7__cxx118messagesIcEENSt7__cxx1117moneypunct_bynameIcLb0EEENSt7__cxx1117moneypunct_bynameIcLb1EEENSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEENSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEENSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEENSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEENSt7__cxx1115messages_bynameIcEEHWVV8VpW_t_4_^_ؐ0ؒ֎֎֎h֎֎֎ ֎֎֎֎0֎֎֎0@֎֎֎֎֎֎@֎֎֎֎֎֎֎֎֎֎֎H֎֎֎`0^L{HV\86Fx$8N^pn~Dh<.>TN^|4P(@ L<L(\a $!`!!!<"Ex"k"",#%%&d4(*-/|/,0BX11 ,22<58P5`5v666@77;<HAPCD.lDDE8H.HDHZIr`IIJPJhS(S8TH UXUhdVxXY\Y<_P_$tDT T"0/"##4YT$%l%%$&T&t&&&&'04'd4(T*@d*Tt*h*|***+́D+t+,$...̂.t////0/D0X0l00141T1ԃt1111$181X2l$2T2t22Є223$3,43@D3Td3pt3333Ѕ4$445ĆT5d5t5(5P6d6x$6t66ԇ6D77(7P8lT8t88Ј8888,9@$9TD9tT9t999̉9:$:4:(T:<t:\:p::$;Ċ4;؊T;t;4Čt>،>>>>0$?Ld?`@̍BDB,BPBhTCCCЎDDDDD(ELEtEEEF̏F$FDFdF,tF@FTFhF|FFDGܐH,$IHIJKPPP$Q44QHDQ\TQpdQtQQQ̓QQ$R4R0TRDdRXtRlRRdSĔtSS(S<SPSdSxSTDTĕUDDUhUUTVVԖVVVV,WL4W`TW|DXXXX(YDYXZl$ZDZTZdZĘZ[,$[D4[\[[ę[ܙ\$\,4\DD\\T\td\t\\\̚\D_|d___`$`$D`@`t`a$aDa̜acdTcdcȝtcܝcc c@d\d4eheПeDfTfgXdgءtgg|h$h$ioXqr4ss4t`tuuԤ4vvx8dxddzz4{̥{{$||P}$ą<TTD@$ldTġ\4 $xtĬ$$4T ԭ , D$ Xd x 4TtȯPdȰ@4|Ṯ@4tdT4!ԳD!$L$`$t$$$$ĴD% t%T%%4&,t&L&&'ȶ)D,`.02Ld448>@44A|dAdCCdC$DtMM VTWh4XDXTXXTYLYYYZ$ZtZ ZHd[[[t\\4]x4^^$_T_@d_T_Ta4b4bTDde e e4eHe\epf4ffffg0dgDgX4hDhhh4iii jT4jhtj|jkdkkldl0lD$mXmlmmmm$no(o<oPpdpx4pTptpppppq4q,Tq@tqTqhq|qqr4rTrtrr r<rXrts4sds$tDtdttt4tHtduxTvDwwdxxDy8yLzhdzzT{{4||H}d~TĀ(āThDtDą$DdԈD0dLhD 4( @ d   4   4, D@ TT tt    4 4 ԏL d  4 T   Ԑ< X t T t   ԑ( T Ԓ   $$48DL4T t8ԔDd \Tt0dtTl(@ę\tDԚ,HTědlԜ$d(Hĝ\x$Dd$(`ԡ$$D8ԣLtĦ dDԫ$DLı dh|DdD@d\Ĵ$$XdtTdx$d@4\ $ $8 4L D` Tt    T !$\>(>T)>*,?+|?-?$-?4-?D-@T-@.P@.@$0@1@24A4tA>A4?A?A?A? B?(B?8D>d>>?Ј??0?L$@`d@@@@ĉDADB<TBXBlBBCЊtDD(D<DhE|DEtEFЋFF(GdGxdHTIdII0IXIlJJJЍdK KH4L\LtMMNNHNxtOȌOPdP P<PXQtDQdQDSTSS SDSXTlTTdTtT̑TTTT4UP$UlUtV̒VW W $W44WHDW\TWpWWWX4XԓdXXXX$X8XLX`YtY$Y4YTYĔdYؔtYYYY(Y<YPYdYxZtZZĕZZZZ$Z8[[$\ܖt\\@]T4]d]]]^($^<^^^Ș^ܘd_(t_<_h_|d`t`ș``4a0ahbcؚc(Dd`Tdtddtddděd؛dTe eHfd$f4ffМfgDg g$Dh\djj̝jk4k$Tk@khkk$lԞtllmDTmlmn̟$ndnn$n8oL$o`opؠppq0DqXTqlrȡsܡTsss0sDtXt4uduv$v0vpxxDxtxx$Dy`ytyzzzD{$|H$|\|4}}~T4~pd~~ĦD,HDĂP4dTxt4DlTćԩԇ$8$L4`DtdĪĈتԈ$D(d<Plĉ$ܫDd4ĊTt$tܬԋ \dԭT$LDtĮ4Ԑ<̯D,\ĔpdԕD Th|D4 d4H|tT,@TԛĜ,tĞԞĴش$D<ԯ4ԵԲ4$dTxdԴ(ĵpԶ̷$40DDTXd8Dhd̹$0DDdXdtԺ0DX$ԻDTddxtT$PtpdнT0PlD4ܾH |DlT8T"4#$%(%<$%P4%dD%xT%d%t%%%%%%%,&@$&TT&ht&|&&&&'4' T'(t'D'`'|'(D(t((((D)X$)td***D+8+`+4,,,$-(t-P-x.T00$0TD1t11222Hd3|333D444H5\D5p5$66 7@47Td7h7|8t9 d:TT;t;;;;;;tDdMNOdO,O\P4PdPPDQQPRSSSSS0SDTXTl$WX^L$d|Tf$iDDiXdilidjtjjj0jDjXjlll$ll(mXTmxdmtmmTn$odtoopdppq$TqDqdqDrrr4ss s(t\Ԉ4$|$dHļ$Լ<P$lDtT4Tt$tXl448TT$(4<t$t\T T$XdxDTd LD @d dl$8|$4hT44`T $T444$   T d L8|D$h4D0P4DXD  P!t"d#t#(#H$hd$$%D%&Pd() +t+T-0.00@143$4PT4p44d566T77d8\8<9D:|:\;<|<<4=t==t>4? ?<@AAB(dChdDEF<HhtIDJKKhL|TLLLDMMM<tOQ tR`STVtWX@YZ\P\$]T]] $^P ^$ d_p ` `P ta b b Dc c dd d ep f0 Df f DgH ht $h Dh dh h h h h h$ h8 iL i` $it 4i Di Ti di ti i i i 4jH j 4k k kllDdo$ppq(qPr|rrrrrrss0$sD4sXDslTsdstsssssTt@ttTthuuuxxP$yxy$zz${$d{{{84|||T}T}}h} 4~(~D$x$t0lԄ$4XD44LTԌdDԍ4xDHԎ ԏ 4P$l4ĐD0dp$4@x4TtLğT<hĥ \L$`$4D T$ ` t $ d    İ!ԱH!\!!!!$!4,"D@"Tx"d"t""#$#\#Ĺp#Ժ###$4$P$d$x$4$T$d$$%8%4d%T%%&t&D&& 'P'4'(,($(t(t(t$)l)))*(*`**$*$*4 +p+D+d++++ ,D,$X,4,D,T,d,t(-<-t---- . .X.l..$.4.D/T> 0> D>$ X> > > > ? $?4 8?D L?d `? t? ? ?4 ?4?T??@@(@<@P@d@$x@4@D@d@@@0ADApAAAAA$B40BDDBBBBC$(C4DCDXCCdC,DxDDdDD!(E!HED"hE"E'E4(E-PF-pF$.Ft.F/F0Gd08m>\n?oD@Tm@t>>>?D?l??d@t@@@@@,@@@TAhA|$ADATAdAtAAABLCp$C4CDCTCtCCCCC$C8TDtDDEF4FDFxFGG$H4H TH tH<HPHx$IDIIdLL(L<LXMlDMMMM$NdN N8$OttOO4PPPdQQ(R<dRPRlTSSSTDTtTT0U\DUptUUWWW(W<XXX4Y YHY\Y$ZZZZ0ZDd[t[[[$\04\Dd\p\$]4]d]]]8^pD__T`0`h`|aaDbbHb\ccddddd0edex4ffffffDg$jtjjzRx $;3FJ w?;*3$"DHo\` p\X0Ac D l0Ac D # #[ ܦ zPLRx] ,$ȦWfAO F DF d DA dTcfBBB B(A0A8GP 8A0A(B BBBG I 8A0A(B BBBE (zPLRx P0$nqe0 D X l #4@#[\#,xGeAO M DG a DA dX&SeBBB B(A0A8GP& 8A0A(B BBBG I 8A0A(B BBBE 2mqe   x+  4H$+\@pLXP+lx|x(t)DQ K CH\ HSx(AI YDȭԭ:AD sA0DHO`tHOAL0AADF S FAK IFAXBED A(G0Z (C ABBK X (A CBBH P(C ABBd~Ac,TL'aBAD z ABA 88N`ADD i HAE D AAA LH$D%ADF WAA@LTTh(LK7`Hq G A G AAL:Dt pAG Z AA  ,:D0u$Ta_AG0R AA @ AL\ :Dtt DS D [ A]   įAQȯ^ 0 D ȯAQd ȯx į ЯAQ ԯ2I   AQ  , AQL ` t AQ TKG0@A X  T `AQH dBED A(D@} (C ABBK H(C ABB(D ذEBDA zABXp }BBA A(G0B (A ABBK D (F ABBA D(C ABB    , D T\ LBA A(GPzXL`OXAPI (A ABBD i(D ABB    %HX %HX<б2I, }oZAAG  AAJ zPLRx  (|b3Z, #+ZAAG  DAF pDbZ)PT bYAG H \-Y(tgYDA K HĴ%YuDX A 2I2I2I@9Ah djAn A t A $<Dv F _ I O E dDQ| DL($0,(AQ,AQ00,D(X$l DP(DP,0`BDG G0G AAB `EOHaJ F zRx 8_`D B J H8ԷBED A(G@\ (A ABBA D(C ABBNI8PBGD A(G0 (A ABBC L|GVBBB B(A0A8G 8A0A(B BBBJ ,zPLRxi 4] U0@7UBBB A(A0G`(zPLRx `0]U CAk L A A $8L`ܽtؽ XԽ9TPaG $3ADD0dDA  4H \DIt]AI F LHjAAD SDzPLRxŏ $\ SXT ,PD@\ DTXhT |PDX=AP G `<xRBBD C(G0 (A ABBG $zPLRx 0,ZR 4;Ab M A A XԾDABtDBDD 8jA&DaAQAQ<P̿AQhlпIBA A(G0e (F ABBD S (F ABBJ D(C ABBDC0T4IAQ4Hd4\pAQ \A] B ,COAFG [ DAB  XO4,LAED | AAH L0WODI A WGO#ODI A $`WO4Ld|AQaBBB B(A0D8D@ 8A0A(B BBBE  8A0A(B BBBI L 8F0A(B BBBE g 8C0A(B BBBE lAQLjBED D(F0g (C ABBD Z(A ABBAQ00vADD0^ AAG @DAdHDxTD`lAQ0puADG@W AAK }FA`>BBE E(A0D8D` 8A0A(B BBBE f 8C0A(B BBBF LTKBED D(G0a (A ABBC D(A ABBAQ1]NLSA\0RRUH NJGED D(K0_(A ABBDA0R J` ^wJLEE E(D0D8F`]8A0A(B BBBHA`(zPLRx} `0KRHIL(nIBEE E(D0D8GPo 8D0A(B BBBD +RZI DF PLvIBEB E(D0D8G`y 8D0A(B BBBE R]_IL d_IBBB B(A0A8D`F 8A0A(B BBBA QIIT| VIGEE D(D0L@b0A(A BBBAA@(zPLRx @0QFH@!FHFAG0K AAE [AACA0 zPLRx 0(iQMSH" L!f?HGAD G0N  AABK k AABAA0$zPLRxe 0,QPGl#`#lAQH#pBBE E(D0D8GP| 8C0A(B BBBK \#$QBBE E(A0A8DGgE 8A0A(B BBBJ PH$$BBE E(A0D8DJ 8C0A(B BBBC $l#FBAA D0#OFA0$m$$Q@ %pKED H(G0j (A ABBE @<P%KFA D(G0w(A ABBF%<%GA} B F%GAr E N %8cNB H CE&RA F ((&[BAD PAB T&j E CA,x&{AAS AJ N AA &$K&`rUd G q&/&38'GDH @ ABJ WABF8@'\BED A(G0@ (A ABBG $|'R G fBH'hYBA A(G0} (D ABBF &(D ABBAH0`H0? (D ABBH X,(BEA A(G@h (C ABBH Q (A ABBA U(A ABBX((BBA A(D@ (C ABBD U (A ABBE S(C ABB(#H(oBBB B(A0A8G` 8D0A(B BBBE lD)[ BBB A(A0G@ 0A(A BBBB  0A(A BBBE O 0A(A BBBI zRx @(`K@)AAD j AAF w AAG  AAA (0*AAD0 AAC H\*<BEB B(A0D8GP 8D0A(B BBBE 4*zAAG n JFI S CAI *cNt F SED+8oBAA R ABG  ABG  DBJ DL+`BAA  ABF  DBE  ABN L+xCBBB B(A0A8J) 8A0A(B BBBA (+8A\JG0CAAF,A= PIB B(D0D8G@ 8A0A(B BBBN t 8A0A(B BBBB  8A0A(B BBBE <,LJBBE D(C0 (A BBBD ,,MbKBB B(A0D8Dp 8A0A(B BBBA ] 8A0A(B BBBA  8A0A(B BBBA KHh-QBHB E(D0A8G@ 8A0A(B BBBF 4-SRBA A(D0(A ABB4- TMDD ABE` d$.TRBE B(A0A8DPHPv 8F0A(B BBBC 4.PX^AC FF J K E T.x]UBBB A(A0DP 0D(A BBBD q 0D(A BBBD /^&NN4/^2I.^9;<NPCh/^)|/_e0`.\_.<BAA  ABI $zPLRxu  ,E;d.`;BBE B(A0A8DP 8E0A(B BBBB } 8A0A(B BBBI KAAG0AA4>ؠHBEH G(G0a(D ABB?0?D?X?d+l????? +?(?4?@@8+(@T<@`P@ld@hx@+@@ @@+@,@8ADA@,@<$.AAG I DAE 27_.xA$A0A<L@8B.BBB F(A0A8GP~ 8D0A(B BBBH @ 7-L@ @-QBA A(D(A ABBDP(zPLRx%c 06)[-B̦8lBII` G XB(8A$A-ADD  DAF D AAA 406A,(LC AG s AD CAxC=IT C X@hB,BBB D(A0 (A BBBA (zPLRxa 005%O, Dܩ9`C7,KBB B(D0A8JP8A0A(B BBBJHPB45,(D,JBGD i ABE (DP4BAA lABDCd +BEB D(D0D@ 0A(A BBBH P#65+lEu\[ I tP\Dp5{+BIL B(A0A8G 8A0A(B BBBA ,zPLRx_ 44o+(F5Dp@F/&M`AW8MdAWTMhAWtMhVM*MM~M8 M4M@ARNDNP@M\%BII D(E0 (A BBBA  Z.E%<\M5%BBE D(G0 (A ABBA 7.$N8%,MTS$AAG p AAE @-$,Nl$$AAG I DAE @-{$,XNTak$AAK E AAE  ,oH@$. AAG I DAE xb ,o0@ AAG  DAF b ,$p@$ AAG I DAE cV hlp@ BBB B(A0D8Gp% 8A0A(B BBBE  8A0A(B BBBD W hpEW BBB B(A0D8Gp% 8A0A(B BBBE  8A0A(B BBBD 4 0tqJ IAD  DBH Cb ,qlK$ AAG I DAE d* 0rTK IAD  DBH C ,TrK$} AAG I DAE 8eU <rK8G BBA D(G0 (A ABBI ]n4 ,rM\ AAG A DAE eZ ,Ip,@OBID t ABA L\d$HKl N <$(ATD \AT,|5AAK0] AAA TjAWAW,AWHAW,454AAK0] AAA  k  AWȍAWAWD N${AG r DB zPLRxQ  (`EP<LsCBED E(I0N (A ABBA wMԎ"DU(4 _BKD D0}  AABA Ll4\jsBKD D0H  AABA lrG܏ DI(AL,DI44_BKD D0}  AABA 8m4HDjBKD D0H  AABA mȐdDIlAL4̏p_?BKD D0}  AABA  n24jBKD D0H  AABA \nDIAL4_BKD D0}  AABA n~g4jWBKD D0H  AABA 0o>+p܅DIAL4t_BKD D0}  AABA o4đjBKD D0H  AABA pDDI\ AL4H$_;BKD D0}  AABA p44jBKD D0H  AABA pTDI0\ALL`DI44h_wBKD D0}  AABA tqJK4xj;BKD D0H  AABA q DIAL4_BKD D0}  AABA Hr4XjBKD D0H  AABA rVcؕԆDI܆AL4ܔ_BKD D0}  AABA s4,jBKD D0H  AABA lsDIĖALȕ9[Hl43?Hf8TL`ALhdALhALlAWpAW<ؗtBDA D(Gm (A ABBA 4UBCD G+  AABA , E ACG k AAE $FAI zA<TBAG K ABH ] ABE 8il(`<BBB E(D0D8G`~ 8A0A(B BBBA  8A0A(B BBBF <BDA D0N  AABC m AAB,BAD G` AAB D@ D q A <4zBHD G`h  AABG h FAB@tXBAA D`L  AABH   AABF HGBBE E(A0D8Lq 8A0A(B BBBF ԙHL A \Po0 gBAA j ABA kKDXTCBEH A(A0D@ 0A(A BBBD y(@̚BEB D(A0B (A BBBA hXtX><< BEA D(D0@ (A ABBA Ĝh<twBBA D(D0 (A ABBA (O0AW4L=BDD _ DBI AABAW4 =BDD _ DBI AAB؝@ BEB A(A0 (A BBBA XZ_(HĘ5BDD gABtؘԘ<lИ(BBA A(G0 (A ABBA DĝBEH A(A0D@ 0A(A BBBD <}T*@8BEB D(A0B (A BBBA [xgğH><tKBEA D(D0@ (A ABBA (#0#A]4LЛEBDD f DBJ AAB,SBGB A(K0G zRx (X(<Pܟd؟2Ix2I02I\2I 6AID \q&x 6hAID [&L 6<AID ԓE&  86AID /& t6AID L& AC BK$zPLRx  ,&{ (6kAID &O P,6?AID (&# 06AID d& Ȣ46AID &48H4\@ALxD2IhpBEE A(A0DPk 0C(A BBBI ] 0C(C BBBG \0C(A BBB  4H\HOxAL`xGBAE A ABD _ ABF Z ABK ] ABH Z ABA LvDxCBEE D(A0Dp 0A(A BBBJ lr\[ I q \4AAK 4+&ȦܦAL < AAD _ AAI M DAF \DA<0lBBA D(D0 (D ABBH bI,̧D@V F IPIHA@ C (LQ  L PH O I <P|3(d4BDC gAB`BBB F(A0D8GPs 8E0A(B BBBG \ 8F0A(B BBBE ,ħ6[BAA i ABA dy(%C(<^BDA SABh$SHFhAL,lBAD  ABL 0ЩLBAA D0  AABH DWFD u A ,8BAD G ABG hd<|p{BDA I0X  AABA I AABeL } G HܪE(AC BEEFb.e C c E <6~AC BEEF^.e G _ A ,4 QBOD [ ABE Ԓ^ K\KHO,ALH\pAL4:BGD Q ABG GDB%HX-~H`8fbBAE q ABD Z ABA N.Xr\[ I qHHTFBBE D(A0D 0A(A BBBF (zPLRx 0rPnBBB E(D0A8D 8A0A(B BBBE X}rPD|BBB E(D0A8Dt 8A0A(B BBBF }]N >AID0|+0D( X$DF D(D0Ix$DF D(D0I$DF D(D0I$DF D(D0I$DF D(D0I$ 4 }AK@NHFPFXD`h@V AG KADh#DM D(D0Idx xt |DF D(D0I|DF D(D0I|DF D(D0I|DF D(D0I |DF D(D0I@| 4Tx}AK@NHFPFXD`h@V AG KADI D(D0I ,qcAAGPN DAA zPLRx P(, AC Cd.c.^ A l4X$AC BEEEDb. u A 8l,rAAGPO DAA :t,dAC Cd.d.^ A L @480AC BEEED_. u A 4AG OEi. b I c.h4AG OEi. b I d.\XD He K x [HA G  He K d [HA G  He K  He K kPD L kPD L ` KPe K |P KPe K  [Ps M  [Ps M  [Ps M P [Ps M  [Ps M $ [Ps M @[Hy O \`SPm K xSPm K [Hy O ,[P{ E p[P{ E [P{ E [P{ E  <[P{ E  cP| L \[P{ E HcmP| L d{H] K {H] K ${H] K {H] K DcѼBBB D(A0GP% 0A(A BBBA L0 BBB B(D0A8G`_ 8A0A(B BBBA lh,dmAAJ@V AAA ,MAAJ@W AAA D$-BBB A(D0GP 0A(A BBBA DPBBB A(D0GP 0A(A BBBA LTSBBB B(A0D8G` 8A0A(B BBBA LdSBBB B(A0D8G` 8A0A(B BBBA 48tpBGD D@{  CABA 4ppϻBGD D@{  CABA LBEE E(A0G8D 8A0A(B BBBA LnBEE E(A0G8D 8A0A(B BBBA xd`\X0TA} J N J N J N J N0A} J N J N J N J N8L I}AG Gz G g. d E Q.8<`!GTAG Gz G j. d B Q.<xt" +AC BEEEDe.v D c A <D# AC DEEDf.y K _ A ,$ ϹBOD [ ABE Z^?t. ,X.0AAK X AAA <X|.AW.AW.AW$.AW,.0pAAK X AAA Ht.AWx.AW|.AW.DM A 44׸0h.BFD G0  AABD 0/GGD  ABF m/ /)/ /)//AL</ݷBFF K ABD v ABA l@0P|1 4x1UBEA A(D0~(D ABB1 41UBEA A(D0~(D ABBL1BED D(F0Q (A ABBD \ (A ABBF Dh2BBB B(A0A8DPx8A0A(B BBB8l2OBBA A(D0v (D ABBA 82OBBA A(D0v (D ABBA (2 <238 2QMAC hABDI ̩Lt2BEB E(D0D8GP| 8D0A(B BBBJ  | K<`3CBBA D(F0 (D ABBE \D d4PH4BEE A(D0 (A BBBC L (A BBBA d4yBEB I(A0A8JP 8A0A(B BBBA O 8A0A(B BBBA 45CAd K KP$5RBEE A(D0x (A BBBH L (A BBBA dxt6jBEB I(A0A8JP 8A0A(B BBBE O 8A0A(B BBBA |7CAd K KP7]BEE A(D0 (A BBBC L (A BBBA dT8rBBI B(A0A8Jp< 8A0A(B BBBG O 8A0A(B BBBA P:CAa N K :P|:BEE A(D0 (A BBBC L (A BBBA dD;BEB I(A0A8JP 8A0A(B BBBI O 8A0A(B BBBA @CAd K KPD>]BEE A(D0 (A BBBC L (A BBBA dP?mBBI B(A0A8JpD 8A0A(B BBBG O 8A0A(B BBBA @CAa N K(A0DA>pAKA8AJB6,'@' TB{AG z AE xtB{AG z AE (BAEG0 AAJ dEAD  AD FAD ~ AD (QFD ]DAH <LBD A(G0 (D ABBF G (D ABBA    D[< 3[$P 7AMI ZDAx Զ>c  H eBHD D(G0f (D ABBH K(D ABB( ,KG s IJ I DK , ALH =e$\  (AGG IGD$ ((AGG IGD 0@ ,lBGA D0A  JCBJ O  DABB  X T@e(, *BDG OGBX  l 8] .( ȹAAG F DAD 0 ,JDK@rAACX@ .wTK A I8 BBA A(G0W (D ABBC T <h BBB A(D0v (D BBBE 8 BBA A(G0} (D ABBE  X$ T(AGG IGD$ \(AGG IGDHd8\`BBA A(G0l (D ABBF ԼH|8 sBEA A(G0C (A ABBG 8PsBEA A(G0C (D ABBD 8F(LнfAG ^ AI S AD xAG0v DF DˆBBB D(D0J@F 0D(A BBBA <{BBD C(G@~ (D ABBA ,DK\ADG0T DAA 4hdGAD xDBFP AU)]ܿ<Ab A [AJ s AA <2AX A ,`KAq A HAUd)]xAX<dBBG A(DPV (D ABBA X T@e4<BED G(G0I(G JBB4 H4\CBEG D(G0Y(G ABB (9BDD gEB$AX@AU,\BAD G ABG ,0AKJ0R AAA  (qBAA e GBN $8L `%Qt% %<%X%t|x(< P|d x | | xt ,p@l RTxht |peAz E I A )ALAL`(BBB B(A0A8DP 8A0A(B BBBG R 8A0A(B BBBD @ (<*BDG RDB$@GAAK tDA8hyBBA H(D0M (D ABBI 0 (D*BDG RDBp0PpGEB A(D0v (A BBBH A(H BBBA (*BDG RDBH,}BBA A(D0Q (D ABBD D(K ABBx (*BDG RDBHpBBB A(A0I (A BBBH A(H BBB4 (,0*BDG RDBX4D4lpbBBA A(K0G(D ABB (*BDG RDB0$QAAD HAA4 AAD N AAJ T AAA 4XdAAD a AAG X AAA 4gBEA A(D0S(A ABBL4BBB D(A0R (A BBBD R (A BBBA 4AAD J AAF T AAA Pdx K~ A 8@BBA A(D0T (D ABBI 8ASTATp8}BBB D(A0| (D BBBG 2;0St N4xKAG0^AAEX0xHLBFE E(D0D8Gp 8A0A(B BBBH QQU J VJQL$/AAG `DAQL$0 )ADD YEAX.YL$t(7AAG hDA$@/AAD bEA(HAAAG c EAA lDAj A $ 7AKG ^DA$4 CQFD aEAH\ LBD A(G0 (D ABBF G (D ABBA  $ 0DZ 42Z$ `:ALI ^DA!x:_(!f$!(AGG IGD$ "(AGG IGDH"X\"BEB A(D0D@B 0J(C BBBI \ 0D(A BBBI "$ " Af("\*BDG OGB #`  #\8]4#.,H#uBAA F ABC 0x#JDK@rAACX@ |"p.sTK A I8#|BBA A(G0[ (D ABBG  $< $BBB D(A0{ (D BBBH 8`$|BBA A(G0 (D ABBH $P$$L(AGG IGD$$T(AGG IGD%\8%XBBA D(D0r (D ABBH P%Eyd%(x%dBDD } ABF ,%XdBDD @ ABC %F(%fAG ^ AI S AD &AG0v DF 8&D%pBBB D(D0J@F 0D(A BBBA <d%{DpBBD D(G@} (D ABBA ,%HKpADG0T DAA <'hBBB A(A0l (D BBBB D'AU`')]t'=Ac A ']AJ u AA '82AX A '\MAs A 'AU()](AVD'nBBB G(A0DPV 0D(A BBBE (\ (X>f4(<BED G(G0I(G JBB((4)KBEG D(G0Y(K AFB@)T)h)|))()9BDD gEB) AV)AUL(lBDB B(D0A8Gx 8D0A(B BBBE \* (p*CAAG f IAE * * ***+ + (+<+P+d+x++ + +++)+,,,, @,, HS\,0 HSx,4 HS,8 HS,< HS,@ HS,D HS+H%[jHX+X-?jH`,h%#jHX4,x-jH`(T,IiAAG vDA-AL-- HSL,:wiBEB B(A0D8G 8D0A(B BBBI $L.DAS D N J S$t.FAHG pDA$.FAHG pDA$.(FAHG pDA$.PFAHG pDA$/xFAHG pDA$LA@ A `>LA@ A >,LA@ A >\LA@ A >LA@ A >LA@ A ?LA@ A  ?LA@ A @?LHAF\?HAFx?HAF?HAF?HAF?PHAF?HAF0@BDA D0y  AABH x8@4 BBE B(A0A8N 8A0A(B BBBK IDBBB_nIDBBB_rBGI\NIDBBB_tBGI\LLGI\AGBFKEDBBBQBDBBBC~LGI\PIDBBB_zIDBBB\MIDBBB_-DBI_DBI_pIDBBB_^IDBEB_BGI\DBI_`LGI\xDBI_rIDBBB\XB,0BLE E(A0D8G`RhVpDxBl`s 8D0A(B BBBB XC-0BLE E(A0D8G`RhVpDxBl`s 8D0A(B BBBB \lCp.BBB E(D0A8GlOGAq} 8D0A(B BBBK C 07BEB B(D0D8GvRGGlG 8G0A(B BBBE zBGGKD 8A0A(B BBBE t\D1 BLE B(A0A8JUGGn 8D0A(B BBBD %AJGXPCh;vCUBBB I(D0A8Jo 8A0A(B BBBI PCLv3UBBB I(D0A8Jo 8A0A(B BBBI 4LD]#UAC BHl.k.A J G.8Dh^TAC DEED_.[ H i.E]yF_F_,F_@F_TF_hF_|F_F_F_F_F_F_F_G_G_0G_DG_)XG_lG_G_G`G` HSG` HSG` HSG ` HSH$` HS4H(` HSPH,` HSLAC  ABH 8Hg4FLAC  ABB ABGpgHqLBB B(A0A8GP;XE`JXAP 8A0A(B BBBJ :FPlgTqLBB B(A0A8GP;XE`JXAP8A0A(B BBBHPP<hhdZBBB D(D0 (D BBBG HhfBBB B(D0D8G@ 8D0A(B BBBG LhFBBA A(G0 (A ABBE D (J ABBE LDiYBBA A(G0 (A ABBA D (J ABBM iAiGPh0z4BIF A(E0 (A BBBI P (A BBBA (j\ADG AA@)BBA D(K0M (A ABBA @u$)BBI A(H0 (A BBBA <v% (BBA D(G0 (A ABBA LXvd&9(BBB I(A0H8J@ 8A0A(B BBBA (wT'ADG AA8v(l(BED A(D0(D ABB8w)9(BED A(D0(D ABB8Lw *(BED A(D0(D ABBHx*BED E(J0 (D ABBH L(C ABByH+yD+CAd K K8yt+CAd K KXy+CAa N Kxy+CAa N Ky,CAa N Ky4,;A^ I KdxT,&BEB I(A0H8JP 8A0A(B BBBE O 8A0A(B BBBA dy|-l&BEB I(A0H8JP 8A0A(B BBBG O 8A0A(B BBBA Pxy.]%&BEE A(D0 (A BBBD L (A BBBA dy/F%BEI E(A0H8J@ 8A0A(B BBBF O 8A0A(B BBBA P4z0%BEE A(D0x (A BBBH L (A BBBA dz$1Ye%BEI E(A0H8J@ 8A0A(B BBBF O 8A0A(B BBBA Pz2]%BEE A(D0 (A BBBC L (A BBBA dD{(3F$BEI E(A0H8J@ 8A0A(B BBBF O 8A0A(B BBBA P{4$BEE A(D0 (A BBBC L (A BBBA P|4X$BEE A(D0x (A BBBH L (A BBBA dT|85Y$BEI E(A0H8J@ 8A0A(B BBBF O 8A0A(B BBBA P|06#BEE A(D0 (A BBBC L (A BBBA @~6.AR E N`~6.AR E N~6.AR E N(p}61#AEK DA}7 #A}8"A}9"A}:"A~<"A<~=}"A\~;a"H|~<E"H~07)"H~0>@ "Hs~08!Hr~`=!Hz9!Hz<:!H(\=r!ADK _AA($>zY!ADK gAA(x>1!ADK AA ?A~Dp? BEA J0  AABE D  CABA D8@8 Hk<dX@ BBA D(K0Z (A ABBA @@  BBI A(H0 (A BBBA <Ac BBA D(K0M (A ABBA @(A8 BBI A(H0 (A BBBA <lB  BBA D(G0 (A ABBA LCABBB I(A0H8J@ 8A0A(B BBBA (,DADG AA8(4FBED A(D0(D ABB8dF^BED A(D0(D ABB8\G+BED A(D0(D ABBH GBED E(J0 (D ABBH L(C ABBXHlHCAd K KHCAd K KHCAa N K̄ICAa N K@ICAa N K pI;A^ I KdIBEB I(A0H8JP 8A0A(B BBBE O 8A0A(B BBBA ddJBEB I(A0H8JP 8A0A(B BBBG O 8A0A(B BBBA P̄L]JBEE A(D0 (A BBBD L (A BBBA d  MNBEI E(A0H8J@ 8A0A(B BBBF O 8A0A(B BBBA PMBEE A(D0x (A BBBH L (A BBBA d܅NaBEI E(A0H8J@ 8A0A(B BBBF O 8A0A(B BBBA PDO]=BEE A(D0 (A BBBC L (A BBBA dPNBEI E(A0H8J@ 8A0A(B BBBF O 8A0A(B BBBA P|QBEE A(D0 (A BBBC L (A BBBA PTR}BEE A(D0x (A BBBH L (A BBBA dRa@BEI E(A0H8J@ 8A0A(B BBBF O 8A0A(B BBBA PSBEE A(D0 (A BBBC L (A BBBA HT.AR E NXT.AR E NԉhT.AR E NĈxTVA(U:AEK DAlWA0UAPWHpXAYAZAЉUjH[@NHsS2H0 [HrPYHzpXHzXK8J6$(AEG DA A(HD}Aw`A|AAA$,AEG DAd}AwHA0HLAhAAAHyHyxHH,vHiHvHidh~Hq~HqP~HqD~HqHH$ ACK mAADBAE x ABE S ABB M ABA | . 8A0A(B BBBJ HTzZBIB A(D0G 0D(A BBBJ ,)AKG`[ AAH <4(BBD H(K0 (A ABBA @tYBBI D(E0 (A BBBA L$BEB E(A0D8KP 8A0A(B BBBA LdBIE E(A0E8JP7 8A0A(B BBBA $yADG jAADL)BBB D(D0Gp  0A(A BBBC PBIB B(E0D8JL 8A0A(B BBBH P` BBB B(A0D8G] 8D0A(B BBBB Ppk}BBB B(A0D8J 8A0A(B BBBD 8D4$BAE x ABE S ABB M ABA $P|CAEK fFA<HBBD H(K0 (A ABBA @dIBBI D(E0 (A BBBA LppdBEB E(A0D8KP 8A0A(B BBBA L3BIE E(A0E8JP/ 8A0A(B BBBA $qADG bAADhBBB D(D0Gp  0A(A BBBG PBIB B(E0D8J< 8A0A(B BBBH P0<sBBB B(A0D8GM 8D0A(B BBBB P[/BBB B(A0D8J 8A0A(B BBBD  D BAE x ABE S ABB M ABA $d8 CAEK fFA<\` sBBD D(G0 (A ABBA L KBBE B(H0H8J@) 8A0A(B BBBA L0BBE E(A0D8G@2 8A0A(B BBBA L<BIE E(A0H8JPX 8A0A(B BBBA $ADG AADhBBB D(D0Gp\ 0A(A BBBG P@jBIB B(H0D8JZ 8A0A(B BBBG PP  1BBB B(A0D8G] 8D0A(B BBBB PkBBB B(A0D8J 8A0A(B BBBD (D BAE x ABE S ABB M ABA $( CAEK fFA$P ACK pAA<  BAE E ABH U ABA !.($!? <P!nbNHh$`"dD cFOp @d#AAG Y AAD _ AAG D GAL ##5Ao$6AQ F ]@ $BIJ D(C0 (A BBBA p0$YUFB A(A0DPJ 0A(A BBBK X 0C(A BBBF PPP,&wBAD Z ABD &'XP'BIB B(A0D8J 8A0A(B BBBB HT+BIB A(D0G 0D(A BBBD 4-xBHD G`  AABE </UBBD H(K0 (A ABBA @0d(BBI D(E0  (A BBBA L\1BEB E(A0D8KP 8A0A(B BBBA L3BIE E(A0E8JP@ 8A0A(B BBBA $,4yADG jAAP$4qBBB B(D0D8GF 8A0A(B BBBI Px7:6BIB B(E0D8J| 8A0A(B BBBH Pp:,BBB B(A0D8G 8D0A(B BBBF P L=BBB B(A0D8J1 8A0A(B BBBF A<A`BAE E ABH U ABA $BCAEK fFA<,BBBD H(K0 (A ABBA @0BTBBI D(E0 (A BBBA LtDpBEB E(A0D8KP 8A0A(B BBBA L(EwBIE E(A0E8JP8 8A0A(B BBBA $DFqADG bAAP<G BBB B(D0D8G2 8A0A(B BBBE PlIBIB B(E0D8Jl 8A0A(B BBBH P8LBBB B(A0D8Gq 8D0A(B BBBF P8OhBBB B(A0D8J! 8A0A(B BBBF `S<\SBAE E ABH U ABA $SCAEK fFA<SBBD D(G0  (A ABBA LHDUBBE B(H0H8J@4 8A0A(B BBBA LVWBBE E(A0D8G@3 8A0A(B BBBA LX$+BIE E(A0H8JPa 8A0A(B BBBA $hdZADG AAP`ZHڿBBB B(D0D8G 8A0A(B BBBE P]XBIB B(H0D8J 8A0A(B BBBG Pa,fBBB B(A0D8G 8D0A(B BBBF P\c"BBB B(A0D8J1 8A0A(B BBBF  Lh<HhɾBAE E ABH U ABA $4 hCAEK fFA\ hp h h  h  h h h h h h$ h8 h L h ` ht h h h |h xh h h%HX h%HX<$ hBBB A(A0M (A BBBA <d iBBB A(A0X (D BBBA  iCaZ A F iGaY F F8 iBBA A(D0R (D ABBK < jBBB A(A0X (D BBBF <0 c8}3X8d}kBEG D(G0c (J DBBE (}MBDG [ DDE }Ch$}Fk84~FkLp~Ch`~Jot~Fk$Fk8`tBED G(J0i (G GBBE 2ZmDn E $xDy E ($AAK ~ AAC P d x=e%Y(,GADJ \ JAE (PGADJ \ JAE t%Y %Y eAv I I A D  X l  \ _BB B(A0A8DPs8A0A(B BBBHXP h (!d*BDG RDB$4!hGAAK tDA8\!yBBA A(K0M (D ABBI !ԃ (!Ѓ*BDG RDB!ԃ1P!pGBB A(A0} (A BBBG A(H BBBA@" (T"*BDG RDB" H"BBA A(D0R (D ABBK D(K ABB"\ ("X*BDG RDB #\ H4#XhBBB A(A0B (A BBBG A(H BBB#| (#x*BDG RDB#|D4#cBBA A(K0H(D ABB $ ( $*BDG RDBL$1$`$QAAD HAA($T~AAD Z AAA ($ADD l AAA 4$,gBED A(D0P(A ABB<%dBBB A(D0e (A BBBA (X%Ć}AAD Y AAA %%@|$KBBE D(A0g (A BBBA <$|BEE D(G0G (D ABBA 00&BGD G0m  AABK d&( 0x&$BGD G0m  AABK &0&BDD D0A  AABE &,%$S BED l ABA 8'T 0L'PBDD D0A  AABE '̉8c'Ck'4Ck'p$'l<AOG XGA' (  (|oA} A <(Њ (P(̊qBAA e GBN |( ((((( ())0)D)X)l)) ))))),)8)D *P *\4*hH*t\*p** HS* HS* HS* HS* HS+ HS,+ HSH+ALd+ HS+ HS+ HS+ċ HS+ȋ#AG VD+؋#AG VD,#AG VD4,#AG VDT,#AG VDt,#AG VD,(#AG VD,8#AG VD,H#AG VD,X#AG VD-h#AG VD,x%HX$,-ћH`D,%HXd,-H`(,X}AAG EDA-AL(,I9AAG vDA(.ALD.X.$ HSt.(.4 HS .8@AS D Y G .T2.2L-SIBBK B(A0D8Gp 8D0A(B BBBJ L. BHE B(A0D8Gpa 8D0A(B BBBA /|/|,.dM˙ACG l AAA ,.IACG h AAA ,.IACG h AAA H0đ"\0"$p0CAG f DF FD$0$CAG f DF FD$0LCAG f DF FD$0tCAG f DF FD1"$1"81Ԓ",0M[ACG l AAA ,L0I7ACG h AAA ,|00IACG h AAA 1P"1l"$2CAG f DF FD$,2CAG f DF FD$T2ؓCAG f DF FD$|2CAG f DF FD2("2D"2`"D1|BCD G0n  AABF m  AABA D1$BCA G0q  AABF m  AABA D@2̕BCD G0n  AABF m  AABA D2tOBCA G0q  AABF m  AABA 44( (4$ <4 P4, d4( x4$],\3pKACG j AAA ,3GkACG f AAA ,3IGACG h AAA 5З"05"$D5CAG f DF FD$l50CAG f DF FD$5XCAG f DF FDD4BCD G0l  AABH k  AABA D4(OBCA G0o  AABH k  AABA L6Й`6ܙt6ؙ6ԙ6Й6̙6ș6ԙ 6Й7̙7ș,5ę_?ACG ~ AAA ,(6[ACG z AAA @X6$GEE D(A0S (A BBBH 7К7ܚ78808BD88QX8l88|8h8t8888 9 949H9\9p99,h8N ACG m AAA 48ĞBFA G0Y  AABC :<(:8/BDG YAF@:<DJ\:0p:,:(Ph94%BBA G(G0| (A ABBK M (A ABBA :;<9BAG K ABH Z ABA <$:HBAA Q ABH Z ABA ,d:E^ACG d AAA ;Ƞ:AI nA;;DJ<ؠP:Ԡ֎BDA D(G0f (A ABBB ] (A ABBA |<PLA@ A T<pBBB E(A0C8GpxEdxDpO 8J0A(B BBBE H< BEB B(A0D8GpX 8D0A(B BBBD @=\LA@ A `=LA@ A =LA@ A Lp<.sBEB B(A0A8Jp# 8A0A(B BBBD =̩LA@ A >LA@ A 0>,LA@ A P =\7BBB B(A0A8J 8A0A(B BBBI >ȯLA@ A P=gBBB B(A0A8J 8A0A(B BBBI ?dLA@ A 8?LA@ A X?ĵLA@ A Hx?BBB B(D0D8Q 8F0D(B BBBH ?LA@ A ?ضLA@ A @LA@ A $@8HAF@@lHAF\@HAFx@ԷHAF@HAF@  BBB B(A0A8D 8A0A(B BBBK 40IAC BEELF.Y.Y D 4hI΃AC BEELF.Y.Y D 4I|AC BEELF.Y.Y D PId zBBB B(A0A8J[ 8A0A(B BBBG \K pK XK BBB B(A0A8DjGbAe 8A0A(B BBBG PJ  ΂BBB B(A0D8Gk 8A0A(B BBBG 4LhHLdP,Kp rBBB B(A0D8Gj 8A0A(B BBBH L$L$PK$h BBB B(A0D8Go 8A0A(B BBBC ,M-4@M-fBAD G@WHDPu DABxM.P\L . BBB B(A0A8J[ 8A0A(B BBBG M7M7PL7 2BBB B(A0D8Go 8A0A(B BBBC \N@pN@4N@ADXg`BhBpExBePF AE DNPABKD GABFy~  AABC HOB-BKD GABFy~  AABF <PO|DBKD DPbXM`DhAptPd AAB<ODBKD DPbXM`DhAptPd AABTO\E BEL A(A0DpbxLGAtpd 0A(A BBBA PNF 2BBB B(A0A8Q 8A0A(B BBBK PLORg ~BBB B(A0A8Q 8A0A(B BBBK 8O^~AC DLd.e.A B G.8OP_h~AC DEEDS.S D i.`HQ`RBIE B(D0A8GDGGY 8D0A(B BBBD QSQhgQdgQ`gR\gRXg(RTgc([PsMBDG [ DDE 8(\tskBEG D(G0c (J DBBE d\sKpx\sRw\0tRw\|tRw\tKp8\u|BED G(J0q (G GBBE ]Hu6^]tuRw,]uRw@] vyDz E \]pvkDo E (x]vAAK  DAG ](w ]$w ] w>f]Lw%Y(]hwGADJ \ JAE ( ^wGADJ \ JAE L^w%Y`^w%Y t^weAz E I A T^4xKBF E(D0G@~ 0A(A BBBG H@^|y_xy_tyd,_pynBB B(A0F8GPi8A0A(B BBBKPPP_y (_y*BDG RDB$_yGAAK tDA8_ zyBBA H(D0M (D ABBI 8`dz (L``z*BDG RDBx`dz0P`zpGBB A(A0| (A BBBH A(H BBBA`z (`z*BDG RDB azH4az}BBA A(D0Q (D ABBD D(K ABBaz (az*BDG RDBazHazpBBB A(A0I (A BBBH A(H BBB bz (4bz*BDG RDB`bzD4tb({bBBA A(K0G(D ABBb`{ (b\{*BDG RDBb`{0$c|{QAAD HAA4(c{AAD H AAH W AAA 4`c |AAD [ AAE ^ AAA 4c|gBED A(D0P(A ABBLc|BBB D(A0R (A BBBD U (A BBBA 4 d}AAD G AAA W AAA Xdt}ldp}@Pcl}CkBBE D(A0j (A BBBA <c} kBEE D(G0I (D ABBA 0e(~BDD N0j  AABJ 8e~ 0Le~BDD N0j  AABJ e~0eBDD D0A  AABE e,dTjBED m ABA  f 0 fBDD D0A  AABE Tf89dhfdCk|fCkf܀$f؀<AOG XGAff fNAt A Le2hBDB B(D0A8Gx 8D0A(B BBBE dg (xgCAAG f IAE g(9)c{}= 3;}=%D:a?DO l}d=9*k}(= 3"} =%D:a?DO l}<           -2 %2hx}/h    F'  :>}; };     .I  3Y38C Fi 72UP" Mq #:5XS >_49D 6Q16A -A5 *%HC JaU -(KFM}T: 0rak}4: !&/    p}{9 @,1}{99FKVvKx9 g  E      :  E  =8  =8  "2"29d9\9T@ @ @ $}  }0   $;[} 7A}  8    k{}  } a ,:5 P 9,i)]k,FySf5  qhB i  i } l}  d      Gxq  q        qq}(YETdiT}M$(   vA9" 3TF\ BP[%6N ( ( DK  $YT-  $QL%  ,lg8  ;o& y-;m}& y-<q& -<o}& -$K +HjZo!n( 5} ~%$C4S||(A`y(,N-2=C}8/)#BnGy~} /%5I%}.%D:a?DO l}.1 e}}.)2_UZ_j }}\.-0C#},.-'FvK}-%5I%}-%D:a?DO l}--#}}|-)$_UZ_j }}P--'#} -)$wJbOmrw},-%#},-'JqO|},0b-#g}}@,-#Ww\}},-&#o}+)$|G_Ljw|}+-$#n}+-$OvT}T+)Tp )Tp  * * * *1'0     (?1'0     (?        1';        (H1';        (H         * * ,$/CTO    ,$/CTO   )Tp )Tp 1'0     (?1'0     (?        1';        (H1';        (H         ,$/CTO    ,$/CTO        a ;    =G !- !- s5 )6nZ +W +&b +W +&b +W +&b +W +&b +W +&b +W +&b +W +&b +W +&b +W +&b "= g      r     X   W              X   W  $.$.$.$.$. $.$.$.$.@'}E ",9!1 $!B1Z:b*' ! *A 8,9K X$Q u    m    /8C8D$gbg$gbg+"sns+"sns;*;*$?h+?h& & 0Qz0QzFT}FT} 1 19Ve 9Ve 7p7pQxQtu[        v 0&^.a(J4l(J"iH ;x]s(idi+(ytyL4)jej+)zuzJ3 E E$?`0?b $e} $f~/QrE/QrEFTwFTw 1Sk 1SkC`oDap 5w5zX~AY|@u[        v ( (    &  g  !I   o  7R <WiBG/J\GK8W@O<WiBO/J\GK8W@O@@D Co@ DP^?yBTZ 7@D2q5zF^ 7@D7V` >]`#TZ 7@D@O= Co@ DP^?BTZ 7O=2y5F^ 7O=7V` >]`#TZ 7O=   <j+!Zv &FZB   <j, Zv &F\BQ>#$p}}0)G-"Ml.:H*6D*6D.:H*6D*6D3333qhAA        B}t@A      Q,8F(4B*6D11";I : g~"2@))A97"!"!!""""A97"!"!!"""" :0u)G9/O.:H*6D*6D.:H*6D*6D3333qh]`#W   72q D%q?BX    D%q2y5L    D%q7V` >]`#Y    D%qVZhVZh 7 :O.,h{ .;N*@5-;v?.:H*6D*6D.:H*6D*6D3333,8F(4B*6D11@LZ<HV!c";I : g~ g~"2@)qgHZn}          h "            }          h "            }YQ>s  !       1  R   YQ>s  !       1  R   A}%E%E%E=6$ C&^ Dd Dd Dd(7 `  4 `h4 ^j4 __(7 `  4 __:: 8t0i 7 =O1+j} /<OI9#$}}T  ptEbEbaddd bee e se gF e i$e h11e o?e @h1Le dZe xh2heweze}eDfedcd,xdweeeee -beeeeeeeee ee eeeeee0bdeeeeeeeeedededfdffcxbfufc@f f f f]bf ff, f"f%f(f+f.f8f1fe4f7f:f=fwCf!e8f8FfHfKfOfRfUfXfYf[f^fafofdfgfkfnfqfofdtf3bwfyf|fffffffAf*bf cf ff efff dffg g ffgffff f fff f f f gg g g,g,g#g #g :g:g1g1gLgLgCgCgRgRg Wgghg ,g_g_gddrg rg |g |g g g ggggggggO}}~~~~+~4~<~G~T~c~%2;@Ї  hЊ@pȋH pЍ0`؏P8pPhC_}hX} @  0 } @ } ~`  0 P ` ` ` P @ `  ` @ p/ 3  % (/ p2 # `, 0 ` " P x. 2 @! p' P. 2 ! $ @- 00 ! `$ ! `PP@ ` T    T    Pp R S@X   XX P  SSUUUUUUUUUU|UyUTTTTTTUb0. P. V ihhh hhhllh`Pmxm``pp`n`nnn8nonp`vvvvoop p0wPwpp@8qq8qq  hy  z @ P { P P P  `  ` ` @x| | P P |@ 0 }@ ~ 8~` p p~  ~ ȃ0P   P ؂  p   ` `  ` ` 0 ) H4 ,  " 5 * p5 ) / * Ѕ03 , # p4 * @4 + - P1  p P 0   X- 1 0! ! `،`XpXXhhXЎ0X hX``XPxXXhhX`8ؒhX0Pȣ`p H@hPx(ȩ8`8`xPxxp8pppp Hмpx0XxppppP(xp `XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ` (6FVfvƐ֐&6FVfvƑ֑&6FVfvƒ֒&6FVfvƓ֓&6FVfvƔ֔&6FVfvƕ֕&6FVfvƖ֖&6FVfvƗ֗&6FVfvƘ֘&6FVfvƙ֙&6FVfvƚ֚&6FVfvƛ֛&6FVfvƜ֜&6FVfvƝ֝&6FVfvƞ֞&6FVfvƟ֟&6FVfvƠ֠&6FVfvơ֡&6FVfvƢ֢&6FVfvƣ֣&6FVfvƤ֤&6FVfvƥ֥&6FVfvƦ֦&6FVfvƧ֧&6FVfvƨ֨&6FVfvƩ֩&6FVfvƪ֪&6FVfvƫ֫&6FVfvƬ֬&6FVfvƭ֭&6FVfvƮ֮&6FVfvƯ֯&6FVfvưְ&6FVfvƱֱ&6FVfvƲֲ&6FVfvƳֳ&6FVfvƴִ&6FVfvƵֵ&6FVfvƶֶ&6FVfvƷַ&6FVfvƸָ&6FVfvƹֹ&6FVfvƺֺ&6FVfvƻֻ&6FVfvƼּ&6FVfvƽֽ&6FVfvƾ־&6FVfvƿֿ&6FVfv&6FVfv&6FVfv&6FVfvxssstt t4tDtTtdtttttttTttssssssssssssssy{8{(;stapsdtO Xlibstdcxxcatch8@%rdx 8@-80(%rbx)6stapsdt* Xlibstdcxxthrow8@%rdi 8@%rsi8stapsdt+ Xlibstdcxxrethrow8@%rdx 8@%rax55c822224879f4d9e32493e36d749b9bdcf945.debug6.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.got.text.fini.rodata.stapsdt.base.eh_frame_hdr.eh_frame.gcc_except_table.tbss.init_array.fini_array.data.rel.ro.dynamic.got.plt.data.bss.note.stapsdt.gnu_debuglink(  8o$$X+Eo)To  c  lmBAAMwr  3}{ P@P@ PPX XX\\pTpTg((h`B`2 `B`2XB2B2h HHx xx4 (`47@000B0o V  $-;  P@`BXBo V0B  MA l oo)o oo$o__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize_ZSt20__throw_length_errorPKc_ZNSs4_Rep20_S_empty_rep_storageE_ZNSi6sentryC1ERSib_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate__cxa_begin_catch__cxa_rethrow__cxa_end_catch_Unwind_Resume__gxx_personality_v0_ZNKSt12__basic_fileIcE7is_openEvwmemcpywmemmovewmemset_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate_ZTIN10__cxxabiv115__forced_unwindE_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv_ZNSt11char_traitsIcE2eqERKcS2__ZNSs7_M_copyEPcPKcm_ZNSs7_M_moveEPcPKcm_ZNSs9_M_assignEPcmc_ZNKSs11_M_disjunctEPKc_ZNKSs15_M_check_lengthEmmPKc_ZNSs4_Rep26_M_set_length_and_sharableEm_ZNSi6ignoreEv_ZNSi6ignoreEl_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv_ZNSt11char_traitsIwE2eqERKwS2__ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv_ZN10__gnu_norm15_List_node_base4hookEPS0__ZN10__gnu_norm15_List_node_base4swapERS0_S1__ZN10__gnu_norm15_List_node_base6unhookEv_ZN10__gnu_norm15_List_node_base7reverseEv_ZN10__gnu_norm15_List_node_base8transferEPS0_S1__ZNSt6__norm15_List_node_base4swapERS0_S1__ZNSt6__norm15_List_node_base8transferEPS0_S1__ZNSt6__norm15_List_node_base7reverseEv_ZNSt6__norm15_List_node_base4hookEPS0__ZNSt6__norm15_List_node_base6unhookEv_ZNSt6__norm15_List_node_base11_M_transferEPS0_S1__ZNSt6__norm15_List_node_base10_M_reverseEv_ZNSt6__norm15_List_node_base7_M_hookEPS0__ZNSt6__norm15_List_node_base9_M_unhookEv_ZNKSt10lock_error4whatEv_ZNKSt14error_category10equivalentEiRKSt15error_condition_ZTVSt10lock_error_ZNSt9exceptionD2Ev_ZdlPvstrerror_ZNSsC1EPKcRKSaIcE_ZNKSt4hashISsEclESs_ZSt11_Hash_bytesPKvmm_ZNKSt4hashIRKSsEclES1__ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3__ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5__ZNKSt4hashISt10error_codeEclES0__ZNSt14error_categoryC2Ev_ZTVSt14error_category_ZNSt14error_categoryC1Ev_ZNSt14error_categoryD2Ev_ZNSt14error_categoryD1Ev_ZNSt14error_categoryD0Ev_ZSt15system_categoryv_ZNKSt14error_category23default_error_conditionEi_ZNSt3_V216generic_categoryEv_ZNSt3_V215system_categoryEv_ZSt16generic_categoryv_ZNKSt14error_category10equivalentERKSt10error_codei__cxa_atexit_ZTSSt10lock_error_ZTISt10lock_error_ZTVN10__cxxabiv120__si_class_type_infoE_ZTISt9exception_ZTSSt14error_category_ZTISt14error_category_ZTVN10__cxxabiv117__class_type_infoE__cxa_pure_virtual_ZNSt6chrono12system_clock12is_monotonicE_ZNSt9__atomic011atomic_flag5clearESt12memory_order_ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order_ZSt20__throw_system_erroriatomic_flag_test_and_set_explicitatomic_flag_clear_explicit__atomic_flag_wait_explicit__atomic_flag_for_address__pthread_key_createpthread_mutex_unlockpthread_mutex_lock_ZNVSt9__atomic011atomic_flag5clearESt12memory_order_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order_ZSt15future_category_ZSt10adopt_lock_ZSt10defer_lock_ZSt11try_to_lock_ZNSt13__future_base11_State_baseD2Ev_ZTVNSt13__future_base11_State_baseE_ZNSt18condition_variableD1Ev_ZNSt13__future_base11_State_baseD1Ev_ZNSt13__future_base11_State_baseD0Ev_ZSt15__once_callable__tls_get_addr_ZSt11__once_call__once_proxy_ZNSt6thread4joinEv_ZNSt13__future_base19_Async_state_commonD2Ev_ZTVNSt13__future_base19_Async_state_commonE_ZSt9terminatev_ZNSt13__future_base19_Async_state_commonD1Ev_ZNSt13__future_base19_Async_state_commonD0Ev_ZSt15future_categoryv_ZTINSt13__future_base11_State_baseE_ZTSNSt13__future_base19_Async_state_commonE_ZTINSt13__future_base19_Async_state_commonEpthread_once_ZNSt6chrono12system_clock3nowEvgettimeofday_ZNSt22condition_variable_anyC2Ev_ZNSt18condition_variableC1Ev_ZNSt22condition_variable_anyC1Ev_ZNSt22condition_variable_anyD2Ev_ZNSt22condition_variable_anyD1Ev_ZN10__cxxabiv117__array_type_infoD2Ev_ZTVN10__cxxabiv117__array_type_infoE_ZNSt9type_infoD2Ev_ZN10__cxxabiv117__array_type_infoD1Ev_ZN10__cxxabiv117__array_type_infoD0Ev_ZdlPvm_ZTSN10__cxxabiv117__array_type_infoE_ZTIN10__cxxabiv117__array_type_infoE_ZTISt9type_info_ZNKSt9type_info14__is_pointer_pEv_ZNKSt9type_info15__is_function_pEv_ZNKSt9type_info10__do_catchEPKS_PPvj_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv__cxa_thread_atexit__cxa_thread_atexit_impl_ZNKSt9bad_alloc4whatEv_ZNSt9bad_allocD2Ev_ZTVSt9bad_alloc_ZNSt9bad_allocD1Ev_ZNSt9bad_allocD0Ev_ZTSSt9bad_alloc_ZTISt9bad_alloc_ZNKSt16bad_array_length4whatEv_ZNSt16bad_array_lengthD2Ev_ZTVSt16bad_array_length_ZNSt16bad_array_lengthD1Ev_ZNSt16bad_array_lengthD0Ev__cxa_throw_bad_array_length__cxa_allocate_exception_ZTISt16bad_array_length__cxa_throw_ZTSSt16bad_array_length_ZNKSt20bad_array_new_length4whatEv_ZNSt20bad_array_new_lengthD2Ev_ZTVSt20bad_array_new_length_ZNSt20bad_array_new_lengthD1Ev_ZNSt20bad_array_new_lengthD0Ev_ZTSSt20bad_array_new_length_ZTISt20bad_array_new_length_ZNKSt8bad_cast4whatEv_ZNSt8bad_castD2Ev_ZTVSt8bad_cast_ZNSt8bad_castD1Ev_ZNSt8bad_castD0Ev_ZTSSt8bad_cast_ZTISt8bad_cast_ZNKSt10bad_typeid4whatEv_ZNSt10bad_typeidD2Ev_ZTVSt10bad_typeid_ZNSt10bad_typeidD1Ev_ZNSt10bad_typeidD0Ev_ZTSSt10bad_typeid_ZTISt10bad_typeid_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2__ZN10__cxxabiv117__class_type_infoD2Ev_ZN10__cxxabiv117__class_type_infoD1Ev_ZN10__cxxabiv117__class_type_infoD0Ev_ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultEstrcmp_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj_ZTSN10__cxxabiv117__class_type_infoE_ZTIN10__cxxabiv117__class_type_infoEfree_ZdlPvRKSt9nothrow_t_ZdaPv_ZdaPvm_ZdaPvRKSt9nothrow_t__dynamic_cast__cxa_call_unexpected_ZN9__gnu_cxx9__freeresEvmalloc__cxa_free_exception__cxa_allocate_dependent_exception__cxa_free_dependent_exception__cxa_bad_cast__cxa_bad_typeid__cxa_throw_bad_array_new_length__cxa_get_exception_ptr__cxa_get_globals__cxa_get_globals_fast_Unwind_DeleteException_ZSt18uncaught_exceptionv_ZSt19uncaught_exceptionsv_ZNSt9exceptionD1Ev_ZNSt13bad_exceptionD2Ev_ZTVSt13bad_exception_ZNSt13bad_exceptionD1Ev_ZNKSt9exception4whatEv_ZNKSt13bad_exception4whatEv_ZNSt9exceptionD0Ev_ZNSt13bad_exceptionD0Ev_ZGTtNKSt9exceptionD1Ev_ZGTtNKSt9exception4whatEv_ZGTtNKSt13bad_exceptionD1Ev_ZGTtNKSt13bad_exception4whatEv_ZTSSt9exception_ZTSSt13bad_exception_ZTISt13bad_exception_ZTIN10__cxxabiv119__foreign_exceptionE_ZTVSt9exception_Unwind_GetDataRelBase_Unwind_GetRegionStart_Unwind_GetTextRelBase_Unwind_SetGR_Unwind_SetIP_Unwind_GetLanguageSpecificData_Unwind_GetIPInfo_ZSt10unexpectedv_ZNSt15__exception_ptr13exception_ptrC2Ev_ZNSt15__exception_ptr13exception_ptrC1Ev_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE_ZNSt15__exception_ptr13exception_ptrC1EPv_ZNSt15__exception_ptr13exception_ptrC2ERKS0__ZNSt15__exception_ptr13exception_ptrC1ERKS0__ZNSt15__exception_ptr13exception_ptrD2Ev_ZNSt15__exception_ptr13exception_ptrD1Ev_ZNSt15__exception_ptr13exception_ptr4swapERS0__ZNSt15__exception_ptr13exception_ptraSERKS0__ZNKSt15__exception_ptr13exception_ptrntEv_ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv_ZNSt15__exception_ptreqERKNS_13exception_ptrES2__ZNSt15__exception_ptrneERKNS_13exception_ptrES2__ZSt17current_exceptionv_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE_ZSt14get_unexpectedv_ZSt13get_terminatev_Unwind_RaiseException_ZN9__gnu_cxx27__verbose_terminate_handlerEv_ZSt13set_terminatePFvvE_ZSt14set_unexpectedPFvvE__cxa_tm_cleanup__cxa_init_primary_exception_Unwind_Resume_or_Rethrow__cxa_current_exception_type_ZN10__cxxabiv116__enum_type_infoD2Ev_ZTVN10__cxxabiv116__enum_type_infoE_ZN10__cxxabiv116__enum_type_infoD1Ev_ZN10__cxxabiv116__enum_type_infoD0Ev_ZTSN10__cxxabiv116__enum_type_infoE_ZTIN10__cxxabiv116__enum_type_infoE_ZNK10__cxxabiv120__function_type_info15__is_function_pEv_ZN10__cxxabiv120__function_type_infoD2Ev_ZTVN10__cxxabiv120__function_type_infoE_ZN10__cxxabiv120__function_type_infoD1Ev_ZN10__cxxabiv120__function_type_infoD0Ev_ZTSN10__cxxabiv120__function_type_infoE_ZTIN10__cxxabiv120__function_type_infoE_ZN10__cxxabiv123__fundamental_type_infoD2Ev_ZTVN10__cxxabiv123__fundamental_type_infoE_ZN10__cxxabiv123__fundamental_type_infoD1Ev_ZN10__cxxabiv123__fundamental_type_infoD0Ev_ZTSN10__cxxabiv123__fundamental_type_infoE_ZTIN10__cxxabiv123__fundamental_type_infoE_ZTSv_ZTSPv_ZTSPKv_ZTSb_ZTSPb_ZTSPKb_ZTSw_ZTSPw_ZTSPKw_ZTSc_ZTSPc_ZTSPKc_ZTSa_ZTSPa_ZTSPKa_ZTSh_ZTSPh_ZTSPKh_ZTSs_ZTSPs_ZTSPKs_ZTSt_ZTSPt_ZTSPKt_ZTSi_ZTSPi_ZTSPKi_ZTSj_ZTSPj_ZTSPKj_ZTSl_ZTSPl_ZTSPKl_ZTSm_ZTSPm_ZTSPKm_ZTSx_ZTSPx_ZTSPKx_ZTSy_ZTSPy_ZTSPKy_ZTSf_ZTSPf_ZTSPKf_ZTSd_ZTSPd_ZTSPKd_ZTSe_ZTSPe_ZTSPKe_ZTSn_ZTSPn_ZTSPKn_ZTSo_ZTSPo_ZTSPKo_ZTSg_ZTSPg_ZTSPKg_ZTIPKg_ZTVN10__cxxabiv119__pointer_type_infoE_ZTIg_ZTIPg_ZTIPKo_ZTIo_ZTIPo_ZTIPKn_ZTIn_ZTIPn_ZTIPKDn_ZTIDn_ZTIPDn_ZTIPKDe_ZTIDe_ZTIPDe_ZTIPKDd_ZTIDd_ZTIPDd_ZTIPKDf_ZTIDf_ZTIPDf_ZTIPKe_ZTIe_ZTIPe_ZTIPKd_ZTId_ZTIPd_ZTIPKf_ZTIf_ZTIPf_ZTIPKy_ZTIy_ZTIPy_ZTIPKx_ZTIx_ZTIPx_ZTIPKm_ZTIm_ZTIPm_ZTIPKl_ZTIl_ZTIPl_ZTIPKj_ZTIj_ZTIPj_ZTIPKi_ZTIi_ZTIPi_ZTIPKt_ZTIt_ZTIPt_ZTIPKs_ZTIs_ZTIPs_ZTIPKh_ZTIh_ZTIPh_ZTIPKa_ZTIa_ZTIPa_ZTIPKc_ZTIc_ZTIPc_ZTIPKDi_ZTIDi_ZTIPDi_ZTIPKDs_ZTIDs_ZTIPDs_ZTIPKw_ZTIw_ZTIPw_ZTIPKb_ZTIb_ZTIPb_ZTIPKv_ZTIv_ZTIPv__cxa_guard_acquiresyscall__cxa_guard_abort__cxa_guard_release_ZSt15_Fnv_hash_bytesPKvmm_ZNSt16nested_exceptionD2Ev_ZTVSt16nested_exception_ZNSt16nested_exceptionD1Ev_ZNSt16nested_exceptionD0Ev_ZTISt16nested_exception_ZSt15set_new_handlerPFvvE_ZSt15get_new_handlerv_ZSt7nothrow_Znwm_ZnwmRKSt9nothrow_t_Znam_ZnamRKSt9nothrow_t_ZnwmSt11align_val_taligned_alloc_ZnwmSt11align_val_tRKSt9nothrow_t_ZnamSt11align_val_t_ZnamSt11align_val_tRKSt9nothrow_t_ZdlPvSt11align_val_t_ZdlPvSt11align_val_tRKSt9nothrow_t_ZdlPvmSt11align_val_t_ZdaPvSt11align_val_t_ZdaPvSt11align_val_tRKSt9nothrow_t_ZdaPvmSt11align_val_t_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj_ZN10__cxxabiv117__pbase_type_infoD2Ev_ZTVN10__cxxabiv117__pbase_type_infoE_ZN10__cxxabiv117__pbase_type_infoD1Ev_ZN10__cxxabiv117__pbase_type_infoD0Ev_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj_ZTIN10__cxxabiv119__pointer_type_infoE_ZTIN10__cxxabiv129__pointer_to_member_type_infoE_ZTSN10__cxxabiv117__pbase_type_infoE_ZTIN10__cxxabiv117__pbase_type_infoE_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev_ZTVN10__cxxabiv129__pointer_to_member_type_infoE_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj_ZTSN10__cxxabiv129__pointer_to_member_type_infoE_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv_ZN10__cxxabiv119__pointer_type_infoD2Ev_ZN10__cxxabiv119__pointer_type_infoD1Ev_ZN10__cxxabiv119__pointer_type_infoD0Ev_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj_ZTSN10__cxxabiv119__pointer_type_infoE__cxa_deleted_virtual_ZN10__cxxabiv120__si_class_type_infoD2Ev_ZN10__cxxabiv120__si_class_type_infoD1Ev_ZN10__cxxabiv120__si_class_type_infoD0Ev_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2__ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE_ZTSN10__cxxabiv120__si_class_type_infoE_ZTIN10__cxxabiv120__si_class_type_infoE_ZNSt9type_infoD1Ev_ZNSt9type_infoD0Ev_ZTSSt9type_info_ZTVSt9type_info__cxa_vec_cleanup__cxa_vec_ctor__cxa_vec_new2__cxa_vec_new__cxa_vec_new3__cxa_vec_cctor__cxa_vec_dtor__cxa_vec_delete2__cxa_vec_delete__cxa_vec_delete3_ZN10__cxxabiv121__vmi_class_type_infoD2Ev_ZTVN10__cxxabiv121__vmi_class_type_infoE_ZN10__cxxabiv121__vmi_class_type_infoD1Ev_ZN10__cxxabiv121__vmi_class_type_infoD0Ev_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2__ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE_ZTSN10__cxxabiv121__vmi_class_type_infoE_ZTIN10__cxxabiv121__vmi_class_type_infoE__cxa_demanglestderrfwritefputsfputcreallocsprintfstrlen_ZN9__gnu_cxx9free_list8_M_clearEv_ZN9__gnu_cxx9free_list6_M_getEm_ZSt17__throw_bad_allocv_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEmgetenv_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvEpthread_key_deletepthread_setspecificpthread_getspecific_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6__ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6__ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3__ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3__ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv_ZNSt7codecvtIcc11__mbstate_tED2Ev_ZTVSt7codecvtIcc11__mbstate_tE_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE_ZNSt6locale5facetD2Ev_ZNSt7codecvtIcc11__mbstate_tED1Ev_ZNSt7codecvtIcc11__mbstate_tED0Ev_ZNSt7codecvtIwc11__mbstate_tED2Ev_ZTVSt7codecvtIwc11__mbstate_tE_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE_ZNSt7codecvtIwc11__mbstate_tED1Ev_ZNSt7codecvtIwc11__mbstate_tED0Ev_ZNSt7codecvtIcc11__mbstate_tEC2Em_ZNSt6locale5facet15_S_get_c_localeEv_ZNSt7codecvtIcc11__mbstate_tEC1Em_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm_ZNSt7codecvtIwc11__mbstate_tEC2Em_ZNSt7codecvtIwc11__mbstate_tEC1Em_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm_ZTSSt7codecvtIcc11__mbstate_tE_ZTISt7codecvtIcc11__mbstate_tE_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE_ZTSSt7codecvtIwc11__mbstate_tE_ZTISt7codecvtIwc11__mbstate_tE_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6__ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6__ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv_ZNSt7codecvtIwc11__mbstate_tE2idE_ZNSt7codecvtIcc11__mbstate_tE2idE_ZNKSt5ctypeIcE8do_widenEc_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3__ZNSi7putbackEc_ZNSi10_M_extractIfEERSiRT__ZNKSt5ctypeIcE13_M_widen_initEv_ZSt16__throw_bad_castv_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E_ZNSi10_M_extractIdEERSiRT__ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E_ZNSi10_M_extractIeEERSiRT__ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3__ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT__ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT__ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT__ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE_ZTVSt15basic_streambufIcSt11char_traitsIcEE_ZNSt6localeD1Ev_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E_ZNSt8ios_baseC2Ev_ZTVSt9basic_iosIcSt11char_traitsIcEE_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE_ZNSt6localeC1Ev_ZNSt6localeC1ERKS__ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l_ZNSo9_M_insertIeEERSoT__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm_ZNSt8ios_baseD2Ev_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4__ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E_ZNSo9_M_insertIdEERSoT__ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev_ZTVNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE_ZTVSt15basic_streambufIwSt11char_traitsIwEE_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E_ZTVSt9basic_iosIwSt11char_traitsIwEE_ZTTNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E_ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_l_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEmmPKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4__ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T__ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev_ZSt5wclog_ZSt5wcerr_ZSt5wcout_ZSt4wcin_ZSt4clog_ZSt4cerr_ZSt4cout_ZSt3cin_ZNKSt3tr14hashIeEclEefrexpl_ZNKSt3tr14hashISsEclESs_ZNKSt3tr14hashIRKSsEclES2__ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4__ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6__ZNSt3tr18__detail12__prime_listE_ZNKSt8ios_base7failure4whatEv_ZNSt8ios_base7failureD2Ev_ZTVNSt8ios_base7failureE_ZNSs4_Rep10_M_destroyERKSaIcE_ZNSt8ios_base7failureD1Ev_ZNSt8ios_base7failureD0Ev_ZNSt8ios_base7failureC2ERKSs_ZNSsC1ERKSs_ZNSt8ios_base7failureC1ERKSs_ZTSNSt8ios_base7failureE_ZTINSt8ios_base7failureE_ZNSt8ios_base4InitC2Evstdout_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEEstdin_ZTVSo_ZTVSi_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE_ZTVSt13basic_ostreamIwSt11char_traitsIwEE_ZTVSt13basic_istreamIwSt11char_traitsIwEE_ZNSt8ios_base4InitC1Ev_ZNSt8ios_base4InitD2Ev_ZNSo5flushEv_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv_ZNSt8ios_base4InitD1Ev_ZNSt8ios_base15sync_with_stdioEb_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E_ZNSt8ios_base7_M_initEv_ZNSt6localeaSERKS__ZNSt8ios_base5imbueERKSt6locale_ZNSt8ios_base17_M_call_callbacksENS_5eventE_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv_ZNSt8__detail15_List_node_base4swapERS0_S1__ZNSt8__detail15_List_node_base11_M_transferEPS0_S1__ZNSt8__detail15_List_node_base10_M_reverseEv_ZNSt8__detail15_List_node_base7_M_hookEPS0__ZNSt8__detail15_List_node_base9_M_unhookEv_ZNSt15_List_node_base4swapERS_S0__ZNSt15_List_node_base8transferEPS_S0__ZNSt15_List_node_base7reverseEv_ZNSt15_List_node_base4hookEPS__ZNSt15_List_node_base6unhookEv_ZNSt15_List_node_base11_M_transferEPS_S0__ZNSt15_List_node_base10_M_reverseEv_ZNSt15_List_node_base7_M_hookEPS__ZNSt15_List_node_base9_M_unhookEv_ZNSt9__cxx199815_List_node_base4swapERS0_S1__ZNSt9__cxx199815_List_node_base8transferEPS0_S1__ZNSt9__cxx199815_List_node_base7reverseEv_ZNSt9__cxx199815_List_node_base4hookEPS0__ZNSt9__cxx199815_List_node_base6unhookEv_ZNSt9__cxx199815_List_node_base11_M_transferEPS0_S1__ZNSt9__cxx199815_List_node_base10_M_reverseEv_ZNSt9__cxx199815_List_node_base7_M_hookEPS0__ZNSt9__cxx199815_List_node_base9_M_unhookEv_ZNSt6locale5facetD1Ev_ZNSt6locale5facetD0Ev_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2__ZNSt6localeC2ERKS__ZNSt6localeC2EPNS_5_ImplE_ZNSt6localeC1EPNS_5_ImplE_ZNKSt6locale4nameB5cxx11Ev_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc_ZNKSt6localeeqERKS__ZNSt6locale21_S_normalize_categoryEi_ZSt21__throw_runtime_errorPKc_ZNSt6locale5facet13_S_get_c_nameEv_ZNSt6locale5_ImplD2Ev_ZNSt6locale5_ImplD1Ev_ZNSt6localeD2Ev_ZNSt6locale5_ImplC2ERKS0_m_ZNSt6locale5_ImplC1ERKS0_m_ZNKSt6locale2id5_M_idEv_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm_ZTSNSt6locale5facetE_ZTINSt6locale5facetE_ZTVNSt6locale5facetE_ZNSt6locale3allE_ZNSt6locale8messagesE_ZNSt6locale8monetaryE_ZNSt6locale4timeE_ZNSt6locale7collateE_ZNSt6locale7numericE_ZNSt6locale5ctypeE_ZNSt6locale4noneE_ZNSt6locale5_ImplC2Em_ZNSt5ctypeIcEC1EPKtbm_ZNSt5ctypeIcE2idE_ZTVNSt7__cxx118numpunctIcEE_ZNSt7__cxx118numpunctIcE22_M_initialize_numpunctEP15__locale_struct_ZNSt7__cxx118numpunctIcE2idE_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZTVNSt7__cxx117collateIcEE_ZNSt7__cxx117collateIcE2idE_ZTVNSt7__cxx1110moneypunctIcLb0EEE_ZNSt7__cxx1110moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc_ZNSt7__cxx1110moneypunctIcLb0EE2idE_ZTVNSt7__cxx1110moneypunctIcLb1EEE_ZNSt7__cxx1110moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc_ZNSt7__cxx1110moneypunctIcLb1EE2idE_ZTVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZTVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm_ZNSt11__timepunctIcE2idE_ZTVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZNSt7__cxx118messagesIcEC1Em_ZNSt7__cxx118messagesIcE2idE_ZNSt5ctypeIwEC1Em_ZNSt5ctypeIwE2idE_ZTVNSt7__cxx118numpunctIwEE_ZNSt7__cxx118numpunctIwE22_M_initialize_numpunctEP15__locale_struct_ZNSt7__cxx118numpunctIwE2idE_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZTVNSt7__cxx117collateIwEE_ZNSt7__cxx117collateIwE2idE_ZTVNSt7__cxx1110moneypunctIwLb0EEE_ZNSt7__cxx1110moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc_ZNSt7__cxx1110moneypunctIwLb0EE2idE_ZTVNSt7__cxx1110moneypunctIwLb1EEE_ZNSt7__cxx1110moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc_ZNSt7__cxx1110moneypunctIwLb1EE2idE_ZTVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZTVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm_ZNSt11__timepunctIwE2idE_ZTVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZNSt7__cxx118messagesIwEC1Em_ZNSt7__cxx118messagesIwE2idE_ZTVSt7codecvtIDsc11__mbstate_tE_ZNSt7codecvtIDsc11__mbstate_tE2idE_ZTVSt7codecvtIDic11__mbstate_tE_ZNSt7codecvtIDic11__mbstate_tE2idE_ZNSt6locale5_ImplC1Em_ZNSt6localeC2Ev_ZNSt6locale7classicEv_ZNSt6locale6globalERKS__ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKcsetlocale_ZNSt8numpunctIcE2idE_ZNSt7collateIcE2idE_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZNSt10moneypunctIcLb0EE2idE_ZNSt10moneypunctIcLb1EE2idE_ZNSt8messagesIcE2idE_ZNSt8numpunctIwE2idE_ZNSt7collateIwE2idE_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZNSt10moneypunctIwLb0EE2idE_ZNSt10moneypunctIwLb1EE2idE_ZNSt8messagesIwE2idE_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc_ZSt17__verify_groupingPKcmRKSs_ZNSt10__num_base12_S_atoms_outE_ZNSt10__num_base11_S_atoms_inE_ZNSt10money_base8_S_atomsE_ZNSt10money_base18_S_default_patternE_ZNSt17__timepunct_cacheIwE12_S_timezonesE_ZNSt17__timepunct_cacheIcE12_S_timezonesE_ZNSt6locale5_ImplC2EPKcmstrchr_ZNSt5ctypeIcEC1EP15__locale_structPKtbm_ZNSt11__timepunctIcEC1EP15__locale_structPKcm_ZNSt7__cxx118messagesIcEC1EP15__locale_structPKcm_ZNSt5ctypeIwEC1EP15__locale_structm_ZNSt11__timepunctIwEC1EP15__locale_structPKcm_ZNSt7__cxx118messagesIwEC1EP15__locale_structPKcm_ZNSt6locale5_ImplC1EPKcm_ZNSt6localeC2EPKc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm_ZNSt6localeC1EPKc_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i_ZNSt6locale11_M_coalesceERKS_S1_i_ZNSt6localeC2ERKS_S1_i_ZNSt6localeC1ERKS_S1_i_ZNSt6localeC2ERKS_PKci_ZNSt6localeC1ERKS_PKci_ZNKSt11logic_error4whatEv_ZNKSt13runtime_error4whatEv_ZNSt11logic_errorD2Ev_ZTVSt11logic_error_ZNSt11logic_errorD1Ev_ZNSt11logic_errorD0Ev_ZNSt12domain_errorD2Ev_ZTVSt12domain_error_ZNSt12domain_errorD1Ev_ZNSt12domain_errorD0Ev_ZNSt16invalid_argumentD2Ev_ZTVSt16invalid_argument_ZNSt16invalid_argumentD1Ev_ZNSt16invalid_argumentD0Ev_ZNSt12length_errorD2Ev_ZTVSt12length_error_ZNSt12length_errorD1Ev_ZNSt12length_errorD0Ev_ZNSt12out_of_rangeD2Ev_ZTVSt12out_of_range_ZNSt12out_of_rangeD1Ev_ZNSt12out_of_rangeD0Ev_ZNSt13runtime_errorD2Ev_ZTVSt13runtime_error_ZNSt13runtime_errorD1Ev_ZNSt13runtime_errorD0Ev_ZNSt11range_errorD2Ev_ZTVSt11range_error_ZNSt11range_errorD1Ev_ZNSt11range_errorD0Ev_ZNSt14overflow_errorD2Ev_ZTVSt14overflow_error_ZNSt14overflow_errorD1Ev_ZNSt14overflow_errorD0Ev_ZNSt15underflow_errorD2Ev_ZTVSt15underflow_error_ZNSt15underflow_errorD1Ev_ZNSt15underflow_errorD0Ev_ZNSt11logic_errorC2ERKSs_ZNSt11logic_errorC1ERKSs_ZNSt12domain_errorC2ERKSs_ZNSt12domain_errorC1ERKSs_ZNSt16invalid_argumentC2ERKSs_ZNSt16invalid_argumentC1ERKSs_ZNSt12length_errorC2ERKSs_ZNSt12length_errorC1ERKSs_ZNSt12out_of_rangeC2ERKSs_ZNSt12out_of_rangeC1ERKSs_ZNSt13runtime_errorC2ERKSs_ZNSt13runtime_errorC1ERKSs_ZNSt11range_errorC2ERKSs_ZNSt11range_errorC1ERKSs_ZNSt14overflow_errorC2ERKSs_ZNSt14overflow_errorC1ERKSs_ZNSt15underflow_errorC2ERKSs_ZNSt15underflow_errorC1ERKSs_ZTSSt11logic_error_ZTISt11logic_error_ZTSSt12domain_error_ZTISt12domain_error_ZTSSt16invalid_argument_ZTISt16invalid_argument_ZTSSt12length_error_ZTISt12length_error_ZTSSt12out_of_range_ZTISt12out_of_range_ZTSSt13runtime_error_ZTISt13runtime_error_ZTSSt11range_error_ZTISt11range_error_ZTSSt14overflow_error_ZTISt14overflow_error_ZTSSt15underflow_error_ZTISt15underflow_error_ZNSt12strstreambuf9pbackfailEi_ZNSt12strstreambuf9underflowEv_ZNSt12strstreambuf6setbufEPcl_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt12strstreambuf6freezeEb_ZNSt12strstreambuf3strEv_ZNKSt12strstreambuf6pcountEv_ZNSt12strstreambuf8_M_allocEm_ZNSt12strstreambufC2EPFPvmEPFvS0_E_ZTVSt12strstreambuf_ZNSt12strstreambufC1EPFPvmEPFvS0_E_ZNSt12strstreambufC2El_ZNSt12strstreambufC1El_ZNSt12strstreambuf7_M_freeEPc_ZNSt12strstreambufD2Ev_ZNSt12strstreambufD1Ev_ZNSt12strstreambufD0Ev_ZNSt10istrstreamD1Ev_ZTVSt10istrstream_ZTv0_n24_NSt10istrstreamD1Ev_ZNSt10istrstreamD0Ev_ZTv0_n24_NSt10istrstreamD0Ev_ZNSt10ostrstreamD1Ev_ZTVSt10ostrstream_ZTv0_n24_NSt10ostrstreamD1Ev_ZNSt10ostrstreamD0Ev_ZTv0_n24_NSt10ostrstreamD0Ev_ZNSt9strstreamD1Ev_ZTVSt9strstream_ZTv0_n24_NSt9strstreamD1Ev_ZThn16_NSt9strstreamD1Ev_ZNSt9strstreamD0Ev_ZTv0_n24_NSt9strstreamD0Ev_ZThn16_NSt9strstreamD0Ev_ZNSt12strstreambuf8overflowEi_ZNSt12strstreambuf8_M_setupEPcS0_l_ZNSt12strstreambufC2EPclS0__ZNSt12strstreambufC1EPclS0__ZNSt12strstreambufC2EPalS0__ZNSt12strstreambufC1EPalS0__ZNSt12strstreambufC2EPhlS0__ZNSt12strstreambufC1EPhlS0__ZNSt12strstreambufC2EPKcl_ZNSt12strstreambufC1EPKcl_ZNSt12strstreambufC2EPKal_ZNSt12strstreambufC1EPKal_ZNSt12strstreambufC2EPKhl_ZNSt12strstreambufC1EPKhl_ZNSt10istrstreamC2EPc_ZNSt10istrstreamC1EPc_ZNSt10istrstreamC2EPKc_ZNSt10istrstreamC1EPKc_ZNSt10istrstreamC2EPcl_ZNSt10istrstreamC1EPcl_ZNSt10istrstreamC2EPKcl_ZNSt10istrstreamC1EPKcl_ZNSt10istrstreamD2Ev_ZNKSt10istrstream5rdbufEv_ZNSt10istrstream3strEv_ZNSt10ostrstreamC2Ev_ZNSt10ostrstreamC1Ev_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode_ZNSt10ostrstreamD2Ev_ZNKSt10ostrstream5rdbufEv_ZNSt10ostrstream6freezeEb_ZNSt10ostrstream3strEv_ZNKSt10ostrstream6pcountEv_ZNSt9strstreamC2Ev_ZNSt9strstreamC1Ev_ZNSt9strstreamC2EPciSt13_Ios_Openmode_ZNSt9strstreamC1EPciSt13_Ios_Openmode_ZNSt9strstreamD2Ev_ZNKSt9strstream5rdbufEv_ZNSt9strstream6freezeEb_ZNKSt9strstream6pcountEv_ZNSt9strstream3strEv_ZTSSt12strstreambuf_ZTISt12strstreambuf_ZTISt15basic_streambufIcSt11char_traitsIcEE_ZTSSt10istrstream_ZTISt10istrstream_ZTISi_ZTSSt10ostrstream_ZTISt10ostrstream_ZTISo_ZTSSt9strstream_ZTISt9strstream_ZTISd_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl_ZTTSt10istrstream_ZTTSt10ostrstream_ZTTSt9strstream_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0__ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0__ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS__ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS__ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1__ZNSi7getlineEPclc_ZNSi6ignoreEli_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3__ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlwwmemchr_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4__ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb_ZNSt8valarrayImEC2Em_ZNSt8valarrayImEC1Em_ZNSt8valarrayImEC2ERKS0__ZNSt8valarrayImEC1ERKS0__ZNSt8valarrayImED2Ev_ZNSt8valarrayImED1Ev_ZNKSt8valarrayImE4sizeEv_ZNSt8valarrayImEixEm_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4__ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4__ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E_ZNSs9_M_mutateEmmm_ZNSs6appendEPKcm_ZNSs7reserveEm_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4__ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4__ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm_ZNKSt7collateIcE10_M_compareEPKcS2___strcoll_l_ZNKSt7collateIcE12_M_transformEPcPKcm__strxfrm_l_ZNKSt7collateIwE10_M_compareEPKwS2___wcscoll_l_ZNKSt7collateIwE12_M_transformEPwPKwm__wcsxfrm_l_ZNKSt8messagesIcE7do_openERKSsRKSt6locale_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale__nl_langinfo_lbind_textdomain_codeset_ZNKSt8messagesIcE8do_closeEi_ZNKSt8messagesIwE8do_closeEi_ZNKSt8messagesIcE6do_getEiiiRKSs__uselocaledgettext_ZNKSt8messagesIwE7do_openERKSsRKSt6locale_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2__ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1__ZNSt18__moneypunct_cacheIcLb1EED2Ev_ZNSt18__moneypunct_cacheIcLb1EED1Ev_ZNSt18__moneypunct_cacheIcLb1EED0Ev_ZNSt18__moneypunct_cacheIcLb0EED2Ev_ZNSt18__moneypunct_cacheIcLb0EED1Ev_ZNSt18__moneypunct_cacheIcLb0EED0Ev_ZNSt18__moneypunct_cacheIwLb1EED2Ev_ZNSt18__moneypunct_cacheIwLb1EED1Ev_ZNSt18__moneypunct_cacheIwLb1EED0Ev_ZNSt18__moneypunct_cacheIwLb0EED2Ev_ZNSt18__moneypunct_cacheIwLb0EED1Ev_ZNSt18__moneypunct_cacheIwLb0EED0Ev_ZNSt10money_base20_S_construct_patternEccc_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc_ZNSt10moneypunctIcLb1EED2Ev_ZTVSt10moneypunctIcLb1EE_ZNSt10moneypunctIcLb1EED1Ev_ZNSt10moneypunctIcLb1EED0Ev_ZNSt10moneypunctIcLb0EED2Ev_ZTVSt10moneypunctIcLb0EE_ZNSt10moneypunctIcLb0EED1Ev_ZNSt10moneypunctIcLb0EED0Ev_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKcwcslenmbsrtowcs_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc_ZNSt10moneypunctIwLb1EED2Ev_ZTVSt10moneypunctIwLb1EEwcscmp_ZNSt10moneypunctIwLb1EED1Ev_ZNSt10moneypunctIwLb1EED0Ev_ZNSt10moneypunctIwLb0EED2Ev_ZTVSt10moneypunctIwLb0EE_ZNSt10moneypunctIwLb0EED1Ev_ZNSt10moneypunctIwLb0EED0Ev_ZNSt16__numpunct_cacheIcED2Ev_ZNSt16__numpunct_cacheIcED1Ev_ZNSt16__numpunct_cacheIcED0Ev_ZNSt16__numpunct_cacheIwED2Ev_ZNSt16__numpunct_cacheIwED1Ev_ZNSt16__numpunct_cacheIwED0Ev_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct_ZNSt8numpunctIcED2Ev_ZTVSt8numpunctIcE_ZNSt8numpunctIcED1Ev_ZNSt8numpunctIcED0Ev_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct_ZNSt8numpunctIwED2Ev_ZTVSt8numpunctIwE_ZNSt8numpunctIwED1Ev_ZNSt8numpunctIwED0Ev_ZN9__gnu_cxx18__exchange_and_addEPVii_ZN9__gnu_cxx12__atomic_addEPViiwcsnrtombswcrtombmbsnrtowcsmbrtowc__ctype_get_mb_cur_max_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3__ZNKSt7__cxx117collateIcE12_M_transformEPcPKcm_ZNKSt7__cxx117collateIwE10_M_compareEPKwS3__ZNKSt7__cxx117collateIwE12_M_transformEPwPKwm_ZNKSt7__cxx118messagesIcE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale_ZNKSt7__cxx118messagesIcE8do_closeEi_ZNKSt7__cxx118messagesIwE8do_closeEi_ZNKSt7__cxx118messagesIcE6do_getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag_ZNKSt7__cxx118messagesIwE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale_ZNKSt7__cxx118messagesIwE6do_getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPwEEvT_S7_St20forward_iterator_tag_ZNSt7__cxx1110moneypunctIcLb1EED2Ev_ZNSt7__cxx1110moneypunctIcLb1EED1Ev_ZNSt7__cxx1110moneypunctIcLb1EED0Ev_ZNSt7__cxx1110moneypunctIcLb0EED2Ev_ZNSt7__cxx1110moneypunctIcLb0EED1Ev_ZNSt7__cxx1110moneypunctIcLb0EED0Ev_ZNSt7__cxx1110moneypunctIwLb1EED2Ev_ZNSt7__cxx1110moneypunctIwLb1EED1Ev_ZNSt7__cxx1110moneypunctIwLb1EED0Ev_ZNSt7__cxx1110moneypunctIwLb0EED2Ev_ZNSt7__cxx1110moneypunctIwLb0EED1Ev_ZNSt7__cxx1110moneypunctIwLb0EED0Ev_ZNSt7__cxx118numpunctIcED2Ev_ZNSt7__cxx118numpunctIcED1Ev_ZNSt7__cxx118numpunctIcED0Ev_ZNSt7__cxx118numpunctIwED2Ev_ZNSt7__cxx118numpunctIwED1Ev_ZNSt7__cxx118numpunctIwED0Ev_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm__strftime_l_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm__wcsftime_l_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct__errno_location_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmodefflush_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodefdopensetvbuf_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodeifopen64_ZNSt12__basic_fileIcE2fdEvfileno_ZNSt12__basic_fileIcE4fileEv_ZNSt12__basic_fileIcE5closeEvfclose_ZNSt12__basic_fileIcED2Ev_ZNSt12__basic_fileIcED1Ev_ZNSt12__basic_fileIcE6xsgetnEPcl_ZNSt12__basic_fileIcE6xsputnEPKcl_ZNSt12__basic_fileIcE8xsputn_2EPKclS2_lwritev_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdirlseek64_ZNSt12__basic_fileIcE4syncEv_ZNSt12__basic_fileIcE9showmanycEvioctlpoll__fxstat64_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct__strtof_l_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct__strtod_l_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structstrtold_l__newlocale__freelocale__duplocalestrdup_ZNSaIcEC2Ev_ZNSaIcEC1Ev_ZNSaIcEC2ERKS__ZNSaIcEC1ERKS__ZNSaIcED2Ev_ZNSaIcED1Ev_ZNSaIwEC2Ev_ZNSaIwEC1Ev_ZNSaIwEC2ERKS__ZNSaIwEC1ERKS__ZNSaIwED2Ev_ZNSaIwED1Ev_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EES8__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEmc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvS9_T_SA__ZSt24__throw_out_of_range_fmtPKcz_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_RKS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_mc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S7_S7__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcSA__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S8_S8__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_NS6_IPKcS4_EESB__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEmm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EES8__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEmw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvS9_T_SA__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_RKS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_mw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S7_S7__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwSA__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S8_S8__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_NS6_IPKwS4_EESB__ZSt17__verify_groupingPKcmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZN14__gnu_parallel9_Settings3getEv_ZN14__gnu_parallel9_Settings3setERS0__ZNSt6chrono3_V212system_clock3nowEvclock_gettime_ZNSt6chrono3_V212steady_clock3nowEv_ZNSt6chrono3_V212steady_clock9is_steadyE_ZNSt6chrono3_V212system_clock9is_steadyE_ZNKSt7codecvtIDsc11__mbstate_tE10do_unshiftERS0_PcS3_RS3__ZNKSt25__codecvt_utf8_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3__ZNKSt20__codecvt_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3__ZNKSt19__codecvt_utf8_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3__ZNKSt25__codecvt_utf8_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3__ZNKSt20__codecvt_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3__ZNKSt19__codecvt_utf8_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3__ZNKSt25__codecvt_utf8_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3__ZNKSt20__codecvt_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3__ZNKSt19__codecvt_utf8_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3__ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3__ZNKSt7codecvtIDsc11__mbstate_tE11do_encodingEv_ZNKSt25__codecvt_utf8_utf16_baseIwE11do_encodingEv_ZNKSt20__codecvt_utf16_baseIwE11do_encodingEv_ZNKSt19__codecvt_utf8_baseIwE11do_encodingEv_ZNKSt25__codecvt_utf8_utf16_baseIDiE11do_encodingEv_ZNKSt20__codecvt_utf16_baseIDiE11do_encodingEv_ZNKSt19__codecvt_utf8_baseIDiE11do_encodingEv_ZNKSt25__codecvt_utf8_utf16_baseIDsE11do_encodingEv_ZNKSt20__codecvt_utf16_baseIDsE11do_encodingEv_ZNKSt19__codecvt_utf8_baseIDsE11do_encodingEv_ZNKSt7codecvtIDic11__mbstate_tE11do_encodingEv_ZNKSt7codecvtIDsc11__mbstate_tE16do_always_noconvEv_ZNKSt25__codecvt_utf8_utf16_baseIwE16do_always_noconvEv_ZNKSt20__codecvt_utf16_baseIwE16do_always_noconvEv_ZNKSt19__codecvt_utf8_baseIwE16do_always_noconvEv_ZNKSt25__codecvt_utf8_utf16_baseIDiE16do_always_noconvEv_ZNKSt20__codecvt_utf16_baseIDiE16do_always_noconvEv_ZNKSt19__codecvt_utf8_baseIDiE16do_always_noconvEv_ZNKSt25__codecvt_utf8_utf16_baseIDsE16do_always_noconvEv_ZNKSt20__codecvt_utf16_baseIDsE16do_always_noconvEv_ZNKSt19__codecvt_utf8_baseIDsE16do_always_noconvEv_ZNKSt7codecvtIDic11__mbstate_tE16do_always_noconvEv_ZNKSt7codecvtIDsc11__mbstate_tE13do_max_lengthEv_ZNKSt7codecvtIDic11__mbstate_tE13do_max_lengthEv_ZNKSt19__codecvt_utf8_baseIDsE13do_max_lengthEv_ZNKSt19__codecvt_utf8_baseIDiE13do_max_lengthEv_ZNKSt19__codecvt_utf8_baseIwE13do_max_lengthEv_ZNKSt20__codecvt_utf16_baseIDsE13do_max_lengthEv_ZNKSt20__codecvt_utf16_baseIDiE13do_max_lengthEv_ZNKSt20__codecvt_utf16_baseIwE13do_max_lengthEv_ZNKSt25__codecvt_utf8_utf16_baseIDsE13do_max_lengthEv_ZNKSt25__codecvt_utf8_utf16_baseIDiE13do_max_lengthEv_ZNKSt25__codecvt_utf8_utf16_baseIwE13do_max_lengthEv_ZNSt7codecvtIDsc11__mbstate_tED2Ev_ZNSt7codecvtIDsc11__mbstate_tED1Ev_ZNSt19__codecvt_utf8_baseIDsED2Ev_ZTVSt19__codecvt_utf8_baseIDsE_ZNSt19__codecvt_utf8_baseIDsED1Ev_ZNSt20__codecvt_utf16_baseIDsED2Ev_ZTVSt20__codecvt_utf16_baseIDsE_ZNSt20__codecvt_utf16_baseIDsED1Ev_ZNSt25__codecvt_utf8_utf16_baseIDsED2Ev_ZTVSt25__codecvt_utf8_utf16_baseIDsE_ZNSt25__codecvt_utf8_utf16_baseIDsED1Ev_ZNSt7codecvtIDic11__mbstate_tED2Ev_ZNSt7codecvtIDic11__mbstate_tED1Ev_ZNSt19__codecvt_utf8_baseIDiED2Ev_ZTVSt19__codecvt_utf8_baseIDiE_ZNSt19__codecvt_utf8_baseIDiED1Ev_ZNSt20__codecvt_utf16_baseIDiED2Ev_ZTVSt20__codecvt_utf16_baseIDiE_ZNSt20__codecvt_utf16_baseIDiED1Ev_ZNSt25__codecvt_utf8_utf16_baseIDiED2Ev_ZTVSt25__codecvt_utf8_utf16_baseIDiE_ZNSt25__codecvt_utf8_utf16_baseIDiED1Ev_ZNSt7codecvtIDsc11__mbstate_tED0Ev_ZNSt19__codecvt_utf8_baseIDsED0Ev_ZNSt20__codecvt_utf16_baseIDsED0Ev_ZNSt25__codecvt_utf8_utf16_baseIDsED0Ev_ZNSt7codecvtIDic11__mbstate_tED0Ev_ZNSt19__codecvt_utf8_baseIDiED0Ev_ZNSt20__codecvt_utf16_baseIDiED0Ev_ZNSt25__codecvt_utf8_utf16_baseIDiED0Ev_ZNSt19__codecvt_utf8_baseIwED2Ev_ZTVSt19__codecvt_utf8_baseIwE_ZNSt19__codecvt_utf8_baseIwED1Ev_ZNSt19__codecvt_utf8_baseIwED0Ev_ZNSt20__codecvt_utf16_baseIwED2Ev_ZTVSt20__codecvt_utf16_baseIwE_ZNSt20__codecvt_utf16_baseIwED1Ev_ZNSt20__codecvt_utf16_baseIwED0Ev_ZNSt25__codecvt_utf8_utf16_baseIwED2Ev_ZTVSt25__codecvt_utf8_utf16_baseIwE_ZNSt25__codecvt_utf8_utf16_baseIwED1Ev_ZNSt25__codecvt_utf8_utf16_baseIwED0Ev_ZNKSt20__codecvt_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6__ZNKSt19__codecvt_utf8_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6__ZNKSt7codecvtIDsc11__mbstate_tE6do_outERS0_PKDsS4_RS4_PcS6_RS6__ZNKSt19__codecvt_utf8_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6__ZNKSt7codecvtIDic11__mbstate_tE6do_outERS0_PKDiS4_RS4_PcS6_RS6__ZNKSt20__codecvt_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6__ZNKSt20__codecvt_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6__ZNKSt20__codecvt_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m_ZNKSt20__codecvt_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6__ZNKSt20__codecvt_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m_ZNKSt20__codecvt_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6__ZNKSt25__codecvt_utf8_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6__ZNKSt25__codecvt_utf8_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6__ZNKSt25__codecvt_utf8_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6__ZNKSt25__codecvt_utf8_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6__ZNKSt19__codecvt_utf8_baseIDsE9do_lengthER11__mbstate_tPKcS4_m_ZNKSt7codecvtIDsc11__mbstate_tE9do_lengthERS0_PKcS4_m_ZNKSt25__codecvt_utf8_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m_ZNKSt25__codecvt_utf8_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m_ZNKSt25__codecvt_utf8_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m_ZNKSt7codecvtIDsc11__mbstate_tE5do_inERS0_PKcS4_RS4_PDsS6_RS6__ZNKSt25__codecvt_utf8_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6__ZNKSt19__codecvt_utf8_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6__ZNKSt7codecvtIDic11__mbstate_tE9do_lengthERS0_PKcS4_m_ZNKSt19__codecvt_utf8_baseIDiE9do_lengthER11__mbstate_tPKcS4_m_ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_m_ZNKSt7codecvtIDic11__mbstate_tE5do_inERS0_PKcS4_RS4_PDiS6_RS6__ZNKSt19__codecvt_utf8_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6__ZNKSt19__codecvt_utf8_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6__ZNKSt20__codecvt_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6__ZNKSt25__codecvt_utf8_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6__ZNKSt19__codecvt_utf8_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6__ZNKSt20__codecvt_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m_ZTSSt12codecvt_base_ZTISt12codecvt_base_ZTSSt7codecvtIDsc11__mbstate_tE_ZTISt7codecvtIDsc11__mbstate_tE_ZTSSt7codecvtIDic11__mbstate_tE_ZTISt7codecvtIDic11__mbstate_tE_ZTSSt19__codecvt_utf8_baseIDsE_ZTISt19__codecvt_utf8_baseIDsE_ZTSSt20__codecvt_utf16_baseIDsE_ZTISt20__codecvt_utf16_baseIDsE_ZTSSt25__codecvt_utf8_utf16_baseIDsE_ZTISt25__codecvt_utf8_utf16_baseIDsE_ZTSSt19__codecvt_utf8_baseIDiE_ZTISt19__codecvt_utf8_baseIDiE_ZTSSt20__codecvt_utf16_baseIDiE_ZTISt20__codecvt_utf16_baseIDiE_ZTSSt25__codecvt_utf8_utf16_baseIDiE_ZTISt25__codecvt_utf8_utf16_baseIDiE_ZTSSt19__codecvt_utf8_baseIwE_ZTISt19__codecvt_utf8_baseIwE_ZTSSt20__codecvt_utf16_baseIwE_ZTISt20__codecvt_utf16_baseIwE_ZTSSt25__codecvt_utf8_utf16_baseIwE_ZTISt25__codecvt_utf8_utf16_baseIwE_ZNSt18condition_variableC2Ev_ZNSt18condition_variableD2Ev_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE_ZNSt18condition_variable10notify_oneEv_ZNSt18condition_variable10notify_allEv_ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexEpthread_cond_destroypthread_cond_waitpthread_cond_signalpthread_cond_broadcast_ZNSt11logic_errorC2ERKS__ZNSt11logic_errorC1ERKS__ZNSt11logic_erroraSERKS__ZNSs6assignERKSs_ZNSt13runtime_errorC2ERKS__ZNSt13runtime_errorC1ERKS__ZNSt13runtime_erroraSERKS__ZNSt11logic_errorC2EPKc_ZNSt11logic_errorC1EPKc_ZNSt12domain_errorC2EPKc_ZNSt12domain_errorC1EPKc_ZNSt16invalid_argumentC2EPKc_ZNSt16invalid_argumentC1EPKc_ZNSt12length_errorC2EPKc_ZNSt12length_errorC1EPKc_ZNSt12out_of_rangeC2EPKc_ZNSt12out_of_rangeC1EPKc_ZNSt13runtime_errorC2EPKc_ZNSt13runtime_errorC1EPKc_ZNSt11range_errorC2EPKc_ZNSt11range_errorC1EPKc_ZNSt14overflow_errorC2EPKc_ZNSt14overflow_errorC1EPKc_ZNSt15underflow_errorC2EPKc_ZNSt15underflow_errorC1EPKc_ZNSsC1EPKcmRKSaIcE_ZNSs4swapERSs_ZNKSt3_V214error_category10_M_messageEi_ITM_RU1_ZGTtnam_ITM_memcpyRtWn_ITM_RU8_ITM_addUserCommitAction_ZGTtNSt11logic_errorC1EPKc_ITM_memcpyRnWt_ZGTtNSt11logic_errorC2EPKc_ZGTtNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt11logic_errorD1Ev_ZGTtNSt11logic_errorD2Ev_ZGTtNSt11logic_errorD0Ev_ZGTtdlPv_ZGTtNKSt11logic_error4whatEv_ZGTtNSt12domain_errorC1EPKc_ZGTtNSt12domain_errorC2EPKc_ZGTtNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt12domain_errorD1Ev_ZGTtNSt12domain_errorD2Ev_ZGTtNSt12domain_errorD0Ev_ZGTtNSt16invalid_argumentC1EPKc_ZGTtNSt16invalid_argumentC2EPKc_ZGTtNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt16invalid_argumentD1Ev_ZGTtNSt16invalid_argumentD2Ev_ZGTtNSt16invalid_argumentD0Ev_ZGTtNSt12length_errorC1EPKc_ZGTtNSt12length_errorC2EPKc_ZGTtNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt12length_errorD1Ev_ZGTtNSt12length_errorD2Ev_ZGTtNSt12length_errorD0Ev_ZGTtNSt12out_of_rangeC1EPKc_ZGTtNSt12out_of_rangeC2EPKc_ZGTtNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt12out_of_rangeD1Ev_ZGTtNSt12out_of_rangeD2Ev_ZGTtNSt12out_of_rangeD0Ev_ZGTtNSt13runtime_errorC1EPKc_ZGTtNSt13runtime_errorC2EPKc_ZGTtNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt13runtime_errorD1Ev_ZGTtNSt13runtime_errorD2Ev_ZGTtNSt13runtime_errorD0Ev_ZGTtNKSt13runtime_error4whatEv_ZGTtNSt11range_errorC1EPKc_ZGTtNSt11range_errorC2EPKc_ZGTtNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt11range_errorD1Ev_ZGTtNSt11range_errorD2Ev_ZGTtNSt11range_errorD0Ev_ZGTtNSt14overflow_errorC1EPKc_ZGTtNSt14overflow_errorC2EPKc_ZGTtNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt14overflow_errorD1Ev_ZGTtNSt14overflow_errorD2Ev_ZGTtNSt14overflow_errorD0Ev_ZGTtNSt15underflow_errorC1EPKc_ZGTtNSt15underflow_errorC2EPKc_ZGTtNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZGTtNSt15underflow_errorD1Ev_ZGTtNSt15underflow_errorD2Ev_ZGTtNSt15underflow_errorD0Ev_ZNKSt5ctypeIcE9do_narrowEcc_ZNSt5ctypeIcED2Ev_ZTVSt5ctypeIcE_ZNSt5ctypeIcED1Ev_ZNSt5ctypeIwED2Ev_ZTVSt5ctypeIwE_ZTVSt21__ctype_abstract_baseIwE_ZNSt5ctypeIwED1Ev_ZNSt12ctype_bynameIwED2Ev_ZTVSt12ctype_bynameIwE_ZNSt12ctype_bynameIwED1Ev_ZNSt5ctypeIcED0Ev_ZNSt5ctypeIwED0Ev_ZNSt12ctype_bynameIwED0Ev_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc_ZNKSt5ctypeIcE14_M_narrow_initEv_ZNSt5ctypeIwEC2Em_ZNSt5ctypeIwE19_M_initialize_ctypeEv_ZNSt5ctypeIwEC2EP15__locale_structm_ZNSt12ctype_bynameIwEC2EPKcm_ZNSt12ctype_bynameIwEC1EPKcm_ZTSSt10ctype_base_ZTISt10ctype_base_ZTSSt5ctypeIcE_ZTISt5ctypeIcE_ZTSSt5ctypeIwE_ZTISt5ctypeIwE_ZTISt21__ctype_abstract_baseIwE_ZTSSt12ctype_bynameIwE_ZTISt12ctype_bynameIwE_ZNKSt5ctypeIcE10do_toupperEc_ZNKSt5ctypeIcE10do_toupperEPcPKc_ZNKSt5ctypeIcE10do_tolowerEc_ZNKSt5ctypeIcE10do_tolowerEPcPKc_ZNKSt5ctypeIwE5do_isEtw_ZNKSt5ctypeIwE5do_isEPKwS2_Pt_ZNKSt5ctypeIwE10do_scan_isEtPKwS2__ZNKSt5ctypeIwE11do_scan_notEtPKwS2__ZNKSt5ctypeIwE10do_toupperEw_ZNKSt5ctypeIwE10do_toupperEPwPKw_ZNKSt5ctypeIwE10do_tolowerEw_ZNKSt5ctypeIwE10do_tolowerEPwPKw_ZNKSt5ctypeIwE8do_widenEc_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw_ZNKSt5ctypeIwE9do_narrowEwc_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc_ZNSt5ctypeIcE10table_sizeE_ZNSt10ctype_base5blankE_ZNSt10ctype_base5graphE_ZNSt10ctype_base5alnumE_ZNSt10ctype_base6xdigitE_ZNSt10ctype_base5punctE_ZNSt10ctype_base5digitE_ZNSt10ctype_base5alphaE_ZNSt10ctype_base5lowerE_ZNSt10ctype_base5upperE_ZNSt10ctype_base5cntrlE_ZNSt10ctype_base5printE_ZNSt10ctype_base5spaceEisspacefprintf__assert_fail_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0__ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0__ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv_ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv_ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0__ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv_ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE_ZNK11__gnu_debug16_Error_formatter8_M_errorEvstrtoul_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0__ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv_ZSt21__throw_bad_exceptionv_ZSt18__throw_bad_typeidv_ZSt19__throw_logic_errorPKc_ZSt20__throw_domain_errorPKc_ZSt24__throw_invalid_argumentPKc_ZSt20__throw_out_of_rangePKc_ZSt19__throw_range_errorPKc_ZSt22__throw_overflow_errorPKc_ZSt23__throw_underflow_errorPKc_ZNKSt17bad_function_call4whatEv_ZNSt17bad_function_callD2Ev_ZTVSt17bad_function_call_ZNSt17bad_function_callD1Ev_ZNSt17bad_function_callD0Ev_ZSt25__throw_bad_function_callv_ZTISt17bad_function_call_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS2_IlS3_ILl1ELl1000000000EEEE_ZNSt28__atomic_futex_unsigned_base19_M_futex_notify_allEPj_ZNSt3_V214error_categoryD2Ev_ZNSt12future_errorD2Ev_ZTVSt12future_error_ZNSt12future_errorD1Ev_ZNSt12future_errorD0Ev_ZNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZSt20__throw_future_errori_ZTISt12future_error_ZNSt13__future_base12_Result_baseC2Ev_ZTVNSt13__future_base12_Result_baseE_ZNSt13__future_base12_Result_baseC1Ev_ZNSt13__future_base12_Result_baseD2Ev_ZNSt13__future_base12_Result_baseD1Ev_ZNSt13__future_base12_Result_baseD0Ev_ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv_ZNKSt12future_error4whatEv_ZTSSt12future_error_ZTINSt13__future_base12_Result_baseE_ZTINSt3_V214error_categoryE_ZNKSt3_V214error_category10_M_messageB5cxx11Ei_ZNKSt3_V214error_category23default_error_conditionEi_ZNKSt3_V214error_category10equivalentEiRKSt15error_condition_ZNKSt3_V214error_category10equivalentERKSt10error_codei_ZNKSt4hashIeEclEe_ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEm_ZNSt8__detail12__prime_listE_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm_ZTVSt8ios_base_ZNSt8ios_baseC1Ev_ZNSt8ios_base6xallocEv_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi_ZNSt8ios_base13_M_grow_wordsEib_ZSt19__throw_ios_failurePKc_ZNSt8ios_base20_M_dispose_callbacksEv_ZNSt8ios_baseD1Ev_ZNSt8ios_baseD0Ev_ZNSt8ios_base7_M_moveERS__ZNSt8ios_base7_M_swapERS__ZTSSt8ios_base_ZTISt8ios_base_ZNSt8ios_base3endE_ZNSt8ios_base3curE_ZNSt8ios_base3begE_ZNSt8ios_base5truncE_ZNSt8ios_base3outE_ZNSt8ios_base2inE_ZNSt8ios_base6binaryE_ZNSt8ios_base3ateE_ZNSt8ios_base3appE_ZNSt8ios_base7goodbitE_ZNSt8ios_base7failbitE_ZNSt8ios_base6eofbitE_ZNSt8ios_base6badbitE_ZNSt8ios_base10floatfieldE_ZNSt8ios_base9basefieldE_ZNSt8ios_base11adjustfieldE_ZNSt8ios_base9uppercaseE_ZNSt8ios_base7unitbufE_ZNSt8ios_base6skipwsE_ZNSt8ios_base7showposE_ZNSt8ios_base9showpointE_ZNSt8ios_base8showbaseE_ZNSt8ios_base10scientificE_ZNSt8ios_base5rightE_ZNSt8ios_base3octE_ZNSt8ios_base4leftE_ZNSt8ios_base8internalE_ZNSt8ios_base3hexE_ZNSt8ios_base5fixedE_ZNSt8ios_base3decE_ZNSt8ios_base9boolalphaE_ZNSt14numeric_limitsIDiE11round_styleE_ZNSt14numeric_limitsIDiE15tinyness_beforeE_ZNSt14numeric_limitsIDiE5trapsE_ZNSt14numeric_limitsIDiE9is_moduloE_ZNSt14numeric_limitsIDiE10is_boundedE_ZNSt14numeric_limitsIDiE9is_iec559E_ZNSt14numeric_limitsIDiE15has_denorm_lossE_ZNSt14numeric_limitsIDiE10has_denormE_ZNSt14numeric_limitsIDiE17has_signaling_NaNE_ZNSt14numeric_limitsIDiE13has_quiet_NaNE_ZNSt14numeric_limitsIDiE12has_infinityE_ZNSt14numeric_limitsIDiE14max_exponent10E_ZNSt14numeric_limitsIDiE12max_exponentE_ZNSt14numeric_limitsIDiE14min_exponent10E_ZNSt14numeric_limitsIDiE12min_exponentE_ZNSt14numeric_limitsIDiE5radixE_ZNSt14numeric_limitsIDiE8is_exactE_ZNSt14numeric_limitsIDiE10is_integerE_ZNSt14numeric_limitsIDiE9is_signedE_ZNSt14numeric_limitsIDiE12max_digits10E_ZNSt14numeric_limitsIDiE8digits10E_ZNSt14numeric_limitsIDiE6digitsE_ZNSt14numeric_limitsIDiE14is_specializedE_ZNSt14numeric_limitsIDsE11round_styleE_ZNSt14numeric_limitsIDsE15tinyness_beforeE_ZNSt14numeric_limitsIDsE5trapsE_ZNSt14numeric_limitsIDsE9is_moduloE_ZNSt14numeric_limitsIDsE10is_boundedE_ZNSt14numeric_limitsIDsE9is_iec559E_ZNSt14numeric_limitsIDsE15has_denorm_lossE_ZNSt14numeric_limitsIDsE10has_denormE_ZNSt14numeric_limitsIDsE17has_signaling_NaNE_ZNSt14numeric_limitsIDsE13has_quiet_NaNE_ZNSt14numeric_limitsIDsE12has_infinityE_ZNSt14numeric_limitsIDsE14max_exponent10E_ZNSt14numeric_limitsIDsE12max_exponentE_ZNSt14numeric_limitsIDsE14min_exponent10E_ZNSt14numeric_limitsIDsE12min_exponentE_ZNSt14numeric_limitsIDsE5radixE_ZNSt14numeric_limitsIDsE8is_exactE_ZNSt14numeric_limitsIDsE10is_integerE_ZNSt14numeric_limitsIDsE9is_signedE_ZNSt14numeric_limitsIDsE12max_digits10E_ZNSt14numeric_limitsIDsE8digits10E_ZNSt14numeric_limitsIDsE6digitsE_ZNSt14numeric_limitsIDsE14is_specializedE_ZNSt14numeric_limitsIeE11round_styleE_ZNSt14numeric_limitsIeE15tinyness_beforeE_ZNSt14numeric_limitsIeE5trapsE_ZNSt14numeric_limitsIeE9is_moduloE_ZNSt14numeric_limitsIeE10is_boundedE_ZNSt14numeric_limitsIeE9is_iec559E_ZNSt14numeric_limitsIeE15has_denorm_lossE_ZNSt14numeric_limitsIeE10has_denormE_ZNSt14numeric_limitsIeE17has_signaling_NaNE_ZNSt14numeric_limitsIeE13has_quiet_NaNE_ZNSt14numeric_limitsIeE12has_infinityE_ZNSt14numeric_limitsIeE14max_exponent10E_ZNSt14numeric_limitsIeE12max_exponentE_ZNSt14numeric_limitsIeE14min_exponent10E_ZNSt14numeric_limitsIeE12min_exponentE_ZNSt14numeric_limitsIeE5radixE_ZNSt14numeric_limitsIeE8is_exactE_ZNSt14numeric_limitsIeE10is_integerE_ZNSt14numeric_limitsIeE9is_signedE_ZNSt14numeric_limitsIeE12max_digits10E_ZNSt14numeric_limitsIeE8digits10E_ZNSt14numeric_limitsIeE6digitsE_ZNSt14numeric_limitsIeE14is_specializedE_ZNSt14numeric_limitsIdE11round_styleE_ZNSt14numeric_limitsIdE15tinyness_beforeE_ZNSt14numeric_limitsIdE5trapsE_ZNSt14numeric_limitsIdE9is_moduloE_ZNSt14numeric_limitsIdE10is_boundedE_ZNSt14numeric_limitsIdE9is_iec559E_ZNSt14numeric_limitsIdE15has_denorm_lossE_ZNSt14numeric_limitsIdE10has_denormE_ZNSt14numeric_limitsIdE17has_signaling_NaNE_ZNSt14numeric_limitsIdE13has_quiet_NaNE_ZNSt14numeric_limitsIdE12has_infinityE_ZNSt14numeric_limitsIdE14max_exponent10E_ZNSt14numeric_limitsIdE12max_exponentE_ZNSt14numeric_limitsIdE14min_exponent10E_ZNSt14numeric_limitsIdE12min_exponentE_ZNSt14numeric_limitsIdE5radixE_ZNSt14numeric_limitsIdE8is_exactE_ZNSt14numeric_limitsIdE10is_integerE_ZNSt14numeric_limitsIdE9is_signedE_ZNSt14numeric_limitsIdE12max_digits10E_ZNSt14numeric_limitsIdE8digits10E_ZNSt14numeric_limitsIdE6digitsE_ZNSt14numeric_limitsIdE14is_specializedE_ZNSt14numeric_limitsIfE11round_styleE_ZNSt14numeric_limitsIfE15tinyness_beforeE_ZNSt14numeric_limitsIfE5trapsE_ZNSt14numeric_limitsIfE9is_moduloE_ZNSt14numeric_limitsIfE10is_boundedE_ZNSt14numeric_limitsIfE9is_iec559E_ZNSt14numeric_limitsIfE15has_denorm_lossE_ZNSt14numeric_limitsIfE10has_denormE_ZNSt14numeric_limitsIfE17has_signaling_NaNE_ZNSt14numeric_limitsIfE13has_quiet_NaNE_ZNSt14numeric_limitsIfE12has_infinityE_ZNSt14numeric_limitsIfE14max_exponent10E_ZNSt14numeric_limitsIfE12max_exponentE_ZNSt14numeric_limitsIfE14min_exponent10E_ZNSt14numeric_limitsIfE12min_exponentE_ZNSt14numeric_limitsIfE5radixE_ZNSt14numeric_limitsIfE8is_exactE_ZNSt14numeric_limitsIfE10is_integerE_ZNSt14numeric_limitsIfE9is_signedE_ZNSt14numeric_limitsIfE12max_digits10E_ZNSt14numeric_limitsIfE8digits10E_ZNSt14numeric_limitsIfE6digitsE_ZNSt14numeric_limitsIfE14is_specializedE_ZNSt14numeric_limitsIoE11round_styleE_ZNSt14numeric_limitsIoE15tinyness_beforeE_ZNSt14numeric_limitsIoE5trapsE_ZNSt14numeric_limitsIoE9is_moduloE_ZNSt14numeric_limitsIoE10is_boundedE_ZNSt14numeric_limitsIoE9is_iec559E_ZNSt14numeric_limitsIoE15has_denorm_lossE_ZNSt14numeric_limitsIoE10has_denormE_ZNSt14numeric_limitsIoE17has_signaling_NaNE_ZNSt14numeric_limitsIoE13has_quiet_NaNE_ZNSt14numeric_limitsIoE12has_infinityE_ZNSt14numeric_limitsIoE14max_exponent10E_ZNSt14numeric_limitsIoE12max_exponentE_ZNSt14numeric_limitsIoE14min_exponent10E_ZNSt14numeric_limitsIoE12min_exponentE_ZNSt14numeric_limitsIoE5radixE_ZNSt14numeric_limitsIoE8is_exactE_ZNSt14numeric_limitsIoE10is_integerE_ZNSt14numeric_limitsIoE9is_signedE_ZNSt14numeric_limitsIoE12max_digits10E_ZNSt14numeric_limitsIoE8digits10E_ZNSt14numeric_limitsIoE6digitsE_ZNSt14numeric_limitsIoE14is_specializedE_ZNSt14numeric_limitsInE11round_styleE_ZNSt14numeric_limitsInE15tinyness_beforeE_ZNSt14numeric_limitsInE5trapsE_ZNSt14numeric_limitsInE9is_moduloE_ZNSt14numeric_limitsInE10is_boundedE_ZNSt14numeric_limitsInE9is_iec559E_ZNSt14numeric_limitsInE15has_denorm_lossE_ZNSt14numeric_limitsInE10has_denormE_ZNSt14numeric_limitsInE17has_signaling_NaNE_ZNSt14numeric_limitsInE13has_quiet_NaNE_ZNSt14numeric_limitsInE12has_infinityE_ZNSt14numeric_limitsInE14max_exponent10E_ZNSt14numeric_limitsInE12max_exponentE_ZNSt14numeric_limitsInE14min_exponent10E_ZNSt14numeric_limitsInE12min_exponentE_ZNSt14numeric_limitsInE5radixE_ZNSt14numeric_limitsInE8is_exactE_ZNSt14numeric_limitsInE10is_integerE_ZNSt14numeric_limitsInE9is_signedE_ZNSt14numeric_limitsInE12max_digits10E_ZNSt14numeric_limitsInE8digits10E_ZNSt14numeric_limitsInE6digitsE_ZNSt14numeric_limitsInE14is_specializedE_ZNSt14numeric_limitsIyE11round_styleE_ZNSt14numeric_limitsIyE15tinyness_beforeE_ZNSt14numeric_limitsIyE5trapsE_ZNSt14numeric_limitsIyE9is_moduloE_ZNSt14numeric_limitsIyE10is_boundedE_ZNSt14numeric_limitsIyE9is_iec559E_ZNSt14numeric_limitsIyE15has_denorm_lossE_ZNSt14numeric_limitsIyE10has_denormE_ZNSt14numeric_limitsIyE17has_signaling_NaNE_ZNSt14numeric_limitsIyE13has_quiet_NaNE_ZNSt14numeric_limitsIyE12has_infinityE_ZNSt14numeric_limitsIyE14max_exponent10E_ZNSt14numeric_limitsIyE12max_exponentE_ZNSt14numeric_limitsIyE14min_exponent10E_ZNSt14numeric_limitsIyE12min_exponentE_ZNSt14numeric_limitsIyE5radixE_ZNSt14numeric_limitsIyE8is_exactE_ZNSt14numeric_limitsIyE10is_integerE_ZNSt14numeric_limitsIyE9is_signedE_ZNSt14numeric_limitsIyE12max_digits10E_ZNSt14numeric_limitsIyE8digits10E_ZNSt14numeric_limitsIyE6digitsE_ZNSt14numeric_limitsIyE14is_specializedE_ZNSt14numeric_limitsIxE11round_styleE_ZNSt14numeric_limitsIxE15tinyness_beforeE_ZNSt14numeric_limitsIxE5trapsE_ZNSt14numeric_limitsIxE9is_moduloE_ZNSt14numeric_limitsIxE10is_boundedE_ZNSt14numeric_limitsIxE9is_iec559E_ZNSt14numeric_limitsIxE15has_denorm_lossE_ZNSt14numeric_limitsIxE10has_denormE_ZNSt14numeric_limitsIxE17has_signaling_NaNE_ZNSt14numeric_limitsIxE13has_quiet_NaNE_ZNSt14numeric_limitsIxE12has_infinityE_ZNSt14numeric_limitsIxE14max_exponent10E_ZNSt14numeric_limitsIxE12max_exponentE_ZNSt14numeric_limitsIxE14min_exponent10E_ZNSt14numeric_limitsIxE12min_exponentE_ZNSt14numeric_limitsIxE5radixE_ZNSt14numeric_limitsIxE8is_exactE_ZNSt14numeric_limitsIxE10is_integerE_ZNSt14numeric_limitsIxE9is_signedE_ZNSt14numeric_limitsIxE12max_digits10E_ZNSt14numeric_limitsIxE8digits10E_ZNSt14numeric_limitsIxE6digitsE_ZNSt14numeric_limitsIxE14is_specializedE_ZNSt14numeric_limitsImE11round_styleE_ZNSt14numeric_limitsImE15tinyness_beforeE_ZNSt14numeric_limitsImE5trapsE_ZNSt14numeric_limitsImE9is_moduloE_ZNSt14numeric_limitsImE10is_boundedE_ZNSt14numeric_limitsImE9is_iec559E_ZNSt14numeric_limitsImE15has_denorm_lossE_ZNSt14numeric_limitsImE10has_denormE_ZNSt14numeric_limitsImE17has_signaling_NaNE_ZNSt14numeric_limitsImE13has_quiet_NaNE_ZNSt14numeric_limitsImE12has_infinityE_ZNSt14numeric_limitsImE14max_exponent10E_ZNSt14numeric_limitsImE12max_exponentE_ZNSt14numeric_limitsImE14min_exponent10E_ZNSt14numeric_limitsImE12min_exponentE_ZNSt14numeric_limitsImE5radixE_ZNSt14numeric_limitsImE8is_exactE_ZNSt14numeric_limitsImE10is_integerE_ZNSt14numeric_limitsImE9is_signedE_ZNSt14numeric_limitsImE12max_digits10E_ZNSt14numeric_limitsImE8digits10E_ZNSt14numeric_limitsImE6digitsE_ZNSt14numeric_limitsImE14is_specializedE_ZNSt14numeric_limitsIlE11round_styleE_ZNSt14numeric_limitsIlE15tinyness_beforeE_ZNSt14numeric_limitsIlE5trapsE_ZNSt14numeric_limitsIlE9is_moduloE_ZNSt14numeric_limitsIlE10is_boundedE_ZNSt14numeric_limitsIlE9is_iec559E_ZNSt14numeric_limitsIlE15has_denorm_lossE_ZNSt14numeric_limitsIlE10has_denormE_ZNSt14numeric_limitsIlE17has_signaling_NaNE_ZNSt14numeric_limitsIlE13has_quiet_NaNE_ZNSt14numeric_limitsIlE12has_infinityE_ZNSt14numeric_limitsIlE14max_exponent10E_ZNSt14numeric_limitsIlE12max_exponentE_ZNSt14numeric_limitsIlE14min_exponent10E_ZNSt14numeric_limitsIlE12min_exponentE_ZNSt14numeric_limitsIlE5radixE_ZNSt14numeric_limitsIlE8is_exactE_ZNSt14numeric_limitsIlE10is_integerE_ZNSt14numeric_limitsIlE9is_signedE_ZNSt14numeric_limitsIlE12max_digits10E_ZNSt14numeric_limitsIlE8digits10E_ZNSt14numeric_limitsIlE6digitsE_ZNSt14numeric_limitsIlE14is_specializedE_ZNSt14numeric_limitsIjE11round_styleE_ZNSt14numeric_limitsIjE15tinyness_beforeE_ZNSt14numeric_limitsIjE5trapsE_ZNSt14numeric_limitsIjE9is_moduloE_ZNSt14numeric_limitsIjE10is_boundedE_ZNSt14numeric_limitsIjE9is_iec559E_ZNSt14numeric_limitsIjE15has_denorm_lossE_ZNSt14numeric_limitsIjE10has_denormE_ZNSt14numeric_limitsIjE17has_signaling_NaNE_ZNSt14numeric_limitsIjE13has_quiet_NaNE_ZNSt14numeric_limitsIjE12has_infinityE_ZNSt14numeric_limitsIjE14max_exponent10E_ZNSt14numeric_limitsIjE12max_exponentE_ZNSt14numeric_limitsIjE14min_exponent10E_ZNSt14numeric_limitsIjE12min_exponentE_ZNSt14numeric_limitsIjE5radixE_ZNSt14numeric_limitsIjE8is_exactE_ZNSt14numeric_limitsIjE10is_integerE_ZNSt14numeric_limitsIjE9is_signedE_ZNSt14numeric_limitsIjE12max_digits10E_ZNSt14numeric_limitsIjE8digits10E_ZNSt14numeric_limitsIjE6digitsE_ZNSt14numeric_limitsIjE14is_specializedE_ZNSt14numeric_limitsIiE11round_styleE_ZNSt14numeric_limitsIiE15tinyness_beforeE_ZNSt14numeric_limitsIiE5trapsE_ZNSt14numeric_limitsIiE9is_moduloE_ZNSt14numeric_limitsIiE10is_boundedE_ZNSt14numeric_limitsIiE9is_iec559E_ZNSt14numeric_limitsIiE15has_denorm_lossE_ZNSt14numeric_limitsIiE10has_denormE_ZNSt14numeric_limitsIiE17has_signaling_NaNE_ZNSt14numeric_limitsIiE13has_quiet_NaNE_ZNSt14numeric_limitsIiE12has_infinityE_ZNSt14numeric_limitsIiE14max_exponent10E_ZNSt14numeric_limitsIiE12max_exponentE_ZNSt14numeric_limitsIiE14min_exponent10E_ZNSt14numeric_limitsIiE12min_exponentE_ZNSt14numeric_limitsIiE5radixE_ZNSt14numeric_limitsIiE8is_exactE_ZNSt14numeric_limitsIiE10is_integerE_ZNSt14numeric_limitsIiE9is_signedE_ZNSt14numeric_limitsIiE12max_digits10E_ZNSt14numeric_limitsIiE8digits10E_ZNSt14numeric_limitsIiE6digitsE_ZNSt14numeric_limitsIiE14is_specializedE_ZNSt14numeric_limitsItE11round_styleE_ZNSt14numeric_limitsItE15tinyness_beforeE_ZNSt14numeric_limitsItE5trapsE_ZNSt14numeric_limitsItE9is_moduloE_ZNSt14numeric_limitsItE10is_boundedE_ZNSt14numeric_limitsItE9is_iec559E_ZNSt14numeric_limitsItE15has_denorm_lossE_ZNSt14numeric_limitsItE10has_denormE_ZNSt14numeric_limitsItE17has_signaling_NaNE_ZNSt14numeric_limitsItE13has_quiet_NaNE_ZNSt14numeric_limitsItE12has_infinityE_ZNSt14numeric_limitsItE14max_exponent10E_ZNSt14numeric_limitsItE12max_exponentE_ZNSt14numeric_limitsItE14min_exponent10E_ZNSt14numeric_limitsItE12min_exponentE_ZNSt14numeric_limitsItE5radixE_ZNSt14numeric_limitsItE8is_exactE_ZNSt14numeric_limitsItE10is_integerE_ZNSt14numeric_limitsItE9is_signedE_ZNSt14numeric_limitsItE12max_digits10E_ZNSt14numeric_limitsItE8digits10E_ZNSt14numeric_limitsItE6digitsE_ZNSt14numeric_limitsItE14is_specializedE_ZNSt14numeric_limitsIsE11round_styleE_ZNSt14numeric_limitsIsE15tinyness_beforeE_ZNSt14numeric_limitsIsE5trapsE_ZNSt14numeric_limitsIsE9is_moduloE_ZNSt14numeric_limitsIsE10is_boundedE_ZNSt14numeric_limitsIsE9is_iec559E_ZNSt14numeric_limitsIsE15has_denorm_lossE_ZNSt14numeric_limitsIsE10has_denormE_ZNSt14numeric_limitsIsE17has_signaling_NaNE_ZNSt14numeric_limitsIsE13has_quiet_NaNE_ZNSt14numeric_limitsIsE12has_infinityE_ZNSt14numeric_limitsIsE14max_exponent10E_ZNSt14numeric_limitsIsE12max_exponentE_ZNSt14numeric_limitsIsE14min_exponent10E_ZNSt14numeric_limitsIsE12min_exponentE_ZNSt14numeric_limitsIsE5radixE_ZNSt14numeric_limitsIsE8is_exactE_ZNSt14numeric_limitsIsE10is_integerE_ZNSt14numeric_limitsIsE9is_signedE_ZNSt14numeric_limitsIsE12max_digits10E_ZNSt14numeric_limitsIsE8digits10E_ZNSt14numeric_limitsIsE6digitsE_ZNSt14numeric_limitsIsE14is_specializedE_ZNSt14numeric_limitsIwE11round_styleE_ZNSt14numeric_limitsIwE15tinyness_beforeE_ZNSt14numeric_limitsIwE5trapsE_ZNSt14numeric_limitsIwE9is_moduloE_ZNSt14numeric_limitsIwE10is_boundedE_ZNSt14numeric_limitsIwE9is_iec559E_ZNSt14numeric_limitsIwE15has_denorm_lossE_ZNSt14numeric_limitsIwE10has_denormE_ZNSt14numeric_limitsIwE17has_signaling_NaNE_ZNSt14numeric_limitsIwE13has_quiet_NaNE_ZNSt14numeric_limitsIwE12has_infinityE_ZNSt14numeric_limitsIwE14max_exponent10E_ZNSt14numeric_limitsIwE12max_exponentE_ZNSt14numeric_limitsIwE14min_exponent10E_ZNSt14numeric_limitsIwE12min_exponentE_ZNSt14numeric_limitsIwE5radixE_ZNSt14numeric_limitsIwE8is_exactE_ZNSt14numeric_limitsIwE10is_integerE_ZNSt14numeric_limitsIwE9is_signedE_ZNSt14numeric_limitsIwE12max_digits10E_ZNSt14numeric_limitsIwE8digits10E_ZNSt14numeric_limitsIwE6digitsE_ZNSt14numeric_limitsIwE14is_specializedE_ZNSt14numeric_limitsIhE11round_styleE_ZNSt14numeric_limitsIhE15tinyness_beforeE_ZNSt14numeric_limitsIhE5trapsE_ZNSt14numeric_limitsIhE9is_moduloE_ZNSt14numeric_limitsIhE10is_boundedE_ZNSt14numeric_limitsIhE9is_iec559E_ZNSt14numeric_limitsIhE15has_denorm_lossE_ZNSt14numeric_limitsIhE10has_denormE_ZNSt14numeric_limitsIhE17has_signaling_NaNE_ZNSt14numeric_limitsIhE13has_quiet_NaNE_ZNSt14numeric_limitsIhE12has_infinityE_ZNSt14numeric_limitsIhE14max_exponent10E_ZNSt14numeric_limitsIhE12max_exponentE_ZNSt14numeric_limitsIhE14min_exponent10E_ZNSt14numeric_limitsIhE12min_exponentE_ZNSt14numeric_limitsIhE5radixE_ZNSt14numeric_limitsIhE8is_exactE_ZNSt14numeric_limitsIhE10is_integerE_ZNSt14numeric_limitsIhE9is_signedE_ZNSt14numeric_limitsIhE12max_digits10E_ZNSt14numeric_limitsIhE8digits10E_ZNSt14numeric_limitsIhE6digitsE_ZNSt14numeric_limitsIhE14is_specializedE_ZNSt14numeric_limitsIaE11round_styleE_ZNSt14numeric_limitsIaE15tinyness_beforeE_ZNSt14numeric_limitsIaE5trapsE_ZNSt14numeric_limitsIaE9is_moduloE_ZNSt14numeric_limitsIaE10is_boundedE_ZNSt14numeric_limitsIaE9is_iec559E_ZNSt14numeric_limitsIaE15has_denorm_lossE_ZNSt14numeric_limitsIaE10has_denormE_ZNSt14numeric_limitsIaE17has_signaling_NaNE_ZNSt14numeric_limitsIaE13has_quiet_NaNE_ZNSt14numeric_limitsIaE12has_infinityE_ZNSt14numeric_limitsIaE14max_exponent10E_ZNSt14numeric_limitsIaE12max_exponentE_ZNSt14numeric_limitsIaE14min_exponent10E_ZNSt14numeric_limitsIaE12min_exponentE_ZNSt14numeric_limitsIaE5radixE_ZNSt14numeric_limitsIaE8is_exactE_ZNSt14numeric_limitsIaE10is_integerE_ZNSt14numeric_limitsIaE9is_signedE_ZNSt14numeric_limitsIaE12max_digits10E_ZNSt14numeric_limitsIaE8digits10E_ZNSt14numeric_limitsIaE6digitsE_ZNSt14numeric_limitsIaE14is_specializedE_ZNSt14numeric_limitsIcE11round_styleE_ZNSt14numeric_limitsIcE15tinyness_beforeE_ZNSt14numeric_limitsIcE5trapsE_ZNSt14numeric_limitsIcE9is_moduloE_ZNSt14numeric_limitsIcE10is_boundedE_ZNSt14numeric_limitsIcE9is_iec559E_ZNSt14numeric_limitsIcE15has_denorm_lossE_ZNSt14numeric_limitsIcE10has_denormE_ZNSt14numeric_limitsIcE17has_signaling_NaNE_ZNSt14numeric_limitsIcE13has_quiet_NaNE_ZNSt14numeric_limitsIcE12has_infinityE_ZNSt14numeric_limitsIcE14max_exponent10E_ZNSt14numeric_limitsIcE12max_exponentE_ZNSt14numeric_limitsIcE14min_exponent10E_ZNSt14numeric_limitsIcE12min_exponentE_ZNSt14numeric_limitsIcE5radixE_ZNSt14numeric_limitsIcE8is_exactE_ZNSt14numeric_limitsIcE10is_integerE_ZNSt14numeric_limitsIcE9is_signedE_ZNSt14numeric_limitsIcE12max_digits10E_ZNSt14numeric_limitsIcE8digits10E_ZNSt14numeric_limitsIcE6digitsE_ZNSt14numeric_limitsIcE14is_specializedE_ZNSt14numeric_limitsIbE11round_styleE_ZNSt14numeric_limitsIbE15tinyness_beforeE_ZNSt14numeric_limitsIbE5trapsE_ZNSt14numeric_limitsIbE9is_moduloE_ZNSt14numeric_limitsIbE10is_boundedE_ZNSt14numeric_limitsIbE9is_iec559E_ZNSt14numeric_limitsIbE15has_denorm_lossE_ZNSt14numeric_limitsIbE10has_denormE_ZNSt14numeric_limitsIbE17has_signaling_NaNE_ZNSt14numeric_limitsIbE13has_quiet_NaNE_ZNSt14numeric_limitsIbE12has_infinityE_ZNSt14numeric_limitsIbE14max_exponent10E_ZNSt14numeric_limitsIbE12max_exponentE_ZNSt14numeric_limitsIbE14min_exponent10E_ZNSt14numeric_limitsIbE12min_exponentE_ZNSt14numeric_limitsIbE5radixE_ZNSt14numeric_limitsIbE8is_exactE_ZNSt14numeric_limitsIbE10is_integerE_ZNSt14numeric_limitsIbE9is_signedE_ZNSt14numeric_limitsIbE12max_digits10E_ZNSt14numeric_limitsIbE8digits10E_ZNSt14numeric_limitsIbE6digitsE_ZNSt14numeric_limitsIbE14is_specializedE_ZNSt21__numeric_limits_base11round_styleE_ZNSt21__numeric_limits_base15tinyness_beforeE_ZNSt21__numeric_limits_base5trapsE_ZNSt21__numeric_limits_base9is_moduloE_ZNSt21__numeric_limits_base10is_boundedE_ZNSt21__numeric_limits_base9is_iec559E_ZNSt21__numeric_limits_base15has_denorm_lossE_ZNSt21__numeric_limits_base10has_denormE_ZNSt21__numeric_limits_base17has_signaling_NaNE_ZNSt21__numeric_limits_base13has_quiet_NaNE_ZNSt21__numeric_limits_base12has_infinityE_ZNSt21__numeric_limits_base14max_exponent10E_ZNSt21__numeric_limits_base12max_exponentE_ZNSt21__numeric_limits_base14min_exponent10E_ZNSt21__numeric_limits_base12min_exponentE_ZNSt21__numeric_limits_base5radixE_ZNSt21__numeric_limits_base8is_exactE_ZNSt21__numeric_limits_base10is_integerE_ZNSt21__numeric_limits_base9is_signedE_ZNSt21__numeric_limits_base12max_digits10E_ZNSt21__numeric_limits_base8digits10E_ZNSt21__numeric_limits_base6digitsE_ZNSt21__numeric_limits_base14is_specializedE_ZNSt12placeholders3_29E_ZNSt12placeholders3_28E_ZNSt12placeholders3_27E_ZNSt12placeholders3_26E_ZNSt12placeholders3_25E_ZNSt12placeholders3_24E_ZNSt12placeholders3_23E_ZNSt12placeholders3_22E_ZNSt12placeholders3_21E_ZNSt12placeholders3_20E_ZNSt12placeholders3_19E_ZNSt12placeholders3_18E_ZNSt12placeholders3_17E_ZNSt12placeholders3_16E_ZNSt12placeholders3_15E_ZNSt12placeholders3_14E_ZNSt12placeholders3_13E_ZNSt12placeholders3_12E_ZNSt12placeholders3_11E_ZNSt12placeholders3_10E_ZNSt12placeholders2_9E_ZNSt12placeholders2_8E_ZNSt12placeholders2_7E_ZNSt12placeholders2_6E_ZNSt12placeholders2_5E_ZNSt12placeholders2_4E_ZNSt12placeholders2_3E_ZNSt12placeholders2_2E_ZNSt12placeholders2_1E_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEfopen_ZNSt13random_device7_M_finiEv_ZNSt13random_device9_M_getvalEv_ZNKSt13random_device13_M_getentropyEv_ZNSt13random_device14_M_init_pretr1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt13random_device16_M_getval_pretr1Ev_ZNSt11regex_errorD2Ev_ZTVSt11regex_error_ZNSt11regex_errorD1Ev_ZNSt11regex_errorD0Ev_ZNSt11regex_errorC2ENSt15regex_constants10error_typeE_ZNSt11regex_errorC1ENSt15regex_constants10error_typeE_ZSt19__throw_regex_errorNSt15regex_constants10error_typeE_ZTISt11regex_error_ZNKSt12bad_weak_ptr4whatEv_ZNSt12bad_weak_ptrD2Ev_ZTVSt12bad_weak_ptr_ZNSt12bad_weak_ptrD1Ev_ZNSt12bad_weak_ptrD0Ev_ZNSt10_Sp_lockerC2EPKv_ZNSt10_Sp_lockerC1EPKv_ZNSt10_Sp_lockerC2EPKvS1__ZNSt10_Sp_lockerC1EPKvS1__ZNSt10_Sp_lockerD2Ev_ZNSt10_Sp_lockerD1Ev_ZTISt12bad_weak_ptr_ZNSt12system_errorD2Ev_ZTVSt12system_error_ZNSt12system_errorD1Ev_ZNSt12system_errorD0Ev_ZNSt3_V214error_categoryD1Ev_ZNSt3_V214error_categoryD0Ev_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZTISt12system_error_ZNKSt10error_code23default_error_conditionEv_ZTSSt12system_error_ZTVNSt3_V214error_categoryE_ZNSt6thread6_StateD2Ev_ZNSt6thread6_StateD1Ev_ZNSt6thread6_StateD0Ev_ZNSt6thread6detachEv_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE_ZNSt6thread20hardware_concurrencyEvget_nprocs_ZNSt11this_thread11__sleep_forENSt6chrono8durationIlSt5ratioILl1ELl1EEEENS1_IlS2_ILl1ELl1000000000EEEEnanosleep_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEEPFvvE_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE_ZTSNSt6thread6_StateE_ZTINSt6thread6_StateE_ZTVNSt6thread6_StateEpthread_detachpthread_joinpthread_create_ZTVSt7collateIcE_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZNSt8messagesIcEC1Em_ZTVSt7collateIwE_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZNSt8messagesIwEC1Em_ZNSt8messagesIcEC1EP15__locale_structPKcm_ZNSt8messagesIwEC1EP15__locale_structPKcm_ZNKSt6locale4nameEv_ZNSs6assignEPKcm_ZNSs14_M_replace_auxEmmmc_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1__ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1__ZNSt8messagesIcED2Ev_ZNSt8messagesIwED2Ev_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2__ZNKSs4copyEPcmm_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm_ZNSt8messagesIwEC2Em_ZNSt8messagesIcEC2Em_ZTISt8numpunctIcE_ZTISt7collateIcE_ZTISt10moneypunctIcLb1EE_ZTISt10moneypunctIcLb0EE_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZTISt8messagesIcE_ZTISt8numpunctIwE_ZTISt7collateIwE_ZTISt10moneypunctIwLb1EE_ZTISt10moneypunctIwLb0EE_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZTISt8messagesIwE_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZNKSt8numpunctIcE16do_decimal_pointEv_ZNKSt8numpunctIcE16do_thousands_sepEv_ZNKSt8numpunctIcE11do_groupingEv_ZNKSt8numpunctIcE11do_truenameEv_ZNKSt8numpunctIcE12do_falsenameEv_ZNKSt7collateIcE7do_hashEPKcS2__ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv_ZNKSt10moneypunctIcLb1EE11do_groupingEv_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv_ZNKSt10moneypunctIcLb1EE16do_positive_signEv_ZNKSt10moneypunctIcLb1EE16do_negative_signEv_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv_ZNKSt10moneypunctIcLb0EE11do_groupingEv_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv_ZNKSt10moneypunctIcLb0EE16do_positive_signEv_ZNKSt10moneypunctIcLb0EE16do_negative_signEv_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv_ZNKSt8numpunctIwE16do_decimal_pointEv_ZNKSt8numpunctIwE16do_thousands_sepEv_ZNKSt8numpunctIwE11do_groupingEv_ZNKSt8numpunctIwE11do_truenameEv_ZNKSt8numpunctIwE12do_falsenameEv_ZNKSt7collateIwE7do_hashEPKwS2__ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv_ZNKSt10moneypunctIwLb1EE11do_groupingEv_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv_ZNKSt10moneypunctIwLb1EE16do_positive_signEv_ZNKSt10moneypunctIwLb1EE16do_negative_signEv_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv_ZNKSt10moneypunctIwLb0EE11do_groupingEv_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv_ZNKSt10moneypunctIwLb0EE16do_positive_signEv_ZNKSt10moneypunctIwLb0EE16do_negative_signEv_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv_ZNKSt3tr14hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES6__ZNKSt3tr14hashINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES6__ZNSt8ios_base7failureB5cxx11D2Ev_ZTVNSt8ios_base7failureB5cxx11E_ZNSt8ios_base7failureB5cxx11D1Ev_ZNSt8ios_base7failureB5cxx11D0Ev_ZNKSt8ios_base7failureB5cxx114whatEv_ZSt17iostream_categoryv_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code_ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code_ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code_ZTSNSt8ios_base7failureB5cxx11E_ZTINSt8ios_base7failureB5cxx11E_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag_ZNSt7__cxx118messagesIcED2Ev_ZNSt7__cxx118messagesIwED2Ev_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcmm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4copyEPwmm_ZNSt7__cxx118messagesIwEC2Em_ZNSt7__cxx118messagesIcEC2Em_ZTINSt7__cxx118numpunctIcEE_ZTINSt7__cxx117collateIcEE_ZTINSt7__cxx1110moneypunctIcLb1EEE_ZTINSt7__cxx1110moneypunctIcLb0EEE_ZTINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE_ZTINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE_ZTINSt7__cxx118messagesIcEE_ZTINSt7__cxx118numpunctIwEE_ZTINSt7__cxx117collateIwEE_ZTINSt7__cxx1110moneypunctIwLb1EEE_ZTINSt7__cxx1110moneypunctIwLb0EEE_ZTINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE_ZTINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE_ZTINSt7__cxx118messagesIwEE_ZTINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE_ZTINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE_ZNKSt7__cxx118numpunctIcE16do_decimal_pointEv_ZNKSt7__cxx118numpunctIcE16do_thousands_sepEv_ZNKSt7__cxx118numpunctIcE11do_groupingEv_ZNKSt7__cxx118numpunctIcE11do_truenameEv_ZNKSt7__cxx118numpunctIcE12do_falsenameEv_ZNKSt7__cxx117collateIcE7do_hashEPKcS3__ZNKSt7__cxx1110moneypunctIcLb1EE16do_decimal_pointEv_ZNKSt7__cxx1110moneypunctIcLb1EE16do_thousands_sepEv_ZNKSt7__cxx1110moneypunctIcLb1EE11do_groupingEv_ZNKSt7__cxx1110moneypunctIcLb1EE14do_curr_symbolEv_ZNKSt7__cxx1110moneypunctIcLb1EE16do_positive_signEv_ZNKSt7__cxx1110moneypunctIcLb1EE16do_negative_signEv_ZNKSt7__cxx1110moneypunctIcLb1EE14do_frac_digitsEv_ZNKSt7__cxx1110moneypunctIcLb1EE13do_pos_formatEv_ZNKSt7__cxx1110moneypunctIcLb1EE13do_neg_formatEv_ZNKSt7__cxx1110moneypunctIcLb0EE16do_decimal_pointEv_ZNKSt7__cxx1110moneypunctIcLb0EE16do_thousands_sepEv_ZNKSt7__cxx1110moneypunctIcLb0EE11do_groupingEv_ZNKSt7__cxx1110moneypunctIcLb0EE14do_curr_symbolEv_ZNKSt7__cxx1110moneypunctIcLb0EE16do_positive_signEv_ZNKSt7__cxx1110moneypunctIcLb0EE16do_negative_signEv_ZNKSt7__cxx1110moneypunctIcLb0EE14do_frac_digitsEv_ZNKSt7__cxx1110moneypunctIcLb0EE13do_pos_formatEv_ZNKSt7__cxx1110moneypunctIcLb0EE13do_neg_formatEv_ZNKSt7__cxx118numpunctIwE16do_decimal_pointEv_ZNKSt7__cxx118numpunctIwE16do_thousands_sepEv_ZNKSt7__cxx118numpunctIwE11do_groupingEv_ZNKSt7__cxx118numpunctIwE11do_truenameEv_ZNKSt7__cxx118numpunctIwE12do_falsenameEv_ZNKSt7__cxx117collateIwE7do_hashEPKwS3__ZNKSt7__cxx1110moneypunctIwLb1EE16do_decimal_pointEv_ZNKSt7__cxx1110moneypunctIwLb1EE16do_thousands_sepEv_ZNKSt7__cxx1110moneypunctIwLb1EE11do_groupingEv_ZNKSt7__cxx1110moneypunctIwLb1EE14do_curr_symbolEv_ZNKSt7__cxx1110moneypunctIwLb1EE16do_positive_signEv_ZNKSt7__cxx1110moneypunctIwLb1EE16do_negative_signEv_ZNKSt7__cxx1110moneypunctIwLb1EE14do_frac_digitsEv_ZNKSt7__cxx1110moneypunctIwLb1EE13do_pos_formatEv_ZNKSt7__cxx1110moneypunctIwLb1EE13do_neg_formatEv_ZNKSt7__cxx1110moneypunctIwLb0EE16do_decimal_pointEv_ZNKSt7__cxx1110moneypunctIwLb0EE16do_thousands_sepEv_ZNKSt7__cxx1110moneypunctIwLb0EE11do_groupingEv_ZNKSt7__cxx1110moneypunctIwLb0EE14do_curr_symbolEv_ZNKSt7__cxx1110moneypunctIwLb0EE16do_positive_signEv_ZNKSt7__cxx1110moneypunctIwLb0EE16do_negative_signEv_ZNKSt7__cxx1110moneypunctIwLb0EE14do_frac_digitsEv_ZNKSt7__cxx1110moneypunctIwLb0EE13do_pos_formatEv_ZNKSt7__cxx1110moneypunctIwLb0EE13do_neg_formatEv_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc_ZNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE_ZNSt5ctypeIcE13classic_tableEv_ZNSt5ctypeIcEC2EP15__locale_structPKtbm_ZNSt5ctypeIcEC2EPKtbm_ZNSt12ctype_bynameIcED2Ev_ZTVSt12ctype_bynameIcE_ZNSt12ctype_bynameIcED1Ev_ZNSt12ctype_bynameIcED0Ev_ZNSt12ctype_bynameIcEC2EPKcm_ZNSt12ctype_bynameIcEC1EPKcm_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt__wctype_l__towupper_l__towlower_l__iswctype_lwctobbtowc_ZTSSt12ctype_bynameIcE_ZTISt12ctype_bynameIcE_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode_ZTTSt13basic_fstreamIcSt11char_traitsIcEE_ZTVSt13basic_fstreamIcSt11char_traitsIcEE_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode_ZTTSt13basic_fstreamIwSt11char_traitsIwEE_ZTVSt13basic_fstreamIwSt11char_traitsIwEE_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS3__ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv_ZNSsC1ERKSaIcE_ZNSs7replaceEmmPKcm_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_l_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS3__ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2__ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS3__ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2__ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS3__ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS3__ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS3__ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS3__ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS3__ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS3__ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS3__ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS3__ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS3__ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS3__ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS3__ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS3__ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS3__ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS3__ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1__ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2__ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_l_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS3__ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2__ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS3__ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2__ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS3__ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS3__ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS3__ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS3__ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS3__ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS3__ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS3__ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS3__ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS3__ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS3__ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS3__ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3__ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS3__ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE_ZTISt15basic_streambufIwSt11char_traitsIwEE_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE_ZTISt13basic_istreamIwSt11char_traitsIwEE_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE_ZTISt13basic_ostreamIwSt11char_traitsIwEE_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE_ZTISt14basic_iostreamIwSt11char_traitsIwEE_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE_ZNKSs7_M_dataEv_ZNSs7_M_dataEPc_ZNKSs6_M_repEv_ZNKSs9_M_ibeginEv_ZNKSs7_M_iendEv_ZNKSs8_M_checkEmPKc_ZNKSs8_M_limitEmm_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2__ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4__ZNSs13_S_copy_charsEPcS_S__ZNSs13_S_copy_charsEPcPKcS1__ZNSs10_S_compareEmm_ZNSs12_S_empty_repEv_ZNSsC2Ev_ZNSsC1Ev_ZNSsC2EOSs_ZNSsC1EOSs_ZNKSs5beginEv_ZNKSs3endEv_ZNKSs6rbeginEv_ZNKSs4rendEv_ZNKSs6cbeginEv_ZNKSs4cendEv_ZNKSs7crbeginEv_ZNKSs5crendEv_ZNKSs4sizeEv_ZNKSs6lengthEv_ZNKSs8max_sizeEv_ZNKSs8capacityEv_ZNKSs5emptyEv_ZNKSsixEm_ZNKSs2atEm_ZNKSs5frontEv_ZNKSs4backEv_ZNSsaSEOSs_ZNSs6assignEOSs_ZNKSs5c_strEv_ZNKSs4dataEv_ZNKSs13get_allocatorEv_ZNKSs4findEPKcmm_ZNKSs4findERKSsm_ZNKSs4findEPKcm_ZNKSs4findEcm_ZNKSs5rfindEPKcmm_ZNKSs5rfindERKSsm_ZNKSs5rfindEPKcm_ZNKSs5rfindEcm_ZNKSs13find_first_ofEPKcmm_ZNKSs13find_first_ofERKSsm_ZNKSs13find_first_ofEPKcm_ZNKSs13find_first_ofEcm_ZNKSs12find_last_ofEPKcmm_ZNKSs12find_last_ofERKSsm_ZNKSs12find_last_ofEPKcm_ZNKSs12find_last_ofEcm_ZNKSs17find_first_not_ofEPKcmm_ZNKSs17find_first_not_ofERKSsm_ZNKSs17find_first_not_ofEPKcm_ZNKSs17find_first_not_ofEcm_ZNKSs16find_last_not_ofEPKcmm_ZNKSs16find_last_not_ofERKSsm_ZNKSs16find_last_not_ofEPKcm_ZNKSs16find_last_not_ofEcm_ZNKSs7compareERKSs_ZNKSs7compareEmmRKSs_ZNKSs7compareEmmRKSsmm_ZNKSs7compareEPKc_ZNKSs7compareEmmPKc_ZNKSs7compareEmmPKcm_ZNSs12_Alloc_hiderC2EPcRKSaIcE_ZNSs12_Alloc_hiderC1EPcRKSaIcE_ZNSs4_Rep12_S_empty_repEv_ZNKSs4_Rep12_M_is_leakedEv_ZNKSs4_Rep12_M_is_sharedEv_ZNSs4_Rep13_M_set_leakedEv_ZNSs4_Rep15_M_set_sharableEv_ZNSs4_Rep10_M_refdataEv_ZNSs4_Rep9_S_createEmmRKSaIcE_ZNSs12_S_constructEmcRKSaIcE_ZNSsC2ERKSaIcE_ZNSsC2EmcRKSaIcE_ZNSsC1EmcRKSaIcE_ZNSs18_S_construct_aux_2EmcRKSaIcE_ZNSs4_Rep10_M_disposeERKSaIcE_ZNSsD2Ev_ZNSsD1Ev_ZNSs5clearEv_ZNSs12_M_leak_hardEv_ZNSs7_M_leakEv_ZNSs5frontEv_ZNSsixEm_ZNSs5beginEv_ZNSs4rendEv_ZNSs6rbeginEv_ZNSs3endEv_ZNSs4backEv_ZNSs2atEm_ZNSs5eraseEmm_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2__ZNSs6assignEmc_ZNSsaSEc_ZNSs6insertEmmc_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc_ZNSs7replaceEmmmc_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc_ZNSs15_M_replace_safeEmmPKcm_ZNSsaSESt16initializer_listIcE_ZNSs6assignERKSsmm_ZNSs6assignEPKc_ZNSsaSEPKc_ZNSs6assignESt16initializer_listIcE_ZNSs6insertEmPKcm_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE_ZNSs6insertEmRKSsmm_ZNSs6insertEmPKc_ZNSs6insertEmRKSs_ZNSs8pop_backEv_ZNSs4_Rep10_M_refcopyEv_ZNSs4_Rep8_M_cloneERKSaIcEm_ZNSs13shrink_to_fitEv_ZNSs6appendERKSs_ZNSspLERKSs_ZNSs6appendERKSsmm_ZNSspLESt16initializer_listIcE_ZNSs6appendEPKc_ZNSspLEPKc_ZNSs6appendESt16initializer_listIcE_ZNSs6appendEmc_ZNSs6resizeEmc_ZNSs6resizeEm_ZNSs9push_backEc_ZNSspLEc_ZNSs4_Rep7_M_grabERKSaIcES2__ZNSsC2ERKSs_ZNSsaSERKSs_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6__ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6__ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8__ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag_ZNSsC2ERKSsmRKSaIcE_ZNSsC1ERKSsmRKSaIcE_ZNSsC2ERKSsmm_ZNSsC1ERKSsmm_ZNKSs6substrEmm_ZNSsC2ERKSsmmRKSaIcE_ZNSsC1ERKSsmmRKSaIcE_ZNSsC2IPcEET_S1_RKSaIcE_ZNSsC1IPcEET_S1_RKSaIcE_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag_ZNSsC2EPKcmRKSaIcE_ZNSs7replaceEmmRKSs_ZNSs7replaceEmmRKSsmm_ZNSs7replaceEmmPKc_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1__ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4__ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2__ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5__ZNSsC2EPKcRKSaIcE_ZNSsC2ESt16initializer_listIcERKSaIcE_ZNSsC1ESt16initializer_listIcERKSaIcE_ZNSsC2IPKcEET_S2_RKSaIcE_ZNSsC1IPKcEET_S2_RKSaIcE_ZNSt13random_device7_M_initERKSs_ZNSt13random_device14_M_init_pretr1ERKSs_ZNSs4_Rep11_S_terminalE_ZNSs4_Rep11_S_max_sizeE_ZNSs4nposE_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6__ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8__ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3__ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5__ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv_ZNSbIwSt11char_traitsIwESaIwEEC2Ev_ZNSbIwSt11char_traitsIwESaIwEEC1Ev_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2__ZNSbIwSt11char_traitsIwESaIwEEC1EOS2__ZNKSbIwSt11char_traitsIwESaIwEE5beginEv_ZNKSbIwSt11char_traitsIwESaIwEE3endEv_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv_ZNKSbIwSt11char_traitsIwESaIwEE6cbeginEv_ZNKSbIwSt11char_traitsIwESaIwEE4cendEv_ZNKSbIwSt11char_traitsIwESaIwEE7crbeginEv_ZNKSbIwSt11char_traitsIwESaIwEE5crendEv_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv_ZNKSbIwSt11char_traitsIwESaIwEEixEm_ZNKSbIwSt11char_traitsIwESaIwEE2atEm_ZNKSbIwSt11char_traitsIwESaIwEE5frontEv_ZNKSbIwSt11char_traitsIwESaIwEE4backEv_ZNSbIwSt11char_traitsIwESaIwEEaSEOS2__ZNSbIwSt11char_traitsIwESaIwEE6assignEOS2__ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmmwmemcmp_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2__ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2__ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1__ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1__ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1__ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1__ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1__ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1__ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EmwRKS1__ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1__ZNSbIwSt11char_traitsIwESaIwEED2Ev_ZNSbIwSt11char_traitsIwESaIwEED1Ev_ZNSbIwSt11char_traitsIwESaIwEE5clearEv_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv_ZNSbIwSt11char_traitsIwESaIwEE5frontEv_ZNSbIwSt11char_traitsIwESaIwEE4rendEv_ZNSbIwSt11char_traitsIwESaIwEE5beginEv_ZNSbIwSt11char_traitsIwESaIwEEixEm_ZNSbIwSt11char_traitsIwESaIwEE3endEv_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv_ZNSbIwSt11char_traitsIwESaIwEE4backEv_ZNSbIwSt11char_traitsIwESaIwEE2atEm_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6__ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw_ZNSbIwSt11char_traitsIwESaIwEEaSEw_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm_ZNSbIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw_ZNSbIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EESt16initializer_listIwE_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2__ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m_ZNSbIwSt11char_traitsIwESaIwEE13shrink_to_fitEv_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2__ZNSbIwSt11char_traitsIwESaIwEEpLERKS2__ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm_ZNSbIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw_ZNSbIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw_ZNSbIwSt11char_traitsIwESaIwEEpLEw_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5__ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2__ZNSbIwSt11char_traitsIwESaIwEEaSERKS2__ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6__ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6__ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8__ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPwS2_EEEES6_T_S8_RKS1_St20forward_iterator_tag_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1__ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1__ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mRKS1__ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mRKS1__ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1__ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1__ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1__ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1__ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPKwEEPwT_S7_RKS1_St20forward_iterator_tag_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1__ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2__ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2__ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5__ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8__ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_St16initializer_listIwE_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6__ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9__ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1__ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1__ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1__ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1__ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1__ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1__ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE_ZNSbIwSt11char_traitsIwESaIwEE4nposE_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E_ZNSt7__cxx1117moneypunct_bynameIcLb0EED2Ev_ZTVNSt7__cxx1117moneypunct_bynameIcLb0EEE_ZNSt7__cxx1117moneypunct_bynameIcLb0EED1Ev_ZNSt7__cxx1117moneypunct_bynameIcLb1EED2Ev_ZTVNSt7__cxx1117moneypunct_bynameIcLb1EEE_ZNSt7__cxx1117moneypunct_bynameIcLb1EED1Ev_ZNSt7__cxx1115numpunct_bynameIcED2Ev_ZTVNSt7__cxx1115numpunct_bynameIcEE_ZNSt7__cxx1115numpunct_bynameIcED1Ev_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt7__cxx1117moneypunct_bynameIcLb0EED0Ev_ZNSt7__cxx1117moneypunct_bynameIcLb1EED0Ev_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt7__cxx1115numpunct_bynameIcED0Ev_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt7__cxx117collateIcED2Ev_ZNSt7__cxx117collateIcED1Ev_ZNSt7__cxx117collateIcED0Ev_ZNSt7__cxx1114collate_bynameIcED2Ev_ZNSt7__cxx1114collate_bynameIcED1Ev_ZNSt7__cxx1114collate_bynameIcED0Ev_ZTVNSt7__cxx118messagesIcEE_ZNSt7__cxx118messagesIcED1Ev_ZNSt7__cxx118messagesIcED0Ev_ZNSt7__cxx1115messages_bynameIcED2Ev_ZTVNSt7__cxx1115messages_bynameIcEE_ZNSt7__cxx1115messages_bynameIcED1Ev_ZNSt7__cxx1115messages_bynameIcED0Ev_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3__ZNKSt7__cxx117collateIcE12do_transformEPKcS3_vsnprintf_ZNSt7__cxx1110moneypunctIcLb0EEC2Em_ZNSt7__cxx1110moneypunctIcLb0EEC1Em_ZNSt7__cxx1110moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm_ZNSt7__cxx1110moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm_ZNSt7__cxx1110moneypunctIcLb0EEC2EP15__locale_structPKcm_ZNSt7__cxx1110moneypunctIcLb0EEC1EP15__locale_structPKcm_ZNKSt7__cxx1110moneypunctIcLb0EE13decimal_pointEv_ZNKSt7__cxx1110moneypunctIcLb0EE13thousands_sepEv_ZNKSt7__cxx1110moneypunctIcLb0EE8groupingEv_ZNKSt7__cxx1110moneypunctIcLb0EE11curr_symbolEv_ZNKSt7__cxx1110moneypunctIcLb0EE13positive_signEv_ZNKSt7__cxx1110moneypunctIcLb0EE13negative_signEv_ZNKSt7__cxx1110moneypunctIcLb0EE11frac_digitsEv_ZNKSt7__cxx1110moneypunctIcLb0EE10pos_formatEv_ZNKSt7__cxx1110moneypunctIcLb0EE10neg_formatEv_ZNSt7__cxx1110moneypunctIcLb1EEC2Em_ZNSt7__cxx1110moneypunctIcLb1EEC1Em_ZNSt7__cxx1110moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm_ZNSt7__cxx1110moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm_ZNSt7__cxx1110moneypunctIcLb1EEC2EP15__locale_structPKcm_ZNSt7__cxx1110moneypunctIcLb1EEC1EP15__locale_structPKcm_ZNKSt7__cxx1110moneypunctIcLb1EE13decimal_pointEv_ZNKSt7__cxx1110moneypunctIcLb1EE13thousands_sepEv_ZNKSt7__cxx1110moneypunctIcLb1EE8groupingEv_ZNKSt7__cxx1110moneypunctIcLb1EE11curr_symbolEv_ZNKSt7__cxx1110moneypunctIcLb1EE13positive_signEv_ZNKSt7__cxx1110moneypunctIcLb1EE13negative_signEv_ZNKSt7__cxx1110moneypunctIcLb1EE11frac_digitsEv_ZNKSt7__cxx1110moneypunctIcLb1EE10pos_formatEv_ZNKSt7__cxx1110moneypunctIcLb1EE10neg_formatEv_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2EPKcm_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1EPKcm_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2EPKcm_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1EPKcm_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basece_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basece_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE_ZNSt7__cxx118numpunctIcEC2Em_ZNSt7__cxx118numpunctIcEC1Em_ZNSt7__cxx118numpunctIcEC2EPSt16__numpunct_cacheIcEm_ZNSt7__cxx118numpunctIcEC1EPSt16__numpunct_cacheIcEm_ZNSt7__cxx118numpunctIcEC2EP15__locale_structm_ZNSt7__cxx118numpunctIcEC1EP15__locale_structm_ZNKSt7__cxx118numpunctIcE13decimal_pointEv_ZNKSt7__cxx118numpunctIcE13thousands_sepEv_ZNKSt7__cxx118numpunctIcE8groupingEv_ZNKSt7__cxx118numpunctIcE8truenameEv_ZNKSt7__cxx118numpunctIcE9falsenameEv_ZNSt7__cxx1115numpunct_bynameIcEC2EPKcm_ZNSt7__cxx1115numpunct_bynameIcEC1EPKcm_ZNSt7__cxx1115numpunct_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1115numpunct_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm_ZTVNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNS_12basic_stringIcS3_SaIcEEEm_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNS_12basic_stringIcS3_SaIcEEEm_ZNSt7__cxx118messagesIcEC2EP15__locale_structPKcm_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKcbindtextdomain_ZNKSt7__cxx118messagesIcE3getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE_ZNKSt7__cxx118messagesIcE5closeEi_ZNKSt7__cxx118messagesIcE18_M_convert_to_charERKNS_12basic_stringIcSt11char_traitsIcESaIcEEE_ZNKSt7__cxx118messagesIcE20_M_convert_from_charEPc_ZNSt7__cxx1115messages_bynameIcEC2EPKcm_ZNSt7__cxx1115messages_bynameIcEC1EPKcm_ZNSt7__cxx1115messages_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1115messages_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt12ctype_bynameIcEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm_ZTVSt14codecvt_bynameIcc11__mbstate_tE_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx117collateIcEC2Em_ZNSt7__cxx117collateIcEC1Em_ZNSt7__cxx117collateIcEC2EP15__locale_structm_ZNSt7__cxx117collateIcEC1EP15__locale_structm_ZNKSt7__cxx117collateIcE7compareEPKcS3_S3_S3__ZNKSt7__cxx117collateIcE9transformEPKcS3__ZNKSt7__cxx117collateIcE4hashEPKcS3__ZNSt7__cxx1114collate_bynameIcEC2EPKcm_ZTVNSt7__cxx1114collate_bynameIcEE_ZNSt7__cxx1114collate_bynameIcEC1EPKcm_ZNSt7__cxx1114collate_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1114collate_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZSt9use_facetINSt7__cxx117collateIcEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx118numpunctIcEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx1110moneypunctIcLb1EEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx1110moneypunctIcLb0EEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx118messagesIcEEERKT_RKSt6locale_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale_ZSt9has_facetINSt7__cxx118numpunctIcEEEbRKSt6locale_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale_ZSt9has_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale_ZSt9has_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale_ZSt9has_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale_ZSt9has_facetINSt7__cxx118messagesIcEEEbRKSt6locale_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD__ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4__ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcm_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc_ZGVNSt7__cxx1110moneypunctIcLb0EE2idE_ZGVNSt7__cxx1110moneypunctIcLb1EE2idE_ZGVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZGVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZGVNSt7__cxx118numpunctIcE2idE_ZGVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZGVNSt7__cxx118messagesIcE2idE_ZGVNSt7__cxx117collateIcE2idE_ZTSSt10money_base_ZTISt10money_base_ZTSSt13messages_base_ZTISt13messages_base_ZTSSt9time_base_ZTISt9time_base_ZTSNSt7__cxx117collateIcEE_ZTSNSt7__cxx1114collate_bynameIcEE_ZTINSt7__cxx1114collate_bynameIcEE_ZTSNSt7__cxx118numpunctIcEE_ZTSNSt7__cxx1115numpunct_bynameIcEE_ZTINSt7__cxx1115numpunct_bynameIcEE_ZTSNSt7__cxx1110moneypunctIcLb1EEE_ZTSNSt7__cxx1110moneypunctIcLb0EEE_ZTSNSt7__cxx118messagesIcEE_ZTSNSt7__cxx1117moneypunct_bynameIcLb0EEE_ZTINSt7__cxx1117moneypunct_bynameIcLb0EEE_ZTSNSt7__cxx1117moneypunct_bynameIcLb1EEE_ZTINSt7__cxx1117moneypunct_bynameIcLb1EEE_ZTSNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE_ZTSNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE_ZTSNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE_ZTSNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE_ZTINSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE_ZTSNSt7__cxx1115messages_bynameIcEE_ZTINSt7__cxx1115messages_bynameIcEE_ZNSt7__cxx1117moneypunct_bynameIcLb1EE4intlE_ZNSt7__cxx1117moneypunct_bynameIcLb0EE4intlE_ZNSt7__cxx1110moneypunctIcLb1EE4intlE_ZNSt7__cxx1110moneypunctIcLb0EE4intlE_ZNSt7__cxx1117moneypunct_bynameIwLb0EED2Ev_ZTVNSt7__cxx1117moneypunct_bynameIwLb0EEE_ZNSt7__cxx1117moneypunct_bynameIwLb0EED1Ev_ZNSt7__cxx1117moneypunct_bynameIwLb1EED2Ev_ZTVNSt7__cxx1117moneypunct_bynameIwLb1EEE_ZNSt7__cxx1117moneypunct_bynameIwLb1EED1Ev_ZNSt7__cxx1115numpunct_bynameIwED2Ev_ZTVNSt7__cxx1115numpunct_bynameIwEE_ZNSt7__cxx1115numpunct_bynameIwED1Ev_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt7__cxx1117moneypunct_bynameIwLb0EED0Ev_ZNSt7__cxx1117moneypunct_bynameIwLb1EED0Ev_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt7__cxx1115numpunct_bynameIwED0Ev_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt7__cxx117collateIwED2Ev_ZNSt7__cxx117collateIwED1Ev_ZNSt7__cxx117collateIwED0Ev_ZNSt7__cxx1114collate_bynameIwED2Ev_ZNSt7__cxx1114collate_bynameIwED1Ev_ZNSt7__cxx1114collate_bynameIwED0Ev_ZTVNSt7__cxx118messagesIwEE_ZNSt7__cxx118messagesIwED1Ev_ZNSt7__cxx118messagesIwED0Ev_ZNSt7__cxx1115messages_bynameIwED2Ev_ZTVNSt7__cxx1115messages_bynameIwEE_ZNSt7__cxx1115messages_bynameIwED1Ev_ZNSt7__cxx1115messages_bynameIwED0Ev_ZNKSt7__cxx117collateIwE10do_compareEPKwS3_S3_S3__ZNKSt7__cxx117collateIwE12do_transformEPKwS3__ZNSt7__cxx1110moneypunctIwLb0EEC2Em_ZNSt7__cxx1110moneypunctIwLb0EEC1Em_ZNSt7__cxx1110moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm_ZNSt7__cxx1110moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm_ZNSt7__cxx1110moneypunctIwLb0EEC2EP15__locale_structPKcm_ZNSt7__cxx1110moneypunctIwLb0EEC1EP15__locale_structPKcm_ZNKSt7__cxx1110moneypunctIwLb0EE13decimal_pointEv_ZNKSt7__cxx1110moneypunctIwLb0EE13thousands_sepEv_ZNKSt7__cxx1110moneypunctIwLb0EE8groupingEv_ZNKSt7__cxx1110moneypunctIwLb0EE11curr_symbolEv_ZNKSt7__cxx1110moneypunctIwLb0EE13positive_signEv_ZNKSt7__cxx1110moneypunctIwLb0EE13negative_signEv_ZNKSt7__cxx1110moneypunctIwLb0EE11frac_digitsEv_ZNKSt7__cxx1110moneypunctIwLb0EE10pos_formatEv_ZNKSt7__cxx1110moneypunctIwLb0EE10neg_formatEv_ZNSt7__cxx1110moneypunctIwLb1EEC2Em_ZNSt7__cxx1110moneypunctIwLb1EEC1Em_ZNSt7__cxx1110moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm_ZNSt7__cxx1110moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm_ZNSt7__cxx1110moneypunctIwLb1EEC2EP15__locale_structPKcm_ZNSt7__cxx1110moneypunctIwLb1EEC1EP15__locale_structPKcm_ZNKSt7__cxx1110moneypunctIwLb1EE13decimal_pointEv_ZNKSt7__cxx1110moneypunctIwLb1EE13thousands_sepEv_ZNKSt7__cxx1110moneypunctIwLb1EE8groupingEv_ZNKSt7__cxx1110moneypunctIwLb1EE11curr_symbolEv_ZNKSt7__cxx1110moneypunctIwLb1EE13positive_signEv_ZNKSt7__cxx1110moneypunctIwLb1EE13negative_signEv_ZNKSt7__cxx1110moneypunctIwLb1EE11frac_digitsEv_ZNKSt7__cxx1110moneypunctIwLb1EE10pos_formatEv_ZNKSt7__cxx1110moneypunctIwLb1EE10neg_formatEv_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2EPKcm_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1EPKcm_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2EPKcm_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1EPKcm_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewe_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEm_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewe_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE_ZNSt7__cxx118numpunctIwEC2Em_ZNSt7__cxx118numpunctIwEC1Em_ZNSt7__cxx118numpunctIwEC2EPSt16__numpunct_cacheIwEm_ZNSt7__cxx118numpunctIwEC1EPSt16__numpunct_cacheIwEm_ZNSt7__cxx118numpunctIwEC2EP15__locale_structm_ZNSt7__cxx118numpunctIwEC1EP15__locale_structm_ZNKSt7__cxx118numpunctIwE13decimal_pointEv_ZNKSt7__cxx118numpunctIwE13thousands_sepEv_ZNKSt7__cxx118numpunctIwE8groupingEv_ZNKSt7__cxx118numpunctIwE8truenameEv_ZNKSt7__cxx118numpunctIwE9falsenameEv_ZNSt7__cxx1115numpunct_bynameIwEC2EPKcm_ZNSt7__cxx1115numpunct_bynameIwEC1EPKcm_ZNSt7__cxx1115numpunct_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1115numpunct_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm_ZTVNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNS_12basic_stringIcS2_IcESaIcEEEm_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNS_12basic_stringIcS2_IcESaIcEEEm_ZNSt7__cxx118messagesIwEC2EP15__locale_structPKcm_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc_ZNKSt7__cxx118messagesIwE3getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE_ZNKSt7__cxx118messagesIwE5closeEi_ZNKSt7__cxx118messagesIwE18_M_convert_to_charERKNS_12basic_stringIwSt11char_traitsIwESaIwEEE_ZNKSt7__cxx118messagesIwE20_M_convert_from_charEPc_ZNSt7__cxx1115messages_bynameIwEC2EPKcm_ZNSt7__cxx1115messages_bynameIwEC1EPKcm_ZNSt7__cxx1115messages_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1115messages_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt12ctype_bynameIwEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm_ZTVSt14codecvt_bynameIwc11__mbstate_tE_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx117collateIwEC2Em_ZNSt7__cxx117collateIwEC1Em_ZNSt7__cxx117collateIwEC2EP15__locale_structm_ZNSt7__cxx117collateIwEC1EP15__locale_structm_ZNKSt7__cxx117collateIwE7compareEPKwS3_S3_S3__ZNKSt7__cxx117collateIwE9transformEPKwS3__ZNKSt7__cxx117collateIwE4hashEPKwS3__ZNSt7__cxx1114collate_bynameIwEC2EPKcm_ZTVNSt7__cxx1114collate_bynameIwEE_ZNSt7__cxx1114collate_bynameIwEC1EPKcm_ZNSt7__cxx1114collate_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZNSt7__cxx1114collate_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm_ZSt9use_facetINSt7__cxx117collateIwEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx118numpunctIwEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx1110moneypunctIwLb1EEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx1110moneypunctIwLb0EEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale_ZSt9use_facetINSt7__cxx118messagesIwEEERKT_RKSt6locale_ZSt9has_facetINSt7__cxx117collateIwEEEbRKSt6locale_ZSt9has_facetINSt7__cxx118numpunctIwEEEbRKSt6locale_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale_ZSt9has_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale_ZSt9has_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale_ZSt9has_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale_ZSt9has_facetINSt7__cxx118messagesIwEEEbRKSt6locale_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD__ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEmw_ZGVNSt7__cxx1110moneypunctIwLb0EE2idE_ZGVNSt7__cxx1110moneypunctIwLb1EE2idE_ZGVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZGVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZGVNSt7__cxx118numpunctIwE2idE_ZGVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZGVNSt7__cxx118messagesIwE2idE_ZGVNSt7__cxx117collateIwE2idE_ZTSNSt7__cxx117collateIwEE_ZTSNSt7__cxx1114collate_bynameIwEE_ZTINSt7__cxx1114collate_bynameIwEE_ZTSNSt7__cxx118numpunctIwEE_ZTSNSt7__cxx1115numpunct_bynameIwEE_ZTINSt7__cxx1115numpunct_bynameIwEE_ZTSNSt7__cxx1110moneypunctIwLb1EEE_ZTSNSt7__cxx1110moneypunctIwLb0EEE_ZTSNSt7__cxx118messagesIwEE_ZTSNSt7__cxx1117moneypunct_bynameIwLb0EEE_ZTINSt7__cxx1117moneypunct_bynameIwLb0EEE_ZTSNSt7__cxx1117moneypunct_bynameIwLb1EEE_ZTINSt7__cxx1117moneypunct_bynameIwLb1EEE_ZTSNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE_ZTSNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE_ZTSNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE_ZTSNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE_ZTINSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE_ZTSNSt7__cxx1115messages_bynameIwEE_ZTINSt7__cxx1115messages_bynameIwEE_ZNSt7__cxx1117moneypunct_bynameIwLb1EE4intlE_ZNSt7__cxx1117moneypunct_bynameIwLb0EE4intlE_ZNSt7__cxx1110moneypunctIwLb1EE4intlE_ZNSt7__cxx1110moneypunctIwLb0EE4intlE_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEvungetc_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmodefseeko64ftello64_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwl_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEvungetwc_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEjputwc_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwl_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKcl_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPclfread_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZTVSt13basic_filebufIcSt11char_traitsIcEE_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv_ZTVSt13basic_filebufIwSt11char_traitsIwEE_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev_ZNSt13basic_filebufIcSt11char_traitsIcEE4swapERS2__ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EOS3__ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EOS3__ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEaSEOS3__ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev_ZNSt13basic_filebufIwSt11char_traitsIwEE4swapERS2__ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EOS3__ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EOS3__ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEaSEOS3__ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE_ZTISt13basic_filebufIcSt11char_traitsIcEE_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE_ZTISt13basic_filebufIwSt11char_traitsIwEE_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale_ZNSt13basic_filebufIcSt11char_traitsIcEEC2EOS2__ZNSt13basic_filebufIcSt11char_traitsIcEEC1EOS2__ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl_ZNSt13basic_filebufIcSt11char_traitsIcEE14_M_get_ext_posER11__mbstate_t_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EOS2__ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EOS2__ZNSt14basic_ifstreamIcSt11char_traitsIcEE4swapERS2__ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EOS2__ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EOS2__ZNSt14basic_ofstreamIcSt11char_traitsIcEE4swapERS2__ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EOS2__ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EOS2__ZNSt13basic_fstreamIcSt11char_traitsIcEE4swapERS2__ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale_ZNSt13basic_filebufIwSt11char_traitsIwEEC2EOS2__ZNSt13basic_filebufIwSt11char_traitsIwEEC1EOS2__ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl_ZNSt13basic_filebufIwSt11char_traitsIwEE14_M_get_ext_posER11__mbstate_t_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EOS2__ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EOS2__ZNSt14basic_ifstreamIwSt11char_traitsIwEE4swapERS2__ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EOS2__ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EOS2__ZNSt14basic_ofstreamIwSt11char_traitsIwEE4swapERS2__ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EOS2__ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EOS2__ZNSt13basic_fstreamIwSt11char_traitsIwEE4swapERS2__ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev_ZNSt13basic_filebufIcSt11char_traitsIcEEaSEOS2__ZNSt14basic_ifstreamIcSt11char_traitsIcEEaSEOS2__ZNSt13basic_fstreamIcSt11char_traitsIcEEaSEOS2__ZNSt14basic_ofstreamIcSt11char_traitsIcEEaSEOS2__ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev_ZNSt13basic_filebufIwSt11char_traitsIwEEaSEOS2__ZNSt14basic_ifstreamIwSt11char_traitsIwEEaSEOS2__ZNSt13basic_fstreamIwSt11char_traitsIwEEaSEOS2__ZNSt14basic_ofstreamIwSt11char_traitsIwEEaSEOS2__ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev_ZTSSt13basic_filebufIcSt11char_traitsIcEE_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE_ZTISt14basic_ifstreamIcSt11char_traitsIcEE_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE_ZTISt14basic_ofstreamIcSt11char_traitsIcEE_ZTSSt13basic_fstreamIcSt11char_traitsIcEE_ZTISt13basic_fstreamIcSt11char_traitsIcEE_ZTSSt13basic_filebufIwSt11char_traitsIwEE_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE_ZTISt14basic_ifstreamIwSt11char_traitsIwEE_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE_ZTISt14basic_ofstreamIwSt11char_traitsIwEE_ZTSSt13basic_fstreamIwSt11char_traitsIwEE_ZTISt13basic_fstreamIwSt11char_traitsIwEE_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev_ZNSt9basic_iosIcSt11char_traitsIcEE9set_rdbufEPSt15basic_streambufIcS1_E_ZSt9has_facetISt5ctypeIcEEbRKSt6locale_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2__ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E_ZNSt9basic_iosIcSt11char_traitsIcEE4moveERS2__ZNSt9basic_iosIcSt11char_traitsIcEE4swapERS2__ZNSt9basic_iosIcSt11char_traitsIcEE4moveEOS2__ZNKSt9basic_iosIwSt11char_traitsIwEEcvbEv_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev_ZNSt9basic_iosIwSt11char_traitsIwEE9set_rdbufEPSt15basic_streambufIwS1_E_ZSt9has_facetISt5ctypeIwEEbRKSt6locale_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2__ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E_ZNSt9basic_iosIwSt11char_traitsIwEE4moveERS2__ZNSt9basic_iosIwSt11char_traitsIwEE4swapERS2__ZNSt9basic_iosIwSt11char_traitsIwEE4moveEOS2__ZTSSt9basic_iosIcSt11char_traitsIcEE_ZTISt9basic_iosIcSt11char_traitsIcEE_ZTSSt9basic_iosIwSt11char_traitsIwEE_ZTISt9basic_iosIwSt11char_traitsIwEE_ZNSdD1Ev_ZNSdD0Ev_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev_ZTv0_n24_NSdD1Ev_ZThn16_NSdD1Ev_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev_ZTv0_n24_NSdD0Ev_ZThn16_NSdD0Ev_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE_ZTVSd_ZNSdD2Ev_ZNSdC2Ev_ZNSdC1Ev_ZNSdC2EOSd_ZNSdC1EOSd_ZNSdaSEOSd_ZNSd4swapERSd_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E_ZTVSt14basic_iostreamIwSt11char_traitsIwEE_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EOS2__ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EOS2__ZNSt14basic_iostreamIwSt11char_traitsIwEEaSEOS2__ZNSt14basic_iostreamIwSt11char_traitsIwEE4swapERS2__ZTSSd_ZTSSt14basic_iostreamIwSt11char_traitsIwEE_ZTTSd_ZTTSt14basic_iostreamIwSt11char_traitsIwEE_ZNSiD1Ev_ZNSiD0Ev_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev_ZTv0_n24_NSiD1Ev_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev_ZTv0_n24_NSiD0Ev_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE_ZNSiD2Ev_ZNSirsEPFRSiS_E_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E_ZNSirsEPFRSt8ios_baseS0_E_ZNKSi6gcountEv_ZNSi7getlineEPcl_ZNSiC2Ev_ZNSiC1Ev_ZNSiC2EOSi_ZNSiC1EOSi_ZNSiaSEOSi_ZNSi4swapERSi_ZNSi6sentryC2ERSib_ZNSirsERs_ZNSirsERi_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE_ZNSi3getEv_ZNSi3getERc_ZNSi3getEPclc_ZNSi3getEPcl_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE_ZNSi4peekEv_ZNSi4readEPcl_ZNSi8readsomeEPcl_ZNSi5ungetEv_ZNSi4syncEv_ZNSi5tellgEv_ZNSi5seekgESt4fposI11__mbstate_tE_ZNSi5seekgElSt12_Ios_Seekdir_ZNKSi6sentrycvbEv_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6__ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw_ZNSi10_M_extractItEERSiRT__ZNSirsERt_ZNSi10_M_extractIjEERSiRT__ZNSirsERj_ZNSi10_M_extractIlEERSiRT__ZNSirsERl_ZNSi10_M_extractImEERSiRT__ZNSirsERm_ZNSi10_M_extractIbEERSiRT__ZNSirsERb_ZNSi10_M_extractIxEERSiRT__ZNSirsERx_ZNSi10_M_extractIyEERSiRT__ZNSirsERy_ZNSirsERf_ZNSirsERd_ZNSirsERe_ZNSi10_M_extractIPvEERSiRT__ZNSirsERPv_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EOS2__ZNSt13basic_istreamIwSt11char_traitsIwEEC1EOS2__ZNSt13basic_istreamIwSt11char_traitsIwEEaSEOS2__ZNSt13basic_istreamIwSt11char_traitsIwEE4swapERS2__ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6__ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3__ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT__ZNSt13basic_istreamIwSt11char_traitsIwEErsERt_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT__ZNSt13basic_istreamIwSt11char_traitsIwEErsERj_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT__ZNSt13basic_istreamIwSt11char_traitsIwEErsERl_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT__ZNSt13basic_istreamIwSt11char_traitsIwEErsERm_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT__ZNSt13basic_istreamIwSt11char_traitsIwEErsERb_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT__ZNSt13basic_istreamIwSt11char_traitsIwEErsERx_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT__ZNSt13basic_istreamIwSt11char_traitsIwEErsERy_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT__ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv_ZTSSi_ZTSSt13basic_istreamIwSt11char_traitsIwEE_ZTTSi_ZTTSt13basic_istreamIwSt11char_traitsIwEE_ZNSt17moneypunct_bynameIcLb0EED2Ev_ZTVSt17moneypunct_bynameIcLb0EE_ZNSt17moneypunct_bynameIcLb0EED1Ev_ZNSt17moneypunct_bynameIcLb1EED2Ev_ZTVSt17moneypunct_bynameIcLb1EE_ZNSt17moneypunct_bynameIcLb1EED1Ev_ZNSt15numpunct_bynameIcED2Ev_ZTVSt15numpunct_bynameIcE_ZNSt15numpunct_bynameIcED1Ev_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt17__timepunct_cacheIcED2Ev_ZNSt17__timepunct_cacheIcED1Ev_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev_ZNSt17moneypunct_bynameIcLb0EED0Ev_ZNSt17moneypunct_bynameIcLb1EED0Ev_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt15numpunct_bynameIcED0Ev_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt17__timepunct_cacheIcED0Ev_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev_ZNSt7collateIcED2Ev_ZNSt7collateIcED1Ev_ZNSt7collateIcED0Ev_ZNSt14collate_bynameIcED2Ev_ZNSt14collate_bynameIcED1Ev_ZNSt14collate_bynameIcED0Ev_ZNSt11__timepunctIcED2Ev_ZTVSt11__timepunctIcE_ZNSt11__timepunctIcED1Ev_ZNSt11__timepunctIcED0Ev_ZTVSt8messagesIcE_ZNSt8messagesIcED1Ev_ZNSt8messagesIcED0Ev_ZNSt15messages_bynameIcED2Ev_ZTVSt15messages_bynameIcE_ZNSt15messages_bynameIcED1Ev_ZNSt15messages_bynameIcED0Ev_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2__ZNKSt7collateIcE12do_transformEPKcS2__ZNSt18__moneypunct_cacheIcLb0EEC2Em_ZNSt18__moneypunct_cacheIcLb0EEC1Em_ZNSt18__moneypunct_cacheIcLb1EEC2Em_ZNSt18__moneypunct_cacheIcLb1EEC1Em_ZNSt10moneypunctIcLb0EEC2Em_ZNSt10moneypunctIcLb0EEC1Em_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm_ZNKSt10moneypunctIcLb0EE13decimal_pointEv_ZNKSt10moneypunctIcLb0EE13thousands_sepEv_ZNKSt10moneypunctIcLb0EE8groupingEv_ZNKSt10moneypunctIcLb0EE11curr_symbolEv_ZNKSt10moneypunctIcLb0EE13positive_signEv_ZNKSt10moneypunctIcLb0EE13negative_signEv_ZNKSt10moneypunctIcLb0EE11frac_digitsEv_ZNKSt10moneypunctIcLb0EE10pos_formatEv_ZNKSt10moneypunctIcLb0EE10neg_formatEv_ZNSt10moneypunctIcLb1EEC2Em_ZNSt10moneypunctIcLb1EEC1Em_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm_ZNKSt10moneypunctIcLb1EE13decimal_pointEv_ZNKSt10moneypunctIcLb1EE13thousands_sepEv_ZNKSt10moneypunctIcLb1EE8groupingEv_ZNKSt10moneypunctIcLb1EE11curr_symbolEv_ZNKSt10moneypunctIcLb1EE13positive_signEv_ZNKSt10moneypunctIcLb1EE13negative_signEv_ZNKSt10moneypunctIcLb1EE11frac_digitsEv_ZNKSt10moneypunctIcLb1EE10pos_formatEv_ZNKSt10moneypunctIcLb1EE10neg_formatEv_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm_ZNSt17moneypunct_bynameIcLb0EEC2ERKSsm_ZNSt17moneypunct_bynameIcLb0EEC1ERKSsm_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm_ZNSt17moneypunct_bynameIcLb1EEC2ERKSsm_ZNSt17moneypunct_bynameIcLb1EEC1ERKSsm_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs_ZNSt16__numpunct_cacheIcEC2Em_ZNSt16__numpunct_cacheIcEC1Em_ZNSt8numpunctIcEC2Em_ZNSt8numpunctIcEC1Em_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm_ZNSt8numpunctIcEC2EP15__locale_structm_ZNSt8numpunctIcEC1EP15__locale_structm_ZNKSt8numpunctIcE13decimal_pointEv_ZNKSt8numpunctIcE13thousands_sepEv_ZNKSt8numpunctIcE8groupingEv_ZNKSt8numpunctIcE8truenameEv_ZNKSt8numpunctIcE9falsenameEv_ZNSt15numpunct_bynameIcEC2EPKcm_ZNSt15numpunct_bynameIcEC1EPKcm_ZNSt15numpunct_bynameIcEC2ERKSsm_ZNSt15numpunct_bynameIcEC1ERKSsm_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv_ZNSt11__timepunctIcEC2Em_ZNSt11__timepunctIcEC1Em_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm_ZNSt11__timepunctIcEC2EP15__locale_structPKcm_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc_ZNKSt11__timepunctIcE8_M_am_pmEPPKc_ZNKSt11__timepunctIcE7_M_daysEPPKc_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc_ZNKSt11__timepunctIcE9_M_monthsEPPKc_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc_ZNSt17__timepunct_cacheIcEC2Em_ZNSt17__timepunct_cacheIcEC1Em_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm_ZNSt8messagesIcEC2EP15__locale_structPKcm_ZNKSt8messagesIcE4openERKSsRKSt6locale_ZNKSt8messagesIcE4openERKSsRKSt6localePKc_ZNKSt8messagesIcE3getEiiiRKSs_ZNKSt8messagesIcE5closeEi_ZNKSt8messagesIcE18_M_convert_to_charERKSs_ZNKSt8messagesIcE20_M_convert_from_charEPc_ZNSt15messages_bynameIcEC2EPKcm_ZNSt15messages_bynameIcEC1EPKcm_ZNSt15messages_bynameIcEC2ERKSsm_ZNSt15messages_bynameIcEC1ERKSsm_ZNSt12ctype_bynameIcEC2ERKSsm_ZNSt12ctype_bynameIcEC1ERKSsm_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKSsm_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKSsm_ZNSt7collateIcEC2Em_ZNSt7collateIcEC1Em_ZNSt7collateIcEC2EP15__locale_structm_ZNSt7collateIcEC1EP15__locale_structm_ZNKSt7collateIcE7compareEPKcS2_S2_S2__ZNKSt7collateIcE9transformEPKcS2__ZNKSt7collateIcE4hashEPKcS2__ZNSt14collate_bynameIcEC2EPKcm_ZTVSt14collate_bynameIcE_ZNSt14collate_bynameIcEC1EPKcm_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB__ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate_ZSt9use_facetISt7collateIcEERKT_RKSt6locale_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale_ZTISt11__timepunctIcE_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale_ZSt9has_facetISt7collateIcEEbRKSt6locale_ZSt9has_facetISt8numpunctIcEEbRKSt6locale_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale_ZSt9has_facetISt8messagesIcEEbRKSt6locale_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT__ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT__ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT__ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT__ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT__ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT__ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC__ZGVNSt10moneypunctIcLb0EE2idE_ZGVNSt10moneypunctIcLb1EE2idE_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZGVNSt8numpunctIcE2idE_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZGVNSt11__timepunctIcE2idE_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE_ZGVNSt8messagesIcE2idE_ZGVNSt7collateIcE2idE_ZTSSt7collateIcE_ZTSSt14collate_bynameIcE_ZTISt14collate_bynameIcE_ZTSSt8numpunctIcE_ZTSSt15numpunct_bynameIcE_ZTISt15numpunct_bynameIcE_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZTSSt11__timepunctIcE_ZTSSt10moneypunctIcLb1EE_ZTSSt10moneypunctIcLb0EE_ZTSSt8messagesIcE_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE_ZTSSt14codecvt_bynameIcc11__mbstate_tE_ZTISt14codecvt_bynameIcc11__mbstate_tE_ZTSSt17moneypunct_bynameIcLb0EE_ZTISt17moneypunct_bynameIcLb0EE_ZTSSt17moneypunct_bynameIcLb1EE_ZTISt17moneypunct_bynameIcLb1EE_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE_ZTSSt15messages_bynameIcE_ZTISt15messages_bynameIcE_ZTSSt21__ctype_abstract_baseIcE_ZTISt21__ctype_abstract_baseIcE_ZTVSt21__ctype_abstract_baseIcE_ZNSt17moneypunct_bynameIcLb1EE4intlE_ZNSt17moneypunct_bynameIcLb0EE4intlE_ZNSt10moneypunctIcLb1EE4intlE_ZNSt10moneypunctIcLb0EE4intlE_ZNSoD1Ev_ZNSoD0Ev_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev_ZTv0_n24_NSoD1Ev_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev_ZTv0_n24_NSoD0Ev_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE_ZNSoD2Ev_ZNSolsEPFRSoS_E_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E_ZNSolsEPFRSt8ios_baseS0_E_ZNSo8_M_writeEPKcl_ZNSo5tellpEv_ZNSo5seekpESt4fposI11__mbstate_tE_ZNSo5seekpElSt12_Ios_Seekdir_ZNSoC2Ev_ZNSoC1Ev_ZNSoC2ERSd_ZNSoC1ERSd_ZNSoC2EOSo_ZNSoC1EOSo_ZNSoaSEOSo_ZNSo4swapERSo_ZNSo6sentryC2ERSo_ZNSo6sentryC1ERSo_ZNSo6sentryD2Ev_ZNSo6sentryD1Ev_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE_ZNSo3putEc_ZNSo5writeEPKcl_ZNKSo6sentrycvbEv_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6__ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6__ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6__ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa_ZNSo9_M_insertIlEERSoT__ZNSolsEl_ZNSolsEs_ZNSolsEi_ZNSo9_M_insertImEERSoT__ZNSolsEm_ZNSolsEt_ZNSolsEj_ZNSo9_M_insertIbEERSoT__ZNSolsEb_ZNSo9_M_insertIxEERSoT__ZNSolsEx_ZNSo9_M_insertIyEERSoT__ZNSolsEy_ZNSolsEd_ZNSolsEf_ZNSolsEe_ZNSo9_M_insertIPKvEERSoT__ZNSolsEPKv_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2ERSt14basic_iostreamIwS1_E_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERSt14basic_iostreamIwS1_E_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EOS2__ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EOS2__ZNSt13basic_ostreamIwSt11char_traitsIwEEaSEOS2__ZNSt13basic_ostreamIwSt11char_traitsIwEE4swapERS2__ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2__ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2__ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6__ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6__ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6__ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3__ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3__ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv_ZTSSo_ZTSSt13basic_ostreamIwSt11char_traitsIwEE_ZTTSo_ZTTSt13basic_ostreamIwSt11char_traitsIwEE_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev_ZTVNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev_ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS5_l_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_ONS4_14__xfer_bufptrsE_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_ONS4_14__xfer_bufptrsE_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC2ERKS4_PS4__ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC1ERKS4_PS4__ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD2Ev_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD1Ev_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS4__ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS4__ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4__ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4__ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS4__ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS4__ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS4__ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS4__ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS4__ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS4__ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS4__ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS4__ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS4__ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS4__ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS4__ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS4__ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS5_l_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4swapERS4__ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_ONS4_14__xfer_bufptrsE_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_ONS4_14__xfer_bufptrsE_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC2ERKS4_PS4__ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC1ERKS4_PS4__ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD2Ev_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD1Ev_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS4__ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS4__ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4__ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4__ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS4__ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS4__ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS4__ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS4__ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS4__ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS4__ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS4__ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS4__ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS4__ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS4__ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS4__ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS4__ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE_ZTINSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE_ZTSNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE_ZTINSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE_ZTSNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE_ZTINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE_ZTSNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE_ZTINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE_ZTSNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE_ZTINSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE_ZTSNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE_ZTINSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE_ZTSNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE_ZTINSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE_ZTSNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE_ZTINSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE_ZTTNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE_ZTTNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3__ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3__ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEl_ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEl_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2__ZNSt15basic_streambufIcSt11char_traitsIcEE4swapERS2__ZSt17__copy_streambufsIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6__ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3__ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3__ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEl_ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEl_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2__ZNSt15basic_streambufIwSt11char_traitsIwEE4swapERS2__ZSt17__copy_streambufsIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6__ZTSSt15basic_streambufIcSt11char_traitsIcEE_ZTSSt15basic_streambufIwSt11char_traitsIwEE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Emc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEmPKc_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEmm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_disjunctEPKc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcmc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS5_S4_EES8__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcS4_EESA__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EmcRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EmcRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_RKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_RKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7crbeginEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5crendEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEmc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmmc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmmc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_mc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEmc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_mm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSESt16initializer_listIcE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignESt16initializer_listIcE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_m_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_PcSA__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_S8__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_St16initializer_listIcE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_RKS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_NS6_IPcS4_EESB__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S9_S9__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EESt16initializer_listIcE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_mm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_mm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_mm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLESt16initializer_listIcE_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendESt16initializer_listIcE_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_m_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_m_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcmm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_m_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_m_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_m_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcmm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_m_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4__ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4__ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_mm_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKcm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcOS3__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_RKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_RKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPcvEET_S7_RKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPcvEET_S7_RKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mmRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mmRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ESt16initializer_listIcERKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ESt16initializer_listIcERKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPKcvEET_S8_RKS3__ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPKcvEET_S8_RKS3__ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4nposE_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE_ZNSt17moneypunct_bynameIwLb0EED2Ev_ZTVSt17moneypunct_bynameIwLb0EE_ZNSt17moneypunct_bynameIwLb0EED1Ev_ZNSt17moneypunct_bynameIwLb1EED2Ev_ZTVSt17moneypunct_bynameIwLb1EE_ZNSt17moneypunct_bynameIwLb1EED1Ev_ZNSt15numpunct_bynameIwED2Ev_ZTVSt15numpunct_bynameIwE_ZNSt15numpunct_bynameIwED1Ev_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt17__timepunct_cacheIwED2Ev_ZNSt17__timepunct_cacheIwED1Ev_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev_ZNSt17moneypunct_bynameIwLb0EED0Ev_ZNSt17moneypunct_bynameIwLb1EED0Ev_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt15numpunct_bynameIwED0Ev_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt17__timepunct_cacheIwED0Ev_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev_ZNSt7collateIwED2Ev_ZNSt7collateIwED1Ev_ZNSt7collateIwED0Ev_ZNSt14collate_bynameIwED2Ev_ZNSt14collate_bynameIwED1Ev_ZNSt14collate_bynameIwED0Ev_ZNSt11__timepunctIwED2Ev_ZTVSt11__timepunctIwE_ZNSt11__timepunctIwED1Ev_ZNSt11__timepunctIwED0Ev_ZTVSt8messagesIwE_ZNSt8messagesIwED1Ev_ZNSt8messagesIwED0Ev_ZNSt15messages_bynameIwED2Ev_ZTVSt15messages_bynameIwE_ZNSt15messages_bynameIwED1Ev_ZNSt15messages_bynameIwED0Ev_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2__ZNKSt7collateIwE12do_transformEPKwS2__ZNSt18__moneypunct_cacheIwLb0EEC2Em_ZNSt18__moneypunct_cacheIwLb0EEC1Em_ZNSt18__moneypunct_cacheIwLb1EEC2Em_ZNSt18__moneypunct_cacheIwLb1EEC1Em_ZNSt10moneypunctIwLb0EEC2Em_ZNSt10moneypunctIwLb0EEC1Em_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm_ZNKSt10moneypunctIwLb0EE13decimal_pointEv_ZNKSt10moneypunctIwLb0EE13thousands_sepEv_ZNKSt10moneypunctIwLb0EE8groupingEv_ZNKSt10moneypunctIwLb0EE11curr_symbolEv_ZNKSt10moneypunctIwLb0EE13positive_signEv_ZNKSt10moneypunctIwLb0EE13negative_signEv_ZNKSt10moneypunctIwLb0EE11frac_digitsEv_ZNKSt10moneypunctIwLb0EE10pos_formatEv_ZNKSt10moneypunctIwLb0EE10neg_formatEv_ZNSt10moneypunctIwLb1EEC2Em_ZNSt10moneypunctIwLb1EEC1Em_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm_ZNKSt10moneypunctIwLb1EE13decimal_pointEv_ZNKSt10moneypunctIwLb1EE13thousands_sepEv_ZNKSt10moneypunctIwLb1EE8groupingEv_ZNKSt10moneypunctIwLb1EE11curr_symbolEv_ZNKSt10moneypunctIwLb1EE13positive_signEv_ZNKSt10moneypunctIwLb1EE13negative_signEv_ZNKSt10moneypunctIwLb1EE11frac_digitsEv_ZNKSt10moneypunctIwLb1EE10pos_formatEv_ZNKSt10moneypunctIwLb1EE10neg_formatEv_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm_ZNSt17moneypunct_bynameIwLb0EEC2ERKSsm_ZNSt17moneypunct_bynameIwLb0EEC1ERKSsm_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm_ZNSt17moneypunct_bynameIwLb1EEC2ERKSsm_ZNSt17moneypunct_bynameIwLb1EEC1ERKSsm_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE_ZNSt16__numpunct_cacheIwEC2Em_ZNSt16__numpunct_cacheIwEC1Em_ZNSt8numpunctIwEC2Em_ZNSt8numpunctIwEC1Em_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm_ZNSt8numpunctIwEC2EP15__locale_structm_ZNSt8numpunctIwEC1EP15__locale_structm_ZNKSt8numpunctIwE13decimal_pointEv_ZNKSt8numpunctIwE13thousands_sepEv_ZNKSt8numpunctIwE8groupingEv_ZNKSt8numpunctIwE8truenameEv_ZNKSt8numpunctIwE9falsenameEv_ZNSt15numpunct_bynameIwEC2EPKcm_ZNSt15numpunct_bynameIwEC1EPKcm_ZNSt15numpunct_bynameIwEC2ERKSsm_ZNSt15numpunct_bynameIwEC1ERKSsm_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv_ZNSt11__timepunctIwEC2Em_ZNSt11__timepunctIwEC1Em_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm_ZNSt11__timepunctIwEC2EP15__locale_structPKcm_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw_ZNKSt11__timepunctIwE8_M_am_pmEPPKw_ZNKSt11__timepunctIwE7_M_daysEPPKw_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw_ZNKSt11__timepunctIwE9_M_monthsEPPKw_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw_ZNSt17__timepunct_cacheIwEC2Em_ZNSt17__timepunct_cacheIwEC1Em_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm_ZNSt8messagesIwEC2EP15__locale_structPKcm_ZNKSt8messagesIwE4openERKSsRKSt6locale_ZNKSt8messagesIwE4openERKSsRKSt6localePKc_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE_ZNKSt8messagesIwE5closeEi_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE_ZNKSt8messagesIwE20_M_convert_from_charEPc_ZNSt15messages_bynameIwEC2EPKcm_ZNSt15messages_bynameIwEC1EPKcm_ZNSt15messages_bynameIwEC2ERKSsm_ZNSt15messages_bynameIwEC1ERKSsm_ZNSt12ctype_bynameIwEC2ERKSsm_ZNSt12ctype_bynameIwEC1ERKSsm_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKSsm_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKSsm_ZNSt7collateIwEC2Em_ZNSt7collateIwEC1Em_ZNSt7collateIwEC2EP15__locale_structm_ZNSt7collateIwEC1EP15__locale_structm_ZNKSt7collateIwE7compareEPKwS2_S2_S2__ZNKSt7collateIwE9transformEPKwS2__ZNKSt7collateIwE4hashEPKwS2__ZNSt14collate_bynameIwEC2EPKcm_ZTVSt14collate_bynameIwE_ZNSt14collate_bynameIwEC1EPKcm_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB__ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate_ZSt9use_facetISt7collateIwEERKT_RKSt6locale_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale_ZTISt11__timepunctIwE_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale_ZSt9has_facetISt7collateIwEEbRKSt6locale_ZSt9has_facetISt8numpunctIwEEbRKSt6locale_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale_ZSt9has_facetISt8messagesIwEEbRKSt6locale_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT__ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT__ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT__ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT__ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT__ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT__ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT__ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC__ZGVNSt10moneypunctIwLb0EE2idE_ZGVNSt10moneypunctIwLb1EE2idE_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZGVNSt8numpunctIwE2idE_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZGVNSt11__timepunctIwE2idE_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE_ZGVNSt8messagesIwE2idE_ZGVNSt7collateIwE2idE_ZTSSt7collateIwE_ZTSSt14collate_bynameIwE_ZTISt14collate_bynameIwE_ZTSSt21__ctype_abstract_baseIwE_ZTSSt8numpunctIwE_ZTSSt15numpunct_bynameIwE_ZTISt15numpunct_bynameIwE_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZTSSt11__timepunctIwE_ZTSSt10moneypunctIwLb1EE_ZTSSt10moneypunctIwLb0EE_ZTSSt8messagesIwE_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE_ZTSSt14codecvt_bynameIwc11__mbstate_tE_ZTISt14codecvt_bynameIwc11__mbstate_tE_ZTSSt17moneypunct_bynameIwLb0EE_ZTISt17moneypunct_bynameIwLb0EE_ZTSSt17moneypunct_bynameIwLb1EE_ZTISt17moneypunct_bynameIwLb1EE_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE_ZTSSt15messages_bynameIwE_ZTISt15messages_bynameIwE_ZNSt17moneypunct_bynameIwLb1EE4intlE_ZNSt17moneypunct_bynameIwLb0EE4intlE_ZNSt10moneypunctIwLb1EE4intlE_ZNSt10moneypunctIwLb0EE4intlE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEPw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_lengthEm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_set_lengthEm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERmm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_destroyEm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Emw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_checkEmPKc_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_limitEmm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_moveEPwPKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_S_assignEPwmw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS5_S4_EES8__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS4_EESA__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS7__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEmm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2Ev_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1Ev_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EmwRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EmwRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_RKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_RKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED1Ev_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSERKS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6cbeginEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4cendEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7crbeginEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5crendEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4sizeEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6lengthEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5clearEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9push_backEw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEOS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEmm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8pop_backEv_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEmw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEmw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmmw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmmw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_mw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEmw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_mm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_m_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_RKS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_PwSA__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_S8__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_St16initializer_listIwE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EESt16initializer_listIwE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_NS6_IPwS4_EESB__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S9_S9__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_mm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4_mm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLERKS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_mm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEPKw_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5c_strEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13get_allocatorEv_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwmm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findERKS4_m_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwmm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindERKS4_m_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofERKS4_m_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofERKS4_m_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS4_m_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS4_m_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareERKS4__ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4__ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4_mm_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEPKw_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKw_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKwm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwOS3__ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8__ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_RKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_RKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4__ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPwvEET_S7_RKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPwvEET_S7_RKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mmRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mmRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwmRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwmRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwRKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPKwvEET_S8_RKS3__ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPKwvEET_S8_RKS3__ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6substrEmm_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4nposE_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EElibm.so.6libc.so.6ld-linux-x86-64.so.2libgcc_s.so.1libstdc++.so.6GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19GLIBCXX_3.4.20GLIBCXX_3.4.21GLIBCXX_3.4.22GLIBCXX_3.4.23GLIBCXX_3.4.24GLIBCXX_3.4.25CXXABI_1.3CXXABI_1.3.1CXXABI_1.3.2CXXABI_1.3.3CXXABI_1.3.4CXXABI_1.3.5CXXABI_1.3.6CXXABI_1.3.7CXXABI_1.3.8CXXABI_1.3.9CXXABI_1.3.10CXXABI_1.3.11CXXABI_TM_1CXXABI_FLOAT128GLIBC_2.2.5GLIBC_2.3GCC_4.2.0GCC_3.3GCC_3.0GLIBC_2.14GLIBC_2.18GLIBC_2.16GLIBC_2.17GLIBC_2.3.2$ORIGING@E @ !($ (,%Z_@TxPk 0!bVD $=G )8`iDĀl /C`&(2( B AHi"@#iDH@ %A@+x&2-$ HXL  B@\ @Hp _4$UY# $!`Hwn8 `P!C" @f"Ȱ IDA@@Eǐh"&R^@ 6 4   P P@2HHpr6Hԛ @@!ԵV$Mb@ 3E8QHDU" HPEr2@ 5ppY@@@@@h8,4d lD)J,c hP4Em(D 1XQ@`@PPB$ $-1DR@) BL@6%d $`A#q@ P D@l(2$!!@! @3IK sq @1`ET-DJHCLs dI*A@@&@Dă `aDK8b"J},$P#Q-EK"B@v!P Y H.9] +  @D*@8#Hj 0 ]dB !%0Pd Q!$٘(H@@"laR!.CZCE ]-BcP!c 8`(G BQ]Hbl B4" 0*S3PIA^R e1(b##a- TX1` YHEB9NT$ H@@N C  R'0 R`H" -P 8*K@Ho@@ @!:\"d(B F@ HJB/@XXBJ&chD *6$D P !P,`DaP6A N4 HBDW "# X "A d- !]@ $I4 %= "B&a1{6 ) D5"_F;)]#AŠ X X2!q TE&0POMF11@ P*HBpǐND 8<1I hb B|$aH*EDLHC !BT1DO@& !6#"@@DZp2|AU2L@hFQ "1 H&-@t @Dm! l 剓<@ gP@#Da(d KUH " @L@@  .U n*!T `  H#QH&t@@@ !jiF@ g B Q28T2\4вka* "x$ (8!" "  @@B $EpxP씶`8B5!(TBUE0[+A@A)$! 1# D P% "@@$ @!x $O칅> H@`" (!i ! V$C`3`H &Ks @! @MX@b@h;! TOpr` q xK $ @4\ @iPXA&q@53 b QP# R+6"` P`L @(T(H8J7@"bAF dD&~BhB@"MchL t" 0 *0B$\*  E1D@ £P &"2b@ AN!AAj(( Py",pVjLFH@ H3#&)@I%!""ZQB0B NfA'T(eP- H7ȄY @ D F H I K O Q T W Z \ a e g i j l n o r t v w y {             " % ' * / 4 5 8 : = @ B G H L N Q S U V Z ] ` a f i k o p r t v w x |     #&+.0258:=@ADILMRTV\_bdglmoqsw{}~  #&)-/157:>?CFHJMORSUVX[`egimosvy{$)/468:<ABCDFKNOPQSUV\_aegjknqstvw|   !',239;=>?CEFGIMNRTY\^adegjkmqsuw{~  !(*-.267;?@CHIMQTUWZ[\bfhnoprtvxyz{|   #')*,-/248;=AELQSUZ\^bcgknpvyz~   !%(*,01237<>?@ADFHORTYZ\_`dfhilmquy~ "'+,-/2479:<>BGMPUYZ`bgjotwy|eؽløyc T-ؚyr̀ndK<~$#gV\6uO + u6q!|LW)r% cI7 Q! E"h0>8r>b*i.]v2+|-ϡ6oll~|6䦦fc edqRdqR uMdy)ݗՍ|)g 0 U&%į]BZ/hJ> Ⱥ~>/C-*X2:Uo b)}vCW7ټqIMa>{)B QRVwcV\K/.wގPxS]LnݓخebT;,ؖ? b~ҝ6ȁ R: .l6TdL֝v FMhUCPz[:L,Eo鬸&GbP"r^,C4L118Zgqtɫ\8X$Y{X* +09T$c+y|CM]+F&K~3Jgf\3Oۨ5AŇrF>5[ ryGfNXhtORPS̞⌺PޞD-"Mfn0ef#RɐEWvx^W79 vuUU 3c>[, S<ݦq/Syr[s%\[g(R_)>F`f!f.o7]e݇_GS\EM,!pR/]Vi}E<OՀ<p]ɮ5>(^U1>@@u tB=CD_߸MEg@Wh {G8m%:I`}ؗ9 $Hv $J'o&YUUя);! ;St&*Mq~^KChNiM|3[?YOWʣRJ)PlʧqeTgARJFp j"S@WB&Y~Uxhɂ^/U)YzvzIWpC JǬEU:z#;:|lО(KbI 3akb"U\';(EL38 p]aJK SLꏅnA/Ҩ toڢmՍ{.>db9`2L WyQ4vh#PPwlL%- 69^癸/rHF43j{qN@sdRur4o/;ԕ@6)T.sbR;Ln@BQd+T*ěS;cviD.u9_~oJ՗O /_.-jZ9 uFn0$Nj4]̿)햒b*=j!hg{P66՝2#PHvhhQ1Pq٦J$P|l\3G@{i? 4_l0"}{` ϡuJ-JPxWHZRA؟2h#. 2>A|6͸j0<=D. qƟum}_~X7&ъn$s: 9-v?f+z4^ S=~cW =[^[ÒqgΙ~[:{jGQS\c42@_~X8 HJ~ղnLtPw2!'<evbX[ˉ %kg׭jַ%tnDY?zz5 Fӵle5[}ɪ6Dd|m''!A -v> ׄ‚Z-] y0zkQےͨ]EA`9GClT|,p'ɭ.d ojW`{& $+S3;T 4^Jo2"]xx7X2K[Fø.P\rFb3?ΌP<V*U|KFF,FbC$jrTAFM4WFơqZ.b<FF,nbf#q}-4HhLp\ M/]HvUgc fUUKϡf ¥Tji˷Dmw%"ZJ7SJŒFuΪW9"n˱dTN5v1'6B<@=(ȯl9ϔmBJNV)ܵx)촾-SGR,\8f ;) 9Kb lS)r*R4) ƫ)촐-}_F yd)E]殓3(h.)0{ _E|-rtؑ)>B5!/)f=BI6)@e,;eO?,J$eNx>]^OPzd+ 8 jZI CF,Gpa{<?_fbH:J?wQzR`8seT],+y+NdP՗ #iQX (x Y'{8Cz\[Ej Eټ^i)HfMm8ԾlM* }!Ac@^*W+nf[pg7, oT}Bu QR tF_i귶@/jA}R@}s_B}B+HQ(`SIC-`H,PXAMd%1&3欍Z2&BeL#׾w OtM)~LгbՒZ}RkN[}֟]}A\}A8k^},6E\)טo_}o:~|_[ڧ]$Аbnȝua"u(-Lh ?ruo y$mm#JZspSY-43<*-cq+B \*4AXN,*jhʫoJ>FYDȯAKun``fBL71db=ܙN~~-##@W +8nwE`1mP`1MR,ms2F }q! A0')(|\7jP8h0[oe5$,Ws t~ CF: q9Nl`LFn{~sF]n3Vd?x[4<'Ν@'JcP}0 9%LiaF &q͗A>Fdŋi'ʶ Qi!VQ+ Z7vbi *}ɘ&TR6Z7HzW_@vGq6 3F%ՙpXX9?UҾxG\|p" Lq do>uYcڠȮ55ᨐ2=cga-ɍY@0x~*WA*92v$DteP4 O7X`KfqLkƏTge8 TqQ/6GD2K,w vzZi=2 6NWN&Wp|6/-!ӝ ;xө ڿ^tࣶpol9xY &oUnCӱB"x6!,BFPìɴKbUK'IIQ[|slN(F6 B[(%mF3lr>Cq;Uev:5gBTl긕YjV H} SvG,X* a91O$>ȭD txw~l)9Fj]i]R(?P[C"y|^gP3ie_чE}X>1",O gL)4y&2W_C H,%1YO]?=boΏVMҚz :0&C+و Vj/.fNhJY;GbD7Z ׌{[ |v bڭRS78-32AD&?Vf5# M%:'f}eƵؕW{Ӫ},r_LkNVt-txNΟwpMv&T 8[t|Exe$^N0yA]P-_t,6f}DC-y+)GKv{씄KUС)$\u8]7+,z!T Vq`}zBWċoŧD(D*JƶA|)_` iʨbX㵵fg'B8KƗO?ܫ2"ebM* EdAyƗR$2TV*܉Ɨ`dˊƗq |T-0ƗaώƗ{7ۜBq :ƗXtGHiLvO#+(0H5 |>Tn̑Ɨ ߚ X ]KVCmaZNAzf&zYԞ,fSI7*Ɨ\HyfO~&&/`ڙƗX|i|l^SaTXQlYƗr"d*Ɨ7VvL75{=R49R}c6Xߥ#D$"j;+@Mğ8+LПdFJrF":MtMLƿ8Ё"1aKOjd Wɔ pܖ #>d%(si~D?ôSFT2v*d\־J/C4"=w1v1O:^x1p<@y1܆VS{1{1JiQN|1f±0w{3+N䇜T$|1? n~1؀~51;#@v2N !1cgSN$y1gufi?11Xӌc B]ΩsLj1u p;,X0ң*xr=F_x1zz`;IVFPqb11X5 1쨕a?Nʏ1:*("Q hr‚*g#^v`$!~1[gī"3XEDqup)퇳 -8#3nb/I-V5\$Ƅ3CO^pT}Zvbn[ mj-Y@։@*;ZTΫjofHΆb:^/D8C]7QvfX+BH,ʕ} }owOI@ ӼWƘ(%Ti E4qFNY渖ˡ!$YFnNr뮪BZ*^yJZ@y3ɸ`)0VhB@c-^y,^yz.^yXM>N1]0#?) ^)2^yfpcU^4^y!M>5^yD K}Mhb}~j{_2>_RCDvCJwFeTMaX_=^y 'EdieMl9ĸ ^lp"@^y9we@^yl!nHxn^AF띙~.|l8Fidk2JyH֋&Ͼ1y5뵵Xk~%G='`f|-xl2F?^g4Gt^*8mȥnQtFVw "l` k2f/1 jSŌ^Iw WzzM = ~PJ(^rqC#jVCP=]$hf)2Y}hpuE_uيeGHy'=CNW!g6+/!rtؼ,Nwo[>Py"cGf1Ph&fd um vRt(բ~߈-r5cz`.֭9[18-ynY:2c0۩@`us3 (ʦ&1D,U_6{N;*:`V o{@UNz ,dXhbWLFJrSF^J?Y hܪUƅCɉl(3젃IG? %tm:`!4?5=gbĊ %-ƼS%!◊-`YVC/yj.4yϓv&|. % mFcp+G8LTJ7ꒉsEtmh&u)TO"F/…"a>Xwmhxms!'_u#bئ7K5,$rqQNjh.qo km ַỲmvIT䥆)Cn ~`5קExdWl<Ѩ0WJ ~"Kj3ENim`m $oBuN*a?vbW{~ e;s{7W%ԁpDc80MF_xSˀIJˀīe(XU]e}~b?>k Sw{bP#EÒGX\&xW$ۯ b#COs|3ko(|!u61a߉@̮qTmO3uW?þAf7 ihCśH,(>RCf=td ,ndP^H5I}ݴAZ&?Q8 (|l#eԷCUW.B-hqADşCpo su14}zK-,4IڜI{=|+_+ҫ9 M0 ڻl>o%>+1lN17 ȱ6NAxֱ~I4fF6Y| _ WO{j٧ L ?\k`(KR ^ pn=x)yɽ$jdFVT գ[!HOE.hX27~pZEPYs8oK soptv<ΓE4+S6v|ZGZu}e)u~[deZuA8#&i9x{z}6Md 4Ox+- %oVtZ-!ӡnMEuQjawQ\59"'&e2&E `֗,&hN]l6Pi]lTUBk(fq9w]lY']l.*# +]l kiEH|blQAl}bl$ ߤb?(ݑ,Sqޥl^P'দ K>m&@P0VuMjSjȡz!]4%al^] . ݅~ţ?@+S2KC n*ܓ7N?M*.Uق1ӵzT>yiG/ qwcLVCn\f̾ ̿tL2/2elP.;/'*kWD3ՠ^~Ν6̔АĤ?PIBMG6䅄p @M~5y*b;" Iye]P4fQ>wW5Ζ99X6vh,@O"3RLtըmyvi PrMg"v8sxIroݯHr4' v0.Y_X,,TDu\KCF",%L!7/[ =?6r[:,f+SS>Ɲ,\ClELfjFHA :^[GkRM Z~Y&@aǷPQ ΘvUX\ b:Nc=Z%,A(|E/e}|NVBdXDZ`XWSYYDޥ;`igdtLTu@vf#/Y6yJt%< 5ijͩ;uGL MrUg$)|Ҷܝw+JGG\KUrՐm+,KbVH,bקPFDhiILYP!^` 3a'M lm/w5q(%@(ZPZ1"T R%7$YQMsFﵖd8pWӓl6co7kQvXT Ð$v7؀2n >-q6@zJ…qmtJW2QXX.w(-5iDq}&m%ά`Kպ;BbkXnjo`I5 #.B^dr}q0Y{ J|0hzl]Y&u5^GbxRMpsصner@MHzGbќ \{LN-C@m&f.\ pMDq )ޔdN¾K ƂoRBR0n On;\IV5 {;,yH fE8xquGSAܫ mW';:(3s.n:JAF b#9S] ıRUajbRKЬ\jRkC7LVn S$_$,"HnôgI9 1!u֚`gDL' xf2 n ڔNtps[/8z<<֋7xZ gZ"(u%AM~7r1@+ǂAW1 H4~r;^ӭEj"!1B+R=MS"3T8 /- 8ŁW1$qy{u}AzUgVTмw)vၼyK96hF>UV~"gG` 0q[^VCJnpP'K\6$m={6jCTJe= ]-ie~. -q f:1jȯBFݝ>d'pxdpیr]nGsjO@+W<HҗɮWӗWVj]tćBԶ{9!/H6~ԧHn W=_.:+WNX-=& I#WՑj[J|uӉhڏL+KjZ -v x< E Ru&@c ?_Q'e8sx N\2oY\ڰyHW՗n7 oNЪ` k"rY:sY:~@Є)YƐPnv~dFb6Y+i) k@CI&fR%]ƺ K=2+mah3pnFu?B|Y:ڱR}Y:xܱRove.‰Lghs߱RޱRP j,726Rn , @J0Ͱb-VRP,&xќ(H ߕ|տ*y5b?Z+h:dcFox_EF, .?l8~>u0KK2zAB,XcpK.8kx\ 6;}y,^D#a [6'Rv.ChW.I/"G8K:<Ml3uQp宵.sZ(B{ uϻi"3\#u퀖JԞ w#uM6-6l0y`f60[8t@>PF 'u(u-JRX:GV@ +urU)'7Ei:e5z~֭5<ؙ>ܙЂvif</L0ux$>~<>D H[њQ شNT,<#^%jRav:G08;V4)b\RІ "4u3Uɧ6u <ɌAH+yO⇫(MQx y![~x+GQ=/ 6|ͤm GOrj]2֋CCZs4fjMxF pQ <{4iY(gOzL;Hy97xzn9g?'ui*1tP> rDh/ů"]d'VIDC2i=2mEvG` {UKRwe5=?U)MHfW%gdeBnJ|*dM&U7Zݘ 3A5z-5q<W4,n)Ȭ0Qd-L"mU.]=wZRF&l6iQKOR,4xYAc^獯m\qs@Ht$BlQΉIL(D넻8\6+jC!䂘CLj/t*Xsx~+_(9DtU OՖY2eJXqxg{>6b:6L0wN7zoއT~~<sL|D!syI y <3Y^/#?UpKwk'ENWr(:(b+F'HW]k[x5MQ[(BIyvLw QRwЮ(MC" BWb,%mQ<s<^$9d6GFR9n%z:d,Xtp3]x4:24TKo6_C@Fh*CQ%VŊþ uW> QSp oF8 l+v@TmGMa{4!WsT@NՇTOE'> ,_^Dpތ7uɑx ZvT@7Z۟Av!:/Qa1E< ;w߭l}8y }tdĢ7֗{(d]G|u˪ʡ<`vom2Fң.htįN#]g"岞y K, -=d^QE]87Y 9H}d50|fJfJZ7LcqgdZ&`؈p \ᲄMC༌$;;GC Z`cx'p"Z\{& kּ|"ZoX _m@u$Z%T&ZF'*s(Zt BdKFE|s85tzߋ*Znyx/ (絵*Z3eyj~)xEL8h 6]Z*\:Tfq ?noANT=bo29JB8z+4 RL(<- .հV+ڮ _p-͋OʭޭPISMfEUT.9|J ۾Q)"ZpZbżbżF/ќ.e*NS3mÜ԰ Li? LPE8EvsB'mQN[X)\iP %qW"6@{όхZfQ E Cpz,X-0n!td$;hؗj*3EYKpxXG;h9ca?9c9g$y%;.*n @ހ*'Z1H_oLgDZm`ߣp|Hw]xY6]B"(FpT DC8SS3<ۉ@iOft'_joUR*gz.Q|nt0IH,j\C$}o`Y~׿ZNNZ@>ݛ`2;z3BNGG q&ښe*J!R@,? -lo) qŖ*|&S[ݙ4v CU1"K$m~G L,3ـeQڜ.dy^h7 e&Alm[.NR@z:`5M<3GiGft5,ڱ _Nt= +/CCNJLV6ұ~ N| IOB6b6Z0FS KRNrfg`ic%yfK=ӱx5T_aRT tfg7ryU|2t!i7'cYkv>=}k0!\DED"^0i1?m!.IdlbT7d nx$;Y?/uJ!`EC{;mցk`wZJNPЯXђć[!gVK+fb | ):̞ma#CqC;v>Ms6f/^h=~Y!PBn-!xޞȻ8V~Vh3#6.)b⎲u&VtߖR\n?Hg2f<(6< gZIhZ, x_֚4$ 2Y#hي \yUY7EH6'9! # %ʭ`{Xy _{8i+q *v{ #fD %[ĕ1SDrcrI@${&|(B& kRX&[bղ-LϕUH<t+)s=ΰE&j0L8ϰE |rx.V٦*o\lWlKgeNh1ZVaj#mQ0 G/zAa$tϸ.x/!YG٢lbO{ C"r9q=ze^LY{ jn1 dd6XoЦUl܇ ؂xK}d΃l..Us]&3EJ('y鸡35NO7.V@yZ:|rBӀK TqD߳r:l@[!@ۻjM4P*>*IPo98.|ׂENw 2`k4!S?uoc}{VuM7xA&04f &BMdbBMkunw.$Oj\d|>~GI?h.hdu9q 0wcvnsA%:`t $$\?r>FSEǸzhKR`LRx=jaҝo`Tx) +"',kwsFaR`Z~o(#ft:(h> 4:dOC6[hT5T>` R8hsK-,,#9ہmjs[-;5soZq+͇AhaJT 0) YU }yd)PSVŀF>oՍd%.dS6$V}h.iyQLq>Dm-wl:HLZfPyp0\NER&Hp촾"AQrC @L8*GtC>6eu/ItC]9Xx SwCpd,!HBUYb"g+f :yC,9'>N" Ӌjdr{Cݗp}C2={TY|CoRgR՛U?Xr/fu_yUwC D;v_y*s;EËCz\w_yCx_y@.f4fV(S @)ȒU )Cj{_yC|_y`sZ#dCuXƣr~_y08,DBNuheZ۫tr_ym %#d@ȄxN?u2{\lo BCh_y_yc!-~bbo_y_yPSbG/7bDRDN 9b1/d9IqoxTYQat֣6VkF i&LKb dwB-I*^7r-ҚDlBGFjC[h쮛 Lzc/+BQ!I[l r{E0PǜRohQ8;s4wIh,naUjJb#;GXp!{}i& rGk~X&+\TieRGNUU""Hy$mtE