libreoffice-sdk-6.1.5.2-30.3<>,\\y/=„>mkKi<¶,8d376|ϲ%&y0 yl'􈴌ffz'ד1QW?bm!]@ r0? r d  / (G `sKJK ofK K (K #K 7TKKK7n7K'''(8Q90Q:QBFGKHOKIKXhYtZ[\K]K^ o^b ,c d be gf ll nu Kv ׬w Kx &Ky pyz r r r rClibreoffice-sdk6.1.5.230.3LibreOffice SDKThis package contains the files needed to build plugins/add-ons for LibreOffice. It includes header files, IDL files, needed build tools, etc. The documentation is in the package libreoffice-sdk-doc\ycloud136CopenSUSE Leap 42.3openSUSELGPL-3.0-or-later AND MPL-2.0+http://bugs.opensuse.orgDocumentation/HTMLhttps://www.documentfoundation.org/linuxx86_64ARSW2Y'p->T *3/ J!G!"=%r M n * . k83@ABC809u:S;IF?E#TH@su |!Od x!3G [` :Pua j -;>+kn % /<x,)-0'KEF8 ~@,.#O'% = -!\V*  3 SU v  # a_u ; 2- 7?y,.L=8|\)P&!c(+' #v#W67 {@ FEQ ?  #p j@  {6Pj9 J UE F p  >f NF2 %^\l f oM_jJ^ -G 3[ R @BlGhWZ   @ F o ] pmi b=5 `  JG F,|r Jy@j}%k f W 86 5 -G5#;#@ } PrLwq " 2f ~  ) }h) . 0 vTK 4   O (wP be  ^ # e \ q$ 3K"t V c ?  / u# DJ H!\g l |  ,Ne & K jn !7RpsP &A/ ;L HY5 ,K 9Mx m3)0 9?<hOn   t  VzI  _'.  ( ( !3B tW tg h}/g K E  @ ;!Fphd <E1p1=UI<; " | a k P1 X [ rH ilf <uF L K  n  E % l3  &b ,w '   3f'j-$!  - >  R | oP  ;z W S2? =\ }? $a 9_)6+ 8 *  >"d#\ 2 I r `QN NL  TqZq = dA !!& Gn h     x 'W ~8" " 7 iR90dL 2t b   ?2\O; E  B\m 3 aP8= i  T L 1#  (nm e S C]  +  C [|I7   a Y % g +T 55l /N ( :&:3 /?eM] Bxx OF( '4'C_m )K?hX   .Sb,|5G D] ~| i |D  * 6/ B*0 } B # >V: }M, R< La^  ]H & )-X&c2Rc=IJ3WM<lj* Xao \]3 d l~1IHF<W ~  FVe ~ 'U W- v_IM`ix  gID* n\ _/d M* 8  3 pHv  V w &k s3yzuf%p- p"7  Q{ y< o  D$q VA7$$E t`9; # b \  N};*  ?n c 9; ' 9 !  ; OA:3 O (   k A$ '=!lOG  C  eg$ w>` "R g     z n 9 x 5 iC+<g  Ts ; T"( 0]  CP 7  N- x E![ < ` Ek  o LI#7} e 4 * r  f-  R 83LW ~ d  f % J 2 U -( p Z q X :f  n a Z7H@D'P \ H  u q|5n DW X3 K F%   L =Te ?9 'bI 7G LxmlM %` s ]|>`{*8 c 8 i  P z-P}TohY5 j Zg @QV:Mp  < B] D  5/9w*e YG6_ nx @  ' J] `s@6 B53;\U`SSryU ::Bk S |}  ( OO# 2I ad59 3; " 3xj!apK [ -C 8 L !J #R x~6 X ~ y  '>z } F p| |  I*h  *V YZbU #  DfV{ r M  R A&*i %-p  +&cq;ci5etej < v<xugc6 1 ?|oo& Nki <7Q dJu2f | we 7@ Z <  VdR  <& \  ZJ %bd~W? 8mDS %nP  ~ Y&  e7Y*@PU K     yjC&j M- ;4L 8-?` :V  t A6s J cxRG ,z|  .` No =(2#hl !8N  U H x  ; 1KL 8kJv)eXKg & _ $* 'Up   [>q; 0 {K  - F( 6 *KH %-= " J8S r ML_/*D_w8  B" D PN&>& d|0 x &R  .\ 0 x82d8{$(2 UD+ 7 + X9 K`  _x w K Y  c A | c Z   ]! Io " |W 6O :;  C? " |)!T5. ## W ~ : r_ ]y oT Y 7 J 1 * BZ d :.lk0   B%# H)@TP !) 0  b - jV9?: f] W7cN^D ;'j<Z ng F QB q Dr:nRB 4f6{ s   )5 C pXqWR  N +N = w>#u&; 'O xZCU S :Zzq @ T/ ; N W}Rn  ' t   e# f S T O O  f   z }FzL C_ SQ'k/yMK( [  G CAy  s aO@ hE *v1<vB _2 ,N x6 P 2<: AIBJC254p n  F?GCS w "jN LQ% w,! J q D k   y| w  {rn8UV +wh?I+BlJ sIU*u " 9UG a=( 0'4%g!|&~9( 0vAz3 ` ^r6rN ER 5?ocbkO . @ XA qs =e Q  Y . h dFH}dv  '  5"! " i pY#[4j   `] / k\ n 3$y"G ! qT # 1& C   43e r J }`^   x<be. ^   8CT ?]t . Ts9 ~ uu j xie] ]@ hUq Y 5q@> &"L(o X t >#h)`n * e [ n" ' pKv` . Emq7 h-m=VXz ff ~Y <`NM\j !r*  T"fyO| A luU  vqj+"z@# BW b  s Z@ > E>g  .h <    y/< j?TIw u c{ #r z+7&s#  p V'  $ 5m ;9Z -?  & Et + 2p A @ r]9 . ] , . n ^A0 fl r o  %0W *I8aLA z]L,B :`: z@l 7gn I )nD?=M_RU 0~ AqS ./ )_ -L )= p w v;w&,?R g Y  Gk b$UY  9 zQ+L}8wQ7 2  -W  W$&f1 U \ ^ A VS]y:mP    VwE" @H#+hjL24~^d tjZ n f  c  R _ 5\ R l0Z\7eVo[6 c  E1.#S 0AAAAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AAA큤AAAAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AAAAAAAA큤A큤\yg\yg\yg\yg\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\yg\yg\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yD\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yj\yj \yj \yj \yj \yj \yj \yj \yj\Q]\Q]\Q]\yj\yj\yg\yg\yg\yg\yg\yg\Q]\yi;\Q]\yg\yk\y\y\y\y\yi:\yj\yi\Q]\Q]\y/\yi:\yg\yg\yg\yg\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\yg\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\yg\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\yg\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\Q]\Q]\Q]\yg\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\Q]\yg\yg\yg\Q]\Q]\Q]\Q]\yi\yi:\yg\yg\yg\yg\yg\yg\y\y\y\y\y\y\y\y\ygN1X04bf4a73938e6f18dfa53a458f26610dd3352bcef188baaeb54211ee782010225ee159d1f69dc9b42fb672a73e3c76dd284fb4aa7830403bf08362cc16e0704ce60d6ac3c08ae4df1166b8ff438f4690ac252fbbe78538855eb59d512493c11bb55cff0ac54e952e9d7ce0575ba9e229a4d19715ce33a160893d2dbf0a0e809df5d1783aee4ede5720edf5cbc744abbc52a04b34b1c7e09db5cd796f0d371f983df534999e0491a196a19de0e3ee0701011e8a5570cc79fc019273e94945c70aa57c369a1c3b19a32d5e37ee7a7bb5b18442dccb1097f89df84b21c51c6d382f43f11e2fd83c2bf8f56ab5425c4f6459e2f4cf58df4ec028bea90a9342896fe4ecac854a969763847e0f624f63176a79f4fe48f058cd5a2f2294e7f7835d1d93b809f270c887a0014399db3b609583d166d2592af8358c29961478a55add3636527220bd048afac423c98a0f481720c507ad25761d8300348ca5c19a3504c3e47b4d78f3395c3a83e6c5f4fcd56288e5e9b66c465987ca43ea2100e0884a9280c42793149c20e85ad4a86b6296919989ecec6b252c75568c1fa09598a7a1ba2afca377124a3ff0bebe31703a5b4c3dcf9fdfbc0044aae38810281f787106125793904a5e7de81fc211d6183cfbe02da304d5a995f262c57db13c9b404ae25c456bb71241f407a8b8f21c660b56ac83706849841c202f0c7d4593614451a66c4ab78f78da7bd4f7f585d7c3fc2ee8ca7d536c428f577a602d3593dd0a78227c734ad795ea562cd9b7638b5925367bac8698ce7648ee3c2681a8282a83b14a95e34bb8f080a9e3f3f54eb24271165a7cda7d76979fcda0830c14a7daa8a9cb954cba098eb889f2344dda03d13a4941f2e743701a3300529e0b05a39a1c6a2c09d034dc247e806e8fe3d1f3e1ccf176e4e879cc25f70ea645b594b8c45e0c89f3900d71edc2ee268162b9e04811b6b34c8fdd4a8527cd0f42d842249eb4ab891ff3c0e0da1ed508965d47d2ebb190158d5a3372c1471107c764ed3a410c36d9ca82baafb77dfb4be5d0ad65aeda84b5af12ff3e8515c12d1d1afa2bbb5a6e9e5a30fceb68022d73d679456a9363394c526463bd59d96bebc9bbe00b1929b6bf926bdae7c29265f9aafd28673b2b1ae4e764557675595890312575e288ad7d5586700efe80cca3adfdc68af68cb0542c03d3fd4d540ba8d26be0f6886a7e2db939b5e7c31ffbaac97559b350535ee932ac75ff83d5d04ea5a76170b2acf75f6d985d1bc12a65a4f9bb1e1f4d29ed83bfc3994a3f5a5c0c0f5c00c04becce0a18601447af488289abd4178f740b581d066648e1bb7c6671a762b65d5e76f3ae4427b06ced8f057e91f2a34b44e122d9052233a7b75434c14478a26416e317a2648c98bbb7ed14b44fae6af898b735205994f5309ff99834d33bf2b18fb78a062c668ff28e299d3f4952faf33710c950c60be836c7d58a9ec65a4b65ca6d239eb342e97df19f4c9aba9fdeb7551777762b1ec612cfeddd0cbbee92d3bc0be7327a4a572fb8e11d67abdb603f9fc6fac41e3567ce9ffc08993b77c1b2e1c03405d27c4708f376cbec61a4145ee234c102127e732d8ae3a1cc6873983fbca41697199a9a82aeff5a4c5d42c36545b9aa84dd45889f5f11f9335e1138c63a5a240ca0fe2c8326b398e19849516cbc00b0cc0995053fbaa862ebc6d20b8fafab4cfc0e6e9a5af7fd7a90b63e89e37bf5b57dc25ae1119067255008841c9d8e1c4af8a51e5e4343d0c5773fdf891384184656fd568ba87162cc969f94aaf0a533803614909b599cb1745dafc9fa00831ae2248731065277e8bcd3b4be7f2f86c6eeb59ec51142acbb1a8052920ce2eb67ca64849bed8758e413a6fb797a454d5f5382da9ad20afcd9f46e9df136429527e2dda004193c8fbb30d1053fd42754a893306858587d5eb869e9f2b300cf97f33a4834f08177ed76d489383d0ec019f572567c3200e64bfaf7f5d97cf76f898100fd953bf043e0f5a71c227333b167fca5c0ec055c35ea1575d30cd09123ecd00ca72c7ed5bcc34a661b48016af51d95591438c56bb33d8809a569facbe5019cfa0fd5eff3e65137948a656eac76352435f7cb18a6ba765a581af06fa45b5b82e1075e4675dee946de05db2737fd16927addba01ccd848fb485a62dcdeece67c21298dca242520941132cf04e21d12cd3cbd9fb4e05447063b740cc246c1c005bdbedb20d64d4989d38fbd57ebdf054ac5c9e28554ee10440c0e924ec544dcbebb9e5848c13e150b2f56b63bc2f32034f15d3aeba793f7c23e5f59a7fe7ad7498f127d6b0203ddeda9363edba0fc4a9e8781d1b734db4a684370d50be7b1632a54204b5ac70ecb56052de38836f0c383807a3636081078de9eafa3165a6951ec6a77d1f324132c29f901f231d265184042dd14158221af7297b1fb4519d35bdc0c18382dbd0bb01c10d17f05384e7d5e3abf23b609cfed1b2d60d0cea4248d817ba94358fb23081ba528db81c5b0750424ebbece54387b7ad65ec43c3d7e996cff6573672a2b2c9cff11b3f3e3d9ba14f7478a9b1b796a22e4646c752f836009c9e8dfd74a4c13023bfec1dca7dbf8ded6caa13a3843adda52eb219e1c080ad2e3cae45783a1e216113b5ef41f814ce13308c32a4f97aa874487a78d103a8f60da9651bda60762e1e12042b66743c748416b522fd7876a3c5b6b438949049f119e4323d10781599aec385603e387ee150a42fc76405ef9d23443ab00d4a0b6d7192d878ad944dfa00d4897e279b109a012c29b11231aaa394a431c4ee6a4b6c36904f66a3451e513e9ea1013e8575697448f35c0a6c788d7ff87442bc0bf81a0a6fbea5182b8295413b0012346ce23f8d02e17787663f2857dde4525fbf413bbefca0fbc1310e66ccda3e800416cf6236e5e7749438f411280aae6fe58c4b1aeb9dc55e91e76f9aee66d6097c818fb7c682b5f49e121907ad495991644666c7cc1969ddb7a5f0f35960c40dc774d35a97932ee1e4fb9f9ef8771b2680dbe98c87e7c6e769cb843a64f1e10fb51019d3a800c735ca1256a390315dc485af21e5188c77361e173824c0d666df31d32631eb94057293cec4311d7872d153c49b40260883ed92f28ff8e2a1c056a4e7e9d6aa4078b025fa92d11c65c32139ae6569e4a94a4c29d37386e6daf2298d9c3efac59bc6030f518912420bf2471d9ca601b55ff60fe7f49d9ab96c7b2df7d8f4fe797159297e5531ce44af882f9d48b5ba0e0738004ca03aad2bef4b4818782e77327ecdd5ee1184f2761309db0d30b9a927ae333cb4e0b4f86a84515ef3a1f9097a000d516cd8947f5123e5f8db03579b825cb2696cd154fb41d74240b16cc8ad76006e53b547d808bb01204fb937d3b120c691e3e4ef4bb031467717e93e0651af8c7aa805782cc1779dc9858e3b8354a92599ca05f00242e00564dca68e71678f363959759172af96776ee61ee9d231fe0a0b438c8485d0a94fa8c1e51fed5886bd79700d33e591b291e75f549c12c94d7f9477917020fbb3c031b6bb139ad585144f58c9d5167986473c8d08db51bf599f7dad271ac7cd302da193999c6723971b3233222deb492801243267fd8d11b1569aded6d5d6506a705bb45a8beb683c141d06eaed75ef636dfdfbe5d1b53591784fc2e110c1699dca4a123d4a6a26a90309b4570686d1c57b357101c38b75d6ffe122164dfadb1c62c5f26b3662b4884a72b264030bcf476b2049696053f40a04953bbdf9eb2ad3ada31a756437cb59ef64e64e950e7c843c6a5b83ea1f8b428effcefc80dd84cc51cdfb6470a1f454d638ee22815fc01c62ead4b238eaad8c6562cce774fd54dc5ac56bee44bc87d60dc8af619b3826f48284f920700c739b99b3d28e91b435c3aa9ff62286484771e4e87c1376bcd5cafe76043bc7cc6fbadd487fa4a8cc49a2ff6ce001e2f46aab656684170e268b1a0e70981206247cf1e14fb452ac7353eae2f6494e2f017c6cf54e9d4f318c33efe67e76799145d9a0d850b6e860561d1aeed6cadb3af5721e4775f84555b617e10fc071c74dd2587d8c3525e752a2ce45ac5924dd59566c5c1cf9a651494444d8c4fd9482085e323b0c2d4c2262f4fedebd6e5e666927b688a2e7f28141d9615f0eb0ef70ac291c0048a2c341b14b934910e3b2ea2d1773996043fecc3fbca10aae95483cadce145a0c058a9109905e72506cfc033f4606dccef7c462af369b70d7152e737b2b73377377fe9d3aedb0b975af444bb681f29ceafbb6b7ff7b1dc75509fb1145232d3e8fcffe8ed0e5350d347870c871b9333817cc1171bbe034c7d602ca28a617c5776ee740996f87040636093c6dcefd1adbf1c69da83d1b7c08f56fc60776b5a90e1884e710df9e0ad4a484b2578fa124be2f383fcb802c4fac502e642f8e265ed00f1f9ea036e798718aeeafc64c6f40cf0aa21815ed4cdbc347b16a204c13d8458bb6fc35557b0f35548ef51da7ce3d9180023c2532fce865fa84ca70ec8300426545b6d80c1b1a478b0481fbfb9ea05c90e7cd89d450c40491404fe444cc4a022c09976dae360739cd33d945c99fb1de58bc7bb1126d8e1edee67b4f528ec9f69bc948703997700fb01e49c444a846aec132eeeb075fde1530e992237283ca74c1f21ae17947e087490fc22ea850734bf0831162e9978aeaad851cfdc1a63bc10bf48ac704deacd77d1f27f093d3656dcf5c6970125920d1f3ba6c3d195c7526e52838672d50a15b7fd482a7f11e6b4e1c0a411834bc751d12ed34356b23821a2426283ae31a7db69568a60e8ed40bbbde10e5e1137a1317e73e3eecf82ad71eaf00321c41c92129b4c17a6a9b1dccefd28816fb2f34bdd54e8b995f47ef8a1ac88b0d63d4856faa33f8ef4fc2009b4170d3770dfe1738272dd3d1e5344e2b6a547e62fc66b39ded3d412d2d6113431405e81dbd70a5f8fdc7acec1c4f9980c9d32779d02e22221de1ecc8201aaf31d5082adaa180a8b36974e43ad89fba019cc807c1055d5a448e4639b498f73f0622f5ce36bed5675a898a98ec1d0368f7720a3d5cb665c1ecdd8ab8d95789707872c3eaacc2969667e4c0e8dd9cb148a794ec6ce9f357c5580a0bf40fad7802e1ccfa810dae8481ad360365a78fa44faf4f4ccca6d40d87bd5e9ab914522caa26f5efa2894a7a8776345edc7f2d4dd1aa7fda834d4f9db3d4f8c21c882ebb6c2f19047ac8c8bd7ca18a9fb9e2808be9e926122497b3480f860b96f9aa6ea8e042747b754530df7b20fe3bac988ca2db953527bc4f451287e96de8e0bbe26a4abd436b0b7675cb3bca466a3b278b49acfa02e02b2c91134138ad0155eff4b8379832452c0c87bae8aa113be14281a0a36791dd813256086770f30fd695fd6d55135777a1a05da5674f39addae0d2f1b9fb479483a3f6aa0b05d2d0e52e78c39cc6dc7d5bc33a93dc8de6b0b64b65d7a91f1e5e13f051a51a99dc6f644c0d9b69cbdd461971d4ac069fefccd7490bc1837ca8d8fbc73081baf142cb714b403379dcbaed8f85972dded486a4972f7ba644f0c0a9f9dee73f6c26042da8cec12d180bc042b25afd71fff742ea8dc6ec1667b86dfc2508db82006ec8db1eaef1fb0519fd560d9c73d4eff4108bba2f7112e9bbe5dcc61f0c0bcd39ce5a8f0cef898be0562f12daa25da8d4cba8b2aaf1224ac60ea3766d3e0db9bcd89e1c3c756f7c05bf28dc6cc2cf68bb76984286573fea82b837d127b993fb21ed966a71dfe1916c55962a2aebc11f4432363af935c7ac2e02ec7adff3146bca06c8830d41e0ae9eb20584130488ca3fcf17e26d8e163aca889f2f270942612912862b08b6a2bcb935239e951aa75c2d04c25e6d2e091399a7e69803d891275165c80656cbb2e66dcc9e99ca6004eda08e9369a1c2c732a8f7f7ca73dfc97e0f099ab4a97a0a9b1ac5686c78dd6f5897fc3697bcb10c153f6afa50e75a88bcf45606fdb1a879b99f89e518281bc41a074e689019556e6b6ed25e7b9be90e191cd715eebfa38588533d40874153f2e39ab70477a8183e167f48e07662c84ebb5184366b288af4a397f47fd5639469b98291abc8d37154732f3c4c3ffe23fb22e221e253ec1bca4dd6ef9cef2c61944d6fbb5098472ad3ad80dba7c13ebceeb3c73fa8a30040a6ab6421a8f1e23891f289f892a1638171c1fdad0c9f9acc095ebbdccc052b0e0979bb0120cc169b35e7bc806e17c1ed1fd1a503447c4ada9caad9da399984efb1060c65d072e2162a5be68a940f882e262a4c53b4e054c42a4dc42497928a9d8c313b9277680438bca73d53cbf63d06090c1c20db36bdac0f232f592cf84d4f51e12fc3dee60e33eb6be06876ec45e0f57e2eb3eac5a3c46ec2c490e47be0b7118d8bfb8ba0408fcd81954f4349c8ec4ccb643a93805ae8f95287cdf2b7fc2f1264f94fbb9f59c43f282f2beb4e8e9bf10f623ba2fa284984f76c9dfa7b9644e06915d560d24b73fd973dd0a79f205919d096d8a3f107c607b9f27502e420c6b45c2f3ed4b9aad30e38f365d8fb38f4357c01f7e66ac53c92950599105e76f6a1bb2dc1be198e7086b4a565f178dfcc251c3806ad80c6a8b2ef2cd71612c70ad66005d48c4620eccb4ea86ffabda4af61c661005871c4d0f67da8e71c9bc8c6fbc2ae0b8616711b7d6c126e6b9b7eaf68785045dd0cb60c9488107e4177d70b56b8780471a8d0cffbef27a4a586e6017e499e49c906b978a98811d3f8d8acd17773615e5bfa6351a712614106d89eb9384a6e1ba05dc811d9843fb9db9cee63749a25aacc8f4437383d4a06659a8e6818f5089573d4b28c2c11d79062c669e259cd49c90a4c87501438d0a9b61b977d54550c62bf70e3c5e849444eadd6c6912b6a48363a289e3660a29e376e0644f3643298a8833b77fb3188e87fc494018a4e5ee24e45cbb82cdd1b57f09c263e37548d4858b7393b6e422f86c2bd85b68de49d07a2fb22778aef8dca5ed0e0f40d6c4de14e24f0c46fc20a5cfc2bcc3065f8ff727670751fdd5cc9861a07c1d52875d66c77283a660d9341306e49b56ad40ff32d632e8de0d8c912a58a98d468d87f47f799065f525f5661ed29cc2fe7be21d9e87d7ddb7f8416bbbbb8ce29f177e6aaa985ba32d4b16c4d050d8b43cb9593372d4dcdbc4ef194300dd5cf7131a3c893b0a390094bb38a2dbeeef2d9a8c04e2808756879a3814f33158a280db4a09085844ed67a88db1298c5f7049ebd096a3f6ee1aed6ce0552bfc853de16b4f9fb9dc6830f513664a4b91d6608c23df1f2a86a1183bccd5a386daf97d9037f13b2c1447629e22ebae430358474fc3622e0f2a09ea50e1bac42de0119047500e98d18b8e02b4e9aa37a9a10dfa452477a77795ce1641af19d42a04d9bc8457b81dfa0f2322244c8abd39760204317fd52d5575412ffa42528019dde282d055ff48f74366fccd548fb59c3ccbe44b09a377e19ffd5bf921535b34be0f1616a57c40a06e3ef9810cd5f585a0290d0fb3756d079368f4684f6133f815d1bd5a5efdb053eb7566bbe7790db48eebd15d4b120a9b2fe60caf28121e130223401846094173d976c8be41812c4ba5125958bcf25b64a2f238955648d79f25c8b61cef9a8a74badbd813ec30c749c15f26efebb6fdcfdafdeddd9885d2eac72fbc6a9fcf6f47873cf25ad0328e424f08727e0ba02edb34b1e633d974d5d1ffd858d444398358a4728ca7012fb3d6c61a87af95013de672d283e53bab762b1963e9d16600234ac26a00ba3b8879e80f6053df9f0ad214a4d406a90a4ce9f22cdc8d30ad316fb3b2661a8319530d81e56363d91ccde4fd54e11d3a947e000a66b63a8e88cc1f2fe07b35796e61d8c13ebbd27bcfedc84c9455f4aadf03331ba0b6c1456f30dfaea3d78a94a74a10a753347b569c443633b51005a64563950c88f798809070713e3ca1f1ead770e4bfbf20721ddb12b0fe7a0080669089752781b1dc21c06ffa4012e39f93d5fc64ef49353f98287ef570aef0bc0f339fa7965b3b94a940554daaa8b6bb8588b3c54714000ae4471e1202a80bae4e9d595d4a565938fed03b02c62ae8102fb569d2f989196fc75d23004c928f4a0fb77e0340efcb7fddbbb9e0fddf6be75754f2bb6015e321fa052fd33c335411678c0e33518a7d3d026e474c685d16b9fd0a82c079e1b2ab623ee60bb3c324f3be8053edc3c141308eddb0a0061e0501252981ae901a9250abaf26cdeca628bc13b989ef92ce5cb0ef72ca2b13bc9bd48fb3656a967d01cc6b1ec0d4091c217cbb656fa0184f840fd60e183f608bd67d34839377dd639ca87235f8fd1cf577c1f67dcb0f13b2438aae549ebb0ea3a86c29919aced6abb716752b244c6e1508ca95a385e9b1157732ff5ff8a17c1ff10ab2df55d7cac3376f226b921ef8d3df23d31960a56a07ddffb7dc0d4a4f40a2f2c7a283f4f1800eae85a8e3f40c090e6cc0009389147e31ec484007f034c78f17312ecdc982e584dd9278ec312cc5f0b04531d79b5d7f737a0646a3ec8b7d263b78ebab49c775bfcb521b9ed2036faf0a9901c5b1d785f565d5cb94c967d73291e80f160e4b16dd447c7574c8a0dbde4725992fec6f026d41399da6507741add4a865653538a77752d20600762a5d2de473eece10a1555134fc2c9f029037fcad908ef553de2af74b2f536b46261553ab7c8aa724f97e8fa9979e45459b5ca18e59f39338f09bf1392cc674232759cff8b0d17a644f62ad2f7a7cca862e8c9e849ea49674079a42f331888616429df6374ed6ded2dc03348c12dcbe40cef436bd5acf97eedb975df41a82ee3a50a3e30808b39509aaf90d1073682da3dfc41f6e179a405a6bd7865228cd39a5b59ae84b8792f9768ad2d09e0279468873c724acf47326d22b164a59b9644c6415cd40f13cc3690de76b09d3748393a9887c645333b05e4d4183149cc9d9e7084f3737b1487cd63242cbf9f4d9cf9ae14a952155af33acf4bb84e2de19a633613217e20840436fc273383a83bf19ccf94cf7427397831158aed34d4acc2f094c58e923521e13aa4d14c96123b392df9b6db3d74fa1ac670bd4b66e743be486d96c7709ea5a765c17e6e19faacec89fb5f357c7d2e7ed66804ddb8977845ffc412c2154e14bdfd0a25d80c6b3a74f65f5cc752508fd9076ddf6990eeb1a80b17d9e67c06ab8459acadffc99677e584feac64f8e62e7d2c52fb3b1cd93630abd0a946838cedf4df7ee5587f0cc7688fd57c5f44921f11895f96c8732c28fa16e06cd370258db6b92363e635c64dd5a51733f2253eb5726e54042a8259641fe120f581c8bcd6399a205e5f281e37c0ea7eab3ba713f7c8961afbe69672eee91c34ea46898458fd4fd69f443ce87595b0abd9ece627b01239f227baed4bce9df39e07031426761da7ba9691365a34fe46c02f571a10cd78aa006f024ab4e2703292b2b5a5fbf41b190f50545c5308b98d2bcce01d3b581c7b29b18eedf7688316f475332015cd1e1967d73b2c32f901f8f958cd84683f68092bcc0d0538c57e526fddf3d5bdfae69f73dfcd375be74eea7f1b9103bca4b942c1d92e02b4a4bb7325851b25fbbda9649c4f6debe52c86ddb7c6259ad08ee8e2a1f05596f9c21d29aa61ab95f6dfc27a52dc8b3685069706c8707f2f3648fd1e0de00d315064bdd085ee3f1dfd697378d30b6c2f814f10ce65f9b428b64e5642164348cd08b62660dc04bf69531b00d7d3ff7d2394e14a03928f963143b0fcc0663f13b0fb06f55172efeb38b7075bbdea6d08ecc944a2e868898586cb114fcf7c89e558bcba933733d54ef86f0ed92001da383075415272a80bfd2f42454996d2d5494ce39a1f4fd65bb992e1d5952bcf904025143d78c3a3977220177e7e83316693c3be0fa202345c20399c17e7c6fab1e9e72ad21dc470c31a3e41851a9a582fe92e18ce8166034b09bdd3be172a1002b807c6d2120608680bf8d3145bfeadbe0c89e4ac45831cf334915a3f8e1dc8412215d7c611851ca7ee6743abbda8ae0dd9793ba572c76025b95e42075db51a50618239861e73cc41dc266b3e218f0a08b3233edc1f7dfa98808ab1066c01b7931163ba481b11444f9a200def700faaf5e71bb2448f1d24fe32a06bbc8f9a1dcce39c02109bcfb198942aa545489be16dc935a80244b6eac112c51fdb15e8b11f9b11d079e43d19e9b3dc7a6e3dae2aee84a78f0ba30eb353d9d2231d790d28dbc43263c4566b2a2e499ae997a2fb265acdf6feb87a2e972b6e8ef24d50d1ca1eda4a83031a0057b42f5fc22b10d533311998de2ffaa16bea2ee9c267c47e8e802f6b79e1cd7273b8c6d40204fd216f1542b709188089c142c5d577073c5f1ce0f35a3d252592c71b1b19c45817168228ee2967fb863d0b370a6acb7be25016bb6b6509162e0ac8f5295619d7933a8bd07a03a2458ba7605d27093df7b88d64adafb0a95c38057c6bcee3b896a38103a2bfbe1826ea08ee08e28ede049063feb9d29e00a611e83bdf4e3af9cf7a2c1e64f5c619e646854eef6b96fb5e4349fc06281f0fba343f173b8f3d02210f68f8992e2a1725470c5363739763d97d3199c79ac7577b393c2f9d76c94daed1c4477db316459f58612c6de2dfb2701f447470b0514221d31862a85c188d69e4ba7d244fd75b578b1283647f32747731e309fc390a10545742440a76834a8b00ee3d4e8f423b3bf34b3f6b6648b5734a8d47f1e66b75ea470833743bf1860a488e5f476bf319f6d104cd9f9839ea3f41401e0d467c22f048c46883f4040a84af73b63b77a103120dad5912355b2b0268c58a9f4e011443f188fe977173fd1e159dff154cac0b5422592de391ef21ac9eee1443fb47fd8226f97a4d01283d94ad64701c4dcf2ddf2aeb67deec7512dc286ab3204da11a645bdc32f0b1e4d70476f3ff9ddf8053eaef85c7a89a0f307bc30d3791b8f22f4f7007dacfd19e7904e54f5d538ff1c5c995c764bbd614cdfd8e0687799e30b0d4fac4f7b8de0c799525f6a96c672aaf71da20c2aa705ed1383b7942f2c8220c5134d50069d7551d23ec95d529ddad5e9b7d5cd0f996b7d2b9815c019061280ead477aa1021d48d014c9cdbd452b5afdcb203731fcae59772261a5a0d11fe6d06e6dad45c243bdbc6688d10083e5f27904fe3a54234e440da18ed976a4e0f34640335385987079f7629f3dc0afd5bc898f69ed56941bad50161b6df923efaf66895575914b4684135707e20133f8f96a3d43790b0d5b553ad00c18de38ff8e73dd683ea34581503a6e6b27e7b18bf567ebe1630219792f1058aac69fcb147e786b8f313be29c0e81ac8889861f339f08295756e1b202ad4dbdad8207dee9e581a2e448addc4a3de9d78dc9e1c22341fb409f9a97eb30dffe12335b94fdda59f960b4fc11b42668223e5d35ee3b714584baedd97297ebc2676a846d41eab453eac8713c13d64fa26bb6a0400f49fffa5cefff8ed6e6e1be644fa89415bf9844352237908e436250fb5d060fee9ccccd69ddc974041ffb6de5565cfa0ac54a220b950be37b20504d2177842e0d5c46f8909d91d1c9de67ca3b2ef92ae225a2228c380b63e117ee1c6729fb650a271f305cafbbcda076cfb34bad26aa182776eebee8047900b8769289b4bfe771c7266e5fec4757032d2a1a4f38b6dd8cfb6c5d85cf5f30c280ae02c6e74c058c83dee7cb5abffd24d1e1a8abfc0645b49d4ea6372f5a13784cea272b21e72a7b5123e4c24df4a650251aef5397ae516cd2dc86217ddd1369d37b22cac5f835434f2fba4c3987d741db4d29b97610ece6ec96d39ff88e475ed8abf4b1532d1adb93497d2aa42003134e22ad665938654e89b2ffddcd698ffbf1848e8abf5e009143789420b965e98e43f42b55d881fc26ee649600e4f26a6265dcdb224d7f854f96738dc7b3048f852f252eab3d0268aa801b25fab515f32ae452ae68d1cc40b244e1b0d2db58249edea9241f767f458ec34a0b382c65c919fb9356ad7bbc98d56a495cba969d05aa211a02414732fa00d445668796f945738bd10ab0fe3f9bb2e9f830cf2df84ec4f3c16510506195332caa42725548e525331e8bec45937174f7508f32cd7bcb1099af0dbb0659d884064511f17d718c24b8594f5e9dd9e2afaf1c5ace5f5a331ee4ba5fec645bdcf62b47abdad3c87a46549e8a931059879f7f0adf01f01e5da0603f32278f9ce881e41d7d580289ef411df52cb53645874ab32473b6c71ab23ab2704df2e454081a2aea80b222243cb4e7775d43b5c9f1ab099c8ddb33ba25d740ac6f20d3cd560ba724d13d5245a4a84dc4bd748a4643f9e83d231bcf2226e2372d88b1977e58f77fab730d9ee3054e86cc26af4c566aaf26275592edb4968cb8ba1451be11cabf1a12aec03f90b1c4581245f3157945b77a2127b548e3dae3fa1ef44f00a2ead5895bf5264865557042d25fde1c12a9bbb23ec2b42b00739ce646ecee579dd7df553fbc01c19c640164415939f4842bd3a6bfb8e6a4da7725a3d1f3a0f9e18a933d0508344c686edcabbda74b2d09f893e3783dc4c3704401b8d696ef2b1aaf435cf531b1bd84f5a8c016914303216c5cecd8357b652eb8f6fd04c1692c15801765453e606cf81ebee7202ad0f9c6292398a9eb104fe5b20143d7eaf9bd3c4814dea5db31a11bfa5f10a5f17453c747d0384fb45b309cc6248c3f3045b6c25a8607b0e3e1cae1bd907b0a97192d696589743977549afdab94fffd1211d77e410e49613ed4ead1b6495254d94d2dbbaa21f0f6b9c1538125081a887dcb53f98c7d5057c0e9d7d957063050ae1070f4d5325bceb3882425cabf2f9b8eba880d71d32eb11c669be646f6cfc3b9dcdc976fec07f0f5a3bc1301aa8ac203efdd1b08fcaf963818206fd45eb79fce077228786b71f159f6bbf111f95bd746eff8cf39a5d66029600e685ae9fa067f70b0382ef8dc5ed750a4cb969c2dd1bc31ec473c53b2421ee8982186a30ddad18865562e15326c411a89420246820530c92aa59a4b4928d2e208c4fc4eb67c697ae36fefca25474171be9d0487aa873bb5aae366db08bef315f6414890bd6af50b125d03233d034e8b1a1681b83b89c914c44ef9767dcbc84265ba09cd9d489fcc3d812d9743d449612d942565eae8a9b0d5fc64501f78282df9f45a25a71db9af3b38d4e2db7ad94a69b23de8be4edb7183925bb26e73fef768d7b495b96b19e3865298625f9a8cebabfabc03a74e446f4bbd609f1a544af12704b9e4934ac08bbb935c2fc726d9955a46004ea466df133e44610af041e2aebad1090700130770708a5c2886689705acdbd8395d60bb21001f09b7f8645b203465d5b8b512af1513fdecf92be2d59f9dad0094bc5f4ccc54267aba4163c47155832a7a3b4ab4ac5768d5f0ef113b01d7ff2c048ba5b29416a72b3b2ff16f7824e417d9da14031a256237020a56920b65ad6cea7a6d90e927ac0213808b7984ca8f629bca38d55f42ecfdf7b364ded37afbe8e4ea584744b3b60afedaaa7f4ef87ab7a6e6123c4ab8d8677c640c917a62bf26027d06f8f391eb3f4637a459aad1113570593dbcad99e45632322fc84f05774091817a3ad1d22af0e66c7362d88ed725d644ff6eb5c601cc58eee90413567831ccaadcbe3e100f6c6e973391d44716dd1ebd4e6d7c3688cf2370c44bc6b1663d4316d294027396fe3406e2047a553318a2cea7f518eb698406f18fefe8920ab05e2ec5531a3a2135fd3e78a92eed556c622de258f7fd503c65d9911c2cf124a6ce9c5bcd36ede516243a28054253730ad1188c14adf7eedd3cd31135639edd9b66b362283ec0969f1556b3e0c84ff64cd6465dc33637524c67317f13383e8ea4a59aafc11218ec5ab243971b161f9e7cc9cf2f043b2cd8f4d18762f5f9e3bc15b13faad18c5da88d197f40a81d8b4d4b70f44dff3559cdf3a0e6a4c0402aadd1e7040fb4046499bbb37b2de03a3e5d4d035bbf170f20c44f1288cfff244591c45a138667678a90b335fa8b3018b16c04567130f92babac00e73326dd650ca87592ef293f61179b86cdc77928fd36ec71ca4cfe0957b452578bf7281c772fd63123985791e4d7601f2cef14aeb6c27dc36ee1087ea77abd5a0928564b80c217f112c406db04eb0efa81bfc0d0f55b6eabc440f316d24a054be161f085f236b9746ceb494d7ba38a78d921a40f46c4e1e99a8a1b6857e75980381d0d73dcd33a3eeae22161f32b9f9ba8529029a51b90e287d6aa8d048b36a1af1ca4eeb342cd89ed446df81b3e1aae7a2bd977ae1caf97c1b7421cf55fe112ff6c7d1932d6331e32edaf6cc22bd51ed06acd36381e1e4ce339f8a478ca7454632ef236e181af3053d43590aff7c4591eadac504081b458b5212a99dbc9cff93726d0ec7edee0d5f11c5a4b9e9536e498927f4a18bf30ff802ba7b887b456584a6c59571e1505d8ce9ddab993db79f69b0a9508cce24dd35660f22d40cf74f9ae5150c449bf650854e8caed0f468ff3e713b389c3837170744c8dc24d8acba3bb1b19dc9d7a22d0e334e6996d9a3319fd12faf1fcf57847fea0daaf114ac1fabc4d8bf38820e7fe176428e2df32cd32322189570553ddd8ee7b15d063c4c4d20c22348aaed0ba7e4b09c932814d515fe41ce6c06998bb9c2fbcfe14534c8ea41bcbb8c4209c14d18a79c68962fdad8059fcfd6ec800f97601c4ca059d5249c0d8b5ec6e106e3aae390a767b35218e3159668da918c4069220b4268a9eed3636710b248904c87a803b1ab819651440ec954883b18cb77a8a8a84ba061b19395cb34d4b79fb906b5ebcbd2a3089f8da0c055f437e87a9e4810fee45e8b2b34d0d85e84d3ac54ada5a842085705d8a7e0fa9781678c86cae84f8ddad4b67e13fa774977aa2b81d83296e3213dfca18e3d754a57b987626d38d29b9ccb4a83c7bbbc639e47ed8c21db869ab9daab52989689f5fba4e37f94972c2c5d8540f9cabafa2edb02f19619473e39a667102760e53c7f610664456b65118b4da1780c1f87d20cda3ff028a668b738537c69fd2a078a8a78d909a40a66926e3acd38d5ac0427fadda0c2c86d066a5994433878284c42faba6e043c81e32ecd9447154cdf7da0f0180d8009969c4c8f2bd368b94bf1f356bce61012447bf1fd57d2f11b76f7f8bf4ee01aa822d2b414d18c9ae114a8458502863a1d418c7f29ef3605e9cf157a9837a5ceea596048152f06981114a8bee253e92d33e2761c29ecbdfe6f4aa0d5158d15b81a6c1c663c83359478c11e3453cded231e886ba2cfb36eb6acfac345129024e721952ad1714d770730b90239c5610e85f94985ef6a2b5330a952792f428adee214acdf3063393dd8b51feb515d993b3cce0cae1bd98d62d943134beaef2b8d0bac160a90465fc469de496da36f60462feb8231da49496b53bd0c830c0eaaf10bc00fc00ca3d7e2d9b86a247e49e8100cbaa8e03d877068c00ad3299d9a4a663e9fb0ab39a2489f2e493112126ff9b39d6d189e0d1dfa7e9232b7cb00c758148dc2afe2093e775123af27108263f49369c7d979889d610c581bceff902bdf5242b437b4bfe6ccddc3ed65a973ff21f020c007b2e73fde9f9316fa8bf9f74ecb554a64e0e886250e880649c3c8d0e217b8e3bf5b013e0a3ed617ac61dc926e5923d91291c6042efce764d8cd0907c94d04f93ed5f5b2439f4d1fa94f01d009f866958c4d2651c5304267630b749fecc382bd288180c75d30df0194ea4cdff0a54d9bf6c2651068c9716505095665a797f4066313d17eaecf34dda5204e9545dab423a9e0ec10499bc14ce840ce6788e20c1813d14b30e99bd8965b9280df068dd3f0900db174b514f25f18bd255f85399590ddee54ebad27b687d655e6aa398847ef56e42a1146dbc4d06e3fd7d77856f36dc9cb84a384fc9ad12627e18ca8b32f2f02cd92379207ee135293219ce86d38c265a52f9e16778fc960be389971075fe9dfd55c7f0baa68e33e2d2f1f84cea1b05dc18bfecfbf8d8faa5ecb50fb1599c76d79ed93c58b7e75d77f20284c4b3303e5077e0da2a48f45f3b89c6c80db4fde7343e7d739067a65812dd3cc342ac54f4af10f03da6f9e2194c387771b2f32c44fd58e1fbe16d1973f80be03ef1aec43f2b1928c01e57c4532f71907b2caf6b1857061d6842fd7cccb3b0f911f9aead5ff0b1dfc2a7467c58dff1cc0b77ac04122406302e94fcbd3d261b6e86f8c3ba924549bd9f948a64c90a56981e912e973a088270bf1de5fc301b8fd04aa8ce620f3ebcb7442eb3c001885aa4c235b62e27aebdd2b20280a545ccd702f720ca1eba95543c9e5efa74257654a8e119f6933dcb50feeb6857205dcbd955ff509627d346073cbe39f96910e656e0669a26d26b28b7b64c474a6b8b590a146a9031a9e466cc72de931ad4431f255d87a565092f8467f4d9d794293743133df1fb91e0e62e469bc63593c2f8bed74f1974fd3358fb7726670bd662673e13ad54bad539d87d514ebf51fcdd881248ce018a4d8af77770b6b6d514019c0bc6a08468cb167c04489d92d0ac985b94b4679cb978b1d409b878a9502765cdee5b2366e08790a281e7403421e5808d8349471d804b9722e245382c4657728aab2117c526a2f39d5e367c8397253d399bd36c7c2a166903f8463875e3cdf284475f75f9889871ba74915efeab491fb16966999d8f40c5d38861fcea54b164da764f36b6aa42dc011c2404e0cb0ac86e04751843d73768cbb8c9f51a74f61b1243ac1ab814ee9e0775693afc85b64fa1d192bff7c93d4e038a3a8ba52ef77c95d2542055ef56dee302ca25a2ed6d653024ce9b58334ddc30c32ca024a28bd782e19c81b5456db23b98ac0a7bdc05e215b222a6addb81aab248abbabf3498d12fa43f0e9da5aff6e96de1a7d9a80ab102648f7f2d94997bd98f79aac5affd9de409a14362ae81ba3bfec18446bd43123da16f8d3cf044583af9d7a0064b7c5088ce5779d15c79ca461bfc78d97d73759fb482005cba10e79cd5d4ba6d28c697a95ecd5b4173275e7c70d3fa48210d7e727c29ce8fb4aad51773bf5b86319de53e744baa257c2d47461e13a8180381c7ea2c94e7cb5cfc294c219172292fc76aff9370cf14ac44429def37470177846cbe37fe5cb99a7b5321e2d30697ac20ec842b151b87efed2ee0d740b88487dbd75eaa794fc81f32cbcd6e68000c1fcc826ab50cda0d7daae61aa317c6e637befe729f6a44065f909f68db2967e768d616154685a265073b7b3b65cd9bf9e4b2f3faa81ddb4875bf93ee1e9a888652a119e5fb37769e551aaaebbb180cdc3628af2656dafc86f325903d59937409c5e0d1a4b36fdf68c1d9a066b387a2f9b04dc79a5be6a56a955f5cec2b546d1e3c9214e6199b26ecff9320c20f9f1c6c5d8191525136efa26223301d035751b638131b96c05027f42785c830f528bea587cbee7be63a8cf8caba1e8f5659286b91f244bdaabadc47818756ef19f8124e96a822483de580c41e60a0c6cb251391c773d81ab2bbefb7dfcff3df035b09134a1e3cbb015dde1be116669095e4d6aecdbe8dd59527a069378538eeb532f8a3b9f04e21bd0630572920c0546a845464865c1dd7c548e5d0f9dbd338441eb785e83144f26881ea677ec76fd4a077517d13715a6e2ce6dce5dbe84eb813aaf6c5888f73a1d3cb887fc7f865cd680d8527ba6064c81bfc1c23f5fb6c32beec4485d0549afc729db6e4a8b81058d90ee427fece511069f0e9bf84baccfeacaa8f9f837a5f610963167a27de3a1ade59779ee7918a2d6165bf08e0305488f007de01f67c694a8d7d29d5c19cbee0896c60012bc1404a6fd475a980488624d10ed68977637ff64a0c9a70808494783795d1d793801e09fa812ced6ca5067d56aa5a68dcebbc6e89af47cf5360b9fe88d9a2a57ee8ff0bd5f221b0c9cbd33405a1970a427b57cb17c37cae30d7d48ecac92db4b857d7c0a36bdaec646183da3e8c628d1ff41e9d4a78d5dc3bbc3965734bc10a4f4e6d071c1d51abca8000d2a1cefce16a7db06504d98b4ff84e7d053be5cc71bfddbdd46ec37c1ea372151bed891bf2f952375bd89b692cfcec7665a2f1ae3759c7ec50f8199e6d73c16f9670ed904a01384fe2454373c2124a7da7aab42ba3421e5a45c8d85aec425d46f6c0e2ea88db71a27a3954bf285ca922f24f87d3d5736246c7021a56ff194fb11e58c9c7743a2890d1ad436f0656aeb441f15140abe217af53545ad95ddcc9bcb6cabc091c0a41f12e26d0d0e6090564872367103361bcda68b375efd755e50a03f5472b9c225252a2c7a6c0bec6b497c2b293f4485f821b5c8a4be30f2a9648af87867e789fa10e7dca28867769b38f9d7e8a78d34c053f37efa45e988390f7b7eaeed746207b8ece84652bff7e910b39304520ebb297a3660de55538ad6cf9b46b15f47af2f0cdb11173764a7319429c2ff690f3478ed83c9f727e68f6c8938fbe156c49bdea614950d0308781a2396e6829042039dc8c4aefd6106cd81fbc722e4c7f13b346ee9a5e5d291ae33649a77e86c511c7dc9b6fb1b2d07aa2ea48126d894ec7f93fade88a1107539f628924dc234621d9d816505acdf8ea018639d8bfd6280b3fce3441472df061f7be7c5d0a19842c85e9873811d5fcdd8fdaa6d8743f3d2c49483433183d258667941b2331f50cbadca8f50dba65d52c53bbd4bd6aab8a240cd28e7e40ce9ff7b4a8216bdcf629828f9a34a965b59daa508a401b47713e1b22127ba94ca9f528a1defc39b9e6b680eb653c39f2a4559d6955886b2f009560d6b99a35a9dad44530c80afe3b301b927436ba2b3913c291ffd1ffb986d31da3e71d40b7762adfe76661e98f2676538ae6246e3041406bcb2c89f54f472fa5fc7361e62979d1f4dd3de881fcb575914f997e7562d9a94defb72785be47010bafe4dbebb7c4288531bd0a051be35bbc15d103732c095cc85497d81dae4a26df783464f2cc3cf51af7b11cf785a285775f4a7f43b07efc217a9010f16f88f1e3124882bfeb5ce8f39bf3e59e43decadf0e3846205be9483d7f877b67a7c6a7a0e359887c568f43a6dff622cbcea1d3d9bebd8b0ab0f448dfecf07d9b9b0ccc605722449596bd52a6b399c40a45c0a4049fc6314211b03a2a4c8bc6eb678189fa4f7d7d11c9044ee8e389e9169010dd572891239ab2c94d4bc6318ca99503d51e75d9194e6c4f224b6a10ecd7745eee224ec84220c3dee093e26b34a73633697a469233d644d14709a878cdaa93a8486873b8e5ac437a0fa341344d358673ecad4ec07da257d8c7bb7ec478e29194ec78faafaffc096ce975964e533db78f3290ff19d76637fd0d00580a5976b3140b9cb88d697d470a2259007baed1fbd5a0a86314c1f7ef7f73468af22c4ca40d909b55d642743823cc28a0777fb1f19fd638b9a0757557329f8e7c910425fb4fdd73fb8675f07396d0605f04d14f3a542fe0d66acb9567e2a4a53514dbfb06055e72fc338ce20916659e4c605bcce2c79a85dcbb27478299f3546d5af6c2205623d44d1583243bb656f6d39081db7ccfdeda954c709e2b76125cfa62c76ecc70386837bff2edd3289da567b370fe0a1098382aaa0d3ff8f034643cec42b2a74789e0a89636a408b5f1ee482cbc8a370dee3db71bceddab4c2bba2eabef0977fd0b37a5c7e5b19bb0ba4e21016ff4b62dc9c367515bab142ade062f14a0575dd039df1afa75d1fe269194e089242640423c9db54b5275857addbee9b96115515b63d0437ea918d43c4e936d5fd4c667c11d7153e9fed152e9584b86c044a804680e509dd15c1bc6cb84cb8654956d5e246e0f69d07013247231f05a915b1da4087901fb42756981fecaa88ba1aa3cf29f1dc590058c4592c5d27e7af37e5b2e8fa4a1e7f0c78c420d6ca1129f78e01359eec4c5b535f17f3b57103dfc7a52c6fd1bc19929ef658a11da9b88a9247165c7dc80c4b18833b53f1a285ac78afbab75b51489eae2f9ad65851204ea0cb442f1b4b2e7c82a7d2ff2ab9c1f9a8ff29ce24bca186477c167810977a1f9ab4b7621c731f0d216b594ce6e67be34e4f4eebcd3b1bf65a95d3039f8acc94d3906bf34e1c4c9abf17cb79f7270acbfd14bde1a66d67b8cacf96f21750bb0dd3c00112f8a44fb87f4741c1a1b2fe51a0c54d31ceabecda6dfaddd8d643ace285ad05d2023eb562931af3c7e1e22dc7fead36837cb3f2496bd29e855eece55cea7dfc2c2f8dd07412e414510dbb65b1201ee7ccc29faf1ad3a3245370543ac602a3dc59dda1c017cb48e365f830875a3b56fbeca988346001d5e268f5d2a8bf9dfe4831c0982f4b625ccc95a15fafe5a69d20515393ab96e08abdb2c403f5c167a05ccd26d27f8d6ae0f481daa98da01421dea574511932abfa9b09e73218a8223bf7439f4d5ddb36ea310f0aabd4efa8146721014c7eb865bcf1ac66fb7a23e81f0c8b71d0452d50bb424d4babf7174157d1d911efb03d65cb689c7f44ebc26754d6c39dea58363b28d31a0781af9d485951d0688acf8f8c05e10ca5193df33170e67a24be9bae64de1ccb3b8ebafd0a7d971bef87137213efa98c6983973d7b76be27b571c006931a587f9c901568216400ed8cf7b4076fdac65fb66b81599df7a75efffafd9abcb06833ec423417a42630f3df6b9283e27d652df8effb5c2ff3d1e2b753d8c6609d82b437c9c7ec748e9831bf9c306995de82bd0eb97c4981b979a5664b44c36231b8e3e88e13045886a3f0a1a9e09c0a747bb2c08923c588c4bcac6d186fb6e127dde9967f3ee4acba6439af64272aa8b1f09b1be816d10f09c9001ec1945b1698bce713f8773c73601a3d43c787bbd8d4b8aabec353f554cd9ce6a5d8e8c01d810c1c43e92f9e7d1ffc157ac83dc0fcb13649180132eaf1ac61bb56703d72bb53bea2154cbb98fd259ee6e64bbbae0080be2afefd623aacf9abe2226f67d4799d3032825c71ef29bb9206e452e3b31cf86301a519005dc69320d6847272db938434c99e932a1dbd573d880b925e90cd858ea86c252713a7a13167fafcfa121c3a631cd5aa286cdb9c94a61ed601a5c05ea779f9d76b157d919bc8b7824e2894b45574fa6e60009590d8756573e00bb75538a1ade3b344173e6feb58149695e3d0523abace079838fd061ec2e135fc1602afa574618b073661ab190106fe7a80b47b0b8bf5e6b231300138b5ab62151fea4ffe80bc350f37e90beb3934773c0430f9877034e56be433dca497aed761d5e3cc66d7c543d265de71ce79778ec0f6930e3211efaddc00066e5537774c80d861d96fd5224dbbc92fbdb3f84f76cea55747abe40f9ce05b9bdbddd851ebc5e621ed69c342d79f117bc489278f795fd7bdbf2312a60f136ab1fe1076ce5c26702b27537985d5429306289a02e6228335377f8ad74ab6362845aaf56d9feec39908bb48971c72442c5c360c5a5e6572cb0ba159b80e0f8e54330665af84678727b52bcc8013245d3fe9fce06a96cd75a7995d213db8cf529bfce31a74c797cc8de05b97bac58ce12af0bcecd393aabb8bf502c10a60220f21bf0cefbf9c15f220bc88ffadfee9306600b73b932a44c0f7c249c0af55d5e8c5c6624b2419391f4e028b8fdb1fa4aaba0fb285903d8dea85f72ab0d42dc936ec45f528e1278a167ebbf4acfc6938ba6321f2b4f7f823c5dfbb079d9f9a1c9922b4fcf91ab86002ef82f2228fdc95c699d1fb68e82af849df69c03857fe1e0aa403b8c1fe7598025e21ccd2c90ef2543fd025106636ec960241daa5a8c3339b5a4f0b3c74a6096ab0c1b2618b714a4b12d87c92b512fc540435c3b8bb4673c19789c2e54ca65d151d2fb982675c9b4b713cf079cb365cd4f8df236f8942e2bad7b152fb7002bd076f51e813e44ded79b76b58920a2e25f66343e239ab64762fee5e27a3b16e365453953df5daa30b6ba5f356e2c90c12a884e149d12615f9548ac32b80d5f6a77eefb91cbe5e55d0a7d991b8d475b24ba0ce720d06599f88ea2047638a5151b36aaee41c36fb35036510a508455dcf3d3072053e294fe0732db58f04f9f5eddd7e0ec8899564dc7292d40eb5e0796768abfa04dd6013125e78ca34215aa4cb94a2613527f107758cda1a0a42cba334faa44b1e6e0825f5e246139b6592fc217d475e24112a94de476f8f9824516941a7e5a46e836f5242d5aea3db741061f7907cea7fef348d8a2e00d08ec49e255f0f13dc8e89a573f448d7bd3f9461e68f2266b3a2186f94ab94a9e2b59142c4be908e1bdda35e7bf2701ec8d37e6ceca74f5bfe77a6ccd969eb9095f0f4748d1f02945c899fd1764cdb9de8e9fea3b161cc53beafdbd4bfcc4909f3f21fce70448496d367d8f120148c5a0cfcb3806c75f5fa65d7cbecb98657bfa25b2097746dc4d4ca059ed67c0145e91bb6bbea41a9bb13905d1ca83f8addf8e9c6c54699de6d172bc9f9a62b840714aed9d81c0e457ee0684d043b2bafbd9386e52e6ce9c9cecad5ce46ee6c8170d2a45712f85c88515232d9c37c08c1f6ddfa57f5b8b66ac0296f22b13774dbf9808d7beb55fda04b626ee71eebf9ab3df5f28afb2fa854f025f7d191627a5fc7ccbebbf8c092d96180eba6d2ef44388ed9f5d1f26e9a578bcddf20afbe437d0cb3abef29df5a33224082dd7f2b589859992c629dc7169530004d455d9a4f16a98c958c08473e738a98dc4c4390c3e27f833c5164b54028682307125563272385e45f399e0e8224dee1f55a7d6af0d191aa94845fe06a69c92a212297926e5f1074894923bd21eb38ec0dd40968e14df033c2188f50fe9ddd6400f1abee826b21820e0d9022aaa8862a252a57af8b6dd40f4a6c0e42f8ca54b9eb2de230dd3408f4715f6e838f1722b56f09d81e4cdafb310ff1fcc22ab45634c6816e8c4b2e129d8108c357e6d9478e8e75a01b3944645c5bc9b3a2173d18ab34cd0aa821f1bf3b23d45d5cdb0aef2d2b46048b14301c3b07158f39ea34b90d519126b061c4863d2cd39cc4603bc6bd43f4a479c568fc5192251401eee07d44aaae89a3a36bf4d8516adaa8052bb1b5ded8295a0c200fb4ee14ab3c558bbc4b17f3cae2bde6b858b1b472ce9e1cbd09142a655e3a5989016c7b9bedc796095f9be059e0e7a29b57930b9e6ed46f186c02bd51d1229c7d60a4f4995efe8799e3779abf7feb91652c1f50f71e7d6d3a713a11e30221b8a724b6b8e3212f86824a40d1f25f9e41da5901ffbedd98db1537193bb7638517d9b736148fb510158ea86b012cdab19aedf7ebd24dc38f5975bfca6522c3d0e04a92b82ac81c39405c4979620f65908c6f52ab3a417904f07fdb9818c6f0f0d40bfd4d9c3e75859a69f5d4ea2cb8278514d628790eb056e62021bab8f4dfd61a9aba1b195dcace584ebf327943a16d17cfce06432abb6f6e233fbdc7d221649761af3ee6cff420c05b3c79aed0f02196af0e86a7b2bc7350b23386d2f1ea6a7c9554ab7cf433cd9158e0b5147e92ec71e593fb33701097128a36c94433a714f86822b435cff956a42ec496b9e893ea6f0e0d2942ce24e5e5b40b705022a975eb5010d77bfb617d487c8deacf6d5f4e3bfdb4a0eadee0f8e5ca59c6239c6436a5b7b9597b0350fb334c6795082ddcf7b73150bc0a1cfeba254c00e3a15c09a59b15b7e60de44d7f083fb515d3853d6b4e88df6ed2347857f4bb157ae9e8da0a15d2da4978cd8fe08a9b8bd7152e1c099b62ab51bd11c420a682d939814108471b3641702d7d5979d0b502c3ce60d36fcbca1cb0c2d19e16f3dccbf8c35e99a4cf29a73e447a779e17de90a826a60db213b1a5f25e4a8dfa49cf6faaac804e33cee4eb70b44d439695cf9ae47a0ff706f33b04bcdd6c5736912d8b52c8ced852f8daaf55798e6bd0cf0adc2970e7993887d5a2e15e279c6e673067d6f7c5ff3990f1ad12842a8280478a34861e0c7c873a76e875475d28e0cc1293f65b36ecb966ee8545f16dec976c7a7294a90f701a5e88f5d2ed102e85e24ac83aaf7060d6bbea635390e844d45f06dd564949ccc3fc8c8721701fcc24232aa3aee308d593d431fbe9c0c6993ab834c448b6a2d34a166312e6ee203b953f474d142f2f8b56b653c972bca5d47e887b56a583f20e2f9d10ff3a0cf7c96f5d028fd6711424bd7a5aba2be217669bec917796af3c21c969985c78546f33f34b67884d8e63fe176f1c2011a393f9439be454f08656cde93df9e9a4b8068cdee7b34e81142255746168f83fefef2942ec2db3ac3ae0ee9abe67d2d7817c48e3e0c71565175be96171cebf8a7f11946417534b8c63feb3b0552b96c17aa0b78c475cdae49489f38691c9c79262378f7f5f75ff5bd56998c12a6ae45df03165c9e62e5ac46a8029419a5e9ca8be9dd2d64524df300d9f0694157a48ce30c5f5a1b0e7004d63647ecd402b36b9acc40cd6e5e005010b33d11a97177a7b2fdc30dfebd5d5569af87d66a79dfc91bb59438fc955706065b76de628b1dda98840c72cf027b85c8689a15799c73de6f792462cbe3ca3f74e6288bc4d5743a4db9c374978988a992e60827b0559dae1ad80e13c8453a516e52cb4e4cf12d7de13ff015aed6679a549d6f83c314eea00b65f529517d4cfaa5e99d26a1e5358927b59bf42226ec09b9ffba332444f924a4548f1f26a3dbfa3ae8844a48bbd68e12e5f6a230e253ac3d49587644cb078ef2ba0d137469973dd9d7311c6d9e75820e1298acb330a529aae0cfc6e17802e3d6e4351dba21be0fea386ff2b7bb2359c8bc707df4343130fbbe46ba10da51e39680a01364f6df083e1388ebdc738055af245949408b02d975028893bd8e229fbdafa4a8fe8174e0f96f4dc2b19d434e538e74f0bb985dca52b09cf1d880f77dab0b70d89725c522a375e591e12e4f3d7cc3aadc5548e339e136e00cc7183fac29d2896062408fef5bd064332ce612e4e7c793846abbcfcaa47f24671f86d4553506bf3a0678ec5ea89a8f7553bc2208a553546943ba479efcc6ea9afb1ea4761c39e263247dc14755018c5fb252de8660fe14b427bc6489e86735d4db111e59b043535f652c1b00d2a16977440d28bef1d74d3430df39bfe55405b3a480d324351cc1aa50d3b412a2f710f2b82a5836365250d9e63a60b0cd1c3acf7455012dc7e9261980769aee69590f708676d406fadcf010d2201a1a10f840a195fd6b96cd8e2b640b7481d6635b2a5172c070f1cb318cf262f8127a59930be9a8395db312d301660e5b14b54e509e193df947a0b81fa7d2cae4c5a35484cc31d69ee245c0a47b12b4886576843ffddf7a90bdb8dbbcd91fb62205fbd8952a9f5b7d2421f939bd91dfee6110a48d18f81658e16485aa73652a35d648493377d8947e22bf12ff87b5977a3e8d6118a08891bd0d1981b582c14aa662183706d6d72f8b0a5597ac3003ae5258de4879f9ff0e32ff15ae1d5fff2f3dfbc19b7d67f96dc91066c82aef3d0031626179afad71dd4bb5c0516c1941e224013e7679f5c4ff007654053c63330a84878ed571c97ff8574b4796ca59790d77d2b000aa3a5e38b865c39985be7d20a71e507f970d0927a0431ecb2c666cb0342766d239121d25436e43eb24cd4aa87831eb674b22c5b6a343d46a4a96cf0dfbdb1361f27996e635897c56277c1f546c15b8e8284c6a58b45b076e03042bcea15463131d4fa7aaa68a4d0f76e3b3f4c2fba66bae60f21bd357c588af0bf451acb2ea6942c1fa1779220e5221e440ff94d3f4dd194b9b6543f90b2024d2464c275a76d42e69fdf6aa0e50caf9345161150b9b8a511e0af18b9e99599abc1cf4abbfe6784c2efc01aae90b4b3666bde0b73dcb1ed4c167630fe33b6e75588c11586661f10cb5c0f58a8611c815746c75fc1e4f69280afb05869af80655b190880ef34c8c27b74ac7c26ffe822be742e64e73803f11b88523006eb5a27093cfd19f04fb010b4553642afe3b2a150530af730f1b1a60c82dc4f55e35538f936e498621e56da64fcdbb664e209956f203a0ddc2c029e924e1e72e8b30127e4ff0e2b55697c37393e97430d8e6ca0ddbfdea8da2500a52176cf7d3c086af1682133b17ab203286dc7d9d56be619d2e1daf7c1bfcb4350947980dcc9ce8582d61a718de9708bf51abcdb19648c9d0867aa36c54e2cef9b41ad2686156c5cd6fa4d32ca6736c606ba8f8eac96e4d34bd5e4e8712cb79ba429f4d5d800da0b2279d7e5c339f92fc91baacec8c1dd171ba45e18c984a9f0abcb54f85d36ff2692697f159982029698cec7625d6ee516aa3b047e92a4403824ae3a476dd5845cbcfc8532abfd7b3b7aa46d95a25207ecd32c30b9278e549f7f3b2da12882f25de9911d73078baedbaa4380a3fd74161081b545e27ce4abb568e247726b338b289ff6eb47a45d2c30ffd8be365aa716e63909932de5c3b9a36c46df1753566b17fed61393b1b0395e14efe15c36b1e05450c358be29e040d9a34441434447ed9b6a78ea424815f011c913227581daa757720cd33aae5b481f023fda665f6cda38fd8d66be80b763ae96d8ca27872b78783e6518fd4f3538a02ea6eada27255a80b8117c28562152f55895444c566b4e8b929f661d74ae36b2afe81cf2e7e71e7a97bcd948fa9732f42a2ebb471adb2f762bf498f1dbfb3c492606f27004f2ab9698341db0024f1d7d86a5caa33837254d8653342a64953151ddd193cf0506bdc5d52fdc975329cf31b85b76944a4352c6eb580262630c22260d12ea169f1ec22110c37e1a2269df9307f82eed4f6d21c64981694419335a5f49d252cef337cfc6e96d00fdba85bb679b74613bca79272611a83dca9d1a96e03066a43bfcd23c0fc4b041b492e793114a68d1576d598d9bb00d2bfbd311cca154cc5a20d135347083674f7382ab439d29a7994c22ee411632c498f6272790771fd2634ed5be22ecad7f43ef7a6ac7fc901348ced34cf785ebc0aa1c5104e24aa61494c39b13040e6a840da984a0b3f5ea59dfdc7c5c6d29d5425742323e452fdf1f93345b3684f252b2c5972392f80129df47e40060d12e9e9f8c483cb0e9b434b92fa66ac42fac7db61a3f26793c12243bba327366cdbb52f2dd16282ce3191b2508eb03eab6c756dc1c640b810d36b8255928c77f7623a9b5b96b7290b22e3764dea2f9a5686d93885b21f20a6748dcf353f11f59e04278f0438e756766ae62c02ef4390ab7fcefd4beec85a31f3348e02a5b471d2f85c99554fd1b8f9ea27c116c91197e0f405294cf71766188ccfed7fdfb79f5598d5c98265139382e3e02ac95d41649d591539b014a4eec07c86b6faa15259417d590ae25a32b92f643e14b2fba972ccc36580606ce4cd10123749d57586b32ee75b7cc73f1cf4d4df1f14cfde32c1afd5d0281e838f5dbee0487ef7923c65987e0f9339e43decddf4a2e2ec09e4ccc883348eac14b311359762a30402b7b51269d99915f929d5993da27a87a980387b3862c49f53e80f087ed26f3ee85b5a8b88c54fa99fc0912514f4b22b0bcd18d90c37d056dd5f1148d7e41984dbeca7e38ef9453e4ea499e9ca2d616a62a1d4f7e821308d48bb81023bf2f4a6b38fd97a3670b1fdfc63aca3f48f8a6989185e30a4f3818b09c7c9b162aa3ed96b38917f6c30b510bbde2e8699c76231c70e7e17acdda28d12dea624fe727d1a3832f3ac745826bee4ff07432314b5cb839efcfd20e44ce6336a0d68106b3b2188f44854429eecf3d3bc595aa6be7c82e9ed483d74e81b3183eefccd0125a4badd4acbf05d094c6b2a2e1d33c38e892b8f7e2533aa421d8c44bca3269ba0565ceafc0a03bbcdb3a52a1616d5c76eebbb63c129edcf9582cbf42b2c98b883202f241999e593101965d6662be7d6d75e3ad9e4a76a3d8ad3f3d9de0abb4ba1c8b23d3e71f59ea8952449571ef4c4466861787765dae34e5b8df7411d1aaf8d081ba680aa4399305e757c23b221e0f749ac765a3a4626612e6a8e5bba5e1fce67fa472f5826eaa016e79e5eb85ef388919ff6679f298c62006632ea67e3fdebb20c75c7eb394029569ae3956e651f937494ec5881c4439c2327e8e48173f40b429231bf85eb51721c5c14376da3d450e3a7b29567cde19b8c36360e7d424e03f40d4a3eea74c579fbe69d5e60e968cf7db6a0f6ff141f1815ce5d459beb09f4e5091580350fdcff7cc8778a0407d2a9cd719cf2962faf6ed11ee1a7ce6506af1ea3ad90d49d1bfefa2f1ea308d6f963085d637316ae3c19ad9647618a012f685d40873ec5e54c7d642de370fe05f328ca5f61f0cecc95a66bf2b7eb5ce6100b649e9683f75a3ef128d01f71ab4b2790db325b43b7488a4cefa642897e7dafa0acc2874084e125ad8c85963922bc1a9886cd45cca416c1fab2e06e7ad3a3df12eab879221796efdb9cf77cafeddf4fa3bb9e14f393061fe66854ee0713a9529abf93daba4ce213f6a0ee22b14deb1c87b8b37911a1214c3955d1e0f0c3ea38eaf84387fda50d2b18b9e26e907ae00e3ac2acf82c946de899f2adf6e355b3e2e9f4b72a99b4850838f9dfcfcfdb77d29ea8ff6d7a6275a1d262fa2ee3d7438277c96f3d2dba2840c41238554abcbd9a51101eabc0f35907145a911901f4d897fcfe4fff2bd01a497b644e902cad2fbd5d24d7c1d87a231570e02147eeecd646003d7681f139b0923086d7d0cb788a0ad78931419c7cbc667bec26eefad6cc54750b5676c59b71e8e794e2e4aacac98dee0d7e7d056339840a1f90561f3a411bf977a93165616a6f4a04f42591b009f0fa1937d8e519f32a7917dd4ce956a00f575c5d30a86acdaab8b9f7d64d4a4e3dc4bc2d43f315f60911a6c0e4d9882d9fdefb485b48c4b37102135685ec0595c8ec35552e68097cb8fde8a37d47822627af8270fb07598d1e02c4d1cee384ad9f28737e990a10fd1301d43f6350749fceecba746cac4357ba2c495c8f5af441acf80fcfc641e3c2302cf586a410ca380a881bf06bdf9c6e427d28f6218b1f50de6e8595db03808f05468b6a97c933b1acf3a8b50a59b5b0a48965c82e6c0f470e1c8643c5a98031fa256caa4aa1514771b30b4fcd84e6eac869be55439ecbe4fa3ce224f80de57d62124f5bb19c00b225b2f266ae705a6beeaa2faafb875f3401304fe379dba34fe11739a274ec80287fc26d307717b561d6bc6fb3cf2cbf653092d552852a3c9ee2c38dbda7a403678d6c98977c34229f46d636eda95e7b7de960909fd213f840ed45788e8f216e1ee5e76cb05a4d1352db288d54f7604fa4716c090e826b40a0aff7d3d06f7d6d444dec0a4b118f3012958f17a62bca576a6d9e78d4f06acab49e29e4f508363b9e122fc0f378f932db419742244596f1d1e26b34efefe0ef7fbcc935e1fb0c125ebc526531744e756b5665290a4dd4b8f8da97fc630726b4ad1ea587da1f9ba257554595e68c414310f344827718bd9c0d6d79698bb21216da373721baa7cebaa1380b311e29fc5d35a4ab0ac77a2c8244299a29ee66c8d3094eb7f5f20522916ff9f16f8804c1824aa5ab74b58dc660bdd0ec4b6550a9f5771cbb0d51dad40a08672bc89d54eb1f2acd398bcdf6d125c1b0c7e8e5fa7334ed1e1c1d44c8c38f5170733b91b61d317ba1721626f6c41e5d5ea1c73567f0d28aed57f7306854e3b3e4ea31d0baf4b9f64005846609fea51d55fcc7e0610a9a194ef3b44f6d94c9cc18904766bda5a207cb8146d4aff80b7c6787346c02ef85326a0f832afe140d34d3cd00ea282e5c0aad206f7c5c1091af0fe0f0dd1917793625b8b2e55591840c860a5bfa6002353b85faa541faee4e80ae60b409e4048f0eec6471ab1e74475abbc14807ad1fb22351020d1706935e143356b34c8e2d556c87615ef8cf3f91602b3bbf24c10c96d45eda50f2e11b78e6c67032a968f79ebb9e263522fb7293c09f965c87dee4dfe892140e15e36b02c80eb3e01237fa06480db6c46a9de796215e85f2664bf0a1a72ac4541270d7fd3606c6d2fb1f95628d1469b6df38be0ebd733f434a83181b23eaf15e12b6b13ea1d140ed10f1bf5632bafa2b5d7920ca8613572fa9946ffffced3b8faf842d938033439a12e9aee4527507b2d8cfa6621ec221bdff9b027b19dd89880aa51f54f8562aa7fd6358dcc8fc0f9827861dcf4d12d65d97fef4e6ce15c5eac435273530f2575c214f81396c7a6f3de5376b435b86bd4567c2f78cb847e1e2832387a98a093e23eb7dd3e9ae583fe47a96fbbaa77a0e782071a95a4355ebe253dcf2661bc2b98c9f378fb874f0296bcfe2b1fb0164776fac81c98c42e1a442c859508ed56abee175324d02e98e34e3c20fb33bc8f4e83067547cc692ae1d894c2e95d1d0afcb50b209cd83ce79ea848fbf754a148383bc7fcaba210994728f48df692120d353e1267bfe227b5f72d08d80f0678471103b6b212773aeb79c489cb5a9ad913460d8058e4bebea14dc4871ce0fdee774fae0c78ae2b247838f890993582f0a775c2a5dd23366afb700a997714831c649e819d21ebc094b8ecf3dc0c8bc1905a996573e3fb25b4e32a59eeeb900f7fb2f2e80d3695bd749995253a177d9285f041b1e187485c63f8d9adb8a4b9fd8e76112f270a48e51057d85f25794801fa384ab39772a1e39e5e856e5ec3cda2382f722eb62b9bbb007bc4ac08be5beaa6250dd89ad1b437f9b910305a865be58b2ef3b5d7385c9d57a0c806e0da05ece49400fe3a10ef9fa045ffa7cb776fc435d7a3dd299fea2f5ed6c46783ddb507490d26e672098a6b96a39f24be02cabf63b5b00e8653641437a244df2848bc9da0692073fea4ba5ceeea134473d547edb5952bdb65253c524ff61ff5ae77c00e362de8ed381b0dee45b671155c3f0c6d6f1155c735abf39bfdb1e708271f59298aee1ab2d723fed6f064ba7525e6c427af8d4512a465457cfa7018d25d1963b1c4ae4c581886b811a0cda17d95606309355ebaff665daa6f7dc461aab20250109f19447f47451229bceca1eff49abd456a586ca720141b0666d007a772902a52b6177090d3f74eb5cddf681ae7c3f4db3ba5858a5c495d3dbb5f49ac1e6edaa5fba929bda881358d9aab60b62683c89c4bfe6bf05c1170867ddbcdf0a134c50575dce1d4b571cc6d39409a9faf54624591cee852ee7529423f96ba490c0719c02e43bb9557e97ffd151fde04f8a20d9450b4fc72bb814ef3ab7ccb940db2948db49cba109c6c04189edf9bb94a38e13df0b0ce76a8c1dd8bc4416a4f8a73be6dc7adacaffc27a8c6265c6186a6eab84e7091aa0ecbe0256285f4cd67b3f474c7ea64d762e63aab614787b2f22cc4da3459fed63c837788d13895e80e30026d712150ca9d304c0f3ac1c89f477d898501d15324f2a9616777fe000edb37b4dfde30cb185d22d236d48158fd0dafd0572e6dbfcc7ebcb07fc5c704a1cc8c26283324ab5f30fcf68d8269f7456fbb8567a97d4492dd27fc72993b75b250688abc7fc68cfc3d7a9fc8b991e6d66837512cfe17f15234e9da0d862419306844db1bf6fd70d6e9707978f4fa3857e4254290b28784ba8c50c16dcc9ba28aceee6cc77d332aaa1ecfd9235195512cd32e7313d426ed42cb8cf10d6330ac1965f6051644ac8abe1dfb4cb7f2120bc23e379c8a20fb2ae5449e175b143dfa5f32e09bb2518d8c278777a7fefcd6a6264048e367fc1055012382df897d81d094d21971113eeaef472b5a75292b47290dfa3c6fcf8d99de1f3d9db878f0f5ce49ec6b7e1c88bda5aad2ea8e9f2f83354301e2b7314ac56f531325d407ea80de0965e614c5e5f6f218d5792f17d3b2abb5eff179cb74ff611163fdd32337ce1cc911a01d74cea8ade9805873eab14bca8477dfdb9cfac2435cfadd5c4ebfc726314ba9715de3920403fcb1da29c00ac6f026345007048c625370304877ad4bf39910691915e0b1c90d7912133ea22b716c2e153c68c39522c1f569169460924a235880cad5e8c9ef3f75a00c88b409aebbc35baf4df17c24ee8c62f1a9ad6910875839f1036718085a6a7705afa538f216c09c38b84879642923222ee8825961b419193d8e7534d59bdfe2bd10a4ee62726e9052ed6e8a7ba9a0c3b872be742193f3ba431ed04b26cbf8ba6b74bfeb85b2d48f399d0bf008e0fa86ebc6503f9b2bc46e0702b8d3cd2a368df37e1266ad4af3b0e003e346fe3886b7ce3676a692d643a90eeef3376895609cc1b1ae7b6a19a88e3f651d53fb57f1c56754f79dbba785a2ef91c438d5afa43197ccceb24c5282d60552a579596ac52653697fb60dfaffdef68f269433f477799dcd12b6ef04567c6c8ac665a6488c304fffd984b753f04d62cb01f3a891614f412b14cec5e9add10e4a0e82a099a27309bd47d445440c6714968a0e2f4fe5bc2e178cfb9dfb4f77c5a3886306edf1b959583175841130d968103c2a4c67d6a5c1bd42cf01ae2df58ffd038c5bacd4dd3140b1a5ea0b8679f5ef7230676951f8911412c9ae2f49a665562f7c5d7ed50cd4d14f7423994849831b112f6f452a1d0ac1e451ac74aa73342e09069c94621e545b02beacd98449330d3940aea00ddd6defd4223192463fd2ebd581680b7207dd59d95baee14ee95da9fecfa237ad64b4195ead22fbfbd5b653a62ee7694da83cbaee3fd9d456e2de2122ecd0584563e0efbabe2a464605405725cffe61a460a77d574c139d1b5eaae70c28c52f8cb066c2d1e6f667e4dee6d1611d171daffadeb70976b92224dc651a293b16e472bd73c159ac696c68107f00c132c8f9b664f2ae1dc73e0c0c94bd6f8095610877797086119ae653fc8c5cf92650c79d5b4b0e6fab0934892a18c2f0f901b626213c6b57d3be5a8d053e799036212ec5d661cd730efc1462673c93693bd2c9922b3c9cde1a77aa8011bb1de0b747b995c53c7aa124b822abbc78354ff63ef396b7a507bef9c484633326c670bdf6bb6cfa445868c0cecf450f86fe606917a670163476dc55c345b556a0b071e8b9fae6fc1af5f971611492593d11f556d0c01e78ca0013d1a3a0230226dac0bdde94681155b90e497a8c0aebc4463288dcdf0386097ea2d583ae4d76a7e1c439c9bbf719f01154f5f28388c7f83c37a94961bd5ae15c3c7d2d59ce9ae7137b949154ef6c8e61498a3279de74a3b358a25384b13327e84a17109708ff065970118779d807ebaf90d66f87859a8ce5609d9e3e32963047c014fae1edb8d8ca1244c70440360a035b06577ef09714e3fe5bb4839f85a15e3ee07f3f95513d1ef572528538018641d66a815508e1c9b349d2485990ebdc291b9a212a1bd7a1b1fd119d07020af5b85f67105af06d474cbc099f03ef5deb9609bb6e0a7d80795beb0b76c7f35aa0fafaa408fc5b37789873d80d4dbdffe552a9b252539f7796eb7d546057bd480fed431ddbccf6feef46915e7682d720f3d21c53c23bc54b6541e84c9624c5187d1c4d9b5fa3ee489ef8d784f9a60ff46b34b45ca4f879aae6fced02f942b34ed629de190d484cee5500acc329899f7078bbc2d95139e49614797607275d79112937621a79482170a3e00599737ac96cde32da4bc44a6e1956b151561d9e5a29181043d2d19c66cbf7ca9ae4bee50f765fefc0dbda9ca54ec4d36fad20cfe4a6c07b1341a2a63e63b90f8e20627e2a99bb953b3946899985d8ff4b5ac30f8951fcac8edd9b8cd26bc4cc98d126a78fed9eea731236f329e52ef987eb3b6b079961225b81d1308be3ab659ba814e20a5ccf9bf65a0cf691db6700ee365122730b9703418c7f222434041a10bb03e0215b464fbc7704a5297e1e10816fe0c432df9d1498a8f4926789f69d8f4290ed25e06f17467f5732bd688a2144945c3bec2412515cc239dd9b30f939f129881657e2eea57361ce30e32d32c67b3c5f5458c548215373196f86bd1bf78b204e7f904e008603d628046871d9d0b24861526a4d00d76e8252ab2b78babd2fc956282ddc77b87f0a24e7d2cd5091978b70b8d468f22bf784d637a9893f24b680add234b7b0b7c433076249da11f4afb0d1e1017056b6babf0a10a4cbf9011ae113159d0ed1d94374df1e4bc81a194bcaf3e4d1ad3b187f224678a326bc84bf92bc32f9c8a71fdb5b6267886945d122683c8f972bea7810be636f5cfcb1fa58ba7c5e5b60014c426f02179f1538f1f7d52d3adbf1aafd9bd50b62ee965675226a118b83f4f61cade8d54711f7b2d3425975f728c20ad5ac206f55b140f6d9624600321250ce12f315b776c1a025da44461e9211362180e608d857cc8fe9350ccf43af0f9a061e02d418c625736b9216aafb920b0e4af851a44cd1b2f9bfb17ceabd428f741989c8a22c0dfe3951eb04fac7a7bba4b16a57f96edcc488e91b7db81bbc21fab0dac1fa20d04a59b7fd55589dd4c5fe19a078f17394b169dced30443c894c74a8fe76d500cb77a0e96caef91dd1a78f6bdb88afcb034cefdcacc61e53e10da382a50076cb7f5a0ec1cdbd3d686ec08565e66109594c54d9c847a6bec4b849d88adeeb005ce512277a75cadeb5eb4fa92500f3fe2ae50edc07f429c54f3e4cfc1007fb4f9321108629cae4559c1af26740fd38cabfffea781f956f74829e3771e46e55d31d38cd7d72d5e1f9e17118e1588dd7982de949ab98e6a748394dc6d9a5ad742ba68f47200c33a6a880050b57fa183d5531bb0eb7a88eaf33c047a2a45642f04670ff5b356912d3cd81c3cc528dc97a7f1546a8c2209ae47a5e57cd0ab3065b4fcf7b7e1d6eaf99decb9fc08bdc4345d5b78190f8120fb909d80ac7325c93e0630b27e0d6dd5444e715849fc06dad6d195617ce084d73077b9780a14a2d44f94ba81f07a00c563f64757030d289b86c0dd6c45bd33845ddab590a2d3e25355319206d4caf8358b078f9e09ebbe2bc9389214a3b8c152d8eb263081da469b3de92bc38918503dbd49b7954ef3dd2f9bdc6616d4368ec81ee674e6910b53425588ba7ef3583355c3a966d3bea190c914c44ce5232036189ae04642cdd521efb78c220ea08a9c7b097511bbfdb9865c7bb4a480be64c198dfcbe3a435aafc98629571d15bae639a1dc78bc9a7d56c72fbde72e5560a57f0c2df162d68b3d9951bb82a3ff853d63cc4132e67039b98978d98ad2fe9371dc36462f500562dc1381b622384f6d3f55ff9d0bdb6b33489971a59194b61566773a1ff4c0df58cb0477524b98a035bde74db8a0758cb4a124b4c9cc59e3c5329ef26efcae5dfcef08b9158e115bba3e998e6b361c2ee2110bbcd10a1cbf99a0a6dcfb9762a0cf04e8803925371f2e5945dfd5332eadd73350a4d1e818f21c237057876f1df6fe9d1359db582f13df3aa80e82698b89ac1139f2e5e1e1da52e64ece0c7d346f4160d4d2111494fc142b25c916ed4d7c22407f4a576c3590a48ec516caa531243dbd8c77fd0404b876af554006289145f91c14c51a63a38fe7c4985ba1584e389717446d35082301189b132ff917d59ea526d3f77f6e9afebe265f4db63137c1ae6e31f11682ac456a1686b0d63f3b5ee4d14ea94be0caf358eac33fbf477a91a9f3e0bd9e5fac560418467d5b371d395c5f3d910cd092d1cc73fb3b73fc1ef006e1cf65d1bbb9df89056fb5f2a2496f9412583d00a2840c046b66114af140b1753fe361182a91eb1e84b2770009ad35adf3c643506457dd5ab277523b3acfecddb1f84eeb4ab221ad26a1ddafdbcae862f31be435bf7abb10ceb805f103a1ea2fa4292de570c9d2bad20781a2c0fd63d879318fa22379d6666655dbb1b2eca18ed006b88967862d7f572167435be85ff939be68df08a8f40aac99e6eda4bf74806d3b40535da660a8eb37903b866fe0ae038d594e097113406802da32842194aa3fd8cabfe3fa1716574877612e80617bc3209481cb02342fb80bfa845eef797b637c4ba07e7f3cd1cf9f733029309b8f996ec7b302f0aa6784f55755f6e8decbe5639af901e0f7faa242e123d53f2eb93c944688107bd73bfade8da4b115473c5c022876afc3467983ab1e4583a4bf27faff63516de608b2126ef5ef6a7d321053d6acc1974a9a78ca20ff71afd41223fd03eefcc433a10ad3ee46a99d36954d070ad1d756f01250d99be13dab38541f4f0dc0be9a70b705b800bb29744a01b1e270ac32535edf36848bf2c6dab0513626275cabc1f8e1b9953048cb55c232273f3145b5e2032cbd232b66d87981cd7056fe2c25edf9386202a87f8c0819bfebf73a52ee4ff6d1f3d570e8a94a3f8bf99861716ede310b71fb80f0d8685f83318b00574f323fb265061428a248da429fb5a648c0c69975eded42594b195892248b4d8364ba28a519cd7f038f885b11e843999641b755b32f9b1ebfd309c15f1d2084496e1707adea233cd15186fc361c3aa7b6ce9b1db5a16f4b1245aa7aba9a7f6b3054f0f267cc9be6bda9bfcc6f253188dccc83369f4d1c3fc83b8c316d79341d4b66af4f1a8dc8871004c8a5eb5a8b62362aa0d4e107deac4d44b16285e5f9d3cf56a7800e52a905b0120fa8bf82459a292a91e57294d60a7eb59c53d98ff211018e0970b87ba50dd9bb6197da7be9bf893ec06cd1de461885a4484346887ce922927f5d8374597a7c86d7a612172fb086f9065c32fd9eaf1f74c72fbb24873933836b71e5982c5702a48d9a154013bb000cce6c2686e8472e3cabb971adaaf1d88f3c06a4b140ee2d2cb1b758e2764dc37aa978db7f428445ee0daa3bc7d782e2a1b1f487858880c4d36aaa24fcf1a848e5697f0000110a5484316de0fa605e39afae8766e89cc9329db4bc2dd8e81044876c13090061ff9afca953e88e39621b077fd8afc3c6091094f01f12046a93d57cf3aa39ee92329506333dcf93624f72ff71cec24efcaaf14ffa5e6912eff1a79ad86116173df7fa4b8e22c6f2bb804f413ec40553b5b9d93803ee57459d27bffd7e0ab87934d61081a6a1d781355a5fe029142c5dcac2c8ef3fca738a144a4cfb9828f4e82027e3a46558a181b557881f7005ed1b8c9a5fd47d6390f8dd1f389c5caaa1c0a8b5bdd6652e5b7ffef2f525b97493860ef0928d3596cca53665c592884dce1eee4030bdf1282811e99452089c5283b0d6b995d034249dd257742e6d20650654927e842c2247244e6be7feec9735245e9bcd6d88c03caa900174ab4e05772220033e7e008a26e1ffd41eff61b3f9af16798fc5d83b29e6e302974b3143c36fb7bb833c5db71b66bec36513c67bd05cc20a664aeb567b049515da1db58421fe43a484bbcf9cb605b367c1144ab7bb83cd0222da3a14824b9d5b340a7eeb612663c61703b5d5e7589c6415ded62ba9475fa0f3d8428b422c4e854518887e49685b179c35ca7f89a3598fe4dba8c5f6fe0c75bf821e8ae4270d083a866a260f1ad2a1e31cdcad26f5641ee2eab2c45679e46c917695400b4064e5a8d1a32fba0fb3754f2c446f62714b79cf7c2117c28b62983d8847a84225c3f750b2fce2bee07e33401138d4ba047cab9b4dc36c4ee1f33a1ac921f14f417586285bf8f0cc3625a9b01acfbd0ab53f2fa51d61d67de6cfd0e535b8e6fb8b5d470ee7746b40efc94d4284896be4635b1baf4796b877a2f679d809f49a82cc21923e63a06ce044012e27ed35c8312967539aa0e7f90a1074928cae31bb3cece1694546df32259114c90f1e59b4bdc408d2bfdb36b041240c43642e7fe9e2d79f415e8b6a20c685eafe190c014b063eddb29127ca1f75ddfe3ff793f060b7253a172b8780a671fe9e70856a11bc78e5539c08ba3c14e7dc78b5f6734852ebae16a0df6d15e8db511b3dbfaa6f81f50bc77bbdf7ade9bd7a3fb0a03b6cb8f934b75838a112fa75d6531a9f745fd21d58cd89fed10f16653e3198789c4511cac8c7b5d919268ec25f4c328081203be9837ea443e05d37e20c82b42c191fb4e21cf4b8ab27c745a488e6bfcdcc39495e30f76794aa94c3e4a1d1a05bcfb6a0f2467e33a240e050e6c07b4705a4ef843e4aa9c283e9d9061f39ffa36f4951298a2ea8378d4f681525f7b73798be634a894037d26dd2f73374c450a7f54bed8bea13bd5d47da86e0229274542de62f1e97063b42681992388e80bdb3ae08436573606764ac9493ba59b3fafdfa537f87d91ce56405918968baec656c0132dfec298748254adce4acfb427a6966c6cad0cd70dfa66309cef24817c32872ce8fd55c374c9c9c35227d3332b2e09c58cef28b232cb521aba5c2933678169eaec4419898cdcb1796e6baa3fa276d0d99fd8ec2266010ffe2feae02a6a5501d36043a0c0707abe896a56add46c51d9f72a3b8c9dc27a337b4b76b799d1d5a1f876abf83673f45eb1252450910cd8c37c4410c4cecb7e9b7229e1467c3af5b7c8592cccc9478582ddd81ede7356ceb832a8b6d1e0245bfdf25dc09288c97968b218948d59b52b9fa741376319b69b40b25fd07ba3d4e3e383fcbc29a34b1d8dc83137fc618749ce650a9a8a80c9b531e8d2cd40f6d9c0b92b272f80feaabf1c0707e44f355e4f6856add31aea034434df466efe9f8991bcef99612d1cb75638147a1da5300a8067e8d12b9e03fe01d5d3ac8f666d9eb0ac60cedea731d81a3beda036d2b61f42a140a06e0dedf197b1cc89427c8913049c3f47838859a94840f8f7cc2a690ccb290ef6910b9be2d56c7897584f15f4c9cfe27eab66cea79abc1fea740134f1360ca8c99162b88b54fa1561ef7f8b1c446da389737d3dfaa2ba75e4385d6a9acc0bb53c265dc8d752a9761467e5cd8f98200b23b0a058ea4f65c083438ef293b36a904ced443329f750c75ea707ebaba22d5f1ec58d23e8dc03e390186b82f03e7ed327a4bc407fdaa63c6c1be51012c4094c16d1d441b1b00e19d8f9e59489af8990b206a86d2fd16530995acecc032b0b4c730c1c9c5d059f78a23966999ab9812ed6d146a8ce9d610165737893680b4938550aee636bcb31c38935eeecdb171389e5727478584b3980e774a8060f59a647defdda684b61fec3549de39b0ec03ca709a318e2acd94133f1e0193dc9f2626cacf88fc88d2b29ebcd0b2ee039a27fd76347fac47493d88f1ebb2217babfa5629c3f00b22753b80f34f96ef745ac52bf056e1dd9f1f2671f90954ee5b22cfd1d7ab0aec6d57f5390d8f840575c4beb076044c36639d41f927c1684659bfd6755eef804ccbe0110cd354b8c08f9546ae56ad50bb602de2c05b45682f6235b0a26b127bb56bc89984fbc8327fa4850148d2949969ab34c94a5cf389f0e21d76768cb98ffc3b6cdbfa27ed5e4813a9b991ea580e28ffd8625d63d23af98c0940747f56781fe52743f05d073563691ba9787da64b02c711602adedcb7dd16ea48da7ae20b1d2efc418dea824e02ccf4573dc312497c863f0399ba118db4505bbac41c3ea34d80739e75a35a2d7723eb0f2e1c9c9d8195b5c8146bfdb8c32b80242713c3f26b110b2537d99e52b895a87cf5e8673f1bb8ccd1790e9f1fed5d3d47f9e2412f28af45184409d1c81798f9e5a79f8656a9ec44b8914911ce8686be1fb68d91cc170ba4cbc980743a3be0b3baa83daa5cbabecc459e32f7c4e6b761fe21b4dc13a820cd0a6ceaa7048d06bfd9bcdfe5a402ad6fb45718035aa916738f43d4b798bbaebda284f13204b432b9a34b1660b1fe1d60f728290c341e56e6cb0d12b639e492cbc617a1bda24412d5909324645bd60712108df5e50856416957090d55bc19f950b5709bc7f03b2e407331e37c92898fcb6756ba592d5b85e202226a7351936699b8c6b3a00af1737f2477bf584f0e7a222e498cddfc477dbd57e229afed68067ea67827484232b5a205a3baf3586d3dc7b5852587ac44f648eee555bf3f695397f17ccebc2019b96031e74b19080f5873f11edb295986d35f9da9a6bc86a65d639df1a2df6366c2fd9e7866e3806d8e93c6681b40ac5c702c5431d42908987e66cc0e7d0c1590f39764cab948e0bf148f47516553f41c7cc47eed2fca71a1df41c5d7e24e3968a0759dd3e3b9105797d32af637be8ac1a4a765e694fe305ab2de2cc345203e214f2e2c559888350b962c8077554a2280044896244afb89be7ceeb79f9480544bbb252c5c0e764c3b12d30f8d3db25e1e926fac01d0716316e86b34c4f741f2da1f5aa1ec05dbe2238a3cf57876934dd8f0e1c0017b13d89dd6c740379cd4582b63a3de47b4b3959de7c3cc73f5fd0c229dc6dd15fe754d07f6c8423a02eb953ac11096c356e7e18a535d3833a64ef76d86c5640d3d99010377d639244443d5496f4b2fc4acaa8a230df47d40c39a21eb1e000f60d8c143d70164d6cbfb5899b55e504638b976fbf56b7f4f719ee5c0f62c6bb881a0e0b168677287e0d572e73f87610477508a4053941c21d1f2e8f1e24d4673248091f677a9a7678a9ea40373f1046d4c370f2f1d8c79a376fb9459d4e123ca0081710e7d228748dc805b9e464e911f867a89790d2f7eb12a1867a6a88303046b9abcc61aa31f0afaec827e481a8371ab0b9bb0fb84b863afea9ca079a574e1cf69e34e0282d55cbdb4a8a8d1d2656abcf7f4fdd15ea1d1ba4d3ec88a6daab3d03dabb5f890077928c83291aa0ab26d40c1fc00808ef7939ac451bce8d11d8204805d8e3df3ce0f5ddd37cc3d854d6b47bec08cbb33f036c1cfcefa85a67d61198619b4e846cd7924b38b218a1e62e1bcf1da01fe97e47341998bc902e73947c6b87f5d8a22a735c56964bb596ceb1c040bed56206e7464a874cc1764601cc31d3ac13a1dbcc35938deb491ccf4d37468b37f4519e27ea48539fc8333c21d025dca0eb2399ae1aab7434edb4bf6195013f3847914b22aaf61e600e3fece076f5c62100f9fce9f614ab4e85db9dfa6f1a6542f7891c8699fcb945000819b68c6e8f5c4f344313ba5dce9bf4b88e6de0b24c600ef5c54f13b6860938b872e392ba707d4a21a7fb92b61ad4ace5e830ab6c5b899948491994de91c75d89b7d14db2a24c6a39539ff564603854f6d9cfc03f2425b349f63bf9b25a56e630a2e91762bb285190cb2336ccbb7e6a54cb1cd458f993730356ca4ceebe025a8ee4cef34593045509b1864693ec024b374696c8241bac816e0e7a6bd29ce5167351ea3e207524ee7be68d9867fa72296e09dfc06a305fc1f3a927b2715fcdc0724880042725639f62c25ec37b3e512f63902d9143636d020ea71371b59f1a389d9dd76d26358ce84fbaab2dc049f5efef4e0cff3af86c562b167395d8571fd79ea8b880079fbbcf85d8dcc0b8f0074847121ba6bdea042c47cbe7e7043ed1e741d31481125b296f102e6edfc7eba82d7512254d62618b0e51c53a71e90396dbf3c8536898ecd73ff391b61cf7fd18f4192f4d02451a522235716c64ea18f1404e5bc982c791633a6c2efc3ac485e1325b08775dbcd9984c5e3b9b2f25cfe9bde470ff245a7d185c92509d28b58821675aaf9c2c55cfa465e883398931e19140301cc94a5101eb1d3b41087a83017b41dd019ec950a9bd23be9c571332853879820363d4beee8ac4965ada88e09640f24d972423f080e824bd26333f9a73ac650c637ef2d06ac58e06a64bfb3958288c9fdbb2c499ced9db9f06a3f01bbdc0a75d463324fde570ef1d6281960ec5578986a2523fff0957e3694550b1b201021d7b5a4a00f742ce7be6a770a3689e18dc1d2defcd68c4b276c83453a4c6820da59ee6f2eebf1c6e776564cb8d6a923697344986a06aeb1a3eefcdc5d095151aa3dd2270054a701e0600d0c4dede12b564fc07185fa2e3d80b4e2626ab0fb48799d2fc605cdcea994926cfcf9e20027ec3d36c9467484454e2016bedc44a93e857e5137fded7505583ddedde563a0bcb2c650b075dbaf5f44fa70f09bb6ffa22e6cdd90afbca86ffc5e8cdd2a74ef34a2f40acaa247caed51b84e1b9d757f7ba4e7ddffa8725468673b3bda2bc453bb05786f8ba4e62f516a61308ab475df4c7ba353e64e3356d0d83bab3ec539351b12ae3011fcfe9331d364c1bc8cf2c3e736d120f3a0f7339f1615fea3d5bb5c2b8cecbfc02294d3f1105731b7c815665352ebac4a5035cf1c7efe9af2bee72cfc89f55325117307ba2efb49c0111f9a048c0535801d57bb74efa9131ac09ef85d08f39e09cd53cfae8eaf0daef7bd7af91d89420c326497c7e5b158a444a1403e6e02e8f0cffb2a54439073733b650f7641158cf54ce6448ac4182f364dc45a8e1a69026e25953182989996598af50f68986f3731f8f7e0838b7e9f00f0edf653d38cdf7f11a4111c64072872aeab92bd765de39f3c55787e62d4455952e5a3390d25e3a92a14b93690068134de4778325b2566b3bb6af54f33a40c22639e32ed0bb95067a5be00d680e86502c716a43ebd963c7969fcb4cdbc1b13ec67e03a479c24113bca48343870bc91961333c9fe911235337fa7a79d15ed8747452393eb6d20f979f1afa3ab9b058da99a5b39bda1d40d45388440a0813ca068a3022d9d7cb911dcf38331df9a81c38ce1c47416eb6e05fb5aba102c2ef6d0e9d63801cb006125e7e3fe7a79ad30bb59ba5c8716ec586ed704cd02ef9318f992ef2ada41e49b29c4c07ac88bb147544dbf5f32e6d390500d92b7597a1b9367d0055aeb1e73c933fe732fb12f40b6380ac374012191f6a04328e0782f17062c78f6a744307a8b21a255c5e8f0de198319a442bf83a33fc2db768c107031e5db92146e156dae88b28ca26bc7d99f493dd9b46c70ba55fec460827a72bec7840e4de2457064c3a947fd5ec75d6279079553773e644b9b4d0de47de94e4d97d0b38296f274cc4b6974a3f4e8caec45a69ef72e454b09301cac0ba04771bf397c614ee8be7121cfaf67ffa04291b4dbd4e82635ac92a330652e365bff32f6abc0f1fdadc0ccc7966404ad6d2256866b45a3414ed8013fd8daef1a7cd1cefe78a70c8c72ed417559811e223361bf004c26fab53a5bc69239224446d3728b0a5b96d878945a2a3a49e560e33a7dbc9f690ec49943a0e162b481d769bafb60b78da85a422ecfadfc2317a5f6eee78b80afcc426beef5ca4400fe4036b5ece97a4ddd43e5215fa734e04abbb4c16bac8677d8244fa73d3aeaba72e60006513ee06eed8affcae8b5261dbe23f3257992c58a50a7da07e113a91b8bf68e8c7319eba588476e21f4ff702c09a775c156a1a514a559ca7e01a9063917ec62883cc9970455ae862fad1eea3a6ac3bb5c8279971766e4058203369bfdb9505f7a0ba636f21d4aea6e269170d8e5094b821a1d0aa3df605e48f6c8be5a26e6f3ebe15dd45b447fddce3560b9a20ec3012155424cd32323920d7c4359a32e585446fb915bc9a944f8d538119ca42a4f487e887888ae757ae9aef3b0d0051f72287468c37bcfb04ebe6cddcfc664944fbacf5d79f6f343ceff467f6e15cdf962d3843c3a4faabfe5420a2ea8315aec36500c0c5a7db936e8d577a7b2d8631f40ab3a436ba70b3fd4a54b613e2b995e428b4c63eec3d81036bb3eae74fb581a19cd4914c69e2dc7b7740bf0331f69fb61e2c1c0f8ef6711bee9ba240d4ea216bfa940e7e4d28f13377ea1312ddb34744b0d3e681b17f91b9e5fe16171880d74394599124c8aea7caab1930aeb16ee2b0285ab5f83b47a983abc1cdd65c059bf88faa1d5a8fa364aea13a656eb3c973679b2382a5fc5175d680d6af8873440f77fb5ff86b11fe3eeb5af8d56a852d67550f0e092b64f74ad705a0d55c194fd7e5942925f63094d99be459e03c359d0e14775eb7402de12a53943a9d5f355a94f2ce1a2273d913b880a9ad880d2c992b4c07019dab4e6d52b4555bb85caf169b2e6b2c60612e79805714e99bcc69150c75b44b0a6242763631a357800e0d91fbe26b33d6451b116313fbfdd2e821fa775b629b7f073400d8d4aefc47bce47414cdaccd2b0629808e96e3cfcfc7ee67bd666df0d3081738a7e84792656e2d1f3787809aedb0e04c117db924a20aca660662498dc2f9f3ff99995407800fe4c2b9b856ef69552ca6925de909969f04608cb430484963a17d8697ef5ccc383c330cfdd816aee9e79dc704b5fd9b34878e82473045084dd17a8137b601622dcc9857f3f8da9d6af7254cbef8c6b9a246b89db6856373409921314d96293ad5d33a95377bff1ddcbacf8eb850d718043a64a45876832bb72f3631342d3396cbf6ecf913ecaabf6bdfa88e98ec7710cd33212f0dee5affaa7c64918952ffecf0d8e86521a4553bceb3e8c0af0a7a71f48ba699bd124a3b6a93661efd0b88ea53d5b107ed54d6f7c5b4fd9ba917cdaedaf47660755cd0f55a04ad08c2fce450656d1fe5362e04a10041f7a4125fa80f031175bd16f3e0a68faba57afc90ee96fb1bd1cd51321cba5a2cc7a9ca5f6992331ace5a1d4020a47864deeda94d30ec3066f51f3af5307212ea3a128e973a6aa10abd14244d8c8e5830f4ed5bc67b524de998b07602cf99becaf5ef4ba12cdb041588d08425c71d9f45fd0da42986efa3c13a1447af8e795c158448f32b0ca02dc1509554e5561ad3470584a59e1a02b2db46e5135b910b9b3582cb139ed6d6a6dd92a1095a0651f9b66c4bf3a34e571b1b6f4afa5bc3b46bb2bf71576f6922b4094568bc7b1b68c808ff668e4e4ab65ff2d3c4c3adbf9161c92b655dcc330be19a37af0b9a27ad0ea37bf6322f8c15115e61b73771afcccbd5fb742c1e752f2313baa3e260b83a15cde827086720957cbd6fa418170e0eb683da2ba03bd65d06e4e09311ad7b234816eafb2097f52b67f479920b7a8286878555474d28537fac1604297b271fcccf098fddb8bbc32922cf9acbe3e77647caab88281509686c8cb8a816b7d24155279cde248ef7cf6e81dd4b81be3043468c502816eb7af677693a30f09d930ce779aedf4ec4e7f2b9e5db85ffe326145b8b38375a8bb08522ebee727aa8ec836bd90a9bbeb7615b5c3d29c30d2e6ea1d9a14b814dac7c65f08fd17ac0f23ef29b1c528dbab869cde4f043b8ca4f1475b6f41ac1b862eb32705dbb71fef345117c25260a97d423081d4c99d72e194a32110707e0c78e5933613d7c98eed488970ffda6ed254bb0674b263e87f864aed09b2245b24c6f5facd58d819d09d897b841d8f946ef3e9fc76f4c6a438b670669c6145290ed6753604821b851eaac990b6b311deb4c22a551378cff4532a10e2ee8148c4cf89bfa2e6b5a487a202efcce408045e7f812dfe5eefea808edb4182d599bbaf9343fa0dd332e4046a0a776a1ffff98268bd0e76da907c5c3c6bd8f06ad3b2ad994f4a74374b0845983c7328fea93816b32a3233d639158cf2e9e392a36b537a33cfe0083e63c11b5d1e220fb042facda34b2d84eaa4f44efd6fada74e90ad9ce4f45ceaaf44da46925baba59eb35c2bad91ea2f09a9c41763e05a664ce254b9084bf06c41197375bac4442c54b9a7500465b4d68f396743b414ecb61af87aa4fc68b7569b469f90723e32c5870c72b16ce95154f0f30a6e6c6d63eb6c80443d5fc89319c7f33f7f38b357f689e6dd03af6460424b892dc40907e0310df537bb06c23b3f241aba4f601555163da062221ae76c60780a512a3a0b3f16477e68134fa955a927df29560770f66d83c55b24d5a7a742856dcfd1f3858a302593677180a2fe7b1cf11018cdfc32b64e966f49797df045c5e4897329907bd8332f95ac3c32630150c767d2ded371aad5d81bc30f926fee1ac18181093b7bf3fdabb7f9c3c4ba8c4916d38719092aa6973707795c956def0511483b5a8f2381bb3fa395251c482cb7a3a3fa7c21cf97a2e8ab447947d88a18382e52fc53578bee32eb4663dd968c49f06ea9cfa0074fdbbb3e425cf31f889a896038acf0c57b036b3a9206e78b171ffd5b762bc206dab5339e48332fd4e36aa4af954e39415dd27263a6a187241c2bfd9fa4b334cc5682c2d55be8c38505f6e1f4a5265456baa84e4ccb98b73a6f1eeeb82757f6b6d4aafff8a6870a90eee5dd3cf67f34b77b4a2efb328e46fc6eae1694e1eec1ed9319d297cf8d67949dd22838583e02c1c97d189236c396ff4eafaa43e18855da3cdca2ba9541a705ca6e70460bdb57893a97cccc8567732d93daef6668c800f0bb9ea2e510bae60d90ce3912896bde6177b4dca9618fcf69f171fa8bc061494a821062121f3a51e684fd505031a6d88fa28e6e84483c5519f252f9c2e7b4160aed1a08b1babac45da33753e1258af2e3b0be9673dea7c110f4e9249843f4269623f3dbca77d982d21fe38832e175ab79d34375a300fbfd0b8acf749a8f6b4b557de13d496140f065b6718f4ea168410db5102a4e65806494b89bcba556d151d3730cb80dc69b9b5744eabb93f81cfd44417da7b69012cb8a441f730c6782112c452a3652b0bd64dff22356b74ca3032854a612eb88535190e2326194124e9952a7d1ab55db550ce86b14e9ad37d5b5a7738b17c9732187028a62c15276f6bc0cb926f3f32ba5a12b8113fcd3645882b7483cf407fdab223eb799476b82def114b9db4c10e3ef7d8e8eb21ee4c457313346bbe8e1d77fdc83a951fe5b94b6af868e9d0e198ded78652a830c692586c622ec5d58ea9a2d4a3c1155fb09f8a5e616af3df87ff352b5e0124a12109b52f28b108aa599ad1f3c2bd9d04f19247b50a651f5a6abf52605e0163071143ead5923f9ea702880e2020d352598f36e464c9c55d7f657d403822e24c4af2a4cd2fe881a5f32c47b7997b59de382863f15fdf1de32569c1b1b30d14f233d7660a2176c304a27b6c239a1db37246fe2db527c328196958ff161c9b4af1ec948f2ff9255cf50772d47c18628fc8d0f146cc5c60ab0d26a036a22835081ca245f7b58fca4683b1afb8b2b30091146affd473f89b97d9882363884674507962e838dc871cbcfe49f88b7ac17b5862944131f27ce2a13e46621d310429ecf973ac577602bb582f6d75124f2cf16777a30c3850158f79c4689f3bea67e3a494088c5dc92e21f5bbf39909c04895e6d7ff4774deae96182ffaf7cfb490adbd4e069b6c6c19226f22c4628a2cc57d634b9e198e85310727cd4c8bdb356cf75141c9845ca05810b3f96163e2fd0ade3d1c0b1667946adf781720a2d79d9f75ce83bf596cd758c7b2581bd47d272685f7d7c1123fce5b1e3220dd06dd5acdc0f77d746ffce520e0f25152a6ee1f541005868e8dcc3c4264c5854ebb3a475c8811fc91245719c2d1e3bbc5a5331c6be8e7a38c944b476b15e9f83d3a2bdb949d7274200747c64c6c31f73f2eb4b39518d1b239892cfb010e179dbc01522d453ed881615bb8fd33e56ca8f1dc96b26a1f979304f0033fdb18ab495ea60f5f2b2f49569c6c92482b6ef20acd27077fd8395af55dc32f785be417fe9488d873c3acbc7164ac08612ca60497d2ccb7abea109b82ec88373c2ba931b751e3b7415f96d588d597fc75bd35b014c208b011959739cf5839127c2466bf75902edff20c0be58ba243b3f34d263b0e72bc303f493967ab31624f60a48b9463ae7c8b0b38282b1bd0f1cbbabf49cd9605ad443a8d60527dac5f378b52e3ccba8cb4622f5b921150b32030e2b5a15ecf125ac46f3cc58df9b5836c5a0b1420d91996d7eff562ad79274ac85b34c43d3b935ae6528bde0c14b821420d9fd2b5572ead782f4b481e1c65e436769247a840e0bd9934d28852c56acb521a102014d26a780b87e0235e320ce66d1229e64c4983148a0d87fc68674d0a9d0daef3bdd6d6596f859e6c4a3c29907ef917b0bf754012fd9cee976fbb697e17292971166bf613d5448f411d22e09814663dde6c94c0be1a162e41d951ade0f32808ee09c35af451effb658eeff11c65da63e550a637bed768108c9480d3f4e3824f54888b860deb7cef003aff860883f8fe0e002f6c7c2988debece629113046d2867e0931fc8441b596017be2325d8e08225dccc933ca5248948414039c9217ba32a16370b7ea3c2c3b5aa2ce38d39a6fb50bc8d46c299a5ea1623bbcbff8945704330d9a049313332d51cfb4243b3ca00a3c6608a73dc6eb7b80dbfcbb5de2e635547eba2eb50c6c8dee9c9451801e5e06942a87c0b77491a25a827a715018a8ff545aa4777a332b8d57ce5ac8f5a3a9a0c53177c71ed0a5150a074ac3b5ebb0fd40b604c534d889a73741705158d23d30cb4f6bb8879bd0d7d3a62cda283b75951eda8e5b7f2847ca9a36a5f3a02933d24171c296f35380f2780168ea40b8a32dfbba8aedee442c76595cb82bf5a652a01d4509bff50cd9dd1be38ef96b265b4253f3c62ab527247dd04bd0fd367ca8ce714c389e19add0c052dec3650c194984c5056a0ff52f6b8aa139a6dea85a716b123fe2433d53527126a4ec7c564d7f5d5d97fd0bfe585aaa29f6a40da05b7a07d695e516f1f09749c891b13ec00d0e27d6411fce3b0d64bf1d444536bc8dea6ad89c752900bc5c8834467baa8f5a685d6c80638b66102d29a028e8620cb770b13061bbbed759a99103cffdee55a86ac5a9b14b57f402d08dbeab5f79e681e7a3c65d37de48cf145c8037d025e82ec9cc90fa3795b62b2178e017fac35b1d0098af4b404491389586f4aca6b70d7a51e67f67810aead01d6bb42bb97ad91a69249d721acb0ec7adabc9b4369023c286c1ee7706f0b68cf930dbe27da6c3a67d2b9dfc3f894d834b0ef26eefa9c76e815c43bd0d41750798c111d47bfb990912020446e18b2cb4030a6a392d5a2959c778af749fbfe37109445ab9bea53784e14f20d68002a47bffb197751f9904a088cc477532309c6d5cd63163a2f6f1da24592452dbeafce246d9d2b5806b9dd9a879bcb6598988e93702a5b8e778c26650f1b863368e1aec18e988976019b76126d8a823e09e00c5d3b9b077d223fba5b673fd6206e50bd2bb530e550dfeba31791c0b1b2bac646736e03554cf737d52af3a758c46a034c9f1257d59218dbaa5a6a2a2f9d9aa9f8e2291a8dc89c6ac031e392474873cf11ad86f97446bfe359e1066662ef5bcbaaf61dcb13f75d4d567a1df5a01244501755c69bcceeb9e3fbc1f692c00f422fb4d8ca9e0479d60a8d67d38b6daf09a49aed4880c3a787a6177fbb7baea67dec500723d97a78e1149624cb93aaac4c738c380ad0468631ce42c55bdbaabc44bdfb6a2161a08211e078a16b2702b6692aecfcbdd2829a65c0004332a7598b5790c28c4f5f357a310ba6bbe81ca410b5a4c4b4c63404a78a19d28f99a2186b1000b6ed0cb3a69a80477d1748a67c79a546c36b96385ee02a2b9809783f0c11e109b2ef2d755e89200bff5ca246a8be810199db796b270a90042eefa98911e6f77ab8910785ec7d8dcd179c3a85ea51faf465ad69eb946acd702df71f58767688f370f31bc4db763b27d9fcdb7663014650ec5d1f59706a026516bc9c5aac10e8fa3114f00d92d8eca092a729f5c640c2c4d1617a3ee1b33ce61747037a5b991235e50471330c417e4b8347d8f299e774423f026b320c559e36cb6ae5804f87e93e72b8e02da00dd03d11a3710f3adb7b8b3efb321a3279b8de8d9088dd2fc0553a48aabdcafcc695daa846c982e1c7ec30245ebb08028a95f0aff3777f195a78e10ce937cdf6b3c420f9f25da9b2f9786912b08225da61b49b207587fc9aaad98b27dd036579ff8a031d457c5b7fdfaa31ac35901feb89d68886418f6c6873ea9b251115244782431f07c0c55a7bde4ab0dffbbbaf9ee5f9586f2047af768e695b041e0f45e551180fb2f17acadf8322d401e0dd07bd954765de97473f644d9d2748cadf4da769bfad15daae2fd6db94361d084c4666a82828a94b50d830a6fae64618b9c7f1ed0db34fdc6ea6b111c8425e39b88dfa8c6bd508cfedeb57cd980ab50535e623fdb2eb8b91f2f1869d1025c197a0f9cdf6deb67525df0a2fb4857d7725c3400a19f06728b9dd26254e75f81730dbe0743392402ed2849ac4102102cb8a47ac64bb887641077539d8091194ee811ca2a66f6c6911af19a3037d0af01984e8fc5f040508b991c32fff7c1c6afdb64adcc0757011751bee8777a8298f7660c9216c0a9977ad191957890785d55d222577cca4f455ac7f90a217bc199ee4156b58454d9908803870a213d61e35752c78250e1ba63b0bab6459943941f9210c465c8679f1ea4a4633c1fdba10faa53efe10b468f79a34206f886a10f110357db5b82c3f38e2b21457a1474a237a7559840cdcad7481c8ec76e5a073fa64369d063c37a7f05a30bc97ad36a20515eddd41038deebe0286a466467e50b5308c9ed993e7d55b1ea28601569b1d3f1ab72d7b425e652d0659b7bf898ba984f9d7e5cb7c69b6e06e7be5cdffac7b8ead834d161937de7445387d9b0896f81b46feef2195a8902430fee50b2261950c9f065b65f8adfdcb3bfc617d9b71898a12b53bf1a9d026c8c3cd5654eef74f2e28f408148745f4655b1a3b5446c5f8462e5e0bf052b902707d0c5cfcfb0c2ffbe4a9e1bfce076a30121fe67bfd576c1078cf362074ff43dd3735f8604dd47f1c2b295a61b20bc82a9ad9070f7c7edb1597530b3e1088a1fabbfd3332fa5c029517cc32e183a46452c574ed3c24824f6b5cf68772e017651641fc6d8a8b0c6c0b1c58089779fce9da5d18dc6ee1e0353a59828a582e52390fa8eb10ea6d4ceba0874f46447c6b5a53dedc12660e597c8f7d9e9d6fb91604a9cdcde86d4d7302b9a23e34bfc255ce1b09f211cde6080a42b7257f86fffbd406145bb38eb551e89d81ef0b516013ec732ddc3cb8854313963eee0d5a938f05a98d50ef71e4497399d4e119159dd26cbfb937e28b377cc8b2d3e9da54743803b6ff324199a7d003421e1c73fc922a3aec03b94fe2adabf4e2ab64713a2b0dc19462c4a5b9ac7af01a7afa45c312163d5651cfb99bd0a47f09e9f5a328d07436a8ec1fc1cda836459268a5849a3e1c1da8daab98dcb6679ac3e52354d13c411288c2e24d96ed358118d17c795e53e7d4ff096337a8b80f80bdee8d33e2f4d6b06e68f6b72f0b51847bca7567f90085f8add10a183095d7b4925ec91574ccad0274ba8cbca3abad98bc2216d295fae01b0747e0cd0cf04f705fd47f3bc6d3bcee9511b2d0c7f1ef13bdc4fba437074824c611f15e771bba1475dbe9a1c2cc4123f53727f69e29f02df800c4599acfd5ec2a39821055fa9b86683d217d39c29b87bce107eecdf58bea43f02f9f40342d5abd38b100bafec832f33094a35e646d72bc1957ce83c06b0f86dd7f537f7f0c9ea3d680b94dc94def64b57ae5dab66cd1905c04574b821eceb603e69e3dc16da5982a77ca6efe7431dcf324c08b064620d3c56f971cb5b89e175698452fd06eef6af1f45b546f4e9a99fec13c2563a7d30d0e1945ac331d93c9f203c6738411bfbf66cd8a139db6a11bb058fc15d7f5bfde10bad8f2d22ba51dd53eedcf0709367924b1179389cc1b8306bf126efcd2f7b39e7a2e9c2272dac7cfe4cd18acdc0103c43b364969d7d3cbce5719ac1f7e211d967e01a00a63713bc6ad688631b4e958c7b95b6d17dbe91621454a9937257dc28ef6a0b063cf2683199513cc9f2a3099337071a2e18a08ca13d7ff1bc671e79583d3b7f42678abf5b4693326b8a8eab534ab9322a9da5320c6512bc2f988237a967d85ba0efcdf6cd2dca8c1c1a85297ca0729cc29071eb73b4ae1489459df6b7925ca89e44870ffb2a850c1bfecc3f7a9cb06ac063d575b5feecffd497b14497e50ad6187f92478b264637f1b3678c0211cc237276db5c805bb80e6baeaca81967a537649b87523ccbd335eff36e071a2c1ac0a31c483ed58674674eab951ede6e81aa3b3df88b21e2243f1de8487f6b0182594fae0bfa25f365cc076f7801cc1dd401290c7de05f38242cf0b8135a1f40323695434261f4f08a673261af381c005d5c758800c42b5b75041ae9cab378684deda959e53287559622fc66c99871f8aaf736c19acf87d35d43ec438481ec0108c4b10bab02fbb0fc956e8640052576cd93e2ffc337a9de0f50a1752a9b353c9e5f839a08413f6d60227ebafb71f785dbac89ca45e26e6cb96e11653383b47d9e7f338ee13a82d5b2a0f00d8835a2c87f526f866cdf126ad91a7aa1fa7c2570b334a0da54512aa4de640454fb8bb7d2c68b8aa9867ee19f93b6db6570df2293d75ab3984b2b41ba372fc8ad2adea1d7a4ca23c93b4938bf229973dbda6c9145bd07a5899bfdd76d437b3059dc3e3fbfac04bea25a54ea3754d72cb02ad2d2fa23fda2c83a6065f1050cd869fe049b2f25ea40457c70a29cfe8dc307107064375764d2c620bc0c55fdfdbbd914de7c4ba4017b0bb2ab56de5d2084eaaaad32c8b554f2846dfda720a401a4589b1171ca5441811ad49693656db86e96d0b58a10741544927a1e65fbe167c6653bcf3b5a286d0c75ed7f10b1528d24edc39b915f2b377f0185aaa0ea187d63d8abb9f0872fbbea2fd1e40176dff8e639b9bbf280235614be8be6728e933984d5dd1adf5545d52aa19ffa05a0f92450803db36f438f3b45f92ec15b6a9c2d538a50c8756d9eca2e84d8c0c71b765ca31cb04e594ae06d6393e5105f32ef3b485e5f75abe689c7e9ede7173a78b30774991711efaa3af93e6f8d534cdd83191ec4f023b94651c03d1853e167106c28d682892912721234c9814ccc23a3a5134253de28b281074e74a88b288d38424e559b0943854d38559b81c7a523bb937d93a7d02cdc00826818f51680a7561b494ebfde8211f5b6416d8ffe0d2936fb25ed49561fb6fb3c05869f3b1e63d79d174ec5271cf2a3e32a870415a7aa02277e84b8af434d71c8db3c01dd04bb3770a8543a088b903769d433bf65ac892329ac40600be222e80f6d007acd0a4089b2d140ac4307e14bec96190c4be478d956974e9934dd6903b08d885e16aff883510386d0a11908473b85fd995d177a029905de894525e34965597362dbf90d676f25e6bfe6129ced3d867517427d4193657f6333b8a33b24266f044e7d903301faf79fb5e609df700390f3f8e21e447b0f0d68a77590087481ba04dbfdada8df02e4a6f707b95f65dde72d2c9119c65e31a9419ab22f6a569e59f1bf86126856096e7676e8fdc50bc457a51b745fc493e997f5a463aceaa0fb6587d4202c66041b9bbb5e3f1433209a8e2079c29d4a7bbcac93f7f377c8a498a62b2c24a637b031ee1ec4846f37dc32c6ef92a2053eb8f75608ff64234d1b4d704ce015f4700fbdeb1d9fa9bec6b2a54ce5b7afefa51c748bed3b5da43e6dd8c573e9c134f8ef44112f06e5f043df065f249ca98a2f18586dc2a9066fb6129aa504aa85fd22be76b83eef1be999842d0915be829fe6b8d1645d7a962fe81b7c46793157efc4d3892096214c705d7fcc2b6f00341dfbbd54f7202e8bde265e9ea2ec3a1f48ca7565e126c7ebadf7a18cf2ffe75a21aae6ed65a80422b6e3b5e62ec21ebef343c9e5c9bf1f14aacb9c70647eba7690c09e3e85ac6f691d4c1b9aa21ae94b6c80bbfad4324daca24b1cdf2ef5edb6520b4363eb1b2d63541fb7434bc6d45ed811ef797230acc7bf19ce6b9d09621e0427bf8db8637bfe14d50ef3900747addbe9b6be43889b341317f373468a57319d4b19bde3e58c76c70ff88b6e638fbe23e780b9f149b6d49a27ce4b679da6771c6ea1d8fc23f6f69ee7309add47d560ab701982975058e8b6f3e98302637ad5197bbd9c9d4366e64968dcf55ebf74bc8b3c659f552b0058da22749edcb8d8fbe4c77f83cc66d264c4057838e2408e14b8ed5d4dd382174a8d0bc97549ef0a7c986a73668fd962f90633687cace03c0525fc540ac8bc4db01aa226663f2621a38072aa6a48d8298da250541f4ec0995c8e50c8ca824beae3f2d0d078f41dc9f3af89e6681e5566fbb01629d45843978199697bcb29c368940a48d5dc5a2e6497186a3f3f48b8f4f5e82196d1bb257811ec0cd6dd5f85737028430ae764c85de461e650c0810d63cb1367fc64be71c1c56d2fd799f98ed6e98613f8a4d6042be10a878d490155ccafc90f2a25f27e782526707f5b8d02b26f18af97618ff96b19672dd869e4e1784202f9524efb786646c8cd03d8f896f4a55ae89dd4a42b3b2dfdbc916d97f4bc054cf3312bcdf6f38f051c999e9048d902e37902865f5a577b7f885fb97a349009c07f8dff42f1aabf6f4dec8f049ded62b1a9571b6eb728d418e144b16c803a0f0d2c004d2e817d000e150f0ddebf6a33cd6b05f5b8e5bd3799c6232392e3849b23724299bc4ccea045c78e4b4935cfaaa9676c806ce04ddb64b6415191f9a4d3f0daf1c5368a6efdc0b3fbf7345cf7ea1c1eb355d5b3e1311c5b665b661bf416839a3a5dacb80424c765e666c4849385c40210721376b74e67b9fde50765b21398439e10fe704af8fba9f381e60b5d17499f01e5b5a994121764456548814c3b0b60a735d2f7900e087237834e8136fc180f711cd7a72b8546377741333440fcd05bb04dd84cae3c8b225c081fb7f1c4edff86ebd331aca3bdb42b9bd5ffb838b585baaa2e4a34f4d7a245dee5467303216920add761cc437bbc75484165aba9a7569c21a580ff5da8e80bc7a8bbfb04c2b42f5bb8a827b87469eddcc09046a26553b887c620ed152afcf29912237660dcf56b94fb8bbd8bfdc89f1988456ca3f57d63b20135d1d660d19c828d69a3923526e508ec7b6d9e977ec6b924ccd29c20c89eee56a0b9bcf46d826df8bba84b83739b5a2e8b940f6773b7aaeea73f9a636506c6257b62c4b1b8021917a4088ec3a3586b7965a9faac8e402b6846e45a9272a32d000623dd412d5a1412d8d17e05e8471c6e6fd51ded8db178e2a5a862e3601b85a5df6f3906532638a9b407ae9bed4f60884d7942ef6385d81653b3f20e0a45c11ddeab52cdb7f8eb5a30ae28e683018fba50d739954e63df2eeb7d408153c23f79257a79c428229c2815797c384ba6a9d2764664dedeb2b6465606e3b818de1abb7a8f5b2b2ae7f52f1a4d31279c8ffa1dcde30fd3773327e5b27b7201e9c2771fe6a4fda4fad69cc77d222b80834116a97232a790cc0c702d2dc9e31d53df46d33d2e40568964ed372aac539a76727ebe88690b6cfe0f6737b351a174eb37074bcbb5ee0aeb1d09bcd5c0e114f5afe7c05cd6fbb1bb2f7b7c9d4078b260acfce703369a24afac13e801814c8a8b39b05a2652f8cb7a10126415946468319faca25a319dd69fe227dd63c3abea7ef59e21b4161e0ecc0097de67fa77fced1d4c34c669d7f0a48615f05cc1af7fc2d7ebd14c0b8dc2aca0ebe5ebd56f3f2faea9ab9759e4114680ce585eb6efe494e44d65da4de75b0a8261b85116f7c32efd2d976eff43ccdfb6e1ed84bfaac957f0260e97cdec52c30abb2b6a42f9f11f364527b05371dae693200e429504da6a701d8b78f6d1a5e2e72ae367a33b40c04e10ac19c31be060720e1c0f86c6e843b8b5f3fb0760038ccc50f57279b3e27da4ea8a202d621d8fa2d58e0c3bac146347154557f9b97669d341b9657891e1be6d251a140173ac6dea3a0ebedd89c909c10bd494ced66109830cb1f79e5803a6afe17d1283565dc59613e48659b6b17ccee8a9bb1dc677b27e4dd2f97db6ca4d9d36ef1debddee953bdb5b4204f6006b50691e300126e2907168176c9dc84ac71d5854a4085f4bc22b1698b9019e3acee05a01fb0c41748f41e04700a7aab611072adf6b2a6422ef9fcc512f6ccc212ecd61996be5281cc04f0ef81416c8be2dd24d9fe967f19751a5cf29ea4ab106ae55fcb7e1e7abb66aaae2ea01042f7877c544fde8015c45846259107a3c0200237b2170309f72cc82776303ece6b3667f8ae11946715b2aea895bab7ae6b3c18959ec3ef3a69ed61b7e557f779df6af77fcf5e47caa6f3b3a9731c65eb71e79752bcfa9e57564773dab2c06f66b9b9cae39a6726d356daaf8f019bf08191fb1e8f2d5ddca6503875b1aea5a839141d3d71eb6eed19f55a87bba7502c69963ecde757a4cbe1a8198f02cdbf978447b27f3c7292752c770d3e7699e7f5444cddb00a914f25ab7015281334b648f417e58f52189380cfe67a56cd2f9d2e2a8feb3b8a6f8e3ebcf8ab21173d0cb88fad30b0e8e00d1caf3a4b378833959f752c1a4c9a21eaa07fb0f160e2f4a2a7dd3f1a8171698cde6b72f5bb5de7286169de2f55a11e63ad492b742eabc95632e08a8109071deca641f4811f2ea0107ca3979026f89633f0be37ee9cfd2b0d3cf68f904c3be897f216822fdcd284f499929909df417a51807947d1249054970b1d673bface80ba353b9720bbedd979d76785238bf9dc8e14a17c9f14c61568d29b7b7f8e969d72ed5ba77a46375aadee9a206953b491b5dc0fe6c3863bdc8b098bb1a238731702acd213fcb25c172b5d299d16828a602523527769cc769f28c1798a131d7b97528c4b4867bafb6bd8430e28d5a7f500b538c6ea8da4926e11039f64279495051c820879114d7c6c55b83e1eca9e91b54128e91048eb570a39099b1741f7a3f620fb93bf8d780eadd71b8e01d8c2b8689489aee1334abfbabd7fd4160c66357a238e3f10af65c8cb9c96f127cf311bad925783a305055f59e3a3318d97c9aa91cd80a1c643bb82d075e281b74ed4dab817d573d670b0d4715b2bf603978f0573c15863128e97604dd0e9fea4bcb01489dcddb8f9ad95d947b262d74d96d377937de6393e74b62a13f80d32b57bd4d0a9b0f30f994ae7938d9100a6bd1f9bcdf4e80c9dd5bc49d17f2908df2678d0d9ce812c6683e05c6004ed0f7a88818d241c634fc6fa5429e24d8fac695a3fb88924b468495bd67273182652bacdabfc566c974517cf570e579d2587c104e41b9486a2b0ffd12d78e5f89608287bc00b70faea897702442c74c86ad9010f8a7deba505a711f260442d3038dfcad678f1215df3940385cd9bbfdf8b1a148874fb42c18b993826585b22844934a941c3b700a04b3ac30ecfdee31d9f93d5556ba2fa1e79e65fbf32af7d84990ec99bb133ad1de6e62c07e7d2273224f9c76e14041033a36bbb9efdd89d865efc06b5a3ce4f3651145a94ef3f9ae11caf3875ca1080eb6b8d071453c43837f0a2117993b45d841534b9dbb5055c0bbd0b567c2e204a4e4b3a36b919661677c58d7c91dc653f89d3b3069785a123be332b99388ed0d7553976e93bd6b6595ee637256198b8df23c32fdb721a381be72a691623466bffbd9cd11f667b11dc663e074f5eb94d8a79a0190ef3d4498400fb3b42b361ab1ca06ab436d1fe1c1ca3c739143647f279595aa7eb863744f3a4df7622bf5a1e43fa7e81459edadb6fe1df22259644f6120391cbe3c379e112d57d43db4d8df65dfecc4f571f293a13da1a31cee124f73aa57194275595da5c98a92a7c233df1d42d246e981f5c72f5dcae6c8e8aafe069ee6f035b741abb93a2f8c9e382d5d9489c8fc0700e27a7ed8aefe70b6c39916bf3b745be3b8ed9d89518e88820c01a01e2cf007aad0cc378036bd33e05a231ced652684099177a043f8e819b631895254171b7045cecb5a4c303ee276f0e8705c1752eaeb66bb3a385c1efa9c2d2ea70146e8979e3dc73a9fa313103f18eae2ae27a95bd1720e463c954f79fb7723551c60c0b31dfde38740e13f6cff192721f710ea393e0fd034577a10042c5702fd1cd0eb8681a11a2c5469f0a458024ed53964feec4e320fac00ac0d3f47bd1f90295e94c3e89649085ea82262d6f9968fe3683a893ab58078fe84d626fec9a4a7b011964c48c4dd21a6b0ea40f6a981b7d3652adebb438cb64afb35cc23a57a77d10bb0a62f122111feb06339a815a1127210af273bcde0a7de22e6693f51aca2bb090a6ef3b3db6af401c5caae528b037bb1a33a6eef505a84dc2536595e058756082f44905b44be07f2686118e1ceb786139495c5e39affbf2b5a864b9be2ce80208c165e8dee824fcadea05e2ce64f54a3c82b555c59b0addd60aa537b901aa01ab8d85de3fab324c7ae6a62149b801ba974dcba11da4e6a8a6234a50ea93823cbba818fb9d90a40cdba8bdd87b9a446fd09a02b6380c8523c07a1467a7cbed85d30e00cc5654a666ef6858e255c13d9d464c13042e98ba8469fc413f6f80bd7c9e355ef70745ba4af16245fa6e3075f5f47034bbdac1303082a23854f058cb722adfe745c1f30f532639899c88cda45e9315441e2c2518063fa6dd39f45747cd8ddd7941c2eed39472c522005551cd493833745fca401775fa0d794ee7c306a6c693accff37f95ecdf461a438d5e53a24b88fba9eb50596c7fada8227c5c780c6300bdd1e191f37145fd438e760f86fffb3569b21ce73514b42d908009126aa16a47a2756a3dd92aac6bbde0db8fd3c29e38ffcedcd4e36ed1624b6878bf68c0e66bc4f1a5e494db429d88256e208251e90ad79f73f6775dc5ac4c2666622dc9d198e93a7fafdb3c30d0d68857e4fffb9b1b2b1789bae5be01efc80f8d496218a4c91fb40077ad410c349c4f9a13ee51df6e0231c50009d46c99c954df66c43541cfc0b7299d1ddf140a1d5c00ae4de9f4e114c3cdd15e093eb9122288c091a66acabf4262d20cf525157fe2f1dcb35b8bd7bb3556f456afe618a9ff6817735001ed786be33b30140aa9f3eece9eb5fc4d6c2ef5031f4a452353544e9541f0135d62958e71ae10da9e0b3833b01e22308152496c5386b620bdb034d93bdc2e752ab9653c6eba5ca8011adf19b6986d5e37423b4ba5d02c627d9c1efa173aa998f4f60166f6dd6ea3d85d6c56fdcc72aedd0c89f4cd2f022d52f389f7998fe2a2d312e8153fac00cb0f61c1a29e0f0263367c412cc6ad5f2b2d14721cef89bd8a6fff5d78684b07aaf00b544835d84a56868a75f66e039571a6a39f101cf7755f0beffc78e57cdc58aa8c406a31ba1f34b2d1c3eaa77c5bd32cd62d9bdedb6346d98ae2edcaaf25b15da0eea14f94063b7c06a90542bc207344b88012a85cdb84103a705845d9ff749d15aceff696e9e57296a85f4700f0aa47008962d3d20297a0b72ec01c16a4a047f0a684b1abeb4282c2fdf8db3b80d45e48180f169aa5a2d9337678fafc5cf5234fb1d282db63f80432d4b558eb14acd8e6cfbe00f9145fb8d5e751299315bbbe003a7da4dfec126cdaa7d808554944ca20666829a7e43e31958512fb6a448f7bfe12a206d8b9934d3cd5994be8463419ba9c0857f66b15003d37f6156c8ded93f8cfbfe2cfd06d5d80403ae28366524f2c39c213053c2077f35625f3b83cb18fcc11752cfd5c126a957ddf183c4dc3fd9d48694ce408c15e74e69f8f4e6a128537adc5b57ca1a4db3f7ad3959e3c2bc4a29abc9b9a4c81582e8c62960ff091ca486928f057634ae26ef326d7503e5027a495e7cd87369af640a41b8fb9f94547329cb3be33e31423e1da2692afd3bdf61289ec5f5f32aded7e1417059be8ddd405870a2c08db6a45d045fa1e156b2e22e8ec87c389e3229417caa70d2c7f824d03c7c9ea61edcd583589d766a41852001d442fe06234fd25c3bbdff2dde52567f8267d379ed5b3cc6e2f80e848ea0f4845ef9ca27c6ee36e0801ac17810ca684e34e96fbc6c41040081c33a8a68a3bb57f90d25b6db9a14de9f126d5d188416e389c2206bab8783d9a9e5c12f7287b8d2cf0681e654c36faf744b6e64087ae84130072f73119cda90705776b287d5fc4adbf3ed6f325a0cd508912765fa244a8bd9a4ea0d44f1a750b39488da0c32d70c7111f2de8c41caa16eccd965cf625f0a923eef8dc2bcbf9bffdad332cf69bf9e08c0cdde170f601a876869d880d9205e0dbf202c44436814fce514455140b756a48ca8b96cca58201adbc85e118577b6b8cef5209773a5f41198047d08700e08eee7b188d9f72d9ceba98f16290eaebabc966659bd0a897bc4d0b465d74714fd5225d9e64eb0a71ed9822966283c13454db17cdd6b393e56e0539646640622fdd5794920addfa21c287114ac8b38fbb3463f0da47757e251190809491450141b4477d4cfb33a87aa54704717add66ab5add1234f78568e056433009168f907c5f1416d044ca50ba106d79ce641b7926137ea01eb58c72b110e91399cabd7f48bdf2ac6ef5fde9ef51fcbedd448c3fcd2c5ebfa3f13d7921a3df0c2b1eb33d9c9483ca18e5d9f595c1b3437a8de560cba5844e026649491d5629d774d7503a8b2341b11b8a45677ec11e53029c039fde019f3ccd3d2ce64631cbf5af34cf37fdce5350b4bffb7a48781c5f52e95e9d8c3d8334e4ffd374c1de9513bec8548dae7c6d6cd04567f9ee85daf55aeaa2def5b898ef93100d36487adbecc2e5c0ad2cd7a849e5387a5609707a1bfb9839217662d5da0d179ac006b087254c0378557fc0d5d99a540a65c014864e7580a18ba44216671d070f401feb7cf0e0c540f1b964d857449d0c672603406db4b839d1d459a84a79aac7573f8cdbd8d9d59166cfbb42923c5479cc002e2b5cfae59e845fada4cdeaaf637b04bcd5c63ea202032205460a2b420bf743df14b3d0b2d2dd733c06eebfa073681fa28dff6f0d5369911984502da595593a041051d3071bc1fe1f56aaa442bed45ace4a0c7c60db584e1471b3fc4e32b07500b789a2f031d1f7d36b30de3da971f73afdb4ee3a419da5478d806001c5a2c0ff6e0ac2a74bceb36a769519c6a95ef88348659018817ebef432b2ec8b33264ec878fe8c57b7247ffc3b4ec4637b209d433a46438adb8a77545f0193f4e140a1cfe3e5a8481966074a7452dded27c82e0058984c90b3580bd68733cef5472ebfcb4b202c5cefa0e94895c256c3f83a9f5435f7c3ff4c6638f4fb682ac7c1a5412e77da39f7e07a1ffede471157f1684b11d8a3d204e77237a6a5b264dcbc8f054713857986ebb572bce079ce7170fb280c3fb6635e9e8304cf9b1e527c5558bddbd3b914b12d31370242cab02ee63afe366fcf9cbdfa29dd1e1e77cbc9f272c6efb90d9f9841344bf688e22fb13b26535f7693b711f7d44fcfe44b9d88a03402a4f8a4c12d4070817652724788451b3f56aa997182efa364675126b7b4a73548631e8eeb35cb93b23a0955a493c723dc5f5bfb66de857da974cb5aafcb7542340e5e7f33756527203b62715645d59a636801c15e84107334501a27656c78e4c88388a678ca244a6999b18ad53f8a473913e90a1deecce7991744a696308121b0eddaef43027db8be8e4735062fbc97f77b035894c809b5e8e31624851c8859970d92e77c9090dc365fdc3e1488a6a87ccf453126723a653018465f220b41bdc791961b1c244925051cbde2eda4b2e08f25fb74cad62b46fa2af7776669e26d20899c497f3176420ef9f4219de620db7825c1c35122e746e9a7517509cf842b3ea5c0480e4683f124ae4fbdf38f7342eeedce56df1f9230266c6253fdb0d52078678da191c1d5fec0295f604d406d70e6fc7b6c8db026a1360bb46f1185719e9f78208da56a0ecc91ef54fa3319a44cfd58888df89fccc87f62804229d3bea32d13ddf50612f26f5216dd6262f0a64d4e7ed09a7b2cb6d2011917dbb3542a985573b36427df47648d0a63caffb45f8cfa632eca71f640531c4a6e6a4747f44db96c0b5366b573e4db0fc3b105641ea744b59c27c62409a68462b65ca8426f3bc7bbc540a009ccc37dfee19a8501543a3f4ac3476c3668af54745baeab7508b7dfaccc7fb539ae9c4b5fcecf5ee4d4c297b1156b34d59c7169242e5a8d9b7dc08277243da97f83e02b873b879bba3d09383339dbf4e4a7da0bb34e9de4eaf5b1fc6eccfbc969c8d5d524e34608f5062f76c58948f801d04b3f4642b773fdaef3f5ca3b61b4614c80c023ae9eae581d65d5924f8e8b7d8ed734b3458491883c10042ea8b0109b79e3f24e631375422f01a7f212c11d1379bfe4874e0b2260ef85465997ffa6d47fa07b78da575347aa8129e88158d7f1ad1a78b7588fa4605a53ffb74d0dad1299ac40dc53470b4bcfaa3ec7db41274621ee9f05230e1baafb5e4d45bf31407169d679cc499ed0262c4e9755191e9d9a9e0afb16cfcd2e2bf49d3052a86724578afb830f3207f49386c9dfd0b801e271821a9b319ce9c99a03d6622e2982a91c75f4d8bdc3b9bf47a91b308714b2e1288cd2ac87c42056d2c0d27018e67dccedfd301fa96196c9193b94615c47a80fb40dad260f061df6affa125d666ab4e6abd439d43019ae0006663e938a53cb100f0ee49c0e7ffc1e025886e508e38f055af558354b041f50aaa11e834d009a7f1c09be946f12f736c44a752d51c3c878af1a9365d6f9d3488c9885b2bab4347e55ad82082668ba80587cd030ed5798105971bbd1a6ea76705d6afcf751fc3ebbfada7be5587c9b83b826c77f000343c2b95449add0b4b644d946252a8bf2903bf39a81e15eae1ca0dac8393d29e40620804dd166cb38dd23c346099dbba308afdf389dda352f728b168ea938fbd76048bb617172953cd536c053cb9af426b9d49edef2fc46f7f1540f813cbe301935718f641e80d6bcb9048ec2e79efd8cdb5f60529c5d5bbcefd02b3a6172874145d20ed20989ed44157ff4ab9f616a729109882251d35282aa3cad78988294935e5bfd834cde9d647474a45a95430056c20a6b78b8e4e09b86a63cdc669842545cb62b8c615c3a58dd6d61befc3bb1fe501fe4922c8d6e7beaeaccf5a5f796527564f1cc1b60db26939778e4e3355a8777504ebd7c65d0dd1a08f3fc7626ca46b31c7615704f266df6b56cb35d9ca713aed9071c3f4e5dfd53a825feb0a32002b736548361c6578d55c51b586d4ec880431b5e6acd8e4708b8052933a8173129139bc2b4dff3dabb353bd01bdace3743bd87480cf3b44a030c17bf9b564cd8f1586fa07194e0d2d785a11b25f320bd3b4a9a8fba8ddfcb9a976498177d928804a21c796bca52a5ebfe00ffcd3f39c2cf1b628721a14e80fa0c0e743043478f3016411027b923c786322e5d874c9bf337b63c541cb41e07039bcc3f3220a3cff8599161c847d62dfa6521757504373c01d7cce4e83ed939c0869e3684d3ab9007ac6a31dce7f6757199371e828f03263c23c33a46ffd2faff9523ac6fd2c2b4642b90aa187f07f6c557a9428896556546689a40817fe6959f3b36c1446364b3f3a7a05ffff4d4391182e4160e39d29ea0243b04cfa84b94288246d79581cca8dab1c0d0af71d23f86ddab9d75de4514d2eac5f02d5986292d8167c3dd04585eb4ca195fa159318101c811ceff428ed4dc1750342ff0a36e8be5da1e2247a172a50b480652d106eafa7335b311bb5f7895539e6739b46893f270448c5cf0f00537109f5208f307b80a6a7d136d4f7be5476589022aeeafca05998f74ef2620bd2318a36469881a61102c4d63352bdbe045b73601e5a8c3995751ad09e580a74784472f91ea482233bf6dc425636c3d2d1e56daa8ecd512a88dce8f7af0a8f25fa56fad2a318f95324fe266938abe7d8cc5fbf364366135ba6abe1d73766d29e5d201b61c57cb6a08711943de24c1f0f15eae91c7d7b33680dd14954a129ed79f0f223b1fdd4365b4b66dd73574d388285917d531c2711e61aebbc9d0ce7c415089a343c6404d1cce049500aad2abe2c98b4456456f638c8e627c44a05742afb4577348751223b98a0b68b4138328cf5ac375a44fd6088eb1df53655ff8bc854bb6362733625e7e723488db2f9b4b740d504ed80326c1920c7d4c0da8a05d91a3404f99b0e0c24414af7f3d346aeb323c3116e6efe586f6ca3522ac7c7a4f58c33fa5040325fcc10be8e77e31b3740588a55402450ddcb9dbc0c3e249262074458cb48c93cacc5fb69764eae2f259f311b80d335f6b0285706d9ac75ce0d17cdb2c4dc6e412dc36cdc499c85cace54e368009f2a3d8a6f5e0471d877eb9d1f17110330c67541377b83ba78f305388070eaee110c9d4981d1235ebd575fd3f066a884e72c1a50be107742decf624e440f895a89940817baf645ae67b6c9b6c57d81c6a9f7bea2c76f85346e7c1dbddb06bb7679a018ea327201c9e9c4b2fce7bf3d728a052f307d72e23d105fedc56064088b3e8430e2ab9b21685b02bbe2079ba3393bcbc6ec3b87f90b3b659a519f9ea9703353630e85addf56c5acaf620b2b6ddf9e2a9024965c8dd94b464c2291844b2453772d3d67de8b3f22ba005479360fcd72b2bc5631ffa7cdbb2002a9be029c210288636930161fa1ca0b91628e02d27440c89bef9c7e6f9fa7d7b7e7dae82b9c17d6c07a7d59cba40727a7923151934bf8724aea80d453275f8a1a4c39a89ac72b3ca5f0ffd412ddb91432a41606a30976e7b9959d610d45b53925bdf26f31229e976630eff12bbb83d939f4d600639def177ce1d190b6c3c95ec04b21960b8ae1035f1f58a9333e5d26e3cde9af3ebeff067be49437d7aff449cd5990e72fe641f820dde0825a441c44fd048034d3a1e193b2ff271342893c431ef97bdcfc928884ab66d09142caededf127ac75cb07da2b6595899000915940c9a40fc6612a0fbe79ed12ab12eea723683fc30b5554fc3c453ed3172f8b875e35da89e6433249813d15dc40d17f721b46dd868db747b13ddf6825882a9574f164a776a885e30b10fa25fd09533b257223dbc48baa17ae7630e8ab6f4acb171c8e35e07002923a3e7ef9cb4e27912f893da597e48765834e7a0334242a010d31aa45e48e71beb40eb4918df390afeaa6e573222a6b0d5565b07a78439493c9ed671ef0c89bb0467ce00b7216a7dde105f7f50b469265984e6ebdbd235fe472a15cd70ed4da4440e379eafd7b5833c37fedfd6585d15eeab0777f57cca1e6e018d720940c5bf0aeeea0d47cdbd1b39aca04c8c672ec5a14dacced2f772692f12305749bab13247c8397e35831b02ae9ee5f99f92c6bbe5bbdaf5606f0802c064e8e36ddde1043973cb8370d64734f98174dcb26ddf93534add754f122dd98a83191aa11cbac058a69ee951707dd5ced7b3003fb1038c3edf9a01d28e7de54ff6e2b6532ffd22c433bb42e3d6b755449236530be03815388cbefccc76c0b880a4513b2d7564890dcdffe2d47bf555401b460b215e3d80dc6a38db6a5d008ea839a13591fc2e3a01e0bd249d49d04a885aa5a4dc136da6edcf1dd71f46010606874ef1655b1c8bb9943b5c3f401eb8950829fc9cd0b485a8bfabd662e533385b3c48bebfd15f057d11c839fc903c18c880d1e33645be434f5628423324ff1a41d5ca313456b01370f855b29dd8fa66204c5498640fb74e6b9dc4f318c22a5c8dc6e629151fec8d51dec49e0713e4e28504239857430fc081554800cd8e6dc274735605086d8eafe5aa05a1d018b696f5e218bdb6340b206b99eefaca8315f103f3162f23585ed55fabbb415b88b36cf35285fdbdb6f1b931fa0932bfbd6099c20b939fe41cdcb904813f609514e4ab843cb214b5e001ccb0f630d92b6a4011cd6a08f64e2ad58a2f508b780f78a38782f3aba8c2d1f101dd79e1bb539b4ded524427d5cd39af4010b9d83232b166ee13220d8635a8d94eed6dff4a6862a42d21c470f33619f08b5b3c140a9e6a2a049dff45adfca18b5e457147cc332aaf255a7c3e02745592b59c13b4bc2b8aeb230492c82e9a0d228af2fadf36732e1ff6ec5c90607487b0f7e72ecd90eb8612d1a4f89a3b54d2ca5d951fb0db14e1a1f9d4efe7607438fe96c3370d4401cb077861b8cf248f2a5fdd576f64cc4ec70a8e188c4fe80b048a0d90725d6062c5a2f96f706c800656d7a06a69a628cc907f1b208178a9a7d8ad7ec3a980d55c67c5c6ca3262670bceab6d1790059e7f4f56413e048725fc166c180c2064f169f5ef2942f2d9e2ebf0a9ca575b1a4ead8d2fd6b800bd80d88326a7ad25db61ca9baee4d8fa28becb127aeed9aaa8fa281f9b315ac471144aca81c0abeccc483985eb28d0250ab398a741338325bf96fabbca25ce64780aa87d1742e0bc339ac0ccf7a5cc359630c7189497e881c457f332aeac6f302c6e60470399a5b010b1d4689123d880ddab7a623b5f4948f9b773bbbe8641e073bb2767e7ab5c5e30927c3851c42a23d95be7ce6586eb906615bf68afdec892866a4d4443b6d3a926a8f8fc34f762682e2bb54fd3f37c081bb572de6d196f88c8d922424449f861b5d20e46acbfc07dbad45b3c15b8abae7ff3d0d6abd695a1d0bd61835e9514c79f2514807b768366f14f99d3d9ef4e8e04da9f363197ad39dbea670645bd229a095b8c54d636bc1e7a44c69e8553bf816e3809858963f485d92e739a63619d6aebfa6b7bba10738b62a73f1ef207e7c3eee2d46b3985247c7b83d5a6cbb4ce20e6c9de175e366f6364ae54a4ea6654892204c1e890b4258bb2e5fb82daa0f67a02b4041e83ed28739a3d36e1fc0868ad47e434090184470152a7c29fa6a67305af1fc8add4318b00356ff344ed337b2ce49de55ef22e1578feb474fb1716b5ead8800ee291ffbd397aef11ee32f57eb8424ee003a31bb45594bf6c8d93da88a4d7d2718f9b65619702d435c14309ec8bf67f13d91fd483b49e018d30e89db6a8c700787b274960b40480a148cfac545f28ece1a642feb27b8c29b5b8ff2a0cf5533156d0a6276aa0feb4302c2d5f1946591f66f25a4871e9e95536bbe452ef9011cc224fafc2366f59d1699f9c62f7fb673ccfd5fcc857d3faf3deac1dfa92db68a35a888529515e617416880c3a828a1af0088bdf17c238ce0c7db6e1dac536ca097f9b62e3c4b406bcb0581d22592fc6c145f683f503b6a90ccb2306f956699fa27f9dd02549984a7cdea02967ce404e44335c2beed07ccc484e05eb48885a5c5737fa25f6c57603739f557805ca78682ae16e4ec2e1a36a92a064b6e285280a028899eb7016b413442d865e70fcfa9bb9b7f02659ae642977c4c4d98f59c768a1cf3914efda193bf186eded86297213a1b506515c30d9dbfc7aa745960aedd49bb3077d91332044db438dfcaef42305961b67eadd5adabef4bbd43df5f6f563e42904b0dac2fb8c89d509e44ce7f5527ffa703f2910f873ac957cfb83410d83f8af73d03021cd6256cbdc011c473c78ba21699750d40672b8c14130eaf4f81aac26c079c15c38c55043dbcd89f5579a0ee15e16bd9de3c6ff3dcf43c5fd0c11d4251a219a2aa243007fe1bfa3812c96980899eb940af6cc68fe114cb35e0cf5033b566e201c35397d57e13c83c534a84d9fae764adef2cf2e720ce691caed3c51fd62c2577575343b56f00e2339960720a571e27589dce4eb3e0fe0988a3a545828402bfa1cd38c420b9e5a2c5188893be195b34dfe0e05931aea2f4490421e24dd31679c00b3d98b9a368cb157c241712469813c41b2aa328b43a4ff0f97921ef9562821e9cedff6e00d8c8bed07bc0bbaff607ef1d9d464feb186605f87e67b81cef620dfef28c215efd1dda8eb5c9d556de617c160eed253cbaa3242f24fe6ffe4e74d11037944ac64f644beff4f5b231093b8ab4edf0cea16a06dbe38817a48ce49c1a0d71f598255fc8771ab290fe52424b7bc3c7f262207bbf42088e951eda74013cde66bc9a4edb33da3af656e5b750c7fb7fbe2205fa76a9cf600c4cb600d4be4dc83e607afe7631ff85f5033c9c18ba3b36ddb2d7d36d249a22367c8e36ebc7a15acd58405a2c9a5c194580bfd957562d2f94e1737de9bd33d8a78e1531d3e7e211e3fd6a5a9953bb43ea6374f9c94fe639a5069a3629d4bb0bf04e5cb7cac5ea964dc245ca9350c0c571ea07d888b6338365cfcfd04fe835bd7a04843cd08d734b212cfb4f1d90f1fa779105b0545f0ed35c0be8a0be0546c121a6105805df40d4353305793e8bbc6d429ec28c00e47431db536ea3033ee7a777d87fdfb7afe85ed49dd94915f2273e1db27d8c518f4d329a90c76de119ca518928b6bbe1d9c569249b0495832079cb1e3cc05e5986a243682ef0c00f2fe9afec741ba21c7b0192ad4fc28ef47e564f80d9d35ea1949d4ed0deb822a1be552a3dba16b2aa29fce27e69ab62ab8a8a1ac400ea4f6a3488045f5f0daf3157dec28f8221a557a2bf050f72227a166a949145f575ab6d585b3261186944ae31a00c5fd572adc6384c4fc3483f4f42507fada038987b1cc19f82b4eba627a7aeac25063bd6fe0721ee374f33a7c5a92e79fb488f14b6946cb3a4194318a507ea8a39c048d887bff2cfcb28acaafc28386f4c0837d7da311420aa72a13cdb0461ebcd895b10274357d41b8b7ede69a4c6277861e6c222f958e3221e05e4416c5cf07cc3ad9d966210621ae8d6851123565959886e3e45a977d5fe3a0cf3665698e6fb662fa41410063b82128faae9e793be47bcf905151071483c5f84c9ae85a08b14ed08afbc2f06fd1bb49ae1ad07e1e89447c22058519669da020e6921cd6b5d10ae81697b8a6bb0d68cce2eb5edcbf8e618b9ae220a9c54ad15ce6a90bdc9312b23ab108995e7f177ddbf1fc5977819966c60cc163fb1e47820d82bde60f4d344f54f600f015a36b50c7869843874a4c344dcb21046dea1d02aceca8c34771f144c269210da3d3b079e9edafd130e7bfc7bd955c3a1b178f6232a30a452a0fea179655e77893b7a688af9655e04ec010450f52297e2d533d12f451238722b2cc7cf5c376dd1c405678f379ac26a0f7a5646be9918855f15411139f744645825615930e314d56dd9059eabf074a49ff06c9cb25133f63c9cdf23ce118f42aa75c50e84ac7c9a0113248c40f19498c5a9ddde41a28976aad7114e7ce2c351182918ed16b4a4e8f4a9b8d1c2810f6b3408c6218ecc014f9caa116e9180609726c67447abeec824ab25ed0562cd56c1a70d6ebc8a94103685096383ccda54e8a696b7b94af865b6eeb508ba07cbf76bd3fbad7ec0691e242c4b92015c135961a3156cdf63b64f728f6d145ce4a5fe2bf1eb161f2244cc9b3b83668361b26cc916f35045df189cda958bc9ba1fd2c0a67e686113d20486c67b411dec5bd80e4a027fa526b110e6480cc005ed7d15b3e5f5f1019aada8b27b96f172f5250e8ff0e6a07dd2a88bc4fb18bc81a0194c0d4d46ae2c8e77aec9ddffe48ac9ba34c1ac397d528fdec965aa7bd50d7ccb78d0bf136f0fc135422ccd9eb5dfa71bc7207c2c3ad94293ee503bc5dfdab48c18de7ae9129b477450b5c3462a6f61fb46ed1835e206111f7f27dbaaea616544a92e049e0085cbac61707db32be524e89e8f8b6b6e768784578941244ecf60aa785981d8c68647a1503aa59e40baf6e4a5a7d58805d8934138f86e711dca192a0af94a18cb8a2559f7e7affc97fa434587405be7f094aca253d0b02aa06db338b2c3bfd37859de420746edee5a819c5632642a28b5821c8db14559c5d89778416f2dc459070440368eca5c0d9d82b17cd8c436347446a2557d48a0065e155c902e5ec3b6de93239f2c1c3a2d6c1eade8bc14d7727328a4cfc108c6d12f566d5c853f86846565ca885be1f9467ed4d748ac272e68f68ce2853ab96d7a8e51d13001638c3679c8df6644155b4656a58b1ba1e1129e8d80fb8bc3650f2e898c4fb62ff1107cf78bb5ab348cccc984c1704a880b92ac1781b26de3501a5da2108ee5fc679fd3a6f7051f97c05b34560b8962becf800d8a4dd65c50b5d52ba51112d157f50ef4106d41226fc3da72986041a0cd135c415fc15cb73eb6bfd82e12fd378b7897457d3525d89ded98b0bda32e7a6fa29e15ed627e006199dc5288e9d760178b642b982917abfe0b1236fc27e3e9601828385effb037febca66a6e6315f52016385e0d49bae76b2b6b7f59e5e3c40669063c0df16e8177bfea11fdf26511f0947c0c2b41641e9174b0087d5addab53975ba94062481d3d80c9ceb4b2604ab4540765f47074759a52b15d58c98bfae32cdb11bec07dfc01f7f792f7c0a5964b7d7aa605e4b059c79e4a25d05783686a05a49cf63f4b3284ac235c555e0f3d81115f641fffbf0303e8c2ac336ea80f398165191653c526a4c4938cc7b21eeaddf0584dab5717cc5888287a022a1b4a782bfb54c68f4c1d42d1ed56ecbcc1486c4ee6b5b35590affbc999eaf0b61196bb529c027bfea1a59553007a0c82a6e5ba476df8d682e5cb5657a0f0d4fdf2a7394dd8bd86276720fb58f3ce6afc5dd8d07148e28fc31af350aeabcc520888d55389d086602d814edd8311e8e50f19d03bea773459865263e0e80d7b7d0c838514ca72387f46b538b11e7178b177127e3adc9cb9a25bff59bf45071537f2d0962ba5a11c5ab8a16cdb4a046461c0c0e8d3e2d5fff34031d46d2eea722f6f0244aff8c631a94ddc0a61893e7373d68002c8781607c0a30510dff336d87dadfb63469fac0702e7a9719d884cf08f74d2b53cdd6f146a4b220f2bb7a7283bffb8eaaf72a21d2c1db34de14da954440ed5afa4ad513be9636df2dc976b07932386ae30abac5352e6554e6f3a9c9c1fc88116e3d17cbeaddedbbb02672332e7c80dd43f2d96813ab4b3e13198be9984f07d7348a55678f1c87aa1016105da07d4bc2738d69f00e2d0ec6dd401b9e2e96f315dd124fddaadb825631d27b6dce890577b92349d3aadda92101d83180406e9f918b16af9eb43511b3862d8cb1e86058b36b33bce2740e10c2e7363b4eef2e00ed53cb21ecc8fa2694abfa7a7a62f9aa7cb4329d6f74f7ea333a0f86aa0d9aae5019adc8a0e6f266bfb15ae9bac59e43054cc9a0c137e107bd594fdf46bfaaa2b3afb2503b3708df6dfc0f02753221116d6f38bcb676bece8472f46bf192b42aa1b829ea186ba31fc2165270cfcc02b9d06ac53c7faf2c3bcceb570f3b829f6b99d3bf1a94bc9b2036137a557f0061651e5db4d15c1fb0171f1898cab729f91f6f7bef9da6cf424da83132cdb773cfb35ee6f21edcd7d516578646223422ad6eff19d5fdbd9e0e925340599b07a2707de9042ab33faad6e9190eda819688ac1afe7558a9b951f84d0bd5921e0494094e40237b3d9070aec9e02a9f30645dc857bbd2c1e17c65b7bf1f7b82e03292ddcadd317914a42374d7e2b178141549e5974d971d941ce089ca2e52b7ef00c091cac2b55db8bfac8ee3854bf23ade4a1c8176d1a9638a3dbb9fcc3a665c9e41df2a9d3bcdc0c754e9e7257ab6fa9c2f3ee42fcb2cdebc51be62f68889a26ee69df3df5cd0c920c0d583c05751993692b3bd0295fcab44187eee79bf9137d4fa9d526ed8f63b99dc4a311fefbb8d649ea0bdc462cecb1af4be58def7fcdb780ee4ab4835655089099f826d250961968172f18e4aa068089150f0cea05af595ae394bfec38a94bc9fb35b8ef6e404257773308a0ad857c205a2caa3832f6fd98538c9245217e17145a147bc9f0a3b6524a2bb252b7abe2fa529bd5fad5729a4e8e6c5274136ee396375aab1da97192a760a2d892769422f4c2ddf996c8a1ba7e9e12c04e9cd58d90c0c9d6b379e81a7b8078d613b67c7b79e2ae81bd92339333ec5371a58fb32142b4d0dc85799789a926d0fa31fe574fd9ecfadc5253570a7956a3124da1ed64abb9aca109fbf2892eb78664fb8d756b36553962dc963af978f8e11a4109437a0f868d34d98627c576822fb0faa9a2101f34be6bf83b71385092c6c7f19b5043178715c1210e10cd3ca8dc55fa19d9fbcdbf8091c19524d9dea54ff725bd2bbc51e3699051f055b0003ae31cee5a48e3f4ac88f63fd8f0e45a35fdfdbdc8ca8922dee45bd95ee65f5692cf200ad647357fd38069407215bd94d60f0b719ef7691dbc902e89d3b85cc34b64aff842d50b2e225c40182849b6d1df327f58520c0cb1dd64d17cebe5fc9af0ea831fadf47422345ca36c4ea94af3abf5f33e85d30e3efcaccbabe5eb3c4d056fc581c5595fce4aba78be0c41b06162a5fad407ec0b0d3cd8875bf55a815ecf53ae9e08ea3b14e14dd10f79a7190464aaad894ff48dc7e6eac67489079a966fb4d7c8af8ab1171bbdc4d4404022c8ca20e93c80c6c26c9a2e8e384c216a5b7a38577ab7273f2dc977f427f8d5b3c762af345ba68e4bc7e824940b98f3d2a334051983600a2421c1218752c6364c657720cb0473f66b75910b91730bf2d4fab844497dcf906703f9dc58f00aa082d9efba3c93b6400fdfa65997d31b03073e5d31eaef599d3726cca098288f8a39c122d31d11aca15b6264d9756ce863d9d5bc14cb27c649c71c71e73d36ee8989c639850f486074a3f128ebf87738329a5cf0841af95141b4cf9bf85df6c1499be2179bd56be96fe179747ae5c47375d74f4dbd490304f20816881a316da755d052bac5495f0b8eb788bd3c79d00750c037b6059dc94eaca49b32c8378cf847609c3903c565e44157a9f1266a4ed1b611f38b1624635836d1c7dbce8daa6c9ac89ea09e5118ba577cbf50537b621e829e0eafb67502ae0c6cb3f96f5eb34e52367b25994501f551af0cf051d1ad76a98e638a6bdd173faae9bb7c7fa9cc1440124aaaee696e6bf17fcb2cb531e679699d7d1c2ff7ffeb76e94a1bd0af731209e744bde524df3b618b8e04e2f9e056c82fa26550da88f621518cd3172d9ffab651b78ce8389773b8b85e3075fcb40e001ae630b69bc6ccc1a7e7c5ccccf3866f83545a7c85a72758baf468075f3e9eb1378b37517e4d13e1316f883cb1470d9cf244779a048698c0c028e4d59c944ac6107a9050c1fb2fae74e34bf8dfab0492a9165e69db0a94a3ffdb52a8c26e0b47e3d00158679446ccad9a9f585f39c4a8fda10a4d4bf89d5b3bcbdb8fe643b7375b6ac0d2cddfd4862b4747b6286463df7e5f969e4740e0df121542b666eefe1cdae1fb6c8e67dfcdde1a16acb25077fd3568463ec12f55a0e7980fc7abf84a1fb756ddae8e620e271a7a1d116a11f27302bd148a6bed89ecd6ae6fb03833bcb27afd0ef50eb4510d1eff9aa88f8e40b446d3aed03f4486ca15bf63c915038fc65b0bfb14763f71d6144b0b8fc921573c20a15d14557e9d2644ba5ffd14d58fcd51082716f36543d612b5bb7dd40b59c7b46784a7c3b3406a55a2a241d47e451a742d9475355efaa24e2e6fc40fce43213be1f8db0936339db3b61504103318e38059c40089beacadfecd1657b964f997e5528e75000b5078795d3be9388a853f9b9ca51f222d6001128558480357229e3bf467835e52464a3e0a1e3e54ca6bbffce70fac6ce41a397fe1b2ced7d28c30f151d8725f00cc226a93171ce4e7fe144c364e15d707c24619582980394e75cc25997b3e39abe679753f6a0d340b56dae78b623d03a472533fc92c498311dca04260cd58542ccdc7f11700cffbd0c4d48ff611306fa17fbdab3bcd821643b63b0b3e9e37e5ca9845365826ac21ebc58a00f82c4afab505ad76055e0af1ef1ae97092068590dc7f0d8c0395a769db16bc407775ecd991ef21c435dba4f319607152530183422585382287b1cce6789a068f8d082e3f8c35832733a9d45c247d3c524965186e6c07069ebab605c13e1360279ee7059a49e1b371a22f1f084692e18fa206080d08508ea67b185796c05cc45f366b19fb17a4fa0a2df7833d45b1ddfe5c494c46ebde2909f342d0e4cf6274a922ebe6bf03b9675467f27027b76efe16f0284f18fe6c70118b2d588317b45de2662cc0498bed15a3499ba6e9e5c1d3789bf1c345b49e3f8b475156a291d15adaba3e4874927f5a72446108784f25ed2ee95462113f82a81757322007b25b8da36143d8e7522f12d204899a3609ff59f47c97de10ed2e5b494adf005ad09dd1074c9ffc8a4cc6a220415e4c059a9128197e324c2611c7f0b1b1a81b9c1b44cb8ef66b5f0e934f078abdb217ddc34fa6749d57a2ecde83765d7a8ffda64dbab7a39c2c6efe952fa65795ff7583173172c3215007af43380fe9f59fa4bf9ea3436070d8418548b35e168fc427fa21966f9792fb053ed7c95f195f8a412f86fed071f231e9e44460e1546cdf0c5275c5444dfeea1bb449968821776f4469a41f39923666ade584c1c663c4287e366d1aab9efee836ab3f0424129268cba3af2720993aa823c7722c934aee73dc4d42766b125b5f3cd1c26c093b934909cbec7b4545b6ddb82e8ce7a0705564e1b5e842ed595741743b9fbb03e3f9c2c87eb6482dd47550f54638a5503ff7f5f8a1b0cdef4c2fa867ee387b9d6c0cbf9f932cfd7479dc0d5c6d7dd7239bf894b69df6d7b95bc4a0cdd77902d65c74bac086a098b2a2832b1f250e69f458df28c09049baf3a45f1eb91fd47fbe417473e8662472b46f3be735cca31e85c753f7cb6813a514f183febc7e40ca0a111a1e6b837f1af8e4d4056578ffb870707cef747a4dea07273d00233824130d7d704628e482afebeae234174126c4b6c2f2e13d6222973af47aa31e0ff84b8969202c3ac426fff417f045604e37092f4f2d5a4e6cf577d12e780eb0e6d37ba9d895920538093593a7149c93a6bd22f3e4f22df94df243d6ed0a9b8139530fb9edb501f03d5edb341811f1188ec2bac5a5e722639a104e5d187c70ff389bb8c5cfe4f90bd649e7dd5c4ccd68a6512d8556f517687eeb6720887aa97437fbb22a68e7f4302009a7dea241bc62af626bd4c2f9b495aeb5d38455803772f742b19c7c7879a7a05facaead21073b41cf89158f168423610774be8a03aa0f8915b7d629e28cc3b4ec1ce123a855554167d7b8cdd51a3f75c6d4f601970b649d5ca72500364cd782aef1a50e502169b823495ab1dbfc79f060340f686da1f0644a47a2c91ce4dcdd0d9de153820df15e83ba58ea43e14020146fc9b32296f89fbfb76ef736a06be0886776bc3d9bc0150037542e1e9d1492899c7c95d5c83a421c1f91334bae91a0e65ab9eda1585cbd29a07df530ca9609f6a307c43a233e9cbe7b6b92c9431def2b0dd0e10b50710491bc6cd32684bcddd4526c0dac631693171d25359142aecbf6c1f48a6e408b6e8f90b5ba95cc662695912b51aeb70e750888f1875b5c50f3e1b8b8bb21bbe3abb4ed50b34268e059073109ceafd321e78163a78c599b0b7f1bf7824ccbc887b3a44d56ae4bd032bb30ee26c37c5c1c9ee6764a8383ff74cb070bef2ed36c5b680ff9aa273d06876e4b7d3ef737dbc55f94aa60e9ff997df74cd3d92f83a73ec38beb1dfb400095603e943ca1814b33805aa306b87c5cfc92ea568d2da15a85dea35a01161a86a710a2a3d7ad06fa93391b6ef68614d5a30c6755690602d386f151a761d842582607cc160f3f955d8efac8ea729853144854f9604a02576854b5d166cdeed9dfc0967bb2e20ed592184a87907010932921719497a6a1644eaee490def9714706b3ad37e2cdd92a551d8d2d01c8112d9a49d90c28f999f2077a864d755eff08da89344b9595e97a53949bceb4ab78d2bd56b9f2f22765197c38f6af14988786a6ecb8a1d97dc69181a91cfc7dba70d7d6fc0ff8688c649064cdc855a20a2ad09358c3138d7ec17308ddf39b1c1b9afbf0e526fe66e7f9455e03eaf98e9d51b649a741b18ed93462d2695233f2f92a64a70afa3e0fe2b48d81c848449e966bb9c3e85e768611fb4bfaaa23ee1deee86d54ec0457facbfca72d751cb3651aaddf151269fccd81e5f5a01d5d66dee360b67e771f9f62cb66539bc891f639553066366e8d78ce2083e68f4b4f64dde2a39f537a16defd98c9add73ab4f6cbaabaedb59e0bc957187fd06f2083e06336733bbd0341a46ef5b8dd93cca20e9367a76366b1215a2ffc8048ae32c8d9185df5233d97fcd0f1004a3615c47683012c33c1e114b6f3028134ceed47ddcd4fb0fd472c60993917765eada1f938a2d7ee1c86fb500c14ee813ab4daac88d6ccf3f6f3865645faecd98789c42315ab30b364822e57ae6305fb8d9adf381f83b148d49701f4166313e454b9aac116f415382817eb829fc9f8191798015cd4310c209d24d072d1fb8fc7acc71bf7624b1704384adef4435b05b659af94acec51624de03fd6594f3daa85d5e476884b607bf0639b354dd8e355fdb1cb3167ce3a3c2dadf2bc503f5e7b9b5c2187cfdeaa84f313779315c08f5837834d8c2bb206b9639720f037d0d323470d73c149a648e2a13520bcb7d0d160cfc37c1519461d8373f53ce96ee7b4fda1db6e1889d764f34253e2a928e1094c7f8933f14db4346d35b6207a17246a4454fe21e3aed7fdbd15c9e46bb29773dc1984c2b05dab454fc99210a17050831d8f89faa1c89974b3ad4950155fd6670ad76227247a86ce47a1660af11691a29d15a89f8d443e63c33c090442fd6574a6d16e5eebdf59c4d58c3429e700a1b2c35f5fbe9c6df7385b24f3ecd835213368514fda7979cc607b17d894ed47cbca37ed2c858e8c4784740ab48476894b5a3b68022016db85c459a393180403774f28b2c894a01a9c8e43403b285dc3d8c0266ced500137674dbc66448057d61c1e9b4cd063958ac546ed84499f8ba85ad682f3f94338d8fb1f2713c583aa0d20fef480e425c37bdb2ad86e3297465c065ce03446b209eb05104aaffc94732ff3dd9550b02823d1d7c5607e03f49516a44156cc3985186fae3acf3f1326910281c58eed20965746421810d3864fc958214ce4fb2f7ef7d482d7161d4baeef5dc8c8fce049dfc65d67bd536b3c956cd74a5601c6289674e41bebf8b3d1f92211acb449f032f3f299895bb5e5020d945e521112685aeb8202a501390842d9698597e42bcae87d86f8ede711bb1c71083ff2ae687de1df86188ca18a624349107ac71e2362bc69d0ef93a9b7408bff9f94555db1cd2a74b3d9c38d4017306a117e3836c54cef2c85e3f27db1217b86c07c2c59aa0b47f016e10ea167334adc1fa2d060a43ab6368c8d5be6394b8cb2b3a7750a196ce98fac9c8d9047fc4d5e6662509509cb4674b51116a074ef686a1de493f8af71ba61a00a4b7ad38ddcf017ef12ead5eee71b3ac77bff5bca11446c1bf764b1c0a32c2b1ed7fcc5a09ba09b2931e6bf8f5231061eb4dedbc75df579a0109cc8e827239c204c81229f74c573bdf2e49f498a489b7b55db4c10b49407e3da9d6074e1c0b8ebfc5628982ee00033245a39996ea141dec9dc1ae56d3eab874dcac3107509ac42dfe68456de0771496098d6fabbdf9db99bae5d173c9890852b821af94b3190bc6f6e6117c7001fd9210aeae3f32b754f16cb3dc0b49ecf0ca492ef9f39097b3d9dfb530a36dfea57c50498ef10cdb8127e2adde61fd039d88684f7131949117e654b1cde99c0077b90e3f4c1799f184af35e3879b5be540aaf145b742b9e7421b96666f29f47be6416f6a27ff6d8f5d100cfb392e2f5193cfe92f98c89f6d4bf9d80a17deafdc225b976ca156ce6b8fe0ec2cf9cfd122529871ddc75727142d0fe836f1beb0f7d58bf93ba41001907edbd50e24d3622559c6d92659ab275c99ed17608967ce2e05ec76a3e9654cf2aa366f96440b16dc4d628adbada1ded3a4947bd31ac809c4500e0f40ddad1440ba57a8dac29d1a0f6be2625ff8ca937b56a7c0d981770be16f1483127cc2fe66881a5ad167953f874bc4945b2dea23350219e4dc9da0097e47a97067ab9c06af30f57135890c14c858a2a9210a031ae6f43af2274c56c810ef61ce1461587fec480848889c287373daca968442255ef5fff5cda2786ae9dca41d43b67e31b66ad2a49016ce692e75c87bc779d28a8bfdb5e2d22a6e5a7e882d71bce98a531290a0133132cc750af558dc4bc9ae9cba0a69a9dcc235fbd1e0c0c95882bb38882259cd40fc906253ac7e0cd6fd4fac3196a86340880f2d5b0f013f2976234f951eb60fa3c971ebb2a0dcc66540d3fadc9828dde4234109d04a7ec88ed56aab3ed435f67b21c83d12c9f5e298f7d64db083e3070d6cea5df460d02fc342803b4fe7bec506850d96752db2aba3a3f3ae889ea01fbbe66ee4c21c7dbae3359f6512a22a294743ace96d4d18f85f8ab94b7c47db37381678939cdac324c7ad6464f3dd26f028c708ee59f102dbbeed61040d5637c37a8c1ffec201d91b2e5a9a071dcdda336b336ef125055c087f01fd4dc15381b224f2d13d1630ee312048dc235810bcdbc5a2c5102047d667f361f5d96eeab1ea2771d14c13cc74c25752fb77eb88babd24bd1d287dfd73b919a0d98de1ec70fe5ac77225d66f3f53e111b2f697b4c582fada70f88a7deeba39b568cf8dc77194097c951ade8059a3d06e777ce5d3f8bce00f03579cf1d14c3a30460c70c7b03c1236eb9150a0200c90dc19b032ab8bc099218e31b28f1f98dbd2bbd0eeea54a7eb9c0b2dae66a9cc32f08246cfe75757dcdff66ef32671ad4d1b83e4e28b3caf2eb81d34ba712cd60b78b88ed177a09a19df109e12a9da8faa239d97cd501d2a0b693b0dcec851999a6cb0eb228a3cf6596318fa683aae2ad852e92b4462c66b3298727019e2a344490e860fbe862801477e36a4760f5e1191e34df3ed42c300fb1c7c4e48a18129a1025a9b97bc0add5cc157dac0bcc2fa0598fcdbaa2b5e535d818ee400481f57372a6be3a7c3b069ec9c6e1650fc606229bb844b992a1f3efe780a41b1f63b42e7639d53152b595ecc13447e785b45b28d744468dd35f90a92bcd25f82593453d81ba22912c552fe22263399bba829fbc6ccbbf390f8fdfe1c8e8110ea6544203070613bf696b2c183a49c29b087e703b634c354e226767c6704b58310308f87cfcce08c8751eaee67262955995f0535492576d4fb3b05c7d023bcd86b832d361cad590acf7580e7953969b14697469618588a23ef2d1eadd2002b1f163d2c184624236a99a2efbf198645fcca800948742cddcac1de49c188f59a3879e9987b5868c660de96ed4be3aed7f0ffc3c2ca5649f20ac89e9a02dcf291b1eb578ed491ca8339de2854bb57d8cd214771e8b79adce8374a7109c9afe68d11f28576938ea507327ef4456df617675b58cd6eac36f67247486b873ecaf35d304f290f187dd32c5601851b5fdf0867c771fa15c4d4ea7c469d9adc4bfd5de74ab116ef4067f015c8f6ab121512888b2dfb54b599fae7a5801ed50c373a4713c2834f25312a171a6c625ad064848629f4a625876bb91f7636f3c2545cd0d93263f34193baefbb313800822c3113bde9e05da21d312707baea7f7aebd37b25af938ace76d3d1eff5f882418b89b58b05d89964135c38743c191e4e498b0ef26b2cc0c38bedee131b0967fb05df322eacaa12e189861313798add800d0ed5daaf6dd4f221ffc2dc8bd0f03f2ab46db442e3c8e645facae8c5ba1d2ff2a5751806b0dae355b65fd4f3192a67e7f105d4727d065ed53dca25bac5601268107887630d0fb4ede39e24184541662c8a5c343b83f4fa7d3801b1f92128a248471875f6098f5f3609bc2a9498e315b2de9b28c8a4324ed439ce8c9dec1e7aedb61f50bbb1e19fdce15e59096c67f9a715d24a1b4b295050d31a56c0db46ce77e599bd769baa4fb2b9810cf1967da36d0b172f88d09a730041faf433d47e46a6c3105b65245764b8877359ed62d1d888ec335ef5ecbf68d8607780b60a539afe48f636e0a5ca571eccdf9cb623cde75403f3eaaf144d2daf0fb04dcb60d7844edccc0ef48f6fcc74c97d763ff83cc53ffbc0483ce14bee8601fb9c03e9465a3e5b358c394f207c52f4b6914d8d492c9dd199cba3cae118499b5ffc3dfa8811e3d12649b4625f348bcd3747713ad889e57c9daf42eaaec5faf50be4c602bf21f671a125a5d953c1b0e12334f165a09a49ea0eb333c17818eb4839d5190af309caecb5f3c1652638125b79e5bb02b46bd95885dc75e1d92c3b9a437ac2b59a09b75923ecd9c5111fed64877f6e866c51d6197d05bb1ff58e4470f95652abb7877a77cec7a238cdba2a4669079fbb91d09808d257b2c478519a29cb5979fe7e28626485e7e9380e8f30ac8bd09cea2666925a495d329c331bf2fff5d386b0d5573216a35ddc890f35bd6dd51f17f861226457172e2ca20f23348632a351a140eff759b6eee745ca950f15292b77d553918e5e26ba2a4975219dae929ed150212c71457d4e3c5288d68d5390ddf98c200efbaf4277dd2f65d74b447c39c3253eafa57e6acfaf5d4cbbeebc278fc4508c37aea14c3a4a4fc833260a0e5a27fe41be256bbf927f2f37bb2a16e038d998f6a9b72402dfc6fd45d15d105864187886300c705c7daa10dd72f304f092617b1b6048e295c92f439c609b5eb70584e47a2aa5d7257dcecd3e6d64c6cd7b22a530ad2011fd6275ce7c72dd1cb6401cb1787ffd1538a60a072c4c7df78aa3bc4450356103384d3f9dbb7bd2aec6345516ecb064aaa3e8319c36335d3a5076bc8ae272c2a1595aded6625307cb946ee9d352ec1bac52792a26b26831b23fc89047e8e55b54d6659bb15107e9afec04db3cbbde88ba2fb1ff01ab4972d664a55696e4b45a63e7cd60aafdb143cdeee0635141a83463e5063c47be3f2c2bc697e9ae4af58a1218a2fbb58a1ede52f809258656cb1710982b2fb61f00146357dae5bb5f068707b57effbabf0afb873ed690b5e48e00954a1dd87ec02e90924abd26c9385be8cfdd62ee1716b748c1ac040ebe6ee0bf58bd4380d485b5d2fd56b13474a088532e799d0c4dd1ead629155fc6c597a350097265c8f960cb5c49e9309addb66f65edcf085d7fbdd308198a0bdaecbf2abefd0322b2ffbe85fef91f5784039c7650c055dc72fefb682b72d161f0e48d7c523944b0869246da7272cda203267f7a30f722afb1531346fe114d2f6f9e3d1efb939cae5ec44ee856ca95c320bee72000ff7e103e110a09484c8312e5cb71fa1a541c1ee471ebd7a83270a336f668ce44c85e10401590956b59053b4fa8e00f5cbb13eae5b2019d96e5ba1b038fec86e029aef374db2ced64982f3d89542bae1166042207f550a2150eee913b7e8aed056059d475d7fc18e3fff0624f44267ccbe10e41e0a381724acdc569e506c2547430f5a2ecc1e4ae81ce88bd5727b1545e49f4a31bfd3b9970e7a1f79fd2adbc17fa7feef0ab39c04cea09c5a873f7efb313b392180983df870eefe6049254b21962f2da69fa094775a6c3e6b21b5f9b00c1fc8541ceb53dcf21bd8b685b325828a3ca8232f71eb919f81feb95eb61261fb33dbc4c6c5a12779ba27f93ddef4c100b291106c5dd9c82eff5814a2a1b1718471c12f573b049ecd9879d63cb846fb15d2176f9001cc403815db7c62ab0b3f9ad738ee28a62fad3b887bbb0f3acb0ec4fe907bd7ddf1d9161f5c4a89f150b9aad641c4e0bde7b3e0f754bfd3a60425f49473eb0b2b048f12a61d35a48b1cb25937aec08b7144c03c34f84458caed00b2ab8ba1f576aba8d4944b15625529b3b94b6bfd5f4dc699e111f5a8b0c3ab21faafc40b8f3283d32ee842993356b02e586a459b1dfead6f704b0ec8e105982f764e31819514e7e474ccac93ea29e56aa462eef48b518c6792482a0fe9901e2f2c3479d1e1c8c6e3544c3a495d0787c957b4126fd47c846020cb187c83a3f7ce1b4e6a7cb720236768d26073a511f98961fd2c06bea866ea013f093d9991c38d3aeb4088dcf58336548caf114e1f5ebcd965758478bd9fe1c93a5f7d8231e51418427b1a33220202b569910f84305740b09f29bf142ada832af72e45d167a6de3a4efed3325ccf23c047e3fbc95213f248497b14fd7b65461713b6c6caa3def4c90a40e87715ea576768b6d1e812356d528005c1e98313aec744dec6d47b62d3fc7e41c254d8ea84d753e5a96046814a3d4c4811c339a73afe3ddbe1d90e4adedda2017e2b8dd6bdf36773361edf2f075a10fd3995e2c5bd1acd5cdc0c5f256ff8508c7596f4556e6b46dc36b98281ed3924c953932640ee2a57c4ad83d5556d1bcb9cbe2eb994ab379e9dc43d0b89931206520cc94b8e5a12dab65d6bc10ab7a70d3e13fdd3778cdc6ec517adb8770bc84a7b2bc3d4526d2533f095fbec42dfc024ff072704aea10237c0a0d3c277c75c43905420c3a7938b9d0d62061d930b5b2d22c13cb37d94a31446534dbb93749f82a16e693961890a3d42f00b536cf9da4dfaed07586714fe6949c4ad32b6089accd6e95b0b1177dc9c2201fb10346d404e9b7169f8d0be5dea6439530fc9038a3762261aa211840ab3076978b39b62721e6fe706b81480160c118759a45f7eec21a1a979026c4c0d1f2609ec27d138a0b414421290f967669ea952666c9a4b3b6587a83f6706380ad89bbad77089f4a6bb02d651e7c24fd4b22367c4cf1591e8691153e46e69be4616d98d69455052abb95165a8a51393d07cda8c4edf7421f685c0145113efceca76a86e4e7e981176e1c350411e44c7a6d17e76785a9b84bf6e797a7f40680ed2e3eddc45ad18bb0e1dbf66b2ea3243802d906c79a7297452083c7cb80f43af93d0bd1dc7ecf082b959ab66ee8798d854a971f13b9d45fd7550ea4aff909bf1d59d7e4787cd2aa36be09a5dc4047cbf41fba891137ce524146b669849ed6f83d9d4d532a67f67ddbc8440bdb91a5a30b418c7f793144c93f9965447200e0ce8d46c75dfd757a1256409a2e772b4659da934daeabebf6ae18da99869a697460c3ac6c97f0116f752801a9a837b6ff298cd93fc31b3ce8c9384f61c833c09547c7e14f8a9fc55fed8588e8d07f1d1ce677eac7af4500b41babb7955ce7216a332cdcb69f04312abb90a2ee580414d4f2e431cc0560ea06b5e39c8b55d89e1a32373a7b421257d419f559daf86077eb26f055e80b1fd48356db6247d7af2900f54014db91bce52d7280c7b9f09ff7a60040155f09c2758472b1fb4cfe66369c6eb83522aafea85e5edd767fa0a9eac99e646df13d37030af581f2614e0287e0a174f934f36e36b1eb79d701c2c84e3fcef7bfda3ff72d935d8481035664657bb5b935a46d1e090bb7e30c4443e03693aa559cf4c63ffc86d7412a0a8e329ba2d4e29773e3260974eed758f059ff7b54df338359f671390c25befaaa1096655c40c98462487875c71d9d98abe99e784f6d7af8a819d8449b22de8c2012df4b7ce45a1c00b6e96ca222d0924cf3b374a98e3b68420d5eb55c1e5e3551b991253be6bdd4ef552523c7583cce11aa8462144d8861a0c118d79e04dbe5ffeec2a6e702d040cc799400e630e19af52be853b5a79e66227be51dd3f3f4626ce07366862c80d2556be9c9088ad35b15b458924d68b0405010492c4b1554abae4214cf123b47815d197177d5047972554d1c7e0f340bf1f9ecffdeeb5e11a8594782b622496c059bbf3e25865c936369807b4fda845987d6e231d3927cea6fd8edc16450a7d25d8db18df2b5f5a34d9fe33349aa0a8cbf34f549613517007939a47856c565320882454d7d35985b2366ea17530792d2f8025006034987da94d6b3a9f5806edfc8e6b90ef68dfebaf3164098c7fbc569c2909bf075481127a0a353f026f4dccf73c2789cd2926354f54edf7dca9f72180dde6e589e32fe9a8686e45d5fa0e1eca4d2d0129add5537fa78a9342f94dbbaaae8b76a81e6b02636b7e1ca6583a86833aee1cfc63e702cb5143173d857828738c857de181fe6f7d48e2d7ad6c115e040adc2b776225b096a8903ac35f9480507de887b5bc9b8acfd7ae6d951c346c663858d6f58459166e328ee91f2a05d5eac6474e5dce4cedb5040451336ab9a8766b608e506d740cb863b38f197c0ef4e15ecc03aa089b2504c58832a98405c657acc73bf246b934ab42240ed5170d471c857e9150da52e8032425943acb754911d09a913f80bf0c98235c3671810664c40a9fc3d988c882afca6fb29bd943b5e3a10a8bccbe83d98f9d344a9df2d4aea3c1d44c5d88268a5c626ebfe9eaf73f2b53a8adfddbee147978723e58c9bc66267385abc0aff316a8afa5c5e3fc899347d8a9c66c2fc145a087c4b34a713134ff3cd7a2e48dfeae628e1781ecbcf658ed6737f7ff44092104fe2e0c9129c3a7c989c0523eaf5e0fdc80fa4a6a8ab40590574e6a6c228f4f51977c7e6ec8d716862c9518938d9d192cd072870bc96b569ab854e65f1465af7cca32d7b7daf46f7bc5fc8207b7b9a06c07493d2df91e3fa04647eb0f602114a4f388de5dda5c6c0ed4a851b7d52610cc01d695541bd322a9e1b375fa4b1cf8bf0457da3f08f0964d9fc21c340928e1f5fe654be159fbc1b6d9a8f5b3c6b32e17570e5ead180de73acc203c09e9812800abce265083398811630b4e6df9ac280e6f4576a03fd1b4b6abef595261625ae7ada1f994a0d6f87c88bea1e67eadf6f8376b1e1399e09799fe1cc08c882c773827016561b39bf485b81d87f241734a7d9439c952860dae78263283ffe2cd7ad78fe42e6cf1cb2fc73dc5d1fcd5f4efa908fcb325e3e8c263cf1e856bcc73c2de0b8739efff3831ee77c2638e9b5cdb1f1557139a9032e9e24fa05e864fde553ec12ef396f046488c8dd332b9c3fa61e509595bf049212f7a6644562735105b344d0d2546d46990608c346cd3f3c8c58ee5c0f45f69b170e4b0cb74ffc98d50bcaca85000bc4f3615110f7663a5369c377c05c2f81cc41e01993ce323342e245885fedbb8e574c6345e8b11a94eb2e49d15654ca763e6248bda71d61bab6fa513f6d4420aabdf486e4315c0f08eabc66a28df06e1435c7444a5527cc5b65b283b98c094aa165eeea4e053047463a14ca57996424a969e7666494dd8aa87d5585c057891ea2b736f9795d15b1dd4ac181a8045a5483e2bf760a2677e7c409451d44c94b77e8796978d312d443d62a4e4c6ef5506bdfa1ecf136e22c2f4616c81ae7f472c65b3c363842ad8d091d15476de7e7900cc45ad088e61dbcb548a2ca8f7c27cb725f4d4a6d5852502aa89016921c02496ae38e9616495fa7fbe5879f03b3a68d908b87a35b60810469825a3e60efccab072cdfc903a10912a3b2503b2381208ef53f35e81ed3354a3d2d740198b49eed48a04a194ed86385b8330779ca39eaff4eda57372c2b4c8a23ce5971a601a8885f2ba817753dd82ce88ccf40b5a7ecf76e11599f6b4f159a54d3d109eb5a0cb7cde3d859e47de34f012f3d020fdfaf76155365c55a1f6ee36d22b53c6f19fbf547938dca8730c70b5a8e2125c5c29e684cccb98dce3a3fd549e9970afbc634b27a2980294e09bed4457d7f250a0b441ba5d2d64ab58a9e2d1266eb666cf2f5baf32630312d61a2cfab0dc4f2f501a4598c694495613f408fbc9e20fe13efa3b84665ae518f0d7282a812b1a6a2a184332debe4c2f574414d3d0a37c3abfde97f9c22b2705653a5c5ddd85763c51139d9cda34a99c09b54688ee87d5f90f0ac6df02d4edc90d9a88ce65e7da4a158443b342ba4d393beda12ad7ccedcc439da9864dde9dedade4ea9d6b1c5dec74d867c666236dae125c81cf8dde627c80fda065d1e751ead78f06f6551065fd31f883debe580612cc2346db7b9253a4f394e75cbccf7e7c4f101bc4efa5dbbea9adad2334a3d76d937a16f49f26fa29e295413f2f83703c3088e60b614cd8cb01cabc7724ca80357c22485c53385bcc388257d0c6d84c902c5fbdac39206cc03cc675e8bf9d1e1cc3b7d93d4ab8813a06ff5502f802b268eff792a08d50a7c38305873b786a6e8a023cc4c63fc43a9b923328020ec34f5d13d0f403b9a614bdedbc05f911d40f68c8d94c8b3fe498a895e877dc3dbce7374bc723c3b3fba8cc9fbe011769c9390130ddda2dd231f5584f30ef4293df78e666d77d138c786da7bc54995c42c45591e2860ee60ba44fdb1c2e52d271a40133013a101902a2890dd546487b0e7a3114120223654937ad57e366e593110615e2ea33f2e7dfc62466c7125fe1b48df67f037c244f1d3b02ef58aff68a925ea64434aa0233a19315c4e252a82b018068a765c13a527ff624d67e90ddadfd7cf42fbd2af55de19eb61bac9d70fa1fb0ea2b409a9b5636122136e4f2f0a7433df386f8934ea6d03f8c0bee4a2aaaa71c8b1960edac8af28007be5ec47b3b3f10ebb2eccd0753a8cf813e1a4b639e0c0b4ffb9a7ff36b251e485c8c736b0260ce21f66e8b7d902de9f49a49c16ce752f832911fa83da83c2a3041bc2eac47ec407ee49729122932f8e9ca704c3d7c983a7bf84908ed70b3b9e79866d762922e9f480c1a158f86f5c95fd1a1af8610b7293c422236c0daec7a3c437a6bd6245c6692e42eeeb8ff9c7be9c899da903e8b3f73cbff08b489e2a9f2a4999ddda16a0b854ff9ba2c9a08febc6537897c6092aa7f7b4a3626145bb3e8f4897e8875edd623364211a69637b79f5a62377fd8de99c416a9120fed0aaf125690acbd96b456d5f180b5b58f77680b0e2b227413f638539313884c60daaeff9739beb0f33888a54f5c67ce8f1cc195e0506b0f7381862e73447c54b26ed484527fafc5a7105e78da52f2d40262e865076380600176ae8970951671069cdb1e2975c7cfabe9bb283130ad397229a69af365d918753125c29d3e5c73d104cf5f12e11d6437f88332505ba444670f1403a23025b4bd067ca110118dc5e49e7cae25ce53e3c1c2f68ce9cba8f361d1ad51c5807ec07977f40c6f313e0b656d2d0bda1d8e98ad95ce87b56c93d8e9940b99f23bc585d145663ef54d0d5b58d3eb493c874edb2f626839d76fa4f5a8503f640932f52cd4f99b859001aa68ad3f469522e425c76d1ae2cbcd6b9199755ccab802c8717c8663a0e1b3b7a5b520c6b465c49ef724dd8d0c637178083dd40f8d51a3f05770586fee47c9db1069b7dafc0f561151ef194fd80ba84225c069777188ad910f7e8abfc032069514e620efd2d07f74cc011c8596d93170e53dbac01884e9a385ce0c0156024f4e1da5d5234759f7318778fab116bc8c374d8a30254c8501eae6f76b03936b55d9255e9f805cdeb13817d37fb323c2442164b32ca17ad5fc7c56cf4d8de5a03cceeeb46d58a2d3211edc3bce5f9e77c75302a521c6968598f55c938d1b92e5e7def4fe96d06ae2f9dab4ce074dd960781f4be0349959e1450944ac8c1c59a35efbb90bb4abc26ff99cd463209e3b5b47d3a11f646b4f75d660da964fd7b6470bf0a10b208ea2b9ce6c0ebc8004fb8006ad1a7f25e513edac6a06ab3fc196ecccbffa6bc5fcc341361fb2253a5ecacb12ff02f95876412121c486188371fbc916be39c977e93cb14a9c5c1490249012deb3ba5c689ff288d62d2cf4330e7d8a7cb76b6552b748cf2841eb6a2e0047b28f1ef82aadd5b3137a384e1375c1b889485126fbf16656aded486caaa8db40e4d528eb6ee379a8c330c768c3d765815e04593889524171d9e497339c728f41a27d6ae534bf8243e1cb85c2d14cd1e77135275e05dce72807b4bb2a450394df7dfc4c5e446073c4e1cf8de0285dfb6b0c5d43c449f4780ddbfa3cb6b1261958cb5ce79111a6991eb5b5017038d88c459c5a0506fcd9623607fa4717dfa2edca82ce54ea022f182eae18e6bfb62d19bbb0ed949172a58b6961f3eaa976f81b8fc8f57649fb8c2770a215b6f0df89d66fe3329a20bf5a461e14cbdefcfb4b89dcda9cd4d6cbbca5307e0402c72a96579e642d4c0ff2d21c548d717ab21c4dfe2a74199bde9fd60382a87be6e4726aac1eb82b244ea2d8d27c5155988f38cf3387d6ccf2792cc29441c5e59f6c3f292f1c5512602c79d446a4808e48da16bb62ad9aeb87f626508db74e9fd02c5ac9bf62715cdeb3b209b975d74b4613e11ca5ea633165664d3d59443355e0a2d678e1a7c7b1a923b2e7ce4067a141f059bae52866b15a71a2c9a4dabf79931add992f90bff347eb39896ccf03ac16d30fb2d89a7ab4525390567e16ad4b5b12e5bbbac1c03b4580d9b9466ee9c784456ab9df4e6ddfb42fdf4a9d929ade43f9e99324a3e93ae35af0db9a47acf101f910243f2df836cb9a88f1322122cc62e42afc0357d45357f12e4d93f6a4456a1778fc20498f16945d8e10e5c550284d8ce1f2ba1c24720ce302c68d0dfb0b4cd6a7fcac0ad9222d25ed65d5e415e95bb03f7d2b548f470e5861d96d57c40c6eddd9883dd3ff90818669f95b790315d5ab8ca22504359dc5c345f297ba7609ae34585026564ac6051cbbbfd234b83e4f6266b98cacd680e002cc578f0df8bca38dcb008ea0184a8ecf97636aea70166d973868e56ada954fa8bfa67a6f6afe89c845c1835e68c77360d0938a70405232b1ecb961b7be8b40b458512aa483fdea87ec65f79ddcfa39f55d72c551552e670a6823f5a8022b2a393e76672b8697f23858f450929b36e3bbc9a18f84914811eec5bb682852a7e2e6368489ad83369b35353db392bce49d2683535577d333fc827b6f604d603c114bc40e939d4604e50d400a1a9c700890b4eb63f9aadf12deeac675f64c54491de0100e7b1eb415cb22899008d3996e9f9b4a820d80d8893e820bca88c8d951564b4b9e2d04f203001b234187df6eeeecdf14bf9e41053f5ceb280a60ab29235dd30cd9fa652b4cf1af07e188b764d8f8b97276a16818dc7f3cc1a2c5678ed156a29096df89dc341e4201ccaf1de6f697b9b09d52e259e7f0e14466da463f59f6bcae3ae40e5127a611f6dd84c8d9aa4e03adf7779072b0d63254aec767fedaa5b68b2456b62c4ff409768c01b0342738aa218bc3ce3f08ed59a727368c6de28240204395b4ae37ae9b02e419a1767a7a843a578d3c2d4cf566326595342831d11d754e03f19d660dc05eefd9b9ea6569a27fcb99a91e27b47263e36facf28a1176efd92f38823cb276f867748a1071598c720bf521323d0921ae212b9d39df8c6df9a69e7c85bf31f7487f18aa9210505585d2c537035a8320f237e6d72416240519a0e6ba241190ae5d64a884a2f094d1406f00f3ee77cb5dfebe2e08bbf845099b38b6979db3bf74c2c2860d111816c383fe48613ba8ce351ce42561305c7e9a46246d2adf76f1a36cb14d64d6130a601e98151a8d3edc593a20a5f171205548dee6f6df7d1ae7d355c55a2be154c835b84443e6c01e7e436b125913e6672a2ffce44f06aadc69acdcf8f8479043e7dbcedd9bf6378401c4740344ebff37dceaaf306a6a9d075b311b5a01441b057a9e50becdc507b4905f554512a124d3733b998c37e26876a1dc1e2ab0657d0f7d2e76b7dcbe1f4d732982ea140cebc6c2fab76029ae5b2d4ed9aa59e13b09acac711309c4055ff703f5e74fc08d22f768bb447bf61b0eff58c6cc8c6add3849f7de8d985d8c2df891c5b135d3c49c0b5d57328c11e96aa7acb24ec4537ebc9eacb1e0ff94d2177ade23acd21a983cd784dc8e8bf0730b920bf2161d34cb525a91e0538f0d4872f92717fb2f857ea899d33ea33138915a37377a79ad55d0785c24e7b19f7ee921cbee1d9ecf970adaeec3642a19787a0fe5b21a5846282ef4d1cf2c84a88787d753ed75279a3ebe570a4a3b6fee33846a6b2dfb049c72ec68ab990c49acd8207d994a8ccf6cea4dedc13f847c7dfe2ad2568543bec596a9b464dc1320b53f89046daf0e40c3378a9f1422895f74612c1808a20140030adb2953c153a949a75c14ba072815b86bca5557c7a711893e39bfcaae6160d27198cdac5b783ff4f743cf59a35f15ea58021d229b7e54480c4e2b2de8141cac1514c592edd5f8b5d10a3a80b2db615fb72e327f19beb0ed6039363782034afa69947bef82aa64556cdb43b8e85737f857f884a3af22b517a9c6eaafe7293ab77a1ed36b533d79655d0a9e366399708ce57fcbca0969272ef256747e2ac169e832a8d6770f4364dbc1f67bbe4f7fab2ab307d8cbf9675bad3a77046ca1f043d929e54dac9340a1ba15307747f3ac3759d78c81067360585fc7bdffe1e457cbde2b56523ff712b065b371b9029842d8adf6ce2ae845e6e4817c4c01c117e7149202fcd5440bea0d82d167791fd578e1a278ba1da4504878c67fd307e2ddea8235a3bf39d20eb7bb33bad6873c06a8a9c0c2e4a4df69426836274336ba3ee2bd8fe540ac65d8c25b84f9aca9374da370eaa7438a9c5283cc5a615a81f4177da0a9267b2e904a13c71cce1c56ea219a2b941cb2ffcd379830f9794c848edb1680f416ccf2972092ada876bf9cd766c352c0f9d627980e24beea1f64632d8bbcd9d6084334605742415e2263cce6004769101f6a8d7abf7eb9ea7e7b14609a5c1592aa4c4f3ac7a9f89d2f7603de5c74eb0c83173f07a00b9f53026f31c0464de45316aacd337ef9755a89fbd954a6154ce9d9933b56580195947213150a7e7f5102c8c134b3dc5cf87db5829dd8f9e286d7a8d48cc0ab9bc378d9159542061ba6da84627bceca99ec2a87e2e8bdacb9d42f3110f628f3885116a120392214b28c137dba9a3d03aaa871386adfd93de6d791b706cd3981aa1590f978760e03ca5050c83c71a04f7a244392b7337d555fbbb78bce34ed51b8970991b479da9ad253d7a613ea1947ce8a99980c8a24c6c1563850076663c2c3a0268b09d61607a7e8e0146f1e0da0dfd91fa97ed6fdccd70c6dab016ef82324a92e9af20f34792d863a0b88f9476f848876ca86bc4a40367d67c71a86f39194faafafb158af8ea4173e5c8c9323ffd5c0a91e99f0519d157ce19d71b25189c5b2cb2929664b2f8ea76f553eb4b0ee29556de4ba862cdbc0c3518d941104c309a8112acb90ad98313a2e1a64b6658fedbfe4d4edeb1ee2e36f16a3147494f7af2ae548350d9537679122e49823cb15e2d620fab36e12020fef2f8ef36a3e748a26d3adaac519846eaa339fa5aea2f85699412c896397384f0dcc25dbc951cf82016079aa78e7c3d7155a4e493e705bed8605fdd3dd8fd1acb21e82d3ac0cb74a4dc9a3142446f97576c1f4a32f02c366ad23dc2e10fdb5da90b21e2df8bd095aeee7726a2427297057202ab474a3569b71b93af5c0f715a394a80e4c4dca83fff628debe1c907cdc3e1f653b429a6ecb47d6e9f08ecd3393e016754cb3484ccccb4f38addc8362e87400176cf16c40894f32e95781bce20806b7c9c7294a0acc052f1293f4917ba81d382bc7f608019a6a6d6c40738605df7dc8cb571e3a6778c0399086188d0a008ac7f3ca1120c67f77cdce789be82ea1459c6b359970a6a5df0cc1223c918baf7919ed3ebafc71760937709064aca41baf593bd710f8a9d24d2062c5f879b1c01e8103e409e687ded51e0783653ace49e28ee00c2658b72552fac4225647086482e6deaf74e495adbf6c6f0e276b5bfa92b0ccc2706006d1cd084d07456542aa704074b134b5f0c88033e32afcb50c18bdc8c0b7447d5ceff48d9808ecfef940572d5e659c3f57b1aad1dad0800439f9a9fe71e0eaea97d7426b0942e3e9a5dce938b3ffbf6039c2405b52c5d4ec00540a23867e666ca53afd247b96ba01cf1ce2adab06f0addb30a4177fc3a0557df9d24e1f048fccae388efbfd6934a5e832a62b8ae6668ffa7d3889510cae04b4ebbdce45b70c4ced79651292f280fb3496f06e8f911531317304e597abc606ab6898c2b9043f1588822e447a996c17c6d81c00867785c3f2b0683fb5a4d57b08aca5e477ed2526a6074b7ae52bad68472b943053c5667d796810e169e00bd224d40637683e8db203a740d07fca767ce7b22c6455c2f7c00b30b91cd33dc19bbde3997b4c94558a2483e8bfbd46c88dd20b34546c82faefb345a1d45ed491162ecbab73240ee68a69b9851c8fa71e4c8cb20ae6f6563ed980c3a6037b0bd771720c2297253b9f5cbd496a3070228448038b8a603e057482b9591cbd3351d106fca218e7cfb40a5aa2e9d9983c3850cd26f21d92840a58a34f6435831f7e1e97f1fbe4e949d30fcaaf3498c712d001317cc083da8f8edcdb2134cd89d78d2629a4052256148ad577498497f283a8f1342e159b348ec23f672d9ad7f764a164c5381a75bf5060e887a73c8054934ec50427c6c491c7b40ece239f2cccfb64162a79e20f94a6373fb3bf2d231b21ce838bf8b221e7e9b82fbdc70bc680e782d0b06a66915003daaa9da43f4d05950b73758d7d6b37ab1d55bb37c0ab56046056ecd5c4239a65b2b07353575d1b9d2fbb57d8c28f63fa999dfbab0ad091147016a493eb79dce2b4e9f859632623b967293bf2871a36cfba80989906643de3ba9066b622adc402cb04967f7c6000a785bfd226eb59202bdc890c85c658d47f21934caa680b4499450ea224f8d905835cdc84074532645424f08c361419426354bdc49880aa6330b0c22643babfe29f04cbe43a8dd7ac06542155096588c0f957a1e7367c4aa8b43e76f87b3c2975dbeeeb3f324a16317531e93d3899e8d33d40894376fb519d1fc615544f5002bf5f1ea3c7dcd93bd36c3cf859f820ce83ea328b199bda15f62caa3bf575e417c0310ecffd79e66bd255378fc3f47d0c879474b6a8a037f3905fa42c775bd43ec13138a2c1ca9e72be5897855fc39cc4479c86ff204a66c4b4a817006cb950b9b68bd3b3294ca0dd6df0416a2b21ab416126ab2496790dc0a2f541a47e002d6357727fc01d1d1436c28ed5cf3443d487931aae512e8d07daed44ccea3602a17970d975ddd2953f45ff567f63eedf2d3c56b3b9893a0c49b91ec0497992da29e9a1a8580a1b842b47b3f16944717b8d9ab006e237c1150b410018ea2f96c507e01a41aef52820b16b88fda5267ddf37fa40dc0b9302240d4413c00409529e9b06c4011271afdf3a6012919ef5493c563523749952dd78d332753964b5a6638619e82512ecd29193f2d8c32f393b94a40b2300eef84182b1e27ad44c39b64e22a08e73dad73e63e8a8a14563db9ebafcc4b3cba0351e197f4db5b35c30221ca268cf09107581ef3a44e7b9ae239f175a08521c002dce6e2ef47cba53ee0ffc1571542be12f60b4f63c1d6cebe839941aabdfcdc22f76331d1836c9b9a19ee34cc58dd6df56d68ba4a7a6ab400a26f386d9a89ad8462b6cb4ddb68b2566611ef7a6fae91c3ad8469b1bfc99ebd0a5c03c7e98c378389150891253c9c184e5d3fd5f0b5f02a33012df83c46c5bdf196fa516cbf88040191257b465926fd63e7772d50a12d44d99daef070977633ce08b57bd505abde607f8ad2c0ce183ce140a8269dd50d7b6e5e96cd0a848e87c89c20ef2baa6909251efa2bef9c71000972902fb13f5ba706efecade32c6f30b594747badabe057c74775b9ea3dcd6f9a63eb64706ebcd84cd2a2420bc6cd8aa91c98098ab6041b7815a5ffe1b4da1bb0e0cb0fea47b15378f40c84b29d67e535d65e7f7b1640e7eff30a586d4f68f98875ee2f2bcb425b31fbd452462a8b76ed2facaf5eb60c44cb45a02b0db041723cd8069d5d8f744bfce3a5ef1fbcadb01916610663500339465b4d17075fa2578e419a19409410dd1a99a3acd97b9b726183dedf8c6c445bfa31864c086e461064cd8b20371f3ec00d4e098aed8ae14fd53b59404bbfee289055d3d6992d4a785caa25a2aaa95479b61258fdb66ccbab6785335f9608e1f9650195b503e52f5b042a351288db2107ddaa18adee6b12ad56b446aba4b47568a064eece89c711b0ce12224382a0d5e702a7863917310f1d557ba70df6ce787a90a81bf6bdaf03d0348350071e750270b973f823a1eacc90a3c8cfc3a84d7ca6187c559f667cdbe2bba9b75fca70ee7eec1881208efd437685e470ff5dd7c02e917b0f8f981eecc2231669d6d63249f846f735c6f0ab68116cab73ee8fa94159c0277f4f4b5a4797d24fdb0722ec57fa7aa6fc955064c4b5b263bac1de9305d8958e0181dd61b2eb417506babf8347c91f05fa2df702280d1e39282a67c6b97155e9fe621debb2746757c0b9660b5a76a020f49838137a9d1688eba21ff287060d72a06b32dd253b136cc87672a9d1792b08192d7490795b226dc1cd9a83b5a31b318b3ffc1bb41d2f732e96c0bef74d0abfeedadabf315f297492d16acf3940efa810c3f79ea1aa9ff0f795ee2e1ee8beb5d40d27f644b0308f707890ef50eda093d09fc99d4614f2c09ab73381aa490a8a3ef31d1b4f1c2b5551f42333f051591aa365081fdfcfc3ecab4a4c91090188af0bdbb63191bea141de551ac29732f3dd659d48523486d2b2b730175ddc412e7ad038a294607bb3037ad9171bfe8a9b11eb539cfa9b102b64630b9828e37998a29e68a5907e1ec5795d205e167f9e4431897ea20488200753aec5067224a38d6b78d3d63376596c37a388eedec96e1b0095d6d64fc39bc23e1bb63524f1f1df0b3eea19fada76b63176c9d6787fd4693b03ae822411726d773f4c26df486bc6db45db0d36ade8ec9c2d56b185aab75877fef78a4a2d961a2cdcadfaa858bea498c162ddea1cbeef49fa5aae77f606e912da53174e67a1c31ee9c0a61e9a9678f65c78636bd255367a1fd9d1ab5e440e8a23c60f5fa389e781d4b3c447a82da9def713385defc974a7e1e9dff89d768f4b1972635bbe96ad2824cb0fa3cf698cfb2d665e824084bcc696ac729b589500307a0d97c8b75252147874f330189d76bb156e74b76bc2d503461ac7af9432473e1ea86f08b86cc30f6c0b9b907efb16017d6f05f684b46d10b0aae1fb2f4770b4a7aceb48085bf4575883bb7ec6ece157bf93b426c3d890c1d2fdf342eaab1867a793fc47a64f8688e359d955477baf46a206d0283242ab118aaaa46e8df318b36fb4c693f096016ee430ff6a58d49c4ba9f699db527dd40d6a467886e0bb2bd626939dea708b789391f26d055bd2d0f9c4d40b71d01816a42020f98a295fc7c7cec4e2840025c65040fddbeaf19228f1fcba3cee4ca50ad704ab9da4e3dbaadcdbf5f31cbca31d461e5c339000139cb406fbdcfc86d791c40faeea4cf3f1d68534cee2c801ae220afcee12c4557067dfa565136e414cd5b2dbff1c46829661b7506ea2d87b7111fb6d3992a4eb13018857b8d2d87359762218c67821988f4e42123b06f6faff1066af100eb6f88bd9df6b121747168b9756243eb2b58246746ac2a6a5dc99744938cafef0363e4fcb2c02417da7d105632c7c0460f8cb157790e4a1cf003894b52dada9eecb99d53a902f899f485376d986c95b264734147d5270b8d1a0ba189baf06364caccf1b521b867d26494e94ca703117149abedde0c439ec1b75f7086934d20ec2f46a89c49f00f31150c24a4eb51b1e44a5f96dc0425da2c5df16ccb15194cdb98bc47f565c481b435ee58ed1a5929a4181861d69fbb2d4ff51961b56f4404f9bb93ddfc08c647859fa885bdc6357268af0a3fa1d6c1db11cf88763b26d6c3cf98a133ac830f38c01b312c08d4557b55f4425d25e4dd332ad57f63465fa596a28cf66f135c2702a8d9edbed5b7b74055f0fff733c093c8e604d5ed2d2558effc5b307bea874fe6afb40795b598d6372a313cbb3654011dd24bb3d01db7ed4780ecf9bd3e34acb390df143f42c22b4149a9f87203fc025369823c346f321373de90f0b2f5f3704320f6164878f3d3a9f0a79f18f33dd8579047489d7448ade32bbb86dd40461d737c24d73c2d64e944707c7ef212007b6ab70ed3b0b6d10d574693a7f5b172fb85f9204841674cdee38710850daabcd94297cfc255829576632db2b90871a6ae80ea896a99fec2a2ddb8d77abbe4abd264199696b3ec638afef920120ab7803286fb03bc56efbe633695922e48c940fa0e7e931f36005d2f2f0e1dd0e411dc1a6d80126b81835b940bdd417d0a7cb1f8c2d64a2f14e3ae0fb427eff05b2a4c691791134374b8b38cf854770464f05756e629be81ae259c0eb17a162f63942ff3d83aaa8c813518a71bd1f6f8fa351001ca780fcfc382762b20da6ce088370943ba1f2c1f462c5ad3881adb7eac50cfb49b7726a59681e168e6362fdc8666f0b19d45753f698eaa806138476c0392c1271657610c9750e33a700def66b79445614de563c361972d377f35b87de12ba629494009f5a0b67a087adaef73ecfe6d42435201586260d22aec874b1885420765f3fc6a0b562491835d722e81b4d022163ecc68be1b415917fc85494cdd43cd4db0fd1435b12741d5be7a07fd8cd04372422482150ee969fd3b06567189ab3ddb1dcb70a8e3c8965fa6b5bcdb5fe2842b4d28637e4675cefd6e161b10925d6bb971470054645bb361bc8b50973a9224c6531d79fa56de1ce5a9b322df306599a39bd919ddcc0eead12d44f7cd62b8983c2a16fc234bf8be08cc605b6318dc56a65234acad56e59b2483112d03d420b1ed4c3339ea91ab19004a366f1f99d769e04048bc005b5f0300232c2d8cb2a90ded7f8f1438ebcf52923faf358646c930f9bb4276366703198b67c87dcffd2c61313d4c44c47435bca4af5b5e7b29c94c17eed38c5d4244ad80c0dca60955a1a3d9fb12b3e06703d277e2b712a9a495a78ad4bed24034cff4e44e7b4e83f15b09d8c8944627793917cd322f66b7e3e615a5bab27594b80f2d7af3f836150fc5eaaf3e2f257d9cacca5bc4617c44c07aee2ba86370e23d9176e714119e0511566828723bf81fac87b12fef9518d6ce292c108ad95a933979091cdd5be2f0ce683ccae7be0a1679e959e8083a4f4525e45acd79c5f1f2543459dcaa77642095427da785995a6bcffb5a0754c5e47dbeafb4e19a02150ea196839ed41c1c24a4c484d9f12d73bbd1a727adca4acc244d78a54c968ab2a7be93a22a095a9735c6376c2b65e0c3356df314d718071fb9864d21ef612a560a67e8bfcfd704e21b1cb47d897ee96ee48078346f25f6f2c8af22dd143c7c635f75941cd7281d7c6d86f9776480e3b14a07e2bfc00aba897d652fdf6c48e02e928a90e74702b81af7119975516b96ad47bc2d50dae954e9a8fecccc39f585862031e218a392bb6cd5dc51b10a6e98ac5451709627a2be03a998fe2b2fe578949e46009ddbeef033c280e83634198c15e03cfc7c03aab79c35e4f31a53ccf3af1a46f740638db01ede4b374d36f3c3a48f2a86172324d97acad8b5739af7901875c65e64daaa1a16eba40f3f8871fe0f598fbf58d090070961f384f1311447a9c5dac6c8cad24a2cfa1b429f7ecab866fe74ccd45f9bda165366beffefe56f6b482171f2f610f19d57b379d8e9c2945006c2d40bbca3d9dc7699a1154eb10c66eb8eadf46b268429b4ea8c7f706a39e72b4a1f9e381734183321765644980614e333a843ff672e74efc943b7795e01fb02081edcdd20aa23e1c77e576e39ec4afc55805917edf5c6ff2d657ac2934a28a06d984903def25d7fc16b674381d990664aaba706199ebb09f3a9929339705a1339c8a094633a02a414586e9ec272d5679e578767265d4cad2ca84508e05a587f7af9ed4b6fc59eef51c7b3468c35592cbb88041b587d59147b9f67ef7e192dbd2afe02d39fbbd916a18168bbb997820b199f3e80d2f4235466bfd3bc7acee2ef42c046a0d11d77367e030c6644ca4953e7b794f6165521d8aee3d295e08e55aece3120d072711cfa5f2bdda09b1eabfb1351836b514e403118142dd03eaa71b58d74f1cd438973fddb18da6f93c5eeeb5d586ff8c50acba1804af0be600f1937beaf2ffb9c04d7c68ee29c2dbe7c4d9b54c5cfb21fa0ae518effa9d1f8e52bd0d2e43b9334aae5b77553ede02c1f6afeadc9fe2e27cfb99071844c36652cc4c8d585824d43e76acfbad9552cb19d2cd2b3df20453c7e8a83c95270840adc405186cec6a609aef675cda8729d582b99a4e5096dda4b44bc1f7297bad46d6b256b874a9fdd9ba7e94657047d86059b21f7a9d25c69696588d5a761f50e0fb38960f2e213b685a97d486c749a65ef8b0c305d7cda79b3f1babf1bddddc78935339187a22057be880c30a5f802d10440f663531649cc677452247e17d795a4b410aabeb26d197c903968f2f16805afa6d470c9d819fe9f60b312adc85c8e8b36ba5b9b7742c4efd45cd38738a14c1767532ea355c99dade49b0e35ef8137c5be7066d7143d8ec161519ac6f2bcc9e71e4558f9615f073e7b2f4d2846f66d3e8fb1af96685225ea001fb8f1652770848cdf90e0c3adef8c156d4d4ae21a7ea044dc4313cd932d19841895ee6adc7d36c0d2dc3cd7e2b55851442ce143e3a0f0dd8a35d41178d2eca478b9b64455fee70358e9674eeb219183257fefc7d87de209e1de45a1ed432ce4458a6fbedc99531560f4b0265dc7191cb58ee299a4cc02602478c2048a664ae3a51b69d4a4ca490e48ea446ce003c64ca254ce8eff2750a7d1d176788c49cfc0e412cab5630115bd5b4507855a40549278a47b77f543088195c973fc281d533af6ba39a0a9f118e4b6e9f67617588cb241a49583b4a49a4fac0dc7c970d32a91652ac55902f0c7ab7f802812e0305cbeebcfee214a7b126ce04c808d7b79ab833cc1819c735ba820a4d977200a513191c88b654270a7dea4f6c513707c1fe95a0f6f2edd6e544b56ea211854c76d8871e920f6b992c9d2c8a1efbd6bd81c570abad9669e427ab25a98327d8d973e40a63fd31e2a6883dba4fe2a7875fbacc0e1640757ce5b5f7ae12ab99ef8ddf0ad314b400bfe4c08e8b052a72338a99c84aeba48767ccd670c6b28ae83fbf5a8a5197e64afd36cf0b57fe54f0468d7fdcd3a39f6f1924ec310ec95ae45abcb826187c2f9fe18f3e886005184a840a7ac0857963cb9b365abe830213371c558ab05812122ba03cfa2b4151aa6cb5488ee96e80ba0e243aa3b5f3f9c6c20fa4c279f1e189cd41c7bd7dd1d883857a19c17474682a539a57a27dbaa962a194b481ab9a7f6bde3ddfcdfb4724c15356d1060fb1193ab7e0d398a43af4ae1122067ecf2e5079fc4d3ab39548055cda48f4487f164d74af788f6d5cdb7624a1cd8b05d1e55381aaf77f5f2e8f6794847b31f189d756158aaa70b3f3eb706ed56475daf9a9ea6ea8870342049cce9dadb19dc9d1278786bb1a7a1ec55d72c6137171ae653021cef9d05841ed8a0f9d7f7a94f0ca87145ebaf155731e575837c55b3e310fd2d716727d8babeed98e19f29e8c5c0fc8e76f2344794eb51b95c9a9b9a6bc1b8f3593acfbb8aca515ed1c774f7b5415101199ff9b07b4a8d66acdec80242c66a527816b4405b648d494e84d0447ee287223a638da88326047fb3f9caaab1b073075d92621728f8cd92d01235c9b62ab4f0fa4eec0317b0cb6a102f684237860bf249b2986b701ffaadd4a5d1b5753e3ec8e7f5e0c4259b634dab821e44df102121e4cf2106d7d2d3788fc145b49e96e805eb065ef32651db2d3d5446dab196aa6d8212dc9badbf642b2fd149075e2c42602f7981524f06bee030094420283fcac5fc0744847d4f044868c83e82f42ee66e1d243611fe56070b0a6754f46b544acd62ba554b53d850cb002c8d49f044dbbde9ed5c12d8b094e75c3d79e72d257059a8f84f2c27f5d05eed7d569fe25acc1ece068cc7350dad99642869265f904ecdd72820ef410aa2321e93be56142f34b352c87b9751032ae62483a32b9991e3a0713350fde47304b28adddf3cb1128ed8570cd33e95dda8c595c6c1c00cb581ff515ca9ceb8a38c68dbef12df596eb718100dec231ce339d8817d33986faf5c5ae261cdae81db071731ab646ec4d609a6ee71e2f37553a663a7d3ac026278aef71f0e9c756e65df5fad88b2df94d402b15dcc36ca37cb33af32515643c881e90803f45f68e4f1ad4b7614c7226de3838eb125db5d29336f13c0e5b1048ef029abb16684eb56cc77f15a9177c2f16af9904844bf98eba478bc96286c7076826857074dca82ae94a25b30d418026e2ef45b599435be7e1e1037ab4a6f751e9affc4a82f4446f27b1cb5c89635501c60d4eb704d2d60a0cec3c4a376784a04eaf2b3e7e875894eff03cad5d43bc7e6c4b594be96c68056cd5dfd4a8c836377e2537e21f94886e085caa628b34479d2f587110f5e500c11b198e2d2c21194251d3f40e02d1e29a40e1b5d917a18d3569b6da131c7c1040ae7dbdff3e337ee11ecb4e694d8a502332331bd87b4679cee79bdc842c08e6d2254a019367e3ee864f6ee89c5be0dc74de7a12f44345d036b266c4c149da80e9cde17670d168ab510b62f0676b688f65b2d07de1965154c69548412e88595cbe727b155b6e8145518c1b37781eddb4346cf7144b9b155e0b0aaa2fac5d044d974f1d2f00b930790bc051449156d93194740bcb6f6f8e17021559c8d73f8ef977f1f617d1f22a072f20f80ec600aa14cb634e8228266201cefa9f0ebfb0b3204f91e7848617b52ec2a16ef7c2d6e80b54676fabaa7699acb215cd62d75084935436672ab94595d4f36a749043ed8e45071ea69eb21a85b4dde8dc9eb447f2ebf227cee6a8791d969d81988acec36a544fa1749aea8a6faced5e6d7ae0e6cd924258b2d3f1d9d0b7c406578e788e994ea316ce13fd091e516303365e02af861da283851717f0534786e08c08307dba462301e0af611142af1ce92e803bb9fc897b4943c53d352987b79c5acca1302ce850176f2c520b517b4b64c935dff2472fe1c8824c7c9ff2c3b8d2d3ae1973f4ecf2c9e8e25bb6a024654a473714703e1feeeeac29c09f4d887cd656dac2ce97eb06a65a80529b307939767d472710b42395d75c6c5bdaadb84ea1a1712fb5c182fdc94710c4ee03cefc623e55aa779328ae7c53cc0d1473d546115c532a434fba4ff6c5d2be2dbc6c446a2548e25b136ac735e56eb3ac48861baeff4602a736c89b2e55f824c4652ba16fbe0a524e25dec6bff1422c50c9547bc719d4ccd059ade95a2ef3f9862fc5d5b6449666064ec87719cc1cb9c2d38408fac282c074165686984f807d28685468b423a1c768f141edc050e222dc81131f8f2555fb3afad1a0878c3fcd697e56abb75a3d777400fec902a3f3c56dfb3e104c65283f6bb18e1b7586b4e9c8086656d4a9abc69138ff751dd91ab8ec9f9773ecd58d8e920784e7fee4a54856dc0a70d6cf90f39619f637deda6396cfc13b43b3ea7a5dd017a0e21a1a792e7755ebb8d5c892ed153896b6659d0c168ececf63fc230712b6f16e9dc2ecd9a4f5e50a033b951c178d4d4f1666b7ccefa701f68c17b78cc41a561dea9490b39b315f97c7aed42306335bc45e1227e4eee600ee135ee6ab61b2d86da61c284684dceb197438b871c639dfeae3a7a2914a4d702b10d64f939385523337375aedd3fd3c602d656a73b4130aab678b3b62538135203d95df9afb6e3e6b95e16b6f0b5a1d25d3f6d56ed90fe5feec3d6f1c4700894d5b3e6da466097cc846ea543544460f03e10b644743074e5d321c71d9a840097d6ff13256b0188b61ad7748a2a7b8c0f09f2d35a2c61bbc41014c4fea50e2e90a7aa2600d1c732ff2e9061d7a56c940d1918049e49e9f625c404290135068e93503cfdd5df1c0b6f4db543d302817c554836cff7b1f5238ff50b4b28307bcaa9fca52cc229f55af160e1e8bb9901eb22e77d16339e08476121b64df0533239b5cb0c9bdf256a62141a6811092c02f0c1de5ca60678954bd81c9551981a26a6295fea4c75cd0c8ca8683b76a2c69206de74df2d90465cefcdcfc00891355d9a23af610db3fb61bb3d349ba27ed4f798dda780edd5f25131ec307091b8f61c2874f6900e66594689c5f3417958e2f8f94b621b6e5a70c07120835e317398096177ca77845ef65a3268f8bdecd0a87c076f2c0b4157eb036e01056f2bdf83d27ffc42ade3e7bf1bfce07f152a0be5fae32dd1b38a2d37e8fd396ef03066b28322412a74cac4eb4e9f1a6487300b445cfb87937d0b4254b0f40518c34879eae2271d636925c23e3a8e3be682da80089fafb5a884b13ca710ad28e23880e4d46116d5aef2fd5ec5b47cfc05baff0de2e9ee7f5b8b4ceab83495c492dfc7755002838d66bbe6308a16604c9b3ac00247adf5bf115488678e520d85118b9ce1f9753294988b5be344ff43d160ba5666683e4bbec7158d8eb8254d299fa9702a407e0a3dbb2254d9477dd738522a15d59f0cc65571e6aabc7fc6294275994a6c8da8a83e7327040b7fe83248b78f185d60944ea767075d27247c3162b3bc../../../share/libreoffice/sdk/classes../../../share/idl/libreoffice../../../include/libreoffice../../program/libuno_cppu.so.3../../program/libuno_cppuhelpergcc3.so.3../../program/libuno_purpenvhelpergcc3.so.3../../program/libuno_sal.so.3../../program/libuno_salhelpergcc3.so.3rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibreoffice-6.1.5.2-30.3.src.rpmlibreoffice-sdklibreoffice-sdk(x86-64)libreoffice-ure-devel@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  @ /bin/shgcc-c++libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2.5)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libm.so.6()(64bit)libreglo.so()(64bit)libreofficelibstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.15)(64bit)libstdc++.so.6(GLIBCXX_3.4.18)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)libuno_sal.so.3()(64bit)libuno_sal.so.3(LIBO_UDK_3.6)(64bit)libuno_sal.so.3(LIBO_UDK_4.0)(64bit)libuno_sal.so.3(LIBO_UDK_4.1)(64bit)libuno_sal.so.3(PRIVATE_1.1)(64bit)libuno_sal.so.3(UDK_3.1)(64bit)libuno_sal.so.3(UDK_3.3)(64bit)libuno_sal.so.3(UDK_3_0_0)(64bit)libuno_salhelpergcc3.so.3()(64bit)libuno_salhelpergcc3.so.3(UDK_3_0_0)(64bit)libunoidllo.so()(64bit)makerpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)ucppziprpmlib(PayloadIsLzma)6.1.5.23.0.4-14.0-14.4.6-14.11.2\ac\T4\HW@\G\A\\I\[[[@[@[k@[0[ٙ@[G[G[Ѱ@[[#@[[@[[@[qr[i[f[b@[a[[ @[Y[U@[Q[GB[CN@[:[3|@[,[+@[+@[+@[&M@[$[$[#@[[o[@[ZnZ@ZZZmZmZZ@Z@ZZZЛZJ@ZZZ̧@Z̧@ZUZa@ZlZlZlZlZlZZZZZ%Z@Z1@Z1@ZZZ_@Z Z@ZZ}@Z}@ZtRZtRZo Zhu@Zhu@Z_:Z]@Z\Z\ZN@ZKt@Z:PZ1@Z/Z.s@Z.s@Z.s@Z*~Z)-@Z'ZZ@Z@Z Z }YZ@YYYY@YYܶ@YdYdY*@Y@YYY@YaYu@YdY[@YNT@YJ_YGY?Y9<@Y7Y0Y0Y0Y)j@Y@YR@YtXXX-X@X!@XƉX•@XX@X@X@XXXXXXXX~@Xx@Xs{@Xn5@XlXY@XWXOXBXBX2X@XX2@WW@W֘WW#W@W@W9W W~Ws@Wm Wc@WZWPWPW0{W,@W)@WX@WX@WcWW@VbVbV?@V@V@V޾Vm@V'@VVVɦVV@V@VT@V@V@V<@V<@V @V$@Vy;@VwVwVrVpVn@VjV]V@V4@V(V'~@V'~@V'~@V V Vf@U@U@U@U@U@U@U@UM@Uݪ@UU@U@UUUUy@U@UJ@UU@U@Ua@U|@Un@U]U\w@USR@RRJ@RJ@RRRRRR@R@R߲R߲R@R@R@R@RRΏ@R=R=R=R@R@R@RʚRʚRʚRI@RRRƦ@RƦ@RƦ@RTRTRTRTRTRTRTRTRTRTRTRTR{RSRR R@QMQQdQ5Q@QQ@QQQ'@Q@QQq1Qo@QnQ\Q\Q\QIQHS@Q/FQ& @Q$Q@QsPPe@P@PM@PP@PaP@P OOG@ORO@O"O@O@OOO@O~O|7Or@O`@O]@OU@OLOF*@O>A@O5O yO?@OON>@Nܲ@N`NwN@N^NNNNN{#@N{#@Nm@Nm@Nh@NdN`@N\NTN:N7N6@N2N/MAMd@MMI@M@MwkMdMdMc@MbSM[@MQ0@MF@M6@M,F@ML8LfL L,@LL@LLs@LLK@KKKыKP@K@KKK}+KjKjK`*KMK.K@K JJ@JJݦ@J1@J@J^@J#JJx"JhPJHJ67J|JJJB@J@J Y@J@IIIo@IܑI̿IÅ@IV@Tomáš Chvátal Tomáš Chvátal Tomáš Chvátal Andras Timar bjorn.lie@gmail.comAndras Timar Tomáš Chvátal bjorn.lie@gmail.comjdelvare@suse.comadam.majer@suse.deTomáš Chvátal andras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comTomáš Chvátal Tomáš Chvátal Tomáš Chvátal Tomáš Chvátal Tomáš Chvátal Tomáš Chvátal Tomáš Chvátal Tomáš Chvátal tchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comfstrba@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comadam.majer@suse.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.combosim@opensuse.orgbjorn.lie@gmail.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comguillaume.gardet@opensuse.orgtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comalarrosa@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comtchvatal@suse.comadam.majer@suse.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comdimstar@opensuse.orgtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comfstrba@suse.comfstrba@suse.comtchvatal@suse.comcarmen@carmenbianca.eufstrba@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commgorse@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commgorse@suse.commgorse@suse.comtchvatal@suse.comnormand@linux.vnet.ibm.comtchvatal@suse.comzaitor@opensuse.orgadam.majer@suse.detchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commgorse@suse.comzaitor@opensuse.orgwbauer@tmo.attchvatal@suse.comwbauer@tmo.atdimstar@opensuse.orgtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commkubecek@suse.cztchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comandras.timar@collabora.comdmueller@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.commeissner@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comdmueller@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comdimstar@opensuse.orgtchvatal@suse.comandras.timar@collabora.comandras.timar@collabora.comdimstar@opensuse.orgtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comarnaud@versini.eutchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comvcizek@suse.comtchvatal@suse.comfstrba@suse.comtchvatal@suse.comdmitry_r@opensuse.orgtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comolaf@aepfle.deolaf@aepfle.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comfcrozat@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comarnaud.versini@gmail.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comandras.timar@collabora.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtbehrens@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comfcrozat@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comfcrozat@suse.comtchvatal@suse.comfcrozat@suse.comfcrozat@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commvyskocil@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.compmladek@suse.compmladek@suse.comdvaleev@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.comfridrich.strba@suse.compmladek@suse.comtchvatal@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.comtchvatal@suse.comtchvatal@suse.compmladek@suse.compmladek@suse.compmladek@suse.comtchvatal@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.comidonmez@suse.comdmueller@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.combwiedemann@suse.dellunak@suse.comjdmulloy@gmail.compmladek@suse.czpmladek@suse.czpmladek@suse.compmladek@suse.compmladek@suse.comanixx@opensuse.orgpmladek@suse.comfstrba@suse.comidonmez@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@suse.compmladek@novell.compmladek@novell.compmladek@novell.compmladek@novell.compmladek@novell.compmladek@novell.compmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czneptunia@mail.rupmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.czpmladek@suse.cz- Add patch to fix bsc#1124658: * bsc1124658.patch- Update to 6.1.5.2: * 6.1.5 bugfix release- Version update to 6.1.5.1: * 6.1.5 bugfix release rc1 - Drop merged patch: * bsc1112113.patch- [Bug 1112114] LO-L3: [PPTX] SmartArt: Basic rendering of the Organizational Chart * bsc1112114.patch- Replace libreoffice-poppler-0.71.patch with libreoffice-poppler-0.72.patch and apply it conditionally. Fix build with poppler 0.72.- [Bug 1112113] LO-L3: [PPTX] SmartArt: Basic rendering of Accent Process and Continuous Block Process * bsc1112113.patch- Version update to 6.1.4.2 release: * many various fixes and compatibility tweaks - Remove merged patches: * bsc1110348.patch * bsc1112112.patch * bsc1117300.patch * bsc882383.patch- Add libreoffice-poppler-0.71.patch: Fix build with poppler 0.71- bsc#1117300 - [DATA LOSS] Saving a new document can silently overwrite an existing document * bsc1117300.patch- boost_1_69.patch: Fix compilation with Boost 1.69- Install also C++ libreofficekit headers bsc#1117195- bsc#882383 - LO-L3: Chart in PPTX lacks color and is too large * bsc882383.patch- bsc#1112112 - LO-L3: [PPTX] SmartArt: Basic rendering of several list types * bsc1112112.patch- bsc#1110348 LO-L3: [PPTX] Charts having weird/darker/ugly background versus Office 365 and strange artefacts where overlapping * bsc1110348.patch- Honorably mention all the now dropped patches from 6.0 series that are merged by the 6.1 already and as such never entered TW: * bnc1088262.patch * bsc1088263.patch * bsc1095601.patch * bsc1095639.patch * bsc1098891.patch- Remove libreofficekit files that are not supposed to be installed when the feature is disabled- Update to 6.1.3.2: * 6.1.3 Final * In this release we have fixes for bsc#1079744 bsc#1088266 bsc#1095755 bsc#1110345 bsc#1107012- Use turkish spellcheck that is now provided by myspell-dictionaries- Update to 6.1.3.1 fate#326624: * 6.1.3 RC1- Version update to 6.1.2.1: * 6.1.2 RC1- Switch to serf from neon package that is quite dead - Remove sysstray configure option as the code was removed- Update to 6.1.1.2: * 6.1.1 RC2- Version update to 6.1.1.1: * RC1 of the 6.1.1 release- Fix the bundled assuan version to be 2.5.1- No longer run chrpath on bundled gnupg as it is not needed- Rewrite description to reflect we ship also offline help- Version update to 6.1.0.3: * RC3 of 6.1.0 release- bsc#1095639 LO-L3: Exporting to PPTX results in vertical labels being shown horizontally * bsc1095639.patch- bsc#1098891 LO-L3: Table in PPTX misplaced and partly blue * bsc1098891.patch - bsc#1088263 LO-L3: Labels in chart change (from white and other colors) to black when saving as PPTX * bsc1088263.patch- bsc#1095601 - LO-L3: Exporting to PPTX shifts arrow shapes quite a bit * bsc1095601.patch- Reenable firebird integration- Add new language Kabyle- Version update to 6.1.0.2: * RC2 of the 6.1 series- Added patch: * 0001-call-System.runFinalizersOnExit-by-reflection-since-.patch + Call the System.runFinalizersOnExit method by reflection, since it is removed in jdk11- Version update to 6.1.0.1 release- Fix ca_valencia myspell dictionary name- bnc#1088262 LO-L3: Table borders appear black in LibreOffice (while white in PowerPoint) * bnc1088262.patch- Expand disk constraints to not fail on arm64- Enable display of commands in build logs - Diable header-only Boost:System usage on older Leap - old-boost.patch: Fix building with older Boost version - Bumb disk space constraints. We need more than 32GB.- Drop merged patch bnc1094359.patch- Version bump to 6.0.5.2: * Bunch of fixes from the upstream - Try to implement safeguarding to avoid bsc#1050305- Add more translations: * Belarusian * Bodo * Dogri * Frisian * Gaelic * Paraguayan_Guaraní * Upper_Sorbian * Konkani * Kashmiri * Luxembourgish * Monglolian * Manipuri * Burnese * Occitan * Kinyarwanda * Santali * Sanskrit * Sindhi * Sidamo * Tatar * Uzbek * Upper Sorbian * Venetian * Amharic * Asturian * Tibetian * Bosnian * English GB * English ZA * Indonesian * Icelandic * Georgian * Khmer * Lao * Macedonian * Nepali * Oromo * Albanian * Tajik * Uyghur * Vietnamese * Kurdish- The kde integration now properly installed by upstream, no need to do it in %install phase- Try to build all languages see bsc#1096360- Update to 6.1.0.0.beta2: * Various buildfixes as found by our testing - Reenable KDE integration on 32bit - Drop merged patch libreoffice-libxmlsec.patch- Make sure to install the KDE5/Qt5 UI/filepicker- Conflict with gnome subpackage on the gtk2 subpkg as it was split of from there bsc#1096673- Update to 6.1.0.0.beta1: * 6.1 series first beta, many fixes and features around * Notably kde5_gtk3 integration, on by default now - Remove merged patches: * 0001-Use-PYTHON_FOR_BUILD-instead-of-calling-python-direc.patch * libreoffice-icu61.patch * kde5-configure-checks.patch * bnc1060128.patch * bnc1039203.patch * bnc1094359.patch - Disable firebird everywhere for now as it causes issues - Try to implement safeguarding to avoid bsc#1050305 - Disable base-drivers-mysql as it needs mysqlcppcon that is only for mysql and not mariadb, causes issues bsc#1094779 * Users can still connect using jdbc/odbc - Fix java detection on machines with too many cpus * libreoffice-java-sched.patch - Remove galaxy icon theme replaced by colibri - Add karasa jaga icon theme- bnc#1094359 LO-L3: LO Writer: Text in boxes not visible * bnc1094359.patch- Add supplements for xfce4-session for libreoffice-gtk3 to install that package when xfce is present (boo#1092699).- Add condtional for Libreoffice Supplement in libreoffice-base, no longer install libreoffice-base by default for future versions of openSUSE.- Extend the icu patch with more patches wrt bsc#1091772 * libreoffice-icu61.patch- Bump to 6.0.4.2 bsc#1091606 CVE-2018-10583: * 2 more fixes on top of 6.0.4.1- Do not require update-desktop-files on 15+ bsc#1090737- Remove aarch64 condition in _constraints- Drop patch bnc1083525.patch merged upstream- Fix build with new icu 61+ bsc#1091772 * libreoffice-icu61.patch- Version update to 6.0.4.1: * Another bugfix update containing >60 bugfixes- LO-L3: DOCX import: missing table background color * bnc1083525.patch- Do not enable LTO on older codestreams, too old toolchain- Provide and obsolete all the gtk3 disabled stuff if we disable gtk3 to ease migration- Drop patch libreoffice-lto-failtest.patch as the problem was with memcpy in wrong phases, fixed by cflag -flifetime-dse=1- Provide and obsolete also libreoffice-branding-SLE- Use pkgconfig(libpg) instead of posgresql-devel dependency- Bring back offline help per popular demand as lto saves space we could use with it bsc#915996 - Update patch to not call python directly during help generating: * 0001-Use-PYTHON_FOR_BUILD-instead-of-calling-python-direc.patch- Use gpg keys to verify downloaded archives- Add patch to disable test failing with LTO: * libreoffice-lto-failtest.patch- Switch to memory-constraints macros to limit threads as needed - Enable LTO on libreoffice, 16% smaller binaries, less memory used- Reduce the ifarch condition based on new exclusivearch - Name directly dependencies that were accidentaly pulled by gtk3 before- Conditionalize gtk3 build as it requires "newer" gnome than the one we ship on SLE12 currently- Update glib2 requirement to match what code actually uses- Reduce archs to only those that are really capable of finishing the build- Update to 6.0.3.2 fate#324870: * Final 6.0.3 tag for release- Disable firebird engine on SLE for now- Also drop boost_string_fixes.patch merged in upstream differently- Version update to 6.0.3.1: * Another bugfix release milestone - Drop patch orcus-0.13.3.patch merged upstream - Drop patch bnc955545.patch merged upstream - Drop patch bnc1081079.patch merged upstream- Require liberation-fonts instead of Recommends wrt bsc#1083213 * Basically we need ANY font, but liberation-fonts are the Arial/etc. compatible and thus you can view the MS Word documents - Drop Build/Require on xorg-x11-fonts- Require libreoffice-branding >= 6.0. Otherwise, an update of the libreoffice package keeps the 5.0 branding (including the 5.0 splash screen), which is not nice.- Install gtk3 subpkg on mate desktop wrt bsc#1083993- Remove upstreamed patches * bnc1061210.patch * bnc954772.patch- Version update to 6.0.2.1 release: * fixes bsc#1089706 CVE-2018-10120 * second bugfix release closing around 80 TDF issues- LO-L3: Saving PPTX chart changes $12K to 12,345 format * bnc1081079.patch- LO-L3: Cutting object (Rectangle) in Navigator cuts the whole slide instead * bnc955545.patch- LO-L3: Wrong transition time * bnc1039203.patch - LO-L3: Slide with chart has some strange (too large?) elements (PPTX) * bnc1060128.patch - LO-L3: Table(s) from DOCX show wrong position/color/...? * bnc1061210.patch - LO-L3: Copy and Paste in Table ignores formatting completely * bnc954772.patch- Add patch to build properly with orcus-0.13.3: * orcus-0.13.3.patch- boost_string_fixes.patch: Boost in Leap 42.3 and SLE-12 is lacking some functionality found in newer versions. Workaround the problem.- Make sure we execute everything with python3 * 0001-Use-PYTHON_FOR_BUILD-instead-of-calling-python-direc.patch - Bump version of bundled gpgme to 1.9.0- Version update to 6.0.1.1: * various fixes all around * Fixes data exposure bsc#1080249 CVE-2018-1055 CVE-2018-6871 * Also fixes bsc#1089705 CVE-2018-10119 - Bump the version of libgpg-error - Drop the libreoffice-poppler-0.62.patch merged upstream- Version update to 5.4.5.1: * Various fuzzying fixes/etc * Fixes data exposure bsc#1080249 CVE-2018-1055- Disable one more test that fails- Do not depend on procps- Version update to 6.0.0.3: * RC3 phase of libreoffice 6.0.0 release- Require xorg-x11-fonts otherwise nothing is shown- Do not pull in liberation2-fonts wrt bsc#1077375#c5- Disable 2 db tests that are really flaky in OBS- Fix the lo-provides filtering to allow proper provides to be generated- Version update to 6.0.0.2: * More fixes in RC2 of 6.0.0 release- Add requires on kdelibs4 to avoid crashes- Add libreoffice-poppler-0.62.patch: Fix build with poppler 0.62, where UTF8.h (explcitly marked as an experimental header) was renamed to UnicodeMapFuncs.h.- For now disable qt5 integration as it is utterly broken * just keep the kde4 one- Version update to 6.0.0.1: * RC1 of 6 series, now tests seem to pass- Version update to 5.4.4.2: * Proper release containing few additional fuzzing fixes- Reintroduce kde4 subpackage (now qt4 build with openssl-1.1) - Add the gtk2 subpackage to not pull-in the gtk2 on current desktop * Also supplement as needed for SLE12- Supplement properly the qt5 and the plasma5-workspace- Fix providing libgpg-error0 bsc#1072061 when bundling- Version update to 5.4.4.1: * Various fixes on 5.4 branch- Version update to 6.0.0.0.beta2: * Many fixes in gpg4libre and all around- Seems we no longer need the _r.so directly, no mentions in code- Do not upse otherproviders() as it is not needed with new rpms- Merge up all the icon themes as they have intermixed deps - Tweak up langpack generating to work with new gettext .mo files * Those macros are pretty ugly- Add patch to not bother checking qt4 bugs: * kde5-configure-checks.patch- Start updating to release 6.0.0.0.beta1: * Code for Qt5 UI * No longer flickering opengl backend * Tons of updates * Collada and gltf are removed upstream * Online help re-integrated even better - Remove merged patches: * 0001-Adapt-getcompver.awk-to-Java-9.patch * 0001-This-hunk-breaks-jdk9-build.patch * 0002-Detect-libjawt-automatically-on-java9-too.patch * java-encoding.patch * gnome-documents-check-ntimeoutid.patch - Drop no longer needed patches: * libreoffice-hotfix-disablebrokenshapetest.patch * disable-flaky-hsqldb-test.patch- Version update to release 5.4.3.2: * Various fixes in 5.4 branch * Contains also fixes for bnc#947117, bnc#1035589, bnc#954776, bnc#1021675- Disable the CppunitTest_desktop_lib as it fails on the utf encoding- Disable the verbosity of the build again, getting complaints of build log is too long...- Switch to bundled gpgme on old distros where it is not possible to update - Rebase scp2-user-config-suse.diff to apply again- Fix pyuno paths wrt bsc#1059720- Make sure now plasma5 gets gtk3 UI not the generic one- Disable kde4 integration on Tumbleweed as libqt4 is build with openssl-1.0 while we need openssl-1.1- Removed patch: * 0001-tdf-100501-Adapt-to-Java-9-at-least-on-Linux-x86-64.patch + Integrated upstream- The commons-codec, commons-lang and commons-httpclient are not actually needed- Version update to 5.4.2.1: * Various bugfixes on 5.4 branch- Added Esperanto to list of languages.- Added patches: * 0001-This-hunk-breaks-jdk9-build.patch + Remove a patch hunk that breaks rhino build * 0002-Detect-libjawt-automatically-on-java9-too.patch + Fix detection of JDK9's libjawt.so * 0001-Adapt-getcompver.awk-to-Java-9.patch + Adapt getcompver.awk to Java 9 where the version might be single digit * 0001-tdf-100501-Adapt-to-Java-9-at-least-on-Linux-x86-64.patch + Make LibreOffice find Java 9 JVM at runtime * java-encoding.patch + Replace one unnecessary UTF-8 character by an ASCII one- Version update to 5.4.1.2: * Various bugfixes on 5.4 branch- Fix fail to build with kde integration disabled wrt bsc#1055393- Parse over with spec-cleaner to remove few obsolete declarations- Add gnome-documents-check-ntimeoutid.patch: fix intermittent crash opening files from gnome-documents (bsc#1047714).- Version update to 5.4.0.3: * More bugfixes on 5.4 branch for the final release- Version update to 5.4.0.2: * More fixes from 5.4.0 release branch - Use system based xmlsec1- Add api keys for google drive to work bsc#1047167 * Copied from chromium- Update to 5.4.0.1: * First rc of the series, now only serious bugs will be fixed - Drop upstreamed patch 0001-undo-clone.patch - Drop upstreamed patch 0001-watermark.patch- Add suse color palette bsc#1045339- Cleanup the License string- Add patch to fix bsc#1028504: * 0001-undo-clone.patch - Add patch to fix test failure on 32bit: * 0001-watermark.patch- Run tests only on intel 32/64bit- Version update to 5.4.0.0.beta2: * Ton of fixes over beta1 * Oxygen theme is gone- Install libreofficekit headers- Artistic was dropped with vigra- Switch to normal mirror location- Version update to 5.4.0.0.beta1: * Feature release 5.4 first beta - Refresh patch disable-flaky-hsqldb-test.patch - Drop merged patches: * bnc959926-Implement-text-rotation-for-Impress-table.patch * gi-annotation-syntax.patch- Use nss to avoid issues with mixing openssl and nss- Version update to 5.3.3.2 fate#323270: * Update to 5.3.3 release containing bunch of additional fixes - Add direct dep on harfbuzz-icu- Version update to 5.3.3.1: * Also contians fix for bsc#1036975 CVE-2017-8358 * Various fixes in 5.3 branch for rc1 of 5.3.3- Provide and obsolete the help packages wrt bsc#1035087- Fixed bnc#959926 LO-L3: Text not rotated properly in LO Impress tables * bnc959926-Implement-text-rotation-for-Impress-table.patch- Version update to 5.3.2.2: * bsc#1034329 CVE-2017-7882 * RC2 for the 5.3.2 release- Version update to 5.3.2.1: * RC1 of the 5.3.2 release- Version update to 5.3.1.2: * official 5.3.1 release- Fix syntax error in 0001-allow-none-gi-support.patch (bsc#1028817).- Add gi-annotation-syntax.patch: the (allow-none) annotations weren't being parsed, leading to breakage on SLE (bsc#1028817)- Version update to 5.3.1.1: * RC1 of 5.3.1 release containing various bugfixes - Drop upstreamed patch 0001-unixODBC-changed-soname-to-.2-so-reflect-it.patch- bypass upstream bug for aarch64 and ppc64/ppc64le https://bugs.documentfoundation.org/show_bug.cgi?id=105519 removing some fods data files source of test failure.- Fixup pyuno loading as it broke when we dropped the uno patch- Add conditional liberation2-fonts BuildRequires and Recommends for Tumbleweed, it is better suited for the version of freetype2 we have available.- use individual libboost-*-devel packages instead of boost-devel- Version update to 5.3.0.3: * Fixes bsc#1034568 CVE-2017-7870 * Fixes bsc#1034192 CVE-2016-10327 * RC3 of the 5.3 targets with additional fixes- Remove upstreamed patch * bnc1010961.diff- Version update to 5.3.0.2: * RC2 of the 5.3.0 target, stabilizing the lokit- Version update to 5.2.5.1 * various bugfixes - Remove upstreamed patches * bnc945446-vertical-text-clone-formatting.patch * bnc955548-crash-fix.patch * bnc980734.diff - Fix L3 bnc#1014896 LO-L3: Libreoffice calc (writer in fact!) freezing when running a hyphenate all * bnc1014896.diff- Provide the breeze-dark content in the breeze icontheme- Drop system-pyuno.diff patch as it breaks services tests as the pyuno was not loadable- Version update to 5.3.0.1: * RC candidate stabilizing ont he beta1 bump- Fix L3 bnc#1010961 LO-L3: Change tracking: everything is a change, and accepting changes * bnc1010961.diff- Fix unixODBC loading bnc#1017925 * 0001-unixODBC-changed-soname-to-.2-so-reflect-it.patch- Build firebird driver only for version 3, 2.x series does not pass tests at all - Drop 13.2 support, out of scope as EOL- Fix L3 bnc#980734 LO-L3: LibreOffice missing contents in PPTX deck * bnc980734.diff- Version update to 5.3.0.beta2: * Various bugfixes to bring 5.3 to stability- Fix L3 bnc#945446 LO-L3: Clone Formatting ignores vertical text alignment * bnc945446-vertical-text-clone-formatting.patch - Fix L3 bnc#955548 LO-L3: CTRL+Z not working to undo changes performed through Navigator crash fix * bnc955548-crash-fix.patch- Version update to 5.3.0.beta1: * Starting of testing of new major release - Refresh patch system-pyuno.diff - Refresh again libreoffice-hotfix-disablebrokenshapetest.patch - Drop upstreamed patches: * libreoffice-firebird3-selftest.patch * libreoffice-firebird3.patch * 0001-allow-none-gi-support.patch - Remove --enable-hardlink-deliver switch that is removed from autotools - Add dep on libzmf, libstaroffice - Update internal xmlsec- Version update to 5.2.4.1 * various bugfixes mostly containing L3 fixes: - Fix L3 bnc#946674 LO-L3: Undo does not revert bundled font size changes for table cells - Fix L3 bnc#952640 LO-L3: Cut and Paste (at the same position) changes bullet point formatting - Fix L3 bnc#955548 LO-L3: CTRL+Z not working to undo changes performed through Navigator - Fix L3 bnc#959168 LO-L3: Undo on bullet point style change only works when focus is not set - bnc#957991 LO-L3: Improve pivot cache reading performance - Refresh patch libreoffice-hotfix-disablebrokenshapetest.patch- Introduce back scp2-user-config-suse.diff wrt bnc#1010654 as otherwise user configs would disappear with maintenance update...- Add provides/obsoletes for brazilian and chinese to be matched on dvd bnc#1008743- Update to 5.2.3.3: * small fix from .2 release- Version update to 5.2.3.2: * Various small fixes in the 5.2 branch - Move the firebird db connector to subpackage wrt bsc#1003896 - Refresh a bit patch 0001-allow-none-gi-support.patch- Version update to 5.2.2.2 bsc#1026640 CVE-2017-3157: * Various fixes for the 5.2 branch- Add 0001-allow-none-gi-support.patch: don't use "nullable" for introspection, since it isn't available on SLE12 version of gobject-introspection (bsc#1000102).- Switch google-carlito-fonts and liberation-fonts Requires to Recommends.- BuildRequire libopenCOLLADA-devel (the new package name) instead of openCOLLADA-devel, except for Leap which only has the latter- Version update to 5.2.1.2: * Various fixes for the 5.2 branch release- Build KDE integration on openSUSE 13.2 as well- Update _constraints file: set the 25GB HDD / 4GB RAM limit as general requirement (global) which only aarch64 overrides at the moment. Prior, there was no 'default' limit set and all archs were exceptions.- Version update to 5.2.0.4: * Fixes contained in rc4 of 5.2.0 release- Version update to 5.2.0.3: * More bugfixes for the first series of the 5.2 branch- Version update to 5.2.0.2: * Various bugfixes on road to 5.2 this time rc2- change BuildRequire from pkgconfig(fbembed) to libfbembed-devel; this is a temporary workaround allowing build both before and after firebird is upgraded to version 3.0 in Factory; once 3.0 is there, this will be changed to pkgconfig(fbembed) or pkgconfig(fbclient), based on %suse_version - libreoffice-firebird3.patch: build against system libfbclient2 if Firebird 3 detected - libreoffice-firebird3-selftest.patch: fix failing selftest when built against Firebird 3 libraries; the failure is caused by database file format change, provide two versions of the test database and let the test select the one that matches Firebird version - firebird_integer_x64le_ods12.odb: rpmbuild doesn't support git patches adding binary files, add the ODS12 test database as a source instead- Version update to 5.2.0.1: * Various bugfixes for the rc1 candidate * Fixes bnc#987553 CVE-2016-4324- Reduce constraints based on resource usage reported by OBS- Version update to 5.2.0.0.beta2: * More bugfixes on road to 5.2 series * missing-include.patch- Add patch to fix build missing-include.patch- Version update to 5.2.0.0.beta1: * Disable support for sle11, not needed anymore * Cleanup the specfile from all the compat conditionals per above * Disable bundled help and point to upstream wiki always (speeds up build quite a bit) * Use pkgconfig style dependencies instead of the develpkgs * Remove all the bundled tarballs that were aedded for sle11 * Adjust the constraints a bit to reflect reality * Remove merged patches: * scp2-user-config-suse.diff * 0001-Make-HAVE_JAVA6-be-always-false.patch * 0001-mdds-1.0.patch * 0001-liborcus-0.11.patch * 0002-boost-filesystem1.patch * 0003-boost-filesystem2.patch * bnc856729.patch * bnc939998.patch * bnc945443.patch * bnc945445.patch * Refresh patches: * libreoffice-hotfix-disablebrokenshapetest.patch * system-pyuno.diff- fix bnc#939998 - LO-L3: PPT file shows wrong titles * bnc939998.patch - fix bnc#945443 - LO-L3: Undo ignores vertical alignment * bnc945443.patch - fix bnc#945445 - LO-L3: Undo does not revert changes of table separation lines * bnc945445.patch- Version update to 5.1.3.2: few small tweaks for the .3.1 release * fate#320521 - Refresh patches: * 0001-liborcus-0.11.patch- Split out gtk3 again but this time install it on openSUSE and avoid it on SLE12- Version update to 5.1.3.1: * Various small bugfixes all around 5.1 series- fix bnc#856729 - LO-L3: Double borders in Calc * bnc856729.patch- update constraints file for aarch64- Version update to 5.1.2.2: * Various small bugfixes all around 5.1 series - Remove upstreamed patches: * 0001-Fix-patch-to-apply-on-SLE11-just-some-unknown-patch-.patch * 0001-Fix-python2-build-of-pyuno-with-older-py2-versions.patch * 0001-Update-etonyek-patch-to-apply-with-sle11-patch.patch - Refresh patches: * 0001-liborcus-0.11.patch * libreoffice-hotfix-disablebrokenshapetest.patch - Fix sle11 build by not using -r on ln command - Update the subtag registry to latest version- Install also gdb pretty printers- Introduce glade subpackage to match up with fedora and to provide others possibility to work on glade UI for libreoffice- Remove services patch, no longer needed everything tweaked upstream: * libreoffice-disable-services-check.patch- Add patch to detect boost_filesystem headers: * 0002-boost-filesystem1.patch * 0003-boost-filesystem2.patch - Add patch to fix rounding bug in test on i586: * libreoffice-hotfix-disablebrokenshapetest.patch- Version update to 5.1.1.3: * Various bugfixes for the first bugfix release of 5.1 - Update patch to build on sle11 * 0001-liborcus-0.11.patch- Add patch to build with liborcus 0.11 * 0001-liborcus-0.11.patch- Use mdds-1.0 * 0001-mdds-1.0.patch- Appdatastore is everywhere- Add upstreamed patches to fix patch application on sle11: * 0001-Fix-patch-to-apply-on-SLE11-just-some-unknown-patch-.patch * 0001-Update-etonyek-patch-to-apply-with-sle11-patch.patch * 0001-Fix-python2-build-of-pyuno-with-older-py2-versions.patch - Localy disable the services test that SEGVs on sle11 * libreoffice-disable-services-check.patch- Do not bother with kde integration on SLE12- Try to enable libreofficekit integration by mimicking what RH does bnc#965296- Provide/obsolete the gtk3 subpackage in gnome to allow nice migration - %dir the appdata folder to build on leap and older- Un-split the gtk3 from separate module 5.1 should be stable enough- Do not install the appdata xml files twice bnc#965294- Version update to 5.1.0.3: * Fixes bnc#967015 CVE-2016-0795 bnc#967014 CVE-2016-0794 * Various small fixes on road to final tag * Update internal tarballs for sle11 build- Fix requires on libmysqlclient_r18 on SLE11 - Fix a bug on es provides with en-GB - Provide l10n-pt from pt-PT- Update to 5.1.0.2: * More small fixes here and there for the RC2 release - Remove upstreamed patches: * libreoffice-graphite.patch * libreoffice-uno-py26.patch * libreoffice-kde4-filelist.patch * libreoffice-old-gtkapi.patch- Reenable collada, debian and fedora both build with it so do the same- Set ulimit to unlimited prior build to allow better debugging of build crashes- Add patch attempting to fix build on old gtk2 versions: * libreoffice-old-gtkapi.patch- Add patch to fix filelist generating after kde3 removal: * libreoffice-kde4-filelist.patch- Add patch to fix graphite2 bundled build on SLE11: * libreoffice-graphite.patch - Add patch to fix build of pyuno with python2.6: * libreoffice-uno-py26.patch- bnc#951579 - LO-L3: [LibreOffice] Calc 5.0 fails to open ods files * deleted RPATH prevented loading of bundled 3rd party RDF handler libs- Version update to 5.1.0.1: * Update few bundled libs for SLE11 - Drop support for gvfs2 - Drop kde/kdeab switches - Drop lockdown enabler- Version update to 5.1.0.0.beta2: * testing the changes for 5.1 series - Remove upstreamed patches: * bnc-679938.diff * bnc-889755.diff * bnc-945047.diff * bnc-954345.diff * use-long-for-test-comparsion.patch- Version update to 5.0.4.2 bnc#959716: * Final of the 5.0.4 series- bnc#945047 - LO-L3: LO is duplicating master pages * bnc-945047.diff- Version update to 5.0.4.1: * rc1 of 5.0.4 with various regression fixes- bnc#954345 - LO-L3: Insert-->Image-->Insert as Link hangs writer * bnc-954345.diff- Disable another hsqldb test: * disable-flaky-hsqldb-test.patch- Version update to 5.0.3.2: * Final tag of 5.0.3 release- Add patch to fix flaky test: * use-long-for-test-comparsion.patch- Remove upstream merged: * bnc-939996.diff- Fix bnc#939996 - LO-L3: Some bits from DOCX file are not imported * bnc-939996.diff - Fix bnc#889755 - LO-L3: PPTX: chart axis number format incorrect * bnc-889755.diff - bnc#679938 - LO-L3: saving to doc file the chapter name in the header does not change with chapters * bnc-679938.diff- Add patch to disable flaky hsqldb test: * disable-flaky-hsqldb-test.patch- Version update to 5.0.3RC1 as it should fix i586 test failure - Drop upstreamed patch: * kde4filepicker.patch - Update text2number extension to 1.5.0- obsolete libreoffice-mono - pentaho-flow-reporting require is conditional on system_libs- Update icon theme dependencies * https://lists.debian.org/debian-openoffice/2015/09/msg00343.html- Version bump to 5.0.2 final fate#318856 fate#319071 bnc#943075 bnc#945692: * Small tweaks compared to rc1 - For sake of completion this release also contains security fixes for bnc#910806 CVE-2014-8147, bnc#907636 CVE-2014-9093, bnc#934423 CVE-2015-4551, bnc#910805 CVE-2014-8146, bnc#940838 CVE-2015-5214, bnc#936190 CVE-2015-5213, bnc#936188 CVE-2015-5212, bnc#934423 CVE-2015-45513, bnc#934423 CVE-2015-4551, bnc#910805 CVE-2014-8146, bnc#940838 CVE-2015-5214, bnc#936190 CVE-2015-5213, bnc#936188 CVE-2015-5212, bnc#934423 CVE-2015-45513, bnc#934423 CVE-2015-4551, bnc#910805 CVE-2014-8146, bnc#940838 CVE-2015-5214, bnc#936190 CVE-2015-5213, bnc#936188 CVE-2015-5212, bnc#934423 CVE-2015-4551- Use gcc48 to build on sle11sp4- Make debuginfo's smaller on IBS.- Fix chrpath call after the libs got -lo suffixing- Add patch to fix qt4 features detection: * kde4filepicker.patch- Split out gtk3 UI to separate subpkg that requires gnome subpkg * This is to allow people to test gtk3 while it not being default- Version update to 5.0.2 rc1: * Various small tweaks and integration of our SLE11 patchsets- Update constraints to 30 GB on disk- Version bump to 5.0.1 rc2: * breeze icons extension * Credits update * Various small fixes- Version bump to 5.0.1 rc1: * Various small fixes * Has some commits around screen rendering -> could fix kde bugs- Kill branding-openSUSE, stick to TDF branding.- Version bump to 5.0 rc5: * Bunch of final touchups here and there - Remove some upstreamed patches: * old-cairo.patch- Add explicit requires over libmysqlclient_r18, should cover bnc#829430- Add patch to build with old cairo (sle11): * old-cairo.patch- Version bump to 5.0 rc3: * Various more fixes closing on the 5.0 release - Removed upstreamed patches: * fix-old-poppler.patch * mdds-old-gcc.patch- Try to fix build on SLE11 and remove obsolete patch: * A mdds-old-gcc.patch * D pack-desktop-files-for-optional-filters.diff- Update to 5.0 rc2: * Few small fixes and updates in internal libraries- Version bump to 5.0 rc1, remove obsolete patches: * 0001-Fix-could-not-convert-.-const-char-to-const-rtl-OUSt.patch * 0001-writerperfect-fix-gcc-4.7-build.patch- More chrpat love for sle11- Add python-importlib to build/requirements on py2 distros- Provide/obsolete crystal icons so they are purged and not left over - Add few patch to get LO in more buildable state on SLE11, all upstreamed: * 0001-Fix-could-not-convert-.-const-char-to-const-rtl-OUSt.patch * 0001-writerperfect-fix-gcc-4.7-build.patch * fix-old-poppler.patch- Fix breeze icons handling, drop crystal icons.- Version bump to 5.0.0.beta3: * Drop merged patch 0001-Make-cpp-poppler-version.h-header-optional.patch * Update some internal tarballs so we keep building - based on these bumps update the buildrequires too- Generate python cache files wrt bnc#929793- Update %post scriptlets to work on sle11 again- Split out the share -> lib linker to hopefully allow sle11 build- One more fix for help handling bnc#915996- Version bump to 4.4.3 release: * Various small fixes all around- enable aarch64 build- Reformat with spec-cleaner- Disable verbose build to pass check on maximal size of log- We need pre/post for libreoffice in langpkgs- Use old java for detection and old commons-lang/codec to pass brp check on java from sle11 * 0001-Make-HAVE_JAVA6-be-always-false.patch- Revert last changeset, it is caused by something else this time: * 0001-Set-source-and-target-params-for-java.patch- Set source/target for javac when building to work on SLE11: * 0001-Set-source-and-target-params-for-java.patch- Try to deal with rpath on bundled libs- Fix python3_sitelib not being around for py2- Add internal make for too old system - One more stab on poppler switch: * 0001-Make-cpp-poppler-version.h-header-optional.patch- Update the old-poppler patch to work correctly: * 0001-Make-cpp-poppler-version.h-header-optional.patch- Sort out more external tarballs for the no-system-libs approach- Add basic external tarballs needed for without-system-libraries- Add patch to check for poppler more nicely to work on older distros: * 0001-Make-cpp-poppler-version.h-header-optional.patch- Try to pass configure without system libs- Allow switch between py2 and py3 - Move external dependencies in conditional thus allow build on SLE11- Add conditional for noarch subpackages - Add switch in configure to detect more of internal/external stuff- Add conditional for appdatastore thing and redo it to impact the spec less - Add systemlibs switch to be used in attempt to build sle11 build- Hopefully fix bnc#913042.Redo check phase that sometimes broke .jar generating- Silence more scarry messages by bnc#900186 * Fixes autocorr symlinking * Cleans UNO cache in more pretty way- Clean up the uno cache removal to not display scarry message bnc#900186- Remove patch to look for help in /usr/share, we symlink it back to lib, so there is no actual need to search for it directly, migth fix bnc#915996: * officecfg-help-in-usr-share.diff- --disable-collada * reportedly it does not work in LibreOffice 4.4 - added version numbers to some BuildRequires lines- Require flow engine too on base- Fix build on SLE12 and 13.1 by adding conditional for appdata install- Fixup the installed appdata.xml files: they reference a .desktop file that are not installed by libreoffice (boo#926375).- Version bump to 4.4.2: * 2nd bugfix update for the 4.4 series- BuildRequires: libodfgen-devel >= 0.1- added version numbers to some BuildRequires lines - build does not require python3-lxml - build requires librevenge-devel >= 0.0.1 - vlc media backend is broken, don't use it. Only gstreamer should be used.- Install the .appdata.xml files shipped by upstream: allow LO to be shown in AppStream based software centers.- Move pretrans to pre- Version bump to 4.4.1 first bugfix release of the series- Reduce bit the compilation preparations as we prepped most of the things by _constraints and it is no longer needed- %pre is not enough the script needs to be rewritten in lua- Move removal of obsolete dirs from %pretrans to %pre bnc#916181- Version bump to 4.4.0 final: * First in the 4.4 series * First release to have the new UI elements without old hardcoded sizes * Various improvements all around.- Add debug symobols- Version bump to 4.4.0rc2: * Various bugfixes, just bumping to see if we still build fine.- That verbose switch for configure was really really bad idea- generic images.zip for galaxy icons seem gone so remove - Do not supplement kde3 stuff, it is way beyond obsolete- Remove vlc conditional - korea.xcd is no more so remove - Really use mergelib- Disable telepathy, it really is experimental like hell- Version bump to 4.4.0rc1: * New 4.4 branch release with additional features - Enable collada: * New bundled collada2gltf tarball: 4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2 - Obsoleted patches: * jvmfwk-disable-gcj.diff * libreoffice-4.3-plasma5-ui-decisions.patch * libreoffice-4.3.0.3-themes-symlinks.patch * office-cfg-linux-common-template-dir.diff * libreoffice-boost-1.56.patch - Refreshed patches: * officecfg-help-in-usr-share.diff * system-pyuno.diff- Version bump to 4.3.5 release: * Various small fixes * Fix for CVE-2014-9093 bnc#907636- And do it right as it was supposed to be bash variable :)- Fix typo %{libdir} -> %{_libdir}- Remove dangling symlinks from previous versions bnc#884942- Fix build with boost 1.56 * libreoffice-boost-1.56.patch- Version bump to 4.3.4: * Few small fixes * Fix for calc value ordering "regression"- Remove no longer needed mergelib patch * libreoffice-mergedlibs-circular-deps.patch - Add patch for plasma5 UI selector support * libreoffice-4.3-plasma5-ui-decisions.patch- Remove errorous self-obsolete in lang pkgs. - Version bump to 4.3.3.2: * Various bugfixes from maintenance branch to copy openSUSE. * Also contains fix for bnc#900214 and bnc#900218 CVE-2014-3693 - Remove fixes merged upstream: * 0001-fdo-82418-prefer-UTF-8-over-UTF-16.patch * 0001-n-708518-sd-check-that-master-page-matches-when-sett.patch- Obsolete old libreoffice-ure-devel in sdk and devel-docs in sdk-doc to avoid possible conflicts during zypper dup (bnc#900877)- Obsolete old libreoffice-ure to avoid conflicts during zypper dup (bnc#900877)- Fix the timestamp on docu (remove) - Try to silence postinst warning during verfication - Fix wrong obsolete lines- Disable mergedlibs for now as it is not tested enough and broke - Added patch: * libreoffice-mergedlibs-circular-deps.patch- Remove configure warning- Version bump to 4.3.2.2: * Various small bugfixes found from 4.3.1- added patches: * 0001-fdo-82418-prefer-UTF-8-over-UTF-16.patch: prefer UTF-8 over UTF-16 when importing CSV (fdo#82418). * 0001-n-708518-sd-check-that-master-page-matches-when-sett.patch: fix regression in bullets (bnc#897903). - Add masterpage_style_parent.odp as new file for regression test for bullets.- Try to handle collada coinmp and gltf properly.- Do not remove folders too early in the link-to-ooo-home * this fixes warning about trying to remove dir- Version bump to 4.3.1.2: * First bugfix release of series * Among others contains fixes for CVE-2014-3524 and CVE-2014-3575 bnc#893133 and bnc#893141- Require some fonts for compat: liberation / carlito fonts. bnc#824908- Version bump to 4.3.0.4: * Final 4.3.0 release containing handful of last fixes from the 4.3.0.4- Try to sort out broken help after migration from 13.1- Add more provides/obsoletes for lang help files to better handle migration.- Try to finish out the py3 migration. - Remove now not needed patch: * wizards-create-temlates-with-python-2.6.diff- Add patch to fix the themes/icons handling: * libreoffice-4.3.0.3-themes-symlinks.patch- Version bump to 4.3.0.3: * Various small bugfixes.- Use Python3 instead of Python 2 for pyuno.- Add rpmlintrc to sources.- Version bump to 4.3.0.2: * Various small bugfixes - Drop upstreamed patches: * 0001-Package-filter-in-common-pack.patch- Install missing libsaxlo. Hacked for now, upstream notified.- Add patch to fix unfilelisted files: * 0001-Package-filter-in-common-pack.patch- Version bump to 4.3.0.1: * Buildfix with new glm * Various fixes.- More languages got autotext. Reflect that.- Remove no longer provided files from list of artworky things.- Version the glew dependency.- Version bump to 4.3.0beta2: * major version bump with fixes all around everywhere - Added dependencies over glew and glm - Removed patches that were upstreamed: * set-language-in-impress.diff * text-alignment-in-shape.diff * kde4-4.2.3.3-timer-mutex.patch * impress-table-performance.patch * import-gradfill-for-text-colors.diff * fix-text-rotation.diff * fix-python-wizzards.patch * docx-brightness-contrast-2.diff * docx-brightness-contrast-1.diff * doc-brightness-contrast.diff * discard-more-header-footer-stuff.patch * disable-firebird-unit-test.diff * direct-format-numbering.patch * WW8-import-fix-upper-margin-of-multi-page.patch * VBA-macro-modification-warning.diff * Use-varying-aElement-name.patch * 0001-std-strlen-requires-cstring-include-to-build.patch Temporary switches until upstream allows system version: * --disable-gltf * --disable-coinmp- Add patch from upstream fix-python-wizzards.patch to fix crashing python wizzards ; bnc#881294- Typo in desc stating there is libreoffice-kde which is not anymore.- bnc#822625 - LO-L3: Table editing is a pain in Impress (performace issues) * impress-table-performance.patch- bnc#863018 - LO-L3: Missing text in imported .doc file * WW8-import-fix-upper-margin-of-multi-page.patch- bnc#875717 - LO-L3: DOCX import: font size of numbering is bigger * direct-format-numbering.patch- bnc#875718 - LO-L3: DOCX import: extra page numbers * discard-more-header-footer-stuff.patch- Security update CVE-2014-0247 * Use-varying-aElement-name.patch- bnc#467278: let the previous fix work under KDE4, too * VBA-macro-modification-warning.diff- bnc#467278: Introduce a warning that changes to VBA macros cannot be saved. * VBA-macro-modification-warning.diff- bnc#875713 - LO-L3: DOCX import: picture brigtness/contrast not imported * docx-brightness-contrast-1.diff * docx-brightness-contrast-2.diff- bnc#875712 - LO-L3: DOC import: picture brigtness/contrast not imported * doc-brightness-contrast.diff- bnc#870240 - LO-L3: pptx import file has text rotated on slide * fix-text-rotation.diff- bnc#870234 - LO-L3: pptx file has text imported as black instead of white * import-gradfill-for-text-colors.diff- bnc#870228 - LO-L3: Text inside the circle is not centered * text-alignment-in-shape.diff- bnc#863021 - LO-L3: Allow setting language for slide or presentation entirely * set-language-in-impress.diff- fix build on openSUSE 12.3: * disable-firebird-unit-test.diff- fix build on openSUSE 12.3: * 0001-std-strlen-requires-cstring-include-to-build.patch- Version bump to 4.2.4.2: * another bugfix release fixing more than dozen of issues. - Add explicit dep over libxslt - Remove patch applied upstream: * bluez5-support-for-impress-remote.diff- Generate autocorr content for various language mutations properly (shamelessly stolen from Fedora).- Use patch from upstream to handle the mutexes way better. Updated patch kde4-4.2.3.3-timer-mutex.patch.- Use correct paths for dicts locations.- After dict redesign depend on correct dict packages.- Fix haning in KDE by applying upstream fix. Will be included in next release. - added patches: * kde4-4.2.3.3-timer-mutex.patch- fix for non-working bluetooth remote control from upstream - added patches: * bluez5-support-for-impress-remote.diff- Remove googledoc extension as it is uttery broken and this is safer.- Require link-to-ooo-home script properly in postun phase. Fixes bnc#749059.- Version bump to 4.2.3: * Bugfix release of 4.3 series - Fixing 100 bugs and 20 of those with Major or higher importance.- Fix whitespace.- Fix autotext symlinking to point right path.- Switch Libreoffice Math .desktop to NoDisplay=true [bnc#869648]- Require ucpp in sdk. Thanks to cbosdonnat for spotting this.- Remove patch already applied upstream: * fix-sdk-install.patch- Version bump to 4.2.2 release: * Bugfix release of 4.2 series - Fixing 29 various issues and from it 16 most annoying ones- Make sure we provide compat oo symlinks.- Uk does not have the mythes too in suse.- Latvians do not have mythes so remove it from the dep.- Fix installing of sdk symlinks needed for working 3rd party plugins. - added patches: * fix-sdk-install.patch- Version bump to 4.2.1: * Fixes over 100 found bugs found during the first release testing.- remove duped pt-PT setting- Fix vlc macro again (thanks rudi) - Fix typo in description - Fix nl and nn language subpackage incorrectly requiring unexisting thesaurus package.- Try to provide other older translation packages to avoid various collisions as reported by repo-checker.- Fix vlc macro in specfile.- Change how to enable/disable VLC support, allowing to override this with OBS prjconf (needed for SLE).- Switch to ghost files to work without modifying filelist.- Try hard to support migration from older layout where the help and autotext are dirs not symlinks.- Add condition around uno cache removal so it is properly wiped when needed.- Require libreoffice-l10n-en always to be sure we have something that can really launch.- Requires libreoffice on post for iconpacks so we generate the symlinks.- Version bump to 4.2.0.4 which is the final * Fixes 20 of last crit bugs.- Remove patch for split icon search that is no longer working split-icons-search-usr-share.diff - Use symlinking posttrans hack for all noarch pkgs - Fix the symlinking script to work properly- Add safeguards around the posttrans/postun scripts.- Workaround issue in rpm parser. Thanks to mls.- Add requires(post) for the post scripts. - Disable the update compat for now as there is something broken there.- Try to introduce back the posttrans symlink creation needed for proper use of the "noarch" packages.- Support update from older releases. Rpm can't handle dir->link.- sdk-doc can't be noarch as it is instaled in _libdir.- Reorder deps to be alphabetic again.- Explicitely want fbclient pkgconfig to be around.- Avoid collision with tn and sr translations.- sdk-doc can be noarch.- Version bump to 4.2.0 RC3 fixing handful of additionally found bugs.- Add sifr icon theme package.- Add missing %dir directives.- Add back rpmlintrc as it is still needed - Update comment about sfir icons- Raise doxygen dependency.- Updated patch install-with-hardlinks.diff to keep sane whitespace- Bridges now seem to get the cflags properly so patch is not really needed. bridges-missing-cxxflags.diff- Version bump to 4.2.0.2: * another RC candidate - Download the data from URLs instead of not providing the link. - Depend on libabw as it is another dep.- Go back to 20 on constraints as the 25g machines seems to be no avail- Drop the vlc dep on 12.3 and older.- Drop the rpmlintrc should not be needed - Raise the constraints more to really ensure build- Now builds with external dependencies * flute * libbase * libfonts * libformula * liblayout * libloader * librepository * libserializer * pentaho-libxml * pentaho-reporting-flow-engine * sac - enabled report builder- Enable slowcheck again with the added fonts dependency.- Sort out some whitespace and ordering with spec-cleaner.- Add defattr for the lang pkgs.- Add spell to en pkg.- Fix copy&paste- Use bsh2 not bsh1 for dep. Thanks to mvyskocil.- More filelist moves for langpacks and extra files.- Fix branding filelist and remove old help location from filelist- Drop branding-upstream package to merge it back to main one.- Raise required size for constraints to 20G.- Drop base-extensions, empty package too.- Readjust the link-ooo-home script to delete empty folders if not owned and add few comments there.- Remove lo_prefix and lo_home vars as they are pointless nowdays - Remove the debug switch to control ccache, it is controled already in obs so it is pointless in spec - Increase Disk requirement for 18 gb, it was 17 here on local build so it should be safe again to build. - Mark more files for /usr/share move- Try to move all the noarch split content to /usr/share- Drop Draft.jpg nobody knows what it is :)- Remove stlport hacks as it is gone since 4.0.- Do not create compat symlink for broken SLE11 desktop file as it is not built there anymore.- Quote the langs variable so we actually use it.- Do not reduce jobs if using icecream.- Drop scsolver readme. It is quite few years dead now.- Drop impress extensions as they were deextensified.- Drop patch solenv-java-source-version.diff as it is not used.- Disable slowcheck for now.- Fix typo on the sed line.- Version bump to 4.2.0rc for testing purposes - Update the spec file to be only one building everything - Cleanup of spec with removal of old cruft here and there - Remove bundled libs always demand the system versions - Remove bundled tarballs that are no longer used - Removed patches no longer usable: * fix-collision.patch * zip-3.0-add_options_to_help.patch * zip-3.0-iso8859_2.patch * zip-3.0-nonexec-stack.patch * zip-3.0-optflags.patch * zip-3.0-tempfile.patch * zip-notimestamp.patch * solenv-touch-no-dereference.diff * split-help-buildhack-no-vcl.diff * system-poppler-0.12.3.diff * scripting-prefer-internal-rhino.diff * build-help-common.diff - Refreshed patches: * office-cfg-linux-common-template-dir.diff * officecfg-help-in-usr-share.diff * solenv-java-source-version.diff * wizards-create-temlates-with-python-2.6.diff - To be fixed: * split-icons-search-usr-share.diff - Obsoleted specs: * libreoffice-help-en-US.spec * libreoffice-help-group1.spec * libreoffice-help-group2.spec * libreoffice-help-group3.spec * libreoffice-help-group4.spec * libreoffice-help-group5.spec * libreoffice-icon-themes.spec * libreoffice-l10n.spec - Help packs for now moved into l10n packs with proper provides. Can be adjusted later when we get full build for comparsion.- Version bump to 4.1.3 bugfix release. News: http://blog.documentfoundation.org/2013/11/01/the-document-foundation-announces-libreoffice-4-1-3/- Version bump to 4.1.2.3: bugfix release only. - Remove upstreamed patch buildfix-neon-0.30.0.diff. - Adjust patch jvmfwk-disable-gcj.diff to reflect current state.- update to 4.1.1.2: * first page styles (fdo#66145) * Calc crashes on spell check (fdo#68220) * broken options in ReportBuilder (fdo#67109) * can't save new autocorrect entries (fdo#67743) * checking for extension updates crasher (fdo#67539) * font style is not saved in ODG and ODP (fdo#67665) * broken formula expressions on XLS export (fdo#67571) * can't select other fill than color in Writer (fdo#66827) * soffice.bin segfault in libvclplug_gtklo.so (rhbz#998136) - update libwpd to version 0.9.9: + infinite loop when using WPXBinaryData - build-help-common.diff: allow to bundle the help icons even when help is built separately - buildfix-neon-0.30.0.diff: fix build with neon-0.30.0; only use the SSPI support with internal neon; took from master branch - use the new --with-help=common configure option- update to 4.1.1.1: * non-saved dialogs (fdo#67685) * lost cell range name (fdo#62729) * several performance regressions fixes * allow to connect MariaDB (rhbz#989246) * more on broken XLSX export (bnc#823935) * broken master pages editing (fdo#66924) * messed slide in PPTX import (bnc#593612) * crossing lines in WMF pictures (i#122509) * lost formatting in ODS export (fdo#67684) * misplaced cursor in Web layout (fdo#66577) * shapes anchoring in VML import (bnc#820504) * several problems with time stamps (fdo#67387) * lost lines created in report builder (fdo#33617) * lost sheet protection in XLSX export (fdo#64753) * paragraph style dialog height problems (fdo#67395) * complex hyperlinks broken in PDF export (fdo#33605) * lost background pictures in DOCX export (fdo#60990) * VoiceOver does not follow keyboard focus (fdo#54320) * some fields don't fit into options dialog (fdo#61544) * lost text frame in DOCX export (bnc#822175, fdo#58577) * non-smooth lines around fontwork (fdo#60282, fdo#66745) * embedded fonts renders strangely on first load (fdo#67086) * hyperlinks in table of illustrations (bnc#825976, fdo#39904) * Calc reads any number of spaces as a single space (fdo#67094) * initial MCE support in writerfilter OOXML tokenizer (bnc#820503) * several RTF import/export fixes (fdo#39001, fdo#54900, fdo#64637, fdo#65632, fdo#66274, fdo#66565, fdo#66682, fdo#67365) - remove obsolete patches: + buildfix-sdext-poppler-0.23.0.diff: integrated upstream + build-link-rt.diff: integrated upstream - bridges-missing-cxxflags.diff: lost RPM optflags when compiling bridges; it is still not fixed and breaks build on SLED11 i586- disable jfreereport extension for powerpc64- set PYTHON variables using python-config on SLED11 because the pkg-config files are not there - set the PYTHON variables only in the main libreoffice.spec because they are not needed to build help - build-link-rt.diff: liblt is linked with librt, so we need to link the libmerged with librt as well; it fixes the build on SLED11 - use -g1 instead of -g to reduce the memory and disk usage with debugging symbols; note that only .o files need about 12GB when compliled with full debugging symbols- update to 4.1.0.4 with very big help from tchvatal@suse.com - Writer + support font localized forms (fdo#62154) + gradient background in text frames (fdo#46029) + easy rotate images in 90 degree increments (fdo#34423) + non-bitmap DrawingML shapes in DOCX import (fdo#43641) + graphical numbering bullets in DOC, DOCX and RTF import/export + several improvements in comments handling (fdo#38246, fdo#34800, fdo#53442) - Calc + two new graph types (fdo#61135) + allow to export charts into ODC (ODF chart) file format + new functions NUMBERVALUE and SKEWP (fdo#57180, fdo#60322) + import/export more than 45 functions that are new in Excel 2013 + import large HTML documents with more than 64k table cells (fdo#35756) - Impress + option to disable the bundled Presenter Console + "Photo Album" allows to create slideshows from a series of pictures - Base + allow to limit query results - Math + new elements docking panel - General + new gallery images from IBM Symphony + improved hyphenation in Calc and Draw + delete multiple styles at once (fdo#46718) + port Agenda and Web wizards from Java to Python + syntax highlighting of the Basic code in local help + use HarfBuzz instead of the deprecated ICU LayoutEngine + lots fixes and improvements in the right-to-left (RTL) support - Experimental feature: + sidebar from AOO/IBM Symphony with resizeable layout from LO team - Filters + include hyperlinks in SVG export (fdo#47576) + embedding fonts in Writer, Calc, and Impress documents + numerous improvements in the OOXML and RTF import/export filters + allow to include audio and video in more formats: WMA, WMV, AAC, FLV, OGX, RMI MIDI, SND + import more file formats: Microsoft Word for Mac 5.1, Write Now 4.0, MacWrite Pro 1.5, and AppleWorks 6.0 - GUI + many more dialogs with resizeable layout + allow to clear list of recently used documents + easier access to the recently used documents from a toolbar + several search bar improvements (fdo#59101, fdo#58526, fdo#63035) - Performance + asynchronous word count + use a hash for auto-correction + use copy-on-write for RTF import stack + load label descriptions only when needed - Infrastructure + L10ntools refactoring + completed the port from dmake to GNU make - Extensions + ability to translate gallery items + use sensible names for gallery files - several API changes, see https://wiki.documentfoundation.org/ReleaseNotes/4.1#API_Changes for more details - about 3000 fixes of reported bugs, including: * VML paths import (bnc#820504) * broken XLSX export (bnc#823935) * date in XLSX import (bnc#819865) * DOCX import crasher (bnc#382137) * table in DOCX import (bnc#816593) * tab stop in DOC import (bnc#793998) * autosave and macro changes (bnc#817477) * recompile cells with #NAME! (bnc#615317) * undo of paragraph attributes (bnc#828598) * date selection in DOCX import (bnc#820509) * table row spacing in DOCX import (bnc#793262) * Wordart text boxes in DOCX import (bnc#820788) * cell value formatting in XLSX import (bnc#821795) * fFilled shape property in RTF import (bnc#825305) * wrong graphics position in DOCX import (bnc#792778) * line shading/background in PPTX import (bnc#794350) * page specific footer in DOC/DOCX export (bnc#654230) * negative seeks in win32 shell extension (bnc#829017) * freeform shape coordinates in RTF import (bnc#823655) * taskbar launchers pointing to "office.bin" (bnc#777070) * detect whether a Bezier shape is open or closed (bnc#780044) * double-clicking editable fields and macro fields (bnc#802888) * missing last character of shape text in DOCX import (bnc#817956) - update global compiler flags: + add -I/usr/include/mysql-connector on openSUSE 12.3 where the system cppconnector has wrong include paths + remove obsolete -fno-omit-frame-pointer; the bridge test has been fixed - set Python flags using python-config instead of pkg-config on openSUSE < 11.3; it is needed to pass configure - updated patches to apply cleanly: + buildfix-sdext-poppler-0.23.0.diff + install-with-hardlinks.diff + office-cfg-linux-common-template-dir.diff + officecfg-help-in-usr-share.diff + split-help-buildhack-no-vcl.diff + split-icons-search-usr-share.diff + system-poppler-0.12.3.diff - update BuildRequires: + add harfbuzz-devel which is used instead of the deprecated ICU LayoutEngine + enforce some system libraries versions: + liborcus-devel >= 0.5.0 + mdds-devel >= 0.8.0 + remove the obsolete dependency on libzip-devel; it is correctly required by liborcus-devel package - temporary disable mono until the support is ported for this LO version - try to increase the memory limits on i586 to 800; let's see if it makes the build reliable - update 3rd-party tarballs: + commons-codec to 1.6: + new Base32 encode + various character encoding issues + and many more fixes and improvements + icu to 51_1 + many fixes and improvements + commons-lang to 2.4 + lots bugfixes and improvements + mdds to 0.8.1: + added .pc file for pkg-config + several bugfixes and improvements + liblangtag to 0.5.1 + several fixes and enhancements + liborcus to 0.5.1 + date&time related fixes and more + libvisio to 0.0.30 + coverity fixes + performance improvements + implemented B-Spline conversion for xml-based formats + avoid NAN in NURBS code which fixes some freehand curves + libwpg to 0.2.2 + coverity fixes + libwps to 0.2.9 + read the page orientation + improvements in table code + various coverity and style fixes + add support of text frames and pictures + raptor2 to 2.0.9 + many fixes and improvements + rasqal to 0.9.30 + many fixes and improvements + redland to 1.0.16 + many fixes and improvements - add 3rd-party tarballs: + libmwaw, version 0.1.10: + allows to read many pre-OSX MAC file formats + libodfgen, version 0.0.2 + generate ODF documents from libwpd and libwps API calls + harfbuzz, version 0.9.17 + OpenType text shaping engine; used instead of the deprecated ICU LayoutEngine - remove obsolete patches: + solenv-carefull-patching-hack.diff: not needed after using GNU make + buildfix-sfx2-dependency.diff: not needed after using GNU make + bridges-missing-cxxflags.diff: fixed better way + build-max-64-jobs.diff: dmake is not longer used + boost-1.53-part1.patch: upstreamed + boost-1.53-part2.patch: upstreamed + redland-rpath-hack.diff: it seems that it is not needed any more - add fix-collision.patch: correctly split files into subpackages - remove obsolete hack for the fake build time - update configure options: + --enable-ext-mysql-connector was renamed to --enable-ext-mariadb-connector + fallback to the internal libraries on older distributions: + --without-system-libmwaw on openSUSE < 13.1 + --without-system-libodfgen on openSUSE < 13.1 + --without-system-harfbuzz on openSUSE < 12.3 - report builder is not longer an extension- add _constrains to force build on hosts with enough memory (4GB physical RAM, 6GB RAM including swap), and disk space (15GB) - print some information about the build environment: free, df, configure setting result- buildfix-sdext-poppler-0.23.0.diff: fix build with system poppler-0.23.0 - fix typo in sdk package description (bnc#827119)- do not hide icu and lcms2 dependency on openSUSE 12.1, 12.2, and 12.3 where we use the system libraries- remove the internal libicudata.so, libicui18n.so, libicule.so, libicuuc.so, and liblcms2.so libraries from provides and requires; they are not in the system paths and cause dependency problems for other packages (bnc#823111)- update to 4.0.3.3.5 (SUSE 4.0-rc5, tag suse-4.0-5, based on upstream 4.0.3.3) * cairo canvas fixes * fix emfplus windows build. * EmfFillPie fix. (fdo#65502) * EMF: avoid ambiguity in debug output. * fixup alpha bitmap generation for Windows * improved label overlap detection. (bnc#816939) * transform the clipping polygon before using it * improved label overlap detection (bnc#816939) * sw: word completion: do not add trailing '.' (fdo#61923) * fixed libcmis handling of related multipart content types * avoid setting user time on unrealized windows. (fdo#56583) * don't display the "broken OLE link" icon except on Windows * fixed import of custom shapes from PPT. (i#119872, bnc#823049) * don't hide cell content behind pivot table buttons, (fdo#60877) * ignore exceptions from checking with the update service. (fdo#64962) - use the system cairo and pixman again on SLED11; the problems with alpha channel handling were fixed (bnc#818291)- update to 4.0.3.3.4 (SUSE 4.0-rc4, tag suse-4.0-4, based on upstream 4.0.3.3) * WebDAV locking (bnc#805901) * VBA Worksheet.Change support * .dif format unreadable (fdo#64920) * broken Window.* VBA macros (i#06278) * EMF transparency handling (bnc#820385) * nested tables in DOC import (fdo#43105) * cannot delete text in shapes (fdo#63311) * black background in PDF export (bnc#795857) * Base reports crasher (fdo#64279, bnc#821586) * allow to access files uploaded to SharePoint (fdo#62219) * impossible to access lowercase external ranges (fdo#64031) * documents containing "Ž" are mangled in RTF format (fdo#64671) * SUMIF function gives Err:504 for external references (fdo#64229) - add sources for: * cairo version 1.10.2 * pixman version 0.24.4 - use the newer cairo and pixman on SLED11; the old system libraries have problems with alpha channel handling; the proper fix and maintenance would cost a lot, so it looks more effective and safe to use this workaround (bnc#818291) * May 24 2013 by pmladek@suse.com in LibreOffice:Unstable - update to 4.0.3.3.3 (SUSE 4.0-rc3, tag suse-4.0-3, based on upstream 4.0.3.3) * problems with macro DIR$ (fdo#64536) * invalidated java setting (bnc#820196) * image contour editing crasher (fdo#62965) * line alignment in DOCX import (bnc#820792) * typed date decreased by one day (fdo#59850) * missing picture in DOCX import (bnc#819882) * lost custom animations with SVGs (fdo#64512) * missing text boxes in PPT import (bnc#758621) * various problems with VBA Names & Names objects * subform does not properly get focus (fdo#63695) * better size guessing in DOCX import (bnc#779630) * look for alternative about dialog branding again * correct sizes for EMF+ bitmap rendering (bnc#795857) * page breaks between shapes in RTF import (bnc#818997) * broken rotated Draw objects in PDF export (bnc#817250) * text and graphics overlapping in DOC import (bnc#816603) * missing chart boxes and lines in PPTX import (bnc#819614) * form record source events triggered earlier in Base (fdo#63398) * best effort mapping of the OOXML patterns to our hatches (bnc#820786) * crash when browsing CMIS folders with files larger than XGB (fdo#64577) - update libwpd to version 0.9.8: + stability improvement + OLE stream improvements - update libvisio to version 0.0.27 + stability improvements - update libcdr to version 0.0.14 + stability improvements + angle is represented internally in radians (fdo#63734 ) - update libmspub to version 0.0.6 + DropCaps style + wrap and clip path + more gradient types + stability improvements - conflicts with older icon theme packages to make sure that all icon themes are up-to-date * May 17 2013 by pmladek@suse.com in LibreOffice:Unstable - really does not use hardlinks when the save_space feature is not enabled; it can't be used on SLED11-SP1 because the old touch command does not have the --no-dereference option- Fix build with boost-1.53, is also fixed in next release.- wizards-create-temlates-with-python-2.6.diff: Letter and Fax templates can't be created by python-2.6 if ODF file type description uses non-ASCII characters - office-cfg-linux-common-template-dir.diff: keep the default system paths first; the Agenda wizard is not found, otherwise- update to 4.0.3.3.2 (SUSE 4.0-rc2, tag suse-4.0-2, based on upstream 4.0.3.3) * lots crasher fixes * add mono support again * lots other import/export fixes * added and fixed various VBA API * FileDateTime function (fdo#63306) * broken word completion (fdo#62643) * broken YEARFRAC function (fdo#40100) * legacy diagram PPTX import (bnc#699334) * animations inside SmartArt (bnc#705982) * cut/copy icons in Basic IDE (fdo#30545) * table layout in DOCX import (bnc#780645) * VBA macro fails in PageSetUp (bnc#813528) * Firefox plugin not recognized (fdo#54087) * decimal and group separators were swapped * no sound with statement "beep" (fdo#58807) * shapes location in DOCX import (bnc#816583) * search is always case sensitive (fdo#63779) * unable to save on Samba via GVFS (fdo#54275) * slide show mode inverts outputs (rhbz#906137) * reorder toolbars in formula editor (fdo#63350) * wrong bullet color in PPTX import (bnc#719988) * splitting a table options are mixed (fdo#62670) * pull-down selections in DOCX import (bnc#779630) * shape with background in XLSX import (bnc#798309) * autocorrect options can not be closed (fdo#57905) * import of scattered and bubble charts (bnc#810508) * transparent background in EMF+ import (bnc#812793) * wrong background color in PPTX import (bnc#734733) * allow to use more than 3 sort criteria (fdo#51828) * 'Personas' are called 'Themes' and changed location * frame's background color in DOCX import (bnc#592908) * bullet points are not indented correctly (bnc#793414) * axis labels with percentage in PPTX import (bnc#813291) * do not freeze in picture dialog without JRE (fdo#57553) * better fix for default PDF export directory (bnc#777788) * implement easy access to the recent documents (bnc#816516) * really use the setting how to follow hyperlinks (fdo#51296) * keep migrating user extensions after one failed (deb#703486) * support MS Office and Flat ODF file types in Mozilla plug-in * impossible to assign a macro to a drawing or picture (fdo#62797) * VBA macro fails with error "Incorrect Property Value" (bnc#809017) * broken surrounding text support (STS) for Input Methods (fdo#63802) * VBA macro fails with "objCmd.ActiveConnection = Nothing" (bnc#805071) * several template manager fixes (fdo#60581, fdo#60844, fdo#61389, fdo#61390) * several Base Report Builder fixes (fdo#33091, fdo#36858, fdo#48056, fdo#61564, i#112652, i#108092) * several RTL support fixes (fdo#33302, fdo#38951, fdo#59117, fdo#60533, fdo#60554, fdo#60855, fdo#62050, fdo#62143, fdo#62399, fdo#63878, fdo#37464, fdo#59892) - update libvisio to version 0.0.26: * extend the encoding support * several other fixes and improvements - update libcdr to version 0.0.13: * text color, CDR, txsm, and other fixes - removed obsolete patches: * touch-no-dereference.diff * libreoffice-poppler-0.17.0-reject-fix.diff - system-poppler-0.12.3.diff: easier approach to build with system poppler, version 0.12.3 - enable mono build again- use --enable-gstreamer-0-10 configure option to make sure that we use the stable implementation- buildfix-sfx2-dependency.diff: svx headers started to be used in sfx2* solenv-touch-no-dereference.diff: touch --no-dereference in not available on SLED11-SP1 and it is not needed when not using hardlinks- update to 4.0.2.2.1 (SUSE 4.0-rc1, tag suse-4.0-1, based on upstream 4.0.2.2) * icon style fixes in local help * left margin of bullet (bnc#793414) * color issue in PPTX import (bnc#780830) * file corruption in XLSX export (fdo#49120) * rehash basic unit test framework (bnc#805071) * display the scaled font size in the toolbar (bnc#657905) * use number format, if available, for charts (bnc#734735) * only en-US help pack should contain en-US help (fdo#54278) * shape with background are missed in XLSX import (bnc#798309) * detect follow-on default member of default member object (bnc#809017) * change the font combo tooltip to say font is not available (fate#308255) - enable the MySQL connector extension on the older SUSE distros again- update to 4.0.2.2: * slide show mode inverts outputs (rhbz#906137) * splitting a table options are mixed (fdo#62670) * some historical dates were decremented (fdo#44286) * Visio document cannot be opened by Draw (fdo#62299) * Turkish Lira sign should precede numbers (fdo#62384) * left/right-only page styles and first-page (fdo#61952) * hangs when exporting a particular ODS to XLSX (fdo#62111) * crash in Danish thesaurus/spell interaction (rhbz#918938) * error bars values become Y-values when pasting (fdo#52159) * saving particular ODG file resets font formatting (fdo#61256) * displaying subobjects on different layers is broken (fdo#62617) * wrong result because 'Property Let' fails to execute (fdo#60752) * keep migrating more user extensions after one failed (deb#703486) * implement ODF export of multi-paragraph comment ranges (fdo#60769) * unable to save documents on Samba with Gnome VFS (fdo#54275, rhbz#895690)- Try once more and sort all the deps.- Use mysql-connector-cpp not mysql-connector-c++.- use -fno-omit-frame-pointer globally again until LibreOffice-4.1 where the ordering of compilation flags is reworked; the current situation causes build (bridge test) failure on i586 systems - fix filtering of provides and requires (bnc#809449) - disable it on openSUSE >= 12.3 because we use system libraries there - system cairo and pixman are used on all systems - the internal librdf, libraptor, and librasqal has used -lo suffix, so the names do not longer cause confusion with the system libraries- update to 4.0.2.1: * faster image scaling * XLSX import speedup (fdo#61721) * several EMF+ import filter fixes * lost data in CSV import (fdo#57841) * wrong Chinese conversion (fdo#57536) * lost picture in PPT import (i#119513) * ask when removing templates (fdo#61466) * send document as email fails (fdo#60701) * autocorrect data for Catalan (fdo#61138) * pie chart height in XLS import (i#119989) * Calc crash when using Validity (fdo#58630) * floating tables in DOCX import (bnc#779642) * lost time-format in pivot table (fdo#54651) * more on configuration migration (fdo#57061) * corrupted conditional formatting (fdo#57661) * drawings are shown at wrong position (fdo#56272) * handle note export correctly in Calc (fdo#61165) * insert->hyperlink in Impress freeze (rhbz#915743) * lost content in DOCX import (fdo#53985, fdo#60789) * not updating accessible text interface (fdo#56031) * missing default Turkish currency symbol (fdo#61602) * broken functionality on page layout tab (fdo#61656) * field shows no content in page header/footer (fdo#60886) * several Calc error bars fixes (fdo#60253, fdo#60083, fdo#61781) * can't copy text from a read-only document in Calc (rhbz#916936) * various fixes in RTF import (fdo#53594, fdo#59638, fdo#60722, fdo#61507) - update libcdr to version 0.0.11: * various fixes in Corel Draw import (fdo#53278, fdo#54586, fdo#55366, fdo#59528) - build-max-64-jobs.diff: dmake does not work with more than 64 jobs - touch-no-dereference.diff: avoid race condition when delivering symlinks and target files into solver - do not longer use -fno-omit-frame-pointer globally; the problem is better fixed in the plain sources and the build does not fail any longer- update to 4.0.1.2: * mouse selection of fields (fdo#59928) * basic EMF+ implementation (bnc#780748) * selected gluepoint rendering (fdo#45879) * Paste special of Visio object (fdo#59405) * corrected SVG gradient primitive (i#120616) * charts not plotted automatically (fdo#60488) * get error bar import working again (fdo#60083) * autofit and stretched width (fdo#55931, fdo#57956) * migrate even more configuration setting (fdo#57061) * decimal numbers in conditional formatting (fdo#60574) * cut&paste of conditional format (fdo#60306, fdo#60311) * do not extend conditional formatting automatically (fdo#60828) * empty paragraphs in EditEngine layouting (i#119756, fdo#59629) * ocMacro and ocExternal need to be recalculated on load (fdo#60977) - temporary use the internal libcmis on openSUSE-12.3 until the system one is updated to version 0.3.1 - update libvisio to version 0.0.25: * better embedded binary dumping * initial support of page names (fdo#60433)- update to 4.0.1.1: * asynchronous word-count * several CMIS support fixes * sort data points (bnc#590020) * spread button layout (fdo#59767) * copy chart leads to crash (fdo#60420) * several fixes of the template manager * faster about box rendering (fdo#59970) * several fixes for Impress remote control * several RTL fixes (fdo#42387, fdo#39370) * copy margins for mirrored pages (fdo#60250) * corrected XLSX export of functions (fdo#60087) * more on the configuration migration (fdo#57061) * copy custom styles on copy & paste (rhbz#760765) * horizontal scroll bar in sub windows (fdo#44582) * correctly calculate IMCSCH and IMSECH (fdo#60078) * protection and conditional formatting (fdo#58826) * sort autofilter popup items correctly (bnc#492440) * cell validation is not a special content (bnc#802350) * don't crash on undoing text frame removal (fdo#34548) * error reading file after inserting comment (fdo#60132) * produce all translations for desktop files (fdo#58283) * make MATCH() accept a single cell reference (fdo#60366) * enable internal entity declarations for SVG (fdo#60471) * repeated row heights for empty rows (fdo#59973, fdo#55621) * default paths for exporting documents and PDFs (bnc#777788) * drawing text with font size 0 causes artifacts (bnc#753462) * scan all columns to determine the first data row (bnc#801152) * cannot select directory with GNOME folder picker (rhbz#910176) * hide minimum password info in the password dialog (bnc#437516) * make it possible to update DDE links after loading (fdo#59032) * cell needs to be recalculated during import as well (fdo#60645) * crash when pasting text under outline view (fdo#51232, i#119987) * fontconfig support for multiple in (lp#1034928) * export/import anchoring for XLS(X) drawing & ole objects (fdo#58360) * read-only position after fieldmark and before annotation (fdo#59573) * show style when dialog is created with existing cond. format (fdo#59778) * text rotation in shapes in PPTX export (fdo#34897, bnc#404221, fdo#58204) * recompile cells with #NAME! for English function name option (bnc#615357) * several RTF import fixes (fdo#48440, fdo#58646, fdo#59419, fdo#58076, fdo#59953) - update libcdr to version 0.0.10 * use ICU to guess encoding * some bug fixes - update libmspub to version 0.0.5 * autodetect character set for pre-unicode MSPUB versions * missing non-cropped images * default to first default character style * other fixes and build fixes - update sofficerc-upstream according to the new branding - bin obsolete configure-detect-icerun.diff * Feb 12 2013 by tchvatal@suse.com in LibreOffice:Unstable - Try to enable build on ppc64. * Feb 6 2013 by pmladek@suse.com in LibreOffice:Unstable - enable startup notification (bnc#796875) - remove obsolete unopkg calls from post install scripts; the cache is removed by the main package and not longer used (bnc#769448) - temporary add libzip-devel into BuildRequires; it can be removed once the fixes liborcus package is available in Factory * Feb 4 2013 by pmladek@suse.com in LibreOffice:Unstable - use libreoffice-branding >= 4.0 build requires; we need the optimized one (bnc#798268) - configure-detect-icerun.diff: icerun wrapper is not provided by the old icecream-0.9.2 on SLED11 * Jan 22 2013 by tchvatal@suse.com in LibreOffice:Unstable - update to 4.0.0.3 * lots fixes - build_prepare.inc: share the common build preparation steps between spec files - use a fake build time instead of __TIME__ and __DATE__ macros to avoid unnecessary recompilations in the build service * Jan 9 2013 by pmladek@suse.com in LibreOffice:Unstable - libreoffice-branding >= 3.6 is compatible; use in Requires - bridges-missing-cxxflags.diff: lost RPM optflags when compiling bridges * Jan 9 2013 by tchvatal@suse.com in LibreOffice:Unstable - update to 4.0.0.1 * lots fixes * Dec 19 2012 by tchvatal@suse.com in LibreOffice:Unstable - update to 4.0.0.0.beta2 * lots fixes * Dec 19 2012 by tchvatal@suse.com in LibreOffice:Unstable - update to 4.0.0.0.beta1: - General * experimental Gnumeric import * Visio and MS Publisher document import * experimental send documents via Bluetooth * Java options merged with advanced options * integration Content Management Systems via CMIS standard * import Calc data from arbitrarily structured XML content * lots improvements in OOXML and RTF import and export filters - Writer * easier fields selection * different header and footer on the first page * extra word boundary characters and word count options * attaching comments to document text ranges (fdo#38244) - Calc * enhanced chart visualisation * automatically rotate chart axis to better fit * lots conditional formatting improvements and fixes * support "type-ahead" search in the autofilter popup * increase size limit of ODF documents from 2GB to 4GB * export single charts as PNG or JPEG pictures (fdo#30944) * support multiple selections in page field of pivot table * better random number generation algorithm in function RAND * option pricing in particular barrier: OPT_BARRIER, OPT_TOUCH * option to toggle handling of empty strings in arithmetic expressions * show saved values instead of recalculating formulas in ODS and XLSX import * new functions as defined in ODF OpenFormula: XOR, AVERAGEIF, SUMIFS, AVERAGEIFS, COUNTIFS, IFERROR, and IFNA - Impress * presenter console RTL support * much accelerated multimedia previews * remote control application for Android, Linux only now - Draw * shear transformations * rounded caps (ends) of lines * better quality of page previews * multi-image support in ODF, for example, bitmap + SVG representation - Base * AutoFilter does not anymore treat values as patterns in forms * new driver to access Thunderbird address book, Linux and MAC only - UI * new templates manager * support Firefox Personas * several resizable dialogs * dialog for smooth image filter * better quality of displayed pictures * allow to cut&paste text from message boxes * style preview in the "Apply Style" combo box * allow to resize and recompress pictures from popup menu * hide and show styles in the “Styles & Formatting” dialog * allow to edit data with external tool in to Calc, Impress, and Draw - Performance * faster ODS, XLSX, and RTF import * faster and better ICU regular expression engine * faster saving of a new entry to a large autocorrect replacement table * faster import/export of slides and drawings with large numbers of shapes - Feature Removal / Deprecation * new style services * deprecated and removed several UNO APIs * convert all existing oneway API methods to plain methods * drop support for defining oneway methods using UNO IDL compiler * drop support for legacy binary StarOffice (version 1.x → 5.x) files * drop support for export to legacy Word and Excel (version 6.0/95) files - see https://wiki.documentfoundation.org/ReleaseNotes/4.0 for more details - remove unused MeeGo build modifications - remove KDE4 hack for obsolete openSUSE-11.1-Evergreen - use xz tarballs instead of bz ones - add xz into BuildRequires; explicitly needed on older SUSE versions - add fdupes into BuildRequies - add into Build Requires: * xz to unpack source tarballs even on older SUSE distros * fdups to reduce duplicities in the installed files * bluez-devel to support remore control using BlueTooth - add more system libraries into BuildRequires on openSUSE => 12.3: * clucene-core-devel * graphite2-devel * hyphen-devel * libcdr-devel * libcmis-devel * libexttextcat-devel * liblangtag-devel * libmspub-devel * liborcus-devel * libredland-devel * libvisio-devel * mdds-devel * mysql-connector-c++-devel * mythes-devel * ucpp - remove unused build_module_in_parallel and remove obsolete test_build_binfilters defines - update extensions: * numbertext to version 0.9.5 * gdocs to version 3.0.1 - update 3rd-party source tarballs: * postgresql to version 9.2.1 * libcmis to version 0.3.0 * lcms2 to version 2.4 * graphite2 to version 1.2.0 * libexttextcat to version 3.4.0 * hyphen to version 2.8.4 * libvisio to version 0.0.24 * libwpd to version 0.9.6 * mythes to version 1.2.3 - removed md5sum from the 3rd-party source tarball name: * libcdr - removed obsolete libreoffice-binfilter source tarball - removed obsolete 3rd-party source tarballs: * bj * lucene * librsvg * SampleICC - add new 3rd-party tarballs: * ucpp, version 1.3.2: * C preprocessor compliant to ISO-C99 * liblangtag, version 0.4.0: * access tags for identifying languages * icu, version 4c-49.1.1: * icu data subset, version 49l: * International Components for Unicode * liborcus version 0.3.0: * library for processing spreadsheet documents * libmspub-0.0.3: * MS Publisher format import - bin obsolete patches: * pack-addressbook.diff * sdext-poppler-0.21.0.diff * sdext-poppler-0.21.1.diff * install-with-vendor-SUSE.diff * solenv-java-source-version.diff * split-icons-search-usr-share.diff * scripting-prefer-internal-rhino.diff * sdext-disable-failing-xpdf-test.diff * libreoffice-poppler-0.17.0-reject-fix.diff * do-not-delete-PropertyMapEntry-instance.diff * officecfg-defaul-export-ms-file-formats.diff * pack-desktop-files-for-optional-filters.diff - system-python-ure-bootstrap.diff and pyuno-path.diff merged into system-pyuno.diff - remove obsolete configure switches: * --disable-ldap \ * --disable-mozilla \ * --enable-xmlsec \ * --enable-binfilter * --disable-strip-solver * --without-stlport \ * --without-system-mozilla \ * --with-openldap \ * --with-java-target-version=1.5 - use configure switches: * --enable-release-build: use the "LibreOffice" name for the final product * --enable-merge-libs: linking of big merged libraries * --enable-python=system: make sure that we use the system Python * --without-system-icu: system ICU is too old on openSUSE < 12.1 * --enable-scripting-beanshell: renamed from - -enable-ext-scripting-beanshell * --enable-scripting-javascript: renamed from - -enable-ext-scripting-javascript * --without-system-npapi-headers: renamed from - -without-system-mozilla-headers - use more configure switches because some system libraries are not useful on openSUSE < 12.3: * --with-system-ucpp * --without-system-altlinuxhyph * --without-system-clucene * --without-system-graphite * --without-system-libcdr * --without-system-libcmis * --without-system-libexttextcat * --without-system-liblangtag * --without-system-libmspub * --without-system-libvisio * --without-system-mythes * --without-system-mysql-cppconn * --without-system-orcus * --without-system-redland * --without-system-servlet-api - reduce duplicities by fdupes - Python script provider, PDF Import, and Presenter Screen are not longer extensions- make sure that StartupNotify=true is written into the [Desktop Entry] section (bnc#796875)- enable startup notification (bnc#796875)- do-not-delete-PropertyMapEntry-instance.diff: lost charts (bnc#798271)- update to 3.6.3.2.4 (SUSE 3.6-rc4, tag suse-3.6-4, based on upstream 3.6.3.2) * broken VML import * missing "/" in .icedove path * XLSX import crasher (fdo#57451) * DOCX import crasher (fdo#55289) * data corruption with XLSX import * wrong textbox size in DOCX import * more robust removal of bug title prefix * unopkg GUI does not remove lock (fdo#51638) * apparent loop in style hierarchy (fdo#49587) * incorrect right-aligned tabstops (fdo#52640) * use snap rectangle instead of logic rectangle * crash when removing PivotTable group (fdo#57497) * drawing object in DOC import crasher (fdo#57780) * DOT files sometimes rejected by writer (bnc#793422) * do not crash when setting too small size (fdo#57611) * unable to open some MS Word 97 documents (fdo#57532) * frame selection in header/footer (fdo#52182,fdo#58142) * make presentation spanning all screens work (bnc#758138) * better placement of 3D pie chart data labels (bnc#791952) * format paintbrush only modifies last paragraph (fdo#53508) * broken character styles in RTF import (fdo#57133, fdo#54473) * crash in format->autocorrect->apply and edit changes (fdo#56549) * more default date acceptance patterns (fdo#52240, fdo#52240, fdo#57668)- update to 3.6.3.2.3 (SUSE 3.6-rc3, tag suse-3.6-3, based on upstream 3.6.3.2) * hyperlink DOCX export (bnc#789482) * delete also note caption (fdo#56584) * numbers as text conversion (fdo#55875) * special pages in DOC import (fdo#53909) * column width in DOCX Import (bnc#780645) * test equality by order index (fdo#54898) * shrunken text in DOCX import (bnc#773061) * better input field selection (bnc#780277) * accept fraction input if preset (fdo#55369) * fraction formats with hard denom (fdo#56205) * broken bold text in presentation (fdo#47432) * non-math/chart OLE in DOCX export (fdo#51550) * embedded spreadsheets in PPTX export (bnc#780830) * remove conditional formats without range (fdo#56983) * rotated text in emf images looks thicker (bnc#782833) * nicer toolbars even for XP, not only Vista and higher * only set entries for existing sort entries (fdo#56958) * squashed glyphs with Cairo canvas (fdo#55931, bnc#681110) * change in formula options should cause repaint (fdo#56776) * make sure that the sort vector is large enough (fdo#56958) * update default Hebrew font to Lucida Sans Unicode (fdo#55034) * broadcast deletion to dependent formula cells (fdo#53364, i#101869, fdo#54074, fdo#56278, fdo#55059, i#99844) - bin obsolete orbit2-devel from BuildRequires - bin obsolete build-i18npool-with-icu-4.0.diff - sdext-poppler-0.21.1.diff: fix build with poppler-0.21.1- build with debug symbols fails in OBS when creating RPMs because there is not enough space in the virtual machines; try to save some space in the %%install phase: * install-with-hardlinks.diff: use hardlinks in BuildRoot * remove the huge translation sources * use these hacks only when %save_space == 1- update to 3.6.3.2.2 (SUSE 3.6-rc2, tag suse-3.6-2, based on upstream 3.6.3.2) * OOXML color export * faster sorted cache write-out * table undo crasher (rh#852128) * skipped merged cells (fdo#54862) * some new ADO constants (bnc#787452) * can't connect ADO source (fdo#53070) * overflowing left margin (bnc#707779) * parent style in XLSX import (fdo#55198) * layout format in DOC export (fdo#54648) * section break in DOCX import (fdo#52208) * correct hex color conversion (fdo#55800) * column width in DOCX import (bnc#785767) * table spacing in DOCX import (bnc#778836) * table position in DOCX import (bnc#780645) * allow adding external templates (bnc#782597) * broken time field in page header (fdo#53531) * crash on switching to outline view (rh#855972) * wrong conversion factor for "tspm" (fdo#55367) * text rotation handling (bnc#773048, bnc#783433) * crash when deleting last table cell (rh#689053) * column has no Catalog/Schema/Table name crasher * upside down text box in PPTX import (bnc#757387) * work with empty TrustedAuthor entries (fdo#55019) * hard coded sheet limit in XLSX import (rh#864858) * faster updating of row flags in pivot table cache * slide fragment handling in DOCX import (bnc#785727) * subscript/superscript with autofit text (fdo#55931) * more intuitive editing of relative refs (fdo#54940) * do not double-expand bootstrap variables (fdo#55138) * add back compatible Hungarian date format acceptance * cell notes upon cell insertion / deletion (fdo#55885) * import values and formulas from lotus-123 (fdo#55066) * default table cell margins in DOCX export (bnc#780645) * chart complex category placement (fdo#44832, fdo#55297) * crash on DOCX export of inline anchored frame (fdo#48569) * cyclic references in XLSX import (bnc#781166, bnc#780296) * corrupted styles with multi-saved XLSX document (fdo#55418) * inform about unsupported PDF encryption formats (rh#826526) * exchange sort settings between the two tab pages (fdo#53482) * correctly clear DataColumns read-only information (fdo#37529) * misc broadcaster cells fixes (fdo#54553, fdo#55712, fdo#55059) * crash with 0 dyaLinePitch in DOCX import (fdo#40686, rh#831755) * hiding windows based on "Visible" property (fdo#46071, fdo#46074) * ignore time stamp differences in XLSX import (fdo#54609, fdo#49819) * doubled '~' in German OK/Cancel translations (fdo#56281, rh#868479) * display upper case Greek letters in page numbering option (fdo#55732) * misc ODF export fixes (fdo#30711, fdo#49678, fdo#49677, fdo#49876, fdo#49571, fdo#45700) * various conditional formatting fixes (fdo#54749, fdo#55379, fdo#56316, fdo#52535, fdo#54661, fdo#54555, fdo#54349) * several RTF import/export fixes (fdo#48442, fdo#55526, fdo#52475, fdo#50539, fdo#55939, fdo#52389, fdo#55493, fdo#49655, fdo#52989) - update mdds to version 0.6.1: * mixed_type_matrix: speed up * flat_segment_tree, point_quad_tree: broken iterator implementation * multi_type_vector(new): efficient storage of data of different types * multi_type_matrix(new): eventually replace mixed_type_matrix - update libcdr to version 0.0.9: * better color import (fdo#54785, fdo#55522) * bin obsolete patches: * mono-enable-climaker-stuff-in-unoil.diff * mono-install-cli-when-mono-enabled.diff * mono-install-mono-before-finalizing-filelits.diff * pack-addressbook.diff: correctly pack KDE and TDE addressbook (bnc#779697) - flat_logo.svg need to be modified by the branding packages - update mime, desktop files, and icon theme cache from the main package - update desktop files cache also from subpackages that install desktop files (bnc#782638) - sync the prebuilt sofficerc with upstream sources- sdext-poppler-0.21.0.diff: fix build with poppler-0.21.0 - libreoffice-poppler-0.17.0-reject-fix.diff: reject the check for poppler-0.21.0 on too old distributions - mono-enable-climaker-stuff-in-unoil.diff: support also prebuilt dlls - do not pack obsolete README-mono; keep it in sources for future- updated to version 3.6.2.2.1 (SUSE 3.6 rc1 based on upstream 3.6.2.2) - upstream changes: * hyperlinks import (fdo#53175) * math export/import in DOCX/RTF * toupper is unreliable (fdo#53252) * broadcaster cells are empty (fdo#54553) * various DOCX shape export fixes (fdo#53113) * compile extension help in gbuild (fdo#53009) * use correct cell for broadcasting (fdo#55059) * multiline tooltip for very long texts (i#42424) * missing thumbnail image in ODB files (fdo#53592) * check for non existing style entries (fdo#53339) * CSV space delimiter and quoted field (fdo#53325) * install Evolution DB driver correctly (fdo#54450) * clear DataColumns read-only information (fdo#37529) * be more careful when recognizing MathML (bnc#774921) * numbering level problems in PPTX import (bnc#760019) * disable unlink graphics in Report Builder (fdo#53001) * exception while importing XLSX (fdo#54609, fdo#45366) * import values and formulas from Lotus 123 (fdo#55066) * Report Design: fix section draw page crash (fdo#53872) * reset read-only UI after successful Save As (fdo#53280) * page breaks on landscape pages in RTF import (fdo#52052) * do not register shell extensions for Flat ODF (fdo#52078) * handle .xlsm link to external sheet with space (fdo#51926) * import group shapes position and size correctly (fdo#53229) * positions of cell-anchored objects in ODS import (fdo#54695) * do not display error dialogs while showing a menu (fdo#36149) * user editable date patterns (fdo#52240, fdo#52137, fdo#52288) * don't use a timer to show header/footer separators (fdo#46141) * force version 2.1 of the sRGB profile for PDF/A-1a (fdo#54546) * pivot table uses case insensitive string comparison (fdo#53929) * ensure that the extension for text is .txt from writer (fdo#52451) * more "doesn't start after upgrade" problems (fdo#53655, fdo#53968) * VBA not tracking currently selected document correctly (fdo#54721) * allow paste & paste special for non-matching dest range (fdo#46250) * convert filter value as LIKE pattern only on (NOT) LIKE (fdo#53887) * correctly cache source data coming from database backend (fdo#53640) * sync cell context menu & edit menu 'PasteSpecial' entries (fdo#46250) * when swapping cols or rows insert notes at the right place (fdo#53979) * do not double-escape (e.g. date) literals as strings in Base (fdo#46480) * word count is inconsistent and wrong with non-breaking space (fdo#53399) * allow Ctrl-TAB and Ctrl-Shift-TAB to cycle through candidates (fdo#48868) * conditional formatting fixes (fdo#53424, fdo#54749, fdo#53839, fdo#54498, fdo#52340, fdo#52535, fdo#54661, fdo#54349) - extra changes: * background import (bnc#759180) * text rotation fixes (bnc#783433) * corrupted PPTX export (fdo#41992) * text offsets in shapes (bnc#771549) * VML import improvements (bnc#779627) * various conditional formatting fixes * hidden/non-wrapping text (bnc#757419) * issues with bullet points (bnc#778854) * background in PPTX import (bnc#783202) * empty values in PPT import (fdo#55298) * parent style in XLSX import (fdo#55198) * adjust chart layout distance (bnc#759197) * clip the objects to the page (bnc#777699) * clip pictures instead of scaling (bnc#775270) * don't access out of bound array index (fdo#55022) * non-autofit text imported as autofit (bnc#778859) * conditional format range for XLS import (fdo#54555) * slide notesMaster and notes in PPTX import (bnc#768027) * chart complex category placements (fdo#44832, fdo#55297) * PPTX shape margins need to be rotated as well (bnc#773048) * mouse pointer over URLs with background image (bnc#778148) * better PPTX custom shape presets import/export (bnc#760997) * cyclic referenced defined names in PPTX import (bnc#781166, bnc#780296) * fix for regression, failure to export vertical text in shape (fdo#55565) * more on DOC/DOCX export/import filters (bnc#779627, bnc#778140, bnc#783638, bnc#782061, bnc#780853, bnc#780843, bnc#778828, bnc#778836, bnc#777337, bnc#781825, bnc#773061, bnc#780563, bnc#782345, bnc#777345, bnc#778133, bnc#780851) - build-i18npool-with-icu-4.0.diff: use a function provided already by icu-4.0 - mono-install-mono-before-finalizing-filelits.diff, - mono-enable-climaker-stuff-in-unoil.diff, mono-install-cli-when-mono-enabled.diff: fix build with mono on SLED11 * Aug 24 2012 by pmladek@suse.com in LibreOffice:Unstable - update version 3.6.1.2 * chart binfilter import * PPTX import crasher (bnc#774167) * painting at small zoom (fdo#53439) * several DOCX export bugs (fdo#52610) * report builder translations (fdo#52427) * discard broken embedded object previews * hiding all sections crasher (fdo#53210) * fixed the end of hyperlinks (fdo#53175) * report design wizard crasher (fdo#53154) * hidden MediaWiki options page (fdo#52232) * CSV fixed width import crasher (fdo#53012) * HYPERLINK field in DOCX import (fdo#51034) * better textbox DOC/DOCX export (fdo#45724) * shadow color on partial redraw (bnc#773515) * search Toolbar keeps its history (fdo#49750) * change checkbox no-label behaviour (fdo#51336) * undo of textbox resizing (fdo#46968, fdo#36138) * page style attributes in ODF import (fdo#38056) * missing footnote DOCX/DOC/RTF export (fdo#46020) * check for non existing style entries (fdo#53339) * CSV space delimiter and quoted field (fdo#53325) * collapsing merged table border painting (fdo#39812) * do not force all text cells in CSV import (fdo#52205) * do not show backing window on --nodefault (fdo#42470) * misc Basic IDE fixes (fdo#50633, fdo#50632, fdo#40152) * lose focus event to close popup (fdo#51943, fdo#48096) * report-builder does not show any properties (fdo#52399) * insert selected text to Findbar by [Ctrl-F] (fdo#37791) * reset read-only UI after successful Save As (fdo#53280) * zero rect. size causing wrong line positions (fdo#47434) * initialize pivot tables after the formula cells (fdo#53456) * mark manual row heights correctly during import (fdo#52393) * auto extension handling in KDE Open/Save dialogs (fdo#52546) * display themed progress bar instead of the native one (fdo#51890) * font Size Enlarge And Reduce Shortcut in Impress/Draw (fdo#51716) * avoid setting valid numbers as text during HTML import (fdo#53089) * certain SmartArt drawings are not imported (bnc#759210, fdo#50907) * cross-reference text when Caption order is Numbering first (fdo#50801) * abbreviated date acceptance patterns for [de-{AT,CH,LI,LU}] (fdo#52240) * problems with bundled extensions (fdo#53006, fdo#51252, fdo#52639, fdo#53655) * misc conditional formatting fixes (fdo#52565, fdo#52340, fdo#53010, fdo#52457, fdo#52351) * misc RTF import/export fixes (fdo#51772, fdo#47495, fdo#48033, fdo#52066, fdo#49892, fdo#48446, fdo#49892, fdo#51772) - update to libvisio 0.0.19: * file displays as blank page in Draw (fdo#50990) - enable localizations: Amharic(am), Assamese(as), Asturian(ast), Esperanto(eo), Basque(eu), Scottish Gaelic(gd), Indonesian(id), Icelandic(is), Kannada(kn), Malayalam(ml), Marathi(mr), Oromo(or), Oriya(or), Romanian(ro)(bnc#776323) - the system cache for bundled extensions causes troubles (fdo#53006, fdo#51252) * do not longer create it; remove the older one * remove obsolete force-refresh-of-bundled-extension-cache.diff * Aug 9 2012 by pmladek@suse.com in LibreOffice:Unstable - use the vendor "SUSE" instead of "Novell, inc."; SUSE has become a separate business unit inside The Attachmate Group - install-with-vendor-SUSE.diff: use "SUSE" in the install scripts - make sure that the system extensions cache is considered as newer after an update; we really need to use the below mentioned hack for 3.6.0 release * Jul 30 2012 by pmladek@suse.com in LibreOffice:Unstable - force-refresh-of-bundled-extension-cache.diff: avoid mismatched bundled extensions cache that causes application to do not start * Jul 27 2012 by pmladek@suse.com in LibreOffice:Unstable - update version 3.6.0.4 * lots border fixes * lots RTF import fixes * support colored axis in data bars * VML shapes without anchor (bnc#758883) * better page descriptor handling in RTF * reclaim space occupied by deleted rows * data form dialog layout fix (fdo#47947) * make reportbuilder work again (fdo#51278) * indicate UI language as default (fdo#45830) * double deletion of a text portion (fdo#51582) * page style attributes in ODF import (fdo#38056) * presenter console display switching (fdo#521512) * lost custom row height in ODT import (fdo#52393) * remove duplication of License/Credits information * correctly calculate scroll bar position (fdo#51599) * few layout problems in conditional formatting dialog * do not force all text cells in CSV import (fdo#52205) * incomplete slide number info in status bar (fdo#51543) * Estonian translation for keyboard shortcuts (fdo#50415) * preserve sheet name input of invalid reference (fdo#46338) * cache fontconfig font substitutions (fdo#41556, fdo#47636) * incremental search and buffer switching crasher (fdo#51577) * abbreviated date acceptance patterns for German languages (fdo#52240) * formula performance improvement for XLSX import (bnc#765942, bnc#763168) * make ctrl-8 and 9 increase/decrease font size in Swedish (fdo#36187) * undocked toolbars do not show all icons in special ratio (fdo#47071) * lots different import fixes (bnc#758883, bnc#766481, bnc#766487, fdo#46966, bnc#693238, bnc#758883, bnc#758883, bnc#766487, bnc#758883, bnc#758883) - update libvisio to version 0.0.18: * Greek code page instead the Russian code page (fdo#48602) - update libcmis to version 0.2.3: * SharePoint support - bin obsolete patches: * gtk3-build-dependency.diff * checkdll-libbf_xolo.so-crasher-with-gcc-4.7.diff - reduce build parallelism to reduce build crashes: * dmake support 64 jobs at maximum * do not eat all memory with some huge sources - add procps into BuildRequires to check available memory * Jun 26 2012 by pmladek@suse.com in LibreOffice:Unstable - checkdll-libbf_xolo.so-crasher-with-gcc-4.7.diff: hack to avoid build crasher * Jun 22 2012 by pmladek@suse.com in LibreOffice:Unstable - update version 3.6.0.0.beta2: * color scale dialog behavior * do not crash on X errors in GTK * help stylesheets and error page * clipped toolbar item (fdo#42379) * switch to the new version scheme * table AutoFormat crasher (fdo#50896) * word count bugs (fdo#46757, fdo#50141) * feature: conditional formatting in Calc * ignored small size icon setting (fdo#35972) * reading two SmartArt shapes in one document * improve line height calculation (bnc#757905) * missing ole and form controls in XLSX import * add Hide and Show items into tab context menu * dates formatting in report designer (fdo#43967) * evoab2: add libebook-1.2.so.13 (evolution 3.4) * ignored picture background setting (bnc#325936) * Calc input line: crash with accessibility enabled * all images missing in PresenterConsole (fdo#50964) * improve the toolbars look in Windows Vista or later * Visio import fixes (fdo#50868, fdo#50988, fdo#48601) * more on RTF import (fdo#49178, fdo#49659, fdo#50087) * proxy or browser plug-in settings crasher (fdo#47044) * rework handling of recursive OOXML shapes (bnc#705956) * more descriptive compatibility key bindings (fdo#31812) * local help short cuts (fdo#41830, fdo#39139, fdo#46143) * Win/VC++ STL messes up the name space vector (bnc#759982) * changing the keyboard of the slide show button (bnc#753458) * section break and page style conversion problem (bnc#750935) * more on borders (fdo#38116, fdo#43249, fdo#48647, fdo#49438) * wrong transitions with hardware acceleration enabled (fdo#30519) * import VMLshape 'hidden' style attribute and controls (bnc#757609) - update libcdr to version 0.0.8: * initial text support - update libwps to version 0.2.7 * lots fixes and improvements - add lcms2, version 2.3 * system one is not available on openSUSE <= 11.3 - add boost, version 1.44.0: * the system one has broken dst_adjustment_offsets definition on openSUSE <= 11.3 (bnc#767949) - bin obsolete patches: * config-host-source.diff * sysui-set-default-unixwrappername.diff - gtk3-build-dependency.diff: get build flags for gmodule when building GTK3 support - sdext-disable-failing-xpdf-test.diff: temporary disable failing xpdf test in Factory * Jun 15 2012 by pmladek@suse.com in LibreOffice:Unstable - added krb5-devel into BuildRequires; needed to build PostgreSQL * Jun 14 2012 by pmladek@suse.com in LibreOffice:Unstable - updated to libreoffice-3.5.99.1 (3.6.0-beta1) - Writer * word count in status bar * contextual spacing support * extended "Table AutoFormats" * extended paintbrush format handling * improved Label and Business card support * Ctrl with [ or with ] modifies font size of the selected text * show Text Boundaries only when displaying non-printable characters - Calc * new defaults options page * support field items in cells * sort option in autofilter menu * support for color scales and data bars * Ctrl-D fills-down in more familiar ways * merge cells using the cell context menu * lots CSV file import/export improvements * show/hide sheets using the sheets tab context menu * new formula options page with calculation settings * sort dialog with multiple sort keys (more than three) * pasting only text, value, or formula from the context menu * default number of sheets for new document is 1, instead of 3 * new option to specify a custom sheet name prefix in new documents * new spreadsheet functions DATEDIF, IMTAN, IMSEC, IMCSC, IMCOT, IMSINH, IMCOSH, IMSECH and IMCSCH - Impress * 10 new master pages * wide-screen format for impress-slides * correctly detect the external display - Math * better help - Basic IDE * docked Object Catalog pane - common * allow editing of read-only documents * support for Japanese postcard paper size * Lanczos algorithm for resizing of images * macro recording can be activated with a separate option - Filters * Corel Draw import * PDF Export with Watermark option * export conditional formatting to XLSX * import lines, rotations, and flips from VML * document zoom setting in RTF/DOCX import/export * import GetExpression and SetExpression from DOCX * ODF Export now comes with a "ODF 1.2 Extended (compat mode)" - GUI * new branding * redesigned About dialog * cleaner and more light-weight rulers * several GTK theme support improvements * Writer and Calc use split color buttons * cleaner handling of buttons that do not fit toolbars size * zooming based on a geometric progression instead of an arithmetic one - Localization * default locale is the locale of the operating system * locale dependent date acceptance patterns for input of incomplete dates, editable in Tools/Options/Language Settings/Languages - Performance * faster pivot table in Calc * faster DOC/DOCX import in general * autocorrect lists handled around twice as fast * faster OLE2 import from DOC, XLS, PPT documents * faster raw cell value import from XLSX documents * embedded HSQLDB databases are size-minimized when saving * faster merged cell and matrix range import from ODS documents * document scrolling / re-layout / interactive editing improvements - add clucene-core-devel, hsqldb, liblcms2-devel, gtk3-devel into BuildRequires - update 3rd-party source tarballs: * mythes to version 1.2.2 * libexttextcat to version 3.3.1 * hyphen to version 2.8.3 * libcmis to version 0.2.2 * libvisio to version 0.0.17 - add new 3rd-patry tarballs: * clucene-core, version 2.3.3.4 * translations handling * libcdr, version 0.0.7 * Corel DRAW import - bin obsolete patches: * javasetting-mark-config.diff * library-link-order-to-build-with-as-needed.diff * distro-install-file-lists-3.5.diff * svx-globlmn-hrc-build-dep.diff * desktop-submenu.diff * implement-unicode-6.1-hebrew-line.diff - config-host-source.diff: allow to source config_host.mk - sysui-set-default-unixwrappername.diff: correctly set icon names in desktop files - pack-desktop-files-for-optional-filters.diff: put new desktop files into the right file lists - do not add "/usr/sbin" twice into PATH - enable GTK3 support - disable doxygen; documentation is huge and accessible online - disable PostgreSQL SDBC; it is not needed to build help - keep using the internal stuff that is not useful from system: * --without-doxygen * --without-system-apache-commons * --without-system-beanshell * --without-system-clucene * --without-system-jfreereport * --without-system-hsqldb * --without-system-libcdr * --without-system-saxon * --without-system-servlet-api - pack about.svg instead of about.png - icons are moved in sources- Instead of disabling optimizations completely, use -O2. Fixes bnc#780611- enable build on ARM - do not twiddle with the RPM_OPT_FLAGS optimisation settings - raise memory limits for qemu builds- used the internal mysql cppconnector even for openSUSE-12.3; it did not build with the system one- update to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3) * clip max entries * XLSX import crasher (fdo#51601) * double border import regression * add SUSE black and white branding * check for invalid tab number (fdo#51667) * query for parameters in Base reports crasher (fdo#51619) * fix MySQL, GDocs, and LanguageTool extension registration * make sure we don't export shapes with negative size (bnc#760997) * make sure all tab pages have the same dimensions (fdo#49921, bnc#769162) - reduce build parallelism to reduce build crashes: * dmake support 64 jobs at maximum * do not eat all memory with some huge sources - add procps into BuildRequires to check available memory- update to libreoffice-3.5.4.6 (SUSE 3.5 rc2, based on upstream 3.5.5-rc2) * bitmap scaling fixes * preview crash (fdo#51040) * more bugs in docking stuff * Aero toolbar: Use f0f0f0 for the gradient again * column format in DOCX import (bnc#693238, fdo#44292) * formatting for empty paragraphs in RTF export (fdo#50831) * first line indentation of numbering in DOCX import (bnc#766487)- updated to libreoffice-3.5.4.5 (SUSE 3.5 rc1, based on upstream 3.5.5-rc2) * Aero toolbar * WMF/EMF reading * box resampling algorithm * three RTF fixes (fdo#49659) * don't crash on X errors in GTK * numbering font size (bnc#758883) * VML shapes anchoring (bnc#758883) * smooth scale objects (bnc#765998) * allow border gap < 1pt (bnc#760294) * page number calculation (fdo#34093) * set style name consistently (bnc#758883) * one-bitmap WMF optimization (bnc#765998) * hidden and non-wrapping text (bnc#757419) * fake paragraph in DOCX import (bnc#766481) * RemoveExtensions custom action (fdo#51270) * Google Docs extension passive registration * open Visio's file with bitmap's (fdo#48601) * freeze when editing Base reports (fdo#51243) * wrapping mode for text in shapes (bnc#758883) * border width when setting margins (bnc#758883) * improve the toolbars look in Windows Vista or later * report designer formats dates improperly (fdo#43967) * anchored images in header in DOCX export (bnc#325936) * gray bar in Writer page preview interface (bnc#767452) * paint scrolled area from the right surface (fdo#30519) * saving a document with track-changes crasher (fdo#51249) * performance issue in XLSX import (bnc#765942, bnc#763168) * cache fontconfig font substitutions (fdo#41556, fdo#47636) * E-mail is not displayed in blue in PPTX import (bnc#759982) * wrap mode even if determining the position failed (bnc#758883) * form wizard recognise "#" also at beginning of line (fdo#37626) * fly frames with transparent background in DOC export (bnc#325936) * character properties in RTF import (fdo#37063, bnc#760764, fdo#50665) * title, subject, comments document properties in RTF import (fdo#50087) - update libvisio to version 0.0.18 * several bug and stability fixes (fdo#48602)- updated to libreoffice-3.5.4.4 (SUSE 3.5 beta2, based on upstream 3.5.5-rc1) * layout statusbar control * handle opacity in gradients * text over images (bnc#759212) * clipped toolbar item (fdo#42379) * 'Find' toolbar freeze (fdo#46687) * can't open Base reports (fdo#47325) * crash when copying table (fdo#45522) * allow java 1.7, or any future version * make style applying faster (bnc#745873) * wrap values in DOCX import (bnc#750838) * support Sheets.PrintPreview (bnc#757844) * ignored small size icon setting (fdo#35972) * rowheight problems in XLS export (fdo#50304) * support for MousePointer attribute in controls * Writer slow typing in large documents (fdo#48932) * incorrect positions of imported shapes (fdo#49430) * Base report does not sort by groupings (fdo#48018) * attempt to anchor VML shapes properly (bnc#764005) * shortcut names are not localized on Linux (fdo#50415) * import VMLshape 'hidden' style attribute (bnc#757609) * handle recursive because of shapes (bnc#751077) * import NS_ooxml::LN_CT_FFCheckBox_default (bnc#766477) * floor borders were missing from 3D Charts (bnc#760029) * do not rotate Calc shapes if twoCellAnchor (bnc#762542) * fix horizontal rule width in DOC documents (bnc#757118) * implement VBA Application.DisplayFullScreen (bnc#757885) * Win/VC** STL messes up the namespace vector (bnc#759982) * formcontrols: error message when deleting pages (fdo#45987) * changing the keyboard of the Slide Show button (bnc#753458) * toolbars may become irrevocably locked in place (fdo#42405) * implement VBA API Application.DisplayScrollBars (bnc#757840) * add stub VBA implementation Application methods (bnc#760999) * implement relativeHeight (z-order) in DOCX import (bnc#747461) * do not ignore character properties of text fields (bnc#760764) * display wrong datasets when scrolling through tables (fdo#48345) * fix incredible shrinking scrollbars when zooming in Calc preview * WW8 import of textboxes with thin border/inner margin (bnc#757910) * SwLineLayout::CalcLine: improve line height calculation (bnc#757905) * column break without columns to be a page break (bnc#652364, bnc#750255) * RTF import files (fdo#44174, fdo#45190, fdo#49178, fdo#49968, fdo#50539) * language status bar control: Don't set radio buttons for some entries * more on borders handling (fdo#33634, fdo#38116, fdo#40874, fdo#43249, fdo#46112, fdo#48647, fdo#49438) * UI improvements: * border window: design by Mirek M. * layout status control: improved artwork by Mirek M. * calc input line: native rendering of the input line * start centre: solid color fits the new artwork better * status bar: fix status selection menu drawing in Calc * status bar: get rid of STD/BLK/..., use a menu instead * status bar: standardize the size of modification status * status bar: 'Overwrite' shown only when in overwrite mode * status bar: normalize selection and modification status icons sizes * writer UI: decrease the size of the border around the document * zoom slider: improved design by Mirek M. - update 3rd-party modules: * libvisio to version 0.0.17: * misc bugfixes - do not add "/usr/sbin" twice into PATH- recommends librsvg; it allows to insert SVG pictures; it is dlopened, so there is not a direct dependency- updated to libreoffice-3.5.4.3 (SUSE 3.5 beta1, based on upstream 3.5.4-rc1): * version 3.5.4.3, tag suse-3.5.4.3 (SUSE LO 3.5-beta1) * add back mono support * text over images (bnc#759212) * add inch as source unit (fdo#48969) * forward moving of a table (bnc#706138) * macro syntax error in Calc (bnc#745930) * fix HTML table border export (fdo#47670) * import HTML CSS STYLE border (fdo#41796) * find toolbar X error handling (fdo#46687) * more robust NSS initialization (fdo#45171) * recognize VBA macro in JAPANESE (fdo#49324) * count mirrored monitors as one (rhbz#809019) * removed unwanted/bad cast fixes (bnc#759178) * parsing of arc paths in SVG import (fdo#48070) * outline numbering only for headings (bnc#751028) * string result of formula is also valid (fdo#49052) * incorrect square gradients in slideshow (fdo#49508) * bad import positions of shapes & controls (fdo#49430) * finish handling of w:pStyle in numbering (bnc#751028) * full page lines are wrapping in .doc file (bnc#757651) * ignore corrupted items in recent documents (fdo#46074) * correctly map monitor index back to screen (fdo#49365) * enable caching of grammar checker properties (fdo#35270) * use BorderLine2 instead of older BorderLine (bnc#758914) * properly draw separators in vertical toolbars (fdo#39106) * check if a missing font is a known symbol font (fdo#34814) * crash on "connect to existing database" wizard (fdo#45580) * performance problems with very long paragraphs (fdo#49208) * allow keyword Append to be used as a variable (bnc#745930) * numbering properties with paragraph properties (bnc#751028) * import XSL with HTML as such, not CSV (fdo#49639, fdo#40021) * dropdown list in Letter Wizard are now ordered alphabetically * default to Office 2007/2010 filter for OOXML export (fdo#48941) * type for property UNO_NAME_SAVE_FILTER_DATA is wrong (fdo#45592) * textboxes import with OLE objects inside (bnc#747471, bnc#693238) * properties that aren't valid for paragraphs (part of (bnc#751028) * comparing empty document with attached one crashes LO (fdo#43424) * ignore corrupted items in recent documents (fdo#49948, fdo#46074) * default printer settings only when explicitly mentioned (bnc#758575) * changing spelling preferences requires application restart (fdo#39999) * add VBA support for BackColor, AutoSize, Locked attributes (bnc#749960) * border painting (fdo#45562, fdo#47717, fdo#42750, fdo#45562, fdo#48647, fdo#44010, fdo#38215) * lots RTF import/export fixes (fdo#49692, fdo#38176, fdo#48023, fdo#48876, fdo#47764, fdo#48193, fdo#48037, fdo#48356, fdo#49692, fdo#49501, fdo#39053) - jvmfwk-disable-gcj.diff: do not detect GCJ; LO newer worked well with it - implement-unicode-6.1-hebrew-line.diff: icu49 adds some extra Hebrew rules (fdo#49849)- updated to libreoffice-3.5.3.2 (3.5.3-rc2): * misc SVG import fixes * border printing (fdo#38635) * alpha blending (bnc#714787) * border corner gaps (fdo#38635) * misc performance improvements * Java script loading (fdo#46102) * PDF export of images (bnc#717947) * autoformat undo cursors (fdo#39003) * add inch as source unit (fdo#48969) * duplicate code removal (bnc#714787) * textbox size in DOCX import (bnc#751573) * make "Replace All" work with REs (fdo#44861) * fix find toolbar X error handling (fdo#46687) * transition gradients came out empty (fdo#33591) * use older ODF encryption by default (fdo#47484) * duplicated characters in PDF import (fdo#45848) * do not increase height of checkboxes (fdo#47963) * do not play sound in presenter console (fdo#33914) * switch units in Converter::convertDouble (fdo#48969) * improved label/BC wizard - set paper size (fdo#44516) * export all style information to XLS/XLSX, (fdo#46738) * ignore corrupted items in recent documents (fdo#46074) * border paint ordering (fdo#45562, fdo#47717, fdo#42750) * colorspace conversion for greyscale bitmaps (fdo#34324) * copy column privileges into table privileges (fdo#47937) * fix incorrect relative moves after closePath (fdo#47406) * incorrect text wrapping around drawing shapes (fdo#45376) * right arrow button does not work in TOC dialog (fdo#40948) * vertical align when switching mode in multibar (fdo#44140) * regression in lineshapes ODP import (bnc#719989, bnc#719997) * prevent update during init in new autofilter dlg (fdo#45679) * removed strange non-wrapping condition (bnc#750258, i#40155) * more reliable way to check for RTL text (fdo#48431, fdo#32530) * CSV import got confused by erroneous HTML detection (fdo#40021) * default to Office 2007/2010 filter for OOXML export (fdo#48941) * shift+F3 shortcut for Edit/Duplicate in Draw (fdo#48584, fdo#32559) * misc RTF import fixes (fdo#48104, fdo#46955, fdo#45182, fdo#45394, bnc#703032, fdo#47326, fdo#47036, fdo#47802, fdo#48640, fdo#47107, fdo#48356) - update libvisio to version 0.0.16: * adapt the end and start line markers to recent changes in LO - removed upstreamed patches: * libreoffice-3.5-unpack-sources.diff * buildfix-icu-4.9.diff - reordered %prep phase to work better with quilt- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2- pyuno-path.diff: basis-link directory does not longer exist- disable ccache; does not make sense for clean build; saves 1GB on the disk - hard link binaries in the build tree; it might save several GBs on the disk and is faster - clean up configure switches: * move switches from SUSE*.conf to spec files * use --with-system-headers and --with-system-libs to prefer system stuff over internal copies * use --without-system- only for stuff that is not packaged or not patched in the SUSE distribution, for example libvisio, redland, mythes * bin not longer existing options - use system libwpd, libwpg, libwps, librsvg, vigra on openSUSE >= 11.4 - remove unused sablot-devel, xalan-j2, xerces-j2, xml-commons-apis from BuildRequires and Requires - remove some %if sections for not longer supported openSUSE < 11.1 - update license tag: added BSD-4-Clause, SUSE-Public-Domain, W3C- solenv-java-source-version.diff: generate selected bytecode version also in gbuild - enable again the brp check for byte code version- updated to libreoffice-3.5.5.2 (3.5.2-rc2) * general * support Java 7 (1.7) * produce ODF 1.2 conforming documents by default * more secure encryption algorithm (AES-256) for password protection * core GUI changes * better color picker * transparent object handles * better handle unused toolbar menus * move context-sensitive toolbars to the bottom * several GTK+ right-to-left interface glitches * menus list their entries in a natural sort order * "Link" checkbox in "Insert Movie and Sound" dialog * filter bundled, shared, and user extensions in the manager dialog * writer * RTF import rewrite * new numbering types * grammar checking improvements * better page breaks indicators * TOC use hyperlinks by default * various DOCX import improvements * support comments DOCX export/import * label printing positioning (fdo#36874) * display bitmap image resolution in PPI * numbering in DOC, DOCX, and RTF import * better UI for Header and Footers handling * Basic Fonts (Western) option page removed * handling of tab stop behind the end margin * new typographic features by improved Graphite port * display non-printable characters on the end of line * modeless word count dialog; being updated when typing * corrected autotext "Formula numbering" for most locales * calc * more new line ends * supports 10000 sheets * new multiline input bar * additional data point markers * updated line chart's smoothing * re-designed all range name dialogs * re-designed Autofilter popup window * improved performance of ODS/XLS/XLSX import * improved performance of many sheet operations * better handling DDE and external links failures * unlimited number of rules for conditional formatting * configurable initial number of sheets in new documents * "Protect Sheet" also from the context menu of the sheet tab * allow pasting a single cell range to multiple destination ranges * new Calc Functions: BITAND, BITOR, BITXOR BITRSHIFT, BITLSHIFT, SEC, CSC, SECH, and CSCH * impress / draw * elliptical arcs in path * better hidden slides PDF export * better Smart Art in PPTX import * MS Visio documents import/export * better handling of custom animation list * start Impress without the wizard by default * better custom shapes and their presets in PPTX import * support embedding palettes and other property list types * math * new "does not exist" symbol * new symbols for Games theory * support math formulas in DOCX import/export * base * lots fixes * integrated PostgreSQL native driver * Basic IDE * new menu item View->Goto Line * new menu item View->Line Numbers * dialog controls have a spinbutton * presenter console extension * "Exchange Screen Images" button to work around problems with detecting projector and laptop screen * Python scripting * allow to initialize UNO structures by name instead of by position * localization * update translations * better date handling - remove obsolete testtool subpackage; not longer supported and maintained - basis subdirectory does not longer exists on the installed system - mozilla is not longer needed for build: * use --disable-mozilla, --without-system-mozilla, --with-system-nss, - -disable-ldap, --enable-xmlsec instead of --with-system-mozilla, - -with-system-mozilla=xulrunner - numbretext and GoogleDocs extensions are integrated upstream: * use --enable-ext-google-docs and --enable-ext-numbertext - use --without-help to build help separately instead of the patches - use internal hacked make version 3.82, snapshot 20120301 to get fast and reliable parallel build - build zip-3.0 on openSUSE < 11.4; --filesync is needed during build - temporary disable check for bytecode version until we produce right bytecode again - temporary disable mono support - update numbertext to version 0.9.4 - update libexttextcat to version 3.2.0 - update mysql-connector-c++ to version 1.1.0 - update libwpg to version 0.2.1 - update libwpd to version 0.9.4 - update libwps to version 0.2.4 - remove obsolete translate-toolkit - add libcmis, version 0.1.0 - add libvisio, version 0.0.15 - add librsvg, version 2.32.1 - add postgresql, version 9.1.1 for SLED11; the system one is perfectly fine for newer systems - libreoffice-3.5-unpack-sources.diff: allow to unpack source tarballs - javasetting-mark-config.diff: mark share/config/javasettingsunopkginstall.xml as %config; it is updated by unopkg in %post - scripting-prefer-internal-rhino.diff: put internal rhino into XBootClasspath to fix build with OpenJDK - distro-install-file-lists-3.5.diff: update file list generation for 3.5 - library-link-order-to-build-with-as-needed.diff: fix build with link as needed - mediawiki-no-broken-help.diff: disable non-working help also in the mediawiki extensions - zip-3.0-*.patch: fixes from zip source package- libreoffice-3.4.5.5 == SUSE 3.4.5-rc3 == final- updated to libreoffice-3.4.5.5 (SUSE 3.4.5-rc3): * extras * add SUSE color palette (fate#312645) * filters * crash when loading embedded elements (bnc#693238) * crash when importing an empty paragraph (rh#667082) * writer * do not use an invalidated iterator (fdo#46337)- updated to libreoffice-3.4.5.4 (SUSE 3.4.5-rc2) * calc * pie charts colors messed in XLS import (fdo#40320) * correctly import data point formats in data series (fdo#40320) * components * crash when parsing XML signatures (fdo#39657) * broken getDataArray (fdo#46165, fdo#38441, i#117010) * don't paint a frame around the list of edit boxes (fdo#42543) * inconsistent compression method for encrypted documents (bnc#653688) * filters * more on bentConnectors (bnc#736495) * wrong text color in smartArt (bnc#746996) * reading of w:textbox contents (bnc#693388) * textbox position and size DOCX import (fdo#45560) * RTF/DOCX import of transparent frames (bnc#695479) * consecutive frames in RTF/DOCX import (bnc#703032) * handling of frame properties in RTF import (bnc#417818) * force imported XLSX active tab to be shown (bnc#748198) * create TableManager for inside shapes (bnc#747471, bnc#693238) * textboxes import with OLE objects inside (bnc#747471, bnc#693238) * impress * do not create an empty slide when printing handouts (fdo#31966) * libs-core * default shortcut for .uno:SearchDialog should be Ctrl+H * crash using instances dialog of dataform navigator (fdo#44816) * libs-extern * disable problematic reading of external entities in raptor * libs-gui * correctly calculate leap year * use proper Indian Rupee currency symbol U+20B9 (rh#794679) * writer * field refreshing (fdo#39694) * more layout crashers (i#101776, fdo#39510) * textbox borders style and width in DOCX import (fdo#45560) * expand all text fields when setting properties (fdo#42073)- update gdocs extension to version 3.0.0; needed to make it working with the current Google Docs interface (bnc#748548) - use and/or operator in the license tag- patch license to follow spdx.org standard- updated to libreoffice-3.4.5.3 (SUSE 3.4.5-rc1) * version 3.4.5.3, tag suse-3.4.5.3 (SUSE LO 3.4.5-rc1) * SmartArt import * custom shapes import * Oracle Java 1.7.0 detection * reading AES-encrypted ODF 1.2 documents as generated by LO 3.5 * base * iterator misuse (fdo #44040, bnc#742178) * calc * allow pasting to multiple ranges (bnc#715094) * correctly convert chart data ranges (bnc#727504) * definedName corruption for XLSX export (bnc#741182) * adjust/shrink the ranges while copying (bnc#677811) * extra graph data is displayed for label (bnc#717290) * getCellRangeByName failure for named range (bnc#738113) * graph in XLS file has dates displayed wrong (bnc#720443) * improve performance of large Excel documents (bnc#715104) * display page background color/image properly (bnc#722045) * pivot table output becoming empty on re-save (bnc#715543) * encode virtual paths to local volume correctly (bnc#719887) * avoid adjusting cell-anchored objects on other sheets (bnc#726152) * make sure to adjust the sheet index of drawing objects (bnc#733864) * make the data validation popup more reliable (fdo #36851, bnc#737190) * filters * table style (bnc#705991) * text rotation fixes (bnc#734734) * crash in PPTX import (bnc#706792) * read w:sdt* contents (bnc#705949) * connector shape fixes (bnc#719989) * legacy fragment import (bnc#699334) * non-working Excel macros (bnc#705977) * free drawn curves import (bnc#657909) * group shape transformations (bnc#621739) * extLst of drawings in diagrams import (bnc#655408) * flip properties of custom shapes import (bnc#705985) * line spacing is used from previous values (bnc#734734) * missing ooxml customshape->mso shape name entries (bnc#737921) * word doesn't break the numberings and prefers hiding them (bnc#707157) * impress * undo corruption (bnc#685123) * do not set duplicate master slide names (bnc#735533) * libs-core * handle copy and paste from ConsoleOne (bnc#704274) * VBA control events not working, broken eventattacher (bnc#718227) * "General Error" when double-click graphic in presentation (bnc#720948) * libs-extern-sys * upgrade graphite to 1.0.3 fix surrogate support * libs-gui * crash at exit (bnc#728603) * radial gradient offset (bnc#714787) * horizontal scrollbars with KDE oxygen style (bnc#722918) * rendering of metafiles embedded in EMF+ (updated) (bnc#705956) * postprocess * make the 3D transitions work again (bnc#728559) * ure * make Duden Korrektor 5 and 6 work * writer * frame selection (bnc#740117) * crash when editing index (bnc#726174) * order database properties (bnc#740032) * numbering levels in DOC import (bnc#715115) * image size issue in DOC import (bnc#718971) * pointless forward moving of a table (bnc#706138) * tabs set after the end margin in DOCX import (bnc#693238) * add hyperlinks by default in Table of Contents (bnc#705956)- workaround-for-LO-namespace-pollution-breaking-KDE4.diff: workaround for conflicting defines that break build with KDE4 in factory- buildfix-ucb-glib-2.31.diff: fix build with glib-2.31; glib/gthread.h can't be included directly - libreoffice-desktop-icons-256x256.tar.bz2: add missing 256x256 desktop icons (bnc#722644)- add compat symlinks for the old main desktop icon (bnc#724087)- define %%python_sitelib on SLED11 and older systems to fix installation- correctly obsolete OpenOffice_org-artwork-devel (bnc#734781)- fix sha-bang in unopkg-sync-bundled script- fix debuginfo missing for some binaries- fix libreoffice-pyuno so that 'import uno' works in python * add symlinks in python site-lib so that python can find uno modules * pyuno-path.diff: add %_libdir/libreoffice/basis-link/program to sys.path when 'import uno' is called so that additional pyuno modules can be found by python- used the internal mysql cppconnector even for openSUSE-12.2; it did not build with the system one- updated to libreoffice-3.4.4.3 (SUSE 3.4.4-rc1 == final): * base * crash when inserting a constant in a query (fdo#38286) * calc * crash when modifying a named range * speed up range name lookup by index (bnc#715104) * recalculate matrix formula dimension correctly (fdo#39485) * mark all formula cells dirty when appending a new sheet (fdo#35965) * components * handling of SAFEARRAY(s) in olebridge (fdo#38441) * filters * auto fit text VIEWING too small in PPT import (fdo#41245) * impress * hang in slideshow (fdo#32861) * crash while dropping texture (fdo#38391) * libs-core * recognize .svg in ODF container (fdo#41995) * dictionaries lost after LibO upgrade (fdo#37195) * crash when "Find Record" button is clicked in Base (fdo#40701) * fix the drawing of dotted and dashed borders in Calc (fdo#37129) * VBA control events not working; broken eventattacher (bnc#718227) * libs-extern-sys * upgrade graphite to 1.0.3 to fix surrogate support * libs-gui * crash when changing screen resolution * let Qt call XInitThreads() (fdo#40298) * activation order crashes address database (fdo#41022) * drawing of dotted and dashed borders in Calc (fdo#37129) * translations * update translations * writer * leak in PDF export (i#116448) * crash when editing index (bnc#726174) * crash while processing incorrect range of pages (fdo#35513) * crash on closing document with footnotes (fdo#39510, lp#854626)- correctly-init-xthreads-in-qt.diff: let Qt call XInitThreads(), so that it knows it's been called (fdo#40298) - avoid-wrong-asserts.diff: fix a bad assert; the following fix depends on it - horizontal-scrollbars-with-kde-oxygen-style.diff: horizontal scrollbars with KDE Oxygen style (bnc#722918)- kde4-tooltips-style.diff: tooltips are all black in KDE4 (bnc#723074, fdo#40461) - do-not-display-math-in-desktop-menu.diff: do not display math in desktop menu (fdo#41681) - desktop-submenu.diff: display LO application in the right desktop submenu (bnc#718694) - bash-completion-for-loffice.diff: define bash completion for 'loffice' wrapper (bnc#719656)- legacy-fragment-import-*.diff: legacy fragment PPTX import (bnc#699334)- add more detailed categories to desktop files- svx-globlmn-hrc-build-dep.diff: fix build dependency problem in svx - apply libreoffice-poppler-0.17.0.patch only on openSUSE > 11.3; cpp/poppler-version.h is not included in older poppler packages- desktop-null-display-crash.diff: fix crash on exit.- Fix build with poppler 0.17.0 - Add python-lxml dependency for faster translation processing- libreoffice-3.4.2.6 == SUSE 3.4.2-rc3 == final- scripting-provider-build-dep.diff: make sure that the extra jar files are bundled with the script provider extensions - redland-rpath-hack.diff: crazy hack to avoid /usr/lib64 in RPATH and pass brp-rpath check; used only on Factory-x86_64 (bnc#717262) - added dbus-1-glib-devel and orbit2-devel into BuildRequires; was not longer required by gconf2-devel after a Factory clean up- updated to libreoffice-3.4.2.6 (SUSE 3.4.2-rc3): * bootstrap * add executable rights to libraries * put VBA stuff into correct subpackages * correctly set install path in java-set-classpath * more reasonable access rights for installed files * move mono_loader.*.uno.so into the mono subpackage * really put SDK documentation into the doc subpackage * calc * crash when modifying a named range * crash with RangeName erase (bnc#683578) * impress * revert "allow impress import of embedded color tables" (bnc#715931) * libs-core * better detect OASIS MIME types * add Flat XML MIME types (bnc#711977) * correctly update bundled extensions (fdo#37195) * libs-extern * broken PDF A/1-a export in 64-bit builds (fdo#39355) - enabled system ODBC again - correctly set the documentation directory - added back the extra Draft.jpg into the "Background" gallery - beanshell, java, and python scripting needed to be explicitly enabled and installed as extension; in the past, they were built and installed out of box - used old desktop file names; there were defined another priorities for them in the system; for example, it fixed opening .ods files by LO instead of Evince- revert-allow-impress-import-of-embedded-color-tables-*.diff: reverted problematic import of embedded color tables in Impress; broke .odf export; needed more love (bnc#715931)- updated to libreoffice-3.4.2.5 (SUSE 3.4.2-rc2) * components * missing user-defined dictionaries (fdo#36678) * filters * lost content in DOCX import (bnc#705949) * XLSX import performance improvements (bnc#683578) * crash when opening PPTX presentation (bnc#706792) * pick the first PREFERRED IMPORT filter (bnc#704639) * impress * allow import of embedded color tables in Impress * libs-core * add missing MIME types into .desktop files (bnc#711977) * wrong bullet placement when stretching happens (fixes (bnc#694344) * do not pass the request for command line help to oosplash (bnc#715268) * libs-extern-sys * set WORDS_BIGENDIAN for graphite2 * libs-gui * linear gradient export to PDF (bnc#710061) * crash when changing screen resolution (bnc#715416) * writer * hide 'math baseline alignment' unless available (fdo#40341) - sysui-add-flat-openxml-to-mime-list.diff: registered Flat XML in the MIME database (bnc#711977) - nlpsolver-no-broken-help.diff: disabled broken help in the NLPSolver extension; unopkg complained about it in %%posttrans - added the helper script /usr/sbin/unopkg-sync-bundled to correctly update extensions; needed to be called in %posttrans and %postun scripts of packages with extensions (bnc#712358)- system-python-ure-bootstrap.diff: correctly bootstrapped python stuff with system python, (deb#501028, i#90701) - sdbc-postgresql-lo-3.4-registration.diff: fixed component mapping to get the symbol component_writeInfo; needed to register PostgreSQL extension - mozilla-no-xul*.diff: disabled the Mozilla plugin that needed the XUL stuff; it was not enabled by default; it newer worked well; it caused build troubles because Firefox changed the development model and XULRunner support was very unclear - replaced XULRunner with mozilla-nss and mozilla-nspr in BuildRequires - generated create-libstlport-compat-links in %%install; the paths needed to be substituted according to the current build setting (bnc#710920)- updated to libreoffice-3.4.2.4 (SUSE 3.4.2-rc1) * based on plain 3.4.2-final sources * added several fixes * common: * version 3.4.2.4, tag suse-3.4.2.4 (SUSE LO 3.4.2-rc1) * bootstrap * updated mdds package to 0.5.3 * use /usr/bin/libreoffice symlink * upgrade graphite to 1.0.2 and simplify patches * calc * allow multi-range copy from VBA (bnc#707486) * lost DDE links in XLS import/export (bnc#681738) * charts with multiple ranges XLS import (i#107275) * more conservative graphic replacement (bnc#684784) * check boxes and slowness in XLS import (bnc#708137) * copied CSS parser from the orcus project (bnc#704642) * useful error message when DDE link update fails (bnc#696630) * defining named ranges should be case insensitive (fdo#39915) * parse the CSS stream and set number formats to cells (bnc#704642) * search in all sheets and FindToolbar (fdo#33379, i#116250, fdo#33593, fdo#37499) * components * support LCID changes (fdo#38956) * toggling grammar checkbox deletes sentence (fdo#39348) * filters * change 97/XP/2000 to 97/XP/2000/2003 (fdo#36734) * don't "detect" non-XML file format as XML (bnc#704642) * change 2007 XML to 2007/2010 XML in UI strings (fdo#36735) * impress * faster styles import (bnc#708518) * fix ruler to not generate negative left indent (bnc#707779) * libs-core * ghost uneditable drawing objects (bnc#676858) * correct MIME type for draw documents XML export * store the content of