From 1d6753bb20ed38d75054470091f62323b0b02877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Massot?= Date: Sat, 11 Nov 2023 10:53:09 +0100 Subject: [PATCH] Use TantivyFastFieldRangeQuery for datetime range query. (#4116) * Use TantivyFastFieldRangeQuery for datetime range query. * Add/fix tests. --- .../quickwit-doc-mapper/src/query_builder.rs | 74 ++++++++++++++---- .../src/query_ast/range_query.rs | 45 +++++++++-- .../es_compatibility/0007-range_queries.yaml | 28 +++++++ .../es_compatibility/_setup.quickwit.yaml | 1 + .../es_compatibility/gharchive-bulk.json.gz | Bin 33652 -> 33673 bytes 5 files changed, 128 insertions(+), 20 deletions(-) diff --git a/quickwit/quickwit-doc-mapper/src/query_builder.rs b/quickwit/quickwit-doc-mapper/src/query_builder.rs index d2cf5edc3c7..9532313178f 100644 --- a/quickwit/quickwit-doc-mapper/src/query_builder.rs +++ b/quickwit/quickwit-doc-mapper/src/query_builder.rs @@ -256,16 +256,19 @@ fn extract_prefix_term_ranges( #[cfg(test)] mod test { + use quickwit_datetime::{parse_date_time_str, DateTimeInputFormat}; use quickwit_query::create_default_quickwit_tokenizer_manager; use quickwit_query::query_ast::query_ast_from_user_text; + use tantivy::columnar::MonotonicallyMappableToU64; use tantivy::schema::{Schema, FAST, INDEXED, STORED, TEXT}; + use tantivy::{DateOptions, DateTime, DateTimePrecision}; use super::build_query; use crate::{DYNAMIC_FIELD_NAME, SOURCE_FIELD_NAME}; - enum TestExpectation { - Err(&'static str), - Ok(&'static str), + enum TestExpectation<'a> { + Err(&'a str), + Ok(&'a str), } fn make_schema(dynamic_mode: bool) -> Schema { @@ -279,7 +282,10 @@ mod test { schema_builder.add_ip_addr_field("ip", FAST | STORED); schema_builder.add_ip_addr_field("ips", FAST); schema_builder.add_ip_addr_field("ip_notff", STORED); - schema_builder.add_date_field("dt", FAST); + let date_options = DateOptions::default() + .set_fast() + .set_precision(tantivy::DateTimePrecision::Milliseconds); + schema_builder.add_date_field("dt", date_options); schema_builder.add_u64_field("u64_fast", FAST | STORED); schema_builder.add_i64_field("i64_fast", FAST | STORED); schema_builder.add_f64_field("f64_fast", FAST | STORED); @@ -477,16 +483,56 @@ mod test { #[test] fn test_datetime_range_query() { - check_build_query_static_mode( - "dt:[2023-01-10T15:13:35Z TO 2023-01-10T15:13:40Z]", - Vec::new(), - TestExpectation::Ok("RangeQuery { field: \"dt\", value_type: Date"), - ); - check_build_query_static_mode( - "dt:<2023-01-10T15:13:35Z", - Vec::new(), - TestExpectation::Ok("RangeQuery { field: \"dt\", value_type: Date"), - ); + let input_formats = [DateTimeInputFormat::Rfc3339]; + { + // Check range on datetime in millisecond, precision has no impact as it is in + // milliseconds. + let start_date_time_str = "2023-01-10T08:38:51.150Z"; + let start_date_time = parse_date_time_str(start_date_time_str, &input_formats).unwrap(); + let start_date_time_u64 = start_date_time.to_u64(); + let end_date_time_str = "2023-01-10T08:38:51.160Z"; + let end_date_time: DateTime = + parse_date_time_str(end_date_time_str, &input_formats).unwrap(); + let end_date_time_u64 = end_date_time.to_u64(); + let expectation_with_lower_and_upper_bounds = format!( + r#"FastFieldRangeWeight {{ field: "dt", lower_bound: Included({start_date_time_u64}), upper_bound: Included({end_date_time_u64}), column_type_opt: Some(DateTime) }}"#, + ); + check_build_query_static_mode( + &format!("dt:[{start_date_time_str} TO {end_date_time_str}]"), + Vec::new(), + TestExpectation::Ok(&expectation_with_lower_and_upper_bounds), + ); + let expectation_with_upper_bound = format!( + r#"FastFieldRangeWeight {{ field: "dt", lower_bound: Unbounded, upper_bound: Excluded({end_date_time_u64}), column_type_opt: Some(DateTime) }}"#, + ); + check_build_query_static_mode( + &format!("dt:<{end_date_time_str}"), + Vec::new(), + TestExpectation::Ok(&expectation_with_upper_bound), + ); + } + + // Check range on datetime in microseconds and truncation to milliseconds. + { + let start_date_time_str = "2023-01-10T08:38:51.000150Z"; + let start_date_time = parse_date_time_str(start_date_time_str, &input_formats) + .unwrap() + .truncate(DateTimePrecision::Milliseconds); + let start_date_time_u64 = start_date_time.to_u64(); + let end_date_time_str = "2023-01-10T08:38:51.000151Z"; + let end_date_time: DateTime = parse_date_time_str(end_date_time_str, &input_formats) + .unwrap() + .truncate(DateTimePrecision::Milliseconds); + let end_date_time_u64 = end_date_time.to_u64(); + let expectation_with_lower_and_upper_bounds = format!( + r#"FastFieldRangeWeight {{ field: "dt", lower_bound: Included({start_date_time_u64}), upper_bound: Included({end_date_time_u64}), column_type_opt: Some(DateTime) }}"#, + ); + check_build_query_static_mode( + &format!("dt:[{start_date_time_str} TO {end_date_time_str}]"), + Vec::new(), + TestExpectation::Ok(&expectation_with_lower_and_upper_bounds), + ); + } } #[test] diff --git a/quickwit/quickwit-query/src/query_ast/range_query.rs b/quickwit/quickwit-query/src/query_ast/range_query.rs index ef5d654af8a..16ada6047fe 100644 --- a/quickwit/quickwit-query/src/query_ast/range_query.rs +++ b/quickwit/quickwit-query/src/query_ast/range_query.rs @@ -24,6 +24,7 @@ use tantivy::query::{ FastFieldRangeWeight as TantivyFastFieldRangeQuery, RangeQuery as TantivyRangeQuery, }; use tantivy::schema::Schema as TantivySchema; +use tantivy::DateTime; use super::QueryAst; use crate::json_literal::InterpretUserInput; @@ -266,11 +267,19 @@ impl BuildTantivyAst for RangeQuery { field_name: field_entry.name().to_string(), }); } - tantivy::schema::FieldType::Date(_) => { + tantivy::schema::FieldType::Date(date_options) => { let (lower_bound, upper_bound) = convert_bounds(&self.lower_bound, &self.upper_bound, field_entry.name())?; - TantivyRangeQuery::new_date_bounds(self.field.clone(), lower_bound, upper_bound) - .into() + let truncate_datetime = + |date: &DateTime| date.truncate(date_options.get_precision()); + let truncated_lower_bound = map_bound(&lower_bound, truncate_datetime); + let truncated_upper_bound = map_bound(&upper_bound, truncate_datetime); + TantivyFastFieldRangeQuery::new::( + self.field.clone(), + truncated_lower_bound, + truncated_upper_bound, + ) + .into() } tantivy::schema::FieldType::Facet(_) => { return Err(InvalidQuery::RangeQueryNotSupportedForField { @@ -333,11 +342,20 @@ impl BuildTantivyAst for RangeQuery { } } +fn map_bound(bound: &Bound, transform: impl Fn(&TFrom) -> TTo) -> Bound { + match bound { + Bound::Excluded(ref from_val) => Bound::Excluded(transform(from_val)), + Bound::Included(ref from_val) => Bound::Included(transform(from_val)), + Bound::Unbounded => Bound::Unbounded, + } +} + #[cfg(test)] mod tests { use std::ops::Bound; use tantivy::schema::{Schema, FAST, STORED, TEXT}; + use tantivy::DateOptions; use super::RangeQuery; use crate::query_ast::tantivy_query_ast::TantivyBoolQuery; @@ -352,6 +370,10 @@ mod tests { schema_builder.add_u64_field("my_u64_field", FAST); schema_builder.add_f64_field("my_f64_field", FAST); schema_builder.add_text_field("my_str_field", FAST); + let date_options = DateOptions::default() + .set_fast() + .set_precision(tantivy::DateTimePrecision::Milliseconds); + schema_builder.add_date_field("my_date_field", date_options); schema_builder.add_u64_field("my_u64_not_fastfield", STORED); if dynamic_mode { schema_builder.add_json_field("_dynamic", TEXT | STORED | FAST); @@ -359,12 +381,17 @@ mod tests { schema_builder.build() } - fn test_range_query_typed_field_util(field: &str, expected: &str) { + fn test_range_query_typed_field_util( + field: &str, + lower_value: JsonLiteral, + upper_value: JsonLiteral, + expected: &str, + ) { let schema = make_schema(false); let range_query = RangeQuery { field: field.to_string(), - lower_bound: Bound::Included(JsonLiteral::String("1980".to_string())), - upper_bound: Bound::Included(JsonLiteral::String("1989".to_string())), + lower_bound: Bound::Included(lower_value), + upper_bound: Bound::Included(upper_value), }; let tantivy_ast = range_query .build_tantivy_ast_call( @@ -384,17 +411,23 @@ mod tests { fn test_range_query_typed_field() { test_range_query_typed_field_util( "my_i64_field", + JsonLiteral::String("1980".to_string()), + JsonLiteral::String("1989".to_string()), "FastFieldRangeWeight { field: \"my_i64_field\", lower_bound: \ Included(9223372036854777788), upper_bound: Included(9223372036854777797), \ column_type_opt: Some(I64) }", ); test_range_query_typed_field_util( "my_u64_field", + JsonLiteral::String("1980".to_string()), + JsonLiteral::String("1989".to_string()), "FastFieldRangeWeight { field: \"my_u64_field\", lower_bound: Included(1980), \ upper_bound: Included(1989), column_type_opt: Some(U64) }", ); test_range_query_typed_field_util( "my_f64_field", + JsonLiteral::String("1980".to_string()), + JsonLiteral::String("1989".to_string()), "FastFieldRangeWeight { field: \"my_f64_field\", lower_bound: \ Included(13879794984393113600), upper_bound: Included(13879834566811713536), \ column_type_opt: Some(F64) }", diff --git a/quickwit/rest-api-tests/scenarii/es_compatibility/0007-range_queries.yaml b/quickwit/rest-api-tests/scenarii/es_compatibility/0007-range_queries.yaml index a66284f6754..c3c625395c4 100644 --- a/quickwit/rest-api-tests/scenarii/es_compatibility/0007-range_queries.yaml +++ b/quickwit/rest-api-tests/scenarii/es_compatibility/0007-range_queries.yaml @@ -159,3 +159,31 @@ expected: total: value: 86 relation: "eq" +--- +# Timestamp field with milliseconds precision 2015-02-01T00:00:00.001 +json: + query: + range: + created_at: + gte: "2015-02-01T00:00:00.001Z" + lt: "2015-02-01T00:00:00.002Z" +expected: + hits: + total: + value: 1 + relation: "eq" +--- +# Timestamp field with range in microseconds. +# Datetime will be truncated at milliseconds as +# defined in the doc mapper. +json: + query: + range: + created_at: + gte: "2015-02-01T00:00:00.001999Z" + lte: "2015-02-01T00:00:00.001999Z" +expected: + hits: + total: + value: 1 + relation: "eq" diff --git a/quickwit/rest-api-tests/scenarii/es_compatibility/_setup.quickwit.yaml b/quickwit/rest-api-tests/scenarii/es_compatibility/_setup.quickwit.yaml index 24089348d94..5eea75dd277 100644 --- a/quickwit/rest-api-tests/scenarii/es_compatibility/_setup.quickwit.yaml +++ b/quickwit/rest-api-tests/scenarii/es_compatibility/_setup.quickwit.yaml @@ -27,6 +27,7 @@ json: - name: created_at type: datetime fast: true + fast_precision: milliseconds dynamic_mapping: expand_dots: true tokenizer: default diff --git a/quickwit/rest-api-tests/scenarii/es_compatibility/gharchive-bulk.json.gz b/quickwit/rest-api-tests/scenarii/es_compatibility/gharchive-bulk.json.gz index 459830d8abb97201031acc85f9b6bc8807fb8b2e..9b4bb284afc52de8f71bd6b3811eecbcb563f050 100644 GIT binary patch delta 32929 zcmV(_K-9nVh60I)0tX+92nfzcPmu>Bf0Lc;F0$C{4U)+&u$P6=Pl;nn)RL4Pk1_xK zs!2U4iMA=)nf;PM5K9!Rx>)b(uHwTaTRQ*C^{`?;glgz<2 z!daRMj0l>%nbh|y57*w6Uf2E)w|-f}MQ!V%jCkVxSPDWpe>2I8S+<0Gzg_F4fB%y% zjW6NeS*dSzt;_2MH(XekIeeJc^{Tp>PW39goMrWVZ7yxGn64{dR?|Za8~7u*=3=#h zjbOG|)<9m1X1by3>&fRglhUt>EwvP3q6ATICQH5Whty6N#d20G^zu0>BfgFRwS>uQuP|2j?qWW~&DD zYVu98ESyi)b(UxKeNq=ml`U3z7VeV;{E#Pl>5`Ady8Q11sL?aOXeG8%EX%ucTAa_!$tY$IcLt?Q@+2=fa>E)f2J&{gx_C4ztWACpE=&eJ5af7hhJ(`CRO$cD8isYSyg9CTVL<4v}y_eucmXaT{YclTl@+? zS+9a8++eH(b14Zt=v4C5e;P`>k`33KQI64;Ww~l zS0uN-ypJ}W<+@DjIozDwfp#P-ST=qEC!!l8uja)aTmayr&O&Az=Tcox_VV7^^=s(c zbR)9qU_pKU=NJbwf6l$o0q#YmOi?QL?xoD^e5Kd%%5`0r@Flq^#+mM;lHHl?V1|q{Su)0CX(zY*uBz7l9S{p<(QCR?5hk$Mo9@S= zsA}hL%dF9~e=)XugkqHOZsmH-Uu4?gsHP;1;>xx0d3DUAap6t!04d-Tf!;m&^Oj8sM$4WMpg^)k1%L`#)oY@W z2RNRV-N`c39pDZLBue9u0N}&4sAKIEZ;6^Z10Q`hNe$3L^9Pt0(Nw_45mdZW>v0&5!1qDxr>d!!s;u_c+AX5-1)W#^^VUy7M)J=_%5}WGSov7_=Y_oi z=iJ^3CRtV4Z0X^KB{&917qT4ex>)Wm?A%yPf3|vJF}|Sq1EE(OUt!Uv&tQ}*_hihD z_t?CsHn+4ZMbC6y`hS6=t6vy2BC2i7c(I#wSqS41Tt@J?{h@0+e*u~XK89RVxclh( zKJR4nIuUj&=&2->QGvvZdH1^p^9Jul2W@lxb;98$#B7nDhNGh_>mZqXQOY$w9vzYN ze>9ViZaym_bz#Scq#i6UiAe|OUKErLFuh(>Iz;=@uyla!+_-cAe12d$0DqmxbVSkl zq3OADZfN+}xWOx^@yq(!-}~w+fhzCZ>hT|~Om`;I!sy4`SMCmT*|z|OU_S~;XxYPIA+D9somR%y?TNFAnJ2x2sL2ir}A z1WOR*Y089FLQ=vg6G(GvQv>KUMN|jUyWPYTQ(B@RxsAJ1LNkoCr%pQLI5A3Ee?}#C zymz}vTf=n90<6Or<|r7I1|*%52I15b!mOm4$hXxh?(*J8wstm~K#J=sc@GLu70bi@ zrf-}}zAZ14zh`;ePo6Ck2gyL$xX!r!^v7IRa}Y=Zu6yQ3ZW|wocDLg+m?xj#>~`%~ zz*JLDgwycEgah9LHpD1Y_!%u>o5nLD!W*R0Z>eIroEiYwHsWDN9yGrTYYRO;Uu! z|FVMO5a=({9}=^!p+c;ZfB$?x`)M_O zKl>I^uK#*vRu1ONh#limyTyE1CjycxMco9Vf+}8rY!2PWMAZ)X$lbG+puR2y3csP9 zI&4>(-gy%fw_&061gfX|pe^q^Ee8!~25h?@-gfXx9R#CfF9zgNOfbbeXL}!g2*m<| zogG^xb`gw{eM?eLP6gS8f0TG9`Ta_rMYjZH#V|#94#_h)7k^o|fOA5clsZK{_DCQn zjWb3BZJ40QnP8;gH1*w_iy>x-Q-nBS2oB1?1;#_lb%0b$8zLwsEzD`ob;g3Hew%s@ zw&zLUSXtwoBvNDUt<^dnHU{pIQC9M|vj}kLwf_vvP5$EjQI|mLf1)8Z$l+QNz?SZl zP&8^f!Ye-`%$=7W%!M!IrR9(=pA>P~X%@THRhH|UtO_8UakhGdVqAkyLsn0JkEAqZ z`(yYUNN4=4D3^K~kKAtk^&Il(>(b}j=B@z(eh$eq*1GHMA>*u-Qbn{QsURu1B1oAW z!-60y8RRaSreFjffBtl>6*8Qluwe#6)Ymq(o_i`KgJb|{ZBmO+Af|yiwN@?(69G%5 zlwjUturp*0b^*+vOU*QgQk(Gp19{M9hrvP_kq9B91CMQe4toj-SI`72A|#~5eb)NN zEYDWJ@Z@h>4LPlmKn+4RTepSLn?%E8{@e1?X6S%H1;OYpOC zhdbFERV2UTNhpg&(qTsc*ER(~ULVNm5#c>4@NxcosALASd6fS?*jXcjW764b+LJhL zZ|wknl*4T)e;T*DmJZonYxInC+P(CAoiAtWRXw(q^bo_if}o|UzaC&>zth%PYdXIh z*fn|#^h_L)=Vg5+*YkZ8vB6SLKwVAT<>8JI14TCSMB_jWWKbrmvg8N*Y?MP?95ger zIn)HpnF)@_fGAYyC`h4%uvqs-kuw%NbxJq{rZBMqe>;h=CY%UMm2v`et5a}H2Ama? z?|n|GEB3>^q1KBxDtoz_uf}9nZItDZ05ykpwaci_RRt8GO-s70Q|XFgV)X5pjXd*^3yW= zrD+KMe^XW`+vO8oC-35*z#o0wOR8R{ejnAG%R0UPe~-uL{q9;(h0tDcTw(73dsU1b zAvr)W&Q~`i^^^oDhoWF#5`0tEKWdXL>&o9w-I2(pwn6G#cTNvg?44lH7)#f8N=jl*QhIjp()uO{*2Tuy^bNxWsrolI^2REA_KjYl~=K$;B3Ae075gp$|_!M(x`11Z$@##|-5(kYc* ze+TNAz>w+slnN@mw-#9qgfI;s-ZmlEn43#&FV{Ew!2A6gRDCtq$?qepKV_c|!|(gD z_~>mNk7L%W#sj{KS$p!okTfsbiHo)(9}$#$rMurAAIg?}NfjW`aDfI*y+%gbkTOVr zQm-+^R0*A?L3rl-=UaYlPC{7}=TGj6e_i=n??0}zy@A`VTE4zXew=5krjpu#{22mJ z-SneEA>5R{o9@&j$PaL>g^r(o4Y3U7aYroN672;e*jlZO(k2ZO8H=TW6hUYym;`A3 zZxqYI!@8~!i7D!N!@)+|TRngGl1lX%ehy{Mo}VeP;BGwlCMzT}+*xHc2lJ5He{w}# z^iqsU_HX3p9~P_n{ztD{1^+epHkb(=Jsj@YzdYaGHP4l-T7UbiXxh-nKfl%)mGy8m zAnQ@_B&VD8d@L$&tNGXyrycaTL9&*bzI0UznWp>mrgoj_pT7Igh}ezwktf zsFZ{EF;WCh)6{W_kn=vI5>YA)f8jCIa(U3j!*Oa6O|2maQRTtX(l}?7LO5pFXrq|X z8l|o`(>Y_o9s`U!s+99MP?efM5f~g4>_%u5Pnm=eUZ=|To+xd_e(0%ez1Dg5NxLHP zA3@Za%?bzsuwWub9x5FPaA$jipZrVN9v)zOoDrhB2mPz;F1xt^(G(Z$e}i2>upHY< z_Xw_W8xSp}Cw7VB_BiX#nA`(jD5avK3pp0ApIanYHbXbP+DlO z1OhcT2pcD$uyBYU?EWE5SP%|1!<7tENY|9ogi~)+FdR98AerF(_IbvFJ)Jr_Fe|Wg z)u{)gG8|nv8udKRCzJnY% z({Z#rG3zXM%~?YG6v?EsR9pue`LJl4kEUoqinOK zW7HW0AF?lk5#gN5&biCGd6`w;`q+;-c5w9w#mK&-mas?Oj&iWMWwp!nyHbbxyxyc< z$Y;FLnI{sb!{$C7qA7==YN0yin1Nk8ZUtOX!NvrM(%_Kn`X%rT5;<*|#TN1gL#0I3XsDT^uP-vg|1i!`^vQ1LCZpm|-*`7l1 zv;!gNWoZplPNtY*s5mX8#h4S3a_@w7HduiO(F!V3cF-E*bU@5m!2(B6#8N0jq!UIG zgPAanDM_Mzs9yJR#)3Vsy$Mj{D-S|(60&w0pw=LUdC1yRE1B^!7y}RXw$XsgCD6Od z?>qdSoXG6>f9*HL$V1I1MA#V;82Iex`;k$vq!0&%N1p%Cc9=Y3oFL4E9wZHpr^ktVp$5(n_rtb>!)FZLe;%RP&e|Sw_35ed?du~p{R!W# zz5_)mgSP%htCyD_L6s(_qq+{4w0k`0R%{B=8~2eFA@%MZKBz zaohL1f30)3{HjijPjm?0#uvz$`}k70>YxYm^5^pBBe;XAzL^>Mh7UT4xb^hnRDCv=4(xo(p z5>V+e=(eC!#Id&8U_~j^(4NL2I7C@&{!JxPnsbb>Yj)n-MEjwAM@l#9Ts4vMBAsm0 z^!@i%f6iFsx6t-mX!|X+{d+>&;Y%zDMJd~#aqNqZ5bJ`?)ehTszc*t2&4z!o;oofd zf6Lo&vvw>nHwEQD{qC6W$@Fk2%9}IxkNR*%6ob-~6X0nB3Mg*;{YVTE@*)0zqww*y z2HM2;X%x>H^J6FvP&^!bjVsh%FGgZ+K%-wOim@DPKzI8V!(X9!ifNN{ZuNSf$i4*W zPMNo*!bm(j@Q3NvAGQauV-aqlA2y#Fe@W`uSV8K>1^qvJSNa^ejotqhmNr#RDwc#B zq`r83ZS1Y}t}`=^6&hAESy|gm(YU!`W*Aj<)kC zyvI7A+vEB__N*mwZvjUEx^;I9>T^jSXYp8DR*KlepfIV4$Bhc*={REfREYm-Z|x8D z3wRWpSr+fn=Xb=nA9G>PBR4lUe;=LMz`>Swr9dt#TDNCZE}$@!j|XadrdWwxd1^I| zHDyn+&LtAaT|<7D>!|IvyK+iXQW#iC+Qn)taiMe2(05UbZU>7n;2y-sueOUq>MzA| z`K4V*yM6janRd-<$CXG_}UMjoWZgG z(P7KB(0{7DW)EWfwi2=Se|BU)YNfZn7Vj3lZ&krchfk{eOg$KMvbEW)YePn5 z=626ekJe$Ty39C=&fj}aQ2wH{5&Pw?O(<3N(7be+sm=jm*Im~PTUmDR{H-lNr<^FBO9C^LLBT0y#%P8z!gQKy$Q7!>7LIMP)kw7we+MJPQdb2ltQK%Z z9bv?2n3>~D_BG$s*79K6O^-gta8mhF@+jM&5;q|qf9+5{IO^@&{ zWidU1^){Ct(TCbff5*M^F^1A3#4s!A5lEzo^aw4+K6*TDp2pE5@;J-r2w1RLbObBR zCOXDcut9Vx*dxdqdIT133LSD4ZU-G`mlz}HF=J5{&~dN;^XK3Zqimle>nq0aIl^4D z)pJ~@#+p1wR!X?NbNJZN#?B+i5KHF~#AVE!N1$Og&e16ie==~6#n^>gH;-TXWlWn# zsGq{FIZ(#oM$IFra~93g6baaC1n&^KBY4`P3135Mzi@}ZDT^k&!|aZtGZxK0ljqEt zqu)Mb%N!r!lp%9)ME9~{VupT~R!lI{iisL4COEQUA|ET}+vTEgARn)`dTHGMA1a%r zw-&fXE~&*`f73=#Ca3L?R`Oe?*=hg>O^!#~RBjsy)kgUKHi&SJdrv2jqkxB7^lzPn zxoD0T6~l*9Y#^e4#Pe^z9irnKi79^-xl7Thq^$Yi?IEv6S~Xf+HF5R%hhaZRFfy;8 z^Tu3cWSs|akff!qf8+LhRi?pPmwn*A?cKYJg{0W=e@-8d6SW{Ifq-?Ae&4N@?*om9 zHECFoXvN1MrH%lE7;UYs_hR!Q-*1#%GtN78j0w~73 zTh&0n|3z#zi{NUVeT1;0j}=!_tyWMcZ@wAp_GeM3^+x=lmydd8KkjMrPt|``Wof_S*c6zy5 z6k->=kopK=jay2lhE3fW!4$SNgP-32vQYQh?pXFGo&Tp*#os<`)~m&SHE$uE0=T?3 z=+#x=83d?PJ*i>E`>mHH6}seMvRm>KR81kBf7c!ep%jDmfxi*ky$mg-&=3dq1uA(N zDb$v_e?harq}bSl?)LTvv3=L9=o#y3gzik$1Qb^_0dSp3E^>PgN;4oe(}1GXP%bgW zL~EWi*D+6y-Q0+}It0WE$jJkkly7Fc~Y>R?mE|NP@B7(oXLtx=0@FZm#8`)ZzYB6NWR_ z6ib->$o|C=g7kaV(eHn>SGn;Di5Vrl+l_6v(V>;#542&$5lco!Y9kPav$XBSRVK<8 zV)?zh!&2a~CrXujz4~x%*6-)Z-#L)Je=xdxu+~S1mA3xUfPt<dx@8xeX*%iP~RF%H${a>wAB{|HSySz5iqMf8H?w zqae|d0HdgviU$}4_l^n}MG1`!7zMjPgup0nSe(EpRAjWkC}vE|!1&a9Mh=XE+(*R^ zOhN`n5lkY6#S%<27#vYB3K-inDd7-upn-ry8uK-9s+Lr29P zOs>b62!u&SqvH@x>F?NRgvm7(e;$)C^&+Ap6GnkU;uA)JE)%6N3LO@!aAMknA{IvR zBI6dur{prx3!~VdB8Fi?@rOq;i~`PxXXsi|=*f5na!1G=aVaf@eE_Eo{MTY zL31Xy;nZlSA{-_zBW;{RtmJWsRhX-VF05nmolaH_2`_W z8OB(S*DCiIaHNB(2ASrme?f=>1)Z&2XDK#X*w5{!l0$+rp7AlWc{TApt2v`2**&-h z*xR}rc9_Y0IBSi`eD>phE|WQ#A#fQ^3GcQo7OVBPSm;oHXooyV>}r07rgJNDkdU_O z_hBIW`qj)10ezA)!WP-EBqLBMlxdV>1Q{_okU7r@Vk|c);!vf+e=uZvmAz8{v6VGV zfX2YCcm^R(L7rJ6%z#mfwxP>4_f0hWNNT+vi0l_@~D;taBsfQ$)A z8Ia<|ld!LUy)JGFy=&#|>!nx}$xrpn_dBRB3fGyWjQ$CexZbR_JhF88+s%z#8KpcUcuglS zG!Q&AL-2AXm|!VP8Hd2CUXeqJHIW$>DW}LFPASg&f+w+3iWv;FhN+Rr{uv92jLMMW zK)6p`=brIh4y38cXl9_&Im?k`!la5D#Tc|JQ%VhmG#a8&f5GF_7$K0#5zJHyGpbXg zbHzB92uaLX3N(d;zA%gZjaK_s=KkG<;{2O9at>FWI2@C%q;FY`cTqgWCe@Y8l>ruo{l-q;>p&m!*c7*3PlvM&MK z`wN3c7>H3WHDDA;Dosv_O1UgMD-Tti$ABXTc|`?be@aq2oPv-zC}Ed$4g|Fyb1I4C z0-@1ng@@J9lgg^kfO=EBDe51?r18WIwoOCkKKkbp%4~*EB8oHAy+uE*j8*WPMQDe@ zE`5+#)*KDQl97ypPOPjmm#nl}h}-hN?$>Mm-U4mwD1te0j;Ars$R>=FO^WOh6akun z93ZWke__yGS91Y#tKRK)Xn$4!5!97ULsE#TGLqRFB;rVLV=OTuNpLfYe|T`76}fpA(AMeDOH*w*JssL z_XpIFQXzb;RPu$DL5rlX9gklmD`ydNK(BuO?r-*NR5v9T>m;d$4~uRFP3-z^mPCI;VHg#f%d!YAG*xA5x*_(Lf1d4 zf4k&IjqJngr`6$d%Zz2OuwBLghs{9UO_=Bt``SPnLUDa z)Y5@LZ?#l~0e8s5dZjvcLZX1}`D~6FW}Kznyprv5zj?g2zlHW<>;Z%+;)8qhV((yeZ-{syB;Mf4%k+$L&@u>}HJ(Gu$3Elm^IZPymcTDFFgu zo$IdZwHF16Gn(6rf>nR^JJO0Bv+@ThGgc%Oa0b0}{8;2M;K;EEn2cnANJxaFhS|Y1 z%biWtC~7#NA_daw;TPSPc~h)!N^4g=ORwC!J!<7#caD`wF66uYWAe{id-YTMf2CIc z5~fBbX0y>BvtPsKIU+&OySJR~tLFM%GSum-_OMp>3mqz-Ep?bas<;`m$WUz02yLkT zdi6*s1J~r`bsYh9N))R9gW29=;bJcbaqd`5{{FtdTFP(j+ z)3Xhn3!e-aq#WaPPq!e{nLXdaf3UrK!g&r;hndj+thc$P^@^D28rP`tlM-cp9gmJcvu0?a#LQBmd{oXdrpcR^$0 z%{y4WLFXM(|H$(W@nyo#d)x#!iyIF==~VWGQ{^PbezZdNB7PdRZ^?-{QGq^`w(3s=VhM(*~ z51UVDk2%lbn($$+a)q5cHsvW{oZ4%IHk?wKq4H9pKyC;tgI?&#ggx|x-|b<+LPAh+^au%89{S+GC9VEbie zPResXH}gm#_+?*Cjxjs`avZ@s19Jihg*f0vy(0UDm4In8Bw zhUTPJi^~TAv}k30&-SW zY7AZjdI!@xe4@`@e`RV<@6fqEdud&``hGf#bDY_8d7LMy&SY|)9`RHz=j7F9Jev~) z)u#UWho7%Pk~!Poe;2u&W9{|M8@10^p0m^_1U1bGGb{r+LlAQ5Lg|qtc@7mz?Vp(( zvpk<2yEa@wz)6N(?pau*cTFB+x|+jkYz%?7sq4H$BHRQve-}H-G&aYh5@RwukAFc^ z+Kj=XO>F1K@HV}jhYT>uod>;;scsJU6DGXBcHaI>8+|Xd>PT|CHhSNntD)`wSv5YZ z#%I;|tQvo}s?pQS;j0nPdq3)NFCVY!;}-D?3GsH9_`%1!QT)ccn0v)a98>69#L*A&j*WhZv_n&;`Z`=g>mjMfBA}Xllebfy!$L@PmXr0 z`Ab5CyUqKx#=GJCh75Ag`3-R)x1Hahf$qGJB^l=Ce+vl8k8uBaE{Y4e1^q_-B<@1r z%{;=5=r`1C_aeT7xb9Ya!o5gf?SdS-7Y8Xg_b1$oUJr5B?HGb~&K()V;Yl~8uL28UjAXD66-+X^2w5pEJH2VI5t#k;~PqN`qC;g2Jw7J8K!qADkZ zJG@$MPTRcO?|HedYO-+uR39M533Wh<@-!VlF6T~a5MzBt2OwX^(1Fh1`*WbYjEkq` z!#_)n0eu8ihwayD9`a8LdvkIHR0)tJ6HKi+fpCNDR_(EqPe7V8zd{iXUKzbI`<4*!ziD+bhxIVrIdp zF2Ph`nQEb3b-!9L$xG=bIVjMKZ>T^RJ|tVQdR*#6uC|H22qY!YSIJ0JU}x#|R(8}njM(j4cFt_~?HB#_ z`b#!(2-~ZEA zUUC=mt3lnRS%pxl^8%hO0Ryu;l-{AKe-1>0GeD;VOf^bfW#-33t&1;qiMuHzxn(4I z+&G;tb)``jg|vFiD0y?Iv> zxHEzMTqjRDcQ5g)vzc_ab1oQyW*02y>qHDDO;jxmE7+a zO5fbvyxF`digl~<-0{t-N2dpOu2Qo7N}`0-wZ(du>^2`<>w}WWeZ%e)$*ohi?uQ5Q zt4@?&txJsEIyqRLze@i1pjt~vfA=@BOPuFo=iqZ)a#;1BUYkTDZ`@7F(%9kbr-dC~ zy}9ac30u9rx%w=<%IrT^=ga$2N@$jXPI+G~itDYtUOxnCw;n*49jxMM*glD;H08W) zf6xwfTW^MME34qV3)?jL=^DQ{vb?&?bS97x8mF8wpa>!oNJID}fuPt@haj4>E zD6AQQ8RW284)r*4;AdH?{)^~#TjF_T0G37eTsa82QsiAp}r7%n(*FR8a zPP;-yAe0Dq#WcmlNV|}7kzuKkD;>>+NI5hNLxm|;24M{OsF->Te>fCVDkw{Fh85zN z8*NY~dB#;ran2}U(10wpX!u1r>oIMO7pH%W>%eN znj3{srkKnX0QOx_nKO-Y$_>*z&$S-kJUs>+N+nAL%5V-9S0YmiS>2EkI~JBE6UJ^l zFmrto)r*JqZrC}fUJL!w_~q`ovJd7?qxRmSb+NV7iP;yWf0_BqL~N5MZSVi~|L)+r zR_<)NTC0Wm;101ry!!K-;`PHuTe77}7Dai8eYLWO*zd&lAz#}=>rI$=Pp^tb#Am5Td2DnIPfPoTgx)_J`cZ8YAa}Eqa z3TvHVmO{x$f64?*-MQZ6DF^O&-&11qs~LD9Z_N&34?RQ?KJ}njsOBU&4oSp zJHX0Ro|h+#UeZPcXM-F5#TU=f8`l+(i~G}N1QYrAw6b%Hx*QfKKV zWzQlhz%y-E6+f~l@*UrMeAI|R3@vmVow%Cq+BOxMI$W`&`P4^2DmFrDR*v01SMS;W zg|?8&f1*Inj#6D|q5Q3-gjxEabgGu{RSVZWHS72F=6Lml?V%_BpU3mHH5WlqFT&8e z%JdKEElU248XCg)WcCrn3|>B}5rda56U%MO7I*r(K4zpSo<8uqP}ixC>E;WX!l^Zd zJJ1yFnrkxQ5@^#$U_nxG?_f_0%)kdf(;_+*f5cc*17GWLMc8u*++9SMgRkrKlhpsD zrY?0xHQ!T-rw6`O-7qxN6l#cVhxh^91|3lAIMiKRHQ_QfJyadn52?fN5@TFbn6yLN zGCa+q-lk(96S*d~T;0JIF$1J(wrV5G55Hp5nP2{Zf^X9F{_;;*dKISuiZA-lOQ{w| ze@}Q7anAI^Ls^i|$|w4y6#9gs&+J92ZE*T2S0V_KL7WNItiFKgntbT(-N0*StJMUs zQIQSTiBd}#yQc4inr%`^7W$!vYz-lkzF>`$aj!DL-^K(bR2P>=C60wv|Z{*hM{IThKG@<2f9T3x})ksL)cf$BjcVv9sU~%&f8j#ontW^f zy8azv$NZu)d{`+ulJ9q`!n2O6~=>Yq!17X01jv*sPjn88$UDn^n;Cbp2gP;vdMm z4LWGG>v4rs^g2_M1yk1_S(t{AI<_za8;BfTn890ld|`IJm~1quf0<@N#z%dGK{MME z3^*lu0!e9wLj9p9y8e`pX_P1^qlV|jFd4SEBUE%@$b7r2OLf|oqpPZLMl5eFkr8`3 zriBSR`ShmT*j{7t1lchdnJn2po>Z!AA8NmR*%MsZq}e{)*38*{>+R{Y{r3Ch(4LM- z;sAu0pykc4{qnZ8e-rp0K^lX;yP*EHr&IsAbHHNiYU}oh#q+3Q>}gIZEhiy2I^$U> zWH-x;W|GBa#R-IzoM^D*WJCkAqkL#FrDa0{wOKASEd^vk({?9$&>72iSuk^?$(lIQ zq!~~zM^_J)$dRUnto-OfDRY(te@E)bXH7%)>M<^Ff5Gxduo9p|;bY{6NUr#0 zp?ta{Nn@ozl00=)=v*mL0Y5o<%9a1V0H};LQ<78(Gg3obLDv5Tr0{P))-+{g1t({l zTnTe+^n8!oXVLsBqIu`@PVeucT)6`gNvL=X87W(3Wma;Q z6DCSkG!0Hmf8@vLHZ7Q_^~?MFsCcbYMfz#&hy2W`Y~oaEbNfuGoGFzvrE;cJ&XmfT zQaRi0XS@Aux1TAMUzJjM75BkdlR@FBj_N?>bS)&`r5QScpb!*l-S$FqwHnb#nz`p$ zs@tBcY8d#>C%rfe2L=Y9a`r{%mK{jPMF5Ff82?$WAd5RwySa{kQyM>bPd&Y z0>gDY)ORw?!<-;hq)7)X6pv+2Dv)&5gmpZdcJ3Sj!#Yd0EGw=vV1rE>g$-Ucbv|qNVV&u zmrC)3f2ik8Alvz4d5bbdr@J#CIh=^0BBg-BO)w2YX%#cixyh;VY5!6Yz{FtZ7WgI01X!zPn_$NiZQm@PrP6AW&kiXzzzRX({+@7;&PuAqYyNk6^D%HcF*y=yfA%FoL`__(O^|X!&FiFyg2Umv`n@M5i0Oi4 zrSssw|DfMCEn$#RuJG#WZ>qj7{TK!Jtl}0wp*j2x%_won3YZKV@)D`FS6qDwI`%iz z)s2EXB`B%9ON#iZ!K#iX4tu*&SZM8-@qMaf`H=()xY;>B?4FfLLVJ3{Jn1x{f0$7? zHT$*7rGPN^Rx=^*>F1fr0B_+mC}C?743z>$R!9>0)Rg^&N|9k7jpd=T=^F=lK(I_w zOdhWXlh?*Ms;^FekOHM+QI?iaQ-MC*n0>=XltpQoE9H@*!L_weXi;Hh4s#_>S*b;+ zn7BRFVuOiwntkEzDgZ|FF}yALe;AwX>Q0V^H?+wbFQ)4s$#^v4wpcTi`RQ&xw#okD zt;8*_UV9mvs{)d;wknMM?5rA4*21cAw%S%zv+Y(@)o>qssu{(vo_&GQLvp2j)iv;x zoN72IjirF*$SPgO?*IAScAnHZDL0}+X+qCvnUPT`vw2^$0wYsULPDk*f2dGN5o1jy zOHFeu>H~LXf@Dt*(F41iRz#|G+l!S^;UgO1c^%KOOts~T>YlFsG`+tGGDIgnTS*U% zw_RX&CF|xnwyyb}PK*Fks{`A%6X3wnG&sBJsJ7*srmJD3cG+FkwTv*ZH3R8pfK04; z$gnNL);!P0o~~;iRdd9hf2d};zQd8@uShjQf?e#|wi+OdXin&a*z@VXI1EDKt15Ew z=*hTt5%kDhZmLqF5tF(s9xL^%{7;FXI&`Q!lyMOq5tQDKAjm@PrHmA1mQ?T1H!_mb zU#T&iz>!!e_s=6MQO-+6Lpf<^EXE0sFO0VA)Y=){P6sRk}{S*!-r_@|Nu8iSKH(%J}j@%wc z9#nnREfm#+v8s+R8u46 zn`$-mHage+Vmom1$+a<=wO?6i6ZQ-R+cXWw?rffRbYj*)uf1S>SvDjglfdkRe&14; zbW~ipwx)Lsf`_N%7eP@`H5K}rY!t&xQQf8A#BrKc_&}(vf2JZo0XvrN#RNT4yOu?A zR;{*~_I*JC_tWyUAuduiLv=c}%|?0;fvKy9NoQhggv^ua`lr>Db)JL7?1}rP)iCBg z)9OQ;{8Ba%!d_{owTw^7V5B@!hOnPM%Hd?aQHHYB7p+$2R!@{Q+s6;B_r_)~lywU% ze#O}@uhy|Ge~3vl>$Kq?o3}2hI=fTerzyoQSoxKAP;2diUsb(9p-pwnZ^{-0xaJpT zzqz<4PZB85`WgOT?SX)9F0k+rRR|KWJ(%a-pU_JIY^OLnYYyUxn&=WRta-ylt`A_3 zqg5niy(j8xpSMKD$AOz2QOBetuo{Tx>so5^o781Me`|#2>Noa;(XGq_MoftLaq3H; z(2rd+i05l+D{~D|e2^O%U;;u968r%BA%%}w9W6=Y03 z`H~v@5||A{rFw7CFN;RR!Wb(ICdZN@i~LenjI}7OUiamO*@B#y3euRzO0!gslFavJ z0KG*ne+>%j@)USWZqoEnPbDrF=+!&Y61|C#J-0nn*0$u*;;8=srPQm*IHGJ-RBUoC z0O0!BN7O*Ny1IG>Rsx_IaV{}h-X3%i_btVdo@)fC8j1>LHHR?7`o=ejQ8p0u8jx1! z-Bra>B*Xz(^DbVKQX=zQ8jLP-k`_@I1#3Kqe>w0T%=7Q^C<(|L6vuDqA}gXGqU)A= zVO$%m&1IZY1^tx8>XfYnVvX>8UD>rOc%PAom3FCn?^WkuSqDw!={Nb^=|@!Oz3Lux z{a_gXRS8QzZu;8_9|XPTkFcvm)hN2`C9Per|3TF{(WQy zMBR+LRBcZW5ma^NUz7I*cNtfmbw0;^Dfq4PesB2f4@^Q-#>EG2<^o$&v%g)Eacgu^ z(?pnmvlHF>mf??I8K7H+Zg(P`A5-#le@{1(ATiWwF2-K+@r+zR!w5CIA=K)Qu5pl1m5!sm;D{`#SsLe@B<6ZZs?nLXB#$K2-%Shxu(IV*Hu2dLl_kit7w zZs}L~8|Ba6|M(Z>o1fmj`%5i9vbtB6o$@-%#kg2gGr+Sw&+V)hgriclVrt!1f9$jm z8_4jyfU9Y$+Nr=v8y4tz{nLFJQ;C0*Cbtl`TenmuTTdJe0NJqlT)as z?hBcioV*i7RJ9Z7!A-#>X?v8?kg(^;(O-_fe6jk5J4WF3DME z2%I)r5&3N+&}~oMfN%YMI|CWSdOLH{n{ufM64x@F;mj+V&IdQ?nr2Rf)y)ZljK*o8 zq?AsBvY*~*A!SuhgS1uqe>4rZE1;(7K02r~l9!GTkL=jKyZ0ylIy=yjC?vU~-XX!t z_Ya6_3*A&8*NFuS;D`!4?o;J3KcIV}Jf&r(kk3^1M})TH=Vf?XKZT<+Dd-y@tx&>G z4DnZBpHRVawLR`U@`YB1oKM?sjy4Yfqyx7S3k_UJ)QRLwx+!#O}0LaCTN8yCS#-nIr5##ZJ2?vV@aB^|t0i1Ynl(jDNwL^O9qV2cNG2VfgxxKs3xc4=tuHSb{P z2i2R3;p#4gc{TN5mYBJONh!_$M7={la-p4z+lCM|Imq5S%`jE|QQ+_mhN@w%lk)p#j;q|Qlz$}DtIwn!vbTjsT(HrF;9EX!Ev1>M~?GK*X4UW)F37O$n~et7Gx z6ir*HODRrKB=4kX;bgC*Xpwfkk)i{;!-W(rn!tS&ZR731z+Us+ZlmaqXnRnwO7-}O z6@C9Xf69UVKtHoROb~_|BtOINOj`U5Q9D-j9SXC3e`8;Nf8$*L{^mcg-$MPrygVM$ ztWX{!q}WAjT`6rnItUVC%p!%Az$ns6UQj2TWsh{l#?>;t;jPGS@kX;-7@;?Kp`vj= zurd<-^;Ow8E1BOVHC3~~Y#BU8(^|B~`0(C3`1VRaW*+ z=5ffI!j0W)*!3~;-3o@_y>a!IjukTaJwy}Wy0cV| zHC1y|kM%1nE|1qat4`A9+vG~&mD%5_du`?TI3xnO?cN_s`0d_%Q)GK-Ep1&(UoZjH zfa)EE2@)y|Fbh%%e8~{oOzM=rQgB3nlh$?rDmkxAvGuH9>>#As(CmTT>PlNO=$VU$ zW_2Pc$7Td>66u+O=+ZfvKuI!%nSv>jWtm=|*vc1Xc}EGCXnw(qS7`Rb$TunA)L8-S zAT+5_{~#xYonPw?v|BTrBC+CM{INlKQMajq|6}*MWt`NJwni@#r4LMCirlsK%I^kC zUzkdHo_#xCt0Ltevpvy-U*>zyk`P&E0yK>F4wjI`kTZEwWH2+lbv_H==AQ21paYtu z#5qzNAe~7n7J61$itGpqOQP7u+wy#c@}$49HoUeuGQ~HbT2%q zjvN=R(WLlRCDaLC?sr~~VYX>XU5Mj?m)=%nQ1fe9K^Bl?ghCsHkk@p>J996gWaL2) z7t^^}`febDEx4l$Qvz@@vyOEY9zzQ*lS3`hHt2@SO1j2D`gR><9&Fq8HquGv#?hqi zE!P%mWR!nQ*EZt97`k1d2?2xEE<`L$Ls~G6_?0XDNySTAW!2tVn~vP+D=pihk{22Unfk`;cErP_t+((|?ySJ!pF?oouPS2wYE0hH;u%o6 zz&nxPxdXdX{_;TK$a^r7Butkts7)A8yuoDSUh@4DaXX0!Uc`sI!2n`$x7mDXr){S^ zBaxR&hG5O>;UzM{2rp>Wtlb>UQjT_B+9Q*+tMPoP`3;yd;H>Az)>NXV)0J}AOkQ>! zODZqH^U3=)Cm7kRp`3IiOK>k}?Vz5VfsN4493gb#np5-uL~Gv6M=Ci@dA@v~*K^9( zRD#OVuKJLcPt&Gf-r{tri#kj?} zqER_+U01B0K^)#M!Wd)$kDf6}oPl1qtQfRZBKym8n3o*!TR;lFjuXX|bSZe_RN2O& zfqqA^m>aOo!)q@rJm)2AF0;?&;_zI_>q2{o^C&&i-Hn3wW5e1e0%N={x;u_qHc453F5Lo}RLb2j(lSlx1dj_9Bf@OEy56YXr%-xjZIT zgQKRZ`@+Ra6EiA)pJcWw*u>IR;VD|$KUBVZ-mde98fzD*W;omoBQq-50kZu579~!Q zN&&?e*xHovb^NWovNtowwi&|v%Bm1(3v_awCzCqiB!Nk&0Bq$O@GA z?DQTFDq15Fet$|quUNH(N_r9uB6mI8XFhP*v3c{1QKW`uz&8d1L6IG zj01&H0cbbQBj8C_*Hl$iO%(P_NwJ*4P0X`M>e9g4+R{3_2w$UM8>1-U5+-)R&y(G%f z9cqkxEo=*8PAxUw)4FiWI9U!jKW%;3qL(teGD)5WWTyX908b6*(IXi$Wm{Tnp%g?= z072v${S|v6vC*?5k#$%AX9rkjY=)l6(Q;}U+ZNDCXqwr`-AuXzXCP~=)C*jC;hvn| zDW1u@8K3*g^U+4+-8@dp%$xQsxgDk{<_^X(J(DTcb&rOOzCW%5E(9vvJR@rljLI`n zw2c-rZS#EK`)#6$Y}$tV_zjeGzoa7<0i90`Jc&P;Fbh9Gm3QmVE6P#paFp)S?$Bc#e<>K8s^d}(*FH^@E$tX!7u z+O`|1))YXDM;qusnBxtST2-Re5^o0wfKH}}m8MSS!f)t<4Ut8u{S9YuwEku&cuK&<+87MX z?gnZ|a+k}ZG@a`OS*qHJYf$qMa4TE4VX=*k=b5NYc2{v~qf2@LVelW^OE@Y+ZYlbF z_iF3vz=@TP*=@pk=?1QC8hAQYZmaN3sN>0qrH)v6PY}DuHxML$7N{*hzN{Q?8Y-L^ptSs(VR|Jjp)Yuzx zBU|(GYY&Jcprf9TJPlb*nDvw+v$SPtH(FMj*@nZCeUV(lx?~Q|#%Xf4 z9VqdD9Dj;8>&zEY-&$q&`7MpKd6qxRPCF=MUAEhfPyDnmT#gHysTBJJAA7A)`FnmJ zy>-k^al@2(-9JgbwB^Nxby2=Q)^`RCf8bPcd}_?R=F(2LWB33HaA>IH?8bmi?mI^* zE3VbB;vw+?#Sc9e9dKX z9us;b_G}K)`h7N8Tj=nq2*O)s{At-RUVRW7chz$QzvpU~shm03N^yNhDw$2T0zQNJ zv<4>2KfGZ-?{lkG_n$vU)#n zvxV&ZU6|d}o@3svpt9d-wERh&w>K$-uYbO$|86^Wcl-d%OwfEE7rFFhb=!F8efyMd zlH7f^hSzUL_WHwb!JDm*`>;jmxZtN1UGA`^EaN~~bt>*)v zZpOEDTdt8Rj#{0fl(dE0W)z(1+XSpMvD*a6IRku06ue$O2K*r;HJLJS6Pj-EQWEO; zG`0#Q9WH>J5R!83D7YDUxAn>V^0Sq7iCHOpI(K`a4nYP|^lbwBY!>H06D{x#W9-C) zSvW3`hZ$K#ee&b2yf@N@X^0Ru-uW$pCE`&XvQQ{b!8;ftx#Kh_pZ+(r3Z8YF%zb9g z6Ryb9g-P6AFS5oh(JvLHH-fV3%Zz9SNvlk_)Br$cQjp`*OD$3E)-s(Jf<;dmajeT! zJW52GnjSPANPH4uR9TCJfoVW&0yp@NdVm;GIie-ROG<~>3>QD|LqaMM z-fw}dC{LUOi~w(yCh&ax-{}{G1gsgtig6K3#S#*%_l_(@SYEgyMKhB~Dn~c0KhT(&eK``x$uJ?*I++pYL^C?!v|mo=6&kTK3xvL-n=FcIKRA(UScj7JvHRo;HQ? z0Y3AU^pEr6=&5W$e0R@;`6$l0R@;wgbG%fkiC+9KboxDAXAf^&*FmSadXRvSEr z%(^*udu~o%RgEyPvhG~!_quI8MD`Z0KAN+Y|pnZR+ z#%~yILv>tfMA+1%(mz+|f4j3wA)K}A2aewP(-ZOPL^)82TM{x&Vy}f-`BYzo`bM1SKEY0m;zgdKWYH#xha#~R^H7#d(-KbMGzfawa)p#F^QKrEK3Mfns_SP z0}$un+Dy8T%SwGbZ*298_J@-`>Y=}xZ z4VRGPbxq+$e-i;DOZ!PVIXL+Bw|V@b1iZvj$GY&@bHyuIzS!KSi$Gb*Qb)OIp#I~J zKa!kkGg)wxYd?0)hC|#*04WSpqda~&R-1C-H?(3Nu=c7ljKCw_f z72wTQP9SgNp0Hv2W?4x~mu2ohX!G(lYBTGbR!fm!k8f5t_?6V;^%pZ4=Pyk^24iVZ z-GXo(Wp%@dJ0{38l3Z7VphIx+9}ekJ9@R9b>Tbg|Ld)i1P;T<9k};z{mXK3za>-o= z1MudSWe3pfS2mq!bW^l2ze&k)?4f^n|l!iImD> zfYW7XJUV%2yGWCB&;+&a zCL}|AiZ+`{FdA`3h!sJj0v>2Mj>W$QMvxH_Mg&bNeG#{N>wzvj685)YinrI<>iPeC zrj0Z}Frnhl1lz)^RSUHm;uRB#@FBGZ_~(C^m98#o7FxN~e2U33nsKjAy(;)VnM5<% z4Q|!oSfA8a5rbkP-X%B`_{-%#)1l?FD*{Z4>sEs(jaQ`nxSZf^--qv$7gr*QH~Tk$ z*dNyDecd$vDS@cNR)onjsDBCsFa;aM&+q3OA0yYE7quGzYiDazj#Q&1!gNXlMO4`_qPb!6uIc`wumh&f7Aci` zrc^?XUHiqH6XYdQO-Dc86g%VQVf@o)++g^fIZL`;$#^q#HSUgueb5I~IL|%NObZ4Q z&i)p`dGZjDu`!WgPt7D652j91AQ^NM=7G#K0R;juU9gY=96HV%Cvqns`w|SL#YK}L zX20XCdryN&#A0s?)l3}>UDv@JeM^h5Q|M_Gv7BCPH^vt_5uC%0NEHZ+tWS}dh&1bf!6Z!49BoYR16q-@?3=15u(`! zg)OFFKeZLb;&%D_zo}G-tJ7Ur8vpvMcbKq^EKPwJq^z(G=RgSiCM+PnCK<;~zSAd*O)ss}G9`A~#~%N^{2c6Y=I>o!0QON* zY?`8&agx*~M&A`>ZQZ;MAxW0gl)n{Qf{VYTXdLzLFixE2;vAS#4&fC`p+aKC)ZjfE z+8%>}7PLXQS&CZ#PZS4aZ$D7IK~Z!MBwRnbCc4Yr#7NiFYO6<^rQPlc)4Ix5Z*Xkk zeMLLdLnu0N-K+>xv4YW^>`!&|aiZtMQTb!nb9sYuY&C{x)+*}Pj{AdGh0zUoX?Hc1 z=9w=7v8inAq$Zi$^~+UbRL=PZ)^o95R~PNfU#leZMwd4LOWjzEx4v(qtx8uN)|bgi zq2t*b6+W-r^xvxsH};>NQSc6g*Zw%a*A^~vyOi~9{wbQfJe9&l8Q*ak^pP@(g=I;9 zOJ9Uab~`d<3^?!SUTBvX9^>I*0cyFbkiKvtDncgnx`95z1*ReDfv~WUbcG>q7i#!a zOVcFd38M-C;hf(^SmK(56pe-^8JwVu!f;2m`wtYiRg?3O!E#qpkiAG`kdDHZMRZ#@ zT7khWohZ@kG02~%!t`yrfr^G>yGWgY6KMc5jP-w+?#uY5k@4O#&gQ9p_Fe%xW}Ndq-xZ;=#*Ka>|U5nkkm z20@(w{51bxiAK0_hiTk|-at>5q6CNs^o>tck@(Y>zaTWtLeKF_bCqiKmhn_$L*D6X zq;{G7p+-ph{PL1Wy2@tfg({fDT7bl_o0+yOtaDOJuZyD4<2e2N>t0 zpaY_Vox-8VsDt=R{zpgv+Q__YA1=Y4hmx4SKa zhbP8<(*afO7+1%q57^15i4hT6W02w%k<`+yeNde~wkNW3Sr__3GEA#)8q9z+5R1d zEA|L59Ls&ugszFDyF@kHKk26+0y)w|k}3uMW)Rp`nut0!VycaaxW`~5LQZISD|ywp z7S(nmhFO0z{qeO)Mr*p&f?%3r5wQMFGi@$gd_4}#HrBV7-igI;ux6`#;-#}m*h8zK zGqo`kTpVM;gJ`S;R--!wl|p4D9)09^n&W>m)Q`uwSNukSan}#SlR9Km6b=RdDSe{T zYe{X%kk@T6%Xu4OIuqp|X^v4BDKlg>X;>+>0}!HQLKhh=iblZD!Y?DD1cZ+@g){j_ z6h)98AD`j4(gx6_J~VcN7TxS;9!#H9>b7K-Rsy4hr3_bXJ zHpeMiz{x{UGjgqCXJ*&Otnc*;MI?EO{rqZR#n~`}BY0tf%L)DyXgR0&NyLzm%))r+ z5s<9aXkuS0e%seQI{}_)1n4z=3# z&5m>=gd9ZWY}(BN+{MZ;H;fCv`mk`dKs({tO_RbrCFK!R;T`tB?+|LwD1kq2{ehN( z1__8~NDo9FBEPj4O!w>j5Ra>df}l#dX4;pd{(QeoFJnsr)vk~P7)gN3hXgdE2JRcw zb1B${EBF%{_U->$K*-84VGXtUPl8{g$IxqPIa6lx6 z!9^MK>q0;~VnOEv!0#)485qMtqVwrIeVi=~Je#G{!~h*j+yvNd^Y0jGBmAX7aj_~D zIkIumcdWtERv%Xo9LwKo!hnWrk1_T%wCqbCwWBaBlbMvpK>t16c zA>^+qtLp~i^?tH2LDOu|V!Kc9PdG45r#hrjqz_`q0Ye=Khc#GxBQtSEVjcQ?*Fz zDP7&=VNI>yPfSUw%PM(7hfj+ZhfjDJaAbYbP!!xE0D*q7)(#Zt+wz>B^O2qCT{b-O zoQ-yz96IRYK8KBg_~tck>=C}prD;MGxo6cNNMkzc(~b8dq7ei+!@17~4CUJGDG0w3rt45kL@ z3?~8<04)3Wz(X`b<+P$8u=P~BI?WgIL8cA;ifSZ=M>zeEQ4CDfVbg&I7za{Ua(2GG;SOw|EZ;B?Q$e@fxo;&Wa-)6URHO>t-;Q3|pbY5N?dE;iSe)=i>^4_Y$%+2Vzklq z0ISTR2hQoq^`-!JTk3cjEiN|JK=A5)A6%ZkG;t$Ee5!#gVx%AntmYK13kqIf8?WMi z`eqpk!v-{2&j&XDQ6zBKUswts0)N6FtEVh}5zkxY?m3wb#O!xD;qg07B`& zv_u7dy3(u`C~N!NFE?7GuX>Q_q=Bwl{w54SX#^4n&A>U$iWy7PWHJ8+G>eb{j*kJ+ zn><8<2m(~%xS znZ_iDi3T1}VTzgplbSHXfMm(I@5RW(?t?tr6CVbM%hQ@EAkGC)DwzR(m#&+Jn)~RG z-y%PqokNEu5~Vdo-apW(vuT@zk|X65jMbq-7nyiX@02J-|H^3hvfJt|^Wg9r_(sNDNhbMNzKb!^4Ug{r+FQr zokpCEc7UEyI(0Q}{&jx9GsL)=$IRB!&SnOXKI31Peu$k0SPOuTVFFNTdRT)3@JSqaZWVcSu7CpOOW`Nh#cC zm*`%I*4KXk4NL4KepgQne%VjNLYPTmtg^*;#p@zsfvzFPRbqh}y9H718Hs1pIv8Uj z0@_fZgZ9MpyN8DwP2ewFl6!YREOT0-`NOf~owBY@cBu!zLAN$i6f+ZM@$G5?;T9@a&p<$zY{IN3c?V?)~en;Ov5XZvcROmcG-C z)Ve<%4LY zQM;>K2N60NGh(>${e0fc{r-O5jQu>+_x(KiUUdyt zzMuv{dSkoUx+a(iN>kEuS(zSMJpDUq1cOJl-_*6LAR=;lVwJ=4i@wCwloOhbdV#IEoAW0MrQ z6%dE~_spHy#YYLqGGTxuC`bYymTj@B9Jalu5d08|kS4gfga=$M#Js8LKsO^xXCB4L zGZVUxGa)1cBj z7RIR9?}6<2r1TjwOhUHgheBG_0;uJfSwp130f7Nw-p@d~By7YJ1gwZogDx>vzeHhJRgf)9lk@LTNx+G)f2 zwckoroJF7c1sc)?PB2a|6MPBuomT*H#$z)vUUa4;N}(2qsa9gyUf9C{+dzo5>#^HD zVGfZLLkPc4N>OJXibEpVEsuT5dCWU0#z#X4aq=PpW+5TUH7-i7qkuh-&|pwn4B3+v z?$ql5VH}>lAIrY)8Dy796F9F{^aE7cNN{zWsdwS$CJ~kY8w*SeEI!#|)yfQqUf1muM5X z*-&5XJ*;(_zp&Q^;Q?K%4>O?lbd^~_+-p?nY5j2F@3m$>?ZC*KI{t9Phl@)e^abdh z%Lxk|yk%=(J(!EVQei>-P~2qK55G%?yb@1KRLt@Cdk|w~40d`FdlF=OI6O-=(0<1ysOfrDO2l0rO$& zsx=^*j;hnzJD#(r-d4cp=tU`?5SC1G>cVND0vY2}y6XUF<+&r<`kp{+)pY&hAcx1& z%z2z(`n--UW)t%gi;69uLODL0m!II(A@X-$!~;?iq}U-DFg*U}ag>S0*8q$umGKPC zWtk%goqyaEcrgnea3COELNjWp#2^}J%Kk9hV(-&SrF}y3{Ychz0SS{x8mso!qOU-A z&)%^vO!&Ol{)J`kUox{s@xa5SY90ejntvRVXg}jgjEGalBo#+54F5+>)kLI9mjhq0 zqwn=|)7wYo5#MjV?9NH#SEd@2`y-OlSwdEf*~!{EmA{$%Kkb0DWyXH|#>jIlJjh&r z`4$A9G(Z{v#E2Lz>@f<^k0qay`XGtfOJ}=+mx^f|X^9B~s6SB;5!~!;w3E(o7 zp{9nBu8-khL_uy(Llhhz0)ddPvZ|x$CWITBN{b-;@TvxZ;joWyIg1egQ=2P`w9 zHLh|>aD;CQ&qdRtU$jmWEsDwi*JO*+l)H7%NotUVG0GXfzhh8#wnhy_2Q>~9MJL}M zN)O@Lu@}uCmWSs~jC6?6zm-^}4K*l!&qm@DgD8qQyB;8QR+BEKG_i#w4sz{PN1{>G zKQV*}hGf`&+b`}rntuFm#iv<{Ay#P!Vhl&QO%;=kTNk4~MA)Bzm_~4WX{Drcmy=*q zp|g7#i_00TW1#PCPSf+Z{hqVf*;+ByI6J-~mp$^QHi*xl0B)u7Nsf?S^Db1}#?$(_ zGTl=c=msDbR>E5iW}3y=X=NpSYYRf@v7d>w^yt?Z+SDa&OW5w78EkDEaF^ylqYf!i zwqiu>*3cUer`X=Bvkg1?xM1>+IBSMH)^kbY&#sw`hd6xh?YMICH!Th8=i0}em24g_ zNy%}Jit_4DSMVyizVla{IT`qNQ8)M|o}1S#2=)x( zPe50`nJd&)k^%CcF`xol6U5xs8=otmzd8)*G3r5yuE%`Ystu&nozkZ5rblc$v_Ce_ zsR5&Mwxu>+;3p@?=!|c76407gmQq9srK(A;D`sKU+Mfhb;*7DQvP2D7>{(M^A>jutvP_tpf z_F;3D2MH-iq=z@?6gr@*&csU=aPA;9qRQSc@H?g*b+sxXVbGY1dz0)PwkOd((Eup0 zLBTeuJVFNjR`?eZ5FsEYqZqb%C(g=Z9mpp;aie%NZOvKFEi|u5hSis2&-ATtUp`=_ z1A<3XPs83|HEey^IPul1eVxuaS4Z238n322yKv-?wyeDFwACyC!EFzb~q$ zt0(@HuimWk$@-RUJ!;o%-?{p8^jMkLv-o9WWz}DwCy%+dYo%iHtQNJUS7xw` z9#uE0Zm3OA))pNKP5mY(RD*W|)Lpj;u=M*<34%Js87{e!<5!%e$*CF^uI^W5zq+aq8Y#n zsdF%VhPh}NwTv>6*1h;i6<22by>Y&;i=TkND4%A|uSm@l*Lv_sK{F4<_ug7txT4g0 zlzSs+bO_tFB$_26DQ-Nx4Oe6og;lYMUrJ3QO0=zhz@%HN*vYuS{s26UlYEH*c5rl9 zH=!F3`FC(wc_t+?r(3v}P-30E{@veMIpDk7#v%W%#2(S`p++ks>)9b_%axU2A!-^?***;ZThmqvVK0j7*M%Fu(Ycw6G>Lr7(tM2N|naMhUItjkA`b z?lOt1KlL5dwV3GFr?~n_;m+F-{1I=3Y5!oiHEq}0oX=RDi{<`3z2I8`$748N{U6+< zs=s39S?4)};aq!ju3K%!Ao!2R&n$P{LTW3VNA=Ezqx}LPe|D8E;3t*!MKG}G8?eRo zo@amED(78CY#zO?{7j=PewO4sYuMHUU%9{Mj)H60T^_niAg!Z()0Cri;+LWFp1*~< ztHdg<)bUk+g$L4Aci`GF#KLJh<;1pq;AvkOUI=M?U4=#@VN07HIanFhz)syMtYYNO zP#Xe^a4iB>iDMKAy{P~X=Hj~1?#@Z4Cuc13qr%V%r+9~poM{TdNxFJ5Ty{9XNHx)Z zm?DKSevlVPDG!YDvHE>mxjD!`qs+Ov6G#lI=E3Mq;@AZv8WsHN=ehVxkMGraB4?Pa z5*;+U(Nm?^MbRC}F&$yxry)Y@&xmfOn=|!3rlf!#RxNBV*rL#B2eB6|Rme@?QbarB z&I75pmQD0i*(Qfsd&aR|V1#j}iag_IUdy<=HTsvAYuB25_ z3on)-`QJjJE^etiLym2~K*-R=97nZamw z&@%(nH7N?Cn?s(?B1PF2pH*Z_OYJjK(`OhsU0qejMwVjQ;=#By@;aJ>{kfX0WcKw4 zy}9V8)1n3BozWJUvA$)-!N}3`y~*ZKav0sox(FTvMgdQ!mJZz)NUr^fkzqg0CO^YW zd#&GObaWVC`v)EU_Z|HX^B|!)1B_f#do=(vr(VkF5A5sJx9V={gl743ZTWy2OEE5e zLsuHTzutYYAq10G>3FW;F~V8dI{E>^6%dT1#VP%BQf5ePVJUY z&-t%{lx7Ti^8ZmhL-KFWGGi9GcW$Ut4*k(Xum7i`t+dwy1z!VFaofCl#?Qg;KN7rR zxi;S;Za&1i-zY#>)C+g)bm=}YK6=f&Vi~qt^qzWDB`%1o>8R1v(^U&&7JnMnKVFtu z$1(=Ka;b(t_P|ie_}i-J;;rMb8WZ1vP2bmg_BFDi?MFQbtGAEyvM>{W!yiX-3@l_2 zL{0P#V)U%8*69EQZtTxqHE)P8y%lu3)!M6DbKqT9Sz-+N57lyeep(u{U~Td>KoF=c zbf!!@M?in`oMf@U>8ZF@`c5vrWfmBX|MbDUll9(cX&iXmBB&;odF&Aus{Ele=~k(R ze{Er@<`XkU|LkZt+Sq1a2XnZ}*urQ1+fr)UJ{T6dhTR0H!1LeMssKg;P}y1W`*9## zpWOPME{+o9f{8j^?}e_b3*@lx8V;UoI#jVWV4f%Th>1Ype(d{?doq2v)%sScV>I|- z;rZwU@{|14AmXA}(Kx`MAJQP?VQJ7fIKx(;>3<(ZlJ0XD2z{b?7l(t1adEtB)#q2) zDpuAF5EB9bs;pp4ufpvb7Wb~qHBR>HFYh2c1@eHGeg{~aNQwgHTm8l40=h(1w@5P$ z$Di)^7Y*X=cq2$@CqnO5(H1I3f;u`It$ZWotA%R?*wb2(Ou#a=WdiIjw|rY5ZSj5D zqarJ~M!L-llz(L=X}>7a^%o%iK z@1b1lLzt6&HZsWRe+O1(14B9-VcV8dszNr`}^?>al`*({Nrd5 z$kGi+`(xp$e^p+I6%s(2#P+_EnXWh8m=CQF!b?M5nl|kUgEL`CQGaH*tv(#<ft zU6Yy63Vs)*r`{8t6QPUkRP5$%)7eSaiajiNzR64hVfklv@4T#tx0AnTiwcPdIf%s* zGZwr1^5f@ymmi|%GjH~qqPYwAeAOoB;u8pqCi-xT!oHi0?*3fzBfTv-=X2_1u+R( zgvC7ZO2f*x03T-fAMayyjQBhY7;Jd zY1j&9kvBGtKKUD-HTa7?7Oy!sdR!4?WLYL4h5YrGp$@kQm}!sbok08(#E*9PRaJ16 zQ}JYXL7h+=?KW1mm8>bZ#4r}!M#j4H#!!z?^+sVovJGxO;X&1aa~w@&TogHA%ql8W zsvcTVA4#qMDOLaX5ywDfx;S8*)iL^Z)yb5J6^z*%NM{)xH1`;2tsVNcNGl-yO4IF@ zVKyFDP0amv(+X&d0b~b)2Z!eFW|@UM5;7gM*TD3y_UAKo4+xVRBddp2WjqRf$KSrV zVI93clk!&j(>I?<8I?r6A2$R*dB04g;KuGtVI9ED?WRUw@68GO*P~(FyLck~2_E{< zm&hF4L|)HG`N!9+sD)8xlV|2%enA-x0Uwla5IT!C zxT+4Gzg8?3j3Z9<_nuWov8aol1|e*GpyDq-tMf^hf~>m{znAz|+Mx|Vwr}Gdb=51T zJ2S5Ry3j;^g`eoT;XH;}u&zY4n!R@bAdT`I;h!|Sm=58_Aqln^43&%~erv@V2u7>U z%z>~tI!oSY->d3_n+a+aWX@<#HC9Q07Ax>{=Ax3s*qaiBZMM^obf+y)+LctKE` zCE$7@yzCl751~)k#aD!+LjMbXh_=tbLlo!7^}ZYjRX4*rL=rW;P4$&mxzX8b|2I6U zw#}oRdRNQ$_(GA?)LCGe-f2bmtJGUO%TsA;}$9Pr$aCMQ&` zF{D)*gNRp3wUR=XMY4cgH)E4DpzT%4@99>EAkPMMPRi(8s#m`o2$FXc~%Td?E~t~DhG z8JO4#ga)rms6g?|JPP2B^Aj8fw*G75IaEtdQ>rSW0M*Ir-?4vlxTJfP1gbW8rgRz_ zy%B(mzGWRhEZyx-4*tA z*0p8^z>xQQ4vNq~w!Ee>HvGf#JD!=&Fh2q_UJ|)C>OTfc+20^XSraPLv<3>GCtM1o z&B8#M;Z>dmGwo`ACN=UxXE)2VRUP5Y+p0s9 z``PGKV2!wD0B>Jyj`$Ms{uh@L7GTM&7#YqyPzhTKFPuSAs4qvuiUhK8s6`mBFS`KJ z*J4~57zalN5t}=Zm983YzYj?mlf6?Ij~9H4Op?Jah>!%jU#KX&VZu=bD zMns4Ny4+dj+1|(`?XBUE=9GCP8(8#)3&v^X@I5TObnc^<;A4u*K8N0mO)|yJ(%9=*eED_m_rk|Gatnc{)HBi8-c09KI znP2i}#5(vBxtmqWnZA5WBVbx<)Hxa&o~v}XRQ&6r41oJoD_;(XR)x+x z(jUHZlBxUVMmvY;0_cJPzQ2mbOh%_{r?wF0KnF(|X1x`4K{d8CuPSd1L%2%XjBR_> z^1gmQP3=QxzQAS%R%j_#9JRx%9Bx4-RG^}z8MiJRTLz^pk9Je0}rELh&ggM2WQ2kCyMX0J6gZu38`nT273~v*Sd)7mSvw7S09DPJ>(cVuNeVF>7#KhY1DinH zSsFK;uM-xpP8fkm4*i4uU@YLT6Ku`pTKhO9L02#FS3&20@i*Z*&#*r*r}?^|d0{4S zVI!ayEU36#az8#+v*$*WUS686=4{xv|KPg{UF)37p=&RV4nKD}%sbYKZbCcQ_%+LR z3P;uN0}d*3CcfdS@GnSfpv(3Ttl+*89aM?9By^HFMo`p$4+syd{(U!U*Lt6AsUl2v*c2L?q&)E|1qd>3fmkd>lpY!B+Y>W?f7)DB%BL^EX6a(cb# z6U-yPqw%$>iY*9^Hcs)~4*QSjTi6nK9kwki;Hifh&Y)CvI%JP8)0nVm5BdYvij{pf zKOnpW?aN;IA_7?|>`w|mXeFivXc%nOV}ZnJ0gakNWC(ZJ>iSm9eoiEqsf_h;43^!Wi7D(@P-=@U|96&EcTgSD4gSL0;T&CXg%_p<=gqZ+L ze+|^~kiPLUn>?wu(uj@0TOnarUBly&pEd&ih`h&Pq6=$7`l#oW7cc3WT)uX7u(x2lM308bN{XEnmN0&Xw7T@coU!; zW|0RcU1h7SXfNAwiT+ZygqTmUP`!HtyGqF(A{9!Rt0PVGWv0lmgIG`l;SFn!OBp(7MG;Y4+E;+z+Dr zch;EexH%yTT>)8DvX%>Lvn9M1V9n#=g?Y)JtGmz#^7%nn>^wzP`!mjUFI4G5Aw)_G zSG-)}H)~K4v_$G=+SwXZ#>9~1&PiwrmsoN$)F%uof&wK)J5hZGNqFM`^o+(Oy}!-F zpayg$@<|&!CIYUD2q`K{B8x1X#z_9W+^EiY_GcW0WVRHhs6UEjwUI`!S$wz*#&Nlf zp;~<$lgIYPkmMcO`T5q{kgi@VX~`qOAK)k{0guKnoq=l{4HWe%

+Xk_VWrZYFib{h$r5Ur682^SEIa`WOKOpo0XpXfA96u z_$AysS?X(D>E&gO8!oJtIeeH_)uOx@kM$xupJdf^WzKCe8?Q>gEXVs8*6;^#^~G`x z8^LTbuYkM;&3H}K*Q3v`MoYgaHq=sti4sJ;8qM|0?^8RT74u0k)APruj0pFr+(E)} z3w@gx+Qk)@J^&WL^>>|TPFGnGe{sXr%QaukQqS!auFZ5=`Q_#M`^EY@{NQ|Pm)W8Q zy%@bo=7sags><@Lx=pGgDYMxk&%$jogCFul&t3AdSS|lM0c!Nb&l-s>R^=4XuUC!i zswrKWJhP*VYPs^SMz)r*yVO-w0)+V)B4-GHKw?&>}yyQ>}A75EIFbndo?PvPe2g{-O0)-o7?Jgd!{hzt7q{m{A9ff zo^XS)63nF}@Ss!4Q)?*ke?~e-kz@!dfG|E3%lPO@JB6KNB!oar3fEDpFvcW!O@gs9 zWf=QZ0t`IpEUU`V#sA%n%BenWLA|P`jn?>?&LS%Xvx;enu||dlk0jC5VdjWrP8h>d zrH#>Czn-n~Ducz(Yfb1BS!C?Ymn9g@*5SG2o2*>q`t}>plJ}q|e}0*S6>t=+QP&n& zt`>`8StY=V#A`cE{;Es=0Tli`d6Sn#vNo#Z7hi!WCS`qNyr(?>ZT{Q*ZytUFD|SV4 z?U%RFnzLLllWGb#CpVxS$pV&*U%-9n+PuqYaRV0sxTvy_+1jm?=cApxHx~UI`ZivR zY}{K=pa1nTu7&n+e=RCyic-0AEz8VK7kZW7Vmi>T>|+?@RMu1-I~5^GN?J~(wbnSB zgPhK);!JcSAtvTsjx_EL`2FAL4gFp9pRzVjhwLHf3X{p+@atM2T*~$1w9wW zQ=)Ln;6FpW)d(YDUzf&C^1|r+eD15ABY6)zPTo%aRA23T5#Uj+j>)u|<e+z_yNpzYmRfGvFc4qsrD9XzD>t$AJ z*$}%uKrzU0f7f&!8Lm{2ZX&jeEHg+7KZ19Sf6uacx$yPl^>fMh0PowZw(FE|EiAyD zMYhJ@hA%R%ag<|{MselZ_`E#i(J*x52HD*>vgq^LhJmxsg?@t$F#GFg#M>Z?o()X+ z0A~x|eV7)jJYREj?O+)LWdTiD#XDmniNG$hDvx^ee_`sAEi9z^H_1)0yegxoh`~6L zQRnU;W}1LQtM53_Cm-caOuaRWFWmfg`Z z<1OG82_#6vkO1J_xTs>a6mN-|IsyNDGD$ViUHu1`7txf!$0c~x6A`V!fT)`}&~sO- zZjEncf3~IJ$>i+;1F~W{(evz+9)t{l%TePIPlm05dK&F9bOUuaUM#a~ZEru2d^9UZB9lEm9C!nd}W4JYiyNzz|^Hwg;6J0k# z9!o+Q6-YdpcYmodukoI>(AL+VCls#3%Le&zC_2cn_7b@#rCY;e(E&*hGx^}=lcG@@ ze|C5{>cH}pc(jM^NdajO)AL27eY8&vNqg8%jY)gJrw64y@aKt22NazimL4zT`h}0R z8@zzpepy}mTVGxzP~n|kHP$lS?i&zJsi3W{Z{vYZw)80J@eX)c*4q&C^}299t+Hi3 z8c~>HE@--Y+C?#glz*64+rSQc)P|Ddf98{dx&$$~En@3c#xp{iYl&xmcn}R!fXUzn!vYde^OeV$DVuKU-MPsGH}0aa}y^Zn%4#rXZ?8%VkSf9si9*_$sf z)hXuv<_?flDQYJWB~aba9eB(__-1>#qBdCs9 zgQmQ14H(p*8L;iP|B%6-I4?j&k6elgrg&>l@1qZ)m_e|!L#xC#fMss3FM@4#)zN|6BIcUj1-)vzMXS1 z#4K@&5GM@5K^eHfcu2VpkZNf|1jVF*InKFGSn$|yQ_sQnJP8~tYn+orYRtX0TE|Vs zz&$d`O8$Bh0rtK255U~yNAC|N0~!|%sX-3ck^r`Jn}niP(*a)je-UABy>xFbyp)%g zeI|QS#ARzV>{^#uuCKB(fN+M{>H&&jLp?QF9Wy)E@@snaX*WLK9AkUV0o+j$-`%vvc`L_3lSl7cIOl*utH2(pqv?xJZ5M&RL3+gc&R z2?`r#FhqTAQ|q~>e^N3?29VY!wFm`bYM5hd<&rQFuvAJ3<~;^GL)Ksy!2G$?Omir; z3Gd#B2W@s3ER+$65HdROIK=0$r;u<3O|T+DLQ33at>0yNwg84Ff8S`xag79O5VFat zDU4nv8ZH%e)T_sGK%;41UCAV0V>$pX|{e<7QD7lD4QTPks$r>r5G z7E1y)=w^P;Nvt;oo~}e&FVUO(yR`TO4S89C{p6S6XJdyuS#MP&f8j}37PF+qjsUK0 z41&DelhZxIdr;uR{C8i;^k(xQ|Gn2)BZ6bnYBlXh9M)UggCFE@8;XW?*U~=SwOY?e zYs^beSNVLhe_B*S$4B=u3@Zp4s=Dg|CU%{+)>`A~P0vZuL!d|Eh&(OpGr6AbqKFNa zdIIWdVwZsLGP>_1P$gx;SWN;y|bgmNOF^kpWSt(ov8?31PAB zj3Os2cY3^*$&f8V>DQd{i%y`jd7*D8Cym@bBS zivywUhAaC%?+ayj4EL(RxlpaK?d7eWmxU>Yrgm-kfy3JBcv8EzHqLhw|J!B8tBJp? z2W+OrqNmYy!*)&mZ!@tcjQjsktibE$P0*{RKKXT?{az0Nf1g#!X8A-{$=i4=;5#3C zN#*m@fA4sZ-n8cZ{}H#*yWO>-3Zb3ixWe85_OcjyU}O)$FkfAh)KL2c~(N_jAvNT)ntGFBjfcQUozCov>b zY23=;0n%hJ2B9=iB9z2d2<{bj7)YVEGv+Gcl}@SjI#9<1hD_I|R8Zl)wa989glYKj zf4UC2#$26id%n8b1>T=lpz4dMPW~EM{VDsjAAa92i;vz`aXV(Us6F7@n6)SW3rX|5 zIc3pQQQD+IB4e=>kRk{z1(N`+|3tCOJgn<#k(i>I)*P(0z0vcx zPpMQN;b&jw?D&}y3+~2)Z?Zx%!<|)Db1)C7Emzb2eoh_={U%YMC(xpSYt$RLa5o7%2j$Y3evd$ax=9i6|9@ z@EB^j+?(RzIJJnT))0iK@?dFce>`K9LO5pFXrq|X8l|o?(>Y_%u5cbS9`UZ=`-?kH`*o4kWBDy`#fR6j!7LIm=)MLYau(=#A)N5M}Zoqh>e(Z$|!TM zYaX7*zWHuWCtgb4fHKUsf17hVL;V2im6aFCJIH}E9glM-W|ifx-b-knBKazIe60yS zo;+7nJ1mWmP>u;jkcHd;)B|Jg!&gZ$Pn!Nu@|E+~ne}JRSM|{S8U5-a3EA(Ez+`r4 zRnw&?yP~EqhX?tAz1;|rD)7(;#ye~yVgowJHXAwy?LqK9eG!ZZf9F)T_Fdjims$CZ zkMo#A53L@c7&w>I5O&YIQ1+TzR=Z5UUFuMsHk;H5`G{9KaYy3#khzbWXv$%zTBuGr zW?Dq1278E6~}>GVq{EO_jf z2<6&Ap@2zXkggz3e~3xr6i3R_cre@gI6>&t>ta>qMRB#CIn;`f{OIR;S?zlzT^BlU z|MupmZ-+UGF4=7zMej#`x}%7hI1%l^t~O=EJjMZrf%enTHOzIWUamueZ{jT{8ISY> z<;6g^(E=Yl$`}dia2Y5SH04{p+^n=+^3-9rhY&pMKnQwTe_F$olPRVcDozV&G3G?1 z+&f{N4OSpRw1SG1?TyAb9T0O?u)q-%u@uS>>4cHQU?z-XN|I0En<4rMeQ}Y24whjsO zeD>4*2pLj%e~7)pBhP2i2Zv8MbbEkibJljBs}G+j-@H0vJ)iJyfAJ0!Wf`>fzgRs#{|KryIzFn~ z*1$a#f08;5Kd0NK=V4j5?>y;*?iO(P@!UfcPdS^r!}X+txjQt^cPh7q^QlL2cc@N1 zkGq3B{V?th_IXa?wrM&281DM`?1w2N@FB~60)OX4wLa_PHt%#>B-)p%iIraIAHF>Sb)aXrB^mbSmNtwk)gb>RzwJ$ojp{r#qT#l8{>X z*O|YmY3=)tpa*cSRbU_KV4NF_eVr_OA3favQts@DN5^p7wngVf1o#|$4`>z}{y9uCY)*ob7*;1?D503=i1Mp6JjIQ+k z?rk_n4$o2d;G9K09L`ZUaJx_8@SAx0=4xMa6Ej$oDa-s6}Y^-#nbX7T{<*kHUMb1G+t~|6|Wu689Ex6rfvo z$Dlr!^l=uCwPmGmQRKFulCmdP``jjv6*G@9({gCeETsM_B?WP zbMw)e4IFG~R|@2^qIG*l2?N_e%u7uK_^?A&AK*ZRAz4X4E1OormD+~qv-s-_XOoH zN*l3X?%IS>We?3umznAu5O&>l&9Iea_wH}2$M5QZ!^RHV|Ew+$k#Wk2;<+R+Lm3pD zQf7>1C?ia#sfJvkDs17{7F&%}8*wl~EOk||!fF9m)DcFUhM76ee`H_tO>Hd?w%zpT zV+=PnP?XiC#<-lx<^ULLuQ~W6JdHIqnZKo`CcKQ9rr{#e&UzfYraM1Bm6tk1&v zES%56884iE2GoIE##&DYfU`}fM;=~ZyXg^mw9)hk?@|`iBUo>9=@EUXt#sTwA7dyz zLJYH#9)U!fNRQBBf9#{j)8=U$JtB{@jE;Z>n?*;k!fc{rOa&W6r-D6#tf5C>;ik|b zSK)Thfp&>8f*vy#WdR)r3ow5U9x=-HIkLWD44)&+MO!_`b!x21b7ZB2+dGGk9c}D9 zf()^A9zk5j%y|SFX5$>4(jWupSd3k`b@TY8U&gd~g!(D$f0_ej9B$M+f;wl>EKQMs zy+-g3p*w=7Et>E(r1lGU2%NHL!aL0FC^}=&>@#`JoH_dKGq%j}5l$I02S;=-D<)>> zcWK20Gp(4Yv0{QFD<<->V!mB23J3D>YO9yV{r{n|S$b=MTjY{j+%;_kWpdgMX(hjP z8m$I!(Bycue@*4Kkx*@f?{9+$=eYND0yzqJxJCcgNtlb~cu_HYIK>7c`bRwf_S+#k zzLA*nSCP9Eol44@58fW~dZbmO#Z?nmpMMzkf&?S;3OaAhMMliRcszgJ}% zymi?J?%UqIyI4qy9q;tG$1g`99Eye^`@-1&LOC3{vU{K#0-S+IlZG zAM*W1*)`+5Q|B0~R@O1mg^N7~O;6e>dvv12D<^cZj--{s&^(kXz;YlB{01)f2GI@OaJR=nSOSyG`( z9wxgbKS9+L(s}KH5K1vmkm(otW zF!uDMIDsrxX_k>(O9&Lqa$v5;swQ|0IINnGBcyYU6h=9fNKuY6!j0V_NTxxq1xbzK ze+-kcVr})z_lhJK`z`JCZla6i(eCD2E=nElUo~Mkb4{^?*^lgBEFnn0XC3|iM|+hU zuaKBg!n@trb{id93I0GERvfWpWTZ9%VK__MUR-6Od?A+KyE`leE_x!0=?*Jk~G zp8TBy=?kN~2Wx$FSZV7o4H)P;^vicLf8=rC)<3+v?wrKD$8ewifs@k?(ZjdAJo?qk z2zKaq$z%Na6;6~pzk;}&H^0V>$vzP|j!8ufMMS9F*0QU5nl4@x^AdDwt!)dDijJyf2h2e*%p^2ih=a zY{kj2j{>Ex5_4-dFGsmm*Y05HOt5lhjnfgjGiGxfXEui=4i=IU{V54NEct zl|q?DIYy8XlLMLaoFK+>lOhgPDhxxWSJ^uS5L;Q(1ZWKGif0hwe-z}ICBh6CrAUrb zTK2^q3Y*7(BMpTJ1rT5fn93DRg;JRUge%S#HTM5*&!P7s)GypphdG8T zZpI4i158jGc~FmYfBRSaEU*5)7rWiu*p*SrGlJK2@#9iR_=TkjSVEDGr4D)OGF|-{nA>nv7-!DxI?& zNhVCHxKWHjyE3KJP)MU88WlWFjS&K=9KlSbFrzv(I#-Nye~FO9jHN(RNazc**xzWi zZ)NV^T`11Ki6iH5)rrF~=}P*R)p!@h<9_$06+tcEB@2_d187oRxm+1wQP^+n^t}%B zA&*UQ>qVaXZraX-9`pCLAYQ^G~@e^5(gP*=j1JnYzB@iRQOrx~YqDYkv^>VcXO54_Cn8gdHYjEZBCT|->> zh*eP<5a_yz32x8HnaQz+R%sdG_CIE~@1BZ-QX=~ju)V)9XoP_nVF{hG9e=ZOjZB}?#4Lzx>`V6Qy#har3 zF-#gy%wXFzWbUJXE}_h32qmI8L)}~S)5=%{zgdKKDD2V)iDk{vKr9)_DCoq>I&;ZN ztA)5N|LcCe*6%IQwvHm06X$pu5b8m?|Tgy+I<51UJSKBcdd?#ljs}~ks(V)6~)}% zy)e%x#yL!hTjfxsL~HWGS(zM7zJA|tSNL)v*Bkqu>?vK0N@>ze!fiVVZ;HB^`rYWC zZ_8Ev=k@))+m#bTxt4_3Ymwjp8zPAkno^}1e{y|RU3Gsz4Jj4E*GeT{SQ)fP`r7gM zMY3`hF$eVO=kNYz&qjp2$T{a5Z1Zws$P3hkT|2cy(n1qXTKw@ z*fA@AfHGr6QUPbsOUI8z9s`aXi-5^U28e`2NNSiJOtakCRE?sB6Dm?5tsZ{SeVI4K z`lhsY)wA@Aq^N?zG@F^b-&P|^4U^{>7$C9F^dev_KeVm>aSOigfehVUS8J`P^)5hZE>%k zHrh4ky6yZtPiQ?cCo)E=Ry|j3_b?jNlg*ErI`h)mXF5IGz`5|rfI-SJPWN;RLY>+3 zEezYcC!FUnb(jh5&w86%TCa$Sf39(j8b7YwC?CXryRh2op`KR;>}4zEq0N^o>WEVN%^DoB{ zyfZK-V4`y{CvY#7g*gH5orgJr6Pk%R0e691%n9VMY|II;$b8HR)R>ISscH7i$((?> zkIKqC0UDf_c>*&mGxHRa!MT|epmEum6QJSwnbTZ`XJ}4pwU`{ue^A)MfHEC&0rp zH%~5spxn&~#K`Q;smZxa{^kVwr^w)(+#JGlI42-yRi(z@HK2Dey~8K^>{X`r^bVct zvzOL|tM8|?ILDbif0xI3lIlz*=jjno<#JA5ZN{@XK~Qb#pMUuIDkPb+{rz{5%Q@Cw z@4Qj_jO95?jY3eP;J0!wQU~{pfOk;CADlsOr^Y|AurOg;Df7--$ehhEZ+j+w`-&K4Z0fI?w?iTvub=+jnAs_cdHsby&S$8@x1q= z9{2L`sy=QJzmO1bcZnZ-yc@-Dyo+yZGS;yJLdFk)qr*ej^6DZ~O*{b?f+z z7Uk~oTz0;0e;_~j`#ATI|6t*6Bmc1i-AMrt74BvVjP46_Klu$7;g<4#st9+L@9q)h z#`1iyIQLf2U?FZV-&Yvt4)d3ohwcwf9LtRlMV^%ed&Qfi@Bi6N?TLb$`L<>s`_yZxS*>#8OT_fPc! zVw_M1q$p3*0pxP-qy{n8XLJDabqpQo{JlR1%FDQTT0Z=y!v&+UcYXFfvZt? z)Uz9-pswA$0#L1E+sh{&P#kI&Zk%^LsBl!;f6n8NZkPSGnw`<=G>kLKX}3Df)4I5q zWrf5b9oLeFB@0&k46FD7hByaJ428X)n6x9}2gK;zP0(tH-5I zf8=VL*o#0?0)3T?L4ou7KEL zqm%M9QfZsLNa|Hn+}|V}eYAb&4m0Z_F&nF%pVpgqC4oB=*w1zHq;vNYze@hJw!hYX06y#OXTANbf44uU z-kx)RnxkK9b-I3+EE3n{D6uOpxz{_V8k4dmnpVmEexdZu&CQ$5o1$2^D$gC?ta@~M zaOWx|+pi=_SY2DJcgb$^!L>dpiQG5rPLbR?W$S);5Wng~>D9W#*sYU;<@u}Re-Em) zgmixsyTo}eb`Cz*C5Ki2>9t8jfAYrNq%4gc&VE|h@ztBF?v}9C+ncM;(yPq=b9KJF zFQtTLDd?2<)uOoG+Uxa0pmys4gxSF=o`&s{cuG^w+x7?TP`CAF__neN&bzQplb^2f zizCac%S>ki388Vy83T$SB7vlYP)xZrgexd{%3UeVrp7PgAV+{OEtSauf6OFi8A&Nb zS!R^VrOG%&0*I?GM{4|f3^=Uun;WSq%2mphra(}IARttwCbi?)pD~t7G9_N*N8LzX z+1H!ADi^{?dzYnM?^Y@*W)myFul7aqN1Z1LOzKq+lmB@AZQ`WiDyZh~_4yR0Kkaa92!IOpLS(DHj=* z8oAQZT!@rI!!T5sVr3AUgHcIw2%4zyJEXpT56Y1$HYLpU6fYXTO2ZC69Bu4>AG?$w(`Y zKYYkH>-#`)Y>308vEpS+8Ucs6mBw#g|MJJhX1ja2&evrF$nu9;*Up&86ZB`KGO{P3 z0VWmN5RFA{h(tixex^&I0RiQlq0Zse6Y-B)4X zt0${qetrDUPJ}L=z&hBKhvssLLHrXIR4<%Bz+Oky9;ck!7|2=%9&eBcFo<&lCXWFhReq>SP zJHGe$s1sMSUE8KYQ->>-G@tq?NX14-&C0Rc=juJ%zt9#^Sro|GQK~B~l)trO~k@SDF4Hy+z5tQA0!cp3FXin8C|O zHDd76Wn#H)+2T%L*T;+$#nT6V7wS6oG2MJYQ#iGza0i;gU2{z)Tmo(S2rNh{?j7uD zff@MVXIez3f*5OR;A=gu2zxGpyNl>@@O7Pjf0Fv2)YPTUsOEbr@$|sAsvCxennDe+ z?GQhJ+n@t#9f!JWt0r8griZHI`XP1rU1E%D3X^tdTZX4u)Z26nWFptZma9A1B4&V8 z%~ow>`QcY=I`hjPQ1DHf-e3MHORwTIK=DQYc`4Q6=n1bP&Y6CAC=2pg`9zBNc0H502BJFDM4F|$e-oz8tIY4)=rh0H`WVG*c`5|b)L&{2S5HVg zheX9Bw2-H{rfUM}f_z`Kh^l(n4Tx?!cA!y|@w;+gXN_iQo*(J-!Ko^Rjy6hI8Xyai z*RHSv8Wt5L^_3q`kfkp*!>gyOong}t1088$s3K}NnwCyYJ46CRpOA0*)YPYzeq+O0LiufR2eD7Vdk$BKgS9i( zPO^mq-*ZBQkY+m`_FWX3z-Z|fe+sdssTv8X`)-)OqBuzN2U2k{FEVSZr=YXN*PCv? zsv`OnVXD|cZt|65>p+nPDsZ@oQzw%>lA9NN<{NgRL>6STbfwO`)0b^`w+NMq1< z7u3J@bm~8M4p>ZGe{J0!v3MR;j6KaMrR5~#MrS-Lh3sZ|(M+14?1JnE(>OkG+7fznluCI<>>0c5;@Yekd+@jC}qx) z;O|JCy$e17@T_UbUOmR;Em$52RsxhLe2m->$rZmWluvgge`%}~NRp?n3Y{w@D&Qwa zPr35n7XX#9W=fJOVMc0*E6Do4fE51i$C{>$tl;EqlPh7ajh=6EFE*TSS~LY~&=Irl zESk@v`7D}WMKtex-s$~alq+{2A_*0bAtPn0tjtQza>7KZil)J7iToJdrUetVetCZ% z6|Z%wNI$Lpe~_O!l}(&VZEl|_l{2Msrc}<9%9&C*Qz~b>{cN|N?e;UJ@~cuRui`!! zYceQ2)lnVDoUVoByEH>b5EOz!t=nEmu2v%&Ni+96OLg0Gl}%6AZ)0>kK3)1zhA&Zk zyhH2!h&h1y+zHdzmOJrvOg^*Pc2({KQUj!#uA#b4e_*(dha7?&+rzpRnyQL@OS4te z!{Gllxf7P**|u*Ou4lQ#vQ@)Is*O!ML^_4gpilu;bzQp{%bnQJ;V^eX(`?Z&9Y`baw_M zhZ8YWf20&pxCy2~D6L}VIX77qt0(A{vMP*DMUlm<3e$6R(`)x|bc?8dxWKl(i8I&+EyW{j z>`I7R*x1KPzF`e2tFO*ypBLWoT-P$S4g+D^e=P;^BeeyxC@A0rH-b6|mml*qxs0Qv z01aPT3IC+1SL&5H!bxCi9+DVmBw|{RbxD<&u9~8!cX?|G*WzSI^HX~A;Y|)kx2?F3 zF@hrFX7u2sJdGaGe$GZ8R@UF>p>1_JdX2Yx9lhrJI36b>+NZYVGEX30-BNw8>Icg_ zf9Q_5-@;%t>p*{Wm*1`u#~-Q_!#k=bet7_wjk^k39EIUNU{?SIGXVF2>;%cMz!0e1 z!A9nT<2NGrZ^;A5e!7m*Ph9S^f^?5*gcStY`e6*MeNudaKoakcxsJshV$J_9Z$1WY zCniTi&AudvsEJFp2~uvTd7Ttda5#Kdf4}#n1TkHZtaKjy_aF4zrX>tA$`xK+{Y}-^ zr5~fko9Cp3rOp&2DESpkz_LtY}a_KK@7LC5}vy1G$trvxRHcS#XHHCWZr#9?n& z3Ja|rGrmuiEI*P!0XIA6huyO>NoY@Rm?xbk6f+8^X1`Xs6cFa#Y9{18{X8=nf8Z^g z1|@7wf}v92$O=g!pPI72P$@F(qp>_xHhtp&4+xe?ipk^kVDj2HNA=a|4^p6XEXvXn zYAVo&8?$fth_WaxbEP~|G`O}F3N0$E%wewNDJ!)I6%)6oT5K?}PO~q(T?N2sK8Cj? zA7is!-O17LhBjH_#dQ568IMNXe->+oGC$qT$2Qqtyp_1+)oU+fb5%f6)>ehFpPf|$ z%34?z&Q{y1YPQ{~sv7QNPc@_X)w3@!dPuI6uet`Fl2Z)_rLh#y99gC7*!@4h+s>0Z zC*?+TC{5@YEi*DIWj60?R$ycbN=V350~IPMVyvlTscDWyec;YaknHIpe|lhd(~3y7 zZhNsZDttsEJg?(9mZ`Q}QQgzEpQiUWL5AqWXDjKU@wN->u4LUj$JRC9(}@vaYIR`S zb^;tYng(ZA9o4pc({weA)GoWLx|R_Jwq_vR43LR64;i*)*qZ10*wb~*qiT-06V)u& zcQ|tV6{$u@u!~*WRs&=af6WP<5PLrT7l%Ped{sp*9z7Y?E`lDJ%S}~kG-6Vh#bc$O zmH#ObREG|ghcYgrBZAWV5d>MNy_Aun%#!LI`bI`_`YSbt6F3qJ<^FkOCCYiJXecKQ zjm0?O@rBWromxAi+v#9Ohz?#;Hpoy}N&b3=BR|cuGEW6Jc&E8oe|#K9Gu+*V>o}&? zGQl@d5XBMtm(ssRv7f@>E;W2+>zVk$b+h{x`hHeG>B>VdSK|-bbx8p zF|h;Pb$pdE4sEd@-|#)hBzov!f^1AI7h{AxO(Qz7EXTomfI>VG!CBwoaE}v&9AxOG z<7g%cbX_+sWCohAe|sL*0+$ZP)3pE@V|)DTglcM}d{eE4-bUxTUu*|XKDjm~v-T?s zZNi?RV4J4l*qzPOj!w)v=(QKDFUy7`WD=O2(C=I7l8%ZC*VgooLGbXD{30kSs-{9; zlZ|4SDXP2ln>bFh3LglS)l}psV8_zEn4m{$*Rn{?s?|2rf4(m$;C@=3HpE4$W~ff5 zw%JJUAux6IFzHN;jgWaVUH`P2vd(jmm_2ddv>L{|XIgz|lV8dvLf9+qw3hKn8H|)i z$`JPRM>(9VH_A}9`l8j!-0F$4X8ZV|_1@U*g|cpe#jiN~<<&a21u^B$p@=7 zq6$F*wg>av`xAO8fbA4VXU#!8Q4?JPhBa@v$n^p2akPqrtoKBH?emt%_&9L0BkGux z1Xcs_d|gXTev`TkXpQh({l=a!x|MmrhzT)2PJIa!fBLa&2Jw7NZDp<@iVt!l157~Z zL4rRZ2MGubWRXcdV>ZN$J>v?nzNcFpv$^T}xq^(TCtp%yUjnm%s8sJQ`eo6GSQul4 z!Q@y{WRYLWim?`@)$6|8Fk6rlQ$ZT@SZS8ZQIh%I44}8jr9oj`o&s;lO`0C+sl??1 zy?RGlf1)=Lvgfvk%G#D(S{(Hspp<$w8Ap_@ii%Cn1pr(>`-mDyS65fhz)Ao#BhDp8 z%iDtv;=ZLg(sPXfRYOt1tmY7gSl{?2G0Fy_UIWtVyt}Gcii9{IYu?3cQc7f=OM}rx zPSPR@qhO8aFbCd)dH!7{PZ;`j|+WJMH2e{|haFN|x0wYiK_s-T~;Se>$!K&%m- zuPeKD1@AKwvC=Me@4f0AEbE}DJpCrWJN=02yjR_Wt{)8JzbawL$4!4*;e)_e0!@(L zwavb28y)5v1u=d08-1R-zsFOBv%*=rOCQLQaeO=rs=9AObu7E5#DlbiWCiuj#V5$H zf9bzeEB+ef4&@*Cc57WZ`ck`_D_;v<{1n|s-M^2_fT){sm#XdQA%d#T{A=>Q;4b5; zv(D$ZF9pAK-tP^c{eek{%DDKz&0Jt>YWBBFGH#7dYMKc1Z+4=4-!lC1D+6@P(Ctp7 z^J7Y$?&(GnB!)W8#n?+eo{0}LW#!9}c6}m`QTTi@&|g1P zQ^*=ebmE>sGPB1z@|gQv0Sh-FC1-{1>i`v;0#bO#$}RmWf1~{Q`ycIMh`?1{+D4_=J>Cf%PN*< zLeb_nv0rb~`v35hMM187hmuJ77R3>j{Yf-dQlMVH-F+dmmc`lldL;9+Q-5j`AI}Dot1uW$xKd?k$n9E-{ z0GmnvE1g7qmr_GAilZZegc5$5A!x+U6>ROzd2NEGK<7r)$sn-iI;LxOe*)hhQJyBj zQz>dUw#~(|!uWWGc_WtYs$Odm_&zG~^bv~L!zDTE41v=|D7bGn{!v)A`^gUDM2ou(~-xkkL2|l$6qGQ1;V1Eu^gKX^^&RpQhn< z1=KX%M+bFA^3w6)ksaH2fA{{xUuOq85``pp)H@_t`ThY>ZK0bA!)yZCIx*1q!mi|i6Q<9>=PugQygWb45J5R3z3r0NE$ZJAf67@J>8lq2TTSOERuI zoc?`6x&z#oh~|z6e{AtU?f`6K40nqD(Jl?`z2+SZ{h)eNFoqJ`(-WKzD~pGf%-gWpO9g9x&Dg7V(K)0Cf4z-AeN%I~vDXZJMnRfI zK}t7FjE>;gibrFo(Zm)88|>J+&@I<)*TqD))O#%0WzZ|u$UH=Ey$C$c-f^#&dIap~ z*GoNt?F-Ucmph`V4qSe#cg})EPi0!<<-KV7NDn}a=dK1dA(A?wfVQtrxAl;sm5Xl) zYA;AK{eD{ZmW?m&gf(Sj3$TYj}FlGF`_r+f#ct z-=rnZB9vd>mhtg2g1eUeGG4bdrW!A0kJLE{P2u%M)l+Jh1$ zR1>k1QzqHVlA7}#sR+ieux5p53&R;eC8v7+xkM>((`=x4Tv3Bpi=Xm@R|H zhFzl-=<7NI z{>O%BD84`>`^P`F<&xI?YY!tkaHZ}kY9$)-QyVLID<>K&KCD!eyLov+mvLFJSI?FV z&dGZpSEt7zAS~=pWC1%5C$itG4QH)n)6>@v{DqIT%Q#Z$B4CxjszJ|4#^-FDh5^Vg zOTUQYF4=kFmM!cSDKk;_O!JDA_f6}br6MxV44pi;U{lNswqXClQ#rAm8jd@$_$634 zvy3rAxj4lFj4ZcdlXMccf$Qu$wt;Ij4z?HcgOzVh{f-j;nfeVc-W`k6 z_|N=U@WRNz>FMF}QTwq}#*O>iAzI`&_GAzk;srS?jfa$>%=A+epr@sySjf2Ikq z#uls5VVl0zQh!BUrBz`Sb$cO;!8TihQ)3f;XI)hfI=g~5JwX~=4XcfVj8w8JM`YaA zEEgmeqG4t5WVFnk){vwH(+o(Kx6-zySlnoNXSCR^A9FYfY%1is_U0zD5X{PTyZ7Mu z5muMSHbpNF=sW&MwPJ+vxo!Rkxf7IYQX%sD5-j`5eO~i>$}gE*w^W3Rz}`gRA|anS z0qBK2rE{bnH&hx}3to2ycE(+$_J2>Wxl{~lyx>)$PIK@|7$>{a02`zt4)XaC_nRz- zs1&WG!CA14d|WD2T3$e^ev3I@Pf9^gTinS8jVB>AvL*}?KAQMmw)x?SYb-3p)B5rT zk#noc8t?Y2%BO}yj~~K_hSg??y2Df#;}lH@dVFBt$i|ON9f)QXrHrZOmLQbooK3cP zwD0=mi;t7h&lw(!fUNVnLnztlbnDOVV_cOR{S6q_$074n&huAO7|=)IT&K&2CJ0tB z*~U$Z&?Q!tzdT1Jng&B?f1Ra&OFJ!g^dw}tVmo4IJgixiPRb3sr4^P63@HLr&SG$d z|9*LnS)4ym0*(3Ov%hl>xpNn21z+rQwxpkerRs%!Dc!ns3XsdQ!T(O}CkpL8b}EVW z>A>7T)#F}`yM7@f{=&12)J6At&ktqLJ1=COhW`&aM&6ysaytASaNJH^7R4s~hc5q}wBzqe-UIao&%F^zo*AAHX z7a}1P0KKfmw2*)|MeC2Ire?CZPkM42uh}9lAiHatNFF3(UeDTtgM`A>$4&VWgW>z2 zL397rwtyr<@Ya2r|G8~3{U$Q}^k1y%G9Ewo@<~tJFUURqDSTTu7 z9YKiH51Jp7>@7?n8L*{bTk-G(zm zew%r+v5kp**JP4SS?WvhF{v8E&_U*U)VhwgdHF6mOK#}7tJepclc%igt3btK2Oz92I zH(A>90&I4x%(CGd(D=(ym+pf(^DQ${FVSs!tJA!O?d8C+ojtfe*wH3ol{(%^xu=b@ zMwYmlwnp|08qC3_z@pgRh8rXju(tskn$+uJ{Wmz+&IWo=YNz9j45QN}QJThyXF$u* zUpsTBZlQ&}`=OvkZf9X~y+dX`PPhgB2|T$DuQ*kqYo&Qb$i!;<? zuX*Sy=*~pca(k4bo44BOGZ1ERLq%C?VMC=xIclXOQ!T{RIx!J?Zes`>kdota+3ylD zvk}xQ(yo~bCC|WWrQCUbqN<=7QWE2;5CttqmfrjWeAkVIfm56@=Qn)Ihi@i<(yRVfX6a2c@dMkxY_d#sE(Xlc2wYQ(IVgn z)!d%L3aYe~&_Ph$UciYcw;j`oD63u}ykWnQRD zlz=RIyXps0!*=Qx(AKq$lcm!O`Y>M)Y5C&NMjuxpey5+s-!+MYBxXwe$tu%$53j{* zXuX^rj3dA(zjxO|-oC*A5> zzPjn9k)7Y_@JEQ+J%Y$uoA!KbeYvyZck9WhC$0j%?oX!??8I&&@R@h%gc1czCJ{{F zKRQhy`7;45o~=5y*S%Qj!33X8GwRA1^s|u!bxS;Cx�>2lg%|cYES4p(`z}Tk!eF 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