From 4da5a36e4ed78be5ad9266de51665890bf0763fe Mon Sep 17 00:00:00 2001 From: kunxian xia Date: Thu, 13 Jun 2024 21:37:19 +0800 Subject: [PATCH] fix merge errors --- core/src/runtime/mod.rs | 2 +- .../syscall/precompiles/bn254_scalar/mac.rs | 41 +- .../syscall/precompiles/bn254_scalar/mod.rs | 2 + .../syscall/precompiles/bn254_scalar/mul.rs | 23 +- .../program/elf/riscv32im-succinct-zkvm-elf | Bin 172524 -> 171748 bytes examples/poseidon_bn254/script/Cargo.lock | 1579 +++++++++++------ 6 files changed, 1059 insertions(+), 588 deletions(-) diff --git a/core/src/runtime/mod.rs b/core/src/runtime/mod.rs index cd7906572..6953f4a0c 100644 --- a/core/src/runtime/mod.rs +++ b/core/src/runtime/mod.rs @@ -840,10 +840,10 @@ impl Runtime { .or_insert(1); } + let global_clk = self.state.global_clk; let syscall_impl = self.get_syscall(syscall).cloned(); let mut precompile_rt = SyscallContext::new(self); - let global_clk = self.state.global_clk; log::debug!( "[clk: {}, pc: 0x{:x}] ecall syscall_id=0x{:x}, b: 0x{:x}, c: 0x{:x}", global_clk, diff --git a/core/src/syscall/precompiles/bn254_scalar/mac.rs b/core/src/syscall/precompiles/bn254_scalar/mac.rs index c237a948b..b3f0b4695 100644 --- a/core/src/syscall/precompiles/bn254_scalar/mac.rs +++ b/core/src/syscall/precompiles/bn254_scalar/mac.rs @@ -31,6 +31,7 @@ const OP: Bn254FieldOperation = Bn254FieldOperation::Mac; pub struct Bn254ScalarMacCols { is_real: T, shard: T, + channel: T, clk: T, arg1_ptr: T, arg2_ptr: T, @@ -95,6 +96,7 @@ impl MachineAir for Bn254ScalarMacChip { cols.is_real = F::one(); cols.shard = F::from_canonical_u32(event.shard); + cols.channel = F::from_canonical_u32(event.channel); cols.clk = F::from_canonical_u32(event.clk); cols.arg1_ptr = F::from_canonical_u32(event.arg1.ptr); cols.arg2_ptr = F::from_canonical_u32(event.arg2.ptr); @@ -102,6 +104,7 @@ impl MachineAir for Bn254ScalarMacChip { let mul = cols.mul_eval.populate( &mut new_byte_lookup_events, event.shard, + event.channel, &a, &b, FieldOperation::Mul, @@ -109,27 +112,36 @@ impl MachineAir for Bn254ScalarMacChip { cols.add_eval.populate( &mut new_byte_lookup_events, event.shard, + event.channel, &arg1, &mul, FieldOperation::Add, ); for i in 0..cols.arg1_access.len() { - cols.arg1_access[i] - .populate(event.arg1.memory_records[i], &mut new_byte_lookup_events); + cols.arg1_access[i].populate( + event.channel, + event.arg1.memory_records[i], + &mut new_byte_lookup_events, + ); } for i in 0..cols.arg2_access.len() { - cols.arg2_access[i] - .populate(event.arg2.memory_records[i], &mut new_byte_lookup_events); + cols.arg2_access[i].populate( + event.channel, + event.arg2.memory_records[i], + &mut new_byte_lookup_events, + ); } for i in 0..cols.a_access.len() { cols.a_access[i].populate( + event.channel, event.a.as_ref().unwrap().memory_records[i], &mut new_byte_lookup_events, ); } for i in 0..cols.b_access.len() { cols.b_access[i].populate( + event.channel, event.b.as_ref().unwrap().memory_records[i], &mut new_byte_lookup_events, ); @@ -145,9 +157,9 @@ impl MachineAir for Bn254ScalarMacChip { let zero = BigUint::zero(); cols.mul_eval - .populate(&mut vec![], 0, &zero, &zero, FieldOperation::Mul); + .populate(&mut vec![], 0, 0, &zero, &zero, FieldOperation::Mul); cols.add_eval - .populate(&mut vec![], 0, &zero, &zero, FieldOperation::Add); + .populate(&mut vec![], 0, 0, &zero, &zero, FieldOperation::Add); row }); @@ -190,14 +202,22 @@ where let b: Limbs<::Var, ::Limbs> = limbs_from_prev_access(&row.b_access); - row.mul_eval - .eval(builder, &a, &b, FieldOperation::Mul, row.shard, row.is_real); + row.mul_eval.eval( + builder, + &a, + &b, + FieldOperation::Mul, + row.shard, + row.channel, + row.is_real, + ); row.add_eval.eval( builder, &arg1, &row.mul_eval.result, FieldOperation::Add, row.shard, + row.channel, row.is_real, ); @@ -210,6 +230,7 @@ where builder.eval_memory_access_slice( row.shard, + row.channel, row.clk.into(), row.arg1_ptr, &row.arg1_access, @@ -218,6 +239,7 @@ where builder.eval_memory_access_slice( row.shard, + row.channel, row.clk.into(), row.arg2_ptr, &row.arg2_access, @@ -244,6 +266,7 @@ where builder.eval_memory_access_slice( row.shard, + row.channel, row.clk.into(), a_ptr, &row.a_access, @@ -252,6 +275,7 @@ where builder.eval_memory_access_slice( row.shard, + row.channel, row.clk.into(), b_ptr, &row.b_access, @@ -261,6 +285,7 @@ where let syscall_id = AB::F::from_canonical_u32(SyscallCode::BN254_SCALAR_MAC.syscall_id()); builder.receive_syscall( row.shard, + row.channel, row.clk, syscall_id, row.arg1_ptr, diff --git a/core/src/syscall/precompiles/bn254_scalar/mod.rs b/core/src/syscall/precompiles/bn254_scalar/mod.rs index 8854aa48e..e1cfef981 100644 --- a/core/src/syscall/precompiles/bn254_scalar/mod.rs +++ b/core/src/syscall/precompiles/bn254_scalar/mod.rs @@ -81,6 +81,7 @@ impl Bn254FieldOperation { #[derive(Clone, Debug, Serialize, Deserialize)] pub struct Bn254FieldArithEvent { pub shard: u32, + pub channel: u32, pub clk: u32, pub op: Bn254FieldOperation, pub arg1: FieldArithMemoryAccess, @@ -158,6 +159,7 @@ pub fn create_bn254_scalar_arith_event( let shard = rt.current_shard(); Bn254FieldArithEvent { shard, + channel: rt.current_channel(), clk: start_clk, op, arg1, diff --git a/core/src/syscall/precompiles/bn254_scalar/mul.rs b/core/src/syscall/precompiles/bn254_scalar/mul.rs index fb29e8125..cdfa72a00 100644 --- a/core/src/syscall/precompiles/bn254_scalar/mul.rs +++ b/core/src/syscall/precompiles/bn254_scalar/mul.rs @@ -30,6 +30,7 @@ const OP: Bn254FieldOperation = Bn254FieldOperation::Mul; pub struct Bn254ScalarMulCols { is_real: T, shard: T, + channel: T, clk: T, p_ptr: T, q_ptr: T, @@ -90,6 +91,7 @@ impl MachineAir for Bn254ScalarMulChip { cols.is_real = F::one(); cols.shard = F::from_canonical_u32(event.shard); + cols.channel = F::from_canonical_u32(event.channel); cols.clk = F::from_canonical_u32(event.clk); cols.p_ptr = F::from_canonical_u32(event.arg1.ptr); cols.q_ptr = F::from_canonical_u32(event.arg2.ptr); @@ -97,18 +99,25 @@ impl MachineAir for Bn254ScalarMulChip { cols.eval.populate( &mut new_byte_lookup_events, event.shard, + event.channel, &p, &q, OP.to_field_operation(), ); for i in 0..cols.p_access.len() { - cols.p_access[i] - .populate(event.arg1.memory_records[i], &mut new_byte_lookup_events); + cols.p_access[i].populate( + event.channel, + event.arg1.memory_records[i], + &mut new_byte_lookup_events, + ); } for i in 0..cols.q_access.len() { - cols.q_access[i] - .populate(event.arg2.memory_records[i], &mut new_byte_lookup_events); + cols.q_access[i].populate( + event.channel, + event.arg2.memory_records[i], + &mut new_byte_lookup_events, + ); } rows.push(row); @@ -121,7 +130,7 @@ impl MachineAir for Bn254ScalarMulChip { let zero = BigUint::zero(); cols.eval - .populate(&mut vec![], 0, &zero, &zero, OP.to_field_operation()); + .populate(&mut vec![], 0, 0, &zero, &zero, OP.to_field_operation()); row }); @@ -168,6 +177,7 @@ where &q, OP.to_field_operation(), row.shard, + row.channel, row.is_real, ); @@ -179,6 +189,7 @@ where builder.eval_memory_access_slice( row.shard, + row.channel, row.clk.into(), row.q_ptr, &row.q_access, @@ -187,6 +198,7 @@ where builder.eval_memory_access_slice( row.shard, + row.channel, row.clk.into(), row.p_ptr, &row.p_access, @@ -196,6 +208,7 @@ where let syscall_id = AB::F::from_canonical_u32(SyscallCode::BN254_SCALAR_MUL.syscall_id()); builder.receive_syscall( row.shard, + row.channel, row.clk, syscall_id, row.p_ptr, diff --git a/examples/poseidon_bn254/program/elf/riscv32im-succinct-zkvm-elf b/examples/poseidon_bn254/program/elf/riscv32im-succinct-zkvm-elf index 1f325bc41528f90d8e7bb6b773c715d2880a8b4e..d1a08dc17b02a89a2ba86b4dc864b75650d86a23 100755 GIT binary patch delta 63064 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 delta 63559 zcmbS!3w%_?_5YolYyub{kPzNs!vaPKVc!poxCl`c3aAK(DA^|g0*Me572QQxL_~{T zU{Fy}L8+xJiWd4)+f|9h78P4+`L)!dMT(YId{ax!|9j@%yL)%DN%;Nm$94C6&Y77r zXU?2?-f-g8Zl~Yqw$UsXZGUiRuy#d|N%S#Ec#0*7;VZt7N%7k&#OJ_RNup1_fj@C4 zlP0!Qh)*Tx2OoTEjNIj!=f5j1R7Q3wmGl1mP?vH!?|&74m%g_BmJv@%o5MbitjG9zfer8B&FarsRYII=}h{2T)Kd7?864}nljc^`AL^*_JVS(%cWgsi4-Q& z3wwukEn~8j<7TwVQm68jJg?7pXrWZh~KpR57LCrPoUe%u-3hBq@mksjoxGyr*m|88ZHWYP8yxl7eEU6s&?&p~OY)q{7u^ z7>_YFKQ2igG)dm@+F8oluUkW9Cdu6A(%0-h)dLbYDyDp?WNp60(dcL@ z9|>EEHrFZJ`&`&3xi5jFYg>M&nD)rrPv-FtSB~{r+S~tGsHm%4(*GjW5AscKD0O86 z2E@0NbbYH;S<_YeTY1-WB_^i1fd40oH9UlSY;3S{xNI7mrI`CZ9XO(9pZJqv+Q`)G z<0i5?H&apZk3|cR3Z~jONmf~FdP}6a$Mg=VR8sJ{X13&Hk}Wa$CB@WLQqxN(_YUjV z!_;jR>lG&>6&EWE(Yvz24B6LT!j znC4h^nC66f7swu=Ma!QxjXz2oB>t!EJ}GaL2+oTgkJ?Z}@R) zwRms%41ae5>#tZtJ%;+tmdXe9cIjV2{n5l&NdYyoXu^X^U1)$De^Xf*8qgzofFv}| zF=a>SvH{6Hp&t1%j43<1?og|qZ|bMqJ5hcpTs9#23flO;8Eq`GjsG5Pe0f>2NKGsi z7!vnY&V>dHNbW7^+V#5}DSx9R!+&J6_HK=Qz+(Q>>1H>5VX1r)&5w2&`J`kqGrb`s zOBHZ6Q#-dQaTdPD_!(i1ybM=3ENK5Y?>zgaGyOiDssDTB_?P{7yeBJCto4)Oz$@z? zDog&ZZBf$u%CH49dz*s1Nt8TsUrU9wx~0!7Wy6B8-4dr%vJ_AbFBl-3{-c~;@Ve}O zRoSy}APjJ5;rc7(;m z4t|*_EQeUzYsZ0{~wXVhL5m zy^{P7eeHi;A>x!4!JGT*U&*m9C5f)+1?YbpNelm{YQB=B_J%~)G%tQi@QTjl30E&j zAYv66(#B5`U+o69J=FBIy%f`7t%lNVX?~)c%I{IzU35!Pc>L(zUBAhbD|!fwF+hxuKHYQ(0!hu`~SzH4|10=H(-3Mx-2kfcT_j;^PU zDkTNABS?kE&C0r+|82a&mjDD=P z^2H^IiINgO*4H$)B(a8mmC1guQg;lU+pVlTHo%m0LPUuj>zD6<1b+0D{Wj(Bu>n2e zV??(X8A(?tXOCU%8>2>-%dI5^2%{8T>Zlo|M&pPi%$aBzLo$6s5)Fl641@jquBP94 z_p7wL2i5Nhk0{&zGD;cv*F|#tptA0-)w2IlW&dACj*I^&Z|7SWu@E&)Qo&x+ONixu zbaeQRwY3$#%ecdO~fDQv6|G_O4R-;bn4iqSEjo@>-~D{BW$C z9H<=naGad%s}z0Ie~2hkN?2r!Atp0|&<=bvL`>1WCn(207@A$I+Vh)`bySv2$n*W2 z68;hJh$Wy+`HhltFR^Fm!r{?)@xBJPHwFG<`lGl_TppJh9rrHwI_~c=2=Fv zd=CxR1&J#Z|39zpE98=MQ5g)OtMXLiC4dH}`ipli8D5y!a+XG7S z>@dapS;eT~q9Q&lEYQx+%lm+pMD4ZYFP5s;WaO!j{8N;bpZy-5K_zY2IWsh%pg{GR zmTN7;AWb<`>GOozOO+L8T$;ZRS6)2xv;Ihl=!OqBi$K#YRBn>;Xoy|;`Lt|qGEe1} z&QeZ%ewExZO0j-%QD3v@4$rL~&RAaUYlv6^k5-z#aAarT|0b3FD_>k)sQQpeDgDxt zEh+soRn+t^GmA6aT9ZoCjz8TVIyom8@YY}9yaH$i{)>nDuoBmoD z{1~&jQsvAyqq<)Qcf`_$B$6(r^4n`^YWFQIu6BPrLYDra9QoEmLTF}HXoS-5>?p7& zo~0I8adt@lEX&XYf47{K^%ND4Ym)wB@a~avm)Xkcv;A){@0uNYy-U8bhI$$Tms#j^ zYpA!WN5`EFBh7Rn>lK}iB8{o`Qp>O>)d**5nXT0QduR{SNXt;2WV%t=_-}jf1gH3e z5USNrxF%u=)pk<`XQmto;pP=+~mOA!`|-Ia;o-N!IN{jM*& zR5|rsxtbFkNzWUD_L9GrfmJbS~ksA4t|gNuYo0@nx0E?zjF5btB5R+nukEo6|wT!^ZO$1a# zbu4`_x}aH@O3R4qH;XBnFsmdqzKQ&!gt6}|)xGj9Rjcxq!)No0Xm}CBlPR%m^BOi( zPW0Hki@8|o<_}oebgYDRS8QrLGw(ln!^bn~Q1B($Vt$@lMZ)iVj~<_gQH*C4Wi?u2 z9@JC^KvUvoJ_Bh-FGXv~s@EpxlUB3@LO7p+{UUWk#DonI3r!d&H1ItoY(Zf$#bPOs zn@d?mVM%K%wo@?u9L@f#a^mxNxSHA2mQB9Nw^g%yHSj908pDFImerQ0c8V#H+VxGh ziH(3dGEMUL>8_JlN&Q5O9%OEqSG7*k8wN)={(EoenhQiv)}C!5BrsEUL5D}CWp@imI|J=9M0GYv%y+KLa5h1cCXusU-AnbxRhFmLpo91&OPs$`&W0-6&vn5P#a5`w)+mQQ zvS8MMiisX3s7d#h5$qFnaFrISYZ$ZWdW&eY_D9;VJ6CY31xM23)qmk{vSrvRS%fMz z5?`mJhKnSBb^x0dYi};fuyH8-aevA@rrICx6XtLE8Ro0n;OD;}%}1yeq4jyaIUmt? zlf({_=;y`>^yiY&vjC$A>2yXlBHu8ORZKt#3Qc;pAcPnjdH_QSEf1v~=vW2P>R~1< z6+vH@Um%tpwS6!#lKcwhttDM0KUZ4=J9q;Tjmvr2AXX83MAf_YIWcV!^^$HNy(wP7 zBz|=WkuEjVWiJ*XT0Ii`Xb2IpjbfQTY|sKh8%iji3s)6+`-MwVw}-1i>j8)hMJ8$W z&IHufVnZIq;=C`F>ED}6J-^0g)D_RpvdEuHv<$Lzzh@?YWhfg^omzTzSv}$^`RPI% zjP*H<9FnIGI)W*2xtOpBCpYcq`4;9LkhKgeH;I*@rMqb+_ZP5I8b zUlXz5xbQz4uNlrp^hms(rb*TO?1jv$%=q5SH}quxER=*64Ln}Vwp9C{$WkE& z)=1g^LtbCT%Eu<}r`e>E=!S8l8y3!(D5&A_zR=zI`Jn^(UGz{O!T^m8Y5`aAWEm@? ze2$i3JoWG6=gOG7KuS<+D0|AxdwuHI$4J z)r#)ohiq(|?BBtQ>}<3eyOU3Gzn%3j6lKPnc%2kg?=De;bCvg%8vxYkX?WPvJ$Z3s1J7n9rhpXKWuto*X}qW1IpqWJ*jvyZxR zqUE}b>0ya*pC|eDiH5{r)Lu_ZoDxr&w0AAGtLDEih2+9~%dVE$mgoL3+cK;LbMHThWgH(rl9jP*`0SBr zQqv!49;g)T(dNm?;bLAW;%D-8-Q~2Y)AyKq>#_J_?su`igWpX}D-rw1RbB0|LL z_}tN~UzO?;rde3z_OOhgN%w0qO~6xY9W0U5rl|ddSB_$Cu^wYs*}bMIC9UF3qu7lD zMZ+dDSN&>Zf5lIYVk3LhstYF(him`A%~fo~H7)-XK}1#QN@@?!n~3ux*3QNRMvM%h zEm+SDhx!FA<>`)BfOamBNS;14nN+9rd1hWy$;!*}LXZ^}!D2)^$!xivH&wE+y<7f8 zWtJ2i*SAqO@K-9?#q2NqY$dy}`=3iprK0I9KixT-S6#&B%-Q*w>V+*|sz++V%f!5V z-%DHKSY=)yrpPbF?}sM^#S}R*|6%-gsZ-?g&mnVKpCTKyy;+HWRH`(6e4W}Y{0G%3 zr-(IgwD1}k9Yzghm(qfylsC!D62n;T$6A-hazDc3zlR zVX6EoTHIMGE3o#i5Z#q#9qP&|aU*uP(1%vRdG&@*1cei*W9ATACzqJ4a8j(ys(9}_ zHqc@wBgEgO1sjc!p*5zWyy0ZlVlA%3U*yyCnC)7j|LUr|+CCCl5lgYEl0L(wy@{RL zVqvY@VR}X^2v+aJyhWU?Vapv`@Z`R!)gNXNsv{=M{74=q*+PTl>s#{KbvKBPpA_dh zt7}cz&$mjUO)X+Yl5zxOrkI{**y6+YYgm3!AtqTUwYFubFlfPe7?ei2I7jzlNGoIZ zF^I3oXBQeamsG#zZ8nz#UE0DA=Cey_%9TV(em%}U80u!~$M7y%TBU%Ez;+qm*o9p*Mjf>)SEF_EYFBAa@BgvhdDNY; zq_&+Mf0fP}w{&HrMvA!D+n;}2$cAQ@E?ttl^!UZx z+J)VeS=so9smiJj9L}t4TxWjnOm7Q=Emw92Z;UE}1C zY=;)&$pP&Y+@BnJu{u*qj?UrM@t3n|Jub7>aBDFYO-|p^gY_Ab6cgAQI&whwriol0 zjh<>;F05&az^`(FCngQ67_#4e|SD)nD`eSA$IPt&nL;ZD5-e37C z2m8tY^$d<5aI&l9WFaqhF|%2>Hb!%Q3FbAa8%kov^~Q0&-^GIN<>S?$Tsx7zOYSjU zp&p!L=B5Vv1yl_^uxqV1neQ3N`d%{0f;ca>(!@ZRm@MWz>S)zhOQ!BJ8TJF!SS4Y@ z#?9ulX?%y9UC5^LLvBRVY25D-sNTaalTCB^ZV%hbp5IsJWj$B{?hhprf8xzPtd`Hu1mwjF0_NPTaX~&sg?;S2^-FUpEm`>*a6r-4oGqH^0q`YB55n2ibXIviUPn z<%Da&zPeh5%L6Tc;#F5-w=S`ePr4Fm6ASh=T*-dNh~b~irpk#$eB)#`v`6CA^iZ8x z%#)MZ9Du%u;X5^-Tf(cRu;5V0f=5##v9Em{3~n;LoR%{+?b|bj zUBk*vOZ5#s?c~!*<`mX1G~LY2Q`y?`f@LKI)9IQ5w!I~qFQ6%~)3Ftqb~)I{4@_nD z80LXuCl>|MPOe%YDUq+3#$$eh<3*h2d3KT_i8y4$+yh6NBSPoC$*1N-g|&2QUJA`! zMj##X&?=J77kP<%tHH-nrKgZw%2eCTS59Ns6;de$Evxy_X&60fZ{hyw>|Zl=4Yj>y zp<&AtYVPB4j*QYHB9m&;RFp^uqIykGiYRgD^EebmiK4*7O1|c5HnoS^G-~Zy*6`z3 zGux>D!z7Z|T*G{%HRgB;zVaG2k{Vk--4+@^do;48`ZesLLn~2w?Gk?I8g_}A(6p8p zU&~rj;MlcniyWH9n`f|}%k!u4s_Woh_+EJ(7H`5pwQKpF>)6eO&!F73Z?5N+GqL?i zN~~>J&v(qk9y&Op_gzMmA8)9&tmo-Ym=5?uSp(} zcx{sJn#Iax|KIt+S?EoPBtMJq0g2azf9uAj^$6u*GQGk5v)NSxP+e4Co6)KME%+@5 z_?ZA3&fl8Nd_6vH5j#~XqlFh=&xT$GyTMMvpXh{FE#PIcnaFG?`~`lh`Qbrob(#ai zx4UTyyvdudXV;9>^LdS79xZ!ng>uhOKAFC1dYPZO9t-W3-|#MT*w2`C-~Kslg3PS^ z++6mY+~;k+>qgphd7B@-k=-J<9OBb&LI9|Jn>XA9Y>M&|H?a|AA0H|yFpK3+qvX#c zRTPu!ZEl{&-lR0A=3)OP@ire;$8M)I+v_kD{P++*SjU3BcfL*YbL^>UHh=SNUK7C5 zyEel8LDrZ3j!ZU^zYt)`2G<4 z4CGy5EU2dLI}v76^TsBQ?IXjlO?)V}7RB@=d6v9Eqkp6%y69fAE$tm?b|x`IrFEN8*23 z$fk9hd`E@k2lC&+-HVu;?cj?Su~DWYAP?iKHn3{`+eNI`mImzq9bd%EteLY0R@-w~ zXlY|Z!J5_xl(jn&{(~6 z*%`>!@b?rmn<8-bor7ck)>ni-P*Wx(U_&nmo=;Z<4?v| z8Sl54bvIpqXN5G4k6z6D?d#PAiu@gN!Evibq9Xk^0+ zRQvKP8`-=OQc=7@S_J;f_>9I!$NTXcn+q!DZ#OcJNw9d=CU&v*^U5YRVdyI%b1G3O zQ}sOZUfO%iA^yuIY?Z&##EOd>{$kE(Wd2DLtB>tjRUtK_tWtbx@X_%g{2rf$CmQgj z_&p&DUk;q%M%AIf()o>JmPY0;Sk}DswlT|=hQ=&d5{|5>4lNBdN0wDD=-oKl9kqGF zc6%@wu(_;OTa=%?nT;%vn(wZVX7fHv+5F-u;T)Qqrmu$P{NGF2v(;5{g>*U}{`s*P zDyaAOk9V(-yxl6Kx=+p0x^re}H-4YSN9xYsS%wI`XHA7f?zSJ_$<5cRyd0mA>E#4QOO{^kS%Sse*tY3vxnxlX^ zq@j~Ydih}xtV33y&qhmyWCqqPb*vEW1S}Qsn^qy-?pUYlav14J7hs`F@x4NqOQzqO z)}^6KIv)wToaHKjFs@|E7?VCJ->Y=8-=f*uVgdF z|7m@NGz5h|h!3^?v?Za4dBKup%>nvRA6RB?S{k`!LF4je4Y!$tk;oErQ{#eVjY}e7 zbj$lHq>;S;o$TTfe*E+zc^u#LAbn_&If(x?FAanuW4nR2?mm9^UF@dV4#>;~KHgh( zJl$)Ic=lPdR0B^s0U0bBgguXcW0sD7YnJL!Z{4OwTNvra_A=7pD21A*@Vo9nM6SP^ zO`oxKLxqStj7ic(C~Ya~3B8vz!x9S+6wZR5j}%A4GyErz^(IAu)D!_n|*jiC=@!d*73{uxI6gQ$VBV!v`y* z3-Em!-=rJpe8@6v;cQ*WinMl#PR6j<}pi_FQyUhAY=zZW&u7FL98qIi>uke7%b7j43tNuOKEJ^1y9(_~H?u(EEvh)*tkR>qxAi;(Xc5&6$zruhg;wKuD z`u+saF(lCBZt_~@8~Q_F^4CZ3Jp$j`;Q=)IB!RJPg*<;|Ei3P>%bfweOr^iS786hN zR<%A|p=cH8Q?~MM_pouj!=O_PpNYH#)9kJ#(Uq#>nrUQ0 z;&}c&eV@CGmn-;gn83#=2$!cP@SuWK)bWX}sdCLoSBa)MGLb(HnUT|LTU*Ia^icVA z;7tNe*OOvnGiWun{8I%hw1Zdjf=yUu9h}UoH=(RkQ}|STo19ZyTO0Vzo7g~8d|GR( zpFfD7^7iTcr<+*W*rU^1ThCGv6MOiltYYird-FupZGeZrcy()QT;-W35f8tqRQl2H z8vgwzlv;lcAFvrU+Hf5ox0#idow+WpHCf{;$ey~6tTCXV6nji{Gx_?>(5`+Ke-7zP zv#)P$E#~iSW_`=1%*iz5I*8AhLrKfJQG@IPJ~W5_bQ@-qNAY{^jr@acY(VTReh<2- zwUxYp9x_%DTCN5(yo}TJr&lqAP(k^dDO~f-Kfy*z@>FUd2W4_<#$bju%WKCbp~gfu`P8B@IW1Z{9#r; zR6;zC2U=U3wE~UpFbKS(0sg_mtgOI`-{%7SJESR?i{Gb1y!;V1VE9V>-W_gjosyNF z^w8G(;yBL6tob&XJ~@t?&OrSRVzP)?T}4i2?tz( zAKrzntw~@iOs@d79tj--kA8zET8~MV;0^8R;&hjst0$Oon zreoHD)-Q|J44Tg2GUB(=Gczkaq!Kc(?k3hLE8XYzRasBPBq<*-cQUK zs-uz2X~^sby-qc{e@5EqB99_0I8Lub)NY4g1%6Qs-L4(}6!81468WRsp*tB1AmcVb zVD{?P))k}}T3t8#8qoLWpl_oL*R+*?5%d*VbTaHA(2s)NB=Ik{vfc%!fU6SxUt3vO zEFWX`x-kH^YGeAGQmrNu?h4S^FnP1AR z&`Qv1K@*B`| z&KmGqVEurEvfBgf2Om*X6!$0K9l#?roDa_xCnp*nb}d@9w^_t9S!R+AxC)pYoUs2| ziBEWjT^(yK(S(rg8{m#wsjlp)(0>8@fni8dXn#z8X8==+5q~0Z)tzbF2rQ0NG(LmZ zhao?Tuq;axfH&&tffKW(m~`Ag_%(GCLxL{XqYpqqE6Akv0${5_{>Q)@!Pje*HwQ*G z;HAJ@f&E(gDf19}kbWF6DfEbG7Jg|@zVvzP0}vQiW|lU9Mg{&8824@^@R=Jn zxIg%m!9&2ibPE9g9#}mS`s7)5L+|}yk#1zHr*4913!k}*RmWZdT^I%QKVwc^iPIh3 zs0Em-Jsx$EC0yhEc>F)vFX5ha7yxV~P0({PZG3TvT&!e;g9B^TAyrkjR zZp5OxMN?chNn`fee#EBb$5xSs+C#Q_CJX;I3xAS@3(1WP>4#_G30XLhiDRv?OhW4p z;IlY}qL@Jzeh2s*FqKRAEb#u2<{h9+=`BfS@bxZx3-CIF{C40|2K*af{jiNmFf=}LKjl$Bv8#VkxU^)lV@xOqN0XxyT zN&dC@=*0DAsULY?jNEYnGJLZ_s_#ecS0MdiA!_ged<6o8pI-!b{c9SRFUGjK&@An` zQqAyY;JGiFr6xEf6|fKZ(Ec=@gbL{oHSuELnpe%zT;z}XGwE9p*2U8%u0WvPYQU3$ zR~Ybe;1j^3ktGW>_?*d z7-ktT$z>o6!>(pAh*YBn;28$I1vqTLNnob|e+oR&fJ?ENr=L$!epl2Zq!|>t7dTEB z^4N_mQc~;pH%SFYu{N zHv%8mn*jKCz@<=F_mR?DB*_mfni%|9zz0_AfdPa^Kxjq=G+I%H$AHDjt%mUjf`z!#xMXh`^N^9t&Lj znOUkNH$jRGz$*-V%9!}-!}!l$V!cM}gU}%e5t$14h!SBegXiF5k|vZRpe6Xpm)MeC z)4wJudWeg{dF1D8RM`@U6eA1a4ankQ;E4(T%+J}#vIF=%BcUF@QTCq!Hz2#8v#SaQ z48hbT!QK1V$jfW-djsV3AkhST*nl4eE?t`*iQWW0WWb*TPg%>KL0-KEnQ3L8&g%;P z;XauAS&+%xu%f6bdUWd8pHw>stRMdqz7Q=V4&*iYYk>9Z0K~_P1n2n`l1=090zM9G z*YNLw2SE)jlEYLanxfC`Vb71qx5(aj=u0P z=`!#qw&-@xmlFKuU$9GKzXjQgWCcP z0>94#ssf}C8PWVh479pMfG^&NsRFQQHQ)v)pg-iG^xIe=)E`elx`ykJV1upzG^U3x znWztw_EL?2MXSRG^bl4b71wlxFGK`F{(2L{MuI@MROqyZLMT1r){6M0V!FwqK1^B< zdBUh@O5VsPIl8@~KA4W)1)o9wUJ%H_e_M+mz?$1)FXF669VtDyu(9?ZnP zhcfZbEPM(I>JOPbp9Tx45fs=+deF*q0a2KQ}uYVO-g1p}5r-1z$j*)0Y%7XK4KXit3blH+~+Nn(R3BKPs?r zlUf7Fi+()`csmpjkq-ShxEYZSSnt<6fXQd{41a|h>5tyet9oQw>`X2!`oGrZhk9lv z$i};h)BG(M2`R&4C{=VTV3ODIECec2;DE;ea}EV5Kec=)@GS&p7=}Hn&5OO#1?IwZ zgG+swwDk^5NA&b^zVxp<(PZm2Cxiv75eIg|g7i@2Tny}4U!nRx5q<)~3M3F-3OomG z_#*HKEx{we=M4PtdMpc3gCeF{AhAU)AT>khY6Yq^{v_ZXhV<)zz4u|pF1iT{JP5)H z+*Q-@O=#S2p|M$0;BjC-GH`471K@SQ6v?Op@Sv$^Fbh!=7X+>Vxx(l0sjQ}G{WnA!s>%+;^|V-F|IGofkxZ_`AOjKf&eMl0!+91s2Ax96V}sTUWNMSJOVt`t0YvD6 zHoYBQOfiurSt}mFDhwIYLv7}GRK>cF4CbqTh4)U+@INHk5Ifz{R3GGzCmYj^QuR^! z$NKS;ud|Uc9|GeHRI4ADq$WLdwN-tX6av2?i%+*fb^iU}*BJQwfaw+_DudkAvIy() z;(K5UYd)AJ2!59=Ojj(88DwL+lWXK><70y|`Du(Xh@LZp(*koaDWHaRf==!7?mD%G zBuDLV!v?HmP~b2m6@1`fWw<%0VflX5g4!%YdJ5rijqW%|AHuwiDuB6$B!^MJA3>nz z@oE`#1BWjE>KXh2m^3cc`0Fu1&}Gz0$^hxV2d3seu3;Mn2x=ldy`8^@7nEbhI!>*Y zq!#Feg@kDJ+kj628#_a#xdL2zn6v}@xq5^ZK>~F!@JVW22l#9?_Ow%1U*Q=4#;8jP zbRDPNjkzHTKoy1a{}>UL6sDUFR7VSc?{(Bczt>7S(X%V7%!Z1z&crw3OUGcoe1H0g zg7`ZO@(aOV2Nfs;(pp>rJ`Fyd&uN~F6@wwcyAas)K-y^E0l#R#!>wpH1EvD!S~3;P z#w)Yr$AH_iU%0M^`+yz(+PXp&8{a_8B1lI3EQ~GoKwF7W7qtziPZ8Nk&KkPtkHMj}!Uor3rOT*Kx zHV5+C4e~F<)%?s5qdITE8iUF!((pA;VqiKA9eaR4I&FFq3G@tLv=4#51E0D-@hwjw zKH+w=-bxW*{SG$qABF<@qt6eG3KGw0P*_Y1{22snfEw^i$dIrZ3H1bd5&xQ5# zV4a_dW0;`XGc;<0=Q`5-r=XC2E1w$akcNAqWWwJ7)BXD18a5+n&>i~{4POOJ_w99l za|{H!e6I(eCxGc9zHnn?_#0rll;20o;A>#Ipih2J1)5!0xB*|F;mN>sabK6e1(+`J z>-b4vy3pTKlaCz&fo}Kf1%3-mH~n>uhhp+fxBkVX9tHjYnBD;JY8k8mrndq5Yxrqk zdNZJ}hTj3Ew*+*B{|!uU40Kib*#GySUx3g}OE3+XUL(*mxE+{YDbNep2~4jS=n5YO zrdJJg3;qX~UOOn&@*4q7@%n+fi-rnZ4NPw$sOfS3wGsq+C8119@GLOBo}ioTcfj#3Is!rsyd1tG+O!o5 zGwKy}+9-Z5u7(;t*4?!Vu~Y9A2vx5EQ{>r-^b{MnV=6|W3a%n>F|ET82xe%w>OQrb zQ~ohZ;J9Dy1uHax16$xU=*M*Tj`$xuj5z^%iOwH|IW~1W9V-}+C=U2F`M&{EH`VzU zJdLF-6xL(yRAB9`l@THsKM2AK2uy$i6nu{W8x?5fAHIW0`&@qAyEw^cdKZ^nCOXr- z^4v-^DSBy>rvJqlp$`G;3XHOYrv~Lw&Fsd}iLY$DJ&T`>_e{u4pN*47KFXJl8wtS9iJ2MH)OL(FW$_PofRDqX zySAkJSL}jIF+VmCsLCg<%q%b)pUdL!nVcz~jgtnx8|CS*jiG-9rN6^7$q7ZsLCpW{ zvuI-|)DMb~r{3@*Oh0itPJF`KfEDmf8eaGuIy4HPh(Tk<3&2z$r6-KD=09MKaMYl~ zozP)Fvd~9zNJ?KB_|JlW6ns5K5P#B?bRB;OzW$0E#fZ7PVKaluj{(zbZuF4KAMA#o z6M<=j{~`nZp#U+!kAYH8fDGw5U?^}R_!3XI8u4p>kXEP>e7wk;ikgoA7aOoxBW#+Q zPCyxC<6Q=R3o@`G17Tz+bOyM~*7Tfz;CO^-@Xg4FEO0q+4fuN4z8N?Sz8==M#XvX+ zLZy}fUsCZk74(G%+i~FQZvj$abW$e zKf)DnfuO(cM})6{_1FCf58)sFkqxP+!AxKZDxx?2|NKP7LQ6E|eE#GgS;>tJ2GxnR z-GJ91iy6p5pLqTZxDHs>R44g$GtyN*haxCHeb)3RwFsjKC8?a5PLd1HFz|<<4^aB; zOzi`g{gmEWRMV3~ek+QI)fOu8{tS zY7u@Mc$-1~Lty>2N#d7Iq!QGJT;4WObiXuVDi8cG^;3fm#H4o{)rU!okO#eSNufZG z*7_TmiuPl6>XtbpC)bsmVYXiv*R(K=+0)u+@MmgM$Y7 z2f&{KzOex7_2~kB0sc+k>#lGDc&-8WygY`613?5oh>gYGP91O|3L-C!0PhAiYZzY= zz456&OnhZydSBPb&&ID9`6yq?AOKIlDKmp?d~9AOKO5HtGWpqfqk&K5OGd&*)cBae zBE;WqNboZFm5*hbyfm0D@Fe)&EdELZzt3hk)NV;6DKW(SZA50R3MBe&@%k#c4t-u7wWUgVQO4 zzfKDNyvAh{7{XGE76UC z@u-K)^y`GdNeEAmq@5}k4$n{XCnLjGkfGksuS1BZ{OE-RYQp8<>kldPPzv*fAFysQ zV_rYgl+%aOKLPi9JnitNtIz=qnDRYVpVlQ8_AgBHtw^uG#ZAVz=LHyn6j;GjW#5N2 z%bu(dFTayD`|p*cDDV*Q3C{&iJcXND8h!%U3x#H*Wa57Wyb<_-hKIk1@$rcY>2*#1 z1}LCEWQ?^}i6Eeoi12)tz_Bb`I9X4wE^6&r_{J=}E(`C?!XL!42wkUS7U0an^Rn>z zEc{XyKAwdy_(5j=F?SXrkcBs7;eA>7qb%HgYGwh1j6OiPDeV(6sUB@a0#-1{VZB)y zgtG7hS@;)O_(T@&IgN@`A8O*U85lQhA{hkr=8Zu^>CKs{#?*yL!Hrq+FK6MCS-979 zy?E7UYK%ArjpiE(zz=2NSF`Y`EL?JRW&z`}@PaJ7$$&)={FQ+~Ci*lB_qiss0Dl%< zl!dnd_bW0>XHD3~MA&;2c;aBQv>(|Jej2#6%uGQsCJ1{$C{hUm{}T9kAG3HNkrEsP z9%SJE4%lC+-jgQ&KY*>k#aaRR*J4Hpyb}GM_`QKQeq$DKh43_BTDlI(NB<|nW)Nuh z6xI^F2Yj@|ECLJh$Ip-?bAPk=%LIfc0pHxB4urk1bXfpQTR({QBEP4AX`9BZ;XeV_ zONgXe{sq?|k}fby8)6#aZV(2YFiZIw{usCj3V5{)X2S{h_cn|DO;X@(;L3h5vBp0F zya#-8QsSQ_r!^>Oo`ppZ*3vI(`OgQYX?(0yOK=E;uftN<4yx>O*20E~Z9NZNg=nt#uEuy8pntT|?c;J_M%eV7-Qi1=Z=J zju!yaj?rvcmEQ=wEoLy$7a$l-G$VvwfCAw=qJaB>X~Mio!@mWlm9=j2?}2Hd3quNd zTNsn08dxk(#S4LH385>r6F5c_RGn}V1Y->+L^6G%c|J@WuR!(^F0;szyaWZTR(*!> zm(7x7{@9$dNW-o08Tdq%rqH{Q`4Wk8y5T~-AkHQBfoFWQe2b&dNuk#{gtl< zjc~^rcs=kW&1Cz4X~BI;%djp13!Fn>(c~8a(=PfT4W9(2JBT#ul20sI2PgZlS-j>% zc;tF@`$uomU&ZdjmeX+5NOOu452%Zv4O)Tu55giaVUvcZ0n?N#tl^q1@PS%&MNb9% z&m)j8#a&`efmO!B}F@zN%)i%cXPAsq0GG2_}K?kI_%z<;Yjy zR$$su(-KHSeu5b~yq@0JCi%CXhei1CPuS|Rh&5=p`2vn$!0Gk`e2&qf`OB-VeAPp; zr}h(_JvK+x^=MS}rHtsobB?4GD68VrWKfvC&n@bVvg%A7r&0aq{*vD{htQ>F+kWqv1%@>+(hH5u48&P%A7gYqHIwzc5;D z3q~A)a3~mZxtw8p*ljRKENXY#Jt0THWp#ONfvBxks-6;9(zv8LY7cw7WWTT#bqYir zcG%8|zXcg~+uSynui9oke^GmTqOrEwI@*(ME9yIcQEzT@3`^O=mRo@MJoFj6epJZn zut%c-Pr&I6g}rWHZ3hYd{u#R>=5z;LAy>c~_BevBNYIrst;=O|TOC1r)N2cSLN2%4 z?h8hPp->oqZ`1Axx~gq9y<(kb$Vmdow zx-yxuOnu#%+)SpYBc`__X8SgZEvFFCz6Igr9WXnxk*y;e*>oG-l&jfnF41f8cSJ*t zi<|HVESFW=ZC-c4%RFpKv`DPIl3Zz-_C%bWi*#D0ShdyL zc{aXIMc}BN84vDCA~0@beq?F2FX*t@+_5kQgpk7-v1@~>w8-vqS3BH6pFLs?MSaeQ z%N|Naj1HLAj#4_>W5#G^V{ea3OlL<-S4T`=2TT}4)Fqa)rnZhWLg!spAFx+@y`eB> zVo^uL6RMRX|aJxMG!F>D~;CZ1)LqoO80jql=ftcHAvj^Rtpz7b!vPj5Q9r1>u zUTeVZz!VRE{6uXT zb-=S{^J0cf9ob9+uOnq#9i(%2!1I6?Yp;gh4ifs>=b<0AYc=>>8(vH|DO|1%GsWw` zG8iq|Pv??C_$&I&^BNa~tLyP~>e zYCY7cWNKO5zGO@*K4s1JMK#HkH9M7bcH)3!qLI}p=Ws_oKJ2G>vAck%=?uEU)}SwB zkA~e2A4X66=Kk{JSkO&VDo4;8#?Fc}5UM?oGOC?YeW0Py9$LQi7R>VlA-mmbje0OU za7WxBH8xv)n1nA_g7EI}c(GxG=;3tv+}fUzv}}2>xgk<*iy^*Xx5(=DVf`0yh1KXU z;m`7i=Y{G6_^;aQ!7hv|618F{1=~8V3=#Z&_G*{g5sEn7K5N7gw1&M}`O^Fd{dNCv zazTt06t_w|#pW_ zh8$6cN94z+o8<1rK5Nis#bAPUs>|iJx>VM0O>);_y9-Tdx4NCMHpWT^KVgz9V|Gl) zqrPY;XbWI3&xh?9ZPc-OJ=op~`ogx5BN(w-L!Lmu7PdxgF6@c9L&54)6z)_KvyApK zy(BwV%yZk5Z6oUBEG(DsKNrZ=^KDMM(;E#(!@gjITH*Zbfwk@VmT0%8O042PE0lZ2 zJlJov2dzGzGZ+X21Mb@YgIVnDo25-vQ-MCy*s&b#Vn2Ti+EW2MGuvFb=Co2Qr)Stx z;j!~#j%?e@wT)%_w$nTKdtK#gV=k)=TbVw)I})jzcGlk8AHCkKwcUS*}X1I*uy>>mf?<2Fcoi{K36n~4Q%X<2HnwM#OKCYgbll< zJ_KHb>uP(dCv_&u-!8&v6~LS`7_q^D!j4eD;pV-&%kCKVNqjh`apQOd3vJu~rTml^ zcUC_3`1H`2EgEZEtyCjq%eE0sJ6ETo={@R9Q3Reg*&^)ZYA`OWX|gE;bs(#Wrp(^CXy?ktQrf2cx$|sOJ*soj zRAaUy8Z+1{<`=J_Zk*=@Js90_dK3*~=2C6*N_=cT z`QnS)%*|5n+F2GJ{tH>2mV3Sy%bu^{$SOx1Q2h!UWbN{>LDnuW)oeID47tN@H>Ss) zpxx^Ag<>wB6}xlcu+wTsEHU)Lwz65G*q71gGHtTW7HwC9m@kwqn;v93%{D!7bSj$a z5t;RhkrA>rNO?!5Y%bCC7}J>sh%Px=Xs}al+T6~{AM7t*HQJ3Sv)g5l1Oql_6ldlg zxrmS7#^ma@tB#Kc%60RjVOzvw3r3^f0G*IVQsao*i&JlOf!g)?W>h-DM6>z#6t$U39?V4qyiZTS7h`U)3Ow+Fu2)rIFiLgEoqQz|vpF0u=M}2TO+)Z#=y@8M+ymTU( z4_P}ol9~TBEDwme=FOX2dp#DgA)n2TqX>N2u#R*GQa;>ChM{UYSIlL8Vg1w?gb8#Y z8uel68t`~+9&Eso5gdq)UMsdR1L10{FyX}xjT)pzgG||6qPeHVB4*kgd~>-xrq~^JhG}ow>-Bk^E{}sB0o4_9 zJEFKiJfMs>qd_jJ=ha8M$Q){c8siw2q96@v;hsR+LIU;t<%+W=BE^F8w4PigXSM5w0 zqjS+zD`$wta%P)qx(wM|qOS87O-<^InZ|P0OOFXg(VUX!Z>!W`n~`VE`lp;cLo`?Q z(}A~h(Nv%_isr6=dLPOto6`X4ZK%#gQ{5~r8f(Y1(tAy5+4e-w-wD%u0D7+2mufHD z+zpnq70$oG(#teegIEW>E4`@HwQX0~^g!OZXhx5Tb=bet+g_b#d;UEkz3XMg#&^dN zCcVb&T!Zs(h4joT)@ios9kR|vQv-45qFP^wEvfEY_WVuj$Q@;KIW0DAF!71eRm{#c zIDgYRbB5WRp~H!Y6jLvQcB+B%{7vi35oX%y<4#xj{3AVXYP358!>L_h$%4?lK(KLX zb9LB>!vb6%q5G{EgQNUSi|nyscMGRaVP7Z`@VXpPtS6Q(U)CI&7mh3rESZl}pim%$ zlX*-9gTaUkXY;&znA|s(MO0@Goh4P*Ws>^OB-^8O^5w;OY=F)t^s}c9m^kkj|G+X* zmb6Xk;Jb&*R}=>vkq8cIoH!#2I~~~Z&l`cQTx{}LaXA{LMI%-mNTsH@R$M`~(&;&7 zIliDL5DWz{^$GiMiWK%nJ)!h@K&O)Fk*rOgv8+tfZqr6IOET>>ok`+GgKnKR#);uj zP+Lz#BfcQ+Gh=BQ@r1FKaC)3BSHO;~NL{v1e(ex~< zV_6b4n7FNWDVM`N0C&iRBW9n&=ET|+r;k?bdOK((5REz`={^?gR5U$P>0C5rp3X(J z4vBHEbJ>*JcPg45bvhMQw@1Xd*QsoJ)ag{zasD=-kyjh{I?XnH0??^wdaBf^sKXZ1 zqg3az=kHzVMSrKc#?mvDPG!>vkDZEQN|6dhZTm@T9_5V0LJ_YcYWIZ0L6_I(a^l$0 zf!hNf^cyE`5FiS6lu;^j`{>#p1u49W;c`cdLsdx{M$WF+(J#SI5I_Jxn#W^ zmFek-*4z@r;@4Byscy`E7O$S+lppMrb0)jlIbOMThZ+D(=oBFY?cD) zj@zkd`kXUcG}gwf=`~@tY+KRP0=838S8CMC6piI*Sa)hll_{G`G!;5J7tPsVv7D}z z>c*Ys+D^4{sG2?_FlL&&{Pe2WD4SDNd(LX*6m_TOD(PHf?Q|}82Yn{X58dZ)Eq9w4 zV9YQD#B3#JpwPB6_3^~+wgqs1E8@mIU5C%%v0>Kd4*4+I$IV1*)S14Q*QumaifL2n zPDMM^t)oz$-e*FL!L`$8r5XihFJWTw1~_E_9lz>61$~Lo^*IIu}i~ zWn0l+-atmSHXr}oC71N0I}T1Ou5n@FiM51wT~Ol|XLI?*PI+KEY3!bka&%Y)w{4EE zAjh`UC0==8-|W)02{fJ4c6D;LSM^`I z+BK$ARi>Tdto&woyT!TG;@U}yzZ=)S30$i6+BQdnr`_goca)*KLz`Od9a-Gnp~c<8 z;_Xz@(~*5V9hT}*P0)^ec~qU+8mP(Fu7NxqY3dc4wo?snN2c|5=pkNFXj?r$L%(XL zZazmxt>Np?F1`+x@wKDO=P+7sWpGq3lxbUm$HumwrlXK%vvuT7Hk(kf9c6F=OR+L{ zE7|NFv=W9aURfjmt2m6?H31jy8(VSuiL1c$f_@)<@g;KKV!U1NrWgIK0V|Hi0$v`x zM6N5wre6r-h65LQTr~Lc-(4bKUF-|c#vd-a*|85Bv_-jNoLpHP3}NrX5yD>*u!nr% zXoxQwCl4yNg>nDcgSBI@)&;Q zrSjlnZ@^=BdvS--iLD7-@8zFdD$nGHE|t6YM4@`c`bG$sR*yq4OBo6a&{R?N6p~#lW z@{m|`aWf8&vAJl&yKt~W6gQi~_FBBub6#)wJF6QS@b?3}cw61;ba=2IgqL@485FCg z^UC4>m3DS9c2(CM_w2N^IKbSAj7%~@#=bq@A937bJY!Sv2QW6!I*vJ?*k(L7 z9-Cl8bs-@jT2z}PuqzZ>iBd?bzO)jm)VE4~EKysv50#phL`~H;w0&v&kXDiUTj!pA zZO=V-&M-!R;oiAx&e>=0_3>Zp|Gz!@;x}o63T@>UHujYYMq1D>eN9EQ*m9H^ES4u{ z&L(qaR{jfXWdwV)1vZ8!d769X+*v2e&z?S`-xyO9dfO4TdQzZAo}J4$KEsz*KKe@Z zH+QR<$uNw4S7zv;7J6y9#FgvYrqv^p9z+2uK(q%K#c`~33Hz^2BSb+n+G8U!x>Fz_ zk$G~!*68m|Glb7JqNrw=&4%!nlurMx|D9I1PbBP?AY@(`uJa>))PHci?&$ zfIyzZ=Mct4;^;q^fo%W)2DO8sh?2CfbV_~e9^oJa5NK^b5NV49c@B2;UHX@2)X#ND zUh}MQnN}D2ZIsJ98*K|p+4-lB&7D|~O%D^GfN~JpwqM%h>H1rH)MUqJL^5C!$@9|G zb6_y=>L&evd(`TVYeDM+bY^-I<&Ek9-KDqhRU0}Mw38wUJqW+3aipO>vRCbNqKxBc zg%A`-ph5K*0_Z<>e#{0tb)i+cv2S~1+R)XC`CNZtud?({_Nu$45=2Hkd{D+<2P9bY zq?+vivjly_kKtr6>lNywkE$>A*hx-K>jM20KpKX_7tWnEYaufe zFeVwOu`Fhc!Z@m3M+$q_x3e6!MqU=am%zbie$~n>ARoK5y7d`qH{gu2P(O|a3;K^A zQoqVPvKv}{$~;byB}HVhi$2pKpy1z1hBYgKairhhr=sx`#}~mOu^C({Nr&%0z*gM7 zkARS*p;zQUQ&wV^L2TOQq0q`{K-p@(#Y&uC{Q}5iRIvq|6rlms5QV2Pgy#H7S8YTObIT9)$pHibb96R=_i4LRO z76d2JzRBH$AjcM8rx*4U71_Okt8pY9YH+udaV+wuIgbmb zrO#%w!noCp=MmY$Ai-(k1pGvv{Jnbr9#_BEA;y)0 zqmZ`c#2u@8YkhnwUm*URN*4$~vb$V*PPiGiWKznHOzPi!f+LzIg$)DI^JxM(FmLqL zC)AdS0zn{Ja0OFk&Uhn6N|ySlz}fAmJXhyzE6*^ zYZFdwd@`PwCl=|6N7Y9C;gf33Bpg4kCgy`-;F5B-edzPQu8#CzJQh4zq*0s_HlTSh z4Zo?si(4tQQGbIh(*V@ZAqsN*u`DzguuW_jUarMAfy6)~4Z6)jt2=O)a0i1xaps)< z>KL&`(!(hn4+>w7Q=mN-dXa1PcGFo-j;P5A>W3(yr;D-|u_DD?^72#%{$m`ZkzJD5 z<&jnURyf`elO_6P#JC)xvPv*JNjny-+w`UaSG2& zB%r2=Ee=y+QqLw&rt_n!m?AyH8>6>`BVlaYZ1Bbp{P$7y>=XkFL5lQRS~wQHoy$_!5Tr|v8zngPI(5ne8&0^+=DmkDyZs!6z(WErlvx+@ zTo6muviN84o6^E`64FYvL%g?hwMKZpxBm(e!b-}*%g_w;7{DOYsS-q){f?_?rDsme zKW*l};Z#Jqg&H6Ep5uhc+ZjQKS{z0L5<@aXkOWTkA|V^vH@O7~cb+?b^&&ppNl03d zqbUN)TzPQewm+QQM#Y?$bib&E(F9hJp)JC8O z>K%B5oFx*iAm=7Sf+uo=NPCb*6Z&JH7dPqSxw^9hSB-&pA5TLnmgZUY4ukmXr&uX` z6%~sWa|e!Z9+Tt34~*>~Le+`{MA8cVKe^h{fyB)`6PcWkhN4G-I#sCqKZ|MrWjrD( zDVb^*7+>QB@C0I>YRKp|{?peVJg27gpA~9NhpGG|b9n|nGH(=a`bUMD+)fdTnu*QG zO-yW#!fPcSQ&q@1l4x@=F8@Pat^evawH3JHcuE;dP3Kt&C{0leJXh0a{<>6MQtiwo zY7?3Zkfc!mWvQ$V6#WRfloT>OB}AI&@u%@w>{8MIDkkz@DzL#uM!!sIUC06a5%_S( zMb`z82LVE#3_Qc_B?&|4^neSW9|CBA-d~1YG$^WkZD@6xKHqCFU;^Rd)ouEG!^fQ( zAzIe&-_~TnWCM#YK)?CpvCqIkBY}&k0{j9M%q*(Cd@DP^Hg108(zcu6)_MY<**9UM zempBR(SuZCJnYJ^!c+|(-@;bIY*}hKCEf9K=Re2p)0fYyPpu^r;jn-#*)at-w3h3C zV4eh;u?Mgk6fST@p#@js`zO_B5BYfn$4fji%9?HheWzcTwb3N}dJ6*8&|^fO1!Tr2 zkCt4a63OT-7RfMVL-v**HWu1Mz3p9y#Go7r{X@FVz!#7(GGz#X!zK;Xn= z;7qp+c{pRpwifiio^$s`Lz;2^d06!4b|ypAR}(_!2bgbc8vh^eMBU*9pWwz0$_)`XfYzc=0Jmpyb*Sy-(0bv31#1m4w zfjIJ&)Dl^Uzk+fIju!g>e){>-0E5H~9uq3QB@$9;6zab_4RVv%ehMt;SP5))y24`N z7uGRQDUp_%74np1`yet9rS!yUFn;PI%GNlKb1#BMo#;0&0;(~B8wvU&nJ^H9qyPPk z3eZUrjMv+9wakA{mUVluGpsn|o~``So=^>L5bW1gV? zt_wUw$r##ZQ+f**=CimG(me%;>){bLY@!`hsu%QZYZjEXV8PMBbQqKCgoIAg8{8)Ovl#3*l za~X~(Us~T3qG2z|GmoreI(ZrV;`j?-dS1-AqY7n( zJbG-NoSQZJj*Du%LodstHw9JGw_*~Q{*lVj9*W3g9N<0%BVt*Vof9EoT|x>K1^kl) z6rw-f4)!wOiJltbiPlwS(?V3Y*}j&eEmW1lGZ}#vIGt7mU^Rc#r!+w6n;M6^09SSC z1k{k-lH6CJzS{M}YdA~#+k4bn{aY8*ok!^Xd8h)wWcCvn3;lnQTvP`}(;fY`;K#joR`55z&nqo-P*?yKb#V2bt&hE`)*d*MoIBp_?nY4f^n5XYuDbT{ILuta z4r&OtV3O9LIX8UiHyYKC?pAAiWDwnMS)S;2PcIykhD!I~!tA-TwQVU(h>|ITT#-mc z*1NP}S#GfH2aU^J{jN00o9(#zm!uCe3Ahf0p?rr5;vsZ z?y31n*K^oFF#l=x#hj)3BAZeGJn>AA1BN~xMRRGX+Td zRn-7t!$ryZKBeD%S&eUnCqXdHXadJH{7l8%^qKFzsN#d5)gIxO?urkHZ#sjmLD)3o zhDxkK1wFx#fE5Y^z)YfxV9|{J&RO+obiG3OIwU@fW1yVMXhh{gT7RQk2c)5>z0A*h z{ndL64)mg`f4K%m)us9$PO1$(PtqQ5-@)C&&M)Xd*ID%X)*dukiNW`c#crzFzwS9JPMSTmgpsm%t@%XjyAEGpcgv1Cw zJ{rcAN&Z?5J0`+6Sx#S6-UQVOZFN6FcZER-1hn+TYw8~T{a4i|r$FuLS;Nh;sF!Ku z4mRd6TqK{`IwfPkxNCunWOT|~>H`Pfpjbl8(vcRlDEgwDQC!P+JD_IpDACmfb)$bB zR4Y7AGYskPst81WG0~s~=&%mlqvSe?)k z`Qna<61YE8aqla@1faZ*4R!>&lhEHTNgvR;mf5f%n1%J6M)6hrHnWb~Q-(U;ZU9$f__>gZIYRMs^A z>!a98E%%KFYy#V=9o%k$ z^ZCjrk@=J;2yBLM@wJ-Sr&q**qUvX`0qvpwMYLMz4bTOPfw&c!Fo&PQf>_yr-udJyLMy^sb2(l}Anr?4p=XMs&I<5@4kCmktz-jGNvI=!Y9Ht`*jK;0+d#!W=eX;{WnYG+L-PQIiD@sUPFKlj^-Jn=9l=R`n*Ox3gfX4zzqzEQkl~;xfj*JBPJM}+)jl32W zbmn@I29lgNvj%A@Fe4BvxTEJY@lG!qY*MCJ#_?(?W4f?kallB1zj;#a=z#eUhddg^ z9uN;he@DNro|HM@0vSUO;R~CBHjq~z)}3zvZj#9|^@VId{X}wv8rRhx+3AnYp#f8v^Vx)mdTN?qHj#R{2t@8E{z`WKHs8VGALx0F}%Q#yvH~n;%X0`T(h7i$2lQy5w5AU%_fm~BY`D@P6TK0) zYkJKiZM1u#r5q~JrjMQKzx`dZVssoKuglnj$Cp4wgH;>pz*>L1*-9h*==E;2*G!Bz zn}1n0noW2n(^&FO=zlI1RZQyFV58qSc;FrNsa|!JDMdcUBJ}&~L)W@e1{@iEmp7y) zO?icsbn7IkUgWDQR}HehxksnOwG&9YpkSc*e5XKvGML$QJgfYhItq77tF^yHhZ(ku z2(~6XFzC{5qBr0P-$2rJOrTtjjS(iyL0Qs7Z!ul@#>+4{@sc){Her(DW)t_5hPAJ# zDQg;R=nuY$w+|CykjwOY${2uaGaz?`si_ZtZ|rBabwzc?p4YpssEw;%y0~f8ODD%x zd0X|#D{8~7?|+A{8UOm&s>}LK-o9m;FBhJESO3Wsb>FS>jpTFh@}v5P^49NH|Eq7g zs