From af57ed1c94e3fd443bd661b68c76924b9e342dab Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 1 Sep 2020 14:01:24 -0500 Subject: [PATCH] resolving polymorphic params in function parameters; code cleanup --- include/onyxparser.h | 7 ++++ onyx | Bin 586784 -> 588088 bytes progs/poly_test.onyx | 17 ++++++--- src/onyxparser.c | 65 ++++++++++++++++++-------------- src/onyxtypes.c | 18 ++++++++- src/onyxutils.c | 86 ++++++++++++++++++++++++++++++++----------- 6 files changed, 138 insertions(+), 55 deletions(-) diff --git a/include/onyxparser.h b/include/onyxparser.h index 0da8dc2a..2d5766a0 100644 --- a/include/onyxparser.h +++ b/include/onyxparser.h @@ -23,6 +23,11 @@ typedef struct ParseResults { bh_arr(NodeToProcess) nodes_to_process; } ParseResults; +typedef struct PolymorphicContext { + AstType* root_node; + bh_arr(AstPolyParam)* poly_params; +} PolymorphicContext; + typedef struct OnyxParser { bh_allocator allocator; @@ -36,6 +41,8 @@ typedef struct OnyxParser { ParseResults results; + PolymorphicContext polymorph_context; + b32 hit_unexpected_token : 1; } OnyxParser; diff --git a/onyx b/onyx index 708fe4561c3244026968b17a827fb697c16b5720..03ec709f4d09b4175d948a951e143a5b86d003e4 100755 GIT binary patch delta 169163 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�k`Brx9h8!8 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 MwkoBx=e}O>6vpk?*8l(j delta 166371 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 VTl_u5jF@p=M!7-f!+tXA{T~D=e)0eS diff --git a/progs/poly_test.onyx b/progs/poly_test.onyx index 4d0dbafe..eca29822 100644 --- a/progs/poly_test.onyx +++ b/progs/poly_test.onyx @@ -37,15 +37,14 @@ get_count :: proc (x: $T) -> u32 do return x.count; // array/slice in most places. Dummy :: struct { count : u32 = 5; - data : ^u32; + data : [5] u32; } -/* TODO: Make this work at some point -compose :: proc (a: $A, f: proc (A) -> $B, g: proc (B) -> $C) -> C { +/* This demos some of the power you have with the polymorphic types */ +compose :: proc (a: A, f: proc ($A) -> $B, g: proc (B) -> $C) -> C { return a |> f() |> g(); } -*/ SOA :: struct { @@ -64,6 +63,10 @@ soa_deinit :: proc (s: ^SOA) { } main :: proc (args: [] cstring) { + res := compose(5, proc (x: i32) -> i32 do return x * 3;, + proc (x: i32) -> i32 do return x + 5;); + print(res); + s : SOA; soa_init(^s); defer soa_deinit(^s); @@ -109,7 +112,7 @@ main :: proc (args: [] cstring) { print("Deleteing ^a[20]\n"); ptrmap_delete(^map, ^s.a[20]); - + print("Has ^a[20]? "); print(ptrmap_has(^map, ^s.a[20])); print("\n"); @@ -191,7 +194,9 @@ main2 :: proc (args: [] cstring) { print_array(varr, "\n"); - dummy := Dummy.{ data = cast(^u32) calloc(sizeof [5] i32) }; + dummy := cast(^Dummy) calloc(sizeof Dummy); + defer cfree(dummy); + dummy.count = 5; for i: 0, dummy.count do dummy.data[i] = i * 5; print_array(dummy); diff --git a/src/onyxparser.c b/src/onyxparser.c index 3d7262f4..1f12e851 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -35,9 +35,9 @@ static b32 parse_possible_symbol_declaration(OnyxParser* parser, AstN static AstReturn* parse_return_statement(OnyxParser* parser); static AstBlock* parse_block(OnyxParser* parser); static AstNode* parse_statement(OnyxParser* parser); -static AstType* parse_type(OnyxParser* parser, bh_arr(AstPolyParam)* polymorphic_vars); +static AstType* parse_type(OnyxParser* parser); static AstStructType* parse_struct(OnyxParser* parser); -static void parse_function_params(OnyxParser* parser, AstFunction* func, bh_arr(AstPolyParam)* poly_vars); +static void parse_function_params(OnyxParser* parser, AstFunction* func); static b32 parse_possible_directive(OnyxParser* parser, const char* dir); static AstFunction* parse_function_definition(OnyxParser* parser); static AstTyped* parse_global_declaration(OnyxParser* parser); @@ -328,7 +328,7 @@ static AstTyped* parse_factor(OnyxParser* parser) { AstUnaryOp* cast_node = make_node(AstUnaryOp, Ast_Kind_Unary_Op); cast_node->token = expect_token(parser, Token_Type_Keyword_Cast); expect_token(parser, '('); - cast_node->type_node = parse_type(parser, NULL); + cast_node->type_node = parse_type(parser); expect_token(parser, ')'); cast_node->operation = Unary_Op_Cast; cast_node->expr = parse_factor(parser); @@ -340,7 +340,7 @@ static AstTyped* parse_factor(OnyxParser* parser) { case Token_Type_Keyword_Sizeof: { AstSizeOf* so_node = make_node(AstSizeOf, Ast_Kind_Size_Of); so_node->token = expect_token(parser, Token_Type_Keyword_Sizeof); - so_node->so_type = (AstType *) parse_type(parser, NULL); + so_node->so_type = (AstType *) parse_type(parser); so_node->type_node = (AstType *) &basic_type_i32; retval = (AstTyped *) so_node; @@ -350,7 +350,7 @@ static AstTyped* parse_factor(OnyxParser* parser) { case Token_Type_Keyword_Alignof: { AstAlignOf* ao_node = make_node(AstAlignOf, Ast_Kind_Align_Of); ao_node->token = expect_token(parser, Token_Type_Keyword_Alignof); - ao_node->ao_type = (AstType *) parse_type(parser, NULL); + ao_node->ao_type = (AstType *) parse_type(parser); ao_node->type_node = (AstType *) &basic_type_i32; retval = (AstTyped *) ao_node; @@ -961,7 +961,7 @@ static b32 parse_possible_symbol_declaration(OnyxParser* parser, AstNode** ret) // NOTE: var: type if (parser->curr->type != ':' && parser->curr->type != '=') { - type_node = parse_type(parser, NULL); + type_node = parse_type(parser); } AstLocal* local = make_node(AstLocal, Ast_Kind_Local); @@ -1187,7 +1187,7 @@ static AstBlock* parse_block(OnyxParser* parser) { // // '^' -static AstType* parse_type(OnyxParser* parser, bh_arr(AstPolyParam)* poly_vars) { +static AstType* parse_type(OnyxParser* parser) { AstType* root = NULL; AstType** next_insertion = &root; @@ -1238,7 +1238,7 @@ static AstType* parse_type(OnyxParser* parser, bh_arr(AstPolyParam)* poly_vars) while (parser->curr->type != ')') { if (parser->hit_unexpected_token) return root; - AstType* param_type = parse_type(parser, poly_vars); + AstType* param_type = parse_type(parser); bh_arr_push(params, param_type); if (parser->curr->type != ')') @@ -1249,7 +1249,7 @@ static AstType* parse_type(OnyxParser* parser, bh_arr(AstPolyParam)* poly_vars) AstType* return_type = (AstType *) &basic_type_void; if (parser->curr->type == Token_Type_Right_Arrow) { consume_token(parser); - return_type = parse_type(parser, poly_vars); + return_type = parse_type(parser); } u64 param_count = bh_arr_length(params); @@ -1270,10 +1270,10 @@ static AstType* parse_type(OnyxParser* parser, bh_arr(AstPolyParam)* poly_vars) else if (parser->curr->type == '$') { bh_arr(AstPolyParam) pv = NULL; - if (poly_vars == NULL) + if (parser->polymorph_context.poly_params == NULL) onyx_report_error(parser->curr->pos, "polymorphic variable not valid here."); else - pv = *poly_vars; + pv = *parser->polymorph_context.poly_params; consume_token(parser); @@ -1286,11 +1286,13 @@ static AstType* parse_type(OnyxParser* parser, bh_arr(AstPolyParam)* poly_vars) if (pv != NULL) { bh_arr_push(pv, ((AstPolyParam) { .poly_sym = symbol_node, - .type_expr = root, + + // These will be filled out by function_params() + .type_expr = NULL, .idx = -1, })); - *poly_vars = pv; + *parser->polymorph_context.poly_params = pv; } } @@ -1373,7 +1375,7 @@ static AstStructType* parse_struct(OnyxParser* parser) { mem->token = expect_token(parser, Token_Type_Symbol); expect_token(parser, ':'); - mem->type_node = parse_type(parser, NULL); + mem->type_node = parse_type(parser); if (parser->curr->type == '=') { consume_token(parser); @@ -1392,7 +1394,7 @@ static AstStructType* parse_struct(OnyxParser* parser) { // e // '(' (: ,?)* ')' -static void parse_function_params(OnyxParser* parser, AstFunction* func, bh_arr(AstPolyParam)* poly_vars) { +static void parse_function_params(OnyxParser* parser, AstFunction* func) { if (parser->curr->type != '(') return; @@ -1406,7 +1408,7 @@ static void parse_function_params(OnyxParser* parser, AstFunction* func, bh_arr( AstParam curr_param = { 0 }; u32 param_idx = 0; - bh_arr(AstPolyParam) pv = *poly_vars; + assert(parser->polymorph_context.poly_params != NULL); b32 param_use = 0; OnyxToken* symbol; @@ -1431,11 +1433,15 @@ static void parse_function_params(OnyxParser* parser, AstFunction* func, bh_arr( } if (parser->curr->type != '=') { - u32 old_len = bh_arr_length(pv); - curr_param.local->type_node = parse_type(parser, &pv); + i32 old_len = bh_arr_length(*parser->polymorph_context.poly_params); + curr_param.local->type_node = parse_type(parser); + + i32 new_len = bh_arr_length(*parser->polymorph_context.poly_params); + i32 new_poly_params = new_len - old_len; - if (old_len != bh_arr_length(pv)) { - bh_arr_last(pv).idx = param_idx; + fori (i, 0, new_poly_params) { + (*parser->polymorph_context.poly_params)[old_len + i].type_expr = curr_param.local->type_node; + (*parser->polymorph_context.poly_params)[old_len + i].idx = param_idx; } } @@ -1455,8 +1461,6 @@ static void parse_function_params(OnyxParser* parser, AstFunction* func, bh_arr( param_idx++; } - *poly_vars = pv; - consume_token(parser); // Skip the ) return; } @@ -1488,13 +1492,15 @@ static AstFunction* parse_function_definition(OnyxParser* parser) { bh_arr(AstPolyParam) polymorphic_vars = NULL; bh_arr_new(global_heap_allocator, polymorphic_vars, 4); - parse_function_params(parser, func_def, &polymorphic_vars); + parser->polymorph_context.poly_params = &polymorphic_vars; + parse_function_params(parser, func_def); + parser->polymorph_context.poly_params = NULL; AstType* return_type = (AstType *) &basic_type_void; if (parser->curr->type == Token_Type_Right_Arrow) { expect_token(parser, Token_Type_Right_Arrow); - return_type = parse_type(parser, NULL); + return_type = parse_type(parser); } func_def->return_type = return_type; @@ -1619,7 +1625,7 @@ static AstTyped* parse_global_declaration(OnyxParser* parser) { } } - global_node->type_node = parse_type(parser, NULL); + global_node->type_node = parse_type(parser); add_node_to_process(parser, (AstNode *) global_node); @@ -1700,7 +1706,7 @@ static AstTyped* parse_top_level_expression(OnyxParser* parser) { } else if (parse_possible_directive(parser, "type")) { AstTypeAlias* alias = make_node(AstTypeAlias, Ast_Kind_Type_Alias); - alias->to = parse_type(parser, NULL); + alias->to = parse_type(parser); return (AstTyped *) alias; } else if (parser->curr->type == Token_Type_Keyword_Enum) { @@ -1828,7 +1834,7 @@ static AstNode* parse_top_level_statement(OnyxParser* parser) { memres->initial_value = parse_expression(parser); } else { - memres->type_node = parse_type(parser, NULL); + memres->type_node = parse_type(parser); if (parser->curr->type == '=') { consume_token(parser); @@ -1913,6 +1919,11 @@ OnyxParser onyx_parser_create(bh_allocator alloc, OnyxTokenizer *tokenizer, Prog }; + parser.polymorph_context = (PolymorphicContext) { + .root_node = NULL, + .poly_params = NULL, + }; + bh_arr_new(parser.results.allocator, parser.results.includes, 4); bh_arr_new(parser.results.allocator, parser.results.nodes_to_process, 4); diff --git a/src/onyxtypes.c b/src/onyxtypes.c index 040d26bd..5fcbe809 100644 --- a/src/onyxtypes.c +++ b/src/onyxtypes.c @@ -464,10 +464,26 @@ const char* type_get_name(Type* type) { else return ""; - case Type_Kind_Function: return bh_aprintf(global_scratch_allocator, "proc (...) -> %s", type_get_name(type->Function.return_type)); case Type_Kind_Slice: return bh_aprintf(global_scratch_allocator, "[] %s", type_get_name(type->Slice.ptr_to_data->Pointer.elem)); case Type_Kind_DynArray: return bh_aprintf(global_scratch_allocator, "[..] %s", type_get_name(type->DynArray.ptr_to_data->Pointer.elem)); + case Type_Kind_Function: { + char buf[512]; + fori (i, 0, 512) buf[i] = 0; + + strncat(buf, "proc (", 511); + fori (i, 0, type->Function.param_count) { + strncat(buf, type_get_name(type->Function.params[i]), 511); + if (i != type->Function.param_count - 1) + strncat(buf, ", ", 511); + } + + strncat(buf, ") -> ", 511); + strncat(buf, type_get_name(type->Function.return_type), 511); + + return bh_aprintf(global_scratch_allocator, "%s", buf); + } + default: return "unknown"; } } diff --git a/src/onyxutils.c b/src/onyxutils.c index 67d91f72..a5eec07c 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -342,41 +342,90 @@ void promote_numlit_to_larger(AstNumLit* num) { } } +typedef struct PolySolveElem { + AstType* type_expr; + Type* actual; +} PolySolveElem; + static Type* solve_poly_type(AstNode* target, AstType* type_expr, Type* actual) { - while (1) { - if (type_expr == (AstType *) target) return actual; + bh_arr(PolySolveElem) elem_queue = NULL; + bh_arr_new(global_heap_allocator, elem_queue, 4); + + Type* result = NULL; + + bh_arr_push(elem_queue, ((PolySolveElem) { + .type_expr = type_expr, + .actual = actual + })); + + while (!bh_arr_is_empty(elem_queue)) { + PolySolveElem elem = elem_queue[0]; + bh_arr_deleten(elem_queue, 0, 1); - switch (type_expr->kind) { + if (elem.type_expr == (AstType *) target) { + result = elem.actual; + break; + } + + switch (elem.type_expr->kind) { case Ast_Kind_Pointer_Type: { - if (actual->kind != Type_Kind_Pointer) return NULL; + if (elem.actual->kind != Type_Kind_Pointer) break; - type_expr = ((AstPointerType *) type_expr)->elem; - actual = actual->Pointer.elem; + bh_arr_push(elem_queue, ((PolySolveElem) { + .type_expr = ((AstPointerType *) elem.type_expr)->elem, + .actual = elem.actual->Pointer.elem, + })); break; } case Ast_Kind_Slice_Type: { - if (actual->kind != Type_Kind_Slice) return NULL; + if (elem.actual->kind != Type_Kind_Slice) break; - type_expr = ((AstSliceType *) type_expr)->elem; - actual = actual->Slice.ptr_to_data->Pointer.elem; + bh_arr_push(elem_queue, ((PolySolveElem) { + .type_expr = ((AstSliceType *) elem.type_expr)->elem, + .actual = elem.actual->Slice.ptr_to_data->Pointer.elem, + })); break; } case Ast_Kind_DynArr_Type: { - if (actual->kind != Type_Kind_DynArray) return NULL; + if (elem.actual->kind != Type_Kind_DynArray) break; - type_expr = ((AstDynArrType *) type_expr)->elem; - actual = actual->DynArray.ptr_to_data->Pointer.elem; + bh_arr_push(elem_queue, ((PolySolveElem) { + .type_expr = ((AstDynArrType *) elem.type_expr)->elem, + .actual = elem.actual->DynArray.ptr_to_data->Pointer.elem, + })); break; } - default: - return NULL; + case Ast_Kind_Function_Type: { + if (elem.actual->kind != Type_Kind_Function) break; + + AstFunctionType* ft = (AstFunctionType *) elem.type_expr; + + fori (i, 0, ft->param_count) { + bh_arr_push(elem_queue, ((PolySolveElem) { + .type_expr = ft->params[i], + .actual = elem.actual->Function.params[i], + })); + } + + bh_arr_push(elem_queue, ((PolySolveElem) { + .type_expr = ft->return_type, + .actual = elem.actual->Function.return_type, + })); + + break; + } + + default: break; } } - return NULL; +solving_done: + bh_arr_free(elem_queue); + + return result; } AstFunction* polymorphic_proc_lookup(AstPolyProc* pp, PolyProcLookupMethod pp_lookup, ptr actual, OnyxFilePos pos) { @@ -417,12 +466,7 @@ AstFunction* polymorphic_proc_lookup(AstPolyProc* pp, PolyProcLookupMethod pp_lo Type* resolved_type = solve_poly_type(param->poly_sym, param->type_expr, actual_type); if (resolved_type == NULL) { - if (pp_lookup == PPLM_By_Call) { - onyx_report_error(pos, "Unable to match polymorphic procedure type."); - } - else if (pp_lookup == PPLM_By_Function_Type) { - onyx_report_error(pos, "Unable to match polymorphic procedure type."); - } + onyx_report_error(pos, "Unable to match polymorphic procedure type with actual type, '%s'.", type_get_name(actual_type)); return NULL; } -- 2.25.1

BdfCEYw!+i6FFdsn zCVPrZaA$3m+vW?C>cV6}Sw0CaOSy@}@Ur|{k@)lh33XYXDH0DwqGDP8P((g0612#z zlW@CUdB0?;<_=-aa*` zb}1}2-o9JqHvYoX24OO@$fUe5@%zGLt}yB4!nX?lqeP;<3qLOs9Yw;!g})Gqh9dFK znY)xh7806GB2l5pQ$^wF82%|5r}Kr0Rgnokkh02M`-RC^VRFw&7TFd>t_*G7 z^dc8Mh5ks9zJk#Ag1)t>Ld}H1nj(W>VbHM1L731_E7DgHdfy^_Iic_A#J80t73k(N z{9;)$!0YvTQ6Q(;re{Z-4Jr4|Ky~_Us++ z;YJ!!TL-?zjl|LU@AxA(GJ?ju{Yk8mg5eVfmcD~1~6Kp7P5 zU=02-?U_?&=ytf1qol@xZ)NKYlw}q-%%;M8!sWkmND)Vbx@PgCA9&ves7u2)Jj;{# z(vnkojwdNkx7qLlPcod2c+H1-p$w|m{E8Pzpf0buPkGRSSA1xBqHbMws#plcJ#}1; zxOAb(rLmL8%FJ&laT7S{Mc9GPukxC_gdT%gt5{?I!t6@0iq;UQ@j8vnpzwwZ89GF7hb9Fe0q;LP?nsDN7?fBNf zYcwLRfvKX$9bCk#)Kpa&`9@W?(7E|y7-s8dY5Apa65@S+xU{$+h*G*)CW~LBg%=O6 zP8!npIec_=67M+aAt}5b9r2K#u1*%vx;ea44XjQsIebkGa)r)#z{f<8j$TfWh}FRl zVt-AGtn&a(oEF^}M1S)oe-MFgoc(}Lt_h$0AT(dOc6y+@T$6MlCBN0+UNJ>p(DRr` z(wWBH=PM(LA6=p02SKgRKUZqXUquo-8aRl5j>H*j)jd9HEW#gAwD0-^+ zco{^woeq0p!1qLPuh^kmb;Djcef?To;iO^VL5u#9geuAhGlyWjLqxMz5kzU!hco%^ zy2PE{%jIY5l3ujq9bTm#=}lYS;q&XE|CVU@v3e+x&mI1-9vR@eu&?y6ND#%tBrWe6 zMeu8|+kB0nBX9GEf~s%xiuFkYTJ<*XU!N?ehkoUs>XYaydAPO1zTFcwz}j21%!kVE z70;rw)V}kT`8??opVNS}a&-H(s55MTWpq?8J}H`1b^LIvNcYDrz9$+3(7hMG z6pgKDZBMRlNLKq;^%Mn{&rV1ih&D}iOXF_r{su3b0FGusm@ZQOHHm)poCMjY@n3N2Q{0^-!T z=j5_{kL{3*FB(yT34$mM(4e8H0A5H~+Tne-tON#n6Z{%WgmBWulylN$@%4>Kby^~a zUu{gf`d-Jit$66P((h|m*!Z};bw-T1t~|a8@h#)iRfM!E{1`KDB%j=bL{&{J%v%k4 z#XR%J<==@evVeyLK}U!y(%oJ7{U#*LafV5TUsR})x^S{3#4rEyD<;Qvv_hci& zq4?npcWy?e($v8`tr>}>59;yD%}B7PeJ5FS2ap3XqF~CX<^#D)bJC>b@R4}w(UONo zk{~|4IjXvGB;VZ}o4~!>2EK3&^|Vn+F!w&sYfhqQi~GE?8fJBd@UCj&LseJ!BsKPu zaRd2xYEqBZ8OR^1NfVo4m^EmbK<*Te4L@KAZxTMO=v-` zm!P%J^OlLEC4GL5uSz86sP{QOs4dc0&+>h3$thauET7trG@~cZ@DuHj&d=ua+atX% zn_q2@bna=svIA*Gw(u+Mv0c9HK+@^$Q+#Vj*epM#d)1LNEq#Dok9lSCz>`U#CTv2hs08y}SpR>Xi%rAl3z;o_0j4zXQ<+oaW1V zkjWbPqEVatO05;=Ol%qT< zAM$VQg;yAMb05}(darseq8{YX^fGY#dKJPTs^@j?66XcY73^rFDo`ty0>lw&H2(h%{Tu=sE$W!i45dhN#$*p;GH%$Sb%k!GncU=6 zRg6h;U~%L5g~o|r#2hZ~E+V_vmkrYcr0fA-RK>J>$kl#f9sYIzPO_h$@Tvnzx3V2X z0kh*~h$`om!=`1|fUg)x#`fmOu8%k-mW=3B!QaRNuRV@OrmsW*a(Pg;RkRo_>y^I7 zhr9!fM$^@mSnE5AT(3l~wCH%jFD>*CRi6(Tgb8n7pD!Oo0yMc%)GAZ?z9U=zQTCu! z?nwE3q1sXp(X`?NVsj6oQ&kg%)GU!F%t$Fw)t2URsk|308-G!u9nKzUZqqDdHEtnB zOLOu2UuRSWBwIfw)%1y(-uaM_O7w?mMA2t zs(9(GB~3q~YcrI1T03T>7p;^(r0XV(AeV^dTTBk~fq5Z#^9^+Ky*M+MMTcUvBnZBg z!p8~zll(48r55~4g^w5f?+V{S@HZ{^^9nD09#!}z!X~{Gz8gb;rXnG}p9J4b@ZT!D zlrL2H7$Hwlcv*;v3Lh)v!xg@f;Coxxx3{oquJDb8O?`!Lx>r0IgewUdxPk@mZo!wf z;Eg4V3i?*zWeYu3_|_u89ffZ%_)7}kMervSzK7s-;5DdmACcIhC13`aUw&wq8Kaq3JO0)@a_sPZAx3%$QK-G zDrxgpKA5ZIAbqOvQhrC_rO!(WFa4ZQ`0;y*2GhVou|wfy=5-1$or*s&g@TR}1)6Ii zpK4)0+Jf(I!FRT>Z=vwgPb0x=Of{%!VN}_|sJz0D6oH*A@{_0Vvc?ZA z~3NH)M zMBz2Eq}VV-X31Aoc-aN=+CNR{*RmFw@!qa5@F#haRRZHHJRu)0D)YO-%kI0W@G>yI zj3~@|6#ZYA!0se?Y4p8C=5G~V4xEJ+e2T)$LQhn9S!g_c2|qG$Z-tjW+bg_m_T~yd zLazVym4wV3uJCetR8V+1o!k{(PQTI$FQ=;!hb{z@>&IJ#Um|M%RN+?${*J=075pWI z-z@kO;KlmCT_kjhVz=P&4X|*!U-0V`{;=Sg!XFp>T!lXa9`7X5RF?#k4Ca<#Mu2%J znEqg%38ovEw}NR4=A&TLU~FR0>UoX8l@m;DFhPO|1rs5dATad>Qyxs5V9J1LEg133 z`Y!3ZlYp=QDnWv&`n8<8+$AR%Wi2mjey#5sOwcD%4xIV@Mt9Z6Ey(36!qPseU zv?FfX*niPEH0JfbA_Khw@nCeYv*I=ZA7;VrG7x>Y?YfMwNL&eO{T(;XAT8+J3|-5a zWHbq?s6&opN{-O&GRG1See`DWj4VENh}+E*!>OyigOH@0Oq9RpTf7E0Bd#f=o?}f| zn-4^lx9hs65MM&)Zsa{bkn()_ED~bVFj1TtlbZ3dvx&Rz!7Ng@gjX&~bWmiuc5{B@!mB&QA?WB!7cbo(11y}ddHD?1&XsmoLHa8_StPt{#a8-<`XX! z&8*LT7LrhV!&>u+^zc63X(6tRwVY302#*cpbjKHxjik({KuV=W1j%K=3_=|NVXr+a^yPW)FZ!`L9**Mh;e*^2u zFK#BOUb>~I=Ub(o3+Kvuw$!4Y>t^c4Zz261Xh;&r2%KW;_yWpQH>Vf6?&+jw3EQo? zBCXn%t2?G6-`LRfLAo|sxa3#O8(=V=ip)#mugct?=br~lJ{_L|vNoAe&DbigQ zw<2Hlm3f;FL|&^NVmycrFuk6Vx3cop(k;kcUg0%?_IKUH*QlWCt6HLwE-@0xGvAPdbY4x} zl(*z(LJ!msnFIOoccfCAkq-ypKU_J<%sCR+a4oTd2a)83h@_qk8pQm z3fdjd9|z0H6H?@fS~93dJp{cL#vA36DsIk5n5R|=@bX!MU&$w~d~rUR;58YSCI{u` z1Zj~EYs&mR>LUN^P#*9Bmrh$k#Vm}i*ym1R$oDbGQd0@pNXe3f>gwBs@)IA(UV8C1 zpZF2?ojb0}ddt3Sdt0~bBbjDRuLtum1365~1@q?y(!ud_L{a%(Md(@^Nsu-D=Bh4< z(r1*0H{pF$)ZczZHS_eD(~y6oqE%^p06(CjV;p~n#$3Of)p(tfv<_W#k&h`!J?X)V zy3~?1p){>>LU+@JdJ=lqoxdqVtNJ+|6h$-r(FNtzz-o7cF*WYGc+Go+ZzxX_baTqm zEL-~}_)=SWQq8KQYv)7D5IV%35Avn&V@H=Z;H&-^IP$>#M5>ki7-M!>v;EmAR#q1< zl^T>sdwngB@R0)?WD`HY-zL!~mEvptXf>Lj&M)}Un>Ia5qELmufzS4*DfYcw&CU)7 z@|Zvx%Xt7@W52pE#?=5JzHfiEjM-4{uNV%mK$qB;FBIFF#0f$4lD!wgD|PzAS6b@^ zRirzq&rWQ!avivkGVOv@GS=>_)VRa4THcPldN2*LFF*y9tb5DzKEd>q&7Fb*rP!~o zVygUjoRs84s?cycc!zFf721l>>?JyV2sMCNq|;ZUUs3zj?~x_tWQ=(maOe0CI+(hQ z;(NmB4O(xcPFtN0A=Xas3V7dh7^)2}QCqem-JbhI(DHQ1cpeo&Bixp36k{@JJmyda zE`P<$IJuF}jG&e1meqV)1U*F~#_=&VX#jN^$MNH|q4t}{qW!g(^xwQKF!C#xXg@xz z79B%RkKuP~(FE(;uM2ovEpgRFN7Cokbkl2IwH{qUonG^!^=MQ2X%$yR(PlJ%6>k+q z-+C>=QRHBbd`ykp`dSO3P)*R4K%VNElh>Jl2!^@RSG%b&;4i5^39MPuOy zqiN#fy~r0hEMbLy*;_X?mR_RX%m0GI5c$*}xmGV7mVX0>KmLZ|u4_vD_*YkH8P1!c zbkiQn#_{0zg-NjOs_xR$x83=rIGXAh^~$PnT7(7njj}vHbTklS?5I&uBty<9Tga+N`+gsAw^!YvhTT8m6@8)M_UrYW%80C%!H##xF z!b{Y>0%Pthag2~ZDSF4Hw2{f2Hhg|tTERA5 zN$zXI_lx9QB{{DR{|(8?-IZhy5X)arJ?SNiXc+gYreM~ZB9#F=bzfqp7iM>-mN{oTxWVbrle{T{!Pho!e9?hbr>#1 z1M%<5W6!+FWhkm#)*jCg-$PZoOwMRk@$tNG2kPs1_V=O=KJvRRtpj~aOU$^0v6S@_ z&R#1!(~0!eMP8;0JxN0@a-VN$5dYkTo~QMG=FX#OHU6$EeM!A9h(v_WqdT2VX#aEE zxfiXZJJo~66Z+E>FryuC-<9y@*nycD= ztiX7dE#6guPajBo&>yezy94PR8lNRHRnk2eL`zZXl_|@kvmZ(?5?bjnzdMX}bL{qW zQH@&vtZO=)eov{}0g8_2T(UiVQ=Vivz+O{5Hav*tz z@wVfspO^C~^cV)z2=Ngh=H)?b-(Vs?pVZACPgR7D-OCpz(HQz*kDwvEAc?xtb$fW( zWLhQiQFSciFZakncFW=p_kxf=74o#`EWxJ=UMp^a_f+R&lWAC$RtRjKd$FPr;)h)@ zA1cgi6`FUe&d(&%MlPO0{Ajn?i(Pf@F@gHn@O?6N4)>cx%V~ZNhml?w$s<38qO!I1 z6;^4{KMM8aLLcjpL{!{INBN(Q5!aXEIYDId7cEk+gTeAzdaTI&O`&f%#$c=guU&+q zf>4x_6^sw(zfPe2T^^yK^}BXKF2%ou@m3S5XTa?MM6Gw(X;y?h&_-_;X32$S--hwI z6RBT~n(e=cK3rJMfmQBr@-ZX2n-Eki%+?}|-<*hE`e`rsoJ74fd7)636l(d_rLZM5 zdu2;p5NiITxok&}EY=cwiYNBYZ)N9Zh(N-gxh zry3tSnZ`JbhS=n0lRJBr;mWU0rtNGSRF*-aEA!APSk9c4q)TO8S0t@z(`|hEG+L87 zZR6?FXm#qdjX$17o7mRH^Eei?dKGw$=`_anWuWx(Do{6NI-N{P|NI>)r~D-;);Fp- zJ@g%KK7%%*2M_XjGjI@Fc#t2PfsK9AL7ssw)I8NFq=hiBVu!#{XPIm(jt?cjPE`dEKP1UhHcUVXB>8Clo)Ot)U*AU)%J*{E) zunKw%onSkcYuD5FbjEDm*Bhthr);v=z;t#K)eZVRq*x z2~D>CKwrM?6pgf7Xi87%%k@Iv)0A%9m;0Zl@pcZT^vgbc{AslOory~ReSLI4o~BuZ zF6qU`oT0J?H2uLfssBs|#4c z^Bnoa3)C<8!&t>{73Eh};?G%Si4U#P+#W-dIYUmK=*^Bi^8)p7%(jqCcjS*Q&Uz^#8%xBKi_c_<3)HIAaaVY|FD~QIG7(-TV2Cnlfj=rGus=W zQS75E?Dh6$dmq@t!A%JCy)MYx$CBduHQSzl`!j8CGfw1B?U~P4ZldKiYVESRxC0oV zPF4PPnHcXiFxAX|jS=g)tMb=n{U8*kIA=L4Ki}vz#=Nt=I4@!z!CfcRX^NG}L*fu* z7-RYo&7!erhqT$!4jujdIE~zgV`M)3xc8r9l`M>vB4U}!m$rMWZ2W19)M=QYMT*qK zN$S)YqG#ewe-q`n{*Rw!F!`4-#UC*fBf&RYKl+jo$BCt-@Xxp1>8zOY&`UIdcI?h4 zU!pZ#{ksb({>DkF!?r7OL~XyK%eq7_Vs8 z2JrpA(*bl>ckca&CesW3IeSD~(@)*_?~iaIy%)G z;b>JGz^k=x8wE*=-Xt{X8>AH%d@u25Qnacaiq#K?c;;j3X)B!JST_F<&v{I{(FF&1 zgC}%c#FIV-V_to9s*U)pRbJbKcQuc#UHdTp@k0j-WmH$5^MnRC8gY)&M~m;<)1qr0 z7}qWj}jNo=Qh?Ty%u@!EH>9b&bgJF3${ zJ3!pNWt9T)*^T~XLq7T`?Mp8-(p`N@!)$b~p3*)g_rIbU)|z463XHY;6c}SVDOB)g zl*WKr0hrVOA5hIdI^vzA_S|+OLW@2W5w(ehG z>{9#~+UJ^+0VbOQzfv5+MI?SUS^KwuOw5tso~0>S|bI09aP z7FYs&3kZMnfhmKFFlYe!zqLsy0tuxEYH9S}@U@ZW5zzR5npa~{n*S!yf3n&5KP-Ue zKRNtw^~(`>z`#L$lSd?3?Mf;z22WJb+JZOB&O`PT@JmMj?@TT-K0N^g&y>L$^7=@d zGnwV)^#2*^RAAH~;3_ltk$gIo5BfkeoyU*sA3l228J-{L06mSXn75E)^zX9`wY%DOA2HXHYpbAhEhz6PiZGrB< zKwva58At)r01m7Lwg5i>>A*qY7;px-1l$1b0gr$@;0^Eru-b&m+29{Xz>WX$2?xDY z+;lnMdaiG}0>|wN9lg0o<^lc~vY2fI{T-J?Z*U>y0t^9`17`h63*Ia4?s2C!-x#sK)0xN+AhYE~OKwkoX0ZxYs9E}BF!k~x*y!n9w8XjeRvcMQv3@1)tSAfYbVEJMA zLV6}}_DF$o|M3FjW$=HU;DH7j6+33!=>Gn}VPRoa{6ic1R~&EEy{G&)EKE|X*fVIy z)2Iia$;KE0o`F9KY6V?azSuzhbUzqqOR6D{3XJfLqkCJ4%BS(zo8;V zkVTx{MR7F7xk#)7Vqh=?(1AY#{0jU5h=7{_JG@eg1rqcM75x8u^!U=rD>%Px3ee|& z5NI-NcK}O(C=|>eIH}jQqt;PGQ~57!rtdJ6K?PoezX@1_cQeU^{1jyAzy{zOKpaQS z|0NBv8lPk}YJk+H3Cl8;sZf z0cKq$^nw?-?W@=e-UWDp^j=`4N&Zj1{z2YK1{cm|0)jU5GZ?#op0;o}8?u$aPT&~u z3m_ckf))TG-%fx#+gX>_3?4DMU*8e_l`HnE9A>2oFc{IbpY-FyMVGN)O%2FZ)feNt69eSHPL*oWH8!QHWT=?`ho;KLEGxqZ!@GU>w*Ijs?I^Hc`O~q!de=jjjWGnm z+CXEVHP8*P%sdF`almw7KCm3v2>b{f1Wp52f&0KS;4gqSLmvTNKqVjoXb2<#oq&G8 zC}2u6jlnnv%o1QNupQVB90x7}w}B_X8^8eAH8&W`0f9gm5Ct>?+5x?QVZa37YhVGe z3iuA#3uFT4fE&PXzzg7`2LF^)8;oTDUmygi4KxN?1Kof@z&Kz!FdtYBYy^G;4g#lv ztH6EW8SocCJFp)(4qOCo15bcAfB~>e zKnnnYKo}4OGy~cJy?|lB1mJ660k8`A4%iE10_T7mz;D2d1cS!-5lqPzXaT?%2mxvX zje*ucH((Gj4ww$i2bKdHfggc`z-izra36RE`~^@9U`N0m@CT{@5kP&QDbNb&)Y8LX z>0|oK}j7!Jbigc5o3{{Qyf5Ni1 z-(Ymr8I0xesn;&hgbai6F)-r*1{q{+4;hTl5Am?7)(M)?*#_ghe*pOh`9InJFXZLF z2=0r3^-V!LX7e)DtV1+IuNsVQ*Zu)N|AYLW?EhPNk>B!P1fOydT>^*#mAcGtRI{$F zY4yxt?C>0|eOIA^|I@_V{eo$FOOemNhs_5N`u`0E>9Mu`irIJ@!vyhV%zK7#V~ok^ zF3=pH)_sG~={Kwcpu*_F6C9wP8jN-FFh%d^4u)Farkb1hJ1}|9|Gz==e4pudS1>90(@+S_RS1rV|yO|oU6R(;2h6mM8Z_8mG(oa^HvjYfgeHH%=D{T(&g zX^f4L!JN^qmcsvChW{kfMHr1{ma;PP<%u*RG$;)%C2mYSd3Y8z+^OULTgGN02Y|H{(3Yr6& z18Rl;7s^fJXJZiPeJi}H0WAO>0vbYa4FtLvbSr2+=o!#pif3WaX`nU^R#pqGadiax z2(+aGewTKx1TJ$R=%FewE(Kj$64wl%CrT9J@7xJ>El;mtSe{` zZpcA@tAtA+(6nIOsDnC$;9(rpHynXMU1}gO{<7O{&|pw)Bnl4NsSXP6q_MK9AA=`+ z2oC%|?0tE76xFtGRabYX(q!m_ge0A*6G+GeggGEXK!$+GAczbi!@&sw5l|5^jf#kX zN)*|MQPG3ofCElP5fz7{9tT8JL<9|pIDz7D6gfb@-*4}#>S{gbzVqI@_kQn>+uxV0 zTD8|+Ywfj%+O_sxyG}h3eGKsE00<^N@I>@yKyxSr2Q_W$FbD?pkAz^r(5Ms91%P#M zTdW0q3~(!8PpmN<;C(=Enx+ky48eeF0qX#d{Rx5rAD;@j5nPP86oLT@Kd0ILCiy8c9T6yUHMPDJMcz7E(3*l8&Q1KtC80PwEm5ZqkTeg