From 2a39510035b4d52987d43b38814a8b3fde964c8c Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Glondu?= Date: Mon, 18 Sep 2023 13:36:04 +0200 Subject: [PATCH] New upstream version 4.14.1 --- Changes | 101 +++++++++++++++++- INSTALL.adoc | 4 +- Makefile | 2 - Makefile.build_config.in | 2 +- Makefile.config.in | 4 - README.win32.adoc | 8 +- VERSION | 2 +- aclocal.m4 | 3 +- asmcomp/amd64/reload.ml | 15 ++- asmcomp/i386/reload.ml | 12 ++- asmcomp/reloadgen.ml | 2 +- asmcomp/reloadgen.mli | 1 + boot/ocamlc | Bin 2999142 -> 2999149 bytes boot/ocamllex | Bin 369653 -> 369687 bytes build-aux/ocaml_version.m4 | 2 +- configure | 58 +++++----- configure.ac | 17 +-- driver/main_args.ml | 12 --- driver/main_args.mli | 1 - manual/src/cmds/intf-c.etex | 4 + ocaml-variants.opam | 6 +- otherlibs/Makefile.otherlibs.common | 2 - otherlibs/dynlink/Makefile | 11 +- otherlibs/systhreads/Makefile | 3 - otherlibs/systhreads/st_stubs.c | 5 +- otherlibs/unix/unix.mli | 6 +- otherlibs/win32unix/stat.c | 12 ++- runtime/caml/fix_code.h | 3 +- runtime/caml/memory.h | 2 +- runtime/caml/misc.h | 14 +-- runtime/caml/signals.h | 4 +- runtime/fix_code.c | 10 +- runtime/interp.c | 7 +- runtime/signals_byt.c | 4 +- runtime/signals_nat.c | 47 +++++--- runtime/stacks.c | 2 +- stdlib/Makefile | 1 - stdlib/float.mli | 7 +- stdlib/gc.mli | 10 +- stdlib/stdlib.mli | 15 ++- stdlib/string.mli | 8 +- stdlib/stringLabels.mli | 8 +- stdlib/templates/float.template.mli | 7 +- .../tests/lib-bigarray-2/has-gfortran.sh | 3 + testsuite/tests/lib-channels/input_all.ml | 5 + testsuite/tests/tool-toplevel/show.ml | 49 +++++++++ testsuite/tests/typing-external/pr11392.ml | 34 ++++++ testsuite/tests/typing-modules/functors.ml | 44 ++++++++ .../tests/typing-modules/inclusion_errors.ml | 93 ++++++++++++++++ .../inclusion_errors_elision.ml | 93 ++++++++++++++++ .../typing-modules/packed_module_levels.ml | 42 ++++++++ testsuite/tests/typing-objects/Tests.ml | 89 +++++++++++++++ .../tests/typing-objects/unbound-type-var.ml | 19 ++++ .../deprecated_mutable.compilers.reference | 4 + .../tests/warnings/deprecated_mutable.ml | 13 +++ tools/ci/inria/main | 7 ++ tools/ocamlmklib.ml | 6 +- tools/sync_stdlib_docs | 2 +- toplevel/topdirs.ml | 42 ++++++-- typing/env.ml | 17 ++- typing/env.mli | 2 + typing/includemod_errorprinter.ml | 11 +- typing/mtype.ml | 3 + typing/printtyp.ml | 10 +- typing/printtyp.mli | 6 ++ typing/tast_mapper.ml | 6 +- typing/typeclass.ml | 55 +++++----- typing/typedecl.ml | 2 +- typing/typemod.ml | 13 ++- utils/Makefile | 1 - utils/ccomp.ml | 8 +- utils/clflags.ml | 1 - utils/clflags.mli | 1 - utils/config.mli | 3 - utils/config.mlp | 2 - 75 files changed, 906 insertions(+), 224 deletions(-) create mode 100644 testsuite/tests/typing-external/pr11392.ml create mode 100644 testsuite/tests/typing-modules/inclusion_errors_elision.ml create mode 100644 testsuite/tests/typing-modules/packed_module_levels.ml create mode 100644 testsuite/tests/typing-objects/unbound-type-var.ml create mode 100644 testsuite/tests/warnings/deprecated_mutable.compilers.reference create mode 100644 testsuite/tests/warnings/deprecated_mutable.ml diff --git a/Changes b/Changes index a8ce94bd..a91fe1ec 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,103 @@ +OCaml 4.14.1 (20 December 2022) +------------------------------ + +### Bug fixes: + +- #11803, #11808: on x86, the destination of an integer comparison must be + a register, it cannot be a stack slot. + (Vincent Laviron, review by Xavier Leroy, report by + Emilio Jesús Gallego Arias) + + +OCaml 4.14.1 +----------------------------- + +### Compiler user-interface and warnings: + +- #11184, #11670: Stop calling ranlib on created / installed libraries + (Sébastien Hinderer and Xavier Leroy, review by the same) + +### Build system: + +- #11370, #11373: Don't pass CFLAGS to flexlink during configure. + (David Allsopp, report by William Hu, review by Xavier Leroy and + Sébastien Hinderer) + +- #11487: Thwart FMA test optimization during configure + (William Hu, review by David Allsopp and Sébastien Hinderer) + +### Bug fixes: + +- #10768, #11340: Fix typechecking regression when combining first class + modules and GADTs. + (Jacques Garrigue, report by François Thiré, review by Matthew Ryan) + +- #11204: Fix regression introduced in 4.14.0 that would trigger Warning 17 when + calling virtual methods introduced by constraining the self type from within + the class definition. + (Nicolás Ojeda Bär, review by Leo White) + +- #11263, #11267: caml/{memory,misc}.h: check whether `_MSC_VER` is defined + before using it to ensure that the headers can always be used in code which + turns on -Wundef (or equivalent). + (David Allsopp and Nicolás Ojeda Bär, review by Nicolás Ojeda Bär and + Sébastien Hinderer) + +- #11314, #11416: fix non-informative error message for module inclusion + (Florian Angeletti, report by Thierry Martinez, review by Gabriel Scherer) + +- #11358, #11379: Refactor the initialization of bytecode threading, + This avoids a "dangling pointer" warning of GCC 12.1. + (Xavier Leroy, report by Armaël Guéneau, review by Gabriel Scherer) + +- #11387, module type with constraints no longer crash the compiler in presence + of both shadowing warnings and the `-bin-annot` compiler flag. + (Florian Angeletti, report by Christophe Raffalli, review by Gabriel Scherer) + +- #11392, #11392: assertion failure with -rectypes and external definitions + (Gabriel Scherer, review by Florian Angeletti, report by Dmitrii Kosarev) + +- #11417: Fix regression allowing virtual methods in non-virtual classes. + (Leo White, review by Florian Angeletti) + +- #11468: Fix regression from #10186 (OCaml 4.13) detecting IPv6 on Windows for + mingw-w64 i686 port. + (David Allsopp, review by Xavier Leroy and Sébastien Hinderer) + +- #11489, #11496: More prudent deallocation of alternate signal stack + (Xavier Leroy, report by @rajdakin, review by Florian Angeletti) + +- #11516, #11524: Fix the `deprecated_mutable` attribute. + (Chris Casinghino, review by Nicolás Ojeda Bär and Florian Angeletti) + +- #11194, #11609: Fix inconsistent type variable names in "unbound type var" + messages + (Ulysse Gérard and Florian Angeletti, review Florian Angeletti and + Gabriel Scherer) + +- #11622: Prevent stack overflow when printing a constructor or record + mismatch error involving recursive types. + (Florian Angeletti, review by Gabriel Scherer) + +- #11732: Ensure that types from packed modules are always generalised + (Stephen Dolan and Leo White, review by Jacques Garrigue) + +- #11737: Fix segfault condition in Unix.stat under Windows in the presence of + multiple threads. + (Marc Lasson, Nicolás Ojeda Bär, review by Gabriel Scherer and David Allsopp) + +- #11776: Extend environment with functor parameters in `strengthen_lazy`. + (Chris Casinghino and Luke Maurer, review by Gabriel Scherer) + +- #11533, #11534: follow synonyms again in #show_module_type + (this had stopped working in 4.14.0) + (Gabriel Scherer, review by Jacques Garrigue, report by Yaron Minsky) + +- #11768, #11788: Fix crash at start-up of bytecode programs in + no-naked-pointers mode caused by wrong initialization of caml_global_data + (Xavier Leroy, report by Etienne Millon, review by Gabriel Scherer) + + OCaml 4.14.0 (28 March 2022) ---------------------------- @@ -62,7 +162,6 @@ OCaml 4.14.0 (28 March 2022) definition-aware operations. (Ulysse Gérard, Thomas Refis and Leo White, review by Florian Angeletti) - ### Language features: - #10462: Add attribute to produce a compiler error for polls. diff --git a/INSTALL.adoc b/INSTALL.adoc index f4199ca4..08d67ebb 100644 --- a/INSTALL.adoc +++ b/INSTALL.adoc @@ -43,8 +43,8 @@ * Under Cygwin, the `gcc-core` package is required. `flexdll` is also necessary for shared library support. -* Binutils including `ar`, `ranlib`, and `strip` are required if your - distribution does not already provide them with the C compiler. +* Binutils including `ar` and `strip` are required if your distribution + does not already provide them with the C compiler. == Configuration diff --git a/Makefile b/Makefile index 3c74bc79..0e92785d 100644 --- a/Makefile +++ b/Makefile @@ -585,8 +585,6 @@ endif ifeq "$(INSTALL_OCAMLNAT)" "true" $(INSTALL_PROG) ocamlnat$(EXE) "$(INSTALL_BINDIR)" endif - cd "$(INSTALL_COMPLIBDIR)" && \ - $(RANLIB) ocamlcommon.$(A) ocamlbytecomp.$(A) ocamloptcomp.$(A) # Installation of the *.ml sources of compiler-libs .PHONY: install-compiler-sources diff --git a/Makefile.build_config.in b/Makefile.build_config.in index eeac09dd..4d6705d2 100644 --- a/Makefile.build_config.in +++ b/Makefile.build_config.in @@ -20,7 +20,7 @@ # $(ROOTDIR) has been defined. include $(ROOTDIR)/Makefile.config -INSTALL ?= @INSTALL@ +INSTALL ?= @INSTALL@ -p INSTALL_DATA ?= @INSTALL_DATA@ INSTALL_PROG ?= @INSTALL_PROGRAM@ diff --git a/Makefile.config.in b/Makefile.config.in index eb3d85eb..4badb74c 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -88,10 +88,6 @@ LDFLAGS?=@LDFLAGS@ ### How to invoke the C preprocessor through the C compiler CPP=@CPP@ -### How to invoke ranlib -RANLIB=@RANLIB@ -RANLIBCMD=@RANLIBCMD@ - ### How to invoke ar ARCMD=@AR@ diff --git a/README.win32.adoc b/README.win32.adoc index ecf6b1ef..410a8eef 100644 --- a/README.win32.adoc +++ b/README.win32.adoc @@ -63,9 +63,7 @@ Only the `make` Cygwin package is required. `diffutils` is required if you wish to be able to run the test suite. Unless you are also compiling the Cygwin port of OCaml, you do not need the -`gcc-core` or `flexdll` packages. If you do install them, care may be required -to ensure that a particular build is using the correct installation of -`flexlink`. +`gcc-core` or `flexdll` packages. [[bmflex]] In addition to Cygwin, FlexDLL must also be installed, which is available from @@ -197,7 +195,7 @@ quickly as it will be unable to link `ocamlrun`. Now run: - ./configure --build=i686-pc-cygwin --host=i686-pc-windows + ./configure --build=x86_64-pc-cygwin --host=i686-pc-windows for 32-bit, or: @@ -262,7 +260,7 @@ the WinZip Options Window.) Now run: - ./configure --build=i686-pc-cygwin --host=i686-w64-mingw32 + ./configure --build=x86_64-pc-cygwin --host=i686-w64-mingw32 for 32-bit, or: diff --git a/VERSION b/VERSION index 5fbf658d..4d777f22 100644 --- a/VERSION +++ b/VERSION @@ -1,4 +1,4 @@ -4.14.0 +4.14.1 # Starting with OCaml 4.14, although the version string that appears above is # still correct and this file can thus still be used to figure it out, diff --git a/aclocal.m4 b/aclocal.m4 index 7e49468e..addb0d8b 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -328,6 +328,7 @@ AC_DEFUN([OCAML_TEST_FLEXLINK], [ CC="$1 -chain $2 -exe" LIBS="conftest2.$ac_objext" CPPFLAGS="$3 $CPPFLAGS" + CFLAGS="" AC_LINK_IFELSE( [AC_LANG_SOURCE([int main() { return 0; }])], [AC_MSG_RESULT([yes])], @@ -439,7 +440,7 @@ int main (void) { broken implementations of Cygwin64, mingw-w64 (x86_64) and VS2013-2017. The static volatile variables aim to thwart GCC's constant folding. */ static volatile double x, y, z; - double t264, t265, t266; + volatile double t264, t265, t266; x = 0x3.bd5b7dde5fddap-496; y = 0x3.bd5b7dde5fddap-496; z = -0xd.fc352bc352bap-992; diff --git a/asmcomp/amd64/reload.ml b/asmcomp/amd64/reload.ml index 1f4cadc3..9e3cadbe 100644 --- a/asmcomp/amd64/reload.ml +++ b/asmcomp/amd64/reload.ml @@ -33,7 +33,7 @@ open Mach Iload R R R Istore R R Iintop(Icomp) R R S - or S S R + or R S R Iintop(Imul|Idiv|Imod) R R S Iintop(Imulh) R R S Iintop(shift) S S R @@ -41,6 +41,7 @@ open Mach or S S R Iintop_imm(Iadd, n)/lea R R Iintop_imm(Imul, n) R R + Iintop_imm(Icomp, n) R S Iintop_imm(others) S S Inegf...Idivf R R S Ifloatofint R S @@ -66,7 +67,14 @@ inherit Reloadgen.reload_generic as super method! reload_operation op arg res = match op with - | Iintop(Iadd|Isub|Iand|Ior|Ixor|Icomp _|Icheckbound) -> + | Iintop(Iadd|Isub|Iand|Ior|Ixor|Icheckbound) -> + (* One of the two arguments can reside in the stack, but not both *) + if stackp arg.(0) && stackp arg.(1) + then ([|arg.(0); self#makereg arg.(1)|], res) + else (arg, res) + | Iintop(Icomp _) -> + (* The result must be a register (PR#11803) *) + let res = self#makeregs res in (* One of the two arguments can reside in the stack, but not both *) if stackp arg.(0) && stackp arg.(1) then ([|arg.(0); self#makereg arg.(1)|], res) @@ -80,6 +88,9 @@ method! reload_operation op arg res = if stackp arg.(0) then (let r = self#makereg arg.(0) in ([|r|], [|r|])) else (arg, res) + | Iintop_imm(Icomp _, _) -> + (* The result must be in a register (PR#11803) *) + (arg, self#makeregs res) | Iintop(Imulh | Idiv | Imod | Ilsl | Ilsr | Iasr) | Iintop_imm(_, _) -> (* The argument(s) and results can be either in register or on stack *) diff --git a/asmcomp/i386/reload.ml b/asmcomp/i386/reload.ml index 09497e05..6a20e887 100644 --- a/asmcomp/i386/reload.ml +++ b/asmcomp/i386/reload.ml @@ -40,7 +40,14 @@ method! makereg r = method! reload_operation op arg res = match op with - Iintop(Iadd|Isub|Iand|Ior|Ixor|Icomp _|Icheckbound) -> + Iintop(Iadd|Isub|Iand|Ior|Ixor|Icheckbound) -> + (* One of the two arguments can reside in the stack *) + if stackp arg.(0) && stackp arg.(1) + then ([|arg.(0); self#makereg arg.(1)|], res) + else (arg, res) + | Iintop(Icomp _) -> + (* The result must be a register (PR#11803) *) + let res = self#makeregs res in (* One of the two arguments can reside in the stack *) if stackp arg.(0) && stackp arg.(1) then ([|arg.(0); self#makereg arg.(1)|], res) @@ -60,6 +67,9 @@ method! reload_operation op arg res = if stackp arg.(0) then let r = self#makereg arg.(0) in ([|r|], [|r|]) else (arg, res) + | Iintop_imm(Icomp _, _) -> + (* The result must be in a register (PR#11803) *) + (arg, self#makeregs res) | Iintop(Imulh | Ilsl | Ilsr | Iasr) | Iintop_imm(_, _) | Ifloatofint | Iintoffloat | Ispecific(Ipush) -> (* The argument(s) can be either in register or on stack *) diff --git a/asmcomp/reloadgen.ml b/asmcomp/reloadgen.ml index d9c70716..c000dd4a 100644 --- a/asmcomp/reloadgen.ml +++ b/asmcomp/reloadgen.ml @@ -46,7 +46,7 @@ method makereg r = newr.spill_cost <- 100000; newr -method private makeregs rv = +method makeregs rv = let n = Array.length rv in let newv = Array.make n Reg.dummy in for i = 0 to n-1 do newv.(i) <- self#makereg rv.(i) done; diff --git a/asmcomp/reloadgen.mli b/asmcomp/reloadgen.mli index 638082f0..0cf264c4 100644 --- a/asmcomp/reloadgen.mli +++ b/asmcomp/reloadgen.mli @@ -20,6 +20,7 @@ class reload_generic : object (* Can be overridden to reflect instructions that can operate directly on stack locations *) method makereg : Reg.t -> Reg.t + method makeregs : Reg.t array -> Reg.t array (* Can be overridden to avoid creating new registers of some class (i.e. if all "registers" of that class are actually on stack) *) method fundecl : Mach.fundecl -> int array -> Mach.fundecl * bool diff --git a/boot/ocamlc b/boot/ocamlc index c8ea2f9994248b6f8bd24e4c44bdb94b7801b14b..1f7167c5204c0fc8c22f3618e25dcb3bdc83fbf6 100755 GIT binary patch delta 208131 zcma&P3tW^%_XplQ>~q`QXW4bRUu3zXfG&!HiMc2$<_%I46BEi(QxnQkQxntDN)y94 zR$7pjnV0a*daU#f%1V2!pzQ6Y1=&SS3(88%%l|vivmp9=|Nqb5Putwi%$zxM=FFKh zXC8ihNN1<UFv(yHP`$} zg)VU*`-|50u|$ezg=?;{6YFaUW#_2$2}>w7yTqa{eVMf7yJ z;Lp714=)L{vx_*0eN1g##H{dZ0?fM19}503fO6epXs`vzacCOBHGS|C5$Qr1=OW#~ z(p5z=(tT;QTkJ{u-C}0AgQrm?&>uSep^IEWVyMt1fZ~G0Uao9_^uiCN26#B_8X~%> zB1lwNgc&azttqrJNOaQ3ssM%d28s6AD8O^XWc)Z{(f%}VhNrvIi6AkCil%5zYCNA9 z^$I*%*R~Y&!2o~+kW5&yPJl2d?@_3vXujBD}Gv3JK31+;N#}m!CGX(J@ zGw$W_WHVmC<0)pmjK{l~@k$==P8&nS7?w)=c#uX%d5}&Qc+i8QLlN|(0X*>1WFBPD zVjlFOjiF*B>uomWlam$N9V&*A^Z7^%wT6n8=suu>hEc}h=fjWxbK=KG-j`R4Cuf)# z#D{O83f*F%f-uA~!_bO%rprQQJUNahD=w-Qs^rPJJXzqiTBwdE*YRYtBwMJFCwCjk zTsts8QXIfBpxj{4xaK=lafSot42LPX4oNSPY@j&+1Bu2PY(RnoWrhQ>x|fsDD^He% zi;9?w)*Mv(aRN52r)tJ@2ALc zGp~S`UvI|iczlEzZ{+cjX1tZhNBQAFJT=eX#%MFo8;SBU{&F5KFym!BUf8MLaDTlU z%)G`(4BEF|ve5Dik~6sQ{H05FK&0Zw@RO0APO+N;+`1=9T*b&!ErwN1@9w0t%fzCp zFS^@fuLIan{P;gNetZ@1Fa*DT_>I*|yNa?Pj0>QDPm{Y+<2+_3?+!(w`b{o7)x8~v zl`<>9PCh|)lCKX)|Aj}4V&mx#kN6Y2k&ecSS!@CY$BA>)BFsl58cm{x7}2fQ#EIFA zg5t15kH?D#*iE!6L0rKmQNKj-7%QgeB=K7|nJy%Od2coXI-ev)QCe-1oyw9h^u0f8 zie8Z{j%2Jv|1d@TRA8lgZL0VyW4F-Sba5uTm6rAZGdX*RKG#%q-&ri(Mx{N_^z9sE zCYwg67)f<=1q<1Gir#Kx0nW*gf*+@57JfW0^y)k+>?yi~c~SWPDRT8obf@#8n5&DB z7yUo-qA0ez;HKuDSPi^h1TFT8E2zv1e&*>&p57u%51_|}Ng;YphPX!%W(3ejTLVIZ z`Rv^Rpw6S5NwJw?X!tCDHXn%%KRyq9UC*XM6bp9-&^Ma`LZ~8B%nqLe*!EHLCd=B> zv@27*m5OQ;g2-F#v9NhGs*l){&8Ni(TnqeQ*fR`1x{vnt5eJ7aY_ILlUeunZbA7~R zw4tw(X>C6ULNdYXIam=dEJ*?j@6Hy(!k@gV z>!;e&^lmnUpwdqaVjC&CAGqh4%bl@jc|4NU__NR#6#QLhJEEjBhbyO>1IVd8Y* zjR5Le65N9)qNt(-Ql<4+kcAEn6I0lmW?j!si3;0Gu6!)oGs8ezU%q&j{hRs?7bmc{ zXzg%xQ%^gFi&)3hTeoxx_ ziDIXkH^uqFUjcO8OU^s>m3u{t!2Z%#|67z9yP!YumbgX`E(XxacPtUQ?`_e^*d@Mm zg;LoI*turC1JQJizVsdOZpN7Y$9_>4n4s@?9|U3nbm9Qc1s3Xd5J_OOCNM?~^iP0D zs}Eu+r5uE!wEH01mFeAs;-dg7{6JiSiD>#je3~(ZW*-u>RMq0AgudgD_$gynTKW+d zoQ)cq5ZEb$2O5=%E8QIGtqg z9iZsjKNgFb76NFiAJh$v66`d+ zNsJOXGF?qfW6atfqc+(;5tZ23tE$Icm5%4l#ZbK`T%m$(n6QLTfb-N(pvJ7<8xTg@ zKM}uY$@q{9wiZL3mm4s}*o>NVVmi;KE2x%6&?wAiIZ^p zQIBKCd4Seh-R>uR*lm5su?Ux6k$#a592Y(8(aV{h6Jic6Iw9sKR-vu-5rzN{KI+bS zKmL8`l9g&#SVF5$iZ8~FM3Q%(;YXvFKkV%fGwI+-@m8%5lKfc7LHkm_pT(EMv-}X* z{;;1vyq4H0@s+S0=Pq61QkWmjI6hpzsz4q&_eH1J`}=`&5RxJ!Md4%^eHsjU=9C!L zr3>Ixe?0`({Bf4Lo)+U`JLi3S7UMu!`_X~7zl9q5gk$@^&?Sf(Pm4;zBmi};lyX%% z5NYzA7K1XRt4iAbGMjHF<#$MTZs}9X{Y8vSd1_jrkxScRyrE8K2A_tBsK zm$GjnuQPhZNOK&xoaA_L>WtDq{8b#r*nu4%P)fMw6`TVjEq(A(pIEIOX!I?fP)VqYzqIFjLYiGqgLCCYvV+#^PsQ7OjY=!_Lk}`(K zk<@yZTM_x%7)opZ7Ke$$P-LTAH7x$Me?(^h%hz2O#W5B(TrU-*HyKXe(H3b04&5^> zQcs+>pR`EvIBM^+NLg$&txbkztB6t=PS*=WX$%h52Suqr&eWnL4P!UxqaZ?WyDWg$>;3Vy-)q~55v9=iP-*V}Ew2v2kbQ?d z3e|neH?%M*jJ3BK(a|k1uuy)4RPlcspf5tv0%)$7>L3+Hf);z9>0(DSh|giOs3B6? zVm9igx+qBr=Tm_dVQ9g#5O&9p?@tEVO&H9{u8+X$jZxB6cAMTOTKbr&v;9-JnA#Sz z(D3#x>`s3+pCZ1c&7lD?;E^(FiIL)~4@TIl8etmqj*f-BEe2F8=LOS*yDW6`MN40H zH!bx@F>Ef?dZb8p57)um)aa4wtoQmGJ{Lfb#7c3-*33KM+&$0Snh(WFQ8>EC#!1QK zjFX&f0gumQvuSmllx5U#_-oupO>tOcxfC6b?iSL3cquZG4+;Mnnh9@q5fWVy^1L|w zc-~@K%xmP*#&~JM0KV6A5zl#<%aV3p=8VeoxEycK<4PmX<8p{o=6=dZz!F`;F>%xM z1gS);Ku>%p<@7J1&l040Y$=UO#Ed;ae=?!iOr?-Zc?)P2y%HlkJ3`F)SEmX1;Gj@CBoQw8n)b;)3ANM*bNx1qK0nLV0E=0 z{4sNiOJ;>x9GsGC{P~p@y7;Osj-10iI5%_$&SPn5cg)sWs_iZfgh{2PyVNtf%8yGf zLcaI3E22DYr`UMt;WeLW7GtD*Z!}j!?!2T(aFu9rtpi*X@;OWJGLwmfCoHt{PfG~K zwl7r*Rjd8IjHRQgQlyKJ;B&>P@T4i+i_)YZ*HZxJ48^y5vya7T zQh&pO$G37He*B+7QZ&hV%EvSC&&Z>eG|8<#?Z;sq%`hFJBQH&IQga+)De00^ z+z1c{mF`sBdO^Abv*RG+8Ex@_JkO`IioHOw{7h3e2z_}oq_A*K;AE5!#_vY_+K*9N^wJEh zghbzkD-{**Rp}q0s9SM{wPWjFV#SGbZwL;fhm$SPcAI)hkp|1=Qd=*q`4?$&Z)}TO zsk}e9b5w;ALWcz%+GwZXXO0 zi)MUZG`Ne__60}%OW)O3BF0|Phi8L6-FKta6tu)8DQC%7uS&nxk){{=NpGtmfZ;vA zL$%jp1ueQ(iqd$!_uAp;)oZ1(l-*ylvqOAsM!G)q7jc&4pdXn-`n;iy8siZhUE?qx~TdSM`@*tm}gtjDx3A1)ehl7wp%ro@T@0a-KJ2<}w7@4Nv)@eE z-_179n5jR^)SqSwx04trJ8P!SnW?|c)IU50E7g;Mc504=3Q#u^gg9>&Uf|<%lXnm% z`=Xh3iDwyWM`71c;Rs9;qg_Ke)F_OvZjh7^EI@E{7AXNp+i3M5DYSa9l+8pFzV4X- zg-N^#H~I2Vw_q@)OYW3WIT+fcLM#uRsMIzH!~$S~W<`7L`z1DzknTml89AvK?fpKMZ8hPCa337CVqlU7aDp{y?+7W!STk&Z+01pc zbR=ZtKr`jzwBc%y!J30QSd(8w8d-TAS=iFg$o`2LVipeNwL@w5D5&MbI>_$C4V**K zEu*C(f#uWW0-RKa(+(b7PZtWLP&PsjF66R!q~7fY=`BeZg<1GMF@oxQg)6#!qU2#X zA(h6-xNTbO33_}TZt`X%IH|Hc)}qh9Ny=fu7?DPQ2^;hmlcWNnz({nZin$I8jVuP| z71HElX@qbC+AVi<6~>CRbFn7|OR2|Qj_%}n3YNw)TbPBSCQCWOctC9uyOQT~oHHsW zghPc z-ORbme|oDrSJuzTp2` zH$zG>3l7ZyFMi)qaF!>XcSs(67XBx(J85+pjxd*pu257t*tv7YEG<~kN0v+Lm^#P5 z3d`ukUDAJW&Up21>34RQzICqDUlQ&X$+4G3u(>*02(D)L=tCAs+ZekSry1#Ybsj2n zJ?f->`hIDOpw90|k6+5S{R?#Z0cbcEXz4O(8jRQ{mPvy}wm?sRSi(vEKF))YwCV&u zgsz5CwXh=ti|tz3PM*i48g)^7qnB;(dh=sa31f@(+)C*`0qlNb3iOn9Ql`R|=#w`< zJ7E?2g^ki!6(@tjEz;BM0sZtAX;T0{0c?}LWy|&Q?UGv%A4KCCEe%xNTQ=;J7_|3| zFH4ie708AI!A>`r=f@BrQiq*lr9QC^3Xk|O3L~j$R4`OU7nVfLE{Lc{Xx}br4i(i& zc0K!FU~+L42dgSwhy(O1(jvB+&|{>Yy&Jm-dyKZe3SD6hKy1`>KGbcPrYouCRjIeQ zwj-D7UzLJ%-)quJfmIojqN-*IHitdy;DRL1%l4T6plZ9{XtW+4WUyF(joC#bTxy@_jp3d^A1=v?PQRhD*FfGyfhbkO6%J=Rn-87pJtrY z@HS*uMP!7N>MC$S;YWV zd4W#64+3p5NwJ%`De8c980u=<0cmXbR%G)NCxVU>=Sv1?TfG{iFFGhyFt$y<@B!zJ z?fSuwq<{dZtsgeQ^t034^n9a43v^d(J$`kgVi*KN9hb7n&|Z1IVU7A1kGgR|gVI;b z_>oT}AKR@*e=5Bru~+q$FQs7?_L|=98|jiL>OdosN^e))y6=1Ghz+-#hJ2{G%W2Vb zTBT-zy>9MDm5QoV|JeoiKCedMs`wsUQq+~jLNyqM)%pfK_`CFMpEuDO*Il><&NbG( z{xm<_@bo@^8iA4iH&4^j=YjF8GuSn79eM^EXFcV{$f4xxjSXhiaOQl%!@_j?ACedM zY*ZKudvC!d@NfgUVzDVyT#|elZ=&aA1+x@62trq1s>*L#*n2dc-&wL!|3l0fj~`&88RPSvhKz0QDhE{+47KR?XgO10jhsS*g(mDpFNqOU6C>BNPpH%*r{WBN zT9MVUvXdRY9Q~{#N~=6Fd{biOy~5|%0a;`Sm2JZPpe0T&##Jq3+}Exzflg-~^eY+_ zFOR_eEP9Psx#@!+`Zkh_bxo%F)Nl)E(-to;WH>NDUSUoWWrZCz|@`-flyu{2*qK3n$kohV!0BpOAO`!~$p z+xy9OcCY?=KRL_7e$m?o$V&uV6_@+uv8>fxdd(jvE3|$xE<9U(a*)vGS6nKe3V{7S zS1u5L!-Rb>hW!466LFdNCn^UL zdm#kNO2+=+94zk^{(_G5E~pK^3JCDQa%Pva0OLn{Zdc*7JtxvL6GGunF$6@&%abcY z{ssiMZYZ6g{sGiHPYAW<$qB*d{Qz7Xv^R5s&mPVJd7xUw-{@@Q5ZM=e@qa*G>I7Lo z1haLGL_2Q=27I<~5|Oh-&XrL3)8gE^cc?s<8P*KkPCXJ3S(O%`RQHrEuxmFBlVe;Q z^l9M1trn(E!1A%8j7dWl4ifB_P_W==oS|Bs*e;yM1Z)ipune8Aqq{^HwY(`-i~i#E zvLf(f+(=m$1c{#cN$7$5D9x^K9wl$Eu)8St26+jBh8yHf2yPoI&k+J7(;MN`Sosu# z`uXK}d6_CoepIMD+7qc)+$g6oLBb#tgW~AW1bL4tcR;Kzl3!tpo;y)q=)m!=c82WM z8>h+H{DvEe`07cZiFbxvhO2I*m(kv7GNkraTvPk*kXJF6hNieNA)}p+(t?ox8obTb5(4XY@R$x2$BrtO$bJqCWKJsJgoi@y=k7jO#n>kLvkwBEQDNfqhSbM zH?3VPyG1vegFDH`p*Z#3C-1om^5{Z&PGTrPxM<)5<8#fcgdmK=kLMeCRK7_5{Hogj zvmYGU7R%c?7HbVGmfkPFY1ZpaWlMlFN|wkUBUoA?4@A&VA^*or^``oza;7Vcql|t# z@FDR5qXNcgwBe=u4o@kPpW$ftXZ)V^2trBSIX}o0ESoAzbez1jwos? zi-a^;gquU}y;c~HAC@=#|ELTQVAS5C+A(sfJ&DUf-)@YsWR!|i$17oQUruxL`hlAnb|Wb0S*l<*kz$@R+}_<8W-(0mnoDE4dl zX*hkeBXSItggam+Ivj7I<6p~RFpMB~0?Z+$Eudfm?aES8s|r@(Y;#2RutaJ&B3HrZ zd;C#(3*5ag9F@nw(|go6@;sP65X8{>3$fUczJZYHPT}9mlUORX{f_*)J~)BYd@IAB z0xS7n(8im;#bDFv^tUqi{MMS~nCPBBxwD4hMVh0WfzUy1$D-X-+zb__7u9~pb-ZSI zI*cKum*73vBA37xVqo3Jz?z!BgGRHrMV>FfdizV25?&?77^<}5z1ffu>`snK< zs;mx#55*}c4L1;zl}KuS40fAEr$KHuRzLcSJcY4wyaa-_3Fg4@CRF9bI6GCeLMgkE zo^O@oVJA7*Dz9KgRM;jb!$Pv44XWc!^lqEn6F$=@!!_^&Py_4UaN;n!6Shn5Zx~sz zUiceVlqbVa0DO5fXQo%!6ng#)QYF-K7K4oX1Kd_hLD&Z=sEUfkL_HkODkJE)MG2zqBE0M^ zaJ``~L?z#~5?%3?{IEZKgfb*$CV3?9J8~O{+%%%8!PXR0y7{meF8^ zj0Q7}*rN`ozFk&Qn5)X)+&X{w1pS~W@6cgI38Q*d*-bC1h^?|J^J%VC3Dcu&%6vh1 zR-*gw79w!rwM$d7aFjp6gXi>E2PCq%32j01eZ(57`vR3_#x_%|OPPX0{Zg0mC=T^t z!QSNSqLi>LRNF;)9|!swZe^RWRif)&kt1|(kaC3K8cGXMma%QLHbnWEZO1DXWfP9? zv0=(g9N$-mDevIqUKp+{#CiS0a3xaMCDBIXW zJKBk&n(x6)tD+Pi4(vcEo?4@nAUG9HrOO!4%(6 zpB`9%-%?u-l@7owfhEl|i(~w@u1l*u)EeOf$EGx{s3;st|Wc9jIW zt9(PD?!6m{P5XHzjp_uYfSg;DDDpi4QD2s$tQ0Ov^mmSO7Z`i?03}j1P8w8r7W!w+ z0Hs*CB+@>M5X);J+>a2pC1su_l*<)Wj*FiTx% zMm`#G)46=*TNXrL4hLrkQ{wfQgAgjc9^Hjf)Ad*)VLBV3*qAFEjdAvg@Q0BUJrcYa zMW;uhYBX+pz$;zNAckT`DVtm#KWMB!j5Djmn^h7xEL{4!1vsmRV7NKmuvAa^+;%GN zhLzjA0PN_S1pcTSjeQ}Ja>qcF6#M`^d5-}7&@%?2EQ#m#hZboR){n!oZyXKb&^kt$ zs&+%Sd^KH9g}u;GYd_3scbV?HR*9qYi$TCc_rUPsE5y!`$|vI;T(33VuOvgEoO}a> zbq_Pulcyj$Z%`D~izd0RPA}p-M4qwAa#sfOIxC#L=+&{HNN=5u!y1G_xp+L<>_e_1 zh^_uLqU`l zDVgd3^k^_RHBIC?Q<1VtxK5_7{gnuHpnuTAD7QbD#YgM`1i8Es2*-)wvqAbF6EShP zcq^ZT+MY@1E04#=;PGF>BoqzhspRTnWu!Qa4;Xd^tgd{TT?|?er>(^R1yLtsJcf|1 zkKxk?3`XDid8 z25NVrQYlTo6NukJAKt0F4CQa}9Dq%wC+8^f!MFLT&TUNme9srd?YRB|>eF;qri2R6 z_`>f(FEjKf?g9rutQ?1yXRL_DbnbrTY4v_T2^_@1;EJ{nwOIvkWC`@U(hAV-0p9Ij!ZMQ| z#pS5dm6#PT`U?7E8-CDa$cHHS0gPY;4S4_rTS*NMK*4#Kb}UmSbbACAMnBu+bFZ<>2r&cN{;`Djt@8D@aG$D2uvcy- z*P|fp^Spr(P&8LRiXCVRm9J8!xL!n8oUmK{;Y%hq+e~cgK5#;hJAzYW-C#w5wh69{ zsq(&nm*WAdLbFx_uN~B|8oIzv>hl=%o0rY{b;eFs0S9$KTQ~nxd zD(!g;+_Zmy-Tr>SSp(UNb>Me3woW zX!{;TuZJLfpC+zX#s~*wx^s{vgzDEThuJ|+G;`<&o&;Zfz)2HY-KyEE8}XRO(2_?! z1>N~Sbk9>*;fH7=0`Wt1W~bWS0uF}H2S!nIQvhrTPh+e2h?=%TwJUiVGXl>o9z)6Rm#yFZdqxFQ=Y4DrzH0VOWq2+Jqryh)%f%bPiC^o;bu;w{5a%l+ ziVBar;J!U7PNC*zXgr>0!R<#W_gN)g{RTkX7#f8y7&v3h^2%qG15ivki;;I^DBN2X z;TT)e0#BA^T3f613~uq)x)C+Q@Z*c`J33v1jpP_*)MBQ-HvplgHq?R-el!b?yA`|tcZz|tf;Qv)x5Ah-MAd>8xVQy`#2iq!FX5d+FIW(wS;Z~X5pyWeQ zUD|*xz)Ecm5PUYCilJ3+gOBZc!`n)Lz}>(OE0KEhehiyA^tN}E7=Z=qt^>+g32tDy z!K%Be?r!)Lr z0HF0qR+TNZ(4HTZk+kwVvu%s+`B7;OpoAZgu0#KN)JZ?RFNsV|RV^ zStV6ssnl|Viapqg`^UzM*!o%8tLZ9?H0j2SPz6(`L*wPM!{bVo^KM+&397<+Qn;WF zW?p@=phik`oT*`iEBi*)OD|Q`|5#u>#WX^p7!z#K^BpRjh%$|dB;PQswGuMbvJWY$kV5vBervTOA( zhOi`>ZdG6Z%S360S(Yuy85ZeuESnyTLJ^=(r&gT)laI2$$7hK(YI%+1sas# zhQDpeGfk&PXHUNgPvG9(KKqAZIa$NPA%XnXzWCFjeyKulhk8kG)|kL)Z(;` zq2@;0NOJZEO4*auRowcYdyfjQkTBd~%>O+J_kSmGYg#VW6rsJq#f3S$>Po89t?*x+re>NAChJktRXh^G1=35ey^e z8`f+bW(-anV{jT(TxZ)&%`d1H9A+BQZE&26wC*Kv!#b)=wrvm!725f!6<-Z`TCFqS z#2bJD1f(}Irh1E7M$Lz;2dM0JYd*C;W6RTPwyBvGgJ2d;uw~Uhqog2QTV%FbuiJN1 z$y93;)%CObXx2Fl|IokGLwxv4$rh^Dy{6WHc6#CKY89s;!pPV5st4k6uA1G~-d|t- zjhe@;?VS?iI}-c5P~Bu}F+574@cI4%${k4^$qnIX@u<`KG!96+X4r7IzQR^OmHlk% zs5#Y&?~rt{R`Tm8SBP~cAe+Lhk^1@&>mkl?$cv|yVb**g#|wDg>2Pa*z+nN6p^|k_ z0t%K}qxAI=*4>(Lt3uDLus%i=fi{cYoMN>Hu&Mg#R4a~?x9M8C^<{sfxSZ}`eX%_O z#|~>4EqXq|uGe|3+c_VzkL+N>EbClqTmyFV48$BpQ$v3%^w4aGfmxZ>4T5+(W(B+I z*Z>@ev#dp(>h1AE>wvE04Yplt{TPEl3-9}rk6zvMKz;o{Ycmt3`3KQD5)3k(Gf|aZ zGsrsMPozllcF}OR`WmP9P-_8NT|3k|kGHyOx3xC{Pz^GBxOF*@KvAfEYPi)G!e*Ef zw_-p1JV%yTy&8_1m=L#KIomoNE1K3WvWD{N3#@CZ)z-l#t}x5CJ6s<7G^e4MP? z_161Al>Y^=qEofpnKmYns#+{1{N)K)-iy{*kv8dE3bVGvtPE*ZqaN0 zWrg$2mGr)%4xvsYt$Wpa9`#XgQwOVUXtML`YqMz%7D{{fSP%2&U$^RPCaqm*8;i>o zdp(4L%~?GjE*)iWS`P)m5HO(8xpLk1ii`HcFHrsrL90{ad zss>wfGrkj5axZX*`o)S3<}SVISL+%6=0mi1_MCO4zuRdBh?Dm?flj@zZqS=AS&jV(I6)I!hTYB=iiHm6k-W>W z@%j;Ft6{=CW4R16;$=DVpTeB0R zZwj?>;e(w7FOX_xXHqv@+gBT0|8ZZ!xZjMx2@D)OtY<$$P-{I(!G6b zHFoWpPBZqbel*wiEz@c`<<;_8T*8$Yyr(EvbI5aBphZ8DXFFxpp6dj+i53^4r{)%G ze)SmJ0c~@qvgdV_Eo9mYo$|I2I3`l}jI|YTPAs2f`$xc4R_p@XF}+}lEuXQidc(c8 zDFUvt5WY{|Om#ka=Gdm|HB)UX1)6oUO`$zAY~$b(VyhtUW?NqMRBVgh+ihprcAYN= zxxHaJdyB1(?}OP?@Uk5zk|n5H7Us6-mG{`ZjO{eLqPiJ2MNe5^OR%CQHW$O$0&EdO zM;^3|Lte&1wp*D{*O}XPncVg-liOY~xox-J@UU$T_EtS(wQT|y90=!`x?IhZwj%OA zX7B}aBlWOKn~#HF8^#OAD%*J~d))TDKSSpkolEW2&)K5%x+iRn$kkD2lE3tF^Se9h zK4l9EQ@Jw9-J6F{Y#!ug^A0sz4|~OC;d0&(xZV$J>&+_g8U4T(g?7(xQ9Fc{#Ww>rPH!FXw` zuNc~Xny=&|7%`APVtb3L8oA%v-bZ!d2hfvH^>o!oB5- z?`NvgNXIm@BI`_1#Lmm6#wC$9DZzq|Dm=c)9npdwsJ_jXX3_R^;?viuu%G>9F0^uVU$OlF)86P*`leah`UgZ><2iJ` zSI41X64SSzwRspdmZ_EGdC+cf17m+@;#92dj1}8ED6Y|FIB>6*t;5uk2e7nqY^J@4zQ_ zqCHvs0)62-3V%U~sF=uE;LA>(f5khG)XOH>*9+R$oeGYaywN-XsCcJ9TCX;ikD2JMJ<`pm$sW;OE?Q<1qUk*Bn>MUBeUU9}g-QvgsM7!Z3TcyV? z+HR+U0&59X{%*H$AG~uAD%bLAkb{5Q=Q=<=Lm61~z0FDaM~wXl8Ua25amkuVs~)m> z^c1U>2{Q*jCA#%8rxwK*sgbDZqWL0Vglb9C#^6piBV9|ygGU5-fsn36!474_Ytl6j zj8P5g+CY8<+XKLO`q)F8;CIF}Um))9p*fj42m|0Ybi9E4Fe<*x`$?%3vm_W)#h@Z%h29}eAC-{X&-ZTXvoyC!P8MQIG3r7KniC_*dtzqGhT5Y zbOa{uqk&=ZW3lh!^(N_z`@y85}eNF-sc;@KIStqb*qgUzw%lM02;t8dN8u+IeD|}i)G}nVT<8b%-Wc>JTApggaP^iJDab+Sp7Zk^b+H$o`{O)^@HrOOQ zB>W(4yU-`k&sO{q1?RRQNOLCTmkqo_o;UO=m|;{nM7uRSAK5+>^MBmfH5_T)_d069 z$r!H%w6fUik(Yuzh97Tg#8v5$dihW-R0to1{LU8t(f+n_sWu<9A47#>!B~y?S_;fd z=km4G;f4Mh?bnev_|piCp2qsq?SmNSPjgK8H=H=e z_#o|Y@U2NI?gs+D;YjkFiG~$-1lZDaB&L!Pnneu395AYV5O*CFBeYYvj0dyB3-!80 zD0w5bQCg;8!1DC+gVi=^zA75*OOdu2cm8}F z+;XowCu+v-oG}TjI2t|?MlU&s6JXik z45x4ZN}C>l4|!cC4WD=3dI!do@r^dcc<^!s_4L|rv`;1Dc|-tZycO#HUYQ(#LobSairlC1n^=rxSt2f_+k$R zzeL5uHhV}0A9gy1%H?^xlYJdP7Genoq<<6V1n54EAqX+Y8K%^6En0o z>Q^l?@u5!0tU#P|M?0rnMyjbc44xrx;4E4;)1_3evRVvoOsDd{oRM&H>4YI%0-W%7 z>6ByQT+j-99=QUa%2q8Qk=Q~tYl309}_Gur#GIw9qzk$-5@)egR-!ebG5 z^sM3y?-ze)I9#mNU4LmXsy^&vV;dWP_(+>EPyViub_2zThA^{gj=2m+agX05ShcsUmPvFO?ev%fS*H#$yuA!x) zzQ0t{4(7-btI|HJLfH+jB%>U6Uedv(*uX`PpZ6RB{Rghx@oTyL(DqM&IzUjdZ zFWjk?1|xqjwS|B=jt67t`|yoKAo}kP&@y;Yq4;iiQC(3R{^X&KH26~iegxI^aEqjc zIVQlR3PBcCP6AprVZeEBsKY~bDM%g(b40WBln%$smWlI>M0+k1M03Ai}}Dtu{tDeuYJBbtFc32;VLQ^MA;L`08Hn z6m=CCgtP5ORG0)>mqj^>;8e9X1%3O*0+~}$4j)|j%e$fPf}6X5hS81+xK%ZH9KFfe z73<^^Gv3@4h}C(3>8BkTX>jW|n(}a3+LIjkzE%i^IV;AY;DcEPmcH&ly(|g;YtD2# zX?qNs{4YLe=$ORKULH)uIFDl%T(1zn6|Pr>2^^DH5a6pT+fJd9UHJ0z*CvEB4ue0! zD`nvwyn{Pl8F6P9&H`~@fo~``-mwi&8ywl@G~}e?b(uE-u+6-UP58JL(1@q7MDW0O z2Fa*07LG?HqcMUvOwTz-0*B(g(K`_lx>^QFx&nFk##WR8E2k#bWPZFnVvLlD=$%r{qFu^}_#8S!L1$<+4 zhVOHwfI6o;p;HnMl16oNjDsZ!v!~;!K|8Kf@!kOJkGr|6q$2DK;Hz>@RvU-7%J()la8m1@J#8)YGvH zPY-_R>4;(fkmz+J!zU}<3z!Q$h^Nh7ME4h@DrICkR=^eO^-LgSqn1p^7`VJ=^nvfLMuh`0^5#BZcL&Ax#d;5f4}fD09q5Az zipqijb5X+(z^uyxi*})dS&)5hnw;%e$R7)2L#74eZ!WXi?AuEQu4RB1O z^*La^>;a%k-2kx1UR0v}102P8Vu~v9aETgn9okHw9oK<{6Zxd2?cA>f-{Mn0X*1LDXnf-BUFp+K<@{=@^w z+?S$~PzC z1L}h z%=7Q2BIy_s(K5E$aP2u)oE8$uf7TGPd5o&auar@8PswU`nrQ= zPjbwo{F@*l&riY(;v_!>Y=8|G9}y{rc*CE#;j@FnFgjEWa^NW60nvOjXzJ{T^;J`V z|K*^ZiYH^=FY5%f0U30rxP4B(m<;;f#peWq^=3>*{qvYx7>ob z?=I{ndvAfJxsYc}!0{46DxJCuaN(D9D1{G^5<=zf9!58yyhwxlR;nN&%@#7(1m95hpm3Y3ebh={+zK+FaVA-vp z88ZN|lDgdiX@chqcOdf-3Z98o`Y0`(>3Ev0qUc#@aW!uP7R*_WFyS#P-M;~kG(FK^ zwfb3DJ!|OTEJ%||4hw_ZY{$wgjtOhQ29dP%blGwLt;5<_{#CXGlBolQx2_RvjGAnnpdFRJl}vg z+yU{T39;3Ln0i+`#Bv_vZ3x?~blozymmJS168`vIIL=&mW0H4J?Oe23QRTr0jx_uM zk)441)7h0uj=RFD=VEogOzCr>B-T;sT;d^{d!&wXainl)=?)~tmm3zO_!t)HL|+4URZwJaLnlrksV zbp{+}d?uq$+bDT5`u`a_9liK6p1Dblu1!Wyx7Vfb_DPKa>rhWVbAAiGPWs;JNolWP zLhPW!uc5k~P)Gu7z=iV^jNLAt-nu!OWmC|m-P{-mt33s=u5(lD`)XPCXdBu>T33+x#Aq^C;}lC5*tWY4ih#+DHd#=}LLN zq~uxl78u^FSzugjw6aY^Fm=1(!s~%H5h2ufwtWR{$^as?pKISvhvs00*{EWUSfGc# zW&fNGys1Z?*24p+)jWHGIHTu{TUXpS1Y?YQ%6OnR&mJ$7>*7LczP*R>nK<9xRD1?f z#(V(XMn&`OE$ijU(6HDAfaW(05-bIHov&psuzOnNZ&4HP@cF0jfKwM^QszHE zzQRTJi`Y3J3%0?Tn3IR}>`+yZPRkZyLfABC1_QFqc()P1C?ZXBjBwJ-ENS~HWV zsLbLIZ3VX>DWCpr5Hw{`@(#Qj4%y+r0eOx+*5ep*NmSCdk;`ily398bKTsS&Lj$3b zAH^pH^7nE5TNn>J!QTPoNnl~vS{Q}%S32}OQ7nH6BVpU|1uQ>IKx0;T6ig+A0U3{{ zF>vB2ZkZ7QBPXbk(w7OAWYIFrpUYIT4C_B$hj2{na*(B|TyW<22v1tVUu?Jx8%O25(CXPM?I9xVW5j8x za3v^K<_GA&Ju@bPV_GA-Wfd|^`Tz+^N8#a39CcU)+O_rrYyskEI=->1LD>O0mm7Hk z!bKc%-K@=$i?l;l*#mRJq4Xj)7htXssj2i$pmpi?#vqBgjJ}kSi!+EI+MJ6K!X-K! zarXeM5OeMZS@J-lE(?uyl=N>Xh)&7_FA$OoS{+DngYjrPdPaydJ0;bYo%yP_czS-* zoPn5+F7jTD>Tj7rn3RwTrM%Us_75{KbPYNJwXINV2NnZzdTT_ZdLh`~yxQx67MWLj ztVj(_UxTF_8v4G46{GSsAn>~BCMvvBU&=0S){4^Bg84(=*6Mv*YmfB(6GIw{-27+G z_#pCGC+cgv&fcTyDv|38Gg3WFna3&b(BX9`@-M1bXYY#bUE2@s3;qxJ%09%>acCWu z*wX8G(VV#q6gFgoE0ClHkhvSZ-hO~@lVkpklL~bIBk%~qfx5d1;ek1u>?`13xygPO z&h*Xpuf?5`oiaAtyHe&B`y}Cau)iZEDOg_;KDN&mfs$KbNWMJ<1!U#hS^5?Zq|s;+}OQ^9yBq>J7GQXl;lumL?R z1Pc${MMXw-9Nk%@o+}zeU_2v{&yIYgri`K^7mo& zL>Ko1Z2_JA3=i`93QK3UtToYiy~5XwKK*BZIWg2L!Mw^&642=o@<BQ z&TVjfnA8Za1=AkN&d*|gM4z=gMZfVzEyw}XYh;7O^jVw~VLqOD zh{pUPU{L`_6aY8SweBKiQj!^xky% z40@RUt3Ar_%Rgb<3x5Th6hzm470rG8f&mvUhDAJTQ_)Z0FH_ospUA&p0LR-6IHect z?TzyC&KiC7CIO(di#k2NXuu5uLkuAAOCq?#CHnv|1ZGt}lvOGi+iRD^h{aq6u?f=F zUABu?EN!m|yjgV3K1I}5mn^$=%nYY)zu~Y1BlMdw^Xrm3Y!a`FVpm?*>1nwEsru+% zXDT~~H7jsuZJbF~gkk3^LC_(y0^B;-%L*}rGHwX`lYbYb4E^00Zrm7sXoH!P-|Z|9 zxcR0L?5oexZnx~Zth_IY37Yx4AO;n;3_{_{qX{fpKTRm%a=t&ObZXvx(tw>f$+(JpF&>UUknd6&Jm<0XM! zd_@yaWuu^(HR-$^Qhv1^qgkCcTNBGpdft=zIvjr1`*pQf9FCu@bsu2;W#N|gcKTqQ zqap1YSc{(sITm)b!YYUTImZjU1Gw+#NX5+~0&x^t&v=S1>hrjkE=4>o;jep~64!5Bg4mb1w9vthSypUE)(v%Z zvZ67UhB;QT5y*i^vLeah>EVy7UT_HY6pUb!L&DMP;Uvc}Uv3)zHNuZi_Vg`KT(V;d zPGxr_J2b#E^+iW(aiJPc1-EU`V`B-2;O&c!wU$7dJY0Z$<8TMlR<99`Fl1;x!oh|# zOFpU(D-e?-Y|tz3h(&nG2%y|$3Z3bX6{J1irHllGMK~xSHrA9s(!r*&M2gbsjXiT- za`-`kjOYf`iQ@X?CC4NrUw zJ8~_S##+Y9j(W9lj9f7uqmmwpMRwD8M~EfrVSwO(o3LNQQL-2!-X`HZ87;sg=T{sl zRvajcRy7x4G%ppM#DQ|E1Lo$j1~sR|yAYHpPIY)%#r5i=7?^PU_%f3%%IW-X#YBgS zhq#;#FbtaH;P<%6lN`U;a0K0Xn&WdEJX>DJv~I}`^XU#K^ncwERofDyT}pR+UkmPz z*$(u#6_w3HDUa*U6T+bb^BhB{w6|gds-@0%EWixa9?W-ivElr=^E+aMF$_(41io=V zK|mX3q29ra5&@V)iyf`-9aBev>EOi}Xu+Q!(H-o;GtD6J4M;|U)hy3+6k0B8us6_A zsCi!Mctfb+29vMN%XL8Zs=W?WF~2+TcbIl@wIkgF<%+Gq=&g>?baex;GfvCe==g=r z7r;m>E~#FC_(SGLjx+?Ao8nmgdk`OE*VYbfLN2`=mo|F~P!XPjkAXj;8v)=D6`OYT zW5>ceN6Y z+5`7E(!C&3DyULN9j#02`+CYTz++D!hj}p$v9YfmAm7znHSQY+TbaX%wT2@MKosji zqE+``Qw~iDHBtr2>__Bue;E2T%t3`b02(V&g;))$jy}X`Ao0;NV)+V2DK>Dl`#f+0& zTH$HOKnrdoga@zh@nk3t3>3xzwm(W8!9HD(5C6m#wJQ~!b@ZSmXC2`_To#`^uy{r% zlJ7_=UqWz>9!SoN1s^2!G7$tPBq7K%XFNn=gw2;;90MMx6okd7@mW28Z?_up zs`o6Gk=!IHr*EXEHl)mP&W6hfkc_cVShV?9kitIfYeCWtM{R2OnxiiDyx{2R)fa_` z?y|9lBbJfa1^KETY&`D~vh1n_QOk>t16GfINLH6JDsZ`$e#NnjtsejOfk%BU`YIz+ zf7*S`F~y@l5-AjyT-&83{N_kUI3DjgKIQm16^@TZe0>PC1mWuFhGP?g@819!AAoG& zyPm)kA*js!9pritHx(jEHyu&5;-D2$=X{I&Jbm*!I*{-?mYdvn03XCBp^(&@juyE7 z$h!$@Gn6uRKzBz-Fb>~6Z#m*2tH~oq(F=p6oc>T_IrSEhtv@Zge_AKTd5jz4QzlC`#X9S$pGH%0cO`>0890ex^UQuYl>EF1!@|0CSKVc?O&^Y6ki zW8rO_QHQKYqhHc89ysuNd(^gMDa>LSy)+qVKq&B}(;|U%jG>}hQXkxngnCGk)ZQkY z!;4IO&$W!>iG-EWLvrFYrNl$}7}p^gwWS_D6U;GVv0zFbYHdokI#R4xiVD88lsqIipP)t7=w7So02j3)WfK`k2Kfob@-zYWTlvsP_R_& zBSp(^m|+NKwjzyWI{-0V8)=s+ZC;E^TuLaFOm*QUj4I*Dc7IKFNng~#z?C$V7Qj0+ zSQ=}SXCNV%I8h_#gJf%*6EAx!La^ZslX~JVr9-&17ndiN2&tW&lQ4dBA2aIF3qxSb zWn6?5!e|j8xvX#2qb*AtHlhO&QnYoJ;R$RkwZaWcVqKT zg=fG}DxHKg%DG$%wq+r>%jg>kE^%JfO56>1FP1&JMieNgxZ;cR$}6D|6^ViZiZ+oF zcnLOj&?XAG`cqz%6u@@LvrB)4G)9zUGr}mdDn8N-ioWaAX>nUkH?vSt?;3l+=MaoX&~b6rWia+*PTy zp^fjB5UoLTh_?mWvP9aXSZOS3`e2g%r8z7I!kc>Rm%%1WbiI8B|#eJfos~5Ln<~9{iJ5%W}*XB@=1|G zxxZ(2MUG2o)>^F-p!EJyJmkNCXJS2|%pou^w)P>RqS5`KKug?geJDb6hQcmZbWaTP z!U58sSQzIFl+@Z-3SwX!Rm*=tYEuiIOUcpz%SbKmMd=h<2#I?Ml7kCrA{EE}{-W2EaAkM-zq9m;qaDh$fUN`VkZ^BIS-HZtJYqM;zT zLg&oraVU$m9gmj|!YT4-h!?A6P_r}S6=_l}WGqRQdcz5QRT>VVHO|OtcL=6iRv=h@ z8>p5rQB+YD3~9~uiBc@uLq(G$SgJuY9?!PiP!W)L7j}cZCxg(Uu*smA>v54Lwd0sB zs5AOC2}d5|B)_E+EH$US21q4zQap3;fh4JOogHzJ$F-aBZA9r2v~sE_>%?oAk&wEZ zBE6wI5SW}Iwb8#LbEZmt@tHhL!X4Q%@HgpGB|ii#p9-j~r`=OU=7-VJG$}z(KUjCL z>sXEJ57_epa!!**Shs*?^@sfc!9RRV$*-dXTp+%VZR@;E{u0H%4m68xi&Ng>*D*q( zvDi~~2Vp8q1BlSn=~53ky{1b6{tPJoViW~SugA?ThCl)wOzZzP>dmu4esOa`z6Vdk(wz+#pF zuo$})v!pg$cuA%+Kr3G$ZQ`UW7fGuiZYVHD+O6OsV1d*Iya6VFXa-i}uRtVhi=~AK z$XYD5mbo{+MsJuxVTkuPz%|&I1`t7BEH%TOswgft6S#+VW=f0U0K>3qXG)XsJu*uQ z7QJpoq4$`uZ3+js=`cH}d|!hA8j&px!FN%%G*^^>6P9d& zA!q}}W(k%Uh(eCa_N70*c?FPs$!^&?ovi&kZDk@X*%dz5-YH{6$AOXi4 zL*OqHms`1GSg+e}k$zg~GHIC=c?wPkV2yiU02bdJ`5SEa3apx_b%iv_R|8-fQ}~Us z04zK>b?~hfK+QgZJ@eu?^rqOOk!Q|I$FmbMb}1|A@&ODt;ZwUQ5*ky%fRazUUTX2EdgimA^@DLPMz5)hFnxi1KJ zN}kls<{nVIPHKi4wfh?-s^!CLlOLKS)-cN3EX}m+&_cIJ6POZa6-a$V2U;KnuY_iI zqp4yeHp$+fNFjA_h2DGz_?gc&W=O3NRL%PwBet9QQ^<4gl5!!aDz@UVM$;1)=RUio zQ~rghw6?d;tG=xJ4_s(dq13Q^ zkCX`!)r>Esy%As6$aw&MuE4B_EBS_s4ocAWT?jLtYYU|`$f<@FNwaX<45r+bGrbX3 z!6Ip`?;)csmTTs5JIsFSa12kZGQX5OJA7B8uJ7UJa~vif=BtU~8fi-4=QhBE(|(Yt z@-L-U)+6=ko!9&uQv6=fq@z0HBrM&OPlfzM?q1BeW6bpj)5X2$DFjr}bLfk%4KciZ z82TS6>s#yv@)y^^Gc8|R&VEcBn0ML_(sqJ2?+1%;lCxtO+AsC=KUJeer;Qe!F)BWe z#VzG46#Em`gPrg1n3$Ws0;hIX4@kPwz(a3BzE@Zv?mEFRH2WI-K^e9E8ngUoW)z`T zwj2fJwudq?mSNE{zs3}T%xb{_>3V~6HQI3AXv42MmnxJ?Uf?=l?;K;UKF*x28w;Di;`6-A)l}`qrJno?6?Qs=Z z9hCg6kIUnl_{63R$9Z4lf+7E)Cn26L$hl%lg12n$?~TLV)KjQDBo5j|(~G5f zIN_~0ia|>s0v0K@1oYWT1*fFohx&eVOEAK2dt;*BSWxR zEs>h>);wE!*_Lw}r@I&N;DBaaU@4p<67)d)M>=4!qDobUT&&faTj!BUpl;(E&Cv zE~DGR@>$4_(g?cx1NfSwKS+N5&Kg;KjV$%6X92$b2x{!&4r9w50p7UhaZFV|vRp&S zu}7h{FzGKok35cM`%~U8fKmBzEP)O1%o$k{V3e3rPDrsa0Y;5@0wG9Bpy4;kMUdg= z{RKC^A(fqw280IJ$QDu~TPO`Wi8a5G5p0spFv>eAjfFVwLkL8j!Z1S8p#l^n=@ce) zV+LJydQw^$d8jgr86pR*|Z@GJle$;^eg83U-*$XED{= z{KU!5f|9kQg0pB~E2=n)zC5lCEtO7LtWS8;mdPQo9Lu9I@Mo!+wYB#{#k6b)25eYc zs`wcM=}D4*L1Xbq`~(`C1pA6qn#H8x7qDIJDdQKU>A<7b31@qG=P_WmbJ9S_@S~J-68XOd_9Gw|X!I0`j=~E!k zD|*z8%j8QyY6aN+dDkTIxQ=^(5Zq@V@)jZVU%acz_x*)|{ zt-S=0gh@6}+II=ZFwY|71y_Td%K&U|MvJc21aErw61JHKE(3XSl6FRN^G&J&m}K}N+xwAcK+KCqlsVOg8-8=DjWGP?RKu~>2_E8d3^&w>m!m2vvVi5mILk_{kXW%;lN%s}L%*RoQlOpx{1ngV0BZ9lqaG+Al8q(fZs*@>QNbT1u-T~t{H_e z4u4JL^q=xyqNi$QHzfxP?N;1EZ(i4lck~~i05E8K8$HXf2dRprKP0FexrH$vaT_y! zI!85y{T!S%q~FE}pZ-INrkl4g%o#=r@8Kz3@okXAH}!y!^O0CJ{>0{E79IW*-05s~ zAbWU6Y7YrrOam;gcL0#L^p?!!Y<+NERE>TH;?M|0C^EY=AB@dkDE@6dD_bVaxhq9O zgg53c__T#gI8@wH;^3+Hu2c?T-lBWhAiYD$_c0KQxdQ=O?tN)%ZQo45Mx4k2T;@n; zQGrc{3I&@S1*u(pcV!#4Hk|o+d&uFIB^2W!2gpm^a`GI`p`jjfn1%4%Prd>L<3ItS z2O1hvYs-Ni%Xtu};wdnPyKdlO^-yj3oCVUl1)eyef1eI}$}@48g8qTe_mZJ`T+8s1 zhg&Qj+WETjkF{`~vfD1VzDFiB51@ zy#<<6k!==84`(feKIv#x-h?KeQRTtBS!!Ef=FP3K-72atFF@wdKmanyB_~uh5|A+( zS>!_PJE_bCnCztcE*TR_n1R2BkOHzfct#!fOo9w4?bOa;t-iai-sTxy6tZJ;b! zc4}xdSv@`jL~U7F5Y=udpYuot7$N30nMr-Hoawb1-C!tPrfDJaDxAsshsvXBLHIZ$ zTwWvcTF6p>$GEW(vJ=7mB7j$)X)7aS)q*Mt8q0IN^eQMOGZF_j(XyxE&w8N_S{yC+ zL`U*6VZFIHTE@;=i;Izu)be*fKQuR;9Ofksb#U1ExUBkeKz+A9iUcG(a6Q|;Yb5TH zI^a$q^KtaHzn1qnAd0H4Jt2=Wx>@9q0KNpet)K=^{6S;JZNbqNLmq0hV;ZPq#`%6mQhx4_T*`7j1A{xB+H)cRBC0QpB2^dAILA`Qg6&8L!q za+pT}a(HJKB!&b z195AG^x~mAf**lt@E1a%3TBX;Ca7Z_gz8ByfO|>u>1qMx$#Ob(=S8_jRkZR& zd92YW2#_8C#`E!&URK_IJNY3E1Ecv{J{g0UVGf0P{g|DqSL?><@{ z`@c)n6M?lIBS-!3lpdm?RKQ(qjj%3m zVaKRwEQAGOL5$Ydd4m6geH%Zhu5;4)Fw}mp%S^jHu6<@xD`a|n@M1@ zP8nQ>4-V?ChKGk!?u1AjcTSf7#4bZl!qoGe0-or!<~v1(0k|{T^r`X`OGFhqpeDw< zpHQ=TK*abc<~RAjj`_Wu&TPjcnR0014`ph?eERWTDweKvb!8maN}B!dA^}u-d<( zkG!1msPP27pmmsyWz2dJ`{pAJ8&LFHfU}LJzl9E6q8;oQ{YpPw8xkFV*2hCMOP$&j z+YG0<(R1bKY8|*tV z<|bx=|MO6B(z)_&IY5NW)00WL{EytgDc=luPy)^d6Q>(4?I&5+*f`-Ty)=CD5rS+VKnqrZSo>;qk!t+chHp!_FYTMQ7~;W~7C8v3Q-Ulf-qx5PUV zbNh$W>P)#6irAkix3J#xrWqL#4e`JeF8~9x~6_Y%K&D>a~MdAt7d#J+rUiO|`j&C8smHR%Znen~v zeVL`&5RN0q+IVtkd=Fe9xA(Y@PUHM~daw)U4FxMu>m{)g=PLOoMiXTE}U4G9$hWJjH>b$qn+DV%dLd6A2d&}qdfMIg`wN-)^G-E8VS!D{{|JWw zNRYLanef4NV9REcj2Ah}$>(GFI+VfO{}@CbLz^$R^jePEtf)1fDn7wxXgMWvE@=l? z^j-O~R1I!A+9!T0hvgJtZ?T1%7hqGpg%S${`5svS1`m2Y3eei0Y3L{5%$L)pPq009 zFE#qp|5j=?iaL+Nk=bi2oaNM9chIDcdVdCE84Vq$xRBCg8+IC)G|wn_KCn&pGq$T0 zqXV!`T!QA2{B77S$56>OV6NHAE@m%1K9kq{m%dT#PJYz(8I~;@MQA|8syY{Gn5?2K zJZ%H_U8n)Mjn0*7a`^u&vHf=JIX!6ncDbt;?Rzbdd$A1GkGo zA9GVC(-6)4KRYb_sa^dX8*d$YK&joB{97n_H?V9AP1}vptMZ-LEwAUvy9aX{3a_40 zpl5H7?Ag2y8e~pdZU{@4^P0sosXu|xd7)NO8=cuJX4;*-XzX%A z!Go)nRF`(|1KnJ%CGQ84>jixjQP0d?qp{3)@l4YjoA@>8zbG?|4tj!H8(cq_+lGf4039;=3+6oMgzc_S}}im9l_?F5$zEw=?`iDO-JNO zP=gcYy_qEZ$xazS<}HDhHTaUb25xg7;i;r{SIxD#M8Feuf;I4)I1T6UehM6`fH8noyO z2(Vi&VR?5^uS;kq)OKBB1iA>dfSlIf$kV`w9-SQ0h`cXjX$+va%SanY1?=Ft%@uh9 z#a@>2j_-;*)f((W9~_b(_HzaFoC^u%^pJrG!_{KSHJ~um(Oi*R(t)e;2y2+0+8T~t zUBx}e!&Hqq6-?A$lT)mbdMd9dqdicnT)jxBSH3JarG3AFm^Y=0-$3e`QQUQ4Iqtm5 z!Svy}i=7t2(N37kz{a(6>8`2$;H5UEwobp#VXd|x)gdT z9M|9dL-maf)UH{T0p>(lVO8SsU1n9Ln8L&nq6ehsmgYOVxo#s11x z7}~pyiT7W#9Q9LR_%cwL&F>-tl{GXw00D&!l~`T2X$yhssW}amTuZE$*ASqmbAigf z>ILFqy_OZCL|Q#MVV=~3`~oyKMDvw;X(MGG#uH>PQp*fOa|{o`(+tl_{5`eY2nEuU zm@rYwaLqfC#~g1T;4uT&A8(?V-w=PmIcjWEKtq(;RZDB8^z~-mr;XB-mi$zo)nNIw zRl>Yj&YSlCiV2IN&}BhiV<_WEk^jV#qO=7o4Z!k>Y+eAFT!mPr-QvYw4Sw@@ zXA3Rrs1iBZr^>A5x`p^r591ZAb4~5_5W%O)_vxt1? z^NN;m{oJ>w(v3s+0Io@yco$oK0vqg*g>^!*lZFC#Jr&-xhW1i=07b_4QX+e~V;aB7 zX@;M(Q(X7Gw$GyGXITq{G779re?x6gHOeHGFh&FpOqbZ=z^s%6n_EhIr1 zZS_b%#wbed0%DUpCIH6c{{u_4hn`dV%849<#LplrYK&1hS_*uOuN=$@6IJa=P=p zvK~&}V1X;mhX`lK5CvQ)4IQeif^&bUvKY>y7leb&0BRbh>_Tg<4O5zm2GpaBBIuEi zPEy(qf%po{}83DSug@(SV1i$+!ZU9FB?UHHo2+-)*-FN_+(l-FF0w{63qE_9Mz$RW0 z=*a9qC7jaNqc7#Xu;gzTrnI4im$2-P7^!SP9-o&KR+KuKo#im|uHc>77ANOk|D^te( z1MR{aFD7oek ziZ`}(<0pXXenyKX0RG}CINP$#m7Nrbd+ENAQ!AZdv^7 zeFQ%Ab)>0}ft5^{s4!2qc_JtixTA?8Rq_p-enj1XG-&Q5#fk83lR$E+a*vt(x3YG% zLRsmrDdUhh@#p&Lhf}aV_SY;^u{xu*;w&e8nz9z(%+7i7T;+GK;t0w`^YW}<8eT`w z9??QySL(4HsOD+PkKECah%h>x6o7tB2i?~f75%+&=`1YgY15T`Xjo?W^Pl&$y@PWq#t!-MOT48_)@CZXn4llL)9%Ro!S0Q32?C<0Ov{w}Py z86ZeoG@w3Y$9K}YS;{Zs9=9IFT*bSr+}VmvEQeeMFBD>TL)&I!4Ej;o$5``n>$&hI zzKdL!#?8U%*I$I@yrnFmHWL(B`+N&1gV%s>;dmvEj=cqh$0NVD1Zl~e%hOpanTtLm z^x8b7b+tQufstr1H$H;$X5)QG!h9w0Z;bkKnm%7?L9ON}e&V&qf%(emYKfR~;{_p4 zgp|hE%^rGNnFJv!1cd3M7)F81!FYHQSf#=R0EscSX$zGvy?PEJv0k~gwG9xrbl6tNGdM62WBdMIqxc?^+PcnRK6?fFL_sKNq-`aVkcT{ zmf>1xHb|%0k)AmqOwkQdNAVJ|9{}n?Wx-M`O5{{tF@QDqU2c^D-L(kF=1X~rl3g<+-I0Md3RslhT zy9vtkH=7GZpDTiJ&Dn1yDoy%&)&zBDx`L8p6=8U#c+to@-UqOlZQ;-y4B$ExiFrcIJ@s12oSCY<>#b91BD(H(>0=6C6;r4PwUddT#8QOL7|F@@^woj+gX}U&v=cy6(YI zl)Mq>0$umasPojKHb_TFw{a_zwjtO_DHr(i>fbiM&;AXP4WY07A7MIqyv*zy6*P9a zX!d51gR!)EGmw28Y`%hf8@(B2l>Z5(PP4ZtX|!oGSO(9Jm7WlRL^ANR!~Ial77)UV*0+1lNk(P;q#tJE;!P|+;*oj0R>=(6|4n*jzt<_F}svuNSL)tX(^uJm|F(C z`P~I*OrkPaf2Pdc7(I~~&1Usw#Rw2B#&P(o{?L=LAAm%HJzSp#IN>5(XE<^SnU$uZ zLXfonlw1V5`LGXZNQ~w~vIQ*RKBe{Fo8Y42eVD(KxgDC>gy?Lmgb@PoQdKRQ@Qqqm zvwx+0SqoZZOTJMe7cl- z6rQuWKJ?dqtK6fW-vWR39mIRLA^7q#OPfKL4q~4(le4wMqYMCCY)f@n>vW1cj7bql zLk}xW{Y|>S*YZ5Y%wybv+y|ulU66>J@waS>1oJhJWdu>hTw9_`Cd7S;_r$ zZ}@u%1B~hc38-xGVg06)E^XZ(CFL z7VfU^41MK~hvO$0F0_ZyvT95z=7=(DP#q*QFCWZd`}0eDLj73!ge}LZ|h($I0*z_C+k{2I=y|DbZ_$K5SXgdV#kBJkrZE$?w z{=GVoQs76Yb0N`iobDe}!hCpfXU>dgkpB9+*GD(1H*6LB?hVU?AGxX_)O3U~O<@5c zhA_{LR}ki)k`@-#V=z9U0&=`deY^)g%~Xt*9pUG(WyZlAo5zf>XoPXx6O^@43iIM< zCVUqt=tm{kcDMp)l>S^Dr`PBB;&gZ)^^v4P3qb0RiYp==q3$!#ZlnrAO0%Y4X!DPt zkh|y`l;}0!lgi2u@cWD^egp$Lpd5gpiezuRwoY(()@E8=d7XapvDNoKeO>P`SIaVG zW~WzD>Tzu1$0Ayyykwgyx5TIWIEGTeaa4Jg4#OGr>2Cm%TZ7iY?+$E&pX-QsOEbp^ zV+POc$Yg}MceVw^olshYUcXws@{{n_bIW#!vQ8+$K10yy#rSQ+4~*?|byTRGE;*sN zd~=b3+tUm`9xnc^r28kpt3aRqNt_KoxT3ePHFP*bd^qW(;@LbAVeWm7gWtV%&EPlZ zxGp~%8iXMCmifZ(4hX>Oq!LhjI$HSiC-mD%rGCW6m#f#3Vff8#jD&5e$tfkktMjLo zm3{E@q~ueI%cn77OvvG^%h+d;`N4`gNdEJ%EyPcp1}rn>UJrL`UW=)p>DrJdt2;Jig)J|pH)`=qE%KtyS=h< zC4Rv>Dl2c{_ruQ0%FjQqtZcHYvhpH+vv*fkp207055^G%vjl?)p+d^~2`K47+kR47 zcs8Vc4Lc20YpDI*TbcmmqN_WjfgFQfNy_ z4ccaUjZT=5XP7R7{2fMjChbRQP&RZ4WzXz_3_Opy$7%R+!#HuY5pFhAh2I_er%LsD znRuFMzBI!85ys^;GUB+rEF;ckgfS|NEv>9AaHhV{))dpmNMp_ePNN!Od_rv2bK$IB zcYTuAhN;n->2*u;F2b1Bb2H`|;oOWggj34=fN;uu(c%=8nMIYJqqs6fotceMg0HHg zIzLsPGZ)WPpX)!s&oyv|&Bh)4hp?i52-6V8q=fTx=R&~+3jV<@pvvEXVsbrP7LtxbDhcj-P5kJ$2=bP;Vr}RD*P=#k>btZR@^hU5qe` zMkg)^cIZAF+s*GPE3->?!#31KoJKrH{Vt-|!oyq)uPh!}RiFMZ;?sRRy1*|AUs_~W zmHIVeZylls7nKIq{f4_#cV`YeRK1iK__>ru__4bMKZX#a{vQYRIL1qkGnpNZ%R`)d zYbF|L!;Q2BaLsbs7;zxDk5wV(BSs+4MNY^Fe&JiaLieTUJBqoC^%Gie*jXVQc@`47 zZwp=)!7&L&eqXmTTN+`(ZecDXtUgtI<*PQS_(reRJ=-xO%$;r60kJAf`(^)-JnbLC zl8i709sfMhMH3`--QvvN|8_uc2B$T{{$qss8D-S7;0W9-B#n}<047PonHg^+jWd$+ zn#x7_pjviSqk5iOi@(;Zx@e>^)7~-sPPeojjkJmp2Imn4VLbX=u2m18DNyFYS2`Kv z2%C|C(dAc!^QdyThg9( z(ug#B37IPaJ5FAiZ~10#;}ahk@4 z8)2m75g(4U?rU()mwH}Yfbeeq#YcofPb3UA3S(e#pWMTF$V~v?GNTHZol%&3;XXC| zl|_}69VvNAE!E?C)o0t!@#&sxG5n(YsKtcjL?g_d;T=F3zX9!GkA)rBYk`w!{fErw z3-toIP_w{qj4*fVvDpaob4!;^KG&5g9hw@wEmvG#rneJKhu7N6LO)5a`c#}~^$Iak zHZfeYq!`2BoQ{=4xX*dZ12zWB@g&z-p=5eN6h}1U3{@2Sy1dS#Mck^xl&Us%(P*`? zL{q&Q`&s=gG~;(mW3N|@1gX?ywnqzC^vd$&boCnh(a{fU`$3gkeNSPGhfB%MF8LSq zp5o>x6EipFT?F^xQT}QOpSOmU4jwb#c;z6cd+3O zGu#&qca-kVd}L&e2(uv5HR00FNH@`NCmZfe!+qUwry1@H!+pVUUo+gPhO6fTRa$8T zm_6)o_y-!U*#pzvZiF+TVAz`Omxlki;hu#16ykI6<3HwcdLWER<1A1g7Md-lVj`kJ@^`>UG`0nby19v@tC{Z5Pd61<_wKufR$Js3Ghf&CC z=%L+pSFu?wZ)-*OmEm2CGAG>4EPF&@r(&L|p(K6KzA)reG~bhN|tLsxvQC9R;ltUX9?aqSQv}L>vjg z2_w%iH4SJO<@E%km@a83axeM*FUOl4;il|-s*piUBw zO7o)B5L}gRj8c18KIVpD7B*4a<9&GdCg@WEWi*BLHetv&w}~1LRfuQ`>?bx+SKysE z8V=#_f2r+hQWMC_2_uzKQ#A_QR<(RkP&EvCYd_=Ac69Y$NXxcwsZCS;3;euk`4;x! zIy6&fLUv?#GmPNpbiWyZvx`cas~u@mb2S_a?(jW}?lpt4#)K9s3;@4`CwQ5UBI*m; z_9zCVkm6bZ=tVlH4z*AdEMHPkG&;YRQe)8T%xJaLvX8%8LY-Y`I{-KOYC{OX#HilT zXU73BlN=2jYcY?hvn&U|OC!ng$JB1HrH1cOmT#$|r8+=ZKBldYso^;dVL+(-G44)B z^z;xVwnD1I6xtCPPq#wG?{sLje_ZVeQ_FH|KrZ)jRf3h}g2&YXu&oRyfWn^u^!}rN zkA4CGKSFtJ)Yeou7V4%ia^z9YI|_Q~P(xP;aKfO~4^+}xodRuiNZJ*`zX&?c-|s^U zU5B>n7uZvy9e74&gWy!ilWHv9_a;B7j-vK$@d9b|lNi5*E>H_zezOklec8hC8HPb? zD54XvNo$9C&+2{Y$)=7`g)aXOlgX`6us-nZ)xLOU3W$Z#xOf;{NpB1jEDEVmsw>VC119M^GJLGBf`8t0Owv^NEr%|rw)2Q*! zr_~X#emu038f^KUrgu^!@h0+4Cqy6Ug!bOz?*W!SC^23g4s*xb;?*$ApVYiF5(o>$ zo}GbocQ{}a3}Y?rthT^|#{Hc^X6}(!7fiwXKJ;1_^(E^Aki#x&BP&hTy5B>cYxTC1{Ym7F?WM+3X-~DA z)#qVIUzk5$+Djda*DRK2QK&?{o>fPA$!HX>A)b`@tm+aPwG`N_MLp%uVpgdX*BhX7 za?k`kJ1Oa{cEz(3{{+CvMI90V7C%~-fF%CxbJ6Jp;0TVz64f=<0HZHg6VVqKKzMISYvrap&}i+To-N$CsR2(5~b$Lo{Ce&}}? zo#_XNgi}U;^<(H6h=241!9@$#Z#^=$SX!c<(cpm9u=<&ho0^0CA$WifNH4tjkt_=p% zTj}je8-n@%IQa}!4Rga!@b@qnJ{~_5HMgOn!I(fo;qx;dl_H@bQ3{AatIu006_O*DI)E1Ur#*?-juB z+<1`2qzP!`OPp^kw3vxP+oXW}kEV@8-+_8 ze8a~3aM+_7ui+a{|6ZZ2Nr+FFgkhh+-<_b*3{KOW$>?$_4V{e1_bMHpj6s-4L9d}% zlW5&*>KE3@Mr~OHjR4a}YCC)h>Z7b6 zY&OOwj~!^4Hmv$uS0mRX`(w;j&Ia-ym<8-*rE;umiPL{59Lk)H!lLJ3pf*t19H7(; zEF@|0*Jt4p-uUz7B_Cd}Ji$ggJ#``sIz-854hFS!AM|-XwDQ}@`jMUAFE*f*w?Lvd z%t6uZlYOC0G8$5Dg>Qk=+)QO}0ZZ}ZY%W&R{@T*H>eyOfJS_`U)*Ef<1H;bo3)Cch zXN`irq{0R2K=7i8Py3>4fr_UVyHE{hoj}k44s8POsNIAT4n{g4gxE@~rxWjBLhq!Q z#VV`!=(QLO&@9;DfcRNRrfREFj%ISssOs53RqK`sW(?ULYWZL#?TfP1);|2Q#UI5p zC~8BmoLv>7(_WM~0@8-}vXBw#!!`pULf%z9g%%Ws7@u_TriEps8G4QI!~V)>rRCXx z-n8Ofu=mjZ_AaKCP!9rj+5!o@LQlI*^o-9pLXA8|9Z}g}Qg_nh*+63GhR??QgLdw0 z^`okuRaHzwm#D641!pe73I$bmOTg+t$H*oXZ+6S^N(8oa5Nuhh4y!7K51d5vDRrsZ zvMTr?oDrA|~C$Zu@K>$R_#qmJ=_ z-1j+%wx^J~P{cMO`F&XheHKOwyyrl!aoNiaFi$VR+R?yeYG5_hbIexhyT|#<1Wv45 z26!8qU&@!M@k0FCMtQmDP|xKmixJ*g4)6-Y01#__4{Y9gn*5&HQ797frlCp6n52~zs30PC@yny(OzPhO!8cW?LU72ti>lmAMP^I4Q^W1;?) z>Pg868VyCaho(>iVRtxkyzZy%~ zdTO!;Z9<7_)KzdSYei?9>&~FHBJj>yf$Ty_e$RDSVbQ{M*x$^eg3*}QJwH@;i76RH z8F^Mbg<7w+(v?$*X-je0jRHtI32F1_6A}=I zF$Y?)5&RhR{cOa7iaGitAiD71zyy5%8*GI@4p@}u*Cq)c3FubjNbRztyJ9Ex5r`ei z-K38CZ_{|iCQ%foAZuhivk6Nx6fh2hC~WLzHOjgZ78cYX@S>Xm&;lyjiM2|{VGx>t zh)*!5st6c9c(O8i;`2nle9~uO*=B$ZrEUREK#lzt)WNONmGnbv-ou0_JEZ&HqG9w8U5ZTTpRN zJTeT~2(niCiON<6d_DzdxSn==Do`l75*kSgo8USRrX02c#i25DtEwv#Lr)%wr=r`C z{Z8MCr2xcztNJ@q9Nwn37I+s7S`nty{qu)WO~$WQoNyyW0k6 zSi0@OmBsAGbdR0kD+$!`%r4^R92(elAgCs$$t_LbY0!2xK&Y={sxG!eRS*_{N!pI} zb3IMl4nzS0?=YHHm&$x=<2}V{fUS5^V;KJ1p)T{{sm`MW!7L|U^A%o(!WgV)u+l)S zb^_syc1a&#L%wz=sP#4;{NF_zb)zQP3D~9=f39N~k0n%pPW4xPnOK;*qN;F%n(tCu z3!RQ8ed&i}IBpa4MaQU&U6_?SH7NRo-aR1vZY&z>$!m`oB{AnfBvIuaOuSiI=odI! z!C6k#qD(38g<{DnRBfVjeAEpQ=`R7?(n4%Obi~LhQWv7^yaP@b9sd#>T7HpO`ic^v z38l11ZDUZ8l5e01s@0e3aXm2(X7&mUg*L6;2+GYN_9=E-#GN{Nq4NWRy>0+o@@(C)IlFoqkH~D#lARiBg*fVZ2TW z)+_F`;Kn+HV64WS7Tqt|<>bmkTe)1C?TngK3m#BA@L;8CE73E)=;Vf&i|u;)rWEuB z^_B^mpID~e1yp+d3^>lB)B;TU^p5(WxL;P6MEw^YzXv<-lCX(O(w@hn-t@j8|?tcK;H?q0uxHSSg}*01^HSYKvo z+sd&ULkgeY%@kmxwCTUA*9EK|_2uqn+)~3t=fs4q*0~+G)GK&^w(buA6fm)8sp#abUFWU^}=|YyKCw1SE$wpfF+e#zY66GyD@|TU&G&hmJ@l z-&ZTqDER?Mo+WOnhZ9WV(zZ^l7fbs&bps*DQyrg{?sj4^U3$yO97CwZ876?#j#6KS zp0SWxUY^mA6E(M{P_ICoNczR$zw6X=`;Co9m& zjQU~ry-kThPNoXzGt*fAhR!LRq#=5+UMpzm1fnzdfu2CqX|Nc?hqJLG0;h)n3jqBP z%}WHBO^2$2LCno>f9(;LZ$MmQry8(=WtkQFDdd+J0{{#Al#++nfsV0A zF>bpfMZcJ>@T!_G1aC_%DGD5fSVSDKr3{JyC9X{XPjgswJ>AEfID0nP1?pRE8OLgA zu8tgDMVy%c1n5S9$kGCgX8ONS3E1ahz9q=l8{&H&{5{Ej(PhG4a8XJPJ&9#|gY9M34Zu7v-G* z4{`NTCv%%VEu6e4mgF_SE72CtNdkt<6ogVm0nTGWq6Lo?5slFW2F0M6Q=^^C(_f3h zLbo>B$=t`CXs2#`stuJTL(yk+j8ivb)P{z>>d#1<7~^yaK)0sUFHmlJjOh3L7_(eP zcNED}tKVa0Y1u`eVRp3*b!r*~B6fpj~X~jMeMK0q=UuvG_L5 zOws9JDjE=sPPcJ-ihUEqkKx9DT#yStosPZf!$IU5Q$C za5{}ZITq}GQU}qEF&)I@o72JB8|^>V!5J)8NoKGcQF6~n@Cc=NpcgVL2-c~da*jZv zrB8v9g1~fi_A!Q~ASVo`*d2{wYDpzOfhOfgg<%8I(HV`jmRRRZI2o}{KB@o(!-;yV zGwN@f1?-OEoE?o)Q)lAEa(bMzmGHylcU>H3m&S=ncrDI390evmEm}YRY3D@v%AT%j zQRpgg@I5<$^n<(Y1bcE~n!{jkyug6CBtee^H5(FdkU*f<`Nk@pj(75z!JT+f!_dyo zud%?!O%4d7q`FWUnb1WPTGRz(4yxt5V1`1`d`+I^eViVK_CPnC-JGpZTK8^ZZcgha zXxzGP&Q(FYMP`iXgkOLBn&HQPJebg*-<|1?Hod!ZjRhBdD62IVu|X)(1I48#F!E{3 z6EM=aX^!cG#0c)y*ZC=&ha?nCc0Vy$Ku2+}c^(W%T0eBJQ0%Y>IxusQKC!>a?LcWk zf9D9RKml$?V<=0qt2u+5X-GDGkaGemy*3D`;k68QPB9QlU})xGMksChU}r~OH!XXe zY?bf-V(rc2s;brp?hb>30-hshPYeR$n3|B5np%*WnwpSvYC&3RX+c`)O%t**Qxig2 zT2@eYvmAn^ou*y<4H|BB(}Lzq3(BrqR`2&&=Ntv=-uM0E<>Pjrz4qE`eAY9q zXFZQEqWnrCX$mwZN@UfpWvS0{68md!z+oqiy;5V}IadnVa38Nt(^m z69su3XGCk1uW4BjKOYe^4fB4r9^L_0>*3Xiq~cISguD1^@RjaOUwYF~Rp+%%EX(*x zkXo;q`b+c*w#uLBA3_q`It%SBCb?#&rYqW~ZNX3M*d3m!fdbS^+?Z?V=uS1@8kr$A z;TqjiVOKTH3}IHiCI!!_>f4E!P{l{a|AA@+j|)AW&873G{nz-rcK%-|@-!#lT&o8w z`&y0gam@?IdaXZ7_t2m~98lE<2S+o2L z#2esg_^zL=;X8MZhVRvL{sg|8=0NdZQPuPOmb>XX@HL#_?(6kve5h~kPuKfj^04Jh z76IFD=CLrTS-@6<0=mSfIX_U)1`l*a^ZhjdvC6*1znna8+(M&wsuQ;`C4lDbMh{hT zyAe~ib)jEvyxoX$OK$bUYo3Dg>5KedNygJKtbpMNci~_BLtF7;cafeSbgey9#RX_W zvR1;dWsEa1hFB?r**e*fy&O)i%^ul78jno?FoFqpiP#H+u; z5gE3+SP$bH#hTI|Db@(I?qr8}H|GxjP%T-C>*USLG(p?5EHLQH0?Z$-Bii7uEaFao zqx9ueR802gtC#!VS24>qs@0(|Uv)`pEo;i>AOO~`@S}ckQQ~|SP8zCVj2Q0oZ`A{v z$}?EA_CAdz58kI6)oTr7`I;(RqdBwOM-o6~eK|Y5c!eFKdamt)BfkeYgxuICC91r{ zUrV8NCH}X#RhIhSplI^CI``dX`-@E;(Dn|td zQTY|Hbwc@P`Q8XJA*bnH;d)>Lv@B`~E&k^Y=D!6@9l4-V}Ve( z!M{c-e!xFNWhlR`ycveqUG;#l_W_PX0jP#;_L2UiH*J?3C9hO`irEVM|n^HP86#`90@Z zA@lB@XZ@`S{H@-2!QVTmlBhn^#d7_wzeXVUy`BE|rPI6M#!7xm$FIms8t6%Qg!I!g zc;XAY{i9{l0!eQE-~98X08L_2(p|R z|22PqHS+;~lA8URUlhlGe=Ufq+Nq}BqT)$mgC<2CE=%sIa$bjh*VJMlx8jkk$)m4p zfY)Uuz2WbFN~d@lb!*kxLf-LB^&5J575@W6a zHOy-URW6OpZtm9sW#Zs)$eH{ z3LVCJ;yqA3Ap9>;28foO#=P&((A9?YErG?k`h6&h*1(G}RrfwJGqIWv`uiyFD0UW$ zKJc$^0n2(+G^deW(-9T#hyJhiPDwc3M7ucj-~PRn6aA599Wp=CN(8OmFZf6U@}7@0 z=|1?8o{e8Wf>mcd@1lVc21x^kO_$P?uT2z;%mH|dd=5rxvMQmG$`AVQB;~GybXGU? zBffv=lsoz>|GUzSv~TpXn(_?_7CjOyzC%!lokXw)Rx%zTzC^}DY_OmF zB^~pgLjtZYK@?^Lc5hM{<&LUwIL^q5Ebw8`a^ibs9rj0sd){$Je$TvUIn)R!+Osb4 zN0pE7l&WHy=;%&2zX{0F@gD@w50x3?3W#*n`d=6J%b{0Ry}yH5Ovig&7;k0JlvtG+qre>ylqO_hIv|CzFKkuuzFWD-DLDu8Sg*b^cxJ3r}%$>Vp%0 z`+2XSRqUFd`#@N{-tLPYW4wlahY3jy=Ye$~J9GDh8(&j+VW6tJB8>Sworo|*vpOu& zkohQ%G%Sr&L(x@2EC5Z5G(?u6O@HH7-O3P&@S4^}dgO;>$}024S!MMu-i%Iy(MxV2 z?w)r){`YDkh|uvtYr{)!-S)%LMo*OyWxPv5=^*HRRwS;MU{3NP|1AZn+^sM)SwF`j z-f5;RO?6B$rb9jzInzSC5$`T|iEN;bWz{+On>;i|MFzIAhsSOLq978W9E zUZUZWTPuPFC9yUj$z6?sswzoWwkL^pqb^Q11g&rzt14QdaQ`~lSV%&C2V)txBZE3v z?#T{DiLi#N)0o)<0kwvZNw+r5=y_^+dDD&lx>;RS-7+MLiYHQH*6lLc`%1?WB=TN5 z6Rkq7zu2S+M+?5Vqd^GwF`$FP|KT8eZ701#Wo@`wosGFtcGD%Si<&M*6);cx!?j?M z#AaMccOwulNA?v?p)EA#faXEBt~(>Io6`jkSFn$rdKeiRo?_JCYuaE3vzUg6z!ZEj}@mdRJ;4~WT)yoihNu#}8CFE(w zH}DWWx8U7veB@UiRm^k2_VLAu0eXzmF3{r&)XOSrxIosp+j*ezei+u@zYZo3gtaiSw@U4gU$I@IJ4d;B z7aBQX(VqqR&54Q~Xz=OhtghNDdcI6GWf@;-0EkqT$FMVQ%r^3re*kN+Bq2QJ{yq_& zFLdiL|HIm%4f+T6{4Qn!F;=-)Q-tIpMpq38f=q<)pQg@JhOk_|R0oI9?|e02s4*#7 zM2RcNl+GojVPcvV+H~|J;u0RbBS*CLzftqPeLDvekIgYxU9}*U}Ili$qAj%+R0Z( zLSIPo=`VaMY$iOibHu6APJc3ZICY)2nL%|loOvc2ZHP+5nBT+;~~(m`WDS38xn zCOJ{sJI3f2_H~>(`%pv|P7CZAV+_|K+YGg*T}ld0iaW9lF4K#C%4M1&5q4|2vc~{d z1!Ik<7KkG>q@dEVx;xwC#zx*)BV_XAxyMW|D|yzddgcJN5WO7GfS6#M!$_v7hHEfe zteTh#>IzGZi4~+8658%nbvaN}eS`JRH9BdWi_7C0yewtlEngMo8c{m2jmW*UzNS@7 z5HUAgD{^o@PRkLfH1*Az`4b^kt}ViX9j$%o(+Tw$EDH(515k`6qCmNRv#QACR?r)n^* zo2t11+8?h5O*1x0U#5XIWCrDL2p4k}Tob+-%;uo!piXucr$es4Rh3s7lT_-JfaziR zEgY~13odRLatYfs_$rNy76qR2$D&o*dX>?MH+6xermHjz?FgF0=Fv5PGK%l4Lhujxe}t?KFo4zJgwMfWmdu5l;bTQS$@_a~5DH&?Svn!we( z2Fz8=Glpt#>#u$-fcR-rKT74@V2BV`dIMAn0KZXCxtn_64E!%&=H6sHq9%_8y)+{9FcfL?jf*HMe?HuNU}su)zKzN+ z!^Z98d<`3E3xv+N!xq4)JA$0kX^vdN4~O^}ZRI3oHQfxej|J*2P_yq;_N{b`*v+>Z z*9QsDya|R?z7V_#ep(2Y4st*di)2Bob&JUVeE_3+{}mhMHZB4HIVB~UT$LdKAjjW! zdWqHcw)}3%ZAP99UejWY^h=i*4^rwWb2@&rOHt-&I%Oh;Q8GUrO z@o0ZA4n=B_;n!%B?wvJUHPv8_T~TDrl)NzImP)zYF&s+-Cz&X zR;I1@camU23Q=m zZ;>z=QPGGv_d*<>aE*KE9&f8xo~DA0D~-uvKgOvWI<+-b-YUZmI~u26{!fIdN>&;E zu%F`8_VakCS&1}RkkGo5s<^Fn6o`Zw>QO~o3TT4cI@ZK8Z&A>PairQTQ$MHvdK}`*gmuSqMS(0p#Gr5!zfVw_zq?f;s zXxzA721cQQ8mMv(wT7#_-v}5a;O2X2T4G>|*(h&7J5;eUE~5Ne6j>X|L@6lxaBz3O zE{?$`WkGX-fGJw^&G(+sRu%+-_ul=@quUa!^b8BC3ez8noj-dbvxj89*A%TVhDOh!a78(({-h-(?k&y2o7Pc11LcRn8K^1Wq8J}U8mPda=D)F zVdYRDhQHkCq1SkGj2e(IQHtLB2lNEA$$5ae3Z^17#vwjTX6!swcY{ggioT%IRGI@9 z4(U%y%3ZI~t}d`db&6tbswG*Ede1Jt_`#!;p%LpAJFjW7YUiI*sg(H*or4aGE)st81d03 zV2)&f2z8R2YLyQ$#nviqv++cl0Fc0*OrOZ5a=7H@P;P;CVo^a#Yg^%_vm{ZUPsrWq z9i?)f)T}RinF!=_yb4cp^#erLxnK30dbFBRpZhb3%5P zCqewK?*KA9`ldd3(O9fD?=VJ(wQi^4dWK=8e=DItygQBYs%QuLk;U)Ie>;sR9o{2@ zig45V2qMi!d7HF@uHo%KN^Bb_v0|q&LUUl(sO*=Fc%!+~lsUn{3cT`M<1Ts07#HSg z=hp2uo+e1tOTb*o-;7bG_c_xT|*bXew%e~ zs9x^^)p@VNSZBRs%vLY{lUL8ZV=Pn$-sV^TcVSpICVa#yVb92j2{ND!2S7Yb;z3!6?*47XkNDBpHZGMD!?~X`_iS-|4x^B-lD`1W>zEhVmv+Heq2dc*`;cn*g2DqagOvYE zCPOD#YS5QPPt6-#tn!EYdb7LH4utn2B75F?Gs1oGOJk$w4=yS4)iqxmY}>knzk$I- zPTR9toc|v(CVNt)J*Byh^v)CZv8(K%SK2Ld?AlT>gTC(+11Da?+|3Cw>8e_d`a}y|H zfQ%{Uj9%jCVPg|A>jjd~RaKpb{mSGY!0!W={RG@8G@=hA}c$_HEp8N?H zDq}yKo(3q7=Qpi)4q5thgmgnYimwkI^=P&|Uh^Ad5yt-)Y^baDvSoSnH{){_a$P4T zA@6#22u}iPu_Gv2;8cod+o7`wv$!r3m!P8G5)>7Bsa0Rrx<+%hXQVsDW0rY3TpDVY zfHi-@;EM87Abb>qJ=32cEx5r!XDOm|!LzL*+?;T8qmZ*bkbtWTv zOsGxjn>h1#zDawK^DGfwvv2fer(R`y&Gg8zJdTGd5ol?#*Q{Y^2K#g^oO`p>MxQAR zZiCN^*9?WF>gH01x4kJ;5mOohEIxtiBd5JN&6DG9Yi|1y4WGXP58UZVm*DWz3c3g{$h25~|FSw;^j9PD)Bj|X8 zVZJ6^(t1DB9NKK>JM+UX9L=%Jo-|^*#d3pmv-7P=EHgqg-2zfX2kpoKsHy{C(2Rev zf{P+WAowgb$~|nENfDkUZgi4~?c_w2oNT@s1mo&at?>#HJgmoodhyaTw1b(d$7P7h zT|+gCJDA<{Gg<>r8d}K?rbG{{>tKFGOZ28;#a-U0SUC|REfH{oCZ?DvA`^N#ngRAM zS`|MRZD@U?_3Q*pXgKa2JHFX?{l7!6gfz%^c*J?8bICQN5I?9cPScc=JM%!;6t}vk`82`4RDN%BTyV&WU*qW7zTW0@cs?l3FlTtCx?g0N;T~KcfE-b( zTo@Tqey*9}neJwuYt9b~yRx17cs!>Iy($U5-qHetg1X0NG}tEsOtVe zW6dED+}HgW>Z=0@-u|YICxqNlP`p9?Y4=REsK42d=qlv@HlW>P^%oJU>w$~Sjw<7# z&REqA0H(F#6RlxKHY~g+tq3q}<^|?$C^ENQV6w4%ulxK!^NDbhr(a}VuhpL6s^NK* z1sNA1qt#yu$REGRT#u`T(kwF_9Qu5gsqnZ!gVDL(_c z7lsVlI{RXCL7)jJA7Wbj%licm;hDr&I&R92jY%MqoFRb3GPP)kIm9zZlk)O!8LreL zyxVv+%ICvF%#C69#;WbFv^Q17P;)dM9i;phhMAo_YW&3}2zVr$E`u&H58&CsH-<6H z7;cUybo}a((o8uznl*|^&-#y0rQy`aLKXJ>=y0<_b-IKS@fn?SuGl|MEx|z9NQx4c6`~G16w354S+?CS7zZd)=80SxD2Q& z4sZnGhQV`3fXJ8BnNa{mfZ&g_2pVn2YYwQ{?p?)L6Wvu%xoGDC?zp$f1q&0#XsQTi zzjsQF4k2hXleuPZpRl#V=xAsU1~|wyCmBK(Es{gI^W}%~++^us#42K}IY?DpZu)%> z%bMj+BpMn0yVc(>HwOYv2$w>aJmbx&+)guU>&Kh2%Un0!j5nlmn~$XOkbV&*C1xjo zP)A_gHo?Slz+FAT{6y>9CV~BTs@0Rs2P1VORPhwEYv<uQ7@kZw1xCX^=C z+!NpsYm?gfRndiD5APM`=1A%DZK^m5g;DJl=AGL9K>99YFo8>P$)6@2s&FcFD!4hj zajJ=?F&{rZ=B=c`siAIo9b1r%)6EebS5R&@z7wDn9D45=&nw%h%g%3|z_x*z5xa_) zQh^Ttsd5+7t%57T0;|=Yb^P9XB{M5RX&8BgJCnRbLA=t8kCsognVd>9&G_=G082cU zz?hfi9rKnITnHB`X=_9t!D4(!M3jaRVY@>xQX=nQc8ik*F%^xuLjg7s?v(&cr@+v zt_JV&vT_E@gf5?bY6)juGShq!z$u<(-l}S@p{YC78`qekwuc52f5FPe%C?!ar|(-`BI>A>DQFGbaoML zgUnIHCKbD=j;N5Uwz9>(c2j3iek-uWC92NP1Xh(>QL!>S&x ztjCFN@r~xwdL9c|{lNjtTgY}|Nuk+a72FKwAEt`0!F(v`84M8X&yR?RmIg{Y!qlGe zv593hL*Ylr=o?CUh#JU*d(?hEc)6;8ZTw9JR(lz>Q4zX(r+T3(*IO*po6J=*3#VAl z!#A0ov>O$GHn^ga=bOuei?Fl{i?H$Pm^3Z*_0oJ<=oz<|M=1@nKteaY zhd`5aE8L%~-&B=WnrxL-%!y!bH{7a$2eg^!*5674K)3T2Y2FuEhh~q16mQ+f=v95# zm8urOWF9+rht@ zhxMqYIAX!o?}|-wGm3rrwC+=Z6k0v;i-F1y2g zLU>oqr&HF=Wv(mk)N5zYouK|C%*ZtA=dD$?aW(A7-3*^-3+%G$;aFDQZI0JR$wmC? z!X^GA1mT46DSG$2HHVK;s!$YdIhwcJoXqbX%jqF@D$7}(bo5L&1fe3}rSCC&Xq~fI zD}=BI-cRl^2kP_m!g&l=X*TCaGj8uHR*EO?fs=$STw#`J2Dmj_2cCHMzzP{54(O~z zc2sKmN;6gooO@5(ERUy~?zL$-Q1f)T&y=JS|g4R+(LOxnU~b zv{TB%TY)iGL;KOUt~UEbt_Qx7RNC4wq$V4s&FiZf_I&rqY7tmCA+W|2)noP=5Xv$& zWet+zGPP|DZNk2PjX72q-AXlm)4?kL)`%$I*VSA89qXnxjM%@+RBj15m#KLr4BsJD zS^{gfw%CO6tV6wB;qh`^k6K+AZ`)W>DzQBWFBUG<)W?7P^H>R;v89NZF5SMwejiP7J=Ivff>+Mrmo%T(-oWET9XtT#XN99oxcr!Xc&47Sv&4RFh3+aS12?RmgVZx*t#xJ&!^ z@&`fhfv9_G(1U;^wvmJyR#guo=?8y%9|7}KZG4I)2QLP*sHn zRV*vos0jEHSb+0qGd0ZDQFXY+6{C?%QPE!|w@?Gwu^r@#Ba#wB$Ze)`738%N(;q8*jsYMFFg`7u z3@2!jTUEgUR-bnZCLC2yw2msPc$EdR1++U+Rc`?;0V!L|<=k?gCFXhkH)14mFMNE_ zRLyOrn*au*7|OjWw{toA}!l7-dK zu4V4-YEc3la`!wFm=nFGGM+=Zqv;d}U|U%d(iNK3!+rfZv)&W!(oD^;sOlHYA(7cc zSvX7O?*i$~SFx_yC#>;Jby+)ncusT8p?XB_Rr%En-HWa{+Sh~jG;iN@WxQz4YM)Q? zdanO)jVEHo7ynfEy=a~T#n}C#d66OGD(LDW=?Z^RKaJV}*ygJ-JIr+7D}2+?#WP3zHB~*Bh)?53MhOJ?ByNn0ys@2)~&=OkrQ4K_rDD5dbP(} zcDOU>tc(qgdu|E$P7v8mWY=-QduQ&_Vqth>i#3WEBad=L60>9m*A6b>`+9K6Y~FsP zrE~Z~c~*7#Vet{u`H2N?8-j7JY!?-I36F$bIo}^2*_WSjs&H%=UgG&F^>KBggIpNh)EQ_G zD;9$XlN?+oA9!5o<}y1XO?oRm5}~AtSTBzdk>(w)lU&lnb}IWHjBCz(R%p!!5fPDo zYHHgovE(bF{T};P!uU1)yM6qy&-f{Yg<4U|vkYbEc^A(ju}P0)TVC#&T=E`FcviW5 zubS=$68ugFZ=k8KF9?s(;gJMxemm5%hSzuwjS(=ZOY9iD%Y;hF(#3noC$%+i&E;p5 zmBn-OarFh?^PM_&Q|s6XKYw#N)I}PFNrB?cC)E6xn!WEHe1C4Ue3CzlOU7NsS0HV( z`sV+T_WFrKQh;-?ur!Q~z#u%kD>3l5~$`kU9rz5q490TO52R@bc-GExTF6Gq#tXB39OIMK2$;M&6F5N&G!m*iW)CEv)B zl!gu?ognb9n(<@qpdC_-%!<4!;907Z&*Z);c%KlwmvWc90;ySN^eIl2zG_<8$Gznd6p`ttF-GP;$y%5JTPaHG=w-L?X0Dff~8y?EJd{McayDo zDN}fEJ}D!3mLgULzmZO+pYhGH&jKM)WQ^p!T++@&5ZNp{NQ?3ozgM> zJok(sdqq4q|2CgzY1JmKP-{D=hBwe$oje$Lm8`NqV6*xy9zzo%v-+e;`-geeQo#*U zz&*kHUhYzmbobxQqT$^YOqaP_8B7mVn9p}S(a)%&|degVT~i`_p|a$iE=%qCry1XCSMc#)!Fz4+ z{%P=jjQh~w@8inz79&}%Dvx%udI`Rlf_@C%g=SsICF$}fYK1qrgo5r+Q{G~>b_O@# z3udR{KlUxN$n%oQtVOA?ON=Q%>b1xKy928H3iDyRb4JlK1>WSm>*@~Z0CynQubxA2d&PKW6Vh$!p$5>##!=E^^|_|BCydoS)eE^1fsCjFc+QRoU;DSLvU9RKpt1CKb#} zA=t*64jf$!WeUDYdY2x)PMB!qp*I4zf9RX)_AVPnjeEl)%8h6o8x2R>yI=X(r6=5cAQH{EJ(@n(!}k6qX^C|1$e&)f^7h7qDAbv80Pv zt@3w@B4_OT=E~@|Y4&(V=tWieK0*me4dI%|C6kcC6~iR}-$oVg;~Y$Fe}BMDz&KU>GRCwq zKD4Tf&*eNr((1NRv03DlHSgnUr!xO7Y=0Ys`;)hD!m;+jbd+sr>^{%V=Qw9UI#R&q z4^cPZ+vP*kN_&T%2t>*nlR3`^(?}m=HOliub>u2MN|p>puj&1_IropIL+qM-WF8Ay zZ+wJvu#E>qpXhEoV7??sR?L1ZN>4tXqh}lV-$x+`~vz6y_*!2ZRP#Ywv{YO{` zNhOL0wSvooVZ4Ul%ynemqRY_TD3AF+m@9Q& zY%hLjp+3sK6X)F-Kbqt9>xu4)AJIMqvljluPQWs^=_hlg?0z>KM}L(y08LxPafX%c z@Z;z@bowN2(@!9G=bT`f=-;9OBm)PSP9SgQt8FLHPq4MM55t8sTvadp8D-`~b?|3& zP7_tHUqm^jrvIXi0~&moie!xw)%`E*SIIP$xr0y2=0DoY-^`~2?N*h)qf67)*oo`B zR{s`fm}C;Q`LU|3^vAC&u-H;rS8Ane@fWvn9qe>feV;$`@gYY2Bg-E1j;P48@}KQ@m~DM;`%XW2M9K$kPO^Ku0nQC<$U6x^7?mii3Ee#`fPj?>~wyQBd%hJY~g0?ya zn=3i5Q2DQ6NR?58)~oS-6gm|?tAw^?wznoZvYLepk`LrQJMXK|D~2(m46rg&j}Z$Uc5CqT1pm4I$h=dWCrq#SJ{4RoG#RsH(a41mm+`!gE6Y{ z19mJ zVNJrDfHu9#Gc^#VS=Nx2ZDs?|vLa&N58*FLAFoO+s~-W8^q2LPH3E?8Zd=0{&O&aw z_^E2QZH*-*-;vfj)*zickE7vMe0e-})QcT!E@a5FzN=N9VD*d@@+&;EQ2r0aNDjRR)Fj*R=$(5m@6e%eqG=VD*I$?BJr526RhPFHy{z%|47}ONZ-&#%F|92 zokV*%jGx48C8_FkT2zx{Vc+D|C0R2(VF%i&b7n=EYIFx{8Vg_hSt^NV4r@E0%?l)y z4|bx;Q>+ReD^pm1*p#POuV~9Gp;uUDtxRX=TK@Mm z!1thP7|hYVn2yv%qvoVDaJo@q%|LsY`y(iX8qvB??pAcR7KVp?42Ra) z>R5hh2TWkPTLl<|Rd=`8zx+hy_ps7?37Hrcgcw=PvP|@fZk8_my`;7DTymg?wTgP@ z^wcXpV8M5nPi(~44T~>d0~M+5$+8DG48@I6zYxery))%e1CxOqHU1|L`Q1|G>6+?Pc&lSr_BWKI>(6 z0}IZz4zw(!e3pfgT_3;|P|!}`Ts&&N65cYG9L63^j*w|*H&xZ&3OFW}H7ckzG}^LN z7)lG^(}w;aK1nvUU#Z~F%2EjGpaDSYr)taq%hIOWT_^|_E+w!YMFXsp!X{Ksa>SOR zbf7hrry~O`Ib$?^5Vy}%@*t~+reLCelt#?ql1c+P(mrSAh1Zj|39j*Q2_N`HFukqH zy#t>-n+I7*obYapQ-NW;>N*-*z!qH%WTDA^67g`@dXbxUzea~$_&M3Gw zjIp}9FnCnTQ*5gUTh8VWV%N#w$@0mnoncRB~~ZgW?Ffi3mrVn zN-V$7LRUP@+Qk9AC(&L zp2+`587lj!xO6vXEbaZXj(Bse@kBqnCKsmQxT?;z;)!`Cx3HhtDxYF?P#LerMU`L9 zF#qBjmotWhKkGHlN(uWFn}u=K#RzM(23fE2Cx{bG?^ENf>%z|Rs&jfqbW~M0 zv*DffF@6(LUjaMz%(eQe#pA6(9*^2F9xN87PK<{o2v^-FKtChYmT{R?pp`dJ;BPM6p= zn8biZt1(wvS8;k{+m*BjSeb0eA&$z)r=Mcv31#^dFlH=1Lak@nQpmi*8W-7)s!`WZ zu!duDWQ`9)7kbV(t3#xZ^mZKeXLCAlDlA%iRXo*t2WE>#vBfsc>J<481Z|J1{x`eP z&rP%XhWYt)L0p2WDumojd!4h_t0savx=puoIG4e97pWJgTd6+jf!(}Es(2DDHg#{* z*VC+|^2y*VyG4JT7X3*G^rz%lM>x@|tRhZj`SPGwpsYNrhst^+J#a)JSv`~o!RR2# zebnqc3vW63@Nub23?53K2=6qV!Y$iGrLnYw(T;-W# z^;YX=LnX52Slv|ZY$(8jIpDBGs&o#}cb#P_8%4MEsV=>N(S6Nm(o`HajlA9&i)^+ea{oU@@gI6>lg#|1ryz{JXEfR8WfM|LK zxCd{vx}F<-L2$07yRna2TO3t^{Ns~>5usNWocump6<5b`@-zX~XVryvRQWD2Uwsx5 z#lq_#cQs#$5!o$lo#hnKCCQ;OcJZqy2d@Yv)xfRJ{K0kT6*hm_(Jsqbh55>M>umRy zT~@~g0>N(hmu1BdzUF94_2RHIo>R_v-u7c4Vs;PONR-9-;qe$ucn(>KON*LXmK1iz zbA4mW_g9|rJpcQa?=L&!Iqr<-_r7b9|MIi8lhAylqeIIKXGNUxe2|?zfq3bP{Ovm9 z`5E`fA?tb%=U%29wx(*pk5##=u`}Iw7{twP_7Rq4wwiFnniM;TNfmM`0B@G;6>yYha|PhY(_h zV+m4onH+RHW~~Z~9z&smeXhX?mK9&t2%V{jv49nHFU#wZW?oKN07;dn#Rj-rQ zjOfd#R}Z?o;iPl|&m_NEDsmiikfL%|VAopkn>AWLTWZg5AdGL+7r((`1#)B`>%=jH z->vn558-HjhoEaanP86M{++Go7u$At;JK_CRnpdQJHs?F?xZmidC8?MJXOr_n6xGG2K_48S(^tWil z*LZupp4u>q?5wh{WRdqW1h4cah5L4}PreW;gQPp6>QC=S<6wiHwKX-{E5Z>?DZb zZP*bQw)Lq=e-Wu*ncDwhsu|Zp<24~o7xb4rdessp$5N%5gW5~F!Igl{`Ok3H1xM03?oP;Y2a+UJ*bL-_DtPap?X79!z{exXS@&> zvn~fa%lg80t=tO-*)LG3s=H6lRTUt2%>LcuRkNRpi*d8E?D2uV3fIIA;HLx`smiuD zlRs@s9C1f4w(pFTv1q4!3v9v_53y(KXS6>H>~yz&2r;E}LX0YIjN`!LW@uoy5%ykM zdt`*&rBgfi9xK+N6L+OgKb~pO!zL9Ic6TuKXG|}$eVlD(0SE+-4n(QV| zvM0$5-aOUrAtg?=yM|rC%vai`s-J4FCvDL*`+dsKoo){aqx^MO>AF9>%AOB6=u=lE zXGbEcb+n1nIDiuz1&jEVH30fnGyvut{B zF;~Y}{Eau*=*-qb6&KIL&6)iQL(plSovPjraql+tEAiP!vt52Ud-Z{rUuJxx++{u zmzKHv7u)?>6IC_xPWvjNs^;H~7QQMI%fF&K?GjI(^4(>RMFEq47i;ipxnYobmz|_p zZxLh!#|+_;#WaJEly;vMs+O55?QZ)b4j57JR6XN@e1vV253W`F?`CAStJTYG1p?}P zkG+gDK~LVp3SXw)xW`V^N+@vDDeYJYX?51-qqGeFS?_yht8Z4=pKn2?K+{wTW9Z+?w2!0%T%_q`;;p?EAVq1kh@N?l(wtg${rYeud3Q&)RVE^o*6k8 z9K>$;z}D;%thYOfm(RKl0;lh}y&kl!fP=oX%L<=~cc*OxpP(~sddPlL+P3=V=po*%}5Pk4f9)fEu&Ow;@5p*{6@;-Mz*T2_+%CdB zUS)5TU707J0~uth51-Y8>^#SOo=QCO93O92vCjj4h3fI=?J^Ev4S2y`PJw$~0A9AM zgD=?E>sEWqvInp@UdMZ6nwd5se?1B*QkMGfvrI6FnyX+`KhF-|5D1+sa(cP}<-eSoW?Xn|+G<3{v`y%!F zE_-yavbwej7UgE{wqN3QWH)0;q>-1I-<#DJFWbFCZF;Js!ykGP!v|59Ls@@CizvnjW z1+Ez6?DKr_+%jKfSx2bnUj@}|cdK6ul)(DntYKPv28v)*0`#JRZ zf3LOQYPLg?w!BlkTUAH#f$7Gm|841|I`X#ti6F;!>~CfBZO8j|N{dA=)Hl%MBk$Xm zHi+y@lB^3!maWCJ%1T$j*n9wm$$A)D?5g+eD2f{Pft{j}nq-mua-Yo=C~nCIcA_p$ zUZn?0Q|4dn%QItpsa z(6hSvfIUtfKL8`TOm#nKr)U(|PRHR>c?a!<`k81WLw&>5pv^>6&G;CekA0Dk?Zimg zDGpPW5!eA&{eoWTo{#Om9L(GOF$;OSYWUdhqqA^&qCN$;(w{)didEq!0L*q(`3XyO zfcoMSX8jH|vR<#$74>@kJ&q1I_>j5U|dk5xGn{p)#}4 z!qjeV9i`96ub?GN>XhDk5?KpL>*e z7g0H%+O~ei1KUpA*XLXs72%eU7!Cq@@(Yl(=T7`>)84z(kuU9W8piIVijnvSf#;p} z6%hWaTJn|sOXRDlhQigJ5eYag`P%Lo*5+>N5i!SZuUtrgR#c)&@;Nvr zzLX8*)Sl^nmGv#e0jcgjJ3dylsgxABRN>hGdDN%An6j+w2zB5xcFZ?_3v<$KJ^y8; z;CD)(Bu)7~gWE3o5GN4nD)R-nzvsTS>tmPGf)ET6R`;;2S`hJj)UYFv)fMi5?^yJ) z_qNEr|9ks2&&mKot4N0DDS85Xn7xg5UoD-sQ4I+YC~uQZoWE6)Ek#Z1(>2Psx_K$g zhK|i(`NdxbK*Kqi#MO z)?CIK#d_fo+buZrulf}Bh-1xIs9y<>lu;PZiO}}&&PB)V!;vLYugWfMYf;XM6ZXo; zQk{}H*e@xWKig%I_mdKb@kX1(@>OjjNd4w#yK8cp+UDP}TMR(Ou4|qqv%zNdSX44u6H}wK7m<>SI>Mj*YNy7Q|1oP` zQ(6?~Y_xJIwTjcjjRT^h+>^fwySYR4@;HgyMtYonEv9(ATJ3R$fCcM3&hU|2cmejHpmRX{&TK)HV;ld8MBP^yFFcNZTG( z4dKpIhBdzxTAZ8+r>E}`vdF6n?oz}6wK~E{Nt2Nk05+H+ofO@G|CMcXu=FRJ zHDHqSR4{c*@V@m_-F2;;uAQax!dU#by0?*iwyGQihRSH|MCnHSul(DC)o}PEFbXSL z1Ke+`$6GroT9MwPd1dOo)=s+ae~aX1kS+bM5{QL5MLGR7`s%LcL^+9rrRm+9l_t*u z9hY$N^VF`F(71u{fH(9o{-L^<*L+*N1|Nln#(nvO>~cY2;_iJ`n|YqWDT_F4KT z+<_Dlp|-VgX2d>6Qiy6rsN}ZJDBtrWNfUIg03LlFHCn~3m?C&*rAN3GZJh;Sz=#p& zq{O~J?o)V5Wyd+odGkh`lMZz{66Yjp>csJjG)O~gJI5dEw)~)-)5r6oDsAUjdfRG; z{JfFvK#$iMs1~$?S`~zGn1_@3<1yRQW2sN+@A5i}vE3WsbLOi-Ub0msk*&tZ5u;7= zc-ZIcVhKLk9wcK*hsiDh2I zmbvjLJ}TlJzm#mdMSiCw%qNsLjG>a*k>Pq(rCF?ejv`s;N{&lm()#jY7;vnzoVgkT z@a!}V(~ezz*}`cQ%eEQ`4V_^-JsG*_wlkc-R5X+WHMX-6gFXFww&UEX7Ffa7l_xkk z(E>688t1D@o7{Ss3KE>zu`N_fD%atq9-Na24B5Uwd8-ngRE+#|*)@sI2+u!H{kGNI zOqB6iNlu>UEmfJs5~vNltW9!W^wha4lAW>PEQ=3QofOYI>O`uO81}BW?7pxBm67IT zz!m4GIqAvLz7PTyb+-oH5TaI1sWfYA5{L13r8zyF_kjw*lCqTLPheeu`U8BmfRH{^ z-8(u1TbvO4w<_%Dq(_UQcMuteptt03XjMm`AA^e1)GGB(JI0;e$yw#m6h5--;0k2r zqqy@*?c$siQ!0$S2&pO45sG{k<>qwfKxOm+S|ytuj%pYR{1%+;^v51Tt29bZh~t#A znKZ2Q&L;TwnK=AozQv^Qh?gC*dUg+UGEec?9&R9=_^5vmv&ndyaGpm==jg5AlpigUlCcB2jqwnS9cs^I2bDS+| zb}uJY?K_8zUj{N}O=}esEn8_)&sQp~H-%1Ag}t5l_FvPi=3MHyQAw1*qD&`?{cm=xM5X#urt>U&-ZD{c z&AHBq)*jo9z5u)-JKzIZoS7I1IDr%5xts>X0wZIP6F9dVuj(f7TrkMl$M&2Kc2jT( z>lMF%C_6n(F8WPWCYfr_g-#i%4H9oKZ!JPo!9~vN+FAjvqUe%yvN-0-;p8l5rF~#=s)iE=XgEE=6IMm+j2`lPy2JF?clFSqs8y$^)RYo`IXFxY!BA2-3o^sy@3F zo1f2$r@uja)b!TpHZf zj5$m{4-aQzmZ@GNs6mI5L|)0j;Y*1$dhrNH412WSl4hm2BSt!XJ)R%bl1rW2JU^=Z z@$4jdM>*5TJ8u+F#bNq2?NZc%QBI6*PajphuVZ}qXlK3PM>(oFXd0`(W;8ej$vH#3t>fM4ezi=WVMbn01 zVXhOe`!GtC-qzZp_~KmXT#|~u9PnZeFL$ojm1Tn`*)Zxk&gqu?QxJEU6fu-bh~#NP zSvbxS1zq(x=V^8PQi-8`J~n1~7b0Ax<}>#->8LSE#xrThWM~m%?qe=8CV@k0#yfWO zaY~or!ExbuN1vdcz?kDFae}i&i>0zEQ@KEo`tX;?=_gd$MCTJ4?3v^&cSKzyqb)dE zkX(p4J!PMxp?lvXM=Y8!pqkGl=r~auCqtKTgHN6u{T$e7@D5>CE2cPd z`uY?EP{N`sSkp=B;1w)!4NhIf0n;?uz5a-u_3=|7H`%ITc~T;;>!v!Rnt_SIe^ZGR`xnBabtza+b08+1YMx(Yb9Dw0}(Y27cOqKf_+-~YDr+^tE-kUTnXl|va zv!)~o`E<6kKqhmeH$`oJ(nwO?IS{racjO#eDxDCExDT#_LjdjkkQ|(^csJvEW|g#q zbD2sk+vYh}ajTr?h_&K}^Yk*+wZz;&52@e={bt1t8g|5+5Q%9wI%4iM;6~s8Wb+`V z3<#mEQrOv)^08(F4qYK~iLtWXB+3d|13T270w!2K z5LPxslYV1~1dd&l7dl?g?}2rclgA;7j6$c|QpwLh4G=c>5WGlw7oMAoRDz9$aLKAV z3stJr@&7fyhy3zg7+|cicy&g_O@{iMw=TKI5Dx2 zQ31uT6cMW`7dgFKG{b8eq*U_O#V{cwM9#v zWi5^Ygcd4PtOx{$XNn@{B}&Ve==M3q%$jDpTqX|(<{0bV0om0K+blKh4qAfM^BsEm zRNn#F2X`$4)v;~765>^`41puq_M|%<%raE*ouIa0D|g-LWa+aOcqMO)6{}a=6TuEP zaHcf%3;cHE-Q@&g2=--&1ntO>39;^=O79AGGe7BC%7r2Xc_2(uO4@Mhdj0 zs_rX5;c3!i&E!RBy1z{AUZLlsX$7DaWa>ixH}X6kRnxt|DCsL0IK zMC*j03!lco2fd6e_K8E==7RYuHSa!X7W?7%Ic;U%{oooHjLtH|aL^0FB6Vj~UWpSE z*43w7eus4n+_5LDd=6w#+XW|eH6>7BtcIWI(ody+g?o-eZf2>&nVASRa;@WHY3Nx8 zr1S`2>dj%TC0-hK+^G-1-4(5K`Uds{${Joop&}7$YZoFg)UQL1>8a8hp#Zy%wvG{h zRxOMfWD5ma=Mr?=!Kf*NQ|z)BE@jFRNY zRMpCP0*k}^2f*RAtvf~ODej{(AEb2eg|w+^J&UccdSkuwNZ5Hkb&e+y=a%mx1+Cfu zdw;%K{Q&E%A7Q6i1^rd>15OY1^#;cq9l|{qNZCCwN0W?UgM8|;AG`^w<^gAD*x=wp z>Vr(~g;Hl3_GQu(t^LUotQB9r(Xox}KWRH&ScLH8Y-D}nhK1kdCon81*$8IB7t5)4 z!&Kcyz~vIx^N`cd;~DPy9)>IPjKE_JBP>2;-1U#Zp?F5B(#J&y+#rqte@C^Qb2avz zHDwG!qfONA(UnNfmkK%Ivr6aAuu(qs&n90-)&Eh{Kcj;WhaYvisRfm2o-!UoK)sBX zBY?c>)gBtLz=E=~Me+j~&CbB^KM`viwy;((ggBeg%G>Jn54+l@Zm4!TxG!#XMz`_I zAjTeVQeCHinuu7k&;-HD;%&|tX-f!Im}JMht6T?PRx{O!9nPBQYv`-w$L-Zl=S>yi zLguv9>f)EcpR-iMOF&PMns|RB>UZB=&QLAX2$B=Fi~>&S&M}kN<=hHxh~DjVjh!7T zTR1kAkK=5Wv)jpto)bz}D|S1H(bt6@-EF&_+oWY_bxX&m zGVfYeZjIB;n8`Pw70n0AYLYI@RCRx6eh$sh${lDTI zZ&5zs0;0;YHbPzZ0=JwFd&jZds=dtcf3IQ|r4M)&fZ)FFHM$$9|30-@i;z z-QGl83p7fVv`@tK@|(`lFziYi{^<}tplCOER~SKJbPX4~W&))y{4#L zA2^?5P*M4z^WdL1*vIv@klL<^-yWwpyi0T4Pv}d&n6g=P)b3z?t>vJ{;U_JUbF4Tc5B9xBfp4u@NS!IX^oO zs^{Jh!QJSkW{jKh3s?nPjR4f21kcY8zde|iFED%U+3{B5l}kPt&#^8eBm3Fv2- z%!zEX6K*d;4fZ5lPfMPZ8yV6&Ar^%tyhx|M2}>A`Nn~bt!Y{HVpVk}KB)BB=tDz^+ ze-xnqD2Pl*m;5Z7F&f7L&ErmtLfE8-m zCUlFG_h*&mei&aKlfXGnmp9le&Q!^<3A21+S}LR>w1zNBicKhsUKCuCH@TT{2|Ya8 zkaeJ&-wsn%h9uTUGybBAFG=X(miQ7TGgJQ$aqk{iRh0((ci^C)pa(&LeFMZ>f(m(0 z9U-kWwIDS$wID5RvVyeI)Wo#1#DXDNTAEOrnOcz6QPT;gnzFQ@`$cCoYbw*iZdz&m zzRx=QAeha(zxSV)kK29r-fOSDF3)=I>v{ZNwc#GmvSJx0>>05Xof{zO`E89Al!$1@ zVC&F-1meT6tJxM_h%-LuFM)O2(G2ENFJ!fmQ`ibACzh**aw;d@h|{mf zHNGv+`3t@-f?e=+k@`-*UJ-9R9x*T2TQw?ynaEWY3C57H`P?Nt_}&oQr4tM*?9S8I z>4uT!S)e8xMk0O9_!pZBiwz?kFsU&N*$U(Nu6Qkmn~7@1xyB?ltP`5>1Lqp)>ccLErOI!iq3KafZ<$ zqJ-I!X}(I;ZN*_bJsmyXk#vLj%(KIjRQj!GRC6~lQzLu8w2V9t47Mp?vUpRtHwlV9~SE+g1v|Nfj-tNY~i zsQReCp%~4A^NpnlL8s0KSFKU~2k^pF|E>YXOix6)`)!@Ehz;`-LJ3UxRD#z(eULF- zyfx|u8&^ZB8*8K{Wg3+LPE?lhl2DSm3qTbSf+K{lO;*W^oS3qq#$r!}TKFuHdTVFF zM^z3rvZYfH72;JwTO=xJO(*u>%)ZbV7?^Ri3KwA!ti6!x9~XGMT`eAJ^z)}*Y!It} zRCvR{4Mb7B*Tx%e7~p~?tI;j%04A0L!;GoH+9nM*2I^qgvhzhaY8mA9YQu2G2BGU+ zQla&_#F$OZn=heRBnpFCfH8HX(S^ZSHqv+ta_FCYnb9)z>?Bhd5VNe3p02vwcrAcq)<83X-e#_U4DH^thC#+U>_^d82cBL_;LhLnj@{evbM|Mo;|2v#R4tWa-FA|rbG9C++( zNAgeCISK6LoGR~hV~^>@75SRZm4J`Uy?Q`CwpSR=V3qP%BO)E8W1q@E>lSafXb z6cP@yBZHI=*BCcP>3I_*F4$Smn?En#7~RbEfUH~4oc`Qq#7@?P%PkY^o0ON|!F6{w zmRAEv2ZUUcljA{N zK$Gw|nuOv94M{|jx5`M=+!(HLH#CnaJun|{@_cZ0Qaha9e|XUNFf>rvM9*`Y6tB;G z$O!Q~ud>Qm`7ALxS$>Z)&@}t~1uKj#61Z4vjR!t#Wb&J!(d;D}oeV@TXV+}`IOtHC z$;RhZAGQwH+0&{YHi~2gKVocj+u~V^OP+6)AsepGY%aGJ(rR9)Sfvrg{#8cYxuV|h z!cbnwAww#NTj+J;`+*gnwHY*;z8WOGUiDwC2diYY#vPlv(khF|M5e``*m@L>j)>)t z8ln()b0_PxhLw*RX&Qdz6G6s@eC>}Kq@kDa(5BW{$p__W5F}8cuYnh0*b?JV(A?xi zmfZpsuUx~b)dK~2DmOM!#jbL=2=Xph{NMEO*k(q&%TiqJDk}o$s=|=K_B!iK{$sl5 zj4J-sj~RiKn-Qv}66{v_7$`^g^v|;M?s;5SsOMzT@V36P^GSord=Dm+_t3SFBQkyM z#wJp^7QD?~@U{3J6M+49hI~~Y^ilPffvVEh8G+<4392ADA%=IZU1vxZI9=_gbwDPn zyLHB)gy8In!A)jW_!K>>{#{QP%>&W4*+tZrKr)$MqF6n!-Z&udKFMb-_0f~y@*V2j z4f;f8Xbkihg`l2#w==FUGb0(F4TeNi$azXPbMIG)iCi5GoT3ivt8RxA@%nv=)xBON zY=jHPP_hvmw9Q?gx`}FG1w3BuMm;#kHfj=*wMjE8p3P7Nyrwo9G1|P|0E9xV@hmX6U8tc9*@kD00Xo}Iz}j20t+`q1n;EY5Y=d`--=cAmu5xJLx8S8e zpM6!bg-`8Jy|)^JU5rui9xz|LRW}{|o^v&s&YlLOd_1;eKPVPKh0*f11J!?qcl1g&DQ8$fL1HsNI)D)R+ns>T$AGk*k3vGWCE zMT?y-HXr9v-Cs2vQ1kqq49tABVJGNnK9Lph=E%K+jR*BRjTs)iohJXCF|yQqe+LQA z2V=3h?TwH)zwbq3Oh}kiM`n<1xRoTeNfcduNezhT?*aAYfg0o8wlBJ0Tq$}C{sK@U zQ|3SL4|o?`q+q7_=*HH9>`PvTr)M<=^0w2X7v<`o#=V@h(?#V!;f=TWN4*M1$i0tV zGx}<|ZIGJ(WO9nX-)>`%jD>~?u?wj2do(aqePEE!G9uEyWRI~&2!<{(qt+-Sz?#;{ zX3h-p;+~~{C)F7b=~-)uu^YK3X)4Op+B%~bY-8BlMvqXL+4l@dwpsNa1H=k`pLrI8 zFIyPf5m3HxJ^PG{-#2EtH}hn(i1mS9qohYcIQT%59@>?n#=i{1k+jegaQPOhe7njZ zQK#Scp>aYQ%RqEi>HEOJF9#avTNX<^u}(y9&u))6LAtA={cyZ={a?n#$-1pP8R9*23ncgU;>3G%FWHGz!Q3+ofi6MKVmGebwLzRDNcthTFFJ^s- zX#G~BCtal8<% zW^m%g$R`Z7FoExiHXI}+G0-c&GUB7(ldm-@O#Jrg2%7a@F*5H5dYyaN=%79CM8hHy zl)#!)8dT1IAg0X}q9HZdo7K?60KCLGBrMVCyDuL`DlhyRS+~R2Jg=VAEZqJ#4Uh_D zTe9#e3pj$UJs|yLU?nMH(h)RH9gZMq9SSJB3y)A4Nh^KCVWAk7(Vu+r1YVk3 z+KOo8>Zo>J?Qa|Ggp3AJ__4B zbn}F3gUOf3Qnkm7*t5K7e+L8b2hRniZ=YG;&jC9~?sv@3FVa0SZG8bsP5&8%#j5X& zCHR|N?o*G0tQTqAZ|)rY9st(#|M+}5MufN&39M@P zQ_(;0ky$?&BNIZoFYkHXa~NkS(_ek`gJJ4SAiD2rJC_9Q#7>(2qcL7jYPwqXqtWxq zGy4YdEvk@QCsf~JcRgx3ZnKnF{ z)U|AQv+#s2d`oz0sax7~uG@yLQaRq8uf;@4Ic5DqeT#oFd|};m>jFVtBv)+pFYvqF z)xlq2-h0Sfss9yKrOW8zbm4`p&HL35m!)IB8n0?%DKH{R2VwA~F&TVH=3EG8Gv!I9 zx7y})o;r3CX1Aw`It8KZC09_f|Fn*5N*ai-QgDiL7&lL$Om-O(j8Crb8+x?SP_6P- zgaA#yw}bH0^M9klzUsN(j1ijiZp+tYE~OP(g6V1Zqfw#+L(O8a*F{EOPFxNzjN~plC zQa-U#Eo@=-Ob}pfJVG+jfw^ad&<(aQ#W5$ZrMUoc<6uiZ^n$V@&CX#jP%>0`7BXtN zk>;2%;oCjLDwC~gGx55rjWi?KU$H-u8U3f<6J_GlfL~%O^AOG)$6A?#=}AUw^BtlG zh55|Ro`I^H&%6PD$(25{C!t>U`pju(X>`FWbbeB_IaKd9TqqqPccUG1mZBxik#awa zHjA|1>oqFpJ14R16grz)KOnSokK}_K%dBo~!zf}(jsYUQs#^?=vDDZYGcmZv5DQSB z$CzX*Q6-1a1bi7|TD%b!Yd*rMA{OA?p`MH7#XSH1SeozX;5jr-!cTYLkRcXF2!Yez zTll-TGd~UqA#i_-1hcya5fDDSy~7>4jw`BJD9<4^h}Kjqob;4@WV0!$aG&89gm;v%=5ULrNKk7wSN zP~3dHc#({;%#pxLg~gz9x-=06x)&Vz3Ck2+jOVBm)AsC(WwH&BN?%Ft{wm&V<+k=* zud+=uN(83PG)5YUS17lr>)<9JE7AdKf%hbHw90)N^?G_c?2Y+T;n52nQ?>|KIc6zM zsab1d%3_0J`beloej)&|NG(e=FJpb|Pi(qAl9J5KK&3bQ>8BAH?~{t+*}{{QY--=v zHPGe*Q`t*hoviWBf9dV0_T~WBmptd8P-2g?H&@|Rq6T%KZ!f3`9n6cxx1@vlh(=Mp z)v?)a0{-HoRK*?SNSf8r%%_dwrL0SIRux0ZZ8iP&&`36+nD2U$wbGUWlYtX8gOIf0 z%v%r^ASi#H#QBmY1xe!E7nAFTF6I=8G7;6)48*$ar|Ryu%(8T1^yaRXz0O@tE7;yV zcB5MAK8l7|txH?gQ4Hy+H`aASumO)KmWW8v!9?+a55NRKv<-jG%GpMf8acm&Bht3V{dbc4izV8 zM`(%wxgh^EAE)uP%kC}d!&zJN8my^*d z1kzdisf2H*9L_@#eYs!c?lx$i$SVP!4@YauvNzo6SBw?F~*$-tvEsXc8qu`)x*u{G~nDz%+3*G8=hA@ zj-O?19>zM~BxH=jOH8q2plBxl`xx{dX(PZaJN&yxm;@rhEqA1;!&Q$oXL40A%8b$S z5siT`=j{WfmRqRD3$MY4Fgp|5VdW?@EieReQ9>Q%Puh-|^HOt)n*&j{G^oP6XhiX) z07{-(cPR`5@wqQG$MN!@%YZa=`j>$}cBoe_Ghb!!DoSHg)wXPE&r+Xf!)OYYpBdOK z;oBf$>Crf^-ivo0pTjqA6Tq0(It4p-4x`V?mjs#lIl6hPbMzN#a?GAuAD5t#!|{QM zyd0Qw=V{XA=2qT{9?ksjP#L4m6#c~uREdv>WINQ2qrtgos9uuY13w}k>>163!^Mp@ z?{#&2$!}opEE=P~h+8kg@W$wt>>r~CHDWA{z{z*4{=%rS<{QCpr(a=;Ubo~5P#=+D zuV8R+bWR~|8#B^4-f^bNTmX70A7{q9aaoR$h)dOuGrc+>M+ifa;?97?JrRDRz49C| zV#>yw61pQ|yqOX)&V`Qt{@&xwtN)lIz|AgL{6L!yWQ9LAfiigbf$ko`5jAf+TPDIM zF>qI^tVuL@qTo!-XCIU9s(3xp*v?6;UMw7Kgm=8rBoo18ljtO_dvfMg=F2L3q8YCW zU&gScQLS$lwqRQB3x%q zBqWtR&Fq1X8UrT8*CUAAY0xxW{vYI(n0NypeQLsR?jUv=F!ota8K(u^riW0|F=WHPdlp zfjJ<02JPXWKBS~p9K!7_vm^)N!2)OsE`1Y_sL14iJoX?2Gy4|vWxb~=PQaEUxOYXC z{wSqqGIJ(0s;erP36tJc-91x7!1kF`*Hs;x$&zvfsskZFQ}Nww-*MM>WpB0}o}2~O zpQo~JHOFZ?OK>wls^;IuQ14J1ZlkGP)&ASeFI<^1Z*#P%PG;iudE|C;8|?(;q2;f@w>G~D z&+q!#=A^TL=j1uSjNXBjqV~-Jozn3+<`C^7*g|Dhp})<(!<+%{ue~!^d^!L({r7d5%1EuW;OM$p2y^NCHpW`9cnNi#C5YOnU7%P z4r=XubEuv%kuik2iWM|ywA!J%-APliUfje^n%a@*@~ZDNBirT!7Xm=RBLGMT?=(|1 zDeuK28Bq~(IHm-eu0zeF*}EfUiuyp7wy2p#Cn+=y?{w zDL`SKBM4C8BJ;~8p7Vh=&sl8V@IRM~(Dn&;n|{774iyo%@JV?+LtT51nP>|F1Kjk$ zO4EhD3SSi{Qo$RZnd<00u+X#GsP4m~4VAqnG}3dcKjU6m-97x1mzaw}V4Du!4;#U1 zw~IifxA`{|LF}V%=VKyF3e6Daf3~VwW?tqR)7m~@zUBVRY91X|_8@G7rItMio^q%D z-3QIgv&gA+WiZ&apN4x&i+}d&=VuX4=lnO}R8=km^=&IQBlYWNkx%FPkx%dSgv>)_ z_-QEd6StsSs$XdmL+~HylQ;d%+!i&T-pQEBSY6>SD5c}NI@!e+T$&Nzru(syJN-F|Gi^ zDDh)aX1I3l6dt*ufc)T3R>D}0o*bfW5D_?*b3-|mr_6wFsC2F2_8G6sw}Y=Y9nq@b z>rLkAjMwEd`1%>@gcW-6R3M0}>=i)Cor2Yg`gB)Fc-cxV)el+;J(sH}(~Gh}8b+cMBJb&Gdbg6|+A#eR}hUu+nk}Ac?_5kV&2&H~$e{ z$m`LskYGg=2O)?HL}qWKl7WZebqVi{N!AyPC>9r@n;(jAUE3(@k(5AapCn*1YtuB~?c2>rFy=RdNl?o*?F zGS>v&GyUPmfd(qeI$?%-Joo!A{Mk$l2@?;#NLA&5BdNcl9Ui9nhSy*8tJ%S$HI>0B z7m#17YEDx573!;#<_Cai%_%c9)U!-8_|NULI)vb%>Ur0_FmF`1D zSY8o>H%o-|gU3^)2DP+CFMru$pUyt^WK_1arhCdlxlE6;B-+BlDAa|PKcSWNy+@r4 zwPO8AJ`0CmwvR8jV*IPxSerZ=KJKJnvIb6rbMgwkZ@wVb`h?=6+FEo~b!=yi4!&H} z&Kl-X#VxIP|B*N=)1%^}toY^o*utEhV7=y99>8$b*$G4=HmsLD>fJaRmh>A8N|FVC zi;QPkw}+@U>ZW+h@K;+FG4BO&H&<1W7GA>7M|f4ZV_6JBRZk~XLPc0A-r#$S9jn-@ zJ>{FLjB7h2s{9clUjM)p3uO>0{*J^Rcvw&Xb6FP_j@vZ9O*Qblm~j8Tj@D-qGN7i5 z^*bxH2J|QyvFf^6iL~fgH>(pGnCNYpBj zoD>rn*Fi0CPD`cfz8+Q@Wd`-Ign^mU!xH^aRS#>32HH5~>F5Ok9BJM{wNJM`X3d>S zw?y(y&d^QC%HV~DhONx_9}QdYE`^Mh;!J#=wV0aD&Mo>Xg6f2D2%eOVYE=%g&iCOOGH`MP+kARk@w8vNwje-ErP*2m(4~)MX`!EO z?we4z=6)l}-aghgmkUoWfgIMiB*5axz5o!7TGr26U47k>iOtXzE4{9bgGks~KSRw8i!# zJb(ykVw{NQI1TmD19jYrZUgm%S6yiJP{rxd7=8<(ZRG=LCGKbgtt_v(tc0n*637k^a zR}R4i9vfPq6?=zThq&TRaZNdTA)gg`MXY}IvvCKF8k;UJVlAy-obs+&b!#U_z&jBhCm?iT@0{h zsl4<=sV{Gr700RDFg<#W$tIB`hG}>%8OCJluEqHG470XMKNntNJ;VNmj1iPTv>0Jc zW8;Dl1@++ws~_o7-6t6%t+^BzoJCw3>qxR523jhhDJZ$ZkhbF6$pDFvhX;VE5Jn?c_@W8H55v=>=>SIz5=MW)xj%R zeu42(N#m^9?r+_wBV(~FSC4~WZPt|2pE+J|z|(5s1jgqXIT1B%f@Os=^Lr=h zMISX;gHpH20&V^aCtGic!mRDp8nrH*&KT!j&AhN3om(1zb)ks@B=RQ=uYfkyU2RE} zAPrB>Z8+Q7#S{D2Sg zk!vh*&09FdO4X|+h%x0$>(#C)mZ=GBliQkEKXwfpXr@|~f7}D1YNi5^!qPX{8ljSV z#l`u(*INAqdkmV!Fs)Y;rm?JWq@Sj7iEh?w)2tb=2CVBuHD)?<-LPmGqP}M?TL01M z)~g{dO{(eGAyrLJiU*TEK;H^87=g-vM0?9-Sm8PjhzNx;o~M_CJwq>jabnaR4eA9> zmvAHS6wI)`ApYTm8wIKP2i?TdS9|hc3B381I1om zVzmqirvk61YcJUeuW)20WDBCc8lL52l`~6YRGHqgTdgrs!c>T!MBsI+Kkru1slF!_ z$-U=LJ6Y@53z2iX<>&pex5C1w&4$EpQ)6cX>{3C~uWHaKpKVRo6;X$-h|r63tihUz zIY&j!7A9tnRUP$$yGCR?Y74b6yjiL$`Uf#-3tNk?Wk@2*;Jz)wRnZ+*b`gEKOGdxQe_<+;XRA;XEr4 zZltFwn2vx|IZyLxo=*Yx+IdzzC2Qsbb|~oP^L4R7vn-+$Q&fH-#ExZgrxk#LuC!J7 zNe@S0&0T+|6|he9R5=f^kjn40yiKGj21)A)1I2gU39iAWb2n7edLcZ#tOeNY#Di7` zRlOERi+KyIcn!0}N7#YKL*)Y9(p?LzrDti@t%X)kU783vYrs-;qfoD&{e_y&M=g{^ z6@%&>05A<=o{=^$h=#>OfQAL?Y-N&jFV>D((lnvvhESw z=AUy9q_N35j`PPZ5q!zgFR})!hwjrX*yj5{Y&c!tPe<4gcrP38w%!jLN;ql2C8<42eR6i5}Iy+R}GKTH%L9z_N z21b@yxzrH-0QAXHy&tefoCOV*JYY@asbqM3{y`W-y5dF%3nGV4nHHB@BNUc+4tPrR zSSLfX{{SbV0}8-NP6<2aP`FZf^&0#BOMfH6DM zSo@w@wnDEM@s~IY7QtKttgf^IenHo%s+HDK*72Z+VWV0959`@m_pr4l>^55AQPE@Z z8TLKJqRW58DsF;8Us0e?M(iETQP$m(f@zht4MTKBC1|t!84RDk)f#vi*u=ARJ!iEg zfn)_)YgE~)fwEdE{85dfT+|(@9(oi3xq*HWeJ)0wcoY(^HT#m{4k*^B4AQ>_UZMf6 z#HWLf{k+DSb{2RnDAyDsssg}mtO644-RZAYXeg=cZ40N{D54$pj(SYXBo&WQ~xH3=1( zBnp+&$es+_JvFi?#7EGfYtj?eq^Mvj2Z5re)hkcvnm>O6+R84IQFe?D_|%wNmV)j& zt6zcnVAqf+%TA78})!q*k}cGSjfK}SU=TYV62}Rbay@~{XodyZLM7E$= z%1{MctVQ|_0!DpkqkTL?)PE*K_nvP`CoMY?FcauiM5F zVbvequ0b?vhvwP!6rAkKhG52|K_;yY$fV^v7@P*)LQEdy_Pt>B z)46>*&<|lvW$I-G)v0rL@@Y29?X-IQiDMMZqj+BigInH#ADF!QHc3|a+8N@lf6gw1 z5qdxW?*RBa%JU*GzpH9qWJul%oZiA2u4qPkNIS59`6cH>{E5X3g6}gWCm8ar&gX z>>(;=@gABmbPqK|zD1jB_dw$fb?QwkRVD3ZesEIS%gk<*61jV=k?MzrU)g)DVJh=2 zD%rG`wj|Y3+Oa&OFAfj3|p zrOmmujA%zSr`DPn(Ft})>`g6HbS=|xlH#OZjjpr$Ms#r>HCH7sf~3xExYTi*3+osg zUmcx#vd&sUbhM1O8U8d?@iz2b4_vu^_%`s>UFE#PUEe!arkegXZOMJdTCB?DSLJ(F zKI{OEJkj(r`<+HlA5zuQkJ;~9@nuzPY0mzLkL$6Cd@oQPZX30*Q-!ZltX%F@zRft~ zKZGYrY3f5N?99|t~(1?>|=si7+RX-o&X z#}N{?eZr%{$-sQ^Z8(9<_ynYXp@07;)^XvZ-`kI+;UYEsU)D2cVP)!`#l6V-H&{g@ zZP9TH7pd_zWKzp$qTafmBS6dw{;e^y%RjkTx9;CoN)sI4)bv#lVWW@<2rj1yYG;*y zz#7l}-3LGw4T${I0qX;;QR%Bn-a*hhau9F@{eP-i-9evfetYGoV7!af-cL1SmGzm` zSLJ_4{Ngc(kY;wMg@<&F6^AILxmQ#Ghfq-n5$-})gbqw;=u!l)Q;b?f*17L9E7cVS zvnFCU+VhzeA2E!D0Zk-+XTj8%n6l5c>RuQ*f9~hjk$?@Ti3%s6Sf2F-Lc$L9;}@E- zv%l2Tng!kvyJ>gEjA3<3@cx~f}R`?Bbc?Q{3yT8#4Pu{oI0(tFQ_^}=8=Wme>L>DiL8R66d?B2QcmZ>Z4 z$*uOP?h3RJx%HO!EDWh=_Wecmkd3fQ7~IIxoV9GZOhmP~=NK!5XkFh~iET%?6Du;I zjHi5tvHA{FKawoBOqf^wET>U=#rfxbPldFvfmM)KIMN9;w@{7 z;8=W|)!8s7n~$HB`>uI|P#^Wjt!nt0suN5*MyV54s%C4>r%N(n!BNCL^Ji3TM76om zS)gYBV*Q||elMg&OmF#nvEYK2G0;1A@r_NwGrHmfErN1UtfPh!cWZ`dD_I|qDo z;8&WSqdxzYWu`j`RbXF}XS?cuk~V0C0W$DO7QyBIqbC_fS0|G*&ooObpTaxq%TUya zzfsL-b@y-ZVGZNRm&L^*fOK~M=B`OHpsoz=Odv2BfT(1TEt-Yi9;7(Z#(M0Yw7c%Ac5<`AW2aKzUXLwY|5qM+ zCX+Tf#O}dImxb7++)NI&MG2zKNX4OcKML#)wf%6k3%yjOLm_zhSSwYN;>1M+=YX*I zVfMG4EdSnSlw!a<;neE&XN22>g`F0RsmJP4m3NmzZionbC%12GVK3l>{U@fZrQL;} zg8KZqE$Joe9&_@{h_OJlQ2Xv`;a&Jfr$^Z*&afSSMk59BM+C)|Cb(aJwx!BBzm4$I z%UatatVR3m#v)9?&60l2M|T6lkbbADTDZ2Y4Af?yE%}+d`4fLzFdYsWR#59Z$5>Pw)?30EJ+Kw4vZ$S|B5vu~gg*T>l-I6W6a?{a&Og$!rw3L}OI7t4;L6zA_Qaqu{4jEIrek-}1Xv8Qve?ChDGnD> zTa{YqK!B^%N{7Y@4sSwD{71PhtU^YThVxNLc3i{+wA{wX$|O69hSVk5 zgPUl7u2goi{UT2^QLbL+@s@d7q6lhlchRqRR>_wTt+IY1y6xQdc7P@amt})N(m%hw zjV#q5db!>PRVf;>8XFMN;iTAWD7mtOZ8jN#P`CS9@>Y3eI8GesaC*^XcC>Tl3l*KD zPJc}&V31}X?W{lHelWQULo!hf>Y^E#v0d!1c_ZswiY!uj=elc@ow5FwY&)0y51Y=_ z2Av@zc@j9uAj_9VNB!iLEdC5p_a z%;VGk-D!5H7#W?j%)_VRv?iI_o(CYSm}xnTkHo7WRfv z+T7|cVU5qTD)1|4|tUAj(zNV&$=fEecezXq`a?P2r5qQ$I`?2+YbaJ z1`^R6BrDG$wi8^f7WT8>(d+9jHKD&fktOW0JM)ep2g1P8PDcl4j>gY0<`Q{AdSIfLwHbPaJj;-kOtFZOtMJ;MGD zwow%M2W7Gz&ceV4X2pMFmi>;$bFDvXh&?!j$y#`!Udm!`0YIuQwAq((U4VnBy~v*J ziI^7bh{_peZv-w*4HFpk4<8OPJU!cWmq3pInh_fQMYYD2oc=@=r*Dh5aBv*gE78#L z5}LIhoY3gVl~(5D&x(yjyky_$u#tdWmb!1GZJsO3HHgKUEMd1+@VZ_NV5We|=io@& zRcC7AGfFpAYmVxtIHEZ^xZCOM_g!jxLv;j%AVdiD6Ns2jXm=bEp;RZ6W9!W17~}A9CA~Pdf^5@xBo(a_AK(J(l-23nf^34Su= z-{WI9ezZN%jj*tCw4Io68{d+bZgyc)7DEqZdS9oeMVovLOmkhMTX zU19enyeX%|sCK+B4Uu|C{d$GHMc30qojVS8C{IluXLnAJmdUCWW=8g%2_=^o?ozAA z*#qF2J{ku`+pdzwqn2Al*Bq5|oNyJ{Vw^ey!oR82qG4l{ESEYa<)|o*npI zG8sDN7Oidc_++EsU9QqqWLCY4dcr!s zAvi_mM8GNt!%wJ+YxFlgQ|uU9kiq&tDfwihk`tpgP%5}!z3TcYfKKCTpW-o@&5yMb z8E6+zJsWlVwS3o2d2WRSCryQa+@vz5>hBMq%E)Y1bu;u;^v#KJWjC@#?a8Tj5mofQ z78K18Un|P{DZ0mugSdU_ju%}AiSVlZ*V&^3w^H$sIbBtXUR$lyjZ2|6{nZZ)QCHQP`G;(gXQ_7|Z7MvcOh{QnVl`V~X zoIJG^DC~NeeXkmIJ>#*p@zac11RXEGPHK4@FKsa1$#x^Cmmi^Gc&zDU8Qy3&=mIL+1Nc_xxJ0 zv%7C%igq`iqUhV0qV$^~2d}$@{7ijMPXpKoSC@{3j?_6EzuGrcRX(D`9=H0vL9jZS zZ(l~<%0UHG@RlklurJQ4b-NSnew}+A?Ec&Cb+G&IxYxn%zpH*Ouu~dfRbCT~j`Z$5 zm2r!n+)=mKDNSbS{YJBdsc{xNQIb|5mSo4oSZe1|Cy>-9T^+o|9<7&dceVONE26D7 z_o9IQ1OeOs|bku(+eH!~so@1-9`x$Xk zUj5q4EbANPM#N`GpLg@GYpSabZh)=Nz5~3cvtacN^If1+2#r4ZYwohQgmQW7 zJ@!&gM5q?O+(Gx+rq;1WtE%4;;z|oYU~j~|NCfzY->a2JBw}OF#1cELiHb^=g7ksS z7E83WSFnWo(5@^&BU9whxQ};TANRa?wkuXY6W&bycDT8t>W`AXhX1e(#aWSMOYLIM zm;REa_RTT?o(Eu>=-dPJF=*&7_GL=y8gAD-pgVN%0eH0?D&avr5CxL!t?)wFl93OB z!ij>HjT3Y6gUHf5)bqu}$9JXW|V2Sq59Sq;vn$Q_+kUO8Rc^BDUYvsY-{l&fnf;kDp+?Ob6`rKaSS z;4h?*i}9nZ%s?QnO%$KVl?b^F#*Dg^@TP&9vrdJ@l|2mbBThZ6XL8iTpjmW%4@30t zSNA;(R{TnNp0`N?R~%mU2*`Gaig*O(PbyddkIl~Cx7eSTy~^_XCp`jl$Tp?CRrVvC zPOZ}7?}XKeZ?~vdR)Y*>{ADpqCxgrN7IkVh-1seO_@m4h`LQ@@Ava1zC$dBF6hX`~ zo3l?U_Y@&I4mc8Y{MQc9EjQpiNBK`5nX6`0DmJ z@vlKz`C83i!$%IQ)obkU(fyT_pEV-UbLIBcT86(&W$eS=l2&0)3SQ@;-Y>7PXS*M% z%HulyG1krzHTE&!xJs>l4D29o3LVt34M^$x9)o$ne86pnHu-V;jXx^9)Tzhq7b1?j zz0sPFxo#ab=i_wLsJa>J5XBFxSJv6<&r-tQED&(_u&Q{%UV4@f4O(vpoG>p_bsZ%b z_j-G6*f)Yc)xypxF>2(K_F9^G>`A+)Rv7ry!NEi#sJ^#(mq3PFpko6Q`z=m0_PCI$ zX!Z2rR_#>nz42au=2LdIXnjgHp>2>Rw^TI;W8zBlXP}xn#hfK=MlunD&pGN?1p$P} z@f@p8_P}D8zZs2Ak=nl5zBsy`)(CqP&LND&F+V!m&Vh)_{gh`eI|=aBdB*Okajw|F z8pD%@F;z99IfBpaxO%<(4Br%pI4_vR_S7?WYLt)%F(b+XzhCvP_tM~Fm_B4*A6h1%KicMP0~9ox;!=L9R#-`|H5~efr#Jv zw7^~@&cmJ9BR?R_r}jh;8N6^gqu=E{dn+~Ve~(4%#w5;sQ`|h>N0h-Y^L_hbJ$L6Q zNkgUT--i`~&fbWBU-kz~94@pUKuZ>>QynQ>;j{|mH61Qh_TQe%YS6mn?bp;|^?vw>GhC{5Q)DWWRn@n4XT7nEwg1+N=41b6X;AS6_?mP%U?*vOfXDdYs2G3l z0W=mobXDO6xb-&D5+D4YR|*T-1dIZWJ0gPxE~Gdw@Bb87M(_VAJr0W9!D$a(%j9{~ zphH^WaQz`9;}Es$khW!IedZ!F;SFRaL=kv;l$L#FzeMdhpWDZE%LDPZRQj8;59B{~ zp@z0|c_oEo3P+%Ao-cIUL?@|B1X~Ycc1sNUf@Wu_317flg{l%c?NGbFpiM52PW{rB zVxVR@S`n{as)&l*gvrb{EGIyaMr#@D}w|2M-@Sav| zhEBH#PMF(9LWc#s`SreoqHi^7&<5CgemB{&E$okwC=n9_(=?&pPKjv75)WJwF`E!h zflUtU>g`n3>xdm+7Q&{*`erd5)QqRXVoM9zkeq(Zo&^iD?wCDV52;@MR4Q^+0|Tj| zztc#fQR-z?IX9Lt8{Z+|kw&CdJb&{)qYXgJ6RgE4<{d6F4K zAtDHU_HmGn<`cpK*uK0y9#7?u_$*a@!tUpa7*z?)O*P{JR=JN*mw(23SN36%th%9H zlA8T9TJhQ==s9bDhUaBhs#%VY(PA~H{% zRP;Z{6H@sL<3dfpz}(6s5sT&RAe@o6;aBW!5vt@@c-$Ro|F7UXmue)Pgn*u|Z{bf+ z+su<1Pv3ZwRU}r?C{=KYHhKpluKS-mX?G44eDk{)L6+N&u#^}R5|y<%A#!=Xlg`}= z=Q2;%<;R>6o))U6C=rVI3u~eJ8I8dk2SwE{vcneXfR~_YJ8*sQg*a*Y^+fGmjcZJZ zV>bA`1Sbs>cZf4iZT%S)S$!82PJ4RT_>Q)0PaK+1Ctz2-B(OO>+e-+#>7h=oUQ?%U zZu_$-OAm7jwfnFb1%e+Wrc#(Q0M}G{q_bfrM6qOoPsN0uN@0zI-in86D=M z+AgYO1(bSKgwuiBHQe?@tF|p1$&Nj_1y^nSRV^HBWKz5QoyO=Hk!*R8+n%%E7S8l6 zrDa{8<+fCRmfNz(&T?DE?DXx`khqiKJNeEEV3JA+>4Ten!{Lb!& zLe7xirlg&2O^n4^6jiyMBw5Qr)UNfdoJp!!-;?)9V=Q&Zd+Ig0d*Ggwa8FX;)#}lw-Ql-moL56ax&$7rKiSp^QC*^)UjFoWXSz5PtxR%$PY@rEbUq@BUfA&pyeB|;Z5?T?2FFZxoRI`Z5UM;Oq}DUKL1_op}u@Zgx-!C8tFT+p8mp6uWh z$&>y#>ul=ijN!MZlQTuj)<|`4CZpr(0NKxtrIO6K+qupg z%|_s80F$Ez7bp$J4l&mg`-?nme)d>Kxqif!G> zCpOyqVW@_ZwUt%UWfNh(Ycrg80}aIy`7ms0^?8nHwdRaU=y`UmqiRN>Ivd#$ooo4r z$R+8wB7{_~5=o?|BYP)^Eb&f+cmc@zPFBaN5YNkdIsMeh?GnZNVqD>}mw=HAo1rR6 zw_0O#xEB{gZ+}+hz}`;L|4F&DJ`(ir0w+=jy6K=sWimHus-O=cJ(grTmg<$soUK>e z`><-?&1B!V=&odB9Cff+^O&-}PGp1MlvgEWfjPUWoWAbso;Jj&W?)zJbyn~@qn~3& z$?6fbBtX@MfOlj#x7CgPoSqAYGF$&Ij*hg1@3w0CadvuOIm)kO8$fn9_^|Q)o%q0# zlTdX!=y!F0pi{3rxVH>L4dg4a}t3_*V=9D*6p^A~jFcftp3G7k*zR zH(VXt4%rkyjTR7=LpJjZ+ViQBaS?F?ho5p3IBba94SVYbYXmW zCVT>0mNFsiKzyciH7G?OI^sOWE|YJ?tE>w^xcON?LW5V*x-2I#T5!Igap}8o9cMZk zM_k~PQfbab4A`~{K*nUs8^Y%Z196cvS5*&jYWZCS5OGqXW#3qqy{31KDG`l}KyH8tq188N_XAq>~AK1lG{A#Gzjg=zWTU9-b z0WbcF#%2!(;8D2_cLwvNIyn&)>Jq0^6)y35J=d#}d&M!StTQH#+brW`8 zqYZ9J!>{0wPYWN?i{=RY3%m!A+_8~PXN_Pxs;p4}Q2HpndkTuuL~b5!_mzyBWS%DI<1DQ$%i%V$zJ#FQ)7LzL%l_!ge{wH0}!`kUU;eybu? zjFwYl}FIlSPXq&5czhU&5-4 zzs!l3L@VbIk`lNm%|73&w&lgfmaS&1)`6Q@W8wV)hJn2!!lPs@206_Pb?`D6k@1tA z@oL5^qXkgpHJK{?ni>=)p)D_WyirSkrO(`#aUj%MI{v)Xex}bi zI6M;eII9BvbLMDhN%eb#;ysWU5`L~&P309CW~okM0m|2!@_vfieK~~qw-b$8vium_MdnB^%*cC?o#JcQ230r)FijwV zniCVTk;09}Dd~Qgv+6P6e<@zpQKPxt=-UC+pb!KsZ%4A(Zp3{^MQS$d(YMH%rS91RQl zjO+jPytAshf)L$<$k&*e00=F4i8REEAC15sUL_7c{t)(L9fnX=UYX!cmVPzocn{6}ESfv{IM=kqiWT2o4t^v57X2=Rxh6 zOngJ{RNXiyu;WSKS6&Z(UWm{+s^)$yRY~I^QK>3x0tgd@;&^BoneN7O1xn`qCd#sg z_myV?Sl3c*CunX%-qy?t!uXAyp?edY#Tt!uQdK^mSz6r({ri>9KDA^Y`$@wmI+puX zXQ~`H(UExSlP4k|xA#{~gvLb3G$e5}SIIB5ig|uAyrrjuzwK2HTB%#q%B!81Jh%8K z=Q?kBRN>zcfU4)T3D^208CB_O1A1qqJE@x1B#ulPDZwY7lD+-Y!8G+96T}H1=Njh` zdUEs{K8x;r3J6$+r@7vWlldx|yctvYxhg5;ceG$gXL z{$lpclnAqU9leQG2S3KpDJ>R^C14uHu~kjDPIdr%+0I+~!!7{%Ss0sQUQi>iXFY9Q z7UA=6yAI_BYjXcIXM_%?BP|hbCI}pa^_i|&Sg}gG29k`0p=cFV^e^n>%O4ZrZM4U$ zt^_St^>i8q^Sa9tC_Fmdx$F;tcHNlXx!1!wGvrk?lK5H*aR#Wy&yw!9?0 zOXBcy$V|!#(-o?k8=NhAb)0qY5?Y`c4*Tl-Y+&l)AqAAylj!YB(@C}4Xy?+x681(E z-{kb8QS8A2``-l8Yq~wjy4e{@T|9mxgx+_%<^S&hSKcCuK)i%tvViiL`h9{MH1K1!Ip^#QIp>_aLrIXw@d9J;PqlCixY##K%g6*4NmK{=AX4NG z>FABP&>b71?ap%U|5zKVUllk z-iZ>*rPU#vuUE@jvbn4F4k7{!B@7x_Qqpd7>OB#Cm>;R*f5ay1+feKevB~;1Jo-ay zvi^-9vEu(2_^fb_V@01IEXKMPSV>lOb3mSM0JIP1uq18u)f{IUr<^+wdTq7r4#$ib z5PVPKs<~0o=pzAzRQ(-*xUHh*q9bZx*h$Kfh=EJIYUgT6aPM3YmJWJhb`%n!KTZQ= zEz94^Q@{TXDrr!N7OAXx%=!fKAt0uu4<<#!z8~Tu+xDZ}6w1l+4K87c`OpGg_B{Qi zUGpFcsmh+OMan_*opIW{5d2_xqmPiEem)R}W8{1!GQCACM)kWBwbQ`B0+3wmr#p4( zP88D(5)grfp+^_N`s13ifQ@K({PO$n0jZ^80b`M^q6(eVkj#_ns)=ne9v4En(o{wZ zEPaKAh%nn_gIWN=4y8>38D3RY==5z{MMVIx)}aOasG$=`Ug&(O7rs|VB?;_)O1g{S zbmEnusfpT~7ZMjT{%7^T6sMCa_hFqcyvv!yknF$9xwoARz94m>Ix>**-LBEk z>FQWZXm;e?PPo>;H+il)-i?swNAAhrnfE;0 z3j&Lj70MeNibvJ5A}6lnA8xZI1kPk$gxBuF!9JJ2L5b5Jlbzp7olLz~BV=f-db+k9 zZg54kJAauI+wme0LKn)*XXQ_tBh4PbS(+$yU92`NV+{{eo(I{h`<3DI3=fRLC4tij zmGOWxQRq9J@I7aD-ETBF8w6+c=6i$~oTQ*w67L$0-gUh(D3ze2z;w z=5nm&*u>GBdPc^oH}hK=YR1fjfIsOdY1BA9W1{{};*b%SvX|=is=^1INx_+U5W-M6 z&)akx#$_sJ1@tew*a>(|%Wz1yv(>>e%9pPW_lD%0{%&mB^I(jEI4;>Oe7O_`UsFkg ztF2Trn(>wM7-g3@0S9WX^sTY-3LDOb#CXd}oN(=b8+=C8u`;Kxcz)w%v$i=BZ3*J8 zOnhs-{q!t(QIr4X#0~#%pdk?Wr;ybMgrvFS1bhZZZ$kQ%o~CjzJLjxHNP=ULuYeT( z=3JIMp8k#DiHI9A=o8#)fk(N%QstGx7*15XN}ahOlNiPieeKnOmyoh@A96Z0>GWh( z@(`Ww^;;C7K59C76Qs3*#dQtcUzukh(1N?(qe_x| zx=CIqb;Bw4SN6LoDn9vUo&-^kd?){m>jEOJITAHB;$f6*w(9sWWB_*NVW(8{;GL)t zB38Yrleg>Z_z~ch)y@L#pWoEj&=}jM2F;o2$AZNf6aTMx>h?Gnlj7r}D{#sfsHcuZ}3!Qe`cG zMJaq3O;S=i;gNS%IJn4Z_gb^Gun58OUIfeH$F&?rJ}$Atkt$9MNEvG(&Is6dquMC! zjgMFD8T;PE!7Rjn;#TdUInD3s$Eq8B#dE|ld7i_3IAio%gXo{V_0NLG zrN2GY!r0bklq~ij`wEZxtR9)<9W2=N?a-$@R717T28QHWa%c*R5M%>SR~oT}8MIW# zEt+2=shsFG^nTX#)>x=kZGm-WPwy5-(y%3L)ur@q)bU$&)q$dyW4tX4+$h=VOw)sT z0jo0-PVzZD#tF~q?}&AjiY7d#AzpIWsZGzFuBi4oy$X*$rVKk zx`CfRk5!pKo_<|Ux2N16DByP#3Mrj?Dt8-ZZUl{O&T(x`AFnoScRK5^FB2HM6b?~} zG!`&3u>@f~+@U;-BVS-RC9BV}9oiHf@xuSd*q6XnRcE*HF4K`$~7a;B>|3prs< zkeZZQ;FLbKE@`Qy1!)e23J#^E1)(f0Oejk$HF&AVN}tfEr3Ej|1}#V{#{{#oQu+RC zpK}Pz_kABfkLT`v_Pp0#YwfkxUOVo2F^V#wOU@5*$eRhl9!k8Ye zPhR#0QugjRm%uAbPISshgPzti4`_As?zqnX*CLIeJ#l^c5Hz2S7De#9tCZLs{C&<| zV8kX0nI_hHlaZ2F8gR>AjJuP5-5a;a8jAVlB4&MgTsILjo~p{@K1Y{du85oP4~`z@ zo9|*vio+7`0?e$tm9yVP?bcWqzZ*ALl#@n@JKIGRz87}@pM-KMVUEWu;oxsAOztx0 zz#=SRFkCzh?*dbdxjjQdkoAybWgkbbqHW1m3d8@r$F zqD)(f>Tj{5o3S6uN<;`71lIUobHw{4MA^m&>?*MIahP!&_!w(xE*<_Do8h;q?I&@c z3w$u0GTZp&|Ixm{+U9=0PmELqsxWzT$gHRGR zZrQ^K^T67jn*?k4xQAeYg&n(3=+~ZxAy?YJakHIoF@($0o|XcKa6@?)5{W1I+xq(b z-__T@U0q+F{e6A?aXdXv)YlLA>2IkMPa;DC=V4Zc!(Y?EFXCd__CIU(jf=D=HWzW+ z9{yVe!A^6W+0#P$@A$(UZyW#fCR7Xu-W`84zu9qI)HfF!?Wm}1Cp4KoX8C#Ao&BZh z5Il}B&m%L&_AnG*pq5*ej#POh&gJ~QuD-tTygyE}A=Dw!O6G_6VtnDOEMn)k{S8~_ z8%B}(rJyGL@p50OHGvHGIzH7Zq{|lw@^o^haO=&2Fs`2qUWD&9ed|OeUqTd-YDF=0 z*xl}lxW=;?N5{Sd!!{QK*t|gM7!quk*BvoD>bRn(80No&DC0c{>V1;|e!DKi&e-== zoD$4hhdy`~V%?3#+e`Uh#r3w_3ZxW4s960K*6 zHc-jczJaT_6Dq;Ek9z|eO6A+Q?6AWaPM&p!ufN%(vTx(Mhb=)dJkX3Bco4WP_o8pX z*djgca2d*XaXwafj$Ano zgvt)4;@%Xggp;KuOa{J%RH*s~>wkp40y~E!5Y9_K z#uekY6v5Z22LLbb`U!gnPCWH*r^=Upic9-niRxJAxAtV*YEJM9_9Drr;*vxG_cxM% z7M}urUP#AIfj?SD=wc^YdO9u}gCLy&Cv@1DbSCa4-uV0vN8N4D#oZnDxHYaepo%UT z>(0f&`AaN)bspw2JSz;(8U^1DBcHS*I9JlIHZDOlD2K9Y!6_yhr)t5bf?dGq=tky+ zxGh!y$CO@+2sBbJV#kY3$)w-ne!&+b{Swv{-ZTG*6Gyie{26x!S8`1M3xerw^y*)6 z&xqo05NCR;({MD%cR9{?9SE(u4DjYw- z`ODBdVM`Ps^BE)zo^Vlw*L4cZZzjKE6_)OjWsFmnOAf(nnM+1T4aqGNE1uBU5MxUV z*(I@;5k75E87RBNg~S*pp=)3SGzbqbrEOFfD1U?e2ZPX8vwOTR5s;VDO717>yr0MB z4)_QO_8{>>T%Uae+vnI&*(Ru20E6hMgN44RH&Yy^=*kA%yet}~Kl;pmE3p(gB@>yk=q zR2X6QgopIxWlondJ3?+RVQH<8l)GQ2keWz&Ls;X}5q7mRNgWSE(k)Rk4qq6@qGUfF zmzrq#NYHW{ivVCp((IYznE+&e zw3Dael@X7~CA2Iaji1eL~Yv3Q$@RR+^rna-@F%KpIh7>aQe9M zYI}LFc{fZbrH8}DG^dk%y#<9qhtl>4o27K(;U%fF9O2J?Oau5PkqGM1S#BTnlszJ1 zn5TD^@5D4#be2EIYfTsVb&!OVt^i|eYuABy_9#NIy?8b3Em_{fn9*i<8nj@R4t!05 zY-(VbN4FDMmZC=!k%Naa;4V@)<5@|;H_9RI24gm= z+6*GO_DPWRv>WB6n2N(U%0toeHr+Agi3Cgw?f)>?Xq0xBcS);^={@9b=8@3?3jP)2 zQ`$?;!=;BQz2$hm`;gs;X7`py<9AhWc@*ZbZIY~q*+L`6oyQ*ZL&+ zA@|evXi``ol=uww?;{UGvsUzx?-2WsnN+ikjR5<|Uz*iIp>vb$!SA}8U;>(FGOv(?qs4hnkw#sHT!`P@*&ps-7d=xX*E@(0Yq_} zIbD>qE*;2f4ds80ZssK5P>x3pc3p=Ob{Hv$$M}(=5er7j^(bS(D6u|E__dBc7=?-J zM8TuwmjFmRMq_9Z8Uxw`dD$4yl9hDt82KI0J#{RT6k0!42LA-_xbob;NvCYgxKoBR zT)w}a2D42pL0*2wOWuk0KTukC?R8EwW zfzOTLyW|#rXd#k8$DSca3jBc!98MwZ%aAV$vUUTdJQ@IR8qw_Fa4Vz%J29ei>hKiVY%#5JYq#^)S|CgXTuDk`y;Cq)G85|M-F|qSzN3eG#6MLfc+j zyN%3Ptz&00q?r%O-NG1td8flX7!Mi`*eg`_pcvBq56Y%{ zA!QBZz6(=^)d2^Px3a!3a* z&rZ#JG2@WNaSTP=x-x1rOUz)OS%MsM55rL z)NDCkFjO{J^4B+U;T*Uf?rs-?BQ2;VGut@ZF{CQ^%>8PBz(x?wS+_R~ZPje~0WqdX zA)3i=ZaV1OBY?kkH2o3G;AvX%2x!J>O1TgpS9^Zf+Y9#p|E{1S-a2;`!&_hpEdPIX;M~p2LcAQpOxqWl%0&0#QCp6@R#N%KHl& zfXX>?dm*@pqQt!*)SkI=tRQ=K!_7wbpKCFIt*E3fKAv*sg7a8M`E$W(jY8#NRJIH< zVPCEvnCmU^9y&BvP7v%oH{)+uSdfFQU&3HmTqVtuJyvUkpBUdfIWlY)ddP#zFvZx8 zD}S7%T#$_7dEoTkqPltL3$B!%FAo*D=a94;Tv6tHnU9y$Ek??s`QQ^^xjP?}8preB z2{w-l&nD?nd9w75UBt3SV=b^ygU_5r56RuX|Mc5VQ zJ|@RsccRDAp2t9qwo!1l{046FtH>4&ugL~!LXuQk_1I+&|YigxWNxopM~<|>&)WTg#z?GSO}H} zgSAkO31jA)N1H2@@R-xBE&^Ne7L8d1(rQlcjz#hv?s6oyOnVogq?uG!gh@}zkrPDI zc&hocjSZZH=^ki<9Dahg#9YSzk4pRJ%6H?owW=jzOzM`%-RNwt+%K3{A{YJl*!NkC zB=6Gr#aKI{NLi?yixD&5s5bzcgr#7vPSd%i7`G2dT?Rxw8UWmk zq!+P;p14fj2p(E`9CP1ba+>luc1n;&><#Ho#oL16NMjkB+;^fK-`C=m_f68I#SIVE1FQSDd&p=gD z{s&fm@v!j7g3{60#l}QNQh9{x#HDXShgCY;5x^4507_m7@_oHbg(G=qgcHoTE)D0K z7yW}%K27PXhTV3;cqbKigUWoyGqR7S zeT&We(PyyNSVAN6F!lS4nf$`sugVv@FSS6vn=0Rm^%UfRu4P8@G3{sNrML1p*`~Pm zPRw5B9AT(M z((<)(d&()m1r4Kj1&6|3w{AxyOt%JMKVJT*+xaYxek3fxP9s@`j5qUlh}1k~V1t#e z5EvXSkX>TeH<#+3m*UB@8nPLu(SJ24wjfP6P`alz)QwNz%th%WH0kUbQN3tNXrcHm z_N3)&`Fsjr<2Sre9!|BxoK68sUD0}8Q8r<6QAwd3PkD6A-%W&Vz|dImuJ} z9~VnQDCh$DETy@9HhgR4X?$hy{&n&g zc7S6k@dZHEVM>1iOPDD^8s)Bsu(jv~c`#&%M$HBQ9MA!L0$^ABBg|jQpVK2LxdaQv zip?wmN#(4)No@h|DV6U-&K7`~EiaJ+0m27MuwDPy>YkrbS0W#A2ofAXiT?0!;_21Q zCEQCuX1Edi!`fbL(W$cv~w(FJc^?!mp4PU1NVuqVx6+mNweTt{D#*k>>0Pbiba=4 zZC;Z%`RAcW5=oy$MHtnu$)$W?B>xSWk3{Ca41ri|sXPNsT~UfQj-{=oa&LcLP0=KM z0XLGDOJy&j)iRL1CB}j>d6uN|^!cOCK~}vSX5?yzw;922f@Z+PDSbPp254xzTp(Ph zK?8jX2hWD@kbQ{Wx&x#0wo$i3UgAI$*b4W4mPYt`#Px48JxL zY3coYyd^Jne}Wkjye(xgv9k_cBy3=_^tXVkmXP~x3r6nZTWjxt_&fJ)`J;w5`1WAa z%W!a)aJL6(41|Dl2x+ixF9Qo)J`xPKp?l=*4OzC7H)Kid!}|Vm$mD_k0_kG8Jdwe& z0$lOqw5|ejHM^_t%8^l`8gzu`kamI9NHV-?M8muDr+M9VQK7_zz%ZGq@h?hQ;uXhc_kdMIE2&f34JsZQiQ`&zb0}C>TV0iL?(31CqU)x6c z`@w5$qdoh<#cZQ<=Bv%en16uJ$MW;i0i(+&02#?;q#s}z?!iXKLvXu|593^u71J9I zXa#M`I~5*ENuSEQuQA7xJ_D$1gJxgucFmUspUJ}nD27vT7qGt>PG|`Yb zqA&ypG)vdw8jKp4G2~Q&mHdp>RDzSUWPI=g0-yAxem?g2-=^kyRz%?F0Z+ z9cBbAX2VE7A`kSV(Ff(of=oCM$@GVqzVvIkHmJ#BqpjZn9$cS71YG?MYO@5Jc`v~G zpK?@Ak}{0(N9B(KFb?W*@DEV6;3cZC1d*A?`yGSKTShU%8SByThGgw6WNS@27Pr>eg;!K{S?>}n8~~r%|z2wBQVi-A3!r04o4?&S1e{=t3~_zSY>Bl>gbJf+7Q<;#hhX zQ-Jk#76s3t56+^fCG^8t;QTohbPgbPm`0qF-=uxtV7^MnfFDqP2CcIsQp#>%`Q1N5 zE_|BG@?qldJ1;M9vO5qI4TC*_a@$7Bg#qvjR5<_#sNp%M7VGpd<<^2JXO7no!^x|e z|2Wr6R8|XOfUeYmU*&dVW7h#PlHql7Y}icf1TYT`94>#KNb0TrAx2)Eyw3#5-jw?v z=s7cgkxf14-BcGA0WV>(;hqA|EKuq7FzU|x3!X7*e}TRLRRvr?|fabS0xvmne8O*oj|%g@ElND)~(|{CDrF zufKsxGI{IvyM=X@QAQaEN%8NHa{h<iR7D^$IcBlL$$NRsv50(Wq^Dp_Os0;h+ z>m47X3Ha-TN5WI|BO6etlY>Hn{`lcuBLmh$g=xui_YLo9-n_Hz5-QUGLnwPGl}Z1 z$nkBj9ycrMY&8|H8y>)CZaV)R!1v|_ReNx7>?+iNJz-hGZ4ILI?&y9A#Uy$F9g9agEc|z=np&8>hS5O2?HH z9BZ0xA_j-k+2ssf6RgPYmWbsh!c+drn20rLN~n-YOO!DhYc;dP<6M)Ytj5)@VUiLr zww)Lvu?;_pA2F0T1b#`UNQ%cl2M7;LNFKm-CBo7%S}!S2_5{^I|=kKZz2Bkt%QND&rb=&r!uD!VW%keQzDy0b#D@aRQEAHDE_4iy6SA4G|QY#taFIFCC|>AlQeO_jI}(CveQ*iZ_}Pev(29(*8n0>`lm%*cLlC zw-O8I<9pnSc}3n01!dVW1qnYnks!FaG68ql!iqkEUEdZ|?}Qb=Pq5xk>jZ^;adXA% z{}U>PQ3(5VDSaP4(@r#3`T^OiEzni4uI8(xh4PeilDY&cli`IKX9HrG6AV-~`JX{{ zAw`RT+hMe~yZ<>m23_`Gb5$OsB>Df0$o7Cs6-;zXrP=|fy>%YtJZh*3R-VACECgN6 zZjIR;YpiOmfJG5;Y-@io1cL!%yD&_yCsf&j--(e5bY^3)uRa>8WZMy$VHgRK@BzF; ziGkr_f;ZK9M;9L0(A>cJZLq5zgw)j3fL zv+JUDoqzGbi$p7@Q5mJI^>f!^+;|Z|&)9}1#3*Z{#01c#ASE!24Z|+*xZ=(DfWyBS z=X7PLpYWW>%T}YBn9zuVq8D7o#CRp!)UnxYKf~HZI@L|#ofvO$Xm|qp1PyqCG89p- zCMb^yUO}R&jo9{8XY$?>Z5y75ficseJ2zrwGX(?~9FA1!;~SNQW_d9*rMuF@{Ea)& zx-0DG5%n~QH}ZNYX*_r}{V>hHTKs5#F}9r6Nb9f6W@z|efYKYUD+840?PBn0oDrC; zjB|(%qYZ4y{6jn+`OdvrF|2J_&1iVx96d;h6>@Q2Wz0SCuyV5*qj8)ao`ByP)y;v` zQ|0qIm`G$qUk?sadi(!|;f9)fCH&>8g8@>f>DX2kN110r1mYX4u=}o6gRushEd#*6Qm7MhW|qEi({DMrb7Ws{%(e2iNFRm=tC z_$DbU9alo>=Sj+Mj;o=@k9R5U{KD$dw9%+}Im06U7~*aq^&Vg)iBhI3cT(vO;OcUI z3IiAX0$lXh-lGhc98@tG%LRH^egTu>Mg1l##pIj9a~(!k$3?WG>M08Rs!ma23-86! zZ9ye@iY`QpfmHI40wcQLJc00q5S$OZQGCVYG_p6UOn7H9V+bbx)#N z-$P0=Bx;zDQBr%(X-;`zg40#F4?AtozR2eEaHjGgK(QuMk(*T2f#(#HHxr0HAq&*9 zBeZDBOAyd!J*vbQIS(r?$?O*AzH_R?GuB9Y|&Kl)Dp?t*>kk+!IfV6=sH%!#7)D zyhL~q+n+sfQ6=90JeE7Iuz#v~h(8bRP@bml zj#P6#Acj@iw`|<2Tf?a9?3NluKBhDUvDN_c8krLz9tPvTGAh!)^8 z4bMT&NoGzaMm)BVR^=$Ysal5Oer9Q;?E z*%D{&a+Qrz#|#W}W9oj-HQ~t(VdLk;iWX3iloe`>UZE68P%en!`N(|j6ECCoNu>x5 ze#XH+R!(lPv&jViY@&(U3GuN_;?JA$%5U&pRe3%P=Tts{OnPY^dX4>O9`H{c&q_Dx z0uS+^uwT%o#w+e3!f@R7x+|vtuhu8tWAw!Hn-ykx28VyQ!n`;^N ze^^Ou!21*7Kv8<1zpPJo>6fjrUHTO(%%$^gg=^rFuL__lJOcyn%(HyXn&G9MJA<1` zTC{|5YY4m)Rz9nQ_PHV4?3-PMWQFZ299EdC;KuXARruiuG{f`xU{~Q^kV_>O0Dhbt z*GLNYelQO@r4d z(;CfJ(sN3C&>fVa(}{J8r|@}{(}AndK}GmQOP^DcsQvRwXLlFO8>>=bZ#f$Z#LVZF z_U^8K$1M$!rEca_;LJNuMWQ(sH=0v%@p()|@@jN7v$L!oNfrYa8NrS#h{Uia{XREFr}V-E5Yy`USg$?fgrWaIzuJwZV#$ zhMKuj%`$E^L-6CkKy`vsiB>y{?J|=1mjJZV8sOt;xB0hUbUOxz7r9MP?y$l(K}oa1 zSaM=zr(0pBZ9Vafw8A!$9A$;=g*Dm=+Y4)q6}HwcEhtUM z`mi+s_5jVY!u9~o#!*D&jzy1H(TUbL&#}T?tngeb+`$UZv%+ny@O&%G2#DwDQ7dfE z^J7-np66^UY|Zn{H!QFs?1^4zh3$!6WQFa1 z<9wuK;tI9BN~Do|K$$2>FB{tm3|qbt9o*w-7P z;D-1T_9j~lqN64|2oX0L+ns7>2R70*0qW;a zB#2&>zM{Hl_*_tAWgJx5%i5WW`dUCPNTND+FtU{#nuvje8+-(rNN>j zIZ%aM#TXH&4wIdhpVAUZ$8O1Hta!D#P zGCb;Di4HYaBi9^_bs5R6RmH*4p=vjW`%Qa{Afb#0QO|^}YF+@$13JJ6Apb+M>Q4pR}3IVS|_zyg54EBy)WvU*+uQ{2VDa| z`4cJEn3z1JE*Nbqh_>x0VeAegD<1?jWo!qLo$;vy8I zwy#=hk6NDzYCJq!LF!xCU+n?$V#-^Pg+vYjG*lRE2dGe1ziYxyd9r%e{hn3oY1)yZ z&XV3YyIlIapQo^^17}Ka28=LZKn1TtkzanZ+P4>YKF~136=T(xxXbt5sSe=x(*@1i z83*oEv+bpm5!^h)@QqgwF;+5qO;DRVFli~1R6ogm&;~!s-HnSLeRrvOV)#;8gp=!T zbty0>Zf%L6jd!bC@H^e7!W*RAnG;kOQh_EFTD-r>n8<&l?InJYAhiX;VR0Qtwxb{2-D0VWxVA zlU7d$#uJxfd|{+NtiowFw1Z42MBJBDGE03PcdiO*lKBe`PWxu7skC$!a+S|U%f7MJ z$ZWMemEQ%Flk+TZel`P;5`3s_-XrQ|$$b><=!FS7MhoVu1Kr^77=9+e3g9fOi%me;JKf1XOg&T+PYx;KMx~pl2SwD>T&Dy-2;} z2gIwk#&A|HQIl{7qZk@xsX9$MYphtR9&t$LDB}tBxcg_cmv;otf|Ta~8_U&slK*+c zwW5?l2$Ma(1O!U8hV-QRKr^&@X1*E|R)^2L0+R9YUoSitjP?2IP|5uZzVQkeOXr?d zpJ6ClSfG9{XiA~l+bLaS0DuX|a~Srbe4y-!Q&o>q`yBct{btVAff&gCGK6#L+16|aq1In2JbA*KB|z_j#tAjr*!305hH05<+y7!J=l zFlql*4>yf=QA(M&_d&4psL#Qmb>20$g4 zChbyVf|*)!TkWj`Tnb+R$6LBA%4L-9Qb#-8A$B7yMrt1Pl6l_(R1@~7%iW>&SEFJN zAkP6~nE{uSaO$^LT^m$p70v@uMm2lYZ$J(Al!H92G>(<4KRE^K)SfElL1%pQ12s@w zAnGW{UlCIHAt-7YOs)v zc?yMnDqfR5RlgH-oKsN z;%IH9y4(y>{=oqFR4aw~OzDrBtDyAZ=5$k`)|EC^snsG$J6b=*AI$%Mt)km;?KlMm z0L{yUpYqBgl)v(GfLb_R`CQ!_)R=XNp#6u`q2%2Q45J)Y4+YTW&(&D+994I@IUQ_U zAh4@A1fV*3RP{K3?!>@*j;UVOH5`TxH}x2^B~xg{w^)a5ObD#~FT6=#{#G65fGfrS z+!h&4ncu0K9kA6Ma4rP8-~io{h68g2*=(7PpYY6nwwF2eQUX(whp_20Z}k3 zI|7jLNcqaosoCzfO^PijhO2hp&+1W= z)XhS(%FZM66bi1zs|=n8R2`}lvB+xg4v#IU-T)r#XHOtZ?qMiY3px~Uj!jM-h~N|| zt3w7TR(QA&v7R`KNk@qsL!S--F8|qfNc~kRQUU9NL?_(MoY@n>c)`nYKv+YnkuX`hwd%=+-(3 zKnJ+ZZ5>fK6G)-9A4KI!bFDO}lRc!|a@;%Pi7C9*&sEq$^G0#2`Hx%7ed=r_T}f2~ zadSv@N0i}fp)GZHvCE)yEi^txid|Y?;Tyg)m0ZN`A5#&iJ%iDZg0$y@yCQiq%DaSz z5yKSP8l)LgH{;%xS~q`d+2)?{>e4I5o)GODr#r!_U_LCSHCatWkQ;O(-aPn>;5ppg zitl06L~10tdp2atjn-s$uf{=m=HfNIvo;Eg0s3U9C_8JZ z;s8u9O8E)QwlJ1SF=3niHw)(CZYp^MKIg@^o5eRHuZwn4vND#m4v2xxlUNVT^STFP z7z8di_H@&56gkB>mZ-%$gipEFB=u+i{5`a_?jd$Mf);&p^INPS*zvACwOhm#yQ$*w zw%urRPi?t-sP%n5_34F)gNKS<8f(kzdTGB)sdTEh_6~gHRwQ8)D(;4ZN-If=fg(#p z)sBNj>&7GvSE-HEpcfjCU}zsLP1p;0spcZPmhPj4TH(53ZDD7A0ViL4ku9B2eI4ur zpoQwI4~m4ss}E`sci5$wzeSDdl+qWUM^eU3+Edj2CJm}*++9b5`Ikry)feX!sc``( zQj@E%7HVYn)qtg)^lCrU;-rK88b@{gP}+FPpNM4DFQUN-{k20@14|-6>AV9ppW|N< zbbF069PVD%56~joOvErTZ^YZcWIW7M+XoVzM%4gqku!J_(l8(8!oxG=G%^NhEu^5k z5Z{oN<`33B54yWa)c7IVz+hkFD9~6hRrz8dSs9|umVz^`Et*n>Y6cA-q6Ic`PLMbp zE_d>>pk(%a1`Tggs&+DX@;`DW-l{zjHs#vd&|ZzMDPYF;4%aKUX;SdL|0pDQm}Z3C zcilp={s__whil0K)B;I8i-XXm^B@Q-zXe`9Gly%jK~s^DM^cOum5jhl6t{AL2rh!V zp-SWpn)c5Wnad&+Qf`O)#)%`eq@d}IQy3@%zUc0!S8vxIfb2T=4h_e^KES@O`gW}c zq}Yh)j+19Q?$F)?B+O3(j6X>0(zHd=Lll*+4T2ndQaa!wi{__m-56%lwKF(FAb@2S zm5tP5)Y+)9vGDbgYr=Dkb0amd19Oe^(OPdwh*RK?qcy}=k%h3GE*+!A!kgT|FPOzJR>js*BgN)k5F#p1GoIOzsb+g!oyYdVrPC{4m z%e-spA?kNg&DN-hopZJ24hZ5!eZ}*& zYIYm&s5a1S_nTJNsP^`@;H4i!A1v_|yQ-k%{B}4l_ijAk=`k%ewLGVItQ*bd- z^7?V$;khlL{R_3;ju#{7wS`(o>byuxEnKAGZmvaI567kmx^Iygn?OpA7D?~(x6wKH zwk3i(=Gfm(@VDhT_!gO~^`Ol;SUQ(-G=6r{ z7$1rkqsVt6XwG80$b==@G&;0c>rC%2(K>^Vt6L)2IlMxQ+qWu%vS@Fd|(p(Ud9?LP=xpZ#1wgInIE5xhIlj3#Ie9e4H`(0#dX1cWSxxmLS zUul)oICAYOFb7{#?$cUG7nZ!dA8)iWn1E(D~mb$Fb9*g27#2vPmP$YiyfWW!W8tuqG zKHKA!LS=>8EJsCzc~@;e(xwRX(w~Ay;=E}&X@One1=MowY$M2j+#&}5_Yluf1M%=& zaNPS56qgho9`ymfB_qs#9RHymraEGC$F*8z00nLU^6g0-HfY@(y&~z;Qe4TAxdBMM zH?2S%wcnr(rprh~%Qpbcb%tb^cJZ(3QosnOq>~&>NWva1vKW9pxERD?HvThK7Hj1Y z(!7k-4rc)`YjYQ^#E@LujcI7w{Z$aG`C4JVUNv9)&DSaO<=(8x!mjfMlK6(O z;?3H2cZuCdW74Zw(ZGak(odzYX+G&iBlvYter)biwrCL!|Cf+9kP=fNpXhfX#ARe} z(}w%`Z$vDN7!hlnCd8RP6@g;hIt};;_|#^IB^P z-KBjAF8$mtY(CB#P!)j*+5~-*9s|WYL3?LAPyR8-&siu-$$=srCfgr2jPm6=jcfmeQw+arYiT*ecT)q#eTcm@Ka6g*(_iq;keyk-liU3pl zv6d}uF`Fy|n8`o5oWh7Smx4bLv;!}k0{KK!kP#CRK}DZvQ-GDF1KQ_iR0y3sfc?sO zQV(i>nXf_Q`&2}UsY}~~u9kkPov=1>(%o=2kolSBD%`C>Vg8v`-Z0A|XE<{;R!c*Od9W7Rhl>ey-glN(-f|d2u1qRyy{%HWaDy4_lH8+#B2nTiOH1fM1Gt z2RS*{qldKnkf!F4)=fwRndInHb`f?~#kWHjW2d|6ur}5zs||0jMLMKql(@|T1(teS zQuFE}9D1)ktc`ZRVSP-c5npJpqX_9OC=!)z(N1uy!AHQrnNVe<9Rcr#0Ok{it-k~e zI!Yty!KYx1nfkS+h>dnTQh$#P;dU?nT5HGe*S-dPVCc7D?O*;H`vVm4jrJH`3_)T% zR0=)@2Jyr{ zqk^iVcH<)`^q96b=-+nXVjOb!#f2Cc>v7yE8=MDxr#+~?**G0)Vj{>K8rPbHXOnU8 zJMAG>vG%XgK0z;y=HF{ACI1(Z&yT8h!5eeJaV&)wY1MJ1&MqMqNi zEn$r-<;fP6Qq}L;1oWiKB}h&N(g&Bc0))o@p?ze*P}xtR5dsYW9{$vZasQtFQ@c?r zFe?7kLL`CoSuy~-z-`dbBwT>F`_f-v0l+a|)@F%TfR`ML1Af&mXkCgg1JB{mxSSKjZsJzOnA(#HB$JD+pKCCI%1Et(G2X%-e@jr$`(qm0HjG=Loz8T3S zhdz{Czk#3dIdsN!z&5x$*`cT5BcQ1h_M|YgPxjN31Vrn!z)z2G@3tq&SnsDFm)2~C zLxZ*cdY)MTFna~|or44PN=kL$leoDrp_x8~N1?Ep{!0e=}WlJZhbE0_#<(# z8|A=Spt&C6uCS7Iq7lvYyW`%qgII#ht}+-fqmhIMC4bypzYTK{)?QU}2!XSt#K>RMrOM&9fPD_yd7@DlK=THJLX?yTpvP zqp~w_@;N+6540?Csup41I(Nn0H#tFi4?*06!~t5W+!f=ZLqU3E7~4WHpmIxjbHy!v zk))P7FT;$M`V*4$zL+fdn;R~DV2tqS*c=X|sMh*a3PlODwzWPO5yx8V6Wkx!{il== zUAG`T#m_6#@({fZfj-&LeXP}Wf(#6>MU;;?<&Yy@1g^tdYZc5DoWsB zq+y)GxcOr{-n11+3)7P^JNaSyLwHHy`YfKpIpO+^Vo+kJWEc+4l!xm_?Wr$~(0!P` z;7I)`PWnQmuJI>p3ABvTdzmRCXkwJU6008@^uCmq)iMxP4~fybEFGZqXniiQRaLk* zB&a7Eb^ilN(LJISt*K@z4hMS9Iot9sh`ID6Jhl?`ZwRqWIw)TP zO3aJV`FNo)=TKS#M0Uquy@(Y6eOruP3I_tKV)bq~&A%sB*MUH4V)Y2T{)iQWVbbLz zppCViK)lK;@n2pW%%Vj~82d_;@^42>LGgzGsW!UD`UHM6B~JfL3aYgG1zG{Wh7X5_ z(R1yU=G0Ho=Lt`6y{IM%N9a2*j)4b(-{5DUR?$7e2a{#5Zst>Z0h@@jZ^yE zj=+%l@}dHzLo`Cy?{FWsIy0Xj_79<5x~@3Bh@@}d@e4Opo^xol05v>bh|WagzI6M5Z92iz<2n$z(2q zTDjj%dVBYG4IiYBTfn&VCOtu_Ho)}1!Hvxrpu?~sgHj&BB`ZR^P(%3x^%(c}RwZMN z9SE8>L)K(hhp6DZl2P{YhL)%)`Zw+q4MA=g?5cFH`-i4+^KRDHVo-ty=}?rBG*}-h zu%JJcm4LlUNOYQ)*ZV_?HrM%iupFb?9a8_EbEY_zV+NPU#_6XlN7 zpYT74ZX{EFrYFj1H%f;M%UE)c)#b)(z_&(quE~VUmD;yJ$|l|m)Nl%?3ibDJXYxqh zQxN--%jh>w?;(+ElatpjiUrYUb2#Q;- zkFEsrQT_{G{nhvA?O}i;O7-p61F0wqhzRR#vOX;MS8f%6i66!ZztOSD`kUAt zPCKXQH#4sObBg|;`*(Ya4W4$%aVe6zp4OwO^gi9={=@!A01>EA9?-EXIRG7W<~01O zy-!cza_sW%o2rj={257C3)FC`oC>^?0ZfgB{TGUXG5RTxj)ZACE@8h(zEa-ukFbDt{Qy`=Cfu)2akG~L&MKM&V$V>8C+Ms_)km zOtjPx_K?yVH?Vj#@_UeF$XV-$={^k#GlC<>DlLmcEGd ze4nM?2rL+U20ozzlcB*#dRSj7Y>8~k6I0yZ#&GgMc-ZrruqVQsCrKPq=kxA-Kt9+` zc`Ls3#*<1l=4p88R6O|kN0|7nNr{d@dg0P4?GY@Lv9$gXeX;;1h7_Db+K&Bf>>L1- zc^oiHZWa>c!Z>i{W~I5)ys|h$Y10vYn?M7J30zh_hdb6v=jg+QrzJicz;u~`&)qPd zVRQ8jZJXP{YiLr7#_^PY1mq;o01~L3s}FYv+8<3e4c7rc@i$K|!jYsa^YlA$LaOFT zaQv)2?$F9kdrbu%#PhbC+x2&!60hY5ga1eN)^yQZ(o3T>VA?rPrc^NIIMg>L7d@#8cX0 z-ExZ1_;)vMVVvrPkm$2^p~mIKSRvQTQM^>&$iSt0;|nrj&6>GP@LRddu#|A*UH9sA zV3|Gzhs_cn2Y!vFvgN>}nU4bl;w<#zkaeW>fvOJfEciETyZJ2i<47~_aiB_8bkl17 zRnEy23SQ2{`3dkGDwRBeWGDG!;$&iNIJ&##INN3A>6z}nR(6~AuuOUD0K-EYr#!oCQW4p>Ew?sKBnZ2+Ap6b0 zg5+CWwDNf@)FZV1d3`AMuaKhvhmTU61({Hm7bgRmdx~@~PbzC-$HG zGue?SF%JZ>s0ciQ8CF%S>C*3^Xg*M+_p_;N0#o5~;OjeaaH`*WJ;~JQ3aJ!M7IZ+5 ziZ|$KT-AjQx+b!zlvt)m2;)v>v>h z3fRCd8};rm+sW7nB#KgB+o%^x!ztxu6G(r48I05jYh>VbgwF`TX(8_Gc}3riZFt=) z*a9J2*G+ma(HPwDb{fZdJRvxIn77H|fK;lRggwodoAgSND3G1Q#T2du*OYt~%fE87 z-r0S7(^`CQz{!5USMXoyMI?bd8;M`l*K%#&PK}G>eV!K<#V%6(S>bR&|&jsjCcbWTuOuJ#S5o)rTQ*zp>z=9Yr*1QXCin}0dJaj#8K~gmQP5phO4Bn32&=Fd&U4I^p zjM||u!bX7w!I*=x9r~T3$!^>P?-xO-5x7A!VJDWZDY7$8?Bw-f$?rmU>1Xj9l5^b@ zn&aY+b=b=!ztte&Fnn(@syae{ysZxlOGjs!6#$kLL&YG31K-P380dZy>=eRECYlh9 zLkMQ%y`x`rAn&sOfH;fZLvFSg8&~Uh?Tc70!}sbl%tk;myjNd}kLl%l0UGo}Il$2p zv_OgBL zT$4{}9|Ouehv95~0!)*P0|)eZPU!zo22Q+H>H8dZ>g6v&-kNp@1G33L$)g%-s6C7U zwrWF;SlWCT^mW`9dcQVII&JotS!0{|<@jjIUlia;3TtnO%N}7AIa&^Z@N;D+}$bNMg70h*-4UJ6owT}a0-eH z=-PHc4w9GE4vh6zkav!yV_yL^-5o`DO~k?1oQq+&vFUb~i;opj+SmGMbHx+{r^c|K z7NhcO?2;+;D^%w>s%N&zK+nW35M5xfy2pkeW)>hgfr_&9DCB^XDdQLb7sk=N^gZ9| znbN(K`>j4pl;4b`PN2bo-|4O>M*B?n7*HEV8EeT&>WtVBhVAckQ^^!okkJ`(tO1~d zIp0CJ&N(3qo$Ci9$?xpGsZl#;HI+pR-mpw0QVO^#+F7u znw0atAHj(qp|^h2yEBIT`A0qaA8UK6Jqe`#q@UqrEl*;%X)W<-4PP@(>IH(-Nsu=} z_mkY)5B6NAz&UUSOm=bA!{NL!eB_iq75MkqDFC~ZR-M*gM`YH2__9~6ZEQg%_@Sbk zRg(k7#;Gre_{uZ7N9^wG4ej4Vr0k47=(;P8C!WU<&V$bCA;GqeeXtd6%~a}HeWP$> z%(#}}gtJ^ft)ZM_q(0q*yR@HyypPbNpM`jnp8Q!~45ATqUYEmI)Qr84D30G|D^ku2 zDbKIx^~oS#<7@RZrd^_&q*cu#$aet(J;o5cdUdM#mX9f3&}X~vx5oH1wfRLi9j!)F z%2lWke7}I_gzWei2(O_OxQMy8C{DjidNGxs4vD0qUxf%Pr_ ztc81Vh$bgq0mc6f1wLRvI52^QtN>+P^Y@3~eT*0W&<8LDIQFM0rD}N@QmDKxUJ%m1 zfL~a%;x=!)Py0((f@fIJ%!*O&{}IalOQ;|WWPIAxV_wnk;s*Z-6<5w497R*Ef;|G* zU)48U)5P?(!0FYmL8uj258_-vRrMx?=e)|)Sm&BpFK;f_bo34|8y>PI+j|IRrs@SI3oq*&Mf(z3ctO?RkI`Ged46l*JfNmR=7sm$dZqW#)q3XEro$d@JuKV%-ZME6CajCeh;+V#0+UZ!fWl!8wdE zIQfw?9OQZV7zj;kJ>Kntjbxz?uS7>tRo8Z*S>gA#uS8ba;4f4>GTWcok_DFI__@BOwBdg~Z+y>Rl=ZDwx!2 z))1VG19lI<;Vj<;9J@}QgmEj{fz4SlAA(BW*xYHH4aLxiJYiJRhcD=x1fP3>;okR6 z9hqRxTSj<4L{o$Z#PVmL!mMo<6<}P5@IK1I@0WwU@vsIfSsf3VkP9cftFOdEru-<% zscz%lC#a7fT>jPD_AEmAO| zOK1|r9wS&wXaK)7Wd~_#T-VUS31g8__#`)`1{55vB+40^$ z6eyIGiW}DWrSaa;?qMi_{}d{D7j6@j_UH{)+rb;*KM&tpP|fR+os8ujy!|Bid_=H) zq>IwO(E1v#PTq+Q|3?uS!x1sY(k@;c+Zt=#fisDeZ0f1@U1s_pAa{djzw0TBneja zwKriU^1!$3JEJ^dWVzFXbx_2^wBk>+D+Yxpd>Ah2o9rNZosa=EO3w)Dc_chX6%yg3> z&Bz|(jdkE=SqRu7jM6*38~vo^#+V7-L6Wq>SU1tz$xjr)M|0azRad3^PM;UY6(OO| z@ZSA*T`BuvIODs=JDXAS7x#GEsZZKnu|XdtFsgjYj;A)0y`PCAq|7BLczA&A5sRc6 zzD*`_igzDsshNTvt)$$0y&=MBIcDPqUdYV0@NQ!jxC1X+p^1b~|L=s)a6-8-S`I9z zgskG|z237pDo`>NRLV)`?!(~bi;&oebfK(~;7F^d3T%WK0*aW4owsM2cS_K+|A(`8 zfvc)m!^T^%w?cxl1qB2IWUsZhf(l+zQ)?5NTAG^o(gYQi1VqHt(ty;`)I?DxOB2)z z(+mpRT58zUN=wV`R@kvJkDa4sr^`wEKhMlsfK=!Ef8YMGSno5}ciwsDomsPH&7d3& z?<+X351~}dbf-0XOOb-zkDt$SAMu0vz-T4GcYc;T`D%Pp5PuiSgAc+sW35sE4pdIR z3vDfMgDo0g{{=9PTA5h9(EX(*e3R~W|Jxr74!hTFUi~majYgS6qr|_u#a}DDAG&Kq zcAbVR$rsO#jD+g z&GGnpX+2m?6>T=S2f3IvfA#GwYAp2GWAPrA!w zf*r)j?RXtlQmMvNZ&kV~rKS9amy0*4r<1g+6Mfwi?;`XU;G24pb-so&fo;9&&)o<l6js&tx$GW=vDfO$?!>^|mggwn zq00~;wt}K$Hst9OoqNze{6t2-@KCL4&)0gXVxX%?>43M=c}BAUvB^&l!>X}rKfNoy zJLWibiHwCsM%P01iyV4y7gOQS9?m|ihO;LfdWkGtS24$_t8#V~8=ZPD?KyGWsZZ8w zd@0TJxBav|zDoi67C)FM?O_fUi(Q7=)wr$&KB0PE6bI=z|KaD55Nxs3Kw}l9?Jj;t zKz?0?nXVyd%T+}U(~c0#ivLVTc20c6#}8BW-O#d1LiO_qQXHlyL{cH-$Ohi_Tmjvhi)y@8_Z~k=s z8iD#q^?etiW59r|)mP(lq@sJ9sdJz{74hx#L4hyZeDj3osj?@$O3dj1BXqu>J?Es*S9?#1#zW{l=mgRU5r+S)3F`e4Os<$YOKWip3s-i>oJ@7uQv@p|g#V?t$H{P+_SeG9J~tM~sX| zW$*Frh-WK-A^Q!xg{N=EOw{=fy2sL?inshjeaQ*>V9oEHNO8;i?c2$fx?_DC-8#N5 zKkIXu`Yd$QzQvu8CKdqhNz}VK`=Te)a9Ar|eIyTvca$aRZs~SagPZUs>5GDoL2UMH zX}WkbNjK4)E+nA_r10?hC!XcAJEP!@TiNbgTeZ`UH#8)!ykn!nhJE;+w~LJ$&0BolJNZU|JqVyHcs4_2R->Tm54-wfZ`ibBV z5ltFFR1nUc^FjsEyXo6eOGmrw34WKa7M;55ot&5PB!#bpd+4EBUy;)tW=I7HriXmr zK+c6W0Zl%nhaSX;?R)5LEwRt(t|#)Xr<s8oN=qG7|}&pMl3?84y!*p*XK@AlzQXtHhE%dVuST#`S{K{KSQSV|DWW zK6*spmsX+bSSYL3UQR z^y7MIq`tdepQ`;+4D(8q<<)P-*&Tbl`fzDD7_+`%fFVAyGbI`lRt60TR&l24;gY{? z_+~RQwzND;NqnoAld3<7ZM5dx2&ZK(s>x z^y~kkp}Pj^GyWu?O0i-fj1?jclp^_jplnY4!M6Mck~vT$)I&Bc+RzK+H9>keW{eL* zNf5}rY5Vf7qT3`Voh8>Bm~_{y185MgD& zs9nX{LC`@8Cs3q9;7H*3AS+wEd>*7HLew#XVMKpun41$52cxS<6^jQ;V}`7#8;2A^ zbd_;1Ge|;a6zh*7a0rwzRZJS9-)t3X?fGD=u8zkXNys9+iK!c+7a>5#O?odGAYR0m zVk)BQCVgVyMd-Qga|DKNIDGVGy`P`+CpJTI9GhE$$KqjN-XS&)L*w|5m~#uPnnPsx z+Sn&U^AkY0?72l>=hzLYLR^w&#o|Eb5k4D{)Y$jsH=uw67 zAgAM^Y?#j(_^Kyxp>Wsi$8|I6aYd5vpDN5r%-Vz zADu9rI*7<|dP3QF*z-2Rm7~W7vV2s4wu;wqkva-3b<-pa#3B@ZWH#tX#dSMsfGJKR z0h#+M#Ps6gkGV&Yb#!_Y^d2%l>`*%)lEc!R31B-_tezlk+o1_)n$a@(vfGe4w$fs* zairTT+6!8onV{nAANW`>1qR%Sus%xxH%Va3bsQ2Gw4WHS(iB};$I07iS$v|4{FxZpHB8cxM>1kTB=zNEMvkbvEm0n!@F=y=W zZfo8KKrb%-=+#Ynq1eT(tRvRfEMm_l%ES1 z#Q;)D67Y~6$vi8Qe$2$mR7vDQx*jfr6j(v}|9y}=E68H)ua*r>^iC)8KVq6E8e3qRmMD@sVn#-4r;C zXd_0>)}sO`1hO?=R8I##6U1@eZW9-HyIrw0QKZbU*y7WG7Z-nIYm&@BN@WqC7Z-o@ zx&vZGmjFW~n=@6~i;F*cPnI#EW3HJn%0)Bq@X2ObE_Te&yUG}3%ZrOY#+V}3&V+2I zDtQ*dg(0wt1=<)$#Ujj9%DIaD!gS?DXI?XuSJgYt0Bxq~E0$*IYQ;6oHEI{!)GP5~ z#PH(ckGW?_B}RzgJN4^v8+Ipn!O$)j(e7-h0Z!<8aq-7!vqb6~JhYs=6Z~W=2KMg= z2*8W=VvbsJrG&-lJ8iR&J6`$ak=Ymz7D9cWu zh;*r<%So@d+%ZxSGv`uA=HiI}NfbaRWlAU*fdz@t1-iEnC378e^Wx%LhK=bbR zPCOp>qXQjfg?J)LTA=4?o5kh@c%)Ai+Cn^NGRdtXa-lxlB6Aj^^*<(7FVxMzEntH+ z6(}lrKER2Eu!ZGt3l`OHI>Mb5l1wf2M-zV&Uv5SJ+A2g0xEsUdt;{1z6x^*()V7J^ zcca|fc{4@&J($dST-Al#D(wl<_}se`^IFI5(btRK_vmgB{XM?H9r`go`7U1sOIV4V z@UhVS3E|kZRmp=s;d=y=W3BKsX`b-R#mo3)&Vv_jKV*N?yF6A3;Mu|=S*snG{ zw;jIgorNiv^VpipxBp&!fQB~)T9F&8zqh}MVxA( zEyJkBih~|!AS98uOb0HAtLF@-MuC zYiluDBeaz$(;h2d262jt^TDd3yNHT6TX7UMa;4SzMIasro71fL$ake~N>yklF09nU zrAhl!C@2jcj{h7pv}~0gAfvQt>WwID1y^R4vdYQ~=Nmm`su_?zlF3NU1|}c^tAN`- zQP(NT8hme}C&WMBxP)-lak0ki(Q>?;;*bT27sr2hhnKCv6biK+%R(RoYdWd=AvBVr z1O8#9we1~&K08sddbJ)djlexf^9r7k0tXay^Wb8w(j@M+qvDQ_iPylWU>!43k$Fbq z6?5xQRCI;F${+c`@II0HkRH{CH57>WX}Bn#7l6IE^CydI`8VZZgDM3Jv|gYTW20SrWoW%()Es`oC&C6Egn}*MluRt%L`gSTxWwHynN%S-g=-~&k1W;vjA4%YjJ9Ok;G5-XW) z;({IR-lkPTRg-Ds=&Z(-g@Za-SuAGz#`ShZpuY8SbOw9`MQB<*2QA*{zf5HO93JXQ z2Wcx+gR_)}H9uA(=B$Iv@Jex=C9}5b%aakw__ly?dNr_zV}vZm3+clSp)nKFt@@c&fr3PDrf0hgTyT8j)*+YXaNtOaJoKn5;)X5zBln=-%*{ucvw z;)fbDAX3V#{$q+1s2m$*AtkEu%LvInQsyW+uh+w+xBUq9%3piik58}uwYUA~^x9v0 z&$IG={ja_4XVo|U+S`6kJ^Uwc`FuFvO8m{n-jJInQr25fUmP8=>~A#=(olB$sqXE+ z_Rg?kAGyLixJ-|gn)YymxJQYU|Kh!5$d}kw19PZlR?Asidg=mRm6lnp?Ph7dW!!ZQ z19>d+46?#NjxgICHr!_xYzLSq6}OEj~)yX$I7Uo+wYV@0p0q&3Ti#6x-E2L*(qO9LpLeZ9{Xhl zg9{LIyI2j?gWL zvXHu)PPd@lU@u9!ZG~?+-LiMi>MW&eGt2>?e%mkr&|pvsi3lj*V63--J~8}Bqdwv8CJ4v^}8Nt z<*}mH?*-c@*rcUeonVvjZiUCiy;MI2>A^O-iqvRQQV|PCoumG*Cnf8=M!GTF2~twU zFOrgmL26FWD@^YNy|>hj0=CmQ*6(^!UQ%egy~WTML0zOVhwW7)DslakH2fRt>;1(3gNCpG)^-ddhG zv;~@Sj`|VCmRnAH*W&NLH4xoLaD5;vRO-Im5o^{ zt8C0rQGBsaUzlyLILDIDB&X6mo&g239A6F_j43_g@;s&w!m9nwE%%s?s)>EHlf8k-dvMDvYPr~*9j`A8!X zfXXamv-hx8r70LpN}7V1q|)iToKz91N>b&d4sS)?vWJ<8?;=D?67;QnE{tS`oLKV;gFK>{61Z;hT|UszxmnfI?uQEW5(;x0w9Ppri&! z%|7{-K2zyn_S;~CCRG{zU4%8#8dF21$&e<0J&lL^2nIY;#P`pm{lu|$!e}y!NUb^o zGv0&dQHnn3C`2c#gErS1B&jX~hSciwrFEg^!-T5pNqPqfc$uEGmT|22Y`UeBlGaih zXlX5r=+=YAPg0{v$sQu;T~M;iUr#sLq-yG^Fli8FdUTU2a8Xh+J^I#>8ck{y+fWTC zS?4_{r#RN7Y^z>U*~d_;No+mRGG>#4K}5n7{s~gj=!ePHL0_q$Qa6Skhp#mM1@M)o zem#T5(KOePN|#2OlvJT}jNql4YAd8p(03^7SGJXMx~aB8O170cGP>(MgsY=l4GoPn z@TyVDnneF2jd{}hD37$=)KaB+tKJ8t>@1s^)WIX~W71D{SZF^;j$_)xY-Y4ml_zX_ z9v~B;+h9`Co*yP9O-3atXLVqZ9m5BcwoN40JN#yP)Q5%2E%r+G~zRG1lrwWL*+C(UE96yEE!`&cSFZ8&D$T_9Y5T{RK(!95r^OYVR%y|u4&HIQ8 zU*knY)mL}}bZvt-XWZBd`Zn_Jr_%4Qa=T8U>lN}Ul&a7T3Z*GDK%s#O-KfwYg|OWa zg)u~-n-scP6@REg!xXwjq2XfEY0UWWJ$PSHd>XTlBV=4L;50kr(^#ZJzkc9-EG|y5 zarXIEmBA>L$Y_PeC^S}~aSDxB2q)c>vD*~7T}g&BGb@l9B{PwdNzf*#aCfM1lVvz( zI>I?b$^}&3k*_g2IQA{}n#_zuvsC&Nnuvf=4mWUlD&kDn-OUA+H#?-)kmB(C#3KW{B&|M16S7?Dk zI75hfe78dQ?31Z1QfRS4_bP-hH|bZTP_aVyDYQhPr3x)mY2L5U0}3ryXoW%#Dzs9? zTcyxyg&tC9jY1^~tyO59Lik*ryx^-j%6@}FWeN$E!@~+;br#F_h(eF5ked|Rtk7c$ z;j<^ES*}opLR%HurqFhU@V_V*yd`Ja;S)o@H zdR3v<6nb5uHxxRo(3=XqrO?|79Z~40LhmT_u0qEYIV(AwZ<5wlH-xT_u-ZwyTNipHT^Z3i&JKPzakT{RF>e3N=?KKp|`m!+6+13_(QsfAlc2gdb|WsnPGSwV5TE}C3zvehq$(8<`(-!BX3`-)>mIqTp=t178Qj^D!Anoo zg!;9L7I&Q1+slrMYbdCBc1MN1-@%r+_#gIWKjHb`+Y;M@)cuU^xwZ0|_A|VKet`py z%V6=^r~vuRfua; zh+agYWqLD*mgwvMUwx&Ye5rURB*_};4O#Qv2Y0SrN}wAq>fkKg>36LarZ4XN&Y*Fa zY%5GZD@=dfTQv#8Wr0lRIu*va>Ut1d`r0_5Tq}^*N+{Krb6KC^5amIx5R4tZ_A}PR zy!-PXe*_|2A};>+HOAuj>-hF}dm#?zEvm&{C$IV&aX8W|D#Ulu-#G23U0s^e$Ml6X zHzG9QnHhq4;kq{XKyysCF>_=x@+3_|Z8Xj~4@f}G~sDWqxR!AHJ{h!=8K5w8gK*Ze>>;>6*K1B6Iv;qwJv2}>p^rLfd%1=mrf3z%3 z?SthHp~eXDvCD|V%<7>fPVD_!=EOYY=dA-=_aPt?y5G8E|AH1qS8a<}9NRutoH^De zr0_G#>vPcVH zwQ^Y)8=W11jgBKsHlW6CXcAYtiQ{bywN978x%RMe@MLi+5MQ@o5l~x0y;toaTvtn% zRNG~XNL4O#;38kBGZPBzip)htTO&4pexpJqTfrE#K2veZPGyPZ&9%J^-mY*flOC3L z+bg_N;jOdqT(HN4BN}_d-A*-9?&J}iZ1KajC*k5yp!1E=etpAy3nGjnt>=m_8*1QD zq+{2{CeUdX=87O4G;2uui_YyVQQaU$PIpsyli(r+lZrrODgjqRkyhK@11xW**Wi5s z-blo{eXkI2a{RR!VQs#+82|728WM#T7-ttr%mEDcw;=T?$cN&O)5OJSm>w+LjWMDk z%f7f$CszWiQl`cj>YY2D-Jl|JjDlT&v<`~If^8^;bX_ef?67y(s&X{OlF?0KjvelP zp|v-nf``~ypt9~49oy4v*iQJu*plQ}OH^T3h^iQ&` zk|ua=6Fl`wTzJ)}D;=&%Yl6Es!3j-p1hB1L9$=fD5-Vy?)sVL~@_ImYjyIwL*V<0Lk@3d6 zJajca!C-srnP4R1mXRQ9YGHyAn|blGD|0&C1iuf=oY~xYw`q2mjmHtSP2$y9@hF6i z;!*+K*S#chPkAr*&4)U3v~jTS1x%9%8EwsFq$?PQQsu@xV|t`Mu;lUk?_fI!>2LV;Z1N* z6a2}iSB9?zrtB$Cnn`lq@d^fxBb$y-HHlW<1ee*#h!g{MOs41qS*Q(b-z4bOO|X9x z{QDUTv9zoY@cHY%M#cU(LlfP7j6fe@o%>Lv#?)^Rr;Vp)vZnNAYXB+@hC>uU5p;S+G~s?%@=VI8~2E~k1^7&`NGMWiRWsfYLF2$$#?w9G^?869Zm3KP4L<#xCq!5r7ng=8BwXT8#(bi0+zS2Ig~3{ z;nuilcUWbxbILq7{C=f}sXZb;gEGw^;p58+bAR=N9UX zr06`{P|x>vHP4iS@A&AuSBha-6PyPuizQYMH)3aw0c<=f9n>UvuO>LD365`q+X9nW zu9~bL>B7xdl4PW7B0U(-6D3QW>7pbI=c(gG~)SYPQ2qq79m;|w6v~fMQRpzdg z@!<|}VmcnNb_t}nOUHwKZ8K+xjKD~g_8_74!e%t*=$X9+!4^eEgy4ZIXND0gPLDG} z0y)-Z=ooRq84=o zcEI%Ku#xGlRJib}8!U%a%0W)LFu-aH_qF^VvM^PO{%b5u8$--)ni=%6@LCJASaw@KY7R@5Ex>)#3p`CJKL#TJ4$>%fCcKRJ?7u271 z#iv6u&E@}8PSP+ea+Za3dtA1l+@M2n(LF(2Sc4CIvR}l`mwO!%A@S_y$pWRv0H%fQ z#)K)Tx3LG#FJp~p%z|~^=!|u;bHMpR!ijBvMuVv;v?sA>qcbGlE{|+f2*p7Q6Q`(| zcstSm$&gqV8!?^fP3Lg2Ix-@*(AE)_gU+^&kws!#r&u;(TV>b+iS0%ZXJPhr%!aLy z{6BI6#B4-2&i~(rtiFFI7TG+6#*TSZSIjm)PRtn>HwJ#<^n{il)Oq1@!-7L(siE$cfp)=NHD=WR}+*AAn=Tzpz*gY+0ssS-Y z$6!<=Vv3eH%fb{r@f~7PmhnI#b(_Jcd32^e6Vr?kQ)h{(x5U(EV(K(;Ixb?i2jVFf zCe3Sxg$G-BriF(nTqr*rU;;N;0j664Znki)g@;-=$HK!boNeJ-EPSVhhg*1}g-2NU zb_V4AKr;=<3q-Y8E+8s zmmYLrMofSS5tCD5W<<=A5K}V5>gE&W*#;&fcZvv3i!stf6GtL4DD zBc^B=fOSnw(GgP@h$&j)ObfFviCJ~@r!ElBurTYMm~~Ho+a5wCuagdRWB}G3X_kzb zoDx&{h*{UfX}D-ab42`Ocy~~njS)v5yw_+O9?XUpjEliAtNsesA_V0a>4hDEnS||^ zXyKN)Gi(F z&g?CSSr^1CCNb-Zm|`Hd4JO4zOfl1+bwSL!A!c0?ce5~QUep=*-&${xDQ8AtWix126W^m$*c?N(Nrt`M!50ELegEPkK_9AL^;IHUd(ySz+##ncyE{d zN~9yzUYtP#*vyWD(k%habjIVNOm4Cg;HS2Jz)YV!e}<2sjhh2+u1~-CE+c#xsIaf>f>$6i++O6;IDMwqQ4nVGE2{t<0CR!07AO z#*5q;nhcN;m4&v@jFQtHUh(#t>VJ>%2XBiE?v`1-78@q-S_BTyisD~g*pgw9 zf$c}dg++Mtaf^swj2Sd5)U?G2HJncPI&-nXUGd@zBXNGhVj~C(g}z^m7$Zf@y~b?q zR*2;WM?dT;T7+kWapJooBT5^u&;$`v49D9Px?Kz-nyAnu zv6$!%iDD+(N`Y*PkQ|d{y)o%@6(K{MVuUFY1x~dh)QHIYP$|kvxK$;DQ7E`BT|TR6`CzFi1HMggJYtA@)eqk7g}hx1q#g* zmx%6CXujyP)G)DEg%ry|v5@F)h3*mih!#l{xfp!W0#msg7aL#Ag6+UUn{AP@423CD zk&3NIw4se7-KQcgsgG2#3^r}4bj4;6N0)*7`xSaXTq44ktjH#2g&hMGKs{)j=z}sy z@XAI(Dn-uy#$2?rQ}-L!;}-vb@iuN+b5B!IJ?0*@j z6x1#^);k|UT0z2fom0&bVkO54BTc?{p}}U8!e~S`DJmk}Xa!?&v6rDeI4fK)y7;-S z>ut2CkZH}ZBf*14Kj`#?2aWD<&sb}ymUvc-d<#!dwGX19t)Zcg6&D{g;+$;2nyB~$ zn_7-Ih`GMxm9kZ)u0$=$IN14hC1%J<#M8>@IB#C@(@NBX3}A|Ws|-)fS`>z+iq?RA z(>h>U1S)T-C|(5#trv$@88_pND-djI3bv(4UTrvF7kaLS_gQf?sI7@5_&BTKTrxIS zs9J5D)`V}vLq>CKoJ#3LiM=I8B{oq-x!%xR4!b1M;R57KySmU*lU!tjbyWyTUG zo&A-?EI)+C(0m1)`iNmV%Mq)kigj!w zX0?vwVps3-NAQ4L;X8l;+@Y8GJio~pula3_Ry$wjZH6sp=fnD-F7rnju^dpke?{ZN z*-icdQURQ$Ykkm-%|?)v1e8r`nx$b>t-39!C$IQ*GembJg1F2-Qu zsq8MNM$(Ihi*}PgdQrswqIl@lp=DcOi)9dz(VQFJZZQU<3{r(lwqQ+zMKe#yp1;W0 zh!r$)3)rA?!;M-?DTjct10ruYZM)n^3zQikBb?CM1`CzyqOe8lFEX?*rovDg8AF47 zgSX-hB(~_t*k*i-Ejn<+1{B*3d?mCU)$zD*&vwiW%MP+gj2z^Q717<>;~3E=WV<-@ zvl;H&{)FMx{GNywmwP(e;V3n&()dVoRid66HvlZf$Tz~Df655+b3P@NVq~@xTMA6V z9@YJJ8T(PpUw5Hb#Qq(tQ1j<@qi)m7`60?~Bd8^Na*B|mJL_M1%jfM%<8b0@&~|LF zerzqc-SrCAffVgFhHAU&6PSiHM?M4gpH@ymRZ_BO`3dM^v9rjC_t~uWxS_dKXwnk+f>#cGojtk`|9Yw%RI@Q*Cg|TkTon0o)Efi`H57tWg{wzGNoVxm?;#8Yv;rLn@c8M0x z!pVEVYQC7XS6ZCKdyRi1C+ta$?`U>n8B7s&ycXpfu+hoheK2n6;^;n@zKueA!5FS# zLEj5TXdf=$7nynnJ-ID)a*!tGyojy?W04oELDK-+<@*wBCGEh|f+03SiwJ)}(s16)Jrm5l+MAY^P*FjYO{i6RtBdSdzlHm}GNldk(=8K$z zMqjxz#T6AK_93E_FFTRO@&&X6_dn%Jew)g7?vP>7T>h9KDn>pXF%(CCn&ob5C`Y|{ zaBIvi<1-wN=ou7<{VQu>6?`J4))*H_FI1WguH(*R*b(j(6}9Lx_wg1h>V~&g`}!t{ z@9F%4&vgi62y7_7>}9C!e&4>Ajcv_&CczzV8Fx6a%lLtJj6rg5@hCBJQkz(x=Ut3~ z;VuuE%R6SI%adC<1|p*@%vj&4W5&0B*n|GUS6E6__r6ge&tu>dSArOMjAtpFFyskV zyH6Nx{~TZN_;TNw6Gn)?c2Fkb3;EcH@Qc~a@fm&`s!_l<;$n^z)!ky?r_efiVobPL z`l)dYJKakLiY~;5`HDWnfL*Hz?O`MLTnQ5VuKj=3Ly4$C;D=bPU>;A~oKG#q&*wH{X{hbaZi>pZaNaBG5GN2|R_|v%q01 zG3QGc&Nnelk6)yHmY@j_+6fvdb?(uH4H!*5gX7|Mjg1QOg>*7^snacVaVXJLyGpyo zCy8bhzQAfwx{|f%2$Pe{9+CTz9e;~(jm1T~%+&XbIU8_D#qUlmOsu-w&*7^~GB;_i ze;~LA-hQ~)x=)KSUCb9deci0&)K$g1ebfe!oVGd%Kz4u&{Gd zH#1fQrI`4vv74FH`gbci8a(oRDO$AaX5JzebTdPobkM}{Zf0m{odbiQ?xsWY6RF)% ztNuc}2HS}hbvOID9C$6la?`>wiW9r-o2IK-6X)i1#vvX%1A;mSH1P{;g0BXqVzY<5 zN~9EGLzRi$%>e9%EOW_p6C6z}MlOJ{+;xo^hp)m$K8}Z^x@*jSSYR#baaKCE zg7B4BV}76be0c845_`k0QuJ_sjkP|S&m z!$@U5hGR!2wT;lPZIVIXCK>c27V)>^-C#+l*Z`m7T64YT><`x%DT z(u&iRfoMWi1Iz`1UfazFw{K-XfIhcH~2mn34@AVdn?Mp z#fXyj7?O`NBeVf@h!x96nQm>MxG)|9t{nvl+$cJaHWSN6n@QRrAIM&sHdts|(8A*8 zv~=Jjy9WBEM)b{%=%Ed?Z`v61q@SomhlIHz5w269f2iEug0kKmkBUs@`?V;3MUSzyxok(bWz3aD9DK0O?>%# zo9Pin#V$uMB}OB{PAH!tx?bTlS2=BLt4u6I70?OCA69^qd5V*nwZm4CYh!xAkBw2b;F|ktJR`F(v?df1+HFH2a z`6dM4?Wda~w1<2HGt6)Yc6gkWiSfh^u{hJ5f!o)ariokdbhFU81FgK9$jC$ww!`=I zbaROYpOl&AIO%hZD9*%Kt$e0g>j(FYS?CXT_)g6-hs&O|TdvuT;fKwZ$sfY4EE4mf zC9}Z}o=|5qIJQ$|;$l*s*|%|`Re9!Vhji#AT+>mNyXKjB7~#j1AzPrE+4*o1d zk@BX%4v(J?J9$W1t*_(G`qM3uwyF~Hb=2YhkP_7&S*FfT1PCJYF4dj9b zvbcd<(LmyJO*`5{4dfc3?eq^VO`jVe&R;}(h&zpcCDHhItjKgrsa++WUW#Gd4&f>` zM@g49BI78R8*!f*L`A$0wYx(U z-)G*8+tK^b?d-txw0S*lsY}eRxXoDtW4J@?SYi&s?ZOh%N3;~`z#2_%$f&0%9*FZ| zf|i*P(yNcc{g#<~V;FQQ^eGn?#z^wzA^Sj%|4^>`Wric~H>XB2gfHZDHFCc zdcgF8m0=H<;Q@@*7qLX$eXtO9Z(_!9)dMi=J4D3;W_KCuI&ATZ_H+ILvxmgjit43i zC_?mKZl>W@yxc0%Ad$LU@^cC<@VK?&iRL$F1CizMN>dWGdVhGJIrfHTl+Qn@1B zum`0SmpzCEy+g#WGzZBfZ?~B!UMXvM<4VggOcKZMBeyGIig$>>Rp{ne#=-^`iWdSy2Rkvs(gt!_1NlG$d4B`BT%;Vv;NsY77#Gy^YODR;Ekls&hb))H zw#!J{xW7KdNZE+HVbnq3W*cz_e8T!hJglt^w zsMV-x^G1wY1Ve@Uf*vs!$;rOATO|nZ3P`5rQFDNw_AsW0p(pI%n~9MvQ1+pZA*6K< zS>0nOJ7(p!K&>AkA78Z=94W9a*b8tBut^OI8ar*q zj#a3*$Hd5TvwO_D&??SvaDsv?Hx9XlqpP$S+ldobO@ovRtpZlYAwJn+_PrwKt&K(> z+tje-swxW+q6(4Lhm-syqBOcmrwiC(QVc!;P zGt;$7@yRyS0%v%W#Om!B%)yWQAE$0d`>S_0olinHW{C^I0g1u1Nc3Ux?i3YUqM5$y z88bY-5`p+^z-cmuV&8c$?(8cmxg8utt2z(BCkmJ?EdL-Fw)|p%qwJBZ@erJXC98WM z$CFH@`2KNooQscR_H2?&P>gv3R$V%a_!T%)Y}FIyXdG5~3eGOdosY~^89qAf6s{-D zd%)c4C!uhd4|vivWq%Gf>-%%^7||FDz0yq6cOi@y&it`REG*M}8t$w#7H79uT?vIA zD=t*R4C1KO9p-%8mhC`Sfmb^_z!FpE9KjG=ssP$kW}+Z9Y*kva9?Trz;=f@hNe3v;CW&VB_ z@>W_C_%wPIMW#M22WPK6ZN~cTL+tT50PqE&?KUT4sxf0XbbY_rz#HDDzko-NGrLWX ztx^Y&>;F=zgN>fcMv07P&|jsBdCx%gUlJQ|i>yQq@O2tX#+u-dLaP-=pTT(FR%ALI zQfZyv;BW-LjC`d$5q+VUV}xQ{X*6?SKQ2?f5coR<#uQ;H`quI)JeyaF&#R<0jH!m6 zydsLL!Pl#zq8dYrcg1Vf<`NfspfwgtuOZL&BBRznwCpAS0G=<2@ba)Da`LX&{45$a zPMU0vSQIWx5EY=;1;`z#)HpJjRTN-s*l_Iit6;iBMK6ML~fhsmD9&tgPy z_&Ib;?}`te1B*w=X_N@5fzvyR>vwsB4379=jPw@%O{_6jp~AkafsCo3^4S-;P|l>O zLD)-S4=Nd5#2zy|g~x>QM?S)F$wI*mk?Wi6afpDUANuVSZ|*Upg5SHs=>m>CbTTCz z?}bgXk#@}UXngOBKF^!C1IhD2tDeX647O47nQ6`s5WS@+{taiDrTb7G%t_|#HD6Rr z;k$aCp6K0&&KK_s_hE!#oeR2YpBWPW5#s(Y<-_;Hk3%S@5!T7IDo!!-1GKo3N+?Rm z3#cHe(Eo5XF1fM-ID0f)B)uq2ZT}a|a5;U@1%<}r_zRec$a~R@@cSf2z190v>E*G( z!9k@VJsslkiregfVfm3}wcUa1Hch=XV0Ci+mt-47U`{ohh99QwsGN*+pisul^KF ztHm>Z#7ky~tb7PlzUEPtKc*I4!0A6lVaj*|yQ9{8<1aeC;zJl-eJ%DKG6mFXvRP zKy>Y!j+(XDvp?k|#(4$rn8!40IJXvC(u?$CXghfEbPU5Tyec?`-UBxe4^Vv!3;fR? zGwTn*b%Y~02GF8tINnOu_QwFZ_CI)aF#0%}EmfwqT1qjZIo?VqKfr}2v!k(iWsDmK zG&gSxTYeno1ik!mlsi?d{Q~73it^OAWR8C(yl3{sZ3Aw>XHXw3Fo!8P*R2vW0O#K` zi?r{=ocA#_z^e$H_blR?VX_6OUef_1_kGAZ+`2^>^Y7m@s-cVW}H0kfmU0`#X4izXbvL9NG``o{={4^hw3=vk z>iDTS-1WVs(d=tvdlD-?HQ$wr=3iR<96FC3F4RnOjPa6h(H()(Vj^t3$XMk{6nj52 zNBoT@3_dA~xA`PG6QvM1gA~a`d`@>?&gZBYaDkfXirb+t%pY;v^Q9aHpZXG7jKxQF z5JBGi7|%x}VWP0S&Mb$dQcvMg;@@K9Df30CTrI?f1vn^TtjPJwH04|%$9gm;I0*64 zwxNN1>BxqkAPyBa5BHt;3hxN6lz6M=%`ih@dgKYkVT_53;^4E0of>=S^WxBHOeNO+ zD;OKH2Dhayr1o^F15p@{VJYF{@NUFbx;@fVMcpIaq9>XQrQge=#Sz_AnzMZ3( zVMBCwW?1PIE~39R$E!*e)h+R|KJFXTYFuZW@KU!j0Wak4Z5trZ&HRtDLM5bH|F5*FrfjiycM0_kfj~{c!C48FPSqNlaTlNUZ%aE~;!L4x~w6jYE=7 zz7v9+o_Ay2+EZ9MFmxfNI!~OzGuv39eP<4m=XUcUpaU*j?C6(=1z?Ulu>&6GzB3B~ zsoD_;fLA!N=xsyJn&UB5pLG`Vb9j{bC+0mH<^jE+kN*=RSUJTPDrTO8+2B0iybUQ_ zxOC23;QAS=&(#D>lbJs3i~JswL5%V*GgRlCA@2yC09CdB}e;D~8j$|BJREho)GC@?SG4h5bK&ak$vVnNB(g zY7<+8hT)d&MjP1yN2FqZo7yvRe5VlMz{5<+?+_81-S6i0F1sdeRtL&ODLvWF`XM&! z#;*IOy3jQ0jWTLX)2MucWZ{{^4PwqEGc@=ilmX(BPB4gY2D?sYJ)irWwhZ)a4tT<|$fG}eC`!9H{KkTOjm1T=a#YyD<^gZ$>}NCP5N`Pg!Jp*_w!%?N{4rP3 znmDy1FkC*?*N6$4XR_>qpArW&&!GN)w?;eyk-fP1lk6jN8VfHS@S_{1clX)n4AbG8k1S;eUlEBrl)fvxM|$Yvg_WA*nqU}Qh=_r&(3Ao*howjikw6r|0& zEofV%uynSWCjo2lhB-WZTFZ3&KPR-$;W6EVS3)_35cP1DK@e) z9+zFOl1-7~gfie9FQ+HGKShDSGUOQC`{VjQ6^4bQ-EDNnxTr<8(inHGKX^O{qu>ip zPuCQNrH0kV15J^KS+eB;XB1R|6{bc&)@t_Y3VDj+W}a}T6uU_2;0SfGm~3WLWhM@@ zj!LqmF(D-;#Gb(4!%mO{xRUH1=D=3 zP0t{|F4y$vl7hd)X_)b85Ter?B-8v`tsvU4kYDu}bYZGT*W=GFkNmy!_Jl4|& zw;RWL>O|*pp4*(eW=x$LCvwMn5`}M^$K7mPW`6$ceDTRRPwwCN`8JOCJmK%VaiS-p zm6qk3Jj=7vA1lTFnd_-}pklTMS4Ui(d=;}3OZ~N$zMgXvrv;7NJ*vv74bXyj@;*=t zy6z_2Z`6XW9fA8GEyzPWSPOC!57C0!^L~>S6v6w=T2M>ghiX9%-iK)|E{n5;iCtS> zf3v&G)SN81-KGV8Ak3mf6EoDqixLwH*A0Vfmgc~#64ScT)HVf zAwB{0Y|XLdHr(?x$2Q*QXpTz8&DR_oiRWsL6}%T{j*>fYpQkz2&By&N%`uPR=4+1m zL*n`k%)P5i#}gdFf6ecrn3SK?*YDJLJnbc2+pNkFsX3nZeVU(iLs($s@G7St2JNSP`U6RiXf56x zMei1UZbic9mnZ4Ie=kq^qfOxOTfyW%v=(E0KR=eVU?rAK$z1|-*+C_8IPzGOs;`L{Rq1|%pQb7yHW zXUS|5abCvMSs63HM$BchN~gJ*Qwy?Y=g!q4cZ%YQ&PxkXh#S`FX;WwCK#eL@c4^tu zvomHueNqvvQ(8{ex{J7xzn>|X#S%l zR~-SVpHs3m=R8Ev)1<^&Ma$w3$SBCj&&|?+t0|%mG=`r)TBP(44OqGIWZCC(q9+m^pb?=0a48 zARm$DYRy8KNaBFmIT=~Ga|<#GGBszh}i==%)^M3fTpDdFF`^EsEm0F zv{s)J7ex# zt<`%-GtqXMou8?N^g*CbmP^j;X=9>_BUJm$}vTA)Sm$H^j{ zJ%vR~+8COVGi6$a7WM}c?J_ju?uC=5KwZcbY|Zlsp%2Ym0Nn{J1Iq)~bsRc712!U~ zV5a8Ck<29yojo-pd-7Z;ex~NgL^2+_P`$Kf4kUmmxihk4!I}jCyN5wuTKmFqB$&3Y zBhloHd49?# z82svkDtIU9LM22Se+W?$r9-x=+O`|(Bca|jSGpI5XGDG>5`k>AR{Ow|N`a!9rnP*= zn~HX4j>w-qoz2ye&Z2d^HFN6ZsWUU77Oj^u#;x;m3$k(~n~_hVBe83pt5Gbhi;pFJ;63oe1HIVvkBFFR|x7PH(_+nR4tNi zxa;WrjNG}|sNVdnDf7_O!%G<;Q8}xI8F@1TcCuX98X`VIkdDfM%`$SS)FsPh_LMud z@WBXSMae@oYY|%^e37uTbL*QHOBOnghAdS2VfP|^kHkzpERpp}NXwwLz6(ipv*F~d z9Mnx##?*zH>m^aR6Me~Z;?bR*+ef^PM3U=+&C8uKdjTrlwO<_H**UzBHdtmktsp-$ zQwv_jQko3T0))YCDKtB;KxII>zd#x?ZYeoc{ZwF>GS2~qGD&~wyjH&vsaED+;7i2&gE(U9Q5{~ z`3uFar#nX!j`;A7>f(T;`5&g;F;vW%`A&KHU(``a^5QptDEV#c?GL{9(9l+o4h?v< zyu7|he3QAb(s_RSp*6Ga?E5->^EzE!fr8J5OU%k2ePlkj%wmd^$Ghnt*6DT{ zy|*(Jo2a=X#ml8!(DQ-fwFL`Mv)KfL%SVgTOVxMB3{C{s{ z_aJ`l$5{Ec1#1rP-!WZqqpq-kr}4uZpL8Z+rIz1P`CMv z*6wN26Q|p6*Zm{FCHLxd`6i_eiiOU`C)yr}ZTH@xyM$4IKkT67%N0idCp>)ebLF%k z_38h2>egyHa!cQR`uwa1$3)E{mRBK57c2l*D-#TU=}7Z+L>WhTo=7mR{IB0Red#XU zCV^f9`)2vjedSdPTh@o1U4DDI`EK1?0(Tk;qAjKhTl`~K+jKot2Y8pu9$iNfIa#*K zOUs<*&i^y3sABcg;spz!74`I_;vY)$sxUzhX6alr!Qs(yljcD|(E zfvl#fa})ZzD$KXJELecjI+$Rv^UTfASw1UFxhDj33oc9UoBnT)ZmPxx>-%ku3Wh#M zazB0F{4_Iu!2(dLWP*XPR=;Re+;Q3GPcN^C`*=Ilf2=*}%04~LRwNKZee(tH&&u`96x+&Q5CI4onSu`+T zLYsCI3{v>L^0Y5+lD=lKX0cq+;TEVIuri!r(D-;`0k8J8%ZIpKw;hP~kXo<+sRcQ~ zz*oW2tDp1Y{IZE(_Oo4;-VaQo@D}F;gLkrG+0Iv$(nGGZ{q6nHdZKCi{QbIK0xj!$ znSY)4)Rr(h)AJ>OEqMFS{koQn0)@nZ>M#J%Sm delta 207496 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

GL&lWUsC~3ZyKuV4lL901$ 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 bQ`E)no(FXwgVts19@doy9ueSsSXTi6e*c@y diff --git a/boot/ocamllex b/boot/ocamllex index 27825a613d8bd8f1228838f32bc93733a0a47358..ab79e035eeca9be742ef7116ebce9ccb2fd4bd15 100755 GIT binary patch delta 158 zcmex*Tx|LYu?+(HjG4`X`t5@Hj6lo;#LU|T^;zDm<<(+fV1L2D;3&+%puK!M*IgEG zCOtC~JwqVUPDw2@(ls(LGSW3P(lszY;Ns^vVS$4_n(+3-`z)M$1w4%(-U$8b{qKUZ xG;=@i?)L3fb6AU61u8eZyu9uEzYBGn&uHzQCOvWc--WE#85!-SUtP?q008ygH;@1T delta 124 zcmbP!LhS2tu?+(Hj2X>>`t5@Hj6lo;#LU|T^;zDm<>g>tV1LTM;K<6rpgngx*IgEG zCLT2tJwp>cg99#p4i4L!@3V0372vF}_%y|}?({a9)92gHWEO3oGl#X9RUo(eqtr*g cWz8Xz;;qarDh;;FFJisU$S5=Y`(joF0IEnU2mk;8 diff --git a/build-aux/ocaml_version.m4 b/build-aux/ocaml_version.m4 index 03c63069..8c69847c 100644 --- a/build-aux/ocaml_version.m4 +++ b/build-aux/ocaml_version.m4 @@ -33,7 +33,7 @@ m4_define([OCAML__DEVELOPMENT_VERSION], [false]) m4_define([OCAML__VERSION_MAJOR], [4]) m4_define([OCAML__VERSION_MINOR], [14]) -m4_define([OCAML__VERSION_PATCHLEVEL], [0]) +m4_define([OCAML__VERSION_PATCHLEVEL], [1]) # Note that the OCAML__VERSION_EXTRA string defined below is always empty # for officially-released versions of OCaml. m4_define([OCAML__VERSION_EXTRA], []) diff --git a/configure b/configure index 8a2c007f..2c956eff 100755 --- a/configure +++ b/configure @@ -56,7 +56,7 @@ if test -e '.git' ; then : fi fi # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for OCaml 4.14.0. +# Generated by GNU Autoconf 2.69 for OCaml 4.14.1. # # Report bugs to . # @@ -646,8 +646,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='OCaml' PACKAGE_TARNAME='ocaml' -PACKAGE_VERSION='4.14.0' -PACKAGE_STRING='OCaml 4.14.0' +PACKAGE_VERSION='4.14.1' +PACKAGE_STRING='OCaml 4.14.1' PACKAGE_BUGREPORT='caml-list@inria.fr' PACKAGE_URL='http://www.ocaml.org' @@ -711,6 +711,7 @@ NMEDIT DSYMUTIL MANIFEST_TOOL AWK +RANLIB STRIP ac_ct_AR DLLTOOL @@ -796,8 +797,6 @@ natdynlinkopts natdynlink supports_shared_libraries mklib -RANLIBCMD -RANLIB AR shebangscripts long_shebang @@ -1486,7 +1485,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OCaml 4.14.0 to adapt to many kinds of systems. +\`configure' configures OCaml 4.14.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1552,7 +1551,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OCaml 4.14.0:";; + short | recursive ) echo "Configuration of OCaml 4.14.1:";; esac cat <<\_ACEOF @@ -1718,7 +1717,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OCaml configure 4.14.0 +OCaml configure 4.14.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2427,7 +2426,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OCaml $as_me 4.14.0, which was +It was created by OCaml $as_me 4.14.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2776,8 +2775,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring OCaml version 4.14.0" >&5 -$as_echo "$as_me: Configuring OCaml version 4.14.0" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring OCaml version 4.14.1" >&5 +$as_echo "$as_me: Configuring OCaml version 4.14.1" >&6;} # Configuration variables @@ -2853,7 +2852,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -VERSION=4.14.0 +VERSION=4.14.1 OCAML_DEVELOPMENT_VERSION=false @@ -2863,7 +2862,7 @@ OCAML_VERSION_MAJOR=4 OCAML_VERSION_MINOR=14 -OCAML_VERSION_PATCHLEVEL=0 +OCAML_VERSION_PATCHLEVEL=1 OCAML_VERSION_EXTRA= @@ -2918,8 +2917,6 @@ OCAML_VERSION_SHORT=4.14 - - @@ -2987,15 +2984,15 @@ $as_echo "#define OCAML_VERSION_MAJOR 4" >>confdefs.h $as_echo "#define OCAML_VERSION_MINOR 14" >>confdefs.h -$as_echo "#define OCAML_VERSION_PATCHLEVEL 0" >>confdefs.h +$as_echo "#define OCAML_VERSION_PATCHLEVEL 1" >>confdefs.h $as_echo "#define OCAML_VERSION_ADDITIONAL \"\"" >>confdefs.h $as_echo "#define OCAML_VERSION_EXTRA \"\"" >>confdefs.h -$as_echo "#define OCAML_VERSION 41400" >>confdefs.h +$as_echo "#define OCAML_VERSION 41401" >>confdefs.h -$as_echo "#define OCAML_VERSION_STRING \"4.14.0\"" >>confdefs.h +$as_echo "#define OCAML_VERSION_STRING \"4.14.1\"" >>confdefs.h # Checks for system types @@ -12519,27 +12516,17 @@ else fi ;; esac -# Extracting information from libtool's configuration -if test -n "$RANLIB" ; then : - RANLIBCMD="$RANLIB" -else - RANLIB="$AR rs"; RANLIBCMD="" - -fi - case $host in #( # In config/Makefile.mingw*, we had: # TARGET=i686-w64-mingw32 and x86_64-w64-mingw32 # TOOLPREF=$(TARGET)- # ARCMD=$(TOOLPREF)ar - # RANLIB=$(TOOLPREF)ranlib - # RANLIBCMD=$(TOOLPREF)ranlib - # However autoconf and libtool seem to use ar and ranlib + # However autoconf and libtool seem to use ar # So we let them do, at the moment *-pc-windows) : libext=lib - AR=""; RANLIB=echo; RANLIBCMD="" + AR="" if test "$host_cpu" = "x86_64" ; then : machine="-machine:AMD64 " else @@ -12549,7 +12536,7 @@ fi ;; #( *) : - mklib="rm -f \$(1) && ${AR} rc \$(1) \$(2) && ${RANLIB} \$(1)" + mklib="rm -f \$(1) && ${AR} rc \$(1) \$(2)" ;; esac @@ -13084,6 +13071,7 @@ esac CC="$flexlink -chain $flexdll_chain -exe" LIBS="conftest2.$ac_objext" CPPFLAGS="$internal_cppflags $CPPFLAGS" + CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main() { return 0; } @@ -14839,7 +14827,7 @@ int main (void) { broken implementations of Cygwin64, mingw-w64 (x86_64) and VS2013-2017. The static volatile variables aim to thwart GCC's constant folding. */ static volatile double x, y, z; - double t264, t265, t266; + volatile double t264, t265, t266; x = 0x3.bd5b7dde5fddap-496; y = 0x3.bd5b7dde5fddap-496; z = -0xd.fc352bc352bap-992; @@ -17890,6 +17878,8 @@ case $host in #( $as_echo "#define HAS_STRERROR 1" >>confdefs.h + $as_echo "#define HAS_IPV6 1" >>confdefs.h + $as_echo "#define HAS_NICE 1" >>confdefs.h ;; #( *-pc-windows) : @@ -18425,7 +18415,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OCaml $as_me 4.14.0, which was +This file was extended by OCaml $as_me 4.14.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18492,7 +18482,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -OCaml config.status 4.14.0 +OCaml config.status 4.14.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 2f4ebf9b..ebb8bbdb 100644 --- a/configure.ac +++ b/configure.ac @@ -119,8 +119,6 @@ AC_SUBST([bootstrapping_flexdll]) AC_SUBST([long_shebang]) AC_SUBST([shebangscripts]) AC_SUBST([AR]) -AC_SUBST([RANLIB]) -AC_SUBST([RANLIBCMD]) AC_SUBST([mklib]) AC_SUBST([supports_shared_libraries]) AC_SUBST([natdynlink]) @@ -474,32 +472,24 @@ AS_CASE([$enable_dependency_generation], [compute_deps=true])], [compute_deps=false])]) -# Extracting information from libtool's configuration -AS_IF([test -n "$RANLIB" ], - [RANLIBCMD="$RANLIB"], - [RANLIB="$AR rs"; RANLIBCMD=""] -) - AS_CASE([$host], # In config/Makefile.mingw*, we had: # TARGET=i686-w64-mingw32 and x86_64-w64-mingw32 # TOOLPREF=$(TARGET)- # ARCMD=$(TOOLPREF)ar - # RANLIB=$(TOOLPREF)ranlib - # RANLIBCMD=$(TOOLPREF)ranlib - # However autoconf and libtool seem to use ar and ranlib + # However autoconf and libtool seem to use ar # So we let them do, at the moment [*-pc-windows], [ libext=lib - AR=""; RANLIB=echo; RANLIBCMD="" + AR="" AS_IF([test "$host_cpu" = "x86_64" ], [machine="-machine:AMD64 "], [machine=""]) mklib="link -lib -nologo $machine /out:\$(1) \$(2)" ], [ - mklib="rm -f \$(1) && ${AR} rc \$(1) \$(2) && ${RANLIB} \$(1)" + mklib="rm -f \$(1) && ${AR} rc \$(1) \$(2)" ]) ## Find vendor of the C compiler @@ -2026,6 +2016,7 @@ AS_CASE([$host], [*-*-mingw32], [AC_DEFINE([HAS_BROKEN_PRINTF]) AC_DEFINE([HAS_STRERROR]) + AC_DEFINE([HAS_IPV6]) AC_DEFINE([HAS_NICE])], [*-pc-windows], [AC_DEFINE([HAS_BROKEN_PRINTF]) diff --git a/driver/main_args.ml b/driver/main_args.ml index 82034546..60db017a 100644 --- a/driver/main_args.ml +++ b/driver/main_args.ml @@ -569,10 +569,6 @@ let mk_no_unboxed_types f = " unannotated unboxable types will not be unboxed (default)" ;; -let mk_force_tmc f = - "-force-tmc", Arg.Unit f, " Rewrite all possible TMC calls" -;; - let mk_unsafe f = "-unsafe", Arg.Unit f, " Do not compile bounds checking on array and string access" @@ -935,7 +931,6 @@ module type Common_options = sig val _no_strict_sequence : unit -> unit val _strict_formats : unit -> unit val _no_strict_formats : unit -> unit - val _force_tmc : unit -> unit val _unboxed_types : unit -> unit val _no_unboxed_types : unit -> unit val _unsafe_string : unit -> unit @@ -1232,7 +1227,6 @@ struct mk_strict_formats F._strict_formats; mk_no_strict_formats F._no_strict_formats; mk_thread F._thread; - mk_force_tmc F._force_tmc; mk_unboxed_types F._unboxed_types; mk_no_unboxed_types F._no_unboxed_types; mk_unsafe F._unsafe; @@ -1435,7 +1429,6 @@ struct mk_strict_formats F._strict_formats; mk_no_strict_formats F._no_strict_formats; mk_thread F._thread; - mk_force_tmc F._force_tmc; mk_unbox_closures F._unbox_closures; mk_unbox_closures_factor F._unbox_closures_factor; mk_inline_max_unroll F._inline_max_unroll; @@ -1635,7 +1628,6 @@ struct mk_strict_formats F._strict_formats; mk_no_strict_formats F._no_strict_formats; mk_thread F._thread; - mk_force_tmc F._force_tmc; mk_unboxed_types F._unboxed_types; mk_no_unboxed_types F._no_unboxed_types; mk_unsafe_string F._unsafe_string; @@ -1939,7 +1931,6 @@ module Default = struct let _noprompt = set noprompt let _nopromptcont = set nopromptcont let _stdin () = (* placeholder: file_argument ""*) () - let _force_tmc = set force_tmc let _version () = print_version () let _vnum () = print_version_num () let _eval (_:string) = () @@ -1976,7 +1967,6 @@ module Default = struct "Profiling with \"gprof\" (option `-p') is only supported up to \ OCaml 4.08.0" let _shared () = shared := true; dlcode := true - let _force_tmc = set force_tmc let _v () = Compenv.print_version_and_library "native-code compiler" end @@ -1997,7 +1987,6 @@ module Default = struct let _pp s = Clflags.preprocessor := (Some s) let _ppx s = Clflags.all_ppx := (s :: (!Clflags.all_ppx)) let _thread = set Clflags.use_threads - let _force_tmc = set force_tmc let _v () = Compenv.print_version_and_library "documentation generator" let _verbose = set Clflags.verbose let _version = Compenv.print_version_string @@ -2031,7 +2020,6 @@ third-party libraries such as Lwt, but with a different API." let _output_complete_exe () = _output_complete_obj (); output_complete_executable := true let _output_obj () = output_c_object := true; custom_runtime := true - let _force_tmc = set force_tmc let _use_prims s = use_prims := s let _use_runtime s = use_runtime := s let _v () = Compenv.print_version_and_library "compiler" diff --git a/driver/main_args.mli b/driver/main_args.mli index 2b963ef1..d8b0b017 100644 --- a/driver/main_args.mli +++ b/driver/main_args.mli @@ -40,7 +40,6 @@ module type Common_options = sig val _no_strict_sequence : unit -> unit val _strict_formats : unit -> unit val _no_strict_formats : unit -> unit - val _force_tmc : unit -> unit val _unboxed_types : unit -> unit val _no_unboxed_types : unit -> unit val _unsafe_string : unit -> unit diff --git a/manual/src/cmds/intf-c.etex b/manual/src/cmds/intf-c.etex index 7cd50a13..bb420c29 100644 --- a/manual/src/cmds/intf-c.etex +++ b/manual/src/cmds/intf-c.etex @@ -1449,6 +1449,10 @@ the value \var{a} and returns the value returned by~\var{f}. (a curried OCaml function with three arguments) to \var{a}, \var{b} and \var{c}. \item "caml_callbackN("\var{f, n, args}")" applies the functional value \var{f} to the \var{n} arguments contained in the C array of values \var{args}. +The array \var{args} must \emph{not} be declared with "CAMLlocalN". +It should be declared as "value "\var{args}"["\var{n}"];". +Alternatively, a C99 compound literal can be used: +"caml_callbackN("\var{f, n, }"(value[]){"\nth{arg}{1}, \ldots, \nth{arg}{n}"})". \end{itemize} If the function \var{f} does not return, but raises an exception that escapes the scope of the application, then this exception is diff --git a/ocaml-variants.opam b/ocaml-variants.opam index 6dbf90e1..e64286c0 100644 --- a/ocaml-variants.opam +++ b/ocaml-variants.opam @@ -1,9 +1,9 @@ opam-version: "2.0" -version: "4.14.0" +version: "4.14.1" license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" -synopsis: "Official release of OCaml 4.14.0" +synopsis: "Official release of OCaml 4.14.1" depends: [ - "ocaml" {= "4.14.0" & post} + "ocaml" {= "4.14.1" & post} "base-unix" {post} "base-bigarray" {post} "base-threads" {post} diff --git a/otherlibs/Makefile.otherlibs.common b/otherlibs/Makefile.otherlibs.common index 95ff4d58..17c8e2df 100644 --- a/otherlibs/Makefile.otherlibs.common +++ b/otherlibs/Makefile.otherlibs.common @@ -95,7 +95,6 @@ install:: fi ifneq "$(STUBSLIB)" "" $(INSTALL_DATA) $(STUBSLIB) "$(INSTALL_LIBDIR)/" - cd "$(INSTALL_LIBDIR)"; $(RANLIB) lib$(CLIBNAME).$(A) endif $(INSTALL_DATA) \ @@ -115,7 +114,6 @@ installopt: $(INSTALL_DATA) \ $(CAMLOBJS_NAT) $(LIBNAME).cmxa $(LIBNAME).$(A) \ "$(INSTALL_LIBDIR)/" - cd "$(INSTALL_LIBDIR)"; $(RANLIB) $(LIBNAME).a if test -f $(LIBNAME).cmxs; then \ $(INSTALL_PROG) $(LIBNAME).cmxs "$(INSTALL_LIBDIR)"; \ fi diff --git a/otherlibs/dynlink/Makefile b/otherlibs/dynlink/Makefile index 6b02dc19..c21bf573 100644 --- a/otherlibs/dynlink/Makefile +++ b/otherlibs/dynlink/Makefile @@ -249,12 +249,11 @@ ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true" endif installopt: - if $(NATDYNLINK); then \ - $(INSTALL_DATA) \ - $(NATOBJS) dynlink.cmxa dynlink.$(A) \ - "$(INSTALL_LIBDIR)" && \ - cd "$(INSTALL_LIBDIR)" && $(RANLIB) dynlink.$(A); \ - fi +ifeq "$(strip $(NATDYNLINK))" "true" + $(INSTALL_DATA) \ + $(NATOBJS) dynlink.cmxa dynlink.$(A) \ + "$(INSTALL_LIBDIR)" +endif partialclean: rm -f $(extract_crc) *.cm[ioaxt] *.cmti *.cmxa \ diff --git a/otherlibs/systhreads/Makefile b/otherlibs/systhreads/Makefile index 8fc1bdb9..640a7666 100644 --- a/otherlibs/systhreads/Makefile +++ b/otherlibs/systhreads/Makefile @@ -121,7 +121,6 @@ install: $(INSTALL_PROG) dllthreads$(EXT_DLL) "$(INSTALL_STUBLIBDIR)"; \ fi $(INSTALL_DATA) libthreads.$(A) "$(INSTALL_LIBDIR)" - cd "$(INSTALL_LIBDIR)"; $(RANLIB) libthreads.$(A) mkdir -p "$(INSTALL_THREADSLIBDIR)" $(INSTALL_DATA) \ $(CMIFILES) threads.cma \ @@ -136,11 +135,9 @@ endif installopt: $(INSTALL_DATA) libthreadsnat.$(A) "$(INSTALL_LIBDIR)" - cd "$(INSTALL_LIBDIR)"; $(RANLIB) libthreadsnat.$(A) $(INSTALL_DATA) \ $(THREADS_NCOBJS) threads.cmxa threads.$(A) \ "$(INSTALL_THREADSLIBDIR)" - cd "$(INSTALL_THREADSLIBDIR)" && $(RANLIB) threads.$(A) %.cmi: %.mli $(CAMLC) -c $(COMPFLAGS) $< diff --git a/otherlibs/systhreads/st_stubs.c b/otherlibs/systhreads/st_stubs.c index b7a6a9a6..043e0703 100644 --- a/otherlibs/systhreads/st_stubs.c +++ b/otherlibs/systhreads/st_stubs.c @@ -524,6 +524,7 @@ static ST_THREAD_FUNCTION caml_thread_start(void * arg) { caml_thread_t th = (caml_thread_t) arg; value clos; + void * signal_stack; #ifdef NATIVE_CODE struct longjmp_buffer termination_buf; char tos; @@ -536,7 +537,7 @@ static ST_THREAD_FUNCTION caml_thread_start(void * arg) /* Acquire the global mutex */ caml_leave_blocking_section(); st_thread_set_id(Ident(th->descr)); - caml_setup_stack_overflow_detection(); + signal_stack = caml_setup_stack_overflow_detection(); #ifdef NATIVE_CODE /* Setup termination handler (for caml_thread_exit) */ if (sigsetjmp(termination_buf.buf, 0) == 0) { @@ -550,7 +551,7 @@ static ST_THREAD_FUNCTION caml_thread_start(void * arg) #ifdef NATIVE_CODE } #endif - caml_stop_stack_overflow_detection(); + caml_stop_stack_overflow_detection(signal_stack); /* The thread now stops running */ return 0; } diff --git a/otherlibs/unix/unix.mli b/otherlibs/unix/unix.mli index d5f4cb98..1498a85e 100644 --- a/otherlibs/unix/unix.mli +++ b/otherlibs/unix/unix.mli @@ -995,11 +995,11 @@ val close_process_full : val symlink : ?to_dir: (* thwart tools/sync_stdlib_docs *) bool -> string -> string -> unit (** [symlink ?to_dir src dst] creates the file [dst] as a symbolic link - to the file [src]. On Windows, [to_dir] indicates if the symbolic link + to the file [src]. On Windows, [~to_dir] indicates if the symbolic link points to a directory or a file; if omitted, [symlink] examines [src] using [stat] and picks appropriately, if [src] does not exist then [false] - is assumed (for this reason, it is recommended that the [to_dir] parameter - be specified in new code). On Unix, [to_dir] is ignored. + is assumed (for this reason, it is recommended that the [~to_dir] parameter + be specified in new code). On Unix, [~to_dir] is ignored. Windows symbolic links are available in Windows Vista onwards. There are some important differences between Windows symlinks and their POSIX counterparts. diff --git a/otherlibs/win32unix/stat.c b/otherlibs/win32unix/stat.c index ab90993d..056fac98 100644 --- a/otherlibs/win32unix/stat.c +++ b/otherlibs/win32unix/stat.c @@ -347,6 +347,7 @@ static int do_stat(int do_lstat, int use_64, const char* opath, HANDLE fstat, __ CAMLprim value unix_stat(value path) { + CAMLparam1(path); struct _stat64 buf; __int64 st_ino; @@ -354,11 +355,12 @@ CAMLprim value unix_stat(value path) if (!do_stat(0, 0, String_val(path), NULL, &st_ino, &buf)) { uerror("stat", path); } - return stat_aux(0, st_ino, &buf); + CAMLreturn (stat_aux(0, st_ino, &buf)); } CAMLprim value unix_stat_64(value path) { + CAMLparam1(path); struct _stat64 buf; __int64 st_ino; @@ -366,11 +368,12 @@ CAMLprim value unix_stat_64(value path) if (!do_stat(0, 1, String_val(path), NULL, &st_ino, &buf)) { uerror("stat", path); } - return stat_aux(1, st_ino, &buf); + CAMLreturn (stat_aux(1, st_ino, &buf)); } CAMLprim value unix_lstat(value path) { + CAMLparam1(path); struct _stat64 buf; __int64 st_ino; @@ -378,11 +381,12 @@ CAMLprim value unix_lstat(value path) if (!do_stat(1, 0, String_val(path), NULL, &st_ino, &buf)) { uerror("lstat", path); } - return stat_aux(0, st_ino, &buf); + CAMLreturn (stat_aux(0, st_ino, &buf)); } CAMLprim value unix_lstat_64(value path) { + CAMLparam1(path); struct _stat64 buf; __int64 st_ino; @@ -390,7 +394,7 @@ CAMLprim value unix_lstat_64(value path) if (!do_stat(1, 1, String_val(path), NULL, &st_ino, &buf)) { uerror("lstat", path); } - return stat_aux(1, st_ino, &buf); + CAMLreturn (stat_aux(1, st_ino, &buf)); } static value do_fstat(value handle, int use_64) diff --git a/runtime/caml/fix_code.h b/runtime/caml/fix_code.h index 83c393a1..2eafaa81 100644 --- a/runtime/caml/fix_code.h +++ b/runtime/caml/fix_code.h @@ -34,8 +34,7 @@ void caml_set_instruction (code_t pos, opcode_t instr); int caml_is_instruction (opcode_t instr1, opcode_t instr2); #ifdef THREADED_CODE -extern char ** caml_instr_table; -extern char * caml_instr_base; +void caml_init_thread_code(void ** instr_table, void * instr_base); void caml_thread_code (code_t code, asize_t len); #endif diff --git a/runtime/caml/memory.h b/runtime/caml/memory.h index 1e9cdf6d..d9e58bc2 100644 --- a/runtime/caml/memory.h +++ b/runtime/caml/memory.h @@ -329,7 +329,7 @@ struct caml__roots_block { #define CAMLunused_start __attribute__ ((unused)) #define CAMLunused_end #define CAMLunused __attribute__ ((unused)) -#elif _MSC_VER >= 1500 +#elif defined(_MSC_VER) && _MSC_VER >= 1500 #define CAMLunused_start __pragma( warning (push) ) \ __pragma( warning (disable:4189 ) ) #define CAMLunused_end __pragma( warning (pop)) diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h index 5915c30a..c605f871 100644 --- a/runtime/caml/misc.h +++ b/runtime/caml/misc.h @@ -35,7 +35,7 @@ /* Supported since at least GCC 3.1 */ #define CAMLdeprecated_typedef(name, type) \ typedef type name __attribute ((deprecated)) -#elif _MSC_VER >= 1310 +#elif defined(_MSC_VER) && _MSC_VER >= 1310 /* NB deprecated("message") only supported from _MSC_VER >= 1400 */ #define CAMLdeprecated_typedef(name, type) \ typedef __declspec(deprecated) type name @@ -43,7 +43,8 @@ #define CAMLdeprecated_typedef(name, type) typedef type name #endif -#if defined(__GNUC__) && __STDC_VERSION__ >= 199901L || _MSC_VER >= 1925 +#if defined(__GNUC__) && __STDC_VERSION__ >= 199901L \ + || defined(_MSC_VER) && _MSC_VER >= 1925 #define CAML_STRINGIFY(x) #x #ifdef _MSC_VER @@ -90,7 +91,7 @@ CAMLdeprecated_typedef(addr, char *); #define CAMLnoreturn_start #define CAMLnoreturn_end __attribute__ ((noreturn)) #define Noreturn __attribute__ ((noreturn)) -#elif _MSC_VER >= 1500 +#elif defined(_MSC_VER) && _MSC_VER >= 1500 #define CAMLnoreturn_start __declspec(noreturn) #define CAMLnoreturn_end #define Noreturn @@ -138,11 +139,12 @@ CAMLdeprecated_typedef(addr, char *); /* we need to be able to compute the exact offset of each member. */ #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L #define CAMLalign(n) _Alignas(n) -#elif defined(__cplusplus) && (__cplusplus >= 201103L || _MSC_VER >= 1900) +#elif defined(__cplusplus) \ + && (__cplusplus >= 201103L || defined(_MSC_VER) && _MSC_VER >= 1900) #define CAMLalign(n) alignas(n) #elif defined(SUPPORTS_ALIGNED_ATTRIBUTE) #define CAMLalign(n) __attribute__((aligned(n))) -#elif _MSC_VER >= 1500 +#elif defined(_MSC_VER) && _MSC_VER >= 1500 #define CAMLalign(n) __declspec(align(n)) #else #error "How do I align values on this platform?" @@ -170,7 +172,7 @@ CAMLdeprecated_typedef(addr, char *); #define CAMLunused_start __attribute__ ((unused)) #define CAMLunused_end #define CAMLunused __attribute__ ((unused)) -#elif _MSC_VER >= 1500 +#elif defined(_MSC_VER) && _MSC_VER >= 1500 #define CAMLunused_start __pragma( warning (push) ) \ __pragma( warning (disable:4189 ) ) #define CAMLunused_end __pragma( warning (pop)) diff --git a/runtime/caml/signals.h b/runtime/caml/signals.h index c6aeebfc..62b0e7fa 100644 --- a/runtime/caml/signals.h +++ b/runtime/caml/signals.h @@ -87,8 +87,8 @@ value caml_do_pending_actions_exn (void); value caml_process_pending_actions_with_root (value extra_root); // raises value caml_process_pending_actions_with_root_exn (value extra_root); int caml_set_signal_action(int signo, int action); -CAMLextern int caml_setup_stack_overflow_detection(void); -CAMLextern int caml_stop_stack_overflow_detection(void); +CAMLextern void * caml_setup_stack_overflow_detection(void); +CAMLextern int caml_stop_stack_overflow_detection(void *); CAMLextern void caml_init_signals(void); CAMLextern void caml_terminate_signals(void); CAMLextern void (*caml_enter_blocking_section_hook)(void); diff --git a/runtime/fix_code.c b/runtime/fix_code.c index aa059be5..55840198 100644 --- a/runtime/fix_code.c +++ b/runtime/fix_code.c @@ -82,8 +82,14 @@ void caml_fixup_endianness(code_t code, asize_t len) #ifdef THREADED_CODE -char ** caml_instr_table; -char * caml_instr_base; +static char ** caml_instr_table; +static char * caml_instr_base; + +void caml_init_thread_code(void ** instr_table, void * instr_base) +{ + caml_instr_table = (char **) instr_table; + caml_instr_base = (char *) instr_base; +} static int* opcode_nargs = NULL; int* caml_init_opcode_nargs(void) diff --git a/runtime/interp.c b/runtime/interp.c index a59811c8..e6700994 100644 --- a/runtime/interp.c +++ b/runtime/interp.c @@ -50,9 +50,9 @@ sp is a local copy of the global variable Caml_state->extern_sp. */ #ifdef THREADED_CODE # define Instruct(name) lbl_##name # if defined(ARCH_SIXTYFOUR) && !defined(ARCH_CODE32) -# define Jumptbl_base ((char *) &&lbl_ACC0) +# define Jumptbl_base &&lbl_ACC0 # else -# define Jumptbl_base ((char *) 0) +# define Jumptbl_base 0 # define jumptbl_base ((char *) 0) # endif # ifdef DEBUG @@ -249,8 +249,7 @@ value caml_interprete(code_t prog, asize_t prog_size) if (prog == NULL) { /* Interpreter is initializing */ #ifdef THREADED_CODE - caml_instr_table = (char **) jumptable; - caml_instr_base = Jumptbl_base; + caml_init_thread_code(jumptable, Jumptbl_base); #endif return Val_unit; } diff --git a/runtime/signals_byt.c b/runtime/signals_byt.c index 439fb564..7cb461ac 100644 --- a/runtime/signals_byt.c +++ b/runtime/signals_byt.c @@ -81,7 +81,7 @@ int caml_set_signal_action(int signo, int action) return 0; } -CAMLexport int caml_setup_stack_overflow_detection(void) { return 0; } -CAMLexport int caml_stop_stack_overflow_detection(void) { return 0; } +CAMLexport void * caml_setup_stack_overflow_detection(void) { return NULL; } +CAMLexport int caml_stop_stack_overflow_detection(void * p) { return 0; } CAMLexport void caml_init_signals(void) { } CAMLexport void caml_terminate_signals(void) { } diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c index 443f5d53..1dd8289c 100644 --- a/runtime/signals_nat.c +++ b/runtime/signals_nat.c @@ -254,6 +254,10 @@ DECLARE_SIGNAL_HANDLER(segv_handler) /* Initialization of signal stuff */ +#ifdef HAS_STACK_OVERFLOW_DETECTION +static void * caml_signal_stack = NULL; +#endif + void caml_init_signals(void) { /* Bound-check trap handling */ @@ -278,7 +282,8 @@ void caml_init_signals(void) #endif #ifdef HAS_STACK_OVERFLOW_DETECTION - if (caml_setup_stack_overflow_detection() != -1) { + caml_signal_stack = caml_setup_stack_overflow_detection(); + if (caml_signal_stack != NULL) { struct sigaction act; SET_SIGACT(act, segv_handler); act.sa_flags |= SA_ONSTACK | SA_NODEFER; @@ -314,7 +319,8 @@ void caml_terminate_signals(void) #ifdef HAS_STACK_OVERFLOW_DETECTION set_signal_default(SIGSEGV); - caml_stop_stack_overflow_detection(); + caml_stop_stack_overflow_detection(caml_signal_stack); + caml_signal_stack = NULL; #endif } @@ -323,37 +329,44 @@ void caml_terminate_signals(void) Each thread needs its own alternate stack. The alternate stack used to be statically-allocated for the main thread, but this is incompatible with Glibc 2.34 and newer, where SIGSTKSZ - may not be a compile-time constant (issue #10250). */ + may not be a compile-time constant (issue #10250). + Return the dynamically-allocated alternate signal stack, or NULL + if an error occurred. + The returned pointer must be passed to [caml_stop_stack_overflow_detection]. +*/ -CAMLexport int caml_setup_stack_overflow_detection(void) +CAMLexport void * caml_setup_stack_overflow_detection(void) { #ifdef HAS_STACK_OVERFLOW_DETECTION stack_t stk; - stk.ss_sp = malloc(SIGSTKSZ); - if (stk.ss_sp == NULL) return -1; stk.ss_size = SIGSTKSZ; + stk.ss_sp = malloc(stk.ss_size); + if (stk.ss_sp == NULL) return NULL; stk.ss_flags = 0; if (sigaltstack(&stk, NULL) == -1) { free(stk.ss_sp); - return -1; + return NULL; } + return stk.ss_sp; +#else + return NULL; #endif - /* Success (or stack overflow detection not available) */ - return 0; } -CAMLexport int caml_stop_stack_overflow_detection(void) +CAMLexport int caml_stop_stack_overflow_detection(void * signal_stack) { #ifdef HAS_STACK_OVERFLOW_DETECTION stack_t oldstk, stk; stk.ss_flags = SS_DISABLE; + stk.ss_sp = NULL; /* not required but avoids a valgrind false alarm */ + stk.ss_size = SIGSTKSZ; /* macOS wants a valid size here */ if (sigaltstack(&stk, &oldstk) == -1) return -1; - /* If caml_setup_stack_overflow_detection failed, we are not using - an alternate signal stack. SS_DISABLE will be set in oldstk, - and there is nothing to free in this case. */ - if (! (oldstk.ss_flags & SS_DISABLE)) free(oldstk.ss_sp); - return 0; -#else - return 0; + /* Check whether someone else installed their own signal stack */ + if (!(oldstk.ss_flags & SS_DISABLE) && oldstk.ss_sp != signal_stack) { + /* Re-activate their signal stack. */ + sigaltstack(&oldstk, NULL); + } + free(signal_stack); #endif + return 0; } diff --git a/runtime/stacks.c b/runtime/stacks.c index a1409b2a..611b0501 100644 --- a/runtime/stacks.c +++ b/runtime/stacks.c @@ -24,7 +24,7 @@ #include "caml/mlvalues.h" #include "caml/stacks.h" -value caml_global_data = 0; +value caml_global_data = Val_unit; /* must be a valid value (#11768) */ uintnat caml_max_stack_size; /* also used in gc_ctrl.c */ diff --git a/stdlib/Makefile b/stdlib/Makefile index df34bc2d..f367956f 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -105,7 +105,6 @@ installopt-default:: $(INSTALL_DATA) \ stdlib.cmxa stdlib.$(A) std_exit.$(O) *.cmx \ "$(INSTALL_LIBDIR)" - cd "$(INSTALL_LIBDIR)"; $(RANLIB) stdlib.$(A) ifeq "$(UNIX_OR_WIN32)" "unix" HEADERPROGRAM = header diff --git a/stdlib/float.mli b/stdlib/float.mli index ba84d9b0..93d2f301 100644 --- a/stdlib/float.mli +++ b/stdlib/float.mli @@ -178,7 +178,12 @@ val of_string_opt: string -> float option (** Same as [of_string], but returns [None] instead of raising. *) val to_string : float -> string -(** Return the string representation of a floating-point number. *) +(** Return a string representation of a floating-point number. + + This conversion can involve a loss of precision. For greater control over + the manner in which the number is printed, see {!Printf}. + + This function is an alias for {!Stdlib.string_of_float}. *) type fpclass = Stdlib.fpclass = FP_normal (** Normal number, none of the below *) diff --git a/stdlib/gc.mli b/stdlib/gc.mli index b211197f..8031eeb8 100644 --- a/stdlib/gc.mli +++ b/stdlib/gc.mli @@ -442,7 +442,10 @@ external eventlog_pause : unit -> unit = "caml_eventlog_pause" Traces are collected if the program is linked to the instrumented runtime and started with the environment variable OCAML_EVENTLOG_ENABLED. Events are flushed to disk after pausing, and no new events will be - recorded until [eventlog_resume] is called. *) + recorded until [eventlog_resume] is called. + + @since 4.11 + *) external eventlog_resume : unit -> unit = "caml_eventlog_resume" (** [eventlog_resume ()] will resume the collection of traces in the @@ -451,7 +454,10 @@ external eventlog_resume : unit -> unit = "caml_eventlog_resume" and started with the environment variable OCAML_EVENTLOG_ENABLED. This call can be used after calling [eventlog_pause], or if the program was started with OCAML_EVENTLOG_ENABLED=p. (which pauses the collection of - traces before the first event.) *) + traces before the first event.) + + @since 4.11 + *) (** [Memprof] is a sampling engine for allocated memory words. Every diff --git a/stdlib/stdlib.mli b/stdlib/stdlib.mli index 237adfbd..0eaee271 100644 --- a/stdlib/stdlib.mli +++ b/stdlib/stdlib.mli @@ -776,7 +776,10 @@ external int_of_string : string -> int = "caml_int_of_string" [Failure "int_of_string"] instead of returning [None]. *) val string_of_float : float -> string -(** Return the string representation of a floating-point number. *) +(** Return a string representation of a floating-point number. + + This conversion can involve a loss of precision. For greater control over + the manner in which the number is printed, see {!Printf}. *) val float_of_string_opt: string -> float option (** Convert the given string to a float. The string is read in decimal @@ -861,7 +864,10 @@ val print_int : int -> unit (** Print an integer, in decimal, on standard output. *) val print_float : float -> unit -(** Print a floating-point number, in decimal, on standard output. *) +(** Print a floating-point number, in decimal, on standard output. + + The conversion of the number to a string uses {!string_of_float} and + can involve a loss of precision. *) val print_endline : string -> unit (** Print a string, followed by a newline character, on @@ -889,7 +895,10 @@ val prerr_int : int -> unit (** Print an integer, in decimal, on standard error. *) val prerr_float : float -> unit -(** Print a floating-point number, in decimal, on standard error. *) +(** Print a floating-point number, in decimal, on standard error. + + The conversion of the number to a string uses {!string_of_float} and + can involve a loss of precision. *) val prerr_endline : string -> unit (** Print a string, followed by a newline character on standard diff --git a/stdlib/string.mli b/stdlib/string.mli index cc22af55..414b3936 100644 --- a/stdlib/string.mli +++ b/stdlib/string.mli @@ -139,8 +139,8 @@ val concat : string -> string list -> string val cat : string -> string -> string (** [cat s1 s2] concatenates s1 and s2 ([s1 ^ s2]). - @raise Invalid_argument if the result is longer then - than {!Sys.max_string_length} bytes. + @raise Invalid_argument if the result is longer than + {!Sys.max_string_length} bytes. @since 4.13.0 *) @@ -158,14 +158,14 @@ val compare : t -> t -> int val starts_with : prefix (* comment thwarts tools/sync_stdlib_docs *) :string -> string -> bool -(** [starts_with ][~][prefix s] is [true] if and only if [s] starts with +(** [starts_with ][~prefix s] is [true] if and only if [s] starts with [prefix]. @since 4.13.0 *) val ends_with : suffix (* comment thwarts tools/sync_stdlib_docs *) :string -> string -> bool -(** [ends_with suffix s] is [true] if and only if [s] ends with [suffix]. +(** [ends_with ][~suffix s] is [true] if and only if [s] ends with [suffix]. @since 4.13.0 *) diff --git a/stdlib/stringLabels.mli b/stdlib/stringLabels.mli index ac14715e..91b971ed 100644 --- a/stdlib/stringLabels.mli +++ b/stdlib/stringLabels.mli @@ -139,8 +139,8 @@ val concat : sep:string -> string list -> string val cat : string -> string -> string (** [cat s1 s2] concatenates s1 and s2 ([s1 ^ s2]). - @raise Invalid_argument if the result is longer then - than {!Sys.max_string_length} bytes. + @raise Invalid_argument if the result is longer than + {!Sys.max_string_length} bytes. @since 4.13.0 *) @@ -158,14 +158,14 @@ val compare : t -> t -> int val starts_with : prefix (* comment thwarts tools/sync_stdlib_docs *) :string -> string -> bool -(** [starts_with ][~][prefix s] is [true] if and only if [s] starts with +(** [starts_with ][~prefix s] is [true] if and only if [s] starts with [prefix]. @since 4.13.0 *) val ends_with : suffix (* comment thwarts tools/sync_stdlib_docs *) :string -> string -> bool -(** [ends_with ~suffix s] is [true] if and only if [s] ends with [suffix]. +(** [ends_with ][~suffix s] is [true] if and only if [s] ends with [suffix]. @since 4.13.0 *) diff --git a/stdlib/templates/float.template.mli b/stdlib/templates/float.template.mli index e35c0180..e2f7411a 100644 --- a/stdlib/templates/float.template.mli +++ b/stdlib/templates/float.template.mli @@ -178,7 +178,12 @@ val of_string_opt: string -> float option (** Same as [of_string], but returns [None] instead of raising. *) val to_string : float -> string -(** Return the string representation of a floating-point number. *) +(** Return a string representation of a floating-point number. + + This conversion can involve a loss of precision. For greater control over + the manner in which the number is printed, see {!Printf}. + + This function is an alias for {!Stdlib.string_of_float}. *) type fpclass = Stdlib.fpclass = FP_normal (** Normal number, none of the below *) diff --git a/testsuite/tests/lib-bigarray-2/has-gfortran.sh b/testsuite/tests/lib-bigarray-2/has-gfortran.sh index 82f7ae8a..7eef1e66 100644 --- a/testsuite/tests/lib-bigarray-2/has-gfortran.sh +++ b/testsuite/tests/lib-bigarray-2/has-gfortran.sh @@ -5,6 +5,9 @@ if ! which gfortran > /dev/null 2>&1; then elif ! grep -q '^CC=gcc' ${ocamlsrcdir}/Makefile.config; then echo "OCaml was not compiled with gcc" > ${ocamltest_response} test_result=${TEST_SKIP} +elif gcc --version 2>&1 | grep -q 'Apple clang version'; then + echo "OCaml was not compiled with gcc" > ${ocamltest_response} + test_result=${TEST_SKIP} else test_result=${TEST_PASS} fi diff --git a/testsuite/tests/lib-channels/input_all.ml b/testsuite/tests/lib-channels/input_all.ml index 4de94539..711eed73 100644 --- a/testsuite/tests/lib-channels/input_all.ml +++ b/testsuite/tests/lib-channels/input_all.ml @@ -1,6 +1,11 @@ (* TEST + +* hassysthreads include systhreads readonly_files = "input_all.ml" +** bytecode +** native + *) let data_file = diff --git a/testsuite/tests/tool-toplevel/show.ml b/testsuite/tests/tool-toplevel/show.ml index 425c6c7e..28b59d9f 100644 --- a/testsuite/tests/tool-toplevel/show.ml +++ b/testsuite/tests/tool-toplevel/show.ml @@ -124,3 +124,52 @@ type _ t += A : int t [%%expect{| type 'a t += A : int t |}];; + + + + +(* regression tests for #11533 *) +#show Set.OrderedType;; +[%%expect {| +module type OrderedType = sig type t val compare : t -> t -> int end +|}];; + +(* extra tests after #11533 + + The regression in #11533 would only show up when showing values defined + outside the current module. Those new tests below test modules and module + types from the standard library. To minimize test churn / promotion, + we are looking for some that will change as little as possible + in the future. + + - For module type it's easy: OrderedType is fixed in stone as + changing it would break all code using Set.Make. + + - For modules we use Stdlib.Unit, one of the stdlib modules + that is less likely to change very often (there are only + so many features you can add to 'unit'). +*) +module U = Stdlib.Unit;; +module type OT = Set.OrderedType;; +[%%expect {| +module U = Unit +module type OT = Set.OrderedType +|}];; + +#show U;; +[%%expect {| +module U = Unit +module U : + sig + type t = unit = () + val equal : t -> t -> bool + val compare : t -> t -> int + val to_string : t -> string + end +|}];; + +#show OT;; +[%%expect {| +module type OT = Set.OrderedType +module type OT = sig type t val compare : t -> t -> int end +|}];; diff --git a/testsuite/tests/typing-external/pr11392.ml b/testsuite/tests/typing-external/pr11392.ml new file mode 100644 index 00000000..91c8ea77 --- /dev/null +++ b/testsuite/tests/typing-external/pr11392.ml @@ -0,0 +1,34 @@ +(* TEST + * expect +*) + +type 'self nat = + | Z + | S of 'self +;; +[%%expect{| +type 'self nat = Z | S of 'self +|}] + + + +(* without rectypes: rejected *) +external cast : int -> 'self nat as 'self = "%identity" +;; +[%%expect{| +Line 1, characters 16-41: +1 | external cast : int -> 'self nat as 'self = "%identity" + ^^^^^^^^^^^^^^^^^^^^^^^^^ +Error: This alias is bound to type int -> 'a nat + but is used as an instance of type 'a + The type variable 'a occurs inside int -> 'a nat +|}] + +#rectypes;; + +(* with rectypes: accepted (used to crash) *) +external cast : int -> 'self nat as 'self = "%identity" +;; +[%%expect{| +external cast : int -> 'a nat as 'a = "%identity" +|}] diff --git a/testsuite/tests/typing-modules/functors.ml b/testsuite/tests/typing-modules/functors.ml index 932bc9f9..3fa34a1d 100644 --- a/testsuite/tests/typing-modules/functors.ml +++ b/testsuite/tests/typing-modules/functors.ml @@ -1701,3 +1701,47 @@ Error: The functor application Bar(A)(FiveArgsExt)(TY)(TY)(TY)(TY)(TY) is ill-ty 8. Module TY matches the expected module type ty 9. Module TY matches the expected module type ty |}] + +module Shape_arg = struct + module M1 (Arg1 : sig end) = struct + module type S1 = sig + type t + end + end + + module type S2 = sig + module Make (Arg2 : sig end) : M1(Arg2).S1 + end + + module M2 : S2 = struct + module Make (Arg3 : sig end) = struct + type t = T + end + end + + module M3 (Arg4 : sig end) = struct + module type S3 = sig + type t = M2.Make(Arg4).t + end + end + + module M4 (Arg5 : sig end) : M3(Arg5).S3 = struct + module M5 = M2.Make (Arg5) + + type t = M5.t + end +end +[%%expect{| +module Shape_arg : + sig + module M1 : + functor (Arg1 : sig end) -> sig module type S1 = sig type t end end + module type S2 = + sig module Make : functor (Arg2 : sig end) -> M1(Arg2).S1 end + module M2 : S2 + module M3 : + functor (Arg4 : sig end) -> + sig module type S3 = sig type t = M2.Make(Arg4).t end end + module M4 : functor (Arg5 : sig end) -> M3(Arg5).S3 + end +|}] diff --git a/testsuite/tests/typing-modules/inclusion_errors.ml b/testsuite/tests/typing-modules/inclusion_errors.ml index 4e7ff09b..e4333a08 100644 --- a/testsuite/tests/typing-modules/inclusion_errors.ml +++ b/testsuite/tests/typing-modules/inclusion_errors.ml @@ -1715,3 +1715,96 @@ Error: Signature mismatch: type t = < m : int > A private row type would be revealed. |}];; + + +(** Unexpected recursive types *) +module M: sig + type _ t = A : ( as 'a) -> ( as 'b) t +end = struct + type _ t = A : ( as 'a) -> ( as 'b) t +end +[%%expect {| +Lines 3-5, characters 6-3: +3 | ......struct +4 | type _ t = A : ( as 'a) -> ( as 'b) t +5 | end +Error: Signature mismatch: + Modules do not match: + sig + type _ t = A : (< x : 'b * 'b > as 'b) -> (< y : 'a > as 'a) t + end + is not included in + sig type _ t = A : (< x : 'b > as 'b) -> (< y : 'a > as 'a) t end + Type declarations do not match: + type _ t = A : (< x : 'b * 'b > as 'b) -> (< y : 'a > as 'a) t + is not included in + type _ t = A : (< x : 'b > as 'b) -> (< y : 'a > as 'a) t + Constructors do not match: + A : (< x : 'b * 'b > as 'b) -> (< y : 'a > as 'a) t + is not the same as: + A : (< x : 'b > as 'b) -> (< y : 'a > as 'a) t + The type < x : 'a * 'a > as 'a is not equal to the type + < x : 'b > as 'b + Types for method x are incompatible +|}] +module R: sig + type t = { a: ( as 'a) } +end = struct + type t = { a: ( as 'a) } +end +[%%expect {| +Lines 3-5, characters 6-3: +3 | ......struct +4 | type t = { a: ( as 'a) } +5 | end +Error: Signature mismatch: + Modules do not match: + sig type t = { a : < x : 'a * 'a > as 'a; } end + is not included in + sig type t = { a : < x : 'a > as 'a; } end + Type declarations do not match: + type t = { a : < x : 'a * 'a > as 'a; } + is not included in + type t = { a : < x : 'a > as 'a; } + Fields do not match: + a : < x : 'a * 'a > as 'a; + is not the same as: + a : < x : 'a > as 'a; + The type < x : 'a * 'a > as 'a is not equal to the type + < x : 'b > as 'b + Types for method x are incompatible +|}] +type _ ext = .. +module Ext: sig + type _ ext += A : ( as 'a) -> ( as 'b) ext +end = struct + type _ ext += A : ( as 'a) -> ( as 'b) ext +end +[%%expect {| +type _ ext = .. +Lines 4-6, characters 6-3: +4 | ......struct +5 | type _ ext += A : ( as 'a) -> ( as 'b) ext +6 | end +Error: Signature mismatch: + Modules do not match: + sig + type _ ext += + A : (< x : 'b * 'b > as 'b) -> (< y : 'a > as 'a) ext + end + is not included in + sig + type _ ext += A : (< x : 'b > as 'b) -> (< y : 'a > as 'a) ext + end + Extension declarations do not match: + type _ ext += A : (< x : 'b * 'b > as 'b) -> (< y : 'a > as 'a) ext + is not included in + type _ ext += A : (< x : 'b > as 'b) -> (< y : 'a > as 'a) ext + Constructors do not match: + A : (< x : 'b * 'b > as 'b) -> (< y : 'a > as 'a) ext + is not the same as: + A : (< x : 'b > as 'b) -> (< y : 'a > as 'a) ext + The type < x : 'a * 'a > as 'a is not equal to the type + < x : 'b > as 'b + Types for method x are incompatible +|}] diff --git a/testsuite/tests/typing-modules/inclusion_errors_elision.ml b/testsuite/tests/typing-modules/inclusion_errors_elision.ml new file mode 100644 index 00000000..3dbd0e67 --- /dev/null +++ b/testsuite/tests/typing-modules/inclusion_errors_elision.ml @@ -0,0 +1,93 @@ +(* TEST + flags ="-keep-original-error-size" + * expect + *) + + +module A = struct + type a and b and c and d +end + +module type S = sig + module B = A +end + +module C : S = struct + module B = struct + type a and b and c and d and e and f and g and h + end +end +[%%expect {| +module A : sig type a and b and c and d end +module type S = sig module B = A end +Lines 9-13, characters 15-3: + 9 | ...............struct +10 | module B = struct +11 | type a and b and c and d and e and f and g and h +12 | end +13 | end +Error: Signature mismatch: + ... + In module B: + Modules do not match: + sig + type a = B.a + and b = B.b + and c = B.c + and d = B.d + and e = B.e + and f = B.f + and g = B.g + and h = B.h + end + is not included in + (module A) +|}] + +module A = struct + type a and b and c and d +end + +module type S = sig + module type B = sig + module C = A + end +end + +module D : S = struct + module type B = sig + module C: sig + type a and b and c and d and e and f and g and h + end + end +end +[%%expect{| +module A : sig type a and b and c and d end +module type S = sig module type B = sig module C = A end end +Lines 11-17, characters 15-3: +11 | ...............struct +12 | module type B = sig +13 | module C: sig +14 | type a and b and c and d and e and f and g and h +15 | end +16 | end +17 | end +Error: Signature mismatch: + ... + ... + ... + At position module type B = sig module C : end + Modules do not match: + sig + type a = C.a + and b = C.b + and c = C.c + and d = C.d + and e = C.e + and f = C.f + and g = C.g + and h = C.h + end + is not included in + (module A) +|}] diff --git a/testsuite/tests/typing-modules/packed_module_levels.ml b/testsuite/tests/typing-modules/packed_module_levels.ml new file mode 100644 index 00000000..a4883d00 --- /dev/null +++ b/testsuite/tests/typing-modules/packed_module_levels.ml @@ -0,0 +1,42 @@ +(* TEST + * expect +*) +type (_, _) equ = Refl : ('q, 'q) equ + +module type Ty = sig type t end +type 'a modu = (module Ty with type t = 'a) + +type 'q1 packed = + P : 'q0 modu * ('q0, 'q1) equ -> 'q1 packed + +(* Adds a module M to the environment where M.t equals an existential *) +let repack (type q) (x : q packed) : q modu = + match x with + | P (p, eq) -> + let module M = (val p) in + let Refl = eq in + (module M) + +[%%expect{| +type (_, _) equ = Refl : ('q, 'q) equ +module type Ty = sig type t end +type 'a modu = (module Ty with type t = 'a) +type 'q1 packed = P : 'q0 modu * ('q0, 'q1) equ -> 'q1 packed +val repack : 'q packed -> 'q modu = +|}] + +(* Same, using a polymorphic function rather than an existential *) + +let mkmod (type a) () : a modu = + (module struct type t = a end) + +let f (type foo) (intish : (foo, int) equ) = + let module M = (val (mkmod () : foo modu)) in + let Refl = intish in + let module C : sig type t = int end = M in + () + +[%%expect{| +val mkmod : unit -> 'a modu = +val f : ('foo, int) equ -> unit = +|}] diff --git a/testsuite/tests/typing-objects/Tests.ml b/testsuite/tests/typing-objects/Tests.ml index f617bcf1..dd94c074 100644 --- a/testsuite/tests/typing-objects/Tests.ml +++ b/testsuite/tests/typing-objects/Tests.ml @@ -955,6 +955,21 @@ Warning 17 [undeclared-virtual-method]: the virtual method m is not declared. class c : object method m : int method n : int end |}];; +class virtual c = object (self : 'c) + constraint 'c = < f : int; .. > +end +[%%expect {| +class virtual c : object method virtual f : int end +|}];; + +class virtual c = object (self : 'c) + constraint 'c = < f : int; .. > + method g = self # f +end +[%%expect {| +class virtual c : object method virtual f : int method g : int end +|}];; + class [ 'a ] c = object (_ : 'a) end;; let o = object method m = 1 @@ -1329,3 +1344,77 @@ let _ = (new foo)#f true class foo : object method f : bool -> bool end - : bool = true |}];; + + +class c : object + method virtual m : int +end = object + method m = 9 + end +[%%expect {| +Lines 1-3, characters 10-3: +1 | ..........object +2 | method virtual m : int +3 | end......... +Error: This non-virtual class type has virtual methods. + The following methods are virtual : m +|}];; + +class virtual c : object + method virtual m : int +end = object + method m = 42 + end +[%%expect {| +class virtual c : object method virtual m : int end +|}];; + +class virtual cv = object + method virtual m : int + end + +class c : cv = object + method m = 42 + end +[%%expect {| +class virtual cv : object method virtual m : int end +Line 5, characters 10-12: +5 | class c : cv = object + ^^ +Error: This non-virtual class type has virtual methods. + The following methods are virtual : m +|}];; + +class virtual c : cv = object + method m = 41 + end +[%%expect {| +class virtual c : cv +|}];; + +class c = cv +[%%expect {| +Line 1, characters 10-12: +1 | class c = cv + ^^ +Error: This non-virtual class has virtual methods. + The following methods are virtual : m +|}];; + +class virtual c = cv +[%%expect {| +class virtual c : cv +|}];; + +(** Test classes abbreviations with a recursive type *) +class ['a] c = object method m: ( as 'b) -> unit = fun _ -> () end +class d = ['a] c +[%%expect {| +class ['a] c : object method m : (< f : 'b; x : 'a > as 'b) -> unit end +Line 2, characters 0-16: +2 | class d = ['a] c + ^^^^^^^^^^^^^^^^ +Error: Some type variables are unbound in this type: class d : ['a] c + The method m has type (< f : 'b; x : 'a > as 'b) -> unit where 'a + is unbound +|}] diff --git a/testsuite/tests/typing-objects/unbound-type-var.ml b/testsuite/tests/typing-objects/unbound-type-var.ml new file mode 100644 index 00000000..9e00cea2 --- /dev/null +++ b/testsuite/tests/typing-objects/unbound-type-var.ml @@ -0,0 +1,19 @@ +(* TEST + * expect +*) + +class test a c = +object + method b = c +end + +[%%expect{| +Lines 1-4, characters 0-3: +1 | class test a c = +2 | object +3 | method b = c +4 | end +Error: Some type variables are unbound in this type: + class test : 'a -> 'b -> object method b : 'b end + The method b has type 'b where 'b is unbound +|}] diff --git a/testsuite/tests/warnings/deprecated_mutable.compilers.reference b/testsuite/tests/warnings/deprecated_mutable.compilers.reference new file mode 100644 index 00000000..620dc57d --- /dev/null +++ b/testsuite/tests/warnings/deprecated_mutable.compilers.reference @@ -0,0 +1,4 @@ +File "deprecated_mutable.ml", line 13, characters 11-12: +13 | let () = y.x <- 42 + ^ +Alert deprecated: mutating field x diff --git a/testsuite/tests/warnings/deprecated_mutable.ml b/testsuite/tests/warnings/deprecated_mutable.ml new file mode 100644 index 00000000..78fb12ac --- /dev/null +++ b/testsuite/tests/warnings/deprecated_mutable.ml @@ -0,0 +1,13 @@ +(* TEST + +flags = "-w +A-70" + +* bytecode + +*) + +type t = {mutable x : int [@deprecated_mutable]} + +let y : t = {x = 5} + +let () = y.x <- 42 diff --git a/tools/ci/inria/main b/tools/ci/inria/main index 63046592..d4c2ea27 100755 --- a/tools/ci/inria/main +++ b/tools/ci/inria/main @@ -144,6 +144,7 @@ cleanup=false check_make_alldepend=false jobs='' bootstrap=false +init_submodule=false case "${OCAML_ARCH}" in bsd|solaris) @@ -213,6 +214,12 @@ fi pwd cd "$jenkinsdir" +if $init_submodule; then + git submodule update --init flexdll +elif [ -f flexdll/Makefile ]; then + git submodule deinit --force flexdll +fi + ######################################################################### # parse optional command-line arguments (has to be done after the "cd") diff --git a/tools/ocamlmklib.ml b/tools/ocamlmklib.ml index 0ca7b80f..1cf8ef91 100644 --- a/tools/ocamlmklib.ml +++ b/tools/ocamlmklib.ml @@ -25,10 +25,8 @@ let mklib out files opts = then "-machine:AMD64 " else "" in - Printf.sprintf "link -lib -nologo %s-out:%s %s %s" - machine out opts files - else Printf.sprintf "%s rcs %s %s %s && %s %s" - Config.ar out opts files Config.ranlib out + Printf.sprintf "link -lib -nologo %s-out:%s %s %s" machine out opts files + else Printf.sprintf "%s rcs %s %s %s" Config.ar out opts files (* PR#4783: under Windows, don't use absolute paths because we do not know where the binary distribution will be installed. *) diff --git a/tools/sync_stdlib_docs b/tools/sync_stdlib_docs index edf50a2a..083c6f0f 100755 --- a/tools/sync_stdlib_docs +++ b/tools/sync_stdlib_docs @@ -32,7 +32,7 @@ LABLABREGEX="s/\([a-z_]+:([a-z\('])/\(\1/g" #Remove a tilde if it is followed by a label name and a space or closing #OCamldoc code section with ] -TILDEREGEX="s/~([a-z_]+[ \]])/\1/g" +TILDEREGEX="s/ ~([a-z_]+(?=[ \]]))/ \1/g" #Indent a non-blank line by two characters, for moreLabels templates INDENTREGEX="s/^(.+)$/ \1/m" diff --git a/toplevel/topdirs.ml b/toplevel/topdirs.ml index 97c1f1ae..bc57e324 100644 --- a/toplevel/topdirs.ml +++ b/toplevel/topdirs.ml @@ -535,6 +535,9 @@ let is_rec_module id md = Btype.unmark_iterators.it_module_declaration Btype.unmark_iterators md; rs +let secretly_the_same_path env path1 path2 = + let norm path = Printtyp.rewrite_double_underscore_paths env path in + Path.same (norm path1) (norm path2) let () = reg_show_prim "show_module" @@ -544,27 +547,46 @@ let () = | Pident id -> id | _ -> id in - let rec accum_aliases md acc = - let acc rs = + let rec accum_aliases path md acc = + let def rs = Sig_module (id, Mp_present, {md with md_type = trim_signature md.md_type}, - rs, Exported) :: acc in + rs, Exported) in match md.md_type with - | Mty_alias path -> - let md = Env.find_module path env in - accum_aliases md (acc Trec_not) + | Mty_alias new_path -> + let md = Env.find_module new_path env in + accum_aliases new_path md + (if secretly_the_same_path env path new_path + then acc + else def Trec_not :: acc) | Mty_ident _ | Mty_signature _ | Mty_functor _ -> - List.rev (acc (is_rec_module id md)) + List.rev (def (is_rec_module id md) :: acc) in - accum_aliases md [] + accum_aliases path md [] ) "Print the signature of the corresponding module." let () = reg_show_prim "show_module_type" (fun env loc id lid -> - let _path, desc = Env.lookup_modtype ~loc lid env in - [ Sig_modtype (id, desc, Exported) ] + let path, mtd = Env.lookup_modtype ~loc lid env in + let id = match path with + | Pident id -> id + | _ -> id + in + let rec accum_defs path mtd acc = + let def = Sig_modtype (id, mtd, Exported) in + match mtd.mtd_type with + | Some (Mty_ident new_path) -> + let mtd = Env.find_modtype new_path env in + accum_defs new_path mtd + (if secretly_the_same_path env path new_path + then acc + else def :: acc) + | None | Some (Mty_alias _ | Mty_signature _ | Mty_functor _) -> + List.rev (def :: acc) + in + accum_defs path mtd [] ) "Print the signature of the corresponding module type." diff --git a/typing/env.ml b/typing/env.ml index 06b99f41..6e324888 100644 --- a/typing/env.ml +++ b/typing/env.ml @@ -104,6 +104,10 @@ let add_label_usage lu usage = lu.lu_mutation <- true; lu.lu_construct <- true +let is_mutating_label_usage = function + | Mutation -> true + | (Projection | Construct | Exported_private | Exported) -> false + let label_usages () = {lu_projection = false; lu_mutation = false; lu_construct = false} @@ -2219,6 +2223,14 @@ and add_cltype ?shape id ty env = let add_module ?arg ?shape id presence mty env = add_module_declaration ~check:false ?arg ?shape id presence (md mty) env +let add_module_lazy ~update_summary id presence mty env = + let md = Subst.Lazy.{mdl_type = mty; + mdl_attributes = []; + mdl_loc = Location.none; + mdl_uid = Uid.internal_not_actually_unique} + in + add_module_declaration_lazy ~update_summary id presence md env + let add_local_type path info env = { env with local_constraints = Path.Map.add path info env.local_constraints } @@ -2723,7 +2735,10 @@ let use_cltype ~use ~loc path desc = let use_label ~use ~loc usage env lbl = if use then begin mark_label_description_used usage env lbl; - Builtin_attributes.check_alerts loc lbl.lbl_attributes lbl.lbl_name + Builtin_attributes.check_alerts loc lbl.lbl_attributes lbl.lbl_name; + if is_mutating_label_usage usage then + Builtin_attributes.check_deprecated_mutable loc lbl.lbl_attributes + lbl.lbl_name end let use_constructor_desc ~use ~loc usage env cstr = diff --git a/typing/env.mli b/typing/env.mli index 55ab3a5b..49040b83 100644 --- a/typing/env.mli +++ b/typing/env.mli @@ -289,6 +289,8 @@ val add_extension: check:bool -> rebind:bool -> Ident.t -> extension_constructor -> t -> t val add_module: ?arg:bool -> ?shape:Shape.t -> Ident.t -> module_presence -> module_type -> t -> t +val add_module_lazy: update_summary:bool -> + Ident.t -> module_presence -> Subst.Lazy.modtype -> t -> t val add_module_declaration: ?arg:bool -> ?shape:Shape.t -> check:bool -> Ident.t -> module_presence -> module_declaration -> t -> t val add_module_declaration_lazy: update_summary:bool -> diff --git a/typing/includemod_errorprinter.ml b/typing/includemod_errorprinter.ml index 24d452fd..b719e162 100644 --- a/typing/includemod_errorprinter.ml +++ b/typing/includemod_errorprinter.ml @@ -709,7 +709,16 @@ let rec module_type ~expansion_token ~eqmode ~env ~before ~ctx diff = functor_params ~expansion_token ~env ~before ~ctx d | _ -> let inner = if eqmode then eq_module_types else module_types in - let next = dwith_context_and_elision ctx inner diff in + let next = + match diff.symptom with + | Mt_core _ -> + (* In those cases, the refined error messages for the current error + will at most add some minor comments on the current error. + It is thus better to avoid eliding the current error message. + *) + dwith_context ctx (inner diff) + | _ -> dwith_context_and_elision ctx inner diff + in let before = next :: before in module_type_symptom ~eqmode ~expansion_token ~env ~before ~ctx diff.symptom diff --git a/typing/mtype.ml b/typing/mtype.ml index d649bcdc..f6aba792 100644 --- a/typing/mtype.ml +++ b/typing/mtype.ml @@ -46,6 +46,9 @@ let rec strengthen_lazy ~aliasable env mty p = MtyL_signature(strengthen_lazy_sig ~aliasable env sg p) | MtyL_functor(Named (Some param, arg), res) when !Clflags.applicative_functors -> + let env = + Env.add_module_lazy ~update_summary:false param Mp_present arg env + in MtyL_functor(Named (Some param, arg), strengthen_lazy ~aliasable:false env res (Papply(p, Pident param))) | MtyL_functor(Named (None, arg), res) diff --git a/typing/printtyp.ml b/typing/printtyp.ml index 1a696449..8dcf18bf 100644 --- a/typing/printtyp.ml +++ b/typing/printtyp.ml @@ -1058,7 +1058,10 @@ let reset () = reset_except_context () let prepare_for_printing tyl = - reset_except_context (); List.iter prepare_type tyl + reset_except_context (); + List.iter prepare_type tyl + +let add_type_to_preparation = prepare_type (* Disabled in classic mode when printing an unification error *) let print_labels = ref true @@ -1463,10 +1466,13 @@ and tree_of_label l = let constructor ppf c = reset_except_context (); + prepare_type_constructor_arguments c.cd_args; + Option.iter prepare_type c.cd_res; !Oprint.out_constr ppf (tree_of_constructor c) let label ppf l = reset_except_context (); + prepare_type l.ld_type; !Oprint.out_label ppf (tree_of_label l) let tree_of_type_declaration id decl rs = @@ -1534,6 +1540,8 @@ let extension_constructor id ppf ext = let extension_only_constructor id ppf ext = reset_except_context (); + prepare_type_constructor_arguments ext.ext_args; + Option.iter prepare_type ext.ext_ret_type; let name = Ident.name id in let args, ret = extension_constructor_args_and_ret_type_subtree diff --git a/typing/printtyp.mli b/typing/printtyp.mli index 13b2ed95..09571f40 100644 --- a/typing/printtyp.mli +++ b/typing/printtyp.mli @@ -107,6 +107,12 @@ val type_expr: formatter -> type_expr -> unit Any type variables that are shared between multiple types in the input list will be given the same name when printed with [prepared_type_expr]. *) val prepare_for_printing: type_expr list -> unit + +(** [add_type_to_preparation ty] extend a previous type expression preparation + to the type expression [ty] +*) +val add_type_to_preparation: type_expr -> unit + val prepared_type_expr: formatter -> type_expr -> unit (** The function [prepared_type_expr] is a less-safe but more-flexible version of [type_expr] that should only be called on [type_expr]s that have been diff --git a/typing/tast_mapper.ml b/typing/tast_mapper.ml index 6d359a59..9eb7f64e 100644 --- a/typing/tast_mapper.ml +++ b/typing/tast_mapper.ml @@ -458,10 +458,10 @@ let module_type sub x = let with_constraint sub = function | Twith_type decl -> Twith_type (sub.type_declaration sub decl) | Twith_typesubst decl -> Twith_typesubst (sub.type_declaration sub decl) + | Twith_modtype mty -> Twith_modtype (sub.module_type sub mty) + | Twith_modtypesubst mty -> Twith_modtypesubst (sub.module_type sub mty) | Twith_module _ - | Twith_modsubst _ - | Twith_modtype _ - | Twith_modtypesubst _ as d -> d + | Twith_modsubst _ as d -> d let open_description sub od = {od with open_env = sub.env sub od.open_env} diff --git a/typing/typeclass.ml b/typing/typeclass.ml index 048ee998..79d464fa 100644 --- a/typing/typeclass.ml +++ b/typing/typeclass.ml @@ -177,6 +177,13 @@ let check_virtual loc env virt kind sign = | meths, vars -> raise(Error(loc, env, Virtual_class(kind, meths, vars))) +let rec check_virtual_clty loc env virt kind clty = + match clty with + | Cty_constr(_, _, clty) | Cty_arrow(_, _, clty) -> + check_virtual_clty loc env virt kind clty + | Cty_signature sign -> + check_virtual loc env virt kind sign + (* Return the constructor type associated to a class type *) let rec constructor_type constr cty = match cty with @@ -398,6 +405,8 @@ and class_type_aux env virt self_scope scty = ) styl params in let typ = Cty_constr (path, params, clty) in + (* Check for unexpected virtual methods *) + check_virtual_clty scty.pcty_loc env virt Class_type typ; cltyp (Tcty_constr ( path, lid , ctys)) typ | Pcty_signature pcsig -> @@ -552,12 +561,11 @@ type first_pass_accummulater = concrete_vals : VarSet.t; local_meths : MethSet.t; local_vals : VarSet.t; - vars : Ident.t Vars.t; - meths : Ident.t Meths.t; } + vars : Ident.t Vars.t; } let rec class_field_first_pass self_loc cl_num sign self_scope acc cf = let { rev_fields; val_env; par_env; concrete_meths; concrete_vals; - local_meths; local_vals; vars; meths } = acc + local_meths; local_vals; vars } = acc in let loc = cf.pcf_loc in let attributes = cf.pcf_attributes in @@ -612,13 +620,6 @@ let rec class_field_first_pass self_loc cl_num sign self_scope acc cf = (val_env, par_env, inherited_vars, vars)) parent_sign.csig_vars (val_env, par_env, [], vars) in - let meths = - Meths.fold - (fun label _ meths -> - if Meths.mem label meths then meths - else Meths.add label (Ident.create_local label) meths) - parent_sign.csig_meths meths - in (* Methods available through super *) let super_meths = MethSet.fold @@ -641,7 +642,7 @@ let rec class_field_first_pass self_loc cl_num sign self_scope acc cf = in let rev_fields = field :: rev_fields in { acc with rev_fields; val_env; par_env; - concrete_meths; concrete_vals; vars; meths }) + concrete_meths; concrete_vals; vars }) | Pcf_val (label, mut, Cfk_virtual styp) -> with_attrs (fun () -> @@ -723,15 +724,11 @@ let rec class_field_first_pass self_loc cl_num sign self_scope acc cf = let cty = transl_simple_type val_env false sty in let ty = cty.ctyp_type in add_method loc val_env label.txt priv Virtual ty sign; - let meths = - if Meths.mem label.txt meths then meths - else Meths.add label.txt (Ident.create_local label.txt) meths - in let field = Virtual_method { label; priv; cty; loc; attributes } in let rev_fields = field :: rev_fields in - { acc with rev_fields; meths }) + { acc with rev_fields }) | Pcf_method (label, priv, Cfk_concrete (override, expr)) -> with_attrs @@ -785,10 +782,6 @@ let rec class_field_first_pass self_loc cl_num sign self_scope acc cf = raise(Error(loc, val_env, Field_type_mismatch ("method", label.txt, err))) end; - let meths = - if Meths.mem label.txt meths then meths - else Meths.add label.txt (Ident.create_local label.txt) meths - in let sdefinition = make_method self_loc cl_num expr in let warning_state = Warnings.backup () in let field = @@ -799,7 +792,7 @@ let rec class_field_first_pass self_loc cl_num sign self_scope acc cf = let rev_fields = field :: rev_fields in let concrete_meths = MethSet.add label.txt concrete_meths in let local_meths = MethSet.add label.txt local_meths in - { acc with rev_fields; concrete_meths; local_meths; meths }) + { acc with rev_fields; concrete_meths; local_meths }) | Pcf_constraint (sty1, sty2) -> with_attrs @@ -837,11 +830,10 @@ and class_fields_first_pass self_loc cl_num sign self_scope let local_meths = MethSet.empty in let local_vals = VarSet.empty in let vars = Vars.empty in - let meths = Meths.empty in let init_acc = { rev_fields; val_env; par_env; concrete_meths; concrete_vals; - local_meths; local_vals; vars; meths } + local_meths; local_vals; vars } in let acc = Builtin_attributes.warning_scope [] @@ -850,7 +842,7 @@ and class_fields_first_pass self_loc cl_num sign self_scope (class_field_first_pass self_loc cl_num sign self_scope) init_acc cfs) in - List.rev acc.rev_fields, acc.vars, acc.meths + List.rev acc.rev_fields, acc.vars and class_field_second_pass cl_num sign met_env field = let mkcf desc loc attrs = @@ -1003,7 +995,7 @@ and class_structure cl_num virt self_scope final val_env met_env loc end; (* Typing of class fields *) - let (fields, vars, meths) = + let (fields, vars) = class_fields_first_pass self_loc cl_num sign self_scope val_env par_env str in @@ -1016,6 +1008,13 @@ and class_structure cl_num virt self_scope final val_env met_env loc update_class_signature loc val_env ~warn_implicit_public:false virt kind sign; + let meths = + Meths.fold + (fun label _ meths -> + Meths.add label (Ident.create_local label) meths) + sign.csig_meths Meths.empty + in + (* Close the signature if it is final *) begin match final with | Not_final -> () @@ -1087,6 +1086,8 @@ and class_expr_aux cl_num val_env met_env virt self_scope scl = try Ctype.unify val_env ty' ty with Ctype.Unify err -> raise(Error(cty'.ctyp_loc, val_env, Parameter_mismatch err))) tyl params; + (* Check for unexpected virtual methods *) + check_virtual_clty scl.pcl_loc val_env virt Class clty'; let cl = rc {cl_desc = Tcl_ident (path, lid, tyl); cl_loc = scl.pcl_loc; @@ -1972,7 +1973,6 @@ let report_error env ppf = function (function ppf -> fprintf ppf "but is expected to have type") | Unexpected_field (ty, lab) -> - Printtyp.prepare_for_printing [ty]; fprintf ppf "@[@[<2>This object is expected to have type :@ %a@]\ @ This type does not have a method %s." @@ -2061,7 +2061,8 @@ let report_error env ppf = function let print_reason ppf (ty0, real, lab, ty) = let ty1 = if real then ty0 else Btype.newgenty(Tobject(ty0, ref None)) in - Printtyp.prepare_for_printing [ty; ty1]; + Printtyp.add_type_to_preparation ty; + Printtyp.add_type_to_preparation ty1; fprintf ppf "The method %s@ has type@;<1 2>%a@ where@ %a@ is unbound" lab diff --git a/typing/typedecl.ml b/typing/typedecl.ml index 9d38ebe9..d00c0fc4 100644 --- a/typing/typedecl.ml +++ b/typing/typedecl.ml @@ -1334,7 +1334,7 @@ let rec parse_native_repr_attributes env core_type ty ~global_repr = parse_native_repr_attributes env ct2 t2 ~global_repr in (repr_arg :: repr_args, repr_res) - | Ptyp_poly (_, t), _, _ -> + | (Ptyp_poly (_, t) | Ptyp_alias (t, _)), _, _ -> parse_native_repr_attributes env t ty ~global_repr | Ptyp_arrow _, _, _ | _, Tarrow _, _ -> assert false | _ -> ([], make_native_repr env core_type ty ~global_repr) diff --git a/typing/typemod.ml b/typing/typemod.ml index 5774460e..b575de29 100644 --- a/typing/typemod.ml +++ b/typing/typemod.ml @@ -2048,8 +2048,13 @@ and package_constraints env loc mty constrs = end let modtype_of_package env loc p fl = - package_constraints env loc (Mty_ident p) - (List.map (fun (n, t) -> (Longident.flatten n, t)) fl) + (* We call Ctype.correct_levels to ensure that the types being added to the + module type are at generic_level. *) + let mty = + package_constraints env loc (Mty_ident p) + (List.map (fun (n, t) -> Longident.flatten n, Ctype.correct_levels t) fl) + in + Subst.modtype Keep Subst.identity mty let package_subtype env p1 fl1 p2 fl2 = let mkmty p fl = @@ -2069,9 +2074,11 @@ let () = Ctype.package_subtype := package_subtype let wrap_constraint env mark arg mty explicit = let mark = if mark then Includemod.Mark_both else Includemod.Mark_neither in + let mty1 = Subst.modtype Keep Subst.identity arg.mod_type in + let mty2 = Subst.modtype Keep Subst.identity mty in let coercion = try - Includemod.modtypes ~loc:arg.mod_loc env ~mark arg.mod_type mty + Includemod.modtypes ~loc:arg.mod_loc env ~mark mty1 mty2 with Includemod.Error msg -> raise(Error(arg.mod_loc, env, Not_included msg)) in { mod_desc = Tmod_constraint(arg, mty, explicit, coercion); diff --git a/utils/Makefile b/utils/Makefile index 7231fae2..de923900 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -73,7 +73,6 @@ config.ml: config.mlp $(ROOTDIR)/Makefile.config Makefile $(call SUBST_STRING,OCAMLOPT_CPPFLAGS) \ $(call SUBST_STRING,PACKLD) \ $(call SUBST,PROFINFO_WIDTH) \ - $(call SUBST_STRING,RANLIBCMD) \ $(call SUBST_STRING,RPATH) \ $(call SUBST_STRING,MKSHAREDLIBRPATH) \ $(call SUBST,FORCE_SAFE_STRING) \ diff --git a/utils/ccomp.ml b/utils/ccomp.ml index 955968d1..d23c3f2b 100644 --- a/utils/ccomp.ml +++ b/utils/ccomp.ml @@ -140,12 +140,8 @@ let create_archive archive file_list = quoted_archive (quote_files file_list)) | _ -> assert(String.length Config.ar > 0); - let r1 = - command(Printf.sprintf "%s rc %s %s" - Config.ar quoted_archive (quote_files file_list)) in - if r1 <> 0 || String.length Config.ranlib = 0 - then r1 - else command(Config.ranlib ^ " " ^ quoted_archive) + command(Printf.sprintf "%s rc %s %s" + Config.ar quoted_archive (quote_files file_list)) let expand_libname cclibs = cclibs |> List.map (fun cclib -> diff --git a/utils/clflags.ml b/utils/clflags.ml index 46b61f41..83bd357f 100644 --- a/utils/clflags.ml +++ b/utils/clflags.ml @@ -135,7 +135,6 @@ let profile_columns : Profile.column list ref = ref [] (* -dprofile/-dtimings *) let native_code = ref false (* set to true under ocamlopt *) -let force_tmc = ref false (* -force-tmc *) let force_slash = ref false (* for ocamldep *) let clambda_checks = ref false (* -clambda-checks *) let cmm_invariants = diff --git a/utils/clflags.mli b/utils/clflags.mli index 5d9cb863..8cab8f15 100644 --- a/utils/clflags.mli +++ b/utils/clflags.mli @@ -189,7 +189,6 @@ val dlcode : bool ref val pic_code : bool ref val runtime_variant : string ref val with_runtime : bool ref -val force_tmc : bool ref val force_slash : bool ref val keep_docs : bool ref val keep_locs : bool ref diff --git a/utils/config.mli b/utils/config.mli index 7f70a52d..94dee3cb 100644 --- a/utils/config.mli +++ b/utils/config.mli @@ -82,9 +82,6 @@ val mkexe: string val mkmaindll: string (** The linker command line to build main programs as dlls. *) -val ranlib: string -(** Command to randomize a library, or "" if not needed *) - val default_rpath: string (** Option to add a directory to be searched for libraries at runtime (used by ocamlmklib) *) diff --git a/utils/config.mlp b/utils/config.mlp index 44c6ff8f..f758a9b4 100644 --- a/utils/config.mlp +++ b/utils/config.mlp @@ -54,7 +54,6 @@ let native_c_compiler = c_compiler ^ " " ^ ocamlopt_cflags ^ " " ^ ocamlopt_cppflags let native_c_libraries = "%%NATIVECCLIBS%%" let native_pack_linker = "%%PACKLD%%" -let ranlib = "%%RANLIBCMD%%" let default_rpath = "%%RPATH%%" let mksharedlibrpath = "%%MKSHAREDLIBRPATH%%" let ar = "%%ARCMD%%" @@ -177,7 +176,6 @@ let configuration_variables = p "bytecomp_c_libraries" bytecomp_c_libraries; p "native_c_libraries" native_c_libraries; p "native_pack_linker" native_pack_linker; - p "ranlib" ranlib; p "architecture" architecture; p "model" model; p_int "int_size" Sys.int_size; -- 2.30.2