From 3d485d2e96600c5ee9ad024d9202043f899d5df8 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 10:51:38 +0200 Subject: [PATCH 01/47] :art: Add template unions --- ast | 2 +- include/parse.h | 14 ++++++++++++ src/emit/emit.c | 12 +++++++++-- src/lib/prim.c | 1 + src/oo/switch.c | 1 + src/oo/type.c | 15 ++++++++++++- src/parse/check.c | 12 +++++++---- src/parse/scan0.c | 22 +++++++++++++++++-- src/parse/scan1.c | 49 +++++++++++++++++++++--------------------- src/parse/scan2.c | 16 ++++++++------ src/parse/scanx.c | 41 +++++++++++++++-------------------- src/parse/template.c | 29 +++++++++++++++---------- src/parse/type_decl.c | 1 + src/parse/type_utils.c | 1 + util | 2 +- 15 files changed, 141 insertions(+), 77 deletions(-) diff --git a/ast b/ast index 2f8759c59..8072d3e77 160000 --- a/ast +++ b/ast @@ -1 +1 @@ -Subproject commit 2f8759c59db171ce3d4737c7912b3b57d1d6dec6 +Subproject commit 8072d3e7711680521b71fee4f8a9d41363a9f1ce diff --git a/include/parse.h b/include/parse.h index 42dbcd68f..0eee67712 100644 --- a/include/parse.h +++ b/include/parse.h @@ -79,4 +79,18 @@ static inline ANN m_bool env_ext(const Env env, const Class_Def cdef, const _exp ANN m_bool scanx_parent(const Type t, const _exp_func f, void *d); #define scanx_parent(a,b,c) scanx_parent(a, (_exp_func)b, c) + + +ANN m_bool scanx_cdef(const Env, void *,const Class_Def, + const _exp_func f_cdef, const _exp_func f_union); + +#define xxx_cdef(prefix) \ +static inline m_bool prefix##_cdef(const Env env, const Class_Def cdef) { \ + return scanx_cdef(env, env, cdef, \ + (_exp_func)prefix##_class_def, (_exp_func)prefix##_stmt_union); \ +} +xxx_cdef(scan1) +xxx_cdef(scan2) +xxx_cdef(check) +xxx_cdef(traverse) #endif diff --git a/src/emit/emit.c b/src/emit/emit.c index c2dcb5147..b1158112d 100644 --- a/src/emit/emit.c +++ b/src/emit/emit.c @@ -607,10 +607,11 @@ ANN static m_bool emit_exp_decl_global(const Emitter emit, const Var_Decl var_de } ANN static m_bool emit_class_def(const Emitter, const Class_Def); +ANN static m_bool emit_cdef(const Emitter, const Class_Def); ANN static m_bool emit_parent_inner(const Emitter emit, const Class_Def cdef) { - CHECK_BB(traverse_class_def(emit->env, cdef)) - return emit_class_def(emit, cdef); + CHECK_BB(traverse_cdef(emit->env, cdef)) + return emit_cdef(emit, cdef); } ANN static inline m_bool emit_exp_decl_template(const Emitter emit, const Exp_Decl* decl) { @@ -1378,6 +1379,8 @@ ANN static inline void union_allocdata(MemPool mp, const Stmt_Union stmt) { } ANN static m_bool emit_stmt_union(const Emitter emit, const Stmt_Union stmt) { + if(stmt->tmpl) + return GW_OK; Decl_List l = stmt->l; m_uint scope = emit->env->scope->depth; const m_bool global = GET_FLAG(stmt, global); @@ -1724,6 +1727,11 @@ ANN static m_bool emit_parent(const Emitter emit, const Class_Def cdef) { return scanx_parent(parent, emit_parent_inner, emit); } +ANN static inline m_bool emit_cdef(const Emitter emit, const Class_Def cdef) { + return scanx_cdef(emit->env, emit, cdef, + (_exp_func)emit_class_def, (_exp_func)emit_stmt_union); +} + ANN static m_bool emit_class_def(const Emitter emit, const Class_Def cdef) { const Type type = cdef->base.type; const Nspc nspc = type->nspc; diff --git a/src/lib/prim.c b/src/lib/prim.c index 629c75e1d..e33e05c08 100644 --- a/src/lib/prim.c +++ b/src/lib/prim.c @@ -12,6 +12,7 @@ #include "emit.h" #include "operator.h" #include "driver.h" +#include "traverse.h" #include "parse.h" #define CHECK_OP(op, check, func) _CHECK_OP(op, check, int_##func) diff --git a/src/oo/switch.c b/src/oo/switch.c index 11a5485c9..888f12a0e 100644 --- a/src/oo/switch.c +++ b/src/oo/switch.c @@ -11,6 +11,7 @@ #include "type.h" #include "context.h" #include "nspc.h" +#include "traverse.h" #include "parse.h" #include "switch.h" diff --git a/src/oo/type.c b/src/oo/type.c index 2c6b0b281..2505fab7a 100644 --- a/src/oo/type.c +++ b/src/oo/type.c @@ -6,12 +6,25 @@ #include "type.h" #include "nspc.h" #include "vm.h" +#include "traverse.h" #include "parse.h" #include "gwion.h" ANN static void free_type(Type a, Gwion gwion) { - if(GET_FLAG(a, template)) + if(GET_FLAG(a, template)) { + if(GET_FLAG(a, union)) { + if(a->e->def->stmt) { + if(GET_FLAG(a, pure)) + free_decl_list(gwion->mp, a->e->def->list); + else { + UNSET_FLAG(&a->e->def->stmt->d.stmt_union, global); + free_stmt(gwion->mp, a->e->def->stmt); + } + } + a->e->def->stmt = NULL; + } free_class_def(gwion->mp, a->e->def); + } if(a->nspc) REM_REF(a->nspc, gwion); mp_free(gwion->mp, Type, a); diff --git a/src/parse/check.c b/src/parse/check.c index 0c57604ef..8ec65bec0 100644 --- a/src/parse/check.c +++ b/src/parse/check.c @@ -105,7 +105,7 @@ ANN Type check_exp_decl(const Env env, const Exp_Decl* decl) { ERR_O(td_pos(decl->td), "can't infer type."); if(GET_FLAG(decl->type , template)) { if(!GET_FLAG(decl->type, check)) - CHECK_BO(traverse_class_def(env, decl->type->e->def)) + CHECK_BO(traverse_cdef(env, decl->type->e->def)) } const m_bool global = GET_FLAG(decl->td, global); const m_uint scope = !global ? env->scope->depth : env_push_global(env); @@ -943,6 +943,8 @@ ANN static m_bool check_stmt_jump(const Env env, const Stmt_Jump stmt) { } ANN m_bool check_stmt_union(const Env env, const Stmt_Union stmt) { + if(stmt->tmpl) + return GW_OK; if(stmt->xid) { if(env->class_def) (!GET_FLAG(stmt, static) ? decl_member : decl_static)(env->curr, stmt->value); @@ -959,8 +961,9 @@ ANN m_bool check_stmt_union(const Env env, const Stmt_Union stmt) { do { CHECK_OB(check_exp(env, l->self)) if(isa(l->self->type, t_object) > 0) { - if(!GET_FLAG(l->self->d.exp_decl.td, ref)) + if(!GET_FLAG(l->self->d.exp_decl.td, ref) && !GET_FLAG(stmt->type, template)) ERR_B(l->self->pos, "In union, Objects must be declared as reference (use '@')") + SET_FLAG(l->self->d.exp_decl.td, ref); Var_Decl_List list = l->self->d.exp_decl.list; do SET_FLAG(list->self->value, pure); while((list = list->next)); @@ -1157,7 +1160,8 @@ ANN static m_bool check_class_parent(const Env env, const Class_Def cdef) { const Type_Decl *td = cdef->base.ext; if(td->array) CHECK_BB(check_exp_array_subscripts(env, td->array->exp)) - CHECK_BB(scanx_parent(parent, traverse_class_def, env)) + if(parent->e->def) + CHECK_BB(scanx_parent(parent, traverse_class_def, env)) if(GET_FLAG(parent, typedef)) SET_FLAG(cdef->base.type, typedef); return GW_OK; @@ -1176,7 +1180,7 @@ ANN m_bool check_class_def(const Env env, const Class_Def cdef) { const Type type = cdef->base.type; if(type->e->parent == t_undefined) { type->e->parent = check_td(env, cdef->base.ext); - return traverse_class_def(env, cdef); + return traverse_cdef(env, cdef); } if(cdef->base.ext) CHECK_BB(env_ext(env, cdef, check_class_parent)) diff --git a/src/parse/scan0.c b/src/parse/scan0.c index 10ac80694..fc56c533c 100644 --- a/src/parse/scan0.c +++ b/src/parse/scan0.c @@ -8,9 +8,9 @@ #include "func.h" #include "nspc.h" #include "vm.h" -#include "parse.h" #include "traverse.h" #include "template.h" +#include "parse.h" ANN static Value mk_class(const Env env, const Type base) { const Type t = type_copy(env->gwion->mp, t_class); @@ -113,6 +113,8 @@ ANN static Type union_type(const Env env, const Nspc nspc, const Symbol s, const ANN m_bool scan0_stmt_union(const Env env, const Stmt_Union stmt) { CHECK_BB(env_storage(env, stmt->flag, stmt_self(stmt)->pos)) + const m_uint scope = !GET_FLAG(stmt, global) ? env->scope->depth : + env_push_global(env); if(stmt->xid) { CHECK_BB(scan0_defined(env, stmt->xid, stmt_self(stmt)->pos)) const Nspc nspc = !GET_FLAG(stmt, global) ? @@ -131,6 +133,7 @@ ANN m_bool scan0_stmt_union(const Env env, const Stmt_Union stmt) { if(!stmt->type_xid) SET_FLAG(t, op); } else if(stmt->type_xid) { + CHECK_BB(scan0_defined(env, stmt->type_xid, stmt_self(stmt)->pos)) const Nspc nspc = !GET_FLAG(stmt, global) ? env->curr : env->global_nspc; stmt->type = union_type(env, nspc, stmt->type_xid, 1); @@ -144,8 +147,23 @@ ANN m_bool scan0_stmt_union(const Env env, const Stmt_Union stmt) { stmt->value->owner = nspc; nspc_add_value(nspc, stmt->xid, stmt->value); SET_FLAG(stmt->value, checked | stmt->flag); - } + if(stmt->tmpl) { + if(tmpl_base(stmt->tmpl)) { + const Class_Def cdef = new_class_def(env->gwion->mp, stmt->flag, stmt->type_xid, + NULL, (Class_Body)stmt->l, stmt_self(stmt)->pos); + stmt->type->e->def = cdef; + cdef->base.tmpl = stmt->tmpl; + cdef->base.type = stmt->type; + cdef->list = stmt->l; + SET_FLAG(stmt->type, pure); + SET_FLAG(stmt, template); + SET_FLAG(stmt->type, template); + } + SET_FLAG(stmt->type, union); + } + if(GET_FLAG(stmt, global)) + env_pop(env, scope); return GW_OK; } diff --git a/src/parse/scan1.c b/src/parse/scan1.c index 88ae8fca8..4fa0b6bec 100644 --- a/src/parse/scan1.c +++ b/src/parse/scan1.c @@ -5,11 +5,11 @@ #include "type.h" #include "nspc.h" #include "value.h" -#include "optim.h" +#include "func.h" #include "vm.h" -#include "parse.h" #include "traverse.h" #include "template.h" +#include "parse.h" ANN static m_bool scan1_stmt_list(const Env env, Stmt_List list); ANN static m_bool scan1_stmt(const Env env, Stmt stmt); @@ -35,15 +35,16 @@ ANN static Type scan1_exp_decl_type(const Env env, Exp_Decl* decl) { ERR_O(exp_self(decl)->pos, "can't use protected type %s", t->name) if(env->class_def) { if(!env->scope->depth) { - if(!env->func && !GET_FLAG(decl->td, static)) - SET_FLAG(decl->td, member); if(!GET_FLAG(decl->td, ref) && t == env->class_def) ERR_O(exp_self(decl)->pos, "...(note: object of type '%s' declared inside itself)", t->name) + if(!GET_FLAG(decl->td, static)) + SET_FLAG(decl->td, member); } } decl->base = t->e->def; return decl->type = t; } + ANN m_bool scan1_exp_decl(const Env env, const Exp_Decl* decl) { CHECK_BB(env_storage(env, decl->td->flag, exp_self(decl)->pos)) Var_Decl_List list = decl->list; @@ -53,10 +54,10 @@ ANN m_bool scan1_exp_decl(const Env env, const Exp_Decl* decl) { const m_uint scope = !global ? env->scope->depth : env_push_global(env); const Nspc nspc = !global ? env->curr : env->global_nspc; do { - Type t = decl->type; const Var_Decl var = list->self; - const Value former = nspc_lookup_value0(env->curr, var->xid); CHECK_BB(isres(env, var->xid, exp_self(decl)->pos)) + Type t = decl->type; + const Value former = nspc_lookup_value0(env->curr, var->xid); if(former && !decl->td->exp && (!env->class_def || !(GET_FLAG(env->class_def, template) || GET_FLAG(env->class_def, scan1)))) ERR_B(var->pos, "variable %s has already been defined in the same scope...", @@ -65,17 +66,17 @@ ANN m_bool scan1_exp_decl(const Env env, const Exp_Decl* decl) { if(var->array->exp) { if(GET_FLAG(decl->td, ref)) ERR_B(td_pos(decl->td), "ref array must not have array expression.\n" - "e.g: int @my_array[];\nnot: int my_array[2];") + "e.g: int @my_array[];\nnot: @int my_array[2];") CHECK_BB(scan1_exp(env, var->array->exp)) } t = array_type(env, decl->type, var->array->depth); } - const Value v = var->value = former ? former : new_value(env->gwion->mp, t, s_name(var->xid)); + const Value v = var->value = former ?: new_value(env->gwion->mp, t, s_name(var->xid)); nspc_add_value(nspc, var->xid, v); v->flag = decl->td->flag; if(var->array && !var->array->exp) SET_FLAG(v, ref); - if(!env->func && !env->scope->depth && !env->class_def) + if(!env->scope->depth && !env->class_def) SET_FLAG(v, global); v->type = t; v->d.ptr = var->addr; @@ -137,9 +138,8 @@ ANN static m_bool scan1_exp_if(const Env env, const Exp_If* exp_if) { } ANN static inline m_bool scan1_exp_unary(const restrict Env env, const Exp_Unary *unary) { - if((unary->op == op_spork || unary->op == op_fork) && unary->code) { - RET_NSPC(scan1_stmt(env, unary->code)) - } + if((unary->op == op_spork || unary->op == op_fork) && unary->code) + { RET_NSPC(scan1_stmt(env, unary->code)) } return unary->exp ? scan1_exp(env, unary->exp) : GW_OK; } @@ -168,9 +168,8 @@ describe_ret_nspc(if, Stmt_If,, !(scan1_exp(env, stmt->cond) < 0 || (stmt->else_body && scan1_stmt(env, stmt->else_body) < 0)) ? 1 : -1) ANN static inline m_bool scan1_stmt_code(const Env env, const Stmt_Code stmt) { - if(stmt->stmt_list) { - RET_NSPC(scan1_stmt_list(env, stmt->stmt_list)) - } + if(stmt->stmt_list) + { RET_NSPC(scan1_stmt_list(env, stmt->stmt_list)) } return GW_OK; } @@ -201,7 +200,7 @@ ANN m_bool scan1_stmt_enum(const Env env, const Stmt_Enum stmt) { } while((list = list->next)); return GW_OK; } -#include "func.h" + ANN static m_bool scan1_args(const Env env, Arg_List list) { do { const Var_Decl var = list->var_decl; @@ -227,6 +226,8 @@ ANN m_bool scan1_stmt_type(const Env env, const Stmt_Type stmt) { } ANN m_bool scan1_stmt_union(const Env env, const Stmt_Union stmt) { + if(stmt->tmpl) + return GW_OK; if(!stmt->value) CHECK_BB(scan0_stmt_union(env, stmt)) Decl_List l = stmt->l; @@ -288,19 +289,19 @@ ANN m_bool scan1_func_def(const Env env, const Func_Def fdef) { CHECK_BB(env_storage(env, fdef->flag, td_pos(fdef->base->td))) if(tmpl_base(fdef->base->tmpl)) return GW_OK; + if(GET_FLAG(fdef, dtor) && !env->class_def) + ERR_B(td_pos(fdef->base->td), "dtor must be in class def!!") + if(GET_FLAG(fdef, op) && env->class_def) + SET_FLAG(fdef, static); struct Func_ fake = { .name=s_name(fdef->base->xid) }, *const former = env->func; env->func = &fake; ++env->scope->depth; - if(GET_FLAG(fdef, dtor) && !env->class_def) - ERR_B(td_pos(fdef->base->td), "dtor must be in class def!!") if(fdef->base->td) CHECK_OB((fdef->base->ret_type = known_type(env, fdef->base->td))) if(fdef->base->args) CHECK_BB(scan1_args(env, fdef->base->args)) if(!GET_FLAG(fdef, builtin)) CHECK_BB(scan1_stmt_code(env, &fdef->d.code->d.stmt_code)) - if(GET_FLAG(fdef, op) && env->class_def) - SET_FLAG(fdef, static); env->func = former; --env->scope->depth; return GW_OK; @@ -315,14 +316,14 @@ ANN static m_bool scan1_parent(const Env env, const Class_Def cdef) { const Type parent = cdef->base.type->e->parent = known_type(env, cdef->base.ext); CHECK_OB(parent) Type t = parent; - while(t) { + do { if(cdef->base.type == t) ERR_B(pos, "recursive (%s <= %s) class declaration.", cdef->base.type->name, t->name); - t = t->e->parent; - } + } while((t = t->e->parent)); if(isa(parent, t_object) < 0) ERR_B(pos, "cannot extend primitive type '%s'", parent->name) - CHECK_BB(scanx_parent(parent, scan1_class_def, env)) + if(parent->e->def) + CHECK_BB(scanx_parent(parent, scan1_class_def, env)) if(type_ref(parent)) ERR_B(pos, "can't use ref type in class extend") return GW_OK; diff --git a/src/parse/scan2.c b/src/parse/scan2.c index 254967f1b..bc4e999ec 100644 --- a/src/parse/scan2.c +++ b/src/parse/scan2.c @@ -8,20 +8,19 @@ #include "value.h" #include "func.h" #include "template.h" +#include "traverse.h" #include "optim.h" #include "parse.h" #include "nspc.h" #include "operator.h" -ANN /* static */ m_bool scan2_exp(const Env, const Exp); +//ANN /* static */ m_bool scan2_exp(const Env, const Exp); ANN static m_bool scan2_stmt(const Env, const Stmt); ANN static m_bool scan2_stmt_list(const Env, Stmt_List); -extern ANN m_bool scan1_class_def(const Env, const Class_Def); -ANN m_bool scan2_class_def(const Env, const Class_Def); ANN static m_bool scan2_exp_decl_template(const Env env, const Exp_Decl* decl) { - CHECK_BB(scan1_class_def(env, decl->type->e->def)) - CHECK_BB(scan2_class_def(env, decl->type->e->def)) + CHECK_BB(scan1_cdef(env, decl->type->e->def)) + CHECK_BB(scan2_cdef(env, decl->type->e->def)) return GW_OK; } @@ -270,6 +269,8 @@ ANN static m_bool scan2_stmt_jump(const Env env, const Stmt_Jump stmt) { } ANN m_bool scan2_stmt_union(const Env env, const Stmt_Union stmt) { + if(stmt->tmpl) + return GW_OK; const m_uint scope = union_push(env, stmt); Decl_List l = stmt->l; do CHECK_BB(scan2_exp(env, l->self)) @@ -450,7 +451,7 @@ ANN static m_str func_tmpl_name(const Env env, const Func_Def f) { vector_add(&v, (vtype)t); tlen += strlen(t->name); } while((id = id->next) && ++tlen); - char tmpl_name[tlen + 1]; + char tmpl_name[tlen + 2]; m_str str = tmpl_name; for(m_uint i = 0; i < vector_size(&v); ++i) { const m_str s = ((Type)vector_at(&v, i))->name; @@ -548,7 +549,8 @@ DECL_SECTION_FUNC(scan2) ANN static m_bool scan2_class_parent(const Env env, const Class_Def cdef) { const Type parent = cdef->base.type->e->parent; - CHECK_BB(scanx_parent(parent, scan2_class_def, env)) + if(parent->e->def) + CHECK_BB(scanx_parent(parent, scan2_cdef, env)) if(cdef->base.ext->array) CHECK_BB(scan2_exp(env, cdef->base.ext->array->exp)) return GW_OK; diff --git a/src/parse/scanx.c b/src/parse/scanx.c index e722b0869..492478faf 100644 --- a/src/parse/scanx.c +++ b/src/parse/scanx.c @@ -6,8 +6,9 @@ #include "type.h" #include "nspc.h" #include "vm.h" -#include "parse.h" #include "template.h" +#include "traverse.h" +#include "parse.h" ANN static inline m_bool _body(const Env e, Class_Body b, const _exp_func f) { do CHECK_BB(f(e, b->section)) @@ -24,10 +25,10 @@ ANN static inline m_bool tmpl_push(const Env env, const Tmpl* tmpl) { } ANN static inline m_int _push(const Env env, const Class_Def c) { - const m_uint scope = env_push_type(env, c->base.type); - if(c->base.tmpl && !tmpl_push(env, c->base.tmpl)) - return GW_ERROR; - return scope; + const m_int scope = env_push_type(env, c->base.type); + CHECK_BB(scope) + return (!c->base.tmpl || tmpl_push(env, c->base.tmpl)) ? + scope : GW_ERROR; } ANN static inline void _pop(const Env e, const Class_Def c, const m_uint s) { @@ -36,6 +37,7 @@ ANN static inline void _pop(const Env e, const Class_Def c, const m_uint s) { env_pop(e, s); } +// TODO: 'v' should be 2° argument ANN m_bool scanx_body(const Env e, const Class_Def c, const _exp_func f, void* d) { const m_int scope = _push(e, c); @@ -67,27 +69,18 @@ static inline Class_Def get_type_def(const Type t) { ANN m_bool scanx_parent(const Type t, const _exp_func f, void* d) { + if(t->e->parent == t_union) + return GW_OK; const Class_Def def = get_type_def(t); return def ? f(d, def) : GW_OK; } -/* -struct Parent_ { - void* ptr; - const Type t; - m_bool (*f)(void*, void*); - const ae_flag flag; -}; -ANN m_bool scanx_parent_actual(void* ptr, const Type t, m_bool (*f)(void*, void*), const ae_flag flag) { - if(t->e->def && (t->flag & flag) != flag) - return f(ptr, t->e->def); - return GW_OK; -} -ANN m_bool scanx_parent(void* ptr, const Type t, m_bool (*f)(void*, void*), const ae_flag flag) { - if(t->array_depth) - CHECK_BB(f(ptr, array_base(t))) - else - CHECK_BB(f(ptr, t)) - return GW_OK; +ANN m_bool scanx_cdef(const Env env, void* opt, const Class_Def cdef, + const _exp_func f_cdef, const _exp_func f_union) { + if(cdef->base.type->e->parent != t_union) + return f_cdef(opt, cdef); + CHECK_BB(template_push_types(env, cdef->base.tmpl)) + const m_bool ret = f_union(opt, &cdef->stmt->d.stmt_union); + nspc_pop_type(env->gwion->mp, env->curr); + return ret; } -*/ diff --git a/src/parse/template.c b/src/parse/template.c index f2511a586..5be9e0a34 100644 --- a/src/parse/template.c +++ b/src/parse/template.c @@ -6,6 +6,7 @@ #include "env.h" #include "type.h" #include "nspc.h" +#include "traverse.h" #include "template.h" #include "vm.h" #include "parse.h" @@ -70,9 +71,10 @@ ANN static inline size_t tmpl_set(struct tmpl_info* info, const Type t) { ANN static size_t template_size(const Env env, struct tmpl_info* info) { ID_List base = info->cdef->base.tmpl->list; + Type_List call = info->call; size_t size = tmpl_set(info, info->cdef->base.type); - do size += tmpl_set(info, type_decl_resolve(env, info->call->td)); - while((info->call = info->call->next) && (base = base->next) && ++size); + do size += tmpl_set(info, type_decl_resolve(env, call->td)); + while((call = call->next) && (base = base->next) && ++size); return size + 16 + 3; } @@ -82,7 +84,7 @@ ANN static inline m_str tmpl_get(struct tmpl_info* info, m_str str) { return str += vector_at(&info->size, info->index); } -ANN static void template_name(const Env env, struct tmpl_info* info, m_str s) { +ANN static void template_name(struct tmpl_info* info, m_str s) { m_str str = s; str = tmpl_get(info, str); *str++ = '<'; @@ -91,10 +93,7 @@ ANN static void template_name(const Env env, struct tmpl_info* info, m_str s) { str = tmpl_get(info, str); *str++ = (info->index < size - 1) ? ',' : '>'; } - if(info->cdef->base.type->e->owner == env->global_nspc) - sprintf(str, "%p", (void*)env->curr); - else - *str = '\0'; + *str = '\0'; } ANEW ANN static Symbol template_id(const Env env, const Class_Def c, const Type_List call) { @@ -102,7 +101,7 @@ ANEW ANN static Symbol template_id(const Env env, const Class_Def c, const Type_ vector_init(&info.type); vector_init(&info.size); char name[template_size(env, &info)]; - template_name(env, &info, name); + template_name(&info, name); vector_release(&info.type); vector_release(&info.size); return insert_symbol(name); @@ -158,13 +157,21 @@ ANN Type scan_type(const Env env, const Type t, const Type_Decl* type) { return a->base.type; a->base.tmpl = new_tmpl(env->gwion->mp, get_total_type_list(env, t), 0); a->base.tmpl->call = type->types; - - CHECK_BO(scan0_class_def(env, a)) + if(isa(t, t_union) < 0) + CHECK_BO(scan0_class_def(env, a)) + else { + a->stmt = new_stmt_union(env->gwion->mp, (Decl_List)a->body, t->e->def->pos); + a->stmt->d.stmt_union.type_xid = a->base.xid; + CHECK_BO(scan0_stmt_union(env, &a->stmt->d.stmt_union)) + a->base.type = a->stmt->d.stmt_union.type; + a->base.type->e->def = a; + SET_FLAG(a, union); + } SET_FLAG(a->base.type, template | ae_flag_ref); a->base.type->e->owner = t->e->owner; if(GET_FLAG(t, builtin)) SET_FLAG(a->base.type, builtin); - CHECK_BO(scan1_class_def(env, a)) + CHECK_BO(scan1_cdef(env, a)) if(t->nspc->dtor) { a->base.type->nspc->dtor = t->nspc->dtor; SET_FLAG(a->base.type, dtor); diff --git a/src/parse/type_decl.c b/src/parse/type_decl.c index b320346d4..bc1d4d9db 100644 --- a/src/parse/type_decl.c +++ b/src/parse/type_decl.c @@ -7,6 +7,7 @@ #include "nspc.h" #include "type.h" #include "vm.h" +#include "traverse.h" #include "parse.h" ANN Type type_decl_resolve(const Env env, const Type_Decl* td) { diff --git a/src/parse/type_utils.c b/src/parse/type_utils.c index d0aa6b3e6..d27414a8d 100644 --- a/src/parse/type_utils.c +++ b/src/parse/type_utils.c @@ -7,6 +7,7 @@ #include "value.h" #include "type.h" #include "vm.h" +#include "traverse.h" #include "parse.h" ANN m_bool isres(const Env env, const Symbol xid, const loc_t pos) { diff --git a/util b/util index 6e10d0bd6..e2cb40dfd 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit 6e10d0bd6a9e6731e35cc01d44562e0271755676 +Subproject commit e2cb40dfde5fe6200e3d14954aec316de1883136 From 0369c5be70d11c388676614d6968812d57da95d2 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 11:02:41 +0200 Subject: [PATCH 02/47] :wrench: Travis testing --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index bddfa7230..d751e3c89 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,8 +33,8 @@ env: matrix: allow_failures: - - compiler: clang -# - os: windows +# - compiler: clang + - os: windows compiler: - gcc @@ -47,7 +47,8 @@ install: export BUILD_ON_WINDOWS=1; export VALGRIND="NO_VALGRIND"; export SEVERITY=1; - export LDFLAGS="$LDLAGS -lpsapi -shared -fPIC -Wl,--export-all -Wl,--enable-auto-import -Wl,--out-implib,libgwion.a"; +# export LDFLAGS="$LDLAGS -lpsapi -shared -fPIC -Wl,--export-all -Wl,--enable-auto-import -Wl,--out-implib,libgwion.a"; + export LDFLAGS="$LDLAGS -lpsapi -shared -fPIC -Wl,--export-all -Wl,--enable-auto-import -Wl"; export LIBS="$LIBS -lpsapi -shared -fPIC"; fi; From 5c17e0ef3f2dad31f264d6c52c8eaa9fd06ddc6b Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 11:04:42 +0200 Subject: [PATCH 03/47] :wrench: Travis testing --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d751e3c89..8eafe35c3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,7 +47,6 @@ install: export BUILD_ON_WINDOWS=1; export VALGRIND="NO_VALGRIND"; export SEVERITY=1; -# export LDFLAGS="$LDLAGS -lpsapi -shared -fPIC -Wl,--export-all -Wl,--enable-auto-import -Wl,--out-implib,libgwion.a"; export LDFLAGS="$LDLAGS -lpsapi -shared -fPIC -Wl,--export-all -Wl,--enable-auto-import -Wl"; export LIBS="$LIBS -lpsapi -shared -fPIC"; fi; From fcef6beaffe182d2ee1cdb59a2b06f4f4c680a26 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 11:13:55 +0200 Subject: [PATCH 04/47] :wrench: Travis testing (add windows) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8eafe35c3..91f83a859 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,8 +2,8 @@ language: c #sudo: required os: - linux -# - windows - osx + - windows addons: # coverity_scan: From 45d0d4b1bd67a9f57c117eb1bfb5b27068f8a6bd Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 11:27:17 +0200 Subject: [PATCH 05/47] :wrench: Travis testing (fix windows gcc cmdline) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 91f83a859..96aeb733b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,7 +47,7 @@ install: export BUILD_ON_WINDOWS=1; export VALGRIND="NO_VALGRIND"; export SEVERITY=1; - export LDFLAGS="$LDLAGS -lpsapi -shared -fPIC -Wl,--export-all -Wl,--enable-auto-import -Wl"; + export LDFLAGS="$LDLAGS -lpsapi -shared -fPIC -Wl,--export-all -Wl,--enable-auto-import"; export LIBS="$LIBS -lpsapi -shared -fPIC"; fi; From 996398e63ee686224001ad5e0ac2c382e4ebf1c6 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 11:49:57 +0200 Subject: [PATCH 06/47] :wrench: Travis testing (fix windows/clang ssize_t) --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 96aeb733b..c1af49a92 100644 --- a/.travis.yml +++ b/.travis.yml @@ -59,7 +59,10 @@ before_script: script: - if [ $(uname) = "Linux" ] || [ $(uname) = "Darwin" ]; then make && make test; - else make.exe && make.exe test; + else if[ $CC = clang] + then CFLAGS+="-Dssize_t=SSIZE_T" + make.exe && make.exe test; + fi fi; git: From 42a5097099d8ac3a7f630461515fd8e365cdbdfb Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 11:53:45 +0200 Subject: [PATCH 07/47] :wrench: Travis testing (fix windows/clang ssize_t) --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index c1af49a92..db14dc07e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -59,10 +59,11 @@ before_script: script: - if [ $(uname) = "Linux" ] || [ $(uname) = "Darwin" ]; then make && make test; - else if[ $CC = clang] - then CFLAGS+="-Dssize_t=SSIZE_T" + else + if[ $CC = clang] + then CFLAGS+="-Dssize_t=SSIZE_T" + fi make.exe && make.exe test; - fi fi; git: From ccf4eebe8f2d545fcd38da821bf667ff2d9dd2d6 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 12:04:39 +0200 Subject: [PATCH 08/47] :wrench: Travis testing (fix windows/clang ssize_t) --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index db14dc07e..c4c001f3a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,9 +60,9 @@ script: - if [ $(uname) = "Linux" ] || [ $(uname) = "Darwin" ]; then make && make test; else - if[ $CC = clang] - then CFLAGS+="-Dssize_t=SSIZE_T" - fi + if[ $CC = clang]; + then CFLAGS+="-Dssize_t=SSIZE_T"; + fi; make.exe && make.exe test; fi; From 653943f1854c2a189349e1c317151f1c2fb68701 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 12:06:24 +0200 Subject: [PATCH 09/47] :wrench: Travis testing (fix windows/clang ssize_t) --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c4c001f3a..1a48d5f95 100644 --- a/.travis.yml +++ b/.travis.yml @@ -59,11 +59,12 @@ before_script: script: - if [ $(uname) = "Linux" ] || [ $(uname) = "Darwin" ]; then make && make test; - else + else { if[ $CC = clang]; then CFLAGS+="-Dssize_t=SSIZE_T"; fi; - make.exe && make.exe test; + make.exe && make.exe test; + } fi; git: From a24ba6c6244e6d33b8146c8675465c6d3281a483 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 12:09:51 +0200 Subject: [PATCH 10/47] :wrench: Travis testing (fix windows/clang ssize_t) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1a48d5f95..9f86e4f3b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,7 +60,7 @@ script: - if [ $(uname) = "Linux" ] || [ $(uname) = "Darwin" ]; then make && make test; else { - if[ $CC = clang]; + if[ "$CC" = "clang" ]; then CFLAGS+="-Dssize_t=SSIZE_T"; fi; make.exe && make.exe test; From d9262aeead552f9c809bbd050c1c263ac26208ed Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 12:12:19 +0200 Subject: [PATCH 11/47] :wrench: Travis testing (fix windows/clang ssize_t) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9f86e4f3b..8b4fc4716 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,7 +60,7 @@ script: - if [ $(uname) = "Linux" ] || [ $(uname) = "Darwin" ]; then make && make test; else { - if[ "$CC" = "clang" ]; + if [ "$CC" = "clang" ]; then CFLAGS+="-Dssize_t=SSIZE_T"; fi; make.exe && make.exe test; From 72af4527e7a1aaf32ba64b276eff530675510f34 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 12:18:24 +0200 Subject: [PATCH 12/47] :wrench: Travis testing (fix windows/clang ssize_t) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8b4fc4716..84782cbb0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,7 +61,7 @@ script: then make && make test; else { if [ "$CC" = "clang" ]; - then CFLAGS+="-Dssize_t=SSIZE_T"; + then CFLAGS+="-DSSIZE_T=ssize_t"; fi; make.exe && make.exe test; } From 37cfa440d3db45c2c82daa41893bb3c86026856c Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 12:21:48 +0200 Subject: [PATCH 13/47] :wrench: Travis testing (fix windows/clang ssize_t) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 84782cbb0..9825f0674 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,7 +61,7 @@ script: then make && make test; else { if [ "$CC" = "clang" ]; - then CFLAGS+="-DSSIZE_T=ssize_t"; + then export CFLAGS+="-DSSIZE_T=ssize_t"; fi; make.exe && make.exe test; } From 252a52f94ae53b6f1e705e8f35557b26bc5b9c3d Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 13:45:03 +0200 Subject: [PATCH 14/47] :wrench: Travis testing (fix windows/clang ssize_t) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9825f0674..22a0b5e55 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,7 +61,7 @@ script: then make && make test; else { if [ "$CC" = "clang" ]; - then export CFLAGS+="-DSSIZE_T=ssize_t"; + then export CFLAGS+="-DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; fi; make.exe && make.exe test; } From 07b65c48fd9740d0c496937e0bdda4246b6cbf9c Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 14:09:11 +0200 Subject: [PATCH 15/47] :wrench: Travis testing (fix windows/clang complex) --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 22a0b5e55..71132d0fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,6 +62,10 @@ script: else { if [ "$CC" = "clang" ]; then export CFLAGS+="-DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; + if [ "$USE_DOUBLE" = 0 ]; + then export CFLAGS+="-Dm_uint=struct _C_float_complex"; + else export CFLAGS+="-Dm_uint=struct _C_double_complex"; + fi fi; make.exe && make.exe test; } From b2f905180a93e611aa995a50cc3fdab2976c0b22 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 14:12:58 +0200 Subject: [PATCH 16/47] :wrench: Travis testing (fix windows/clan complex) --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 71132d0fa..fcbb137ae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,8 +63,8 @@ script: if [ "$CC" = "clang" ]; then export CFLAGS+="-DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; if [ "$USE_DOUBLE" = 0 ]; - then export CFLAGS+="-Dm_uint=struct _C_float_complex"; - else export CFLAGS+="-Dm_uint=struct _C_double_complex"; + then export CFLAGS+="-Dm_uint='struct _C_float_complex'"; + else export CFLAGS+="-Dm_uint='struct _C_double_complex'"; fi fi; make.exe && make.exe test; From 3ff17688eb4c3bbbfb54e68382d3586b1577c4cb Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 14:16:57 +0200 Subject: [PATCH 17/47] :wrench: Travis testing (fix windows/clan complex) --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index fcbb137ae..3d84f019e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,10 +61,10 @@ script: then make && make test; else { if [ "$CC" = "clang" ]; - then export CFLAGS+="-DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; + then export CFLAGS+=" -DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; if [ "$USE_DOUBLE" = 0 ]; - then export CFLAGS+="-Dm_uint='struct _C_float_complex'"; - else export CFLAGS+="-Dm_uint='struct _C_double_complex'"; + then export CFLAGS+=" -Dm_uint='struct _C_float_complex'"; + else export CFLAGS+=" -Dm_uint='struct _C_double_complex'"; fi fi; make.exe && make.exe test; From cfb7d7fb270e9b8e1ffbf39bccf9206819386ab7 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 14:19:50 +0200 Subject: [PATCH 18/47] :wrench: Travis testing (fix windows/clan complex) --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3d84f019e..271ad0c4c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,8 +63,8 @@ script: if [ "$CC" = "clang" ]; then export CFLAGS+=" -DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; if [ "$USE_DOUBLE" = 0 ]; - then export CFLAGS+=" -Dm_uint='struct _C_float_complex'"; - else export CFLAGS+=" -Dm_uint='struct _C_double_complex'"; + then export CFLAGS+=" -Dm_complex='struct _C_float_complex'"; + else export CFLAGS+=" -Dm_complex='struct _C_double_complex'"; fi fi; make.exe && make.exe test; From 8bdb1694ca422621525430c957451a215cfac0d4 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 14:43:20 +0200 Subject: [PATCH 19/47] :art: Update util --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index e2cb40dfd..d5fb63bec 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit e2cb40dfde5fe6200e3d14954aec316de1883136 +Subproject commit d5fb63becc750a22e10e1e12e784d61311882e9f From 491829275dc6d2532b5e684946805abf41069172 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 15:11:40 +0200 Subject: [PATCH 20/47] :wrench: Travis testing (fix windows/clan complex) --- .travis.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 271ad0c4c..9dd97aa3f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,10 +62,6 @@ script: else { if [ "$CC" = "clang" ]; then export CFLAGS+=" -DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; - if [ "$USE_DOUBLE" = 0 ]; - then export CFLAGS+=" -Dm_complex='struct _C_float_complex'"; - else export CFLAGS+=" -Dm_complex='struct _C_double_complex'"; - fi fi; make.exe && make.exe test; } From 8953d727abbfbe68ff3120625cf800283f1c7b99 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 16:52:26 +0200 Subject: [PATCH 21/47] :wrench: Travis testing (fix windows/clan complex) --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 9dd97aa3f..fb7ca6a75 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,6 +62,7 @@ script: else { if [ "$CC" = "clang" ]; then export CFLAGS+=" -DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; + export CFLAGS+=" -D"creal(a)=creal(*(struct _C_float_complex*)&a)" fi; make.exe && make.exe test; } From d74c0663239ab5a568ec5862b09c1c5faf0011dc Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 16:55:32 +0200 Subject: [PATCH 22/47] :wrench: Travis testing (fix windows/clan complex) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fb7ca6a75..05abf8d08 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,7 +62,7 @@ script: else { if [ "$CC" = "clang" ]; then export CFLAGS+=" -DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; - export CFLAGS+=" -D"creal(a)=creal(*(struct _C_float_complex*)&a)" + export CFLAGS+=" -Dcreal(a)=creal(*(struct _C_float_complex*)&a)" fi; make.exe && make.exe test; } From 7d5ebf037fdd4399111d4bbd1098c4d264418dba Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 21:43:01 +0200 Subject: [PATCH 23/47] :art: Update util --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index d5fb63bec..5f0087cd6 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit d5fb63becc750a22e10e1e12e784d61311882e9f +Subproject commit 5f0087cd6375347101d0e85ae17f81abcf43ed75 From 6f5a9278e1e7428a782dd4476fe7799e2431299b Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 21:45:35 +0200 Subject: [PATCH 24/47] :art: Update Travis --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 05abf8d08..71c97b27f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,8 +61,7 @@ script: then make && make test; else { if [ "$CC" = "clang" ]; - then export CFLAGS+=" -DSSIZE_T=ssize_t -D_USE_MATH_DEFINES"; - export CFLAGS+=" -Dcreal(a)=creal(*(struct _C_float_complex*)&a)" + then export CFLAGS+=" -D_USE_MATH_DEFINES"; fi; make.exe && make.exe test; } From 0cecedda2e8c00f97c3a5c234f611a2ab42aec7a Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 22:04:13 +0200 Subject: [PATCH 25/47] :art: Typo --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index 5f0087cd6..6076d770e 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit 5f0087cd6375347101d0e85ae17f81abcf43ed75 +Subproject commit 6076d770e30d78b2aeeaf6413706d5371308857c From 202f4d70bf03a8e9bdb6a6b5f9e129c289bfa545 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 22:21:11 +0200 Subject: [PATCH 26/47] :art: Typo --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index 6076d770e..d22b476ff 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit 6076d770e30d78b2aeeaf6413706d5371308857c +Subproject commit d22b476ff41b17a7884fc1bcecd99443653f6639 From 378824ad014f859e799958ff5c075c3a7edc303e Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 22:28:03 +0200 Subject: [PATCH 27/47] :art: CRT_SECURE_WARNINGS --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 71c97b27f..4c9705b63 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,7 +61,7 @@ script: then make && make test; else { if [ "$CC" = "clang" ]; - then export CFLAGS+=" -D_USE_MATH_DEFINES"; + then export CFLAGS+=" -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS"; fi; make.exe && make.exe test; } From 3c2adaf54a683a02ebffe7418a089283dca6a487 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 22:29:26 +0200 Subject: [PATCH 28/47] :art: CRT_SECURE_WARNINGS ++ --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index d22b476ff..e9d6130a4 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit d22b476ff41b17a7884fc1bcecd99443653f6639 +Subproject commit e9d6130a4e2453009c365e6af3bd6a5e90c57f85 From 0813385c8c7c2aaa6c1c0b0ee9a9671ff9c46d46 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 22:37:43 +0200 Subject: [PATCH 29/47] :art: CRT_SECURE_WARNINGS ++ --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4c9705b63..37a1e0e6e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,7 +61,7 @@ script: then make && make test; else { if [ "$CC" = "clang" ]; - then export CFLAGS+=" -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS"; + then export CFLAGS+=" -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -Dssize_t=SSIZE_T"; fi; make.exe && make.exe test; } From 800ee426964fedeca4a8aeddbffe8c69c1fdda01 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 22:54:15 +0200 Subject: [PATCH 30/47] :art: CRT_SECURE_WARNINGS ++ --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index e9d6130a4..d9830fa6d 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit e9d6130a4e2453009c365e6af3bd6a5e90c57f85 +Subproject commit d9830fa6d434ad6a21225914d4fbe63b321d0344 From d18ad7c288eb08c2faedc2d0245ca7836f17f755 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 23:00:00 +0200 Subject: [PATCH 31/47] :bug: Fix gack --- src/lib/gack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/gack.c b/src/lib/gack.c index 71be9ccd2..a80e1ccd4 100644 --- a/src/lib/gack.c +++ b/src/lib/gack.c @@ -53,7 +53,7 @@ static inline void print_polar(const m_complex c) { ANN static inline void print_vec(const m_bit* f, const m_uint size) { gw_out("@("); for(m_uint i = 0; i < size; i++) { - print_float(creal(*(m_float*)(f + i * SZ_FLOAT))); + print_float(*(m_float*)(f + i * SZ_FLOAT)); if(i < size - 1) gw_out(", "); } From e4f7dbac9aaab560341c41e75f62a0d0ea0c21fd Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 23:02:05 +0200 Subject: [PATCH 32/47] :bug: Windows ... --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index d9830fa6d..792433cef 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit d9830fa6d434ad6a21225914d4fbe63b321d0344 +Subproject commit 792433cef02da988bd8c0a931169d1bfd8092780 From 1077e9247e760893558aa28dab2b31c03e2e90b3 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 23:02:55 +0200 Subject: [PATCH 33/47] :bug: Windows ... ... --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index 792433cef..211d9ff60 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit 792433cef02da988bd8c0a931169d1bfd8092780 +Subproject commit 211d9ff60223d20e09461de62f1af37085bb0541 From bc9687e8e54df4e9ed8b06882d667e61c13d8213 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 23:09:58 +0200 Subject: [PATCH 34/47] :bug: Windows ... ... ... --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index 211d9ff60..edff161ee 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit 211d9ff60223d20e09461de62f1af37085bb0541 +Subproject commit edff161eeb78798b3de0c551c208aa5741519aa8 From fb68f91f152ef9b711e8c5a8be8afd46a0c3dcb0 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 23 May 2019 23:15:53 +0200 Subject: [PATCH 35/47] :bug: Windows ... ... ... ... --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index edff161ee..75b664098 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit edff161eeb78798b3de0c551c208aa5741519aa8 +Subproject commit 75b664098cb90b8961128eda516a0b942565a597 From a08a6ed5cdd0c8859edadd7b3a9ab6f796c1a450 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Fri, 24 May 2019 10:07:11 +0200 Subject: [PATCH 36/47] :shirt: Some clean --- ast | 2 +- src/emit/emit.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ast b/ast index 8072d3e77..66353d147 160000 --- a/ast +++ b/ast @@ -1 +1 @@ -Subproject commit 8072d3e7711680521b71fee4f8a9d41363a9f1ce +Subproject commit 66353d14748fdb971a9414370918edaf12cb0245 diff --git a/src/emit/emit.c b/src/emit/emit.c index b1158112d..4b9b64e7f 100644 --- a/src/emit/emit.c +++ b/src/emit/emit.c @@ -765,7 +765,7 @@ ANN m_bool traverse_dot_tmpl(const Emitter emit, const struct dottmpl_ *dt) { static inline m_bool push_func_code(const Emitter emit, const Func f) { if(GET_FLAG(f, template) && f->value_ref->owner_class) { const Instr instr = (Instr)vector_back(&emit->code->instr); - assert(instr->opcode == eDotTmplVal); + assert(instr->opcode == eDotTmplVal); size_t len = strlen(f->name); size_t sz = len - strlen(f->value_ref->owner_class->name); char c[sz + 1]; @@ -1510,7 +1510,7 @@ ANN static inline Instr get_variadic(const Emitter emit) { } ANN static void emit_vararg_end(const Emitter emit, const m_uint offset) { - const Instr instr = emit_add_instr(emit, VarargEnd), + const Instr instr = emit_add_instr(emit, VarargEnd), variadic = get_variadic(emit); instr->m_val = offset; instr->m_val2 = variadic->m_val2; From ff03639f0e8c7afa8b1d432e36681396df7825a2 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Fri, 24 May 2019 10:08:51 +0200 Subject: [PATCH 37/47] :shirt: More clean --- src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 4bae78890..af1af971d 100644 --- a/src/main.c +++ b/src/main.c @@ -31,7 +31,7 @@ int main(int argc, char** argv) { Arg arg = { .argc=argc, .argv=argv, .loop=-1 }; signal(SIGINT, sig); signal(SIGTERM, sig); - struct Gwion_ gwion = {}; + struct Gwion_ gwion = { .plug=NULL }; const m_bool ini = gwion_ini(&gwion, &arg); arg_release(&arg); if(/*setjmp(jmp) == 0 && */ini > 0) From 7ba05075ced943b4c3743c56517b4856d2255942 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Fri, 24 May 2019 10:23:14 +0200 Subject: [PATCH 38/47] :art: Improve util --- util | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util b/util index 75b664098..f2e8f3377 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit 75b664098cb90b8961128eda516a0b942565a597 +Subproject commit f2e8f337708be41cac47fb85862766b801d1bda6 From 9c1c1375e34f1511d460a7bf1baa25cc8c0a59ba Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Fri, 24 May 2019 11:23:26 +0200 Subject: [PATCH 39/47] :art: Change template def definition --- ast | 2 +- examples/binary_tmpl.gw | 2 +- examples/class_func_pointer.gw | 8 +++--- examples/class_spork_func.gw | 2 +- examples/func.gw | 4 +-- examples/func_pointer.gw | 4 +-- examples/func_ptr.gw | 14 ++++----- examples/in_class_class.gw | 2 +- examples/member.gw | 14 ++++----- examples/member_func.gw | 4 +-- examples/ptr_assign_class.gw | 2 +- examples/sinosc_extend.gw | 2 +- examples/spork_func.gw | 2 +- examples/static.gw | 14 ++++----- examples/switch.gw | 2 +- examples/template.gw | 4 +-- examples/template_dyn.gw | 10 +++---- examples/template_guess.gw | 2 +- examples/template_vararg.gw | 2 +- tests/bug/Tester.gw | 4 +-- tests/bug/class_doc.gw | 4 +-- tests/bug/template_no_guess.gw | 2 +- tests/error/arg_prim_ref.gw | 2 +- tests/error/arg_res.gw | 2 +- tests/error/conflict_super.gw | 2 +- tests/error/func_arg_array_empty.gw | 2 +- tests/error/func_arg_defined.gw | 2 +- tests/error/func_arg_unknown.gw | 2 +- tests/error/func_code_error.gw | 2 +- tests/error/func_error_scan2.gw | 2 +- tests/error/func_no_match.gw | 6 ++-- tests/error/func_ret_array_empty.gw | 2 +- tests/error/func_unknown_ret.gw | 2 +- tests/error/function_arg_no_size.gw | 2 +- tests/error/function_nested.gw | 4 +-- tests/error/function_ret_ref_prim.gw | 2 +- tests/error/function_used.gw | 2 +- tests/error/global_func_already_defined.gw | 4 +-- tests/error/invalid_return.gw | 2 +- tests/error/name_conflict.gw | 2 +- tests/error/override_confict.gw | 2 +- tests/error/override_static.gw | 2 +- tests/error/override_static2.gw | 2 +- tests/error/pointer_outside_class.gw | 2 +- tests/error/pointer_unknown.gw | 2 +- tests/error/ptr_assign_global.gw | 2 +- tests/error/ptr_assign_member.gw | 2 +- tests/error/ptr_assign_other.gw | 2 +- tests/error/ptr_no_match.gw | 4 +-- tests/error/template_enough.gw | 2 +- tests/error/template_n_mismatch.gw | 4 +-- tests/error/template_no_match.gw | 4 +-- tests/error/template_ternary.gw | 2 +- tests/error/template_unknown.gw | 2 +- tests/error/type_path_test.gw | 2 +- tests/import/core.10177 | Bin 0 -> 2641920 bytes tests/import/core.22575 | Bin 0 -> 2641920 bytes tests/import/core.4309 | Bin 0 -> 2641920 bytes tests/import/variadic.gw | 2 +- tests/new/spork_in_func.gw | 2 +- tests/tree/arg_array.gw | 2 +- tests/tree/array_test.gw | 2 +- tests/tree/assign_member_ptr.gw | 2 +- tests/tree/balance.gw | 32 ++++++++++----------- tests/tree/class_template.gw | 2 +- tests/tree/f2i_cast.gw | 2 +- tests/tree/func_extend_error.gw | 2 +- tests/tree/func_ret_void.gw | 2 +- tests/tree/func_return_coverage.gw | 6 ++-- tests/tree/func_sig_differ.gw | 4 +-- tests/tree/member_op.gw | 2 +- tests/tree/object_func.gw | 2 +- tests/tree/ptr_decl_assign.gw | 2 +- tests/tree/ptr_test.gw | 2 +- tests/tree/push_mem.gw | 2 +- tests/tree/return_void.gw | 4 +-- tests/tree/spork_arg.gw | 2 +- tests/tree/spork_in_func.gw | 2 +- tests/tree/spork_member.gw | 2 +- tests/tree/this.gw | 2 +- tests/tree/this_valid.gw | 2 +- tests/tree/uncalled_functions.gw | 2 +- 82 files changed, 136 insertions(+), 136 deletions(-) create mode 100644 tests/import/core.10177 create mode 100644 tests/import/core.22575 create mode 100644 tests/import/core.4309 diff --git a/ast b/ast index 66353d147..9c066c017 160000 --- a/ast +++ b/ast @@ -1 +1 @@ -Subproject commit 66353d14748fdb971a9414370918edaf12cb0245 +Subproject commit 9c066c017f339b4a00b0cd1beda732bd49194aaa diff --git a/examples/binary_tmpl.gw b/examples/binary_tmpl.gw index 34b11cc1c..9b2a9107a 100644 --- a/examples/binary_tmpl.gw +++ b/examples/binary_tmpl.gw @@ -1,4 +1,4 @@ -fun<~A~> void test(A a) { <<>>; } +fun void test<~A~>(A a) { <<>>; } 1 => test; 1.3 => test; test(1); diff --git a/examples/class_func_pointer.gw b/examples/class_func_pointer.gw index 5e79ffb4b..937ba7ea1 100644 --- a/examples/class_func_pointer.gw +++ b/examples/class_func_pointer.gw @@ -1,13 +1,13 @@ -function void test() { <<<"member function.">>>; } +fun void test() { <<<"member function.">>>; } class C { typedef void func_t(); // typedef static void s_func_t(); func_t func_p; // static fun c_t s_func_p; // static s_func_t s_ptr; - function void test() { <<<"member function.">>>; } - function void test2() { <<<"member function variant.">>>; } -// fun static void s_test() { <<<"member function.">>>; } + fun void test() { <<<"member function.">>>; } + fun void test2() { <<<"member function variant.">>>; } +// fun static void s_test() { <<<"member fun.">>>; } // test @=> func_p; // test @=> s_ptr; diff --git a/examples/class_spork_func.gw b/examples/class_spork_func.gw index e375e598a..180fd4f18 100644 --- a/examples/class_spork_func.gw +++ b/examples/class_spork_func.gw @@ -1,6 +1,6 @@ class C { - function void test() { + fun void test() { <<<"here">>>; samp => now; <<<"and now">>>; diff --git a/examples/func.gw b/examples/func.gw index d8b70aa23..74f319f13 100644 --- a/examples/func.gw +++ b/examples/func.gw @@ -1,4 +1,4 @@ -function float testf(){ return 1.1; } -function float testf(float f){ return f; } +fun float testf(){ return 1.1; } +fun float testf(float f){ return f; } <<>>; <<>>; diff --git a/examples/func_pointer.gw b/examples/func_pointer.gw index 49600abc6..6eb9d8f55 100644 --- a/examples/func_pointer.gw +++ b/examples/func_pointer.gw @@ -1,7 +1,7 @@ typedef void func_t(); func_t func_p; -function void test1() { <<<"test1">>>; } -function void test2() { <<<"test2">>>; } +fun void test1() { <<<"test1">>>; } +fun void test2() { <<<"test2">>>; } test1 @=> func_p; func_p(); func_p(); diff --git a/examples/func_ptr.gw b/examples/func_ptr.gw index a98de761d..c0cb1da26 100644 --- a/examples/func_ptr.gw +++ b/examples/func_ptr.gw @@ -1,15 +1,15 @@ -// define a function pointer type +// define a fun pointer type typedef void Test() -// define a few functions -function void test1(){ <<<"test">>>; }; -function void test2(){ <<<"another test">>>; }; -function void test3(){ <<<"yet another test">>>; }; +// define a few funs +fun void test1(){ <<<"test">>>; }; +fun void test2(){ <<<"another test">>>; }; +fun void test3(){ <<<"yet another test">>>; }; -// create a function pointer instance +// create a fun pointer instance Test test; -// assign it a function +// assign it a fun test1 @=> test; // test it test(); diff --git a/examples/in_class_class.gw b/examples/in_class_class.gw index 3ef4deee7..724b12964 100644 --- a/examples/in_class_class.gw +++ b/examples/in_class_class.gw @@ -1,5 +1,5 @@ class C { - function<~a~> void test(a var){ <<>>; } + fun void test<~a~>(a var){ <<>>; } class D { int i;} } diff --git a/examples/member.gw b/examples/member.gw index 8759dd050..f4be65650 100644 --- a/examples/member.gw +++ b/examples/member.gw @@ -7,19 +7,19 @@ class C Vec4 w; Object o; - function int m_i() { return i; } - function float m_f() { return f; } - function complex m_c() { return c; } - function Vec3 m_v() { return v; } - function Vec4 m_w() { return w; } - function Object m_o() { return o; } + fun int m_i() { return i; } + fun float m_f() { return f; } + fun complex m_c() { return c; } + fun Vec3 m_v() { return v; } + fun Vec4 m_w() { return w; } + fun Object m_o() { return o; } } C c; // read members <<< c.i, c.c, c.f, c.v, c.w, c.o >>>; -// call function members +// call fun members <<< c.m_i(), " ", c.m_f(), " ", c.m_c(), " ", c.m_v(), " ", c.m_w(), " ", c.m_o()>>>; diff --git a/examples/member_func.gw b/examples/member_func.gw index 05742d145..b56ed704e 100644 --- a/examples/member_func.gw +++ b/examples/member_func.gw @@ -1,9 +1,9 @@ class C { - function float testf() { + fun float testf() { return 1.1; } - function float testf(float f) { + fun float testf(float f) { return f; } } diff --git a/examples/ptr_assign_class.gw b/examples/ptr_assign_class.gw index 05a6f23c7..b49465fad 100644 --- a/examples/ptr_assign_class.gw +++ b/examples/ptr_assign_class.gw @@ -1,7 +1,7 @@ class C { typedef void Test(); - function void test1(){}; + fun void test1(){}; Test test0; << test0>>>; } diff --git a/examples/sinosc_extend.gw b/examples/sinosc_extend.gw index 3a4aa80f7..8c7f7aebf 100644 --- a/examples/sinosc_extend.gw +++ b/examples/sinosc_extend.gw @@ -1,6 +1,6 @@ class Sine extends SinOsc { - function float freq(float f) { (2 * f) => (this $ SinOsc).freq; } + fun float freq(float f) { (2 * f) => (this $ SinOsc).freq; } } Sine s => dac; diff --git a/examples/spork_func.gw b/examples/spork_func.gw index 14252342e..ed40d747d 100644 --- a/examples/spork_func.gw +++ b/examples/spork_func.gw @@ -1,6 +1,6 @@ class C { - function void test(int i) { + fun void test(int i) { <<<"here => ", i>>>; samp => now; <<<"and now">>>; diff --git a/examples/static.gw b/examples/static.gw index 6877968dc..a1fec3bb0 100644 --- a/examples/static.gw +++ b/examples/static.gw @@ -7,12 +7,12 @@ class C static Vec4 w; static Object o; - function int m_i() { return i; } - function float m_f() { return f; } - function complex m_c() { return c; } - function Vec3 m_v() { return v; } - function Vec4 m_w() { return w; } - function Object m_o() { return o; } + fun int m_i() { return i; } + fun float m_f() { return f; } + fun complex m_c() { return c; } + fun Vec3 m_v() { return v; } + fun Vec4 m_w() { return w; } + fun Object m_o() { return o; } fun static int _i() { return i; } fun static float _f() { return f; } @@ -25,7 +25,7 @@ class C // read members <<< C.i, C.c, C.f, C.v, C.w, C.o >>>; -// call function members +// call fun members <<< C._i(), " ", C._f(), " ", C._c(), " ", C._v(), " ", C._w(), " ", C._o()>>>; // write members diff --git a/examples/switch.gw b/examples/switch.gw index 9b576f356..c34fb47d5 100644 --- a/examples/switch.gw +++ b/examples/switch.gw @@ -1,6 +1,6 @@ int i; -function void test(int i) { +fun void test(int i) { switch(i) { case 1: <<<"'i' is 1">>>; diff --git a/examples/template.gw b/examples/template.gw index d4d2dfc48..32323111a 100644 --- a/examples/template.gw +++ b/examples/template.gw @@ -1,4 +1,4 @@ -function<~A~> void test (A var){ <<< var>>>; } -function<~A,B~> void test (A var, B var2){ <<< var>>>; } +fun void test<~A~> (A var){ <<< var>>>; } +fun void test<~A,B~> (A var, B var2){ <<< var>>>; } test<~int~>(1); test<~float, float~>(3, 1.4); diff --git a/examples/template_dyn.gw b/examples/template_dyn.gw index 793907a52..aa64a7174 100644 --- a/examples/template_dyn.gw +++ b/examples/template_dyn.gw @@ -4,15 +4,15 @@ fun void test(C cc, int i) { <<<1>>>; <<>>; } class C { - fun<~A~> int test(A a) { <<<" A ", a>>>; } - fun<~A~> int test(A a, int i) { <<<" ", a >>>; } - fun<~A~> int test(A a, int i, int j) { <<>>; } + fun int test<~A~>(A a) { <<<" A ", a>>>; } + fun int test<~A~>(A a, int i) { <<<" ", a >>>; } + fun int test<~A~>(A a, int i, int j) { <<>>; } } class D extends C { - fun<~A~> int test(A a, int i) { <<>>; } + fun int test<~A~>(A a, int i) { <<>>; } } class E extends D { - fun<~A~> int test(A a, int i) { <<>>; } + fun int test<~A~>(A a, int i) { <<>>; } } diff --git a/examples/template_guess.gw b/examples/template_guess.gw index 26dadbcb5..40202949e 100644 --- a/examples/template_guess.gw +++ b/examples/template_guess.gw @@ -1,4 +1,4 @@ -function <~A,B~> void test(A a, B b){<<>>;} +fun void test<~A,B~>(A a, B b){<<>>;} test(1, 2.1); test(1.1, 2.1); test(1.2, 2); diff --git a/examples/template_vararg.gw b/examples/template_vararg.gw index 77ad4f945..d2d52b6fb 100644 --- a/examples/template_vararg.gw +++ b/examples/template_vararg.gw @@ -1,4 +1,4 @@ -fun<~A~> void test(...) { +fun void test<~A~>(...) { vararg.start; <<>>; vararg.end; diff --git a/tests/bug/Tester.gw b/tests/bug/Tester.gw index 73a675d78..d7a633dc4 100644 --- a/tests/bug/Tester.gw +++ b/tests/bug/Tester.gw @@ -1,7 +1,7 @@ class Tester { - function<~A~> int assert_equal(string description, A a, A b){ if(a == b) return 0; return 1; } - function<~A~> int assert_not_equal(string description, A a, A b){ if(a != b) return 0; return 1; } + fun int assert<~A~>_equal(string description, A a, A b){ if(a == b) return 0; return 1; } + fun int assert<~A~>_not_equal(string description, A a, A b){ if(a != b) return 0; return 1; } } Tester t; diff --git a/tests/bug/class_doc.gw b/tests/bug/class_doc.gw index 17d094a6b..c20e5b00a 100644 --- a/tests/bug/class_doc.gw +++ b/tests/bug/class_doc.gw @@ -3,8 +3,8 @@ class C { //! has an int int i; - //! a function - function void test() {} + //! a fun + fun void test() {} //! operator operator => void(C c, C d){ <<>>; diff --git a/tests/bug/template_no_guess.gw b/tests/bug/template_no_guess.gw index c160b6f28..822f852e8 100644 --- a/tests/bug/template_no_guess.gw +++ b/tests/bug/template_no_guess.gw @@ -1,2 +1,2 @@ -function void test(){} +fun void test(){} test([1], 2.3); diff --git a/tests/error/arg_prim_ref.gw b/tests/error/arg_prim_ref.gw index cd27414d3..2e78acc6e 100644 --- a/tests/error/arg_prim_ref.gw +++ b/tests/error/arg_prim_ref.gw @@ -1,2 +1,2 @@ // [contains] primitive types cannot be used as reference -function void test(int @i){} +fun void test(int @i){} diff --git a/tests/error/arg_res.gw b/tests/error/arg_res.gw index b3aee8e46..a94baa562 100644 --- a/tests/error/arg_res.gw +++ b/tests/error/arg_res.gw @@ -1,2 +1,2 @@ // [contains] this is reserved -function void test(int this){} +fun void test(int this){} diff --git a/tests/error/conflict_super.gw b/tests/error/conflict_super.gw index da190c9c9..c9fbeecb7 100644 --- a/tests/error/conflict_super.gw +++ b/tests/error/conflict_super.gw @@ -3,5 +3,5 @@ class C { int test; } class D extends C { - function void test(){} + fun void test(){} } diff --git a/tests/error/func_arg_array_empty.gw b/tests/error/func_arg_array_empty.gw index a15fd2328..70d28d36d 100644 --- a/tests/error/func_arg_array_empty.gw +++ b/tests/error/func_arg_array_empty.gw @@ -1,2 +1,2 @@ // [contains] must be defined with empty -function int[] my_func(int i[2]){} +fun int[] my_func(int i[2]){} diff --git a/tests/error/func_arg_defined.gw b/tests/error/func_arg_defined.gw index 8aebbb25f..3b5fbf85a 100644 --- a/tests/error/func_arg_defined.gw +++ b/tests/error/func_arg_defined.gw @@ -1,2 +1,2 @@ // [contains] already declared -function void test(int i, int i){} +fun void test(int i, int i){} diff --git a/tests/error/func_arg_unknown.gw b/tests/error/func_arg_unknown.gw index cc803901d..c64c738e5 100644 --- a/tests/error/func_arg_unknown.gw +++ b/tests/error/func_arg_unknown.gw @@ -1,2 +1,2 @@ // [contains] unknown type - function void my_func(unknown_type unknown_arg){} + fun void my_func(unknown_type unknown_arg){} diff --git a/tests/error/func_code_error.gw b/tests/error/func_code_error.gw index 81c1df2e3..cb6a91aa0 100644 --- a/tests/error/func_code_error.gw +++ b/tests/error/func_code_error.gw @@ -1,2 +1,2 @@ // [contains] in function: -function void test() { <<>>; } +fun void test() { <<>>; } diff --git a/tests/error/func_error_scan2.gw b/tests/error/func_error_scan2.gw index 1ff25d4b9..5909dd8b8 100644 --- a/tests/error/func_error_scan2.gw +++ b/tests/error/func_error_scan2.gw @@ -1,2 +1,2 @@ // [contains] unknown type -function void test() { skfuv sd; } +fun void test() { skfuv sd; } diff --git a/tests/error/func_no_match.gw b/tests/error/func_no_match.gw index ca53f52e0..b59e3c4b0 100644 --- a/tests/error/func_no_match.gw +++ b/tests/error/func_no_match.gw @@ -1,4 +1,4 @@ -// [contains] argument type(s) do not match for function -function void test(){} -function void test(int i[], int j[]){} +// [contains] argument type(s) do not match for fun +fun void test(){} +fun void test(int i[], int j[]){} test(1,2); diff --git a/tests/error/func_ret_array_empty.gw b/tests/error/func_ret_array_empty.gw index e45efd3bc..7ff64da71 100644 --- a/tests/error/func_ret_array_empty.gw +++ b/tests/error/func_ret_array_empty.gw @@ -1,2 +1,2 @@ // [contains] must be defined with empty - function int[1] my_func(int i[]){} + fun int[1] my_func(int i[]){} diff --git a/tests/error/func_unknown_ret.gw b/tests/error/func_unknown_ret.gw index ee15a0eb0..70fc88b69 100644 --- a/tests/error/func_unknown_ret.gw +++ b/tests/error/func_unknown_ret.gw @@ -1,2 +1,2 @@ // [contains] unknown type - function unknwon_type my_function(){} + fun unknwon_type my_function(){} diff --git a/tests/error/function_arg_no_size.gw b/tests/error/function_arg_no_size.gw index a85b12beb..daca37ab1 100644 --- a/tests/error/function_arg_no_size.gw +++ b/tests/error/function_arg_no_size.gw @@ -1,2 +1,2 @@ // [contains] cannot declare variables of size - function void test(void v){} + fun void test(void v){} diff --git a/tests/error/function_nested.gw b/tests/error/function_nested.gw index 96176466f..4c7f35aa7 100644 --- a/tests/error/function_nested.gw +++ b/tests/error/function_nested.gw @@ -1,5 +1,5 @@ // [contains] - function void test() + fun void test() { - function void nested(){} + fun void nested(){} } diff --git a/tests/error/function_ret_ref_prim.gw b/tests/error/function_ret_ref_prim.gw index 1b5d56d1a..df1013573 100644 --- a/tests/error/function_ret_ref_prim.gw +++ b/tests/error/function_ret_ref_prim.gw @@ -1,2 +1,2 @@ // [contains] primitive types cannot be used as reference -function int@ test(){} +fun int@ test(){} diff --git a/tests/error/function_used.gw b/tests/error/function_used.gw index bae0d6b92..9e2e417eb 100644 --- a/tests/error/function_used.gw +++ b/tests/error/function_used.gw @@ -1,3 +1,3 @@ // [contains] is already used by another value int i; -function void i(){} +fun void i(){} diff --git a/tests/error/global_func_already_defined.gw b/tests/error/global_func_already_defined.gw index 8c865c6db..7678ce188 100644 --- a/tests/error/global_func_already_defined.gw +++ b/tests/error/global_func_already_defined.gw @@ -1,3 +1,3 @@ // [contains] global function 'test' already defined for those arguments -function void test(){} -function void test(){} +fun void test(){} +fun void test(){} diff --git a/tests/error/invalid_return.gw b/tests/error/invalid_return.gw index 0a05d8f30..03ebbf66d 100644 --- a/tests/error/invalid_return.gw +++ b/tests/error/invalid_return.gw @@ -1,2 +1,2 @@ // [contains] invalid return type -function void test() { return 1; } +fun void test() { return 1; } diff --git a/tests/error/name_conflict.gw b/tests/error/name_conflict.gw index f6726bbd7..48a252fe4 100644 --- a/tests/error/name_conflict.gw +++ b/tests/error/name_conflict.gw @@ -4,5 +4,5 @@ class C { } class D extends C { - function int test() {} + fun int test() {} } diff --git a/tests/error/override_confict.gw b/tests/error/override_confict.gw index f1f8b1d8a..0f05c7146 100644 --- a/tests/error/override_confict.gw +++ b/tests/error/override_confict.gw @@ -6,7 +6,7 @@ class C class D extends C { - function void test() {} + fun void test() {} } C c; diff --git a/tests/error/override_static.gw b/tests/error/override_static.gw index a14b2fb7c..47fa35f09 100644 --- a/tests/error/override_static.gw +++ b/tests/error/override_static.gw @@ -6,5 +6,5 @@ class C class D extends C { - function void test() {} + fun void test() {} } diff --git a/tests/error/override_static2.gw b/tests/error/override_static2.gw index 6127e2436..4b326b83c 100644 --- a/tests/error/override_static2.gw +++ b/tests/error/override_static2.gw @@ -1,7 +1,7 @@ // [contains] but cannot override class C { - function void test() {} + fun void test() {} } class D extends C diff --git a/tests/error/pointer_outside_class.gw b/tests/error/pointer_outside_class.gw index e957a4431..51c099c8b 100644 --- a/tests/error/pointer_outside_class.gw +++ b/tests/error/pointer_outside_class.gw @@ -1,2 +1,2 @@ // [contains] can only be used at class scope -typedef static void my_function(){} +typedef static void my_fun(){} diff --git a/tests/error/pointer_unknown.gw b/tests/error/pointer_unknown.gw index 7d54e1049..d53fc486c 100644 --- a/tests/error/pointer_unknown.gw +++ b/tests/error/pointer_unknown.gw @@ -1,2 +1,2 @@ // [contains] unknown type - typedef unknown_type my_function(){} + typedef unknown_type my_fun(){} diff --git a/tests/error/ptr_assign_global.gw b/tests/error/ptr_assign_global.gw index 9ba840d94..17038c96e 100644 --- a/tests/error/ptr_assign_global.gw +++ b/tests/error/ptr_assign_global.gw @@ -4,6 +4,6 @@ class C { Test test; } -function void test(){} +fun void test(){} C c; test @=> c.test; diff --git a/tests/error/ptr_assign_member.gw b/tests/error/ptr_assign_member.gw index 47212ef74..fa68cf449 100644 --- a/tests/error/ptr_assign_member.gw +++ b/tests/error/ptr_assign_member.gw @@ -2,7 +2,7 @@ typedef void Test(); Test test; class D { - function void test(){} + fun void test(){} } D d; diff --git a/tests/error/ptr_assign_other.gw b/tests/error/ptr_assign_other.gw index 51560b6a4..cdbf537d8 100644 --- a/tests/error/ptr_assign_other.gw +++ b/tests/error/ptr_assign_other.gw @@ -5,7 +5,7 @@ class C { } class D { - function void test(){} + fun void test(){} } C c; diff --git a/tests/error/ptr_no_match.gw b/tests/error/ptr_no_match.gw index 10ca6d1cd..0dc5b75d4 100644 --- a/tests/error/ptr_no_match.gw +++ b/tests/error/ptr_no_match.gw @@ -1,6 +1,6 @@ // [contains] no match found -function void test(int i){} -function void test(float f){} +fun void test(int i){} +fun void test(float f){} typedef void Test(); Test t; diff --git a/tests/error/template_enough.gw b/tests/error/template_enough.gw index 6261d0840..af3391acd 100644 --- a/tests/error/template_enough.gw +++ b/tests/error/template_enough.gw @@ -1,3 +1,3 @@ // [contains] -function<~A,B~> void test(){} +fun void test<~A,B~>(){} test(); diff --git a/tests/error/template_n_mismatch.gw b/tests/error/template_n_mismatch.gw index a5892457e..c912840ce 100644 --- a/tests/error/template_n_mismatch.gw +++ b/tests/error/template_n_mismatch.gw @@ -1,6 +1,6 @@ // [contains] arguments do not match for template call -function<~A~> void test(){ <<<"func">>>;} -function<~A~> void test(int i){<<<"other func">>>;} +fun void test<~A~>(){ <<<"func">>>;} +fun void test<~A~>(int i){<<<"other func">>>;} test<~int, float, int~>(); //test<~int~>(); diff --git a/tests/error/template_no_match.gw b/tests/error/template_no_match.gw index 08586135c..0868e24a8 100644 --- a/tests/error/template_no_match.gw +++ b/tests/error/template_no_match.gw @@ -1,7 +1,7 @@ // [contains] arguments do not match for template call class C { - function<~A~> void test(float f) {} - function<~A~> void test() {} + fun void test<~A~>(float f) {} + fun void test<~A~>() {} } C c; //c.test<~int~>(); diff --git a/tests/error/template_ternary.gw b/tests/error/template_ternary.gw index 86318b6ad..6b99bf58c 100644 --- a/tests/error/template_ternary.gw +++ b/tests/error/template_ternary.gw @@ -1,4 +1,4 @@ // [contains] invalid expression for function call -function<~A~> void test(A a){} +fun void test<~A~>(A a){} (maybe ? test : test)(1); diff --git a/tests/error/template_unknown.gw b/tests/error/template_unknown.gw index 503d7a3e1..85e15132f 100644 --- a/tests/error/template_unknown.gw +++ b/tests/error/template_unknown.gw @@ -1,4 +1,4 @@ // [contains] unknown type -function<~A~> void my_function() { <<<"test">>>; } +fun void my_function<~A~>() { <<<"test">>>; } my_function<~unknown_type~>(); diff --git a/tests/error/type_path_test.gw b/tests/error/type_path_test.gw index c604e5d77..1e255e092 100644 --- a/tests/error/type_path_test.gw +++ b/tests/error/type_path_test.gw @@ -1,2 +1,2 @@ // [contains] unknown type -function void test(B->C a){} +fun void test(B->C a){} diff --git a/tests/import/core.10177 b/tests/import/core.10177 new file mode 100644 index 0000000000000000000000000000000000000000..7bddbb311d04c1047c2b0666dd490de949f963b9 GIT binary patch literal 2641920 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
VK3CBC;CUkcREZ*=0iS$^Nt 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 z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C=Lf{_VPdwSrD{guBQ(yVQPNzRC=@Z{t((dNFPEH?8Oa1}3m;7aym3*&L z(zd}4x9@&_TU<_m#shxmWc!(KOGks%%C*ItPJjRb0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U 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 zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ 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

BNatyK$IeVGt+vf=;AiIz)$R6Z0#``{G2eN&> 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 zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U 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

4(or(OCz63_iE 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 PlvY2N8d(r{PYC=Uchbul literal 0 HcmV?d00001 diff --git a/tests/import/variadic.gw b/tests/import/variadic.gw index c315163f2..fe54f6f1c 100644 --- a/tests/import/variadic.gw +++ b/tests/import/variadic.gw @@ -1,4 +1,4 @@ -<<<"test builtin variadic function">>>; +<<<"test builtin variadic fun">>>; Variadic v; "iiii" => string format; <<>>; diff --git a/tests/new/spork_in_func.gw b/tests/new/spork_in_func.gw index a6835f18f..e5bfe2562 100644 --- a/tests/new/spork_in_func.gw +++ b/tests/new/spork_in_func.gw @@ -1,4 +1,4 @@ -function void test() { +fun void test() { // <<<1>>>; //spork \{<<<2>>>;}(); } diff --git a/tests/tree/arg_array.gw b/tests/tree/arg_array.gw index b4aa8c6a0..b834990f9 100644 --- a/tests/tree/arg_array.gw +++ b/tests/tree/arg_array.gw @@ -1 +1 @@ -function void test(int i[]){} +fun void test(int i[]){} diff --git a/tests/tree/array_test.gw b/tests/tree/array_test.gw index c17c86052..82abecbcf 100644 --- a/tests/tree/array_test.gw +++ b/tests/tree/array_test.gw @@ -1,4 +1,4 @@ -function void print_array(int a[]){ +fun void print_array(int a[]){ for(int i; i < a.size(); i++) <<>>; } diff --git a/tests/tree/assign_member_ptr.gw b/tests/tree/assign_member_ptr.gw index 00f3144b1..2da5caa07 100644 --- a/tests/tree/assign_member_ptr.gw +++ b/tests/tree/assign_member_ptr.gw @@ -2,7 +2,7 @@ class C { typedef void Test(); Test test; - function void func(){} + fun void func(){} } C c; c.func @=> c.test; diff --git a/tests/tree/balance.gw b/tests/tree/balance.gw index 49f997714..50c654793 100644 --- a/tests/tree/balance.gw +++ b/tests/tree/balance.gw @@ -1,13 +1,13 @@ -function float test() {} -function float test(int i) {} -function float test(float f) {} -function float test(complex c) {} -function float test(Vec3 v) {} -function float test(Vec4 w) {} - -function complex ctest(){} -function Vec3 vtest(){} -function Vec4 wtest(){} +fun float test() {} +fun float test(int i) {} +fun float test(float f) {} +fun float test(complex c) {} +fun float test(Vec3 v) {} +fun float test(Vec4 w) {} + +fun complex ctest(){} +fun Vec3 vtest(){} +fun Vec4 wtest(){} ctest(); vtest(); wtest(); @@ -31,12 +31,12 @@ test(@(1.2, 2.3, 3.4, 4.5)); class C { - function float test() {} - function float test(int i) {} - function float test(float f) {} - function float test(complex c) {} - function float test(Vec3 v) {} - function float test(Vec4 w) {} + fun float test() {} + fun float test(int i) {} + fun float test(float f) {} + fun float test(complex c) {} + fun float test(Vec3 v) {} + fun float test(Vec4 w) {} fun static float s_test() {} fun static float s_test(int i) {} diff --git a/tests/tree/class_template.gw b/tests/tree/class_template.gw index fc23b0294..ed4694266 100644 --- a/tests/tree/class_template.gw +++ b/tests/tree/class_template.gw @@ -4,7 +4,7 @@ class<~A,B~> C { fun A test() { <<<"lol">>>; } - fun<~C~> void test2(C c) { + fun void test2<~C~>(C c) { <<>>; } } diff --git a/tests/tree/f2i_cast.gw b/tests/tree/f2i_cast.gw index b6cfc7cc6..ddb179e47 100644 --- a/tests/tree/f2i_cast.gw +++ b/tests/tree/f2i_cast.gw @@ -1,5 +1,5 @@ <<<"test">>>; <<< 2.3 $ int >>>; 1 => float f; -function void test(float f){} +fun void test(float f){} 1 => test; diff --git a/tests/tree/func_extend_error.gw b/tests/tree/func_extend_error.gw index 18d01393d..dd39ee3b3 100644 --- a/tests/tree/func_extend_error.gw +++ b/tests/tree/func_extend_error.gw @@ -1,6 +1,6 @@ class Sine extends SinOsc { - function int freq(float f) { + fun int freq(float f) { (2 * f) => (this $ SinOsc).freq; } } diff --git a/tests/tree/func_ret_void.gw b/tests/tree/func_ret_void.gw index 25531a97f..88eb7a5d5 100644 --- a/tests/tree/func_ret_void.gw +++ b/tests/tree/func_ret_void.gw @@ -1,2 +1,2 @@ -function void test() { <<<"test">>>; return; <<<"this won't print. ever.">>>; } +fun void test() { <<<"test">>>; return; <<<"this won't print. ever.">>>; } test(); diff --git a/tests/tree/func_return_coverage.gw b/tests/tree/func_return_coverage.gw index 5886e7481..490211fed 100644 --- a/tests/tree/func_return_coverage.gw +++ b/tests/tree/func_return_coverage.gw @@ -1,6 +1,6 @@ -function complex testc() {}; -function Vec3 testv3() {}; -function Vec4 testv4() {}; +fun complex testc() {}; +fun Vec3 testv3() {}; +fun Vec4 testv4() {}; testc(); testv3(); testv4(); diff --git a/tests/tree/func_sig_differ.gw b/tests/tree/func_sig_differ.gw index 595c36348..607fddf79 100644 --- a/tests/tree/func_sig_differ.gw +++ b/tests/tree/func_sig_differ.gw @@ -1,4 +1,4 @@ -function void test(int i){} -function int test(){} +fun void test(int i){} +fun int test(){} <<>>; <<>>; diff --git a/tests/tree/member_op.gw b/tests/tree/member_op.gw index 2c9da3717..27ab7e607 100644 --- a/tests/tree/member_op.gw +++ b/tests/tree/member_op.gw @@ -2,7 +2,7 @@ class C { operator => void(C c, int i){<<>>;} // this => this; -//function void test_op(C c){ this => c; } +//fun void test_op(C c){ this => c; } this => int i; } C c; diff --git a/tests/tree/object_func.gw b/tests/tree/object_func.gw index 9a0ac9340..ab3df0375 100644 --- a/tests/tree/object_func.gw +++ b/tests/tree/object_func.gw @@ -1,2 +1,2 @@ -function Object test(){ Object o; <<>>; return new Object; } +fun Object test(){ Object o; <<>>; return new Object; } test(); diff --git a/tests/tree/ptr_decl_assign.gw b/tests/tree/ptr_decl_assign.gw index 7c511541d..6edb9197d 100644 --- a/tests/tree/ptr_decl_assign.gw +++ b/tests/tree/ptr_decl_assign.gw @@ -1,4 +1,4 @@ typedef void Test(); -function void t(){<<<"lol">>>;} +fun void t(){<<<"lol">>>;} t @=> Test test; test(); diff --git a/tests/tree/ptr_test.gw b/tests/tree/ptr_test.gw index 642a35ab2..e44119a47 100644 --- a/tests/tree/ptr_test.gw +++ b/tests/tree/ptr_test.gw @@ -1,4 +1,4 @@ typedef void Test(); -function void t0(){} +fun void t0(){} t0 @=> Test test; test(); diff --git a/tests/tree/push_mem.gw b/tests/tree/push_mem.gw index 05d0e0b35..85b3961bc 100644 --- a/tests/tree/push_mem.gw +++ b/tests/tree/push_mem.gw @@ -1,2 +1,2 @@ -function void test() { complex c; c; Vec3 v; v; Vec4 w; w; } +fun void test() { complex c; c; Vec3 v; v; Vec4 w; w; } test(); diff --git a/tests/tree/return_void.gw b/tests/tree/return_void.gw index 441273387..d23fe4442 100644 --- a/tests/tree/return_void.gw +++ b/tests/tree/return_void.gw @@ -1,7 +1,7 @@ // define a simple variable: 'i'. int i; -// define a functions that returns 1 if 'i' is non zero, and 0 othervise. -function int test() { return i ? 1 : 0; } +// define a funs that returns 1 if 'i' is non zero, and 0 othervise. +fun int test() { return i ? 1 : 0; } <<>>; 1 => i; <<>>; diff --git a/tests/tree/spork_arg.gw b/tests/tree/spork_arg.gw index bdbae8fd8..8ffaa84eb 100644 --- a/tests/tree/spork_arg.gw +++ b/tests/tree/spork_arg.gw @@ -1,2 +1,2 @@ -function void test(int i, int j){} +fun void test(int i, int j){} spork test(1,2); diff --git a/tests/tree/spork_in_func.gw b/tests/tree/spork_in_func.gw index 250380d2e..72b710826 100644 --- a/tests/tree/spork_in_func.gw +++ b/tests/tree/spork_in_func.gw @@ -1,4 +1,4 @@ -function void test() { +fun void test() { spork { <<<2>>>; }; } //spork { <<<1>>>; }; diff --git a/tests/tree/spork_member.gw b/tests/tree/spork_member.gw index 29c2e97f6..192ba5db3 100644 --- a/tests/tree/spork_member.gw +++ b/tests/tree/spork_member.gw @@ -1,6 +1,6 @@ class C { - function void test(int i){ + fun void test(int i){ <<>>; spork { <<<"test2">>>; diff --git a/tests/tree/this.gw b/tests/tree/this.gw index a741751a7..890fa20d8 100644 --- a/tests/tree/this.gw +++ b/tests/tree/this.gw @@ -1,6 +1,6 @@ class C { - function C test() { + fun C test() { return this; } } diff --git a/tests/tree/this_valid.gw b/tests/tree/this_valid.gw index aebba4f3e..a526f2204 100644 --- a/tests/tree/this_valid.gw +++ b/tests/tree/this_valid.gw @@ -1,6 +1,6 @@ class C { - function void test() { + fun void test() { <<>>; } } diff --git a/tests/tree/uncalled_functions.gw b/tests/tree/uncalled_functions.gw index 0c5ec6700..79c3ebfed 100644 --- a/tests/tree/uncalled_functions.gw +++ b/tests/tree/uncalled_functions.gw @@ -1,4 +1,4 @@ -// just to check uncalled function to not push the stack +// just to check uncalled fun to not push the stack class C { fun void test(){} fun static void stest() {}} C c; From 4007e53576f46cfc895c15ef55d8612e9b5cf629 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Fri, 24 May 2019 11:23:54 +0200 Subject: [PATCH 40/47] :shirt: Remove bad files --- tests/import/core.10177 | Bin 2641920 -> 0 bytes tests/import/core.22575 | Bin 2641920 -> 0 bytes tests/import/core.4309 | Bin 2641920 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tests/import/core.10177 delete mode 100644 tests/import/core.22575 delete mode 100644 tests/import/core.4309 diff --git a/tests/import/core.10177 b/tests/import/core.10177 deleted file mode 100644 index 7bddbb311d04c1047c2b0666dd490de949f963b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2641920 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
VK3CBC;CUkcREZ*=0iS$^Nt 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 z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C=Lf{_VPdwSrD{guBQ(yVQPNzRC=@Z{t((dNFPEH?8Oa1}3m;7aym3*&L z(zd}4x9@&_TU<_m#shxmWc!(KOGks%%C*ItPJjRb0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0{aX6;ww7CSH7^*x%ojS?!C9f+hY3tPMrAP_D+9SO#gvb z{NN|;o&Ld?{;F#F|BUJ1T}}U+nEs+_`u~dQFRrHF=RcKxzNDJ|88Q8()%0FWe_1vC z3uF5CRMQ_5(_j3KXP6PCbVtS4*+jvV%ub10z#`Jo* z{ccRJm)llM|BR~LKaJ`4ucrS^Os|*oKg9G0RORpWyyEb{YWk5q)*udJqjX-v=MnQl*t>GgK!=`sBWt9qUp)Bnr=&)&PhM^P;8!@Zj&Y(fZ= z5FjY%5CQ~+upnX(#YqSd5OBGu;4K?SAV?rf5)jmLoIu2g99<9<6?H*WRMhp3$J>Ia zcsr~|R5;!i6h%c1UJ!(1zN+b}Fd4Ieh`#Ulf2Z@SJYCgQ)jc&mJv}qMGZy)!B)5)J zvq(PAqOX(OI(}V8a_jhYGs&&v*9wwb$FDUcw~k*=liWIfttYv4{CbPze7thptn!(( zzpee20^uKiHLf>(-Q@K-H!AwsK0_Y;itq=CT+XNjYxXrik2xWN zUrB!lCBHAHZQpLxtA8z#`QLcC#glgT)*EZqZl7_tTDAIgcZFMVG&KF+w@#{ah?;H7@^|MphK-a3ciBS7jr z|H=*h@><8%|FcS>mgDlzs>k;Ge>(!v|H$*ikw&4FMX~YGB1CB0@AGGIXR~$$>EKz@dVOiREWp%676E8tTwVjMnQ&X*9?tRYLEplSes_JWHj3u^+nqn z<-&q0+2yj9#dvVvVp%QxvUM)1MTbHs-CH zAN*j|c&FRt@itdn&Om-2p&q9=+q;Hz6^`HoN?OiRw>PdJ@8!fek>bkgCF0P)7+D z{N3XSZAkGCxjZo|(DTO3I^j%oBBOGPK$ zq2IJJr8L3YR|~qdHdkxow7fWX`Vd`=YnfJ%SquFpt;VIeox+!vrYnQfMM0(`tr~dE z8E{>4$Dry()p%UTD54&n9*_dVg3B9I`QX(?G9bfITyZruT1pk5&~ zv0Y@P=Rn5`-}Zxdq;R}YE41^Ku)lM4hq5*yCG(x+RqlmtYnz=^yKu}hRT-9;l-WN$ zFOca_1Db1InxZM9RPpHx#UfRV_)3Uk<&=v=wNo#+G?*c}SEp-vH90NwJ1<(MJNk+& z-Idl(coRidqN0j%@oq)!lAwu1f811PiEwKzy{@oxj4LTuID+GqYqfGs%}v+O$clCr zJ5=p$heOlUJY}dz8nL)ld|YDJC!C&Y{bsSuHO2`IajRKcZAM_hgifPVYQ-v7*XpjW z`Ko)5{?0tdLQk=_ZgcP*6)s!dnNwG-Ypr|INSk|;CoYdC;GBl&R60BVP}vKp~a=?sqWev6xU4uiow2#FNccKnyC(`K{#?@xPaa- z;%^qMwa}DtYQ82M!%xjk5boSiKno|Vbh;J~NpiUtv{5sBif}67Wog56^(z0ZC#4tN z1f5h}fxOIMwUSli%Guy> z`9!$o%UhO2br_2ZT)HA0uJoj|fKT+Psa+_bIjL`GD-r@*n^!vvQWlR-2%NMdUgYU6 zQQ#AuwRfCRhe*8y2DkT4a&>h72z~HTp=7#O-{>gF(gQxXW0=r|QzVKm`Kr_D#xseM zAq0#;gBq1?bw?u(>=r!rNIbyB*jzoyi zM)81Wp=hRRkGg|NzHxn{O0Ecr_BD>MTfc2_enFf^pV(Q~-46E{ajq&7+X&byhms}2 zHS1uAPH63QirPUUQae01?C;xM*)=F`iRc}dIsZ~IM)5fcG+l*0pw+tO4RxRI67D$( zsm+A@de684IeG0~8TdmBbv10jDiP?@C*_Nz70F^)O_D?C>yz?dbvf3}n};L3)1B07 z>iSjh>L-os<_fzXuhm7k_9eAWG*^>?X~VTaJJQck`lk;HYjIf)(Y?zVLH97H&nNl{ z_p}Aml&e>zpSD`<<1Sv=`9`Owv{n<>)(BUwCncBI%mUCD!H=(VniX>lbR z!t)X?Uy-IieDhF;aEa7py@OcQQ*=vho;cf;F)ndYr<5eI4UUMenPOeh;Q1?+mt2m{ zA}&`r=RH(2Lh-1%@dZv-cBZBkIK{O}#&EHIWogDn;YbnHu2J(Q4Ax+?f=U}PHZ{rN zj?WAV@sdLf)`cs+;M1($BECb0wpOdjD{uz%A>ldu@ z?Gfk5uZc@oIn=jJOK~Y{ToX07E4?3Vh)bkt{S#foE>P1~I28Br)k2#IeI^*ct-e}m zQ=gmaIcbQR+`Hf%U0vbJTi;0&XJ%#uqnbD+KBbeU7P}o@x1xv?eg19YICWezvBHr$ zSpWCt8lkG`FaeAkE;68BU-wF`qb5yw#I24iYNzY-M1ouGvrK85?CMzb$)uP1W%^us zr+DJlW!6@UC8`U$^0HO|k?t6i=N8^HhwhI5DorRIbS>Ocb17Ml)*>wQdgtceBa>ST z=OU-5TawydB;|}1;ewr87U!w1oCK%l8JAWEN z$PZKjR0T8}=yIUH1L;6DKnsAb1zH4j15f~H3D8YIm~H{O4d@P_yMR^zVOj-rFVKBJ zcmS>edIabRpeKQz0(u(gpFqz6y$BQrS`UP21JEl#uK~RYvJD@gP!FJNpgur-f%*aE0G$qWCeT?x zxj=(~h60TQ8Vhtj&;>vj0dev{zJ&NGfK!3WfMx*sfo1_+1~eDwa-b`K{s#1SAWZWC zYk;l+S_pIl&=R1VftCT?4zwKTPM{#rDxiCT?gx4hXbsRKK#u}F0rV8mTA+UdJrA@F z2!we{Q!h% z58yta13@2va;@b08QRL?TcNpq4<%KnhT6pmsp%K*s@LIss4x$^gm)$^z;R zbP~|XK$v<0dVu-@od(n&XaLX|Km&o!0?Gv%1T+|EC{O{=aG+5@nBdGN#!?>nb0I$- z=t7`NfP6qjK$C#%WJkb`fE|JV?Gdo9d+~PJVXQj|5&Hj0>s|twmMp7aPKguV&iOFiO4FG;;R#(RD=%GC{09wrPBYA=)j+kP_i ze8dL`!-RE&>MK$|N+>@5%CNKUH)X4o`%n1NDEItZ@)}`ehvb9AtD7YsAUowf$wx^p zNUoDy`$Cp`2~|SY^Du91*b(yn)1-gxil*BiI+fa&LwW-x9{WuOH+$oX!zmLkT{Xg;z)qjlo|Ix-jFhsV) zpDj_%lPIXa`>8x?>Hndjhi?Dx?f-wY{W`V#|8MQ*{_nX&#xr<9mFlhsS^aRmZ6PM>+pF+V=A_DO^qa zfdv+<(+^#4QUA+W9)EcLyOUgj@9{#k6&@D#-Bg=_|+ai^zSF4Tjh0| zAk^QZ>%I>pswDT4oDWouc$F~vuGD9}=xh6p>$@Py+0KfieNxXVkHzCEcf8ek9w|h> zm-R+>N@Tm}b_@S)W1jV_sD3E*E+y0nu})0tRkFPezhj}_wHOaZpnRO6W!z3Ta=iNKQkMJ}?eEx%}zXUN1o;YLD^%^%IRSx=s4g301;yRLXsXf-v}rlxu|1kI9}e_>ttJ)Q_w!Ihy{DJ}4Zb zJN1)Zgd+yY{=mrn)mks}M_Ye3IpBJJFP=*6JzDHW$HVWnx3=^5+W%4gS@<9n(u*(r zWb8sKzmvvIsdeywto?Yj`!AkcKYK~z{=)I${mU&l*7f5vQ%t8(KNvuG7U3Ymp@e4> zo%3I>v&v!L-rem zP$l#bYJ?XN*3x-uHDQEs4wdgEekt**2%jL_K)9LkGr}JUU2n?vq!DHk_9e_GRR1OQ zG{SKtFC%3CHN-C?Ttiq&b^*c=;TFP;?1xZnlJ$)z)CpG;dTF~4heK(9p8lN2IK>Sk z{%pdL7M}OtIV9gg_3?51XZO=TJI;UhalDlJ)t}W5`8Ye;@f%ie841@`VEVU&hWRP6 z;%NOhCkIog|8Rdg9CH8qqxH8W2m0UT@pHI(xt!}|{%~k*FWWO7ZTxtCHv2H~`?Koj zr4u|p#H#0Lw@=~yL)#ak{S+l!PVxr`*Al)$$oplpg=abA7ApUcaP>_z|EKG)qisK~ zTl?RT^xNe2_-<~zUEDU@k9aJoL0K*sNx?<<$Y46Jz0~-6pT~(OsN82M=YH}WmFt#r zzMfi7MtPv4#GzW zpCx>o@Jqs<2wM%4_9qZ#6P`&pim;4uHPxpRe*@v2gijH^M7Wi3C*el2|B?9A;j;c7 zgl7?sA)H27M|K>~t4Mwu;X{P45pE~kO;}HuezvUdR6;LdA)%k}I>K8CR}wx=$nDrb z{8qwm266@KVBZ!uf=^60RV8kZ=Rx8-&{ke%`{ZTS5F%PUKZipwuM zSVHpB^2#cc8?m>$^gngR)GEUl71oh_Mu`-&qn!ukmz7scYj71Mxxc8g^0H#qhTp%i zyrR6Sd{TKC8$?(>Yhu~dNz+Q^lF3GrSNJC#bOO0B$tz1LW>1}TFhFZrZrR)r$s0KV z#`Bq6M=J<5LNB3b2bEh5iC4dr<-wg21B4O6Fky%=h8v*^xlXrXoT!)npqn1@xD6&s zJAZ=2D4~bs0pfK+YyJLq(k|RaqAyLNr!8Ts#2}%XB6)@Q2UF)8;F?ew zq7jKY@fx8ZxkBh8tlK2@Lu^NA^&fsu>eam~G5kK&L+B&aSWbE#;=N=aAi34QrtUH3 z1%ARXq1s8x1B5!E)xIu^?0ZVA>n%~7EHTRC`<+1o^ zyd2N8<`R80j|h1r&)bqvC_NbOn1SpG#3zws-|2Ejj=wL*w3gmigugY%#Lpv)K?V5L zUfDl>`nA3s%k>}Rd+YeQOleE`Js4gGp?E$u#>qrfhE(Y@K(vrx{I(slJkO7OApP@o zf`QYYhG1QYnG`Z}41RNBoEMy_J2$M>vpF&#?l2UzF8f;J{uZ{*lvuG2U0J{)_k& zxqj-iHIff~E7AA8M6WI}x=>>A%@XxDB?exRs9Z&ILF=;!!`n!&nUn|qCV6Z9ii7N` zWqJ5&iT)*o)PA3v{E)xUKV-RSPeT0Q&2*Em@q`RmT)6s zgm5Pz>{lc0CDg|}zZc)DJ^mDVeWnkRzaz|{_jUV8Z|$kFJiJl1CwOm~@m-oy(ks|O zZl zI1a6(+)w(UcC`PgKe(y=I=#m{K2DAKl$HC@e`Y5J8H=v z?}t!vJ+5tk=_9vXdTqab1s{y7xi&5S?fTP}*I)Of zYv#5I!xk>yG=I@)2{Tu{I_Ca?-T&cu>6{Z^nEAm=9Y#ITf8VH8dmq)W8aO{6xe&Gimzb(ybU~zMBtmW~xp`andXOPBd^(#*= zj)wD(Q0WZ7Nbk+p$gi8mZ$95}bqCwQXAC~WT6mo-G(rm>0mo-S5pP>P8Q`8hxu(80Jg&O?!r&_BMT0ud9-dHz&M*AeIk zim&499@euW>$5%E@%4~ZpLy25+fpB2C$XLtS)c8>KE8gk>NC&!Z(Hi)>nhf>BI~m~ z*T>geR(<9jG%vQ=@pTyMS+PN%?76;%>ocnX@x5cz$JcE!%o^tJY|r)a^;|5w;u!Vu zbzUqx-afYH`uO@UmYwx?3cum$cM*L3RC|@Y9trQ4<9M{b@p;5rkB7$lObg<8bs~@) zx8NN*RIbKYKVtQ3^G!!UUvudF(X^E<6>5+fS%i zP$izxLp-BKJfoL*Mj!Eve&QK*;u!3>BF+ebNV#4`qoXABX~7$%-ELOf%Xc*Z*78ATm!KcQklm3T%E z@r)Yrj9%gyeZ({RiD%S_XABU}7$lxCL_A}dc*Y3vj8Wnl>xgF*yJ`Cg6$`4wGkS<; z)QD&F63^%(p3zS{qfR_yfOy6r@r)tj8NPf zct$Vrj6UKS{lqis#4`qnXABb07$TlAOgv+Rc*ZF4jAt~OEVzF2J;a82he|hm2&3o9 zc}uXg@%*JN{r;TsregVhxElx?RcB(j9=v~oX?&WzKPb6__eHdK<^ECD%InDg>(Bop zI}ZJwy#;^K^#|X#=KW{A&Zvu*`_n3q@_laJ(MO1U{ZW%8udjmjG7houW9QYzJU7^i zkoAc_T(x{(n)|7BJ4B4@EA_wql{B)d*K0(J!K2-p#@BVb3sj({BjI|6nDED_Kx zyv^DXup?kcz>a_&0XqVJJOb_s^7&g#PvP2QvW_UGf4jhrfE@ul0(J!K2-p#@BXATE z;AeYHnR1zj3b(Xtyl#kX)JNp+OqsXQj({BjI|6nD>a_&0XqVA1ndad z5wIg*N5GDN9RWK6b_DDQ*b%TJ@P8!&o&k?O*!|IGPV)?S`$@!|a9=$K2@~36JGlLRGUxUc~Gn6ae&-y2H0o$b=0XqVA1ndad5wIg* zN5GDN9f7|r0#^+lF~sR`G+f@siGjwu+ErCHL8F#zsiq8oCUQg~{O>3_7`ptzM*fft&Z~`Y#i*of!7isrIiuOmsLw}s7CfVklrx&`@cr~#u8`$hu4{}>@ax_9 z13C1;8+@M^+SQR=9oaP?T_DsE@^=N$9g?432xi56D8s~vx|k4=){>nSRVc%x8vo@t z0Wj;`QB{m~zDcscif52NMy_u(*zq@dq~)Ri^LK#8P<^rDnMD;aQh1DQ!*BRthZ{QT zT%p`ve)Xj2Tg}_G9k=}Hf)}Off-W!#Y`LOu@& z_XmFS$02Gud4yXNiubx`e5xwk^E8pAs|j(!r8%_DPDMC_E)ZiiE}_>h$cH8NhaVCL`nn`eo zEPtE!e9{>YcmdEwKo^q?!Dq^wvqivQyo-TK%mt92Li|*~ODR8%uncep5PmSp4>S`9 zQw0!zchnHjzgd7EomsZ$llq^3p0GLLtq+vj?hG%8>{H@2?AOm4|L?DtPXPMz&E|tneY}lpUs?PQ ze;YC2`>W3VXlDAV33s*!+6voZ-ad2w4d}?JW&!0t0BlM=0uGj@w#%&7Et~|XVdNP4+nKq+Z7k1JwEW)l>UMk{zt@U|LZaI-;N<4 z7{kw#G1~cb3_lmg@H04uynPJ+OJl_0tQh*Q#)xxo7+{-kz`sc-n|GXI6yEumY8>q0UxGjvaT|dY0gWq3n%Fosq z`paT$*S}+I*XJ?X(=CRd#2EeLwHWP;#*k;lsJDBJcD9Jo9#4!oWXJH+1KOhkS<{U% z^iPc8|Irw7oF8OZodZ7^sHy#klc1*LS3;aq#O~j`Gqu!+Lz0O0k(CSr9#aMQ$$&30 zX*8L5Mv6rZ$dAJ>G>wu1$Qh}fvAsz`9VB^jCs^(yIe*P+6R4s8K&I5Mksw}y{fKfe z1{TtE3E~mJRFL~fzdOlGpgo445mN9F$#Y;k40&%Uz;E7Q3R62nLnYruf~X=nPs}{f z4or80f81Wxvb|$Kj_vVNy&Q*^!3O2l?HWbx2~m3z4DT=}r1)Fq7;kL9b$b_)AJ3`M zK?eDGklL@&cHtZhQ!nx#u*9K?{8;xp&i}CeIyruq;;@(e1oI5H4d2~lxsT+$->;$e z)X@Z2m1g2D^5Z#O3TSsW$bBTI-7iMP=(hzF|HyFZ=T>Ux1u^s|$B=iScItzqAD#TH z1Qz3Ojl%;m+Rt)p`{6plh-cUmAC?;z1yC0s7x+y*jK7EC_N;7{c%1s7$I=fkpg8E3 ze)uu9GpI=ic>G{udEJ?kzX$X%%_Dtlzj}@8)hzW&D|x+D1|Me)Zm+LTVId%VU9ZJj z2L$~VXS1hW$hzjngB-{8*+9nwVdCwUocxb^)I2eO3i<ppvjF&B;x_-3q(Vi zD205!ENb{}F|vG4!gJgpDo-P%!A(G+Z(J8|3o~7hJ#@K)!e3HpwvCo%j;MDTD|~KzMyx zhD?mq)V+xqshiH@K2QQ0Z|DfOC-k*zC1;$H#t~WrAc)r8eF9+&n{aG}5|1a@eFV3$q zvHpH4XFtCZUq|-vc^hMU@R|Wr9r0(JC)=}+c-~H_b?pB0b4sg6|HI#(bK_NT&x^h* z@3~>O!Ryb<_r&NP`MrAeEy;(Dm->-cr5^j!=|e#J^beb@%;X$OBX!K1G%XUXkUI(|)<)0JPixjr{(Pe!XmucBQoQS4mV) zmUh9B61`(2`reW4imH;=@1^Z4kl*q0&-~n|pSLeee1O`mT|xB_DiLWPCcly4dklMZ zzm(U#N#&>0cfxwedh6bma($4L`_7hjk@IDFXp<}tbs&C%!~oUfeVq13e<|no`d7>L zh5k$XiP{;tQEr!KJGG1CA|m@C+aC^jyf~a5m*aJi#*7Ksk51!KtnWaXOzf;30XqVA z1ndad5wIg*N5GDN9RWK6b_DDQ*b%TJaFh{wn{(7u6#ycEp#BfXMK+*wA=#4l`+mW%Gs(!4BrVWf@Zp3 zFYtj%zu{V1O;^R6`$^dAa3%<)bY7ZUEJ+o5)&ruGw$PU@oSnsBRmpNHnF*7djgDW4 zzFnPCwPtSBvw8S&YDBnG9W_&j54|=?(F;`J%L=3=HcNFnYoYtNotox;DLtd6S*~ZW zORepkAhbM1o8Ku{xO~Dr+>x-Y;>rUfq6g@>-)h*9`H!MTRbUE`}i&Mq~dw89%=Blb# zonJ7o^`e6OkG;7ii5-$N&eTP-qD88j|I+AivNJySd$*!%uxEr<(c*Jlt~Scc2~Kw& z{IsN*fJQ+o5WXZmS#@S6s`rQ_B|XalZXGTUtR<)w>%^iH>Qr59Y^`fT2kk`ROjK0Z zsQf{3KX%O*>eUWW-Btvg&0LO^YBS-UKT``nEavG-@VJ76I<;Bgy_7C`syFTA%Y`yegj7+hW$McCW`PSe zUqDNDWX4Z)rOzu8Nd>xC>E2khSscg>E>3d@M}`RRRW?Hq(`q%LUB6&~&~(_C>l_OU zp4_Qkf9<>!P5D(-IxR?_?|^-mF=VFh6DO@zl5>S4PYGoT=VCEWySi4*7A+E-B2`)B zD5ztW$S&b|$AMDOzf+OBLA}u=kVT=~2ncZIqhLiXt2ZA~k;4#%Af-pssKn2&Ii! ztOd28k_iEE57;d&2F_}GS@S>dxR95(Tp53cc1fiQKF zAUXqfrF=KQETEHtdI0qV$_DZPaq113zQpt+JPj}hh}XxRL2?9KJBRDKFlj*fK!bsX z02KgX8U}PW&45kE%nvjZs1m3O2-lCz2AT_W1rVmcNf7XO$4EM1HQ{`~1(a_Jt|4Kq zsqk9JF9ccy^beBXK!~syXbI3wKsN&|1G*LHb|6g4B^dwjg#UK|1%Xxo-3^54UZB-R zPKf&n8P;$H@F7$FVN?DQQ~ps?9?{R`-Apm%^UZ3cSR$O-Wt;a0%^0DS=TG0-PK+kmzMeF}u>GYQ83&nf?fNru^- z#D8g$e+Bukfp!6X2UG`yX*bXhKtBQP0m8HwXdlooKnH-V>AxWOm4prlj2S?f@Hav( zpyog@GBl(XkWV7MC15g8E1(o07zRaKpmd<)fQ|?12&4jG>IB%C@?8nD0J{U7Og!pk zQ@%GLoS4Nals^@)A5acZf1uNW1^}H2G!V#|G>{Dj8bW152@3$v1{y*9NWxKsUck{n zV}Qm2jRWFzt|`y5^FVe!$;Sgu0J;$9BA|;Kvw`=3G{a$OgdmS5T1bGq$z5Ft_8Xd=pR6sZU77bEe2Ww zbR*DGpqqeh0Wv3EZ@wJlcLCi^<@W%t26_PKL7+82m>vRr80Zn=Lx7J{9?PGE{8Pj~ z1Ncv%7l76QZ2)>1=oKJL8woN08s%Rnd;{=Jptpej1+)n$0)**pz<&e11N1J*-Y47w z_#etkZTQV3@E-$x0<_Ikw%wHfl=7be?x6fmz%MC}zP_gXF2ZjCzcZD85BVQ}el*E` zGUd_79^m%^{Q`7=%Ki)ZE9RXrjRT4UiU-2vCX^gZxJ*3$_9qFbB~U9M1t=AWQ)|e# zCB7YCI?(Yz9Z1G{h#f(80?>(6rUG^X>I{@gvMzvKDUZK{$^z;RbTUv6AWYeS_*)H3 zeE{)yZ~cIBNQUy$AwK{Je~W!4$Lpcektr>BWOSaL9j@!Ci_i6EX0bjHDABZuc*Ob=5%XVd^7z~&Z{**#D%_9Z;_e{aIy)pTm24Jj61 zuR(iu0lh@qh;sx?IIeFnZ5tnVV?h3mRB7}d`!1)sU>5;?6WO0?sT2D(C-eN|e3P8Z z8UF^pP9=X20pc9MoVYJ61s@lZUM_9_a_&0XqVA z1nda>nGuMFgcsMd2MBq}ygWnJ%KW{=CsSjdB|eE87m=Bk#4lQeS2qHlbjrlf4UZ?@ zP006*BlLW*gQc7=C9-z6HrmcL&~m zUmAYHXSfZ&b=2=da~s#A43_1-S}E6uoFMz@MUq#jp2$F{7rjKvJ-Lz(_LKF7he@9G zg+}GCQGNB)o-?IfzkuYl!My(8H631 zmR43(R25AW*)z(kO0uWSn3X+o*3`1%o>PlSl$$rKXI0S@lY+mZ++R{rHCGtwrA3vc zBD;9*jLNywC013)lG!B{l~c=SG-3+DEmlHhg`iqdQdWfaB75qLsZ}Dos$>rQp9~C? zl@}LP6^ZPU(!$9VMbk?PON+sRIcZT?R8dg`jX?{}gS(>XQzt=P<={*Dm{?gUvL}^K zpI$NppH%#@gvTi!n;c(1Wf(Ip?s=SGF&>9zd%Ql!#HbqF!GBi!9#CYqkF}nFJ@B}} z{8^CM1HVz?_HUsK<4)QD9>1*i!@wS6!1m#8(lcYu6v^Xwhhq!d^SCw|WH@H9{od<= zfyBt;p_ED=oJX7hgkuxi=i>tvNQ}2ph1`DDW1I}SI5slR<0WH|21IN>j-A|o$Qo%D z{Kv79?RmUp^hq^XBp|oZYF`6#+^1|GrSX=L$9HZ&+jIOdT-ZePZzMXu@p>CRk8!cJ z|15<9vpp zRrtKg^ABEkW37*Q#y7#XmC2sxClOlD#Co7&B<2~nfE4=<*U#r!UJq4=!G*;Ai|x1{ zY=bgXVf&4v%DDa{vQLU(&v9pa zd>)DQdsslo_B`+7V%{7xa^0+h*p=%4#Vmw8+gZdmYe&G2fE@ul0(J!K2-p!gW)XqaWG@-((NSycKoQd_U7^I0WBhSxpPK0(rTwv4$^8F`9o=>8- zb&h5@pnq#GmKjD|P>Kodj5)RsIY>U^e*@0iA$dl#ol&1xwo_QpLklMv&2|`@tox;1 z7A^)to)Is~Aq5L0vK@vC?V`Bw2oV<$nULq(j2usFBT|&&ZN+?a0*MiIF(D#l(InN1 zDwJVTjsFL)Z~6BIVcLIITthb;8M(ec`g?;|@!WzzgTyGKCbtc*6mawKw*=cBoL7JT ztPgsZ%^#Ta{hl}PoN@VE9kFfLP0;3Oe{X>6kS2k>3WWDN+IMz7>ToMgEw^NEoZH<- z#{!{;-^LpnOTJ$3$%nP~xxy)&Ne;cmV#k(X%b>PQT~(cuIIm}!Hf7OyH;bjJo>`!e z&vJ}OdMz&)NOiZ&%)6jC_nt{EEiv&Vq4$r=dNaSKI-KgxO3H`U2S>a0j;_2&C?{7` z!&0>N9!>W-l?5dm^7U87R&n<+*@YQ2t87rr_@&)Tsbs-6+imuEr#}8uHf=f2~Q*Szaf_{B@97#0((a z@-j(eHUNNYmoeQa!T7%v{@-lkmr)+?#ViN91L#hmyMUTXD@eGqiNd=xth$_%h%tl;24B8sO`cXLtiLcn{_+5^MsD0KE1!Q&-^CjU|fL{aQ zJrhjd0DTMe9Wtg=2l?-TelW@QQ2uAYy(T$l_i@IA)_WhOBC+4Z9DuxejW-t6o63!> zLki*mn^B%s;(>PqC6GMPQqFoUK;Dwdk^vPU>w3RbkhKO%18NIoPU#lDy@fvx_~R`y zvpwfKm~=Xt@?6e%0+gLdGI&1*DIG0FQv-n_Q4AC=)f!P8B8*yaHy{tQ$8Oj9291_FPUMW&hfJX0R^ z2LYdNk)eDr$Z);Ad9D30;D-Z^0Kzm9@Epo}0Y_6F*LaQv8V7VP$)p9Wxh4L5i=4~H zlYBxGw%$?q@BZUYyLrLoV>S-x+V_b;U#ZG%t#TYsuf6BH z=^ZQIJMGf9e^}>Rde!8TwZkfZsXqRLQH76=i@$W&;8joE|HO~;H66owD#2xH|~CD z+pg0e{AtrIf6pw;dGb3?f1scHthuZE*5y0Lbg5_{%fh9~$_6Nz204qoy36^X$9&`jpfP$JdUZ-kO#D_`^Fl zK6}QOK<{7N{_;(A`=7k7u{+|_K)?ftJA{MoK%s`v3-y&nAh8=$XSuN;0; z*MGjgzsIV%4=(xo-k0V-?k>Gb@7n#s%kO&s)i?OJ2SF zlOG;_mH*iO-uka|pZnFBasTHlpSW>){d<>m z`&(#WZTD$8Csvo8Kk&SF;-1>n>%?ECem1LB(X#JS?<(s3wfJ;E#LPhA837LwzF4C_`POtg=S5^{oPYP9(&1u zK7ISR*V|3~{>=K_%O*VZvpzC;^pmTV{yX!PXRds!U5Cwm+ia+){rY8~fA)877_k4Y zEAPIj{NkGj*1UPje)R;$f!?2t-qT&_meJ;%rO@{Nowm37WYf?g;p;lQa{nohHUG!Z z?cLw#yl(s0>H+%-Tc5Y`v&Y|WHuIv}-y64g#;#``802tt-nXjf0spSvGu}P*!3W;| zTj#i6AYWuqWja%ws*Co6HH% zl{jbN^A(m|W>%m)&hK%2PH3X+P$C?sn@aaKA;fbm-Ztn4#OE2DS5E?YMHBigY7OPq z-!xnlqh7Z8Bgpd?tB>QXf*5@37;+ZRhPLB;80S!vNZ67K0j+bPE~YZf@*LSBZeTxx z+KpEY1TCmu57f5F#0#^Dz}jF#h8;a;(Jj!B=A_ z@HLaU_+Mt`2=h3H!Nk`>tsvjgkQ|$Ty~s_h@Fi0@&bu+~kkIJAqX}c2m*+LoYMQ}o zbG|NPjTVr}XU2j!&mRXe^PJD3@*5WC-{yqZCQq9Mhsfg`-I}hl3XU;URy0*^$V-Z*(*MoZI(fgQ#lIQm^^VahFr9Yln?#M|D#?R{ zVS4{GzrUK_bItGd4t*fEC$g2|LhqI4_g?dRyM29SJ?bcletO?`u$kloi4uLS39}`N zUQ|w~o=rTVTeLOS(enGf)n{Zo^v5JBw7+=BXn~VlNX)k(p2zW%h)aP z_V!fH&vAJDoI-M*i{;RBo(?2;6Y?B;@4Iq)cpZ4bAldGQIYyP_G|SMoeZ*+lKd za{?xwgEyBf{0Ls^bG>V6LwO#}`n(Q2JVF{C={j(pcknuJ-zaGxYaMvxTG<|62R?w? zd5n>tms#EViskxltx&!}oA763oGuEm5rpor$y(iz(FC4O7eqVl=+N*5tAlI|sOz(^5?WOpI=so!%A^qrC z(obL|y@!94T;Hx&)BF4@<@@cutVi$BS4T)YUJvi5_t8f~6u;H7Jo2mL1;?vM%6-%> ze&4>Yjg*J!J^KMcdLPK`3HIA*#6i&a0V3bi_X8~N-w*ku9miADQ+ui?9@G!&sQo^w z=QFu`>wSCVepFQHCp1}N_La5u?^PwZ&KSa_&0XqVA1ndad5wIg* zN5GDN9RWK6b_DDQ*b%TJU`N1?fE@ul0(J!K2-p#@BVb3sj({BjI|6nD>a_&0XqVA1ndad5wIg*N5GDN9RWK6b_DDQ*b%TJU`N1?z@Hj{9oyx58W{i7%8uUo zS!C)tRerxy;}^gj&gF0P^q3a>ZiJW$c7YuMI|6nD>a_&0XqVA1ndad z5jesK(D(luwBy7;;~l9gU8ibPqV{f35%~STMEHN4Xm9B9J53L29Ly>7-cd&QLYR^8 z+SYj2DPIp;ushi?n(d7GROv@pa6G**mCQhQL0b{?|x zkR4+kU8FPe`&O}yNPhBb#e68k#E80>5RulBofTCm!=xJjfBQYYRa9Wb4W!SAbzu6V z-{XrF&pK*9BZbM>wlt_0!;IhB8~Rvvw;S$^3tv6p%tJW4a1K%NBccK zd@nD)dl#F5@5Ei^Oc8p4aHR@Wo1f*rli$m0erNm%poi&12@NssM0^HdCQuikZa`T; zO(lFc?n$PCuiM_AUi66Aw{EPSj^ANe3BrztspTc|1dd7$43$eJ#Tp?@_fHsuG@g=%#I{P{pl`7Z={N)!5vLDrQ2k7CHX zLd9wmew-k0$`5|;qN#e<$MAn^3_s__@Y4h2Dv&iP;77FzfyeKbG}X@6p{%KP4gop# ze{1?D2vXr|us(7&oD`lg{3nSBy&(GO z<0C(Oyy5o(u{|N$hy{kW5PvuPw-cHs1w2kCIGe7wO$_<7TrUkAH;{k)&IZ;SruT9$ z1$#`LV)%K9^c5O(_`TepgG~ndp^vrj_KL#7Dbvem6joLhRa6xgio#*zMiv&ARFq7a zT3J<6F>d6bvho=vxqOff0#7TuyXH=CH7MD*inmS`f(R9==o;0PTs;Xp8l_)GOE3BM41w0j& zR8*8#Kq0hk(zL=!rPB&07fme_#bxFGk{JM#%E~Lj7!Br5Z&Vc&8X_o~jhW&y0}2cM zRizarMa6~FO6C?$f?SofFDfps5R)rPuqmukSyEN$FPSuT^3+KtY59yvW+iBKgHmNx z1-H1U(q91^IT!<>k{r)o6u;-o|Db!7H9x zSXlzzCYKASVUm9?Xc}B`*>ocig&0)ukL|B0sT3IE?8@@&exj_nC#cSv({oNvzn=a2 zqOcDZ7njNG&=JG(1{LT(}J$ z=QQ!~RV6q4;VdE^D1r1)9uH^EIQWAP)Ea-yAn$@dC(PQK!G8z+E!p&aBA(CjeEL1~ zX-o*HG3&Ug30#K9Hzox1TG?Kf;rSGgL2QLt2WzS_>EQ8*I;e{Y{a`z;-ZaUm17&!u zp$_VD!ghWH%6y(fef*jf>SA(0Yu=%9VHkAf?khu|ZDbg=&!pNk7XXS4l23!=15RMvnL#dH{v{5o5tgGs#V15CtYVPjS)4 zYm)Pv5ar`d@@6QYc$Y_&;lKL3SGa`X9etx0bFu2$G2$G*>Lqe)Ju2%{)s zlDB1Lz%3?uJCi(WlJhqluz06Q&flm&d7Vj4r%Duyy(T$-!@?-A|NWnez|um9zZ*@`|dGVpX2$ z)QXasvq~zfFo5Upudk2(QeR&Ogn0p^0A&FokE8*ug>r5K&M_+eMR4L~3APHxx8vgm zguy2s2UmVqU%v(hwu|cO>puiOX?J}+eoJsUAb!v4IY9iTVbb^Y_4tjj9)LRFF2FT_ z9e${<-w602;E!1TV|_h-yZu8z4`7F%>g&CL&;49qewZ8nI9ZwRbdF9=&r4Q^Ca32nE4hiu?x8L6lhe;OOLAKn-+UPlCcD6P0ooQMYtBia zJ-CH&uEHJRgE;YchT}yoP#MUKdG~~5Wqh(6m9cCUP!P&a1eEQVV3cM78wOehWyX9I z+PJ`(o18vBE99Ysz0yB6V`w6T3L|C2(+@hUK&MZGPO%Y2&@issG4>mv z+?c1Ex5wjrv!NXYEd*XyJqNlu&@UDNic!hRA}8#O1+eYve3x^k)XqzGL#yQ+VHfCa z+y(s|>xQJ_Kj+vS`3H(qgtSRM2qv_KlC2?&7fuA<4y2kT%Te8 zDS=YhkJvAtfHG}weZBE*Z^QrGcKg~SHkR!;Utn4y70(J!K2-p#@ zBk;dF0(Cz59kROV^nFR5<2@rx%;P;KOneW5?}atotDwms&LuE)pa~71NBKSy zUyJkHk+0eLz7fs`FmXAb$sBUb-;?Bau%7fT@UpNR^BhP1o@A8l;d^sNInROM62#!Q zPmt|_>7v22fA)K6zhJL z-yvi({vKjzEPY>cv_$@HsyR8dhhR~QzY2X{r& z;h{nHlydMWeN3#Z6xox?r%x}LfmhFeJmK+##}LQIPZ>tMJ~1ago>_*&gxQ{-D>169 zNNBak>sPaVtn~!!hL3ON@irk`dX{thw@`+0BPsInXSE*&iEtQ`S6 z0(J!K2-p#@BVb41*hRoAumAmJCwOm!>u}FMBwx2mVtBHYi(upX1Ui*-Lo~8uo-s`F zDElQ;ub2Kjgc_kBR0w^f?&pk~v#tn;Kjwe7#yn7r@qQp=BID^2lvB zt$uA(SFc%>6}_O)ygb&dz~!hzD}-?k?ZL}8EzKC`B2;hmmo^3;y`SPp;~bBF?Ay=f zB&Z`hE@$-bm;M5TLBa@Ol(3F4L>MMi2vtJC$QArS^c;}w^N?RJp+@Ml)TfgE;i~nL zo<^v!9U<4te*9d{f}=#=G4gYi)gN;+o%aXz)9Agjzb3^P?@BHGlE=HibFx3M=svQ?20-HR z?(rDoUE~nsU3akO`<{lgCjPlEklSG$@6v_>sUg-ZeQ~ z@py*gT~i8Nj^o{Q`D+5MN@7$#4+>MgTYAXtk31~n&f{Fe_(#@0DraXq$&Pu((w@>^ zE#Wf4jf7hWcM`59TubOCOefqMqaLpB_hMGIY+n}nFCfez98bu8(@CHCSXe-MIfQP) zz2uMUW&6@2^vn9OaQrdy6U+Z!EuTa2(x{)RAz_@4W6kfzTlyuBcOoL+8-{E6et}5_ zT*?T1wy<-%?EgDIm$+!p!RMog8t?L#$aVy{K5AdONA@S-Pn7e9BOLFvhve}VT+{S; z7l<+5DbF<4$Nj@&2IAqyJ1s$O2aiJ>uhoI4_crH;U+DBG)5a0Fni1B=(!`FRW3an9 z96u6p+hYw^Jf7ir*VK5%XZE>)_7N7>6d)`2H%$B9X{Ke2!z+N z_-K1)p7fVBNaAWjC_3c)?u_%KzRvYg`}S^?auJkxq}Q{a$K<#bc(n2O#q+yoV~ls+ zLyUL0eTN(GmYprz$>SX#_e!(Rj>+}xmg_K*uy&g&;OCxFDnu#Aj|8UiuF2tw$1@!7 zno{6$9PjAYqFj~4I@u3`RBv?auf}!;Cdm5^JkD_(*jTg7quDO_AF?O(5PAuHgb~6h zVI85LP$v|ORB;`(kK1uL3|Z`1KTLAZ2eQ42MNhTxY^Rbw^RduNdK&v@J3_9P?fqQN zf}=#=G4gYi)gN;+jrM~^{j{#9T<_L0#`SEDrC;)Rr@SNkc?Pub2bgQr1LEDezzhPwdAyTacbLJ}kGkpXJv0u-xjuO$`4m-$3PjT(O^jlDr)q zhb-qf+4$E+AlCc;0*Y*hM$MU1aj;z){5m*6XhMZK9G>ra?r~7#U~Ufmj)RfcAETXd zuZZelIpbEEpfIw$p+1%Bups_6922A24o@ITwoxpUfsIjvXC#gme*{Nj5 z7^eCdd0vGvLCPV&R?LJlOpK_D$-ASf81oxdspuYUh;aLDs+*TmF(4_#L!2?dmH$>ZhVHt*ZsKO7H6dRyKnjll~5s{0n`PkD^T)r zp4Uh9ZU4r{SGB$4igBG^pMBrwug`d3a>wf~oZRuGkB8s2^T!z-x1M}y$KXQkjTtAD zDqjP?y?%-^O)dZb+WQi~sH*Glm;EIqd6OYv0Fgnl#s!j)umz(NLSUjH#3UdnI@uE1@yxax+-X<|@&|uuom_VPhfl7#uMR^RHQ|11Jk;$< zDD&6_lwUK7{>7unL3~(0r;MV%Vib8`6gj>};-T2=WDziky)!j~APw$$f?i$1=f%Aw z?{moak^F!|zLVq`g^+>7e!c~H^xyAAX+-`GXVDx~lzSZU97*zR4*gfi&pwCzW|Er@KdVUI?a*IF@*#)(c9Odse%6q@ z$DxlWCB~oa(4PbGyWz}Ri6<a05MeT_G^N>e*lNY5C`DKttx!M@QCV!RWyS$Kr#N%Wg6YL1_rKt80WzFodr3D{>)!BkbY_Y(rODT?pRB!>m?V3)=&ApngkDYi)fE zWa?UK;DtGG*rpY`+Uf)FQl6@_rYqELG`HdoK}O@cX4q=5s}&mB9ARJ|y$BO%(@g7X zf9U*RKouzWVH?e%UgX&U?}mpv;~h3dcB%IuZ&)TAlEifi{?$-Ai(Z=;4!^GS%7jc^F)j5>Y)S(1ko1ELMHRUJ>2m*qDAn@-*ptx+= zl57KyIqEo59dp$&PaS8e<7{=DqmFacah?&vz5c3JmKQJdYd4X6j!iz(md~~2^KAK9 zw)|{cevU0a*Os4W6vJ{t9aI!*k3hU9#%t#a*bi?m&~L+L5!FC3>2ImPwa>Bt-ZUsf zy9}@iqGGCRQEJ9%)|ho>k8$e6`6uK~I~v8Pvk?A{2cK$f3>))Z9$l0YAJdWmTlt}i zBtbwB5CjAPK|l}?1Ox#=KoAfF{#zkXUZcM^W)S6Ph4>5!u$X6=h%JkT=pTp4>FiAS$%JC`Stg!_e0iQuIVp(HJwHB=&hR1pmHDK z`*p|t|D6AXeCWE}u{q`(7+Pj0bbD-W0)F~tm@mPD^Vr#mw_)Dg3uj8~9L2cI-@-7C zovWA(6F&lrou?R&`NvdX@)eV5egj5Z?0m&!n@=NivSQ|%UN{e93l!ruSEB>3VtnR$ zI0Iq}6;p0L3RTB0P|OOm5YDC8h2zU1&T8{5v{{tC9GE7v11t5ZsDtJ+7+Z;ALgq>s z|FNfy*$jTV%|D~f5_dT;J?4iPL78#XRp4!dISw71VYL9W$vg)gtW3Ec z)cVW-9AnQuVjYxhHO~OtVpmPL6qtVV`^cQ5!r5lN1t)dvxrvKGd%(;=MEyy)UD*!v zVq~gSY=dSRx~?@hfrH14=u^N$T*8C_&`WGW;7?3Vx*Ce&&C}Hp3&z|92aGFu9%Qhr z2$-Z=mF>W68F+~|FNCbp-3l3{JJv{<4)DeIrrr*sc-7e{w*YMMS1L)$g#btVW|fbL zja>nq9b?AEL6^mtaSubF(U(9>2@}#0g6N-sAYo#9H|FypZ=N~!GR)7z{8^JQxaeO) zJ~6@l9#j{-6TS(NXpa3D^Or!SiHS#)pw62BM`BV6j<)Et;E*`R^(g8*1^^}|yKVzf zj2Tl7!9+g}E|N|d?*&n6LM)P`oYb=*ChK@8iMC$B?zG&XYFgVNY?n0*a*y>6vAmsMZ@E|9)(`l?_t0gJ!wxMflr;% z-as)tqD%XS%ETIJ2hj{B|1`bnzspFQ4k3UGBkfth8=M$ve^8koBW;?MNBR9F=J4bdLg*5=A%RF1~^1n zzXHQ(>se@IjP)WMW3BCgX`D3^d)PV+Fi5bjg|JO)8F)^#T0tkt>V*KtSm(kq+1dz_ z6zdK+rdn4*OD*d)z{+Jk4>+V*E5V!F`X2ZhYwZP}>DFW5XPosfkc_v=;dq2~3&=C9 z0C<>SeE@Y$w2B}<$(jUyjJ^d~B(84(Lp^&V{xdZQT#`9%FqA zPCWx&~ya31jP%#@DVIZij+mBl0OJArz}p!HtLz-KQKZ(QI9jCKLP|(d@&&qMdLZ0 z8aweR$j6&Qa7_3RBKD+?SJRbw4|Htm5w7vz+AzNXfTm`o9SMwS)`FAN38_Z|<4W&b z4_{(Zb6$p#v>gYYGLJXWFy6$HW2la3$X zyW)~CkLH;`qo0A3AuVoVC*Nb9^GW zbH5Qa2Irn^BYFzfmoW7s_{_P`i|(Q13TRllnTyPG*2Tb7nHPhd`+0LY zG44?zR#QXhvl8D)O^o~G-;a-|_BJ?Qu{1y&M*VMl& zpC6%51CVpMmzz^zEU7Thq%f7s6)9MkX-vp)yAvxw#Z)KVST(>5GZoLPbPb3OXq*bj zWhCr^3cX`fO&p`91(l4o)TC{gC4l8vSIR?h_hQ1*WNg~FHE=`bQubrrdIBC!kF_^1?UrEJ16ly$mpSat{%GS_06q@ z+pp&^BV&1>&Tv=9JPm5JC~>!>;&foa`3lDv@ET=33TH^P6@Yw<)dSrbYux~nIO`q= zC*HaW@(ETZ)?{q}(?qKWOp~m5z-f#T4W)*=J?3Lu6~R=TWUQSqt_|xca1v#`0M6mJ zK06Vs;3>F@;CR-g{%=%100+Z*4!SMMnh(Pu+QL4Lv3A2CinUT8A7|lDpT%2$23HAI zsfy=DC{47Ef{K!i=pZP$yIh;W(*%!uZQ`*oX4FVuM>F!;h zavivalV=rn!#890fTM|jgs@!hixP1;J_){~X1FgNhx6AY{Dj!uGZwGXV{tlhUy?Eh z;+s_01Ui?F!F9_d_zs-m-k|bh)u6e|!f9%(nrt>E;%J%#-?1~?m#dz{urEmb4b-G3 z#|zcuXyEjIMO+SwP22#+y(tADgFx2+2=3k(j4fdgv_8YV*=0fSrfS?(G~U$M-IA05 z5t-(8Y}>cg5QEw589>^7bI`h@}w3P?gcmo=X)7GeI zlS>yd>Q48(Lzo+%f?{QEarcq85#*0cABmM=o`XO|hRy*YT|7_QEg*J3j57{y0`uM#8 z18*-dIVfI(F)_t@F#X@YH!vEW)iCrhF(r5uCb&j~k*?kw=zF~7=Id_0&y$-qZB5(V zw?DZ0krhv)T^{@$jTuO|sKGQ<6Lmx%_C(bwkq3_WJPv=$4bi}f6z4#EkAR;y!lE&p z;Ivc;yB_z+qOMoZI^nbnC&cJ*20?&Gk4GT0Y*$A}bluw9^WgSA>J@esr`9aj?|7N_W@#x{fB*N?{n-+dr}Ku z5MaM^V(j^p#=gh?!#>93QOA*oYn}`Kd3Ddp|8d2>?_BWYq_|uBH(uOW@Z)(Y+b`dl zIOfF%r@i<5l^48Xta^0Abyp0%T+p(AH~jtK{+Dhk`QwW2`5X5hxi@Ojrn|09-&f%3 zs`}4Aw_m-wDD#$@@Bgp(W9lC|`He@8+VkMJ&IQZvx?{nwQiluvvi%nuUpnujTbt*c zw*BT7FGKkzfHe;Ud083Ow8v}^f^B*#16G~<2T24FWI)1d#sF-0JAnjB~!>9um`+aag%Xz##1m);|5CMe5^1qV2A77+^#B*2^@^eE$xJmII1c1jY?nh@IuF0<;or=zH$*7fvCTu-2ec>%~D|3H~TvS@Cpf3s!*(J z?}FD$Fl%?F1l;D1j&>b+Bs2{yc1bI|_TumGs}PkH;i`;U>Zi9fw{>+-@18q*`s_U1 z`D>UxSA_>Ksd;rWIMNetAD`ww8*H2A|g49^3*PAur)JLRl{^BL-(E++JYG2;8* zsDlaT2Gl`aPMO;@!{^z)u{w}!hn(lVxej^%cJ0aQkPqSug^+v>`Ow)~Uha^WZwH z`g>>LXJY&Sh!r2u`|5FdJ<0KEs8^C&a4|fbih)0Um4xfxS^D>7cgBMdJ`g|n@kbXQ z{CMxfsQts^v<)1;%ekqTF=fEun#)8l45ciYe4{BAZhcZk_ zd8vh_F$|LzYd?)#bkec{1hY1+Sx_&;ho^s%PpFOmGT!`I{DddM$6 z*Tcm3DZ$kve=h~TKdF+|Qb&7t8%=*bq@Er!xfrz>f1AC^-uslc<8i{}WIN)y5>_}w z`fn3ueWoJ}NQicykbWP<`FZMNpGcFR{&MZ}9BQZBjsVYI5#?tcYWKPDtRTD3(>{!$ zk@N??Brfa7ezg8QOw*KTGub(D;C|=%lI{CR{~n?&2RZ^5n_SHSkCFcFFF8KVzkUAk zX|MZtRPPtXe{et8{3$%GXEYujqHM={quHHI`jub6 zj(s9s^Cj&zJM2EIeYcVRibL^K;T%-6nPKpC&mJS@w>#?N^26c6Wk`Qbc6J%&N9(s? zhyF1AemmRq=Vkm%jMpbyzpuaV&g+c>w`rc&E4#L7p3lFncW9nJ*PBKi&Y#usy)Ul^ zcK=Z8^L1o^D(26gSpO6FEpCi8n;hY9dn3YbQ>_1sC-ieN=5e1@OuWtxKY!`h>&k5% zdcXPdGQDmKzn@9J^Wxmcf1iKka}(|T&|@|E>tVk{2Z;_59VXgObbzSSBgf~Ie_7tO z^z*gj%lZ%7Q9b*pT^>ihUI!nx`+}M5ugK3AtoCbD4-#Hp8mC+l-={JES=9TY{=F8w z-^1@B;(37gZszTJ{AUtPru#rBI^_G4DC5NUW6T>AUk3gDbL@`~d5#uV{kk)w%@K#I zcbMAC_s#sf8yU%8&F@$7_n!HCxrdA4f1)h=HT}Deo{#DG9Y+Bn`yO4+&ndWXhiE)A z@1+~)KJw!w+Ot=Wd)CX|uKiX2{P6YOMb8;H9JXV+^$mV+p^SeO=nN>`>#ApOXgP)8`967v1U@mmHs$K3_$<1UP9<1&ZGZ&*;?S zKch?2*ltbnyu$B3j`n={6#AVcP|=Cv8>rOd`SGV8RB`h2MpkoDz7F=(>+|ok^quhx z-aqp9*w8=E36N!2oYjVT{+(R@yn(OBu6rZDGZ$9=5}AEZ>iOHnFS(Ep=X~-%jb|u% z-eum_cUnZBS69>L#=czr`8EF@8sp}iuf2}Xnc2US4i@WiH$-%ps8f&mZB+jbj)Mz` zhT|iC#VC3Xvwu6go8sK{HOIT}Gw}Vl1Mx)zSfs~~m&PfZ!`>$Uj+BllYkdu0ezJy`65NJ+|-heA>#8zyHJW@b^CU&ei7+Q=V^onsqzE`jp}M*>j#Q zA5G6`_h~$1@o75$t}-xJ>oujkq2#Q;DgV`P zegb-z5&h-qBmJ|!D_i^PfAGEo3Cj&*`|_NBVpTntYW}Rp{~m*U`F!oqOO*Ww-@EKX zw4-oQ^{^@IxBe*Ao;~Cz_<(Mor$)=!_`T&i-Z&Dl9^=4z%(MN&B`JQe+mpkj?xCTzu`eo+i z5#wjav>$(Lw;6a#_tVguni|QvG|bzT50meiVi+TlIgHYOtqA(*;K8bu<;4sA#bwKu z%rkHtWO1xy{(aRL1CxM+v`y2I3a&?2ErQy$a^ zh;@eHojc0cGZ&mrOf6%y#(Ry5ee~~_aU%2lmdU`;2$B|5qLu>F>jM&F|Z*%lG+oy`JTozCV7XKKmVw4wHTV0&PFotmEW%?XnsE z3&tCdGZuS(tM#jwY5N{3!1EEuW)4yGhdj#he0HYKDmRQ=W2f=NSNQKq<6YxeK7E|w z2>&?|aM3vBaWF*Va**f%(SD+RM0yl495SD z@9BAo_!Ix2`JNj;Qu2xW^n8ia8Lks~TH|tdV-@T3lX;>4e^E@u+ zO&NLrVtDkGCUe|K%C(0lXwox=$E%{Vc8{d&2iv3WzevyMpQQA=uhTT|=TtwHuW8Zu z1(y^3$H}^UF#gE!+KgjCzg+H_5?On2InqeHB(2u;*vgUA@Mxazi;QZ`8$Fty+%=MN zdDuVc8U0%Csym-ccTj&?rL!6!NRF%CY}!Q-;r z?$71m(;U3p!H;$D*c*0#;~YGWc6&MA>)3f5-FE&+2S3@tALZa-IFGRRIQXd!{%8k( zjDw%%;E!|gnGXJV2Y-TtKheRTB9DDym*bdW`CQ1` z6W`BxNr>YWugAxy>HGO86^&t3Q#s$y4AcBbVq@Q5^z|HL=VZ^bjOp+hdVU=uisKfO zr&7zu?br7MJ^!Kad#)*aN39#|JnDa19auiFMEg@Wop3-Io^zN`hUX97w`0P2@}UnR z_aVrCLN;1MAMu`{(C(_V`i%P8^7kI38~QuE`_Y&w3mW>zh=$G|5 z{y2)iuj^9PqvacQ{4XZXMs;I|{0tIh{~Z5?CHne+V+!@(!UH6JF39nJ_nX=;KR;!? zT|2a#^>9sxQ-geA2CIfyeXIAo(+iI`M0GS&x5iM_{QQ z|Lm8a|29?V{@~}z-0y71`0+Z6^+vHFXQ*Y)!sUI((hhn|xK+PYe2G_DJOuE5Wq`=~y~kM)@!jk0~Xe6PNK^k1#x z=;s1lU_f#a<>!0h=YP65d^~8V=>{%lTIA%p9btpd$P9g`<8ghYsfYAkBsadM=g+}= z^>ue}x1LA3cWLVD)#K{MF%PKclTpy2L5PXvOs~B6PilR@_B4GMga6Pt-yhWT;owg- z&*LJS{Qu0-_SrA%c6%SzbnppHw~-$EU;NMeRXoi1ze;*Ep3N(D+v_UU`hB_d{E9wD%D#=RJJ)BY-}dq~ zm$84IUpQWFC-Y2MfAQtIzT)5OaY(11(NFQEUokQsj)VR1=UCi+mWL_D$8qIep#7Po z!1Z{aruAosE+1Z@+yDDc%?GKyjPKBky8V4WBueFs3y-gZKi{Wn+C%<=Z)p8NqAtR- znrP3CY}m*~YruOxac(c6grp6J^|KOuTlgZ6tO z(fLGciFOdJYSDTPM6V-yGtr+CeTe7_MBgA9*Q)K0BAQFIl<0DzZA8x}dI{0*5d8_! zA)>DkeVgdti5?{CYSZ=3BU(hXmgridTZmS)YyC|`uP6FbqJJdH{Wp~}*&nIzG2s0a zrh^~veHba(l|}D7eamt@$V8&{PFGt(s!sE#vL?4 z?0Bv1Hc$Q5o4e=E_Rr2cL`?*OfFK|U2m*qDARq{Q#R$xpkp=%7*EP4d8PkI^41OF^ z=_@WREy${EZp&KV*<_qqQnqmEnI#Jga3W#gc;a1D(d=k}7|B#nL6^RsP}?#YM}i3Kx_X7c|v$ zt`5Lg^_CQ#UhGHRrOT=cvg!kCvx1?{tQ@1XxUy2oiwevAoq>W$XJ@xMgzYHInV*+8 zKQ|Z33M-0y{_?^qpAMarS}LmDJ~oDO_bS8Y}(&d{%xvXKL$p(fsV3{5o5{y+g@!P~Hk|v-3N< z3UcSn&&$d0Y%Ivlo}ZVSUst0tIr*V=Dl;>`9Wr_I^JeCEhLmz%exO^`I5Yo*8KIgE zmCwO^pgEfM2Tw=KV3w_F7= zCn8_p91J^(Nb4h6Tfi+H5wWeB7Mp8Zjq3pm4l!hBYS+&U7t}^PhDPQiI-!V8eV{gM z+7WCG=g+f2yv~*n*z%pWe1|PxV{1xHT_EgpeR~A4x?ppJv7u)Jq^>3s+PdaQXr1dK z`FdME&{-d@>bzj1%Flw{JTDlCFs=3yU~EN=%?)9j+E(3(XdkTA^{ITLEl+TvJk+QM z4CcFS`rURNoBvRAL!`1`TO_{DwIlMnqtI)sO(|HX&jlrKUmK3P)z<1(d(&EH+LTsD z^6LV&SlexFYYpl%L)DNMF#vglS=+8V2$k08p^4eHu87LI)=0jlGt%Ua2#g)AYa?zN zTJ#x=erne0NeJ@|E%toGXJbpa@%52xcU`2W?sa-ppqKM)k=5B+8)%K_w>L(-w>L&` zuBm~@VCtKVk#&W$4J|f#YaWaO(rImmdLwz9__T5BYMW9pHzE&4Drj$nQ9$|~5%qO7 z5F3fxal~;x*aed|F`YpOn)2P9L1>v`jMGc1s#f~-wZo4WX``fU`O>1oD!lptUo&@B zcA!3xJF7k~kXJKv=G=yPf!f-Jnpw4hS+g2u%`=uPDlJ@GSz!1ot194PQMRaLaY0ja zU3*J=hq^XXvA#~~i&{}>VP$1OS7)HZP#5{`P@toA`s!x9&Y_^BY|+xlvOvk)|f=t@RP@WtGJh1?qAeUO*IAz+xn_fLK^kSzcPWvLHX( zsPvUCFD;lovhJ?KRRM^rHAU{sR>SYNtz6V~H?lC8fh(i(!o?6oOQ5q;AyrzuytouP zptQ)p1Qst)2(Th<%d5&NKyHUn_0*E3XZg!Zmn|+Svn^Y2CDq!#zPY8PCM(#|)!5ty zm-Qllky=S89~H~Ws!Em=>%~_`R~szA0v%a7+1c3;#`5Aa|I+fR%7W=DTDxcEKr>ET zx~!tCu+$IzTU@xLU|#;roLRGTAb4IVwY1mOv}AR{dM{tE3ntuF)OO_wPkiGW1GRzH6<5%1aiHu-SkKYM z7^9kk2~aui*|HUWcvA=Jj6UQaMuYvN|K0lVUsBS6$9<$0VgV#M`oeZ=o)0oi|D1mov(s1*AF_yjmZP_CK;2bN;w79po4uo1b@B28-=N^%cGa2#QV0yTot<^t}$un;%65Ay6_3m zFB}tHleBZeGd|5OMC>t+Rq*G5`qeq7?2A(3mnWe~@t7rw7L8e>Xd&8U!e1ZSflVz? zT_@NqxGHAhhS+Z=?OgZ_RjA^A2vqt(*M+*2Fy`OFAC41s4yk&5De=`+D6)R?oG)rKIeJgbmOTT=Wlp4 zN{iOLR}%HY*@dfoy^GA8L8z>>_o$t|Et4DHIe2j4=1IjHU$HK0hu!Q-H&0&$BB=Qs zAS$4Rn~y1;_j=dMIe@v8h*+fvVx69W%Wc_knGHCivjC+4K81z2g``iaFm%Q-j-sgNT3~zkCwD(V& zQ{ILWpH(sh>b?(N^;tg}@<2>ag0ygR`n1A%FLd4H+mdd+^E>zj8*54rfC&B3`{ss& z*1Cy1aFF$W_`>jAG0;t+_;cPl1GKhPcO^rQDZtOM;&%G#e&yRT?(JPr&xXNhANC#q znza9ssIKw8&2xRdr}#E^o4($Q%=t-OZ|4l2v-59#d;hbcVTLv3GOSM32QS+8{=L$- z@n9(1*ZZ-r_g^^&_q+iUf^YNbrtg7gKd5~Dj+-9y_`)3#Y~Iea%*xHO264j$4V*LS-?&-h`dY zc6<|}fJR#}gMBDX>V5Q**YMY+dXMmJ+#ia2WKVK$JO;iEB03Xv*BCJ|F*gCT1egwF zrT{QST;c|19+#8?lf@;c0&^^vd>eWc_og2o9UB{E-LnsS*LM7y^{WGmi;D6+nJ~E= z@0mLzcLtonGdi0(Lmi=-T4P3ITh|QO{-ep5QGb40=lQLghB|b~+CWDqZb_oli1F7e zotoC>I%7s#dnjPc2sHT{I%--2{-$~`WX_lo3Ur5z88s~-cyTt=(Nz}$U!4(wzatQY zm%9V4fi_U9Yj0H5&*uENvF(jrw z&8m4Dvusad1AkuteXu=W&zSBbMV$Z9HQV!b4c99e8{6~skttsfK}97Bk68l;2n>yI z{Cxdm%GU>OKi9)_CfMV(lzG0sGUfdNF@DtH_#vxOAsq3V$NooK=b}9(w&ywjG?3vE zj_Y@>d#ljMme>!A${~Z8u>EN3Ue{+y9=x?yW<{!fMM_g4|K!> z)TrZ)_jm;HNF0d=cxAjXY8>N5qKOlec*HOAub%gLhMkvbW|qZ#e*f(LD4u!iJ?gEu ztE;Q3tGgGC9zUk2MGK36Ev+N1&6H(1WHdm>8fqN`x+QQ{y9NRceh%BU0ny;6TSi*f zMrQ1@=RZBEfq;+sK+vvUD>uuJ{NU%=ddRlIJIJpFdg=10m;7^Xy&!7urRRK^t!JY^ zVgtR_E-L_jQ0YO=Qs|bR)(b+<`dXETh}%G2UKsh2mHU0Wh&Bv5J%u1P&`WE?dka7D zShgPhvx|h^Krek963|OMo~cw95(A%jyb2M|tVv5Qd(k^iW*p zMAqd|FYKY0qr9}A)Qc)T`l&F}t|Ra>R=8feyeRbI9(oB>v_bvSafv}M@>X^{8JBn) z`PD!#T^{uUALiDJ<Uc(==T9{*o>9hA>7h8rk(h}m z^#a?d7gT!r;u&K+3)f2@_c-I}p_e0`t=zgNpchqoj7!Rmg!$9QfqIdzvyX#FTUHo9 zy!7n9XY1vQOA>zi8>yFqp3_J@YagjVs;1|^8;*N?9JdffEYn_m{Ujs2AY0Fmcn}-J zC4C$m=*5(tM_gQ;fGN~1cjSZaaqBGHU~RF{tZ{?K#QsxfGunzDR1#!F3dNB)elbpn)IJLw-A4YSPr(y^U6x1zcV zqAv9BKfwG;=h_E``rGC6>dLFiriDr>YWmNdYd4TA?5FEn*rahskDEl_c+Ba4VV1U^ zlHe|qI|^xnBmEiM4zn@JvLYACJdb+radiLM3s|IiYS5n!;FInQny?3cobo4WgI&o0 zV%B7Rxk>mtBfkRjN<2L`ecM!G^!RaO7}I?z#9(r+tLLtyF*jvhEzVUj_Z&%koQq;^ zX}Syf<6JW&bIwzl&$*qRtC7ZBY%j`lZicy56&ot&UYJWg!FVUv12A5v=x@IA^QM}V?IZXRY+ruwz*u$1qCzqL0ch}51M^P zrra>>M1hP0X^ep~_Bkf<$(W-TBLW&Jv(QK zKUHq1ZdOfsNm%iQ+ZY@sImyv)^r zwoe|`;Y}y%_M;r@EXs7k>_i2_W+1g`Q+D3ZfeM%b{pfjh!z!xk4lwCR&Q*-F=|Au- z7hQkfJZ)oo4l`hXL3e!XUccONt&2U^Oa5Z>dux9Kx5oTG%yY*sj%fo$rcsO^cl=52 zn6$Y~{QuP^GUMw4+i7N;RiJ#cSaSrLBk-Szz#?`3e+S(EkGv)2J8&cNCRajC|87=u z+L{0Nw)&*kgWPK%#XWvUo;psOMe_Qy0sMSL(WKoYh7Ah;so7YeQ~0T)kB{ ziu|hkv(ZMph>WM}otvHoU*jmlbN`60tos-Ew5}}u`!3`ttm`9kMCwg6dYN?!5!veh zT>3fz<$1-$*GbF}dEDK3=fQ&qRF)lBSy5F#@4$IO4?ghV!Dg)6e^9#K?k)qjO&xvw zN!C@P4}RvA1L~)ScAa^_?jJt$yURwt@=w=q*9X_0E93sT@(7o;qhX9Uv}2OHrg&rV z9z}r>t6H}FxX;C1I<_nhx3pi0bSbu5UmO@~Sz)Wop!jaZMa#>qmPLjd*n08KU0Pn? zSjE?j_4R7odwI))c1eUIdyhY_pEY@S3uo7TqhqYzR=DK|tElD1_N#99b!s`ynPj!? zSLF0*+r#cN)aNrEI>j$qkrqYgo1@e!5V3YGxnNY0Q`~;6UC}4p_P*kMtjH-=aXf6@ zWDO6uT;OMI5wx{BR2w)m7W_SjLy_S(N&yE;2w zOH5ez zI(2y5X|>Z*%U3*T<+FZk^zLEjd~59T-HWUpMx8&rgVnV~Y1$(xi|{=?R3vI+N;6nrqTLljfWB3zHU` zbb(1rOj>Hvr6yfr(sGloG3h#!t~cohlWsEUHk0l!=}wbYndEkT_nGv7Ne`Oj{yi*U zJz{XRNspWKYm=TfX{|}_-)~KN)}-f5dfudUCb@qvne>WDubK3QNpG6;wn-aIdfz1X z?++#=P5RiR&rJHWN$%g50@mLQevRMX82sL(f0^`elXhrf`Ye-LndJVpHt3#*ZB5$A zqz)$SY?9BUT}*QSb~U)0Nu5pVYEloAY?Jmfsjo@6e}fGUG3j8F z4mIg8la4g$D3jcE+tDT+ZPGZCjx%Y3Ns~-E(WH}2nqtyvCY^558756NDQHreN#!Q- zZ-)6j)1(TMDor}uq&k!4nY6&9ut|$ea{taZc#%mLo3zZNCYy)e_tB>i%DOZG7-=u*i4L0dulMXRys7Z&KbeKtpn{=c}?%xQ5 zBTX6&`WS=9nsl5=$D1_4B=;|1@ZBdCe0j@@)(0QnFl^bnwJR2Wee*TNKiqfEg#C9s zywB-}we3BB*V5(w*Y3Ki?QWO-;bYczwX+{PuYFX>-Vj_{n!6`9{Vr`(OY1uZQRFH2tAAAMAYn9#u;h+LowqXyM| z_u_M#9vFAPQEeVhEEh^ampu2{(`|RYZ|B&ZUvyo3?t>Fuy!M+7>#KXr@9#A3n3iSKnXs_59w4etl`Tk(-7u==Yaj#jm-x+x>$=XVva&e*f|Ci#o12adFV! z_JhA4GO%v1C1+Q4zq-Z7Ctls*nBSlMSZVjCKiRp%^f!O#^2DR<|2=WY^06&T-~PDM zGou#l|F7=P6#ezo#fj&acRO>~U01d9k6!SH_xpZ)*FErsowz4+M; z=f(%$A3pT3$3O1-)v^m$EqQfndEZC+-qmXS?z4Qy_x_^mif{UU{MoyY-?#Y5OKutS z!}T-PJ$+v9^G@nJ?AU9cu_l-Qx%R=kVvpV&u5Yva#2&qmJN2~7iqAQ=)yU|JtGm{B zx#NWQe>`aLOC5&|nHv24`0-y}xw&*SW{_UHjBke=YuC=irxpKlXjR z_t$Tmx-K}e_lv!bI(Tk}@1M6ujDG9OsWYxv^ImH3;LCsW#;zBf^5BBshL^UxCiKl; zjz9g!>x-ZCJ+pq(ZTHSNsl<2vs6#r{%wGP^Cx(8~l;F)*cY5(tWr=3=O z+TaxnAL=`#$Ae!y)cO4nUkY5X{PWMd4FBqio=+V6$0zDHyx4!`nEfv7^wrCM+%(e{ znbo)bl%iXg9Mo;+>qBq;;rm0cyYkTsX1_e{sP`s0zRvetHRrC+UOdyT?!NK*r{X{S z*!SaCzv(jIqv6q3hpqnf+8!egSl_F3_uB7|+PlsEuY7;;cbELwZ}qR+)ph>v+;;Y` z^ch;Kq9o=y2}K zKlX0Z_SSWupL?9|j`(Lq@87w{yQM3xzcY5v`UfBSe{c*%s$Nll)Y4&?9z8c=)@%`FgbIks=OBTL4ZNe4(?zpOYuf4|}xA(PwoVe_& zgAe#*#lp^49{FRpUw%;3?~}=wjrd{i2b118v-?L2mi=PFitpE-dtT3BCoEd_>V=&r zpZ(M;<9^>|xbLoyzpnW1f3Db6def?!?q{|c`SyLsejH!$;JR+ZURk^P)=Lk3>5cA} zE^XiOk2if*dfUror_Me4q{hiz3Tj zf9R(2t9Cf(-D5`m&w^=7qIF}Y^#1XNSNERZXZDf~*Z03G+<9uxSewol{&4*BhYUY< z&4yzx=ySz_Pp|3Jxn{)0_x{PgX^+}7+fP~6W5-)to%F|Xzki_9GvEEN;jjg3@9DYw zID2$W)r`{@w;XZjW$(T6@lAp0*ByQ8{g>DO@!?b6es}*fyZ=z#xBYdmpYrdQ-m3e{ z`(KX;mBy9@jyd+J(uX=FdHMO@JUH=|@%^pijnsz2<`+Z4S7( z;={Usy*+yGS0`-P?+?e^yyCRW_OYCQ?Eh^2Vbwo8XLM#9wf?U+PuTFr+nXLZV0xRg z-aUItw{>GSy!hK!RxCU$dF%JL4qV*Z8g$4%7Jp#-b`Q?z{>^?jofSTJ)`!RLa_;iy zFD<*}jfW?n-L>Z*AN%#-#l26R@%@0+f9WwSwC9H}yfgRmkyFq3pZV|i>iF4p--rG( z^WMi_JNWhoubR2&k^Ae0u3i1|4j;XK+3CC8{?X7soZe&A&HudfmSwMx-v5IW`}FAd zaqDT{ufOrGZub}8df0v~cI)}i>FeuHS$@zVoenzetAkS?RgQVG>b-A%xbnr%UahYF z{?e0o`TG1-H^2Vo8CRVU`S(3neboDf5ANIWdB09aoHuZqQ#9=Po;4%y{Oj!QLn>m+ zH?|(R;H=3nes;$`?R?=gowurchI`kqcyoL|b4|PKQOmM#{BhGl_X0P(gYTlE;T^i1 zzr&~w_Bm}kbTJvjI}{H$n-N^uHAXgMWP@AC76lp#4>tTyjO^`3cAP6aqJwW)(TEOR zF56*v2m7Ly!#nglztyM?{&^kx8QPR*_#-+LTOEyPw_jP-uZ-T2u3l9K-#FwCHu>+F ze0OqVjq2c=Wb$2~#v}h&H{aN~%=P~wx194^q6WtF@OG}=JR|!rW5e~&t?T(krEST( z+VFP0>Bmh26mO`ZV}`f4;Z1jW9(5@i-!{88CTM+(_?JfaSfjhYtD62I>Ag56F5?leGLt{Ucx*vRo7zPqk;fyw*M6P5K|hA8+_;-Hf#E(H)X4iXLf;GtHH;*O+nkR%BfNMj4r<(Jjkyc|pUw+VEUk z`WP=Xyp@KhkFgu4m4;qB$>nZE-}y3gc2X7Vm}GfK11uc9$>=+Y;cVf#&b-^lxJ z`EipwU)ATMIpvF%v`wG!rsksM9!H;Ds}cn}4;* z51ahb9hhtSB=hq=lfU7PA2-czknj5QtjYJ^{o^Kgy~7&Q!FNT`XxE?7u0Nw)f5y80 zjCK7vx`R`d%boO^T>B@@{My)Q<=ScfYmPv31b(szgfEhPw0>aEn}q)4ZNVEp6Ql!Q zJR#}jei$c$RNO0JC!C5iE(_lCGfY48az8?6%{gVIACxUn1Ejaj>g4PX!<2DL@ z@h9ZdG2qSMfAbsR4+VCEe*Lc{f9+F(ZzTm6uMvFvF~L9lO7PQn1y8+EFtJu}4(JP_ zLidORVRy=tLRUPI8{dCg@>wrd zfu{lez*fMwpg+Dw^m+lmIa}zLfKlKg;8frdz;3`F;KxV6UjuIgE&`qi+!y%CTq*Bf zU=45-uoLi$IU*MaUIVNG9u4dX{I*`?e+Rq^xCnSMurKiQI+0%uybyQ>a0qZG;HR}B z{~O>Xz%t+vU~Awzi0>-keBg$2#m+szg}|eMdjP*&C~{8&mjlazLxJspzh5BocK|Da zhX8+^FZ|blQD7}_1aN2I2j__VgTTeWNx;2<-_8@c^}w5eA>dI!A8^$9BEKil!FjM? zmgM&?7wiiR%oKVM=t|&VoG)e2FNfS5;3u&6a)sz$qHq-GcEDoj^#e|V{{F!4k-rZ3 z-C1Jy1>i;SYc242_!q4dxf#IkfxCgf1or-d{%INP#X+A5dIYdL@ar?h?!&+di4K>(W3v@$$}-Ng5=MiF7(SK+4yl#=pn!*(}aF>s^E?R z!PcO6Mma><{pT4X_whJE@<$&n^r|w!AK(Z5BEACtwcsBLd+SaUz16_mfir*ufg4X1 zxp#mp|9Q}>FBAUAD+E8fQIO?N{-w~-8?y0^>xKU6I>AGMlUEA;z~zu%Avo}oY^2>Q z6o33Okvksxf4@oS+u;ZOB6e6V{2K6Ix>o2*f#(1_0bjaC_}2oD0}cby&;3Ea>y!6* zoV9y4_65DEqvUS@MuA_0e-7wQJBpkao(z6%8<9I`55ZBub?}4rCVtvkwvES z-vqu7{0R6b;Mc(KfSZ8DZ6vNc13LkG0{a370S^HV1C9V51Dpsv1vnje7O)<;2zW7Y z8E`pp1@M=^TYz@}?*Tpld>FVI_#`k6d=9uC_zLhf;M>3tfE$5d1HT7aZ6#i~0*?bu0!{&*0jvOqfQx`v0q+1l1bhnk0x$u57x*#o3*g^? z-vECE?)rtCmqqQQ{%wIBfjxlx0*3&P0FDA42Rs>A0z3;?4_pMi0(c|vtDU6$`$4Y; zJ`G$Cd=>Z(@D1Safu8`s0)7wNp*_wA;2yw!z(K$RK9P7F4tfmmIQVxW=&8U{zZUs3 zL0^sX>OlVjxD>b?cmwcm;A-GQz_q}afbRl71a1WW75F`HSNORDumi9ga6jPQz=ME? z0v+HuU;ubBa2oJT;2hv$U={E(;8nmIfOi1z2mT5e2d)Rc4tyWD5%_oDzk$Ua zTZ(@(K+ghJ0&9SCfeV0(fae33051hbfY$)81KtQ+3cM3|3-Au$-N5^S4*?$qt_CvB zX8Tn7Phw*KLW$*eV7QgfjrCqVUyIyWT!=c z1UH6}XN(%Jl9mW3lpv&ke>~C*KwR*=V^D5-C( zpVaeUnC8@K%S30 zU)_7w?w@ZjdG}28+P|m!o9K;#iJp@014eA2!|w6gIv>edA%Uui>yl9r96@LND~{{V4jP#S6d${E2%4Y z20D|=OAp#Cu?rR)eE6=yNW9C+X(z`$sQf;AC)p1%21rY(v1lj205D2C5$Dgu?DiCU zv~lg5@8V^-`H<@ul*^~D`3bc?q4~5+)O@a^c=4G})cRaU@!~U|sP%nVXCZ1n^@y6E zQ2LbfLN9&FYd-UdnjgTrlNX=)M6J*DF)u#ziCUlQY+iik6SY3q<-GXJCu;r7`W)8j zG@p7z&FA`|7oYh=tna2|JC}$9ib|@a%poadI}z_}Keq=Lc$p z*7~6-*>Ya`zS`XSsRH#A9{QnEvdh>0g%yA4B_baK>hsFW|45zaZR_z1VEs67Shl~R z>#}KcRb#tX66v#;m7;D)TzPs)pS7WCo%L+lfI|M(5>p7`kt-v$?f6dAI~dw-tqj^_Am6XAH@752s`vY2>S`-2iizId46j9Et3)--iMMXoBL6Rie7Z3 zAnkv3M(%hfmWW*7I>Ad|=nW6~@CuO&LY~LhLc5P4pZ@Ut*5j<}J?y7$6Z;mMjbIXVC7W;n4Gd@wq2lKQn0Vj-|)R6pL|4+_9M!^eV_0H z3v=7QaBgn@gRmcZG~2#^nb2|Mv;73lmHY(mqcXpR$MLcrhd;l{wx59g)F|oyf)5Hm zdX&(*{Tw(<{O5iSmK&cW^1c%V86V#jVlRUHB<)YhZU1E0&+Lam0nu?HpH%i^uy3Cv zeEJhTMQ9zLYsThopUyh*GXy*I--;j}%6{-1d)veck`W&J=lnl_2fg z^+LyyA4LCQ2Xos$!^8g|?E9*-?Z=h<IgvdL}em~f^l>Ojyx$U>?lG}a|>(vh09gi>loroV?aOd&xEt2yl0(4#! zntEQy_06)9QY-5_yHMCgbuht+V%GtN4;6YY)-xj=q+S7>$CzGhQG9$SiHjfl4ln@J z3W-~BpWrq@X9VgC4388#r1bm2P~^|DkDPX6@Q*a(NII(Q+@SOms(xBO2K^#)%f$WD z`l&qS$5r`(J*0lx4*k`bgnnyufVU|BeJ#Zvx1DPLQyKrovM$#TeI8$}ZyhG~>6fpo z(Ap33HQLap|7ZOv`}hS=KFH&_iX=%i+%dz!~RX}2l*Op=(GLDmHz>hPd)9wUzNW_`_JRQ zqx2Jv^gp2dU#I+!pnUpGWPO6r_d0)LdHfG4|0B2$qWxfb8Y9a8>8k%ppnN_Lp#6{L z@jsQv|CsVWfcdrdL;FoSq5S`o^5555+9$^s?1!kI%;Ucw`d;lnrTq6{f3^052(gMEh?;->dzE^7!wEKK)9-f9(hP8UxDzcFO+<%IEx0`yb5Xe=Lvx zA?1Gr_rJ6s+HcYk<^QY7{{+hC^FiAGXdeGldHjzl{{wqTd(eK+UyTXn{}A{;bU(4< z+fk6u59#waNqsAvzC;`W{Sfs1(C>tTwSG$Je}(gJ74!qp=krHw2bp>tf%cE`{{j6Z z^h40+{8kOqEuYf=ALz$$A0Yz$4j%s7N?%_;V$kHmi%KSxTTa+h~zpeV5Z_WwjE|2z!ESE_AwoTNhed5EY z{|k@Fe4qI`ek{LG|Go4J_1{aM{t?&0??U~j9&yZBxsM0qPCpu3e=q$)>rek^hvgqY z2Jq%J*~g7+`W>Gp=V8A4_%WV;<~ts=;bJckydT++=l(GCpYn%& zDaV23F+YPZi=GXA=JPu1r58O!)_uYw1gXdCtCwDKDAtQcX6x~~>ZKPw67smO#PWDO z_0qFvh+Z(1U0x@39B7Z2Tq*L2E3)+xSSRhWf9~TGyiVj(_X+a4dZB7BzE0Wt!J9-r ziS<|dF-7Sy-+{i3b=8DgZ~e80UgRB=^Oc~zd-lFg*6%xy`bGaHdWp`W$NH7Fmgn$! z9PAAu7XSwTDRj6~c6qavp7XBAg@E>VLi_g4)|;>Ng1;BJ2r%Ur`NTfidgm*>IOT~0 zMLyIwTkkTZXTK-q1%RnRB5xm)t#_r;bKXb&fUzMWpEx#KFWye*6!?MhLPv4FXW9Ys zNw>r|w|N|xPmCQbc4A7;#=dSZy%h8Uf6MKs{}9O!fxkxi8AiU1jpwOrrTzEopM4(C z&k*b-RC(k#V{-(WBhVay<_I)Lpg96ReFS*FnkDIVGUgYGjon{69ERgVv&ReEH|sk@ z@`Jz_kp66M|F^e2e*cjEdgER$t1tO}{wM%XcV%{Tj~rJi-Ma=mS#8YMet&L%j4#Kf z94B&oI<$TEIF$agJw&j+zT7lo#8b#CFhW9);qB99l?63Gg`*!F-O`} z^Z+R@I$Y=gu(C+jnK%zhVE=+WD!ZMA%{MTL%uNhe&b`;|qWdbVZ@!iH^H4t@9bKPo zcm8TwCn{9m8P_!ZF!qZW*VBJq<+DZU`a}!V=Y0sRpFE*3|GA$)>sylw)Ax#}SAD(Y z?E=et0rAxSItA*pDQo@kNrlzd_9#DEpg#BS>hj|S>hpbZT0dE!KEGa0eNFdP_0u%( z-$2Y_{}aUd@3SP139MH}_7K{K{RM%pLI*(m_RNku?XjI?uAfI{%dz}?*b4%ume*8I z$sz21Th;yZ!G8<=RSK9mRmzQ@CKx+iFtvm9d(IPB-*{3m+!8oIFxpoz85X_7V%R%R zFnEz*V2Pl!6f~dvhzgy!MKFFVc z&ksI7%=1I<1EoEEeiU!x`9XX1Z+q8wd)d?V_5FWd-|clg2GS6a?N4QANcNW#O3y5x zUYE(v{Gh!g_My@q$D2ed(4JFSUscJ>2Kaxa{n6#0sy$!%4|%SU(cLirk@t#H!zbSKN#m@IX(nZ z>={mI{SvP*#-(;ucKjlT{$1WPtd5iKcsbu_k9sNSCzYKj=orwhmU8?+2N(xG0rUeM zAj>NlVOPuhRDJ;VL%<*~yp81sVLzbC(SDE)7br)0FAQxbJ6`tx)AvV-vnugye<^0c1eHzkaL^;E+)D1?l~SBB=#Z--Sel1!?VZ`>TmU-q8DI!@Go?> zYBO%{Vip>W@i6V`dy!RG5zziC!g=$ z{;DzcwpCnrPN=-Be1;kR7|ulS6X#doeEj=$bNgAvrIjVMwbSa#XNM}yo4iEK8V-ZJ zzGdQy{*>i;@z16}Bk^9e%Z?Ql=`GaPfW8@6-?bwBXaVzS{!0Add-<)fw1d zdP!|X>9pC^W%ZTinFGQ2)mNF&S5%dk*|q1)o?cyfm_2i@5j8Et+G-P-i2ATSvE4bZ z<~|P@2QT!p7rj^3IilDv<)yFl2O`7u&mBq+FpFmHZ~6;%26|Vh?gleymZYY=a?IASVYXUUm5kdVKkAN-mjEAom^ilr= zXvQOg=TsPv0QMb68K1tQ&-g^JznJxB`D*?|-JMg-`oI+z%z~Q#ALnldt{J z{%hLC{Rc1o2>1>#jQbRRUVN zviRX zdWrL#<1NZ_{6@O5NPDa^?REM8{Qicnul-+E-+n){`a0Op!|}-8Xvlu}nSLnLx8=4~!T6-(KYM zdrJJ{K$e#e*k-n1H3{k8RB?C6i7%y1c6G=KrQwS68-8k3#Xk8F9AFmE4hL zTc@geZkBXI&BA}zmX=fvoK{;myKY*2m6@E`{&_=&ln*IAc*dX^g9Z)VOdeEHdWgU6 zF10l;WgqPRcTn3$6 z8uA_fW`1)7nj_F0f#wJ_N1!vd1+C!kL{fcs?hgZW;V zV)=YQnwQ|oQV$={25ND>?}y(f@)bi5g1Y_=?6huiUV5oe*WV9)ulfg+9|7Dqr61Zq zO@~;%s(~**>6-*e-iqXPs~Mm@I(90??_QT1%0;v6!hl7{~-KNDF1mp1J_G=^q=~)?{6!7 zuk$wueac5r4((|F`JF1thoDdYd7Lu)ov=@+`x)8i+wO{{J-)w>-^n-qRVFLQP{U@IgJJd@;F2(Y05We<@?ccda_?bAsFWMsp zVTbKM4!tgyiN3wFpl^X7^@s`Rv;9z?{1oEn)qaxDr+i|*ltVk(f9_|bd!e~9~zppZbEX=jW2 zgU|94kBDEae`t-+#mfYf@IL|n=@-Wz&Z8nn|EW(o=RVhJi3PMj;qayfoUs`^u(a^XDnPwD!j9NO8U{>l&QSK=4z z&+p%9{63uB|LubBzR^#j)+4>7iTd9zYFha-3)EkP@9`Z}FXbhll=yrBn&0naeKoSa zHqL+jTyPY}lX?!~Z~EW#1myVzQZCE?4&~3xQ$Ekf8Ond(Q{q3r7sPV&VJ`?cC%O0M z&EyX21wQPP{HgXwupaCmgKD2mKEKKTsr;jT`bWC4NdI(wXZ@GeH}o^9??4CDlsy3(+2*_xNwwKOe+;Qv~zm)Jo~! z5}5bJF+NRTyy-{(8o>Kr0-&uIMK479C87D=>^NxqG0C?!2&PsGI-q^vhe5}|kAseY z9~~^mEe1LX+CNO5t8Eh`Vz&7zS8NdK6%z52`TZBO^VVO39-mk+mheR(|SANNJh%X2)^Ti6;n z8^CY+M|(UTOMhndb+;qB_b0+@q}?{CO8TcC8Ek*LzLaPD>T2rK&&Pz9iaqwbL~U<) zNlgvkl}1}GvOLG|)9(fJcwWc6?WI~C7;C6)o^i$mCxG?TZ0?p+s-5`D2RDR`wDF+KVZB{LZ>{ij+hDd{}?lvWD3?{sQG z*Nq{-@3hC2e~ALiO~4+H2fv#hy-w8^>kZm3P5ZGfMtl5Dx{d1>;}eduY+-gS3LvZM;|E6Uc5lL zAik%ObYy&@%a8DT8xIy%t^@g~hrJm1PJ#Ap$Ok>_CBP5icyvSs_+9xV_&mPR0?UmT zD3|f?l-%(P;XBj`_{TTz^1Jk5@adl&D=g0bT||!UkKdv9og{wHUa&xW5oM3xosTGc z(E{zIls$fD-iPnW)4yba_N<2ri%T5#qo?OS9#QZEyNW#?4}PaUq5KOLSZ=sLxr~4K z-n>5Fg7{v2O!>#}+=sx=#IL||t%nPXU#e2#7RC4KwSP(QeY<7HZ-0CT-kPo2UxDR@ z3zUn&esY?}@dZC#puJ3eJ?tf5FNFH07x7F`jzE2rs=kaD$CI@c^X2(%tgnTxlDM5s zK_KUM=5ZCp**;`Lf3|%4_2%)f>u-kdK6iva&M(;R*zY7bPJ6wu_NDDvXNVr_Pkv*O z^-IrJGZoluB_IDvi1IzeJkGoy(c*if?KJgg{cYJvMn(@vz z-z+T&<*W$fY4|y!y}3O#rlJM@V0>%KORLShfGivJ<^CGpC-lRf*ZU{( zy+43_whO**f&Gr};_QBge9FhM4!~+@dtvNf@ZBMH!nX+efuUQ4wt@NH$B^&+2izy( z{Phm-{TpZ)*AUm){$XsQQx6qmZM zmH3-@TrhQ)U=)}H-vPg=$J4ndJ3iVU*RO_&aU!2BtLqipdatY3$7J9(NV^y_E$nD z@%_!{KZK6=!F!~?6`Jj&7kbMq&EEyEgCgAvB7WmC&!N}yI}ICvgck4+&}sk z{h8d4VSPDHpnvh}G!reE5$CqH)3^`^GUbo(N*PhbX#_>*`wzh9`H=wKz~!y}x%7{8WAUf5$McQ;#Zlk? zZU1;Y=pXw7eLUzV&*vcSpE>G28skTMtna#?Nqy;mx<7N*QB{Ag+H z)Xem|{(JFDXO&dtXYXDQy*Wy$36nB&-p3sX+GzxY!8}GJ)-7w zKJ3Nk{FmQ@qnr=->q+zd&7{MM|J^c)r+v9#qGxt|wSH9TkA+@H=_k2=LbdO>(q9R^ zxYD=P{()8dW&0I9O6CW;{sHUh1d-Ox2Qi1ZBhOd%=cCOEZpzUl<%dF z{SMmyaDn>4Q$5PZ{r7z3+o$E$4{Lo@zlh?mi%9%Zz(V7f^eErK{dxNDsPY4fKkG^< zKSH##+X?OHSG(cYnvdjy6p6#|!yf9r^jz_vsI>*V-S=Z|IBrJH96SII&z}Qt|oR8~KI$ z=M^vBZ{mE!R`*-9|EbQ|{%XGOxvlf*H_@-;nNJKTKK*69b@_3~hk&u?#h)NB`hw5_ zpuQibk56)4c75mxjaQ zYuboIzWLRRlIqH>t(Tf_LDg+-e(Caa&A{kyLw>{grB{68*dNU}2YxB%2log0G5_KG zC_&m|e{!M6f$N1_=dhs|fIk7un_{4SoF6LMfxo_m=m!){{}bTH;Xj{mW_?H(>i_nZ z^Ey5}E<7GQ4uK}dKcD{-A;5lt$0@Om>k(|9d_Gy1zY8|1rJj-F=&TjwbuNMRAD3ow zZA2iK1k$emx1t{gGC#g*v)zVv5|Fc>6+Y!dpyMh(ighdfz1XBB_aD9TY1cVUVs02uK8Y{bB#l>kscoCl+P*)A`~?dz7O+(v8KR%AUU7`WjhJ*5kj`Ki2=} zdVIH+e;iMl%|u)M-rjJ2C(`47SHOHpGS~MY|5NS9KB{r&G2{1B`A7TPtNrNnx!-?T zef>X^`VPc_on11ss-mvG%zY@x{VorWH&NdYb?QRXN~`K;)KCEEX|JEOXWl>B!d`Vn zoog?B54wR(p3lx4vm0tF_n#B*=00Ca8rX7wa{o=7`%Hc(dSMTJrM?A8|GYk$O#Vps zW7b<}oA(J|K}WyusozuLSE28F;(br9TQbfpGOqR!1abe->wQ%Y%D;OX-&ZvS`p%2F zj|=@G>iUNosn7azT~^oM#=Ml}g;o6z`|{7}eE=5j--RK+8x(ZEXG4D<@b&vn#aVu?n-6)$@|UBKlGyP_qD~AWYd)M(*Hr} z_xI4J9bNv3O8?NMQvP)+pXK|yZN0ti{c^VdT94nyrau~oz9IS@Udpz^a`Wl`4&_H* z%+_Z)^oO*@nd?RG6rkq+)cPAAm+!`odP0!p`+7>;HSR%yJgD_Zcg>?mHsv+$Nr615 z^+!9@KiI?L2y9Q(j{)3gkhpN4iHIJ+djUu_p!cpw=V3R~|jGDX)?H zUMc5=T8}jM$$IHApYj^H&zEvusP#y5U#^!P^C_>9*C)z(q1Gea&r3n&Q(oh~O3sVa zdZfAU*-MZ4l-Jmw0>H90+5HyTT95Pq3T&f3$GJ4q*z!4^-d6oVRNO}Y^+cet{ts?q z`9qqhe{d7^4{4%)gGbTRmb~J}V%YA8+~-ez#H0O^Pd(xRWB?y%r2e5w|Hnq^AJ#e{del9;fR0LlF8L&uRUD z(vQC*_UMP6|EOwMLFl){{FD1Q^}Y(~IqLh;A?UY82SAZH$jj29Mwa4_>?1t&yjs; zd=Ax)hwKGyM#j8FUQ`}d(d_w&Pf_+E7= zG(J(-=e{m4dpbYyeqr&6HLzbu`(ZhS`k!cEpSoMah&ryxJn>C|-`MuKH6NOJ%@Jsh zKyw6|BhVay<_I)Lpg97~5onG;a|D_r&>Vs02sB5aIRecQXpTT(5!eME9QNAZn9oXB zt^bGAx@JCo@*`>;(XZASDVGo9%8qXv{qbR4n&qWD?l+L{g|R&A_g;F<`OOh%jzDt+ znj_F0f#wJ_N1!FvS!MA`P>?ib_rwI;#{F9*RcQ5>?!~41&yl)`qIj?1D+!)Bc6=+?b+t*%r zJKKwIqrEE;Aoi#1_wv23G5DRdFZ=tZwKIKudLg5<+Wp?cJS*B3?HS)Up3n=e9kWn{pRbr1meHtdd~M0Y{2!M?;S{j=6eJ- zg64DiDbRe*{yWe%+K~_aD$j#1p!rxQd?J3Q8m-NUm5d-WTo^=fy)FrUts^HueZ*d+xhylo$bZ9 z(H`eV_U;mg5HJq(b&~ubFb3pdW1K?MRD8mRA1yLrJksfmNYl(;H{ckT4!_jrIFXb8 z-`jbdlm69C%1spu27s|+gpM977#S~^2nfa}3dT+lOf3~mUM!fnL@;oNpmV37|1QDM zLxRDF1p|)=I=>S1uNJf)6O6ws7<)x9`l_J+6G8h^(0j^res*_3Uk^O@*Av)FFa=ER z1-X5}-w%ACZ#eQtARibWC3I-CU~mlhM++v$3MR%0#wQ5!7n(MBsgMV~>^a-n zUbu<&^mxX38})ssarI_>wY@OxIooKD=Nad3ar&1h{+iAAr|IXeNjqA>gQmR3W0kzu z`x~?#>G4g}&+1H!t;Uvrd=tx`u#Nh@p3=^SD}67L@gh=RI$1BR&H2M!aMsXu0`TAP{FBT^q1t<8cSzoJv|B;QQ8oCUCw`k67sYBUnD|kUnv1 zg*M<(UhC)hByt0-%|E^LCvO(n>Mt+-leen1ndzlJWwXdue|hPjvQ@3kOfUUYH;Zib zmzVx&Th-dk)cOgur@&^Bt^V@TFSPx7>2v(B)xr(aOMg;6Mex1!PgnY0*H16~Gn%MB zwTb%Eny4RaqJE9iU;CK6KkeJ!%6%`gz2c|!kH05dkNOF;S8b<+0(sC&e|jE0vc2?6 zDUb)f^vm+-k*)Q8h(|dE@}QUgj68Z|d+D1chJyaQ^k)^MZCPIW6;0GXvx)j=HBrB^ ziTbmZzE}U{6+d?kso`H^^{X2yo8OJq4>eK$>?Z2hDt-1}J3pJ<4|&B;>yPp1zc^mg zSm^vw>ya+>{biKbSm^u9v>xd~$DfoZGM!bZ- zy(*6V795Z0^#^}Pk)xeLk>$<9_auB+kF{aoO5hgv!*IXV!n#MiE6U$f&;bSy+BUzu z{2vHLZGEWBeEdA~w*Lgy@izjwe$4vSme&oh%+Z;Ve-7&JSNm7UpRXLUL3_pr-?{Vp zzFYL45|`jNKTUkfP#>@2gkA-~$arooFAFGM`23W2a(jR?(#oudj{|>#@W&o3etE^evH4!{ z3Bw-;{>0%=82&`zPjEZ?GY}Op{oAzClB&}3N^=fRnpIO?W~ILe5%f6UORLMurG|0^Xd{OBWFIcaDR{(x=6J>7kA?F+ z4u8V%CkTI{{~>=Y+%I(4A7X!L9R5V%Px2@7NB4&b?5hgnJ2PSU<80^suA5ts{Nndx z0~OK^xIff)4%S8aol@+>wQw9Av?~k8F^=;t41be6{|1TOB+y2G6~+FwB->%>_HBo{ zo`ur9Kg4k*k>krk*Vm~>q<*36>(nDsztHt{u4`*7bbdiSmQT8|^9$+`3oT!lOZ~={ z@7qh-G4< z^@!9jwEZS9pW}DY_4~bpn0GK0k(B(B>3h|;&P-;(j?c^CK4XS*TVN?*TU-^%lTeLvby#vb;84*4^_6GnyyI-AS) zkdW*E zwo{FT#!u^!zIkwV`D||*DX;PIgPNxQw5q=@m$WXI^!H8Fe|Au||Ba3RD+8ORe{d7^ z&o5A4_ut_>{kMbui}AOQlz#84KNWWUi$h=c-@ZDrL%RvcC4ng*pQp>nVf+~GEBdR@ ze+NAJZ~rKf+oJ!*{Qxh0_TK>y{b(M2UUx!DKRHSK*?75JZ=yay+sTdx>+2gW`F!q> z`s9Zn6#Z7n;JPsRHuOm+j}m*dqw609pYqm;BH!L8mN|Z4{4;Xu2kUP`zhzhiGWv+0 zQp=D$?tTw_#y_K=elQM>(x=!iIKZ3-Fn|7P+1Jnl864+(@i~t7;&Ytt#pgKOi_dYk z7oX#3FFwb~UVIzlNH2a2&q+CuOPzss3$%)*eK>6dD~qHbWc*L0~VbbTVE-$RkOU>8ko#rje{7NA~|p=)fW%XzN9xL!|Lt>p18*Xq)rv4I-afE$D#ufgc7P2R{xv0)BL` zwEr0BBxpa@AM7E*4}cDW4uOt>j(|>rj#2+$(N9nxbc*_*eVDH%LHj`mv2KtA9mPC2 zhH*|1<0>D{<7By%XI~*0T><|=+be|*lMgy@AM|b#4BiWRt)L%t5_Gg9o}c-v@Dre; zUkRP;Bz*gyLdW|+{#&8L`v@KLL#{9Afr4?;gMfwN0y zR#nv1mtlv5x;t-KemL3-IJ>$mr|YyQ`zJEnEiA5o5w*Qgb!AEB=3)cOEU!Xu41>%> zpnhH_fc9n|D#tIx_6NE_5m`TJk9|7FcWd-|U6z(NL3@;-J<^TEpUR%DZ~VWkzUzJ_ z^&N-?q0b-PPPRCIN-C>!oju&PTH`AT+yro-Wqn z`52m2Qk!e9F7La) z+6Ahed7lyK|0~yr4L`H~Qf=?F^6l@esH!Wk2{G!Mk=Iv!Jxu=0>g!Zj*NiWj9I_VW zZqNGqFxSd0$Lm8?b!W>TIYfU&_VJFa z!*v$|P4y>V`OcK=@`H;0$;-!j5#td(E8Cy#U4FiJBxhxpA6Nd+&kR;(%NOde>xcW7 z?|jhyYFey#{~!99_{aXMvHgFhze5#MxPQ?LbcWAf>O?sno_y$W{~gc&rB~p*+eOem zCHuI#ad-b>u%EgAq52OiCi-6YKjP3AYnGM7`9?psxc{Nf#{~4Z_5Mc+`Ypra0sET` zsDF_4KQ+7l?C+eDB%k%CKI`M;seb_alushgw6jJ1)o};d)h{A(kHi0@@}KYB zj4S`CPk+LB{7)$VqbP@VwEscnM^gFE{%#)pw|A9#L{F1ACr=mT{Xb`NcKoSN|KoZ5 z4?v&tL6k!~+J75-9{(Wp8Gj4?OP4Ff?=bui!f%$t^C6}Dr#|JJhqiwHSSL&UDQ~kJ z_@Vtz!hg#9pilpK|1V!Z&+)z=`Ypp^k^So$)IZ7kpMm3t^7$M{1o}LGs89dmdFmh4 z^+!3hvqk+G9~2N%_2>SbXlI!XIP9{&*ZTZV;`I8*8~_A2o^%KA@}e64R)W!Inj zl(Qb$di{OSr@W1FXlIN1BR&~<=x=NN9q6|Vi$$J45yXMzXypC#fYSG4Jif9X@#=^; z28Fgu1o__MB=mXyP@m<6^TaO&eaZ(>4(;gp+2FJNSk>Z>j-UTH_)o(M*?w&3w+xFw z5c9&Nb3{ML`lH@7!}>;{Pn!Cav%+GB{jD#uf8>!(D?idi{beJv%lFzp#`^L&kp7jEt*_%on(|tI z|KUy3zom)#omKtmuSV@R>+?Z@@%Pf7bW~yW_tIbAME#=*JbrrrosIs3{T=(QOx$ok zm~<5DxBn<`|D6qez5gzDYj*$Xhnxcp0Cj)H_;DXe68rBW9{caYu;aD=&P$);?}&#! z_n~;{GmcRYeg7n>zn4C*pK+xh;rM%==*MyWNY2cTCy!V1GRf!lgZktL7YpC(`jLV@ z<)bKvcC`ON?Z+~)udkmxezdER@w1`dGAt6A1UbPzPx zPcr*EM~fWk2-XL<{t;EQjrpsMd97d3QP7-!#}sX2{>S;PU(rd>oIi#!-w0wH&#gfC;gu!T_dP`R&8;7zL7)w!zT7{_geN0iD8H<{vaTefwfTqA z&%}!o`S^?%P7f=Jb=Q372kJA3$H$|*E%+?YoZk|R!SWn^zVh7r@hqbu^8QA{Jok4z z&pgsre9l{Gr_l9duE%We^e}_4}!gm##DY@4?#=Eh{NAGV9W1PeC_3`vyBK=$_ zDj2y~&;f?Qw=rJKx4&51&qs3{=H;JPym@_Y2Su9(aDC--47{F3v98bSXB6w)ydH7g znAbbxmF$dEKyQOT3b}UZzN69VmhI53XxOFrVf+3*Bxi@_qOGK7#{;|83(H zAL7sTP#z!BJU+o`a@^uLK2fYY@pzHu@rtT-nWi4EpIYDR{K%XaI3IW(u>EJ+J=W3L z&e^_`XxD7d+q)hARB_n_6EGX=mHEnX3Y3eY{Up(TwB0cHiQQy;%6ZWlSnrB~&+ApR zz;ZL=TwS1|V>lmd>;qG5D}eqe&T+FAP;{og9_K>{_WYO^bNyf;>Kg{1^>wiRp^Djp z3>GLC!+bp&k@H&{;&)M^1=`EZ=RE9%Fh5TgXpi&7pxXC9KO?YbV_ksxUdaC4_OKU& zy$Fs6AESQ*>veJPc|5`emK!Zlj{Zfj%zZq<%OpPq|9F0M7%A&{5%B4sbzW{eIzEBj z<$U8hM(=TA&v&`#)1FhHy_mB1%2=@%R`w!qihY*bc~6mxeVScv_@ct<;fFn*N2kD^ zKbCFJ25rBX+pdrN0?V}uluNuJ<*~lOE{My6+5W{Z%uzGtQue|H+Vd%U zyTiZG1LDuFbO7gf^o87h1|V-2Sguu|Tf#FRa!KzlJ|?;)P&pDX{=x)zVSM!Qfs^b5f+bJshL@_la$pZ(CY zXjcj4U%0?>L$JsAwLtuW8?);hFVJ2>*}DM#C6ztKDYHIRS5o8d$mRQ8^Q}+ueYtu8 zZWmSr&tI|}2jd;m8|x9rIf7hIC!f!Ik`5~Uq0kE|{iqth@xC(c=y5uqZy}%eZvuE; zmHDBN_(@v(mr(o-@XMN8VEr)up#6T(3n=|C$5$%8VWmG0dQqhx_t1|j{dLewDSb`Fu0wY>eAT>*M1nesF=<84C3AIeZ!b>hhB)U&lYC?9o8Gyz~Pt5E|~nO?D6>1 zztnCL*Mc2`;P&>U3H@J*P0W_hW83eYQl{LTc+Efneh&dCTz0!}YWaD~o3wq))AzSY^LZoEu3zq-rlUAdg=<;*cx(AUBjtma zWY<^QkHcQ{5s^#XAs7WF?-V)$)c4y%FK64gRDA73Hs7z-1z2yQK7RUqp&Xyz<9w9+ zFUi-)bs`7z+m>OGpuWEEuk|}3BcSwo{;a|L*v7hiP~BhP@sB~D`!A`_@{*X>d+ooB ztNFQ&a%hM1aIT+Z=HVzH0sU>=f06BrP+5&{eXmQDn3_*ib`gD@a?iWO4OssT;m@@3s&z+hnCE?sul>?)mJV`47MF z_Iu9z@x1?Y>eTtJ9Dml&a?QB@F>d^=sJ~o3`pI_o8-KAJ+EG8p-;VY5@`!&J@i%{Z z^?IA1=YAP~vA%cKh<~n#f0*${J7xTN9wWy)DB{oMT&B;B>s48ATw2!4{QC~E{(~-z z>m=hkj_KK7nO<{<_5blXtNS1K{6qGe+kwnqbbBU_WJzB)&KcJtpCsJtpBjTsoxu%=YP8K`Th0)&*P-@AI9hJq^i60 zNaHt)=N|e|{}E&AFGT&xs@@`gXY`-#52F4f$JDRhUT>Fjds;rfF^u~8eN)EYi2B)I zC(c8b%Ud>KaBoMhqB+ych=~?xkmr9MgN^!YtLK{vY&Bj zujqeVxqg(Ji*yia`Mclqr_}woui6MwVxUf!&q=fBH#nnnFQ&pz|EI2c&t>yal?^m?r{B(bv_1i`LM%3@TYJL58iu(Dx3$1n5pDpU= z^WW`t#@{XK=kKR<1{=K4pZvW@kS-)S@Z^ZfVW*okKd-~guCxANO#M8r zS*!o~qJFNw^RXV}`u>p4>hI5!ihP#Kdf84+UvK@l#P`>}*#30m^Zy;uP`Uk?jqS)= zg)xO67!=l9RJa*gaK(uMcepRaN}x&AahQqNC^yna-+ z--~u0(x^ZGS*}cXf3kkhbJqWZ_r9)Ek+ z>iT8BnJ@dz`j1#={VZR$^S^#(b^qhy&p7gWMBcC0j2U^qU+3lZ^3D4l`;qTlSWh2D zKJV9TzM`I<&&v%XpXVzxpU=zX@qYg&>w1~b=jA$aoY#!~zs%?Ja(TSji}{()@ohBC z^TBzZwH4d<@_c%EK6v^0!+c6AI?nc99_MXmV|%?;d&T>iMvqi3{ktX7ybhJ;XVN$C zUr5h9kCA@EIId5x@;Et~Uw1Mto{S^=&wdZJzqJC(=O^+wq7@a6)$e6?;yT>$7wh%A z*^kf7f3DO1Z^wH7(U|``F+bA&Am)FpPS+a0`Ktw9xH?;v-($t>HM7}Xxu4&Q@5|gT zU$dboFs{Anod>tPv%T#9aEVY@>g3Pg>nxIlouTFUOb1(RFM4kGH)3)&9e}zs{-kde!-Z zI^T%2_t$lPVOz|9)whmsK0a63f9Y3_r~l#A?d5rhtiMpqFYD)VPnIwHE0=ekC&}`q z$NY!tc)F1eKUn8`k&JWu4=e!Z0<7}^tZ>E?(w}wx~|Ez2{j&G~y%g^(;@#gllT%XF%-%Na-aygXq zb9$z;#rmDoGj0Dxy?ip?EAodLf4ThDig#G_-yE)v?@;4etN+=ezqulRxcgr#os@|FYJYU(Gy0eNx4SmU{^QXaZ}S8j@9s@9-aKDc-oKm2f5W)0 zQ?H$i#}DtSw^OYT)M+R3^Km}3ANkqH4_4|Rncrxd@s-=Jb2rKQo$=+kj?{Qtn`FFa$3U;#Tb=a}Keqnk{g=Gt<*&Q; zWiNS2I%S&e?Y(mGL~wl)Vd?s89_MFT9`C>Q+Uxh;aDej%r$@uBE3Y`<`^55mXTA@h z73GiB?@=}XUA-OY{O3At#`(=*r2RP0+4-HAALloRk@lVE%vI^2()@nP&uueWX+I{8 z8y_2K{BCG#zRp*VsFz3gQFYonqfYy=JP#_EO;Bl^M=w0u;n5C{Zg{l9V-OzQ@EC4& zkNAQfcm42%f4uto;kZROuKqXwXm$N@*B|HO{)6)RRtu-}kqx>yL}SHzxi^{MDh=zwf@)^~c3O zuKyogSY3Zy{PSbtzu|Wet^RKp_kWCwe_a3X`1tzzZ^!R?=X#UrdgC8gf4%XKtH0j( zGu}Lpo%@yJyxMWRwRr!}(l@~6asN_2|JsWCkG?Y+$o+?GZ!YUkylLtF-SYmW<{I}e zwW5Bu*Z+9Ef01$I^l@o3`_CQSDA?UqT$hS+3vqlrj5Lo+v;F-3%Ig~Gkk8L&xlFs! zPQL#<>*sZoarM)&Q`FDvH~k-t{j7MOPUjPKKKsqI5%u%=kF1~bhi|UyjeGv1iuzf; z8U18CW&HUbf-FCb^9T9-M_wOmNBmX1uc#UCPsnL6F5+Ll-Wc(BBK~0!f1ZCI#`%(rf4P2i&{-q?L2*5$AN^!IW&HUbii|(6 z*QS3yKQ{NT>g7KCzhXVQbM^X@&)*FHLp?p?&-&T^Fh0NI)}Mu_pXEEzPqtIWpYL(V z^3|`@{b&4nJ)sftx9+azcYbem{CS^KKkDc5$okoS=Ph-;j6XkjIe#wdXTBNzWIJX2 z`5uTYKZyD}8}*hXKmX-(dRe|qhf#m3ThGbs7lR+EA9?^-?n9M8gV#y>mRcbfAzUKzUHS^$Dii~=Zg5Ve#SFgBmO}V z|1jducFOqkJsR2md=Y7Vtp{mxtKc5-=@{ z&+%vd?5DrR_!px7a{1^d+u3jYMI6-^>;7~63!km?yZ+BQZT@kc_CHgn*-!rdRVV6a z{8>NC4cCZ&HtJ{jPV|%Ql=0_#OtO5ph<|Rrj`Qk>znk%Yb#?q1@34qJ>u3ATAFu0; zTmKe{__N-)^Obwz{A?%EnW&KGBd>qmwbvf#hNmNS{y5{!^)d4sO*6jSFUj`WG0uZ+ zFY9G{ncrxd%j0F&U3t|@uH1Y5@>%3HmdE#Bb^X;>9-y;vG%CNT($Vy;Z-&J==%5|kB>4f+k5p@_3v7gJ?Hv< z)f@JfuliUjx^n*VvRcu|TJtmBm5chGORH+F&)?o+VK?7bfBv(*jjlhlSKM&*imcyQzku^*ptG^)#a(g+5`;rL&pwmApoy4+7~$Npq5+R6BD&;7(=KQ7<*R<@t-%P!-e3;#y3KeG_W;jLmnCHJGs z_Vc~JW&4e|Z@5>q--`XLLDBv&_T$R-^F6?2`@Pt2YkaBpO`l%0--_w!obQt>+t2p` zm+iNr{a(@jFxnr+^w$4Z_uv1UI_(wfXTI0BT)u-puglMTd3F5Ve_iKiV|vEl|Jwt% zpYQoCi)M+)ICpcuk)RU*J;Kx{CXWv`FVfjBkJc? z%l2E3s_QqRos8$q->J`Ym*wZay)HldusXdtI^Hp+eB-~>@pPhm#{ZF%>-sY>J>&2H zeO-ROc%SCa{-*=SGavh3t@Me8t}fai{A0xNjRUuTd$ga=DP}ywW*uiYo>xep_l_BF zC*o;7W_>>W-Qf`B)90>OPdYI@>*rjy9}P7h zRJW7sPphi)3uD^9EZQ&E|M}e5K56mz zZWT=K7oQ$eZ@B8U`!zV4wchzJzy7*cKesq$URl4MzZ`4ydVl-l=I3}<9U8CW`2CH0 zue#;{;Vh45Y5xA}!_?z2cAb9nC*LILq;jo1gb5o)T@gBF*cId7Un= zcjfV79@pjZSFR6vJd?*Ad3=!j@yq+$v0t3~ueqO@`-8b3wqmIMJPHE2eqQzZ)%V+8 zb!C12ZQS^ac;D| zET8dZexqsnUVqgMuig72S5-5gxqIn8@N6gNx30T>@96gIM$B(UfqdRE%V#s*;X)aS28%V*_(*>0u_ah$)LkNw=tAMyT+nqt%q_;%c*j2}uzq>N{RK)x6dOd2M zU8ni`$emuD&*w1uU#;_VGlzCOmhX>l{(iI<+qv@kckYiZ4=2uB=Joq3K93*C^O|w} zyA%6uSucMVx>KAF&H7oc^W$|q7VBx*L(j+E9y^m>lSnS zaC?lupW~17x!G?%C)q2;pY^j`e~t0?%khVEwzJ>(i{&s^j6b(8_eK2Gf2o(>u!w*0 ze$S0 z;xD&v&Hw*fe}4K!{GI40+bQGEbT*e}WJ@>#x2=i+>P-oO0YasTpt z@&3hD#Q$AUvD`20W&JVtFL$DTes`Dk2gP%$o&QmLWgKO^Wqz3b7xypE$Mw7{zmWaJ z`SM1jS7(7p^Yc51<&qA~h%1Zd^`B0(lkZ>5`g8I9G_HPz+b!z1UmxcY|EhKvSHBs7 z^o#o0|7=`O99MsL)E|tg-&>=8e$Nhz`uRSSnJ3ocXvX!2jJI6=z2Z7fgtcGNk8*R7 z4#w0g@1Ji)|KrxbVbRVoj>B>s>9=1%F<~L<=lg^6I4<8Gob}7~XSuz&&pzwtdsFj0 zGvn%?8x1s~e)<03{QZcv>Nl6`uYP~vKh5YT+bQEO&yO{uer~^C zc2fP`>8s=OGl>3AkATY0PZjmwI#Iv>yUNrO{jw8jo-b-dJGuO_e#YC0&;Pjnzbfiy`C(j# z&31A*^ur~u)8_VMA+~?H{O032@j~oBH2$QHe;9FRKN(NExW1b8v)piv_&ZTQ%lD(7 zY^RJr{j&UQ)L)K2KEIv!#c@y;EYe(Vy{JFctqZ(5*57`tztun0<3A(nXT8W){ir`~ z{cT45^e*eqmE-@1y1$Gg`x%$cNBwgB?d_=B$$G;mw~+nC_2V+0g*fi%$MT=g2+sWn7375Q%o}T@vpUZzHt~=iz*J)?| zYwggF>*Lwaay)r`I%Z`3EH_*u{$|wA@}1}>+bQEuzbro!^)vqb{#oz(+m8BE-MYme ziS_pjx&HohJ^n{Whvo9_ME$YrZ`4okvi@u_{^(};{g!)Q`;w(wF6U!^uslDW`(dX? z#rv-hW=nONzrS7n{%XHCelLIjbgq~`{jY0}nMm{ddUbDAmB%ePJ&&8q{@cazXO`cu zejIm}_2<`FKacy$`t9QQYh3?%+?B^yYaLgW^OyJkir?pM7vDeGe_21jf7)-Xx69@H zte0u-cVs^IJIdwTE%smXJXl#j+sU--Klgicetz#{KEF51-{0=U{#%wS=QnbD8wFai zU$86E{JbyMk3Y)(^LuZ-e*29twx4Butz!F|apZO@^SRwE>krEM#riQ{%)dOg%iT!F zjlb+ax0?q${$?D{9&G)Yv+Mo3gRXy0oL?<`+HwC+I%m4)Nvro?^8TXz{LA`9`}4*8 zJ#l~0Y^3A-%l`BJqk|p)!c$hCU(WUOBgHuTAB=HN)a4t`UtMpe$Ty38`epl>UwCTW z&U{gRP~?~UkBY-$e%b#*F~8hC_40kp(Ox;f`GVEsYZvXci~0F}gB)MyU#wnFa=bY| z^E3a;>V9(iR!#GI%ImJZ=DL@?>i$dgYwcgGxL;`1(6hbSxZcxzUA>=>_YbcsyqL-T zl~M2IyitDT{QIN3zvNo;^ZIcfcXXrbiS|56|5xkfkk6Ooa}2{z#qyb})65Uzyx;KC z_4N57pU)BWKNI!izW>bUa{zf=Y(D45b)Q!3Pj=!uOS{MqBcIoM7K;3A?C&+>Jb$;y zFGPNr*BfI0F7vaI&-3}+B7grH=C9*PAh%ED^N?$8@5=3Cnw*j+oZ|diP9K-f#Cga( z{>$eiI-|FgJ=o0s z+-xAyW|Z&8`KV&{e%bDN%SC)S-hAGn6~{#xUw56(gTgtV|Co*AoNTXJZ+z=??ys|4 zIuDEUDG4~t{rx!alFKchLs%%*gF&2M$ok{b?w{7%>vYch>N~N2yX+G8%a3a(r#IJG zF2_4p?7wC^!{~n)@#T2)zWjwEzE20 z2Q_Z~Fs^Hjo1gbFjhmnMDUF+-e(7KOmG?jAb^mOy8~2lBzD!5UW#xaRPnj=$duP=C ztw{5}o9w55dOg1#>1;f=+ll92b9}jeR7Jeyc*}elU$(biue{GC<82oG=k!chT8;iL zPNm4+uzQ;bvwB|&V2S?rn!FRd!ciEpUM8?zRYHkZ^e1_^8V1Xql36! zvGm%-(e^E$W4=AsgK~SZa(lQk#*8ngWqg_6XnLgDD?i`2Zj$vq$D8}b>6gnh?{CWG znfDuwbItb3@%A^#c+ZZ&%k{4uPr3e$d(mjN*Ub0cTvYGJ=l67`*VuRMNS>-b~b@zyAY(Z8~OnV*aMOcH{o{oR;??XMVk2`8ivw|Fz=D zelyMciZj37cyg>|Jf(lRyvqFG3AKOrU)CSA>iNScH+NnvzexM%$MTDGqsy<1r_2v7 zsM~M8xIX?a&W+uJiLTy%C@5K}Xq+i|YhUOC>6Y?ASw9f9X@YwMEwb5xF}{Qkb^b=O?8w7wPvv%S|}aZNQkPM(SF zUG4{Dn(gK1V_bXbm)+#@$oxjr>~GxXC*#lMm7nkO^O*f+d*kBI{gE@HLO0U+xc{~B zh_4K^IcKNxExF0(2b8bbx z*R0ETBi}wf>PNm2zoXZP-z(1hZikW2=L|Y8s_QjgQ>P2J)@eQmJ$P5--&m)ExWBpe znL6M6aGiGlOP$V~Umv&4NB_gfH{y5I<}Qfiy2v-;c(E7x=G)`=@tsjF^39*C^WDhz zbN&bF>G>YwnfKTEd`@IOo;%OyKZbGqm(Ozy;`lG0&+6v(BJQ_u#``(*{`o=X<9_(= z_tu}oygxkef6n{0bN!QUErEO=OefZZd@gORQS@T{DW7K?#^)sK_oLigq=QJy?dF@~ zdALSAXV8lK&2l?cmak&{9QQn2XN~9K8c{#voQ>y3GLD=+E}e<`<@kF)RBs=$UMtGA zBke?5j^}ML{(PRJ8}UCT8Y;{8qn&Z%@2@fbxu~CU&c^3Fx1g}8-G@BpJ$8v5trkM?PZYSd+PET$Jl|#jM=DPj=!wejdHz6`$fNH`7+S+bi+1MXxvd;W zdEf4;pcXR=Q9s|uQqGqrK!5-N0t5&gErC40S?>4bdH;>Zk?m!@az8GouQxqX?Um!b zYm=N0KU(9R-z4KbJ644C{_f1_QGWS)Rk0#vdvSh!`TmwX@1JRT{(oG1M{9X}VUsM6 zqcz^)2{zs@Z<6um=VRfb`gl99yA>a!DnB31n6dOhDhn;<9uA^t2j?no`1{us%O>b8yXL-&(qDd>+zRE%I(X_?Z?V88DCD@ zD&KGSZIbmb{r0=Q9m_M%yXNvN&ts;0rrBQkeO{ebFXt?`-Zb0G@`t*7^ZM&X?^hX( zXXSqxPo{a^I`iwj-zeS7`;Auib)dhqpK)oPhtB!yjc3%?=wBI6d4EuOKT(;Vi~IlT z*7m=DZ8q-TnU8Xv`205_?RAgtH@jWa$&a@p~8PCJxk4*DDq@qU2Oavpt_M(OA` zBK8&KJCUDRQGWDW1f%jhBRwtBQH)W|8m;33j(kLBWV_7Rd`u-V}AEl%6 zbC<6kUparR{9+SJ|IUtdHrB)Z-i*o1N%?*G16N&t-Q~-3@Bbs)TZr{G?}N?n-Avcp z-r?Ta_dbI&Iumr`0dj=|ZGy z^>6;>5;#)pYmV}8eV)qo|084e-?QIw>ERyl+0jwnx0u`Yvj1}XJKDZI`wcgg#g>n! z^1j8~uIF|<)3Uwuh#f_I{o8F|L?Qv{O5kKPM;j*e=G989PK?X@{v92$>Co9*`qKWQ<4_3K{xe?$`GP}5?{1>nI;p{+4fB*pk1PBlyK!5-N0t5(bdVyanA}r4r z6tnls=6R?6W{jDTzo&h1T*t^_?IM5QAKdU=|G4#I9 zd%r&S-|BMrMcV)CI^UVB&wnhI+dC@v(ZOBs_|f-%G3pE4K&D7sq?@);ZK{FQ0SE_wRgRle}*ze3{>9n(dY29iCw0 z{qiOoZ@woumv6rJDbw{X=W)w-z4gm-+xnDWn z>V+HIE~o$DULL1EJzDHbppsAV7cs z0RjXF5FkK+009C7j-o)me{^cG&;0KJi+}f?u=;&gId7DX=C75nzW%j4@40lbVEp^Y z*XsOWp>B6J^7E139rH~!&EtLo4G`?~!>q;t2``A($$U#j!%NX!1q_I~6;Us=_D z(Y-8zqatw26Y>*sRJzj%0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkL{xD%MH8pqw34Cvqm`XBt- zo%dW?RWr}OcPTyimX42_bMO25l0!Sv998d*dV1zFof$Jd=V#iStLwKuP^XReAGp0N zzfiQ>e^|YI=4R`9%?qQwNIQ{ceJKF~1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5I7zMnwQtlMIMi1GbREA2oNAZfB*pk z1PBlyK!5;&wFSCsyuWGf7L*`BfB*pk1PBlyK!5-N0t5&gS%I0~aDU5@71lZd0t5&U zAVA>A3e3dsgB;mjw7!-=!+qmx5t&bb0D*%NnEQF>Ee;A!B?1Hp5FkK+009C72oNAZ zU|FDd-M9W-?&X61AV7csflVpUzog!d_kYs%d{ZtUK@lK8V2r@v8Lsnszm|>2oNAZfB*pk1PBlyK;TdWW}UA%6h3tc5FkK+009C72oNAZfB*pk1PBly zK!5-N0$WC)|6=!zZ<&Q9Pyz%95FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009Dyc2eT?J7BdI(%lkbuA)iwbF1PBlyK!5-N0t5&UAV7csfvqUezxM0y z+u4c>PRvUJvlm!@tqKGP5FkK+009C72oTsx0t>f0j@wGhORNM45FkK+009C72oNAZ zfB*pkM@C@q3*KLMWMs8UfB*pkTS1`v^S%eS!g3NL0RjXF5FkL{coArv?|!A@Wmy^r z0RjXzqrm(c;keV=1QuUi5H2y97#xmP871*i;FD?law2V`U&ffB*pk1PBlyK!5-N0t5&UAV7cs0RjXzr@-v{TnF2n zOGZ=#2oNAZfB*pk1PGky0t**9UOUm(0plldr~<>w+`oFLhUya_K!5-N0w<=x!24@X z%mu$iN8SBi@7dj=i%!@C2oNAZ;J6W3c)RNvn_*#gUgUi6W>^klAV7e?u@abZKlrht z*DnDA1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBn=Phj{k&;9L( zVgdmI1PBl~%mRJy*E-Cinj=7f0D-M6F!*`T8E@s~Cw2k^2yAtM_S1b2ZS`d+egXst z5ZJl`tutMh+`3Coxs17kJMO)-UEE3Xthg#0D&zb zF!y5DWwykE+AKl(J)_OCB*a00009C72oNAZfB*pk1PBlyK;W1QbnkGz`j{^S0T3WS zfB*pk1PBlyK!CsrBQXCV_j#Q#3)?^m5ZF`#y=$EZ-Bb%iFa!vk@B;I<+b*B*D**rk z1PBlyK!5-N0t5&UAV7e?5fEs;+IgoVz^X|C1PBlyK;S3}4DPW%a}>FCMSuVS0t5&U zAV7csflVXO`4z{5n`U7Mga82o1WsImXV>4y^KaW)-^;zz{9fsayV4pt0RjXF5FkK+ z009C72oNB!6$QFq*;?nHwxY3^2@oJafB*pk1PBn=A_Bd`b9^*7|M0Z4Mbv~zfB*pk z1PBlyK!5-N0t5&gf5BjX0t5&UAV7e? zID!6Aem_m`>COj?TNbA8FVMf#aq<2trfgP$<_9*%`r1BBarED1d%aoLHE|IjK!5-N z0-Hmice(wg&9NjzL4W`O0tAknK;L~kM-ErZ1PBlyaM%Q9&ng+CHxI@Hc^#0)xkSK5?aozX=c^K;YO4G+tcqw{ID}vq$5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK;VD^?dN+w{D3ef5+Fc;009C72oNAZfB*pk1PBlyK!5-N0tAk8 zf%#jH?Ry%Jb6&$EK!5-N0t5&UAV7cs0RjXF5Ll-`_w8T5^PWrBSy-_xE71ED%X!N# zJb@D+K!5-N0t5&U*dzk;Pj{cgCRr343Zwhj&G8)b?3W#vZfLwWG0TMV00>kr<&UvS! zFce)7AaH^U46e03JHb~0!zVz10D(;?&|Pr;U=uDDArUw#0<+Ka`9CVqIw3%S009C7 z2y8Ne`7b(8yU7-ba0n0}K!5;&Ehf9PaIg-4oL`veG_U;>@TxPSEoTjYjIfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5Lglze(5mZ5AjU*d0Vvz5FkL{#1Uw}{V;!zo;Y+yN`L?X0t5&UI4FS` zzYnu6xA~p!3tktLLIem9AVAI++V^G5U0TQA`>Cxx zj$^g5%zn`C3mhwZ{SqKRfB*pk$5x={d6Z+j0Q63P009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5;&%_i_zzw@)%7KwNW5FkK+ z009C72oNAZfWV;&%%0|W|4A#(()230RjXF5FkLH6llKP{#hX4Tr1PBlyK!5-N0t5(bb%FLT zY|irt^WL|#)mN=!5`WiqoMYmy)2%Jg{8iUKxAqbgJ%Oz!(7wQSXX`CB5fdOlfB*pk z1PBlyK!5-N0tEIKnEBx5yw13Pq^1xcK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5Fl{83iSOh!|}Rkjf(&Q0t5&UAV7cs0RjXF z5FkK+009C72oN~J0=*CT-GC!Zta$}B4YeU!;{M}PnU0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5;&EiEv3m-p6e=>;fw0t5&USeL+z@4Iz5DMa8%3Jm=I?vdox zHUR z097VHfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+0D%)iVD1;Z*Zzc9&<06>009C7 z2po3;3!Z;H?v|+m5!kE(!w)%b+^ow+Tm;rD(0H}yE7ohJ9039Z2oNAZfB*pk1PC0u zKzU_V4b! z^PWq~sqzE}5FkK+009CAE6{qT>(U2nrycSyDK!5-N0!LP0;a1o2j;yfO2@oJafB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ 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

BNatyK$IeVGt+vf=;AiIz)$R6Z0#``{G2eN&> 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 zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U 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

4(or(OCz63_iE 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 PlvY2N8d(r{PYC=Uchbul From 1dbeea47a45d08acdab2329f779e0a1fafc6dab8 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Fri, 24 May 2019 11:36:51 +0200 Subject: [PATCH 41/47] :art: Update parser --- ast | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ast b/ast index 9c066c017..ff979819f 160000 --- a/ast +++ b/ast @@ -1 +1 @@ -Subproject commit 9c066c017f339b4a00b0cd1beda732bd49194aaa +Subproject commit ff979819f807d06e3f51c9df0afd56c9631366ee From ca70eb23356b698fc89fd2053e6a2b4cfe7d792e Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Sun, 26 May 2019 21:21:48 +0200 Subject: [PATCH 42/47] :bug: Template Fixes :smile: --- src/emit/emit.c | 9 +++++++++ src/parse/scan1.c | 3 +++ src/parse/template.c | 3 ++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/emit/emit.c b/src/emit/emit.c index 4b9b64e7f..d64392d29 100644 --- a/src/emit/emit.c +++ b/src/emit/emit.c @@ -1664,6 +1664,13 @@ ANN static m_bool emit_func_def_body(const Emitter emit, const Func_Def func_def return GW_OK; } +ANN static m_bool tmpl_rettype(const Emitter emit, const Func_Def func_def) { + CHECK_BB(template_push_types(emit->env, func_def->base->tmpl)) + const m_bool ret = emit_parent_inner(emit, func_def->base->ret_type->e->def); + nspc_pop_type(emit->gwion->mp, emit->env->curr); + return ret; +} + ANN static m_bool emit_func_def(const Emitter emit, const Func_Def func_def) { const Func func = get_func(emit->env, func_def); const Func former = emit->env->func; @@ -1673,6 +1680,8 @@ ANN static m_bool emit_func_def(const Emitter emit, const Func_Def func_def) { UNSET_FLAG(func_def, template); return GW_OK; } + if(GET_FLAG(func_def->base->ret_type, template) && !GET_FLAG(func_def->base->ret_type, emit)) + CHECK_BB(tmpl_rettype(emit, func_def)) if(SAFE_FLAG(emit->env->class_def, builtin) && GET_FLAG(emit->env->class_def, template)) return GW_OK; if(!emit->env->class_def && !GET_FLAG(func_def, global) && !func_def->base->tmpl && !emit->env->scope->depth) diff --git a/src/parse/scan1.c b/src/parse/scan1.c index 4fa0b6bec..bad133388 100644 --- a/src/parse/scan1.c +++ b/src/parse/scan1.c @@ -15,6 +15,9 @@ ANN static m_bool scan1_stmt_list(const Env env, Stmt_List list); ANN static m_bool scan1_stmt(const Env env, Stmt stmt); ANN static Type void_type(const Env env, const Type_Decl* td) { +// could be more precise + if(SAFE_FLAG(env->class_def, template) && td->types) + return t_undefined; const Type t = known_type(env, td); CHECK_OO(t) if(t->size) diff --git a/src/parse/template.c b/src/parse/template.c index 5be9e0a34..b1e7d1786 100644 --- a/src/parse/template.c +++ b/src/parse/template.c @@ -177,7 +177,8 @@ ANN Type scan_type(const Env env, const Type t, const Type_Decl* type) { SET_FLAG(a->base.type, dtor); ADD_REF(t->nspc->dtor) } - nspc_add_type(t->e->owner, insert_symbol(a->base.type->name), a->base.type); +// nspc_add_type(t->e->owner, insert_symbol(a->base.type->name), a->base.type); + map_set(&t->e->owner->info->type->map, insert_symbol(a->base.type->name), a->base.type); return a->base.type; } else if(type->types) ERR_O(type->xid->pos, From a0bd2e9ee28d698e8fc98d7527999e3452e63cf0 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Tue, 28 May 2019 22:04:06 +0200 Subject: [PATCH 43/47] :art: Improve emit_op --- src/parse/operator.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/parse/operator.c b/src/parse/operator.c index a29062bbc..f765fcf1b 100644 --- a/src/parse/operator.c +++ b/src/parse/operator.c @@ -211,22 +211,24 @@ ANN static Nspc get_nspc(const struct Op_Import* opi) { } ANN m_bool op_emit(const Emitter emit, const struct Op_Import* opi) { - const Nspc nspc = get_nspc(opi); - Type l = opi->lhs; + Nspc nspc = get_nspc(opi); do { - Type r = opi->rhs; + Type l = opi->lhs; do { - if(!nspc->info->op_map.ptr) - continue; - const Vector v = (Vector)map_get(&nspc->info->op_map, (vtype)opi->op); - const M_Operator* mo = operator_find(v, l, r); - if(mo) { - if(mo->em) - return mo->em(emit, (void*)opi->data); - return handle_instr(emit, mo); - } - } while(r && (r = op_parent(emit->env, r))); - } while(l && (l = op_parent(emit->env, l))); + Type r = opi->rhs; + do { + if(!nspc->info->op_map.ptr) + continue; + const Vector v = (Vector)map_get(&nspc->info->op_map, (vtype)opi->op); + const M_Operator* mo = operator_find(v, l, r); + if(mo) { + if(mo->em) + return mo->em(emit, (void*)opi->data); + return handle_instr(emit, mo); + } + } while(r && (r = op_parent(emit->env, r))); + } while(l && (l = op_parent(emit->env, l))); + } while((nspc = nspc->parent)); // probably deserves err_msg here return GW_ERROR; } From af185e3c47b4ace20738016b9b0836bd77199f7d Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 6 Jun 2019 17:56:51 +0200 Subject: [PATCH 44/47] :art: A Better type system --- include/instr.h | 6 +- include/type.h | 19 +-- src/emit/emit.c | 57 ++++++--- src/lib/func.c | 211 ++++++++++++++++++++++---------- src/lib/gack.c | 16 +-- src/lib/instr.c | 59 +++++++-- src/lib/opfunc.c | 3 +- src/oo/context.c | 1 + src/oo/type.c | 10 +- src/parse/check.c | 137 +++++++++++++-------- src/parse/scan1.c | 43 +++++-- src/parse/scan2.c | 25 ++-- src/parse/template.c | 17 ++- src/parse/traverse.c | 2 +- src/parse/traverse_template.c | 5 +- src/vm/vm.c | 2 +- tests/error/ptr_assign_other.gw | 2 +- 17 files changed, 419 insertions(+), 196 deletions(-) diff --git a/include/instr.h b/include/instr.h index f311e2b50..a84f8d4a4 100644 --- a/include/instr.h +++ b/include/instr.h @@ -61,13 +61,15 @@ INSTR(VecMember); INSTR(PopArrayClass); INSTR(DotTmpl); +INSTR(GTmpl); struct dottmpl_ { size_t len; m_str name; Func_Def base, def; - Type owner; - size_t overload; // => vtindex ? + Type owner_class; + Nspc owner; + size_t vt_index; Type_List tl; }; ANN void free_dottmpl(struct dottmpl_*); diff --git a/include/type.h b/include/type.h index f286ca8d2..e9cc2a349 100644 --- a/include/type.h +++ b/include/type.h @@ -1,15 +1,16 @@ #ifndef __TYPE #define __TYPE - struct TypeInfo_ { - Type parent; - Nspc owner; - Class_Def def; - union type_data { - Func func; - Type base_type; - } d; - }; +struct TypeInfo_ { + Type parent; + Nspc owner; + Class_Def def; + union type_data { + Func func; + Type base_type; + } d; + struct Vector_ contains; +}; struct Type_ { m_str name; diff --git a/src/emit/emit.c b/src/emit/emit.c index d64392d29..44487123e 100644 --- a/src/emit/emit.c +++ b/src/emit/emit.c @@ -305,7 +305,7 @@ ANN static inline Exp dot_static_exp(const Emitter emit, const Exp_Primary* prim ANN static m_bool emit_symbol_owned(const Emitter emit, const Exp_Primary* prim) { const Value v = prim->value; const Exp dot = (!GET_FLAG(v, static) ? dot_this_exp : dot_static_exp)(emit, prim, v->owner_class); - dot->type = v->type; + dot->type = exp_self(prim)->type; dot->emit_var = exp_self(prim)->emit_var; const m_bool ret = emit_exp_dot(emit, &dot->d.exp_dot); free_exp(emit->gwion->mp, dot); @@ -349,6 +349,8 @@ ANN static m_bool emit_symbol(const Emitter emit, const Exp_Primary* prim) { const m_uint size = v->type->size; const Instr instr = emit_kind(emit, size, exp_self(prim)->emit_var, !GET_FLAG(v, global) ? regpushmem : regpushbase); instr->m_val = v->offset; + if(isa(v->type, t_function) > 0 && isa(v->type, t_fptr) < 0) + instr->m_val = exp_self(prim)->type->e->d.func->value_ref->offset; return GW_OK; } @@ -684,6 +686,9 @@ ANN static m_bool prepare_call(const Emitter emit, const Exp_Call* exp_call) { ANN static inline m_int push_tmpl_func(const Emitter emit, const Func f) { const Value v = f->value_ref; + if(isa(v->type, t_class) > 0 && + isa(actual_type(v->type), t_fptr) > 0) + return emit->env->scope->depth; const m_uint scope = emit_push(emit, v->owner_class, v->owner); CHECK_BB(traverse_func_template(emit->env, f->def)) return (m_int)scope; @@ -751,10 +756,11 @@ ANN static Type_List tmpl_tl(const Env env, const m_str name) { } ANN m_bool traverse_dot_tmpl(const Emitter emit, const struct dottmpl_ *dt) { - const m_uint scope = emit_push_type(emit, dt->owner); + const m_uint scope = dt->owner_class ? + emit_push_type(emit, dt->owner_class) : emit_push(emit, NULL, dt->owner); m_bool ret = GW_ERROR; dt->def->base->tmpl->call = dt->tl;// in INSTR - if(traverse_func_template(emit->env, dt->def) > 0) { + if(!dt->def->base->func &&traverse_func_template(emit->env, dt->def) > 0) { ret = emit_func_def(emit, dt->def); nspc_pop_type(emit->gwion->mp, emit->env->curr); } @@ -773,7 +779,7 @@ static inline m_bool push_func_code(const Emitter emit, const Func f) { c[sz] = '\0'; struct dottmpl_ *dt = mp_calloc(emit->gwion->mp, dottmpl); dt->name = s_name(insert_symbol(c)); - dt->overload = f->def->base->tmpl->base; + dt->vt_index = f->def->base->tmpl->base; dt->tl = tmpl_tl(emit->env, c); dt->base = f->def; instr->opcode = eOP_MAX; @@ -782,11 +788,11 @@ static inline m_bool push_func_code(const Emitter emit, const Func f) { instr->execute = DotTmpl; return GW_OK; } -if(vector_size(&emit->code->instr)) { - const Instr instr = (Instr)vector_back(&emit->code->instr); - instr->opcode = eRegPushImm; - instr->m_val = (m_uint)f->code; -} + if(vector_size(&emit->code->instr)) { + const Instr instr = (Instr)vector_back(&emit->code->instr); + instr->opcode = eRegPushImm; + instr->m_val = (m_uint)f->code; + } return GW_OK; } @@ -807,6 +813,23 @@ ANN static Instr get_prelude(const Emitter emit, const Func f) { instr = emit_add_instr(emit, !GET_FLAG(f, builtin) ? FuncUsr : SetCode); else { emit_add_instr(emit, GWOP_EXCEPT); + if(f->def->base->tmpl) { // TODO: put in func + struct dottmpl_ *dt = (struct dottmpl_*)mp_calloc(emit->gwion->mp, dottmpl); + size_t len = strlen(f->name); + size_t sz = len - strlen(f->value_ref->owner->name); + char c[sz + 1]; + memcpy(c, f->name, sz); + c[sz] = '\0'; + dt->tl = tmpl_tl(emit->env, c); + dt->name = s_name(insert_symbol(c)); + dt->vt_index = f->def->base->tmpl->base; + dt->base = f->def; + dt->owner = f->value_ref->owner; + dt->owner_class = f->value_ref->owner_class; + const Instr gtmpl = emit_add_instr(emit, GTmpl); + gtmpl->m_val = (m_uint)dt; + gtmpl->m_val2 = strlen(c); + } instr = emit_add_instr(emit, FuncPtr); } instr->m_val2 = 1; @@ -842,7 +865,8 @@ ANN m_bool emit_exp_call1(const Emitter emit, const Func f) { if(GET_FLAG(f, template) && emit->env->func != f) CHECK_BB(emit_template_code(emit, f)) } else if((f->value_ref->owner_class && is_special(f->value_ref->owner_class) > 0) || - !f->value_ref->owner_class || GET_FLAG(f, template)) + !f->value_ref->owner_class || (GET_FLAG(f, template) && + isa(f->value_ref->type, t_fptr) < 0)) push_func_code(emit, f); else if(vector_size(&emit->code->instr)){ const Instr back = (Instr)vector_back(&emit->code->instr); @@ -975,8 +999,9 @@ ANN static m_bool emit_exp_unary(const Emitter emit, const Exp_Unary* unary) { } ANN static m_bool emit_implicit_cast(const Emitter emit, - const restrict Type from, const restrict Type to) { - struct Op_Import opi = { .op=op_impl, .lhs=from, .rhs=to, .data=(m_uint)from }; + const restrict Exp from, const restrict Type to) { + const struct Implicit imp = { from, to }; + struct Op_Import opi = { .op=op_impl, .lhs=from->type, .rhs=to, .data=(m_uint)&imp }; return op_emit(emit, &opi); } @@ -1024,7 +1049,7 @@ ANN2(1) static m_bool emit_exp(const Emitter emit, Exp exp, const m_bool ref) { do { CHECK_BB(exp_func[exp->exp_type](emit, &exp->d)) if(exp->cast_to) - CHECK_BB(emit_implicit_cast(emit, exp->type, exp->cast_to)) + CHECK_BB(emit_implicit_cast(emit, exp, exp->cast_to)) if(ref && isa(exp->type, t_object) > 0 && isa(exp->type, t_shred) < 0 ) { // beware fork const Instr instr = emit_add_instr(emit, RegAddRef); instr->m_val = exp->emit_var; @@ -1563,7 +1588,7 @@ ANN static m_bool emit_member_func(const Emitter emit, const Exp_Dot* member, co emit_add_instr(emit, DotTmplVal); else { const Instr instr = emit_add_instr(emit, GET_FLAG(func, member) ? DotFunc : DotStaticFunc); - instr->m_val = func->vt_index; + instr->m_val = exp_self(member)->type->e->d.func->vt_index; } return GW_OK; } @@ -1651,6 +1676,8 @@ ANN static void emit_func_def_code(const Emitter emit, const Func func) { instr->m_val = (m_uint)emit->gwion->mp; ADD_REF(func->code) } + // TODO: find why we need this + func->def->stack_depth = func->code->stack_depth; } ANN static m_bool emit_func_def_body(const Emitter emit, const Func_Def func_def) { @@ -1658,7 +1685,7 @@ ANN static m_bool emit_func_def_body(const Emitter emit, const Func_Def func_def emit_func_def_args(emit, func_def->base->args); if(GET_FLAG(func_def, variadic)) stack_alloc(emit); - if(func_def->d.code->d.stmt_code.stmt_list) + if(func_def->d.code) CHECK_BB(emit_stmt_code(emit, &func_def->d.code->d.stmt_code)) emit_func_def_ensure(emit, func_def); return GW_OK; diff --git a/src/lib/func.c b/src/lib/func.c index a757862cc..ca08dcdb3 100644 --- a/src/lib/func.c +++ b/src/lib/func.c @@ -36,30 +36,113 @@ static OP_CHECK(opck_func_call) { return check_exp_call1(env, &e->d.exp_call) ?: t_null; } +static inline void fptr_instr(const Emitter emit, const Func f, const m_uint i) { + const Instr set = emit_add_instr(emit, RegSetImm); + set->m_val = (m_uint)f; + set->m_val2 = -SZ_INT*i; +} + static OP_EMIT(opem_func_assign) { Exp_Binary* bin = (Exp_Binary*)data; + if(bin->rhs->type->e->d.func->def->base->tmpl) + fptr_instr(emit, bin->lhs->type->e->d.func, 2); emit_add_instr(emit, int_r_assign); - if((bin->lhs->type != t_lambda && isa(bin->lhs->type, t_fptr) < 0) && GET_FLAG(bin->rhs->type->e->d.func, member)) { + if((bin->lhs->type != t_lambda && isa(bin->lhs->type, t_fptr) < 0) && + GET_FLAG(bin->rhs->type->e->d.func, member)) { const Instr instr = emit_add_instr(emit, LambdaAssign); instr->m_val = SZ_INT; } return GW_OK; } -ANN static Type fptr_type(const Env env, Exp_Binary* bin) { - const Func l_func = bin->lhs->type->e->d.func; - const Func r_func = bin->rhs->type->e->d.func; - const Nspc nspc = l_func->value_ref->owner; - const m_str c = s_name(l_func->def->base->xid); - const Value v = l_func->value_ref; - for(m_uint i = 0; i <= v->offset; ++i) { - const Symbol sym = func_symbol(env, nspc->name, c, NULL, i); - const Func f = nspc_lookup_func1(nspc, sym); // was lookup2 - CHECK_OO(f) - if(compat_func(r_func->def, f->def) > 0) - return r_func->value_ref->type->e->d.base_type; +struct FptrInfo { + Func lhs; + const Func rhs; + const Exp exp; + const loc_t pos; +}; + +ANN static m_bool fptr_tmpl_push(const Env env, struct FptrInfo *info) { + if(!info->rhs->def->base->tmpl) + return GW_OK; + ID_List t0 = info->lhs->def->base->tmpl->list, + t1 = info->rhs->def->base->tmpl->list; + nspc_push_type(env->gwion->mp, env->curr); + while(t0) { + CHECK_OB(t1) + nspc_add_type(env->curr, t0->xid, t_undefined); + nspc_add_type(env->curr, t1->xid, t_undefined); + t0 = t0->next; + t1 = t1->next; } - return NULL; + return GW_OK; +} + +ANN static m_bool fptr_args(const Env env, struct Func_Base_ *base[2]) { + Arg_List arg0 = base[0]->args, arg1 = base[1]->args; + while(arg0) { + CHECK_OB(arg1) + const Type t0 = known_type(env, base[0]->td); + CHECK_OB(t0) + const Type t1 = known_type(env, base[1]->td); + CHECK_OB(t1) + CHECK_BB(isa(t0, t1)) + arg0 = arg0->next; + arg1 = arg1->next; + } + return !arg1 ? GW_OK : GW_ERROR; +} + +ANN static m_bool fptr_check(const Env env, struct FptrInfo *info) { + const Type l_type = info->lhs->value_ref->owner_class; + const Type r_type = info->rhs->value_ref->owner_class; + if(!r_type && l_type) + ERR_B(info->pos, "can't assign member function to non member function pointer") + else if(!l_type && r_type) { + if(!GET_FLAG(info->rhs, global)) + ERR_B(info->pos, "can't assign non member function to member function pointer") + } else if(l_type && isa(r_type, l_type) < 0) + ERR_B(info->pos, "can't assign member function to a pointer of an other class") + if(GET_FLAG(info->rhs, member)) { + if(!GET_FLAG(info->lhs, member)) + ERR_B(info->pos, "can't assign static function to member function pointer") + } else if(GET_FLAG(info->lhs, member)) + ERR_B(info->pos, "can't assign member function to static function pointer") + return GW_OK; +} + +ANN static m_bool fptr_rettype(const Env env, struct FptrInfo *info) { + const Type t0 = known_type(env, info->lhs->def->base->td); + CHECK_OB(t0) + const Type t1 = known_type(env, info->rhs->def->base->td); + CHECK_OB(t1) + return isa(t0, t1); +} + +ANN static inline m_bool fptr_arity(struct FptrInfo *info) { + return GET_FLAG(info->lhs->def, variadic) == + GET_FLAG(info->rhs->def, variadic); +} + +ANN static Type fptr_type(const Env env, struct FptrInfo *info) { + const Value v = info->lhs->value_ref; + const Nspc nspc = v->owner; + const m_str c = s_name(info->lhs->def->base->xid), + stmpl = !info->rhs->def->base->tmpl ? NULL : "template"; + Type type = NULL; + for(m_uint i = 0; i <= v->offset && !type; ++i) { + const Symbol sym = (!info->lhs->def->base->tmpl || i != 0) ? + func_symbol(env, nspc->name, c, stmpl, i) : info->lhs->def->base->xid; + info->lhs = nspc_lookup_func1(nspc, sym); + assert(info->lhs); + struct Func_Base_ *base[2] = { info->lhs->def->base, info->rhs->def->base }; + if(fptr_tmpl_push(env, info) > 0 && fptr_rettype(env, info) > 0 && + fptr_arity(info) && fptr_args(env, base) > 0) + type = info->lhs->value_ref->type; + if(info->rhs->def->base->tmpl) + nspc_pop_type(env->gwion->mp, env->curr); + } + return type; } ANN2(1,3,4) m_bool check_lambda(const Env env, const Type owner, @@ -74,8 +157,9 @@ ANN2(1,3,4) m_bool check_lambda(const Env env, const Type owner, } if(base || arg) ERR_B(exp_self(l)->pos, "argument number does not match for lambda") - l->def = new_func_def(env->gwion->mp, new_func_base(env->gwion->mp, def->base->td, l->name, l->args), l->code, def->flag, - loc_cpy(env->gwion->mp, def->pos)); + l->def = new_func_def(env->gwion->mp, + new_func_base(env->gwion->mp, def->base->td, l->name, l->args), + l->code, def->flag, loc_cpy(env->gwion->mp, def->pos)); CHECK_BB(traverse_func_def(env, l->def)) arg = l->args; while(arg) { @@ -87,63 +171,44 @@ ANN2(1,3,4) m_bool check_lambda(const Env env, const Type owner, return GW_OK; } +ANN static m_bool fptr_lambda(const Env env, struct FptrInfo *info) { + Exp_Lambda *l = &info->exp->d.exp_lambda; + const Type owner = info->rhs->value_ref->owner_class; + return check_lambda(env, owner, l, info->rhs->def); +} + +ANN static m_bool fptr_do(const Env env, struct FptrInfo *info) { + if(isa(info->exp->type, t_lambda) < 0) { + CHECK_BB(fptr_check(env, info)) + return (info->exp->type = fptr_type(env, info)) ? GW_OK : GW_ERROR; + } + return fptr_lambda(env, info); +} + static OP_CHECK(opck_fptr_at) { Exp_Binary* bin = (Exp_Binary*)data; + struct FptrInfo info = { bin->lhs->type->e->d.func, bin->rhs->type->e->d.func, + bin->lhs, exp_self(bin)->pos }; + CHECK_BO(fptr_do(env, &info)) bin->rhs->emit_var = 1; - if(isa(bin->lhs->type, t_lambda) > 0) { - Exp_Lambda *l = &bin->lhs->d.exp_lambda; - const Type owner = nspc_lookup_type1(bin->rhs->type->e->owner->parent, - insert_symbol(bin->rhs->type->e->owner->name)); - CHECK_BO(check_lambda(env, owner, l, bin->rhs->type->e->d.func->def)) - return bin->rhs->type; - } - const Func l_func = bin->lhs->type->e->d.func; - const Func_Def l_fdef = l_func->def; - const Type l_type = l_func->value_ref->owner_class; - const Func r_func = bin->rhs->type->e->d.func; - const Func_Def r_fdef = r_func->def; - const Type r_type = r_func->value_ref->owner_class; - if(!r_type && l_type) - ERR_N(exp_self(bin)->pos, "can't assign member function to non member function pointer") - else if(r_type && !l_type) { - if(!GET_FLAG(r_func, global)) - ERR_N(exp_self(bin)->pos, "can't assign non member function to member function pointer") - } else if(r_type && isa(r_type, l_type) < 0) - ERR_N(exp_self(bin)->pos, "can't assign member function to member function pointer" - " of an other class") - if(GET_FLAG(r_func, member)) { - if(!GET_FLAG(l_func, member)) - ERR_N(exp_self(bin)->pos, "can't assign static function to member function pointer") - } else if(GET_FLAG(l_func, member)) - ERR_N(exp_self(bin)->pos, "can't assign member function to static function pointer") - if(isa(r_fdef->base->ret_type, l_fdef->base->ret_type) < 0) - ERR_N(exp_self(bin)->pos, "return type '%s' does not match '%s'\n\t... in pointer assignement", - r_fdef->base->ret_type->name, l_fdef->base->ret_type->name) - if(GET_FLAG(l_fdef, variadic) != GET_FLAG(r_fdef, variadic)) - ERR_N(exp_self(bin)->pos, "function must be of same argument kind.", - r_fdef->base->ret_type->name, l_fdef->base->ret_type->name) - if(isa(bin->lhs->type, t_fptr) > 0 && isa(bin->lhs->type, bin->rhs->type) > 0) - return bin->rhs->type; - return fptr_type(env, bin); + return bin->rhs->type; } static OP_CHECK(opck_fptr_cast) { Exp_Cast* cast = (Exp_Cast*)data; const Type t = exp_self(cast)->type; - const Value v = nspc_lookup_value1(env->curr, cast->exp->d.exp_primary.d.var); - CHECK_OO(v) - const Func f = isa(v->type, t_fptr) > 0 ? - v->type->e->d.func : - nspc_lookup_func1(env->curr, insert_symbol(v->name)); - CHECK_OO(f) - CHECK_BO(compat_func(t->e->d.func->def, f->def)) - cast->func = f; + struct FptrInfo info = { cast->exp->type->e->d.func, t->e->d.func, + cast->exp, exp_self(cast)->pos }; + CHECK_BO(fptr_do(env, &info)) + cast->func = cast->exp->type->e->d.func; return t; } static OP_EMIT(opem_fptr_cast) { CHECK_BB(opem_basic_cast(emit, data)) Exp_Cast* cast = (Exp_Cast*)data; + if(exp_self(cast)->type->e->d.func->def->base->tmpl) + fptr_instr(emit, cast->exp->type->e->d.func, 1); if(GET_FLAG(cast->exp->type->e->d.func, member)) { const Instr instr = emit_add_instr(emit, RegPop); instr->m_val = SZ_INT*2; @@ -153,6 +218,25 @@ static OP_EMIT(opem_fptr_cast) { return GW_OK; } +static OP_CHECK(opck_fptr_impl) { + struct Implicit *impl = (struct Implicit*)data; + struct FptrInfo info = { ((Exp)impl->e)->type->e->d.func, impl->t->e->d.func, + (Exp)impl->e, ((Exp)impl->e)->pos }; + CHECK_BO(fptr_do(env, &info)) + return ((Exp)impl->e)->cast_to = impl->t; +} + +static OP_EMIT(opem_fptr_impl) { + struct Implicit *impl = (struct Implicit*)data; + if(GET_FLAG(impl->t->e->d.func, member)) { + const Instr pop = emit_add_instr(emit, RegPop); + pop->m_val = SZ_INT; + } + if(impl->t->e->d.func->def->base->tmpl) + fptr_instr(emit, ((Exp)impl->e)->type->e->d.func, 1); + return GW_OK; +} + ANN Type check_exp_unary_spork(const Env env, const Stmt code); static OP_CHECK(opck_spork) { @@ -163,10 +247,10 @@ static OP_CHECK(opck_spork) { if(unary->exp && unary->exp->exp_type == ae_exp_call) return unary->op == op_spork ? t_shred : t_fork; else if(unary->code) { - ++env->scope->depth; \ - nspc_push_value(env->gwion->mp, env->curr); \ + ++env->scope->depth; + nspc_push_value(env->gwion->mp, env->curr); const m_bool ret = check_stmt(env, unary->code); - nspc_pop_value(env->gwion->mp, env->curr); \ + nspc_pop_value(env->gwion->mp, env->curr); --env->scope->depth; CHECK_BO(ret) return unary->op == op_spork ? t_shred : t_fork; @@ -202,6 +286,9 @@ GWION_IMPORT(func) { CHECK_BB(gwi_oper_add(gwi, opck_fptr_cast)) CHECK_BB(gwi_oper_emi(gwi, opem_fptr_cast)) CHECK_BB(gwi_oper_end(gwi, op_cast, NULL)) + CHECK_BB(gwi_oper_add(gwi, opck_fptr_impl)) + CHECK_BB(gwi_oper_emi(gwi, opem_fptr_impl)) + CHECK_BB(gwi_oper_end(gwi, op_impl, NULL)) CHECK_BB(gwi_oper_ini(gwi, NULL, (m_str)OP_ANY_TYPE, NULL)) CHECK_BB(gwi_oper_add(gwi, opck_spork)) CHECK_BB(gwi_oper_emi(gwi, opem_spork)) diff --git a/src/lib/gack.c b/src/lib/gack.c index a80e1ccd4..775a0a09a 100644 --- a/src/lib/gack.c +++ b/src/lib/gack.c @@ -15,7 +15,7 @@ static void print_type(const Type type) { const m_bool is_func = isa(type, t_function) > 0 && isa(type, t_fptr) < 0; const m_str name = is_func ? strdup("@function") : strdup(type->name); gw_out("(%s) ", name); - free(name); + xfree(name); if(GET_FLAG(type, typedef)) { gw_out(" aka "); print_type(type->e->parent); @@ -76,12 +76,14 @@ ANN2(1) static inline void print_object(const Type type, const M_Object obj) { } ANN static inline void print_func(const Type type, const m_bit* stack) { - if(type->e->d.func) { - const VM_Code code = isa(type, t_fptr) > 0 ? - *(VM_Code*)stack : type->e->d.func->code; - gw_out("%s %s %p", type->name, (void*)code ? code->name : NULL, code); - } else - gw_out("%s %p", type->name, NULL); + if(isa(type, t_fptr) > 0 && type->e->d.func->def->base->tmpl) { + const Func f = *(Func*)stack; + gw_out("%s", f ? f->name : "(nil)"); + return; + } + const VM_Code code = isa(type, t_fptr) > 0 ? + *(VM_Code*)stack : type->e->d.func->code; + gw_out("%s %s %p", type->name, (void*)code ? code->name : NULL, code); } ANN static void print_prim(const Type type, const m_bit* stack) { diff --git a/src/lib/instr.c b/src/lib/instr.c index 8529b8cdf..cac9c0403 100644 --- a/src/lib/instr.c +++ b/src/lib/instr.c @@ -58,21 +58,58 @@ INSTR(PopArrayClass) { ADD_REF(obj->type_ref) // add ref to typedef array type } -ANN static Func_Def from_base(const Env env, const struct dottmpl_ *dt, const Type t) { - const Symbol sym = func_symbol(env, t->name, s_name(dt->base->base->xid), - "template", dt->overload); - const Value v = nspc_lookup_value1(t->nspc, sym); +ANN static Func_Def from_base(const Env env, const struct dottmpl_ *dt, const Nspc nspc) { + const Func_Def fdef = dt->def ?: dt->base; + const Symbol sym = func_symbol(env, nspc->name, s_name(fdef->base->xid), + "template", dt->vt_index); + const Value v = nspc_lookup_value1(nspc, sym); CHECK_OO(v) const Func_Def base = v->d.func_ref->def; - const Func_Def def = new_func_def(env->gwion->mp, new_func_base(env->gwion->mp, base->base->td, insert_symbol(env->gwion->st, v->name), - base->base->args), base->d.code, base->flag, loc_cpy(env->gwion->mp, base->pos)); - def->base->tmpl = new_tmpl(env->gwion->mp, base->base->tmpl->list, dt->overload); + const Func_Def def = new_func_def(env->gwion->mp, new_func_base(env->gwion->mp, fdef->base->td, insert_symbol(env->gwion->st, v->name), + fdef->base->args), fdef->d.code, fdef->flag, loc_cpy(env->gwion->mp, base->pos)); + def->base->tmpl = new_tmpl(env->gwion->mp, base->base->tmpl->list, dt->vt_index); SET_FLAG(def, template); return def; } +INSTR(GTmpl) { + struct dottmpl_ *dt = (struct dottmpl_*)instr->m_val; + const Func f = *(Func*)REG(-SZ_INT); + const m_str name = f->name; + const Emitter emit = shred->info->vm->gwion->emit; + emit->env->name = "runtime"; + m_str tmpl_name = tl2str(emit->env, dt->tl); + for(m_uint i = 0 ; i <= f->value_ref->offset; ++i) { + const Symbol sym = func_symbol(emit->env, f->value_ref->owner->name, + name, tmpl_name, i); + const Func base = nspc_lookup_func1(f->value_ref->owner, sym); + if(base) { + xfree(tmpl_name); + assert(base->code); + if(GET_FLAG(base->def, static)) + shred->reg -= SZ_INT; + *(VM_Code*)(shred->reg -SZ_INT) = base->code; + return; + } + } + xfree(tmpl_name); + dt->def = f->def; + const Func_Def def = from_base(emit->env, dt, f->value_ref->owner); + if(!def) + Except(shred, "MissigTmplPtrException[internal]"); + dt->def = def; + dt->owner = f->value_ref->owner; + dt->owner_class = f->value_ref->owner_class; + if(traverse_dot_tmpl(emit, dt) > 0) { + if(GET_FLAG(def, static)) + shred->reg -= SZ_INT; + *(VM_Code*)(shred->reg -SZ_INT) = def->base->func->code; + return; + } +} + INSTR(DotTmpl) { - struct dottmpl_ * dt = (struct dottmpl_*)instr->m_val; + struct dottmpl_ *dt = (struct dottmpl_*)instr->m_val; const m_str name = dt->name; const M_Object o = *(M_Object*)REG(-SZ_INT); Type t = o->type_ref; @@ -86,7 +123,7 @@ INSTR(DotTmpl) { if(f) { if(!f->code) { dt->def = f->def;// - dt->owner = t; // + dt->owner_class = t; // if(traverse_dot_tmpl(emit, dt) < 0) continue; } @@ -96,11 +133,11 @@ INSTR(DotTmpl) { shred->reg += SZ_INT; return; } else { - const Func_Def def = from_base(emit->env, dt, t); + const Func_Def def = from_base(emit->env, dt, t->nspc); if(!def) continue; dt->def = def; // - dt->owner = t; // + dt->owner_class = t; // if(traverse_dot_tmpl(emit, dt) > 0) { if(GET_FLAG(def, static)) shred->reg -= SZ_INT; diff --git a/src/lib/opfunc.c b/src/lib/opfunc.c index 9d02745fc..b186ea720 100644 --- a/src/lib/opfunc.c +++ b/src/lib/opfunc.c @@ -65,7 +65,8 @@ OP_CHECK(opck_unary_meta2_uniq) { const Exp_Unary* unary = (Exp_Unary*)data; CHECK_OO(opck_unary_meta2(env, data)) if(unary->exp->next) - ERR_N(exp_self(unary)->pos, "fuck!!") + ERR_N(exp_self(unary)->pos, + "'%s' must be applied to a unique expression", op2str(unary->op)) return t_int; } diff --git a/src/oo/context.c b/src/oo/context.c index a92308501..98486df1d 100644 --- a/src/oo/context.c +++ b/src/oo/context.c @@ -1,4 +1,5 @@ #include +#include #include "gwion_util.h" #include "gwion_ast.h" #include "oo.h" diff --git a/src/oo/type.c b/src/oo/type.c index 2505fab7a..419267147 100644 --- a/src/oo/type.c +++ b/src/oo/type.c @@ -13,13 +13,9 @@ ANN static void free_type(Type a, Gwion gwion) { if(GET_FLAG(a, template)) { if(GET_FLAG(a, union)) { - if(a->e->def->stmt) { - if(GET_FLAG(a, pure)) - free_decl_list(gwion->mp, a->e->def->list); - else { + if(a->e->def->stmt && !GET_FLAG(a, pure)) { // <=> decl_list UNSET_FLAG(&a->e->def->stmt->d.stmt_union, global); free_stmt(gwion->mp, a->e->def->stmt); - } } a->e->def->stmt = NULL; } @@ -27,6 +23,10 @@ ANN static void free_type(Type a, Gwion gwion) { } if(a->nspc) REM_REF(a->nspc, gwion); + if(a->e->contains.ptr) + vector_release(&a->e->contains); +// TODO: commenting this should not happen +// mp_free(gwion->mp, TypeInfo, a->e); mp_free(gwion->mp, Type, a); } diff --git a/src/parse/check.c b/src/parse/check.c index 8ec65bec0..3b5a745c0 100644 --- a/src/parse/check.c +++ b/src/parse/check.c @@ -367,6 +367,13 @@ ANN2(1,2) static Func find_func_match_actual(const Env env, Func func, const Exp CHECK_OO(func->next); return find_func_match_actual(env, func->next, args, implicit, specific); } + if(e1->type == t_undefined) { + if(func->value_ref->owner_class) + CHECK_BO(template_push_types(env, func->value_ref->owner_class->e->def->base.tmpl)) + e1->type = known_type(env, e1->td); + if(func->value_ref->owner_class) + nspc_pop_type(env->gwion->mp, env->curr); + } if(func_match_inner(env, e, e1->type, implicit, specific) < 0) break; e = e->next; @@ -394,7 +401,7 @@ ANN static m_bool check_call(const Env env, const Exp_Call* exp) { if(et != ae_exp_primary && et != ae_exp_dot && et != ae_exp_cast) ERR_B(exp->func->pos, "invalid expression for function call.") CHECK_OB(check_exp(env, exp->func)) - return exp->args ? !!check_exp(env, exp->args) : -1; + return exp->args ? !!check_exp(env, exp->args) : GW_OK; } ANN static inline Value template_get_ready(const Env env, const Value v, const m_str tmpl, const m_uint i) { @@ -403,69 +410,111 @@ ANN static inline Value template_get_ready(const Env env, const Value v, const m nspc_lookup_value1(v->owner, sym); } +static Func ensure_tmpl(const Env env, const Func f, const Exp_Call *exp) { + nspc_pop_type(env->gwion->mp, env->curr); + if(check_call(env, exp) > 0) { + const Func next = f->next; + f->next = NULL; + const Func func = find_func_match(env, f, exp->args); + f->next = next; + if(func) { + SET_FLAG(func, checked | ae_flag_template); + return func; + } + } + return NULL; +} +ANN static m_bool check_func_args(const Env env, Arg_List arg_list) { + do { + const Var_Decl decl = arg_list->var_decl; + const Value v = decl->value; + if(arg_list->td && !arg_list->td->xid) + arg_list->type = v->type = check_td(env, arg_list->td); + if(isa(v->type, t_object) > 0 || isa(v->type, t_function) > 0) + UNSET_FLAG(env->func, pure); + CHECK_BB(already_defined(env, decl->xid, decl->pos)) + SET_FLAG(v, checked); + nspc_add_value(env->curr, decl->xid, v); + } while((arg_list = arg_list->next)); + return GW_OK; +} + ANN static Func _find_template_match(const Env env, const Value v, const Exp_Call* exp) { - const Exp args = exp->args; const Type_List types = exp->tmpl->call; - Func m_func = exp->m_func, former = env->func; -if(types->td->types)exit(12); + Func m_func = NULL, former = env->func; const m_str tmpl_name = tl2str(env, types); - const m_uint sz = vector_size((Vector)env->curr->info->type); const m_uint scope = env_push(env, v->owner_class, v->owner); + if(isa(actual_type(v->type), t_fptr) > 0) { + const Symbol sym = func_symbol(env, v->owner->name, v->name, tmpl_name, 0); + const Value value = nspc_lookup_value1(v->owner, sym); + Func_Def base = v->d.func_ref->def; + struct Func_Base_ *fbase = /*value ? value->type->e->d.func->def :*/ + new_func_base(env->gwion->mp, base->base->td, sym, base->base->args); + fbase->tmpl = new_tmpl(env->gwion->mp, base->base->tmpl->list, 0); + fbase->tmpl->call = types; + CHECK_BO(template_push_types(env, fbase->tmpl)) + const Stmt stmt = new_stmt_fptr(env->gwion->mp, fbase, base->flag); + if(value) { + stmt->d.stmt_fptr.type = actual_type(value->type); + stmt->d.stmt_fptr.value = value; + } + CHECK_BO(traverse_stmt_fptr(env, &stmt->d.stmt_fptr)) + free_stmt(env->gwion->mp, stmt); + CHECK_OO((base->base->ret_type = known_type(env, base->base->td))) + if(exp->args) + CHECK_OO(check_exp(env, exp->args)) + const Func func = find_func_match(env, fbase->func, exp->args); + // nspc_pop_type(env->gwion->mp, env->curr); + // env_pop(env, scope); + if(!value) + map_set(&v->owner->info->type->map, (vtype)sym, (vtype)actual_type(func->value_ref->type)); + xfree(tmpl_name); + env->func = former; + return func; + } for(m_uint i = 0; i < v->offset + 1; ++i) { - Func_Def def = NULL; + Func_Def fdef = NULL; Func_Def base = NULL; Value value = template_get_ready(env, v, tmpl_name, i); if(value) { if(env->func == value->d.func_ref) { - free(tmpl_name); CHECK_BO(check_call(env, exp)) - return env->func; + m_func = env->func; + break; } - base = def = value->d.func_ref->def; - if(!def->base->tmpl) { + base = fdef = value->d.func_ref->def; + if(!fdef->base->tmpl) { if(!(value = template_get_ready(env, v, "template", i))) continue; base = value->d.func_ref->def; - def->base->tmpl = new_tmpl(env->gwion->mp, base->base->tmpl->list, (m_int)i); + fdef->base->tmpl = new_tmpl(env->gwion->mp, base->base->tmpl->list, (m_int)i); } } else { if(!(value = template_get_ready(env, v, "template", i))) continue; base = value->d.func_ref->def; - def = new_func_def(env->gwion->mp, new_func_base(env->gwion->mp, base->base->td, insert_symbol(v->name), + fdef = new_func_def(env->gwion->mp, new_func_base(env->gwion->mp, base->base->td, insert_symbol(v->name), base->base->args), base->d.code, base->flag, loc_cpy(env->gwion->mp, base->pos)); - def->base->tmpl = new_tmpl(env->gwion->mp, base->base->tmpl->list, (m_int)i); - SET_FLAG(def, template); - } - def->base->tmpl->call = types; - if(traverse_func_template(env, def) > 0) { - nspc_pop_type(env->gwion->mp, env->curr); - if(check_call(env, exp) > 0) { - const Func next = def->base->func->next; - def->base->func->next = NULL; - m_func = find_func_match(env, def->base->func, args); - def->base->func->next = next; - if(m_func) { - SET_FLAG(m_func, checked | ae_flag_template); - goto end; - } - } + fdef->base->tmpl = new_tmpl(env->gwion->mp, base->base->tmpl->list, (m_int)i); + SET_FLAG(fdef, template); } - if(sz != vector_size((Vector)env->curr->info->type)) - nspc_pop_type(env->gwion->mp, env->curr); - SET_FLAG(base, template); + fdef->base->tmpl->call = types; + if(traverse_func_template(env, fdef) > 0 && + (m_func = ensure_tmpl(env, fdef->base->func, exp))) + break; } -end: - free(tmpl_name); + xfree(tmpl_name); env_pop(env, scope); env->func = former; return m_func; } + ANN Func find_template_match(const Env env, const Value value, const Exp_Call* exp) { Type t = value->owner_class; const Func f = _find_template_match(env, value, exp); - if(f) + if(f) { return f; + } while(t) { Value v = nspc_lookup_value1(t->nspc, value->d.func_ref->def->base->xid); if(!v) @@ -963,7 +1012,7 @@ ANN m_bool check_stmt_union(const Env env, const Stmt_Union stmt) { if(isa(l->self->type, t_object) > 0) { if(!GET_FLAG(l->self->d.exp_decl.td, ref) && !GET_FLAG(stmt->type, template)) ERR_B(l->self->pos, "In union, Objects must be declared as reference (use '@')") - SET_FLAG(l->self->d.exp_decl.td, ref); +// SET_FLAG(l->self->d.exp_decl.td, ref); Var_Decl_List list = l->self->d.exp_decl.list; do SET_FLAG(list->self->value, pure); while((list = list->next)); @@ -1046,21 +1095,6 @@ ANN static m_bool check_parent_match(const Env env, const Func_Def f) { return GW_OK; } -ANN static m_bool check_func_args(const Env env, Arg_List arg_list) { - do { - const Var_Decl decl = arg_list->var_decl; - const Value v = decl->value; - if(arg_list->td && !arg_list->td->xid) - arg_list->type = v->type = check_td(env, arg_list->td); - if(isa(v->type, t_object) > 0 || isa(v->type, t_function) > 0) - UNSET_FLAG(env->func, pure); - CHECK_BB(already_defined(env, decl->xid, decl->pos)) - SET_FLAG(v, checked); - nspc_add_value(env->curr, decl->xid, v); - } while((arg_list = arg_list->next)); - return GW_OK; -} - ANN static inline Func get_overload(const Env env, const Func_Def def, const m_uint i) { const Symbol sym = func_symbol(env, env->curr->name, s_name(def->base->xid), NULL, i); return nspc_lookup_func1(env->curr, sym); @@ -1136,7 +1170,8 @@ ANN m_bool check_func_def(const Env env, const Func_Def f) { ret = check_func_args(env, f->base->args); if(ret > 0) { const Value variadic = GET_FLAG(f, variadic) ? set_variadic(env) : NULL; - if(!GET_FLAG(f, builtin) && check_stmt_code(env, &f->d.code->d.stmt_code) < 0) + if(!GET_FLAG(f, builtin) && f->d.code && + check_stmt_code(env, &f->d.code->d.stmt_code) < 0) ret = GW_ERROR; if(variadic) REM_REF(variadic, env->gwion) diff --git a/src/parse/scan1.c b/src/parse/scan1.c index bad133388..106390d07 100644 --- a/src/parse/scan1.c +++ b/src/parse/scan1.c @@ -15,9 +15,6 @@ ANN static m_bool scan1_stmt_list(const Env env, Stmt_List list); ANN static m_bool scan1_stmt(const Env env, Stmt stmt); ANN static Type void_type(const Env env, const Type_Decl* td) { -// could be more precise - if(SAFE_FLAG(env->class_def, template) && td->types) - return t_undefined; const Type t = known_type(env, td); CHECK_OO(t) if(t->size) @@ -25,25 +22,47 @@ ANN static Type void_type(const Env env, const Type_Decl* td) { ERR_O(td_pos(td), "cannot declare variables of size '0' (i.e. 'void')...") } + +ANN static inline Type get_base_type(const Env env, const Type t) { + const m_str decl_name = get_type_name(env, t->name, 0); + return nspc_lookup_type1(env->curr, insert_symbol(decl_name)); +} + +ANN static m_bool type_recursive(const Env env, Exp_Decl* decl, const Type t) { + const Type decl_base = get_base_type(env, t); + const Type base = get_base_type(env, env->class_def); + if(decl_base && base) { + if(!base->e->contains.ptr) + vector_init(&base->e->contains); + vector_add(&base->e->contains, (vtype)decl_base); + if(decl_base->e->contains.ptr) { + for(m_uint i = 0; i < vector_size(&decl_base->e->contains); ++i) { + if(base == (Type)vector_at(&decl_base->e->contains, i) && !GET_FLAG(decl->td, ref)) + ERR_B(exp_self(decl)->pos, "%s declared inside %s\n. (make it a ref ?)", + decl_base->name, decl_base == base ? "itself" : base->name); + } + } + } + return GW_OK; +} + ANN static Type scan1_exp_decl_type(const Env env, Exp_Decl* decl) { const Type t = void_type(env, decl->td); CHECK_OO(t); if(decl->td->xid && decl->td->xid->xid == insert_symbol("auto") && decl->type) return decl->type; + if(!env->scope->depth && env->class_def) { + if(isa(t, t_object) > 0) + CHECK_BO(type_recursive(env, decl, t)) + if(!GET_FLAG(decl->td, static)) + SET_FLAG(decl->td, member); + } if(GET_FLAG(t, abstract) && !GET_FLAG(decl->td, ref)) ERR_O(exp_self(decl)->pos, "Type '%s' is abstract, declare as ref. (use @)", t->name) if(GET_FLAG(t, private) && t->e->owner != env->curr) ERR_O(exp_self(decl)->pos, "can't use private type %s", t->name) if(GET_FLAG(t, protect) && (!env->class_def || isa(t, env->class_def) < 0)) ERR_O(exp_self(decl)->pos, "can't use protected type %s", t->name) - if(env->class_def) { - if(!env->scope->depth) { - if(!GET_FLAG(decl->td, ref) && t == env->class_def) - ERR_O(exp_self(decl)->pos, "...(note: object of type '%s' declared inside itself)", t->name) - if(!GET_FLAG(decl->td, static)) - SET_FLAG(decl->td, member); - } - } decl->base = t->e->def; return decl->type = t; } @@ -303,7 +322,7 @@ ANN m_bool scan1_func_def(const Env env, const Func_Def fdef) { CHECK_OB((fdef->base->ret_type = known_type(env, fdef->base->td))) if(fdef->base->args) CHECK_BB(scan1_args(env, fdef->base->args)) - if(!GET_FLAG(fdef, builtin)) + if(!GET_FLAG(fdef, builtin) && fdef->d.code) CHECK_BB(scan1_stmt_code(env, &fdef->d.code->d.stmt_code)) env->func = former; --env->scope->depth; diff --git a/src/parse/scan2.c b/src/parse/scan2.c index bc4e999ec..7fba103e1 100644 --- a/src/parse/scan2.c +++ b/src/parse/scan2.c @@ -20,22 +20,21 @@ ANN static m_bool scan2_stmt_list(const Env, Stmt_List); ANN static m_bool scan2_exp_decl_template(const Env env, const Exp_Decl* decl) { CHECK_BB(scan1_cdef(env, decl->type->e->def)) - CHECK_BB(scan2_cdef(env, decl->type->e->def)) - return GW_OK; + return scan2_cdef(env, decl->type->e->def); } ANN m_bool scan2_exp_decl(const Env env, const Exp_Decl* decl) { - Var_Decl_List list = decl->list; + const m_bool global = GET_FLAG(decl->td, global); + const m_uint scope = !global ? env->scope->depth : env_push_global(env); const Type type = decl->type; if(GET_FLAG(type, template) && !GET_FLAG(type, scan2)) CHECK_BB(scan2_exp_decl_template(env, decl)) - const m_bool global = GET_FLAG(decl->td, global); - const m_uint scope = !global ? env->scope->depth : env_push_global(env); + Var_Decl_List list = decl->list; do { const Var_Decl var = list->self; - const Array_Sub array = var->array; - if(array && array->exp) - CHECK_BB(scan2_exp(env, array->exp)) + const Exp array = var->array ? var->array->exp : NULL; + if(array) + CHECK_BB(scan2_exp(env, array)) nspc_add_value(env->curr, var->xid, var->value); } while((list = list->next)); if(global) @@ -92,6 +91,7 @@ ANN m_bool scan2_stmt_fptr(const Env env, const Stmt_Fptr ptr) { ptr->value->d.func_ref = ptr->base->func; ptr->base->func->value_ref = ptr->value; ptr->type->e->d.func = ptr->base->func; + def->base->tmpl = ptr->base->tmpl; SET_FLAG(ptr->value, func | ae_flag_checked); if(ptr->base->args) CHECK_BB(scan2_args(env, def)) @@ -301,8 +301,10 @@ ANN static m_bool scan2_stmt_list(const Env env, Stmt_List list) { ANN static m_bool scan2_func_def_overload(const Env env, const Func_Def f, const Value overload) { const m_bool base = tmpl_base(f->base->tmpl); const m_bool tmpl = GET_FLAG(overload, template); - if(isa(overload->type, t_function) < 0 || isa(overload->type, t_fptr) > 0) + if(isa(overload->type, t_function) < 0 || isa(overload->type, t_fptr) > 0) { + if(isa(actual_type(overload->type), t_function) < 0) ERR_B(f->pos, "function name '%s' is already used by another value", overload->name) +} if((!tmpl && base) || (tmpl && !base && !GET_FLAG(f, template))) ERR_B(f->pos, "must overload template function with template") return GW_OK; @@ -387,6 +389,7 @@ ANN2(1, 2) static m_bool scan2_func_def_template(const Env env, const Func_Def f func->vt_index = i; ADD_REF(value) nspc_add_value(env->curr, f->base->xid, value); + nspc_add_func(env->curr, f->base->xid, func); } else func->vt_index = ++overload->offset; return GW_OK; @@ -467,7 +470,7 @@ ANN static m_str func_tmpl_name(const Env env, const Func_Def f) { } -ANN2(1,2,4) static Value func_create(const Env env, const Func_Def f, +ANN2(1,2,4) /*static */Value func_create(const Env env, const Func_Def f, const Value overload, const m_str name) { const Func func = scan_new_func(env, f, name); nspc_add_func(env->curr, insert_symbol(func->name), func); @@ -531,7 +534,7 @@ ANN m_bool scan2_func_def(const Env env, const Func_Def f) { // body if(f->base->args) CHECK_BB(scan2_args(env, f)) - if(!GET_FLAG(f, builtin) && f->d.code->d.stmt_code.stmt_list) + if(!GET_FLAG(f, builtin) && f->d.code) CHECK_BB(scan2_func_def_code(env, f)) // gpop if(GET_FLAG(f, global)) diff --git a/src/parse/template.c b/src/parse/template.c index b1e7d1786..081a4bd65 100644 --- a/src/parse/template.c +++ b/src/parse/template.c @@ -73,8 +73,11 @@ ANN static size_t template_size(const Env env, struct tmpl_info* info) { ID_List base = info->cdef->base.tmpl->list; Type_List call = info->call; size_t size = tmpl_set(info, info->cdef->base.type); - do size += tmpl_set(info, type_decl_resolve(env, call->td)); - while((call = call->next) && (base = base->next) && ++size); + do { + const Type t = type_decl_resolve(env, call->td); + CHECK_OB(t) + size += tmpl_set(info, t); + } while((call = call->next) && (base = base->next) && ++size); return size + 16 + 3; } @@ -114,6 +117,8 @@ ANN m_bool template_match(ID_List base, Type_List call) { ANN static Class_Def template_class(const Env env, const Class_Def def, const Type_List call) { const Symbol name = template_id(env, def, call); + if(env->class_def && name == insert_symbol(env->class_def->name)) + return env->class_def->e->def; const Type t = nspc_lookup_type1(env->curr, name); return t ? t->e->def : new_class_def(env->gwion->mp, def->flag, name, def->base.ext, def->body, loc_cpy(env->gwion->mp, def->pos)); @@ -157,9 +162,11 @@ ANN Type scan_type(const Env env, const Type t, const Type_Decl* type) { return a->base.type; a->base.tmpl = new_tmpl(env->gwion->mp, get_total_type_list(env, t), 0); a->base.tmpl->call = type->types; - if(isa(t, t_union) < 0) + if(isa(t, t_union) < 0) { CHECK_BO(scan0_class_def(env, a)) - else { + map_set(&t->e->owner->info->type->map, (vtype)insert_symbol(a->base.type->name), + (vtype)a->base.type); + } else { a->stmt = new_stmt_union(env->gwion->mp, (Decl_List)a->body, t->e->def->pos); a->stmt->d.stmt_union.type_xid = a->base.xid; CHECK_BO(scan0_stmt_union(env, &a->stmt->d.stmt_union)) @@ -177,8 +184,6 @@ ANN Type scan_type(const Env env, const Type t, const Type_Decl* type) { SET_FLAG(a->base.type, dtor); ADD_REF(t->nspc->dtor) } -// nspc_add_type(t->e->owner, insert_symbol(a->base.type->name), a->base.type); - map_set(&t->e->owner->info->type->map, insert_symbol(a->base.type->name), a->base.type); return a->base.type; } else if(type->types) ERR_O(type->xid->pos, diff --git a/src/parse/traverse.c b/src/parse/traverse.c index 637d93e3b..00ee4ce5b 100644 --- a/src/parse/traverse.c +++ b/src/parse/traverse.c @@ -40,7 +40,7 @@ ANN m_bool traverse_stmt_enum(const Env env, const Stmt_Enum def) { } ANN m_bool traverse_stmt_fptr(const Env env, const Stmt_Fptr def) { - CHECK_BB(scan0_stmt_fptr(env, def)) +// CHECK_BB(scan0_stmt_fptr(env, def)) CHECK_BB(scan1_stmt_fptr(env, def)) return scan2_stmt_fptr(env, def); // CHECK_BB(check_stmt_fptr(env, def)) diff --git a/src/parse/traverse_template.c b/src/parse/traverse_template.c index 8b32476fe..1a49596a1 100644 --- a/src/parse/traverse_template.c +++ b/src/parse/traverse_template.c @@ -10,5 +10,8 @@ ANN m_bool traverse_func_template(const Env env, const Func_Def def) { CHECK_BB(template_push_types(env, def->base->tmpl)) - return traverse_func_def(env, def); + if(traverse_func_def(env, def) > 0) + return GW_OK; + nspc_pop_type(env->gwion->mp, env->curr); + return GW_ERROR; } diff --git a/src/vm/vm.c b/src/vm/vm.c index 512375397..11610db16 100644 --- a/src/vm/vm.c +++ b/src/vm/vm.c @@ -301,7 +301,7 @@ ANN void vm_run(const VM* vm) { // lgtm [cpp/use-of-goto] do { register Instr instr; DISPATCH(); regsetimm: - *(m_uint*)reg = instr->m_val; + *(m_uint*)(reg + (m_int)instr->m_val2) = instr->m_val; DISPATCH(); regpushimm: *(m_uint*)reg = instr->m_val; diff --git a/tests/error/ptr_assign_other.gw b/tests/error/ptr_assign_other.gw index cdbf537d8..7f18d51a2 100644 --- a/tests/error/ptr_assign_other.gw +++ b/tests/error/ptr_assign_other.gw @@ -1,4 +1,4 @@ -// [contains] can't assign member function to member function pointer of an other class +// [contains] can't assign member function to a pointer of an other class class C { typedef void Test(); Test test; From a82ef232ae8880663167863079dadbc3c9ed1364 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 6 Jun 2019 18:07:45 +0200 Subject: [PATCH 45/47] :art Update submodule --- ast | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ast b/ast index ff979819f..63cdc3025 160000 --- a/ast +++ b/ast @@ -1 +1 @@ -Subproject commit ff979819f807d06e3f51c9df0afd56c9631366ee +Subproject commit 63cdc302579f7e86ddeb6b498e1336b933499700 From f28b33f536153a474f6d9afde0d3386194f1a8c4 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 6 Jun 2019 18:15:36 +0200 Subject: [PATCH 46/47] :art: Naming thing is hard --- src/emit/emit.c | 50 +++++++++++------------ src/parse/check.c | 102 +++++++++++++++++++++++----------------------- 2 files changed, 76 insertions(+), 76 deletions(-) diff --git a/src/emit/emit.c b/src/emit/emit.c index 44487123e..641f2da3e 100644 --- a/src/emit/emit.c +++ b/src/emit/emit.c @@ -1643,8 +1643,8 @@ ANN static void emit_func_def_args(const Emitter emit, Arg_List a) { } while((a = a->next)); } -ANN static void emit_func_def_ensure(const Emitter emit, const Func_Def func_def) { - const m_uint size = func_def->base->ret_type->size; +ANN static void emit_func_def_ensure(const Emitter emit, const Func_Def fdef) { + const m_uint size = fdef->base->ret_type->size; if(size) { const Instr instr = emit_kind(emit, size, 0, regpushimm); instr->m_val2 = size; @@ -1680,38 +1680,38 @@ ANN static void emit_func_def_code(const Emitter emit, const Func func) { func->def->stack_depth = func->code->stack_depth; } -ANN static m_bool emit_func_def_body(const Emitter emit, const Func_Def func_def) { - if(func_def->base->args) - emit_func_def_args(emit, func_def->base->args); - if(GET_FLAG(func_def, variadic)) +ANN static m_bool emit_func_def_body(const Emitter emit, const Func_Def fdef) { + if(fdef->base->args) + emit_func_def_args(emit, fdef->base->args); + if(GET_FLAG(fdef, variadic)) stack_alloc(emit); - if(func_def->d.code) - CHECK_BB(emit_stmt_code(emit, &func_def->d.code->d.stmt_code)) - emit_func_def_ensure(emit, func_def); + if(fdef->d.code) + CHECK_BB(emit_stmt_code(emit, &fdef->d.code->d.stmt_code)) + emit_func_def_ensure(emit, fdef); return GW_OK; } -ANN static m_bool tmpl_rettype(const Emitter emit, const Func_Def func_def) { - CHECK_BB(template_push_types(emit->env, func_def->base->tmpl)) - const m_bool ret = emit_parent_inner(emit, func_def->base->ret_type->e->def); +ANN static m_bool tmpl_rettype(const Emitter emit, const Func_Def fdef) { + CHECK_BB(template_push_types(emit->env, fdef->base->tmpl)) + const m_bool ret = emit_parent_inner(emit, fdef->base->ret_type->e->def); nspc_pop_type(emit->gwion->mp, emit->env->curr); return ret; } -ANN static m_bool emit_func_def(const Emitter emit, const Func_Def func_def) { - const Func func = get_func(emit->env, func_def); +ANN static m_bool emit_func_def(const Emitter emit, const Func_Def fdef) { + const Func func = get_func(emit->env, fdef); const Func former = emit->env->func; if(func->code) return GW_OK; - if(tmpl_base(func_def->base->tmpl)) { - UNSET_FLAG(func_def, template); + if(tmpl_base(fdef->base->tmpl)) { + UNSET_FLAG(fdef, template); return GW_OK; } - if(GET_FLAG(func_def->base->ret_type, template) && !GET_FLAG(func_def->base->ret_type, emit)) - CHECK_BB(tmpl_rettype(emit, func_def)) + if(GET_FLAG(fdef->base->ret_type, template) && !GET_FLAG(fdef->base->ret_type, emit)) + CHECK_BB(tmpl_rettype(emit, fdef)) if(SAFE_FLAG(emit->env->class_def, builtin) && GET_FLAG(emit->env->class_def, template)) return GW_OK; - if(!emit->env->class_def && !GET_FLAG(func_def, global) && !func_def->base->tmpl && !emit->env->scope->depth) + if(!emit->env->class_def && !GET_FLAG(fdef, global) && !fdef->base->tmpl && !emit->env->scope->depth) func->value_ref->offset = emit_local(emit, SZ_INT, 0); emit_func_def_init(emit, func); if(GET_FLAG(func, member)) @@ -1719,21 +1719,21 @@ ANN static m_bool emit_func_def(const Emitter emit, const Func_Def func_def) { emit_push_scope(emit); emit->env->func = func; vector_add(&emit->variadic, 0); - CHECK_BB(emit_func_def_body(emit, func_def)) - if(GET_FLAG(func_def, variadic)) { + CHECK_BB(emit_func_def_body(emit, fdef)) + if(GET_FLAG(fdef, variadic)) { if(!get_variadic(emit)) - ERR_B(func_def->pos, "invalid variadic use") + ERR_B(fdef->pos, "invalid variadic use") if(!GET_FLAG(func, empty)) - ERR_B(func_def->pos, "invalid variadic use") + ERR_B(fdef->pos, "invalid variadic use") } vector_pop(&emit->variadic); emit_func_def_return(emit); emit_func_def_code(emit, func); emit->env->func = former; emit_pop_code(emit); - if(GET_FLAG(func_def, op)) + if(GET_FLAG(fdef, op)) SET_FLAG(func->code, op); - if(!emit->env->class_def && !GET_FLAG(func_def, global) && !func_def->base->tmpl) + if(!emit->env->class_def && !GET_FLAG(fdef, global) && !fdef->base->tmpl) emit_func_def_global(emit, func->value_ref); if(emit->memoize && GET_FLAG(func, pure)) func->code->memoize = memoize_ini(emit, func, diff --git a/src/parse/check.c b/src/parse/check.c index 3b5a745c0..118a5924c 100644 --- a/src/parse/check.c +++ b/src/parse/check.c @@ -1047,29 +1047,29 @@ ANN static m_bool check_stmt_list(const Env env, Stmt_List l) { return GW_OK; } -ANN static m_bool check_signature_match(const Env env, const Func_Def f, const Func parent) { - if(GET_FLAG(parent->def, static) != GET_FLAG(f, static)) { - const m_str c_name = f->base->func->value_ref->owner_class->name; +ANN static m_bool check_signature_match(const Env env, const Func_Def fdef, const Func parent) { + if(GET_FLAG(parent->def, static) != GET_FLAG(fdef, static)) { + const m_str c_name = fdef->base->func->value_ref->owner_class->name; const m_str p_name = parent->value_ref->owner_class->name; - const m_str f_name = s_name(f->base->xid); - ERR_B(td_pos(f->base->td), + const m_str f_name = s_name(fdef->base->xid); + ERR_B(td_pos(fdef->base->td), "function '%s.%s' ressembles '%s.%s' but cannot override...\n" "\t...(reason: '%s.%s' is declared as 'static')", c_name, f_name, p_name, c_name, - GET_FLAG(f, static) ? c_name : p_name, f_name) + GET_FLAG(fdef, static) ? c_name : p_name, f_name) } - return !f->base->tmpl ? isa(f->base->ret_type, parent->def->base->ret_type) : GW_OK; + return !fdef->base->tmpl ? isa(fdef->base->ret_type, parent->def->base->ret_type) : GW_OK; } -ANN static m_bool parent_match_actual(const Env env, const restrict Func_Def f, +ANN static m_bool parent_match_actual(const Env env, const restrict Func_Def fdef, const restrict Func func) { Func parent_func = func; do { - if(compat_func(f, parent_func->def) > 0) { - CHECK_BB(check_signature_match(env, f, parent_func)) - if(!f->base->tmpl) { - f->base->func->vt_index = parent_func->vt_index; - vector_set(&env->curr->info->vtable, f->base->func->vt_index, (vtype)f->base->func); + if(compat_func(fdef, parent_func->def) > 0) { + CHECK_BB(check_signature_match(env, fdef, parent_func)) + if(!fdef->base->tmpl) { + fdef->base->func->vt_index = parent_func->vt_index; + vector_set(&env->curr->info->vtable, fdef->base->func->vt_index, (vtype)fdef->base->func); } return GW_OK; } @@ -1077,13 +1077,13 @@ ANN static m_bool parent_match_actual(const Env env, const restrict Func_Def f, return 0; } -ANN static m_bool check_parent_match(const Env env, const Func_Def f) { - const Func func = f->base->func; +ANN static m_bool check_parent_match(const Env env, const Func_Def fdef) { + const Func func = fdef->base->func; const Type parent = env->class_def->e->parent; if(parent) { - const Value v = find_value(parent, f->base->xid); + const Value v = find_value(parent, fdef->base->xid); if(v && isa(v->type, t_function) > 0) { - const m_bool match = parent_match_actual(env, f, v->d.func_ref); + const m_bool match = parent_match_actual(env, fdef, v->d.func_ref); if(match) return match; } @@ -1095,37 +1095,37 @@ ANN static m_bool check_parent_match(const Env env, const Func_Def f) { return GW_OK; } -ANN static inline Func get_overload(const Env env, const Func_Def def, const m_uint i) { - const Symbol sym = func_symbol(env, env->curr->name, s_name(def->base->xid), NULL, i); +ANN static inline Func get_overload(const Env env, const Func_Def fdef, const m_uint i) { + const Symbol sym = func_symbol(env, env->curr->name, s_name(fdef->base->xid), NULL, i); return nspc_lookup_func1(env->curr, sym); } -ANN static m_bool check_func_overload(const Env env, const Func_Def f) { - const Value v = f->base->func->value_ref; +ANN static m_bool check_func_overload(const Env env, const Func_Def fdef) { + const Value v = fdef->base->func->value_ref; for(m_uint i = 0; i <= v->offset; ++i) { - const Func f1 = get_overload(env, f, i); + const Func f1 = get_overload(env, fdef, i); for(m_uint j = i + 1; f1 && j <= v->offset; ++j) { - const Func f2 = get_overload(env, f, j); + const Func f2 = get_overload(env, fdef, j); if(f2 && compat_func(f1->def, f2->def) > 0) ERR_B(td_pos(f2->def->base->td), "global function '%s' already defined" - " for those arguments", s_name(f->base->xid)) + " for those arguments", s_name(fdef->base->xid)) } } return GW_OK; } -ANN static m_bool check_func_def_override(const Env env, const Func_Def f) { - const Func func = f->base->func; +ANN static m_bool check_func_def_override(const Env env, const Func_Def fdef) { + const Func func = fdef->base->func; if(env->class_def && env->class_def->e->parent) { - const Value override = find_value(env->class_def->e->parent, f->base->xid); + const Value override = find_value(env->class_def->e->parent, fdef->base->xid); if(override && override->owner_class && isa(override->type, t_function) < 0) - ERR_B(f->pos, + ERR_B(fdef->pos, "function name '%s' conflicts with previously defined value...\n" "\tfrom super class '%s'...", - s_name(f->base->xid), override->owner_class->name) + s_name(fdef->base->xid), override->owner_class->name) } - if(func->value_ref->offset && (!f->base->tmpl || !f->base->tmpl->base)) - CHECK_BB(check_func_overload(env, f)) + if(func->value_ref->offset && (!fdef->base->tmpl || !fdef->base->tmpl->base)) + CHECK_BB(check_func_overload(env, fdef)) return GW_OK; } @@ -1146,44 +1146,44 @@ ANN static void operator_func(const Func f) { operator_set_func(&opi); } -ANN m_bool check_func_def(const Env env, const Func_Def f) { - const Func func = get_func(env, f); +ANN m_bool check_func_def(const Env env, const Func_Def fdef) { + const Func func = get_func(env, fdef); m_bool ret = GW_OK; - if(tmpl_base(f->base->tmpl)) - return env->class_def ? check_parent_match(env, f) : 1; - if(f->base->td && !f->base->td->xid) { - f->base->ret_type = check_td(env, f->base->td); - return traverse_func_def(env, f); + if(tmpl_base(fdef->base->tmpl)) + return env->class_def ? check_parent_match(env, fdef) : 1; + if(fdef->base->td && !fdef->base->td->xid) { + fdef->base->ret_type = check_td(env, fdef->base->td); + return traverse_func_def(env, fdef); } - CHECK_BB(check_func_def_override(env, f)) + CHECK_BB(check_func_def_override(env, fdef)) if(env->class_def) - CHECK_BB(check_parent_match(env, f)) - else if(GET_FLAG(f, global)) + CHECK_BB(check_parent_match(env, fdef)) + else if(GET_FLAG(fdef, global)) env_push_global(env); const Func former = env->func; env->func = func; ++env->scope->depth; nspc_push_value(env->gwion->mp, env->curr); - if(!f->base->args) - UNSET_FLAG(f->base->func, pure); + if(!fdef->base->args) + UNSET_FLAG(fdef->base->func, pure); else - ret = check_func_args(env, f->base->args); + ret = check_func_args(env, fdef->base->args); if(ret > 0) { - const Value variadic = GET_FLAG(f, variadic) ? set_variadic(env) : NULL; - if(!GET_FLAG(f, builtin) && f->d.code && - check_stmt_code(env, &f->d.code->d.stmt_code) < 0) + const Value variadic = GET_FLAG(fdef, variadic) ? set_variadic(env) : NULL; + if(!GET_FLAG(fdef, builtin) && fdef->d.code && + check_stmt_code(env, &fdef->d.code->d.stmt_code) < 0) ret = GW_ERROR; if(variadic) REM_REF(variadic, env->gwion) - if(GET_FLAG(f, builtin)) - func->code->stack_depth = f->stack_depth; - else if(GET_FLAG(f, op)) + if(GET_FLAG(fdef, builtin)) + func->code->stack_depth = fdef->stack_depth; + else if(GET_FLAG(fdef, op)) operator_func(func); } nspc_pop_value(env->gwion->mp, env->curr); --env->scope->depth; env->func = former; - if(GET_FLAG(f, global)) + if(GET_FLAG(fdef, global)) env_push_global(env); return ret; } From 67cfe8e924e65c2255c89454ccaccbe48d659e46 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Thu, 6 Jun 2019 18:15:50 +0200 Subject: [PATCH 47/47] :art: Context name --- src/oo/context.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/oo/context.c b/src/oo/context.c index 98486df1d..45695dfc6 100644 --- a/src/oo/context.c +++ b/src/oo/context.c @@ -11,14 +11,15 @@ ANN static void free_context(const Context a, Gwion gwion) { REM_REF(a->nspc, gwion) + xfree(a->name); mp_free(gwion->mp, Context, a); } ANN2(2) Context new_context(MemPool p, const Ast ast, const m_str str) { const Context context = mp_calloc(p, Context); - context->nspc = new_nspc(p, str); + context->name = strdup(str); + context->nspc = new_nspc(p, context->name); context->tree = ast; - context->name = str; context->ref = new_refcount(p, free_context); return context; }

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