From 58b3214d2e1743446590b3ab29749bde60b236dc Mon Sep 17 00:00:00 2001 From: chengquan Date: Mon, 11 May 2020 14:59:12 +0800 Subject: [PATCH] upgrade software to v0.9.1 --- 0001-support-compile-kpatch-on-aarch64.patch | 36 ++--- ...uild-support-build-patch-for-aarch64.patch | 151 ++++++++---------- ...ct-new-static-var-should-be-included.patch | 13 +- ...e-THIS-modname-as-the-name-of-ddebug.patch | 5 +- ...ct-fix-correlate-static-local-variab.patch | 9 +- ...ct-don-t-create-dynamic-reloc-for-sy.patch | 9 +- ...ct-create-dynamic-relocs-for-changed.patch | 11 +- 0008-fix-rodata.str-problem.patch | 9 +- ...-hook-don-t-active-patch-when-insmod.patch | 5 +- ...build-enhance-for-out-of-tree-module.patch | 5 +- 0011-support-c-plus-kernel-module.patch | 21 ++- 0012-symbol-lookup-enhancement.patch | 74 ++++----- ...el-symbol-table-to-help-symbol-looku.patch | 11 +- ...ch-hook-support-force-enable-disable.patch | 5 +- ...atch-build-ignore-debuginfo-in-patch.patch | 21 ++- 0016-add-object-in-kpatch.patch | 5 +- ...diff-object-fix-.orc_unwind_ip-error.patch | 11 +- ...ignal-reloc-for-symbols-from-modules.patch | 9 +- ...e-diff-object-add-jump-label-support.patch | 13 +- ...d-compile-flag-fno-reorder-functions.patch | 5 +- ...-t-copy-.config-for-out-of-tree-modu.patch | 5 +- ...support-force-enable-disable-for-x86.patch | 57 +++++++ ...ct-fix-duplicate-symbols-for-vmlinux.patch | 56 +++++++ kpatch-0.9.1.tar.gz | Bin 0 -> 198691 bytes kpatch.spec | 26 ++- 25 files changed, 332 insertions(+), 240 deletions(-) create mode 100644 0022-support-force-enable-disable-for-x86.patch create mode 100644 0023-create-diff-object-fix-duplicate-symbols-for-vmlinux.patch create mode 100644 kpatch-0.9.1.tar.gz diff --git a/0001-support-compile-kpatch-on-aarch64.patch b/0001-support-compile-kpatch-on-aarch64.patch index 603b86c..ae5e4e8 100644 --- a/0001-support-compile-kpatch-on-aarch64.patch +++ b/0001-support-compile-kpatch-on-aarch64.patch @@ -1,35 +1,36 @@ -From 33c4d7a2a31ca10ce943d7ab0603bd814f4ac530 Mon Sep 17 00:00:00 2001 +From 1281e03a115ee04e8ddea9f88d0e4e16b2e5ce57 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Thu, 20 Dec 2018 04:55:38 +0000 -Subject: [PATCH 01/17] support compile kpatch on aarch64 +Subject: [PATCH 01/21] support compile kpatch on aarch64 delete __x86_64__ to support compile kpatch on aarch64. Signed-off-by: Zhipeng Xie --- - kpatch-build/Makefile | 3 +++ + kpatch-build/Makefile | 4 ++++ kpatch-build/create-diff-object.c | 14 +------------- - 2 files changed, 4 insertions(+), 13 deletions(-) + 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/kpatch-build/Makefile b/kpatch-build/Makefile -index 232b336..974e0f2 100644 +index 7505e07..8efae94 100644 --- a/kpatch-build/Makefile +++ b/kpatch-build/Makefile -@@ -12,6 +12,9 @@ SOURCES = create-diff-object.c kpatch-elf.c \ - ifeq ($(ARCH),x86_64) +@@ -14,6 +14,10 @@ ifeq ($(ARCH),x86_64) SOURCES += insn/insn.c insn/inat.c INSN = insn/insn.o insn/inat.o + insn/%.o: CFLAGS := $(filter-out -Wconversion, $(CFLAGS)) +else ifeq ($(ARCH),aarch64) +SOURCES += insn/insn.c insn/inat.c +INSN = insn/insn.o insn/inat.o ++insn/%.o: CFLAGS := $(filter-out -Wconversion, $(CFLAGS)) else ifeq ($(ARCH),ppc64le) SOURCES += gcc-plugins/ppc64le-plugin.c PLUGIN = gcc-plugins/ppc64le-plugin.so diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index c9d2cc6..7b1deb0 100644 +index aedd07d..2707cdb 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -470,7 +470,6 @@ out: +@@ -475,7 +475,6 @@ out: log_debug("section %s has changed\n", sec->name); } @@ -37,7 +38,7 @@ index c9d2cc6..7b1deb0 100644 /* * Determine if a section has changed only due to a WARN* or might_sleep * macro call's embedding of the line number into an instruction operand. -@@ -581,7 +580,7 @@ static int kpatch_line_macro_change_only(struct section *sec) +@@ -586,7 +585,7 @@ static int kpatch_line_macro_change_only(struct section *sec) return 1; } @@ -46,7 +47,7 @@ index c9d2cc6..7b1deb0 100644 #define PPC_INSTR_LEN 4 #define PPC_RA_OFFSET 16 -@@ -647,11 +646,6 @@ static int kpatch_line_macro_change_only(struct section *sec) +@@ -652,11 +651,6 @@ static int kpatch_line_macro_change_only(struct section *sec) return 1; } @@ -58,7 +59,7 @@ index c9d2cc6..7b1deb0 100644 #endif static void kpatch_compare_sections(struct list_head *seclist) -@@ -1202,7 +1196,6 @@ static void kpatch_compare_correlated_elements(struct kpatch_elf *kelf) +@@ -1215,7 +1209,6 @@ static void kpatch_compare_correlated_elements(struct kpatch_elf *kelf) kpatch_compare_symbols(&kelf->symbols); } @@ -66,7 +67,7 @@ index c9d2cc6..7b1deb0 100644 static void rela_insn(const struct section *sec, const struct rela *rela, struct insn *insn) { -@@ -1226,7 +1219,6 @@ static void rela_insn(const struct section *sec, const struct rela *rela, +@@ -1239,7 +1232,6 @@ static void rela_insn(const struct section *sec, const struct rela *rela, return; } } @@ -74,7 +75,7 @@ index c9d2cc6..7b1deb0 100644 static bool is_callback_section(struct section *sec) { -@@ -1771,7 +1763,6 @@ static int jump_table_group_size(struct kpatch_elf *kelf, int offset) +@@ -1785,7 +1777,6 @@ static int jump_table_group_size(struct kpatch_elf *kelf, int offset) return size; } @@ -82,7 +83,7 @@ index c9d2cc6..7b1deb0 100644 static int parainstructions_group_size(struct kpatch_elf *kelf, int offset) { static int size = 0; -@@ -1806,7 +1797,6 @@ static int smp_locks_group_size(struct kpatch_elf *kelf, int offset) +@@ -1820,7 +1811,6 @@ static int smp_locks_group_size(struct kpatch_elf *kelf, int offset) { return 4; } @@ -90,7 +91,7 @@ index c9d2cc6..7b1deb0 100644 #ifdef __powerpc64__ static int fixup_entry_group_size(struct kpatch_elf *kelf, int offset) { -@@ -1901,7 +1891,6 @@ static struct special_section special_sections[] = { +@@ -1915,7 +1905,6 @@ static struct special_section special_sections[] = { .name = "__jump_table", .group_size = jump_table_group_size, }, @@ -98,7 +99,7 @@ index c9d2cc6..7b1deb0 100644 { .name = ".smp_locks", .group_size = smp_locks_group_size, -@@ -1914,7 +1903,6 @@ static struct special_section special_sections[] = { +@@ -1928,7 +1917,6 @@ static struct special_section special_sections[] = { .name = ".altinstructions", .group_size = altinstructions_group_size, }, @@ -108,4 +109,3 @@ index c9d2cc6..7b1deb0 100644 .name = "__ftr_fixup", -- 2.18.1 - diff --git a/0002-kpatch-build-support-build-patch-for-aarch64.patch b/0002-kpatch-build-support-build-patch-for-aarch64.patch index 033602e..0e986dd 100644 --- a/0002-kpatch-build-support-build-patch-for-aarch64.patch +++ b/0002-kpatch-build-support-build-patch-for-aarch64.patch @@ -1,7 +1,7 @@ -From 6dd77e9f5bc044a1f80ad89bb9d7f60756b39755 Mon Sep 17 00:00:00 2001 +From 92bb331ce71cfc33d933ebeabdbe9b5721c0ec75 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Wed, 26 Feb 2020 07:09:50 -0500 -Subject: [PATCH 02/17] kpatch-build: support build patch for aarch64 +Subject: [PATCH 02/21] kpatch-build: support build patch for aarch64 use R_AARCH64_ABS64 for aarch64 @@ -16,14 +16,14 @@ support cross compile for aarch64 Signed-off-by: Zhipeng Xie --- - kpatch-build/create-diff-object.c | 216 ++++++++++++++++++++++++---- + kpatch-build/create-diff-object.c | 191 +++++++++++++++++++++++++--- kpatch-build/create-kpatch-module.c | 24 +++- - kpatch-build/kpatch-build | 116 ++++++++++++++- + kpatch-build/kpatch-build | 116 ++++++++++++++++- kpatch-build/kpatch-gcc | 4 +- - 4 files changed, 319 insertions(+), 41 deletions(-) + 4 files changed, 306 insertions(+), 29 deletions(-) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 7b1deb0..58789f1 100644 +index 2707cdb..7a27b58 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c @@ -76,6 +76,31 @@ enum subsection { @@ -58,7 +58,7 @@ index 7b1deb0..58789f1 100644 /******************* * Data structures * ****************/ -@@ -647,6 +672,67 @@ static int kpatch_line_macro_change_only(struct section *sec) +@@ -652,6 +677,67 @@ static int kpatch_line_macro_change_only(struct section *sec) return 1; } #endif @@ -126,7 +126,7 @@ index 7b1deb0..58789f1 100644 static void kpatch_compare_sections(struct list_head *seclist) { -@@ -662,7 +748,16 @@ static void kpatch_compare_sections(struct list_head *seclist) +@@ -667,7 +753,16 @@ static void kpatch_compare_sections(struct list_head *seclist) /* exclude WARN-only, might_sleep changes */ list_for_each_entry(sec, seclist, list) { @@ -144,7 +144,7 @@ index 7b1deb0..58789f1 100644 log_debug("reverting macro / line number section %s status to SAME\n", sec->name); sec->status = SAME; -@@ -722,6 +817,8 @@ static void kpatch_compare_correlated_symbol(struct symbol *sym) +@@ -727,6 +822,8 @@ static void kpatch_compare_correlated_symbol(struct symbol *sym) if ((sym2->sec->twin && sym2->sec->twin->ignore) || kpatch_subsection_changed(sym1->sec, sym2->sec)) sym->status = CHANGED; @@ -153,90 +153,72 @@ index 7b1deb0..58789f1 100644 else DIFF_FATAL("symbol changed sections: %s", sym1->name); } -@@ -1289,22 +1386,22 @@ static void kpatch_replace_sections_syms(struct kpatch_elf *kelf) +@@ -1302,9 +1399,8 @@ static void kpatch_replace_sections_syms(struct kpatch_elf *kelf) continue; } -#ifdef __powerpc64__ add_off = 0; -#else -- if (rela->type == R_X86_64_PC32 || -- rela->type == R_X86_64_PLT32) { -- struct insn insn; -- rela_insn(sec, rela, &insn); -- add_off = (long)insn.next_byte - -- (long)sec->base->data->d_buf - -- rela->offset; -- } else if (rela->type == R_X86_64_64 || -- rela->type == R_X86_64_32S) -- add_off = 0; -- else -- continue; ++ if (arch == EM_X86_64) { + if (rela->type == R_X86_64_PC32 || + rela->type == R_X86_64_PLT32) { + struct insn insn; +@@ -1317,7 +1413,7 @@ static void kpatch_replace_sections_syms(struct kpatch_elf *kelf) + add_off = 0; + else + continue; -#endif -+ if (arch == EM_X86_64) { -+ if (rela->type == R_X86_64_PC32 || -+ rela->type == R_X86_64_PLT32) { -+ struct insn insn; -+ rela_insn(sec, rela, &insn); -+ add_off = (long)insn.next_byte - -+ (long)sec->base->data->d_buf - -+ rela->offset; -+ } else if (rela->type == R_X86_64_64 || -+ rela->type == R_X86_64_32S) -+ add_off = 0; -+ else -+ continue; -+ } -+ /* add_off is always equal to 0 on arm64 */ ++ } /* * Attempt to replace references to unbundled sections -@@ -2401,7 +2498,7 @@ static void kpatch_create_kpatch_arch_section(struct kpatch_elf *kelf, char *obj +@@ -2415,7 +2511,7 @@ static void kpatch_create_kpatch_arch_section(struct kpatch_elf *kelf, char *obj /* entries[index].sec */ ALLOC_LINK(rela, &karch_sec->rela->relas); rela->sym = sec->secsym; - rela->type = ABSOLUTE_RELA_TYPE; + rela->type = absolute_rela_type; rela->addend = 0; - rela->offset = index * sizeof(struct kpatch_arch) + \ - offsetof(struct kpatch_arch, sec); -@@ -2409,7 +2506,7 @@ static void kpatch_create_kpatch_arch_section(struct kpatch_elf *kelf, char *obj + rela->offset = (unsigned int)(index * sizeof(struct kpatch_arch) + \ + offsetof(struct kpatch_arch, sec)); +@@ -2423,7 +2519,7 @@ static void kpatch_create_kpatch_arch_section(struct kpatch_elf *kelf, char *obj /* entries[index].objname */ ALLOC_LINK(rela, &karch_sec->rela->relas); rela->sym = strsym; - rela->type = ABSOLUTE_RELA_TYPE; + rela->type = absolute_rela_type; rela->addend = offset_of_string(&kelf->strings, objname); - rela->offset = index * sizeof(struct kpatch_arch) + \ - offsetof(struct kpatch_arch, objname); -@@ -2607,7 +2704,7 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, + rela->offset = (unsigned int)(index * sizeof(struct kpatch_arch) + \ + offsetof(struct kpatch_arch, objname)); +@@ -2622,7 +2718,7 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, */ ALLOC_LINK(rela, &relasec->relas); rela->sym = sym; - rela->type = ABSOLUTE_RELA_TYPE; + rela->type = absolute_rela_type; rela->addend = 0; - rela->offset = index * sizeof(*funcs); + rela->offset = (unsigned int)(index * sizeof(*funcs)); -@@ -2617,7 +2714,7 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, +@@ -2632,7 +2728,7 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, */ ALLOC_LINK(rela, &relasec->relas); rela->sym = strsym; - rela->type = ABSOLUTE_RELA_TYPE; + rela->type = absolute_rela_type; rela->addend = offset_of_string(&kelf->strings, sym->name); - rela->offset = index * sizeof(*funcs) + - offsetof(struct kpatch_patch_func, name); -@@ -2628,7 +2725,7 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, + rela->offset = (unsigned int)(index * sizeof(*funcs) + + offsetof(struct kpatch_patch_func, name)); +@@ -2643,7 +2739,7 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, */ ALLOC_LINK(rela, &relasec->relas); rela->sym = strsym; - rela->type = ABSOLUTE_RELA_TYPE; + rela->type = absolute_rela_type; rela->addend = objname_offset; - rela->offset = index * sizeof(*funcs) + - offsetof(struct kpatch_patch_func,objname); -@@ -2686,7 +2783,10 @@ static int function_ptr_rela(const struct rela *rela) + rela->offset = (unsigned int)(index * sizeof(*funcs) + + offsetof(struct kpatch_patch_func,objname)); +@@ -2701,7 +2797,10 @@ static int function_ptr_rela(const struct rela *rela) rela_toc->addend == (int)rela_toc->sym->sym.st_value && (rela->type == R_X86_64_32S || rela->type == R_PPC64_TOC16_HA || @@ -248,52 +230,52 @@ index 7b1deb0..58789f1 100644 } static int may_need_dynrela(const struct rela *rela) -@@ -2940,7 +3040,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, +@@ -2955,7 +3054,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, /* add rela to fill in ksyms[index].name field */ ALLOC_LINK(rela2, &ksym_sec->rela->relas); rela2->sym = strsym; - rela2->type = ABSOLUTE_RELA_TYPE; + rela2->type = absolute_rela_type; rela2->addend = offset_of_string(&kelf->strings, rela->sym->name); - rela2->offset = index * sizeof(*ksyms) + \ - offsetof(struct kpatch_symbol, name); -@@ -2948,7 +3048,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, + rela2->offset = (unsigned int)(index * sizeof(*ksyms) + \ + offsetof(struct kpatch_symbol, name)); +@@ -2963,7 +3062,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, /* add rela to fill in ksyms[index].objname field */ ALLOC_LINK(rela2, &ksym_sec->rela->relas); rela2->sym = strsym; - rela2->type = ABSOLUTE_RELA_TYPE; + rela2->type = absolute_rela_type; rela2->addend = offset_of_string(&kelf->strings, sym_objname); - rela2->offset = index * sizeof(*ksyms) + \ - offsetof(struct kpatch_symbol, objname); -@@ -2969,7 +3069,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, + rela2->offset = (unsigned int)(index * sizeof(*ksyms) + \ + offsetof(struct kpatch_symbol, objname)); +@@ -2984,7 +3083,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, ERROR("can't create dynrela for section %s (symbol %s): no bundled or section symbol", sec->name, rela->sym->name); - rela2->type = ABSOLUTE_RELA_TYPE; + rela2->type = absolute_rela_type; rela2->addend = rela->offset; - rela2->offset = index * sizeof(*krelas) + \ - offsetof(struct kpatch_relocation, dest); -@@ -2977,7 +3077,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, + rela2->offset = (unsigned int)(index * sizeof(*krelas) + \ + offsetof(struct kpatch_relocation, dest)); +@@ -2992,7 +3091,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, /* add rela to fill in krelas[index].objname field */ ALLOC_LINK(rela2, &krela_sec->rela->relas); rela2->sym = strsym; - rela2->type = ABSOLUTE_RELA_TYPE; + rela2->type = absolute_rela_type; rela2->addend = offset_of_string(&kelf->strings, objname); - rela2->offset = index * sizeof(*krelas) + \ - offsetof(struct kpatch_relocation, objname); -@@ -2985,7 +3085,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, + rela2->offset = (unsigned int)(index * sizeof(*krelas) + \ + offsetof(struct kpatch_relocation, objname)); +@@ -3000,7 +3099,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, /* add rela to fill in krelas[index].ksym field */ ALLOC_LINK(rela2, &krela_sec->rela->relas); rela2->sym = ksym_sec_sym; - rela2->type = ABSOLUTE_RELA_TYPE; + rela2->type = absolute_rela_type; - rela2->addend = index * sizeof(*ksyms); - rela2->offset = index * sizeof(*krelas) + \ - offsetof(struct kpatch_relocation, ksym); -@@ -3048,7 +3148,7 @@ static void kpatch_create_callbacks_objname_rela(struct kpatch_elf *kelf, char * + rela2->addend = (unsigned int)(index * sizeof(*ksyms)); + rela2->offset = (unsigned int)(index * sizeof(*krelas) + \ + offsetof(struct kpatch_relocation, ksym)); +@@ -3063,7 +3162,7 @@ static void kpatch_create_callbacks_objname_rela(struct kpatch_elf *kelf, char * if (!strcmp(callbackp->name, sec->name)) { ALLOC_LINK(rela, &sec->relas); rela->sym = strsym; @@ -302,15 +284,15 @@ index 7b1deb0..58789f1 100644 rela->addend = objname_offset; rela->offset = callbackp->offset; break; -@@ -3101,6 +3201,7 @@ static void kpatch_create_mcount_sections(struct kpatch_elf *kelf) +@@ -3116,6 +3215,7 @@ static void kpatch_create_mcount_sections(struct kpatch_elf *kelf) /* add rela in .rela__mcount_loc to fill in function pointer */ ALLOC_LINK(rela, &relasec->relas); rela->sym = sym; + if (arch == EM_X86_64) { rela->type = R_X86_64_64; rela->addend = 0; - rela->offset = index * sizeof(void*); -@@ -3136,6 +3237,40 @@ static void kpatch_create_mcount_sections(struct kpatch_elf *kelf) + rela->offset = (unsigned int)(index * sizeof(void*)); +@@ -3151,6 +3251,40 @@ static void kpatch_create_mcount_sections(struct kpatch_elf *kelf) rela->type = R_X86_64_PC32; } @@ -319,7 +301,7 @@ index 7b1deb0..58789f1 100644 + rela->type = R_AARCH64_ABS64; + /* bl <__fentry__> is the second insn */ + rela->addend = 4; -+ rela->offset = index * sizeof(void*); ++ rela->offset = (unsigned int)(index * sizeof(void*)); + + newdata = malloc(sym->sec->data->d_size); + if (!newdata) @@ -351,7 +333,7 @@ index 7b1deb0..58789f1 100644 index++; } -@@ -3334,6 +3469,8 @@ int main(int argc, char *argv[]) +@@ -3349,6 +3483,8 @@ int main(int argc, char *argv[]) char *hint = NULL, *orig_obj, *patched_obj, *parent_name; char *parent_symtab, *mod_symvers, *patch_name, *output_obj; struct sym_compare_type *base_locals, *sym_comp; @@ -360,7 +342,7 @@ index 7b1deb0..58789f1 100644 arguments.debug = 0; argp_parse (&argp, argc, argv, 0, NULL, &arguments); -@@ -3354,6 +3491,13 @@ int main(int argc, char *argv[]) +@@ -3369,6 +3505,13 @@ int main(int argc, char *argv[]) kelf_base = kpatch_elf_open(orig_obj); kelf_patched = kpatch_elf_open(patched_obj); @@ -374,7 +356,7 @@ index 7b1deb0..58789f1 100644 kpatch_compare_elf_headers(kelf_base->elf, kelf_patched->elf); kpatch_check_program_headers(kelf_base->elf); -@@ -3392,7 +3536,12 @@ int main(int argc, char *argv[]) +@@ -3407,7 +3550,12 @@ int main(int argc, char *argv[]) */ kpatch_mark_ignored_sections(kelf_patched); kpatch_compare_correlated_elements(kelf_patched); @@ -388,7 +370,7 @@ index 7b1deb0..58789f1 100644 kpatch_elf_teardown(kelf_base); kpatch_elf_free(kelf_base); -@@ -3452,7 +3601,14 @@ int main(int argc, char *argv[]) +@@ -3467,7 +3615,14 @@ int main(int argc, char *argv[]) kpatch_create_callbacks_objname_rela(kelf_out, parent_name); kpatch_build_strings_section_data(kelf_out); @@ -405,7 +387,7 @@ index 7b1deb0..58789f1 100644 /* * At this point, the set of output sections and symbols is diff --git a/kpatch-build/create-kpatch-module.c b/kpatch-build/create-kpatch-module.c -index 43d6809..6f80831 100644 +index 3d197a7..758630b 100644 --- a/kpatch-build/create-kpatch-module.c +++ b/kpatch-build/create-kpatch-module.c @@ -31,6 +31,17 @@ @@ -433,7 +415,7 @@ index 43d6809..6f80831 100644 - rela->type = R_X86_64_64; + rela->type = absolute_rela_type; rela->addend = dest_offset; - rela->offset = index * sizeof(*dynrelas); + rela->offset = (unsigned int)(index * sizeof(*dynrelas)); /* name */ ALLOC_LINK(rela, &dynsec->rela->relas); @@ -441,8 +423,8 @@ index 43d6809..6f80831 100644 - rela->type = R_X86_64_64; + rela->type = absolute_rela_type; rela->addend = name_offset; - rela->offset = index * sizeof(*dynrelas) + \ - offsetof(struct kpatch_patch_dynrela, name); + rela->offset = (unsigned int)(index * sizeof(*dynrelas) + \ + offsetof(struct kpatch_patch_dynrela, name)); @@ -117,7 +128,7 @@ static void create_dynamic_rela_sections(struct kpatch_elf *kelf, struct section /* objname */ ALLOC_LINK(rela, &dynsec->rela->relas); @@ -450,8 +432,8 @@ index 43d6809..6f80831 100644 - rela->type = R_X86_64_64; + rela->type = absolute_rela_type; rela->addend = objname_offset; - rela->offset = index * sizeof(*dynrelas) + \ - offsetof(struct kpatch_patch_dynrela, objname); + rela->offset = (unsigned int)(index * sizeof(*dynrelas) + \ + offsetof(struct kpatch_patch_dynrela, objname)); @@ -200,6 +211,13 @@ int main(int argc, char *argv[]) childobj = basename(arguments.args[0]); @@ -680,5 +662,4 @@ index 9663290..35d7c1c 100755 if [ "$1" = "-o" ]; then obj="$2" -- -2.18.1 - +2.18.1 \ No newline at end of file diff --git a/0003-create-diff-object-new-static-var-should-be-included.patch b/0003-create-diff-object-new-static-var-should-be-included.patch index 5e50783..b4acbec 100644 --- a/0003-create-diff-object-new-static-var-should-be-included.patch +++ b/0003-create-diff-object-new-static-var-should-be-included.patch @@ -1,7 +1,7 @@ -From 3af07fd0f178a4c6e2ae68207c3fedfd10672e65 Mon Sep 17 00:00:00 2001 +From 4511c2f36744529d0298a4d8e56d0b38c2ea5714 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Tue, 25 Feb 2020 22:44:50 -0500 -Subject: [PATCH 03/17] create-diff-object: new static var should be included +Subject: [PATCH 03/21] create-diff-object: new static var should be included Before this patch, only global variables(no referenced) will be included by kpatch-build. But some macros put some static varibles @@ -18,10 +18,10 @@ Signed-off-by: Zhipeng Xie 1 file changed, 15 insertions(+) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 58789f1..93570df 100644 +index 7a27b58..267bd66 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -1689,6 +1689,20 @@ static void kpatch_include_force_elements(struct kpatch_elf *kelf) +@@ -1702,6 +1702,20 @@ static void kpatch_include_force_elements(struct kpatch_elf *kelf) sym->include = 0; } @@ -42,14 +42,13 @@ index 58789f1..93570df 100644 static int kpatch_include_new_globals(struct kpatch_elf *kelf) { struct symbol *sym; -@@ -3554,6 +3568,7 @@ int main(int argc, char *argv[]) +@@ -3567,6 +3581,7 @@ int main(int argc, char *argv[]) callbacks_exist = kpatch_include_callback_elements(kelf_patched); kpatch_include_force_elements(kelf_patched); new_globals_exist = kpatch_include_new_globals(kelf_patched); + kpatch_include_new_static_var(kelf_patched); + kpatch_include_debug_sections(kelf_patched); kpatch_process_special_sections(kelf_patched); - -- 2.18.1 - diff --git a/0004-livepatch-fix-use-THIS-modname-as-the-name-of-ddebug.patch b/0004-livepatch-fix-use-THIS-modname-as-the-name-of-ddebug.patch index 1a5d168..ee2db58 100644 --- a/0004-livepatch-fix-use-THIS-modname-as-the-name-of-ddebug.patch +++ b/0004-livepatch-fix-use-THIS-modname-as-the-name-of-ddebug.patch @@ -1,7 +1,7 @@ -From c03772c4e29473eae68009c12efc182238d103c7 Mon Sep 17 00:00:00 2001 +From b407defcd16f6a8a49ed0f66d4902eb0bc1b2021 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Fri, 2 Nov 2018 17:24:42 +0000 -Subject: [PATCH 04/17] livepatch, fix: use THIS modname as the name of +Subject: [PATCH 04/21] livepatch, fix: use THIS modname as the name of ddebug_table We just want a unique name for every module, so put a _ddebug in @@ -29,4 +29,3 @@ index e12fd50..613d037 100644 #endif -- 2.18.1 - diff --git a/0005-create-diff-object-fix-correlate-static-local-variab.patch b/0005-create-diff-object-fix-correlate-static-local-variab.patch index 1d8c46a..df85099 100644 --- a/0005-create-diff-object-fix-correlate-static-local-variab.patch +++ b/0005-create-diff-object-fix-correlate-static-local-variab.patch @@ -1,7 +1,7 @@ -From 5504f36c6de3abae8a4f7ba11f7a2838ddbc5b58 Mon Sep 17 00:00:00 2001 +From e3a9643c7fa2ac5f8093c8ac578ce9dfd45084c7 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Fri, 2 Nov 2018 17:24:51 +0000 -Subject: [PATCH 05/17] create-diff-object: fix correlate static local +Subject: [PATCH 05/21] create-diff-object: fix correlate static local variables for __param section kpatch-build correlate fail when no sections reference @@ -31,10 +31,10 @@ Signed-off-by: Zhipeng Xie 1 file changed, 4 insertions(+) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 93570df..9f1abc0 100644 +index 267bd66..78f5a7e 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -1094,6 +1094,10 @@ static int kpatch_is_normal_static_local(struct symbol *sym) +@@ -1107,6 +1107,10 @@ static int kpatch_is_normal_static_local(struct symbol *sym) if (is_special_static(sym)) return 0; @@ -47,4 +47,3 @@ index 93570df..9f1abc0 100644 -- 2.18.1 - diff --git a/0006-create-diff-object-don-t-create-dynamic-reloc-for-sy.patch b/0006-create-diff-object-don-t-create-dynamic-reloc-for-sy.patch index 6528070..fd2503b 100644 --- a/0006-create-diff-object-don-t-create-dynamic-reloc-for-sy.patch +++ b/0006-create-diff-object-don-t-create-dynamic-reloc-for-sy.patch @@ -1,7 +1,7 @@ -From 16aa1e59851c29ce63b18f8ef5c570052c6a95af Mon Sep 17 00:00:00 2001 +From 28a1433cc6342ee48cfea60b755c0e746b9ff548 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Fri, 2 Nov 2018 17:24:58 +0000 -Subject: [PATCH 06/17] create-diff-object: don't create dynamic reloc for +Subject: [PATCH 06/21] create-diff-object: don't create dynamic reloc for symbol exported by patch itself when a patch export a new function, ___kcrctab+xxx has a reloc, @@ -13,10 +13,10 @@ Signed-off-by: Zhipeng Xie 1 file changed, 3 insertions(+) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 9f1abc0..18ed1f7 100644 +index 78f5a7e..2cda233 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -3039,6 +3039,9 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, +@@ -3053,6 +3053,9 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, if (!strcmp(sym_objname, "vmlinux")) continue; @@ -28,4 +28,3 @@ index 9f1abc0..18ed1f7 100644 } -- 2.18.1 - diff --git a/0007-create-diff-object-create-dynamic-relocs-for-changed.patch b/0007-create-diff-object-create-dynamic-relocs-for-changed.patch index 684967a..e086511 100644 --- a/0007-create-diff-object-create-dynamic-relocs-for-changed.patch +++ b/0007-create-diff-object-create-dynamic-relocs-for-changed.patch @@ -1,7 +1,7 @@ -From a743990bb6d871fb8cd5ffe6f78ffaa8d5ee7c0a Mon Sep 17 00:00:00 2001 +From f6d53ba1e5d1b8c8e026bd537235e201f8482065 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Fri, 2 Nov 2018 17:25:38 +0000 -Subject: [PATCH 07/17] create-diff-object: create dynamic relocs for changed +Subject: [PATCH 07/21] create-diff-object: create dynamic relocs for changed functions in this object Currently, we only create dynamic relocs for changed functions of @@ -26,10 +26,10 @@ Signed-off-by: Zhipeng Xie 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 18ed1f7..5cdb97b 100644 +index 2cda233..67c062e 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -2883,6 +2883,14 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, +@@ -2897,6 +2897,14 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, */ if (may_need_dynrela(rela)) toc_rela(rela)->need_dynrela = 1; @@ -44,7 +44,7 @@ index 18ed1f7..5cdb97b 100644 } } -@@ -2965,10 +2973,14 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, +@@ -2979,10 +2987,14 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, /* An unchanged local symbol */ ret = lookup_local_symbol(table, rela->sym->name, &result); @@ -65,4 +65,3 @@ index 18ed1f7..5cdb97b 100644 /* -- 2.18.1 - diff --git a/0008-fix-rodata.str-problem.patch b/0008-fix-rodata.str-problem.patch index 535dc8e..3df94f2 100644 --- a/0008-fix-rodata.str-problem.patch +++ b/0008-fix-rodata.str-problem.patch @@ -1,7 +1,7 @@ -From b356b59eb0f4c21ae927b036a45e573899a59378 Mon Sep 17 00:00:00 2001 +From 10370cef2ef3e690355412048d19a88f81fa465b Mon Sep 17 00:00:00 2001 From: Zhiyu Hu Date: Fri, 28 Dec 2018 07:06:38 +0000 -Subject: [PATCH 08/17] fix rodata.str problem +Subject: [PATCH 08/21] fix rodata.str problem fix some rodata.str problem @@ -11,10 +11,10 @@ Signed-off-by: Zhiyu Hu 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 5cdb97b..643ae3e 100644 +index 67c062e..bb2a803 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -1620,7 +1620,7 @@ static void kpatch_include_standard_elements(struct kpatch_elf *kelf) +@@ -1632,7 +1632,7 @@ static void kpatch_include_standard_elements(struct kpatch_elf *kelf) !strcmp(sec->name, ".toc") || !strcmp(sec->name, ".rodata") || (!strncmp(sec->name, ".rodata.", 8) && @@ -25,4 +25,3 @@ index 5cdb97b..643ae3e 100644 } -- 2.18.1 - diff --git a/0009-livepatch-patch-hook-don-t-active-patch-when-insmod.patch b/0009-livepatch-patch-hook-don-t-active-patch-when-insmod.patch index 2c76e8a..b3e533e 100644 --- a/0009-livepatch-patch-hook-don-t-active-patch-when-insmod.patch +++ b/0009-livepatch-patch-hook-don-t-active-patch-when-insmod.patch @@ -1,7 +1,7 @@ -From c14444fc4049048abd445462676576cd8b043ea3 Mon Sep 17 00:00:00 2001 +From 66b833f4de9dca62b97f077df962c3702c919664 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Tue, 25 Feb 2020 23:40:37 -0500 -Subject: [PATCH 09/17] livepatch-patch-hook: don't active patch when insmod +Subject: [PATCH 09/21] livepatch-patch-hook: don't active patch when insmod Don't active patch after loading the patch when DISABLE_AFTER_LOAD is set. @@ -49,4 +49,3 @@ index 17a5e11..894f0ab 100755 if [[ -z "$USERSRCDIR" ]] && [[ "$DISTRO" = ubuntu ]]; then -- 2.18.1 - diff --git a/0010-kpatch-build-enhance-for-out-of-tree-module.patch b/0010-kpatch-build-enhance-for-out-of-tree-module.patch index f1ab2a1..cc4122e 100644 --- a/0010-kpatch-build-enhance-for-out-of-tree-module.patch +++ b/0010-kpatch-build-enhance-for-out-of-tree-module.patch @@ -1,7 +1,7 @@ -From a8cf8f9bd90e0e7fde437a59715aa21622fad7b6 Mon Sep 17 00:00:00 2001 +From 8486c25a0b94eb9b415572eec58508204d8e5458 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Wed, 26 Feb 2020 06:44:06 -0500 -Subject: [PATCH 10/17] kpatch-build: enhance for out of tree module +Subject: [PATCH 10/21] kpatch-build: enhance for out of tree module support set USERMODBUILDDIR to build patch for out of tree module. @@ -130,4 +130,3 @@ index 894f0ab..4e38412 100755 readelf -s --wide "$KOBJFILE_PATH" > "$SYMTAB" -- 2.18.1 - diff --git a/0011-support-c-plus-kernel-module.patch b/0011-support-c-plus-kernel-module.patch index 8b45ae7..306bea1 100644 --- a/0011-support-c-plus-kernel-module.patch +++ b/0011-support-c-plus-kernel-module.patch @@ -1,7 +1,7 @@ -From 20de56a8393e6be3b556156124aa4b2139b10733 Mon Sep 17 00:00:00 2001 +From e438d0139d5e0c60b1e8dc78af8825f1a26fa438 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Wed, 26 Feb 2020 07:36:59 -0500 -Subject: [PATCH 11/17] support c plus kernel module +Subject: [PATCH 11/21] support c plus kernel module support GNU_UNIQUE type symbols. support .group section corelation. @@ -17,10 +17,10 @@ Signed-off-by: Zhipeng Xie 5 files changed, 55 insertions(+), 25 deletions(-) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 643ae3e..190753a 100644 +index bb2a803..5f90c6b 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -454,7 +454,7 @@ static void kpatch_compare_correlated_nonrela_section(struct section *sec) +@@ -459,7 +459,7 @@ static void kpatch_compare_correlated_nonrela_section(struct section *sec) { struct section *sec1 = sec, *sec2 = sec->twin; @@ -29,7 +29,7 @@ index 643ae3e..190753a 100644 memcmp(sec1->data->d_buf, sec2->data->d_buf, sec1->data->d_size)) sec->status = CHANGED; else -@@ -470,7 +470,7 @@ static void kpatch_compare_correlated_section(struct section *sec) +@@ -475,7 +475,7 @@ static void kpatch_compare_correlated_section(struct section *sec) sec1->sh.sh_flags != sec2->sh.sh_flags || sec1->sh.sh_entsize != sec2->sh.sh_entsize || (sec1->sh.sh_addralign != sec2->sh.sh_addralign && @@ -38,7 +38,7 @@ index 643ae3e..190753a 100644 DIFF_FATAL("%s section header details differ from %s", sec1->name, sec2->name); /* Short circuit for mcount sections, we rebuild regardless */ -@@ -907,6 +907,33 @@ static void kpatch_correlate_section(struct section *sec1, struct section *sec2) +@@ -912,6 +912,33 @@ static void kpatch_correlate_section(struct section *sec1, struct section *sec2) kpatch_correlate_symbol(sec1->sym, sec2->sym); } @@ -72,7 +72,7 @@ index 643ae3e..190753a 100644 static void kpatch_correlate_sections(struct list_head *seclist1, struct list_head *seclist2) { struct section *sec1, *sec2; -@@ -924,15 +951,19 @@ static void kpatch_correlate_sections(struct list_head *seclist1, struct list_he +@@ -929,15 +956,19 @@ static void kpatch_correlate_sections(struct list_head *seclist1, struct list_he sec1->secsym)) continue; @@ -100,7 +100,7 @@ index 643ae3e..190753a 100644 continue; } -@@ -1507,17 +1538,6 @@ static void kpatch_verify_patchability(struct kpatch_elf *kelf) +@@ -1519,17 +1550,6 @@ static void kpatch_verify_patchability(struct kpatch_elf *kelf) errs++; } @@ -132,10 +132,10 @@ index 4e38412..4896136 100755 cp -f "$TEMPDIR/patch/$MODNAME.ko" "$BASE" || die diff --git a/kpatch-build/kpatch-elf.c b/kpatch-build/kpatch-elf.c -index 1c0e099..debf028 100644 +index c6af59e..b3ca7f5 100644 --- a/kpatch-build/kpatch-elf.c +++ b/kpatch-build/kpatch-elf.c -@@ -708,8 +708,14 @@ void kpatch_reindex_elements(struct kpatch_elf *kelf) +@@ -710,8 +710,14 @@ void kpatch_reindex_elements(struct kpatch_elf *kelf) unsigned int index; index = 1; /* elf write function handles NULL section 0 */ @@ -190,4 +190,3 @@ index 8387e8b..4e2fcb9 100644 result->size = sym->size; -- 2.18.1 - diff --git a/0012-symbol-lookup-enhancement.patch b/0012-symbol-lookup-enhancement.patch index c8aa13e..328d65d 100644 --- a/0012-symbol-lookup-enhancement.patch +++ b/0012-symbol-lookup-enhancement.patch @@ -1,7 +1,7 @@ -From 56ec8b76667fb6c7fbc018a8fe7a77f144232f3f Mon Sep 17 00:00:00 2001 +From cf0a8995e6924d8130087a4859c5bf619515768d Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Wed, 26 Feb 2020 22:03:55 -0500 -Subject: [PATCH 12/17] symbol lookup enhancement +Subject: [PATCH 12/21] symbol lookup enhancement For symbols which have same name in one module or have length longger than KSYM_NAME_LEN(128 bytes). we add @@ -14,15 +14,15 @@ Signed-off-by: Zhipeng Xie --- kmod/patch/kpatch-patch.h | 4 + kpatch-build/create-diff-object.c | 46 ++++++++++- - kpatch-build/create-klp-module.c | 25 +++++- + kpatch-build/create-klp-module.c | 26 ++++-- kpatch-build/kpatch-build | 12 +++ kpatch-build/kpatch-intermediate.h | 2 + kpatch-build/lookup.c | 123 ++++++++++++++++++++++++++++- kpatch-build/lookup.h | 13 +++ - 7 files changed, 217 insertions(+), 8 deletions(-) + 7 files changed, 217 insertions(+), 9 deletions(-) diff --git a/kmod/patch/kpatch-patch.h b/kmod/patch/kpatch-patch.h -index 917ea32..7cd6dae 100644 +index da4f6a0..3530f66 100644 --- a/kmod/patch/kpatch-patch.h +++ b/kmod/patch/kpatch-patch.h @@ -30,6 +30,8 @@ struct kpatch_patch_func { @@ -37,17 +37,17 @@ index 917ea32..7cd6dae 100644 @@ -41,6 +43,8 @@ struct kpatch_patch_dynrela { char *objname; int external; - int addend; -+ char *ref_name; -+ long ref_offset; + long addend; ++ char *ref_name; ++ long ref_offset; }; struct kpatch_pre_patch_callback { diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 190753a..55db18c 100644 +index 5f90c6b..1bec4f4 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -2734,6 +2734,28 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, +@@ -2748,6 +2748,28 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, funcs[index].old_size = result.size; funcs[index].new_size = sym->sym.st_size; funcs[index].sympos = result.pos; @@ -68,24 +68,24 @@ index 190753a..55db18c 100644 + rela->sym = strsym; + rela->type = absolute_rela_type; + rela->addend = offset_of_string(&kelf->strings, refsym.name); -+ rela->offset = index * sizeof(*funcs) + -+ offsetof(struct kpatch_patch_func, ref_name); ++ rela->offset = (unsigned int)(index * sizeof(*funcs) + ++ offsetof(struct kpatch_patch_func, ref_name)); + + } + /* * Add a relocation that will populate -@@ -2753,7 +2775,7 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, +@@ -2767,7 +2789,7 @@ static void kpatch_create_patches_sections(struct kpatch_elf *kelf, ALLOC_LINK(rela, &relasec->relas); rela->sym = strsym; rela->type = absolute_rela_type; - rela->addend = offset_of_string(&kelf->strings, sym->name); + rela->addend = offset_of_string(&kelf->strings, strndup(sym->name, KSYM_NAME_LEN-1)); - rela->offset = index * sizeof(*funcs) + - offsetof(struct kpatch_patch_func, name); + rela->offset = (unsigned int)(index * sizeof(*funcs) + + offsetof(struct kpatch_patch_func, name)); -@@ -2872,6 +2894,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, +@@ -2886,6 +2908,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, struct lookup_result result; char *sym_objname; int ret, vmlinux, external; @@ -93,7 +93,7 @@ index 190753a..55db18c 100644 vmlinux = !strcmp(objname, "vmlinux"); -@@ -3080,12 +3103,28 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, +@@ -3094,12 +3117,28 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, log_debug("lookup for %s @ 0x%016lx len %lu\n", rela->sym->name, result.value, result.size); @@ -116,23 +116,23 @@ index 190753a..55db18c 100644 + rela2->sym = strsym; + rela2->type = absolute_rela_type; + rela2->addend = offset_of_string(&kelf->strings, refsym.name); -+ rela2->offset = index * sizeof(*krelas) + -+ offsetof(struct kpatch_relocation, ref_name); ++ rela2->offset = (unsigned int)(index * sizeof(*krelas) + ++ offsetof(struct kpatch_relocation, ref_name)); + } + } ksyms[index].pos = result.pos; ksyms[index].type = rela->sym->type; ksyms[index].bind = rela->sym->bind; -@@ -3094,7 +3133,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, +@@ -3108,7 +3147,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, ALLOC_LINK(rela2, &ksym_sec->rela->relas); rela2->sym = strsym; rela2->type = absolute_rela_type; - rela2->addend = offset_of_string(&kelf->strings, rela->sym->name); + rela2->addend = offset_of_string(&kelf->strings, strndup(rela->sym->name, KSYM_NAME_LEN-1)); - rela2->offset = index * sizeof(*ksyms) + \ - offsetof(struct kpatch_symbol, name); + rela2->offset = (unsigned int)(index * sizeof(*ksyms) + \ + offsetof(struct kpatch_symbol, name)); -@@ -3113,6 +3152,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, +@@ -3127,6 +3166,7 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, krelas[index].addend = rela->addend; krelas[index].type = rela->type; krelas[index].external = external; @@ -141,7 +141,7 @@ index 190753a..55db18c 100644 /* add rela to fill in krelas[index].dest field */ ALLOC_LINK(rela2, &krela_sec->rela->relas); diff --git a/kpatch-build/create-klp-module.c b/kpatch-build/create-klp-module.c -index d995525..5073a04 100644 +index a97b146..0b441fa 100644 --- a/kpatch-build/create-klp-module.c +++ b/kpatch-build/create-klp-module.c @@ -38,7 +38,9 @@ enum loglevel loglevel = NORMAL; @@ -175,18 +175,18 @@ index d995525..5073a04 100644 @@ -176,6 +183,7 @@ static void create_klp_relasecs_and_syms(struct kpatch_elf *kelf, struct section struct rela *rela; char *objname; - int nr, index, offset, dest_off; -+ char *ref_name; + unsigned int nr, index, offset, dest_off; ++ char *ref_name; krelas = krelasec->data->d_buf; - nr = krelasec->data->d_size / sizeof(*krelas); + nr = (unsigned int)(krelasec->data->d_size / sizeof(*krelas)); @@ -200,6 +208,15 @@ static void create_klp_relasecs_and_syms(struct kpatch_elf *kelf, struct section objname = strings + rela->addend; + /* Get the unique ref_name */ + rela = find_rela_by_offset(krelasec->rela, -+ offset + offsetof(struct kpatch_relocation, ref_name)); ++ (unsigned int)(offset + offsetof(struct kpatch_relocation, ref_name))); + if (!rela) + ref_name = NULL; + else { @@ -195,13 +195,14 @@ index d995525..5073a04 100644 + /* Get the .kpatch.symbol entry for the rela src */ rela = find_rela_by_offset(krelasec->rela, - offset + offsetof(struct kpatch_relocation, ksym)); -@@ -207,7 +224,7 @@ static void create_klp_relasecs_and_syms(struct kpatch_elf *kelf, struct section + (unsigned int)(offset + offsetof(struct kpatch_relocation, ksym))); +@@ -207,8 +224,7 @@ static void create_klp_relasecs_and_syms(struct kpatch_elf *kelf, struct section ERROR("find_rela_by_offset"); /* Create (or find) a klp symbol from the rela src entry */ -- sym = find_or_add_ksym_to_symbols(kelf, ksymsec, strings, rela->addend); -+ sym = find_or_add_ksym_to_symbols(kelf, ksymsec, strings, rela->addend, ref_name, krelas[index].ref_offset); +- sym = find_or_add_ksym_to_symbols(kelf, ksymsec, strings, +- (unsigned int)rela->addend); ++ sym = find_or_add_ksym_to_symbols(kelf, ksymsec, strings, (unsigned int)rela->addend, ref_name, krelas[index].ref_offset); if (!sym) ERROR("error finding or adding ksym to symtab"); @@ -229,15 +230,15 @@ index 4896136..8bef7fb 100755 BUILDDIR="/lib/modules/$ARCHVERSION/build/" SYMVERS_FILE="$TEMPDIR/Module.symvers" diff --git a/kpatch-build/kpatch-intermediate.h b/kpatch-build/kpatch-intermediate.h -index 3dea775..59deed0 100644 +index 7230cd4..7247cac 100644 --- a/kpatch-build/kpatch-intermediate.h +++ b/kpatch-build/kpatch-intermediate.h @@ -39,6 +39,8 @@ struct kpatch_relocation { - int external; + long addend; char *objname; /* object to which this rela applies to */ struct kpatch_symbol *ksym; -+ char *ref_name; -+ long ref_offset; ++ char *ref_name; ++ long ref_offset; }; struct kpatch_arch { @@ -451,4 +452,3 @@ index 420d0f0..fed3fe9 100644 #endif /* _LOOKUP_H_ */ -- 2.18.1 - diff --git a/0013-Add-running-kernel-symbol-table-to-help-symbol-looku.patch b/0013-Add-running-kernel-symbol-table-to-help-symbol-looku.patch index 6a47a34..4321803 100644 --- a/0013-Add-running-kernel-symbol-table-to-help-symbol-looku.patch +++ b/0013-Add-running-kernel-symbol-table-to-help-symbol-looku.patch @@ -1,7 +1,7 @@ -From 05051ffc7abcb953fb1ec51b0826b41f160ce191 Mon Sep 17 00:00:00 2001 +From 0475b1196c1b5eea3a52e2ff104be91fb27192be Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Wed, 26 Feb 2020 20:28:13 -0500 -Subject: [PATCH 13/17] Add running kernel symbol table to help symbol lookup +Subject: [PATCH 13/21] Add running kernel symbol table to help symbol lookup For some duplicate symbols whose section have no other symbols, we need running kernel symbol table to help @@ -15,10 +15,10 @@ Signed-off-by: Zhipeng Xie 3 files changed, 80 insertions(+), 3 deletions(-) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 55db18c..4589ba4 100644 +index 1bec4f4..10d07ba 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -3564,6 +3564,7 @@ int main(int argc, char *argv[]) +@@ -3578,6 +3578,7 @@ int main(int argc, char *argv[]) struct sym_compare_type *base_locals, *sym_comp; char *no_profiling_calls = NULL; char *gcc_add_option = NULL, *mlongcall = NULL; @@ -26,7 +26,7 @@ index 55db18c..4589ba4 100644 arguments.debug = 0; argp_parse (&argp, argc, argv, 0, NULL, &arguments); -@@ -3677,8 +3678,12 @@ int main(int argc, char *argv[]) +@@ -3691,8 +3692,12 @@ int main(int argc, char *argv[]) */ kpatch_elf_teardown(kelf_patched); @@ -168,4 +168,3 @@ index fed3fe9..00b6ccc 100644 struct lookup_result *result); -- 2.18.1 - diff --git a/0014-livepatch-patch-hook-support-force-enable-disable.patch b/0014-livepatch-patch-hook-support-force-enable-disable.patch index e277e9e..515443d 100644 --- a/0014-livepatch-patch-hook-support-force-enable-disable.patch +++ b/0014-livepatch-patch-hook-support-force-enable-disable.patch @@ -1,7 +1,7 @@ -From b63c72375420cb098a81167c48d822d596e770a9 Mon Sep 17 00:00:00 2001 +From aacab0b9a2f65adfee8258515cbbb34546f3acc7 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Wed, 26 Feb 2020 20:43:34 -0500 -Subject: [PATCH 14/17] livepatch-patch-hook: support force enable/disable +Subject: [PATCH 14/21] livepatch-patch-hook: support force enable/disable we use force to indicate function which bypass stack check @@ -64,4 +64,3 @@ index 8bef7fb..57487b1 100755 fi -- 2.18.1 - diff --git a/0015-kpatch-build-ignore-debuginfo-in-patch.patch b/0015-kpatch-build-ignore-debuginfo-in-patch.patch index 36caea5..788f4da 100644 --- a/0015-kpatch-build-ignore-debuginfo-in-patch.patch +++ b/0015-kpatch-build-ignore-debuginfo-in-patch.patch @@ -1,7 +1,7 @@ -From 720769ca54d446baf9cbc986fd2a8832da45ce71 Mon Sep 17 00:00:00 2001 +From 4e3c6975dcd0d36509a69bbed1f200f3c49fab23 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Wed, 26 Feb 2020 21:01:02 -0500 -Subject: [PATCH 15/17] kpatch-build: ignore debuginfo in patch +Subject: [PATCH 15/21] kpatch-build: ignore debuginfo in patch Just ignore all .debug_* sections @@ -12,10 +12,10 @@ Signed-off-by: Zhipeng Xie 2 files changed, 19 insertions(+) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 4589ba4..c466eb0 100644 +index 10d07ba..495cce1 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -2396,6 +2396,23 @@ static void kpatch_include_debug_sections(struct kpatch_elf *kelf) +@@ -2409,6 +2409,23 @@ static void kpatch_include_debug_sections(struct kpatch_elf *kelf) } } @@ -39,14 +39,14 @@ index 4589ba4..c466eb0 100644 static void kpatch_mark_ignored_sections(struct kpatch_elf *kelf) { struct section *sec, *strsec, *ignoresec; -@@ -3645,6 +3662,7 @@ int main(int argc, char *argv[]) - kpatch_include_standard_elements(kelf_patched); - num_changed = kpatch_include_changed_functions(kelf_patched); +@@ -3663,6 +3680,7 @@ int main(int argc, char *argv[]) + new_globals_exist = kpatch_include_new_globals(kelf_patched); + kpatch_include_new_static_var(kelf_patched); kpatch_include_debug_sections(kelf_patched); + kpatch_ignore_debug_sections(kelf_patched); - callbacks_exist = kpatch_include_callback_elements(kelf_patched); - kpatch_include_force_elements(kelf_patched); - new_globals_exist = kpatch_include_new_globals(kelf_patched); + + kpatch_process_special_sections(kelf_patched); + diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build index 57487b1..c109ee3 100755 --- a/kpatch-build/kpatch-build @@ -61,4 +61,3 @@ index 57487b1..c109ee3 100755 if [[ -z "$KPATCH_LDFLAGS" ]]; then -- 2.18.1 - diff --git a/0016-add-object-in-kpatch.patch b/0016-add-object-in-kpatch.patch index 8af8963..3b1ca93 100644 --- a/0016-add-object-in-kpatch.patch +++ b/0016-add-object-in-kpatch.patch @@ -1,7 +1,7 @@ -From dd03a70462783a9e8426ff76e42c41a7eaab644f Mon Sep 17 00:00:00 2001 +From ea1fb4eb836033b33f08047c3a1cb74a1a458fb2 Mon Sep 17 00:00:00 2001 From: Bin Yang Date: Tue, 16 Jul 2019 14:39:27 +0800 -Subject: [PATCH 16/17] add object in kpatch +Subject: [PATCH 16/21] add object in kpatch --- kpatch-build/kpatch-build | 3 +++ @@ -30,4 +30,3 @@ index c109ee3..de448dc 100755 -- 2.18.1 - diff --git a/0017-create-diff-object-fix-.orc_unwind_ip-error.patch b/0017-create-diff-object-fix-.orc_unwind_ip-error.patch index d1e424b..3569f1a 100644 --- a/0017-create-diff-object-fix-.orc_unwind_ip-error.patch +++ b/0017-create-diff-object-fix-.orc_unwind_ip-error.patch @@ -1,7 +1,7 @@ -From 96e3ca2fbed32589510c800e9efe31bab2f5e58a Mon Sep 17 00:00:00 2001 +From 9fa4a3a0a62a383e635ea7de631176a4513f6db9 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Thu, 27 Feb 2020 15:36:55 -0500 -Subject: [PATCH 17/17] create-diff-object: fix .orc_unwind_ip error +Subject: [PATCH 17/21] create-diff-object: fix .orc_unwind_ip error error: .orc_unwind_ip section header details differ from .orc_unwind_ip @@ -14,10 +14,10 @@ Signed-off-by: Zhipeng Xie 1 file changed, 6 insertions(+) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index c466eb0..320b239 100644 +index 495cce1..45979d6 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -967,6 +967,9 @@ static void kpatch_correlate_sections(struct list_head *seclist1, struct list_he +@@ -972,6 +972,9 @@ static void kpatch_correlate_sections(struct list_head *seclist1, struct list_he continue; } @@ -27,7 +27,7 @@ index c466eb0..320b239 100644 kpatch_correlate_section(sec1, sec2); break; } -@@ -1012,6 +1015,9 @@ static void kpatch_correlate_symbols(struct list_head *symlist1, struct list_hea +@@ -1017,6 +1020,9 @@ static void kpatch_correlate_symbols(struct list_head *symlist1, struct list_hea sym1->sec->twin != sym2->sec) continue; @@ -39,4 +39,3 @@ index c466eb0..320b239 100644 } -- 2.18.1 - diff --git a/0018-use-orignal-reloc-for-symbols-from-modules.patch b/0018-use-orignal-reloc-for-symbols-from-modules.patch index 0b08199..fc88c8b 100644 --- a/0018-use-orignal-reloc-for-symbols-from-modules.patch +++ b/0018-use-orignal-reloc-for-symbols-from-modules.patch @@ -1,7 +1,7 @@ -From 4d13c1b29b2172e6758d18b153f149e461c6d9c3 Mon Sep 17 00:00:00 2001 +From 7c7f582a9b051c4570a00f215f5534ff0fdfd9a0 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Thu, 12 Mar 2020 05:10:55 -0400 -Subject: [PATCH] use orignal reloc for symbols from modules +Subject: [PATCH 18/21] use orignal reloc for symbols from modules symbols exported in a patch will generate a symbol version with object module name in Module.symvers, but the symbol is actually @@ -13,10 +13,10 @@ Signed-off-by: Zhipeng Xie 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 320b239..64e5686 100644 +index 45979d6..7d24c7e 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -3117,10 +3117,8 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, +@@ -3131,10 +3131,8 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, if (!strcmp(sym_objname, "vmlinux")) continue; @@ -30,4 +30,3 @@ index 320b239..64e5686 100644 log_debug("lookup for %s @ 0x%016lx len %lu\n", -- 2.18.1 - diff --git a/0019-create-diff-object-add-jump-label-support.patch b/0019-create-diff-object-add-jump-label-support.patch index cd00b1c..ff60364 100644 --- a/0019-create-diff-object-add-jump-label-support.patch +++ b/0019-create-diff-object-add-jump-label-support.patch @@ -1,7 +1,7 @@ -From b3b20140aa243b371f478f325420ecbffd3ee3d6 Mon Sep 17 00:00:00 2001 +From 9233e07a0dfdb3eceb44093feb2e5928a9e391d9 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Mon, 2 Mar 2020 04:35:07 -0500 -Subject: [PATCH] create-diff-object: add jump label support +Subject: [PATCH 19/21] create-diff-object: add jump label support This patch processes the __jump_table special section, and only the jump_lable used by the changed functions will be @@ -15,10 +15,10 @@ Signed-off-by: Zhipeng Xie 1 file changed, 1 insertion(+), 46 deletions(-) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c -index 7230e93..18d6c7f 100644 +index 7d24c7e..448911b 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c -@@ -2116,7 +2116,6 @@ static void kpatch_regenerate_special_section(struct kpatch_elf *kelf, +@@ -2135,7 +2135,6 @@ static void kpatch_regenerate_special_section(struct kpatch_elf *kelf, struct rela *rela, *safe; char *src, *dest; unsigned int group_size, src_offset, dest_offset, include; @@ -26,7 +26,7 @@ index 7230e93..18d6c7f 100644 LIST_HEAD(newrelas); -@@ -2156,49 +2155,6 @@ static void kpatch_regenerate_special_section(struct kpatch_elf *kelf, +@@ -2175,49 +2174,6 @@ static void kpatch_regenerate_special_section(struct kpatch_elf *kelf, if (!include) continue; @@ -76,7 +76,7 @@ index 7230e93..18d6c7f 100644 /* * Copy all relas in the group. It's possible that the relas * aren't sorted (e.g. .rela.fixup), so go through the entire -@@ -2635,8 +2591,7 @@ static void kpatch_process_special_sections(struct kpatch_elf *kelf) +@@ -2654,8 +2610,7 @@ static void kpatch_process_special_sections(struct kpatch_elf *kelf) * jump labels and enable tracepoints in a patched function. */ list_for_each_entry(sec, &kelf->sections, list) { @@ -88,4 +88,3 @@ index 7230e93..18d6c7f 100644 continue; -- 2.18.1 - diff --git a/0020-kpatch-build-add-compile-flag-fno-reorder-functions.patch b/0020-kpatch-build-add-compile-flag-fno-reorder-functions.patch index dc3f453..6b75320 100644 --- a/0020-kpatch-build-add-compile-flag-fno-reorder-functions.patch +++ b/0020-kpatch-build-add-compile-flag-fno-reorder-functions.patch @@ -1,7 +1,7 @@ -From 65a3ae0c692a22d097f7257ae88bbe6bc2b73de8 Mon Sep 17 00:00:00 2001 +From da47ad5e439e9ba9422cac2ade847463bc8578ee Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Thu, 12 Mar 2020 06:56:21 -0400 -Subject: [PATCH] kpatch-build: add compile flag -fno-reorder-functions +Subject: [PATCH 20/21] kpatch-build: add compile flag -fno-reorder-functions Sometimes function foo with static variables can be put in .text.foo section in original binary and be put in @@ -37,4 +37,3 @@ index de448dc..ad7ab71 100755 echo "Reading special section data" -- 2.18.1 - diff --git a/0021-kpatch-build-don-t-copy-.config-for-out-of-tree-modu.patch b/0021-kpatch-build-don-t-copy-.config-for-out-of-tree-modu.patch index 28b7720..3bca5b4 100644 --- a/0021-kpatch-build-don-t-copy-.config-for-out-of-tree-modu.patch +++ b/0021-kpatch-build-don-t-copy-.config-for-out-of-tree-modu.patch @@ -1,7 +1,7 @@ -From 1155b58be699eb2e55af7757e6b0d0ce03356d63 Mon Sep 17 00:00:00 2001 +From b05aaaf13978393f8e9c2329a80765c0069e7e87 Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Thu, 12 Mar 2020 07:37:00 -0400 -Subject: [PATCH] kpatch-build: don't copy .config for out of tree module +Subject: [PATCH 21/21] kpatch-build: don't copy .config for out of tree module Signed-off-by: Zhipeng Xie --- @@ -23,4 +23,3 @@ index ad7ab71..fd34812 100755 # according to .config and kernel version -- 2.18.1 - diff --git a/0022-support-force-enable-disable-for-x86.patch b/0022-support-force-enable-disable-for-x86.patch new file mode 100644 index 0000000..eaaea29 --- /dev/null +++ b/0022-support-force-enable-disable-for-x86.patch @@ -0,0 +1,57 @@ +From 4cad4a9ec87736e938ccd13b62c5ef8e595a591e Mon Sep 17 00:00:00 2001 +From: Zhipeng Xie +Date: Wed, 15 Apr 2020 06:37:59 -0400 +Subject: [PATCH 22/22] support force enable/disable for x86 + +detect if the klp_func structure in vmlinux have force +member, if it has, export KLP_SUPPORT_FORCE=y. + +Signed-off-by: Zhipeng Xie +--- + kpatch-build/kpatch-build | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build +index fd34812..523d5df 100755 +--- a/kpatch-build/kpatch-build ++++ b/kpatch-build/kpatch-build +@@ -373,7 +373,7 @@ find_special_section_data() { + # shellcheck disable=SC2086 + SPECIAL_VARS="$(readelf -wi "$VMLINUX" | + gawk --non-decimal-data $AWK_OPTIONS ' +- BEGIN { a = b = p = e = o = j = 0 } ++ BEGIN { a = b = p = e = o = j = c = f = 0 } + + # Set state if name matches + a == 0 && /DW_AT_name.* alt_instr[[:space:]]*$/ {a = 1; next} +@@ -382,6 +382,7 @@ find_special_section_data() { + e == 0 && /DW_AT_name.* exception_table_entry[[:space:]]*$/ {e = 1; next} + o == 0 && /DW_AT_name.* orc_entry[[:space:]]*$/ {o = 1; next} + j == 0 && /DW_AT_name.* jump_entry[[:space:]]*$/ {j = 1; next} ++ c == 0 && /DW_AT_name.* klp_func[[:space:]]*$/ {c = 1; next} + + # Reset state unless this abbrev describes the struct size + a == 1 && !/DW_AT_byte_size/ { a = 0; next } +@@ -390,6 +391,8 @@ find_special_section_data() { + e == 1 && !/DW_AT_byte_size/ { e = 0; next } + o == 1 && !/DW_AT_byte_size/ { o = 0; next } + j == 1 && !/DW_AT_byte_size/ { j = 0; next } ++ c == 1 && /DW_TAG_structure_type/ { c = 3; next } ++ c == 1 && /DW_AT_name.* force[[:space:]]*$/ {f = 2; next} + + # Now that we know the size, stop parsing for it + a == 1 {printf("export ALT_STRUCT_SIZE=%d\n", $4); a = 2} +@@ -398,9 +401,10 @@ find_special_section_data() { + e == 1 {printf("export EX_STRUCT_SIZE=%d\n", $4); e = 2} + o == 1 {printf("export ORC_STRUCT_SIZE=%d\n", $4); o = 2} + j == 1 {printf("export JUMP_STRUCT_SIZE=%d\n", $4); j = 2} ++ f == 2 {printf("export KLP_SUPPORT_FORCE=y\n"); f = 3} + + # Bail out once we have everything +- a == 2 && b == 2 && (p == 2 || skip_p) && e == 2 && (o == 2 || skip_o) && (j == 2 || skip_j) {exit}')" ++ a == 2 && b == 2 && (p == 2 || skip_p) && e == 2 && (o == 2 || skip_o) && (j == 2 || skip_j) && c == 3 {exit}')" + + [[ -n "$SPECIAL_VARS" ]] && eval "$SPECIAL_VARS" + +-- +2.18.1 diff --git a/0023-create-diff-object-fix-duplicate-symbols-for-vmlinux.patch b/0023-create-diff-object-fix-duplicate-symbols-for-vmlinux.patch new file mode 100644 index 0000000..77a21f5 --- /dev/null +++ b/0023-create-diff-object-fix-duplicate-symbols-for-vmlinux.patch @@ -0,0 +1,56 @@ +From 50401005b1a16b93307390983dd61f480492d495 Mon Sep 17 00:00:00 2001 +From: Zhipeng Xie +Date: Wed, 22 Apr 2020 05:55:33 -0400 +Subject: [PATCH] create-diff-object: fix duplicate symbols for vmlinux + +symbol pos in vmlinux may be different with runtime +/proc/kallsyms, use ref_name and ref_offset method too. + +Signed-off-by: Zhipeng Xie +--- + kpatch-build/create-diff-object.c | 28 +++++++++++++++------------- + 1 file changed, 15 insertions(+), 13 deletions(-) + +diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c +index 2b1ee36..c0c8106 100644 +--- a/kpatch-build/create-diff-object.c ++++ b/kpatch-build/create-diff-object.c +@@ -3100,21 +3100,23 @@ static void kpatch_create_intermediate_sections(struct kpatch_elf *kelf, + else { + /* for modules, src is discovered at runtime */ + ksyms[index].src = 0; +- if (lookup_is_duplicate_symbol(table, rela->sym->name, objname, result.pos)) { +- struct lookup_refsym refsym; +- +- if (lookup_ref_symbol_offset(table, rela->sym->name, &refsym, objname, &ref_offset)) +- ERROR("unresolvable ambiguity on symbol %s\n", rela->sym->name); +- +- /* add rela to fill in ref_name field */ +- ALLOC_LINK(rela2, &krela_sec->rela->relas); +- rela2->sym = strsym; +- rela2->type = absolute_rela_type; +- rela2->addend = offset_of_string(&kelf->strings, refsym.name); +- rela2->offset = (unsigned int)(index * sizeof(*krelas) + ++ } ++ ++ if (lookup_is_duplicate_symbol(table, rela->sym->name, objname, result.pos)) { ++ struct lookup_refsym refsym; ++ ++ if (lookup_ref_symbol_offset(table, rela->sym->name, &refsym, objname, &ref_offset)) ++ ERROR("unresolvable ambiguity on symbol %s\n", rela->sym->name); ++ ++ /* add rela to fill in ref_name field */ ++ ALLOC_LINK(rela2, &krela_sec->rela->relas); ++ rela2->sym = strsym; ++ rela2->type = absolute_rela_type; ++ rela2->addend = offset_of_string(&kelf->strings, refsym.name); ++ rela2->offset = (unsigned int)(index * sizeof(*krelas) + + offsetof(struct kpatch_relocation, ref_name)); +- } + } ++ + ksyms[index].pos = result.pos; + ksyms[index].type = rela->sym->type; + ksyms[index].bind = rela->sym->bind; +-- +2.18.1 diff --git a/kpatch-0.9.1.tar.gz b/kpatch-0.9.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..0893f72ee5fc9584cc1d585d9f60fe106098e3d8 GIT binary patch literal 198691 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�Hg|@A=eX`1`VfsZSe6FkZBr_V)KL zPGMC_ydf zQGKVZ)QrlBPN{Ck<4|sIxVUIx;0;2fKzX*17vCFP}g%DPs*IB=G z1T}8VgvkhjoikCgj?k!W6c3_rF%1>k+%9;-+l!w$!ewW2traz6=iC`a1#x7WR4 ze(I5(B%~w$l(6rGV-X9BC=$b~Hv^Ey-}5m*k@)7bN@_*pg7)3joXOpSV~4n%?!7!a zJ_L#6@JCyk-XW?Gg7C+8K;oC=@Ot~WW)?=8BbeQXwu7jL_29Us7zC9d9#>k?q|RsdY71I$LmH5NG?>7EMg62&MP5#) z?qt&C8(<9+AigHjS+e0n4`xad0Z)nVAX`Z}%WJD;$=#1eWuM)@M_z(w{T|$Bqt2r7XHgPJx8n`ayFOtj&$nXF9-_I$um{@)8Cy{vBvbav_%XhV+joOV zRyth+Ht%#rY(``nKq~}g6k)nX44!&7OlhsaU$dA z-HNU$xh23`$q3A@(bB*t+I+>6!j-m(nZm8ICRLu`Z4l{{pG_7Y!^_9V$SOhqY^1-@ZXw7-!%_%w3+wb^Vl^C5r~SQ}z;W4m z@Y@8$37zeINTxQ`OqRSClr`^7PH~LB=b`Dtw%Z}k`L*pWd|P_A_g$mxSN9>|U$=!m zc5${8_+WYvywvY(DVi>z91RBO>3P5sUCP2TQ%|y`TJ(nH>YtuR^SYgy9OqZIG@(i? ziM~?%#?mxHQkoI_JT&$KOqH1;MQe(-bBMr8&pMB@vks=#?mSXIfEA=#l`hi9y4>2S zL4Q>B()$##=GG1pO)a_hx}8Dvn_v32L^zdxx9wLa<%+*j_7?scfsE`g!dVH3=gl^s zg~sU7F?KHbJL}fegsxuUoZG9mNZr?jgDL_df!sS_KS^qW z&W81S&_j^(7etX(+#1NjlNAsHRM?_{%!EB97U34MqTKXM$g@a5Wn@Y$tYPkQq&?Iv z$YjBpa)+1IMrosz=j^2Jo2ypqj}>!s|EhmA9q@bXf9TjDmAWf7_t&B%dCbQZkmn%)$|&s3@3?ak;Nr^avv@c*iJ_T$-k z#_TP^T*-; zr;WW=?;5p!`^(lbo&RsHtZi&$&j0nT&9D6b5BTu>Z~N^#VBOu8I1u{u6pbf$r+++& z!opg|LqvNoDvC^~!(=>~v`D2Y26lM6n~0UQ$7O{YtVN1Y7iFWU8OO>&2lc;bT}~EB zcPyr&f|o9YK|n=I^aPD|!*;*Rrpas?-WqlJ?jVU;6SAMCYR%2E)Y|Q%FEe3URXo)M z0rh|J)gWJCawD#X>=Ij1=Kuz^>%~`I-04)5=STt-qZ4dfItP6nv|&W} zTAP79NlB}`SrN3%pA6AzOgAbCp--JIxy0yBVd3MD0AA51YiUUzST4vFZjAP-WI6Z1 z_rK#Vw_t*<$wYRDS7GG1Aq^8Sn07c0p%Y0$mbq~YDtoZBG5b5@>YCrAK4^B$bS zU|v@@-n`UM%I$7)1M`C3s_M?gIZjZhB{bf?{Ga6-zqzC-BR4k=#I&T_$>!mLA=6R_ zz2W~B0~zhtBdLu&T3w!F+=hf_U|VBD%TrBu}K2V1P{W42^_%3(oSCg9D+iZ zLp4ELRFAB_m_+TUIl02SWOcI7OYMDQd_mEKci7ro??t)8R~`1SJQ*6u$OZ}sIE!Wk z*IjZI7)2biu^qLurSMF9{Kv0W`{9Rb()~xYyYYs{nn>>y#D0J4Kb!PmYX5ym59th8 zbf=29S!?QwkH|7{Ras5LZ?4_K4Jn`eL&-{ zv7+KT*bN5iM>OhH8z06Ol(x}t!pvg!aMJFMt5Bpaz+DNgu3dVwi_VOL7T$j+RwJwh zW4b?k#eD8+NzM2tt`@tLMaARWy;_IZF~||<23w0qSIfgma~VjYNB>ku5gK+y)gIZ< zRkvz`I2^UEYcP+C*^<>l)GtO+A3;*8cfMVkV>I}UGVU9&13Cdb4#t!L(V^pH*1F!0 z2IJ$iuPgh@uIxX4aemS|wO8dgzAzs}5xn|{ie_^xO8c)^+Ot-uUsdgHoX`%HnS%ND zx8qUR>P2!O`MMhZ(^tc%5`Wy=3KYo&%(v%U0XaG6Tn|t?l*Sj1X|m=feI53 zHV?nreSfVF8*sFOy$7k6&Kl5;Wu0wVPrX`g7O~(y^tr|1q{F;?c)A&Eu4fAW1K00G zb21oD{zKMnIs_gWf8t6tf$+Z68cbK!9^PD0pgs6s;a}-+dMYvBlOnlNIKCng3sz0- zs#d{AJpBIZ)7r{9H4de%t=d|qetK@nVRK1g=|X0b#6iw7@{_xMGwvnU;C$onwc9?d z%VxsTQgX`FKGr!@Tw*)VXzqQiuB^puw}l|OlrMuGOo3ksWkfGKY#8w zj$eE5fL0d@jr4LtgGI~B|MquP+eg1Ifp(N%^<>aRvt7g|?Tz{C+=W%OTIY+F%E26y zFIy;D4HBBkJf-4@!o;CX_TI@k%S<)#IxFPZN~# zCSuR=s-`#YE#66|DUicdcKg7RZLU}4nurM5;9J784Gagjd=%~??fSQKAMK? z(W12-bwU_w3AE<-(J1#SQo%bo(tF!4anOfk0xV!_b){Sr9{eh5cEf@H%rBvxJ+P&+ z=baH|mHZaZni%iAMSsYc#e~48l#}f8lT^^ip6r)#1hk*CttV8)l9N#kTQDJU;dv+- zcNP0bhbCg`-La?k*%}NO>XF%rV!%3P?M5s8_#5=T8~LR{^kJ+(8Op?>lAG?(qe2CH zpKvRsPs>{AoEn#>eu;}L|C?`9c(R;hi;`^ub?Ad}H|&{;$oXM}Fwc>#9~VwJWq0Cb z#p&#I<+a*;C7g^}xE#mf$p7%ZQ<%O632Gnyfk}GPE7)jk?8%cI@9<*P+iBV`;Qz_!Zz|D9dDJZya5IIJx#tFQj<@}f4( zWDoJ`ua_{uSco4Sotz${JM8i4S%B@k#Er2E0)hYCtH#UV3p2kK*IBZNlC}v9d31HEGQ7B!dGtl#Fb&4+0E~yt!+LHw30MqWO zem=8CQvy{*vc}X}Ob#nA?D-;YWF(F57|p3AN_J+UF@I7hts=tGv>-EHuRSyCfeX@M zwa3}ft>OW*J06AoPEv&(vzHX)y`$2RxSd6!OYYRPVwbk{^0~CKeZ=X08-q=bL zeSxPE>4F|Bj~Zz{cfV@EDno0vYDgOsNvoU((6lYTzVZc%dFF52ub3xKaBQ3hpVFHA zVyHFdBqKN7jB1v+EVGCP#Cph@5#cK(V^<1NpOh`+T$a+Nu%I`v;m7fxB*lDZMnb-( zhC(x;euSXu)hfcaBzH+w8^$rHE{-dvDJWBL<2zlR*RO%!^VFsJJ4N zfdL}a0HRk288D)7QQm)(@jn?^c+P$H3!e$)hilVIjx=N<2XiC}0?;2YW+|LlNFD2m zun}{dF&D`mJ8)??`%(!Cgo?McbbNI9_uaYtxDxCqfyIpKkAdtkfLzIA?JHU506{>*OS2w z%Bvusdi#4PXLwk;W!wci(P1=&@mTZZZ{f|@m%^$z=y0UrwS%t@V99;h_EEU&Bu>S( z7A2Tr2{g}#$^jC>T55<6S5VaxV4uYe`RiZ(>a&f?mj8tQg`X6StA&>Ls(%6I3vjqf zd>Vuy`7L1JjfI89eTw`I#1rhDZNsC7PkR&p=H<_WMV&-O`8-*h{$)2b85yT-fY(;ou?LeWim8;;uOg1sM)Mw8(f z8}x7^RSw(id&H#JYnF(NLHIS1I6MQSj`w|*Sqcf~f{2{?A`sZ}b=;4Ze;vkMkZmHh z11y6)0spO3>nkg@POH9BV;wUdCfK1oA|N+u6CHSH*FuYW3fqOOCZ8T&s*}6M8{{?U zzGNG(w*Br^q~J7F^fpFgXEEwD(kg+x*NqQj^3g|N5{!eT171S9#^Gxn9&BjekdCo5O@jz%eG`h=Qnn}D=*mPYTC4r)QrCBawt|0r;s_Th?hLG zSV7SvQ~_$9CN8cJ3S+MuahE2gCxWQLgs6#NNP|$}L?nzutZOC*`L=FkX3{U!bhIcK zJSqcmLyyTJ`v|rQ!NS#QN!PAYuXz$IWFPOvVS752VG0J{9z~iijkH3>=rVGJ%ii&k zNf$gP#e1*fLG*xw!zuzqwacwq>owKCD>&Dp`l3Z!ro%%hMVbY#t*>o7TU*;&c~%Dw z3Zl>nwP=sfH2gORz2}(tDZ%IhQANg+0o#nidFp*+nZG83#|S@t8{SdmvnWjN)KLn< zV0U8z6%{c65%`eIh)NMvLc)FwyW@TG@j2O=YLyA-hf3VhXqqZ0$H4yp@BIBoQABCzI zG#}x&HRB`5cSMHnj_}Eq zy{MO#wn@<92xS5vjAvyN1REH`*vNG#uK7v~$7^VZ9y!c`Lhrw`SeeDf2$)-hU#$rD z7`;epp)xsePN>6+QM?y|s3na6!6UGNv(pC8S1gvDw;4H=gT)w(Rs{;J2bH0~)Ueig zsO)lis2mRKmtdvQ=37qJ$mQ`YPWvpLFKZIP%Z z2}j~IL4q_UiPgD;foQI}v>V}ondWu~Bgg6rQ`saDd}3)v2X}l7T-y{VXejX-w@5-M zwL1umlvFvLUoX; z3XoXbb4~C=4(>_tZfFca!Aae9}!pET)0?47T=ja{4mhyVkDUOeIqhzM6CMRykfto;s^0m>58zhWdWcIfvNYmN8Nk+@lex#UK|~j-nNtz~bL=WMqsmg~rE)Sr zUYQb51t@7a0)Y%z0u1YrBsZtl5N+bCzBvv|kTko)A(W$pey!l)o>qO{8!SGC=UjL$ z!m`fD;_v`f$wFn)G-B<|2$|Z5@{AEsig6Fs{nBEpJBu}{L3E4~RNP6z%=WU{QOlsJ zV~kci$b|Io%L=XZ1cfp3Nn!a(N>hgfCFocEi@~t4%YQ(FG%qkMqRD%A}GMd$C87`pke!5);MHoYM~#iBHKSnZvC<*j7<_cB7AQPALg< zXS_>?bB_dyr8khxX@(=%h_8%tK4UKCY%F>Qx5ADZaw%Qv6U8M+rX;C}kl;Z6u}G2? zNBk@Wv9u%txf4iI3$g;|nM~W46;HNXtNMcc9+q;uhbZT&Q0kx1D=|nflLT?ewboyR z6U%80+TV$VrE0-MXKq5}gG55};fYF&M98JfAbeq@m!TDL0(}_TBGGsxwQ$gKE{~`N zQC5jRsk$n1;LzlWmo=Bweg_6Y){Wd|V@8@HuB2k3AF`1W3{{dpR_NC@x|&ERaEz>o#j=pTCop3|mR7Nv&cLUqv)m7Ye3HUS69-%ff=6o*msr zMT=If48FC1!qESba3z~}!ql-vcqy82aF?)6U`8W~z@Cux6dVyi#A<5LRw%|f<@)oS za?^t%P{ufxh?Hy{Y!!Z|tRnG;#c}ie^vLxI&k#dtgdL9R$WLH26|ym^4K!dgA61+Y zg^7bPQMxEBXKW&f+;j(RExJ>Qk0n-)oJW<=Pk5XdCaJApV-$@bXbi5FNDwVu8c)>8 zD^yaC)!%e)yBxDa0y8keH0lL;PFx*8TL+Ppnn}YTfvvEYB!rJ+T@~uOXf==vvA#%4 zdlMJax2YT2`M!-%u|n7O3X@%Ug7Xa3;rLbgI+QLsnS%kjJ|6So5Zd0Kr%qlBxI17h z3Oe*(Dh|nvHg~}@6016t8(CMNpOrO4jnTfDTht|upCjff%~ z4;pTjf>MAzB!PeYs8~#hQIORIv(4OXZjFJv}e~1%0Q_lpi}SA1-3O zw!*iehnB?%>AiGjOVLgs@C;i%!V`hj0Hc8HjNmMZCsG*NLsbYNr|T#_ddmyx@TvUa zGtwkBjiO@-wm1?yTE8*^ItzqeCnD@rA;25MOlnFks7|6i#FV-dB_Rz0Y0z{}t;=ld zYQT(%$CqP22ZsmWH%|7>_uq;a0&oy)A?-Ga*>0%XjIv$!22(4`i>T)qtC+amvB|9M zEUe={3wiQ}&-IMQD@!)vo;me$HAziK?|?>=nD?)fWK1sgqe-%i02DU_6Z@+odNrX$ zMM~v^Cnongg^wXB&@qKQKhW`MnaD5q_fCSdAI}0t%ee&6Zm6&WbjSfUPZH?}fpm2$ z3Cft0Eb=4?G2>Aa4VEY*ycL5~8AQ?C$0Kb!EORa+gKB1!0}hn@(Cv_FoI+;d(oiQ? zQzVVd4-_skHQ5O%qmV+V{}_GZJh(V(oL*uBAUJ{KtYjvT_T=2%Xkn2Hh(Fx6A)bt ztpK7(NpbJP-UL~w=X9X7xn9oiMQN?RwfVG6qeV6p$ES~}xiH2@@mQwS8j<7Ub43%} z(bD?Lv(2(Zc1Fs^-53qqIh?T;8$2`6q~^i%A;J!4nVO|mVPJLZ;?EQ^8L)AQGheTd zPxl+IQVpzIt@F5bxS8ZI*|pm0hQw=ACuyZq5!Oe0ibM@-=|Mg^J9u+s)mwVH`mBz- zp)==+pEz}r>72z2kR(BNkS=EC%A?8W!x8WDV!1 z8v3@}bZ4LXD`?Dfg{|j6l+uV%I99;&9$6%+X4?%=tyl6P!QO|Y>j(Oa28r31$KtKR z@w!!vO=!|JUpn;Y9Ho}GKA;QxXvd_qL}F7x*{MOea(VyH$T5%Ru1Atw=c?>t2owI?k$iy{}HLHC!}t5GpGj_1Kled%6xLb z+hgl^!X^vmJ#QGe?o3cnk@B?mp8^%;mX2eFcLG2~qS7;QTW;`5_pYD#B=1+egu)G? z`9;FPB0#`HDZ!AEi&Z4IK5;xuMCU>Cl;ADekIJ5+cp2c<^_~@o6oCTIVo+4Y(xLFY z6PMJ%6m$X91?Q?x1)wOtB&@J>!@Wxlr}sW8_iJ*~F- zZE|iHq4g!*#-XN|&iO!yz;NyarHW=4V})`QBPC+-sWa+hECZ7C*hfvBo=2pX#Nx(; z7)8sNA{L>5_&)Bs+Ilh+)w3fk0az}^4&{IY=(#3Wq^t(#G32Dqxaq^Wn)rDU&UwKtikbhF7&3Cg1<*oAoV&rF8{dc+zCQ%Dcg2s7!O18kg6% z$~-J*(O66oZbs3Vt9QGb?yAH#Y0}MN*ok;!rzTM0(2&jf8?w12>kscz)xx6(L?xsJ zrWsah7E=8fb-KA+wbCmMDbhEqbBK#r3HYkg3J#`;xlo|tn6YhJMnN4C$|fc}4Dr1i z)V?bzg!VTTA5{Wp@M^%@0XFZHt8Zoq_&XLOYYPld1L0LXDPJ!#%XLBT%oyjz39l`x zD^kJh%k~N{R&C*ZJA$6qu*K)BDUljr)M~Yw|C20JfsXsd(yC}nLSl|l)MoNz_OJCQ zg2I!iO`oG|>8ROuSU6Rl4iu~Mk};67bX%yJ8xp(`iddVEcj!G8+g70WST4GiSUTud zYP5;of={lqgRqTu0<2w96k&v&uBEZH%}y+Wq)LcW${miS%ET%4E|YOQ3G3lZ~7~1R;GNUX8-GtPyjAYK&#*!rm|(52gvd>Bs7#PTLbIotb@plz@(HF<)ys zcfDfGqObqll9Zgl*&-B`FV!v}T6WJhsdY|j-IPm;$YNo}C|Z_a$f~e-(lRloJ==ip zFU*0Wk+s=`bonE9Aizu#JDhSwt_PSonCoTL0E)gw22$n@kJBj+HwwkvW(|QP&9=Xi zwdjDuc{H-@!f@@6*$hUCwl{7DV$s$hVG>!9B0=*x%K-%xU%?>iwgwG2 z!-2Z}OYe_JOl+X)T%e+mBVjFlbX!J{Q$3Oz!n9OIkH#bz0&7;^6N;gyexY6vzI*t6 z5Dwy`2Pa^B8I4;sl}h@0Osr=VW$%2HMUs72q}A~Dy%gVYAxBBNxCR-_6wPu~B&y5r zNR7ctBvk6`y>47$V1^O<+T3)9B1dy9z5!k=%k>)T;#6a-a|)_1E-@s$*$HYKBO{~&?8!{!genjEm6neNLr@yu9==v5{_Aj zFn31k%1+2ocEOrguVE$30@~ftB}u@n4WRIDa!Vfi+7do(&w^664L?C{Tq44$TD7Q- zr(FULQDHUOcgCTBYw|8pCedzcHMY-E7iMg^Ei*{Nbs0{^@l`aaCF~aIUDlShktCUF z(Y{SmJyNgc#8&7+RvNQBB*tl;9=odBi<-AqQ>XvScl;>1>*EN>@lP+Q4BhCv9jH4B zN1m`FyooS74O!Q;jrFvQdxb1I(H!tb1O}caF$LkW!m%|`yaBSwoEtXpK|=JWNZt z+MR9Kx7LjRKg$&7%2(s09l7n*>pN~77J$TZgpN;C1e#;hU#jWS^Sn0%f557wlp}zg zY>2pj)AzTCf(;YcBzu})VpaFu>)63AZn5<*v$Z70YbU`@Fs>L5&WW7Kzo@8(D#b|Y=wWWaQx>#JJ`a%;m3*p zA+a2nzi=HG4`XX{l@cp@~aXc3<}WmCf~aWxj(( z<6R09=wuM^v&YH*a2Tuq(ebSQ=dqi1*)1sB5EJZbYC{M&EtPskE3CB3Rw;I1QLORw zU3q4cIZa`K98dI*-lKBYztyfUQOB(Ke{1!6X8mt$eqH~6#OE7-ALO_Z*__u`R-gKN z{qP?k<-$RNWiAvi=_uX--hj%7q~`B|JbQ{+68}_OLJ%C2&&+s-6OP7O&hC+EK4~z- z$OVK(R^J;f1s{c>2u!z#Hy?|l86drPXo@9sAIm12G+C^#!s`quLIUAE#>Sx~$R4_l zHa>tL&O$vNbl4++5h51%Nb9fSby`-lQL^ZHTy0F+7af#za2*XctC1YeAi$FKia(LrthPZ5jKw_Gwri> z=@8Y;su#miROQBr11a6CcKn}y@~e^961MtnQc?f%3%x}fO-6%(52GUdrd(lbY%;sM zvY5*I=n-CzkNs838TFD#7t!uV$(8?4Q6fUVWsmMNnLSf*M-^n1?t-dSg2ei>SJZ#jXBz*Pz3a2uq55z8s}Fzw3u;zB zdS`TXv9j$y{GB5VJp5gR%a4Q%e)SIzvavS{^aUhJpTIf^+QPg@$IdB?m&5sBzM;la z{{}4?{pzF*)d%DL5KW^$E@ztpUnL^J$LindQ${&POq^UK4Q*7a%vK(@;ph#r)_31G zPN7nRl#XvSYraRY)hxaXhgelN|K4YZSQQtm#QQ=aRy9u2CxlqF!>jrdUe)`Y@Tyfd zYn2ww6JOPPD1f_oPN3+lGglMQ89HTd`y5KnI}t!5P3r!xZz#;61zpWon)nZ(2}T|= zyhx^ZHjOw_&ZT^v@PFG0*Yo}GcjV+BKYPYiIbY}e-*(Pn(nrzId&mw0)!*O&uT!#B z2ALu04}(5g?0kfG3c7pLhyA?+?IzQ1n1qvDAcswdqE0}=)sg~h+-17I2PkuZ&dgGrq_Flbf)cS1?o8Clsz|lt~ zoWUbJ?co#nyQ&Tft4p3VlB`BVizR=T=_Pzebuwi|025dDEe%!FUf58p67ddDSyT}` z^iv8@J)%}&^cy%tng@tdLBG^;&F?W=)nLD2{K@tcn&IPLYWh%D=&m|0x z5niqsw3RwfcIXB~i;%jIXZ*j$>2Ywf_oh)=DI>528DD7J8;0pJ$TB{mLG?^~VCjls z9a#!8=0jV2h&#RL0~*0&6UaVB4K0iY96w+b!V&PNfizLbjC{ov6q-_*BN2!tJozG# zftL=Xg+^JD!$bhHdjn*A)w6A_-F{q8lL}8VpC3c7VWxgK-cy ze=RwqWrkMm8wBOW#IpxfRY&4kedh0t@R)cOzQ2jz`_IFKzGTRU3BmM@-6S-g0g)6B zn#39!#$yg(h1J6#^$99=Am;AxlU6t&^geP#;0R(qdbNaXSruPF=@bva#n3EVdV0z2 zk*|o_mt_Sp>D)wji5h~xO?rNPormCWadPdSFjV@a<3Crh>6ua3A|`>9k)UTWb}qh+ zM#ENBpCq9=G%}<6T-q&fV}(?tefS6jQURb3Ls+|sO!;WoSC)ckVmIWml&y%iKMXCZ zgDNaz7zJq&deaRObZ{A<5f`FO6U0H-?U9=?7KC{9ywY(P&aWpl469G?LkU~VNR&TC zA7*fLhgRt~hOsz6pH+h(QssXMkcWN$)MZph6OQtG*{H2P;RS8NsHxZ{Deq;86o;Ax zvK&P!Xyb98co;|?VIqDZ4!1J|t**w&M9f6}7Vj2yH%1Yx;-SvQ%FR?B9B;h-2`$hB z1;rtr%g81L7)6(5!*U^Zwy|tq3SewNq*0rTa=^^i3TW zdK&zl5Ws_z!}GN|BxuJBi;ZiCJnws9Gotk*l^6+cO=PpYdm75RtZ zEnzLfii)FJPkv=63d4X^{lj=n#)j!>B0L&INTnzmPA_z1fIKT*wQZpv`d~;9M?-P_ z1;K2H_P(P?K(WwrFt)To$hjC>QOjX^lk4Qdo8`9v*QE_L$Sx+KK^By75^wjuZv=a% z`)>n~HV@b80sMQszlULI&e9~JV037+ZN_{lIvHrc1l3I-hBy2BFu@mZ4vvDuz4OM= zc>w>Pf`nPIU!Cq9y*fKTz1TmO77K9;^pt>R)K_pd5(JMAhYcEpsMljU%|y8&l4T|{ ziTvZ%*st@w_PxlWZpd$&0H8kjwXqd95`_(5!WjLU5m=}-kO?@!(`{mcRkhOjk)j^n zHJ4#4Mc`kC0ni9jI<w1)vFovyzqq(y z_o_k$W(4%c6jw=@N3RKSvKfy;m~ZA%aH@m#Um=jr4s585--h9>_D?Q+ZY!U{aJ1fa zlNPKT_JlG!HATcAY9~jmnqjT)pbliMb-jk>6jwHBt3Fc}8U|QfV8HdZoQ&^!5#i*K zGq+;JeQ2qWr%3likhro*@*h&15yK*7)x$gFc_%0Po9l{uFJ25-x861oyo(|ZSM2sjr|kbw-5FRrP*l?B0Pwn=u9BL)jh5 zpst=@8`mBnA(VJI%!oJ?7-~k?7mY$r#yu&Q!4N8?%657ohxdKQlGNCkb z@9eFS6q;A=nrhYSs40h~dzD)+D7UW4J%aNVw|C<{<*pKlx5jKzrPJ=OA^>zdIf4L5 zsS7RHAnBx!Z8a^>+_d8&!{2! z)3I@7-g2SjDz4O!PWT}IwVy(mfV{2Ace{<+$PpfTsb1v;z`!vCxlXs- zDzu(J8*_sPbc#k?HHKg!VVF-JMu@GkPq4b9(qR>_d9;SCmU98-c0_^lhY~Gn;E{{0 zykW0-yl^2GY4#xYhpcR9DOdIAfsRp#A$^i=8sc1ga%&YwfY1~Hv@S%);z*$zbuAAI z{Z8hor_F#p!iGwXe}l$aCXkS;1s*u$Fhh9!tHQAe;k_|l!u14(T@bVT7&NPkh=F*| z$tVy$8Wg|ra)1Bnq=Y>2u!a^`osO3;27haB(a zmzD^{*Y2&vY=qN|?i#`L@ZwasUYW)DYC_Xyt}bVxib=@=DskOKO7k*kV#KiY=;;W1 zd@G39ChC5uY06}PZ7+ec1`-fWApj7#mKD%Rx?_hSNCS}(q=hFu(tCw5Kp3TXqNCOo zMPo25OV*YJp-Qo4pfCe$t8v|AdteZfL}POy98}0bNOS`#*76b{NV3*q)E-s}lJA)X zF^DC2x`f0yb>RgTFLJqahyGenHG+m8BkY%K0q-Nti-?`-i(P@sBOETm140eHhm^R@ z0kZZ@=ozvwu)!_incGXxL(Egu1=97fLcBIt3fU~^@E7$u6^-3tV%>P@3cJ`*2lGhZ zM_`M+pJ;p;tc1@we_)QHTwJ2iy@?W~`-Hr9I zzOu1Vk5;2FTGQ#!dyr1tXzZsoVniZ zTeXSrQnbqcDatZ5y&({I3OBB#FxrqZ%@oW(FC;-)gbk%iY{JYqC@ zrShdL0p-ov?f4}cS6bsQc74R9`7t;<_lh9U6ibA87E=T>JmMsAZ^EeWB5G1Nf@Ew*4Wm)!aJ#%s zIG}beQ|QKKv~kqE+&%du@{w(*pi8UB5iVrKUI3-7{l!*TML@Za)$BlIMfWOjG` z=^Ul3Gp0&UEkqgBC!a7A&^nroBSf}BiB?RKy^oMt^Ke z>pzt)24!tEu7lv^0&2S(>T3b&!CVG%= zJ%b!8`xyyZajA%`Hw<)%mkfcW0uJiLwj^CqK)?n%)8~8K)LxDUJ`Lr0a@q*^+y36+ z;mf`K?=JnS#JEJJ$SX+?nw9bR?0i~IzEaK0c#6=Wv+JA;%xxE+^#p+WI?AlL><47R zan+@kTDtX9Tfy!Byhh;lV5Sk?Ue045=5vhhY+1>R?vyQ#W$`AJyF`Tra?`j3e_{84 zWnDPOC6!Y#VzN*g+)*^$e?+5Lvk$0jl2{>blmUPnOv5J(PrTyv?4YrvvdMH+im3Q1 z-o(<pn>{Re!48v6`7}(qqgi{b|6mc0#K)5?b zLuW!A^`nsvTgf3sBeI^iPQk!VG4##tK!FZ&HqC@7z}`(n5#!h-SubCjSTob6RlGBN z;};MQ0caX8AcK@^j`yyur;5W|(jnOy*tvP<5g%m>A^}Imzqnvbu~LewmMK>#5REJ< zJp-OGhUNu^#;UyV)y11SmHU=%^W3P42)8~OOB7}?jwQ$$iC*CL z+>DYLn*od8mfw>JWEc&+kd`q=PsprrH%5egt8Ibs!|Zd@Ei82t6!2ic*U)4WQDH0H z0$xJejR6JEA-sCjRC!^N#H}uwj2dcJu#$?&D+=0I#i4pQ`aq5wuT}hZ)?z4{AhQa0 z@SF*+SZ&ksUUks%37)sev|i~Oxj)82El~q@i2?wd9tV^NP9H=zAP;v37Vx>*u^eNk zSclxy!5T^Nkm*?pG+QYEENM(SdWX=Fp#V@<2k{t#Opka_r4ja6tLO{q@PTB~5@tZoo}L}#10%>iqo@LtzkjjX2 z|NBN2O+>02YfqmEAU=67{Db$1X;Ko!y`L^lupmY!7Q$@xloc{ad3Q-`+zZAnkn*mv z6L7`}pj!b&aK1#vKe=njmh|Ks1v|Hx67m*7=6@nPRueVH{61ii&|O#|y(HSvNl!6V+(?SKB!Pyzz` z=)h_~Ju8Lkh&jdtDMpkA7xy~`W~ljR!!B$nv;;A99ISgZ5L@;rI03r^;mf5ZIq%^W z#?q2slHgND!wej|8KDm=f?A^~6fq4QaE@?%#TL-GGb!6-6<-RMp&j@I_@v_FwKCqk zsz8ZcI;-F@95ZRcnIG)2ZXfy0at^OyrsxrE(1`q9L;rIa0Wvn_JTHrs`+HRIoU2y(z33Xu_xHSn9r}=Jm4P3@H)B9h+@MjjMdv?hz{$ZY-3Xpl75W_r z<+2?Iuqba(>4?88DJdNF5TFcKFmt z`_F;r0u{Gk=)TAxUG?H7niyAMkmw$9%r~G3t_)AE;L(`;w@HM3hz65>G!l1IY>^5t zuDKNA`GW+-EeNOw$QgJWp|$Snt5Z#-$U&@02I*hh!Ar1AjKG-Sv5~a_2)2k9R}`&O zK)acN;I&D`D&M?*y3_^nr>(V(ty*pM>DtzMr@gk(Y(K*dYIA)ZuNBi}c~71^$&`mm)77nw zRaBbN->0lJ%~Bv{2)gZFR3d!^X-m~sjtNQo=v(5=bJn+M22i_x0dE!7PY%`kD;}JT zJ>OsQ{o@;nP25c+2uhdCvTv%Q1Hiz1OVa#j>)iZjo0ZjdY(K%St5v6hC-c)5{2K)v zcp5r@^1_3Iv!HQ$S{jx~Qx8%AcUcZ$NZ0SNq#f%WOgt>gZkuEs9FQfZ2KsI5b;cu* z8c=4y7n}wjSo92gb!k}19T2>x!Vj+HxKolU;2>(&tV(ipad=qq@!v8x3Hl|;DaDem z8d~(^33LTJLqXvJf{O^mB8SIJcu~b4D%oN$!vRDj(6=t{yPR9XPF;I~fi4A(Wd=vN)Hh51T-BJ<2 zvP?jahT=i#Q6c4mPfVEnJrt|D8|E$kPQvh`bmd0NKlMZyz}mCTr|Ye)XVKHBUaNJY zmHNiB_R7XqxaKl|bZ%w=>8Esa0*h#M&3{6F-J25vLL~v6M>J~T%1~D*N%UJlp>&q| zm0ZR#L`H$BhLdrt1c@I1Ja}CGGVG$Ljrl~C(_&l&w8RP;PG<^xc}rJD@UR1&Sy+4@ z_n>f?+n_bpHAczy&*O)^$u4`wCgwhXH;2Jc(Rt@+i(pR}s)$v!AgiV--C z_ZRsMHla;-jEcp`?D+QSj0bi&NdmF=n41FdN4bcNNYE69C=h>pn~mU0WCyG~MCpOG zmyue}%OpaeD8a5)p+qA)rkLGWbS004unn9i4&>UNkJfGRwu~2H_O{HwWmT@OKMl8@ zuGgQ{pSEkY_4VdvC)!+%o~_n%w`IxeY|HWtSLD_++LiIoQ)@l4E*o!40}4_S0OFNN#X1VvfB-{eAlMDfaj2 zvlZ@dVVMir9wEUl&?V*gngi|O4)b(;RLLp=Uq>$IWNrH-7koLQ5 zbx5L{1+qf>O;sta%rnkU5l(O88#=2JeWT}dm2UT0=_W8NHKI2ZxPkPR{9JLDPRH)T z58{z|FTM|`@1m<;*`R!D!;Z!w8;+f$#iWv1O#+M@imuAMllLjXr8%JZ{^eC?7)Wff zgij)DIZK*aQu+5Hvh^afktoEd%^bn92J*BtkkM9r4j-MfDk;oblnl|7%Alsx4v$KY z5#Ij67M;Yb!_OTpIPXpyEH=T^)mx)fAI59!4C}=)!x1ADM(Exui9rDNmdyyzj)Q%bsl(~hInVeI!PQ#mcL_Wj z?;EjXyId$w_V0>?m7fl;4XmmZqOBb_t%j?r>`Z}mi2}PqONa1 z%c4laW2^fYX-)Bek+FV<&*H`OX&z^3sJ*#han&J9dd!@ZqMwJUH;Y9(zUR|lLZ0ew}yq49GTb%OM zc%b@%Hw5pd8-r9-8%4i?ctKMIi)v447TAC{Mfp%KYIC&WhKH`37zI`fC%NQf-4#{er8U!sTdmOPYVda6W{AG$OmmLG*%_9D!k2I%^|2_-$_RkN#Zv@}h zIfypiCE_)vr3K@WM=gdY;VGAeet~Bn#jK~`>t)Vu={9o2Dpb_w9czfr`0PPnMP!Pa z?Ul_A5K{E?S*^AiuB|n<)>_Y2SGF<-8P29pF#Hn*hdSGQ;h&74L@bPY7>rsIC9%TS z;2Ih168>8zl>;%-@rUXQhE+r@G9uOtxu+{ii*$p|?}M0~z;W!F+S5OoG+|NUCQ+pl zF(sKt=zZ7 zty6s6?oiWT!hb8w+ew$LzSW_ZaP$mDzioS#0R|GYGJcqhkf0F>l%u7#yC8iek!~aw zUBd}d`LP*PX7pPLU!ve>Sp}v91Q_YG)ag!IIcpopP;WsyYLy-lSz4@-gj>@UW4?sG z+}hYa9d4254A7d#$Iym82Z#@w6pSA4KB8pI)2s|PDj7zDh7XxZmzb~wN(z%Y zn7H%qEyca|l3Yc|yqoD=TV1Ja`A^nX>(f?kKG9|jw!-(=v0cAJtNQsauVm`&U##!j z{CzMA=zb3T3@mTLw^Ctinb%{!^_<8e?o;K1aeu3$~Un|nNXcV68@~{-Vez=<& z4BN()&Yv4wbpG6QCy0e7WD-z{WF>}?GgTE`S&qDDAX)_)_CPPo2mx3`?QQ(_li^scOmMy2Ib1MD@LMTc@Z52IXz}VJz-T z98^5L1l8%xc*S7RjLz!{m>}iu8$T2fAT?|V2x|8iBBy(#thQIzx0;=BbG`m-ty$ly zueH`YQEOx68OV#9Pd7K7Mw_c^&9LlQW*Y0&`qs*3MPW4)1^}EnhY1ZA>3)@b0%S+L z>(aW>_H3wS!98U=TIAuEgJ`_m4_i+$2I{iPUu#{0!1e=O&#+X*Vx=t$>AEWBbR059 zC>}@Y9FkW2GUODyWzyUL)5E?bag=U?)j-%^_SE)Q3Pb#1Is<=b_fU=65}6H z5VIH5(y)rRRELdZz&*MPsPk&t4_)Mr*3S{HBFf0cst?QWCQD;%nWql5F{hvU=lq@nH6 zd+1M-65rlbXprQ0ZhF`}+LNH)>qj+q)-IDywz>3H{wj zF+(#cu%`$8&ae~&y=ZmQ@3bnp%faGXiI4;qaIzd8HvWw8IUM44}z<=ou%rXdy4_o-YB z*Cj9uIN$W{m_gx1f*R=azX$urN9PAe7Y)9PSm(3nI-EW0YdE8yHB7`m@I&hk{;BaU zVt#hfyt_sHrKajmfjAtG!=6;sAt;U)yZ-s{`QBmhZtw2_H2vkp>(`CbGG7=@KpF`^ z1Ti@hQ(9T<5a9Tm+zkX}-(t47aVH?CBYlm6+wdlu3`sAskk36)x-RCO#u7oXJvJgW zOwr-$XXkr#aYFcZX#Np}6vjc>FtOtSVo)+9bAlrd-KE2?DugVa$t#j% zY6VG1Pe`>jis+0?W@5nUu7M-rg~nB^N(kwsgms>OklUTs4LY*%dm0$t^6)53iHDEkqve~&~mP^9;0xfOvA4O8Ip2S78 z7Y$?!(Bt+~*!rc6goX9HWW^>idYRu4Rrz?d2U@^F+YuF;TjUNCCD2s!idQvn;k4Bp zD8uez#kl9~p=XA1yB|&1t{$fAGN9ee@>_=8qCFXzz`FDxq7c+w=kke-`3N8%IV0g5 zbjJo-Lm6eFmA`YhM`#IQ;xQIR+wrT$+zLb?*TaE(ppc|*uOk8CXkB~S#+~$zP%T^Q zNuMJzSB36qGzJ^?A=SBYj7Kdoy&H&{wjCv;R8}_mXJox9r7>azfdho2_ATmqsYM}q zfn7)97nAkkb|6aNc=a|yZxHg{o_5~wd|MikJHQ`@!n35FA@h1xFWurOYPEqa}uaLZjN z)OT=N;aCopljtA%uCxq=u=h2F9cJ&_p)Q&d;Vo`YdxH-zD;@b)p{xE{1rEqDQS zIcMCOreYqsEB9cauy4hQTugg?ZMF*%ez#AaOK4*(h%P*QDbO^JuhmKBM}B0r(L`ur zs?r|oF`+WiQ#mGfHn3=S4s$ zJn==3HM-NC6>@@;*BD_&>GBft$RHvJxQqML2OlNj||6& zh{S=V9Wz;~A-cnx6dOT>?Imag%%EK>TUWg~EB^szeAXDjd^HYVt2hYkwNfKR(-0$N zz-C|TCL{Db>2$guw3~{nj-*gFd}7y)Kn%OV<8eh8iy#PU2)>Z6!!c|N-k>Xb#)6^| z`tq{FD2yUm1cN{Yoj|nkzQ`9^YfE5kiM#2Dd`@;Ii6U-;<(GDlVL%rgZWg|UR)%-W zLqurEt^-mr;Fd?Q=giXOIDk)eN-EP#S&dP889AMIRRNkIp{qwuQ5MS!i9Hwu$p<226;i2NKtI)x!KB|r)E9P+f1U02OJbF!2D4@NN{ zRw*7Z#-OMvkfF4L!0tp+v%PFUHb{W#BeBdgb^$s*8A|SEA987(8m~OI@La}y^Qdt( zhGIggQhS6uD^|D#nn<)467Njs7A@bUW7Ld^h!du1+ z>}gA~JdyGjuyv@O87kKY!7P0gej8596}c8?>;ULiV+j`JeLkhOke8)PY!yi!HCnh{m=VEDM6^9HAZ{DUMO?Vg?M+F$SCwq;A_GYFVXb}} zxdyqX1Q@;JvTQ4Xk0wJnLXTQC(6Ryt6N)ZTlKYd{|Q1IlR`MR@NDjldTsOBrjwg4M^IV(WQ|qEo}bq7QinSUYIrm6 zl*K*0^s2VMQF^#?jr7ULV(ER^tN!j)(>?(Y6S|g9;Ox~#TN?}k8epO29Y}1h=&Bzb zSM*HH!Tb93%E@6nQ@IdxaT`(&ZXL&v+@3nvH0bhD#lTFNv;if*5j^%9j;<5MX#^^8_Jx zbU>m-e7wkpG-Ej-OBs|HPH&Hiy^T{aY9NG;1WcuIdU|}i?Z5ATsKwj&W=6@fWmD7qdg zbxC2Tv8WloO!8KA%N$q^8~>VjKQ)X71TRD#Z^1#O3$qw$I@EUy3bC}SFa%l8fSP6@ zX^x{T*FADrV53{>EMrJRP@-}MM`7lrQKrMp+ENF2IaaVW2Jha=9i1SB3>oiu3$MM zJi;hi8nZ<%dl3&BA_I$kqGF5z-qC=RtQDw~DDfAi8H)<$O*qCk(BB8bI7<=;_W0!d z;N8LhYXk>JhX=?S%AT^RP<`V+K@g55=tK~dN+}&?5R}W1R}1}Mlsb85|lj_ zN4$D1r5K1>6kY@yK=)}}_*gbtR*>NM38mvqsV$&t_~5yLPLhE{XVI35G9gh)kg4!x zHJ1a7Xmq#C!Cz@lmSKD77KLlxvqlhh7%h3Ehk!(+L7Y=|#o9aBXO9MCtwupYq8o+g ztwTc4!CqSQ3V3>wM18!mMct;_+X&|=-3G|BlKS}1(}`Y?8TQIH{ImYlf7p|Aso_5~&yL^YpOp_An=7S7)+%0io3Re5qb*Kdmy3{GQVyAQUujF?guv@ zk>j!xe78}g7D+(e4SRvCh;6^Vy7Fw>e@!D|*Ne*w)^8AZf<7E2Mt7z16QF>VP~8pO z;C<(Cg6OS+JlPK584SJEe^gsj2xtv_s)c7rh!AAVB{8QerBqhx-Kr7R&(*h+joP>P>I!)I9Z0YWkPBVDORv@^oEnC z3BRTB@wy#b4#cVAIO^A7TLRQFLQb1+v0$_Cgp%75!W z$rR0y6&6@}q>C-5-&1L&N2X9GMRODmU54EmaT#QKXYQZC)`dJOv!n#xxz1A@%{yR7O`50hEJ!aS00YBfPE& z-&9CZ1Lin%e!o#@zR;YL_%<4y>`R-(q>Zk1uzisDB@d40T<1}@P-(*lU>B^pi9`{O z?zXvC)(CmdNZ6_|V>J{iM8yH#-RtYA(nLZrD6awB236QPo~z!S=4o_EhR$RDPfwfA zHtNmx*4FCU%4|+6E@yV8vR7Kn>NS=nlKi&Mc&Ma5a2MHP+1k$s9>z@Rk zpMl8rKB^KABte;qm{P~|_`fS#t6Q6?`LAzoY}LQU|NR3#=h@hawtaodtRD7&$3z1_ zAdj_6FFf{?lO_@l8q+11KERu+lFm_U-44WE{xL%~!zqTN9eHSNH(=8fx*X!*750&7 zVw$GK2ij0uq1m65g&&0`lt4;|RUe7SFJl1o5Z5c zgAQ5!&^{LoxzlF3331J6l0r@g@{@I+r}WFHXT)*2hNDm(zNB41Mn}jun}o|HZO_#Hue$zsugj!qfyM zY$7M!@jlWOCQ25S^r$E?x6S5JVzCEAMwbhy*U8t$5`8#tx&wLv!;8KRj`%d5PQ_iL z?j(>h5h%kBS)vI^cgHoh$|sK=6+Dz=BDY6)CY}r|q%lApBTJUi;f&TztL4$y%Dnq~#VmB`L!{3{+~Uyt!JAQ@N0 zgtg6{DQ;&?IeiSG%V-<^ZEaK=*NkI>v!rbUKDy+)j&E!JNi>4#0VZ&|e_)&@YiX`m0;e<0T0xr_z{q!<08I zza^8KQMUrgL5Ija1hRl10}e=>Os=jNj|WQlTbx|O0kYd~#?hq1G{C`|q+t8Zn0ONO z9awZe7cHgvgQdSMI}Q?jtj?o(wmHOQC)>rHxWcijR(2!B7=K#*rABcKRpieMgHpQX zTn<&?MyY+wQ=^H|$_0U5Zc6!--l1SXJ&iNzAbyx}vi+hk3;FQGgQ(`u*ygx0u_R3* z&lpxh^G6f*ZS68r7#Tz>i_dKjM#8saEsUZz3<#Z%!%^!Rran$B1 zxu0C2G`2y}7QC$2yk^og_}Xzk{aAeGpFUe}ZndIX4Z-K1hB+SdnT*D1KJ$uz+c(w- zw;le}x6%+$LPCUBklJO*)0rZn(AHRekpP(`2|`~2)$b~~O+O;zBW=88mu|Dn^iE#5 zhwC^q{B(EM-`@)w-#3oV(QEeXeDCyJMa$tbg|e4gp|z<)vAnNCy2)Cdz~XkPKBNV7 z4ek#aOdejgqaM1_lkYZt_jf5n)whSC2jjr#Aj--6hls%}$z4@8SyIshd6p2%zs!`6 zIwp+O^@N?Tue%-S?J#a#V>?D;jx7}peH<_UY82m&3F?L>)29=WtCv!Y<*_ zBkqL%!dJ0`7Sd^+?COq+TQzNX>9R0J*ln3%?K5T2xa^4QvvQ7>z(Zs_2cy!`x5b+C z_;|v>)&D^*P*6!o=sqAbPlj@H&Ab)XJHh)MMYrR4P(2NY*BGa_I~EHz!t(R?-lL(? z$p4>Rf2FqiY~vy03anG8g7wXfN`1v5`Qj6VW{g2#Tm5j9?HYQ)V8G}_N`?^PA3;)l zVn=o#I(``m_pAv{7YFi;5-a0*A+YuY$M7$2v4p zQO#CprHi9XuHqIm{Ig|V8A$Lkm6XH00!a$mHqODzi-W^g!OM#`!SRuT%W)Qd8EF1s z|LnT}*u=@{!S@tX8mjuUPrqM3pRWH=T7#MDpIQ2!wY8PijQ(eBbL*@A=MVUt8;kfZ z%YcM`{Go(r$)P{n^&))B3Y#E6rwo zwY~CmYqQ>LwbnLT(Q4b4*OS`Tu#;=5K$!ieor$prrQ#futj} z1Ni~=Adv9)s)G%g-=KaixHw88;A8UAG$UPZfu=r##p zzwSR8e%O6O?X12=&#dbC{z>%^?F+x0xcqdh-dy{S6PNw3^72=C`QJcZUVFy!@=9gv z3y8~@I3VYW1tZ?-XNbI317;J@-M&ddKk4OU(2i*ln3wtyA_ZFF?LvfD2@HLqC z@hkA7-5tTdb}eNz9rVy>p9AQ4-A?qIU;4I0Z($24SMH*u>@9p-dbjsoqwH7rQAr(n z?8L$NsA%$EobTWWM6JU^$cpXZUFGc6!D$(KaNjabf3_; zQo!>+XwwIZx;?UU)&z1#h^Bm)Ee)N;r+ZK$;t?y*)`WnZTdq00I# zo3-A_JAQ4c7S~$+Hh#I0Z{z+j(9T8h-p5z)4-iDH<^Sw0xT1{bdEfXq?0UrH6gPhb zX#^%ws*a`A)jNDh&5i|4AKv}hE8+j;2Ck^1;w) zOa6X5ykq;i(ta7QBi8-12zc(_q5-0wZ{SN{4}V|()=H|H9~HcDGxJ^yvc-&6Uq zh;#8Oxf+Fi6$;x=;?5XBxOX&=D?+v<;!7e9<;(F13lP7cE&{-)cu$CblPFuJH%Ax# z8wTw4PbSS?x8)ypThRc6!7dR(FFs7JSy_uYUSk{1qz&wSN{ZSYKkAbGlLBa{V+m4? zlt~ybrBGpFkoQcPT<}qWJTman`Q10YY^!UYYecG1mY^ye?<7HB@Cp`z){;LQoWDK3 zIQRFCenfPa)4ikfA9u)j4uNtA@L8i9AT|aDz8_FnVJzWY<8=QmWZ8RpaCmV3Blh6+ z!TC|+?96|CeCqG{Cwr&o2m2R?d#C=%#p%iMSwjHD3EpyP$`I3a0YPoH5#6wtsE+># z6DvlL;-=b)y6-6pmJQ}TWAZ2#n=z)9f!slhGqTuBppDP1JF%<5ghGAwxQt}^1-54y zT_&+SafYQsDoZ}n+7ky}P+38^X1szjrojaf2GT(^Mf@8mOFvUXK^}r3ly9)t#hXm% zQ3}6>Z@{p&F;5jCA1IRHFzAQq6ddv6#(;3yIlN{}F~`Z9O+jPYxQ_~IUcTuAlo(F}B=3AckoE8z8)#9)wAM>bn*UNYugT^zJ(ix3N4K zCn^fHokEPO(5ecNaA3#i_!sAA!Ntpqqw|YEr1Stdp`Pgc*ZztEkjX{Vd3|xTe|~U$ z6r7*#?PCy;fBqAN=5(^Rd*3&L*Nvm|(;thHhz_pk_1TYSuZv%v@9lp_EhtLy-QMBh z*^lqe0#qMDkLYN$nBR$tpKY~%Ce75psa^V)U5zroM--0kl|rQDgJKDVOKi`%#N{OgH-?aY@kFlChm5>*6%&#WBQB#m355>< zPOM0y9S0y}1i0%UWaLfMrn%>dsu24w`@iGe|Ig{RsacUPI}4HuXV(-;;6EivQ}G{B z!POW18{;e^Enp2ldlC%EDP9_-3MiMk4vMKrXu`VM+AadP)F7r;Mx+B-s4y@h^Lk!oX*2I+XGdv_B$|97AheqwSG64qDg^ zna!TPAu!~M1U5Q)cR;@Bh=nA=h59_X7xKCKJh6-T=TscAqR&4+zX+!l@8`<`jensd zi=FSC1E0Fs-v_ZA%W|F{ygF>;rN20NwRe7S^v3PM|M#iYzur4Iyf|%q;nDa4bMonw zkvo*z7#vN>k+?BQ=rjp;g^S83sS{Y%`>;pB>jrHjaZ)H6g;Az(6WJFA^8)V}*7E9B z)3xpI4Wxed^x=~YN@d&vsREA!j9#G+FKnz6AOuNrUCNuivJO#Ca-NNcPo2tbndG$_ zhS35d({pQ76#Ofef*>xikzm~Pv0qXl=xh{vg=CMGj&u|x2q1xA_wS-H0cLg7(Fq3+ z2Su89d=k(Xi6}FQ#bZkZcpYmx9fgDo%k8TyGP|#YorF$J68`0$-JJ}+XooM3KC{cq z9vLgbUY#NRO6r*+$@Fs>r1WE_F1HBQdo0)yFHS2ek%(IJI)>TZ<$l$-k(-AEHD z6a#e9nUnuT>%4_pKm4FdTG;hbi}NG7N|c;R$}r?LlkAb(f|Xw?BBf>gwjKU}ww&U` z0aZ)T>M^!NrVBYt>5-j>T(A*3nEX5_^@H8qm4n8c`3V#Y0y$6xn2*M8HI*zoW?$`D zU81E5tIc#vHMY1*nFdOA^R`Z{4sPKx#Yy6xqu;$WsG?AK88Sd{*ig%cEEKghj4D8i z2h=!l3ArGhc}!lEXVMN@B_lLFwvCSs9pLo6c7O~D2Zmp$0qdBtW3REf z#{>5R9+cevS3EujN&WR*Y=N9Uj^y72;AS6zQ!`#zT{=rR-RM=E0SRIq#7F}UI{zVDO%X)%wpSj$YpE(W6ijFM6w_op3&M-g@kHwDf3%mfrdUMH}R z?erQO&1;)c`lL<_SF6jHHLPAex86K4l_+rQAR3KIiy?)l84$ny$*3gR(V(+wej-e>_>vZwn8*~%u|Xql`2mSCEhJ}J9niix`Lt+lM>8pTcc3C&f(u3 z=8oMR#U;nG__^Cut4L_Lp6636cj#}=t;)}fI^3(*}YPGgV7$kJpvZFu1 z1Xc!L-MJffC~~B%OqxVeR9LyVD>xcDo&$j=+L9{`%ff;otzF+Oc}Ks-UOTVVFf8c4 z>(^=^KKcj)uG=w+bW4B|r6u?)+X|~6P+WAI-CUh!N(rg4{Sw!7d5UJHE1ES)*#^yzr&PVpA{GEI8BP&I58dqyYQjN2N3S zo;aDGVWu!nwWy|U;s%kr(j3Rtri8|}L(o#JX}nGzScsc3#apCXJm<#Pj{Ye?MdXiZ z-xih1wjOOchbuD=4ou4fZuxv%xrpszV*~lV1j6sqILmionpcE;_ceu5m+9J`?hc`t zq^1}#Q6swNfd~&}vg&hTfv<-KBX$1aa)G6S5EoeItYDnnlu&m|zx1NZWPh>CCo=mi zCIrr{)_b1WMf)7r0+{8)iJa#o=L6h3JwtHWqNyO#aK{rNG#$M_eQ+Btb*X257dG~E zqv7e3C)O(D_v%2{{RQQ)i^JoiHyGERiJNrjJDDX{xJ%nJuX>ZNCiPkoMs{VTx~rL7 zW{QD8AlbI3vpd4e$-%2_|6$ulFje?ctFN%A0z%#p6>{(w9eSw&|I#5;4f6e;o~n39=L2R znKYSRAn93Snk~W_)Pl~9Fb>MUzIQp*+`D@@Wz6m$j>#X2$?(g|~ zx^*Ed3I}hwdgA`vG_|0$xJMRdwLvAC16qkcjn*m^1H7QD6 z>_yTa2DkmDD#=4ognb2lht%O*3!&~1Z`2u96U{NPZCYK-!Q#<;k;>sX7DjDMmDfDN zPHa=ImVPmX{395nas@8b&ID3PqrfQ(?>#Dn$SmwfUwFNyleC zj1WXrQD&ab1WbYTZt$iNj)7PT0Ys8Xq9DIUAEFl71w&Rmb0``h+zW@vhe$W zz?(niIG;Yh&zz$f922&}FT^sDese@P%`0sQ5GY`q8ignpxojKeP{n>rD+t7@-l5MKdINVbl;9KQ+7ofX5>Drpj z<6W26D67-U9d&WD8e15J0$52waH>cPaY6hFqT$e zMUSrzNEwQE-)Lrt(VT`Vz?t^5Al0dOhp@*5E44WlsSLxuHf-TQxcC&EL@B5rHAeet zV7zRM$v1w?J~W-~DA8bQ;>+MSC#{>v)tD07R8d3o%^1^{r72v;{aZGO5dY` ze{(?y-L!O~>>wFq0Tu~)`cpS^>7MaX zU|P47!CytPe&J4iQkQUV!)X--GwnpQ7YbwBO-`88XR9iN;9uMdNR zlXu6j4qpFgd7Ze%9~K*NITSw0LcuN6+;MW*8CsZidLe0p+;*Iy=f`Q|&6)qtf)=LC z&&H`5@C09Mpp$niFQQURj+gHKz|ntuNv!Qj$LexSpNw)CK-ox$D@Hn%2BPg?r;A|) zfLm+hCNr27;_fRrS7{Mdotj%A#XFC*V;Pr+fgzM5-O7iDy$^IPOGP=h`6C&haCGy%zh=HHEmtYlWl zkV~!FQ#KiV$w@P%6;0cG<6o_Q;xbsBy$s~E@EI#%23=@hC@tffV{XMyyFjVyYhjz} z&}&_6XN`?=gfG_tE2TN7i*d0qgQv;_jde8Qo#on~@d%di;0=46ydamo(gS(;Kt0W) zJf{XOp3EBZ(yD^kU@Wg?behP`&k2>y4V&2TGdi*GIu>2pYm)X@N{=v5hl#BPBiDo> zBFJeB(yF4*w4(&Q|L`P4@l&ZBd8eLXE>wuA10KWC4&nhEuDZWXRN=OAO!@~UV4q7? zgK>T8mt`DqzP~9wD9-W%R&-gfX&jo>`3M!AnbqwQH?oxDwpT>5bY@6dAKvw$f$5{h z(p)4f6pOv6NzL$6wE>^XBmG-ueT9C==*ce}rd`z>7z?BVa-a-)F|5Z&yvnps<$`WX zJP_?94@c38hBGd<7qfD)7{MT?U`>1C1RomDb(BPj*eF~RHx)@~1#z1xu^~z(q#dR{ z+%j&vNu-il^s7mdN24#=T`oMWovkU8*p;%yBc-Ir50l44)w~|yNGdN#k3!s0nJJMR zt_#&9NvoNAMRhow821SbD9$eO{bu)S(jDK?(y<%RRo1igQ!E(7IDtu1=z~=E@(|?_qB;qb+7^+*YX-P}DlCbxE-+H3>ToQ=^ru(%^4x+SW`V|Cp(5w&~^;3HyKl8Esk78G0COy9xr^Z-LDOFVALvYgRc-~nm@ zUZY5YJ(P}dPtbZ?{flND{4eHkPh%w|oIq}*K{$?~!@upuzIO^o$dl8?;aVNt`;Yhc z(Bu8gA{-A!M^JM01%G37WiK^&2mkeyKUW$x?>c(iPG_oYqoWurQVupbp(wd zi NQjAL6RJ3bW=9Zy-2fVBof_TSYAi-pF9hYGRJu!Fa#9b=o9lBrarcd4L6@LRI zSYOZ)*bHm#yz7(~7@g!SLW+RQTTlh3Drep8M^To_M5jytV2Yp@-T{xPHNzz9#!m^v z#q_+-nRv^&tk&+Rjz7fl|`-^TP70rcx4tNPaG2noK<;VeWAFWGMKjX7{r<=j%dT?}n)Y$e?x4~|bll`^&cJ}Gv zIX_;2^^4~xRTCTps2vNiq=_=u>gAH%cmIh=49pAY%dcwI;}pZ)6Z%}IAKG-&ZOvN! zY@W6x(3a^#|FJ>Xr=qS~%&Aw_P$wCPUe2iEH8vg1E(}rX-$>;7I;3 z@k?|F_n%k!G+s^_uQ~*fqMnM|?%ZsORx_fN5E|*?VGN!#CjwTCzg{p%Bn+?SBq=Iy zhHX`euXZQu0rbU^C)tI`Y8Y)6#cLqlJkob#l#`q8kOIASBsjJKl!ArU#7inA4JykK z&d7#BZ9nYcCU@tTKn@JwcSmENf^O;vrU?bxZO5d6D%U)v0LSs^NB!3IDCiE}mz13_ zbz_D1&$1aBkQBPDsI-X99Y$t^*qbXe*V~!SXtS48yK8C~Gkh~e135FV+XY8HXq>mG z?io?AA4F(X6OOuQJ?1wjR~!JCV-ExW!ay_;9g5;U`?njxCv zNsskV!mXgZV-LEB+;|%#7$!aHE4SR{X`;|iK`6ayVC=iI#<^f11*gYHe@sa;O^z7Z<*>`2^9rKdEz^QrLuj^Yq)ew>@^6&_xFkM!~K@c!znsGA<o^ib`I{hgS zNd*W=;_8?(3QezVS9;6dH57PInn6cT`_gK~FVxMGrZTPd)K8+FWUf1J`JS_ z?|vYfbWX0;*-}uYbf9pn6peamh2qLM(LMIHyCA1ORg(b8`wT?I(@~&JDW=%$IoGk{ zm`T^xRfCy_BATy=i!cTR(}|6Ne8CMvv6H*2`WKp+qM=>jR?;bk-#LXF2VzZu#w_6c z+QtpTwLsDY#++q%n;J%OBvfA}gYH;zGD5CF_mozlMZ+)vt(YoH6dV z+~<^K9xnAyV~0Ez5~fa}vug2~`u!;sIWK5>2vy+GEVq%txR!R&%EFM^u3I2Hw63vN-R4kK}EH5?`5Pg_k^gn zQ>?<>Tx3%zazh;Fu3U8GMqD0YcJ#0tje=&6VrLGTQxwsmnDynGF1tMS6C9T^M$5B> z5VfhXB63-NK1Pwk#nbtv*ZbgxdIch6|Wwz&+KKE7zD}wj-DBDzQZvbmRk6 zr(7=xt1NWIx+gdCKGP?wVA!&LAbdMC&6b(H#3#d?g~TSMx8WVRP>tiE4XBRui+Br+ zdW_YO5Kp%fi~O+k5agTr$O5ym`9PLJW}K8i_|+I*ZA zWnvH!KiR1ptD>eUwc4YmfTng;bCt=LFiWMirHdS-5;VxT zE2Y@1ZCj{sTnafpOR1D!At^YHYx>4UAHpU>nHp*W3Mm+VMz?~A)1p+PBuO3iO^3>E zokz#78s9s0VmWrL_uX*P$I_`%ZZ2kukbvHy?ExV^=v=x@-`O%ZO2D?mJ8hDL91Jxd zd9sj5C>fPe`Zh(m(@fP~l~c{o(%4M7{1f)41><0n_Al8n`d7V9KLszXuohu%bE6Sx zBm&m+XMhMC=PQklYuia4;0+n>Tl*&$FbMApk<73z#(jm2_KrQ(#j}qJGP~IOE}@>P zlZI=T?!p#0U}afeBvzkn=ViD0wcOabhXOUP$Z8>z}K_ zABCH<;jpM!;w*U(ef&mqVF!@OTBDjVI0Knt52`F97IPh1ll&@1?JPG%1*(ZN!BS?!b-(pUpKl`-z2f@P$?| z6vAHNw0aVWgr@>j4dPKhM0ki>%IPe3!uPfp%@1LB%vVq_0uD(zD;UeSykXDYO zc^bSn&I6T#@zijIv1tHh;WdU}*7${(8s+2>k6Wz?)G5)yx&n}a@waH<(9b<6&}j$; zWu)ere4K~zFcJKfA*{%b?VQ;Xl2!3>;dbgiIiAj+ste!S8#aneS^U?`DHa3 zMy+nA+gil#=hPD*Xq{czR;T@Rt^TYTZmiV(MG%PwV_nfc28M;C>a2(4DJz!}`s@=( z(*(0ab&5sp>D$Jkwjn?Z1n(O>@MIq2?Yr|(nI~*j{Pi+q5}S!kN8pvZ^Y7*RROXsI ztgf(AWl^y-KKCs1+4LgquwXbeshRWAwlF*iNbM3Ai#S{=mniu}j2(SC%_-`U5qYaGsJetoqft^eE$Kqbg4X3^^Z&W) zmsb7f&(rIVyS}-8^Dt|1Lsfe{nP1~Xz>l3{1D+-s)!RAaWlpE`f%DrWdVo!NcW=BrLws&i%! z)>|+i{_<5jsf#No^jax(T*nD_j9KP6$LAD-5?Id>?1_acON&ofo-X^L?P3rFted04pN z)mT&tDI;~Emb!s!im`&AWaz{c&Ukm4c>{uG3`gB~gszplK1w6+4vs25f)Frd8^IF6 z=zL5EgqqbPx)8iiizq{0gZBPzH;4g{xJ5a43f%!nhfa(rvBAtUjz!B`F>}@ayKH1c zaSlq0PU=N<(fuH=tUMe6c4TpCWNRdK|E+b&M}I#!mc^83N_(${##0*_&(+X){)Xz1 zuQ;*7a9SX6!HxpV8MW9Y31E!tpG}MiNr(5ylw@oph&g$e(x>I;$sw2h=|cd$mR!U%ECvEEcj z`;DWsMrrZQ$sw+h|N8p*V?I0^)s@<_+Uhd;oG+uJ#WFvxU4M}}R^YR_xlVuKlm5HD zwYK(Ot81HU_0`R-jjdI9z6w9;|F!Z(YM=3$psWj3A}vo#H|u@6bN?Y9wrx<;E%y8S z@$ha$!d+>Kip9NdytTWLI}0v!{plF zH^0Ur3)(P5ytC2D*cr+`)c??=Ul34d;I>WKCyN0{V@4o3} zTLV?b!${vp-HP-LqIYM~t1y7&*#F_+{O$3@xxaVxBbou8?j4=~xIG{F_#o^wm ze{ykpa(vdP`9LF)3Nu?g#B>BE`VBLVxKR7pRK5i=Z+8##lyQfCy%V) z=rl9726BgNzhi_NfHpqA9*>8~_VV)W?QQL9Fsa3(tK}XSk}SWd=~Xa5#bQF$?wuTH zkRtL=y|c>!2cdfO^lc|9 zTsXerFuv-5IBp4Xr?H*%uO9&3$3T ziOaso&B6WyJKjPXy~JqJ=n#30IG|#H;oPNS2S(lZq0$*;qEp~MkSR5ku^q8Oba*V| zX2(jo*#4ewyts0wdPIKQ?lYY0dvzVVsJ+echXOq)9+qsorCYxjkK{aqPKu|z7YfIL zv_KS}IWG!OzP1!)P7&-KHQ1i=2JY?{uSHo32pwT^~B! zU{SmoO-2z0Q$SP3=tGFNeiQ8h#wP$eOtlIeYFj#%7qfMo-1xgbhqi}Zp6YDq_a%xyGu5>Kes)PI4+r3xEKLoE2_ud2tM<<7S`wf5P z!)osP)5clj^!vuE6-ZI{$+s$rM(+iQr87ZhfUJZkF{c1Te1W`c>6a(xr~Iz;Kc#f~ zayd6Xrc4FiPjv?*JeP8(V~PK=JqvxUzF_mef9~dWz91Z}RM$=BuT3sf+)5wKStn1t z)C%)IcXcJsSuUke5LGjvEYk=z?tJm_h0YCLMth*>a9SV8n}?qO@9J~C!g5tND{?Lo z&qV3Fz8GYGAv4W<{m7@Y1-t)H0W_sO8J4IY*+MCqgzF+UC3WqjE7Oh?gk|@9S8Woi z7;;?|^LgtLwBV8bdq=-_30l``!2qYqv4=``#qA3eJNgYnlk2NCi!)YuzOkGQP|d>NG+v-%3)gj7@^|0@E3TFgCsF%<>b? z=h|5WZ%z(NIRszc$-VrPB*?XSz*6jd3IENpoSQ=FE!NIPqX4J|vse7QycJ!Ev6#zY zNj!mNFFnyj0eJaoJ!P&UIa2Q|elYL3|1(zo{fNp-*_saHgdBBp=}V0sk(Xz%IdTY1 z+eta>gZKx9EfD9f?BF3@??`!>xo*KWb@RIV6k0~hEFep_NJS5o0^+onae4*cv;NtO zMk>tRK?-#~^Q;r>4Tbz6V4^9rU&vuH6tM8GoPOP2fl}gGFvS+ER?Tl8rI)P5i_;s1 z!sN+T>ACEC_WWHD+V`KW#QBU*R{zJYCttD-)Q4?tZ4}-A)AyAAZ)0U`>%TU>WFv|` z|Ht)zMf3kIyn%y8FZvR7%&`AhU055uT6=EFN$$74iXQTj!Yv)XS# z>ZrHd3rANGZM`+0HLHA^mH3-*;O~xYkV$lm8YE-78teF>zgDLd9KOML3!fkFD_v8~ zJ2^eZ;Eui+Nf#};4AKv@;3jTo+hl+pp7T&QDMRM22WdF&V_-A~I z_`f{whpkbZe5M`XjQhXUm9^D0|KHkLU-`=a|A3FSObYaZ+dn-%b1amyuQIx1Va%gE zJ@c>KPN$o1$E5DV(2$8QVWg^qH%G^(jo_@YkFj`sB18Mqj2>|KxRDPBl9-|dCy{bo zA^)dPxk=$YU+7bGrl`|FI|RP^QZaQT6<$`+O=dHafO5^rpxvXJ7b$v2?&1;-E{)$2 zZl3NB5OF?+miX0S-ED*HJudq zZ!$sIg$DeL*nF@F5QDGq&saxxMU^H#gE2{u$nn|v{e~n%pn>)5QwAkxJ!D_a9u}SU z%Zv+9irB~BgH}?+8`uv&kzO+ECFk8-G$V<>9M#-&cybnZ;5_|Q+9@0%`{jJ}^I2o$ zipZ~zPxq08&h}n69QpX-tU*?Le&g@wr;T?Fe}C@+1-%FIeh;1V6Y(SoC*$jw(IJ|5 zLlkmR9?d}XNyyMp4O2S(fiueviV{ChVFxI{54g`aWnhA5E^*Lf7XbI(596|@T;(=Is_3m}X?*sB5abipFDx4}DK5ptjmL`Y^7kzIYsU zo{4)hU@q3KWly(sA(^PQcG1otgD)PL5s6rCTN{ zpx8bfENitI(rt-Y6W)@Fl7)y_86$GiZ@z)a{eCalJAHE&1mzt_@v-c94P^8?b9)bb z{rsnYX6S!yt^6m~Fr@;T?tK0ThSB`%tR}LM=GBd3n z!9lB;t@sCnR;}W1tU{`Aa0C0ce>R5nP{!+S2g-lli{nwne+i;KCV#ib@fGT;t1H#j zwUyNh2p zgXQ~fJV{Jk96nXZCH`VL>kTT0GnTc{&D==d=t}(4FO}4j0Hl?le%YB;j&i})8I|*~ zQ<{1>y}+!FMi*cleRV3Qf}Ho$>&j7mCI9HWc z!fBn%uhcc6%{j@XsLDJ~6-0_gQ#T%}lSv;Fc)9uqaVC}sDmsnW_^YOpUv&VC@>V+} zXqRX-?-T<|>s_GFV*V0-RTiMlNyqV$Aa2qr!DCpL;&4QbsVPWM+e@OLU1ZBTtzk1- zW`P7?Lv$vttOfje>_W(;OrGB(Y=MsO26c^LN8vspfHOu+P9cQZh+A-e4-pCP!2>A= z(_xl09HaIJedqbki)>H2OS6-NrM7C zXDQnykK77fV!`MBuD1{bd*|n;C3#%&S2owzD>($8d4|MRP9q@ZR;h<7Ri}Cmm9Cpg zoq;tVu5LZnFmf(@0K9?06(420TBFg{ubd{ScUV=$#!w_Z4ric_*6 z*=26~wVIqfD z=MB$Wu*|xWaeOIy**&mHn!}^GF{F7Cy9w_E4C7x)1%^hEFY9W&gbtA%(sbihc8+#r#}EDIg?bZs z`{YSkIMY&yexF>EVMG`Jq$v2cXi&l%RV4O5hv^C(-9NU9y$Xhb#8{afegz4hMuqb@ zL&Jk2FP`V|d;!gFvF396?G=pi_tRw4`fQxY-orIkb@VXCTl@6pxp9<*RZq0s}L zS{IpP&_a6CG2A50gxIfm+U{eRO~n!8teuCp9(R|5&8PCPH(4|ZOt;j*O@`zz?$2$1 zH4{(7R!Z4h&$Q*I_2U1U6{t6uq53*=53<&vdbOL?n5|XX-!f_uXPh@MBDVDbT-vWb}uf^Me7I>qpuV0MdmqoLO{&fr`ZLNbHRf-vyZb` z^Db+o*7WoIdUJEh+gde>qv7&%8OCmYrAfeV1~!oO`co6Ckhp zA_vk~2hOIbFyxer*Q9(ctKDnpPMu5H_E|ko{6BpN$wo<+(AmW;po98CiM=}t!HdfU zgJBWHM{DA92swY|bwX?Iax&-7y>pK_wSZ5Y{cJ&>H~l%_)VcEy>HcK|kT*3%0pck$ zodohmq<{wUI8x#Amz3@b&SWoS0oFzD^ddf;4Wvu@Y(|g)4liN_lJH-{46;)+KQZKv z$`p<;CplP2Q;T{|f=FHc&nVaiCi@KLjLftql)~gx*w02K^KLxS3rj(bsQ^- zDL3s{Wozo>Smo;S)CIr7l^2DcdVT)(Kml)Lm3v;^EOL$TKeWlpoukKe4)2zFGGDoo zNuD2_+yM4x3UiNYpH-eK4u4`%bJ$kQF2{+J%x|{6g&eJDIuw~j8Z!d11r&2k86!C1 z*i7^_*KXz$T9Ar^W@tVY2F*0%PmO{$kNx-Oh5?&_|Fi}#Gx#4HnEuOjar)=0{kO)K zRCRf{VJXpi(F#InGB;=H|%LFnfw4=g<-r*Ft5Uk zh|DF-9~(r=j^yMz)#thEJF3}C%fD1~t0`?thqh9;S#$)*M>j|bxxcH}Qzn>`hE*-+ z4#Heu4I(vvYM})v44+wQ5xT;Ci_HltbnnnYUqAl=pXu`7mk9ui^3c}S);;iF>#Ozk zwg0NuYX5?0w5iYkartk?{P)^P?d)^wm?{6)v-p2N0bk|+Kj7n82Hq7>vOxB~*baRVnBn zD1an0J47d2? zI;P8iYxP|DfAuT=^B?i~BKRMl7zEb;sw)1fD*g%`l7$Xo(K-(Zq!?5LFN5y`DPlpd zn^#vf%s_a{lW`($R|L+Ut*M{iPpWq#U2kdLoa>bH(IcJH zFB%cZz9n_sw|8ehzJq0(hP2K@?al@5em)Dd+pg>2-MhxCgT3>Hg`|x@-E)t~YF!VB z8j-wtcwUV1jcqDu(kG6~hMY^!6>BWW*pw zJwIuMole{%l}mnJlSv_g4#GZxwRWtlP!s1IwrNJ4rEaz20jhdnhe&r$Wn^$ns%o*f z=$E3}Rn70QCy~{|z|NF7xo%Xh8!K0F_ee$<#L`X4s&ZmxfjebE3NdF%x0TZjoXCn# z0?<`N+N?gKfQl@mt9R1F%YopGW2B1ofM5vc1ZaoCg>+aj_1P$D6dIiy$DdGHMTxd| zav-5BQZ-|o5r!k>F!Cxw{4JG3p2rflLQN}@nB6QW_ZVZtOWYDFsvQra3KK!PI$QxT z#wb*Qq&kSAb|i45X%A{$&r(mUI#mi|8)q95CI<4w_+!YcU@+2GnU3+Hal9w$sUI9;@>`d_zpE5UW z)652m&AR{_@=4P(4T->QzBoRMt+R$CNRJZ5e|1ciK~C@(H^IR#umi=~&lRpgF0g_8 zE}%~_^38JsL)&k1${fcjoQI<2mmNLFYk0=E-p3!;amP(tC1*(2^?MiJQ&k-|&daxe zcd6wj<7aFyJu95M0HEYF?W0ZlQ$1)GoChhwXWQ|jwVOMYv~Fk2Wrpu%XO#Kr68)Jy zr<^)Fsq{R5R{7OD(@H7LyvolT%azpfk)3CH^PE=;W|&(!dy1_#T63&<=z{wsZ!MmH1$GxsXOjO%tOhm#qQS}Qjc4Xtkax=GExvB zmFQk^0^nb>yzEC#&cXg^S z@SJo7i_iC^ciB>&`O}y4rT72h;CuPo)={OkNuY;4BH?p>sOmY8Vmnx-0$zfFh0-2dK$~n!P~x|*Zmh|8^)e& zZu0owBKcWycZvtNh$6Lyq82ADcBb4P}}duZ@iCyhr>SA zV)nrQN6M;l5 z99nMfG{8aCB9-PrP9mr2Db&Gq>(lCMt)ZUU13fid+zjTNhrvN5(bNtxQY#zJp`%5G z?woNSOuBfNt)rT>BQ#Hx9hN4SE4NTnmY3*yx)q`c1&{~E=+3(-Pbhm&ZEGozx?;a#K@B;M9#H@)`yw{>e`q~}(r(K($0l>7WQ z61m9EAyBe_qCj$_9B z%2mYFO9pj)_ecuWbF3~M=xyraO+l*`%$KCrla^db`1EFf zNfa@8d~o#oxTLG9_=`W{%Od|Te*Bq%pXD>d|9^FJWh?9dzy1~f>yP*p_0IM*!ZuFFV}?P&;N1$Up)Ws!kY-4TRy*z8T)^IbG@F~ z{}B`D>;C_*|0woUtLX`^!86a>e|@<3=FESx>sQ~sdja+(Fg>A!&ip~FV9e&*o%6=63_Qe z-!#tg0sGukfl+p^L`*VGV|}+lhYjOW&6EV4p5mK0MtFHrLC#eK5*6l*{-}t);%BnB^TDogIJaxYjEEVyV;PqlWQQ?Hqi37rBqwW%W84(977tbgMPJha9PEXI{_H-IqxO(zLPr8hL+5h&rUxlXs)k6v%(`e!FEl_99 z_YM!sezgtRfG;%u-q^<}abB9CRn0<@DNav?y*xO|ys-B@D~UH5sD@$k(|1tBX|{ZP zt}{7%C`@ZF3J2RJm2U7-?f1CS{>bZC{QzG;pue!k5S}IY@Lwz%7VrOg9P`uan7aRi z;JvYt#{UMHeB&$r%OCOK^MBr47o&jBryBTNP?@i)g|DiG|Bb4JWiz!X*7z+OpZq!s zM`P8!#^GyaRe>ur8byN^UP?p**dZcAB-n?z=Z`^thf;21D`Ud=jQCJ!OH+P=cR>lz zVT-zpZNXTti_I{J7FE4?hY!zaUx?c3G5e~+{7EWw6UTAHxgw&&8xlMTK$&gh_FnBM z+mWh5SEmZ99T?}(JOepQ)<%-)q?|8!v{WB~`a=!h*aL#@VQYYNQ?Fp7Lc81VbbSQl=C!=T$Fi34b6ED=M$J{w#~>(z%WRHL-Ok2_3PmE z9*CVK;C=lNI7qElE5iw+^gA9iI&|K_t996|fTJunPEU_d(d3lCq9}{Mh~}q293Z8| z80qMnZ-U_ay#PeZvmhw%U^z6>rN-Y6&I6Ef&oA&mqiU|8h1nurQ32~|b$bL@p&3lH zNF{tMTadk$v5M}=-pjM&!;A9Ts>!uBBAl4%g56f6+>1N>LgZ?J+^+-uhsxlmLK z6tpE>Xaz~97Y$O$;7AGS%H@B-AY8{d8>=gGOvmcVz31cj<=qmiT|nkj&MZQA`b5o2Nl*|GGIE#WG7zXV22pe_b=0Ndj%ynB9hrX>CX& zNo4o1+Jkk_O`?0{k_BB<-s}WWH$;^yxTkb zj#$o?|NMDgegn>Dzi1qtpZ*vezkYqzI4@Dl$^}03=JT_sjVnu~(kj*megpeBXRRLNlYY|29FnVw*+z zh1yjwZub2C9a%@x6CxIQQ1Sn&%BOd~O~STcJ3rp9RZSL^c$<>2F&`YzlmJ4b=*?F; zF51`J5?ol=gCh{etHPjDL&}4F!J_Q?q&PkwIHe&)VkwC_sOr(DlN}zeEXkjb8FY)o zcw(6nv8tyqO$1`r8H-ND?gth|N%`pDiV#<=)@EQDE+Pe)s20f-vK~vNLPF>Deb=w4 z%!;DI2~q)A`|A z>ku?z;G7DC3LKLAaYCvsCTE%OD_n(L1l7A8z=6BnZ4u9se6V7Eh-j_Bc>|3@DO2Jv z3I#2ik`i8BcaKMS09WMz?^`r|hHpry@MqCkNMvFtVm_A~NTEe%0NaPjBHbd$E_hY( zA7Msn1eRvmMkeeW{q8>) zw-IlZ`XOuz@%zYEM+<0Y)S7VIkx@8kT}KIHNG{O{foNsY)Xq{hHLIu>YK;Rr;ReQ+ ziXSIJc~(Xwa8}XBNivG$kS?H=O10JnsU?ILW6L{hd=00|t800&OciR@4iZlxQRcVs zk0DMu{=)!5krYf@zTKT=JszMx6Yt_7irCTd(^vA6FKI<^Ir(VSdKhwi08&?kTbkshWp2!L5P<0M+N z1$y>$$}d#ZJDF1FDNyZQA;=Hbro&o!HH2zSf+R;5J0vJ|@w!Ah-9;SOMbY&v`Z8+7 z6_tLNlxwK#^Lyw<9(N!|Ga8fJ6^;63rQkkOVMnbpENou63>n~#hFafNJi?6=*(7d& z@;dC@hIa{T;4Q^4DU&!saBmtA5ha4 zEcuT89Y;*br83@>B}HQ{H*A`Y^e&}DtHPCm``SRZe%8opG@}#W$X)6kNRZC*6Oq1U(LTFYCV6ATW4>xe1IYxyp zNU>>Xd(jUES2$!w$U6Wszv&JWfm_DAr*1+gQ(DS{J5o*4RR^E@NK}UHjP7tA*B%S1 zwpwp@{$SE?!WxFR?d}!GqM7w38?3Y?5YEQ*ovc=5eI<2TbK=&77k<(TBN)Rve?0c3 z96Y&`I6$lbuSNLQ7#Ie0^KX-6Oa&?PJ(4a4c-_$J-6{Vi!Na9ZcolbF__kVe*sJ2h z@ETf(^8llQ91xn0RFCb}Qs@JCm?B?(A&GJLfVp=Q8Yw9Br`2CQnyI~p2* zA5ytWxAf!*)X3?I-q)@7AAK^AqY9H%c3xXZ>dK1^|1;IONV9YxqS$by%rSAbl07=s zZ8^$34&d|!$@Ta8PA0N4oJsNYv&zT;>SvuiB+?XPwHT%- zRtp|RYLSY2A_Xo2O~TruvdF>(D&03Lhw854J-TKkxcU*1UPVZx{W}@P1A0Q30aO~_ z)~n{LgQ=`PO%Uh;u2c~;FE++3CsBI}S}ra*rRfpI*5WZ4ef>c=L0gg@+Q_6vSdv%x zPOH<6+FT|~5Nh5+r=|W`+>bE8BcyjK#TnpRcde)h6IFJNOJth@D}jKW=*cDYd*r!F zct++8ZSSHSqml3v=@l2+o=~;~+64syJ!1P>n!e0=iE0_i1ogQ|x?Ps^G%}_@CNpg* z%rCj$dep|$DK+M;aKL3^znWNL68GM-7;p8=uKiUv36mu1H+y9Fq6QRe*|w6cq(1(0 zO!0z~XkBrwR&yVuKCA0bw^R4HoR97YTH!Ekb;ozGIgMb^NJ*<3E8CD{rRle~{BX_R zTA?hkp1QagM{AYQMrC7TWn)!mSjP-&aKsNK4}N;r|DeC4wUtVJv%Xpy)z`|?Tf33p z+5{IdH1b0LyKNYt*%X}6BWtuyEe;|B`dCx*V@pY~@*!-8trcUXv%0yWX44wmV@_>< z4hEgrd2o*G)cx=+#N)*Op7bo{_YvQ7?2%f`RHLWQnQE9cU!FW$RX!DYPHQcy&O$F1U>zX+=c&nL2J=9K&!{jCy{T9F}c;wF4vz6%CQ!`&{TmNp; zwH~gh!Fl?W|E|@uO5&pF;*ALAJh$jpy6E+lJjL?;i{4mW{{pSv$fK%_)i2R%DH=~Q z{ixp>-jyC{*{Gt#7jwEHjq!_i(42H2x4dRGG;DPYaG~>;4PJ$L<{4d#X8Cu-*gI%C zh|10<{=?pfMYnc7$T$_2wQIXbdFc(lp4s3BjBvYaMBANg0dNYSFO-d`VIJ!e;iRq z5hPG^aU{qZMyzkgc=Bx75^+{iG*UWhxJgP)Ct?v$tEfU!)ePFChZkh8sa4TCaaEko=f>90j?jk(6R-2vZaCA9(UMb0r!wAckO zOfqg{=Obo}z*{7m1jB5!1BSap~n z-p1p)Nk6hukx5>8%1{Y{&u5L%7ayDDC4CB2nJ^v{TDO$?lVr^LJ~ZI(KtFqBqtwY6 zP#z=enNkGUi95aUDoLm2hk40y!6JlUDua5gvN-KQ#Hz5@y&9x*nHOrp>0%OvL^HHd z5bFjl!`nsJuH5la?gwH8%cpR@JfW7zwIfxoZ&J{R=sF$&pX-iVlP+r!`z_cI^_(RH z5HyO|v1}Aw0q5#PNiv&b1p$|YSFDR=Ju-Re-K5i)oC|@Nnfbh_aponvMoe;N<>a)% z;xakSfO&J-1uOxawR!iii0~d|QQm_qQ9gzdlF=|t)@{ay^x`YIGgvft)nwu%Hu_|e zZC^XvwrA|_ONM83$E;lgx*f}L!77ar7)5mvqSMY1B5<; zKr=!e!ixG&fBNxz{PXR~hpm;$!zk%WrZ#4RGjMAQ|66ghnoN*q)aE<|pJ(eU+r}z= zt$rrYm3`#6H3V`R41oH6n?$hfk^=ncla&uopK@E)Nwd+~^j9{VhODegTbkUK)e5wy z^l;Q2YWu!#Aa~P$o~{E5hvzS*H+$1+_Q^h+%edLpXl1Zag<7SNO>AWJG(A-OL2~*H zQf;i{H)dmHMq^sJjX|9=P;Pt+tMfV-01-ih)>GtQ(YGdwjg^iNMQ01gv5+WMJ6nb- z;JEswsA6MvYbsT=^gU+?6cro;~fn??MdE^z2XZArR%LwcY$B)uW$ZJS0` z$PtFh_FkT|@2fLT&gTC>A6?us#MDo>5rvKP0hb2|fl!@+D_b>M!uXD4s25~NCB;VW zru(xa_syaeq`NTr{+#AV|9rA5GbBebm|@1;dn9wNz*|ew3v~%puK260EOE2c(^={T zS*{|G*{Eu%tN0b^e-`+O0D-L56k#cSjs27qB9v1e*gBk6h{yAG#E8z8MBrHBIZ9Ph z?kM{|-v~Mt&Q3++}s;I=xAaBLN*;c`$@qm~+HGn}c>)a{YN%kEj1Eg?YmU^4gW9<*fNRXY0g@qdbc!=YZJ2m#Jx>1-(-}!A#n<}q-Xohr;O(T)_Rt%kK znH3ijO)VrUXGd3E|9#Jc@Q(C!1`${$rIa!8RpS$C_Du2B=e|>8Hyq&)nhi!N3 zA8lABl_k|;+)LM#7QqeYC@0#qWc(t^tvxdc$xoa8sA?ky?0O`iJ;UfxK#=^H@3XK-}o z+4n}Q^;T-{l*0X}@q-S1;71=Ak_6SQRUEyFt!mS=_$jTPF-fS%mzWzyg^s4EqcI*o zScARnXqT)bsPqQ7HEzB->YhtQnXaq*j*q(k$=#r(OhqNxr}Q=Vn!<9N!&ac#CwrIy zA9kPQ2t3SE3zDh5pMGWRkuy#hIz4+|X=gra$h6vvtIR8fU4~L+?((QxPJ$+_awo{U zS4r1yT@$5zk)ZmlT%A*c*s6kzdr?<8zDs zWdLo`*5ujF3Xjd}uQ4yTpVn>WSTuNeU5fNk{Jwr4Ba`W#V%f*5?0-_BA9dx7;#~bh zBJKOxMU%Y;l&bDNG&jkdK5DT^4=1!w3nl$brQr0LOJn8og~j)~30Lf+LwbW2iefDOAGDZp(t^>0`R7s z)To?({GRRxCu8oiP&k8A)`qIJV%0`mr;zEWy)QrzThmiF- z)h1-RNly`>;5$(I=|q@WEXnnt{ec?u7CG6g#%sL>{NjXrFA0M{61W?zrgXesl6OE_ z{&Xz965Uy#=J`xI@Xyeng57 z`o5EXU&r@#eqT55qg7ejyYO~L7aP^h<5lw*CASFmP2I8bjh!SSy2^Tl`8Or&p^NHi zYLybjg$+0DNE`M<%B-hMef^pB2d5Evi7TH#F*wxqx$-P}fdYv>#95(x1)3X92y0A+ z)KmrE^lIf)>J7W4qgT3}0+W2y)9}$3$F-HRnbeD;ylI722jzvSQ%Omve>`3ETTdAL zQmj{Ihzvh7uk9DC_s2K(E2}zmZ;dkPliMEQA z6!K84BkTI19G;BT8*9tvs+qNTTpVS~n$SfpamFsBE-RfXOLFZvCCycgRR$F>=j2XN zbC@~KzN;4+q>3qO;by5QKx)WnJXWp!($*{%6js-T)iWy8eDnDv--6Sq;N+=pg{#R{ zM4N&@$R%U{FO=UXx>oh6p61!#&b}84$g7!dZ&5aSgD|1yoM4&qMjyf!`foB6un{n7 zl5<~V)+@IJI*Uw32m#W&bK}WN&Sgud;hF~TvaR)-)8mU1rHM2N=P(ZCF>tiVRKR`A zwLLS8)>vk&x6}174$yq;%GRi+R1woQktuR!{sQB7^`aB8oQ08=3{qN4PCTA~Nav3c0tC+2uf&r@CYeqpmS2nHQq`d2a1!<2qu*~cYK0RO5_Zx- z)CT2!fc99s)6PT4NsU>u?B1L4>rryG6s| za)q6qX;PdKNpvg&eY1eOH|4@US>7_`49m)#y^oFwZ`wjIv!F#*jq2`jAI?*21+?Wd zQ9b9xjm5KFYj-rKO}C2mA@0gZ%mr_T!{#T>>QHi8Tqrz%NvVMd zVDJD6Q(u{jy@8)WT^olzM0-aIstDeeIPW7!RJJad>?Dij!kl%=S)ZL# zwiT$Q76n~YLr{~t92cnay2W~QU zs?>@2r<-JW9d|k=3IBAHXpbCD;`-u9Mb~O~mYS{|a|l(H<*cKsOFQat(j=QyKT0dG z5U57^B(by2l#|JI)Vc{IYDb3bc*BG$0^oJm!C<5&T&Q3OQ~(UOL>TIiD1}WdZYo1A zl#tO!bDFNb%2iMnZdGv~`r+s%AjV-X?&gEiQ$jXnPL$7A+7xFAWgd7Hv1Lu(u5JoY z&~w^3$(0sV!aUbH7WdLZ1Xhk=-*iUTfMtP0$mhQHpX59j`xYwq$rD1aLG&fR(;Wem zMOyZ6<53&txOP?Z-<+NV`^WEI?VYnHn?m!URz3I8(N?a?faxkQK2Z@j?*jN4eJEwd zghteY{L|c3aT#Y9&_2+M)TiBhU@>9m3?VIab3H)TcsSUi%6x~|;O7fOkO)%=V8D(b9l(|!wz>kYx^ zh568HO5ot&Gh~>hTFKrE77S*W{EY<61=}QeXB9?83{yxulO()~7==%)Sn&V^ZBs}+ zR%r?h$d04pq5>;HUB;OyjMX`~MduB1#W?~_y%;m*bQS=VxqGy&1+rMa)cb5N9w(^* z(PLh8A8s2kSq{)P^GJ0=Y79h&u2Burpa#ZpTBUFqj9&gW0&&8iRSQ-nzHzZPm*2$8 zO`6*Lzva$eHh6JaK$1I)%u2cgeMRbPzxi1zPz zMxnJ4`on0{joZSA`1l5g!q*&IE@G#(iXXt5L9j4{;3P~ZW+-snq&Ky-)%A@!ewR#0%wVTs%>Zd{uTK9mYx0 z#n8t2| z1A>O;%;c_D5%{_`x%Ubwj0Ke3!g(D)U>i5+%s$NSmUTvE-nVGo_RuZ<2neV5*I|=g07O=AmnSN z;cH3IGfGW0Gf}Tsh;5yJ?Got8%@fV(+JU$21#8!~lgPjoDDf((Ju%;yuyEV2i#5Ff zx>ht>*AKL1y{LpfUa-+CIUw)8lW zR)JTj9BOM*evJ;b8^yP75J*7WYTA*JHOhWplO!~8_Hmy*ZB0v@&OS^YCvKhGJ8kB? zU`4&)^M2lSmU|K^Jc^1HoE^--WMnF^wOvlT^2M)*1fmN6-iFu@1Pf@JmRoj7`q6ZK z1nL-eoGuwcbUK+nQxy@Wb@-A;jwXknX*)V%W7@zf6*xhSSs};Ip7c_BBQ2*qTEv z$;Dr2i&OC7%7kmUf-E^?!tDq>)KSiIL{@8r)WIE`icII&nBCzlNHY3WX$<&fk28YyyY`yK;nMPX>yczdp6^;#Y#fbISFFeU#6#kA|`{`g}7-*3p2Ah1*y_)DlTlUO4F^&#v8N8R0p}TAHoP{ z#(l?~iybG$6DR&vN=fD9bKodAu3ceZyLWV*NCFaV{D_Fr9glUGU=Fm3ihVS@OH>dS zx{66zyb-=9llEh}9w3S3rDl~5w*g#$Z4F+vcVAkR7WlN^hcVrzBB6TbT@h-Ahp zZMofW+sa3@Zo(R;Bxc2p83Z|u4Mzxt+H?0Nj=E{*i9YacN2VQ6%lm#0Sj2SfFe$&k@j{XAgaUo5;%Hz4}c1Xl|H zEPWTPf<&qS0m{QZ-)2%<5TEk&*s4do-V^PQ*5#P^tCBA<@q28ORJUgK*^pzLer1c^ zwo)slLp3=2T>G2-{mmy840Sx92P$1otmIVmc2~Q}ySIrAJ`58k`(||29SjVvu*skt zhiy}5jMT0|%u;;Jv6Dv^R^h-|@Sqb*i~xeP^Zm1!I-|3gxOJ8xvcCGdMRhX8;*#WY zY09uaW=~IDL%14S9(Re@P<7|Q3NtKok=DU#@zMtLf>*N0SR3$-^6@m}pe#vTBv)fM zUzFuNDK8uP+?I<2cN&r(R7cEktB~B|CYMzFtJ2q}61v90pqwua|cZD`U zoXhVHOoOlScBqY)L~+N>H(;oHm9j;ishIwDL<^g{Cq68u>LiI~A&T5&-DghCh1E$dc#jVz4L{Y0vSKxyr4vB#~QH;Zwyo4;mw$sM8 z<4=XGoOy=^dKrw_9PQd40~!LO(JerK!`flBY?S$$Ixh)y08*@%E!6i?o;{k=w?)ErElh^}HPE2;4B28S zK`MR@Ezja2aF|rHZQz=SJb z-<4vwNQdTzPPA=G-R`gu;CAZ%P{*FOB1+A(7Cb(KF!;97(+4f1noVfeBr|w3NEF|# zfO^>M#kGiC0AHq2?95AW}8|Ctxpng2+!@6YG5`sIB^9^ddM}7;0IX*z( zrqaHnFlnk^Q>gScRiZ|FS;5oEv4MKSwp2!02*XLNSZpgiKJaE&pvf%z3!IORv6r`9 z&411Nj^q_Y00VB7yaz^tO zY!947D(th0l3gdL`F7;@R10iEN*FzHno1}wpb|)Z-eOBDX=W}qiL^T3Reu3I@~22} zN*u5`Ajc=M9A^`~UdUGj?E%S@Qb@&<6R4;Vw4V}%i{i5_+1!!-BjQ^fRr0o#x$6Ib zhp}ph6rHBE68cLcZz>cKJ1?DO;VcIS-d`vEA!B3^jIX@>ZtraGh}A|VI`i>^h~#@z zZIee&HzA|xvN~K#X5c}SE0SnhH+%v0A$Z>!PJ+=yU_4Aa&aY#jIjTqjRr8<Os*l z$5o0hzh6@YoW-n9Pr?pcc*)eL2x!iT*@1w^D#WkhXnL%u9dh`mTEZ4AnS^YpoY@lx zs16xm@$8vfNwEdBH%7kaxbsAHOPYa%e6uvOWxZ2(gpsVfz@zU-e-<)&3J}DkH)chU zn0@0S9fhbY$JUp9%~^nl6Y&rOHItTHqcb4qZ=yrjsE^x)36@iEzq<(1I6MVXS)Apq zFmJNE{yfRXI?U)4{|K6FJ6VAYEK~vV-qW(}96KHnGG(e4t2HCI7BQ`~IkCfo@mAgz z(5w*2&Y9m0lB_l*9?VG3~ObM9}m zwk5fjv^jFFYmYhuF5T*es!`*_wz`pWf}yd<2I6M%b!yD(JX=Ob*+Pv~b#Dt`XG(!m zAb*M%g@eXkDAC(gdo~`Sw~vTocb1Eb64Py{Cp|C(lAqLOIL*ze-%7i#`5KX- z87R4-ETe08bH(*87k9+z@&)vv75x!w$XPQ~>la!rc|1~Vh^U&`4Artak{o4=oKj>| zY+_*?t$e3Ab-g`}I5XGTQck9AQ!YD;tTVLUJEP%z{4ja!BNmFf3Hk11?|lDl@cQ_4 zzY$yXTA=r*?%TwZ5);aTCNGQl zT^NiUMU=1`gnpX7WAmv%8+U)=7^z~u%vj~=r|sdfnKfQU$OxH6@KDU!qp~0;s?3AK zMjolHy1d-fSH#fCIYP$x{v-RzgZRK{Hz`{covBlC;eF1OTbmrx%+Y!4Bhz*Ug z`^8h8DN?D>rx#n~chK)%jbzbJGH;8>9}9R z%jA=bXJj9esFk)|8vV%9wF=xc`iPH0z$0}(Q8z*7U2YD&dz#Gv%|^ z6?AQqyljY;d-@u>ivNuH^&-#NV%hckwjEnk(0W$b7e(;44DAebi{s8tz08uGad>-3 zw&T9`!YUXWyhEFRYyx#e`xg$<3wMm%A(}EmVmrd_C8kFi5~kXjju+JTdl0KMUb9$L zgw1C)sXE+*GYLy7k++@7>^L}8&7|4wvt%jXlSlGq; z3w=(YYm1uU8Spyq41w}aO7EvgM42J( zj7PzAI!Mb*1#{K!Prh7Xo!c*0mIyx6%gRVc1%;)go#}-Zibl>nE&LAOKkm5FF4_-D+(ZBuBl4ifP^ld)C=Fevt}{Wd#4reC6O4E3 z9EHNVQ^5vXmz#MQXPVwIZSFOv$1%N=v4R^(kUybgh@u(WD|pu`Xo7Xeppe$PoHQdy?_+Cs+h@*zvUcyu>-cT#1|=x??hd*N9JH zkJbzO-V3CFFNa8tt>SokpoO@0j)f6!8#n-l0pJpn>k(ZQD#3;a0z-I+IXjk*w&|s7 z1xwDph$hAy<|U(jL|#=s^H;G!=3!t1(`uzu@*JPWe9j5y?EHmh6ni<#1@_W4Sg$mVKeF_ekr`s*v>c6U4o8J3OjEU4iGk? zEY78zSw|){Zi@mY<|FW8%V;e#e zD7j0BlX6Rd2S`7jw$HqSJq8!s&)Y+ZCj@cR0N9W9p#hj? zOn}4*c;&Ff#U#3hR+6F8nQcz8FdKy*#(c!{BD@OT^`nV-qT<_-&$I#fZjJJVT#usn zgRpxU$|)H$(}P7{#P(^FvNkw_#ueQXGYLZwR>DCy-ljApAVLO{OPp7IZUy>j(`K@d zsJK^iw__-#BKPhTMbCb9&T+QNBU5im?_vDwSk7@epn&IGCyY9UJ?>U z1zV~h&Ye}RFL8b89L{}=WZSS(%D;H~dfPL1V?Jv)GD)C^5oXg;Mc-nZCN(~&t%)tk zS*8PAp^Nqw_xmV_LW8E952y{xC4kuH-&TSU6#Bq6*Esi4^RWF=PDF+8> zOM$T*afkRSE>|8=Qct}08Mh5Y`d64^&}1Ge8^696J-HLz^WMfP3o-Dq8(+?7p-M7} zr(w{ooB2X<@-2+<1If$b+4z*1F@s;MQ}O%J_=YyJtg=kY&%9F0PH!kIj)xU9cjKEg zIl7w!iAojKuv89hJ{86FX)WR^;zat$7L!Gs8wtcKk;DDw$vF#`Nww` zt1jlyK}8HPIW3ZoD@xu&_br)L%UnvAu=;Fi7CT015y`ZyWx_}&U`Zdg)x0ZD=(I(` zmHA4rNL`i+l4v2xcAR>X)o=AHYu{c``CwL)nXm+U!!(aqGmme|B;G%=)e=-49_331 zE0*YLNuN80XTVhRlz(6pX{!?K^m0PLNLZS9?bv-_X2GyTCiM(Y+!~>NTIxxP+6QG; zdazZ}pbdvW5{ehS3n%X<{i);uLWPJ|KCMA*{?Y+JiaM=zrt}@v@0?Fg@f?bDf72P$sQ(~(||-U z?$LnAKdX;#Yu|3H^Co0U>+9tc6~9X-K2c0j%Kycz4|1y+sOcl1vc8$at=dBGMICp% z7opl>6Bx?E7Z-ZRr~CfFiGOl_$`1O?#9^IEYarLxB61g7D=PYOz0M3Y;30G(k#wQW z8V=IDxE>GNpYGEo52!CI>tm9~7sJ{pL9T6=jCC?l+AR0`{OyOboIEgg6c_;qX|4nf3Lm5jkb+;*X@Bb%TgCrl?>yWZq+ue*%mWL*NWK7iV1fLC)tcI$&Dsyze(y$ zPAW089eRBkVYoH0{vA`KfFYT(oh?a}^?F=OPk?b2k422KTFCQ?rrxNY;Jra!Uji@^ zdDtak7L+ej!sV`Kj3h-kNnzK{xuPnfHi_87%oH+IQZQ{937+0oKuU;92}F98q#sCk z(}I(Rkc>gq$UaFYBl>eCDhF|=MJvNL$YRZ%hT{->lzg?j26*9IbUz!6&(xK_tvcHYovGck0~Wn$1gYOBL>`7H*YWfaknOdJAF$ zuWd^bTbj5pMruf8Aao21htv;aD{mHB=wQ3CVj<#%_p06QY6|aOky|MW8M^Y;lSc16 zDJNHQ$UV0jOs;)UM?gF4-kMBVwGmZ>VCB%RR*P^oskDhyfx>jU{kRiMtYe#Z&8*?b ztjUdVRv{~~h9d(JQJt=!4AhKv?ssz1eL0mz3>^%muHIw!M)X)_| zu;UM;0dY;;B-b!{!3^Y%NmU|%`g8{xCcLM$t#4U2YAY9}=NheSsR*yn5^lftdK8bvD2;7#7_h*uFq7|aT^SM&V> z{h01*nN3x)f6U6*ACBqPr@-*cDe_A3c};chZ2;E`-2per2y^P@xFjG!Gn>K-PjBPQ z%~gFf?AnQ$ZO;gpCjml3G7~TmKx4*q0tTzy^d^#YgSoshD*c@efYzW>JcvOjFZFeq zsb?A1wZzWg$8?|NCrPq&7sj3pKC{KzEKMngi;^BWvg@YAl?=$F4gxi5}bS5{K?4HRx`Bda=PFX_`DT2@O#<9nnaW11)n*bxt^`+r&!woHdi% zCKcP}>O$t?g-qt0qvP{~{q}ZZwW8~CI%0(|u2jHq_ECr#MsXF{dj*b;x6%K~?OC>0 z$!bkY_NfBdadocxgRT+0nmjB}InD0euX1>4y0B(}t`}Jtg%YjFn*KbQ*38Bhr&_a0 zFU@N>%d3KgzRrd5z;gF$bnzQelF4~;!h#)K2xKag5v5ePYt@k)&5iTBVW_W8g|fOr zNz5eGPx@?F#aqvN^>gD_x_ntR2|xrXiV2Q`{zQTdN~Tx1q%#ZIsKR#@kh3Pru!^^} z1Bb9a~gR4nwtnzp6W=_=Ycvf77{`u&U zk>)BVfFpC<%ZQfGtCK#?<<8Ptc#pE+8%M}x|47AND#OjsL{z_`9?Z(a-r?c#zJGXd z^qtzRG_9n~=&3u064sTx;!`%>-ix#2!?)*c|FnI$=b!&{VsKp@``mE2Pg1d~yaLwd z5F+R*zpSn#jvoT#EK26ZN+ky$vfl5C6SeSffe!AvAN72uWj*6e*;P-mq|c2u)vgK? z2H4soW#A=cykFdh9jm(Gh28aXz~*N(j8INUM^O|ruPx^4cSr@T*1Y24cVtO_7Jp#4 zn!M*1UL3t*hpf@MO9I3Tvqzm@%?fIw{upR&?pWsRbNljvbg&DXr*sB-l|bLP`%q%V z(}~rpeE2O%L2qB}BG*W(TJ<|xzhg)8VKrvo2u;uIA&EWlcw}5Ig;2nesC@EzW? z%C=F%wLZ+;`f?pkMxosL5{Jn}N68%Hd2An3J463j#qInpoyEkJ$_iN%f zc>Y5!*5RWnxb)Oj7s^hHeW~K99l8m17zT7eCzyIS(M(K?&|bfHlXOPKl|#Fs+}USD z-IF0)uGdRWgM9jhZlBi6ij`JTql3$o^#EBwroYD^s4P`M3+2wuV{vqClDsj09c2xF z&PCQR=z2j!A#L`qWE(d_UoP?GyY$u)5rMM<-ZJHMpCbwp{%AIo&gM3XPlCxLxcMY` zyzg-yZ_1CD*%tEe%v1@#%@=&xfMcq8Ty{W`JWQ-%I*q0tUlQ6@R;YP|x8bJ6!!(ML zWVjks@z}S&B=%?wKlgvFi)x@N@7M(%J^Hntcxbva!|no~v?SD26VQ}P|~ zpX9C5E;#2uaC~nK|BY2<47%ery(93Ru2Rn5&VZJeup*s@-?}I@l_#C^&2vX-HYpr` z-4brl^rPb9iy4M!{E20V@u93iD>5S~Rf5W>XI9wjU)y|y$KAVKMU8YQLP}8-oJFL| z>F)%49E~x5Mk*N5On>~Tu8vufdQ#3X^NtASj>hRsSwK3WE()N$+>L9jSCgYh+0WO! z>eN{%nIZ>Vat3QA;$<#RHgETVzNxOUrTb6ln+14b=ad^nlE(5dv0%@p#Z@U3A6F+|Bfvkf-6Ky&2Xqf^^i2EE^eaKovb%uiJ;O z{Ihfa;ONzHLh;pPXHJgdB0G@NF(dnQ6ZeNWowg_rx)?w{p@^Vl!gibm#qMRyWwspN z8Kbf@7{hZHhL__gPC&ws6mjfzyL{iMirXaZNTPI@H5tT^=?M*u&X0S6ns-Bi)8|gr zTxD&lvRjz8ROhAk1x%?<)ADjgQrXJVOXx0G!d-(fbVodBqw;M~v2a^TajM%O&3k0? zs(Ci$M4FOVoll5ywN?M?k)D=dKPz5sgS}y~H=|SnVAnUC-A#EK#h4QQV+MP}XrgoH z@LN!BMiWDdvW_?@-@U#HndGmWTb^Rj@j$_2ZlQMOBwW?Z1gy=)Vw4aN@m0``fCsVu z$HAp@OX7i(LIp1|xpKwGwsz1U0$zQ)yMvp+LHwcOnY?@aRW6i7Ry=n2&OQlVR}Biiu=yC#%we*%;=xRI-N1CIkp48~Bw1EyHzrMldeho!Dg zSI1?Q*n=^p)^PDMV7>qwZ?-^4sb~xAGhO3Q)j_v?O7$`uVGb5`ov|hk>3b|Wq2=CN zX+Hdbr%j_PV`lE#?vO8z84EOdipH;Z6275DlRJSC@+WD}9eu%b~&2%wN) z#O5n9F(N<=QKlp|lW4$HVc-QXex^Jr;fGE*mQ8_k?7+GhgqU9mo_%<_Rmc1`eZKgZ z@FfG$cciDMj4)kvT`Ce$I}^?^ZVRXWkDOh0qjgr{g{CWal!2OvKZvyWt|rkan#DY|t1c-$#vAG>XO-0eQ7lSj$SSU)2`(#2uT@o0 z#7J*NJnK2uV|mxdd<3v~K$7iuHMTHc5Z>HOl{=FlzN+&z+=BC}(&3b2U%q)agQvMHhLTGYrpUi$sX$v(V3 zKi+R{`QPp>E^~P7zdWmCuBZVn;v-A&WuE6wgm|D%l@pA%&pN=b6P-`_K5pfc0s@tD z35HG~q-OYiM&yOMp!8R$=`wRtmwhYeOcF+y9v%pB3I*Q05{JixBox1Li*0Qh7Vw5X z_?`{zlp^NI(W5Y)S~f&s7Aa;BXqO$Y3~}kvHo{j!pyw`D8D3$%a+;xNHjVqh=TvSm zBb^y9G)`s_D+k^=`MFU(;;o|Fr+kl+Zo^u(!p=26gYR+m9Gw=^gC#1Wxkxu zljpqxrZgJ?1q^OLEl6QwRnj7P6G8%JjGAEDG&D&JZe*+qVqb-MBu%(} zQXRz|rf~$z^*IYv1X~|x0_j9!ymQ;EM|tw7UJhb39@Mf>tS-w?**!M$nYV^K!o4wy5E6F=;G-tmEVL^iIn8_rmr*(q4#jcW1cA`4> z25_uuyEi_?acpwG;AIHFk#UQnM0a?wZ8p3>gKJNwPvSsG3^d}d4SUFGGQWxpA9AN* ztvxhu5NUkqbha)UNj}oeEj0n#0;^sZtBBVyKh2G&o;+y<@^?$`ZF?_Yo^EZj@u89W zcy%;`*1O0+@jSt;OR&5TkI4red5)%xaJtSkUd61KTV(u#IPW zU{5yWQ7bC|xd#?ux)DH)6L8Q-1Kw=7q^8Ay1^lrV2di1Zs$vAXa7ILY{LqLgqAc%< zDp2(`Y-F?)$$l?dzP3|nO_c71B-LaOmsoZ63 z(0BE+j+yKy>Kv<1T?ic@$fCg;@|FT;r@7}!snI9u1Va{8WnCn2iu54`nZcXLCO#Dl zqvDj?(}z~{7M4=(3fMn&!<7^u)I%wsYRt<1Bvj@HORGYG-mq07qskBf?WXLrNbj&# zlj$S=%J-`noatJb;}6!mS~0J%0oCvg^Jb)-!~7G2dlhh(H#pT_?XsHFSJ^s?byWbG z-Naor=_UTcP72f|`lx!Q3}2K*ZBl;#=pX&fI3AM)?#YPO{AjRC+Z<#g0b{N58fGs(Ei1uC*)zMOn+aM-{k{Yn&24f_OdPyx? z)=-JJd7R5W5o%swnyOxa%E$Z;8Yl-f8?QgcMDAKsFDv~6c6P>EMag?)-%1NbJC?SGCC6J~}`B$=e|tLj*XKf z6i~vk5xRS+PDoeKI&Qa$J`8DA%XrFB)xW%&YJ9y5X_|-Q=?xK2-SZAZe2TY3#FmdJ zNUuG&-HtloT4|}Hx4A)3uw(3vjO<4eSd;8%Wjru6?Z4|pZ4ZN>Zn0oDy-*Rc4u{aZ*#)CfvSkIYc8Bg&T)Q002@I-Yf-e_+1j&UCQ7&42wX z0N`Ivf{Sfcy1BKroz*`*ul0D#BgX|sKhZt+-plr@y|;(w-p}78J$=6IJ^dBSY_@>F zC*dV*-{C}>WiwmS(i3M(pd))n#~3A%X~}zg^paUsYK-UPHKm0L=up!xWG0VQS>=L3 zn>7mMY``T|*IbBk-2i^0Q%S>;rIZTdX&Ch1g+#`xuwhw4Q*lCKYCX#GgZ*5QQ!36d zv!|OEP#7Ubcuua~yB-BHq1#Z+Hl;GD=P!mL$j({xt;s=KM(o`&MPlXQZ0NA=2I}+yyZ4 zEn0jeg3yo`mCQrkG|SXEk#{DhSF>ikw_EEeF<*^=oUtEwFtagg9H4*9Ms#77VAat8 zD|pt6Y(#Imgcxs9TT8Z_Sa4Djt`+D^Z>*NXu4EsAa22 ztYvGN2v_Io7AQpnGTBO~(k85|@}| zAQWA8I$M4s&iax;3xOJkq%+qRIihbIkvA35?94k$?bM$}VP1b`PwUQWPaWl~1)Z#A ztBk=`O`mN(iWIkWtE z*~^_+OA4a}5SnE#i*bq^?2{oh75;Hcv=-vIp9`nhTIOuWn_zM+E@=)Jpi`9+&`i$W zVFVnL?mprg6l~R3fy^kJIs>1TH8_cJkKG0B7;&k^#_O^b!cX>nEUc2nDEEo#SWnWy zU>rE>iiwY25)y^oO4xJLG|C93Im^6@YF|HRDf^ z9M;7vYdTVwOXbAaHr}tP7vcLtG z3*^OuNhDVK0Ff@O}`3 z4VVoo@Np+gSZnIr_}{==|EC?$zm1chlDlc_VLXbO-yQvRtTMal2P(IlWmriSH?Kxf zR=(_+#`Jl{yaSDePBa!c(wIKeXmr{vB^kn2?5kXyZW;$i9#S~z;*@^C5S4x0bpazN z9{r9SrJ@}AL%J>7blwDbg@AIHAENPRm7D;bXwv0gcyR}I=cxpe2d?BFk_ZlKU5+SL z`{Ksy(J?1|py~MK@wV4~2OZ$UUGF)roYPUM2D!aRUp}uPf;cmqD4mCHbkym)Vvi5z zpa~c6pJ(akeFQ=m(&jAAy^?WBWET&WCURUZZzA<;Z4|zj3yQ3B``%iA6pwU5+&?$P z$~{g+Wu(c%msdf|`G`Tv1CbJV$DfdJ#aDBICtP)~8lq-xe!7*7LaOy^3j@`zqe{W+Q!*fJrxUjXf}c$uvzwwiV7^h^jSgEPR?gYW}J{AoRPH`n{3* zy(zy})6$I|=E?p>OD}gjiSg%3hwxGP+no{$Y5usmPqhVuGhc+0FqJ!01smZ=O$k8V z78E*8-xv@mNP@tc$0q6QxH?I%4%v+`RS>i_5tf=OKv3^}ys-g`p)RoC*p^CblzVn7 zC()ulOEu@dTPh|2sEfBV>blx~w84d5rR*)SnN)SI9YJ&o7&Hr-pX??dNBDW7^RP-Z zAoEC)KNqt^%qAExn~FSl=`%P!t!r2z+@iJZB&H=|?D|^u6q^^zp?+nga@3Dj9V~vu z;>@y&F^>J*fAQ0K+h|^m4+EdVNzxHE1F10fZ_oXc)8p4K4$jYZtO7VKY$|HnFEH;0 zh|!m$?5o}&xTFN7-@ft*k@Ke{eIj5I&Nv|i$mx?l5jjtrIVtW_0BVF>sA~|)gRXQ9>`Z0MJ^V7P@4#SdPEs+o7>Fh%8SH$bG<4i&jJh#@Oh|`M42_tx) zr?U@MBUL(8HyiVvkJBpV_g3}^j2Pmh>thg;I-EKLPxX^|1P_txKv)K9;NCBL>-=bWps>kR-sC^e_OTIGq22DP_PLQ-Z)=XsX8!2zSN>sE4bdI8pWC7Q5^5Iec0MG}IuLd7rBf;c{z8_41V*#!u#xtG{$8TKma5*v?!&5h${HXMo?%Ko zdMAKOkHhmY6&+`JGt!r#k06;NZg+;)NQ)q7&*56~6$K{f5ni|eeIO~C z&&-!$FhJ|LF<>SDL>BQvT@|=5;YtNBXul5?-#dMM;(yov$%il7YMn__0D|rWc)sgB z;pGIlIFIn|5j<+68mOyiSwh7u4lY9h!8*Fp6QV^MI?gtHo!7PY(aXH9ePi?tW9q{Z zo$D#wH{GI~humgM6=mR|_JL*iZ;!q^I{x8^BvT`kROb2$Y=i#+0#@W)O^C0mmswS4 z73PsMcJ)U@nDD-1Q0BXze>Ih_v{d3_*j`n>%R*H@qnVL0KOrOiP1ph8&=<2+HSvr3 zloSy&KE0PS5ArAhXj7V7VEPww9*OH$xq|o^ zw*qA_@L!mbs_!#_8h=z}CUFjl zY4NbW*434Mmx711Jcup_AmwA&=*#wtx395ToKZ10m)qa_`)^NA+ehalM=4D4R*W(=y5k+s~BQz%mB%U2ryae^gW1GLNxLGE>enTfgGq>8e*O zvP*YckqJQ|gs`KR35FgecgaL!P(6);E9Me%6g3dYV8yB^RD_#975E<+PC zJ)-8MKH9a>*LFDxhB*+56;CywtFS*>Vn7Vg22@uO0cS$u>wta2cyd3q6XLw0Cgl0L zkDy?o0;C+p2ZzdEBCI5KT+m{0d=j8oti%dj*Sr$>hrQFIgQM5m9)i}#>M_)j;wj|b=e+4@*k?^mTptDl zvZ+xnK{Bzf(M~sbUrwUg*toDhjrHVeCc1FWxY!lvBfW zz+HLfF{vubeAD-R?NU~E;Bg+nP*V4*(-3G~AqNjqs`vzx{;KqTuIttpO_t&_8du%K zgOOK-c!llDXIn>J4SYHcgGo1fKXMWRJ|cfhKK13?AD`2r69>*3tC>snrhskeYd#(f z$tGDss=B<$XHF|AS;zrG3M`xnRRI`XC!EvYw5*kF(kQa1F_I>7=}H&Ry`eR~0xSeU zUv4M5cu^j{%LN0{LBDsyZ-R?HMtEh*a@>J2jd&wY22IJ9keaeeDsDyJY;T&2$=yo) zoK1;IVpoEpSaxzsxi~;omwlA9#q1c`MIQS%;>3xe(cx{ejlCnAs3ohIETw-r;bfhB zJ*b=3)b0u#(PW|Lvhr={oRSBaDLdWC7SFs=^GQ72!&|guq2Y*D9Z<&zw!DDyoNxUn1Yq>?wU4GNL$y)Xju#S;Yc3Wf{=&ayju zV^PjS+4m*dR`eb8kMIM1lv(6NOB1makt^DmjGZ0HfiE5w1w*7*dA*|*6N!JL@A?K} z`K`iKl_T6JBp1@rn{=}VNotJb8pTueqA{b~Ka9ATcR(GhV8ysCaKjrdq>2jc6la2> zRY82!Gc=cMeRt;Cxjvycnf;g;+-%%M`eew6C$1%|DVnLEC}n)J8N-A} zVk<;8ZMvdr(j;X`(9{(tx$C)j%bm93QbolR$&%9=W3~sLD;b`5`fd88`!RVUrKIZGoGUSAmq&Wxpgx zv@bRlvy8()QS}nr3(p|$aGgOEhvf`)+iF1(y~6IAU0-3&Atjx?-QRDYouT3NZ-2QD z52n_rKdU#_#Kd-#lUZH*)JkqnQZOl=qs;fVPsG|F)>Skt;n$%)j=R=tB!r(X3QH=$H8x`yo% z&6gp%mtXaJ0RI*6chJsWMDY}hzu6<)10!iRYR!#Cv+BJ)+vB*J)%)u5_itD@tzSL2 zo^=QP3;P*7xC}@3GxV3>ljKnelHJN~T}Ow{K{nF` zbm%5)dP(e(!!N0NL_p;7j69#8>wuYk8;BgCmdE2L{&}PID;jBfKeryE_a_}?MKYY7 zDLfs4w38gRN*&OV;HGs)R)%Xn7xcB67)TUhj0;fNa;X^K-$Ex+T%jtuPwM!IyBCl0 zjutCRGaoqB@;K!iNThMAN7`TUUo4GFxUjOIJW3_H(Zf=wcR%yUbjpvs!KM3^9$%9G zEq{pdh|HM1GEi03+h~D~^VMKh;^Y{$=kOF;2Sn(s$^w;6ZC5ef7wJ+844rHOqO5w~ z9iI4SKfUo!PTQ{zegv>_{j0c&$zDB8*J5IzMyQoTkf>?@fc;;%fDRef3H)+Hau>%6 zs>9340jwnJq_7xXlph@-?{v>%D%M;aYXHww2?eZi^oEL+(y{H=`bR3X{aXLnNp9eZ zrXm!?;+s~I0g@ADe{rc#l`7v&#Wo93@Z{bHqf$mMuOwP>a*y-XsQZD=790UuzHguG zo$r6^4)jl5WnJV3Ycu zl-{c9+EFo=OWli#dZ2PxjPh#hO)#b=5T1tsBqTa zx4E>*qEmUdZ+){woVmpTd8Wm9X=G`}Ti^hgiwEmm6mA}@3|``9z>yss9h^g(z@)xy z@4YPBsVY9(0WzEqb%0FlbHuvEoQKLOGVb?yqC#wQ`i3FP%ium|#^Bv&%w#yP+k>8e z%4wVO&YV59UzumlC`E_f9K1j1A+mj%Px-A6rkPWpW)8BpQ#W$41sLBcox##Y%q&>4 z?d4p86AK?f_hxh-$2LYyYl5Onf^~DFVJD?gcHgiiW-vAxsvOQ z^K>{XGe)vWFVfv6jvSaPw(_R714pxxKZ3ezWNO`!XILtOiL^pz4&HUW&Q-|hkSyr9 z#&3a)B~{vqE0g7IP*X&uH8Ef_Vd24wU-PCp>3n7caN5b+jDB73jb*$)5Xx0V1~$!d z*3fvwG{88?gO;2y=cGuSO$Ve?{(sj3d{h`NYIK$pm+F4ESbm-M@;NhYbB(%u)yW;;5E1O|NK z*DB^*N^;Z^H7%V)0&694ECi&YBl30jy0nmo#quP)?2`I(guT3W%#GjDEebB0#c}|T zemRkliHL%AZn5PH)oC_NQ>o!l;JE=ujXKTySPIbofl>xtIsCxF;xZCr3QwnfA7^JIS>w^(@h_7?m}omA;CV-3)DNd#C%~ia{;kkVeuDMog&-kFwii%0?;8 zFOe`tEMiHH7`7BEvtZhCmK02G63W=l^qC$JUua13KDnuKK{`pz zE}K=aA*Z@mjg)}lh)!^=~{$>2tLfe=F&qoK!Wxd!z*#mzF^`;tm-ti=afI3kMBxn*qM z9|rMtlJAe;CofcfWT*{g03YG#UAc6!ce>}Fou9tlKljfL{%>23Oz6(p_iCm~6L(Me z-^z;Bk6;@0k;zuPnjC$n)n!g@S$}`znO*(b`=8{eUYAM~!L-XsJ;t3)AuF!jOuz=% zgr3QYsQ_0pHKjRKAQj4*Pog>@XQm&Ibl*9jIeqLgP@l5HVkEnqA)>Ky6)WAQ;j438 z#GzHY{3|#tgHY=JjYO3*U*=!oBL(s#E@MtjB{Rvkp_RKIC^Pg!JW?2raoNR2O5fxf zYq`LU?rfVds{%GUxZzBXye?JRC)Saq262mkP8W5EzaR+Y#sOwYd4DB|m&Se08fmmn zX^_y7>)18w-nXF~=b;NdLhc7{5n0`WOBB;9Sdn0Hy}y&>9WkoviwzvyrAm*N~4H^j!6YkBgML-r0&azwo5tK zlkkT`&{BDH8efv=ESE$F(3~!AP|Dph@3j81nRk+&{aa<;Y1}pK&Q8{9rc=*YuFb5E zH1VeL#X@Fjcak2+#=R|p)3@rENEC@(l_AaR zm>rf#aa66g<;P@-Jju8Wr&!LwjC%Iq)cRaLh9J+WTG2@o z65#iCHBT@D!jsG8#7%?IL=-3AWubt`vt+IyJ08i1vvNfuQ4PHS3>;LY)W<|Y;WaQf zHbq>rnpLKqvt~aJdS0#Ol777Rfl9?$B~K+j#k{#xE$yGFr#r~j3(aGU?VQ!wT;Ge1 zqLH5Brshzkt|he-M~lwU4phN;XNgrL`Kg={wq}gX3yz6YrZbMH!@#GgUi6Ic=Q|(# zZ+JF%?y=vwM}FrX_cad`JCF17QC>O1n@RCD??i6iX|_Gjsm;ajWs={O@P@*yn%kx&Cql_{$OCFGqks?-Afk0Txa_<>6o*;>DnK z;-kFS{33z*2UET~L4}3ofl-&`AYDBfB#K53Z_<^>%=Gr_RmvE-mXBdR=O zX%U?_W1f*DC_H*^P0hwqf#!~b%yN!7c35?wiFmmyG_xm`s}%Z_jz^~-_RX$*Zq&GV zdcis8KR=wEhd(#Ip_E=5$(5OUg7meSdj0Hr3_4?>SU#po1yR}KOpV5J=$|JSN>cEm zA}9%5qzi^909VI0bG_tTGS3#%PLegtGv0~|K8Z%M0RDyJ^i@2yGfLm(Q_Txgx3Tqa z6O6x-y}i2Fcq#O|>^vP+$sv+|j{yA@l^%iF(Ia)-N}TYHdLGqib~H^m>c|_E*yRUkp%C`Nmo!W zT$P}^m?dF1$*7=)POL5`;$N}-bVNvQJbt0;c@6%w`20Yc0`)GX;}`Ye;@b{DtnX;@ zTzV|2tKM%p7FY?t=v_l^9GPWdNmOceC^RSz{;$GB_TKx?iVVGn>^SZm{Sxi*Zy)VZ zB(@{^B=;IEi0t?hjPWPkX!Iqn;y*gBqDUOYZ7=)z5;F0>B4pxANW_~w15!R)d>ir4Sf2KvLF zJb9es|L5ixQKVZfi+5GQMo@{=J z|M(1_`~BVsuZMrVzwhrKzj4&q`Ts$nx*W0 z_9M_zyR}JpS&PF|hs4ZdJqtf{!g1=Ex&SG$C($7UGJO}suF1|0NK02xsINt*b_u*Rl0HA=&fnq~}jaug`m(3S+VoMRwK ztq0o4;6~p&M3>p2;vw0A1JLa+x}g4drV(e21b`~e3!!Y*pYT0;!ziA5!d!I1&RL8= zBVv+Jbc+%bB*_F`h8O*Sz(f=8?Zs>~oq6M+a~)i2L*x}{YG@&?MZFp#Mh?zG=j23d zU*-Fulso96(2jM~+tk&q&{NX+C{&FSU0zM6<9K_0oo{O;GYxd7J_@Jn@uWjrH}rWO z{;O})nw#tVex2G6fr%w@y(r1|bPz*OT2pyJYNl3nq^ju@z|?MS~>} zX7)FjVr*n;CV+PbacWnMVI|fE!A+Fjpol$>f5f>%Ulz>8KMnI)8tFNzl${a-YF_Kk$ zkyYw-@?4OEly9f)M#KIHGaQg@rc7a%oo?Uf4F(xDe5>rZs~|dZs#MK}J=8bQ*s);0 z-ZGnE#Q8`PW&Un=L%k3GQBJ<9B78-zQG~7!U#oh_BXU;KKkiD{u3c+E4P49%YtRL8 zW)mzj@SVQlB&VvT4N+lye>Q@RybE8LNzJCA@0ZK!x$jphM&WmTyi+txm!`*j?{7&Q zRiz44)HPqW_YeJ}y*F+DnUbc_U4_+O#PxT93l#5gxFb>;Cug|~D zf{^FA5YB%(X&3B;E}9QxK`$~8Rw*Gm1&)Jg5b~nx2t&ib?`Slj;{YV5VH%8JFu>c0 zL4E>p1!SDZvg%Y{_I+vuT0MMu=AX9rULGGE{zNTTyz|pG^l=ZC$E(A=*M5^9YnLFa zUmgivY$%0&A*RcqCvrO}IsFEhB8pxm=?2N|M>RX}tLmX;T4(&@$fMPj4yOh(uRARh zFa)rJuCZ{a-(w}dBz`n4Qy1t7VlGLirD8?73LC|-7-g|XV>-ge>_8O9A#o>Mn9^x- zVWYEHjL?LrDR(Hj(5?)CU+f8za(q@(_tzVTq!`yDE*)G5~# zCiuS&{rmTgV&zJ8g-T4q9#9yvU8*gK)Ua*+UctqS*`b{HS9Y;)TxJ}_euREx=xG)G z*T2xX7HUy4@K?vDetU2KTmSHQfA7%86uSkkg!Ch_MC4A z>4qJ=J*0e4AxAD&SfO%Xf9;jaFYzhO#`k-NZ`);j15}ZelDGTc?j0QQTY`lFDi*)t z0!PO$VMUdVD)jQr!O_8+JuKAT|Bee8oI;QB`}V%yK0Ggv=-lIqG!{9;3FORi|Tbk*U)9o_K%4*90Ebo*OPMlM`*Zw zkN#F@vdG4D?7uiT+B^M8S5*%Xnrs)iCa|o~BOnX~KU$yOn)%BgBZ;S&%mutv`z79* z?2EYJk7dL4a03HAf&u`&1Jd)A{ROyBH%wR#cDggrH_G>8-+)|3K$Rp3sMiYycsIrh z*TPg~MmP8&*HJDpDfq`9JpV||c;}D5e+X-}%x^2`hSYEP9Eqb%`AKkqbob9;B>+cx z+16lSS>WKzPz@7hFt(VxD+uG|Ky?ux*kS4|(7da+#rv8>>o|H#V91>ZJJ<`66geaS zBo$PoG@f~Jz zWFk^rl57W*9~BdAiFY@~dy!myJ8hr8Jw5XGUcNkSpPf1ScYeCJe{L4blzDY}{9r13iX3@wzu%J>B>OSoeE&QDZ14Ll4*3-TJ3l@Z zEVju8iVKcI%$Pz5kBm@-UktrL!;1@>?QfCifCQCA2!*tSfv^tFP?9CCPmdB|aFd?uD(#oA+nDY3tbO`@+iSo;^s8@=&(8fHK)Qu_ zg5`UP|9;#4(LZ^6+V)Ccm0Sh9(ua};fTnrB7fk)ZH1avyXG{~DNI{q3)JN?(8iF>+hVj{}&^^%WBTU;yb!f9Cw0Iubcy}I5uEJ1BkN!t}{1)ag&lIl@P8 zq{R<)znawWbzxfJKXb`n9j(&&z;OT~8yeR^M#8hWlWsUsoJnLj7N^$emD!@aPO5PU zM@uev@+lt7psj@vODh35cpp_b3&aQg&(FBS$_o(B^Hci#c`wR7vBl6%!sl5IRlK}aC&f#qJBk1*v~^X{jGXxq&&!~8($ok zUtkN#DD+xA!t53P>w`BZpk==}e)*Fa1C??wKlOTCw9a80QkTaU%5LZVnI1lHN^vgGF$sOpG?5Q6LE#q!W>_w>z(uZ|!-f zcUgP>!B3Y=V2sRnaXtjQoLQgj*Ji~`O)8O8!D}!rZr1l~dMh^C2=JyT{ z_ReH$RJ)Rv!_KC2too1W;D(Pp5 zC(Gysz4*p^v-hK~XY0)9hYj)P#Kxqpl4Mz;17)~J`P#h;TPbULY~IsOyx9m1TUwxl z-4V|p`5jHlf~uaJpbZ?m(esTQf_?JFH%fjDQM3=BFtMu zVa~^|<+M3f-3<@Fb7{wbAvRfr3_ExJcni)gkzLyZ$6Fqzee?R=tte(joqJyFOWvq%Q)mP|pf#zfb2GH@?=AA|Ene zXy@Q^bvAbtjwBbLXpYjmRTr&N7>biLIt(V)c(9fP>ItSuz#uZKh_dof(NPF&Txryn znMRaADD4NMkqv^PX(*Z!ZEJ?{CwalDq!ACZ_-Ks@<6SuE_ip_DzyQt$PV#b{9G{^X z%VG0OHhFb`nX)8}0crgY-r@PNf7WJ8Bu6#Ug`J7(HJAnipHj?}2bk02au{FsyH&4V zuUD+MWqtz+g^#fWd#A6@d>8NY*wTT`LNCLmUR$~mU#`KmaX-+IG6G+=0MCfM#awlQcqdXG6zT3 zmFv#Sua%W-o65>-MM}b-K{%3X-Xn~G`l+=vCf!2-`!jM}G@AqjR; zJHLhh1yUvB5lbvY2sI7ba~l< z#s&kt!~IkH;!F=YZQpiTdQ`xqsw;HHV;w^zR@D?Lqw$o&=~>>Pz!?O| z2-H;c)?Y+{hC3-#fg=UH&6$MuLHjOU7mttaN7<(Lhv1~{h(KFpn&z>*MwRQs-77}u zW8aqL^lw)14gak)p8{7#uiY zL@{t1h4R4Qe@;S>Srl6RrqL|D zoo|;KnF^+Dw=Kmi`0I@aPxehzH(PyTBA+m$FUegXdC6uaiEIx%;+LB<>$;b`iAKgM z3In1p-4g5uY^9})YMQvC{kafGIxe3)S#eJ@nI)i)&R!kWbJR zhm+gBUSbYzI4}1_{n(H@QJ3Dmw$w{g_*5)nK@CNE_Ky9?JPkaN<#GZ#LQGc(%RHpK zs_?q7B~p{Z?zVj{JG}8~66PS${Z$Tb%` ziC)$DHm+xJRBAjA$kzfTE~(t40i^wM&h8ThW;1kOJPCK`nD$dAzQXR9q%4@o@iv?H zR|YVaGo+h07wi}%v@U#-dV3K;t-!V_Y-79^Y~w&qimR+{Th&{RTvIVYL93jU9zg;3 z(cUu2;4hBIOx0QLvJ`V$c`~Y(7aude)WPSR$kLU0ArBB%X5h-MsPvyOLc~?q1PhLr zoJpB)Gp2c!__!KD?^N&=hd6lxaiSo$H{NG zi)wPN@So~Ro8DNo@Nj#*rL)u;(%tn{U{g#mB9_kS^9JFt%N4>>wSI#E%Rqoch?5*c7Z+JgJ9&`H`SDJ?j9Ce9;NtyaK?_%|l9TsXJhp&N|Z!7IC%rLK_P=^^%T|7~1mXd}@QAYn(T|hemE-}4` z=XQK}`TiM7)IT+W8=zVsOoi;RuSg(?6zn11kFBu&b$r=Z=HMB(pXJ?8jsV*2<9joQ zAl#LKv}=NA{`5@A3G*=rI3E(&tMnk5 ztA3tUYp1F`iZ6xuP%r3Xpo>sfM_#*#HN;ng0K@(vlm4hpxWfs`UQ+T=#;2y&%MYxJ zFaCMv?b$ApKHi2G**SF&&|s2%BhhCcbz2jG9Y&Q&38}djVv7_EaXRDM{#&Hl=)e(|&^#h*y_#5N3mUxNkJLo4yB=L(UjU zCF=Ds+s-OA?pX-4-lp@rbo?gm5l+h!oia}c6BWM(at<#8)37?*w2f7upq5)vMH05t zppU4$-!#;5$9$W10Y!%f1^ym((H{c<)5kGkJlJOs#>=dw+ZCuLNG>Rq7+pKOoW^7K!Q_4x&dyK7vmMIry(27%=cPD*0hPYvgLMoil^) zQ?H@AlQ2d`Wm;e;^)ZHARIoa7cAogdr_oF)-!q1((D=39_6)=oAB`QudQou-*Si~S zq>vlA$LoCTqLKa@H#@cU8x8W62EolB9?@df;JcdsIlbY29j;)n(0>Jm8O$C&653YF z-Yz7hoRqY7@LemJhtzYoDMDn`-<9%$o5{r^uLHTc*6{8e+oO4)VCE4#A7DV3H0CF# zm?tMgmCKyzOZQiAhwro1bsSSxRz9^g9!~I5kTdu9E&X%qh=jyDYvkQrA!GK*t-_PD z0dfd^eRCem<(r!HBg;><3l-87zC7SF)YgEdSZ5?5ydVfnUjUsSgCh6geImF>IE~d@ z#A)J!1tg2#c^)MYqjHt;x=htB#!NO{er;iqB`}wB0V`pNX_U!(Q{Tlo;C}MsHuTuN zIei^kk2X^B3>-x>wmRfIY2N~?RfBz!ou}_)cj0`OG&hX4^8+?5zCD1F0fi*OYb()u zwAS`%Ru}1gNEd-=?rq65lSZXBC`z4TS1a>`|mD4p_t~}W@wxz0B($Z64k>q>l#?M&8W+c?@6$qgz*X3+76sbZHA+xMdGbYx z9w!Xf>hZgZGjE#*qSSztSNl7>PJM<3Y>)wfr#O(GfV0$AqPWR#p6YM?>B1QlDw{06 zRg#?U)-sen*Qfys3_eAtTVrS&-t^kBokIEAFDSm<^M&Rr#$Z+_M%Jp23djoI1cmPR z*mKX1ghv0nn*_?(`vc!s+wm{C=en1c;he%p$eb_x7vH{j=-ZnsHv7mI-#Kfqw6Ez~ zYNoFbB_?|O^Zi%4u&-5juxsU4--5-p=ln0x^9t->*0F3w=-%f zvn+#0<3>9J5zudjr-s(n_>aZcfl{sen?G0+xA;3B1d=IkNevZMmQSC$ZF}4T?RRk2 zSSSk*0~VO0x=JMk^@+NYxQhMV`m>3{z3&22y+v;^pjc7xD{tZ6>?yo&^z%eSB^F#e zYZWx)sM_j^){yLI>osMwzW+)zZz5jNnB_X4rM?9- z!5~Ku?OM%^AkM7~ZE3>q;UCs{>?C@USNIz<<-3;mGY4iX;o_JHJk96XZXv=G8t8x7pa=QW zi(rQkFV4-GD;*Habp-9~n2XMsZ z%R?!PL>E?A<|7sp(y9Q^1@c{I{60rnq3ELCEJ9zNle`%uLD2|t1qMLEKgEa1>}7NI zj7e>$g4@D>LdFw>tMJ6x1|?2Sk5VfwI^z*<;O(~vhl(r2&VYRDl$yKPBPBjeMBu+}3(qnWyGi_iQ`yuAW&vlP;}PAQcC zA(mk1xAiFaqvE)QACe+`98yhn!=+WyYBSMJS>qE#5u=~|v7JOwJ{ygsqoWAJ4;y+@ zeOhV1CSXz1*!o<7P~c8m^Q`1)B0AO*b%%%Fb3!n$orE}jNxLOnTTh*fJ4O0tMjP8E zRB=gnb7yT532)sB-#D$F4HHCf=C5H!s{pB!F$Gowv`G06Pl1`4(N2aq_isY!H$*h# z7axZ2z&(2+X!F~AQKgRcy~NVWrR7f&6`gJU6$EUb1Guq6z^alcCekflq&1n zUg-XO3N3BbMP$mmDcRf6*GhZR5boA1g`cy?y66KLmX5iqyhLBqH z#XT1EvDqmhZ1RkkA_HfaU3Xoi#>uCLMpDDI`WPle1I<%zK$gvL*3YQp$kDyzQ=2#I z98aC*azLzd*T_H%LTYj(uBQ!PIl^m z63BwRvq626Iah4M^!$L5iQd5O9e_)Dv%EaCKtt43K5i#UxYW`Txg9#@F)+}+67njM z`%biA8A{&-aX=fRWTO%5mu|8j-C%sGcc}%SD{p;Fd$FOdb*lU8KTM} z=P`gTJAILcHVo}kIJ+CMH@=pB@piDyZ*GYOhO8=iAN#j%ZG%J|5kR+XqK;vO2y1=G zfo~MIgo81*GX)B7e538o@38nRt{9ixsI5bXYf%%(FBhh0>+hNzo|Ko4*lxL~@8_Di ztJ377iHwxSoeeObzf%1Fh6>{{ATyO5e%iwTX-}Y|*Qmk=fJD%DPx6T77rW4j&m%}X zWVT*$2TCkI3_zVw3<{#6E(C1dK2S;cKy} z@2~d_(p&U|vFrw5`P_uI*$o*t zis-21VDvOt@IJ6T8T$(HwoVwYUT`76exN)Lz5$lE>=R_1pC6as|7L79P9(UQH8c`A zcO)>yc%ug$J&9=3Iyt$Tjd&)aGGjGH8kVG9ouM_4!wm43nNuE%Lj+_dYEh1x2C%qAEHc80;^(P&sdLJ zjfwwuEQ}$a&N*FuMO(|XIDJWPE&Mm!1M{j272+7w#I;lQ7-OOE-jY^t15pCMNbB}J z?_FWH?&nWm1K7skxhv4z(Q1zbL4pVDG2cLpC(WiE}^m>%}oE3p~x(@%_)e zzVRZG02sR;i5X8{0iQ%BEuBfRhQjY=_oGYujb9~gZ7bw)SIWz6cMO7?TyVPgd7Lc1U|DI_8%kD@{(VfS7Ntid68QJJFE zZVM{R!tp8($CC!ky56Dvi`VSPX4eCuTo|m(LHW1$1EENVaFe8lsTl(+E}l+pQ9q|8 z`SFxkc^#|8-EiJg3HU{{@h~;0*Fyn}2ehP-?Bq6=_6>~1P(PJ+FUCk;E7>1DK zrJy#6v{dsRe$ht1qS*abW@>d0wz8D5e_hsa4^n)d+XLYP(tEV@3Ki^#+%$Eb#kSop zc7Mt<=Y_A&(W1Hz^p?r-h(64^FFXd{sMO3DW#3yO$1s#=qz%`)y_)|}l7OFJ?{tm6 zDV<;5{e_OmS2sd-Ug!d49m}DEsA})utBUpzh*h>WvVHL};>jg`UCGuG&)M3M&<68G zkCvy_>8R!Xwr1sZ!ZxDcq~@T?W7FfRvF0wF#F3e_MeY(s6HSTHVPFQ$_}=irFZ*q^ zCl~6(&L^j~zi)Q@DRvd^>hotXmZw=es2<-u)(*oblF3hQ&8SbWOa7`~5t+pi)~1o~ zsWfwAm>$1r=6=b{HHAEs2g`>Hu!9pAj2ZyL6Us zTH?{LZm0Q7Eo)7)oYuM&E7q=%Y#NYl8ZxzXRy%V9>;Hr67`g)LHsG58x^bbVj_F!@ z*rR1pUFul%iid2l1xrAz2JDy9OzNxDk&qvYn88Cvspsnu?SA!0 z>ca>Innr!MMF)I%0>wJKU&LsW?5Tva!OhYew40EXxkjiYN;wyUfe)q=cteDCFL|1sDpG4~22LX2FW zPNH#K^GR8DHJzoi6W^U@>cSPA(_^ox%@W?hftT;(q9{L6wPXGd$g@#|Qs z;AQaZ9!J1yMS>b^pjUQ4A_JTda<7HmT_>kr2w_p*XfL5mcX%Rzn3>oFUQnWZ^@&t7 zwN+CU?PiHdJI%0dU&J{PH2B`4cRq;!zCiauwSq#e)iEoaiM z(;t8a;<=2$|6Q05e<(&foeYq)!;}Dwhc70hRnSwa>&RC&!x=TH;a61Aca-9<&w#dE zvZ~F5e z=@!Rq!BLM-w&RzE%wyrH`^e1Wtjy!h%wxl;`|P)uD$&Dt7t=r!$H zeS`A=_+;7~BjsSMN=*UFBDfOFs)V|7=Cu=#<{xrsynUH~KX;pxdgxWAjgN(OrSXYY zm~_iDnzjW$+X8f66FhXcqbE$6j=*5h8FqDLc?P4mF!)oz>! zK1 ze5dZOMiqNgCF0R&i!nxKSD{EKrW1S@wnCFA(W0Kmr`!aGvC7tR2Qx>LIFtL)nQ_k- zn_Vg5LH-L<`vTw`>4EvJg(mkx&%&;-QysIi5lva2w(3j@1r?wi6qJolLNah@&dB~w z0u<$JWOJM?6=+}RX-a#}_ILjj9N%F&A9A^l+KVx!&k_YSYyWN=LKMmjt{qX&Bq z_hPV_yvuHyik|zCDpvOYTWs56rCj#>PYvY2o0Wh|IsA0ySwCw@JMuwL5hS;vg+E$G zpGZgD03R~fZ-TO61nNBENa;cMM#GG3>M3ikAF15W6WOP;g`7Pk@kDEgxPOxj^QYxBr#lCxM0!b&lP>tUWtgQ zwl}6M>6MP4%Dvfd21lGg7^0vFYX$}NlaixjlH}FGzy^y+Qce7y9G!@WAqpy7WSrvv z)#%X?TcHMK@gYJ{?!V!H+x=2ROtMrXCVO+gm?kf^|gZw+E&>1IscRmDthhN|9t9ctmxCyc+#wcS6ZM-4?K2 zct+&J{LG$s)Z@``k=xw;{b>Ob5`?uwIIf*xvIf02V z>-5Q5n;2$8v2M{iRedV^A#p;?srt-H7iyd1XUqA9QkqY4W6f<_x3Caw^nXv2CHmr0FP~O?cGlZz579IxV49-h z`4UjvrtE>_*j#=FV;)gzy5#&2{g^nf@Kblq_%5mQ;S3~{4W-SAr&kAfu5(@3zVWPamJznVoCMC$c(D9Htl32 zg!k{b@4-6!-HeO#4l(AC0BM{TBH1k$sM?VH@vb#>Pkih_s8J7xajVB3*(#{RZO(>h zzdEhMJ?%8JH74vy3w>FI&(`cXvoa=Ju)9*1a~x+v8%n3c{cClMWIP(*%l2T$i3~ai zkNbIJr0-Z9QGnBN#GNcOiqr9?=Xc;&H2%BY!HzE(^cS$j_DJ8CIN~R#(@jrW;MXL6 zr_Irh4J))=tkcaC*MEQ3R?@r|xz(~R5s zlMec8+VSR#4%!X~Pyd!qp0p5svJYo28~8d8XKdnFw}{O;g{RyDGjE}|_YoY2@D8Fl zM{w-^Q-Q_3-vuoAr>eerOt~{U0)w7ew<0rd^$(){lA3jHX1aE8U%EQ2T^=>APg-y) zluoC>+BZM3{ll<_Dram0KYo)IBk|uO26v9lW7D4Nx@*NyNQ_XoAa)=fKg8l`8pSpz?S3 zXD{=@gC0yZX=E9>w@g6Ah!M@IrtEh-nfv(Y!A^4Tf`3eNGTTi%H1$AkMog!;=t2Bn z#>~*Gn%2$=W}XfhTCxJCbPSOtbXmJaLebyJyP}{B8i(fIBoXKLk9O^|DQx=Dl^ z#FB*#5J52>9Qd7n-sn3}Q_UwEk_`sn9&W?7@kd=`9=DL%o1=taWX!FtX5@bQmI{de zJ=$_Ck=FasiK8q9Q;wVsoPL6(V5dCx>sr|j5a6Xk^P(?=CCLAU#Q;Q`0sM zJzfrAZ|*M#qu|hk_f(6Yy%}GLol7@lkV02V5u;8wZ!fPkt*xKimPzxKET4`WMRpZ0 z+Vm2E2yK0F#vuthWMW%PJp(_|19xrS;GYZtoKxsL4j29&PeR zhfg1l!wIN(8Lgh$K3;y%J=gy@gG036sA{6@(tgvn+X6?rKdKkUd<=EkgDJoPZ?u1k zx+2*g$DG*Se$)CBE89Drf$KWh9Y{7BekRRt(Fi8IH7g^?9Dj$?VKI`dn(( zf&GhRzx@Nu^Xy=B8ZJL~Q9B6i*!kkx0@B8nR5x@o@~q&-*Qt zQ=@a%nZc|{5VvOZ?NP-G^2+=%StnSVp{MP3B1Uh~U1cnEO!9QI$iaFA`Z`|9yxP6S z+msVqCGXOv+76lFdj^834pp`qt42!s-PeP|UAHN$5{a6{dk&mq)zS$jY|lO*2}JAf zmZLH=>IVG@F6*4jf%LCg&jWVfL&{LIWB1V(02Nno%Mb7vYZ*14%?Xbx_{KZ9#=>54 zeSZYHnXyY@8U5pj+(CZx!>8OLl7oM;D_D7%)sE!*97N)Nl7o%Ir6y0>lyOi{Yn?({kF9=g-svSA&` z{_;+bt@_u`dv z?!a`ZyNLT}_IT9(-kSOdz3HMWaLy(3I7P5--fL!MmGIe5`SI7GVfIzW$=Ir3aRYGo zEQOZMnPc6&b4`h}8!%0m4TWazh$=SkafsQafONHe(9qosH*q^KPyZ`rezcPHQi2Sr z&GgHN1A+f2K@lqQFXapi$@jdL5tN4oWWaj+iF)PEIXiI< zL54*0WV~qadj?r>1z@`kQEJ)l5aznE<~R#Mvjaf#!&45dL;@c6A7^#0UAW*V`+9lP z^uE0kT-R>HN;sTA&aerD*YqsK;Jq`Rz1J(-~<2?-jcH^@L6w74Z%m2T9 zo$~Ov@J$IAyEPzrhDcHu z7IY}|v0xu@=YM%WuNQC2T8^_Wva*RTdVqR7kMdjD+4wn4KnEzMQHux!(?9;t??T3$ znNT0Xl~A8(vew_a@SM9UcJyG-HelbbbL~K_hxaoE6GDXogxT5)4Mlb#e)H=097pF{ zEP5iT!gfW~{|_IiU*QZd4n)>Wg@+kyP;K38DS$EGJwj~z!XsL}VYQN-6IY>pYrTOV zXW{kiai>u~4M|CrLldAR5ezG| zuh8l6G7JBYCT#^=s7em#8{jm#44p8~Px-yR9!`0JJadYIteP|XA++xxgmWjSZKj5| zf=D9|7W{!Ytj>Dn-1p{951y&#%$s<|vz|zG zV-#t1n2O`1>)8gl2WjNlI4sp`ny?SIzCxt&4r@8R!M9f{_CmObO8B*e{1wY`t%l85 z0FSQoUavspx$OZsXU?~KdpnVi%qY8XfGr_YjqoofJL(}P6g%`#0vqh;Cv_` zoL{JS3hOoFL4ITTWzuf;x3UE40GLPR^jUV-iN#+Cfz4P&$8E{Un3Z9XqAUh@=sKR@tR&pZ@A)nZW@@l^>kXE zhB9SD<*}z~0}*QoK}FiI90Zsi?}yNH96i9o zJ)SB^>;p}A&Q$@i(NC_O3*gtYwsV05cJ=$-jp^8-yG??md9&Q470k!a;###HAL8Ls z3KL!UsvI;)5pFo3{-FusNLJp%!LS{Dg9TIz4!rkUb6{knoq}fy z;~2S!?{lGBA7~?SC$U?`Z9V%bmq|6z!y}LkA_ej(aHu9WH9I|q_+)(^|N4D84Pm^_ zivu!83a?q1*!C1#(Ll;nVZL2Bel8t7jdejebXHBSLE2mSC-T7z83SMae4l0PsMSe! zLN+T>Rom#-5deLQD3JDw5wXOiPf1OQVX-D|O>$vU#%#Hu=hZ?a@sx7|j4zq->yW+6 zW{LX5n~l)L`v{_AtGE=mT!&T}hU82{ArJYM{&-z3{$cV(?A0XU8+xe+GfQS8df#;# z*`XX)E^>1w3X^0*dF@$(Io|+5T2f7q)39>|lg0puGZ8Xt=W46W;b(R~z7+g#&KP_B zUy;-ajv6Q*XdI(tnuJ~YVR~mpI%NZAdBVfBzvcRKJ@@;9mQ)~&jL2lDe!vc?^eiJ8 z%IM9Ltv+@)>ulE9SXhheFfZ;#mUFfupGy!WUqPmG*(YO!tvQ`|9wyR z9@f-ylq75K_9TGKi+8wt2$Fl6DRJ)<=0mKSL$cakyc~=BH!ZnK?}(sxuI`Od^iDFf z*;kfqB3~Bwsw9KKN?2|NDyc}uR?tH$^gAE?B1}V#gk_H^3eGgh_|6E z7~zia2Q(wtq21gy7;l8I9)F(krmY{F z^PCt}1t31+dZ?HqHX%oorfALFaU-vFs@z^4A@BFK-s;Dc=SNZX7*mQoNeS}1wDCw=u zINM3Z_QEGczeE2?)rZ;M29Vq=-M_v2G~d0h&P7U5Sb4I;4{53;my#igO|R-NI>w6H zV-Q&*6i)Yn918d-#?ZQ5Q!glWnYBB@ay zyEN&nBA*amv%VnKAAzxgyS}+6Jz73t|E0PsWONz7JzBsi6FVYF8TCUn6&?4boXkG>k+P+O;psOv*LmiUyYw8KQ^+d;H7@3Q zl7nTj6{M>DH0wD+@K|t#G@#Ix?W!DLS@Eq{GUZT~ZUtS(i@So600+ElrXrS|hZT-m zD}vS*=t)=RtZ15mU1hhlpNZ{9ClJXOfw`HHZ*4j~0>Lq4$_ww7MhaA$OPNM z>*V7eW8i<_WtdS5?LUIytHZL4kf7ob$B50eM?-2)-P!Dw)IFTR){NMwxopg+oM2*jepUWp0pfqUU{=Zxu${AmQ8#=Je)`d`)BKKQV>y2#392`7j2F5=aT|H6uUhjGbyZTdw+~J zxxz37?a+>2iN@Gq^~gN1v3<$5~OBryDm8esWOVE92AD+9CS<{3~Zu^|#zYf`a>PpVda}lBP2j{6;4X+4{=)@`Sy- zVl0|Vg^*Eon*q z>dQNCJ{->l366E<-%~nMC>{C2CE|8HD=c zDbPYQ@hlz=euP1e)JfY>uCgFY(Adpv#zKwGULZ4-iKREKJM`>nQXEzXf^ zJ)8YxkWqta@*F-lqs4dSjl_CN)+Ix%oBPL6mvWeKM!}4JQY65A+fZT>FP?7Ps>1gU z{t=sKnL_Ky#@Z>?5?p5aW$iD``BZOj)q+xf(fp|(uj4zLwSM(J`f}PVH(F10gjSCi zS4cVqCJOtm-ix0L2cnFJ%9v$05ROlHL?13s1zIzwSw2@*@q^0cN{)hc2e~oxv7C(d zXnOs9aiKnCeppTScs;Gkx^B+)S~<|(nY*jLnabxuV-2XuUcy=Oa77HR)yQsN*U3-P z;K0Q}q|=Z5>k<%79&oQoP1$pctn+F;SN^oL#AhbO(AM ztB}n%#r^g6%gSlr;pqK(DS`1NM_~B)v+FVP)BJ-ptVaF1X6vu}5`Vf2b4AkEsFDNFi~YqLQPY`FD%cs;uQmO4)WYoBQUUJA zOCS*P>h=DtZWf#8diHP|FA)nW^mOBpmoQxYo6+;?`BN{JV7q6(Z2xVXfMv{}*u`etxPlvDdxwqFZb2tkB#*ttjK zg@$I*jPJ`?oN2PA9DEW249TT^7r?=Jv)9K5mW6*O0pMUmi2PUac zgsupZQiC$1(PkXBVxg2~qA%+Jy3i@IRGOrb5PBt0(zKYzVQtLcaF615dHhhE z$P9;(ZD7XWy#^jf0uwS3OcsjasmUGMT>1o`46&nMnG`1o(V`d}LKuBS!>N%1I!(*F zE}T2Jh(W5g&p#?DE|7@Fc9wBr%GkUiPS6Vx2kT3e*us97rqPvR3Dqr2v2vtURvX!S z(BBPxID{$Rozb+TyU8HQ`?zaq^REl?b8-86*ux=>VXH{iTJj_L^s~j>JP>+iZGnK7 zNAFq{sOEiDU4f4GO0&|a;Pn@LB(#`4!vrzKv3q9wIy(Y7k#rB9A0`9^c=-BRJm0pP z+q$+F|6Z;I+Qn`+E}!!a#m-dCdovV7R1PP|TRc7-OupPoogqxJUac1`Uayy!K@UsR zAR?}t!fM$SE#5z6IA5OH>uU4!`D9g#DxL?PplaI?HG`T6U}%NbRY@=dVnlPZ7E>;< z>0UahM*A+6QA{}Gey6WQ!i^1zbcc{)vU=hFS7?X#^n8{Rh>RnSL# zbE{?DXU(o3Ydq$nt-o&jKHjWcGz<3lDc?n+f%Hp)TVHq&jD)FSoCcNq@X@aP=L$P}kI*U>U&GqSWub%R1mZ*D%b=yf==zN=)Z{?tF1l)3WZzEd5x)F@gS^8~dzjYL zpn(&;)Yxw?v)4Yzogja**d~snCknI?(oud0o8%tLDvVg`DUoe8-M)j+fR>|q5d(?$ zwXs4b-jqjwOf66Icg3;!Z%BAXBtmK71sBQem=V|gP_u(E!h|tOWkY9Aol5+mageN+ zWg0vKhS-v0f@cUBiLeK((T2LCe}kPlnFbJmBn2Ul6EqaufZ*+tAvOt=iW7CN3Hq5* zkeF-UszCyyrgc`$IgY4%2eA0Toi}jKKF}srjtXZbK_}2x0T8bSz7VWWwvug*idP~o zkkcn1L4T#x4KbJe*l&^t281KxKRon^OGyy69a30oTo`3KsbnU;(ndK8IS|c_R2grv zPk&=l?U2+$Y0lMCQwl1`Kl}G5Y{ULMfvtv-CmnlV9!3=>K&)|aCuc4*ee7SA=rVh- zFaOb6XuJYtn=SxnCBVaDR?kF1kUtlg@bs?+OG6IckNk)afBT^1Khb7SL$30n6_wEx*@WlxB|^kT!MC9~y=<`(E951>t{%hx-iWS{6rtaX)?XqG9#_yz zl>A+%%T^v_W>P6~3ZwYpDHV&@)K#)0XgDf&eX;YX_4fGpdox;~?mDQ5c0;mi|0u7q zM>Gqbow}c_*B?F@S8cC`7#)I?O5&eCx0Ms?`YM#PP4{o9^6&KBIPm8^rCoEyN#LaN z7yZuOSn!SGOHgdzDi0Et2!Cf8NxH`A6A9;f%fL&m;m3b}KRB)FS?~wcV!LjJ?hYm2gjJcl7-m_t zgs_N3H>JnRc}8sa#oq7l53nY8u!Cf#r+6NF$}f^x6zd!GK#3LqQ1NhletPVi4ZzJ+ zTO10+sm)Kd3=nD8mq z_e`j?8=9gaZi7k;n1bL@hm9{vKZ{DLII40055RfX{Fg))w7k@6$_$5ToY7qsPTz+h zplJImna}8ab`N(4LRn|3tak_pWEmLTxIZ9UorjIfUNoX@675sC2Vi0fmRTOgiSd`! z_J`yf8wUMR8Nb0;KR)zOW9+~vP{&1s3icQNKfZ)%RhA-cBSK`B9z-RoL&7@FAP-k+ zXQzp3RFajC8**Y@uvWqKVo*lSO2Uf@RQ&$U;la_{AE}mUU%>8=x}LEuATD5Q+^jzZ z*7J`UY|32{E;7iO;%SeV)*G2eup)pQ&!(W~A?!4_%%J=7pSvTF=iT@7Sd;N}e_X>Y zoK}7U55|tKEc3aB8;|o%_dh*c%>yO8stxe%(qFd~v zW%0HD-*4ZX_=kHh+K0BDvG>Dw{_)8l`1goTzd{B&((l6iG6RNc^BxBX*o)lgOa z&0Uq&Z(il!xH4hsMbKvnA{uo0Lz(Ij&-MZTl((xRh4`dg^Km48#Ghdky6z)aAt z{qbQ%3>LJ{ncP8{Ji>P%y`)}A72I($h%cFD$WDOjJ}IEW+Z6d4i=F1Xlz>dlMnQmj z?We)n6GYGofOE2fH0bmMl9kKNo?-KD6l^--9MWE)eZtg`OC({FW-hyjwE-{OYxG8y zNZxu>Cwr%R-yfWwFWz#-xaC-N-yZz{`eOUkKR(@`Q~!bS%M)Nx23Vop&jm`hLbi;W z?@>m+7zCiQ(BAi+q5`I<`FW+1N7fpCEpaLUBEAX-1CkI>T1QIRJ={pc?x2L$uC-r#O>z<7S~@!iCRXnyhN^Gg|ld&Ay4JkQ;)gHIu2jNNsS=jK)( ze*ys|a#sa5om)5hjKWRe5N^t2TcjCRQX)@ezmF<^t{{}6je=5(=DB}KA;`gz(}2^Y zX^TLHu%HB>Ptt0NFzrTDQbzHHHLL#wa^9WAyumb__-M8pP5tQNw=#yLd!7!&Kqp-D zV@W?kD;7R$VLXH6iL2>i$yi47(2!ljo~<=qUs!AJ^*-e#fdGu|!D=m}a{u zR&s+zI7XA~WWhx&Z)|%s##-R}@%ygheVty(7#PI;2V8XhBblaXC}oU@vzo)s;{zJ| zSM}(l{Y-uRBdl#0fwge8g%z1trT*hV5bZ{=~-KcK~YQnp6mbRuhTZHF%=t zI&_mJhns~Ov;i~#?uTH4p@a?3+4182>%gW^>ul8W@bbC(k>F{?Mvw}*v1h_wDGWVv zWr#(3At~V+S}>&x$Y(zF+zP(NM4}d2)Pl$Wp5Hz?-z^c7RBEJA^m3~4Msb4v!7Kme z!K+uhrRn>~;~r?6GfHF+NL|aYAOo?gNsDK=-v7?u?qk$g=IK|6i;v9q5j|wVu9s57 z!Z+&=_!pPG$8ITkWHNt=gEaO48J-l@!&7|sT60_=T?uyl?)b%ji%$(6!UN6FkagK8 zREc9@hY3~eoz2goqY5C>h~j#7=dBh@|3XqM;R`gi8YT#KYxV0$MZC!LukfKfvs|Bp z;?^j>bz19>>d_y+q#p(H2yY`^|L}B++=%dB_Ju@5;{sUIkkW6%i*Atnay$s8FdxGj zx^k{#T~0U2$t{!l5Jwt6O-35VLB|XTOzl55Q#B@&Lj3Tu(J4Ts1a{1pIb@_S*NFrm zBx975r%}m7#H7JB42scos$$*ld&d|a8Vm-Y1_guhRRF6pob)>!%Kp%Q$bV}ORn&5yBDK{^PxHyaEjA_vp- zb8C1ah^FIV>^8f#36}e?@RUNLB2GBtO7@yz2RD-qw z$UDSYy6!uytK$2ty6Nb@bj{ze=5NtOoS@o38LWnjaDoS7C^!X)qCjVPA3zj6Cc`gD(1C?P^`D)(t^j zRIRs16nOWLLJLA>0@onXpsiC!*QQ6|Wk0ZtzfmEG&*@CV!YXCCJTN)LGn@^keY|jS z+6TJNES8W49ZhS(8FcT*$`1>JuSLBYo}CiJRTuXo*0acAcE;f-H}cs>EHSH$eDn;D zqj<{4SUq{?uBe^Ms$$0JjzeMh^I{}syv^$9g|IF;4gjFy6m|?50CirR(ZU$SPT5=s*z`l`+C|mVZ!!yHBDfZ?`B3i3HMQ z(W7?t2QysU)rsw+1r3jSpvbcW+ixxS!(y#i&sj4#h!(gTrmap!y zPTaC2Lt%}`avwfuJ){&l6zho~&rbJ&-DcJ57Hbh!i}4=@4^CR_=Cz2NI@{vgGZ>UQ z=~STA&L4_#&l{w{z8!6{^~4>}=4$iZADZFMYgFwCIjxG{rC5`{{lPnhZjTyMWTl%_ zSG_s*4(b7omQSQ*NoM+o+Dx#O^S#s8?Q<+C-#kZ^(I32ZV1+lwFOT-#5DK$GQO>ZU zKh&Nvk6>g2aTAQ3+$(^??jN$#R8%|?o`c}iQIF*CgMDNwZKM&l$8RyItQQiy?`naU z8Vdg~H-&j5lHDB~BQy@U6&k0t8B}z*5Hj{L@p0j8xW0`OdQH2&W{3%dANEd<4vt=L zdm2>!KH&~Jvd#di2G;~bDulaMQ#hhw;TNTgSg34Ts5DOAJbchhp)fhh@@Ti5K_c4p zD$*I&nHZmZa79Ss_xtv_ql^m0!DOSzOL_w0bs|gPaSG<{a*huz7fyPUlVZlfy$z!s zIlIc@kpYCXXJcDX*io;vpEm(Th_j`3y1<0OG^c$!|A2awW_P7@d%QuIFyUohZ&Go0 zg&Nj-SV`@QO$iws55?MQsz}lwBsP18{9Vd_RgWi~I{f%px6bLNiyJ@hvlLzXIKNad zm|~F>g6#NFoDXfnNVd9ChKww!Qerw|Q^_e=WTc}d=^zd=N;<3=4#)HzGo6J~kPOEY zOm&S~_eey-u)BJ@b2-U5A9*Cld{ii>KHOBdT8u81iCNR0es26#)R|sPm zT=qLDJSvC;(0kBiXfPj0x7uZyWm~C+WT{TjIZAtlv31#2U%=p4?QvfF$Afe4;ON{t zZ=b&LzI}VLy80bJO|9LpzN)Rk(ltYtbZ>V5$Ez8{@ZD+qFun5cuMuxhuki0z^)==N zPJs1r@Fb|KfgYakmTJH~N(nwhTi@w14DsM)f-HWB8+R}4Mw7ri>72a7BUbJ=QO@%Y zD87+-tYgtCT%W~!qKss`{9_(^#pz=lCPc;fgy$11r0|*vgM+Ad9xy#cVX4xsd?P_k+>xk#GUKh#Igpf`suoyJE4vJQOk1J}mms zf?exgT*fy;2a+74&y4WaO{UvZITIWclbRMRsL%K5woHFHpJ1n>pO|YzZ)(hjlth~~ zt7p#b2=ug+;NBNm>V8WBL76l%0Wed0BZJkB@hX`!#}|B72R1@9|1CUtoVy>2Flo$8 zElf^D>)p?s%g&gYjINPAuxx3<*_Skl_vsoY&D>;JSLu8NU8`he#d#QuxpvM$9wiw6 zQwL9E(sr0u0bWQ9wPrE@kJ3l`{GMQ>E_R2cJtFKRBa4OBGA72bUsw1{YmQW8(gzVV z5rrlQ-myP7pVr#qD{5x_H0*lc22<+@nUMeji6l8fp45IRDUy%&ZtFZq-gqF}QR!osPHH*RP}B`s3@%xX$%JjK+hP^=NXrF6otG<-B`<@&)`0 zTPG&yk;gT9T%*TI192yjATxuy>Rufyuf6kbWqB_5hAA~R~cd; z`a#oW?WI@prxB?;Mg{|~)_-?p5JgTO0RmgebHQAUDJr@fj$>3qST^4^HAv6QoUo3u zd1uBL>u3hZG_QTCNe7@Iwk+2@J~$uTc%zU{x?w((hd8ZN7W$$X9_J>l6E=qL?4G=M zdvN$tQQ_J;@1Sc5lgh=3D<4Gi)XcK6YJ}|AqVBG@25n_6Xf=lbO$R&$EJczfN{Q-| zNfCBS&(nNW>KNLa&E}EoT6SM)nK^dsAWv*h7&?tOlT?IEt-}fH*fv@#Nq_Dt0wx@i zUaY_6y7}yNv6zSRa^IUx21IQaq0ZcftTyoQsCme-F#X9SnqYA#ysMZa>g4@*VV%L^ z(dKpjx;_SBX&sO8t`CUO#4}Jp-i1*0?Cp!g_V?{WjF6^Y7Lg6_*w5Z{TxXEPxcO_L zJ|^4caQhKV~7wVznPY%-MbT;P*4)N*^EQORAKO0`vW^*EnnL`Z`%g0hk;M zcESCgm%?1Y1g0BzR9vET^`lQ;0rlYn}IbaHd83(Z_TKnG6XHd zh8G_62$xWow%i#s4->VX^clX&NIuHx;%u%Zth?=zfr^d2A)edk?s;?IDITd`@&Ydz zi&>+f81I-b9o~&K7UztJYMg*L8luTCh$XY8FbLa@6l0$KhvbwW@F@hUKO4t*%4p~* z+Na*#kOeUqybo?-6fyO}KnEofbFJ@{;`RThp4Zm^-)bFwTsLwOy#W@rd2~TFl1Fcb7n1DMY0tFr5%~&lbuy>HTOAdCgo&6 z3r>tT0^;c$oM_1m&sWioyr7F&hhQxP)7d1%RGC4i6HPc9dE}|~Ii|uSh}G{%Q1IJ7 zo?{sOPj6lvA5t2|@5Jr#QYU7VC*qRA0KZioEG3D3*&KyOCfMBg53eL4>YNAQ;ON!y z?oBB*cH8!%b2QN@jE9-}4-@Abtgv)DhX>!csh^o<)Pkc_P)QD0qNLaxz)nUEoI0sa zMyestw)(BFgER$ebF==W-oUO)BB2y58;M!og0?ye-+T4z!MKjMEY>}p(sX6T#%eEM zLNC~bXN9`3lAg<2Z8qw|RE6*xKG<`I<`W>9rdN5RJqL{*Hv`K_U0Stt8QE>K=~(StovZ1@hq#{|o_a~DD@g~L z6)r7TOWx^lJ40}7*ujX4!R`QcZ`e3Fq1o;Oo%?HDU`VR7dK~fc787s+>A>!wJAY6Q z&pju}X`1?E49viB#yNn6-M`%O z3zghkTY#03B*z8{lTlyi6XfxF98OKy60Jb6@79u3mul`L31rd}nOw}!r$U7&H&1}O zX*{iBF2R4yBD(lw-Z}OC)8n%rc%Q!Z%uA+cd0Hc_Mq^@^pWB>nPH@}Dm51B=l z9HmM|P=P4XwF&7R^|fFAzjA%8^6FTXU`X(Z2+z=V&bbq&tf;9~5ij%X@z^Cjbg ztgqsnl*;2?>T2&%Zkj|XOC|eLQkOb1(e>OVMd?|^Yyklg<$KUH;$l?U+*qYE?wp95 zJs-~DS5`4(*0D5YDXyC*vHD4%?y7b^N$26Et9D;k;BYU=8_$6l$TLu6=X(w09*Oqh zD=oN}Rw;Q0jMxf}=dgK9n>wCE@A}>3o(pBshdBth>CT55Ik(V>gYqz)&!`iu#J`nn z)(F?ArNh(Bddf4#A#o)segah2|G+^qlHI<9o`I4U*Gq}6IJj9gTq+XTX=M>t8+bY_ z&T+KW2n;nMwaoO=n7FrMno4wwl!}#lXQfcL-=pF0fn`cbn*3e9azKW4@KF~MJn3Y6 zr3aQWR?3b<_@?eh7N*9kS%?}~6ep{SS7<>aXQ8Am^OlInZ)quu7Y#?xn%5~nC2TTY z#S3m;xAANp9o|FfU9U-MnB&!f#7Exgx9vmkiCo&kf+)}#-b~{Iu}%D~&3c4+^XMKF zB-%P9R#GdaN*TPb`lO_ddQ>W#%Czoz2h)ehSw^%gP=32U-UoQ!)Sy4s1KZE*o#TZbCpk68_!gR zp{=gCr1KShOp}VO=2&qPuQZA>#O{oRqSl+aF!jMmay~np`ubF#PjqY?KGZKb+(Ntk zS2-u^`QD3NV@q6r@Vf=+BW^6y;6fEgCEd5ZGnurxhTkB64E8%KFXxw~cyxqfqa@0_1<>n>W%kWn*!Dy|(Uu zbWTim0?aeW#za{aZ$+8xFw(iU(4_VrBmsju3AR}Gso}J@AUAIsTiqvp?_s?DOZ@1U zpT8m9jdFNA-}avV^6UEgLkleT=DvgHlDb%rlx|d4C*S!@pnT`?BLq3~l@bMcs{@>J zE#_o(JoRlP#l?@58`)%JhxTrI=)4La|Q1 zlhkjW!M9u%saIG@?f!J!Tge1JgG8slgFN@^u6<13ke@`pwx%t?_iAC70Ma~ZAze)} z*jU;Rzr?F-qX{0b05uAbJOzEKYsTJ}9?0mj*iuSVX2vW%if<7BoSxX%lx>$xy+xh! zHb;kg;B?|W#Q*&=dZ=$7n8|Z|2LEHdMmOUj$_NeksDRPRGDeXLBu{MBpyb*P0QS=N zt+Kvfav73Lm1f&hk}0s^B&t7qkU__@&50|$@4bET_UQcWwik4}-rMstpMU!*;CS!F z0m^@~X)KqD)vvsuhxbHI!b`gSkaROlktQ{vMmjE=!?Nx7$uExi7XRaY*3I*}@*t_E zHZt+(@nyf^x^xQGf!Sw5swtSQ^8(TG*?sSU?UW%^a}vg&*x~U#@^{?E=2OK#n_H^` zvXZ15sYPDB&V+;~qkYA%y>u#@wR%*lmU^kmnnTf@xgs%(v~AI#Li zJQbZP#xdY|W4t6LuHxoScbw(*UpmESV$3#IUHjs--bH5v!yHs{fzG_uZ!-H_?lxz& zCoY}N_|^>@q0JV_i*Z3-FFbA|6h(rhX&j~Q*)JDJyTsE{;LM*TWoi{EQd<>%$?=9i za6P8tDaUGRy_K{HHFqW5%Uw$b!qQL;5rA%D@QHTOuRDrr*Ml(~m#QVUD%!m}86(=d z$=Ne6VfN{{B4!uiLQ_Ju4~&lFf|}d@67;K^C8E=!Hp|(y8ryWU-AFZOMAG6siD7xJ zWK9K$HztV1$z{}_hmeDIWJ$Xm{-;N=9^mk_!ZF0wWKt>0uJ`x$D5@y4~gR? zPhsQ5%dsYza+l#Wc{Uqm%i%?&WT{wP!N%D`yf0UQxXj|T37Xv|@1xvsi%8;&B{6jm z2EO7o!O>tg9FbWi=+jvMG_b}V2QhHuz(j5$sjmXQ+pi9eK=yr5MuV(ZYi)Snl$D&e z&}?79`N=77bi0z4`1ElP)xIU7ztuhusShGoQj*=Py+vymkHaT!)}QCx|7IW3lr!RQ z_wjDp((1qZa`w;gk=?IRe^zfQM;IGPBlluF(v9;O!TXSP; zqt)Dc^7u&;o;RO7-hBMG#-|zL{Lc)y=>(d@OZhl>q=JTXZxBqAs`Z@VC!^HY z|6N66xof@8*R5kPHfSlm*`SIb@B+af4$i+letYii9sPuE*3-SC^PhIe{e&5o!*?Nr z>JP^QbgI3_d}^a9UA71i-n36qfj+seQ>=<0g~}M%S>Pd1sg?1Yo@C_W=H@K@?4@ z-is)nV(~Y7g!@LT*=*FB8;xewdwaHrgIix+T~DT#+$Q3djA?AcArMY5?k88MSMh|< z805w(yFP_8KNtTR{qLvs%q>=lg413?;siCNT_1u1hxeHUz(C1}8>vcxcf&BA zIfL!re2>5JrNjo~E3%rEOGyVy6)5m=b!B}G1g&>uSE1AqIFSm_(c8nr9l9eEL@tai z4F`b=S}Log|Ds{9!512#)GfpB+Vl9T9$)!5DH!m6_U$=ZRrV?-&?zVkcLjQKdi?su z!TA}8Hh8MQD8+in*HG#eXl?ENgQK(a(~8vrIw`%d2Ry-O6xkt_ten9I6hz+y*-dsm z>H~T)YR{#TSWV6M{6-J&9yC7c498`BUiC_K?pmqpJ*m)XG0Cu&DHp;(CzwsQ>OJGJ zrH8?BXA*CAapTji$7-->SMn)g?;4w!W+OhE;t`6lC=+iMH`sfs4ouZY3gSHCh>fb) ztMFe*t;93KH!j1}31pqK)DwVd@>?_*L__Xa@KWEYmrUO$8VSw;PJy1sD#d(MmKY8R z`D!%uWAV&jes zaTmHLWtBD~yo5l-`8#`rEzltwA`l zDp$}uCzxJeqeRA(VK|_WF*RD~>E7Yt@xFg}aP*zkLEM2&cz^}jD(tQRe7X-+j>b0GCh<(ZbC3EO#{%2A7%{7!vAbhpmWu4h_cW+VBJUUnwWtx* zG^zkJNcG^WxKvH{2S-?n^r`*#9Kx=TkmU-7_rbFmbVgL^Y zS-ZDxK0zM?JS2V*U9zB3F8wmvg>_E=X)WMbzKXr_SD?4xD(Itq3X0$zH*`MF5=5$M zu4s%R$fQIdlw@ex7_G)C<)3a?T~j1d%9v%ET_Lm22^m7b-EUao?%JqenX& z!GV=n-1J_z4`2DG{`pTQ?Q#OGKGCEo#e;4)gn{xr=|cQ8DW%xBS2h<}#j3+)2%)t0 zGNq+UXFt7}+at`#qt;kT*icK1t&UY$%c$GbZMMkSiWj;1KkgP7%CXN52qE1{7)Sj7G-&kQn3}1Dt9uXUUfpv}l z$3{JqWU2`+uxvHc4}4#?Nbwu5QTeY@t+ZWw1i%KtMQpvVq$exEkI_f3tWp0}T+yA9 z!l?lX1$@lez!aySw};Vo)rQr1*1`P?{@E32#x26HhwFuyiRSB!1Mu2GWh0rasoF9odPiGd;3J>#9WK}Inwjn~1!NT{|t;wl?H znbcIh7*ADRa6Z6jg!%o{rlPu7t2u_m1Gh&d*vJ_YzvNLF(}%l^>I-c&<*)uZ(>sfa zSgI+E+v;A1d6S@=+R>SR^V}NvF-HJD6K;e*3_gSvkt9lveE>&Sh5~B8h_9S{AB#zK zEdoeq05{|5#OjMlT8d+d(6C}iA}TGiiExHyHbs|f?kXyx+f%8(IHD9l5}r~3rH%Iq$JsOu;s zi8OE)jQZ0Xj*6%vg|kt%Lsz6n7AaJeUDi-&XfY_-&!HKU-am{fC5on%9Hzuu<3gU4 z;XV`}x#L!3Ga@u@v#>y_w)Vp?9D*>Z(-}Fqq=Hft37CExgC6!{P9Dd-A!UwfCFw+l zRLTq{EtXmjMKVpZ3>HnLHQ^aqq13>D#X0m-7vn&!-qqcdOp{{Ql>C^cFxkM30RAM^zfoj zlBg>E;^63|tF&oIkvH)bGKS|Mh#mRliB3efY_V^s*x~VM`>cKXeOm-JE%X)D?+95d z8Ss@vfKwo|!dsHC(a`gR91{j+%pwmv8MihnpP&0@?R~uNSjM3TLjSNZ&5Ij8z|GWA zE!8sL5hVBHau4Vca;+7cjuObC{-e++f}^Q{L7U8@wRlJ~i(eA{EzDY2wO$-mPmfQ& zV%=(X8k2e!by_$#1;W~M(VeY9yZ+%KBTZ-+703zPHag^ zHf0;8EED9r1hm%?r|8(|cRZ7$6S*O9e>{nLeOQT?K7lL5*e(9;GK=KeCezxKZG}q6 z>>iUDh7Mu8h9+z4hiI#|+Hk+$>xMng_s7xuaDvAJd>`?hZ&S3vIZTU|g)F1glzg6! zQpH*gS3#UYu;}~nxq$uj+Mwn8;{Fgr2=^63a-^eqT{KWHi&vS>sLN$TI|qcG`aeG1 z@&O-5$4BjiS$R37PWCri1xg*BZ?xC}!>lhCOFk2?@0Tj6DO+8DviqQd^?RZ$x#&}W z_oHz*Dm#tnZ7c~z#I)M$CZwCD^*jY?b)|=U1+~GWI`&Ur9v>b4q@)adzw6bShM0k+ zd3!?myfI#cm;DhGuHtc7f8RfC@4fWjyxBWRWLqLRT6flVM>QGTHNzW{X|;?JN7O6x zTGarqZ3tYJxXmyeqQRbRp$(R3t@;N?2j_GE)&CZHm)?oyl+Xf5UI9+LuFQxjyO%l< zshEs1f01R8yz{t8Xpw>ux}%=Z{Ls|SQKxB$*&>E;D<#-oi^+9?XIK`@Y9Vu7uE#7R zuBMFfdG1roI+Dh&W%OHF$uo$H^&23Hwy|(WQ1}x4f>%gNL+Iiy$@peD#emHc1$Pyu zY1lX^bs9)s6uVc^zI`mAZZ~IP`%EP$Vd1)xw=*r669p872(~7Zc_*XmF;6h!99Saa za0bnlos-Kuhia(mu}xa!vb4XP#XX=+vLdHV%&~}3`Q~fdDlQ|?BT+TnF|7 zqu8)o&)r3xUbzG^Noc_F=34T!6zXLxh=S;hq0cUwZ}3y)<{19WVmUTI-mvLT%|tZd zX%-8xF^SXx!+T;&jz(3InKQNNsSQ9LIbdi>$bi7zH|p~PUHjuI&i}SS;fW}kUP%&b zykH^C7x64oC@QSWYWpM-yS+H6Y-({DW_X9zqr}n73l3`Mm8C{GPx{Z`JBhf#SbLwe z@(f!vqkZlvpQ}L+2@u>U3joOu@Zhj*!lCef-W3W$V|^N-y#RH0fA5g4%y1zx+sA(;*XK>K88^7_CK$gAk}A3aJoWPtH=|5t3Y zVNLNbzciRJs*~D!r|6WbTxqV6|4Mqg)SfAos%fh}niGY)!lDadJ6zEiAgh*CT*ihb zRSYYdJTZhy7ck`opk&LFAs!wiQ(4r@#7i4@nOr@x^&8>|RuaXb46CpB9Vs z80Lhj^rJ|2@*K2FUZ;r{Ls2fx<**-9_=MPM<(=)`-1Ug)9dCu&ROo;uQGT;4BBi}s z35;#8l<;oFV>EYhu=O0P!+dg0SV-*s-P0r2Qj?O9l*QDLJF^~_T*h+?wnJ5NrS*gd zaoCKe%7&X4EzOD2eCShip*vfwQijpAww7i?dfP6-hB8r9e@RaCsZnU!$P=G{1Y_CQ z{g~lnHhx!~aF%0ai4ghcFtT}U?CwnL)3UJKSeum~%}X~+L1yztL)WX@%M>?x2*y2UbuW=0eC?Rc$>uq?CbCqkaXWCbpICaf+pEJzF(qkw#%9E;S1(8ZDBR1TxnU$Y< zms*z%{}YnA7`uDBUj*3R>kiqe` zk{{cfnEtD)UV#rTWtqIH$LrcS*Me3PaXvZ>m{lF+E<8b|NZ`R*;NU6+#UOv)s?;te zKTCCvw504tY6?_k_Xd=dh*2H(g)Ocrx@M?Ji1CaHoCLt%NjWhAt?f@k# zE=Zl)LF*)}5fW5%xUU5Cq+AwB0FNE6tYUf`15SrCx>-uP*j)aSjn+w+joqNN2JKf8 zdw^b@bN|Ip=WPQOuBDkiv1J|D+OY~KdeW3-zYex$aOV}2_G;J%J}N2Fs>=QodpgAs9tze;8R*Em zWp1ZTljVw>Z^;sMr-kE1>&4@*c@{L`A>C3ZRdl@iq?0e*mPrAZj34-w{ZZ74SHBpRB%f?jBO zjuI!4yq$B9$jA50$pp?qcU*Fq%}}(HqcN5rdx3)|w?o`{)%Q8>6oSwV2W5%Z*AD*` z#mE?d;nL-helCMEK_v`t2KE~Rb}{DmlqQYbnT9H+WMXo{O3)6PAh}M2XYAkiVG+N_ zTXxu^>Q`Mm+YNbxa*XQ|0$;NDWQVe7hsx0S8 zf-#fx^IHpVCPc14*fSsRDEy_`(rqM7q(L)C1<|SOOhS^EV2y-BT;iX~x0*e{N?N4E z39>Z;f%9p66@uhl!BWOdGi0Dp?KEy{mNmn1jUYlJ=<_y0ec~cA!8*dUGM*yK9uQwe zlW8S!-00Xza{Rd?0WoCh+arJPg`BirafAU%8GZj!ZdY_rp_?x9_O-l2ZLSzCQ-3wF zuJ;ZRY}1PG-1C_kwq@v#mVRjNv3irrk>j|KYo~RJg1XoFLL1ryd0Pcmg?Bp{TQl4J z^97`(ec<%qXF~C>`pl9(pOcuKQsq*or0nBSMmf=*my#5q z4*EIusZBGaD~AoHooG8rTo^!8#NWQ^PQ37{3jgs_^N@}Fd`XH8QkSZAhPC1=k*Lm( zUmo*yEEJg;OfKIM0x3d?l-aWMA2x<3PoB()AfwVcgbWkJxTDB^I6XLTXCugG--mc2glkki73tjpVvEZZ6=r}jtE3@8B@5EmgvLy5DK@7zRh?f?_E&Dg++w9o zzyp1&hkhT{&-CZ^fsd(Te?=T#Wu6+vhXJ0@4OKb$X%rBtoZjMhaJ2I8de0mU45O3>eQ_x+ss2u@9{i}(5Bj+(`T2G zl46NAjswASbsQ+E?>Yk{1DZnub;E_Ie*18(5L4=RnovzEu%k%a+gu~ zc8oH-Go?2xvxM4Z(wmla+S#+PN_ltcl>G%-NkTPi&28syd)L~#g=vm$vPFqP2{bk2sO z=rQqAGzx35G^RS)mrBkRc!P-2LdaFtbY1Xlj5{9Y8e=geago$!tCAe`q2yr9?wLH!%<%LJ3I&vhS-gv zf0V;Zw?)0;L}xLb3`T3gsLR)}>t4anaS$Wk#=&IT@5~0Ucavp-6JwdO08Z633?_(x zWtAP5VZcy()N6Ne>7Qdaz-2dm-)F9-fAPP`S=~S1W^il6z_R-5Jj{_xg=e6cM_40H z{mLLtbuO*9D}9|i$7(uu?(QM&DcO}a1!`mttt$SbW7ZQEq=ME91>{ph5{v!u&(1+w zDF5fx-P)L+|FhZH+IW)9|M__1Oa9N#@X6%=y!w*=^Gp8E|E2jq@ArEnIx{F)!%+nN z)?ZcEUZft|X*(~XD3y@&l9r3{q=dU0=Fv2sM32^7~{)7v8QVO%(8>P@0h|m&S#mFkNu6|vPV0p=p%SkjFhg||G{Z<|PonitV zqG6>X2Yk{aK|kt_@gfM~`L1=po8 z?iJ%qQMP^Rk{^XOvZrA!B$M(o2gQjQUnX*~D@aD|$km9>7-Zer2(423O0q)ag5D?$ zyMFg(#O;~%z+t3wI&037QPGg6f45HXX5c6x-uaHjcjqfUi@K8-kg@ftcD%eG!ZrL$5AKW<&>P{jC7(q2?xvY9VE5^U9 z{*ISw(8EeLP=%j^l8A-KI44i&p1-uyjIP^ZWs{3p>ZS!Ntq$``<=$4U=}wBR0+@u4 zvZGzTstQs?Ir?>*q^UcJz;^1Noa}FH`t76h)1NdJt*4&nHJeXW3W3zpCZW<;&7QfA zKV4eUom*#kbJr}8hH2+kc@lP(Jk!0iTIAH?PLWfIJH?M2?i4yTxU>8g3#p#fUo z(w@K!KZG5Ruhvt5@H(%*^S!LyurolzUoF5ei+Hz;Zz`+$vRk{_?*DitAYQs$Ou^?Q zdsy~<$*WyXaX>pBUO`J240_mUyluJ`l|18O;ppNw7*DH2Y0~aC6KIjtEmupNcb2E&a?#C_t7|(*QD;unOh^DOd4^Ow&LG4`hwi6A< z6LLeYhxj0;7zbY$fYIy27C*c2w>B3S9``RVZ*;Nia54%9>+wwtbm4cx$+X|=W0-xM zh4ii)N9$|pr=0xFde@!was2DO{$z+|QtTjJ{E2gQq7>-;&tq7PdCU(@6_!b`u#iiV_<&8Rw1H1(iuMS;duC~JWR1b2v zk5?LWKPm57eo5Qw`MTJw@l~Sp=56sLDHzr?Wsyy+K-k9GAM!;yi46YHZn;(iVjtD; zKFv59ybHVPI@5gWTy_TO#&7q&^E>u}ZZrR1dllqD`HxP9ND#>_9l`Vczm3-8t@Qnm zt>)(A%`fubXZTqDUwf{_A$XRABXQD}q>R2FJjqG+#e4k4d;A~bJw7-(Z=b$tzdYDG zZ@b*c>GzoO_Z40hBa7yD6%~csWGCRzG8ExHS~0jO17G5Evy%_Rlg>{1**J>l`@Jlu znOHt9exu)LkKl_f5z(Bam}Uby0HliWse4&3PBNTqFS{YRfn44wGDm%Y#Wcc`;Z8Ty z!oHEEJ{aS2z%WL2EIy0AwQF*VWjl}fhi)qySqjJKcvP?KE+MF_AtyxwpT(lH+-K4L zf7jSA{4Ci28yk(sY5ULClP6nW_W#fDNi#JEA4AqfuFdd69}Vm(Mx*`X!MT5SzIXoi z%$Fo8Vw^N6QLE^iSbwk!U17+5|4vU=%Ga^5vW1Q_t-c^k}G+G z0=Xngh1sl=Enwa1*ZCFjodJu9U6k-&pB%nxDamsm#LG$l@@ndp_bXnj(cA=479_m? z4o4#l{qVktf8(!z2dx9-?s_L0KL4Vwd{I~ax2r20*O6@N@*6`W2yNlixC1xvhT-rc zoDd9EgjXXrETRa+!VW74PdZz4F#7jY{pgyw@%42k|u4khv8dJc?0q z3OATxBj}IlvL^K&0sMU&AZ3oH6D538A0=p`=pyRg;47+*ZA!*qpgN8yRJSnHEkqN6pBx{Y9UnDe$Yt`!uT?yWdxrm4 zTxDD7vMu_5LdR#cU3uLISilXX$W-01_c6s?&Z2}$2u+~b8W;VPOTPc%!-rCZP|CcN z4&~8?5{&wkoD&zr`>SXWQcIxX2E_aULn9AQ=fMj>LKU_VtQteJ)Bcc;4+aCgz~aWc z9!2k&bnyz}@g#hwZ?M3Vf$#CkIciwtR|5V%#nsh`x*={!vsk>HL)adGPfh^^MqhZt zR}N7E0$h?iSmPT}C$Q21aAgaSzEW}4TIHuj9ru5YQF;`qHk68 z#rx=}BCmdNG$`4tT+kChsc1P|Wr8vIONJVO>A`W%Z*cm%cUh5<7rB zWipk^vl(qL5AQ?VI^Rb$iz8wKVF!@;E;JW_-pS$r(FmqTn`@Eoh)xr#!c09dcOlL^ zLdD9&RH2XS)O$@HOhNZnjT@%=qX8m<7K`tzU_eJu9|kv4iWK@}-(z!g3t(61bRB-t zCCe+{$~?}uO8#!Sd*SKJ=xHTH0u z5lfwg_Xq_A!`_s((3~ly*SuAX!%n}4(hx$Zn^SlhMO~gk#awt_3_90(31uc@!BjX9 zjQ{VQdqxjEHjlGKyh8^akkKZrCpD@%62LCY&XW?QDa%AhLK_inS ze`hqxa(@{PLOh$DY-TseYlp$L;-s1Nh}CGdI% zpVqfp>^%neK0rwv=Ade-n-NHds7p=5(R^G=%MN@3aK8P=xv+&ClU)Uh^LKN%aqU9# zgvtvE>*txxN68UPYLrvOp$>pBu|Q+6XUw=q5N7QX6Fma9>8Zvy5j}GoR&J(~?G?2M zG#j3BHlxt0#!Cv@=NhIqwMd8J{&GE2b)tStVUb6dNd8!%lZ*lb8)hx5rItph=&~&|v-uqgZQ; z^<22jzJL0xu~}ETj$6filB=q5 zQhpqfz}ea}o8SpkM08&%=yORzBhNt_o|80kmfwys%}bI(4#fGBj)_-b!WUqQ^0Ros zB_>3iauQb%5TQsShTdZRj<#1;f>FdKfpmo=L>lkW3@*ce>5}JEHH6ktcIn?`c_G*E9JB)cPqjA6X=`M04#Stqri?G1)c?fK9RDw-uJ|NvEQtSTwi+85|L;cQ zOa7nF@kzWy$FHs65BY86JE0VDcES@CBUIwxHahvjPC_X`MC1(t$)4iI>i!}$J5z>- z=;AkIJskVxQKX43q`vH^*X*@W^$deBpMLJ4cL8`_yTv(2lOIAjAzsZzc zkr*Kj0yJqJ?dl5mITazt^z~)W`4@lY@&D+0Hm=|K^yeb}-+I!>#{WHOYHE_Oq;1nN6(s&1?jO*|ncRgO?%o z*2=d>jLeyXPpk#ZcyiBCybA`iFmsYZu9L9NOQ^F8e5t*4n1Bz_8g0xuXkpgl?)%Iu zf9EEkoIirO2bezIFt_3y2ZF=zM)oVa6Kh!CE|7wtv#i8+sD(D2NE1-FJnDX^l9j2- zjGe?pGMaGO`3Ap*Z}htMTzAjI0^gXAVNm$+(Ic+&=uu^E+lg&1zZ34Zy+_#2ZF?a2 zyVdA5?(Mc^N;7S1zZN=dZ!SU~_;M$hbVEvJl}+bE7h_;LD0Ow9_$eEl-hXvPf{{2X zXi8yR>Ix>@V>EcLJEIJ47~2GYtGuJDngj=G-#nxcFknvIaEuZ?-hE2$WC;httaxN_ zl|wqf8|8E_GWUSs@EKulAsEDw4GUpNjIi3WJUToT(hT3H?cpu!v zoSK1xlqkD7p3x6zMA8#e7=g`TMc;LTmtT(X_Aj|u(f9GR11yMvU#fb|X2tvC54O8y zOI}Q_{Yi)!--(<1y%E-F&8@?Ek1&|S@4=oCg2Fe#->@T0x>$XqHLp6}?H0x{4ukr) zSuv))X|#4>^oKJ7^?}gs%#c2#RBpv!MV#|9#a6<0cgbAd z!$}IMNz_kg$WP%n-t7bnhHrMB%M1E+kE>pfc7}1|&goYNhiy6`F4;AVV#vkm;->Q# zpq=jT9cJ$KwjtgVh;NVf>0Yw*i{lsn-QGXXUL8lnQ@2|a*C5>Bbuk7uclZ}yKqo(d zIdGL+(S2O5J~g4r#7Vz5pU$Pv{m{iRJ?Km2ysAnsm@{%bzt> zHZ?9yjtl6~K>GrUv`F&yG?@kC!jC~MsYDlms-f(xI(gV))^#sMDjAl<6F|fAQWKUgd(Yzkiq%)GW$UgfGE0JK z^9q^NB#_>P7D}22K?lct$UyB`3U@C1py)tn@1k3H!PAcAT9P z+tj9$DRBQX;{ewtOq+2RoOFZHQX*NZq(l=3R1&-lxr@-?={sRl;9egdzbFik3(p7m zLwoPLg5a>I0ql2UPo9nVxQOh2ROzd@#KcjtW;QiVN5^=YZ(a}7P30h#aN(Q*2|yM* z3j*ZA^8uoOTM!%;T>uPro}$2@XfbqCB|^8pjP+vr3ptdtBcjsR%CtoopkFZ}w03 zpRatwnj3sMf)3F^Z}|R(%sTL;P1Z;690sqPEoUJfrkskWBe;m`o>7+^Ef=A8F$h5A zEBEVR-7A$Ub?-ari5&aD4k5H|grXiDF}W#;Q|{}n@K`oY+K|DnNwEC%(lv9v)h`gkl9xCi=1s$y?1P@ z>Q$8zg{b4X#rsicdo@u)i`2-C&3}koswA_+zaSkadqp`}kDaTDKz#Vi^kF5d7!j;T zkM!PY!C;cqfVlN}fT)5C8uZeJBi+vf2IaG0%BTZqC^T@cj~hBs9P=~8hEdyQc4W3e z!^t@CrblZFSVOK5H>izbgd%4Mmy8&pSPVKTqA@`CBc=>K zQjGB-!!|77GEjA+qhNt2C?7NWvhn^RkJ}=L+Z?lx{8FZ$Rk_Jh9*Y@gM{a~ns~Q$u z!#UMwS7F+uL@?w<0y*_qh?(!vw3^i{*y;`wH@g)Gg?d`BCyO`O`Ii;g^(C*s8vk8r zk;`PlGfV}5BEG$zU3DX0_Tq-N(m2gerh7$SwThidUA9X7tGGQDbFFx_ zb$21wYtMP2Iq{)-ru0Z^QYn+_rBWdAop|{z*O@`wmxJiy(^2=`$XgqnKQ$p{r;asN z(CNL*E7U$K>~J!*{hYa-J0C0aW@IHbzYQ{PiqE$}`U+2uc5Aa(VfYXf30ZywV{-ek zq&^S3%gwMkRjD0-@Vll+T5dDeGnd1>U6Zl^vD!GpJ{sAgK?)jB-g!?AOzEcVi(#{Q zNn41F)fdZ+e-_H_@yaulNx@7CZ@vMuB<_Tuayx?Hk@Sj44k-N_8fw3&Y$Bpq$W?NU07X zRJa}gQM)deU0HF-5{WFRB)zYNzwO}7+i{rGv)Qy+F{!euLfT7gR(-#Y{~}qJ}|#RHnX7E;|adYw+V;zI-pfFNIsIiF#fuy>TiZ*{)}*BMAHF=C2l} z=-I8` z9Lv9Ki z{Yo%v57V(=5a^1f=cv0C(t$y8Ti(Aq2>r|FU-nse{^QTj|J>YcInIAp~?0n*y*8js!Bs%#2`loIK`Qe=VAL)CF|8KUo8h?BIsXOBO{D<>@ z*ZjW;u0u2deyTPW?Ej5cD}Db{6aIWT|Nl8Y>XcNyuBW{Y&sJB1!C)J;Pe2cRLwEY> z%7gO3(b@SPdJ1b@??L(O#lg|bgVT!jhKb00yE+>wI9T%ZO~rUCM7O%y8HB-T`#*{I z{uMs1_0NAkT^sZH|HkH%?D_A)K?{sAQ{#{RO-@omFZP&<`J+6KKuBWx{-|?{a{pHST zpAWF*<;#jDkbnv)*RlKB8!V>kk?%7$>vE1G6xZ*TA*{200t;v zJP7C_YBY9YI3LnkaDh`P2Pn;TtbqXn<(MVkQw*Jw9UM00-Sv0D1aB8soAcTJ>A}f4 zz9~H@V{8T;%c5IgjeBDGasj$nwo$6k|5m?mpPn5YAMKWChbgTBL7e;TqrDf0ZU2Y8 zgY(_yW4uv2>_nq(%x}*QULWlp^4qP3@fODWZS)?|a^uNSR+zELjY5h##esLw^t_;h z3DQSl981%~{-ai7Dy<2l+x^Bq_WS%-?;9rF=cS~kwKZ`PSfl|yGKjZxm#hZ0{CSHe zle%W3C3DzDOV|sqR)gXt`GGZ)HJ4tC!g3}v+9YMgma-s?4$*H50foTKMpobCXL?+5 zk{7!GFbhrDe&vI5;tm;@36i}(8Lk!-n+Vt%OZ+Df{drZrTy)!eu%=l@w;yr| zEDKEK?-l^xCx4Pm3Kx8H{POK#dl#9|DqX~mtehXJyV%)Jv}%-1Hi-2HEsj}|M(cT+`ug|;@bHwY$|9|$rw5x4vYxsV}zv9%Pi4DlMJOU}XrNl{i zLLe_gp4-)CX$e~fU2My>WC%_3{PuSb=SW9`2S`FXSgQ?|&OGe#?6Y^2_EG-)zI5e% z%1kMjjj{zv&_a5=fUx9XRk(Kek{3JwCw_$rp|@ec_4sVbe1H5Q!V!?MswKNAhZ~-$ zhG)^_dLQY0a%6clw~;;3db$#=3>ORgAfud9cys(2pMM%( z2dJ7HB+t;^(QzB|(wk(ud?y$1*#0N$KHQX9I5!*ds zt@%4w`^75^`zbL*tX}5>0C!wOzHhI;X!ZKi(yB^I$jf>$c1FVZO&GAdPQ_J!WC4Vs z*9dAMufD6uy%&HlopD~25!aQk0MDTrAy$3i1aiOVz>B<~)9)eESGpKZO2`*_!;Vuz zmLmcpV0Hcw)RiZ{{!&`|_5Blgw{Nb*laItDiPhStCv5G2Ax3Zgo^JsQs+ghup6(C? zxMpC%dhW$!jN%D$^?OH$FZN$r2m9~Z6c>~NN)Z!X!tzHbgx$C(ZSnUI;o^iTa#aXt zy;xFs0;Z>oj*+-&SiEb83&J9VfcQv6-$5>dFDE~ryf}dc&nlYFA(F_fUamg<3#2&S zhV1cZ>=>0&eR@OjO1L#bNnsTW6wedhK$~d_$fZ`EIB0(|kgG4v=@E4&w}-;uILP1O zO=gYnUf8sFp2u}6(L!w}xf)@Uw2P|G9-9knr6LX+Bsa8%2rFR2DGH1Nvw!Zvz5ycX zlV$(}DH!R66RtZVZdFosnimWZB+goS^`jiqr*bS~xMaMI_2G4ZJDpV=Cv1fHx8D^u9Nd7d8QtZF1H<<(y&M0?aZ8; z#AZaa6b+JzUV2+(IynG)CP+3 zBlZpN4uKq`K+2M<>iE+~K?ZMu?O&-6f!oayvPKAGRGplYVhmH`IFf7z_f|5EZt{30#~=QG8#1=~!CzZtzKL=Ep=OjVjW-5 z^6?_9ChMunQEAQbu1L+6Xn@#1;!$q+45Xf^nmqNO@=ye6 zucX~b+rm?V^rSrTQHa1xym6sTa-#`~I#X0oq%%K_OO0rxM4R1^SB+yvr8$u_;Unky z6!L^clz4v=m6#p{3QZAn!me><@ksdCW0g)y7hYU-vqgs6Rr5T?;J45;tb0DnO(;3t zxs26T<-?VXu?xJ>r=sg@wj#(cO<7AE)#&}&7ON4)kOX@Nu`c^hz?hawA?Zy5 z1k{5)Yxm$_XHSH9Ng;X^!x?)kE(eMz7KbivY78zVnWP7&{NJf>JO3y0&z)-*gG-L_ z;)^#K!|(Hne=F;XWfkt$Gw&S&U7BsB8~lN^F1K*S>O$4HY9Cp6^6hj>v!Oq>DWYH}BXa5kY93ecYl|56wo zSQLfVS2bnIeL-ti1NL# z234L0RuVZw!zm=pB+V0uNXUrdp)BDKL6NM_osNzA{qX>)6>690 zI-Jyp$yOjk7pr(p2L;xPqvO4{b#{2N`=Sj?&qbxGS%eCNnD~me8pE_8LiOQ!q^V9K zqfhih9bIOwWqy_NmLN!h0Yjo*0VD_>1?mf!(3F$RQU z+Gz}CXJNzZsk%{9iINm>NoW9P%ecZE^Bh+E#=b?PDrA9foF}k0WEO@}EgCaWUKOl{ zLtM&8-D*R*K`C*}l*Q0pt6-?9lFyoVzr%!V$YuF*RJFCn> z>WALE=dwiGaGNIjpw9j0bR;Z|y>NWHlfz#*3Gerv+DGCY!-LO3Oz}SR528^rqk}nI z`LXlc#2rg+ovp{tS@2atfU=@=hX`OuWY9p=9ZK)y82bP=-Plo#Ln)KE4#$?NkjU>m zb@GZX9cO5inY|5ngr-nTY>Sy_KbG-cf@8$$%t!Dtd#uq=xQZjVSRsAxfCg)?=y#pz zvE0Z+m&K}{MauSCpF_?hBB?oQ1$qIv0k#D#(YzH}WP#?dPpnxUUHBdikEb{SAZc2a zAvCMugcA|fW?TgEnUMBCaw0+`kYvyG;Z-HwNC0%AKh+FymKIkCoUbKmiqKqc#lLiW zL2iYuoqeejf;VA!;%XbPu*kxRS`j%08ma0$k9ox~iaJkRRU9$(aOj1maM%TZJsm4XjoZmfIo#Kla90V5{EL=0kc{A#7B{6P9is@Uf89gwm>^5>?UsJG^dd! z3X0bV=bu`|sgj3u%v!|y3wV``L*=Zfx@A_)@2KF4x?{FyPPU!}7aeE>1!8F~%IBEg_!esFjM#=pPT^wp zsfv=cQ(D#v<67EocY?mqnN>29py&@ORjR3^Nd-o#0TC)By-R4lE40#9my1bzecoP_ zw%7h-Gy--xrYWFO>h=ZRKc9mSGR-j=BGe915_iHPGb9Fs$lx$!$moYOsZ@4{)45jK zvv;;&4BMDv$CyF1Spg8?!nmDj0^U*K5*hubvC2v=k~3!^fbk$cg;}(48k7=jkri@+ zsg27QvL6Sm*NxdHs}uDZd`WbOtZ^OD#Llx*NNS!2vkYj`%BYpB(_ZEp5&N*AjXM57 zr3b|lriZ-AX&EGxg$k1eDvljTWY!#0?KATkx496%tWwtZN{P-}E!*HCWdgCEZC0+9 zjfh7AaH5q{%XX!Xu;Q#@a@{FgrhGV^+th$Ebrz`r6E?fPH>jCnF_ISfU&+(;yg34z zjwJ6aP;$rK^7S3f>YoG)=4JA9j!0a`ETBX?CT2~dS&YM_GAUIIckMS z#An?9jNSi*_P)6DhkxD6|3j_OG?)G#9^gr>|Ce_D@UQv)ADXqa{|EF5vAqBN^`Dvk zAC$mgmM(r5x^po4lFMnyQC^T9e|JZCjAU$y)gSN>=|`1SE4`hlFuT}n{}XR^)9xpX zfoRt2v7RrGQR|qNJ=1Z8OjLI?%(ZDrs?N30w}s58^)3EMpWFvp{}lYkd-6rvm;?W{ zdM$wp6|F_r~l){;6tg)M=sJ} zj1J*^Jd+J>N1hJ_PhZi+VpHU+HE3W=J|6NSZ zf`3TI6PWAd=fk77C;KPyoWDpl!h7)pv*d`*o>774ZNAoq_oM0DN?o)Er00isN@FH( zN;~DnZXf03g-;OU)wNdS(pdR}HOYLE?<8|P^24B_3gZ1o(kq0=RK7ZPkVX9ooi#{1 zK51SLbB%LO-OV|@9!z^FM?*WJQJv&+#^oQ(h@zXelS?uNgpuMGF~DfSz%%9y8#3AB z&ZQh4=&Ilkk z--6KdcK|_n1Jx7WXPgVm4517eI3`;_c}i^@T|9&`9+dGW!Dtd|hreJDrmi!FTwTc3 zbJ zm(Cez*E>UhGNwS~5(HS0DWFu?Ji5PtvY4uWrXtv8pl@a}xGQl>BjpeQi*ut=V}ugc zVBieNa1$M+z<2hXqE5D*4~Ph%JuIu5l%?%!kUwcgQDes69NTyMn%cP}&U~7CJ~ZbD z<*>E8II-bqgBwp(PUo38zG%NtW*1F9*rz&&Kefe$OO9J;XT}fN(Imp_@oeFNJ>f_( zAn!ZUQ6p@o$w4mZ2#F{pX$n`ccl7q>WCMEQ#Fbxmn6-ZkB|^aBomnJP8HdyE>*(j(8V#h@;7}_iZcN z6As_WVZSme=Y1XD$hwjZFYNI~8Ro@%b5~b4VJ+ziSlGu6F0AIwM%A#8OB{CAFXZ#OObUe)$Rq0Qb@Vx0;Qm z{{I1<^!j(*UJr%9lK-V#z|L9!Mzx;e|C(lX>Hqm59^L;dxutZ(Xfg&)PO2}^MJ4PC z#V@&JH5)pcK*5+bUj}X)gC#~Zy@$Gh`iz`0>dDm6rIaYyz6OnPukF4w>^Lk6k8B^c zZ^SI2`b34OCRZ&vc32TAc@ViP&6t!^l|?#Tw{w;LAftOA`-gX3$r=ZU8nSxysc#1% z-^YF_6yd}w93q`gpO{hQFczJRISx@ATR4%f#lSW>dRVk7+l!GJ<5%ZWzZz-KA*&UjUP_Ku~=jyAYH|?_Y=2M0$ zpfxi4`jE>V{q#TVQ#6?;Ki%VK0*P0J*(r413*O>-_KWrh6O>>E6q?RvYmb; zP&*nb_6TgHUmU#EaK$b@x)c<&$G(yw&k#h+7;2RsokC|?KCYm2lC@gj*~w$j*1Y&Q zTwnhr+K11D^qe*P^rRRwgo!#CIRzx2fcoaiK(Npp{C78q5)pK=va{sn>0-J1+V?I> z!H0lvBIZ_(+oyX+&)Ykz|HgS^-KCHpC3dR8w(a8VBZ>sf$LNk{N99DLwpwbqfY6ox zl&IIZ%Zd)oCU`YMEM*NRxkU{s(e9V7=j3C#-Fz$$ftczK0h(FcDr&Y`?zZrqi=GWA z3;pN?fEM(7m4>`>6|>CaqC-;D(5e0g;hp@X4Ksq*4 z)BE|&tQDin6zC3uDW=>U8Z49HoU$KHHI}s2Mhc9VQPFs9?4e&5JZ)grTHswcH4|MU>g?Da2QxB=g_{+u@Eoc~lRDf^#lrMis& z@*oc`IpW~l-qD+%_7B_7OSB=D822CY%!dCjV+=e8{;OuSm5Tq`YAo&l9^z5G{FAZzQC?QC;7!JdTUjkIm#yx%Nn;`QNkT4K243J4 z@n8?WfE?5JZrJZf;B3oOi$CJO+iWS6TM1=MQjw9dZ`h%tdTF0P#lKD5&eekD41;pV z%9GNnyFI@sXN;A-wl6R=(zcL4xccxrzf#p$ry)N_=``eIGBm{#qKt-Fiom-+g4lDB zK-D?2VzMqhKiJO6aK0xeudG)`C#TU0sV`*JG~^J!-C~Xdfafsv?4*4x{=Fl{bX=^~ z#t9~)Z4ot*Tk(C0?k7tWf8^g-caa2-**WrkUn!rcZt++XhDdn%HMdgmL2~9E$XrvZ z+m2WD7z>M;&4g|If}oaJ4io1DjU4mQI0??QLEop^6sb_{5QHxUw!h3X zoBns4VE{y-^?8EeJ>%9c^B z3bV0YZEaW0Qgdsw(rB8khA=AiN+q|xzCOK?%o$l?_@gkY&E`f^tmB_e z0UxeCw=1|73r{et(IhDN!59xw@f+=GNXdyD`HgU4r0G<$y;#$$0T4OQs)uvp-(pUD z%&p@wUE#kl%V?3Zvm+`+_{On8uL^mMv)(3i5Im~1EC4sIP)Kl7CLg~J^Tnq*vGUW| zOY7*c@Ex^-AN-L!v_QzdDm<3G#1~4!4tzK99j>uJMT!c$F9`pg0g5aD{Q;W880h~L zk{F+Vo!{mF>{8^=|rL9Jz(ll$E6^-6EHdwhq!ZkDG|D>hu@!|$KQDU7li+=9oWXuxw#|d=Vw0suczR@hUs5%+~M;NhyOJF z4+Bg$R2bNSGr&7b-+HSqpRe%T5&rK;`T3bc|IJz>W&csFH<$N+AL5xs|0Ucf=zsV% zoBoH%Q|SK|(f_R}^nX_AddWn^Ffaf*{jXL?+^=ZTzGc|~@TupMz_F}C;l{DAibe8h zVgZ8l#(_0JYER^MU1Jz}o+oxh14w&}kC1)310Mn6xXf|u(>+l4DfQK?kZ!`PY!bh+ za3eYK$nD{=u8ebidc1ph@^<&QeRyiUI(ylEyZf>YjjrT(hu-kj^S^^`rm9(|67&2_8%H~ zUAX9b=XT%1d*2+pwQzWB?H(Q-W)A42DAur`5aJcSTW{Yyw+@es`bail$uJKxR`B-{ zh930K!&T-!6$X&}t>Ns?`rHNo`YW1jq1uP5z)s*Ogyxy1hu z@MPitp@a8Z#txcgNaP>?6vzDWv}{FfgA}#Z%>>$?TeMNC*6Wp4WwW8{cO;l?GgWjT(!=|?L%c70X^-I>N7$rmYxbb;4AEsvuV>-SxSsC>#KEjw zc!4Jv+Mf~}ixs?_3WatARB1eu&M++aiW(i;9~AOKZhOwp<93U8B)zB^iXf)Y2+7s@2M7rMgwsc!kXt$t?J1 zE0hqso&}NuR_OJ*_N|gt@B@Y=SqlconADg9Ss{)cirQX!_L3Ppx)tRRtXjc_kBd_1LhF;+IZWE>(%1i=t z5JguIjgUUmSOdLtmJl?esFQS+c3=-L(C3ztDeS--xE){_I)%sBit)_32I!)+8~e(! zCL;?$Z#ep8rpu|19tSJq-Po+x6R;25FK@7w33;FGX? zH9(&mcuhyF`6vKPhUgK`>4Ip09w5dRsxyJUR)|SQ(ZTCF8a0<@S}_YP)d<5e5_pW5 z=|C%%H>C4rtfYYd6p3Y6N%e+uh_xZKjNPXE{suKpipy`g{&#?Xmd^~j$z@#IW23qt zBA5sNEwh@^|5d6>{og}8Q{aCvutyR6^IHo3`SV@je_E-USwdI9TlLmfU4wtKxygqP z%}ojaaj3@XK%Bn7XxI|+_)Ml3vG3z^34&|z3$I>n2>dm&Q5=7oLKLWBK>yc_C}trC z<;@oQfTu?hjwr8*J@PG15vct@*xl}!Tyc&t1^{_pDT%eR;yVWRt>t_ep`pn2pfDJ0 zh`uuv&z=c7`8avC|KhYL(Mt-c;dzRGUlHMR;D1p@U_Sq!vj1vSYD@b65YG(xA2{Z? z$WI?KrF=@6BG{WG*w?ZJ`zZx$)shLk{nl2a9_Iz>8=J@q)HloqqJop3Pxf{X4y@++cD`SGP{C5((r1X_z2$r*165fMu6^*^8wz9VEvPJSj?&g zrw2Sd8h+Vbg^+H%@s%ZiuXQJb!L76n*IFk*fM*5J8E(p;aCmlbQ2e@fVxI&5^)Cbe zW~I`|p#Mwz&xd%X$p5yhnSIbpO3J6N*{6M|%xjvV8cq}JrxdEyO4Y3`vr?~`4PBNu zw}9lY;~%q`I3lntbQLI|LcXjm!53kLlVF$j3t=)b+A)yFB!J^PfIT)QW`I5_{IOOv zktV~CP%v@5PVhmj!9Q`mB6BLSGQf2}Hse|B<^ss_`KHh3;s3?VfJw%iVgFmLr|^HhwY>lHAWzKxm;Ca2V&sk- zjHZh|ZNC$%1!rP}zC?{17X&H8@NWm_UZ0&q8&h`2l^1#)J$ykCz)}BV5i-n+kJ3w_ z`1GV0`pK1k3(4;!y;RWa?YEw!zwz@q@Zb0{{2$Q#wEb75w$%ST#4|(wvnO3Qh)aO- zQ>F|k)9!P;JGE%7UaD7tFWlUW>4cy%Hu`OBnAK1vOtn}ed+2rwx~Yf^eOP1zkd)}h z#qP=pVxcL#pi63DVp6&8F>+$$K}j*G%mPyGm^x>rZ~FmfW$hDl!93cknXr?Y+e}O^m+LhPVazd=hw)@@%{Eu$H z(CDb^vcLR3IySoyl)xK6ZY@Dac~t&K`DvS6_^NaoW+==g|M=7t;Tj zjg0f3rT+Ipo|ye7nq#}8>n8r_x&6RlJJ77p(jL^_>NYl8cBxdY)oM*3G%+jC%z|tU znwb>4BhySFz+umFM@?(&jJ-(^Dp&j~!ggZKzdGN@#jn@q)*mScm&$r$V0XrzU%JdE zZuzLn^{Sz7Vh#S;P%c5bK%D_3#3cV>SnKsSFy3AtOSqkYXgv+f z+@fIt5#O3JtUI=xPGI-xPjiIto$>f-ZUIh4Z(TpbT9Kh)cSM+MabSi5_Y3Iy<6hr* zHYq`dBKo}_k0Cb~GoF#xN$d->55K>?rR(y^dOidHFKh-h5B~#$o6`R@n@jocA)YMx zFN|~}#j}1_iGi6ZacM9!ONLNbDQ(tUl}5GMFcU)If;H3{rADh}(#Fwb!!5EFf`3^u zOiLFXZ**%xorS>w8R@|J5Lns)VI_7vcAj_7(66P&_u z1)dm8K*qaqgG)DS}xXWLgtk&(;*Goel=y?z(k2!#fcv?9SFoDL~241g+ppwpJZ z);C*#xrd6TLZ&C@L3T56W3(mk=nW4x$^I30XiH1 z!|rV+<3CpGmFn{T$3r~Qopay4c2p2QUSkeU$QQ+PfQe+7F8DR-_@k?_C=5JQ%837Z zw_WF2zUB_evHN7y#b9=v^u!mVv125w_muX?XdfOuZ@;6Uh}b3`Jzyv*jIWoAh)cg4 zJ3!tvDpjM}6sEadX>B)5y!_ELfef^O7&NAwIzyovq+%hH6qAi62Ai+fw`3u@UCMV$ zs~e39ITZ>;h#zc!P`*NYGYmWkGQ_iF;>7M?z-3C&WRD+c>SXjYOq?y2D4ztn5|e*( z4Sae2m-m1^kskf>=IHs^LEAbx-92qv2m9~Z?^kw2KI5}E#K6;iB8pCaBUN_q=*|A& z%Z$=8LA=0#RT#b6>28D(uVtr@3S`vz@+iAX{w`j6ScQFK-)59OJA83;{HFapqj;Dk zP68J?<>Pf849_0G=EJH!J=JECXt~;Y7TFBPCRe6x@P4;s7`rw2tI>RT12ToXoM=8* zlmFh|7T^2AcqXK?sHiekz<5TN73sQhYz3nX^!}c_O3~q0vIPl!u?7^6p}VjEK(lxZ zDpz6JkmA!}S$KWHvZ&Y8kBA?_R$g-~gty0Si+`cr)la*7uM6oWi>av}d4BMP`la>d z=;SojnRG)Ly@4K2hF`op$G9sqCMVg{luqQAdqe)O^x{-zF z>suv|8ZzGD`|m@px+iJf2mL zhRmzAQr$FD$Q-0eMCSOXt{aX@Eyt*D2Z*OEZc9ou7JSZ$PZ8cuWGh73^v`Try2R#7 zZ2mXE=1aW&kHFhW{m+8>KUQ?#*$2d2{a-6}{$HzCmi`|e;@QVz{O!;gn>)I$mwWEH z)f=PMe%LK_ayy^@q#ed(HKcom%SuPe-rOW(IQ&CW8XhxGg6-)1hR(hD1ZM`})z9BS zPz|hcFu>!I>6QhGcNq2u{>5b%D9NyY8Nbb;4()+f`)CCRKMPP4F#eS^err`~*!xzc zo^p9Lvlnc-2>b1#4mfpy}|6B=t!kGE)pY;A=bWTC1< zpQzCuL1FBtvlk~>n;}sNYz2N394a)nFXXl$u1Iym>Oh~L?S$R3E^YtP!t=f49c8j_ zac(Sm_LnXoe)xgRM?*WB%f1UV3xm`kEZs!el?z?7#`ZyG5uJH_0B_Kct3z|uh`npzpjIYvVruwX$>FFC{eSNX5R$E}RslG8X9nziM z@Z)F85&)#=Jwz7vVL^)v%~^e+T^13CB$5N1CZX-RO-bI z1}Ro=9wce6gOP+xlRea$X!m#5;Y)XtV-yP6&|SHqU1a2~g-0HP4Dn1HpIRq-M{nC4 z`8V=w8Fhq*#uoghS+CxGXepqW0u_sncJmJFtk8$k1I{61WpUlbcRMf-ht|On2vNAQ z->FnUgYYh=pw33BX5;QeD8!k3NDdgp^3gj8GjS1KVfVwB8&V}K5FjVA+#joKEl9i2 zq58Sqw}%}E>kdKOY)HGKW{YP5U8`6wF^?;rn(qKz$U8kG57Au!NL`%90)}3!qZtkA zZr4TRPT+myAvQ!9g>TwkrkgR7A>EBRzr>!% zJs=IG7McZf0kkZqmu5E?LGHG)LFSQGD-v=g9B%9UKo?oB9m$l@g-z94x%i8&+G4Dc z>~Z_}*m`?*TAuF%{t z>&milk!B^zEsW5M(GTKv`{#r9;mgxkMGO;PxN>fh?H{oRo__E~#2QU&Z%? zQhhm`o;&Qa%Q%?X$H8br!1VEmZOGCW|BkZpK6~6Zp7kBO2Ma-NrvuO55E1orVY>&n z8&U_jsQ!;bX&5RFAP|I!+wU4D2S@*_#{^RmA-cMb3H4#K?*9WhP3Zq>mFDvP|ARc~ z_+Rhd>>dF3v-j%k@O3-@7y|DyMCjk^`2z4Cj|J0Bw=w7bN43_frQpA^g#QP5p37Ae z-3eVw*gN^((|sUSK+}Bq(i?jNaTx?7f4f}1aDz+q-Rcd>-P_@0RF=lWl+`b9wwlON z<^DP$MQg3nX1!`wYn3oE&EFxU=wBzM8!bQ$7a)Fz2X!XvTU&RJGM3+ixp9L4W@-0i zTf`%vLGrr+>0nPW(Ao6lGvDcAs-A2_$$OWR;Z>qEhE>xkXR`8m0Jk^oH%G@mTQ7F^ z56+G`blWR?+`X~K&Ynjez_A10H&W5tvX)kg31v1s;Y(AcOIm{Lr1&Cd=gGXWRcpaY zS6XJ$nd72WOj&OBcp%|TnT}cq`-f-$ks5I86#^oesD^ene$chY7YQSL?g0w$_Jxy~ z2F0KSO#0TS_fPTMk^ZCMkAd6vE=B-z=zmuH?|NnF|NTLpzYeXaS4w8BV%E?%sO}$n z%On-dR@^%dn|x_*7AiL~$T&rE{R%tPLpSWhtQ2 zl?}lzQy$0YRnHswX>$FI*Z&^yU%e{=m;?Xl_A>?lW}~)*{|9*fI`CiHEN!)bS#Pz- zWLUv}ja1sTyGNvr`%xz+>c1QwTL;HyzVHusyp;bQ;`!_Fe|57|ZPm?Mt6JMy>IxUo6)v>?i^4x$ zWg-VKhVvnC#zVXR#r%J@8mai-jf%O1|A%;{!2hu4cgxO)kv9$^@Q-~=L4PcDN?ecz z0DrZT3<@^CaJ`DxJk7efRo4${OmkD3B5uar<jb=&=~xr{r~Wm zdi1(|s6r6pG14UP=@99Wc;}3L3`}a4OeGm6v%Ix~OR?8?0pJTS$X&B|B=+A*gOv4n z{`f2vi@IfBMcRgE9#xU;*~FoY4CqH{C{;lFnaEX$=yQ0&*T4^t+f8X zy1f7QAkS?7kJp3p_25Iw`J?(g&GVy5&vyIRsG-}(R&%P`$LYoEwNhiVX4adV6;r1J zmBtpEBGZqg-(aYWy_|D^<&HB7jTW!2$tqn4-69e?fo6I10#G0=y7Au)J-0KQ3}jwe zD_-?xZ|@XtV39xq8GTbIS_1rkHk<7?X9wtQ{dE8Eto>!nq2lqTmLi>pA}LNg%iv7ZV3B(4on0QFvqNxs{6gMR_og@)r_1 zU?igjeRw=53r9(QzAb6AuMhLOGn$As{FgD5Ou{D3DkRWfPMXxJG7QB=B9iWJFavJS z?GWfI^aUf7ED3oskf9^+He-KeF*>mLS|hcNM+@qHBWEqLFAPSSdJG9ZfdFbimA{Z7 zE*VkE64dgF*1&}msOp&+)za{WLezFx9q~mgeb2_3!_ixp=nH{-Z^-QYolq_RG@ij! zqJu6=#_8Bm0XzN>@80~!YX4{d)H-hOo*W&XkUZXgZoPZcK0H1CS+9g@h)pI`6np;@ zdAeN`|4;gXJL)@&s{CUQ>G)>Ff2*bNf3;yQ{l7lM6Vv~n>>cmFJ$=4^ypvxoV8}O= zBZScttA(yRM#nbri*CsoBe7a37K`~@uIqIAHegZ17UzAtbA=bCb_!iPu#KT}qaPI& zb2;Ce0FNV9KZZ?xDwj%Sv}lCwrtPx9|7Y*oo6|;?{rwj{#T-Hs>{x(!8mH{DUK=N_ z1e1#$pWRAQDj5XUA|yo;c6<_l_uJhw5_(~lcTl46d>FNG8qAaaN${*b= zIsdUI5qk!GzccHjL+kE5(pYZl9u zZMh+r8)5msN)wSjD>EFIREarXaVLE@wDK zgA+8j9rLfic+3xUGmkyf!k%eHxUw80gWGY7TS~A;bpH`m(Z~@G6t9+1$9-X|(#@Q} z=T<$>(J#cGB(S7h z0t6p9n&yXwgHz`JlJwtJ9W}%fcO_R_{w%P7{+Am``rjzm*XRFLxVxy#NHaA@@5iW2 z;G0fmg5U?y|2tCGwu^ELHuv@IW-Frq!9@Uk#5|6S3$v8Cl0dzulR^ZJZWFyC#*qnr z(UJu-eQj6?ARd_H8_#E@m=H+7vqzIiOC@@a$uctZgzYl%KAV>2qNNXKBJ0a zeH8GHK)ywBF;2RjcIQ#JhD*+WN1Irl2D9Fq+V?JF0spUBtt9z>)#_URV-+sM|6|gZ zZ1xGmkqmQ(IrhY5mdR9hqzx=bWiS)n8`sk&IOt&r+sO4JE9j0`q*-X}&_r>wSr{@* zA}kc-i)XVRKCt}z<3q&RDzi_Y5L3dP4y;}Llg(bMj#velOEHCHS z-m^;fHVfM#jYq(!ESLW+2XWCjhm4`3@(Na-M|;Bh4(=_kEoZDc*3{%jJe6H*x-(z{ za|nmT5#I2KuTgcw#V;IK*CyT{WHWiJ8^!e7M!I47O+*Kq6BMrs8}<84Glo+SGxuL4 zI8JH?vo)kc%(6Apbqxm8K<#^m2)qV5!I8=-Nj5txkq{ULnvF$ro!e-QlHuX*6)6T9 zd_7%oEgEHoq7iS$vo*Y&MK<}ow)3;C6J(IP|& zK24%H62%eKD?)LPRT^hzOFVc*Wka{kDJk6NS3(ZV8q$EgzSLpPUaKyfy8ObEh74J* zk9Ix8rrs=IGD-6D`9@N0k}0!q{V7cI!E^SUNyDlH10zU+_XsfJ@yY<9BPMuhTAI2} z$r<#e`P}2RrN=^Bg9*3`_dPc&UsR+kj$WiA4g#3r8B0 z7Zm|g^AbPI%w|TsUPNGm;BQR59<%3PY0U?EbNhS)V)Ef0kBN=-+$|M1rH_T;=EseV z(nq;8i;sVc@ZHeM(r0SuZ$XNWMV{oN=pjGlgJ%I`U&@bYV2nZoqi@?1c}u)H4;*=O zaz|^xkC!`)hLJUySO4r#kI~jXNmyq2gGn7$fAuqQ=pNTCz5lZfwXgZdKFQIBuwI&d zZ5ejpqVr#~mazW`M}+nMZxwE#{2x5i@C=;F~ru9Ypet-W;>7EoYU&K*=bKX%-ddlhR{a*V}>74dXIqN5=imPzudlBD1 zU@|la1V4OmLqDgKBzR#mzyFt<|6JGxFZ6AFa8LEm2kC!S>udi1DqK?k6ZR~;n|Flv zXFgxT2{m=stLo3^9y0&$djq&&{ja6qe^l$Wwf@&CTuA=c=fSFuquxA*@Nc|;IP=%{ zCk2~UZA-4Q7x=71Z}v!_f|hMhb;k;9N#R&&2NyE_oypYeqps5PkLL40#bzm~+e8U{ zv_SO5Q@9{6{G6Izno=1T)R>9i^6Ck>2RkfL%jXf@Uqvr?GPx_ufb3Q0M(KM&nVP%v z(R*r4#T`#3XIkc>h`ctov}a!R-Rs#e9e?r*%?z(cRGJqV)3z^Zi+c+mX(Lbqo52%` zbplG{CWORy`OO{Khw+xQr!Fz(uV-S~5#_eDmct(#VLWib4?(WqV+_-1_WmG^`jRmx z4(!s5Ay0ApgQU^{KJa%Mx(7}hV{_uNueTwyJ`08}Wi+t3sbP}l?pp&bs)!hERCkQF zQMeF07YW+lrd{;*c8l+#=jNG7)|mFIB>3!IBEzS^tzsqwwV~LEoObBy^vIaH$U(l; zP>2Vb1*e(j5HA)vQpj$Gxg+^f`!heD9>%T9uC1|VvZ>83ZlGNep_X{VrsV~~*KRRo zEJ2RrM;uEc``B0#zI2P#6t)!b8MY`9=`>8B=mSG55E!XF-SG7r`j!pn5Z)$0N;TKz ziVHA*Nu$Aahf{-%_5N5Q)O42;Ld%eLgQ|O+;R_yUokKTu=!&U}_gt9ec?UCcw9iu= zP8Z9mFwlU3(Svm^L=_GC@K@uixk#4yHFY!!A6rz_1yS_>YFnZS#Z6$dRmY_R4LK}b z2Rh9Ogm~Kri1!tEVRbPyy3@GAoWjgKfw>-7VQ6Jxt!qt)vC3%{KqQXBKdC=lSLz#nv)^~9uAx@2_BA>E)L#o zqBwX07h?HL>g8g+R)NK{A&2oHz=!yPvM(KoqOtR5!m`RXZA)19-Pv*H z_;mm5xO=k0{-fcR#2B!#rrAtow&q}Dmiw>fSUDor1I9CkMU*dEC^m70TNP9ov|uZT zQ%5y$HPvai;&`y-@rvvWV_Z}A7aCOaN_X`OL*u!K4G<|U!hQ(XUY`NU%@-!Pk1<)5 zB1~U0H57=Z2=Nsk-T}%H(&5scr|O2!R=mI~G;VJYRt!TMqBS-&Xo{8_C49r1!~aL> zY-@KsbaH0ZSN?Oqo$nvt{fb_+6f07?^i3z`-ARbTj{mWch<|v>fD3q|M$gzl*`qm{!gR1rvIyO zY4ktBo=Ra@&F65X%Y4%fZ?h5CELo7UUM<2pA#XQegAl=dtF#0h2)-ol`)$kBzaXQT z=(OXK{*E$otf^f9nsa<|d`9@*%Io(2Vd0spkEFd>><^Vssg(Vm6uocRHw@WLsu8B> zVTKUIPCTx^YWVY z^GmoT=|3?GZ41I4zyVr7|I5vU{l`kJ*;wO0t-{?w|A`_-7Xaavx&nx>hb#eelh$j+ z%J#P0LKC#%HJ~aC8RN5+*zHeEPR$k98hX0(Ik;)GhS3YLE3L0w;3jmF{_ZkGK~@c| z9(0Qp#BjxZ77>2*Sj=>Ryk?VTKHmj%#M&zA(1R*#p9^AL*m^U`q{4&VN+4kOrCuUvY2qPYdUNO-}CrnsQ@3|5xCCu=9VtSle#Nt%e*hi-{hf z3b?$5CaO8e1Kn=E;mQ#>KL+evcM#!?b=3YP-n?_(GF^JU#oJ3v@hk3k7R-N+%k($P zpf&z3`Ok73|66Xtit#`7@A8EU+%G==m+JonF4z6aSkV7y(Jev$*Yf|XaSwrf>vg-S zDT2HZ(vAK>WN!I>H%DrTd6Cq&9LyiNY_`)qeE+tsyz8}(j{n%r;Xssffp7QpjJ%6u zE0;ZM!{I&f3d^GBvQ$5N#wo5Tg@Qi#vYY?LI+VDEWDi&6e4HRgj8n(Z24cknR5yl-`iUm^+1*Rm~fLzv41= zfZ(g7jf;&A{qh&?pu@coG(Wa9i4N+h2^_){%#}8Cu^Q!g6XS^9&C{lt5ALs+!Rlwvh5#RusvBX#MISuO%}chdNn$J9Z+{Ayuk=u`4v(d!m+{ETYZK}6BiFLn#@ zPUK(vG*<9!Vq|PkDfGqEUy!3{*wCC1&58rfcB~O}&}`(qzDJSt?2oq|(|9^Z}E6UYkORAR3#bLkF6pHq1a{H^eW#@kyp7*k4ETsSS#QhIp zLapcj~8;W+)5 zMyLu*W>Izfs(~*+z&sNFxk&ZSlAt(iT?{LYa;;b_R~l-+(PuJrb*)BALwbHh^5^8q zZ8^5MCC666j-xqLbh`m`#<8X|;}VboYTbH)u%tUC{VulYjxV;dQJD9T*0L|PGg14F z@`}bAy#I2u5Qe_S7rzdX2Z(v!NmFO^Xl# zl4PJnGNFdaq&)$wOy$G-U7%EJw=%aZ{ij(%_TMkm{`h`IK<=jhGR%Yo|F2eF>;JCA ziHrCEyMg&#Omd7Id3YzAWlUhP!kgW9?XklOboIm7U)Ie)yAnUMCzc1BPmZ)Ff}XpG z7A?iIw^#_?{IGpaYOYwOuy2WFUuF|#FpNQ<7p$8=d`i5Kn09hBXm(PWn>vs+D_5D^ z*r_*mdQs^x8jvx=B2mdhluhR<38J4PYI714Mc zeMNxBM6HyF2*N&zA4Ks(Y12)Y@W^Dk)MR&P?$zCStY_B!pul;lAWJN0y^l&g6p01SONwK1#Pm!X#A zkUwG;kXl_K(zqgIi%&hpxQP9$$qEM}= z9>Erll{RBk<0YxXL)mYHtVFM^@VA5gw{L&nKX_9}R%9d5AvPL^{XVq~)uoG)5wXf7 z3reXC)Oc!s_v-X;tfn+hyr?;5Q!I~ z>Xp_`rCDssjR;jwUl{Jn=Z@8(TA{@O9<@ejZSWC?4An!jrw9pVp1%U#aK4!>1F>j@ zS+uY>*J@ZV4(r9?Cs-WT%fPR?3=G|ps)z0==tqRW`=0mO=7$rdknT!?bl1q@9sI4A z$>iM~rtQ`=cTIEGGyER z^#7~nMs0onw+fe(|2ppgHRv83yncW3CMp1i68#i~51L(>MT|DDC+!dDzQ_FMmqBSW zpSuP3|CLH3ZvUZLUf=($#vO`IV}mIfv-Rz_jdbsFdVvP}N`o77YWo_Sy6a9gx72Jj z@qCp{F&{Cr5C7fK)RRTbwI9zB`nQ_w1;Q$dIn*vTe8{I%)~u2n}nupDP~$YbNm@ z>g)A?HExdlw>fkNCG86e^v>9-5zoX@5(!O;Z&w<{Mx!}T`1{VpElgakZYN~F;Wsz= zfzO2eH)O|Q4pUZlpv<>I(3_8D!R-@}i72aQj=0!GTVo7uK7PJaSQR^t|nj7@ZZS$4*WL?PtHjh4fwWF=j7t#FdJLN zhFnis2P*Xd6d2x;2=I`fVrXz|gSqZ{GvjlJU+&w`0*Z_FH!Rb*K_eVwZX z9}(mraE4uhLX1#P2=pGwbnrlAy7_Y^M?2f>sLM$E& z+Ma`^V^Vh`VPH#K1k%-E_^bH0DEM(C@vR8a$vGJDWCBnGVM%fY0_e$u5D(tbRM&zp zieeIfh7S)6sD%v~@``b@RziM!H&`CHVJmLYii6aP56R7JTX7HHwpGluRbYZp#G-OD z(d^M&VKj5TUPWV(@wt>}L_P_;Md2->T;df7*N@`yxj(IO{8ie6W+hv9ys=2eonF4N z^Ufbi`;X%@rPtm+?Vg;{Nw9sWoOjwMXT3kenNSXqhJ}nGzgJ;bWoi09gMeFJ@msh> z{QpWLq5lI5z#9K^6)wX6e+U>{7?|t-*n9e~wsB>DPW}qj%{~%}oewB&>C(F_r7iEa zz~kfY*|Xh~<2VlSlGv{8gysV8Z-4V4*|OsV=(fFY_mI<)SRRd}(P%W1W=3hKtnK<; z&x;z>Y8*@=2P0W!@w+g3+@jcn4;uhq^K;knkD(v%F!{cBzv1UL{SPMex%dwo>ks$8 ze~-^?_rLjF_*-)In@nGP>zf3aR{>isYh$xhssi32|BJ2lw$<5a&9BHhn=f#8T7GMG zv#4rx6F~?$thaX68~j9V3sn!iAPwW*jbnE-Mc+8m!bH_9MZ~`2c}#pgLo!R9^mx&Z zf7ep0jucHGF9DXC$`_&)tTwU9QmVD_TCz78u%?B@MRHrB9FlK;cNFeTo)+&^{lm{K^1stspO^o5C)|Vl|Ms6{@jueT)CEVZ%g<)Z<9~EEm&X5Cm>cAN$9n#J zvt%a@y(K#8hEHt|wM%am1KTLou|bcs`BPjtn%iw z`<`zDH`!C$8)1`RCXGETubU>-8@UUa@=Yl{$Nu1s)5CFjj_p|qrbPC5QI1037s!Fz z9!oOps0zwM?X<#6HjE!Wf2+@3=YPD(IC0GwWM+8ZGH%)bp;&*#{h#&ChxOn0_-Ok- z!u*V3**#FQVGZT@AXjnM$4f{nmV3V%?~pHlJReQ} zx8FqVZ2vW0EZq{nQ$TaP8ekj$RI7N;P+4^PHbu?$@{pYM8rrrxY$Hq%siuF0yw^xNXvnZPjbuZR_44%SUzj5G`G zxB$oFmNA->j`2XOIfq)s&u1;+m|^-|p^iiEEKW!i)u$bS=14 z!NqPuv3QvQ2pBFLWlT+01VoLx)Zm=!#TQhl*Vn?nybvo_q?>`fxmjrdB(r-F5{b1E zH?39kW8GT)*l09AwwoC|{5a`>^|5{Jy?*H4^Xtf{ozwhvw_x}Nz#l5^G-Fs@aCa#1h@x!S4`+dG>{C{2h zuZ^eedHdh>hx7mM@+t8+v7^YIeM^56RX}lzQKge}!R9(1Jw2iCe1J?kG^1@lz82ke zK&=eZ4Y|x$M|Z^Gd*xstNZ7z6CSq(HAbXmZ{`}wn^EYyLp54JXzxlU;$~!$j8Iad6)e8<|fF5BaifPRsVmb=$oJ!^`SS2buAn--=ijZ$^_C_nw9>9`ORHaHPT# zl_E+GF_0u#VVcU8GfU(Az|yg}3@%(>OhVC{0j<$giFTFzAW7}?j>#0etOTjAqtfc4>51{U3MR%|7s>lbC4Jd>nJx(F{YMgT2#r{60cgCMOsPtU(Cc4$3|@xPn!0QOf9=hUr*roIt&L|7>;LcZ(f9uzS067r z$Q6Ug9=oWz6Vz@H&LWyJ>$?rnX|*@Re+QuW9R=RF7r2vw`0%D;?0j zOAKDvbMbTzbnrF60I=eh{nK}cXQyK4;8*d>&hhci!RfCr0X7+e03@}LFnQx}M83AdOeHy9u75bDMvK?v##oLwo8%w>qvj#cQ8&@+zP5H zmLjje=EYZb8#d)~aZLtGR2TRGzLC8GV$8@zHiH!}NU>ndST$aYoyZFlKpkAj1AVL) z1*aw(=vc9xa#ZZYD$PlPXa=1QYeV;Q2#+zKgJlJDs?S#0zCHG6Y47721Q*6zRHlj7 z#aQy1FqR|4%Ci6Ya5-C4j%G4f&yF;mvMehaWu)iRSy}oy)E3m%btYt0m?N@UI$=B0 z`pLkg(0_nS2)@0Y8?BAHetIVbRYvwnGwU7RNyzXKGVJmg`-#bi%U-PUPTFg$7V`)7 zfGUn_pWcU#$Mr?*F%O}h3yZtQL~{cMl?@}T(2~=kJ0n4=nv#xBomqt43#K&2 zd~|i41wJ4D$0$DB^z!&TPf9kcLgxT?nX&MpGtoHw%RI=A4-ZRoWY@-97W@N9VC%!z zhg(w4V&_21q*0P7&xBE|d%hic#NF`5?pHbH<+eelF*RA9ifAR>L953fJ{-Q5Fwqz& zZd74$3@gIj-JRWcd);?CC+{GeME3L9{(FE{$PA?_5r^g;s$|2o-KxGne7j8{5=X&# zH5y|ZSLt_^Ffs|Q)bA~`cJ#~Z8$ZQO`nU6KF)bD)I)cetty zNZd9uvtzfL7-3rLH^Mvf;UW$HDtvELDw}IAgo?itLUo(Xp)k=kW7QP92 z3x2$O2@uY;qA9|h{B!?^8MUnd`qvuu5Juy@jsef{5N1LJ{png#4U5R+S0Q)#EJBZ$JHh zBeo@7*oY^4xm~ZRHZ-LW1mx+U$iHTn)5_h-kZg1iq}(w;UE-0U$PTm^cvT9@TtV?l zv!jPriC1~V26tyAjNF0udAoLnkU#vuwY_0Nn%L6}z_TF_GN7qIVx|ou0?xrT=8l^K^Jp*n#t1`8U`8h&9;FpHD&9K zstmi0vR6XfSQh~dOT{G&D7ODsiVBTESUo}Q1jhw4f}YqS21zlc;}QDllW6BKU3eja zV<*-!3@IQDEQD#N9bJ<;%>2t5KIF1OF9-uuL!7{gkXx!{1_JQLuBzI z|AgsNEtufM{jXjzPjp`WS37N-Y<{6xxuI4eZcCYWOKOVU&9Z?E-Br%JT4yW1e3a*=v`>f)K!sdET@_|Z39=>>BVoVf7>Ds8HdWU-d^Dt4 zVb5ADyK4b}sQXe4M~n@o|Dw{cec5v1JAl&9u>;%5Uf*KW7FY45Gf7sRH}wr zWAod|i4A=8gbbfiibOE;bfcZ8>HM^#f_zWla^DQ zU6)L*Di6=D+UQXXmW>~6I=PjLw0WfnyJUhX&JZPp%e2WVGg>;LnAuVtxX5cM+@tbQ ztg#g|^p=5Ir1*VinY78I%J8bFWVV?j@m+fUPV>$;q8bbQRERc>oW{~L3TCCojVPh} zts-(6<(Eu;3u!GUvOh=d<+I`cb1q#lp_Z{J$Oc~LIV0DOXak#k+%ee3z>SP5d#8=v z_*|H~)#_a)0x6|w`vF_sCO5a@%#gN8UnMdaQJL#kIydSo&~*PnD=tHRr+F*4EKoH_ zSJiW(^Y#+&!Wv5SYN|*HZFJ#S;hJhnP?lNmQ_{5y1mX_77Rq73*v0+oQ#3y^RACJB zieY*3klZF+5BZ60O85k_a0!1;lY-^v|0Azw#rFyIQuc9u~GE@ zfwYJCFW=>p^Z!xSdv4NYZ@TW-{!9jw^+xpy$A@E&MB&wT?W(o(XSF zdJ6)pkm1I_X+oC87G_;#)#G?>te3^2qAQQltCjq7&K0>@Df7if_e&%1CVQ1f@`JSs zTJr+u>~f^iV|z9ko197cZj-lm&VgG)p!;L1DwS47%aeH(YsD|mTwZ1AB$*L@(gQI$ zDIq-N#sfpsL!Z^hSO=4$v&ruj(R351X@^OZLpR12#(b1HA=yMKOu{|}Yb>N{H5%I& zE_DwG86Y~6D<%HoT>bFkoIv3}A8!|dInJb{Gx-lMse~j8h6&i|_XTuMFD8rH*uw)7 zsS2uTZiU`kOggk^SwIS_-(*O9(3U+kdV)UfCg7q={scB2#l3Fig3c5JGsh0@=2Mk% zr~LLJ#E(CkdxvjuN{2M^!QE;$i?}N{b zU1t(`$?U5mW=4v?I$qFopqp{&cqhb2U-)_~Y~Yifqf-z~z#bJE@#ev&g=O}8=kaW8 z%FZ<*mu1I}Fb_@iBv)(+$%NQc9bXtmq>e3OVuQHc^v3qNYic6VA^O9_cD<` zKjMMhEExuV8i*qrnR}m;GlJh6_i*hq>3fL@=u!l^@EnB0@$?dU9)^PUVKl_9N{hlV z8v}?x?5SOBgL&_n;Y(%(JgU9It^%@dZwrH6>J5>GU@4N5XSw-|Vd!jb;8xqhoY=$R z2&*WYTHarV3Kq~Gm4ykI^qRn^Bl?q$AGCLZh4?ee53ouY5x^+NE=7Cx4nr7CU3{fu z)CPy+`biM~$A-tl&`?7oWxaHSIDtR#&Oxj6LB>U(UxE-vLoXT$-+Lte6?l1`i64s? z;|!7?p^$rQ+b6s2){8bE<`~?hY6NkL4_44b1p}S(7H`Q7{Q}((E;g;UJ`7O{YOHigm#R01Eb#JD!*q(=jgMre2f?{FBPk zUgY&bCFO}nLP!Y@PoLwF{xlwSvZp*G-Ig+l%>-*=Iw^od_f@HWz$=$5FPv_`A9QZK zv?FvEY^ObtE~esH4D%E$p*j&#P@E({)>}6@xugpl4W=m(HYp8zs{)VlP=r7-lka9UZ4hLp4D7W$JB*Ei4XYnC ztkkNQL&^4tEP==RHV(QVFn- zkC!v>S5Q)mWre5o; zwyfukX1mqdXxyxbT*z}BDYQR?j*PqH!vbCC2R>@4DFCUOJ*wvlCV0V0@$LVy_oQ8I zBg?+8@GE*4hOr&nNV4QD33HjmA)FAyF(mKZGiR=jY|EgFWcgWk2rrla{;I0GwR_7# zW^tbcOX_{8t-HEP+*`&3LknU-n2HY@%m@~||0$Z9hr|6(i8;j85akH&#{+u^sNTiV z-m5~7_9Xp;XKZR4S~>!xfU~%4^@uGHnmQDD`6{C2kh31rlTDW-_XvW~{5V;!fts`X zfGZoaa`moU|2Tr_F(U*k^w86h(P?&v?fr|7LwJ_GxVrR!3HFC7`59*R=j6a8@M3t* zN~iBZh_QH+Rt$lRK|g~0AS5BO1g?LFaaJ+sN0zhIYQX~DwX3EhQTMNK? zMf5wWnyW(L^8=7&%p>;|1~gu=xrKtNv8tkO2WYo@z~W`?h1(&6=lj11u7d4P2U6=k zb-yJ&s_fzz)gPo%_JTyHTCx{u<;lgtS56jTnUE&2MtGj|5{bUT5Wq`tSW0}3Iv&mM zu3S#C^7wLE-1*$)O5Ks3cK1I`2Xt8dy$|WXVOXyJF||?oxgxGVeQq7g?LR1JhAD0T zK~=TJR{!G>LfZZVpK)fygkha-Nl@(X^eK7Ntm0v&gTDN1Yzj51J{YPGrtpZR=MhS8MamD}lk1(NXV zw0Pz{QP?vm3DTp2-Y+1v+M!1WS#XJ63Qg`G7`!F5^WzPmDk0gD7C?QK%Gj^)L995V zisu9#C8T!5i@PRM5;GigH2;|W)bqV@*EW24SV8|ml&dtV`r#MVv4Z~7b6Wq?FqHo? zzEU5ThQB%eUvvKZ^Xm$kRzW?lO??0_*Z;+}k@5eitIF2@(_@5XUIw|dJHF?i^fZ`= z$v5(yNWy&vDy@p9q0d0A(bm*zz138VI)FN>D0+^^!PO-+>MbZiueU@AWbw4leb*+e z6Z29`bXS9>uBB0F{6?!9Vq%u4b7C#rSu4eh0TAiumBUlwueAIvIJg_4ExOyUrCF3y#9JN>=!>YDIB zv}P7M|Jji8^RSx!XZC+<>em0)ql7H|7d&a38GFfd@bA4;x8WOv4dH)7%Fn|J`mX}9 z&-j1V8p;;_A0aHG{{rq)^gsNXPyfT{1@yl~^uM)${x8d|S5-xWg{0Qv^k3utO_YQ$ zB5NiLYnx`FaA#Y$#UfqQF}br8(<6sR{arg4#xYy}knXliSbS{ohI_RBc z?|AHwU(c`Y3)JCjGxk%{owM6tfgK5*L_L9I62t#A+{0|-!0b)Ism@S6YHE4K@CzDe z=O3v3^#--Sp={cIsN_unO$1x6IYFH^%xV|9J@dGG-p%dMWs#wG7xWGD8sE)}w=d0Z zuNd!18Kw-=6uIA=8|eDX?T53>+f?u%`g_CKA2n=(|M8@^;`zbMz2C?KO^12t;D%FRTHyCj5__kMqgroc&-}z5kQ-|5U4Q&wm~xB>X=C7lt@~=uFA`Q~Xu< zej3?!t!XRz$g=fnwLh>`+Zfml-8PcGpAuQQ=cmLc&P{M`2!7Js1aMU@BrI^IiVj3Z zWz-x&6Ye+G6uzOZMwt@BlWUL5%=Jej6P1=mfj#3+S+D(>&p5O{B{*g~X#5;9Jx423 zl_TN!0@a6bN5=}h!rs`Q?1cv>Cb?Lh2lliuG@Y?uW(T~4$`QSDw|J>~QW>ZAfEpOf z$v;KMFyAe#3IB949fu#SW_)${&(eQ@|Ly+IV}v~VFPx0d9M7gdx3-NcT!Ix?7@OkBVT8vj{Hb`c{pH?U#4t?}vj0O6mp>;2175so# ziAuAS9ETCX#2(ajHumqh&r3R1#e`3!B}DF%5()-5kww?_!U1FYjxG}sP0$NqRq4=@^{5!$a`WE{?NKr&GD zdVD{KyY$sLPeITw3o<9Z>zd@z`97t(A=M->Ma%=erDundF30oGDEA`iY4cW2$&=6pg|f~M2?WaglvhDe4!mbtI=Z!!NH zz(4iK9#(2!pa0LE|0s%GT&-%e z2JqYhh>oA{8d?(}ntme+j#rBU*Xq*-pMd3C&-R4nj1u{;PCB<9Psx?MbjwYmgFm!m z)Lf`(B{Z~TB^-{Cz>oZ?X+tfhPZu0bETn*cio`PPWLiThSZNG3W3wrJP^QXh*Jk|Eh2A|2#@q0RNt6O(OW`ZyEUKpErg7MY(Ef z73N)O>5Y~igMYQ&RAX@7f59@tr-_B) z_|pucz#WEbdngdaGUOnxHenm^^eDm+hb8ucY#3PA7G8Zu{Sx%Yx#oxf{Zn-sseA{Y8iTx7tqU1WCirH zY9K1O{O9G18sNMa7aPE2cLN`2CI|%~9-k>lqQ|P`s zJ1c%$J+Uu=fBoygzp5x{`|n8qxB8!t5f;e*mJ?I^pqGr4Phay-`*1U_u7=xiF~NR8 zrdqA4wOXp8YpM~K<<%CD{3rOM)>B6WCP>S8XyN#1uYNue;ES-rqXy_tGK?lhI|1?- z1#r9p*kfgE3Fza7KbDFr(xey?3MP&}n0;g=_>7W=>W}T>N%5UCME@Saz1R2MfV;(7usUvi_8)$c ze!u&Q4B_DZi%H0E5ACm!i5B+ob5R;)5k_0M0{_O>;s1cVJVsa||B-$7qy#8F<;s8}?sJZJ7iO*LRb2zVu-Q!P2|;08>DMT$TDT=lrI-_I z>F% z`Z&IZmRsln0d4kVOX0)QB+W*xrE`V$n8Xt`jhkIG`JM0ruJTBv;HkI^JrFJW@~C4v zSTM)YK;S85A5ujXMcWW%cJk`NeADT5JMet`?&ax~DYVgFygu%pbi!pahuOHb-FsLs z{bKAa6xng5a4)ZI+MCNwWt1k7H+PPy8&N;aP*JA5?GlQn!3$;qjuOZL9=;%F-mr5U4X?`sqC@ zmEgII4#(tHj_cn!tTb}Vtnd41q1s ze@)kI$O~V9|JPOnT800C!Oh@*y}p(I9wX$*e|S^!@ME(s#WQy(#lYN{q%@eDBu6Mz zs!hG27+T#>Q$pdICDe?n(Wt4kaALAyi?oH{FP99n(gj*RG@;Cb=OH6Kvp>$v*a4xE zI3B!lOyJ|E_FA&xjl(E$TqZo^V#S?}#_z}ejNO1-gk~MRImmc-&g=#)8Iz4?bYG3x z%TS6nV@^Oh(U2pW_Y5E{@a&#fC^9Pm0)ejCtAb>54GFczNhbCZPe9DEeJ8sZsyJJL zJc^8D1{eu>I*GPaJueg*NYaV~hj2KAxZnX*_(-QMg#*v49Er-Rq3x;oM{d@iD_`+y z@T`Mhz^EKyrQaJE{)S;q{7+m{1&`FwerT|n2IzA9539Fc&**>Fwe9_n#|V7>4_)Vj z&G|t&$F#H0EzP#kMC}KU`%-3XG6*KOQ&#YN+>~Me_V3XjGk@Lf`ZK#Nyw-}Sp940T z3Tw@=;(fV$ROxijUv}Q(7pfDF9_CXU>%Q5Ih>JT+93VF8zYyCCDJBAd=ryD^Ah;w`QLsA^ojK7x3}jn-<@^L z%d6w7j(K+azVrLebGDcBnRU_OA$cI0*?Z+o-WTU@PrD~MxkUtfHFsUyz4Gi~84X5{ zaZ^h)3aLO&nJ4G@Me^_L#K$76JL^6t@4N1+^WNLe%be_C6uX=`(5L{f^FT=sdV;{B z9-hWVl4!YHdM4=%Ck9uV6-N?i9daDXjLoS|QT11HT zn{BmLZMB*itlu*9at#Cr_|fCXEW)A;9Y*s)=~xdd6zvzcsrG>5G9L$=9;BjY`(?je*tX1#oK=iyq(_v zS#$r7Z**^L17gMgAA}tHzm2W_?_-2T_TSKd_~FRuo1-ai-;akeLvT59S&MKvi4tcx z^|qn4Ri#?j>p;M@R@x%ynq?SmRj<}sMzf*Rl=$6|daZ`rc=$u&9G*wdXYJ^qhYra3 zQO^+gM9m!F3$rFF%aOvEzP=zqw@mTB zw{fVL6ENW|8BgAqeL~x;G;+#02aL;CU8V@AXKJJ7V%+3` zsD9*J17`y>%9mNF|3NL*N%N#-ghpG}DmpZ?8m%Uj?|yyv>N0QHqzZvW!{2C`Op_}} zEFfaEWHZbGwE5_H*evtL3T{k1GE854CY2fc&J@Rq*$nL2Gtx*6Rda4!2go4$y+NqE zi;{~0s`CMAs2dK@4nGRcX>w$IP8?=%>vQW2o3?u3&<2GAUBCT5py>XffK~dV0<^RE zWPB5p#CxnCOcDris8 z09RR6K4)c&?T@n?e*(h~V!@3$8BFGYT5p6N)q+*R0PN7jh{znkBo)^h6Md~Qi3md) zZ2^{Ii>N}jHe*cyC*3cW>8DU!(3@P@&(Jr9Ju#?vwsU=h(~BT4QP!HUR$ptxB$`6g zhrw@ht>6*h?^VhuFchYfvDbI#gId1%5EXm%CPk_0Xz=bgw2iwjY)(#5a^%|Z(pK#{ zJ#VbtbJ^%%;7@FJ#Clie<%{!+j`S`*Wv)%CvRTH}F@WrrXR-RGmA3H}4^ub2)ojyt{_ zZ**=8LyqV_x-bB->(foZ(3_BiM1^tNY%;;X9YdOt;Kx;!ixVKK>e+5^1_NgRnT*0g z3hyIdP-da4zC~-9uFuTJbb+RSgDnwjKxk8~H45q)Xju#|jqYv)xoy!?UG&tDEG~z` zcAU5mk(qif*etr$DO)Qhf8AMIkKGY1?(}-*#Z|8$BGwQ!fU?hcGXI8MLR&n*$2E z@!cU}s57!Lv{cfN6(q#OMOx@#LRJDHQg~-zY>6;Jozv7hUiL!m_eNROrH`1AOG(v_-OQ`DMfC~;PMmQc!A+!wY*N*It<^WyY_}9wfXX zjeyn5dVu`S^Zyy}uWgC|R^9(m^vwOwTEoz{@c#(m&jbIpX0_GORISk=2`EZd3Jhvb@{uz1mjNUNju;Y{>9y%p%YA8>mD!Z+&Zq`zXvd? zV$5L@L1|kAwGDr?up$2E{=YZ$0*v@@x&Pnn{m+`d_5b-8A?yG5{oCXJXYbmd+D5YV z{tACZ51Yx@#5R&FznBWU3?T`XKyrcP&eYypDp_iS3OyW2HeqMyf4}FPZpnHX+k|*- zChjV*rEawzR(GH7^PTT|`}W<@(d!RqZ#DwJfA#dB_P-(mXwm$y*KU{Wzs`pLV=d|1 zvHx_nrS){R-P77xEy%$D%&KSfe?>*wouk0>oH*vTad@%M@@lz|{m~=$`X!3u&d>f3 zaT{~9+09w@(e=c?DIARwyxCs1Sb1LT_w@Mm-T7|@&bdCE3z^^7W@z7( z$4*JoA$qsG^hRhqsZRlpHW76*8Foj zORYbbJBJs#1C3u(ilPvU57sq=`K!7*(EB;BNnaOUlYX8qjgYobok7fV6?)wnEm;$Fv*(B@p<9Q>j0bk7_a@@vLHSCv`z(p8n3qdTml?r^$bkag89 zR|&m&8oqg*?5bm1>naVMJ)=(|bRynK^pOez${krJ&C&PSk?AA(2Mr16@$p^Zw2?mt zy@+$)Kmi4p&li3xQ3MW6NJdaXdB%C3oSD!}Ni5>L_P<*He>3%(Bn7;Z1-Qum>-Ng} zAFy}R|F0q4&;K*^_NLzF68TTEdmi&ol3z{x(`h5^Pp>w^hB{SJdn{ zpmYWjZiHWoym3&OV7U|mdlnz3uI8I50gf2U`my06(3wgb&Huzur-Q&{_Z;@^D^5pEp@#E@&tk(XcYts&HA6frT?Y7JO zFKvCp|Fw?vjkSNh)kBRCwOefeeHAgf&%`%PDcXYA%v^3xIgIrYOqgcv-!o_t{{*b8 z>tN#AEb!esHslm~$8GpFg3*<|)tG6;6CweQCYD9?TSQ_r@f*zaZFY+c_E^=_vm&@W zCrZezSj~x<9q`EiDQ4m-t|o99hKFE`ItxO{?nQ@2b?H1P!FICoD0EliUJSfBqJT6c zR4aRTQ)@h7yZB#pUNQ^Mq-u~spCSuk+Jd3DQ4m@C1UK%C9E*B|q-TR0lhz6axk*-G z#HC9UhB^yFVASaXk{j7+umrO%cGN|{r07|5ICas3%2IURt$g)YJT6o&?A3fJgs4>& zBlBs?4NQEB_#}*L44I=4O<7*-ryf~+Z63g5MIHx3(m6j*c%A>lKA!$+9RGT9X`CM) zUc5WIplSQ@3*+PI@!941Z`n$yhTMaNigMfQK-4VT|4-c58M}PhCI4KaHNMsKKeV>G zS^r;0%B}xj9G#!MzkG3W{(R?24JAKt9>JO;_M~PzA;}s)sSyCWIc86kdcD50y=`;L zHKB)Wnr!Hr)(v7|pV#I)jOyFlQ7{2Zhduc{J>egFt=66ucpkiTnRm^@SbM(lJAA#g zWc&B|Z8Ooge&qOH1?Y!D%=JgCn8!Q@xAUl8DU zq(`^HJ!aR#DxNHzf@)=Sq#qV#KDI>hap1aJTg@%}WFC*N1Dmut&Wy{;->BR_q1Zly zi8+jBrps(Tb*#VCc(g+Qf8_>4(_NAK71N^rzgNb8AkcHu|F0q4=l``lGyr+Q|C{cu z_W!2YbNs)3^8XfNXO=ix@3j=IuXa_Xo5lZWJ!E=<|Ef}0_RAvXWW6)QTqzzuOXF8M zq?)l$(xD*7Q&xM3b{kUEXF1|<4s&F|9sWZ~9{vq^=JA&q;4jn5t;z@?5252xWXc_1 zk^dvlp}RwCpy*o0m5zl^l{|BjpV5qAqA^5~3ZquLg@LSIXSkvSb98hnCXmSrkD3@V z{}2Mx>WTCHw!e8Jd|T@u(T`<>vwm z`hTTc?*BWe3BT$8zka%}m$~9T4;`z}%cOg&dzm!*LH++dN9+BTIsoIo)9(#(@gD*L zFpzP%f*B23DXlv~?>+HqIqr~M+?5l@BUYUR?Jad{vUqRVMzD446Gb^TWFfwWE5NN{ z<6yFJNJkEgGvVESBBJNmCPtUjy5&>4P`n-kcIOy6^3jZE?@o_TzshpplI(zWi`surFZq8uz1}ANV;yOs{|7#+{6Dn&9{&&J&+-3gy`R3$~~dk4;>=zkGOQygRF5y-0fW=Hsbxc5Ym}K0H5uVVqu^Ux=YUy_Coh zldl$j{}&#HgrKmIgd`_5RUG2qtG%^k`xkDMCQJjzj=duM|3UbFwX>Q3ts|B3|IJTK z{LK3j{r}|29yX{+^jBK<*d&o2(*7SA|Dmgu_>T?#YaQu6``-*h^R8h1%YD_hzs#&; zP3a7Js;Vf1BJ5+qu>*|z?hOVQ`q|53f7_iwLv6EX_^IWWer9UWLhX!OR^W}(8T*VT ztdfQ?&-z)YD-n#7YHU_8@#89du~@U8!7VbfYY9MDA}BzxO0&~q7XX2TTClSroZfCfh9OAj^8RAC0a*a%?1|qy7FJ3S9 zRBG3Ytm^j`)kfg$Q>vxwtB;)f*7k&!JARZzMg$BH_Q3y1X6>-*Wt>x%{r*RWx3l`y zrsM5EsFD!6#|mto$E@ccb#yZm>J#3hzDgQd{X}taZk=1@3nkN*z%TJNVhn2aoG5t~ zuoI)mZ1&a5thBv!C($)LlWUGXA9y0z6nPktjMz1*hY|FunE<$E`^53^Vn^&YxZysV zjM?xG9;xHnP11SsgE$4@M6LVYGN}3{|CWh8m2a8In)8l*%cH>w#O=3qzU7X0TTz5_cnvDTR{BHlW>!UaW~fAfZXa%}-5?zQ_kydcrr($_#! zLP-uaPPn0xC=eKdTuvyjDb|$bryWz&2n_;Tg+T$!q>Ip2918tR?62o_*aB{s>9S{7 zJJ}IStX(D8uGqJ4?WU)JvlCk$UU(du7EG0)aodJ`L&Wouy+nhJsa5~k*3Bj@O3T{+ z-WY|SZ&q9QmuZ3h4`yM>{?}D~v;M!1vqQFxa6^)@Gt&81}??6LK#=x#w#Hg9l)iVbd{P z9RD0LKf)Mnn7G9*vBWJ^KSa6bsS`Ovmy24YMMHpeFmQ0ROco#o+jwd9vEZv{LGvXR z(bP2|-4{uCADl;`gPI4i>A1Y5V$a#LoQg;jfhoU zI<$l*iOMz)9N*@jDYL6HswkU_J94x2>>bO2M20fe&{ZbDsAk03>BYHmc>1EN8)v^5 zM=xLPXERO?+nVv==-rEB}sv3Ce4Sx2>t|_;SAsV5(^#3_C3|y+A(Sux5X^BWWsi@<}9g7!T zpsrb?nZNFWHR9D8<|u|s=AUYETxl>oPxC8bgBG~Zpyb9%!5aKkM_<|?Z314MdzR~{yzMtQsjTckU;fsokzOI zd((H`{+Imyhm)%&1#Eo<{~x>?W&Sr++2DWIk?zC)iD0+8$co(p3NV*bjRnjVc~C6S z;u^r9M0&?=HXcapQrIDW%%Dl479!z963fIO#C<|L>zZevX%)Gq4THsQwi;+6!>W2j zNfP^;1qw*(4GBAyWh_T%Zc=Bh(r!!x2!2RK1xY**U3|5t@+zfjpoFDNA}(sI(III_ zz>@7>2E%?W{{M3OZ>t;p?>bT$|1aK%=PJuZWPgvg(f5!Z)czlt|G!HAt+U~OT}%3Q z_#ZT_HRvE3yWP)XT@gtAOrWU?ib)B9LuJfcovf=+R*#1{1fBM^E|9`uz|DkEU4gPl>>Dyr$()1P#3h*MSZ6$~O5;S(1+5Qr2K$7!k z#$HEyI#ABvzvQu?bB4CN((F3%6oF5VxWAD>+s zuRpvxet-B%2m>AZf&Y4P#owcv<$gg`NQ8x<_)yZr|7cSTAq51!sX46}X@x@5tEYP~ z3`^_~j7~B*W_7jAt;U<0AS5tQYEv>SpPd_rXYbA`Z|I`VcBR7nYuq;8pT028&gleEHg@<-pnyxE7rQgY}@#>0* zKc!FViG0hA5K<~IrRTpIuMf{&ygfcQ-XC6EP{tO~n^M>v^rYs*jrS?QEm?{E<-@BV zQgI|)UloC>C}p(u7Z$-?vi+0j&qI7am=>@9laFRtjAkyqRCgYi!4I5E&)WK1F+)@;M^g9dvlYG@wNwgBW5&QmxrAa1qJILyEhh_253;5GvV#DdQf(6j*bLB-HclB&CU?I|2W{YgA+9>i1Rqk--RcDBSu zCTo(*^I>Zbx>e;XPG44N|4tN|Ut|48>6X`jHLbhB|E(i^!}yPWtJ_mxW}xJCAap?m zDQpT65+W-izJG(rUG56djRYovB{E?UOYp!#%U~^R8Z6OAA=89;rhnx^fn-i$#)0P` z*{fB1if3sa@F^Grly__1aAPtS5`d`ajIrNIG2~NuIKFpLTA}^Z9dWzaeti4C?Eg`E z8~cA9sjB^Z-d^NRhO*74TlsdL?yhdz7^BqSb3`;Hp4`fX^>18C7%|87U?3sQFY zoQ>cx${LYt4zr~0Hy-y4l3QlGM97m5tnx!*l@b&>g6!E3Y@Qj-t0KCRlgtqNqaZXm zoW%%;kjubIYWOeD_%pj2D#3P9-wiLD%0~@4`Jc{`vqJlqvHz%G>^7%nxHJpEqW0fY zwX*(udlUb&jx?wJd!9L-wSTcyYX4&Qs_lQ?QEjz_y3Yf>H^^c8yM5tw==Np%&$nu< z4yMyr&MY)u$_mZQ_i!ki;4XYaO}hreZ-Nf)=Tb+3D-5XOAUcXA!aeaCGST~jJ?03R z?-7MyNSj_n;KkcZTh_`=Zp_ z{Rg(S7IGI31|2}8uZt7=lJ>7ZPWx9CrOf}{)i(Igb)-4-f78jpK4_yf%cs57-acH+>#Bod zgx~yw+U=G$7^n(rd*}Gu1~BA5!wrP5M*Qm-YY4!GLLwx0?R9-r2~} zztCH-X28bIn2$`y-G=Vv2lk}KCj|ZBE_#Y@9hgWpo6(&&4BUv8L7Q{lj+=n}hncrG z?58JZFERFQ2iIQ=>I`?-?~J&%RrbeE^`DX8(%;?^d$ze7ak-&vkDN{a^!3u0wExcI z*ncqQm;AqaSKqAvtRvks|1&3cQ9?oPs+UM(>NKE{D(Vi=5+fmm#7Gq;AeGK7 z=WMxV6pNx_^+{O4;%+syfRkBxn*3VP))sfoG4b`%>h~6Txu&Lz5ZiREtMpW6F~phE z&;nMS$w{>;;J0ZEvf+fEF#4(X6t^0T$j0jOZraj8r#4h|#oL+9;WP5%sm6NwN6j8h zKWnMxqA<8Tw;No+Uxe}z8QNy|4xZx`qYUu^$XAPzE02!)8Be?TW#qUq7dX(W-4YLK4(v|9XSP~eyWQ@>K$Am( zRvswOpp{v<7@2OV1N29RGwvE84}(dZF0Mp3)Z4M$=w{g1&WG2QWo4S4X@xN5E# zpQQ3^)o^X7#S*7HoHmTk(9?%^Yq>_N)(UOVkF#L7HvAKV(l4*9GJH)6xI2clBLu z8%zIh_!L{3Qai!Mk|n?0hWk+BB%FZBV@#g*$_ zZRP#{w&czIkH-l7{qNh>jVYk(#XF{xea0_}Zv!Q|acqH;>Wu^M+GiEV#X}kPi+g97 zH{$2^zzxkFn|p>1>?Du+K46}2*0ROB(dkjGKRA2Qe@AYvuufDx%zgCM8BVtsn~QCv z6v&-gL$1j!CP}>pIfhYX8DU`?ZP*OdC0b|5)Pz{fB+_+f#Qo^~>Dh~mlfHI7Ivn-2ljC>&4_nXKPQha~aD7L&X;Ur#3+G!3sWXd1Pe+Ogn=u$DJ(4@XC@wYS5*#=oK6)sKfqZz}mJ ztGS`~+#vi+?Mk%e?0l4KOunLm)MQM%)*;I`bWsh7v zS~G7R?(==4h|VkBI!FzLbpGBVVyfTiNzHn<+sRS=uBsr4IDRNO*W4O;wif#t_i`qbiqa?Y@(Hln9X7ke-(YtD2{*&Y{fj)5ZuX3Sz@D+3ggaI+-sh6S zQaau)LC1^ANf2|nSyv<}N6bN*B$p8Ip(G7QBZup@9wMF6gck^2z6OuC*{22F&LpcW zk|iH=%hC-s-%#_v0X5&y?SBN_&Yu62Jpbbd-D_h&tT_LJP=Np2-q`;>Mp%abW_dTt z{=~Y}CO#hD&x`~RTtQqO5w0LnN{7?xsd7(h)LTjmHgLI{MFcHbhT4;qdb6u`+Kpx- zd3U7MY~nEQ$DTAVf^Y%yxpSsR3Kg z%$}yNeMH)Q*wh0wmxHer$O>D-wXl+FsS>qbm2=ow_qKxDIKp49jK{I#j!CRpVERIJ zA3`H{$CE1}{V_#59*o{pcHZZT|IovsVphPuGiXmjZ9a_L(g9sLr2^B@XV9IXXig;} z@0nDIR7+-+O0z19EmF1+rPomF=!L2Sxs#@+U73tA@q=CrmILes@PUXoiZ&m?;u`WL zk!|*LV(k?u81J8Txgww*-$cvBB;Tmqe z^WpuBUDR&F%7JI&_>q_wT{J;^h5%gXaQXo=V`hE~r>+OX4`RVo^T@AgI2CqOOJ)g! zWrq+WB69#Qsak4Glu~1|*ch^83#b%ZwkzaoQ%f#zvi)MYehR|{rNfQ=RAue8CkFM_ zw63Q3dU44|B&+0FYn2+Yh)f~$VemehE2skeP^XN7LXmTA5qovZe*Zn5S1v>)emY(? zGIdmW_uKN?-4~dXK1z<<8a~3REz|RM>7GZ84#uu$vI908Y3E00Z~NM7kT??Hmy3q* zt_jqRMps?GYq>?SWL1>yZD)=591#a|0{lY3o5lCezIhJgFwjoUK+?iD`%M%JBo2Oy zA?R|G&jj3i=^=<|BG;q?1NN$^YWQ0K}HxH-SR0vn8Y|Ok%S|3C8ve z(o6(DE=gRR08v%RcY`w+_y&;4sO)CwKJo>7EOynmY%bIFnfZ(^&|FTjC1MT;YpPPC zAeA7?Vt8qEw-+n7Cwi)go~jXx%hzEqxw#w2Og$HD7TxNMS}R_D*|%1X-4QMB4~N>@ z(Xb*SN{AY;vzbLw27i8!fWZ?yT(&6AulAbVdRJ+5+iJJfOrjh~U5Sr+H+#z~A{Z#Y zX}WFcv4DYfa9IMCFh{@)nm%*pK!T>OZ6Jj@A&jAWC5@`njYlm6h<=yjFt?y}0Yd57G-$FY55CgMaF`vd2xU}i?oaj}-E zclBD0ch~#YRIXGvh&+WtE?abGV$BQ=J_jSa8+v;ThL87Hha@)p_aYgeXS;Uoz&7;> zya)oY4&7jnEw)GtmQ8q9Wj&H0Hs+gu#ZdPAm%CD_q2j0Z^6>cNbNYWS^8eV{;D0_! z`0Mz8QW|xs*^rvD+DO{_M;m8m-{dO41k8>G;tQYE0XZwmIExf;LIf2Y`7$Dtp7_T0 z0tZ-+b_z<(X?SHvU5y zx>^5^5dJ#rzuBpG+p;9L+hj5lt^X#8m(BG(lBIDp2}JY#V5pr8FSL{6^U?W-=n{I(fSv6dkib^Z2b-|>0Dd3dwB=TsE#rFX#yp02-GHgZDCFN&;5U|=>-_+;r;%9 z^Y=fS%EtfaV}!i_-*=~nCnsk|N3SmiZ#E8q|L);I>wirPpjGl;yV=a~f9eMR<59w2 zhyPQgy4+TzW?OD1eL;4+z*aq@ziWD=-8pg{#|lH!&<@XgEbT29qTe~BULT=T+~v_1 zfoWiDGP<^iKAO&F*O}btf;UNJvxTRf{hszu&xSv1D05v5xtrhDx^LX-zIo)5w-{`| zcWTblZ>jfRcKwqnD_sDtnIA*bpXv5z!+&V!{eLShX|w(xBP?0}vq@m=n;+4Q@?!a? z9_ChmDs~AjvkiypiR?6K#}i&TnTp=evE$jenC)DRxp?wt4k z7p>%nBW-l{ray>W&_D)n9tIUizw<47XZis;rjqJX?BX_)7qqKU5w1zk~OUQ1V$YKh-r1^o`k2L?%1 zUAaPN=E*qo)a0pSQ*Jf(6!wfh3DAjfCs9Yr0VsDwnIxn4*pWU%@DJJ&P~$VRxza|w z4w{HdXCOBP7vl@>iYI}r5y%L-P+nl3M>Uf*Q*;+`+4^6P{$JlXHF5>K76-VB|7*4L z{y%^#+|d6=2>0Xv+&KF;&c_`1PxN>h@=p|B4Ev)t5%#CuS_=EKJiF4YtDUB#v^otb zxeqkdt}r*kFIn6;D2$_AatC{3(~DKj*EeKv#8^^~4UIr$D*b>}AdGeJ?_M&sIh#8o zttb_*`f#*Qf}1S^BwNt7h(wD8|5K;cKfO3Xw9V1+;G+L|{ei5v{)4G*xVL=q*9|K` z5@xKdV-^3WsyX>j#XBLJ_5bC=F~T_ZmaXsSe>|+B5%;YB$bhWXLHpZh{F~g!@_D#~ zY*W86VIL1b7+S1tN23G!W8k2s?%Xz*JG1ZDrAgQ7Oas16VCQ5fGSkQ5oB)1<`FKpw zS_DutpY1VyX0TgCr^ljhoN)l8#|k3gDps*VX1HcB`#xm66<2d;hUTE5MU}a}K<=Wf zK~*RQa`#1J03O1QNp_ESO2b|f&Z8#mv69`q8GCc~6#sGxC8DrONrnjeM~17x zrc4f4d&qSm_kpJL2-4~VrhS7F8F6E5yA}b2AlssajB3|zeQR;O79T_?sqlR-X}f_} zIc!9I$QBd%rVyt(4=h#)o!n$3X4?39(dB%?nJui&7e|l9DS;({)WQu%g9GK#Cx^H_%aPw-c2WRCrk7IUK9 zg~eR%K7JC$FPEhlu}{FEAjVVD_YghSgj1h#z~LrH&>TDbn;1O&FQl2rH`B#8(@ver zaz`HAk4F|M*SjM9M;b$Sht5DzwTw5DR*ouZ<^(=tYR|cajSMyvJW&F%9+irb$z*{> zjc=KsxPxiZ$fbVD8mUyPLZI z!A$_V;$ALCMuSyKr;E&SFb?Y+es!PU_th;m%W-1!=w z64$efgNel<6gjZZ_;3 z^|2W(`vS;`yr%!ek&Yrn5Gjlw49WNHhBbj*~j?q^2`~S?o zk4-E~SzY96h`huJ7i?p9J`0PCiupnP!u%rPYb~-078VtJ9dRFODFJ_L=f<_6c-_C# z#$jBi8T9@WerL~xjK8%rb7!j(^455@gW1hExLy3R@Fzde+T!gQVSFULc|d~M?ZQkaW!zjea`>aVotUV?FCf}ne2HnA zEqzQ~#x{ia!06EI zr9BU(FeFnGwJguj;lN0sVr zMUgrUwVSs6>^9Me@fm%|-w^W6vFjTkRG7N0g_e`NJA;I67cYm@4zLCFAgoimnEg&% zvsn~SjgOR)HY%6~F9c3px0KyaLRAFWKn`z`*FnU`t>`2f{d+&q5CwVz08#Ds<( z>g*|gLz@+G2yp4THb{tw1*_Wup{fgo7S|+E+S-AI0y0Im6h;LlWAT9y?DIVq8;Q8? zR6$i4H%8S1lbxOqwZqdFEkzsrs2#n0)k{VkA2wy};^^!}UmNz{^)}ndy?*Hb11{ZMU+Pg)4HZ%{uH8Ql|wBLJIRk?uzT6 z_$8VdrS>Eh&r!x52&2jtl8K>r2;7&rz|25V$x|6g*?8Y2x zm&k-ZrN7Uarr}Wy?H;7XicHB~{`?D{V!|e@0ozEn{3099VTqGa z;gJg@b+@**RI(+54zlDU$q??@{qDEBXY`hBnSirNG?id`-WpB!Ji7bWnrqi|!-uC> z8vcJF{VQ^I{|AS}lKxi^zOnOvtFCl=at|HH$N2#{d#|En8E&gbGS2tJTxv)kI{Re0 zi15KqwBa>M-i7CP6n!3}3=>QIi2I#F^xxk7qBdxapQryRrSTupB(U+1)+0UR-0*|b zf5G=Zm|oS$VCxCwe^QS9r-CxUlK($_5DGDTBUZ!r-3j&axUt*4H}tJX)R2icmDCGN zwukFNfo^dh5HfcHA;&bAcn$*IL}kEW6Nqu#U)Hq|(^1Pw)pS@Ow&T?RSq$>(;W^2{ zUt}C0c5DdJDHYi*0*MLVYPoyG&}iUU=tz(p2BKK6vMG8gJOv7^mZ@j(8Y@&J*9@Q_ z{R?B*r^5fw;y*U!68~`(A*=t-XT&R+B`mUk#J$mv5FSMTkBtAH=l`u$;=isWd^`9L zjYhrKYDsOm*_C2vKUBWn;TqT}k4XW5L$1w!3bXr`7VcVF!Tp6tdhMQeYv?3@)ofkG zN=fN5lR4y_vrDC6C%!gcElB?;_(kiVWljGmEMEUJ_rFb9D)IkU5wh#Q*q`pP)<)_6 z=erL}(*N?{Pybjf|8F)j{vR8SQvS1&Fz@^y;R!wc**|J)=D9!0!ganld|m9sUjPM2 zVEsg>b>xTKao8)?N;~?Pi}{nge~2XV_a1@9n}MqjF0PUr5Ajko*5<+eK=LfOpTK$y z{S5_7{e@1&$QIeT|K#-NA+jF~i|>Cj{@KZC^2by5sxBV(XT4Sh5)8hX7hwH1BP8R#8JmzWGMQc;M~lQj`tr)uL{3l0$3 zX=k<;u)DG#V})<7NH{X83W#5h?8^|1zDk+ln`PKlW;vsg>NEK389v85xN>}laY`3% z$=0A+G$t3uPQvb0g;>1N(Y$eG!*(Vcp%6ty*^xT+47Z}IrtMVOCaKWOlXxBeMb zz+~!7t-xfq847|8R1oZRXDbLUtffDqm0 z`w0NvKq0>ox0=Pa{nU956VL>rtuWiUi>U%)#+^WEnk)1{#Xu)P)orD+2}OvX__wuv z{}usjfc-#Zo&Sg>O%rK0{MrS!Dm~$$W(oQ?Jy&~*`yZhH%=+JGw9EV7RfO+C|3jgT zgd+A4+zdoyBB*|qP+;y;svCit1m=jDJ`})y1!`b*BnKAwM4{~n8*BCzIyDH+5Ss6d zO$2xyRyMJf+P-lM8vshX({2oPI^k~r(2FzLdk5JNm*wF)y~~6p=%1d>&}+@d-~VUj zKT@aM|F0tC(f@e7>siymlhSYXw260gLo3Sxg$=x#B zCTyRiVU_I?1{Fu+;b70UqZ_f+JkO#lXe83uA33gSKr5<4AYLj~Qo%n-@SvzSl!I-f zOE~N{<@c)8_*X~US%UtB?LT@jwraPUTNnjk5&d`MjQmGwm;3*fgcE)8z05EQykS5u z4xCXGF!#hh#H{x@ddwk$7mi zcF#}B0us$+xIiM6HUh0)wTsSKdR4iFeBk1@i^GHCWA%0a&CzLJskp|#L7a9IaqPz0 zl{u8@N2GHFA9=>z1I=B+xLZxZbi_>$b##k>0PI68#5cV|=*GY{Tc3`{_d-cL);gUC z_!9#!Bk;ot!7e?ylGvBfzw$Wrj~B-|>wiiAs|YjB|C;&aY9G9byi-0;AtjGS6W074 z{E*xE?!6#0BIHab0m3fO3r|A4v`U!F4S3^Zk4a17IzW*$N>2iNV(L?^s3T1pBH_uz zbcX(Cwhe!h7mIwWk|;xvou6y_iO81`zX-Y=iYO8p#U=r2w}+Z<;Iku+Q8H6)e}u9N z-QZZfUtI~c3|}pL8UHV)225wX<@|putJ?~*z<}p zCDk9pLP_zR2?wcK&AT5D9Lu9C(b|mJapSN*nRa)>etv%X2JPTB@cu<5Ubw;j%Lt%b zW`F&>^%4Ot?e#Stvu;?PA$~~fBeP^rPZz#~{#%c;|7*ytjQkhQf93tpD#9H3uQt`u z*FjtkE245Gy&~-);@z1=n@U}2^kk{q?I{Vo#}-%qZ3)-awELo3)QM)B!%AFLM7Y!3 z;tC*{(;qLk>_!j^&DaVG-wwD(<#oHb5hI@o!5)?G04aCkI%mz&JfCOfw@)0!m_Kbp zPU*=kY$kbEw6Gpe#Bwn|gg&4!(T~}sQB75RkGjxHq#l*Q<=1RGtJ+f-L z|3T}g$|nA*G6Eah5>L}qxUV+3D$7egPIQcqxgQUGtY=?pyfnSmOwDQk-lA>Gxq|;5 z`kaWtHe2^Fj#rEl_yiDBi;-B5%KuA5?Ga>ikWSBNUqR0`&#?)0BwGs~o-R4zX!MkX zE4ye|uxrq#kqIAUA6~&(9-Sz7E`dY6tqlTEhdZ3{j-!D`7HDokt__--MDiYq zYlTYf3%W(Y}x<)zt7tb)XGzia33ah57tnmOAaM|HpQt)c;#W;O{^3 z;KhP>OgB4>TMe$m*7kO637ovi(3{-2tTJ|RQ_lYF-0Q}z__==S_^|ioo|Z+@&mNn& zMlD^v!(#5uU-v(en-gpkub!qZx_I-i*Q2ARrH8TsJScW+Qlr*rGg;n~$T2{x(Lh*0 zsRIYaRuWnwUZ@GFSV*RWX{!wru%#$HQHZn&X$KB}TM~gvMBdIcZ@hbh`Ud{}#PG=3 zSu$~|k;gSk$+}5{5t>>CCeB}$0^8L1A(nsVHE@f`-_Zp$9%_C+IeY!_xUXJZ9$fa- zbPUgqQ%G9sAkF@o}C<>zRf8u64;xmW#Q>%Z0J?QS+(&{BRYj5 zmz+A^p5<4`OQqJXGg~nqVI@onTdey^M_{ z_p>Ob9{Dmz+z;_9A{@a^>dPr>^? zes#RG4e)~dKL}a>9}TJ0|6N6xh5uttZk64UIZ#Kg0~5m5pBxA%uf<$MpuCK@=(oG1 zCxIVyfI|ty)ZdHr21q2rl?LXl$#KyPoMC;{^~b7h+|3p`1=|YS8hcmQIxI4_b)D4n z4dgknjC-gc0beUn6c&RUp%>ASn%Mh}q-4-g=JtYXwZLC4e!+3!u=J+w8Lkl4_|VDC z;pmE(eaOR(PA}hAHh#}k|HmE<6*E2dLZ?*-LGY53xB=U^0X2at=twG7mCg)G1 zcuu+rXp^W8Kj=+h9@s&^Ru6&ZP^{-gmSzLu%xrsPRUB zmkPR}4x!KcuflGr*P3^&k_YpYWgAIFjXO$Xc?H-nzmU>VD1E)QOjzmA%>k0xU6fq_ zFiLWhOO@r;l0&q{C8#-_ju3`~#DYT%6&bk3;-N!BV-p_!=Ko;Xc7_$ zvKB-K5KQq2v9nWbsx=pm7@1~^-f>QAlet$IIdS1#4IK*&EJjxlHw>fV*}S1MF=Bb> zcQB2VCfcCEXBT~tK42c%#%KT9nZV0}lftz+Ay;$$wGge(m{SbM6s^uhVGmyER-sW- z3eB@< zg+?r3Ylw#B{T|E|lnVY)r-Fi`k-t@udUePC{4<xz z=+kzWc+Ua*Fh-s`%z3l;-r2KPFb=2c@fjSx@XbC8Qh^b|Z!rWMsRj-_?WKnxD694L)BgbkzNvhfrc&$VOe$d`@@Y+~+t zBxoRUdYq+>7-nSKaJIxZPT=Enjx1sckWlM?2mSe0W%SosxLLuCD-#69_=Uai|90Fz zeS7(Ci*0VQ%8hZ4XMza_)r|N>t$%d->EM{Fz30unc(XA1NZ~zz@1p&8nj!P;5bw;< zg$nZzr?*%Y_)ZGuV-SxdTBO~@6dJCn^C&4(tK$Xk0DT*sr1BXK4q} z3-tdbyz@=p|8}Gj|9utVoAv)8aNr{t__!Q3hOVH(8HLYgk33eSoP-G!34)6Z99obn zPiUzZVL@ua!a%t>%dTvQQX5q!RT(#x+Dy2{7{Pun>-pv+p8Ned@AE}wK z|7oI6;FA8IK76zE-;}t^-=*EsB=OS-Jni?>bM^TAqk4RFae47aU@>XA(xzO zyl#3EOS^|g*^OyAgL@#KI;QN#8B{}(N(NPiziU{M|38uc=Pdq9Qz`dDkDpEs zj*rg{58r(}eP23&{NBTZ=>L)ZKX;lL|6k2kY5%>FFwg&UxZz5;XpXjFx&EKSj<-Zz`U-KA!if>35o| z-)XLK=#b|C?7)jw#_eOF_g|F$NtKlhfNREQAGYV3RhSDbpno9yjQ#gF&}mZ#0xnqt)tmIs+r)2P|1U^aYlT76LWY zU)rHhxtX@Xg1jmL3FW$BB{2e|if^8&S7Ufje98(9aDjfqmok2g5(ZguvitDiu&pHY ztyAu0or!Ob5n6MjHnN>s@U!Nb1M~qxwBl`SZEZ1Qk@wii7PL;f;Bf|4uozcwi0K+~ zp95SMYB*u9*yLrD=-m!gKI&{6K2gubv3^hWra!oTieeG7X zzg%uIL4~A?{{NtU|M{hQdG@}48aPjYVw0)wRiM zEz_|5${PZjVn4B?4?^y-lgyud_gh+8BPv|umFY8o3@+VBPyUtU#aUl?tzuY1na9YS6I z4IBJxw_e{J!hRekU2Lw6(bmo=na0zFg7j}2ceTLR*(2Nkknv{L{zoqHe^wFl+CUw`9q|cKI&3w3mE7*^p)dwDlTcd@@i@nxVcjAO z8VPCGdMz*uMrC@{XH>I#=bDj;4MqgcJK%dYF1bN%O$%*3)71osq+$>Cz-m$Ll`$bO z3Z+(jcSin@gXUae6Ox~kyE+!&s|{HaShA9U&Lx-VYSON!GGH| z``<7&|Nb{jo^k)%rTgF3jQig?rIk)yYINncEVVmvEbtB@J;2|<9w%3FF6xaW=NV(Y zIE+uGNIqhZFo#BrhdA~$MXLhTxe%y0P?_c60_7UdLO}6v=w=?@Ob_2oM~=N2ncF&W z9M?2b-sFnz9g-M&8{`ZZua;3EdEuy%&6mJuN~}J2u%yA#qPbAcHSh{6P@TxRo#Kn< zU);wS-EOtAn%9ej38)gX#h;5jI2ftF$^8ns?7ovN|F33!82-H5;$B>Qrbq zLgY?9B;8KY?G;9kDr4FcY@8V5P$t2$atTO&;~GYg8c)ul|APE~qPgV95T6+}RcfA5 z{4B75|4Z#G|8KQh<^F#aVIG&cGHk;&hbb--#^!UGF!@3Je@-5eZ>q%5u|k|ilS?zaE^&J4hJ z%AyimZ5m;>kx7662x0~p%*->XyJXGXCzbzG{B5KKxj42@p!yRIYpdo=-9j~Ucz#6X zXouvv`Lly83|FVCGbe&m|F2X@4!DL<^P-Sj>3b=o360nvtvx7pj1mU_Kp_Jr0 zMpB_oPL4=e0>mP<RQfPrPWiry;h^&=;?cVhN2JEVOJS8yO~*=epbxc z^gY6B>MMlT)K5p{66k{%QVDVY;NMx|6rgBA%_+fU7hmD@rYW z-qi{xj(j#XapXM`Sh^Da0DqGp5UDSO4}ef$85QIYKqjQLU?=dmoCOx;^&~ZC7or0CcGH{--8>}e_G3Am86EW$H4Ab7&NE{VufhQuZAwQkRP`Tp? z0hKtb&{iP2ljN7FXltbFfFxXZLfYBLvf_>1s4eIMp;&BEBxqGLxDQ0Db2(qcAW7=4 zGIt#U`rA!q_y1ED1HVm{JNT1nk^V=i=i>jgl-BzEZxyNN{4c3&N4=*ACMk~r=Vhi( z1Lu`0JQS>VyY+UnQ*UJs19!_P+*hN-UjC48vtAa}5s*v#s9@&)Fglt}_{TGjPO8 z<{4Ax1~)6FpA005ORP!z6)%8IPq4?Xu*5A@Kg1xYHzsPz4N;5S0%?Tn;?sg0YLf&I zVJ@m$=B#oL$d@34qN7Q9d>I?mjAnkW~!Dnn0Z+LFT|nDo&U7DYyQ8ARAm2^mRTOp@+&Vd-P4T- zKMy$hQ}IVHD|fq&Z+^lv1s<4FV3nl1=hvPyb1T5WPR>rQ$j6_*9vr=>Y=e+cJB&;J z()bvi3newrONIsq`RtCN{GnQf!NEy_yW^t7J)%nS(FdMTU*YdzOlS=Y`k|JFP@;*ZXSit}5-Fi2-|8IBK{=ch8 z_waw>imO-v!iMIp0AW5Y0j;(;`oZ6Rb^-8awqWMmcSeEf{TiJqJ82)e;KtDSQ1uPA zOaDG+oZ~K?77seYj7s?OFq8N`-dMcfhPq;UnZM=68nL%r9R<*33;>ONd8B=x&2SQ z&i>?Pioa6w&)-hV{Q3L>X}`YLYd7lcMyK1zNc&|TZ@2eay}r`Nz+p)nAPV+XMLbbq zwM|FfZv-nrBGK6g(+g%GdB0V)G3s7qzj2!hdNg^|k!Jij>;_MWz|T%=ymO0_(vy zfN68lbW8CLa83b%{HF-$KP92579|Mv04+VjeIMQvpvYq*VSrGOtLm^E>?W%LA{Z9c zBT5o>yR_hdeVp8+A+SNc%mxt%N&;vXZV%bUPw!vx^Rvo#5k@>=!Q&xrWn1=Ag1}3a z=FB%ljTL%i=K=9wx}jgjW8uH$&i`7?#@haC6)A83DQ3iTg{3@lzQw)Kw~#)I{vR0s zt=-C<|E%S|6{X_!Klbr^%(XvmrC{BUGs!UvoxFuxRt6t8bki&J%*p@|-Oz$v%UUhU zV7|V3W9S?~C{$bLSSi`r-s@y@%o>~e*gi0 zP5&!M`SoA!SPxixYYqSUw@*vb|MJfN|5&X5Z|2T_8jVJ$v!?$Qq~i7ev5@~4WB$)U z`)>%?l6peoFX8hoJ-b;7#&P60>^W;c%P8gV_3$p-N5ne#JD-C0nITA`j0@NJ98B7& zdY^MQWY2T%4!s2sT{dLlPjq^Wd_CS&%)J1s_SET4bO-J7#SLkjF6^p%%XhuX-c+c5 zZK`q#tFRN^7RVuV6AirsqjGk^UtSCb{P^t=e|Pk1aEaQj_ywx)k?>&|xN1DRHUevy z_2r+g@dUp(EyMp&FIt;Aeqh~+bzo07eLQi}?{8y~{MX9cf3@57?wbFvAf@>~VvQn* z=e};-JQDNIG?C!^nH=Ott!9HPc1Tr%~E~e9FbG~hKBn4i~r-VkIr744laP5 zTwYSf20>eq3x^CueL#K^;mPbz?_Yfvfy&}}tMFrzA#?xi53{0FlKw~Lr_h~5P`6VM1=X^kU`6c3NS89I zN+dWf5eJ({K8!gJ51{{`v~icdPaN*z5s&ImD_geXZbjM@j!Gmx^9`?}bJKRJY+KY& zJEZHKM40QSoy>!tp;55R#FOGyS>4PkQc3#1*0dUpFh)FIYVrR^3H+b@`EOfkuJM0Y zk&5hp5@vVw4?4WyslPA-nwy)p2AW%}7#FDCsJGkQZZBgLv`j7Cy>_Ef@6{XqM#46z z*QFf<{`8Z6%^*==h0aJqoTC_80$&G<<{E&qRqLq`s|6Rs(BQ%r15(#IA5=dV#_t_p!eikBN zGlD{&s`fR4*@iNN8aPuE;k>lUHnvhbG;Uzsr@UKrV(^*E3E&W8_MmrPSPY%=ztD{L zv(pmvPw#8!wdTX`|MT%*mHOKLV-+b)|I_KdZ_S2}MDua&2|AB&lAgCCP9W(wUat`` z!MD_562fybHKv?m-LPE(c1XKY*&bnz2q*>t?S~=n6Ki*o4_DYoY@|POJZ?ZM+#%2w zj+IpKpEPnr+#4#vc5P@GyG`Z&DmDHW1X@^v{)GsJFaWAmyHUMbqa-6(xc+ww;(s;Q z_%5+*~mSMBQLx!ple);<3_%WA z{Wo&us}pOvJX{I8miX!ap0 zPfPjYo`_D`ZF~11A9cd;~1?46IYPT_*BfdLA z^P~&a4o9f6&<%m%ndUEFM*ro^K#9hei~rYZul+w(l2Z1cFnw6fVXo;KBh|DvVZMFG z{#h|*Wcp!P2%C9p!q&Q0^Y5lZ$MWfrtTtzMOdR$*Q*S5ihku^EM9-)#l*lH%h;J;_{uK93#?9GD1pZF#0O+x0_W=0N zoLzu~amMY5sN2IenBbAa?TJ|YsdP$`->_6a5JknogMce+%iw$&n}>zXq>l+UHVjL3 z37C%#J~v3&aidxYCKw%a81YxvJcVCe)tqjd-4c+Dt7 zOaM8x7-@9q`Tv%;4hWku%%^v>uc7Cv@7M${k*`GzPp?74({ELKnZ0h@HR#jGgdcJZ zuHY<>HYJ_FHc_ay#24~-eA1X07S>& z5%9laE8tv18C&37zHqK+gw7RNwrPWy>vp(jc+M;iChJd#N9J8JV^I50?LSpD&+#$# zVA?e#tT@x+z4ng-yq6L85Wb@I!M%5zVZeQX|<=TDc)Agw-O-$7sQbu_0a`mi_IKRXd#R zK>-m7!b1dn@m%dN45&t3fQ!G7@#8v`<^Mz)6t#J%YLg{n0N>C56-CLP|1>+w+W&VI zNqqk}pa%=TF`eu%;YYR!JKmeAC2`VR&37jrt4tl-tFwPQce-&SFE`Je0Jg+4SBI^) z%=*D+u4mM;)jKQ^-tfiX1HqhQn|Smz^Dw+iFy7q!D;-d`XzhW2+x3EwwiDD%2Y0UF zr=!|Z=1ir~ER>Uvry_z6QzYSgSEbO8F)8(mzh(Gh@~->kBd}kTf_`~>{^I@VfL~r6 zT@Co@$%nzmjpuBu;5IwMh_x0iJ;qiw_w4cc+mo|b1y9Qi_Ht%f6!zB8s|dqsqZE{g zsa#O!tMlS2#eMe5p?JBs>RrLJ@6TSIU%VZ>D0n=|VwZslo$}Gp7it3eYvy8Ae>_W! zq=>;JCnYEQqSWBZoT{J%?hOBJpk@z#69))zRXe2lPYbK4X6uQ6z@GT5cE}{aL|j?; zKysTQ^_~ElN)*$q~izbSE4WHmsh#YTm%?u#|$kyd~?O(oWYIVEs)=(k&l zLyAAGTu3-hfz;%RD1xfV!>)Abd09XPoe#69eB#;Sc=YR4WW9=fg{uhL-_2|VpHYmP z_1f|ctS$Gk`l;z_`$F1S3BOObH<#(Bi_rm2vqK2f@Y6~fu7r^TEj2)<#wF;qc$UNM zP4-93p1CjU(^`9J%RYn|q%rOtna&R}UD;6>-ZMe*O1 z?i&AX6{%4F*V-SMLq75_%)PBYt_m>MR$dF3D}sBjPLCXg@P~wLR5Q(jgILceR9}lU zeMx1T3GHz&m~z{=Ez%*fU4Jr+6n?ff^{>Y|tns!rPTTp08amiT`Di5re^%g8Sc@mp zIHp@CIw->^+DblgwxCmH!)AkKds^kLb8&lPW7kMoAk-3e{n>5KXbVk!7RV)6`xMLaEuED+< zVdYRQ>&Jd&Ls|ye?#Qezr#@x{RX{tQf%ZsAA6D7?$h?M~B7870iz3A>$rkl`pR~hu zrJf2Gzo_yEPcNP>C|>{c{^e!SyvS4nvqD_aJn+&}M9vV}x`y508ua?`dDJaFR{b%> zY|nbKkzU)lr94*j0Q>PrvNVhI=VQx+jRl4^prGq<@o{z z>Z1gbP?>>iEFL;^EH*JJ{BI%(d>H?IWbQn*$NsLoPP~UbPDO=Jj6Ygdix|CPFj^u& zTD{c`O(aSW#>lK4Vy+|w=wKybVG!Qk-Py)V391&}4w06U69S{qml?6snNtkN6ur#l!#;e{ol>LLDmBmIl_JaNfUmK6%S67lc1eanCLS#J zp3-_pQH1%9(p#ER<)Gdg=JgmS0J4aX#g(MYPN@+K*&1S9`M-oS1vR@L_vk^%(I}#- z%)P#4zyBW1DhIL>ms58qG+ye7*Kc-~etn5H=ArB^tYSl`!ZL5(E&b*x%3z1=;)-7$ zpT8UM*C6vHV9(-?h*xV%)LS5;rC%*a6mzJe?A!L1_|75wFh;(o6?|Fz?idFB;_8f_ zo`bB5U-r8&7Z@R2%OU7U+q7u5oPNvNK%fM(fHX0#K|=e__UXw-Z8*AN>L`~tWsscdKXKJFr_EQ;JTZ!VJ={mdpq z`r#ORBIke%>{MzLloD)N4lj-FW=y#U()zG2-&B#5E9vkcxg*eV^YvVA%gBu@?5+Ix zWxrav&5`W!;NpV6ySk{zjC*AdSkoRWU`bIs^CS+LErGy=VW(0c=854$p^dASsYYT4 zJ})E;)QcU%_R#RybOvl@>{vQ-p;LmAxL5uN8%W89^DI}Rf@~KgNBq77Eq;%PB3`ap zN5>9a%#^Bvu{TRMD|v6lMc9iU*_*-7r-QRsSFd;2_BN|bj60M7T!EAsbBEgCqVXBc&LkP}AyX`Fd6`LQ?nUhNnvkfP+Tm!_u31(k-9|^KdyNl^DT0!rl zn_R7q9|nhmr!4t8Bh%Ie#t@9`cHmZFQr?L-R-uT+{wppf=GnGYJG2aS1RsLnNdw2P zvUnLZVa5k{)%BU}w~@-8{|d#V;_|JL#pXM6>Yb7Zk|MA1yqtny#pp+XVL!y$A9kD^Y%aO z=Gy;%73nM4|B>AHG$Z|$jHu{Lr)CfsIzPHR$VXKCFeMFq6m+pT`@L`I2bqA2wK)5D zJhLa6r!fv=l9y&H|K1$w#)wI5mA8Yp=NCV7l&s!g45;bXs;A$oo^k9@!~pETlXfoL z;}?Gavh+{3#pD29Gd>0IsZ^^p7g#|5K=uXrU&4|wo-_AZoax_aT#P!~gYDwVqhthh{ng|5X# zlcmeS|DeOg#TCCge=|4>!zsXH?kw;t@YL4#?1SO?7;r_|Q=(9fnIiB0pS`Q^YTH=) z{nvboEjLXK!A7=a*`_z#O9@Fh36MibpXZ+5o;|X(1{K+IB^g5d^t(SZv#WPGwh6dt zt33&_w69w2&hG5Y{KgEg*rDr)NmzeL_+#uJ?D(CMl|0L)&wl%@t+e!6QyNSgnK^;N zJ@}8(-(7RW)lZrm^PZ>1A&b7K?~+cYuN8u!-3wn2H80>w-`BB=0+2WSl8(9 z=;KFRovAC9W%)B<5&vI;|J&}gD*k^RA;bT_ zKRiEvck$x*{Q2gSIzs;9{AG<1ds4R@pPXJjsgpibW6GXru(oY(Y}mqbVVBApCL6k@ zb&aYq&+GFKjJ7s50&nJ9P}Xm8g}?7Mo4Xe5)M3!2#@ZN-A4Nqp9xp68|0m+M5qUp* zVEZ4f)omC3f3;f`|G$n&WT0_65kk?NVc!Xq0t79l6M zJ9{XMLER%PEzZt2~LsykNGMhFU6QDMwXO zM$ZVXkp>>8$6O(LFNG)%bIJ8^Ve-Y-F`E3J%rI4~RYs)PxSg>%IKIHQS9!Eur5hW*0a%ucsdJv)Ds2lO{Te!pEcfm{$DF z6ETh@53DGCfasUL5K(M8`hn*ElJtLS`sCRV`w4Yd8i81z7g#|5HKX0h)BmoaSN^}( z5z6V$rI-lcu^yTJB(;>#pCnSMS4pGRfwC!*fHW|F=_C`V_iS9x7#MHkql{+^vaL_y zVtf7)zQ3jC1%#$;=BEHtQ$QV^!aC#M?L{6m9NR>bGJYw-`crBswui&xj1h0vyy5ih zJ>vs`Y;@p?v)}ecybnv%h>DC2M~aMVjA(E-C{&!)rUs z{3XtyLNmDLupV39cpC5KqYd{gv{3Z>?SCiV#xl-4lNaOP6B9G91{9Txk0B3k9YQ$s zW|Oc~9YGqk$M_|(dFqU7s?@k?mm(*Wgty3W2er)`&xPVm|BhQ>T&D>3{u_Sd&J=@C z+njilMG0kVrj7l{jTPJ`cMjf4p0_63fq*3Ll*`FZdzY#787jG2nP@APsYh*Pn`*&; z8YP5~datOvGkP4dC#SQ3_HMVrF4Y()>p8sH+9>r{hoH!h>#$DMQ1n-)A_&!KK5sPc%*6t>y0aL46z$5DGgdRC6y;4?zJ4Tuhmk= zQC8?nhkZzg=MiG=`I6NoiY(^kY{qFHNlPF|3|li|iyt8FtvT;6%C#f7-C@{(n40$A8zW9sH@VNdBXh`2TL{75~4EFkk+U zGEnJVbPY-Xnabv90%X!CbpR4?w<56+lG7v=$5jbNG>1<&PD`7ow8vm)?=Fr{j^7_# z9G{);vHuaczi@4+SxlM9rozX>Z1Y#)dz(aXZKk}fhMrt_d@=TJaNpqsY4@?XB09A7 z@I%CwA-cZ3aZofaWGQMlV-eI#K98F>-@qX%gf9xW_O|EI!o zOjoJUJgog!OVf(@A9}Ak|5-=)k{KV^10Z34CV%wv9QD)-oR4^tz(Z#Yl#^um{L=Sk z(>lyFD5 zpI|h~4?OU^Bh9eOV&ZtX&G`9NUfiEWNRCPQ>?u2Zdv?!M5q|bH+Jt+G+8i!^t>Bu$A(cjSm)YzoD#TcFf;_ zV~N;WZjM4|viPO0mX#fb^}x=YUL{&SNfmp2-*3MT6Vi1`^N6|%^0tbL<35yNzs9lSfT~wVr>V3My0Ygom0P| zJPn*1Hv7Tx!x`}3C#H3U!W89i4UeziD(BVP)mA4HmYDzjrndW8b>MvXr2dbVxBqYT zx_bAk?gPE!C&S--{xA9ck!d(Nx@R4W=)cx7^7LQR+ZF!bI)dJ8!S`+SwWe_U6>a?6 zg(c_zaCX@sCI3f||7g8-5&s2s!m9cI_#uz~Li$(IGU6_Xi z)3jRc!O$q+zm(*RL10SaNaw3Vwi|dUocfXApU)<~xO4(wq!67VlE#M$&4R#BVB<%+ zR`Frn+*Gn|y5%tPhx5xLmkvsO3)nfut09_+whW&Lvq&NBmvV`$_Wg%f{Oq*;b?iEV zTtuK~r~Xv6Qu&5ZdI_^Y$P(+6Wou;$zU2H@W>SxZ|5(uf)H|(e{a;5Y>VL}-@w~+{ zc6im+;IA3(HUA$N|FK(K|2ti+n*ZwvrR#redz)IN6MI~_?vKo#(YCtH=Fm0_t=%hM z_p>IxWu=iXS9H54J)-6Cup{%_Qd`X&yx0w`%#94*S76=fj$=E!O{Obqni%yKPkRpLK-N^*_dbNUhij9)v=G9St?TuQ!{$ z0dSuEIedQ>Vxp|HjCYSBw+~A`zcF2YJuF@MB_fan0t$9=W&p|p95YDlA6(WYe8LXX zw{qA^bXxms8>SBw|GAE+o;|xeLhkr=tK=b?N_B@2mz(QBp}Q-8cAVhhsAX z7O@%o@{`Ct{8v;5LKi4#JptWudd^>-A06?-lLP+l;MLK4!b4RCMuq)QepyhaUeIOA zCEeBRQiSd>kJ2%&%mu#SunPT0O^L?X3qto!t^-Zm3GndA{&XD+`M+*K{?qMN_}^;@ zFVq)g_KaXIuEKB{?CtKtf^an(Hi6yQweKdg>8>0oyG{_yM6f&1HKg=KsAPly-nGR| z43L~WPz%S<7!3@)2aIEl0YD*9wH&t`(3h4q-&m(azsgXMnH)y;oJbZ zyG9?TehfJmT$70aEE(6s9X9klmrX}NugJoR6mKk46FUE2{`%nb#oMEEAdm0glRw-V zA?T5vmn}x-%nkR*m?}E?{r2q^hRC1-)wgKeWOz%?MX7k8@}Wb?ST5ylViUK zAP<`y7ZOIZ6n;h)_iWn=KW2A(h(;{I{^1uovZV|TiZ2V%p@t%?EgRwceL^$hcdvAu` z*g;@FtNs*gY3z#|SnVn9*1Q&cHsu6@ir%}>+&4;wpc)UZ$bZkU!u+TA7j~ob@caM5 z{O@SJYW}YyWaj^Pyc@X4^~3Cpe@EVoTJ3IMjGE1kHSD%w3C+y&B(Q4zn*Zwv`T0K{o6~6i%iqzl-AFgIfzfR0Lrd#- zt-}0QspI*t?j?G7Uz+jZmF9m|P=iT1Ds+02hz_K@Kjaddw(ajElinYy$-WK0&|lFG z!(S2y?7M;ocsx8nRPX1~?s>6+H?|Fh90`rs-DZafcgD!=NDxwsL=doGYFdK1&KMy- z(B+6Md~Duvf(f_z&A2{BAj)1i{{x2JbYiU$`WX?7)~G+yTCjPrM?)>Yd59Co=K}JUFun|+4K4PJuKjY~FOZrC zKpUnJrGUxC6F;PJv^4Ec(+rGS5%2}FuusqqlmTF=s3uKX8!==Nx9R> zVHXK}TIJO-QdlWn_&49r~?-oloGNq|)29!5JN3hsIi27B>I23aL z%actnfq=hEB36ZahtH$`%c%h)JzUZMtKO~bf7TK*`oBN~Si@seXDUXf<8A=e_?kVb ziy5i@2p38Htpm(fqY>PVhn^eIp=o2z=(zUS|1tCSntl7^^d%a}Z6e|`CqlT%eq#j0 z++x3fyY(F+AWk-F^2r9dLYFt%#>lB?&f|s8ng88~+5fd$?ZW(r{a>a3v5rv2|Cuw} z$*_OwLA06c>Ak)+Y&M16?&^kF%Kb%IGR$A}ka)j#my~|tB3+Zx_K8w(>AF6x?V;SL zZAqPu0`DiYt-6!LOmp^f3XLB(nX+sjH%WwYA8j(_7LHP94r^+z8H6&aJY|v=&GK#a zR!-|>VKv#4pju71=9EBL=?J_=a;+QFMLpm6OsmiadlQ8iq_p-4M-Qq`0=cdnEC^_%HRn_f!m+(J8 z{{Sg$UiS|A@sd%58~|!)F%sTU{(q}SdxXmy#nU@ZE}`XS;7tfrs91^=UuvY!uD9Ad zd5$G%8nkKTz=aIJ>vEJw@U+}}T)0fAu_~Gk=(^p6FK$^k#x)$yojHqG8jhSzK zN#czvEC`>o{u>W-{@ZGG3;4gf(b22*e+{9a!0k+L4EzC1e<=J|jXVE1k_vZPwlU~7 zn`XCTSUtU{%w5QssB{;i$ma|#E$}x_IwvFUObzY}-RB>ksZ)4=1@p=n*O=mY-K^uMKb+eQ3$qq6^5OUTgw z$lHc9fjPeWvv(I6@{~tJn!i>{=?rBCH8_xvssljrwOE+dfzX_{e`zg2Z)Zu#R+KpByN z`SIlJ#fP^?{Qbqj#Swpd{KL^twdZWJSS$UE2IeX=i=kr_ht|ae=)0b!GCr2+zvd2;Eeds`=0#w|F zlHeQ8rdZVP-=%s|dcjlFhLe6+rgK%y4wEd7H~d+kTo$e=-XHE7`|z@A&6CA!eiQ7m zZvxiXhreXNniLjgXzUaJMRr}8FPJ2t`=1Clgbpk7HQbD82xTgW_|&w)G5Uy>?+~S` z&wHh8cW{o(BInd;&SBJ7}IlgcWC zjGv(AV<)h7r&ch%_DhI*CN|pL8@4?(+s&rk>i37O_NOR&Hh&p;&!!+6-;pF9F1k^0 z??EYfa5W2U?>1Hpo4RI*6paJzc2N2WR}}ds#63wt)z?))xyMo%T#@{W ze#CtVZJVwb34KsB(w(bqqmyke{OxKAi|rq_7~#SEo8z;?@A;df|I}()MK~+MSrN{P zaQ=A+=d*;69UPzWbC{m|quJ8vUr8b$4p0Sud312`;r!@*tt`#)X+D+q z=Q-zG>HJR~9ItBrzv%q0-7ez4={>#D|5`^VlmFUJLbh*P+b7JKY%=PpsgSh6%;^Ey?pjO}c#VLP#1~iz|0HBD* zK7P<9mVRXh+=40QjXBAUr4%WEx}jkLm*RMZIX=C3Q{Vit@M1sh;b&q_5FyT?APJg; z!lhZbSNxdshjbvu<^*~$D30k=RCKJZ8*NRuU>7~?bxf`Gi9wytTr#TD(eh|p>ORpm z{b5ONh&gUd*ReS)u%p1Y5|g;0(i(wX9ey6phoaM_=PD_E0UTo^r?HRE#{#900qn%& zkFDi~dt9G1x}}a`wuVQmyNJo zsW86e9gQeIJJ{4%qv0R5i(4@N_MgY?#6f<=$yImGc8|on;+EoASqApcf0E)=EJVI? z9oWI3F9($W-X_Tve5BS>eb(1Lx6f*FPM5qzf~166z%yS+D5Yh3vc0%3(aPF^-njmi z;MV@1y=!l4+i3QG<4>`53AF(W$#=*hEhVJM6D~PG+P5doqeqt3SO-~hB^km=^WD$P z?CNI8*aqVC?dwe*WbI9>)$Z)f?#yp0_(-o`freMN+(ED@?^Eq|2i3Ga0DA-K=iltptIKq9f3$^jO*2nr{>~X7(LfsLR%&ioiZj zvgfJDkq=+Z1R}DJL>l7EI4YejFuf5^<)M2y!k`b)CQs9}COTh!iXrC0%pZ6o_>Leg z4)hUu-3$j(mte|pV=$%B8ebL;D)_PI>Bi<;1S^ZXi5kRu;}GmZeI;>h-e9>>%6nLJy#b-G!Y@ef)CMHLayMWLIou` zBv;fj_3D=W^;bOZJV;924oB5!ZP4U|uB+PPdqkqO`MBvIlujc&#(6rUGk0fXrW1Ps zjFEnEc=ql{e+|N_?2OZ6{o?3SKRQ3xPcD9`h&6GWmEX9u<})f=mU^~Yy&-Y0nomUT zaYe?{6y)1tN-_w<9E>7_$MC<1vwN+-(vRPqzI}Q2+v)tvKzD%w6j3f>V3581F3$lG zyEBosI%khYHA|zpq;H$5=-bxg`&MZ2W@wdYT)Ym9M;6ut6Enbu2u?d8jMc}{yxlpM zT?A+D8IIwaXz5pt2~fQy$634n_;Kb%A1d@Yht9|KFVPQ%)cMB|EI{+USiu9~hv|*o z5KS8^8&MY1aUoZKn`!Yl=m>0zdbj=fcNhE{d|~3@DjO3^AM#k+EcWhI{K2IX{@5io z{N4Z?FGrDd{xw(EX>+Vh@|(~nDJ2wgPxg#N?Wpf|9^W(32e6R0-IrW1*@H#Z$q_m4 z(3p?aly8XC;oaqVMJC)QBmx(}^YWpHjn2h;rfPO~6~$_GdW}inH$~+Nq(Ye@mb%uor{SvuR@Nyz(M~=A$V%`~cPz{XjpiS`%}XKMG;j@)nvd$kuKj8SV_^g4FAbQ51RPScHnflAgD5oR1oK9jSiXs_kX1+Hi~ zCFDvX7*-g=Q9P1?d7eL;3dH=;eX}oDs~1FW3!#)FU#kxjL;z+%zi)&i>M`-=24r#A zk4ZKd(ne6(aB43cZU99NXe5VTkY4I-&$q+7?SG#Q^?$Q4@BY7V=1{|f(AukmH^)!u z|FzY~`+sV8R`wsu2#@#w(%bE7eWUjn|1X+kKU9M}kXSt-lHuokG>Oc=`L8kYA4_pQI}JmCTJzrH8|m}&o&_y6ALv{wF~ zmJuF5|9P*ib-T?+`F|p{qelLeYhj;AS=cV9t{cyM(HSY18IjL0SS({k2{(qY;s>ms0@AN1$Jno_4Lh9k2C8=WI-KM zy!wjbt-?193)26uo{r>dr%JJtvJv?asKe7Ms zPN%^CcSBvx|0RUS^M75n*)tohN6CM6Jc8L0m&ba=%zCZ-RXBCK^g_cy-<8k0&RDtt zl^c_l49{4VjjNR+Kbk?nW z))ev0WJOhcyKnJ6lXxsAM<-|Jzw0Q9y+1$7zxZpzw{8ueAA00}0$cg4mArfO{pX$k zq}oje;5GgU*j(3e=B5I(%p{lm%`T-XVmpmN`N}Fgj6GTT*!;ueUnaL+AuxglF^@NB@mRA?KGs zkKP`g%Ci8P>f|uOBrofp|0rvGD1fF zyEr_5^X~HHoAdqhdIk5fZ~(GepRHFc+b1Vj>lIS_u8r8bTCG;grIN)>2lxzDGg!|t z%xlzu*so0AFsPPFfj9O|sOxk5z%M(BvV;3%Fz8ZaZHPwOd?j~&y)fteclm8CLML3< z2jEQpufYFrU0wPASw<+tiwMKJ9ao3H8JvhztX#YshShAVbw%knOv~u-Vtj~nxhyV3 zI)#?(`Y!5VZOLo0WCy4euETnbnQ4bTcJ>MPky{Sf!QPK;{idCJygH4&z%WCb2rt+W{uCcUw!DwvGk7}X}^<9x}T7UvZH zj|GETZ*)n!maYPP_i4HyJ`Je!SPh?7Wj`|clkH7lzD_(+*NqU?iXMW@>6MB%3hf~} zBq-PVu2+k0Yk}QEAB-f424z@*9{jmPzpjZu3QBYJahi!M__Fjk;kJrOy8a|Q?V8Ar zt{~UeYHQ@Oa>&DhXA!3CseXC+JLUTcvY}T>A68PsVFK^usn@~<=>L`D^$cf0>^BUv z>3<{d|8YhCml6v1|I8tBemt}P7spB3-#0q#y4g|`(`0Ekiq<8n^IWLnFjX86*B76E7bA*4 zetWfJS=~l!O83sUy;>(lclg^SP>-Ysj9|Dkx*`b{J0M9Zliyn0<3r`onLR^0DH4`1 zL&a~oaSbHe@S&W~an~n4ThH%+i1q7>@EA%9RIBv_r{inJjbS^a_qor+;l3V6RjL`R z?CiT0?)#qbVZ50v_kC?8#2DWgPAl=s=R7JPN}%TRJp~S;2Fgv~xWP}o2QVl79~nOR zI>fGqgrFAi`DK9_^j~dta{Irnc58+Ixr|Uqpsu*fecQ|ss5mb22int2tqr_?z1Qe> zc;2PgM5!!+O5z29Y6%J@=et0AfeB6uHah6zOqm?b zOpfMg_Y{@1ZOhODdpL5qeuV}k)E<1S4k@G+^Zw20rG9eoFW_(Aou3`*FMmHhIC*oZ zzj||iamlur7BlY!wyQS#FQ)zt@Q~-6|G~hpyxSVEfg{^mQ2paU`X5?rb^g1Ikk|jH z{mH~<-jmuN>+3tX0FQ%jKU!Desl!9&|DpguGuHoRtC?T_HLbIn|4Rr@?EjMphT;3h zU50s(F%evl$$O1nTT!%LvuSqv#jHbACd)WPv7|QKQE~ffi>}!dzQmbOXav_ftnct9 zqe59B+B2eja?@xOYm$sZ6M6C<{&0WDW2Z2XR&_>w50YYV65+(%lAP_nK%d;(j5G6kC5>4F80c~-^Xf+H)QMEn@ zGwni;XtG4cA)1U6SXZjRy2|Q633Nwv-h{Y{@OPZrkSH2!Q}VLUUs5nRGlsAf+K3uD;$ha z^ni{4WE_g`$(TaH8dGA$b%~p@vk8CLCVS6RGcUeV>V#7-ZgjGc*J^l(BZaY)yNxx>xFjTHfik)l)`ZYbzY~(k+_e}QyLmV zK7dSRYVg0Vj<_evLus87A8`(S%uMGs3 z2f;QoToAkZEEt=3-yb{d+BUCiWZ4=}L3~BXbZgkqJGhMv5eRf*yEgRp7_ADZ%3n{g zBA@>`wta3X;s|EOXry7GTjsI==p&(ZU>)P|QC`jJbwWDvjP;#h#Q+X2TdN74HO z+Z+f#cG&r1!wr9p=&`=S*l*}&RlK5r7J+M1I`LcJ9a9#{qm1{r$Ua&6+MY)BbF zJ&}KLzJeG~lBj3g(9uZ^h|$6bC7RKb%f)8=Bukg#;1;mnq(B1Rt)A+HgNoZC3AQ^k=U1Pq3`dF|XOe_zRI zUjBbLLdS2{i*5YLFl+y>qvg(jnp$(U|F?`V_52^tD20E?oDx7fDbfe!4U;z-iqhzG z>Ye^QngE%?d3AtHG7+j4sfXevuf&(+)^SaN;j6=U8m7;Ii3V=s-}o3;5c-5t$Ca?n z9&(nkjUewsA+c|ma-}9P@^XIECbkfM5-OjmaVGgTDW~^M3?Vf#FD1iKn&yfW5+c<`uynNWtyiW-t$|J(^dF7VNUu_0t7L-58wc2@_+68 z`A@5}!hcvsD5C#JDd~@&UIo&zaxLg|+x@PoDvAbcczd^aEy$G1tO%JDS{K^80tgka zX>L!~Q4ib|o^Fw#5<&LIuAu6A;Ppe>|1+lO;#M~V-?cfI*sr28JtN@2@ZsNm5)WyW z08zQJkz@!y{CseMepz0Atfp8%Oq$IC0)LuJo9SGjuE#GDRH)`O2-xYt&&NkEE7I!k z^h|&KKj@X>#39c@BIt)Q5g`~?X#_elkC8)5x~ zvMlW@z9mXg!!c~JUu{1e8xA`$%mFfZLT;q(#$((!#1bn;WwCJo{KtsejRCjr!d72N zpf!HF{)g6V=J20@Uab7TEF(;@|H_(wl@t4~a$*2hUjM9qDOd4d>HO@hu-t@&m!d%4 zi{rE3E{`rQ_tjGAdlsPHEFD@gsZg+gaj2=gYGfq_mB`w^DJb~lg zvh%TvW}wWIyS~t{K;->WD#-_+72OpN;f~cjHV9bFVW=iN+Qur%P!+W4C+I%}K`+ak zhz-vzcq4vekn1;*?X#@&3#8l*@C@_A2e$q_t6hamWgkC2XO>r5Gm)DquWMxxEK6%^ zwcsz&+$!9x#r>|~-Sg*|VeprDXUafbhCk>qOD%~^JTT1CS}?HtVaWn{F=O!up9~nX zV82rCbIbFMdZ*0FCU9w9(1A}~0ud5EGg4@g6WWC@Ba40b>EoBOXt@+nQ{PsnKGh}l z(PjC#@R#!aBjaXROWoFhNumN#CqO^0`R4xmk0lgyVcf#N4cQh$TygQ5)CudKA^M+; zYjr>UANR&?I0n94QJXste#Q*?ProPWe*@xLPxziw!+$vaU*P-WzR=0h1D-L9|5x+; zzoxD9zn2o4N>fp5twv31WdDOn-6|A>1?GQmd{rY`p+$E9XU+dkCpZ6_aJQQOO9(># zKOK*J7Wk&(`Sw+;Ybk83?gBG(6cdw+Q%K;yzwlaJ)!H?!Uej7k+udum_8Pm2+HH!y zVq5r^wg;v@WU_|#o~kN!HCqEIg{q|2f|o?uOw>YHJ*b-)?Gs|0z_lOnloDYj zaJm|pBE6z|L{4(?AyqZ|tRl~c5Yb1SXWtN}nsilAxNFGPet!Rpes)^`k%l6q?hHybiZ)jkCPv?=1(o%-qY$zx7p3D z_h>S@CG18gu+Ssh|9MTtKO=N!*6QF{K*k1valFNUW-!ei2Ex;Bv|D0p}FYy1;Sjqp(2>JD2@}zsLRbIh=|Kr00=Kqu9zcoPC&*A^n zSLgrB2=}f32~JIViB7O(3fKQQ`9bUd)Y7p2cNDeL&aMA-31yZsEt?5KBcWyz7%~D7 z_B^)FT9dfIi$cz%)iLh^a+GPu&b6hR$Hj1MP|v4)I5aZAGYOJ;l$=4CNheE1)-A{u z5%*^n6(eKQx0MuvO&k*;)NDtpS=98-1Dd|g-d3o7b7<(~lcyR*3rsPJL=&x$S5D9M zSLa7Z`r*le{_fzHqYG4XN?u?aJ`xs|eg_BRD;_$%NpPXz*MQ3XM}|e|KOXPbhF%al zcTa`?t~T@b{}8p3|CSMo=s&`0BNp|J#cw3>&qie_e>Sa<>`w}A5!t`LXnU`&DUD{q z9`A0wEj)(RB~GYoI>8>&1=4^x|Cj#y;PmD3(K(QiiwjCv>%q{yCMa`@_l>a=?vZ6- zv=jUD`(M6`(bI8%Rlt8qNAchKGkvwN!2IvqpT?uFVgHA^-Z}ff`bz(M8DSE@1L?bE z`w@Cad@FT6O>VV2yIN=0G)zV5^m~m)w^47ly7e50M^ZFK@JONr>SIH&6pb890bG>> z86!plen#*aY|{)sZA++DfzXP|UBUwd{6ZhXG=qgtW18sFWx*O$gQn5a=1xKs=n#vW zIYuz7lwEIBj?YYVg2NaG+^<-=?Rwj6L)1`vLH9!cdg3_~1$}OkSL0Mk5mo&gV1Hp) zVE$j3W{vtC7`@RG&VNnS^7bEUXJ!AljKJMsj3^iOkY95?vfV2*|GzbSbmM)iB;UJ> z5Cf&z`F0tq2EwB5bF|s8lv1gP$Cxw$k(EkzV`^%a^O%~g@U$3)SRoU#KrIbbY3}A_ zP)%!ggi;yFN;euoDO%hl$*?KqLSX|gDr_^2$P!FZu8rNJOk4XESy!F|r zs3Wr>rc(8*c~@R={?l7=tJYWq19BGsrxoBoHdgk(O9>JGhd@TUZVpGE%)ymzd1KUO z3ml_IV_Rvqi2b`a2f`|cO0$g&p!-9ZVA0gPtOcje)s*IqSc!0v0?XsI8 zp@1pD-4JFb2x}o`h&+H;B@ZI3G3ubm^LEH$J62H4Xby)vfrChvL|fv!EYXUi3kX$L z+3gnZUQI34Ci2!UP*!LO)GfLuj3OdpVOOMq@vjl5o?HyFO@X zzx6O*g(+b{`Y-lq5DLt2YBz>otIxp=&f@<%TJHR})o88c|7CU5u9!ElX8r*!j_(8>R2?^?Ul zMw0et^DBBi84uWik+_;{yz6mD>=PU3wQ+XmdxUGNKE>xr~00lPC%ov}9bVHcNU{9qsO^f)A| zhx_c5d|K5pMH*o0a0ok`%Ul})APv~cyfTF! zxj8$3*DDA*9PcX-SvpaDE{Xlx^%%k0HFEy7Og)^R znXP?0TBv=SU$@pO%Z-dPKtdBfzz--2S8jf}IX$_!K#-I3Zl{*#Ez-e25u~xPK9J}~ zXo3kJKBRXP;H$4XYXE#H;ku6kdvOJzHUfDLjX=YIg@|Sx;ByUUruiiNL?U-5eu@ta zkT!y@%?seum$n)G+Vx-i`t>hWDjDm)zCHinM4F@jQT2$~7yU?SdFbj|oBzB@jdoow z*IQ|ENp7N)bbudHBReu2G^n_+oNXTx9oB~u27wE*IeJrcnPb+PSbk82Em-b&>W8g5 zbUFe|NFdAU*1&tDqszF)pK~g)I)q^SSUQefd>zsUzuUnvWvrm!5uo)c1}Mj8N0`uf zq0;dP&o5E9s}#22et+up_4I$a8vx08>&1Vs%Ul1yjii|UKcUT7%+_rUVQ6wdUjD*f z<+T}^{b>eTiah8bNR>+Nli9Znm(<{;IWyzVV*g|6!yWtSRrekGzV4z;sY1kXm;IM8 z(wW45{i*O8L3E}$4m=~}G{e<$J_^l9-_oaVm%euW*T0_slcjow{(md~Z6qy_|J2z~ zPl$iwQl|7L@}497&8=E*lv^2UbXls3*cBptIk8{Viejr%eUOjZhY2LF0=EK7iF>@- zx||?Zn!^hU_-SNPdD{+hVgzyKGpU>fq|z~U&W@qF9xuwZPxQ3H#X&ww*vT!uO&cbf48^Q9k)4dV>9=Rm)^^tJnc;|26TQri9-_Wv#azljvH|3-HV z-M(+&myvFG0suVgvL6lN=%`uI_VXJ*lPPlcOO!bg$-PDhGv zHxx&6teF=mSD*n5o#h1)65Kl?e{A2q>lbrzfBQ(RG2fiWR0odbVxarD+n;~8h4&h| z9FzQs?eD|)VlIr^I5MmUo$Zf|BI{e0fi?7jN1H!Ar%aXr5^V0txHiwcb2`J(Trx|i z4M208*SQr~o9Nx6hgv(lH4KgIXDjdr;gop4V58p~8KvV{8445-In=?>WxQJH7=Bp} z_66<_-+w3e?|=66mGpllThL|nUzXDNPr%!6>Hh{&mi!kYv~%&y82VyhW=>oh%q)^V zCa5>dbs-Zbg~F9uXtpa-S(4M|f=A@141c*~7}d{{_6b@O$8SDqr7L*gMxjIDS0Q#P zIMEf1u&Avh9!_*dg`;AjfU=rH@0n)lSlp}}z|ZmK!kDn7W6?N{Asp@HW;1)J0{6(Xej@AMQnGo=*B+HR-K)2q zPZWR|?}y#{H#PsvMOnRVFojyb(XK z5+aQTJJkFpT2Q|v%h*I!Zr5O0HL8`CT&>qc6P#E}6^eF(pS4u9Z-t^^i^1cOv4sLG z$6%0WhQ`UQD1hIQ(26W7AF0d3uO}lc^THTjd9gs`!=ps?srA#y>+cp*bx*G@&%5t4YKsi^Ze|#$NHeuz z5hFoOQNI=$o{To%Uu8GRue0|SHlaSKPZ@P@yYH^9FFS8Dss~x@#?uXo*+9xZc!x6^ zoBH*2WF&czcCiW+viOb-uE;6!rH2;O8g0t`e?@o?_yyajH59xDZ)W#Lx6OWZS?QPw z+`6zaze4Glyrl{GAod2s0`&U}0o>6!T=EWr5X5fa^Ey#99a!@Ue+Iu)e%>R+heJ`& zlSWaf*VKmm z^yTWNm+DOVMj5?<9?zyP-kocls~Llnyw#lH`36100ZMl%>t;}K=}utk?%he)rZkC%;BSzJ;H-<&+EZ7~YGHnjs2L7zuz!HPiNQt%B{Ai^N(k-V*ci?+muLwBe zkbaVH?^HFAbZ%+xmga70?w00$H#GMEDA`aOp_R?a`IT}F%Tu{Ld4GNiv$pc6N)`H- zQ3!|w+(LQRIqBVAcW!pF%A9wTr7Bx(@TSt*`d@z1@q+Q6rAo7z(*IVQwe9)eCek^Y zakK+4PTjsopvS&4a_}5yIs`uI&DWRl&?_hsJ?q z=D?5d7BEs#a|<9wp5k~Wo|VOHE@FlxzWhBkOm{pPBJQA(h%4{gXaMi!q7@{3%|lh# z!S96eW0P};%~~@BdAP6_+;kQGa+3-i7ang)pSqgkOb6&#GL2GAzReGD8WyeB?y0<#=`Dj?Un z<&zI;yJF)3Ja#xiP&xYZ?Yo<->5ymyCIkOPuiuH!3^6f?#r3_T%4iA6#AK<2}K^|{ujq=dX!ohUn?u*}%=a^0kQDfWC{2Ho= zQK<97{z^k$cNBhQC_?b}G}24QSWqkn=wv=(LgruHFYMt@ftl=IUVV(JD@?EG)H*oe zS9sqzHJy^9c5u;l;B5^oG)jQA1lI<^C4ZhY#XM;qJ#U^&wMTDa+3+$zK$|Ewf)zR5 zL>RoynKKNQA>!$X%5EOt*eYXGTWKDJv_DD6fNn8P{aI*U$AKwj4xWM9vp+E~SpAnWRTSh2%lWzE2MoRL|FR$} z^3$~aL9Eq;agDV0Y!dju4hrntX~BmSU**Z0D?hp4X?I}R8arm!J>}-~>SISa13@nW zR2+7MKU!1fkJhR@YoQ>R%Fue4qIX}gW+yzpL$F@S{e%7Q4Roq|ro2-w&buGpUj3uH zIuU8DF#~)Wp^bn^V0(Lvh(0{BKJ>5RXcbwaXko!9wM5*G*81cmpl#eH0!Bx15e$YK z&4zS_V`yP%$Q6r@7Ivb@^Qp|yin|p?)99;)Ivr@(HeTkVa3n02D`FYo%U5(_7mosm%r*;Ta6hKJ?>mzD<6B;d66++#DEP>`{vSxxJjm9A@T%U zA$${>tqjQezL3TgAT??rU0{7KNTBh;DR6`PW_?3bO!m0;zLiN-jVv&S?dO-Usa#5=Jwxz3dMo{FujZjv9 zWgj}fTy(ncduIhC%K1C(3E6*}W8sISqSQI>emc3}#->@*E_z#-cjThxgRBy(outK4 z&glF`fvJZxTW|xMse-BKU&qzC%6*qF&R{QDw1`rzTCN}D8EP5gaYp)d$YB{_&)Dbp#WF0uXqX8{P4ASOnfvF}Iffj|W#O`Eg)jmq6Uj z(#^%yKcX=qQ=qV@4_k!)01Q?_|5t@eTmP?3q;&kpPnRbb7gwjJXSdxC@c@vxZnq(# z|5)jT*8f5{=*9Z~O0^<4lIy=xt!?AKZXyM^%sDX==$-n$8padxj4t<5*(K%@krqHS za6QY}<=bDG^(L_UO;p>~rf!bPsvd*w2e=&HByMca4u_6;sLO*xb$H*bOH$cFQ0bt= zj%Egv7#BYZ#nz+My6HRv*BFhY{8Cp~z=Cn&8N2VH@!(sP5a02IJsJoiWy?Cfy>Ii=*7lGXg-JL+G zrwnaTGzuz&#_BHj+9CHI>>@wU=Uplz`u$67F>F3phdz z#KBP#3S^}KqA)hP=fNnQ+_cjHL_e9Np$=kns9da8h zzU0djdIi~8@t2%kCc~MrQ9hc3aI;zy{Bp)p?x*XOE6AWQhaN~4nU z|E|^Kt^eO9()Y6=%5u4$fdefa@hFl<@hFnqgfjxOs#vzhXSGXvWrBSXaI&;}`dcY^ z*#(GQVH_aUS2s~}bmQfjV4&wx>wk1&8^m|Lsp#KPDH62Ga{!8wGYju(S zzfw=*KUbQSE&bm>T1WrCB?W)H^z8M&h6lhh`L9_`;Xl^o##a8@MEZXCKeI%`7-v2u5pN=yK0IH-t3UAifx!;_7ELs0Dq~!WXJ!%9dcNp{U$VgP=9@7W0$(Q(Y_(5>gcCCC(whjYD;v#&Z#w^n{@K?(rFZqA(-rntbgDP=TsqVHfql{(7ei=E zWyzOelSMwN-h`bRx;FLl?+93){lLyY3ahDuc=`A!6$(+K)XHn&R+Tlg&<0S<^uy?+ z4-5peGSeo8S*0>(T(g-y<5q2i&%9>(1gToBSBo`vK%ay(Oc4^$29$?N*cEM(HlfW< z)hRAtTJmV%HZ{17ns^;F5$Dc8?u0DH7v2>w0#$u1%z@=-VRSD4&g8w}1DXBS6!FiM z*5Ci{?#OkY_wji=x@~BysQhAyWc&sCzp7M8`TxVk?fTz9is}DuPOr~D_THXfzuA42$B=KhJG0V= zy~+=DhYa6d<{Ev!Mms9(H zwOQSs|862>?f=lnug9=i$!08Eo!&f}2#Z4WZ^U&_sbT#81cWXMrWw}yjLl2G~ zVswa>2tFUa7o+F8=p1Sw!dJ2xKW>?jqn_EUU`Y6Ja&V^2CA9tw{eQ&m93kvymjr1a zO8X(&q&kn$2A@2PLLbKMPKl#~Lf$J?eOBZWf(gRPOIktj&OFGf8bW)b91ccefF(N&m-& z)mM!*u>UbFqyNqH`ERwp#edpJ`hGkTYOPdl9wQ#nlHspZ$&L`uZD53VLSQkIat#={ zpA}lesx>M&c+nM8G35IE&j^g zTS!S?udjWWh^AmWY@hYi@mQmc!c@H?Z5W#BK9Sp`O=zZ5QunJ5tSKhQ_ax_2`Up@&89Lzb~cr1W-I@e)^4`za=Dse|0x}DsHY>bXgSg?tWr9` z0O~z6^D#uSeY_M4j!f`-zO|%l^r4D~Gs;-=@_W=#?2iJMW2j$oNQCayW#{sn9F458{(*!U>Ok|CeaX?t_i>;t zV+WV5|7I=e|0_4@@>c%eL|Ur;E&WH__3qev~Eq6Fw7uq|Vk| zkP@|_V!Dn%U<#>$ize2b$GA5Y?p&vYa-Hk3>h;u_prV8=f{gI*8BBcz-m#e{jo?m1JH-pJ{eF?{PXnhAZ3HBN zGXb1iAcDXVMN`xu!8?>;DG?S}z$%EAeCVGYp^qyad#Y~ui@aYt=1_Wjtk?VHXQg{} zeR*<0oC0mRMAl@)ytCsNF%+-bq`G$4YzpV{))$n5g%P)2Qk4S9k_>bH8?;A5XL!jYWU?f~O2;p9CCLLg+Q4##itA~rp?JEfg~$JBU$?V&Kd@(|W9&iM z^~zL^E0sfNUStu%1`6>Q!9sk;GH4JmvaFT#J`q*{szrjWlRg^B4Bb`ph<)K_pV9tc zx7j}a4b2iA6wQ9;KM&kyYXc4yvm$U}}_;%eRf1(*0REefPc{%{V`)%F6BO)!UA8-TBo1 z-gM~Sb9y%Ye>wjTsZveTf7}zc^#9wZEc!3vu8%CoH+YR*iBtVpR+3^j+LcOKnxk1> zShIzQDD@1UPLgU>)b$_mFDZG?wp{&DLA-9H(+=0_D`Ur+*?FKj=iT!j`S&Vkos+lu zJ&^E9$6@Ku@|R4?z9vN);1SJ$+A|Lle9>8CXn}Y{bJrc5=?R)NB z+-{pU6Xe6s7>$n5W?B|KHxxKc{Uh->>MexDt{e7a_hLSy1{1_ls|9<;9mc~ytV%Ks+_Fzqa5v3e=!lqIdCv5QlpSC;zZz?Q& z*Rclf*#5BkerFBVLnF_*(e2^Hbcg;{=~xquCo|X1zF3tza>VV&jQidGZa1Pr@t%KR zq>>NfX7aO@KF3WFZO%&9IK6^X1T~9aJnQn}5 zP2Rsf8$ZyW;${xS_!j3opV$BSM2S2qU}OGD8#Kn>z5l;lDQw37E|m&N{HG^LYy1EG z0QI;Xzgh^MPU@X%=2Q5fDI?dNIhv{t$L`4MJP0mf=N0Exa8H&5H=^=W z^z)q2c;NcKU%wW3!&~Cv1{w+)5K{s&BB-pifo$J~+}x-Eh3yM!7~Kl-2(U@Q{NMZ| zywSo2f+ELshPFgU0lA|aQXhmsl2AZ|Jfx$lv!u5{O%x@`2v!%OnTR>ym}${@eD*!w zPNdE}(^Pk~$ZvwQxp;{q-R?)40zRxa^$aNIrb!3Qm>;a6+CC~4ekukhZMJN`Iqv1r zDEO-geLmyUKA##e=M3^3j$2<`-i0dPcj@>zQ~P|b&ig&4PC%>ad`}4Ob`5dJe4>98 zHvkq3CrI8AQ3f;L1sCzNXEw)srA$lj;|F-6(V^XQ6AOxQn?5SgA8Ov`VSj8h5ME;h zwSm6t7@L5OF9DQJrJ!<<>yyl~z436!Z5jLn)0^-dbG)&*xdi6~L^npck$@)928G!B zrg>IdsxVne<5dXCU@cFbi?i!#(ik8RmBg6c0kg{W=~q!?C-aR~VxR`&)!`@=J7YcY!<6$D;J{wav|~mo+ABHKdn_WFhuAM-Cc!y5%J|a zS^RjHq9816m08VXrxTVzBz7zAf>FjS%|Msnd0~JtktHc5>`-Qf#=fhvOffVusg#%+ zQAHXPP2-eEOi(m&_-CX$(K_gF4viBxTo@B@B2vVe64WM!xfGg@)dIGZgs%L8w5|W% zbnL2++QvQpAN}6Y|H^Kq@~>BqO2r-N8`u9k-v1d4(x`-w(#C!E|JClM|6lx}QcU9i zJw-Zb9lb#h1`KqTd<5o^kF88(sd@M-OqbZdtIX>C*HJTB1P1$_KY!C~ywk{4Hel*G zh0((_H5Ld>-apSHrS`$c3F;O8%3Oi@H~5j@IF77^0&c0v=iH<_0k6Q6BNRmiqm3v4 z2D3wOamYsw#S`g4|K=(fN)+(4uBN{qv>NrsiN+8}xbJj@kL9`O)8p=6rr@^#c9q74 z9Ixl!(Id77U#0PsOe&K-JNT_8Gvx?~7fgU&Q%~bMNz-DbAHoLHVHQ`B;Mi*z;{GRw zr+f52=;c?nagY92e%Rjs0h7Wc{?AjS+J8FTW~+V@oE8IR$H%-SVF`J9wd0_~fAkCS z8&Cu-D5OtA0-^&xTm%Bei}ITno%4%M*dRSdZ~_1yClC5dW$kxoorA*_9(efRu?HpS z)J96s)25>>6m(^De{ROYx%;b&9`Ba+vwm5X6K-FQtPy3{E6KRo+S~mQ);)4kmYY8%WwV%pOI#SH4==mtwt2&XI&-w9{E{AV zkj4K+ZSeG-^O=HXT@ish9jfakE|Cq!AL&aswnXyC2OCu5Xde=cAv#6mKh|irJFWV8 zP7um+P-@WBV6C&FcvW@&xOQ3tt!Xy!;@xITV;dsi&nZ5mH2#PT9^VAl;&x)*cPKnT zrO(5+1g1nr?11SGaA+~^^Ei?6!E@_U3r0hhnV5#)M@Gd4&Z}3>_g9xcljqE*u6?to zu^+FlRrMv?%j|~~MCsh>{kkl(O}$F(3kRAEY{Ya$>#WK&l?gOf#?1qxJAv1ffn|P{ zp0Q(V`VyyXAYI^^I|jT*R|Iaww@%SsQ~R#v8BlAaU)xs~E$kYt zKCYCGx)PBp__e8b!am#&7Z5<8(4U5{gauarOs{g8V&sI_X%*o2v zVW?`yzDUhu!2;fQY#$D!&k1H*JmJq#pW_=}Hp(p5mFquIro{MQU$Xy!(u?=q(=0=| zssa~_YFuLM4qIdJW#e-e^QOZosn33X%vSq#g*om{!imSM>D=*)FEBH*Grn51Aw%M` zM6Ad|Z`YDnoX_gZ&-_36uzHQzzeB&yYuo&vzUIG*rl+S@(4 -1:0.9.1-2 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:fix duplicate symbols in vmlinux + +* Wed Apr 15 2020 Zhipeng Xie -1:0.9.1-1 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:rebase from upstream version v0.9.1 + Use Epoch to make the version number consistent with the upstream + * Thu Mar 12 2020 Zhipeng Xie -2.0-3.1.26 - Type:bugfix - ID:NA -- Gitee